(self.webpackChunk=self.webpackChunk||[]).push([[9406],{54262:function(ke,mt,oe){"use strict";oe.d(mt,{Z:function(){return ve}});var z=oe(87462),se=oe(67294),we={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},Te=we,he=oe(74643),je=function(Me,Ne){return se.createElement(he.Z,(0,z.Z)({},Me,{ref:Ne,icon:Te}))},ve=se.forwardRef(je)},71736:function(ke,mt){"use strict";mt.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},90613:function(ke,mt,oe){"use strict";var z=oe(67294),se=Object.defineProperty,we=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,he=Object.prototype.propertyIsEnumerable,je=(Me,Ne,Ge)=>Ne in Me?se(Me,Ne,{enumerable:!0,configurable:!0,writable:!0,value:Ge}):Me[Ne]=Ge,ve=(Me,Ne)=>{for(var Ge in Ne||(Ne={}))Te.call(Ne,Ge)&&je(Me,Ge,Ne[Ge]);if(we)for(var Ge of we(Ne))he.call(Ne,Ge)&&je(Me,Ge,Ne[Ge]);return Me};const Be=Me=>React.createElement("svg",ve({width:17,height:10,xmlns:"http://www.w3.org/2000/svg"},Me),React.createElement("title",null,"new"),React.createElement("defs",null,React.createElement("linearGradient",{x1:"-5%",y1:"37.065%",x2:"100%",y2:"67.301%",id:"new_svg__a"},React.createElement("stop",{stopColor:"#FF420B",offset:"0%"}),React.createElement("stop",{stopColor:"#FF9B44",offset:"100%"}))),React.createElement("path",{d:"M700.618 185h-14.236c-.781 0-1.382.629-1.382 1.447v7.106c0 .818.6 1.447 1.382 1.447h14.236c.781 0 1.382-.629 1.382-1.447v-7.106c0-.818-.6-1.447-1.382-1.447Zm-10.692 7.358h-.961l-1.863-3.836v3.836h-.6v-4.59h.84l1.923 3.962h.06v-3.963h.6v4.591Zm1.502-2.641h2.342v.629h-2.342v.126c0 .817.24 1.195.72 1.195h1.682v.629h-1.682c-.36 0-.66-.126-.9-.44-.24-.315-.361-.818-.361-1.384v-1.07c0-1.069.66-1.509 1.321-1.635h1.622v.63h-1.561c-.24.062-.781.25-.781 1.006-.06.125-.06.188-.06.314Zm7.809 2.641h-.841l-.841-3.647-.961 3.647h-.901l-1.262-4.59h.66l1.082 3.773h.06l.961-3.774h.721l.961 3.963 1.142-3.963h.6l-1.381 4.591Z",transform:"translate(-685 -185)",fill:"url(#new_svg__a)",fillRule:"nonzero"}));mt.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSItNSUiIHkxPSIzNy4wNjUlIiB4Mj0iMTAwJSIgeTI9IjY3LjMwMSUiIGlkPSJhIj48c3RvcCBzdG9wLWNvbG9yPSIjRkY0MjBCIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGOUI0NCIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD0iTTcwMC42MTggMTg1aC0xNC4yMzZjLS43ODEgMC0xLjM4Mi42MjktMS4zODIgMS40NDd2Ny4xMDZjMCAuODE4LjYgMS40NDcgMS4zODIgMS40NDdoMTQuMjM2Yy43ODEgMCAxLjM4Mi0uNjI5IDEuMzgyLTEuNDQ3di03LjEwNmMwLS44MTgtLjYtMS40NDctMS4zODItMS40NDdabS0xMC42OTIgNy4zNThoLS45NjFsLTEuODYzLTMuODM2djMuODM2aC0uNnYtNC41OWguODRsMS45MjMgMy45NjJoLjA2di0zLjk2M2guNnY0LjU5MVptMS41MDItMi42NDFoMi4zNDJ2LjYyOWgtMi4zNDJ2LjEyNmMwIC44MTcuMjQgMS4xOTUuNzIgMS4xOTVoMS42ODJ2LjYyOWgtMS42ODJjLS4zNiAwLS42Ni0uMTI2LS45LS40NC0uMjQtLjMxNS0uMzYxLS44MTgtLjM2MS0xLjM4NHYtMS4wN2MwLTEuMDY5LjY2LTEuNTA5IDEuMzIxLTEuNjM1aDEuNjIydi42M2gtMS41NjFjLS4yNC4wNjItLjc4MS4yNS0uNzgxIDEuMDA2LS4wNi4xMjUtLjA2LjE4OC0uMDYuMzE0Wm03LjgwOSAyLjY0MWgtLjg0MWwtLjg0MS0zLjY0Ny0uOTYxIDMuNjQ3aC0uOTAxbC0xLjI2Mi00LjU5aC42NmwxLjA4MiAzLjc3M2guMDZsLjk2MS0zLjc3NGguNzIxbC45NjEgMy45NjMgMS4xNDItMy45NjNoLjZsLTEuMzgxIDQuNTkxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY4NSAtMTg1KSIgZmlsbD0idXJsKCNhKSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+"},18023:function(){"use strict";function ke(ie,a,E,x){E===void 0&&(E=0),x===void 0&&(x=1/0),this._name=ie,this._defaultValue=a,this._minimum=E,this._maximum=x}Object.defineProperty(ke.prototype,"name",{get:function(){return this._name},set:function(ie){if(typeof ie!="string"||ie==="")throw new Error("Shape name must be a valid string.");this._name=ie}}),Object.defineProperty(ke.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(ie){if(typeof ie!="number"||isNaN(ie))throw new Error("The default value must be a real number, not: "+ie);this._defaultValue=ie}}),Object.defineProperty(ke.prototype,"minimum",{get:function(){return this._minimum},set:function(ie){if(typeof ie!="number"||isNaN(ie))throw new Error("Minimum must be a real number, not: "+ie);this._minimum=ie}}),Object.defineProperty(ke.prototype,"maximum",{get:function(){return this._maximum},set:function(ie){if(typeof ie!="number"||isNaN(ie))throw new Error("Maximum must be a real number, not: "+ie);this._maximum=ie}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(ie,a){var E=go.Shape._FigureParameters[ie];return E?E[a]:null},go.Shape.setFigureParameter=function(ie,a,E){if(!(E instanceof ke))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+E);if(E.defaultValueE.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+E.defaultValue);var x=go.Shape._FigureParameters[ie];x||(x=[],go.Shape._FigureParameters[ie]=x),x[a]=E};var mt=[];function oe(ie,a){var E=mt.pop();return E===void 0?new go.Point(ie,a):(E.x=ie,E.y=a,E)}function z(){var ie=mt.pop();return ie===void 0?new go.Point:ie}function se(ie){mt.push(ie)}function we(ie,a,E,x,y,b,ee,te,ne){ne||(ne=new go.Point);var re=ie-E,ue=y-ee,ce=NaN,Ce=NaN;if(re===0)if(ue===0)ie===E&&(ce=ie,Ce=a);else{var me=(b-te)/ue,Se=b-me*y;ce=ie,Ce=me*ce+Se}else if(ue===0){var Pe=(a-x)/re,We=a-Pe*ie;ce=y,Ce=Pe*ce+We}else{var Pe=(a-x)/re,me=(b-te)/ue,We=a-Pe*ie,Se=b-me*y;ce=(Se-We)/(Pe-me),Ce=Pe*ce+We}return ne.x=ce,ne.y=Ce,ne}function Te(ie,a,E,x,y,b,ee,te,ne,re,ue,ce,Ce,me){var Se=1-ne,Pe=ne,We=ie*Se+E*Pe,Ze=a*Se+x*Pe,lt=E*Se+y*Pe,ft=x*Se+b*Pe,ut=y*Se+ee*Pe,Dt=b*Se+te*Pe,Rt=We*Se+lt*Pe,Lt=Ze*Se+ft*Pe,He=lt*Se+ut*Pe,ot=ft*Se+Dt*Pe,Nt=Rt*Se+He*Pe,ht=Lt*Se+ot*Pe;re.x=We,re.y=Ze,ue.x=Rt,ue.y=Lt,ce.x=Nt,ce.y=ht,Ce.x=He,Ce.y=ot,me.x=ut,me.y=Dt}var he=new go.Spot(.156,.156),je=new go.Spot(.844,.844),ve=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new ke("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(ie,a,E){var x=ie?ie.parameter1:NaN;(isNaN(x)||x<0)&&(x=5),x=Math.min(x,a/3),x=Math.min(x,E/3);var y=x*ve,b=new go.Geometry().add(new go.PathFigure(x,0,!0).add(new go.PathSegment(go.PathSegment.Line,a-x,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-y,0,a,y)).add(new go.PathSegment(go.PathSegment.Line,a,E-x)).add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,E-y,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,x,E)).add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,y,E,0,E-y)).add(new go.PathSegment(go.PathSegment.Line,0,x)).add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,y,y,0).close()));return y>1&&(b.spot1=new go.Spot(0,0,y,y),b.spot2=new go.Spot(1,1,-y,-y)),b}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(a,E).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(a,E).add(new go.PathSegment(go.PathSegment.Line,0,E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(ie,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=E/2,x.endX=a,x.endY=E/2,x}),go.Shape.defineFigureGenerator("LineV",function(ie,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=a/2,x.startY=0,x.endX=a/2,x.endY=E,x}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,E/2,!1).add(new go.PathSegment(go.PathSegment.Line,a,E/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,E)))}),go.Shape.defineFigureGenerator("XLine",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)))}),go.Shape.defineFigureGenerator("LineRight",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.25*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.25*a,E)))}),go.Shape.defineFigureGenerator("LineDown",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,.25*E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.75*E)).add(new go.PathSegment(go.PathSegment.Line,a,.25*E)))}),go.Shape.defineFigureGenerator("LineLeft",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.75*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.75*a,E)))}),go.Shape.defineFigureGenerator("LineUp",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,.75*E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,a,.75*E)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(ie,a,E){var x=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(x*a,(1-x)*E,!1).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*E)).add(new go.PathSegment(go.PathSegment.Move,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Move,0,E/2)).add(new go.PathSegment(go.PathSegment.Line,a,E/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,E)))}),go.Shape.defineFigureGenerator("CircleLine",function(ie,a,E){var x=a/2,y=new go.Geometry().add(new go.PathFigure(a,a/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,x,x,x,x).close()));return y.spot1=he,y.spot2=je,y.defaultStretch=go.GraphObject.Uniform,y}),go.Shape.defineFigureGenerator("Line1",function(ie,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=0,x.endX=a,x.endY=E,x}),go.Shape.defineFigureGenerator("Line2",function(ie,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=a,x.startY=0,x.endX=0,x.endY=E,x}),go.Shape.defineFigureGenerator("Curve1",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,E,ve*a,0,a,(1-ve)*E)))}),go.Shape.defineFigureGenerator("Curve2",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,E,0,ve*E,(1-ve)*a,E)))}),go.Shape.defineFigureGenerator("Curve3",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,ve*E,ve*a,E)))}),go.Shape.defineFigureGenerator("Curve4",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,E,(1-ve)*a,0,0,(1-ve)*E)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new ke("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)?x=.1:x<-1?x=-1:x>1&&(x=1);var y=Math.abs(x)*a;if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),ya&&(x=a);var y=Math.abs(x);if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),y.5&&(x=.5);var y=Math.abs(x)*a;if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),ya&&(x=a/2);var y=Math.abs(x);if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())),ya&&(x=a/2);var y=Math.abs(x);if(x===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var b=new go.Geometry;return x>0?b.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-y,E)).add(new go.PathSegment(go.PathSegment.Line,y,E).close())):b.add(new go.PathFigure(y,0).add(new go.PathSegment(go.PathSegment.Line,a-y,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())),y0&&(ee.add(new go.PathSegment(go.PathSegment.Move,a/2+te,a/2)),ee.add(new go.PathSegment(go.PathSegment.Arc,0,-360,y,y,te,te).close())),b.spot1=he,b.spot2=je,b.defaultStretch=go.GraphObject.Uniform,b}),go.Shape.defineFigureGenerator("Cloud",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.08034461*a,.1944299*E,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*a,.05349299*E,-.09239631*a,.07836421*E,.1406031*a,-.0542823*E)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*a,.074219*E,.2450511*a,-.00697547*E,.3776197*a,-.01112067*E)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*a,.07004196*E,.4539471*a,0,.6066018*a,-.02526587*E)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*a,.08370865*E,.6914277*a,-.01904177*E,.8921095*a,-.01220843*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*a,.3194596*E,1.036446*a,.04105738*E,1.020377*a,.3022052*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*a,.562044*E,1.04448*a,.360238*E,.992256*a,.5219009*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*a,.8217117*E,1.032337*a,.5771781*E,1.018411*a,.8120651*E)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*a,.9156953*E,1.028411*a,.9571472*E,.8556702*a,1.052487*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*a,.9310455*E,.7431877*a,1.009325*E,.5624123*a,1.021761*E)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*a,.9344623*E,.4820677*a,1.031761*E,.3030112*a,1.002796*E)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.870098*E,.2329994*a,1.01518*E,.03213784*a,1.01518*E)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*a,.6545475*E,-.02812061*a,.9032597*E,-.01205169*a,.6835638*E)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*a,.4265613*E,-.01812061*a,.6089503*E,-.00606892*a,.4555777*E)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.1944299*E,-.01606892*a,.3892545*E,-.01205169*a,.1944299*E))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(ie,a,E){var x=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(x*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,x*E)).add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Line,x*a,E)).add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Line,0,x*E).close())).setSpots(x/2,x/2,1-x/2,1-x/2)}),go.Shape.setFigureParameter("Pie",0,new ke("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new ke("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(ie,a,E){var x=ie?ie.parameter1:NaN,y=ie?ie.parameter2:NaN;isNaN(x)&&(x=0),isNaN(y)&&(y=315);var b=x%360;b<0&&(b+=360);var ee=y%360,te=Math.min(a,E)/2;return new go.Geometry().add(new go.PathFigure(te,te).add(new go.PathSegment(go.PathSegment.Arc,b,ee,te,te,te,te).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(ie,a,E){var x=ve/Math.SQRT2*.5,y=Math.SQRT2/2,b=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(a,E,!0).add(new go.PathSegment(go.PathSegment.Bezier,y*a,b*E,a,(1-x)*E,(y+x)*a,(b+x)*E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close()))}),go.Shape.setFigureParameter("ThickCross",0,new ke("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(ie,a,E){var x=ie?ie.parameter1:NaN;(isNaN(x)||x<0)&&(x=30);var y=Math.min(x,a)/2,b=a/2,ee=E/2;return new go.Geometry().add(new go.PathFigure(b-y,0,!0).add(new go.PathSegment(go.PathSegment.Line,b+y,0)).add(new go.PathSegment(go.PathSegment.Line,b+y,ee-y)).add(new go.PathSegment(go.PathSegment.Line,a,ee-y)).add(new go.PathSegment(go.PathSegment.Line,a,ee+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,ee+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,ee+y)).add(new go.PathSegment(go.PathSegment.Line,0,ee+y)).add(new go.PathSegment(go.PathSegment.Line,0,ee-y)).add(new go.PathSegment(go.PathSegment.Line,b-y,ee-y).close()))}),go.Shape.setFigureParameter("ThinCross",0,new ke("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(ie,a,E){var x=ie?ie.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var y=Math.min(x,a)/2,b=a/2,ee=E/2;return new go.Geometry().add(new go.PathFigure(b-y,0,!0).add(new go.PathSegment(go.PathSegment.Line,b+y,0)).add(new go.PathSegment(go.PathSegment.Line,b+y,ee-y)).add(new go.PathSegment(go.PathSegment.Line,a,ee-y)).add(new go.PathSegment(go.PathSegment.Line,a,ee+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,ee+y)).add(new go.PathSegment(go.PathSegment.Line,b+y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,E)).add(new go.PathSegment(go.PathSegment.Line,b-y,ee+y)).add(new go.PathSegment(go.PathSegment.Line,0,ee+y)).add(new go.PathSegment(go.PathSegment.Line,0,ee-y)).add(new go.PathSegment(go.PathSegment.Line,b-y,ee-y).close()))}),go.Shape.setFigureParameter("ThickX",0,new ke("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(ie,a,E){var x=ie?ie.parameter1:NaN;if((isNaN(x)||x<0)&&(x=30),a===0||E===0){var y=new go.Geometry(go.Geometry.Rectangle);return y.startX=0,y.startY=0,y.endX=a,y.endY=E,y}else{var b=a/2,ee=E/2,te=Math.atan2(E,a),ne=x-Math.min(Math.cos(te)*x/2,b),re=x-Math.min(Math.sin(te)*x/2,ee),y=new go.Geometry,ue=new go.PathFigure(ne,0,!0);return y.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,b,.2*E)),ue.add(new go.PathSegment(go.PathSegment.Line,a-ne,0)),ue.add(new go.PathSegment(go.PathSegment.Line,a,re)),ue.add(new go.PathSegment(go.PathSegment.Line,.8*a,ee)),ue.add(new go.PathSegment(go.PathSegment.Line,a,E-re)),ue.add(new go.PathSegment(go.PathSegment.Line,a-ne,E)),ue.add(new go.PathSegment(go.PathSegment.Line,b,.8*E)),ue.add(new go.PathSegment(go.PathSegment.Line,ne,E)),ue.add(new go.PathSegment(go.PathSegment.Line,0,E-re)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,ee)),ue.add(new go.PathSegment(go.PathSegment.Line,0,re).close()),y}}),go.Shape.setFigureParameter("ThinX",0,new ke("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(ie,a,E){var x=ie?ie.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var y=new go.Geometry,b=new go.PathFigure(.1*a,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.1*E).close()),y}),go.Shape.setFigureParameter("SquareIBeam",0,new ke("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.2);var y=new go.Geometry,b=new go.PathFigure(0,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,(1-x)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,x*E).close()),y}),go.Shape.setFigureParameter("RoundedIBeam",0,new ke("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.5);var y=new go.Geometry,b=new go.PathFigure(0,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,E,Math.abs(1-x)*a,.25*E,Math.abs(1-x)*a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*E,x*a,.25*E).close()),y}),go.Shape.defineFigureGenerator("HalfEllipse",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,ve*a,0,a,(.5-ve/2)*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,(.5+ve/2)*E,ve*a,E).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,0,a,E)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*a,.75*E,.5*a,.25*E).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,E,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*E,.1*a,.8*E,0,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,0,0,.45*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,.3*E,.55*a,0,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,.5*E,.9*a,.8*E).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*a,.01*E)).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.6*a,.2*E,a,.25*E)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.7*E,a,.8*E,.6*a,.8*E)).add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,.5*a,.75*E,.55*a,.95*E)).add(new go.PathSegment(go.PathSegment.Line,.25*a,E)).add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.7*E,.45*a,.95*E,.5*a,.75*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.4*a,.8*E,0,.8*E)).add(new go.PathSegment(go.PathSegment.Bezier,.49*a,.01*E,0,.25*E,.4*a,.2*E).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.4*a,.6*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.15*a,E,.5*a,.75*E,.45*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.6*E,.55*a,.95*E,.5*a,.75*E));var b=.2,ee=.3,te=0,ne=b*ve;return y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5+b+te)*E,(.5-b+ee)*a,(.5+ne+te)*E,(.5-ne+ee)*a,(.5+b+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+ee)*a,(.5+te)*E,(.5+ne+ee)*a,(.5+b+te)*E,(.5+b+ee)*a,(.5+ne+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5-b+te)*E,(1-.5+b+ee)*a,(.5-ne+te)*E,(.5+ne+ee)*a,(.5-b+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.65*a,.36771243*E,(.5-ne+ee)*a,(.5-b+te)*E,(.5-b+ee+.05)*a,(.5-ne+te-.02)*E)),b=.2,ee=0,te=-.3,ne=b*ve,y.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+ee)*a,(.5+te)*E,(.5+ne+ee)*a,(.5+b+te)*E,(.5+b+ee)*a,(.5+ne+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5-b+te)*E,(1-.5+b+ee)*a,(.5-ne+te)*E,(.5+ne+ee)*a,(.5-b+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+ee)*a,(.5+te)*E,(.5-ne+ee)*a,(.5-b+te)*E,(.5-b+ee)*a,(.5-ne+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ne+ee)*a,(.5+b+te)*E,(.5-b+ee)*a,(.5+ne+te)*E,(.5-ne+ee)*a,(.5+b+te)*E)),b=.2,ee=-.3,te=0,ne=b*ve,y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5-b+te)*E,(1-.5+b+ee-.05)*a,(.5-ne+te-.02)*E,(.5+ne+ee)*a,(.5-b+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+ee)*a,(.5+te)*E,(.5-ne+ee)*a,(.5-b+te)*E,(.5-b+ee)*a,(.5-ne+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5+b+te)*E,(.5-b+ee)*a,(.5+ne+te)*E,(.5-ne+ee)*a,(.5+b+te)*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.6*E,(.5+ne+ee)*a,(.5+b+te)*E,(.5+b+ee)*a,(.5+ne+te)*E).close()),x.setSpots(.06,.33,.93,.68),x}),go.Shape.defineFigureGenerator("YinYang",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.5,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,a*.5,a*.5,a*.5,a*.5)),y.add(new go.PathSegment(go.PathSegment.Arc,90,-180,a*.5,a*.75,a*.25,a*.25)),y.add(new go.PathSegment(go.PathSegment.Arc,90,180,a*.5,a*.25,a*.25,a*.25));var b=.1,ee=.5,te=.25;return y.add(new go.PathSegment(go.PathSegment.Move,(ee+b)*a,te*E)),y.add(new go.PathSegment(go.PathSegment.Arc,0,-360,a*ee,E*te,b*a,b*a).close()),y=new go.PathFigure(a*.5,0,!1),x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*.5,a*.5,a*.5,a*.5)),te=.75,y=new go.PathFigure((ee+b)*a,te*E,!0),x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,0,360,a*ee,E*te,b*a,b*a).close()),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Peace",function(ie,a,E){var x=.8535533905932737,y=.5*a,b=.5*E;return new go.Geometry().add(new go.PathFigure(y,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,y,b,y,b)).add(new go.PathSegment(go.PathSegment.Line,y,E)).add(new go.PathSegment(go.PathSegment.Move,y,b)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*E)).add(new go.PathSegment(go.PathSegment.Move,y,b)).add(new go.PathSegment(go.PathSegment.Line,x*a,x*E)))}),go.Shape.defineFigureGenerator("NotAllowed",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=.5,ee=.5,te=.5,ne=new go.PathFigure(ee*a,(te-b)*E);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-b)*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E)),b=.4,y=ve*.4;var re=z(),ue=z(),ce=z(),Ce=z();Te(ee,te-b,ee+y,te-b,ee+b,te-y,ee+b,te,.42,re,ue,ce,Ce,Ce);var me=z(),Se=z(),Pe=z();Te(ee,te-b,ee+y,te-b,ee+b,te-y,ee+b,te,.58,Ce,Ce,Pe,me,Se);var We=z(),Ze=z(),lt=z();Te(ee,te+b,ee-y,te+b,ee-b,te+y,ee-b,te,.42,We,Ze,lt,Ce,Ce);var ft=z(),ut=z(),Dt=z();return Te(ee,te+b,ee-y,te+b,ee-b,te+y,ee-b,te,.58,Ce,Ce,Dt,ft,ut),ne.add(new go.PathSegment(go.PathSegment.Move,Dt.x*a,Dt.y*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,ft.x*a,ft.y*E,ut.x*a,ut.y*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-b)*E,(ee-b)*a,(te-y)*E,(ee-y)*a,(te-b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ce.x*a,ce.y*E,re.x*a,re.y*E,ue.x*a,ue.y*E)),ne.add(new go.PathSegment(go.PathSegment.Line,Dt.x*a,Dt.y*E).close()),ne.add(new go.PathSegment(go.PathSegment.Move,lt.x*a,lt.y*E)),ne.add(new go.PathSegment(go.PathSegment.Line,Pe.x*a,Pe.y*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,me.x*a,me.y*E,Se.x*a,Se.y*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee+b)*a,(te+y)*E,(ee+y)*a,(te+b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,lt.x*a,lt.y*E,We.x*a,We.y*E,Ze.x*a,Ze.y*E).close()),se(re),se(ue),se(ce),se(Ce),se(me),se(Se),se(Pe),se(We),se(Ze),se(lt),se(ft),se(ut),se(Dt),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Fragile",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*a,0)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.15*E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,.29*a,.33*E)).add(new go.PathSegment(go.PathSegment.Line,.35*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.15*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.5*E,a,.25*E,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.5*E,0,.25*E).close()))}),go.Shape.setFigureParameter("HourGlass",0,new ke("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(ie,a,E){var x=ie?ie.parameter1:NaN;(isNaN(x)||x<0)&&(x=30),x>a&&(x=a);var y=(a-x)/2,b=y+x;return new go.Geometry().add(new go.PathFigure(b,.5*E).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E)).add(new go.PathSegment(go.PathSegment.Line,y,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,.55*E).add(new go.PathSegment(go.PathSegment.Line,.6*a,0)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.45*E)).add(new go.PathSegment(go.PathSegment.Line,a,.45*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.55*E).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(ie,a,E){var x=new go.Geometry,y=ve*.4,b=.4,ee=.5,te=.5,ne=z(),re=z(),ue=z(),ce=z(),Ce=new go.PathFigure((ee-b)*a,te*E,!1);x.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-b)*E,(ee-b)*a,(te-y)*E,(ee-y)*a,(te-b)*E)),Te(ee,te-b,ee+y,te-b,ee+b,te-y,ee+b,te,.44,ue,ce,re,ne,ne),Ce.add(new go.PathSegment(go.PathSegment.Bezier,re.x*a,re.y*E,ue.x*a,ue.y*E,ce.x*a,ce.y*E));var me=oe(re.x,re.y);Te(ee,te-b,ee+y,te-b,ee+b,te-y,ee+b,te,.56,ne,ne,re,ue,ce);var Se=oe(re.x,re.y);Ce.add(new go.PathSegment(go.PathSegment.Line,(me.x*.1+.95*.9)*a,me.y*.1*E)),Ce.add(new go.PathSegment(go.PathSegment.Line,.85*a,me.y*.1*E)),Ce.add(new go.PathSegment(go.PathSegment.Line,.85*a,0)),Ce.add(new go.PathSegment(go.PathSegment.Line,a,0)),Ce.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),Ce.add(new go.PathSegment(go.PathSegment.Line,(Se.x*.1+.9)*a,.15*E)),Ce.add(new go.PathSegment(go.PathSegment.Line,(Se.x*.1+.9)*a,(Se.y*.1+.05*.9)*E)),Ce.add(new go.PathSegment(go.PathSegment.Line,Se.x*a,Se.y*E)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,ue.x*a,ue.y*E,ce.x*a,ce.y*E)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee+b)*a,(te+y)*E,(ee+y)*a,(te+b)*E)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,(ee-y)*a,(te+b)*E,(ee-b)*a,(te+y)*E)),b=.35,y=ve*.35;var Pe=new go.PathFigure(ee*a,(te-b)*E,!1);x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-b)*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E));var We=new go.PathFigure((ee-b)*a,te*E,!1);return x.add(We),se(ne),se(re),se(ue),se(ce),se(me),se(Se),x.spot1=new go.Spot(.202,.257),x.spot2=new go.Spot(.792,.739),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("GenderFemale",function(ie,a,E){var x=new go.Geometry,y=.375,b=0,ee=-.125,te=y*ve,ne=new go.PathFigure((.525+b)*a,(.5+y+ee)*E,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+y+b)*a,(.5+ee)*E,(.5+te+b)*a,(.5+y+ee)*E,(.5+y+b)*a,(.5+te+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(.5+b)*a,(.5-y+ee)*E,(1-.5+y+b)*a,(.5-te+ee)*E,(.5+te+b)*a,(.5-y+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+b)*a,(.5+ee)*E,(.5-te+b)*a,(.5-y+ee)*E,(.5-y+b)*a,(.5-te+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(.475+b)*a,(.5+y+ee)*E,(.5-y+b)*a,(.5+te+ee)*E,(.5-te+b)*a,(.5+y+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.475*a,.85*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.425*a,.85*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.425*a,.9*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.475*a,.9*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.475*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,.525*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,.525*a,.9*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.575*a,.9*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.575*a,.85*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*E).close()),y=.325,b=0,ee=-.125,te=y*ve;var ne=new go.PathFigure((1-.5+y+b)*a,(.5+ee)*E,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,(.5+b)*a,(.5+y+ee)*E,(.5+y+b)*a,(.5+te+ee)*E,(.5+te+b)*a,(.5+y+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+b)*a,(.5+ee)*E,(.5-te+b)*a,(.5+y+ee)*E,(.5-y+b)*a,(.5+te+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(.5+b)*a,(.5-y+ee)*E,(.5-y+b)*a,(.5-te+ee)*E,(.5-te+b)*a,(.5-y+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+y+b)*a,(.5+ee)*E,(.5+te+b)*a,(.5-y+ee)*E,(1-.5+y+b)*a,(.5-te+ee)*E));var ne=new go.PathFigure((.525+b)*a,(.5+y+ee)*E,!1);return x.add(ne),x.spot1=new go.Spot(.232,.136),x.spot2=new go.Spot(.682,.611),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicImplies",function(ie,a,E){var x=ie?ie.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(ie,a,E){var x=ie?ie.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Move,x*a,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,x*a,E))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)))}),go.Shape.defineFigureGenerator("LogicAnd",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(ie,a,E){var x=new go.Geometry().add(new go.PathFigure(.5*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*a,.5*E,.5*a,.5*E)));return x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicTruth",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Move,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Move,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E)))}),go.Shape.defineFigureGenerator("LogicForAll",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Move,0,E)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(ie,a,E){var x=.5;return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,0,x*E)).add(new go.PathSegment(go.PathSegment.Arc,180,180,x*a,x*E,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(ie,a,E){var x=.5;return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,x*E)).add(new go.PathSegment(go.PathSegment.Arc,0,180,x*a,x*E,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new ke("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new ke("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.3);var y=ie?ie.parameter2:NaN;isNaN(y)&&(y=.3);var b=(1-x)*a,ee=(.5-y/2)*E,te=(.5+y/2)*E,ne=new go.Geometry,re=new go.PathFigure(0,ee,!0);ne.add(re),re.add(new go.PathSegment(go.PathSegment.Line,b,ee)),re.add(new go.PathSegment(go.PathSegment.Line,b,0)),re.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),re.add(new go.PathSegment(go.PathSegment.Line,b,E)),re.add(new go.PathSegment(go.PathSegment.Line,b,te)),re.add(new go.PathSegment(go.PathSegment.Line,0,te).close()),ne.spot1=new go.Spot(0,ee/E);var ue=we(0,te/E,1,te/E,b/a,1,1,.5,z());return ne.spot2=new go.Spot(ue.x,ue.y),se(ue),ne}),go.Shape.setFigureParameter("Arrow2",0,new ke("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new ke("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=30),x>a&&(x=a);var y=ie?ie.parameter2:NaN;isNaN(y)&&(y=30),y=Math.min(y,E/2);var b=a-x,ee=(E-y)/2,te=ee+y,ne=new go.Geometry,re=new go.PathFigure(0,ee,!0);ne.add(re),re.add(new go.PathSegment(go.PathSegment.Line,b,ee)),re.add(new go.PathSegment(go.PathSegment.Line,b,0)),re.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),re.add(new go.PathSegment(go.PathSegment.Line,b,E)),re.add(new go.PathSegment(go.PathSegment.Line,b,te)),re.add(new go.PathSegment(go.PathSegment.Line,0,te).close()),ne.spot1=new go.Spot(0,ee/E);var ue=we(0,te/E,1,te/E,b/a,1,1,.5,z());return ne.spot2=new go.Spot(ue.x,ue.y),se(ue),ne}),go.Shape.defineFigureGenerator("Chevron",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("DoubleArrow",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.214*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,1*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.786*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,1*E).close()),x}),go.Shape.setFigureParameter("DoubleEndArrow",0,new ke("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.3);var y=(.5-x/2)*E,b=(.5+x/2)*E,ee=new go.Geometry,te=new go.PathFigure(a,.5*E,!0);ee.add(te),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),te.add(new go.PathSegment(go.PathSegment.Line,.3*a,b)),te.add(new go.PathSegment(go.PathSegment.Line,.3*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),te.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),te.add(new go.PathSegment(go.PathSegment.Line,.3*a,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close());var ne=we(0,.5,.3,0,0,y/E,.1,y/E,z());return ee.spot1=new go.Spot(ne.x,ne.y),ne=we(.7,1,1,.5,0,b/E,1,b/E,ne),ee.spot2=new go.Spot(ne.x,ne.y),se(ne),ee}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new ke("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new ke("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=40);var y=ie?ie.parameter2:NaN;isNaN(y)&&(y=100);var b=(E-x)/2,ee=b+x,te=(E-y)/2,ne=te+y;(x>E||y>E)&&(y>x?(x=x*E/y,b=(E-x)/2,ee=b+x,te=0,ne=E):(b=0,ee=E,te=0,ne=E));var re=new go.Geometry,ue=new go.PathFigure(a,.5*E,!0);re.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,ee)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,ee)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,te)),ue.add(new go.PathSegment(go.PathSegment.Line,.3*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,te).close());var ce=we(0,.5,.3,te/E,0,b/E,1,b/E,z());return re.spot1=new go.Spot(ce.x,ce.y),ce=we(.7,ne/E,1,.5,0,ee/E,1,ee/E,ce),re.spot2=new go.Spot(ce.x,ce.y),se(ce),re}),go.Shape.setFigureParameter("IBeamArrow",0,new ke("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.3);var y=(.5-x/2)*E,b=(.5+x/2)*E,ee=new go.Geometry,te=new go.PathFigure(a,.5*E,!0);ee.add(te),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),te.add(new go.PathSegment(go.PathSegment.Line,.2*a,b)),te.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,0,E)),te.add(new go.PathSegment(go.PathSegment.Line,0,0)),te.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),te.add(new go.PathSegment(go.PathSegment.Line,.2*a,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ee.spot1=new go.Spot(0,y/E);var ne=we(.7,1,1,.5,0,b/E,1,b/E,z());return ee.spot2=new go.Spot(ne.x,ne.y),se(ne),ee}),go.Shape.setFigureParameter("IBeamArrow2",0,new ke("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new ke("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=40);var y=ie?ie.parameter2:NaN;isNaN(y)&&(y=100);var b=(E-x)/2,ee=b+x,te=(E-y)/2,ne=te+y;(x>E||y>E)&&(y>x?(x=x*E/y,b=(E-x)/2,ee=b+x,te=0,ne=E):(b=0,ee=E,te=0,ne=E));var re=new go.Geometry,ue=new go.PathFigure(a,.5*E,!0);re.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,ee)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,ee)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,0,te)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,te)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ue.add(new go.PathSegment(go.PathSegment.Line,.7*a,te).close()),re.spot1=new go.Spot(0,b/E);var ce=we(.7,ne/E,1,.5,0,ee/E,1,ee/E,z());return re.spot2=new go.Spot(ce.x,ce.y),se(ce),re}),go.Shape.setFigureParameter("Pointer",0,new ke("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.1);var y=new go.Geometry,b=new go.PathFigure(a,.5*E,!0);y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,x*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),y.spot1=new go.Spot(x,.35);var ee=we(.2,.65,1,.65,0,1,1,.5,z());return y.spot2=new go.Spot(ee.x,ee.y),se(ee),y}),go.Shape.setFigureParameter("RoundedPointer",0,new ke("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.3);var y=new go.Geometry,b=new go.PathFigure(a,.5*E,!0);y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*E,x*a,.25*E).close()),y.spot1=new go.Spot(x,.35);var ee=we(0,.65,1,.65,0,1,1,.5,z());return y.spot2=new go.Spot(ee.x,ee.y),se(ee),y}),go.Shape.setFigureParameter("SplitEndArrow",0,new ke("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.4);var y=(.5-x/2)*E,b=(.5+x/2)*E,ee=new go.Geometry,te=new go.PathFigure(a,.5*E,!0);ee.add(te),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),te.add(new go.PathSegment(go.PathSegment.Line,0,b)),te.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),te.add(new go.PathSegment(go.PathSegment.Line,0,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ee.spot1=new go.Spot(.2,.3);var ne=we(.7,1,1,.5,0,b/E,1,b/E,z());return ee.spot2=new go.Spot(ne.x,ne.y),se(ne),ee}),go.Shape.setFigureParameter("SplitEndArrow2",0,new ke("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=50);var y=(E-x)/2,b=y+x;x>E&&(y=0,b=E);var ee=new go.Geometry,te=new go.PathFigure(a,.5*E,!0);ee.add(te),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),te.add(new go.PathSegment(go.PathSegment.Line,0,b)),te.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),te.add(new go.PathSegment(go.PathSegment.Line,0,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,y)),te.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ee.spot1=new go.Spot(.2,y/E);var ne=we(.7,1,1,.5,0,b/E,1,b/E,z());return ee.spot2=new go.Spot(ne.x,ne.y),se(ne),ee}),go.Shape.setFigureParameter("SquareArrow",0,new ke("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.7);var y=new go.Geometry,b=new go.PathFigure(a,.5*E,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,x*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),y.spot1=go.Spot.TopLeft,y.spot2=new go.Spot(x,1),y}),go.Shape.defineFigureGenerator("Cone1",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=ve*.1,ee=new go.PathFigure(0,.9*E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+b)*E,(.5+y)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-y)*a,E,0,(.9+b)*E).close()),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.97),x}),go.Shape.defineFigureGenerator("Cone2",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.9*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*E,(1-.85/.9)*a,E,.85/.9*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.9*E).close());var b=new go.PathFigure(0,.9*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*E,(1-.85/.9)*a,.8*E,.85/.9*a,.8*E)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.82),x}),go.Shape.defineFigureGenerator("Cube1",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.85*E).close());var b=new go.PathFigure(.5*a,E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.15*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.5,.85),x}),go.Shape.defineFigureGenerator("Cube2",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.3*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,0).close());var b=new go.PathFigure(0,.3*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Move,.7*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.7,1),x}),go.Shape.defineFigureGenerator("Cylinder1",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var y=new go.Geometry,b=ve*.5,ee=new go.PathFigure(0,x,!0);y.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,ve*x,(.5-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,1*a,x,(.5+b)*a,0,1*a,ve*x)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,1*E,1*a,E-ve*x,(.5+b)*a,1*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,(.5-b)*a,1*E,0,E-ve*x)),ee.add(new go.PathSegment(go.PathSegment.Line,0,x));var te=new go.PathFigure(a,x,!1);return y.add(te),te.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,2*x,1*a,2*x-ve*x,(.5+b)*a,2*x)),te.add(new go.PathSegment(go.PathSegment.Bezier,0,x,(.5-b)*a,2*x,0,2*x-ve*x)),y.spot1=new go.Spot(0,0,0,2*x),y.spot2=new go.Spot(1,1),y}),go.Shape.defineFigureGenerator("Cylinder2",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var y=new go.Geometry,b=ve*.5,ee=new go.PathFigure(0,E-x,!0);y.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,0,x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,ve*x,(.5-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,x,(.5+b)*a,0,a,ve*x)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,E-ve*x,(.5+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,(.5-b)*a,E,0,E-ve*x));var te=new go.PathFigure(0,E-x,!1);return y.add(te),te.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E-2*x,0,E-x-ve*x,(.5-b)*a,E-2*x)),te.add(new go.PathSegment(go.PathSegment.Bezier,a,E-x,(.5+b)*a,E-2*x,a,E-x-ve*x)),y.spot1=new go.Spot(0,0),y.spot2=new go.Spot(1,1,0,-2*x),y}),go.Shape.defineFigureGenerator("Cylinder3",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var y=new go.Geometry,b=ve*.5,ee=new go.PathFigure(x,0,!0);y.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,a-ve*x,0,a,(.5-b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,(.5+b)*E,a-ve*x,E)),ee.add(new go.PathSegment(go.PathSegment.Line,x,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,ve*x,E,0,(.5+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-b)*E,ve*x,0));var te=new go.PathFigure(x,0,!1);return y.add(te),te.add(new go.PathSegment(go.PathSegment.Bezier,2*x,.5*E,x+ve*x,0,2*x,(.5-b)*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,x,E,2*x,(.5+b)*E,x+ve*x,E)),y.spot1=new go.Spot(0,0,2*x,0),y.spot2=new go.Spot(1,1),y}),go.Shape.defineFigureGenerator("Cylinder4",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var y=new go.Geometry,b=ve*.5,ee=new go.PathFigure(a-x,0,!0);y.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,a-ve*x,0,a,(.5-b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,(.5+b)*E,a-ve*x,E)),ee.add(new go.PathSegment(go.PathSegment.Line,x,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,ve*x,E,0,(.5+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-b)*E,ve*x,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a-x,0));var te=new go.PathFigure(a-x,0,!1);return y.add(te),te.add(new go.PathSegment(go.PathSegment.Bezier,a-2*x,.5*E,a-x-ve*x,0,a-2*x,(.5-b)*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a-2*x,(.5+b)*E,a-x-ve*x,E)),y.spot1=new go.Spot(0,0),y.spot2=new go.Spot(1,1,-2*x,0),y}),go.Shape.defineFigureGenerator("Prism1",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.25*a,.25*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(.25*a,.25*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.408,.172),x.spot2=new go.Spot(.833,.662),x}),go.Shape.defineFigureGenerator("Prism2",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.25*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(0,E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Move,0,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("Pyramid1",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*E).close());var b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Pyramid2",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.85*E).close());var b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Actor",function(ie,a,E){var x=new go.Geometry,y=.2,b=.1,ee=ve*y,te=ve*b,ne=.5,re=.1,ue=new go.PathFigure(ne*a,(re+b)*E,!0);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,(ne-y)*a,re*E,(ne-ee)*a,(re+b)*E,(ne-y)*a,(re+te)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-b)*E,(ne-y)*a,(re-te)*E,(ne-ee)*a,(re-b)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(ne+y)*a,re*E,(ne+ee)*a,(re-b)*E,(ne+y)*a,(re-te)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re+b)*E,(ne+y)*a,(re+te)*E,(ne+ee)*a,(re+b)*E));var ce=.05,Ce=ve*ce;ne=.05,re=.25;var me=new go.PathFigure(.5*a,.2*E,!0);return x.add(me),me.add(new go.PathSegment(go.PathSegment.Line,.95*a,.2*E)),ne=.95,re=.25,me.add(new go.PathSegment(go.PathSegment.Bezier,(ne+ce)*a,re*E,(ne+Ce)*a,(re-ce)*E,(ne+ce)*a,(re-Ce)*E)),me.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),me.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),me.add(new go.PathSegment(go.PathSegment.Line,.85*a,.35*E)),ce=.025,Ce=ve*ce,ne=.825,re=.35,me.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-ce)*E,(ne+ce)*a,(re-Ce)*E,(ne+Ce)*a,(re-ce)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ne-ce)*a,re*E,(ne-Ce)*a,(re-ce)*E,(ne-ce)*a,(re-Ce)*E)),me.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),me.add(new go.PathSegment(go.PathSegment.Line,.55*a,E)),me.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*E)),ce=.05,Ce=ve*ce,ne=.5,re=.7,me.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-ce)*E,(ne+ce)*a,(re-Ce)*E,(ne+Ce)*a,(re-ce)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ne-ce)*a,re*E,(ne-Ce)*a,(re-ce)*E,(ne-ce)*a,(re-Ce)*E)),me.add(new go.PathSegment(go.PathSegment.Line,.45*a,E)),me.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),me.add(new go.PathSegment(go.PathSegment.Line,.2*a,.35*E)),ce=.025,Ce=ve*ce,ne=.175,re=.35,me.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-ce)*E,(ne+ce)*a,(re-Ce)*E,(ne+Ce)*a,(re-ce)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ne-ce)*a,re*E,(ne-Ce)*a,(re-ce)*E,(ne-ce)*a,(re-Ce)*E)),me.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E)),me.add(new go.PathSegment(go.PathSegment.Line,0,.6*E)),me.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),ce=.05,Ce=ve*ce,ne=.05,re=.25,me.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-ce)*E,(ne-ce)*a,(re-Ce)*E,(ne-Ce)*a,(re-ce)*E)),me.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*E)),x.spot1=new go.Spot(.2,.2),x.spot2=new go.Spot(.8,.65),x}),go.Shape.setFigureParameter("Card",0,new ke("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(ie,a,E){var x=ie?ie.parameter1:NaN;isNaN(x)&&(x=.2);var y=new go.Geometry,b=new go.PathFigure(a,0,!0);return y.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,x*E)),b.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),y.spot1=new go.Spot(0,x),y.spot2=go.Spot.BottomRight,y}),go.Shape.defineFigureGenerator("Collate",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E));var b=new go.PathFigure(.5*a,.5*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,.25),x}),go.Shape.defineFigureGenerator("CreateRequest",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(0,y*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,y*E)),ee.add(new go.PathSegment(go.PathSegment.Move,0,(1-y)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,(1-y)*E)),x}),go.Shape.defineFigureGenerator("Database",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=ve*.1,ee=new go.PathFigure(a,.1*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+b)*E,(.5+y)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-y)*a,E,0,(.9+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-b)*E,(.5-y)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,(.5+y)*a,0,a,(.1-b)*E));var te=new go.PathFigure(a,.1*E,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,a,(.1+b)*E,(.5+y)*a,.2*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*E,(.5-y)*a,.2*E,0,(.1+b)*E)),te.add(new go.PathSegment(go.PathSegment.Move,a,.2*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,a,(.2+b)*E,(.5+y)*a,.3*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*E,(.5-y)*a,.3*E,0,(.2+b)*E)),te.add(new go.PathSegment(go.PathSegment.Move,a,.3*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.4*E,a,(.3+b)*E,(.5+y)*a,.4*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*E,(.5-y)*a,.4*E,0,(.3+b)*E)),x.spot1=new go.Spot(0,.4),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("DataStorage",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,a,0,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.9*E,.25*a,.1*E).close()),x.spot1=new go.Spot(.226,0),x.spot2=new go.Spot(.81,1),x}),go.Shape.defineFigureGenerator("DiskStorage",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=ve*.1,ee=new go.PathFigure(a,.1*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+b)*E,(.5+y)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-y)*a,E,0,(.9+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-b)*E,(.5-y)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,(.5+y)*a,0,a,(.1-b)*E));var te=new go.PathFigure(a,.1*E,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,a,(.1+b)*E,(.5+y)*a,.2*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*E,(.5-y)*a,.2*E,0,(.1+b)*E)),te.add(new go.PathSegment(go.PathSegment.Move,a,.2*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,a,(.2+b)*E,(.5+y)*a,.3*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*E,(.5-y)*a,.3*E,0,(.2+b)*E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("Display",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.25*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,a,0,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close()),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("DividedEvent",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)?y=.2:y<.15&&(y=.15);var b=ve*.2,ee=new go.PathFigure(0,.2*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,0,(.2-b)*E,(.2-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.2*E,(.8+b)*a,0,a,(.2-b)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,E,a,(.8+b)*E,(.8+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*E,(.2-b)*a,E,0,(.8+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.2*E));var te=new go.PathFigure(0,y*E,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a,y*E)),x}),go.Shape.defineFigureGenerator("DividedProcess",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;(isNaN(y)||y<.1)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(0,y*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,y*E)),x}),go.Shape.defineFigureGenerator("Document",function(ie,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(0,.7*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("ExternalOrganization",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;(isNaN(y)||y<.2)&&(y=.2);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(y*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,0,y*E)),ee.add(new go.PathSegment(go.PathSegment.Move,a,y*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-y)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Move,0,(1-y)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),ee.add(new go.PathSegment(go.PathSegment.Move,(1-y)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,(1-y)*E)),x}),go.Shape.defineFigureGenerator("ExternalProcess",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close());var b=new go.PathFigure(.1*a,.4*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Move,.9*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Move,.6*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Move,.4*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.9*E)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("File",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(.75*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Interrupt",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E));var b=new go.PathFigure(a,.5*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E));var ee=new go.PathFigure(a,.5*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("InternalStorage",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN,b=ie?ie.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(b)&&(b=.1);var ee=new go.PathFigure(0,0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var te=new go.PathFigure(y*a,0,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),te.add(new go.PathSegment(go.PathSegment.Move,0,b*E)),te.add(new go.PathSegment(go.PathSegment.Line,a,b*E)),x}),go.Shape.defineFigureGenerator("Junction",function(ie,a,E){var x=new go.Geometry,y=1/Math.SQRT2,b=(1-1/Math.SQRT2)/2,ee=ve*.5,te=.5,ne=new go.PathFigure(a,te*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,te*a,E,a,(te+ee)*E,(te+ee)*a,E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,te*E,(te-ee)*a,E,0,(te+ee)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,te*a,0,0,(te-ee)*E,(te-ee)*a,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,te*E,(te+ee)*a,0,a,(te-ee)*E));var re=new go.PathFigure((b+y)*a,(b+y)*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,b*a,b*E)),re.add(new go.PathSegment(go.PathSegment.Move,b*a,(b+y)*E)),re.add(new go.PathSegment(go.PathSegment.Line,(b+y)*a,b*E)),x}),go.Shape.defineFigureGenerator("LinedDocument",function(ie,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(0,.7*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close());var b=new go.PathFigure(.1*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.75*E)),x.spot1=new go.Spot(.1,0),x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("LoopLimit",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MagneticTape",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=.5,ee=new go.PathFigure(.5*a,E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,b*E,(b-y)*a,E,0,(b+y)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-y)*E,(b-y)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,b*E,(b+y)*a,0,a,(b-y)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,(b+.1)*a,.9*E,a,(b+y)*E,(b+y)*a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.15,.15),x.spot2=new go.Spot(.85,.8),x}),go.Shape.defineFigureGenerator("ManualInput",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MessageFromUser",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.7);var b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,y*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("MicroformProcessing",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.25);var b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,y*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,(1-y)*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("MicroformRecording",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("MultiDocument",function(ie,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.44*E,.96*a,.47*E,.93*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.54*E,.86*a,.57*E,.83*a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.4*a,.4*E,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,0).close());var b=new go.PathFigure(.1*a,.2*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.54*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.44*E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.8,.77),x}),go.Shape.defineFigureGenerator("MultiProcess",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,.1*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E).close());var b=new go.PathFigure(.2*a,.1*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Move,.1*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*E)),x.spot1=new go.Spot(0,.2),x.spot2=new go.Spot(.8,1),x}),go.Shape.defineFigureGenerator("OfflineStorage",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.1);var b=1-y,ee=new go.PathFigure(0,0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close());var te=new go.PathFigure(.5*y*a,y*E,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,(1-.5*y)*a,y*E)),x}),go.Shape.defineFigureGenerator("OffPageConnector",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("Or",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=.5,ee=new go.PathFigure(a,b*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*a,E,a,(b+y)*E,(b+y)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,b*E,(b-y)*a,E,0,(b+y)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-y)*E,(b-y)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,b*E,(b+y)*a,0,a,(b-y)*E));var te=new go.PathFigure(a,.5*E,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),te.add(new go.PathSegment(go.PathSegment.Move,.5*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),x}),go.Shape.defineFigureGenerator("PaperTape",function(ie,a,E){var x=new go.Geometry;E=E/.8;var y=new go.PathFigure(0,.7*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.3*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.3*E,.5*a,.6*E,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close()),x.spot1=new go.Spot(0,.49),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN,b=ie?ie.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(b)&&(b=.3);var ee=new go.PathFigure(0,0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN,b=ie?ie.parameter2:NaN;isNaN(y)&&(y=.1),isNaN(b)&&(b=.3);var ee=new go.PathFigure(0,0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("Procedure",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure((1-y)*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,(1-y)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Move,y*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),x}),go.Shape.defineFigureGenerator("Process",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(y*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Sort",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close());var b=new go.PathFigure(0,.5*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.5),x}),go.Shape.defineFigureGenerator("Start",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.25);var b=new go.PathFigure(y*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*E,.25*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*E,.25*a,.5*E));var ee=new go.PathFigure(y*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,y*a,E)),ee.add(new go.PathSegment(go.PathSegment.Move,(1-y)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-y)*a,E)),x.spot1=new go.Spot(y,0),x.spot2=new go.Spot(1-y,1),x}),go.Shape.defineFigureGenerator("Terminator",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.25*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*E,.25*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*E,.25*a,.5*E)),x.spot1=new go.Spot(.23,0),x.spot2=new go.Spot(.77,1),x}),go.Shape.defineFigureGenerator("TransmittalTape",function(ie,a,E){var x=new go.Geometry,y=ie?ie.parameter1:NaN;isNaN(y)&&(y=.1);var b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,(1-y)*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,(1-y)*E).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("AndGate",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(.5+y)*a,0,a,(.5-y)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.5+y)*E,(.5+y)*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.55,1),x}),go.Shape.defineFigureGenerator("Buffer",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Clock",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=.5,ee=new go.PathFigure(a,b*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*a,E,a,(b+y)*E,(b+y)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,b*E,(b-y)*a,E,0,(b+y)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-y)*E,(b-y)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,b*E,(b+y)*a,0,a,(b-y)*E));var te=new go.PathFigure(a,b*E,!1);x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a,b*E));var ne=new go.PathFigure(.8*a,.75*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.8*a,.25*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.6*a,.25*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.6*a,.75*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.4*a,.75*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.4*a,.25*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,.25*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,.75*E)),x}),go.Shape.defineFigureGenerator("Ground",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Move,.3*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Move,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,E)),x}),go.Shape.defineFigureGenerator("Inverter",function(ie,a,E){var x=new go.Geometry,y=ve*.1,b=.1,ee=.9,te=.5,ne=new go.PathFigure(.8*a,.5*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,0,E)),ne.add(new go.PathSegment(go.PathSegment.Line,0,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E));var re=new go.PathFigure((ee+b)*a,te*E,!0);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee+b)*a,(te+y)*E,(ee+y)*a,(te+b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,(ee-y)*a,(te+b)*E,(ee-b)*a,(te+y)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-b)*E,(ee-b)*a,(te-y)*E,(ee-y)*a,(te-b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,(ee+y)*a,(te-b)*E,(ee+b)*a,(te-y)*E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.4,.75),x}),go.Shape.defineFigureGenerator("NandGate",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=ve*.4,ee=ve*.1,te=.1,ne=.9,re=.5,ue=new go.PathFigure(.8*a,.5*E,!0);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,E,.8*a,(.5+b)*E,(.4+y)*a,E)),ue.add(new go.PathSegment(go.PathSegment.Line,0,E)),ue.add(new go.PathSegment(go.PathSegment.Line,0,0)),ue.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),ue.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(.4+y)*a,0,.8*a,(.5-b)*E));var ce=new go.PathFigure((ne+te)*a,re*E,!0);return x.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re+te)*E,(ne+te)*a,(re+ee)*E,(ne+ee)*a,(re+te)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ne-te)*a,re*E,(ne-ee)*a,(re+te)*E,(ne-te)*a,(re+ee)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-te)*E,(ne-te)*a,(re-ee)*E,(ne-ee)*a,(re-te)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ne+te)*a,re*E,(ne+ee)*a,(re-te)*E,(ne+te)*a,(re-ee)*E)),x.spot1=new go.Spot(0,.05),x.spot2=new go.Spot(.55,.95),x}),go.Shape.defineFigureGenerator("NorGate",function(ie,a,E){var x=new go.Geometry,y=.5,b=ve*y,ee=0,te=.5,ne=new go.PathFigure(.8*a,.5*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.7*a,(te+b)*E,(ee+b)*a,(te+y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*E,.25*a,.25*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(ee+b)*a,(te-y)*E,.7*a,(te-b)*E)),y=.1,b=ve*.1,ee=.9,te=.5;var re=new go.PathFigure((ee-y)*a,te*E,!0);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-y)*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee+y)*a,te*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+y)*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee-y)*a,te*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E)),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.6,.75),x}),go.Shape.defineFigureGenerator("OrGate",function(ie,a,E){var x=new go.Geometry,y=.5,b=ve*y,ee=0,te=.5,ne=new go.PathFigure(0,0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(ee+b+b)*a,(te-y)*E,.8*a,(te-b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.8*a,(te+b)*E,(ee+b+b)*a,(te+y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*E,.25*a,.25*E).close()),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("XnorGate",function(ie,a,E){var x=new go.Geometry,y=.5,b=ve*y,ee=.2,te=.5,ne=new go.PathFigure(.1*a,0,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,E,.35*a,.25*E,.35*a,.75*E));var re=new go.PathFigure(.8*a,.5*E,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,E,.7*a,(te+b)*E,(ee+b)*a,(te+y)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*E,.45*a,.25*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(ee+b)*a,(te-y)*E,.7*a,(te-b)*E)),y=.1,b=ve*.1,ee=.9,te=.5;var ue=new go.PathFigure((ee-y)*a,te*E,!0);return x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-y)*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(ee+y)*a,te*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+y)*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(ee-y)*a,te*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E)),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.65,.75),x}),go.Shape.defineFigureGenerator("XorGate",function(ie,a,E){var x=new go.Geometry,y=.5,b=ve*y,ee=.2,te=.5,ne=new go.PathFigure(.1*a,0,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,E,.35*a,.25*E,.35*a,.75*E));var re=new go.PathFigure(.2*a,0,!0);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(ee+b)*a,(te-y)*E,.9*a,(te-b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,E,.9*a,(te+b)*E,(ee+b)*a,(te+y)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*E,.45*a,.25*E).close()),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.8,.75),x}),go.Shape.defineFigureGenerator("Capacitor",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("Resistor",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*E)),x}),go.Shape.defineFigureGenerator("Inductor",function(ie,a,E){var x=new go.Geometry,y=ve*.1,b=.1,ee=.1,te=.5,ne=new go.PathFigure((ee-y*.5)*a,E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,0,(ee-y)*a,E,(ee-b)*a,0)),ee=.3,ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,E,(ee+b)*a,0,(ee+y)*a,E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,0,(ee-y)*a,E,(ee-b)*a,0)),ee=.5,ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,E,(ee+b)*a,0,(ee+y)*a,E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,0,(ee-y)*a,E,(ee-b)*a,0)),ee=.7,ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,E,(ee+b)*a,0,(ee+y)*a,E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,0,(ee-y)*a,E,(ee-b)*a,0)),ee=.9,ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+y*.5)*a,E,(ee+b)*a,0,(ee+y)*a,E)),x}),go.Shape.defineFigureGenerator("ACvoltageSource",function(ie,a,E){var x=new go.Geometry,y=ve*.5,b=.5,ee=.5,te=.5,ne=new go.PathFigure((ee-b)*a,te*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-b)*E,(ee-b)*a,(te-y)*E,(ee-y)*a,(te-b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,(ee+y)*a,(te-b)*E,(ee+b)*a,(te-y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee+b)*a,(te+y)*E,(ee+y)*a,(te+b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,(ee-y)*a,(te+b)*E,(ee-b)*a,(te+y)*E)),ne.add(new go.PathSegment(go.PathSegment.Move,(ee-b+.1)*a,te*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b-.1)*a,te*E,ee*a,(te-b)*E,ee*a,(te+b)*E)),x}),go.Shape.defineFigureGenerator("DCvoltageSource",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.75*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),y.add(new go.PathSegment(go.PathSegment.Move,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("Diode",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Wifi",function(ie,a,E){var x=new go.Geometry,y=a,b=E;a=a*.38,E=E*.6;var ee=ve*.8,te=.8,ne=0,re=.5,ue=(y-a)/2,ce=(b-E)/2,Ce=new go.PathFigure(ne*a+ue,(re+te)*E+ce,!0);x.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(ne-te)*a+ue,re*E+ce,(ne-ee)*a+ue,(re+te)*E+ce,(ne-te)*a+ue,(re+ee)*E+ce)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re-te)*E+ce,(ne-te)*a+ue,(re-ee)*E+ce,(ne-ee)*a+ue,(re-te)*E+ce)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(ne-te+ee*.5)*a+ue,re*E+ce,ne*a+ue,(re-te)*E+ce,(ne-te+ee*.5)*a+ue,(re-ee)*E+ce)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re+te)*E+ce,(ne-te+ee*.5)*a+ue,(re+ee)*E+ce,ne*a+ue,(re+te)*E+ce).close()),ee=ve*.4,te=.4,ne=.2,re=.5;var me=new go.PathFigure(ne*a+ue,(re+te)*E+ce,!0);x.add(me),me.add(new go.PathSegment(go.PathSegment.Bezier,(ne-te)*a+ue,re*E+ce,(ne-ee)*a+ue,(re+te)*E+ce,(ne-te)*a+ue,(re+ee)*E+ce)),me.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re-te)*E+ce,(ne-te)*a+ue,(re-ee)*E+ce,(ne-ee)*a+ue,(re-te)*E+ce)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ne-te+ee*.5)*a+ue,re*E+ce,ne*a+ue,(re-te)*E+ce,(ne-te+ee*.5)*a+ue,(re-ee)*E+ce)),me.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re+te)*E+ce,(ne-te+ee*.5)*a+ue,(re+ee)*E+ce,ne*a+ue,(re+te)*E+ce).close()),ee=ve*.2,te=.2,ne=.5,re=.5;var Se=new go.PathFigure((ne-te)*a+ue,re*E+ce,!0);x.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re-te)*E+ce,(ne-te)*a+ue,(re-ee)*E+ce,(ne-ee)*a+ue,(re-te)*E+ce)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(ne+te)*a+ue,re*E+ce,(ne+ee)*a+ue,(re-te)*E+ce,(ne+te)*a+ue,(re-ee)*E+ce)),Se.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re+te)*E+ce,(ne+te)*a+ue,(re+ee)*E+ce,(ne+ee)*a+ue,(re+te)*E+ce)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(ne-te)*a+ue,re*E+ce,(ne-ee)*a+ue,(re+te)*E+ce,(ne-te)*a+ue,(re+ee)*E+ce)),ee=ve*.4,te=.4,ne=.8,re=.5;var Pe=new go.PathFigure(ne*a+ue,(re-te)*E+ce,!0);x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+te)*a+ue,re*E+ce,(ne+ee)*a+ue,(re-te)*E+ce,(ne+te)*a+ue,(re-ee)*E+ce)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re+te)*E+ce,(ne+te)*a+ue,(re+ee)*E+ce,(ne+ee)*a+ue,(re+te)*E+ce)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ne+te-ee*.5)*a+ue,re*E+ce,ne*a+ue,(re+te)*E+ce,(ne+te-ee*.5)*a+ue,(re+ee)*E+ce)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re-te)*E+ce,(ne+te-ee*.5)*a+ue,(re-ee)*E+ce,ne*a+ue,(re-te)*E+ce).close()),ee=ve*.8,te=.8,ne=1,re=.5;var We=new go.PathFigure(ne*a+ue,(re-te)*E+ce,!0);return x.add(We),We.add(new go.PathSegment(go.PathSegment.Bezier,(ne+te)*a+ue,re*E+ce,(ne+ee)*a+ue,(re-te)*E+ce,(ne+te)*a+ue,(re-ee)*E+ce)),We.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re+te)*E+ce,(ne+te)*a+ue,(re+ee)*E+ce,(ne+ee)*a+ue,(re+te)*E+ce)),We.add(new go.PathSegment(go.PathSegment.Bezier,(ne+te-ee*.5)*a+ue,re*E+ce,ne*a+ue,(re+te)*E+ce,(ne+te-ee*.5)*a+ue,(re+ee)*E+ce)),We.add(new go.PathSegment(go.PathSegment.Bezier,ne*a+ue,(re-te)*E+ce,(ne+te-ee*.5)*a+ue,(re-ee)*E+ce,ne*a+ue,(re-te)*E+ce).close()),x}),go.Shape.defineFigureGenerator("Email",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Move,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.54*E)),b.add(new go.PathSegment(go.PathSegment.Move,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.55*a,.54*E)),x}),go.Shape.defineFigureGenerator("Ethernet",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.35*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,0).close());var b=new go.PathFigure(.1*a,E,!0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,E).close());var ee=new go.PathFigure(.6*a,E,!0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.6*a,.6*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.6*a,E).close());var te=new go.PathFigure(0,.5*E,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),te.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*E)),te.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),te.add(new go.PathSegment(go.PathSegment.Move,.75*a,.5*E)),te.add(new go.PathSegment(go.PathSegment.Line,.75*a,.6*E)),te.add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*E)),te.add(new go.PathSegment(go.PathSegment.Line,.25*a,.6*E)),x}),go.Shape.defineFigureGenerator("Power",function(ie,a,E){var x=new go.Geometry,y=ve*.4,b=.4,ee=.5,te=.5,ne=z(),re=z(),ue=z(),ce=z();Te(ee,te-b,ee+y,te-b,ee+b,te-y,ee+b,te,.5,ne,ne,re,ue,ce);var Ce=oe(re.x,re.y),me=new go.PathFigure(re.x*a,re.y*E,!0);x.add(me),me.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,ue.x*a,ue.y*E,ce.x*a,ce.y*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee+b)*a,(te+y)*E,(ee+y)*a,(te+b)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,(ee-y)*a,(te+b)*E,(ee-b)*a,(te+y)*E)),Te(ee-b,te,ee-b,te-y,ee-y,te-b,ee,te-b,.5,ue,ce,re,ne,ne),me.add(new go.PathSegment(go.PathSegment.Bezier,re.x*a,re.y*E,ue.x*a,ue.y*E,ce.x*a,ce.y*E)),y=ve*.3,b=.3,Te(ee-b,te,ee-b,te-y,ee-y,te-b,ee,te-b,.5,ue,ce,re,ne,ne),me.add(new go.PathSegment(go.PathSegment.Line,re.x*a,re.y*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,te*E,ce.x*a,ce.y*E,ue.x*a,ue.y*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+b)*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,te*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),Te(ee,te-b,ee+y,te-b,ee+b,te-y,ee+b,te,.5,ne,ne,re,ue,ce),me.add(new go.PathSegment(go.PathSegment.Bezier,re.x*a,re.y*E,ce.x*a,ce.y*E,ue.x*a,ue.y*E).close());var me=new go.PathFigure(.45*a,0,!0);return x.add(me),me.add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*E)),me.add(new go.PathSegment(go.PathSegment.Line,.55*a,.5*E)),me.add(new go.PathSegment(go.PathSegment.Line,.55*a,0).close()),se(ne),se(re),se(ue),se(ce),se(Ce),x.spot1=new go.Spot(.25,.45),x.spot2=new go.Spot(.75,.8),x}),go.Shape.defineFigureGenerator("Fallout",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E/2,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,180,360,a/2,E/2,a/2,E/2));function b(ee,te,ne){ee.add(new go.PathSegment(go.PathSegment.Move,(.3+te)*a,(.8+ne)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(.5+te)*a,(.5+ne)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(.1+te)*a,(.5+ne)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(.3+te)*a,(.8+ne)*E).close())}return b(y,0,0),b(y,.4,0),b(y,.2,-.3),x}),go.Shape.defineFigureGenerator("IrritationHazard",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.2*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.2*E).close()),x.spot1=new go.Spot(.3,.3),x.spot2=new go.Spot(.7,.7),x}),go.Shape.defineFigureGenerator("ElectricalHazard",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.37*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.11*E)),y.add(new go.PathSegment(go.PathSegment.Line,.77*a,.04*E)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,.49*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.37*E)),y.add(new go.PathSegment(go.PathSegment.Line,.63*a,.86*E)),y.add(new go.PathSegment(go.PathSegment.Line,.77*a,.91*E)),y.add(new go.PathSegment(go.PathSegment.Line,.34*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.34*a,.78*E)),y.add(new go.PathSegment(go.PathSegment.Line,.44*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,.56*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.68*E).close()),x}),go.Shape.defineFigureGenerator("FireHazard",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.29*a,0,-.25*a,.63*E,.45*a,.44*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.51*a,.42*E,.48*a,.17*E,.54*a,.35*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.59*a,.18*E,.59*a,.29*E,.58*a,.28*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,.6*E,.8*a,.34*E,.88*a,.43*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.88*a,.31*E,.87*a,.48*E,.88*a,.43*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,E,1.17*a,.76*E,.82*a,.8*E).close()),x.spot1=new go.Spot(.07,.445),x.spot2=new go.Spot(.884,.958),x}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(ie,a,E){var x=new go.Geometry,y=.5,b=0,ee=0,te=y*ve,ne=.4*Math.SQRT2/2+.5,re=.5-.5*Math.SQRT2/2,ue=1,ce=.5,Ce=.5,me=0,Se=new go.PathFigure(ne*a,(1-re)*E,!1);return x.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,ce*E,ue*a,.7*E,ue*a,ce*E)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ce+b)*a,(me+b)*E,(.5+y+b)*a,(.5-te+b)*E,(.5+te+b)*a,(.5-y+b)*E)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-y+b)*a,(.5+ee)*E,(.5-te+b)*a,(.5-y+ee)*E,(.5-y+b)*a,(.5-te+ee)*E)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(.35+b)*a,.9*E,(.5-y+b)*a,(.5+te+ee)*E,(.5-te+b)*a,.9*E)),Se.add(new go.PathSegment(go.PathSegment.Move,(.25+b)*a,.8*E)),Se.add(new go.PathSegment(go.PathSegment.Line,(.35+b)*a,.9*E)),Se.add(new go.PathSegment(go.PathSegment.Line,(.2+b)*a,.95*E)),x}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Move,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Move,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var b=new go.PathFigure(a,E,!1);x.add(b);var ee=new go.PathFigure(0,.5*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*E,.2*a,.35*E,.3*a,.35*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.7*a,.65*E,.8*a,.65*E)),x}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close()),x}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.2*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E).close());var y=new go.PathFigure(0,.2*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),x}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.7*a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,0,.6*a,.5*E,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,E,.4*a,.5*E,a,.5*E).close());var b=new go.PathFigure(.45*a,.73*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.73*E)),b.add(new go.PathSegment(go.PathSegment.Move,.38*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.63*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Move,.31*a,.27*E)),b.add(new go.PathSegment(go.PathSegment.Line,.56*a,.27*E)),x}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var b=new go.PathFigure(.335*a,(1-.555)*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.68*E,(1-.12)*a,.46*E,(1-.02)*a,.54*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.68*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.335*a,(1-.555)*E,.02*a,.54*E,.12*a,.46*E)),b.add(new go.PathSegment(go.PathSegment.Line,.365*a,(1-.595)*E));var ee=.5-.285,te=.5,ne=ee,re=Math.PI/4,ue=4*(1-Math.cos(re))/(3*Math.sin(re)),ce=ue*.5,Ce=ee,me=ee,Se=ue*Ce,Pe=ue*me;b.add(new go.PathSegment(go.PathSegment.Bezier,(te-Ce)*a,ne*E,(te-(Se+Ce)/2)*a,(ne+(me+Pe)/2)*E,(te-Ce)*a,(ne+Pe)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,te*a,(ne-me)*E,(te-Ce)*a,(ne-Pe)*E,(te-Se)*a,(ne-me)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(te+Ce)*a,ne*E,(te+Se)*a,(ne-me)*E,(te+Ce)*a,(ne-Pe)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*a,(1-.595)*E,(te+Ce)*a,(ne+Pe)*E,(te+(Se+Ce)/2)*a,(ne+(me+Pe)/2)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*a,(1-.595)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*E)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*E)),b.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*E));var We=new go.PathFigure(.2*a,E,!1);x.add(We),We.add(new go.PathSegment(go.PathSegment.Line,.2*a,.8*E));var Ze=new go.PathFigure(.8*a,E,!1);return x.add(Ze),Ze.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*E)),x}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,E).close());var b=new go.PathFigure(.2*a,.2*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*E)),x}),go.Shape.defineFigureGenerator("BpmnEventError",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y);var b=new go.PathFigure(a,E,!1);x.add(b);var ee=new go.PathFigure(.1*a,E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("Caution",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.05*a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.8*E,0,E,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.1*E,.5*a,0,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.95*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,E,a,E,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.05*a,E));var b=.05;return y.add(new go.PathSegment(go.PathSegment.Move,(.5-b)*a,.875*E)),y.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*a,.875*E,b*a,b*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.325*E,.575*a,.725*E,.625*a,.375*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.75*E,.375*a,.375*E,.425*a,.725*E)),x}),go.Shape.defineFigureGenerator("Recycle",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.45*a,.95*E,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.185*a,.85*E,.17*a,.95*E,.15*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.235*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,.3*a,.625*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,.275*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.05*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.05*a,.575*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.1875*a,.95*E,0,.675*E,0,.7*E)),y.add(new go.PathSegment(go.PathSegment.Move,.45*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.775*E)),y.add(new go.PathSegment(go.PathSegment.Line,.22*a,.775*E));var b=new go.PathFigure(.475*a,.2*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.225*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,.275*a,.175*E)),b.add(new go.PathSegment(go.PathSegment.Line,.325*a,.05*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.05*E,.35*a,0,.375*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.575*a,.375*E)),b.add(new go.PathSegment(go.PathSegment.Line,.525*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.475*E)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.315*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.32*E)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.05*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,0,.65*a,.05*E,.625*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.38*a,.0105*E));var ee=new go.PathFigure(.675*a,.575*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.875*a,.525*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.85*a,.95*E,a,.8*E,a,.85*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,.95*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.85*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,.725*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.7*a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Move,.675*a,.575*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.775*a,.775*E)),x}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(ie,a,E){var x=new go.Geometry,y=.5,b=ve*.5,ee=new go.PathFigure(a,y*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,y*a,E,a,(y+b)*E,(y+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,y*E,(y-b)*a,E,0,(y+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,y*a,0,0,(y-b)*E,(y-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,y*E,(y+b)*a,0,a,(y-b)*E));var te=new go.PathFigure(y*a,0,!1);return x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,y*a,.15*E)),te.add(new go.PathSegment(go.PathSegment.Move,y*a,E)),te.add(new go.PathSegment(go.PathSegment.Line,y*a,.85*E)),te.add(new go.PathSegment(go.PathSegment.Move,0,y*E)),te.add(new go.PathSegment(go.PathSegment.Line,.15*a,y*E)),te.add(new go.PathSegment(go.PathSegment.Move,a,y*E)),te.add(new go.PathSegment(go.PathSegment.Line,.85*a,y*E)),te.add(new go.PathSegment(go.PathSegment.Move,y*a,y*E)),te.add(new go.PathSegment(go.PathSegment.Line,.58*a,.1*E)),te.add(new go.PathSegment(go.PathSegment.Move,y*a,y*E)),te.add(new go.PathSegment(go.PathSegment.Line,.78*a,.54*E)),x}),go.Shape.defineFigureGenerator("Package",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.15*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var b=new go.PathFigure(0,.15*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.15*E).close()),x.spot1=new go.Spot(0,.1),x.spot2=new go.Spot(1,1),x}),go.Shape.defineFigureGenerator("Class",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(0,.2*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E).close());var ee=new go.PathFigure(0,.5*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,.5*E).close()),x}),go.Shape.defineFigureGenerator("Component",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E).close());var b=new go.PathFigure(0,.2*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*E).close());var ee=new go.PathFigure(0,.6*E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.45*a,.6*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.45*a,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.6*E).close()),x}),go.Shape.defineFigureGenerator("Boat Shipment",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.15*a,.6*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E));var b=new go.PathFigure(.15*a,.6*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),x}),go.Shape.defineFigureGenerator("Customer/Supplier",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,.66*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x}),go.Shape.defineFigureGenerator("Workcell",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.35*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("Supermarket",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.33*E)),y.add(new go.PathSegment(go.PathSegment.Move,a,.33*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.66*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.66*E)),y.add(new go.PathSegment(go.PathSegment.Move,a,.66*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),x}),go.Shape.defineFigureGenerator("TruckShipment",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(a,.8*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*E).close());var ee=.1,te=ve*.1,ne=.2,re=.9,ue=new go.PathFigure((ne-ee)*a,re*E,!0);x.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-ee)*E,(ne-ee)*a,(re-te)*E,(ne-te)*a,(re-ee)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(ne+ee)*a,re*E,(ne+te)*a,(re-ee)*E,(ne+ee)*a,(re-te)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re+ee)*E,(ne+ee)*a,(re+te)*E,(ne+te)*a,(re+ee)*E)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(ne-ee)*a,re*E,(ne-te)*a,(re+ee)*E,(ne-ee)*a,(re+te)*E).close()),ee=.1,te=ve*.1,ne=.8,re=.9;var ce=new go.PathFigure((ne-ee)*a,re*E,!0);return x.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re-ee)*E,(ne-ee)*a,(re-te)*E,(ne-te)*a,(re-ee)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ne+ee)*a,re*E,(ne+te)*a,(re-ee)*E,(ne+ee)*a,(re-te)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(re+ee)*E,(ne+ee)*a,(re+te)*E,(ne+te)*a,(re+ee)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ne-ee)*a,re*E,(ne-te)*a,(re+ee)*E,(ne-ee)*a,(re+te)*E).close()),x}),go.Shape.defineFigureGenerator("KanbanPost",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.2*a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),x}),go.Shape.defineFigureGenerator("Forklift",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0));var b=new go.PathFigure(0,.5*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var ee=new go.PathFigure(.5*a,.8*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*E));var te=new go.PathFigure(.5*a,.7*E,!1);x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a,.7*E));var ne=.1,re=ve*.1,ue=.1,ce=.9,Ce=new go.PathFigure((ue-ne)*a,ce*E,!0);x.add(Ce),Ce.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,(ce-ne)*E,(ue-ne)*a,(ce-re)*E,(ue-re)*a,(ce-ne)*E)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ne)*a,ce*E,(ue+re)*a,(ce-ne)*E,(ue+ne)*a,(ce-re)*E)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,(ce+ne)*E,(ue+ne)*a,(ce+re)*E,(ue+re)*a,(ce+ne)*E)),Ce.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ne)*a,ce*E,(ue-re)*a,(ce+ne)*E,(ue-ne)*a,(ce+re)*E)),ne=.1,re=ve*.1,ue=.4,ce=.9;var me=new go.PathFigure((ue-ne)*a,ce*E,!0);return x.add(me),me.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,(ce-ne)*E,(ue-ne)*a,(ce-re)*E,(ue-re)*a,(ce-ne)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ne)*a,ce*E,(ue+re)*a,(ce-ne)*E,(ue+ne)*a,(ce-re)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,ue*a,(ce+ne)*E,(ue+ne)*a,(ce+re)*E,(ue+re)*a,(ce+ne)*E)),me.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ne)*a,ce*E,(ue-re)*a,(ce+ne)*E,(ue-ne)*a,(ce+re)*E)),x}),go.Shape.defineFigureGenerator("RailShipment",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.1*a,.4*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.4*E).close());var b=new go.PathFigure(.45*a,.7*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*E));var ee=new go.PathFigure(.55*a,.4*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.4*E).close());var ue=.05,ce=ve*.05,Ce=.175,me=.95,te=new go.PathFigure((Ce-ue)*a,me*E,!0);x.add(te),te.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me-ue)*E,(Ce-ue)*a,(me-ce)*E,(Ce-ce)*a,(me-ue)*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,(Ce+ue)*a,me*E,(Ce+ce)*a,(me-ue)*E,(Ce+ue)*a,(me-ce)*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me+ue)*E,(Ce+ue)*a,(me+ce)*E,(Ce+ce)*a,(me+ue)*E)),te.add(new go.PathSegment(go.PathSegment.Bezier,(Ce-ue)*a,me*E,(Ce-ce)*a,(me+ue)*E,(Ce-ue)*a,(me+ce)*E));var ue=.05,ce=ve*.05,Ce=.375,me=.95,ne=new go.PathFigure((Ce-ue)*a,me*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me-ue)*E,(Ce-ue)*a,(me-ce)*E,(Ce-ce)*a,(me-ue)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(Ce+ue)*a,me*E,(Ce+ce)*a,(me-ue)*E,(Ce+ue)*a,(me-ce)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me+ue)*E,(Ce+ue)*a,(me+ce)*E,(Ce+ce)*a,(me+ue)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(Ce-ue)*a,me*E,(Ce-ce)*a,(me+ue)*E,(Ce-ue)*a,(me+ce)*E));var ue=.05,ce=ve*.05,Ce=.625,me=.95,re=new go.PathFigure((Ce-ue)*a,me*E,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me-ue)*E,(Ce-ue)*a,(me-ce)*E,(Ce-ce)*a,(me-ue)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(Ce+ue)*a,me*E,(Ce+ce)*a,(me-ue)*E,(Ce+ue)*a,(me-ce)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me+ue)*E,(Ce+ue)*a,(me+ce)*E,(Ce+ce)*a,(me+ue)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(Ce-ue)*a,me*E,(Ce-ce)*a,(me+ue)*E,(Ce-ue)*a,(me+ce)*E));var ue=.05,ce=ve*.05,Ce=.825,me=.95,Se=new go.PathFigure((Ce-ue)*a,me*E,!0);x.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me-ue)*E,(Ce-ue)*a,(me-ce)*E,(Ce-ce)*a,(me-ue)*E)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ce+ue)*a,me*E,(Ce+ce)*a,(me-ue)*E,(Ce+ue)*a,(me-ce)*E)),Se.add(new go.PathSegment(go.PathSegment.Bezier,Ce*a,(me+ue)*E,(Ce+ue)*a,(me+ce)*E,(Ce+ce)*a,(me+ue)*E)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ce-ue)*a,me*E,(Ce-ce)*a,(me+ue)*E,(Ce-ue)*a,(me+ce)*E).close());var Pe=new go.PathFigure(0,E,!1);return x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x}),go.Shape.defineFigureGenerator("Warehouse",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var b=new go.PathFigure(0,.2*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E).close());var ee=new go.PathFigure(.15*a,E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.15*a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.15*a,E).close());var te=.05,ne=ve*.05,re=.35,ue=.775,ce=new go.PathFigure((re-te)*a,ue*E,!0);return x.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,re*a,(ue-te)*E,(re-te)*a,(ue-ne)*E,(re-ne)*a,(ue-te)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(re+te)*a,ue*E,(re+ne)*a,(ue-te)*E,(re+te)*a,(ue-ne)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,re*a,(ue+te)*E,(re+te)*a,(ue+ne)*E,(re+ne)*a,(ue+te)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(re-te)*a,ue*E,(re-ne)*a,(ue+te)*E,(re-te)*a,(ue+ne)*E).close()),x}),go.Shape.defineFigureGenerator("ControlCenter",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,.1*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E).close()),x}),go.Shape.defineFigureGenerator("Bluetooth",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.75*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),x}),go.Shape.defineFigureGenerator("Bookmark",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),x}),go.Shape.defineFigureGenerator("Bookmark",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),y.add(new go.PathSegment(go.PathSegment.Line,0,0)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),x}),go.Shape.defineFigureGenerator("Globe",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.75*a,0,a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,.75*E,.75*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.25*a,E,0,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,.25*E,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,.15*a,.25*E,.15*a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.85*a,.75*E,.85*a,.25*E)),y.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.15*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.15*E,.35*a,.3*E,.65*a,.3*E)),y.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.85*E,.35*a,.7*E,.65*a,.7*E)),x}),go.Shape.defineFigureGenerator("Wave",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.25*E,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.25*E,.1*a,0,.2*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.25*E,.425*a,.5*E,.575*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.25*E,.8*a,0,.9*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),y.add(new go.PathSegment(go.PathSegment.Move,0,.25*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.75*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.75*E,.1*a,.5*E,.2*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.75*E,.425*a,E,.575*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.75*E,.8*a,.5*E,.9*a,.5*E)),x}),go.Shape.defineFigureGenerator("Operator",function(ie,a,E){var x=new go.Geometry,y=.3,b=ve*.3,ee=.5,te=.7,ne=new go.PathFigure((ee-y)*a,te*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-y)*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+y)*a,te*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+y)*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee-y)*a,te*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E));var re=new go.PathFigure(0,.7*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,a,.7*E,0,0,a,0)),x}),go.Shape.defineFigureGenerator("TripleFanBlades",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.5*a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.65*a,.3*E,.65*a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.35*a,.5*E,.35*a,.3*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.3*a,.6*E,.1*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.2*a,E,.35*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,E,.7*a,.6*E,.9*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.8*a,E,.65*a,.95*E)),x}),go.Shape.defineFigureGenerator("CentrifugalPump",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a,0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,0,.075*E,0,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,E,0,E,.4*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.4*E,.8*a,E,.85*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,0)),x}),go.Shape.defineFigureGenerator("Battery",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,.4*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.1*E));var b=new go.PathFigure(0,.6*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Move,0,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),x}),go.Shape.defineFigureGenerator("Delete",function(ie,a,E){var x=new go.Geometry,y=.5,b=ve*.5,ee=.5,te=.5,ne=new go.PathFigure((ee-y)*a,te*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-y)*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+y)*a,te*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+y)*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee-y)*a,te*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E));var re=new go.PathFigure(.15*a,.5*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.85*a,.5*E)),x}),go.Shape.defineFigureGenerator("Flag",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.1*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Move,0,.1*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.1*E,.15*a,0,.35*a,0)),y.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,.65*a,.2*E,.85*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*E,.85*a,.6*E,.65*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.35*a,.4*E,.15*a,.4*E).close()),x}),go.Shape.defineFigureGenerator("Help",function(ie,a,E){var x=new go.Geometry,y=.5,b=ve*.5,ee=.5,te=.5,ne=new go.PathFigure((ee-y)*a,te*E,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-y)*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee+y)*a,te*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+y)*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(ee-y)*a,te*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E).close()),y=.05,b=ve*.05,ee=.5,te=.8;var re=new go.PathFigure((ee-y)*a,te*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te-y)*E,(ee-y)*a,(te-b)*E,(ee-b)*a,(te-y)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee+y)*a,te*E,(ee+b)*a,(te-y)*E,(ee+y)*a,(te-b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(te+y)*E,(ee+y)*a,(te+b)*E,(ee+b)*a,(te+y)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee-y)*a,te*E,(ee-b)*a,(te+y)*E,(ee-y)*a,(te+b)*E).close()),re.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*E)),re.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,.75*a,.475*E,.75*a,.225*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.35*E,.4*a,.2*E,.3*a,.25*E)),x}),go.Shape.defineFigureGenerator("Location",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,E,!0).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.975*a,.025*E,.5*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*a,.5*E,.5*a,0,.025*a,.025*E).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*E)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*a,.3*E,.1*a,.1*E).close()))}),go.Shape.defineFigureGenerator("Lock",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var b=new go.PathFigure(.2*a,.5*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*E,.25*a,0,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.3*E)),x}),go.Shape.defineFigureGenerator("Unlocked",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var b=new go.PathFigure(.2*a,.5*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*E,.25*a,0,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.35*E)),x}),go.Shape.defineFigureGenerator("Gear",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(.9375*a,.56246875*E,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Line,.80621875*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Bezier,.763*a,.3316875*E,.79840625*a,.39915625*E,.7834375*a,.3635*E)).add(new go.PathSegment(go.PathSegment.Line,.8566875*a,.23796875*E)).add(new go.PathSegment(go.PathSegment.Line,.76825*a,.14959375*E)).add(new go.PathSegment(go.PathSegment.Line,.67596875*a,.24184375*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*a,.19378125*E,.64228125*a,.2188125*E,.603875*a,.2021875*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.0625*E)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.0625*E)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.19378125*E)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*a,.239375*E,.39759375*a,.20190625*E,.36053125*a,.2176875*E)).add(new go.PathSegment(go.PathSegment.Line,.2379375*a,.14959375*E)).add(new go.PathSegment(go.PathSegment.Line,.14953125*a,.2379375*E)).add(new go.PathSegment(go.PathSegment.Line,.23934375*a,.3278125*E)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*a,.4375*E,.21765625*a,.36059375*E,.201875*a,.397625*E)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.5625*E)).add(new go.PathSegment(go.PathSegment.Line,.1938125*a,.5625*E)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*a,.67596875*E,.20221875*a,.603875*E,.21884375*a,.64228125*E)).add(new go.PathSegment(go.PathSegment.Line,.1495625*a,.76825*E)).add(new go.PathSegment(go.PathSegment.Line,.238*a,.8566875*E)).add(new go.PathSegment(go.PathSegment.Line,.3316875*a,.76296875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*a,.80621875*E,.36353125*a,.78340625*E,.3991875*a,.79840625*E)).add(new go.PathSegment(go.PathSegment.Line,.43753125*a,.9375*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.9375*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.80621875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*a,.760625*E,.602375*a,.79809375*E,.63946875*a,.78234375*E)).add(new go.PathSegment(go.PathSegment.Line,.76828125*a,.8566875*E)).add(new go.PathSegment(go.PathSegment.Line,.85671875*a,.76825*E)).add(new go.PathSegment(go.PathSegment.Line,.76065625*a,.67221875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*a,.56246875*E,.78234375*a,.63940625*E,.798125*a,.602375*E)).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.56246875*E).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.6*E)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*a,.5*E,.1*a,.1*E).close()))}),go.Shape.defineFigureGenerator("Hand",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.5*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.3*E,0,.375*E,.05*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.075*E,.3*a,.225*E,.4*a,.175*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.525*a,.075*E,.46*a,.05*E,.525*a,.05*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.4*E,.525*a,.275*E,.475*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.55*E,a,.4*E,a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,.425*a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.55*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.7*E,.675*a,.55*E,.675*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.575*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,.85*E,.65*a,.7*E,.65*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.535*a,E,.61*a,.85*E,.61*a,E)),y.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,.435*a,E,0,E).close()),x}),go.Shape.defineFigureGenerator("Map",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,.2*E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),y.add(new go.PathSegment(go.PathSegment.Move,.25*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*E)),y.add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),y.add(new go.PathSegment(go.PathSegment.Move,.75*a,0)),y.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*E)),x}),go.Shape.defineFigureGenerator("Eject",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a,E)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.7)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.7).close());var b=new go.PathFigure(0,E*.6,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close()),x}),go.Shape.defineFigureGenerator("Pencil",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)).add(new go.PathSegment(go.PathSegment.Line,a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,E)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E).close()))}),go.Shape.defineFigureGenerator("Building",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*1,E*1,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.85)),y.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.85)),y.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.3)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.85)),y.add(new go.PathSegment(go.PathSegment.Line,a,E*.85).close());var b=new go.PathFigure(.126*a,.85*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.126*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.322*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.322*a,.85*E).close());var ee=new go.PathFigure(.402*a,.85*E,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.402*a,.45*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.598*a,.45*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.598*a,.85*E).close());var te=new go.PathFigure(.678*a,.85*E,!1);x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,.678*a,.45*E)),te.add(new go.PathSegment(go.PathSegment.Line,.874*a,.45*E)),te.add(new go.PathSegment(go.PathSegment.Line,.874*a,.85*E).close());var ne=new go.PathFigure(.5*a,.1*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*a,.3*E)),ne.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*a,.3*E).close()),x}),go.Shape.defineFigureGenerator("Staircase",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E*1,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*.8)),y.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.8)),y.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.6)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.6)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.4)),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.4)),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.2)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.2)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.15)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.15)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*.95).close()),x}),go.Shape.defineFigureGenerator("5Bars",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,E*1,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.184,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.184,E*(1-.184)).close());var b=new go.PathFigure(a*.204,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.204,E*(1-.184))),b.add(new go.PathSegment(go.PathSegment.Line,a*.388,E*(1-.184*2))),b.add(new go.PathSegment(go.PathSegment.Line,a*.388,E*1).close());var ee=new go.PathFigure(a*.408,E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.408,E*(1-.184*2))),ee.add(new go.PathSegment(go.PathSegment.Line,a*.592,E*(1-.184*3))),ee.add(new go.PathSegment(go.PathSegment.Line,a*.592,E*1).close());var te=new go.PathFigure(a*.612,E,!0);x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a*.612,E*(1-.184*3))),te.add(new go.PathSegment(go.PathSegment.Line,a*.796,E*(1-.184*4))),te.add(new go.PathSegment(go.PathSegment.Line,a*.796,E*1).close());var ne=new go.PathFigure(a*.816,E,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.816,E*(1-.184*4))),ne.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-.184*5))),ne.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1).close()),x}),go.Shape.defineFigureGenerator("PC",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,0).close());var b=new go.PathFigure(a*.055,.07*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.07)),b.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.1).close());var ee=new go.PathFigure(a*.055,.13*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.13)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.16)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.16).close());var te=new go.PathFigure(a*.055,.18*E,!0);x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.18)),te.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.21)),te.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.21).close());var ne=new go.PathFigure(a*1,0,!0);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.4,0)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.65)),ne.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.65).close()),x}),go.Shape.defineFigureGenerator("Plane",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(.55*a,E,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*E)),y.add(new go.PathSegment(go.PathSegment.Line,.1*a,.475*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.35*a,.525*E,0,.4*E,.225*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.4*a,.475*E)),y.add(new go.PathSegment(go.PathSegment.Line,.15*a,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,.2*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.325*E)),y.add(new go.PathSegment(go.PathSegment.Line,.85*a,.1*E)),y.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.2*E,.975*a,0,a,.08*E)),y.add(new go.PathSegment(go.PathSegment.Line,.7*a,.45*E)),y.add(new go.PathSegment(go.PathSegment.Line,.6*a,.95*E)),y.add(new go.PathSegment(go.PathSegment.Line,.55*a,E).close()),x}),go.Shape.defineFigureGenerator("Key",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*1,E*.5,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.9,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.4*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,.2*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.35*E)),y.add(new go.PathSegment(go.PathSegment.Line,0,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.15,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,.8*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.65*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.7,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,.55*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,.6*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.85,.575*E)),y.add(new go.PathSegment(go.PathSegment.Line,a*.9,.6*E).close()),y.add(new go.PathSegment(go.PathSegment.Move,.17*a,.425*E)),y.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*a,.5*E,.075*a,.075*E).close()),x}),go.Shape.defineFigureGenerator("FilmTape",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(0,0,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Arc,270,180,a*0,a*.3,a*.055)),y.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.08,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.08,E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),E*.95)),y.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1));var b=new go.PathFigure(0,0,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*0)),b.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*1,a*.3,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1));var ee=new go.PathFigure(a*.11,E*.1,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),E*.1)),ee.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),E*.8)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.11,E*.8).close());var te=new go.PathFigure(a*(.11+.24133333*1+.028*1),E*.1,!1);x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),E*.1)),te.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),E*.8)),te.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*1),E*.8).close());var ne=new go.PathFigure(a*(.11+.24133333*2+.028*2),E*.1,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),E*.1)),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),E*.8)),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*2),E*.8).close()),x}),go.Shape.defineFigureGenerator("FloppyDisk",function(ie,a,E){var x=new go.Geometry,y=8,b=y*ve,ee=new go.PathFigure(y,0,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.86,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.14)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-y)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-y,E,a,E-b,a-b,E)),ee.add(new go.PathSegment(go.PathSegment.Line,y,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-y,b,E,0,E-b)),ee.add(new go.PathSegment(go.PathSegment.Line,0,y)),ee.add(new go.PathSegment(go.PathSegment.Bezier,y,0,0,b,b,0).close());var te=new go.PathFigure(a*.83,0,!1);x.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a*.83,E*.3)),te.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*.3)),te.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*0).close());var ne=new go.PathFigure(a*.83,E*1,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.83,E*.5)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*.5)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*1).close());var re=new go.PathFigure(a*.78,E*.05,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.05)),re.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.25)),re.add(new go.PathSegment(go.PathSegment.Line,a*.78,E*.25).close()),x}),go.Shape.defineFigureGenerator("SpeechBubble",function(ie,a,E){var x=ie?ie.parameter1:NaN;(isNaN(x)||x<0)&&(x=15),x=Math.min(x,a/3),x=Math.min(x,E/3);var y=x*ve,b=E*.8,ee=new go.Geometry,te=new go.PathFigure(x,0,!0);return ee.add(te),te.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),te.add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-y,0,a,y)),te.add(new go.PathSegment(go.PathSegment.Line,a,b-x)),te.add(new go.PathSegment(go.PathSegment.Bezier,a-x,b,a,b-y,a-y,b)),te.add(new go.PathSegment(go.PathSegment.Line,a*.7,b)),te.add(new go.PathSegment(go.PathSegment.Line,a*.7,E)),te.add(new go.PathSegment(go.PathSegment.Line,a*.55,b)),te.add(new go.PathSegment(go.PathSegment.Line,x,b)),te.add(new go.PathSegment(go.PathSegment.Bezier,0,b-x,y,b,0,b-y)),te.add(new go.PathSegment(go.PathSegment.Line,0,x)),te.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,y,y,0).close()),y>1?(ee.spot1=new go.Spot(0,0,y,y),ee.spot2=new go.Spot(1,.8,-y,-y)):(ee.spot1=go.Spot.TopLeft,ee.spot2=new go.Spot(1,.8)),ee}),go.Shape.defineFigureGenerator("Repeat",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*.45,!0);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*.9)),y.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.9)),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*.45).close());var b=new go.PathFigure(a*1,E*.55,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.55).close()),x}),go.Shape.defineFigureGenerator("Windows",function(ie,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close()).add(new go.PathSegment(go.PathSegment.Move,.4*a,.4*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,.8*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E).close()).add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*E)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.1*E).close()).add(new go.PathSegment(go.PathSegment.Move,.1*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E).close()))}),go.Shape.defineFigureGenerator("Terminal",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*.1,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.9)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*.9).close());var b=new go.PathFigure(a*.1,E*.2,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.22,E*.285)),b.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.32)),b.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.37)),b.add(new go.PathSegment(go.PathSegment.Line,a*.275,E*.32)),b.add(new go.PathSegment(go.PathSegment.Line,a*.275,E*.25).close());var ee=new go.PathFigure(a*.28,E*.37,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.37)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.41)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.28,E*.41).close()),x}),go.Shape.defineFigureGenerator("Beaker",function(ie,a,E){var x=new go.Geometry,y=15,b=y*ve,ee=new go.PathFigure(a*.62,E*.475,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-y)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-y,E,a,E-b,a-b,E)),ee.add(new go.PathSegment(go.PathSegment.Line,y,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-y,b,E,0,E-b)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.38,E*.475)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.38,E*.03)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*0)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*0)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.62,E*.03).close()),b>1?(x.spot1=new go.Spot(0,0,b,b),x.spot2=new go.Spot(1,1,-b,-b)):(x.spot1=go.Spot.TopLeft,x.spot2=go.Spot.BottomRight),x}),go.Shape.defineFigureGenerator("Download",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*1,!0);x.add(y);var b=.1/.3;y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-b)).close());var ee=new go.PathFigure(a*.4,E*0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.26,E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.66)),ee.add(new go.PathSegment(go.PathSegment.Line,a*(1-.26),E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*0).close()),x}),go.Shape.defineFigureGenerator("Bin",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*1,!0);x.add(y);var b=.1/.3;return y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-b)).close()),x}),go.Shape.defineFigureGenerator("Upload",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*0,E*1,!0);x.add(y);var b=.1/.3;y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-b))),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-b)).close());var ee=new go.PathFigure(a*.5,E*0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.26,E*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.63)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.63)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.74,E*.25).close()),x}),go.Shape.defineFigureGenerator("EmptyDrink",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.15,E*0,!1);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.85,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1).close()),x}),go.Shape.defineFigureGenerator("Drink",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.15,E*0,!1);x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.85,E*0)),y.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1).close());var b=new go.PathFigure(a*.235,E*.28,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.765,E*.28)),b.add(new go.PathSegment(go.PathSegment.Line,a*.655,E*.97)),b.add(new go.PathSegment(go.PathSegment.Line,a*.345,E*.97).close()),x}),go.Shape.defineFigureGenerator("4Arrows",function(ie,a,E){var x=new go.Geometry,y=new go.PathFigure(a*.5,E*0,!0);return x.add(y),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*.25)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.25)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.5)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.65)),y.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*1)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.75)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.55)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.65)),y.add(new go.PathSegment(go.PathSegment.Line,a*0,E*.5)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.35)),y.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.45)),y.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.25)),y.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.25).close()),x}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},61016:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var ke={},mt="5.0",oe={},z=null,se=!1,we=!1,Te=null,he=!1,je=null,ve=null,Be=0;Be4?parseFloat(Re):5};ke.setHTML5Codebase=function(Re,qe){ve=Re,ot(Re,qe)},ke.setJavaCodebase=ke.setJavaCodebaseVersion=ke.isCompiledInstalled=ke.setPreCompiledScriptPath=ke.setPreCompiledResourcePath=function(){},ke.setHTML5CodebaseVersion=function(Re,qe){var at=parseFloat(Re);if(at!==NaN&&at<5){console.log("The GeoGebra HTML5 codebase version "+at+" is deprecated. Using version latest instead.");return}je=Re,He(Re,qe)},ke.getHTML5CodebaseVersion=function(){return ie},ke.getParameters=function(){return oe},ke.setFontsCSSURL=function(Re){ee=Re},ke.setGiacJSURL=function(Re){},ke.setJNLPFile=function(Re){Ne=Re},ke.setJNLPBaseDir=function(Re){},ke.inject=function(){function Re(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var qe="auto",at=oe.id,dt,$e=!1,pt=0;pt=5)return!0;var Re=ke.getAppletObject();return Re&&typeof Re.recalculateEnvironments=="function"?(Re.recalculateEnvironments(),!0):!1},ke.startAnimation=function(){var Re=ke.getAppletObject();return Re&&typeof Re.startAnimation=="function"?(Re.startAnimation(),!0):!1},ke.stopAnimation=function(){var Re=ke.getAppletObject();return Re&&typeof Re.stopAnimation=="function"?(Re.stopAnimation(),!0):!1},ke.getAppletObject=function(){var Re=oe.id!==void 0?oe.id:"ggbApplet";return window[Re]},ke.resize=function(){};var Se=function(Re,qe,at){var dt=document.createElement("param");dt.setAttribute("name",qe),dt.setAttribute("value",at),Re.appendChild(dt)},Pe=function(Re){return Re&&Re!=="false"},We=function(Re,qe,at){ne(ie)<=4.2&&(at=!0);var dt=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==ie||ggbHTML5LoadedCodebaseIsWebSimple&&!E)&&(dt=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var $e=document.createElement("div");$e.classList.add("appletParameters","notranslate");var pt=qe.width,Ee=qe.height;if(qe.disableAutoScale=qe.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():qe.disableAutoScale,qe.width!==void 0)if(ne(ie)<=4.4)Pe(qe.showToolBar)&&(qe.height-=7),Pe(qe.showAlgebraInput)&&(qe.height-=37),qe.width<605&&Pe(qe.showToolBar)&&(qe.width=605,pt=605);else{var Pt=100;(Pe(qe.showToolBar)||Pe(qe.showMenuBar))&&(qe.hasOwnProperty("customToolBar")&&(qe.customToolbar=qe.customToolBar),Pt=Pe(qe.showMenuBar)?245:155),pt=5?(qe.appletOnLoad=function(zn){var $n=Re.querySelector(".ggb_preview");$n&&$n.parentNode.removeChild($n),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(Ht),window.GGBT_wsf_view&&$(window).trigger("resize"),Gt(zn)},jn||Ht.appendChild(Et)):$e.appendChild(Et),Ht.appendChild($e),jn||Re.appendChild(Ht),setTimeout(function(){ke.resize()},1)}else{var it=document.createElement("div");it.className="applet_scaler",it.style.position="relative",it.style.display="block",it.appendChild($e),Re.appendChild(it),qe.appletOnLoad=function(zn){ke.resize(),Gt(zn)}}function Jt(zn,$n){$n&&typeof $n.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(zn,$n.appletOnLoad):renderGGBElement(zn),Nt("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",$n)}function tn(zn,$n){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:zn,params:$n}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(Fa){Jt(Fa.article,Fa.params)}),html5AppletsToProcess=null)},ne(ie)<5&&(zn.className+=" geogebraweb")):Jt(zn,$n)}if(dt){scriptLoadStarted=!0;for(var hn=0;hn<$e.childNodes.length;hn++){var qt=$e.childNodes[hn].tagName;qt==="TABLE"&&($e.removeChild($e.childNodes[hn]),hn--)}if(ggbHTML5LoadedScript!==null){var Hn=document.querySelector('script[src="'+ggbHTML5LoadedScript+'"]');Hn!=null&&Hn.parentNode.removeChild(Hn)}var On=document.createElement("script"),En=function(){tn($e,qe)};On.src=Ge+a,ggbHTML5LoadedCodebaseIsWebSimple=E,ggbHTML5LoadedCodebaseVersion=ie,ggbHTML5LoadedScript=On.src,Nt("GeoGebra HTML5 codebase loaded: '"+Ge+"'.",qe),!ve&&(!je||je=="5.0")?(E?webSimple.succeeded=webSimple.succeeded||webSimple():web3d.succeeded=web3d.succeeded||web3d(),En()):Ge.requirejs?__webpack_require__.e(12).then(function(){var zn=[__webpack_require__(12)];En.apply(null,zn)}.bind(this)).catch(__webpack_require__.oe):(On.onload=En,Re.appendChild(On))}else tn($e,qe);qe.height=Ee,qe.width=pt},Ze=function(Re,qe,at){var dt=Dt(qe.width,qe.height,qe.borderColor,at),$e=document.createElement("div");$e.style.position="relative",$e.style.display="block",$e.style.width=qe.width+"px",$e.style.height=qe.height+"px",$e.className="applet_screenshot applet_scaler"+(at?" applet_screenshot_play":""),$e.appendChild(dt);var pt=GGBAppletUtils.getScale(qe,Re,at);at?(Re.appendChild(ut()),window.GGBT_wsf_view||(Re.style.position="relative")):window.GGBT_spinner&&window.GGBT_spinner.attachSpinner($e,"66%"),Re.appendChild($e),pt!==1&&!isNaN(pt)&&(GGBAppletUtils.scaleElement($e,pt),$e.style.width=qe.width+"px",$e.style.height=qe.height+"px",$e.parentNode.style.width=qe.width*pt+"px",$e.parentNode.style.height=qe.height*pt+"px"),ke.resize=function(){lt(Re,dt,$e,at)},window.addEventListener("resize",function(Ee){ke.resize()}),ke.resize()};function lt(Re,qe,at,dt){if(Re.contains(qe)){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Re.id!=="fullscreencontent")return;window.GGBT_wsf_view.setCloseBtnPosition(Re)}var $e=GGBAppletUtils.getScale(oe,Re,dt);at.parentNode!==null&&(!isNaN($e)&&$e!==1?(GGBAppletUtils.scaleElement(at,$e),at.parentNode.style.width=oe.width*$e+"px",at.parentNode.style.height=oe.height*$e+"px"):(GGBAppletUtils.scaleElement(at,1),at.parentNode.style.width=oe.width+"px",at.parentNode.style.height=oe.height+"px")),typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&GGBAppletUtils.positionCenter(Re),typeof window.GGBT_ws_header_footer=="object"&&window.GGBT_ws_header_footer.setWsScrollerHeight()}}ke.onExitFullscreen=function(Re,qe){qe.appendChild(Re)};var ft=function(Re,qe,at,dt){Ze(Re,qe,!0);for(var $e=function(){var Pt=[];for(Ee=0;Ee0?(dn.remove(),Ht.attr("id","fullscreencontent").show(),jQuery(Gt).append(Ht),window.dispatchEvent(new Event("resize"))):We(dn,qe,!1),window.GGBT_wsf_view.launchFullScreen(Gt)}else Ie=dt,We(Re,qe,!1);if(!window.GGBT_wsf_view)for(Ee=0;EeRe/4*3&&(dn=Re/4*3),Gt=dn/5.8,Pt.setAttribute("src",y),Pt.setAttribute("width",dn),Pt.setAttribute("height",Gt);var Ht=(Re-dn)/2,jn=(qe-Gt)/2;Pt.style.left=Ht+"px",Pt.style.top=jn+"px",$e.appendChild(Pt)}}return $e.appendChild(Ee),$e},Rt=function(Re){return Re=Re.toLowerCase(),Re==="html5"||Re==="screenshot"?Re:"html5"},Lt=["web","webSimple","web3d","tablet","tablet3d","phone"],He=function(Re,qe){if(ie=Re,qe){ot(ie,!0);return}var at=!se;if(at){var dt=ne(ie);!isNaN(dt)&&dt<4.4&&(at=!1)}var $e,pt;window.location.protocol.substr(0,4)==="http"?$e=window.location.protocol:$e="http:";var Ee=ie.indexOf("//");Ee>0?pt=ie:Ee===0?pt=$e+ie:pt="https://www.geogebra.org/apps/5.2.814.0/";for(var Pt in Lt)if(ie.slice(Lt[Pt].length*-1)===Lt[Pt]||ie.slice((Lt[Pt].length+1)*-1)===Lt[Pt]+"/"){ot(pt,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&at&&!z.is3D&&!z.AV&&!z.SV&&!z.CV&&!z.EV2&&!z.CP&&!z.PC&&!z.DA&&!z.FI&&!z.PV&&!Pe(oe.showToolBar)&&!Pe(oe.showMenuBar)&&!Pe(oe.showAlgebraInput)&&!Pe(oe.enableRightClick)&&(!oe.appName||oe.appName=="classic")?pt+="webSimple/":pt+="web3d/",ot(pt,!1)},ot=function(Re,qe){if(Re.requirejs){Ge=Re;return}Re.slice(-1)!=="/"&&(Re+="/"),Ge=Re,qe===null&&(qe=Re.indexOf("http")===-1),Oe=qe,a="web.nocache.js",E=!1;var at=Ge.split("/");at.length>1&&(!qe&&at[at.length-2]==="webSimple"?(a="webSimple.nocache.js",E=!0):Lt.indexOf(at[at.length-2])>=0&&(a=at[at.length-2]+".nocache.js")),at=Re.split("/"),ie=at[at.length-3],ie.substr(0,4)==="test"?ie=ie.substr(4,1)+"."+ie.substr(5,1):(ie.substr(0,3)==="war"||ie.substr(0,4)==="beta")&&(ie="5.0");var dt=parseFloat(ie);dt!==NaN&&dt<5&&Re.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+dt+" is deprecated. Using version latest instead."),He("5.0",qe))},Nt=function(Re,qe){window.console&&window.console.log&&(!qe||typeof qe.showLogging=="undefined"||qe.showLogging&&qe.showLogging!=="false")&&console.log(Re)};oe.material_id!==void 0?ce(ht):ht();function ht(){var Re=mt;je!==null?Re=je:parseFloat(Re)<5&&(Re="5.0"),He(Re,!1),ve!==null&&ot(ve,Oe),he=!0}return ke},GGBAppletUtils=function(){"use strict";function ke(){return window.GGBT_wsf_edit!==void 0}function mt(he,je){je!=1?(he.style.transformOrigin="0% 0% 0px",he.style.webkitTransformOrigin="0% 0% 0px",he.style.transform="scale("+je+","+je+")",he.style.webkitTransform="scale("+je+","+je+")",he.style.maxWidth="initial",he.querySelector(".ggb_preview")!==null&&(he.querySelector(".ggb_preview").style.maxWidth="initial"),he.querySelectorAll(".ggb_preview img")[0]!==void 0&&(he.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),he.querySelectorAll(".ggb_preview img")[1]!==void 0&&(he.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(he.style.transform="none",he.style.webkitTransform="none")}function oe(he,je,ve,Be,Me,Ne){var Ge=null;if(Ne!=null&&Ne!="")for(var Oe=he.parentNode;Oe!=null;)if((" "+Oe.className+" ").indexOf(" "+Ne+" ")>-1){Ge=Oe;break}else Oe=Oe.parentNode;var Ie=0,ie=0,a=0,E=0,x=0,y=0,b=0;if(Ge)Ie=Ge.offsetWidth,ie=Math.max(Be?Ge.offsetWidth:0,Ge.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(Ie=Math.min(window.innerWidth,document.documentElement.clientWidth),ie=Math.min(window.innerHeight,document.documentElement.clientHeight),a=Ie):(Ie=window.innerWidth,ie=window.innerHeight,a=window.innerWidth),he){var ee=he.getBoundingClientRect();ee.left>0&&ee.left<=Ie&&(Me===void 0||!Me)&&(document.dir==="rtl"?(x=Ie-ee.width-ee.left,y=a<=480?10:30):(y=ee.left,x=a<=480?10:30),E=y+x)}if(he&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var te=he.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(E=40,b=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(E=0,b=40)}}return he&&((ve===void 0||!ve)&&je>0&&je+E1&&(Ne=!0)),je&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(Ne=!0),!(he.hasOwnProperty("disableAutoScale")&&he.disableAutoScale))Me=z(he,je,Ne,ve,he.scaleContainerClass);else return Be;return Ne&&(!he.hasOwnProperty("scale")||Be===1)?Me:Math.min(Be,Me)}function we(he){var je=Math.min(window.innerWidth,document.documentElement.clientWidth),ve=Math.min(window.innerHeight,document.documentElement.clientHeight),Be=he.getBoundingClientRect(),Me=(je-Be.width)/2,Ne=(ve-Be.height)/2;Ne<0&&(Ne=0),he.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(Me<40?he.style.left="40px":he.style.left=Me+"px",he.style.top=Ne+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(Ne<40?he.style.top="40px":he.style.top=Ne+"px",he.style.left=Me+"px")}function Te(he,je){var ve=he.querySelector(".appletParameters");if(ve){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(je.id!==ve.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(he)}if(ve.parentElement&&/fullscreen/.test(ve.parentElement.className))return;var Be=se(je,he);ke()&&ve.setAttribute("data-param-scale",Be);for(var Me=null,Ne=0;Ne=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(ke){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(ke){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(ke){var mt=c[ke];return mt==null?null:mt},r=d,webModule.__errFn=e}function B(){function ke(he){var je=he.lastIndexOf(rb);je==-1&&(je=he.length);var ve=he.indexOf(sb);ve==-1&&(ve=he.length);var Be=he.lastIndexOf(tb,Math.min(ve,je));return Be>=O?he.substring(O,Be+P):W}function mt(he){if(!he.match(/^\w+:\/\//)){var je=o.createElement(ub);je.src=he+vb,he=ke(je.src)}return he}function oe(){var he=__gwt_getMetaProperty(wb);return he!=null?he:W}function z(){for(var he=o.getElementsByTagName(_),je=O;jeO?he[he.length-P].href:W}function we(){var he=o.location;return he.href==he.protocol+zb+he.host+he.pathname+he.search+he.hash}var Te=oe();return Te==W&&(Te=z()),Te==W&&(Te=se()),Te==W&&we()&&(Te=ke(o.location.href)),Te=mt(Te),Te}function C(ke){return ke.match(/^\//)||ke.match(/^[a-zA-Z]+:\/\//)?ke:webModule.__moduleBase+ke}function D(){var ke=[],mt=O,oe=[],z=[];function se(he){var je=z[he](),ve=oe[he];if(je in ve)return je;var Be=[];for(var Me in ve)Be[ve[Me]]=Me;throw r&&r(he,Be,je),null}if(__gwt_isKnownPropertyValue=function(he,je){return je in oe[he]},webModule.__getPropMap=function(){var he={};for(var je in oe)oe.hasOwnProperty(je)&&(he[je]=se(je));return he},webModule.__computePropValue=se,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var we;try{we=Cb;var Te=we.indexOf(Db);Te!=-1&&(mt=parseInt(we.substring(Te+P),$),we=we.substring(O,Te))}catch(he){}return webModule.__softPermutationId=mt,C(we+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase=window.ENV==="build"?"/react/build/js/mathematicalGraphics/"+name+"/":"/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},15476:function(ke,mt,oe){"use strict";oe.d(mt,{Ax:function(){return Te},Ds:function(){return he},KI:function(){return ve},SI:function(){return we},f1:function(){return se}});var z=oe(11320);function se(Be){let Me=!0;if(Be.length>0){for(let Ne=0;NeE in a?we(a,E,{enumerable:!0,configurable:!0,writable:!0,value:x}):a[E]=x,Ne=(a,E)=>{for(var x in E||(E={}))ve.call(E,x)&&Me(a,x,E[x]);if(je)for(var x of je(E))Be.call(E,x)&&Me(a,x,E[x]);return a},Ge=(a,E)=>Te(a,he(E)),Oe=(a,E)=>{var x={};for(var y in a)ve.call(a,y)&&E.indexOf(y)<0&&(x[y]=a[y]);if(a!=null&&je)for(var y of je(a))E.indexOf(y)<0&&Be.call(a,y)&&(x[y]=a[y]);return x},Ie=(a,E,x)=>new Promise((y,b)=>{var ee=re=>{try{ne(x.next(re))}catch(ue){b(ue)}},te=re=>{try{ne(x.throw(re))}catch(ue){b(ue)}},ne=re=>re.done?y(re.value):Promise.resolve(re.value).then(ee,te);ne((x=x.apply(a,E)).next())});const ie=a=>{var E=a,{children:x}=E,y=Oe(E,["children"]);const[b,ee]=(0,se.useState)(!1);return se.createElement(z.ZP,Ge(Ne({},y),{loading:b,onClick:te=>Ie(void 0,null,function*(){try{ee(!0),yield y.onClick(te),ee(!1)}catch(ne){console.error(ne),ee(!1)}})}),x)}},56243:function(ke,mt,oe){"use strict";var z=oe(17187),se=oe.n(z),we=Object.defineProperty,Te=(Be,Me,Ne)=>Me in Be?we(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:Ne}):Be[Me]=Ne,he=(Be,Me,Ne)=>Te(Be,typeof Me!="symbol"?Me+"":Me,Ne),je=(Be,Me,Ne)=>new Promise((Ge,Oe)=>{var Ie=E=>{try{a(Ne.next(E))}catch(x){Oe(x)}},ie=E=>{try{a(Ne.throw(E))}catch(x){Oe(x)}},a=E=>E.done?Ge(E.value):Promise.resolve(E.value).then(Ie,ie);a((Ne=Ne.apply(Be,Me)).next())});class ve extends z.EventEmitter{constructor(Me,Ne){super(),he(this,"url"),he(this,"body"),he(this,"fullContent",""),he(this,"controller",null),he(this,"buffer",""),this.url=Me,this.body=Ne}startStream(){return je(this,null,function*(){this.controller=new AbortController;const{signal:Me}=this.controller;try{const Ne=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:Me});if(!Ne.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${Ne.status}`);const Ge=Ne.headers.get("content-type");if(!Ge)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(Ge.includes("application/json")){const ie=yield Ne.json();this.emit("error",ie);return}if(!Ge.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const Oe=Ne.body.getReader(),Ie=new TextDecoder("utf-8");for(;;){const{done:ie,value:a}=yield Oe.read();if(ie)break;const E=Ie.decode(a,{stream:!0});this.buffer+=E;const x=this.buffer.split(` `);this.buffer=x.pop()||"";for(const y of x)if(y.startsWith("data:")){const b=y.slice(5).trim();if(b==="[DONE]")break;try{const ee=JSON.parse(b);ee.data&&this.handleData(ee.data)}catch(ee){this.buffer=y+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",ee)}}}this.emit("done",this.fullContent)}catch(Ne){Ne.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",Ne.message)}})}handleData(Me){Me.content&&(this.fullContent+=Me.content,this.emit("data",{chunk:Me,full:this.fullContent}))}cancelRequest(){var Me;(Me=this.controller)==null||Me.abort()}}mt.Z=ve},21826:function(ke,mt,oe){"use strict";oe.d(mt,{Z:function(){return Lt}});var z=oe(67294),se=oe(94668),we=oe(91733),Te=oe(17274),he=oe(86032),je=oe(74855),ve={answer:"answer___UngkO",imgWrap:"imgWrap___ORTRf",codeCopy:"codeCopy___re8vm",runCode:"runCode___MYs9m"},Be=oe(2453),Me=oe(99398),Ne=oe(36576),Ge=oe(41807),Oe=oe(67127),Ie=oe(81897),ie=oe(72565),a=oe(71230),E=oe(15746),x={smartWrp:"smartWrp___NjRcB"},y=oe(36295),b=oe(80150),ee=oe(60580),te=oe(67294),ne=(He,ot,Nt)=>new Promise((ht,Re)=>{var qe=$e=>{try{dt(Nt.next($e))}catch(pt){Re(pt)}},at=$e=>{try{dt(Nt.throw($e))}catch(pt){Re(pt)}},dt=$e=>$e.done?ht($e.value):Promise.resolve($e.value).then(qe,at);dt((Nt=Nt.apply(He,ot)).next())});const re=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

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