(self.webpackChunk=self.webpackChunk||[]).push([[292],{55304:function(xt,$t,ne){"use strict";ne.d($t,{Z:function(){return je}});var y=ne(87462),se=ne(67294),Le={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},Ze=Le,Ie=ne(74643),Je=function(xe,ze){return se.createElement(Ie.Z,(0,y.Z)({},xe,{ref:ze,icon:Ze}))},je=se.forwardRef(Je)},24018:function(xt,$t,ne){"use strict";ne.d($t,{Z:function(){return je}});var y=ne(87462),se=ne(67294),Le={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"minus-circle",theme:"outlined"},Ze=Le,Ie=ne(74643),Je=function(xe,ze){return se.createElement(Ie.Z,(0,y.Z)({},xe,{ref:ze,icon:Ze}))},je=se.forwardRef(Je)},40043:function(xt,$t,ne){"use strict";ne.d($t,{Z:function(){return je}});var y=ne(87462),se=ne(67294),Le={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"plus-circle",theme:"outlined"},Ze=Le,Ie=ne(74643),Je=function(xe,ze){return se.createElement(Ie.Z,(0,y.Z)({},xe,{ref:ze,icon:Ze}))},je=se.forwardRef(Je)},71736:function(xt,$t){"use strict";$t.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},52654:function(xt,$t){"use strict";$t.Z={wrap:"wrap___ilWvf",deleteIcon:"deleteIcon___JBDG8",keywordTag:"keywordTag___iieCb",questionTitleEditorWrap:"questionTitleEditorWrap___MHB5s",choiceListWrap:"choiceListWrap___jB8b1",choiceWrap:"choiceWrap___QFkTc",choiceIndex:"choiceIndex___Mr2YO",judgementIndex:"judgementIndex___fUVWK",setAnswerBtn:"setAnswerBtn___Whox5",activeAnswer:"activeAnswer___fGU6Y",activeJudgementAnswer:"activeJudgementAnswer___wJv8P",actionWrapper:"actionWrapper___ERQ7k",addIcon:"addIcon___L9TE0",inputBorder:"inputBorder___Q5tRE",placeholder:"placeholder___p9sFY",blankInputNumberWrapper:"blankInputNumberWrapper___uEHb0",addBtn:"addBtn___WR5ZI",blankIndex:"blankIndex___x9Pny",baseInputWrapper:"baseInputWrapper___eVsG7",collapseWrapper:"collapseWrapper___ZTysU",panelHeader:"panelHeader___QSN9g",open:"open___B6FU9",close:"close___QX19r",hide:"hide___mn25n"}},62038:function(xt,$t){"use strict";$t.Z={flex_box_center:"flex_box_center___ycN2f",flex_space_between:"flex_space_between___LcS9e",flex_box_vertical_center:"flex_box_vertical_center___uwjPm",flex_box_center_end:"flex_box_center_end___Pc903",flex_box_column:"flex_box_column___AXEdv",bg:"bg___fm2Cw",title:"title___J3MCU",editIcon:"editIcon___i4Zll",titleLeft:"titleLeft___da61c",titleRight:"titleRight___EsdL6",formWrap:"formWrap___YTxC3",baseLineHeight:"baseLineHeight___TprCB",radioBtnWrapper:"radioBtnWrapper___Mt_XG",radiogroup:"radiogroup___EvkWh",easy:"easy___mSxtg",medium:"medium___NIaWN",hard:"hard___mddnD",baseFormItem:"baseFormItem___csbyb",cascaderPopup:"cascaderPopup___BttnF",selectdiv:"selectdiv___TAr4i",divitem:"divitem___iaXB2",bottmodiv:"bottmodiv___bmp6p",cancelBtn:"cancelBtn___Q4ZcL",confirmBtn:"confirmBtn___nRiCD",concat:"concat___jlPR1"}},31520:function(xt,$t,ne){"use strict";var y=ne(67294),se=Object.defineProperty,Le=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Je=(xe,ze,We)=>ze in xe?se(xe,ze,{enumerable:!0,configurable:!0,writable:!0,value:We}):xe[ze]=We,je=(xe,ze)=>{for(var We in ze||(ze={}))Ze.call(ze,We)&&Je(xe,We,ze[We]);if(Le)for(var We of Le(ze))Ie.call(ze,We)&&Je(xe,We,ze[We]);return xe};const Ye=xe=>React.createElement("svg",je({width:14,height:13,xmlns:"http://www.w3.org/2000/svg"},xe),React.createElement("title",null,"\u6D4B\u8BD5AI\u8BC4\u5206"),React.createElement("path",{d:"M5.19 1.488a2.133 2.133 0 0 1 3.62 0l.96 1.54a.25.25 0 0 0 .152.11l1.76.437a2.133 2.133 0 0 1 1.12 3.443l-1.234 1.465.136 1.912a2.133 2.133 0 0 1-1.823 2.263l-.152.016a2.133 2.133 0 0 1-.954-.15l-1.681-.683a.25.25 0 0 0-.188 0l-1.681.682a2.133 2.133 0 0 1-2.93-2.128l.13-1.81a.25.25 0 0 0-.058-.178L1.198 7.018a2.133 2.133 0 0 1 1.12-3.443l1.76-.436a.25.25 0 0 0 .152-.11Zm2.053.543a.633.633 0 0 0-.78.25l-.96 1.54a1.75 1.75 0 0 1-1.064.774l-1.761.436a.633.633 0 0 0-.332 1.022L3.514 7.44c.294.348.44.797.407 1.251l-.13 1.81a.633.633 0 0 0 .87.631l1.681-.682a1.75 1.75 0 0 1 1.316 0l1.681.682a.633.633 0 0 0 .87-.631l-.18-2.518 1.625-1.931a.633.633 0 0 0-.332-1.022l-1.761-.436a1.75 1.75 0 0 1-1.065-.774l-.959-1.54a.633.633 0 0 0-.203-.203Zm1.544 5.23a.75.75 0 0 1 .102 1.493l-.102.007H5.362a.75.75 0 0 1-.102-1.494l.102-.006h3.425Z",fill:"#3061D0",fillRule:"nonzero"}));$t.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUuMTkgMS40ODhhMi4xMzMgMi4xMzMgMCAwIDEgMy42MiAwbC45NiAxLjU0YS4yNS4yNSAwIDAgMCAuMTUyLjExbDEuNzYuNDM3YTIuMTMzIDIuMTMzIDAgMCAxIDEuMTIgMy40NDNsLTEuMjM0IDEuNDY1LjEzNiAxLjkxMmEyLjEzMyAyLjEzMyAwIDAgMS0xLjgyMyAyLjI2M2wtLjE1Mi4wMTZhMi4xMzMgMi4xMzMgMCAwIDEtLjk1NC0uMTVsLTEuNjgxLS42ODNhLjI1LjI1IDAgMCAwLS4xODggMGwtMS42ODEuNjgyYTIuMTMzIDIuMTMzIDAgMCAxLTIuOTMtMi4xMjhsLjEzLTEuODFhLjI1LjI1IDAgMCAwLS4wNTgtLjE3OEwxLjE5OCA3LjAxOGEyLjEzMyAyLjEzMyAwIDAgMSAxLjEyLTMuNDQzbDEuNzYtLjQzNmEuMjUuMjUgMCAwIDAgLjE1Mi0uMTFabTIuMDUzLjU0M2EuNjMzLjYzMyAwIDAgMC0uNzguMjVsLS45NiAxLjU0YTEuNzUgMS43NSAwIDAgMS0xLjA2NC43NzRsLTEuNzYxLjQzNmEuNjMzLjYzMyAwIDAgMC0uMzMyIDEuMDIyTDMuNTE0IDcuNDRjLjI5NC4zNDguNDQuNzk3LjQwNyAxLjI1MWwtLjEzIDEuODFhLjYzMy42MzMgMCAwIDAgLjg3LjYzMWwxLjY4MS0uNjgyYTEuNzUgMS43NSAwIDAgMSAxLjMxNiAwbDEuNjgxLjY4MmEuNjMzLjYzMyAwIDAgMCAuODctLjYzMWwtLjE4LTIuNTE4IDEuNjI1LTEuOTMxYS42MzMuNjMzIDAgMCAwLS4zMzItMS4wMjJsLTEuNzYxLS40MzZhMS43NSAxLjc1IDAgMCAxLTEuMDY1LS43NzRsLS45NTktMS41NGEuNjMzLjYzMyAwIDAgMC0uMjAzLS4yMDNabTEuNTQ0IDUuMjNhLjc1Ljc1IDAgMCAxIC4xMDIgMS40OTNsLS4xMDIuMDA3SDUuMzYyYS43NS43NSAwIDAgMS0uMTAyLTEuNDk0bC4xMDItLjAwNmgzLjQyNVoiIGZpbGw9IiMzMDYxRDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg=="},57971:function(xt,$t,ne){"use strict";var y=ne(67294),se=Object.defineProperty,Le=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Je=(xe,ze,We)=>ze in xe?se(xe,ze,{enumerable:!0,configurable:!0,writable:!0,value:We}):xe[ze]=We,je=(xe,ze)=>{for(var We in ze||(ze={}))Ze.call(ze,We)&&Je(xe,We,ze[We]);if(Le)for(var We of Le(ze))Ie.call(ze,We)&&Je(xe,We,ze[We]);return xe};const Ye=xe=>React.createElement("svg",je({className:"jiangxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},xe),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143z",fill:"#98BDF7"}),React.createElement("path",{d:"m248.686 803.182-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#145DFF"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#98BDF7"}));$t.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Im0yNDguNjg2IDgwMy4xODItNjUuODI5IDc1LjkyMlY2NTguMjg2aC03My4xNDN2MjIwLjgxOGwtNjUuODI4LTc1Ljk5NUwwIDg1MS4zODMgMTQ2LjI4NiAxMDI0IDI5Mi41NyA4NTEuNTN6IiBmaWxsPSIjMTQ1REZGIi8+PHBhdGggZD0iTTE0Ni4yODYgMCAwIDE1OC43Mmw0My44ODYgNTUuMjIzIDY1LjgyOC03NS45MjJ2MjI3LjY5M2g3My4xNDNWMTM4LjAyMWw2NS44MjkgNzUuOTIyIDQzLjg4NS01NS4yMjN6IiBmaWxsPSIjOThCREY3Ii8+PC9zdmc+"},36913:function(xt,$t,ne){"use strict";var y=ne(67294),se=Object.defineProperty,Le=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Je=(xe,ze,We)=>ze in xe?se(xe,ze,{enumerable:!0,configurable:!0,writable:!0,value:We}):xe[ze]=We,je=(xe,ze)=>{for(var We in ze||(ze={}))Ze.call(ze,We)&&Je(xe,We,ze[We]);if(Le)for(var We of Le(ze))Ie.call(ze,We)&&Je(xe,We,ze[We]);return xe};const Ye=xe=>React.createElement("svg",je({className:"shengxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},xe),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143zM248.686 803.182l-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#98BDF7"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#145DFF"}));$t.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzek0yNDguNjg2IDgwMy4xODJsLTY1LjgyOSA3NS45MjJWNjU4LjI4NmgtNzMuMTQzdjIyMC44MThsLTY1LjgyOC03NS45OTVMMCA4NTEuMzgzIDE0Ni4yODYgMTAyNCAyOTIuNTcgODUxLjUzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Ik0xNDYuMjg2IDAgMCAxNTguNzJsNDMuODg2IDU1LjIyMyA2NS44MjgtNzUuOTIydjIyNy42OTNoNzMuMTQzVjEzOC4wMjFsNjUuODI5IDc1LjkyMiA0My44ODUtNTUuMjIzeiIgZmlsbD0iIzE0NURGRiIvPjwvc3ZnPg=="},18023:function(){"use strict";function xt(me,E,a,x){a===void 0&&(a=0),x===void 0&&(x=1/0),this._name=me,this._defaultValue=E,this._minimum=a,this._maximum=x}Object.defineProperty(xt.prototype,"name",{get:function(){return this._name},set:function(me){if(typeof me!="string"||me==="")throw new Error("Shape name must be a valid string.");this._name=me}}),Object.defineProperty(xt.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(me){if(typeof me!="number"||isNaN(me))throw new Error("The default value must be a real number, not: "+me);this._defaultValue=me}}),Object.defineProperty(xt.prototype,"minimum",{get:function(){return this._minimum},set:function(me){if(typeof me!="number"||isNaN(me))throw new Error("Minimum must be a real number, not: "+me);this._minimum=me}}),Object.defineProperty(xt.prototype,"maximum",{get:function(){return this._maximum},set:function(me){if(typeof me!="number"||isNaN(me))throw new Error("Maximum must be a real number, not: "+me);this._maximum=me}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(me,E){var a=go.Shape._FigureParameters[me];return a?a[E]:null},go.Shape.setFigureParameter=function(me,E,a){if(!(a instanceof xt))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+a);if(a.defaultValuea.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+a.defaultValue);var x=go.Shape._FigureParameters[me];x||(x=[],go.Shape._FigureParameters[me]=x),x[E]=a};var $t=[];function ne(me,E){var a=$t.pop();return a===void 0?new go.Point(me,E):(a.x=me,a.y=E,a)}function y(){var me=$t.pop();return me===void 0?new go.Point:me}function se(me){$t.push(me)}function Le(me,E,a,x,b,z,ee,re,oe){oe||(oe=new go.Point);var le=me-a,Ee=b-ee,Ne=NaN,qe=NaN;if(le===0)if(Ee===0)me===a&&(Ne=me,qe=E);else{var He=(z-re)/Ee,Oe=z-He*b;Ne=me,qe=He*Ne+Oe}else if(Ee===0){var Te=(E-x)/le,Qe=E-Te*me;Ne=b,qe=Te*Ne+Qe}else{var Te=(E-x)/le,He=(z-re)/Ee,Qe=E-Te*me,Oe=z-He*b;Ne=(Oe-Qe)/(Te-He),qe=Te*Ne+Qe}return oe.x=Ne,oe.y=qe,oe}function Ze(me,E,a,x,b,z,ee,re,oe,le,Ee,Ne,qe,He){var Oe=1-oe,Te=oe,Qe=me*Oe+a*Te,Re=E*Oe+x*Te,ke=a*Oe+b*Te,Pe=x*Oe+z*Te,lt=b*Oe+ee*Te,ut=z*Oe+re*Te,Bt=Qe*Oe+ke*Te,Ft=Re*Oe+Pe*Te,yt=ke*Oe+lt*Te,Mt=Pe*Oe+ut*Te,Vt=Bt*Oe+yt*Te,mt=Ft*Oe+Mt*Te;le.x=Qe,le.y=Re,Ee.x=Bt,Ee.y=Ft,Ne.x=Vt,Ne.y=mt,qe.x=yt,qe.y=Mt,He.x=lt,He.y=ut}var Ie=new go.Spot(.156,.156),Je=new go.Spot(.844,.844),je=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new xt("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(me,E,a){var x=me?me.parameter1:NaN;(isNaN(x)||x<0)&&(x=5),x=Math.min(x,E/3),x=Math.min(x,a/3);var b=x*je,z=new go.Geometry().add(new go.PathFigure(x,0,!0).add(new go.PathSegment(go.PathSegment.Line,E-x,0)).add(new go.PathSegment(go.PathSegment.Bezier,E,x,E-b,0,E,b)).add(new go.PathSegment(go.PathSegment.Line,E,a-x)).add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E,a-b,E-b,a)).add(new go.PathSegment(go.PathSegment.Line,x,a)).add(new go.PathSegment(go.PathSegment.Bezier,0,a-x,b,a,0,a-b)).add(new go.PathSegment(go.PathSegment.Line,0,x)).add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,b,b,0).close()));return b>1&&(z.spot1=new go.Spot(0,0,b,b),z.spot2=new go.Spot(1,1,-b,-b)),z}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,.5*E,a).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(me,E,a){return new go.Geometry().add(new go.PathFigure(E,a).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(me,E,a){return new go.Geometry().add(new go.PathFigure(E,a).add(new go.PathSegment(go.PathSegment.Line,0,a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(me,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=a/2,x.endX=E,x.endY=a/2,x}),go.Shape.defineFigureGenerator("LineV",function(me,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=E/2,x.startY=0,x.endX=E/2,x.endY=a,x}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,a/2,!1).add(new go.PathSegment(go.PathSegment.Line,E,a/2)).add(new go.PathSegment(go.PathSegment.Move,E/2,0)).add(new go.PathSegment(go.PathSegment.Line,E/2,a)))}),go.Shape.defineFigureGenerator("XLine",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)))}),go.Shape.defineFigureGenerator("LineRight",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.25*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.25*E,a)))}),go.Shape.defineFigureGenerator("LineDown",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,.25*a,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,.75*a)).add(new go.PathSegment(go.PathSegment.Line,E,.25*a)))}),go.Shape.defineFigureGenerator("LineLeft",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.75*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.75*E,a)))}),go.Shape.defineFigureGenerator("LineUp",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,.75*a,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,.25*a)).add(new go.PathSegment(go.PathSegment.Line,E,.75*a)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(me,E,a){var x=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(x*E,(1-x)*a,!1).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,x*a)).add(new go.PathSegment(go.PathSegment.Move,x*E,x*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,(1-x)*a)).add(new go.PathSegment(go.PathSegment.Move,0,a/2)).add(new go.PathSegment(go.PathSegment.Line,E,a/2)).add(new go.PathSegment(go.PathSegment.Move,E/2,0)).add(new go.PathSegment(go.PathSegment.Line,E/2,a)))}),go.Shape.defineFigureGenerator("CircleLine",function(me,E,a){var x=E/2,b=new go.Geometry().add(new go.PathFigure(E,E/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,x,x,x,x).close()));return b.spot1=Ie,b.spot2=Je,b.defaultStretch=go.GraphObject.Uniform,b}),go.Shape.defineFigureGenerator("Line1",function(me,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=0,x.endX=E,x.endY=a,x}),go.Shape.defineFigureGenerator("Line2",function(me,E,a){var x=new go.Geometry(go.Geometry.Line);return x.startX=E,x.startY=0,x.endX=0,x.endY=a,x}),go.Shape.defineFigureGenerator("Curve1",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,E,a,je*E,0,E,(1-je)*a)))}),go.Shape.defineFigureGenerator("Curve2",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,E,a,0,je*a,(1-je)*E,a)))}),go.Shape.defineFigureGenerator("Curve3",function(me,E,a){return new go.Geometry().add(new go.PathFigure(E,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,a,E,je*a,je*E,a)))}),go.Shape.defineFigureGenerator("Curve4",function(me,E,a){return new go.Geometry().add(new go.PathFigure(E,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,a,(1-je)*E,0,0,(1-je)*a)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(me,E,a){return new go.Geometry().add(new go.PathFigure(E,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new xt("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)?x=.1:x<-1?x=-1:x>1&&(x=1);var b=Math.abs(x)*E;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-b,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E-b,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,b,a).close())),bE&&(x=E);var b=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-b,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E-b,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,b,a).close())),b.5&&(x=.5);var b=Math.abs(x)*E;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,E-b,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-b,a)).add(new go.PathSegment(go.PathSegment.Line,b,a).close())),bE&&(x=E/2);var b=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,E-b,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-b,a)).add(new go.PathSegment(go.PathSegment.Line,b,a).close())),bE&&(x=E/2);var b=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=E,z.endY=a,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E-b,a)).add(new go.PathSegment(go.PathSegment.Line,b,a).close())):z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,E-b,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close())),b0&&(ee.add(new go.PathSegment(go.PathSegment.Move,E/2+re,E/2)),ee.add(new go.PathSegment(go.PathSegment.Arc,0,-360,b,b,re,re).close())),z.spot1=Ie,z.spot2=Je,z.defaultStretch=go.GraphObject.Uniform,z}),go.Shape.defineFigureGenerator("Cloud",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.08034461*E,.1944299*a,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*E,.05349299*a,-.09239631*E,.07836421*a,.1406031*E,-.0542823*a)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*E,.074219*a,.2450511*E,-.00697547*a,.3776197*E,-.01112067*a)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*E,.07004196*a,.4539471*E,0,.6066018*E,-.02526587*a)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*E,.08370865*a,.6914277*E,-.01904177*a,.8921095*E,-.01220843*a)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*E,.3194596*a,1.036446*E,.04105738*a,1.020377*E,.3022052*a)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*E,.562044*a,1.04448*E,.360238*a,.992256*E,.5219009*a)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*E,.8217117*a,1.032337*E,.5771781*a,1.018411*E,.8120651*a)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*E,.9156953*a,1.028411*E,.9571472*a,.8556702*E,1.052487*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*E,.9310455*a,.7431877*E,1.009325*a,.5624123*E,1.021761*a)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*E,.9344623*a,.4820677*E,1.031761*a,.3030112*E,1.002796*a)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*E,.870098*a,.2329994*E,1.01518*a,.03213784*E,1.01518*a)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*E,.6545475*a,-.02812061*E,.9032597*a,-.01205169*E,.6835638*a)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*E,.4265613*a,-.01812061*E,.6089503*a,-.00606892*E,.4555777*a)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*E,.1944299*a,-.01606892*E,.3892545*a,-.01205169*E,.1944299*a))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(me,E,a){var x=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(x*E,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,0)).add(new go.PathSegment(go.PathSegment.Line,E,x*a)).add(new go.PathSegment(go.PathSegment.Line,E,(1-x)*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,a)).add(new go.PathSegment(go.PathSegment.Line,x*E,a)).add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*a)).add(new go.PathSegment(go.PathSegment.Line,0,x*a).close())).setSpots(x/2,x/2,1-x/2,1-x/2)}),go.Shape.setFigureParameter("Pie",0,new xt("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new xt("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(me,E,a){var x=me?me.parameter1:NaN,b=me?me.parameter2:NaN;isNaN(x)&&(x=0),isNaN(b)&&(b=315);var z=x%360;z<0&&(z+=360);var ee=b%360,re=Math.min(E,a)/2;return new go.Geometry().add(new go.PathFigure(re,re).add(new go.PathSegment(go.PathSegment.Arc,z,ee,re,re,re,re).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(me,E,a){var x=je/Math.SQRT2*.5,b=Math.SQRT2/2,z=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(E,a,!0).add(new go.PathSegment(go.PathSegment.Bezier,b*E,z*a,E,(1-x)*a,(b+x)*E,(z+x)*a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close()))}),go.Shape.setFigureParameter("ThickCross",0,new xt("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(me,E,a){var x=me?me.parameter1:NaN;(isNaN(x)||x<0)&&(x=30);var b=Math.min(x,E)/2,z=E/2,ee=a/2;return new go.Geometry().add(new go.PathFigure(z-b,0,!0).add(new go.PathSegment(go.PathSegment.Line,z+b,0)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee-b)).add(new go.PathSegment(go.PathSegment.Line,E,ee-b)).add(new go.PathSegment(go.PathSegment.Line,E,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,a)).add(new go.PathSegment(go.PathSegment.Line,z-b,a)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee-b)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee-b).close()))}),go.Shape.setFigureParameter("ThinCross",0,new xt("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(me,E,a){var x=me?me.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var b=Math.min(x,E)/2,z=E/2,ee=a/2;return new go.Geometry().add(new go.PathFigure(z-b,0,!0).add(new go.PathSegment(go.PathSegment.Line,z+b,0)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee-b)).add(new go.PathSegment(go.PathSegment.Line,E,ee-b)).add(new go.PathSegment(go.PathSegment.Line,E,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,a)).add(new go.PathSegment(go.PathSegment.Line,z-b,a)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee-b)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee-b).close()))}),go.Shape.setFigureParameter("ThickX",0,new xt("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(me,E,a){var x=me?me.parameter1:NaN;if((isNaN(x)||x<0)&&(x=30),E===0||a===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=E,b.endY=a,b}else{var z=E/2,ee=a/2,re=Math.atan2(a,E),oe=x-Math.min(Math.cos(re)*x/2,z),le=x-Math.min(Math.sin(re)*x/2,ee),b=new go.Geometry,Ee=new go.PathFigure(oe,0,!0);return b.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Line,z,.2*a)),Ee.add(new go.PathSegment(go.PathSegment.Line,E-oe,0)),Ee.add(new go.PathSegment(go.PathSegment.Line,E,le)),Ee.add(new go.PathSegment(go.PathSegment.Line,.8*E,ee)),Ee.add(new go.PathSegment(go.PathSegment.Line,E,a-le)),Ee.add(new go.PathSegment(go.PathSegment.Line,E-oe,a)),Ee.add(new go.PathSegment(go.PathSegment.Line,z,.8*a)),Ee.add(new go.PathSegment(go.PathSegment.Line,oe,a)),Ee.add(new go.PathSegment(go.PathSegment.Line,0,a-le)),Ee.add(new go.PathSegment(go.PathSegment.Line,.2*E,ee)),Ee.add(new go.PathSegment(go.PathSegment.Line,0,le).close()),b}}),go.Shape.setFigureParameter("ThinX",0,new xt("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(me,E,a){var x=me?me.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var b=new go.Geometry,z=new go.PathFigure(.1*E,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.9*a)),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.1*a).close()),b}),go.Shape.setFigureParameter("SquareIBeam",0,new xt("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.2);var b=new go.Geometry,z=new go.PathFigure(0,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*E,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*E,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*E,(1-x)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*E,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*a).close()),b}),go.Shape.setFigureParameter("RoundedIBeam",0,new xt("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.5);var b=new go.Geometry,z=new go.PathFigure(0,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,E,a,Math.abs(1-x)*E,.25*a,Math.abs(1-x)*E,.75*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*E,.75*a,x*E,.25*a).close()),b}),go.Shape.defineFigureGenerator("HalfEllipse",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,je*E,0,E,(.5-je/2)*a)).add(new go.PathSegment(go.PathSegment.Bezier,0,a,E,(.5+je/2)*a,je*E,a).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,a,E,0,E,a)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*E,.75*a,.5*E,.25*a).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,a,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*a,.1*E,.8*a,0,.5*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.3*a,0,0,.45*E,0)).add(new go.PathSegment(go.PathSegment.Bezier,E,.3*a,.55*E,0,E,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,.5*a,.9*E,.8*a).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*E,.01*a)).add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,.6*E,.2*a,E,.25*a)).add(new go.PathSegment(go.PathSegment.Bezier,.55*E,.7*a,E,.8*a,.6*E,.8*a)).add(new go.PathSegment(go.PathSegment.Bezier,.75*E,a,.5*E,.75*a,.55*E,.95*a)).add(new go.PathSegment(go.PathSegment.Line,.25*E,a)).add(new go.PathSegment(go.PathSegment.Bezier,.45*E,.7*a,.45*E,.95*a,.5*E,.75*a)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,.4*E,.8*a,0,.8*a)).add(new go.PathSegment(go.PathSegment.Bezier,.49*E,.01*a,0,.25*a,.4*E,.2*a).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.4*E,.6*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.15*E,a,.5*E,.75*a,.45*E,.95*a)),b.add(new go.PathSegment(go.PathSegment.Line,.85*E,a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.6*E,.6*a,.55*E,.95*a,.5*E,.75*a));var z=.2,ee=.3,re=0,oe=z*je;return b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*E,(.5+z+re)*a,(.5-z+ee)*E,(.5+oe+re)*a,(.5-oe+ee)*E,(.5+z+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ee)*E,(.5+re)*a,(.5+oe+ee)*E,(.5+z+re)*a,(.5+z+ee)*E,(.5+oe+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*E,(.5-z+re)*a,(1-.5+z+ee)*E,(.5-oe+re)*a,(.5+oe+ee)*E,(.5-z+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.65*E,.36771243*a,(.5-oe+ee)*E,(.5-z+re)*a,(.5-z+ee+.05)*E,(.5-oe+re-.02)*a)),z=.2,ee=0,re=-.3,oe=z*je,b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ee)*E,(.5+re)*a,(.5+oe+ee)*E,(.5+z+re)*a,(.5+z+ee)*E,(.5+oe+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*E,(.5-z+re)*a,(1-.5+z+ee)*E,(.5-oe+re)*a,(.5+oe+ee)*E,(.5-z+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ee)*E,(.5+re)*a,(.5-oe+ee)*E,(.5-z+re)*a,(.5-z+ee)*E,(.5-oe+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-oe+ee)*E,(.5+z+re)*a,(.5-z+ee)*E,(.5+oe+re)*a,(.5-oe+ee)*E,(.5+z+re)*a)),z=.2,ee=-.3,re=0,oe=z*je,b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*E,(.5-z+re)*a,(1-.5+z+ee-.05)*E,(.5-oe+re-.02)*a,(.5+oe+ee)*E,(.5-z+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ee)*E,(.5+re)*a,(.5-oe+ee)*E,(.5-z+re)*a,(.5-z+ee)*E,(.5-oe+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*E,(.5+z+re)*a,(.5-z+ee)*E,(.5+oe+re)*a,(.5-oe+ee)*E,(.5+z+re)*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,.6*a,(.5+oe+ee)*E,(.5+z+re)*a,(.5+z+ee)*E,(.5+oe+re)*a).close()),x.setSpots(.06,.33,.93,.68),x}),go.Shape.defineFigureGenerator("YinYang",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*.5,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,E*.5,E*.5,E*.5,E*.5)),b.add(new go.PathSegment(go.PathSegment.Arc,90,-180,E*.5,E*.75,E*.25,E*.25)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,E*.5,E*.25,E*.25,E*.25));var z=.1,ee=.5,re=.25;return b.add(new go.PathSegment(go.PathSegment.Move,(ee+z)*E,re*a)),b.add(new go.PathSegment(go.PathSegment.Arc,0,-360,E*ee,a*re,z*E,z*E).close()),b=new go.PathFigure(E*.5,0,!1),x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,-180,E*.5,E*.5,E*.5,E*.5)),re=.75,b=new go.PathFigure((ee+z)*E,re*a,!0),x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,0,360,E*ee,a*re,z*E,z*E).close()),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Peace",function(me,E,a){var x=.8535533905932737,b=.5*E,z=.5*a;return new go.Geometry().add(new go.PathFigure(b,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,b,z,b,z)).add(new go.PathSegment(go.PathSegment.Line,b,a)).add(new go.PathSegment(go.PathSegment.Move,b,z)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,x*a)).add(new go.PathSegment(go.PathSegment.Move,b,z)).add(new go.PathSegment(go.PathSegment.Line,x*E,x*a)))}),go.Shape.defineFigureGenerator("NotAllowed",function(me,E,a){var x=new go.Geometry,b=je*.5,z=.5,ee=.5,re=.5,oe=new go.PathFigure(ee*E,(re-z)*a);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-z)*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a)),z=.4,b=je*.4;var le=y(),Ee=y(),Ne=y(),qe=y();Ze(ee,re-z,ee+b,re-z,ee+z,re-b,ee+z,re,.42,le,Ee,Ne,qe,qe);var He=y(),Oe=y(),Te=y();Ze(ee,re-z,ee+b,re-z,ee+z,re-b,ee+z,re,.58,qe,qe,Te,He,Oe);var Qe=y(),Re=y(),ke=y();Ze(ee,re+z,ee-b,re+z,ee-z,re+b,ee-z,re,.42,Qe,Re,ke,qe,qe);var Pe=y(),lt=y(),ut=y();return Ze(ee,re+z,ee-b,re+z,ee-z,re+b,ee-z,re,.58,qe,qe,ut,Pe,lt),oe.add(new go.PathSegment(go.PathSegment.Move,ut.x*E,ut.y*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,Pe.x*E,Pe.y*a,lt.x*E,lt.y*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-z)*a,(ee-z)*E,(re-b)*a,(ee-b)*E,(re-z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,Ne.x*E,Ne.y*a,le.x*E,le.y*a,Ee.x*E,Ee.y*a)),oe.add(new go.PathSegment(go.PathSegment.Line,ut.x*E,ut.y*a).close()),oe.add(new go.PathSegment(go.PathSegment.Move,ke.x*E,ke.y*a)),oe.add(new go.PathSegment(go.PathSegment.Line,Te.x*E,Te.y*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,He.x*E,He.y*a,Oe.x*E,Oe.y*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee+z)*E,(re+b)*a,(ee+b)*E,(re+z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ke.x*E,ke.y*a,Qe.x*E,Qe.y*a,Re.x*E,Re.y*a).close()),se(le),se(Ee),se(Ne),se(qe),se(He),se(Oe),se(Te),se(Qe),se(Re),se(ke),se(Pe),se(lt),se(ut),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Fragile",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*E,0)).add(new go.PathSegment(go.PathSegment.Line,.2*E,.15*a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.25*a)).add(new go.PathSegment(go.PathSegment.Line,.29*E,.33*a)).add(new go.PathSegment(go.PathSegment.Line,.35*E,.25*a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.15*a)).add(new go.PathSegment(go.PathSegment.Line,.4*E,0)).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*E,.5*a,E,.25*a,.75*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.55*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,a)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.45*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.45*E,.5*a)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.5*a,0,.25*a).close()))}),go.Shape.setFigureParameter("HourGlass",0,new xt("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(me,E,a){var x=me?me.parameter1:NaN;(isNaN(x)||x<0)&&(x=30),x>E&&(x=E);var b=(E-x)/2,z=b+x;return new go.Geometry().add(new go.PathFigure(z,.5*a).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a)).add(new go.PathSegment(go.PathSegment.Line,b,.5*a)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,E,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,.55*a).add(new go.PathSegment(go.PathSegment.Line,.6*E,0)).add(new go.PathSegment(go.PathSegment.Line,.3*E,.45*a)).add(new go.PathSegment(go.PathSegment.Line,E,.45*a)).add(new go.PathSegment(go.PathSegment.Line,.4*E,a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.55*a).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(me,E,a){var x=new go.Geometry,b=je*.4,z=.4,ee=.5,re=.5,oe=y(),le=y(),Ee=y(),Ne=y(),qe=new go.PathFigure((ee-z)*E,re*a,!1);x.add(qe),qe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-z)*a,(ee-z)*E,(re-b)*a,(ee-b)*E,(re-z)*a)),Ze(ee,re-z,ee+b,re-z,ee+z,re-b,ee+z,re,.44,Ee,Ne,le,oe,oe),qe.add(new go.PathSegment(go.PathSegment.Bezier,le.x*E,le.y*a,Ee.x*E,Ee.y*a,Ne.x*E,Ne.y*a));var He=ne(le.x,le.y);Ze(ee,re-z,ee+b,re-z,ee+z,re-b,ee+z,re,.56,oe,oe,le,Ee,Ne);var Oe=ne(le.x,le.y);qe.add(new go.PathSegment(go.PathSegment.Line,(He.x*.1+.95*.9)*E,He.y*.1*a)),qe.add(new go.PathSegment(go.PathSegment.Line,.85*E,He.y*.1*a)),qe.add(new go.PathSegment(go.PathSegment.Line,.85*E,0)),qe.add(new go.PathSegment(go.PathSegment.Line,E,0)),qe.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),qe.add(new go.PathSegment(go.PathSegment.Line,(Oe.x*.1+.9)*E,.15*a)),qe.add(new go.PathSegment(go.PathSegment.Line,(Oe.x*.1+.9)*E,(Oe.y*.1+.05*.9)*a)),qe.add(new go.PathSegment(go.PathSegment.Line,Oe.x*E,Oe.y*a)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,Ee.x*E,Ee.y*a,Ne.x*E,Ne.y*a)),qe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee+z)*E,(re+b)*a,(ee+b)*E,(re+z)*a)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,(ee-b)*E,(re+z)*a,(ee-z)*E,(re+b)*a)),z=.35,b=je*.35;var Te=new go.PathFigure(ee*E,(re-z)*a,!1);x.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),Te.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a)),Te.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),Te.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-z)*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a));var Qe=new go.PathFigure((ee-z)*E,re*a,!1);return x.add(Qe),se(oe),se(le),se(Ee),se(Ne),se(He),se(Oe),x.spot1=new go.Spot(.202,.257),x.spot2=new go.Spot(.792,.739),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("GenderFemale",function(me,E,a){var x=new go.Geometry,b=.375,z=0,ee=-.125,re=b*je,oe=new go.PathFigure((.525+z)*E,(.5+b+ee)*a,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*E,(.5+ee)*a,(.5+re+z)*E,(.5+b+ee)*a,(.5+b+z)*E,(.5+re+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*E,(.5-b+ee)*a,(1-.5+b+z)*E,(.5-re+ee)*a,(.5+re+z)*E,(.5-b+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*E,(.5+ee)*a,(.5-re+z)*E,(.5-b+ee)*a,(.5-b+z)*E,(.5-re+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.475+z)*E,(.5+b+ee)*a,(.5-b+z)*E,(.5+re+ee)*a,(.5-re+z)*E,(.5+b+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.475*E,.85*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.425*E,.85*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.425*E,.9*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.475*E,.9*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.475*E,a)),oe.add(new go.PathSegment(go.PathSegment.Line,.525*E,a)),oe.add(new go.PathSegment(go.PathSegment.Line,.525*E,.9*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.575*E,.9*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.575*E,.85*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.525*E,.85*a).close()),b=.325,z=0,ee=-.125,re=b*je;var oe=new go.PathFigure((1-.5+b+z)*E,(.5+ee)*a,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*E,(.5+b+ee)*a,(.5+b+z)*E,(.5+re+ee)*a,(.5+re+z)*E,(.5+b+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*E,(.5+ee)*a,(.5-re+z)*E,(.5+b+ee)*a,(.5-b+z)*E,(.5+re+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*E,(.5-b+ee)*a,(.5-b+z)*E,(.5-re+ee)*a,(.5-re+z)*E,(.5-b+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*E,(.5+ee)*a,(.5+re+z)*E,(.5-b+ee)*a,(1-.5+b+z)*E,(.5-re+ee)*a));var oe=new go.PathFigure((.525+z)*E,(.5+b+ee)*a,!1);return x.add(oe),x.spot1=new go.Spot(.232,.136),x.spot2=new go.Spot(.682,.611),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicImplies",function(me,E,a){var x=me?me.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,a)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(me,E,a){var x=me?me.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*E,a)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Move,x*E,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,x*E,a))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)))}),go.Shape.defineFigureGenerator("LogicAnd",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,E,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(me,E,a){var x=new go.Geometry().add(new go.PathFigure(.5*E,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*E,.5*a,.5*E,.5*a)));return x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicTruth",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,.5*E,0)).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Move,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,0,.5*a)).add(new go.PathSegment(go.PathSegment.Move,E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a)))}),go.Shape.defineFigureGenerator("LogicForAll",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*E,a)).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,.25*E,.5*a)).add(new go.PathSegment(go.PathSegment.Line,.75*E,.5*a))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*a)).add(new go.PathSegment(go.PathSegment.Line,E,.5*a)).add(new go.PathSegment(go.PathSegment.Move,0,a)).add(new go.PathSegment(go.PathSegment.Line,E,a))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(me,E,a){var x=.5;return new go.Geometry().add(new go.PathFigure(0,a,!1).add(new go.PathSegment(go.PathSegment.Line,0,x*a)).add(new go.PathSegment(go.PathSegment.Arc,180,180,x*E,x*a,x*E,x*a)).add(new go.PathSegment(go.PathSegment.Line,E,a))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(me,E,a){var x=.5;return new go.Geometry().add(new go.PathFigure(E,0,!1).add(new go.PathSegment(go.PathSegment.Line,E,x*a)).add(new go.PathSegment(go.PathSegment.Arc,0,180,x*E,x*a,x*E,x*a)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new xt("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new xt("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.3);var b=me?me.parameter2:NaN;isNaN(b)&&(b=.3);var z=(1-x)*E,ee=(.5-b/2)*a,re=(.5+b/2)*a,oe=new go.Geometry,le=new go.PathFigure(0,ee,!0);oe.add(le),le.add(new go.PathSegment(go.PathSegment.Line,z,ee)),le.add(new go.PathSegment(go.PathSegment.Line,z,0)),le.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),le.add(new go.PathSegment(go.PathSegment.Line,z,a)),le.add(new go.PathSegment(go.PathSegment.Line,z,re)),le.add(new go.PathSegment(go.PathSegment.Line,0,re).close()),oe.spot1=new go.Spot(0,ee/a);var Ee=Le(0,re/a,1,re/a,z/E,1,1,.5,y());return oe.spot2=new go.Spot(Ee.x,Ee.y),se(Ee),oe}),go.Shape.setFigureParameter("Arrow2",0,new xt("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new xt("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=30),x>E&&(x=E);var b=me?me.parameter2:NaN;isNaN(b)&&(b=30),b=Math.min(b,a/2);var z=E-x,ee=(a-b)/2,re=ee+b,oe=new go.Geometry,le=new go.PathFigure(0,ee,!0);oe.add(le),le.add(new go.PathSegment(go.PathSegment.Line,z,ee)),le.add(new go.PathSegment(go.PathSegment.Line,z,0)),le.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),le.add(new go.PathSegment(go.PathSegment.Line,z,a)),le.add(new go.PathSegment(go.PathSegment.Line,z,re)),le.add(new go.PathSegment(go.PathSegment.Line,0,re).close()),oe.spot1=new go.Spot(0,ee/a);var Ee=Le(0,re/a,1,re/a,z/E,1,1,.5,y());return oe.spot2=new go.Spot(Ee.x,Ee.y),se(Ee),oe}),go.Shape.defineFigureGenerator("Chevron",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a).close()),x}),go.Shape.defineFigureGenerator("DoubleArrow",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,.214*a)),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,1*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,1*a)),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,.786*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,1*a).close()),x}),go.Shape.setFigureParameter("DoubleEndArrow",0,new xt("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.3);var b=(.5-x/2)*a,z=(.5+x/2)*a,ee=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ee.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,0,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,0)),re.add(new go.PathSegment(go.PathSegment.Line,.3*E,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close());var oe=Le(0,.5,.3,0,0,b/a,.1,b/a,y());return ee.spot1=new go.Spot(oe.x,oe.y),oe=Le(.7,1,1,.5,0,z/a,1,z/a,oe),ee.spot2=new go.Spot(oe.x,oe.y),se(oe),ee}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new xt("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new xt("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=40);var b=me?me.parameter2:NaN;isNaN(b)&&(b=100);var z=(a-x)/2,ee=z+x,re=(a-b)/2,oe=re+b;(x>a||b>a)&&(b>x?(x=x*a/b,z=(a-x)/2,ee=z+x,re=0,oe=a):(z=0,ee=a,re=0,oe=a));var le=new go.Geometry,Ee=new go.PathFigure(E,.5*a,!0);le.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,oe)),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,ee)),Ee.add(new go.PathSegment(go.PathSegment.Line,.3*E,ee)),Ee.add(new go.PathSegment(go.PathSegment.Line,.3*E,oe)),Ee.add(new go.PathSegment(go.PathSegment.Line,0,.5*a)),Ee.add(new go.PathSegment(go.PathSegment.Line,.3*E,re)),Ee.add(new go.PathSegment(go.PathSegment.Line,.3*E,z)),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,re).close());var Ne=Le(0,.5,.3,re/a,0,z/a,1,z/a,y());return le.spot1=new go.Spot(Ne.x,Ne.y),Ne=Le(.7,oe/a,1,.5,0,ee/a,1,ee/a,Ne),le.spot2=new go.Spot(Ne.x,Ne.y),se(Ne),le}),go.Shape.setFigureParameter("IBeamArrow",0,new xt("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.3);var b=(.5-x/2)*a,z=(.5+x/2)*a,ee=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ee.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,0,a)),re.add(new go.PathSegment(go.PathSegment.Line,0,0)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,0)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close()),ee.spot1=new go.Spot(0,b/a);var oe=Le(.7,1,1,.5,0,z/a,1,z/a,y());return ee.spot2=new go.Spot(oe.x,oe.y),se(oe),ee}),go.Shape.setFigureParameter("IBeamArrow2",0,new xt("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new xt("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=40);var b=me?me.parameter2:NaN;isNaN(b)&&(b=100);var z=(a-x)/2,ee=z+x,re=(a-b)/2,oe=re+b;(x>a||b>a)&&(b>x?(x=x*a/b,z=(a-x)/2,ee=z+x,re=0,oe=a):(z=0,ee=a,re=0,oe=a));var le=new go.Geometry,Ee=new go.PathFigure(E,.5*a,!0);le.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,oe)),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,ee)),Ee.add(new go.PathSegment(go.PathSegment.Line,.2*E,ee)),Ee.add(new go.PathSegment(go.PathSegment.Line,.2*E,oe)),Ee.add(new go.PathSegment(go.PathSegment.Line,0,oe)),Ee.add(new go.PathSegment(go.PathSegment.Line,0,re)),Ee.add(new go.PathSegment(go.PathSegment.Line,.2*E,re)),Ee.add(new go.PathSegment(go.PathSegment.Line,.2*E,z)),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),Ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,re).close()),le.spot1=new go.Spot(0,z/a);var Ne=Le(.7,oe/a,1,.5,0,ee/a,1,ee/a,y());return le.spot2=new go.Spot(Ne.x,Ne.y),se(Ne),le}),go.Shape.setFigureParameter("Pointer",0,new xt("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.1);var b=new go.Geometry,z=new go.PathFigure(E,.5*a,!0);b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,x*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),b.spot1=new go.Spot(x,.35);var ee=Le(.2,.65,1,.65,0,1,1,.5,y());return b.spot2=new go.Spot(ee.x,ee.y),se(ee),b}),go.Shape.setFigureParameter("RoundedPointer",0,new xt("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.3);var b=new go.Geometry,z=new go.PathFigure(E,.5*a,!0);b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*E,.75*a,x*E,.25*a).close()),b.spot1=new go.Spot(x,.35);var ee=Le(0,.65,1,.65,0,1,1,.5,y());return b.spot2=new go.Spot(ee.x,ee.y),se(ee),b}),go.Shape.setFigureParameter("SplitEndArrow",0,new xt("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.4);var b=(.5-x/2)*a,z=(.5+x/2)*a,ee=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ee.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,0,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,0,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close()),ee.spot1=new go.Spot(.2,.3);var oe=Le(.7,1,1,.5,0,z/a,1,z/a,y());return ee.spot2=new go.Spot(oe.x,oe.y),se(oe),ee}),go.Shape.setFigureParameter("SplitEndArrow2",0,new xt("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=50);var b=(a-x)/2,z=b+x;x>a&&(b=0,z=a);var ee=new go.Geometry,re=new go.PathFigure(E,.5*a,!0);ee.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,z)),re.add(new go.PathSegment(go.PathSegment.Line,0,z)),re.add(new go.PathSegment(go.PathSegment.Line,.2*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,0,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,b)),re.add(new go.PathSegment(go.PathSegment.Line,.7*E,0).close()),ee.spot1=new go.Spot(.2,b/a);var oe=Le(.7,1,1,.5,0,z/a,1,z/a,y());return ee.spot2=new go.Spot(oe.x,oe.y),se(oe),ee}),go.Shape.setFigureParameter("SquareArrow",0,new xt("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.7);var b=new go.Geometry,z=new go.PathFigure(E,.5*a,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,x*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,x*E,0).close()),b.spot1=go.Spot.TopLeft,b.spot2=new go.Spot(x,1),b}),go.Shape.defineFigureGenerator("Cone1",function(me,E,a){var x=new go.Geometry,b=je*.5,z=je*.1,ee=new go.PathFigure(0,.9*a,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.9+z)*a,(.5+b)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,(.5-b)*E,a,0,(.9+z)*a).close()),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.97),x}),go.Shape.defineFigureGenerator("Cone2",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.9*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,E,.9*a,(1-.85/.9)*E,a,.85/.9*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.9*a).close());var z=new go.PathFigure(0,.9*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,E,.9*a,(1-.85/.9)*E,.8*a,.85/.9*E,.8*a)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.82),x}),go.Shape.defineFigureGenerator("Cube1",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.15*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*a).close());var z=new go.PathFigure(.5*E,a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.15*a)),z.add(new go.PathSegment(go.PathSegment.Move,.5*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.5,.85),x}),go.Shape.defineFigureGenerator("Cube2",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.3*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,0).close());var z=new go.PathFigure(0,.3*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Move,.7*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,.7*E,a)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.7,1),x}),go.Shape.defineFigureGenerator("Cylinder1",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var b=new go.Geometry,z=je*.5,ee=new go.PathFigure(0,x,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,je*x,(.5-z)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,1*E,x,(.5+z)*E,0,1*E,je*x)),ee.add(new go.PathSegment(go.PathSegment.Line,E,a-x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,1*a,1*E,a-je*x,(.5+z)*E,1*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,a-x,(.5-z)*E,1*a,0,a-je*x)),ee.add(new go.PathSegment(go.PathSegment.Line,0,x));var re=new go.PathFigure(E,x,!1);return b.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,2*x,1*E,2*x-je*x,(.5+z)*E,2*x)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,x,(.5-z)*E,2*x,0,2*x-je*x)),b.spot1=new go.Spot(0,0,0,2*x),b.spot2=new go.Spot(1,1),b}),go.Shape.defineFigureGenerator("Cylinder2",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var b=new go.Geometry,z=je*.5,ee=new go.PathFigure(0,a-x,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,0,x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,je*x,(.5-z)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,x,(.5+z)*E,0,E,je*x)),ee.add(new go.PathSegment(go.PathSegment.Line,E,a-x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,a-je*x,(.5+z)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,a-x,(.5-z)*E,a,0,a-je*x));var re=new go.PathFigure(0,a-x,!1);return b.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a-2*x,0,a-x-je*x,(.5-z)*E,a-2*x)),re.add(new go.PathSegment(go.PathSegment.Bezier,E,a-x,(.5+z)*E,a-2*x,E,a-x-je*x)),b.spot1=new go.Spot(0,0),b.spot2=new go.Spot(1,1,0,-2*x),b}),go.Shape.defineFigureGenerator("Cylinder3",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var b=new go.Geometry,z=je*.5,ee=new go.PathFigure(x,0,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E-x,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,E-je*x,0,E,(.5-z)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E,(.5+z)*a,E-je*x,a)),ee.add(new go.PathSegment(go.PathSegment.Line,x,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,je*x,a,0,(.5+z)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*a,je*x,0));var re=new go.PathFigure(x,0,!1);return b.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,2*x,.5*a,x+je*x,0,2*x,(.5-z)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,x,a,2*x,(.5+z)*a,x+je*x,a)),b.spot1=new go.Spot(0,0,2*x,0),b.spot2=new go.Spot(1,1),b}),go.Shape.defineFigureGenerator("Cylinder4",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var b=new go.Geometry,z=je*.5,ee=new go.PathFigure(E-x,0,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,E-je*x,0,E,(.5-z)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E,(.5+z)*a,E-je*x,a)),ee.add(new go.PathSegment(go.PathSegment.Line,x,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,je*x,a,0,(.5+z)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*a,je*x,0)),ee.add(new go.PathSegment(go.PathSegment.Line,E-x,0));var re=new go.PathFigure(E-x,0,!1);return b.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,E-2*x,.5*a,E-x-je*x,0,E-2*x,(.5-z)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,E-x,a,E-2*x,(.5+z)*a,E-x-je*x,a)),b.spot1=new go.Spot(0,0),b.spot2=new go.Spot(1,1,-2*x,0),b}),go.Shape.defineFigureGenerator("Prism1",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.25*E,.25*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(.25*E,.25*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),x.spot1=new go.Spot(.408,.172),x.spot2=new go.Spot(.833,.662),x}),go.Shape.defineFigureGenerator("Prism2",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.25*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(0,a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.25*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),z.add(new go.PathSegment(go.PathSegment.Move,0,.25*a)),z.add(new go.PathSegment(go.PathSegment.Line,.25*E,.5*a)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("Pyramid1",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*a).close());var z=new go.PathFigure(.5*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Pyramid2",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*a).close());var z=new go.PathFigure(.5*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.7*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.85*a)),z.add(new go.PathSegment(go.PathSegment.Move,.5*E,.7*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Actor",function(me,E,a){var x=new go.Geometry,b=.2,z=.1,ee=je*b,re=je*z,oe=.5,le=.1,Ee=new go.PathFigure(oe*E,(le+z)*a,!0);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(oe-b)*E,le*a,(oe-ee)*E,(le+z)*a,(oe-b)*E,(le+re)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-z)*a,(oe-b)*E,(le-re)*a,(oe-ee)*E,(le-z)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(oe+b)*E,le*a,(oe+ee)*E,(le-z)*a,(oe+b)*E,(le-re)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le+z)*a,(oe+b)*E,(le+re)*a,(oe+ee)*E,(le+z)*a));var Ne=.05,qe=je*Ne;oe=.05,le=.25;var He=new go.PathFigure(.5*E,.2*a,!0);return x.add(He),He.add(new go.PathSegment(go.PathSegment.Line,.95*E,.2*a)),oe=.95,le=.25,He.add(new go.PathSegment(go.PathSegment.Bezier,(oe+Ne)*E,le*a,(oe+qe)*E,(le-Ne)*a,(oe+Ne)*E,(le-qe)*a)),He.add(new go.PathSegment(go.PathSegment.Line,E,.6*a)),He.add(new go.PathSegment(go.PathSegment.Line,.85*E,.6*a)),He.add(new go.PathSegment(go.PathSegment.Line,.85*E,.35*a)),Ne=.025,qe=je*Ne,oe=.825,le=.35,He.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-Ne)*a,(oe+Ne)*E,(le-qe)*a,(oe+qe)*E,(le-Ne)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(oe-Ne)*E,le*a,(oe-qe)*E,(le-Ne)*a,(oe-Ne)*E,(le-qe)*a)),He.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),He.add(new go.PathSegment(go.PathSegment.Line,.55*E,a)),He.add(new go.PathSegment(go.PathSegment.Line,.55*E,.7*a)),Ne=.05,qe=je*Ne,oe=.5,le=.7,He.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-Ne)*a,(oe+Ne)*E,(le-qe)*a,(oe+qe)*E,(le-Ne)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(oe-Ne)*E,le*a,(oe-qe)*E,(le-Ne)*a,(oe-Ne)*E,(le-qe)*a)),He.add(new go.PathSegment(go.PathSegment.Line,.45*E,a)),He.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),He.add(new go.PathSegment(go.PathSegment.Line,.2*E,.35*a)),Ne=.025,qe=je*Ne,oe=.175,le=.35,He.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-Ne)*a,(oe+Ne)*E,(le-qe)*a,(oe+qe)*E,(le-Ne)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(oe-Ne)*E,le*a,(oe-qe)*E,(le-Ne)*a,(oe-Ne)*E,(le-qe)*a)),He.add(new go.PathSegment(go.PathSegment.Line,.15*E,.6*a)),He.add(new go.PathSegment(go.PathSegment.Line,0,.6*a)),He.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),Ne=.05,qe=je*Ne,oe=.05,le=.25,He.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-Ne)*a,(oe-Ne)*E,(le-qe)*a,(oe-qe)*E,(le-Ne)*a)),He.add(new go.PathSegment(go.PathSegment.Line,.5*E,.2*a)),x.spot1=new go.Spot(.2,.2),x.spot2=new go.Spot(.8,.65),x}),go.Shape.setFigureParameter("Card",0,new xt("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(me,E,a){var x=me?me.parameter1:NaN;isNaN(x)&&(x=.2);var b=new go.Geometry,z=new go.PathFigure(E,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*a)),z.add(new go.PathSegment(go.PathSegment.Line,x*E,0).close()),b.spot1=new go.Spot(0,x),b.spot2=go.Spot.BottomRight,b}),go.Shape.defineFigureGenerator("Collate",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,.5*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a));var z=new go.PathFigure(.5*E,.5*a,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,.25),x}),go.Shape.defineFigureGenerator("CreateRequest",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ee=new go.PathFigure(0,b*a,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,b*a)),ee.add(new go.PathSegment(go.PathSegment.Move,0,(1-b)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,(1-b)*a)),x}),go.Shape.defineFigureGenerator("Database",function(me,E,a){var x=new go.Geometry,b=je*.5,z=je*.1,ee=new go.PathFigure(E,.1*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.9+z)*a,(.5+b)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,(.5-b)*E,a,0,(.9+z)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.1*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,(.1-z)*a,(.5-b)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,.1*a,(.5+b)*E,0,E,(.1-z)*a));var re=new go.PathFigure(E,.1*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.2*a,E,(.1+z)*a,(.5+b)*E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*a,(.5-b)*E,.2*a,0,(.1+z)*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.3*a,E,(.2+z)*a,(.5+b)*E,.3*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*a,(.5-b)*E,.3*a,0,(.2+z)*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,.3*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.4*a,E,(.3+z)*a,(.5+b)*E,.4*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*a,(.5-b)*E,.4*a,0,(.3+z)*a)),x.spot1=new go.Spot(0,.4),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("DataStorage",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*E,a,E,0,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.9*a,.25*E,.1*a).close()),x.spot1=new go.Spot(.226,0),x.spot2=new go.Spot(.81,1),x}),go.Shape.defineFigureGenerator("DiskStorage",function(me,E,a){var x=new go.Geometry,b=je*.5,z=je*.1,ee=new go.PathFigure(E,.1*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.9+z)*a,(.5+b)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,(.5-b)*E,a,0,(.9+z)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.1*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,(.1-z)*a,(.5-b)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,.1*a,(.5+b)*E,0,E,(.1-z)*a));var re=new go.PathFigure(E,.1*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.2*a,E,(.1+z)*a,(.5+b)*E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*a,(.5-b)*E,.2*a,0,(.1+z)*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,.2*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.3*a,E,(.2+z)*a,(.5+b)*E,.3*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*a,(.5-b)*E,.3*a,0,(.2+z)*a)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("Display",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.25*E,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*E,a,E,0,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.25*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*a).close()),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("DividedEvent",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)?b=.2:b<.15&&(b=.15);var z=je*.2,ee=new go.PathFigure(0,.2*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,0,0,(.2-z)*a,(.2-z)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.8*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,.2*a,(.8+z)*E,0,E,(.2-z)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,a,E,(.8+z)*a,(.8+z)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*a,(.2-z)*E,a,0,(.8+z)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.2*a));var re=new go.PathFigure(0,b*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,b*a)),x}),go.Shape.defineFigureGenerator("DividedProcess",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;(isNaN(b)||b<.1)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ee=new go.PathFigure(0,b*a,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,b*a)),x}),go.Shape.defineFigureGenerator("Document",function(me,E,a){var x=new go.Geometry;a=a/.8;var b=new go.PathFigure(0,.7*a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.5*E,.4*a,.5*E,a).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("ExternalOrganization",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;(isNaN(b)||b<.2)&&(b=.2);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ee=new go.PathFigure(b*E,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,0,b*a)),ee.add(new go.PathSegment(go.PathSegment.Move,E,b*a)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Move,0,(1-b)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,b*E,a)),ee.add(new go.PathSegment(go.PathSegment.Move,(1-b)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,(1-b)*a)),x}),go.Shape.defineFigureGenerator("ExternalProcess",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*a).close());var z=new go.PathFigure(.1*E,.4*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Move,.9*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Move,.6*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Move,.4*E,.9*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.9*a)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("File",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(.75*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.75*E,.25*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Interrupt",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E,.5*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a));var z=new go.PathFigure(E,.5*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,a));var ee=new go.PathFigure(E,.5*a,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,0)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("InternalStorage",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN,z=me?me.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.1);var ee=new go.PathFigure(0,0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var re=new go.PathFigure(b*E,0,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,b*E,a)),re.add(new go.PathSegment(go.PathSegment.Move,0,z*a)),re.add(new go.PathSegment(go.PathSegment.Line,E,z*a)),x}),go.Shape.defineFigureGenerator("Junction",function(me,E,a){var x=new go.Geometry,b=1/Math.SQRT2,z=(1-1/Math.SQRT2)/2,ee=je*.5,re=.5,oe=new go.PathFigure(E,re*a,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,re*E,a,E,(re+ee)*a,(re+ee)*E,a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,re*a,(re-ee)*E,a,0,(re+ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,re*E,0,0,(re-ee)*a,(re-ee)*E,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,E,re*a,(re+ee)*E,0,E,(re-ee)*a));var le=new go.PathFigure((z+b)*E,(z+b)*a,!1);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Line,z*E,z*a)),le.add(new go.PathSegment(go.PathSegment.Move,z*E,(z+b)*a)),le.add(new go.PathSegment(go.PathSegment.Line,(z+b)*E,z*a)),x}),go.Shape.defineFigureGenerator("LinedDocument",function(me,E,a){var x=new go.Geometry;a=a/.8;var b=new go.PathFigure(0,.7*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.5*E,.4*a,.5*E,a).close());var z=new go.PathFigure(.1*E,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,.75*a)),x.spot1=new go.Spot(.1,0),x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("LoopLimit",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),b.add(new go.PathSegment(go.PathSegment.Line,.25*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MagneticTape",function(me,E,a){var x=new go.Geometry,b=je*.5,z=.5,ee=new go.PathFigure(.5*E,a,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,z*a,(z-b)*E,a,0,(z+b)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*E,0,0,(z-b)*a,(z-b)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,z*a,(z+b)*E,0,E,(z-b)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,(z+.1)*E,.9*a,E,(z+b)*a,(z+b)*E,.9*a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,.9*a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),x.spot1=new go.Spot(.15,.15),x.spot2=new go.Spot(.85,.8),x}),go.Shape.defineFigureGenerator("ManualInput",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*a).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MessageFromUser",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.7);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,b*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("MicroformProcessing",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.25);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,b*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,(1-b)*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("MicroformRecording",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,.25*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.85*a)),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("MultiDocument",function(me,E,a){var x=new go.Geometry;a=a/.8;var b=new go.PathFigure(E,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,.44*a,.96*E,.47*a,.93*E,.45*a)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.54*a,.86*E,.57*a,.83*E,.55*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.4*E,.4*a,.4*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.1*a)),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,.1*a)),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,0).close());var z=new go.PathFigure(.1*E,.2*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.54*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.44*a)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.8,.77),x}),go.Shape.defineFigureGenerator("MultiProcess",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.1*E,.1*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,.1*a)),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,.9*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.9*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.2*a).close());var z=new go.PathFigure(.2*E,.1*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.1*a)),z.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Move,.1*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.9*a)),x.spot1=new go.Spot(0,.2),x.spot2=new go.Spot(.8,1),x}),go.Shape.defineFigureGenerator("OfflineStorage",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.1);var z=1-b,ee=new go.PathFigure(0,0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*E,a).close());var re=new go.PathFigure(.5*b*E,b*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,(1-.5*b)*E,b*a)),x}),go.Shape.defineFigureGenerator("OffPageConnector",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("Or",function(me,E,a){var x=new go.Geometry,b=je*.5,z=.5,ee=new go.PathFigure(E,z*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*E,a,E,(z+b)*a,(z+b)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,z*a,(z-b)*E,a,0,(z+b)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*E,0,0,(z-b)*a,(z-b)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,z*a,(z+b)*E,0,E,(z-b)*a));var re=new go.PathFigure(E,.5*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,0,.5*a)),re.add(new go.PathSegment(go.PathSegment.Move,.5*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),x}),go.Shape.defineFigureGenerator("PaperTape",function(me,E,a){var x=new go.Geometry;a=a/.8;var b=new go.PathFigure(0,.7*a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.3*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,E,.3*a,.5*E,.6*a,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*a,.5*E,.4*a,.5*E,a).close()),x.spot1=new go.Spot(0,.49),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN,z=me?me.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.3);var ee=new go.PathFigure(0,0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-z)*E,.5*a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN,z=me?me.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.3);var ee=new go.PathFigure(0,0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,(1-z)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-z)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("Procedure",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ee=new go.PathFigure((1-b)*E,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Move,b*E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,b*E,a)),x}),go.Shape.defineFigureGenerator("Process",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var ee=new go.PathFigure(b*E,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,b*E,a)),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Sort",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*a).close());var z=new go.PathFigure(0,.5*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.5),x}),go.Shape.defineFigureGenerator("Start",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.25);var z=new go.PathFigure(b*E,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*E,.5*a,.25*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*E,.5*a,.25*E,.5*a));var ee=new go.PathFigure(b*E,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,b*E,a)),ee.add(new go.PathSegment(go.PathSegment.Move,(1-b)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*E,a)),x.spot1=new go.Spot(b,0),x.spot2=new go.Spot(1-b,1),x}),go.Shape.defineFigureGenerator("Terminator",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.25*E,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*E,.5*a,.25*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*E,.5*a,.25*E,.5*a)),x.spot1=new go.Spot(.23,0),x.spot2=new go.Spot(.77,1),x}),go.Shape.defineFigureGenerator("TransmittalTape",function(me,E,a){var x=new go.Geometry,b=me?me.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.75*E,(1-b)*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-b)*a).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("AndGate",function(me,E,a){var x=new go.Geometry,b=je*.5,z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,(.5+b)*E,0,E,(.5-b)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,(.5+b)*a,(.5+b)*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.55,1),x}),go.Shape.defineFigureGenerator("Buffer",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Clock",function(me,E,a){var x=new go.Geometry,b=je*.5,z=.5,ee=new go.PathFigure(E,z*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*E,a,E,(z+b)*a,(z+b)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,z*a,(z-b)*E,a,0,(z+b)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*E,0,0,(z-b)*a,(z-b)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,z*a,(z+b)*E,0,E,(z-b)*a));var re=new go.PathFigure(E,z*a,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,z*a));var oe=new go.PathFigure(.8*E,.75*a,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.8*E,.25*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*E,.25*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*E,.75*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*E,.75*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*E,.25*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*E,.25*a)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*E,.75*a)),x}),go.Shape.defineFigureGenerator("Ground",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Move,.2*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Move,.3*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.7*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Move,.4*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,a)),x}),go.Shape.defineFigureGenerator("Inverter",function(me,E,a){var x=new go.Geometry,b=je*.1,z=.1,ee=.9,re=.5,oe=new go.PathFigure(.8*E,.5*a,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,a)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*E,.5*a));var le=new go.PathFigure((ee+z)*E,re*a,!0);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee+z)*E,(re+b)*a,(ee+b)*E,(re+z)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,(ee-b)*E,(re+z)*a,(ee-z)*E,(re+b)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-z)*a,(ee-z)*E,(re-b)*a,(ee-b)*E,(re-z)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,(ee+b)*E,(re-z)*a,(ee+z)*E,(re-b)*a)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.4,.75),x}),go.Shape.defineFigureGenerator("NandGate",function(me,E,a){var x=new go.Geometry,b=je*.5,z=je*.4,ee=je*.1,re=.1,oe=.9,le=.5,Ee=new go.PathFigure(.8*E,.5*a,!0);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,a,.8*E,(.5+z)*a,(.4+b)*E,a)),Ee.add(new go.PathSegment(go.PathSegment.Line,0,a)),Ee.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ee.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.5*a,(.4+b)*E,0,.8*E,(.5-z)*a));var Ne=new go.PathFigure((oe+re)*E,le*a,!0);return x.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le+re)*a,(oe+re)*E,(le+ee)*a,(oe+ee)*E,(le+re)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(oe-re)*E,le*a,(oe-ee)*E,(le+re)*a,(oe-re)*E,(le+ee)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-re)*a,(oe-re)*E,(le-ee)*a,(oe-ee)*E,(le-re)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(oe+re)*E,le*a,(oe+ee)*E,(le-re)*a,(oe+re)*E,(le-ee)*a)),x.spot1=new go.Spot(0,.05),x.spot2=new go.Spot(.55,.95),x}),go.Shape.defineFigureGenerator("NorGate",function(me,E,a){var x=new go.Geometry,b=.5,z=je*b,ee=0,re=.5,oe=new go.PathFigure(.8*E,.5*a,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,a,.7*E,(re+z)*a,(ee+z)*E,(re+b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.75*a,.25*E,.25*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.5*a,(ee+z)*E,(re-b)*a,.7*E,(re-z)*a)),b=.1,z=je*.1,ee=.9,re=.5;var le=new go.PathFigure((ee-b)*E,re*a,!0);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-b)*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*E,re*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+b)*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*E,re*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a)),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.6,.75),x}),go.Shape.defineFigureGenerator("OrGate",function(me,E,a){var x=new go.Geometry,b=.5,z=je*b,ee=0,re=.5,oe=new go.PathFigure(0,0,!0);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,(ee+z+z)*E,(re-b)*a,.8*E,(re-z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,a,.8*E,(re+z)*a,(ee+z+z)*E,(re+b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*E,.75*a,.25*E,.25*a).close()),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("XnorGate",function(me,E,a){var x=new go.Geometry,b=.5,z=je*b,ee=.2,re=.5,oe=new go.PathFigure(.1*E,0,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,a,.35*E,.25*a,.35*E,.75*a));var le=new go.PathFigure(.8*E,.5*a,!0);x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,a,.7*E,(re+z)*a,(ee+z)*E,(re+b)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,0,.45*E,.75*a,.45*E,.25*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.5*a,(ee+z)*E,(re-b)*a,.7*E,(re-z)*a)),b=.1,z=je*.1,ee=.9,re=.5;var Ee=new go.PathFigure((ee-b)*E,re*a,!0);return x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-b)*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*E,re*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+b)*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*E,re*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a)),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.65,.75),x}),go.Shape.defineFigureGenerator("XorGate",function(me,E,a){var x=new go.Geometry,b=.5,z=je*b,ee=.2,re=.5,oe=new go.PathFigure(.1*E,0,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,a,.35*E,.25*a,.35*E,.75*a));var le=new go.PathFigure(.2*E,0,!0);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,(ee+z)*E,(re-b)*a,.9*E,(re-z)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,a,.9*E,(re+z)*a,(ee+z)*E,(re+b)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,.2*E,0,.45*E,.75*a,.45*E,.25*a).close()),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.8,.75),x}),go.Shape.defineFigureGenerator("Capacitor",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Move,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("Resistor",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.5*a,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.7*E,.5*a)),x}),go.Shape.defineFigureGenerator("Inductor",function(me,E,a){var x=new go.Geometry,b=je*.1,z=.1,ee=.1,re=.5,oe=new go.PathFigure((ee-b*.5)*E,a,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,0,(ee-b)*E,a,(ee-z)*E,0)),ee=.3,oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,a,(ee+z)*E,0,(ee+b)*E,a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,0,(ee-b)*E,a,(ee-z)*E,0)),ee=.5,oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,a,(ee+z)*E,0,(ee+b)*E,a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,0,(ee-b)*E,a,(ee-z)*E,0)),ee=.7,oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,a,(ee+z)*E,0,(ee+b)*E,a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,0,(ee-b)*E,a,(ee-z)*E,0)),ee=.9,oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b*.5)*E,a,(ee+z)*E,0,(ee+b)*E,a)),x}),go.Shape.defineFigureGenerator("ACvoltageSource",function(me,E,a){var x=new go.Geometry,b=je*.5,z=.5,ee=.5,re=.5,oe=new go.PathFigure((ee-z)*E,re*a,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-z)*a,(ee-z)*E,(re-b)*a,(ee-b)*E,(re-z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,(ee+b)*E,(re-z)*a,(ee+z)*E,(re-b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee+z)*E,(re+b)*a,(ee+b)*E,(re+z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,(ee-b)*E,(re+z)*a,(ee-z)*E,(re+b)*a)),oe.add(new go.PathSegment(go.PathSegment.Move,(ee-z+.1)*E,re*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z-.1)*E,re*a,ee*E,(re-z)*a,ee*E,(re+z)*a)),x}),go.Shape.defineFigureGenerator("DCvoltageSource",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.75*a,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),b.add(new go.PathSegment(go.PathSegment.Move,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("Diode",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Wifi",function(me,E,a){var x=new go.Geometry,b=E,z=a;E=E*.38,a=a*.6;var ee=je*.8,re=.8,oe=0,le=.5,Ee=(b-E)/2,Ne=(z-a)/2,qe=new go.PathFigure(oe*E+Ee,(le+re)*a+Ne,!0);x.add(qe),qe.add(new go.PathSegment(go.PathSegment.Bezier,(oe-re)*E+Ee,le*a+Ne,(oe-ee)*E+Ee,(le+re)*a+Ne,(oe-re)*E+Ee,(le+ee)*a+Ne)),qe.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le-re)*a+Ne,(oe-re)*E+Ee,(le-ee)*a+Ne,(oe-ee)*E+Ee,(le-re)*a+Ne)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(oe-re+ee*.5)*E+Ee,le*a+Ne,oe*E+Ee,(le-re)*a+Ne,(oe-re+ee*.5)*E+Ee,(le-ee)*a+Ne)),qe.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le+re)*a+Ne,(oe-re+ee*.5)*E+Ee,(le+ee)*a+Ne,oe*E+Ee,(le+re)*a+Ne).close()),ee=je*.4,re=.4,oe=.2,le=.5;var He=new go.PathFigure(oe*E+Ee,(le+re)*a+Ne,!0);x.add(He),He.add(new go.PathSegment(go.PathSegment.Bezier,(oe-re)*E+Ee,le*a+Ne,(oe-ee)*E+Ee,(le+re)*a+Ne,(oe-re)*E+Ee,(le+ee)*a+Ne)),He.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le-re)*a+Ne,(oe-re)*E+Ee,(le-ee)*a+Ne,(oe-ee)*E+Ee,(le-re)*a+Ne)),He.add(new go.PathSegment(go.PathSegment.Bezier,(oe-re+ee*.5)*E+Ee,le*a+Ne,oe*E+Ee,(le-re)*a+Ne,(oe-re+ee*.5)*E+Ee,(le-ee)*a+Ne)),He.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le+re)*a+Ne,(oe-re+ee*.5)*E+Ee,(le+ee)*a+Ne,oe*E+Ee,(le+re)*a+Ne).close()),ee=je*.2,re=.2,oe=.5,le=.5;var Oe=new go.PathFigure((oe-re)*E+Ee,le*a+Ne,!0);x.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le-re)*a+Ne,(oe-re)*E+Ee,(le-ee)*a+Ne,(oe-ee)*E+Ee,(le-re)*a+Ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(oe+re)*E+Ee,le*a+Ne,(oe+ee)*E+Ee,(le-re)*a+Ne,(oe+re)*E+Ee,(le-ee)*a+Ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le+re)*a+Ne,(oe+re)*E+Ee,(le+ee)*a+Ne,(oe+ee)*E+Ee,(le+re)*a+Ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(oe-re)*E+Ee,le*a+Ne,(oe-ee)*E+Ee,(le+re)*a+Ne,(oe-re)*E+Ee,(le+ee)*a+Ne)),ee=je*.4,re=.4,oe=.8,le=.5;var Te=new go.PathFigure(oe*E+Ee,(le-re)*a+Ne,!0);x.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,(oe+re)*E+Ee,le*a+Ne,(oe+ee)*E+Ee,(le-re)*a+Ne,(oe+re)*E+Ee,(le-ee)*a+Ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le+re)*a+Ne,(oe+re)*E+Ee,(le+ee)*a+Ne,(oe+ee)*E+Ee,(le+re)*a+Ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,(oe+re-ee*.5)*E+Ee,le*a+Ne,oe*E+Ee,(le+re)*a+Ne,(oe+re-ee*.5)*E+Ee,(le+ee)*a+Ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le-re)*a+Ne,(oe+re-ee*.5)*E+Ee,(le-ee)*a+Ne,oe*E+Ee,(le-re)*a+Ne).close()),ee=je*.8,re=.8,oe=1,le=.5;var Qe=new go.PathFigure(oe*E+Ee,(le-re)*a+Ne,!0);return x.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(oe+re)*E+Ee,le*a+Ne,(oe+ee)*E+Ee,(le-re)*a+Ne,(oe+re)*E+Ee,(le-ee)*a+Ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le+re)*a+Ne,(oe+re)*E+Ee,(le+ee)*a+Ne,(oe+ee)*E+Ee,(le+re)*a+Ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(oe+re-ee*.5)*E+Ee,le*a+Ne,oe*E+Ee,(le+re)*a+Ne,(oe+re-ee*.5)*E+Ee,(le+ee)*a+Ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,oe*E+Ee,(le-re)*a+Ne,(oe+re-ee*.5)*E+Ee,(le-ee)*a+Ne,oe*E+Ee,(le-re)*a+Ne).close()),x}),go.Shape.defineFigureGenerator("Email",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,0)),z.add(new go.PathSegment(go.PathSegment.Move,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,.45*E,.54*a)),z.add(new go.PathSegment(go.PathSegment.Move,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.55*E,.54*a)),x}),go.Shape.defineFigureGenerator("Ethernet",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.35*E,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.65*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.65*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,.35*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,.35*E,0).close());var z=new go.PathFigure(.1*E,a,!0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,a)),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.1*E,a).close());var ee=new go.PathFigure(.6*E,a,!0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*E,.6*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.6*E,.6*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.6*E,a).close());var re=new go.PathFigure(0,.5*a,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Move,.5*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.5*E,.4*a)),re.add(new go.PathSegment(go.PathSegment.Move,.75*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.75*E,.6*a)),re.add(new go.PathSegment(go.PathSegment.Move,.25*E,.5*a)),re.add(new go.PathSegment(go.PathSegment.Line,.25*E,.6*a)),x}),go.Shape.defineFigureGenerator("Power",function(me,E,a){var x=new go.Geometry,b=je*.4,z=.4,ee=.5,re=.5,oe=y(),le=y(),Ee=y(),Ne=y();Ze(ee,re-z,ee+b,re-z,ee+z,re-b,ee+z,re,.5,oe,oe,le,Ee,Ne);var qe=ne(le.x,le.y),He=new go.PathFigure(le.x*E,le.y*a,!0);x.add(He),He.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,Ee.x*E,Ee.y*a,Ne.x*E,Ne.y*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee+z)*E,(re+b)*a,(ee+b)*E,(re+z)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,(ee-b)*E,(re+z)*a,(ee-z)*E,(re+b)*a)),Ze(ee-z,re,ee-z,re-b,ee-b,re-z,ee,re-z,.5,Ee,Ne,le,oe,oe),He.add(new go.PathSegment(go.PathSegment.Bezier,le.x*E,le.y*a,Ee.x*E,Ee.y*a,Ne.x*E,Ne.y*a)),b=je*.3,z=.3,Ze(ee-z,re,ee-z,re-b,ee-b,re-z,ee,re-z,.5,Ee,Ne,le,oe,oe),He.add(new go.PathSegment(go.PathSegment.Line,le.x*E,le.y*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*E,re*a,Ne.x*E,Ne.y*a,Ee.x*E,Ee.y*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+z)*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*E,re*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),Ze(ee,re-z,ee+b,re-z,ee+z,re-b,ee+z,re,.5,oe,oe,le,Ee,Ne),He.add(new go.PathSegment(go.PathSegment.Bezier,le.x*E,le.y*a,Ne.x*E,Ne.y*a,Ee.x*E,Ee.y*a).close());var He=new go.PathFigure(.45*E,0,!0);return x.add(He),He.add(new go.PathSegment(go.PathSegment.Line,.45*E,.5*a)),He.add(new go.PathSegment(go.PathSegment.Line,.55*E,.5*a)),He.add(new go.PathSegment(go.PathSegment.Line,.55*E,0).close()),se(oe),se(le),se(Ee),se(Ne),se(qe),x.spot1=new go.Spot(.25,.45),x.spot2=new go.Spot(.75,.8),x}),go.Shape.defineFigureGenerator("Fallout",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a/2,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,180,360,E/2,a/2,E/2,a/2));function z(ee,re,oe){ee.add(new go.PathSegment(go.PathSegment.Move,(.3+re)*E,(.8+oe)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,(.5+re)*E,(.5+oe)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,(.1+re)*E,(.5+oe)*a)),ee.add(new go.PathSegment(go.PathSegment.Line,(.3+re)*E,(.8+oe)*a).close())}return z(b,0,0),z(b,.4,0),z(b,.2,-.3),x}),go.Shape.defineFigureGenerator("IrritationHazard",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.2*E,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.3*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.7*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*a).close()),x.spot1=new go.Spot(.3,.3),x.spot2=new go.Spot(.7,.7),x}),go.Shape.defineFigureGenerator("ElectricalHazard",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.37*E,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.11*a)),b.add(new go.PathSegment(go.PathSegment.Line,.77*E,.04*a)),b.add(new go.PathSegment(go.PathSegment.Line,.33*E,.49*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.37*a)),b.add(new go.PathSegment(go.PathSegment.Line,.63*E,.86*a)),b.add(new go.PathSegment(go.PathSegment.Line,.77*E,.91*a)),b.add(new go.PathSegment(go.PathSegment.Line,.34*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.34*E,.78*a)),b.add(new go.PathSegment(go.PathSegment.Line,.44*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.65*E,.56*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.68*a).close()),x}),go.Shape.defineFigureGenerator("FireHazard",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.1*E,a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.29*E,0,-.25*E,.63*a,.45*E,.44*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.51*E,.42*a,.48*E,.17*a,.54*E,.35*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.59*E,.18*a,.59*E,.29*a,.58*E,.28*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*E,.6*a,.8*E,.34*a,.88*E,.43*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.88*E,.31*a,.87*E,.48*a,.88*E,.43*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,a,1.17*E,.76*a,.82*E,.8*a).close()),x.spot1=new go.Spot(.07,.445),x.spot2=new go.Spot(.884,.958),x}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(me,E,a){var x=new go.Geometry,b=.5,z=0,ee=0,re=b*je,oe=.4*Math.SQRT2/2+.5,le=.5-.5*Math.SQRT2/2,Ee=1,Ne=.5,qe=.5,He=0,Oe=new go.PathFigure(oe*E,(1-le)*a,!1);return x.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Ee*E,Ne*a,Ee*E,.7*a,Ee*E,Ne*a)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(qe+z)*E,(He+z)*a,(.5+b+z)*E,(.5-re+z)*a,(.5+re+z)*E,(.5-b+z)*a)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*E,(.5+ee)*a,(.5-re+z)*E,(.5-b+ee)*a,(.5-b+z)*E,(.5-re+ee)*a)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.35+z)*E,.9*a,(.5-b+z)*E,(.5+re+ee)*a,(.5-re+z)*E,.9*a)),Oe.add(new go.PathSegment(go.PathSegment.Move,(.25+z)*E,.8*a)),Oe.add(new go.PathSegment(go.PathSegment.Line,(.35+z)*E,.9*a)),Oe.add(new go.PathSegment(go.PathSegment.Line,(.2+z)*E,.95*a)),x}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Move,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Move,0,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Move,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),x}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(E,a,!1);x.add(z);var ee=new go.PathFigure(0,.5*a,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.5*a,.2*E,.35*a,.3*E,.35*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,.7*E,.65*a,.8*E,.65*a)),x}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.5*a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a).close()),x}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.2*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*a).close());var b=new go.PathFigure(0,.2*a,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),x}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.7*E,a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,0,.6*E,.5*a,0,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.7*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*E,a,.4*E,.5*a,E,.5*a).close());var z=new go.PathFigure(.45*E,.73*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*E,.73*a)),z.add(new go.PathSegment(go.PathSegment.Move,.38*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.63*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Move,.31*E,.27*a)),z.add(new go.PathSegment(go.PathSegment.Line,.56*E,.27*a)),x}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(.335*E,(1-.555)*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.335*E,(1-.405)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.405)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.555)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,E,.68*a,(1-.12)*E,.46*a,(1-.02)*E,.54*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.68*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.335*E,(1-.555)*a,.02*E,.54*a,.12*E,.46*a)),z.add(new go.PathSegment(go.PathSegment.Line,.365*E,(1-.595)*a));var ee=.5-.285,re=.5,oe=ee,le=Math.PI/4,Ee=4*(1-Math.cos(le))/(3*Math.sin(le)),Ne=Ee*.5,qe=ee,He=ee,Oe=Ee*qe,Te=Ee*He;z.add(new go.PathSegment(go.PathSegment.Bezier,(re-qe)*E,oe*a,(re-(Oe+qe)/2)*E,(oe+(He+Te)/2)*a,(re-qe)*E,(oe+Te)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,re*E,(oe-He)*a,(re-qe)*E,(oe-Te)*a,(re-Oe)*E,(oe-He)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,(re+qe)*E,oe*a,(re+Oe)*E,(oe-He)*a,(re+qe)*E,(oe-Te)*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*E,(1-.595)*a,(re+qe)*E,(oe+Te)*a,(re+(Oe+qe)/2)*E,(oe+(He+Te)/2)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*E,(1-.595)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.555)*a)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*E,(1-.405)*a)),z.add(new go.PathSegment(go.PathSegment.Line,.335*E,(1-.405)*a));var Qe=new go.PathFigure(.2*E,a,!1);x.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Line,.2*E,.8*a));var Re=new go.PathFigure(.8*E,a,!1);return x.add(Re),Re.add(new go.PathSegment(go.PathSegment.Line,.8*E,.8*a)),x}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.1*E,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,a).close());var z=new go.PathFigure(.2*E,.2*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.8*a)),x}),go.Shape.defineFigureGenerator("BpmnEventError",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.33*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.33*E,.5*a).close()),x}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(E,a,!1);x.add(z);var ee=new go.PathFigure(.1*E,a,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a).close()),x}),go.Shape.defineFigureGenerator("Caution",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.05*E,a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,.8*a,0,a,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,.45*E,.1*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.55*E,.1*a,.5*E,0,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.95*E,.9*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,a,E,a,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.05*E,a));var z=.05;return b.add(new go.PathSegment(go.PathSegment.Move,(.5-z)*E,.875*a)),b.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*E,.875*a,z*E,z*a)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.325*a,.575*E,.725*a,.625*E,.375*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.75*a,.375*E,.375*a,.425*E,.725*a)),x}),go.Shape.defineFigureGenerator("Recycle",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.45*E,.95*a,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,.95*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.185*E,.85*a,.17*E,.95*a,.15*E,.9*a)),b.add(new go.PathSegment(go.PathSegment.Line,.235*E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Line,.3*E,.625*a)),b.add(new go.PathSegment(go.PathSegment.Line,.35*E,.65*a)),b.add(new go.PathSegment(go.PathSegment.Line,.275*E,.45*a)),b.add(new go.PathSegment(go.PathSegment.Line,.05*E,.45*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.05*E,.575*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.1875*E,.95*a,0,.675*a,0,.7*a)),b.add(new go.PathSegment(go.PathSegment.Move,.45*E,.95*a)),b.add(new go.PathSegment(go.PathSegment.Line,.45*E,.775*a)),b.add(new go.PathSegment(go.PathSegment.Line,.22*E,.775*a));var z=new go.PathFigure(.475*E,.2*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.225*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Line,.275*E,.175*a)),z.add(new go.PathSegment(go.PathSegment.Line,.325*E,.05*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,.05*a,.35*E,0,.375*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.575*E,.375*a)),z.add(new go.PathSegment(go.PathSegment.Line,.525*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.75*E,.475*a)),z.add(new go.PathSegment(go.PathSegment.Line,.85*E,.315*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.32*a)),z.add(new go.PathSegment(go.PathSegment.Line,.65*E,.05*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.575*E,0,.65*E,.05*a,.625*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.38*E,.0105*a));var ee=new go.PathFigure(.675*E,.575*a,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.875*E,.525*a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,.775*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.85*E,.95*a,E,.8*a,E,.85*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*E,.95*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*E,.85*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*E,.725*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*E,.775*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.7*E,.775*a)),ee.add(new go.PathSegment(go.PathSegment.Line,E,.775*a)),ee.add(new go.PathSegment(go.PathSegment.Move,.675*E,.575*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.775*E,.775*a)),x}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(me,E,a){var x=new go.Geometry,b=.5,z=je*.5,ee=new go.PathFigure(E,b*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*E,a,E,(b+z)*a,(b+z)*E,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,b*a,(b-z)*E,a,0,(b+z)*a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*E,0,0,(b-z)*a,(b-z)*E,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E,b*a,(b+z)*E,0,E,(b-z)*a));var re=new go.PathFigure(b*E,0,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,b*E,.15*a)),re.add(new go.PathSegment(go.PathSegment.Move,b*E,a)),re.add(new go.PathSegment(go.PathSegment.Line,b*E,.85*a)),re.add(new go.PathSegment(go.PathSegment.Move,0,b*a)),re.add(new go.PathSegment(go.PathSegment.Line,.15*E,b*a)),re.add(new go.PathSegment(go.PathSegment.Move,E,b*a)),re.add(new go.PathSegment(go.PathSegment.Line,.85*E,b*a)),re.add(new go.PathSegment(go.PathSegment.Move,b*E,b*a)),re.add(new go.PathSegment(go.PathSegment.Line,.58*E,.1*a)),re.add(new go.PathSegment(go.PathSegment.Move,b*E,b*a)),re.add(new go.PathSegment(go.PathSegment.Line,.78*E,.54*a)),x}),go.Shape.defineFigureGenerator("Package",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.15*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,.15*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close());var z=new go.PathFigure(0,.15*a,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.65*E,.15*a).close()),x.spot1=new go.Spot(0,.1),x.spot2=new go.Spot(1,1),x}),go.Shape.defineFigureGenerator("Class",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.2*a).close());var ee=new go.PathFigure(0,.5*a,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,.5*a).close()),x}),go.Shape.defineFigureGenerator("Component",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E,a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a).close());var z=new go.PathFigure(0,.2*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.45*E,.2*a)),z.add(new go.PathSegment(go.PathSegment.Line,.45*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.2*a).close());var ee=new go.PathFigure(0,.6*a,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.45*E,.6*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.45*E,.8*a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.6*a).close()),x}),go.Shape.defineFigureGenerator("Boat Shipment",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.15*E,.6*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.15*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,.15*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.85*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,.85*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*E,.6*a));var z=new go.PathFigure(.15*E,.6*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.85*E,.6*a)),x}),go.Shape.defineFigureGenerator("Customer/Supplier",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E,a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*E,.33*a)),b.add(new go.PathSegment(go.PathSegment.Line,.66*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.33*E,.33*a)),b.add(new go.PathSegment(go.PathSegment.Line,.33*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.33*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a).close()),x}),go.Shape.defineFigureGenerator("Workcell",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.65*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.65*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,.35*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,.35*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),x}),go.Shape.defineFigureGenerator("Supermarket",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.33*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.33*a)),b.add(new go.PathSegment(go.PathSegment.Move,E,.33*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.66*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.66*a)),b.add(new go.PathSegment(go.PathSegment.Move,E,.66*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),x}),go.Shape.defineFigureGenerator("TruckShipment",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(E,.8*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,.6*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.8*a).close());var ee=.1,re=je*.1,oe=.2,le=.9,Ee=new go.PathFigure((oe-ee)*E,le*a,!0);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-ee)*a,(oe-ee)*E,(le-re)*a,(oe-re)*E,(le-ee)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(oe+ee)*E,le*a,(oe+re)*E,(le-ee)*a,(oe+ee)*E,(le-re)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le+ee)*a,(oe+ee)*E,(le+re)*a,(oe+re)*E,(le+ee)*a)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(oe-ee)*E,le*a,(oe-re)*E,(le+ee)*a,(oe-ee)*E,(le+re)*a).close()),ee=.1,re=je*.1,oe=.8,le=.9;var Ne=new go.PathFigure((oe-ee)*E,le*a,!0);return x.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le-ee)*a,(oe-ee)*E,(le-re)*a,(oe-re)*E,(le-ee)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(oe+ee)*E,le*a,(oe+re)*E,(le-ee)*a,(oe+ee)*E,(le-re)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,oe*E,(le+ee)*a,(oe+ee)*E,(le+re)*a,(oe+re)*E,(le+ee)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(oe-ee)*E,le*a,(oe-re)*E,(le+ee)*a,(oe-ee)*E,(le+re)*a).close()),x}),go.Shape.defineFigureGenerator("KanbanPost",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.2*E,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,0)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,a)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,a)),x}),go.Shape.defineFigureGenerator("Forklift",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0));var z=new go.PathFigure(0,.5*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.8*a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,0,.5*a));var ee=new go.PathFigure(.5*E,.8*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*E,.1*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*E,.1*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*E,.8*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*E,.8*a));var re=new go.PathFigure(.5*E,.7*a,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E,.7*a));var oe=.1,le=je*.1,Ee=.1,Ne=.9,qe=new go.PathFigure((Ee-oe)*E,Ne*a,!0);x.add(qe),qe.add(new go.PathSegment(go.PathSegment.Bezier,Ee*E,(Ne-oe)*a,(Ee-oe)*E,(Ne-le)*a,(Ee-le)*E,(Ne-oe)*a)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(Ee+oe)*E,Ne*a,(Ee+le)*E,(Ne-oe)*a,(Ee+oe)*E,(Ne-le)*a)),qe.add(new go.PathSegment(go.PathSegment.Bezier,Ee*E,(Ne+oe)*a,(Ee+oe)*E,(Ne+le)*a,(Ee+le)*E,(Ne+oe)*a)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(Ee-oe)*E,Ne*a,(Ee-le)*E,(Ne+oe)*a,(Ee-oe)*E,(Ne+le)*a)),oe=.1,le=je*.1,Ee=.4,Ne=.9;var He=new go.PathFigure((Ee-oe)*E,Ne*a,!0);return x.add(He),He.add(new go.PathSegment(go.PathSegment.Bezier,Ee*E,(Ne-oe)*a,(Ee-oe)*E,(Ne-le)*a,(Ee-le)*E,(Ne-oe)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(Ee+oe)*E,Ne*a,(Ee+le)*E,(Ne-oe)*a,(Ee+oe)*E,(Ne-le)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,Ee*E,(Ne+oe)*a,(Ee+oe)*E,(Ne+le)*a,(Ee+le)*E,(Ne+oe)*a)),He.add(new go.PathSegment(go.PathSegment.Bezier,(Ee-oe)*E,Ne*a,(Ee-le)*E,(Ne+oe)*a,(Ee-oe)*E,(Ne+le)*a)),x}),go.Shape.defineFigureGenerator("RailShipment",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.1*E,.4*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.45*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,.45*E,.9*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.9*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.4*a).close());var z=new go.PathFigure(.45*E,.7*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.55*E,.7*a));var ee=new go.PathFigure(.55*E,.4*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*E,.9*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*E,.9*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*E,.4*a).close());var Ee=.05,Ne=je*.05,qe=.175,He=.95,re=new go.PathFigure((qe-Ee)*E,He*a,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He-Ee)*a,(qe-Ee)*E,(He-Ne)*a,(qe-Ne)*E,(He-Ee)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,(qe+Ee)*E,He*a,(qe+Ne)*E,(He-Ee)*a,(qe+Ee)*E,(He-Ne)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He+Ee)*a,(qe+Ee)*E,(He+Ne)*a,(qe+Ne)*E,(He+Ee)*a)),re.add(new go.PathSegment(go.PathSegment.Bezier,(qe-Ee)*E,He*a,(qe-Ne)*E,(He+Ee)*a,(qe-Ee)*E,(He+Ne)*a));var Ee=.05,Ne=je*.05,qe=.375,He=.95,oe=new go.PathFigure((qe-Ee)*E,He*a,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He-Ee)*a,(qe-Ee)*E,(He-Ne)*a,(qe-Ne)*E,(He-Ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(qe+Ee)*E,He*a,(qe+Ne)*E,(He-Ee)*a,(qe+Ee)*E,(He-Ne)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He+Ee)*a,(qe+Ee)*E,(He+Ne)*a,(qe+Ne)*E,(He+Ee)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(qe-Ee)*E,He*a,(qe-Ne)*E,(He+Ee)*a,(qe-Ee)*E,(He+Ne)*a));var Ee=.05,Ne=je*.05,qe=.625,He=.95,le=new go.PathFigure((qe-Ee)*E,He*a,!0);x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He-Ee)*a,(qe-Ee)*E,(He-Ne)*a,(qe-Ne)*E,(He-Ee)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(qe+Ee)*E,He*a,(qe+Ne)*E,(He-Ee)*a,(qe+Ee)*E,(He-Ne)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He+Ee)*a,(qe+Ee)*E,(He+Ne)*a,(qe+Ne)*E,(He+Ee)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(qe-Ee)*E,He*a,(qe-Ne)*E,(He+Ee)*a,(qe-Ee)*E,(He+Ne)*a));var Ee=.05,Ne=je*.05,qe=.825,He=.95,Oe=new go.PathFigure((qe-Ee)*E,He*a,!0);x.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He-Ee)*a,(qe-Ee)*E,(He-Ne)*a,(qe-Ne)*E,(He-Ee)*a)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(qe+Ee)*E,He*a,(qe+Ne)*E,(He-Ee)*a,(qe+Ee)*E,(He-Ne)*a)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,qe*E,(He+Ee)*a,(qe+Ee)*E,(He+Ne)*a,(qe+Ne)*E,(He+Ee)*a)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(qe-Ee)*E,He*a,(qe-Ne)*E,(He+Ee)*a,(qe-Ee)*E,(He+Ne)*a).close());var Te=new go.PathFigure(0,a,!1);return x.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,E,a).close()),x}),go.Shape.defineFigureGenerator("Warehouse",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.2*a).close());var ee=new go.PathFigure(.15*E,a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.15*E,.5*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.4*E,.5*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.4*E,a)),ee.add(new go.PathSegment(go.PathSegment.Line,.15*E,a).close());var re=.05,oe=je*.05,le=.35,Ee=.775,Ne=new go.PathFigure((le-re)*E,Ee*a,!0);return x.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,le*E,(Ee-re)*a,(le-re)*E,(Ee-oe)*a,(le-oe)*E,(Ee-re)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(le+re)*E,Ee*a,(le+oe)*E,(Ee-re)*a,(le+re)*E,(Ee-oe)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,le*E,(Ee+re)*a,(le+re)*E,(Ee+oe)*a,(le+oe)*E,(Ee+re)*a)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(le-re)*E,Ee*a,(le-oe)*E,(Ee+re)*a,(le-re)*E,(Ee+oe)*a).close()),x}),go.Shape.defineFigureGenerator("ControlCenter",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Move,.1*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a).close()),x}),go.Shape.defineFigureGenerator("Bluetooth",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.75*a,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.25*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*a)),x}),go.Shape.defineFigureGenerator("Bookmark",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Move,.2*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Move,.2*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.4*a)),x}),go.Shape.defineFigureGenerator("Bookmark",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Move,.2*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Move,.2*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,.8*E,.4*a)),x}),go.Shape.defineFigureGenerator("Globe",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Move,0,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,E,.5*a,.75*E,0,E,.25*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,E,.75*a,.75*E,a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,.25*E,a,0,.75*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,0,.25*a,.25*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,a,.15*E,.25*a,.15*E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,.85*E,.75*a,.85*E,.25*a)),b.add(new go.PathSegment(go.PathSegment.Move,.1675*E,.15*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8325*E,.15*a,.35*E,.3*a,.65*E,.3*a)),b.add(new go.PathSegment(go.PathSegment.Move,.1675*E,.85*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8325*E,.85*a,.35*E,.7*a,.65*E,.7*a)),x}),go.Shape.defineFigureGenerator("Wave",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.25*a,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.25*a,.1*E,0,.2*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*E,.25*a,.425*E,.5*a,.575*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,E,.25*a,.8*E,0,.9*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.75*a)),b.add(new go.PathSegment(go.PathSegment.Move,0,.25*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.75*a,.1*E,.5*a,.2*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*E,.75*a,.425*E,a,.575*E,a)),b.add(new go.PathSegment(go.PathSegment.Bezier,E,.75*a,.8*E,.5*a,.9*E,.5*a)),x}),go.Shape.defineFigureGenerator("Operator",function(me,E,a){var x=new go.Geometry,b=.3,z=je*.3,ee=.5,re=.7,oe=new go.PathFigure((ee-b)*E,re*a,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-b)*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*E,re*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+b)*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*E,re*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a));var le=new go.PathFigure(0,.7*a,!1);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,E,.7*a,0,0,E,0)),x}),go.Shape.defineFigureGenerator("TripleFanBlades",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.5*E,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.65*a,.65*E,.3*a,.65*E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,.35*E,.5*a,.35*E,.3*a)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,.65*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,a,.3*E,.6*a,.1*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.65*a,.2*E,a,.35*E,.95*a)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,.65*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,E,a,.7*E,.6*a,.9*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.65*a,.8*E,a,.65*E,.95*a)),x}),go.Shape.defineFigureGenerator("CentrifugalPump",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,0,.075*a,0,.5*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*E,a,0,a,.4*E,a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.4*a,.8*E,a,.85*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,0)),x}),go.Shape.defineFigureGenerator("Battery",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.1*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.1*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Move,.4*E,.1*a)),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,.1*a));var z=new go.PathFigure(0,.6*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,0,.4*a)),z.add(new go.PathSegment(go.PathSegment.Line,E,.4*a)),x}),go.Shape.defineFigureGenerator("Delete",function(me,E,a){var x=new go.Geometry,b=.5,z=je*.5,ee=.5,re=.5,oe=new go.PathFigure((ee-b)*E,re*a,!0);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-b)*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*E,re*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+b)*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*E,re*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a));var le=new go.PathFigure(.15*E,.5*a,!1);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Line,.85*E,.5*a)),x}),go.Shape.defineFigureGenerator("Flag",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.1*a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Move,0,.1*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.1*a,.15*E,0,.35*E,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,E,.1*a,.65*E,.2*a,.85*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.5*a,.85*E,.6*a,.65*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*a,.35*E,.4*a,.15*E,.4*a).close()),x}),go.Shape.defineFigureGenerator("Help",function(me,E,a){var x=new go.Geometry,b=.5,z=je*.5,ee=.5,re=.5,oe=new go.PathFigure((ee-b)*E,re*a,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-b)*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*E,re*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+b)*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*E,re*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a).close()),b=.05,z=je*.05,ee=.5,re=.8;var le=new go.PathFigure((ee-b)*E,re*a,!1);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re-b)*a,(ee-b)*E,(re-z)*a,(ee-z)*E,(re-b)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*E,re*a,(ee+z)*E,(re-b)*a,(ee+b)*E,(re-z)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*E,(re+b)*a,(ee+b)*E,(re+z)*a,(ee+z)*E,(re+b)*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*E,re*a,(ee-z)*E,(re+b)*a,(ee-b)*E,(re+z)*a).close()),le.add(new go.PathSegment(go.PathSegment.Move,.5*E,.7*a)),le.add(new go.PathSegment(go.PathSegment.Line,.5*E,.5*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,.5*E,.2*a,.75*E,.475*a,.75*E,.225*a)),le.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.35*a,.4*E,.2*a,.3*E,.25*a)),x}),go.Shape.defineFigureGenerator("Location",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.5*E,a,!0).add(new go.PathSegment(go.PathSegment.Line,.75*E,.5*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5*E,0,.975*E,.025*a,.5*E,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*E,.5*a,.5*E,0,.025*E,.025*a).close()).add(new go.PathSegment(go.PathSegment.Move,.5*E,.2*a)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*E,.3*a,.1*E,.1*a).close()))}),go.Shape.defineFigureGenerator("Lock",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.5*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*a));var z=new go.PathFigure(.2*E,.5*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.2*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.3*a,.25*E,0,.75*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.3*a)),x}),go.Shape.defineFigureGenerator("Unlocked",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.5*a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,.5*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*a));var z=new go.PathFigure(.2*E,.5*a,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*E,.5*a)),z.add(new go.PathSegment(go.PathSegment.Line,.2*E,.3*a)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*E,.3*a,.25*E,0,.75*E,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*E,.35*a)),x}),go.Shape.defineFigureGenerator("Gear",function(me,E,a){return new go.Geometry().add(new go.PathFigure(.9375*E,.56246875*a,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*E,.4375*a)).add(new go.PathSegment(go.PathSegment.Line,.80621875*E,.4375*a)).add(new go.PathSegment(go.PathSegment.Bezier,.763*E,.3316875*a,.79840625*E,.39915625*a,.7834375*E,.3635*a)).add(new go.PathSegment(go.PathSegment.Line,.8566875*E,.23796875*a)).add(new go.PathSegment(go.PathSegment.Line,.76825*E,.14959375*a)).add(new go.PathSegment(go.PathSegment.Line,.67596875*E,.24184375*a)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*E,.19378125*a,.64228125*E,.2188125*a,.603875*E,.2021875*a)).add(new go.PathSegment(go.PathSegment.Line,.5625*E,.0625*a)).add(new go.PathSegment(go.PathSegment.Line,.4375*E,.0625*a)).add(new go.PathSegment(go.PathSegment.Line,.4375*E,.19378125*a)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*E,.239375*a,.39759375*E,.20190625*a,.36053125*E,.2176875*a)).add(new go.PathSegment(go.PathSegment.Line,.2379375*E,.14959375*a)).add(new go.PathSegment(go.PathSegment.Line,.14953125*E,.2379375*a)).add(new go.PathSegment(go.PathSegment.Line,.23934375*E,.3278125*a)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*E,.4375*a,.21765625*E,.36059375*a,.201875*E,.397625*a)).add(new go.PathSegment(go.PathSegment.Line,.0625*E,.4375*a)).add(new go.PathSegment(go.PathSegment.Line,.0625*E,.5625*a)).add(new go.PathSegment(go.PathSegment.Line,.1938125*E,.5625*a)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*E,.67596875*a,.20221875*E,.603875*a,.21884375*E,.64228125*a)).add(new go.PathSegment(go.PathSegment.Line,.1495625*E,.76825*a)).add(new go.PathSegment(go.PathSegment.Line,.238*E,.8566875*a)).add(new go.PathSegment(go.PathSegment.Line,.3316875*E,.76296875*a)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*E,.80621875*a,.36353125*E,.78340625*a,.3991875*E,.79840625*a)).add(new go.PathSegment(go.PathSegment.Line,.43753125*E,.9375*a)).add(new go.PathSegment(go.PathSegment.Line,.5625*E,.9375*a)).add(new go.PathSegment(go.PathSegment.Line,.5625*E,.80621875*a)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*E,.760625*a,.602375*E,.79809375*a,.63946875*E,.78234375*a)).add(new go.PathSegment(go.PathSegment.Line,.76828125*E,.8566875*a)).add(new go.PathSegment(go.PathSegment.Line,.85671875*E,.76825*a)).add(new go.PathSegment(go.PathSegment.Line,.76065625*E,.67221875*a)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*E,.56246875*a,.78234375*E,.63940625*a,.798125*E,.602375*a)).add(new go.PathSegment(go.PathSegment.Line,.9375*E,.56246875*a).close()).add(new go.PathSegment(go.PathSegment.Move,.5*E,.6*a)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*E,.5*a,.1*E,.1*a).close()))}),go.Shape.defineFigureGenerator("Hand",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.5*a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.1*E,.3*a,0,.375*a,.05*E,.325*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.45*E,.075*a,.3*E,.225*a,.4*E,.175*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.525*E,.075*a,.46*E,.05*a,.525*E,.05*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*E,.4*a,.525*E,.275*a,.475*E,.325*a)),b.add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,.55*a,E,.4*a,E,.55*a)),b.add(new go.PathSegment(go.PathSegment.Line,.425*E,.55*a)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,.55*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.6*E,.7*a,.675*E,.55*a,.675*E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Line,.575*E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.575*E,.85*a,.65*E,.7*a,.65*E,.85*a)),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,.85*a)),b.add(new go.PathSegment(go.PathSegment.Line,.525*E,.85*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.535*E,a,.61*E,.85*a,.61*E,a)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*a,.435*E,a,0,a).close()),x}),go.Shape.defineFigureGenerator("Map",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,.2*a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.25*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Line,.25*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,a).close()),b.add(new go.PathSegment(go.PathSegment.Move,.25*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.25*E,.8*a)),b.add(new go.PathSegment(go.PathSegment.Move,.5*E,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a)),b.add(new go.PathSegment(go.PathSegment.Move,.75*E,0)),b.add(new go.PathSegment(go.PathSegment.Line,.75*E,.8*a)),x}),go.Shape.defineFigureGenerator("Eject",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E,a)),b.add(new go.PathSegment(go.PathSegment.Line,E,a*.7)),b.add(new go.PathSegment(go.PathSegment.Line,0,a*.7).close());var z=new go.PathFigure(0,a*.6,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E,.6*a)),z.add(new go.PathSegment(go.PathSegment.Line,.5*E,0).close()),x}),go.Shape.defineFigureGenerator("Pencil",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*E,.1*a)).add(new go.PathSegment(go.PathSegment.Line,E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.9*E,a)).add(new go.PathSegment(go.PathSegment.Line,.1*E,.2*a).close()))}),go.Shape.defineFigureGenerator("Building",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*1,a*1,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,0,a*.85)),b.add(new go.PathSegment(go.PathSegment.Line,.046*E,a*.85)),b.add(new go.PathSegment(go.PathSegment.Line,.046*E,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,0,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,0,a*.3)),b.add(new go.PathSegment(go.PathSegment.Line,.046*E,a*.3)),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*E,a*.3)),b.add(new go.PathSegment(go.PathSegment.Line,E,a*.3)),b.add(new go.PathSegment(go.PathSegment.Line,E,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*E,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*E,a*.85)),b.add(new go.PathSegment(go.PathSegment.Line,E,a*.85).close());var z=new go.PathFigure(.126*E,.85*a,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.126*E,.45*a)),z.add(new go.PathSegment(go.PathSegment.Line,.322*E,.45*a)),z.add(new go.PathSegment(go.PathSegment.Line,.322*E,.85*a).close());var ee=new go.PathFigure(.402*E,.85*a,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.402*E,.45*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.598*E,.45*a)),ee.add(new go.PathSegment(go.PathSegment.Line,.598*E,.85*a).close());var re=new go.PathFigure(.678*E,.85*a,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.678*E,.45*a)),re.add(new go.PathSegment(go.PathSegment.Line,.874*E,.45*a)),re.add(new go.PathSegment(go.PathSegment.Line,.874*E,.85*a).close());var oe=new go.PathFigure(.5*E,.1*a,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*E,.3*a)),oe.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*E,.3*a).close()),x}),go.Shape.defineFigureGenerator("Staircase",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a*1,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*.8)),b.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.8)),b.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.6)),b.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.6)),b.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.4)),b.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*.4)),b.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*.2)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.2)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.15)),b.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.15)),b.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.35)),b.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.35)),b.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.55)),b.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.55)),b.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.15,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.15,a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,0,a*.95).close()),x}),go.Shape.defineFigureGenerator("5Bars",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,a*1,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*.184,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.184,a*(1-.184)).close());var z=new go.PathFigure(E*.204,a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.204,a*(1-.184))),z.add(new go.PathSegment(go.PathSegment.Line,E*.388,a*(1-.184*2))),z.add(new go.PathSegment(go.PathSegment.Line,E*.388,a*1).close());var ee=new go.PathFigure(E*.408,a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E*.408,a*(1-.184*2))),ee.add(new go.PathSegment(go.PathSegment.Line,E*.592,a*(1-.184*3))),ee.add(new go.PathSegment(go.PathSegment.Line,E*.592,a*1).close());var re=new go.PathFigure(E*.612,a,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*.612,a*(1-.184*3))),re.add(new go.PathSegment(go.PathSegment.Line,E*.796,a*(1-.184*4))),re.add(new go.PathSegment(go.PathSegment.Line,E*.796,a*1).close());var oe=new go.PathFigure(E*.816,a,!0);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,E*.816,a*(1-.184*4))),oe.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-.184*5))),oe.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1).close()),x}),go.Shape.defineFigureGenerator("PC",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,0).close());var z=new go.PathFigure(E*.055,.07*a,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.07)),z.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.055,a*.1).close());var ee=new go.PathFigure(E*.055,.13*a,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.13)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.16)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.055,a*.16).close());var re=new go.PathFigure(E*.055,.18*a,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.18)),re.add(new go.PathSegment(go.PathSegment.Line,E*.245,a*.21)),re.add(new go.PathSegment(go.PathSegment.Line,E*.055,a*.21).close());var oe=new go.PathFigure(E*1,0,!0);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,E*.4,0)),oe.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.65)),oe.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.65).close()),x}),go.Shape.defineFigureGenerator("Plane",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(.55*E,a,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,.7*a)),b.add(new go.PathSegment(go.PathSegment.Line,.1*E,.475*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.35*E,.525*a,0,.4*a,.225*E,.45*a)),b.add(new go.PathSegment(go.PathSegment.Line,.4*E,.475*a)),b.add(new go.PathSegment(go.PathSegment.Line,.15*E,.35*a)),b.add(new go.PathSegment(go.PathSegment.Line,.2*E,.325*a)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,.325*a)),b.add(new go.PathSegment(go.PathSegment.Line,.85*E,.1*a)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*E,.2*a,.975*E,0,E,.08*a)),b.add(new go.PathSegment(go.PathSegment.Line,.7*E,.45*a)),b.add(new go.PathSegment(go.PathSegment.Line,.6*E,.95*a)),b.add(new go.PathSegment(go.PathSegment.Line,.55*E,a).close()),x}),go.Shape.defineFigureGenerator("Key",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*1,a*.5,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*.9,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,.4*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,.35*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.45,.35*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.15,.2*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.35*a)),b.add(new go.PathSegment(go.PathSegment.Line,0,.65*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.15,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,.8*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.45,.65*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,.65*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.6,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.65,.55*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.7,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.75,.55*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.8,.6*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.85,.575*a)),b.add(new go.PathSegment(go.PathSegment.Line,E*.9,.6*a).close()),b.add(new go.PathSegment(go.PathSegment.Move,.17*E,.425*a)),b.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*E,.5*a,.075*E,.075*a).close()),x}),go.Shape.defineFigureGenerator("FilmTape",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,E*0,E*.3,E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,0,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.08,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.08,a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*1),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*1),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*2),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*2),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*3),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*3),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*4),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*4),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*5),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*5),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*6),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*6),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*7),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*7),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*8),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*8),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*9),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*9),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*10),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*10),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*11),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*11),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*12),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*12),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*13),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*13),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*14),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*14),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*15),a*.95)),b.add(new go.PathSegment(go.PathSegment.Line,E*(.08+.056*15),a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1));var z=new go.PathFigure(0,0,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*1,a*0)),z.add(new go.PathSegment(go.PathSegment.Arc,270,-180,E*1,E*.3,E*.055)),z.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1));var ee=new go.PathFigure(E*.11,a*.1,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*1+.028*0),a*.1)),ee.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*1+.028*0),a*.8)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.11,a*.8).close());var re=new go.PathFigure(E*(.11+.24133333*1+.028*1),a*.1,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*2+.028*1),a*.1)),re.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*2+.028*1),a*.8)),re.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*1+.028*1),a*.8).close());var oe=new go.PathFigure(E*(.11+.24133333*2+.028*2),a*.1,!1);return x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*3+.028*2),a*.1)),oe.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*3+.028*2),a*.8)),oe.add(new go.PathSegment(go.PathSegment.Line,E*(.11+.24133333*2+.028*2),a*.8).close()),x}),go.Shape.defineFigureGenerator("FloppyDisk",function(me,E,a){var x=new go.Geometry,b=8,z=b*je,ee=new go.PathFigure(b,0,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E*.86,0)),ee.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.14)),ee.add(new go.PathSegment(go.PathSegment.Line,E,a-b)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E-b,a,E,a-z,E-z,a)),ee.add(new go.PathSegment(go.PathSegment.Line,b,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,a-b,z,a,0,a-z)),ee.add(new go.PathSegment(go.PathSegment.Line,0,b)),ee.add(new go.PathSegment(go.PathSegment.Bezier,b,0,0,z,z,0).close());var re=new go.PathFigure(E*.83,0,!1);x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E*.83,a*.3)),re.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*.3)),re.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*0).close());var oe=new go.PathFigure(E*.83,a*1,!1);x.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,E*.83,a*.5)),oe.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*.5)),oe.add(new go.PathSegment(go.PathSegment.Line,E*.17,a*1).close());var le=new go.PathFigure(E*.78,a*.05,!1);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.05)),le.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.25)),le.add(new go.PathSegment(go.PathSegment.Line,E*.78,a*.25).close()),x}),go.Shape.defineFigureGenerator("SpeechBubble",function(me,E,a){var x=me?me.parameter1:NaN;(isNaN(x)||x<0)&&(x=15),x=Math.min(x,E/3),x=Math.min(x,a/3);var b=x*je,z=a*.8,ee=new go.Geometry,re=new go.PathFigure(x,0,!0);return ee.add(re),re.add(new go.PathSegment(go.PathSegment.Line,E-x,0)),re.add(new go.PathSegment(go.PathSegment.Bezier,E,x,E-b,0,E,b)),re.add(new go.PathSegment(go.PathSegment.Line,E,z-x)),re.add(new go.PathSegment(go.PathSegment.Bezier,E-x,z,E,z-b,E-b,z)),re.add(new go.PathSegment(go.PathSegment.Line,E*.7,z)),re.add(new go.PathSegment(go.PathSegment.Line,E*.7,a)),re.add(new go.PathSegment(go.PathSegment.Line,E*.55,z)),re.add(new go.PathSegment(go.PathSegment.Line,x,z)),re.add(new go.PathSegment(go.PathSegment.Bezier,0,z-x,b,z,0,z-b)),re.add(new go.PathSegment(go.PathSegment.Line,0,x)),re.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,b,b,0).close()),b>1?(ee.spot1=new go.Spot(0,0,b,b),ee.spot2=new go.Spot(1,.8,-b,-b)):(ee.spot1=go.Spot.TopLeft,ee.spot2=new go.Spot(1,.8)),ee}),go.Shape.defineFigureGenerator("Repeat",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*0,a*.45,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*.9)),b.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.9)),b.add(new go.PathSegment(go.PathSegment.Line,E*.65,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.2,a*.45).close());var z=new go.PathFigure(E*1,a*.55,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.55)),z.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*.55)),z.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*.1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.1)),z.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*0)),z.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),z.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*.55).close()),x}),go.Shape.defineFigureGenerator("Windows",function(me,E,a){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,E,0)).add(new go.PathSegment(go.PathSegment.Line,E,a)).add(new go.PathSegment(go.PathSegment.Line,0,a).close()).add(new go.PathSegment(go.PathSegment.Move,.4*E,.4*a)).add(new go.PathSegment(go.PathSegment.Line,.4*E,.8*a)).add(new go.PathSegment(go.PathSegment.Line,.9*E,.8*a)).add(new go.PathSegment(go.PathSegment.Line,.9*E,.4*a).close()).add(new go.PathSegment(go.PathSegment.Move,.2*E,.1*a)).add(new go.PathSegment(go.PathSegment.Line,.2*E,.6*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.6*a)).add(new go.PathSegment(go.PathSegment.Line,.7*E,.1*a).close()).add(new go.PathSegment(go.PathSegment.Move,.1*E,.6*a)).add(new go.PathSegment(go.PathSegment.Line,.1*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,.9*a)).add(new go.PathSegment(go.PathSegment.Line,.5*E,.6*a).close()))}),go.Shape.defineFigureGenerator("Terminal",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*0,a*.1,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.1)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.9)),b.add(new go.PathSegment(go.PathSegment.Line,E*0,a*.9).close());var z=new go.PathFigure(E*.1,a*.2,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.1,a*.25)),z.add(new go.PathSegment(go.PathSegment.Line,E*.22,a*.285)),z.add(new go.PathSegment(go.PathSegment.Line,E*.1,a*.32)),z.add(new go.PathSegment(go.PathSegment.Line,E*.1,a*.37)),z.add(new go.PathSegment(go.PathSegment.Line,E*.275,a*.32)),z.add(new go.PathSegment(go.PathSegment.Line,E*.275,a*.25).close());var ee=new go.PathFigure(E*.28,a*.37,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.37)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.41)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.28,a*.41).close()),x}),go.Shape.defineFigureGenerator("Beaker",function(me,E,a){var x=new go.Geometry,b=15,z=b*je,ee=new go.PathFigure(E*.62,a*.475,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E,a-b)),ee.add(new go.PathSegment(go.PathSegment.Bezier,E-b,a,E,a-z,E-z,a)),ee.add(new go.PathSegment(go.PathSegment.Line,b,a)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,a-b,z,a,0,a-z)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.38,a*.475)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.38,a*.03)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*0)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*0)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.62,a*.03).close()),z>1?(x.spot1=new go.Spot(0,0,z,z),x.spot2=new go.Spot(1,1,-z,-z)):(x.spot1=go.Spot.TopLeft,x.spot2=go.Spot.BottomRight),x}),go.Shape.defineFigureGenerator("Download",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*0,a*1,!0);x.add(b);var z=.1/.3;b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*.755,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*.93,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.61,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.39,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.07,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.755),a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.8),a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*0,a*(1-z)).close());var ee=new go.PathFigure(E*.4,a*0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.26,a*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.66)),ee.add(new go.PathSegment(go.PathSegment.Line,E*(1-.26),a*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*0).close()),x}),go.Shape.defineFigureGenerator("Bin",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*0,a*1,!0);x.add(b);var z=.1/.3;return b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*.755,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*.93,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.61,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.39,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.07,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.755),a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.8),a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*0,a*(1-z)).close()),x}),go.Shape.defineFigureGenerator("Upload",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*0,a*1,!0);x.add(b);var z=.1/.3;b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.8,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.66,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*.755,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*.93,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.64,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.61,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.39,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.36,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*.07,a*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.755),a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.66),a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*(1-.8),a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*0,a*(1-z)).close());var ee=new go.PathFigure(E*.5,a*0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,E*.26,a*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.4,a*.63)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.63)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.6,a*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,E*.74,a*.25).close()),x}),go.Shape.defineFigureGenerator("EmptyDrink",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*.15,a*0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*.85,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*1).close()),x}),go.Shape.defineFigureGenerator("Drink",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*.15,a*0,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*.85,a*0)),b.add(new go.PathSegment(go.PathSegment.Line,E*.7,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.3,a*1).close());var z=new go.PathFigure(E*.235,a*.28,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,E*.765,a*.28)),z.add(new go.PathSegment(go.PathSegment.Line,E*.655,a*.97)),z.add(new go.PathSegment(go.PathSegment.Line,E*.345,a*.97).close()),x}),go.Shape.defineFigureGenerator("4Arrows",function(me,E,a){var x=new go.Geometry,b=new go.PathFigure(E*.5,a*0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,E*.65,a*.25)),b.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.25)),b.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.35)),b.add(new go.PathSegment(go.PathSegment.Line,E*1,a*.5)),b.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.65)),b.add(new go.PathSegment(go.PathSegment.Line,E*.75,a*.55)),b.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.55)),b.add(new go.PathSegment(go.PathSegment.Line,E*.55,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.65,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.5,a*1)),b.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.75)),b.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.55)),b.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.55)),b.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.65)),b.add(new go.PathSegment(go.PathSegment.Line,E*0,a*.5)),b.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.35)),b.add(new go.PathSegment(go.PathSegment.Line,E*.25,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.45)),b.add(new go.PathSegment(go.PathSegment.Line,E*.45,a*.25)),b.add(new go.PathSegment(go.PathSegment.Line,E*.35,a*.25).close()),x}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},61016:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var xt={},$t="5.0",ne={},y=null,se=!1,Le=!1,Ze=null,Ie=!1,Je=null,je=null,Ye=0;Ye4?parseFloat(nt):5};xt.setHTML5Codebase=function(nt,ft){je=nt,Mt(nt,ft)},xt.setJavaCodebase=xt.setJavaCodebaseVersion=xt.isCompiledInstalled=xt.setPreCompiledScriptPath=xt.setPreCompiledResourcePath=function(){},xt.setHTML5CodebaseVersion=function(nt,ft){var Yt=parseFloat(nt);if(Yt!==NaN&&Yt<5){console.log("The GeoGebra HTML5 codebase version "+Yt+" is deprecated. Using version latest instead.");return}Je=nt,yt(nt,ft)},xt.getHTML5CodebaseVersion=function(){return me},xt.getParameters=function(){return ne},xt.setFontsCSSURL=function(nt){ee=nt},xt.setGiacJSURL=function(nt){},xt.setJNLPFile=function(nt){ze=nt},xt.setJNLPBaseDir=function(nt){},xt.inject=function(){function nt(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var ft="auto",Yt=ne.id,qt,Nt=!1,en=0;en=5)return!0;var nt=xt.getAppletObject();return nt&&typeof nt.recalculateEnvironments=="function"?(nt.recalculateEnvironments(),!0):!1},xt.startAnimation=function(){var nt=xt.getAppletObject();return nt&&typeof nt.startAnimation=="function"?(nt.startAnimation(),!0):!1},xt.stopAnimation=function(){var nt=xt.getAppletObject();return nt&&typeof nt.stopAnimation=="function"?(nt.stopAnimation(),!0):!1},xt.getAppletObject=function(){var nt=ne.id!==void 0?ne.id:"ggbApplet";return window[nt]},xt.resize=function(){};var Oe=function(nt,ft,Yt){var qt=document.createElement("param");qt.setAttribute("name",ft),qt.setAttribute("value",Yt),nt.appendChild(qt)},Te=function(nt){return nt&&nt!=="false"},Qe=function(nt,ft,Yt){oe(me)<=4.2&&(Yt=!0);var qt=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==me||ggbHTML5LoadedCodebaseIsWebSimple&&!a)&&(qt=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var Nt=document.createElement("div");Nt.classList.add("appletParameters","notranslate");var en=ft.width,$e=ft.height;if(ft.disableAutoScale=ft.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():ft.disableAutoScale,ft.width!==void 0)if(oe(me)<=4.4)Te(ft.showToolBar)&&(ft.height-=7),Te(ft.showAlgebraInput)&&(ft.height-=37),ft.width<605&&Te(ft.showToolBar)&&(ft.width=605,en=605);else{var Lt=100;(Te(ft.showToolBar)||Te(ft.showMenuBar))&&(ft.hasOwnProperty("customToolBar")&&(ft.customToolbar=ft.customToolBar),Lt=Te(ft.showMenuBar)?245:155),en=5?(ft.appletOnLoad=function(Zn){var Ha=nt.querySelector(".ggb_preview");Ha&&Ha.parentNode.removeChild(Ha),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(kt),window.GGBT_wsf_view&&$(window).trigger("resize"),At(Zn)},ua||kt.appendChild(Et)):Nt.appendChild(Et),kt.appendChild(Nt),ua||nt.appendChild(kt),setTimeout(function(){xt.resize()},1)}else{var dt=document.createElement("div");dt.className="applet_scaler",dt.style.position="relative",dt.style.display="block",dt.appendChild(Nt),nt.appendChild(dt),ft.appletOnLoad=function(Zn){xt.resize(),At(Zn)}}function Ht(Zn,Ha){Ha&&typeof Ha.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(Zn,Ha.appletOnLoad):renderGGBElement(Zn),Vt("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",Ha)}function Bn(Zn,Ha){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:Zn,params:Ha}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(Ka){Ht(Ka.article,Ka.params)}),html5AppletsToProcess=null)},oe(me)<5&&(Zn.className+=" geogebraweb")):Ht(Zn,Ha)}if(qt){scriptLoadStarted=!0;for(var kn=0;kn0?(na.remove(),kt.attr("id","fullscreencontent").show(),jQuery(At).append(kt),window.dispatchEvent(new Event("resize"))):Qe(na,ft,!1),window.GGBT_wsf_view.launchFullScreen(At)}else at=qt,Qe(nt,ft,!1);if(!window.GGBT_wsf_view)for($e=0;$ent/4*3&&(na=nt/4*3),At=na/5.8,Lt.setAttribute("src",b),Lt.setAttribute("width",na),Lt.setAttribute("height",At);var kt=(nt-na)/2,ua=(ft-At)/2;Lt.style.left=kt+"px",Lt.style.top=ua+"px",Nt.appendChild(Lt)}}return Nt.appendChild($e),Nt},Bt=function(nt){return nt=nt.toLowerCase(),nt==="html5"||nt==="screenshot"?nt:"html5"},Ft=["web","webSimple","web3d","tablet","tablet3d","phone"],yt=function(nt,ft){if(me=nt,ft){Mt(me,!0);return}var Yt=!se;if(Yt){var qt=oe(me);!isNaN(qt)&&qt<4.4&&(Yt=!1)}var Nt,en;window.location.protocol.substr(0,4)==="http"?Nt=window.location.protocol:Nt="http:";var $e=me.indexOf("//");$e>0?en=me:$e===0?en=Nt+me:en="https://www.geogebra.org/apps/5.2.814.0/";for(var Lt in Ft)if(me.slice(Ft[Lt].length*-1)===Ft[Lt]||me.slice((Ft[Lt].length+1)*-1)===Ft[Lt]+"/"){Mt(en,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Yt&&!y.is3D&&!y.AV&&!y.SV&&!y.CV&&!y.EV2&&!y.CP&&!y.PC&&!y.DA&&!y.FI&&!y.PV&&!Te(ne.showToolBar)&&!Te(ne.showMenuBar)&&!Te(ne.showAlgebraInput)&&!Te(ne.enableRightClick)&&(!ne.appName||ne.appName=="classic")?en+="webSimple/":en+="web3d/",Mt(en,!1)},Mt=function(nt,ft){if(nt.requirejs){We=nt;return}nt.slice(-1)!=="/"&&(nt+="/"),We=nt,ft===null&&(ft=nt.indexOf("http")===-1),ge=ft,E="web.nocache.js",a=!1;var Yt=We.split("/");Yt.length>1&&(!ft&&Yt[Yt.length-2]==="webSimple"?(E="webSimple.nocache.js",a=!0):Ft.indexOf(Yt[Yt.length-2])>=0&&(E=Yt[Yt.length-2]+".nocache.js")),Yt=nt.split("/"),me=Yt[Yt.length-3],me.substr(0,4)==="test"?me=me.substr(4,1)+"."+me.substr(5,1):(me.substr(0,3)==="war"||me.substr(0,4)==="beta")&&(me="5.0");var qt=parseFloat(me);qt!==NaN&&qt<5&&nt.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+qt+" is deprecated. Using version latest instead."),yt("5.0",ft))},Vt=function(nt,ft){window.console&&window.console.log&&(!ft||typeof ft.showLogging=="undefined"||ft.showLogging&&ft.showLogging!=="false")&&console.log(nt)};ne.material_id!==void 0?Ne(mt):mt();function mt(){var nt=$t;Je!==null?nt=Je:parseFloat(nt)<5&&(nt="5.0"),yt(nt,!1),je!==null&&Mt(je,ge),Ie=!0}return xt},GGBAppletUtils=function(){"use strict";function xt(){return window.GGBT_wsf_edit!==void 0}function $t(Ie,Je){Je!=1?(Ie.style.transformOrigin="0% 0% 0px",Ie.style.webkitTransformOrigin="0% 0% 0px",Ie.style.transform="scale("+Je+","+Je+")",Ie.style.webkitTransform="scale("+Je+","+Je+")",Ie.style.maxWidth="initial",Ie.querySelector(".ggb_preview")!==null&&(Ie.querySelector(".ggb_preview").style.maxWidth="initial"),Ie.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Ie.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Ie.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Ie.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Ie.style.transform="none",Ie.style.webkitTransform="none")}function ne(Ie,Je,je,Ye,xe,ze){var We=null;if(ze!=null&&ze!="")for(var ge=Ie.parentNode;ge!=null;)if((" "+ge.className+" ").indexOf(" "+ze+" ")>-1){We=ge;break}else ge=ge.parentNode;var at=0,me=0,E=0,a=0,x=0,b=0,z=0;if(We)at=We.offsetWidth,me=Math.max(Ye?We.offsetWidth:0,We.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(at=Math.min(window.innerWidth,document.documentElement.clientWidth),me=Math.min(window.innerHeight,document.documentElement.clientHeight),E=at):(at=window.innerWidth,me=window.innerHeight,E=window.innerWidth),Ie){var ee=Ie.getBoundingClientRect();ee.left>0&&ee.left<=at&&(xe===void 0||!xe)&&(document.dir==="rtl"?(x=at-ee.width-ee.left,b=E<=480?10:30):(b=ee.left,x=E<=480?10:30),a=b+x)}if(Ie&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var re=Ie.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(a=40,z=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(a=0,z=40)}}return Ie&&((je===void 0||!je)&&Je>0&&Je+a1&&(ze=!0)),Je&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(ze=!0),!(Ie.hasOwnProperty("disableAutoScale")&&Ie.disableAutoScale))xe=y(Ie,Je,ze,je,Ie.scaleContainerClass);else return Ye;return ze&&(!Ie.hasOwnProperty("scale")||Ye===1)?xe:Math.min(Ye,xe)}function Le(Ie){var Je=Math.min(window.innerWidth,document.documentElement.clientWidth),je=Math.min(window.innerHeight,document.documentElement.clientHeight),Ye=Ie.getBoundingClientRect(),xe=(Je-Ye.width)/2,ze=(je-Ye.height)/2;ze<0&&(ze=0),Ie.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(xe<40?Ie.style.left="40px":Ie.style.left=xe+"px",Ie.style.top=ze+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ze<40?Ie.style.top="40px":Ie.style.top=ze+"px",Ie.style.left=xe+"px")}function Ze(Ie,Je){var je=Ie.querySelector(".appletParameters");if(je){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Je.id!==je.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Ie)}if(je.parentElement&&/fullscreen/.test(je.parentElement.className))return;var Ye=se(Je,Ie);xt()&&je.setAttribute("data-param-scale",Ye);for(var xe=null,ze=0;ze=O)continue;if(j==jb){if(k=i.getAttribute(kb),k){var l,m=k.indexOf(lb);m>=O?(j=k.substring(O,m),l=k.substring(m+P)):(j=k,l=W),c[j]=l}}else if(j==mb){if(k=i.getAttribute(kb),k)try{d=eval(k)}catch(xt){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(xt){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(xt){var $t=c[xt];return $t==null?null:$t},r=d,webModule.__errFn=e}function B(){function xt(Ie){var Je=Ie.lastIndexOf(rb);Je==-1&&(Je=Ie.length);var je=Ie.indexOf(sb);je==-1&&(je=Ie.length);var Ye=Ie.lastIndexOf(tb,Math.min(je,Je));return Ye>=O?Ie.substring(O,Ye+P):W}function $t(Ie){if(!Ie.match(/^\w+:\/\//)){var Je=o.createElement(ub);Je.src=Ie+vb,Ie=xt(Je.src)}return Ie}function ne(){var Ie=__gwt_getMetaProperty(wb);return Ie!=null?Ie:W}function y(){for(var Ie=o.getElementsByTagName(_),Je=O;JeO?Ie[Ie.length-P].href:W}function Le(){var Ie=o.location;return Ie.href==Ie.protocol+zb+Ie.host+Ie.pathname+Ie.search+Ie.hash}var Ze=ne();return Ze==W&&(Ze=y()),Ze==W&&(Ze=se()),Ze==W&&Le()&&(Ze=xt(o.location.href)),Ze=$t(Ze),Ze}function C(xt){return xt.match(/^\//)||xt.match(/^[a-zA-Z]+:\/\//)?xt:webModule.__moduleBase+xt}function D(){var xt=[],$t=O,ne=[],y=[];function se(Ie){var Je=y[Ie](),je=ne[Ie];if(Je in je)return Je;var Ye=[];for(var xe in je)Ye[je[xe]]=xe;throw r&&r(Ie,Ye,Je),null}if(__gwt_isKnownPropertyValue=function(Ie,Je){return Je in ne[Ie]},webModule.__getPropMap=function(){var Ie={};for(var Je in ne)ne.hasOwnProperty(Je)&&(Ie[Je]=se(Je));return Ie},webModule.__computePropValue=se,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Le;try{Le=Cb;var Ze=Le.indexOf(Db);Ze!=-1&&($t=parseInt(Le.substring(Ze+P),$),Le=Le.substring(O,Ze))}catch(Ie){}return webModule.__softPermutationId=$t,C(Le+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase=window.ENV==="build"?"/react/build/js/mathematicalGraphics/"+name+"/":"/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},15476:function(xt,$t,ne){"use strict";ne.d($t,{Ax:function(){return Ze},Ds:function(){return Ie},KI:function(){return je},SI:function(){return Le},f1:function(){return se}});var y=ne(11320);function se(Ye){let xe=!0;if(Ye.length>0){for(let ze=0;zea in E?Le(E,a,{enumerable:!0,configurable:!0,writable:!0,value:x}):E[a]=x,ze=(E,a)=>{for(var x in a||(a={}))je.call(a,x)&&xe(E,x,a[x]);if(Je)for(var x of Je(a))Ye.call(a,x)&&xe(E,x,a[x]);return E},We=(E,a)=>Ze(E,Ie(a)),ge=(E,a)=>{var x={};for(var b in E)je.call(E,b)&&a.indexOf(b)<0&&(x[b]=E[b]);if(E!=null&&Je)for(var b of Je(E))a.indexOf(b)<0&&Ye.call(E,b)&&(x[b]=E[b]);return x},at=(E,a,x)=>new Promise((b,z)=>{var ee=le=>{try{oe(x.next(le))}catch(Ee){z(Ee)}},re=le=>{try{oe(x.throw(le))}catch(Ee){z(Ee)}},oe=le=>le.done?b(le.value):Promise.resolve(le.value).then(ee,re);oe((x=x.apply(E,a)).next())});const me=E=>{var a=E,{children:x}=a,b=ge(a,["children"]);const[z,ee]=(0,se.useState)(!1);return se.createElement(y.ZP,We(ze({},b),{loading:z,onClick:re=>at(void 0,null,function*(){try{ee(!0),yield b.onClick(re),ee(!1)}catch(oe){console.error(oe),ee(!1)}})}),x)}},56243:function(xt,$t,ne){"use strict";var y=ne(17187),se=ne.n(y),Le=Object.defineProperty,Ze=(Ye,xe,ze)=>xe in Ye?Le(Ye,xe,{enumerable:!0,configurable:!0,writable:!0,value:ze}):Ye[xe]=ze,Ie=(Ye,xe,ze)=>Ze(Ye,typeof xe!="symbol"?xe+"":xe,ze),Je=(Ye,xe,ze)=>new Promise((We,ge)=>{var at=a=>{try{E(ze.next(a))}catch(x){ge(x)}},me=a=>{try{E(ze.throw(a))}catch(x){ge(x)}},E=a=>a.done?We(a.value):Promise.resolve(a.value).then(at,me);E((ze=ze.apply(Ye,xe)).next())});class je extends y.EventEmitter{constructor(xe,ze){super(),Ie(this,"url"),Ie(this,"body"),Ie(this,"fullContent",""),Ie(this,"controller",null),Ie(this,"buffer",""),this.url=xe,this.body=ze}startStream(){return Je(this,null,function*(){this.controller=new AbortController;const{signal:xe}=this.controller;try{const ze=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:xe});if(!ze.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${ze.status}`);const We=ze.headers.get("content-type");if(!We)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(We.includes("application/json")){const me=yield ze.json();this.emit("error",me);return}if(!We.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const ge=ze.body.getReader(),at=new TextDecoder("utf-8");for(;;){const{done:me,value:E}=yield ge.read();if(me)break;const a=at.decode(E,{stream:!0});this.buffer+=a;const x=this.buffer.split(` `);this.buffer=x.pop()||"";for(const b of x)if(b.startsWith("data:")){const z=b.slice(5).trim();if(z==="[DONE]")break;try{const ee=JSON.parse(z);ee.data&&this.handleData(ee.data)}catch(ee){this.buffer=b+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",ee)}}}this.emit("done",this.fullContent)}catch(ze){ze.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",ze.message)}})}handleData(xe){xe.content&&(this.fullContent+=xe.content,this.emit("data",{chunk:xe,full:this.fullContent}))}cancelRequest(){var xe;(xe=this.controller)==null||xe.abort()}}$t.Z=je},21826:function(xt,$t,ne){"use strict";ne.d($t,{Z:function(){return Ft}});var y=ne(67294),se=ne(94668),Le=ne(91733),Ze=ne(17274),Ie=ne(86032),Je=ne(74855),je={answer:"answer___UngkO",imgWrap:"imgWrap___ORTRf",codeCopy:"codeCopy___re8vm",runCode:"runCode___MYs9m"},Ye=ne(2453),xe=ne(99398),ze=ne(36576),We=ne(41807),ge=ne(67127),at=ne(81897),me=ne(72565),E=ne(71230),a=ne(15746),x={smartWrp:"smartWrp___NjRcB"},b=ne(36295),z=ne(80150),ee=ne(60580),re=ne(67294),oe=(yt,Mt,Vt)=>new Promise((mt,nt)=>{var ft=Nt=>{try{qt(Vt.next(Nt))}catch(en){nt(en)}},Yt=Nt=>{try{qt(Vt.throw(Nt))}catch(en){nt(en)}},qt=Nt=>Nt.done?mt(Nt.value):Promise.resolve(Nt.value).then(ft,Yt);qt((Vt=Vt.apply(yt,Mt)).next())});const le=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

\u5FEB\u901F\u6392\u5E8F\u7B97\u6CD5\u6F14\u793A