{"code":"(window.webpackJsonpGUI=window.webpackJsonpGUI||[]).push([[14],{1381:function(_,R,E){\"use strict\";function I(_,R,E){const I=E.Events.isEnabled();if(E.Events.disable(),R){_.editingTarget&&_.emitWorkspaceUpdate();const E=R.getFlyout();if(E){const _=E.getWorkspace();window.Blockly.Xml.clearWorkspaceAndLoadFromXml(window.Blockly.Xml.workspaceToDom(_),_),R.getToolbox().refreshSelection(),R.toolboxRefreshEnabled_=!0}}I&&E.Events.enable()}E.d(R,\"a\",(function(){return I}))},1555:function(_,R,E){\"use strict\";E.r(R),E.d(R,\"resources\",(function(){return N}));var I=E(1381);const N={\"userscript.js\":async function(_){let{addon:R,console:E}=_;var N=await R.tab.traps.getBlockly();!function(){const _=N.BlockSvg;var E=N.FieldDropdown.prototype.positionArrow,T=R.tab.traps.vm;const{GRID_UNIT:A}=_;function t(){!function(){let I=arguments.length>0&&void 0!==arguments[0]?arguments[0]:R.settings.get(\"paddingSize\"),T=arguments.length>1&&void 0!==arguments[1]?arguments[1]:R.settings.get(\"cornerSize\"),t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:R.settings.get(\"notchSize\"),D=I/100;T/=100,t/=100,_.SEP_SPACE_Y=2*A*D,_.MIN_BLOCK_X=16*A*D,_.MIN_BLOCK_X_OUTPUT=12*A*D,_.MIN_BLOCK_X_SHADOW_OUTPUT=10*A*D,_.MIN_BLOCK_Y=12*A*D,_.EXTRA_STATEMENT_ROW_Y=8*A*D,_.MIN_BLOCK_X_WITH_STATEMENT=40*A*D,_.MIN_BLOCK_Y_SINGLE_FIELD_OUTPUT=8*A*D,_.MIN_BLOCK_Y_REPORTER=10*A*D,_.MIN_STATEMENT_INPUT_HEIGHT=6*A*D,_.NOTCH_WIDTH=8*A*D,_.NOTCH_HEIGHT=2*A*D*t,_.NOTCH_START_PADDING=3*A,_.ICON_SEPARATOR_HEIGHT=10*A*D,_.NOTCH_PATH_LEFT=\"c 2,0 3,\"+1*t+\" 4,\"+2*t+\" l \"+4*D*t+\",\"+4*D*t+\" c 1,\"+1*t+\" 2,\"+2*t+\" 4,\"+2*t+\" h \"+24*(D-.5)+\" c 2,0 3,-\"+1*t+\" 4,-\"+2*t+\" l \"+4*D*t+\",\"+-4*D*t+\"c 1,-\"+1*t+\" 2,-\"+2*t+\" 4,-\"+2*t,_.NOTCH_PATH_RIGHT=\"h \"+(-4*(T-1)-5*(1-t))+\"c -2,0 -3,\"+1*t+\" -4,\"+2*t+\" l \"+-4*D*t+\",\"+4*D*t+\" c -1,\"+1*t+\" -2,\"+2*t+\" -4,\"+2*t+\" h \"+-24*(D-.5)+\" c -2,0 -3,-\"+1*t+\" -4,-\"+2*t+\" l \"+-4*D*t+\",\"+-4*D*t+\"c -1,-\"+1*t+\" -2,-\"+2*t+\" -4,-\"+2*t,_.INPUT_SHAPE_HEXAGONAL=\"M \"+4*A*D+\",0 h \"+4*A+\" l \"+4*A*D+\",\"+4*A*D+\" l \"+-4*A*D+\",\"+4*A*D+\" h \"+-4*A+\" l \"+-4*A*D+\",\"+-4*A*D+\" l \"+4*A*D+\",\"+-4*A*D+\" z\",_.INPUT_SHAPE_HEXAGONAL_WIDTH=12*A*D,_.INPUT_SHAPE_ROUND=\"M \"+4*A*D+\",0 h \"+4*A*D+\" a \"+4*A*D+\" \"+4*A*D+\" 0 0 1 0 \"+8*A*D+\" h \"+-4*A*D+\" a \"+4*A*D+\" \"+4*A*D+\" 0 0 1 0 -\"+8*A*D+\" z\",_.INPUT_SHAPE_ROUND_WIDTH=12*A*D,_.INPUT_SHAPE_HEIGHT=8*A*D,_.FIELD_HEIGHT=8*A*D,_.FIELD_WIDTH=6*A*Math.min(D,1)+10*A*Math.max(D-1,0),_.FIELD_DEFAULT_CORNER_RADIUS=4*A*D,_.EDITABLE_FIELD_PADDING=1.5*A*D,_.BOX_FIELD_PADDING=2*A*D,_.DROPDOWN_ARROW_PADDING=2*A*D,_.FIELD_WIDTH_MIN_EDIT=8*A*D,_.INPUT_AND_FIELD_MIN_X=12*A*D,_.INLINE_PADDING_Y=1*A*D,_.SHAPE_IN_SHAPE_PADDING[1][0]=5*A*D,_.SHAPE_IN_SHAPE_PADDING[1][2]=5*A*D,_.SHAPE_IN_SHAPE_PADDING[1][3]=5*A*D,N.FieldDropdown.prototype.positionArrow=function(R){return this.arrowY_=(_.FIELD_HEIGHT-12)/2+1,E.call(this,R)},_.CORNER_RADIUS=1*A*T*100/100,_.TOP_LEFT_CORNER_START=\"m 0,\"+_.CORNER_RADIUS,_.TOP_LEFT_CORNER=\"A \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS+\" 0 0,1 \"+_.CORNER_RADIUS+\",0\",_.TOP_RIGHT_CORNER=\"a \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS+\" 0 0,1 \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS,_.BOTTOM_RIGHT_CORNER=\" a \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS+\" 0 0,1 -\"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS,_.BOTTOM_LEFT_CORNER=\"a \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS+\" 0 0,1 -\"+_.CORNER_RADIUS+\",-\"+_.CORNER_RADIUS,_.INNER_TOP_LEFT_CORNER=\" a \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS+\" 0 0,0 -\"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS,_.INNER_BOTTOM_LEFT_CORNER=\"a \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS+\" 0 0,0 \"+_.CORNER_RADIUS+\",\"+_.CORNER_RADIUS,_.TOP_RIGHT_CORNER_DEFINE_HAT=\"a \"+_.DEFINE_HAT_CORNER_RADIUS+\",\"+_.DEFINE_HAT_CORNER_RADIUS+\" 0 0,1 \"+_.DEFINE_HAT_CORNER_RADIUS+\",\"+_.DEFINE_HAT_CORNER_RADIUS+\" v \"+(1*A-_.CORNER_RADIUS),_.STATEMENT_INPUT_INNER_SPACE=2.8*A-.9*A*T}(...arguments),Object(I.a)(T,R.tab.traps.getWorkspace(),N)}R.settings.addEventListener(\"change\",(()=>t())),R.self.addEventListener(\"disabled\",(()=>{t(100,100,100)})),R.self.addEventListener(\"reenabled\",(()=>t())),t()}(window.Blockly)}}}}]);","name":"js/pentapod/addon-entry-custom-block-shape.468eb49168648b0a58a4.js","input":"(window[\"webpackJsonpGUI\"] = window[\"webpackJsonpGUI\"] || []).push([[14],{\n\n/***/ 1381:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return updateAllBlocks; });\nfunction updateAllBlocks(vm, workspace, blockly) {\n const eventsOriginallyEnabled = blockly.Events.isEnabled();\n blockly.Events.disable(); // Clears workspace right-click→undo (see SA/SA#6691)\n\n if (workspace) {\n if (vm.editingTarget) {\n vm.emitWorkspaceUpdate();\n }\n const flyout = workspace.getFlyout();\n if (flyout) {\n const flyoutWorkspace = flyout.getWorkspace();\n window.Blockly.Xml.clearWorkspaceAndLoadFromXml(window.Blockly.Xml.workspaceToDom(flyoutWorkspace), flyoutWorkspace);\n workspace.getToolbox().refreshSelection();\n workspace.toolboxRefreshEnabled_ = true;\n }\n }\n\n // There's no particular reason for checking whether events were originally enabled.\n // Unconditionally enabling events at this point could, in theory, cause bugs in the future.\n if (eventsOriginallyEnabled) blockly.Events.enable(); // Re-enable events\n}\n\n/***/ }),\n\n/***/ 1555:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"resources\", function() { return /* binding */ resources; });\n\n// EXTERNAL MODULE: ./src/addons/addons/custom-block-shape/update-all-blocks.js\nvar update_all_blocks = __webpack_require__(1381);\n\n// CONCATENATED MODULE: ./src/addons/addons/custom-block-shape/userscript.js\n\n/* harmony default export */ var userscript = (async function (_ref) {\n let {\n addon,\n console\n } = _ref;\n var BlocklyInstance = await addon.tab.traps.getBlockly();\n (function (Blockly) {\n const BlockSvg = BlocklyInstance.BlockSvg;\n var originalDropdownObject = BlocklyInstance.FieldDropdown.prototype.positionArrow;\n var vm = addon.tab.traps.vm;\n const {\n GRID_UNIT\n } = BlockSvg;\n function applyChanges() {\n let paddingSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : addon.settings.get(\"paddingSize\");\n let cornerSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : addon.settings.get(\"cornerSize\");\n let notchSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : addon.settings.get(\"notchSize\");\n let multiplier = paddingSize / 100;\n cornerSize = cornerSize / 100;\n notchSize = notchSize / 100;\n BlockSvg.SEP_SPACE_Y = 2 * GRID_UNIT * multiplier;\n BlockSvg.MIN_BLOCK_X = 16 * GRID_UNIT * multiplier;\n BlockSvg.MIN_BLOCK_X_OUTPUT = 12 * GRID_UNIT * multiplier;\n BlockSvg.MIN_BLOCK_X_SHADOW_OUTPUT = 10 * GRID_UNIT * multiplier;\n BlockSvg.MIN_BLOCK_Y = 12 * GRID_UNIT * multiplier;\n BlockSvg.EXTRA_STATEMENT_ROW_Y = 8 * GRID_UNIT * multiplier;\n BlockSvg.MIN_BLOCK_X_WITH_STATEMENT = 40 * GRID_UNIT * multiplier;\n BlockSvg.MIN_BLOCK_Y_SINGLE_FIELD_OUTPUT = 8 * GRID_UNIT * multiplier;\n BlockSvg.MIN_BLOCK_Y_REPORTER = 10 * GRID_UNIT * multiplier;\n BlockSvg.MIN_STATEMENT_INPUT_HEIGHT = 6 * GRID_UNIT * multiplier;\n BlockSvg.NOTCH_WIDTH = 8 * GRID_UNIT * multiplier;\n BlockSvg.NOTCH_HEIGHT = 2 * GRID_UNIT * multiplier * notchSize;\n BlockSvg.NOTCH_START_PADDING = 3 * GRID_UNIT; //* multiplier\n BlockSvg.ICON_SEPARATOR_HEIGHT = 10 * GRID_UNIT * multiplier;\n BlockSvg.NOTCH_PATH_LEFT = \"c 2,0 3,\" + 1 * notchSize + \" 4,\" + 2 * notchSize + \" l \" + 4 * multiplier * notchSize + \",\" + 4 * multiplier * notchSize + \" c 1,\" + 1 * notchSize + \" 2,\" + 2 * notchSize + \" 4,\" + 2 * notchSize + \" h \" + 24 * (multiplier - 0.5) + \" c 2,0 3,-\" + 1 * notchSize + \" 4,-\" + 2 * notchSize + \" l \" + 4 * multiplier * notchSize + \",\" + -4 * multiplier * notchSize + \"c 1,-\" + 1 * notchSize + \" 2,-\" + 2 * notchSize + \" 4,-\" + 2 * notchSize;\n BlockSvg.NOTCH_PATH_RIGHT = \"h \" + (-4 * (cornerSize - 1) - 5 * (1 - notchSize)) + \"c -2,0 -3,\" + 1 * notchSize + \" -4,\" + 2 * notchSize + \" l \" + -4 * multiplier * notchSize + \",\" + 4 * multiplier * notchSize + \" c -1,\" + 1 * notchSize + \" -2,\" + 2 * notchSize + \" -4,\" + 2 * notchSize + \" h \" + -24 * (multiplier - 0.5) + \" c -2,0 -3,-\" + 1 * notchSize + \" -4,-\" + 2 * notchSize + \" l \" + -4 * multiplier * notchSize + \",\" + -4 * multiplier * notchSize + \"c -1,-\" + 1 * notchSize + \" -2,-\" + 2 * notchSize + \" -4,-\" + 2 * notchSize;\n BlockSvg.INPUT_SHAPE_HEXAGONAL = \"M \" + 4 * GRID_UNIT * multiplier + \",0 \" + \" h \" + 4 * GRID_UNIT + \" l \" + 4 * GRID_UNIT * multiplier + \",\" + 4 * GRID_UNIT * multiplier + \" l \" + -4 * GRID_UNIT * multiplier + \",\" + 4 * GRID_UNIT * multiplier + \" h \" + -4 * GRID_UNIT + \" l \" + -4 * GRID_UNIT * multiplier + \",\" + -4 * GRID_UNIT * multiplier + \" l \" + 4 * GRID_UNIT * multiplier + \",\" + -4 * GRID_UNIT * multiplier + \" z\";\n BlockSvg.INPUT_SHAPE_HEXAGONAL_WIDTH = 12 * GRID_UNIT * multiplier;\n BlockSvg.INPUT_SHAPE_ROUND = \"M \" + 4 * GRID_UNIT * multiplier + \",0\" + \" h \" + 4 * GRID_UNIT * multiplier + \" a \" + 4 * GRID_UNIT * multiplier + \" \" + 4 * GRID_UNIT * multiplier + \" 0 0 1 0 \" + 8 * GRID_UNIT * multiplier + \" h \" + -4 * GRID_UNIT * multiplier + \" a \" + 4 * GRID_UNIT * multiplier + \" \" + 4 * GRID_UNIT * multiplier + \" 0 0 1 0 -\" + 8 * GRID_UNIT * multiplier + \" z\";\n BlockSvg.INPUT_SHAPE_ROUND_WIDTH = 12 * GRID_UNIT * multiplier;\n BlockSvg.INPUT_SHAPE_HEIGHT = 8 * GRID_UNIT * multiplier;\n BlockSvg.FIELD_HEIGHT = 8 * GRID_UNIT * multiplier; // NOTE: Determines string input heights\n BlockSvg.FIELD_WIDTH = 6 * GRID_UNIT * Math.min(multiplier, 1) + 10 * GRID_UNIT * Math.max(multiplier - 1, 0);\n BlockSvg.FIELD_DEFAULT_CORNER_RADIUS = 4 * GRID_UNIT * multiplier;\n BlockSvg.EDITABLE_FIELD_PADDING = 1.5 * GRID_UNIT * multiplier;\n BlockSvg.BOX_FIELD_PADDING = 2 * GRID_UNIT * multiplier;\n BlockSvg.DROPDOWN_ARROW_PADDING = 2 * GRID_UNIT * multiplier;\n BlockSvg.FIELD_WIDTH_MIN_EDIT = 8 * GRID_UNIT * multiplier;\n BlockSvg.INPUT_AND_FIELD_MIN_X = 12 * GRID_UNIT * multiplier;\n BlockSvg.INLINE_PADDING_Y = 1 * GRID_UNIT * multiplier; // For when reporters are inside reporters\n BlockSvg.SHAPE_IN_SHAPE_PADDING[1][0] = 5 * GRID_UNIT * multiplier;\n BlockSvg.SHAPE_IN_SHAPE_PADDING[1][2] = 5 * GRID_UNIT * multiplier;\n BlockSvg.SHAPE_IN_SHAPE_PADDING[1][3] = 5 * GRID_UNIT * multiplier;\n BlocklyInstance.FieldDropdown.prototype.positionArrow = function (x) {\n const arrowHeight = 12;\n this.arrowY_ = (BlockSvg.FIELD_HEIGHT - arrowHeight) / 2 + 1;\n return originalDropdownObject.call(this, x);\n };\n\n // Corner setting\n BlockSvg.CORNER_RADIUS = 1 * GRID_UNIT * cornerSize * 100 / 100;\n BlockSvg.TOP_LEFT_CORNER_START = \"m 0,\" + BlockSvg.CORNER_RADIUS;\n BlockSvg.TOP_LEFT_CORNER = \"A \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS + \" 0 0,1 \" + BlockSvg.CORNER_RADIUS + \",0\";\n BlockSvg.TOP_RIGHT_CORNER = \"a \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS + \" 0 0,1 \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS;\n BlockSvg.BOTTOM_RIGHT_CORNER = \" a \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS + \" 0 0,1 -\" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS;\n BlockSvg.BOTTOM_LEFT_CORNER = \"a \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS + \" 0 0,1 -\" + BlockSvg.CORNER_RADIUS + \",-\" + BlockSvg.CORNER_RADIUS;\n BlockSvg.INNER_TOP_LEFT_CORNER = \" a \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS + \" 0 0,0 -\" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS;\n BlockSvg.INNER_BOTTOM_LEFT_CORNER = \"a \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS + \" 0 0,0 \" + BlockSvg.CORNER_RADIUS + \",\" + BlockSvg.CORNER_RADIUS;\n BlockSvg.TOP_RIGHT_CORNER_DEFINE_HAT = \"a \" + BlockSvg.DEFINE_HAT_CORNER_RADIUS + \",\" + BlockSvg.DEFINE_HAT_CORNER_RADIUS + \" 0 0,1 \" + BlockSvg.DEFINE_HAT_CORNER_RADIUS + \",\" + BlockSvg.DEFINE_HAT_CORNER_RADIUS + \" v \" + (1 * GRID_UNIT - BlockSvg.CORNER_RADIUS);\n BlockSvg.STATEMENT_INPUT_INNER_SPACE = 2.8 * GRID_UNIT - 0.9 * GRID_UNIT * cornerSize;\n }\n function applyAndUpdate() {\n applyChanges(...arguments);\n Object(update_all_blocks[\"a\" /* updateAllBlocks */])(vm, addon.tab.traps.getWorkspace(), BlocklyInstance);\n }\n addon.settings.addEventListener(\"change\", () => applyAndUpdate());\n addon.self.addEventListener(\"disabled\", () => {\n // Scratch 3.0 blocks\n applyAndUpdate(100, 100, 100);\n });\n addon.self.addEventListener(\"reenabled\", () => applyAndUpdate());\n applyAndUpdate();\n })(window.Blockly);\n});\n// CONCATENATED MODULE: ./src/addons/addons/custom-block-shape/_runtime_entry.js\n/* generated by pull.js */\n\nconst resources = {\n \"userscript.js\": userscript\n};\n\n/***/ })\n\n}]);","inputSourceMap":null}