!(function(){var ux=Object.defineProperty,cx=Object.defineProperties;var dx=Object.getOwnPropertyDescriptors;var nv=Object.getOwnPropertySymbols;var bE=Object.prototype.hasOwnProperty,wE=Object.prototype.propertyIsEnumerable;var Xy=Math.pow,xE=(Ge,be,de)=>be in Ge?ux(Ge,be,{enumerable:!0,configurable:!0,writable:!0,value:de}):Ge[be]=de,Po=(Ge,be)=>{for(var de in be||(be={}))bE.call(be,de)&&xE(Ge,de,be[de]);if(nv)for(var de of nv(be))wE.call(be,de)&&xE(Ge,de,be[de]);return Ge},Nf=(Ge,be)=>cx(Ge,dx(be));var TE=(Ge,be)=>{var de={};for(var le in Ge)bE.call(Ge,le)&&be.indexOf(le)<0&&(de[le]=Ge[le]);if(Ge!=null&&nv)for(var le of nv(Ge))be.indexOf(le)<0&&wE.call(Ge,le)&&(de[le]=Ge[le]);return de};var Jy=(Ge,be,de)=>new Promise((le,Le)=>{var De=Fe=>{try{Ye(de.next(Fe))}catch(Ve){Le(Ve)}},Ie=Fe=>{try{Ye(de.throw(Fe))}catch(Ve){Le(Ve)}},Ye=Fe=>Fe.done?le(Fe.value):Promise.resolve(Fe.value).then(De,Ie);Ye((de=de.apply(Ge,be)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[3897],{39060:function(){"use strict"},76596:function(){"use strict"},25346:function(Ge,be){"use strict";be.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},74042:function(){"use strict";function Ge(je,te,ne,he){ne===void 0&&(ne=0),he===void 0&&(he=1/0),this._name=je,this._defaultValue=te,this._minimum=ne,this._maximum=he}Object.defineProperty(Ge.prototype,"name",{get:function(){return this._name},set:function(je){if(typeof je!="string"||je==="")throw new Error("Shape name must be a valid string.");this._name=je}}),Object.defineProperty(Ge.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(je){if(typeof je!="number"||isNaN(je))throw new Error("The default value must be a real number, not: "+je);this._defaultValue=je}}),Object.defineProperty(Ge.prototype,"minimum",{get:function(){return this._minimum},set:function(je){if(typeof je!="number"||isNaN(je))throw new Error("Minimum must be a real number, not: "+je);this._minimum=je}}),Object.defineProperty(Ge.prototype,"maximum",{get:function(){return this._maximum},set:function(je){if(typeof je!="number"||isNaN(je))throw new Error("Maximum must be a real number, not: "+je);this._maximum=je}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(je,te){var ne=go.Shape._FigureParameters[je];return ne?ne[te]:null},go.Shape.setFigureParameter=function(je,te,ne){if(!(ne instanceof Ge))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+ne);if(ne.defaultValuene.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+ne.defaultValue);var he=go.Shape._FigureParameters[je];he||(he=[],go.Shape._FigureParameters[je]=he),he[te]=ne};var be=[];function de(je,te){var ne=be.pop();return ne===void 0?new go.Point(je,te):(ne.x=je,ne.y=te,ne)}function le(){var je=be.pop();return je===void 0?new go.Point:je}function Le(je){be.push(je)}function De(je,te,ne,he,se,ge,Se,Te,Oe){Oe||(Oe=new go.Point);var Be=je-ne,Qe=se-Se,rt=NaN,ot=NaN;if(Be===0)if(Qe===0)je===ne&&(rt=je,ot=te);else{var gt=(ge-Te)/Qe,bt=ge-gt*se;rt=je,ot=gt*rt+bt}else if(Qe===0){var ut=(te-he)/Be,Tt=te-ut*je;rt=se,ot=ut*rt+Tt}else{var ut=(te-he)/Be,gt=(ge-Te)/Qe,Tt=te-ut*je,bt=ge-gt*se;rt=(bt-Tt)/(ut-gt),ot=ut*rt+Tt}return Oe.x=rt,Oe.y=ot,Oe}function Ie(je,te,ne,he,se,ge,Se,Te,Oe,Be,Qe,rt,ot,gt){var bt=1-Oe,ut=Oe,Tt=je*bt+ne*ut,kt=te*bt+he*ut,$t=ne*bt+se*ut,Cn=he*bt+ge*ut,yn=se*bt+Se*ut,gn=ge*bt+Te*ut,mn=Tt*bt+$t*ut,Lt=kt*bt+Cn*ut,ct=$t*bt+yn*ut,nt=Cn*bt+gn*ut,un=mn*bt+ct*ut,En=Lt*bt+nt*ut;Be.x=Tt,Be.y=kt,Qe.x=mn,Qe.y=Lt,rt.x=un,rt.y=En,ot.x=ct,ot.y=nt,gt.x=yn,gt.y=gn}var Ye=new go.Spot(.156,.156),Fe=new go.Spot(.844,.844),Ve=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new Ge("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(je,te,ne){var he=je?je.parameter1:NaN;(isNaN(he)||he<0)&&(he=5),he=Math.min(he,te/3),he=Math.min(he,ne/3);var se=he*Ve,ge=new go.Geometry().add(new go.PathFigure(he,0,!0).add(new go.PathSegment(go.PathSegment.Line,te-he,0)).add(new go.PathSegment(go.PathSegment.Bezier,te,he,te-se,0,te,se)).add(new go.PathSegment(go.PathSegment.Line,te,ne-he)).add(new go.PathSegment(go.PathSegment.Bezier,te-he,ne,te,ne-se,te-se,ne)).add(new go.PathSegment(go.PathSegment.Line,he,ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,ne-he,se,ne,0,ne-se)).add(new go.PathSegment(go.PathSegment.Line,0,he)).add(new go.PathSegment(go.PathSegment.Bezier,he,0,0,se,se,0).close()));return se>1&&(ge.spot1=new go.Spot(0,0,se,se),ge.spot2=new go.Spot(1,1,-se,-se)),ge}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,.5*te,ne).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(te,ne).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,te,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(te,ne).add(new go.PathSegment(go.PathSegment.Line,0,ne)).add(new go.PathSegment(go.PathSegment.Line,.5*te,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.5*te,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(je,te,ne){var he=new go.Geometry(go.Geometry.Line);return he.startX=0,he.startY=ne/2,he.endX=te,he.endY=ne/2,he}),go.Shape.defineFigureGenerator("LineV",function(je,te,ne){var he=new go.Geometry(go.Geometry.Line);return he.startX=te/2,he.startY=0,he.endX=te/2,he.endY=ne,he}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,ne/2,!1).add(new go.PathSegment(go.PathSegment.Line,te,ne/2)).add(new go.PathSegment(go.PathSegment.Move,te/2,0)).add(new go.PathSegment(go.PathSegment.Line,te/2,ne)))}),go.Shape.defineFigureGenerator("XLine",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)))}),go.Shape.defineFigureGenerator("LineRight",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.25*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.25*te,ne)))}),go.Shape.defineFigureGenerator("LineDown",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,.25*ne,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,.75*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.25*ne)))}),go.Shape.defineFigureGenerator("LineLeft",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.75*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.75*te,ne)))}),go.Shape.defineFigureGenerator("LineUp",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,.75*ne,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,.25*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.75*ne)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(je,te,ne){var he=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(he*te,(1-he)*ne,!1).add(new go.PathSegment(go.PathSegment.Line,(1-he)*te,he*ne)).add(new go.PathSegment(go.PathSegment.Move,he*te,he*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-he)*te,(1-he)*ne)).add(new go.PathSegment(go.PathSegment.Move,0,ne/2)).add(new go.PathSegment(go.PathSegment.Line,te,ne/2)).add(new go.PathSegment(go.PathSegment.Move,te/2,0)).add(new go.PathSegment(go.PathSegment.Line,te/2,ne)))}),go.Shape.defineFigureGenerator("CircleLine",function(je,te,ne){var he=te/2,se=new go.Geometry().add(new go.PathFigure(te,te/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,he,he,he,he).close()));return se.spot1=Ye,se.spot2=Fe,se.defaultStretch=go.GraphObject.Uniform,se}),go.Shape.defineFigureGenerator("Line1",function(je,te,ne){var he=new go.Geometry(go.Geometry.Line);return he.startX=0,he.startY=0,he.endX=te,he.endY=ne,he}),go.Shape.defineFigureGenerator("Line2",function(je,te,ne){var he=new go.Geometry(go.Geometry.Line);return he.startX=te,he.startY=0,he.endX=0,he.endY=ne,he}),go.Shape.defineFigureGenerator("Curve1",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,te,ne,Ve*te,0,te,(1-Ve)*ne)))}),go.Shape.defineFigureGenerator("Curve2",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,te,ne,0,Ve*ne,(1-Ve)*te,ne)))}),go.Shape.defineFigureGenerator("Curve3",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(te,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,te,Ve*ne,Ve*te,ne)))}),go.Shape.defineFigureGenerator("Curve4",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(te,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,(1-Ve)*te,0,0,(1-Ve)*ne)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(te,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new Ge("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)?he=.1:he<-1?he=-1:he>1&&(he=1);var se=Math.abs(he)*te;if(he===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ne,ge}else{var ge=new go.Geometry;return he>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,se,ne).close())),sete&&(he=te);var se=Math.abs(he);if(he===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ne,ge}else{var ge=new go.Geometry;return he>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,se,ne).close())),se.5&&(he=.5);var se=Math.abs(he)*te;if(he===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ne,ge}else{var ge=new go.Geometry;return he>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ne)).add(new go.PathSegment(go.PathSegment.Line,se,ne).close())),sete&&(he=te/2);var se=Math.abs(he);if(he===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ne,ge}else{var ge=new go.Geometry;return he>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ne)).add(new go.PathSegment(go.PathSegment.Line,se,ne).close())),sete&&(he=te/2);var se=Math.abs(he);if(he===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ne,ge}else{var ge=new go.Geometry;return he>0?ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ne)).add(new go.PathSegment(go.PathSegment.Line,se,ne).close())):ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())),se0&&(Se.add(new go.PathSegment(go.PathSegment.Move,te/2+Te,te/2)),Se.add(new go.PathSegment(go.PathSegment.Arc,0,-360,se,se,Te,Te).close())),ge.spot1=Ye,ge.spot2=Fe,ge.defaultStretch=go.GraphObject.Uniform,ge}),go.Shape.defineFigureGenerator("Cloud",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.08034461*te,.1944299*ne,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*te,.05349299*ne,-.09239631*te,.07836421*ne,.1406031*te,-.0542823*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*te,.074219*ne,.2450511*te,-.00697547*ne,.3776197*te,-.01112067*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*te,.07004196*ne,.4539471*te,0,.6066018*te,-.02526587*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*te,.08370865*ne,.6914277*te,-.01904177*ne,.8921095*te,-.01220843*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*te,.3194596*ne,1.036446*te,.04105738*ne,1.020377*te,.3022052*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*te,.562044*ne,1.04448*te,.360238*ne,.992256*te,.5219009*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*te,.8217117*ne,1.032337*te,.5771781*ne,1.018411*te,.8120651*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*te,.9156953*ne,1.028411*te,.9571472*ne,.8556702*te,1.052487*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*te,.9310455*ne,.7431877*te,1.009325*ne,.5624123*te,1.021761*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*te,.9344623*ne,.4820677*te,1.031761*ne,.3030112*te,1.002796*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*te,.870098*ne,.2329994*te,1.01518*ne,.03213784*te,1.01518*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*te,.6545475*ne,-.02812061*te,.9032597*ne,-.01205169*te,.6835638*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*te,.4265613*ne,-.01812061*te,.6089503*ne,-.00606892*te,.4555777*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*te,.1944299*ne,-.01606892*te,.3892545*ne,-.01205169*te,.1944299*ne))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(je,te,ne){var he=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(he*te,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-he)*te,0)).add(new go.PathSegment(go.PathSegment.Line,te,he*ne)).add(new go.PathSegment(go.PathSegment.Line,te,(1-he)*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-he)*te,ne)).add(new go.PathSegment(go.PathSegment.Line,he*te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,(1-he)*ne)).add(new go.PathSegment(go.PathSegment.Line,0,he*ne).close())).setSpots(he/2,he/2,1-he/2,1-he/2)}),go.Shape.setFigureParameter("Pie",0,new Ge("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new Ge("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(je,te,ne){var he=je?je.parameter1:NaN,se=je?je.parameter2:NaN;isNaN(he)&&(he=0),isNaN(se)&&(se=315);var ge=he%360;ge<0&&(ge+=360);var Se=se%360,Te=Math.min(te,ne)/2;return new go.Geometry().add(new go.PathFigure(Te,Te).add(new go.PathSegment(go.PathSegment.Arc,ge,Se,Te,Te,Te,Te).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(je,te,ne){var he=Ve/Math.SQRT2*.5,se=Math.SQRT2/2,ge=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(te,ne,!0).add(new go.PathSegment(go.PathSegment.Bezier,se*te,ge*ne,te,(1-he)*ne,(se+he)*te,(ge+he)*ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close()))}),go.Shape.setFigureParameter("ThickCross",0,new Ge("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(je,te,ne){var he=je?je.parameter1:NaN;(isNaN(he)||he<0)&&(he=30);var se=Math.min(he,te)/2,ge=te/2,Se=ne/2;return new go.Geometry().add(new go.PathFigure(ge-se,0,!0).add(new go.PathSegment(go.PathSegment.Line,ge+se,0)).add(new go.PathSegment(go.PathSegment.Line,ge+se,Se-se)).add(new go.PathSegment(go.PathSegment.Line,te,Se-se)).add(new go.PathSegment(go.PathSegment.Line,te,Se+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,Se+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ne)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ne)).add(new go.PathSegment(go.PathSegment.Line,ge-se,Se+se)).add(new go.PathSegment(go.PathSegment.Line,0,Se+se)).add(new go.PathSegment(go.PathSegment.Line,0,Se-se)).add(new go.PathSegment(go.PathSegment.Line,ge-se,Se-se).close()))}),go.Shape.setFigureParameter("ThinCross",0,new Ge("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(je,te,ne){var he=je?je.parameter1:NaN;(isNaN(he)||he<0)&&(he=10);var se=Math.min(he,te)/2,ge=te/2,Se=ne/2;return new go.Geometry().add(new go.PathFigure(ge-se,0,!0).add(new go.PathSegment(go.PathSegment.Line,ge+se,0)).add(new go.PathSegment(go.PathSegment.Line,ge+se,Se-se)).add(new go.PathSegment(go.PathSegment.Line,te,Se-se)).add(new go.PathSegment(go.PathSegment.Line,te,Se+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,Se+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ne)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ne)).add(new go.PathSegment(go.PathSegment.Line,ge-se,Se+se)).add(new go.PathSegment(go.PathSegment.Line,0,Se+se)).add(new go.PathSegment(go.PathSegment.Line,0,Se-se)).add(new go.PathSegment(go.PathSegment.Line,ge-se,Se-se).close()))}),go.Shape.setFigureParameter("ThickX",0,new Ge("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(je,te,ne){var he=je?je.parameter1:NaN;if((isNaN(he)||he<0)&&(he=30),te===0||ne===0){var se=new go.Geometry(go.Geometry.Rectangle);return se.startX=0,se.startY=0,se.endX=te,se.endY=ne,se}else{var ge=te/2,Se=ne/2,Te=Math.atan2(ne,te),Oe=he-Math.min(Math.cos(Te)*he/2,ge),Be=he-Math.min(Math.sin(Te)*he/2,Se),se=new go.Geometry,Qe=new go.PathFigure(Oe,0,!0);return se.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Line,ge,.2*ne)),Qe.add(new go.PathSegment(go.PathSegment.Line,te-Oe,0)),Qe.add(new go.PathSegment(go.PathSegment.Line,te,Be)),Qe.add(new go.PathSegment(go.PathSegment.Line,.8*te,Se)),Qe.add(new go.PathSegment(go.PathSegment.Line,te,ne-Be)),Qe.add(new go.PathSegment(go.PathSegment.Line,te-Oe,ne)),Qe.add(new go.PathSegment(go.PathSegment.Line,ge,.8*ne)),Qe.add(new go.PathSegment(go.PathSegment.Line,Oe,ne)),Qe.add(new go.PathSegment(go.PathSegment.Line,0,ne-Be)),Qe.add(new go.PathSegment(go.PathSegment.Line,.2*te,Se)),Qe.add(new go.PathSegment(go.PathSegment.Line,0,Be).close()),se}}),go.Shape.setFigureParameter("ThinX",0,new Ge("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(je,te,ne){var he=je?je.parameter1:NaN;(isNaN(he)||he<0)&&(he=10);var se=new go.Geometry,ge=new go.PathFigure(.1*te,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.1*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.9*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.9*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne).close()),se}),go.Shape.setFigureParameter("SquareIBeam",0,new Ge("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.2);var se=new go.Geometry,ge=new go.PathFigure(0,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,he*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5+he/2)*te,he*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5+he/2)*te,(1-he)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,(1-he)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,(1-he)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5-he/2)*te,(1-he)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5-he/2)*te,he*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,he*ne).close()),se}),go.Shape.setFigureParameter("RoundedIBeam",0,new Ge("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.5);var se=new go.Geometry,ge=new go.PathFigure(0,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,ne,Math.abs(1-he)*te,.25*ne,Math.abs(1-he)*te,.75*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,0,0,he*te,.75*ne,he*te,.25*ne).close()),se}),go.Shape.defineFigureGenerator("HalfEllipse",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,Ve*te,0,te,(.5-Ve/2)*ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,te,(.5+Ve/2)*ne,Ve*te,ne).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,te,0,te,ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*te,.75*ne,.5*te,.25*ne).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.5*te,ne,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ne,.1*te,.8*ne,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ne,0,0,.45*te,0)).add(new go.PathSegment(go.PathSegment.Bezier,te,.3*ne,.55*te,0,te,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,te,.5*ne,.9*te,.8*ne).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.5*te,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*te,.01*ne)).add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,.6*te,.2*ne,te,.25*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.55*te,.7*ne,te,.8*ne,.6*te,.8*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.75*te,ne,.5*te,.75*ne,.55*te,.95*ne)).add(new go.PathSegment(go.PathSegment.Line,.25*te,ne)).add(new go.PathSegment(go.PathSegment.Bezier,.45*te,.7*ne,.45*te,.95*ne,.5*te,.75*ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,.4*te,.8*ne,0,.8*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.49*te,.01*ne,0,.25*ne,.4*te,.2*ne).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.4*te,.6*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.15*te,ne,.5*te,.75*ne,.45*te,.95*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.6*te,.6*ne,.55*te,.95*ne,.5*te,.75*ne));var ge=.2,Se=.3,Te=0,Oe=ge*Ve;return se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5+ge+Te)*ne,(.5-ge+Se)*te,(.5+Oe+Te)*ne,(.5-Oe+Se)*te,(.5+ge+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ge+Se)*te,(.5+Te)*ne,(.5+Oe+Se)*te,(.5+ge+Te)*ne,(.5+ge+Se)*te,(.5+Oe+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5-ge+Te)*ne,(1-.5+ge+Se)*te,(.5-Oe+Te)*ne,(.5+Oe+Se)*te,(.5-ge+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.65*te,.36771243*ne,(.5-Oe+Se)*te,(.5-ge+Te)*ne,(.5-ge+Se+.05)*te,(.5-Oe+Te-.02)*ne)),ge=.2,Se=0,Te=-.3,Oe=ge*Ve,se.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ge+Se)*te,(.5+Te)*ne,(.5+Oe+Se)*te,(.5+ge+Te)*ne,(.5+ge+Se)*te,(.5+Oe+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5-ge+Te)*ne,(1-.5+ge+Se)*te,(.5-Oe+Te)*ne,(.5+Oe+Se)*te,(.5-ge+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ge+Se)*te,(.5+Te)*ne,(.5-Oe+Se)*te,(.5-ge+Te)*ne,(.5-ge+Se)*te,(.5-Oe+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Oe+Se)*te,(.5+ge+Te)*ne,(.5-ge+Se)*te,(.5+Oe+Te)*ne,(.5-Oe+Se)*te,(.5+ge+Te)*ne)),ge=.2,Se=-.3,Te=0,Oe=ge*Ve,se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5-ge+Te)*ne,(1-.5+ge+Se-.05)*te,(.5-Oe+Te-.02)*ne,(.5+Oe+Se)*te,(.5-ge+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ge+Se)*te,(.5+Te)*ne,(.5-Oe+Se)*te,(.5-ge+Te)*ne,(.5-ge+Se)*te,(.5-Oe+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5+ge+Te)*ne,(.5-ge+Se)*te,(.5+Oe+Te)*ne,(.5-Oe+Se)*te,(.5+ge+Te)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,.6*ne,(.5+Oe+Se)*te,(.5+ge+Te)*ne,(.5+ge+Se)*te,(.5+Oe+Te)*ne).close()),he.setSpots(.06,.33,.93,.68),he}),go.Shape.defineFigureGenerator("YinYang",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*.5,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,180,te*.5,te*.5,te*.5,te*.5)),se.add(new go.PathSegment(go.PathSegment.Arc,90,-180,te*.5,te*.75,te*.25,te*.25)),se.add(new go.PathSegment(go.PathSegment.Arc,90,180,te*.5,te*.25,te*.25,te*.25));var ge=.1,Se=.5,Te=.25;return se.add(new go.PathSegment(go.PathSegment.Move,(Se+ge)*te,Te*ne)),se.add(new go.PathSegment(go.PathSegment.Arc,0,-360,te*Se,ne*Te,ge*te,ge*te).close()),se=new go.PathFigure(te*.5,0,!1),he.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,-180,te*.5,te*.5,te*.5,te*.5)),Te=.75,se=new go.PathFigure((Se+ge)*te,Te*ne,!0),he.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,0,360,te*Se,ne*Te,ge*te,ge*te).close()),he.defaultStretch=go.GraphObject.Uniform,he}),go.Shape.defineFigureGenerator("Peace",function(je,te,ne){var he=.8535533905932737,se=.5*te,ge=.5*ne;return new go.Geometry().add(new go.PathFigure(se,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,se,ge,se,ge)).add(new go.PathSegment(go.PathSegment.Line,se,ne)).add(new go.PathSegment(go.PathSegment.Move,se,ge)).add(new go.PathSegment(go.PathSegment.Line,(1-he)*te,he*ne)).add(new go.PathSegment(go.PathSegment.Move,se,ge)).add(new go.PathSegment(go.PathSegment.Line,he*te,he*ne)))}),go.Shape.defineFigureGenerator("NotAllowed",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=.5,Se=.5,Te=.5,Oe=new go.PathFigure(Se*te,(Te-ge)*ne);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-ge)*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne)),ge=.4,se=Ve*.4;var Be=le(),Qe=le(),rt=le(),ot=le();Ie(Se,Te-ge,Se+se,Te-ge,Se+ge,Te-se,Se+ge,Te,.42,Be,Qe,rt,ot,ot);var gt=le(),bt=le(),ut=le();Ie(Se,Te-ge,Se+se,Te-ge,Se+ge,Te-se,Se+ge,Te,.58,ot,ot,ut,gt,bt);var Tt=le(),kt=le(),$t=le();Ie(Se,Te+ge,Se-se,Te+ge,Se-ge,Te+se,Se-ge,Te,.42,Tt,kt,$t,ot,ot);var Cn=le(),yn=le(),gn=le();return Ie(Se,Te+ge,Se-se,Te+ge,Se-ge,Te+se,Se-ge,Te,.58,ot,ot,gn,Cn,yn),Oe.add(new go.PathSegment(go.PathSegment.Move,gn.x*te,gn.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,Cn.x*te,Cn.y*ne,yn.x*te,yn.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,rt.x*te,rt.y*ne,Be.x*te,Be.y*ne,Qe.x*te,Qe.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,gn.x*te,gn.y*ne).close()),Oe.add(new go.PathSegment(go.PathSegment.Move,$t.x*te,$t.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,ut.x*te,ut.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,gt.x*te,gt.y*ne,bt.x*te,bt.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,$t.x*te,$t.y*ne,Tt.x*te,Tt.y*ne,kt.x*te,kt.y*ne).close()),Le(Be),Le(Qe),Le(rt),Le(ot),Le(gt),Le(bt),Le(ut),Le(Tt),Le(kt),Le($t),Le(Cn),Le(yn),Le(gn),he.defaultStretch=go.GraphObject.Uniform,he}),go.Shape.defineFigureGenerator("Fragile",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*te,0)).add(new go.PathSegment(go.PathSegment.Line,.2*te,.15*ne)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.25*ne)).add(new go.PathSegment(go.PathSegment.Line,.29*te,.33*ne)).add(new go.PathSegment(go.PathSegment.Line,.35*te,.25*ne)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.15*ne)).add(new go.PathSegment(go.PathSegment.Line,.4*te,0)).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*te,.5*ne,te,.25*ne,.75*te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.55*te,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)).add(new go.PathSegment(go.PathSegment.Line,.3*te,ne)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.45*te,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.45*te,.5*ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.5*ne,0,.25*ne).close()))}),go.Shape.setFigureParameter("HourGlass",0,new Ge("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(je,te,ne){var he=je?je.parameter1:NaN;(isNaN(he)||he<0)&&(he=30),he>te&&(he=te);var se=(te-he)/2,ge=se+he;return new go.Geometry().add(new go.PathFigure(ge,.5*ne).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne)).add(new go.PathSegment(go.PathSegment.Line,se,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,te,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,.55*ne).add(new go.PathSegment(go.PathSegment.Line,.6*te,0)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.45*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.45*ne)).add(new go.PathSegment(go.PathSegment.Line,.4*te,ne)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.55*ne).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(je,te,ne){var he=new go.Geometry,se=Ve*.4,ge=.4,Se=.5,Te=.5,Oe=le(),Be=le(),Qe=le(),rt=le(),ot=new go.PathFigure((Se-ge)*te,Te*ne,!1);he.add(ot),ot.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne)),Ie(Se,Te-ge,Se+se,Te-ge,Se+ge,Te-se,Se+ge,Te,.44,Qe,rt,Be,Oe,Oe),ot.add(new go.PathSegment(go.PathSegment.Bezier,Be.x*te,Be.y*ne,Qe.x*te,Qe.y*ne,rt.x*te,rt.y*ne));var gt=de(Be.x,Be.y);Ie(Se,Te-ge,Se+se,Te-ge,Se+ge,Te-se,Se+ge,Te,.56,Oe,Oe,Be,Qe,rt);var bt=de(Be.x,Be.y);ot.add(new go.PathSegment(go.PathSegment.Line,(gt.x*.1+.95*.9)*te,gt.y*.1*ne)),ot.add(new go.PathSegment(go.PathSegment.Line,.85*te,gt.y*.1*ne)),ot.add(new go.PathSegment(go.PathSegment.Line,.85*te,0)),ot.add(new go.PathSegment(go.PathSegment.Line,te,0)),ot.add(new go.PathSegment(go.PathSegment.Line,te,.15*ne)),ot.add(new go.PathSegment(go.PathSegment.Line,(bt.x*.1+.9)*te,.15*ne)),ot.add(new go.PathSegment(go.PathSegment.Line,(bt.x*.1+.9)*te,(bt.y*.1+.05*.9)*ne)),ot.add(new go.PathSegment(go.PathSegment.Line,bt.x*te,bt.y*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,Qe.x*te,Qe.y*ne,rt.x*te,rt.y*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,(Se-se)*te,(Te+ge)*ne,(Se-ge)*te,(Te+se)*ne)),ge=.35,se=Ve*.35;var ut=new go.PathFigure(Se*te,(Te-ge)*ne,!1);he.add(ut),ut.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),ut.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne)),ut.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),ut.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-ge)*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne));var Tt=new go.PathFigure((Se-ge)*te,Te*ne,!1);return he.add(Tt),Le(Oe),Le(Be),Le(Qe),Le(rt),Le(gt),Le(bt),he.spot1=new go.Spot(.202,.257),he.spot2=new go.Spot(.792,.739),he.defaultStretch=go.GraphObject.Uniform,he}),go.Shape.defineFigureGenerator("GenderFemale",function(je,te,ne){var he=new go.Geometry,se=.375,ge=0,Se=-.125,Te=se*Ve,Oe=new go.PathFigure((.525+ge)*te,(.5+se+Se)*ne,!1);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+se+ge)*te,(.5+Se)*ne,(.5+Te+ge)*te,(.5+se+Se)*ne,(.5+se+ge)*te,(.5+Te+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5-se+Se)*ne,(1-.5+se+ge)*te,(.5-Te+Se)*ne,(.5+Te+ge)*te,(.5-se+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+Se)*ne,(.5-Te+ge)*te,(.5-se+Se)*ne,(.5-se+ge)*te,(.5-Te+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.475+ge)*te,(.5+se+Se)*ne,(.5-se+ge)*te,(.5+Te+Se)*ne,(.5-Te+ge)*te,(.5+se+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.475*te,.85*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.425*te,.85*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.425*te,.9*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.475*te,.9*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.475*te,ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.525*te,ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.525*te,.9*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.575*te,.9*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.575*te,.85*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.525*te,.85*ne).close()),se=.325,ge=0,Se=-.125,Te=se*Ve;var Oe=new go.PathFigure((1-.5+se+ge)*te,(.5+Se)*ne,!1);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5+se+Se)*ne,(.5+se+ge)*te,(.5+Te+Se)*ne,(.5+Te+ge)*te,(.5+se+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+Se)*ne,(.5-Te+ge)*te,(.5+se+Se)*ne,(.5-se+ge)*te,(.5+Te+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5-se+Se)*ne,(.5-se+ge)*te,(.5-Te+Se)*ne,(.5-Te+ge)*te,(.5-se+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+se+ge)*te,(.5+Se)*ne,(.5+Te+ge)*te,(.5-se+Se)*ne,(1-.5+se+ge)*te,(.5-Te+Se)*ne));var Oe=new go.PathFigure((.525+ge)*te,(.5+se+Se)*ne,!1);return he.add(Oe),he.spot1=new go.Spot(.232,.136),he.spot2=new go.Spot(.682,.611),he.defaultStretch=go.GraphObject.Uniform,he}),go.Shape.defineFigureGenerator("LogicImplies",function(je,te,ne){var he=je?je.parameter1:NaN;return isNaN(he)&&(he=.2),new go.Geometry().add(new go.PathFigure((1-he)*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-he)*te,ne)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(je,te,ne){var he=je?je.parameter1:NaN;return isNaN(he)&&(he=.2),new go.Geometry().add(new go.PathFigure((1-he)*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-he)*te,ne)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Move,he*te,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,he*te,ne))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)))}),go.Shape.defineFigureGenerator("LogicAnd",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)).add(new go.PathSegment(go.PathSegment.Line,te,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(je,te,ne){var he=new go.Geometry().add(new go.PathFigure(.5*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*te,.5*ne,.5*te,.5*ne)));return he.defaultStretch=go.GraphObject.Uniform,he}),go.Shape.defineFigureGenerator("LogicTruth",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,.5*te,0)).add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Move,.5*te,ne)).add(new go.PathSegment(go.PathSegment.Line,.5*te,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Move,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne)))}),go.Shape.defineFigureGenerator("LogicForAll",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,.25*te,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.75*te,.5*ne))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)).add(new go.PathSegment(go.PathSegment.Move,0,ne)).add(new go.PathSegment(go.PathSegment.Line,te,ne))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(je,te,ne){var he=.5;return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,0,he*ne)).add(new go.PathSegment(go.PathSegment.Arc,180,180,he*te,he*ne,he*te,he*ne)).add(new go.PathSegment(go.PathSegment.Line,te,ne))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(je,te,ne){var he=.5;return new go.Geometry().add(new go.PathFigure(te,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,he*ne)).add(new go.PathSegment(go.PathSegment.Arc,0,180,he*te,he*ne,he*te,he*ne)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new Ge("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new Ge("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.3);var se=je?je.parameter2:NaN;isNaN(se)&&(se=.3);var ge=(1-he)*te,Se=(.5-se/2)*ne,Te=(.5+se/2)*ne,Oe=new go.Geometry,Be=new go.PathFigure(0,Se,!0);Oe.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ge,Se)),Be.add(new go.PathSegment(go.PathSegment.Line,ge,0)),Be.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,ge,ne)),Be.add(new go.PathSegment(go.PathSegment.Line,ge,Te)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Te).close()),Oe.spot1=new go.Spot(0,Se/ne);var Qe=De(0,Te/ne,1,Te/ne,ge/te,1,1,.5,le());return Oe.spot2=new go.Spot(Qe.x,Qe.y),Le(Qe),Oe}),go.Shape.setFigureParameter("Arrow2",0,new Ge("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new Ge("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=30),he>te&&(he=te);var se=je?je.parameter2:NaN;isNaN(se)&&(se=30),se=Math.min(se,ne/2);var ge=te-he,Se=(ne-se)/2,Te=Se+se,Oe=new go.Geometry,Be=new go.PathFigure(0,Se,!0);Oe.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ge,Se)),Be.add(new go.PathSegment(go.PathSegment.Line,ge,0)),Be.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,ge,ne)),Be.add(new go.PathSegment(go.PathSegment.Line,ge,Te)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Te).close()),Oe.spot1=new go.Spot(0,Se/ne);var Qe=De(0,Te/ne,1,Te/ne,ge/te,1,1,.5,le());return Oe.spot2=new go.Spot(Qe.x,Qe.y),Le(Qe),Oe}),go.Shape.defineFigureGenerator("Chevron",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne).close()),he}),go.Shape.defineFigureGenerator("DoubleArrow",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.214*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,1*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,1*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.786*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,1*ne).close()),he}),go.Shape.setFigureParameter("DoubleEndArrow",0,new Ge("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.3);var se=(.5-he/2)*ne,ge=(.5+he/2)*ne,Se=new go.Geometry,Te=new go.PathFigure(te,.5*ne,!0);Se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,.3*te,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,.3*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.3*te,0)),Te.add(new go.PathSegment(go.PathSegment.Line,.3*te,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close());var Oe=De(0,.5,.3,0,0,se/ne,.1,se/ne,le());return Se.spot1=new go.Spot(Oe.x,Oe.y),Oe=De(.7,1,1,.5,0,ge/ne,1,ge/ne,Oe),Se.spot2=new go.Spot(Oe.x,Oe.y),Le(Oe),Se}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new Ge("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new Ge("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=40);var se=je?je.parameter2:NaN;isNaN(se)&&(se=100);var ge=(ne-he)/2,Se=ge+he,Te=(ne-se)/2,Oe=Te+se;(he>ne||se>ne)&&(se>he?(he=he*ne/se,ge=(ne-he)/2,Se=ge+he,Te=0,Oe=ne):(ge=0,Se=ne,Te=0,Oe=ne));var Be=new go.Geometry,Qe=new go.PathFigure(te,.5*ne,!0);Be.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,Oe)),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,Se)),Qe.add(new go.PathSegment(go.PathSegment.Line,.3*te,Se)),Qe.add(new go.PathSegment(go.PathSegment.Line,.3*te,Oe)),Qe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),Qe.add(new go.PathSegment(go.PathSegment.Line,.3*te,Te)),Qe.add(new go.PathSegment(go.PathSegment.Line,.3*te,ge)),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,Te).close());var rt=De(0,.5,.3,Te/ne,0,ge/ne,1,ge/ne,le());return Be.spot1=new go.Spot(rt.x,rt.y),rt=De(.7,Oe/ne,1,.5,0,Se/ne,1,Se/ne,rt),Be.spot2=new go.Spot(rt.x,rt.y),Le(rt),Be}),go.Shape.setFigureParameter("IBeamArrow",0,new Ge("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.3);var se=(.5-he/2)*ne,ge=(.5+he/2)*ne,Se=new go.Geometry,Te=new go.PathFigure(te,.5*ne,!0);Se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,.2*te,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,0,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,0,0)),Te.add(new go.PathSegment(go.PathSegment.Line,.2*te,0)),Te.add(new go.PathSegment(go.PathSegment.Line,.2*te,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close()),Se.spot1=new go.Spot(0,se/ne);var Oe=De(.7,1,1,.5,0,ge/ne,1,ge/ne,le());return Se.spot2=new go.Spot(Oe.x,Oe.y),Le(Oe),Se}),go.Shape.setFigureParameter("IBeamArrow2",0,new Ge("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new Ge("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=40);var se=je?je.parameter2:NaN;isNaN(se)&&(se=100);var ge=(ne-he)/2,Se=ge+he,Te=(ne-se)/2,Oe=Te+se;(he>ne||se>ne)&&(se>he?(he=he*ne/se,ge=(ne-he)/2,Se=ge+he,Te=0,Oe=ne):(ge=0,Se=ne,Te=0,Oe=ne));var Be=new go.Geometry,Qe=new go.PathFigure(te,.5*ne,!0);Be.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,Oe)),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,Se)),Qe.add(new go.PathSegment(go.PathSegment.Line,.2*te,Se)),Qe.add(new go.PathSegment(go.PathSegment.Line,.2*te,Oe)),Qe.add(new go.PathSegment(go.PathSegment.Line,0,Oe)),Qe.add(new go.PathSegment(go.PathSegment.Line,0,Te)),Qe.add(new go.PathSegment(go.PathSegment.Line,.2*te,Te)),Qe.add(new go.PathSegment(go.PathSegment.Line,.2*te,ge)),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Qe.add(new go.PathSegment(go.PathSegment.Line,.7*te,Te).close()),Be.spot1=new go.Spot(0,ge/ne);var rt=De(.7,Oe/ne,1,.5,0,Se/ne,1,Se/ne,le());return Be.spot2=new go.Spot(rt.x,rt.y),Le(rt),Be}),go.Shape.setFigureParameter("Pointer",0,new Ge("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.1);var se=new go.Geometry,ge=new go.PathFigure(te,.5*ne,!0);se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,he*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),se.spot1=new go.Spot(he,.35);var Se=De(.2,.65,1,.65,0,1,1,.5,le());return se.spot2=new go.Spot(Se.x,Se.y),Le(Se),se}),go.Shape.setFigureParameter("RoundedPointer",0,new Ge("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.3);var se=new go.Geometry,ge=new go.PathFigure(te,.5*ne,!0);se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,0,0,he*te,.75*ne,he*te,.25*ne).close()),se.spot1=new go.Spot(he,.35);var Se=De(0,.65,1,.65,0,1,1,.5,le());return se.spot2=new go.Spot(Se.x,Se.y),Le(Se),se}),go.Shape.setFigureParameter("SplitEndArrow",0,new Ge("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.4);var se=(.5-he/2)*ne,ge=(.5+he/2)*ne,Se=new go.Geometry,Te=new go.PathFigure(te,.5*ne,!0);Se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,0,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,0,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close()),Se.spot1=new go.Spot(.2,.3);var Oe=De(.7,1,1,.5,0,ge/ne,1,ge/ne,le());return Se.spot2=new go.Spot(Oe.x,Oe.y),Le(Oe),Se}),go.Shape.setFigureParameter("SplitEndArrow2",0,new Ge("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=50);var se=(ne-he)/2,ge=se+he;he>ne&&(se=0,ge=ne);var Se=new go.Geometry,Te=new go.PathFigure(te,.5*ne,!0);Se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,0,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,0,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Te.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close()),Se.spot1=new go.Spot(.2,se/ne);var Oe=De(.7,1,1,.5,0,ge/ne,1,ge/ne,le());return Se.spot2=new go.Spot(Oe.x,Oe.y),Le(Oe),Se}),go.Shape.setFigureParameter("SquareArrow",0,new Ge("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.7);var se=new go.Geometry,ge=new go.PathFigure(te,.5*ne,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,he*te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,0)),ge.add(new go.PathSegment(go.PathSegment.Line,he*te,0).close()),se.spot1=go.Spot.TopLeft,se.spot2=new go.Spot(he,1),se}),go.Shape.defineFigureGenerator("Cone1",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=Ve*.1,Se=new go.PathFigure(0,.9*ne,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,te,.9*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,te,(.9+ge)*ne,(.5+se)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,(.5-se)*te,ne,0,(.9+ge)*ne).close()),he.spot1=new go.Spot(.25,.5),he.spot2=new go.Spot(.75,.97),he}),go.Shape.defineFigureGenerator("Cone2",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.9*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.9*ne,(1-.85/.9)*te,ne,.85/.9*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,.9*ne).close());var ge=new go.PathFigure(0,.9*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,.9*ne,(1-.85/.9)*te,.8*ne,.85/.9*te,.8*ne)),he.spot1=new go.Spot(.25,.5),he.spot2=new go.Spot(.75,.82),he}),go.Shape.defineFigureGenerator("Cube1",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.85*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.15*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,.15*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.85*ne).close());var ge=new go.PathFigure(.5*te,ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.3*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.15*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.5*te,.3*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.15*ne)),he.spot1=new go.Spot(0,.3),he.spot2=new go.Spot(.5,.85),he}),go.Shape.defineFigureGenerator("Cube2",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.3*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,0).close());var ge=new go.PathFigure(0,.3*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.7*te,.3*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Move,.7*te,.3*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),he.spot1=new go.Spot(0,.3),he.spot2=new go.Spot(.7,1),he}),go.Shape.defineFigureGenerator("Cylinder1",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=5),he=Math.min(he,ne/3);var se=new go.Geometry,ge=Ve*.5,Se=new go.PathFigure(0,he,!0);se.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,Ve*he,(.5-ge)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,1*te,he,(.5+ge)*te,0,1*te,Ve*he)),Se.add(new go.PathSegment(go.PathSegment.Line,te,ne-he)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,1*ne,1*te,ne-Ve*he,(.5+ge)*te,1*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-he,(.5-ge)*te,1*ne,0,ne-Ve*he)),Se.add(new go.PathSegment(go.PathSegment.Line,0,he));var Te=new go.PathFigure(te,he,!1);return se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,2*he,1*te,2*he-Ve*he,(.5+ge)*te,2*he)),Te.add(new go.PathSegment(go.PathSegment.Bezier,0,he,(.5-ge)*te,2*he,0,2*he-Ve*he)),se.spot1=new go.Spot(0,0,0,2*he),se.spot2=new go.Spot(1,1),se}),go.Shape.defineFigureGenerator("Cylinder2",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=5),he=Math.min(he,ne/3);var se=new go.Geometry,ge=Ve*.5,Se=new go.PathFigure(0,ne-he,!0);se.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,0,he)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,Ve*he,(.5-ge)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,he,(.5+ge)*te,0,te,Ve*he)),Se.add(new go.PathSegment(go.PathSegment.Line,te,ne-he)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,te,ne-Ve*he,(.5+ge)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-he,(.5-ge)*te,ne,0,ne-Ve*he));var Te=new go.PathFigure(0,ne-he,!1);return se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne-2*he,0,ne-he-Ve*he,(.5-ge)*te,ne-2*he)),Te.add(new go.PathSegment(go.PathSegment.Bezier,te,ne-he,(.5+ge)*te,ne-2*he,te,ne-he-Ve*he)),se.spot1=new go.Spot(0,0),se.spot2=new go.Spot(1,1,0,-2*he),se}),go.Shape.defineFigureGenerator("Cylinder3",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=5),he=Math.min(he,te/3);var se=new go.Geometry,ge=Ve*.5,Se=new go.PathFigure(he,0,!0);se.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te-he,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,te-Ve*he,0,te,(.5-ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te-he,ne,te,(.5+ge)*ne,te-Ve*he,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,he,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,Ve*he,ne,0,(.5+ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,he,0,0,(.5-ge)*ne,Ve*he,0));var Te=new go.PathFigure(he,0,!1);return se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,2*he,.5*ne,he+Ve*he,0,2*he,(.5-ge)*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,he,ne,2*he,(.5+ge)*ne,he+Ve*he,ne)),se.spot1=new go.Spot(0,0,2*he,0),se.spot2=new go.Spot(1,1),se}),go.Shape.defineFigureGenerator("Cylinder4",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=5),he=Math.min(he,te/3);var se=new go.Geometry,ge=Ve*.5,Se=new go.PathFigure(te-he,0,!0);se.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,te-Ve*he,0,te,(.5-ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te-he,ne,te,(.5+ge)*ne,te-Ve*he,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,he,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,Ve*he,ne,0,(.5+ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,he,0,0,(.5-ge)*ne,Ve*he,0)),Se.add(new go.PathSegment(go.PathSegment.Line,te-he,0));var Te=new go.PathFigure(te-he,0,!1);return se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,te-2*he,.5*ne,te-he-Ve*he,0,te-2*he,(.5-ge)*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,te-he,ne,te-2*he,(.5+ge)*ne,te-he-Ve*he,ne)),se.spot1=new go.Spot(0,0),se.spot2=new go.Spot(1,1,-2*he,0),se}),go.Shape.defineFigureGenerator("Prism1",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.25*te,.25*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ge=new go.PathFigure(.25*te,.25*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),he.spot1=new go.Spot(.408,.172),he.spot2=new go.Spot(.833,.662),he}),go.Shape.defineFigureGenerator("Prism2",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.25*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ge=new go.PathFigure(0,ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.25*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.25*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,0,.25*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.25*te,.5*ne)),he.spot1=new go.Spot(.25,.5),he.spot2=new go.Spot(.75,.75),he}),go.Shape.defineFigureGenerator("Pyramid1",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.75*ne).close());var ge=new go.PathFigure(.5*te,0,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),he.spot1=new go.Spot(.25,.367),he.spot2=new go.Spot(.75,.875),he}),go.Shape.defineFigureGenerator("Pyramid2",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.85*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.85*ne).close());var ge=new go.PathFigure(.5*te,0,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.7*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.85*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.5*te,.7*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.85*ne)),he.spot1=new go.Spot(.25,.367),he.spot2=new go.Spot(.75,.875),he}),go.Shape.defineFigureGenerator("Actor",function(je,te,ne){var he=new go.Geometry,se=.2,ge=.1,Se=Ve*se,Te=Ve*ge,Oe=.5,Be=.1,Qe=new go.PathFigure(Oe*te,(Be+ge)*ne,!0);he.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-se)*te,Be*ne,(Oe-Se)*te,(Be+ge)*ne,(Oe-se)*te,(Be+Te)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-ge)*ne,(Oe-se)*te,(Be-Te)*ne,(Oe-Se)*te,(Be-ge)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+se)*te,Be*ne,(Oe+Se)*te,(Be-ge)*ne,(Oe+se)*te,(Be-Te)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+ge)*ne,(Oe+se)*te,(Be+Te)*ne,(Oe+Se)*te,(Be+ge)*ne));var rt=.05,ot=Ve*rt;Oe=.05,Be=.25;var gt=new go.PathFigure(.5*te,.2*ne,!0);return he.add(gt),gt.add(new go.PathSegment(go.PathSegment.Line,.95*te,.2*ne)),Oe=.95,Be=.25,gt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+rt)*te,Be*ne,(Oe+ot)*te,(Be-rt)*ne,(Oe+rt)*te,(Be-ot)*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,te,.6*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.85*te,.6*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.85*te,.35*ne)),rt=.025,ot=Ve*rt,Oe=.825,Be=.35,gt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe+rt)*te,(Be-ot)*ne,(Oe+ot)*te,(Be-rt)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-rt)*te,Be*ne,(Oe-ot)*te,(Be-rt)*ne,(Oe-rt)*te,(Be-ot)*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.8*te,ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.55*te,ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.55*te,.7*ne)),rt=.05,ot=Ve*rt,Oe=.5,Be=.7,gt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe+rt)*te,(Be-ot)*ne,(Oe+ot)*te,(Be-rt)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-rt)*te,Be*ne,(Oe-ot)*te,(Be-rt)*ne,(Oe-rt)*te,(Be-ot)*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.45*te,ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.2*te,.35*ne)),rt=.025,ot=Ve*rt,Oe=.175,Be=.35,gt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe+rt)*te,(Be-ot)*ne,(Oe+ot)*te,(Be-rt)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-rt)*te,Be*ne,(Oe-ot)*te,(Be-rt)*ne,(Oe-rt)*te,(Be-ot)*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.15*te,.6*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,0,.6*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),rt=.05,ot=Ve*rt,Oe=.05,Be=.25,gt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe-rt)*te,(Be-ot)*ne,(Oe-ot)*te,(Be-rt)*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.5*te,.2*ne)),he.spot1=new go.Spot(.2,.2),he.spot2=new go.Spot(.8,.65),he}),go.Shape.setFigureParameter("Card",0,new Ge("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(je,te,ne){var he=je?je.parameter1:NaN;isNaN(he)&&(he=.2);var se=new go.Geometry,ge=new go.PathFigure(te,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,he*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,he*te,0).close()),se.spot1=new go.Spot(0,he),se.spot2=go.Spot.BottomRight,se}),go.Shape.defineFigureGenerator("Collate",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,.5*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne));var ge=new go.PathFigure(.5*te,.5*ne,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne)),he.spot1=new go.Spot(.25,0),he.spot2=new go.Spot(.75,.25),he}),go.Shape.defineFigureGenerator("CreateRequest",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var Se=new go.PathFigure(0,se*ne,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,se*ne)),Se.add(new go.PathSegment(go.PathSegment.Move,0,(1-se)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,(1-se)*ne)),he}),go.Shape.defineFigureGenerator("Database",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=Ve*.1,Se=new go.PathFigure(te,.1*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,.9*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,te,(.9+ge)*ne,(.5+se)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,(.5-se)*te,ne,0,(.9+ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,(.1-ge)*ne,(.5-se)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,.1*ne,(.5+se)*te,0,te,(.1-ge)*ne));var Te=new go.PathFigure(te,.1*ne,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ne,te,(.1+ge)*ne,(.5+se)*te,.2*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ne,(.5-se)*te,.2*ne,0,(.1+ge)*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,te,.2*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ne,te,(.2+ge)*ne,(.5+se)*te,.3*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ne,(.5-se)*te,.3*ne,0,(.2+ge)*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,te,.3*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.4*ne,te,(.3+ge)*ne,(.5+se)*te,.4*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ne,(.5-se)*te,.4*ne,0,(.3+ge)*ne)),he.spot1=new go.Spot(0,.4),he.spot2=new go.Spot(1,.9),he}),go.Shape.defineFigureGenerator("DataStorage",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.75*te,ne,te,0,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.9*ne,.25*te,.1*ne).close()),he.spot1=new go.Spot(.226,0),he.spot2=new go.Spot(.81,1),he}),go.Shape.defineFigureGenerator("DiskStorage",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=Ve*.1,Se=new go.PathFigure(te,.1*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,.9*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,te,(.9+ge)*ne,(.5+se)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,(.5-se)*te,ne,0,(.9+ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,(.1-ge)*ne,(.5-se)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,.1*ne,(.5+se)*te,0,te,(.1-ge)*ne));var Te=new go.PathFigure(te,.1*ne,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ne,te,(.1+ge)*ne,(.5+se)*te,.2*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ne,(.5-se)*te,.2*ne,0,(.1+ge)*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,te,.2*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ne,te,(.2+ge)*ne,(.5+se)*te,.3*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ne,(.5-se)*te,.3*ne,0,(.2+ge)*ne)),he.spot1=new go.Spot(0,.3),he.spot2=new go.Spot(1,.9),he}),go.Shape.defineFigureGenerator("Display",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.25*te,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.75*te,ne,te,0,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne).close()),he.spot1=new go.Spot(.25,0),he.spot2=new go.Spot(.75,1),he}),go.Shape.defineFigureGenerator("DividedEvent",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)?se=.2:se<.15&&(se=.15);var ge=Ve*.2,Se=new go.PathFigure(0,.2*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,0,0,(.2-ge)*ne,(.2-ge)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,.8*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,.2*ne,(.8+ge)*te,0,te,(.2-ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,ne,te,(.8+ge)*ne,(.8+ge)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*ne,(.2-ge)*te,ne,0,(.8+ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne));var Te=new go.PathFigure(0,se*ne,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te,se*ne)),he}),go.Shape.defineFigureGenerator("DividedProcess",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;(isNaN(se)||se<.1)&&(se=.1);var ge=new go.PathFigure(0,0,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var Se=new go.PathFigure(0,se*ne,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,se*ne)),he}),go.Shape.defineFigureGenerator("Document",function(je,te,ne){var he=new go.Geometry;ne=ne/.8;var se=new go.PathFigure(0,.7*ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.5*te,.4*ne,.5*te,ne).close()),he.spot1=go.Spot.TopLeft,he.spot2=new go.Spot(1,.6),he}),go.Shape.defineFigureGenerator("ExternalOrganization",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;(isNaN(se)||se<.2)&&(se=.2);var ge=new go.PathFigure(0,0,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var Se=new go.PathFigure(se*te,0,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,0,se*ne)),Se.add(new go.PathSegment(go.PathSegment.Move,te,se*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(1-se)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Move,0,(1-se)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,se*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Move,(1-se)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,(1-se)*ne)),he}),go.Shape.defineFigureGenerator("ExternalProcess",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne).close());var ge=new go.PathFigure(.1*te,.4*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.9*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.6*te,.1*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.1*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.4*te,.9*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.9*ne)),he.spot1=new go.Spot(.25,.25),he.spot2=new go.Spot(.75,.75),he}),go.Shape.defineFigureGenerator("File",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ge=new go.PathFigure(.75*te,0,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.75*te,.25*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.25*ne)),he.spot1=new go.Spot(0,.25),he.spot2=go.Spot.BottomRight,he}),go.Shape.defineFigureGenerator("Interrupt",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te,.5*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne));var ge=new go.PathFigure(te,.5*ne,!1);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne));var Se=new go.PathFigure(te,.5*ne,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,0)),he.spot1=new go.Spot(0,.25),he.spot2=new go.Spot(.5,.75),he}),go.Shape.defineFigureGenerator("InternalStorage",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN,ge=je?je.parameter2:NaN;isNaN(se)&&(se=.1),isNaN(ge)&&(ge=.1);var Se=new go.PathFigure(0,0,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var Te=new go.PathFigure(se*te,0,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,se*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Move,0,ge*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,te,ge*ne)),he}),go.Shape.defineFigureGenerator("Junction",function(je,te,ne){var he=new go.Geometry,se=1/Math.SQRT2,ge=(1-1/Math.SQRT2)/2,Se=Ve*.5,Te=.5,Oe=new go.PathFigure(te,Te*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Te*te,ne,te,(Te+Se)*ne,(Te+Se)*te,ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,0,Te*ne,(Te-Se)*te,ne,0,(Te+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Te*te,0,0,(Te-Se)*ne,(Te-Se)*te,0)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,te,Te*ne,(Te+Se)*te,0,te,(Te-Se)*ne));var Be=new go.PathFigure((ge+se)*te,(ge+se)*ne,!1);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ge*te,ge*ne)),Be.add(new go.PathSegment(go.PathSegment.Move,ge*te,(ge+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,(ge+se)*te,ge*ne)),he}),go.Shape.defineFigureGenerator("LinedDocument",function(je,te,ne){var he=new go.Geometry;ne=ne/.8;var se=new go.PathFigure(0,.7*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.5*te,.4*ne,.5*te,ne).close());var ge=new go.PathFigure(.1*te,0,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,.75*ne)),he.spot1=new go.Spot(.1,0),he.spot2=new go.Spot(1,.6),he}),go.Shape.defineFigureGenerator("LoopLimit",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne).close()),he.spot1=new go.Spot(0,.25),he.spot2=go.Spot.BottomRight,he}),go.Shape.defineFigureGenerator("MagneticTape",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=.5,Se=new go.PathFigure(.5*te,ne,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,ge*ne,(ge-se)*te,ne,0,(ge+se)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,0,0,(ge-se)*ne,(ge-se)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,ge*ne,(ge+se)*te,0,te,(ge-se)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(ge+.1)*te,.9*ne,te,(ge+se)*ne,(ge+se)*te,.9*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,.9*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),he.spot1=new go.Spot(.15,.15),he.spot2=new go.Spot(.85,.8),he}),go.Shape.defineFigureGenerator("ManualInput",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne).close()),he.spot1=new go.Spot(0,.25),he.spot2=go.Spot.BottomRight,he}),go.Shape.defineFigureGenerator("MessageFromUser",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.7);var ge=new go.PathFigure(0,0,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,se*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he.spot1=go.Spot.TopLeft,he}),go.Shape.defineFigureGenerator("MicroformProcessing",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.25);var ge=new go.PathFigure(0,0,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,se*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,(1-se)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he}),go.Shape.defineFigureGenerator("MicroformRecording",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.15*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.85*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he.spot1=new go.Spot(0,.25),he.spot2=new go.Spot(1,.75),he}),go.Shape.defineFigureGenerator("MultiDocument",function(je,te,ne){var he=new go.Geometry;ne=ne/.8;var se=new go.PathFigure(te,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,.44*ne,.96*te,.47*ne,.93*te,.45*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.54*ne,.86*te,.57*ne,.83*te,.55*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.4*te,.4*ne,.4*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,0).close());var ge=new go.PathFigure(.1*te,.2*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.54*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.1*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.1*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.44*ne)),he.spot1=new go.Spot(0,.25),he.spot2=new go.Spot(.8,.77),he}),go.Shape.defineFigureGenerator("MultiProcess",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.1*te,.1*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.9*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.9*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.2*ne).close());var ge=new go.PathFigure(.2*te,.1*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.1*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.1*te,.2*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.9*ne)),he.spot1=new go.Spot(0,.2),he.spot2=new go.Spot(.8,1),he}),go.Shape.defineFigureGenerator("OfflineStorage",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.1);var ge=1-se,Se=new go.PathFigure(0,0,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne).close());var Te=new go.PathFigure(.5*se*te,se*ne,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,(1-.5*se)*te,se*ne)),he}),go.Shape.defineFigureGenerator("OffPageConnector",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he.spot1=go.Spot.TopLeft,he.spot2=new go.Spot(.75,1),he}),go.Shape.defineFigureGenerator("Or",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=.5,Se=new go.PathFigure(te,ge*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,ne,te,(ge+se)*ne,(ge+se)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,ge*ne,(ge-se)*te,ne,0,(ge+se)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,0,0,(ge-se)*ne,(ge-se)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,ge*ne,(ge+se)*te,0,te,(ge-se)*ne));var Te=new go.PathFigure(te,.5*ne,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,.5*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),he}),go.Shape.defineFigureGenerator("PaperTape",function(je,te,ne){var he=new go.Geometry;ne=ne/.8;var se=new go.PathFigure(0,.7*ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.3*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.3*ne,.5*te,.6*ne,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.5*te,.4*ne,.5*te,ne).close()),he.spot1=new go.Spot(0,.49),he.spot2=new go.Spot(1,.75),he}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN,ge=je?je.parameter2:NaN;isNaN(se)&&(se=.1),isNaN(ge)&&(ge=.3);var Se=new go.PathFigure(0,0,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,(1-ge)*te,.5*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN,ge=je?je.parameter2:NaN;isNaN(se)&&(se=.1),isNaN(ge)&&(ge=.3);var Se=new go.PathFigure(0,0,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,(1-ge)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(1-ge)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he}),go.Shape.defineFigureGenerator("Procedure",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var Se=new go.PathFigure((1-se)*te,0,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,(1-se)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Move,se*te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,se*te,ne)),he}),go.Shape.defineFigureGenerator("Process",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var Se=new go.PathFigure(se*te,0,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,se*te,ne)),he.spot2=go.Spot.BottomRight,he}),go.Shape.defineFigureGenerator("Sort",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne).close());var ge=new go.PathFigure(0,.5*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),he.spot1=new go.Spot(.25,.25),he.spot2=new go.Spot(.75,.5),he}),go.Shape.defineFigureGenerator("Start",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.25);var ge=new go.PathFigure(se*te,0,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*te,.5*ne,.25*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*te,.5*ne,.25*te,.5*ne));var Se=new go.PathFigure(se*te,0,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,se*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Move,(1-se)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,(1-se)*te,ne)),he.spot1=new go.Spot(se,0),he.spot2=new go.Spot(1-se,1),he}),go.Shape.defineFigureGenerator("Terminator",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.25*te,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*te,.5*ne,.25*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*te,.5*ne,.25*te,.5*ne)),he.spot1=new go.Spot(.23,0),he.spot2=new go.Spot(.77,1),he}),go.Shape.defineFigureGenerator("TransmittalTape",function(je,te,ne){var he=new go.Geometry,se=je?je.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.75*te,(1-se)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,(1-se)*ne).close()),he.spot1=go.Spot.TopLeft,he}),go.Shape.defineFigureGenerator("AndGate",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=new go.PathFigure(0,0,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,(.5+se)*te,0,te,(.5-se)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,te,(.5+se)*ne,(.5+se)*te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he.spot1=go.Spot.TopLeft,he.spot2=new go.Spot(.55,1),he}),go.Shape.defineFigureGenerator("Buffer",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he.spot1=new go.Spot(0,.25),he.spot2=new go.Spot(.5,.75),he}),go.Shape.defineFigureGenerator("Clock",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=.5,Se=new go.PathFigure(te,ge*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,ne,te,(ge+se)*ne,(ge+se)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,ge*ne,(ge-se)*te,ne,0,(ge+se)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,0,0,(ge-se)*ne,(ge-se)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,ge*ne,(ge+se)*te,0,te,(ge-se)*ne));var Te=new go.PathFigure(te,ge*ne,!1);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te,ge*ne));var Oe=new go.PathFigure(.8*te,.75*ne,!1);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,.8*te,.25*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.6*te,.25*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.6*te,.75*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.4*te,.75*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.4*te,.25*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.2*te,.25*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,.2*te,.75*ne)),he}),go.Shape.defineFigureGenerator("Ground",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.3*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.4*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,ne)),he}),go.Shape.defineFigureGenerator("Inverter",function(je,te,ne){var he=new go.Geometry,se=Ve*.1,ge=.1,Se=.9,Te=.5,Oe=new go.PathFigure(.8*te,.5*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),Oe.add(new go.PathSegment(go.PathSegment.Line,.8*te,.5*ne));var Be=new go.PathFigure((Se+ge)*te,Te*ne,!0);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,(Se-se)*te,(Te+ge)*ne,(Se-ge)*te,(Te+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,(Se+se)*te,(Te-ge)*ne,(Se+ge)*te,(Te-se)*ne)),he.spot1=new go.Spot(0,.25),he.spot2=new go.Spot(.4,.75),he}),go.Shape.defineFigureGenerator("NandGate",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=Ve*.4,Se=Ve*.1,Te=.1,Oe=.9,Be=.5,Qe=new go.PathFigure(.8*te,.5*ne,!0);he.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,ne,.8*te,(.5+ge)*ne,(.4+se)*te,ne)),Qe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),Qe.add(new go.PathSegment(go.PathSegment.Line,0,0)),Qe.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.5*ne,(.4+se)*te,0,.8*te,(.5-ge)*ne));var rt=new go.PathFigure((Oe+Te)*te,Be*ne,!0);return he.add(rt),rt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+Te)*ne,(Oe+Te)*te,(Be+Se)*ne,(Oe+Se)*te,(Be+Te)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Te)*te,Be*ne,(Oe-Se)*te,(Be+Te)*ne,(Oe-Te)*te,(Be+Se)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-Te)*ne,(Oe-Te)*te,(Be-Se)*ne,(Oe-Se)*te,(Be-Te)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Te)*te,Be*ne,(Oe+Se)*te,(Be-Te)*ne,(Oe+Te)*te,(Be-Se)*ne)),he.spot1=new go.Spot(0,.05),he.spot2=new go.Spot(.55,.95),he}),go.Shape.defineFigureGenerator("NorGate",function(je,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=0,Te=.5,Oe=new go.PathFigure(.8*te,.5*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,0,ne,.7*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.75*ne,.25*te,.25*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.5*ne,(Se+ge)*te,(Te-se)*ne,.7*te,(Te-ge)*ne)),se=.1,ge=Ve*.1,Se=.9,Te=.5;var Be=new go.PathFigure((Se-se)*te,Te*ne,!0);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Te*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Te*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne)),he.spot1=new go.Spot(.2,.25),he.spot2=new go.Spot(.6,.75),he}),go.Shape.defineFigureGenerator("OrGate",function(je,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=0,Te=.5,Oe=new go.PathFigure(0,0,!0);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,(Se+ge+ge)*te,(Te-se)*ne,.8*te,(Te-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,0,ne,.8*te,(Te+ge)*ne,(Se+ge+ge)*te,(Te+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.75*ne,.25*te,.25*ne).close()),he.spot1=new go.Spot(.2,.25),he.spot2=new go.Spot(.75,.75),he}),go.Shape.defineFigureGenerator("XnorGate",function(je,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=.2,Te=.5,Oe=new go.PathFigure(.1*te,0,!1);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,ne,.35*te,.25*ne,.35*te,.75*ne));var Be=new go.PathFigure(.8*te,.5*ne,!0);he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,ne,.7*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,0,.45*te,.75*ne,.45*te,.25*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.5*ne,(Se+ge)*te,(Te-se)*ne,.7*te,(Te-ge)*ne)),se=.1,ge=Ve*.1,Se=.9,Te=.5;var Qe=new go.PathFigure((Se-se)*te,Te*ne,!0);return he.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Te*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Te*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne)),he.spot1=new go.Spot(.4,.25),he.spot2=new go.Spot(.65,.75),he}),go.Shape.defineFigureGenerator("XorGate",function(je,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=.2,Te=.5,Oe=new go.PathFigure(.1*te,0,!1);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,ne,.35*te,.25*ne,.35*te,.75*ne));var Be=new go.PathFigure(.2*te,0,!0);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,(Se+ge)*te,(Te-se)*ne,.9*te,(Te-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,ne,.9*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,0,.45*te,.75*ne,.45*te,.25*ne).close()),he.spot1=new go.Spot(.4,.25),he.spot2=new go.Spot(.8,.75),he}),go.Shape.defineFigureGenerator("Capacitor",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Move,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),he}),go.Shape.defineFigureGenerator("Resistor",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.5*ne,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.5*ne)),he}),go.Shape.defineFigureGenerator("Inductor",function(je,te,ne){var he=new go.Geometry,se=Ve*.1,ge=.1,Se=.1,Te=.5,Oe=new go.PathFigure((Se-se*.5)*te,ne,!1);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,0,(Se-se)*te,ne,(Se-ge)*te,0)),Se=.3,Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,ne,(Se+ge)*te,0,(Se+se)*te,ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,0,(Se-se)*te,ne,(Se-ge)*te,0)),Se=.5,Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,ne,(Se+ge)*te,0,(Se+se)*te,ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,0,(Se-se)*te,ne,(Se-ge)*te,0)),Se=.7,Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,ne,(Se+ge)*te,0,(Se+se)*te,ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,0,(Se-se)*te,ne,(Se-ge)*te,0)),Se=.9,Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se*.5)*te,ne,(Se+ge)*te,0,(Se+se)*te,ne)),he}),go.Shape.defineFigureGenerator("ACvoltageSource",function(je,te,ne){var he=new go.Geometry,se=Ve*.5,ge=.5,Se=.5,Te=.5,Oe=new go.PathFigure((Se-ge)*te,Te*ne,!1);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,(Se+se)*te,(Te-ge)*ne,(Se+ge)*te,(Te-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,(Se-se)*te,(Te+ge)*ne,(Se-ge)*te,(Te+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Move,(Se-ge+.1)*te,Te*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge-.1)*te,Te*ne,Se*te,(Te-ge)*ne,Se*te,(Te+ge)*ne)),he}),go.Shape.defineFigureGenerator("DCvoltageSource",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.75*ne,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Move,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),he}),go.Shape.defineFigureGenerator("Diode",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),he.spot1=new go.Spot(0,.25),he.spot2=new go.Spot(.5,.75),he}),go.Shape.defineFigureGenerator("Wifi",function(je,te,ne){var he=new go.Geometry,se=te,ge=ne;te=te*.38,ne=ne*.6;var Se=Ve*.8,Te=.8,Oe=0,Be=.5,Qe=(se-te)/2,rt=(ge-ne)/2,ot=new go.PathFigure(Oe*te+Qe,(Be+Te)*ne+rt,!0);he.add(ot),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Te)*te+Qe,Be*ne+rt,(Oe-Se)*te+Qe,(Be+Te)*ne+rt,(Oe-Te)*te+Qe,(Be+Se)*ne+rt)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be-Te)*ne+rt,(Oe-Te)*te+Qe,(Be-Se)*ne+rt,(Oe-Se)*te+Qe,(Be-Te)*ne+rt)),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Te+Se*.5)*te+Qe,Be*ne+rt,Oe*te+Qe,(Be-Te)*ne+rt,(Oe-Te+Se*.5)*te+Qe,(Be-Se)*ne+rt)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be+Te)*ne+rt,(Oe-Te+Se*.5)*te+Qe,(Be+Se)*ne+rt,Oe*te+Qe,(Be+Te)*ne+rt).close()),Se=Ve*.4,Te=.4,Oe=.2,Be=.5;var gt=new go.PathFigure(Oe*te+Qe,(Be+Te)*ne+rt,!0);he.add(gt),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Te)*te+Qe,Be*ne+rt,(Oe-Se)*te+Qe,(Be+Te)*ne+rt,(Oe-Te)*te+Qe,(Be+Se)*ne+rt)),gt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be-Te)*ne+rt,(Oe-Te)*te+Qe,(Be-Se)*ne+rt,(Oe-Se)*te+Qe,(Be-Te)*ne+rt)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Te+Se*.5)*te+Qe,Be*ne+rt,Oe*te+Qe,(Be-Te)*ne+rt,(Oe-Te+Se*.5)*te+Qe,(Be-Se)*ne+rt)),gt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be+Te)*ne+rt,(Oe-Te+Se*.5)*te+Qe,(Be+Se)*ne+rt,Oe*te+Qe,(Be+Te)*ne+rt).close()),Se=Ve*.2,Te=.2,Oe=.5,Be=.5;var bt=new go.PathFigure((Oe-Te)*te+Qe,Be*ne+rt,!0);he.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be-Te)*ne+rt,(Oe-Te)*te+Qe,(Be-Se)*ne+rt,(Oe-Se)*te+Qe,(Be-Te)*ne+rt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Te)*te+Qe,Be*ne+rt,(Oe+Se)*te+Qe,(Be-Te)*ne+rt,(Oe+Te)*te+Qe,(Be-Se)*ne+rt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be+Te)*ne+rt,(Oe+Te)*te+Qe,(Be+Se)*ne+rt,(Oe+Se)*te+Qe,(Be+Te)*ne+rt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Te)*te+Qe,Be*ne+rt,(Oe-Se)*te+Qe,(Be+Te)*ne+rt,(Oe-Te)*te+Qe,(Be+Se)*ne+rt)),Se=Ve*.4,Te=.4,Oe=.8,Be=.5;var ut=new go.PathFigure(Oe*te+Qe,(Be-Te)*ne+rt,!0);he.add(ut),ut.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Te)*te+Qe,Be*ne+rt,(Oe+Se)*te+Qe,(Be-Te)*ne+rt,(Oe+Te)*te+Qe,(Be-Se)*ne+rt)),ut.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be+Te)*ne+rt,(Oe+Te)*te+Qe,(Be+Se)*ne+rt,(Oe+Se)*te+Qe,(Be+Te)*ne+rt)),ut.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Te-Se*.5)*te+Qe,Be*ne+rt,Oe*te+Qe,(Be+Te)*ne+rt,(Oe+Te-Se*.5)*te+Qe,(Be+Se)*ne+rt)),ut.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be-Te)*ne+rt,(Oe+Te-Se*.5)*te+Qe,(Be-Se)*ne+rt,Oe*te+Qe,(Be-Te)*ne+rt).close()),Se=Ve*.8,Te=.8,Oe=1,Be=.5;var Tt=new go.PathFigure(Oe*te+Qe,(Be-Te)*ne+rt,!0);return he.add(Tt),Tt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Te)*te+Qe,Be*ne+rt,(Oe+Se)*te+Qe,(Be-Te)*ne+rt,(Oe+Te)*te+Qe,(Be-Se)*ne+rt)),Tt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be+Te)*ne+rt,(Oe+Te)*te+Qe,(Be+Se)*ne+rt,(Oe+Se)*te+Qe,(Be+Te)*ne+rt)),Tt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Te-Se*.5)*te+Qe,Be*ne+rt,Oe*te+Qe,(Be+Te)*ne+rt,(Oe+Te-Se*.5)*te+Qe,(Be+Se)*ne+rt)),Tt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Qe,(Be-Te)*ne+rt,(Oe+Te-Se*.5)*te+Qe,(Be-Se)*ne+rt,Oe*te+Qe,(Be-Te)*ne+rt).close()),he}),go.Shape.defineFigureGenerator("Email",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(0,0,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Move,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.45*te,.54*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.55*te,.54*ne)),he}),go.Shape.defineFigureGenerator("Ethernet",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.35*te,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,0).close());var ge=new go.PathFigure(.1*te,ne,!0,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,ne).close());var Se=new go.PathFigure(.6*te,ne,!0,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.9*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.6*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.6*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.6*te,ne).close());var Te=new go.PathFigure(0,.5*ne,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,.5*te,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.5*te,.4*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,.75*te,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.75*te,.6*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,.25*te,.5*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.25*te,.6*ne)),he}),go.Shape.defineFigureGenerator("Power",function(je,te,ne){var he=new go.Geometry,se=Ve*.4,ge=.4,Se=.5,Te=.5,Oe=le(),Be=le(),Qe=le(),rt=le();Ie(Se,Te-ge,Se+se,Te-ge,Se+ge,Te-se,Se+ge,Te,.5,Oe,Oe,Be,Qe,rt);var ot=de(Be.x,Be.y),gt=new go.PathFigure(Be.x*te,Be.y*ne,!0);he.add(gt),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,Qe.x*te,Qe.y*ne,rt.x*te,rt.y*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,(Se-se)*te,(Te+ge)*ne,(Se-ge)*te,(Te+se)*ne)),Ie(Se-ge,Te,Se-ge,Te-se,Se-se,Te-ge,Se,Te-ge,.5,Qe,rt,Be,Oe,Oe),gt.add(new go.PathSegment(go.PathSegment.Bezier,Be.x*te,Be.y*ne,Qe.x*te,Qe.y*ne,rt.x*te,rt.y*ne)),se=Ve*.3,ge=.3,Ie(Se-ge,Te,Se-ge,Te-se,Se-se,Te-ge,Se,Te-ge,.5,Qe,rt,Be,Oe,Oe),gt.add(new go.PathSegment(go.PathSegment.Line,Be.x*te,Be.y*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Te*ne,rt.x*te,rt.y*ne,Qe.x*te,Qe.y*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+ge)*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Te*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Ie(Se,Te-ge,Se+se,Te-ge,Se+ge,Te-se,Se+ge,Te,.5,Oe,Oe,Be,Qe,rt),gt.add(new go.PathSegment(go.PathSegment.Bezier,Be.x*te,Be.y*ne,rt.x*te,rt.y*ne,Qe.x*te,Qe.y*ne).close());var gt=new go.PathFigure(.45*te,0,!0);return he.add(gt),gt.add(new go.PathSegment(go.PathSegment.Line,.45*te,.5*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.55*te,.5*ne)),gt.add(new go.PathSegment(go.PathSegment.Line,.55*te,0).close()),Le(Oe),Le(Be),Le(Qe),Le(rt),Le(ot),he.spot1=new go.Spot(.25,.45),he.spot2=new go.Spot(.75,.8),he}),go.Shape.defineFigureGenerator("Fallout",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne/2,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,180,360,te/2,ne/2,te/2,ne/2));function ge(Se,Te,Oe){Se.add(new go.PathSegment(go.PathSegment.Move,(.3+Te)*te,(.8+Oe)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(.5+Te)*te,(.5+Oe)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(.1+Te)*te,(.5+Oe)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(.3+Te)*te,(.8+Oe)*ne).close())}return ge(se,0,0),ge(se,.4,0),ge(se,.2,-.3),he}),go.Shape.defineFigureGenerator("IrritationHazard",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.2*te,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.3*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne).close()),he.spot1=new go.Spot(.3,.3),he.spot2=new go.Spot(.7,.7),he}),go.Shape.defineFigureGenerator("ElectricalHazard",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.37*te,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.11*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.77*te,.04*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,.49*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.37*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.63*te,.86*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.77*te,.91*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.34*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.34*te,.78*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.44*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.56*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.68*ne).close()),he}),go.Shape.defineFigureGenerator("FireHazard",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.1*te,ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.29*te,0,-.25*te,.63*ne,.45*te,.44*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.51*te,.42*ne,.48*te,.17*ne,.54*te,.35*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.59*te,.18*ne,.59*te,.29*ne,.58*te,.28*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.75*te,.6*ne,.8*te,.34*ne,.88*te,.43*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.88*te,.31*ne,.87*te,.48*ne,.88*te,.43*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,ne,1.17*te,.76*ne,.82*te,.8*ne).close()),he.spot1=new go.Spot(.07,.445),he.spot2=new go.Spot(.884,.958),he}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(je,te,ne){var he=new go.Geometry,se=.5,ge=0,Se=0,Te=se*Ve,Oe=.4*Math.SQRT2/2+.5,Be=.5-.5*Math.SQRT2/2,Qe=1,rt=.5,ot=.5,gt=0,bt=new go.PathFigure(Oe*te,(1-Be)*ne,!1);return he.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,Qe*te,rt*ne,Qe*te,.7*ne,Qe*te,rt*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(ot+ge)*te,(gt+ge)*ne,(.5+se+ge)*te,(.5-Te+ge)*ne,(.5+Te+ge)*te,(.5-se+ge)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+Se)*ne,(.5-Te+ge)*te,(.5-se+Se)*ne,(.5-se+ge)*te,(.5-Te+Se)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(.35+ge)*te,.9*ne,(.5-se+ge)*te,(.5+Te+Se)*ne,(.5-Te+ge)*te,.9*ne)),bt.add(new go.PathSegment(go.PathSegment.Move,(.25+ge)*te,.8*ne)),bt.add(new go.PathSegment(go.PathSegment.Line,(.35+ge)*te,.9*ne)),bt.add(new go.PathSegment(go.PathSegment.Line,(.2+ge)*te,.95*ne)),he}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Move,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),he}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Move,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),he}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);he.add(se);var ge=new go.PathFigure(te,ne,!1);he.add(ge);var Se=new go.PathFigure(0,.5*ne,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.5*ne,.2*te,.35*ne,.3*te,.35*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,.7*te,.65*ne,.8*te,.65*ne)),he}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.5*ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne).close()),he}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.2*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne).close());var se=new go.PathFigure(0,.2*ne,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ne)),he}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.7*te,ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,0,.6*te,.5*ne,0,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.7*te,ne,.4*te,.5*ne,te,.5*ne).close());var ge=new go.PathFigure(.45*te,.73*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.7*te,.73*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.38*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.63*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.31*te,.27*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.56*te,.27*ne)),he}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);he.add(se);var ge=new go.PathFigure(.335*te,(1-.555)*ne,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.335*te,(1-.405)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.405)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.555)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,.68*ne,(1-.12)*te,.46*ne,(1-.02)*te,.54*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.68*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.335*te,(1-.555)*ne,.02*te,.54*ne,.12*te,.46*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.365*te,(1-.595)*ne));var Se=.5-.285,Te=.5,Oe=Se,Be=Math.PI/4,Qe=4*(1-Math.cos(Be))/(3*Math.sin(Be)),rt=Qe*.5,ot=Se,gt=Se,bt=Qe*ot,ut=Qe*gt;ge.add(new go.PathSegment(go.PathSegment.Bezier,(Te-ot)*te,Oe*ne,(Te-(bt+ot)/2)*te,(Oe+(gt+ut)/2)*ne,(Te-ot)*te,(Oe+ut)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,Te*te,(Oe-gt)*ne,(Te-ot)*te,(Oe-ut)*ne,(Te-bt)*te,(Oe-gt)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(Te+ot)*te,Oe*ne,(Te+bt)*te,(Oe-gt)*ne,(Te+ot)*te,(Oe-ut)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*te,(1-.595)*ne,(Te+ot)*te,(Oe+ut)*ne,(Te+(bt+ot)/2)*te,(Oe+(gt+ut)/2)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*te,(1-.595)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.555)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.405)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.335*te,(1-.405)*ne));var Tt=new go.PathFigure(.2*te,ne,!1);he.add(Tt),Tt.add(new go.PathSegment(go.PathSegment.Line,.2*te,.8*ne));var kt=new go.PathFigure(.8*te,ne,!1);return he.add(kt),kt.add(new go.PathSegment(go.PathSegment.Line,.8*te,.8*ne)),he}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.1*te,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,ne).close());var ge=new go.PathFigure(.2*te,.2*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.8*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.8*ne)),he}),go.Shape.defineFigureGenerator("BpmnEventError",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,.5*ne).close()),he}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);he.add(se);var ge=new go.PathFigure(te,ne,!1);he.add(ge);var Se=new go.PathFigure(.1*te,ne,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),Se.add(new go.PathSegment(go.PathSegment.Line,.9*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne).close()),he}),go.Shape.defineFigureGenerator("Caution",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.05*te,ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,.8*ne,0,ne,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.55*te,.1*ne,.5*te,0,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.95*te,.9*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,ne,te,ne,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.05*te,ne));var ge=.05;return se.add(new go.PathSegment(go.PathSegment.Move,(.5-ge)*te,.875*ne)),se.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*te,.875*ne,ge*te,ge*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.325*ne,.575*te,.725*ne,.625*te,.375*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.75*ne,.375*te,.375*ne,.425*te,.725*ne)),he}),go.Shape.defineFigureGenerator("Recycle",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.45*te,.95*ne,!1);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.95*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.185*te,.85*ne,.17*te,.95*ne,.15*te,.9*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.235*te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.625*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,.65*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.275*te,.45*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.05*te,.45*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.05*te,.575*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.1875*te,.95*ne,0,.675*ne,0,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.45*te,.95*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.775*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.22*te,.775*ne));var ge=new go.PathFigure(.475*te,.2*ne,!1);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.225*te,.3*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.275*te,.175*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.325*te,.05*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,.05*ne,.35*te,0,.375*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.575*te,.375*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.525*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.75*te,.475*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.85*te,.315*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.32*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.65*te,.05*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.575*te,0,.65*te,.05*ne,.625*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.38*te,.0105*ne));var Se=new go.PathFigure(.675*te,.575*ne,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.875*te,.525*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,.775*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.85*te,.95*ne,te,.8*ne,te,.85*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.95*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.65*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.55*te,.85*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.725*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.775*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.775*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,te,.775*ne)),Se.add(new go.PathSegment(go.PathSegment.Move,.675*te,.575*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.775*te,.775*ne)),he}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(je,te,ne){var he=new go.Geometry,se=.5,ge=Ve*.5,Se=new go.PathFigure(te,se*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,se*te,ne,te,(se+ge)*ne,(se+ge)*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,se*ne,(se-ge)*te,ne,0,(se+ge)*ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,se*te,0,0,(se-ge)*ne,(se-ge)*te,0)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te,se*ne,(se+ge)*te,0,te,(se-ge)*ne));var Te=new go.PathFigure(se*te,0,!1);return he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,se*te,.15*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,se*te,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,se*te,.85*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,0,se*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.15*te,se*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,te,se*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.85*te,se*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,se*te,se*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.58*te,.1*ne)),Te.add(new go.PathSegment(go.PathSegment.Move,se*te,se*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.78*te,.54*ne)),he}),go.Shape.defineFigureGenerator("Package",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.15*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.15*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ge=new go.PathFigure(0,.15*ne,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.65*te,.15*ne).close()),he.spot1=new go.Spot(0,.1),he.spot2=new go.Spot(1,1),he}),go.Shape.defineFigureGenerator("Class",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(0,.2*ne,!1);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.2*ne).close());var Se=new go.PathFigure(0,.5*ne,!1);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne).close()),he}),go.Shape.defineFigureGenerator("Component",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te,ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne).close());var ge=new go.PathFigure(0,.2*ne,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.45*te,.2*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.45*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne).close());var Se=new go.PathFigure(0,.6*ne,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.6*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.8*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,0,.6*ne).close()),he}),go.Shape.defineFigureGenerator("Boat Shipment",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.15*te,.6*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,.6*ne));var ge=new go.PathFigure(.15*te,.6*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.85*te,.6*ne)),he}),go.Shape.defineFigureGenerator("Customer/Supplier",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te,ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,.33*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,.33*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,.33*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne).close()),he}),go.Shape.defineFigureGenerator("Workcell",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),he}),go.Shape.defineFigureGenerator("Supermarket",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.33*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.33*ne)),se.add(new go.PathSegment(go.PathSegment.Move,te,.33*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.66*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.66*ne)),se.add(new go.PathSegment(go.PathSegment.Move,te,.66*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),he}),go.Shape.defineFigureGenerator("TruckShipment",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(te,.8*ne,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.8*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.8*ne).close());var Se=.1,Te=Ve*.1,Oe=.2,Be=.9,Qe=new go.PathFigure((Oe-Se)*te,Be*ne,!0);he.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-Se)*ne,(Oe-Se)*te,(Be-Te)*ne,(Oe-Te)*te,(Be-Se)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Se)*te,Be*ne,(Oe+Te)*te,(Be-Se)*ne,(Oe+Se)*te,(Be-Te)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+Se)*ne,(Oe+Se)*te,(Be+Te)*ne,(Oe+Te)*te,(Be+Se)*ne)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Se)*te,Be*ne,(Oe-Te)*te,(Be+Se)*ne,(Oe-Se)*te,(Be+Te)*ne).close()),Se=.1,Te=Ve*.1,Oe=.8,Be=.9;var rt=new go.PathFigure((Oe-Se)*te,Be*ne,!0);return he.add(rt),rt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-Se)*ne,(Oe-Se)*te,(Be-Te)*ne,(Oe-Te)*te,(Be-Se)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Se)*te,Be*ne,(Oe+Te)*te,(Be-Se)*ne,(Oe+Se)*te,(Be-Te)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+Se)*ne,(Oe+Se)*te,(Be+Te)*ne,(Oe+Te)*te,(Be+Se)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Se)*te,Be*ne,(Oe-Te)*te,(Be+Se)*ne,(Oe-Se)*te,(Be+Te)*ne).close()),he}),go.Shape.defineFigureGenerator("KanbanPost",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.2*te,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,0)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,ne)),he}),go.Shape.defineFigureGenerator("Forklift",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,0));var ge=new go.PathFigure(0,.5*ne,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.8*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne));var Se=new go.PathFigure(.5*te,.8*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.1*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.55*te,.1*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.55*te,.8*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.8*ne));var Te=new go.PathFigure(.5*te,.7*ne,!1);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te,.7*ne));var Oe=.1,Be=Ve*.1,Qe=.1,rt=.9,ot=new go.PathFigure((Qe-Oe)*te,rt*ne,!0);he.add(ot),ot.add(new go.PathSegment(go.PathSegment.Bezier,Qe*te,(rt-Oe)*ne,(Qe-Oe)*te,(rt-Be)*ne,(Qe-Be)*te,(rt-Oe)*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Qe+Oe)*te,rt*ne,(Qe+Be)*te,(rt-Oe)*ne,(Qe+Oe)*te,(rt-Be)*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Qe*te,(rt+Oe)*ne,(Qe+Oe)*te,(rt+Be)*ne,(Qe+Be)*te,(rt+Oe)*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Qe-Oe)*te,rt*ne,(Qe-Be)*te,(rt+Oe)*ne,(Qe-Oe)*te,(rt+Be)*ne)),Oe=.1,Be=Ve*.1,Qe=.4,rt=.9;var gt=new go.PathFigure((Qe-Oe)*te,rt*ne,!0);return he.add(gt),gt.add(new go.PathSegment(go.PathSegment.Bezier,Qe*te,(rt-Oe)*ne,(Qe-Oe)*te,(rt-Be)*ne,(Qe-Be)*te,(rt-Oe)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Qe+Oe)*te,rt*ne,(Qe+Be)*te,(rt-Oe)*ne,(Qe+Oe)*te,(rt-Be)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,Qe*te,(rt+Oe)*ne,(Qe+Oe)*te,(rt+Be)*ne,(Qe+Be)*te,(rt+Oe)*ne)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(Qe-Oe)*te,rt*ne,(Qe-Be)*te,(rt+Oe)*ne,(Qe-Oe)*te,(rt+Be)*ne)),he}),go.Shape.defineFigureGenerator("RailShipment",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.1*te,.4*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.9*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.9*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.4*ne).close());var ge=new go.PathFigure(.45*te,.7*ne,!1);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.55*te,.7*ne));var Se=new go.PathFigure(.55*te,.4*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.9*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.55*te,.9*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.55*te,.4*ne).close());var Qe=.05,rt=Ve*.05,ot=.175,gt=.95,Te=new go.PathFigure((ot-Qe)*te,gt*ne,!0);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt-Qe)*ne,(ot-Qe)*te,(gt-rt)*ne,(ot-rt)*te,(gt-Qe)*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,(ot+Qe)*te,gt*ne,(ot+rt)*te,(gt-Qe)*ne,(ot+Qe)*te,(gt-rt)*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt+Qe)*ne,(ot+Qe)*te,(gt+rt)*ne,(ot+rt)*te,(gt+Qe)*ne)),Te.add(new go.PathSegment(go.PathSegment.Bezier,(ot-Qe)*te,gt*ne,(ot-rt)*te,(gt+Qe)*ne,(ot-Qe)*te,(gt+rt)*ne));var Qe=.05,rt=Ve*.05,ot=.375,gt=.95,Oe=new go.PathFigure((ot-Qe)*te,gt*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt-Qe)*ne,(ot-Qe)*te,(gt-rt)*ne,(ot-rt)*te,(gt-Qe)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ot+Qe)*te,gt*ne,(ot+rt)*te,(gt-Qe)*ne,(ot+Qe)*te,(gt-rt)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt+Qe)*ne,(ot+Qe)*te,(gt+rt)*ne,(ot+rt)*te,(gt+Qe)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ot-Qe)*te,gt*ne,(ot-rt)*te,(gt+Qe)*ne,(ot-Qe)*te,(gt+rt)*ne));var Qe=.05,rt=Ve*.05,ot=.625,gt=.95,Be=new go.PathFigure((ot-Qe)*te,gt*ne,!0);he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt-Qe)*ne,(ot-Qe)*te,(gt-rt)*ne,(ot-rt)*te,(gt-Qe)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(ot+Qe)*te,gt*ne,(ot+rt)*te,(gt-Qe)*ne,(ot+Qe)*te,(gt-rt)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt+Qe)*ne,(ot+Qe)*te,(gt+rt)*ne,(ot+rt)*te,(gt+Qe)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(ot-Qe)*te,gt*ne,(ot-rt)*te,(gt+Qe)*ne,(ot-Qe)*te,(gt+rt)*ne));var Qe=.05,rt=Ve*.05,ot=.825,gt=.95,bt=new go.PathFigure((ot-Qe)*te,gt*ne,!0);he.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt-Qe)*ne,(ot-Qe)*te,(gt-rt)*ne,(ot-rt)*te,(gt-Qe)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(ot+Qe)*te,gt*ne,(ot+rt)*te,(gt-Qe)*ne,(ot+Qe)*te,(gt-rt)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,ot*te,(gt+Qe)*ne,(ot+Qe)*te,(gt+rt)*ne,(ot+rt)*te,(gt+Qe)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(ot-Qe)*te,gt*ne,(ot-rt)*te,(gt+Qe)*ne,(ot-Qe)*te,(gt+rt)*ne).close());var ut=new go.PathFigure(0,ne,!1);return he.add(ut),ut.add(new go.PathSegment(go.PathSegment.Line,te,ne).close()),he}),go.Shape.defineFigureGenerator("Warehouse",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(0,.2*ne,!1);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.2*ne).close());var Se=new go.PathFigure(.15*te,ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.15*te,.5*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.5*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.4*te,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.15*te,ne).close());var Te=.05,Oe=Ve*.05,Be=.35,Qe=.775,rt=new go.PathFigure((Be-Te)*te,Qe*ne,!0);return he.add(rt),rt.add(new go.PathSegment(go.PathSegment.Bezier,Be*te,(Qe-Te)*ne,(Be-Te)*te,(Qe-Oe)*ne,(Be-Oe)*te,(Qe-Te)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Be+Te)*te,Qe*ne,(Be+Oe)*te,(Qe-Te)*ne,(Be+Te)*te,(Qe-Oe)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,Be*te,(Qe+Te)*ne,(Be+Te)*te,(Qe+Oe)*ne,(Be+Oe)*te,(Qe+Te)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Be-Te)*te,Qe*ne,(Be-Oe)*te,(Qe+Te)*ne,(Be-Te)*te,(Qe+Oe)*ne).close()),he}),go.Shape.defineFigureGenerator("ControlCenter",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Move,.1*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ne).close()),he}),go.Shape.defineFigureGenerator("Bluetooth",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.75*ne,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),he}),go.Shape.defineFigureGenerator("Bookmark",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.4*ne)),he}),go.Shape.defineFigureGenerator("Bookmark",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.4*ne)),he}),go.Shape.defineFigureGenerator("Globe",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ne,.75*te,0,te,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,te,.75*ne,.75*te,ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,.25*te,ne,0,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,.25*ne,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne,.15*te,.25*ne,.15*te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,.85*te,.75*ne,.85*te,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.1675*te,.15*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8325*te,.15*ne,.35*te,.3*ne,.65*te,.3*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.1675*te,.85*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8325*te,.85*ne,.35*te,.7*ne,.65*te,.7*ne)),he}),go.Shape.defineFigureGenerator("Wave",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.25*ne,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.25*ne,.1*te,0,.2*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.7*te,.25*ne,.425*te,.5*ne,.575*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.25*ne,.8*te,0,.9*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Move,0,.25*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.75*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.75*ne,.1*te,.5*ne,.2*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.7*te,.75*ne,.425*te,ne,.575*te,ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.75*ne,.8*te,.5*ne,.9*te,.5*ne)),he}),go.Shape.defineFigureGenerator("Operator",function(je,te,ne){var he=new go.Geometry,se=.3,ge=Ve*.3,Se=.5,Te=.7,Oe=new go.PathFigure((Se-se)*te,Te*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Te*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Te*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne));var Be=new go.PathFigure(0,.7*ne,!1);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,te,.7*ne,0,0,te,0)),he}),go.Shape.defineFigureGenerator("TripleFanBlades",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.65*ne,.65*te,.3*ne,.65*te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,.35*te,.5*ne,.35*te,.3*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.65*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,ne,.3*te,.6*ne,.1*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.65*ne,.2*te,ne,.35*te,.95*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.65*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,ne,.7*te,.6*ne,.9*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.65*ne,.8*te,ne,.65*te,.95*ne)),he}),go.Shape.defineFigureGenerator("CentrifugalPump",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te,0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,0,.075*ne,0,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,ne,0,ne,.4*te,ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.4*ne,.8*te,ne,.85*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),he}),go.Shape.defineFigureGenerator("Battery",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Move,.4*te,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.1*ne));var ge=new go.PathFigure(0,.6*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Move,0,.4*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.4*ne)),he}),go.Shape.defineFigureGenerator("Delete",function(je,te,ne){var he=new go.Geometry,se=.5,ge=Ve*.5,Se=.5,Te=.5,Oe=new go.PathFigure((Se-se)*te,Te*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Te*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Te*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne));var Be=new go.PathFigure(.15*te,.5*ne,!1);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.85*te,.5*ne)),he}),go.Shape.defineFigureGenerator("Flag",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.1*ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Move,0,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.1*ne,.15*te,0,.35*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.1*ne,.65*te,.2*ne,.85*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.5*ne,.85*te,.6*ne,.65*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,.35*te,.4*ne,.15*te,.4*ne).close()),he}),go.Shape.defineFigureGenerator("Help",function(je,te,ne){var he=new go.Geometry,se=.5,ge=Ve*.5,Se=.5,Te=.5,Oe=new go.PathFigure((Se-se)*te,Te*ne,!1);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Te*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Te*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne).close()),se=.05,ge=Ve*.05,Se=.5,Te=.8;var Be=new go.PathFigure((Se-se)*te,Te*ne,!1);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te-se)*ne,(Se-se)*te,(Te-ge)*ne,(Se-ge)*te,(Te-se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Te*ne,(Se+ge)*te,(Te-se)*ne,(Se+se)*te,(Te-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Te+se)*ne,(Se+se)*te,(Te+ge)*ne,(Se+ge)*te,(Te+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Te*ne,(Se-ge)*te,(Te+se)*ne,(Se-se)*te,(Te+ge)*ne).close()),Be.add(new go.PathSegment(go.PathSegment.Move,.5*te,.7*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ne,.75*te,.475*ne,.75*te,.225*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.35*ne,.4*te,.2*ne,.3*te,.25*ne)),he}),go.Shape.defineFigureGenerator("Location",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.5*te,ne,!0).add(new go.PathSegment(go.PathSegment.Line,.75*te,.5*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,.975*te,.025*ne,.5*te,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*te,.5*ne,.5*te,0,.025*te,.025*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.5*te,.2*ne)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*te,.3*ne,.1*te,.1*ne).close()))}),go.Shape.defineFigureGenerator("Lock",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.5*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne));var ge=new go.PathFigure(.2*te,.5*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*te,.3*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.3*ne,.25*te,0,.75*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.3*ne)),he}),go.Shape.defineFigureGenerator("Unlocked",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.5*ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne));var ge=new go.PathFigure(.2*te,.5*ne,!1);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*te,.3*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.3*ne,.25*te,0,.75*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.35*ne)),he}),go.Shape.defineFigureGenerator("Gear",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(.9375*te,.56246875*ne,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*te,.4375*ne)).add(new go.PathSegment(go.PathSegment.Line,.80621875*te,.4375*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.763*te,.3316875*ne,.79840625*te,.39915625*ne,.7834375*te,.3635*ne)).add(new go.PathSegment(go.PathSegment.Line,.8566875*te,.23796875*ne)).add(new go.PathSegment(go.PathSegment.Line,.76825*te,.14959375*ne)).add(new go.PathSegment(go.PathSegment.Line,.67596875*te,.24184375*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*te,.19378125*ne,.64228125*te,.2188125*ne,.603875*te,.2021875*ne)).add(new go.PathSegment(go.PathSegment.Line,.5625*te,.0625*ne)).add(new go.PathSegment(go.PathSegment.Line,.4375*te,.0625*ne)).add(new go.PathSegment(go.PathSegment.Line,.4375*te,.19378125*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*te,.239375*ne,.39759375*te,.20190625*ne,.36053125*te,.2176875*ne)).add(new go.PathSegment(go.PathSegment.Line,.2379375*te,.14959375*ne)).add(new go.PathSegment(go.PathSegment.Line,.14953125*te,.2379375*ne)).add(new go.PathSegment(go.PathSegment.Line,.23934375*te,.3278125*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*te,.4375*ne,.21765625*te,.36059375*ne,.201875*te,.397625*ne)).add(new go.PathSegment(go.PathSegment.Line,.0625*te,.4375*ne)).add(new go.PathSegment(go.PathSegment.Line,.0625*te,.5625*ne)).add(new go.PathSegment(go.PathSegment.Line,.1938125*te,.5625*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*te,.67596875*ne,.20221875*te,.603875*ne,.21884375*te,.64228125*ne)).add(new go.PathSegment(go.PathSegment.Line,.1495625*te,.76825*ne)).add(new go.PathSegment(go.PathSegment.Line,.238*te,.8566875*ne)).add(new go.PathSegment(go.PathSegment.Line,.3316875*te,.76296875*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*te,.80621875*ne,.36353125*te,.78340625*ne,.3991875*te,.79840625*ne)).add(new go.PathSegment(go.PathSegment.Line,.43753125*te,.9375*ne)).add(new go.PathSegment(go.PathSegment.Line,.5625*te,.9375*ne)).add(new go.PathSegment(go.PathSegment.Line,.5625*te,.80621875*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*te,.760625*ne,.602375*te,.79809375*ne,.63946875*te,.78234375*ne)).add(new go.PathSegment(go.PathSegment.Line,.76828125*te,.8566875*ne)).add(new go.PathSegment(go.PathSegment.Line,.85671875*te,.76825*ne)).add(new go.PathSegment(go.PathSegment.Line,.76065625*te,.67221875*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*te,.56246875*ne,.78234375*te,.63940625*ne,.798125*te,.602375*ne)).add(new go.PathSegment(go.PathSegment.Line,.9375*te,.56246875*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.5*te,.6*ne)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*te,.5*ne,.1*te,.1*ne).close()))}),go.Shape.defineFigureGenerator("Hand",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.5*ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,.3*ne,0,.375*ne,.05*te,.325*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.45*te,.075*ne,.3*te,.225*ne,.4*te,.175*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.525*te,.075*ne,.46*te,.05*ne,.525*te,.05*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.4*ne,.525*te,.275*ne,.475*te,.325*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,.55*ne,te,.4*ne,te,.55*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.425*te,.55*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.55*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.6*te,.7*ne,.675*te,.55*ne,.675*te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.575*te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.575*te,.85*ne,.65*te,.7*ne,.65*te,.85*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.85*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.525*te,.85*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.535*te,ne,.61*te,.85*ne,.61*te,ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,.435*te,ne,0,ne).close()),he}),go.Shape.defineFigureGenerator("Map",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,.2*ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),se.add(new go.PathSegment(go.PathSegment.Move,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne)),se.add(new go.PathSegment(go.PathSegment.Move,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.8*ne)),he}),go.Shape.defineFigureGenerator("Eject",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,ne)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne*.7)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*.7).close());var ge=new go.PathFigure(0,ne*.6,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.6*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,0).close()),he}),go.Shape.defineFigureGenerator("Pencil",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*te,.1*ne)).add(new go.PathSegment(go.PathSegment.Line,te,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.9*te,ne)).add(new go.PathSegment(go.PathSegment.Line,.1*te,.2*ne).close()))}),go.Shape.defineFigureGenerator("Building",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*1,ne*1,!1);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*.85)),se.add(new go.PathSegment(go.PathSegment.Line,.046*te,ne*.85)),se.add(new go.PathSegment(go.PathSegment.Line,.046*te,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*.3)),se.add(new go.PathSegment(go.PathSegment.Line,.046*te,ne*.3)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*te,ne*.3)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne*.3)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*te,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*te,ne*.85)),se.add(new go.PathSegment(go.PathSegment.Line,te,ne*.85).close());var ge=new go.PathFigure(.126*te,.85*ne,!1);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.126*te,.45*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.322*te,.45*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.322*te,.85*ne).close());var Se=new go.PathFigure(.402*te,.85*ne,!1);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.402*te,.45*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.598*te,.45*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,.598*te,.85*ne).close());var Te=new go.PathFigure(.678*te,.85*ne,!1);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,.678*te,.45*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.874*te,.45*ne)),Te.add(new go.PathSegment(go.PathSegment.Line,.874*te,.85*ne).close());var Oe=new go.PathFigure(.5*te,.1*ne,!1);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*te,.3*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*te,.3*ne).close()),he}),go.Shape.defineFigureGenerator("Staircase",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne*1,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ne*.8)),se.add(new go.PathSegment(go.PathSegment.Line,te*.4,ne*.8)),se.add(new go.PathSegment(go.PathSegment.Line,te*.4,ne*.6)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ne*.6)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ne*.4)),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ne*.4)),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ne*.2)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*.2)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*.15)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ne*.15)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ne*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ne*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ne*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ne*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*.95).close()),he}),go.Shape.defineFigureGenerator("5Bars",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,ne*1,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.184,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.184,ne*(1-.184)).close());var ge=new go.PathFigure(te*.204,ne,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.204,ne*(1-.184))),ge.add(new go.PathSegment(go.PathSegment.Line,te*.388,ne*(1-.184*2))),ge.add(new go.PathSegment(go.PathSegment.Line,te*.388,ne*1).close());var Se=new go.PathFigure(te*.408,ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te*.408,ne*(1-.184*2))),Se.add(new go.PathSegment(go.PathSegment.Line,te*.592,ne*(1-.184*3))),Se.add(new go.PathSegment(go.PathSegment.Line,te*.592,ne*1).close());var Te=new go.PathFigure(te*.612,ne,!0);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te*.612,ne*(1-.184*3))),Te.add(new go.PathSegment(go.PathSegment.Line,te*.796,ne*(1-.184*4))),Te.add(new go.PathSegment(go.PathSegment.Line,te*.796,ne*1).close());var Oe=new go.PathFigure(te*.816,ne,!0);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.816,ne*(1-.184*4))),Oe.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*(1-.184*5))),Oe.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*1).close()),he}),go.Shape.defineFigureGenerator("PC",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,0).close());var ge=new go.PathFigure(te*.055,.07*ne,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.07)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.055,ne*.1).close());var Se=new go.PathFigure(te*.055,.13*ne,!0);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.13)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.16)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.055,ne*.16).close());var Te=new go.PathFigure(te*.055,.18*ne,!0);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.18)),Te.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.21)),Te.add(new go.PathSegment(go.PathSegment.Line,te*.055,ne*.21).close());var Oe=new go.PathFigure(te*1,0,!0);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.4,0)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.4,ne*.65)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*.65).close()),he}),go.Shape.defineFigureGenerator("Plane",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(.55*te,ne,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.7*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.475*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.35*te,.525*ne,0,.4*ne,.225*te,.45*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.475*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,.35*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.325*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.325*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,.1*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,.2*ne,.975*te,0,te,.08*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.45*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.95*ne)),se.add(new go.PathSegment(go.PathSegment.Line,.55*te,ne).close()),he}),go.Shape.defineFigureGenerator("Key",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*1,ne*.5,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.9,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.4*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.35*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,.35*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,.2*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.35*ne)),se.add(new go.PathSegment(go.PathSegment.Line,0,.65*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,.8*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,.65*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.65*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,.55*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.7,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,.55*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,.6*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.85,.575*ne)),se.add(new go.PathSegment(go.PathSegment.Line,te*.9,.6*ne).close()),se.add(new go.PathSegment(go.PathSegment.Move,.17*te,.425*ne)),se.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*te,.5*ne,.075*te,.075*ne).close()),he}),go.Shape.defineFigureGenerator("FilmTape",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(0,0,!1);he.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,180,te*0,te*.3,te*.055)),se.add(new go.PathSegment(go.PathSegment.Line,0,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.08,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.08,ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*1),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*1),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*2),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*2),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*3),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*3),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*4),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*4),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*5),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*5),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*6),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*6),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*7),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*7),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*8),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*8),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*9),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*9),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*10),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*10),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*11),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*11),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*12),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*12),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*13),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*13),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*14),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*14),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*15),ne*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*15),ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*1));var ge=new go.PathFigure(0,0,!1);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*0)),ge.add(new go.PathSegment(go.PathSegment.Arc,270,-180,te*1,te*.3,te*.055)),ge.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*1));var Se=new go.PathFigure(te*.11,ne*.1,!1);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*1+.028*0),ne*.1)),Se.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*1+.028*0),ne*.8)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.11,ne*.8).close());var Te=new go.PathFigure(te*(.11+.24133333*1+.028*1),ne*.1,!1);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*1),ne*.1)),Te.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*1),ne*.8)),Te.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*1+.028*1),ne*.8).close());var Oe=new go.PathFigure(te*(.11+.24133333*2+.028*2),ne*.1,!1);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*3+.028*2),ne*.1)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*3+.028*2),ne*.8)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*2),ne*.8).close()),he}),go.Shape.defineFigureGenerator("FloppyDisk",function(je,te,ne){var he=new go.Geometry,se=8,ge=se*Ve,Se=new go.PathFigure(se,0,!1);he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te*.86,0)),Se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*.14)),Se.add(new go.PathSegment(go.PathSegment.Line,te,ne-se)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te-se,ne,te,ne-ge,te-ge,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,se,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-se,ge,ne,0,ne-ge)),Se.add(new go.PathSegment(go.PathSegment.Line,0,se)),Se.add(new go.PathSegment(go.PathSegment.Bezier,se,0,0,ge,ge,0).close());var Te=new go.PathFigure(te*.83,0,!1);he.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te*.83,ne*.3)),Te.add(new go.PathSegment(go.PathSegment.Line,te*.17,ne*.3)),Te.add(new go.PathSegment(go.PathSegment.Line,te*.17,ne*0).close());var Oe=new go.PathFigure(te*.83,ne*1,!1);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.83,ne*.5)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.17,ne*.5)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.17,ne*1).close());var Be=new go.PathFigure(te*.78,ne*.05,!1);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*.05)),Be.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*.25)),Be.add(new go.PathSegment(go.PathSegment.Line,te*.78,ne*.25).close()),he}),go.Shape.defineFigureGenerator("SpeechBubble",function(je,te,ne){var he=je?je.parameter1:NaN;(isNaN(he)||he<0)&&(he=15),he=Math.min(he,te/3),he=Math.min(he,ne/3);var se=he*Ve,ge=ne*.8,Se=new go.Geometry,Te=new go.PathFigure(he,0,!0);return Se.add(Te),Te.add(new go.PathSegment(go.PathSegment.Line,te-he,0)),Te.add(new go.PathSegment(go.PathSegment.Bezier,te,he,te-se,0,te,se)),Te.add(new go.PathSegment(go.PathSegment.Line,te,ge-he)),Te.add(new go.PathSegment(go.PathSegment.Bezier,te-he,ge,te,ge-se,te-se,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,te*.7,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,te*.7,ne)),Te.add(new go.PathSegment(go.PathSegment.Line,te*.55,ge)),Te.add(new go.PathSegment(go.PathSegment.Line,he,ge)),Te.add(new go.PathSegment(go.PathSegment.Bezier,0,ge-he,se,ge,0,ge-se)),Te.add(new go.PathSegment(go.PathSegment.Line,0,he)),Te.add(new go.PathSegment(go.PathSegment.Bezier,he,0,0,se,se,0).close()),se>1?(Se.spot1=new go.Spot(0,0,se,se),Se.spot2=new go.Spot(1,.8,-se,-se)):(Se.spot1=go.Spot.TopLeft,Se.spot2=new go.Spot(1,.8)),Se}),go.Shape.defineFigureGenerator("Repeat",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*0,ne*.45,!0);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ne*.9)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ne*.9)),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ne*.45).close());var ge=new go.PathFigure(te*1,ne*.55,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.75,ne*1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.5,ne*.55)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.7,ne*.55)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.7,ne*.1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.4,ne*.1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.35,ne*0)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.8,ne*0)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.8,ne*.55).close()),he}),go.Shape.defineFigureGenerator("Windows",function(je,te,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close()).add(new go.PathSegment(go.PathSegment.Move,.4*te,.4*ne)).add(new go.PathSegment(go.PathSegment.Line,.4*te,.8*ne)).add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ne)).add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.2*te,.1*ne)).add(new go.PathSegment(go.PathSegment.Line,.2*te,.6*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.6*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.1*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.1*te,.6*ne)).add(new go.PathSegment(go.PathSegment.Line,.1*te,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.5*te,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ne).close()))}),go.Shape.defineFigureGenerator("Terminal",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*0,ne*.1,!1);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*.1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*.9)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ne*.9).close());var ge=new go.PathFigure(te*.1,ne*.2,!0);he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.1,ne*.25)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.22,ne*.285)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.1,ne*.32)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.1,ne*.37)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.275,ne*.32)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.275,ne*.25).close());var Se=new go.PathFigure(te*.28,ne*.37,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ne*.37)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ne*.41)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.28,ne*.41).close()),he}),go.Shape.defineFigureGenerator("Beaker",function(je,te,ne){var he=new go.Geometry,se=15,ge=se*Ve,Se=new go.PathFigure(te*.62,ne*.475,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te,ne-se)),Se.add(new go.PathSegment(go.PathSegment.Bezier,te-se,ne,te,ne-ge,te-ge,ne)),Se.add(new go.PathSegment(go.PathSegment.Line,se,ne)),Se.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-se,ge,ne,0,ne-ge)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.38,ne*.475)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.38,ne*.03)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.36,ne*0)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.64,ne*0)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.62,ne*.03).close()),ge>1?(he.spot1=new go.Spot(0,0,ge,ge),he.spot2=new go.Spot(1,1,-ge,-ge)):(he.spot1=go.Spot.TopLeft,he.spot2=go.Spot.BottomRight),he}),go.Shape.defineFigureGenerator("Download",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*0,ne*1,!0);he.add(se);var ge=.1/.3;se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.755,ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.93,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.64,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.61,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.39,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.36,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.07,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.755),ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.8),ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ne*(1-ge)).close());var Se=new go.PathFigure(te*.4,ne*0,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te*.4,ne*.44)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.26,ne*.44)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ne*.66)),Se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.26),ne*.44)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ne*.44)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ne*0).close()),he}),go.Shape.defineFigureGenerator("Bin",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*0,ne*1,!0);he.add(se);var ge=.1/.3;return se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.755,ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.93,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.64,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.61,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.39,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.36,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.07,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.755),ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.8),ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ne*(1-ge)).close()),he}),go.Shape.defineFigureGenerator("Upload",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*0,ne*1,!0);he.add(se);var ge=.1/.3;se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.755,ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.93,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.64,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.61,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.39,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.36,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.07,ne*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.755),ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ne*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.8),ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ne*(1-ge)).close());var Se=new go.PathFigure(te*.5,ne*0,!0);return he.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,te*.26,ne*.25)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.4,ne*.25)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.4,ne*.63)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ne*.63)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ne*.25)),Se.add(new go.PathSegment(go.PathSegment.Line,te*.74,ne*.25).close()),he}),go.Shape.defineFigureGenerator("EmptyDrink",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*.15,ne*0,!1);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.85,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.7,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ne*1).close()),he}),go.Shape.defineFigureGenerator("Drink",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*.15,ne*0,!1);he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.85,ne*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.7,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ne*1).close());var ge=new go.PathFigure(te*.235,ne*.28,!0);return he.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.765,ne*.28)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.655,ne*.97)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.345,ne*.97).close()),he}),go.Shape.defineFigureGenerator("4Arrows",function(je,te,ne){var he=new go.Geometry,se=new go.PathFigure(te*.5,ne*0,!0);return he.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,ne*.25)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ne*.25)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ne*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ne*.5)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ne*.65)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ne*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ne*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ne*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ne*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ne*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ne*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ne*.65)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ne*.5)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ne*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ne*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ne*.25)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ne*.25).close()),he}),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")},84072: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 Ge={},be="5.0",de={},le=null,Le=!1,De=!1,Ie=null,Ye=!1,Fe=null,Ve=null,Xe=0;Xe4?parseFloat(Mt):5};Ge.setHTML5Codebase=function(Mt,dn){Ve=Mt,nt(Mt,dn)},Ge.setJavaCodebase=Ge.setJavaCodebaseVersion=Ge.isCompiledInstalled=Ge.setPreCompiledScriptPath=Ge.setPreCompiledResourcePath=function(){},Ge.setHTML5CodebaseVersion=function(Mt,dn){var ln=parseFloat(Mt);if(ln!==NaN&&ln<5){console.log("The GeoGebra HTML5 codebase version "+ln+" is deprecated. Using version latest instead.");return}Fe=Mt,ct(Mt,dn)},Ge.getHTML5CodebaseVersion=function(){return je},Ge.getParameters=function(){return de},Ge.setFontsCSSURL=function(Mt){Se=Mt},Ge.setGiacJSURL=function(Mt){},Ge.setJNLPFile=function(Mt){Je=Mt},Ge.setJNLPBaseDir=function(Mt){},Ge.inject=function(){function Mt(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var dn="auto",ln=de.id,jn,In=!1,ai=0;ai=5)return!0;var Mt=Ge.getAppletObject();return Mt&&typeof Mt.recalculateEnvironments=="function"?(Mt.recalculateEnvironments(),!0):!1},Ge.startAnimation=function(){var Mt=Ge.getAppletObject();return Mt&&typeof Mt.startAnimation=="function"?(Mt.startAnimation(),!0):!1},Ge.stopAnimation=function(){var Mt=Ge.getAppletObject();return Mt&&typeof Mt.stopAnimation=="function"?(Mt.stopAnimation(),!0):!1},Ge.getAppletObject=function(){var Mt=de.id!==void 0?de.id:"ggbApplet";return window[Mt]},Ge.resize=function(){};var bt=function(Mt,dn,ln){var jn=document.createElement("param");jn.setAttribute("name",dn),jn.setAttribute("value",ln),Mt.appendChild(jn)},ut=function(Mt){return Mt&&Mt!=="false"},Tt=function(Mt,dn,ln){Oe(je)<=4.2&&(ln=!0);var jn=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==je||ggbHTML5LoadedCodebaseIsWebSimple&&!ne)&&(jn=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var In=document.createElement("div");In.classList.add("appletParameters","notranslate");var ai=dn.width,Dt=dn.height;if(dn.disableAutoScale=dn.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():dn.disableAutoScale,dn.width!==void 0)if(Oe(je)<=4.4)ut(dn.showToolBar)&&(dn.height-=7),ut(dn.showAlgebraInput)&&(dn.height-=37),dn.width<605&&ut(dn.showToolBar)&&(dn.width=605,ai=605);else{var Kn=100;(ut(dn.showToolBar)||ut(dn.showMenuBar))&&(dn.hasOwnProperty("customToolBar")&&(dn.customToolbar=dn.customToolBar),Kn=ut(dn.showMenuBar)?245:155),ai=5?(dn.appletOnLoad=function(sn){var on=Mt.querySelector(".ggb_preview");on&&on.parentNode.removeChild(on),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(_e),window.GGBT_wsf_view&&$(window).trigger("resize"),et(sn)},xe||_e.appendChild(Ce)):In.appendChild(Ce),_e.appendChild(In),xe||Mt.appendChild(_e),setTimeout(function(){Ge.resize()},1)}else{var Me=document.createElement("div");Me.className="applet_scaler",Me.style.position="relative",Me.style.display="block",Me.appendChild(In),Mt.appendChild(Me),dn.appletOnLoad=function(sn){Ge.resize(),et(sn)}}function Ae(sn,on){on&&typeof on.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(sn,on.appletOnLoad):renderGGBElement(sn),un("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",on)}function at(sn,on){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:sn,params:on}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(bn){Ae(bn.article,bn.params)}),html5AppletsToProcess=null)},Oe(je)<5&&(sn.className+=" geogebraweb")):Ae(sn,on)}if(jn){scriptLoadStarted=!0;for(var It=0;It0?(gi.remove(),_e.attr("id","fullscreencontent").show(),jQuery(et).append(_e),window.dispatchEvent(new Event("resize"))):Tt(gi,dn,!1),window.GGBT_wsf_view.launchFullScreen(et)}else Ct=jn,Tt(Mt,dn,!1);if(!window.GGBT_wsf_view)for(Dt=0;DtMt/4*3&&(gi=Mt/4*3),et=gi/5.8,Kn.setAttribute("src",se),Kn.setAttribute("width",gi),Kn.setAttribute("height",et);var _e=(Mt-gi)/2,xe=(dn-et)/2;Kn.style.left=_e+"px",Kn.style.top=xe+"px",In.appendChild(Kn)}}return In.appendChild(Dt),In},mn=function(Mt){return Mt=Mt.toLowerCase(),Mt==="html5"||Mt==="screenshot"?Mt:"html5"},Lt=["web","webSimple","web3d","tablet","tablet3d","phone"],ct=function(Mt,dn){if(je=Mt,dn){nt(je,!0);return}var ln=!Le;if(ln){var jn=Oe(je);!isNaN(jn)&&jn<4.4&&(ln=!1)}var In,ai;window.location.protocol.substr(0,4)==="http"?In=window.location.protocol:In="http:";var Dt=je.indexOf("//");Dt>0?ai=je:Dt===0?ai=In+je:ai="https://www.geogebra.org/apps/5.2.814.0/";for(var Kn in Lt)if(je.slice(Lt[Kn].length*-1)===Lt[Kn]||je.slice((Lt[Kn].length+1)*-1)===Lt[Kn]+"/"){nt(ai,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&ln&&!le.is3D&&!le.AV&&!le.SV&&!le.CV&&!le.EV2&&!le.CP&&!le.PC&&!le.DA&&!le.FI&&!le.PV&&!ut(de.showToolBar)&&!ut(de.showMenuBar)&&!ut(de.showAlgebraInput)&&!ut(de.enableRightClick)&&(!de.appName||de.appName=="classic")?ai+="webSimple/":ai+="web3d/",nt(ai,!1)},nt=function(Mt,dn){if(Mt.requirejs){mt=Mt;return}Mt.slice(-1)!=="/"&&(Mt+="/"),mt=Mt,dn===null&&(dn=Mt.indexOf("http")===-1),st=dn,te="web.nocache.js",ne=!1;var ln=mt.split("/");ln.length>1&&(!dn&&ln[ln.length-2]==="webSimple"?(te="webSimple.nocache.js",ne=!0):Lt.indexOf(ln[ln.length-2])>=0&&(te=ln[ln.length-2]+".nocache.js")),ln=Mt.split("/"),je=ln[ln.length-3],je.substr(0,4)==="test"?je=je.substr(4,1)+"."+je.substr(5,1):(je.substr(0,3)==="war"||je.substr(0,4)==="beta")&&(je="5.0");var jn=parseFloat(je);jn!==NaN&&jn<5&&Mt.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+jn+" is deprecated. Using version latest instead."),ct("5.0",dn))},un=function(Mt,dn){window.console&&window.console.log&&(!dn||typeof dn.showLogging=="undefined"||dn.showLogging&&dn.showLogging!=="false")&&console.log(Mt)};de.material_id!==void 0?rt(En):En();function En(){var Mt=be;Fe!==null?Mt=Fe:parseFloat(Mt)<5&&(Mt="5.0"),ct(Mt,!1),Ve!==null&&nt(Ve,st),Ye=!0}return Ge},GGBAppletUtils=function(){"use strict";function Ge(){return window.GGBT_wsf_edit!==void 0}function be(Ye,Fe){Fe!=1?(Ye.style.transformOrigin="0% 0% 0px",Ye.style.webkitTransformOrigin="0% 0% 0px",Ye.style.transform="scale("+Fe+","+Fe+")",Ye.style.webkitTransform="scale("+Fe+","+Fe+")",Ye.style.maxWidth="initial",Ye.querySelector(".ggb_preview")!==null&&(Ye.querySelector(".ggb_preview").style.maxWidth="initial"),Ye.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Ye.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Ye.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Ye.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Ye.style.transform="none",Ye.style.webkitTransform="none")}function de(Ye,Fe,Ve,Xe,qe,Je){var mt=null;if(Je!=null&&Je!="")for(var st=Ye.parentNode;st!=null;)if((" "+st.className+" ").indexOf(" "+Je+" ")>-1){mt=st;break}else st=st.parentNode;var Ct=0,je=0,te=0,ne=0,he=0,se=0,ge=0;if(mt)Ct=mt.offsetWidth,je=Math.max(Xe?mt.offsetWidth:0,mt.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(Ct=Math.min(window.innerWidth,document.documentElement.clientWidth),je=Math.min(window.innerHeight,document.documentElement.clientHeight),te=Ct):(Ct=window.innerWidth,je=window.innerHeight,te=window.innerWidth),Ye){var Se=Ye.getBoundingClientRect();Se.left>0&&Se.left<=Ct&&(qe===void 0||!qe)&&(document.dir==="rtl"?(he=Ct-Se.width-Se.left,se=te<=480?10:30):(se=Se.left,he=te<=480?10:30),ne=se+he)}if(Ye&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var Te=Ye.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ne=40,ge=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ne=0,ge=40)}}return Ye&&((Ve===void 0||!Ve)&&Fe>0&&Fe+ne1&&(Je=!0)),Fe&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(Je=!0),!(Ye.hasOwnProperty("disableAutoScale")&&Ye.disableAutoScale))qe=le(Ye,Fe,Je,Ve,Ye.scaleContainerClass);else return Xe;return Je&&(!Ye.hasOwnProperty("scale")||Xe===1)?qe:Math.min(Xe,qe)}function De(Ye){var Fe=Math.min(window.innerWidth,document.documentElement.clientWidth),Ve=Math.min(window.innerHeight,document.documentElement.clientHeight),Xe=Ye.getBoundingClientRect(),qe=(Fe-Xe.width)/2,Je=(Ve-Xe.height)/2;Je<0&&(Je=0),Ye.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(qe<40?Ye.style.left="40px":Ye.style.left=qe+"px",Ye.style.top=Je+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(Je<40?Ye.style.top="40px":Ye.style.top=Je+"px",Ye.style.left=qe+"px")}function Ie(Ye,Fe){var Ve=Ye.querySelector(".appletParameters");if(Ve){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Fe.id!==Ve.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Ye)}if(Ve.parentElement&&/fullscreen/.test(Ve.parentElement.className))return;var Xe=Le(Fe,Ye);Ge()&&Ve.setAttribute("data-param-scale",Xe);for(var qe=null,Je=0;Je=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(Ge){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(Ge){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(Ge){var be=c[Ge];return be==null?null:be},r=d,webModule.__errFn=e}function B(){function Ge(Ye){var Fe=Ye.lastIndexOf(rb);Fe==-1&&(Fe=Ye.length);var Ve=Ye.indexOf(sb);Ve==-1&&(Ve=Ye.length);var Xe=Ye.lastIndexOf(tb,Math.min(Ve,Fe));return Xe>=O?Ye.substring(O,Xe+P):W}function be(Ye){if(!Ye.match(/^\w+:\/\//)){var Fe=o.createElement(ub);Fe.src=Ye+vb,Ye=Ge(Fe.src)}return Ye}function de(){var Ye=__gwt_getMetaProperty(wb);return Ye!=null?Ye:W}function le(){for(var Ye=o.getElementsByTagName(_),Fe=O;FeO?Ye[Ye.length-P].href:W}function De(){var Ye=o.location;return Ye.href==Ye.protocol+zb+Ye.host+Ye.pathname+Ye.search+Ye.hash}var Ie=de();return Ie==W&&(Ie=le()),Ie==W&&(Ie=Le()),Ie==W&&De()&&(Ie=Ge(o.location.href)),Ie=be(Ie),Ie}function C(Ge){return Ge.match(/^\//)||Ge.match(/^[a-zA-Z]+:\/\//)?Ge:webModule.__moduleBase+Ge}function D(){var Ge=[],be=O,de=[],le=[];function Le(Ye){var Fe=le[Ye](),Ve=de[Ye];if(Fe in Ve)return Fe;var Xe=[];for(var qe in Ve)Xe[Ve[qe]]=qe;throw r&&r(Ye,Xe,Fe),null}if(__gwt_isKnownPropertyValue=function(Ye,Fe){return Fe in de[Ye]},webModule.__getPropMap=function(){var Ye={};for(var Fe in de)de.hasOwnProperty(Fe)&&(Ye[Fe]=Le(Fe));return Ye},webModule.__computePropValue=Le,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var De;try{De=Cb;var Ie=De.indexOf(Db);Ie!=-1&&(be=parseInt(De.substring(Ie+P),$),De=De.substring(O,Ie))}catch(Ye){}return webModule.__softPermutationId=be,C(De+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase="/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})()},49341:function(Ge,be){(function(de,le){le(be)})(this,function(de){"use strict";var le=function(){return(le=Object.assign||function(Me){for(var Ae,at=1,It=arguments.length;at0&&Nt[Nt.length-1])&&(bn[0]===6||bn[0]===2)){Pt=0;continue}if(bn[0]===3&&(!Nt||bn[1]>Nt[0]&&bn[1]=0&&Me.HANDLE_LIST.splice(at,1),window.removeEventListener("message",Ae,!1)},Me.empty=function(){for(;Me.HANDLE_LIST.length;)window.removeEventListener("message",Me.HANDLE_LIST.shift(),!1)},Me.parse=function(Ae){try{return typeof Ae=="object"?Ae:Ae&&JSON.parse(Ae)}catch(at){return console.log("Message.parse Error:",at),Ae}},Me.HANDLE_LIST=[],Me}();function Ye(Me){return{}.toString.call(Me)==="[object Function]"}var Fe,Ve,Xe,qe,Je={origin:""};function mt(Me,Ae){Je[Me]=Ae}function st(Me){return Je[Me]}function Ct(Me){var Ae=st("origin");return!!function(at,It){return at!==It&&(at.replace(/www\./i,"").toLowerCase()!==It.replace(/www\./i,"").toLowerCase()||(at.match("www.")?void 0:(mt("origin",It),!1)))}(Ae,Me.origin)&&(console.warn("postMessage \u57DF\u540D\u68C0\u67E5\u4E0D\u901A\u8FC7",{safeOrigin:Ae,eventOrigin:Me.origin}),!0)}(function(Me){Me.unknown="unknown",Me.spreadsheet="s",Me.writer="w",Me.presentation="p",Me.pdf="f"})(Fe||(Fe={})),function(Me){Me.wps="w",Me.et="s",Me.presentation="p",Me.pdf="f"}(Ve||(Ve={})),function(Me){Me.nomal="nomal",Me.simple="simple"}(Xe||(Xe={})),function(Me){Me[Me.requestFullscreen=1]="requestFullscreen",Me[Me.exitFullscreen=0]="exitFullscreen"}(qe||(qe={}));var je,te,ne,he=(je=0,function(){return je+=1}),se=function(Me,Ae,at){at===void 0&&(at=!0);var It=Ae;if(!te){var Nt=function an(sn){var on=sn.clientHeight,bn=sn.clientWidth;on!==0||bn!==0||ne?on===0&&bn===0||!ne||(ne.disconnect(),ne=null):window.ResizeObserver&&(ne=new ResizeObserver(function(cn){an(sn)})).observe(sn),te.style.cssText+="height: "+on+"px; width: "+bn+"px"}.bind(null,It);(te=document.createElement("iframe")).classList.add("web-office-iframe");var Vt={id:"office-iframe",src:Me,scrolling:"no",frameborder:"0",allowfullscreen:"allowfullscreen",webkitallowfullscreen:"true",mozallowfullscreen:"true",allow:"clipboard-read; clipboard-write"};for(var Pt in It?(Vt.style="width: "+It.clientWidth+"px; height: "+It.clientHeight+"px;",at&&window.addEventListener("resize",Nt)):((It=document.createElement("div")).classList.add("web-office-default-container"),function(an){var sn=document.createElement("style");document.head.appendChild(sn);var on=sn.sheet;on.insertRule(an,on.cssRules.length)}(".web-office-default-container {position: absolute; padding: 0; margin: 0; width: 100%; height: 100%; left: 0; top: 0;}"),document.body.appendChild(It),Vt.style="position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%;"),Vt)te.setAttribute(Pt,Vt[Pt]);It.appendChild(te),te.destroy=function(){te.parentNode.removeChild(te),te=null,window.removeEventListener("resize",Nt),ne&&(ne.disconnect(),ne=null)}}return te},ge=function(Me){se().contentWindow&&se().contentWindow.postMessage(JSON.stringify(Me),st("origin"))};function Se(Me,Ae,at){return new Promise(function(It){var Nt=he(),Vt=function(Pt){if(!Ct(Pt)){var an=Ie.parse(Pt.data);an.eventName===at&&an.msgId===Nt&&(It(an.data),Ie.remove(Vt))}};Ie.add(Vt),ge({data:Me,msgId:Nt,eventName:Ae})})}var Te=function(Me){return Se(Me,"wps.jssdk.api","wps.api.reply")},Oe=function(Me){return Se(Me,"api.basic","api.basic.reply")},Be={idMap:{}};function Qe(Me){return Le(this,void 0,void 0,function(){var Ae,at,It,Nt,Vt,Pt,an,sn,on,bn;return De(this,function(cn){switch(cn.label){case 0:return Ct(Me)?[2]:(Ae=Ie.parse(Me.data),at=Ae.eventName,It=Ae.callbackId,Nt=Ae.data,It&&(Vt=Be.idMap[It])?(Pt=Vt.split(":"),an=Pt[0],sn=Pt[1],at==="api.callback"&&Be[an]&&Be[an][sn]?[4,(bn=Be[an][sn]).callback.apply(bn,Nt.args)]:[3,2]):[3,2]);case 1:on=cn.sent(),ge({result:on,callbackId:It,eventName:"api.callback.reply"}),cn.label=2;case 2:return[2]}})})}var rt=function(Me){return Le(void 0,void 0,void 0,function(){function Ae(){return Object.keys(Be.idMap).find(function(cn){return Be.idMap[cn]===It+":"+at})}var at,It,Nt,Vt,Pt,an,sn,on,bn;return De(this,function(cn){switch(cn.label){case 0:return at=Me.prop,It=Me.parentObjId,[4,gt([Nt=Me.value])];case 1:return Vt=cn.sent(),Pt=Vt[0],an=Vt[1],Me.value=Pt[0],sn=Object.keys(an)[0],on=Be[It],Nt===null&&on&&on[at]&&((bn=Ae())&&delete Be.idMap[bn],delete on[at],Object.keys(on).length||delete Be[It],Object.keys(Be.idMap).length||Ie.remove(Qe)),sn&&(Object.keys(Be.idMap).length||Ie.add(Qe),Be[It]||(Be[It]={}),Be[It][at]={callbackId:sn,callback:an[sn]},(bn=Ae())&&delete Be.idMap[bn],Be.idMap[sn]=It+":"+at),[2]}})})},ot=function(Me,Ae,at,It){return Le(void 0,void 0,void 0,function(){var Nt,Vt,Pt,an,sn,on,bn,cn;return De(this,function(zt){switch(zt.label){case 0:return Nt=he(),an=new Promise(function(xn,fn){Vt=xn,Pt=fn}),sn={},Ae.args?[4,gt(Ae.args)]:[3,2];case 1:on=zt.sent(),bn=on[0],cn=on[1],Ae.args=bn,sn=cn,zt.label=2;case 2:return Me!=="api.setter"?[3,4]:[4,rt(Ae)];case 3:zt.sent(),zt.label=4;case 4:return function(xn){var fn=xn[0],An=xn[1];typeof(fn=le({},fn)).data=="function"&&(fn.data=fn.data()),An(),ge(fn)}([{eventName:Me,data:Ae,msgId:Nt},function(){var xn=this,fn=function(An){return Le(xn,void 0,void 0,function(){var nn,hi,zn;return De(this,function(yt){switch(yt.label){case 0:return Ct(An)?[2]:(nn=Ie.parse(An.data)).eventName==="api.callback"&&nn.callbackId&&sn[nn.callbackId]?[4,sn[nn.callbackId].apply(sn,nn.data.args)]:[3,2];case 1:hi=yt.sent(),ge({result:hi,eventName:"api.callback.reply",callbackId:nn.callbackId}),yt.label=2;case 2:return nn.eventName===Me+".reply"&&nn.msgId===Nt&&(nn.error?((zn=new Error("")).stack=nn.error+` `+at,It&&It(),Pt(zn)):Vt(nn.result),Ie.remove(fn)),[2]}})})};return Ie.add(fn),an}]),[2,an]}})})};function gt(Me){return Le(this,void 0,void 0,function(){var Ae,at,It,Nt,Vt,Pt,an,sn,on,bn,cn;return De(this,function(zt){switch(zt.label){case 0:Ae={},at=[],It=Me.slice(0),zt.label=1;case 1:return It.length?(Nt=void 0,[4,It.shift()]):[3,13];case 2:return(Vt=zt.sent())&&Vt.done?[4,Vt.done()]:[3,4];case 3:zt.sent(),zt.label=4;case 4:if(!function(xn){if(!xn)return!1;for(var fn=xn;Object.getPrototypeOf(fn)!==null;)fn=Object.getPrototypeOf(fn);return Object.getPrototypeOf(xn)===fn}(Nt))return[3,11];for(an in Nt={},Pt=[],Vt)Pt.push(an);sn=0,zt.label=5;case 5:return sn=0?"&":"?")+zn.join("&")),on&&(on.isParentFullscreen||on.isBrowserViewFullscreen)&&(document.addEventListener("fullscreenchange",yn),document.addEventListener("webkitfullscreenchange",yn),document.addEventListener("mozfullscreenchange",yn)),at.wordOptions&&(at.wpsOptions=at.wordOptions),at.excelOptions&&(at.etOptions=at.excelOptions),at.pptOptions&&(at.wppOptions=at.pptOptions),typeof Pt.print=="object"){var yt="wpsconfig_print";typeof Pt.print.subscribe=="function"&&(Pt[yt]=Pt.print.subscribe,at.print={callback:yt},Pt.print.custom!==void 0&&(at.print.custom=Pt.print.custom)),delete Pt.print}return typeof Pt.exportPdf=="function"&&(Pt[yt="wpsconfig_export_pdf"]=Pt.exportPdf,at.exportPdf={callback:yt},delete Pt.exportPdf),at.commandBars&&Tt(at.commandBars,!1),le(le({},at),{subscriptions:Pt})},ut=function(Me){Me===void 0&&(Me="");var Ae="";if(!Ae&&Me){var at=Me.toLowerCase();at.indexOf("/office/s/")!==-1&&(Ae=Fe.spreadsheet),at.indexOf("/office/w/")!==-1&&(Ae=Fe.writer),at.indexOf("/office/p/")!==-1&&(Ae=Fe.presentation),at.indexOf("/office/f/")!==-1&&(Ae=Fe.pdf)}if(!Ae){var It=Me.match(/[\?&]type=([a-z]+)/)||[];Ae=Ve[It[1]]||""}return Ae};function Tt(Me,Ae){Ae===void 0&&(Ae=!0);var at=Me.map(function(It){var Nt=It.attributes;if(!Array.isArray(Nt)){var Vt=[];for(var Pt in Nt)if(Nt.hasOwnProperty(Pt)){var an={name:Pt,value:Nt[Pt]};Vt.push(an)}It.attributes=Vt}return It});return Ae&&ge({data:at,eventName:"setCommandBars"}),at}var kt=window.navigator.userAgent.toLowerCase(),$t=/Android|webOS|iPhone|iPod|BlackBerry|iPad/i.test(kt),Cn=function(){try{return window._parent.location.search.indexOf("from=wxminiprogram")!==-1}catch(Me){return!1}}();function yn(){var Me={status:qe.requestFullscreen},Ae=document,at=Ae.fullscreenElement||Ae.webkitFullscreenElement||Ae.mozFullScreenElement;Me.status=at?qe.requestFullscreen:qe.exitFullscreen,ge({data:Me,eventName:"fullscreenchange"})}var gn=function(){Be.idMap={}};function mn(){console.group("JSSDK \u4E8B\u4EF6\u673A\u5236\u8C03\u6574\u8BF4\u660E"),console.warn("jssdk.on\u3001jssdk.off \u548C jssdk.Application.Sub \u5C06\u5728\u540E\u7EED\u7248\u672C\u4E2D\u88AB\u5F03\u7528\uFF0C\u5EFA\u8BAE\u4F7F\u7528\u6539\u8FDB\u540E\u7684 ApiEvent"),console.warn("\u5177\u4F53\u8BF7\u53C2\u8003\uFF1Ahttps://wwo.wps.cn/docs/front-end/basic-usage/events/intro/"),console.groupEnd()}var Lt=0,ct=new Set;function nt(Me){return Lt+=1,!Me&&function(Ae){ct.forEach(function(at){return at(Ae)})}(Lt),Lt}function un(){var Me=new Error("");return(Me.stack||Me.message||"").split(` `).slice(2).join(` `)}function En(Me,Ae){var at,It=this,Nt=Ae.Events,Vt=Ae.Enum,Pt=Ae.Props,an=Pt[0],sn=Pt[1],on={objId:Lt};switch(function xn(fn,An,nn){for(var hi=An.slice(0),zn=function(){var yt=hi.shift();!yt.alias&&~Mt.indexOf(yt.prop)&&hi.push(le(le({},yt),{alias:yt.prop+"Async"})),Object.defineProperty(fn,yt.alias||yt.prop,{get:function(){var Fn=this,Pn=yt.cache===1,Ht=Pn&&this["__"+yt.prop+"CacheValue"];if(!Ht){var di=un(),zi=nt(Pn),Pi=function(){for(var Dn,qi=[],Ui=0;Ui=0?(Ae.then=null,Ae.catch=null,an.then(function(){sn(Ae)}).catch(function(bn){return on(bn)})):an.then(sn,on)},Ae.catch=function(sn){return an.catch(sn)},Ae.Destroy=function(){return ot("api.free",{objId:Ae.objId},"")}}var jn={},In=null,ai={fileOpen:"fileOpen",tabSwitch:"tabSwitch",fileSaved:"fileSaved",fileStatus:"fileStatus",fullscreenChange:"fullscreenChange",error:"error",stage:"stage"},Dt={getToken:"api.getToken",onToast:"event.toast",onHyperLinkOpen:"event.hyperLinkOpen",getClipboardData:"api.getClipboardData"};function Kn(Me,Ae,at,It,Nt,Vt,Pt){var an=this;at===void 0&&(at={}),Ie.add(function(sn){return Le(an,void 0,void 0,function(){var on,bn,cn,zt,xn,fn,An,nn,hi,zn,yt,Fn,Pn,Ht,di,zi,Pi,Dn,qi;return De(this,function(Ui){switch(Ui.label){case 0:return Ct(sn)?[2]:(on=Ie.parse(sn.data),bn=on.eventName,cn=bn===void 0?"":bn,zt=on.data,xn=zt===void 0?null:zt,fn=on.url,An=fn===void 0?null:fn,["wps.jssdk.api"].indexOf(cn)!==-1?[2]:cn!=="ready"?[3,1]:(Nt.apiReadySended&&function(ci){var xi=[];Object.keys(jn).forEach(function(Ri){jn[Ri].forEach(function(ke){var li=Ri;ci.off(li,ke),xi.push({handle:ke,eventName:li})}),delete jn[Ri]}),xi.forEach(function(Ri){var ke=Ri.eventName,li=Ri.handle;In==null||In.ApiEvent.AddApiEventListener(ke,li)})}(Ae),ge({eventName:"setConfig",data:le(le({},at),{version:Me.version})}),Me.tokenData&&Me.setToken(le(le({},Me.tokenData),{hasRefreshTokenConfig:!!at.refreshToken})),Me.iframeReady=!0,[3,15]));case 1:return cn!=="error"?[3,2]:(Ae.emit(ai.error,xn),[3,15]);case 2:return cn!=="open.result"?[3,3]:(((Pi=xn==null?void 0:xn.fileInfo)===null||Pi===void 0?void 0:Pi.officeVersion)!==void 0&&(Me.mainVersion=xn.fileInfo.officeVersion,console.log("aliyun Main Version: V"+Me.mainVersion)),Ae.emit(ai.fileOpen,xn),[3,15]);case 3:return cn!=="api.scroll"?[3,4]:(window.scrollTo(xn.x,xn.y),[3,15]);case 4:if(cn!==Dt.getToken)return[3,9];nn={token:!1},Ui.label=5;case 5:return Ui.trys.push([5,7,,8]),[4,Nt.refreshToken()];case 6:return nn=Ui.sent(),[3,8];case 7:return hi=Ui.sent(),console.error("refreshToken: "+(hi||"fail to get")),[3,8];case 8:return ge({eventName:Dt.getToken+".reply",data:nn}),[3,15];case 9:if(cn!==Dt.getClipboardData)return[3,14];zn={text:"",html:""},Ui.label=10;case 10:return Ui.trys.push([10,12,,13]),[4,Nt.getClipboardData()];case 11:return zn=Ui.sent(),[3,13];case 12:return yt=Ui.sent(),console.error("getClipboardData: "+(yt||"fail to get")),[3,13];case 13:return ge({eventName:Dt.getClipboardData+".reply",data:zn}),[3,15];case 14:cn===Dt.onToast?Nt.onToast(xn):cn===Dt.onHyperLinkOpen?Nt.onHyperLinkOpen(xn):cn==="stage"?Ae.emit(ai.stage,xn):cn==="event.callback"?(Fn=xn.eventName,Pn=xn.data,Ht=Fn,Fn==="fullScreenChange"&&(Ht=ai.fullscreenChange),Fn==="file.saved"&&(Ht=ai.fileStatus),(!((Dn=at.commonOptions)===null||Dn===void 0)&&Dn.isBrowserViewFullscreen||!((qi=at.commonOptions)===null||qi===void 0)&&qi.isParentFullscreen)&&Ht==="fullscreenchange"&&(di=Pn.status,zi=Pn.isDispatchEvent,at.commonOptions.isBrowserViewFullscreen?function(ci,xi,Ri,ke){ci===0?xi.style="position: static; width: "+Ri.width+"; height: "+Ri.height:ci===1&&(xi.style="position: absolute; width: 100%; height: 100%"),ke&&function(li){["fullscreen","fullscreenElement"].forEach(function(Ii){Object.defineProperty(document,Ii,{get:function(){return!!li.status},configurable:!0})});var Di=new CustomEvent("fullscreenchange");document.dispatchEvent(Di)}({status:ci})}(di,Vt,Pt,zi):at.commonOptions.isParentFullscreen&&function(ci,xi,Ri){var ke=document.querySelector(Ri),li=ke&&ke.nodeType===1?ke:xi;if(ci===0){var Di=document,Ii=Di.exitFullscreen||Di.mozCancelFullScreen||Di.msExitFullscreen||Di.webkitCancelFullScreen||Di.webkitExitFullscreen;Ii.call(document)}else if(ci===1){var ir=li.requestFullscreen||li.mozRequestFullScreen||li.msRequestFullscreen||li.webkitRequestFullscreen;ir.call(li)}}(di,Vt,at.commonOptions.isParentFullscreen)),Ae.emit(Ht,Pn)):cn==="api.ready"&&En(Me,xn),Ui.label=15;case 15:return typeof It[cn]=="function"&&It[cn](Me,An||xn),[2]}})})})}function gi(Me){return new Promise(function(Ae){var at=function(It){Ct(It)||Ie.parse(It.data).eventName===Me&&(Ae(),Ie.remove(at))};Ie.add(at)})}function et(Me){var Ae,at=this;Me===void 0&&(Me={}),In&&In.destroy();try{var It=bt(Me),Nt=It.subscriptions,Vt=Nt===void 0?{}:Nt,Pt=It.mount,an=Pt===void 0?null:Pt,sn=It.url,on=It.refreshToken,bn=It.onToast,cn=It.onHyperLinkOpen,zt=It.getClipboardData;mt("origin",(sn.match(/https*:\/\/[^\/]+/g)||[])[0]);var xn=se(sn,an),fn=gi("ready"),An=gi("open.result"),nn=gi("api.ready"),hi=an?{width:an.clientWidth+"px",height:an.clientHeight+"px"}:{width:"100vw",height:"100vh"};delete It.mount,sn&&delete It.url,delete It.subscriptions;var zn=(Ae=Ae||Object.create(null),{on:function(Pn,Ht){(Ae[Pn]||(Ae[Pn]=[])).push(Ht)},off:function(Pn,Ht){Ae[Pn]&&Ae[Pn].splice(Ae[Pn].indexOf(Ht)>>>0,1)},emit:function(Pn,Ht){(Ae[Pn]||[]).slice().map(function(di){di(Ht)}),(Ae["*"]||[]).slice().map(function(di){di(Pn,Ht)})}}),yt={apiReadySended:!1},Fn=function(Pn,Ht,di){return Le(at,void 0,void 0,function(){return De(this,function(zi){switch(zi.label){case 0:return function(Pi,Dn,qi){if(jn[Pi]){var Ui=!!jn[Pi].find(function(ci){return ci===Dn});return Ui&&qi==="off"?(zn.off(Pi,Dn),jn[Pi]=jn[Pi].filter(function(ci){return ci!==Dn}),!!jn[Pi].length||(jn[Pi]=void 0,!1)):(Ui||qi!=="on"||(jn[Pi].push(Dn),zn.on(Pi,Dn)),!0)}return qi==="on"?(jn[Pi]=[],jn[Pi].push(Dn),!1):qi==="off"||void 0}(Pn,Ht,di)?[3,2]:[4,fn];case 1:zi.sent(),function(Pi,Dn){var qi=Pi.eventName,Ui=Pi.type,ci=Pi.handle;Dn==="on"?zn.on(qi,ci):zn.off(qi,ci),Ui==="base.event"&&ge({eventName:"basic.event",data:{eventName:qi,action:Dn}}),mn()}(function(Pi,Dn){var qi=Pi,Ui="base.event";switch(qi){case ai.fileSaved:console.warn("fileSaved\u4E8B\u4EF6\u76D1\u542C\u5373\u5C06\u5F03\u7528\uFF0C \u63A8\u8350\u4F7F\u7528fileStatus\u8FDB\u884C\u6587\u4EF6\u72B6\u6001\u7684\u76D1\u542C"),qi="fileStatus";break;case ai.fullscreenChange:qi="fullscreenchange";break;case"error":case"fileOpen":Ui="callback.event"}return{eventName:qi,type:Ui,handle:Dn}}(Pn,Ht),di),zi.label=2;case 2:return[2]}})})};return In={url:sn,iframe:xn,version:"1.1.19",iframeReady:!1,tokenData:null,commandBars:null,tabs:{getTabs:function(){return Le(this,void 0,void 0,function(){return De(this,function(Pn){switch(Pn.label){case 0:return[4,fn];case 1:return Pn.sent(),[2,Oe({api:"tab.getTabs"})]}})})},switchTab:function(Pn){return Le(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,fn];case 1:return Ht.sent(),[2,Oe({api:"tab.switchTab",args:{tabKey:Pn}})]}})})}},setCooperUserColor:function(Pn){return Le(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,fn];case 1:return Ht.sent(),[2,Oe({api:"setCooperUserColor",args:Pn})]}})})},setToken:function(Pn){return Le(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,fn];case 1:return Ht.sent(),In.tokenData=Pn,ge({eventName:"setToken",data:Pn}),[2]}})})},ready:function(){return Le(this,void 0,void 0,function(){return De(this,function(Pn){switch(Pn.label){case 0:return yt.apiReadySended?[3,2]:[4,An];case 1:Pn.sent(),yt.apiReadySended=!0,ge({eventName:"api.ready"}),Pn.label=2;case 2:return[4,nn];case 3:return Pn.sent(),[2,new Promise(function(Ht){return setTimeout(function(){return Ht(In==null?void 0:In.Application)},0)})]}})})},destroy:function(){jn={},xn.destroy(),Ie.empty(),In=null,ct=new Set,Lt=0,document.removeEventListener("fullscreenchange",yn),gn()},save:function(){return Le(this,void 0,void 0,function(){return De(this,function(Pn){switch(Pn.label){case 0:return[4,fn];case 1:return Pn.sent(),[2,Te({api:"save"})]}})})},setCommandBars:function(Pn){return Le(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,fn];case 1:return Ht.sent(),Tt(Pn),[2]}})})},updateConfig:function(Pn){return Pn===void 0&&(Pn={}),Le(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,fn];case 1:return Ht.sent(),Pn.commandBars?(console.warn("Deprecated: `updateConfig()` \u65B9\u6CD5\u5373\u5C06\u5E9F\u5F03\uFF0C\u8BF7\u4F7F\u7528`setCommandBars()`\u4EE3\u66FF`updateConfig()`\u66F4\u65B0`commandBars`\u914D\u7F6E\u3002"),[4,Tt(Pn.commandBars)]):[3,3];case 2:Ht.sent(),Ht.label=3;case 3:return[2]}})})},executeCommandBar:function(Pn){return Le(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,fn];case 1:return Ht.sent(),Tt([{cmbId:Pn,attributes:[{name:"click",value:!0}]}]),[2]}})})},on:function(Pn,Ht){return Le(this,void 0,void 0,function(){return De(this,function(di){return[2,this.ApiEvent.AddApiEventListener(Pn,Ht)]})})},off:function(Pn,Ht){return Le(this,void 0,void 0,function(){return De(this,function(di){return[2,this.ApiEvent.RemoveApiEventListener(Pn,Ht)]})})},ApiEvent:{AddApiEventListener:function(Pn,Ht){return Le(this,void 0,void 0,function(){return De(this,function(di){switch(di.label){case 0:return[4,Fn(Pn,Ht,"on")];case 1:return[2,di.sent()]}})})},RemoveApiEventListener:function(Pn,Ht){return Le(this,void 0,void 0,function(){return De(this,function(di){switch(di.label){case 0:return[4,Fn(Pn,Ht,"off")];case 1:return[2,di.sent()]}})})}}},function(Pn,Ht,di,zi,Pi,Dn){Ht&&Ye(Ht)&&(Pi.refreshToken=Ht,Pn.refreshToken={eventName:Dt.getToken}),Dn&&Ye(Dn)&&(Pi.getClipboardData=Dn,Pn.getClipboardData={eventName:Dt.getClipboardData}),di&&Ye(di)&&(Pi.onToast=di,Pn.onToast={eventName:Dt.onToast}),zi&&Ye(zi)&&(Pi.onHyperLinkOpen=zi,Pn.onHyperLinkOpen={eventName:Dt.onHyperLinkOpen})}(It,on,bn,cn,yt,zt),Kn(In,zn,It,Vt,yt,xn,hi),In}catch(Pn){console.error(Pn)}}console.log("aliyun JS-SDK V1.1.19");var _e=Object.freeze({__proto__:null,listener:Kn,config:et});window.WPS=_e;var xe=et,Ce={config:xe};de.config=xe,de.default=Ce,Object.defineProperty(de,"__esModule",{value:!0})})},77665:function(Ge,be,de){"use strict";de.d(be,{Ax:function(){return Ie},Ds:function(){return Ye},KI:function(){return Ve},SI:function(){return De},f1:function(){return Le}});var le=de(13952);function Le(Xe){let qe=!0;if(Xe.length>0){for(let Je=0;Jene in te?De(te,ne,{enumerable:!0,configurable:!0,writable:!0,value:he}):te[ne]=he,Je=(te,ne)=>{for(var he in ne||(ne={}))Ve.call(ne,he)&&qe(te,he,ne[he]);if(Fe)for(var he of Fe(ne))Xe.call(ne,he)&&qe(te,he,ne[he]);return te},mt=(te,ne)=>Ie(te,Ye(ne)),st=(te,ne)=>{var he={};for(var se in te)Ve.call(te,se)&&ne.indexOf(se)<0&&(he[se]=te[se]);if(te!=null&&Fe)for(var se of Fe(te))ne.indexOf(se)<0&&Xe.call(te,se)&&(he[se]=te[se]);return he},Ct=(te,ne,he)=>new Promise((se,ge)=>{var Se=Be=>{try{Oe(he.next(Be))}catch(Qe){ge(Qe)}},Te=Be=>{try{Oe(he.throw(Be))}catch(Qe){ge(Qe)}},Oe=Be=>Be.done?se(Be.value):Promise.resolve(Be.value).then(Se,Te);Oe((he=he.apply(te,ne)).next())});const je=te=>{var ne=te,{children:he}=ne,se=st(ne,["children"]);const[ge,Se]=(0,Le.useState)(!1);return Le.createElement(le.ZP,mt(Je({},se),{loading:ge,onClick:Te=>Ct(void 0,null,function*(){try{Se(!0),yield se.onClick(Te),Se(!1)}catch(Oe){console.error(Oe),Se(!1)}})}),he)}},48102:function(Ge,be,de){"use strict";var le=de(86204),Le=de.n(le),De=Object.defineProperty,Ie=(Xe,qe,Je)=>qe in Xe?De(Xe,qe,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Xe[qe]=Je,Ye=(Xe,qe,Je)=>Ie(Xe,typeof qe!="symbol"?qe+"":qe,Je),Fe=(Xe,qe,Je)=>new Promise((mt,st)=>{var Ct=ne=>{try{te(Je.next(ne))}catch(he){st(he)}},je=ne=>{try{te(Je.throw(ne))}catch(he){st(he)}},te=ne=>ne.done?mt(ne.value):Promise.resolve(ne.value).then(Ct,je);te((Je=Je.apply(Xe,qe)).next())});class Ve extends le.EventEmitter{constructor(qe,Je){super(),Ye(this,"url"),Ye(this,"body"),Ye(this,"fullContent",""),Ye(this,"controller",null),Ye(this,"buffer",""),this.url=qe,this.body=Je}startStream(){return Fe(this,null,function*(){this.controller=new AbortController;const{signal:qe}=this.controller;try{const Je=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:qe});if(!Je.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${Je.status}`);const mt=Je.headers.get("content-type");if(!mt)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(mt.includes("application/json")){const je=yield Je.json();this.emit("error",je);return}if(!mt.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const st=Je.body.getReader(),Ct=new TextDecoder("utf-8");for(;;){const{done:je,value:te}=yield st.read();if(je)break;const ne=Ct.decode(te,{stream:!0});this.buffer+=ne;const he=this.buffer.split(` `);this.buffer=he.pop()||"";for(const se of he)if(se.startsWith("data:")){const ge=se.slice(5).trim();if(ge==="[DONE]")break;try{const Se=JSON.parse(ge);Se.data&&this.handleData(Se.data)}catch(Se){this.buffer=se+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",Se)}}}this.emit("done",this.fullContent)}catch(Je){Je.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",Je.message)}})}handleData(qe){qe.content&&(this.fullContent+=qe.content,this.emit("data",{chunk:qe,full:this.fullContent}))}cancelRequest(){var qe;(qe=this.controller)==null||qe.abort()}}be.Z=Ve},32456:function(Ge,be,de){"use strict";de.d(be,{Z:function(){return Ct}});var le=de(59301),Le=de(30641),De=de(77019),Ie=de(5269),Ye={smartWrp:"smartWrp___NjRcB"},Fe=de(58531),Ve=de(38776),Xe=de(27051),qe=de(59301),Je=(je,te,ne)=>new Promise((he,se)=>{var ge=Oe=>{try{Te(ne.next(Oe))}catch(Be){se(Be)}},Se=Oe=>{try{Te(ne.throw(Oe))}catch(Be){se(Be)}},Te=Oe=>Oe.done?he(Oe.value):Promise.resolve(Oe.value).then(ge,Se);Te((ne=ne.apply(je,te)).next())});const mt=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

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