(self.webpackChunk=self.webpackChunk||[]).push([[4706],{55304:function(ht,ut,ge){"use strict";ge.d(ut,{Z:function(){return ce}});var re=ge(87462),Ae=ge(67294),E={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"},ve=E,me=ge(74643),de=function(ie,le){return Ae.createElement(me.Z,(0,re.Z)({},ie,{ref:le,icon:ve}))},ce=Ae.forwardRef(de)},71736:function(ht,ut){"use strict";ut.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},11579:function(ht,ut){"use strict";ut.Z={footer:"footer___bruwa",whiteFooter:"whiteFooter___mR7kn",error:"error___KO0Jg",case:"case___L0pNc","resize-y-bar":"resize-y-bar___NK0gI",unfoldBtn:"unfoldBtn___aMmZw",caseHead:"caseHead___EuMPr",dot:"dot___Iky9k",text:"text___lMSx6",pass:"pass___XjijC",noPass:"noPass___JxpWk",btns:"btns___FPIaK",result:"result___oRj1h",title:"title___IhMSa",left:"left___XlC98",leftNode:"leftNode___NGHgx",right:"right____fIu_",node:"node___MwdH7",elseNode:"elseNode___WjFIg",nameWrap:"nameWrap___bEdbD",scroll:"scroll___ylWYt",scrollBox:"scrollBox___hWkc9",action:"action___xBwDi",whiteCase:"whiteCase___AZiDR",disabled:"disabled___lWQU2",codeHead:"codeHead___l8q5R",navWrap:"navWrap___xdWQe",nav:"nav___JKPVX",active:"active___DTAtT",whiteCodeHead:"whiteCodeHead___wDOny",header:"header___VjNh9",timepiece:"timepiece___yuqJC",btn_edit:"btn_edit___ozzux",whiteHeader:"whiteHeader___REV3m",djs:"djs___v0Ru7",myProblems:"myProblems___DKSbs",whiteMyProblems:"whiteMyProblems___k0QS3",fullMask:"fullMask___QZH1M"}},1885:function(ht,ut){"use strict";ut.Z={modalContent:"modalContent___UXmJC",modalContentLeft:"modalContentLeft___JOFgX",green:"green___rI_w_",textArea:"textArea___OTapv",red:"red___cDswv",row:"row___CE3Y7",html:"html___u9n4r",line:"line___Lh9Lb"}},12867:function(){"use strict"},57971:function(ht,ut,ge){"use strict";var re=ge(67294),Ae=Object.defineProperty,E=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,de=(ie,le,oe)=>le in ie?Ae(ie,le,{enumerable:!0,configurable:!0,writable:!0,value:oe}):ie[le]=oe,ce=(ie,le)=>{for(var oe in le||(le={}))ve.call(le,oe)&&de(ie,oe,le[oe]);if(E)for(var oe of E(le))me.call(le,oe)&&de(ie,oe,le[oe]);return ie};const se=ie=>React.createElement("svg",ce({className:"jiangxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},ie),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"}));ut.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Im0yNDguNjg2IDgwMy4xODItNjUuODI5IDc1LjkyMlY2NTguMjg2aC03My4xNDN2MjIwLjgxOGwtNjUuODI4LTc1Ljk5NUwwIDg1MS4zODMgMTQ2LjI4NiAxMDI0IDI5Mi41NyA4NTEuNTN6IiBmaWxsPSIjMTQ1REZGIi8+PHBhdGggZD0iTTE0Ni4yODYgMCAwIDE1OC43Mmw0My44ODYgNTUuMjIzIDY1LjgyOC03NS45MjJ2MjI3LjY5M2g3My4xNDNWMTM4LjAyMWw2NS44MjkgNzUuOTIyIDQzLjg4NS01NS4yMjN6IiBmaWxsPSIjOThCREY3Ii8+PC9zdmc+"},36913:function(ht,ut,ge){"use strict";var re=ge(67294),Ae=Object.defineProperty,E=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,de=(ie,le,oe)=>le in ie?Ae(ie,le,{enumerable:!0,configurable:!0,writable:!0,value:oe}):ie[le]=oe,ce=(ie,le)=>{for(var oe in le||(le={}))ve.call(le,oe)&&de(ie,oe,le[oe]);if(E)for(var oe of E(le))me.call(le,oe)&&de(ie,oe,le[oe]);return ie};const se=ie=>React.createElement("svg",ce({className:"shengxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},ie),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"}));ut.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzek0yNDguNjg2IDgwMy4xODJsLTY1LjgyOSA3NS45MjJWNjU4LjI4NmgtNzMuMTQzdjIyMC44MThsLTY1LjgyOC03NS45OTVMMCA4NTEuMzgzIDE0Ni4yODYgMTAyNCAyOTIuNTcgODUxLjUzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Ik0xNDYuMjg2IDAgMCAxNTguNzJsNDMuODg2IDU1LjIyMyA2NS44MjgtNzUuOTIydjIyNy42OTNoNzMuMTQzVjEzOC4wMjFsNjUuODI5IDc1LjkyMiA0My44ODUtNTUuMjIzeiIgZmlsbD0iIzE0NURGRiIvPjwvc3ZnPg=="},22707:function(ht,ut,ge){"use strict";var re=ge(67294),Ae=Object.defineProperty,E=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,de=(ie,le,oe)=>le in ie?Ae(ie,le,{enumerable:!0,configurable:!0,writable:!0,value:oe}):ie[le]=oe,ce=(ie,le)=>{for(var oe in le||(le={}))ve.call(le,oe)&&de(ie,oe,le[oe]);if(E)for(var oe of E(le))me.call(le,oe)&&de(ie,oe,le[oe]);return ie};const se=ie=>React.createElement("svg",ce({width:30,height:30,xmlns:"http://www.w3.org/2000/svg"},ie),React.createElement("title",null,"\u5360\u7528\u5185\u5B58"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{fillOpacity:.01,fill:"#FFF",d:"M0 0h30v30H0z"}),React.createElement("path",{d:"M6.866 26.928h-1.28a2.561 2.561 0 0 1-2.562-2.561V5.585a2.561 2.561 0 0 1 2.561-2.56h1.28v4.268a2.561 2.561 0 0 0 2.562 2.56h3.842a2.561 2.561 0 0 0 2.56-2.56V3.024h2.915l8.184 8.184v13.159a2.561 2.561 0 0 1-2.561 2.561h-1.28v-5.976c0-.943-.765-1.707-1.708-1.707H8.573c-.943 0-1.707.764-1.707 1.707v5.976Z",fill:"#B6D0FC"}),React.createElement("path",{d:"M8.573 3.024h5.55v4.269a.854.854 0 0 1-.854.853H9.427a.854.854 0 0 1-.854-.853V3.024ZM8.573 26.928v-5.976H21.38v5.976z",fill:"#1890FF"})));ut.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBmaWxsLW9wYWNpdHk9Ii4wMSIgZmlsbD0iI0ZGRiIgZD0iTTAgMGgzMHYzMEgweiIvPjxwYXRoIGQ9Ik02Ljg2NiAyNi45MjhoLTEuMjhhMi41NjEgMi41NjEgMCAwIDEtMi41NjItMi41NjFWNS41ODVhMi41NjEgMi41NjEgMCAwIDEgMi41NjEtMi41NmgxLjI4djQuMjY4YTIuNTYxIDIuNTYxIDAgMCAwIDIuNTYyIDIuNTZoMy44NDJhMi41NjEgMi41NjEgMCAwIDAgMi41Ni0yLjU2VjMuMDI0aDIuOTE1bDguMTg0IDguMTg0djEzLjE1OWEyLjU2MSAyLjU2MSAwIDAgMS0yLjU2MSAyLjU2MWgtMS4yOHYtNS45NzZjMC0uOTQzLS43NjUtMS43MDctMS43MDgtMS43MDdIOC41NzNjLS45NDMgMC0xLjcwNy43NjQtMS43MDcgMS43MDd2NS45NzZaIiBmaWxsPSIjQjZEMEZDIi8+PHBhdGggZD0iTTguNTczIDMuMDI0aDUuNTV2NC4yNjlhLjg1NC44NTQgMCAwIDEtLjg1NC44NTNIOS40MjdhLjg1NC44NTQgMCAwIDEtLjg1NC0uODUzVjMuMDI0Wk04LjU3MyAyNi45Mjh2LTUuOTc2SDIxLjM4djUuOTc2eiIgZmlsbD0iIzE4OTBGRiIvPjwvZz48L3N2Zz4="},8861:function(ht,ut,ge){"use strict";var re=ge(67294),Ae=Object.defineProperty,E=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,de=(ie,le,oe)=>le in ie?Ae(ie,le,{enumerable:!0,configurable:!0,writable:!0,value:oe}):ie[le]=oe,ce=(ie,le)=>{for(var oe in le||(le={}))ve.call(le,oe)&&de(ie,oe,le[oe]);if(E)for(var oe of E(le))me.call(le,oe)&&de(ie,oe,le[oe]);return ie};const se=ie=>React.createElement("svg",ce({width:30,height:30,xmlns:"http://www.w3.org/2000/svg"},ie),React.createElement("title",null,"\u8FD0\u884C\u65F6\u95F4"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M30 15c0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15C0 6.716 6.716 0 15 0c8.284 0 15 6.716 15 15Z",fill:"#BAFFF0"}),React.createElement("path",{d:"M25.5 15c0 5.8-4.7 10.5-10.5 10.5S4.5 20.8 4.5 15 9.2 4.5 15 4.5 25.5 9.2 25.5 15Z",fill:"#44D7B6"}),React.createElement("path",{d:"M13.5 9a1.5 1.5 0 0 1 1.5 1.5v4.379l3.56 3.56a1.5 1.5 0 0 1-2.12 2.122l-4-4A1.5 1.5 0 0 1 12 15.5v-5A1.5 1.5 0 0 1 13.5 9Z",fill:"#FFF"})));ut.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMzAgMTVjMCA4LjI4NC02LjcxNiAxNS0xNSAxNS04LjI4NCAwLTE1LTYuNzE2LTE1LTE1QzAgNi43MTYgNi43MTYgMCAxNSAwYzguMjg0IDAgMTUgNi43MTYgMTUgMTVaIiBmaWxsPSIjQkFGRkYwIi8+PHBhdGggZD0iTTI1LjUgMTVjMCA1LjgtNC43IDEwLjUtMTAuNSAxMC41UzQuNSAyMC44IDQuNSAxNSA5LjIgNC41IDE1IDQuNSAyNS41IDkuMiAyNS41IDE1WiIgZmlsbD0iIzQ0RDdCNiIvPjxwYXRoIGQ9Ik0xMy41IDlhMS41IDEuNSAwIDAgMSAxLjUgMS41djQuMzc5bDMuNTYgMy41NmExLjUgMS41IDAgMCAxLTIuMTIgMi4xMjJsLTQtNEExLjUgMS41IDAgMCAxIDEyIDE1LjV2LTVBMS41IDEuNSAwIDAgMSAxMy41IDlaIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg=="},18023:function(){"use strict";function ht(te,a,y,x){y===void 0&&(y=0),x===void 0&&(x=1/0),this._name=te,this._defaultValue=a,this._minimum=y,this._maximum=x}Object.defineProperty(ht.prototype,"name",{get:function(){return this._name},set:function(te){if(typeof te!="string"||te==="")throw new Error("Shape name must be a valid string.");this._name=te}}),Object.defineProperty(ht.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(te){if(typeof te!="number"||isNaN(te))throw new Error("The default value must be a real number, not: "+te);this._defaultValue=te}}),Object.defineProperty(ht.prototype,"minimum",{get:function(){return this._minimum},set:function(te){if(typeof te!="number"||isNaN(te))throw new Error("Minimum must be a real number, not: "+te);this._minimum=te}}),Object.defineProperty(ht.prototype,"maximum",{get:function(){return this._maximum},set:function(te){if(typeof te!="number"||isNaN(te))throw new Error("Maximum must be a real number, not: "+te);this._maximum=te}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(te,a){var y=go.Shape._FigureParameters[te];return y?y[a]:null},go.Shape.setFigureParameter=function(te,a,y){if(!(y instanceof ht))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+y);if(y.defaultValuey.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+y.defaultValue);var x=go.Shape._FigureParameters[te];x||(x=[],go.Shape._FigureParameters[te]=x),x[a]=y};var ut=[];function ge(te,a){var y=ut.pop();return y===void 0?new go.Point(te,a):(y.x=te,y.y=a,y)}function re(){var te=ut.pop();return te===void 0?new go.Point:te}function Ae(te){ut.push(te)}function E(te,a,y,x,b,z,ne,ue,fe){fe||(fe=new go.Point);var pe=te-y,he=b-ne,ye=NaN,Ee=NaN;if(pe===0)if(he===0)te===y&&(ye=te,Ee=a);else{var be=(z-ue)/he,Se=z-be*b;ye=te,Ee=be*ye+Se}else if(he===0){var Pe=(a-x)/pe,xe=a-Pe*te;ye=b,Ee=Pe*ye+xe}else{var Pe=(a-x)/pe,be=(z-ue)/he,xe=a-Pe*te,Se=z-be*b;ye=(Se-xe)/(Pe-be),Ee=Pe*ye+xe}return fe.x=ye,fe.y=Ee,fe}function ve(te,a,y,x,b,z,ne,ue,fe,pe,he,ye,Ee,be){var Se=1-fe,Pe=fe,xe=te*Se+y*Pe,Ce=a*Se+x*Pe,Fe=y*Se+b*Pe,we=x*Se+z*Pe,Le=b*Se+ne*Pe,Be=z*Se+ue*Pe,Ne=xe*Se+Fe*Pe,Oe=Ce*Se+we*Pe,Ze=Fe*Se+Le*Pe,Ge=we*Se+Be*Pe,We=Ne*Se+Ze*Pe,Ve=Oe*Se+Ge*Pe;pe.x=xe,pe.y=Ce,he.x=Ne,he.y=Oe,ye.x=We,ye.y=Ve,Ee.x=Ze,Ee.y=Ge,be.x=Le,be.y=Be}var me=new go.Spot(.156,.156),de=new go.Spot(.844,.844),ce=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new ht("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(te,a,y){var x=te?te.parameter1:NaN;(isNaN(x)||x<0)&&(x=5),x=Math.min(x,a/3),x=Math.min(x,y/3);var b=x*ce,z=new go.Geometry().add(new go.PathFigure(x,0,!0).add(new go.PathSegment(go.PathSegment.Line,a-x,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-b,0,a,b)).add(new go.PathSegment(go.PathSegment.Line,a,y-x)).add(new go.PathSegment(go.PathSegment.Bezier,a-x,y,a,y-b,a-b,y)).add(new go.PathSegment(go.PathSegment.Line,x,y)).add(new go.PathSegment(go.PathSegment.Bezier,0,y-x,b,y,0,y-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(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,y).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(te,a,y){return new go.Geometry().add(new go.PathFigure(a,y).add(new go.PathSegment(go.PathSegment.Line,0,.5*y)).add(new go.PathSegment(go.PathSegment.Line,a,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(te,a,y){return new go.Geometry().add(new go.PathFigure(a,y).add(new go.PathSegment(go.PathSegment.Line,0,y)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.5*a,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*y)).add(new go.PathSegment(go.PathSegment.Line,.5*a,y)).add(new go.PathSegment(go.PathSegment.Line,a,.5*y).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(te,a,y){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=y/2,x.endX=a,x.endY=y/2,x}),go.Shape.defineFigureGenerator("LineV",function(te,a,y){var x=new go.Geometry(go.Geometry.Line);return x.startX=a/2,x.startY=0,x.endX=a/2,x.endY=y,x}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,y/2,!1).add(new go.PathSegment(go.PathSegment.Line,a,y/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,y)))}),go.Shape.defineFigureGenerator("XLine",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,y,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)))}),go.Shape.defineFigureGenerator("LineRight",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.25*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,.25*a,y)))}),go.Shape.defineFigureGenerator("LineDown",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,.25*y,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.75*y)).add(new go.PathSegment(go.PathSegment.Line,a,.25*y)))}),go.Shape.defineFigureGenerator("LineLeft",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.75*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,.75*a,y)))}),go.Shape.defineFigureGenerator("LineUp",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,.75*y,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.25*y)).add(new go.PathSegment(go.PathSegment.Line,a,.75*y)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(te,a,y){var x=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(x*a,(1-x)*y,!1).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*y)).add(new go.PathSegment(go.PathSegment.Move,x*a,x*y)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,(1-x)*y)).add(new go.PathSegment(go.PathSegment.Move,0,y/2)).add(new go.PathSegment(go.PathSegment.Line,a,y/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,y)))}),go.Shape.defineFigureGenerator("CircleLine",function(te,a,y){var x=a/2,b=new go.Geometry().add(new go.PathFigure(a,a/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,x,x,x,x).close()));return b.spot1=me,b.spot2=de,b.defaultStretch=go.GraphObject.Uniform,b}),go.Shape.defineFigureGenerator("Line1",function(te,a,y){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=0,x.endX=a,x.endY=y,x}),go.Shape.defineFigureGenerator("Line2",function(te,a,y){var x=new go.Geometry(go.Geometry.Line);return x.startX=a,x.startY=0,x.endX=0,x.endY=y,x}),go.Shape.defineFigureGenerator("Curve1",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,y,ce*a,0,a,(1-ce)*y)))}),go.Shape.defineFigureGenerator("Curve2",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,y,0,ce*y,(1-ce)*a,y)))}),go.Shape.defineFigureGenerator("Curve3",function(te,a,y){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,y,a,ce*y,ce*a,y)))}),go.Shape.defineFigureGenerator("Curve4",function(te,a,y){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,y,(1-ce)*a,0,0,(1-ce)*y)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(te,a,y){return new go.Geometry().add(new go.PathFigure(a,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,y).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new ht("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)?x=.1:x<-1?x=-1:x>1&&(x=1);var b=Math.abs(x)*a;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=a,z.endY=y,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,b,y).close())),ba&&(x=a);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=a,z.endY=y,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,b,y).close())),b.5&&(x=.5);var b=Math.abs(x)*a;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=a,z.endY=y,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,y)).add(new go.PathSegment(go.PathSegment.Line,b,y).close())),ba&&(x=a/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=a,z.endY=y,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,y)).add(new go.PathSegment(go.PathSegment.Line,b,y).close())),ba&&(x=a/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=a,z.endY=y,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,y)).add(new go.PathSegment(go.PathSegment.Line,b,y).close())):z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close())),b0&&(ne.add(new go.PathSegment(go.PathSegment.Move,a/2+ue,a/2)),ne.add(new go.PathSegment(go.PathSegment.Arc,0,-360,b,b,ue,ue).close())),z.spot1=me,z.spot2=de,z.defaultStretch=go.GraphObject.Uniform,z}),go.Shape.defineFigureGenerator("Cloud",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.08034461*a,.1944299*y,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*a,.05349299*y,-.09239631*a,.07836421*y,.1406031*a,-.0542823*y)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*a,.074219*y,.2450511*a,-.00697547*y,.3776197*a,-.01112067*y)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*a,.07004196*y,.4539471*a,0,.6066018*a,-.02526587*y)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*a,.08370865*y,.6914277*a,-.01904177*y,.8921095*a,-.01220843*y)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*a,.3194596*y,1.036446*a,.04105738*y,1.020377*a,.3022052*y)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*a,.562044*y,1.04448*a,.360238*y,.992256*a,.5219009*y)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*a,.8217117*y,1.032337*a,.5771781*y,1.018411*a,.8120651*y)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*a,.9156953*y,1.028411*a,.9571472*y,.8556702*a,1.052487*y)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*a,.9310455*y,.7431877*a,1.009325*y,.5624123*a,1.021761*y)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*a,.9344623*y,.4820677*a,1.031761*y,.3030112*a,1.002796*y)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.870098*y,.2329994*a,1.01518*y,.03213784*a,1.01518*y)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*a,.6545475*y,-.02812061*a,.9032597*y,-.01205169*a,.6835638*y)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*a,.4265613*y,-.01812061*a,.6089503*y,-.00606892*a,.4555777*y)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.1944299*y,-.01606892*a,.3892545*y,-.01205169*a,.1944299*y))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(te,a,y){var x=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(x*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,x*y)).add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*y)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,y)).add(new go.PathSegment(go.PathSegment.Line,x*a,y)).add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*y)).add(new go.PathSegment(go.PathSegment.Line,0,x*y).close())).setSpots(x/2,x/2,1-x/2,1-x/2)}),go.Shape.setFigureParameter("Pie",0,new ht("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new ht("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(te,a,y){var x=te?te.parameter1:NaN,b=te?te.parameter2:NaN;isNaN(x)&&(x=0),isNaN(b)&&(b=315);var z=x%360;z<0&&(z+=360);var ne=b%360,ue=Math.min(a,y)/2;return new go.Geometry().add(new go.PathFigure(ue,ue).add(new go.PathSegment(go.PathSegment.Arc,z,ne,ue,ue,ue,ue).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(te,a,y){var x=ce/Math.SQRT2*.5,b=Math.SQRT2/2,z=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(a,y,!0).add(new go.PathSegment(go.PathSegment.Bezier,b*a,z*y,a,(1-x)*y,(b+x)*a,(z+x)*y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close()))}),go.Shape.setFigureParameter("ThickCross",0,new ht("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(te,a,y){var x=te?te.parameter1:NaN;(isNaN(x)||x<0)&&(x=30);var b=Math.min(x,a)/2,z=a/2,ne=y/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,ne-b)).add(new go.PathSegment(go.PathSegment.Line,a,ne-b)).add(new go.PathSegment(go.PathSegment.Line,a,ne+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,ne+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,y)).add(new go.PathSegment(go.PathSegment.Line,z-b,y)).add(new go.PathSegment(go.PathSegment.Line,z-b,ne+b)).add(new go.PathSegment(go.PathSegment.Line,0,ne+b)).add(new go.PathSegment(go.PathSegment.Line,0,ne-b)).add(new go.PathSegment(go.PathSegment.Line,z-b,ne-b).close()))}),go.Shape.setFigureParameter("ThinCross",0,new ht("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(te,a,y){var x=te?te.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var b=Math.min(x,a)/2,z=a/2,ne=y/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,ne-b)).add(new go.PathSegment(go.PathSegment.Line,a,ne-b)).add(new go.PathSegment(go.PathSegment.Line,a,ne+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,ne+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,y)).add(new go.PathSegment(go.PathSegment.Line,z-b,y)).add(new go.PathSegment(go.PathSegment.Line,z-b,ne+b)).add(new go.PathSegment(go.PathSegment.Line,0,ne+b)).add(new go.PathSegment(go.PathSegment.Line,0,ne-b)).add(new go.PathSegment(go.PathSegment.Line,z-b,ne-b).close()))}),go.Shape.setFigureParameter("ThickX",0,new ht("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(te,a,y){var x=te?te.parameter1:NaN;if((isNaN(x)||x<0)&&(x=30),a===0||y===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=y,b}else{var z=a/2,ne=y/2,ue=Math.atan2(y,a),fe=x-Math.min(Math.cos(ue)*x/2,z),pe=x-Math.min(Math.sin(ue)*x/2,ne),b=new go.Geometry,he=new go.PathFigure(fe,0,!0);return b.add(he),he.add(new go.PathSegment(go.PathSegment.Line,z,.2*y)),he.add(new go.PathSegment(go.PathSegment.Line,a-fe,0)),he.add(new go.PathSegment(go.PathSegment.Line,a,pe)),he.add(new go.PathSegment(go.PathSegment.Line,.8*a,ne)),he.add(new go.PathSegment(go.PathSegment.Line,a,y-pe)),he.add(new go.PathSegment(go.PathSegment.Line,a-fe,y)),he.add(new go.PathSegment(go.PathSegment.Line,z,.8*y)),he.add(new go.PathSegment(go.PathSegment.Line,fe,y)),he.add(new go.PathSegment(go.PathSegment.Line,0,y-pe)),he.add(new go.PathSegment(go.PathSegment.Line,.2*a,ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,pe).close()),b}}),go.Shape.setFigureParameter("ThinX",0,new ht("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(te,a,y){var x=te?te.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var b=new go.Geometry,z=new go.PathFigure(.1*a,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,.1*y)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,.9*y)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,y)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.9*y)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.1*y).close()),b}),go.Shape.setFigureParameter("SquareIBeam",0,new ht("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(te,a,y){var x=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,x*y)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,x*y)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,(1-x)*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*y)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,(1-x)*y)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,x*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*y).close()),b}),go.Shape.setFigureParameter("RoundedIBeam",0,new ht("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(te,a,y){var x=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,y,Math.abs(1-x)*a,.25*y,Math.abs(1-x)*a,.75*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*y,x*a,.25*y).close()),b}),go.Shape.defineFigureGenerator("HalfEllipse",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,ce*a,0,a,(.5-ce/2)*y)).add(new go.PathSegment(go.PathSegment.Bezier,0,y,a,(.5+ce/2)*y,ce*a,y).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,y,a,0,a,y)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*a,.75*y,.5*a,.25*y).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.5*a,y,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*y,.1*a,.8*y,0,.5*y)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*y,0,0,.45*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,.3*y,.55*a,0,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,a,.5*y,.9*a,.8*y).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.5*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*a,.01*y)).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,.6*a,.2*y,a,.25*y)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.7*y,a,.8*y,.6*a,.8*y)).add(new go.PathSegment(go.PathSegment.Bezier,.75*a,y,.5*a,.75*y,.55*a,.95*y)).add(new go.PathSegment(go.PathSegment.Line,.25*a,y)).add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.7*y,.45*a,.95*y,.5*a,.75*y)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*y,.4*a,.8*y,0,.8*y)).add(new go.PathSegment(go.PathSegment.Bezier,.49*a,.01*y,0,.25*y,.4*a,.2*y).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.4*a,.6*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.15*a,y,.5*a,.75*y,.45*a,.95*y)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.6*y,.55*a,.95*y,.5*a,.75*y));var z=.2,ne=.3,ue=0,fe=z*ce;return b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*a,(.5+z+ue)*y,(.5-z+ne)*a,(.5+fe+ue)*y,(.5-fe+ne)*a,(.5+z+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ne)*a,(.5+ue)*y,(.5+fe+ne)*a,(.5+z+ue)*y,(.5+z+ne)*a,(.5+fe+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*a,(.5-z+ue)*y,(1-.5+z+ne)*a,(.5-fe+ue)*y,(.5+fe+ne)*a,(.5-z+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.65*a,.36771243*y,(.5-fe+ne)*a,(.5-z+ue)*y,(.5-z+ne+.05)*a,(.5-fe+ue-.02)*y)),z=.2,ne=0,ue=-.3,fe=z*ce,b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ne)*a,(.5+ue)*y,(.5+fe+ne)*a,(.5+z+ue)*y,(.5+z+ne)*a,(.5+fe+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*a,(.5-z+ue)*y,(1-.5+z+ne)*a,(.5-fe+ue)*y,(.5+fe+ne)*a,(.5-z+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ne)*a,(.5+ue)*y,(.5-fe+ne)*a,(.5-z+ue)*y,(.5-z+ne)*a,(.5-fe+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-fe+ne)*a,(.5+z+ue)*y,(.5-z+ne)*a,(.5+fe+ue)*y,(.5-fe+ne)*a,(.5+z+ue)*y)),z=.2,ne=-.3,ue=0,fe=z*ce,b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*a,(.5-z+ue)*y,(1-.5+z+ne-.05)*a,(.5-fe+ue-.02)*y,(.5+fe+ne)*a,(.5-z+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ne)*a,(.5+ue)*y,(.5-fe+ne)*a,(.5-z+ue)*y,(.5-z+ne)*a,(.5-fe+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ne)*a,(.5+z+ue)*y,(.5-z+ne)*a,(.5+fe+ue)*y,(.5-fe+ne)*a,(.5+z+ue)*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.6*y,(.5+fe+ne)*a,(.5+z+ue)*y,(.5+z+ne)*a,(.5+fe+ue)*y).close()),x.setSpots(.06,.33,.93,.68),x}),go.Shape.defineFigureGenerator("YinYang",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*.5,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,a*.5,a*.5,a*.5,a*.5)),b.add(new go.PathSegment(go.PathSegment.Arc,90,-180,a*.5,a*.75,a*.25,a*.25)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,a*.5,a*.25,a*.25,a*.25));var z=.1,ne=.5,ue=.25;return b.add(new go.PathSegment(go.PathSegment.Move,(ne+z)*a,ue*y)),b.add(new go.PathSegment(go.PathSegment.Arc,0,-360,a*ne,y*ue,z*a,z*a).close()),b=new go.PathFigure(a*.5,0,!1),x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*.5,a*.5,a*.5,a*.5)),ue=.75,b=new go.PathFigure((ne+z)*a,ue*y,!0),x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,0,360,a*ne,y*ue,z*a,z*a).close()),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Peace",function(te,a,y){var x=.8535533905932737,b=.5*a,z=.5*y;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,y)).add(new go.PathSegment(go.PathSegment.Move,b,z)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*y)).add(new go.PathSegment(go.PathSegment.Move,b,z)).add(new go.PathSegment(go.PathSegment.Line,x*a,x*y)))}),go.Shape.defineFigureGenerator("NotAllowed",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=.5,ne=.5,ue=.5,fe=new go.PathFigure(ne*a,(ue-z)*y);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-z)*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y)),z=.4,b=ce*.4;var pe=re(),he=re(),ye=re(),Ee=re();ve(ne,ue-z,ne+b,ue-z,ne+z,ue-b,ne+z,ue,.42,pe,he,ye,Ee,Ee);var be=re(),Se=re(),Pe=re();ve(ne,ue-z,ne+b,ue-z,ne+z,ue-b,ne+z,ue,.58,Ee,Ee,Pe,be,Se);var xe=re(),Ce=re(),Fe=re();ve(ne,ue+z,ne-b,ue+z,ne-z,ue+b,ne-z,ue,.42,xe,Ce,Fe,Ee,Ee);var we=re(),Le=re(),Be=re();return ve(ne,ue+z,ne-b,ue+z,ne-z,ue+b,ne-z,ue,.58,Ee,Ee,Be,we,Le),fe.add(new go.PathSegment(go.PathSegment.Move,Be.x*a,Be.y*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,we.x*a,we.y*y,Le.x*a,Le.y*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-z)*y,(ne-z)*a,(ue-b)*y,(ne-b)*a,(ue-z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ye.x*a,ye.y*y,pe.x*a,pe.y*y,he.x*a,he.y*y)),fe.add(new go.PathSegment(go.PathSegment.Line,Be.x*a,Be.y*y).close()),fe.add(new go.PathSegment(go.PathSegment.Move,Fe.x*a,Fe.y*y)),fe.add(new go.PathSegment(go.PathSegment.Line,Pe.x*a,Pe.y*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,be.x*a,be.y*y,Se.x*a,Se.y*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne+z)*a,(ue+b)*y,(ne+b)*a,(ue+z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,Fe.x*a,Fe.y*y,xe.x*a,xe.y*y,Ce.x*a,Ce.y*y).close()),Ae(pe),Ae(he),Ae(ye),Ae(Ee),Ae(be),Ae(Se),Ae(Pe),Ae(xe),Ae(Ce),Ae(Fe),Ae(we),Ae(Le),Ae(Be),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Fragile",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*a,0)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.15*y)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.25*y)).add(new go.PathSegment(go.PathSegment.Line,.29*a,.33*y)).add(new go.PathSegment(go.PathSegment.Line,.35*a,.25*y)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.15*y)).add(new go.PathSegment(go.PathSegment.Line,.4*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.5*y,a,.25*y,.75*a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*y)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.9*y)).add(new go.PathSegment(go.PathSegment.Line,.7*a,y)).add(new go.PathSegment(go.PathSegment.Line,.3*a,y)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.9*y)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*y)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*y)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.5*y,0,.25*y).close()))}),go.Shape.setFigureParameter("HourGlass",0,new ht("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(te,a,y){var x=te?te.parameter1:NaN;(isNaN(x)||x<0)&&(x=30),x>a&&(x=a);var b=(a-x)/2,z=b+x;return new go.Geometry().add(new go.PathFigure(z,.5*y).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y)).add(new go.PathSegment(go.PathSegment.Line,b,.5*y)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,.55*y).add(new go.PathSegment(go.PathSegment.Line,.6*a,0)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.45*y)).add(new go.PathSegment(go.PathSegment.Line,a,.45*y)).add(new go.PathSegment(go.PathSegment.Line,.4*a,y)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.55*y).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(te,a,y){var x=new go.Geometry,b=ce*.4,z=.4,ne=.5,ue=.5,fe=re(),pe=re(),he=re(),ye=re(),Ee=new go.PathFigure((ne-z)*a,ue*y,!1);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-z)*y,(ne-z)*a,(ue-b)*y,(ne-b)*a,(ue-z)*y)),ve(ne,ue-z,ne+b,ue-z,ne+z,ue-b,ne+z,ue,.44,he,ye,pe,fe,fe),Ee.add(new go.PathSegment(go.PathSegment.Bezier,pe.x*a,pe.y*y,he.x*a,he.y*y,ye.x*a,ye.y*y));var be=ge(pe.x,pe.y);ve(ne,ue-z,ne+b,ue-z,ne+z,ue-b,ne+z,ue,.56,fe,fe,pe,he,ye);var Se=ge(pe.x,pe.y);Ee.add(new go.PathSegment(go.PathSegment.Line,(be.x*.1+.95*.9)*a,be.y*.1*y)),Ee.add(new go.PathSegment(go.PathSegment.Line,.85*a,be.y*.1*y)),Ee.add(new go.PathSegment(go.PathSegment.Line,.85*a,0)),Ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),Ee.add(new go.PathSegment(go.PathSegment.Line,a,.15*y)),Ee.add(new go.PathSegment(go.PathSegment.Line,(Se.x*.1+.9)*a,.15*y)),Ee.add(new go.PathSegment(go.PathSegment.Line,(Se.x*.1+.9)*a,(Se.y*.1+.05*.9)*y)),Ee.add(new go.PathSegment(go.PathSegment.Line,Se.x*a,Se.y*y)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,he.x*a,he.y*y,ye.x*a,ye.y*y)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne+z)*a,(ue+b)*y,(ne+b)*a,(ue+z)*y)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,(ne-b)*a,(ue+z)*y,(ne-z)*a,(ue+b)*y)),z=.35,b=ce*.35;var Pe=new go.PathFigure(ne*a,(ue-z)*y,!1);x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-z)*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y));var xe=new go.PathFigure((ne-z)*a,ue*y,!1);return x.add(xe),Ae(fe),Ae(pe),Ae(he),Ae(ye),Ae(be),Ae(Se),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(te,a,y){var x=new go.Geometry,b=.375,z=0,ne=-.125,ue=b*ce,fe=new go.PathFigure((.525+z)*a,(.5+b+ne)*y,!1);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*a,(.5+ne)*y,(.5+ue+z)*a,(.5+b+ne)*y,(.5+b+z)*a,(.5+ue+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5-b+ne)*y,(1-.5+b+z)*a,(.5-ue+ne)*y,(.5+ue+z)*a,(.5-b+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+ne)*y,(.5-ue+z)*a,(.5-b+ne)*y,(.5-b+z)*a,(.5-ue+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(.475+z)*a,(.5+b+ne)*y,(.5-b+z)*a,(.5+ue+ne)*y,(.5-ue+z)*a,(.5+b+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.475*a,.85*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.425*a,.85*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.425*a,.9*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.475*a,.9*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.475*a,y)),fe.add(new go.PathSegment(go.PathSegment.Line,.525*a,y)),fe.add(new go.PathSegment(go.PathSegment.Line,.525*a,.9*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.575*a,.9*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.575*a,.85*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*y).close()),b=.325,z=0,ne=-.125,ue=b*ce;var fe=new go.PathFigure((1-.5+b+z)*a,(.5+ne)*y,!1);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5+b+ne)*y,(.5+b+z)*a,(.5+ue+ne)*y,(.5+ue+z)*a,(.5+b+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+ne)*y,(.5-ue+z)*a,(.5+b+ne)*y,(.5-b+z)*a,(.5+ue+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5-b+ne)*y,(.5-b+z)*a,(.5-ue+ne)*y,(.5-ue+z)*a,(.5-b+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*a,(.5+ne)*y,(.5+ue+z)*a,(.5-b+ne)*y,(1-.5+b+z)*a,(.5-ue+ne)*y));var fe=new go.PathFigure((.525+z)*a,(.5+b+ne)*y,!1);return x.add(fe),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(te,a,y){var x=te?te.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,y)).add(new go.PathSegment(go.PathSegment.Move,0,.5*y)).add(new go.PathSegment(go.PathSegment.Line,a,.5*y))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(te,a,y){var x=te?te.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,y)).add(new go.PathSegment(go.PathSegment.Move,0,.5*y)).add(new go.PathSegment(go.PathSegment.Line,a,.5*y)).add(new go.PathSegment(go.PathSegment.Move,x*a,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*y)).add(new go.PathSegment(go.PathSegment.Line,x*a,y))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)))}),go.Shape.defineFigureGenerator("LogicAnd",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,y,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,y))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,y)).add(new go.PathSegment(go.PathSegment.Line,a,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(te,a,y){var x=new go.Geometry().add(new go.PathFigure(.5*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,y)).add(new go.PathSegment(go.PathSegment.Move,0,.5*y)).add(new go.PathSegment(go.PathSegment.Line,a,.5*y)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*a,.5*y,.5*a,.5*y)));return x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicTruth",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,y)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,y,!1).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Move,.5*a,y)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,0,.5*y)).add(new go.PathSegment(go.PathSegment.Move,a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y)))}),go.Shape.defineFigureGenerator("LogicForAll",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,y)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*y)).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*y))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*y)).add(new go.PathSegment(go.PathSegment.Line,a,.5*y)).add(new go.PathSegment(go.PathSegment.Move,0,y)).add(new go.PathSegment(go.PathSegment.Line,a,y))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(te,a,y){var x=.5;return new go.Geometry().add(new go.PathFigure(0,y,!1).add(new go.PathSegment(go.PathSegment.Line,0,x*y)).add(new go.PathSegment(go.PathSegment.Arc,180,180,x*a,x*y,x*a,x*y)).add(new go.PathSegment(go.PathSegment.Line,a,y))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(te,a,y){var x=.5;return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,x*y)).add(new go.PathSegment(go.PathSegment.Arc,0,180,x*a,x*y,x*a,x*y)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new ht("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new ht("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.3);var b=te?te.parameter2:NaN;isNaN(b)&&(b=.3);var z=(1-x)*a,ne=(.5-b/2)*y,ue=(.5+b/2)*y,fe=new go.Geometry,pe=new go.PathFigure(0,ne,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,z,ne)),pe.add(new go.PathSegment(go.PathSegment.Line,z,0)),pe.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),pe.add(new go.PathSegment(go.PathSegment.Line,z,y)),pe.add(new go.PathSegment(go.PathSegment.Line,z,ue)),pe.add(new go.PathSegment(go.PathSegment.Line,0,ue).close()),fe.spot1=new go.Spot(0,ne/y);var he=E(0,ue/y,1,ue/y,z/a,1,1,.5,re());return fe.spot2=new go.Spot(he.x,he.y),Ae(he),fe}),go.Shape.setFigureParameter("Arrow2",0,new ht("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new ht("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=30),x>a&&(x=a);var b=te?te.parameter2:NaN;isNaN(b)&&(b=30),b=Math.min(b,y/2);var z=a-x,ne=(y-b)/2,ue=ne+b,fe=new go.Geometry,pe=new go.PathFigure(0,ne,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,z,ne)),pe.add(new go.PathSegment(go.PathSegment.Line,z,0)),pe.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),pe.add(new go.PathSegment(go.PathSegment.Line,z,y)),pe.add(new go.PathSegment(go.PathSegment.Line,z,ue)),pe.add(new go.PathSegment(go.PathSegment.Line,0,ue).close()),fe.spot1=new go.Spot(0,ne/y);var he=E(0,ue/y,1,ue/y,z/a,1,1,.5,re());return fe.spot2=new go.Spot(he.x,he.y),Ae(he),fe}),go.Shape.defineFigureGenerator("Chevron",function(te,a,y){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*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y).close()),x}),go.Shape.defineFigureGenerator("DoubleArrow",function(te,a,y){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*a,.214*y)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,1*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,1*y)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,.786*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,1*y).close()),x}),go.Shape.setFigureParameter("DoubleEndArrow",0,new ht("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.3);var b=(.5-x/2)*y,z=(.5+x/2)*y,ne=new go.Geometry,ue=new go.PathFigure(a,.5*y,!0);ne.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,z)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,0,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close());var fe=E(0,.5,.3,0,0,b/y,.1,b/y,re());return ne.spot1=new go.Spot(fe.x,fe.y),fe=E(.7,1,1,.5,0,z/y,1,z/y,fe),ne.spot2=new go.Spot(fe.x,fe.y),Ae(fe),ne}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new ht("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new ht("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=40);var b=te?te.parameter2:NaN;isNaN(b)&&(b=100);var z=(y-x)/2,ne=z+x,ue=(y-b)/2,fe=ue+b;(x>y||b>y)&&(b>x?(x=x*y/b,z=(y-x)/2,ne=z+x,ue=0,fe=y):(z=0,ne=y,ue=0,fe=y));var pe=new go.Geometry,he=new go.PathFigure(a,.5*y,!0);pe.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,fe)),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.3*a,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.3*a,fe)),he.add(new go.PathSegment(go.PathSegment.Line,0,.5*y)),he.add(new go.PathSegment(go.PathSegment.Line,.3*a,ue)),he.add(new go.PathSegment(go.PathSegment.Line,.3*a,z)),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,ue).close());var ye=E(0,.5,.3,ue/y,0,z/y,1,z/y,re());return pe.spot1=new go.Spot(ye.x,ye.y),ye=E(.7,fe/y,1,.5,0,ne/y,1,ne/y,ye),pe.spot2=new go.Spot(ye.x,ye.y),Ae(ye),pe}),go.Shape.setFigureParameter("IBeamArrow",0,new ht("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.3);var b=(.5-x/2)*y,z=(.5+x/2)*y,ne=new go.Geometry,ue=new go.PathFigure(a,.5*y,!0);ne.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,z)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,0,y)),ue.add(new go.PathSegment(go.PathSegment.Line,0,0)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ne.spot1=new go.Spot(0,b/y);var fe=E(.7,1,1,.5,0,z/y,1,z/y,re());return ne.spot2=new go.Spot(fe.x,fe.y),Ae(fe),ne}),go.Shape.setFigureParameter("IBeamArrow2",0,new ht("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new ht("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=40);var b=te?te.parameter2:NaN;isNaN(b)&&(b=100);var z=(y-x)/2,ne=z+x,ue=(y-b)/2,fe=ue+b;(x>y||b>y)&&(b>x?(x=x*y/b,z=(y-x)/2,ne=z+x,ue=0,fe=y):(z=0,ne=y,ue=0,fe=y));var pe=new go.Geometry,he=new go.PathFigure(a,.5*y,!0);pe.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,fe)),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.2*a,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.2*a,fe)),he.add(new go.PathSegment(go.PathSegment.Line,0,fe)),he.add(new go.PathSegment(go.PathSegment.Line,0,ue)),he.add(new go.PathSegment(go.PathSegment.Line,.2*a,ue)),he.add(new go.PathSegment(go.PathSegment.Line,.2*a,z)),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),he.add(new go.PathSegment(go.PathSegment.Line,.7*a,ue).close()),pe.spot1=new go.Spot(0,z/y);var ye=E(.7,fe/y,1,.5,0,ne/y,1,ne/y,re());return pe.spot2=new go.Spot(ye.x,ye.y),Ae(ye),pe}),go.Shape.setFigureParameter("Pointer",0,new ht("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.1);var b=new go.Geometry,z=new go.PathFigure(a,.5*y,!0);b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Line,x*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),b.spot1=new go.Spot(x,.35);var ne=E(.2,.65,1,.65,0,1,1,.5,re());return b.spot2=new go.Spot(ne.x,ne.y),Ae(ne),b}),go.Shape.setFigureParameter("RoundedPointer",0,new ht("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.3);var b=new go.Geometry,z=new go.PathFigure(a,.5*y,!0);b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*y,x*a,.25*y).close()),b.spot1=new go.Spot(x,.35);var ne=E(0,.65,1,.65,0,1,1,.5,re());return b.spot2=new go.Spot(ne.x,ne.y),Ae(ne),b}),go.Shape.setFigureParameter("SplitEndArrow",0,new ht("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.4);var b=(.5-x/2)*y,z=(.5+x/2)*y,ne=new go.Geometry,ue=new go.PathFigure(a,.5*y,!0);ne.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ue.add(new go.PathSegment(go.PathSegment.Line,0,z)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Line,0,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ne.spot1=new go.Spot(.2,.3);var fe=E(.7,1,1,.5,0,z/y,1,z/y,re());return ne.spot2=new go.Spot(fe.x,fe.y),Ae(fe),ne}),go.Shape.setFigureParameter("SplitEndArrow2",0,new ht("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=50);var b=(y-x)/2,z=b+x;x>y&&(b=0,z=y);var ne=new go.Geometry,ue=new go.PathFigure(a,.5*y,!0);ne.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ue.add(new go.PathSegment(go.PathSegment.Line,0,z)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Line,0,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ne.spot1=new go.Spot(.2,b/y);var fe=E(.7,1,1,.5,0,z/y,1,z/y,re());return ne.spot2=new go.Spot(fe.x,fe.y),Ae(fe),ne}),go.Shape.setFigureParameter("SquareArrow",0,new ht("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.7);var b=new go.Geometry,z=new go.PathFigure(a,.5*y,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,x*a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),b.spot1=go.Spot.TopLeft,b.spot2=new go.Spot(x,1),b}),go.Shape.defineFigureGenerator("Cone1",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=ce*.1,ne=new go.PathFigure(0,.9*y,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,a,.9*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,a,(.9+z)*y,(.5+b)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*y,(.5-b)*a,y,0,(.9+z)*y).close()),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.97),x}),go.Shape.defineFigureGenerator("Cone2",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.9*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*y,(1-.85/.9)*a,y,.85/.9*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.9*y).close());var z=new go.PathFigure(0,.9*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*y,(1-.85/.9)*a,.8*y,.85/.9*a,.8*y)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.82),x}),go.Shape.defineFigureGenerator("Cube1",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.15*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*y).close());var z=new go.PathFigure(.5*a,y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.15*y)),z.add(new go.PathSegment(go.PathSegment.Move,.5*a,.3*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,.15*y)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.5,.85),x}),go.Shape.defineFigureGenerator("Cube2",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.3*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,0).close());var z=new go.PathFigure(0,.3*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*a,.3*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Move,.7*a,.3*y)),z.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.7,1),x}),go.Shape.defineFigureGenerator("Cylinder1",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,y/3);var b=new go.Geometry,z=ce*.5,ne=new go.PathFigure(0,x,!0);b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,ce*x,(.5-z)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,1*a,x,(.5+z)*a,0,1*a,ce*x)),ne.add(new go.PathSegment(go.PathSegment.Line,a,y-x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,1*y,1*a,y-ce*x,(.5+z)*a,1*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,y-x,(.5-z)*a,1*y,0,y-ce*x)),ne.add(new go.PathSegment(go.PathSegment.Line,0,x));var ue=new go.PathFigure(a,x,!1);return b.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,2*x,1*a,2*x-ce*x,(.5+z)*a,2*x)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,x,(.5-z)*a,2*x,0,2*x-ce*x)),b.spot1=new go.Spot(0,0,0,2*x),b.spot2=new go.Spot(1,1),b}),go.Shape.defineFigureGenerator("Cylinder2",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,y/3);var b=new go.Geometry,z=ce*.5,ne=new go.PathFigure(0,y-x,!0);b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,0,x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,ce*x,(.5-z)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,x,(.5+z)*a,0,a,ce*x)),ne.add(new go.PathSegment(go.PathSegment.Line,a,y-x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,a,y-ce*x,(.5+z)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,y-x,(.5-z)*a,y,0,y-ce*x));var ue=new go.PathFigure(0,y-x,!1);return b.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y-2*x,0,y-x-ce*x,(.5-z)*a,y-2*x)),ue.add(new go.PathSegment(go.PathSegment.Bezier,a,y-x,(.5+z)*a,y-2*x,a,y-x-ce*x)),b.spot1=new go.Spot(0,0),b.spot2=new go.Spot(1,1,0,-2*x),b}),go.Shape.defineFigureGenerator("Cylinder3",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var b=new go.Geometry,z=ce*.5,ne=new go.PathFigure(x,0,!0);b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,a-ce*x,0,a,(.5-z)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a-x,y,a,(.5+z)*y,a-ce*x,y)),ne.add(new go.PathSegment(go.PathSegment.Line,x,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*y,ce*x,y,0,(.5+z)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*y,ce*x,0));var ue=new go.PathFigure(x,0,!1);return b.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,2*x,.5*y,x+ce*x,0,2*x,(.5-z)*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,x,y,2*x,(.5+z)*y,x+ce*x,y)),b.spot1=new go.Spot(0,0,2*x,0),b.spot2=new go.Spot(1,1),b}),go.Shape.defineFigureGenerator("Cylinder4",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var b=new go.Geometry,z=ce*.5,ne=new go.PathFigure(a-x,0,!0);b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,a-ce*x,0,a,(.5-z)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a-x,y,a,(.5+z)*y,a-ce*x,y)),ne.add(new go.PathSegment(go.PathSegment.Line,x,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*y,ce*x,y,0,(.5+z)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*y,ce*x,0)),ne.add(new go.PathSegment(go.PathSegment.Line,a-x,0));var ue=new go.PathFigure(a-x,0,!1);return b.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,a-2*x,.5*y,a-x-ce*x,0,a-2*x,(.5-z)*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,a-x,y,a-2*x,(.5+z)*y,a-x-ce*x,y)),b.spot1=new go.Spot(0,0),b.spot2=new go.Spot(1,1,-2*x,0),b}),go.Shape.defineFigureGenerator("Prism1",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.25*a,.25*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var z=new go.PathFigure(.25*a,.25*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),x.spot1=new go.Spot(.408,.172),x.spot2=new go.Spot(.833,.662),x}),go.Shape.defineFigureGenerator("Prism2",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.25*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*y)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var z=new go.PathFigure(0,y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,.25*y)),z.add(new go.PathSegment(go.PathSegment.Move,0,.25*y)),z.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*y)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("Pyramid1",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*y).close());var z=new go.PathFigure(.5*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Pyramid2",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*y).close());var z=new go.PathFigure(.5*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.85*y)),z.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,.85*y)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Actor",function(te,a,y){var x=new go.Geometry,b=.2,z=.1,ne=ce*b,ue=ce*z,fe=.5,pe=.1,he=new go.PathFigure(fe*a,(pe+z)*y,!0);x.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,(fe-b)*a,pe*y,(fe-ne)*a,(pe+z)*y,(fe-b)*a,(pe+ue)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-z)*y,(fe-b)*a,(pe-ue)*y,(fe-ne)*a,(pe-z)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,(fe+b)*a,pe*y,(fe+ne)*a,(pe-z)*y,(fe+b)*a,(pe-ue)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe+z)*y,(fe+b)*a,(pe+ue)*y,(fe+ne)*a,(pe+z)*y));var ye=.05,Ee=ce*ye;fe=.05,pe=.25;var be=new go.PathFigure(.5*a,.2*y,!0);return x.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.95*a,.2*y)),fe=.95,pe=.25,be.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ye)*a,pe*y,(fe+Ee)*a,(pe-ye)*y,(fe+ye)*a,(pe-Ee)*y)),be.add(new go.PathSegment(go.PathSegment.Line,a,.6*y)),be.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*y)),be.add(new go.PathSegment(go.PathSegment.Line,.85*a,.35*y)),ye=.025,Ee=ce*ye,fe=.825,pe=.35,be.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-ye)*y,(fe+ye)*a,(pe-Ee)*y,(fe+Ee)*a,(pe-ye)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ye)*a,pe*y,(fe-Ee)*a,(pe-ye)*y,(fe-ye)*a,(pe-Ee)*y)),be.add(new go.PathSegment(go.PathSegment.Line,.8*a,y)),be.add(new go.PathSegment(go.PathSegment.Line,.55*a,y)),be.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*y)),ye=.05,Ee=ce*ye,fe=.5,pe=.7,be.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-ye)*y,(fe+ye)*a,(pe-Ee)*y,(fe+Ee)*a,(pe-ye)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ye)*a,pe*y,(fe-Ee)*a,(pe-ye)*y,(fe-ye)*a,(pe-Ee)*y)),be.add(new go.PathSegment(go.PathSegment.Line,.45*a,y)),be.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),be.add(new go.PathSegment(go.PathSegment.Line,.2*a,.35*y)),ye=.025,Ee=ce*ye,fe=.175,pe=.35,be.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-ye)*y,(fe+ye)*a,(pe-Ee)*y,(fe+Ee)*a,(pe-ye)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ye)*a,pe*y,(fe-Ee)*a,(pe-ye)*y,(fe-ye)*a,(pe-Ee)*y)),be.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*y)),be.add(new go.PathSegment(go.PathSegment.Line,0,.6*y)),be.add(new go.PathSegment(go.PathSegment.Line,0,.25*y)),ye=.05,Ee=ce*ye,fe=.05,pe=.25,be.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-ye)*y,(fe-ye)*a,(pe-Ee)*y,(fe-Ee)*a,(pe-ye)*y)),be.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*y)),x.spot1=new go.Spot(.2,.2),x.spot2=new go.Spot(.8,.65),x}),go.Shape.setFigureParameter("Card",0,new ht("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(te,a,y){var x=te?te.parameter1:NaN;isNaN(x)&&(x=.2);var b=new go.Geometry,z=new go.PathFigure(a,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*y)),z.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),b.spot1=new go.Spot(0,x),b.spot2=go.Spot.BottomRight,b}),go.Shape.defineFigureGenerator("Collate",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,.5*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y));var z=new go.PathFigure(.5*a,.5*y,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y)),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,.25),x}),go.Shape.defineFigureGenerator("CreateRequest",function(te,a,y){var x=new go.Geometry,b=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var ne=new go.PathFigure(0,b*y,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,b*y)),ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-b)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,(1-b)*y)),x}),go.Shape.defineFigureGenerator("Database",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=ce*.1,ne=new go.PathFigure(a,.1*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,.9*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,a,(.9+z)*y,(.5+b)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*y,(.5-b)*a,y,0,(.9+z)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-z)*y,(.5-b)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*y,(.5+b)*a,0,a,(.1-z)*y));var ue=new go.PathFigure(a,.1*y,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*y,a,(.1+z)*y,(.5+b)*a,.2*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*y,(.5-b)*a,.2*y,0,(.1+z)*y)),ue.add(new go.PathSegment(go.PathSegment.Move,a,.2*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*y,a,(.2+z)*y,(.5+b)*a,.3*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*y,(.5-b)*a,.3*y,0,(.2+z)*y)),ue.add(new go.PathSegment(go.PathSegment.Move,a,.3*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.4*y,a,(.3+z)*y,(.5+b)*a,.4*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*y,(.5-b)*a,.4*y,0,(.3+z)*y)),x.spot1=new go.Spot(0,.4),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("DataStorage",function(te,a,y){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*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,y,a,0,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.9*y,.25*a,.1*y).close()),x.spot1=new go.Spot(.226,0),x.spot2=new go.Spot(.81,1),x}),go.Shape.defineFigureGenerator("DiskStorage",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=ce*.1,ne=new go.PathFigure(a,.1*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,.9*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,a,(.9+z)*y,(.5+b)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*y,(.5-b)*a,y,0,(.9+z)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-z)*y,(.5-b)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*y,(.5+b)*a,0,a,(.1-z)*y));var ue=new go.PathFigure(a,.1*y,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*y,a,(.1+z)*y,(.5+b)*a,.2*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*y,(.5-b)*a,.2*y,0,(.1+z)*y)),ue.add(new go.PathSegment(go.PathSegment.Move,a,.2*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*y,a,(.2+z)*y,(.5+b)*a,.3*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*y,(.5-b)*a,.3*y,0,(.2+z)*y)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("Display",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.25*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,y,a,0,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*y).close()),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("DividedEvent",function(te,a,y){var x=new go.Geometry,b=te?te.parameter1:NaN;isNaN(b)?b=.2:b<.15&&(b=.15);var z=ce*.2,ne=new go.PathFigure(0,.2*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,0,(.2-z)*y,(.2-z)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,.2*y,(.8+z)*a,0,a,(.2-z)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,.8*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,y,a,(.8+z)*y,(.8+z)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*y,(.2-z)*a,y,0,(.8+z)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.2*y));var ue=new go.PathFigure(0,b*y,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a,b*y)),x}),go.Shape.defineFigureGenerator("DividedProcess",function(te,a,y){var x=new go.Geometry,b=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var ne=new go.PathFigure(0,b*y,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,b*y)),x}),go.Shape.defineFigureGenerator("Document",function(te,a,y){var x=new go.Geometry;y=y/.8;var b=new go.PathFigure(0,.7*y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*y,.5*a,.4*y,.5*a,y).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("ExternalOrganization",function(te,a,y){var x=new go.Geometry,b=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var ne=new go.PathFigure(b*a,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,0,b*y)),ne.add(new go.PathSegment(go.PathSegment.Move,a,b*y)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-b)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,b*a,y)),ne.add(new go.PathSegment(go.PathSegment.Move,(1-b)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,(1-b)*y)),x}),go.Shape.defineFigureGenerator("ExternalProcess",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*y).close());var z=new go.PathFigure(.1*a,.4*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Move,.9*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Move,.6*a,.1*y)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.1*y)),z.add(new go.PathSegment(go.PathSegment.Move,.4*a,.9*y)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.9*y)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("File",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var z=new go.PathFigure(.75*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.75*a,.25*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,.25*y)),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Interrupt",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a,.5*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y));var z=new go.PathFigure(a,.5*y,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,y));var ne=new go.PathFigure(a,.5*y,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,0)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("InternalStorage",function(te,a,y){var x=new go.Geometry,b=te?te.parameter1:NaN,z=te?te.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.1);var ne=new go.PathFigure(0,0,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var ue=new go.PathFigure(b*a,0,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,b*a,y)),ue.add(new go.PathSegment(go.PathSegment.Move,0,z*y)),ue.add(new go.PathSegment(go.PathSegment.Line,a,z*y)),x}),go.Shape.defineFigureGenerator("Junction",function(te,a,y){var x=new go.Geometry,b=1/Math.SQRT2,z=(1-1/Math.SQRT2)/2,ne=ce*.5,ue=.5,fe=new go.PathFigure(a,ue*y,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,y,a,(ue+ne)*y,(ue+ne)*a,y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,0,ue*y,(ue-ne)*a,y,0,(ue+ne)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,0,0,(ue-ne)*y,(ue-ne)*a,0)),fe.add(new go.PathSegment(go.PathSegment.Bezier,a,ue*y,(ue+ne)*a,0,a,(ue-ne)*y));var pe=new go.PathFigure((z+b)*a,(z+b)*y,!1);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,z*a,z*y)),pe.add(new go.PathSegment(go.PathSegment.Move,z*a,(z+b)*y)),pe.add(new go.PathSegment(go.PathSegment.Line,(z+b)*a,z*y)),x}),go.Shape.defineFigureGenerator("LinedDocument",function(te,a,y){var x=new go.Geometry;y=y/.8;var b=new go.PathFigure(0,.7*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*y,.5*a,.4*y,.5*a,y).close());var z=new go.PathFigure(.1*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,.75*y)),x.spot1=new go.Spot(.1,0),x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("LoopLimit",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*y)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MagneticTape",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=.5,ne=new go.PathFigure(.5*a,y,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,z*y,(z-b)*a,y,0,(z+b)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*a,0,0,(z-b)*y,(z-b)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,z*y,(z+b)*a,0,a,(z-b)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(z+.1)*a,.9*y,a,(z+b)*y,(z+b)*a,.9*y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,.9*y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),x.spot1=new go.Spot(.15,.15),x.spot2=new go.Spot(.85,.8),x}),go.Shape.defineFigureGenerator("ManualInput",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*y).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MessageFromUser",function(te,a,y){var x=new go.Geometry,b=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,b*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("MicroformProcessing",function(te,a,y){var x=new go.Geometry,b=te?te.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*a,b*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,(1-b)*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x}),go.Shape.defineFigureGenerator("MicroformRecording",function(te,a,y){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*a,.25*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*y)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("MultiDocument",function(te,a,y){var x=new go.Geometry;y=y/.8;var b=new go.PathFigure(a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.44*y,.96*a,.47*y,.93*a,.45*y)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.54*y,.86*a,.57*y,.83*a,.55*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*y,.4*a,.4*y,.4*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.1*y)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*y)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,0).close());var z=new go.PathFigure(.1*a,.2*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.54*y)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*y)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*y)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.44*y)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.8,.77),x}),go.Shape.defineFigureGenerator("MultiProcess",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.1*a,.1*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*y)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*y).close());var z=new go.PathFigure(.2*a,.1*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*y)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*y)),z.add(new go.PathSegment(go.PathSegment.Move,.1*a,.2*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*y)),x.spot1=new go.Spot(0,.2),x.spot2=new go.Spot(.8,1),x}),go.Shape.defineFigureGenerator("OfflineStorage",function(te,a,y){var x=new go.Geometry,b=te?te.parameter1:NaN;isNaN(b)&&(b=.1);var z=1-b,ne=new go.PathFigure(0,0,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,y).close());var ue=new go.PathFigure(.5*b*a,b*y,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,(1-.5*b)*a,b*y)),x}),go.Shape.defineFigureGenerator("OffPageConnector",function(te,a,y){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*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("Or",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=.5,ne=new go.PathFigure(a,z*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*a,y,a,(z+b)*y,(z+b)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,z*y,(z-b)*a,y,0,(z+b)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*a,0,0,(z-b)*y,(z-b)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,z*y,(z+b)*a,0,a,(z-b)*y));var ue=new go.PathFigure(a,.5*y,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,0,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Move,.5*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),x}),go.Shape.defineFigureGenerator("PaperTape",function(te,a,y){var x=new go.Geometry;y=y/.8;var b=new go.PathFigure(0,.7*y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.3*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.3*y,.5*a,.6*y,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*y,.5*a,.4*y,.5*a,y).close()),x.spot1=new go.Spot(0,.49),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(te,a,y){var x=new go.Geometry,b=te?te.parameter1:NaN,z=te?te.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.3);var ne=new go.PathFigure(0,0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-z)*a,.5*y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(te,a,y){var x=new go.Geometry,b=te?te.parameter1:NaN,z=te?te.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.3);var ne=new go.PathFigure(0,0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,(1-z)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-z)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x}),go.Shape.defineFigureGenerator("Procedure",function(te,a,y){var x=new go.Geometry,b=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var ne=new go.PathFigure((1-b)*a,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Move,b*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,b*a,y)),x}),go.Shape.defineFigureGenerator("Process",function(te,a,y){var x=new go.Geometry,b=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var ne=new go.PathFigure(b*a,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,b*a,y)),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Sort",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*y).close());var z=new go.PathFigure(0,.5*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.5),x}),go.Shape.defineFigureGenerator("Start",function(te,a,y){var x=new go.Geometry,b=te?te.parameter1:NaN;isNaN(b)&&(b=.25);var z=new go.PathFigure(b*a,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*y,.25*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*y,.25*a,.5*y));var ne=new go.PathFigure(b*a,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,b*a,y)),ne.add(new go.PathSegment(go.PathSegment.Move,(1-b)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,y)),x.spot1=new go.Spot(b,0),x.spot2=new go.Spot(1-b,1),x}),go.Shape.defineFigureGenerator("Terminator",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.25*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*y,.25*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*y,.25*a,.5*y)),x.spot1=new go.Spot(.23,0),x.spot2=new go.Spot(.77,1),x}),go.Shape.defineFigureGenerator("TransmittalTape",function(te,a,y){var x=new go.Geometry,b=te?te.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,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,.75*a,(1-b)*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-b)*y).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("AndGate",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,(.5+b)*a,0,a,(.5-b)*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,a,(.5+b)*y,(.5+b)*a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.55,1),x}),go.Shape.defineFigureGenerator("Buffer",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Clock",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=.5,ne=new go.PathFigure(a,z*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*a,y,a,(z+b)*y,(z+b)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,z*y,(z-b)*a,y,0,(z+b)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,z*a,0,0,(z-b)*y,(z-b)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,z*y,(z+b)*a,0,a,(z-b)*y));var ue=new go.PathFigure(a,z*y,!1);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a,z*y));var fe=new go.PathFigure(.8*a,.75*y,!1);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,.8*a,.25*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.6*a,.25*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.6*a,.75*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.4*a,.75*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.4*a,.25*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.2*a,.25*y)),fe.add(new go.PathSegment(go.PathSegment.Line,.2*a,.75*y)),x}),go.Shape.defineFigureGenerator("Ground",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Move,.3*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Move,.4*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,y)),x}),go.Shape.defineFigureGenerator("Inverter",function(te,a,y){var x=new go.Geometry,b=ce*.1,z=.1,ne=.9,ue=.5,fe=new go.PathFigure(.8*a,.5*y,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,0,y)),fe.add(new go.PathSegment(go.PathSegment.Line,0,0)),fe.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*y));var pe=new go.PathFigure((ne+z)*a,ue*y,!0);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne+z)*a,(ue+b)*y,(ne+b)*a,(ue+z)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,(ne-b)*a,(ue+z)*y,(ne-z)*a,(ue+b)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-z)*y,(ne-z)*a,(ue-b)*y,(ne-b)*a,(ue-z)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,(ne+b)*a,(ue-z)*y,(ne+z)*a,(ue-b)*y)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.4,.75),x}),go.Shape.defineFigureGenerator("NandGate",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=ce*.4,ne=ce*.1,ue=.1,fe=.9,pe=.5,he=new go.PathFigure(.8*a,.5*y,!0);x.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,y,.8*a,(.5+z)*y,(.4+b)*a,y)),he.add(new go.PathSegment(go.PathSegment.Line,0,y)),he.add(new go.PathSegment(go.PathSegment.Line,0,0)),he.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*y,(.4+b)*a,0,.8*a,(.5-z)*y));var ye=new go.PathFigure((fe+ue)*a,pe*y,!0);return x.add(ye),ye.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe+ue)*y,(fe+ue)*a,(pe+ne)*y,(fe+ne)*a,(pe+ue)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ue)*a,pe*y,(fe-ne)*a,(pe+ue)*y,(fe-ue)*a,(pe+ne)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-ue)*y,(fe-ue)*a,(pe-ne)*y,(fe-ne)*a,(pe-ue)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ue)*a,pe*y,(fe+ne)*a,(pe-ue)*y,(fe+ue)*a,(pe-ne)*y)),x.spot1=new go.Spot(0,.05),x.spot2=new go.Spot(.55,.95),x}),go.Shape.defineFigureGenerator("NorGate",function(te,a,y){var x=new go.Geometry,b=.5,z=ce*b,ne=0,ue=.5,fe=new go.PathFigure(.8*a,.5*y,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,0,y,.7*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*y,.25*a,.25*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*y,(ne+z)*a,(ue-b)*y,.7*a,(ue-z)*y)),b=.1,z=ce*.1,ne=.9,ue=.5;var pe=new go.PathFigure((ne-b)*a,ue*y,!0);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-b)*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+b)*a,ue*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+b)*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-b)*a,ue*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y)),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.6,.75),x}),go.Shape.defineFigureGenerator("OrGate",function(te,a,y){var x=new go.Geometry,b=.5,z=ce*b,ne=0,ue=.5,fe=new go.PathFigure(0,0,!0);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,(ne+z+z)*a,(ue-b)*y,.8*a,(ue-z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,0,y,.8*a,(ue+z)*y,(ne+z+z)*a,(ue+b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*y,.25*a,.25*y).close()),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("XnorGate",function(te,a,y){var x=new go.Geometry,b=.5,z=ce*b,ne=.2,ue=.5,fe=new go.PathFigure(.1*a,0,!1);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,y,.35*a,.25*y,.35*a,.75*y));var pe=new go.PathFigure(.8*a,.5*y,!0);x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,y,.7*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*y,.45*a,.25*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*y,(ne+z)*a,(ue-b)*y,.7*a,(ue-z)*y)),b=.1,z=ce*.1,ne=.9,ue=.5;var he=new go.PathFigure((ne-b)*a,ue*y,!0);return x.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-b)*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,(ne+b)*a,ue*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+b)*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,(ne-b)*a,ue*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y)),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.65,.75),x}),go.Shape.defineFigureGenerator("XorGate",function(te,a,y){var x=new go.Geometry,b=.5,z=ce*b,ne=.2,ue=.5,fe=new go.PathFigure(.1*a,0,!1);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,y,.35*a,.25*y,.35*a,.75*y));var pe=new go.PathFigure(.2*a,0,!0);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,(ne+z)*a,(ue-b)*y,.9*a,(ue-z)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,y,.9*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*y,.45*a,.25*y).close()),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.8,.75),x}),go.Shape.defineFigureGenerator("Capacitor",function(te,a,y){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,y)),b.add(new go.PathSegment(go.PathSegment.Move,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),x}),go.Shape.defineFigureGenerator("Resistor",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.5*y,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*y)),x}),go.Shape.defineFigureGenerator("Inductor",function(te,a,y){var x=new go.Geometry,b=ce*.1,z=.1,ne=.1,ue=.5,fe=new go.PathFigure((ne-b*.5)*a,y,!1);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,0,(ne-b)*a,y,(ne-z)*a,0)),ne=.3,fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,y,(ne+z)*a,0,(ne+b)*a,y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,0,(ne-b)*a,y,(ne-z)*a,0)),ne=.5,fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,y,(ne+z)*a,0,(ne+b)*a,y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,0,(ne-b)*a,y,(ne-z)*a,0)),ne=.7,fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,y,(ne+z)*a,0,(ne+b)*a,y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,0,(ne-b)*a,y,(ne-z)*a,0)),ne=.9,fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+b*.5)*a,y,(ne+z)*a,0,(ne+b)*a,y)),x}),go.Shape.defineFigureGenerator("ACvoltageSource",function(te,a,y){var x=new go.Geometry,b=ce*.5,z=.5,ne=.5,ue=.5,fe=new go.PathFigure((ne-z)*a,ue*y,!1);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-z)*y,(ne-z)*a,(ue-b)*y,(ne-b)*a,(ue-z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,(ne+b)*a,(ue-z)*y,(ne+z)*a,(ue-b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne+z)*a,(ue+b)*y,(ne+b)*a,(ue+z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,(ne-b)*a,(ue+z)*y,(ne-z)*a,(ue+b)*y)),fe.add(new go.PathSegment(go.PathSegment.Move,(ne-z+.1)*a,ue*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z-.1)*a,ue*y,ne*a,(ue-z)*y,ne*a,(ue+z)*y)),x}),go.Shape.defineFigureGenerator("DCvoltageSource",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.75*y,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*y)),b.add(new go.PathSegment(go.PathSegment.Move,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),x}),go.Shape.defineFigureGenerator("Diode",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Wifi",function(te,a,y){var x=new go.Geometry,b=a,z=y;a=a*.38,y=y*.6;var ne=ce*.8,ue=.8,fe=0,pe=.5,he=(b-a)/2,ye=(z-y)/2,Ee=new go.PathFigure(fe*a+he,(pe+ue)*y+ye,!0);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ue)*a+he,pe*y+ye,(fe-ne)*a+he,(pe+ue)*y+ye,(fe-ue)*a+he,(pe+ne)*y+ye)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe-ue)*y+ye,(fe-ue)*a+he,(pe-ne)*y+ye,(fe-ne)*a+he,(pe-ue)*y+ye)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ue+ne*.5)*a+he,pe*y+ye,fe*a+he,(pe-ue)*y+ye,(fe-ue+ne*.5)*a+he,(pe-ne)*y+ye)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe+ue)*y+ye,(fe-ue+ne*.5)*a+he,(pe+ne)*y+ye,fe*a+he,(pe+ue)*y+ye).close()),ne=ce*.4,ue=.4,fe=.2,pe=.5;var be=new go.PathFigure(fe*a+he,(pe+ue)*y+ye,!0);x.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ue)*a+he,pe*y+ye,(fe-ne)*a+he,(pe+ue)*y+ye,(fe-ue)*a+he,(pe+ne)*y+ye)),be.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe-ue)*y+ye,(fe-ue)*a+he,(pe-ne)*y+ye,(fe-ne)*a+he,(pe-ue)*y+ye)),be.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ue+ne*.5)*a+he,pe*y+ye,fe*a+he,(pe-ue)*y+ye,(fe-ue+ne*.5)*a+he,(pe-ne)*y+ye)),be.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe+ue)*y+ye,(fe-ue+ne*.5)*a+he,(pe+ne)*y+ye,fe*a+he,(pe+ue)*y+ye).close()),ne=ce*.2,ue=.2,fe=.5,pe=.5;var Se=new go.PathFigure((fe-ue)*a+he,pe*y+ye,!0);x.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe-ue)*y+ye,(fe-ue)*a+he,(pe-ne)*y+ye,(fe-ne)*a+he,(pe-ue)*y+ye)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ue)*a+he,pe*y+ye,(fe+ne)*a+he,(pe-ue)*y+ye,(fe+ue)*a+he,(pe-ne)*y+ye)),Se.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe+ue)*y+ye,(fe+ue)*a+he,(pe+ne)*y+ye,(fe+ne)*a+he,(pe+ue)*y+ye)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ue)*a+he,pe*y+ye,(fe-ne)*a+he,(pe+ue)*y+ye,(fe-ue)*a+he,(pe+ne)*y+ye)),ne=ce*.4,ue=.4,fe=.8,pe=.5;var Pe=new go.PathFigure(fe*a+he,(pe-ue)*y+ye,!0);x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ue)*a+he,pe*y+ye,(fe+ne)*a+he,(pe-ue)*y+ye,(fe+ue)*a+he,(pe-ne)*y+ye)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe+ue)*y+ye,(fe+ue)*a+he,(pe+ne)*y+ye,(fe+ne)*a+he,(pe+ue)*y+ye)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ue-ne*.5)*a+he,pe*y+ye,fe*a+he,(pe+ue)*y+ye,(fe+ue-ne*.5)*a+he,(pe+ne)*y+ye)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe-ue)*y+ye,(fe+ue-ne*.5)*a+he,(pe-ne)*y+ye,fe*a+he,(pe-ue)*y+ye).close()),ne=ce*.8,ue=.8,fe=1,pe=.5;var xe=new go.PathFigure(fe*a+he,(pe-ue)*y+ye,!0);return x.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ue)*a+he,pe*y+ye,(fe+ne)*a+he,(pe-ue)*y+ye,(fe+ue)*a+he,(pe-ne)*y+ye)),xe.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe+ue)*y+ye,(fe+ue)*a+he,(pe+ne)*y+ye,(fe+ne)*a+he,(pe+ue)*y+ye)),xe.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ue-ne*.5)*a+he,pe*y+ye,fe*a+he,(pe+ue)*y+ye,(fe+ue-ne*.5)*a+he,(pe+ne)*y+ye)),xe.add(new go.PathSegment(go.PathSegment.Bezier,fe*a+he,(pe-ue)*y+ye,(fe+ue-ne*.5)*a+he,(pe-ne)*y+ye,fe*a+he,(pe-ue)*y+ye).close()),x}),go.Shape.defineFigureGenerator("Email",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),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*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Move,0,y)),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.54*y)),z.add(new go.PathSegment(go.PathSegment.Move,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.54*y)),x}),go.Shape.defineFigureGenerator("Ethernet",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.35*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,0).close());var z=new go.PathFigure(.1*a,y,!0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,y)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,y).close());var ne=new go.PathFigure(.6*a,y,!0,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.9*a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.6*a,.6*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.6*a,y).close());var ue=new go.PathFigure(0,.5*y,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*y)),ue.add(new go.PathSegment(go.PathSegment.Move,.75*a,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.75*a,.6*y)),ue.add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.25*a,.6*y)),x}),go.Shape.defineFigureGenerator("Power",function(te,a,y){var x=new go.Geometry,b=ce*.4,z=.4,ne=.5,ue=.5,fe=re(),pe=re(),he=re(),ye=re();ve(ne,ue-z,ne+b,ue-z,ne+z,ue-b,ne+z,ue,.5,fe,fe,pe,he,ye);var Ee=ge(pe.x,pe.y),be=new go.PathFigure(pe.x*a,pe.y*y,!0);x.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,he.x*a,he.y*y,ye.x*a,ye.y*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne+z)*a,(ue+b)*y,(ne+b)*a,(ue+z)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,(ne-b)*a,(ue+z)*y,(ne-z)*a,(ue+b)*y)),ve(ne-z,ue,ne-z,ue-b,ne-b,ue-z,ne,ue-z,.5,he,ye,pe,fe,fe),be.add(new go.PathSegment(go.PathSegment.Bezier,pe.x*a,pe.y*y,he.x*a,he.y*y,ye.x*a,ye.y*y)),b=ce*.3,z=.3,ve(ne-z,ue,ne-z,ue-b,ne-b,ue-z,ne,ue-z,.5,he,ye,pe,fe,fe),be.add(new go.PathSegment(go.PathSegment.Line,pe.x*a,pe.y*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(ne-z)*a,ue*y,ye.x*a,ye.y*y,he.x*a,he.y*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+z)*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(ne+z)*a,ue*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),ve(ne,ue-z,ne+b,ue-z,ne+z,ue-b,ne+z,ue,.5,fe,fe,pe,he,ye),be.add(new go.PathSegment(go.PathSegment.Bezier,pe.x*a,pe.y*y,ye.x*a,ye.y*y,he.x*a,he.y*y).close());var be=new go.PathFigure(.45*a,0,!0);return x.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*y)),be.add(new go.PathSegment(go.PathSegment.Line,.55*a,.5*y)),be.add(new go.PathSegment(go.PathSegment.Line,.55*a,0).close()),Ae(fe),Ae(pe),Ae(he),Ae(ye),Ae(Ee),x.spot1=new go.Spot(.25,.45),x.spot2=new go.Spot(.75,.8),x}),go.Shape.defineFigureGenerator("Fallout",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y/2,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,180,360,a/2,y/2,a/2,y/2));function z(ne,ue,fe){ne.add(new go.PathSegment(go.PathSegment.Move,(.3+ue)*a,(.8+fe)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,(.5+ue)*a,(.5+fe)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,(.1+ue)*a,(.5+fe)*y)),ne.add(new go.PathSegment(go.PathSegment.Line,(.3+ue)*a,(.8+fe)*y).close())}return z(b,0,0),z(b,.4,0),z(b,.2,-.3),x}),go.Shape.defineFigureGenerator("IrritationHazard",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.2*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*y).close()),x.spot1=new go.Spot(.3,.3),x.spot2=new go.Spot(.7,.7),x}),go.Shape.defineFigureGenerator("ElectricalHazard",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.37*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.11*y)),b.add(new go.PathSegment(go.PathSegment.Line,.77*a,.04*y)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,.49*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.37*y)),b.add(new go.PathSegment(go.PathSegment.Line,.63*a,.86*y)),b.add(new go.PathSegment(go.PathSegment.Line,.77*a,.91*y)),b.add(new go.PathSegment(go.PathSegment.Line,.34*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.34*a,.78*y)),b.add(new go.PathSegment(go.PathSegment.Line,.44*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.56*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.68*y).close()),x}),go.Shape.defineFigureGenerator("FireHazard",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.1*a,y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.29*a,0,-.25*a,.63*y,.45*a,.44*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.51*a,.42*y,.48*a,.17*y,.54*a,.35*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.59*a,.18*y,.59*a,.29*y,.58*a,.28*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,.6*y,.8*a,.34*y,.88*a,.43*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.88*a,.31*y,.87*a,.48*y,.88*a,.43*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,y,1.17*a,.76*y,.82*a,.8*y).close()),x.spot1=new go.Spot(.07,.445),x.spot2=new go.Spot(.884,.958),x}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(te,a,y){var x=new go.Geometry,b=.5,z=0,ne=0,ue=b*ce,fe=.4*Math.SQRT2/2+.5,pe=.5-.5*Math.SQRT2/2,he=1,ye=.5,Ee=.5,be=0,Se=new go.PathFigure(fe*a,(1-pe)*y,!1);return x.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,he*a,ye*y,he*a,.7*y,he*a,ye*y)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ee+z)*a,(be+z)*y,(.5+b+z)*a,(.5-ue+z)*y,(.5+ue+z)*a,(.5-b+z)*y)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+ne)*y,(.5-ue+z)*a,(.5-b+ne)*y,(.5-b+z)*a,(.5-ue+ne)*y)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(.35+z)*a,.9*y,(.5-b+z)*a,(.5+ue+ne)*y,(.5-ue+z)*a,.9*y)),Se.add(new go.PathSegment(go.PathSegment.Move,(.25+z)*a,.8*y)),Se.add(new go.PathSegment(go.PathSegment.Line,(.35+z)*a,.9*y)),Se.add(new go.PathSegment(go.PathSegment.Line,(.2+z)*a,.95*y)),x}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(te,a,y){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,y)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Move,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),x}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Move,0,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Move,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),x}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(a,y,!1);x.add(z);var ne=new go.PathFigure(0,.5*y,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*y,.2*a,.35*y,.3*a,.35*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,.7*a,.65*y,.8*a,.65*y)),x}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.5*y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y).close()),x}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.2*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*y).close());var b=new go.PathFigure(0,.2*y,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*y)),x}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.7*a,y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,0,.6*a,.5*y,0,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,y,.4*a,.5*y,a,.5*y).close());var z=new go.PathFigure(.45*a,.73*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*a,.73*y)),z.add(new go.PathSegment(go.PathSegment.Move,.38*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,.63*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Move,.31*a,.27*y)),z.add(new go.PathSegment(go.PathSegment.Line,.56*a,.27*y)),x}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(.335*a,(1-.555)*y,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*y)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*y)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.68*y,(1-.12)*a,.46*y,(1-.02)*a,.54*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.68*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,.335*a,(1-.555)*y,.02*a,.54*y,.12*a,.46*y)),z.add(new go.PathSegment(go.PathSegment.Line,.365*a,(1-.595)*y));var ne=.5-.285,ue=.5,fe=ne,pe=Math.PI/4,he=4*(1-Math.cos(pe))/(3*Math.sin(pe)),ye=he*.5,Ee=ne,be=ne,Se=he*Ee,Pe=he*be;z.add(new go.PathSegment(go.PathSegment.Bezier,(ue-Ee)*a,fe*y,(ue-(Se+Ee)/2)*a,(fe+(be+Pe)/2)*y,(ue-Ee)*a,(fe+Pe)*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,(fe-be)*y,(ue-Ee)*a,(fe-Pe)*y,(ue-Se)*a,(fe-be)*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,(ue+Ee)*a,fe*y,(ue+Se)*a,(fe-be)*y,(ue+Ee)*a,(fe-Pe)*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*a,(1-.595)*y,(ue+Ee)*a,(fe+Pe)*y,(ue+(Se+Ee)/2)*a,(fe+(be+Pe)/2)*y)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*a,(1-.595)*y)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*y)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*y)),z.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*y));var xe=new go.PathFigure(.2*a,y,!1);x.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.2*a,.8*y));var Ce=new go.PathFigure(.8*a,y,!1);return x.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*y)),x}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.1*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,y).close());var z=new go.PathFigure(.2*a,.2*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*y)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.8*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*y)),x}),go.Shape.defineFigureGenerator("BpmnEventError",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,.5*y).close()),x}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(a,y,!1);x.add(z);var ne=new go.PathFigure(.1*a,y,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.9*a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y).close()),x}),go.Shape.defineFigureGenerator("Caution",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.05*a,y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.8*y,0,y,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.1*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.1*y,.5*a,0,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.95*a,.9*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,y,a,y,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.05*a,y));var z=.05;return b.add(new go.PathSegment(go.PathSegment.Move,(.5-z)*a,.875*y)),b.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*a,.875*y,z*a,z*y)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.325*y,.575*a,.725*y,.625*a,.375*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.75*y,.375*a,.375*y,.425*a,.725*y)),x}),go.Shape.defineFigureGenerator("Recycle",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.45*a,.95*y,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.95*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.185*a,.85*y,.17*a,.95*y,.15*a,.9*y)),b.add(new go.PathSegment(go.PathSegment.Line,.235*a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,.625*y)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,.65*y)),b.add(new go.PathSegment(go.PathSegment.Line,.275*a,.45*y)),b.add(new go.PathSegment(go.PathSegment.Line,.05*a,.45*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.05*a,.575*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.1875*a,.95*y,0,.675*y,0,.7*y)),b.add(new go.PathSegment(go.PathSegment.Move,.45*a,.95*y)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.775*y)),b.add(new go.PathSegment(go.PathSegment.Line,.22*a,.775*y));var z=new go.PathFigure(.475*a,.2*y,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,.225*a,.3*y)),z.add(new go.PathSegment(go.PathSegment.Line,.275*a,.175*y)),z.add(new go.PathSegment(go.PathSegment.Line,.325*a,.05*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.05*y,.35*a,0,.375*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.575*a,.375*y)),z.add(new go.PathSegment(go.PathSegment.Line,.525*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,.75*a,.475*y)),z.add(new go.PathSegment(go.PathSegment.Line,.85*a,.315*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.32*y)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,.05*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,0,.65*a,.05*y,.625*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.38*a,.0105*y));var ne=new go.PathFigure(.675*a,.575*y,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.875*a,.525*y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,.775*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.85*a,.95*y,a,.8*y,a,.85*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*a,.95*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*a,.85*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*a,.725*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.65*a,.775*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,.775*y)),ne.add(new go.PathSegment(go.PathSegment.Line,a,.775*y)),ne.add(new go.PathSegment(go.PathSegment.Move,.675*a,.575*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.775*a,.775*y)),x}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(te,a,y){var x=new go.Geometry,b=.5,z=ce*.5,ne=new go.PathFigure(a,b*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,b*a,y,a,(b+z)*y,(b+z)*a,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,b*y,(b-z)*a,y,0,(b+z)*y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-z)*y,(b-z)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,b*y,(b+z)*a,0,a,(b-z)*y));var ue=new go.PathFigure(b*a,0,!1);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,b*a,.15*y)),ue.add(new go.PathSegment(go.PathSegment.Move,b*a,y)),ue.add(new go.PathSegment(go.PathSegment.Line,b*a,.85*y)),ue.add(new go.PathSegment(go.PathSegment.Move,0,b*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.15*a,b*y)),ue.add(new go.PathSegment(go.PathSegment.Move,a,b*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.85*a,b*y)),ue.add(new go.PathSegment(go.PathSegment.Move,b*a,b*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.58*a,.1*y)),ue.add(new go.PathSegment(go.PathSegment.Move,b*a,b*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.78*a,.54*y)),x}),go.Shape.defineFigureGenerator("Package",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.15*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close());var z=new go.PathFigure(0,.15*y,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,.15*y).close()),x.spot1=new go.Spot(0,.1),x.spot2=new go.Spot(1,1),x}),go.Shape.defineFigureGenerator("Class",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*y,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.2*y).close());var ne=new go.PathFigure(0,.5*y,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,.5*y).close()),x}),go.Shape.defineFigureGenerator("Component",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a,y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y).close());var z=new go.PathFigure(0,.2*y,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.2*y)),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.2*y).close());var ne=new go.PathFigure(0,.6*y,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.45*a,.6*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.45*a,.8*y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.8*y)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.6*y).close()),x}),go.Shape.defineFigureGenerator("Boat Shipment",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.15*a,.6*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*y));var z=new go.PathFigure(.15*a,.6*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*y)),x}),go.Shape.defineFigureGenerator("Customer/Supplier",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a,y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,.33*y)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,.33*y)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.33*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y).close()),x}),go.Shape.defineFigureGenerator("Workcell",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),x}),go.Shape.defineFigureGenerator("Supermarket",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.33*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.33*y)),b.add(new go.PathSegment(go.PathSegment.Move,a,.33*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.66*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.66*y)),b.add(new go.PathSegment(go.PathSegment.Move,a,.66*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),x}),go.Shape.defineFigureGenerator("TruckShipment",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(a,.8*y,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,.8*y).close());var ne=.1,ue=ce*.1,fe=.2,pe=.9,he=new go.PathFigure((fe-ne)*a,pe*y,!0);x.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-ne)*y,(fe-ne)*a,(pe-ue)*y,(fe-ue)*a,(pe-ne)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ne)*a,pe*y,(fe+ue)*a,(pe-ne)*y,(fe+ne)*a,(pe-ue)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe+ne)*y,(fe+ne)*a,(pe+ue)*y,(fe+ue)*a,(pe+ne)*y)),he.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ne)*a,pe*y,(fe-ue)*a,(pe+ne)*y,(fe-ne)*a,(pe+ue)*y).close()),ne=.1,ue=ce*.1,fe=.8,pe=.9;var ye=new go.PathFigure((fe-ne)*a,pe*y,!0);return x.add(ye),ye.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe-ne)*y,(fe-ne)*a,(pe-ue)*y,(fe-ue)*a,(pe-ne)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,(fe+ne)*a,pe*y,(fe+ue)*a,(pe-ne)*y,(fe+ne)*a,(pe-ue)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,fe*a,(pe+ne)*y,(fe+ne)*a,(pe+ue)*y,(fe+ue)*a,(pe+ne)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,(fe-ne)*a,pe*y,(fe-ue)*a,(pe+ne)*y,(fe-ne)*a,(pe+ue)*y).close()),x}),go.Shape.defineFigureGenerator("KanbanPost",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.2*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,y)),x}),go.Shape.defineFigureGenerator("Forklift",function(te,a,y){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*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0));var z=new go.PathFigure(0,.5*y,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,.8*y)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*y)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,0,.5*y));var ne=new go.PathFigure(.5*a,.8*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,.1*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*a,.1*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*a,.8*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*y));var ue=new go.PathFigure(.5*a,.7*y,!1);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a,.7*y));var fe=.1,pe=ce*.1,he=.1,ye=.9,Ee=new go.PathFigure((he-fe)*a,ye*y,!0);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,he*a,(ye-fe)*y,(he-fe)*a,(ye-pe)*y,(he-pe)*a,(ye-fe)*y)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(he+fe)*a,ye*y,(he+pe)*a,(ye-fe)*y,(he+fe)*a,(ye-pe)*y)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,he*a,(ye+fe)*y,(he+fe)*a,(ye+pe)*y,(he+pe)*a,(ye+fe)*y)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(he-fe)*a,ye*y,(he-pe)*a,(ye+fe)*y,(he-fe)*a,(ye+pe)*y)),fe=.1,pe=ce*.1,he=.4,ye=.9;var be=new go.PathFigure((he-fe)*a,ye*y,!0);return x.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,he*a,(ye-fe)*y,(he-fe)*a,(ye-pe)*y,(he-pe)*a,(ye-fe)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(he+fe)*a,ye*y,(he+pe)*a,(ye-fe)*y,(he+fe)*a,(ye-pe)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,he*a,(ye+fe)*y,(he+fe)*a,(ye+pe)*y,(he+pe)*a,(ye+fe)*y)),be.add(new go.PathSegment(go.PathSegment.Bezier,(he-fe)*a,ye*y,(he-pe)*a,(ye+fe)*y,(he-fe)*a,(ye+pe)*y)),x}),go.Shape.defineFigureGenerator("RailShipment",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.1*a,.4*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.4*y).close());var z=new go.PathFigure(.45*a,.7*y,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*y));var ne=new go.PathFigure(.55*a,.4*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.55*a,.4*y).close());var he=.05,ye=ce*.05,Ee=.175,be=.95,ue=new go.PathFigure((Ee-he)*a,be*y,!0);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be-he)*y,(Ee-he)*a,(be-ye)*y,(Ee-ye)*a,(be-he)*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(Ee+he)*a,be*y,(Ee+ye)*a,(be-he)*y,(Ee+he)*a,(be-ye)*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be+he)*y,(Ee+he)*a,(be+ye)*y,(Ee+ye)*a,(be+he)*y)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(Ee-he)*a,be*y,(Ee-ye)*a,(be+he)*y,(Ee-he)*a,(be+ye)*y));var he=.05,ye=ce*.05,Ee=.375,be=.95,fe=new go.PathFigure((Ee-he)*a,be*y,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be-he)*y,(Ee-he)*a,(be-ye)*y,(Ee-ye)*a,(be-he)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(Ee+he)*a,be*y,(Ee+ye)*a,(be-he)*y,(Ee+he)*a,(be-ye)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be+he)*y,(Ee+he)*a,(be+ye)*y,(Ee+ye)*a,(be+he)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(Ee-he)*a,be*y,(Ee-ye)*a,(be+he)*y,(Ee-he)*a,(be+ye)*y));var he=.05,ye=ce*.05,Ee=.625,be=.95,pe=new go.PathFigure((Ee-he)*a,be*y,!0);x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be-he)*y,(Ee-he)*a,(be-ye)*y,(Ee-ye)*a,(be-he)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(Ee+he)*a,be*y,(Ee+ye)*a,(be-he)*y,(Ee+he)*a,(be-ye)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be+he)*y,(Ee+he)*a,(be+ye)*y,(Ee+ye)*a,(be+he)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(Ee-he)*a,be*y,(Ee-ye)*a,(be+he)*y,(Ee-he)*a,(be+ye)*y));var he=.05,ye=ce*.05,Ee=.825,be=.95,Se=new go.PathFigure((Ee-he)*a,be*y,!0);x.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be-he)*y,(Ee-he)*a,(be-ye)*y,(Ee-ye)*a,(be-he)*y)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ee+he)*a,be*y,(Ee+ye)*a,(be-he)*y,(Ee+he)*a,(be-ye)*y)),Se.add(new go.PathSegment(go.PathSegment.Bezier,Ee*a,(be+he)*y,(Ee+he)*a,(be+ye)*y,(Ee+ye)*a,(be+he)*y)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ee-he)*a,be*y,(Ee-ye)*a,(be+he)*y,(Ee-he)*a,(be+ye)*y).close());var Pe=new go.PathFigure(0,y,!1);return x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Line,a,y).close()),x}),go.Shape.defineFigureGenerator("Warehouse",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*y,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.2*y).close());var ne=new go.PathFigure(.15*a,y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.15*a,.5*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.4*a,y)),ne.add(new go.PathSegment(go.PathSegment.Line,.15*a,y).close());var ue=.05,fe=ce*.05,pe=.35,he=.775,ye=new go.PathFigure((pe-ue)*a,he*y,!0);return x.add(ye),ye.add(new go.PathSegment(go.PathSegment.Bezier,pe*a,(he-ue)*y,(pe-ue)*a,(he-fe)*y,(pe-fe)*a,(he-ue)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ue)*a,he*y,(pe+fe)*a,(he-ue)*y,(pe+ue)*a,(he-fe)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,pe*a,(he+ue)*y,(pe+ue)*a,(he+fe)*y,(pe+fe)*a,(he+ue)*y)),ye.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ue)*a,he*y,(pe-fe)*a,(he+ue)*y,(pe-ue)*a,(he+fe)*y).close()),x}),go.Shape.defineFigureGenerator("ControlCenter",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Move,.1*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*y).close()),x}),go.Shape.defineFigureGenerator("Bluetooth",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.75*y,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*y)),x}),go.Shape.defineFigureGenerator("Bookmark",function(te,a,y){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,y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*y)),x}),go.Shape.defineFigureGenerator("Bookmark",function(te,a,y){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,y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*y)),x}),go.Shape.defineFigureGenerator("Globe",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Move,0,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*y,.75*a,0,a,.25*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,a,.75*y,.75*a,y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*y,.25*a,y,0,.75*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,.25*y,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,y,.15*a,.25*y,.15*a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.85*a,.75*y,.85*a,.25*y)),b.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.15*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.15*y,.35*a,.3*y,.65*a,.3*y)),b.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.85*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.85*y,.35*a,.7*y,.65*a,.7*y)),x}),go.Shape.defineFigureGenerator("Wave",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.25*y,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.25*y,.1*a,0,.2*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.25*y,.425*a,.5*y,.575*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.25*y,.8*a,0,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.75*y)),b.add(new go.PathSegment(go.PathSegment.Move,0,.25*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.75*y,.1*a,.5*y,.2*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.75*y,.425*a,y,.575*a,y)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.75*y,.8*a,.5*y,.9*a,.5*y)),x}),go.Shape.defineFigureGenerator("Operator",function(te,a,y){var x=new go.Geometry,b=.3,z=ce*.3,ne=.5,ue=.7,fe=new go.PathFigure((ne-b)*a,ue*y,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-b)*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+b)*a,ue*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+b)*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-b)*a,ue*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y));var pe=new go.PathFigure(0,.7*y,!1);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,a,.7*y,0,0,a,0)),x}),go.Shape.defineFigureGenerator("TripleFanBlades",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*y,.65*a,.3*y,.65*a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.35*a,.5*y,.35*a,.3*y)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,y,.3*a,.6*y,.1*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*y,.2*a,y,.35*a,.95*y)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,y,.7*a,.6*y,.9*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*y,.8*a,y,.65*a,.95*y)),x}),go.Shape.defineFigureGenerator("CentrifugalPump",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*y,0,.075*y,0,.5*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,y,0,y,.4*a,y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.4*y,.8*a,y,.85*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),x}),go.Shape.defineFigureGenerator("Battery",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.1*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.1*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Move,.4*a,.1*y)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.1*y));var z=new go.PathFigure(0,.6*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,0,.4*y)),z.add(new go.PathSegment(go.PathSegment.Line,a,.4*y)),x}),go.Shape.defineFigureGenerator("Delete",function(te,a,y){var x=new go.Geometry,b=.5,z=ce*.5,ne=.5,ue=.5,fe=new go.PathFigure((ne-b)*a,ue*y,!0);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-b)*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+b)*a,ue*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+b)*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-b)*a,ue*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y));var pe=new go.PathFigure(.15*a,.5*y,!1);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,.85*a,.5*y)),x}),go.Shape.defineFigureGenerator("Flag",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.1*y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Move,0,.1*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.1*y,.15*a,0,.35*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*y,.65*a,.2*y,.85*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*y,.85*a,.6*y,.65*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*y,.35*a,.4*y,.15*a,.4*y).close()),x}),go.Shape.defineFigureGenerator("Help",function(te,a,y){var x=new go.Geometry,b=.5,z=ce*.5,ne=.5,ue=.5,fe=new go.PathFigure((ne-b)*a,ue*y,!1);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-b)*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+b)*a,ue*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+b)*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),fe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-b)*a,ue*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y).close()),b=.05,z=ce*.05,ne=.5,ue=.8;var pe=new go.PathFigure((ne-b)*a,ue*y,!1);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue-b)*y,(ne-b)*a,(ue-z)*y,(ne-z)*a,(ue-b)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+b)*a,ue*y,(ne+z)*a,(ue-b)*y,(ne+b)*a,(ue-z)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ue+b)*y,(ne+b)*a,(ue+z)*y,(ne+z)*a,(ue+b)*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne-b)*a,ue*y,(ne-z)*a,(ue+b)*y,(ne-b)*a,(ue+z)*y).close()),pe.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*y)),pe.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*y,.75*a,.475*y,.75*a,.225*y)),pe.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.35*y,.4*a,.2*y,.3*a,.25*y)),x}),go.Shape.defineFigureGenerator("Location",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.5*a,y,!0).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*y)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.975*a,.025*y,.5*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*a,.5*y,.5*a,0,.025*a,.025*y).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*y)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*a,.3*y,.1*a,.1*y).close()))}),go.Shape.defineFigureGenerator("Lock",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.5*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*y));var z=new go.PathFigure(.2*a,.5*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*y,.25*a,0,.75*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.3*y)),x}),go.Shape.defineFigureGenerator("Unlocked",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.5*y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*y));var z=new go.PathFigure(.2*a,.5*y,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*y)),z.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*y)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*y,.25*a,0,.75*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.35*y)),x}),go.Shape.defineFigureGenerator("Gear",function(te,a,y){return new go.Geometry().add(new go.PathFigure(.9375*a,.56246875*y,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.4375*y)).add(new go.PathSegment(go.PathSegment.Line,.80621875*a,.4375*y)).add(new go.PathSegment(go.PathSegment.Bezier,.763*a,.3316875*y,.79840625*a,.39915625*y,.7834375*a,.3635*y)).add(new go.PathSegment(go.PathSegment.Line,.8566875*a,.23796875*y)).add(new go.PathSegment(go.PathSegment.Line,.76825*a,.14959375*y)).add(new go.PathSegment(go.PathSegment.Line,.67596875*a,.24184375*y)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*a,.19378125*y,.64228125*a,.2188125*y,.603875*a,.2021875*y)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.0625*y)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.0625*y)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.19378125*y)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*a,.239375*y,.39759375*a,.20190625*y,.36053125*a,.2176875*y)).add(new go.PathSegment(go.PathSegment.Line,.2379375*a,.14959375*y)).add(new go.PathSegment(go.PathSegment.Line,.14953125*a,.2379375*y)).add(new go.PathSegment(go.PathSegment.Line,.23934375*a,.3278125*y)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*a,.4375*y,.21765625*a,.36059375*y,.201875*a,.397625*y)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.4375*y)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.5625*y)).add(new go.PathSegment(go.PathSegment.Line,.1938125*a,.5625*y)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*a,.67596875*y,.20221875*a,.603875*y,.21884375*a,.64228125*y)).add(new go.PathSegment(go.PathSegment.Line,.1495625*a,.76825*y)).add(new go.PathSegment(go.PathSegment.Line,.238*a,.8566875*y)).add(new go.PathSegment(go.PathSegment.Line,.3316875*a,.76296875*y)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*a,.80621875*y,.36353125*a,.78340625*y,.3991875*a,.79840625*y)).add(new go.PathSegment(go.PathSegment.Line,.43753125*a,.9375*y)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.9375*y)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.80621875*y)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*a,.760625*y,.602375*a,.79809375*y,.63946875*a,.78234375*y)).add(new go.PathSegment(go.PathSegment.Line,.76828125*a,.8566875*y)).add(new go.PathSegment(go.PathSegment.Line,.85671875*a,.76825*y)).add(new go.PathSegment(go.PathSegment.Line,.76065625*a,.67221875*y)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*a,.56246875*y,.78234375*a,.63940625*y,.798125*a,.602375*y)).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.56246875*y).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.6*y)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*a,.5*y,.1*a,.1*y).close()))}),go.Shape.defineFigureGenerator("Hand",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.5*y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.3*y,0,.375*y,.05*a,.325*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.075*y,.3*a,.225*y,.4*a,.175*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.525*a,.075*y,.46*a,.05*y,.525*a,.05*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.4*y,.525*a,.275*y,.475*a,.325*y)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.55*y,a,.4*y,a,.55*y)),b.add(new go.PathSegment(go.PathSegment.Line,.425*a,.55*y)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.55*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.7*y,.675*a,.55*y,.675*a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Line,.575*a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,.85*y,.65*a,.7*y,.65*a,.85*y)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.85*y)),b.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.535*a,y,.61*a,.85*y,.61*a,y)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*y,.435*a,y,0,y).close()),x}),go.Shape.defineFigureGenerator("Map",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,.2*y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,y).close()),b.add(new go.PathSegment(go.PathSegment.Move,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*y)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y)),b.add(new go.PathSegment(go.PathSegment.Move,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*y)),x}),go.Shape.defineFigureGenerator("Eject",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,y)),b.add(new go.PathSegment(go.PathSegment.Line,a,y*.7)),b.add(new go.PathSegment(go.PathSegment.Line,0,y*.7).close());var z=new go.PathFigure(0,y*.6,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.6*y)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close()),x}),go.Shape.defineFigureGenerator("Pencil",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*y)).add(new go.PathSegment(go.PathSegment.Line,a,.9*y)).add(new go.PathSegment(go.PathSegment.Line,.9*a,y)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*y).close()))}),go.Shape.defineFigureGenerator("Building",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*1,y*1,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,0,y*.85)),b.add(new go.PathSegment(go.PathSegment.Line,.046*a,y*.85)),b.add(new go.PathSegment(go.PathSegment.Line,.046*a,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,0,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,0,y*.3)),b.add(new go.PathSegment(go.PathSegment.Line,.046*a,y*.3)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,y*.3)),b.add(new go.PathSegment(go.PathSegment.Line,a,y*.3)),b.add(new go.PathSegment(go.PathSegment.Line,a,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,y*.85)),b.add(new go.PathSegment(go.PathSegment.Line,a,y*.85).close());var z=new go.PathFigure(.126*a,.85*y,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.126*a,.45*y)),z.add(new go.PathSegment(go.PathSegment.Line,.322*a,.45*y)),z.add(new go.PathSegment(go.PathSegment.Line,.322*a,.85*y).close());var ne=new go.PathFigure(.402*a,.85*y,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.402*a,.45*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.598*a,.45*y)),ne.add(new go.PathSegment(go.PathSegment.Line,.598*a,.85*y).close());var ue=new go.PathFigure(.678*a,.85*y,!1);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.678*a,.45*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.874*a,.45*y)),ue.add(new go.PathSegment(go.PathSegment.Line,.874*a,.85*y).close());var fe=new go.PathFigure(.5*a,.1*y,!1);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*a,.3*y)),fe.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*a,.3*y).close()),x}),go.Shape.defineFigureGenerator("Staircase",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y*1,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,y*.8)),b.add(new go.PathSegment(go.PathSegment.Line,a*.4,y*.8)),b.add(new go.PathSegment(go.PathSegment.Line,a*.4,y*.6)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,y*.6)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,y*.4)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,y*.4)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,y*.2)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*.2)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*.15)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,y*.15)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,y*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,y*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,y*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,y*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,0,y*.95).close()),x}),go.Shape.defineFigureGenerator("5Bars",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,y*1,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.184,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.184,y*(1-.184)).close());var z=new go.PathFigure(a*.204,y,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.204,y*(1-.184))),z.add(new go.PathSegment(go.PathSegment.Line,a*.388,y*(1-.184*2))),z.add(new go.PathSegment(go.PathSegment.Line,a*.388,y*1).close());var ne=new go.PathFigure(a*.408,y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.408,y*(1-.184*2))),ne.add(new go.PathSegment(go.PathSegment.Line,a*.592,y*(1-.184*3))),ne.add(new go.PathSegment(go.PathSegment.Line,a*.592,y*1).close());var ue=new go.PathFigure(a*.612,y,!0);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a*.612,y*(1-.184*3))),ue.add(new go.PathSegment(go.PathSegment.Line,a*.796,y*(1-.184*4))),ue.add(new go.PathSegment(go.PathSegment.Line,a*.796,y*1).close());var fe=new go.PathFigure(a*.816,y,!0);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,a*.816,y*(1-.184*4))),fe.add(new go.PathSegment(go.PathSegment.Line,a*1,y*(1-.184*5))),fe.add(new go.PathSegment(go.PathSegment.Line,a*1,y*1).close()),x}),go.Shape.defineFigureGenerator("PC",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,0).close());var z=new go.PathFigure(a*.055,.07*y,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.245,y*.07)),z.add(new go.PathSegment(go.PathSegment.Line,a*.245,y*.1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.055,y*.1).close());var ne=new go.PathFigure(a*.055,.13*y,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.245,y*.13)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.245,y*.16)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.055,y*.16).close());var ue=new go.PathFigure(a*.055,.18*y,!0);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a*.245,y*.18)),ue.add(new go.PathSegment(go.PathSegment.Line,a*.245,y*.21)),ue.add(new go.PathSegment(go.PathSegment.Line,a*.055,y*.21).close());var fe=new go.PathFigure(a*1,0,!0);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,a*.4,0)),fe.add(new go.PathSegment(go.PathSegment.Line,a*.4,y*.65)),fe.add(new go.PathSegment(go.PathSegment.Line,a*1,y*.65).close()),x}),go.Shape.defineFigureGenerator("Plane",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(.55*a,y,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*y)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.475*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.35*a,.525*y,0,.4*y,.225*a,.45*y)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.475*y)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,.35*y)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.325*y)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.325*y)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.1*y)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.2*y,.975*a,0,a,.08*y)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.45*y)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.95*y)),b.add(new go.PathSegment(go.PathSegment.Line,.55*a,y).close()),x}),go.Shape.defineFigureGenerator("Key",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*1,y*.5,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.9,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.4*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.35*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,.35*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,.2*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.35*y)),b.add(new go.PathSegment(go.PathSegment.Line,0,.65*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,.8*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,.65*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.65*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,.55*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,.55*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,.6*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.85,.575*y)),b.add(new go.PathSegment(go.PathSegment.Line,a*.9,.6*y).close()),b.add(new go.PathSegment(go.PathSegment.Move,.17*a,.425*y)),b.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*a,.5*y,.075*a,.075*y).close()),x}),go.Shape.defineFigureGenerator("FilmTape",function(te,a,y){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,a*0,a*.3,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,0,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.08,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.08,y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),y*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*1));var z=new go.PathFigure(0,0,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*1,y*0)),z.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*1,a*.3,a*.055)),z.add(new go.PathSegment(go.PathSegment.Line,a*1,y*1));var ne=new go.PathFigure(a*.11,y*.1,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),y*.1)),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),y*.8)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.11,y*.8).close());var ue=new go.PathFigure(a*(.11+.24133333*1+.028*1),y*.1,!1);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),y*.1)),ue.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),y*.8)),ue.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*1),y*.8).close());var fe=new go.PathFigure(a*(.11+.24133333*2+.028*2),y*.1,!1);return x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),y*.1)),fe.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),y*.8)),fe.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*2),y*.8).close()),x}),go.Shape.defineFigureGenerator("FloppyDisk",function(te,a,y){var x=new go.Geometry,b=8,z=b*ce,ne=new go.PathFigure(b,0,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.86,0)),ne.add(new go.PathSegment(go.PathSegment.Line,a*1,y*.14)),ne.add(new go.PathSegment(go.PathSegment.Line,a,y-b)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a-b,y,a,y-z,a-z,y)),ne.add(new go.PathSegment(go.PathSegment.Line,b,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,y-b,z,y,0,y-z)),ne.add(new go.PathSegment(go.PathSegment.Line,0,b)),ne.add(new go.PathSegment(go.PathSegment.Bezier,b,0,0,z,z,0).close());var ue=new go.PathFigure(a*.83,0,!1);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a*.83,y*.3)),ue.add(new go.PathSegment(go.PathSegment.Line,a*.17,y*.3)),ue.add(new go.PathSegment(go.PathSegment.Line,a*.17,y*0).close());var fe=new go.PathFigure(a*.83,y*1,!1);x.add(fe),fe.add(new go.PathSegment(go.PathSegment.Line,a*.83,y*.5)),fe.add(new go.PathSegment(go.PathSegment.Line,a*.17,y*.5)),fe.add(new go.PathSegment(go.PathSegment.Line,a*.17,y*1).close());var pe=new go.PathFigure(a*.78,y*.05,!1);return x.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*.05)),pe.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*.25)),pe.add(new go.PathSegment(go.PathSegment.Line,a*.78,y*.25).close()),x}),go.Shape.defineFigureGenerator("SpeechBubble",function(te,a,y){var x=te?te.parameter1:NaN;(isNaN(x)||x<0)&&(x=15),x=Math.min(x,a/3),x=Math.min(x,y/3);var b=x*ce,z=y*.8,ne=new go.Geometry,ue=new go.PathFigure(x,0,!0);return ne.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),ue.add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-b,0,a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,a,z-x)),ue.add(new go.PathSegment(go.PathSegment.Bezier,a-x,z,a,z-b,a-b,z)),ue.add(new go.PathSegment(go.PathSegment.Line,a*.7,z)),ue.add(new go.PathSegment(go.PathSegment.Line,a*.7,y)),ue.add(new go.PathSegment(go.PathSegment.Line,a*.55,z)),ue.add(new go.PathSegment(go.PathSegment.Line,x,z)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,z-x,b,z,0,z-b)),ue.add(new go.PathSegment(go.PathSegment.Line,0,x)),ue.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,b,b,0).close()),b>1?(ne.spot1=new go.Spot(0,0,b,b),ne.spot2=new go.Spot(1,.8,-b,-b)):(ne.spot1=go.Spot.TopLeft,ne.spot2=new go.Spot(1,.8)),ne}),go.Shape.defineFigureGenerator("Repeat",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*0,y*.45,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,y*.9)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,y*.9)),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,y*.45).close());var z=new go.PathFigure(a*1,y*.55,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.75,y*1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.5,y*.55)),z.add(new go.PathSegment(go.PathSegment.Line,a*.7,y*.55)),z.add(new go.PathSegment(go.PathSegment.Line,a*.7,y*.1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.4,y*.1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.35,y*0)),z.add(new go.PathSegment(go.PathSegment.Line,a*.8,y*0)),z.add(new go.PathSegment(go.PathSegment.Line,a*.8,y*.55).close()),x}),go.Shape.defineFigureGenerator("Windows",function(te,a,y){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,y)).add(new go.PathSegment(go.PathSegment.Line,0,y).close()).add(new go.PathSegment(go.PathSegment.Move,.4*a,.4*y)).add(new go.PathSegment(go.PathSegment.Line,.4*a,.8*y)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*y)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*y).close()).add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*y)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.6*y)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.6*y)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.1*y).close()).add(new go.PathSegment(go.PathSegment.Move,.1*a,.6*y)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*y)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.9*y)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*y).close()))}),go.Shape.defineFigureGenerator("Terminal",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*0,y*.1,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*.9)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,y*.9).close());var z=new go.PathFigure(a*.1,y*.2,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.1,y*.25)),z.add(new go.PathSegment(go.PathSegment.Line,a*.22,y*.285)),z.add(new go.PathSegment(go.PathSegment.Line,a*.1,y*.32)),z.add(new go.PathSegment(go.PathSegment.Line,a*.1,y*.37)),z.add(new go.PathSegment(go.PathSegment.Line,a*.275,y*.32)),z.add(new go.PathSegment(go.PathSegment.Line,a*.275,y*.25).close());var ne=new go.PathFigure(a*.28,y*.37,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.45,y*.37)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.45,y*.41)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.28,y*.41).close()),x}),go.Shape.defineFigureGenerator("Beaker",function(te,a,y){var x=new go.Geometry,b=15,z=b*ce,ne=new go.PathFigure(a*.62,y*.475,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,y-b)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a-b,y,a,y-z,a-z,y)),ne.add(new go.PathSegment(go.PathSegment.Line,b,y)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,y-b,z,y,0,y-z)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.38,y*.475)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.38,y*.03)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.36,y*0)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.64,y*0)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.62,y*.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(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*0,y*1,!0);x.add(b);var z=.1/.3;b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.755,y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.93,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.64,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.61,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.39,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.36,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.07,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,y*(1-z)).close());var ne=new go.PathFigure(a*.4,y*0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.4,y*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.26,y*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.5,y*.66)),ne.add(new go.PathSegment(go.PathSegment.Line,a*(1-.26),y*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.6,y*.44)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.6,y*0).close()),x}),go.Shape.defineFigureGenerator("Bin",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*0,y*1,!0);x.add(b);var z=.1/.3;return b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.755,y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.93,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.64,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.61,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.39,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.36,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.07,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,y*(1-z)).close()),x}),go.Shape.defineFigureGenerator("Upload",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*0,y*1,!0);x.add(b);var z=.1/.3;b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.755,y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.93,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.64,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.61,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.39,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.36,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.07,y*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),y*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,y*(1-z)).close());var ne=new go.PathFigure(a*.5,y*0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.26,y*.25)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.4,y*.25)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.4,y*.63)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.6,y*.63)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.6,y*.25)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.74,y*.25).close()),x}),go.Shape.defineFigureGenerator("EmptyDrink",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*.15,y*0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.85,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,y*1).close()),x}),go.Shape.defineFigureGenerator("Drink",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*.15,y*0,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.85,y*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,y*1).close());var z=new go.PathFigure(a*.235,y*.28,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.765,y*.28)),z.add(new go.PathSegment(go.PathSegment.Line,a*.655,y*.97)),z.add(new go.PathSegment(go.PathSegment.Line,a*.345,y*.97).close()),x}),go.Shape.defineFigureGenerator("4Arrows",function(te,a,y){var x=new go.Geometry,b=new go.PathFigure(a*.5,y*0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,y*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,y*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,y*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,y*.5)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,y*.65)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,y*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,y*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,y*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,y*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,y*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,y*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,y*.65)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,y*.5)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,y*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,y*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,y*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,y*.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 ht={},ut="5.0",ge={},re=null,Ae=!1,E=!1,ve=null,me=!1,de=null,ce=null,se=0;se4?parseFloat(ze):5};ht.setHTML5Codebase=function(ze,je){ce=ze,Ge(ze,je)},ht.setJavaCodebase=ht.setJavaCodebaseVersion=ht.isCompiledInstalled=ht.setPreCompiledScriptPath=ht.setPreCompiledResourcePath=function(){},ht.setHTML5CodebaseVersion=function(ze,je){var Ue=parseFloat(ze);if(Ue!==NaN&&Ue<5){console.log("The GeoGebra HTML5 codebase version "+Ue+" is deprecated. Using version latest instead.");return}de=ze,Ze(ze,je)},ht.getHTML5CodebaseVersion=function(){return te},ht.getParameters=function(){return ge},ht.setFontsCSSURL=function(ze){ne=ze},ht.setGiacJSURL=function(ze){},ht.setJNLPFile=function(ze){le=ze},ht.setJNLPBaseDir=function(ze){},ht.inject=function(){function ze(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var je="auto",Ue=ge.id,Qe,Ke=!1,ot=0;ot=5)return!0;var ze=ht.getAppletObject();return ze&&typeof ze.recalculateEnvironments=="function"?(ze.recalculateEnvironments(),!0):!1},ht.startAnimation=function(){var ze=ht.getAppletObject();return ze&&typeof ze.startAnimation=="function"?(ze.startAnimation(),!0):!1},ht.stopAnimation=function(){var ze=ht.getAppletObject();return ze&&typeof ze.stopAnimation=="function"?(ze.stopAnimation(),!0):!1},ht.getAppletObject=function(){var ze=ge.id!==void 0?ge.id:"ggbApplet";return window[ze]},ht.resize=function(){};var Se=function(ze,je,Ue){var Qe=document.createElement("param");Qe.setAttribute("name",je),Qe.setAttribute("value",Ue),ze.appendChild(Qe)},Pe=function(ze){return ze&&ze!=="false"},xe=function(ze,je,Ue){fe(te)<=4.2&&(Ue=!0);var Qe=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==te||ggbHTML5LoadedCodebaseIsWebSimple&&!y)&&(Qe=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var Ke=document.createElement("div");Ke.classList.add("appletParameters","notranslate");var ot=je.width,Ye=je.height;if(je.disableAutoScale=je.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():je.disableAutoScale,je.width!==void 0)if(fe(te)<=4.4)Pe(je.showToolBar)&&(je.height-=7),Pe(je.showAlgebraInput)&&(je.height-=37),je.width<605&&Pe(je.showToolBar)&&(je.width=605,ot=605);else{var He=100;(Pe(je.showToolBar)||Pe(je.showMenuBar))&&(je.hasOwnProperty("customToolBar")&&(je.customToolbar=je.customToolBar),He=Pe(je.showMenuBar)?245:155),ot=5?(je.appletOnLoad=function(st){var Et=ze.querySelector(".ggb_preview");Et&&Et.parentNode.removeChild(Et),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(De),window.GGBT_wsf_view&&$(window).trigger("resize"),Xe(st)},ke||De.appendChild(tt)):Ke.appendChild(tt),De.appendChild(Ke),ke||ze.appendChild(De),setTimeout(function(){ht.resize()},1)}else{var nt=document.createElement("div");nt.className="applet_scaler",nt.style.position="relative",nt.style.display="block",nt.appendChild(Ke),ze.appendChild(nt),je.appletOnLoad=function(st){ht.resize(),Xe(st)}}function $e(st,Et){Et&&typeof Et.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(st,Et.appletOnLoad):renderGGBElement(st),We("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",Et)}function Re(st,Et){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:st,params:Et}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(Kt){$e(Kt.article,Kt.params)}),html5AppletsToProcess=null)},fe(te)<5&&(st.className+=" geogebraweb")):$e(st,Et)}if(Qe){scriptLoadStarted=!0;for(var Ie=0;Ie0?(Te.remove(),De.attr("id","fullscreencontent").show(),jQuery(Xe).append(De),window.dispatchEvent(new Event("resize"))):xe(Te,je,!1),window.GGBT_wsf_view.launchFullScreen(Xe)}else ae=Qe,xe(ze,je,!1);if(!window.GGBT_wsf_view)for(Ye=0;Yeze/4*3&&(Te=ze/4*3),Xe=Te/5.8,He.setAttribute("src",b),He.setAttribute("width",Te),He.setAttribute("height",Xe);var De=(ze-Te)/2,ke=(je-Xe)/2;He.style.left=De+"px",He.style.top=ke+"px",Ke.appendChild(He)}}return Ke.appendChild(Ye),Ke},Ne=function(ze){return ze=ze.toLowerCase(),ze==="html5"||ze==="screenshot"?ze:"html5"},Oe=["web","webSimple","web3d","tablet","tablet3d","phone"],Ze=function(ze,je){if(te=ze,je){Ge(te,!0);return}var Ue=!Ae;if(Ue){var Qe=fe(te);!isNaN(Qe)&&Qe<4.4&&(Ue=!1)}var Ke,ot;window.location.protocol.substr(0,4)==="http"?Ke=window.location.protocol:Ke="http:";var Ye=te.indexOf("//");Ye>0?ot=te:Ye===0?ot=Ke+te:ot="https://www.geogebra.org/apps/5.2.814.0/";for(var He in Oe)if(te.slice(Oe[He].length*-1)===Oe[He]||te.slice((Oe[He].length+1)*-1)===Oe[He]+"/"){Ge(ot,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Ue&&!re.is3D&&!re.AV&&!re.SV&&!re.CV&&!re.EV2&&!re.CP&&!re.PC&&!re.DA&&!re.FI&&!re.PV&&!Pe(ge.showToolBar)&&!Pe(ge.showMenuBar)&&!Pe(ge.showAlgebraInput)&&!Pe(ge.enableRightClick)&&(!ge.appName||ge.appName=="classic")?ot+="webSimple/":ot+="web3d/",Ge(ot,!1)},Ge=function(ze,je){if(ze.requirejs){oe=ze;return}ze.slice(-1)!=="/"&&(ze+="/"),oe=ze,je===null&&(je=ze.indexOf("http")===-1),ee=je,a="web.nocache.js",y=!1;var Ue=oe.split("/");Ue.length>1&&(!je&&Ue[Ue.length-2]==="webSimple"?(a="webSimple.nocache.js",y=!0):Oe.indexOf(Ue[Ue.length-2])>=0&&(a=Ue[Ue.length-2]+".nocache.js")),Ue=ze.split("/"),te=Ue[Ue.length-3],te.substr(0,4)==="test"?te=te.substr(4,1)+"."+te.substr(5,1):(te.substr(0,3)==="war"||te.substr(0,4)==="beta")&&(te="5.0");var Qe=parseFloat(te);Qe!==NaN&&Qe<5&&ze.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+Qe+" is deprecated. Using version latest instead."),Ze("5.0",je))},We=function(ze,je){window.console&&window.console.log&&(!je||typeof je.showLogging=="undefined"||je.showLogging&&je.showLogging!=="false")&&console.log(ze)};ge.material_id!==void 0?ye(Ve):Ve();function Ve(){var ze=ut;de!==null?ze=de:parseFloat(ze)<5&&(ze="5.0"),Ze(ze,!1),ce!==null&&Ge(ce,ee),me=!0}return ht},GGBAppletUtils=function(){"use strict";function ht(){return window.GGBT_wsf_edit!==void 0}function ut(me,de){de!=1?(me.style.transformOrigin="0% 0% 0px",me.style.webkitTransformOrigin="0% 0% 0px",me.style.transform="scale("+de+","+de+")",me.style.webkitTransform="scale("+de+","+de+")",me.style.maxWidth="initial",me.querySelector(".ggb_preview")!==null&&(me.querySelector(".ggb_preview").style.maxWidth="initial"),me.querySelectorAll(".ggb_preview img")[0]!==void 0&&(me.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),me.querySelectorAll(".ggb_preview img")[1]!==void 0&&(me.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(me.style.transform="none",me.style.webkitTransform="none")}function ge(me,de,ce,se,ie,le){var oe=null;if(le!=null&&le!="")for(var ee=me.parentNode;ee!=null;)if((" "+ee.className+" ").indexOf(" "+le+" ")>-1){oe=ee;break}else ee=ee.parentNode;var ae=0,te=0,a=0,y=0,x=0,b=0,z=0;if(oe)ae=oe.offsetWidth,te=Math.max(se?oe.offsetWidth:0,oe.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(ae=Math.min(window.innerWidth,document.documentElement.clientWidth),te=Math.min(window.innerHeight,document.documentElement.clientHeight),a=ae):(ae=window.innerWidth,te=window.innerHeight,a=window.innerWidth),me){var ne=me.getBoundingClientRect();ne.left>0&&ne.left<=ae&&(ie===void 0||!ie)&&(document.dir==="rtl"?(x=ae-ne.width-ne.left,b=a<=480?10:30):(b=ne.left,x=a<=480?10:30),y=b+x)}if(me&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var ue=me.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(y=40,z=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(y=0,z=40)}}return me&&((ce===void 0||!ce)&&de>0&&de+y1&&(le=!0)),de&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(le=!0),!(me.hasOwnProperty("disableAutoScale")&&me.disableAutoScale))ie=re(me,de,le,ce,me.scaleContainerClass);else return se;return le&&(!me.hasOwnProperty("scale")||se===1)?ie:Math.min(se,ie)}function E(me){var de=Math.min(window.innerWidth,document.documentElement.clientWidth),ce=Math.min(window.innerHeight,document.documentElement.clientHeight),se=me.getBoundingClientRect(),ie=(de-se.width)/2,le=(ce-se.height)/2;le<0&&(le=0),me.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ie<40?me.style.left="40px":me.style.left=ie+"px",me.style.top=le+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(le<40?me.style.top="40px":me.style.top=le+"px",me.style.left=ie+"px")}function ve(me,de){var ce=me.querySelector(".appletParameters");if(ce){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(de.id!==ce.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(me)}if(ce.parentElement&&/fullscreen/.test(ce.parentElement.className))return;var se=Ae(de,me);ht()&&ce.setAttribute("data-param-scale",se);for(var ie=null,le=0;le=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(ht){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(ht){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(ht){var ut=c[ht];return ut==null?null:ut},r=d,webModule.__errFn=e}function B(){function ht(me){var de=me.lastIndexOf(rb);de==-1&&(de=me.length);var ce=me.indexOf(sb);ce==-1&&(ce=me.length);var se=me.lastIndexOf(tb,Math.min(ce,de));return se>=O?me.substring(O,se+P):W}function ut(me){if(!me.match(/^\w+:\/\//)){var de=o.createElement(ub);de.src=me+vb,me=ht(de.src)}return me}function ge(){var me=__gwt_getMetaProperty(wb);return me!=null?me:W}function re(){for(var me=o.getElementsByTagName(_),de=O;deO?me[me.length-P].href:W}function E(){var me=o.location;return me.href==me.protocol+zb+me.host+me.pathname+me.search+me.hash}var ve=ge();return ve==W&&(ve=re()),ve==W&&(ve=Ae()),ve==W&&E()&&(ve=ht(o.location.href)),ve=ut(ve),ve}function C(ht){return ht.match(/^\//)||ht.match(/^[a-zA-Z]+:\/\//)?ht:webModule.__moduleBase+ht}function D(){var ht=[],ut=O,ge=[],re=[];function Ae(me){var de=re[me](),ce=ge[me];if(de in ce)return de;var se=[];for(var ie in ce)se[ce[ie]]=ie;throw r&&r(me,se,de),null}if(__gwt_isKnownPropertyValue=function(me,de){return de in ge[me]},webModule.__getPropMap=function(){var me={};for(var de in ge)ge.hasOwnProperty(de)&&(me[de]=Ae(de));return me},webModule.__computePropValue=Ae,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var E;try{E=Cb;var ve=E.indexOf(Db);ve!=-1&&(ut=parseInt(E.substring(ve+P),$),E=E.substring(O,ve))}catch(me){}return webModule.__softPermutationId=ut,C(E+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(ht,ut,ge){"use strict";ge.d(ut,{Ax:function(){return ve},Ds:function(){return me},KI:function(){return ce},SI:function(){return E},f1:function(){return Ae}});var re=ge(11320);function Ae(se){let ie=!0;if(se.length>0){for(let le=0;ley in a?E(a,y,{enumerable:!0,configurable:!0,writable:!0,value:x}):a[y]=x,le=(a,y)=>{for(var x in y||(y={}))ce.call(y,x)&&ie(a,x,y[x]);if(de)for(var x of de(y))se.call(y,x)&&ie(a,x,y[x]);return a},oe=(a,y)=>ve(a,me(y)),ee=(a,y)=>{var x={};for(var b in a)ce.call(a,b)&&y.indexOf(b)<0&&(x[b]=a[b]);if(a!=null&&de)for(var b of de(a))y.indexOf(b)<0&&se.call(a,b)&&(x[b]=a[b]);return x},ae=(a,y,x)=>new Promise((b,z)=>{var ne=pe=>{try{fe(x.next(pe))}catch(he){z(he)}},ue=pe=>{try{fe(x.throw(pe))}catch(he){z(he)}},fe=pe=>pe.done?b(pe.value):Promise.resolve(pe.value).then(ne,ue);fe((x=x.apply(a,y)).next())});const te=a=>{var y=a,{children:x}=y,b=ee(y,["children"]);const[z,ne]=(0,Ae.useState)(!1);return Ae.createElement(re.ZP,oe(le({},b),{loading:z,onClick:ue=>ae(void 0,null,function*(){try{ne(!0),yield b.onClick(ue),ne(!1)}catch(fe){console.error(fe),ne(!1)}})}),x)}},56243:function(ht,ut,ge){"use strict";var re=ge(17187),Ae=ge.n(re),E=Object.defineProperty,ve=(se,ie,le)=>ie in se?E(se,ie,{enumerable:!0,configurable:!0,writable:!0,value:le}):se[ie]=le,me=(se,ie,le)=>ve(se,typeof ie!="symbol"?ie+"":ie,le),de=(se,ie,le)=>new Promise((oe,ee)=>{var ae=y=>{try{a(le.next(y))}catch(x){ee(x)}},te=y=>{try{a(le.throw(y))}catch(x){ee(x)}},a=y=>y.done?oe(y.value):Promise.resolve(y.value).then(ae,te);a((le=le.apply(se,ie)).next())});class ce extends re.EventEmitter{constructor(ie,le){super(),me(this,"url"),me(this,"body"),me(this,"fullContent",""),me(this,"controller",null),me(this,"buffer",""),this.url=ie,this.body=le}startStream(){return de(this,null,function*(){this.controller=new AbortController;const{signal:ie}=this.controller;try{const le=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:ie});if(!le.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${le.status}`);const oe=le.headers.get("content-type");if(!oe)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(oe.includes("application/json")){const te=yield le.json();this.emit("error",te);return}if(!oe.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const ee=le.body.getReader(),ae=new TextDecoder("utf-8");for(;;){const{done:te,value:a}=yield ee.read();if(te)break;const y=ae.decode(a,{stream:!0});this.buffer+=y;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 ne=JSON.parse(z);ne.data&&this.handleData(ne.data)}catch(ne){this.buffer=b+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",ne)}}}this.emit("done",this.fullContent)}catch(le){le.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",le.message)}})}handleData(ie){ie.content&&(this.fullContent+=ie.content,this.emit("data",{chunk:ie,full:this.fullContent}))}cancelRequest(){var ie;(ie=this.controller)==null||ie.abort()}}ut.Z=ce},21826:function(ht,ut,ge){"use strict";ge.d(ut,{Z:function(){return Oe}});var re=ge(67294),Ae=ge(94668),E=ge(91733),ve=ge(17274),me=ge(86032),de=ge(74855),ce={answer:"answer___UngkO",imgWrap:"imgWrap___ORTRf",codeCopy:"codeCopy___re8vm",runCode:"runCode___MYs9m"},se=ge(2453),ie=ge(99398),le=ge(36576),oe=ge(41807),ee=ge(67127),ae=ge(81897),te=ge(72565),a=ge(71230),y=ge(15746),x={smartWrp:"smartWrp___NjRcB"},b=ge(36295),z=ge(80150),ne=ge(60580),ue=ge(67294),fe=(Ze,Ge,We)=>new Promise((Ve,ze)=>{var je=Ke=>{try{Qe(We.next(Ke))}catch(ot){ze(ot)}},Ue=Ke=>{try{Qe(We.throw(Ke))}catch(ot){ze(ot)}},Qe=Ke=>Ke.done?Ve(Ke.value):Promise.resolve(Ke.value).then(je,Ue);Qe((We=We.apply(Ze,Ge)).next())});const pe=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

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