You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/58133.async.js

1 line
170 KiB

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58133],{58133:function(){function e(e,t,n,g){void 0===n&&(n=0),void 0===g&&(g=1/0),this._name=e,this._defaultValue=t,this._minimum=n,this._maximum=g}Object.defineProperty(e.prototype,"name",{get:function(){return this._name},set:function(e){if("string"!=typeof e||""===e)throw new Error("Shape name must be a valid string.");this._name=e}}),Object.defineProperty(e.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(e){if("number"!=typeof e||isNaN(e))throw new Error("The default value must be a real number, not: "+e);this._defaultValue=e}}),Object.defineProperty(e.prototype,"minimum",{get:function(){return this._minimum},set:function(e){if("number"!=typeof e||isNaN(e))throw new Error("Minimum must be a real number, not: "+e);this._minimum=e}}),Object.defineProperty(e.prototype,"maximum",{get:function(){return this._maximum},set:function(e){if("number"!=typeof e||isNaN(e))throw new Error("Maximum must be a real number, not: "+e);this._maximum=e}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(e,t){var n=go.Shape._FigureParameters[e];return n?n[t]:null},go.Shape.setFigureParameter=function(t,n,g){if(!(g instanceof e))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+g);if(g.defaultValue<g.minimum||g.defaultValue>g.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+g.defaultValue);var a=go.Shape._FigureParameters[t];a||(a=[],go.Shape._FigureParameters[t]=a),a[n]=g};var t=[];function n(e,n){var g=t.pop();return void 0===g?new go.Point(e,n):(g.x=e,g.y=n,g)}function g(){var e=t.pop();return void 0===e?new go.Point:e}function a(e){t.push(e)}function o(e,t,n,g,a,o,d,h,S){S||(S=new go.Point);var m,P,r,i=e-n,w=a-d,u=NaN,L=NaN;0===i?0===w?e===n&&(u=e,L=t):L=(P=(o-h)/w)*(u=e)+(o-P*a):L=0===w?(m=(t-g)/i)*(u=a)+(r=t-m*e):(m=(t-g)/i)*(u=(o-(P=(o-h)/w)*a-(r=t-m*e))/(m-P))+r;return S.x=u,S.y=L,S}function d(e,t,n,g,a,o,d,h,S,m,P,r,i,w){var u=1-S,L=e*u+n*S,p=t*u+g*S,s=n*u+a*S,F=g*u+o*S,c=a*u+d*S,f=o*u+h*S,v=L*u+s*S,G=p*u+F*S,B=s*u+c*S,l=F*u+f*S,y=v*u+B*S,z=G*u+l*S;m.x=L,m.y=p,P.x=v,P.y=G,r.x=y,r.y=z,i.x=B,i.y=l,w.x=c,w.y=f}var h=new go.Spot(.156,.156),S=new go.Spot(.844,.844),m=(Math.sqrt(2)-1)/3*4;go.Shape.setFigureParameter("RoundedRectangle",0,new e("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",(function(e,t,n){var g=e?e.parameter1:NaN;(isNaN(g)||g<0)&&(g=5),g=Math.min(g,t/3);var a=(g=Math.min(g,n/3))*m,o=(new go.Geometry).add(new go.PathFigure(g,0,!0).add(new go.PathSegment(go.PathSegment.Line,t-g,0)).add(new go.PathSegment(go.PathSegment.Bezier,t,g,t-a,0,t,a)).add(new go.PathSegment(go.PathSegment.Line,t,n-g)).add(new go.PathSegment(go.PathSegment.Bezier,t-g,n,t,n-a,t-a,n)).add(new go.PathSegment(go.PathSegment.Line,g,n)).add(new go.PathSegment(go.PathSegment.Bezier,0,n-g,a,n,0,n-a)).add(new go.PathSegment(go.PathSegment.Line,0,g)).add(new go.PathSegment(go.PathSegment.Bezier,g,0,0,a,a,0).close()));return a>1&&(o.spot1=new go.Spot(0,0,a,a),o.spot2=new go.Spot(1,1,-a,-a)),o})),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())).setSpots(0,.25,.5,.75)})),go.Shape.defineFigureGenerator("TriangleDown",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,.5*t,n).close())).setSpots(.25,0,.75,.5)})),go.Shape.defineFigureGenerator("TriangleLeft",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(t,n).add(new go.PathSegment(go.PathSegment.Line,0,.5*n)).add(new go.PathSegment(go.PathSegment.Line,t,0).close())).setSpots(.5,.25,1,.75)})),go.Shape.defineFigureGenerator("TriangleUp",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(t,n).add(new go.PathSegment(go.PathSegment.Line,0,n)).add(new go.PathSegment(go.PathSegment.Line,.5*t,0).close())).setSpots(.25,.5,.75,1)})),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.5*t,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*n)).add(new go.PathSegment(go.PathSegment.Line,.5*t,n)).add(new go.PathSegment(go.PathSegment.Line,t,.5*n).close())).setSpots(.25,.25,.75,.75)})),go.Shape.defineFigureGenerator("LineH",(function(e,t,n){var g=new go.Geometry(go.Geometry.Line);return g.startX=0,g.startY=n/2,g.endX=t,g.endY=n/2,g})),go.Shape.defineFigureGenerator("LineV",(function(e,t,n){var g=new go.Geometry(go.Geometry.Line);return g.startX=t/2,g.startY=0,g.endX=t/2,g.endY=n,g})),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,n/2,!1).add(new go.PathSegment(go.PathSegment.Line,t,n/2)).add(new go.PathSegment(go.PathSegment.Move,t/2,0)).add(new go.PathSegment(go.PathSegment.Line,t/2,n)))})),go.Shape.defineFigureGenerator("XLine",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,n,!1).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)))})),go.Shape.defineFigureGenerator("LineRight",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.25*t,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,.25*t,n)))})),go.Shape.defineFigureGenerator("LineDown",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,.25*n,!1).add(new go.PathSegment(go.PathSegment.Line,.5*t,.75*n)).add(new go.PathSegment(go.PathSegment.Line,t,.25*n)))})),go.Shape.defineFigureGenerator("LineLeft",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.75*t,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,.75*t,n)))})),go.Shape.defineFigureGenerator("LineUp",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,.75*n,!1).add(new go.PathSegment(go.PathSegment.Line,.5*t,.25*n)).add(new go.PathSegment(go.PathSegment.Line,t,.75*n)))})),go.Shape.defineFigureGenerator("AsteriskLine",(function(e,t,n){var g=.2/Math.SQRT2;return(new go.Geometry).add(new go.PathFigure(g*t,(1-g)*n,!1).add(new go.PathSegment(go.PathSegment.Line,(1-g)*t,g*n)).add(new go.PathSegment(go.PathSegment.Move,g*t,g*n)).add(new go.PathSegment(go.PathSegment.Line,(1-g)*t,(1-g)*n)).add(new go.PathSegment(go.PathSegment.Move,0,n/2)).add(new go.PathSegment(go.PathSegment.Line,t,n/2)).add(new go.PathSegment(go.PathSegment.Move,t/2,0)).add(new go.PathSegment(go.PathSegment.Line,t/2,n)))})),go.Shape.defineFigureGenerator("CircleLine",(function(e,t,n){var g=t/2,a=(new go.Geometry).add(new go.PathFigure(t,t/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,g,g,g,g).close()));return a.spot1=h,a.spot2=S,a.defaultStretch=go.GraphObject.Uniform,a})),go.Shape.defineFigureGenerator("Line1",(function(e,t,n){var g=new go.Geometry(go.Geometry.Line);return g.startX=0,g.startY=0,g.endX=t,g.endY=n,g})),go.Shape.defineFigureGenerator("Line2",(function(e,t,n){var g=new go.Geometry(go.Geometry.Line);return g.startX=t,g.startY=0,g.endX=0,g.endY=n,g})),go.Shape.defineFigureGenerator("Curve1",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,t,n,m*t,0,t,(1-m)*n)))})),go.Shape.defineFigureGenerator("Curve2",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,t,n,0,m*n,(1-m)*t,n)))})),go.Shape.defineFigureGenerator("Curve3",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(t,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,n,t,m*n,m*t,n)))})),go.Shape.defineFigureGenerator("Curve4",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(t,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,n,(1-m)*t,0,0,(1-m)*n)))})),go.Shape.defineFigureGenerator("TriangleDownLeft",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())).setSpots(0,.5,.5,1)})),go.Shape.defineFigureGenerator("TriangleDownRight",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(t,0,!0).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())).setSpots(.5,.5,1,1)})),go.Shape.defineFigureGenerator("TriangleUpLeft",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())).setSpots(0,0,.5,.5)})),go.Shape.defineFigureGenerator("TriangleUpRight",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t,n).close())).setSpots(.5,0,1,.5)})),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new e("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)?g=.1:g<-1?g=-1:g>1&&(g=1);var a=Math.abs(g)*t;if(0===g)return(o=new go.Geometry(go.Geometry.Rectangle)).startX=0,o.startY=0,o.endX=t,o.endY=n,o;var o=new go.Geometry;return g>0?o.add(new go.PathFigure(a,0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t-a,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())):o.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,t-a,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,a,n).close())),a<t/2&&o.setSpots(a/t,0,(t-a)/t,1),o})),go.Shape.defineFigureGenerator("Parallelogram","Parallelogram1"),go.Shape.setFigureParameter("Parallelogram2",0,new e("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("Parallelogram2",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)?g=10:g<-t?g=-t:g>t&&(g=t);var a=Math.abs(g);if(0===g)return(o=new go.Geometry(go.Geometry.Rectangle)).startX=0,o.startY=0,o.endX=t,o.endY=n,o;var o=new go.Geometry;return g>0?o.add(new go.PathFigure(a,0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t-a,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())):o.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,t-a,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,a,n).close())),a<t/2&&o.setSpots(a/t,0,(t-a)/t,1),o})),go.Shape.setFigureParameter("Trapezoid1",0,new e("Indent",.2,-.99,.99)),go.Shape.defineFigureGenerator("Trapezoid1",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)?g=.2:g<.5?g=-.5:g>.5&&(g=.5);var a=Math.abs(g)*t;if(0===g)return(o=new go.Geometry(go.Geometry.Rectangle)).startX=0,o.startY=0,o.endX=t,o.endY=n,o;var o=new go.Geometry;return g>0?o.add(new go.PathFigure(a,0).add(new go.PathSegment(go.PathSegment.Line,t-a,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())):o.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t-a,n)).add(new go.PathSegment(go.PathSegment.Line,a,n).close())),a<t/2&&o.setSpots(a/t,0,(t-a)/t,1),o})),go.Shape.defineFigureGenerator("Trapezoid","Trapezoid1"),go.Shape.setFigureParameter("Trapezoid2",0,new e("Indent",20,-1/0,1/0)),go.Shape.defineFigureGenerator("Trapezoid2",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)?g=20:g<-t?g=-t/2:g>t&&(g=t/2);var a=Math.abs(g);if(0===g)return(o=new go.Geometry(go.Geometry.Rectangle)).startX=0,o.startY=0,o.endX=t,o.endY=n,o;var o=new go.Geometry;return g>0?o.add(new go.PathFigure(a,0).add(new go.PathSegment(go.PathSegment.Line,t-a,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())):o.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t-a,n)).add(new go.PathSegment(go.PathSegment.Line,a,n).close())),a<t/2&&o.setSpots(a/t,0,(t-a)/t,1),o})),go.Shape.setFigureParameter("ManualOperation",0,new e("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("ManualOperation",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)?g=10:g<-t?g=-t/2:g>t&&(g=t/2);var a=Math.abs(g);if(0===g)return(o=new go.Geometry(go.Geometry.Rectangle)).startX=0,o.startY=0,o.endX=t,o.endY=n,o;var o=new go.Geometry;return g>0?o.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t-a,n)).add(new go.PathSegment(go.PathSegment.Line,a,n).close())):o.add(new go.PathFigure(a,0).add(new go.PathSegment(go.PathSegment.Line,t-a,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close())),a<t/2&&o.setSpots(a/t,0,(t-a)/t,1),o}));var P=[];function r(){var e=P.pop();return void 0===e?[]:e}function i(e){e.length=0,P.push(e)}function w(e){for(var t=r(),n=1.5*Math.PI,g=0,a=0;a<e;a++)g=2*Math.PI/e*a+n,t[a]=new go.Point(.5+.5*Math.cos(g),.5+.5*Math.sin(g));return t.push(t[0]),t}function u(e){var t=L(e),n=r();n[0]=t[0];for(var g=1,a=1;g<t.length;g+=2,a+=3)n[a]=t[g],n[a+1]=t[g],n[a+2]=t[g+1];return i(t),n}function L(e){for(var t=w(e),n=r(),g=Math.floor(t.length/2),a=t.length-1,d=e%2==0?2:1,h=0;h<a;h++){var S=t[h],m=t[h+1],P=t[(g+h-1)%a],u=t[(g+h+d)%a];n[2*h]=S,n[2*h+1]=o(S.x,S.y,P.x,P.y,m.x,m.y,u.x,u.y,new go.Point)}return n[n.length]=n[0],i(t),n}go.Shape.defineFigureGenerator("Pentagon",(function(e,t,n){var g=w(5),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<5;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.2,.22),a.spot2=new go.Spot(.8,.9),a})),go.Shape.defineFigureGenerator("Hexagon",(function(e,t,n){var g=w(6),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<6;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.07,.25),a.spot2=new go.Spot(.93,.75),a})),go.Shape.defineFigureGenerator("Heptagon",(function(e,t,n){var g=w(7),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<7;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.2,.15),a.spot2=new go.Spot(.8,.85),a})),go.Shape.defineFigureGenerator("Octagon",(function(e,t,n){var g=w(8),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<8;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.15,.15),a.spot2=new go.Spot(.85,.85),a})),go.Shape.defineFigureGenerator("Nonagon",(function(e,t,n){var g=w(9),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<9;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.17,.13),a.spot2=new go.Spot(.82,.82),a})),go.Shape.defineFigureGenerator("Decagon",(function(e,t,n){var g=w(10),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<10;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.16,.16),a.spot2=new go.Spot(.84,.84),a})),go.Shape.defineFigureGenerator("Dodecagon",(function(e,t,n){var g=w(12),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<12;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.16,.16),a.spot2=new go.Spot(.84,.84),a})),go.Shape.defineFigureGenerator("FivePointedStar",(function(e,t,n){var g=L(5),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<10;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.266,.333),a.spot2=new go.Spot(.733,.733),a})),go.Shape.defineFigureGenerator("SixPointedStar",(function(e,t,n){var g=L(6),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<12;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.17,.25),a.spot2=new go.Spot(.83,.75),a})),go.Shape.defineFigureGenerator("SevenPointedStar",(function(e,t,n){var g=L(7),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<14;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.222,.277),a.spot2=new go.Spot(.777,.666),a})),go.Shape.defineFigureGenerator("EightPointedStar",(function(e,t,n){var g=L(8),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<16;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.25,.25),a.spot2=new go.Spot(.75,.75),a})),go.Shape.defineFigureGenerator("NinePointedStar",(function(e,t,n){var g=L(9),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<18;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.222,.277),a.spot2=new go.Spot(.777,.666),a})),go.Shape.defineFigureGenerator("TenPointedStar",(function(e,t,n){var g=L(10),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<20;d++)o.add(new go.PathSegment(go.PathSegment.Line,g[d].x*t,g[d].y*n));return o.add(new go.PathSegment(go.PathSegment.Line,g[0].x*t,g[0].y*n).close()),i(g),a.spot1=new go.Spot(.281,.261),a.spot2=new go.Spot(.723,.748),a})),go.Shape.defineFigureGenerator("FivePointedBurst",(function(e,t,n){var g=u(5),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<g.length;d+=3)o.add(new go.PathSegment(go.PathSegment.Bezier,g[d+2].x*t,g[d+2].y*n,g[d].x*t,g[d].y*n,g[d+1].x*t,g[d+1].y*n));return o.segments.last().close(),i(g),a.spot1=new go.Spot(.222,.277),a.spot2=new go.Spot(.777,.777),a})),go.Shape.defineFigureGenerator("SixPointedBurst",(function(e,t,n){var g=u(6),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<g.length;d+=3)o.add(new go.PathSegment(go.PathSegment.Bezier,g[d+2].x*t,g[d+2].y*n,g[d].x*t,g[d].y*n,g[d+1].x*t,g[d+1].y*n));return o.segments.last().close(),i(g),a.spot1=new go.Spot(.17,.222),a.spot2=new go.Spot(.833,.777),a})),go.Shape.defineFigureGenerator("SevenPointedBurst",(function(e,t,n){var g=u(7),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<g.length;d+=3)o.add(new go.PathSegment(go.PathSegment.Bezier,g[d+2].x*t,g[d+2].y*n,g[d].x*t,g[d].y*n,g[d+1].x*t,g[d+1].y*n));return o.segments.last().close(),i(g),a.spot1=new go.Spot(.222,.222),a.spot2=new go.Spot(.777,.777),a})),go.Shape.defineFigureGenerator("EightPointedBurst",(function(e,t,n){var g=u(8),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<g.length;d+=3)o.add(new go.PathSegment(go.PathSegment.Bezier,g[d+2].x*t,g[d+2].y*n,g[d].x*t,g[d].y*n,g[d+1].x*t,g[d+1].y*n));return o.segments.last().close(),i(g),a.spot1=new go.Spot(.222,.222),a.spot2=new go.Spot(.777,.777),a})),go.Shape.defineFigureGenerator("NinePointedBurst",(function(e,t,n){var g=u(9),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<g.length;d+=3)o.add(new go.PathSegment(go.PathSegment.Bezier,g[d+2].x*t,g[d+2].y*n,g[d].x*t,g[d].y*n,g[d+1].x*t,g[d+1].y*n));return o.segments.last().close(),i(g),a.spot1=new go.Spot(.222,.222),a.spot2=new go.Spot(.777,.777),a})),go.Shape.defineFigureGenerator("TenPointedBurst",(function(e,t,n){var g=u(10),a=new go.Geometry,o=new go.PathFigure(g[0].x*t,g[0].y*n,!0);a.add(o);for(var d=1;d<g.length;d+=3)o.add(new go.PathSegment(go.PathSegment.Bezier,g[d+2].x*t,g[d+2].y*n,g[d].x*t,g[d].y*n,g[d+1].x*t,g[d+1].y*n));return o.segments.last().close(),i(g),a.spot1=new go.Spot(.222,.222),a.spot2=new go.Spot(.777,.777),a})),go.Shape.setFigureParameter("FramedRectangle",0,new e("ThicknessX",8)),go.Shape.setFigureParameter("FramedRectangle",1,new e("ThicknessY",8)),go.Shape.defineFigureGenerator("FramedRectangle",(function(e,t,n){var g=e?e.parameter1:NaN,a=e?e.parameter2:NaN;isNaN(g)&&(g=8),isNaN(a)&&(a=8);var o=new go.Geometry,d=new go.PathFigure(0,0,!0);return o.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,0)),d.add(new go.PathSegment(go.PathSegment.Line,t,n)),d.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g<t/2&&a<n/2&&(d.add(new go.PathSegment(go.PathSegment.Move,g,a)),d.add(new go.PathSegment(go.PathSegment.Line,g,n-a)),d.add(new go.PathSegment(go.PathSegment.Line,t-g,n-a)),d.add(new go.PathSegment(go.PathSegment.Line,t-g,a).close())),o.setSpots(0,0,1,1,g,a,-g,-a),o})),go.Shape.setFigureParameter("Ring",0,new e("Thickness",8)),go.Shape.defineFigureGenerator("Ring",(function(e,t,n){var g=e?e.parameter1:NaN;(isNaN(g)||g<0)&&(g=8);var a=t/2,o=new go.Geometry,d=new go.PathFigure(t,t/2,!0);o.add(d),d.add(new go.PathSegment(go.PathSegment.Arc,0,360,a,a,a,a).close());var m=Math.max(a-g,0);return m>0&&(d.add(new go.PathSegment(go.PathSegment.Move,t/2+m,t/2)),d.add(new go.PathSegment(go.PathSegment.Arc,0,-360,a,a,m,m).close())),o.spot1=h,o.spot2=S,o.defaultStretch=go.GraphObject.Uniform,o})),go.Shape.defineFigureGenerator("Cloud",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.08034461*t,.1944299*n,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*t,.05349299*n,-.09239631*t,.07836421*n,.1406031*t,-.0542823*n)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*t,.074219*n,.2450511*t,-.00697547*n,.3776197*t,-.01112067*n)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*t,.07004196*n,.4539471*t,0,.6066018*t,-.02526587*n)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*t,.08370865*n,.6914277*t,-.01904177*n,.8921095*t,-.01220843*n)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*t,.3194596*n,1.036446*t,.04105738*n,1.020377*t,.3022052*n)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*t,.562044*n,1.04448*t,.360238*n,.992256*t,.5219009*n)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*t,.8217117*n,1.032337*t,.5771781*n,1.018411*t,.8120651*n)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*t,.9156953*n,1.028411*t,.9571472*n,.8556702*t,1.052487*n)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*t,.9310455*n,.7431877*t,1.009325*n,.5624123*t,1.021761*n)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*t,.9344623*n,.4820677*t,1.031761*n,.3030112*t,1.002796*n)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*t,.870098*n,.2329994*t,1.01518*n,.03213784*t,1.01518*n)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*t,.6545475*n,-.02812061*t,.9032597*n,-.01205169*t,.6835638*n)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*t,.4265613*n,-.01812061*t,.6089503*n,-.00606892*t,.4555777*n)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*t,.1944299*n,-.01606892*t,.3892545*n,-.01205169*t,.1944299*n))).setSpots(.1,.1,.9,.9)})),go.Shape.defineFigureGenerator("StopSign",(function(e,t,n){var g=1/(Math.SQRT2+2);return(new go.Geometry).add(new go.PathFigure(g*t,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-g)*t,0)).add(new go.PathSegment(go.PathSegment.Line,t,g*n)).add(new go.PathSegment(go.PathSegment.Line,t,(1-g)*n)).add(new go.PathSegment(go.PathSegment.Line,(1-g)*t,n)).add(new go.PathSegment(go.PathSegment.Line,g*t,n)).add(new go.PathSegment(go.PathSegment.Line,0,(1-g)*n)).add(new go.PathSegment(go.PathSegment.Line,0,g*n).close())).setSpots(g/2,g/2,1-g/2,1-g/2)})),go.Shape.setFigureParameter("Pie",0,new e("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new e("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",(function(e,t,n){var g=e?e.parameter1:NaN,a=e?e.parameter2:NaN;isNaN(g)&&(g=0),isNaN(a)&&(a=315);var o=g%360;o<0&&(o+=360);var d=a%360,h=Math.min(t,n)/2;return(new go.Geometry).add(new go.PathFigure(h,h).add(new go.PathSegment(go.PathSegment.Arc,o,d,h,h,h,h).close()))})),go.Shape.defineFigureGenerator("PiePiece",(function(e,t,n){var g=m/Math.SQRT2*.5,a=Math.SQRT2/2,o=1-Math.SQRT2/2;return(new go.Geometry).add(new go.PathFigure(t,n,!0).add(new go.PathSegment(go.PathSegment.Bezier,a*t,o*n,t,(1-g)*n,(a+g)*t,(o+g)*n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close()))})),go.Shape.setFigureParameter("ThickCross",0,new e("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",(function(e,t,n){var g=e?e.parameter1:NaN;(isNaN(g)||g<0)&&(g=30);var a=Math.min(g,t)/2,o=t/2,d=n/2;return(new go.Geometry).add(new go.PathFigure(o-a,0,!0).add(new go.PathSegment(go.PathSegment.Line,o+a,0)).add(new go.PathSegment(go.PathSegment.Line,o+a,d-a)).add(new go.PathSegment(go.PathSegment.Line,t,d-a)).add(new go.PathSegment(go.PathSegment.Line,t,d+a)).add(new go.PathSegment(go.PathSegment.Line,o+a,d+a)).add(new go.PathSegment(go.PathSegment.Line,o+a,n)).add(new go.PathSegment(go.PathSegment.Line,o-a,n)).add(new go.PathSegment(go.PathSegment.Line,o-a,d+a)).add(new go.PathSegment(go.PathSegment.Line,0,d+a)).add(new go.PathSegment(go.PathSegment.Line,0,d-a)).add(new go.PathSegment(go.PathSegment.Line,o-a,d-a).close()))})),go.Shape.setFigureParameter("ThinCross",0,new e("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",(function(e,t,n){var g=e?e.parameter1:NaN;(isNaN(g)||g<0)&&(g=10);var a=Math.min(g,t)/2,o=t/2,d=n/2;return(new go.Geometry).add(new go.PathFigure(o-a,0,!0).add(new go.PathSegment(go.PathSegment.Line,o+a,0)).add(new go.PathSegment(go.PathSegment.Line,o+a,d-a)).add(new go.PathSegment(go.PathSegment.Line,t,d-a)).add(new go.PathSegment(go.PathSegment.Line,t,d+a)).add(new go.PathSegment(go.PathSegment.Line,o+a,d+a)).add(new go.PathSegment(go.PathSegment.Line,o+a,n)).add(new go.PathSegment(go.PathSegment.Line,o-a,n)).add(new go.PathSegment(go.PathSegment.Line,o-a,d+a)).add(new go.PathSegment(go.PathSegment.Line,0,d+a)).add(new go.PathSegment(go.PathSegment.Line,0,d-a)).add(new go.PathSegment(go.PathSegment.Line,o-a,d-a).close()))})),go.Shape.setFigureParameter("ThickX",0,new e("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",(function(e,t,n){var g=e?e.parameter1:NaN;if((isNaN(g)||g<0)&&(g=30),0===t||0===n)return(m=new go.Geometry(go.Geometry.Rectangle)).startX=0,m.startY=0,m.endX=t,m.endY=n,m;var a=t/2,o=n/2,d=Math.atan2(n,t),h=g-Math.min(Math.cos(d)*g/2,a),S=g-Math.min(Math.sin(d)*g/2,o),m=new go.Geometry,P=new go.PathFigure(h,0,!0);return m.add(P),P.add(new go.PathSegment(go.PathSegment.Line,a,.2*n)),P.add(new go.PathSegment(go.PathSegment.Line,t-h,0)),P.add(new go.PathSegment(go.PathSegment.Line,t,S)),P.add(new go.PathSegment(go.PathSegment.Line,.8*t,o)),P.add(new go.PathSegment(go.PathSegment.Line,t,n-S)),P.add(new go.PathSegment(go.PathSegment.Line,t-h,n)),P.add(new go.PathSegment(go.PathSegment.Line,a,.8*n)),P.add(new go.PathSegment(go.PathSegment.Line,h,n)),P.add(new go.PathSegment(go.PathSegment.Line,0,n-S)),P.add(new go.PathSegment(go.PathSegment.Line,.2*t,o)),P.add(new go.PathSegment(go.PathSegment.Line,0,S).close()),m})),go.Shape.setFigureParameter("ThinX",0,new e("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",(function(e,t,n){var g=e?e.parameter1:NaN;(isNaN(g)||g<0)&&(g=10);var a=new go.Geometry,o=new go.PathFigure(.1*t,0,!0);return a.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,.9*t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.6*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,.9*n)),o.add(new go.PathSegment(go.PathSegment.Line,.9*t,n)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.9*n)),o.add(new go.PathSegment(go.PathSegment.Line,.4*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.1*n).close()),a})),go.Shape.setFigureParameter("SquareIBeam",0,new e("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=.2);var a=new go.Geometry,o=new go.PathFigure(0,0,!0);return a.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,g*n)),o.add(new go.PathSegment(go.PathSegment.Line,(.5+g/2)*t,g*n)),o.add(new go.PathSegment(go.PathSegment.Line,(.5+g/2)*t,(1-g)*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,(1-g)*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,(1-g)*n)),o.add(new go.PathSegment(go.PathSegment.Line,(.5-g/2)*t,(1-g)*n)),o.add(new go.PathSegment(go.PathSegment.Line,(.5-g/2)*t,g*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,g*n).close()),a})),go.Shape.setFigureParameter("RoundedIBeam",0,new e("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=.5);var a=new go.Geometry,o=new go.PathFigure(0,0,!0);return a.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,t,n,Math.abs(1-g)*t,.25*n,Math.abs(1-g)*t,.75*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,0,g*t,.75*n,g*t,.25*n).close()),a})),go.Shape.defineFigureGenerator("HalfEllipse",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,m*t,0,t,(.5-m/2)*n)).add(new go.PathSegment(go.PathSegment.Bezier,0,n,t,(.5+m/2)*n,m*t,n).close())).setSpots(0,.156,.844,.844)})),go.Shape.defineFigureGenerator("Crescent",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,n,t,0,t,n)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*t,.75*n,.5*t,.25*n).close())).setSpots(.311,.266,.744,.744)})),go.Shape.defineFigureGenerator("Heart",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.5*t,n,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*n,.1*t,.8*n,0,.5*n)).add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.3*n,0,0,.45*t,0)).add(new go.PathSegment(go.PathSegment.Bezier,t,.3*n,.55*t,0,t,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,t,.5*n,.9*t,.8*n).close())).setSpots(.14,.29,.86,.78)})),go.Shape.defineFigureGenerator("Spade",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.5*t,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*t,.01*n)).add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,.6*t,.2*n,t,.25*n)).add(new go.PathSegment(go.PathSegment.Bezier,.55*t,.7*n,t,.8*n,.6*t,.8*n)).add(new go.PathSegment(go.PathSegment.Bezier,.75*t,n,.5*t,.75*n,.55*t,.95*n)).add(new go.PathSegment(go.PathSegment.Line,.25*t,n)).add(new go.PathSegment(go.PathSegment.Bezier,.45*t,.7*n,.45*t,.95*n,.5*t,.75*n)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*n,.4*t,.8*n,0,.8*n)).add(new go.PathSegment(go.PathSegment.Bezier,.49*t,.01*n,0,.25*n,.4*t,.2*n).close())).setSpots(.14,.26,.86,.78)})),go.Shape.defineFigureGenerator("Club",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.4*t,.6*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,.15*t,n,.5*t,.75*n,.45*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.85*t,n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.6*t,.6*n,.55*t,.95*n,.5*t,.75*n));var o=.2,d=.3,h=0,S=o*m;return a.add(new go.PathSegment(go.PathSegment.Bezier,(.5+d)*t,(.5+o+h)*n,(.5-o+d)*t,(.5+S+h)*n,(.5-S+d)*t,(.5+o+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o+d)*t,(.5+h)*n,(.5+S+d)*t,(.5+o+h)*n,(.5+o+d)*t,(.5+S+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,(.5+d)*t,(.5-o+h)*n,(.5+o+d)*t,(.5-S+h)*n,(.5+S+d)*t,(.5-o+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.65*t,.36771243*n,(.5-S+d)*t,(.5-o+h)*n,(.5-o+d+.05)*t,(.5-S+h-.02)*n)),d=0,h=-.3,S=(o=.2)*m,a.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o+d)*t,(.5+h)*n,(.5+S+d)*t,(.5+o+h)*n,(.5+o+d)*t,(.5+S+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,(.5+d)*t,(.5-o+h)*n,(.5+o+d)*t,(.5-S+h)*n,(.5+S+d)*t,(.5-o+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,(.5-o+d)*t,(.5+h)*n,(.5-S+d)*t,(.5-o+h)*n,(.5-o+d)*t,(.5-S+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,(.5-S+d)*t,(.5+o+h)*n,(.5-o+d)*t,(.5+S+h)*n,(.5-S+d)*t,(.5+o+h)*n)),d=-.3,h=0,S=(o=.2)*m,a.add(new go.PathSegment(go.PathSegment.Bezier,(.5+d)*t,(.5-o+h)*n,(.5+o+d-.05)*t,(.5-S+h-.02)*n,(.5+S+d)*t,(.5-o+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,(.5-o+d)*t,(.5+h)*n,(.5-S+d)*t,(.5-o+h)*n,(.5-o+d)*t,(.5-S+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,(.5+d)*t,(.5+o+h)*n,(.5-o+d)*t,(.5+S+h)*n,(.5-S+d)*t,(.5+o+h)*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.4*t,.6*n,(.5+S+d)*t,(.5+o+h)*n,(.5+o+d)*t,(.5+S+h)*n).close()),g.setSpots(.06,.33,.93,.68),g})),go.Shape.defineFigureGenerator("YinYang",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Arc,270,180,.5*t,.5*t,.5*t,.5*t)),a.add(new go.PathSegment(go.PathSegment.Arc,90,-180,.5*t,.75*t,.25*t,.25*t)),a.add(new go.PathSegment(go.PathSegment.Arc,90,180,.5*t,.25*t,.25*t,.25*t));var o=.1,d=.5,h=.25;return a.add(new go.PathSegment(go.PathSegment.Move,.6*t,h*n)),a.add(new go.PathSegment(go.PathSegment.Arc,0,-360,t*d,n*h,o*t,o*t).close()),a=new go.PathFigure(.5*t,0,!1),g.add(a),a.add(new go.PathSegment(go.PathSegment.Arc,270,-180,.5*t,.5*t,.5*t,.5*t)),h=.75,a=new go.PathFigure(.6*t,h*n,!0),g.add(a),a.add(new go.PathSegment(go.PathSegment.Arc,0,360,t*d,n*h,o*t,o*t).close()),g.defaultStretch=go.GraphObject.Uniform,g})),go.Shape.defineFigureGenerator("Peace",(function(e,t,n){var g=.8535533905932737,a=.5*t,o=.5*n;return(new go.Geometry).add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,a,o,a,o)).add(new go.PathSegment(go.PathSegment.Line,a,n)).add(new go.PathSegment(go.PathSegment.Move,a,o)).add(new go.PathSegment(go.PathSegment.Line,(1-g)*t,g*n)).add(new go.PathSegment(go.PathSegment.Move,a,o)).add(new go.PathSegment(go.PathSegment.Line,g*t,g*n)))})),go.Shape.defineFigureGenerator("NotAllowed",(function(e,t,n){var o=new go.Geometry,h=.5*m,S=.5,P=.5,r=.5,i=new go.PathFigure(P*t,(r-S)*n);o.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,(P-S)*t,r*n,(P-h)*t,(r-S)*n,(P-S)*t,(r-h)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r+S)*n,(P-S)*t,(r+h)*n,(P-h)*t,(r+S)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(P+S)*t,r*n,(P+h)*t,(r+S)*n,(P+S)*t,(r+h)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r-S)*n,(P+S)*t,(r-h)*n,(P+h)*t,(r-S)*n)),S=.4,h=.4*m;var w=g(),u=g(),L=g(),p=g();d(P,r-S,P+h,r-S,P+S,r-h,P+S,r,.42,w,u,L,p,p);var s=g(),F=g(),c=g();d(P,r-S,P+h,r-S,P+S,r-h,P+S,r,.58,p,p,c,s,F);var f=g(),v=g(),G=g();d(P,r+S,P-h,r+S,P-S,r+h,P-S,r,.42,f,v,G,p,p);var B=g(),l=g(),y=g();return d(P,r+S,P-h,r+S,P-S,r+h,P-S,r,.58,p,p,y,B,l),i.add(new go.PathSegment(go.PathSegment.Move,y.x*t,y.y*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(P-S)*t,r*n,B.x*t,B.y*n,l.x*t,l.y*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r-S)*n,(P-S)*t,(r-h)*n,(P-h)*t,(r-S)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,L.x*t,L.y*n,w.x*t,w.y*n,u.x*t,u.y*n)),i.add(new go.PathSegment(go.PathSegment.Line,y.x*t,y.y*n).close()),i.add(new go.PathSegment(go.PathSegment.Move,G.x*t,G.y*n)),i.add(new go.PathSegment(go.PathSegment.Line,c.x*t,c.y*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(P+S)*t,r*n,s.x*t,s.y*n,F.x*t,F.y*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r+S)*n,(P+S)*t,(r+h)*n,(P+h)*t,(r+S)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,G.x*t,G.y*n,f.x*t,f.y*n,v.x*t,v.y*n).close()),a(w),a(u),a(L),a(p),a(s),a(F),a(c),a(f),a(v),a(G),a(B),a(l),a(y),o.defaultStretch=go.GraphObject.Uniform,o})),go.Shape.defineFigureGenerator("Fragile",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*t,0)).add(new go.PathSegment(go.PathSegment.Line,.2*t,.15*n)).add(new go.PathSegment(go.PathSegment.Line,.3*t,.25*n)).add(new go.PathSegment(go.PathSegment.Line,.29*t,.33*n)).add(new go.PathSegment(go.PathSegment.Line,.35*t,.25*n)).add(new go.PathSegment(go.PathSegment.Line,.3*t,.15*n)).add(new go.PathSegment(go.PathSegment.Line,.4*t,0)).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*t,.5*n,t,.25*n,.75*t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,.55*t,.9*n)).add(new go.PathSegment(go.PathSegment.Line,.7*t,.9*n)).add(new go.PathSegment(go.PathSegment.Line,.7*t,n)).add(new go.PathSegment(go.PathSegment.Line,.3*t,n)).add(new go.PathSegment(go.PathSegment.Line,.3*t,.9*n)).add(new go.PathSegment(go.PathSegment.Line,.45*t,.9*n)).add(new go.PathSegment(go.PathSegment.Line,.45*t,.5*n)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*t,.5*n,0,.25*n).close()))})),go.Shape.setFigureParameter("HourGlass",0,new e("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",(function(e,t,n){var g=e?e.parameter1:NaN;(isNaN(g)||g<0)&&(g=30),g>t&&(g=t);var a=(t-g)/2,o=a+g;return(new go.Geometry).add(new go.PathFigure(o,.5*n).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n)).add(new go.PathSegment(go.PathSegment.Line,a,.5*n)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,t,0).close()))})),go.Shape.defineFigureGenerator("Lightning",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,.55*n).add(new go.PathSegment(go.PathSegment.Line,.6*t,0)).add(new go.PathSegment(go.PathSegment.Line,.3*t,.45*n)).add(new go.PathSegment(go.PathSegment.Line,t,.45*n)).add(new go.PathSegment(go.PathSegment.Line,.4*t,n)).add(new go.PathSegment(go.PathSegment.Line,.7*t,.55*n).close()))})),go.Shape.defineFigureGenerator("GenderMale",(function(e,t,o){var h=new go.Geometry,S=.4*m,P=.4,r=.5,i=.5,w=g(),u=g(),L=g(),p=g(),s=new go.PathFigure((r-P)*t,i*o,!1);h.add(s),s.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i-P)*o,(r-P)*t,(i-S)*o,(r-S)*t,(i-P)*o)),d(r,i-P,r+S,i-P,r+P,i-S,r+P,i,.44,L,p,u,w,w),s.add(new go.PathSegment(go.PathSegment.Bezier,u.x*t,u.y*o,L.x*t,L.y*o,p.x*t,p.y*o));var F=n(u.x,u.y);d(r,i-P,r+S,i-P,r+P,i-S,r+P,i,.56,w,w,u,L,p);var c=n(u.x,u.y);s.add(new go.PathSegment(go.PathSegment.Line,(.1*F.x+.855)*t,.1*F.y*o)),s.add(new go.PathSegment(go.PathSegment.Line,.85*t,.1*F.y*o)),s.add(new go.PathSegment(go.PathSegment.Line,.85*t,0)),s.add(new go.PathSegment(go.PathSegment.Line,t,0)),s.add(new go.PathSegment(go.PathSegment.Line,t,.15*o)),s.add(new go.PathSegment(go.PathSegment.Line,(.1*c.x+.9)*t,.15*o)),s.add(new go.PathSegment(go.PathSegment.Line,(.1*c.x+.9)*t,(.1*c.y+.05*.9)*o)),s.add(new go.PathSegment(go.PathSegment.Line,c.x*t,c.y*o)),s.add(new go.PathSegment(go.PathSegment.Bezier,(r+P)*t,i*o,L.x*t,L.y*o,p.x*t,p.y*o)),s.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i+P)*o,(r+P)*t,(i+S)*o,(r+S)*t,(i+P)*o)),s.add(new go.PathSegment(go.PathSegment.Bezier,(r-P)*t,i*o,(r-S)*t,(i+P)*o,(r-P)*t,(i+S)*o)),P=.35,S=.35*m;var f=new go.PathFigure(r*t,(i-P)*o,!1);h.add(f),f.add(new go.PathSegment(go.PathSegment.Bezier,(r-P)*t,i*o,(r-S)*t,(i-P)*o,(r-P)*t,(i-S)*o)),f.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i+P)*o,(r-P)*t,(i+S)*o,(r-S)*t,(i+P)*o)),f.add(new go.PathSegment(go.PathSegment.Bezier,(r+P)*t,i*o,(r+S)*t,(i+P)*o,(r+P)*t,(i+S)*o)),f.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i-P)*o,(r+P)*t,(i-S)*o,(r+S)*t,(i-P)*o));var v=new go.PathFigure((r-P)*t,i*o,!1);return h.add(v),a(w),a(u),a(L),a(p),a(F),a(c),h.spot1=new go.Spot(.202,.257),h.spot2=new go.Spot(.792,.739),h.defaultStretch=go.GraphObject.Uniform,h})),go.Shape.defineFigureGenerator("GenderFemale",(function(e,t,n){var g=new go.Geometry,a=.375,o=0,d=-.125,h=a*m,S=new go.PathFigure((.525+o)*t,(.5+a+d)*n,!1);g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,(.5+a+o)*t,(.5+d)*n,(.5+h+o)*t,(.5+a+d)*n,(.5+a+o)*t,(.5+h+d)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*t,(.5-a+d)*n,(.5+a+o)*t,(.5-h+d)*n,(.5+h+o)*t,(.5-a+d)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(.5-a+o)*t,(.5+d)*n,(.5-h+o)*t,(.5-a+d)*n,(.5-a+o)*t,(.5-h+d)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(.475+o)*t,(.5+a+d)*n,(.5-a+o)*t,(.5+h+d)*n,(.5-h+o)*t,(.5+a+d)*n)),S.add(new go.PathSegment(go.PathSegment.Line,.475*t,.85*n)),S.add(new go.PathSegment(go.PathSegment.Line,.425*t,.85*n)),S.add(new go.PathSegment(go.PathSegment.Line,.425*t,.9*n)),S.add(new go.PathSegment(go.PathSegment.Line,.475*t,.9*n)),S.add(new go.PathSegment(go.PathSegment.Line,.475*t,n)),S.add(new go.PathSegment(go.PathSegment.Line,.525*t,n)),S.add(new go.PathSegment(go.PathSegment.Line,.525*t,.9*n)),S.add(new go.PathSegment(go.PathSegment.Line,.575*t,.9*n)),S.add(new go.PathSegment(go.PathSegment.Line,.575*t,.85*n)),S.add(new go.PathSegment(go.PathSegment.Line,.525*t,.85*n).close()),o=0,d=-.125,h=(a=.325)*m;S=new go.PathFigure((.5+a+o)*t,(.5+d)*n,!1);g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*t,(.5+a+d)*n,(.5+a+o)*t,(.5+h+d)*n,(.5+h+o)*t,(.5+a+d)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(.5-a+o)*t,(.5+d)*n,(.5-h+o)*t,(.5+a+d)*n,(.5-a+o)*t,(.5+h+d)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*t,(.5-a+d)*n,(.5-a+o)*t,(.5-h+d)*n,(.5-h+o)*t,(.5-a+d)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(.5+a+o)*t,(.5+d)*n,(.5+h+o)*t,(.5-a+d)*n,(.5+a+o)*t,(.5-h+d)*n));S=new go.PathFigure((.525+o)*t,(.5+a+d)*n,!1);return g.add(S),g.spot1=new go.Spot(.232,.136),g.spot2=new go.Spot(.682,.611),g.defaultStretch=go.GraphObject.Uniform,g})),go.Shape.defineFigureGenerator("LogicImplies",(function(e,t,n){var g=e?e.parameter1:NaN;return isNaN(g)&&(g=.2),(new go.Geometry).add(new go.PathFigure((1-g)*t,0,!1).add(new go.PathSegment(go.PathSegment.Line,t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,(1-g)*t,n)).add(new go.PathSegment(go.PathSegment.Move,0,.5*n)).add(new go.PathSegment(go.PathSegment.Line,t,.5*n))).setSpots(0,0,.8,.5)})),go.Shape.defineFigureGenerator("LogicIff",(function(e,t,n){var g=e?e.parameter1:NaN;return isNaN(g)&&(g=.2),(new go.Geometry).add(new go.PathFigure((1-g)*t,0,!1).add(new go.PathSegment(go.PathSegment.Line,t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,(1-g)*t,n)).add(new go.PathSegment(go.PathSegment.Move,0,.5*n)).add(new go.PathSegment(go.PathSegment.Line,t,.5*n)).add(new go.PathSegment(go.PathSegment.Move,g*t,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*n)).add(new go.PathSegment(go.PathSegment.Line,g*t,n))).setSpots(.2,0,.8,.5)})),go.Shape.defineFigureGenerator("LogicNot",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)))})),go.Shape.defineFigureGenerator("LogicAnd",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,n,!1).add(new go.PathSegment(go.PathSegment.Line,.5*t,0)).add(new go.PathSegment(go.PathSegment.Line,t,n))).setSpots(.25,.5,.75,1)})),go.Shape.defineFigureGenerator("LogicOr",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*t,n)).add(new go.PathSegment(go.PathSegment.Line,t,0))).setSpots(.219,0,.78,.409)})),go.Shape.defineFigureGenerator("LogicXor",(function(e,t,n){var g=(new go.Geometry).add(new go.PathFigure(.5*t,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*t,n)).add(new go.PathSegment(go.PathSegment.Move,0,.5*n)).add(new go.PathSegment(go.PathSegment.Line,t,.5*n)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*t,.5*n,.5*t,.5*n)));return g.defaultStretch=go.GraphObject.Uniform,g})),go.Shape.defineFigureGenerator("LogicTruth",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Move,.5*t,0)).add(new go.PathSegment(go.PathSegment.Line,.5*t,n)))})),go.Shape.defineFigureGenerator("LogicFalsity",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,n,!1).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Move,.5*t,n)).add(new go.PathSegment(go.PathSegment.Line,.5*t,0)))})),go.Shape.defineFigureGenerator("LogicThereExists",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,0,.5*n)).add(new go.PathSegment(go.PathSegment.Move,t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n)))})),go.Shape.defineFigureGenerator("LogicForAll",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*t,n)).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Move,.25*t,.5*n)).add(new go.PathSegment(go.PathSegment.Line,.75*t,.5*n))).setSpots(.25,0,.75,.5)})),go.Shape.defineFigureGenerator("LogicIsDefinedAs",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*n)).add(new go.PathSegment(go.PathSegment.Line,t,.5*n)).add(new go.PathSegment(go.PathSegment.Move,0,n)).add(new go.PathSegment(go.PathSegment.Line,t,n))).setSpots(.01,.01,.99,.49)})),go.Shape.defineFigureGenerator("LogicIntersect",(function(e,t,n){var g=.5;return(new go.Geometry).add(new go.PathFigure(0,n,!1).add(new go.PathSegment(go.PathSegment.Line,0,g*n)).add(new go.PathSegment(go.PathSegment.Arc,180,180,g*t,g*n,g*t,g*n)).add(new go.PathSegment(go.PathSegment.Line,t,n))).setSpots(0,.5,1,1)})),go.Shape.defineFigureGenerator("LogicUnion",(function(e,t,n){var g=.5;return(new go.Geometry).add(new go.PathFigure(t,0,!1).add(new go.PathSegment(go.PathSegment.Line,t,g*n)).add(new go.PathSegment(go.PathSegment.Arc,0,180,g*t,g*n,g*t,g*n)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)})),go.Shape.setFigureParameter("Arrow",0,new e("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new e("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=.3);var h=e?e.parameter2:NaN;isNaN(h)&&(h=.3);var S=(1-d)*t,m=(.5-h/2)*n,P=(.5+h/2)*n,r=new go.Geometry,i=new go.PathFigure(0,m,!0);r.add(i),i.add(new go.PathSegment(go.PathSegment.Line,S,m)),i.add(new go.PathSegment(go.PathSegment.Line,S,0)),i.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),i.add(new go.PathSegment(go.PathSegment.Line,S,n)),i.add(new go.PathSegment(go.PathSegment.Line,S,P)),i.add(new go.PathSegment(go.PathSegment.Line,0,P).close()),r.spot1=new go.Spot(0,m/n);var w=o(0,P/n,1,P/n,S/t,1,1,.5,g());return r.spot2=new go.Spot(w.x,w.y),a(w),r})),go.Shape.setFigureParameter("Arrow2",0,new e("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new e("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=30),d>t&&(d=t);var h=e?e.parameter2:NaN;isNaN(h)&&(h=30);var S=t-d,m=(n-(h=Math.min(h,n/2)))/2,P=m+h,r=new go.Geometry,i=new go.PathFigure(0,m,!0);r.add(i),i.add(new go.PathSegment(go.PathSegment.Line,S,m)),i.add(new go.PathSegment(go.PathSegment.Line,S,0)),i.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),i.add(new go.PathSegment(go.PathSegment.Line,S,n)),i.add(new go.PathSegment(go.PathSegment.Line,S,P)),i.add(new go.PathSegment(go.PathSegment.Line,0,P).close()),r.spot1=new go.Spot(0,m/n);var w=o(0,P/n,1,P/n,S/t,1,1,.5,g());return r.spot2=new go.Spot(w.x,w.y),a(w),r})),go.Shape.defineFigureGenerator("Chevron",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n).close()),g})),go.Shape.defineFigureGenerator("DoubleArrow",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.214*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.786*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,1*n).close()),g})),go.Shape.setFigureParameter("DoubleEndArrow",0,new e("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=.3);var h=(.5-d/2)*n,S=(.5+d/2)*n,m=new go.Geometry,P=new go.PathFigure(t,.5*n,!0);m.add(P),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,n)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,S)),P.add(new go.PathSegment(go.PathSegment.Line,.3*t,S)),P.add(new go.PathSegment(go.PathSegment.Line,.3*t,n)),P.add(new go.PathSegment(go.PathSegment.Line,0,.5*n)),P.add(new go.PathSegment(go.PathSegment.Line,.3*t,0)),P.add(new go.PathSegment(go.PathSegment.Line,.3*t,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,0).close());var r=o(0,.5,.3,0,0,h/n,.1,h/n,g());return m.spot1=new go.Spot(r.x,r.y),r=o(.7,1,1,.5,0,S/n,1,S/n,r),m.spot2=new go.Spot(r.x,r.y),a(r),m})),go.Shape.setFigureParameter("DoubleEndArrow2",0,new e("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new e("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=40);var h=e?e.parameter2:NaN;isNaN(h)&&(h=100);var S=(n-d)/2,m=S+d,P=(n-h)/2,r=P+h;(d>n||h>n)&&(h>d?(m=(S=(n-(d=d*n/h))/2)+d,P=0,r=n):(S=0,m=n,P=0,r=n));var i=new go.Geometry,w=new go.PathFigure(t,.5*n,!0);i.add(w),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,r)),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,m)),w.add(new go.PathSegment(go.PathSegment.Line,.3*t,m)),w.add(new go.PathSegment(go.PathSegment.Line,.3*t,r)),w.add(new go.PathSegment(go.PathSegment.Line,0,.5*n)),w.add(new go.PathSegment(go.PathSegment.Line,.3*t,P)),w.add(new go.PathSegment(go.PathSegment.Line,.3*t,S)),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,S)),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,P).close());var u=o(0,.5,.3,P/n,0,S/n,1,S/n,g());return i.spot1=new go.Spot(u.x,u.y),u=o(.7,r/n,1,.5,0,m/n,1,m/n,u),i.spot2=new go.Spot(u.x,u.y),a(u),i})),go.Shape.setFigureParameter("IBeamArrow",0,new e("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=.3);var h=(.5-d/2)*n,S=(.5+d/2)*n,m=new go.Geometry,P=new go.PathFigure(t,.5*n,!0);m.add(P),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,n)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,S)),P.add(new go.PathSegment(go.PathSegment.Line,.2*t,S)),P.add(new go.PathSegment(go.PathSegment.Line,.2*t,n)),P.add(new go.PathSegment(go.PathSegment.Line,0,n)),P.add(new go.PathSegment(go.PathSegment.Line,0,0)),P.add(new go.PathSegment(go.PathSegment.Line,.2*t,0)),P.add(new go.PathSegment(go.PathSegment.Line,.2*t,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,0).close()),m.spot1=new go.Spot(0,h/n);var r=o(.7,1,1,.5,0,S/n,1,S/n,g());return m.spot2=new go.Spot(r.x,r.y),a(r),m})),go.Shape.setFigureParameter("IBeamArrow2",0,new e("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new e("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=40);var h=e?e.parameter2:NaN;isNaN(h)&&(h=100);var S=(n-d)/2,m=S+d,P=(n-h)/2,r=P+h;(d>n||h>n)&&(h>d?(m=(S=(n-(d=d*n/h))/2)+d,P=0,r=n):(S=0,m=n,P=0,r=n));var i=new go.Geometry,w=new go.PathFigure(t,.5*n,!0);i.add(w),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,r)),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,m)),w.add(new go.PathSegment(go.PathSegment.Line,.2*t,m)),w.add(new go.PathSegment(go.PathSegment.Line,.2*t,r)),w.add(new go.PathSegment(go.PathSegment.Line,0,r)),w.add(new go.PathSegment(go.PathSegment.Line,0,P)),w.add(new go.PathSegment(go.PathSegment.Line,.2*t,P)),w.add(new go.PathSegment(go.PathSegment.Line,.2*t,S)),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,S)),w.add(new go.PathSegment(go.PathSegment.Line,.7*t,P).close()),i.spot1=new go.Spot(0,S/n);var u=o(.7,r/n,1,.5,0,m/n,1,m/n,g());return i.spot2=new go.Spot(u.x,u.y),a(u),i})),go.Shape.setFigureParameter("Pointer",0,new e("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=.1);var h=new go.Geometry,S=new go.PathFigure(t,.5*n,!0);h.add(S),S.add(new go.PathSegment(go.PathSegment.Line,0,n)),S.add(new go.PathSegment(go.PathSegment.Line,d*t,.5*n)),S.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),h.spot1=new go.Spot(d,.35);var m=o(.2,.65,1,.65,0,1,1,.5,g());return h.spot2=new go.Spot(m.x,m.y),a(m),h})),go.Shape.setFigureParameter("RoundedPointer",0,new e("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=.3);var h=new go.Geometry,S=new go.PathFigure(t,.5*n,!0);h.add(S),S.add(new go.PathSegment(go.PathSegment.Line,0,n)),S.add(new go.PathSegment(go.PathSegment.Bezier,0,0,d*t,.75*n,d*t,.25*n).close()),h.spot1=new go.Spot(d,.35);var m=o(0,.65,1,.65,0,1,1,.5,g());return h.spot2=new go.Spot(m.x,m.y),a(m),h})),go.Shape.setFigureParameter("SplitEndArrow",0,new e("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=.4);var h=(.5-d/2)*n,S=(.5+d/2)*n,m=new go.Geometry,P=new go.PathFigure(t,.5*n,!0);m.add(P),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,n)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,S)),P.add(new go.PathSegment(go.PathSegment.Line,0,S)),P.add(new go.PathSegment(go.PathSegment.Line,.2*t,.5*n)),P.add(new go.PathSegment(go.PathSegment.Line,0,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,0).close()),m.spot1=new go.Spot(.2,.3);var r=o(.7,1,1,.5,0,S/n,1,S/n,g());return m.spot2=new go.Spot(r.x,r.y),a(r),m})),go.Shape.setFigureParameter("SplitEndArrow2",0,new e("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",(function(e,t,n){var d=e?e.parameter1:NaN;isNaN(d)&&(d=50);var h=(n-d)/2,S=h+d;d>n&&(h=0,S=n);var m=new go.Geometry,P=new go.PathFigure(t,.5*n,!0);m.add(P),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,n)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,S)),P.add(new go.PathSegment(go.PathSegment.Line,0,S)),P.add(new go.PathSegment(go.PathSegment.Line,.2*t,.5*n)),P.add(new go.PathSegment(go.PathSegment.Line,0,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,h)),P.add(new go.PathSegment(go.PathSegment.Line,.7*t,0).close()),m.spot1=new go.Spot(.2,h/n);var r=o(.7,1,1,.5,0,S/n,1,S/n,g());return m.spot2=new go.Spot(r.x,r.y),a(r),m})),go.Shape.setFigureParameter("SquareArrow",0,new e("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=.7);var a=new go.Geometry,o=new go.PathFigure(t,.5*n,!0);return a.add(o),o.add(new go.PathSegment(go.PathSegment.Line,g*t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,0)),o.add(new go.PathSegment(go.PathSegment.Line,g*t,0).close()),a.spot1=go.Spot.TopLeft,a.spot2=new go.Spot(g,1),a})),go.Shape.defineFigureGenerator("Cone1",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.1*m,d=new go.PathFigure(0,.9*n,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),d.add(new go.PathSegment(go.PathSegment.Line,t,.9*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,t,(.9+o)*n,(.5+a)*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*n,(.5-a)*t,n,0,(.9+o)*n).close()),g.spot1=new go.Spot(.25,.5),g.spot2=new go.Spot(.75,.97),g})),go.Shape.defineFigureGenerator("Cone2",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.9*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,t,.9*n,(1-.85/.9)*t,n,.85/.9*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,0,.9*n).close());var o=new go.PathFigure(0,.9*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,t,.9*n,(1-.85/.9)*t,.8*n,.85/.9*t,.8*n)),g.spot1=new go.Spot(.25,.5),g.spot2=new go.Spot(.75,.82),g})),go.Shape.defineFigureGenerator("Cube1",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.15*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,0,.15*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.85*n).close());var o=new go.PathFigure(.5*t,n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.3*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.15*n)),o.add(new go.PathSegment(go.PathSegment.Move,.5*t,.3*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,.15*n)),g.spot1=new go.Spot(0,.3),g.spot2=new go.Spot(.5,.85),g})),go.Shape.defineFigureGenerator("Cube2",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.3*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,0).close());var o=new go.PathFigure(0,.3*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.7*t,.3*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Move,.7*t,.3*n)),o.add(new go.PathSegment(go.PathSegment.Line,.7*t,n)),g.spot1=new go.Spot(0,.3),g.spot2=new go.Spot(.7,1),g})),go.Shape.defineFigureGenerator("Cylinder1",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=5),g=Math.min(g,n/3);var a=new go.Geometry,o=.5*m,d=new go.PathFigure(0,g,!0);a.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,0,m*g,(.5-o)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,1*t,g,(.5+o)*t,0,1*t,m*g)),d.add(new go.PathSegment(go.PathSegment.Line,t,n-g)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,1*n,1*t,n-m*g,(.5+o)*t,1*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,n-g,(.5-o)*t,1*n,0,n-m*g)),d.add(new go.PathSegment(go.PathSegment.Line,0,g));var h=new go.PathFigure(t,g,!1);return a.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,2*g,1*t,2*g-m*g,(.5+o)*t,2*g)),h.add(new go.PathSegment(go.PathSegment.Bezier,0,g,(.5-o)*t,2*g,0,2*g-m*g)),a.spot1=new go.Spot(0,0,0,2*g),a.spot2=new go.Spot(1,1),a})),go.Shape.defineFigureGenerator("Cylinder2",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=5),g=Math.min(g,n/3);var a=new go.Geometry,o=.5*m,d=new go.PathFigure(0,n-g,!0);a.add(d),d.add(new go.PathSegment(go.PathSegment.Line,0,g)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,0,m*g,(.5-o)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,g,(.5+o)*t,0,t,m*g)),d.add(new go.PathSegment(go.PathSegment.Line,t,n-g)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,t,n-m*g,(.5+o)*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,n-g,(.5-o)*t,n,0,n-m*g));var h=new go.PathFigure(0,n-g,!1);return a.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n-2*g,0,n-g-m*g,(.5-o)*t,n-2*g)),h.add(new go.PathSegment(go.PathSegment.Bezier,t,n-g,(.5+o)*t,n-2*g,t,n-g-m*g)),a.spot1=new go.Spot(0,0),a.spot2=new go.Spot(1,1,0,-2*g),a})),go.Shape.defineFigureGenerator("Cylinder3",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=5),g=Math.min(g,t/3);var a=new go.Geometry,o=.5*m,d=new go.PathFigure(g,0,!0);a.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t-g,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,t-m*g,0,t,(.5-o)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,t-g,n,t,(.5+o)*n,t-m*g,n)),d.add(new go.PathSegment(go.PathSegment.Line,g,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*n,m*g,n,0,(.5+o)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,g,0,0,(.5-o)*n,m*g,0));var h=new go.PathFigure(g,0,!1);return a.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,2*g,.5*n,g+m*g,0,2*g,(.5-o)*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,g,n,2*g,(.5+o)*n,g+m*g,n)),a.spot1=new go.Spot(0,0,2*g,0),a.spot2=new go.Spot(1,1),a})),go.Shape.defineFigureGenerator("Cylinder4",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=5),g=Math.min(g,t/3);var a=new go.Geometry,o=.5*m,d=new go.PathFigure(t-g,0,!0);a.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,t-m*g,0,t,(.5-o)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,t-g,n,t,(.5+o)*n,t-m*g,n)),d.add(new go.PathSegment(go.PathSegment.Line,g,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*n,m*g,n,0,(.5+o)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,g,0,0,(.5-o)*n,m*g,0)),d.add(new go.PathSegment(go.PathSegment.Line,t-g,0));var h=new go.PathFigure(t-g,0,!1);return a.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,t-2*g,.5*n,t-g-m*g,0,t-2*g,(.5-o)*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,t-g,n,t-2*g,(.5+o)*n,t-g-m*g,n)),a.spot1=new go.Spot(0,0),a.spot2=new go.Spot(1,1,-2*g,0),a})),go.Shape.defineFigureGenerator("Prism1",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.25*t,.25*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var o=new go.PathFigure(.25*t,.25*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),g.spot1=new go.Spot(.408,.172),g.spot2=new go.Spot(.833,.662),g})),go.Shape.defineFigureGenerator("Prism2",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.25*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var o=new go.PathFigure(0,n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.25*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,.25*n)),o.add(new go.PathSegment(go.PathSegment.Move,0,.25*n)),o.add(new go.PathSegment(go.PathSegment.Line,.25*t,.5*n)),g.spot1=new go.Spot(.25,.5),g.spot2=new go.Spot(.75,.75),g})),go.Shape.defineFigureGenerator("Pyramid1",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.75*n).close());var o=new go.PathFigure(.5*t,0,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),g.spot1=new go.Spot(.25,.367),g.spot2=new go.Spot(.75,.875),g})),go.Shape.defineFigureGenerator("Pyramid2",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.85*n).close());var o=new go.PathFigure(.5*t,0,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.7*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.85*n)),o.add(new go.PathSegment(go.PathSegment.Move,.5*t,.7*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,.85*n)),g.spot1=new go.Spot(.25,.367),g.spot2=new go.Spot(.75,.875),g})),go.Shape.defineFigureGenerator("Actor",(function(e,t,n){var g=new go.Geometry,a=.2,o=.1,d=m*a,h=m*o,S=.5,P=.1,r=new go.PathFigure(S*t,(P+o)*n,!0);g.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,(S-a)*t,P*n,(S-d)*t,(P+o)*n,(S-a)*t,(P+h)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P-o)*n,(S-a)*t,(P-h)*n,(S-d)*t,(P-o)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,(S+a)*t,P*n,(S+d)*t,(P-o)*n,(S+a)*t,(P-h)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P+o)*n,(S+a)*t,(P+h)*n,(S+d)*t,(P+o)*n));var i=.05,w=m*i;S=.05,P=.25;var u=new go.PathFigure(.5*t,.2*n,!0);return g.add(u),u.add(new go.PathSegment(go.PathSegment.Line,.95*t,.2*n)),S=.95,P=.25,u.add(new go.PathSegment(go.PathSegment.Bezier,(S+i)*t,P*n,(S+w)*t,(P-i)*n,(S+i)*t,(P-w)*n)),u.add(new go.PathSegment(go.PathSegment.Line,t,.6*n)),u.add(new go.PathSegment(go.PathSegment.Line,.85*t,.6*n)),u.add(new go.PathSegment(go.PathSegment.Line,.85*t,.35*n)),w=m*(i=.025),S=.825,P=.35,u.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P-i)*n,(S+i)*t,(P-w)*n,(S+w)*t,(P-i)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,(S-i)*t,P*n,(S-w)*t,(P-i)*n,(S-i)*t,(P-w)*n)),u.add(new go.PathSegment(go.PathSegment.Line,.8*t,n)),u.add(new go.PathSegment(go.PathSegment.Line,.55*t,n)),u.add(new go.PathSegment(go.PathSegment.Line,.55*t,.7*n)),w=m*(i=.05),S=.5,P=.7,u.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P-i)*n,(S+i)*t,(P-w)*n,(S+w)*t,(P-i)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,(S-i)*t,P*n,(S-w)*t,(P-i)*n,(S-i)*t,(P-w)*n)),u.add(new go.PathSegment(go.PathSegment.Line,.45*t,n)),u.add(new go.PathSegment(go.PathSegment.Line,.2*t,n)),u.add(new go.PathSegment(go.PathSegment.Line,.2*t,.35*n)),w=m*(i=.025),S=.175,P=.35,u.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P-i)*n,(S+i)*t,(P-w)*n,(S+w)*t,(P-i)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,(S-i)*t,P*n,(S-w)*t,(P-i)*n,(S-i)*t,(P-w)*n)),u.add(new go.PathSegment(go.PathSegment.Line,.15*t,.6*n)),u.add(new go.PathSegment(go.PathSegment.Line,0,.6*n)),u.add(new go.PathSegment(go.PathSegment.Line,0,.25*n)),w=m*(i=.05),S=.05,P=.25,u.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P-i)*n,(S-i)*t,(P-w)*n,(S-w)*t,(P-i)*n)),u.add(new go.PathSegment(go.PathSegment.Line,.5*t,.2*n)),g.spot1=new go.Spot(.2,.2),g.spot2=new go.Spot(.8,.65),g})),go.Shape.setFigureParameter("Card",0,new e("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",(function(e,t,n){var g=e?e.parameter1:NaN;isNaN(g)&&(g=.2);var a=new go.Geometry,o=new go.PathFigure(t,0,!0);return a.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,g*n)),o.add(new go.PathSegment(go.PathSegment.Line,g*t,0).close()),a.spot1=new go.Spot(0,g),a.spot2=go.Spot.BottomRight,a})),go.Shape.defineFigureGenerator("Collate",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,.5*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n));var o=new go.PathFigure(.5*t,.5*n,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n)),g.spot1=new go.Spot(.25,0),g.spot2=new go.Spot(.75,.25),g})),go.Shape.defineFigureGenerator("CreateRequest",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.1);var o=new go.PathFigure(0,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var d=new go.PathFigure(0,a*n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,a*n)),d.add(new go.PathSegment(go.PathSegment.Move,0,(1-a)*n)),d.add(new go.PathSegment(go.PathSegment.Line,t,(1-a)*n)),g})),go.Shape.defineFigureGenerator("Database",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.1*m,d=new go.PathFigure(t,.1*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,.9*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,t,(.9+o)*n,(.5+a)*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*n,(.5-a)*t,n,0,(.9+o)*n)),d.add(new go.PathSegment(go.PathSegment.Line,0,.1*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,0,(.1-o)*n,(.5-a)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,.1*n,(.5+a)*t,0,t,(.1-o)*n));var h=new go.PathFigure(t,.1*n,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.2*n,t,(.1+o)*n,(.5+a)*t,.2*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*n,(.5-a)*t,.2*n,0,(.1+o)*n)),h.add(new go.PathSegment(go.PathSegment.Move,t,.2*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.3*n,t,(.2+o)*n,(.5+a)*t,.3*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*n,(.5-a)*t,.3*n,0,(.2+o)*n)),h.add(new go.PathSegment(go.PathSegment.Move,t,.3*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.4*n,t,(.3+o)*n,(.5+a)*t,.4*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*n,(.5-a)*t,.4*n,0,(.3+o)*n)),g.spot1=new go.Spot(0,.4),g.spot2=new go.Spot(1,.9),g})),go.Shape.defineFigureGenerator("DataStorage",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,.75*t,n,t,0,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*t,.9*n,.25*t,.1*n).close()),g.spot1=new go.Spot(.226,0),g.spot2=new go.Spot(.81,1),g})),go.Shape.defineFigureGenerator("DiskStorage",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.1*m,d=new go.PathFigure(t,.1*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,.9*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,t,(.9+o)*n,(.5+a)*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*n,(.5-a)*t,n,0,(.9+o)*n)),d.add(new go.PathSegment(go.PathSegment.Line,0,.1*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,0,(.1-o)*n,(.5-a)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,.1*n,(.5+a)*t,0,t,(.1-o)*n));var h=new go.PathFigure(t,.1*n,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.2*n,t,(.1+o)*n,(.5+a)*t,.2*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*n,(.5-a)*t,.2*n,0,(.1+o)*n)),h.add(new go.PathSegment(go.PathSegment.Move,t,.2*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.3*n,t,(.2+o)*n,(.5+a)*t,.3*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*n,(.5-a)*t,.3*n,0,(.2+o)*n)),g.spot1=new go.Spot(0,.3),g.spot2=new go.Spot(1,.9),g})),go.Shape.defineFigureGenerator("Display",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.25*t,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,.75*t,n,t,0,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.5*n).close()),g.spot1=new go.Spot(.25,0),g.spot2=new go.Spot(.75,1),g})),go.Shape.defineFigureGenerator("DividedEvent",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)?a=.2:a<.15&&(a=.15);var o=.2*m,d=new go.PathFigure(0,.2*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.2*t,0,0,(.2-o)*n,(.2-o)*t,0)),d.add(new go.PathSegment(go.PathSegment.Line,.8*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,.2*n,(.8+o)*t,0,t,(.2-o)*n)),d.add(new go.PathSegment(go.PathSegment.Line,t,.8*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,n,t,(.8+o)*n,(.8+o)*t,n)),d.add(new go.PathSegment(go.PathSegment.Line,.2*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*n,(.2-o)*t,n,0,(.8+o)*n)),d.add(new go.PathSegment(go.PathSegment.Line,0,.2*n));var h=new go.PathFigure(0,a*n,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,t,a*n)),g})),go.Shape.defineFigureGenerator("DividedProcess",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;(isNaN(a)||a<.1)&&(a=.1);var o=new go.PathFigure(0,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var d=new go.PathFigure(0,a*n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,a*n)),g})),go.Shape.defineFigureGenerator("Document",(function(e,t,n){var g=new go.Geometry;n/=.8;var a=new go.PathFigure(0,.7*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*n,.5*t,.4*n,.5*t,n).close()),g.spot1=go.Spot.TopLeft,g.spot2=new go.Spot(1,.6),g})),go.Shape.defineFigureGenerator("ExternalOrganization",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;(isNaN(a)||a<.2)&&(a=.2);var o=new go.PathFigure(0,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var d=new go.PathFigure(a*t,0,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,0,a*n)),d.add(new go.PathSegment(go.PathSegment.Move,t,a*n)),d.add(new go.PathSegment(go.PathSegment.Line,(1-a)*t,0)),d.add(new go.PathSegment(go.PathSegment.Move,0,(1-a)*n)),d.add(new go.PathSegment(go.PathSegment.Line,a*t,n)),d.add(new go.PathSegment(go.PathSegment.Move,(1-a)*t,n)),d.add(new go.PathSegment(go.PathSegment.Line,t,(1-a)*n)),g})),go.Shape.defineFigureGenerator("ExternalProcess",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.5*n).close());var o=new go.PathFigure(.1*t,.4*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Move,.9*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Line,.9*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Move,.6*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.4*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Move,.4*t,.9*n)),o.add(new go.PathSegment(go.PathSegment.Line,.6*t,.9*n)),g.spot1=new go.Spot(.25,.25),g.spot2=new go.Spot(.75,.75),g})),go.Shape.defineFigureGenerator("File",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var o=new go.PathFigure(.75*t,0,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.75*t,.25*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,.25*n)),g.spot1=new go.Spot(0,.25),g.spot2=go.Spot.BottomRight,g})),go.Shape.defineFigureGenerator("Interrupt",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(t,.5*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n));var o=new go.PathFigure(t,.5*n,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,n));var d=new go.PathFigure(t,.5*n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,0)),g.spot1=new go.Spot(0,.25),g.spot2=new go.Spot(.5,.75),g})),go.Shape.defineFigureGenerator("InternalStorage",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN,o=e?e.parameter2:NaN;isNaN(a)&&(a=.1),isNaN(o)&&(o=.1);var d=new go.PathFigure(0,0,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,0)),d.add(new go.PathSegment(go.PathSegment.Line,t,n)),d.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var h=new go.PathFigure(a*t,0,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,a*t,n)),h.add(new go.PathSegment(go.PathSegment.Move,0,o*n)),h.add(new go.PathSegment(go.PathSegment.Line,t,o*n)),g})),go.Shape.defineFigureGenerator("Junction",(function(e,t,n){var g=new go.Geometry,a=1/Math.SQRT2,o=(1-1/Math.SQRT2)/2,d=.5*m,h=.5,S=new go.PathFigure(t,h*n,!0);g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,h*t,n,t,(h+d)*n,(h+d)*t,n)),S.add(new go.PathSegment(go.PathSegment.Bezier,0,h*n,(h-d)*t,n,0,(h+d)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,h*t,0,0,(h-d)*n,(h-d)*t,0)),S.add(new go.PathSegment(go.PathSegment.Bezier,t,h*n,(h+d)*t,0,t,(h-d)*n));var P=new go.PathFigure((o+a)*t,(o+a)*n,!1);return g.add(P),P.add(new go.PathSegment(go.PathSegment.Line,o*t,o*n)),P.add(new go.PathSegment(go.PathSegment.Move,o*t,(o+a)*n)),P.add(new go.PathSegment(go.PathSegment.Line,(o+a)*t,o*n)),g})),go.Shape.defineFigureGenerator("LinedDocument",(function(e,t,n){var g=new go.Geometry;n/=.8;var a=new go.PathFigure(0,.7*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*n,.5*t,.4*n,.5*t,n).close());var o=new go.PathFigure(.1*t,0,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,.75*n)),g.spot1=new go.Spot(.1,0),g.spot2=new go.Spot(1,.6),g})),go.Shape.defineFigureGenerator("LoopLimit",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n).close()),g.spot1=new go.Spot(0,.25),g.spot2=go.Spot.BottomRight,g})),go.Shape.defineFigureGenerator("MagneticTape",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.5,d=new go.PathFigure(.5*t,n,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,0,o*n,(o-a)*t,n,0,(o+a)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,o*t,0,0,(o-a)*n,(o-a)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,o*n,(o+a)*t,0,t,(o-a)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.6*t,.9*n,t,(o+a)*n,(o+a)*t,.9*n)),d.add(new go.PathSegment(go.PathSegment.Line,t,.9*n)),d.add(new go.PathSegment(go.PathSegment.Line,t,n)),d.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),g.spot1=new go.Spot(.15,.15),g.spot2=new go.Spot(.85,.8),g})),go.Shape.defineFigureGenerator("ManualInput",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(t,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.25*n).close()),g.spot1=new go.Spot(0,.25),g.spot2=go.Spot.BottomRight,g})),go.Shape.defineFigureGenerator("MessageFromUser",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.7);var o=new go.PathFigure(0,0,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,a*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g.spot1=go.Spot.TopLeft,g})),go.Shape.defineFigureGenerator("MicroformProcessing",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.25);var o=new go.PathFigure(0,0,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,a*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,(1-a)*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g})),go.Shape.defineFigureGenerator("MicroformRecording",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.15*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g.spot1=new go.Spot(0,.25),g.spot2=new go.Spot(1,.75),g})),go.Shape.defineFigureGenerator("MultiDocument",(function(e,t,n){var g=new go.Geometry;n/=.8;var a=new go.PathFigure(t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.9*t,.44*n,.96*t,.47*n,.93*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,.54*n,.86*t,.57*n,.83*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*n,.4*t,.4*n,.4*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,0).close());var o=new go.PathFigure(.1*t,.2*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.2*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.54*n)),o.add(new go.PathSegment(go.PathSegment.Move,.2*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.9*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.9*t,.44*n)),g.spot1=new go.Spot(0,.25),g.spot2=new go.Spot(.8,.77),g})),go.Shape.defineFigureGenerator("MultiProcess",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.1*t,.1*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.2*n).close());var o=new go.PathFigure(.2*t,.1*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.9*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.9*t,.8*n)),o.add(new go.PathSegment(go.PathSegment.Move,.1*t,.2*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.2*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.9*n)),g.spot1=new go.Spot(0,.2),g.spot2=new go.Spot(.8,1),g})),go.Shape.defineFigureGenerator("OfflineStorage",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.1);var o=new go.PathFigure(0,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,n).close());var d=new go.PathFigure(.5*a*t,a*n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,(1-.5*a)*t,a*n)),g})),go.Shape.defineFigureGenerator("OffPageConnector",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g.spot1=go.Spot.TopLeft,g.spot2=new go.Spot(.75,1),g})),go.Shape.defineFigureGenerator("Or",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.5,d=new go.PathFigure(t,o*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,o*t,n,t,(o+a)*n,(o+a)*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,o*n,(o-a)*t,n,0,(o+a)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,o*t,0,0,(o-a)*n,(o-a)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,o*n,(o+a)*t,0,t,(o-a)*n));var h=new go.PathFigure(t,.5*n,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,0,.5*n)),h.add(new go.PathSegment(go.PathSegment.Move,.5*t,n)),h.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),g})),go.Shape.defineFigureGenerator("PaperTape",(function(e,t,n){var g=new go.Geometry;n/=.8;var a=new go.PathFigure(0,.7*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.3*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,t,.3*n,.5*t,.6*n,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*n,.5*t,.4*n,.5*t,n).close()),g.spot1=new go.Spot(0,.49),g.spot2=new go.Spot(1,.75),g})),go.Shape.defineFigureGenerator("PrimitiveFromCall",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN,o=e?e.parameter2:NaN;isNaN(a)&&(a=.1),isNaN(o)&&(o=.3);var d=new go.PathFigure(0,0,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,0)),d.add(new go.PathSegment(go.PathSegment.Line,(1-o)*t,.5*n)),d.add(new go.PathSegment(go.PathSegment.Line,t,n)),d.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g})),go.Shape.defineFigureGenerator("PrimitiveToCall",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN,o=e?e.parameter2:NaN;isNaN(a)&&(a=.1),isNaN(o)&&(o=.3);var d=new go.PathFigure(0,0,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,(1-o)*t,0)),d.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),d.add(new go.PathSegment(go.PathSegment.Line,(1-o)*t,n)),d.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g})),go.Shape.defineFigureGenerator("Procedure",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.1);var o=new go.PathFigure(0,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var d=new go.PathFigure((1-a)*t,0,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,(1-a)*t,n)),d.add(new go.PathSegment(go.PathSegment.Move,a*t,0)),d.add(new go.PathSegment(go.PathSegment.Line,a*t,n)),g})),go.Shape.defineFigureGenerator("Process",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.1);var o=new go.PathFigure(0,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var d=new go.PathFigure(a*t,0,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,a*t,n)),g.spot2=go.Spot.BottomRight,g})),go.Shape.defineFigureGenerator("Sort",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.5*n).close());var o=new go.PathFigure(0,.5*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),g.spot1=new go.Spot(.25,.25),g.spot2=new go.Spot(.75,.5),g})),go.Shape.defineFigureGenerator("Start",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.25);var o=new go.PathFigure(a*t,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*t,.5*n,.25*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*t,.5*n,.25*t,.5*n));var d=new go.PathFigure(a*t,0,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,a*t,n)),d.add(new go.PathSegment(go.PathSegment.Move,(1-a)*t,0)),d.add(new go.PathSegment(go.PathSegment.Line,(1-a)*t,n)),g.spot1=new go.Spot(a,0),g.spot2=new go.Spot(1-a,1),g})),go.Shape.defineFigureGenerator("Terminator",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.25*t,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*t,.5*n,.25*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*t,.5*n,.25*t,.5*n)),g.spot1=new go.Spot(.23,0),g.spot2=new go.Spot(.77,1),g})),go.Shape.defineFigureGenerator("TransmittalTape",(function(e,t,n){var g=new go.Geometry,a=e?e.parameter1:NaN;isNaN(a)&&(a=.1);var o=new go.PathFigure(0,0,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,.75*t,(1-a)*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,(1-a)*n).close()),g.spot1=go.Spot.TopLeft,g})),go.Shape.defineFigureGenerator("AndGate",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=new go.PathFigure(0,0,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,(.5+a)*t,0,t,(.5-a)*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,t,(.5+a)*n,(.5+a)*t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g.spot1=go.Spot.TopLeft,g.spot2=new go.Spot(.55,1),g})),go.Shape.defineFigureGenerator("Buffer",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g.spot1=new go.Spot(0,.25),g.spot2=new go.Spot(.5,.75),g})),go.Shape.defineFigureGenerator("Clock",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.5,d=new go.PathFigure(t,o*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,o*t,n,t,(o+a)*n,(o+a)*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,o*n,(o-a)*t,n,0,(o+a)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,o*t,0,0,(o-a)*n,(o-a)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,o*n,(o+a)*t,0,t,(o-a)*n));var h=new go.PathFigure(t,o*n,!1);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,t,o*n));var S=new go.PathFigure(.8*t,.75*n,!1);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Line,.8*t,.25*n)),S.add(new go.PathSegment(go.PathSegment.Line,.6*t,.25*n)),S.add(new go.PathSegment(go.PathSegment.Line,.6*t,.75*n)),S.add(new go.PathSegment(go.PathSegment.Line,.4*t,.75*n)),S.add(new go.PathSegment(go.PathSegment.Line,.4*t,.25*n)),S.add(new go.PathSegment(go.PathSegment.Line,.2*t,.25*n)),S.add(new go.PathSegment(go.PathSegment.Line,.2*t,.75*n)),g})),go.Shape.defineFigureGenerator("Ground",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Move,.2*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Move,.3*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Move,.4*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,n)),g})),go.Shape.defineFigureGenerator("Inverter",(function(e,t,n){var g=new go.Geometry,a=.1*m,o=.9,d=.5,h=new go.PathFigure(.8*t,.5*n,!0);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,0,n)),h.add(new go.PathSegment(go.PathSegment.Line,0,0)),h.add(new go.PathSegment(go.PathSegment.Line,.8*t,.5*n));var S=new go.PathFigure(1*t,d*n,!0);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,o*t,.6*n,1*t,(d+a)*n,(o+a)*t,.6*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,d*n,(o-a)*t,.6*n,.8*t,(d+a)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,o*t,.4*n,.8*t,(d-a)*n,(o-a)*t,.4*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,1*t,d*n,(o+a)*t,.4*n,1*t,(d-a)*n)),g.spot1=new go.Spot(0,.25),g.spot2=new go.Spot(.4,.75),g})),go.Shape.defineFigureGenerator("NandGate",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.4*m,d=.1*m,h=.9,S=.5,P=new go.PathFigure(.8*t,.5*n,!0);g.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,.4*t,n,.8*t,(.5+o)*n,(.4+a)*t,n)),P.add(new go.PathSegment(go.PathSegment.Line,0,n)),P.add(new go.PathSegment(go.PathSegment.Line,0,0)),P.add(new go.PathSegment(go.PathSegment.Line,.4*t,0)),P.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,.5*n,(.4+a)*t,0,.8*t,(.5-o)*n));var r=new go.PathFigure(1*t,S*n,!0);return g.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,h*t,.6*n,1*t,(S+d)*n,(h+d)*t,.6*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,S*n,(h-d)*t,.6*n,.8*t,(S+d)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,h*t,.4*n,.8*t,(S-d)*n,(h-d)*t,.4*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,1*t,S*n,(h+d)*t,.4*n,1*t,(S-d)*n)),g.spot1=new go.Spot(0,.05),g.spot2=new go.Spot(.55,.95),g})),go.Shape.defineFigureGenerator("NorGate",(function(e,t,n){var g=new go.Geometry,a=.5,o=m*a,d=0,h=.5,S=new go.PathFigure(.8*t,.5*n,!0);g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,0,n,.7*t,(h+o)*n,(d+o)*t,(h+a)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*t,.75*n,.25*t,.25*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,.5*n,(d+o)*t,(h-a)*n,.7*t,(h-o)*n)),a=.1,o=.1*m,d=.9,h=.5;var P=new go.PathFigure((d-a)*t,h*n,!0);return g.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h-a)*n,(d-a)*t,(h-o)*n,(d-o)*t,(h-a)*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,(d+a)*t,h*n,(d+o)*t,(h-a)*n,(d+a)*t,(h-o)*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h+a)*n,(d+a)*t,(h+o)*n,(d+o)*t,(h+a)*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,(d-a)*t,h*n,(d-o)*t,(h+a)*n,(d-a)*t,(h+o)*n)),g.spot1=new go.Spot(.2,.25),g.spot2=new go.Spot(.6,.75),g})),go.Shape.defineFigureGenerator("OrGate",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.5,d=new go.PathFigure(0,0,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,(0+a+a)*t,0*n,.8*t,(o-a)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,n,.8*t,(o+a)*n,(0+a+a)*t,1*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*t,.75*n,.25*t,.25*n).close()),g.spot1=new go.Spot(.2,.25),g.spot2=new go.Spot(.75,.75),g})),go.Shape.defineFigureGenerator("XnorGate",(function(e,t,n){var g=new go.Geometry,a=.5,o=m*a,d=.2,h=.5,S=new go.PathFigure(.1*t,0,!1);g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,.1*t,n,.35*t,.25*n,.35*t,.75*n));var P=new go.PathFigure(.8*t,.5*n,!0);g.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,.2*t,n,.7*t,(h+o)*n,(d+o)*t,(h+a)*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,.2*t,0,.45*t,.75*n,.45*t,.25*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,.5*n,(d+o)*t,(h-a)*n,.7*t,(h-o)*n)),a=.1,o=.1*m,d=.9,h=.5;var r=new go.PathFigure((d-a)*t,h*n,!0);return g.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h-a)*n,(d-a)*t,(h-o)*n,(d-o)*t,(h-a)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,(d+a)*t,h*n,(d+o)*t,(h-a)*n,(d+a)*t,(h-o)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h+a)*n,(d+a)*t,(h+o)*n,(d+o)*t,(h+a)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,(d-a)*t,h*n,(d-o)*t,(h+a)*n,(d-a)*t,(h+o)*n)),g.spot1=new go.Spot(.4,.25),g.spot2=new go.Spot(.65,.75),g})),go.Shape.defineFigureGenerator("XorGate",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.5,d=new go.PathFigure(.1*t,0,!1);g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.1*t,n,.35*t,.25*n,.35*t,.75*n));var h=new go.PathFigure(.2*t,0,!0);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,(.2+a)*t,0*n,.9*t,(o-a)*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,.2*t,n,.9*t,(o+a)*n,(.2+a)*t,1*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,.2*t,0,.45*t,.75*n,.45*t,.25*n).close()),g.spot1=new go.Spot(.4,.25),g.spot2=new go.Spot(.8,.75),g})),go.Shape.defineFigureGenerator("Capacitor",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Move,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),g})),go.Shape.defineFigureGenerator("Resistor",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.5*n,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,.5*n)),g})),go.Shape.defineFigureGenerator("Inductor",(function(e,t,n){var g=new go.Geometry,a=.1*m,o=.1,d=.1,h=new go.PathFigure((d-.5*a)*t,n,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,(d+o)*t,0,(d-a)*t,n,(d-o)*t,0)),d=.3,h.add(new go.PathSegment(go.PathSegment.Bezier,d*t,n,(d+o)*t,0,(d+a)*t,n)),h.add(new go.PathSegment(go.PathSegment.Bezier,(d+o)*t,0,(d-a)*t,n,(d-o)*t,0)),d=.5,h.add(new go.PathSegment(go.PathSegment.Bezier,d*t,n,(d+o)*t,0,(d+a)*t,n)),h.add(new go.PathSegment(go.PathSegment.Bezier,(d+o)*t,0,(d-a)*t,n,(d-o)*t,0)),d=.7,h.add(new go.PathSegment(go.PathSegment.Bezier,d*t,n,(d+o)*t,0,(d+a)*t,n)),h.add(new go.PathSegment(go.PathSegment.Bezier,(d+o)*t,0,(d-a)*t,n,(d-o)*t,0)),d=.9,h.add(new go.PathSegment(go.PathSegment.Bezier,(d+.5*a)*t,n,(d+o)*t,0,(d+a)*t,n)),g})),go.Shape.defineFigureGenerator("ACvoltageSource",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.5,d=.5,h=new go.PathFigure(0*t,d*n,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,o*t,0*n,0*t,(d-a)*n,(o-a)*t,0*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,1*t,d*n,(o+a)*t,0*n,1*t,(d-a)*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,o*t,1*n,1*t,(d+a)*n,(o+a)*t,1*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,0*t,d*n,(o-a)*t,1*n,0*t,(d+a)*n)),h.add(new go.PathSegment(go.PathSegment.Move,.1*t,d*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,.9*t,d*n,o*t,0*n,o*t,1*n)),g})),go.Shape.defineFigureGenerator("DCvoltageSource",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.75*n,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.25*n)),a.add(new go.PathSegment(go.PathSegment.Move,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),g})),go.Shape.defineFigureGenerator("Diode",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(t,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),g.spot1=new go.Spot(0,.25),g.spot2=new go.Spot(.5,.75),g})),go.Shape.defineFigureGenerator("Wifi",(function(e,t,n){var g=new go.Geometry,a=.8*m,o=.8,d=0,h=.5,S=(t-(t*=.38))/2,P=(n-(n*=.6))/2,r=new go.PathFigure(d*t+S,(h+o)*n+P,!0);g.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,(d-o)*t+S,h*n+P,(d-a)*t+S,(h+o)*n+P,(d-o)*t+S,(h+a)*n+P)),r.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h-o)*n+P,(d-o)*t+S,(h-a)*n+P,(d-a)*t+S,(h-o)*n+P)),r.add(new go.PathSegment(go.PathSegment.Bezier,(d-o+.5*a)*t+S,h*n+P,d*t+S,(h-o)*n+P,(d-o+.5*a)*t+S,(h-a)*n+P)),r.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h+o)*n+P,(d-o+.5*a)*t+S,(h+a)*n+P,d*t+S,(h+o)*n+P).close()),a=.4*m,o=.4,d=.2,h=.5;var i=new go.PathFigure(d*t+S,(h+o)*n+P,!0);g.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,(d-o)*t+S,h*n+P,(d-a)*t+S,(h+o)*n+P,(d-o)*t+S,(h+a)*n+P)),i.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h-o)*n+P,(d-o)*t+S,(h-a)*n+P,(d-a)*t+S,(h-o)*n+P)),i.add(new go.PathSegment(go.PathSegment.Bezier,(d-o+.5*a)*t+S,h*n+P,d*t+S,(h-o)*n+P,(d-o+.5*a)*t+S,(h-a)*n+P)),i.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h+o)*n+P,(d-o+.5*a)*t+S,(h+a)*n+P,d*t+S,(h+o)*n+P).close()),a=.2*m,o=.2,d=.5,h=.5;var w=new go.PathFigure((d-o)*t+S,h*n+P,!0);g.add(w),w.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h-o)*n+P,(d-o)*t+S,(h-a)*n+P,(d-a)*t+S,(h-o)*n+P)),w.add(new go.PathSegment(go.PathSegment.Bezier,(d+o)*t+S,h*n+P,(d+a)*t+S,(h-o)*n+P,(d+o)*t+S,(h-a)*n+P)),w.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h+o)*n+P,(d+o)*t+S,(h+a)*n+P,(d+a)*t+S,(h+o)*n+P)),w.add(new go.PathSegment(go.PathSegment.Bezier,(d-o)*t+S,h*n+P,(d-a)*t+S,(h+o)*n+P,(d-o)*t+S,(h+a)*n+P)),a=.4*m,o=.4,d=.8,h=.5;var u=new go.PathFigure(d*t+S,(h-o)*n+P,!0);g.add(u),u.add(new go.PathSegment(go.PathSegment.Bezier,(d+o)*t+S,h*n+P,(d+a)*t+S,(h-o)*n+P,(d+o)*t+S,(h-a)*n+P)),u.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h+o)*n+P,(d+o)*t+S,(h+a)*n+P,(d+a)*t+S,(h+o)*n+P)),u.add(new go.PathSegment(go.PathSegment.Bezier,(d+o-.5*a)*t+S,h*n+P,d*t+S,(h+o)*n+P,(d+o-.5*a)*t+S,(h+a)*n+P)),u.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h-o)*n+P,(d+o-.5*a)*t+S,(h-a)*n+P,d*t+S,(h-o)*n+P).close()),a=.8*m,o=.8,d=1,h=.5;var L=new go.PathFigure(d*t+S,(h-o)*n+P,!0);return g.add(L),L.add(new go.PathSegment(go.PathSegment.Bezier,(d+o)*t+S,h*n+P,(d+a)*t+S,(h-o)*n+P,(d+o)*t+S,(h-a)*n+P)),L.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h+o)*n+P,(d+o)*t+S,(h+a)*n+P,(d+a)*t+S,(h+o)*n+P)),L.add(new go.PathSegment(go.PathSegment.Bezier,(d+o-.5*a)*t+S,h*n+P,d*t+S,(h+o)*n+P,(d+o-.5*a)*t+S,(h+a)*n+P)),L.add(new go.PathSegment(go.PathSegment.Bezier,d*t+S,(h-o)*n+P,(d+o-.5*a)*t+S,(h-a)*n+P,d*t+S,(h-o)*n+P).close()),g})),go.Shape.defineFigureGenerator("Email",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var o=new go.PathFigure(0,0,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,0)),o.add(new go.PathSegment(go.PathSegment.Move,0,n)),o.add(new go.PathSegment(go.PathSegment.Line,.45*t,.54*n)),o.add(new go.PathSegment(go.PathSegment.Move,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,.55*t,.54*n)),g})),go.Shape.defineFigureGenerator("Ethernet",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.35*t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,0).close());var o=new go.PathFigure(.1*t,n,!0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.4*t,n)),o.add(new go.PathSegment(go.PathSegment.Line,.4*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,n).close());var d=new go.PathFigure(.6*t,n,!0,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.9*t,n)),d.add(new go.PathSegment(go.PathSegment.Line,.9*t,.6*n)),d.add(new go.PathSegment(go.PathSegment.Line,.6*t,.6*n)),d.add(new go.PathSegment(go.PathSegment.Line,.6*t,n).close());var h=new go.PathFigure(0,.5*n,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),h.add(new go.PathSegment(go.PathSegment.Move,.5*t,.5*n)),h.add(new go.PathSegment(go.PathSegment.Line,.5*t,.4*n)),h.add(new go.PathSegment(go.PathSegment.Move,.75*t,.5*n)),h.add(new go.PathSegment(go.PathSegment.Line,.75*t,.6*n)),h.add(new go.PathSegment(go.PathSegment.Move,.25*t,.5*n)),h.add(new go.PathSegment(go.PathSegment.Line,.25*t,.6*n)),g})),go.Shape.defineFigureGenerator("Power",(function(e,t,o){var h=new go.Geometry,S=.4*m,P=.4,r=.5,i=.5,w=g(),u=g(),L=g(),p=g();d(r,i-P,r+S,i-P,r+P,i-S,r+P,i,.5,w,w,u,L,p);var s=n(u.x,u.y),F=new go.PathFigure(u.x*t,u.y*o,!0);h.add(F),F.add(new go.PathSegment(go.PathSegment.Bezier,(r+P)*t,i*o,L.x*t,L.y*o,p.x*t,p.y*o)),F.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i+P)*o,(r+P)*t,(i+S)*o,(r+S)*t,(i+P)*o)),F.add(new go.PathSegment(go.PathSegment.Bezier,(r-P)*t,i*o,(r-S)*t,(i+P)*o,(r-P)*t,(i+S)*o)),d(r-P,i,r-P,i-S,r-S,i-P,r,i-P,.5,L,p,u,w,w),F.add(new go.PathSegment(go.PathSegment.Bezier,u.x*t,u.y*o,L.x*t,L.y*o,p.x*t,p.y*o)),d(r-(P=.3),i,r-P,i-(S=.3*m),r-S,i-P,r,i-P,.5,L,p,u,w,w),F.add(new go.PathSegment(go.PathSegment.Line,u.x*t,u.y*o)),F.add(new go.PathSegment(go.PathSegment.Bezier,(r-P)*t,i*o,p.x*t,p.y*o,L.x*t,L.y*o)),F.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i+P)*o,(r-P)*t,(i+S)*o,(r-S)*t,(i+P)*o)),F.add(new go.PathSegment(go.PathSegment.Bezier,(r+P)*t,i*o,(r+S)*t,(i+P)*o,(r+P)*t,(i+S)*o)),d(r,i-P,r+S,i-P,r+P,i-S,r+P,i,.5,w,w,u,L,p),F.add(new go.PathSegment(go.PathSegment.Bezier,u.x*t,u.y*o,p.x*t,p.y*o,L.x*t,L.y*o).close());F=new go.PathFigure(.45*t,0,!0);return h.add(F),F.add(new go.PathSegment(go.PathSegment.Line,.45*t,.5*o)),F.add(new go.PathSegment(go.PathSegment.Line,.55*t,.5*o)),F.add(new go.PathSegment(go.PathSegment.Line,.55*t,0).close()),a(w),a(u),a(L),a(p),a(s),h.spot1=new go.Spot(.25,.45),h.spot2=new go.Spot(.75,.8),h})),go.Shape.defineFigureGenerator("Fallout",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,n/2,!0);function o(e,g,a){e.add(new go.PathSegment(go.PathSegment.Move,(.3+g)*t,(.8+a)*n)),e.add(new go.PathSegment(go.PathSegment.Line,(.5+g)*t,(.5+a)*n)),e.add(new go.PathSegment(go.PathSegment.Line,(.1+g)*t,(.5+a)*n)),e.add(new go.PathSegment(go.PathSegment.Line,(.3+g)*t,(.8+a)*n).close())}return g.add(a),a.add(new go.PathSegment(go.PathSegment.Arc,180,360,t/2,n/2,t/2,n/2)),o(a,0,0),o(a,.4,0),o(a,.2,-.3),g})),go.Shape.defineFigureGenerator("IrritationHazard",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.2*t,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.3*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.2*n).close()),g.spot1=new go.Spot(.3,.3),g.spot2=new go.Spot(.7,.7),g})),go.Shape.defineFigureGenerator("ElectricalHazard",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.37*t,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.11*n)),a.add(new go.PathSegment(go.PathSegment.Line,.77*t,.04*n)),a.add(new go.PathSegment(go.PathSegment.Line,.33*t,.49*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.37*n)),a.add(new go.PathSegment(go.PathSegment.Line,.63*t,.86*n)),a.add(new go.PathSegment(go.PathSegment.Line,.77*t,.91*n)),a.add(new go.PathSegment(go.PathSegment.Line,.34*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.34*t,.78*n)),a.add(new go.PathSegment(go.PathSegment.Line,.44*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,.56*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.68*n).close()),g})),go.Shape.defineFigureGenerator("FireHazard",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.1*t,n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,.29*t,0,-.25*t,.63*n,.45*t,.44*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.51*t,.42*n,.48*t,.17*n,.54*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.59*t,.18*n,.59*t,.29*n,.58*t,.28*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.75*t,.6*n,.8*t,.34*n,.88*t,.43*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.88*t,.31*n,.87*t,.48*n,.88*t,.43*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.9*t,n,1.17*t,.76*n,.82*t,.8*n).close()),g.spot1=new go.Spot(.07,.445),g.spot2=new go.Spot(.884,.958),g})),go.Shape.defineFigureGenerator("BpmnActivityLoop",(function(e,t,n){var g=new go.Geometry,a=.5,o=a*m,d=.4*Math.SQRT2/2+.5,h=.5-.5*Math.SQRT2/2,S=new go.PathFigure(d*t,(1-h)*n,!1);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,1*t,.5*n,1*t,.7*n,1*t,.5*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0*n,1*t,(.5-o+0)*n,(.5+o+0)*t,0*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,0*t,.5*n,(.5-o+0)*t,0*n,0*t,(.5-o+0)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,.35*t,.9*n,0*t,(.5+o+0)*n,(.5-o+0)*t,.9*n)),S.add(new go.PathSegment(go.PathSegment.Move,.25*t,.8*n)),S.add(new go.PathSegment(go.PathSegment.Line,.35*t,.9*n)),S.add(new go.PathSegment(go.PathSegment.Line,.2*t,.95*n)),g})),go.Shape.defineFigureGenerator("BpmnActivityParallel",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Move,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),g})),go.Shape.defineFigureGenerator("BpmnActivitySequential",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Move,0,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Move,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),g})),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);g.add(a);var o=new go.PathFigure(t,n,!1);g.add(o);var d=new go.PathFigure(0,.5*n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.5*n,.2*t,.35*n,.3*t,.35*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,.7*t,.65*n,.8*t,.65*n)),g})),go.Shape.defineFigureGenerator("BpmnActivityCompensation",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.5*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n).close()),g})),go.Shape.defineFigureGenerator("BpmnTaskMessage",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.2*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.8*n).close());a=new go.PathFigure(0,.2*n,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.2*n)),g})),go.Shape.defineFigureGenerator("BpmnTaskScript",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.7*t,n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.3*t,0,.6*t,.5*n,0,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,.7*t,n,.4*t,.5*n,t,.5*n).close());var o=new go.PathFigure(.45*t,.73*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.7*t,.73*n)),o.add(new go.PathSegment(go.PathSegment.Move,.38*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,.63*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Move,.31*t,.27*n)),o.add(new go.PathSegment(go.PathSegment.Line,.56*t,.27*n)),g})),go.Shape.defineFigureGenerator("BpmnTaskUser",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);g.add(a);var o=new go.PathFigure(.335*t,(1-.555)*n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.335*t,.595*n)),o.add(new go.PathSegment(go.PathSegment.Line,.665*t,.595*n)),o.add(new go.PathSegment(go.PathSegment.Line,.665*t,(1-.555)*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,t,.68*n,.88*t,.46*n,.98*t,.54*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.68*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.335*t,(1-.555)*n,.02*t,.54*n,.12*t,.46*n)),o.add(new go.PathSegment(go.PathSegment.Line,.365*t,.405*n));var d=.5-.285,h=.5,S=d,m=Math.PI/4,P=4*(1-Math.cos(m))/(3*Math.sin(m)),r=d,i=d,w=P*r,u=P*i;o.add(new go.PathSegment(go.PathSegment.Bezier,.285*t,S*n,(h-(w+r)/2)*t,(S+(i+u)/2)*n,.285*t,(S+u)*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,h*t,0*n,.285*t,(S-u)*n,(h-w)*t,0*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,(h+r)*t,S*n,(h+w)*t,0*n,(h+r)*t,(S-u)*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.635*t,.405*n,(h+r)*t,(S+u)*n,(h+(w+r)/2)*t,(S+(i+u)/2)*n)),o.add(new go.PathSegment(go.PathSegment.Line,.635*t,.405*n)),o.add(new go.PathSegment(go.PathSegment.Line,.665*t,(1-.555)*n)),o.add(new go.PathSegment(go.PathSegment.Line,.665*t,.595*n)),o.add(new go.PathSegment(go.PathSegment.Line,.335*t,.595*n));var L=new go.PathFigure(.2*t,n,!1);g.add(L),L.add(new go.PathSegment(go.PathSegment.Line,.2*t,.8*n));var p=new go.PathFigure(.8*t,n,!1);return g.add(p),p.add(new go.PathSegment(go.PathSegment.Line,.8*t,.8*n)),g})),go.Shape.defineFigureGenerator("BpmnEventConditional",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.1*t,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,n).close());var o=new go.PathFigure(.2*t,.2*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.2*n)),o.add(new go.PathSegment(go.PathSegment.Move,.2*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Move,.2*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Move,.2*t,.8*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.8*n)),g})),go.Shape.defineFigureGenerator("BpmnEventError",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.33*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.33*t,.5*n).close()),g})),go.Shape.defineFigureGenerator("BpmnEventEscalation",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);g.add(a);var o=new go.PathFigure(t,n,!1);g.add(o);var d=new go.PathFigure(.1*t,n,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),d.add(new go.PathSegment(go.PathSegment.Line,.9*t,n)),d.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n).close()),g})),go.Shape.defineFigureGenerator("Caution",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.05*t,n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,.1*t,.8*n,0,n,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.55*t,.1*n,.5*t,0,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.95*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.9*t,n,t,n,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.05*t,n));var o=.05;return a.add(new go.PathSegment(go.PathSegment.Move,.45*t,.875*n)),a.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*t,.875*n,o*t,o*n)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.325*n,.575*t,.725*n,.625*t,.375*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.75*n,.375*t,.375*n,.425*t,.725*n)),g})),go.Shape.defineFigureGenerator("Recycle",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.45*t,.95*n,!1);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.185*t,.85*n,.17*t,.95*n,.15*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,.235*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.625*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,.65*n)),a.add(new go.PathSegment(go.PathSegment.Line,.275*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.05*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.05*t,.575*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.1875*t,.95*n,0,.675*n,0,.7*n)),a.add(new go.PathSegment(go.PathSegment.Move,.45*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.775*n)),a.add(new go.PathSegment(go.PathSegment.Line,.22*t,.775*n));var o=new go.PathFigure(.475*t,.2*n,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.4*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,.225*t,.3*n)),o.add(new go.PathSegment(go.PathSegment.Line,.275*t,.175*n)),o.add(new go.PathSegment(go.PathSegment.Line,.325*t,.05*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.4*t,.05*n,.35*t,0,.375*t,0)),o.add(new go.PathSegment(go.PathSegment.Line,.575*t,.375*n)),o.add(new go.PathSegment(go.PathSegment.Line,.525*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,.75*t,.475*n)),o.add(new go.PathSegment(go.PathSegment.Line,.85*t,.315*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.32*n)),o.add(new go.PathSegment(go.PathSegment.Line,.65*t,.05*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.575*t,0,.65*t,.05*n,.625*t,0)),o.add(new go.PathSegment(go.PathSegment.Line,.38*t,.0105*n));var d=new go.PathFigure(.675*t,.575*n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.875*t,.525*n)),d.add(new go.PathSegment(go.PathSegment.Line,t,.775*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,.85*t,.95*n,t,.8*n,t,.85*n)),d.add(new go.PathSegment(go.PathSegment.Line,.65*t,.95*n)),d.add(new go.PathSegment(go.PathSegment.Line,.65*t,n)),d.add(new go.PathSegment(go.PathSegment.Line,.55*t,.85*n)),d.add(new go.PathSegment(go.PathSegment.Line,.65*t,.725*n)),d.add(new go.PathSegment(go.PathSegment.Line,.65*t,.775*n)),d.add(new go.PathSegment(go.PathSegment.Line,.7*t,.775*n)),d.add(new go.PathSegment(go.PathSegment.Line,t,.775*n)),d.add(new go.PathSegment(go.PathSegment.Move,.675*t,.575*n)),d.add(new go.PathSegment(go.PathSegment.Line,.775*t,.775*n)),g})),go.Shape.defineFigureGenerator("BpmnEventTimer",(function(e,t,n){var g=new go.Geometry,a=.5,o=.5*m,d=new go.PathFigure(t,a*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,a*t,n,t,(a+o)*n,(a+o)*t,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,a*n,(a-o)*t,n,0,(a+o)*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,a*t,0,0,(a-o)*n,(a-o)*t,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,t,a*n,(a+o)*t,0,t,(a-o)*n));var h=new go.PathFigure(a*t,0,!1);return g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,a*t,.15*n)),h.add(new go.PathSegment(go.PathSegment.Move,a*t,n)),h.add(new go.PathSegment(go.PathSegment.Line,a*t,.85*n)),h.add(new go.PathSegment(go.PathSegment.Move,0,a*n)),h.add(new go.PathSegment(go.PathSegment.Line,.15*t,a*n)),h.add(new go.PathSegment(go.PathSegment.Move,t,a*n)),h.add(new go.PathSegment(go.PathSegment.Line,.85*t,a*n)),h.add(new go.PathSegment(go.PathSegment.Move,a*t,a*n)),h.add(new go.PathSegment(go.PathSegment.Line,.58*t,.1*n)),h.add(new go.PathSegment(go.PathSegment.Move,a*t,a*n)),h.add(new go.PathSegment(go.PathSegment.Line,.78*t,.54*n)),g})),go.Shape.defineFigureGenerator("Package",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.15*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,.15*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close());var o=new go.PathFigure(0,.15*n,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,0,0)),o.add(new go.PathSegment(go.PathSegment.Line,.6*t,0)),o.add(new go.PathSegment(go.PathSegment.Line,.65*t,.15*n).close()),g.spot1=new go.Spot(0,.1),g.spot2=new go.Spot(1,1),g})),go.Shape.defineFigureGenerator("Class",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var o=new go.PathFigure(0,.2*n,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,.2*n).close());var d=new go.PathFigure(0,.5*n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,t,.5*n).close()),g})),go.Shape.defineFigureGenerator("Component",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(t,n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n).close());var o=new go.PathFigure(0,.2*n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.45*t,.2*n)),o.add(new go.PathSegment(go.PathSegment.Line,.45*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.2*n).close());var d=new go.PathFigure(0,.6*n,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.45*t,.6*n)),d.add(new go.PathSegment(go.PathSegment.Line,.45*t,.8*n)),d.add(new go.PathSegment(go.PathSegment.Line,0,.8*n)),d.add(new go.PathSegment(go.PathSegment.Line,0,.6*n).close()),g})),go.Shape.defineFigureGenerator("Boat Shipment",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.15*t,.6*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.85*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.85*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,.6*n));var o=new go.PathFigure(.15*t,.6*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.85*t,.6*n)),g})),go.Shape.defineFigureGenerator("Customer/Supplier",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(t,n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,.33*n)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.33*t,.33*n)),a.add(new go.PathSegment(go.PathSegment.Line,.33*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,0,.33*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n).close()),g})),go.Shape.defineFigureGenerator("Workcell",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),g})),go.Shape.defineFigureGenerator("Supermarket",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.33*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.33*n)),a.add(new go.PathSegment(go.PathSegment.Move,t,.33*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.66*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.66*n)),a.add(new go.PathSegment(go.PathSegment.Move,t,.66*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),g})),go.Shape.defineFigureGenerator("TruckShipment",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var o=new go.PathFigure(t,.8*n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,.6*t,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,.6*t,.8*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,.8*n).close());var d=.1,h=.1*m,S=.2,P=.9,r=new go.PathFigure((S-d)*t,P*n,!0);g.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P-d)*n,(S-d)*t,(P-h)*n,(S-h)*t,(P-d)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,(S+d)*t,P*n,(S+h)*t,(P-d)*n,(S+d)*t,(P-h)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P+d)*n,(S+d)*t,(P+h)*n,(S+h)*t,(P+d)*n)),r.add(new go.PathSegment(go.PathSegment.Bezier,(S-d)*t,P*n,(S-h)*t,(P+d)*n,(S-d)*t,(P+h)*n).close()),d=.1,h=.1*m,S=.8,P=.9;var i=new go.PathFigure((S-d)*t,P*n,!0);return g.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P-d)*n,(S-d)*t,(P-h)*n,(S-h)*t,(P-d)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(S+d)*t,P*n,(S+h)*t,(P-d)*n,(S+d)*t,(P-h)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,S*t,(P+d)*n,(S+d)*t,(P+h)*n,(S+h)*t,(P+d)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(S-d)*t,P*n,(S-h)*t,(P+d)*n,(S-d)*t,(P+h)*n).close()),g})),go.Shape.defineFigureGenerator("KanbanPost",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.2*t,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,0)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,n)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,n)),g})),go.Shape.defineFigureGenerator("Forklift",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,0,0));var o=new go.PathFigure(0,.5*n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,0,.8*n)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.8*n)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,.5*n));var d=new go.PathFigure(.5*t,.8*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.5*t,.1*n)),d.add(new go.PathSegment(go.PathSegment.Line,.55*t,.1*n)),d.add(new go.PathSegment(go.PathSegment.Line,.55*t,.8*n)),d.add(new go.PathSegment(go.PathSegment.Line,.5*t,.8*n));var h=new go.PathFigure(.5*t,.7*n,!1);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,t,.7*n));var S=.1,P=.1*m,r=.1,i=.9,w=new go.PathFigure((r-S)*t,i*n,!0);g.add(w),w.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i-S)*n,(r-S)*t,(i-P)*n,(r-P)*t,(i-S)*n)),w.add(new go.PathSegment(go.PathSegment.Bezier,(r+S)*t,i*n,(r+P)*t,(i-S)*n,(r+S)*t,(i-P)*n)),w.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i+S)*n,(r+S)*t,(i+P)*n,(r+P)*t,(i+S)*n)),w.add(new go.PathSegment(go.PathSegment.Bezier,(r-S)*t,i*n,(r-P)*t,(i+S)*n,(r-S)*t,(i+P)*n)),S=.1,P=.1*m,r=.4,i=.9;var u=new go.PathFigure((r-S)*t,i*n,!0);return g.add(u),u.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i-S)*n,(r-S)*t,(i-P)*n,(r-P)*t,(i-S)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,(r+S)*t,i*n,(r+P)*t,(i-S)*n,(r+S)*t,(i-P)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,r*t,(i+S)*n,(r+S)*t,(i+P)*n,(r+P)*t,(i+S)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,(r-S)*t,i*n,(r-P)*t,(i+S)*n,(r-S)*t,(i+P)*n)),g})),go.Shape.defineFigureGenerator("RailShipment",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.1*t,.4*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.4*n).close());var o=new go.PathFigure(.45*t,.7*n,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.55*t,.7*n));var d=new go.PathFigure(.55*t,.4*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.9*t,.4*n)),d.add(new go.PathSegment(go.PathSegment.Line,.9*t,.9*n)),d.add(new go.PathSegment(go.PathSegment.Line,.55*t,.9*n)),d.add(new go.PathSegment(go.PathSegment.Line,.55*t,.4*n).close());var h=.05,S=.05*m,P=.175,r=.95,i=new go.PathFigure((P-h)*t,r*n,!0);g.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r-h)*n,(P-h)*t,(r-S)*n,(P-S)*t,(r-h)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(P+h)*t,r*n,(P+S)*t,(r-h)*n,(P+h)*t,(r-S)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r+h)*n,(P+h)*t,(r+S)*n,(P+S)*t,(r+h)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(P-h)*t,r*n,(P-S)*t,(r+h)*n,(P-h)*t,(r+S)*n));h=.05,S=.05*m,P=.375,r=.95;var w=new go.PathFigure((P-h)*t,r*n,!0);g.add(w),w.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r-h)*n,(P-h)*t,(r-S)*n,(P-S)*t,(r-h)*n)),w.add(new go.PathSegment(go.PathSegment.Bezier,(P+h)*t,r*n,(P+S)*t,(r-h)*n,(P+h)*t,(r-S)*n)),w.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r+h)*n,(P+h)*t,(r+S)*n,(P+S)*t,(r+h)*n)),w.add(new go.PathSegment(go.PathSegment.Bezier,(P-h)*t,r*n,(P-S)*t,(r+h)*n,(P-h)*t,(r+S)*n));h=.05,S=.05*m,P=.625,r=.95;var u=new go.PathFigure((P-h)*t,r*n,!0);g.add(u),u.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r-h)*n,(P-h)*t,(r-S)*n,(P-S)*t,(r-h)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,(P+h)*t,r*n,(P+S)*t,(r-h)*n,(P+h)*t,(r-S)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r+h)*n,(P+h)*t,(r+S)*n,(P+S)*t,(r+h)*n)),u.add(new go.PathSegment(go.PathSegment.Bezier,(P-h)*t,r*n,(P-S)*t,(r+h)*n,(P-h)*t,(r+S)*n));h=.05,S=.05*m,P=.825,r=.95;var L=new go.PathFigure((P-h)*t,r*n,!0);g.add(L),L.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r-h)*n,(P-h)*t,(r-S)*n,(P-S)*t,(r-h)*n)),L.add(new go.PathSegment(go.PathSegment.Bezier,(P+h)*t,r*n,(P+S)*t,(r-h)*n,(P+h)*t,(r-S)*n)),L.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r+h)*n,(P+h)*t,(r+S)*n,(P+S)*t,(r+h)*n)),L.add(new go.PathSegment(go.PathSegment.Bezier,(P-h)*t,r*n,(P-S)*t,(r+h)*n,(P-h)*t,(r+S)*n).close());var p=new go.PathFigure(0,n,!1);return g.add(p),p.add(new go.PathSegment(go.PathSegment.Line,t,n).close()),g})),go.Shape.defineFigureGenerator("Warehouse",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var o=new go.PathFigure(0,.2*n,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,.2*n).close());var d=new go.PathFigure(.15*t,n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.15*t,.5*n)),d.add(new go.PathSegment(go.PathSegment.Line,.4*t,.5*n)),d.add(new go.PathSegment(go.PathSegment.Line,.4*t,n)),d.add(new go.PathSegment(go.PathSegment.Line,.15*t,n).close());var h=.05,S=.05*m,P=.35,r=.775,i=new go.PathFigure(.3*t,r*n,!0);return g.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,.725*n,.3*t,(r-S)*n,(P-S)*t,.725*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,(P+h)*t,r*n,(P+S)*t,.725*n,(P+h)*t,(r-S)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,P*t,(r+h)*n,(P+h)*t,(r+S)*n,(P+S)*t,(r+h)*n)),i.add(new go.PathSegment(go.PathSegment.Bezier,.3*t,r*n,(P-S)*t,(r+h)*n,.3*t,(r+S)*n).close()),g})),go.Shape.defineFigureGenerator("ControlCenter",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Move,.1*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.8*n).close()),g})),go.Shape.defineFigureGenerator("Bluetooth",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.75*n,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.25*n)),g})),go.Shape.defineFigureGenerator("Bookmark",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Move,.2*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Move,.2*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.4*n)),g})),go.Shape.defineFigureGenerator("Bookmark",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Move,.2*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Move,.2*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.4*n)),g})),go.Shape.defineFigureGenerator("Globe",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Move,0,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,t,.5*n,.75*t,0,t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,t,.75*n,.75*t,n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*n,.25*t,n,0,.75*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,0,.25*n,.25*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,n,.15*t,.25*n,.15*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,.85*t,.75*n,.85*t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Move,.1675*t,.15*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.8325*t,.15*n,.35*t,.3*n,.65*t,.3*n)),a.add(new go.PathSegment(go.PathSegment.Move,.1675*t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.8325*t,.85*n,.35*t,.7*n,.65*t,.7*n)),g})),go.Shape.defineFigureGenerator("Wave",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.25*n,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,.3*t,.25*n,.1*t,0,.2*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,.7*t,.25*n,.425*t,.5*n,.575*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,t,.25*n,.8*t,0,.9*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Move,0,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.75*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.3*t,.75*n,.1*t,.5*n,.2*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.7*t,.75*n,.425*t,n,.575*t,n)),a.add(new go.PathSegment(go.PathSegment.Bezier,t,.75*n,.8*t,.5*n,.9*t,.5*n)),g})),go.Shape.defineFigureGenerator("Operator",(function(e,t,n){var g=new go.Geometry,a=.3,o=.3*m,d=.5,h=.7,S=new go.PathFigure(.2*t,h*n,!0);g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h-a)*n,.2*t,(h-o)*n,(d-o)*t,(h-a)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,h*n,(d+o)*t,(h-a)*n,.8*t,(h-o)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,d*t,1*n,.8*t,(h+o)*n,(d+o)*t,1*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,.2*t,h*n,(d-o)*t,1*n,.2*t,(h+o)*n));var P=new go.PathFigure(0,.7*n,!1);return g.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,t,.7*n,0,0,t,0)),g})),go.Shape.defineFigureGenerator("TripleFanBlades",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.65*n,.65*t,.3*n,.65*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,.35*t,.5*n,.35*t,.3*n)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,.65*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,n,.3*t,.6*n,.1*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.65*n,.2*t,n,.35*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,.65*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,t,n,.7*t,.6*n,.9*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.65*n,.8*t,n,.65*t,.95*n)),g})),go.Shape.defineFigureGenerator("CentrifugalPump",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(t,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*n,0,.075*n,0,.5*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.4*t,n,0,n,.4*t,n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,.4*n,.8*t,n,.85*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,0)),g})),go.Shape.defineFigureGenerator("Battery",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.1*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Move,.4*t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.1*n));var o=new go.PathFigure(0,.6*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Move,0,.4*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,.4*n)),g})),go.Shape.defineFigureGenerator("Delete",(function(e,t,n){var g=new go.Geometry,a=.5*m,o=.5,d=.5,h=new go.PathFigure(0*t,d*n,!0);g.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,o*t,0*n,0*t,(d-a)*n,(o-a)*t,0*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,1*t,d*n,(o+a)*t,0*n,1*t,(d-a)*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,o*t,1*n,1*t,(d+a)*n,(o+a)*t,1*n)),h.add(new go.PathSegment(go.PathSegment.Bezier,0*t,d*n,(o-a)*t,1*n,0*t,(d+a)*n));var S=new go.PathFigure(.15*t,.5*n,!1);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Line,.85*t,.5*n)),g})),go.Shape.defineFigureGenerator("Flag",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.1*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Move,0,.1*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.1*n,.15*t,0,.35*t,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,t,.1*n,.65*t,.2*n,.85*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.5*n,.85*t,.6*n,.65*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*n,.35*t,.4*n,.15*t,.4*n).close()),g})),go.Shape.defineFigureGenerator("Help",(function(e,t,n){var g=new go.Geometry,a=.5,o=.5*m,d=.5,h=.5,S=new go.PathFigure((d-a)*t,h*n,!1);g.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h-a)*n,(d-a)*t,(h-o)*n,(d-o)*t,(h-a)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(d+a)*t,h*n,(d+o)*t,(h-a)*n,(d+a)*t,(h-o)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h+a)*n,(d+a)*t,(h+o)*n,(d+o)*t,(h+a)*n)),S.add(new go.PathSegment(go.PathSegment.Bezier,(d-a)*t,h*n,(d-o)*t,(h+a)*n,(d-a)*t,(h+o)*n).close()),a=.05,o=.05*m,d=.5,h=.8;var P=new go.PathFigure((d-a)*t,h*n,!1);return g.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h-a)*n,(d-a)*t,(h-o)*n,(d-o)*t,(h-a)*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,(d+a)*t,h*n,(d+o)*t,(h-a)*n,(d+a)*t,(h-o)*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,d*t,(h+a)*n,(d+a)*t,(h+o)*n,(d+o)*t,(h+a)*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,(d-a)*t,h*n,(d-o)*t,(h+a)*n,(d-a)*t,(h+o)*n).close()),P.add(new go.PathSegment(go.PathSegment.Move,.5*t,.7*n)),P.add(new go.PathSegment(go.PathSegment.Line,.5*t,.5*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,.5*t,.2*n,.75*t,.475*n,.75*t,.225*n)),P.add(new go.PathSegment(go.PathSegment.Bezier,.3*t,.35*n,.4*t,.2*n,.3*t,.25*n)),g})),go.Shape.defineFigureGenerator("Location",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.5*t,n,!0).add(new go.PathSegment(go.PathSegment.Line,.75*t,.5*n)).add(new go.PathSegment(go.PathSegment.Bezier,.5*t,0,.975*t,.025*n,.5*t,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*t,.5*n,.5*t,0,.025*t,.025*n).close()).add(new go.PathSegment(go.PathSegment.Move,.5*t,.2*n)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*t,.3*n,.1*t,.1*n).close()))})),go.Shape.defineFigureGenerator("Lock",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.5*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.5*n));var o=new go.PathFigure(.2*t,.5*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Move,.2*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,.2*t,.3*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,.3*n,.25*t,0,.75*t,0)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.3*n)),g})),go.Shape.defineFigureGenerator("Unlocked",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.5*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.5*n));var o=new go.PathFigure(.2*t,.5*n,!1);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Move,.2*t,.5*n)),o.add(new go.PathSegment(go.PathSegment.Line,.2*t,.3*n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.8*t,.3*n,.25*t,0,.75*t,0)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.35*n)),g})),go.Shape.defineFigureGenerator("Gear",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(.9375*t,.56246875*n,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*t,.4375*n)).add(new go.PathSegment(go.PathSegment.Line,.80621875*t,.4375*n)).add(new go.PathSegment(go.PathSegment.Bezier,.763*t,.3316875*n,.79840625*t,.39915625*n,.7834375*t,.3635*n)).add(new go.PathSegment(go.PathSegment.Line,.8566875*t,.23796875*n)).add(new go.PathSegment(go.PathSegment.Line,.76825*t,.14959375*n)).add(new go.PathSegment(go.PathSegment.Line,.67596875*t,.24184375*n)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*t,.19378125*n,.64228125*t,.2188125*n,.603875*t,.2021875*n)).add(new go.PathSegment(go.PathSegment.Line,.5625*t,.0625*n)).add(new go.PathSegment(go.PathSegment.Line,.4375*t,.0625*n)).add(new go.PathSegment(go.PathSegment.Line,.4375*t,.19378125*n)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*t,.239375*n,.39759375*t,.20190625*n,.36053125*t,.2176875*n)).add(new go.PathSegment(go.PathSegment.Line,.2379375*t,.14959375*n)).add(new go.PathSegment(go.PathSegment.Line,.14953125*t,.2379375*n)).add(new go.PathSegment(go.PathSegment.Line,.23934375*t,.3278125*n)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*t,.4375*n,.21765625*t,.36059375*n,.201875*t,.397625*n)).add(new go.PathSegment(go.PathSegment.Line,.0625*t,.4375*n)).add(new go.PathSegment(go.PathSegment.Line,.0625*t,.5625*n)).add(new go.PathSegment(go.PathSegment.Line,.1938125*t,.5625*n)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*t,.67596875*n,.20221875*t,.603875*n,.21884375*t,.64228125*n)).add(new go.PathSegment(go.PathSegment.Line,.1495625*t,.76825*n)).add(new go.PathSegment(go.PathSegment.Line,.238*t,.8566875*n)).add(new go.PathSegment(go.PathSegment.Line,.3316875*t,.76296875*n)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*t,.80621875*n,.36353125*t,.78340625*n,.3991875*t,.79840625*n)).add(new go.PathSegment(go.PathSegment.Line,.43753125*t,.9375*n)).add(new go.PathSegment(go.PathSegment.Line,.5625*t,.9375*n)).add(new go.PathSegment(go.PathSegment.Line,.5625*t,.80621875*n)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*t,.760625*n,.602375*t,.79809375*n,.63946875*t,.78234375*n)).add(new go.PathSegment(go.PathSegment.Line,.76828125*t,.8566875*n)).add(new go.PathSegment(go.PathSegment.Line,.85671875*t,.76825*n)).add(new go.PathSegment(go.PathSegment.Line,.76065625*t,.67221875*n)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*t,.56246875*n,.78234375*t,.63940625*n,.798125*t,.602375*n)).add(new go.PathSegment(go.PathSegment.Line,.9375*t,.56246875*n).close()).add(new go.PathSegment(go.PathSegment.Move,.5*t,.6*n)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*t,.5*n,.1*t,.1*n).close()))})),go.Shape.defineFigureGenerator("Hand",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.5*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,.1*t,.3*n,0,.375*n,.05*t,.325*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.45*t,.075*n,.3*t,.225*n,.4*t,.175*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.525*t,.075*n,.46*t,.05*n,.525*t,.05*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.3*t,.4*n,.525*t,.275*n,.475*t,.325*n)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.9*t,.55*n,t,.4*n,t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.425*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.6*t,.7*n,.675*t,.55*n,.675*t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Line,.575*t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.575*t,.85*n,.65*t,.7*n,.65*t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,.525*t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.535*t,n,.61*t,.85*n,.61*t,n)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*n,.435*t,n,0,n).close()),g})),go.Shape.defineFigureGenerator("Map",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,.2*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,n).close()),a.add(new go.PathSegment(go.PathSegment.Move,.25*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Move,.5*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,n)),a.add(new go.PathSegment(go.PathSegment.Move,.75*t,0)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.8*n)),g})),go.Shape.defineFigureGenerator("Eject",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,t,n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.7*n).close());var o=new go.PathFigure(0,.6*n,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,.6*n)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,0).close()),g})),go.Shape.defineFigureGenerator("Pencil",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*t,.1*n)).add(new go.PathSegment(go.PathSegment.Line,t,.9*n)).add(new go.PathSegment(go.PathSegment.Line,.9*t,n)).add(new go.PathSegment(go.PathSegment.Line,.1*t,.2*n).close()))})),go.Shape.defineFigureGenerator("Building",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(1*t,1*n,!1);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,.046*t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,.046*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.3*n)),a.add(new go.PathSegment(go.PathSegment.Line,.046*t,.3*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.954*t,.3*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.3*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.954*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.954*t,.85*n)),a.add(new go.PathSegment(go.PathSegment.Line,t,.85*n).close());var o=new go.PathFigure(.126*t,.85*n,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.126*t,.45*n)),o.add(new go.PathSegment(go.PathSegment.Line,.322*t,.45*n)),o.add(new go.PathSegment(go.PathSegment.Line,.322*t,.85*n).close());var d=new go.PathFigure(.402*t,.85*n,!1);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.402*t,.45*n)),d.add(new go.PathSegment(go.PathSegment.Line,.598*t,.45*n)),d.add(new go.PathSegment(go.PathSegment.Line,.598*t,.85*n).close());var h=new go.PathFigure(.678*t,.85*n,!1);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,.678*t,.45*n)),h.add(new go.PathSegment(go.PathSegment.Line,.874*t,.45*n)),h.add(new go.PathSegment(go.PathSegment.Line,.874*t,.85*n).close());var S=new go.PathFigure(.5*t,.1*n,!1);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Line,.196*t,.3*n)),S.add(new go.PathSegment(go.PathSegment.Line,.804*t,.3*n).close()),g})),go.Shape.defineFigureGenerator("Staircase",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,1*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,.15*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.15*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,.55*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,.55*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.95*n).close()),g})),go.Shape.defineFigureGenerator("5Bars",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,1*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.184*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.184*t,n*(1-.184)).close());var o=new go.PathFigure(.204*t,n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.204*t,n*(1-.184))),o.add(new go.PathSegment(go.PathSegment.Line,.388*t,.632*n)),o.add(new go.PathSegment(go.PathSegment.Line,.388*t,1*n).close());var d=new go.PathFigure(.408*t,n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.408*t,.632*n)),d.add(new go.PathSegment(go.PathSegment.Line,.592*t,n*(1-.552))),d.add(new go.PathSegment(go.PathSegment.Line,.592*t,1*n).close());var h=new go.PathFigure(.612*t,n,!0);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,.612*t,n*(1-.552))),h.add(new go.PathSegment(go.PathSegment.Line,.796*t,.264*n)),h.add(new go.PathSegment(go.PathSegment.Line,.796*t,1*n).close());var S=new go.PathFigure(.816*t,n,!0);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Line,.816*t,.264*n)),S.add(new go.PathSegment(go.PathSegment.Line,1*t,n*(1-.184*5))),S.add(new go.PathSegment(go.PathSegment.Line,1*t,1*n).close()),g})),go.Shape.defineFigureGenerator("PC",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,0).close());var o=new go.PathFigure(.055*t,.07*n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.245*t,.07*n)),o.add(new go.PathSegment(go.PathSegment.Line,.245*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.055*t,.1*n).close());var d=new go.PathFigure(.055*t,.13*n,!0);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.245*t,.13*n)),d.add(new go.PathSegment(go.PathSegment.Line,.245*t,.16*n)),d.add(new go.PathSegment(go.PathSegment.Line,.055*t,.16*n).close());var h=new go.PathFigure(.055*t,.18*n,!0);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,.245*t,.18*n)),h.add(new go.PathSegment(go.PathSegment.Line,.245*t,.21*n)),h.add(new go.PathSegment(go.PathSegment.Line,.055*t,.21*n).close());var S=new go.PathFigure(1*t,0,!0);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Line,.4*t,0)),S.add(new go.PathSegment(go.PathSegment.Line,.4*t,.65*n)),S.add(new go.PathSegment(go.PathSegment.Line,1*t,.65*n).close()),g})),go.Shape.defineFigureGenerator("Plane",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.55*t,n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,.7*n)),a.add(new go.PathSegment(go.PathSegment.Line,.1*t,.475*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.35*t,.525*n,0,.4*n,.225*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.4*t,.475*n)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,.325*n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.325*n)),a.add(new go.PathSegment(go.PathSegment.Line,.85*t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Bezier,.9*t,.2*n,.975*t,0,t,.08*n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.55*t,n).close()),g})),go.Shape.defineFigureGenerator("Key",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(1*t,.5*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.4*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,.2*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,0,.65*n)),a.add(new go.PathSegment(go.PathSegment.Line,.15*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.8*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.65*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.65*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,.6*n)),a.add(new go.PathSegment(go.PathSegment.Line,.85*t,.575*n)),a.add(new go.PathSegment(go.PathSegment.Line,.9*t,.6*n).close()),a.add(new go.PathSegment(go.PathSegment.Move,.17*t,.425*n)),a.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*t,.5*n,.075*t,.075*n).close()),g})),go.Shape.defineFigureGenerator("FilmTape",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0,0,!1);g.add(a),a.add(new go.PathSegment(go.PathSegment.Arc,270,180,0*t,.3*t,.055*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.08*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.08*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.136*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.136*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.192*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.192*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.248*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.248*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.304*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.304*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.28),.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.28),1*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.336),1*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.336),.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.392),.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.392),1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.528*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.528*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.584*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.584*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.64*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.64*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.696*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,.696*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.752*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.752*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.728),.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.728),1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.864*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.864*t,.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.84),.95*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(.08+.84),1*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,1*n));var o=new go.PathFigure(0,0,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,1*t,0*n)),o.add(new go.PathSegment(go.PathSegment.Arc,270,-180,1*t,.3*t,.055*t)),o.add(new go.PathSegment(go.PathSegment.Line,1*t,1*n));var d=new go.PathFigure(.11*t,.1*n,!1);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.35133333*t,.1*n)),d.add(new go.PathSegment(go.PathSegment.Line,.35133333*t,.8*n)),d.add(new go.PathSegment(go.PathSegment.Line,.11*t,.8*n).close());var h=new go.PathFigure(.37933333*t,.1*n,!1);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,.62066666*t,.1*n)),h.add(new go.PathSegment(go.PathSegment.Line,.62066666*t,.8*n)),h.add(new go.PathSegment(go.PathSegment.Line,.37933333*t,.8*n).close());var S=new go.PathFigure(t*(.59266666+.056),.1*n,!1);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Line,t*(.83399999+.056),.1*n)),S.add(new go.PathSegment(go.PathSegment.Line,t*(.83399999+.056),.8*n)),S.add(new go.PathSegment(go.PathSegment.Line,t*(.59266666+.056),.8*n).close()),g})),go.Shape.defineFigureGenerator("FloppyDisk",(function(e,t,n){var g=new go.Geometry,a=8*m,o=new go.PathFigure(8,0,!1);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.86*t,0)),o.add(new go.PathSegment(go.PathSegment.Line,1*t,.14*n)),o.add(new go.PathSegment(go.PathSegment.Line,t,n-8)),o.add(new go.PathSegment(go.PathSegment.Bezier,t-8,n,t,n-a,t-a,n)),o.add(new go.PathSegment(go.PathSegment.Line,8,n)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,n-8,a,n,0,n-a)),o.add(new go.PathSegment(go.PathSegment.Line,0,8)),o.add(new go.PathSegment(go.PathSegment.Bezier,8,0,0,a,a,0).close());var d=new go.PathFigure(.83*t,0,!1);g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.83*t,.3*n)),d.add(new go.PathSegment(go.PathSegment.Line,.17*t,.3*n)),d.add(new go.PathSegment(go.PathSegment.Line,.17*t,0*n).close());var h=new go.PathFigure(.83*t,1*n,!1);g.add(h),h.add(new go.PathSegment(go.PathSegment.Line,.83*t,.5*n)),h.add(new go.PathSegment(go.PathSegment.Line,.17*t,.5*n)),h.add(new go.PathSegment(go.PathSegment.Line,.17*t,1*n).close());var S=new go.PathFigure(.78*t,.05*n,!1);return g.add(S),S.add(new go.PathSegment(go.PathSegment.Line,.66*t,.05*n)),S.add(new go.PathSegment(go.PathSegment.Line,.66*t,.25*n)),S.add(new go.PathSegment(go.PathSegment.Line,.78*t,.25*n).close()),g})),go.Shape.defineFigureGenerator("SpeechBubble",(function(e,t,n){var g=e?e.parameter1:NaN;(isNaN(g)||g<0)&&(g=15),g=Math.min(g,t/3);var a=(g=Math.min(g,n/3))*m,o=.8*n,d=new go.Geometry,h=new go.PathFigure(g,0,!0);return d.add(h),h.add(new go.PathSegment(go.PathSegment.Line,t-g,0)),h.add(new go.PathSegment(go.PathSegment.Bezier,t,g,t-a,0,t,a)),h.add(new go.PathSegment(go.PathSegment.Line,t,o-g)),h.add(new go.PathSegment(go.PathSegment.Bezier,t-g,o,t,o-a,t-a,o)),h.add(new go.PathSegment(go.PathSegment.Line,.7*t,o)),h.add(new go.PathSegment(go.PathSegment.Line,.7*t,n)),h.add(new go.PathSegment(go.PathSegment.Line,.55*t,o)),h.add(new go.PathSegment(go.PathSegment.Line,g,o)),h.add(new go.PathSegment(go.PathSegment.Bezier,0,o-g,a,o,0,o-a)),h.add(new go.PathSegment(go.PathSegment.Line,0,g)),h.add(new go.PathSegment(go.PathSegment.Bezier,g,0,0,a,a,0).close()),a>1?(d.spot1=new go.Spot(0,0,a,a),d.spot2=new go.Spot(1,.8,-a,-a)):(d.spot1=go.Spot.TopLeft,d.spot2=new go.Spot(1,.8)),d})),go.Shape.defineFigureGenerator("Repeat",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0*t,.45*n,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,.6*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.2*t,.45*n).close());var o=new go.PathFigure(1*t,.55*n,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.75*t,1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.5*t,.55*n)),o.add(new go.PathSegment(go.PathSegment.Line,.7*t,.55*n)),o.add(new go.PathSegment(go.PathSegment.Line,.7*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.4*t,.1*n)),o.add(new go.PathSegment(go.PathSegment.Line,.35*t,0*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,0*n)),o.add(new go.PathSegment(go.PathSegment.Line,.8*t,.55*n).close()),g})),go.Shape.defineFigureGenerator("Windows",(function(e,t,n){return(new go.Geometry).add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,t,0)).add(new go.PathSegment(go.PathSegment.Line,t,n)).add(new go.PathSegment(go.PathSegment.Line,0,n).close()).add(new go.PathSegment(go.PathSegment.Move,.4*t,.4*n)).add(new go.PathSegment(go.PathSegment.Line,.4*t,.8*n)).add(new go.PathSegment(go.PathSegment.Line,.9*t,.8*n)).add(new go.PathSegment(go.PathSegment.Line,.9*t,.4*n).close()).add(new go.PathSegment(go.PathSegment.Move,.2*t,.1*n)).add(new go.PathSegment(go.PathSegment.Line,.2*t,.6*n)).add(new go.PathSegment(go.PathSegment.Line,.7*t,.6*n)).add(new go.PathSegment(go.PathSegment.Line,.7*t,.1*n).close()).add(new go.PathSegment(go.PathSegment.Move,.1*t,.6*n)).add(new go.PathSegment(go.PathSegment.Line,.1*t,.9*n)).add(new go.PathSegment(go.PathSegment.Line,.5*t,.9*n)).add(new go.PathSegment(go.PathSegment.Line,.5*t,.6*n).close()))})),go.Shape.defineFigureGenerator("Terminal",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0*t,.1*n,!1);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,1*t,.1*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,.9*n)),a.add(new go.PathSegment(go.PathSegment.Line,0*t,.9*n).close());var o=new go.PathFigure(.1*t,.2*n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,.25*n)),o.add(new go.PathSegment(go.PathSegment.Line,.22*t,.285*n)),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,.32*n)),o.add(new go.PathSegment(go.PathSegment.Line,.1*t,.37*n)),o.add(new go.PathSegment(go.PathSegment.Line,.275*t,.32*n)),o.add(new go.PathSegment(go.PathSegment.Line,.275*t,.25*n).close());var d=new go.PathFigure(.28*t,.37*n,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.45*t,.37*n)),d.add(new go.PathSegment(go.PathSegment.Line,.45*t,.41*n)),d.add(new go.PathSegment(go.PathSegment.Line,.28*t,.41*n).close()),g})),go.Shape.defineFigureGenerator("Beaker",(function(e,t,n){var g=new go.Geometry,a=15*m,o=new go.PathFigure(.62*t,.475*n,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,t,n-15)),o.add(new go.PathSegment(go.PathSegment.Bezier,t-15,n,t,n-a,t-a,n)),o.add(new go.PathSegment(go.PathSegment.Line,15,n)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,n-15,a,n,0,n-a)),o.add(new go.PathSegment(go.PathSegment.Line,.38*t,.475*n)),o.add(new go.PathSegment(go.PathSegment.Line,.38*t,.03*n)),o.add(new go.PathSegment(go.PathSegment.Line,.36*t,0*n)),o.add(new go.PathSegment(go.PathSegment.Line,.64*t,0*n)),o.add(new go.PathSegment(go.PathSegment.Line,.62*t,.03*n).close()),a>1?(g.spot1=new go.Spot(0,0,a,a),g.spot2=new go.Spot(1,1,-a,-a)):(g.spot1=go.Spot.TopLeft,g.spot2=go.Spot.BottomRight),g})),go.Shape.defineFigureGenerator("Download",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0*t,1*n,!0);g.add(a);var o=.1/.3;a.add(new go.PathSegment(go.PathSegment.Line,1*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,.755*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,.93*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.64*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.61*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.39*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.36*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.07*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.245*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.66),.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.66),0*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.8),0*n)),a.add(new go.PathSegment(go.PathSegment.Line,0*t,n*(1-o)).close());var d=new go.PathFigure(.4*t,0*n,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.4*t,.44*n)),d.add(new go.PathSegment(go.PathSegment.Line,.26*t,.44*n)),d.add(new go.PathSegment(go.PathSegment.Line,.5*t,.66*n)),d.add(new go.PathSegment(go.PathSegment.Line,.74*t,.44*n)),d.add(new go.PathSegment(go.PathSegment.Line,.6*t,.44*n)),d.add(new go.PathSegment(go.PathSegment.Line,.6*t,0*n).close()),g})),go.Shape.defineFigureGenerator("Bin",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0*t,1*n,!0);g.add(a);var o=.1/.3;return a.add(new go.PathSegment(go.PathSegment.Line,1*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,.755*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,.93*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.64*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.61*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.39*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.36*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.07*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.245*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.66),.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.66),0*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.8),0*n)),a.add(new go.PathSegment(go.PathSegment.Line,0*t,n*(1-o)).close()),g})),go.Shape.defineFigureGenerator("Upload",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(0*t,1*n,!0);g.add(a);var o=.1/.3;a.add(new go.PathSegment(go.PathSegment.Line,1*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.8*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.66*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,.755*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,.93*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.64*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.61*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.39*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.36*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.07*t,n*(1-o))),a.add(new go.PathSegment(go.PathSegment.Line,.245*t,.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.66),.055*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.66),0*n)),a.add(new go.PathSegment(go.PathSegment.Line,t*(1-.8),0*n)),a.add(new go.PathSegment(go.PathSegment.Line,0*t,n*(1-o)).close());var d=new go.PathFigure(.5*t,0*n,!0);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.26*t,.25*n)),d.add(new go.PathSegment(go.PathSegment.Line,.4*t,.25*n)),d.add(new go.PathSegment(go.PathSegment.Line,.4*t,.63*n)),d.add(new go.PathSegment(go.PathSegment.Line,.6*t,.63*n)),d.add(new go.PathSegment(go.PathSegment.Line,.6*t,.25*n)),d.add(new go.PathSegment(go.PathSegment.Line,.74*t,.25*n).close()),g})),go.Shape.defineFigureGenerator("EmptyDrink",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.15*t,0*n,!1);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.85*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,1*n).close()),g})),go.Shape.defineFigureGenerator("Drink",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.15*t,0*n,!1);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.85*t,0*n)),a.add(new go.PathSegment(go.PathSegment.Line,.7*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.3*t,1*n).close());var o=new go.PathFigure(.235*t,.28*n,!0);return g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.765*t,.28*n)),o.add(new go.PathSegment(go.PathSegment.Line,.655*t,.97*n)),o.add(new go.PathSegment(go.PathSegment.Line,.345*t,.97*n).close()),g})),go.Shape.defineFigureGenerator("4Arrows",(function(e,t,n){var g=new go.Geometry,a=new go.PathFigure(.5*t,0*n,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,.55*t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,.55*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,1*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.65*n)),a.add(new go.PathSegment(go.PathSegment.Line,.75*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.55*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.55*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.65*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.5*t,1*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.75*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,.55*n)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,.65*n)),a.add(new go.PathSegment(go.PathSegment.Line,0*t,.5*n)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,.35*n)),a.add(new go.PathSegment(go.PathSegment.Line,.25*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.45*n)),a.add(new go.PathSegment(go.PathSegment.Line,.45*t,.25*n)),a.add(new go.PathSegment(go.PathSegment.Line,.35*t,.25*n).close()),g})),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")}}]);