!(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,Mo=(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,Ie)=>{var De=Re=>{try{Ye(de.next(Re))}catch(Ve){Ie(Ve)}},Le=Re=>{try{Ye(de.throw(Re))}catch(Ve){Ie(Ve)}},Ye=Re=>Re.done?le(Re.value):Promise.resolve(Re.value).then(De,Le);Ye((de=de.apply(Ge,be)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[3897],{8336:function(){"use strict"},12469:function(){"use strict"},99587: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"}},63720:function(){"use strict";function Ge(ze,te,ne,he){ne===void 0&&(ne=0),he===void 0&&(he=1/0),this._name=ze,this._defaultValue=te,this._minimum=ne,this._maximum=he}Object.defineProperty(Ge.prototype,"name",{get:function(){return this._name},set:function(ze){if(typeof ze!="string"||ze==="")throw new Error("Shape name must be a valid string.");this._name=ze}}),Object.defineProperty(Ge.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(ze){if(typeof ze!="number"||isNaN(ze))throw new Error("The default value must be a real number, not: "+ze);this._defaultValue=ze}}),Object.defineProperty(Ge.prototype,"minimum",{get:function(){return this._minimum},set:function(ze){if(typeof ze!="number"||isNaN(ze))throw new Error("Minimum must be a real number, not: "+ze);this._minimum=ze}}),Object.defineProperty(Ge.prototype,"maximum",{get:function(){return this._maximum},set:function(ze){if(typeof ze!="number"||isNaN(ze))throw new Error("Maximum must be a real number, not: "+ze);this._maximum=ze}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(ze,te){var ne=go.Shape._FigureParameters[ze];return ne?ne[te]:null},go.Shape.setFigureParameter=function(ze,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[ze];he||(he=[],go.Shape._FigureParameters[ze]=he),he[te]=ne};var be=[];function de(ze,te){var ne=be.pop();return ne===void 0?new go.Point(ze,te):(ne.x=ze,ne.y=te,ne)}function le(){var ze=be.pop();return ze===void 0?new go.Point:ze}function Ie(ze){be.push(ze)}function De(ze,te,ne,he,se,ge,Se,Ce,Oe){Oe||(Oe=new go.Point);var Be=ze-ne,Ke=se-Se,rt=NaN,st=NaN;if(Be===0)if(Ke===0)ze===ne&&(rt=ze,st=te);else{var ht=(ge-Ce)/Ke,bt=ge-ht*se;rt=ze,st=ht*rt+bt}else if(Ke===0){var ot=(te-he)/Be,At=te-ot*ze;rt=se,st=ot*rt+At}else{var ot=(te-he)/Be,ht=(ge-Ce)/Ke,At=te-ot*ze,bt=ge-ht*se;rt=(bt-At)/(ot-ht),st=ot*rt+At}return Oe.x=rt,Oe.y=st,Oe}function Le(ze,te,ne,he,se,ge,Se,Ce,Oe,Be,Ke,rt,st,ht){var bt=1-Oe,ot=Oe,At=ze*bt+ne*ot,It=te*bt+he*ot,tn=ne*bt+se*ot,An=he*bt+ge*ot,gn=se*bt+Se*ot,vn=ge*bt+Ce*ot,xn=At*bt+tn*ot,Nt=It*bt+An*ot,dt=tn*bt+gn*ot,nt=An*bt+vn*ot,pn=xn*bt+dt*ot,cn=Nt*bt+nt*ot;Be.x=At,Be.y=It,Ke.x=xn,Ke.y=Nt,rt.x=pn,rt.y=cn,st.x=dt,st.y=nt,ht.x=gn,ht.y=vn}var Ye=new go.Spot(.156,.156),Re=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(ze,te,ne){var he=ze?ze.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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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=Re,se.defaultStretch=go.GraphObject.Uniform,se}),go.Shape.defineFigureGenerator("Line1",function(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,te,ne){var he=ze?ze.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+Ce,te/2)),Se.add(new go.PathSegment(go.PathSegment.Arc,0,-360,se,se,Ce,Ce).close())),ge.spot1=Ye,ge.spot2=Re,ge.defaultStretch=go.GraphObject.Uniform,ge}),go.Shape.defineFigureGenerator("Cloud",function(ze,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(ze,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(ze,te,ne){var he=ze?ze.parameter1:NaN,se=ze?ze.parameter2:NaN;isNaN(he)&&(he=0),isNaN(se)&&(se=315);var ge=he%360;ge<0&&(ge+=360);var Se=se%360,Ce=Math.min(te,ne)/2;return new go.Geometry().add(new go.PathFigure(Ce,Ce).add(new go.PathSegment(go.PathSegment.Arc,ge,Se,Ce,Ce,Ce,Ce).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(ze,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(ze,te,ne){var he=ze?ze.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(ze,te,ne){var he=ze?ze.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(ze,te,ne){var he=ze?ze.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,Ce=Math.atan2(ne,te),Oe=he-Math.min(Math.cos(Ce)*he/2,ge),Be=he-Math.min(Math.sin(Ce)*he/2,Se),se=new go.Geometry,Ke=new go.PathFigure(Oe,0,!0);return se.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Line,ge,.2*ne)),Ke.add(new go.PathSegment(go.PathSegment.Line,te-Oe,0)),Ke.add(new go.PathSegment(go.PathSegment.Line,te,Be)),Ke.add(new go.PathSegment(go.PathSegment.Line,.8*te,Se)),Ke.add(new go.PathSegment(go.PathSegment.Line,te,ne-Be)),Ke.add(new go.PathSegment(go.PathSegment.Line,te-Oe,ne)),Ke.add(new go.PathSegment(go.PathSegment.Line,ge,.8*ne)),Ke.add(new go.PathSegment(go.PathSegment.Line,Oe,ne)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,ne-Be)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,Se)),Ke.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(ze,te,ne){var he=ze?ze.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(ze,te,ne){var he=ze?ze.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(ze,te,ne){var he=ze?ze.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(ze,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(ze,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(ze,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(ze,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(ze,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,Ce=0,Oe=ge*Ve;return se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5+ge+Ce)*ne,(.5-ge+Se)*te,(.5+Oe+Ce)*ne,(.5-Oe+Se)*te,(.5+ge+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ge+Se)*te,(.5+Ce)*ne,(.5+Oe+Se)*te,(.5+ge+Ce)*ne,(.5+ge+Se)*te,(.5+Oe+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5-ge+Ce)*ne,(1-.5+ge+Se)*te,(.5-Oe+Ce)*ne,(.5+Oe+Se)*te,(.5-ge+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.65*te,.36771243*ne,(.5-Oe+Se)*te,(.5-ge+Ce)*ne,(.5-ge+Se+.05)*te,(.5-Oe+Ce-.02)*ne)),ge=.2,Se=0,Ce=-.3,Oe=ge*Ve,se.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ge+Se)*te,(.5+Ce)*ne,(.5+Oe+Se)*te,(.5+ge+Ce)*ne,(.5+ge+Se)*te,(.5+Oe+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5-ge+Ce)*ne,(1-.5+ge+Se)*te,(.5-Oe+Ce)*ne,(.5+Oe+Se)*te,(.5-ge+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ge+Se)*te,(.5+Ce)*ne,(.5-Oe+Se)*te,(.5-ge+Ce)*ne,(.5-ge+Se)*te,(.5-Oe+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Oe+Se)*te,(.5+ge+Ce)*ne,(.5-ge+Se)*te,(.5+Oe+Ce)*ne,(.5-Oe+Se)*te,(.5+ge+Ce)*ne)),ge=.2,Se=-.3,Ce=0,Oe=ge*Ve,se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5-ge+Ce)*ne,(1-.5+ge+Se-.05)*te,(.5-Oe+Ce-.02)*ne,(.5+Oe+Se)*te,(.5-ge+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ge+Se)*te,(.5+Ce)*ne,(.5-Oe+Se)*te,(.5-ge+Ce)*ne,(.5-ge+Se)*te,(.5-Oe+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Se)*te,(.5+ge+Ce)*ne,(.5-ge+Se)*te,(.5+Oe+Ce)*ne,(.5-Oe+Se)*te,(.5+ge+Ce)*ne)),se.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,.6*ne,(.5+Oe+Se)*te,(.5+ge+Ce)*ne,(.5+ge+Se)*te,(.5+Oe+Ce)*ne).close()),he.setSpots(.06,.33,.93,.68),he}),go.Shape.defineFigureGenerator("YinYang",function(ze,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,Ce=.25;return se.add(new go.PathSegment(go.PathSegment.Move,(Se+ge)*te,Ce*ne)),se.add(new go.PathSegment(go.PathSegment.Arc,0,-360,te*Se,ne*Ce,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)),Ce=.75,se=new go.PathFigure((Se+ge)*te,Ce*ne,!0),he.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,0,360,te*Se,ne*Ce,ge*te,ge*te).close()),he.defaultStretch=go.GraphObject.Uniform,he}),go.Shape.defineFigureGenerator("Peace",function(ze,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(ze,te,ne){var he=new go.Geometry,se=Ve*.5,ge=.5,Se=.5,Ce=.5,Oe=new go.PathFigure(Se*te,(Ce-ge)*ne);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-ge)*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne)),ge=.4,se=Ve*.4;var Be=le(),Ke=le(),rt=le(),st=le();Le(Se,Ce-ge,Se+se,Ce-ge,Se+ge,Ce-se,Se+ge,Ce,.42,Be,Ke,rt,st,st);var ht=le(),bt=le(),ot=le();Le(Se,Ce-ge,Se+se,Ce-ge,Se+ge,Ce-se,Se+ge,Ce,.58,st,st,ot,ht,bt);var At=le(),It=le(),tn=le();Le(Se,Ce+ge,Se-se,Ce+ge,Se-ge,Ce+se,Se-ge,Ce,.42,At,It,tn,st,st);var An=le(),gn=le(),vn=le();return Le(Se,Ce+ge,Se-se,Ce+ge,Se-ge,Ce+se,Se-ge,Ce,.58,st,st,vn,An,gn),Oe.add(new go.PathSegment(go.PathSegment.Move,vn.x*te,vn.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,An.x*te,An.y*ne,gn.x*te,gn.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,rt.x*te,rt.y*ne,Be.x*te,Be.y*ne,Ke.x*te,Ke.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,vn.x*te,vn.y*ne).close()),Oe.add(new go.PathSegment(go.PathSegment.Move,tn.x*te,tn.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Line,ot.x*te,ot.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,ht.x*te,ht.y*ne,bt.x*te,bt.y*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,tn.x*te,tn.y*ne,At.x*te,At.y*ne,It.x*te,It.y*ne).close()),Ie(Be),Ie(Ke),Ie(rt),Ie(st),Ie(ht),Ie(bt),Ie(ot),Ie(At),Ie(It),Ie(tn),Ie(An),Ie(gn),Ie(vn),he.defaultStretch=go.GraphObject.Uniform,he}),go.Shape.defineFigureGenerator("Fragile",function(ze,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(ze,te,ne){var he=ze?ze.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(ze,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(ze,te,ne){var he=new go.Geometry,se=Ve*.4,ge=.4,Se=.5,Ce=.5,Oe=le(),Be=le(),Ke=le(),rt=le(),st=new go.PathFigure((Se-ge)*te,Ce*ne,!1);he.add(st),st.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne)),Le(Se,Ce-ge,Se+se,Ce-ge,Se+ge,Ce-se,Se+ge,Ce,.44,Ke,rt,Be,Oe,Oe),st.add(new go.PathSegment(go.PathSegment.Bezier,Be.x*te,Be.y*ne,Ke.x*te,Ke.y*ne,rt.x*te,rt.y*ne));var ht=de(Be.x,Be.y);Le(Se,Ce-ge,Se+se,Ce-ge,Se+ge,Ce-se,Se+ge,Ce,.56,Oe,Oe,Be,Ke,rt);var bt=de(Be.x,Be.y);st.add(new go.PathSegment(go.PathSegment.Line,(ht.x*.1+.95*.9)*te,ht.y*.1*ne)),st.add(new go.PathSegment(go.PathSegment.Line,.85*te,ht.y*.1*ne)),st.add(new go.PathSegment(go.PathSegment.Line,.85*te,0)),st.add(new go.PathSegment(go.PathSegment.Line,te,0)),st.add(new go.PathSegment(go.PathSegment.Line,te,.15*ne)),st.add(new go.PathSegment(go.PathSegment.Line,(bt.x*.1+.9)*te,.15*ne)),st.add(new go.PathSegment(go.PathSegment.Line,(bt.x*.1+.9)*te,(bt.y*.1+.05*.9)*ne)),st.add(new go.PathSegment(go.PathSegment.Line,bt.x*te,bt.y*ne)),st.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,Ke.x*te,Ke.y*ne,rt.x*te,rt.y*ne)),st.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne)),st.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,(Se-se)*te,(Ce+ge)*ne,(Se-ge)*te,(Ce+se)*ne)),ge=.35,se=Ve*.35;var ot=new go.PathFigure(Se*te,(Ce-ge)*ne,!1);he.add(ot),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+ge)*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-ge)*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne));var At=new go.PathFigure((Se-ge)*te,Ce*ne,!1);return he.add(At),Ie(Oe),Ie(Be),Ie(Ke),Ie(rt),Ie(ht),Ie(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(ze,te,ne){var he=new go.Geometry,se=.375,ge=0,Se=-.125,Ce=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+Ce+ge)*te,(.5+se+Se)*ne,(.5+se+ge)*te,(.5+Ce+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5-se+Se)*ne,(1-.5+se+ge)*te,(.5-Ce+Se)*ne,(.5+Ce+ge)*te,(.5-se+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+Se)*ne,(.5-Ce+ge)*te,(.5-se+Se)*ne,(.5-se+ge)*te,(.5-Ce+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.475+ge)*te,(.5+se+Se)*ne,(.5-se+ge)*te,(.5+Ce+Se)*ne,(.5-Ce+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,Ce=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+Ce+Se)*ne,(.5+Ce+ge)*te,(.5+se+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+Se)*ne,(.5-Ce+ge)*te,(.5+se+Se)*ne,(.5-se+ge)*te,(.5+Ce+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5-se+Se)*ne,(.5-se+ge)*te,(.5-Ce+Se)*ne,(.5-Ce+ge)*te,(.5-se+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+se+ge)*te,(.5+Se)*ne,(.5+Ce+ge)*te,(.5-se+Se)*ne,(1-.5+se+ge)*te,(.5-Ce+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(ze,te,ne){var he=ze?ze.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(ze,te,ne){var he=ze?ze.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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,te,ne){var he=ze?ze.parameter1:NaN;isNaN(he)&&(he=.3);var se=ze?ze.parameter2:NaN;isNaN(se)&&(se=.3);var ge=(1-he)*te,Se=(.5-se/2)*ne,Ce=(.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,Ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Ce).close()),Oe.spot1=new go.Spot(0,Se/ne);var Ke=De(0,Ce/ne,1,Ce/ne,ge/te,1,1,.5,le());return Oe.spot2=new go.Spot(Ke.x,Ke.y),Ie(Ke),Oe}),go.Shape.setFigureParameter("Arrow2",0,new Ge("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new Ge("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(ze,te,ne){var he=ze?ze.parameter1:NaN;isNaN(he)&&(he=30),he>te&&(he=te);var se=ze?ze.parameter2:NaN;isNaN(se)&&(se=30),se=Math.min(se,ne/2);var ge=te-he,Se=(ne-se)/2,Ce=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,Ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Ce).close()),Oe.spot1=new go.Spot(0,Se/ne);var Ke=De(0,Ce/ne,1,Ce/ne,ge/te,1,1,.5,le());return Oe.spot2=new go.Spot(Ke.x,Ke.y),Ie(Ke),Oe}),go.Shape.defineFigureGenerator("Chevron",function(ze,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(ze,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(ze,te,ne){var he=ze?ze.parameter1:NaN;isNaN(he)&&(he=.3);var se=(.5-he/2)*ne,ge=(.5+he/2)*ne,Se=new go.Geometry,Ce=new go.PathFigure(te,.5*ne,!0);Se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,.3*te,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,.3*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.3*te,0)),Ce.add(new go.PathSegment(go.PathSegment.Line,.3*te,se)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Ce.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),Ie(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(ze,te,ne){var he=ze?ze.parameter1:NaN;isNaN(he)&&(he=40);var se=ze?ze.parameter2:NaN;isNaN(se)&&(se=100);var ge=(ne-he)/2,Se=ge+he,Ce=(ne-se)/2,Oe=Ce+se;(he>ne||se>ne)&&(se>he?(he=he*ne/se,ge=(ne-he)/2,Se=ge+he,Ce=0,Oe=ne):(ge=0,Se=ne,Ce=0,Oe=ne));var Be=new go.Geometry,Ke=new go.PathFigure(te,.5*ne,!0);Be.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,Se)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,Se)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,Ce)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,Ce).close());var rt=De(0,.5,.3,Ce/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),Ie(rt),Be}),go.Shape.setFigureParameter("IBeamArrow",0,new Ge("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(ze,te,ne){var he=ze?ze.parameter1:NaN;isNaN(he)&&(he=.3);var se=(.5-he/2)*ne,ge=(.5+he/2)*ne,Se=new go.Geometry,Ce=new go.PathFigure(te,.5*ne,!0);Se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,.2*te,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ce.add(new go.PathSegment(go.PathSegment.Line,.2*te,0)),Ce.add(new go.PathSegment(go.PathSegment.Line,.2*te,se)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Ce.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),Ie(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(ze,te,ne){var he=ze?ze.parameter1:NaN;isNaN(he)&&(he=40);var se=ze?ze.parameter2:NaN;isNaN(se)&&(se=100);var ge=(ne-he)/2,Se=ge+he,Ce=(ne-se)/2,Oe=Ce+se;(he>ne||se>ne)&&(se>he?(he=he*ne/se,ge=(ne-he)/2,Se=ge+he,Ce=0,Oe=ne):(ge=0,Se=ne,Ce=0,Oe=ne));var Be=new go.Geometry,Ke=new go.PathFigure(te,.5*ne,!0);Be.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,Se)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,Se)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,Ce)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,Ce)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,Ce).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),Ie(rt),Be}),go.Shape.setFigureParameter("Pointer",0,new Ge("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(ze,te,ne){var he=ze?ze.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),Ie(Se),se}),go.Shape.setFigureParameter("RoundedPointer",0,new Ge("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(ze,te,ne){var he=ze?ze.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),Ie(Se),se}),go.Shape.setFigureParameter("SplitEndArrow",0,new Ge("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(ze,te,ne){var he=ze?ze.parameter1:NaN;isNaN(he)&&(he=.4);var se=(.5-he/2)*ne,ge=(.5+he/2)*ne,Se=new go.Geometry,Ce=new go.PathFigure(te,.5*ne,!0);Se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,se)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Ce.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),Ie(Oe),Se}),go.Shape.setFigureParameter("SplitEndArrow2",0,new Ge("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(ze,te,ne){var he=ze?ze.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,Ce=new go.PathFigure(te,.5*ne,!0);Se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,se)),Ce.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),Ce.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),Ie(Oe),Se}),go.Shape.setFigureParameter("SquareArrow",0,new Ge("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(ze,te,ne){var he=ze?ze.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(ze,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(ze,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(ze,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(ze,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(ze,te,ne){var he=ze?ze.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 Ce=new go.PathFigure(te,he,!1);return se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,2*he,1*te,2*he-Ve*he,(.5+ge)*te,2*he)),Ce.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(ze,te,ne){var he=ze?ze.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 Ce=new go.PathFigure(0,ne-he,!1);return se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ne-2*he,0,ne-he-Ve*he,(.5-ge)*te,ne-2*he)),Ce.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(ze,te,ne){var he=ze?ze.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 Ce=new go.PathFigure(he,0,!1);return se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,2*he,.5*ne,he+Ve*he,0,2*he,(.5-ge)*ne)),Ce.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(ze,te,ne){var he=ze?ze.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 Ce=new go.PathFigure(te-he,0,!1);return se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,te-2*he,.5*ne,te-he-Ve*he,0,te-2*he,(.5-ge)*ne)),Ce.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(ze,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(ze,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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=.2,ge=.1,Se=Ve*se,Ce=Ve*ge,Oe=.5,Be=.1,Ke=new go.PathFigure(Oe*te,(Be+ge)*ne,!0);he.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-se)*te,Be*ne,(Oe-Se)*te,(Be+ge)*ne,(Oe-se)*te,(Be+Ce)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-ge)*ne,(Oe-se)*te,(Be-Ce)*ne,(Oe-Se)*te,(Be-ge)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+se)*te,Be*ne,(Oe+Se)*te,(Be-ge)*ne,(Oe+se)*te,(Be-Ce)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+ge)*ne,(Oe+se)*te,(Be+Ce)*ne,(Oe+Se)*te,(Be+ge)*ne));var rt=.05,st=Ve*rt;Oe=.05,Be=.25;var ht=new go.PathFigure(.5*te,.2*ne,!0);return he.add(ht),ht.add(new go.PathSegment(go.PathSegment.Line,.95*te,.2*ne)),Oe=.95,Be=.25,ht.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+rt)*te,Be*ne,(Oe+st)*te,(Be-rt)*ne,(Oe+rt)*te,(Be-st)*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,te,.6*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.85*te,.6*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.85*te,.35*ne)),rt=.025,st=Ve*rt,Oe=.825,Be=.35,ht.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe+rt)*te,(Be-st)*ne,(Oe+st)*te,(Be-rt)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-rt)*te,Be*ne,(Oe-st)*te,(Be-rt)*ne,(Oe-rt)*te,(Be-st)*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.8*te,ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.55*te,ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.55*te,.7*ne)),rt=.05,st=Ve*rt,Oe=.5,Be=.7,ht.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe+rt)*te,(Be-st)*ne,(Oe+st)*te,(Be-rt)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-rt)*te,Be*ne,(Oe-st)*te,(Be-rt)*ne,(Oe-rt)*te,(Be-st)*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.45*te,ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.2*te,ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.2*te,.35*ne)),rt=.025,st=Ve*rt,Oe=.175,Be=.35,ht.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe+rt)*te,(Be-st)*ne,(Oe+st)*te,(Be-rt)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-rt)*te,Be*ne,(Oe-st)*te,(Be-rt)*ne,(Oe-rt)*te,(Be-st)*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.15*te,.6*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,0,.6*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),rt=.05,st=Ve*rt,Oe=.05,Be=.25,ht.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-rt)*ne,(Oe-rt)*te,(Be-st)*ne,(Oe-st)*te,(Be-rt)*ne)),ht.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(ze,te,ne){var he=ze?ze.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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,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 Ce=new go.PathFigure(te,.1*ne,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ne,te,(.1+ge)*ne,(.5+se)*te,.2*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ne,(.5-se)*te,.2*ne,0,(.1+ge)*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,te,.2*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ne,te,(.2+ge)*ne,(.5+se)*te,.3*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ne,(.5-se)*te,.3*ne,0,(.2+ge)*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,te,.3*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.4*ne,te,(.3+ge)*ne,(.5+se)*te,.4*ne)),Ce.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(ze,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(ze,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 Ce=new go.PathFigure(te,.1*ne,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ne,te,(.1+ge)*ne,(.5+se)*te,.2*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ne,(.5-se)*te,.2*ne,0,(.1+ge)*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,te,.2*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ne,te,(.2+ge)*ne,(.5+se)*te,.3*ne)),Ce.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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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 Ce=new go.PathFigure(0,se*ne,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te,se*ne)),he}),go.Shape.defineFigureGenerator("DividedProcess",function(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.parameter1:NaN,ge=ze?ze.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 Ce=new go.PathFigure(se*te,0,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,se*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,0,ge*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,te,ge*ne)),he}),go.Shape.defineFigureGenerator("Junction",function(ze,te,ne){var he=new go.Geometry,se=1/Math.SQRT2,ge=(1-1/Math.SQRT2)/2,Se=Ve*.5,Ce=.5,Oe=new go.PathFigure(te,Ce*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Ce*te,ne,te,(Ce+Se)*ne,(Ce+Se)*te,ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,0,Ce*ne,(Ce-Se)*te,ne,0,(Ce+Se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Ce*te,0,0,(Ce-Se)*ne,(Ce-Se)*te,0)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,te,Ce*ne,(Ce+Se)*te,0,te,(Ce-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(ze,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(ze,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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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 Ce=new go.PathFigure(.5*se*te,se*ne,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,(1-.5*se)*te,se*ne)),he}),go.Shape.defineFigureGenerator("OffPageConnector",function(ze,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(ze,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 Ce=new go.PathFigure(te,.5*ne,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,.5*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),he}),go.Shape.defineFigureGenerator("PaperTape",function(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.parameter1:NaN,ge=ze?ze.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(ze,te,ne){var he=new go.Geometry,se=ze?ze.parameter1:NaN,ge=ze?ze.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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,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(ze,te,ne){var he=new go.Geometry,se=ze?ze.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(ze,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(ze,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(ze,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 Ce=new go.PathFigure(te,ge*ne,!1);he.add(Ce),Ce.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(ze,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(ze,te,ne){var he=new go.Geometry,se=Ve*.1,ge=.1,Se=.9,Ce=.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,Ce*ne,!0);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,(Se-se)*te,(Ce+ge)*ne,(Se-ge)*te,(Ce+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,(Se+se)*te,(Ce-ge)*ne,(Se+ge)*te,(Ce-se)*ne)),he.spot1=new go.Spot(0,.25),he.spot2=new go.Spot(.4,.75),he}),go.Shape.defineFigureGenerator("NandGate",function(ze,te,ne){var he=new go.Geometry,se=Ve*.5,ge=Ve*.4,Se=Ve*.1,Ce=.1,Oe=.9,Be=.5,Ke=new go.PathFigure(.8*te,.5*ne,!0);he.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,ne,.8*te,(.5+ge)*ne,(.4+se)*te,ne)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,ne)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ke.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),Ke.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+Ce)*te,Be*ne,!0);return he.add(rt),rt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+Ce)*ne,(Oe+Ce)*te,(Be+Se)*ne,(Oe+Se)*te,(Be+Ce)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Ce)*te,Be*ne,(Oe-Se)*te,(Be+Ce)*ne,(Oe-Ce)*te,(Be+Se)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-Ce)*ne,(Oe-Ce)*te,(Be-Se)*ne,(Oe-Se)*te,(Be-Ce)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Ce)*te,Be*ne,(Oe+Se)*te,(Be-Ce)*ne,(Oe+Ce)*te,(Be-Se)*ne)),he.spot1=new go.Spot(0,.05),he.spot2=new go.Spot(.55,.95),he}),go.Shape.defineFigureGenerator("NorGate",function(ze,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=0,Ce=.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,(Ce+ge)*ne,(Se+ge)*te,(Ce+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,(Ce-se)*ne,.7*te,(Ce-ge)*ne)),se=.1,ge=Ve*.1,Se=.9,Ce=.5;var Be=new go.PathFigure((Se-se)*te,Ce*ne,!0);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Ce*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Ce*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+ge)*ne)),he.spot1=new go.Spot(.2,.25),he.spot2=new go.Spot(.6,.75),he}),go.Shape.defineFigureGenerator("OrGate",function(ze,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=0,Ce=.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,(Ce-se)*ne,.8*te,(Ce-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,0,ne,.8*te,(Ce+ge)*ne,(Se+ge+ge)*te,(Ce+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(ze,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=.2,Ce=.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,(Ce+ge)*ne,(Se+ge)*te,(Ce+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,(Ce-se)*ne,.7*te,(Ce-ge)*ne)),se=.1,ge=Ve*.1,Se=.9,Ce=.5;var Ke=new go.PathFigure((Se-se)*te,Ce*ne,!0);return he.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Ce*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Ce*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+ge)*ne)),he.spot1=new go.Spot(.4,.25),he.spot2=new go.Spot(.65,.75),he}),go.Shape.defineFigureGenerator("XorGate",function(ze,te,ne){var he=new go.Geometry,se=.5,ge=Ve*se,Se=.2,Ce=.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,(Ce-se)*ne,.9*te,(Ce-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,ne,.9*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=Ve*.1,ge=.1,Se=.1,Ce=.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(ze,te,ne){var he=new go.Geometry,se=Ve*.5,ge=.5,Se=.5,Ce=.5,Oe=new go.PathFigure((Se-ge)*te,Ce*ne,!1);return he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,(Se+se)*te,(Ce-ge)*ne,(Se+ge)*te,(Ce-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,(Se-se)*te,(Ce+ge)*ne,(Se-ge)*te,(Ce+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Move,(Se-ge+.1)*te,Ce*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge-.1)*te,Ce*ne,Se*te,(Ce-ge)*ne,Se*te,(Ce+ge)*ne)),he}),go.Shape.defineFigureGenerator("DCvoltageSource",function(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=te,ge=ne;te=te*.38,ne=ne*.6;var Se=Ve*.8,Ce=.8,Oe=0,Be=.5,Ke=(se-te)/2,rt=(ge-ne)/2,st=new go.PathFigure(Oe*te+Ke,(Be+Ce)*ne+rt,!0);he.add(st),st.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Ce)*te+Ke,Be*ne+rt,(Oe-Se)*te+Ke,(Be+Ce)*ne+rt,(Oe-Ce)*te+Ke,(Be+Se)*ne+rt)),st.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be-Ce)*ne+rt,(Oe-Ce)*te+Ke,(Be-Se)*ne+rt,(Oe-Se)*te+Ke,(Be-Ce)*ne+rt)),st.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Ce+Se*.5)*te+Ke,Be*ne+rt,Oe*te+Ke,(Be-Ce)*ne+rt,(Oe-Ce+Se*.5)*te+Ke,(Be-Se)*ne+rt)),st.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be+Ce)*ne+rt,(Oe-Ce+Se*.5)*te+Ke,(Be+Se)*ne+rt,Oe*te+Ke,(Be+Ce)*ne+rt).close()),Se=Ve*.4,Ce=.4,Oe=.2,Be=.5;var ht=new go.PathFigure(Oe*te+Ke,(Be+Ce)*ne+rt,!0);he.add(ht),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Ce)*te+Ke,Be*ne+rt,(Oe-Se)*te+Ke,(Be+Ce)*ne+rt,(Oe-Ce)*te+Ke,(Be+Se)*ne+rt)),ht.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be-Ce)*ne+rt,(Oe-Ce)*te+Ke,(Be-Se)*ne+rt,(Oe-Se)*te+Ke,(Be-Ce)*ne+rt)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Ce+Se*.5)*te+Ke,Be*ne+rt,Oe*te+Ke,(Be-Ce)*ne+rt,(Oe-Ce+Se*.5)*te+Ke,(Be-Se)*ne+rt)),ht.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be+Ce)*ne+rt,(Oe-Ce+Se*.5)*te+Ke,(Be+Se)*ne+rt,Oe*te+Ke,(Be+Ce)*ne+rt).close()),Se=Ve*.2,Ce=.2,Oe=.5,Be=.5;var bt=new go.PathFigure((Oe-Ce)*te+Ke,Be*ne+rt,!0);he.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be-Ce)*ne+rt,(Oe-Ce)*te+Ke,(Be-Se)*ne+rt,(Oe-Se)*te+Ke,(Be-Ce)*ne+rt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Ce)*te+Ke,Be*ne+rt,(Oe+Se)*te+Ke,(Be-Ce)*ne+rt,(Oe+Ce)*te+Ke,(Be-Se)*ne+rt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be+Ce)*ne+rt,(Oe+Ce)*te+Ke,(Be+Se)*ne+rt,(Oe+Se)*te+Ke,(Be+Ce)*ne+rt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Ce)*te+Ke,Be*ne+rt,(Oe-Se)*te+Ke,(Be+Ce)*ne+rt,(Oe-Ce)*te+Ke,(Be+Se)*ne+rt)),Se=Ve*.4,Ce=.4,Oe=.8,Be=.5;var ot=new go.PathFigure(Oe*te+Ke,(Be-Ce)*ne+rt,!0);he.add(ot),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Ce)*te+Ke,Be*ne+rt,(Oe+Se)*te+Ke,(Be-Ce)*ne+rt,(Oe+Ce)*te+Ke,(Be-Se)*ne+rt)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be+Ce)*ne+rt,(Oe+Ce)*te+Ke,(Be+Se)*ne+rt,(Oe+Se)*te+Ke,(Be+Ce)*ne+rt)),ot.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Ce-Se*.5)*te+Ke,Be*ne+rt,Oe*te+Ke,(Be+Ce)*ne+rt,(Oe+Ce-Se*.5)*te+Ke,(Be+Se)*ne+rt)),ot.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be-Ce)*ne+rt,(Oe+Ce-Se*.5)*te+Ke,(Be-Se)*ne+rt,Oe*te+Ke,(Be-Ce)*ne+rt).close()),Se=Ve*.8,Ce=.8,Oe=1,Be=.5;var At=new go.PathFigure(Oe*te+Ke,(Be-Ce)*ne+rt,!0);return he.add(At),At.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Ce)*te+Ke,Be*ne+rt,(Oe+Se)*te+Ke,(Be-Ce)*ne+rt,(Oe+Ce)*te+Ke,(Be-Se)*ne+rt)),At.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be+Ce)*ne+rt,(Oe+Ce)*te+Ke,(Be+Se)*ne+rt,(Oe+Se)*te+Ke,(Be+Ce)*ne+rt)),At.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Ce-Se*.5)*te+Ke,Be*ne+rt,Oe*te+Ke,(Be+Ce)*ne+rt,(Oe+Ce-Se*.5)*te+Ke,(Be+Se)*ne+rt)),At.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te+Ke,(Be-Ce)*ne+rt,(Oe+Ce-Se*.5)*te+Ke,(Be-Se)*ne+rt,Oe*te+Ke,(Be-Ce)*ne+rt).close()),he}),go.Shape.defineFigureGenerator("Email",function(ze,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(ze,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 Ce=new go.PathFigure(0,.5*ne,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,.5*te,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.5*te,.4*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,.75*te,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.75*te,.6*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,.25*te,.5*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.25*te,.6*ne)),he}),go.Shape.defineFigureGenerator("Power",function(ze,te,ne){var he=new go.Geometry,se=Ve*.4,ge=.4,Se=.5,Ce=.5,Oe=le(),Be=le(),Ke=le(),rt=le();Le(Se,Ce-ge,Se+se,Ce-ge,Se+ge,Ce-se,Se+ge,Ce,.5,Oe,Oe,Be,Ke,rt);var st=de(Be.x,Be.y),ht=new go.PathFigure(Be.x*te,Be.y*ne,!0);he.add(ht),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,Ke.x*te,Ke.y*ne,rt.x*te,rt.y*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,(Se-se)*te,(Ce+ge)*ne,(Se-ge)*te,(Ce+se)*ne)),Le(Se-ge,Ce,Se-ge,Ce-se,Se-se,Ce-ge,Se,Ce-ge,.5,Ke,rt,Be,Oe,Oe),ht.add(new go.PathSegment(go.PathSegment.Bezier,Be.x*te,Be.y*ne,Ke.x*te,Ke.y*ne,rt.x*te,rt.y*ne)),se=Ve*.3,ge=.3,Le(Se-ge,Ce,Se-ge,Ce-se,Se-se,Ce-ge,Se,Ce-ge,.5,Ke,rt,Be,Oe,Oe),ht.add(new go.PathSegment(go.PathSegment.Line,Be.x*te,Be.y*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ge)*te,Ce*ne,rt.x*te,rt.y*ne,Ke.x*te,Ke.y*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+ge)*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+ge)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ge)*te,Ce*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Le(Se,Ce-ge,Se+se,Ce-ge,Se+ge,Ce-se,Se+ge,Ce,.5,Oe,Oe,Be,Ke,rt),ht.add(new go.PathSegment(go.PathSegment.Bezier,Be.x*te,Be.y*ne,rt.x*te,rt.y*ne,Ke.x*te,Ke.y*ne).close());var ht=new go.PathFigure(.45*te,0,!0);return he.add(ht),ht.add(new go.PathSegment(go.PathSegment.Line,.45*te,.5*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.55*te,.5*ne)),ht.add(new go.PathSegment(go.PathSegment.Line,.55*te,0).close()),Ie(Oe),Ie(Be),Ie(Ke),Ie(rt),Ie(st),he.spot1=new go.Spot(.25,.45),he.spot2=new go.Spot(.75,.8),he}),go.Shape.defineFigureGenerator("Fallout",function(ze,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,Ce,Oe){Se.add(new go.PathSegment(go.PathSegment.Move,(.3+Ce)*te,(.8+Oe)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(.5+Ce)*te,(.5+Oe)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(.1+Ce)*te,(.5+Oe)*ne)),Se.add(new go.PathSegment(go.PathSegment.Line,(.3+Ce)*te,(.8+Oe)*ne).close())}return ge(se,0,0),ge(se,.4,0),ge(se,.2,-.3),he}),go.Shape.defineFigureGenerator("IrritationHazard",function(ze,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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=.5,ge=0,Se=0,Ce=se*Ve,Oe=.4*Math.SQRT2/2+.5,Be=.5-.5*Math.SQRT2/2,Ke=1,rt=.5,st=.5,ht=0,bt=new go.PathFigure(Oe*te,(1-Be)*ne,!1);return he.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,rt*ne,Ke*te,.7*ne,Ke*te,rt*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(st+ge)*te,(ht+ge)*ne,(.5+se+ge)*te,(.5-Ce+ge)*ne,(.5+Ce+ge)*te,(.5-se+ge)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+Se)*ne,(.5-Ce+ge)*te,(.5-se+Se)*ne,(.5-se+ge)*te,(.5-Ce+Se)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(.35+ge)*te,.9*ne,(.5-se+ge)*te,(.5+Ce+Se)*ne,(.5-Ce+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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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,Ce=.5,Oe=Se,Be=Math.PI/4,Ke=4*(1-Math.cos(Be))/(3*Math.sin(Be)),rt=Ke*.5,st=Se,ht=Se,bt=Ke*st,ot=Ke*ht;ge.add(new go.PathSegment(go.PathSegment.Bezier,(Ce-st)*te,Oe*ne,(Ce-(bt+st)/2)*te,(Oe+(ht+ot)/2)*ne,(Ce-st)*te,(Oe+ot)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,Ce*te,(Oe-ht)*ne,(Ce-st)*te,(Oe-ot)*ne,(Ce-bt)*te,(Oe-ht)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(Ce+st)*te,Oe*ne,(Ce+bt)*te,(Oe-ht)*ne,(Ce+st)*te,(Oe-ot)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*te,(1-.595)*ne,(Ce+st)*te,(Oe+ot)*ne,(Ce+(bt+st)/2)*te,(Oe+(ht+ot)/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 At=new go.PathFigure(.2*te,ne,!1);he.add(At),At.add(new go.PathSegment(go.PathSegment.Line,.2*te,.8*ne));var It=new go.PathFigure(.8*te,ne,!1);return he.add(It),It.add(new go.PathSegment(go.PathSegment.Line,.8*te,.8*ne)),he}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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 Ce=new go.PathFigure(se*te,0,!1);return he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,se*te,.15*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,se*te,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,se*te,.85*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,0,se*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.15*te,se*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,te,se*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.85*te,se*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,se*te,se*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.58*te,.1*ne)),Ce.add(new go.PathSegment(go.PathSegment.Move,se*te,se*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.78*te,.54*ne)),he}),go.Shape.defineFigureGenerator("Package",function(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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,Ce=Ve*.1,Oe=.2,Be=.9,Ke=new go.PathFigure((Oe-Se)*te,Be*ne,!0);he.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be-Se)*ne,(Oe-Se)*te,(Be-Ce)*ne,(Oe-Ce)*te,(Be-Se)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Se)*te,Be*ne,(Oe+Ce)*te,(Be-Se)*ne,(Oe+Se)*te,(Be-Ce)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+Se)*ne,(Oe+Se)*te,(Be+Ce)*ne,(Oe+Ce)*te,(Be+Se)*ne)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Se)*te,Be*ne,(Oe-Ce)*te,(Be+Se)*ne,(Oe-Se)*te,(Be+Ce)*ne).close()),Se=.1,Ce=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-Ce)*ne,(Oe-Ce)*te,(Be-Se)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+Se)*te,Be*ne,(Oe+Ce)*te,(Be-Se)*ne,(Oe+Se)*te,(Be-Ce)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Be+Se)*ne,(Oe+Se)*te,(Be+Ce)*ne,(Oe+Ce)*te,(Be+Se)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-Se)*te,Be*ne,(Oe-Ce)*te,(Be+Se)*ne,(Oe-Se)*te,(Be+Ce)*ne).close()),he}),go.Shape.defineFigureGenerator("KanbanPost",function(ze,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(ze,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 Ce=new go.PathFigure(.5*te,.7*ne,!1);he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te,.7*ne));var Oe=.1,Be=Ve*.1,Ke=.1,rt=.9,st=new go.PathFigure((Ke-Oe)*te,rt*ne,!0);he.add(st),st.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(rt-Oe)*ne,(Ke-Oe)*te,(rt-Be)*ne,(Ke-Be)*te,(rt-Oe)*ne)),st.add(new go.PathSegment(go.PathSegment.Bezier,(Ke+Oe)*te,rt*ne,(Ke+Be)*te,(rt-Oe)*ne,(Ke+Oe)*te,(rt-Be)*ne)),st.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(rt+Oe)*ne,(Ke+Oe)*te,(rt+Be)*ne,(Ke+Be)*te,(rt+Oe)*ne)),st.add(new go.PathSegment(go.PathSegment.Bezier,(Ke-Oe)*te,rt*ne,(Ke-Be)*te,(rt+Oe)*ne,(Ke-Oe)*te,(rt+Be)*ne)),Oe=.1,Be=Ve*.1,Ke=.4,rt=.9;var ht=new go.PathFigure((Ke-Oe)*te,rt*ne,!0);return he.add(ht),ht.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(rt-Oe)*ne,(Ke-Oe)*te,(rt-Be)*ne,(Ke-Be)*te,(rt-Oe)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Ke+Oe)*te,rt*ne,(Ke+Be)*te,(rt-Oe)*ne,(Ke+Oe)*te,(rt-Be)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(rt+Oe)*ne,(Ke+Oe)*te,(rt+Be)*ne,(Ke+Be)*te,(rt+Oe)*ne)),ht.add(new go.PathSegment(go.PathSegment.Bezier,(Ke-Oe)*te,rt*ne,(Ke-Be)*te,(rt+Oe)*ne,(Ke-Oe)*te,(rt+Be)*ne)),he}),go.Shape.defineFigureGenerator("RailShipment",function(ze,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 Ke=.05,rt=Ve*.05,st=.175,ht=.95,Ce=new go.PathFigure((st-Ke)*te,ht*ne,!0);he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht-Ke)*ne,(st-Ke)*te,(ht-rt)*ne,(st-rt)*te,(ht-Ke)*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(st+Ke)*te,ht*ne,(st+rt)*te,(ht-Ke)*ne,(st+Ke)*te,(ht-rt)*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht+Ke)*ne,(st+Ke)*te,(ht+rt)*ne,(st+rt)*te,(ht+Ke)*ne)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(st-Ke)*te,ht*ne,(st-rt)*te,(ht+Ke)*ne,(st-Ke)*te,(ht+rt)*ne));var Ke=.05,rt=Ve*.05,st=.375,ht=.95,Oe=new go.PathFigure((st-Ke)*te,ht*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht-Ke)*ne,(st-Ke)*te,(ht-rt)*ne,(st-rt)*te,(ht-Ke)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(st+Ke)*te,ht*ne,(st+rt)*te,(ht-Ke)*ne,(st+Ke)*te,(ht-rt)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht+Ke)*ne,(st+Ke)*te,(ht+rt)*ne,(st+rt)*te,(ht+Ke)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(st-Ke)*te,ht*ne,(st-rt)*te,(ht+Ke)*ne,(st-Ke)*te,(ht+rt)*ne));var Ke=.05,rt=Ve*.05,st=.625,ht=.95,Be=new go.PathFigure((st-Ke)*te,ht*ne,!0);he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht-Ke)*ne,(st-Ke)*te,(ht-rt)*ne,(st-rt)*te,(ht-Ke)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(st+Ke)*te,ht*ne,(st+rt)*te,(ht-Ke)*ne,(st+Ke)*te,(ht-rt)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht+Ke)*ne,(st+Ke)*te,(ht+rt)*ne,(st+rt)*te,(ht+Ke)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(st-Ke)*te,ht*ne,(st-rt)*te,(ht+Ke)*ne,(st-Ke)*te,(ht+rt)*ne));var Ke=.05,rt=Ve*.05,st=.825,ht=.95,bt=new go.PathFigure((st-Ke)*te,ht*ne,!0);he.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht-Ke)*ne,(st-Ke)*te,(ht-rt)*ne,(st-rt)*te,(ht-Ke)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(st+Ke)*te,ht*ne,(st+rt)*te,(ht-Ke)*ne,(st+Ke)*te,(ht-rt)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,st*te,(ht+Ke)*ne,(st+Ke)*te,(ht+rt)*ne,(st+rt)*te,(ht+Ke)*ne)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(st-Ke)*te,ht*ne,(st-rt)*te,(ht+Ke)*ne,(st-Ke)*te,(ht+rt)*ne).close());var ot=new go.PathFigure(0,ne,!1);return he.add(ot),ot.add(new go.PathSegment(go.PathSegment.Line,te,ne).close()),he}),go.Shape.defineFigureGenerator("Warehouse",function(ze,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 Ce=.05,Oe=Ve*.05,Be=.35,Ke=.775,rt=new go.PathFigure((Be-Ce)*te,Ke*ne,!0);return he.add(rt),rt.add(new go.PathSegment(go.PathSegment.Bezier,Be*te,(Ke-Ce)*ne,(Be-Ce)*te,(Ke-Oe)*ne,(Be-Oe)*te,(Ke-Ce)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Be+Ce)*te,Ke*ne,(Be+Oe)*te,(Ke-Ce)*ne,(Be+Ce)*te,(Ke-Oe)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,Be*te,(Ke+Ce)*ne,(Be+Ce)*te,(Ke+Oe)*ne,(Be+Oe)*te,(Ke+Ce)*ne)),rt.add(new go.PathSegment(go.PathSegment.Bezier,(Be-Ce)*te,Ke*ne,(Be-Oe)*te,(Ke+Ce)*ne,(Be-Ce)*te,(Ke+Oe)*ne).close()),he}),go.Shape.defineFigureGenerator("ControlCenter",function(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=.3,ge=Ve*.3,Se=.5,Ce=.7,Oe=new go.PathFigure((Se-se)*te,Ce*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Ce*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Ce*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+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(ze,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(ze,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(ze,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(ze,te,ne){var he=new go.Geometry,se=.5,ge=Ve*.5,Se=.5,Ce=.5,Oe=new go.PathFigure((Se-se)*te,Ce*ne,!0);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Ce*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Ce*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+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(ze,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(ze,te,ne){var he=new go.Geometry,se=.5,ge=Ve*.5,Se=.5,Ce=.5,Oe=new go.PathFigure((Se-se)*te,Ce*ne,!1);he.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Ce*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Ce*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+ge)*ne).close()),se=.05,ge=Ve*.05,Se=.5,Ce=.8;var Be=new go.PathFigure((Se-se)*te,Ce*ne,!1);return he.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce-se)*ne,(Se-se)*te,(Ce-ge)*ne,(Se-ge)*te,(Ce-se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se+se)*te,Ce*ne,(Se+ge)*te,(Ce-se)*ne,(Se+se)*te,(Ce-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Se*te,(Ce+se)*ne,(Se+se)*te,(Ce+ge)*ne,(Se+ge)*te,(Ce+se)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Se-se)*te,Ce*ne,(Se-ge)*te,(Ce+se)*ne,(Se-se)*te,(Ce+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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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 Ce=new go.PathFigure(.678*te,.85*ne,!1);he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,.678*te,.45*ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,.874*te,.45*ne)),Ce.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(ze,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(ze,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 Ce=new go.PathFigure(te*.612,ne,!0);he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.612,ne*(1-.184*3))),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.796,ne*(1-.184*4))),Ce.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(ze,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 Ce=new go.PathFigure(te*.055,.18*ne,!0);he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.18)),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.245,ne*.21)),Ce.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(ze,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(ze,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(ze,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 Ce=new go.PathFigure(te*(.11+.24133333*1+.028*1),ne*.1,!1);he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*1),ne*.1)),Ce.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*1),ne*.8)),Ce.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(ze,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 Ce=new go.PathFigure(te*.83,0,!1);he.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.83,ne*.3)),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.17,ne*.3)),Ce.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(ze,te,ne){var he=ze?ze.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,Ce=new go.PathFigure(he,0,!0);return Se.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Line,te-he,0)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,te,he,te-se,0,te,se)),Ce.add(new go.PathSegment(go.PathSegment.Line,te,ge-he)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,te-he,ge,te,ge-se,te-se,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.7,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.7,ne)),Ce.add(new go.PathSegment(go.PathSegment.Line,te*.55,ge)),Ce.add(new go.PathSegment(go.PathSegment.Line,he,ge)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,0,ge-he,se,ge,0,ge-se)),Ce.add(new go.PathSegment(go.PathSegment.Line,0,he)),Ce.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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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(ze,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")},43001: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,Ie=!1,De=!1,Le=null,Ye=!1,Re=null,Ve=null,Xe=0;Xe4?parseFloat(Pt):5};Ge.setHTML5Codebase=function(Pt,sn){Ve=Pt,nt(Pt,sn)},Ge.setJavaCodebase=Ge.setJavaCodebaseVersion=Ge.isCompiledInstalled=Ge.setPreCompiledScriptPath=Ge.setPreCompiledResourcePath=function(){},Ge.setHTML5CodebaseVersion=function(Pt,sn){var an=parseFloat(Pt);if(an!==NaN&&an<5){console.log("The GeoGebra HTML5 codebase version "+an+" is deprecated. Using version latest instead.");return}Re=Pt,dt(Pt,sn)},Ge.getHTML5CodebaseVersion=function(){return ze},Ge.getParameters=function(){return de},Ge.setFontsCSSURL=function(Pt){Se=Pt},Ge.setGiacJSURL=function(Pt){},Ge.setJNLPFile=function(Pt){Je=Pt},Ge.setJNLPBaseDir=function(Pt){},Ge.inject=function(){function Pt(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var sn="auto",an=de.id,zn,Cn=!1,ri=0;ri=5)return!0;var Pt=Ge.getAppletObject();return Pt&&typeof Pt.recalculateEnvironments=="function"?(Pt.recalculateEnvironments(),!0):!1},Ge.startAnimation=function(){var Pt=Ge.getAppletObject();return Pt&&typeof Pt.startAnimation=="function"?(Pt.startAnimation(),!0):!1},Ge.stopAnimation=function(){var Pt=Ge.getAppletObject();return Pt&&typeof Pt.stopAnimation=="function"?(Pt.stopAnimation(),!0):!1},Ge.getAppletObject=function(){var Pt=de.id!==void 0?de.id:"ggbApplet";return window[Pt]},Ge.resize=function(){};var bt=function(Pt,sn,an){var zn=document.createElement("param");zn.setAttribute("name",sn),zn.setAttribute("value",an),Pt.appendChild(zn)},ot=function(Pt){return Pt&&Pt!=="false"},At=function(Pt,sn,an){Oe(ze)<=4.2&&(an=!0);var zn=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==ze||ggbHTML5LoadedCodebaseIsWebSimple&&!ne)&&(zn=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var Cn=document.createElement("div");Cn.classList.add("appletParameters","notranslate");var ri=sn.width,kt=sn.height;if(sn.disableAutoScale=sn.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():sn.disableAutoScale,sn.width!==void 0)if(Oe(ze)<=4.4)ot(sn.showToolBar)&&(sn.height-=7),ot(sn.showAlgebraInput)&&(sn.height-=37),sn.width<605&&ot(sn.showToolBar)&&(sn.width=605,ri=605);else{var Kn=100;(ot(sn.showToolBar)||ot(sn.showMenuBar))&&(sn.hasOwnProperty("customToolBar")&&(sn.customToolbar=sn.customToolBar),Kn=ot(sn.showMenuBar)?245:155),ri=5?(sn.appletOnLoad=function(fn){var en=Pt.querySelector(".ggb_preview");en&&en.parentNode.removeChild(en),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(je),window.GGBT_wsf_view&&$(window).trigger("resize"),et(fn)},xe||je.appendChild(Te)):Cn.appendChild(Te),je.appendChild(Cn),xe||Pt.appendChild(je),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(Cn),Pt.appendChild(Me),sn.appletOnLoad=function(fn){Ge.resize(),et(fn)}}function Ae(fn,en){en&&typeof en.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(fn,en.appletOnLoad):renderGGBElement(fn),pn("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",en)}function ut(fn,en){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:fn,params:en}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(dn){Ae(dn.article,dn.params)}),html5AppletsToProcess=null)},Oe(ze)<5&&(fn.className+=" geogebraweb")):Ae(fn,en)}if(zn){scriptLoadStarted=!0;for(var Lt=0;Lt0?(li.remove(),je.attr("id","fullscreencontent").show(),jQuery(et).append(je),window.dispatchEvent(new Event("resize"))):At(li,sn,!1),window.GGBT_wsf_view.launchFullScreen(et)}else Mt=zn,At(Pt,sn,!1);if(!window.GGBT_wsf_view)for(kt=0;ktPt/4*3&&(li=Pt/4*3),et=li/5.8,Kn.setAttribute("src",se),Kn.setAttribute("width",li),Kn.setAttribute("height",et);var je=(Pt-li)/2,xe=(sn-et)/2;Kn.style.left=je+"px",Kn.style.top=xe+"px",Cn.appendChild(Kn)}}return Cn.appendChild(kt),Cn},xn=function(Pt){return Pt=Pt.toLowerCase(),Pt==="html5"||Pt==="screenshot"?Pt:"html5"},Nt=["web","webSimple","web3d","tablet","tablet3d","phone"],dt=function(Pt,sn){if(ze=Pt,sn){nt(ze,!0);return}var an=!Ie;if(an){var zn=Oe(ze);!isNaN(zn)&&zn<4.4&&(an=!1)}var Cn,ri;window.location.protocol.substr(0,4)==="http"?Cn=window.location.protocol:Cn="http:";var kt=ze.indexOf("//");kt>0?ri=ze:kt===0?ri=Cn+ze:ri="https://www.geogebra.org/apps/5.2.814.0/";for(var Kn in Nt)if(ze.slice(Nt[Kn].length*-1)===Nt[Kn]||ze.slice((Nt[Kn].length+1)*-1)===Nt[Kn]+"/"){nt(ri,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&an&&!le.is3D&&!le.AV&&!le.SV&&!le.CV&&!le.EV2&&!le.CP&&!le.PC&&!le.DA&&!le.FI&&!le.PV&&!ot(de.showToolBar)&&!ot(de.showMenuBar)&&!ot(de.showAlgebraInput)&&!ot(de.enableRightClick)&&(!de.appName||de.appName=="classic")?ri+="webSimple/":ri+="web3d/",nt(ri,!1)},nt=function(Pt,sn){if(Pt.requirejs){mt=Pt;return}Pt.slice(-1)!=="/"&&(Pt+="/"),mt=Pt,sn===null&&(sn=Pt.indexOf("http")===-1),lt=sn,te="web.nocache.js",ne=!1;var an=mt.split("/");an.length>1&&(!sn&&an[an.length-2]==="webSimple"?(te="webSimple.nocache.js",ne=!0):Nt.indexOf(an[an.length-2])>=0&&(te=an[an.length-2]+".nocache.js")),an=Pt.split("/"),ze=an[an.length-3],ze.substr(0,4)==="test"?ze=ze.substr(4,1)+"."+ze.substr(5,1):(ze.substr(0,3)==="war"||ze.substr(0,4)==="beta")&&(ze="5.0");var zn=parseFloat(ze);zn!==NaN&&zn<5&&Pt.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+zn+" is deprecated. Using version latest instead."),dt("5.0",sn))},pn=function(Pt,sn){window.console&&window.console.log&&(!sn||typeof sn.showLogging=="undefined"||sn.showLogging&&sn.showLogging!=="false")&&console.log(Pt)};de.material_id!==void 0?rt(cn):cn();function cn(){var Pt=be;Re!==null?Pt=Re:parseFloat(Pt)<5&&(Pt="5.0"),dt(Pt,!1),Ve!==null&&nt(Ve,lt),Ye=!0}return Ge},GGBAppletUtils=function(){"use strict";function Ge(){return window.GGBT_wsf_edit!==void 0}function be(Ye,Re){Re!=1?(Ye.style.transformOrigin="0% 0% 0px",Ye.style.webkitTransformOrigin="0% 0% 0px",Ye.style.transform="scale("+Re+","+Re+")",Ye.style.webkitTransform="scale("+Re+","+Re+")",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,Re,Ve,Xe,qe,Je){var mt=null;if(Je!=null&&Je!="")for(var lt=Ye.parentNode;lt!=null;)if((" "+lt.className+" ").indexOf(" "+Je+" ")>-1){mt=lt;break}else lt=lt.parentNode;var Mt=0,ze=0,te=0,ne=0,he=0,se=0,ge=0;if(mt)Mt=mt.offsetWidth,ze=Math.max(Xe?mt.offsetWidth:0,mt.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(Mt=Math.min(window.innerWidth,document.documentElement.clientWidth),ze=Math.min(window.innerHeight,document.documentElement.clientHeight),te=Mt):(Mt=window.innerWidth,ze=window.innerHeight,te=window.innerWidth),Ye){var Se=Ye.getBoundingClientRect();Se.left>0&&Se.left<=Mt&&(qe===void 0||!qe)&&(document.dir==="rtl"?(he=Mt-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 Ce=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)&&Re>0&&Re+ne1&&(Je=!0)),Re&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(Je=!0),!(Ye.hasOwnProperty("disableAutoScale")&&Ye.disableAutoScale))qe=le(Ye,Re,Je,Ve,Ye.scaleContainerClass);else return Xe;return Je&&(!Ye.hasOwnProperty("scale")||Xe===1)?qe:Math.min(Xe,qe)}function De(Ye){var Re=Math.min(window.innerWidth,document.documentElement.clientWidth),Ve=Math.min(window.innerHeight,document.documentElement.clientHeight),Xe=Ye.getBoundingClientRect(),qe=(Re-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 Le(Ye,Re){var Ve=Ye.querySelector(".appletParameters");if(Ve){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Re.id!==Ve.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Ye)}if(Ve.parentElement&&/fullscreen/.test(Ve.parentElement.className))return;var Xe=Ie(Re,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 Re=Ye.lastIndexOf(rb);Re==-1&&(Re=Ye.length);var Ve=Ye.indexOf(sb);Ve==-1&&(Ve=Ye.length);var Xe=Ye.lastIndexOf(tb,Math.min(Ve,Re));return Xe>=O?Ye.substring(O,Xe+P):W}function be(Ye){if(!Ye.match(/^\w+:\/\//)){var Re=o.createElement(ub);Re.src=Ye+vb,Ye=Ge(Re.src)}return Ye}function de(){var Ye=__gwt_getMetaProperty(wb);return Ye!=null?Ye:W}function le(){for(var Ye=o.getElementsByTagName(_),Re=O;ReO?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 Le=de();return Le==W&&(Le=le()),Le==W&&(Le=Ie()),Le==W&&De()&&(Le=Ge(o.location.href)),Le=be(Le),Le}function C(Ge){return Ge.match(/^\//)||Ge.match(/^[a-zA-Z]+:\/\//)?Ge:webModule.__moduleBase+Ge}function D(){var Ge=[],be=O,de=[],le=[];function Ie(Ye){var Re=le[Ye](),Ve=de[Ye];if(Re in Ve)return Re;var Xe=[];for(var qe in Ve)Xe[Ve[qe]]=qe;throw r&&r(Ye,Xe,Re),null}if(__gwt_isKnownPropertyValue=function(Ye,Re){return Re in de[Ye]},webModule.__getPropMap=function(){var Ye={};for(var Re in de)de.hasOwnProperty(Re)&&(Ye[Re]=Ie(Re));return Ye},webModule.__computePropValue=Ie,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var De;try{De=Cb;var Le=De.indexOf(Db);Le!=-1&&(be=parseInt(De.substring(Le+P),$),De=De.substring(O,Le))}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})()},52358: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,ut=1,Lt=arguments.length;ut0&&Ct[Ct.length-1])&&(dn[0]===6||dn[0]===2)){Qt=0;continue}if(dn[0]===3&&(!Ct||dn[1]>Ct[0]&&dn[1]=0&&Me.HANDLE_LIST.splice(ut,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(ut){return console.log("Message.parse Error:",ut),Ae}},Me.HANDLE_LIST=[],Me}();function Ye(Me){return{}.toString.call(Me)==="[object Function]"}var Re,Ve,Xe,qe,Je={origin:""};function mt(Me,Ae){Je[Me]=Ae}function lt(Me){return Je[Me]}function Mt(Me){var Ae=lt("origin");return!!function(ut,Lt){return ut!==Lt&&(ut.replace(/www\./i,"").toLowerCase()!==Lt.replace(/www\./i,"").toLowerCase()||(ut.match("www.")?void 0:(mt("origin",Lt),!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"})(Re||(Re={})),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 ze,te,ne,he=(ze=0,function(){return ze+=1}),se=function(Me,Ae,ut){ut===void 0&&(ut=!0);var Lt=Ae;if(!te){var Ct=function Gt(fn){var en=fn.clientHeight,dn=fn.clientWidth;en!==0||dn!==0||ne?en===0&&dn===0||!ne||(ne.disconnect(),ne=null):window.ResizeObserver&&(ne=new ResizeObserver(function(ln){Gt(fn)})).observe(fn),te.style.cssText+="height: "+en+"px; width: "+dn+"px"}.bind(null,Lt);(te=document.createElement("iframe")).classList.add("web-office-iframe");var Wt={id:"office-iframe",src:Me,scrolling:"no",frameborder:"0",allowfullscreen:"allowfullscreen",webkitallowfullscreen:"true",mozallowfullscreen:"true",allow:"clipboard-read; clipboard-write"};for(var Qt in Lt?(Wt.style="width: "+Lt.clientWidth+"px; height: "+Lt.clientHeight+"px;",ut&&window.addEventListener("resize",Ct)):((Lt=document.createElement("div")).classList.add("web-office-default-container"),function(Gt){var fn=document.createElement("style");document.head.appendChild(fn);var en=fn.sheet;en.insertRule(Gt,en.cssRules.length)}(".web-office-default-container {position: absolute; padding: 0; margin: 0; width: 100%; height: 100%; left: 0; top: 0;}"),document.body.appendChild(Lt),Wt.style="position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%;"),Wt)te.setAttribute(Qt,Wt[Qt]);Lt.appendChild(te),te.destroy=function(){te.parentNode.removeChild(te),te=null,window.removeEventListener("resize",Ct),ne&&(ne.disconnect(),ne=null)}}return te},ge=function(Me){se().contentWindow&&se().contentWindow.postMessage(JSON.stringify(Me),lt("origin"))};function Se(Me,Ae,ut){return new Promise(function(Lt){var Ct=he(),Wt=function(Qt){if(!Mt(Qt)){var Gt=Le.parse(Qt.data);Gt.eventName===ut&&Gt.msgId===Ct&&(Lt(Gt.data),Le.remove(Wt))}};Le.add(Wt),ge({data:Me,msgId:Ct,eventName:Ae})})}var Ce=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 Ke(Me){return Ie(this,void 0,void 0,function(){var Ae,ut,Lt,Ct,Wt,Qt,Gt,fn,en,dn;return De(this,function(ln){switch(ln.label){case 0:return Mt(Me)?[2]:(Ae=Le.parse(Me.data),ut=Ae.eventName,Lt=Ae.callbackId,Ct=Ae.data,Lt&&(Wt=Be.idMap[Lt])?(Qt=Wt.split(":"),Gt=Qt[0],fn=Qt[1],ut==="api.callback"&&Be[Gt]&&Be[Gt][fn]?[4,(dn=Be[Gt][fn]).callback.apply(dn,Ct.args)]:[3,2]):[3,2]);case 1:en=ln.sent(),ge({result:en,callbackId:Lt,eventName:"api.callback.reply"}),ln.label=2;case 2:return[2]}})})}var rt=function(Me){return Ie(void 0,void 0,void 0,function(){function Ae(){return Object.keys(Be.idMap).find(function(ln){return Be.idMap[ln]===Lt+":"+ut})}var ut,Lt,Ct,Wt,Qt,Gt,fn,en,dn;return De(this,function(ln){switch(ln.label){case 0:return ut=Me.prop,Lt=Me.parentObjId,[4,ht([Ct=Me.value])];case 1:return Wt=ln.sent(),Qt=Wt[0],Gt=Wt[1],Me.value=Qt[0],fn=Object.keys(Gt)[0],en=Be[Lt],Ct===null&&en&&en[ut]&&((dn=Ae())&&delete Be.idMap[dn],delete en[ut],Object.keys(en).length||delete Be[Lt],Object.keys(Be.idMap).length||Le.remove(Ke)),fn&&(Object.keys(Be.idMap).length||Le.add(Ke),Be[Lt]||(Be[Lt]={}),Be[Lt][ut]={callbackId:fn,callback:Gt[fn]},(dn=Ae())&&delete Be.idMap[dn],Be.idMap[fn]=Lt+":"+ut),[2]}})})},st=function(Me,Ae,ut,Lt){return Ie(void 0,void 0,void 0,function(){var Ct,Wt,Qt,Gt,fn,en,dn,ln;return De(this,function(Ut){switch(Ut.label){case 0:return Ct=he(),Gt=new Promise(function(bn,un){Wt=bn,Qt=un}),fn={},Ae.args?[4,ht(Ae.args)]:[3,2];case 1:en=Ut.sent(),dn=en[0],ln=en[1],Ae.args=dn,fn=ln,Ut.label=2;case 2:return Me!=="api.setter"?[3,4]:[4,rt(Ae)];case 3:Ut.sent(),Ut.label=4;case 4:return function(bn){var un=bn[0],En=bn[1];typeof(un=le({},un)).data=="function"&&(un.data=un.data()),En(),ge(un)}([{eventName:Me,data:Ae,msgId:Ct},function(){var bn=this,un=function(En){return Ie(bn,void 0,void 0,function(){var nn,ci,Bn;return De(this,function(yt){switch(yt.label){case 0:return Mt(En)?[2]:(nn=Le.parse(En.data)).eventName==="api.callback"&&nn.callbackId&&fn[nn.callbackId]?[4,fn[nn.callbackId].apply(fn,nn.data.args)]:[3,2];case 1:ci=yt.sent(),ge({result:ci,eventName:"api.callback.reply",callbackId:nn.callbackId}),yt.label=2;case 2:return nn.eventName===Me+".reply"&&nn.msgId===Ct&&(nn.error?((Bn=new Error("")).stack=nn.error+` `+ut,Lt&&Lt(),Qt(Bn)):Wt(nn.result),Le.remove(un)),[2]}})})};return Le.add(un),Gt}]),[2,Gt]}})})};function ht(Me){return Ie(this,void 0,void 0,function(){var Ae,ut,Lt,Ct,Wt,Qt,Gt,fn,en,dn,ln;return De(this,function(Ut){switch(Ut.label){case 0:Ae={},ut=[],Lt=Me.slice(0),Ut.label=1;case 1:return Lt.length?(Ct=void 0,[4,Lt.shift()]):[3,13];case 2:return(Wt=Ut.sent())&&Wt.done?[4,Wt.done()]:[3,4];case 3:Ut.sent(),Ut.label=4;case 4:if(!function(bn){if(!bn)return!1;for(var un=bn;Object.getPrototypeOf(un)!==null;)un=Object.getPrototypeOf(un);return Object.getPrototypeOf(bn)===un}(Ct))return[3,11];for(Gt in Ct={},Qt=[],Wt)Qt.push(Gt);fn=0,Ut.label=5;case 5:return fn=0?"&":"?")+Bn.join("&")),en&&(en.isParentFullscreen||en.isBrowserViewFullscreen)&&(document.addEventListener("fullscreenchange",gn),document.addEventListener("webkitfullscreenchange",gn),document.addEventListener("mozfullscreenchange",gn)),ut.wordOptions&&(ut.wpsOptions=ut.wordOptions),ut.excelOptions&&(ut.etOptions=ut.excelOptions),ut.pptOptions&&(ut.wppOptions=ut.pptOptions),typeof Qt.print=="object"){var yt="wpsconfig_print";typeof Qt.print.subscribe=="function"&&(Qt[yt]=Qt.print.subscribe,ut.print={callback:yt},Qt.print.custom!==void 0&&(ut.print.custom=Qt.print.custom)),delete Qt.print}return typeof Qt.exportPdf=="function"&&(Qt[yt="wpsconfig_export_pdf"]=Qt.exportPdf,ut.exportPdf={callback:yt},delete Qt.exportPdf),ut.commandBars&&At(ut.commandBars,!1),le(le({},ut),{subscriptions:Qt})},ot=function(Me){Me===void 0&&(Me="");var Ae="";if(!Ae&&Me){var ut=Me.toLowerCase();ut.indexOf("/office/s/")!==-1&&(Ae=Re.spreadsheet),ut.indexOf("/office/w/")!==-1&&(Ae=Re.writer),ut.indexOf("/office/p/")!==-1&&(Ae=Re.presentation),ut.indexOf("/office/f/")!==-1&&(Ae=Re.pdf)}if(!Ae){var Lt=Me.match(/[\?&]type=([a-z]+)/)||[];Ae=Ve[Lt[1]]||""}return Ae};function At(Me,Ae){Ae===void 0&&(Ae=!0);var ut=Me.map(function(Lt){var Ct=Lt.attributes;if(!Array.isArray(Ct)){var Wt=[];for(var Qt in Ct)if(Ct.hasOwnProperty(Qt)){var Gt={name:Qt,value:Ct[Qt]};Wt.push(Gt)}Lt.attributes=Wt}return Lt});return Ae&&ge({data:ut,eventName:"setCommandBars"}),ut}var It=window.navigator.userAgent.toLowerCase(),tn=/Android|webOS|iPhone|iPod|BlackBerry|iPad/i.test(It),An=function(){try{return window._parent.location.search.indexOf("from=wxminiprogram")!==-1}catch(Me){return!1}}();function gn(){var Me={status:qe.requestFullscreen},Ae=document,ut=Ae.fullscreenElement||Ae.webkitFullscreenElement||Ae.mozFullScreenElement;Me.status=ut?qe.requestFullscreen:qe.exitFullscreen,ge({data:Me,eventName:"fullscreenchange"})}var vn=function(){Be.idMap={}};function xn(){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 Nt=0,dt=new Set;function nt(Me){return Nt+=1,!Me&&function(Ae){dt.forEach(function(ut){return ut(Ae)})}(Nt),Nt}function pn(){var Me=new Error("");return(Me.stack||Me.message||"").split(` `).slice(2).join(` `)}function cn(Me,Ae){var ut,Lt=this,Ct=Ae.Events,Wt=Ae.Enum,Qt=Ae.Props,Gt=Qt[0],fn=Qt[1],en={objId:Nt};switch(function bn(un,En,nn){for(var ci=En.slice(0),Bn=function(){var yt=ci.shift();!yt.alias&&~Pt.indexOf(yt.prop)&&ci.push(le(le({},yt),{alias:yt.prop+"Async"})),Object.defineProperty(un,yt.alias||yt.prop,{get:function(){var Dn=this,Nn=yt.cache===1,Ht=Nn&&this["__"+yt.prop+"CacheValue"];if(!Ht){var fi=pn(),zi=nt(Nn),Pi=function(){for(var In,ir=[],Gi=0;Gi=0?(Ae.then=null,Ae.catch=null,Gt.then(function(){fn(Ae)}).catch(function(dn){return en(dn)})):Gt.then(fn,en)},Ae.catch=function(fn){return Gt.catch(fn)},Ae.Destroy=function(){return st("api.free",{objId:Ae.objId},"")}}var zn={},Cn=null,ri={fileOpen:"fileOpen",tabSwitch:"tabSwitch",fileSaved:"fileSaved",fileStatus:"fileStatus",fullscreenChange:"fullscreenChange",error:"error",stage:"stage"},kt={getToken:"api.getToken",onToast:"event.toast",onHyperLinkOpen:"event.hyperLinkOpen",getClipboardData:"api.getClipboardData"};function Kn(Me,Ae,ut,Lt,Ct,Wt,Qt){var Gt=this;ut===void 0&&(ut={}),Le.add(function(fn){return Ie(Gt,void 0,void 0,function(){var en,dn,ln,Ut,bn,un,En,nn,ci,Bn,yt,Dn,Nn,Ht,fi,zi,Pi,In,ir;return De(this,function(Gi){switch(Gi.label){case 0:return Mt(fn)?[2]:(en=Le.parse(fn.data),dn=en.eventName,ln=dn===void 0?"":dn,Ut=en.data,bn=Ut===void 0?null:Ut,un=en.url,En=un===void 0?null:un,["wps.jssdk.api"].indexOf(ln)!==-1?[2]:ln!=="ready"?[3,1]:(Ct.apiReadySended&&function(si){var xi=[];Object.keys(zn).forEach(function(Di){zn[Di].forEach(function(ke){var pi=Di;si.off(pi,ke),xi.push({handle:ke,eventName:pi})}),delete zn[Di]}),xi.forEach(function(Di){var ke=Di.eventName,pi=Di.handle;Cn==null||Cn.ApiEvent.AddApiEventListener(ke,pi)})}(Ae),ge({eventName:"setConfig",data:le(le({},ut),{version:Me.version})}),Me.tokenData&&Me.setToken(le(le({},Me.tokenData),{hasRefreshTokenConfig:!!ut.refreshToken})),Me.iframeReady=!0,[3,15]));case 1:return ln!=="error"?[3,2]:(Ae.emit(ri.error,bn),[3,15]);case 2:return ln!=="open.result"?[3,3]:(((Pi=bn==null?void 0:bn.fileInfo)===null||Pi===void 0?void 0:Pi.officeVersion)!==void 0&&(Me.mainVersion=bn.fileInfo.officeVersion,console.log("aliyun Main Version: V"+Me.mainVersion)),Ae.emit(ri.fileOpen,bn),[3,15]);case 3:return ln!=="api.scroll"?[3,4]:(window.scrollTo(bn.x,bn.y),[3,15]);case 4:if(ln!==kt.getToken)return[3,9];nn={token:!1},Gi.label=5;case 5:return Gi.trys.push([5,7,,8]),[4,Ct.refreshToken()];case 6:return nn=Gi.sent(),[3,8];case 7:return ci=Gi.sent(),console.error("refreshToken: "+(ci||"fail to get")),[3,8];case 8:return ge({eventName:kt.getToken+".reply",data:nn}),[3,15];case 9:if(ln!==kt.getClipboardData)return[3,14];Bn={text:"",html:""},Gi.label=10;case 10:return Gi.trys.push([10,12,,13]),[4,Ct.getClipboardData()];case 11:return Bn=Gi.sent(),[3,13];case 12:return yt=Gi.sent(),console.error("getClipboardData: "+(yt||"fail to get")),[3,13];case 13:return ge({eventName:kt.getClipboardData+".reply",data:Bn}),[3,15];case 14:ln===kt.onToast?Ct.onToast(bn):ln===kt.onHyperLinkOpen?Ct.onHyperLinkOpen(bn):ln==="stage"?Ae.emit(ri.stage,bn):ln==="event.callback"?(Dn=bn.eventName,Nn=bn.data,Ht=Dn,Dn==="fullScreenChange"&&(Ht=ri.fullscreenChange),Dn==="file.saved"&&(Ht=ri.fileStatus),(!((In=ut.commonOptions)===null||In===void 0)&&In.isBrowserViewFullscreen||!((ir=ut.commonOptions)===null||ir===void 0)&&ir.isParentFullscreen)&&Ht==="fullscreenchange"&&(fi=Nn.status,zi=Nn.isDispatchEvent,ut.commonOptions.isBrowserViewFullscreen?function(si,xi,Di,ke){si===0?xi.style="position: static; width: "+Di.width+"; height: "+Di.height:si===1&&(xi.style="position: absolute; width: 100%; height: 100%"),ke&&function(pi){["fullscreen","fullscreenElement"].forEach(function(Oi){Object.defineProperty(document,Oi,{get:function(){return!!pi.status},configurable:!0})});var Li=new CustomEvent("fullscreenchange");document.dispatchEvent(Li)}({status:si})}(fi,Wt,Qt,zi):ut.commonOptions.isParentFullscreen&&function(si,xi,Di){var ke=document.querySelector(Di),pi=ke&&ke.nodeType===1?ke:xi;if(si===0){var Li=document,Oi=Li.exitFullscreen||Li.mozCancelFullScreen||Li.msExitFullscreen||Li.webkitCancelFullScreen||Li.webkitExitFullscreen;Oi.call(document)}else if(si===1){var dr=pi.requestFullscreen||pi.mozRequestFullScreen||pi.msRequestFullscreen||pi.webkitRequestFullscreen;dr.call(pi)}}(fi,Wt,ut.commonOptions.isParentFullscreen)),Ae.emit(Ht,Nn)):ln==="api.ready"&&cn(Me,bn),Gi.label=15;case 15:return typeof Lt[ln]=="function"&&Lt[ln](Me,En||bn),[2]}})})})}function li(Me){return new Promise(function(Ae){var ut=function(Lt){Mt(Lt)||Le.parse(Lt.data).eventName===Me&&(Ae(),Le.remove(ut))};Le.add(ut)})}function et(Me){var Ae,ut=this;Me===void 0&&(Me={}),Cn&&Cn.destroy();try{var Lt=bt(Me),Ct=Lt.subscriptions,Wt=Ct===void 0?{}:Ct,Qt=Lt.mount,Gt=Qt===void 0?null:Qt,fn=Lt.url,en=Lt.refreshToken,dn=Lt.onToast,ln=Lt.onHyperLinkOpen,Ut=Lt.getClipboardData;mt("origin",(fn.match(/https*:\/\/[^\/]+/g)||[])[0]);var bn=se(fn,Gt),un=li("ready"),En=li("open.result"),nn=li("api.ready"),ci=Gt?{width:Gt.clientWidth+"px",height:Gt.clientHeight+"px"}:{width:"100vw",height:"100vh"};delete Lt.mount,fn&&delete Lt.url,delete Lt.subscriptions;var Bn=(Ae=Ae||Object.create(null),{on:function(Nn,Ht){(Ae[Nn]||(Ae[Nn]=[])).push(Ht)},off:function(Nn,Ht){Ae[Nn]&&Ae[Nn].splice(Ae[Nn].indexOf(Ht)>>>0,1)},emit:function(Nn,Ht){(Ae[Nn]||[]).slice().map(function(fi){fi(Ht)}),(Ae["*"]||[]).slice().map(function(fi){fi(Nn,Ht)})}}),yt={apiReadySended:!1},Dn=function(Nn,Ht,fi){return Ie(ut,void 0,void 0,function(){return De(this,function(zi){switch(zi.label){case 0:return function(Pi,In,ir){if(zn[Pi]){var Gi=!!zn[Pi].find(function(si){return si===In});return Gi&&ir==="off"?(Bn.off(Pi,In),zn[Pi]=zn[Pi].filter(function(si){return si!==In}),!!zn[Pi].length||(zn[Pi]=void 0,!1)):(Gi||ir!=="on"||(zn[Pi].push(In),Bn.on(Pi,In)),!0)}return ir==="on"?(zn[Pi]=[],zn[Pi].push(In),!1):ir==="off"||void 0}(Nn,Ht,fi)?[3,2]:[4,un];case 1:zi.sent(),function(Pi,In){var ir=Pi.eventName,Gi=Pi.type,si=Pi.handle;In==="on"?Bn.on(ir,si):Bn.off(ir,si),Gi==="base.event"&&ge({eventName:"basic.event",data:{eventName:ir,action:In}}),xn()}(function(Pi,In){var ir=Pi,Gi="base.event";switch(ir){case ri.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"),ir="fileStatus";break;case ri.fullscreenChange:ir="fullscreenchange";break;case"error":case"fileOpen":Gi="callback.event"}return{eventName:ir,type:Gi,handle:In}}(Nn,Ht),fi),zi.label=2;case 2:return[2]}})})};return Cn={url:fn,iframe:bn,version:"1.1.19",iframeReady:!1,tokenData:null,commandBars:null,tabs:{getTabs:function(){return Ie(this,void 0,void 0,function(){return De(this,function(Nn){switch(Nn.label){case 0:return[4,un];case 1:return Nn.sent(),[2,Oe({api:"tab.getTabs"})]}})})},switchTab:function(Nn){return Ie(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,un];case 1:return Ht.sent(),[2,Oe({api:"tab.switchTab",args:{tabKey:Nn}})]}})})}},setCooperUserColor:function(Nn){return Ie(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,un];case 1:return Ht.sent(),[2,Oe({api:"setCooperUserColor",args:Nn})]}})})},setToken:function(Nn){return Ie(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,un];case 1:return Ht.sent(),Cn.tokenData=Nn,ge({eventName:"setToken",data:Nn}),[2]}})})},ready:function(){return Ie(this,void 0,void 0,function(){return De(this,function(Nn){switch(Nn.label){case 0:return yt.apiReadySended?[3,2]:[4,En];case 1:Nn.sent(),yt.apiReadySended=!0,ge({eventName:"api.ready"}),Nn.label=2;case 2:return[4,nn];case 3:return Nn.sent(),[2,new Promise(function(Ht){return setTimeout(function(){return Ht(Cn==null?void 0:Cn.Application)},0)})]}})})},destroy:function(){zn={},bn.destroy(),Le.empty(),Cn=null,dt=new Set,Nt=0,document.removeEventListener("fullscreenchange",gn),vn()},save:function(){return Ie(this,void 0,void 0,function(){return De(this,function(Nn){switch(Nn.label){case 0:return[4,un];case 1:return Nn.sent(),[2,Ce({api:"save"})]}})})},setCommandBars:function(Nn){return Ie(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,un];case 1:return Ht.sent(),At(Nn),[2]}})})},updateConfig:function(Nn){return Nn===void 0&&(Nn={}),Ie(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,un];case 1:return Ht.sent(),Nn.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,At(Nn.commandBars)]):[3,3];case 2:Ht.sent(),Ht.label=3;case 3:return[2]}})})},executeCommandBar:function(Nn){return Ie(this,void 0,void 0,function(){return De(this,function(Ht){switch(Ht.label){case 0:return[4,un];case 1:return Ht.sent(),At([{cmbId:Nn,attributes:[{name:"click",value:!0}]}]),[2]}})})},on:function(Nn,Ht){return Ie(this,void 0,void 0,function(){return De(this,function(fi){return[2,this.ApiEvent.AddApiEventListener(Nn,Ht)]})})},off:function(Nn,Ht){return Ie(this,void 0,void 0,function(){return De(this,function(fi){return[2,this.ApiEvent.RemoveApiEventListener(Nn,Ht)]})})},ApiEvent:{AddApiEventListener:function(Nn,Ht){return Ie(this,void 0,void 0,function(){return De(this,function(fi){switch(fi.label){case 0:return[4,Dn(Nn,Ht,"on")];case 1:return[2,fi.sent()]}})})},RemoveApiEventListener:function(Nn,Ht){return Ie(this,void 0,void 0,function(){return De(this,function(fi){switch(fi.label){case 0:return[4,Dn(Nn,Ht,"off")];case 1:return[2,fi.sent()]}})})}}},function(Nn,Ht,fi,zi,Pi,In){Ht&&Ye(Ht)&&(Pi.refreshToken=Ht,Nn.refreshToken={eventName:kt.getToken}),In&&Ye(In)&&(Pi.getClipboardData=In,Nn.getClipboardData={eventName:kt.getClipboardData}),fi&&Ye(fi)&&(Pi.onToast=fi,Nn.onToast={eventName:kt.onToast}),zi&&Ye(zi)&&(Pi.onHyperLinkOpen=zi,Nn.onHyperLinkOpen={eventName:kt.onHyperLinkOpen})}(Lt,en,dn,ln,yt,Ut),Kn(Cn,Bn,Lt,Wt,yt,bn,ci),Cn}catch(Nn){console.error(Nn)}}console.log("aliyun JS-SDK V1.1.19");var je=Object.freeze({__proto__:null,listener:Kn,config:et});window.WPS=je;var xe=et,Te={config:xe};de.config=xe,de.default=Te,Object.defineProperty(de,"__esModule",{value:!0})})},46699:function(Ge,be,de){"use strict";de.d(be,{Ax:function(){return Le},Ds:function(){return Ye},KI:function(){return Ve},SI:function(){return De},f1:function(){return Ie}});var le=de(346);function Ie(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(Re)for(var he of Re(ne))Xe.call(ne,he)&&qe(te,he,ne[he]);return te},mt=(te,ne)=>Le(te,Ye(ne)),lt=(te,ne)=>{var he={};for(var se in te)Ve.call(te,se)&&ne.indexOf(se)<0&&(he[se]=te[se]);if(te!=null&&Re)for(var se of Re(te))ne.indexOf(se)<0&&Xe.call(te,se)&&(he[se]=te[se]);return he},Mt=(te,ne,he)=>new Promise((se,ge)=>{var Se=Be=>{try{Oe(he.next(Be))}catch(Ke){ge(Ke)}},Ce=Be=>{try{Oe(he.throw(Be))}catch(Ke){ge(Ke)}},Oe=Be=>Be.done?se(Be.value):Promise.resolve(Be.value).then(Se,Ce);Oe((he=he.apply(te,ne)).next())});const ze=te=>{var ne=te,{children:he}=ne,se=lt(ne,["children"]);const[ge,Se]=(0,Ie.useState)(!1);return Ie.createElement(le.ZP,mt(Je({},se),{loading:ge,onClick:Ce=>Mt(void 0,null,function*(){try{Se(!0),yield se.onClick(Ce),Se(!1)}catch(Oe){console.error(Oe),Se(!1)}})}),he)}},85788:function(Ge,be,de){"use strict";var le=de(86204),Ie=de.n(le),De=Object.defineProperty,Le=(Xe,qe,Je)=>qe in Xe?De(Xe,qe,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Xe[qe]=Je,Ye=(Xe,qe,Je)=>Le(Xe,typeof qe!="symbol"?qe+"":qe,Je),Re=(Xe,qe,Je)=>new Promise((mt,lt)=>{var Mt=ne=>{try{te(Je.next(ne))}catch(he){lt(he)}},ze=ne=>{try{te(Je.throw(ne))}catch(he){lt(he)}},te=ne=>ne.done?mt(ne.value):Promise.resolve(ne.value).then(Mt,ze);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 Re(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 ze=yield Je.json();this.emit("error",ze);return}if(!mt.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const lt=Je.body.getReader(),Mt=new TextDecoder("utf-8");for(;;){const{done:ze,value:te}=yield lt.read();if(ze)break;const ne=Mt.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},81679:function(Ge,be,de){"use strict";de.d(be,{Z:function(){return Mt}});var le=de(59301),Ie=de(30641),De=de(77019),Le=de(5269),Ye={smartWrp:"smartWrp___NjRcB"},Re=de(75975),Ve=de(45775),Xe=de(84842),qe=de(59301),Je=(ze,te,ne)=>new Promise((he,se)=>{var ge=Oe=>{try{Ce(ne.next(Oe))}catch(Be){se(Be)}},Se=Oe=>{try{Ce(ne.throw(Oe))}catch(Be){se(Be)}},Ce=Oe=>Oe.done?he(Oe.value):Promise.resolve(Oe.value).then(ge,Se);Ce((ne=ne.apply(ze,te)).next())});const mt=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

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