diff --git a/blockly_compressed.js b/blockly_compressed.js index 76ffff94d..304bacf1b 100644 --- a/blockly_compressed.js +++ b/blockly_compressed.js @@ -10,21 +10,16 @@ root.Blockly = factory(); } }(this, function() { - 'use strict';var Blockly={constants:{},LINE_MODE_MULTIPLIER:40,PAGE_MODE_MULTIPLIER:125,DRAG_RADIUS:5,FLYOUT_DRAG_RADIUS:10,SNAP_RADIUS:28};Blockly.CONNECTING_SNAP_RADIUS=Blockly.SNAP_RADIUS;Blockly.CURRENT_CONNECTION_PREFERENCE=8;Blockly.BUMP_DELAY=250;Blockly.BUMP_RANDOMNESS=10;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:"sprites.png"};Blockly.INPUT_VALUE=1; -Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT; -Blockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.DELETE_AREA_NONE=null;Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME="VARIABLE";Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME="VARIABLE_DYNAMIC";Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE";Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID";Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID";Blockly.registry={};Blockly.registry.typeMap_={};Blockly.registry.DEFAULT="default";Blockly.registry.Type=function(a){this.name_=a};Blockly.registry.Type.prototype.toString=function(){return this.name_};Blockly.registry.Type.CONNECTION_CHECKER=new Blockly.registry.Type("connectionChecker");Blockly.registry.Type.EVENT=new Blockly.registry.Type("event");Blockly.registry.Type.FIELD=new Blockly.registry.Type("field");Blockly.registry.Type.RENDERER=new Blockly.registry.Type("renderer"); -Blockly.registry.Type.TOOLBOX=new Blockly.registry.Type("toolbox");Blockly.registry.Type.THEME=new Blockly.registry.Type("theme");Blockly.registry.Type.TOOLBOX_ITEM=new Blockly.registry.Type("toolboxItem");Blockly.registry.Type.FLYOUTS_VERTICAL_TOOLBOX=new Blockly.registry.Type("flyoutsVerticalToolbox");Blockly.registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX=new Blockly.registry.Type("flyoutsHorizontalToolbox"); -Blockly.registry.register=function(a,b,c,d){if(!(a instanceof Blockly.registry.Type)&&"string"!=typeof a||""==String(a).trim())throw Error('Invalid type "'+a+'". The type must be a non-empty string or a Blockly.registry.Type.');a=String(a).toLowerCase();if("string"!=typeof b||""==b.trim())throw Error('Invalid name "'+b+'". The name must be a non-empty string.');b=b.toLowerCase();if(!c)throw Error("Can not register a null value");var e=Blockly.registry.typeMap_[a];e||(e=Blockly.registry.typeMap_[a]= -{});Blockly.registry.validate_(a,c);if(!d&&e[b])throw Error('Name "'+b+'" with type "'+a+'" already registered.');e[b]=c};Blockly.registry.validate_=function(a,b){switch(a){case String(Blockly.registry.Type.FIELD):if("function"!=typeof b.fromJson)throw Error('Type "'+a+'" must have a fromJson function');}}; -Blockly.registry.unregister=function(a,b){a=String(a).toLowerCase();b=b.toLowerCase();var c=Blockly.registry.typeMap_[a];c?c[b]?delete Blockly.registry.typeMap_[a][b]:console.warn('No name "'+b+'" with type "'+a+'" found'):console.warn('No type "'+a+'" found')}; -Blockly.registry.getItem_=function(a,b){a=String(a).toLowerCase();b=b.toLowerCase();var c=Blockly.registry.typeMap_[a];return c?c[b]?c[b]:(console.warn('No name "'+b+'" with type "'+a+'" found'),null):(console.warn('No type "'+a+'" found'),null)};Blockly.registry.hasItem=function(a,b){a=String(a).toLowerCase();b=b.toLowerCase();return(a=Blockly.registry.typeMap_[a])?!!a[b]:!1};Blockly.registry.getClass=function(a,b){return Blockly.registry.getItem_(a,b)}; -Blockly.registry.getObject=function(a,b){return Blockly.registry.getItem_(a,b)};Blockly.registry.getClassFromOptions=function(a,b){b=b.plugins[a.toString()]||Blockly.registry.DEFAULT;return"function"==typeof b?b:Blockly.registry.getClass(a,b)};Blockly.utils={};Blockly.utils.global=function(){return"object"===typeof self?self:"object"===typeof window?window:"object"===typeof global?global:this}();Blockly.Msg={};Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={});Blockly.utils.global.Blockly.Msg||(Blockly.utils.global.Blockly.Msg=Blockly.Msg);Blockly.utils.colour={}; + 'use strict';var Blockly={connectionTypes:{INPUT_VALUE:1,OUTPUT_VALUE:2,NEXT_STATEMENT:3,PREVIOUS_STATEMENT:4}};Blockly.constants={};Blockly.LINE_MODE_MULTIPLIER=40;Blockly.PAGE_MODE_MULTIPLIER=125;Blockly.DRAG_RADIUS=5;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=28;Blockly.CONNECTING_SNAP_RADIUS=Blockly.SNAP_RADIUS;Blockly.CURRENT_CONNECTION_PREFERENCE=8;Blockly.BUMP_DELAY=250;Blockly.BUMP_RANDOMNESS=10;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:"sprites.png"}; +Blockly.constants.ALIGN={LEFT:-1,CENTRE:0,RIGHT:1};Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.INPUT_VALUE]=Blockly.connectionTypes.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.OUTPUT_VALUE]=Blockly.connectionTypes.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.NEXT_STATEMENT]=Blockly.connectionTypes.PREVIOUS_STATEMENT; +Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.PREVIOUS_STATEMENT]=Blockly.connectionTypes.NEXT_STATEMENT;Blockly.DELETE_AREA_NONE=null;Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME="VARIABLE";Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME="VARIABLE_DYNAMIC";Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE";Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID";Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID";Blockly.constants.COLLAPSED_INPUT_NAME="_TEMP_COLLAPSED_INPUT"; +Blockly.constants.COLLAPSED_FIELD_NAME="_TEMP_COLLAPSED_FIELD";Blockly.utils={};Blockly.utils.global=function(){return"object"===typeof self?self:"object"===typeof window?window:"object"===typeof global?global:this}();Blockly.Msg={};Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={});Blockly.utils.global.Blockly.Msg||(Blockly.utils.global.Blockly.Msg=Blockly.Msg);Blockly.utils.colour={}; Blockly.utils.colour.parse=function(a){a=String(a).toLowerCase().trim();var b=Blockly.utils.colour.names[a];if(b)return b;b="0x"==a.substring(0,2)?"#"+a.substring(2):a;b="#"==b[0]?b:"#"+b;if(/^#[0-9a-f]{6}$/.test(b))return b;if(/^#[0-9a-f]{3}$/.test(b))return["#",b[1],b[1],b[2],b[2],b[3],b[3]].join("");var c=a.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return c&&(a=Number(c[1]),b=Number(c[2]),c=Number(c[3]),0<=a&&256>a&&0<=b&&256>b&&0<=c&&256>c)?Blockly.utils.colour.rgbToHex(a,b, c):null};Blockly.utils.colour.rgbToHex=function(a,b,c){b=a<<16|b<<8|c;return 16>a?"#"+(16777216|b).toString(16).substr(1):"#"+b.toString(16)};Blockly.utils.colour.hexToRgb=function(a){a=Blockly.utils.colour.parse(a);if(!a)return[0,0,0];a=parseInt(a.substr(1),16);return[a>>16,a>>8&255,a&255]}; Blockly.utils.colour.hsvToHex=function(a,b,c){var d=0,e=0,f=0;if(0==b)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g;a=c*(1-b);var k=c*(1-b*h);b=c*(1-b*(1-h));switch(g){case 1:d=k;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=k;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=k;break;case 6:case 0:d=c,e=b,f=a}}return Blockly.utils.colour.rgbToHex(Math.floor(d),Math.floor(e),Math.floor(f))}; Blockly.utils.colour.blend=function(a,b,c){a=Blockly.utils.colour.parse(a);if(!a)return null;b=Blockly.utils.colour.parse(b);if(!b)return null;a=Blockly.utils.colour.hexToRgb(a);b=Blockly.utils.colour.hexToRgb(b);return Blockly.utils.colour.rgbToHex(Math.round(b[0]+c*(a[0]-b[0])),Math.round(b[1]+c*(a[1]-b[1])),Math.round(b[2]+c*(a[2]-b[2])))}; Blockly.utils.colour.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"};Blockly.utils.Coordinate=function(a,b){this.x=a;this.y=b};Blockly.utils.Coordinate.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y:!1};Blockly.utils.Coordinate.distance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return Math.sqrt(c*c+a*a)};Blockly.utils.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};Blockly.utils.Coordinate.difference=function(a,b){return new Blockly.utils.Coordinate(a.x-b.x,a.y-b.y)}; -Blockly.utils.Coordinate.sum=function(a,b){return new Blockly.utils.Coordinate(a.x+b.x,a.y+b.y)};Blockly.utils.Coordinate.prototype.scale=function(a){this.x*=a;this.y*=a;return this};Blockly.utils.Coordinate.prototype.translate=function(a,b){this.x+=a;this.y+=b;return this};Blockly.utils.Rect=function(a,b,c,d){this.top=a;this.bottom=b;this.left=c;this.right=d};Blockly.utils.Rect.prototype.contains=function(a,b){return a>=this.left&&a<=this.right&&b>=this.top&&b<=this.bottom};Blockly.utils.string={};Blockly.utils.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};Blockly.utils.string.shortestStringLength=function(a){return a.length?a.reduce(function(b,c){return b.length=this.left&&a<=this.right&&b>=this.top&&b<=this.bottom};Blockly.utils.Rect.prototype.intersects=function(a){return!(this.left>a.right||this.righta.bottom||this.bottomb&&(b=c[d].length);d=-Infinity;var e=1;do{var f=d;var g=a;a=[];var h=c.length/e,k=1;for(d=0;df);return g}; @@ -52,19 +47,35 @@ if(!b)return document.body.removeChild(a),!1;b=b.getPropertyValue(c[d])}document Blockly.utils.getViewportBBox=function(){var a=Blockly.utils.style.getViewportPageOffset();return new Blockly.utils.Rect(a.y,document.documentElement.clientHeight+a.y,a.x,document.documentElement.clientWidth+a.x)};Blockly.utils.arrayRemove=function(a,b){b=a.indexOf(b);if(-1==b)return!1;a.splice(b,1);return!0}; Blockly.utils.getDocumentScroll=function(){var a=document.documentElement,b=window;return Blockly.utils.userAgent.IE&&b.pageYOffset!=a.scrollTop?new Blockly.utils.Coordinate(a.scrollLeft,a.scrollTop):new Blockly.utils.Coordinate(b.pageXOffset||a.scrollLeft,b.pageYOffset||a.scrollTop)};Blockly.utils.getBlockTypeCounts=function(a,b){var c=Object.create(null),d=a.getDescendants(!0);b&&(a=a.getNextBlock())&&(a=d.indexOf(a),d.splice(a,d.length-a));for(a=0;b=d[a];a++)c[b.type]?c[b.type]++:c[b.type]=1;return c}; Blockly.utils.screenToWsCoordinates=function(a,b){var c=b.x;b=b.y;var d=a.getInjectionDiv().getBoundingClientRect();c=new Blockly.utils.Coordinate(c-d.left,b-d.top);b=a.getOriginOffsetInPixels();return Blockly.utils.Coordinate.difference(c,b).scale(1/a.scale)}; -Blockly.utils.parseBlockColour=function(a){var b="string"==typeof a?Blockly.utils.replaceMessageReferences(a):a,c=Number(b);if(!isNaN(c)&&0<=c&&360>=c)return{hue:c,hex:Blockly.utils.colour.hsvToHex(c,Blockly.HSV_SATURATION,255*Blockly.HSV_VALUE)};if(c=Blockly.utils.colour.parse(b))return{hue:null,hex:c};c='Invalid colour: "'+b+'"';a!=b&&(c+=' (from "'+a+'")');throw Error(c);};Blockly.Events={};Blockly.Events.group_="";Blockly.Events.recordUndo=!0;Blockly.Events.disabled_=0;Blockly.Events.CREATE="create";Blockly.Events.BLOCK_CREATE=Blockly.Events.CREATE;Blockly.Events.DELETE="delete";Blockly.Events.BLOCK_DELETE=Blockly.Events.DELETE;Blockly.Events.CHANGE="change";Blockly.Events.BLOCK_CHANGE=Blockly.Events.CHANGE;Blockly.Events.MOVE="move";Blockly.Events.BLOCK_MOVE=Blockly.Events.MOVE;Blockly.Events.VAR_CREATE="var_create";Blockly.Events.VAR_DELETE="var_delete"; +Blockly.utils.parseBlockColour=function(a){var b="string"==typeof a?Blockly.utils.replaceMessageReferences(a):a,c=Number(b);if(!isNaN(c)&&0<=c&&360>=c)return{hue:c,hex:Blockly.utils.colour.hsvToHex(c,Blockly.HSV_SATURATION,255*Blockly.HSV_VALUE)};if(c=Blockly.utils.colour.parse(b))return{hue:null,hex:c};c='Invalid colour: "'+b+'"';a!=b&&(c+=' (from "'+a+'")');throw Error(c);};Blockly.Touch={};Blockly.Touch.TOUCH_ENABLED="ontouchstart"in Blockly.utils.global||!!(Blockly.utils.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!Blockly.utils.global.navigator||!Blockly.utils.global.navigator.maxTouchPoints&&!Blockly.utils.global.navigator.msMaxTouchPoints);Blockly.Touch.touchIdentifier_=null;Blockly.Touch.TOUCH_MAP={}; +Blockly.utils.global.PointerEvent?Blockly.Touch.TOUCH_MAP={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]}:Blockly.Touch.TOUCH_ENABLED&&(Blockly.Touch.TOUCH_MAP={mousedown:["touchstart"],mousemove:["touchmove"],mouseup:["touchend","touchcancel"]});Blockly.longPid_=0; +Blockly.longStart=function(a,b){Blockly.longStop_();a.changedTouches&&1!=a.changedTouches.length||(Blockly.longPid_=setTimeout(function(){a.changedTouches&&(a.button=2,a.clientX=a.changedTouches[0].clientX,a.clientY=a.changedTouches[0].clientY);b&&b.handleRightClick(a)},Blockly.LONGPRESS))};Blockly.longStop_=function(){Blockly.longPid_&&(clearTimeout(Blockly.longPid_),Blockly.longPid_=0)};Blockly.Touch.clearTouchIdentifier=function(){Blockly.Touch.touchIdentifier_=null}; +Blockly.Touch.shouldHandleEvent=function(a){return!Blockly.Touch.isMouseOrTouchEvent(a)||Blockly.Touch.checkTouchIdentifier(a)};Blockly.Touch.getTouchIdentifierFromEvent=function(a){return void 0!=a.pointerId?a.pointerId:a.changedTouches&&a.changedTouches[0]&&void 0!==a.changedTouches[0].identifier&&null!==a.changedTouches[0].identifier?a.changedTouches[0].identifier:"mouse"}; +Blockly.Touch.checkTouchIdentifier=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);return void 0!==Blockly.Touch.touchIdentifier_&&null!==Blockly.Touch.touchIdentifier_?Blockly.Touch.touchIdentifier_==b:"mousedown"==a.type||"touchstart"==a.type||"pointerdown"==a.type?(Blockly.Touch.touchIdentifier_=b,!0):!1};Blockly.Touch.setClientFromTouch=function(a){if(Blockly.utils.string.startsWith(a.type,"touch")){var b=a.changedTouches[0];a.clientX=b.clientX;a.clientY=b.clientY}}; +Blockly.Touch.isMouseOrTouchEvent=function(a){return Blockly.utils.string.startsWith(a.type,"touch")||Blockly.utils.string.startsWith(a.type,"mouse")||Blockly.utils.string.startsWith(a.type,"pointer")};Blockly.Touch.isTouchEvent=function(a){return Blockly.utils.string.startsWith(a.type,"touch")||Blockly.utils.string.startsWith(a.type,"pointer")}; +Blockly.Touch.splitEventByTouches=function(a){var b=[];if(a.changedTouches)for(var c=0;c/g,"<$1$2>")};Blockly.Xml.domToPrettyText=function(a){a=Blockly.Xml.domToText(a).split("<");for(var b="",c=1;c"!=d.slice(-2)&&(b+=" ")}a=a.join("\n");a=a.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1");return a.replace(/^\n/,"")}; +Blockly.Xml.textToDom=function(a){var b=Blockly.utils.xml.textToDomDocument(a);if(!b||!b.documentElement||b.getElementsByTagName("parsererror").length)throw Error("textToDom was unable to parse: "+a);return b.documentElement};Blockly.Xml.clearWorkspaceAndLoadFromXml=function(a,b){b.setResizesEnabled(!1);b.clear();a=Blockly.Xml.domToWorkspace(a,b);b.setResizesEnabled(!0);return a}; +Blockly.Xml.domToWorkspace=function(a,b){if(a instanceof Blockly.Workspace){var c=a;a=b;b=c;console.warn("Deprecated call to Blockly.Xml.domToWorkspace, swap the arguments.")}var d;b.RTL&&(d=b.getWidth());c=[];Blockly.utils.dom.startTextWidthCache();var e=Blockly.Events.getGroup();e||Blockly.Events.setGroup(!0);b.setResizesEnabled&&b.setResizesEnabled(!1);var f=!0;try{for(var g=0,h;h=a.childNodes[g];g++){var k=h.nodeName.toLowerCase(),l=h;if("block"==k||"shadow"==k&&!Blockly.Events.recordUndo){var m= +Blockly.Xml.domToBlock(l,b);c.push(m.id);var n=l.hasAttribute("x")?parseInt(l.getAttribute("x"),10):10,p=l.hasAttribute("y")?parseInt(l.getAttribute("y"),10):10;isNaN(n)||isNaN(p)||m.moveBy(b.RTL?d-n:n,p);f=!1}else{if("shadow"==k)throw TypeError("Shadow block cannot be a top-level block.");if("comment"==k)b.rendered?Blockly.WorkspaceCommentSvg?Blockly.WorkspaceCommentSvg.fromXml(l,b,d):console.warn("Missing require for Blockly.WorkspaceCommentSvg, ignoring workspace comment."):Blockly.WorkspaceComment? +Blockly.WorkspaceComment.fromXml(l,b):console.warn("Missing require for Blockly.WorkspaceComment, ignoring workspace comment.");else if("variables"==k){if(f)Blockly.Xml.domToVariables(l,b);else throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");f=!1}}}}finally{e||Blockly.Events.setGroup(!1),Blockly.utils.dom.stopTextWidthCache()}b.setResizesEnabled&&b.setResizesEnabled(!0);Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.FINISHED_LOADING))(b)); +return c};Blockly.Xml.appendDomToWorkspace=function(a,b){var c;Object.prototype.hasOwnProperty.call(b,"scale")&&(c=b.getBlocksBoundingBox());a=Blockly.Xml.domToWorkspace(a,b);if(c&&c.top!=c.bottom){var d=c.bottom;var e=b.RTL?c.right:c.left;var f=Infinity,g=-Infinity,h=Infinity;for(c=0;cg&&(g=k.x)}d=d-h+10;e=b.RTL?e-g:e-f;for(c=0;c");b.domToMutation(d)}Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.CHANGE))(b,"mutation",null,c,a));break;default:console.warn("Unknown change type: "+this.element)}else console.warn("Can't change non-existent block: "+this.blockId)}; +Blockly.Events.Create=function(a){Blockly.Events.Create.superClass_.constructor.call(this,a);a&&(a.isShadow()&&(this.recordUndo=!1),this.xml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a),this.ids=Blockly.Events.getDescendantIds(a))};Blockly.utils.object.inherits(Blockly.Events.Create,Blockly.Events.BlockBase);Blockly.Events.BlockCreate=Blockly.Events.Create;Blockly.Events.Create.prototype.type=Blockly.Events.CREATE; +Blockly.Events.Create.prototype.toJson=function(){var a=Blockly.Events.Create.superClass_.toJson.call(this);a.xml=Blockly.Xml.domToText(this.xml);a.ids=this.ids;this.recordUndo||(a.recordUndo=this.recordUndo);return a};Blockly.Events.Create.prototype.fromJson=function(a){Blockly.Events.Create.superClass_.fromJson.call(this,a);this.xml=Blockly.Xml.textToDom(a.xml);this.ids=a.ids;void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)}; +Blockly.Events.Create.prototype.run=function(a){var b=this.getEventWorkspace_();if(a)a=Blockly.utils.xml.createElement("xml"),a.appendChild(this.xml),Blockly.Xml.domToWorkspace(a,b);else{a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1):c==this.blockId&&console.warn("Can't uncreate non-existent block: "+c)}}}; +Blockly.Events.Delete=function(a){Blockly.Events.Delete.superClass_.constructor.call(this,a);if(a){if(a.getParent())throw Error("Connected blocks cannot be deleted.");a.isShadow()&&(this.recordUndo=!1);this.oldXml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a);this.ids=Blockly.Events.getDescendantIds(a)}};Blockly.utils.object.inherits(Blockly.Events.Delete,Blockly.Events.BlockBase);Blockly.Events.BlockDelete=Blockly.Events.Delete; +Blockly.Events.Delete.prototype.type=Blockly.Events.DELETE;Blockly.Events.Delete.prototype.toJson=function(){var a=Blockly.Events.Delete.superClass_.toJson.call(this);a.oldXml=Blockly.Xml.domToText(this.oldXml);a.ids=this.ids;this.recordUndo||(a.recordUndo=this.recordUndo);return a};Blockly.Events.Delete.prototype.fromJson=function(a){Blockly.Events.Delete.superClass_.fromJson.call(this,a);this.oldXml=Blockly.Xml.textToDom(a.oldXml);this.ids=a.ids;void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)}; +Blockly.Events.Delete.prototype.run=function(a){var b=this.getEventWorkspace_();if(a){a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1):c==this.blockId&&console.warn("Can't delete non-existent block: "+c)}}else a=Blockly.utils.xml.createElement("xml"),a.appendChild(this.oldXml),Blockly.Xml.domToWorkspace(a,b)}; +Blockly.Events.Move=function(a){Blockly.Events.Move.superClass_.constructor.call(this,a);a&&(a.isShadow()&&(this.recordUndo=!1),a=this.currentLocation_(),this.oldParentId=a.parentId,this.oldInputName=a.inputName,this.oldCoordinate=a.coordinate)};Blockly.utils.object.inherits(Blockly.Events.Move,Blockly.Events.BlockBase);Blockly.Events.BlockMove=Blockly.Events.Move;Blockly.Events.Move.prototype.type=Blockly.Events.MOVE; +Blockly.Events.Move.prototype.toJson=function(){var a=Blockly.Events.Move.superClass_.toJson.call(this);this.newParentId&&(a.newParentId=this.newParentId);this.newInputName&&(a.newInputName=this.newInputName);this.newCoordinate&&(a.newCoordinate=Math.round(this.newCoordinate.x)+","+Math.round(this.newCoordinate.y));this.recordUndo||(a.recordUndo=this.recordUndo);return a}; +Blockly.Events.Move.prototype.fromJson=function(a){Blockly.Events.Move.superClass_.fromJson.call(this,a);this.newParentId=a.newParentId;this.newInputName=a.newInputName;if(a.newCoordinate){var b=a.newCoordinate.split(",");this.newCoordinate=new Blockly.utils.Coordinate(Number(b[0]),Number(b[1]))}void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)}; +Blockly.Events.Move.prototype.recordNew=function(){var a=this.currentLocation_();this.newParentId=a.parentId;this.newInputName=a.inputName;this.newCoordinate=a.coordinate};Blockly.Events.Move.prototype.currentLocation_=function(){var a=this.getEventWorkspace_().getBlockById(this.blockId),b={},c=a.getParent();if(c){if(b.parentId=c.id,a=c.getInputWithBlock(a))b.inputName=a.name}else b.coordinate=a.getRelativeToSurfaceXY();return b}; +Blockly.Events.Move.prototype.isNull=function(){return this.oldParentId==this.newParentId&&this.oldInputName==this.newInputName&&Blockly.utils.Coordinate.equals(this.oldCoordinate,this.newCoordinate)}; +Blockly.Events.Move.prototype.run=function(a){var b=this.getEventWorkspace_(),c=b.getBlockById(this.blockId);if(c){var d=a?this.newParentId:this.oldParentId,e=a?this.newInputName:this.oldInputName,f=a?this.newCoordinate:this.oldCoordinate;a=null;if(d&&(a=b.getBlockById(d),!a)){console.warn("Can't connect to non-existent block: "+d);return}c.getParent()&&c.unplug();if(f)e=c.getRelativeToSurfaceXY(),c.moveBy(f.x-e.x,f.y-e.y);else{c=c.outputConnection||c.previousConnection;b=c.type;if(e){if(a=a.getInput(e))var g= +a.connection}else b==Blockly.connectionTypes.PREVIOUS_STATEMENT&&(g=a.nextConnection);g?c.connect(g):console.warn("Can't connect to non-existent input: "+e)}}else console.warn("Can't move non-existent block: "+this.blockId)};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.CREATE,Blockly.Events.Create);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.DELETE,Blockly.Events.Delete);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.CHANGE,Blockly.Events.Change); +Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.MOVE,Blockly.Events.Move);Blockly.Events.FinishedLoading=function(a){this.isBlank="undefined"==typeof a;this.workspaceId=a?a.id:"";this.group=Blockly.Events.getGroup();this.recordUndo=!1};Blockly.utils.object.inherits(Blockly.Events.FinishedLoading,Blockly.Events.Abstract);Blockly.Events.FinishedLoading.prototype.type=Blockly.Events.FINISHED_LOADING;Blockly.Events.FinishedLoading.prototype.toJson=function(){var a={type:this.type};this.group&&(a.group=this.group);this.workspaceId&&(a.workspaceId=this.workspaceId);return a}; +Blockly.Events.FinishedLoading.prototype.fromJson=function(a){this.isBlank=!1;this.workspaceId=a.workspaceId;this.group=a.group};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.FINISHED_LOADING,Blockly.Events.FinishedLoading);Blockly.Events.UiBase=function(a){Blockly.Events.UiBase.superClass_.constructor.call(this);this.isBlank="undefined"==typeof a;this.workspaceId=a?a:"";this.recordUndo=!1};Blockly.utils.object.inherits(Blockly.Events.UiBase,Blockly.Events.Abstract);Blockly.Events.UiBase.prototype.isUiEvent=!0; +Blockly.Events.Ui=function(a,b,c,d){Blockly.Events.Ui.superClass_.constructor.call(this,a?a.workspace.id:void 0);this.blockId=a?a.id:null;this.element="undefined"==typeof b?"":b;this.oldValue="undefined"==typeof c?"":c;this.newValue="undefined"==typeof d?"":d};Blockly.utils.object.inherits(Blockly.Events.Ui,Blockly.Events.UiBase);Blockly.Events.Ui.prototype.type=Blockly.Events.UI; +Blockly.Events.Ui.prototype.toJson=function(){var a=Blockly.Events.Ui.superClass_.toJson.call(this);a.element=this.element;void 0!==this.newValue&&(a.newValue=this.newValue);this.blockId&&(a.blockId=this.blockId);return a};Blockly.Events.Ui.prototype.fromJson=function(a){Blockly.Events.Ui.superClass_.fromJson.call(this,a);this.element=a.element;this.newValue=a.newValue;this.blockId=a.blockId};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.UI,Blockly.Events.Ui);Blockly.Events.VarBase=function(a){Blockly.Events.VarBase.superClass_.constructor.call(this);this.varId=(this.isBlank="undefined"==typeof a)?"":a.getId();this.workspaceId=this.isBlank?"":a.workspace.id};Blockly.utils.object.inherits(Blockly.Events.VarBase,Blockly.Events.Abstract);Blockly.Events.VarBase.prototype.toJson=function(){var a=Blockly.Events.VarBase.superClass_.toJson.call(this);a.varId=this.varId;return a}; +Blockly.Events.VarBase.prototype.fromJson=function(a){Blockly.Events.VarBase.superClass_.toJson.call(this);this.varId=a.varId};Blockly.Events.VarCreate=function(a){Blockly.Events.VarCreate.superClass_.constructor.call(this,a);a&&(this.varType=a.type,this.varName=a.name)};Blockly.utils.object.inherits(Blockly.Events.VarCreate,Blockly.Events.VarBase);Blockly.Events.VarCreate.prototype.type=Blockly.Events.VAR_CREATE; +Blockly.Events.VarCreate.prototype.toJson=function(){var a=Blockly.Events.VarCreate.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};Blockly.Events.VarCreate.prototype.fromJson=function(a){Blockly.Events.VarCreate.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};Blockly.Events.VarCreate.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.createVariable(this.varName,this.varType,this.varId):b.deleteVariableById(this.varId)}; +Blockly.Events.VarDelete=function(a){Blockly.Events.VarDelete.superClass_.constructor.call(this,a);a&&(this.varType=a.type,this.varName=a.name)};Blockly.utils.object.inherits(Blockly.Events.VarDelete,Blockly.Events.VarBase);Blockly.Events.VarDelete.prototype.type=Blockly.Events.VAR_DELETE;Blockly.Events.VarDelete.prototype.toJson=function(){var a=Blockly.Events.VarDelete.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a}; +Blockly.Events.VarDelete.prototype.fromJson=function(a){Blockly.Events.VarDelete.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};Blockly.Events.VarDelete.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.deleteVariableById(this.varId):b.createVariable(this.varName,this.varType,this.varId)};Blockly.Events.VarRename=function(a,b){Blockly.Events.VarRename.superClass_.constructor.call(this,a);a&&(this.oldName=a.name,this.newName="undefined"==typeof b?"":b)}; +Blockly.utils.object.inherits(Blockly.Events.VarRename,Blockly.Events.VarBase);Blockly.Events.VarRename.prototype.type=Blockly.Events.VAR_RENAME;Blockly.Events.VarRename.prototype.toJson=function(){var a=Blockly.Events.VarRename.superClass_.toJson.call(this);a.oldName=this.oldName;a.newName=this.newName;return a};Blockly.Events.VarRename.prototype.fromJson=function(a){Blockly.Events.VarRename.superClass_.fromJson.call(this,a);this.oldName=a.oldName;this.newName=a.newName}; +Blockly.Events.VarRename.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.renameVariableById(this.varId,this.newName):b.renameVariableById(this.varId,this.oldName)};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.VAR_CREATE,Blockly.Events.VarCreate);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.VAR_DELETE,Blockly.Events.VarDelete);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.VAR_RENAME,Blockly.Events.VarRename);Blockly.BlockDragSurfaceSvg=function(a){this.container_=a;this.createDom()};Blockly.BlockDragSurfaceSvg.prototype.SVG_=null;Blockly.BlockDragSurfaceSvg.prototype.dragGroup_=null;Blockly.BlockDragSurfaceSvg.prototype.container_=null;Blockly.BlockDragSurfaceSvg.prototype.scale_=1;Blockly.BlockDragSurfaceSvg.prototype.surfaceXY_=null; Blockly.BlockDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.SVG,{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1","class":"blocklyBlockDragSurface"},this.container_),this.dragGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{},this.SVG_))}; Blockly.BlockDragSurfaceSvg.prototype.setBlocksAndShow=function(a){if(this.dragGroup_.childNodes.length)throw Error("Already dragging a block.");this.dragGroup_.appendChild(a);this.SVG_.style.display="block";this.surfaceXY_=new Blockly.utils.Coordinate(0,0)};Blockly.BlockDragSurfaceSvg.prototype.translateAndScaleGroup=function(a,b,c){this.scale_=c;a=a.toFixed(0);b=b.toFixed(0);this.dragGroup_.setAttribute("transform","translate("+a+","+b+") scale("+c+")")}; Blockly.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_=function(){var a=this.surfaceXY_.x,b=this.surfaceXY_.y;a=a.toFixed(0);b=b.toFixed(0);this.SVG_.style.display="block";Blockly.utils.dom.setCssTransform(this.SVG_,"translate3d("+a+"px, "+b+"px, 0px)")};Blockly.BlockDragSurfaceSvg.prototype.translateSurface=function(a,b){this.surfaceXY_=new Blockly.utils.Coordinate(a*this.scale_,b*this.scale_);this.translateSurfaceInternal_()}; @@ -123,122 +189,75 @@ Blockly.Grid.createDom=function(a,b,c){a=Blockly.utils.dom.createSvgElement(Bloc Blockly.Theme.prototype.setCategoryStyle=function(a,b){this.categoryStyles[a]=b};Blockly.Theme.prototype.getComponentStyle=function(a){return(a=this.componentStyles[a])&&"string"==typeof a&&this.getComponentStyle(a)?this.getComponentStyle(a):a?String(a):null};Blockly.Theme.prototype.setComponentStyle=function(a,b){this.componentStyles[a]=b};Blockly.Theme.prototype.setFontStyle=function(a){this.fontStyle=a};Blockly.Theme.prototype.setStartHats=function(a){this.startHats=a}; Blockly.Theme.defineTheme=function(a,b){var c=new Blockly.Theme(a),d=b.base;d&&("string"==typeof d&&(d=Blockly.registry.getObject(Blockly.registry.Type.THEME,d)),d instanceof Blockly.Theme&&(Blockly.utils.object.deepMerge(c,d),c.name=a));Blockly.utils.object.deepMerge(c.blockStyles,b.blockStyles);Blockly.utils.object.deepMerge(c.categoryStyles,b.categoryStyles);Blockly.utils.object.deepMerge(c.componentStyles,b.componentStyles);Blockly.utils.object.deepMerge(c.fontStyle,b.fontStyle);null!=b.startHats&& (c.startHats=b.startHats);return c};Blockly.Themes={};Blockly.Themes.Classic={};Blockly.Themes.Classic.defaultBlockStyles={colour_blocks:{colourPrimary:"20"},list_blocks:{colourPrimary:"260"},logic_blocks:{colourPrimary:"210"},loop_blocks:{colourPrimary:"120"},math_blocks:{colourPrimary:"230"},procedure_blocks:{colourPrimary:"290"},text_blocks:{colourPrimary:"160"},variable_blocks:{colourPrimary:"330"},variable_dynamic_blocks:{colourPrimary:"310"},hat_blocks:{colourPrimary:"330",hat:"cap"}}; -Blockly.Themes.Classic.categoryStyles={colour_category:{colour:"20"},list_category:{colour:"260"},logic_category:{colour:"210"},loop_category:{colour:"120"},math_category:{colour:"230"},procedure_category:{colour:"290"},text_category:{colour:"160"},variable_category:{colour:"330"},variable_dynamic_category:{colour:"310"}};Blockly.Themes.Classic=new Blockly.Theme("classic",Blockly.Themes.Classic.defaultBlockStyles,Blockly.Themes.Classic.categoryStyles);Blockly.utils.IdGenerator={};Blockly.utils.IdGenerator.nextId_=0;Blockly.utils.IdGenerator.getNextUniqueId=function(){return"blockly-"+(Blockly.utils.IdGenerator.nextId_++).toString(36)};Blockly.utils.Metrics=function(){};Blockly.utils.toolbox={};Blockly.utils.toolbox.CATEGORY_TOOLBOX_KIND="categoryToolbox";Blockly.utils.toolbox.FLYOUT_TOOLBOX_KIND="flyoutToolbox";Blockly.utils.toolbox.Position={TOP:Blockly.TOOLBOX_AT_TOP,BOTTOM:Blockly.TOOLBOX_AT_BOTTOM,LEFT:Blockly.TOOLBOX_AT_LEFT,RIGHT:Blockly.TOOLBOX_AT_RIGHT}; -Blockly.utils.toolbox.convertToolboxDefToJson=function(a){if(!a)return null;if(a instanceof Element||"string"==typeof a)a=Blockly.utils.toolbox.parseToolboxTree(a),a=Blockly.utils.toolbox.convertToToolboxJson_(a);Blockly.utils.toolbox.validateToolbox_(a);return a}; +Blockly.Themes.Classic.categoryStyles={colour_category:{colour:"20"},list_category:{colour:"260"},logic_category:{colour:"210"},loop_category:{colour:"120"},math_category:{colour:"230"},procedure_category:{colour:"290"},text_category:{colour:"160"},variable_category:{colour:"330"},variable_dynamic_category:{colour:"310"}};Blockly.Themes.Classic=new Blockly.Theme("classic",Blockly.Themes.Classic.defaultBlockStyles,Blockly.Themes.Classic.categoryStyles);Blockly.utils.IdGenerator={};Blockly.utils.IdGenerator.nextId_=0;Blockly.utils.IdGenerator.getNextUniqueId=function(){return"blockly-"+(Blockly.utils.IdGenerator.nextId_++).toString(36)};Blockly.utils.Metrics=function(){};Blockly.utils.toolbox={};Blockly.utils.toolbox.CATEGORY_TOOLBOX_KIND="categoryToolbox";Blockly.utils.toolbox.FLYOUT_TOOLBOX_KIND="flyoutToolbox";Blockly.utils.toolbox.Position={TOP:0,BOTTOM:1,LEFT:2,RIGHT:3};Blockly.utils.toolbox.convertToolboxDefToJson=function(a){if(!a)return null;if(a instanceof Element||"string"==typeof a)a=Blockly.utils.toolbox.parseToolboxTree(a),a=Blockly.utils.toolbox.convertToToolboxJson_(a);Blockly.utils.toolbox.validateToolbox_(a);return a}; Blockly.utils.toolbox.validateToolbox_=function(a){var b=a.kind;a=a.contents;if(b&&b!=Blockly.utils.toolbox.FLYOUT_TOOLBOX_KIND&&b!=Blockly.utils.toolbox.CATEGORY_TOOLBOX_KIND)throw Error("Invalid toolbox kind "+b+". Please supply either "+Blockly.utils.toolbox.FLYOUT_TOOLBOX_KIND+" or "+Blockly.utils.toolbox.CATEGORY_TOOLBOX_KIND);if(!a)throw Error("Toolbox must have a contents attribute.");}; Blockly.utils.toolbox.convertFlyoutDefToJsonArray=function(a){return a?a.contents?a.contents:Array.isArray(a)&&0 document.");}else a=null;return a};Blockly.utils.xml={};Blockly.utils.xml.NAME_SPACE="https://developers.google.com/blockly/xml";Blockly.utils.xml.document=function(){return document};Blockly.utils.xml.createElement=function(a){return Blockly.utils.xml.document().createElementNS(Blockly.utils.xml.NAME_SPACE,a)};Blockly.utils.xml.createTextNode=function(a){return Blockly.utils.xml.document().createTextNode(a)};Blockly.utils.xml.textToDomDocument=function(a){return(new DOMParser).parseFromString(a,"text/xml")}; -Blockly.utils.xml.domToText=function(a){return(new XMLSerializer).serializeToString(a)};Blockly.Events.BlockBase=function(a){Blockly.Events.BlockBase.superClass_.constructor.call(this);this.blockId=(this.isBlank="undefined"==typeof a)?"":a.id;this.workspaceId=this.isBlank?"":a.workspace.id};Blockly.utils.object.inherits(Blockly.Events.BlockBase,Blockly.Events.Abstract);Blockly.Events.BlockBase.prototype.toJson=function(){var a=Blockly.Events.BlockBase.superClass_.toJson.call(this);a.blockId=this.blockId;return a}; -Blockly.Events.BlockBase.prototype.fromJson=function(a){Blockly.Events.BlockBase.superClass_.fromJson.call(this,a);this.blockId=a.blockId};Blockly.Events.Change=function(a,b,c,d,e){Blockly.Events.Change.superClass_.constructor.call(this,a);a&&(this.element="undefined"==typeof b?"":b,this.name="undefined"==typeof c?"":c,this.oldValue="undefined"==typeof d?"":d,this.newValue="undefined"==typeof e?"":e)};Blockly.utils.object.inherits(Blockly.Events.Change,Blockly.Events.BlockBase); -Blockly.Events.BlockChange=Blockly.Events.Change;Blockly.Events.Change.prototype.type=Blockly.Events.CHANGE;Blockly.Events.Change.prototype.toJson=function(){var a=Blockly.Events.Change.superClass_.toJson.call(this);a.element=this.element;this.name&&(a.name=this.name);a.oldValue=this.oldValue;a.newValue=this.newValue;return a}; -Blockly.Events.Change.prototype.fromJson=function(a){Blockly.Events.Change.superClass_.fromJson.call(this,a);this.element=a.element;this.name=a.name;this.oldValue=a.oldValue;this.newValue=a.newValue};Blockly.Events.Change.prototype.isNull=function(){return this.oldValue==this.newValue}; -Blockly.Events.Change.prototype.run=function(a){var b=this.getEventWorkspace_().getBlockById(this.blockId);if(b)switch(b.mutator&&b.mutator.setVisible(!1),a=a?this.newValue:this.oldValue,this.element){case "field":(b=b.getField(this.name))?b.setValue(a):console.warn("Can't set non-existent field: "+this.name);break;case "comment":b.setCommentText(a||null);break;case "collapsed":b.setCollapsed(!!a);break;case "disabled":b.setEnabled(!a);break;case "inline":b.setInputsInline(!!a);break;case "mutation":var c= -"";b.mutationToDom&&(c=(c=b.mutationToDom())&&Blockly.Xml.domToText(c));if(b.domToMutation){var d=Blockly.Xml.textToDom(a||"");b.domToMutation(d)}Blockly.Events.fire(new Blockly.Events.Change(b,"mutation",null,c,a));break;default:console.warn("Unknown change type: "+this.element)}else console.warn("Can't change non-existent block: "+this.blockId)}; -Blockly.Events.Create=function(a){Blockly.Events.Create.superClass_.constructor.call(this,a);a&&(a.isShadow()&&(this.recordUndo=!1),this.xml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a),this.ids=Blockly.Events.getDescendantIds(a))};Blockly.utils.object.inherits(Blockly.Events.Create,Blockly.Events.BlockBase);Blockly.Events.BlockCreate=Blockly.Events.Create;Blockly.Events.Create.prototype.type=Blockly.Events.CREATE; -Blockly.Events.Create.prototype.toJson=function(){var a=Blockly.Events.Create.superClass_.toJson.call(this);a.xml=Blockly.Xml.domToText(this.xml);a.ids=this.ids;this.recordUndo||(a.recordUndo=this.recordUndo);return a};Blockly.Events.Create.prototype.fromJson=function(a){Blockly.Events.Create.superClass_.fromJson.call(this,a);this.xml=Blockly.Xml.textToDom(a.xml);this.ids=a.ids;void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)}; -Blockly.Events.Create.prototype.run=function(a){var b=this.getEventWorkspace_();if(a)a=Blockly.utils.xml.createElement("xml"),a.appendChild(this.xml),Blockly.Xml.domToWorkspace(a,b);else{a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1):c==this.blockId&&console.warn("Can't uncreate non-existent block: "+c)}}}; -Blockly.Events.Delete=function(a){Blockly.Events.Delete.superClass_.constructor.call(this,a);if(a){if(a.getParent())throw Error("Connected blocks cannot be deleted.");a.isShadow()&&(this.recordUndo=!1);this.oldXml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a);this.ids=Blockly.Events.getDescendantIds(a)}};Blockly.utils.object.inherits(Blockly.Events.Delete,Blockly.Events.BlockBase);Blockly.Events.BlockDelete=Blockly.Events.Delete; -Blockly.Events.Delete.prototype.type=Blockly.Events.DELETE;Blockly.Events.Delete.prototype.toJson=function(){var a=Blockly.Events.Delete.superClass_.toJson.call(this);a.oldXml=Blockly.Xml.domToText(this.oldXml);a.ids=this.ids;this.recordUndo||(a.recordUndo=this.recordUndo);return a};Blockly.Events.Delete.prototype.fromJson=function(a){Blockly.Events.Delete.superClass_.fromJson.call(this,a);this.oldXml=Blockly.Xml.textToDom(a.oldXml);this.ids=a.ids;void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)}; -Blockly.Events.Delete.prototype.run=function(a){var b=this.getEventWorkspace_();if(a){a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1):c==this.blockId&&console.warn("Can't delete non-existent block: "+c)}}else a=Blockly.utils.xml.createElement("xml"),a.appendChild(this.oldXml),Blockly.Xml.domToWorkspace(a,b)}; -Blockly.Events.Move=function(a){Blockly.Events.Move.superClass_.constructor.call(this,a);a&&(a.isShadow()&&(this.recordUndo=!1),a=this.currentLocation_(),this.oldParentId=a.parentId,this.oldInputName=a.inputName,this.oldCoordinate=a.coordinate)};Blockly.utils.object.inherits(Blockly.Events.Move,Blockly.Events.BlockBase);Blockly.Events.BlockMove=Blockly.Events.Move;Blockly.Events.Move.prototype.type=Blockly.Events.MOVE; -Blockly.Events.Move.prototype.toJson=function(){var a=Blockly.Events.Move.superClass_.toJson.call(this);this.newParentId&&(a.newParentId=this.newParentId);this.newInputName&&(a.newInputName=this.newInputName);this.newCoordinate&&(a.newCoordinate=Math.round(this.newCoordinate.x)+","+Math.round(this.newCoordinate.y));this.recordUndo||(a.recordUndo=this.recordUndo);return a}; -Blockly.Events.Move.prototype.fromJson=function(a){Blockly.Events.Move.superClass_.fromJson.call(this,a);this.newParentId=a.newParentId;this.newInputName=a.newInputName;if(a.newCoordinate){var b=a.newCoordinate.split(",");this.newCoordinate=new Blockly.utils.Coordinate(Number(b[0]),Number(b[1]))}void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)}; -Blockly.Events.Move.prototype.recordNew=function(){var a=this.currentLocation_();this.newParentId=a.parentId;this.newInputName=a.inputName;this.newCoordinate=a.coordinate};Blockly.Events.Move.prototype.currentLocation_=function(){var a=this.getEventWorkspace_().getBlockById(this.blockId),b={},c=a.getParent();if(c){if(b.parentId=c.id,a=c.getInputWithBlock(a))b.inputName=a.name}else b.coordinate=a.getRelativeToSurfaceXY();return b}; -Blockly.Events.Move.prototype.isNull=function(){return this.oldParentId==this.newParentId&&this.oldInputName==this.newInputName&&Blockly.utils.Coordinate.equals(this.oldCoordinate,this.newCoordinate)}; -Blockly.Events.Move.prototype.run=function(a){var b=this.getEventWorkspace_(),c=b.getBlockById(this.blockId);if(c){var d=a?this.newParentId:this.oldParentId,e=a?this.newInputName:this.oldInputName;a=a?this.newCoordinate:this.oldCoordinate;var f=null;if(d&&(f=b.getBlockById(d),!f)){console.warn("Can't connect to non-existent block: "+d);return}c.getParent()&&c.unplug();if(a)e=c.getRelativeToSurfaceXY(),c.moveBy(a.x-e.x,a.y-e.y);else{c=c.outputConnection||c.previousConnection;if(e){if(b=f.getInput(e))var g= -b.connection}else c.type==Blockly.PREVIOUS_STATEMENT&&(g=f.nextConnection);g?c.connect(g):console.warn("Can't connect to non-existent input: "+e)}}else console.warn("Can't move non-existent block: "+this.blockId)};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.CREATE,Blockly.Events.Create);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.DELETE,Blockly.Events.Delete);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.CHANGE,Blockly.Events.Change); -Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.MOVE,Blockly.Events.Move);Blockly.Events.FinishedLoading=function(a){this.isBlank="undefined"==typeof a;this.workspaceId=a?a.id:"";this.group=Blockly.Events.getGroup();this.recordUndo=!1};Blockly.utils.object.inherits(Blockly.Events.FinishedLoading,Blockly.Events.Abstract);Blockly.Events.FinishedLoading.prototype.type=Blockly.Events.FINISHED_LOADING;Blockly.Events.FinishedLoading.prototype.toJson=function(){var a={type:this.type};this.group&&(a.group=this.group);this.workspaceId&&(a.workspaceId=this.workspaceId);return a}; -Blockly.Events.FinishedLoading.prototype.fromJson=function(a){this.isBlank=!1;this.workspaceId=a.workspaceId;this.group=a.group};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.FINISHED_LOADING,Blockly.Events.FinishedLoading);Blockly.Events.VarBase=function(a){Blockly.Events.VarBase.superClass_.constructor.call(this);this.varId=(this.isBlank="undefined"==typeof a)?"":a.getId();this.workspaceId=this.isBlank?"":a.workspace.id};Blockly.utils.object.inherits(Blockly.Events.VarBase,Blockly.Events.Abstract);Blockly.Events.VarBase.prototype.toJson=function(){var a=Blockly.Events.VarBase.superClass_.toJson.call(this);a.varId=this.varId;return a}; -Blockly.Events.VarBase.prototype.fromJson=function(a){Blockly.Events.VarBase.superClass_.toJson.call(this);this.varId=a.varId};Blockly.Events.VarCreate=function(a){Blockly.Events.VarCreate.superClass_.constructor.call(this,a);a&&(this.varType=a.type,this.varName=a.name)};Blockly.utils.object.inherits(Blockly.Events.VarCreate,Blockly.Events.VarBase);Blockly.Events.VarCreate.prototype.type=Blockly.Events.VAR_CREATE; -Blockly.Events.VarCreate.prototype.toJson=function(){var a=Blockly.Events.VarCreate.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};Blockly.Events.VarCreate.prototype.fromJson=function(a){Blockly.Events.VarCreate.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};Blockly.Events.VarCreate.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.createVariable(this.varName,this.varType,this.varId):b.deleteVariableById(this.varId)}; -Blockly.Events.VarDelete=function(a){Blockly.Events.VarDelete.superClass_.constructor.call(this,a);a&&(this.varType=a.type,this.varName=a.name)};Blockly.utils.object.inherits(Blockly.Events.VarDelete,Blockly.Events.VarBase);Blockly.Events.VarDelete.prototype.type=Blockly.Events.VAR_DELETE;Blockly.Events.VarDelete.prototype.toJson=function(){var a=Blockly.Events.VarDelete.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a}; -Blockly.Events.VarDelete.prototype.fromJson=function(a){Blockly.Events.VarDelete.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};Blockly.Events.VarDelete.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.deleteVariableById(this.varId):b.createVariable(this.varName,this.varType,this.varId)};Blockly.Events.VarRename=function(a,b){Blockly.Events.VarRename.superClass_.constructor.call(this,a);a&&(this.oldName=a.name,this.newName="undefined"==typeof b?"":b)}; -Blockly.utils.object.inherits(Blockly.Events.VarRename,Blockly.Events.VarBase);Blockly.Events.VarRename.prototype.type=Blockly.Events.VAR_RENAME;Blockly.Events.VarRename.prototype.toJson=function(){var a=Blockly.Events.VarRename.superClass_.toJson.call(this);a.oldName=this.oldName;a.newName=this.newName;return a};Blockly.Events.VarRename.prototype.fromJson=function(a){Blockly.Events.VarRename.superClass_.fromJson.call(this,a);this.oldName=a.oldName;this.newName=a.newName}; -Blockly.Events.VarRename.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.renameVariableById(this.varId,this.newName):b.renameVariableById(this.varId,this.oldName)};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.VAR_CREATE,Blockly.Events.VarCreate);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.VAR_DELETE,Blockly.Events.VarDelete);Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.VAR_RENAME,Blockly.Events.VarRename);Blockly.Xml={};Blockly.Xml.workspaceToDom=function(a,b){var c=Blockly.utils.xml.createElement("xml"),d=Blockly.Xml.variablesToDom(Blockly.Variables.allUsedVarModels(a));d.hasChildNodes()&&c.appendChild(d);var e=a.getTopComments(!0);d=0;for(var f;f=e[d];d++)c.appendChild(f.toXmlWithXY(b));a=a.getTopBlocks(!0);for(d=0;e=a[d];d++)c.appendChild(Blockly.Xml.blockToDomWithXY(e,b));return c}; -Blockly.Xml.variablesToDom=function(a){for(var b=Blockly.utils.xml.createElement("variables"),c=0,d;d=a[c];c++){var e=Blockly.utils.xml.createElement("variable");e.appendChild(Blockly.utils.xml.createTextNode(d.name));d.type&&e.setAttribute("type",d.type);e.id=d.getId();b.appendChild(e)}return b}; -Blockly.Xml.blockToDomWithXY=function(a,b){if(a.isInsertionMarker()&&(a=a.getChildren(!1)[0],!a))return new DocumentFragment;var c;a.workspace.RTL&&(c=a.workspace.getWidth());b=Blockly.Xml.blockToDom(a,b);var d=a.getRelativeToSurfaceXY();b.setAttribute("x",Math.round(a.workspace.RTL?c-d.x:d.x));b.setAttribute("y",Math.round(d.y));return b};Blockly.Xml.fieldToDom_=function(a){if(a.isSerializable()){var b=Blockly.utils.xml.createElement("field");b.setAttribute("name",a.name||"");return a.toXml(b)}return null}; -Blockly.Xml.allFieldsToDom_=function(a,b){for(var c=0,d;d=a.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)(f=Blockly.Xml.fieldToDom_(f))&&b.appendChild(f)}; -Blockly.Xml.blockToDom=function(a,b){if(a.isInsertionMarker())return(a=a.getChildren(!1)[0])?Blockly.Xml.blockToDom(a):new DocumentFragment;var c=Blockly.utils.xml.createElement(a.isShadow()?"shadow":"block");c.setAttribute("type",a.type);b||c.setAttribute("id",a.id);if(a.mutationToDom){var d=a.mutationToDom();d&&(d.hasChildNodes()||d.hasAttributes())&&c.appendChild(d)}Blockly.Xml.allFieldsToDom_(a,c);if(d=a.getCommentText()){var e=a.commentModel.size,f=a.commentModel.pinned,g=Blockly.utils.xml.createElement("comment"); -g.appendChild(Blockly.utils.xml.createTextNode(d));g.setAttribute("pinned",f);g.setAttribute("h",e.height);g.setAttribute("w",e.width);c.appendChild(g)}a.data&&(d=Blockly.utils.xml.createElement("data"),d.appendChild(Blockly.utils.xml.createTextNode(a.data)),c.appendChild(d));for(d=0;e=a.inputList[d];d++){var h;f=!0;if(e.type!=Blockly.DUMMY_INPUT){var k=e.connection.targetBlock();e.type==Blockly.INPUT_VALUE?h=Blockly.utils.xml.createElement("value"):e.type==Blockly.NEXT_STATEMENT&&(h=Blockly.utils.xml.createElement("statement")); -g=e.connection.getShadowDom();!g||k&&k.isShadow()||h.appendChild(Blockly.Xml.cloneShadow_(g,b));k&&(g=Blockly.Xml.blockToDom(k,b),g.nodeType==Blockly.utils.dom.NodeType.ELEMENT_NODE&&(h.appendChild(g),f=!1));h.setAttribute("name",e.name);f||c.appendChild(h)}}void 0!=a.inputsInline&&a.inputsInline!=a.inputsInlineDefault&&c.setAttribute("inline",a.inputsInline);a.isCollapsed()&&c.setAttribute("collapsed",!0);a.isEnabled()||c.setAttribute("disabled",!0);a.isDeletable()||a.isShadow()||c.setAttribute("deletable", -!1);a.isMovable()||a.isShadow()||c.setAttribute("movable",!1);a.isEditable()||c.setAttribute("editable",!1);if(d=a.getNextBlock())g=Blockly.Xml.blockToDom(d,b),g.nodeType==Blockly.utils.dom.NodeType.ELEMENT_NODE&&(h=Blockly.utils.xml.createElement("next"),h.appendChild(g),c.appendChild(h));g=a.nextConnection&&a.nextConnection.getShadowDom();!g||d&&d.isShadow()||h.appendChild(Blockly.Xml.cloneShadow_(g,b));return c}; -Blockly.Xml.cloneShadow_=function(a,b){for(var c=a=a.cloneNode(!0),d;c;)if(b&&"shadow"==c.nodeName&&c.removeAttribute("id"),c.firstChild)c=c.firstChild;else{for(;c&&!c.nextSibling;)d=c,c=c.parentNode,d.nodeType==Blockly.utils.dom.NodeType.TEXT_NODE&&""==d.data.trim()&&c.firstChild!=d&&Blockly.utils.dom.removeNode(d);c&&(d=c,c=c.nextSibling,d.nodeType==Blockly.utils.dom.NodeType.TEXT_NODE&&""==d.data.trim()&&Blockly.utils.dom.removeNode(d))}return a}; -Blockly.Xml.domToText=function(a){return Blockly.utils.xml.domToText(a).replace(/<(\w+)([^<]*)\/>/g,"<$1$2>")};Blockly.Xml.domToPrettyText=function(a){a=Blockly.Xml.domToText(a).split("<");for(var b="",c=1;c"!=d.slice(-2)&&(b+=" ")}a=a.join("\n");a=a.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1");return a.replace(/^\n/,"")}; -Blockly.Xml.textToDom=function(a){var b=Blockly.utils.xml.textToDomDocument(a);if(!b||!b.documentElement||b.getElementsByTagName("parsererror").length)throw Error("textToDom was unable to parse: "+a);return b.documentElement};Blockly.Xml.clearWorkspaceAndLoadFromXml=function(a,b){b.setResizesEnabled(!1);b.clear();a=Blockly.Xml.domToWorkspace(a,b);b.setResizesEnabled(!0);return a}; -Blockly.Xml.domToWorkspace=function(a,b){if(a instanceof Blockly.Workspace){var c=a;a=b;b=c;console.warn("Deprecated call to Blockly.Xml.domToWorkspace, swap the arguments.")}var d;b.RTL&&(d=b.getWidth());c=[];Blockly.utils.dom.startTextWidthCache();var e=Blockly.Events.getGroup();e||Blockly.Events.setGroup(!0);b.setResizesEnabled&&b.setResizesEnabled(!1);var f=!0;try{for(var g=0,h;h=a.childNodes[g];g++){var k=h.nodeName.toLowerCase(),l=h;if("block"==k||"shadow"==k&&!Blockly.Events.recordUndo){var m= -Blockly.Xml.domToBlock(l,b);c.push(m.id);var n=l.hasAttribute("x")?parseInt(l.getAttribute("x"),10):10,p=l.hasAttribute("y")?parseInt(l.getAttribute("y"),10):10;isNaN(n)||isNaN(p)||m.moveBy(b.RTL?d-n:n,p);f=!1}else{if("shadow"==k)throw TypeError("Shadow block cannot be a top-level block.");if("comment"==k)b.rendered?Blockly.WorkspaceCommentSvg?Blockly.WorkspaceCommentSvg.fromXml(l,b,d):console.warn("Missing require for Blockly.WorkspaceCommentSvg, ignoring workspace comment."):Blockly.WorkspaceComment? -Blockly.WorkspaceComment.fromXml(l,b):console.warn("Missing require for Blockly.WorkspaceComment, ignoring workspace comment.");else if("variables"==k){if(f)Blockly.Xml.domToVariables(l,b);else throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");f=!1}}}}finally{e||Blockly.Events.setGroup(!1),Blockly.utils.dom.stopTextWidthCache()}b.setResizesEnabled&&b.setResizesEnabled(!0);Blockly.Events.fire(new Blockly.Events.FinishedLoading(b)); -return c};Blockly.Xml.appendDomToWorkspace=function(a,b){var c;Object.prototype.hasOwnProperty.call(b,"scale")&&(c=b.getBlocksBoundingBox());a=Blockly.Xml.domToWorkspace(a,b);if(c&&c.top!=c.bottom){var d=c.bottom;var e=b.RTL?c.right:c.left;var f=Infinity,g=-Infinity,h=Infinity;for(c=0;cg&&(g=k.x)}d=d-h+10;e=b.RTL?e-g:e-f;for(c=0;c document.");}else a=null;return a};Blockly.Options=function(a){var b=!!a.readOnly;if(b)var c=null,d=!1,e=!1,f=!1,g=!1,h=!1,k=!1;else{c=Blockly.utils.toolbox.convertToolboxDefToJson(a.toolbox);d=Blockly.utils.toolbox.hasCategories(c);e=a.trashcan;void 0===e&&(e=d);var l=a.maxTrashcanContents;e?void 0===l&&(l=32):l=0;f=a.collapse;void 0===f&&(f=d);g=a.comments;void 0===g&&(g=d);h=a.disable;void 0===h&&(h=d);k=a.sounds;void 0===k&&(k=!0)}var m=!!a.rtl,n=a.horizontalLayout;void 0===n&&(n=!1);var p=a.toolboxPosition;p="end"!==p;p=n?p?Blockly.utils.toolbox.Position.TOP: Blockly.utils.toolbox.Position.BOTTOM:p==m?Blockly.utils.toolbox.Position.RIGHT:Blockly.utils.toolbox.Position.LEFT;var q=a.css;void 0===q&&(q=!0);var t="https://blockly-demo.appspot.com/static/media/";a.media?t=a.media:a.path&&(t=a.path+"media/");var r=void 0===a.oneBasedIndex?!0:!!a.oneBasedIndex,u=a.renderer||"geras",v=a.plugins||{};this.RTL=m;this.oneBasedIndex=r;this.collapse=f;this.comments=g;this.disable=h;this.readOnly=b;this.maxBlocks=a.maxBlocks||Infinity;this.maxInstances=a.maxInstances; -this.pathToMedia=t;this.hasCategories=d;this.moveOptions=Blockly.Options.parseMoveOptions_(a,d);this.hasScrollbars=this.moveOptions.scrollbars;this.hasTrashcan=e;this.maxTrashcanContents=l;this.hasSounds=k;this.hasCss=q;this.horizontalLayout=n;this.languageTree=c;this.gridOptions=Blockly.Options.parseGridOptions_(a);this.zoomOptions=Blockly.Options.parseZoomOptions_(a);this.toolboxPosition=p;this.theme=Blockly.Options.parseThemeOptions_(a);this.renderer=u;this.rendererOverrides=a.rendererOverrides; -this.gridPattern=null;this.parentWorkspace=a.parentWorkspace;this.plugins=v};Blockly.BlocklyOptions=function(){};Blockly.Options.parseMoveOptions_=function(a,b){var c=a.move||{},d={};d.scrollbars=void 0===c.scrollbars&&void 0===a.scrollbars?b:!!c.scrollbars||!!a.scrollbars;d.wheel=d.scrollbars&&void 0!==c.wheel?!!c.wheel:!1;d.drag=d.scrollbars?void 0===c.drag?!0:!!c.drag:!1;return d}; +this.pathToMedia=t;this.hasCategories=d;this.moveOptions=Blockly.Options.parseMoveOptions_(a,d);this.hasScrollbars=!!this.moveOptions.scrollbars;this.hasTrashcan=e;this.maxTrashcanContents=l;this.hasSounds=k;this.hasCss=q;this.horizontalLayout=n;this.languageTree=c;this.gridOptions=Blockly.Options.parseGridOptions_(a);this.zoomOptions=Blockly.Options.parseZoomOptions_(a);this.toolboxPosition=p;this.theme=Blockly.Options.parseThemeOptions_(a);this.renderer=u;this.rendererOverrides=a.rendererOverrides; +this.gridPattern=null;this.parentWorkspace=a.parentWorkspace;this.plugins=v};Blockly.BlocklyOptions=function(){}; +Blockly.Options.parseMoveOptions_=function(a,b){var c=a.move||{},d={};void 0===c.scrollbars&&void 0===a.scrollbars?d.scrollbars=b:"object"==typeof c.scrollbars?(d.scrollbars={},d.scrollbars.horizontal=!!c.scrollbars.horizontal,d.scrollbars.vertical=!!c.scrollbars.vertical,d.scrollbars.horizontal&&d.scrollbars.vertical?d.scrollbars=!0:d.scrollbars.horizontal||d.scrollbars.vertical||(d.scrollbars=!1)):d.scrollbars=!!c.scrollbars||!!a.scrollbars;d.wheel=d.scrollbars&&void 0!==c.wheel?!!c.wheel:"object"== +typeof d.scrollbars;d.drag=d.scrollbars?void 0===c.drag?!0:!!c.drag:!1;return d}; Blockly.Options.parseZoomOptions_=function(a){a=a.zoom||{};var b={};b.controls=void 0===a.controls?!1:!!a.controls;b.wheel=void 0===a.wheel?!1:!!a.wheel;b.startScale=void 0===a.startScale?1:Number(a.startScale);b.maxScale=void 0===a.maxScale?3:Number(a.maxScale);b.minScale=void 0===a.minScale?.3:Number(a.minScale);b.scaleSpeed=void 0===a.scaleSpeed?1.2:Number(a.scaleSpeed);b.pinch=void 0===a.pinch?b.wheel||b.controls:!!a.pinch;return b}; Blockly.Options.parseGridOptions_=function(a){a=a.grid||{};var b={};b.spacing=Number(a.spacing)||0;b.colour=a.colour||"#888";b.length=void 0===a.length?1:Number(a.length);b.snap=0=a||isNaN(a)?0:Math.min(a,this.scrollbarLength_)};Blockly.Scrollbar.prototype.setHandleLength_=function(a){this.handleLength_=a;this.svgHandle_.setAttribute(this.lengthAttribute_,this.handleLength_)};Blockly.Scrollbar.prototype.constrainHandlePosition_=function(a){return a=0>=a||isNaN(a)?0:Math.min(a,this.scrollbarLength_-this.handleLength_)}; +Blockly.Scrollbar.prototype.setHandlePosition=function(a){this.handlePosition_=a;this.svgHandle_.setAttribute(this.positionAttribute_,this.handlePosition_)};Blockly.Scrollbar.prototype.setScrollbarLength_=function(a){this.scrollbarLength_=a;this.outerSvg_.setAttribute(this.lengthAttribute_,this.scrollbarLength_);this.svgBackground_.setAttribute(this.lengthAttribute_,this.scrollbarLength_)}; +Blockly.Scrollbar.prototype.setPosition=function(a,b){this.position.x=a;this.position.y=b;Blockly.utils.dom.setCssTransform(this.outerSvg_,"translate("+(this.position.x+this.origin_.x)+"px,"+(this.position.y+this.origin_.y)+"px)")};Blockly.Scrollbar.prototype.resize=function(a){if(!a&&(a=this.workspace_.getMetrics(),!a))return;Blockly.Scrollbar.metricsAreEquivalent_(a,this.oldHostMetrics_)||(this.horizontal_?this.resizeHorizontal_(a):this.resizeVertical_(a),this.oldHostMetrics_=a,this.updateMetrics_())}; +Blockly.Scrollbar.prototype.requiresViewResize_=function(a){return this.oldHostMetrics_?this.oldHostMetrics_.viewWidth!==a.viewWidth||this.oldHostMetrics_.viewHeight!==a.viewHeight||this.oldHostMetrics_.absoluteLeft!==a.absoluteLeft||this.oldHostMetrics_.absoluteTop!==a.absoluteTop:!0};Blockly.Scrollbar.prototype.resizeHorizontal_=function(a){this.requiresViewResize_(a)?this.resizeViewHorizontal(a):this.resizeContentHorizontal(a)}; +Blockly.Scrollbar.prototype.resizeViewHorizontal=function(a){var b=a.viewWidth-2*Blockly.Scrollbar.SCROLLBAR_MARGIN;this.pair_&&(b-=Blockly.Scrollbar.scrollbarThickness);this.setScrollbarLength_(Math.max(0,b));b=a.absoluteLeft+Blockly.Scrollbar.SCROLLBAR_MARGIN;this.pair_&&this.workspace_.RTL&&(b+=Blockly.Scrollbar.scrollbarThickness);this.setPosition(b,a.absoluteTop+a.viewHeight-Blockly.Scrollbar.scrollbarThickness-Blockly.Scrollbar.SCROLLBAR_MARGIN);this.resizeContentHorizontal(a)}; +Blockly.Scrollbar.prototype.resizeContentHorizontal=function(a){if(a.viewWidth>=a.scrollWidth)this.setHandleLength_(this.scrollbarLength_),this.setHandlePosition(0),this.pair_||this.setVisible(!1);else{this.pair_||this.setVisible(!0);var b=this.scrollbarLength_*a.viewWidth/a.scrollWidth;b=this.constrainHandleLength_(b);this.setHandleLength_(b);b=a.scrollWidth-a.viewWidth;var c=this.scrollbarLength_-this.handleLength_;a=(a.viewLeft-a.scrollLeft)/b*c;a=this.constrainHandlePosition_(a);this.setHandlePosition(a); +this.ratio=c/b}};Blockly.Scrollbar.prototype.resizeVertical_=function(a){this.requiresViewResize_(a)?this.resizeViewVertical(a):this.resizeContentVertical(a)}; +Blockly.Scrollbar.prototype.resizeViewVertical=function(a){var b=a.viewHeight-2*Blockly.Scrollbar.SCROLLBAR_MARGIN;this.pair_&&(b-=Blockly.Scrollbar.scrollbarThickness);this.setScrollbarLength_(Math.max(0,b));this.setPosition(this.workspace_.RTL?a.absoluteLeft+Blockly.Scrollbar.SCROLLBAR_MARGIN:a.absoluteLeft+a.viewWidth-Blockly.Scrollbar.scrollbarThickness-Blockly.Scrollbar.SCROLLBAR_MARGIN,a.absoluteTop+Blockly.Scrollbar.SCROLLBAR_MARGIN);this.resizeContentVertical(a)}; +Blockly.Scrollbar.prototype.resizeContentVertical=function(a){if(a.viewHeight>=a.scrollHeight)this.setHandleLength_(this.scrollbarLength_),this.setHandlePosition(0),this.pair_||this.setVisible(!1);else{this.pair_||this.setVisible(!0);var b=this.scrollbarLength_*a.viewHeight/a.scrollHeight;b=this.constrainHandleLength_(b);this.setHandleLength_(b);b=a.scrollHeight-a.viewHeight;var c=this.scrollbarLength_-this.handleLength_;a=(a.viewTop-a.scrollTop)/b*c;a=this.constrainHandlePosition_(a);this.setHandlePosition(a); +this.ratio=c/b}}; Blockly.Scrollbar.prototype.createDom_=function(a){var b="blocklyScrollbar"+(this.horizontal_?"Horizontal":"Vertical");a&&(b+=" "+a);this.outerSvg_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.SVG,{"class":b},null);this.svgGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{},this.outerSvg_);this.svgBackground_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":"blocklyScrollbarBackground"},this.svgGroup_);a=Math.floor((Blockly.Scrollbar.scrollbarThickness-5)/2); this.svgHandle_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":"blocklyScrollbarHandle",rx:a,ry:a},this.svgGroup_);this.workspace_.getThemeManager().subscribe(this.svgHandle_,"scrollbarColour","fill");this.workspace_.getThemeManager().subscribe(this.svgHandle_,"scrollbarOpacity","fill-opacity");Blockly.utils.dom.insertAfter(this.outerSvg_,this.workspace_.getParentSvg())};Blockly.Scrollbar.prototype.isVisible=function(){return this.isVisible_}; Blockly.Scrollbar.prototype.setContainerVisible=function(a){var b=a!=this.containerVisible_;this.containerVisible_=a;b&&this.updateDisplay_()};Blockly.Scrollbar.prototype.setVisible=function(a){var b=a!=this.isVisible();if(this.pair_)throw Error("Unable to toggle visibility of paired scrollbars.");this.isVisible_=a;b&&this.updateDisplay_()}; Blockly.Scrollbar.prototype.updateDisplay_=function(){this.containerVisible_&&this.isVisible()?this.outerSvg_.setAttribute("display","block"):this.outerSvg_.setAttribute("display","none")}; Blockly.Scrollbar.prototype.onMouseDownBar_=function(a){this.workspace_.markFocused();Blockly.Touch.clearTouchIdentifier();this.cleanUp_();if(Blockly.utils.isRightButton(a))a.stopPropagation();else{var b=Blockly.utils.mouseToSvg(a,this.workspace_.getParentSvg(),this.workspace_.getInverseScreenCTM());b=this.horizontal_?b.x:b.y;var c=Blockly.utils.getInjectionDivXY_(this.svgHandle_);c=this.horizontal_?c.x:c.y;var d=this.handlePosition_,e=.95*this.handleLength_;b<=c?d-=e:b>=c+this.handleLength_&&(d+= -e);this.setHandlePosition(this.constrainHandle_(d));this.onScroll_();a.stopPropagation();a.preventDefault()}}; -Blockly.Scrollbar.prototype.onMouseDownHandle_=function(a){this.workspace_.markFocused();this.cleanUp_();Blockly.utils.isRightButton(a)?a.stopPropagation():(this.startDragHandle=this.handlePosition_,this.workspace_.setupDragSurface(),this.startDragMouse_=this.horizontal_?a.clientX:a.clientY,Blockly.Scrollbar.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,this.onMouseUpHandle_),Blockly.Scrollbar.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.onMouseMoveHandle_), -a.stopPropagation(),a.preventDefault())};Blockly.Scrollbar.prototype.onMouseMoveHandle_=function(a){this.setHandlePosition(this.constrainHandle_(this.startDragHandle+((this.horizontal_?a.clientX:a.clientY)-this.startDragMouse_)));this.onScroll_()};Blockly.Scrollbar.prototype.onMouseUpHandle_=function(){this.workspace_.resetDragSurface();Blockly.Touch.clearTouchIdentifier();this.cleanUp_()}; -Blockly.Scrollbar.prototype.cleanUp_=function(){Blockly.hideChaff(!0);Blockly.Scrollbar.onMouseUpWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseUpWrapper_),Blockly.Scrollbar.onMouseUpWrapper_=null);Blockly.Scrollbar.onMouseMoveWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseMoveWrapper_),Blockly.Scrollbar.onMouseMoveWrapper_=null)}; -Blockly.Scrollbar.prototype.constrainHandle_=function(a){return a=0>=a||isNaN(a)||this.scrollViewSize_Blockly.Tooltip.RADIUS_OK&&Blockly.Tooltip.hide()}else Blockly.Tooltip.poisonedElement_!=Blockly.Tooltip.element_&&(clearTimeout(Blockly.Tooltip.showPid_),Blockly.Tooltip.lastX_=a.pageX,Blockly.Tooltip.lastY_=a.pageY,Blockly.Tooltip.showPid_=setTimeout(Blockly.Tooltip.show_, Blockly.Tooltip.HOVER_MS))};Blockly.Tooltip.dispose=function(){Blockly.Tooltip.element_=null;Blockly.Tooltip.poisonedElement_=null;Blockly.Tooltip.hide()};Blockly.Tooltip.hide=function(){Blockly.Tooltip.visible&&(Blockly.Tooltip.visible=!1,Blockly.Tooltip.DIV&&(Blockly.Tooltip.DIV.style.display="none"));Blockly.Tooltip.showPid_&&clearTimeout(Blockly.Tooltip.showPid_)};Blockly.Tooltip.block=function(){Blockly.Tooltip.hide();Blockly.Tooltip.blocked_=!0}; Blockly.Tooltip.unblock=function(){Blockly.Tooltip.blocked_=!1}; Blockly.Tooltip.show_=function(){if(!Blockly.Tooltip.blocked_&&(Blockly.Tooltip.poisonedElement_=Blockly.Tooltip.element_,Blockly.Tooltip.DIV)){Blockly.Tooltip.DIV.textContent="";var a=Blockly.Tooltip.getTooltipOfObject(Blockly.Tooltip.element_);a=Blockly.utils.string.wrap(a,Blockly.Tooltip.LIMIT);a=a.split("\n");for(var b=0;bc+window.scrollY&&(e-=Blockly.Tooltip.DIV.offsetHeight+2*Blockly.Tooltip.OFFSET_Y);a?d=Math.max(Blockly.Tooltip.MARGINS-window.scrollX, -d):d+Blockly.Tooltip.DIV.offsetWidth>b+window.scrollX-2*Blockly.Tooltip.MARGINS&&(d=b-Blockly.Tooltip.DIV.offsetWidth-2*Blockly.Tooltip.MARGINS);Blockly.Tooltip.DIV.style.top=e+"px";Blockly.Tooltip.DIV.style.left=d+"px"}};Blockly.WorkspaceDragSurfaceSvg=function(a){this.container_=a;this.createDom()};Blockly.WorkspaceDragSurfaceSvg.prototype.SVG_=null;Blockly.WorkspaceDragSurfaceSvg.prototype.container_=null; +d):d+Blockly.Tooltip.DIV.offsetWidth>b+window.scrollX-2*Blockly.Tooltip.MARGINS&&(d=b-Blockly.Tooltip.DIV.offsetWidth-2*Blockly.Tooltip.MARGINS);Blockly.Tooltip.DIV.style.top=e+"px";Blockly.Tooltip.DIV.style.left=d+"px"}};Blockly.utils.aria={};Blockly.utils.aria.ARIA_PREFIX_="aria-";Blockly.utils.aria.ROLE_ATTRIBUTE_="role";Blockly.utils.aria.Role={GRID:"grid",GRIDCELL:"gridcell",GROUP:"group",LISTBOX:"listbox",MENU:"menu",MENUITEM:"menuitem",MENUITEMCHECKBOX:"menuitemcheckbox",OPTION:"option",PRESENTATION:"presentation",ROW:"row",TREE:"tree",TREEITEM:"treeitem"}; +Blockly.utils.aria.State={ACTIVEDESCENDANT:"activedescendant",COLCOUNT:"colcount",DISABLED:"disabled",EXPANDED:"expanded",INVALID:"invalid",LABEL:"label",LABELLEDBY:"labelledby",LEVEL:"level",ORIENTATION:"orientation",POSINSET:"posinset",ROWCOUNT:"rowcount",SELECTED:"selected",SETSIZE:"setsize",VALUEMAX:"valuemax",VALUEMIN:"valuemin"};Blockly.utils.aria.setRole=function(a,b){a.setAttribute(Blockly.utils.aria.ROLE_ATTRIBUTE_,b)}; +Blockly.utils.aria.setState=function(a,b,c){Array.isArray(c)&&(c=c.join(" "));a.setAttribute(Blockly.utils.aria.ARIA_PREFIX_+b,c)};Blockly.WorkspaceDragSurfaceSvg=function(a){this.container_=a;this.createDom()};Blockly.WorkspaceDragSurfaceSvg.prototype.SVG_=null;Blockly.WorkspaceDragSurfaceSvg.prototype.container_=null; Blockly.WorkspaceDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.SVG,{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1","class":"blocklyWsDragSurface blocklyOverflowVisible"},null),this.container_.appendChild(this.SVG_))}; Blockly.WorkspaceDragSurfaceSvg.prototype.translateSurface=function(a,b){a=a.toFixed(0);b=b.toFixed(0);this.SVG_.style.display="block";Blockly.utils.dom.setCssTransform(this.SVG_,"translate3d("+a+"px, "+b+"px, 0px)")};Blockly.WorkspaceDragSurfaceSvg.prototype.getSurfaceTranslation=function(){return Blockly.utils.getRelativeXY(this.SVG_)}; Blockly.WorkspaceDragSurfaceSvg.prototype.clearAndHide=function(a){if(!a)throw Error("Couldn't clear and hide the drag surface: missing new surface.");var b=this.SVG_.childNodes[0],c=this.SVG_.childNodes[1];if(!(b&&c&&Blockly.utils.dom.hasClass(b,"blocklyBlockCanvas")&&Blockly.utils.dom.hasClass(c,"blocklyBubbleCanvas")))throw Error("Couldn't clear and hide the drag surface. A node was missing.");null!=this.previousSibling_?Blockly.utils.dom.insertAfter(b,this.previousSibling_):a.insertBefore(b,a.firstChild); Blockly.utils.dom.insertAfter(c,b);this.SVG_.style.display="none";if(this.SVG_.childNodes.length)throw Error("Drag surface was not cleared.");Blockly.utils.dom.setCssTransform(this.SVG_,"");this.previousSibling_=null}; -Blockly.WorkspaceDragSurfaceSvg.prototype.setContentsAndShow=function(a,b,c,d,e,f){if(this.SVG_.childNodes.length)throw Error("Already dragging a block.");this.previousSibling_=c;a.setAttribute("transform","translate(0, 0) scale("+f+")");b.setAttribute("transform","translate(0, 0) scale("+f+")");this.SVG_.setAttribute("width",d);this.SVG_.setAttribute("height",e);this.SVG_.appendChild(a);this.SVG_.appendChild(b);this.SVG_.style.display="block"};Blockly.ASTNode=function(a,b,c){if(!b)throw Error("Cannot create a node without a location.");this.type_=a;this.isConnection_=Blockly.ASTNode.isConnectionType_(a);this.location_=b;this.wsCoordinate_=null;this.processParams_(c||null)};Blockly.ASTNode.types={FIELD:"field",BLOCK:"block",INPUT:"input",OUTPUT:"output",NEXT:"next",PREVIOUS:"previous",STACK:"stack",WORKSPACE:"workspace"};Blockly.ASTNode.NAVIGATE_ALL_FIELDS=!1;Blockly.ASTNode.DEFAULT_OFFSET_Y=-20;Blockly.ASTNode.isConnectionType_=function(a){switch(a){case Blockly.ASTNode.types.PREVIOUS:case Blockly.ASTNode.types.NEXT:case Blockly.ASTNode.types.INPUT:case Blockly.ASTNode.types.OUTPUT:return!0}return!1}; +Blockly.WorkspaceDragSurfaceSvg.prototype.setContentsAndShow=function(a,b,c,d,e,f){if(this.SVG_.childNodes.length)throw Error("Already dragging a block.");this.previousSibling_=c;a.setAttribute("transform","translate(0, 0) scale("+f+")");b.setAttribute("transform","translate(0, 0) scale("+f+")");this.SVG_.setAttribute("width",d);this.SVG_.setAttribute("height",e);this.SVG_.appendChild(a);this.SVG_.appendChild(b);this.SVG_.style.display="block"};Blockly.blockRendering={};Blockly.blockRendering.useDebugger=!1;Blockly.blockRendering.register=function(a,b){Blockly.registry.register(Blockly.registry.Type.RENDERER,a,b)};Blockly.blockRendering.unregister=function(a){Blockly.registry.unregister(Blockly.registry.Type.RENDERER,a)};Blockly.blockRendering.startDebugger=function(){Blockly.blockRendering.useDebugger=!0};Blockly.blockRendering.stopDebugger=function(){Blockly.blockRendering.useDebugger=!1}; +Blockly.blockRendering.init=function(a,b,c){a=new (Blockly.registry.getClass(Blockly.registry.Type.RENDERER,a))(a);a.init(b,c);return a};Blockly.ASTNode=function(a,b,c){if(!b)throw Error("Cannot create a node without a location.");this.type_=a;this.isConnection_=Blockly.ASTNode.isConnectionType_(a);this.location_=b;this.wsCoordinate_=null;this.processParams_(c||null)};Blockly.ASTNode.types={FIELD:"field",BLOCK:"block",INPUT:"input",OUTPUT:"output",NEXT:"next",PREVIOUS:"previous",STACK:"stack",WORKSPACE:"workspace"};Blockly.ASTNode.NAVIGATE_ALL_FIELDS=!1;Blockly.ASTNode.DEFAULT_OFFSET_Y=-20;Blockly.ASTNode.isConnectionType_=function(a){switch(a){case Blockly.ASTNode.types.PREVIOUS:case Blockly.ASTNode.types.NEXT:case Blockly.ASTNode.types.INPUT:case Blockly.ASTNode.types.OUTPUT:return!0}return!1}; Blockly.ASTNode.createFieldNode=function(a){return a?new Blockly.ASTNode(Blockly.ASTNode.types.FIELD,a):null}; -Blockly.ASTNode.createConnectionNode=function(a){return a?a.type==Blockly.INPUT_VALUE||a.type==Blockly.NEXT_STATEMENT&&a.getParentInput()?Blockly.ASTNode.createInputNode(a.getParentInput()):a.type==Blockly.NEXT_STATEMENT?new Blockly.ASTNode(Blockly.ASTNode.types.NEXT,a):a.type==Blockly.OUTPUT_VALUE?new Blockly.ASTNode(Blockly.ASTNode.types.OUTPUT,a):a.type==Blockly.PREVIOUS_STATEMENT?new Blockly.ASTNode(Blockly.ASTNode.types.PREVIOUS,a):null:null}; -Blockly.ASTNode.createInputNode=function(a){return a&&a.connection?new Blockly.ASTNode(Blockly.ASTNode.types.INPUT,a.connection):null};Blockly.ASTNode.createBlockNode=function(a){return a?new Blockly.ASTNode(Blockly.ASTNode.types.BLOCK,a):null};Blockly.ASTNode.createStackNode=function(a){return a?new Blockly.ASTNode(Blockly.ASTNode.types.STACK,a):null};Blockly.ASTNode.createWorkspaceNode=function(a,b){return b&&a?new Blockly.ASTNode(Blockly.ASTNode.types.WORKSPACE,a,{wsCoordinate:b}):null}; +Blockly.ASTNode.createConnectionNode=function(a){if(!a)return null;var b=a.type;return b==Blockly.connectionTypes.INPUT_VALUE||b==Blockly.connectionTypes.NEXT_STATEMENT&&a.getParentInput()?Blockly.ASTNode.createInputNode(a.getParentInput()):b==Blockly.connectionTypes.NEXT_STATEMENT?new Blockly.ASTNode(Blockly.ASTNode.types.NEXT,a):b==Blockly.connectionTypes.OUTPUT_VALUE?new Blockly.ASTNode(Blockly.ASTNode.types.OUTPUT,a):b==Blockly.connectionTypes.PREVIOUS_STATEMENT?new Blockly.ASTNode(Blockly.ASTNode.types.PREVIOUS, +a):null};Blockly.ASTNode.createInputNode=function(a){return a&&a.connection?new Blockly.ASTNode(Blockly.ASTNode.types.INPUT,a.connection):null};Blockly.ASTNode.createBlockNode=function(a){return a?new Blockly.ASTNode(Blockly.ASTNode.types.BLOCK,a):null};Blockly.ASTNode.createStackNode=function(a){return a?new Blockly.ASTNode(Blockly.ASTNode.types.STACK,a):null};Blockly.ASTNode.createWorkspaceNode=function(a,b){return b&&a?new Blockly.ASTNode(Blockly.ASTNode.types.WORKSPACE,a,{wsCoordinate:b}):null}; Blockly.ASTNode.createTopNode=function(a){var b=a.previousConnection||a.outputConnection;return b?Blockly.ASTNode.createConnectionNode(b):Blockly.ASTNode.createBlockNode(a)};Blockly.ASTNode.prototype.processParams_=function(a){a&&a.wsCoordinate&&(this.wsCoordinate_=a.wsCoordinate)};Blockly.ASTNode.prototype.getLocation=function(){return this.location_};Blockly.ASTNode.prototype.getType=function(){return this.type_};Blockly.ASTNode.prototype.getWsCoordinate=function(){return this.wsCoordinate_}; Blockly.ASTNode.prototype.isConnection=function(){return this.isConnection_};Blockly.ASTNode.prototype.findNextForInput_=function(){var a=this.location_.getParentInput(),b=a.getSourceBlock();a=b.inputList.indexOf(a)+1;for(var c;c=b.inputList[a];a++){for(var d=c.fieldRow,e=0,f;f=d[e];e++)if(f.isClickable()||Blockly.ASTNode.NAVIGATE_ALL_FIELDS)return Blockly.ASTNode.createFieldNode(f);if(c.connection)return Blockly.ASTNode.createInputNode(c)}return null}; Blockly.ASTNode.prototype.findNextForField_=function(){var a=this.location_,b=a.getParentInput(),c=a.getSourceBlock(),d=c.inputList.indexOf(b);for(a=b.fieldRow.indexOf(a)+1;b=c.inputList[d];d++){for(var e=b.fieldRow;ab-Blockly.CURRENT_CONNECTION_PREFERENCE)}if(this.localConnection_||this.closestConnection_)console.error("Only one of localConnection_ and closestConnection_ was set."); else return!0}else return!(!this.localConnection_||!this.closestConnection_);console.error("Returning true from shouldUpdatePreviews, but it's not clear why.");return!0};Blockly.InsertionMarkerManager.prototype.getCandidate_=function(a){for(var b=this.getStartRadius_(),c=null,d=null,e=0;ec||b.getSourceBlock().isInsertionMarker())return!1;switch(b.type){case Blockly.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(a,b);case Blockly.OUTPUT_VALUE:if(b.isConnected()&&!b.targetBlock().isInsertionMarker()||a.isConnected())return!1;break;case Blockly.INPUT_VALUE:if(b.isConnected()&&!b.targetBlock().isMovable()&&!b.targetBlock().isShadow())return!1;break;case Blockly.NEXT_STATEMENT:if(b.isConnected()&& -!a.getSourceBlock().nextConnection&&!b.targetBlock().isShadow()&&b.targetBlock().nextConnection)return!1;break;default:return!1}return-1!=Blockly.draggingConnections.indexOf(b)?!1:!0};Blockly.ConnectionChecker.prototype.canConnectToPrevious_=function(a,b){if(a.targetConnection||-1!=Blockly.draggingConnections.indexOf(b))return!1;if(!b.targetConnection)return!0;a=b.targetBlock();return a.isInsertionMarker()?!a.getPreviousBlock():!1}; +Blockly.ConnectionChecker.prototype.doDragChecks=function(a,b,c){if(a.distanceFrom(b)>c||b.getSourceBlock().isInsertionMarker())return!1;switch(b.type){case Blockly.connectionTypes.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(a,b);case Blockly.connectionTypes.OUTPUT_VALUE:if(b.isConnected()&&!b.targetBlock().isInsertionMarker()||a.isConnected())return!1;break;case Blockly.connectionTypes.INPUT_VALUE:if(b.isConnected()&&!b.targetBlock().isMovable()&&!b.targetBlock().isShadow())return!1;break; +case Blockly.connectionTypes.NEXT_STATEMENT:if(b.isConnected()&&!a.getSourceBlock().nextConnection&&!b.targetBlock().isShadow()&&b.targetBlock().nextConnection)return!1;break;default:return!1}return-1!=Blockly.draggingConnections.indexOf(b)?!1:!0};Blockly.ConnectionChecker.prototype.canConnectToPrevious_=function(a,b){if(a.targetConnection||-1!=Blockly.draggingConnections.indexOf(b))return!1;if(!b.targetConnection)return!0;a=b.targetBlock();return a.isInsertionMarker()?!a.getPreviousBlock():!1}; Blockly.registry.register(Blockly.registry.Type.CONNECTION_CHECKER,Blockly.registry.DEFAULT,Blockly.ConnectionChecker);Blockly.VariableMap=function(a){this.variableMap_=Object.create(null);this.workspace=a};Blockly.VariableMap.prototype.clear=function(){this.variableMap_=Object.create(null)};Blockly.VariableMap.prototype.renameVariable=function(a,b){var c=this.getVariable(b,a.type),d=this.workspace.getAllBlocks(!1);Blockly.Events.setGroup(!0);try{c&&c.getId()!=a.getId()?this.renameVariableWithConflict_(a,b,c,d):this.renameVariableAndUses_(a,b,d)}finally{Blockly.Events.setGroup(!1)}}; -Blockly.VariableMap.prototype.renameVariableById=function(a,b){var c=this.getVariableById(a);if(!c)throw Error("Tried to rename a variable that didn't exist. ID: "+a);this.renameVariable(c,b)};Blockly.VariableMap.prototype.renameVariableAndUses_=function(a,b,c){Blockly.Events.fire(new Blockly.Events.VarRename(a,b));a.name=b;for(b=0;ba.viewWidth)return b;if(this.workspace_.RTL)var c=this.anchorXY_.x-b,d=c-this.width_,e=a.viewLeft+a.viewWidth,f=a.viewLeft+Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;else d=b+this.anchorXY_.x,c=d+this.width_,f=a.viewLeft,e=a.viewLeft+a.viewWidth-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;this.workspace_.RTL?de&&(b=-(e-this.anchorXY_.x)): -de&&(b=e-this.anchorXY_.x-this.width_);return b};Blockly.Bubble.prototype.getOptimalRelativeTop_=function(a){var b=-this.height_/4;if(this.height_>a.viewHeight)return b;var c=this.anchorXY_.y+b,d=c+this.height_,e=a.viewTop;a=a.viewTop+a.viewHeight-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;var f=this.anchorXY_.y;ca&&(b=a-f-this.height_);return b}; +Blockly.Bubble.prototype.layoutBubble_=function(){var a=this.workspace_.getMetricsManager().getViewMetrics(!0),b=this.getOptimalRelativeLeft_(a),c=this.getOptimalRelativeTop_(a),d=this.shape_.getBBox(),e={x:b,y:-this.height_-this.workspace_.getRenderer().getConstants().MIN_BLOCK_HEIGHT},f={x:-this.width_-30,y:c};c={x:d.width,y:c};var g={x:b,y:d.height};b=d.widtha.width)return b;if(this.workspace_.RTL)var c=this.anchorXY_.x-b,d=c-this.width_,e=a.left+a.width,f=a.left+Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;else d=b+this.anchorXY_.x,c=d+this.width_,f=a.left,e=a.left+a.width-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;this.workspace_.RTL?de&&(b=-(e-this.anchorXY_.x)):de&&(b=e-this.anchorXY_.x-this.width_);return b};Blockly.Bubble.prototype.getOptimalRelativeTop_=function(a){var b=-this.height_/4;if(this.height_>a.height)return b;var c=this.anchorXY_.y+b,d=c+this.height_,e=a.top;a=a.top+a.height-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;var f=this.anchorXY_.y;ca&&(b=a-f-this.height_);return b}; Blockly.Bubble.prototype.positionBubble_=function(){var a=this.anchorXY_.x;a=this.workspace_.RTL?a-(this.relativeLeft_+this.width_):a+this.relativeLeft_;this.moveTo(a,this.relativeTop_+this.anchorXY_.y)};Blockly.Bubble.prototype.moveTo=function(a,b){this.bubbleGroup_.setAttribute("transform","translate("+a+","+b+")")};Blockly.Bubble.prototype.setDragging=function(a){!a&&this.moveCallback_&&this.moveCallback_()}; Blockly.Bubble.prototype.getBubbleSize=function(){return new Blockly.utils.Size(this.width_,this.height_)}; Blockly.Bubble.prototype.setBubbleSize=function(a,b){var c=2*Blockly.Bubble.BORDER_WIDTH;a=Math.max(a,c+45);b=Math.max(b,c+20);this.width_=a;this.height_=b;this.bubbleBack_.setAttribute("width",a);this.bubbleBack_.setAttribute("height",b);this.resizeGroup_&&(this.workspace_.RTL?this.resizeGroup_.setAttribute("transform","translate("+2*Blockly.Bubble.BORDER_WIDTH+","+(b-c)+") scale(-1 1)"):this.resizeGroup_.setAttribute("transform","translate("+(a-c)+","+(b-c)+")"));this.autoLayout_&&this.layoutBubble_(); this.positionBubble_();this.renderArrow_();this.resizeCallback_&&this.resizeCallback_()}; Blockly.Bubble.prototype.renderArrow_=function(){var a=[],b=this.width_/2,c=this.height_/2,d=-this.relativeLeft_,e=-this.relativeTop_;if(b==d&&c==e)a.push("M "+b+","+c);else{e-=c;d-=b;this.workspace_.RTL&&(d*=-1);var f=Math.sqrt(e*e+d*d),g=Math.acos(d/f);0>e&&(g=2*Math.PI-g);var h=g+Math.PI/2;h>2*Math.PI&&(h-=2*Math.PI);var k=Math.sin(h),l=Math.cos(h),m=this.getBubbleSize();h=(m.width+m.height)/Blockly.Bubble.ARROW_THICKNESS;h=Math.min(h,m.width,m.height)/4;m=1-Blockly.Bubble.ANCHOR_RADIUS/f;d=b+ m*d;e=c+m*e;m=b+h*l;var n=c+h*k;b-=h*l;c-=h*k;k=g+this.arrow_radians_;k>2*Math.PI&&(k-=2*Math.PI);g=Math.sin(k)*f/Blockly.Bubble.ARROW_BEND;f=Math.cos(k)*f/Blockly.Bubble.ARROW_BEND;a.push("M"+m+","+n);a.push("C"+(m+f)+","+(n+g)+" "+d+","+e+" "+d+","+e);a.push("C"+d+","+e+" "+(b+f)+","+(c+g)+" "+b+","+c)}a.push("z");this.bubbleArrow_.setAttribute("d",a.join(" "))};Blockly.Bubble.prototype.setColour=function(a){this.bubbleBack_.setAttribute("fill",a);this.bubbleArrow_.setAttribute("fill",a)}; -Blockly.Bubble.prototype.dispose=function(){this.onMouseDownBubbleWrapper_&&Blockly.unbindEvent_(this.onMouseDownBubbleWrapper_);this.onMouseDownResizeWrapper_&&Blockly.unbindEvent_(this.onMouseDownResizeWrapper_);Blockly.Bubble.unbindDragEvents_();Blockly.utils.dom.removeNode(this.bubbleGroup_);this.disposed=!0}; +Blockly.Bubble.prototype.dispose=function(){this.onMouseDownBubbleWrapper_&&Blockly.browserEvents.unbind(this.onMouseDownBubbleWrapper_);this.onMouseDownResizeWrapper_&&Blockly.browserEvents.unbind(this.onMouseDownResizeWrapper_);Blockly.Bubble.unbindDragEvents_();Blockly.utils.dom.removeNode(this.bubbleGroup_);this.disposed=!0}; Blockly.Bubble.prototype.moveDuringDrag=function(a,b){a?a.translateSurface(b.x,b.y):this.moveTo(b.x,b.y);this.relativeLeft_=this.workspace_.RTL?this.anchorXY_.x-b.x-this.width_:b.x-this.anchorXY_.x;this.relativeTop_=b.y-this.anchorXY_.y;this.renderArrow_()};Blockly.Bubble.prototype.getRelativeToSurfaceXY=function(){return new Blockly.utils.Coordinate(this.workspace_.RTL?-this.relativeLeft_+this.anchorXY_.x-this.width_:this.anchorXY_.x+this.relativeLeft_,this.anchorXY_.y+this.relativeTop_)}; Blockly.Bubble.prototype.setAutoLayout=function(a){this.autoLayout_=a};Blockly.Bubble.textToDom=function(a){var b=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.TEXT,{"class":"blocklyText blocklyBubbleText blocklyNoPointerEvents",y:Blockly.Bubble.BORDER_WIDTH},null);a=a.split("\n");for(var c=0;c(this.flyout_?Blockly.FLYOUT_DRAG_RADIUS:Blockly.DRAG_RADIUS)}; Blockly.Gesture.prototype.updateIsDraggingFromFlyout_=function(){return this.targetBlock_&&this.flyout_.isBlockCreatable_(this.targetBlock_)?!this.flyout_.isScrollable()||this.flyout_.isDragTowardWorkspace(this.currentDragDeltaXY_)?(this.startWorkspace_=this.flyout_.targetWorkspace,this.startWorkspace_.updateScreenCalculationsIfScrolled(),Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.startBlock_=null,this.targetBlock_=this.flyout_.createBlock(this.targetBlock_),this.targetBlock_.select(), !0):!1:!1};Blockly.Gesture.prototype.updateIsDraggingBubble_=function(){if(!this.startBubble_)return!1;this.isDraggingBubble_=!0;this.startDraggingBubble_();return!0};Blockly.Gesture.prototype.updateIsDraggingBlock_=function(){if(!this.targetBlock_)return!1;this.flyout_?this.isDraggingBlock_=this.updateIsDraggingFromFlyout_():this.targetBlock_.isMovable()&&(this.isDraggingBlock_=!0);return this.isDraggingBlock_?(this.startDraggingBlock_(),!0):!1}; -Blockly.Gesture.prototype.updateIsDraggingWorkspace_=function(){if(this.flyout_?this.flyout_.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())this.workspaceDragger_=this.flyout_?new Blockly.FlyoutDragger(this.flyout_):new Blockly.WorkspaceDragger(this.startWorkspace_),this.isDraggingWorkspace_=!0,this.workspaceDragger_.startDrag()}; +Blockly.Gesture.prototype.updateIsDraggingWorkspace_=function(){if(this.flyout_?this.flyout_.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())this.workspaceDragger_=new Blockly.WorkspaceDragger(this.startWorkspace_),this.isDraggingWorkspace_=!0,this.workspaceDragger_.startDrag()}; Blockly.Gesture.prototype.updateIsDragging_=function(){if(this.calledUpdateIsDragging_)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging_=!0;this.updateIsDraggingBubble_()||this.updateIsDraggingBlock_()||this.updateIsDraggingWorkspace_()}; Blockly.Gesture.prototype.startDraggingBlock_=function(){this.blockDragger_=new Blockly.BlockDragger(this.targetBlock_,this.startWorkspace_);this.blockDragger_.startBlockDrag(this.currentDragDeltaXY_,this.healStack_);this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_)}; Blockly.Gesture.prototype.startDraggingBubble_=function(){this.bubbleDragger_=new Blockly.BubbleDragger(this.startBubble_,this.startWorkspace_);this.bubbleDragger_.startBubbleDrag();this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_)}; -Blockly.Gesture.prototype.doStart=function(a){Blockly.utils.isTargetInput(a)?this.cancel():(this.hasStarted_=!0,Blockly.blockAnimations.disconnectUiStop(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),Blockly.hideChaff(!!this.flyout_),this.startWorkspace_.markFocused(),this.mostRecentEvent_=a,Blockly.Tooltip.block(),this.targetBlock_&&(!this.targetBlock_.isInFlyout&&a.shiftKey&&this.targetBlock_.workspace.keyboardAccessibilityMode? -this.creatorWorkspace_.getCursor().setCurNode(Blockly.ASTNode.createTopNode(this.targetBlock_)):this.targetBlock_.select()),Blockly.utils.isRightButton(a)?this.handleRightClick(a):("touchstart"!=a.type.toLowerCase()&&"pointerdown"!=a.type.toLowerCase()||"mouse"==a.pointerType||Blockly.longStart(a,this),this.mouseDownXY_=new Blockly.utils.Coordinate(a.clientX,a.clientY),this.healStack_=a.altKey||a.ctrlKey||a.metaKey,this.bindMouseEvents(a)))}; -Blockly.Gesture.prototype.bindMouseEvents=function(a){this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this));this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this));a.preventDefault();a.stopPropagation()}; +Blockly.Gesture.prototype.doStart=function(a){Blockly.utils.isTargetInput(a)?this.cancel():(this.hasStarted_=!0,Blockly.blockAnimations.disconnectUiStop(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),Blockly.hideChaff(!!this.flyout_),this.startWorkspace_.markFocused(),this.mostRecentEvent_=a,Blockly.Tooltip.block(),this.targetBlock_&&this.targetBlock_.select(),Blockly.utils.isRightButton(a)?this.handleRightClick(a):("touchstart"!= +a.type.toLowerCase()&&"pointerdown"!=a.type.toLowerCase()||"mouse"==a.pointerType||Blockly.longStart(a,this),this.mouseDownXY_=new Blockly.utils.Coordinate(a.clientX,a.clientY),this.healStack_=a.altKey||a.ctrlKey||a.metaKey,this.bindMouseEvents(a)))}; +Blockly.Gesture.prototype.bindMouseEvents=function(a){this.onMoveWrapper_=Blockly.browserEvents.conditionalBind(document,"mousemove",null,this.handleMove.bind(this));this.onUpWrapper_=Blockly.browserEvents.conditionalBind(document,"mouseup",null,this.handleUp.bind(this));a.preventDefault();a.stopPropagation()}; Blockly.Gesture.prototype.handleMove=function(a){this.updateFromEvent_(a);this.isDraggingWorkspace_?this.workspaceDragger_.drag(this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBubble_&&this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_);a.preventDefault();a.stopPropagation()}; Blockly.Gesture.prototype.handleUp=function(a){this.updateFromEvent_(a);Blockly.longStop_();this.isEnding_?console.log("Trying to end a gesture recursively."):(this.isEnding_=!0,this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(a,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(a,this.currentDragDeltaXY_):this.isDraggingWorkspace_?this.workspaceDragger_.endDrag(this.currentDragDeltaXY_):this.isBubbleClick_()?this.doBubbleClick_():this.isFieldClick_()?this.doFieldClick_(): this.isBlockClick_()?this.doBlockClick_():this.isWorkspaceClick_()&&this.doWorkspaceClick_(a),a.preventDefault(),a.stopPropagation(),this.dispose())}; Blockly.Gesture.prototype.cancel=function(){this.isEnding_||(Blockly.longStop_(),this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingWorkspace_&&this.workspaceDragger_.endDrag(this.currentDragDeltaXY_),this.dispose())}; Blockly.Gesture.prototype.handleRightClick=function(a){this.targetBlock_?(this.bringBlockToFront_(),Blockly.hideChaff(!!this.flyout_),this.targetBlock_.showContextMenu(a)):this.startBubble_?this.startBubble_.showContextMenu(a):this.startWorkspace_&&!this.flyout_&&(Blockly.hideChaff(),this.startWorkspace_.showContextMenu(a));a.preventDefault();a.stopPropagation();this.dispose()}; -Blockly.Gesture.prototype.handleWsStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace_(b);this.mostRecentEvent_=a;this.doStart(a);this.startWorkspace_.keyboardAccessibilityMode&&Blockly.navigation.setState(Blockly.navigation.STATE_WS)};Blockly.Gesture.prototype.fireWorkspaceClick_=function(a){a=new Blockly.Events.Click(null,a.id,"workspace");Blockly.Events.fire(a)}; +Blockly.Gesture.prototype.handleWsStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace_(b);this.mostRecentEvent_=a;this.doStart(a)};Blockly.Gesture.prototype.fireWorkspaceClick_=function(a){Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.CLICK))(null,a.id,"workspace"))}; Blockly.Gesture.prototype.handleFlyoutStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout_(b);this.handleWsStart(a,b.getWorkspace())};Blockly.Gesture.prototype.handleBlockStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(b);this.mostRecentEvent_=a}; Blockly.Gesture.prototype.handleBubbleStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(b);this.mostRecentEvent_=a};Blockly.Gesture.prototype.doBubbleClick_=function(){this.startBubble_.setFocus&&this.startBubble_.setFocus();this.startBubble_.select&&this.startBubble_.select()};Blockly.Gesture.prototype.doFieldClick_=function(){this.startField_.showEditor(this.mostRecentEvent_);this.bringBlockToFront_()}; -Blockly.Gesture.prototype.doBlockClick_=function(){if(this.flyout_&&this.flyout_.autoClose)this.targetBlock_.isEnabled()&&(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.flyout_.createBlock(this.targetBlock_).scheduleSnapAndBump());else{var a=new Blockly.Events.Click(this.startBlock_,this.startWorkspace_.id,"block");Blockly.Events.fire(a)}this.bringBlockToFront_();Blockly.Events.setGroup(!1)}; -Blockly.Gesture.prototype.doWorkspaceClick_=function(a){var b=this.creatorWorkspace_;a.shiftKey&&b.keyboardAccessibilityMode?(a=new Blockly.utils.Coordinate(a.clientX,a.clientY),a=Blockly.utils.screenToWsCoordinates(b,a),a=Blockly.ASTNode.createWorkspaceNode(b,a),b.getCursor().setCurNode(a)):Blockly.selected&&Blockly.selected.unselect();this.fireWorkspaceClick_(this.startWorkspace_||b)};Blockly.Gesture.prototype.bringBlockToFront_=function(){this.targetBlock_&&!this.flyout_&&this.targetBlock_.bringToFront()}; +Blockly.Gesture.prototype.doBlockClick_=function(){if(this.flyout_&&this.flyout_.autoClose)this.targetBlock_.isEnabled()&&(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.flyout_.createBlock(this.targetBlock_).scheduleSnapAndBump());else{var a=new (Blockly.Events.get(Blockly.Events.CLICK))(this.startBlock_,this.startWorkspace_.id,"block");Blockly.Events.fire(a)}this.bringBlockToFront_();Blockly.Events.setGroup(!1)}; +Blockly.Gesture.prototype.doWorkspaceClick_=function(a){a=this.creatorWorkspace_;Blockly.selected&&Blockly.selected.unselect();this.fireWorkspaceClick_(this.startWorkspace_||a)};Blockly.Gesture.prototype.bringBlockToFront_=function(){this.targetBlock_&&!this.flyout_&&this.targetBlock_.bringToFront()}; Blockly.Gesture.prototype.setStartField=function(a){if(this.hasStarted_)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField_||(this.startField_=a)};Blockly.Gesture.prototype.setStartBubble=function(a){this.startBubble_||(this.startBubble_=a)};Blockly.Gesture.prototype.setStartBlock=function(a){this.startBlock_||this.startBubble_||(this.startBlock_=a,a.isInFlyout&&a!=a.getRootBlock()?this.setTargetBlock_(a.getRootBlock()):this.setTargetBlock_(a))}; Blockly.Gesture.prototype.setTargetBlock_=function(a){a.isShadow()?this.setTargetBlock_(a.getParent()):this.targetBlock_=a};Blockly.Gesture.prototype.setStartWorkspace_=function(a){this.startWorkspace_||(this.startWorkspace_=a)};Blockly.Gesture.prototype.setStartFlyout_=function(a){this.flyout_||(this.flyout_=a)};Blockly.Gesture.prototype.isBubbleClick_=function(){return!!this.startBubble_&&!this.hasExceededDragRadius_}; Blockly.Gesture.prototype.isBlockClick_=function(){return!!this.startBlock_&&!this.hasExceededDragRadius_&&!this.isFieldClick_()};Blockly.Gesture.prototype.isFieldClick_=function(){return(this.startField_?this.startField_.isClickable():!1)&&!this.hasExceededDragRadius_&&(!this.flyout_||!this.flyout_.autoClose)};Blockly.Gesture.prototype.isWorkspaceClick_=function(){return!this.startBlock_&&!this.startBubble_&&!this.startField_&&!this.hasExceededDragRadius_}; @@ -482,8 +457,8 @@ Blockly.Field.prototype.setSourceBlock=function(a){if(this.sourceBlock_)throw Er Blockly.Field.prototype.init=function(){this.fieldGroup_||(this.fieldGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{},null),this.isVisible()||(this.fieldGroup_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip_),this.bindEvents_(),this.initModel())};Blockly.Field.prototype.initView=function(){this.createBorderRect_();this.createTextElement_()};Blockly.Field.prototype.initModel=function(){}; Blockly.Field.prototype.createBorderRect_=function(){this.borderRect_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{rx:this.getConstants().FIELD_BORDER_RECT_RADIUS,ry:this.getConstants().FIELD_BORDER_RECT_RADIUS,x:0,y:0,height:this.size_.height,width:this.size_.width,"class":"blocklyFieldRect"},this.fieldGroup_)}; Blockly.Field.prototype.createTextElement_=function(){this.textElement_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.TEXT,{"class":"blocklyText"},this.fieldGroup_);this.getConstants().FIELD_TEXT_BASELINE_CENTER&&this.textElement_.setAttribute("dominant-baseline","central");this.textContent_=document.createTextNode("");this.textElement_.appendChild(this.textContent_)}; -Blockly.Field.prototype.bindEvents_=function(){Blockly.Tooltip.bindMouseEvents(this.getClickTarget_());this.mouseDownWrapper_=Blockly.bindEventWithChecks_(this.getClickTarget_(),"mousedown",this,this.onMouseDown_)};Blockly.Field.prototype.fromXml=function(a){this.setValue(a.textContent)};Blockly.Field.prototype.toXml=function(a){a.textContent=this.getValue();return a}; -Blockly.Field.prototype.dispose=function(){Blockly.DropDownDiv.hideIfOwner(this);Blockly.WidgetDiv.hideIfOwner(this);Blockly.Tooltip.unbindMouseEvents(this.getClickTarget_());this.mouseDownWrapper_&&Blockly.unbindEvent_(this.mouseDownWrapper_);Blockly.utils.dom.removeNode(this.fieldGroup_);this.disposed=!0}; +Blockly.Field.prototype.bindEvents_=function(){Blockly.Tooltip.bindMouseEvents(this.getClickTarget_());this.mouseDownWrapper_=Blockly.browserEvents.conditionalBind(this.getClickTarget_(),"mousedown",this,this.onMouseDown_)};Blockly.Field.prototype.fromXml=function(a){this.setValue(a.textContent)};Blockly.Field.prototype.toXml=function(a){a.textContent=this.getValue();return a}; +Blockly.Field.prototype.dispose=function(){Blockly.DropDownDiv.hideIfOwner(this);Blockly.WidgetDiv.hideIfOwner(this);Blockly.Tooltip.unbindMouseEvents(this.getClickTarget_());this.mouseDownWrapper_&&Blockly.browserEvents.unbind(this.mouseDownWrapper_);Blockly.utils.dom.removeNode(this.fieldGroup_);this.disposed=!0}; Blockly.Field.prototype.updateEditable=function(){var a=this.fieldGroup_;this.EDITABLE&&a&&(this.sourceBlock_.isEditable()?(Blockly.utils.dom.addClass(a,"blocklyEditableText"),Blockly.utils.dom.removeClass(a,"blocklyNonEditableText"),a.style.cursor=this.CURSOR):(Blockly.utils.dom.addClass(a,"blocklyNonEditableText"),Blockly.utils.dom.removeClass(a,"blocklyEditableText"),a.style.cursor=""))}; Blockly.Field.prototype.isClickable=function(){return!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&!!this.showEditor_&&"function"===typeof this.showEditor_};Blockly.Field.prototype.isCurrentlyEditable=function(){return this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()}; Blockly.Field.prototype.isSerializable=function(){var a=!1;this.name&&(this.SERIALIZABLE?a=!0:this.EDITABLE&&(console.warn("Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization."),a=!0));return a};Blockly.Field.prototype.isVisible=function(){return this.visible_}; @@ -496,30 +471,31 @@ Blockly.Field.prototype.getSize=function(){if(!this.isVisible())return new Block Blockly.Field.prototype.getScaledBBox=function(){if(this.borderRect_)a=this.borderRect_.getBoundingClientRect(),c=Blockly.utils.style.getPageOffset(this.borderRect_),d=a.width,a=a.height;else{var a=this.sourceBlock_.getHeightWidth(),b=this.sourceBlock_.workspace.scale,c=this.getAbsoluteXY_(),d=a.width*b;a=a.height*b;Blockly.utils.userAgent.GECKO?(c.x+=1.5*b,c.y+=1.5*b):Blockly.utils.userAgent.EDGE||Blockly.utils.userAgent.IE||(c.x-=.5*b,c.y-=.5*b);d+=1*b;a+=1*b}return new Blockly.utils.Rect(c.y,c.y+ a,c.x,c.x+d)};Blockly.Field.prototype.getDisplayText_=function(){var a=this.getText();if(!a)return Blockly.Field.NBSP;a.length>this.maxDisplayLength&&(a=a.substring(0,this.maxDisplayLength-2)+"\u2026");a=a.replace(/\s/g,Blockly.Field.NBSP);this.sourceBlock_&&this.sourceBlock_.RTL&&(a+="\u200f");return a};Blockly.Field.prototype.getText=function(){if(this.getText_){var a=this.getText_.call(this);if(null!==a)return String(a)}return String(this.getValue())}; Blockly.Field.prototype.markDirty=function(){this.isDirty_=!0;this.constants_=null};Blockly.Field.prototype.forceRerender=function(){this.isDirty_=!0;this.sourceBlock_&&this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours(),this.updateMarkers_())}; -Blockly.Field.prototype.setValue=function(a){if(null!==a){var b=this.doClassValidation_(a);a=this.processValidation_(a,b);if(!(a instanceof Error)){if(b=this.getValidator())if(b=b.call(this,a),a=this.processValidation_(a,b),a instanceof Error)return;b=this.sourceBlock_;if(!b||!b.disposed){var c=this.getValue();c===a?this.doValueUpdate_(a):(b&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(b,"field",this.name||null,c,a)),this.doValueUpdate_(a),this.isDirty_&&this.forceRerender())}}}}; -Blockly.Field.prototype.processValidation_=function(a,b){if(null===b)return this.doValueInvalid_(a),this.isDirty_&&this.forceRerender(),Error();void 0!==b&&(a=b);return a};Blockly.Field.prototype.getValue=function(){return this.value_};Blockly.Field.prototype.doClassValidation_=function(a){return null===a||void 0===a?null:a};Blockly.Field.prototype.doValueUpdate_=function(a){this.value_=a;this.isDirty_=!0};Blockly.Field.prototype.doValueInvalid_=function(a){}; +Blockly.Field.prototype.setValue=function(a){if(null!==a){var b=this.doClassValidation_(a);a=this.processValidation_(a,b);if(!(a instanceof Error)){if(b=this.getValidator())if(b=b.call(this,a),a=this.processValidation_(a,b),a instanceof Error)return;b=this.sourceBlock_;if(!b||!b.disposed){var c=this.getValue();c===a?this.doValueUpdate_(a):(b&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.BLOCK_CHANGE))(b,"field",this.name||null,c,a)),this.doValueUpdate_(a), +this.isDirty_&&this.forceRerender())}}}};Blockly.Field.prototype.processValidation_=function(a,b){if(null===b)return this.doValueInvalid_(a),this.isDirty_&&this.forceRerender(),Error();void 0!==b&&(a=b);return a};Blockly.Field.prototype.getValue=function(){return this.value_};Blockly.Field.prototype.doClassValidation_=function(a){return null===a||void 0===a?null:a};Blockly.Field.prototype.doValueUpdate_=function(a){this.value_=a;this.isDirty_=!0};Blockly.Field.prototype.doValueInvalid_=function(a){}; Blockly.Field.prototype.onMouseDown_=function(a){this.sourceBlock_&&this.sourceBlock_.workspace&&(a=this.sourceBlock_.workspace.getGesture(a))&&a.setStartField(this)};Blockly.Field.prototype.setTooltip=function(a){a||""===a||(a=this.sourceBlock_);var b=this.getClickTarget_();b?b.tooltip=a:this.tooltip_=a};Blockly.Field.prototype.getTooltip=function(){var a=this.getClickTarget_();return a?Blockly.Tooltip.getTooltipOfObject(a):Blockly.Tooltip.getTooltipOfObject({tooltip:this.tooltip_})}; Blockly.Field.prototype.getClickTarget_=function(){return this.clickTarget_||this.getSvgRoot()};Blockly.Field.prototype.getAbsoluteXY_=function(){return Blockly.utils.style.getPageOffset(this.getClickTarget_())};Blockly.Field.prototype.referencesVariables=function(){return!1};Blockly.Field.prototype.getParentInput=function(){for(var a=null,b=this.sourceBlock_,c=b.inputList,d=0;da||a>this.fieldRow.length)throw Error("index "+a+" out of bounds.");if(!(b||""==b&&c))return a;"string"==typeof b&&(b=new Blockly.FieldLabel(b));b.setSourceBlock(this.sourceBlock_);this.sourceBlock_.rendered&&(b.init(),b.applyColour());b.name=c;b.setVisible(this.isVisible());c=b;c.prefixField&&(a=this.insertFieldAt(a,c.prefixField));this.fieldRow.splice(a,0,b);++a;c.suffixField&&(a=this.insertFieldAt(a,c.suffixField));this.sourceBlock_.rendered&& -(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours());return a};Blockly.Input.prototype.removeField=function(a,b){for(var c=0,d;d=this.fieldRow[c];c++)if(d.name===a)return d.dispose(),this.fieldRow.splice(c,1),this.sourceBlock_.rendered&&(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours()),!0;if(b)return!1;throw Error('Field "'+a+'" not found.');};Blockly.Input.prototype.isVisible=function(){return this.visible_}; -Blockly.Input.prototype.setVisible=function(a){var b=[];if(this.visible_==a)return b;this.visible_=a;for(var c=0,d;d=this.fieldRow[c];c++)d.setVisible(a);this.connection&&(this.connection=this.connection,a?b=this.connection.startTrackingAll():this.connection.stopTrackingAll(),c=this.connection.targetBlock())&&(c.getSvgRoot().style.display=a?"block":"none");return b};Blockly.Input.prototype.markDirty=function(){for(var a=0,b;b=this.fieldRow[a];a++)b.markDirty()}; +Blockly.FieldLabel.prototype.setClass=function(a){this.textElement_&&(this.class_&&Blockly.utils.dom.removeClass(this.textElement_,this.class_),a&&Blockly.utils.dom.addClass(this.textElement_,a));this.class_=a};Blockly.fieldRegistry.register("field_label",Blockly.FieldLabel);Blockly.Input=function(a,b,c,d){if(a!=Blockly.inputTypes.DUMMY&&!b)throw Error("Value inputs and statement inputs must have non-empty name.");this.type=a;this.name=b;this.sourceBlock_=c;this.connection=d;this.fieldRow=[]};Blockly.Input.prototype.align=Blockly.constants.ALIGN.LEFT;Blockly.Input.prototype.visible_=!0;Blockly.Input.prototype.getSourceBlock=function(){return this.sourceBlock_};Blockly.Input.prototype.appendField=function(a,b){this.insertFieldAt(this.fieldRow.length,a,b);return this}; +Blockly.Input.prototype.insertFieldAt=function(a,b,c){if(0>a||a>this.fieldRow.length)throw Error("index "+a+" out of bounds.");if(!(b||""==b&&c))return a;"string"==typeof b&&(b=Blockly.fieldRegistry.fromJson({type:"field_label",text:b}));b.setSourceBlock(this.sourceBlock_);this.sourceBlock_.rendered&&(b.init(),b.applyColour());b.name=c;b.setVisible(this.isVisible());b.prefixField&&(a=this.insertFieldAt(a,b.prefixField));this.fieldRow.splice(a,0,b);++a;b.suffixField&&(a=this.insertFieldAt(a,b.suffixField)); +this.sourceBlock_.rendered&&(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours());return a};Blockly.Input.prototype.removeField=function(a,b){for(var c=0,d;d=this.fieldRow[c];c++)if(d.name===a)return d.dispose(),this.fieldRow.splice(c,1),this.sourceBlock_.rendered&&(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours()),!0;if(b)return!1;throw Error('Field "'+a+'" not found.');}; +Blockly.Input.prototype.isVisible=function(){return this.visible_};Blockly.Input.prototype.setVisible=function(a){var b=[];if(this.visible_==a)return b;this.visible_=a;for(var c=0,d;d=this.fieldRow[c];c++)d.setVisible(a);this.connection&&(this.connection=this.connection,a?b=this.connection.startTrackingAll():this.connection.stopTrackingAll(),c=this.connection.targetBlock())&&(c.getSvgRoot().style.display=a?"block":"none");return b};Blockly.Input.prototype.markDirty=function(){for(var a=0,b;b=this.fieldRow[a];a++)b.markDirty()}; Blockly.Input.prototype.setCheck=function(a){if(!this.connection)throw Error("This input does not have a connection.");this.connection.setCheck(a);return this};Blockly.Input.prototype.setAlign=function(a){this.align=a;this.sourceBlock_.rendered&&(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render());return this};Blockly.Input.prototype.setShadowDom=function(a){if(!this.connection)throw Error("This input does not have a connection.");this.connection.setShadowDom(a);return this}; Blockly.Input.prototype.getShadowDom=function(){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.getShadowDom()};Blockly.Input.prototype.init=function(){if(this.sourceBlock_.workspace.rendered)for(var a=0;aa&&(e=e.substring(0,a-3)+"...");return e};Blockly.Block.prototype.appendValueInput=function(a){return this.appendInput_(Blockly.INPUT_VALUE,a)};Blockly.Block.prototype.appendStatementInput=function(a){return this.appendInput_(Blockly.NEXT_STATEMENT,a)};Blockly.Block.prototype.appendDummyInput=function(a){return this.appendInput_(Blockly.DUMMY_INPUT,a||"")}; +g.in()?c(k)&&e.push("("):e.push(b);break;case Blockly.ASTNode.types.FIELD:k=g.getLocation(),k.name!=Blockly.constants.COLLAPSED_FIELD_NAME&&e.push(k.getText())}k=g;g=k.in()||k.next();if(!g){g=k.out();for(d();g&&!g.next();)g=g.out(),d(),g&&g.getType()==Blockly.ASTNode.types.INPUT&&c(g.getLocation())&&e.push(")");g&&(g=g.next())}}Blockly.ASTNode.NAVIGATE_ALL_FIELDS=f;b=2;for(f=e.length;ba&&(e=e.substring(0,a-3)+"...");return e};Blockly.Block.prototype.appendValueInput=function(a){return this.appendInput_(Blockly.inputTypes.VALUE,a)};Blockly.Block.prototype.appendStatementInput=function(a){return this.appendInput_(Blockly.inputTypes.STATEMENT,a)};Blockly.Block.prototype.appendDummyInput=function(a){return this.appendInput_(Blockly.inputTypes.DUMMY,a||"")}; Blockly.Block.prototype.jsonInit=function(a){var b=a.type?'Block "'+a.type+'": ':"";if(a.output&&a.previousStatement)throw Error(b+"Must not have both an output and a previousStatement.");a.style&&a.style.hat&&(this.hat=a.style.hat,a.style=null);if(a.style&&a.colour)throw Error(b+"Must not have both a colour and a style.");a.style?this.jsonInitStyle_(a,b):this.jsonInitColour_(a,b);for(var c=0;void 0!==a["message"+c];)this.interpolate_(a["message"+c],a["args"+c]||[],a["lastDummyAlign"+c],b),c++;void 0!== a.inputsInline&&this.setInputsInline(a.inputsInline);void 0!==a.output&&this.setOutput(!0,a.output);void 0!==a.outputShape&&this.setOutputShape(a.outputShape);void 0!==a.previousStatement&&this.setPreviousStatement(!0,a.previousStatement);void 0!==a.nextStatement&&this.setNextStatement(!0,a.nextStatement);void 0!==a.tooltip&&(c=a.tooltip,c=Blockly.utils.replaceMessageReferences(c),this.setTooltip(c));void 0!==a.enableContextMenu&&(c=a.enableContextMenu,this.contextMenu=!!c);void 0!==a.helpUrl&&(c= a.helpUrl,c=Blockly.utils.replaceMessageReferences(c),this.setHelpUrl(c));"string"==typeof a.extensions&&(console.warn(b+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+a.type+"' block."),a.extensions=[a.extensions]);void 0!==a.mutator&&Blockly.Extensions.apply(a.mutator,this,!0);if(Array.isArray(a.extensions))for(a=a.extensions,b=0;b=k||k>b.length)throw Error('Block "'+this.type+'": Message index %'+k+" out of range.");if(f[k])throw Error('Block "'+this.type+'": Message index %'+k+" duplicated.");f[k]=!0;g++;a.push(b[k-1])}else(k=k.trim())&&a.push(k)}if(g!=b.length)throw Error('Block "'+this.type+'": Message does not reference all '+b.length+" arg(s)."); -a.length&&("string"==typeof a[a.length-1]||Blockly.utils.string.startsWith(a[a.length-1].type,"field_"))&&(h={type:"input_dummy"},c&&(h.align=c),a.push(h));c={LEFT:Blockly.ALIGN_LEFT,RIGHT:Blockly.ALIGN_RIGHT,CENTRE:Blockly.ALIGN_CENTRE,CENTER:Blockly.ALIGN_CENTRE};b=[];for(h=0;hf||f>b)throw Error('Block "'+this.type+'": Message index %'+f+" out of range.");if(c[f])throw Error('Block "'+this.type+'": Message index %'+f+" duplicated.");c[f]=!0;d++}}if(d!=b)throw Error('Block "'+this.type+'": Message does not reference all '+b+" arg(s).");}; +Blockly.Block.prototype.interpolateArguments_=function(a,b,c){for(var d=[],e=0;e=this.inputList.length)throw RangeError("Input index "+a+" out of bounds.");if(b>this.inputList.length)throw RangeError("Reference input "+b+" out of bounds.");var c=this.inputList[a];this.inputList.splice(a,1);aa?this.menuItems_.length:a,-1)};Blockly.Menu.prototype.highlightFirst_=function(){this.highlightHelper_(-1,1)};Blockly.Menu.prototype.highlightLast_=function(){this.highlightHelper_(this.menuItems_.length,-1)};Blockly.Menu.prototype.highlightHelper_=function(a,b){a+=b;for(var c;c=this.menuItems_[a];){if(c.isEnabled()){this.setHighlighted(c);break}a+=b}}; @@ -575,35 +552,19 @@ Blockly.MenuItem.prototype.createDom=function(){var a=document.createElement("di b.className="blocklyMenuItemContent goog-menuitem-content";if(this.checkable_){var c=document.createElement("div");c.className="blocklyMenuItemCheckbox goog-menuitem-checkbox";b.appendChild(c)}c=this.content_;"string"==typeof this.content_&&(c=document.createTextNode(this.content_));b.appendChild(c);a.appendChild(b);this.roleName_&&Blockly.utils.aria.setRole(a,this.roleName_);Blockly.utils.aria.setState(a,Blockly.utils.aria.State.SELECTED,this.checkable_&&this.checked_||!1);Blockly.utils.aria.setState(a, Blockly.utils.aria.State.DISABLED,!this.enabled_);return a};Blockly.MenuItem.prototype.dispose=function(){this.element_=null};Blockly.MenuItem.prototype.getElement=function(){return this.element_};Blockly.MenuItem.prototype.getId=function(){return this.element_.id};Blockly.MenuItem.prototype.getValue=function(){return this.value_};Blockly.MenuItem.prototype.setRightToLeft=function(a){this.rightToLeft_=a};Blockly.MenuItem.prototype.setRole=function(a){this.roleName_=a}; Blockly.MenuItem.prototype.setCheckable=function(a){this.checkable_=a};Blockly.MenuItem.prototype.setChecked=function(a){this.checked_=a};Blockly.MenuItem.prototype.setHighlighted=function(a){this.highlight_=a;var b=this.getElement();b&&this.isEnabled()&&(a?(Blockly.utils.dom.addClass(b,"blocklyMenuItemHighlight"),Blockly.utils.dom.addClass(b,"goog-menuitem-highlight")):(Blockly.utils.dom.removeClass(b,"blocklyMenuItemHighlight"),Blockly.utils.dom.removeClass(b,"goog-menuitem-highlight")))}; -Blockly.MenuItem.prototype.isEnabled=function(){return this.enabled_};Blockly.MenuItem.prototype.setEnabled=function(a){this.enabled_=a};Blockly.MenuItem.prototype.performAction=function(){this.isEnabled()&&this.actionHandler_&&this.actionHandler_(this)};Blockly.MenuItem.prototype.onAction=function(a,b){this.actionHandler_=a.bind(b)};Blockly.ContextMenu={};Blockly.ContextMenu.currentBlock=null;Blockly.ContextMenu.menu_=null;Blockly.ContextMenu.show=function(a,b,c){Blockly.WidgetDiv.show(Blockly.ContextMenu,c,Blockly.ContextMenu.dispose);if(b.length){var d=Blockly.ContextMenu.populate_(b,c);Blockly.ContextMenu.menu_=d;Blockly.ContextMenu.position_(d,a,c);setTimeout(function(){d.focus()},1);Blockly.ContextMenu.currentBlock=null}else Blockly.ContextMenu.hide()}; +Blockly.MenuItem.prototype.isEnabled=function(){return this.enabled_};Blockly.MenuItem.prototype.setEnabled=function(a){this.enabled_=a};Blockly.MenuItem.prototype.performAction=function(){this.isEnabled()&&this.actionHandler_&&this.actionHandler_(this)};Blockly.MenuItem.prototype.onAction=function(a,b){this.actionHandler_=a.bind(b)};Blockly.WidgetDiv={};Blockly.WidgetDiv.owner_=null;Blockly.WidgetDiv.dispose_=null;Blockly.WidgetDiv.rendererClassName_="";Blockly.WidgetDiv.themeClassName_="";Blockly.WidgetDiv.createDom=function(){Blockly.WidgetDiv.DIV||(Blockly.WidgetDiv.DIV=document.createElement("div"),Blockly.WidgetDiv.DIV.className="blocklyWidgetDiv",(Blockly.parentContainer||document.body).appendChild(Blockly.WidgetDiv.DIV))}; +Blockly.WidgetDiv.show=function(a,b,c){Blockly.WidgetDiv.hide();Blockly.WidgetDiv.owner_=a;Blockly.WidgetDiv.dispose_=c;a=Blockly.WidgetDiv.DIV;a.style.direction=b?"rtl":"ltr";a.style.display="block";b=Blockly.getMainWorkspace();Blockly.WidgetDiv.rendererClassName_=b.getRenderer().getClassName();Blockly.WidgetDiv.themeClassName_=b.getTheme().getClassName();Blockly.utils.dom.addClass(a,Blockly.WidgetDiv.rendererClassName_);Blockly.utils.dom.addClass(a,Blockly.WidgetDiv.themeClassName_)}; +Blockly.WidgetDiv.hide=function(){if(Blockly.WidgetDiv.isVisible()){Blockly.WidgetDiv.owner_=null;var a=Blockly.WidgetDiv.DIV;a.style.display="none";a.style.left="";a.style.top="";Blockly.WidgetDiv.dispose_&&Blockly.WidgetDiv.dispose_();Blockly.WidgetDiv.dispose_=null;a.textContent="";Blockly.WidgetDiv.rendererClassName_&&(Blockly.utils.dom.removeClass(a,Blockly.WidgetDiv.rendererClassName_),Blockly.WidgetDiv.rendererClassName_="");Blockly.WidgetDiv.themeClassName_&&(Blockly.utils.dom.removeClass(a, +Blockly.WidgetDiv.themeClassName_),Blockly.WidgetDiv.themeClassName_="");Blockly.getMainWorkspace().markFocused()}};Blockly.WidgetDiv.isVisible=function(){return!!Blockly.WidgetDiv.owner_};Blockly.WidgetDiv.hideIfOwner=function(a){Blockly.WidgetDiv.owner_==a&&Blockly.WidgetDiv.hide()};Blockly.WidgetDiv.positionInternal_=function(a,b,c){Blockly.WidgetDiv.DIV.style.left=a+"px";Blockly.WidgetDiv.DIV.style.top=b+"px";Blockly.WidgetDiv.DIV.style.height=c+"px"}; +Blockly.WidgetDiv.positionWithAnchor=function(a,b,c,d){var e=Blockly.WidgetDiv.calculateY_(a,b,c);a=Blockly.WidgetDiv.calculateX_(a,b,c,d);0>e?Blockly.WidgetDiv.positionInternal_(a,0,c.height+e):Blockly.WidgetDiv.positionInternal_(a,e,c.height)};Blockly.WidgetDiv.calculateX_=function(a,b,c,d){if(d)return b=Math.max(b.right-c.width,a.left),Math.min(b,a.right-c.width);b=Math.min(b.left,a.right-c.width);return Math.max(b,a.left)}; +Blockly.WidgetDiv.calculateY_=function(a,b,c){return b.bottom+c.height>=a.bottom?b.top-c.height:b.bottom};Blockly.ContextMenu={};Blockly.ContextMenu.currentBlock=null;Blockly.ContextMenu.menu_=null;Blockly.ContextMenu.show=function(a,b,c){Blockly.WidgetDiv.show(Blockly.ContextMenu,c,Blockly.ContextMenu.dispose);if(b.length){var d=Blockly.ContextMenu.populate_(b,c);Blockly.ContextMenu.menu_=d;Blockly.ContextMenu.position_(d,a,c);setTimeout(function(){d.focus()},1);Blockly.ContextMenu.currentBlock=null}else Blockly.ContextMenu.hide()}; Blockly.ContextMenu.populate_=function(a,b){var c=new Blockly.Menu;c.setRole(Blockly.utils.aria.Role.MENU);for(var d=0,e;e=a[d];d++){var f=new Blockly.MenuItem(e.text);f.setRightToLeft(b);f.setRole(Blockly.utils.aria.Role.MENUITEM);c.addChild(f);f.setEnabled(e.enabled);if(e.enabled)f.onAction(function(g){Blockly.ContextMenu.hide();this.callback(this.scope)},e)}return c}; Blockly.ContextMenu.position_=function(a,b,c){var d=Blockly.utils.getViewportBBox();b=new Blockly.utils.Rect(b.clientY+d.top,b.clientY+d.top,b.clientX+d.left,b.clientX+d.left);Blockly.ContextMenu.createWidget_(a);var e=a.getSize();c&&(b.left+=e.width,b.right+=e.width,d.left+=e.width,d.right+=e.width);Blockly.WidgetDiv.positionWithAnchor(d,b,e,c);a.focus()}; -Blockly.ContextMenu.createWidget_=function(a){a.render(Blockly.WidgetDiv.DIV);var b=a.getElement();Blockly.utils.dom.addClass(b,"blocklyContextMenu");Blockly.bindEventWithChecks_(b,"contextmenu",null,Blockly.utils.noEvent);a.focus()};Blockly.ContextMenu.hide=function(){Blockly.WidgetDiv.hideIfOwner(Blockly.ContextMenu);Blockly.ContextMenu.currentBlock=null};Blockly.ContextMenu.dispose=function(){Blockly.ContextMenu.menu_&&(Blockly.ContextMenu.menu_.dispose(),Blockly.ContextMenu.menu_=null)}; -Blockly.ContextMenu.callbackFactory=function(a,b){return function(){Blockly.Events.disable();try{var c=Blockly.Xml.domToBlock(b,a.workspace),d=a.getRelativeToSurfaceXY();d.x=a.RTL?d.x-Blockly.SNAP_RADIUS:d.x+Blockly.SNAP_RADIUS;d.y+=2*Blockly.SNAP_RADIUS;c.moveBy(d.x,d.y)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!c.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(c));c.select()}}; +Blockly.ContextMenu.createWidget_=function(a){a.render(Blockly.WidgetDiv.DIV);var b=a.getElement();Blockly.utils.dom.addClass(b,"blocklyContextMenu");Blockly.browserEvents.conditionalBind(b,"contextmenu",null,Blockly.utils.noEvent);a.focus()};Blockly.ContextMenu.hide=function(){Blockly.WidgetDiv.hideIfOwner(Blockly.ContextMenu);Blockly.ContextMenu.currentBlock=null};Blockly.ContextMenu.dispose=function(){Blockly.ContextMenu.menu_&&(Blockly.ContextMenu.menu_.dispose(),Blockly.ContextMenu.menu_=null)}; +Blockly.ContextMenu.callbackFactory=function(a,b){return function(){Blockly.Events.disable();try{var c=Blockly.Xml.domToBlock(b,a.workspace),d=a.getRelativeToSurfaceXY();d.x=a.RTL?d.x-Blockly.SNAP_RADIUS:d.x+Blockly.SNAP_RADIUS;d.y+=2*Blockly.SNAP_RADIUS;c.moveBy(d.x,d.y)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!c.isShadow()&&Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.BLOCK_CREATE))(c));c.select()}}; Blockly.ContextMenu.commentDeleteOption=function(a){return{text:Blockly.Msg.REMOVE_COMMENT,enabled:!0,callback:function(){Blockly.Events.setGroup(!0);a.dispose(!0,!0);Blockly.Events.setGroup(!1)}}};Blockly.ContextMenu.commentDuplicateOption=function(a){return{text:Blockly.Msg.DUPLICATE_COMMENT,enabled:!0,callback:function(){Blockly.duplicate(a)}}}; Blockly.ContextMenu.workspaceCommentOption=function(a,b){if(!Blockly.WorkspaceCommentSvg)throw Error("Missing require for Blockly.WorkspaceCommentSvg");var c={enabled:!Blockly.utils.userAgent.IE};c.text=Blockly.Msg.ADD_COMMENT;c.callback=function(){var d=new Blockly.WorkspaceCommentSvg(a,Blockly.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE),e=a.getInjectionDiv().getBoundingClientRect();e=new Blockly.utils.Coordinate(b.clientX- -e.left,b.clientY-e.top);var f=a.getOriginOffsetInPixels();e=Blockly.utils.Coordinate.difference(e,f);e.scale(1/a.scale);d.moveBy(e.x,e.y);a.rendered&&(d.initSvg(),d.render(),d.select())};return c};Blockly.ContextMenuItems={};Blockly.ContextMenuItems.registerUndo=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(){return Blockly.Msg.UNDO},preconditionFn:function(a){return 0b.length?Blockly.ContextMenuItems.deleteNext_(b,c):Blockly.confirm(Blockly.Msg.DELETE_ALL_BLOCKS.replace("%1",b.length),function(d){d&&Blockly.ContextMenuItems.deleteNext_(b,c)})}},scopeType:Blockly.ContextMenuRegistry.ScopeType.WORKSPACE,id:"workspaceDelete",weight:6})}; -Blockly.ContextMenuItems.registerWorkspaceOptions_=function(){Blockly.ContextMenuItems.registerUndo();Blockly.ContextMenuItems.registerRedo();Blockly.ContextMenuItems.registerCleanup();Blockly.ContextMenuItems.registerCollapse();Blockly.ContextMenuItems.registerExpand();Blockly.ContextMenuItems.registerDeleteAll()}; -Blockly.ContextMenuItems.registerDuplicate=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(){return Blockly.Msg.DUPLICATE_BLOCK},preconditionFn:function(a){a=a.block;return!a.isInFlyout&&a.isDeletable()&&a.isMovable()?a.isDuplicatable()?"enabled":"disabled":"hidden"},callback:function(a){a.block&&Blockly.duplicate(a.block)},scopeType:Blockly.ContextMenuRegistry.ScopeType.BLOCK,id:"blockDuplicate",weight:1})}; -Blockly.ContextMenuItems.registerComment=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.getCommentIcon()?Blockly.Msg.REMOVE_COMMENT:Blockly.Msg.ADD_COMMENT},preconditionFn:function(a){a=a.block;return Blockly.utils.userAgent.IE||a.isInFlyout||!a.workspace.options.comments||a.isCollapsed()||!a.isEditable()?"hidden":"enabled"},callback:function(a){a=a.block;a.getCommentIcon()?a.setCommentText(null):a.setCommentText("")},scopeType:Blockly.ContextMenuRegistry.ScopeType.BLOCK, -id:"blockComment",weight:2})}; -Blockly.ContextMenuItems.registerInline=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.getInputsInline()?Blockly.Msg.EXTERNAL_INPUTS:Blockly.Msg.INLINE_INPUTS},preconditionFn:function(a){a=a.block;if(!a.isInFlyout&&a.isMovable()&&!a.isCollapsed())for(var b=1;bb?!1:Blockly.RenderedConnection.superClass_.isConnectionAllowed.call(this,a)};Blockly.RenderedConnection.prototype.onFailedConnect=function(a){this.bumpAwayFrom(a)}; +Blockly.RenderedConnection.prototype.startTrackingAll=function(){this.setTracking(!0);var a=[];if(this.type!=Blockly.connectionTypes.INPUT_VALUE&&this.type!=Blockly.connectionTypes.NEXT_STATEMENT)return a;var b=this.targetBlock();if(b){if(b.isCollapsed()){var c=[];b.outputConnection&&c.push(b.outputConnection);b.nextConnection&&c.push(b.nextConnection);b.previousConnection&&c.push(b.previousConnection)}else c=b.getConnections_(!0);for(var d=0;db?!1:Blockly.RenderedConnection.superClass_.isConnectionAllowed.call(this,a)};Blockly.RenderedConnection.prototype.onFailedConnect=function(a){this.bumpAwayFrom(a)}; Blockly.RenderedConnection.prototype.disconnectInternal_=function(a,b){Blockly.RenderedConnection.superClass_.disconnectInternal_.call(this,a,b);a.rendered&&a.render();b.rendered&&(b.updateDisabled(),b.render(),b.getSvgRoot().style.display="block")};Blockly.RenderedConnection.prototype.respawnShadow_=function(){Blockly.RenderedConnection.superClass_.respawnShadow_.call(this);var a=this.targetBlock();a&&(a.initSvg(),a.render(!1),a=this.getSourceBlock(),a.rendered&&a.render())}; Blockly.RenderedConnection.prototype.neighbours=function(a){return this.dbOpposite_.getNeighbours(this,a)}; -Blockly.RenderedConnection.prototype.connect_=function(a){Blockly.RenderedConnection.superClass_.connect_.call(this,a);var b=this.getSourceBlock();a=a.getSourceBlock();var c=b.rendered,d=a.rendered;c&&b.updateDisabled();d&&a.updateDisabled();c&&d&&(this.type==Blockly.NEXT_STATEMENT||this.type==Blockly.PREVIOUS_STATEMENT?a.render():b.render());if(b=b.getInputWithBlock(a))b=b.isVisible(),a.getSvgRoot().style.display=b?"block":"none"}; +Blockly.RenderedConnection.prototype.connect_=function(a){Blockly.RenderedConnection.superClass_.connect_.call(this,a);var b=this.getSourceBlock();a=a.getSourceBlock();var c=b.rendered,d=a.rendered;c&&b.updateDisabled();d&&a.updateDisabled();c&&d&&(this.type==Blockly.connectionTypes.NEXT_STATEMENT||this.type==Blockly.connectionTypes.PREVIOUS_STATEMENT?a.render():b.render());if(b=b.getInputWithBlock(a))b=b.isVisible(),a.getSvgRoot().style.display=b?"block":"none"}; Blockly.RenderedConnection.prototype.onCheckChanged_=function(){!this.isConnected()||this.targetConnection&&this.getConnectionChecker().canConnect(this,this.targetConnection,!1)||((this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug(),this.sourceBlock_.bumpNeighbours())};Blockly.Marker=function(){this.drawer_=this.curNode_=this.colour=null;this.type="marker"};Blockly.Marker.prototype.setDrawer=function(a){this.drawer_=a};Blockly.Marker.prototype.getDrawer=function(){return this.drawer_};Blockly.Marker.prototype.getCurNode=function(){return this.curNode_};Blockly.Marker.prototype.setCurNode=function(a){var b=this.curNode_;this.curNode_=a;this.drawer_&&this.drawer_.draw(b,this.curNode_)}; Blockly.Marker.prototype.draw=function(){this.drawer_&&this.drawer_.draw(this.curNode_,this.curNode_)};Blockly.Marker.prototype.hide=function(){this.drawer_&&this.drawer_.hide()};Blockly.Marker.prototype.dispose=function(){this.getDrawer()&&this.getDrawer().dispose()};Blockly.Cursor=function(){Blockly.Cursor.superClass_.constructor.call(this);this.type="cursor"};Blockly.utils.object.inherits(Blockly.Cursor,Blockly.Marker);Blockly.Cursor.prototype.next=function(){var a=this.getCurNode();if(!a)return null;for(a=a.next();a&&a.next()&&(a.getType()==Blockly.ASTNode.types.NEXT||a.getType()==Blockly.ASTNode.types.BLOCK);)a=a.next();a&&this.setCurNode(a);return a}; Blockly.Cursor.prototype.in=function(){var a=this.getCurNode();if(!a)return null;if(a.getType()==Blockly.ASTNode.types.PREVIOUS||a.getType()==Blockly.ASTNode.types.OUTPUT)a=a.next();(a=a.in())&&this.setCurNode(a);return a};Blockly.Cursor.prototype.prev=function(){var a=this.getCurNode();if(!a)return null;for(a=a.prev();a&&a.prev()&&(a.getType()==Blockly.ASTNode.types.NEXT||a.getType()==Blockly.ASTNode.types.BLOCK);)a=a.prev();a&&this.setCurNode(a);return a}; -Blockly.Cursor.prototype.out=function(){var a=this.getCurNode();if(!a)return null;(a=a.out())&&a.getType()==Blockly.ASTNode.types.BLOCK&&(a=a.prev()||a);a&&this.setCurNode(a);return a}; -Blockly.Cursor.prototype.onBlocklyAction=function(a){if(this.getCurNode()&&this.getCurNode().getType()===Blockly.ASTNode.types.FIELD&&this.getCurNode().getLocation().onBlocklyAction(a))return!0;switch(a.name){case Blockly.navigation.actionNames.PREVIOUS:return this.prev(),!0;case Blockly.navigation.actionNames.OUT:return this.out(),!0;case Blockly.navigation.actionNames.NEXT:return this.next(),!0;case Blockly.navigation.actionNames.IN:return this.in(),!0;default:return!1}};Blockly.BasicCursor=function(){Blockly.BasicCursor.superClass_.constructor.call(this)};Blockly.utils.object.inherits(Blockly.BasicCursor,Blockly.Cursor);Blockly.BasicCursor.prototype.next=function(){var a=this.getCurNode();if(!a)return null;(a=this.getNextNode_(a,this.validNode_))&&this.setCurNode(a);return a};Blockly.BasicCursor.prototype.in=function(){return this.next()}; +Blockly.Cursor.prototype.out=function(){var a=this.getCurNode();if(!a)return null;(a=a.out())&&a.getType()==Blockly.ASTNode.types.BLOCK&&(a=a.prev()||a);a&&this.setCurNode(a);return a};Blockly.registry.register(Blockly.registry.Type.CURSOR,Blockly.registry.DEFAULT,Blockly.Cursor);Blockly.BasicCursor=function(){Blockly.BasicCursor.superClass_.constructor.call(this)};Blockly.utils.object.inherits(Blockly.BasicCursor,Blockly.Cursor);Blockly.BasicCursor.registrationName="basicCursor";Blockly.BasicCursor.prototype.next=function(){var a=this.getCurNode();if(!a)return null;(a=this.getNextNode_(a,this.validNode_))&&this.setCurNode(a);return a};Blockly.BasicCursor.prototype.in=function(){return this.next()}; Blockly.BasicCursor.prototype.prev=function(){var a=this.getCurNode();if(!a)return null;(a=this.getPreviousNode_(a,this.validNode_))&&this.setCurNode(a);return a};Blockly.BasicCursor.prototype.out=function(){return this.prev()};Blockly.BasicCursor.prototype.getNextNode_=function(a,b){if(!a)return null;var c=a.in()||a.next();if(b(c))return c;if(c)return this.getNextNode_(c,b);a=this.findSiblingOrParent_(a.out());return b(a)?a:a?this.getNextNode_(a,b):null}; Blockly.BasicCursor.prototype.getPreviousNode_=function(a,b){if(!a)return null;var c=a.prev();c=c?this.getRightMostChild_(c):a.out();return b(c)?c:c?this.getPreviousNode_(c,b):null};Blockly.BasicCursor.prototype.validNode_=function(a){var b=!1;a=a&&a.getType();if(a==Blockly.ASTNode.types.OUTPUT||a==Blockly.ASTNode.types.INPUT||a==Blockly.ASTNode.types.FIELD||a==Blockly.ASTNode.types.NEXT||a==Blockly.ASTNode.types.PREVIOUS||a==Blockly.ASTNode.types.WORKSPACE)b=!0;return b}; -Blockly.BasicCursor.prototype.findSiblingOrParent_=function(a){if(!a)return null;var b=a.next();return b?b:this.findSiblingOrParent_(a.out())};Blockly.BasicCursor.prototype.getRightMostChild_=function(a){if(!a.in())return a;for(a=a.in();a.next();)a=a.next();return this.getRightMostChild_(a)};Blockly.TabNavigateCursor=function(){Blockly.TabNavigateCursor.superClass_.constructor.call(this)};Blockly.utils.object.inherits(Blockly.TabNavigateCursor,Blockly.BasicCursor);Blockly.TabNavigateCursor.prototype.validNode_=function(a){var b=!1,c=a&&a.getType();a&&(a=a.getLocation(),c==Blockly.ASTNode.types.FIELD&&a&&a.isTabNavigable()&&a.isClickable()&&(b=!0));return b};Blockly.BlockSvg=function(a,b,c){this.svgGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{},null);this.svgGroup_.translate_="";this.style=a.getRenderer().getConstants().getBlockStyle(null);this.pathObject=a.getRenderer().makePathObject(this.svgGroup_,this.style);this.renderIsInProgress_=this.rendered=!1;this.workspace=a;this.previousConnection=this.nextConnection=this.outputConnection=null;this.useDragSurface_=Blockly.utils.is3dSupported()&&!!a.getBlockDragSurface();var d=this.pathObject.svgPath; +Blockly.BasicCursor.prototype.findSiblingOrParent_=function(a){if(!a)return null;var b=a.next();return b?b:this.findSiblingOrParent_(a.out())};Blockly.BasicCursor.prototype.getRightMostChild_=function(a){if(!a.in())return a;for(a=a.in();a.next();)a=a.next();return this.getRightMostChild_(a)};Blockly.registry.register(Blockly.registry.Type.CURSOR,Blockly.BasicCursor.registrationName,Blockly.BasicCursor);Blockly.TabNavigateCursor=function(){Blockly.TabNavigateCursor.superClass_.constructor.call(this)};Blockly.utils.object.inherits(Blockly.TabNavigateCursor,Blockly.BasicCursor);Blockly.TabNavigateCursor.prototype.validNode_=function(a){var b=!1,c=a&&a.getType();a&&(a=a.getLocation(),c==Blockly.ASTNode.types.FIELD&&a&&a.isTabNavigable()&&a.isClickable()&&(b=!0));return b};Blockly.BlockSvg=function(a,b,c){this.svgGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{},null);this.svgGroup_.translate_="";this.style=a.getRenderer().getConstants().getBlockStyle(null);this.pathObject=a.getRenderer().makePathObject(this.svgGroup_,this.style);this.renderIsInProgress_=this.rendered=!1;this.workspace=a;this.previousConnection=this.nextConnection=this.outputConnection=null;this.useDragSurface_=Blockly.utils.is3dSupported()&&!!a.getBlockDragSurface();var d=this.pathObject.svgPath; d.tooltip=this;Blockly.Tooltip.bindMouseEvents(d);Blockly.BlockSvg.superClass_.constructor.call(this,a,b,c);this.svgGroup_.dataset?this.svgGroup_.dataset.id=this.id:Blockly.utils.userAgent.IE&&this.svgGroup_.setAttribute("data-id",this.id)};Blockly.utils.object.inherits(Blockly.BlockSvg,Blockly.Block);Blockly.BlockSvg.prototype.height=0;Blockly.BlockSvg.prototype.width=0;Blockly.BlockSvg.prototype.warningTextDb_=null;Blockly.BlockSvg.INLINE=-1;Blockly.BlockSvg.COLLAPSED_WARNING_ID="TEMP_COLLAPSED_WARNING_"; -Blockly.BlockSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError("Workspace is headless.");for(var a=0,b;b=this.inputList[a];a++)b.init();b=this.getIcons();for(a=0;a=this.connections_.length)return-1;b=a.y;for(var d=c;0<=d&&this.connections_[d].y==b;){if(this.connections_[d]==a)return d;d--}for(;ca)c=d;else{b=d;break}}return b};Blockly.ConnectionDB.prototype.removeConnection=function(a,b){a=this.findIndexOfConnection_(a,b);if(-1==a)throw Error("Unable to find connection in connectionDB.");this.connections_.splice(a,1)}; Blockly.ConnectionDB.prototype.getNeighbours=function(a,b){function c(l){var m=e-d[l].x,n=f-d[l].y;Math.sqrt(m*m+n*n)<=b&&k.push(d[l]);return na)throw Error("Cannot unsubscribe a workspace that hasn't been subscribed.");this.subscribedWorkspaces_.splice(a,1)}; Blockly.ThemeManager.prototype.subscribe=function(a,b,c){this.componentDB_[b]||(this.componentDB_[b]=[]);this.componentDB_[b].push({element:a,propertyName:c});b=this.theme_&&this.theme_.getComponentStyle(b);a.style[c]=b||""};Blockly.ThemeManager.prototype.unsubscribe=function(a){if(a)for(var b=Object.keys(this.componentDB_),c=0,d;d=b[c];c++){for(var e=this.componentDB_[d],f=e.length-1;0<=f;f--)e[f].element===a&&e.splice(f,1);this.componentDB_[d].length||delete this.componentDB_[d]}}; Blockly.ThemeManager.prototype.dispose=function(){this.componentDB_=this.subscribedWorkspaces_=this.theme_=this.owner_=null};Blockly.TouchGesture=function(a,b){Blockly.TouchGesture.superClass_.constructor.call(this,a,b);this.isMultiTouch_=!1;this.cachedPoints_=Object.create(null);this.startDistance_=this.previousScale_=0;this.isPinchZoomEnabled_=this.onStartWrapper_=null};Blockly.utils.object.inherits(Blockly.TouchGesture,Blockly.Gesture);Blockly.TouchGesture.ZOOM_IN_MULTIPLIER=5;Blockly.TouchGesture.ZOOM_OUT_MULTIPLIER=6; Blockly.TouchGesture.prototype.doStart=function(a){this.isPinchZoomEnabled_=this.startWorkspace_.options.zoomOptions&&this.startWorkspace_.options.zoomOptions.pinch;Blockly.TouchGesture.superClass_.doStart.call(this,a);!this.isEnding_&&Blockly.Touch.isTouchEvent(a)&&this.handleTouchStart(a)}; -Blockly.TouchGesture.prototype.bindMouseEvents=function(a){this.onStartWrapper_=Blockly.bindEventWithChecks_(document,"mousedown",null,this.handleStart.bind(this),!0);this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this),!0);this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this),!0);a.preventDefault();a.stopPropagation()}; +Blockly.TouchGesture.prototype.bindMouseEvents=function(a){this.onStartWrapper_=Blockly.browserEvents.conditionalBind(document,"mousedown",null,this.handleStart.bind(this),!0);this.onMoveWrapper_=Blockly.browserEvents.conditionalBind(document,"mousemove",null,this.handleMove.bind(this),!0);this.onUpWrapper_=Blockly.browserEvents.conditionalBind(document,"mouseup",null,this.handleUp.bind(this),!0);a.preventDefault();a.stopPropagation()}; Blockly.TouchGesture.prototype.handleStart=function(a){!this.isDragging()&&Blockly.Touch.isTouchEvent(a)&&(this.handleTouchStart(a),this.isMultiTouch()&&Blockly.longStop_())};Blockly.TouchGesture.prototype.handleMove=function(a){this.isDragging()?Blockly.Touch.shouldHandleEvent(a)&&Blockly.TouchGesture.superClass_.handleMove.call(this,a):this.isMultiTouch()?(Blockly.Touch.isTouchEvent(a)&&this.handleTouchMove(a),Blockly.longStop_()):Blockly.TouchGesture.superClass_.handleMove.call(this,a)}; Blockly.TouchGesture.prototype.handleUp=function(a){Blockly.Touch.isTouchEvent(a)&&!this.isDragging()&&this.handleTouchEnd(a);!this.isMultiTouch()||this.isDragging()?Blockly.Touch.shouldHandleEvent(a)&&Blockly.TouchGesture.superClass_.handleUp.call(this,a):(a.preventDefault(),a.stopPropagation(),this.dispose())};Blockly.TouchGesture.prototype.isMultiTouch=function(){return this.isMultiTouch_}; -Blockly.TouchGesture.prototype.dispose=function(){Blockly.TouchGesture.superClass_.dispose.call(this);this.onStartWrapper_&&Blockly.unbindEvent_(this.onStartWrapper_)};Blockly.TouchGesture.prototype.handleTouchStart=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);this.cachedPoints_[b]=this.getTouchPoint(a);b=Object.keys(this.cachedPoints_);2==b.length&&(this.startDistance_=Blockly.utils.Coordinate.distance(this.cachedPoints_[b[0]],this.cachedPoints_[b[1]]),this.isMultiTouch_=!0,a.preventDefault())}; +Blockly.TouchGesture.prototype.dispose=function(){Blockly.TouchGesture.superClass_.dispose.call(this);this.onStartWrapper_&&Blockly.browserEvents.unbind(this.onStartWrapper_)}; +Blockly.TouchGesture.prototype.handleTouchStart=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);this.cachedPoints_[b]=this.getTouchPoint(a);b=Object.keys(this.cachedPoints_);2==b.length&&(this.startDistance_=Blockly.utils.Coordinate.distance(this.cachedPoints_[b[0]],this.cachedPoints_[b[1]]),this.isMultiTouch_=!0,a.preventDefault())}; Blockly.TouchGesture.prototype.handleTouchMove=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);this.cachedPoints_[b]=this.getTouchPoint(a);b=Object.keys(this.cachedPoints_);this.isPinchZoomEnabled_&&2===b.length?this.handlePinch_(a):Blockly.TouchGesture.superClass_.handleMove.call(this,a)}; Blockly.TouchGesture.prototype.handlePinch_=function(a){var b=Object.keys(this.cachedPoints_);b=Blockly.utils.Coordinate.distance(this.cachedPoints_[b[0]],this.cachedPoints_[b[1]])/this.startDistance_;if(0this.previousScale_){var c=b-this.previousScale_;c=0Object.keys(this.cachedPoints_).length&&(this.cachedPoints_=Object.create(null),this.previousScale_=0)};Blockly.TouchGesture.prototype.getTouchPoint=function(a){return this.startWorkspace_?new Blockly.utils.Coordinate(a.pageX?a.pageX:a.changedTouches[0].pageX,a.pageY?a.pageY:a.changedTouches[0].pageY):null};Blockly.WorkspaceAudio=function(a){this.parentWorkspace_=a;this.SOUNDS_=Object.create(null)};Blockly.WorkspaceAudio.prototype.lastSound_=null;Blockly.WorkspaceAudio.prototype.dispose=function(){this.SOUNDS_=this.parentWorkspace_=null}; Blockly.WorkspaceAudio.prototype.load=function(a,b){if(a.length){try{var c=new Blockly.utils.global.Audio}catch(h){return}for(var d,e=0;eMath.abs(b-this.oldTop_)&&1>Math.abs(c-this.oldLeft_)||(this.oldScale_=a,this.oldTop_=b,this.oldLeft_=c,a=new Blockly.Events.ViewportChange(b,c,a,this.id),Blockly.Events.fire(a))}}; +this.themeManager_=null));this.flyoutButtonCallbacks_=this.toolboxCategoryCallbacks_=this.connectionDBList=null;if(!this.options.parentWorkspace){var a=this.getParentSvg();a&&a.parentNode&&Blockly.utils.dom.removeNode(a.parentNode)}this.resizeHandlerWrapper_&&(Blockly.browserEvents.unbind(this.resizeHandlerWrapper_),this.resizeHandlerWrapper_=null)};Blockly.WorkspaceSvg.prototype.newBlock=function(a,b){return new Blockly.BlockSvg(this,a,b)}; +Blockly.WorkspaceSvg.prototype.addTrashcan=function(){if(!Blockly.Trashcan)throw Error("Missing require for Blockly.Trashcan");this.trashcan=new Blockly.Trashcan(this);var a=this.trashcan.createDom();this.svgGroup_.insertBefore(a,this.svgBlockCanvas_);this.pluginManager_.addPlugin({id:"trashcan",plugin:this.trashcan,weight:1,types:[Blockly.PluginManager.Type.POSITIONABLE]})}; +Blockly.WorkspaceSvg.prototype.addZoomControls=function(){if(!Blockly.ZoomControls)throw Error("Missing require for Blockly.ZoomControls");this.zoomControls_=new Blockly.ZoomControls(this);var a=this.zoomControls_.createDom();this.svgGroup_.appendChild(a);this.pluginManager_.addPlugin({id:"zoomControls",plugin:this.zoomControls_,weight:2,types:[Blockly.PluginManager.Type.POSITIONABLE]})}; +Blockly.WorkspaceSvg.prototype.addFlyout=function(a){var b=new Blockly.Options({parentWorkspace:this,rtl:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,renderer:this.options.renderer,rendererOverrides:this.options.rendererOverrides,move:{scrollbars:!0}});b.toolboxPosition=this.options.toolboxPosition;this.flyout_=this.horizontalLayout?new (Blockly.registry.getClassFromOptions(Blockly.registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,this.options,!0))(b):new (Blockly.registry.getClassFromOptions(Blockly.registry.Type.FLYOUTS_VERTICAL_TOOLBOX, +this.options,!0))(b);this.flyout_.autoClose=!1;this.flyout_.getWorkspace().setVisible(!0);return this.flyout_.createDom(a)};Blockly.WorkspaceSvg.prototype.getFlyout=function(a){return this.flyout_||a?this.flyout_:this.toolbox_?this.toolbox_.getFlyout():null};Blockly.WorkspaceSvg.prototype.getToolbox=function(){return this.toolbox_};Blockly.WorkspaceSvg.prototype.updateScreenCalculations_=function(){this.updateInverseScreenCTM();this.recordDeleteAreas()}; +Blockly.WorkspaceSvg.prototype.resizeContents=function(){this.resizesEnabled_&&this.rendered&&(this.scrollbar&&this.scrollbar.resize(),this.updateInverseScreenCTM())}; +Blockly.WorkspaceSvg.prototype.resize=function(){this.toolbox_&&this.toolbox_.position();this.flyout_&&this.flyout_.position();for(var a=this.pluginManager_.getPlugins(Blockly.PluginManager.Type.POSITIONABLE,!0),b=this.getMetricsManager().getUiMetrics(),c=[],d=0,e;e=a[d];d++)e.position(b,c),c.push(e.getBoundingRectangle());this.scrollbar&&this.scrollbar.resize();this.updateScreenCalculations_()}; +Blockly.WorkspaceSvg.prototype.updateScreenCalculationsIfScrolled=function(){var a=Blockly.utils.getDocumentScroll();Blockly.utils.Coordinate.equals(this.lastRecordedPageScroll_,a)||(this.lastRecordedPageScroll_=a,this.updateScreenCalculations_())};Blockly.WorkspaceSvg.prototype.getCanvas=function(){return this.svgBlockCanvas_}; +Blockly.WorkspaceSvg.prototype.setCachedParentSvgSize=function(a,b){var c=this.getParentSvg();a&&(this.cachedParentSvgSize_.width=a,c.cachedWidth_=a);b&&(this.cachedParentSvgSize_.height=b,c.cachedHeight_=b)};Blockly.WorkspaceSvg.prototype.getBubbleCanvas=function(){return this.svgBubbleCanvas_};Blockly.WorkspaceSvg.prototype.getParentSvg=function(){if(!this.cachedParentSvg_)for(var a=this.svgGroup_;a;){if("svg"==a.tagName){this.cachedParentSvg_=a;break}a=a.parentNode}return this.cachedParentSvg_}; +Blockly.WorkspaceSvg.prototype.maybeFireViewportChangeEvent=function(){if(Blockly.Events.isEnabled()){var a=this.scale,b=-this.scrollY,c=-this.scrollX;if(!(a==this.oldScale_&&1>Math.abs(b-this.oldTop_)&&1>Math.abs(c-this.oldLeft_))){var d=new (Blockly.Events.get(Blockly.Events.VIEWPORT_CHANGE))(b,c,a,this.id,this.oldScale_);this.oldScale_=a;this.oldTop_=b;this.oldLeft_=c;Blockly.Events.fire(d)}}}; Blockly.WorkspaceSvg.prototype.translate=function(a,b){if(this.useWorkspaceDragSurface_&&this.isDragSurfaceActive_)this.workspaceDragSurface_.translateSurface(a,b);else{var c="translate("+a+","+b+") scale("+this.scale+")";this.svgBlockCanvas_.setAttribute("transform",c);this.svgBubbleCanvas_.setAttribute("transform",c)}this.blockDragSurface_&&this.blockDragSurface_.translateAndScaleGroup(a,b,this.scale);this.grid_&&this.grid_.moveTo(a,b);this.maybeFireViewportChangeEvent()}; Blockly.WorkspaceSvg.prototype.resetDragSurface=function(){if(this.useWorkspaceDragSurface_){this.isDragSurfaceActive_=!1;var a=this.workspaceDragSurface_.getSurfaceTranslation();this.workspaceDragSurface_.clearAndHide(this.svgGroup_);a="translate("+a.x+","+a.y+") scale("+this.scale+")";this.svgBlockCanvas_.setAttribute("transform",a);this.svgBubbleCanvas_.setAttribute("transform",a)}}; Blockly.WorkspaceSvg.prototype.setupDragSurface=function(){if(this.useWorkspaceDragSurface_&&!this.isDragSurfaceActive_){this.isDragSurfaceActive_=!0;var a=this.svgBlockCanvas_.previousSibling,b=parseInt(this.getParentSvg().getAttribute("width"),10),c=parseInt(this.getParentSvg().getAttribute("height"),10),d=Blockly.utils.getRelativeXY(this.getCanvas());this.workspaceDragSurface_.setContentsAndShow(this.getCanvas(),this.getBubbleCanvas(),a,b,c,this.scale);this.workspaceDragSurface_.translateSurface(d.x, @@ -740,18 +722,18 @@ Blockly.WorkspaceSvg.prototype.setVisible=function(a){this.isVisible_=a;if(this. Blockly.WorkspaceSvg.prototype.render=function(){for(var a=this.getAllBlocks(!1),b=a.length-1;0<=b;b--)a[b].render(!1);if(this.currentGesture_)for(a=this.currentGesture_.getInsertionMarkers(),b=0;b=this.remainingCapacity()||(this.currentGesture_&&this.currentGesture_.cancel(),"comment"==a.tagName.toLowerCase()?this.pasteWorkspaceComment_(a):this.pasteBlock_(a))}; -Blockly.WorkspaceSvg.prototype.pasteBlock_=function(a){Blockly.Events.disable();try{var b=Blockly.Xml.domToBlock(a,this),c=this.getMarker(Blockly.navigation.MARKER_NAME).getCurNode();if(this.keyboardAccessibilityMode&&c&&c.isConnection()){var d=c.getLocation();Blockly.navigation.insertBlock(b,d);return}var e=parseInt(a.getAttribute("x"),10),f=parseInt(a.getAttribute("y"),10);if(!isNaN(e)&&!isNaN(f)){this.RTL&&(e=-e);do{a=!1;var g=this.getAllBlocks(!1);c=0;for(var h;h=g[c];c++){var k=h.getRelativeToSurfaceXY(); -if(1>=Math.abs(e-k.x)&&1>=Math.abs(f-k.y)){a=!0;break}}if(!a){var l=b.getConnections_(!1);c=0;for(var m;m=l[c];c++)if(m.closest(Blockly.SNAP_RADIUS,new Blockly.utils.Coordinate(e,f)).connection){a=!0;break}}a&&(e=this.RTL?e-Blockly.SNAP_RADIUS:e+Blockly.SNAP_RADIUS,f+=2*Blockly.SNAP_RADIUS)}while(a);b.moveBy(e,f)}}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!b.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(b));b.select()}; +Blockly.WorkspaceSvg.prototype.pasteBlock_=function(a){Blockly.Events.disable();try{var b=Blockly.Xml.domToBlock(a,this),c=parseInt(a.getAttribute("x"),10),d=parseInt(a.getAttribute("y"),10);if(!isNaN(c)&&!isNaN(d)){this.RTL&&(c=-c);do{a=!1;for(var e=this.getAllBlocks(!1),f=0,g;g=e[f];f++){var h=g.getRelativeToSurfaceXY();if(1>=Math.abs(c-h.x)&&1>=Math.abs(d-h.y)){a=!0;break}}if(!a){var k=b.getConnections_(!1);f=0;for(var l;l=k[f];f++)if(l.closest(Blockly.SNAP_RADIUS,new Blockly.utils.Coordinate(c, +d)).connection){a=!0;break}}a&&(c=this.RTL?c-Blockly.SNAP_RADIUS:c+Blockly.SNAP_RADIUS,d+=2*Blockly.SNAP_RADIUS)}while(a);b.moveBy(c,d)}}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!b.isShadow()&&Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.BLOCK_CREATE))(b));b.select()}; Blockly.WorkspaceSvg.prototype.pasteWorkspaceComment_=function(a){Blockly.Events.disable();try{var b=Blockly.WorkspaceCommentSvg.fromXml(a,this),c=parseInt(a.getAttribute("x"),10),d=parseInt(a.getAttribute("y"),10);isNaN(c)||isNaN(d)||(this.RTL&&(c=-c),b.moveBy(c+50,d+50))}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&Blockly.WorkspaceComment.fireCreateEvent(b);b.select()}; Blockly.WorkspaceSvg.prototype.refreshToolboxSelection=function(){var a=this.isFlyout?this.targetWorkspace:this;a&&!a.currentGesture_&&a.toolbox_&&a.toolbox_.getFlyout()&&a.toolbox_.refreshSelection()};Blockly.WorkspaceSvg.prototype.renameVariableById=function(a,b){Blockly.WorkspaceSvg.superClass_.renameVariableById.call(this,a,b);this.refreshToolboxSelection()};Blockly.WorkspaceSvg.prototype.deleteVariableById=function(a){Blockly.WorkspaceSvg.superClass_.deleteVariableById.call(this,a);this.refreshToolboxSelection()}; Blockly.WorkspaceSvg.prototype.createVariable=function(a,b,c){a=Blockly.WorkspaceSvg.superClass_.createVariable.call(this,a,b,c);this.refreshToolboxSelection();return a};Blockly.WorkspaceSvg.prototype.recordDeleteAreas=function(){this.deleteAreaTrash_=this.trashcan&&this.svgGroup_.parentNode?this.trashcan.getClientRect():null;this.deleteAreaToolbox_=this.flyout_?this.flyout_.getClientRect():this.toolbox_&&"function"==typeof this.toolbox_.getClientRect?this.toolbox_.getClientRect():null}; Blockly.WorkspaceSvg.prototype.isDeleteArea=function(a){return this.deleteAreaTrash_&&this.deleteAreaTrash_.contains(a.clientX,a.clientY)?Blockly.DELETE_AREA_TRASH:this.deleteAreaToolbox_&&this.deleteAreaToolbox_.contains(a.clientX,a.clientY)?Blockly.DELETE_AREA_TOOLBOX:Blockly.DELETE_AREA_NONE};Blockly.WorkspaceSvg.prototype.onMouseDown_=function(a){var b=this.getGesture(a);b&&b.handleWsStart(a,this)}; Blockly.WorkspaceSvg.prototype.startDrag=function(a,b){a=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());a.x/=this.scale;a.y/=this.scale;this.dragDeltaXY_=Blockly.utils.Coordinate.difference(b,a)};Blockly.WorkspaceSvg.prototype.moveDrag=function(a){a=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());a.x/=this.scale;a.y/=this.scale;return Blockly.utils.Coordinate.sum(this.dragDeltaXY_,a)}; Blockly.WorkspaceSvg.prototype.isDragging=function(){return null!=this.currentGesture_&&this.currentGesture_.isDragging()};Blockly.WorkspaceSvg.prototype.isDraggable=function(){return this.options.moveOptions&&this.options.moveOptions.drag}; -Blockly.WorkspaceSvg.prototype.isContentBounded=function(){return this.options.moveOptions&&this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.controls||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch}; -Blockly.WorkspaceSvg.prototype.isMovable=function(){return this.options.moveOptions&&this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch}; +Blockly.WorkspaceSvg.prototype.isMovable=function(){return this.options.moveOptions&&!!this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch};Blockly.WorkspaceSvg.prototype.isMovableHorizontally=function(){var a=!!this.scrollbar;return this.isMovable()&&(!a||a&&this.scrollbar.canScrollHorizontally())}; +Blockly.WorkspaceSvg.prototype.isMovableVertically=function(){var a=!!this.scrollbar;return this.isMovable()&&(!a||a&&this.scrollbar.canScrollVertically())}; Blockly.WorkspaceSvg.prototype.onMouseWheel_=function(a){if(Blockly.Gesture.inProgress())a.preventDefault(),a.stopPropagation();else{var b=this.options.zoomOptions&&this.options.zoomOptions.wheel,c=this.options.moveOptions&&this.options.moveOptions.wheel;if(b||c){var d=Blockly.utils.getScrollDeltaPixels(a);!b||!a.ctrlKey&&c?(b=this.scrollX-d.x,c=this.scrollY-d.y,a.shiftKey&&!d.x&&(b=this.scrollX-d.y,c=this.scrollY),this.scroll(b,c)):(d=-d.y/50,b=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM()), -this.zoom(b.x,b.y,d));a.preventDefault()}}};Blockly.WorkspaceSvg.prototype.getBlocksBoundingBox=function(){var a=this.getTopBoundedElements();if(!a.length)return new Blockly.utils.Rect(0,0,0,0);for(var b=a[0].getBoundingRectangle(),c=1;cb.bottom&&(b.bottom=d.bottom);d.leftb.right&&(b.right=d.right)}return b}; +this.zoom(b.x,b.y,d));a.preventDefault()}}};Blockly.WorkspaceSvg.prototype.getBlocksBoundingBox=function(){var a=this.getTopBoundedElements();if(!a.length)return new Blockly.utils.Rect(0,0,0,0);for(var b=a[0].getBoundingRectangle(),c=1;cb.bottom&&(b.bottom=d.bottom),d.leftb.right&&(b.right=d.right))}return b}; Blockly.WorkspaceSvg.prototype.cleanUp=function(){this.setResizesEnabled(!1);Blockly.Events.setGroup(!0);for(var a=this.getTopBlocks(!0),b=0,c=0,d;d=a[c];c++)if(d.isMovable()){var e=d.getRelativeToSurfaceXY();d.moveBy(-e.x,b-e.y);d.snapToGrid();b=d.getRelativeToSurfaceXY().y+d.getHeightWidth().height+this.renderer_.getConstants().MIN_BLOCK_HEIGHT}Blockly.Events.setGroup(!1);this.setResizesEnabled(!0)}; Blockly.WorkspaceSvg.prototype.showContextMenu=function(a){if(!this.options.readOnly&&!this.isFlyout){var b=Blockly.ContextMenuRegistry.registry.getContextMenuOptions(Blockly.ContextMenuRegistry.ScopeType.WORKSPACE,{workspace:this});this.configureContextMenu&&this.configureContextMenu(b,a);Blockly.ContextMenu.show(a,b,this.RTL)}}; Blockly.WorkspaceSvg.prototype.updateToolbox=function(a){if(a=Blockly.utils.toolbox.convertToolboxDefToJson(a)){if(!this.options.languageTree)throw Error("Existing toolbox is null. Can't create new toolbox.");if(Blockly.utils.toolbox.hasCategories(a)){if(!this.toolbox_)throw Error("Existing toolbox has no categories. Can't change mode.");this.options.languageTree=a;this.toolbox_.render(a)}else{if(!this.flyout_)throw Error("Existing toolbox has categories. Can't change mode.");this.options.languageTree= @@ -760,18 +742,12 @@ Blockly.WorkspaceSvg.prototype.zoom=function(a,b,c){c=Math.pow(this.options.zoom e.f;this.setScale(d)}};Blockly.WorkspaceSvg.prototype.zoomCenter=function(a){var b=this.getMetrics();if(this.flyout_){var c=b.svgWidth?b.svgWidth/2:0;b=b.svgHeight?b.svgHeight/2:0}else c=b.viewWidth/2+b.absoluteLeft,b=b.viewHeight/2+b.absoluteTop;this.zoom(c,b,a)}; Blockly.WorkspaceSvg.prototype.zoomToFit=function(){if(this.isMovable()){var a=this.getMetrics(),b=a.viewWidth;a=a.viewHeight;var c=this.getBlocksBoundingBox(),d=c.right-c.left;c=c.bottom-c.top;if(d){this.flyout_&&(this.horizontalLayout?(a+=this.flyout_.getHeight(),c+=this.flyout_.getHeight()/this.scale):(b+=this.flyout_.getWidth(),d+=this.flyout_.getWidth()/this.scale));b/=d;a/=c;Blockly.Events.disable();try{this.setScale(Math.min(b,a)),this.scrollCenter()}finally{Blockly.Events.enable()}this.maybeFireViewportChangeEvent()}}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")}; Blockly.WorkspaceSvg.prototype.beginCanvasTransition=function(){Blockly.utils.dom.addClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning");Blockly.utils.dom.addClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")};Blockly.WorkspaceSvg.prototype.endCanvasTransition=function(){Blockly.utils.dom.removeClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning");Blockly.utils.dom.removeClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")}; -Blockly.WorkspaceSvg.prototype.scrollCenter=function(){if(this.isMovable()){var a=this.getMetrics(),b=(a.contentWidth-a.viewWidth)/2,c=(a.contentHeight-a.viewHeight)/2;b=-b-a.contentLeft;c=-c-a.contentTop;this.scroll(b,c)}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")}; +Blockly.WorkspaceSvg.prototype.scrollCenter=function(){if(this.isMovable()){var a=this.getMetrics(),b=(a.scrollWidth-a.viewWidth)/2,c=(a.scrollHeight-a.viewHeight)/2;b=-b-a.scrollLeft;c=-c-a.scrollTop;this.scroll(b,c)}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")}; Blockly.WorkspaceSvg.prototype.centerOnBlock=function(a){if(this.isMovable()){if(a=a?this.getBlockById(a):null){var b=a.getRelativeToSurfaceXY(),c=a.getHeightWidth(),d=this.scale;a=(b.x+(this.RTL?-1:1)*c.width/2)*d;b=(b.y+c.height/2)*d;c=this.getMetrics();this.scroll(-(a-c.viewWidth/2),-(b-c.viewHeight/2))}}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")}; Blockly.WorkspaceSvg.prototype.setScale=function(a){this.options.zoomOptions.maxScale&&a>this.options.zoomOptions.maxScale?a=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&ag.viewBottom||g.contentLeftg.viewRight){h=null;f&&(h=Blockly.Events.getGroup(),Blockly.Events.setGroup(f.group));switch(f.type){case Blockly.Events.BLOCK_CREATE:case Blockly.Events.BLOCK_MOVE:var l= -e.getBlockById(f.blockId);l&&(l=l.getRootBlock());break;case Blockly.Events.COMMENT_CREATE:case Blockly.Events.COMMENT_MOVE:l=e.getCommentById(f.commentId)}if(l){k=l.getBoundingRectangle();k.height=k.bottom-k.top;k.width=k.right-k.left;var m=g.viewTop,n=g.viewBottom-k.height;n=Math.max(m,n);m=Blockly.utils.math.clamp(m,k.top,n)-k.top;n=g.viewLeft;var p=g.viewRight-k.width;g.RTL?n=Math.min(p,n):p=Math.max(n,p);g=Blockly.utils.math.clamp(n,k.left,p)-k.left;l.moveBy(g,m)}f&&(!f.group&&l&&console.warn("Moved object in bounds but there was no event group. This may break undo."), -null!==h&&Blockly.Events.setGroup(h))}}});Blockly.svgResize(e);Blockly.WidgetDiv.createDom();Blockly.DropDownDiv.createDom();Blockly.Tooltip.createDom();return e}; -Blockly.init_=function(a){var b=a.options,c=a.getParentSvg();Blockly.bindEventWithChecks_(c.parentNode,"contextmenu",null,function(e){Blockly.utils.isTargetInput(e)||e.preventDefault()});c=Blockly.bindEventWithChecks_(window,"resize",null,function(){Blockly.hideChaff(!0);Blockly.svgResize(a)});a.setResizeHandlerWrapper(c);Blockly.inject.bindDocumentEvents_();if(b.languageTree){c=a.getToolbox();var d=a.getFlyout(!0);c?c.init():d&&(d.init(a),d.show(b.languageTree),"function"==typeof d.scrollToStart&& -d.scrollToStart())}c=Blockly.Scrollbar.scrollbarThickness;b.hasTrashcan&&(c=a.trashcan.init(c));b.zoomOptions&&b.zoomOptions.controls&&a.zoomControls_.init(c);b.moveOptions&&b.moveOptions.scrollbars?(a.scrollbar=new Blockly.ScrollbarPair(a),a.scrollbar.resize()):a.setMetrics({x:.5,y:.5});b.hasSounds&&Blockly.inject.loadSounds_(b.pathToMedia,a)}; -Blockly.inject.bindDocumentEvents_=function(){Blockly.documentEventsBound_||(Blockly.bindEventWithChecks_(document,"scroll",null,function(){for(var a=Blockly.Workspace.getAll(),b=0,c;c=a[b];b++)c.updateInverseScreenCTM&&c.updateInverseScreenCTM()}),Blockly.bindEventWithChecks_(document,"keydown",null,Blockly.onKeyDown),Blockly.bindEvent_(document,"touchend",null,Blockly.longStop_),Blockly.bindEvent_(document,"touchcancel",null,Blockly.longStop_),Blockly.utils.userAgent.IPAD&&Blockly.bindEventWithChecks_(window, -"orientationchange",document,function(){Blockly.svgResize(Blockly.getMainWorkspace())}));Blockly.documentEventsBound_=!0}; -Blockly.inject.loadSounds_=function(a,b){var c=b.getAudioManager();c.load([a+"click.mp3",a+"click.wav",a+"click.ogg"],"click");c.load([a+"disconnect.wav",a+"disconnect.mp3",a+"disconnect.ogg"],"disconnect");c.load([a+"delete.mp3",a+"delete.ogg",a+"delete.wav"],"delete");var d=[];a=function(){for(;d.length;)Blockly.unbindEvent_(d.pop());c.preload()};d.push(Blockly.bindEventWithChecks_(document,"mousemove",null,a,!0));d.push(Blockly.bindEventWithChecks_(document,"touchstart",null,a,!0))};Blockly.Names=function(a,b){this.variablePrefix_=b||"";this.reservedDict_=Object.create(null);if(a)for(a=a.split(","),b=0;bb.oldScale&&Blockly.bumpTopObjectsIntoBounds_(a)}};Blockly.bumpObjectIntoBounds_=function(a,b,c){var d=c.getBoundingRectangle(),e=d.right-d.left,f=Blockly.utils.math.clamp(b.top,d.top,b.top+b.height-(d.bottom-d.top))-d.top,g=b.left;b=b.left+b.width-e;a.RTL?g=Math.min(b,g):b=Math.max(g,b);return(a=Blockly.utils.math.clamp(g,d.left,b)-d.left)||f?(c.moveBy(a,f),!0):!1}; +Blockly.init_=function(a){var b=a.options,c=a.getParentSvg();Blockly.browserEvents.conditionalBind(c.parentNode,"contextmenu",null,function(e){Blockly.utils.isTargetInput(e)||e.preventDefault()});c=Blockly.browserEvents.conditionalBind(window,"resize",null,function(){Blockly.hideChaff(!0);Blockly.svgResize(a);Blockly.bumpTopObjectsIntoBounds_(a)});a.setResizeHandlerWrapper(c);Blockly.inject.bindDocumentEvents_();if(b.languageTree){c=a.getToolbox();var d=a.getFlyout(!0);c?c.init():d&&(d.init(a),d.show(b.languageTree), +"function"==typeof d.scrollToStart&&d.scrollToStart())}c=Blockly.Scrollbar.scrollbarThickness;b.hasTrashcan&&(c=a.trashcan.init(c));b.zoomOptions&&b.zoomOptions.controls&&a.zoomControls_.init(c);b.moveOptions&&b.moveOptions.scrollbars?(a.scrollbar=new Blockly.ScrollbarPair(a,!0===b.moveOptions.scrollbars||!!b.moveOptions.scrollbars.horizontal,!0===b.moveOptions.scrollbars||!!b.moveOptions.scrollbars.vertical,"blocklyMainWorkspaceScrollbar"),a.scrollbar.resize()):a.setMetrics({x:.5,y:.5});b.hasSounds&& +Blockly.inject.loadSounds_(b.pathToMedia,a)}; +Blockly.inject.bindDocumentEvents_=function(){Blockly.documentEventsBound_||(Blockly.browserEvents.conditionalBind(document,"scroll",null,function(){for(var a=Blockly.Workspace.getAll(),b=0,c;c=a[b];b++)c.updateInverseScreenCTM&&c.updateInverseScreenCTM()}),Blockly.browserEvents.conditionalBind(document,"keydown",null,Blockly.onKeyDown),Blockly.browserEvents.bind(document,"touchend",null,Blockly.longStop_),Blockly.browserEvents.bind(document,"touchcancel",null,Blockly.longStop_),Blockly.utils.userAgent.IPAD&& +Blockly.browserEvents.conditionalBind(window,"orientationchange",document,function(){Blockly.svgResize(Blockly.getMainWorkspace())}));Blockly.documentEventsBound_=!0}; +Blockly.inject.loadSounds_=function(a,b){var c=b.getAudioManager();c.load([a+"click.mp3",a+"click.wav",a+"click.ogg"],"click");c.load([a+"disconnect.wav",a+"disconnect.mp3",a+"disconnect.ogg"],"disconnect");c.load([a+"delete.mp3",a+"delete.ogg",a+"delete.wav"],"delete");var d=[];a=function(){for(;d.length;)Blockly.browserEvents.unbind(d.pop());c.preload()};d.push(Blockly.browserEvents.conditionalBind(document,"mousemove",null,a,!0));d.push(Blockly.browserEvents.conditionalBind(document,"touchstart", +null,a,!0))};Blockly.Names=function(a,b){this.variablePrefix_=b||"";this.reservedDict_=Object.create(null);if(a)for(a=a.split(","),b=0;bb.indexOf(d))throw Error(d+" is not a valid modifier key.");}; -Blockly.ShortcutRegistry.prototype.createSerializedKey=function(a,b){var c="";if(b){this.checkModifiers_(b);for(var d in Blockly.ShortcutRegistry.modifierKeys)-1e?Blockly.WidgetDiv.positionInternal_(a,0,c.height+e):Blockly.WidgetDiv.positionInternal_(a,e,c.height)};Blockly.WidgetDiv.calculateX_=function(a,b,c,d){if(d)return b=Math.max(b.right-c.width,a.left),Math.min(b,a.right-c.width);b=Math.min(b.left,a.right-c.width);return Math.max(b,a.left)}; -Blockly.WidgetDiv.calculateY_=function(a,b,c){return b.bottom+c.height>=a.bottom?b.top-c.height:b.bottom};Blockly.VERSION="4.20201217.0";Blockly.mainWorkspace=null;Blockly.selected=null;Blockly.draggingConnections=[];Blockly.clipboardXml_=null;Blockly.clipboardSource_=null;Blockly.clipboardTypeCounts_=null;Blockly.cache3dSupported_=null;Blockly.parentContainer=null;Blockly.svgSize=function(a){return new Blockly.utils.Size(a.cachedWidth_,a.cachedHeight_)};Blockly.resizeSvgContents=function(a){a.resizeContents()}; -Blockly.svgResize=function(a){for(;a.options.parentWorkspace;)a=a.options.parentWorkspace;var b=a.getParentSvg(),c=b.parentNode;if(c){var d=c.offsetWidth;c=c.offsetHeight;b.cachedWidth_!=d&&(b.setAttribute("width",d+"px"),b.cachedWidth_=d);b.cachedHeight_!=c&&(b.setAttribute("height",c+"px"),b.cachedHeight_=c);a.resize()}};Blockly.onKeyDown=function(a){var b=Blockly.mainWorkspace;if(b&&!(Blockly.utils.isTargetInput(a)||b.rendered&&!b.isVisible()))Blockly.ShortcutRegistry.registry.onKeyDown(b,a)}; -Blockly.deleteBlock=function(a){a.workspace.isFlyout||(Blockly.Events.setGroup(!0),Blockly.hideChaff(),a.dispose(!0,!0),Blockly.Events.setGroup(!1))};Blockly.copy=function(a){if(a=a.toCopyData())Blockly.clipboardXml_=a.xml,Blockly.clipboardSource_=a.source,Blockly.clipboardTypeCounts_=a.typeCounts}; +Blockly.Variables.createVariable_=function(a,b,c,d){var e=a.getPotentialVariableMap();c||(c=Blockly.Variables.generateUniqueName(a.isFlyout?a.targetWorkspace:a));return e?e.createVariable(c,d,b):a.createVariable(c,d,b)};Blockly.Variables.getAddedVariables=function(a,b){a=a.getAllVariables();var c=[];if(b.length!=a.length)for(var d=0;d90-b||a>-90-b&&a<-90+b?!0:!1}; -Blockly.HorizontalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.top;return this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?new Blockly.utils.Rect(-1E9,b+a.height,-1E9,1E9):new Blockly.utils.Rect(b,1E9,-1E9,1E9)}; -Blockly.HorizontalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace.scale;for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++)a=Math.max(a,d.getHeightWidth().height);a+=1.5*this.MARGIN;a*=this.workspace_.scale;a+=Blockly.Scrollbar.scrollbarThickness;if(this.height_!=a){for(c=0;d=b[c];c++)d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,d);this.targetWorkspace.toolboxPosition!=this.toolboxPosition_||this.toolboxPosition_!=Blockly.TOOLBOX_AT_TOP||this.targetWorkspace.getToolbox()|| -this.targetWorkspace.translate(this.targetWorkspace.scrollX,this.targetWorkspace.scrollY+a);this.height_=a;this.position()}};Blockly.registry.register(Blockly.registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,Blockly.registry.DEFAULT,Blockly.HorizontalFlyout);Blockly.VerticalFlyout=function(a){Blockly.VerticalFlyout.superClass_.constructor.call(this,a)};Blockly.utils.object.inherits(Blockly.VerticalFlyout,Blockly.Flyout);Blockly.VerticalFlyout.registryName="verticalFlyout"; -Blockly.VerticalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var a=this.workspace_.getCanvas().getBBox()}catch(e){a={height:0,y:0,width:0,x:0}}var b=this.SCROLLBAR_PADDING,c=this.height_-2*this.SCROLLBAR_PADDING,d=this.width_;this.RTL||(d-=this.SCROLLBAR_PADDING);return{contentHeight:a.height*this.workspace_.scale+2*this.MARGIN,contentWidth:a.width*this.workspace_.scale+2*this.MARGIN,contentTop:a.y,contentLeft:a.x,viewHeight:c,viewWidth:d,viewTop:-this.workspace_.scrollY+ -a.y,viewLeft:-this.workspace_.scrollX,absoluteTop:b,absoluteLeft:0}};Blockly.VerticalFlyout.prototype.setMetrics_=function(a){var b=this.getMetrics_();b&&("number"==typeof a.y&&(this.workspace_.scrollY=-b.contentHeight*a.y),this.workspace_.translate(this.workspace_.scrollX+b.absoluteLeft,this.workspace_.scrollY+b.absoluteTop))}; -Blockly.VerticalFlyout.prototype.getX=function(){var a=this.targetWorkspace.getMetrics();return a?this.targetWorkspace.toolboxPosition==this.toolboxPosition_?a.toolboxWidth?this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?a.toolboxWidth:a.viewWidth-this.width_:this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?0:a.viewWidth:this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?0:a.viewWidth+a.absoluteLeft-this.width_:0};Blockly.VerticalFlyout.prototype.getY=function(){return 0}; -Blockly.VerticalFlyout.prototype.position=function(){if(this.isVisible()){var a=this.targetWorkspace.getMetrics();if(a){this.height_=a.viewHeight;this.setBackgroundPath_(this.width_-this.CORNER_RADIUS,a.viewHeight-2*this.CORNER_RADIUS);a=this.getX();var b=this.getY();this.positionAt_(this.width_,this.height_,a,b)}}}; -Blockly.VerticalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT,d=a+this.CORNER_RADIUS;d=["M "+(c?d:0)+",0"];d.push("h",c?-a:a);d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?-this.CORNER_RADIUS:this.CORNER_RADIUS,this.CORNER_RADIUS);d.push("v",Math.max(0,b));d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?this.CORNER_RADIUS:-this.CORNER_RADIUS,this.CORNER_RADIUS);d.push("h",c?a:-a);d.push("z");this.svgBackground_.setAttribute("d", -d.join(" "))};Blockly.VerticalFlyout.prototype.scrollToStart=function(){this.scrollbar.set(0)};Blockly.VerticalFlyout.prototype.wheel_=function(a){var b=Blockly.utils.getScrollDeltaPixels(a);if(b.y){var c=this.getMetrics_();b=c.viewTop-c.contentTop+b.y;b=Math.min(b,c.contentHeight-c.viewHeight);b=Math.max(b,0);this.scrollbar.set(b);Blockly.WidgetDiv.hide();Blockly.DropDownDiv.hideWithoutAnimation()}a.preventDefault();a.stopPropagation()}; +Blockly.HorizontalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.top;return this.toolboxPosition_==Blockly.utils.toolbox.Position.TOP?new Blockly.utils.Rect(-1E9,b+a.height,-1E9,1E9):new Blockly.utils.Rect(b,1E9,-1E9,1E9)}; +Blockly.HorizontalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.getFlyoutScale();for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++)a=Math.max(a,d.getHeightWidth().height);a+=1.5*this.MARGIN;a*=this.workspace_.scale;a+=Blockly.Scrollbar.scrollbarThickness;if(this.height_!=a){for(c=0;d=b[c];c++)d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,d);this.targetWorkspace.toolboxPosition!=this.toolboxPosition_||this.toolboxPosition_!=Blockly.utils.toolbox.Position.TOP|| +this.targetWorkspace.getToolbox()||this.targetWorkspace.translate(this.targetWorkspace.scrollX,this.targetWorkspace.scrollY+a);this.height_=a;this.position()}};Blockly.registry.register(Blockly.registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,Blockly.registry.DEFAULT,Blockly.HorizontalFlyout);Blockly.VerticalFlyout=function(a){Blockly.VerticalFlyout.superClass_.constructor.call(this,a)};Blockly.utils.object.inherits(Blockly.VerticalFlyout,Blockly.Flyout);Blockly.VerticalFlyout.registryName="verticalFlyout"; +Blockly.VerticalFlyout.prototype.setMetrics_=function(a){if(this.isVisible()){var b=this.workspace_.getMetricsManager(),c=b.getScrollMetrics(),d=b.getViewMetrics();b=b.getAbsoluteMetrics();"number"==typeof a.y&&(this.workspace_.scrollY=-(c.top+(c.height-d.height)*a.y));this.workspace_.translate(this.workspace_.scrollX+b.left,this.workspace_.scrollY+b.top)}}; +Blockly.VerticalFlyout.prototype.getX=function(){if(!this.isVisible())return 0;var a=this.targetWorkspace.getMetricsManager(),b=a.getAbsoluteMetrics(),c=a.getViewMetrics();a=a.getToolboxMetrics();return this.targetWorkspace.toolboxPosition==this.toolboxPosition_?this.targetWorkspace.getToolbox()?this.toolboxPosition_==Blockly.utils.toolbox.Position.LEFT?a.width:c.width-this.width_:this.toolboxPosition_==Blockly.utils.toolbox.Position.LEFT?0:c.width:this.toolboxPosition_==Blockly.utils.toolbox.Position.LEFT? +0:c.width+b.left-this.width_};Blockly.VerticalFlyout.prototype.getY=function(){return 0};Blockly.VerticalFlyout.prototype.position=function(){if(this.isVisible()&&this.targetWorkspace.isVisible()){var a=this.targetWorkspace.getMetricsManager().getViewMetrics();this.height_=a.height;this.setBackgroundPath_(this.width_-this.CORNER_RADIUS,a.height-2*this.CORNER_RADIUS);a=this.getX();var b=this.getY();this.positionAt_(this.width_,this.height_,a,b)}}; +Blockly.VerticalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_==Blockly.utils.toolbox.Position.RIGHT,d=a+this.CORNER_RADIUS;d=["M "+(c?d:0)+",0"];d.push("h",c?-a:a);d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?-this.CORNER_RADIUS:this.CORNER_RADIUS,this.CORNER_RADIUS);d.push("v",Math.max(0,b));d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?this.CORNER_RADIUS:-this.CORNER_RADIUS,this.CORNER_RADIUS);d.push("h",c?a:-a);d.push("z");this.svgBackground_.setAttribute("d", +d.join(" "))};Blockly.VerticalFlyout.prototype.scrollToStart=function(){this.workspace_.scrollbar.setY(0)};Blockly.VerticalFlyout.prototype.wheel_=function(a){var b=Blockly.utils.getScrollDeltaPixels(a);if(b.y){var c=this.workspace_.getMetricsManager(),d=c.getScrollMetrics();b=c.getViewMetrics().top-d.top+b.y;this.workspace_.scrollbar.setY(b);Blockly.WidgetDiv.hide();Blockly.DropDownDiv.hideWithoutAnimation()}a.preventDefault();a.stopPropagation()}; Blockly.VerticalFlyout.prototype.layout_=function(a,b){this.workspace_.scale=this.targetWorkspace.scale;for(var c=this.MARGIN,d=this.RTL?c:c+this.tabWidth_,e=0,f;f=a[e];e++)if("block"==f.type){f=f.block;for(var g=f.getDescendants(!1),h=0,k;k=g[h];h++)k.isInFlyout=!0;f.render();g=f.getSvgRoot();h=f.getHeightWidth();k=f.outputConnection?d-this.tabWidth_:d;f.moveBy(k,c);k=this.createRect_(f,this.RTL?k-h.width:k,c,h,e);this.addBlockListeners_(g,f,k);c+=h.height+b[e]}else"button"==f.type&&(this.initFlyoutButton_(f.button, -d,c),c+=f.button.height+b[e])};Blockly.VerticalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=this.dragAngleRange_;return a-b||a<-180+b||a>180-b?!0:!1};Blockly.VerticalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.left;return this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?new Blockly.utils.Rect(-1E9,1E9,-1E9,b+a.width):new Blockly.utils.Rect(-1E9,1E9,b,1E9)}; -Blockly.VerticalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace.scale;for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++){var e=d.getHeightWidth().width;d.outputConnection&&(e-=this.tabWidth_);a=Math.max(a,e)}for(c=0;d=this.buttons_[c];c++)a=Math.max(a,d.width);a+=1.5*this.MARGIN+this.tabWidth_;a*=this.workspace_.scale;a+=Blockly.Scrollbar.scrollbarThickness;if(this.width_!=a){for(c=0;d=b[c];c++){if(this.RTL){e=d.getRelativeToSurfaceXY().x;var f= -a/this.workspace_.scale-this.MARGIN;d.outputConnection||(f-=this.tabWidth_);d.moveBy(f-e,0)}d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,d)}if(this.RTL)for(c=0;d=this.buttons_[c];c++)b=d.getPosition().y,d.moveTo(a/this.workspace_.scale-d.width-this.MARGIN-this.tabWidth_,b);this.targetWorkspace.toolboxPosition!=this.toolboxPosition_||this.toolboxPosition_!=Blockly.TOOLBOX_AT_LEFT||this.targetWorkspace.getToolbox()||this.targetWorkspace.translate(this.targetWorkspace.scrollX+a,this.targetWorkspace.scrollY); +d,c),c+=f.button.height+b[e])};Blockly.VerticalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=this.dragAngleRange_;return a-b||a<-180+b||a>180-b?!0:!1};Blockly.VerticalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.left;return this.toolboxPosition_==Blockly.utils.toolbox.Position.LEFT?new Blockly.utils.Rect(-1E9,1E9,-1E9,b+a.width):new Blockly.utils.Rect(-1E9,1E9,b,1E9)}; +Blockly.VerticalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.getFlyoutScale();for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++){var e=d.getHeightWidth().width;d.outputConnection&&(e-=this.tabWidth_);a=Math.max(a,e)}for(c=0;d=this.buttons_[c];c++)a=Math.max(a,d.width);a+=1.5*this.MARGIN+this.tabWidth_;a*=this.workspace_.scale;a+=Blockly.Scrollbar.scrollbarThickness;if(this.width_!=a){for(c=0;d=b[c];c++){if(this.RTL){e=d.getRelativeToSurfaceXY().x;var f=a/this.workspace_.scale- +this.MARGIN;d.outputConnection||(f-=this.tabWidth_);d.moveBy(f-e,0)}d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,d)}if(this.RTL)for(c=0;d=this.buttons_[c];c++)b=d.getPosition().y,d.moveTo(a/this.workspace_.scale-d.width-this.MARGIN-this.tabWidth_,b);this.targetWorkspace.toolboxPosition!=this.toolboxPosition_||this.toolboxPosition_!=Blockly.utils.toolbox.Position.LEFT||this.targetWorkspace.getToolbox()||this.targetWorkspace.translate(this.targetWorkspace.scrollX+a,this.targetWorkspace.scrollY); this.width_=a;this.position()}};Blockly.registry.register(Blockly.registry.Type.FLYOUTS_VERTICAL_TOOLBOX,Blockly.registry.DEFAULT,Blockly.VerticalFlyout);Blockly.FlyoutButton=function(a,b,c,d){this.workspace_=a;this.targetWorkspace_=b;this.text_=c.text;this.position_=new Blockly.utils.Coordinate(0,0);this.isLabel_=d;this.callbackKey_=c.callbackKey||c.callbackkey;this.cssClass_=c["web-class"]||null;this.onMouseUpWrapper_=null;this.info=c};Blockly.FlyoutButton.MARGIN_X=5;Blockly.FlyoutButton.MARGIN_Y=2;Blockly.FlyoutButton.prototype.width=0;Blockly.FlyoutButton.prototype.height=0; Blockly.FlyoutButton.prototype.createDom=function(){var a=this.isLabel_?"blocklyFlyoutLabel":"blocklyFlyoutButton";this.cssClass_&&(a+=" "+this.cssClass_);this.svgGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{"class":a},this.workspace_.getCanvas());if(!this.isLabel_)var b=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":"blocklyFlyoutButtonShadow",rx:4,ry:4,x:1,y:1},this.svgGroup_);a=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":this.isLabel_? "blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",rx:4,ry:4},this.svgGroup_);var c=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.TEXT,{"class":this.isLabel_?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup_),d=Blockly.utils.replaceMessageReferences(this.text_);this.workspace_.RTL&&(d+="\u200f");c.textContent=d;this.isLabel_&&(this.svgText_=c,this.workspace_.getThemeManager().subscribe(this.svgText_,"flyoutForegroundColour","fill"));var e=Blockly.utils.style.getComputedStyle(c, "fontSize"),f=Blockly.utils.style.getComputedStyle(c,"fontWeight"),g=Blockly.utils.style.getComputedStyle(c,"fontFamily");this.width=Blockly.utils.dom.getFastTextWidthWithSizeString(c,e,f,g);d=Blockly.utils.dom.measureFontMetrics(d,e,f,g);this.height=d.height;this.isLabel_||(this.width+=2*Blockly.FlyoutButton.MARGIN_X,this.height+=2*Blockly.FlyoutButton.MARGIN_Y,b.setAttribute("width",this.width),b.setAttribute("height",this.height));a.setAttribute("width",this.width);a.setAttribute("height",this.height); -c.setAttribute("x",this.width/2);c.setAttribute("y",this.height/2-d.height/2+d.baseline);this.updateTransform_();this.onMouseUpWrapper_=Blockly.bindEventWithChecks_(this.svgGroup_,"mouseup",this,this.onMouseUp_);return this.svgGroup_};Blockly.FlyoutButton.prototype.show=function(){this.updateTransform_();this.svgGroup_.setAttribute("display","block")}; +c.setAttribute("x",this.width/2);c.setAttribute("y",this.height/2-d.height/2+d.baseline);this.updateTransform_();this.onMouseUpWrapper_=Blockly.browserEvents.conditionalBind(this.svgGroup_,"mouseup",this,this.onMouseUp_);return this.svgGroup_};Blockly.FlyoutButton.prototype.show=function(){this.updateTransform_();this.svgGroup_.setAttribute("display","block")}; Blockly.FlyoutButton.prototype.updateTransform_=function(){this.svgGroup_.setAttribute("transform","translate("+this.position_.x+","+this.position_.y+")")};Blockly.FlyoutButton.prototype.moveTo=function(a,b){this.position_.x=a;this.position_.y=b;this.updateTransform_()};Blockly.FlyoutButton.prototype.isLabel=function(){return this.isLabel_};Blockly.FlyoutButton.prototype.getPosition=function(){return this.position_};Blockly.FlyoutButton.prototype.getButtonText=function(){return this.text_}; -Blockly.FlyoutButton.prototype.getTargetWorkspace=function(){return this.targetWorkspace_};Blockly.FlyoutButton.prototype.dispose=function(){this.onMouseUpWrapper_&&Blockly.unbindEvent_(this.onMouseUpWrapper_);this.svgGroup_&&Blockly.utils.dom.removeNode(this.svgGroup_);this.svgText_&&this.workspace_.getThemeManager().unsubscribe(this.svgText_)}; +Blockly.FlyoutButton.prototype.getTargetWorkspace=function(){return this.targetWorkspace_};Blockly.FlyoutButton.prototype.dispose=function(){this.onMouseUpWrapper_&&Blockly.browserEvents.unbind(this.onMouseUpWrapper_);this.svgGroup_&&Blockly.utils.dom.removeNode(this.svgGroup_);this.svgText_&&this.workspace_.getThemeManager().unsubscribe(this.svgText_)}; Blockly.FlyoutButton.prototype.onMouseUp_=function(a){(a=this.targetWorkspace_.getGesture(a))&&a.cancel();this.isLabel_&&this.callbackKey_?console.warn("Labels should not have callbacks. Label text: "+this.text_):this.isLabel_||this.callbackKey_&&this.targetWorkspace_.getButtonCallback(this.callbackKey_)?this.isLabel_||this.targetWorkspace_.getButtonCallback(this.callbackKey_)(this):console.warn("Buttons should have callbacks. Button text: "+this.text_)};Blockly.Css.register(".blocklyFlyoutButton {,fill: #888;,cursor: default;,},.blocklyFlyoutButtonShadow {,fill: #666;,},.blocklyFlyoutButton:hover {,fill: #aaa;,},.blocklyFlyoutLabel {,cursor: default;,},.blocklyFlyoutLabelBackground {,opacity: 0;,}".split(","));Blockly.Generator=function(a){this.name_=a;this.FUNCTION_NAME_PLACEHOLDER_REGEXP_=new RegExp(this.FUNCTION_NAME_PLACEHOLDER_,"g")};Blockly.Generator.NAME_TYPE="generated_function";Blockly.Generator.prototype.INFINITE_LOOP_TRAP=null;Blockly.Generator.prototype.STATEMENT_PREFIX=null;Blockly.Generator.prototype.STATEMENT_SUFFIX=null;Blockly.Generator.prototype.INDENT=" ";Blockly.Generator.prototype.COMMENT_WRAP=60;Blockly.Generator.prototype.ORDER_OVERRIDES=[]; Blockly.Generator.prototype.isInitialized=null; Blockly.Generator.prototype.workspaceToCode=function(a){a||(console.warn("No workspace specified in workspaceToCode call. Guessing."),a=Blockly.getMainWorkspace());var b=[];this.init(a);a=a.getTopBlocks(!0);for(var c=0,d;d=a[c];c++){var e=this.blockToCode(d);Array.isArray(e)&&(e=e[0]);e&&(d.outputConnection&&(e=this.scrubNakedValue(e),this.STATEMENT_PREFIX&&!d.suppressPrefixSuffix&&(e=this.injectId(this.STATEMENT_PREFIX,d)+e),this.STATEMENT_SUFFIX&&!d.suppressPrefixSuffix&&(e+=this.injectId(this.STATEMENT_SUFFIX, @@ -983,51 +940,51 @@ Blockly.CollapsibleToolboxCategory.prototype.createSubCategoriesDom_=function(a) Blockly.CollapsibleToolboxCategory.prototype.setExpanded=function(a){this.expanded_!=a&&((this.expanded_=a)?(this.subcategoriesDiv_.style.display="block",this.openIcon_(this.iconDom_)):(this.subcategoriesDiv_.style.display="none",this.closeIcon_(this.iconDom_)),Blockly.utils.aria.setState(this.htmlDiv_,Blockly.utils.aria.State.EXPANDED,a),this.parentToolbox_.handleToolboxItemResize())}; Blockly.CollapsibleToolboxCategory.prototype.setVisible_=function(a){this.htmlDiv_.style.display=a?"block":"none";for(var b=0,c;c=this.getChildToolboxItems()[b];b++)c.setVisible_(a);this.isHidden_=!a;this.parentToolbox_.getSelectedItem()==this&&this.parentToolbox_.clearSelection()};Blockly.CollapsibleToolboxCategory.prototype.isExpanded=function(){return this.expanded_};Blockly.CollapsibleToolboxCategory.prototype.isCollapsible=function(){return!0}; Blockly.CollapsibleToolboxCategory.prototype.onClick=function(a){this.toggleExpanded()};Blockly.CollapsibleToolboxCategory.prototype.toggleExpanded=function(){this.setExpanded(!this.expanded_)};Blockly.CollapsibleToolboxCategory.prototype.getDiv=function(){return this.htmlDiv_};Blockly.CollapsibleToolboxCategory.prototype.getChildToolboxItems=function(){return this.toolboxItems_};Blockly.registry.register(Blockly.registry.Type.TOOLBOX_ITEM,Blockly.CollapsibleToolboxCategory.registrationName,Blockly.CollapsibleToolboxCategory);Blockly.Events.ToolboxItemSelect=function(a,b,c){Blockly.Events.ToolboxItemSelect.superClass_.constructor.call(this,c);this.oldItem=a;this.newItem=b};Blockly.utils.object.inherits(Blockly.Events.ToolboxItemSelect,Blockly.Events.UiBase);Blockly.Events.ToolboxItemSelect.prototype.type=Blockly.Events.TOOLBOX_ITEM_SELECT;Blockly.Events.ToolboxItemSelect.prototype.toJson=function(){var a=Blockly.Events.ToolboxItemSelect.superClass_.toJson.call(this);a.oldItem=this.oldItem;a.newItem=this.newItem;return a}; -Blockly.Events.ToolboxItemSelect.prototype.fromJson=function(a){Blockly.Events.ToolboxItemSelect.superClass_.fromJson.call(this,a);this.oldItem=a.oldItem;this.newItem=a.newItem};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.TOOLBOX_ITEM_SELECT,Blockly.Events.ToolboxItemSelect);Blockly.Toolbox=function(a){this.workspace_=a;this.toolboxDef_=a.options.languageTree||{contents:[]};this.horizontalLayout_=a.options.horizontalLayout;this.contentsDiv_=this.HtmlDiv=null;this.contents_=[];this.height_=this.width_=0;this.RTL=a.options.RTL;this.flyout_=null;this.contentMap_={};this.toolboxPosition=a.options.toolboxPosition;this.previouslySelectedItem_=this.selectedItem_=null;this.boundEvents_=[]}; +Blockly.Events.ToolboxItemSelect.prototype.fromJson=function(a){Blockly.Events.ToolboxItemSelect.superClass_.fromJson.call(this,a);this.oldItem=a.oldItem;this.newItem=a.newItem};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.TOOLBOX_ITEM_SELECT,Blockly.Events.ToolboxItemSelect);Blockly.Toolbox=function(a){this.workspace_=a;this.toolboxDef_=a.options.languageTree||{contents:[]};this.horizontalLayout_=a.options.horizontalLayout;this.contentsDiv_=this.HtmlDiv=null;this.contents_=[];this.height_=this.width_=0;this.RTL=a.options.RTL;this.flyout_=null;this.contentMap_={};this.toolboxPosition=a.options.toolboxPosition;this.previouslySelectedItem_=this.selectedItem_=null;this.boundEvents_=[]};Blockly.Toolbox.prototype.onShortcut=function(a){return!1}; Blockly.Toolbox.prototype.init=function(){var a=this.workspace_,b=a.getParentSvg();this.flyout_=this.createFlyout_();this.HtmlDiv=this.createDom_(this.workspace_);Blockly.utils.dom.insertAfter(this.flyout_.createDom("svg"),b);this.flyout_.init(a);this.render(this.toolboxDef_);a=a.getThemeManager();a.subscribe(this.HtmlDiv,"toolboxBackgroundColour","background-color");a.subscribe(this.HtmlDiv,"toolboxForegroundColour","color")}; Blockly.Toolbox.prototype.createDom_=function(a){a=a.getParentSvg();var b=this.createContainer_();this.contentsDiv_=this.createContentsContainer_();this.contentsDiv_.tabIndex=0;Blockly.utils.aria.setRole(this.contentsDiv_,Blockly.utils.aria.Role.TREE);b.appendChild(this.contentsDiv_);a.parentNode.insertBefore(b,a);this.attachEvents_(b,this.contentsDiv_);return b}; Blockly.Toolbox.prototype.createContainer_=function(){var a=document.createElement("div");a.setAttribute("layout",this.isHorizontal()?"h":"v");Blockly.utils.dom.addClass(a,"blocklyToolboxDiv");Blockly.utils.dom.addClass(a,"blocklyNonSelectable");a.setAttribute("dir",this.RTL?"RTL":"LTR");return a}; -Blockly.Toolbox.prototype.createContentsContainer_=function(){var a=document.createElement("div");Blockly.utils.dom.addClass(a,"blocklyToolboxContents");this.isHorizontal()&&(a.style.flexDirection="row");return a};Blockly.Toolbox.prototype.attachEvents_=function(a,b){a=Blockly.bindEventWithChecks_(a,"click",this,this.onClick_,!1,!0);this.boundEvents_.push(a);b=Blockly.bindEventWithChecks_(b,"keydown",this,this.onKeyDown_,!1,!0);this.boundEvents_.push(b)}; +Blockly.Toolbox.prototype.createContentsContainer_=function(){var a=document.createElement("div");Blockly.utils.dom.addClass(a,"blocklyToolboxContents");this.isHorizontal()&&(a.style.flexDirection="row");return a};Blockly.Toolbox.prototype.attachEvents_=function(a,b){a=Blockly.browserEvents.conditionalBind(a,"click",this,this.onClick_,!1,!0);this.boundEvents_.push(a);b=Blockly.browserEvents.conditionalBind(b,"keydown",this,this.onKeyDown_,!1,!0);this.boundEvents_.push(b)}; Blockly.Toolbox.prototype.onClick_=function(a){if(Blockly.utils.isRightButton(a)||a.target==this.HtmlDiv)Blockly.hideChaff(!1);else{var b=a.target.getAttribute("id");b&&(b=this.getToolboxItemById(b),b.isSelectable()&&(this.setSelectedItem(b),b.onClick(a)));Blockly.hideChaff(!0)}Blockly.Touch.clearTouchIdentifier()}; Blockly.Toolbox.prototype.onKeyDown_=function(a){var b=!1;switch(a.keyCode){case Blockly.utils.KeyCodes.DOWN:b=this.selectNext_();break;case Blockly.utils.KeyCodes.UP:b=this.selectPrevious_();break;case Blockly.utils.KeyCodes.LEFT:b=this.selectParent_();break;case Blockly.utils.KeyCodes.RIGHT:b=this.selectChild_();break;case Blockly.utils.KeyCodes.ENTER:case Blockly.utils.KeyCodes.SPACE:this.selectedItem_&&this.selectedItem_.isCollapsible()&&(this.selectedItem_.toggleExpanded(),b=!0);break;default:b= !1}!b&&this.selectedItem_&&this.selectedItem_.onKeyDown&&(b=this.selectedItem_.onKeyDown(a));b&&a.preventDefault()}; -Blockly.Toolbox.prototype.createFlyout_=function(){var a=this.workspace_,b=new Blockly.Options({parentWorkspace:a,rtl:a.RTL,oneBasedIndex:a.options.oneBasedIndex,horizontalLayout:a.horizontalLayout,renderer:a.options.renderer,rendererOverrides:a.options.rendererOverrides});b.toolboxPosition=a.options.toolboxPosition;a=a.horizontalLayout?Blockly.registry.getClassFromOptions(Blockly.registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,a.options):Blockly.registry.getClassFromOptions(Blockly.registry.Type.FLYOUTS_VERTICAL_TOOLBOX, -a.options);if(!a)throw Error("Blockly.VerticalFlyout, Blockly.HorizontalFlyout or your own custom flyout must be required.");return new a(b)};Blockly.Toolbox.prototype.render=function(a){this.toolboxDef_=a;for(var b=0;b>>/handdelete.cur"), auto;',"}",".blocklyToolboxGrab {",'cursor: url("<<>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyToolboxDiv {","background-color: #ddd;","overflow-x: visible;","overflow-y: auto;","padding: 4px 0 4px 0;","position: absolute;","z-index: 70;","-webkit-tap-highlight-color: transparent;","}",".blocklyToolboxContents {","display: flex;","flex-wrap: wrap;","flex-direction: column;", "}",".blocklyToolboxContents:focus {","outline: none;","}"]);Blockly.registry.register(Blockly.registry.Type.TOOLBOX,Blockly.registry.DEFAULT,Blockly.Toolbox);Blockly.Events.TrashcanOpen=function(a,b){Blockly.Events.TrashcanOpen.superClass_.constructor.call(this,b);this.isOpen=a};Blockly.utils.object.inherits(Blockly.Events.TrashcanOpen,Blockly.Events.UiBase);Blockly.Events.TrashcanOpen.prototype.type=Blockly.Events.TRASHCAN_OPEN;Blockly.Events.TrashcanOpen.prototype.toJson=function(){var a=Blockly.Events.TrashcanOpen.superClass_.toJson.call(this);a.isOpen=this.isOpen;return a}; -Blockly.Events.TrashcanOpen.prototype.fromJson=function(a){Blockly.Events.TrashcanOpen.superClass_.fromJson.call(this,a);this.isOpen=a.isOpen};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.TRASHCAN_OPEN,Blockly.Events.TrashcanOpen);Blockly.Trashcan=function(a){this.workspace_=a;this.contents_=[];this.flyout=null;if(!(0>=this.workspace_.options.maxTrashcanContents)){a=new Blockly.Options({scrollbars:!0,parentWorkspace:this.workspace_,rtl:this.workspace_.RTL,oneBasedIndex:this.workspace_.options.oneBasedIndex,renderer:this.workspace_.options.renderer,rendererOverrides:this.workspace_.options.rendererOverrides});if(this.workspace_.horizontalLayout){a.toolboxPosition=this.workspace_.toolboxPosition==Blockly.utils.toolbox.Position.TOP? -Blockly.utils.toolbox.Position.BOTTOM:Blockly.utils.toolbox.Position.TOP;if(!Blockly.HorizontalFlyout)throw Error("Missing require for Blockly.HorizontalFlyout");this.flyout=new Blockly.HorizontalFlyout(a)}else{a.toolboxPosition=this.workspace_.toolboxPosition==Blockly.utils.toolbox.Position.RIGHT?Blockly.utils.toolbox.Position.LEFT:Blockly.utils.toolbox.Position.RIGHT;if(!Blockly.VerticalFlyout)throw Error("Missing require for Blockly.VerticalFlyout");this.flyout=new Blockly.VerticalFlyout(a)}this.workspace_.addChangeListener(this.onDelete_.bind(this))}}; -Blockly.Trashcan.prototype.WIDTH_=47;Blockly.Trashcan.prototype.BODY_HEIGHT_=44;Blockly.Trashcan.prototype.LID_HEIGHT_=16;Blockly.Trashcan.prototype.MARGIN_BOTTOM_=20;Blockly.Trashcan.prototype.MARGIN_SIDE_=20;Blockly.Trashcan.prototype.MARGIN_HOTSPOT_=10;Blockly.Trashcan.prototype.SPRITE_LEFT_=0;Blockly.Trashcan.prototype.SPRITE_TOP_=32;Blockly.Trashcan.prototype.HAS_BLOCKS_LID_ANGLE_=.1;Blockly.Trashcan.ANIMATION_LENGTH_=80;Blockly.Trashcan.ANIMATION_FRAMES_=4;Blockly.Trashcan.OPACITY_MIN_=.4; -Blockly.Trashcan.OPACITY_MAX_=.8;Blockly.Trashcan.MAX_LID_ANGLE_=45;Blockly.Trashcan.prototype.isLidOpen=!1;Blockly.Trashcan.prototype.minOpenness_=0;Blockly.Trashcan.prototype.svgGroup_=null;Blockly.Trashcan.prototype.svgLid_=null;Blockly.Trashcan.prototype.lidTask_=0;Blockly.Trashcan.prototype.lidOpen_=0;Blockly.Trashcan.prototype.left_=0;Blockly.Trashcan.prototype.top_=0; +Blockly.Events.TrashcanOpen.prototype.fromJson=function(a){Blockly.Events.TrashcanOpen.superClass_.fromJson.call(this,a);this.isOpen=a.isOpen};Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.TRASHCAN_OPEN,Blockly.Events.TrashcanOpen);Blockly.IPlugin=function(){};Blockly.IPositionable=function(){};Blockly.Trashcan=function(a){this.workspace_=a;this.contents_=[];this.flyout=null;0>=this.workspace_.options.maxTrashcanContents||(a=new Blockly.Options({scrollbars:!0,parentWorkspace:this.workspace_,rtl:this.workspace_.RTL,oneBasedIndex:this.workspace_.options.oneBasedIndex,renderer:this.workspace_.options.renderer,rendererOverrides:this.workspace_.options.rendererOverrides,move:{scrollbars:!0}}),this.workspace_.horizontalLayout?(a.toolboxPosition=this.workspace_.toolboxPosition==Blockly.utils.toolbox.Position.TOP? +Blockly.utils.toolbox.Position.BOTTOM:Blockly.utils.toolbox.Position.TOP,this.flyout=new (Blockly.registry.getClassFromOptions(Blockly.registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,this.workspace_.options,!0))(a)):(a.toolboxPosition=this.workspace_.toolboxPosition==Blockly.utils.toolbox.Position.RIGHT?Blockly.utils.toolbox.Position.LEFT:Blockly.utils.toolbox.Position.RIGHT,this.flyout=new (Blockly.registry.getClassFromOptions(Blockly.registry.Type.FLYOUTS_VERTICAL_TOOLBOX,this.workspace_.options,!0))(a)), +this.workspace_.addChangeListener(this.onDelete_.bind(this)))};Blockly.Trashcan.prototype.WIDTH_=47;Blockly.Trashcan.prototype.BODY_HEIGHT_=44;Blockly.Trashcan.prototype.LID_HEIGHT_=16;Blockly.Trashcan.prototype.MARGIN_BOTTOM_=20;Blockly.Trashcan.prototype.MARGIN_SIDE_=20;Blockly.Trashcan.prototype.MARGIN_HOTSPOT_=10;Blockly.Trashcan.prototype.SPRITE_LEFT_=0;Blockly.Trashcan.prototype.SPRITE_TOP_=32;Blockly.Trashcan.prototype.HAS_BLOCKS_LID_ANGLE_=.1;Blockly.Trashcan.ANIMATION_LENGTH_=80; +Blockly.Trashcan.ANIMATION_FRAMES_=4;Blockly.Trashcan.OPACITY_MIN_=.4;Blockly.Trashcan.OPACITY_MAX_=.8;Blockly.Trashcan.MAX_LID_ANGLE_=45;Blockly.Trashcan.prototype.isLidOpen=!1;Blockly.Trashcan.prototype.minOpenness_=0;Blockly.Trashcan.prototype.svgGroup_=null;Blockly.Trashcan.prototype.svgLid_=null;Blockly.Trashcan.prototype.lidTask_=0;Blockly.Trashcan.prototype.lidOpen_=0;Blockly.Trashcan.prototype.left_=0;Blockly.Trashcan.prototype.top_=0; Blockly.Trashcan.prototype.createDom=function(){this.svgGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{"class":"blocklyTrash"},null);var a=String(Math.random()).substring(2);var b=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.CLIPPATH,{id:"blocklyTrashBodyClipPath"+a},this.svgGroup_);Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{width:this.WIDTH_,height:this.BODY_HEIGHT_,y:this.LID_HEIGHT_},b);var c=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.IMAGE,{width:Blockly.SPRITE.width, x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,"clip-path":"url(#blocklyTrashBodyClipPath"+a+")"},this.svgGroup_);c.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url);b=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.CLIPPATH,{id:"blocklyTrashLidClipPath"+a},this.svgGroup_);Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{width:this.WIDTH_,height:this.LID_HEIGHT_},b);this.svgLid_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.IMAGE, -{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,"clip-path":"url(#blocklyTrashLidClipPath"+a+")"},this.svgGroup_);this.svgLid_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url);Blockly.bindEvent_(this.svgGroup_,"mousedown",this,this.blockMouseDownWhenOpenable_);Blockly.bindEvent_(this.svgGroup_,"mouseup",this,this.click);Blockly.bindEvent_(c,"mouseover",this,this.mouseOver_);Blockly.bindEvent_(c, -"mouseout",this,this.mouseOut_);this.animateLid_();return this.svgGroup_};Blockly.Trashcan.prototype.init=function(a){0this.minOpenness_&&1>this.lidOpen_&&(this.lidTask_=setTimeout(this.animateLid_.bind(this),Blockly.Trashcan.ANIMATION_LENGTH_/ -a))};Blockly.Trashcan.prototype.setLidAngle_=function(a){var b=this.workspace_.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT||this.workspace_.horizontalLayout&&this.workspace_.RTL;this.svgLid_.setAttribute("transform","rotate("+(b?-a:a)+","+(b?4:this.WIDTH_-4)+","+(this.LID_HEIGHT_-2)+")")};Blockly.Trashcan.prototype.setMinOpenness_=function(a){this.minOpenness_=a;this.isLidOpen||this.setLidAngle_(a*Blockly.Trashcan.MAX_LID_ANGLE_)};Blockly.Trashcan.prototype.closeLid=function(){this.setLidOpen(!1)}; -Blockly.Trashcan.prototype.click=function(){this.hasContents_()&&this.openFlyout()};Blockly.Trashcan.prototype.fireUiEvent_=function(a){a=new Blockly.Events.TrashcanOpen(a,this.workspace_.id);Blockly.Events.fire(a)};Blockly.Trashcan.prototype.blockMouseDownWhenOpenable_=function(a){!this.contentsIsOpen()&&this.hasContents_()&&a.stopPropagation()};Blockly.Trashcan.prototype.mouseOver_=function(){this.hasContents_()&&this.setLidOpen(!0)};Blockly.Trashcan.prototype.mouseOut_=function(){this.setLidOpen(!1)}; +a))};Blockly.Trashcan.prototype.setLidAngle_=function(a){var b=this.workspace_.toolboxPosition==Blockly.utils.toolbox.Position.RIGHT||this.workspace_.horizontalLayout&&this.workspace_.RTL;this.svgLid_.setAttribute("transform","rotate("+(b?-a:a)+","+(b?4:this.WIDTH_-4)+","+(this.LID_HEIGHT_-2)+")")};Blockly.Trashcan.prototype.setMinOpenness_=function(a){this.minOpenness_=a;this.isLidOpen||this.setLidAngle_(a*Blockly.Trashcan.MAX_LID_ANGLE_)};Blockly.Trashcan.prototype.closeLid=function(){this.setLidOpen(!1)}; +Blockly.Trashcan.prototype.click=function(){this.hasContents_()&&this.openFlyout()};Blockly.Trashcan.prototype.fireUiEvent_=function(a){a=new (Blockly.Events.get(Blockly.Events.TRASHCAN_OPEN))(a,this.workspace_.id);Blockly.Events.fire(a)};Blockly.Trashcan.prototype.blockMouseDownWhenOpenable_=function(a){!this.contentsIsOpen()&&this.hasContents_()&&a.stopPropagation()};Blockly.Trashcan.prototype.mouseOver_=function(){this.hasContents_()&&this.setLidOpen(!0)};Blockly.Trashcan.prototype.mouseOut_=function(){this.setLidOpen(!1)}; Blockly.Trashcan.prototype.onDelete_=function(a){if(!(0>=this.workspace_.options.maxTrashcanContents)&&a.type==Blockly.Events.BLOCK_DELETE&&a.oldXml.tagName&&"shadow"!=a.oldXml.tagName.toLowerCase()&&(a=this.cleanBlockXML_(a.oldXml),-1==this.contents_.indexOf(a))){for(this.contents_.unshift(a);this.contents_.length>this.workspace_.options.maxTrashcanContents;)this.contents_.pop();this.setMinOpenness_(this.HAS_BLOCKS_LID_ANGLE_)}}; Blockly.Trashcan.prototype.cleanBlockXML_=function(a){for(var b=a=a.cloneNode(!0);b;){b.removeAttribute&&(b.removeAttribute("x"),b.removeAttribute("y"),b.removeAttribute("id"),b.removeAttribute("disabled"),"comment"==b.nodeName&&(b.removeAttribute("h"),b.removeAttribute("w"),b.removeAttribute("pinned")));var c=b.firstChild||b.nextSibling;if(!c)for(c=b.parentNode;c;){if(c.nextSibling){c=c.nextSibling;break}c=c.parentNode}b=c}return Blockly.Xml.domToText(a)};Blockly.VariablesDynamic={};Blockly.VariablesDynamic.onCreateVariableButtonClick_String=function(a){Blockly.Variables.createVariableButtonHandler(a.getTargetWorkspace(),void 0,"String")};Blockly.VariablesDynamic.onCreateVariableButtonClick_Number=function(a){Blockly.Variables.createVariableButtonHandler(a.getTargetWorkspace(),void 0,"Number")};Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour=function(a){Blockly.Variables.createVariableButtonHandler(a.getTargetWorkspace(),void 0,"Colour")}; Blockly.VariablesDynamic.flyoutCategory=function(a){var b=[],c=document.createElement("button");c.setAttribute("text",Blockly.Msg.NEW_STRING_VARIABLE);c.setAttribute("callbackKey","CREATE_VARIABLE_STRING");b.push(c);c=document.createElement("button");c.setAttribute("text",Blockly.Msg.NEW_NUMBER_VARIABLE);c.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER");b.push(c);c=document.createElement("button");c.setAttribute("text",Blockly.Msg.NEW_COLOUR_VARIABLE);c.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR"); @@ -1035,36 +992,71 @@ b.push(c);a.registerButtonCallback("CREATE_VARIABLE_STRING",Blockly.VariablesDyn Blockly.VariablesDynamic.flyoutCategoryBlocks=function(a){a=a.getAllVariables();var b=[];if(0image, .blocklyZoom>svg>image {","opacity: .4;","}",".blocklyZoom>image:hover, .blocklyZoom>svg>image:hover {","opacity: .6;","}",".blocklyZoom>image:active, .blocklyZoom>svg>image:active {","opacity: .8;","}"]);Blockly.Mutator=function(a){Blockly.Mutator.superClass_.constructor.call(this,null);this.quarkNames_=a};Blockly.utils.object.inherits(Blockly.Mutator,Blockly.Icon);Blockly.Mutator.prototype.workspaceWidth_=0;Blockly.Mutator.prototype.workspaceHeight_=0;Blockly.Mutator.prototype.setBlock=function(a){this.block_=a};Blockly.Mutator.prototype.getWorkspace=function(){return this.workspace_}; +y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+a+")"},this.zoomResetGroup_).setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url);this.onZoomResetWrapper_=Blockly.browserEvents.conditionalBind(this.zoomResetGroup_,"mousedown",null,this.resetZoom_.bind(this))}; +Blockly.ZoomControls.prototype.resetZoom_=function(a){this.workspace_.markFocused();var b=Math.log(this.workspace_.options.zoomOptions.startScale/this.workspace_.scale)/Math.log(this.workspace_.options.zoomOptions.scaleSpeed);this.workspace_.beginCanvasTransition();this.workspace_.zoomCenter(b);this.workspace_.scrollCenter();setTimeout(this.workspace_.endCanvasTransition.bind(this.workspace_),500);this.fireZoomEvent_();Blockly.Touch.clearTouchIdentifier();a.stopPropagation();a.preventDefault()}; +Blockly.ZoomControls.prototype.fireZoomEvent_=function(){var a=new (Blockly.Events.get(Blockly.Events.CLICK))(null,this.workspace_.id,"zoom_controls");Blockly.Events.fire(a)};Blockly.Css.register([".blocklyZoom>image, .blocklyZoom>svg>image {","opacity: .4;","}",".blocklyZoom>image:hover, .blocklyZoom>svg>image:hover {","opacity: .6;","}",".blocklyZoom>image:active, .blocklyZoom>svg>image:active {","opacity: .8;","}"]);Blockly.ShortcutItems={};Blockly.ShortcutItems.names={ESCAPE:"escape",DELETE:"delete",COPY:"copy",CUT:"cut",PASTE:"paste",UNDO:"undo",REDO:"redo"};Blockly.ShortcutItems.registerEscape=function(){var a={name:Blockly.ShortcutItems.names.ESCAPE,preconditionFn:function(b){return!b.options.readOnly},callback:function(){Blockly.hideChaff();return!0}};Blockly.ShortcutRegistry.registry.register(a);Blockly.ShortcutRegistry.registry.addKeyMapping(Blockly.utils.KeyCodes.ESC,a.name)}; +Blockly.ShortcutItems.registerDelete=function(){var a={name:Blockly.ShortcutItems.names.DELETE,preconditionFn:function(b){return!b.options.readOnly&&Blockly.selected&&Blockly.selected.isDeletable()},callback:function(b,c){c.preventDefault();if(Blockly.Gesture.inProgress())return!1;Blockly.deleteBlock(Blockly.selected);return!0}};Blockly.ShortcutRegistry.registry.register(a);Blockly.ShortcutRegistry.registry.addKeyMapping(Blockly.utils.KeyCodes.DELETE,a.name);Blockly.ShortcutRegistry.registry.addKeyMapping(Blockly.utils.KeyCodes.BACKSPACE, +a.name)}; +Blockly.ShortcutItems.registerCopy=function(){var a={name:Blockly.ShortcutItems.names.COPY,preconditionFn:function(c){return!c.options.readOnly&&!Blockly.Gesture.inProgress()&&Blockly.selected&&Blockly.selected.isDeletable()&&Blockly.selected.isMovable()},callback:function(){Blockly.hideChaff();Blockly.copy(Blockly.selected);return!0}};Blockly.ShortcutRegistry.registry.register(a);var b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.C,[Blockly.utils.KeyCodes.CTRL]);Blockly.ShortcutRegistry.registry.addKeyMapping(b, +a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.C,[Blockly.utils.KeyCodes.ALT]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.C,[Blockly.utils.KeyCodes.META]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name)}; +Blockly.ShortcutItems.registerCut=function(){var a={name:Blockly.ShortcutItems.names.CUT,preconditionFn:function(c){return!c.options.readOnly&&!Blockly.Gesture.inProgress()&&Blockly.selected&&Blockly.selected.isDeletable()&&Blockly.selected.isMovable()&&!Blockly.selected.workspace.isFlyout},callback:function(){Blockly.copy(Blockly.selected);Blockly.deleteBlock(Blockly.selected);return!0}};Blockly.ShortcutRegistry.registry.register(a);var b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.X, +[Blockly.utils.KeyCodes.CTRL]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.X,[Blockly.utils.KeyCodes.ALT]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.X,[Blockly.utils.KeyCodes.META]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name)}; +Blockly.ShortcutItems.registerPaste=function(){var a={name:Blockly.ShortcutItems.names.PASTE,preconditionFn:function(c){return!c.options.readOnly&&!Blockly.Gesture.inProgress()},callback:function(){return Blockly.paste()}};Blockly.ShortcutRegistry.registry.register(a);var b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.V,[Blockly.utils.KeyCodes.CTRL]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.V, +[Blockly.utils.KeyCodes.ALT]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.V,[Blockly.utils.KeyCodes.META]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name)}; +Blockly.ShortcutItems.registerUndo=function(){var a={name:Blockly.ShortcutItems.names.UNDO,preconditionFn:function(c){return!c.options.readOnly&&!Blockly.Gesture.inProgress()},callback:function(c){Blockly.hideChaff();c.undo(!1);return!0}};Blockly.ShortcutRegistry.registry.register(a);var b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.Z,[Blockly.utils.KeyCodes.CTRL]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.Z, +[Blockly.utils.KeyCodes.ALT]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.Z,[Blockly.utils.KeyCodes.META]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name)}; +Blockly.ShortcutItems.registerRedo=function(){var a={name:Blockly.ShortcutItems.names.REDO,preconditionFn:function(c){return!Blockly.Gesture.inProgress()&&!c.options.readOnly},callback:function(c){Blockly.hideChaff();c.undo(!0);return!0}};Blockly.ShortcutRegistry.registry.register(a);var b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.Z,[Blockly.utils.KeyCodes.SHIFT,Blockly.utils.KeyCodes.CTRL]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.Z, +[Blockly.utils.KeyCodes.SHIFT,Blockly.utils.KeyCodes.ALT]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.Z,[Blockly.utils.KeyCodes.SHIFT,Blockly.utils.KeyCodes.META]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=Blockly.ShortcutRegistry.registry.createSerializedKey(Blockly.utils.KeyCodes.Y,[Blockly.utils.KeyCodes.CTRL]);Blockly.ShortcutRegistry.registry.addKeyMapping(b,a.name)}; +Blockly.ShortcutItems.registerDefaultShortcuts=function(){Blockly.ShortcutItems.registerEscape();Blockly.ShortcutItems.registerDelete();Blockly.ShortcutItems.registerCopy();Blockly.ShortcutItems.registerCut();Blockly.ShortcutItems.registerPaste();Blockly.ShortcutItems.registerUndo();Blockly.ShortcutItems.registerRedo()};Blockly.ShortcutItems.registerDefaultShortcuts();Blockly.ContextMenuItems={};Blockly.ContextMenuItems.registerUndo=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(){return Blockly.Msg.UNDO},preconditionFn:function(a){return 0b.length?Blockly.ContextMenuItems.deleteNext_(b,c):Blockly.confirm(Blockly.Msg.DELETE_ALL_BLOCKS.replace("%1",b.length),function(d){d&&Blockly.ContextMenuItems.deleteNext_(b,c)})}},scopeType:Blockly.ContextMenuRegistry.ScopeType.WORKSPACE,id:"workspaceDelete",weight:6})}; +Blockly.ContextMenuItems.registerWorkspaceOptions_=function(){Blockly.ContextMenuItems.registerUndo();Blockly.ContextMenuItems.registerRedo();Blockly.ContextMenuItems.registerCleanup();Blockly.ContextMenuItems.registerCollapse();Blockly.ContextMenuItems.registerExpand();Blockly.ContextMenuItems.registerDeleteAll()}; +Blockly.ContextMenuItems.registerDuplicate=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(){return Blockly.Msg.DUPLICATE_BLOCK},preconditionFn:function(a){a=a.block;return!a.isInFlyout&&a.isDeletable()&&a.isMovable()?a.isDuplicatable()?"enabled":"disabled":"hidden"},callback:function(a){a.block&&Blockly.duplicate(a.block)},scopeType:Blockly.ContextMenuRegistry.ScopeType.BLOCK,id:"blockDuplicate",weight:1})}; +Blockly.ContextMenuItems.registerComment=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.getCommentIcon()?Blockly.Msg.REMOVE_COMMENT:Blockly.Msg.ADD_COMMENT},preconditionFn:function(a){a=a.block;return Blockly.utils.userAgent.IE||a.isInFlyout||!a.workspace.options.comments||a.isCollapsed()||!a.isEditable()?"hidden":"enabled"},callback:function(a){a=a.block;a.getCommentIcon()?a.setCommentText(null):a.setCommentText("")},scopeType:Blockly.ContextMenuRegistry.ScopeType.BLOCK, +id:"blockComment",weight:2})}; +Blockly.ContextMenuItems.registerInline=function(){Blockly.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.getInputsInline()?Blockly.Msg.EXTERNAL_INPUTS:Blockly.Msg.INLINE_INPUTS},preconditionFn:function(a){a=a.block;if(!a.isInFlyout&&a.isMovable()&&!a.isCollapsed())for(var b=1;ba||Math.abs(this.workspaceHeight_-d)>a)this.workspaceWidth_=c,this.workspaceHeight_=d,this.bubble_.setBubbleSize(c+a,d+a),this.svgDialog_.setAttribute("width",this.workspaceWidth_), -this.svgDialog_.setAttribute("height",this.workspaceHeight_);this.block_.RTL&&(a="translate("+this.workspaceWidth_+",0)",this.workspace_.getCanvas().setAttribute("transform",a));this.workspace_.resize()};Blockly.Mutator.prototype.onBubbleMove_=function(){this.workspace_&&this.workspace_.recordDeleteAreas()}; -Blockly.Mutator.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.BubbleOpen(this.block_,a,"mutator")),a){this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.pathObject.svgPath,this.iconXY_,null,null);this.bubble_.setSvgId(this.block_.id);this.bubble_.registerMoveEvent(this.onBubbleMove_.bind(this));var b=this.workspace_.options.languageTree;a=this.workspace_.getFlyout();b&&(a.init(this.workspace_),a.show(b));this.rootBlock_= -this.block_.decompose(this.workspace_);b=this.rootBlock_.getDescendants(!1);for(var c=0,d;d=b[c];c++)d.render();this.rootBlock_.setMovable(!1);this.rootBlock_.setDeletable(!1);a?(b=2*a.CORNER_RADIUS,a=this.rootBlock_.RTL?a.getWidth()+b:b):a=b=16;this.block_.RTL&&(a=-a);this.rootBlock_.moveBy(a,b);if(this.block_.saveConnections){var e=this,f=this.block_;f.saveConnections(this.rootBlock_);this.sourceListener_=function(){f.saveConnections(e.rootBlock_)};this.block_.workspace.addChangeListener(this.sourceListener_)}this.resizeBubble_(); +rtl:this.block_.RTL,horizontalLayout:!1,renderer:this.block_.workspace.options.renderer,rendererOverrides:this.block_.workspace.options.rendererOverrides});b.toolboxPosition=this.block_.RTL?Blockly.utils.toolbox.Position.RIGHT:Blockly.utils.toolbox.Position.LEFT;if(c=!!a)b.languageTree=Blockly.utils.toolbox.convertToolboxDefToJson(a);this.workspace_=new Blockly.WorkspaceSvg(b);this.workspace_.isMutator=!0;this.workspace_.addChangeListener(Blockly.Events.disableOrphans);a=c?this.workspace_.addFlyout(Blockly.utils.Svg.G): +null;b=this.workspace_.createDom("blocklyMutatorBackground");a&&b.insertBefore(a,this.workspace_.svgBlockCanvas_);this.svgDialog_.appendChild(b);return this.svgDialog_};Blockly.Mutator.prototype.updateEditable=function(){Blockly.Mutator.superClass_.updateEditable.call(this);this.block_.isInFlyout||(this.block_.isEditable()?this.iconGroup_&&Blockly.utils.dom.removeClass(this.iconGroup_,"blocklyIconGroupReadonly"):(this.setVisible(!1),this.iconGroup_&&Blockly.utils.dom.addClass(this.iconGroup_,"blocklyIconGroupReadonly")))}; +Blockly.Mutator.prototype.resizeBubble_=function(){var a=2*Blockly.Bubble.BORDER_WIDTH,b=this.workspace_.getCanvas().getBBox(),c=b.width+b.x,d=b.height+3*a,e=this.workspace_.getFlyout();if(e){var f=e.getWorkspace().getMetricsManager().getScrollMetrics();d=Math.max(d,f.height+20);c+=e.getWidth()}this.block_.RTL&&(c=-b.x);c+=3*a;if(Math.abs(this.workspaceWidth_-c)>a||Math.abs(this.workspaceHeight_-d)>a)this.workspaceWidth_=c,this.workspaceHeight_=d,this.bubble_.setBubbleSize(c+a,d+a),this.svgDialog_.setAttribute("width", +this.workspaceWidth_),this.svgDialog_.setAttribute("height",this.workspaceHeight_),this.workspace_.setCachedParentSvgSize(this.workspaceWidth_,this.workspaceHeight_);this.block_.RTL&&(a="translate("+this.workspaceWidth_+",0)",this.workspace_.getCanvas().setAttribute("transform",a));this.workspace_.resize()};Blockly.Mutator.prototype.onBubbleMove_=function(){this.workspace_&&this.workspace_.recordDeleteAreas()}; +Blockly.Mutator.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.BUBBLE_OPEN))(this.block_,a,"mutator")),a){this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.pathObject.svgPath,this.iconXY_,null,null);this.bubble_.setSvgId(this.block_.id);this.bubble_.registerMoveEvent(this.onBubbleMove_.bind(this));var b=this.workspace_.options.languageTree;a=this.workspace_.getFlyout();b&&(a.init(this.workspace_), +a.show(b));this.rootBlock_=this.block_.decompose(this.workspace_);b=this.rootBlock_.getDescendants(!1);for(var c=0,d;d=b[c];c++)d.render();this.rootBlock_.setMovable(!1);this.rootBlock_.setDeletable(!1);a?(b=2*a.CORNER_RADIUS,a=this.rootBlock_.RTL?a.getWidth()+b:b):a=b=16;this.block_.RTL&&(a=-a);this.rootBlock_.moveBy(a,b);if(this.block_.saveConnections){var e=this,f=this.block_;f.saveConnections(this.rootBlock_);this.sourceListener_=function(){f.saveConnections(e.rootBlock_)};this.block_.workspace.addChangeListener(this.sourceListener_)}this.resizeBubble_(); this.workspace_.addChangeListener(this.workspaceChanged_.bind(this));this.applyColour()}else this.svgDialog_=null,this.workspace_.dispose(),this.rootBlock_=this.workspace_=null,this.bubble_.dispose(),this.bubble_=null,this.workspaceHeight_=this.workspaceWidth_=0,this.sourceListener_&&(this.block_.workspace.removeChangeListener(this.sourceListener_),this.sourceListener_=null)}; Blockly.Mutator.prototype.workspaceChanged_=function(a){if(!(a.isUiEvent||a.type==Blockly.Events.CHANGE&&"disabled"==a.element)){if(!this.workspace_.isDragging()){a=this.workspace_.getTopBlocks(!1);for(var b=0,c;c=a[b];b++){var d=c.getRelativeToSurfaceXY();20>d.y&&c.moveBy(0,20-d.y);if(c.RTL){var e=-20,f=this.workspace_.getFlyout();f&&(e-=f.getWidth());d.x>e&&c.moveBy(e-d.x,0)}else 20>d.x&&c.moveBy(20-d.x,0)}}if(this.rootBlock_.workspace==this.workspace_){Blockly.Events.setGroup(!0);c=this.block_; -a=(a=c.mutationToDom())&&Blockly.Xml.domToText(a);b=c.rendered;c.rendered=!1;c.compose(this.rootBlock_);c.rendered=b;c.initSvg();Blockly.getMainWorkspace().keyboardAccessibilityMode&&Blockly.navigation.moveCursorOnBlockMutation(c);c.rendered&&c.render();b=(b=c.mutationToDom())&&Blockly.Xml.domToText(b);if(a!=b){Blockly.Events.fire(new Blockly.Events.BlockChange(c,"mutation",null,a,b));var g=Blockly.Events.getGroup();setTimeout(function(){Blockly.Events.setGroup(g);c.bumpNeighbours();Blockly.Events.setGroup(!1)}, -Blockly.BUMP_DELAY)}this.workspace_.isDragging()||this.resizeBubble_();Blockly.Events.setGroup(!1)}}};Blockly.Mutator.prototype.getFlyoutMetrics_=function(){var a=this.workspace_.getFlyout();a=a?a.getWidth():0;return{contentHeight:0,contentWidth:0,contentTop:0,contentLeft:0,viewHeight:this.workspaceHeight_,viewWidth:this.workspaceWidth_-a,viewTop:0,viewLeft:0,absoluteTop:0,absoluteLeft:this.workspace_.RTL?0:a}};Blockly.Mutator.prototype.dispose=function(){this.block_.mutator=null;Blockly.Icon.prototype.dispose.call(this)}; -Blockly.Mutator.prototype.updateBlockStyle=function(){var a=this.workspace_;if(a&&a.getAllBlocks(!1)){for(var b=a.getAllBlocks(!1),c=0;c=a&&this.sourceBlock_.outputConnection&&!b}else this.fullBlockClickTarget_=!1;this.fullBlockClickTarget_?this.clickTarget_=this.sourceBlock_.getSvgRoot():this.createBorderRect_();this.createTextElement_()}; -Blockly.FieldTextInput.prototype.doClassValidation_=function(a){return null===a||void 0===a?null:String(a)};Blockly.FieldTextInput.prototype.doValueInvalid_=function(a){this.isBeingEdited_&&(this.isTextValid_=!1,a=this.value_,this.value_=this.htmlInput_.untypedDefaultValue_,this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name||null,a,this.value_)))}; +Blockly.FieldTextInput.prototype.doClassValidation_=function(a){return null===a||void 0===a?null:String(a)};Blockly.FieldTextInput.prototype.doValueInvalid_=function(a){this.isBeingEdited_&&(this.isTextValid_=!1,a=this.value_,this.value_=this.htmlInput_.untypedDefaultValue_,this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new (Blockly.Events.get(Blockly.Events.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,a,this.value_)))}; Blockly.FieldTextInput.prototype.doValueUpdate_=function(a){this.isTextValid_=!0;this.value_=a;this.isBeingEdited_||(this.isDirty_=!0)};Blockly.FieldTextInput.prototype.applyColour=function(){this.sourceBlock_&&this.getConstants().FULL_BLOCK_FIELDS&&(this.borderRect_?this.borderRect_.setAttribute("stroke",this.sourceBlock_.style.colourTertiary):this.sourceBlock_.pathObject.svgPath.setAttribute("fill",this.getConstants().FIELD_BORDER_RECT_COLOUR))}; Blockly.FieldTextInput.prototype.render_=function(){Blockly.FieldTextInput.superClass_.render_.call(this);if(this.isBeingEdited_){this.resizeEditor_();var a=this.htmlInput_;this.isTextValid_?(Blockly.utils.dom.removeClass(a,"blocklyInvalidInput"),Blockly.utils.aria.setState(a,Blockly.utils.aria.State.INVALID,!1)):(Blockly.utils.dom.addClass(a,"blocklyInvalidInput"),Blockly.utils.aria.setState(a,Blockly.utils.aria.State.INVALID,!0))}}; Blockly.FieldTextInput.prototype.setSpellcheck=function(a){a!=this.spellcheck_&&(this.spellcheck_=a,this.htmlInput_&&this.htmlInput_.setAttribute("spellcheck",this.spellcheck_))};Blockly.FieldTextInput.prototype.showEditor_=function(a,b){this.workspace_=this.sourceBlock_.workspace;a=b||!1;!a&&(Blockly.utils.userAgent.MOBILE||Blockly.utils.userAgent.ANDROID||Blockly.utils.userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(a)}; @@ -1072,8 +1064,8 @@ Blockly.FieldTextInput.prototype.showPromptEditor_=function(){Blockly.prompt(Blo Blockly.FieldTextInput.prototype.widgetCreate_=function(){var a=Blockly.WidgetDiv.DIV;Blockly.utils.dom.addClass(this.getClickTarget_(),"editing");var b=document.createElement("input");b.className="blocklyHtmlInput";b.setAttribute("spellcheck",this.spellcheck_);var c=this.workspace_.getScale(),d=this.getConstants().FIELD_TEXT_FONTSIZE*c+"pt";a.style.fontSize=d;b.style.fontSize=d;d=Blockly.FieldTextInput.BORDERRADIUS*c+"px";if(this.fullBlockClickTarget_){d=this.getScaledBBox();d=(d.bottom-d.top)/2+ "px";var e=this.sourceBlock_.getParent()?this.sourceBlock_.getParent().style.colourTertiary:this.sourceBlock_.style.colourTertiary;b.style.border=1*c+"px solid "+e;a.style.borderRadius=d;a.style.transition="box-shadow 0.25s ease 0s";this.getConstants().FIELD_TEXTINPUT_BOX_SHADOW&&(a.style.boxShadow="rgba(255, 255, 255, 0.3) 0px 0px 0px "+4*c+"px")}b.style.borderRadius=d;a.appendChild(b);b.value=b.defaultValue=this.getEditorText_(this.value_);b.untypedDefaultValue_=this.value_;b.oldValue_=null;this.resizeEditor_(); this.bindInputEvents_(b);return b};Blockly.FieldTextInput.prototype.widgetDispose_=function(){this.isBeingEdited_=!1;this.isTextValid_=!0;this.forceRerender();if(this.onFinishEditing_)this.onFinishEditing_(this.value_);this.unbindInputEvents_();var a=Blockly.WidgetDiv.DIV.style;a.width="auto";a.height="auto";a.fontSize="";a.transition="";a.boxShadow="";this.htmlInput_=null;Blockly.utils.dom.removeClass(this.getClickTarget_(),"editing")}; -Blockly.FieldTextInput.prototype.bindInputEvents_=function(a){this.onKeyDownWrapper_=Blockly.bindEventWithChecks_(a,"keydown",this,this.onHtmlInputKeyDown_);this.onKeyInputWrapper_=Blockly.bindEventWithChecks_(a,"input",this,this.onHtmlInputChange_)}; -Blockly.FieldTextInput.prototype.unbindInputEvents_=function(){this.onKeyDownWrapper_&&(Blockly.unbindEvent_(this.onKeyDownWrapper_),this.onKeyDownWrapper_=null);this.onKeyInputWrapper_&&(Blockly.unbindEvent_(this.onKeyInputWrapper_),this.onKeyInputWrapper_=null)}; +Blockly.FieldTextInput.prototype.bindInputEvents_=function(a){this.onKeyDownWrapper_=Blockly.browserEvents.conditionalBind(a,"keydown",this,this.onHtmlInputKeyDown_);this.onKeyInputWrapper_=Blockly.browserEvents.conditionalBind(a,"input",this,this.onHtmlInputChange_)}; +Blockly.FieldTextInput.prototype.unbindInputEvents_=function(){this.onKeyDownWrapper_&&(Blockly.browserEvents.unbind(this.onKeyDownWrapper_),this.onKeyDownWrapper_=null);this.onKeyInputWrapper_&&(Blockly.browserEvents.unbind(this.onKeyInputWrapper_),this.onKeyInputWrapper_=null)}; Blockly.FieldTextInput.prototype.onHtmlInputKeyDown_=function(a){a.keyCode==Blockly.utils.KeyCodes.ENTER?(Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation()):a.keyCode==Blockly.utils.KeyCodes.ESC?(this.htmlInput_.value=this.htmlInput_.defaultValue,Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation()):a.keyCode==Blockly.utils.KeyCodes.TAB&&(Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation(),this.sourceBlock_.tab(this,!a.shiftKey),a.preventDefault())}; Blockly.FieldTextInput.prototype.onHtmlInputChange_=function(a){a=this.htmlInput_.value;a!==this.htmlInput_.oldValue_&&(this.htmlInput_.oldValue_=a,Blockly.Events.setGroup(!0),a=this.getValueFromEditorText_(a),this.setValue(a),this.forceRerender(),this.resizeEditor_(),Blockly.Events.setGroup(!1))};Blockly.FieldTextInput.prototype.setEditorValue_=function(a){this.isDirty_=!0;this.isBeingEdited_&&(this.htmlInput_.value=this.getEditorText_(a));this.setValue(a)}; Blockly.FieldTextInput.prototype.resizeEditor_=function(){var a=Blockly.WidgetDiv.DIV,b=this.getScaledBBox();a.style.width=b.right-b.left+"px";a.style.height=b.bottom-b.top+"px";b=new Blockly.utils.Coordinate(this.sourceBlock_.RTL?b.right-a.offsetWidth:b.left,b.top);a.style.left=b.x+"px";a.style.top=b.y+"px"};Blockly.FieldTextInput.prototype.isTabNavigable=function(){return!0};Blockly.FieldTextInput.prototype.getText_=function(){return this.isBeingEdited_&&this.htmlInput_?this.htmlInput_.value:null}; @@ -1084,8 +1076,8 @@ Blockly.FieldAngle.prototype.initView=function(){Blockly.FieldAngle.superClass_. Blockly.FieldAngle.prototype.showEditor_=function(a){Blockly.FieldAngle.superClass_.showEditor_.call(this,a,Blockly.utils.userAgent.MOBILE||Blockly.utils.userAgent.ANDROID||Blockly.utils.userAgent.IPAD);a=this.dropdownCreate_();Blockly.DropDownDiv.getContentDiv().appendChild(a);Blockly.DropDownDiv.setColour(this.sourceBlock_.style.colourPrimary,this.sourceBlock_.style.colourTertiary);Blockly.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this));this.updateGraph_()}; Blockly.FieldAngle.prototype.dropdownCreate_=function(){var a=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.SVG,{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",height:2*Blockly.FieldAngle.HALF+"px",width:2*Blockly.FieldAngle.HALF+"px",style:"touch-action: none"},null),b=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.CIRCLE,{cx:Blockly.FieldAngle.HALF,cy:Blockly.FieldAngle.HALF,r:Blockly.FieldAngle.RADIUS,"class":"blocklyAngleCircle"}, a);this.gauge_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.PATH,{"class":"blocklyAngleGauge"},a);this.line_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.LINE,{x1:Blockly.FieldAngle.HALF,y1:Blockly.FieldAngle.HALF,"class":"blocklyAngleLine"},a);for(var c=0;360>c;c+=15)Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.LINE,{x1:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS,y1:Blockly.FieldAngle.HALF,x2:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS-(0==c%45?10:5),y2:Blockly.FieldAngle.HALF, -"class":"blocklyAngleMarks",transform:"rotate("+c+","+Blockly.FieldAngle.HALF+","+Blockly.FieldAngle.HALF+")"},a);this.clickWrapper_=Blockly.bindEventWithChecks_(a,"click",this,this.hide_);this.clickSurfaceWrapper_=Blockly.bindEventWithChecks_(b,"click",this,this.onMouseMove_,!0,!0);this.moveSurfaceWrapper_=Blockly.bindEventWithChecks_(b,"mousemove",this,this.onMouseMove_,!0,!0);return a}; -Blockly.FieldAngle.prototype.dropdownDispose_=function(){this.clickWrapper_&&(Blockly.unbindEvent_(this.clickWrapper_),this.clickWrapper_=null);this.clickSurfaceWrapper_&&(Blockly.unbindEvent_(this.clickSurfaceWrapper_),this.clickSurfaceWrapper_=null);this.moveSurfaceWrapper_&&(Blockly.unbindEvent_(this.moveSurfaceWrapper_),this.moveSurfaceWrapper_=null);this.line_=this.gauge_=null};Blockly.FieldAngle.prototype.hide_=function(){Blockly.DropDownDiv.hideIfOwner(this);Blockly.WidgetDiv.hide()}; +"class":"blocklyAngleMarks",transform:"rotate("+c+","+Blockly.FieldAngle.HALF+","+Blockly.FieldAngle.HALF+")"},a);this.clickWrapper_=Blockly.browserEvents.conditionalBind(a,"click",this,this.hide_);this.clickSurfaceWrapper_=Blockly.browserEvents.conditionalBind(b,"click",this,this.onMouseMove_,!0,!0);this.moveSurfaceWrapper_=Blockly.browserEvents.conditionalBind(b,"mousemove",this,this.onMouseMove_,!0,!0);return a}; +Blockly.FieldAngle.prototype.dropdownDispose_=function(){this.clickWrapper_&&(Blockly.browserEvents.unbind(this.clickWrapper_),this.clickWrapper_=null);this.clickSurfaceWrapper_&&(Blockly.browserEvents.unbind(this.clickSurfaceWrapper_),this.clickSurfaceWrapper_=null);this.moveSurfaceWrapper_&&(Blockly.browserEvents.unbind(this.moveSurfaceWrapper_),this.moveSurfaceWrapper_=null);this.line_=this.gauge_=null};Blockly.FieldAngle.prototype.hide_=function(){Blockly.DropDownDiv.hideIfOwner(this);Blockly.WidgetDiv.hide()}; Blockly.FieldAngle.prototype.onMouseMove_=function(a){var b=this.gauge_.ownerSVGElement.getBoundingClientRect(),c=a.clientX-b.left-Blockly.FieldAngle.HALF;a=a.clientY-b.top-Blockly.FieldAngle.HALF;b=Math.atan(-a/c);isNaN(b)||(b=Blockly.utils.math.toDegrees(b),0>c?b+=180:0a?0>e&&0e&&(e=0):0d-1&&fd-1&&e--:0>b?0>f&&(f=0):0Math.floor(c.length/d)-1&&(f=Math.floor(c.length/d)-1);this.setHighlightedCell_(this.picker_.childNodes[f].childNodes[e],f*d+e)}; Blockly.FieldColour.prototype.onMouseMove_=function(a){var b=(a=a.target)&&Number(a.getAttribute("data-index"));null!==b&&b!==this.highlightedIndex_&&this.setHighlightedCell_(a,b)};Blockly.FieldColour.prototype.onMouseEnter_=function(){this.picker_.focus({preventScroll:!0})};Blockly.FieldColour.prototype.onMouseLeave_=function(){this.picker_.blur();var a=this.getHighlighted_();a&&Blockly.utils.dom.removeClass(a,"blocklyColourHighlighted")}; Blockly.FieldColour.prototype.getHighlighted_=function(){var a=this.columns_||Blockly.FieldColour.COLUMNS,b=this.picker_.childNodes[Math.floor(this.highlightedIndex_/a)];return b?b.childNodes[this.highlightedIndex_%a]:null}; Blockly.FieldColour.prototype.setHighlightedCell_=function(a,b){var c=this.getHighlighted_();c&&Blockly.utils.dom.removeClass(c,"blocklyColourHighlighted");Blockly.utils.dom.addClass(a,"blocklyColourHighlighted");this.highlightedIndex_=b;Blockly.utils.aria.setState(this.picker_,Blockly.utils.aria.State.ACTIVEDESCENDANT,a.getAttribute("id"))}; Blockly.FieldColour.prototype.dropdownCreate_=function(){var a=this.columns_||Blockly.FieldColour.COLUMNS,b=this.colours_||Blockly.FieldColour.COLOURS,c=this.titles_||Blockly.FieldColour.TITLES,d=this.getValue(),e=document.createElement("table");e.className="blocklyColourTable";e.tabIndex=0;e.dir="ltr";Blockly.utils.aria.setRole(e,Blockly.utils.aria.Role.GRID);Blockly.utils.aria.setState(e,Blockly.utils.aria.State.EXPANDED,!0);Blockly.utils.aria.setState(e,Blockly.utils.aria.State.ROWCOUNT,Math.floor(b.length/ a));Blockly.utils.aria.setState(e,Blockly.utils.aria.State.COLCOUNT,a);for(var f,g=0;gtr>td {","border: .5px solid #888;","box-sizing: border-box;","cursor: pointer;","display: inline-block;","height: 20px;","padding: 0;","width: 20px;","}",".blocklyColourTable>tr>td.blocklyColourHighlighted {","border-color: #eee;","box-shadow: 2px 2px 7px 2px rgba(0,0,0,.3);","position: relative;","}",".blocklyColourSelected, .blocklyColourSelected:hover {", "border-color: #eee !important;","outline: 1px solid #333;","position: relative;","}"]);Blockly.fieldRegistry.register("field_colour",Blockly.FieldColour);Blockly.FieldDropdown=function(a,b,c){"function"!=typeof a&&Blockly.FieldDropdown.validateOptions_(a);this.menuGenerator_=a;this.suffixField=this.prefixField=this.generatedOptions_=null;this.trimOptions_();this.selectedOption_=this.getOptions(!1)[0];Blockly.FieldDropdown.superClass_.constructor.call(this,this.selectedOption_[1],b,c);this.svgArrow_=this.arrow_=this.imageElement_=this.menu_=this.selectedMenuItem_=null};Blockly.utils.object.inherits(Blockly.FieldDropdown,Blockly.Field); -Blockly.FieldDropdown.fromJson=function(a){return new Blockly.FieldDropdown(a.options,void 0,a)};Blockly.FieldDropdown.prototype.SERIALIZABLE=!0;Blockly.FieldDropdown.CHECKMARK_OVERHANG=25;Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH=.45;Blockly.FieldDropdown.IMAGE_Y_OFFSET=5;Blockly.FieldDropdown.IMAGE_Y_PADDING=2*Blockly.FieldDropdown.IMAGE_Y_OFFSET;Blockly.FieldDropdown.ARROW_CHAR=Blockly.utils.userAgent.ANDROID?"\u25bc":"\u25be";Blockly.FieldDropdown.prototype.CURSOR="default"; +Blockly.FieldDropdown.fromJson=function(a){return new Blockly.FieldDropdown(a.options,void 0,a)};Blockly.FieldDropdown.prototype.fromXml=function(a){this.isOptionListDynamic()&&this.getOptions(!1);this.setValue(a.textContent)};Blockly.FieldDropdown.prototype.SERIALIZABLE=!0;Blockly.FieldDropdown.CHECKMARK_OVERHANG=25;Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH=.45;Blockly.FieldDropdown.IMAGE_Y_OFFSET=5;Blockly.FieldDropdown.IMAGE_Y_PADDING=2*Blockly.FieldDropdown.IMAGE_Y_OFFSET; +Blockly.FieldDropdown.ARROW_CHAR=Blockly.utils.userAgent.ANDROID?"\u25bc":"\u25be";Blockly.FieldDropdown.prototype.CURSOR="default"; Blockly.FieldDropdown.prototype.initView=function(){this.shouldAddBorderRect_()?this.createBorderRect_():this.clickTarget_=this.sourceBlock_.getSvgRoot();this.createTextElement_();this.imageElement_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.IMAGE,{},this.fieldGroup_);this.getConstants().FIELD_DROPDOWN_SVG_ARROW?this.createSVGArrow_():this.createTextArrow_();this.borderRect_&&Blockly.utils.dom.addClass(this.borderRect_,"blocklyDropdownRect")}; Blockly.FieldDropdown.prototype.shouldAddBorderRect_=function(){return!this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW||this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW&&!this.sourceBlock_.isShadow()}; Blockly.FieldDropdown.prototype.createTextArrow_=function(){this.arrow_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.TSPAN,{},this.textElement_);this.arrow_.appendChild(document.createTextNode(this.sourceBlock_.RTL?Blockly.FieldDropdown.ARROW_CHAR+" ":" "+Blockly.FieldDropdown.ARROW_CHAR));this.sourceBlock_.RTL?this.textElement_.insertBefore(this.arrow_,this.textContent_):this.textElement_.appendChild(this.arrow_)}; @@ -1142,23 +1134,27 @@ this.getConstants().FIELD_TEXT_FONTFAMILY);a=a?this.getConstants().FIELD_BORDER_ Blockly.FieldDropdown.prototype.positionSVGArrow_=function(a,b){if(!this.svgArrow_)return 0;var c=this.borderRect_?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0,d=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_PADDING,e=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE;this.svgArrow_.setAttribute("transform","translate("+(this.sourceBlock_.RTL?c:a+d)+","+b+")");return e+d}; Blockly.FieldDropdown.prototype.getText_=function(){if(!this.selectedOption_)return null;var a=this.selectedOption_[0];return"object"==typeof a?a.alt:a}; Blockly.FieldDropdown.validateOptions_=function(a){if(!Array.isArray(a))throw TypeError("FieldDropdown options must be an array.");if(!a.length)throw TypeError("FieldDropdown options must not be an empty array.");for(var b=!1,c=0;c=c||0>=b)throw Error("Height and width values of an image field must be greater than 0.");this.flipRtl_=!1;this.altText_="";Blockly.FieldImage.superClass_.constructor.call(this, a,null,g);g||(this.flipRtl_=!!f,this.altText_=Blockly.utils.replaceMessageReferences(d)||"");this.size_=new Blockly.utils.Size(b,c+Blockly.FieldImage.Y_PADDING);this.imageHeight_=c;this.clickHandler_=null;"function"==typeof e&&(this.clickHandler_=e);this.imageElement_=null};Blockly.utils.object.inherits(Blockly.FieldImage,Blockly.Field);Blockly.FieldImage.prototype.DEFAULT_VALUE="";Blockly.FieldImage.fromJson=function(a){return new Blockly.FieldImage(a.src,a.width,a.height,void 0,void 0,void 0,a)}; Blockly.FieldImage.Y_PADDING=1;Blockly.FieldImage.prototype.EDITABLE=!1;Blockly.FieldImage.prototype.isDirty_=!1;Blockly.FieldImage.prototype.configure_=function(a){Blockly.FieldImage.superClass_.configure_.call(this,a);this.flipRtl_=!!a.flipRtl;this.altText_=Blockly.utils.replaceMessageReferences(a.alt)||""}; Blockly.FieldImage.prototype.initView=function(){this.imageElement_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.IMAGE,{height:this.imageHeight_+"px",width:this.size_.width+"px",alt:this.altText_},this.fieldGroup_);this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.value_);this.clickHandler_&&(this.imageElement_.style.cursor="pointer")};Blockly.FieldImage.prototype.updateSize_=function(){}; Blockly.FieldImage.prototype.doClassValidation_=function(a){return"string"!=typeof a?null:a};Blockly.FieldImage.prototype.doValueUpdate_=function(a){this.value_=a;this.imageElement_&&this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",String(this.value_))};Blockly.FieldImage.prototype.getFlipRtl=function(){return this.flipRtl_};Blockly.FieldImage.prototype.setAlt=function(a){a!=this.altText_&&(this.altText_=a||"",this.imageElement_&&this.imageElement_.setAttribute("alt",this.altText_))}; -Blockly.FieldImage.prototype.showEditor_=function(){this.clickHandler_&&this.clickHandler_(this)};Blockly.FieldImage.prototype.setOnClickHandler=function(a){this.clickHandler_=a};Blockly.FieldImage.prototype.getText_=function(){return this.altText_};Blockly.fieldRegistry.register("field_image",Blockly.FieldImage);Blockly.FieldMultilineInput=function(a,b,c){Blockly.FieldMultilineInput.superClass_.constructor.call(this,a,b,c);this.textGroup_=null};Blockly.utils.object.inherits(Blockly.FieldMultilineInput,Blockly.FieldTextInput);Blockly.FieldMultilineInput.fromJson=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);return new Blockly.FieldMultilineInput(b,void 0,a)};Blockly.FieldMultilineInput.prototype.toXml=function(a){a.textContent=this.getValue().replace(/\n/g," ");return a}; -Blockly.FieldMultilineInput.prototype.fromXml=function(a){this.setValue(a.textContent.replace(/ /g,"\n"))};Blockly.FieldMultilineInput.prototype.initView=function(){this.createBorderRect_();this.textGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{"class":"blocklyEditableText"},this.fieldGroup_)}; -Blockly.FieldMultilineInput.prototype.getDisplayText_=function(){var a=this.getText();if(!a)return Blockly.Field.NBSP;var b=a.split("\n");a="";for(var c=0;cthis.maxDisplayLength&&(d=d.substring(0,this.maxDisplayLength-4)+"...");d=d.replace(/\s/g,Blockly.Field.NBSP);a+=d;c!==b.length-1&&(a+="\n")}this.sourceBlock_.RTL&&(a+="\u200f");return a}; +Blockly.FieldImage.prototype.showEditor_=function(){this.clickHandler_&&this.clickHandler_(this)};Blockly.FieldImage.prototype.setOnClickHandler=function(a){this.clickHandler_=a};Blockly.FieldImage.prototype.getText_=function(){return this.altText_};Blockly.fieldRegistry.register("field_image",Blockly.FieldImage);Blockly.FieldMultilineInput=function(a,b,c){Blockly.FieldMultilineInput.superClass_.constructor.call(this,a,b,c);this.textGroup_=null;this.maxLines_=Infinity;this.isOverflowedY_=!1};Blockly.utils.object.inherits(Blockly.FieldMultilineInput,Blockly.FieldTextInput);Blockly.FieldMultilineInput.prototype.configure_=function(a){Blockly.FieldMultilineInput.superClass_.configure_.call(this,a);a.maxLines&&this.setMaxLines(a.maxLines)}; +Blockly.FieldMultilineInput.fromJson=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);return new Blockly.FieldMultilineInput(b,void 0,a)};Blockly.FieldMultilineInput.prototype.toXml=function(a){a.textContent=this.getValue().replace(/\n/g," ");return a};Blockly.FieldMultilineInput.prototype.fromXml=function(a){this.setValue(a.textContent.replace(/ /g,"\n"))}; +Blockly.FieldMultilineInput.prototype.initView=function(){this.createBorderRect_();this.textGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{"class":"blocklyEditableText"},this.fieldGroup_)}; +Blockly.FieldMultilineInput.prototype.getDisplayText_=function(){var a=this.getText();if(!a)return Blockly.Field.NBSP;var b=a.split("\n");a="";for(var c=this.isOverflowedY_?this.maxLines_:b.length,d=0;dthis.maxDisplayLength?e=e.substring(0,this.maxDisplayLength-4)+"...":this.isOverflowedY_&&d===c-1&&(e=e.substring(0,e.length-3)+"...");e=e.replace(/\s/g,Blockly.Field.NBSP);a+=e;d!==c-1&&(a+="\n")}this.sourceBlock_.RTL&&(a+="\u200f");return a}; +Blockly.FieldMultilineInput.prototype.doValueUpdate_=function(a){Blockly.FieldMultilineInput.superClass_.doValueUpdate_.call(this,a);this.isOverflowedY_=this.value_.split("\n").length>this.maxLines_}; Blockly.FieldMultilineInput.prototype.render_=function(){for(var a;a=this.textGroup_.firstChild;)this.textGroup_.removeChild(a);a=this.getDisplayText_().split("\n");for(var b=0,c=0;cb&&(b=e);c+=this.getConstants().FIELD_TEXT_HEIGHT+(0b&&(b=e);c+=this.getConstants().FIELD_TEXT_HEIGHT+(0this.maxDisplayLength&&(a[d]=a[d].substring(0,this.maxDisplayLength));e.textContent=a[d];var k=Blockly.utils.dom.getFastTextWidth(e,f,g,h);k>b&&(b=k)}b+=this.htmlInput_.offsetWidth-this.htmlInput_.clientWidth}this.borderRect_&&(c+=2*this.getConstants().FIELD_BORDER_RECT_Y_PADDING,b+=2*this.getConstants().FIELD_BORDER_RECT_X_PADDING,this.borderRect_.setAttribute("width",b),this.borderRect_.setAttribute("height",c));this.size_.width= +b;this.size_.height=c;this.positionBorderRect_()};Blockly.FieldMultilineInput.prototype.showEditor_=function(a,b){Blockly.FieldMultilineInput.superClass_.showEditor_.call(this,a,b);this.forceRerender()}; Blockly.FieldMultilineInput.prototype.widgetCreate_=function(){var a=Blockly.WidgetDiv.DIV,b=this.workspace_.getScale(),c=document.createElement("textarea");c.className="blocklyHtmlInput blocklyHtmlTextAreaInput";c.setAttribute("spellcheck",this.spellcheck_);var d=this.getConstants().FIELD_TEXT_FONTSIZE*b+"pt";a.style.fontSize=d;c.style.fontSize=d;c.style.borderRadius=Blockly.FieldTextInput.BORDERRADIUS*b+"px";d=this.getConstants().FIELD_BORDER_RECT_X_PADDING*b;var e=this.getConstants().FIELD_BORDER_RECT_Y_PADDING* b/2;c.style.padding=e+"px "+d+"px "+e+"px "+d+"px";d=this.getConstants().FIELD_TEXT_HEIGHT+this.getConstants().FIELD_BORDER_RECT_Y_PADDING;c.style.lineHeight=d*b+"px";a.appendChild(c);c.value=c.defaultValue=this.getEditorText_(this.value_);c.untypedDefaultValue_=this.value_;c.oldValue_=null;Blockly.utils.userAgent.GECKO?setTimeout(this.resizeEditor_.bind(this),0):this.resizeEditor_();this.bindInputEvents_(c);return c}; -Blockly.FieldMultilineInput.prototype.onHtmlInputKeyDown_=function(a){a.keyCode!==Blockly.utils.KeyCodes.ENTER&&Blockly.FieldMultilineInput.superClass_.onHtmlInputKeyDown_.call(this,a)};Blockly.Css.register(".blocklyHtmlTextAreaInput {,font-family: monospace;,resize: none;,overflow: hidden;,height: 100%;,text-align: left;,}".split(","));Blockly.fieldRegistry.register("field_multilinetext",Blockly.FieldMultilineInput);Blockly.FieldNumber=function(a,b,c,d,e,f){this.min_=-Infinity;this.max_=Infinity;this.precision_=0;this.decimalPlaces_=null;Blockly.FieldNumber.superClass_.constructor.call(this,a,e,f);f||this.setConstraints(b,c,d)};Blockly.utils.object.inherits(Blockly.FieldNumber,Blockly.FieldTextInput);Blockly.FieldNumber.prototype.DEFAULT_VALUE=0;Blockly.FieldNumber.fromJson=function(a){return new Blockly.FieldNumber(a.value,void 0,void 0,void 0,void 0,a)};Blockly.FieldNumber.prototype.SERIALIZABLE=!0; +Blockly.FieldMultilineInput.prototype.setMaxLines=function(a){"number"===typeof a&&0rect,",a+" .blocklyEditableText>rect {","fill: "+this.FIELD_BORDER_RECT_COLOUR+";","fill-opacity: .6;","stroke: none;","}",a+" .blocklyNonEditableText>text,",a+" .blocklyEditableText>text {","fill: #000;", "}",a+" .blocklyFlyoutLabelText {","fill: #000;","}",a+" .blocklyText.blocklyBubbleText {","fill: #000;","}",a+" .blocklyEditableText:not(.editing):hover>rect {","stroke: #fff;","stroke-width: 2;","}",a+" .blocklyHtmlInput {","font-family: "+this.FIELD_TEXT_FONTFAMILY+";","font-weight: "+this.FIELD_TEXT_FONTWEIGHT+";","}",a+" .blocklySelected>.blocklyPath {","stroke: #fc3;","stroke-width: 3px;","}",a+" .blocklyHighlightedConnectionPath {","stroke: #fc3;","}",a+" .blocklyReplaceable .blocklyPath {", -"fill-opacity: .5;","}",a+" .blocklyReplaceable .blocklyPathLight,",a+" .blocklyReplaceable .blocklyPathDark {","display: none;","}",a+" .blocklyInsertionMarker>.blocklyPath {","fill-opacity: "+this.INSERTION_MARKER_OPACITY+";","stroke: none;","}"]};Blockly.Events.MarkerMove=function(a,b,c,d){var e=a?a.workspace.id:void 0;d&&d.getType()==Blockly.ASTNode.types.WORKSPACE&&(e=d.getLocation().id);Blockly.Events.MarkerMove.superClass_.constructor.call(this,e);this.blockId=a?a.id:null;this.oldNode=c;this.newNode=d;this.isCursor=b};Blockly.utils.object.inherits(Blockly.Events.MarkerMove,Blockly.Events.UiBase);Blockly.Events.MarkerMove.prototype.type=Blockly.Events.MARKER_MOVE; -Blockly.Events.MarkerMove.prototype.toJson=function(){var a=Blockly.Events.MarkerMove.superClass_.toJson.call(this);a.isCursor=this.isCursor;a.blockId=this.blockId;a.oldNode=this.oldNode;a.newNode=this.newNode;return a};Blockly.Events.MarkerMove.prototype.fromJson=function(a){Blockly.Events.MarkerMove.superClass_.fromJson.call(this,a);this.isCursor=a.isCursor;this.blockId=a.blockId;this.oldNode=a.oldNode;this.newNode=a.newNode}; -Blockly.registry.register(Blockly.registry.Type.EVENT,Blockly.Events.MARKER_MOVE,Blockly.Events.MarkerMove);Blockly.blockRendering.MarkerSvg=function(a,b,c){this.workspace_=a;this.marker_=c;this.parent_=null;this.constants_=b;this.currentMarkerSvg=null;a=this.isCursor()?this.constants_.CURSOR_COLOUR:this.constants_.MARKER_COLOUR;this.colour_=c.colour||a};Blockly.blockRendering.MarkerSvg.CURSOR_CLASS="blocklyCursor";Blockly.blockRendering.MarkerSvg.MARKER_CLASS="blocklyMarker";Blockly.blockRendering.MarkerSvg.HEIGHT_MULTIPLIER=.75;Blockly.blockRendering.MarkerSvg.prototype.getSvgRoot=function(){return this.svgGroup_}; -Blockly.blockRendering.MarkerSvg.prototype.getMarker=function(){return this.marker_};Blockly.blockRendering.MarkerSvg.prototype.isCursor=function(){return"cursor"==this.marker_.type};Blockly.blockRendering.MarkerSvg.prototype.createDom=function(){var a=this.isCursor()?Blockly.blockRendering.MarkerSvg.CURSOR_CLASS:Blockly.blockRendering.MarkerSvg.MARKER_CLASS;this.svgGroup_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{"class":a},null);this.createDomInternal_();return this.svgGroup_}; -Blockly.blockRendering.MarkerSvg.prototype.setParent_=function(a){this.isCursor()?(this.parent_&&this.parent_.setCursorSvg(null),a.setCursorSvg(this.getSvgRoot())):(this.parent_&&this.parent_.setMarkerSvg(null),a.setMarkerSvg(this.getSvgRoot()));this.parent_=a}; -Blockly.blockRendering.MarkerSvg.prototype.draw=function(a,b){if(b){this.constants_=this.workspace_.getRenderer().getConstants();var c=this.isCursor()?this.constants_.CURSOR_COLOUR:this.constants_.MARKER_COLOUR;this.colour_=this.marker_.colour||c;this.applyColour_(b);this.showAtLocation_(b);this.fireMarkerEvent_(a,b);a=this.currentMarkerSvg.childNodes[0];void 0!==a&&a.beginElement&&a.beginElement()}else this.hide()}; -Blockly.blockRendering.MarkerSvg.prototype.showAtLocation_=function(a){var b=a.getLocation();a.getType()==Blockly.ASTNode.types.BLOCK?this.showWithBlock_(a):a.getType()==Blockly.ASTNode.types.OUTPUT?this.showWithOutput_(a):b.type==Blockly.INPUT_VALUE?this.showWithInput_(a):b.type==Blockly.NEXT_STATEMENT?this.showWithNext_(a):a.getType()==Blockly.ASTNode.types.PREVIOUS?this.showWithPrevious_(a):a.getType()==Blockly.ASTNode.types.FIELD?this.showWithField_(a):a.getType()==Blockly.ASTNode.types.WORKSPACE? -this.showWithCoordinates_(a):a.getType()==Blockly.ASTNode.types.STACK&&this.showWithStack_(a)}; -Blockly.blockRendering.MarkerSvg.prototype.showWithBlockPrevOutput_=function(a){a=a.getSourceBlock();var b=a.width,c=a.height,d=c*Blockly.blockRendering.MarkerSvg.HEIGHT_MULTIPLIER,e=this.constants_.CURSOR_BLOCK_PADDING;if(a.previousConnection){var f=this.constants_.shapeFor(a.previousConnection);this.positionPrevious_(b,e,d,f)}else a.outputConnection?(f=this.constants_.shapeFor(a.outputConnection),this.positionOutput_(b,c,f)):this.positionBlock_(b,e,d);this.setParent_(a);this.showCurrent_()}; -Blockly.blockRendering.MarkerSvg.prototype.showWithBlock_=function(a){this.showWithBlockPrevOutput_(a)};Blockly.blockRendering.MarkerSvg.prototype.showWithPrevious_=function(a){this.showWithBlockPrevOutput_(a)};Blockly.blockRendering.MarkerSvg.prototype.showWithOutput_=function(a){this.showWithBlockPrevOutput_(a)}; -Blockly.blockRendering.MarkerSvg.prototype.showWithCoordinates_=function(a){var b=a.getWsCoordinate();a=b.x;b=b.y;this.workspace_.RTL&&(a-=this.constants_.CURSOR_WS_WIDTH);this.positionLine_(a,b,this.constants_.CURSOR_WS_WIDTH);this.setParent_(this.workspace_);this.showCurrent_()};Blockly.blockRendering.MarkerSvg.prototype.showWithField_=function(a){a=a.getLocation();var b=a.getSize().width,c=a.getSize().height;this.positionRect_(0,0,b,c);this.setParent_(a);this.showCurrent_()}; -Blockly.blockRendering.MarkerSvg.prototype.showWithInput_=function(a){a=a.getLocation();var b=a.getSourceBlock();this.positionInput_(a);this.setParent_(b);this.showCurrent_()};Blockly.blockRendering.MarkerSvg.prototype.showWithNext_=function(a){var b=a.getLocation();a=b.getSourceBlock();var c=0;b=b.getOffsetInBlock().y;var d=a.getHeightWidth().width;this.workspace_.RTL&&(c=-d);this.positionLine_(c,b,d);this.setParent_(a);this.showCurrent_()}; -Blockly.blockRendering.MarkerSvg.prototype.showWithStack_=function(a){a=a.getLocation();var b=a.getHeightWidth(),c=b.width+this.constants_.CURSOR_STACK_PADDING;b=b.height+this.constants_.CURSOR_STACK_PADDING;var d=-this.constants_.CURSOR_STACK_PADDING/2,e=-this.constants_.CURSOR_STACK_PADDING/2,f=d;this.workspace_.RTL&&(f=-(c+d));this.positionRect_(f,e,c,b);this.setParent_(a);this.showCurrent_()}; -Blockly.blockRendering.MarkerSvg.prototype.showCurrent_=function(){this.hide();this.currentMarkerSvg.style.display=""};Blockly.blockRendering.MarkerSvg.prototype.positionBlock_=function(a,b,c){a=Blockly.utils.svgPaths.moveBy(-b,c)+Blockly.utils.svgPaths.lineOnAxis("V",-b)+Blockly.utils.svgPaths.lineOnAxis("H",a+2*b)+Blockly.utils.svgPaths.lineOnAxis("V",c);this.markerBlock_.setAttribute("d",a);this.workspace_.RTL&&this.flipRtl_(this.markerBlock_);this.currentMarkerSvg=this.markerBlock_}; -Blockly.blockRendering.MarkerSvg.prototype.positionInput_=function(a){var b=a.getOffsetInBlock().x,c=a.getOffsetInBlock().y;a=Blockly.utils.svgPaths.moveTo(0,0)+this.constants_.shapeFor(a).pathDown;this.markerInput_.setAttribute("d",a);this.markerInput_.setAttribute("transform","translate("+b+","+c+")"+(this.workspace_.RTL?" scale(-1 1)":""));this.currentMarkerSvg=this.markerInput_}; -Blockly.blockRendering.MarkerSvg.prototype.positionLine_=function(a,b,c){this.markerSvgLine_.setAttribute("x",a);this.markerSvgLine_.setAttribute("y",b);this.markerSvgLine_.setAttribute("width",c);this.currentMarkerSvg=this.markerSvgLine_}; -Blockly.blockRendering.MarkerSvg.prototype.positionOutput_=function(a,b,c){a=Blockly.utils.svgPaths.moveBy(a,0)+Blockly.utils.svgPaths.lineOnAxis("h",-(a-c.width))+Blockly.utils.svgPaths.lineOnAxis("v",this.constants_.TAB_OFFSET_FROM_TOP)+c.pathDown+Blockly.utils.svgPaths.lineOnAxis("V",b)+Blockly.utils.svgPaths.lineOnAxis("H",a);this.markerBlock_.setAttribute("d",a);this.workspace_.RTL&&this.flipRtl_(this.markerBlock_);this.currentMarkerSvg=this.markerBlock_}; -Blockly.blockRendering.MarkerSvg.prototype.positionPrevious_=function(a,b,c,d){a=Blockly.utils.svgPaths.moveBy(-b,c)+Blockly.utils.svgPaths.lineOnAxis("V",-b)+Blockly.utils.svgPaths.lineOnAxis("H",this.constants_.NOTCH_OFFSET_LEFT)+d.pathLeft+Blockly.utils.svgPaths.lineOnAxis("H",a+2*b)+Blockly.utils.svgPaths.lineOnAxis("V",c);this.markerBlock_.setAttribute("d",a);this.workspace_.RTL&&this.flipRtl_(this.markerBlock_);this.currentMarkerSvg=this.markerBlock_}; -Blockly.blockRendering.MarkerSvg.prototype.positionRect_=function(a,b,c,d){this.markerSvgRect_.setAttribute("x",a);this.markerSvgRect_.setAttribute("y",b);this.markerSvgRect_.setAttribute("width",c);this.markerSvgRect_.setAttribute("height",d);this.currentMarkerSvg=this.markerSvgRect_};Blockly.blockRendering.MarkerSvg.prototype.flipRtl_=function(a){a.setAttribute("transform","scale(-1 1)")}; -Blockly.blockRendering.MarkerSvg.prototype.hide=function(){this.markerSvgLine_.style.display="none";this.markerSvgRect_.style.display="none";this.markerInput_.style.display="none";this.markerBlock_.style.display="none"};Blockly.blockRendering.MarkerSvg.prototype.fireMarkerEvent_=function(a,b){var c=b.getSourceBlock();a=new Blockly.Events.MarkerMove(c,this.isCursor(),a,b);Blockly.Events.fire(a)}; -Blockly.blockRendering.MarkerSvg.prototype.getBlinkProperties_=function(){return{attributeType:"XML",attributeName:"fill",dur:"1s",values:this.colour_+";transparent;transparent;",repeatCount:"indefinite"}}; -Blockly.blockRendering.MarkerSvg.prototype.createDomInternal_=function(){this.markerSvg_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.G,{width:this.constants_.CURSOR_WS_WIDTH,height:this.constants_.WS_CURSOR_HEIGHT},this.svgGroup_);this.markerSvgLine_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{width:this.constants_.CURSOR_WS_WIDTH,height:this.constants_.WS_CURSOR_HEIGHT,style:"display: none"},this.markerSvg_);this.markerSvgRect_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT, -{"class":"blocklyVerticalMarker",rx:10,ry:10,style:"display: none"},this.markerSvg_);this.markerInput_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.PATH,{transform:"",style:"display: none"},this.markerSvg_);this.markerBlock_=Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.PATH,{transform:"",style:"display: none",fill:"none","stroke-width":this.constants_.CURSOR_STROKE_WIDTH},this.markerSvg_);if(this.isCursor()){var a=this.getBlinkProperties_();Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.ANIMATE, -a,this.markerSvgLine_);Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.ANIMATE,a,this.markerInput_);a.attributeName="stroke";Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.ANIMATE,a,this.markerBlock_)}return this.markerSvg_}; -Blockly.blockRendering.MarkerSvg.prototype.applyColour_=function(a){this.markerSvgLine_.setAttribute("fill",this.colour_);this.markerSvgRect_.setAttribute("stroke",this.colour_);this.markerInput_.setAttribute("fill",this.colour_);this.markerBlock_.setAttribute("stroke",this.colour_);this.isCursor()&&(a=this.colour_+";transparent;transparent;",this.markerSvgLine_.firstChild.setAttribute("values",a),this.markerInput_.firstChild.setAttribute("values",a),this.markerBlock_.firstChild.setAttribute("values", -a))};Blockly.blockRendering.MarkerSvg.prototype.dispose=function(){this.svgGroup_&&Blockly.utils.dom.removeNode(this.svgGroup_)};Blockly.blockRendering.Types={NONE:0,FIELD:1,HAT:2,ICON:4,SPACER:8,BETWEEN_ROW_SPACER:16,IN_ROW_SPACER:32,EXTERNAL_VALUE_INPUT:64,INPUT:128,INLINE_INPUT:256,STATEMENT_INPUT:512,CONNECTION:1024,PREVIOUS_CONNECTION:2048,NEXT_CONNECTION:4096,OUTPUT_CONNECTION:8192,CORNER:16384,LEFT_SQUARE_CORNER:32768,LEFT_ROUND_CORNER:65536,RIGHT_SQUARE_CORNER:131072,RIGHT_ROUND_CORNER:262144,JAGGED_EDGE:524288,ROW:1048576,TOP_ROW:2097152,BOTTOM_ROW:4194304,INPUT_ROW:8388608}; +"fill-opacity: .5;","}",a+" .blocklyReplaceable .blocklyPathLight,",a+" .blocklyReplaceable .blocklyPathDark {","display: none;","}",a+" .blocklyInsertionMarker>.blocklyPath {","fill-opacity: "+this.INSERTION_MARKER_OPACITY+";","stroke: none;","}"]};Blockly.blockRendering.Types={NONE:0,FIELD:1,HAT:2,ICON:4,SPACER:8,BETWEEN_ROW_SPACER:16,IN_ROW_SPACER:32,EXTERNAL_VALUE_INPUT:64,INPUT:128,INLINE_INPUT:256,STATEMENT_INPUT:512,CONNECTION:1024,PREVIOUS_CONNECTION:2048,NEXT_CONNECTION:4096,OUTPUT_CONNECTION:8192,CORNER:16384,LEFT_SQUARE_CORNER:32768,LEFT_ROUND_CORNER:65536,RIGHT_SQUARE_CORNER:131072,RIGHT_ROUND_CORNER:262144,JAGGED_EDGE:524288,ROW:1048576,TOP_ROW:2097152,BOTTOM_ROW:4194304,INPUT_ROW:8388608}; Blockly.blockRendering.Types.LEFT_CORNER=Blockly.blockRendering.Types.LEFT_SQUARE_CORNER|Blockly.blockRendering.Types.LEFT_ROUND_CORNER;Blockly.blockRendering.Types.RIGHT_CORNER=Blockly.blockRendering.Types.RIGHT_SQUARE_CORNER|Blockly.blockRendering.Types.RIGHT_ROUND_CORNER;Blockly.blockRendering.Types.nextTypeValue_=16777216; Blockly.blockRendering.Types.getType=function(a){Object.prototype.hasOwnProperty.call(Blockly.blockRendering.Types,a)||(Blockly.blockRendering.Types[a]=Blockly.blockRendering.Types.nextTypeValue_,Blockly.blockRendering.Types.nextTypeValue_<<=1);return Blockly.blockRendering.Types[a]};Blockly.blockRendering.Types.isField=function(a){return a.type&Blockly.blockRendering.Types.FIELD};Blockly.blockRendering.Types.isHat=function(a){return a.type&Blockly.blockRendering.Types.HAT}; Blockly.blockRendering.Types.isIcon=function(a){return a.type&Blockly.blockRendering.Types.ICON};Blockly.blockRendering.Types.isSpacer=function(a){return a.type&Blockly.blockRendering.Types.SPACER};Blockly.blockRendering.Types.isInRowSpacer=function(a){return a.type&Blockly.blockRendering.Types.IN_ROW_SPACER};Blockly.blockRendering.Types.isInput=function(a){return a.type&Blockly.blockRendering.Types.INPUT};Blockly.blockRendering.Types.isExternalInput=function(a){return a.type&Blockly.blockRendering.Types.EXTERNAL_VALUE_INPUT}; @@ -1271,26 +1242,39 @@ a;this.widthWithConnectedBlocks=this.width+a};Blockly.blockRendering.InputRow.pr Blockly.blockRendering.RenderInfo.prototype.createRows_=function(){this.populateTopRow_();this.rows.push(this.topRow);var a=new Blockly.blockRendering.InputRow(this.constants_);this.inputRows.push(a);var b=this.block_.getIcons();if(b.length)for(var c=0,d;d=b[c];c++){var e=new Blockly.blockRendering.Icon(this.constants_,d);this.isCollapsed&&d.collapseHidden?this.hiddenIcons.push(e):a.elements.push(e)}d=null;for(c=0;b=this.block_.inputList[c];c++)if(b.isVisible()){this.shouldStartNewRow_(b,d)&&(this.rows.push(a), a=new Blockly.blockRendering.InputRow(this.constants_),this.inputRows.push(a));for(d=0;e=b.fieldRow[d];d++)a.elements.push(new Blockly.blockRendering.Field(this.constants_,e,b));this.addInput_(b,a);d=b}this.isCollapsed&&(a.hasJaggedEdge=!0,a.elements.push(new Blockly.blockRendering.JaggedEdge(this.constants_)));(a.elements.length||a.hasDummyInput)&&this.rows.push(a);this.populateBottomRow_();this.rows.push(this.bottomRow)}; Blockly.blockRendering.RenderInfo.prototype.populateTopRow_=function(){var a=!!this.block_.previousConnection,b=(this.block_.hat?"cap"===this.block_.hat:this.constants_.ADD_START_HATS)&&!this.outputConnection&&!a;this.topRow.hasLeftSquareCorner(this.block_)?this.topRow.elements.push(new Blockly.blockRendering.SquareCorner(this.constants_)):this.topRow.elements.push(new Blockly.blockRendering.RoundCorner(this.constants_));b?(a=new Blockly.blockRendering.Hat(this.constants_),this.topRow.elements.push(a), -this.topRow.capline=a.ascenderHeight):a&&(this.topRow.hasPreviousConnection=!0,this.topRow.connection=new Blockly.blockRendering.PreviousConnection(this.constants_,this.block_.previousConnection),this.topRow.elements.push(this.topRow.connection));this.block_.inputList.length&&this.block_.inputList[0].type==Blockly.NEXT_STATEMENT&&!this.block_.isCollapsed()?this.topRow.minHeight=this.constants_.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT:this.topRow.minHeight=this.constants_.TOP_ROW_MIN_HEIGHT;this.topRow.hasRightSquareCorner(this.block_)? +this.topRow.capline=a.ascenderHeight):a&&(this.topRow.hasPreviousConnection=!0,this.topRow.connection=new Blockly.blockRendering.PreviousConnection(this.constants_,this.block_.previousConnection),this.topRow.elements.push(this.topRow.connection));this.block_.inputList.length&&this.block_.inputList[0].type==Blockly.inputTypes.STATEMENT&&!this.block_.isCollapsed()?this.topRow.minHeight=this.constants_.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT:this.topRow.minHeight=this.constants_.TOP_ROW_MIN_HEIGHT;this.topRow.hasRightSquareCorner(this.block_)? this.topRow.elements.push(new Blockly.blockRendering.SquareCorner(this.constants_,"right")):this.topRow.elements.push(new Blockly.blockRendering.RoundCorner(this.constants_,"right"))}; -Blockly.blockRendering.RenderInfo.prototype.populateBottomRow_=function(){this.bottomRow.hasNextConnection=!!this.block_.nextConnection;this.bottomRow.minHeight=this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1].type==Blockly.NEXT_STATEMENT?this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT:this.constants_.BOTTOM_ROW_MIN_HEIGHT;this.bottomRow.hasLeftSquareCorner(this.block_)?this.bottomRow.elements.push(new Blockly.blockRendering.SquareCorner(this.constants_)): +Blockly.blockRendering.RenderInfo.prototype.populateBottomRow_=function(){this.bottomRow.hasNextConnection=!!this.block_.nextConnection;this.bottomRow.minHeight=this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1].type==Blockly.inputTypes.STATEMENT?this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT:this.constants_.BOTTOM_ROW_MIN_HEIGHT;this.bottomRow.hasLeftSquareCorner(this.block_)?this.bottomRow.elements.push(new Blockly.blockRendering.SquareCorner(this.constants_)): this.bottomRow.elements.push(new Blockly.blockRendering.RoundCorner(this.constants_));this.bottomRow.hasNextConnection&&(this.bottomRow.connection=new Blockly.blockRendering.NextConnection(this.constants_,this.block_.nextConnection),this.bottomRow.elements.push(this.bottomRow.connection));this.bottomRow.hasRightSquareCorner(this.block_)?this.bottomRow.elements.push(new Blockly.blockRendering.SquareCorner(this.constants_,"right")):this.bottomRow.elements.push(new Blockly.blockRendering.RoundCorner(this.constants_, "right"))}; -Blockly.blockRendering.RenderInfo.prototype.addInput_=function(a,b){this.isInline&&a.type==Blockly.INPUT_VALUE?(b.elements.push(new Blockly.blockRendering.InlineInput(this.constants_,a)),b.hasInlineInput=!0):a.type==Blockly.NEXT_STATEMENT?(b.elements.push(new Blockly.blockRendering.StatementInput(this.constants_,a)),b.hasStatement=!0):a.type==Blockly.INPUT_VALUE?(b.elements.push(new Blockly.blockRendering.ExternalValueInput(this.constants_,a)),b.hasExternalInput=!0):a.type==Blockly.DUMMY_INPUT&&(b.minHeight= -Math.max(b.minHeight,a.getSourceBlock()&&a.getSourceBlock().isShadow()?this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT:this.constants_.DUMMY_INPUT_MIN_HEIGHT),b.hasDummyInput=!0);null==b.align&&(b.align=a.align)};Blockly.blockRendering.RenderInfo.prototype.shouldStartNewRow_=function(a,b){return b?a.type==Blockly.NEXT_STATEMENT||b.type==Blockly.NEXT_STATEMENT?!0:a.type==Blockly.INPUT_VALUE||a.type==Blockly.DUMMY_INPUT?!this.isInline:!1:!1}; +Blockly.blockRendering.RenderInfo.prototype.addInput_=function(a,b){this.isInline&&a.type==Blockly.inputTypes.VALUE?(b.elements.push(new Blockly.blockRendering.InlineInput(this.constants_,a)),b.hasInlineInput=!0):a.type==Blockly.inputTypes.STATEMENT?(b.elements.push(new Blockly.blockRendering.StatementInput(this.constants_,a)),b.hasStatement=!0):a.type==Blockly.inputTypes.VALUE?(b.elements.push(new Blockly.blockRendering.ExternalValueInput(this.constants_,a)),b.hasExternalInput=!0):a.type==Blockly.inputTypes.DUMMY&& +(b.minHeight=Math.max(b.minHeight,a.getSourceBlock()&&a.getSourceBlock().isShadow()?this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT:this.constants_.DUMMY_INPUT_MIN_HEIGHT),b.hasDummyInput=!0);null==b.align&&(b.align=a.align)};Blockly.blockRendering.RenderInfo.prototype.shouldStartNewRow_=function(a,b){return b?a.type==Blockly.inputTypes.STATEMENT||b.type==Blockly.inputTypes.STATEMENT?!0:a.type==Blockly.inputTypes.VALUE||a.type==Blockly.inputTypes.DUMMY?!this.isInline:!1:!1}; Blockly.blockRendering.RenderInfo.prototype.addElemSpacing_=function(){for(var a=0,b;b=this.rows[a];a++){var c=b.elements;b.elements=[];b.startsWithElemSpacer()&&b.elements.push(new Blockly.blockRendering.InRowSpacer(this.constants_,this.getInRowSpacing_(null,c[0])));if(c.length){for(var d=0;da.height;e&&(b-=d);this.debugElements_.push(Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":"rowSpacerRect blockRenderDebug",x:c?-(a.xPos+a.width):a.xPos,y:b,width:a.width,height:d,stroke:e?"black":"blue",fill:"blue","fill-opacity":"0.5","stroke-width":"1px"},this.svgRoot_))}}; +Blockly.blockRendering.Debug.prototype.drawSpacerElem=function(a,b,c){if(Blockly.blockRendering.Debug.config.elemSpacers){b=Math.abs(a.width);var d=0>a.width,e=d?a.xPos-b:a.xPos;c&&(e=-(e+b));this.debugElements_.push(Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":"elemSpacerRect blockRenderDebug",x:e,y:a.centerline-a.height/2,width:b,height:a.height,stroke:"pink",fill:d?"black":"pink","fill-opacity":"0.5","stroke-width":"1px"},this.svgRoot_))}}; +Blockly.blockRendering.Debug.prototype.drawRenderedElem=function(a,b){if(Blockly.blockRendering.Debug.config.elems){var c=a.xPos;b&&(c=-(c+a.width));b=a.centerline-a.height/2;this.debugElements_.push(Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":"rowRenderingRect blockRenderDebug",x:c,y:b,width:a.width,height:a.height,stroke:"black",fill:"none","stroke-width":"1px"},this.svgRoot_));Blockly.blockRendering.Types.isField(a)&&a.field instanceof Blockly.FieldLabel&&this.debugElements_.push(Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT, +{"class":"rowRenderingRect blockRenderDebug",x:c,y:b+this.constants_.FIELD_TEXT_BASELINE,width:a.width,height:"0.1px",stroke:"red",fill:"none","stroke-width":"0.5px"},this.svgRoot_))}Blockly.blockRendering.Types.isInput(a)&&Blockly.blockRendering.Debug.config.connections&&this.drawConnection(a.connectionModel)}; +Blockly.blockRendering.Debug.prototype.drawConnection=function(a){if(Blockly.blockRendering.Debug.config.connections){if(a.type==Blockly.connectionTypes.INPUT_VALUE){var b=4;var c="magenta";var d="none"}else a.type==Blockly.connectionTypes.OUTPUT_VALUE?(b=2,d=c="magenta"):a.type==Blockly.connectionTypes.NEXT_STATEMENT?(b=4,c="goldenrod",d="none"):a.type==Blockly.connectionTypes.PREVIOUS_STATEMENT&&(b=2,d=c="goldenrod");this.debugElements_.push(Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.CIRCLE, +{"class":"blockRenderDebug",cx:a.offsetInBlock_.x,cy:a.offsetInBlock_.y,r:b,fill:d,stroke:c},this.svgRoot_))}}; +Blockly.blockRendering.Debug.prototype.drawRenderedRow=function(a,b,c){Blockly.blockRendering.Debug.config.rows&&(this.debugElements_.push(Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT,{"class":"elemRenderingRect blockRenderDebug",x:c?-(a.xPos+a.width):a.xPos,y:a.yPos,width:a.width,height:a.height,stroke:"red",fill:"none","stroke-width":"1px"},this.svgRoot_)),Blockly.blockRendering.Types.isTopOrBottomRow(a)||Blockly.blockRendering.Debug.config.connectedBlockBounds&&this.debugElements_.push(Blockly.utils.dom.createSvgElement(Blockly.utils.Svg.RECT, +{"class":"connectedBlockWidth blockRenderDebug",x:c?-(a.xPos+a.widthWithConnectedBlocks):a.xPos,y:a.yPos,width:a.widthWithConnectedBlocks,height:a.height,stroke:this.randomColour_,fill:"none","stroke-width":"1px","stroke-dasharray":"3,3"},this.svgRoot_)))}; +Blockly.blockRendering.Debug.prototype.drawRowWithElements=function(a,b,c){for(var d=0,e=a.elements.length;d.blocklyPathLight,",a+" .blocklyInsertionMarker>.blocklyPathDark {","fill-opacity: "+this.INSERTION_MARKER_OPACITY+";","stroke: none;","}"])};Blockly.geras.Highlighter=function(a){this.info_=a;this.inlineSteps_=this.steps_="";this.RTL_=this.info_.RTL;a=a.getRenderer();this.constants_=a.getConstants();this.highlightConstants_=a.getHighlightConstants();this.highlightOffset_=this.highlightConstants_.OFFSET;this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER;this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER;this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB;this.notchPaths_=this.highlightConstants_.NOTCH;this.startPaths_= this.highlightConstants_.START_HAT;this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH};Blockly.geras.Highlighter.prototype.getPath=function(){return this.steps_+"\n"+this.inlineSteps_}; @@ -1334,9 +1343,9 @@ this.steps_+=Blockly.utils.svgPaths.lineOnAxis("V",this.outsideCornerPaths_.heig Blockly.geras.Highlighter.prototype.drawInlineInput=function(a){var b=this.highlightOffset_,c=a.xPos+a.connectionWidth,d=a.centerline-a.height/2,e=a.width-a.connectionWidth,f=d+b;this.RTL_?(d=a.connectionOffsetY-b,a=a.height-(a.connectionOffsetY+a.connectionHeight)+b,this.inlineSteps_+=Blockly.utils.svgPaths.moveTo(c-b,f)+Blockly.utils.svgPaths.lineOnAxis("v",d)+this.puzzleTabPaths_.pathDown(this.RTL_)+Blockly.utils.svgPaths.lineOnAxis("v",a)+Blockly.utils.svgPaths.lineOnAxis("h",e)):this.inlineSteps_+= Blockly.utils.svgPaths.moveTo(a.xPos+a.width+b,f)+Blockly.utils.svgPaths.lineOnAxis("v",a.height)+Blockly.utils.svgPaths.lineOnAxis("h",-e)+Blockly.utils.svgPaths.moveTo(c,d+a.connectionOffsetY)+this.puzzleTabPaths_.pathDown(this.RTL_)};Blockly.geras.InlineInput=function(a,b){Blockly.geras.InlineInput.superClass_.constructor.call(this,a,b);this.connectedBlock&&(this.width+=this.constants_.DARK_PATH_OFFSET,this.height+=this.constants_.DARK_PATH_OFFSET)};Blockly.utils.object.inherits(Blockly.geras.InlineInput,Blockly.blockRendering.InlineInput);Blockly.geras.StatementInput=function(a,b){Blockly.geras.StatementInput.superClass_.constructor.call(this,a,b);this.connectedBlock&&(this.height+=this.constants_.DARK_PATH_OFFSET)}; Blockly.utils.object.inherits(Blockly.geras.StatementInput,Blockly.blockRendering.StatementInput);Blockly.geras.RenderInfo=function(a,b){Blockly.geras.RenderInfo.superClass_.constructor.call(this,a,b)};Blockly.utils.object.inherits(Blockly.geras.RenderInfo,Blockly.blockRendering.RenderInfo);Blockly.geras.RenderInfo.prototype.getRenderer=function(){return this.renderer_}; -Blockly.geras.RenderInfo.prototype.populateBottomRow_=function(){Blockly.geras.RenderInfo.superClass_.populateBottomRow_.call(this);this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1].type==Blockly.NEXT_STATEMENT||(this.bottomRow.minHeight=this.constants_.MEDIUM_PADDING-this.constants_.DARK_PATH_OFFSET)}; -Blockly.geras.RenderInfo.prototype.addInput_=function(a,b){this.isInline&&a.type==Blockly.INPUT_VALUE?(b.elements.push(new Blockly.geras.InlineInput(this.constants_,a)),b.hasInlineInput=!0):a.type==Blockly.NEXT_STATEMENT?(b.elements.push(new Blockly.geras.StatementInput(this.constants_,a)),b.hasStatement=!0):a.type==Blockly.INPUT_VALUE?(b.elements.push(new Blockly.blockRendering.ExternalValueInput(this.constants_,a)),b.hasExternalInput=!0):a.type==Blockly.DUMMY_INPUT&&(b.minHeight=Math.max(b.minHeight, -this.constants_.DUMMY_INPUT_MIN_HEIGHT),b.hasDummyInput=!0);this.isInline||null!=b.align||(b.align=a.align)}; +Blockly.geras.RenderInfo.prototype.populateBottomRow_=function(){Blockly.geras.RenderInfo.superClass_.populateBottomRow_.call(this);this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1].type==Blockly.inputTypes.STATEMENT||(this.bottomRow.minHeight=this.constants_.MEDIUM_PADDING-this.constants_.DARK_PATH_OFFSET)}; +Blockly.geras.RenderInfo.prototype.addInput_=function(a,b){this.isInline&&a.type==Blockly.inputTypes.VALUE?(b.elements.push(new Blockly.geras.InlineInput(this.constants_,a)),b.hasInlineInput=!0):a.type==Blockly.inputTypes.STATEMENT?(b.elements.push(new Blockly.geras.StatementInput(this.constants_,a)),b.hasStatement=!0):a.type==Blockly.inputTypes.VALUE?(b.elements.push(new Blockly.blockRendering.ExternalValueInput(this.constants_,a)),b.hasExternalInput=!0):a.type==Blockly.inputTypes.DUMMY&&(b.minHeight= +Math.max(b.minHeight,this.constants_.DUMMY_INPUT_MIN_HEIGHT),b.hasDummyInput=!0);this.isInline||null!=b.align||(b.align=a.align)}; Blockly.geras.RenderInfo.prototype.addElemSpacing_=function(){for(var a=!1,b=0,c;c=this.rows[b];b++)c.hasExternalInput&&(a=!0);for(b=0;c=this.rows[b];b++){var d=c.elements;c.elements=[];c.startsWithElemSpacer()&&c.elements.push(new Blockly.blockRendering.InRowSpacer(this.constants_,this.getInRowSpacing_(null,d[0])));if(d.length){for(var e=0;eg>text {","fill: #575E75;","}",a+" .blocklyFlyoutLabelT ";","color: #575E75;","}",a+" .blocklyDropdownText {","fill: #fff !important;","}",a+".blocklyWidgetDiv .goog-menuitem,",a+".blocklyDropDownDiv .goog-menuitem {","font-family: "+this.FIELD_TEXT_FONTFAMILY+";","}",a+".blocklyDropDownDiv .goog-menuitem-content {","color: #fff;","}",a+" .blocklyHighlightedConnectionPath {","stroke: "+this.SELECTED_GLOW_COLOUR+";","}",a+" .blocklyDisabled > .blocklyOutlinePath {","fill: url(#blocklyDisabledPattern"+this.randomIdentifier+")","}",a+" .blocklyInsertionMarker>.blocklyPath {", "fill-opacity: "+this.INSERTION_MARKER_OPACITY+";","stroke: none;","}"]};Blockly.zelos.TopRow=function(a){Blockly.zelos.TopRow.superClass_.constructor.call(this,a)};Blockly.utils.object.inherits(Blockly.zelos.TopRow,Blockly.blockRendering.TopRow);Blockly.zelos.TopRow.prototype.endsWithElemSpacer=function(){return!1};Blockly.zelos.TopRow.prototype.hasLeftSquareCorner=function(a){var b=(a.hat?"cap"===a.hat:this.constants_.ADD_START_HATS)&&!a.outputConnection&&!a.previousConnection;return!!a.outputConnection||b}; Blockly.zelos.TopRow.prototype.hasRightSquareCorner=function(a){return!!a.outputConnection&&!a.statementInputCount&&!a.nextConnection};Blockly.zelos.BottomRow=function(a){Blockly.zelos.BottomRow.superClass_.constructor.call(this,a)};Blockly.utils.object.inherits(Blockly.zelos.BottomRow,Blockly.blockRendering.BottomRow);Blockly.zelos.BottomRow.prototype.endsWithElemSpacer=function(){return!1};Blockly.zelos.BottomRow.prototype.hasLeftSquareCorner=function(a){return!!a.outputConnection}; -Blockly.zelos.BottomRow.prototype.hasRightSquareCorner=function(a){return!!a.outputConnection&&!a.statementInputCount&&!a.nextConnection};Blockly.zelos.RightConnectionShape=function(a){Blockly.zelos.RightConnectionShape.superClass_.constructor.call(this,a);this.type|=Blockly.blockRendering.Types.getType("RIGHT_CONNECTION");this.width=this.height=0};Blockly.utils.object.inherits(Blockly.zelos.RightConnectionShape,Blockly.blockRendering.Measurable);Blockly.zelos.StatementInput=function(a,b){Blockly.zelos.StatementInput.superClass_.constructor.call(this,a,b);if(this.connectedBlock){for(a=this.connectedBlock;a.getNextBlock();)a=a.getNextBlock();a.nextConnection||(this.height=this.connectedBlockHeight,this.connectedBottomNextConnection=!0)}};Blockly.utils.object.inherits(Blockly.zelos.StatementInput,Blockly.blockRendering.StatementInput);Blockly.zelos.RenderInfo=function(a,b){Blockly.zelos.RenderInfo.superClass_.constructor.call(this,a,b);this.topRow=new Blockly.zelos.TopRow(this.constants_);this.bottomRow=new Blockly.zelos.BottomRow(this.constants_);this.isInline=!0;this.isMultiRow=!b.getInputsInline()||b.isCollapsed();this.hasStatementInput=0=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!f.precedesStatement;if(Blockly.blockRendering.Types.isInputRow(e)&&e.hasStatement)e.measure(),b=e.width-e.getLastInput().width+a;else if(d&&(2==c||f)&& Blockly.blockRendering.Types.isInputRow(e)&&!e.hasStatement){f=e.xPos;d=null;for(var g=0,h;h=e.elements[g];g++)Blockly.blockRendering.Types.isSpacer(h)&&(d=h),!(d&&(Blockly.blockRendering.Types.isField(h)||Blockly.blockRendering.Types.isInput(h))&&fc&&(a=a+" - "+-c,g=Blockly.Dart.ORDER_ADDITIVE); d&&(a=c?"-("+a+")":"-"+a,g=Blockly.Dart.ORDER_UNARY_PREFIX);g=Math.floor(g);e=Math.floor(e);g&&e>=g&&(a="("+a+")")}return a};Blockly.Dart.colour={};Blockly.Dart.addReservedWords("Math");Blockly.Dart.colour_picker=function(a){return[Blockly.Dart.quote_(a.getFieldValue("COLOUR")),Blockly.Dart.ORDER_ATOMIC]}; diff --git a/dart_compressed.js.map b/dart_compressed.js.map index 437ef0b26..e27754c35 100644 --- a/dart_compressed.js.map +++ b/dart_compressed.js.map @@ -1 +1 @@ -{"version":3,"sources":["generators/dart.js","generators/dart/colour.js","generators/dart/lists.js","generators/dart/logic.js","generators/dart/loops.js","generators/dart/math.js","generators/dart/procedures.js","generators/dart/text.js","generators/dart/variables.js","generators/dart/variables_dynamic.js"],"names":["Blockly","Dart","Generator","addReservedWords","ORDER_ATOMIC","ORDER_UNARY_POSTFIX","ORDER_UNARY_PREFIX","ORDER_MULTIPLICATIVE","ORDER_ADDITIVE","ORDER_SHIFT","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_RELATIONAL","ORDER_EQUALITY","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_IF_NULL","ORDER_CONDITIONAL","ORDER_CASCADE","ORDER_ASSIGNMENT","ORDER_NONE","isInitialized","init","Blockly.Dart.init","workspace","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.Dart.finish","code","prefixLines","INDENT","imports","definitions","name","def","match","replace","scrubNakedValue","Blockly.Dart.scrubNakedValue","line","quote_","Blockly.Dart.quote_","string","multiline_quote_","Blockly.Dart.multiline_quote_","split","lines","map","scrub_","Blockly.Dart.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","getProcedureDef","inputList","type","INPUT_VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.Dart.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","parseInt","innerOrder","Math","floor","getFieldValue","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","elements","Array","itemCount_","element","operator","item","cacheList","listVar","getDistinctName","list","mode","where","listOrder","xVar","Error","value","where1","where2","at1","at2","direction","sortFunctionName","input","delimiter","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","getInput","OPERATORS","argument0","argument1","defaultArgument","value_if","value_then","value_else","repeats","getField","String","Number","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","arg","substring","CONSTANTS","constant","number_to_check","dropdown_property","divisor","varName","func","argument2","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","returnType","args","getVars","hasReturnValue_","indexOf","text","textOrder","requiresLengthCall","msg","sub","from","to"],"mappings":"A;;;;;;;;;;;;eAsBAA,OAAA,CAAQC,IAAR,CAAe,IAAID,OAAJ,CAAYE,SAAZ,CAAsB,MAAtB,CASfF,QAAA,CAAQC,IAAR,CAAaE,gBAAb,CAGI,i0BAHJ,CAuBAH;OAAA,CAAQC,IAAR,CAAaG,YAAb,CAA4B,CAC5BJ,QAAA,CAAQC,IAAR,CAAaI,mBAAb,CAAmC,CACnCL,QAAA,CAAQC,IAAR,CAAaK,kBAAb,CAAkC,CAClCN,QAAA,CAAQC,IAAR,CAAaM,oBAAb,CAAoC,CACpCP,QAAA,CAAQC,IAAR,CAAaO,cAAb,CAA8B,CAC9BR,QAAA,CAAQC,IAAR,CAAaQ,WAAb,CAA2B,CAC3BT,QAAA,CAAQC,IAAR,CAAaS,iBAAb,CAAiC,CACjCV,QAAA,CAAQC,IAAR,CAAaU,iBAAb,CAAiC,CACjCX,QAAA,CAAQC,IAAR,CAAaW,gBAAb,CAAgC,CAChCZ,QAAA,CAAQC,IAAR,CAAaY,gBAAb,CAAgC,CAChCb,QAAA,CAAQC,IAAR,CAAaa,cAAb,CAA8B,EAC9Bd,QAAA,CAAQC,IAAR,CAAac,iBAAb,CAAiC,EACjCf,QAAA,CAAQC,IAAR,CAAae,gBAAb,CAAgC,EAChChB,QAAA,CAAQC,IAAR,CAAagB,aAAb,CAA6B,EAC7BjB,QAAA,CAAQC,IAAR,CAAaiB,iBAAb,CAAiC,EACjClB;OAAA,CAAQC,IAAR,CAAakB,aAAb,CAA6B,EAC7BnB,QAAA,CAAQC,IAAR,CAAamB,gBAAb,CAAgC,EAChCpB,QAAA,CAAQC,IAAR,CAAaoB,UAAb,CAA0B,EAM1BrB,QAAA,CAAQC,IAAR,CAAaqB,aAAb,CAA6B,CAAA,CAM7BtB;OAAA,CAAQC,IAAR,CAAasB,IAAb,CAAoBC,QAAQ,CAACC,CAAD,CAAY,CAEtCzB,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA4BC,MAAA,CAAOC,MAAP,CAAc,IAAd,CAG5B5B,QAAA,CAAQC,IAAR,CAAa4B,cAAb,CAA8BF,MAAA,CAAOC,MAAP,CAAc,IAAd,CAEzB5B,QAAL,CAAaC,IAAb,CAAkB6B,WAAlB,CAIE9B,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBC,KAAzB,EAJF,CACE/B,OADF,CACUC,IADV,CACe6B,WADf,CAEM,IAAI9B,OAAJ,CAAYgC,KAAZ,CAAkBhC,OAAlB,CAA0BC,IAA1B,CAA+BgC,eAA/B,CAKNjC,QAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBI,cAAzB,CAAwCT,CAAA,CAAUU,cAAV,EAAxC,CAKA,KAHA,IAAIC,EAAU,EAAd,CAEIC,EAAarC,OAAA,CAAQsC,SAAR,CAAkBC,qBAAlB,CAAwCd,CAAxC,CAFjB,CAGSe,EAAI,CAAb,CAAgBA,CAAhB,CAAoBH,CAApB,CAA+BI,MAA/B,CAAuCD,CAAA,EAAvC,CACEJ,CAAA,CAAQM,IAAR,CAAa1C,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CAAiCN,CAAA,CAAWG,CAAX,CAAjC,CACTxC,OADS,CACDgC,KADC,CACKY,uBADL,CAAb,CAKEC,EAAAA,CAAY7C,OAAA,CAAQsC,SAAR,CAAkBQ,gBAAlB,CAAmCrB,CAAnC,CAChB;IAASe,CAAT,CAAa,CAAb,CAAgBA,CAAhB,CAAoBK,CAApB,CAA8BJ,MAA9B,CAAsCD,CAAA,EAAtC,CACEJ,CAAA,CAAQM,IAAR,CAAa1C,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CAAiCE,CAAA,CAAUL,CAAV,CAAA,CAAaO,KAAb,EAAjC,CACT/C,OADS,CACDgD,sBADC,CAAb,CAKEZ,EAAJ,CAAYK,MAAZ,GACEzC,OADF,CACUC,IADV,CACeyB,YADf,CAC4B,SAD5B,CAEM,MAFN,CAEeU,CAAA,CAAQa,IAAR,CAAa,IAAb,CAFf,CAEoC,GAFpC,CAIA,KAAA,CAAK3B,aAAL,CAAqB,CAAA,CApCiB,CA4CxCtB;OAAA,CAAQC,IAAR,CAAaiD,MAAb,CAAsBC,QAAQ,CAACC,CAAD,CAAO,CAE/BA,CAAJ,GACEA,CADF,CACSpD,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CAAyBD,CAAzB,CAA+BpD,OAA/B,CAAuCC,IAAvC,CAA4CqD,MAA5C,CADT,CAGAF,EAAA,CAAO,YAAP,CAAsBA,CAAtB,CAA6B,GAG7B,KAAIG,EAAU,EAAd,CACIC,EAAc,EADlB,CAESC,CAAT,KAASA,CAAT,GAAiBzD,QAAjB,CAAyBC,IAAzB,CAA8ByB,YAA9B,CAA4C,CAC1C,IAAIgC,EAAM1D,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B+B,CAA1B,CACNC,EAAA,CAAIC,KAAJ,CAAU,WAAV,CAAJ,CACEJ,CAAA,CAAQb,IAAR,CAAagB,CAAb,CADF,CAGEF,CAAA,CAAYd,IAAZ,CAAiBgB,CAAjB,CALwC,CAS5C,OAAO1D,OAAP,CAAeC,IAAf,CAAoByB,YACpB,QAAO1B,OAAP,CAAeC,IAAf,CAAoB4B,cACpB7B,QAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBC,KAAzB,EAEA,OAAO,CADOwB,CAAA,CAAQN,IAAR,CAAa,IAAb,CACP,CAD4B,MAC5B,CADqCO,CAAA,CAAYP,IAAZ,CAAiB,MAAjB,CACrC,EAAQW,OAAR,CAAgB,QAAhB,CAA0B,MAA1B,CAAA,CAAkCA,OAAlC,CAA0C,MAA1C,CAAkD,QAAlD,CAAP,CAAqER,CAvBlC,CAgCrCpD,QAAA,CAAQC,IAAR,CAAa4D,eAAb,CAA+BC,QAAQ,CAACC,CAAD,CAAO,CAC5C,MAAOA,EAAP,CAAc,KAD8B,CAU9C/D;OAAA,CAAQC,IAAR,CAAa+D,MAAb,CAAsBC,QAAQ,CAACC,CAAD,CAAS,CAErCA,CAAA,CAASA,CAAA,CAAON,OAAP,CAAe,KAAf,CAAsB,MAAtB,CAAA,CACOA,OADP,CACe,KADf,CACsB,MADtB,CAAA,CAEOA,OAFP,CAEe,KAFf,CAEsB,KAFtB,CAAA,CAGOA,OAHP,CAGe,IAHf,CAGqB,KAHrB,CAIT,OAAO,GAAP,CAAcM,CAAd,CAAuB,GANc,CAgBvClE,QAAA,CAAQC,IAAR,CAAakE,gBAAb,CAAgCC,QAAS,CAACF,CAAD,CAAS,CAIhD,MAHYA,EAAA,CAAOG,KAAP,CAAa,KAAb,CAAAC,CAAoBC,GAApBD,CAAwBtE,OAAxBsE,CAAgCrE,IAAhCqE,CAAqCN,MAArCM,CAGL,CAAMrB,IAAN,CAAW,eAAX,CAJyC,CAiBlDjD;OAAA,CAAQC,IAAR,CAAauE,MAAb,CAAsBC,QAAQ,CAACC,CAAD,CAAQtB,CAAR,CAAcuB,CAAd,CAA4B,CACxD,IAAIC,EAAc,EAElB,IAAI,CAACF,CAAD,CAAOG,gBAAX,EAA+B,CAACH,CAAD,CAAOG,gBAAP,CAAwBC,gBAAvD,CAAyE,CAEvE,IAAIC,EAAUL,CAAA,CAAMM,cAAN,EACVD,EAAJ,GACEA,CAIE,CAJQ/E,OAAA,CAAQiF,KAAR,CAAcf,MAAd,CAAqBgB,IAArB,CAA0BH,CAA1B,CACN/E,OADM,CACEC,IADF,CACOkF,YADP,CACsB,CADtB,CAIR,CAAAP,CAAA,CAFEF,CAAJ,CAAUU,eAAV,CAEER,CAFF,CAEiB5E,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CAAyB0B,CAAzB,CAAmC,IAAnC,CAAyC,MAAzC,CAFjB,CAIEH,CAJF,CAIiB5E,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CAAyB0B,CAAzB,CAAmC,IAAnC,CAAyC,KAAzC,CAPnB,CAYA,KAAK,IAAIvC,EAAI,CAAb,CAAgBA,CAAhB,CAAoBkC,CAApB,CAA0BW,SAA1B,CAAoC5C,MAApC,CAA4CD,CAAA,EAA5C,CACMkC,CAAA,CAAMW,SAAN,CAAgB7C,CAAhB,CAAJ,CAAuB8C,IAAvB,EAA+BtF,OAA/B,CAAuCuF,WAAvC,GACMC,CADN,CACmBd,CAAA,CAAMW,SAAN,CAAgB7C,CAAhB,CAAA,CAAmBiD,UAAnB,CAA8BC,WAA9B,EADnB,IAGIX,CAHJ,CAGc/E,OAAA,CAAQC,IAAR,CAAa0F,iBAAb,CAA+BH,CAA/B,CAHd,IAKMZ,CALN,EAKqB5E,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CAAyB0B,CAAzB,CAAkC,KAAlC,CALrB,CAhBqE,CA2BrEa,CAAAA;AAAYlB,CAAZkB,CAAkBC,cAAlBD,EAAoClB,CAAA,CAAMmB,cAAN,CAAqBH,WAArB,EACpCI,EAAAA,CAAWnB,CAAA,CAAe,EAAf,CAAoB3E,OAAA,CAAQC,IAAR,CAAa8F,WAAb,CAAyBH,CAAzB,CACnC,OAAOhB,EAAP,CAAqBxB,CAArB,CAA4B0C,CAhC4B,CA4C1D9F;OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAA2BC,QAAQ,CAACvB,CAAD,CAAQwB,CAAR,CAAcC,CAAd,CAAyBC,CAAzB,CAC/BC,CAD+B,CACpB,CACTC,CAAAA,CAAQH,CAARG,EAAqB,CACrBC,EAAAA,CAAQF,CAARE,EAAqBvG,OAArBuG,CAA6BtG,IAA7BsG,CAAkClF,UAClCqD,EAAJ,CAAUjD,SAAV,CAAoB+E,OAApB,CAA4BC,aAA5B,EACEH,CAAA,EAEF,KAAII,EAAiBhC,CAAA,CAAMjD,SAAN,CAAgB+E,OAAhB,CAAwBC,aAAxB,CAAwC,GAAxC,CAA8C,GAE7DE,EAAAA,CADFL,CAAJ,CACWtG,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgCwB,CAAhC,CACLlG,OADK,CACGC,IADH,CACQO,cADR,CADX,EAEsCkG,CAFtC,CAGWN,CAAJ,CACIpG,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgCwB,CAAhC,CACLlG,OADK,CACGC,IADH,CACQK,kBADR,CADJ,EAEmCoG,CAFnC,CAII1G,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgCwB,CAAhC,CAAsCK,CAAtC,CAJJ,EAKDG,CAGN,IAAI1G,OAAA,CAAQ6G,QAAR,CAAiBF,CAAjB,CAAJ,CAEEA,CACA,CADKG,QAAA,CAASH,CAAT,CAAa,EAAb,CACL,CADwBL,CACxB,CAAIF,CAAJ,GACEO,CADF,CACO,CAACA,CADR,CAHF,KAMO,CAEL,GAAY,CAAZ,CAAIL,CAAJ,CAAe,CACbK,CAAA,CAAKA,CAAL,CAAU,KAAV,CAAkBL,CAClB,KAAIS,EAAa/G,OAAb+G,CAAqB9G,IAArB8G,CAA0BvG,cAFjB,CAAf,IAGmB,EAAZ,CAAI8F,CAAJ,GACLK,CACA,CADKA,CACL,CADU,KACV,CADkB,CAACL,CACnB,CAAIS,CAAJ,CAAiB/G,OAAjB,CAAyBC,IAAzB,CAA8BO,cAFzB,CAIH4F;CAAJ,GAEIO,CAIF,CALIL,CAAJ,CACO,IADP,CACcK,CADd,CACmB,GADnB,CAGO,GAHP,CAGaA,CAEb,CAAII,CAAJ,CAAiB/G,OAAjB,CAAyBC,IAAzB,CAA8BK,kBANhC,CAQAyG,EAAA,CAAaC,IAAA,CAAKC,KAAL,CAAWF,CAAX,CACbR,EAAA,CAAQS,IAAA,CAAKC,KAAL,CAAWV,CAAX,CACJQ,EAAJ,EAAkBR,CAAlB,EAA2BQ,CAA3B,GACEJ,CADF,CACO,GADP,CACaA,CADb,CACkB,GADlB,CAnBK,CAuBP,MAAOA,EA/CM,C,CC3OY,OAAA,CAAA,IAAA,CAAA,MAAA,CAAA,EAK3B3G,QAAA,CAAQC,IAAR,CAAaE,gBAAb,CAA8B,MAA9B,CAEAH,QAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAG9C,MAAO,CADI1E,OAAAoD,CAAQnD,IAARmD,CAAaY,MAAbZ,CAAoBsB,CAAA,CAAMwC,aAAN,CAAoB,QAApB,CAApB9D,CACJ,CAAOpD,OAAP,CAAeC,IAAf,CAAoBG,YAApB,CAHuC,CAMhDJ;OAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C1E,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BAWJ,OAAO,CAVY1B,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,eADeA,CAEf,CAAC,SAAD,CAAanH,OAAb,CAAqBC,IAArB,CAA0BoH,0BAA1B,CAAuD,MAAvD,CACC,oCADD,CAEC,gCAFD,CAGC,4DAHD,CAIC,wDAJD,CAKC,yDALD,CAMC,GAND,CAFeF,CAUZ,CADmB,IACnB,CAAOnH,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAduC,CAiBhDL;OAAA,CAAQC,IAAR,CAAa,UAAb,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C,IAAI4C,EAAMtH,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACN1E,OADM,CACEC,IADF,CACOoB,UADP,CAANiG,EAC4B,CADhC,CAEIC,EAAQvH,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACR1E,OADQ,CACAC,IADA,CACKoB,UADL,CAARkG,EAC4B,CAC5BC,EAAAA,CAAOxH,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMoB,UADN,CAAPmG,EAC4B,CAEhCxH,QAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BAoBJ,OAAO,CAnBY1B,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,YADeA,CAEf,CAAC,SAAD,CAAanH,OAAb,CAAqBC,IAArB,CAA0BoH,0BAA1B,CACI,yBADJ,CAEC,4DAFD,CAGC,6CAHD;AAIC,gBAJD,CAKC,qCALD,CAMC,4DAND,CAOC,6CAPD,CAQC,gBARD,CASC,qCATD,CAUC,4DAVD,CAWC,6CAXD,CAYC,gBAZD,CAaC,qCAbD,CAcC,wBAdD,CAeC,GAfD,CAFeF,CAmBZ,CADmB,GACnB,CADyBG,CACzB,CAD+B,IAC/B,CADsCC,CACtC,CAD8C,IAC9C,CADqDC,CACrD,CAD4D,GAC5D,CAAOxH,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CA9BoC,CAiC7CL;OAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAI+C,EAAKzH,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,SAAhC,CACL1E,OADK,CACGC,IADH,CACQoB,UADR,CAALoG,EAC4B,WADhC,CAEIC,EAAK1H,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,SAAhC,CACL1E,OADK,CACGC,IADH,CACQoB,UADR,CAALqG,EAC4B,WAC5BC,EAAAA,CAAQ3H,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACR1E,OADQ,CACAC,IADA,CACKoB,UADL,CAARsG,EAC4B,EAEhC3H,QAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BA2BJ,OAAO,CA1BY1B,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,cADeA,CAEf,CAAC,SAAD,CAAanH,OAAb,CAAqBC,IAArB,CAA0BoH,0BAA1B,CACI,qCADJ,CAEC,4CAFD;AAGC,kDAHD,CAIC,kDAJD,CAKC,kDALD,CAMC,kDAND,CAOC,kDAPD,CAQC,kDARD,CASC,qDATD,CAUC,6CAVD,CAWC,qDAXD,CAYC,6CAZD;AAaC,qDAbD,CAcC,6CAdD,CAeC,gBAfD,CAgBC,qCAhBD,CAiBC,gBAjBD,CAkBC,qCAlBD,CAmBC,gBAnBD,CAoBC,qCApBD,CAqBC,wBArBD,CAsBC,GAtBD,CAFeF,CA0BZ,CADmB,GACnB,CADyBM,CACzB,CAD8B,IAC9B,CADqCC,CACrC,CAD0C,IAC1C,CADiDC,CACjD,CADyD,GACzD,CAAO3H,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CArCsC,C,CC/DpB,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BL,QAAA,CAAQC,IAAR,CAAaE,gBAAb,CAA8B,MAA9B,CAEAH,QAAA,CAAQC,IAAR,CAAa,kBAAb,CAAqC,QAAQ,CAACyE,CAAD,CAAQ,CAEnD,MAAO,CAAC,IAAD,CAAO1E,OAAP,CAAeC,IAAf,CAAoBG,YAApB,CAF4C,CAKrDJ,QAAA,CAAQC,IAAR,CAAa,iBAAb,CAAoC,QAAQ,CAACyE,CAAD,CAAQ,CAGlD,IADA,IAAIkD,EAAeC,KAAJ,CAAUnD,CAAV,CAAgBoD,UAAhB,CAAf,CACStF,EAAI,CAAb,CAAgBA,CAAhB,CAAoBkC,CAApB,CAA0BoD,UAA1B,CAAsCtF,CAAA,EAAtC,CACEoF,CAAA,CAASpF,CAAT,CAAA,CAAcxC,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CAAwClC,CAAxC,CACVxC,OADU,CACFC,IADE,CACGoB,UADH,CAAd,EACgC,MAGlC,OAAO,CADI,GACJ,CADUuG,CAAA,CAAS3E,IAAT,CAAc,IAAd,CACV,CADgC,GAChC,CAAOjD,OAAP,CAAeC,IAAf,CAAoBG,YAApB,CAR2C,CAWpDJ;OAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAIqD,EAAU/H,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACV1E,OADU,CACFC,IADE,CACGoB,UADH,CAAV0G,EAC4B,MAIhC,OAAO,CADI,kBACJ,EAHW/H,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACd1E,OADc,CACNC,IADM,CACDoB,UADC,CAGX,EAFyB,GAEzB,EADuC,IACvC,CAD8C0G,CAC9C,CADwD,GACxD,CAAO/H,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAPsC,CAU/CL,QAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAI7C,MAAO,EAFI1E,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAEJ,EADkC,IAClC,EAAQ,SAAR,CAAmBL,OAAnB,CAA2BC,IAA3B,CAAgCI,mBAAhC,CAJsC,CAO/CL;OAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAI9C,MAAO,EAFI1E,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAEJ,EADkC,IAClC,EAAQ,UAAR,CAAoBL,OAApB,CAA4BC,IAA5B,CAAiCI,mBAAjC,CAJuC,CAOhDL;OAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAIsD,EAAyC,OAA9B,EAAAtD,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CAAA,CACX,SADW,CACC,aADhB,CAEIe,EAAOjI,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMoB,UADN,CAAP4G,EAC4B,IAG5B7E,EAAAA,EAFOpD,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAEP+C,EADqC,IACrCA,EAAc,GAAdA,CAAoB4E,CAApB5E,CAA+B,GAA/BA,CAAqC6E,CAArC7E,CAA4C,GAChD,OAAIsB,EAAJ,CAAUjD,SAAV,CAAoB+E,OAApB,CAA4BC,aAA5B,CACS,CAACrD,CAAD,CAAQ,MAAR,CAAgBpD,OAAhB,CAAwBC,IAAxB,CAA6BO,cAA7B,CADT,CAGO,CAAC4C,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAZuC,CAehDL;OAAA,CAAQC,IAAR,CAAa,cAAb,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAU/CwD,QAASA,EAAS,EAAG,CACnB,IAAIC,EAAUnI,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACV,UADU,CACEpI,OADF,CACUgD,sBADV,CAAd,CAEII,EAAO,OAAPA,CAAiB+E,CAAjB/E,CAA2B,KAA3BA,CAAmCiF,CAAnCjF,CAA0C,KAC9CiF,EAAA,CAAOF,CACP,OAAO/E,EALY,CAPrB,IAAIkF,EAAO5D,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAPoB,EAAsC,KAA1C,CACIC,EAAQ7D,CAAA,CAAMwC,aAAN,CAAoB,OAApB,CAARqB,EAAwC,YAD5C,CAIIF,EAAOrI,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CAFe,QAAV8D,EAACD,CAADC,EAA+B,UAA/BA,EAAsBD,CAAtBC,CACZxI,OADYwI,CACJvI,IADIuI,CACCnH,UADDmH,CACcxI,OADdwI,CACsBvI,IADtBuI,CAC2BnI,mBAChC,CAAPgI,EAA8D,IAalE,KAAe,QAAf,EAAME,CAAN,EAAmC,QAAnC,EAA2BD,CAA3B,GAAyD,UAAzD,EAAgDC,CAAhD,EACKF,CAAA,CAAK1E,KAAL,CAAW,OAAX,CADL,CAoDE,OAAQ4E,CAAR,EACE,KAAK,OAAL,CACE,GAAY,KAAZ,EAAID,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,QACX;AAAOrI,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,YAAZ,EAAIiI,CAAJ,CAEL,MAAO,CADID,CACJ,CADW,cACX,CAAOrI,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,QAAZ,EAAIiI,CAAJ,CACL,MAAOD,EAAP,CAAc,iBAEhB,MACF,MAAK,MAAL,CACE,GAAY,KAAZ,EAAIC,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,OACX,CAAOrI,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,YAAZ,EAAIiI,CAAJ,CAEL,MAAO,CADID,CACJ,CADW,eACX,CAAOrI,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,QAAZ,EAAIiI,CAAJ,CACL,MAAOD,EAAP,CAAc,kBAEhB,MACF,MAAK,YAAL,CACM1B,CAAJ,CAAS3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CACT,IAAY,KAAZ,EAAI4D,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,GACX,CADiB1B,CACjB,CADsB,GACtB,CAAO3G,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,YAAZ,EAAIiI,CAAJ,CAEL,MAAO,CADID,CACJ;AADW,YACX,CAD0B1B,CAC1B,CAD+B,GAC/B,CAAO3G,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,QAAZ,EAAIiI,CAAJ,CACL,MAAOD,EAAP,CAAc,YAAd,CAA6B1B,CAA7B,CAAkC,MAEpC,MACF,MAAK,UAAL,CACMA,CAAJ,CAAS3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAAyC,CAAA,CAAzC,CACL1E,OADK,CACGC,IADH,CACQO,cADR,CAET,IAAY,KAAZ,EAAI8H,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,GACX,CADiBA,CACjB,CADwB,YACxB,CADuC1B,CACvC,CAD4C,GAC5C,CAAO3G,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,YAAZ,EAAIiI,CAAJ,EAAoC,QAApC,EAA4BA,CAA5B,CAA8C,CAC/ClF,CAAJ,CAAWiF,CAAX,CAAkB,YAAlB,CAAiCA,CAAjC,CAAwC,YAAxC,CAAuD1B,CAAvD,CAA4D,GAC5D,IAAY,YAAZ,EAAI2B,CAAJ,CACE,MAAO,CAAClF,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,QAAZ,EAAIiI,CAAJ,CACL,MAAOlF,EAAP,CAAc,KALmC,CAQrD,KACF,MAAK,QAAL,CACEpD,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACJ;GAAY,QAAZ,EAAI4G,CAAJ,CAOE,MALIG,EAIJrF,CAJWpD,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACP,OADO,CACEpI,OADF,CACUgD,sBADV,CAIXI,CAFW,MAEXA,CAFoBqF,CAEpBrF,CAF2B,+BAE3BA,CAF6DiF,CAE7DjF,CADI,aACJA,EAAQiF,CAARjF,CAAe,YAAfA,CAA8BqF,CAA9BrF,CAAqC,MAArCA,CAEK,IAAY,KAAZ,EAAIkF,CAAJ,CASL,MARInB,EAQG,CARYnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,uBADe,CAEf,CAAC,UAAD,CAAcpH,OAAd,CAAsBC,IAAtB,CAA2BoH,0BAA3B,CACA,kBADA,CAEE,sDAFF,CAGE,sBAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADIF,CACJ,CADmB,GACnB,CADyBkB,CACzB,CADgC,GAChC,CAAOrI,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,YAAZ,EAAIiI,CAAJ,CASL,MARInB,EAQG,CARYnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,0BADe;AAEf,CAAC,UAAD,CAAcpH,OAAd,CAAsBC,IAAtB,CAA2BoH,0BAA3B,CACA,kBADA,CAEE,sDAFF,CAGE,+BAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADIF,CACJ,CADmB,GACnB,CADyBkB,CACzB,CADgC,GAChC,CAAOrI,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAhFb,CApDF,IAC0B,CAExB,GAAa,QAAb,EAAIkI,CAAJ,CAUE,MATAvI,QAQAoD,CARQnD,IAQRmD,CARa1B,YAQb0B,CAR0B,gBAQ1BA,CAPI,6BAOJA,CALIA,CAKJA,CALW8E,CAAA,EAKX9E,CAJIqF,CAIJrF,CAJWpD,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACP,OADO,CACEpI,OADF,CACUgD,sBADV,CAIXI,CAFAA,CAEAA,EAFQ,MAERA,CAFiBqF,CAEjBrF,CAFwB,+BAExBA,CAF0DiF,CAE1DjF,CADI,aACJA,GAAQiF,CAARjF,CAAe,YAAfA,CAA8BqF,CAA9BrF,CAAqC,MAArCA,CAGA,IAAY,QAAZ,EAAIkF,CAAJ,CAME,MAJI3B,EAGJvD;AAHSpD,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAAyC,CAAA,CAAzC,CACL1E,OADK,CACGC,IADH,CACQO,cADR,CAGT4C,CADIA,CACJA,CADW8E,CAAA,EACX9E,CAAAA,CAAAA,EAAQiF,CAARjF,CAAe,YAAfA,CAA8BiF,CAA9BjF,CAAqC,YAArCA,CAAyDuD,CAAzDvD,CAA8D,MAGzD,IAAY,KAAZ,EAAIkF,CAAJ,CAWL,MAVI3B,EAUG,CAVE3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAUF,CARHyC,CAQG,CARYnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,oBADe,CAEf,CAAC,UAAD,CAAcpH,OAAd,CAAsBC,IAAtB,CAA2BoH,0BAA3B,CACA,yBADA,CAEE,2BAFF,CAGE,sBAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADIF,CACJ,CADmB,GACnB,CADyBkB,CACzB,CADgC,IAChC,CADuC1B,CACvC,CAD4C,GAC5C,CAAO3G,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACF,IAAY,YAAZ,EAAIiI,CAAJ,CAWL,MAVI3B,EAUG,CAVE3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAUF,CARHyC,CAQG,CARYnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,uBADe;AAEf,CAAC,UAAD,CAAcpH,OAAd,CAAsBC,IAAtB,CAA2BoH,0BAA3B,CACA,yBADA,CAEE,2BAFF,CAGE,+BAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADIF,CACJ,CADmB,GACnB,CADyBkB,CACzB,CADgC,IAChC,CADuC1B,CACvC,CAD4C,GAC5C,CAAO3G,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CA7Ca,CAwI1B,KAAMqI,MAAA,CAAM,yCAAN,CAAN,CA7J+C,CAgKjD1I;OAAA,CAAQC,IAAR,CAAa,cAAb,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAW/CwD,QAASA,EAAS,EAAG,CACnB,GAAIG,CAAA,CAAK1E,KAAL,CAAW,OAAX,CAAJ,CACE,MAAO,EAET,KAAIwE,EAAUnI,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACV,UADU,CACEpI,OADF,CACUgD,sBADV,CAAd,CAEII,EAAO,OAAPA,CAAiB+E,CAAjB/E,CAA2B,KAA3BA,CAAmCiF,CAAnCjF,CAA0C,KAC9CiF,EAAA,CAAOF,CACP,OAAO/E,EARY,CARrB,IAAIkF,EAAO5D,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAPoB,EAAsC,KAA1C,CACIC,EAAQ7D,CAAA,CAAMwC,aAAN,CAAoB,OAApB,CAARqB,EAAwC,YAD5C,CAEIF,EAAOrI,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAAPgI,EACqC,IAHzC,CAIIM,EAAQ3I,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,IAAhC,CACR1E,OADQ,CACAC,IADA,CACKmB,gBADL,CAARuH,EACkC,MAatC,QAAQJ,CAAR,EACE,KAAK,OAAL,CACE,GAAY,KAAZ,EAAID,CAAJ,CACE,MAAOD,EAAP,CAAc,QAAd,CAAyBM,CAAzB,CAAiC,KAC5B,IAAY,QAAZ;AAAIL,CAAJ,CACL,MAAOD,EAAP,CAAc,aAAd,CAA8BM,CAA9B,CAAsC,MAExC,MACF,MAAK,MAAL,CACE,GAAY,KAAZ,EAAIL,CAAJ,CAGE,MAFIlF,EACJA,CADW8E,CAAA,EACX9E,CAAAA,CAAAA,EAAQiF,CAARjF,CAAe,GAAfA,CAAqBiF,CAArBjF,CAA4B,iBAA5BA,CAAgDuF,CAAhDvF,CAAwD,KAAxDA,CAEK,IAAY,QAAZ,EAAIkF,CAAJ,CACL,MAAOD,EAAP,CAAc,OAAd,CAAwBM,CAAxB,CAAgC,MAElC,MACF,MAAK,YAAL,CACMhC,CAAAA,CAAK3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CACT,IAAY,KAAZ,EAAI4D,CAAJ,CACE,MAAOD,EAAP,CAAc,GAAd,CAAoB1B,CAApB,CAAyB,MAAzB,CAAkCgC,CAAlC,CAA0C,KACrC,IAAY,QAAZ,EAAIL,CAAJ,CACL,MAAOD,EAAP,CAAc,UAAd,CAA2B1B,CAA3B,CAAgC,IAAhC,CAAuCgC,CAAvC,CAA+C,MAEjD,MACF,MAAK,UAAL,CACMhC,CAAJ,CAAS3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAAyC,CAAA,CAAzC,CACL1E,OADK,CACGC,IADH,CACQO,cADR,CAEL4C,EAAJ,CAAW8E,CAAA,EACX,IAAY,KAAZ,EAAII,CAAJ,CAGE,MAFAlF,EAEA,EAFQiF,CAER,CAFe,GAEf,CAFqBA,CAErB,CAF4B,YAE5B,CAF2C1B,CAE3C,CAFgD,MAEhD,CAFyDgC,CAEzD,CADI,KACJ,CACK,IAAY,QAAZ,EAAIL,CAAJ,CAGL,MAFAlF,EAEA,EAFQiF,CAER,CAFe,UAEf;AAF4BA,CAE5B,CAFmC,YAEnC,CAFkD1B,CAElD,CAFuD,IAEvD,CADIgC,CACJ,CADY,MACZ,CAEF,MACF,MAAK,QAAL,CACE3I,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACA0B,EAAJ,CAAW8E,CAAA,EACPO,EAAAA,CAAOzI,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACP,OADO,CACEpI,OADF,CACUgD,sBADV,CAEXI,EAAA,EAAQ,MAAR,CAAiBqF,CAAjB,CACI,+BADJ,CACsCJ,CADtC,CAC6C,aAC7C,IAAY,KAAZ,EAAIC,CAAJ,CAEE,MADAlF,EACA,EADQiF,CACR,CADe,GACf,CADqBI,CACrB,CAD4B,MAC5B,CADqCE,CACrC,CAD6C,KAC7C,CACK,IAAY,QAAZ,EAAIL,CAAJ,CAEL,MADAlF,EACA,EADQiF,CACR,CADe,UACf,CAD4BI,CAC5B,CADmC,IACnC,CAD0CE,CAC1C,CADkD,MAClD,CApDN,CAwDA,KAAMD,MAAA,CAAM,yCAAN,CAAN,CA7E+C,CAgFjD1I;OAAA,CAAQC,IAAR,CAAa,gBAAb,CAAmC,QAAQ,CAACyE,CAAD,CAAQ,CAEjD,IAAI2D,EAAOrI,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAAPgI,EACqC,IADzC,CAEIO,EAASlE,CAAA,CAAMwC,aAAN,CAAoB,QAApB,CAFb,CAGI2B,EAASnE,CAAA,CAAMwC,aAAN,CAAoB,QAApB,CACb,IAAImB,CAAA,CAAK1E,KAAL,CAAW,OAAX,CAAJ,EAAsC,UAAtC,EAA4BiF,CAA5B,EAA8D,YAA9D,EAAoDC,CAApD,CAA6E,CAG3E,OAAQD,CAAR,EACE,KAAK,YAAL,CACE,IAAIE,EAAM9I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CACV,MACF,MAAK,UAAL,CACMoE,CAAJ,CAAU9I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OADM,CACEC,IADF,CACOO,cADP,CAEVsI,EAAA,CAAMT,CAAN,CAAa,YAAb,CAA4BS,CAC5B,MACF,MAAK,OAAL,CACMA,CAAJ,CAAU,GACV,MACF,SACE,KAAMJ,MAAA,CAAM,sCAAN,CAAN,CAbJ,CAeA,OAAQG,CAAR,EACE,KAAK,YAAL,CACE,IAAIE;AAAM/I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CACV,MACF,MAAK,UAAL,CACMqE,CAAJ,CAAU/I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OADM,CACEC,IADF,CACOO,cADP,CAEVuI,EAAA,CAAMV,CAAN,CAAa,YAAb,CAA4BU,CAC5B,MACF,MAAK,MAAL,CAEE,KACF,SACE,KAAML,MAAA,CAAM,sCAAN,CAAN,CAbJ,CAgBMtF,CAAAA,CADQ,MAAd,EAAIyF,CAAJ,CACaR,CADb,CACoB,WADpB,CACkCS,CADlC,CACwC,GADxC,CAGaT,CAHb,CAGoB,WAHpB,CAGkCS,CAHlC,CAGwC,IAHxC,CAG+CC,CAH/C,CAGqD,GApCsB,CAA7E,IAuCMD,EAsBJ,CAtBU9I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAsBV,CArBIqE,CAqBJ,CArBU/I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAqBV,CAAItB,CAAJ,CApBmBpD,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,mBADeA,CAEf,CAAC,OAAD,CAAWnH,OAAX,CAAmBC,IAAnB,CAAwBoH,0BAAxB,CACI,+DADJ;AAEC,qCAFD,CAGC,gCAHD,CAIC,kCAJD,CAKC,oCALD,CAMC,eAND,CAOC,mCAPD,CAQC,6BARD,CASC,yCATD,CAUC,qDAVD,CAWC,OAXD,CAYC,gBAZD,CAaC,KAbD,CAcC,6BAdD,CAeC,iCAfD,CAgBC,kCAhBD,CAiBC,GAjBD,CAFeF,CAoBnB,CAA0B,GAA1B,CAAgCkB,CAAhC,CAAuC,KAAvC,CACIO,CADJ,CACa,KADb,CACsBE,CADtB,CAC4B,KAD5B,CACqCD,CADrC,CAC8C,KAD9C,CACuDE,CADvD,CAC6D,GAE/D,OAAO,CAAC3F,CAAD;AAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAtE0C,CAyEnDL;OAAA,CAAQC,IAAR,CAAa,UAAb,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C,IAAI2D,EAAOrI,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMoB,UADN,CAAPgH,EAC4B,IADhC,CAEIW,EAAiD,GAArC,GAAAtE,CAAA,CAAMwC,aAAN,CAAoB,WAApB,CAAA,CAA2C,CAA3C,CAA+C,EAC3D5B,EAAAA,CAAOZ,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAkBX,OAAO,CAjBgBlH,OAAAiJ,CAAQhJ,IAARgJ,CAAa7B,gBAAb6B,CACnB,YADmBA,CAEnB,CAAC,OAAD,CAAWjJ,OAAX,CAAmBC,IAAnB,CAAwBoH,0BAAxB,CACI,2CADJ,CAEC,wBAFD,CAGC,gEAHD,CAIC,yEAJD,CAMC,qBAND;AAOC,+BAPD,CAQC,wEARD,CASC,MATD,CAUC,+BAVD,CAWC,qCAXD,CAYC,uBAZD,CAaC,gBAbD,CAcC,GAdD,CAFmB4B,CAiBhB,CAAoB,GAApB,CAA0BZ,CAA1B,CAAiC,KAAjC,CACG/C,CADH,CACU,KADV,CACkB0D,CADlB,CAC8B,GAD9B,CAEHhJ,OAFG,CAEKC,IAFL,CAEUI,mBAFV,CAvBoC,CA4B7CL;OAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAIwE,EAAQlJ,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACR1E,OADQ,CACAC,IADA,CACKI,mBADL,CAAZ,CAEI8I,EAAYnJ,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZ8H,EAC4B,IAC5Bb,EAAAA,CAAO5D,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CACX,IAAY,OAAZ,EAAIoB,CAAJ,CACOY,CAGD/B,GAFF+B,CAEE/B,CAFM,IAENA,EAAAA,CAAAA,CAAe,OAJrB,KAKO,IAAY,MAAZ,EAAImB,CAAJ,CACAY,CAGL,GAFEA,CAEF,CAFU,IAEV,EAAI/B,CAAJ,CAAmB,MAJd,KAML,MAAMuB,MAAA,CAAM,gBAAN,CAAyBJ,CAAzB,CAAN,CAGF,MAAO,CADIY,CACJ,CADY,GACZ,CADkB/B,CAClB,CADiC,GACjC,CADuCgC,CACvC,CADmD,GACnD,CAAOnJ,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CArBqC,CAwB9CL;OAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAM9C,MAAO,CADI,gBACJ,EAJI1E,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMoB,UADN,CAIJ,EAHyB,IAGzB,EAD8B,YAC9B,CAAOrB,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CANuC,C,CC3arB,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BL;OAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAI0E,EAAI,CAAR,CACIhG,EAAO,EACPpD,QAAJ,CAAYC,IAAZ,CAAiBoJ,gBAAjB,GAEEjG,CAFF,EAEUpD,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCoJ,gBAAnC,CAAqD3E,CAArD,CAFV,CAIA,GAAG,CACD,IAAA6E,EAAgBvJ,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,IAAhC,CAAuC0E,CAAvC,CACZpJ,OADY,CACJC,IADI,CACCoB,UADD,CAAhBkI,EACgC,OAChC,KAAAC,EAAaxJ,OAAA,CAAQC,IAAR,CAAawJ,eAAb,CAA6B/E,CAA7B,CAAoC,IAApC,CAA2C0E,CAA3C,CACTpJ,QAAJ,CAAYC,IAAZ,CAAiByJ,gBAAjB,GACEF,CADF,CACexJ,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CACTrD,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCyJ,gBAAnC,CAAqDhF,CAArD,CADS,CAET1E,OAFS,CAEDC,IAFC,CAEIqD,MAFJ,CADf,CAG6BkG,CAH7B,CAKApG,EAAA,GAAa,CAAJ,CAAAgG,CAAA,CAAQ,OAAR,CAAkB,EAA3B,EACI,MADJ,CACaG,CADb,CAC6B,OAD7B,CACuCC,CADvC,CACoD,GACpD,GAAEJ,CAXD,CAAH,MAYS1E,CAAA,CAAMiF,QAAN,CAAe,IAAf,CAAsBP,CAAtB,CAZT,CAcA,IAAI1E,CAAA,CAAMiF,QAAN,CAAe,MAAf,CAAJ,EAA8B3J,OAA9B,CAAsCC,IAAtC,CAA2CyJ,gBAA3C,CACEF,CAMA;AANaxJ,OAAA,CAAQC,IAAR,CAAawJ,eAAb,CAA6B/E,CAA7B,CAAoC,MAApC,CAMb,CALI1E,OAKJ,CALYC,IAKZ,CALiByJ,gBAKjB,GAJEF,CAIF,CAJexJ,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CACTrD,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCyJ,gBAAnC,CAAqDhF,CAArD,CADS,CAET1E,OAFS,CAEDC,IAFC,CAEIqD,MAFJ,CAIf,CAF6BkG,CAE7B,EAAApG,CAAA,EAAQ,WAAR,CAAsBoG,CAAtB,CAAmC,GAErC,OAAOpG,EAAP,CAAc,IA/B8B,CAkC9CpD,QAAA,CAAQC,IAAR,CAAa,eAAb,CAAkCD,OAAlC,CAA0CC,IAA1C,CAA+C,WAE/CD;OAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAU9C,IAAIsD,EARY4B,CACd,GAAM,IADQA,CAEd,IAAO,IAFOA,CAGd,GAAM,GAHQA,CAId,IAAO,IAJOA,CAKd,GAAM,GALQA,CAMd,IAAO,IANOA,CAQD,CAAUlF,CAAA,CAAMwC,aAAN,CAAoB,IAApB,CAAV,CAAf,CACIX,EAAqB,IAAb,EAACyB,CAAD,EAAiC,IAAjC,EAAqBA,CAArB,CACRhI,OADQ,CACAC,IADA,CACKa,cADL,CACsBd,OADtB,CAC8BC,IAD9B,CACmCY,gBAF/C,CAGIgJ,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CAAqC6B,CAArC,CAAZsD,EAA2D,GAC3DC,EAAAA,CAAY9J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CAAqC6B,CAArC,CAAZuD,EAA2D,GAE/D,OAAO,CADID,CACJ,CADgB,GAChB,CADsB7B,CACtB,CADiC,GACjC,CADuC8B,CACvC,CAAOvD,CAAP,CAhBuC,CAmBhDvG;OAAA,CAAQC,IAAR,CAAa,eAAb,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAEhD,IAAIsD,EAAyC,KAA9B,EAACtD,CAAA,CAAMwC,aAAN,CAAoB,IAApB,CAAD,CAAuC,IAAvC,CAA8C,IAA7D,CACIX,EAAqB,IAAb,EAACyB,CAAD,CAAqBhI,OAArB,CAA6BC,IAA7B,CAAkCc,iBAAlC,CACRf,OADQ,CACAC,IADA,CACKe,gBAFjB,CAGI6I,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CAAqC6B,CAArC,CACZuD,EAAAA,CAAY9J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CAAqC6B,CAArC,CAChB,IAAKsD,CAAL,EAAmBC,CAAnB,CAIO,CAEL,IAAIC,EAA+B,IAAb,EAAC/B,CAAD,CAAqB,MAArB,CAA8B,OAC/C6B,EAAL,GACEA,CADF,CACcE,CADd,CAGKD,EAAL,GACEA,CADF,CACcC,CADd,CANK,CAJP,IAGED,EAAA,CADAD,CACA,CADY,OAad,OAAO,CADIA,CACJ,CADgB,GAChB,CADsB7B,CACtB,CADiC,GACjC,CADuC8B,CACvC,CAAOvD,CAAP,CAtByC,CAyBlDvG,QAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAI6B,EAAQvG,OAARuG,CAAgBtG,IAAhBsG,CAAqBjG,kBAGzB,OAAO,CADI,GACJ,EAFSN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CAAwC6B,CAAxC,CAET,EAF2D,MAE3D,EAAOA,CAAP,CALsC,CAQ/CvG;OAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAG9C,MAAO,CADoC,MAAhCtB,EAACsB,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAD9D,CAA0C,MAA1CA,CAAmD,OACvD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBG,YAApB,CAHuC,CAMhDJ,QAAA,CAAQC,IAAR,CAAa,UAAb,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C,MAAO,CAAC,MAAD,CAAS1E,OAAT,CAAiBC,IAAjB,CAAsBG,YAAtB,CAFoC,CAK7CJ,QAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAIsF,EAAWhK,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,IAAhC,CACX1E,OADW,CACHC,IADG,CACEiB,iBADF,CAAX8I,EACmC,OADvC,CAEIC,EAAajK,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACb1E,OADa,CACLC,IADK,CACAiB,iBADA,CAAb+I,EACmC,MACnCC,EAAAA,CAAalK,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACb1E,OADa,CACLC,IADK,CACAiB,iBADA,CAAbgJ,EACmC,MAEvC,OAAO,CADIF,CACJ,CADe,KACf,CADuBC,CACvB,CADoC,KACpC,CAD4CC,CAC5C,CAAOlK,OAAP,CAAeC,IAAf,CAAoBiB,iBAApB,CATuC,C,CCxGrB,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BlB;OAAA,CAAQC,IAAR,CAAa,mBAAb,CAAsC,QAAQ,CAACyE,CAAD,CAAQ,CAIlD,IAAIyF,EAFFzF,CAAA,CAAM0F,QAAN,CAAe,OAAf,CAAJ,CAEgBC,MAAA,CAAOC,MAAA,CAAO5F,CAAA,CAAMwC,aAAN,CAAoB,OAApB,CAAP,CAAP,CAFhB,CAKgBlH,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACV1E,OADU,CACFC,IADE,CACGmB,gBADH,CALhB,EAMwC,GAJtC,CAMEmJ,EAASvK,OAAA,CAAQC,IAAR,CAAawJ,eAAb,CAA6B/E,CAA7B,CAAoC,IAApC,CACb6F,EAAA,CAASvK,OAAA,CAAQC,IAAR,CAAauK,WAAb,CAAyBD,CAAzB,CAAiC7F,CAAjC,CACLtB,EAAAA,CAAO,EACX,KAAIqH,EAAUzK,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACV,OADU,CACDpI,OADC,CACOgD,sBADP,CAAd,CAEI0H,EAASP,CACRA,EAAA,CAAQxG,KAAR,CAAc,OAAd,CAAL,EAAgC3D,OAAA,CAAQ6G,QAAR,CAAiBsD,CAAjB,CAAhC,GACEO,CAEA,CAFS1K,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACL,YADK,CACSpI,OADT,CACiBgD,sBADjB,CAET,CAAAI,CAAA,EAAQ,MAAR,CAAiBsH,CAAjB,CAA0B,KAA1B,CAAkCP,CAAlC,CAA4C,KAH9C,CASA;MAJA/G,EAIA,EAJQ,WAIR,CAJsBqH,CAItB,CAJgC,QAIhC,CAHIA,CAGJ,CAHc,KAGd,CAHsBC,CAGtB,CAH+B,IAG/B,CAFID,CAEJ,CAFc,SAEd,CADIF,CACJ,CADa,KACb,CAzBoD,CA4BtDvK,QAAA,CAAQC,IAAR,CAAa,eAAb,CAAkCD,OAAlC,CAA0CC,IAA1C,CAA+C,mBAE/CD,QAAA,CAAQC,IAAR,CAAa,mBAAb,CAAsC,QAAQ,CAACyE,CAAD,CAAQ,CAEpD,IAAIiG,EAAuC,OAAvCA,EAAQjG,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAZ,CACI2C,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACZiG,CAAA,CAAQ3K,OAAR,CAAgBC,IAAhB,CAAqBK,kBAArB,CACAN,OADA,CACQC,IADR,CACaoB,UAFD,CAAZwI,EAE4B,OAHhC,CAIIU,EAASvK,OAAA,CAAQC,IAAR,CAAawJ,eAAb,CAA6B/E,CAA7B,CAAoC,IAApC,CACb6F,EAAA,CAASvK,OAAA,CAAQC,IAAR,CAAauK,WAAb,CAAyBD,CAAzB,CAAiC7F,CAAjC,CACLiG,EAAJ,GACEd,CADF,CACc,GADd,CACoBA,CADpB,CAGA,OAAO,SAAP,CAAmBA,CAAnB,CAA+B,OAA/B,CAAyCU,CAAzC,CAAkD,KAXE,CActDvK;OAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAIkG,EAAY5K,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CACZ+B,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CADY,CACgBlH,OADhB,CACwBgD,sBADxB,CAAhB,CAEI6G,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACZ1E,OADY,CACJC,IADI,CACCmB,gBADD,CAAZyI,EACkC,GAHtC,CAIIC,EAAY9J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,IAAhC,CACZ1E,OADY,CACJC,IADI,CACCmB,gBADD,CAAZ0I,EACkC,GALtC,CAMIe,EAAY7K,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,IAAhC,CACZ1E,OADY,CACJC,IADI,CACCmB,gBADD,CAAZyJ,EACkC,GAPtC,CAQIN,EAASvK,OAAA,CAAQC,IAAR,CAAawJ,eAAb,CAA6B/E,CAA7B,CAAoC,IAApC,CACb6F,EAAA,CAASvK,OAAA,CAAQC,IAAR,CAAauK,WAAb,CAAyBD,CAAzB,CAAiC7F,CAAjC,CAET,IAAI1E,OAAA,CAAQ6G,QAAR,CAAiBgD,CAAjB,CAAJ,EAAmC7J,OAAA,CAAQ6G,QAAR,CAAiBiD,CAAjB,CAAnC,EACI9J,OAAA,CAAQ6G,QAAR,CAAiBgE,CAAjB,CADJ,CACiC,CAE/B,IAAIC,EAAKR,MAAA,CAAOT,CAAP,CAALiB,EAA0BR,MAAA,CAAOR,CAAP,CAC9B1G;CAAA,CAAO,OAAP,CAAiBwH,CAAjB,CAA6B,KAA7B,CAAqCf,CAArC,CAAiD,IAAjD,CACIe,CADJ,EACiBE,CAAA,CAAK,MAAL,CAAc,MAD/B,EACyChB,CADzC,CACqD,IADrD,CAEIc,CACAG,EAAAA,CAAO/D,IAAA,CAAKgE,GAAL,CAASV,MAAA,CAAOO,CAAP,CAAT,CAMXzH,EAAA,EALY,CAAZA,EAAI2H,CAAJ3H,CACEA,CADFA,EACU0H,CAAA,CAAK,IAAL,CAAY,IADtB1H,EAGEA,CAHFA,GAGW0H,CAAA,CAAK,MAAL,CAAc,MAHzB1H,EAGmC2H,CAHnC3H,CAKA,GAAQ,OAAR,CAAkBmH,CAAlB,CAA2B,KAA3B,CAZ+B,CADjC,IAeEnH,EA2BA,CA3BO,EA2BP,CAzBI6H,CAyBJ,CAzBepB,CAyBf,CAxBKA,CAAA,CAAUlG,KAAV,CAAgB,OAAhB,CAwBL,EAxBkC3D,OAAA,CAAQ6G,QAAR,CAAiBgD,CAAjB,CAwBlC,GAvBEoB,CAEA,CAFWjL,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACPwC,CADO,CACK,QADL,CACe5K,OADf,CACuBgD,sBADvB,CAEX,CAAAI,CAAA,EAAQ,MAAR,CAAiB6H,CAAjB,CAA4B,KAA5B,CAAoCpB,CAApC,CAAgD,KAqBlD,EAnBIa,CAmBJ,CAnBaZ,CAmBb,CAlBKA,CAAA,CAAUnG,KAAV,CAAgB,OAAhB,CAkBL,EAlBkC3D,OAAA,CAAQ6G,QAAR,CAAiBiD,CAAjB,CAkBlC,GAjBEY,CAEA,CAFS1K,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACLwC,CADK,CACO,MADP,CACe5K,OADf,CACuBgD,sBADvB,CAET,CAAAI,CAAA,EAAQ,MAAR,CAAiBsH,CAAjB,CAA0B,KAA1B,CAAkCZ,CAAlC,CAA8C,KAehD,EAXIoB,CAWJ,CAXalL,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBsG,eAAzB,CACTwC,CADS;AACG,MADH,CACW5K,OADX,CACmBgD,sBADnB,CAWb,CATAI,CASA,EATQ,MASR,CATiB8H,CASjB,CAT0B,KAS1B,CAPE9H,CAOF,CARIpD,OAAA,CAAQ6G,QAAR,CAAiBgE,CAAjB,CAAJ,CACEzH,CADF,EACU4D,IAAA,CAAKgE,GAAL,CAASH,CAAT,CADV,CACgC,KADhC,EAGEzH,CAHF,EAGU,GAHV,CAGgByH,CAHhB,CAG4B,YAH5B,CAQA,CAFAzH,CAEA,CAHAA,CAGA,EAHQ,MAGR,CAHiB6H,CAGjB,CAH4B,KAG5B,CAHoCP,CAGpC,CAH6C,OAG7C,GAFQ1K,OAER,CAFgBC,IAEhB,CAFqBqD,MAErB,CAF8B4H,CAE9B,CAFuC,MAEvC,CAFgDA,CAEhD,CAFyD,KAEzD,EADA9H,CACA,EADQ,KACR,CAAAA,CAAA,EAAQ,OAAR,CAAkBwH,CAAlB,CAA8B,KAA9B,CAAsCK,CAAtC,CAAiD,IAAjD,CACIC,CADJ,CACa,UADb,CAEIN,CAFJ,CAEgB,MAFhB,CAEyBF,CAFzB,CAEkC,KAFlC,CAGIE,CAHJ,CAGgB,MAHhB,CAGyBF,CAHzB,CAGkC,IAHlC,CAIIE,CAJJ,CAIgB,MAJhB,CAIyBM,CAJzB,CAIkC,OAJlC,CAKIX,CALJ,CAKa,KAEf,OAAOnH,EA9DsC,CAiE/CpD;OAAA,CAAQC,IAAR,CAAa,gBAAb,CAAmC,QAAQ,CAACyE,CAAD,CAAQ,CAEjD,IAAIkG,EAAY5K,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CACZ+B,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CADY,CACgBlH,OADhB,CACwBgD,sBADxB,CAAhB,CAEI6G,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACZ1E,OADY,CACJC,IADI,CACCmB,gBADD,CAAZyI,EACkC,IAHtC,CAIIU,EAASvK,OAAA,CAAQC,IAAR,CAAawJ,eAAb,CAA6B/E,CAA7B,CAAoC,IAApC,CACb6F,EAAA,CAASvK,OAAA,CAAQC,IAAR,CAAauK,WAAb,CAAyBD,CAAzB,CAAiC7F,CAAjC,CAGT,OAFW,WAEX,CAFyBkG,CAEzB,CAFqC,MAErC,CAF8Cf,CAE9C,CAF0D,OAE1D,CADIU,CACJ,CADa,KAToC,CAanDvK;OAAA,CAAQC,IAAR,CAAa,wBAAb,CAA2C,QAAQ,CAACyE,CAAD,CAAQ,CAEzD,IAAIyG,EAAO,EACPnL,QAAJ,CAAYC,IAAZ,CAAiBoJ,gBAAjB,GAEE8B,CAFF,EAEUnL,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCoJ,gBAAnC,CAAqD3E,CAArD,CAFV,CAII1E,QAAJ,CAAYC,IAAZ,CAAiByJ,gBAAjB,GAGEyB,CAHF,EAGUnL,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCyJ,gBAAnC,CAAqDhF,CAArD,CAHV,CAKA,IAAI1E,OAAJ,CAAYC,IAAZ,CAAiBoJ,gBAAjB,CAAmC,CACjC,IAAI+B,EAAOpL,OAAA,CAAQqL,SAAR,CAAkBC,KAAlB,CACNC,gCADM,CAC2BC,eAD3B,CAC2C9G,CAD3C,CAEP0G,EAAJ,EAAY,CAACA,CAAD,CAAMK,oBAAlB,GAIEN,CAJF,EAIUnL,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCoJ,gBAAnC,CAAqD+B,CAArD,CAJV,CAHiC,CAUnC,OAAQ1G,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAR,EACE,KAAK,OAAL,CACE,MAAOiE,EAAP,CAAc,UAChB;KAAK,UAAL,CACE,MAAOA,EAAP,CAAc,aAJlB,CAMA,KAAMzC,MAAA,CAAM,yBAAN,CAAN,CA5ByD,C,CC/HhC,OAAA,CAAA,IAAA,CAAA,IAAA,CAAA,EAK3B1I,QAAA,CAAQC,IAAR,CAAaE,gBAAb,CAA8B,MAA9B,CAEAH,QAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAExCtB,CAAAA,CAAOkH,MAAA,CAAO5F,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CAAP,CAEX,IAAYwE,QAAZ,EAAItI,CAAJ,CAAsB,CACpBA,CAAA,CAAO,iBACP,KAAAmD,EAAQvG,OAARuG,CAAgBtG,IAAhBsG,CAAqBlG,mBAFD,CAAtB,IAGmB,CAACqL,QAAb,EAAItI,CAAJ,EACLA,CACA,CADO,kBACP,CAAAmD,CAAA,CAAQvG,OAAR,CAAgBC,IAAhB,CAAqBK,kBAFhB,EAMLiG,CANK,CAMU,CAAP,CAAAnD,CAAA,CACJpD,OADI,CACIC,IADJ,CACSK,kBADT,CAC8BN,OAD9B,CACsCC,IADtC,CAC2CG,YAErD,OAAO,CAACgD,CAAD,CAAOmD,CAAP,CAhBqC,CAmB9CvG;OAAA,CAAQC,IAAR,CAAa,eAAb,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAShD,IAAIiH,EAPY/B,CACd,IAAO,CAAC,KAAD,CAAQ5J,OAAR,CAAgBC,IAAhB,CAAqBO,cAArB,CADOoJ,CAEd,MAAS,CAAC,KAAD,CAAQ5J,OAAR,CAAgBC,IAAhB,CAAqBO,cAArB,CAFKoJ,CAGd,SAAY,CAAC,KAAD,CAAQ5J,OAAR,CAAgBC,IAAhB,CAAqBM,oBAArB,CAHEqJ,CAId,OAAU,CAAC,KAAD,CAAQ5J,OAAR,CAAgBC,IAAhB,CAAqBM,oBAArB,CAJIqJ,CAKd,MAAS,CAAC,IAAD,CAAO5J,OAAP,CAAeC,IAAf,CAAoBoB,UAApB,CALKuI,CAOJ,CAAUlF,CAAA,CAAMwC,aAAN,CAAoB,IAApB,CAAV,CAAZ,CACIc,EAAW2D,CAAA,CAAM,CAAN,CACXpF,EAAAA,CAAQoF,CAAA,CAAM,CAAN,CACZ,KAAI9B,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CAAqC6B,CAArC,CAAZsD,EAA2D,GAC3DC,EAAAA,CAAY9J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CAAqC6B,CAArC,CAAZuD,EAA2D,GAG/D,OAAK9B,EAAL,CAOO,CADA6B,CACA,CADY7B,CACZ,CADuB8B,CACvB,CAAOvD,CAAP,CAPP,EACEvG,OAGO,CAHCC,IAGD,CAHMyB,YAGN,CAHmB,gBAGnB,CAFH,6BAEG,CAAA,CADA,WACA,CADcmI,CACd,CAD0B,IAC1B;AADiCC,CACjC,CAD6C,GAC7C,CAAO9J,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAJT,CAhBgD,CA0BlDL;OAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAIsD,EAAWtD,CAAA,CAAMwC,aAAN,CAAoB,IAApB,CAGf,IAAgB,KAAhB,EAAIc,CAAJ,CASE,MAPA4D,EAOO,CAPD5L,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACF1E,OADE,CACMC,IADN,CACWK,kBADX,CAOC,EANiC,GAMjC,CALO,GAKP,EALHsL,CAAA,CAAI,CAAJ,CAKG,GAHLA,CAGK,CAHC,GAGD,CAHOA,CAGP,EAAA,CADA,GACA,CADMA,CACN,CAAO5L,OAAP,CAAeC,IAAf,CAAoBK,kBAApB,CAETN,QAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BAEFkK,EAAA,CADc,KAAhB,EAAI5D,CAAJ,EAAqD,OAArD,EAAyBA,CAAA,CAAS6D,SAAT,CAAmB,CAAnB,CAAsB,CAAtB,CAAzB,CACQ7L,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACF1E,OADE,CACMC,IADN,CACWI,mBADX,CADR,EAE2C,GAF3C,CAGuB,KAAhB,EAAI2H,CAAJ,EAAqC,KAArC,EAAyBA,CAAzB,EAA0D,KAA1D,EAA8CA,CAA9C,CACChI,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACF1E,OADE,CACMC,IADN,CACWM,oBADX,CADD,EAEqC,GAFrC;AAICP,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACF1E,OADE,CACMC,IADN,CACWoB,UADX,CAJD,EAK2B,GAIlC,QAAQ2G,CAAR,EACE,KAAK,KAAL,CACE,IAAA5E,EAAOwI,CAAPxI,CAAa,QACb,MACF,MAAK,MAAL,CACEA,CAAA,CAAO,YAAP,CAAsBwI,CAAtB,CAA4B,GAC5B,MACF,MAAK,IAAL,CACExI,CAAA,CAAO,WAAP,CAAqBwI,CAArB,CAA2B,GAC3B,MACF,MAAK,KAAL,CACExI,CAAA,CAAO,WAAP,CAAqBwI,CAArB,CAA2B,GAC3B,MACF,MAAK,OAAL,CACExI,CAAA,CAAO,cAAP,CAAwBwI,CAAxB,CAA8B,GAC9B,MACF,MAAK,OAAL,CACExI,CAAA,CAAOwI,CAAP,CAAa,UACb,MACF,MAAK,SAAL,CACExI,CAAA,CAAOwI,CAAP,CAAa,SACb,MACF,MAAK,WAAL,CACExI,CAAA,CAAOwI,CAAP,CAAa,UACb,MACF,MAAK,KAAL,CACExI,CAAA,CAAO,WAAP,CAAqBwI,CAArB,CAA2B,mBAC3B,MACF,MAAK,KAAL,CACExI,CAAA,CAAO,WAAP,CAAqBwI,CAArB,CAA2B,mBAC3B,MACF,MAAK,KAAL,CACExI,CAAA,CAAO,WAAP,CAAqBwI,CAArB;AAA2B,mBAhC/B,CAmCA,GAAIxI,CAAJ,CACE,MAAO,CAACA,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAIT,QAAQ2H,CAAR,EACE,KAAK,OAAL,CACE5E,CAAA,CAAO,WAAP,CAAqBwI,CAArB,CAA2B,kBAC3B,MACF,MAAK,MAAL,CACExI,CAAA,CAAO,YAAP,CAAsBwI,CAAtB,CAA4B,mBAC5B,MACF,MAAK,MAAL,CACExI,CAAA,CAAO,YAAP,CAAsBwI,CAAtB,CAA4B,mBAC5B,MACF,MAAK,MAAL,CACExI,CAAA,CAAO,YAAP,CAAsBwI,CAAtB,CAA4B,mBAC5B,MACF,SACE,KAAMlD,MAAA,CAAM,yBAAN,CAAkCV,CAAlC,CAAN,CAdJ,CAgBA,MAAO,CAAC5E,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBM,oBAApB,CAtFqC,CAyF9CP;OAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAIoH,EAAY,CACd,GAAM,CAAC,SAAD,CAAY9L,OAAZ,CAAoBC,IAApB,CAAyBI,mBAAzB,CADQ,CAEd,EAAK,CAAC,QAAD,CAAWL,OAAX,CAAmBC,IAAnB,CAAwBI,mBAAxB,CAFS,CAGd,aACI,CAAC,wBAAD,CAA2BL,OAA3B,CAAmCC,IAAnC,CAAwCM,oBAAxC,CAJU,CAKd,MAAS,CAAC,YAAD,CAAeP,OAAf,CAAuBC,IAAvB,CAA4BI,mBAA5B,CALK,CAMd,QAAW,CAAC,cAAD,CAAiBL,OAAjB,CAAyBC,IAAzB,CAA8BI,mBAA9B,CANG,CAOd,SAAY,CAAC,iBAAD,CAAoBL,OAApB,CAA4BC,IAA5B,CAAiCG,YAAjC,CAPE,CASZ2L,EAAAA,CAAWrH,CAAA,CAAMwC,aAAN,CAAoB,UAApB,CACC,WAAhB,EAAI6E,CAAJ,GACE/L,OADF,CACUC,IADV,CACeyB,YADf,CAC4B,gBAD5B,CAEM,6BAFN,CAIA;MAAOoK,EAAA,CAAUC,CAAV,CAhBuC,CAmBhD/L;OAAA,CAAQC,IAAR,CAAa,oBAAb,CAAuC,QAAQ,CAACyE,CAAD,CAAQ,CAGrD,IAAIsH,EAAkBhM,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,iBAAhC,CAClB1E,OADkB,CACVC,IADU,CACLM,oBADK,CAEtB,IAAI,CAACyL,CAAL,CACE,MAAO,CAAC,OAAD,CAAUhM,OAAV,CAAkBC,IAAlB,CAAuBG,YAAvB,CAET,KAAI6L,EAAoBvH,CAAA,CAAMwC,aAAN,CAAoB,UAApB,CAExB,IAAyB,OAAzB,EAAI+E,CAAJ,CA0BE,MAxBAjM,QAwBO,CAxBCC,IAwBD,CAxBMyB,YAwBN,CAxBmB,gBAwBnB,CAvBH,6BAuBG,CAAA,CAtBY1B,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,cADeA,CAEf,CAAC,OAAD,CAAWnH,OAAX,CAAmBC,IAAnB,CAAwBoH,0BAAxB,CAAqD,OAArD,CACC,iEADD,CAEC,2BAFD,CAGC,kBAHD;AAIC,KAJD,CAKC,wDALD,CAMC,6CAND,CAOC,wEAPD,CASC,mBATD,CAUC,KAVD,CAWC,6DAXD,CAYC,oDAZD,CAaC,iDAbD,CAcC,qBAdD,CAeC,OAfD,CAgBC,KAhBD,CAiBC,gBAjBD,CAkBC,GAlBD,CAFeF,CAsBZ,CADe,GACf,CADqB6E,CACrB,CADuC,GACvC,CAAOhM,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAET,QAAQ4L,CAAR,EACE,KAAK,MAAL,CACE,IAAA7I;AAAO4I,CAAP5I,CAAyB,WACzB,MACF,MAAK,KAAL,CACEA,CAAA,CAAO4I,CAAP,CAAyB,WACzB,MACF,MAAK,OAAL,CACE5I,CAAA,CAAO4I,CAAP,CAAyB,WACzB,MACF,MAAK,UAAL,CACE5I,CAAA,CAAO4I,CAAP,CAAyB,MACzB,MACF,MAAK,UAAL,CACE5I,CAAA,CAAO4I,CAAP,CAAyB,MACzB,MACF,MAAK,cAAL,CACME,CAAAA,CAAUlM,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,SAAhC,CACV1E,OADU,CACFC,IADE,CACGM,oBADH,CAEd,IAAI,CAAC2L,CAAL,CACE,MAAO,CAAC,OAAD,CAAUlM,OAAV,CAAkBC,IAAlB,CAAuBG,YAAvB,CAETgD,EAAA,CAAO4I,CAAP,CAAyB,KAAzB,CAAiCE,CAAjC,CAA2C,OAtB/C,CAyBA,MAAO,CAAC9I,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBa,cAApB,CA/D8C,CAkEvDd;OAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAImF,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACZ1E,OADY,CACJC,IADI,CACCO,cADD,CAAZqJ,EACgC,GAChCsC,EAAAA,CAAUnM,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CAAiC+B,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CAAjC,CACVlH,OADU,CACFgD,sBADE,CAEd,OAAOmJ,EAAP,CAAiB,MAAjB,CAA0BA,CAA1B,CAAoC,YAApC,CAAmDA,CAAnD,CAA6D,UAA7D,CACItC,CADJ,CACgB,KAP4B,CAW9C7J,QAAA,CAAQC,IAAR,CAAa,UAAb,CAA6BD,OAA7B,CAAqCC,IAArC,CAA0C,WAE1CD,QAAA,CAAQC,IAAR,CAAa,SAAb,CAA4BD,OAA5B,CAAoCC,IAApC,CAAyC,WAEzCD;OAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAI0H,EAAO1H,CAAA,CAAMwC,aAAN,CAAoB,IAApB,CACPmB,EAAAA,CAAOrI,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMoB,UADN,CAAPgH,EAC4B,IAEhC,QAAQ+D,CAAR,EACE,KAAK,KAAL,CACMjF,CAAAA,CAAenH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,UADe,CAEf,CAAC,MAAD,CAAUpH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CACI,sBADJ,CAEC,mBAFD,CAGC,mDAHD,CAIC,kBAJD,CAKC,GALD,CAFe,CAQnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,MAAK,KAAL,CACErI,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACAyF,EAAJ,CAAmBnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,UADe;AAEf,CAAC,MAAD,CAAUpH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CACI,sBADJ,CAEC,oCAFD,CAGC,2BAHD,CAIC,oEAJD,CAMC,kBAND,CAOC,GAPD,CAFe,CAUnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,MAAK,KAAL,CACErI,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACAyF,EAAJ,CAAmBnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,UADe,CAEf,CAAC,MAAD,CAAUpH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CACI,sBADJ,CAEC,oCAFD,CAGC,2BAHD;AAIC,oEAJD,CAMC,kBAND,CAOC,GAPD,CAFe,CAUnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,MAAK,SAAL,CAGMlB,CAAJ,CAAmBnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,WADe,CAEf,CAAC,MAAD,CAAUpH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CACI,iBADJ,CAEC,0CAFD,CAGC,2CAHD,CAIC,4CAJD,CAKC,uCALD,CAMC,mBAND,CAOC,sDAPD,CAQC,qCARD;AASC,GATD,CAFe,CAYnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,MAAK,QAAL,CACMlB,CAAJ,CAAmBnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,aADe,CAEf,CAAC,MAAD,CAAUpH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CACI,iBADJ,CAEC,8EAFD,CAIC,kFAJD,CAMC,2CAND,CAOC,4CAPD,CAQC,uCARD,CASC,sCATD,CAUC,sCAVD;AAWC,oCAXD,CAYC,8BAZD,CAaC,YAbD,CAcC,2DAdD,CAeC,KAfD,CAgBC,GAhBD,CAFe,CAmBnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,MAAK,MAAL,CACErI,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BAIAyF,EAAJ,CAAmBnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,YADe,CAEf,CAAC,OAAD,CAAWpH,OAAX,CAAmBC,IAAnB,CAAwBoH,0BAAxB,CACI,iBADJ,CAEC,oBAFD,CAGC,qBAHD,CAIC,qBAJD,CAKC,6CALD,CAMC,4BAND;AAOC,yBAPD,CAQC,oBARD,CASC,+CATD,CAUC,oCAVD,CAWC,qCAXD,CAYC,uBAZD,CAaC,gBAbD,CAcC,SAdD,CAeC,OAfD,CAgBC,mBAhBD,CAiBC,+BAjBD,CAkBC,sBAlBD,CAmBC,OAnBD,CAoBC,+CApBD,CAqBC,KArBD,CAsBC,6CAtBD,CAuBC,qCAvBD,CAwBC,kCAxBD,CAyBC,OAzBD,CA0BC,KA1BD,CA2BC,iBA3BD;AA4BC,GA5BD,CAFe,CA+BnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,MAAK,SAAL,CACErI,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACAyF,EAAJ,CAAmBnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,yBADe,CAEf,CAAC,MAAD,CAAUpH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CACI,iBADJ,CAEC,0CAFD,CAGC,yCAHD,CAIC,0CAJD,CAKC,qCALD,CAMC,2BAND,CAOC,gBAPD,CAQC,qCARD,CASC,uBATD;AAUC,sBAVD,CAWC,+DAXD,CAaC,oCAbD,CAcC,GAdD,CAFe,CAiBnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,MAAK,QAAL,CACErI,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACAyF,EAAJ,CAAmBnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,kBADe,CAEf,CAAC,UAAD,CAAcpH,OAAd,CAAsBC,IAAtB,CAA2BoH,0BAA3B,CACI,iBADJ,CAEC,qDAFD,CAGC,qBAHD,CAIC,GAJD,CAFe,CAOnBjE,EAAA,CAAO+D,CAAP,CAAsB,GAAtB,CAA4BkB,CAA5B,CAAmC,GACnC,MACF,SACE,KAAMK,MAAA,CAAM,oBAAN;AAA6B0D,CAA7B,CAAN,CA3JJ,CA6JA,MAAO,CAAChJ,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAnKsC,CAsK/CL,QAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAImF,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,UAAhC,CACZ1E,OADY,CACJC,IADI,CACCM,oBADD,CAAZsJ,EACsC,GACtCC,EAAAA,CAAY9J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,SAAhC,CACZ1E,OADY,CACJC,IADI,CACCM,oBADD,CAAZuJ,EACsC,GAE1C,OAAO,CADID,CACJ,CADgB,KAChB,CADwBC,CACxB,CAAO9J,OAAP,CAAeC,IAAf,CAAoBM,oBAApB,CAPqC,CAU9CP;OAAA,CAAQC,IAAR,CAAa,cAAb,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAE/C1E,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACJ,KAAImI,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZwI,EAC4B,GADhC,CAEIC,EAAY9J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZyI,EAC4B,GAC5BuC,EAAAA,CAAYrM,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZgL,EAC4B,iBAGhC,OAAO,CAFI,oBAEJ,CAF2BxC,CAE3B,CAFuC,IAEvC,CAF8CC,CAE9C,CAF0D,KAE1D,CADHuC,CACG,CADS,GACT,CAAOrM,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAZwC,CAejDL;OAAA,CAAQC,IAAR,CAAa,eAAb,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAEhD1E,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACJ,KAAImI,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZwI,EAC4B,GAC5BC,EAAAA,CAAY9J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,IAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZyI,EAC4B,GAahC,OAAO,CAZY9J,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,iBADeA,CAEf,CAAC,MAAD,CAAUnH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CAAoD,kBAApD,CACC,gBADD,CAEC,6CAFD,CAGC,gBAHD,CAIC,YAJD,CAKC,YALD,CAMC,KAND,CAOC,oDAPD;AAQC,GARD,CAFeF,CAYZ,CADmB,GACnB,CADyB0C,CACzB,CADqC,IACrC,CAD4CC,CAC5C,CADwD,GACxD,CAAO9J,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CApByC,CAuBlDL,QAAA,CAAQC,IAAR,CAAa,iBAAb,CAAoC,QAAQ,CAACyE,CAAD,CAAQ,CAElD1E,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACJ,OAAO,CAAC,gCAAD,CAAmC1B,OAAnC,CAA2CC,IAA3C,CAAgDI,mBAAhD,CAJ2C,CAOpDL;OAAA,CAAQC,IAAR,CAAa,UAAb,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C1E,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BACJ,KAAImI,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZwI,EAC4B,GAGhC,OAAO,CAAC,aAAD,EAFS7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,GAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAET,EADyB,GACzB,EAA6B,IAA7B,CAAoCwI,CAApC,CAAgD,mBAAhD,CACH7J,OADG,CACKC,IADL,CACUM,oBADV,CARoC,C,CC9clB,OAAA,CAAA,IAAA,CAAA,UAAA,CAAA,EAK3BP;OAAA,CAAQC,IAAR,CAAa,oBAAb,CAAuC,QAAQ,CAACyE,CAAD,CAAQ,CAErD,IAAI4H,EAAWtM,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CAAiC+B,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAjC,CACXlH,OADW,CACHuM,uBADG,CAAf,CAEIC,EAAQ,EACRxM,QAAJ,CAAYC,IAAZ,CAAiBoJ,gBAAjB,GACEmD,CADF,EACWxM,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCoJ,gBAAnC,CAAqD3E,CAArD,CADX,CAGI1E,QAAJ,CAAYC,IAAZ,CAAiByJ,gBAAjB,GACE8C,CADF,EACWxM,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCyJ,gBAAnC,CAAqDhF,CAArD,CADX,CAGI8H,EAAJ,GACEA,CADF,CACUxM,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CAAyBmJ,CAAzB,CAAgCxM,OAAhC,CAAwCC,IAAxC,CAA6CqD,MAA7C,CADV,CAGA,KAAImJ,EAAW,EACXzM,QAAJ,CAAYC,IAAZ,CAAiByM,kBAAjB,GACED,CADF,CACazM,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CACPrD,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCyM,kBAAnC,CAAuDhI,CAAvD,CADO;AAEP1E,OAFO,CAECC,IAFD,CAEMqD,MAFN,CADb,CAKA,KAAIiH,EAASvK,OAAA,CAAQC,IAAR,CAAawJ,eAAb,CAA6B/E,CAA7B,CAAoC,OAApC,CAAb,CACIiI,EAAc3M,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,QAAhC,CACd1E,OADc,CACNC,IADM,CACDoB,UADC,CAAdsL,EAC4B,EAFhC,CAGIC,EAAQ,EACRrC,EAAJ,EAAcoC,CAAd,GAEEC,CAFF,CAEUJ,CAFV,CAIIG,EAAJ,GACEA,CADF,CACgB3M,OADhB,CACwBC,IADxB,CAC6BqD,MAD7B,CACsC,SADtC,CACkDqJ,CADlD,CACgE,KADhE,CAMA,KAHA,IAAIE,EAAaF,CAAA,CAAc,SAAd,CAA0B,MAA3C,CACIG,EAAO,EADX,CAEIjK,EAAY6B,CAAA,CAAMqI,OAAN,EAFhB,CAGSvK,EAAI,CAAb,CAAgBA,CAAhB,CAAoBK,CAApB,CAA8BJ,MAA9B,CAAsCD,CAAA,EAAtC,CACEsK,CAAA,CAAKtK,CAAL,CAAA,CAAUxC,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CAAiCE,CAAA,CAAUL,CAAV,CAAjC,CACNxC,OADM,CACEgD,sBADF,CAGRI,EAAAA,CAAOyJ,CAAPzJ,CAAoB,GAApBA,CAA0BkJ,CAA1BlJ,CAAqC,GAArCA,CAA2C0J,CAAA,CAAK7J,IAAL,CAAU,IAAV,CAA3CG,CAA6D,OAA7DA,CACAoJ,CADApJ,CACQqJ,CADRrJ,CACmBmH,CADnBnH,CAC4BwJ,CAD5BxJ,CACoCuJ,CADpCvJ,CACkD,GACtDA,EAAA,CAAOpD,OAAA,CAAQC,IAAR,CAAauE,MAAb,CAAoBE,CAApB,CAA2BtB,CAA3B,CAEPpD,QAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,GAA1B,CAAgC4K,CAAhC,CAAA,CAA4ClJ,CAC5C,OAAO,KA3C8C,CAgDvDpD,QAAA,CAAQC,IAAR,CAAa,sBAAb,CAAyCD,OAAzC,CAAiDC,IAAjD,CAAsD,oBAEtDD;OAAA,CAAQC,IAAR,CAAa,qBAAb,CAAwC,QAAQ,CAACyE,CAAD,CAAQ,CAMtD,IAJA,IAAI4H,EAAWtM,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CAAiC+B,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAjC,CACXlH,OADW,CACHuM,uBADG,CAAf,CAEIO,EAAO,EAFX,CAGIjK,EAAY6B,CAAA,CAAMqI,OAAN,EAHhB,CAISvK,EAAI,CAAb,CAAgBA,CAAhB,CAAoBK,CAApB,CAA8BJ,MAA9B,CAAsCD,CAAA,EAAtC,CACEsK,CAAA,CAAKtK,CAAL,CAAA,CAAUxC,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CAAwClC,CAAxC,CACNxC,OADM,CACEC,IADF,CACOoB,UADP,CAAV,EACgC,MAGlC,OAAO,CADIiL,CACJ,CADe,GACf,CADqBQ,CAAA,CAAK7J,IAAL,CAAU,IAAV,CACrB,CADuC,GACvC,CAAOjD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAX+C,CAcxDL,QAAA,CAAQC,IAAR,CAAa,uBAAb,CAA0C,QAAQ,CAACyE,CAAD,CAAQ,CAKxD,MADY1E,QAAA2L,CAAQ1L,IAAR0L,CAAa,qBAAbA,CAAsCjH,CAAtCiH,CACL,CAAM,CAAN,CAAP,CAAkB,KALsC,CAQ1D3L;OAAA,CAAQC,IAAR,CAAa,mBAAb,CAAsC,QAAQ,CAACyE,CAAD,CAAQ,CAIpD,IAAItB,EAAO,MAAPA,EAFYpD,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,WAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAEZ+B,EAD4B,OAC5BA,EAA4B,OAC5BpD,QAAJ,CAAYC,IAAZ,CAAiByJ,gBAAjB,GAGEtG,CAHF,EAGUpD,OAAA,CAAQC,IAAR,CAAaoD,WAAb,CACJrD,OAAA,CAAQC,IAAR,CAAaqJ,QAAb,CAAsBtJ,OAAtB,CAA8BC,IAA9B,CAAmCyJ,gBAAnC,CAAqDhF,CAArD,CADI,CAEJ1E,OAFI,CAEIC,IAFJ,CAESqD,MAFT,CAHV,CAOIoB,EAAJ,CAAUsI,eAAV,EACMrE,CAEJ,CAFY3I,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACR1E,OADQ,CACAC,IADA,CACKoB,UADL,CAEZ,EADgC,MAChC,CAAA+B,CAAA,EAAQpD,OAAR,CAAgBC,IAAhB,CAAqBqD,MAArB,CAA8B,SAA9B,CAA0CqF,CAA1C,CAAkD,KAHpD,EAKEvF,CALF,EAKUpD,OALV,CAKkBC,IALlB,CAKuBqD,MALvB,CAKgC,WAGhC,OADAF,EACA,CADQ,KAnB4C,C,CC7E3B,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BpD,QAAA,CAAQC,IAAR,CAAaE,gBAAb,CAA8B,WAA9B,CAEAH,QAAA,CAAQC,IAAR,CAAa,IAAb,CAAuB,QAAQ,CAACyE,CAAD,CAAQ,CAGrC,MAAO,CADI1E,OAAAoD,CAAQnD,IAARmD,CAAaY,MAAbZ,CAAoBsB,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAApB9D,CACJ,CAAOpD,OAAP,CAAeC,IAAf,CAAoBG,YAApB,CAH8B,CAMvCJ,QAAA,CAAQC,IAAR,CAAa,cAAb,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAE3CtB,CAAAA,CAAOpD,OAAA,CAAQC,IAAR,CAAakE,gBAAb,CAA8BO,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAA9B,CACX,KAAIX,EAA6B,EAArB,EAAAnD,CAAA,CAAK6J,OAAL,CAAa,GAAb,CAAA,CAA0BjN,OAA1B,CAAkCC,IAAlC,CAAuCO,cAAvC,CACRR,OADQ,CACAC,IADA,CACKG,YACjB,OAAO,CAACgD,CAAD,CAAOmD,CAAP,CALwC,CAQjDvG;OAAA,CAAQC,IAAR,CAAa,SAAb,CAA4B,QAAQ,CAACyE,CAAD,CAAQ,CAE1C,OAAQA,CAAR,CAAcoD,UAAd,EACE,KAAK,CAAL,CACE,MAAO,CAAC,IAAD,CAAS9H,OAAT,CAAiBC,IAAjB,CAAsBG,YAAtB,CACT,MAAK,CAAL,CAIE,MAAO,EAHOJ,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACN1E,OADM,CACEC,IADF,CACOI,mBADP,CAGP,EAFsC,IAEtC,EADc,aACd,CAAOL,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACT,SAEE,IADA,IAAIuH,EAAeC,KAAJ,CAAUnD,CAAV,CAAgBoD,UAAhB,CAAf,CACStF,EAAI,CAAb,CAAgBA,CAAhB,CAAoBkC,CAApB,CAA0BoD,UAA1B,CAAsCtF,CAAA,EAAtC,CACEoF,CAAA,CAASpF,CAAT,CAAA,CAAcxC,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CAAwClC,CAAxC,CACNxC,OADM,CACEC,IADF,CACOoB,UADP,CAAd,EACoC,IAElC+B,EAAJ,CAAW,GAAX,CAAiBwE,CAAA,CAAS3E,IAAT,CAAc,GAAd,CAAjB,CAAsC,UACtC,OAAO,CAACG,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAfX,CAF0C,CAqB5CL;OAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAIyH,EAAUnM,OAAA,CAAQC,IAAR,CAAa6B,WAAb,CAAyBa,OAAzB,CAAiC+B,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CAAjC,CACVlH,OADU,CACFgD,sBADE,CAEV2F,EAAAA,CAAQ3I,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACR1E,OADQ,CACAC,IADA,CACKoB,UADL,CAARsH,EAC4B,IAChC,OAAOwD,EAAP,CAAiB,MAAjB,CAA0BA,CAA1B,CAAoC,IAApC,CAA2CxD,CAA3C,CAAmD,aANP,CAS9C3I,QAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAI5C,MAAO,EAFI1E,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAEJ,EADkC,IAClC,EAAQ,SAAR,CAAmBL,OAAnB,CAA2BC,IAA3B,CAAgCI,mBAAhC,CAJqC,CAO9CL;OAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAI7C,MAAO,EAFI1E,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAEJ,EADkC,IAClC,EAAQ,UAAR,CAAoBL,OAApB,CAA4BC,IAA5B,CAAiCI,mBAAjC,CAJsC,CAO/CL;OAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAIsD,EAAyC,OAA9B,EAAAtD,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CAAA,CACX,SADW,CACC,aADhB,CAEI2E,EAAY7L,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACZ1E,OADY,CACJC,IADI,CACCoB,UADD,CAAZwK,EAC4B,IAG5BzI,EAAAA,EAFOpD,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAEP+C,EADqC,IACrCA,EAAc,GAAdA,CAAoB4E,CAApB5E,CAA+B,GAA/BA,CAAqCyI,CAArCzI,CAAiD,GACrD,OAAIsB,EAAJ,CAAUjD,SAAV,CAAoB+E,OAApB,CAA4BC,aAA5B,CACS,CAACrD,CAAD,CAAQ,MAAR,CAAgBpD,OAAhB,CAAwBC,IAAxB,CAA6BO,cAA7B,CADT,CAGO,CAAC4C,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAZsC,CAe/CL;OAAA,CAAQC,IAAR,CAAa,WAAb,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAG5C,IAAI6D,EAAQ7D,CAAA,CAAMwC,aAAN,CAAoB,OAApB,CAARqB,EAAwC,YAA5C,CAGI2E,EAAOlN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CAFe,OAAVyI,EAAC5E,CAAD4E,EAA8B,YAA9BA,EAAqB5E,CAArB4E,CACZnN,OADYmN,CACJlN,IADIkN,CACC9M,mBADD8M,CACuBnN,OADvBmN,CAC+BlN,IAD/BkN,CACoC9L,UACzC,CAAP6L,EAA8D,IAClE,QAAQ3E,CAAR,EACE,KAAK,OAAL,CAEE,MAAO,CADI2E,CACJ,CADW,KACX,CAAOlN,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACT,MAAK,YAAL,CAGE,MAFIsG,EAEG,CAFE3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CAEF,CAAA,CADIwI,CACJ,CADW,GACX,CADiBvG,CACjB,CADsB,GACtB,CAAO3G,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACT,MAAK,MAAL,CAGA,KAAK,UAAL,CASE,MARIsG,EAQG,CARE3G,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAQF,CAPHyC,CAOG,CAPYnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,mBADe;AAEf,CAAC,SAAD,CAAapH,OAAb,CAAqBC,IAArB,CAA0BoH,0BAA1B,CACI,wBADJ,CAEC,iCAFD,CAGC,GAHD,CAFe,CAOZ,CAAA,CADAF,CACA,CADe,GACf,CADqB+F,CACrB,CAD4B,IAC5B,CADmCvG,CACnC,CADwC,GACxC,CAAO3G,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CACT,MAAK,QAAL,CAWE,MAVAL,QAUO,CAVCC,IAUD,CAVMyB,YAUN,CAVmB,gBAUnB,CATH,6BASG,CARHyF,CAQG,CARYnH,OAAA,CAAQC,IAAR,CAAamH,gBAAb,CACf,oBADe,CAEf,CAAC,SAAD,CAAapH,OAAb,CAAqBC,IAArB,CAA0BoH,0BAA1B,CACI,iBADJ,CAEC,mDAFD,CAGC,mBAHD,CAIC,GAJD,CAFe,CAQZ,CAAA,CADAF,CACA,CADe,GACf,CADqB+F,CACrB,CAD4B,GAC5B,CAAOlN,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAhCX,CAkCA,KAAMqI,MAAA,CAAM,iCAAN,CAAN;AAzC4C,CA4C9C1I;OAAA,CAAQC,IAAR,CAAa,iBAAb,CAAoC,QAAQ,CAACyE,CAAD,CAAQ,CAElD,IAAIkE,EAASlE,CAAA,CAAMwC,aAAN,CAAoB,QAApB,CAAb,CACI2B,EAASnE,CAAA,CAAMwC,aAAN,CAAoB,QAApB,CADb,CAEIkG,EAAgC,UAAhCA,EAAsBxE,CAAtBwE,EAAwD,YAAxDA,EAA8CvE,CAFlD,CAKIqE,EAAOlN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,QAAhC,CAFK0I,CAAAD,CAAqBnN,OAArBmN,CAA6BlN,IAA7BkN,CAAkC9M,mBAAlC8M,CACZnN,OADYmN,CACJlN,IADIkN,CACC9L,UACN,CAAP6L,EAA+D,IACnE,IAAc,OAAd,EAAItE,CAAJ,EAAmC,MAAnC,EAAyBC,CAAzB,CAEE,MAAO,CADIqE,CACJ,CAAOlN,OAAP,CAAeC,IAAf,CAAoBoB,UAApB,CACF,IAAI6L,CAAA,CAAKvJ,KAAL,CAAW,WAAX,CAAJ,EAA+ByJ,CAA/B,CAAmD,CAGxD,OAAQxE,CAAR,EACE,KAAK,YAAL,CACME,CAAAA,CAAM9I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CACV,MACF,MAAK,UAAL,CACMoE,CAAJ,CAAU9I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OADM,CACEC,IADF,CACOO,cADP,CAEVsI,EAAA,CAAMoE,CAAN,CAAa,YAAb,CAA4BpE,CAC5B;KACF,MAAK,OAAL,CACMA,CAAJ,CAAU,GACV,MACF,SACE,KAAMJ,MAAA,CAAM,uCAAN,CAAN,CAbJ,CAeA,OAAQG,CAAR,EACE,KAAK,YAAL,CACE,IAAIE,EAAM/I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CACV,MACF,MAAK,UAAL,CACMqE,CAAJ,CAAU/I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OADM,CACEC,IADF,CACOO,cADP,CAEVuI,EAAA,CAAMmE,CAAN,CAAa,YAAb,CAA4BnE,CAC5B,MACF,MAAK,MAAL,CACE,KACF,SACE,KAAML,MAAA,CAAM,uCAAN,CAAN,CAZJ,CAeMtF,CAAJ,CADY,MAAd,EAAIyF,CAAJ,CACaqE,CADb,CACoB,aADpB,CACoCpE,CADpC,CAC0C,GAD1C,CAGaoE,CAHb,CAGoB,aAHpB,CAGoCpE,CAHpC,CAG0C,IAH1C,CAGiDC,CAHjD,CAGuD,GAnCC,CAAnD,IAsCDD,EAsBJ,CAtBU9I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAsBV,CArBIqE,CAqBJ,CArBU/I,OAAA,CAAQC,IAAR,CAAa+F,WAAb,CAAyBtB,CAAzB,CAAgC,KAAhC,CAqBV,CAAItB,CAAJ;AApBmBpD,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,oBADeA,CAEf,CAAC,SAAD,CAAanH,OAAb,CAAqBC,IAArB,CAA0BoH,0BAA1B,CACI,iEADJ,CAEC,qCAFD,CAGC,gCAHD,CAIC,kCAJD,CAKC,oCALD,CAMC,eAND,CAOC,mCAPD,CAQC,6BARD,CASC,yCATD,CAUC,sDAVD,CAWC,OAXD,CAYC,gBAZD;AAaC,KAbD,CAcC,6BAdD,CAeC,iCAfD,CAgBC,oCAhBD,CAiBC,GAjBD,CAFeF,CAoBnB,CAA0B,GAA1B,CAAgC+F,CAAhC,CAAuC,KAAvC,CACItE,CADJ,CACa,KADb,CACsBE,CADtB,CAC4B,KAD5B,CACqCD,CADrC,CAC8C,KAD9C,CACuDE,CADvD,CAC6D,GAE/D,OAAO,CAAC3F,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CA1E2C,CA6EpDL;OAAA,CAAQC,IAAR,CAAa,eAAb,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAOhD,IAAIsD,EALY4B,CACd,UAAa,gBADCA,CAEd,UAAa,gBAFCA,CAGd,UAAa,IAHCA,CAKD,CAAUlF,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAV,CAGXgG,EAAAA,CAAOlN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CAFKsD,CAAAmF,CAAWnN,OAAXmN,CAAmBlN,IAAnBkN,CAAwB9M,mBAAxB8M,CACZnN,OADYmN,CACJlN,IADIkN,CACC9L,UACN,CAAP6L,EAA6D,IAyBjE,OAAO,CAxBHlF,CAAJ5E,CAEa8J,CAFb9J,CAEoB4E,CAFpB5E,CAKqBpD,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,kBADeA,CAEf,CAAC,SAAD,CAAanH,OAAb,CAAqBC,IAArB,CAA0BoH,0BAA1B,CACI,gBADJ,CAEC,oCAFD,CAGC,uCAHD,CAIC,qCAJD,CAKC,+BALD;AAMC,4BAND,CAOC,2CAPD,CAQC,8BARD,CASC,uDATD,CAUC,SAVD,CAWC,OAXD,CAYC,KAZD,CAaC,4BAbD,CAcC,GAdD,CAFeF,CALrB/D,CAsB4B,GAtB5BA,CAsBkC8J,CAtBlC9J,CAsByC,GAElC,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAnCyC,CAsClDL;OAAA,CAAQC,IAAR,CAAa,SAAb,CAA4B,QAAQ,CAACyE,CAAD,CAAQ,CAO1C,IAAIsD,EALY4B,CACd,KAAQ,yCADMA,CAEd,MAAS,yCAFKA,CAGd,KAAQ,SAHMA,CAKD,CAAUlF,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAAV,CAGf,OAAO,EAFIlH,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAEJ,EADkC,IAClC,EAAQ2H,CAAR,CAAkBhI,OAAlB,CAA0BC,IAA1B,CAA+BI,mBAA/B,CAVmC,CAa5CL,QAAA,CAAQC,IAAR,CAAa,UAAb,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAI3C,MAAO,QAAP,EAFU1E,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACN1E,OADM,CACEC,IADF,CACOoB,UADP,CAEV,EADgC,IAChC,EAAwB,MAJmB,CAO7CrB;OAAA,CAAQC,IAAR,CAAa,eAAb,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAEhD1E,OAAA,CAAQC,IAAR,CAAayB,YAAb,CAA0B,gBAA1B,CACI,6BASJ,KAAI0B,EAAO,qBAAPA,EARAsB,CAAA,CAAM0F,QAAN,CAAe,MAAf,CAAJiD,CAEYrN,OAAA,CAAQC,IAAR,CAAa+D,MAAb,CAAoBU,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CAApB,CAFZmG,CAKYrN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACN1E,OADM,CACEC,IADF,CACOoB,UADP,CALZgM,EAMkC,IAE9BjK,EAAqC,OACK,SAC9C,EADesB,CAAA,CAAMwC,aAAN,CAAoB,MAApB,CACf,GACElH,OAEA,CAFQC,IAER,CAFayB,YAEb,CAF0B,gBAE1B,CADI,6BACJ,CAAA0B,CAAA,CAAO,mBAAP,CAA6BA,CAA7B,CAAoC,GAHtC,CAKA,OAAO,CAACA,CAAD,CAAOpD,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAnByC,CAsBlDL,QAAA,CAAQC,IAAR,CAAa,WAAb,CAA8BD,OAA9B,CAAsCC,IAAtC,CAA2C,eAE3CD;OAAA,CAAQC,IAAR,CAAa,UAAb,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAC3C,IAAIwI,EAAOlN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMoB,UADN,CAAP6L,EAC4B,IAC5BI,EAAAA,CAAMtN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,KAAhC,CACN1E,OADM,CACEC,IADF,CACOoB,UADP,CAANiM,EAC4B,IAqBhC,OAAO,CAnBYtN,OAAAmH,CAAQlH,IAARkH,CAAaC,gBAAbD,CACf,YADeA,CAEf,CAAC,MAAD,CAAUnH,OAAV,CAAkBC,IAAlB,CAAuBoH,0BAAvB,CACE,oCADF,CAEE,6BAFF,CAGE,iCAHF,CAIE,KAJF,CAKE,kBALF,CAME,kBANF,CAOE,yBAPF,CAQE,8CARF,CASE,wBATF;AAUE,gBAVF,CAWE,8BAXF,CAYE,OAZF,CAaE,KAbF,CAcE,iBAdF,CAeE,GAfF,CAFeF,CAmBZ,CADmB,GACnB,CADyB+F,CACzB,CADgC,IAChC,CADuCI,CACvC,CAD6C,GAC7C,CAAOtN,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CAzBoC,CA4B7CL,QAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAC7C,IAAIwI,EAAOlN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAAP6M,EACqC,IADzC,CAEIK,EAAOvN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMoB,UADN,CAAPkM,EAC4B,IAC5BC,EAAAA,CAAKxN,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,IAAhC,CACL1E,OADK,CACGC,IADH,CACQoB,UADR,CAALmM,EAC4B,IAEhC,OAAO,CADIN,CACJ,CADW,cACX,CAD4BK,CAC5B,CADmC,IACnC,CAD0CC,CAC1C,CAD+C,GAC/C,CAAOxN,OAAP,CAAeC,IAAf,CAAoBI,mBAApB,CARsC,CAW/CL;OAAA,CAAQC,IAAR,CAAa,YAAb,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAO7C,MAAO,CADI,2BACJ,EAHI1E,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,MAAhC,CACP1E,OADO,CACCC,IADD,CACMI,mBADN,CAGJ,EAFkC,IAElC,EADyC,2BACzC,CAAOL,OAAP,CAAeC,IAAf,CAAoBK,kBAApB,CAPsC,C,CClUpB,OAAA,CAAA,IAAA,CAAA,SAAA,CAAA,EAK3BN,QAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAI9C,MAAO,CAFI1E,OAAAoD,CAAQnD,IAARmD,CAAatB,WAAbsB,CAAyBT,OAAzBS,CAAiCsB,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CAAjC9D,CACPpD,OADOoD,CACCJ,sBADDI,CAEJ,CAAOpD,OAAP,CAAeC,IAAf,CAAoBG,YAApB,CAJuC,CAOhDJ,QAAA,CAAQC,IAAR,CAAa,aAAb,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAImF,EAAY7J,OAAA,CAAQC,IAAR,CAAa2G,WAAb,CAAyBlC,CAAzB,CAAgC,OAAhC,CACZ1E,OADY,CACJC,IADI,CACCmB,gBADD,CAAZyI,EACkC,GAGtC,OAFc7J,QAAAmM,CAAQlM,IAARkM,CAAarK,WAAbqK,CAAyBxJ,OAAzBwJ,CAAiCzH,CAAA,CAAMwC,aAAN,CAAoB,KAApB,CAAjCiF,CACVnM,OADUmM,CACFnJ,sBADEmJ,CAEd,CAAiB,KAAjB,CAAyBtC,CAAzB,CAAqC,KANS,C,CCZrB,OAAA,CAAA,IAAA,CAAA,gBAAA,CAAA,EAO3B7J,QAAA,CAAQC,IAAR,CAAa,qBAAb,CAAwCD,OAAxC,CAAgDC,IAAhD,CAAqD,aACrDD,QAAA,CAAQC,IAAR,CAAa,qBAAb,CAAwCD,OAAxC,CAAgDC,IAAhD,CAAqD","file":"dart_compressed.js","sourceRoot":"./"} \ No newline at end of file +{"version":3,"sources":["generators/dart.js","generators/dart/colour.js","generators/dart/lists.js","generators/dart/logic.js","generators/dart/loops.js","generators/dart/math.js","generators/dart/procedures.js","generators/dart/text.js","generators/dart/variables.js","generators/dart/variables_dynamic.js"],"names":["Blockly","Dart","Generator","addReservedWords","ORDER_ATOMIC","ORDER_UNARY_POSTFIX","ORDER_UNARY_PREFIX","ORDER_MULTIPLICATIVE","ORDER_ADDITIVE","ORDER_SHIFT","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_RELATIONAL","ORDER_EQUALITY","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_IF_NULL","ORDER_CONDITIONAL","ORDER_CASCADE","ORDER_ASSIGNMENT","ORDER_NONE","isInitialized","init","Blockly.Dart.init","workspace","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.Dart.finish","code","prefixLines","INDENT","imports","definitions","name","def","match","replace","scrubNakedValue","Blockly.Dart.scrubNakedValue","line","quote_","Blockly.Dart.quote_","string","multiline_quote_","Blockly.Dart.multiline_quote_","split","map","lines","scrub_","Blockly.Dart.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","getProcedureDef","inputList","type","inputTypes","VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.Dart.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","parseInt","innerOrder","Math","floor","getFieldValue","provideFunction_","functionName","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","elements","Array","itemCount_","element","operator","item","cacheList","listVar","getDistinctName","list","mode","where","listOrder","xVar","Error","value","where1","where2","at1","at2","direction","sortFunctionName","input","delimiter","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","getInput","OPERATORS","argument0","argument1","defaultArgument","value_if","value_then","value_else","repeats","getField","String","Number","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","arg","substring","CONSTANTS","constant","number_to_check","dropdown_property","divisor","varName","func","argument2","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","returnType","args","getVars","hasReturnValue_","indexOf","text","textOrder","requiresLengthCall","msg","sub","from","to"],"mappings":"A;;;;;;;;;;;;eAuBAA,OAAQC,CAAAA,IAAR,CAAe,IAAID,OAAQE,CAAAA,SAAZ,CAAsB,MAAtB,CASfF,QAAQC,CAAAA,IAAKE,CAAAA,gBAAb,CAGI,i0BAHJ,CAuBAH;OAAQC,CAAAA,IAAKG,CAAAA,YAAb,CAA4B,CAC5BJ,QAAQC,CAAAA,IAAKI,CAAAA,mBAAb,CAAmC,CACnCL,QAAQC,CAAAA,IAAKK,CAAAA,kBAAb,CAAkC,CAClCN,QAAQC,CAAAA,IAAKM,CAAAA,oBAAb,CAAoC,CACpCP,QAAQC,CAAAA,IAAKO,CAAAA,cAAb,CAA8B,CAC9BR,QAAQC,CAAAA,IAAKQ,CAAAA,WAAb,CAA2B,CAC3BT,QAAQC,CAAAA,IAAKS,CAAAA,iBAAb,CAAiC,CACjCV,QAAQC,CAAAA,IAAKU,CAAAA,iBAAb,CAAiC,CACjCX,QAAQC,CAAAA,IAAKW,CAAAA,gBAAb,CAAgC,CAChCZ,QAAQC,CAAAA,IAAKY,CAAAA,gBAAb,CAAgC,CAChCb,QAAQC,CAAAA,IAAKa,CAAAA,cAAb,CAA8B,EAC9Bd,QAAQC,CAAAA,IAAKc,CAAAA,iBAAb,CAAiC,EACjCf,QAAQC,CAAAA,IAAKe,CAAAA,gBAAb,CAAgC,EAChChB,QAAQC,CAAAA,IAAKgB,CAAAA,aAAb,CAA6B,EAC7BjB,QAAQC,CAAAA,IAAKiB,CAAAA,iBAAb,CAAiC,EACjClB;OAAQC,CAAAA,IAAKkB,CAAAA,aAAb,CAA6B,EAC7BnB,QAAQC,CAAAA,IAAKmB,CAAAA,gBAAb,CAAgC,EAChCpB,QAAQC,CAAAA,IAAKoB,CAAAA,UAAb,CAA0B,EAM1BrB,QAAQC,CAAAA,IAAKqB,CAAAA,aAAb,CAA6B,CAAA,CAM7BtB;OAAQC,CAAAA,IAAKsB,CAAAA,IAAb,CAAoBC,QAAQ,CAACC,CAAD,CAAY,CAEtCzB,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAA4BC,MAAOC,CAAAA,MAAP,CAAc,IAAd,CAG5B5B,QAAQC,CAAAA,IAAK4B,CAAAA,cAAb,CAA8BF,MAAOC,CAAAA,MAAP,CAAc,IAAd,CAEzB5B,QAAQC,CAAAA,IAAK6B,CAAAA,WAAlB,CAIE9B,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYC,CAAAA,KAAzB,EAJF,CACE/B,OAAQC,CAAAA,IAAK6B,CAAAA,WADf,CAEM,IAAI9B,OAAQgC,CAAAA,KAAZ,CAAkBhC,OAAQC,CAAAA,IAAKgC,CAAAA,eAA/B,CAKNjC,QAAQC,CAAAA,IAAK6B,CAAAA,WAAYI,CAAAA,cAAzB,CAAwCT,CAAUU,CAAAA,cAAV,EAAxC,CAKA,KAHA,IAAIC,EAAU,EAAd,CAEIC,EAAarC,OAAQsC,CAAAA,SAAUC,CAAAA,qBAAlB,CAAwCd,CAAxC,CAFjB,CAGSe,EAAI,CAAb,CAAgBA,CAAhB,CAAoBH,CAAWI,CAAAA,MAA/B,CAAuCD,CAAA,EAAvC,CACEJ,CAAQM,CAAAA,IAAR,CAAa1C,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CAAiCN,CAAA,CAAWG,CAAX,CAAjC,CACTxC,OAAQgC,CAAAA,KAAMY,CAAAA,uBADL,CAAb,CAKEC,EAAAA,CAAY7C,OAAQsC,CAAAA,SAAUQ,CAAAA,gBAAlB,CAAmCrB,CAAnC,CAChB;IAASe,CAAT,CAAa,CAAb,CAAgBA,CAAhB,CAAoBK,CAAUJ,CAAAA,MAA9B,CAAsCD,CAAA,EAAtC,CACEJ,CAAQM,CAAAA,IAAR,CAAa1C,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CAAiCE,CAAA,CAAUL,CAAV,CAAaO,CAAAA,KAAb,EAAjC,CACT/C,OAAQgD,CAAAA,sBADC,CAAb,CAKEZ,EAAQK,CAAAA,MAAZ,GACEzC,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,SADF,CAEM,MAFN,CAEeU,CAAQa,CAAAA,IAAR,CAAa,IAAb,CAFf,CAEoC,GAFpC,CAIA,KAAK3B,CAAAA,aAAL,CAAqB,CAAA,CApCiB,CA4CxCtB;OAAQC,CAAAA,IAAKiD,CAAAA,MAAb,CAAsBC,QAAQ,CAACC,CAAD,CAAO,CAE/BA,CAAJ,GACEA,CADF,CACSpD,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CAAyBD,CAAzB,CAA+BpD,OAAQC,CAAAA,IAAKqD,CAAAA,MAA5C,CADT,CAGAF,EAAA,CAAO,YAAP,CAAsBA,CAAtB,CAA6B,GAG7B,KAAIG,EAAU,EAAd,CACIC,EAAc,EADlB,CAESC,CAAT,KAASA,CAAT,GAAiBzD,QAAQC,CAAAA,IAAKyB,CAAAA,YAA9B,CAA4C,CAC1C,IAAIgC,EAAM1D,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAA0B+B,CAA1B,CACNC,EAAIC,CAAAA,KAAJ,CAAU,WAAV,CAAJ,CACEJ,CAAQb,CAAAA,IAAR,CAAagB,CAAb,CADF,CAGEF,CAAYd,CAAAA,IAAZ,CAAiBgB,CAAjB,CALwC,CAS5C,OAAO1D,OAAQC,CAAAA,IAAKyB,CAAAA,YACpB,QAAO1B,OAAQC,CAAAA,IAAK4B,CAAAA,cACpB7B,QAAQC,CAAAA,IAAK6B,CAAAA,WAAYC,CAAAA,KAAzB,EAEA,OAAe6B,CADDL,CAAQN,CAAAA,IAAR,CAAa,IAAb,CACCW,CADoB,MACpBA,CAD6BJ,CAAYP,CAAAA,IAAZ,CAAiB,MAAjB,CAC7BW,EAAAA,OAAR,CAAgB,QAAhB,CAA0B,MAA1B,CAAkCA,CAAAA,OAAlC,CAA0C,MAA1C,CAAkD,QAAlD,CAAP,CAAqER,CAvBlC,CAgCrCpD,QAAQC,CAAAA,IAAK4D,CAAAA,eAAb,CAA+BC,QAAQ,CAACC,CAAD,CAAO,CAC5C,MAAOA,EAAP,CAAc,KAD8B,CAU9C/D;OAAQC,CAAAA,IAAK+D,CAAAA,MAAb,CAAsBC,QAAQ,CAACC,CAAD,CAAS,CAErCA,CAAA,CAASA,CAAON,CAAAA,OAAP,CAAe,KAAf,CAAsB,MAAtB,CACOA,CAAAA,OADP,CACe,KADf,CACsB,MADtB,CAEOA,CAAAA,OAFP,CAEe,KAFf,CAEsB,KAFtB,CAGOA,CAAAA,OAHP,CAGe,IAHf,CAGqB,KAHrB,CAIT,OAAO,GAAP,CAAcM,CAAd,CAAuB,GANc,CAgBvClE,QAAQC,CAAAA,IAAKkE,CAAAA,gBAAb,CAAgCC,QAAS,CAACF,CAAD,CAAS,CAIhD,MAHYA,EAAOG,CAAAA,KAAP,CAAa,KAAb,CAAoBC,CAAAA,GAApBC,CAAwBvE,OAAQC,CAAAA,IAAK+D,CAAAA,MAArCO,CAGCtB,CAAAA,IAAN,CAAW,eAAX,CAJyC,CAiBlDjD;OAAQC,CAAAA,IAAKuE,CAAAA,MAAb,CAAsBC,QAAQ,CAACC,CAAD,CAAQtB,CAAR,CAAcuB,CAAd,CAA4B,CACxD,IAAIC,EAAc,EAElB,IAAI,CAACF,CAAMG,CAAAA,gBAAX,EAA+B,CAACH,CAAMG,CAAAA,gBAAiBC,CAAAA,gBAAvD,CAAyE,CAEvE,IAAIC,EAAUL,CAAMM,CAAAA,cAAN,EACVD,EAAJ,GACEA,CAIE,CAJQ/E,OAAQiF,CAAAA,KAAMf,CAAAA,MAAOgB,CAAAA,IAArB,CAA0BH,CAA1B,CACN/E,OAAQC,CAAAA,IAAKkF,CAAAA,YADP,CACsB,CADtB,CAIR,CAAAP,CAAA,CAFEF,CAAMU,CAAAA,eAAV,CAEER,CAFF,CAEiB5E,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CAAyB0B,CAAzB,CAAmC,IAAnC,CAAyC,MAAzC,CAFjB,CAIEH,CAJF,CAIiB5E,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CAAyB0B,CAAzB,CAAmC,IAAnC,CAAyC,KAAzC,CAPnB,CAYA,KAAK,IAAIvC,EAAI,CAAb,CAAgBA,CAAhB,CAAoBkC,CAAMW,CAAAA,SAAU5C,CAAAA,MAApC,CAA4CD,CAAA,EAA5C,CACMkC,CAAMW,CAAAA,SAAN,CAAgB7C,CAAhB,CAAmB8C,CAAAA,IAAvB,EAA+BtF,OAAQuF,CAAAA,UAAWC,CAAAA,KAAlD,GACMC,CADN,CACmBf,CAAMW,CAAAA,SAAN,CAAgB7C,CAAhB,CAAmBkD,CAAAA,UAAWC,CAAAA,WAA9B,EADnB,IAGIZ,CAHJ,CAGc/E,OAAQC,CAAAA,IAAK2F,CAAAA,iBAAb,CAA+BH,CAA/B,CAHd,IAKMb,CALN,EAKqB5E,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CAAyB0B,CAAzB,CAAkC,KAAlC,CALrB,CAhBqE,CA2BrEc,CAAAA;AAAYnB,CAAMoB,CAAAA,cAAlBD,EAAoCnB,CAAMoB,CAAAA,cAAeH,CAAAA,WAArB,EACpCI,EAAAA,CAAWpB,CAAA,CAAe,EAAf,CAAoB3E,OAAQC,CAAAA,IAAK+F,CAAAA,WAAb,CAAyBH,CAAzB,CACnC,OAAOjB,EAAP,CAAqBxB,CAArB,CAA4B2C,CAhC4B,CA4C1D/F;OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAA2BC,QAAQ,CAACxB,CAAD,CAAQyB,CAAR,CAAcC,CAAd,CAAyBC,CAAzB,CAC/BC,CAD+B,CACpB,CACTC,CAAAA,CAAQH,CAARG,EAAqB,CACrBC,EAAAA,CAAQF,CAARE,EAAqBxG,OAAQC,CAAAA,IAAKoB,CAAAA,UAClCqD,EAAMjD,CAAAA,SAAUgF,CAAAA,OAAQC,CAAAA,aAA5B,EACEH,CAAA,EAEF,KAAII,EAAiBjC,CAAMjD,CAAAA,SAAUgF,CAAAA,OAAQC,CAAAA,aAAxB,CAAwC,GAAxC,CAA8C,GAE7DE,EAAAA,CADFL,CAAJ,CACWvG,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgCyB,CAAhC,CACLnG,OAAQC,CAAAA,IAAKO,CAAAA,cADR,CADX,EAEsCmG,CAFtC,CAGWN,CAAJ,CACIrG,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgCyB,CAAhC,CACLnG,OAAQC,CAAAA,IAAKK,CAAAA,kBADR,CADJ,EAEmCqG,CAFnC,CAII3G,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgCyB,CAAhC,CAAsCK,CAAtC,CAJJ,EAKDG,CAGN,IAAI3G,OAAQ8G,CAAAA,QAAR,CAAiBF,CAAjB,CAAJ,CAEEA,CACA,CADKG,QAAA,CAASH,CAAT,CAAa,EAAb,CACL,CADwBL,CACxB,CAAIF,CAAJ,GACEO,CADF,CACO,CAACA,CADR,CAHF,KAMO,CAEL,GAAY,CAAZ,CAAIL,CAAJ,CAAe,CACbK,CAAA,CAAKA,CAAL,CAAU,KAAV,CAAkBL,CAClB,KAAIS,EAAahH,OAAQC,CAAAA,IAAKO,CAAAA,cAFjB,CAAf,IAGmB,EAAZ,CAAI+F,CAAJ,GACLK,CACA,CADKA,CACL,CADU,KACV,CADkB,CAACL,CACnB,CAAIS,CAAJ,CAAiBhH,OAAQC,CAAAA,IAAKO,CAAAA,cAFzB,CAIH6F;CAAJ,GAEIO,CAIF,CALIL,CAAJ,CACO,IADP,CACcK,CADd,CACmB,GADnB,CAGO,GAHP,CAGaA,CAEb,CAAII,CAAJ,CAAiBhH,OAAQC,CAAAA,IAAKK,CAAAA,kBANhC,CAQA0G,EAAA,CAAaC,IAAKC,CAAAA,KAAL,CAAWF,CAAX,CACbR,EAAA,CAAQS,IAAKC,CAAAA,KAAL,CAAWV,CAAX,CACJQ,EAAJ,EAAkBR,CAAlB,EAA2BQ,CAA3B,GACEJ,CADF,CACO,GADP,CACaA,CADb,CACkB,GADlB,CAnBK,CAuBP,MAAOA,EA/CM,C,CC5OY,OAAA,CAAA,IAAA,CAAA,MAAA,CAAA,EAK3B5G,QAAQC,CAAAA,IAAKE,CAAAA,gBAAb,CAA8B,MAA9B,CAEAH,QAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAG9C,MAAO,CADI1E,OAAQC,CAAAA,IAAK+D,CAAAA,MAAbZ,CAAoBsB,CAAMyC,CAAAA,aAAN,CAAoB,QAApB,CAApB/D,CACJ,CAAOpD,OAAQC,CAAAA,IAAKG,CAAAA,YAApB,CAHuC,CAMhDJ;OAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C1E,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BAWJ,OAAO,CAVY1B,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,eADeA,CAEf,CAAC,SAAD,CAAarH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA1B,CAAuD,MAAvD,CACC,oCADD,CAEC,gCAFD,CAGC,4DAHD,CAIC,wDAJD,CAKC,yDALD,CAMC,GAND,CAFeD,CAUZ,CADmB,IACnB,CAAOrH,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAduC,CAiBhDL;OAAQC,CAAAA,IAAR,CAAA,UAAA,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C,IAAI6C,EAAMvH,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACN1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADP,CAANkG,EAC4B,CADhC,CAEIC,EAAQxH,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACR1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADL,CAARmG,EAC4B,CAC5BC,EAAAA,CAAOzH,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADN,CAAPoG,EAC4B,CAEhCzH,QAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BAoBJ,OAAO,CAnBY1B,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,YADeA,CAEf,CAAC,SAAD,CAAarH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA1B,CACI,yBADJ,CAEC,4DAFD,CAGC,6CAHD;AAIC,gBAJD,CAKC,qCALD,CAMC,4DAND,CAOC,6CAPD,CAQC,gBARD,CASC,qCATD,CAUC,4DAVD,CAWC,6CAXD,CAYC,gBAZD,CAaC,qCAbD,CAcC,wBAdD,CAeC,GAfD,CAFeD,CAmBZ,CADmB,GACnB,CADyBE,CACzB,CAD+B,IAC/B,CADsCC,CACtC,CAD8C,IAC9C,CADqDC,CACrD,CAD4D,GAC5D,CAAOzH,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CA9BoC,CAiC7CL;OAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAIgD,EAAK1H,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,SAAhC,CACL1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADR,CAALqG,EAC4B,WADhC,CAEIC,EAAK3H,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,SAAhC,CACL1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADR,CAALsG,EAC4B,WAC5BC,EAAAA,CAAQ5H,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACR1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADL,CAARuG,EAC4B,EAEhC5H,QAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BA2BJ,OAAO,CA1BY1B,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,cADeA,CAEf,CAAC,SAAD,CAAarH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA1B,CACI,qCADJ,CAEC,4CAFD;AAGC,kDAHD,CAIC,kDAJD,CAKC,kDALD,CAMC,kDAND,CAOC,kDAPD,CAQC,kDARD,CASC,qDATD,CAUC,6CAVD,CAWC,qDAXD,CAYC,6CAZD;AAaC,qDAbD,CAcC,6CAdD,CAeC,gBAfD,CAgBC,qCAhBD,CAiBC,gBAjBD,CAkBC,qCAlBD,CAmBC,gBAnBD,CAoBC,qCApBD,CAqBC,wBArBD,CAsBC,GAtBD,CAFeD,CA0BZ,CADmB,GACnB,CADyBK,CACzB,CAD8B,IAC9B,CADqCC,CACrC,CAD0C,IAC1C,CADiDC,CACjD,CADyD,GACzD,CAAO5H,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CArCsC,C,CC/DpB,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BL,QAAQC,CAAAA,IAAKE,CAAAA,gBAAb,CAA8B,MAA9B,CAEAH,QAAQC,CAAAA,IAAR,CAAA,kBAAA,CAAqC,QAAQ,CAACyE,CAAD,CAAQ,CAEnD,MAAO,CAAC,IAAD,CAAO1E,OAAQC,CAAAA,IAAKG,CAAAA,YAApB,CAF4C,CAKrDJ,QAAQC,CAAAA,IAAR,CAAA,iBAAA,CAAoC,QAAQ,CAACyE,CAAD,CAAQ,CAGlD,IADA,IAAImD,EAAeC,KAAJ,CAAUpD,CAAMqD,CAAAA,UAAhB,CAAf,CACSvF,EAAI,CAAb,CAAgBA,CAAhB,CAAoBkC,CAAMqD,CAAAA,UAA1B,CAAsCvF,CAAA,EAAtC,CACEqF,CAAA,CAASrF,CAAT,CAAA,CAAcxC,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CAAwClC,CAAxC,CACVxC,OAAQC,CAAAA,IAAKoB,CAAAA,UADH,CAAd,EACgC,MAGlC,OAAO,CADI,GACJ,CADUwG,CAAS5E,CAAAA,IAAT,CAAc,IAAd,CACV,CADgC,GAChC,CAAOjD,OAAQC,CAAAA,IAAKG,CAAAA,YAApB,CAR2C,CAWpDJ;OAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAIsD,EAAUhI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACV1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADH,CAAV2G,EAC4B,MAIhC,OAAO,CADI,kBACJ,EAHWhI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACd1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADC,CAGX,EAFyB,GAEzB,EADuC,IACvC,CAD8C2G,CAC9C,CADwD,GACxD,CAAOhI,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAPsC,CAU/CL,QAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAI7C,MAAO,EAFI1E,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAEJ,EADkC,IAClC,EAAQ,SAAR,CAAmBL,OAAQC,CAAAA,IAAKI,CAAAA,mBAAhC,CAJsC,CAO/CL;OAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAI9C,MAAO,EAFI1E,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAEJ,EADkC,IAClC,EAAQ,UAAR,CAAoBL,OAAQC,CAAAA,IAAKI,CAAAA,mBAAjC,CAJuC,CAOhDL;OAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAIuD,EAAyC,OAA9B,EAAAvD,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CAAA,CACX,SADW,CACC,aADhB,CAEIe,EAAOlI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADN,CAAP6G,EAC4B,IAG5B9E,EAAAA,EAFOpD,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAEP+C,EADqC,IACrCA,EAAc,GAAdA,CAAoB6E,CAApB7E,CAA+B,GAA/BA,CAAqC8E,CAArC9E,CAA4C,GAChD,OAAIsB,EAAMjD,CAAAA,SAAUgF,CAAAA,OAAQC,CAAAA,aAA5B,CACS,CAACtD,CAAD,CAAQ,MAAR,CAAgBpD,OAAQC,CAAAA,IAAKO,CAAAA,cAA7B,CADT,CAGO,CAAC4C,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAZuC,CAehDL;OAAQC,CAAAA,IAAR,CAAA,cAAA,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAU/CyD,QAASA,EAAS,EAAG,CACnB,IAAIC,EAAUpI,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACV,UADU,CACErI,OAAQgD,CAAAA,sBADV,CAAd,CAEII,EAAO,OAAPA,CAAiBgF,CAAjBhF,CAA2B,KAA3BA,CAAmCkF,CAAnClF,CAA0C,KAC9CkF,EAAA,CAAOF,CACP,OAAOhF,EALY,CAPrB,IAAImF,EAAO7D,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAPoB,EAAsC,KAA1C,CACIC,EAAQ9D,CAAMyC,CAAAA,aAAN,CAAoB,OAApB,CAARqB,EAAwC,YAD5C,CAIIF,EAAOtI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CAFe,QAAV+D,EAACD,CAADC,EAA+B,UAA/BA,EAAsBD,CAAtBC,CACZzI,OAAQC,CAAAA,IAAKoB,CAAAA,UADDoH,CACczI,OAAQC,CAAAA,IAAKI,CAAAA,mBAChC,CAAPiI,EAA8D,IAalE,KAAe,QAAf,EAAME,CAAN,EAAmC,QAAnC,EAA2BD,CAA3B,GAAyD,UAAzD,EAAgDC,CAAhD,EACKF,CAAK3E,CAAAA,KAAL,CAAW,OAAX,CADL,CAoDE,OAAQ6E,CAAR,EACE,KAAK,OAAL,CACE,GAAY,KAAZ,EAAID,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,QACX;AAAOtI,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,YAAZ,EAAIkI,CAAJ,CAEL,MAAO,CADID,CACJ,CADW,cACX,CAAOtI,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,QAAZ,EAAIkI,CAAJ,CACL,MAAOD,EAAP,CAAc,iBAEhB,MACF,MAAK,MAAL,CACE,GAAY,KAAZ,EAAIC,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,OACX,CAAOtI,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,YAAZ,EAAIkI,CAAJ,CAEL,MAAO,CADID,CACJ,CADW,eACX,CAAOtI,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,QAAZ,EAAIkI,CAAJ,CACL,MAAOD,EAAP,CAAc,kBAEhB,MACF,MAAK,YAAL,CACM1B,CAAJ,CAAS5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CACT,IAAY,KAAZ,EAAI6D,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,GACX,CADiB1B,CACjB,CADsB,GACtB,CAAO5G,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,YAAZ,EAAIkI,CAAJ,CAEL,MAAO,CADID,CACJ;AADW,YACX,CAD0B1B,CAC1B,CAD+B,GAC/B,CAAO5G,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,QAAZ,EAAIkI,CAAJ,CACL,MAAOD,EAAP,CAAc,YAAd,CAA6B1B,CAA7B,CAAkC,MAEpC,MACF,MAAK,UAAL,CACMA,CAAJ,CAAS5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAAyC,CAAA,CAAzC,CACL1E,OAAQC,CAAAA,IAAKO,CAAAA,cADR,CAET,IAAY,KAAZ,EAAI+H,CAAJ,CAEE,MAAO,CADID,CACJ,CADW,GACX,CADiBA,CACjB,CADwB,YACxB,CADuC1B,CACvC,CAD4C,GAC5C,CAAO5G,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,YAAZ,EAAIkI,CAAJ,EAAoC,QAApC,EAA4BA,CAA5B,CAA8C,CAC/CnF,CAAJ,CAAWkF,CAAX,CAAkB,YAAlB,CAAiCA,CAAjC,CAAwC,YAAxC,CAAuD1B,CAAvD,CAA4D,GAC5D,IAAY,YAAZ,EAAI2B,CAAJ,CACE,MAAO,CAACnF,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,QAAZ,EAAIkI,CAAJ,CACL,MAAOnF,EAAP,CAAc,KALmC,CAQrD,KACF,MAAK,QAAL,CACEpD,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACJ;GAAY,QAAZ,EAAI6G,CAAJ,CAOE,MALIG,EAIJtF,CAJWpD,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACP,OADO,CACErI,OAAQgD,CAAAA,sBADV,CAIXI,CAFW,MAEXA,CAFoBsF,CAEpBtF,CAF2B,+BAE3BA,CAF6DkF,CAE7DlF,CADI,aACJA,EAAQkF,CAARlF,CAAe,YAAfA,CAA8BsF,CAA9BtF,CAAqC,MAArCA,CAEK,IAAY,KAAZ,EAAImF,CAAJ,CASL,MARIlB,EAQG,CARYrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,uBADe,CAEf,CAAC,UAAD,CAAcpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA3B,CACA,kBADA,CAEE,sDAFF,CAGE,sBAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADID,CACJ,CADmB,GACnB,CADyBiB,CACzB,CADgC,GAChC,CAAOtI,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,YAAZ,EAAIkI,CAAJ,CASL,MARIlB,EAQG,CARYrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,0BADe;AAEf,CAAC,UAAD,CAAcpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA3B,CACA,kBADA,CAEE,sDAFF,CAGE,+BAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADID,CACJ,CADmB,GACnB,CADyBiB,CACzB,CADgC,GAChC,CAAOtI,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAhFb,CApDF,IAC0B,CAExB,GAAa,QAAb,EAAImI,CAAJ,CAUE,MATAxI,QAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAQA0B,CAPI,6BAOJA,CALIA,CAKJA,CALW+E,CAAA,EAKX/E,CAJIsF,CAIJtF,CAJWpD,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACP,OADO,CACErI,OAAQgD,CAAAA,sBADV,CAIXI,CAFAA,CAEAA,EAFQ,MAERA,CAFiBsF,CAEjBtF,CAFwB,+BAExBA,CAF0DkF,CAE1DlF,CADI,aACJA,GAAQkF,CAARlF,CAAe,YAAfA,CAA8BsF,CAA9BtF,CAAqC,MAArCA,CAGA,IAAY,QAAZ,EAAImF,CAAJ,CAME,MAJI3B,EAGJxD;AAHSpD,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAAyC,CAAA,CAAzC,CACL1E,OAAQC,CAAAA,IAAKO,CAAAA,cADR,CAGT4C,CADIA,CACJA,CADW+E,CAAA,EACX/E,CAAAA,CAAAA,EAAQkF,CAARlF,CAAe,YAAfA,CAA8BkF,CAA9BlF,CAAqC,YAArCA,CAAyDwD,CAAzDxD,CAA8D,MAGzD,IAAY,KAAZ,EAAImF,CAAJ,CAWL,MAVI3B,EAUG,CAVE5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAUF,CARH2C,CAQG,CARYrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,oBADe,CAEf,CAAC,UAAD,CAAcpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA3B,CACA,yBADA,CAEE,2BAFF,CAGE,sBAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADID,CACJ,CADmB,GACnB,CADyBiB,CACzB,CADgC,IAChC,CADuC1B,CACvC,CAD4C,GAC5C,CAAO5G,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACF,IAAY,YAAZ,EAAIkI,CAAJ,CAWL,MAVI3B,EAUG,CAVE5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAUF,CARH2C,CAQG,CARYrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,uBADe;AAEf,CAAC,UAAD,CAAcpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA3B,CACA,yBADA,CAEE,2BAFF,CAGE,+BAHF,CAIE,GAJF,CAFe,CAQZ,CAAA,CADID,CACJ,CADmB,GACnB,CADyBiB,CACzB,CADgC,IAChC,CADuC1B,CACvC,CAD4C,GAC5C,CAAO5G,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CA7Ca,CAwI1B,KAAMsI,MAAA,CAAM,yCAAN,CAAN,CA7J+C,CAgKjD3I;OAAQC,CAAAA,IAAR,CAAA,cAAA,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAW/CyD,QAASA,EAAS,EAAG,CACnB,GAAIG,CAAK3E,CAAAA,KAAL,CAAW,OAAX,CAAJ,CACE,MAAO,EAET,KAAIyE,EAAUpI,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACV,UADU,CACErI,OAAQgD,CAAAA,sBADV,CAAd,CAEII,EAAO,OAAPA,CAAiBgF,CAAjBhF,CAA2B,KAA3BA,CAAmCkF,CAAnClF,CAA0C,KAC9CkF,EAAA,CAAOF,CACP,OAAOhF,EARY,CARrB,IAAImF,EAAO7D,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAPoB,EAAsC,KAA1C,CACIC,EAAQ9D,CAAMyC,CAAAA,aAAN,CAAoB,OAApB,CAARqB,EAAwC,YAD5C,CAEIF,EAAOtI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAAPiI,EACqC,IAHzC,CAIIM,EAAQ5I,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,IAAhC,CACR1E,OAAQC,CAAAA,IAAKmB,CAAAA,gBADL,CAARwH,EACkC,MAatC,QAAQJ,CAAR,EACE,KAAK,OAAL,CACE,GAAY,KAAZ,EAAID,CAAJ,CACE,MAAOD,EAAP,CAAc,QAAd,CAAyBM,CAAzB,CAAiC,KAC5B,IAAY,QAAZ;AAAIL,CAAJ,CACL,MAAOD,EAAP,CAAc,aAAd,CAA8BM,CAA9B,CAAsC,MAExC,MACF,MAAK,MAAL,CACE,GAAY,KAAZ,EAAIL,CAAJ,CAGE,MAFInF,EACJA,CADW+E,CAAA,EACX/E,CAAAA,CAAAA,EAAQkF,CAARlF,CAAe,GAAfA,CAAqBkF,CAArBlF,CAA4B,iBAA5BA,CAAgDwF,CAAhDxF,CAAwD,KAAxDA,CAEK,IAAY,QAAZ,EAAImF,CAAJ,CACL,MAAOD,EAAP,CAAc,OAAd,CAAwBM,CAAxB,CAAgC,MAElC,MACF,MAAK,YAAL,CACMhC,CAAAA,CAAK5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CACT,IAAY,KAAZ,EAAI6D,CAAJ,CACE,MAAOD,EAAP,CAAc,GAAd,CAAoB1B,CAApB,CAAyB,MAAzB,CAAkCgC,CAAlC,CAA0C,KACrC,IAAY,QAAZ,EAAIL,CAAJ,CACL,MAAOD,EAAP,CAAc,UAAd,CAA2B1B,CAA3B,CAAgC,IAAhC,CAAuCgC,CAAvC,CAA+C,MAEjD,MACF,MAAK,UAAL,CACMhC,CAAJ,CAAS5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAAyC,CAAA,CAAzC,CACL1E,OAAQC,CAAAA,IAAKO,CAAAA,cADR,CAEL4C,EAAJ,CAAW+E,CAAA,EACX,IAAY,KAAZ,EAAII,CAAJ,CAGE,MAFAnF,EAEA,EAFQkF,CAER,CAFe,GAEf,CAFqBA,CAErB,CAF4B,YAE5B,CAF2C1B,CAE3C,CAFgD,MAEhD,CAFyDgC,CAEzD,CADI,KACJ,CACK,IAAY,QAAZ,EAAIL,CAAJ,CAGL,MAFAnF,EAEA,EAFQkF,CAER,CAFe,UAEf;AAF4BA,CAE5B,CAFmC,YAEnC,CAFkD1B,CAElD,CAFuD,IAEvD,CADIgC,CACJ,CADY,MACZ,CAEF,MACF,MAAK,QAAL,CACE5I,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACA0B,EAAJ,CAAW+E,CAAA,EACPO,EAAAA,CAAO1I,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACP,OADO,CACErI,OAAQgD,CAAAA,sBADV,CAEXI,EAAA,EAAQ,MAAR,CAAiBsF,CAAjB,CACI,+BADJ,CACsCJ,CADtC,CAC6C,aAC7C,IAAY,KAAZ,EAAIC,CAAJ,CAEE,MADAnF,EACA,EADQkF,CACR,CADe,GACf,CADqBI,CACrB,CAD4B,MAC5B,CADqCE,CACrC,CAD6C,KAC7C,CACK,IAAY,QAAZ,EAAIL,CAAJ,CAEL,MADAnF,EACA,EADQkF,CACR,CADe,UACf,CAD4BI,CAC5B,CADmC,IACnC,CAD0CE,CAC1C,CADkD,MAClD,CApDN,CAwDA,KAAMD,MAAA,CAAM,yCAAN,CAAN,CA7E+C,CAgFjD3I;OAAQC,CAAAA,IAAR,CAAA,gBAAA,CAAmC,QAAQ,CAACyE,CAAD,CAAQ,CAEjD,IAAI4D,EAAOtI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAAPiI,EACqC,IADzC,CAEIO,EAASnE,CAAMyC,CAAAA,aAAN,CAAoB,QAApB,CAFb,CAGI2B,EAASpE,CAAMyC,CAAAA,aAAN,CAAoB,QAApB,CACb,IAAImB,CAAK3E,CAAAA,KAAL,CAAW,OAAX,CAAJ,EAAsC,UAAtC,EAA4BkF,CAA5B,EAA8D,YAA9D,EAAoDC,CAApD,CAA6E,CAG3E,OAAQD,CAAR,EACE,KAAK,YAAL,CACE,IAAIE,EAAM/I,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CACV,MACF,MAAK,UAAL,CACMqE,CAAJ,CAAU/I,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OAAQC,CAAAA,IAAKO,CAAAA,cADP,CAEVuI,EAAA,CAAMT,CAAN,CAAa,YAAb,CAA4BS,CAC5B,MACF,MAAK,OAAL,CACMA,CAAJ,CAAU,GACV,MACF,SACE,KAAMJ,MAAA,CAAM,sCAAN,CAAN,CAbJ,CAeA,OAAQG,CAAR,EACE,KAAK,YAAL,CACE,IAAIE;AAAMhJ,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CACV,MACF,MAAK,UAAL,CACMsE,CAAJ,CAAUhJ,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OAAQC,CAAAA,IAAKO,CAAAA,cADP,CAEVwI,EAAA,CAAMV,CAAN,CAAa,YAAb,CAA4BU,CAC5B,MACF,MAAK,MAAL,CAEE,KACF,SACE,KAAML,MAAA,CAAM,sCAAN,CAAN,CAbJ,CAgBMvF,CAAAA,CADQ,MAAd,EAAI0F,CAAJ,CACaR,CADb,CACoB,WADpB,CACkCS,CADlC,CACwC,GADxC,CAGaT,CAHb,CAGoB,WAHpB,CAGkCS,CAHlC,CAGwC,IAHxC,CAG+CC,CAH/C,CAGqD,GApCsB,CAA7E,IAuCMD,EAsBJ,CAtBU/I,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAsBV,CArBIsE,CAqBJ,CArBUhJ,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAqBV,CAAItB,CAAJ,CApBmBpD,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,mBADeA,CAEf,CAAC,OAAD,CAAWrH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAxB,CACI,+DADJ;AAEC,qCAFD,CAGC,gCAHD,CAIC,kCAJD,CAKC,oCALD,CAMC,eAND,CAOC,mCAPD,CAQC,6BARD,CASC,yCATD,CAUC,qDAVD,CAWC,OAXD,CAYC,gBAZD,CAaC,KAbD,CAcC,6BAdD,CAeC,iCAfD,CAgBC,kCAhBD,CAiBC,GAjBD,CAFeD,CAoBnB,CAA0B,GAA1B,CAAgCiB,CAAhC,CAAuC,KAAvC,CACIO,CADJ,CACa,KADb,CACsBE,CADtB,CAC4B,KAD5B,CACqCD,CADrC,CAC8C,KAD9C,CACuDE,CADvD,CAC6D,GAE/D,OAAO,CAAC5F,CAAD;AAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAtE0C,CAyEnDL;OAAQC,CAAAA,IAAR,CAAA,UAAA,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C,IAAI4D,EAAOtI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADN,CAAPiH,EAC4B,IADhC,CAEIW,EAAiD,GAArC,GAAAvE,CAAMyC,CAAAA,aAAN,CAAoB,WAApB,CAAA,CAA2C,CAA3C,CAA+C,EAC3D7B,EAAAA,CAAOZ,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAkBX,OAAO,CAjBgBnH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb8B,CACnB,YADmBA,CAEnB,CAAC,OAAD,CAAWlJ,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAxB,CACI,2CADJ,CAEC,wBAFD,CAGC,gEAHD,CAIC,yEAJD,CAMC,qBAND;AAOC,+BAPD,CAQC,wEARD,CASC,MATD,CAUC,+BAVD,CAWC,qCAXD,CAYC,uBAZD,CAaC,gBAbD,CAcC,GAdD,CAFmB4B,CAiBhB,CAAoB,GAApB,CAA0BZ,CAA1B,CAAiC,KAAjC,CACGhD,CADH,CACU,KADV,CACkB2D,CADlB,CAC8B,GAD9B,CAEHjJ,OAAQC,CAAAA,IAAKI,CAAAA,mBAFV,CAvBoC,CA4B7CL;OAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAIyE,EAAQnJ,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACR1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADL,CAAZ,CAEI+I,EAAYpJ,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZ+H,EAC4B,IAC5Bb,EAAAA,CAAO7D,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CACX,IAAY,OAAZ,EAAIoB,CAAJ,CACOY,CAGD9B,GAFF8B,CAEE9B,CAFM,IAENA,EAAAA,CAAAA,CAAe,OAJrB,KAKO,IAAY,MAAZ,EAAIkB,CAAJ,CACAY,CAGL,GAFEA,CAEF,CAFU,IAEV,EAAI9B,CAAJ,CAAmB,MAJd,KAML,MAAMsB,MAAA,CAAM,gBAAN,CAAyBJ,CAAzB,CAAN,CAGF,MAAO,CADIY,CACJ,CADY,GACZ,CADkB9B,CAClB,CADiC,GACjC,CADuC+B,CACvC,CADmD,GACnD,CAAOpJ,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CArBqC,CAwB9CL;OAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAM9C,MAAO,CADI,gBACJ,EAJI1E,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADN,CAIJ,EAHyB,IAGzB,EAD8B,YAC9B,CAAOrB,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CANuC,C,CC3arB,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BL;OAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAI2E,EAAI,CAAR,CACIjG,EAAO,EACPpD,QAAQC,CAAAA,IAAKqJ,CAAAA,gBAAjB,GAEElG,CAFF,EAEUpD,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAKqJ,CAAAA,gBAAnC,CAAqD5E,CAArD,CAFV,CAIA,GAAG,CACD,IAAA8E,EAAgBxJ,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,IAAhC,CAAuC2E,CAAvC,CACZrJ,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAhBmI,EACgC,OAChC,KAAAC,EAAazJ,OAAQC,CAAAA,IAAKyJ,CAAAA,eAAb,CAA6BhF,CAA7B,CAAoC,IAApC,CAA2C2E,CAA3C,CACTrJ,QAAQC,CAAAA,IAAK0J,CAAAA,gBAAjB,GACEF,CADF,CACezJ,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CACTrD,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAK0J,CAAAA,gBAAnC,CAAqDjF,CAArD,CADS,CAET1E,OAAQC,CAAAA,IAAKqD,CAAAA,MAFJ,CADf,CAG6BmG,CAH7B,CAKArG,EAAA,GAAa,CAAJ,CAAAiG,CAAA,CAAQ,OAAR,CAAkB,EAA3B,EACI,MADJ,CACaG,CADb,CAC6B,OAD7B,CACuCC,CADvC,CACoD,GACpD,GAAEJ,CAXD,CAAH,MAYS3E,CAAMkF,CAAAA,QAAN,CAAe,IAAf,CAAsBP,CAAtB,CAZT,CAcA,IAAI3E,CAAMkF,CAAAA,QAAN,CAAe,MAAf,CAAJ,EAA8B5J,OAAQC,CAAAA,IAAK0J,CAAAA,gBAA3C,CACEF,CAMA;AANazJ,OAAQC,CAAAA,IAAKyJ,CAAAA,eAAb,CAA6BhF,CAA7B,CAAoC,MAApC,CAMb,CALI1E,OAAQC,CAAAA,IAAK0J,CAAAA,gBAKjB,GAJEF,CAIF,CAJezJ,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CACTrD,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAK0J,CAAAA,gBAAnC,CAAqDjF,CAArD,CADS,CAET1E,OAAQC,CAAAA,IAAKqD,CAAAA,MAFJ,CAIf,CAF6BmG,CAE7B,EAAArG,CAAA,EAAQ,WAAR,CAAsBqG,CAAtB,CAAmC,GAErC,OAAOrG,EAAP,CAAc,IA/B8B,CAkC9CpD,QAAQC,CAAAA,IAAR,CAAA,eAAA,CAAkCD,OAAQC,CAAAA,IAAR,CAAA,WAElCD;OAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAU9C,IAAIuD,EARY4B,CACd,GAAM,IADQA,CAEd,IAAO,IAFOA,CAGd,GAAM,GAHQA,CAId,IAAO,IAJOA,CAKd,GAAM,GALQA,CAMd,IAAO,IANOA,CAQD,CAAUnF,CAAMyC,CAAAA,aAAN,CAAoB,IAApB,CAAV,CAAf,CACIX,EAAqB,IAAb,EAACyB,CAAD,EAAiC,IAAjC,EAAqBA,CAArB,CACRjI,OAAQC,CAAAA,IAAKa,CAAAA,cADL,CACsBd,OAAQC,CAAAA,IAAKY,CAAAA,gBAF/C,CAGIiJ,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CAAqC8B,CAArC,CAAZsD,EAA2D,GAC3DC,EAAAA,CAAY/J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CAAqC8B,CAArC,CAAZuD,EAA2D,GAE/D,OAAO,CADID,CACJ,CADgB,GAChB,CADsB7B,CACtB,CADiC,GACjC,CADuC8B,CACvC,CAAOvD,CAAP,CAhBuC,CAmBhDxG;OAAQC,CAAAA,IAAR,CAAA,eAAA,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAEhD,IAAIuD,EAAyC,KAA9B,EAACvD,CAAMyC,CAAAA,aAAN,CAAoB,IAApB,CAAD,CAAuC,IAAvC,CAA8C,IAA7D,CACIX,EAAqB,IAAb,EAACyB,CAAD,CAAqBjI,OAAQC,CAAAA,IAAKc,CAAAA,iBAAlC,CACRf,OAAQC,CAAAA,IAAKe,CAAAA,gBAFjB,CAGI8I,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CAAqC8B,CAArC,CACZuD,EAAAA,CAAY/J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CAAqC8B,CAArC,CAChB,IAAKsD,CAAL,EAAmBC,CAAnB,CAIO,CAEL,IAAIC,EAA+B,IAAb,EAAC/B,CAAD,CAAqB,MAArB,CAA8B,OAC/C6B,EAAL,GACEA,CADF,CACcE,CADd,CAGKD,EAAL,GACEA,CADF,CACcC,CADd,CANK,CAJP,IAGED,EAAA,CADAD,CACA,CADY,OAad,OAAO,CADIA,CACJ,CADgB,GAChB,CADsB7B,CACtB,CADiC,GACjC,CADuC8B,CACvC,CAAOvD,CAAP,CAtByC,CAyBlDxG,QAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAI8B,EAAQxG,OAAQC,CAAAA,IAAKK,CAAAA,kBAGzB,OAAO,CADI,GACJ,EAFSN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CAAwC8B,CAAxC,CAET,EAF2D,MAE3D,EAAOA,CAAP,CALsC,CAQ/CxG;OAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAG9C,MAAO,CADoC,MAAhCtB,EAACsB,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAD/D,CAA0C,MAA1CA,CAAmD,OACvD,CAAOpD,OAAQC,CAAAA,IAAKG,CAAAA,YAApB,CAHuC,CAMhDJ,QAAQC,CAAAA,IAAR,CAAA,UAAA,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C,MAAO,CAAC,MAAD,CAAS1E,OAAQC,CAAAA,IAAKG,CAAAA,YAAtB,CAFoC,CAK7CJ,QAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAIuF,EAAWjK,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,IAAhC,CACX1E,OAAQC,CAAAA,IAAKiB,CAAAA,iBADF,CAAX+I,EACmC,OADvC,CAEIC,EAAalK,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACb1E,OAAQC,CAAAA,IAAKiB,CAAAA,iBADA,CAAbgJ,EACmC,MACnCC,EAAAA,CAAanK,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACb1E,OAAQC,CAAAA,IAAKiB,CAAAA,iBADA,CAAbiJ,EACmC,MAEvC,OAAO,CADIF,CACJ,CADe,KACf,CADuBC,CACvB,CADoC,KACpC,CAD4CC,CAC5C,CAAOnK,OAAQC,CAAAA,IAAKiB,CAAAA,iBAApB,CATuC,C,CCxGrB,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BlB;OAAQC,CAAAA,IAAR,CAAA,mBAAA,CAAsC,QAAQ,CAACyE,CAAD,CAAQ,CAIlD,IAAI0F,EAFF1F,CAAM2F,CAAAA,QAAN,CAAe,OAAf,CAAJ,CAEgBC,MAAA,CAAOC,MAAA,CAAO7F,CAAMyC,CAAAA,aAAN,CAAoB,OAApB,CAAP,CAAP,CAFhB,CAKgBnH,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACV1E,OAAQC,CAAAA,IAAKmB,CAAAA,gBADH,CALhB,EAMwC,GAJtC,CAMEoJ,EAASxK,OAAQC,CAAAA,IAAKyJ,CAAAA,eAAb,CAA6BhF,CAA7B,CAAoC,IAApC,CACb8F,EAAA,CAASxK,OAAQC,CAAAA,IAAKwK,CAAAA,WAAb,CAAyBD,CAAzB,CAAiC9F,CAAjC,CACLtB,EAAAA,CAAO,EACX,KAAIsH,EAAU1K,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACV,OADU,CACDrI,OAAQgD,CAAAA,sBADP,CAAd,CAEI2H,EAASP,CACRA,EAAQzG,CAAAA,KAAR,CAAc,OAAd,CAAL,EAAgC3D,OAAQ8G,CAAAA,QAAR,CAAiBsD,CAAjB,CAAhC,GACEO,CAEA,CAFS3K,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACL,YADK,CACSrI,OAAQgD,CAAAA,sBADjB,CAET,CAAAI,CAAA,EAAQ,MAAR,CAAiBuH,CAAjB,CAA0B,KAA1B,CAAkCP,CAAlC,CAA4C,KAH9C,CASA;MAJAhH,EAIA,EAJQ,WAIR,CAJsBsH,CAItB,CAJgC,QAIhC,CAHIA,CAGJ,CAHc,KAGd,CAHsBC,CAGtB,CAH+B,IAG/B,CAFID,CAEJ,CAFc,SAEd,CADIF,CACJ,CADa,KACb,CAzBoD,CA4BtDxK,QAAQC,CAAAA,IAAR,CAAA,eAAA,CAAkCD,OAAQC,CAAAA,IAAR,CAAA,mBAElCD,QAAQC,CAAAA,IAAR,CAAA,mBAAA,CAAsC,QAAQ,CAACyE,CAAD,CAAQ,CAEpD,IAAIkG,EAAuC,OAAvCA,EAAQlG,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAZ,CACI2C,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACZkG,CAAA,CAAQ5K,OAAQC,CAAAA,IAAKK,CAAAA,kBAArB,CACAN,OAAQC,CAAAA,IAAKoB,CAAAA,UAFD,CAAZyI,EAE4B,OAHhC,CAIIU,EAASxK,OAAQC,CAAAA,IAAKyJ,CAAAA,eAAb,CAA6BhF,CAA7B,CAAoC,IAApC,CACb8F,EAAA,CAASxK,OAAQC,CAAAA,IAAKwK,CAAAA,WAAb,CAAyBD,CAAzB,CAAiC9F,CAAjC,CACLkG,EAAJ,GACEd,CADF,CACc,GADd,CACoBA,CADpB,CAGA,OAAO,SAAP,CAAmBA,CAAnB,CAA+B,OAA/B,CAAyCU,CAAzC,CAAkD,KAXE,CActDxK;OAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAImG,EAAY7K,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CACZ+B,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CADY,CACgBnH,OAAQgD,CAAAA,sBADxB,CAAhB,CAEI8G,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACZ1E,OAAQC,CAAAA,IAAKmB,CAAAA,gBADD,CAAZ0I,EACkC,GAHtC,CAIIC,EAAY/J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,IAAhC,CACZ1E,OAAQC,CAAAA,IAAKmB,CAAAA,gBADD,CAAZ2I,EACkC,GALtC,CAMIe,EAAY9K,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,IAAhC,CACZ1E,OAAQC,CAAAA,IAAKmB,CAAAA,gBADD,CAAZ0J,EACkC,GAPtC,CAQIN,EAASxK,OAAQC,CAAAA,IAAKyJ,CAAAA,eAAb,CAA6BhF,CAA7B,CAAoC,IAApC,CACb8F,EAAA,CAASxK,OAAQC,CAAAA,IAAKwK,CAAAA,WAAb,CAAyBD,CAAzB,CAAiC9F,CAAjC,CAET,IAAI1E,OAAQ8G,CAAAA,QAAR,CAAiBgD,CAAjB,CAAJ,EAAmC9J,OAAQ8G,CAAAA,QAAR,CAAiBiD,CAAjB,CAAnC,EACI/J,OAAQ8G,CAAAA,QAAR,CAAiBgE,CAAjB,CADJ,CACiC,CAE/B,IAAIC,EAAKR,MAAA,CAAOT,CAAP,CAALiB,EAA0BR,MAAA,CAAOR,CAAP,CAC9B3G;CAAA,CAAO,OAAP,CAAiByH,CAAjB,CAA6B,KAA7B,CAAqCf,CAArC,CAAiD,IAAjD,CACIe,CADJ,EACiBE,CAAA,CAAK,MAAL,CAAc,MAD/B,EACyChB,CADzC,CACqD,IADrD,CAEIc,CACAG,EAAAA,CAAO/D,IAAKgE,CAAAA,GAAL,CAASV,MAAA,CAAOO,CAAP,CAAT,CAMX1H,EAAA,EALY,CAAZA,EAAI4H,CAAJ5H,CACEA,CADFA,EACU2H,CAAA,CAAK,IAAL,CAAY,IADtB3H,EAGEA,CAHFA,GAGW2H,CAAA,CAAK,MAAL,CAAc,MAHzB3H,EAGmC4H,CAHnC5H,CAKA,GAAQ,OAAR,CAAkBoH,CAAlB,CAA2B,KAA3B,CAZ+B,CADjC,IAeEpH,EA2BA,CA3BO,EA2BP,CAzBI8H,CAyBJ,CAzBepB,CAyBf,CAxBKA,CAAUnG,CAAAA,KAAV,CAAgB,OAAhB,CAwBL,EAxBkC3D,OAAQ8G,CAAAA,QAAR,CAAiBgD,CAAjB,CAwBlC,GAvBEoB,CAEA,CAFWlL,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACPwC,CADO,CACK,QADL,CACe7K,OAAQgD,CAAAA,sBADvB,CAEX,CAAAI,CAAA,EAAQ,MAAR,CAAiB8H,CAAjB,CAA4B,KAA5B,CAAoCpB,CAApC,CAAgD,KAqBlD,EAnBIa,CAmBJ,CAnBaZ,CAmBb,CAlBKA,CAAUpG,CAAAA,KAAV,CAAgB,OAAhB,CAkBL,EAlBkC3D,OAAQ8G,CAAAA,QAAR,CAAiBiD,CAAjB,CAkBlC,GAjBEY,CAEA,CAFS3K,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACLwC,CADK,CACO,MADP,CACe7K,OAAQgD,CAAAA,sBADvB,CAET,CAAAI,CAAA,EAAQ,MAAR,CAAiBuH,CAAjB,CAA0B,KAA1B,CAAkCZ,CAAlC,CAA8C,KAehD,EAXIoB,CAWJ,CAXanL,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYuG,CAAAA,eAAzB,CACTwC,CADS;AACG,MADH,CACW7K,OAAQgD,CAAAA,sBADnB,CAWb,CATAI,CASA,EATQ,MASR,CATiB+H,CASjB,CAT0B,KAS1B,CAPE/H,CAOF,CARIpD,OAAQ8G,CAAAA,QAAR,CAAiBgE,CAAjB,CAAJ,CACE1H,CADF,EACU6D,IAAKgE,CAAAA,GAAL,CAASH,CAAT,CADV,CACgC,KADhC,EAGE1H,CAHF,EAGU,GAHV,CAGgB0H,CAHhB,CAG4B,YAH5B,CAQA,CAFA1H,CAEA,CAHAA,CAGA,EAHQ,MAGR,CAHiB8H,CAGjB,CAH4B,KAG5B,CAHoCP,CAGpC,CAH6C,OAG7C,GAFQ3K,OAAQC,CAAAA,IAAKqD,CAAAA,MAErB,CAF8B6H,CAE9B,CAFuC,MAEvC,CAFgDA,CAEhD,CAFyD,KAEzD,EADA/H,CACA,EADQ,KACR,CAAAA,CAAA,EAAQ,OAAR,CAAkByH,CAAlB,CAA8B,KAA9B,CAAsCK,CAAtC,CAAiD,IAAjD,CACIC,CADJ,CACa,UADb,CAEIN,CAFJ,CAEgB,MAFhB,CAEyBF,CAFzB,CAEkC,KAFlC,CAGIE,CAHJ,CAGgB,MAHhB,CAGyBF,CAHzB,CAGkC,IAHlC,CAIIE,CAJJ,CAIgB,MAJhB,CAIyBM,CAJzB,CAIkC,OAJlC,CAKIX,CALJ,CAKa,KAEf,OAAOpH,EA9DsC,CAiE/CpD;OAAQC,CAAAA,IAAR,CAAA,gBAAA,CAAmC,QAAQ,CAACyE,CAAD,CAAQ,CAEjD,IAAImG,EAAY7K,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CACZ+B,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CADY,CACgBnH,OAAQgD,CAAAA,sBADxB,CAAhB,CAEI8G,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACZ1E,OAAQC,CAAAA,IAAKmB,CAAAA,gBADD,CAAZ0I,EACkC,IAHtC,CAIIU,EAASxK,OAAQC,CAAAA,IAAKyJ,CAAAA,eAAb,CAA6BhF,CAA7B,CAAoC,IAApC,CACb8F,EAAA,CAASxK,OAAQC,CAAAA,IAAKwK,CAAAA,WAAb,CAAyBD,CAAzB,CAAiC9F,CAAjC,CAGT,OAFW,WAEX,CAFyBmG,CAEzB,CAFqC,MAErC,CAF8Cf,CAE9C,CAF0D,OAE1D,CADIU,CACJ,CADa,KAToC,CAanDxK;OAAQC,CAAAA,IAAR,CAAA,wBAAA,CAA2C,QAAQ,CAACyE,CAAD,CAAQ,CAEzD,IAAI0G,EAAO,EACPpL,QAAQC,CAAAA,IAAKqJ,CAAAA,gBAAjB,GAEE8B,CAFF,EAEUpL,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAKqJ,CAAAA,gBAAnC,CAAqD5E,CAArD,CAFV,CAII1E,QAAQC,CAAAA,IAAK0J,CAAAA,gBAAjB,GAGEyB,CAHF,EAGUpL,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAK0J,CAAAA,gBAAnC,CAAqDjF,CAArD,CAHV,CAKA,IAAI1E,OAAQC,CAAAA,IAAKqJ,CAAAA,gBAAjB,CAAmC,CACjC,IAAI+B,EAAOrL,OAAQsL,CAAAA,SAAUC,CAAAA,KACxBC,CAAAA,gCAAiCC,CAAAA,eAD3B,CAC2C/G,CAD3C,CAEP2G,EAAJ,EAAY,CAACA,CAAKK,CAAAA,oBAAlB,GAIEN,CAJF,EAIUpL,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAKqJ,CAAAA,gBAAnC,CAAqD+B,CAArD,CAJV,CAHiC,CAUnC,OAAQ3G,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAR,EACE,KAAK,OAAL,CACE,MAAOiE,EAAP,CAAc,UAChB;KAAK,UAAL,CACE,MAAOA,EAAP,CAAc,aAJlB,CAMA,KAAMzC,MAAA,CAAM,yBAAN,CAAN,CA5ByD,C,CC/HhC,OAAA,CAAA,IAAA,CAAA,IAAA,CAAA,EAK3B3I,QAAQC,CAAAA,IAAKE,CAAAA,gBAAb,CAA8B,MAA9B,CAEAH,QAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAExCtB,CAAAA,CAAOmH,MAAA,CAAO7F,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CAAP,CAEX,IAAYwE,QAAZ,EAAIvI,CAAJ,CAAsB,CACpBA,CAAA,CAAO,iBACP,KAAAoD,EAAQxG,OAAQC,CAAAA,IAAKI,CAAAA,mBAFD,CAAtB,IAGmB,CAACsL,QAAb,EAAIvI,CAAJ,EACLA,CACA,CADO,kBACP,CAAAoD,CAAA,CAAQxG,OAAQC,CAAAA,IAAKK,CAAAA,kBAFhB,EAMLkG,CANK,CAMU,CAAP,CAAApD,CAAA,CACJpD,OAAQC,CAAAA,IAAKK,CAAAA,kBADT,CAC8BN,OAAQC,CAAAA,IAAKG,CAAAA,YAErD,OAAO,CAACgD,CAAD,CAAOoD,CAAP,CAhBqC,CAmB9CxG;OAAQC,CAAAA,IAAR,CAAA,eAAA,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAShD,IAAIkH,EAPY/B,CACd,IAAO,CAAC,KAAD,CAAQ7J,OAAQC,CAAAA,IAAKO,CAAAA,cAArB,CADOqJ,CAEd,MAAS,CAAC,KAAD,CAAQ7J,OAAQC,CAAAA,IAAKO,CAAAA,cAArB,CAFKqJ,CAGd,SAAY,CAAC,KAAD,CAAQ7J,OAAQC,CAAAA,IAAKM,CAAAA,oBAArB,CAHEsJ,CAId,OAAU,CAAC,KAAD,CAAQ7J,OAAQC,CAAAA,IAAKM,CAAAA,oBAArB,CAJIsJ,CAKd,MAAS,CAAC,IAAD,CAAO7J,OAAQC,CAAAA,IAAKoB,CAAAA,UAApB,CALKwI,CAOJ,CAAUnF,CAAMyC,CAAAA,aAAN,CAAoB,IAApB,CAAV,CAAZ,CACIc,EAAW2D,CAAA,CAAM,CAAN,CACXpF,EAAAA,CAAQoF,CAAA,CAAM,CAAN,CACZ,KAAI9B,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CAAqC8B,CAArC,CAAZsD,EAA2D,GAC3DC,EAAAA,CAAY/J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CAAqC8B,CAArC,CAAZuD,EAA2D,GAG/D,OAAK9B,EAAL,CAOO,CADA6B,CACA,CADY7B,CACZ,CADuB8B,CACvB,CAAOvD,CAAP,CAPP,EACExG,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAGO,CAFH,6BAEG,CAAA,CADA,WACA,CADcoI,CACd,CAD0B,IAC1B;AADiCC,CACjC,CAD6C,GAC7C,CAAO/J,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAJT,CAhBgD,CA0BlDL;OAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAIuD,EAAWvD,CAAMyC,CAAAA,aAAN,CAAoB,IAApB,CAGf,IAAgB,KAAhB,EAAIc,CAAJ,CASE,MAPA4D,EAOO,CAPD7L,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACF1E,OAAQC,CAAAA,IAAKK,CAAAA,kBADX,CAOC,EANiC,GAMjC,CALO,GAKP,EALHuL,CAAA,CAAI,CAAJ,CAKG,GAHLA,CAGK,CAHC,GAGD,CAHOA,CAGP,EAAA,CADA,GACA,CADMA,CACN,CAAO7L,OAAQC,CAAAA,IAAKK,CAAAA,kBAApB,CAETN,QAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BAEFmK,EAAA,CADc,KAAhB,EAAI5D,CAAJ,EAAqD,OAArD,EAAyBA,CAAS6D,CAAAA,SAAT,CAAmB,CAAnB,CAAsB,CAAtB,CAAzB,CACQ9L,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACF1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADX,CADR,EAE2C,GAF3C,CAGuB,KAAhB,EAAI4H,CAAJ,EAAqC,KAArC,EAAyBA,CAAzB,EAA0D,KAA1D,EAA8CA,CAA9C,CACCjI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACF1E,OAAQC,CAAAA,IAAKM,CAAAA,oBADX,CADD,EAEqC,GAFrC;AAICP,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACF1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADX,CAJD,EAK2B,GAIlC,QAAQ4G,CAAR,EACE,KAAK,KAAL,CACE,IAAA7E,EAAOyI,CAAPzI,CAAa,QACb,MACF,MAAK,MAAL,CACEA,CAAA,CAAO,YAAP,CAAsByI,CAAtB,CAA4B,GAC5B,MACF,MAAK,IAAL,CACEzI,CAAA,CAAO,WAAP,CAAqByI,CAArB,CAA2B,GAC3B,MACF,MAAK,KAAL,CACEzI,CAAA,CAAO,WAAP,CAAqByI,CAArB,CAA2B,GAC3B,MACF,MAAK,OAAL,CACEzI,CAAA,CAAO,cAAP,CAAwByI,CAAxB,CAA8B,GAC9B,MACF,MAAK,OAAL,CACEzI,CAAA,CAAOyI,CAAP,CAAa,UACb,MACF,MAAK,SAAL,CACEzI,CAAA,CAAOyI,CAAP,CAAa,SACb,MACF,MAAK,WAAL,CACEzI,CAAA,CAAOyI,CAAP,CAAa,UACb,MACF,MAAK,KAAL,CACEzI,CAAA,CAAO,WAAP,CAAqByI,CAArB,CAA2B,mBAC3B,MACF,MAAK,KAAL,CACEzI,CAAA,CAAO,WAAP,CAAqByI,CAArB,CAA2B,mBAC3B,MACF,MAAK,KAAL,CACEzI,CAAA,CAAO,WAAP,CAAqByI,CAArB;AAA2B,mBAhC/B,CAmCA,GAAIzI,CAAJ,CACE,MAAO,CAACA,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAIT,QAAQ4H,CAAR,EACE,KAAK,OAAL,CACE7E,CAAA,CAAO,WAAP,CAAqByI,CAArB,CAA2B,kBAC3B,MACF,MAAK,MAAL,CACEzI,CAAA,CAAO,YAAP,CAAsByI,CAAtB,CAA4B,mBAC5B,MACF,MAAK,MAAL,CACEzI,CAAA,CAAO,YAAP,CAAsByI,CAAtB,CAA4B,mBAC5B,MACF,MAAK,MAAL,CACEzI,CAAA,CAAO,YAAP,CAAsByI,CAAtB,CAA4B,mBAC5B,MACF,SACE,KAAMlD,MAAA,CAAM,yBAAN,CAAkCV,CAAlC,CAAN,CAdJ,CAgBA,MAAO,CAAC7E,CAAD,CAAOpD,OAAQC,CAAAA,IAAKM,CAAAA,oBAApB,CAtFqC,CAyF9CP;OAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAIqH,EAAY,CACd,GAAM,CAAC,SAAD,CAAY/L,OAAQC,CAAAA,IAAKI,CAAAA,mBAAzB,CADQ,CAEd,EAAK,CAAC,QAAD,CAAWL,OAAQC,CAAAA,IAAKI,CAAAA,mBAAxB,CAFS,CAGd,aACI,CAAC,wBAAD,CAA2BL,OAAQC,CAAAA,IAAKM,CAAAA,oBAAxC,CAJU,CAKd,MAAS,CAAC,YAAD,CAAeP,OAAQC,CAAAA,IAAKI,CAAAA,mBAA5B,CALK,CAMd,QAAW,CAAC,cAAD,CAAiBL,OAAQC,CAAAA,IAAKI,CAAAA,mBAA9B,CANG,CAOd,SAAY,CAAC,iBAAD,CAAoBL,OAAQC,CAAAA,IAAKG,CAAAA,YAAjC,CAPE,CASZ4L,EAAAA,CAAWtH,CAAMyC,CAAAA,aAAN,CAAoB,UAApB,CACC,WAAhB,EAAI6E,CAAJ,GACEhM,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBADF,CAEM,6BAFN,CAIA;MAAOqK,EAAA,CAAUC,CAAV,CAhBuC,CAmBhDhM;OAAQC,CAAAA,IAAR,CAAA,oBAAA,CAAuC,QAAQ,CAACyE,CAAD,CAAQ,CAGrD,IAAIuH,EAAkBjM,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,iBAAhC,CAClB1E,OAAQC,CAAAA,IAAKM,CAAAA,oBADK,CAEtB,IAAI,CAAC0L,CAAL,CACE,MAAO,CAAC,OAAD,CAAUjM,OAAQC,CAAAA,IAAKG,CAAAA,YAAvB,CAET,KAAI8L,EAAoBxH,CAAMyC,CAAAA,aAAN,CAAoB,UAApB,CAExB,IAAyB,OAAzB,EAAI+E,CAAJ,CA0BE,MAxBAlM,QAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAwBO,CAvBH,6BAuBG,CAAA,CAtBY1B,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,cADeA,CAEf,CAAC,OAAD,CAAWrH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAxB,CAAqD,OAArD,CACC,iEADD,CAEC,2BAFD,CAGC,kBAHD;AAIC,KAJD,CAKC,wDALD,CAMC,6CAND,CAOC,wEAPD,CASC,mBATD,CAUC,KAVD,CAWC,6DAXD,CAYC,oDAZD,CAaC,iDAbD,CAcC,qBAdD,CAeC,OAfD,CAgBC,KAhBD,CAiBC,gBAjBD,CAkBC,GAlBD,CAFeD,CAsBZ,CADe,GACf,CADqB4E,CACrB,CADuC,GACvC,CAAOjM,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAET,QAAQ6L,CAAR,EACE,KAAK,MAAL,CACE,IAAA9I;AAAO6I,CAAP7I,CAAyB,WACzB,MACF,MAAK,KAAL,CACEA,CAAA,CAAO6I,CAAP,CAAyB,WACzB,MACF,MAAK,OAAL,CACE7I,CAAA,CAAO6I,CAAP,CAAyB,WACzB,MACF,MAAK,UAAL,CACE7I,CAAA,CAAO6I,CAAP,CAAyB,MACzB,MACF,MAAK,UAAL,CACE7I,CAAA,CAAO6I,CAAP,CAAyB,MACzB,MACF,MAAK,cAAL,CACME,CAAAA,CAAUnM,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,SAAhC,CACV1E,OAAQC,CAAAA,IAAKM,CAAAA,oBADH,CAEd,IAAI,CAAC4L,CAAL,CACE,MAAO,CAAC,OAAD,CAAUnM,OAAQC,CAAAA,IAAKG,CAAAA,YAAvB,CAETgD,EAAA,CAAO6I,CAAP,CAAyB,KAAzB,CAAiCE,CAAjC,CAA2C,OAtB/C,CAyBA,MAAO,CAAC/I,CAAD,CAAOpD,OAAQC,CAAAA,IAAKa,CAAAA,cAApB,CA/D8C,CAkEvDd;OAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAIoF,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACZ1E,OAAQC,CAAAA,IAAKO,CAAAA,cADD,CAAZsJ,EACgC,GAChCsC,EAAAA,CAAUpM,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CAAiC+B,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CAAjC,CACVnH,OAAQgD,CAAAA,sBADE,CAEd,OAAOoJ,EAAP,CAAiB,MAAjB,CAA0BA,CAA1B,CAAoC,YAApC,CAAmDA,CAAnD,CAA6D,UAA7D,CACItC,CADJ,CACgB,KAP4B,CAW9C9J,QAAQC,CAAAA,IAAR,CAAA,UAAA,CAA6BD,OAAQC,CAAAA,IAAR,CAAA,WAE7BD,QAAQC,CAAAA,IAAR,CAAA,SAAA,CAA4BD,OAAQC,CAAAA,IAAR,CAAA,WAE5BD;OAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAI2H,EAAO3H,CAAMyC,CAAAA,aAAN,CAAoB,IAApB,CACPmB,EAAAA,CAAOtI,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADN,CAAPiH,EAC4B,IAEhC,QAAQ+D,CAAR,EACE,KAAK,KAAL,CACMhF,CAAAA,CAAerH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,UADe,CAEf,CAAC,MAAD,CAAUpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CACI,sBADJ,CAEC,mBAFD,CAGC,mDAHD,CAIC,kBAJD,CAKC,GALD,CAFe,CAQnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,MAAK,KAAL,CACEtI,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACA2F,EAAJ,CAAmBrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,UADe;AAEf,CAAC,MAAD,CAAUpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CACI,sBADJ,CAEC,oCAFD,CAGC,2BAHD,CAIC,oEAJD,CAMC,kBAND,CAOC,GAPD,CAFe,CAUnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,MAAK,KAAL,CACEtI,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACA2F,EAAJ,CAAmBrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,UADe,CAEf,CAAC,MAAD,CAAUpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CACI,sBADJ,CAEC,oCAFD,CAGC,2BAHD;AAIC,oEAJD,CAMC,kBAND,CAOC,GAPD,CAFe,CAUnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,MAAK,SAAL,CAGMjB,CAAJ,CAAmBrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,WADe,CAEf,CAAC,MAAD,CAAUpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CACI,iBADJ,CAEC,0CAFD,CAGC,2CAHD,CAIC,4CAJD,CAKC,uCALD,CAMC,mBAND,CAOC,sDAPD,CAQC,qCARD;AASC,GATD,CAFe,CAYnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,MAAK,QAAL,CACMjB,CAAJ,CAAmBrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,aADe,CAEf,CAAC,MAAD,CAAUpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CACI,iBADJ,CAEC,8EAFD,CAIC,kFAJD,CAMC,2CAND,CAOC,4CAPD,CAQC,uCARD,CASC,sCATD,CAUC,sCAVD;AAWC,oCAXD,CAYC,8BAZD,CAaC,YAbD,CAcC,2DAdD,CAeC,KAfD,CAgBC,GAhBD,CAFe,CAmBnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,MAAK,MAAL,CACEtI,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BAIA2F,EAAJ,CAAmBrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,YADe,CAEf,CAAC,OAAD,CAAWpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAxB,CACI,iBADJ,CAEC,oBAFD,CAGC,qBAHD,CAIC,qBAJD,CAKC,6CALD,CAMC,4BAND;AAOC,yBAPD,CAQC,oBARD,CASC,+CATD,CAUC,oCAVD,CAWC,qCAXD,CAYC,uBAZD,CAaC,gBAbD,CAcC,SAdD,CAeC,OAfD,CAgBC,mBAhBD,CAiBC,+BAjBD,CAkBC,sBAlBD,CAmBC,OAnBD,CAoBC,+CApBD,CAqBC,KArBD,CAsBC,6CAtBD,CAuBC,qCAvBD,CAwBC,kCAxBD,CAyBC,OAzBD,CA0BC,KA1BD,CA2BC,iBA3BD;AA4BC,GA5BD,CAFe,CA+BnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,MAAK,SAAL,CACEtI,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACA2F,EAAJ,CAAmBrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,yBADe,CAEf,CAAC,MAAD,CAAUpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CACI,iBADJ,CAEC,0CAFD,CAGC,yCAHD,CAIC,0CAJD,CAKC,qCALD,CAMC,2BAND,CAOC,gBAPD,CAQC,qCARD,CASC,uBATD;AAUC,sBAVD,CAWC,+DAXD,CAaC,oCAbD,CAcC,GAdD,CAFe,CAiBnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,MAAK,QAAL,CACEtI,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACA2F,EAAJ,CAAmBrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,kBADe,CAEf,CAAC,UAAD,CAAcpH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA3B,CACI,iBADJ,CAEC,qDAFD,CAGC,qBAHD,CAIC,GAJD,CAFe,CAOnBlE,EAAA,CAAOiE,CAAP,CAAsB,GAAtB,CAA4BiB,CAA5B,CAAmC,GACnC,MACF,SACE,KAAMK,MAAA,CAAM,oBAAN;AAA6B0D,CAA7B,CAAN,CA3JJ,CA6JA,MAAO,CAACjJ,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAnKsC,CAsK/CL,QAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAIoF,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,UAAhC,CACZ1E,OAAQC,CAAAA,IAAKM,CAAAA,oBADD,CAAZuJ,EACsC,GACtCC,EAAAA,CAAY/J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,SAAhC,CACZ1E,OAAQC,CAAAA,IAAKM,CAAAA,oBADD,CAAZwJ,EACsC,GAE1C,OAAO,CADID,CACJ,CADgB,KAChB,CADwBC,CACxB,CAAO/J,OAAQC,CAAAA,IAAKM,CAAAA,oBAApB,CAPqC,CAU9CP;OAAQC,CAAAA,IAAR,CAAA,cAAA,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAE/C1E,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACJ,KAAIoI,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZyI,EAC4B,GADhC,CAEIC,EAAY/J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZ0I,EAC4B,GAC5BuC,EAAAA,CAAYtM,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZiL,EAC4B,iBAGhC,OAAO,CAFI,oBAEJ,CAF2BxC,CAE3B,CAFuC,IAEvC,CAF8CC,CAE9C,CAF0D,KAE1D,CADHuC,CACG,CADS,GACT,CAAOtM,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAZwC,CAejDL;OAAQC,CAAAA,IAAR,CAAA,eAAA,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAEhD1E,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACJ,KAAIoI,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZyI,EAC4B,GAC5BC,EAAAA,CAAY/J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,IAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZ0I,EAC4B,GAahC,OAAO,CAZY/J,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,iBADeA,CAEf,CAAC,MAAD,CAAUrH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CAAoD,kBAApD,CACC,gBADD,CAEC,6CAFD,CAGC,gBAHD,CAIC,YAJD,CAKC,YALD,CAMC,KAND,CAOC,oDAPD;AAQC,GARD,CAFeD,CAYZ,CADmB,GACnB,CADyByC,CACzB,CADqC,IACrC,CAD4CC,CAC5C,CADwD,GACxD,CAAO/J,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CApByC,CAuBlDL,QAAQC,CAAAA,IAAR,CAAA,iBAAA,CAAoC,QAAQ,CAACyE,CAAD,CAAQ,CAElD1E,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACJ,OAAO,CAAC,gCAAD,CAAmC1B,OAAQC,CAAAA,IAAKI,CAAAA,mBAAhD,CAJ2C,CAOpDL;OAAQC,CAAAA,IAAR,CAAA,UAAA,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAE3C1E,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BACJ,KAAIoI,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZyI,EAC4B,GAGhC,OAAO,CAAC,aAAD,EAFS9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,GAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAET,EADyB,GACzB,EAA6B,IAA7B,CAAoCyI,CAApC,CAAgD,mBAAhD,CACH9J,OAAQC,CAAAA,IAAKM,CAAAA,oBADV,CARoC,C,CC9clB,OAAA,CAAA,IAAA,CAAA,UAAA,CAAA,EAK3BP;OAAQC,CAAAA,IAAR,CAAA,oBAAA,CAAuC,QAAQ,CAACyE,CAAD,CAAQ,CAErD,IAAI6H,EAAWvM,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CAAiC+B,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAjC,CACXnH,OAAQwM,CAAAA,uBADG,CAAf,CAEIC,EAAQ,EACRzM,QAAQC,CAAAA,IAAKqJ,CAAAA,gBAAjB,GACEmD,CADF,EACWzM,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAKqJ,CAAAA,gBAAnC,CAAqD5E,CAArD,CADX,CAGI1E,QAAQC,CAAAA,IAAK0J,CAAAA,gBAAjB,GACE8C,CADF,EACWzM,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAK0J,CAAAA,gBAAnC,CAAqDjF,CAArD,CADX,CAGI+H,EAAJ,GACEA,CADF,CACUzM,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CAAyBoJ,CAAzB,CAAgCzM,OAAQC,CAAAA,IAAKqD,CAAAA,MAA7C,CADV,CAGA,KAAIoJ,EAAW,EACX1M,QAAQC,CAAAA,IAAK0M,CAAAA,kBAAjB,GACED,CADF,CACa1M,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CACPrD,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAK0M,CAAAA,kBAAnC,CAAuDjI,CAAvD,CADO;AAEP1E,OAAQC,CAAAA,IAAKqD,CAAAA,MAFN,CADb,CAKA,KAAIkH,EAASxK,OAAQC,CAAAA,IAAKyJ,CAAAA,eAAb,CAA6BhF,CAA7B,CAAoC,OAApC,CAAb,CACIkI,EAAc5M,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,QAAhC,CACd1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADC,CAAduL,EAC4B,EAFhC,CAGIC,EAAQ,EACRrC,EAAJ,EAAcoC,CAAd,GAEEC,CAFF,CAEUJ,CAFV,CAIIG,EAAJ,GACEA,CADF,CACgB5M,OAAQC,CAAAA,IAAKqD,CAAAA,MAD7B,CACsC,SADtC,CACkDsJ,CADlD,CACgE,KADhE,CAMA,KAHA,IAAIE,EAAaF,CAAA,CAAc,SAAd,CAA0B,MAA3C,CACIG,EAAO,EADX,CAEIlK,EAAY6B,CAAMsI,CAAAA,OAAN,EAFhB,CAGSxK,EAAI,CAAb,CAAgBA,CAAhB,CAAoBK,CAAUJ,CAAAA,MAA9B,CAAsCD,CAAA,EAAtC,CACEuK,CAAA,CAAKvK,CAAL,CAAA,CAAUxC,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CAAiCE,CAAA,CAAUL,CAAV,CAAjC,CACNxC,OAAQgD,CAAAA,sBADF,CAGRI,EAAAA,CAAO0J,CAAP1J,CAAoB,GAApBA,CAA0BmJ,CAA1BnJ,CAAqC,GAArCA,CAA2C2J,CAAK9J,CAAAA,IAAL,CAAU,IAAV,CAA3CG,CAA6D,OAA7DA,CACAqJ,CADArJ,CACQsJ,CADRtJ,CACmBoH,CADnBpH,CAC4ByJ,CAD5BzJ,CACoCwJ,CADpCxJ,CACkD,GACtDA,EAAA,CAAOpD,OAAQC,CAAAA,IAAKuE,CAAAA,MAAb,CAAoBE,CAApB,CAA2BtB,CAA3B,CAEPpD,QAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAA0B,GAA1B,CAAgC6K,CAAhC,CAAA,CAA4CnJ,CAC5C,OAAO,KA3C8C,CAgDvDpD,QAAQC,CAAAA,IAAR,CAAA,sBAAA,CAAyCD,OAAQC,CAAAA,IAAR,CAAA,oBAEzCD;OAAQC,CAAAA,IAAR,CAAA,qBAAA,CAAwC,QAAQ,CAACyE,CAAD,CAAQ,CAMtD,IAJA,IAAI6H,EAAWvM,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CAAiC+B,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAjC,CACXnH,OAAQwM,CAAAA,uBADG,CAAf,CAEIO,EAAO,EAFX,CAGIlK,EAAY6B,CAAMsI,CAAAA,OAAN,EAHhB,CAISxK,EAAI,CAAb,CAAgBA,CAAhB,CAAoBK,CAAUJ,CAAAA,MAA9B,CAAsCD,CAAA,EAAtC,CACEuK,CAAA,CAAKvK,CAAL,CAAA,CAAUxC,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CAAwClC,CAAxC,CACNxC,OAAQC,CAAAA,IAAKoB,CAAAA,UADP,CAAV,EACgC,MAGlC,OAAO,CADIkL,CACJ,CADe,GACf,CADqBQ,CAAK9J,CAAAA,IAAL,CAAU,IAAV,CACrB,CADuC,GACvC,CAAOjD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAX+C,CAcxDL,QAAQC,CAAAA,IAAR,CAAA,uBAAA,CAA0C,QAAQ,CAACyE,CAAD,CAAQ,CAKxD,MADY1E,QAAQC,CAAAA,IAAR,CAAA,qBAAA2L,CAAsClH,CAAtCkH,CACL,CAAM,CAAN,CAAP,CAAkB,KALsC,CAQ1D5L;OAAQC,CAAAA,IAAR,CAAA,mBAAA,CAAsC,QAAQ,CAACyE,CAAD,CAAQ,CAIpD,IAAItB,EAAO,MAAPA,EAFYpD,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,WAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAEZ+B,EAD4B,OAC5BA,EAA4B,OAC5BpD,QAAQC,CAAAA,IAAK0J,CAAAA,gBAAjB,GAGEvG,CAHF,EAGUpD,OAAQC,CAAAA,IAAKoD,CAAAA,WAAb,CACJrD,OAAQC,CAAAA,IAAKsJ,CAAAA,QAAb,CAAsBvJ,OAAQC,CAAAA,IAAK0J,CAAAA,gBAAnC,CAAqDjF,CAArD,CADI,CAEJ1E,OAAQC,CAAAA,IAAKqD,CAAAA,MAFT,CAHV,CAOIoB,EAAMuI,CAAAA,eAAV,EACMrE,CAEJ,CAFY5I,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACR1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADL,CAEZ,EADgC,MAChC,CAAA+B,CAAA,EAAQpD,OAAQC,CAAAA,IAAKqD,CAAAA,MAArB,CAA8B,SAA9B,CAA0CsF,CAA1C,CAAkD,KAHpD,EAKExF,CALF,EAKUpD,OAAQC,CAAAA,IAAKqD,CAAAA,MALvB,CAKgC,WAGhC,OADAF,EACA,CADQ,KAnB4C,C,CC7E3B,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAK3BpD,QAAQC,CAAAA,IAAKE,CAAAA,gBAAb,CAA8B,WAA9B,CAEAH,QAAQC,CAAAA,IAAR,CAAA,IAAA,CAAuB,QAAQ,CAACyE,CAAD,CAAQ,CAGrC,MAAO,CADI1E,OAAQC,CAAAA,IAAK+D,CAAAA,MAAbZ,CAAoBsB,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAApB/D,CACJ,CAAOpD,OAAQC,CAAAA,IAAKG,CAAAA,YAApB,CAH8B,CAMvCJ,QAAQC,CAAAA,IAAR,CAAA,cAAA,CAAiC,QAAQ,CAACyE,CAAD,CAAQ,CAE3CtB,CAAAA,CAAOpD,OAAQC,CAAAA,IAAKkE,CAAAA,gBAAb,CAA8BO,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAA9B,CACX,KAAIX,EAA6B,EAArB,EAAApD,CAAK8J,CAAAA,OAAL,CAAa,GAAb,CAAA,CAA0BlN,OAAQC,CAAAA,IAAKO,CAAAA,cAAvC,CACRR,OAAQC,CAAAA,IAAKG,CAAAA,YACjB,OAAO,CAACgD,CAAD,CAAOoD,CAAP,CALwC,CAQjDxG;OAAQC,CAAAA,IAAR,CAAA,SAAA,CAA4B,QAAQ,CAACyE,CAAD,CAAQ,CAE1C,OAAQA,CAAMqD,CAAAA,UAAd,EACE,KAAK,CAAL,CACE,MAAO,CAAC,IAAD,CAAS/H,OAAQC,CAAAA,IAAKG,CAAAA,YAAtB,CACT,MAAK,CAAL,CAIE,MAAO,EAHOJ,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACN1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADP,CAGP,EAFsC,IAEtC,EADc,aACd,CAAOL,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACT,SAEE,IADA,IAAIwH,EAAeC,KAAJ,CAAUpD,CAAMqD,CAAAA,UAAhB,CAAf,CACSvF,EAAI,CAAb,CAAgBA,CAAhB,CAAoBkC,CAAMqD,CAAAA,UAA1B,CAAsCvF,CAAA,EAAtC,CACEqF,CAAA,CAASrF,CAAT,CAAA,CAAcxC,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CAAwClC,CAAxC,CACNxC,OAAQC,CAAAA,IAAKoB,CAAAA,UADP,CAAd,EACoC,IAElC+B,EAAJ,CAAW,GAAX,CAAiByE,CAAS5E,CAAAA,IAAT,CAAc,GAAd,CAAjB,CAAsC,UACtC,OAAO,CAACG,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAfX,CAF0C,CAqB5CL;OAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAE5C,IAAI0H,EAAUpM,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzB,CAAiC+B,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CAAjC,CACVnH,OAAQgD,CAAAA,sBADE,CAEV4F,EAAAA,CAAQ5I,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACR1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADL,CAARuH,EAC4B,IAChC,OAAOwD,EAAP,CAAiB,MAAjB,CAA0BA,CAA1B,CAAoC,IAApC,CAA2CxD,CAA3C,CAAmD,aANP,CAS9C5I,QAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAI5C,MAAO,EAFI1E,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAEJ,EADkC,IAClC,EAAQ,SAAR,CAAmBL,OAAQC,CAAAA,IAAKI,CAAAA,mBAAhC,CAJqC,CAO9CL;OAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAI7C,MAAO,EAFI1E,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAEJ,EADkC,IAClC,EAAQ,UAAR,CAAoBL,OAAQC,CAAAA,IAAKI,CAAAA,mBAAjC,CAJsC,CAO/CL;OAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAE7C,IAAIuD,EAAyC,OAA9B,EAAAvD,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CAAA,CACX,SADW,CACC,aADhB,CAEI2E,EAAY9L,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACZ1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADD,CAAZyK,EAC4B,IAG5B1I,EAAAA,EAFOpD,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAEP+C,EADqC,IACrCA,EAAc,GAAdA,CAAoB6E,CAApB7E,CAA+B,GAA/BA,CAAqC0I,CAArC1I,CAAiD,GACrD,OAAIsB,EAAMjD,CAAAA,SAAUgF,CAAAA,OAAQC,CAAAA,aAA5B,CACS,CAACtD,CAAD,CAAQ,MAAR,CAAgBpD,OAAQC,CAAAA,IAAKO,CAAAA,cAA7B,CADT,CAGO,CAAC4C,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAZsC,CAe/CL;OAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8B,QAAQ,CAACyE,CAAD,CAAQ,CAG5C,IAAI8D,EAAQ9D,CAAMyC,CAAAA,aAAN,CAAoB,OAApB,CAARqB,EAAwC,YAA5C,CAGI2E,EAAOnN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CAFe,OAAV0I,EAAC5E,CAAD4E,EAA8B,YAA9BA,EAAqB5E,CAArB4E,CACZpN,OAAQC,CAAAA,IAAKI,CAAAA,mBADD+M,CACuBpN,OAAQC,CAAAA,IAAKoB,CAAAA,UACzC,CAAP8L,EAA8D,IAClE,QAAQ3E,CAAR,EACE,KAAK,OAAL,CAEE,MAAO,CADI2E,CACJ,CADW,KACX,CAAOnN,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACT,MAAK,YAAL,CAGE,MAFIuG,EAEG,CAFE5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CAEF,CAAA,CADIyI,CACJ,CADW,GACX,CADiBvG,CACjB,CADsB,GACtB,CAAO5G,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACT,MAAK,MAAL,CAGA,KAAK,UAAL,CASE,MARIuG,EAQG,CARE5G,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,IAAhC,CAAsC,CAAtC,CAQF,CAPH2C,CAOG,CAPYrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,mBADe;AAEf,CAAC,SAAD,CAAapH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA1B,CACI,wBADJ,CAEC,iCAFD,CAGC,GAHD,CAFe,CAOZ,CAAA,CADAD,CACA,CADe,GACf,CADqB8F,CACrB,CAD4B,IAC5B,CADmCvG,CACnC,CADwC,GACxC,CAAO5G,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CACT,MAAK,QAAL,CAWE,MAVAL,QAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAUO,CATH,6BASG,CARH2F,CAQG,CARYrH,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAb,CACf,oBADe,CAEf,CAAC,SAAD,CAAapH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA1B,CACI,iBADJ,CAEC,mDAFD,CAGC,mBAHD,CAIC,GAJD,CAFe,CAQZ,CAAA,CADAD,CACA,CADe,GACf,CADqB8F,CACrB,CAD4B,GAC5B,CAAOnN,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAhCX,CAkCA,KAAMsI,MAAA,CAAM,iCAAN,CAAN;AAzC4C,CA4C9C3I;OAAQC,CAAAA,IAAR,CAAA,iBAAA,CAAoC,QAAQ,CAACyE,CAAD,CAAQ,CAElD,IAAImE,EAASnE,CAAMyC,CAAAA,aAAN,CAAoB,QAApB,CAAb,CACI2B,EAASpE,CAAMyC,CAAAA,aAAN,CAAoB,QAApB,CADb,CAEIkG,EAAgC,UAAhCA,EAAsBxE,CAAtBwE,EAAwD,YAAxDA,EAA8CvE,CAFlD,CAKIqE,EAAOnN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,QAAhC,CAFK2I,CAAAD,CAAqBpN,OAAQC,CAAAA,IAAKI,CAAAA,mBAAlC+M,CACZpN,OAAQC,CAAAA,IAAKoB,CAAAA,UACN,CAAP8L,EAA+D,IACnE,IAAc,OAAd,EAAItE,CAAJ,EAAmC,MAAnC,EAAyBC,CAAzB,CAEE,MAAO,CADIqE,CACJ,CAAOnN,OAAQC,CAAAA,IAAKoB,CAAAA,UAApB,CACF,IAAI8L,CAAKxJ,CAAAA,KAAL,CAAW,WAAX,CAAJ,EAA+B0J,CAA/B,CAAmD,CAGxD,OAAQxE,CAAR,EACE,KAAK,YAAL,CACME,CAAAA,CAAM/I,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CACV,MACF,MAAK,UAAL,CACMqE,CAAJ,CAAU/I,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OAAQC,CAAAA,IAAKO,CAAAA,cADP,CAEVuI,EAAA,CAAMoE,CAAN,CAAa,YAAb,CAA4BpE,CAC5B;KACF,MAAK,OAAL,CACMA,CAAJ,CAAU,GACV,MACF,SACE,KAAMJ,MAAA,CAAM,uCAAN,CAAN,CAbJ,CAeA,OAAQG,CAAR,EACE,KAAK,YAAL,CACE,IAAIE,EAAMhJ,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CACV,MACF,MAAK,UAAL,CACMsE,CAAJ,CAAUhJ,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAAuC,CAAvC,CAA0C,CAAA,CAA1C,CACN1E,OAAQC,CAAAA,IAAKO,CAAAA,cADP,CAEVwI,EAAA,CAAMmE,CAAN,CAAa,YAAb,CAA4BnE,CAC5B,MACF,MAAK,MAAL,CACE,KACF,SACE,KAAML,MAAA,CAAM,uCAAN,CAAN,CAZJ,CAeMvF,CAAJ,CADY,MAAd,EAAI0F,CAAJ,CACaqE,CADb,CACoB,aADpB,CACoCpE,CADpC,CAC0C,GAD1C,CAGaoE,CAHb,CAGoB,aAHpB,CAGoCpE,CAHpC,CAG0C,IAH1C,CAGiDC,CAHjD,CAGuD,GAnCC,CAAnD,IAsCDD,EAsBJ,CAtBU/I,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAsBV,CArBIsE,CAqBJ,CArBUhJ,OAAQC,CAAAA,IAAKgG,CAAAA,WAAb,CAAyBvB,CAAzB,CAAgC,KAAhC,CAqBV,CAAItB,CAAJ;AApBmBpD,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,oBADeA,CAEf,CAAC,SAAD,CAAarH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA1B,CACI,iEADJ,CAEC,qCAFD,CAGC,gCAHD,CAIC,kCAJD,CAKC,oCALD,CAMC,eAND,CAOC,mCAPD,CAQC,6BARD,CASC,yCATD,CAUC,sDAVD,CAWC,OAXD,CAYC,gBAZD;AAaC,KAbD,CAcC,6BAdD,CAeC,iCAfD,CAgBC,oCAhBD,CAiBC,GAjBD,CAFeD,CAoBnB,CAA0B,GAA1B,CAAgC8F,CAAhC,CAAuC,KAAvC,CACItE,CADJ,CACa,KADb,CACsBE,CADtB,CAC4B,KAD5B,CACqCD,CADrC,CAC8C,KAD9C,CACuDE,CADvD,CAC6D,GAE/D,OAAO,CAAC5F,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CA1E2C,CA6EpDL;OAAQC,CAAAA,IAAR,CAAA,eAAA,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAOhD,IAAIuD,EALY4B,CACd,UAAa,gBADCA,CAEd,UAAa,gBAFCA,CAGd,UAAa,IAHCA,CAKD,CAAUnF,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAV,CAGXgG,EAAAA,CAAOnN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CAFKuD,CAAAmF,CAAWpN,OAAQC,CAAAA,IAAKI,CAAAA,mBAAxB+M,CACZpN,OAAQC,CAAAA,IAAKoB,CAAAA,UACN,CAAP8L,EAA6D,IAyBjE,OAAO,CAxBHlF,CAAJ7E,CAEa+J,CAFb/J,CAEoB6E,CAFpB7E,CAKqBpD,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,kBADeA,CAEf,CAAC,SAAD,CAAarH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAA1B,CACI,gBADJ,CAEC,oCAFD,CAGC,uCAHD,CAIC,qCAJD,CAKC,+BALD;AAMC,4BAND,CAOC,2CAPD,CAQC,8BARD,CASC,uDATD,CAUC,SAVD,CAWC,OAXD,CAYC,KAZD,CAaC,4BAbD,CAcC,GAdD,CAFeD,CALrBjE,CAsB4B,GAtB5BA,CAsBkC+J,CAtBlC/J,CAsByC,GAElC,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAnCyC,CAsClDL;OAAQC,CAAAA,IAAR,CAAA,SAAA,CAA4B,QAAQ,CAACyE,CAAD,CAAQ,CAO1C,IAAIuD,EALY4B,CACd,KAAQ,yCADMA,CAEd,MAAS,yCAFKA,CAGd,KAAQ,SAHMA,CAKD,CAAUnF,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAAV,CAGf,OAAO,EAFInH,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAEJ,EADkC,IAClC,EAAQ4H,CAAR,CAAkBjI,OAAQC,CAAAA,IAAKI,CAAAA,mBAA/B,CAVmC,CAa5CL,QAAQC,CAAAA,IAAR,CAAA,UAAA,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAI3C,MAAO,QAAP,EAFU1E,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACN1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADP,CAEV,EADgC,IAChC,EAAwB,MAJmB,CAO7CrB;OAAQC,CAAAA,IAAR,CAAA,eAAA,CAAkC,QAAQ,CAACyE,CAAD,CAAQ,CAEhD1E,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAAA,CACI,6BASJ,KAAI0B,EAAO,qBAAPA,EARAsB,CAAM2F,CAAAA,QAAN,CAAe,MAAf,CAAJiD,CAEYtN,OAAQC,CAAAA,IAAK+D,CAAAA,MAAb,CAAoBU,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CAApB,CAFZmG,CAKYtN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACN1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADP,CALZiM,EAMkC,IAE9BlK,EAAqC,OACK,SAC9C,EADesB,CAAMyC,CAAAA,aAAN,CAAoB,MAApB,CACf,GACEnH,OAAQC,CAAAA,IAAKyB,CAAAA,YAAb,CAAA,gBAEA,CADI,6BACJ,CAAA0B,CAAA,CAAO,mBAAP,CAA6BA,CAA7B,CAAoC,GAHtC,CAKA,OAAO,CAACA,CAAD,CAAOpD,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAnByC,CAsBlDL,QAAQC,CAAAA,IAAR,CAAA,WAAA,CAA8BD,OAAQC,CAAAA,IAAR,CAAA,eAE9BD;OAAQC,CAAAA,IAAR,CAAA,UAAA,CAA6B,QAAQ,CAACyE,CAAD,CAAQ,CAC3C,IAAIyI,EAAOnN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADN,CAAP8L,EAC4B,IAC5BI,EAAAA,CAAMvN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,KAAhC,CACN1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADP,CAANkM,EAC4B,IAqBhC,OAAO,CAnBYvN,OAAQC,CAAAA,IAAKmH,CAAAA,gBAAbC,CACf,YADeA,CAEf,CAAC,MAAD,CAAUrH,OAAQC,CAAAA,IAAKqH,CAAAA,0BAAvB,CACE,oCADF,CAEE,6BAFF,CAGE,iCAHF,CAIE,KAJF,CAKE,kBALF,CAME,kBANF,CAOE,yBAPF,CAQE,8CARF,CASE,wBATF;AAUE,gBAVF,CAWE,8BAXF,CAYE,OAZF,CAaE,KAbF,CAcE,iBAdF,CAeE,GAfF,CAFeD,CAmBZ,CADmB,GACnB,CADyB8F,CACzB,CADgC,IAChC,CADuCI,CACvC,CAD6C,GAC7C,CAAOvN,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CAzBoC,CA4B7CL,QAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAC7C,IAAIyI,EAAOnN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAAP8M,EACqC,IADzC,CAEIK,EAAOxN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADN,CAAPmM,EAC4B,IAC5BC,EAAAA,CAAKzN,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,IAAhC,CACL1E,OAAQC,CAAAA,IAAKoB,CAAAA,UADR,CAALoM,EAC4B,IAEhC,OAAO,CADIN,CACJ,CADW,cACX,CAD4BK,CAC5B,CADmC,IACnC,CAD0CC,CAC1C,CAD+C,GAC/C,CAAOzN,OAAQC,CAAAA,IAAKI,CAAAA,mBAApB,CARsC,CAW/CL;OAAQC,CAAAA,IAAR,CAAA,YAAA,CAA+B,QAAQ,CAACyE,CAAD,CAAQ,CAO7C,MAAO,CADI,2BACJ,EAHI1E,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,MAAhC,CACP1E,OAAQC,CAAAA,IAAKI,CAAAA,mBADN,CAGJ,EAFkC,IAElC,EADyC,2BACzC,CAAOL,OAAQC,CAAAA,IAAKK,CAAAA,kBAApB,CAPsC,C,CClUpB,OAAA,CAAA,IAAA,CAAA,SAAA,CAAA,EAK3BN,QAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAI9C,MAAO,CAFI1E,OAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzBS,CAAiCsB,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CAAjC/D,CACPpD,OAAQgD,CAAAA,sBADDI,CAEJ,CAAOpD,OAAQC,CAAAA,IAAKG,CAAAA,YAApB,CAJuC,CAOhDJ,QAAQC,CAAAA,IAAR,CAAA,aAAA,CAAgC,QAAQ,CAACyE,CAAD,CAAQ,CAE9C,IAAIoF,EAAY9J,OAAQC,CAAAA,IAAK4G,CAAAA,WAAb,CAAyBnC,CAAzB,CAAgC,OAAhC,CACZ1E,OAAQC,CAAAA,IAAKmB,CAAAA,gBADD,CAAZ0I,EACkC,GAGtC,OAFc9J,QAAQC,CAAAA,IAAK6B,CAAAA,WAAYa,CAAAA,OAAzByJ,CAAiC1H,CAAMyC,CAAAA,aAAN,CAAoB,KAApB,CAAjCiF,CACVpM,OAAQgD,CAAAA,sBADEoJ,CAEd,CAAiB,KAAjB,CAAyBtC,CAAzB,CAAqC,KANS,C,CCZrB,OAAA,CAAA,IAAA,CAAA,gBAAA,CAAA,EAO3B9J,QAAQC,CAAAA,IAAR,CAAA,qBAAA,CAAwCD,OAAQC,CAAAA,IAAR,CAAA,aACxCD,QAAQC,CAAAA,IAAR,CAAA,qBAAA,CAAwCD,OAAQC,CAAAA,IAAR,CAAA","file":"dart_compressed.js","sourceRoot":"./"} \ No newline at end of file diff --git a/javascript_compressed.js b/javascript_compressed.js index b492f7270..3b26c7d7a 100644 --- a/javascript_compressed.js +++ b/javascript_compressed.js @@ -20,7 +20,7 @@ Blockly.JavaScript.init=function(a){Blockly.JavaScript.definitions_=Object.creat a=Blockly.Variables.allUsedVarModels(a);for(d=0;dc?Blockly.JavaScript.valueToCode(a,b,Blockly.JavaScript.ORDER_SUBTRACTION)||f:d?Blockly.JavaScript.valueToCode(a,b,Blockly.JavaScript.ORDER_UNARY_NEGATION)||f:Blockly.JavaScript.valueToCode(a,b,e)||f;if(Blockly.isNumber(a))a=Number(a)+c,d&& (a=-a);else{if(0c&&(a=a+" - "+-c,g=Blockly.JavaScript.ORDER_SUBTRACTION);d&&(a=c?"-("+a+")":"-"+a,g=Blockly.JavaScript.ORDER_UNARY_NEGATION);g=Math.floor(g);e=Math.floor(e);g&&e>=g&&(a="("+a+")")}return a};Blockly.JavaScript.colour={};Blockly.JavaScript.colour_picker=function(a){return[Blockly.JavaScript.quote_(a.getFieldValue("COLOUR")),Blockly.JavaScript.ORDER_ATOMIC]};Blockly.JavaScript.colour_random=function(a){return[Blockly.JavaScript.provideFunction_("colourRandom",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"() {"," var num = Math.floor(Math.random() * Math.pow(2, 24));"," return '#' + ('00000' + num.toString(16)).substr(-6);","}"])+"()",Blockly.JavaScript.ORDER_FUNCTION_CALL]}; diff --git a/javascript_compressed.js.map b/javascript_compressed.js.map index 4e8b8671e..fe8ad9f97 100644 --- a/javascript_compressed.js.map +++ b/javascript_compressed.js.map @@ -1 +1 @@ -{"version":3,"sources":["generators/javascript.js","generators/javascript/colour.js","generators/javascript/lists.js","generators/javascript/logic.js","generators/javascript/loops.js","generators/javascript/math.js","generators/javascript/procedures.js","generators/javascript/text.js","generators/javascript/variables.js","generators/javascript/variables_dynamic.js"],"names":["Blockly","JavaScript","Generator","addReservedWords","Object","getOwnPropertyNames","utils","global","join","ORDER_ATOMIC","ORDER_NEW","ORDER_MEMBER","ORDER_FUNCTION_CALL","ORDER_INCREMENT","ORDER_DECREMENT","ORDER_BITWISE_NOT","ORDER_UNARY_PLUS","ORDER_UNARY_NEGATION","ORDER_LOGICAL_NOT","ORDER_TYPEOF","ORDER_VOID","ORDER_DELETE","ORDER_AWAIT","ORDER_EXPONENTIATION","ORDER_MULTIPLICATION","ORDER_DIVISION","ORDER_MODULUS","ORDER_SUBTRACTION","ORDER_ADDITION","ORDER_BITWISE_SHIFT","ORDER_RELATIONAL","ORDER_IN","ORDER_INSTANCEOF","ORDER_EQUALITY","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_CONDITIONAL","ORDER_ASSIGNMENT","ORDER_YIELD","ORDER_COMMA","ORDER_NONE","ORDER_OVERRIDES","isInitialized","init","Blockly.JavaScript.init","workspace","definitions_","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","getId","VARIABLE_CATEGORY_NAME","finish","Blockly.JavaScript.finish","code","definitions","name","scrubNakedValue","Blockly.JavaScript.scrubNakedValue","line","quote_","Blockly.JavaScript.quote_","string","replace","multiline_quote_","Blockly.JavaScript.multiline_quote_","split","lines","map","scrub_","Blockly.JavaScript.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","wrap","COMMENT_WRAP","prefixLines","inputList","type","INPUT_VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.JavaScript.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","Number","innerOrder","Math","floor","getFieldValue","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","elements","Array","itemCount_","element","repeatCount","operator","item","mode","where","list","listOrder","Error","cacheList","match","listVar","getDistinctName","value","xVar","lists","getIndex_","Blockly.JavaScript.lists.getIndex_","listName","opt_at","where1","where2","at1","at2","wherePascalCase","direction","getCompareFunctionName","input","delimiter","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","INDENT","getInput","OPERATORS","argument0","argument1","defaultArgument","value_if","value_then","value_else","repeats","getField","String","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","indexVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","tuple","arg","CONSTANTS","number_to_check","dropdown_property","divisor","varName","func","argument2","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","args","getVars","hasReturnValue_","indexOf","text","forceString_","Blockly.JavaScript.text.forceString_","strRegExp","test","codeAndOrder","element0","element1","substring","textOrder","Blockly.JavaScript.text.getIndex_","stringName","requiresLengthCall","msg","sub","from","to"],"mappings":"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","file":"javascript_compressed.js","sourceRoot":"./"} \ No newline at end of file +{"version":3,"sources":["generators/javascript.js","generators/javascript/colour.js","generators/javascript/lists.js","generators/javascript/logic.js","generators/javascript/loops.js","generators/javascript/math.js","generators/javascript/procedures.js","generators/javascript/text.js","generators/javascript/variables.js","generators/javascript/variables_dynamic.js"],"names":["Blockly","JavaScript","Generator","addReservedWords","Object","getOwnPropertyNames","utils","global","join","ORDER_ATOMIC","ORDER_NEW","ORDER_MEMBER","ORDER_FUNCTION_CALL","ORDER_INCREMENT","ORDER_DECREMENT","ORDER_BITWISE_NOT","ORDER_UNARY_PLUS","ORDER_UNARY_NEGATION","ORDER_LOGICAL_NOT","ORDER_TYPEOF","ORDER_VOID","ORDER_DELETE","ORDER_AWAIT","ORDER_EXPONENTIATION","ORDER_MULTIPLICATION","ORDER_DIVISION","ORDER_MODULUS","ORDER_SUBTRACTION","ORDER_ADDITION","ORDER_BITWISE_SHIFT","ORDER_RELATIONAL","ORDER_IN","ORDER_INSTANCEOF","ORDER_EQUALITY","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_CONDITIONAL","ORDER_ASSIGNMENT","ORDER_YIELD","ORDER_COMMA","ORDER_NONE","ORDER_OVERRIDES","isInitialized","init","Blockly.JavaScript.init","workspace","definitions_","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","getId","VARIABLE_CATEGORY_NAME","finish","Blockly.JavaScript.finish","code","definitions","name","scrubNakedValue","Blockly.JavaScript.scrubNakedValue","line","quote_","Blockly.JavaScript.quote_","string","replace","multiline_quote_","Blockly.JavaScript.multiline_quote_","split","map","lines","scrub_","Blockly.JavaScript.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","wrap","COMMENT_WRAP","prefixLines","inputList","type","inputTypes","VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.JavaScript.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","Number","innerOrder","Math","floor","getFieldValue","provideFunction_","functionName","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","elements","Array","itemCount_","element","repeatCount","operator","item","mode","where","list","listOrder","Error","cacheList","match","listVar","getDistinctName","value","xVar","lists","getIndex_","Blockly.JavaScript.lists.getIndex_","listName","opt_at","where1","where2","at1","at2","wherePascalCase","direction","getCompareFunctionName","input","delimiter","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","INDENT","getInput","OPERATORS","argument0","argument1","defaultArgument","value_if","value_then","value_else","repeats","getField","String","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","indexVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","tuple","arg","CONSTANTS","number_to_check","dropdown_property","divisor","varName","func","argument2","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","args","getVars","hasReturnValue_","indexOf","text","forceString_","Blockly.JavaScript.text.forceString_","strRegExp","test","codeAndOrder","element0","element1","substring","textOrder","Blockly.JavaScript.text.getIndex_","stringName","requiresLengthCall","msg","sub","from","to"],"mappings":"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","file":"javascript_compressed.js","sourceRoot":"./"} \ No newline at end of file diff --git a/lua_compressed.js b/lua_compressed.js index e9be9ac81..17764bce2 100644 --- a/lua_compressed.js +++ b/lua_compressed.js @@ -14,7 +14,7 @@ Blockly.Lua.ORDER_ATOMIC=0;Blockly.Lua.ORDER_HIGH=1;Blockly.Lua.ORDER_EXPONENTIATION=2;Blockly.Lua.ORDER_UNARY=3;Blockly.Lua.ORDER_MULTIPLICATIVE=4;Blockly.Lua.ORDER_ADDITIVE=5;Blockly.Lua.ORDER_CONCATENATION=6;Blockly.Lua.ORDER_RELATIONAL=7;Blockly.Lua.ORDER_AND=8;Blockly.Lua.ORDER_OR=9;Blockly.Lua.ORDER_NONE=99;Blockly.Lua.isInitialized=!1; Blockly.Lua.init=function(a){Blockly.Lua.definitions_=Object.create(null);Blockly.Lua.functionNames_=Object.create(null);Blockly.Lua.variableDB_?Blockly.Lua.variableDB_.reset():Blockly.Lua.variableDB_=new Blockly.Names(Blockly.Lua.RESERVED_WORDS_);Blockly.Lua.variableDB_.setVariableMap(a.getVariableMap());this.isInitialized=!0}; Blockly.Lua.finish=function(a){var b=[],c;for(c in Blockly.Lua.definitions_)b.push(Blockly.Lua.definitions_[c]);delete Blockly.Lua.definitions_;delete Blockly.Lua.functionNames_;Blockly.Lua.variableDB_.reset();return b.join("\n\n")+"\n\n\n"+a};Blockly.Lua.scrubNakedValue=function(a){return"local _ = "+a+"\n"};Blockly.Lua.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'");return"'"+a+"'"};Blockly.Lua.multiline_quote_=function(a){return a.split(/\n/g).map(Blockly.Lua.quote_).join(" .. '\\n' ..\n")}; -Blockly.Lua.scrub_=function(a,b,c){var d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=Blockly.utils.string.wrap(e,Blockly.Lua.COMMENT_WRAP-3),d+=Blockly.Lua.prefixLines(e,"-- ")+"\n");for(var f=0;f", - "lastupdated": "2020-12-17 12:10:29.080541", + "lastupdated": "2021-03-25 09:26:05.766290", "locale": "en", "messagedocumentation" : "qqq" }, diff --git a/msg/json/qqq.json b/msg/json/qqq.json index 596ea55ad..f2b7d1723 100644 --- a/msg/json/qqq.json +++ b/msg/json/qqq.json @@ -1,13 +1,4 @@ { - "@metadata": { - "authors": [ - "Espertus", - "Liuxinyu970226", - "Metalhead64", - "Robby", - "Shirayuki" - ] - }, "VARIABLES_DEFAULT_NAME": "default name - A simple, general default name for a variable, preferably short. For more context, see [[Translating:Blockly#infrequent_message_types]].\n{{Identical|Item}}", "UNNAMED_KEY": "default name - A simple, default name for an unnamed function or variable. Preferably indicates that the item is unnamed.", "TODAY": "button text - Button that sets a calendar to today's date.\n{{Identical|Today}}", diff --git a/package-lock.json b/package-lock.json index 25e8a9376..d40636e92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "blockly", - "version": "4.20201217.0", + "version": "5.20210325.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 72a7f8afa..ecd03607c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blockly", - "version": "4.20201217.0", + "version": "5.20210325.0", "description": "Blockly is a library for building visual programming editors.", "keywords": [ "blockly" diff --git a/php_compressed.js b/php_compressed.js index e6ba9f5d9..0fd3e1816 100644 --- a/php_compressed.js +++ b/php_compressed.js @@ -18,7 +18,7 @@ Blockly.PHP.ORDER_OVERRIDES=[[Blockly.PHP.ORDER_MEMBER,Blockly.PHP.ORDER_FUNCTIO Blockly.PHP.init=function(a){Blockly.PHP.definitions_=Object.create(null);Blockly.PHP.functionNames_=Object.create(null);Blockly.PHP.variableDB_?Blockly.PHP.variableDB_.reset():Blockly.PHP.variableDB_=new Blockly.Names(Blockly.PHP.RESERVED_WORDS_,"$");Blockly.PHP.variableDB_.setVariableMap(a.getVariableMap());for(var b=[],c=Blockly.Variables.allDeveloperVariables(a),d=0;dc?Blockly.PHP.valueToCode(a,b,Blockly.PHP.ORDER_SUBTRACTION)||f:d?Blockly.PHP.valueToCode(a,b,Blockly.PHP.ORDER_UNARY_NEGATION)||f:Blockly.PHP.valueToCode(a,b,e)||f;if(Blockly.isNumber(a))a=Number(a)+c,d&&(a=-a);else{if(0c&& (a=a+" - "+-c,g=Blockly.PHP.ORDER_SUBTRACTION);d&&(a=c?"-("+a+")":"-"+a,g=Blockly.PHP.ORDER_UNARY_NEGATION);g=Math.floor(g);e=Math.floor(e);g&&e>=g&&(a="("+a+")")}return a};Blockly.PHP.colour={};Blockly.PHP.colour_picker=function(a){return[Blockly.PHP.quote_(a.getFieldValue("COLOUR")),Blockly.PHP.ORDER_ATOMIC]};Blockly.PHP.colour_random=function(a){return[Blockly.PHP.provideFunction_("colour_random",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"() {"," return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);","}"])+"()",Blockly.PHP.ORDER_FUNCTION_CALL]}; diff --git a/php_compressed.js.map b/php_compressed.js.map index 9e28a12db..3e4267773 100644 --- a/php_compressed.js.map +++ b/php_compressed.js.map @@ -1 +1 @@ -{"version":3,"sources":["generators/php.js","generators/php/colour.js","generators/php/lists.js","generators/php/logic.js","generators/php/loops.js","generators/php/math.js","generators/php/procedures.js","generators/php/text.js","generators/php/variables.js","generators/php/variables_dynamic.js"],"names":["Blockly","PHP","Generator","addReservedWords","ORDER_ATOMIC","ORDER_CLONE","ORDER_NEW","ORDER_MEMBER","ORDER_FUNCTION_CALL","ORDER_POWER","ORDER_INCREMENT","ORDER_DECREMENT","ORDER_BITWISE_NOT","ORDER_CAST","ORDER_SUPPRESS_ERROR","ORDER_INSTANCEOF","ORDER_LOGICAL_NOT","ORDER_UNARY_PLUS","ORDER_UNARY_NEGATION","ORDER_MULTIPLICATION","ORDER_DIVISION","ORDER_MODULUS","ORDER_ADDITION","ORDER_SUBTRACTION","ORDER_STRING_CONCAT","ORDER_BITWISE_SHIFT","ORDER_RELATIONAL","ORDER_EQUALITY","ORDER_REFERENCE","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_IF_NULL","ORDER_CONDITIONAL","ORDER_ASSIGNMENT","ORDER_LOGICAL_AND_WEAK","ORDER_LOGICAL_XOR","ORDER_LOGICAL_OR_WEAK","ORDER_NONE","ORDER_OVERRIDES","isInitialized","init","Blockly.PHP.init","workspace","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","variable","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.PHP.finish","code","definitions","name","scrubNakedValue","Blockly.PHP.scrubNakedValue","line","quote_","Blockly.PHP.quote_","string","replace","multiline_quote_","Blockly.PHP.multiline_quote_","split","lines","map","scrub_","Blockly.PHP.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","prefixLines","inputList","type","INPUT_VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.PHP.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","Number","innerOrder","Math","floor","getFieldValue","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","Array","itemCount_","element","repeatCount","list","argument0","argument1","errorIndex","indexAdjustment","mode","Error","where","value","match","listVar","getDistinctName","xVar","where1","where2","at1","at2","String","listCode","direction","value_input","value_delim","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","INDENT","getInput","operator","OPERATORS","defaultArgument","value_if","value_then","value_else","repeats","getField","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","arg","CONSTANTS","number_to_check","dropdown_property","divisor","varName","func","argument2","globals","getVars","indexOf","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","args","hasReturnValue_","element0","element1","elements","text","substring","msg","sub","from","to"],"mappings":"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","file":"php_compressed.js","sourceRoot":"./"} \ No newline at end of file +{"version":3,"sources":["generators/php.js","generators/php/colour.js","generators/php/lists.js","generators/php/logic.js","generators/php/loops.js","generators/php/math.js","generators/php/procedures.js","generators/php/text.js","generators/php/variables.js","generators/php/variables_dynamic.js"],"names":["Blockly","PHP","Generator","addReservedWords","ORDER_ATOMIC","ORDER_CLONE","ORDER_NEW","ORDER_MEMBER","ORDER_FUNCTION_CALL","ORDER_POWER","ORDER_INCREMENT","ORDER_DECREMENT","ORDER_BITWISE_NOT","ORDER_CAST","ORDER_SUPPRESS_ERROR","ORDER_INSTANCEOF","ORDER_LOGICAL_NOT","ORDER_UNARY_PLUS","ORDER_UNARY_NEGATION","ORDER_MULTIPLICATION","ORDER_DIVISION","ORDER_MODULUS","ORDER_ADDITION","ORDER_SUBTRACTION","ORDER_STRING_CONCAT","ORDER_BITWISE_SHIFT","ORDER_RELATIONAL","ORDER_EQUALITY","ORDER_REFERENCE","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_IF_NULL","ORDER_CONDITIONAL","ORDER_ASSIGNMENT","ORDER_LOGICAL_AND_WEAK","ORDER_LOGICAL_XOR","ORDER_LOGICAL_OR_WEAK","ORDER_NONE","ORDER_OVERRIDES","isInitialized","init","Blockly.PHP.init","workspace","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","variable","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.PHP.finish","code","definitions","name","scrubNakedValue","Blockly.PHP.scrubNakedValue","line","quote_","Blockly.PHP.quote_","string","replace","multiline_quote_","Blockly.PHP.multiline_quote_","split","map","lines","scrub_","Blockly.PHP.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","prefixLines","inputList","type","inputTypes","VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.PHP.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","Number","innerOrder","Math","floor","getFieldValue","provideFunction_","functionName","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","Array","itemCount_","element","repeatCount","list","argument0","argument1","errorIndex","indexAdjustment","mode","Error","where","value","match","listVar","getDistinctName","xVar","where1","where2","at1","at2","String","listCode","direction","value_input","value_delim","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","INDENT","getInput","operator","OPERATORS","defaultArgument","value_if","value_then","value_else","repeats","getField","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","arg","CONSTANTS","number_to_check","dropdown_property","divisor","varName","func","argument2","globals","getVars","indexOf","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","args","hasReturnValue_","element0","element1","elements","text","substring","msg","sub","from","to"],"mappings":"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","file":"php_compressed.js","sourceRoot":"./"} \ No newline at end of file diff --git a/python_compressed.js b/python_compressed.js index 21b95017e..ffde90be7 100644 --- a/python_compressed.js +++ b/python_compressed.js @@ -19,8 +19,8 @@ Blockly.Python.init=function(a){Blockly.Python.PASS=this.INDENT+"pass\n";Blockly " = None");a=Blockly.Variables.allUsedVarModels(a);for(d=0;dc?"int("+a+" - "+-c+")":"int("+a+")",d&&(a="-"+a));return a};Blockly.Python.colour={};Blockly.Python.colour_picker=function(a){return[Blockly.Python.quote_(a.getFieldValue("COLOUR")),Blockly.Python.ORDER_ATOMIC]};Blockly.Python.colour_random=function(a){Blockly.Python.definitions_.import_random="import random";return["'#%06x' % random.randint(0, 2**24 - 1)",Blockly.Python.ORDER_FUNCTION_CALL]}; +Blockly.Python.scrub_=function(a,b,c){var d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=Blockly.utils.string.wrap(e,Blockly.Python.COMMENT_WRAP-3),d+=Blockly.Python.prefixLines(e+"\n","# "));for(var f=0;fc?"int("+a+" - "+-c+")":"int("+a+")",d&&(a="-"+a));return a};Blockly.Python.colour={};Blockly.Python.colour_picker=function(a){return[Blockly.Python.quote_(a.getFieldValue("COLOUR")),Blockly.Python.ORDER_ATOMIC]};Blockly.Python.colour_random=function(a){Blockly.Python.definitions_.import_random="import random";return["'#%06x' % random.randint(0, 2**24 - 1)",Blockly.Python.ORDER_FUNCTION_CALL]}; Blockly.Python.colour_rgb=function(a){var b=Blockly.Python.provideFunction_("colour_rgb",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b):"," r = round(min(100, max(0, r)) * 2.55)"," g = round(min(100, max(0, g)) * 2.55)"," b = round(min(100, max(0, b)) * 2.55)"," return '#%02x%02x%02x' % (r, g, b)"]),c=Blockly.Python.valueToCode(a,"RED",Blockly.Python.ORDER_NONE)||0,d=Blockly.Python.valueToCode(a,"GREEN",Blockly.Python.ORDER_NONE)||0;a=Blockly.Python.valueToCode(a,"BLUE",Blockly.Python.ORDER_NONE)|| 0;return[b+"("+c+", "+d+", "+a+")",Blockly.Python.ORDER_FUNCTION_CALL]}; Blockly.Python.colour_blend=function(a){var b=Blockly.Python.provideFunction_("colour_blend",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(colour1, colour2, ratio):"," r1, r2 = int(colour1[1:3], 16), int(colour2[1:3], 16)"," g1, g2 = int(colour1[3:5], 16), int(colour2[3:5], 16)"," b1, b2 = int(colour1[5:7], 16), int(colour2[5:7], 16)"," ratio = min(1, max(0, ratio))"," r = round(r1 * (1 - ratio) + r2 * ratio)"," g = round(g1 * (1 - ratio) + g2 * ratio)"," b = round(b1 * (1 - ratio) + b2 * ratio)", diff --git a/python_compressed.js.map b/python_compressed.js.map index 4cae311c8..e7f15bceb 100644 --- a/python_compressed.js.map +++ b/python_compressed.js.map @@ -1 +1 @@ -{"version":3,"sources":["generators/python.js","generators/python/colour.js","generators/python/lists.js","generators/python/logic.js","generators/python/loops.js","generators/python/math.js","generators/python/procedures.js","generators/python/text.js","generators/python/variables.js","generators/python/variables_dynamic.js"],"names":["Blockly","Python","Generator","addReservedWords","ORDER_ATOMIC","ORDER_COLLECTION","ORDER_STRING_CONVERSION","ORDER_MEMBER","ORDER_FUNCTION_CALL","ORDER_EXPONENTIATION","ORDER_UNARY_SIGN","ORDER_BITWISE_NOT","ORDER_MULTIPLICATIVE","ORDER_ADDITIVE","ORDER_BITWISE_SHIFT","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_RELATIONAL","ORDER_LOGICAL_NOT","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_CONDITIONAL","ORDER_LAMBDA","ORDER_NONE","ORDER_OVERRIDES","isInitialized","init","Blockly.Python.init","workspace","PASS","INDENT","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.Python.finish","code","imports","definitions","name","def","match","replace","scrubNakedValue","Blockly.Python.scrubNakedValue","line","quote_","Blockly.Python.quote_","string","quote","indexOf","multiline_quote_","Blockly.Python.multiline_quote_","split","lines","map","scrub_","Blockly.Python.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","prefixLines","inputList","type","INPUT_VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjustedInt","Blockly.Python.getAdjustedInt","atId","opt_delta","opt_negate","delta","options","oneBasedIndex","defaultAtIndex","at","valueToCode","atOrder","isNumber","parseInt","getFieldValue","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","r","g","b","colour1","colour2","ratio","elements","Array","itemCount_","item","times","list","errorIndex","firstIndexAdjustment","lastIndexAdjustment","mode","where","listOrder","Error","value","listVar","getDistinctName","xVar","where1","where2","at1","at2","String","reverse","sortFunctionName","value_input","value_delim","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","getInput","operator","OPERATORS","order","argument0","argument1","defaultArgument","value_if","value_then","value_else","repeats","getField","branch","addLoopTrap","loopVar","until","variable0","increment","defineUpRange","defineDownRange","generateUpDownRange","start","end","inc","Number","Math","abs","range","scrub","arg","suffix","varName","startVar","endVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","CONSTANTS","constant","number_to_check","dropdown_property","divisor","func","argument2","globals","variable","getVars","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","args","hasReturnValue_","text","forceString_","Blockly.Python.text.forceString_","strRegExp","test","element","codeAndOrder","element0","element1","tempVar","substring","textOrder","msg","sub","from","to"],"mappings":"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","file":"python_compressed.js","sourceRoot":"./"} \ No newline at end of file +{"version":3,"sources":["generators/python.js","generators/python/colour.js","generators/python/lists.js","generators/python/logic.js","generators/python/loops.js","generators/python/math.js","generators/python/procedures.js","generators/python/text.js","generators/python/variables.js","generators/python/variables_dynamic.js"],"names":["Blockly","Python","Generator","addReservedWords","ORDER_ATOMIC","ORDER_COLLECTION","ORDER_STRING_CONVERSION","ORDER_MEMBER","ORDER_FUNCTION_CALL","ORDER_EXPONENTIATION","ORDER_UNARY_SIGN","ORDER_BITWISE_NOT","ORDER_MULTIPLICATIVE","ORDER_ADDITIVE","ORDER_BITWISE_SHIFT","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_RELATIONAL","ORDER_LOGICAL_NOT","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_CONDITIONAL","ORDER_LAMBDA","ORDER_NONE","ORDER_OVERRIDES","isInitialized","init","Blockly.Python.init","workspace","PASS","INDENT","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.Python.finish","code","imports","definitions","name","def","match","replace","scrubNakedValue","Blockly.Python.scrubNakedValue","line","quote_","Blockly.Python.quote_","string","quote","indexOf","multiline_quote_","Blockly.Python.multiline_quote_","split","map","lines","scrub_","Blockly.Python.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","prefixLines","inputList","type","inputTypes","VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjustedInt","Blockly.Python.getAdjustedInt","atId","opt_delta","opt_negate","delta","options","oneBasedIndex","defaultAtIndex","at","valueToCode","atOrder","isNumber","parseInt","getFieldValue","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","r","g","b","colour1","colour2","ratio","elements","Array","itemCount_","item","times","list","errorIndex","firstIndexAdjustment","lastIndexAdjustment","mode","where","listOrder","Error","value","listVar","getDistinctName","xVar","where1","where2","at1","at2","String","reverse","sortFunctionName","value_input","value_delim","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","getInput","operator","OPERATORS","order","argument0","argument1","defaultArgument","value_if","value_then","value_else","repeats","getField","branch","addLoopTrap","loopVar","until","variable0","increment","defineUpRange","defineDownRange","generateUpDownRange","start","end","inc","Number","Math","abs","range","scrub","arg","suffix","varName","startVar","endVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","CONSTANTS","constant","number_to_check","dropdown_property","divisor","func","argument2","globals","variable","getVars","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","args","hasReturnValue_","text","forceString_","Blockly.Python.text.forceString_","strRegExp","test","element","codeAndOrder","element0","element1","tempVar","substring","textOrder","msg","sub","from","to"],"mappings":"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","file":"python_compressed.js","sourceRoot":"./"} \ No newline at end of file diff --git a/typings/blockly.d.ts b/typings/blockly.d.ts index d6da61d21..626cdd6e2 100644 --- a/typings/blockly.d.ts +++ b/typings/blockly.d.ts @@ -14,7 +14,7 @@ export = Blockly; declare module Blockly { interface BlocklyOptions { - toolbox?: HTMLElement | string; + toolbox?: Blockly.utils.toolbox.ToolboxDefinition; readOnly?: boolean; trashcan?: boolean; maxInstances?: {[type: string]: number;}; @@ -759,8 +759,7 @@ declare module Blockly { /** * Add a value input, statement input or local variable to this block. - * @param {number} type Either Blockly.INPUT_VALUE or Blockly.NEXT_STATEMENT or - * Blockly.DUMMY_INPUT. + * @param {number} type One of Blockly.inputTypes. * @param {string} name Language-neutral identifier which may used to find this * input again. Should be unique to this block. * @return {!Blockly.Input} The input object created. @@ -1692,7 +1691,7 @@ declare module Blockly.BlockSvg { /** * Constant for identifying rows that are to be rendered inline. - * Don't collide with Blockly.INPUT_VALUE and friends. + * Don't collide with Blockly.inputTypes. * @const */ var INLINE: any /*missing*/; @@ -1747,17 +1746,11 @@ declare module Blockly { */ var parentContainer: Element; - /** - * Blockly opaque event data used to unbind events when using - * `Blockly.bindEvent_` and `Blockly.bindEventWithChecks_`. - * @typedef {!Array.} - */ - interface EventData extends Array { } - /** * Returns the dimensions of the specified SVG image. * @param {!SVGElement} svg SVG image. * @return {!Blockly.utils.Size} Contains width and height properties. + * @deprecated Use workspace.setCachedParentSvgSize. (2021 March 5) */ function svgSize(svg: SVGElement): Blockly.utils.Size; @@ -1863,46 +1856,6 @@ declare module Blockly { */ function defineBlocksWithJsonArray(jsonArray: Object[]): void; - /** - * Bind an event to a function call. When calling the function, verifies that - * it belongs to the touch stream that is currently being processed, and splits - * multitouch events into multiple events as needed. - * @param {!EventTarget} node Node upon which to listen. - * @param {string} name Event name to listen to (e.g. 'mousedown'). - * @param {Object} thisObject The value of 'this' in the function. - * @param {!Function} func Function to call when event is triggered. - * @param {boolean=} opt_noCaptureIdentifier True if triggering on this event - * should not block execution of other event handlers on this touch or - * other simultaneous touches. False by default. - * @param {boolean=} opt_noPreventDefault True if triggering on this event - * should prevent the default handler. False by default. If - * opt_noPreventDefault is provided, opt_noCaptureIdentifier must also be - * provided. - * @return {!Blockly.EventData} Opaque data that can be passed to unbindEvent_. - */ - function bindEventWithChecks_(node: EventTarget, name: string, thisObject: Object, func: Function, opt_noCaptureIdentifier?: boolean, opt_noPreventDefault?: boolean): Blockly.EventData; - - /** - * Bind an event to a function call. Handles multitouch events by using the - * coordinates of the first changed touch, and doesn't do any safety checks for - * simultaneous event processing. In most cases prefer is to use - * `Blockly.bindEventWithChecks_`. - * @param {!EventTarget} node Node upon which to listen. - * @param {string} name Event name to listen to (e.g. 'mousedown'). - * @param {Object} thisObject The value of 'this' in the function. - * @param {!Function} func Function to call when event is triggered. - * @return {!Blockly.EventData} Opaque data that can be passed to unbindEvent_. - */ - function bindEvent_(node: EventTarget, name: string, thisObject: Object, func: Function): Blockly.EventData; - - /** - * Unbind one or more events event from a function call. - * @param {!Array.} bindData Opaque data from bindEvent_. - * This list is emptied during the course of calling this function. - * @return {!Function} The function call. - */ - function unbindEvent_(bindData: any[][]): Function; - /** * Is the given string a number (includes negative and decimals). * @param {string} str Input string. @@ -1933,6 +1886,81 @@ declare module Blockly { * @param {!Element} container The container element. */ function setParentContainer(container: Element): void; + + /** + * @see Blockly.browserEvents.bind + */ + var bindEvent_: any /*missing*/; + + /** + * @see Blockly.browserEvents.unbind + */ + var unbindEvent_: any /*missing*/; + + /** + * @see Blockly.browserEvents.conditionalBind + */ + var bindEventWithChecks_: any /*missing*/; + + /** + * @see Blockly.constants.ALIGN.LEFT + */ + var ALIGN_LEFT: any /*missing*/; + + /** + * @see Blockly.constants.ALIGN.CENTRE + */ + var ALIGN_CENTRE: any /*missing*/; + + /** + * @see Blockly.constants.ALIGN.RIGHT + */ + var ALIGN_RIGHT: any /*missing*/; + + /** + * @see Blockly.connectionTypes.INPUT_VALUE + */ + var INPUT_VALUE: any /*missing*/; + + /** + * @see Blockly.connectionTypes.OUTPUT_VALUE + */ + var OUTPUT_VALUE: any /*missing*/; + + /** + * @see Blockly.connectionTypes.NEXT_STATEMENT + */ + var NEXT_STATEMENT: any /*missing*/; + + /** + * @see Blockly.connectionTypes.PREVIOUS_STATEMENT + */ + var PREVIOUS_STATEMENT: any /*missing*/; + + /** + * @see Blockly.inputTypes.DUMMY_INPUT + */ + var DUMMY_INPUT: any /*missing*/; + + /** + * @see Blockly.utils.toolbox.Position.TOP + */ + var TOOLBOX_AT_TOP: any /*missing*/; + + /** + * @see Blockly.utils.toolbox.Position.BOTTOM + */ + var TOOLBOX_AT_BOTTOM: any /*missing*/; + + /** + * @see Blockly.utils.toolbox.Position.LEFT + */ + var TOOLBOX_AT_LEFT: any /*missing*/; + + /** + * @see Blockly.utils.toolbox.Position.RIGHT + */ + var TOOLBOX_AT_RIGHT: any /*missing*/; } @@ -1946,6 +1974,64 @@ declare module Blockly { } +declare module Blockly.browserEvents { + + /** + * Blockly opaque event data used to unbind events when using + * `Blockly.browserEvents.bind` and + * `Blockly.browserEvents.conditionalBind`. + * @typedef {!Array.} + */ + interface Data extends Array { } + + /** + * Bind an event handler that can be ignored if it is not part of the active + * touch stream. + * Use this for events that either start or continue a multi-part gesture (e.g. + * mousedown or mousemove, which may be part of a drag or click). + * @param {!EventTarget} node Node upon which to listen. + * @param {string} name Event name to listen to (e.g. 'mousedown'). + * @param {Object} thisObject The value of 'this' in the function. + * @param {!Function} func Function to call when event is triggered. + * @param {boolean=} opt_noCaptureIdentifier True if triggering on this event + * should not block execution of other event handlers on this touch or + * other simultaneous touches. False by default. + * @param {boolean=} opt_noPreventDefault True if triggering on this event + * should prevent the default handler. False by default. If + * opt_noPreventDefault is provided, opt_noCaptureIdentifier must also be + * provided. + * @return {!Blockly.browserEvents.Data} Opaque data that can be passed to + * unbindEvent_. + * @public + */ + function conditionalBind(node: EventTarget, name: string, thisObject: Object, func: Function, opt_noCaptureIdentifier?: boolean, opt_noPreventDefault?: boolean): Blockly.browserEvents.Data; + + /** + * Bind an event handler that should be called regardless of whether it is part + * of the active touch stream. + * Use this for events that are not part of a multi-part gesture (e.g. + * mouseover for tooltips). + * @param {!EventTarget} node Node upon which to listen. + * @param {string} name Event name to listen to (e.g. 'mousedown'). + * @param {Object} thisObject The value of 'this' in the function. + * @param {!Function} func Function to call when event is triggered. + * @return {!Blockly.browserEvents.Data} Opaque data that can be passed to + * unbindEvent_. + * @public + */ + function bind(node: EventTarget, name: string, thisObject: Object, func: Function): Blockly.browserEvents.Data; + + /** + * Unbind one or more events event from a function call. + * @param {!Blockly.browserEvents.Data} bindData Opaque data from bindEvent_. + * This list is emptied during the course of calling this function. + * @return {!Function} The function call. + * @public + */ + function unbind(bindData: Blockly.browserEvents.Data): Function; +} + + declare module Blockly { class Bubble extends Bubble__Class { } @@ -2142,7 +2228,8 @@ declare module Blockly.Bubble { /** * Creates a bubble that can not be edited. - * @param {!SVGTextElement} paragraphElement The text element for the non editable bubble. + * @param {!SVGTextElement} paragraphElement The text element for the non + * editable bubble. * @param {!Blockly.BlockSvg} block The block that the bubble is attached to. * @param {!Blockly.utils.Coordinate} iconXY The coordinate of the icon. * @return {!Blockly.Bubble} The non editable bubble. @@ -2695,6 +2782,16 @@ declare module Blockly.ConnectionDB { } +declare module Blockly { + + /** + * Enum for the type of a connection or input. + * @enum {number} + */ + enum connectionTypes { INPUT_VALUE, OUTPUT_VALUE, NEXT_STATEMENT, PREVIOUS_STATEMENT } +} + + declare module Blockly { /** @@ -2788,54 +2885,6 @@ declare module Blockly { */ var SPRITE: any /*missing*/; - /** - * ENUM for a right-facing value input. E.g. 'set item to' or 'return'. - * @const - */ - var INPUT_VALUE: any /*missing*/; - - /** - * ENUM for a left-facing value output. E.g. 'random fraction'. - * @const - */ - var OUTPUT_VALUE: any /*missing*/; - - /** - * ENUM for a down-facing block stack. E.g. 'if-do' or 'else'. - * @const - */ - var NEXT_STATEMENT: any /*missing*/; - - /** - * ENUM for an up-facing block stack. E.g. 'break out of loop'. - * @const - */ - var PREVIOUS_STATEMENT: any /*missing*/; - - /** - * ENUM for an dummy input. Used to add field(s) with no input. - * @const - */ - var DUMMY_INPUT: any /*missing*/; - - /** - * ENUM for left alignment. - * @const - */ - var ALIGN_LEFT: any /*missing*/; - - /** - * ENUM for centre alignment. - * @const - */ - var ALIGN_CENTRE: any /*missing*/; - - /** - * ENUM for right alignment. - * @const - */ - var ALIGN_RIGHT: any /*missing*/; - /** * ENUM for no drag operation. * @const @@ -2867,30 +2916,6 @@ declare module Blockly { */ var OPPOSITE_TYPE: any /*missing*/; - /** - * ENUM for toolbox and flyout at top of screen. - * @const - */ - var TOOLBOX_AT_TOP: any /*missing*/; - - /** - * ENUM for toolbox and flyout at bottom of screen. - * @const - */ - var TOOLBOX_AT_BOTTOM: any /*missing*/; - - /** - * ENUM for toolbox and flyout at left of screen. - * @const - */ - var TOOLBOX_AT_LEFT: any /*missing*/; - - /** - * ENUM for toolbox and flyout at right of screen. - * @const - */ - var TOOLBOX_AT_RIGHT: any /*missing*/; - /** * ENUM representing that an event is not in any delete areas. * Null for backwards compatibility reasons. @@ -2952,6 +2977,27 @@ declare module Blockly { var DELETE_VARIABLE_ID: any /*missing*/; } +declare module Blockly.constants { + + /** + * Enum for alignment of inputs. + * @enum {number} + */ + enum ALIGN { LEFT, CENTRE, RIGHT } + + /** + * The language-neutral id given to the collapsed input. + * @const {string} + */ + var COLLAPSED_INPUT_NAME: any /*missing*/; + + /** + * The language-neutral id given to the collapsed field. + * @const {string} + */ + var COLLAPSED_FIELD_NAME: any /*missing*/; +} + declare module Blockly.ContextMenu { @@ -3077,8 +3123,9 @@ declare module Blockly { class ContextMenuRegistry__Class { /** - * Class for the registry of context menu items. This is intended to be a singleton. You should - * not create a new instance, and only access this class from Blockly.ContextMenuRegistry.registry. + * Class for the registry of context menu items. This is intended to be a + * singleton. You should not create a new instance, and only access this class + * from Blockly.ContextMenuRegistry.registry. * @constructor */ constructor(); @@ -3178,7 +3225,8 @@ declare module Blockly.ContextMenuRegistry { } /** - * Singleton instance of this class. All interactions with this class should be done on this object. + * Singleton instance of this class. All interactions with this class should be + * done on this object. * @type {?Blockly.ContextMenuRegistry} */ var registry: Blockly.ContextMenuRegistry; @@ -3539,7 +3587,7 @@ declare module Blockly { class Field extends Field__Class { } /** Fake class which should be extended to avoid inheriting static properties */ - class Field__Class implements Blockly.IASTNodeLocationSvg, Blockly.IASTNodeLocationWithBlock, Blockly.IBlocklyActionable, Blockly.IRegistrable { + class Field__Class implements Blockly.IASTNodeLocationSvg, Blockly.IASTNodeLocationWithBlock, Blockly.IKeyboardAccessible, Blockly.IRegistrable { /** * Abstract class for an editable field. @@ -3553,7 +3601,7 @@ declare module Blockly { * @constructor * @implements {Blockly.IASTNodeLocationSvg} * @implements {Blockly.IASTNodeLocationWithBlock} - * @implements {Blockly.IBlocklyActionable} + * @implements {Blockly.IKeyboardAccessible} * @implements {Blockly.IRegistrable} */ constructor(value: any, opt_validator?: Function, opt_config?: Object); @@ -4075,13 +4123,12 @@ declare module Blockly { isTabNavigable(): boolean; /** - * Handles the given action. - * This is only triggered when keyboard accessibility mode is enabled. - * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} _action The action to be handled. - * @return {boolean} True if the field handled the action, false otherwise. - * @package + * Handles the given keyboard shortcut. + * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} _shortcut The shortcut to be handled. + * @return {boolean} True if the shortcut has been handled, false otherwise. + * @public */ - onBlocklyAction(_action: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; + onShortcut(_shortcut: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; /** * Add the cursor svg to this fields svg group. @@ -4462,15 +4509,6 @@ declare module Blockly { * @protected */ showEditor_(): void; - - /** - * Handles the given action. - * This is only triggered when keyboard accessibility mode is enabled. - * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} action The action to be handled. - * @return {boolean} True if the field handled the action, false otherwise. - * @package - */ - onBlocklyAction(action: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; } } @@ -4563,6 +4601,15 @@ declare module Blockly { */ menu_: Blockly.Menu; + /** + * Sets the field's value based on the given XML element. Should only be + * called by Blockly.Xml. + * @param {!Element} fieldElement The element containing info about the + * field's state. + * @package + */ + fromXml(fieldElement: Element): void; + /** * Serializable fields are saved by the XML renderer, non-serializable fields * are not. Editable fields should also be serializable. @@ -4659,15 +4706,6 @@ declare module Blockly { * @protected */ render_(): void; - - /** - * Handles the given action. - * This is only triggered when keyboard accessibility mode is enabled. - * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} action The action to be handled. - * @return {boolean} True if the field handled the action, false otherwise. - * @package - */ - onBlocklyAction(action: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; } } @@ -4985,6 +5023,21 @@ declare module Blockly { */ textGroup_: SVGGElement; + /** + * Defines the maximum number of lines of field. + * If exceeded, scrolling functionality is enabled. + * @type {number} + * @protected + */ + maxLines_: number; + + /** + * Whether Y overflow is currently occuring. + * @type {boolean} + * @protected + */ + isOverflowedY_: boolean; + /** * Serializes this field's value to XML. Should only be called by Blockly.Xml. * @param {!Element} fieldElement The element to populate with info about the @@ -5009,6 +5062,17 @@ declare module Blockly { */ initView(): void; + /** + * Called by setValue if the text input is valid. Updates the value of the + * field, and updates the text of the field if it is not currently being + * edited (i.e. handled by the htmlInput_). Is being redefined here to update + * overflow state of the field. + * @param {*} newValue The value to be saved. The default validator guarantees + * that this is a string. + * @protected + */ + doValueUpdate_(newValue: any): void; + /** * Updates the text of the textElement. * @protected @@ -5028,6 +5092,19 @@ declare module Blockly { */ widgetCreate_(): HTMLTextAreaElement; + /** + * Sets the maxLines config for this field. + * @param {number} maxLines Defines the maximum number of lines allowed, + * before scrolling functionality is enabled. + */ + setMaxLines(maxLines: number): void; + + /** + * Returns the maxLines config of this field. + * @return {number} The maxLines config value. + */ + getMaxLines(): number; + /** * Handle key down to the editor. Override the text input definition of this * so as to not close the editor when enter is typed in. @@ -5623,7 +5700,7 @@ declare module Blockly { class Flyout extends Flyout__Class { } /** Fake class which should be extended to avoid inheriting static properties */ - class Flyout__Class implements Blockly.IBlocklyActionable, Blockly.IDeleteArea, Blockly.IFlyout { + class Flyout__Class implements Blockly.IDeleteArea, Blockly.IFlyout { /** * Class for a flyout. @@ -5631,7 +5708,6 @@ declare module Blockly { * workspace. * @constructor * @abstract - * @implements {Blockly.IBlocklyActionable} * @implements {Blockly.IDeleteArea} * @implements {Blockly.IFlyout} */ @@ -5777,12 +5853,6 @@ declare module Blockly { */ init(targetWorkspace: Blockly.WorkspaceSvg): void; - /** - * @type {!Blockly.Scrollbar} - * @package - */ - scrollbar: Blockly.Scrollbar; - /** * Dispose of this flyout. * Unlink from all DOM elements to prevent memory leaks. @@ -5802,6 +5872,13 @@ declare module Blockly { */ getHeight(): number; + /** + * Get the scale (zoom level) of the flyout. By default, + * this matches the target workspace scale, but this can be overridden. + * @return {number} Flyout workspace scale. + */ + getFlyoutScale(): number; + /** * Get the workspace inside the flyout. * @return {!Blockly.WorkspaceSvg} The workspace inside the flyout. @@ -5941,15 +6018,6 @@ declare module Blockly { */ isScrollable(): boolean; - /** - * Handles the given action. - * This is only triggered when keyboard accessibility mode is enabled. - * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} action The action to be handled. - * @return {boolean} True if the flyout handled the action, false otherwise. - * @package - */ - onBlocklyAction(action: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; - /** * Return the deletion rectangle for this flyout in viewport coordinates. * @return {Blockly.utils.Rect} Rectangle in which to delete. @@ -5973,15 +6041,6 @@ declare module Blockly { */ isDragTowardWorkspace(currentDragDeltaXY: Blockly.utils.Coordinate): boolean; - /** - * Return an object with all the metrics required to size scrollbars for the - * flyout. - * @return {Blockly.utils.Metrics} Contains size and position metrics of the - * flyout. - * @protected - */ - getMetrics_(): Blockly.utils.Metrics; - /** * Sets the translation of the flyout to match the scrollbars. * @param {!{x:number,y:number}} xyRatio Contains a y property which is a float @@ -6131,36 +6190,6 @@ declare module Blockly.FlyoutButton { } -declare module Blockly { - - class FlyoutDragger extends FlyoutDragger__Class { } - /** Fake class which should be extended to avoid inheriting static properties */ - class FlyoutDragger__Class extends Blockly.WorkspaceDragger__Class { - - /** - * Class for a flyout dragger. It moves a flyout workspace around when it is - * being dragged by a mouse or touch. - * Note that the workspace itself manages whether or not it has a drag surface - * and how to do translations based on that. This simply passes the right - * commands based on events. - * @param {!Blockly.IFlyout} flyout The flyout to drag. - * @extends {Blockly.WorkspaceDragger} - * @constructor - */ - constructor(flyout: Blockly.IFlyout); - - /** - * Move the flyout based on the most recent mouse movements. - * @param {!Blockly.utils.Coordinate} currentDragDeltaXY How far the pointer has - * moved from the position at the start of the drag, in pixel coordinates. - * @package - */ - drag(currentDragDeltaXY: Blockly.utils.Coordinate): void; - } - -} - - declare module Blockly { class HorizontalFlyout extends HorizontalFlyout__Class { } @@ -6176,25 +6205,6 @@ declare module Blockly { */ constructor(workspaceOptions: Blockly.Options); - /** - * Return an object with all the metrics required to size scrollbars for the - * flyout. The following properties are computed: - * .viewHeight: Height of the visible rectangle, - * .viewWidth: Width of the visible rectangle, - * .contentHeight: Height of the contents, - * .contentWidth: Width of the contents, - * .viewTop: Offset of top edge of visible rectangle from parent, - * .contentTop: Offset of the top-most content from the y=0 coordinate, - * .absoluteTop: Top-edge of view. - * .viewLeft: Offset of the left edge of visible rectangle from parent, - * .contentLeft: Offset of the left-most content from the x=0 coordinate, - * .absoluteLeft: Left-edge of view. - * @return {Blockly.utils.Metrics} Contains size and position metrics of the - * flyout. - * @protected - */ - getMetrics_(): Blockly.utils.Metrics; - /** * Sets the translation of the flyout to match the scrollbars. * @param {!{x:number,y:number}} xyRatio Contains a y property which is a float @@ -6284,25 +6294,6 @@ declare module Blockly { */ constructor(workspaceOptions: Blockly.Options); - /** - * Return an object with all the metrics required to size scrollbars for the - * flyout. The following properties are computed: - * .viewHeight: Height of the visible rectangle, - * .viewWidth: Width of the visible rectangle, - * .contentHeight: Height of the contents, - * .contentWidth: Width of the contents, - * .viewTop: Offset of top edge of visible rectangle from parent, - * .contentTop: Offset of the top-most content from the y=0 coordinate, - * .absoluteTop: Top-edge of view. - * .viewLeft: Offset of the left edge of visible rectangle from parent, - * .contentLeft: Offset of the left-most content from the x=0 coordinate, - * .absoluteLeft: Left-edge of view. - * @return {Blockly.utils.Metrics} Contains size and position metrics of the - * flyout. - * @protected - */ - getMetrics_(): Blockly.utils.Metrics; - /** * Sets the translation of the flyout to match the scrollbars. * @param {!{x:number,y:number}} xyRatio Contains a y property which is a float @@ -6674,18 +6665,18 @@ declare module Blockly { /** * A handle to use to unbind a mouse move listener at the end of a drag. * Opaque data returned from Blockly.bindEventWithChecks_. - * @type {?Blockly.EventData} + * @type {?Blockly.browserEvents.Data} * @protected */ - onMoveWrapper_: Blockly.EventData; + onMoveWrapper_: Blockly.browserEvents.Data; /** * A handle to use to unbind a mouse up listener at the end of a drag. * Opaque data returned from Blockly.bindEventWithChecks_. - * @type {?Blockly.EventData} + * @type {?Blockly.browserEvents.Data} * @protected */ - onUpWrapper_: Blockly.EventData; + onUpWrapper_: Blockly.browserEvents.Data; /** * Boolean used internally to break a cycle in disposal. @@ -7160,8 +7151,8 @@ declare module Blockly { /** * Change the alignment of the connection's field(s). - * @param {number} align One of Blockly.ALIGN_LEFT, ALIGN_CENTRE, ALIGN_RIGHT. - * In RTL mode directions are reversed, and ALIGN_RIGHT aligns to the left. + * @param {number} align One of the values of Blockly.constants.ALIGN. + * In RTL mode directions are reversed, and ALIGN.RIGHT aligns to the left. * @return {!Blockly.Input} The input being modified (to allow chaining). */ setAlign(align: number): Blockly.Input; @@ -7194,6 +7185,16 @@ declare module Blockly { } +declare module Blockly { + + /** + * Enum for the type of a connection or input. + * @enum {number} + */ + enum inputTypes { VALUE, STATEMENT, DUMMY } +} + + declare module Blockly { class InsertionMarkerManager extends InsertionMarkerManager__Class { } @@ -7359,6 +7360,16 @@ declare module Blockly { } +declare module Blockly.MarkerManager { + + /** + * The name of the local marker. + * @type {string} + * @const + */ + var LOCAL_MARKER: string; +} + declare module Blockly { @@ -7568,6 +7579,295 @@ declare module Blockly { } +declare module Blockly { + + class MetricsManager extends MetricsManager__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class MetricsManager__Class implements Blockly.IMetricsManager { + + /** + * The manager for all workspace metrics calculations. + * @param {!Blockly.WorkspaceSvg} workspace The workspace to calculate metrics + * for. + * @implements {Blockly.IMetricsManager} + * @constructor + */ + constructor(workspace: Blockly.WorkspaceSvg); + + /** + * The workspace to calculate metrics for. + * @type {!Blockly.WorkspaceSvg} + * @protected + */ + workspace_: Blockly.WorkspaceSvg; + + /** + * Gets the dimensions of the given workspace component, in pixel coordinates. + * @param {?Blockly.IToolbox|?Blockly.IFlyout} elem The element to get the + * dimensions of, or null. It should be a toolbox or flyout, and should + * implement getWidth() and getHeight(). + * @return {!Blockly.utils.Size} An object containing width and height + * attributes, which will both be zero if elem did not exist. + * @protected + */ + getDimensionsPx_(elem: Blockly.IToolbox|Blockly.IFlyout): Blockly.utils.Size; + + /** + * Gets the width and the height of the flyout on the workspace in pixel + * coordinates. Returns 0 for the width and height if the workspace has a + * category toolbox instead of a simple toolbox. + * @param {boolean=} opt_own Whether to only return the workspace's own flyout. + * @return {!Blockly.MetricsManager.ToolboxMetrics} The width and height of the + * flyout. + * @public + */ + getFlyoutMetrics(opt_own?: boolean): Blockly.MetricsManager.ToolboxMetrics; + + /** + * Gets the width, height and position of the toolbox on the workspace in pixel + * coordinates. Returns 0 for the width and height if the workspace has a simple + * toolbox instead of a category toolbox. To get the width and height of a + * simple toolbox @see {@link getFlyoutMetrics}. + * @return {!Blockly.MetricsManager.ToolboxMetrics} The object with the width, + * height and position of the toolbox. + * @public + */ + getToolboxMetrics(): Blockly.MetricsManager.ToolboxMetrics; + + /** + * Gets the width and height of the workspace's parent svg element in pixel + * coordinates. This area includes the toolbox and the visible workspace area. + * @return {!Blockly.utils.Size} The width and height of the workspace's parent + * svg element. + * @public + */ + getSvgMetrics(): Blockly.utils.Size; + + /** + * Gets the absolute left and absolute top in pixel coordinates. + * This is where the visible workspace starts in relation to the svg container. + * @return {!Blockly.MetricsManager.AbsoluteMetrics} The absolute metrics for + * the workspace. + * @public + */ + getAbsoluteMetrics(): Blockly.MetricsManager.AbsoluteMetrics; + + /** + * Gets the metrics for the visible workspace in either pixel or workspace + * coordinates. The visible workspace does not include the toolbox or flyout. + * @param {boolean=} opt_getWorkspaceCoordinates True to get the view metrics in + * workspace coordinates, false to get them in pixel coordinates. + * @return {!Blockly.MetricsManager.ContainerRegion} The width, height, top and + * left of the viewport in either workspace coordinates or pixel + * coordinates. + * @public + */ + getViewMetrics(opt_getWorkspaceCoordinates?: boolean): Blockly.MetricsManager.ContainerRegion; + + /** + * Gets content metrics in either pixel or workspace coordinates. + * The content area is a rectangle around all the top bounded elements on the + * workspace (workspace comments and blocks). + * @param {boolean=} opt_getWorkspaceCoordinates True to get the content metrics + * in workspace coordinates, false to get them in pixel coordinates. + * @return {!Blockly.MetricsManager.ContainerRegion} The + * metrics for the content container. + * @public + */ + getContentMetrics(opt_getWorkspaceCoordinates?: boolean): Blockly.MetricsManager.ContainerRegion; + + /** + * Returns whether the scroll area has fixed edges. + * @return {boolean} Whether the scroll area has fixed edges. + * @package + */ + hasFixedEdges(): boolean; + + /** + * Computes the fixed edges of the scroll area. + * @param {!Blockly.MetricsManager.ContainerRegion=} opt_viewMetrics The view + * metrics if they have been previously computed. Passing in null may cause + * the view metrics to be computed again, if it is needed. + * @return {!Blockly.MetricsManager.FixedEdges} The fixed edges of the scroll + * area. + * @protected + */ + getComputedFixedEdges_(opt_viewMetrics?: Blockly.MetricsManager.ContainerRegion): Blockly.MetricsManager.FixedEdges; + + /** + * Returns the content area with added padding. + * @param {!Blockly.MetricsManager.ContainerRegion} viewMetrics The view + * metrics. + * @param {!Blockly.MetricsManager.ContainerRegion} contentMetrics The content + * metrics. + * @return {{top: number, bottom: number, left: number, right: number}} The + * padded content area. + * @protected + */ + getPaddedContent_(viewMetrics: Blockly.MetricsManager.ContainerRegion, contentMetrics: Blockly.MetricsManager.ContainerRegion): { top: number; bottom: number; left: number; right: number }; + + /** + * Returns the metrics for the scroll area of the workspace. + * @param {boolean=} opt_getWorkspaceCoordinates True to get the scroll metrics + * in workspace coordinates, false to get them in pixel coordinates. + * @param {!Blockly.MetricsManager.ContainerRegion=} opt_viewMetrics The view + * metrics if they have been previously computed. Passing in null may cause + * the view metrics to be computed again, if it is needed. + * @param {!Blockly.MetricsManager.ContainerRegion=} opt_contentMetrics The + * content metrics if they have been previously computed. Passing in null + * may cause the content metrics to be computed again, if it is needed. + * @return {!Blockly.MetricsManager.ContainerRegion} The metrics for the scroll + * container + */ + getScrollMetrics(opt_getWorkspaceCoordinates?: boolean, opt_viewMetrics?: Blockly.MetricsManager.ContainerRegion, opt_contentMetrics?: Blockly.MetricsManager.ContainerRegion): Blockly.MetricsManager.ContainerRegion; + + /** + * Returns common metrics used by ui elements. + * @return {!Blockly.MetricsManager.UiMetrics} The ui metrics. + */ + getUiMetrics(): Blockly.MetricsManager.UiMetrics; + + /** + * Returns an object with all the metrics required to size scrollbars for a + * top level workspace. The following properties are computed: + * Coordinate system: pixel coordinates, -left, -up, +right, +down + * .viewHeight: Height of the visible portion of the workspace. + * .viewWidth: Width of the visible portion of the workspace. + * .contentHeight: Height of the content. + * .contentWidth: Width of the content. + * .scrollHeight: Height of the scroll area. + * .scrollWidth: Width of the scroll area. + * .svgHeight: Height of the Blockly div (the view + the toolbox, + * simple or otherwise), + * .svgWidth: Width of the Blockly div (the view + the toolbox, + * simple or otherwise), + * .viewTop: Top-edge of the visible portion of the workspace, relative to + * the workspace origin. + * .viewLeft: Left-edge of the visible portion of the workspace, relative to + * the workspace origin. + * .contentTop: Top-edge of the content, relative to the workspace origin. + * .contentLeft: Left-edge of the content relative to the workspace origin. + * .scrollTop: Top-edge of the scroll area, relative to the workspace origin. + * .scrollLeft: Left-edge of the scroll area relative to the workspace origin. + * .absoluteTop: Top-edge of the visible portion of the workspace, relative + * to the blocklyDiv. + * .absoluteLeft: Left-edge of the visible portion of the workspace, relative + * to the blocklyDiv. + * .toolboxWidth: Width of the toolbox, if it exists. Otherwise zero. + * .toolboxHeight: Height of the toolbox, if it exists. Otherwise zero. + * .flyoutWidth: Width of the flyout if it is always open. Otherwise zero. + * .flyoutHeight: Height of the flyout if it is always open. Otherwise zero. + * .toolboxPosition: Top, bottom, left or right. Use TOOLBOX_AT constants to + * compare. + * @return {!Blockly.utils.Metrics} Contains size and position metrics of a top + * level workspace. + * @public + */ + getMetrics(): Blockly.utils.Metrics; + } + + + class FlyoutMetricsManager extends FlyoutMetricsManager__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class FlyoutMetricsManager__Class extends Blockly.MetricsManager__Class { + + /** + * Calculates metrics for a flyout's workspace. + * The metrics are mainly used to size scrollbars for the flyout. + * @param {!Blockly.WorkspaceSvg} workspace The flyout's workspace. + * @param {!Blockly.IFlyout} flyout The flyout. + * @extends {Blockly.MetricsManager} + * @constructor + */ + constructor(workspace: Blockly.WorkspaceSvg, flyout: Blockly.IFlyout); + + /** + * The flyout that owns the workspace to calculate metrics for. + * @type {!Blockly.IFlyout} + * @protected + */ + flyout_: Blockly.IFlyout; + } + +} + +declare module Blockly.MetricsManager { + + /** + * Describes the width, height and location of the toolbox on the main + * workspace. + * @typedef {{ + * width: number, + * height: number, + * position: !Blockly.utils.toolbox.Position + * }} + */ + interface ToolboxMetrics { + width: number; + height: number; + position: Blockly.utils.toolbox.Position + } + + /** + * Describes where the viewport starts in relation to the workspace svg. + * @typedef {{ + * left: number, + * top: number + * }} + */ + interface AbsoluteMetrics { + left: number; + top: number + } + + /** + * All the measurements needed to describe the size and location of a container. + * @typedef {{ + * height: number, + * width: number, + * top: number, + * left: number + * }} + */ + interface ContainerRegion { + height: number; + width: number; + top: number; + left: number + } + + /** + * Describes fixed edges of the workspace. + * @typedef {{ + * top: (number|undefined), + * bottom: (number|undefined), + * left: (number|undefined), + * right: (number|undefined) + * }} + */ + interface FixedEdges { + top: number|any /*undefined*/; + bottom: number|any /*undefined*/; + left: number|any /*undefined*/; + right: number|any /*undefined*/ + } + + /** + * Common metrics used for ui elements. + * @typedef {{ + * viewMetrics: !Blockly.MetricsManager.ContainerRegion, + * absoluteMetrics: !Blockly.MetricsManager.AbsoluteMetrics, + * toolboxMetrics: !Blockly.MetricsManager.ToolboxMetrics + * }} + */ + interface UiMetrics { + viewMetrics: Blockly.MetricsManager.ContainerRegion; + absoluteMetrics: Blockly.MetricsManager.AbsoluteMetrics; + toolboxMetrics: Blockly.MetricsManager.ToolboxMetrics + } +} + + declare module Blockly { class Mutator extends Mutator__Class { } @@ -7874,16 +8174,28 @@ declare module Blockly.Options { * Move Options. * @typedef {{ * drag: boolean, - * scrollbars: boolean, + * scrollbars: (boolean | !Blockly.Options.ScrollbarOptions), * wheel: boolean * }} */ interface MoveOptions { drag: boolean; - scrollbars: boolean; + scrollbars: boolean|Blockly.Options.ScrollbarOptions; wheel: boolean } + /** + * Scrollbar Options. + * @typedef {{ + * horizontal: boolean, + * vertical: boolean + * }} + */ + interface ScrollbarOptions { + horizontal: boolean; + vertical: boolean + } + /** * Zoom Options. * @typedef {{ @@ -7917,6 +8229,86 @@ declare module Blockly.Options { } +declare module Blockly { + + class PluginManager extends PluginManager__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class PluginManager__Class { + + /** + * Manager for all items registered with the workspace. + * @constructor + */ + constructor(); + + /** + * Adds a plugin. + * @param {!Blockly.PluginManager.PluginDatum} pluginDataObject The plugin. + * @template T + */ + addPlugin(pluginDataObject: Blockly.PluginManager.PluginDatum): void; + + /** + * Gets the plugin with the given id and the given type. + * @param {string} id The id of the plugin to get. + * @return {!Blockly.IPlugin|undefined} The plugin with the given name + * or undefined if not found. + */ + getPlugin(id: string): Blockly.IPlugin|any /*undefined*/; + + /** + * Gets all the plugins of the specified type. + * @param {!Blockly.PluginManager.Type} type The type of the plugin. + * @param {boolean} sorted Whether to return list ordered by weights. + * @return {!Array} The plugins that match the + * specified type. + * @template T + */ + getPlugins(type: Blockly.PluginManager.Type, sorted: boolean): T[]; + } + +} + +declare module Blockly.PluginManager { + + class Type extends Type__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class Type__Class { + + /** + * A name with the type of the element stored in the generic. + * @param {string} name The name of the plugin type. + * @constructor + * @template T + */ + constructor(name: string); + } + + + /** + * An object storing plugin information. + * @typedef {{ + * id: string, + * plugin: !Blockly.IPlugin, + * types: !Array>, + * weight: number + * }} + */ + interface PluginDatum { + id: string; + plugin: Blockly.IPlugin; + types: string|Blockly.PluginManager.Type[]; + weight: number + } +} + +declare module Blockly.PluginManager.Type { + + /** @type {!Blockly.PluginManager.Type} */ + var POSITIONABLE: Blockly.PluginManager.Type; +} + + declare module Blockly.Procedures { /** @@ -8062,10 +8454,11 @@ declare module Blockly.registry { * @param {string} name The plugin's name. (Ex. field_angle, geras) * @param {?function(new:T, ...?)|Object} registryItem The class or object to * register. - * @param {boolean=} opt_allowOverrides True to prevent an error when overriding an - * already registered item. + * @param {boolean=} opt_allowOverrides True to prevent an error when overriding + * an already registered item. * @throws {Error} if the type or name is empty, a name with the given type has - * already been registered, or if the given class or object is not valid for it's type. + * already been registered, or if the given class or object is not valid for + * it's type. * @template T */ function register(type: string|Blockly.registry.Type, name: string, registryItem: { (_0: any[]): any /*missing*/ }|Object, opt_allowOverrides?: boolean): void; @@ -8085,11 +8478,13 @@ declare module Blockly.registry { * @param {string|!Blockly.registry.Type} type The type of the plugin. * (e.g. Field, Renderer) * @param {string} name The plugin's name. (Ex. field_angle, geras) + * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we + * are unable to find the plugin. * @return {?function(new:T, ...?)|Object} The class or object with the given * name and type or null if none exists. * @template T */ - function getItem_(type: string|Blockly.registry.Type, name: string): { (_0: any[]): any /*missing*/ }|Object; + function getItem_(type: string|Blockly.registry.Type, name: string, opt_throwIfMissing?: boolean): { (_0: any[]): any /*missing*/ }|Object; /** * Returns whether or not the registry contains an item with the given type and @@ -8108,21 +8503,25 @@ declare module Blockly.registry { * @param {string|!Blockly.registry.Type} type The type of the plugin. * (e.g. Field, Renderer) * @param {string} name The plugin's name. (Ex. field_angle, geras) + * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we + * are unable to find the plugin. * @return {?function(new:T, ...?)} The class with the given name and type or * null if none exists. * @template T */ - function getClass(type: string|Blockly.registry.Type, name: string): { (_0: any[]): any /*missing*/ }; + function getClass(type: string|Blockly.registry.Type, name: string, opt_throwIfMissing?: boolean): { (_0: any[]): any /*missing*/ }; /** * Gets the object for the given name and type. * @param {string|!Blockly.registry.Type} type The type of the plugin. * (e.g. Category) * @param {string} name The plugin's name. (Ex. logic_category) + * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we + * are unable to find the object. * @returns {T} The object with the given name and type or null if none exists. * @template T */ - function getObject(type: string|Blockly.registry.Type, name: string): T; + function getObject(type: string|Blockly.registry.Type, name: string, opt_throwIfMissing?: boolean): T; /** * Gets the class from Blockly options for the given type. @@ -8130,10 +8529,12 @@ declare module Blockly.registry { * @param {!Blockly.registry.Type} type The type of the plugin. * @param {!Blockly.Options} options The option object to check for the given * plugin. + * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we + * are unable to find the plugin. * @return {?function(new:T, ...?)} The class for the plugin. * @template T */ - function getClassFromOptions(type: Blockly.registry.Type, options: Blockly.Options): { (_0: any[]): any /*missing*/ }; + function getClassFromOptions(type: Blockly.registry.Type, options: Blockly.Options, opt_throwIfMissing?: boolean): { (_0: any[]): any /*missing*/ }; } declare module Blockly.registry.Type { @@ -8141,6 +8542,9 @@ declare module Blockly.registry.Type { /** @type {!Blockly.registry.Type} */ var CONNECTION_CHECKER: Blockly.registry.Type; + /** @type {!Blockly.registry.Type} */ + var CURSOR: Blockly.registry.Type; + /** @type {!Blockly.registry.Type} */ var EVENT: Blockly.registry.Type; @@ -8164,6 +8568,9 @@ declare module Blockly.registry.Type { /** @type {!Blockly.registry.Type} */ var FLYOUTS_HORIZONTAL_TOOLBOX: Blockly.registry.Type; + + /** @type {!Blockly.registry.Type} */ + var METRICS_MANAGER: Blockly.registry.Type; } @@ -8367,13 +8774,19 @@ declare module Blockly { /** * Class for a pair of scrollbars. Horizontal and vertical. * @param {!Blockly.WorkspaceSvg} workspace Workspace to bind the scrollbars to. + * @param {boolean=} addHorizontal Whether to add a horizontal scrollbar. + * Defaults to true. + * @param {boolean=} addVertical Whether to add a vertical scrollbar. Defaults + * to true. + * @param {string=} opt_class A class to be applied to these scrollbars. * @constructor */ - constructor(workspace: Blockly.WorkspaceSvg); + constructor(workspace: Blockly.WorkspaceSvg, addHorizontal?: boolean, addVertical?: boolean, opt_class?: string); /** * Dispose of this pair of scrollbars. * Unlink from all DOM elements to prevent memory leaks. + * @suppress {checkTypes} */ dispose(): void; @@ -8384,18 +8797,81 @@ declare module Blockly { resize(): void; /** - * Set the handles of both scrollbars to be at a certain position in CSS pixels - * relative to their parents. + * Returns whether scrolling horizontally is enabled. + * @return {boolean} True if horizontal scroll is enabled. + */ + canScrollHorizontally(): boolean; + + /** + * Returns whether scrolling vertically is enabled. + * @return {boolean} True if vertical scroll is enabled. + */ + canScrollVertically(): boolean; + + /** + * Record the origin of the workspace that the scrollbar is in, in pixels + * relative to the injection div origin. This is for times when the scrollbar is + * used in an object whose origin isn't the same as the main workspace + * (e.g. in a flyout.) + * @param {number} x The x coordinate of the scrollbar's origin, in CSS pixels. + * @param {number} y The y coordinate of the scrollbar's origin, in CSS pixels. + * @package + */ + setOrigin(x: number, y: number): void; + + /** + * Set the handles of both scrollbars. + * @param {number} x The horizontal content displacement, relative to the view + * in pixels. + * @param {number} y The vertical content displacement, relative to the view in + * pixels. + * @param {boolean} updateMetrics Whether to update metrics on this set call. + * Defaults to true. + */ + set(x: number, y: number, updateMetrics: boolean): void; + + /** + * Set the handle of the horizontal scrollbar to be at a certain position in + * CSS pixels relative to its parents. * @param {number} x Horizontal scroll value. + */ + setX(x: number): void; + + /** + * Set the handle of the vertical scrollbar to be at a certain position in + * CSS pixels relative to its parents. * @param {number} y Vertical scroll value. */ - set(x: number, y: number): void; + setY(y: number): void; /** * Set whether this scrollbar's container is visible. * @param {boolean} visible Whether the container is visible. */ setContainerVisible(visible: boolean): void; + + /** + * If any of the scrollbars are visible. Non-paired scrollbars may disappear + * when they aren't needed. + * @return {boolean} True if visible. + */ + isVisible(): boolean; + + /** + * Recalculates the scrollbars' locations within their path and length. + * This should be called when the contents of the workspace have changed. + * @param {!Blockly.utils.Metrics} hostMetrics A data structure describing all + * the required dimensions, possibly fetched from the host object. + */ + resizeContent(hostMetrics: Blockly.utils.Metrics): void; + + /** + * Recalculates the scrollbars' locations on the screen and path length. + * This should be called when the layout or size of the window has changed. + * @param {!Blockly.utils.Metrics} hostMetrics A data structure describing all + * the required dimensions, possibly fetched from the host object. + */ + resizeView(hostMetrics: Blockly.utils.Metrics): void; } @@ -8416,6 +8892,7 @@ declare module Blockly { constructor(workspace: Blockly.WorkspaceSvg, horizontal: boolean, opt_pair?: boolean, opt_class?: string); /** + * The ratio of handle position offset to workspace content displacement. * @type {?number} * @package */ @@ -8433,6 +8910,7 @@ declare module Blockly { /** * Dispose of this scrollbar. * Unlink from all DOM elements to prevent memory leaks. + * @suppress {checkTypes} */ dispose(): void; @@ -8522,12 +9000,20 @@ declare module Blockly { updateDisplay_(): void; /** - * Set the scrollbar handle's position. - * @param {number} value The distance from the top/left end of the bar, in CSS - * pixels. It may be larger than the maximum allowable position of the - * scrollbar handle. + * Helper to calculate the ratio of handle position to scrollbar view size. + * @return {number} Ratio. + * @protected */ - set(value: number): void; + getRatio_(): number; + + /** + * Set the scrollbar handle's position. + * @param {number} value The content displacement, relative to the view in + * pixels. + * @param {boolean=} updateMetrics Whether to update metrics on this set call. + * Defaults to true. + */ + set(value: number, updateMetrics?: boolean): void; /** * Record the origin of the workspace that the scrollbar is in, in pixels @@ -8549,6 +9035,14 @@ declare module Blockly.Scrollbar { * Scrollbars should be larger on touch devices. */ var scrollbarThickness: any /*missing*/; + + /** + * Margin around the scrollbar (between the scrollbar and the edge of the + * viewport in pixels). + * @type {number} + * @const + */ + var SCROLLBAR_MARGIN: number; } @@ -8626,8 +9120,8 @@ declare module Blockly { /** * Adds a mapping between a keycode and a keyboard shortcut. - * @param {string} keyCode The key code for the keyboard shortcut. If - * registering a key code with a modifier (ex: ctrl+c) use + * @param {string|Blockly.utils.KeyCodes} keyCode The key code for the keyboard + * shortcut. If registering a key code with a modifier (ex: ctrl+c) use * Blockly.ShortcutRegistry.registry.createSerializedKey; * @param {string} shortcutName The name of the shortcut to execute when the * given keycode is pressed. @@ -8636,7 +9130,7 @@ declare module Blockly { * @throws {Error} if the given key code is already mapped to a shortcut. * @public */ - addKeyMapping(keyCode: string, shortcutName: string, opt_allowCollision?: boolean): void; + addKeyMapping(keyCode: string|Blockly.utils.KeyCodes, shortcutName: string, opt_allowCollision?: boolean): void; /** * Removes a mapping between a keycode and a keyboard shortcut. @@ -9385,13 +9879,14 @@ declare module Blockly { class Trashcan extends Trashcan__Class { } /** Fake class which should be extended to avoid inheriting static properties */ - class Trashcan__Class implements Blockly.IDeleteArea { + class Trashcan__Class implements Blockly.IDeleteArea, Blockly.IPositionable { /** * Class for a trash can. * @param {!Blockly.WorkspaceSvg} workspace The workspace to sit in. * @constructor * @implements {Blockly.IDeleteArea} + * @implements {Blockly.IPositionable} */ constructor(workspace: Blockly.WorkspaceSvg); @@ -9453,11 +9948,21 @@ declare module Blockly { emptyContents(): void; /** - * Position the trashcan. + * Positions the trashcan. * It is positioned in the opposite corner to the corner the * categories/toolbox starts at. + * @param {!Blockly.MetricsManager.UiMetrics} metrics The workspace metrics. + * @param {!Array} savedPositions List of rectangles that + * are already on the workspace. */ - position(): void; + position(metrics: Blockly.MetricsManager.UiMetrics, savedPositions: Blockly.utils.Rect[]): void; + + /** + * Returns the bounding rectangle of the UI element in pixel units relative to + * the Blockly injection div. + * @return {!Blockly.utils.Rect} The plugin’s bounding box. + */ + getBoundingRectangle(): Blockly.utils.Rect; /** * Return the deletion rectangle for this trash can. @@ -10211,8 +10716,8 @@ declare module Blockly { /** @type {boolean} */ horizontalLayout: boolean; - /** @type {number} */ - toolboxPosition: number; + /** @type {Blockly.utils.toolbox.Position} */ + toolboxPosition: Blockly.utils.toolbox.Position; /** * An object that encapsulates logic for safety, type, and dragging checks. @@ -11278,10 +11783,18 @@ declare module Blockly { */ constructor(options: Blockly.Options, opt_blockDragSurface?: Blockly.BlockDragSurfaceSvg, opt_wsDragSurface?: Blockly.WorkspaceDragSurfaceSvg); - /** @type {function():!Blockly.utils.Metrics} */ + /** + * Method to get all the metrics that have to do with a workspace. + * @type {function():!Blockly.utils.Metrics} + * @package + */ getMetrics: { (): Blockly.utils.Metrics }; - /** @type {function(!{x:number, y:number}):void} */ + /** + * Translates the workspace. + * @type {function(!{x:number, y:number}):void} + * @package + */ setMetrics: { (_0: { x: number; y: number }): void }; /** @@ -11435,6 +11948,20 @@ declare module Blockly { */ getMarkerManager(): Blockly.MarkerManager; + /** + * Gets the metrics manager for this workspace. + * @return {!Blockly.IMetricsManager} The metrics manager. + * @public + */ + getMetricsManager(): Blockly.IMetricsManager; + + /** + * Sets the metrics manager for the workspace. + * @param {!Blockly.IMetricsManager} metricsManager The metrics manager. + * @package + */ + setMetricsManager(metricsManager: Blockly.IMetricsManager): void; + /** * Add the cursor svg to this workspaces svg group. * @param {SVGElement} cursorSvg The svg root of the cursor to be added to the @@ -11526,6 +12053,14 @@ declare module Blockly { */ getSvgXY(element: SVGElement): Blockly.utils.Coordinate; + /** + * Gets the size of the workspace's parent svg element. + * @return {!Blockly.utils.Size} The cached width and height of the workspace's + * parent svg element. + * @package + */ + getCachedParentSvgSize(): Blockly.utils.Size; + /** * Return the position of the workspace origin relative to the injection div * origin in pixels. @@ -11555,9 +12090,10 @@ declare module Blockly { /** * Save resize handler data so we can delete it later in dispose. - * @param {!Array.} handler Data that can be passed to unbindEvent_. + * @param {!Blockly.browserEvents.Data} handler Data that can be passed to + * eventHandling.unbind. */ - setResizeHandlerWrapper(handler: any[][]): void; + setResizeHandlerWrapper(handler: Blockly.browserEvents.Data): void; /** * Create the workspace DOM elements. @@ -11624,7 +12160,7 @@ declare module Blockly { * Getter for the flyout associated with this workspace. This flyout may be * owned by either the toolbox or the workspace, depending on toolbox * configuration. It will be null if there is no flyout. - * @param {boolean=} opt_own Only return the workspace's own flyout if True. + * @param {boolean=} opt_own Whether to only return the workspace's own flyout. * @return {Blockly.IFlyout} The flyout on this workspace. * @package */ @@ -11667,6 +12203,15 @@ declare module Blockly { */ getCanvas(): SVGGElement; + /** + * Caches the width and height of the workspace's parent svg element for use + * with getSvgMetrics. + * @param {?number} width The width of the parent svg element. + * @param {?number} height The height of the parent svg element + * @package + */ + setCachedParentSvgSize(width: number, height: number): void; + /** * Get the SVG element that forms the bubble surface. * @return {!SVGGElement} SVG group element. @@ -11830,15 +12375,6 @@ declare module Blockly { */ isDraggable(): boolean; - /** - * Should the workspace have bounded content? Used to tell if the - * workspace's content should be sized so that it can move (bounded) or not - * (exact sizing). - * @return {boolean} True if the workspace should be bounded, false otherwise. - * @package - */ - isContentBounded(): boolean; - /** * Is this workspace movable? * @@ -11851,6 +12387,20 @@ declare module Blockly { */ isMovable(): boolean; + /** + * Is this workspace movable horizontally? + * @return {boolean} True if the workspace is movable horizontally, false + * otherwise. + */ + isMovableHorizontally(): boolean; + + /** + * Is this workspace movable vertically? + * @return {boolean} True if the workspace is movable vertically, false + * otherwise. + */ + isMovableVertically(): boolean; + /** * Calculate the bounding box for the blocks on the workspace. * Coordinate system: workspace coordinates. @@ -12213,6 +12763,35 @@ declare module Blockly.Xml { */ function domToVariables(xmlVariables: Element, workspace: Blockly.Workspace): void; + /** + * A mapping of nodeName to node for child nodes of xmlBlock. + * @typedef {{ + * mutation: !Array, + * comment: !Array, + * data: !Array, + * field: !Array, + * input: !Array, + * next: !Array + * }} + */ + interface childNodeTagMap { + mutation: Element[]; + comment: Element[]; + data: Element[]; + field: Element[]; + input: Element[]; + next: Element[] + } + + /** + * Creates a mapping of childNodes for each supported xml tag for the provided + * xmlBlock. Logs a warning for any encountered unsupported tags. + * @param {!Element} xmlBlock XML block element. + * @return {Blockly.Xml.childNodeTagMap} The childNode map from nodeName to + * node. + */ + function mapSupportedXmlTags_(xmlBlock: Element): Blockly.Xml.childNodeTagMap; + /** * Remove any 'next' block (statements in a stack). * @param {!Element|!DocumentFragment} xmlBlock XML block element or an empty @@ -12226,12 +12805,13 @@ declare module Blockly { class ZoomControls extends ZoomControls__Class { } /** Fake class which should be extended to avoid inheriting static properties */ - class ZoomControls__Class { + class ZoomControls__Class implements Blockly.IPositionable { /** * Class for a zoom controls. * @param {!Blockly.WorkspaceSvg} workspace The workspace to sit in. * @constructor + * @implements {Blockly.IPositionable} */ constructor(workspace: Blockly.WorkspaceSvg); @@ -12257,11 +12837,21 @@ declare module Blockly { dispose(): void; /** - * Position the zoom controls. + * Returns the bounding rectangle of the UI element in pixel units relative to + * the Blockly injection div. + * @return {!Blockly.utils.Rect} The plugin’s bounding box. + */ + getBoundingRectangle(): Blockly.utils.Rect; + + /** + * Positions the zoom controls. * It is positioned in the opposite corner to the corner the * categories/toolbox starts at. + * @param {!Blockly.MetricsManager.UiMetrics} metrics The workspace metrics. + * @param {!Array} savedPositions List of rectangles that + * are already on the workspace. */ - position(): void; + position(metrics: Blockly.MetricsManager.UiMetrics, savedPositions: Blockly.utils.Rect[]): void; } } @@ -12713,11 +13303,22 @@ declare module Blockly.Events { var FINISHED_LOADING: any /*missing*/; /** - * List of events that cause objects to be bumped back into the visible - * portion of the workspace (only used for non-movable workspaces). + * Type of events that cause objects to be bumped back into the visible + * portion of the workspace. * - * Not to be confused with bumping so that disconnected connections to do - * not appear connected. + * Not to be confused with bumping so that disconnected connections do not + * appear connected. + * @typedef {!Blockly.Events.BlockCreate|!Blockly.Events.BlockMove| + * !Blockly.Events.CommentCreate|!Blockly.Events.CommentMove} + */ + type BumpEvent = Blockly.Events.BlockCreate|Blockly.Events.BlockMove|Blockly.Events.CommentCreate|Blockly.Events.CommentMove; + + /** + * List of events that cause objects to be bumped back into the visible + * portion of the workspace. + * + * Not to be confused with bumping so that disconnected connections do not + * appear connected. * @const */ var BUMP_EVENTS: any /*missing*/; @@ -12789,6 +13390,14 @@ declare module Blockly.Events { */ function fromJson(json: Object, workspace: Blockly.Workspace): Blockly.Events.Abstract; + /** + * Gets the class for a specific event type from the registry. + * @param {string} eventType The type of the event to get. + * @return {?function(new:Blockly.Events.Abstract, ...?)} The event class with + * the given type or null if none exists. + */ + function get(eventType: string): { (_0: any[]): any /*missing*/ }; + /** * Enable/disable a block depending on whether it is properly connected. * Use this on applications where all blocks should be connected to a top block. @@ -13312,10 +13921,12 @@ declare module Blockly.Events { * event. * @param {string=} opt_workspaceId The workspace identifier for this event. * Undefined for a blank event. + * @param {number=} opt_oldScale The old scale of the workspace. Undefined for a + * blank event. * @extends {Blockly.Events.UiBase} * @constructor */ - constructor(opt_top?: number, opt_left?: number, opt_scale?: number, opt_workspaceId?: string); + constructor(opt_top?: number, opt_left?: number, opt_scale?: number, opt_workspaceId?: string, opt_oldScale?: number); /** * Top-edge of the visible portion of the workspace, relative to the workspace @@ -13337,6 +13948,12 @@ declare module Blockly.Events { */ scale: number|any /*undefined*/; + /** + * The old scale of the workspace. + * @type {number|undefined} + */ + oldScale: number|any /*undefined*/; + /** * Type of this event. * @type {string} @@ -13933,6 +14550,383 @@ declare module Blockly.Events { } +declare module Blockly { + + class ASTNode extends ASTNode__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class ASTNode__Class { + + /** + * Class for an AST node. + * It is recommended that you use one of the createNode methods instead of + * creating a node directly. + * @param {string} type The type of the location. + * Must be in Blockly.ASTNode.types. + * @param {!Blockly.IASTNodeLocation} location The position in the AST. + * @param {!Blockly.ASTNode.Params=} opt_params Optional dictionary of options. + * @constructor + */ + constructor(type: string, location: Blockly.IASTNodeLocation, opt_params?: Blockly.ASTNode.Params); + + /** + * Gets the value pointed to by this node. + * It is the callers responsibility to check the node type to figure out what + * type of object they get back from this. + * @return {!Blockly.IASTNodeLocation} The current field, connection, workspace, or + * block the cursor is on. + */ + getLocation(): Blockly.IASTNodeLocation; + + /** + * The type of the current location. + * One of Blockly.ASTNode.types + * @return {string} The type of the location. + */ + getType(): string; + + /** + * The coordinate on the workspace. + * @return {Blockly.utils.Coordinate} The workspace coordinate or null if the + * location is not a workspace. + */ + getWsCoordinate(): Blockly.utils.Coordinate; + + /** + * Whether the node points to a connection. + * @return {boolean} [description] + * @package + */ + isConnection(): boolean; + + /** + * Finds the source block of the location of this node. + * @return {Blockly.Block} The source block of the location, or null if the node + * is of type workspace. + */ + getSourceBlock(): Blockly.Block; + + /** + * Find the element to the right of the current element in the AST. + * @return {Blockly.ASTNode} An AST node that wraps the next field, connection, + * block, or workspace. Or null if there is no node to the right. + */ + next(): Blockly.ASTNode; + + /** + * Find the element one level below and all the way to the left of the current + * location. + * @return {Blockly.ASTNode} An AST node that wraps the next field, connection, + * workspace, or block. Or null if there is nothing below this node. + */ + in(): Blockly.ASTNode; + + /** + * Find the element to the left of the current element in the AST. + * @return {Blockly.ASTNode} An AST node that wraps the previous field, + * connection, workspace or block. Or null if no node exists to the left. + * null. + */ + prev(): Blockly.ASTNode; + + /** + * Find the next element that is one position above and all the way to the left + * of the current location. + * @return {Blockly.ASTNode} An AST node that wraps the next field, connection, + * workspace or block. Or null if we are at the workspace level. + */ + out(): Blockly.ASTNode; + } + +} + +declare module Blockly.ASTNode { + + /** + * @typedef {{ + * wsCoordinate: Blockly.utils.Coordinate + * }} + */ + interface Params { + wsCoordinate: Blockly.utils.Coordinate + } + + /** + * Object holding different types for an AST node. + * @enum {string} + */ + enum types { FIELD, BLOCK, INPUT, OUTPUT, NEXT, PREVIOUS, STACK, WORKSPACE } + + /** + * True to navigate to all fields. False to only navigate to clickable fields. + * @type {boolean} + */ + var NAVIGATE_ALL_FIELDS: boolean; + + /** + * Create an AST node pointing to a field. + * @param {Blockly.Field} field The location of the AST node. + * @return {Blockly.ASTNode} An AST node pointing to a field. + */ + function createFieldNode(field: Blockly.Field): Blockly.ASTNode; + + /** + * Creates an AST node pointing to a connection. If the connection has a parent + * input then create an AST node of type input that will hold the connection. + * @param {Blockly.Connection} connection This is the connection the node will + * point to. + * @return {Blockly.ASTNode} An AST node pointing to a connection. + */ + function createConnectionNode(connection: Blockly.Connection): Blockly.ASTNode; + + /** + * Creates an AST node pointing to an input. Stores the input connection as the + * location. + * @param {Blockly.Input} input The input used to create an AST node. + * @return {Blockly.ASTNode} An AST node pointing to a input. + */ + function createInputNode(input: Blockly.Input): Blockly.ASTNode; + + /** + * Creates an AST node pointing to a block. + * @param {Blockly.Block} block The block used to create an AST node. + * @return {Blockly.ASTNode} An AST node pointing to a block. + */ + function createBlockNode(block: Blockly.Block): Blockly.ASTNode; + + /** + * Create an AST node of type stack. A stack, represented by its top block, is + * the set of all blocks connected to a top block, including the top block. + * @param {Blockly.Block} topBlock A top block has no parent and can be found + * in the list returned by workspace.getTopBlocks(). + * @return {Blockly.ASTNode} An AST node of type stack that points to the top + * block on the stack. + */ + function createStackNode(topBlock: Blockly.Block): Blockly.ASTNode; + + /** + * Creates an AST node pointing to a workspace. + * @param {!Blockly.Workspace} workspace The workspace that we are on. + * @param {Blockly.utils.Coordinate} wsCoordinate The position on the workspace + * for this node. + * @return {Blockly.ASTNode} An AST node pointing to a workspace and a position + * on the workspace. + */ + function createWorkspaceNode(workspace: Blockly.Workspace, wsCoordinate: Blockly.utils.Coordinate): Blockly.ASTNode; + + /** + * Creates an AST node for the top position on a block. + * This is either an output connection, previous connection, or block. + * @param {!Blockly.Block} block The block to find the top most AST node on. + * @return {Blockly.ASTNode} The AST node holding the top most position on the + * block. + */ + function createTopNode(block: Blockly.Block): Blockly.ASTNode; +} + + +declare module Blockly { + + class BasicCursor extends BasicCursor__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class BasicCursor__Class extends Blockly.Cursor__Class { + + /** + * Class for a basic cursor. + * This will allow the user to get to all nodes in the AST by hitting next or + * previous. + * @constructor + * @extends {Blockly.Cursor} + */ + constructor(); + + /** + * Uses pre order traversal to navigate the Blockly AST. This will allow + * a user to easily navigate the entire Blockly AST without having to go in + * and out levels on the tree. + * @param {Blockly.ASTNode} node The current position in the AST. + * @param {!function(Blockly.ASTNode) : boolean} isValid A function true/false + * depending on whether the given node should be traversed. + * @return {Blockly.ASTNode} The next node in the traversal. + * @protected + */ + getNextNode_(node: Blockly.ASTNode, isValid: { (_0: Blockly.ASTNode): boolean }): Blockly.ASTNode; + + /** + * Reverses the pre order traversal in order to find the previous node. This + * will allow a user to easily navigate the entire Blockly AST without having to + * go in and out levels on the tree. + * @param {Blockly.ASTNode} node The current position in the AST. + * @param {!function(Blockly.ASTNode) : boolean} isValid A function true/false + * depending on whether the given node should be traversed. + * @return {Blockly.ASTNode} The previous node in the traversal or null if no + * previous node exists. + * @protected + */ + getPreviousNode_(node: Blockly.ASTNode, isValid: { (_0: Blockly.ASTNode): boolean }): Blockly.ASTNode; + + /** + * Decides what nodes to traverse and which ones to skip. Currently, it + * skips output, stack and workspace nodes. + * @param {Blockly.ASTNode} node The AST node to check whether it is valid. + * @return {boolean} True if the node should be visited, false otherwise. + * @protected + */ + validNode_(node: Blockly.ASTNode): boolean; + } + +} + +declare module Blockly.BasicCursor { + + /** + * Name used for registering a basic cursor. + * @const {string} + */ + var registrationName: any /*missing*/; +} + + +declare module Blockly { + + class Cursor extends Cursor__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class Cursor__Class extends Blockly.Marker__Class { + + /** + * Class for a cursor. + * A cursor controls how a user navigates the Blockly AST. + * @constructor + * @extends {Blockly.Marker} + */ + constructor(); + + /** + * Find the next connection, field, or block. + * @return {Blockly.ASTNode} The next element, or null if the current node is + * not set or there is no next value. + * @public + */ + next(): Blockly.ASTNode; + + /** + * Find the in connection or field. + * @return {Blockly.ASTNode} The in element, or null if the current node is + * not set or there is no in value. + * @public + */ + in(): Blockly.ASTNode; + + /** + * Find the previous connection, field, or block. + * @return {Blockly.ASTNode} The previous element, or null if the current node + * is not set or there is no previous value. + * @public + */ + prev(): Blockly.ASTNode; + + /** + * Find the out connection, field, or block. + * @return {Blockly.ASTNode} The out element, or null if the current node is + * not set or there is no out value. + * @public + */ + out(): Blockly.ASTNode; + } + +} + + +declare module Blockly { + + class Marker extends Marker__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class Marker__Class { + + /** + * Class for a marker. + * This is used in keyboard navigation to save a location in the Blockly AST. + * @constructor + */ + constructor(); + + /** + * The colour of the marker. + * @type {?string} + */ + colour: string; + + /** + * The type of the marker. + * @type {string} + */ + type: string; + + /** + * Sets the object in charge of drawing the marker. + * @param {Blockly.blockRendering.MarkerSvg} drawer The object in charge of + * drawing the marker. + */ + setDrawer(drawer: Blockly.blockRendering.MarkerSvg): void; + + /** + * Get the current drawer for the marker. + * @return {Blockly.blockRendering.MarkerSvg} The object in charge of drawing + * the marker. + */ + getDrawer(): Blockly.blockRendering.MarkerSvg; + + /** + * Gets the current location of the marker. + * @return {Blockly.ASTNode} The current field, connection, or block the marker + * is on. + */ + getCurNode(): Blockly.ASTNode; + + /** + * Set the location of the marker and call the update method. + * Setting isStack to true will only work if the newLocation is the top most + * output or previous connection on a stack. + * @param {Blockly.ASTNode} newNode The new location of the marker. + */ + setCurNode(newNode: Blockly.ASTNode): void; + + /** + * Redraw the current marker. + * @package + */ + draw(): void; + + /** + * Hide the marker SVG. + */ + hide(): void; + + /** + * Dispose of this marker. + */ + dispose(): void; + } + +} + + +declare module Blockly { + + class TabNavigateCursor extends TabNavigateCursor__Class { } + /** Fake class which should be extended to avoid inheriting static properties */ + class TabNavigateCursor__Class extends Blockly.BasicCursor__Class { + + /** + * A cursor for navigating between tab navigable fields. + * @constructor + * @extends {Blockly.BasicCursor} + */ + constructor(); + } + +} + + declare module Blockly { interface IASTNodeLocation { @@ -13964,14 +14958,14 @@ declare module Blockly { getSourceBlock(): Blockly.Block; } - interface IBlocklyActionable { + interface IKeyboardAccessible { /** - * Handles the given action. - * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} action The action to be handled. - * @return {boolean} True if the action has been handled, false otherwise. + * Handles the given keyboard shortcut. + * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} shortcut The shortcut to be handled. + * @return {boolean} True if the shortcut has been handled, false otherwise. */ - onBlocklyAction(action: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; + onShortcut(shortcut: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; } } @@ -13987,6 +14981,13 @@ declare module Blockly { * @return {!Blockly.utils.Rect} Object with coordinates of the bounded element. */ getBoundingRectangle(): Blockly.utils.Rect; + + /** + * Move the element by a relative offset. + * @param {number} dx Horizontal offset in workspace units. + * @param {number} dy Vertical offset in workspace units. + */ + moveBy(dx: number, dy: number): void; } } @@ -14369,6 +15370,133 @@ declare module Blockly { } +declare module Blockly { + + interface IMetricsManager { + + /** + * Returns whether the scroll area has fixed edges. + * @return {boolean} Whether the scroll area has fixed edges. + * @package + */ + hasFixedEdges(): boolean; + + /** + * Returns the metrics for the scroll area of the workspace. + * @param {boolean=} opt_getWorkspaceCoordinates True to get the scroll metrics + * in workspace coordinates, false to get them in pixel coordinates. + * @param {!Blockly.MetricsManager.ContainerRegion=} opt_viewMetrics The view + * metrics if they have been previously computed. Passing in null may cause + * the view metrics to be computed again, if it is needed. + * @param {!Blockly.MetricsManager.ContainerRegion=} opt_contentMetrics The + * content metrics if they have been previously computed. Passing in null + * may cause the content metrics to be computed again, if it is needed. + * @return {!Blockly.MetricsManager.ContainerRegion} The metrics for the scroll + * container + */ + getScrollMetrics(opt_getWorkspaceCoordinates?: boolean, opt_viewMetrics?: Blockly.MetricsManager.ContainerRegion, opt_contentMetrics?: Blockly.MetricsManager.ContainerRegion): Blockly.MetricsManager.ContainerRegion; + + /** + * Gets the width and the height of the flyout on the workspace in pixel + * coordinates. Returns 0 for the width and height if the workspace has a + * category toolbox instead of a simple toolbox. + * @param {boolean=} opt_own Whether to only return the workspace's own flyout. + * @return {!Blockly.MetricsManager.ToolboxMetrics} The width and height of the + * flyout. + * @public + */ + getFlyoutMetrics(opt_own?: boolean): Blockly.MetricsManager.ToolboxMetrics; + + /** + * Gets the width, height and position of the toolbox on the workspace in pixel + * coordinates. Returns 0 for the width and height if the workspace has a simple + * toolbox instead of a category toolbox. To get the width and height of a + * simple toolbox @see {@link getFlyoutMetrics}. + * @return {!Blockly.MetricsManager.ToolboxMetrics} The object with the width, + * height and position of the toolbox. + * @public + */ + getToolboxMetrics(): Blockly.MetricsManager.ToolboxMetrics; + + /** + * Gets the width and height of the workspace's parent svg element in pixel + * coordinates. This area includes the toolbox and the visible workspace area. + * @return {!Blockly.utils.Size} The width and height of the workspace's parent + * svg element. + * @public + */ + getSvgMetrics(): Blockly.utils.Size; + + /** + * Gets the absolute left and absolute top in pixel coordinates. + * This is where the visible workspace starts in relation to the svg container. + * @return {!Blockly.MetricsManager.AbsoluteMetrics} The absolute metrics for + * the workspace. + * @public + */ + getAbsoluteMetrics(): Blockly.MetricsManager.AbsoluteMetrics; + + /** + * Gets the metrics for the visible workspace in either pixel or workspace + * coordinates. The visible workspace does not include the toolbox or flyout. + * @param {boolean=} opt_getWorkspaceCoordinates True to get the view metrics in + * workspace coordinates, false to get them in pixel coordinates. + * @return {!Blockly.MetricsManager.ContainerRegion} The width, height, top and + * left of the viewport in either workspace coordinates or pixel + * coordinates. + * @public + */ + getViewMetrics(opt_getWorkspaceCoordinates?: boolean): Blockly.MetricsManager.ContainerRegion; + + /** + * Gets content metrics in either pixel or workspace coordinates. + * The content area is a rectangle around all the top bounded elements on the + * workspace (workspace comments and blocks). + * @param {boolean=} opt_getWorkspaceCoordinates True to get the content metrics + * in workspace coordinates, false to get them in pixel coordinates. + * @return {!Blockly.MetricsManager.ContainerRegion} The + * metrics for the content container. + * @public + */ + getContentMetrics(opt_getWorkspaceCoordinates?: boolean): Blockly.MetricsManager.ContainerRegion; + + /** + * Returns an object with all the metrics required to size scrollbars for a + * top level workspace. The following properties are computed: + * Coordinate system: pixel coordinates, -left, -up, +right, +down + * .viewHeight: Height of the visible portion of the workspace. + * .viewWidth: Width of the visible portion of the workspace. + * .contentHeight: Height of the content. + * .contentWidth: Width of the content. + * .svgHeight: Height of the Blockly div (the view + the toolbox, + * simple or otherwise), + * .svgWidth: Width of the Blockly div (the view + the toolbox, + * simple or otherwise), + * .viewTop: Top-edge of the visible portion of the workspace, relative to + * the workspace origin. + * .viewLeft: Left-edge of the visible portion of the workspace, relative to + * the workspace origin. + * .contentTop: Top-edge of the content, relative to the workspace origin. + * .contentLeft: Left-edge of the content relative to the workspace origin. + * .absoluteTop: Top-edge of the visible portion of the workspace, relative + * to the blocklyDiv. + * .absoluteLeft: Left-edge of the visible portion of the workspace, relative + * to the blocklyDiv. + * .toolboxWidth: Width of the toolbox, if it exists. Otherwise zero. + * .toolboxHeight: Height of the toolbox, if it exists. Otherwise zero. + * .flyoutWidth: Width of the flyout if it is always open. Otherwise zero. + * .flyoutHeight: Height of the flyout if it is always open. Otherwise zero. + * .toolboxPosition: Top, bottom, left or right. Use TOOLBOX_AT constants to + * compare. + * @return {!Blockly.utils.Metrics} Contains size and position metrics of a top + * level workspace. + * @public + */ + getMetrics(): Blockly.utils.Metrics; + } +} + + declare module Blockly { interface IMovable { @@ -14382,6 +15510,35 @@ declare module Blockly { } +declare module Blockly { + + interface IPlugin { + } +} + + +declare module Blockly { + + interface IPositionable extends Blockly.IPlugin { + + /** + * Positions the element. Called when the window is resized. + * @param {!Blockly.MetricsManager.UiMetrics} metrics The workspace metrics. + * @param {!Array} savedPositions List of rectangles that + * are already on the workspace. + */ + position(metrics: Blockly.MetricsManager.UiMetrics, savedPositions: Blockly.utils.Rect[]): void; + + /** + * Returns the bounding rectangle of the UI element in pixel units relative to + * the Blockly injection div. + * @return {!Blockly.utils.Rect} The plugin’s bounding box. + */ + getBoundingRectangle(): Blockly.utils.Rect; + } +} + + declare module Blockly { interface IRegistrable { @@ -14701,597 +15858,8 @@ declare module Blockly { declare module Blockly { - class ASTNode extends ASTNode__Class { } - /** Fake class which should be extended to avoid inheriting static properties */ - class ASTNode__Class { - - /** - * Class for an AST node. - * It is recommended that you use one of the createNode methods instead of - * creating a node directly. - * @param {string} type The type of the location. - * Must be in Blockly.ASTNode.types. - * @param {!Blockly.IASTNodeLocation} location The position in the AST. - * @param {!Blockly.ASTNode.Params=} opt_params Optional dictionary of options. - * @constructor - */ - constructor(type: string, location: Blockly.IASTNodeLocation, opt_params?: Blockly.ASTNode.Params); - - /** - * Gets the value pointed to by this node. - * It is the callers responsibility to check the node type to figure out what - * type of object they get back from this. - * @return {!Blockly.IASTNodeLocation} The current field, connection, workspace, or - * block the cursor is on. - */ - getLocation(): Blockly.IASTNodeLocation; - - /** - * The type of the current location. - * One of Blockly.ASTNode.types - * @return {string} The type of the location. - */ - getType(): string; - - /** - * The coordinate on the workspace. - * @return {Blockly.utils.Coordinate} The workspace coordinate or null if the - * location is not a workspace. - */ - getWsCoordinate(): Blockly.utils.Coordinate; - - /** - * Whether the node points to a connection. - * @return {boolean} [description] - * @package - */ - isConnection(): boolean; - - /** - * Finds the source block of the location of this node. - * @return {Blockly.Block} The source block of the location, or null if the node - * is of type workspace. - */ - getSourceBlock(): Blockly.Block; - - /** - * Find the element to the right of the current element in the AST. - * @return {Blockly.ASTNode} An AST node that wraps the next field, connection, - * block, or workspace. Or null if there is no node to the right. - */ - next(): Blockly.ASTNode; - - /** - * Find the element one level below and all the way to the left of the current - * location. - * @return {Blockly.ASTNode} An AST node that wraps the next field, connection, - * workspace, or block. Or null if there is nothing below this node. - */ - in(): Blockly.ASTNode; - - /** - * Find the element to the left of the current element in the AST. - * @return {Blockly.ASTNode} An AST node that wraps the previous field, - * connection, workspace or block. Or null if no node exists to the left. - * null. - */ - prev(): Blockly.ASTNode; - - /** - * Find the next element that is one position above and all the way to the left - * of the current location. - * @return {Blockly.ASTNode} An AST node that wraps the next field, connection, - * workspace or block. Or null if we are at the workspace level. - */ - out(): Blockly.ASTNode; - } - -} - -declare module Blockly.ASTNode { - - /** - * @typedef {{ - * wsCoordinate: Blockly.utils.Coordinate - * }} - */ - interface Params { - wsCoordinate: Blockly.utils.Coordinate + interface IWorkspacePlugin { } - - /** - * Object holding different types for an AST node. - * @enum {string} - */ - enum types { FIELD, BLOCK, INPUT, OUTPUT, NEXT, PREVIOUS, STACK, WORKSPACE } - - /** - * True to navigate to all fields. False to only navigate to clickable fields. - * @type {boolean} - */ - var NAVIGATE_ALL_FIELDS: boolean; - - /** - * Create an AST node pointing to a field. - * @param {Blockly.Field} field The location of the AST node. - * @return {Blockly.ASTNode} An AST node pointing to a field. - */ - function createFieldNode(field: Blockly.Field): Blockly.ASTNode; - - /** - * Creates an AST node pointing to a connection. If the connection has a parent - * input then create an AST node of type input that will hold the connection. - * @param {Blockly.Connection} connection This is the connection the node will - * point to. - * @return {Blockly.ASTNode} An AST node pointing to a connection. - */ - function createConnectionNode(connection: Blockly.Connection): Blockly.ASTNode; - - /** - * Creates an AST node pointing to an input. Stores the input connection as the - * location. - * @param {Blockly.Input} input The input used to create an AST node. - * @return {Blockly.ASTNode} An AST node pointing to a input. - */ - function createInputNode(input: Blockly.Input): Blockly.ASTNode; - - /** - * Creates an AST node pointing to a block. - * @param {Blockly.Block} block The block used to create an AST node. - * @return {Blockly.ASTNode} An AST node pointing to a block. - */ - function createBlockNode(block: Blockly.Block): Blockly.ASTNode; - - /** - * Create an AST node of type stack. A stack, represented by its top block, is - * the set of all blocks connected to a top block, including the top block. - * @param {Blockly.Block} topBlock A top block has no parent and can be found - * in the list returned by workspace.getTopBlocks(). - * @return {Blockly.ASTNode} An AST node of type stack that points to the top - * block on the stack. - */ - function createStackNode(topBlock: Blockly.Block): Blockly.ASTNode; - - /** - * Creates an AST node pointing to a workspace. - * @param {!Blockly.Workspace} workspace The workspace that we are on. - * @param {Blockly.utils.Coordinate} wsCoordinate The position on the workspace - * for this node. - * @return {Blockly.ASTNode} An AST node pointing to a workspace and a position - * on the workspace. - */ - function createWorkspaceNode(workspace: Blockly.Workspace, wsCoordinate: Blockly.utils.Coordinate): Blockly.ASTNode; - - /** - * Creates an AST node for the top position on a block. - * This is either an output connection, previous connection, or block. - * @param {!Blockly.Block} block The block to find the top most AST node on. - * @return {Blockly.ASTNode} The AST node holding the top most position on the - * block. - */ - function createTopNode(block: Blockly.Block): Blockly.ASTNode; -} - - -declare module Blockly { - - class BasicCursor extends BasicCursor__Class { } - /** Fake class which should be extended to avoid inheriting static properties */ - class BasicCursor__Class extends Blockly.Cursor__Class { - - /** - * Class for a basic cursor. - * This will allow the user to get to all nodes in the AST by hitting next or - * previous. - * @constructor - * @extends {Blockly.Cursor} - */ - constructor(); - - /** - * Uses pre order traversal to navigate the Blockly AST. This will allow - * a user to easily navigate the entire Blockly AST without having to go in - * and out levels on the tree. - * @param {Blockly.ASTNode} node The current position in the AST. - * @param {!function(Blockly.ASTNode) : boolean} isValid A function true/false - * depending on whether the given node should be traversed. - * @return {Blockly.ASTNode} The next node in the traversal. - * @protected - */ - getNextNode_(node: Blockly.ASTNode, isValid: { (_0: Blockly.ASTNode): boolean }): Blockly.ASTNode; - - /** - * Reverses the pre order traversal in order to find the previous node. This will - * allow a user to easily navigate the entire Blockly AST without having to go in - * and out levels on the tree. - * @param {Blockly.ASTNode} node The current position in the AST. - * @param {!function(Blockly.ASTNode) : boolean} isValid A function true/false - * depending on whether the given node should be traversed. - * @return {Blockly.ASTNode} The previous node in the traversal or null if no - * previous node exists. - * @protected - */ - getPreviousNode_(node: Blockly.ASTNode, isValid: { (_0: Blockly.ASTNode): boolean }): Blockly.ASTNode; - - /** - * Decides what nodes to traverse and which ones to skip. Currently, it - * skips output, stack and workspace nodes. - * @param {Blockly.ASTNode} node The AST node to check whether it is valid. - * @return {boolean} True if the node should be visited, false otherwise. - * @protected - */ - validNode_(node: Blockly.ASTNode): boolean; - } - -} - - -declare module Blockly { - - class Cursor extends Cursor__Class { } - /** Fake class which should be extended to avoid inheriting static properties */ - class Cursor__Class extends Blockly.Marker__Class implements Blockly.IBlocklyActionable { - - /** - * Class for a cursor. - * A cursor controls how a user navigates the Blockly AST. - * @constructor - * @extends {Blockly.Marker} - * @implements {Blockly.IBlocklyActionable} - */ - constructor(); - - /** - * Find the next connection, field, or block. - * @return {Blockly.ASTNode} The next element, or null if the current node is - * not set or there is no next value. - * @protected - */ - next(): Blockly.ASTNode; - - /** - * Find the in connection or field. - * @return {Blockly.ASTNode} The in element, or null if the current node is - * not set or there is no in value. - * @protected - */ - in(): Blockly.ASTNode; - - /** - * Find the previous connection, field, or block. - * @return {Blockly.ASTNode} The previous element, or null if the current node - * is not set or there is no previous value. - * @protected - */ - prev(): Blockly.ASTNode; - - /** - * Find the out connection, field, or block. - * @return {Blockly.ASTNode} The out element, or null if the current node is - * not set or there is no out value. - * @protected - */ - out(): Blockly.ASTNode; - - /** - * Handles the given action. - * This is only triggered when keyboard navigation is enabled. - * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} action The action to be handled. - * @return {boolean} True if the action has been handled, false otherwise. - */ - onBlocklyAction(action: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; - } - -} - - -declare module Blockly { - - class FlyoutCursor extends FlyoutCursor__Class { } - /** Fake class which should be extended to avoid inheriting static properties */ - class FlyoutCursor__Class extends Blockly.Cursor__Class { - - /** - * Class for a flyout cursor. - * This controls how a user navigates blocks in the flyout. - * @constructor - * @extends {Blockly.Cursor} - */ - constructor(); - } - -} - - -declare module Blockly { - - class Marker extends Marker__Class { } - /** Fake class which should be extended to avoid inheriting static properties */ - class Marker__Class { - - /** - * Class for a marker. - * This is used in keyboard navigation to save a location in the Blockly AST. - * @constructor - */ - constructor(); - - /** - * The colour of the marker. - * @type {?string} - */ - colour: string; - - /** - * The type of the marker. - * @type {string} - */ - type: string; - - /** - * Sets the object in charge of drawing the marker. - * @param {Blockly.blockRendering.MarkerSvg} drawer The object in charge of - * drawing the marker. - */ - setDrawer(drawer: Blockly.blockRendering.MarkerSvg): void; - - /** - * Get the current drawer for the marker. - * @return {Blockly.blockRendering.MarkerSvg} The object in charge of drawing - * the marker. - */ - getDrawer(): Blockly.blockRendering.MarkerSvg; - - /** - * Gets the current location of the marker. - * @return {Blockly.ASTNode} The current field, connection, or block the marker - * is on. - */ - getCurNode(): Blockly.ASTNode; - - /** - * Set the location of the marker and call the update method. - * Setting isStack to true will only work if the newLocation is the top most - * output or previous connection on a stack. - * @param {Blockly.ASTNode} newNode The new location of the marker. - */ - setCurNode(newNode: Blockly.ASTNode): void; - - /** - * Redraw the current marker. - * @package - */ - draw(): void; - - /** - * Hide the marker SVG. - */ - hide(): void; - - /** - * Dispose of this marker. - */ - dispose(): void; - } - -} - - -declare module Blockly.navigation { - - /** - * A function to call to give feedback to the user about logs, warnings, and - * errors. You can override this to customize feedback (e.g. warning sounds, - * reading out the warning text, etc). - * Null by default. - * The first argument is one of 'log', 'warn', and 'error'. - * The second argument is the message. - * @type {?function(string, string)} - * @public - */ - var loggingCallback: { (_0: string, _1: string): any /*missing*/ }; - - /** - * State indicating focus is currently on the flyout. - * @type {number} - * @const - */ - var STATE_FLYOUT: number; - - /** - * State indicating focus is currently on the workspace. - * @type {number} - * @const - */ - var STATE_WS: number; - - /** - * State indicating focus is currently on the toolbox. - * @type {number} - * @const - */ - var STATE_TOOLBOX: number; - - /** - * The distance to move the cursor on the workspace. - * @type {number} - * @const - */ - var WS_MOVE_DISTANCE: number; - - /** - * Object holding default action names. - * @enum {string} - */ - enum actionNames { PREVIOUS, NEXT, IN, OUT, INSERT, MARK, DISCONNECT, TOOLBOX, EXIT, TOGGLE_KEYBOARD_NAV, MOVE_WS_CURSOR_UP, MOVE_WS_CURSOR_DOWN, MOVE_WS_CURSOR_LEFT, MOVE_WS_CURSOR_RIGHT } - - /** - * The name of the marker reserved for internal use. - * @type {string} - * @const - */ - var MARKER_NAME: string; - - /** - * Get the local marker. - * @return {Blockly.Marker} The local marker for the main workspace. - */ - function getMarker(): Blockly.Marker; - - /** - * Get the workspace that is being navigated. - * @return {!Blockly.WorkspaceSvg} The workspace being navigated. - * TODO: Remove this in favor or using passed in workspaces. - */ - function getNavigationWorkspace(): Blockly.WorkspaceSvg; - - /** - * If there is a marked connection try connecting the block from the flyout to - * that connection. If no connection has been marked then inserting will place - * it on the workspace. - * @param {!Blockly.WorkspaceSvg} workspace The main workspace. - */ - function insertFromFlyout(workspace: Blockly.WorkspaceSvg): void; - - /** - * Tries to connect the given block to the destination connection, making an - * intelligent guess about which connection to use to on the moving block. - * @param {!Blockly.BlockSvg} block The block to move. - * @param {!Blockly.RenderedConnection} destConnection The connection to connect - * to. - * @return {boolean} Whether the connection was successful. - */ - function insertBlock(block: Blockly.BlockSvg, destConnection: Blockly.RenderedConnection): boolean; - - /** - * Set the current navigation state. - * @param {number} newState The new navigation state. - * @package - */ - function setState(newState: number): void; - - /** - * Before a block is deleted move the cursor to the appropriate position. - * @param {!Blockly.BlockSvg} deletedBlock The block that is being deleted. - */ - function moveCursorOnBlockDelete(deletedBlock: Blockly.BlockSvg): void; - - /** - * When a block that the cursor is on is mutated move the cursor to the block - * level. - * @param {!Blockly.BlockSvg} mutatedBlock The block that is being mutated. - * @package - */ - function moveCursorOnBlockMutation(mutatedBlock: Blockly.BlockSvg): void; - - /** - * Enable accessibility mode. - */ - function enableKeyboardAccessibility(): void; - - /** - * Disable accessibility mode. - */ - function disableKeyboardAccessibility(): void; - - /** - * Keyboard shortcut to go to the previous location when in keyboard navigation - * mode. - */ - function registerPrevious(): void; - - /** - * Keyboard shortcut to go to the out location when in keyboard navigation - * mode. - */ - function registerOut(): void; - - /** - * Keyboard shortcut to go to the next location when in keyboard navigation - * mode. - */ - function registerNext(): void; - - /** - * Keyboard shortcut to go to the in location when in keyboard navigation mode. - */ - function registerIn(): void; - - /** - * Keyboard shortcut to connect a block to a marked location when in keyboard - * navigation mode. - */ - function registerInsert(): void; - - /** Keyboard shortcut to mark a location when in keyboard navigation mode. */ - function registerMark(): void; - - /** - * Keyboard shortcut to disconnect two blocks when in keyboard navigation mode. - */ - function registerDisconnect(): void; - - /** - * Keyboard shortcut to focus on the toolbox when in keyboard navigation mode. - */ - function registerToolboxFocus(): void; - - /** - * Keyboard shortcut to exit the current location and focus on the workspace - * when in keyboard navigation mode. - */ - function registerExit(): void; - - /** Keyboard shortcut to turn keyboard navigation on or off. */ - function registerToggleKeyboardNav(): void; - - /** - * Keyboard shortcut to move the cursor on the workspace to the left when in - * keyboard navigation mode. - */ - function registerWorkspaceMoveLeft(): void; - - /** - * Keyboard shortcut to move the cursor on the workspace to the right when in - * keyboard navigation mode. - */ - function registerWorkspaceMoveRight(): void; - - /** - * Keyboard shortcut to move the cursor on the workspace up when in keyboard - * navigation mode. - */ - function registerWorkspaceMoveUp(): void; - - /** - * Keyboard shortcut to move the cursor on the workspace down when in keyboard - * navigation mode. - */ - function registerWorkspaceMoveDown(): void; - - /** - * Registers all default keyboard shortcut items for keyboard navigation. This - * should be called once per instance of KeyboardShortcutRegistry. - * @package - */ - function registerNavigationShortcuts(): void; -} - - -declare module Blockly { - - class TabNavigateCursor extends TabNavigateCursor__Class { } - /** Fake class which should be extended to avoid inheriting static properties */ - class TabNavigateCursor__Class extends Blockly.BasicCursor__Class { - - /** - * A cursor for navigating between tab navigable fields. - * @constructor - * @extends {Blockly.BasicCursor} - */ - constructor(); - } - } @@ -15818,7 +16386,7 @@ declare module Blockly { class Toolbox extends Toolbox__Class { } /** Fake class which should be extended to avoid inheriting static properties */ - class Toolbox__Class implements Blockly.IBlocklyActionable, Blockly.IDeleteArea, Blockly.IStyleable, Blockly.IToolbox { + class Toolbox__Class implements Blockly.IKeyboardAccessible, Blockly.IDeleteArea, Blockly.IStyleable, Blockly.IToolbox { /** * Class for a Toolbox. @@ -15826,7 +16394,7 @@ declare module Blockly { * @param {!Blockly.WorkspaceSvg} workspace The workspace in which to create new * blocks. * @constructor - * @implements {Blockly.IBlocklyActionable} + * @implements {Blockly.IKeyboardAccessible} * @implements {Blockly.IDeleteArea} * @implements {Blockly.IStyleable} * @implements {Blockly.IToolbox} @@ -15918,10 +16486,18 @@ declare module Blockly { * Array holding info needed to unbind event handlers. * Used for disposing. * Ex: [[node, name, func], [node, name, func]]. - * @type {!Array} + * @type {!Array} * @protected */ - boundEvents_: Blockly.EventData[]; + boundEvents_: Blockly.browserEvents.Data[]; + + /** + * Handles the given keyboard shortcut. + * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} _shortcut The shortcut to be handled. + * @return {boolean} True if the shortcut has been handled, false otherwise. + * @public + */ + onShortcut(_shortcut: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; /** * Initializes the toolbox @@ -16198,15 +16774,6 @@ declare module Blockly { */ updateFlyout_(oldItem: Blockly.ISelectableToolboxItem, newItem: Blockly.ISelectableToolboxItem): void; - /** - * Handles the given Blockly action on a toolbox. - * This is only triggered when keyboard accessibility mode is enabled. - * @param {!Blockly.ShortcutRegistry.KeyboardShortcut} action The action to be handled. - * @return {boolean} True if the field handled the action, false otherwise. - * @package - */ - onBlocklyAction(action: Blockly.ShortcutRegistry.KeyboardShortcut): boolean; - /** * Disposes of this toolbox. * @public @@ -16863,6 +17430,15 @@ declare module Blockly.utils { * @return {boolean} Whether this rectangle contains given coordinate. */ contains(x: number, y: number): boolean; + + /** + * Tests whether this rectangle intersects the provided rectangle. + * Assumes that the coordinate system increases going down and left. + * @param {Blockly.utils.Rect} other The other rectangle to check for + * intersection with. + * @return {boolean} Whether this rectangle intersects the provided rectangle. + */ + intersects(other: Blockly.utils.Rect): boolean; } } @@ -17516,7 +18092,7 @@ declare module Blockly.utils.toolbox { var FLYOUT_TOOLBOX_KIND: any /*missing*/; /** - * Position of the the toolbox relative to the flyout. + * Position of the the toolbox and/or flyout relative to the workspace. * @enum {number} */ enum Position { TOP, BOTTOM, LEFT, RIGHT }