25 lines
730 KiB
JavaScript
25 lines
730 KiB
JavaScript
!function(C,F,a){"use strict";function y(){this.el=[1,0,0,0,1,0,0,0,1]}function b(w){var s={};return{get:function(m){if(s[m]!==a)return s[m];var l;switch(m){case"WEBGL_depth_texture":l=w.getExtension("WEBGL_depth_texture")||w.getExtension("MOZ_WEBGL_depth_texture")||w.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":l=w.getExtension("EXT_texture_filter_anisotropic")||w.getExtension("MOZ_EXT_texture_filter_anisotropic")||w.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":l=w.getExtension("WEBGL_compressed_texture_s3tc")||w.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||w.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":l=w.getExtension("WEBGL_compressed_texture_pvrtc")||w.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;case"WEBGL_compressed_texture_etc1":l=w.getExtension("WEBGL_compressed_texture_etc1");break;default:l=w.getExtension(m)}return s[m]=l,l}}}function T(s,r,l){function w(){if(B!==a)return B;var V=r.get("EXT_texture_filter_anisotropic");return B=null!==V?s.getParameter(V.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function z(K){if("highp"===K){if(s.getShaderPrecisionFormat(s.VERTEX_SHADER,s.HIGH_FLOAT).precision>0&&s.getShaderPrecisionFormat(s.FRAGMENT_SHADER,s.HIGH_FLOAT).precision>0)return"highp";K="mediump"}return"mediump"===K&&s.getShaderPrecisionFormat(s.VERTEX_SHADER,s.MEDIUM_FLOAT).precision>0&&s.getShaderPrecisionFormat(s.FRAGMENT_SHADER,s.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}var B;l=l||{};var i="undefined"!=typeof WebGL2RenderingContext&&s instanceof WebGL2RenderingContext,n=l.precision!==a?l.precision:"highp",x=z(n);x!==n&&(console.warn("WebGL:",n,"not supported, using",x,"instead."),n=x);var h=l.logarithmicDepthBuffer===!0,y=s.getParameter(s.MAX_TEXTURE_IMAGE_UNITS),X=s.getParameter(s.MAX_VERTEX_TEXTURE_IMAGE_UNITS),V=s.getParameter(s.MAX_TEXTURE_SIZE),T=s.getParameter(s.MAX_CUBE_MAP_TEXTURE_SIZE),H=s.getParameter(s.MAX_VERTEX_ATTRIBS),m=s.getParameter(s.MAX_VERTEX_UNIFORM_VECTORS),L=s.getParameter(s.MAX_VARYING_VECTORS),N=s.getParameter(s.MAX_FRAGMENT_UNIFORM_VECTORS),J=X>0,Q=i||!!r.get("OES_texture_float"),A=J&&Q,Y=i?s.getParameter(s.MAX_SAMPLES):0;return{getMaxAnisotropy:w,getMaxPrecision:z,precision:n,logarithmicDepthBuffer:h,maxTextures:y,maxVertexTextures:X,maxTextureSize:V,maxCubemapSize:T,maxAttributes:H,maxVertexUniforms:m,maxVaryings:L,maxFragmentUniforms:N,vertexTextures:J,floatFragmentTextures:Q,floatVertexTextures:A,maxSamples:Y}}var D="ht";if(!C[D]){!function(){Date.now&&Date.prototype.getTime||(Date.now=function(){return(new Date).getTime()}),C.performance&&C.performance.now||function(){var P=Date.now();C.performance||(C.performance={}),C.performance.now=function(){return Date.now()-P}}();for(var n=Date.now(),A=16,o=["ms","moz","webkit","o"],G=0;G<o.length&&!C.requestAnimationFrame;++G)C.requestAnimationFrame=C[o[G]+"RequestAnimationFrame"],C.cancelAnimationFrame=C[o[G]+"CancelAnimationFrame"]||C[o[G]+"CancelRequestAnimationFrame"];C.requestAnimationFrame||(C.requestAnimationFrame=function(e){var K=Date.now(),H=A+n-K;return 0>H&&(H=0),n=K,C.setTimeout(function(){n=Date.now(),e(performance.now())},H)}),C.cancelAnimationFrame||(C.cancelAnimationFrame=function(u){return C.clearTimeout(u)}),F.assign===a&&(F.assign=function(N){if(N===a||null===N)throw new TypeError("Cannot convert undefined or null to object");for(var M=F(N),C=1;C<arguments.length;C++){var q=arguments[C];if(q!==a&&null!==q)for(var Z in q)F.prototype.hasOwnProperty.call(q,Z)&&(M[Z]=q[Z])}return M})}();var E=C.document,J=null,K=C[D]={},p=C[D+"config"],_=K.Default=p&&p.Default||{},e=K.Style=p&&p.Style||{},w=K.Attr=p&&p.Attr||{},l=K.Color=p&&p.Color||{},R=K.IsGetter=p&&p.IsGetter||{};!function(){var i=!1;try{var N=F.defineProperty({},"passive",{get:function(){i=!0}});C.addEventListener("test",N,N),C.removeEventListener("test",N,N)}catch(M){i=!1}_.passiveSupported=i}();var H,A,o,N,h=_.passiveSupported,m=_.eventListenerOptionsFalse=h?{passive:!1,capture:!1}:!1,n=_.eventListenerOptionsTrue=h?{passive:!1,capture:!0}:!0,W=function(N,U,H,j){N.addEventListener(U,H,j?n:m)},P=function(k,I,l,D){k.removeEventListener(I,l,D?n:m)},Q=Math,d=Q.round,Y=Q.floor,O=Q.ceil,s=Q.sqrt,t=Q.max,g=Q.min,x=Q.abs,L=Q.cos,Z=Q.acos,q=Q.sin,G=Q.pow,c=Q.asin,X=Q.PI,M=2*X,I=X/2,u=Q.tan,v=Q.atan2,B=Q.random,k=Q.log,j=!0,V=!1,z=C.parseInt||global.parseInt,r="2020-02-25",U=C.navigator?C.navigator.platform.indexOf("Win")>-1:!1,$=function(R){return R*R},f=C.setTimeout,i=C.clearTimeout,S=C.location,sn=C.navigator?C.navigator.userAgent.toLowerCase():"",Mf=function(O){return O.test(sn)},Xm=Mf(/msie/),Ng=Mf(/msie/)||Mf(/trident/),ed=Mf(/msie 10/),tr=Mf(/edge/),ro=Mf(/firefox/),si=Mf(/mac/),Gm=_.isTouchable===a?U?!1:E?"ontouchend"in E:!1:_.isTouchable,Qc="default",Fj="single",lb="multiple",jk="front",Pi="back",rg="left",cd="right",Gh="top",An="bottom",ps="center",jj="eye",gs="middle",Ro="east",gl="west",Ub="north",nh="none",eq="px",xq="absolute",un="border",qh="triangle",Ak="rect",hc="circle",eg="cylinder",gg="shape",cc="items",tj="normal",Jd="remove",Po="clear",np="width",_l="height",fj="ingroup",pj="check",Hg="uncheck",Nm="radio",Nk="radioOn",Kl="radioOff",Fq="points",Ei="values",Vp="series",Uk="body",El="label",$o="label2",zs="note",Mg="note2",zp="icons",kl="labelFont",Dk="labelColor",dd="labelSelectColor",jb="note.expanded",bk="note2.expanded",wg="edge.expanded",Sq="edge.points",kb="edge.type",hp="rotation",Km="hidden",cr="visible",Ld="tuv",Ch="no",Ll="draw",sr="select",ce="currentSubGraph",Wf="selectBackground",dr="autoMakeVisible",Pc="autoHideScrollBar",pp="scrollBarColor",Ib="scrollBarSize",xk="indent",Te="rowHeight",Nq="columnLineColor",Ik="rowLineColor",Sm="columnLineVisible",hh="rowLineVisible",Jc="visibleFunc",ph="expandIcon",He="collapseIcon",Hk="checkMode",Ai="sortFunc",Xe="editable",cs="batchEditable",Ah="tristate",Ko="asc",ls="desc",ai="position",Lk="elevation",vp="children",zj="translateX",Zl="translateY",zc="dataModel",wr="maxSize",op="state",Qp="shape3d",Qf="shape3d.resolution",Vo="shape3d.visible",Kq="shape3d.from.visible",Or="shape3d.to.visible",cg="shape3d.top.visible",Ok="shape3d.bottom.visible",Bm="repeat.uv.length",zi="serializeValue",Vg="deserializeValue",_d="centerUniform",dn="uniform",Rl="rgba(255,255,255,0)",Wh="style",Dr="attr",wn="field",qq="string",ud="boolean",ms="color",bm="int",Af="number",Rq="ew-resize",Td="ns-resize",ef="pointer",Ve="auto",Do="mousedown",Np="mousemove",Fg="mouseup",kr="mouseout",Hi="touchstart",ob="touchmove",Zr="touchend",bg="keydown",Qi="keyup",pm=["DOMMouseScroll","mousewheel"],yg=ro?pm[0]:pm[1],wq=Gm?[Hi,ob,Zr,bg,Qi,"keypress","input","contextmenu","compositionstart","compositionupdate","compositionend"]:[bg,Qi,"keypress","input",Do,Np,Fg,kr,yg,"wheel","contextmenu","mouseenter","mouseleave","mouseover","compositionstart","compositionupdate","compositionend"],Vn=J,mq=J,ip=J,Sp=Fg.length,Op=function(){ip&&(i(ip.timeout),ip=J)},cq=function(){ip&&Gd(ip.e,ip.info)};C.addEventListener&&(Gm||(W(C,kr,function(){Op()}),W(C,yg,function(){Ln()})),W(C,Qi,function(p){91===p.keyCode?qg={}:delete qg[p.keyCode]},!0),W(C,bg,function(B){qg[B.keyCode]=!0},!0),W(C,"blur",function(){qg={}}));var jh,Gn,ye,mr=0,kn=J,di=function(j,M){var m=f(function(){delete kn[m],Mb(kn)&&(kn=J),j()},M);return m},ns=J,Go=J,Ec={},Co={},ac={},ep={},wh={},qg={},kq={},jm={},Ki={},tp={},So=/.json$/,fr=/^data:image\/svg\+xml/,Oe={},Jg=[],vr={},vl=J,hj=J,nq=function(){},wj=function(){throw"Oops!"},Rr=[0,0,0],rm={x:0,y:0,width:0,height:0},se=J,Wi=J,wp=J,rn=function(D,U){Co[D]=U,U&&U.comps&&!U.uuid&&(U.uuid=K.Math.generateUUID()),rp[D]&&(U.cacheRule=rp[D],delete rp[D])},cb=function(x){Wi&&!x._72O&&(wp||(wp={}),wp[x._72O=go()]=x),jh!=J?hg()<.05&&N&&!Gn&&(Nh=Op):Nh=Bh},xb=function(y,k,K,D){Wi||(Wi={});var r=Wi[y];if(r){if(r.url===k)return;r.image?(r.image.onload=nq,r.image.onerror=nq):r.request&&(r.request.onload=nq,r.request.onerror=nq)}if(So.test(k)){var C=new sj;if(Wi[y]={request:C,url:k},k=_.beforeLoadURL(k),k.data){var Z=_.parse(k.data);wl(y,Z),_.handleImageLoaded(y,Z)}else{C.onload=function(){if(200===this.status||0===this.status){var S=_.parse(C.getResponseText());wl(y,S),_.handleImageLoaded(y,S)}else wl(y,_.handleUnfoundImage(y,k)||J)},C.onerror=function(){wl(y,_.handleUnfoundImage(y,k)||J)};var R={};R.url=encodeURI(k),R.sync=!1,C.send(R)}}else{var Z=new Image;Wi[y]={image:Z,url:k},/^data:image/.test(k)||(k=_.beforeLoadURL(k),k=_.appendTimeStamp(k),k=encodeURI(k),Z.crossOrigin=_.crossOrigin),_.convertImageSrc(k,function(T){Ng&&(k.toLowerCase().indexOf(".svg")>0||fr.test(k))?(E.body.appendChild(Z),Z.style.visibility="hidden",Z.onload=function(){f(function(){if(K&&(Z.width=K),D&&(Z.height=D),!Z.width||!Z.height){var $=Z.width||Z.clientWidth,c=Z.height||Z.clientHeight;Z.width=$,Z.height=c}_.handleImageLoaded(y,Z),wl(y,Z),E.body.removeChild(Z),Z.style.visibility=""},180)},Z.onerror=function(){wl(y,_.handleUnfoundImage(y,k)||J),E.body.removeChild(Z),Z.style.visibility=""}):(Z.onload=function(){K&&(Z.width=K),D&&(Z.height=D),_.handleImageLoaded(y,Z),wl(y,Z)},Z.onerror=function(){wl(y,_.handleUnfoundImage(y,k)||J)}),Z.src=T})}},wl=function(T,m){if(rn(T,m),delete Wi[T],Mb(Wi)&&(Wi=J,wp)){for(var D in wp){var E=wp[D];E._2O&&E._2O[T]&&(E.deleteTexture(T),delete E._2O[T]),E.invalidateAll&&E.invalidateAll(a,"imageLoaded",T),E.redraw&&E.redraw(),E.iv(),delete E._72O}wp=J}if(m&&wp)for(var D in wp){var E=wp[D];E.invalidateAll&&E.invalidateAll(a,"imageLoading",T),E.redraw&&E.redraw(),E.iv()}},eh=function(){return k=Q&&Date,function(){return C.performance&&C.performance.now?C.performance.now():Date.now()}}(),Hr=function(g,R,o){return{width:g,height:R,comps:Bl(o)?o:[o]}},Bi=function(P,X){return{type:hc,rect:[P,X,1.6,1.6],borderWidth:1,borderColor:hb,gradient:iq,gradientColor:hd,background:hb}},Ul=function(w,O){return Hr(16,16,{type:qh,rect:[4,4,10,8],background:w,rotation:O?1.57:3.14})},Ao=function(M,q){return Hr(16,16,{type:qh,rect:[4,4,8,7],background:M,rotation:q?3.14:0})},Cc=function(N){var E=N._orientation;return"horizontal"===E||"h"===E},zr=function(D,Q){var F=J||4,i=J||1,K=J||1;0>F?F=0:F>.25&&(F=.25);var l,G,H,f,w,t,W,n=.5,O=[],v=[],B=[],p=M/K,m=M/i,$=n-F;for(G=0;i>=G;G++)for(f=-X+G*m,t=L(f),w=q(f),l=0;K>=l;l++)H=l*p,W=$+F*t,O.push(L(H)*W,w*F,-q(H)*W),(A=[D,Q])&&v.push(l/K,1-G/i);for(G=0;i>G;G++){var V=G*(K+1),u=(G+1)*(K+1);for(l=0;K>l;l++)B.push(V+l,u+l+1,u+l,V+l,V+l+1,u+l+1),Bk.z=$m.z=[D,Q]}},nj=function(w){var d=2,h=0;for(var M in w)M.length===d&&z(M,32)===Pf&&(vl=hj=w[M]),h++;return h},ui=function(w,L,Q,v){return Q||(Q=Gm?5:3,Q/=v||1),{x:w-Q,y:L-Q,width:2*Q,height:2*Q}},zl=function(M,s,q,Q){var T=this;s||(s=Gm?5:3,q=20,Q=20);var N={x:M,y:s,width:q,height:Q};if(q)for(var i=0;q>i;i++)if(3===q)Q=20;else for(var G=0;Q>G;G++)T=C?C:q;var l={x:X,y:2*X};if(Cs(N,l)){var P=_l[0]+Gh[0]+Po[1]+Ko.length,Z=Km[0]+Ah[0]+Po[1]+Uk.length;ni[jj]=[T[P],T[Z]],T[P]=Kf[jj],T[Z]=Kf[Qp]}},yj=function(v){return(/ble$/.test(v)||/ed$/.test(v)||R[v]?"is":"get")+v.charAt(0).toUpperCase()+v.slice(1)},Kf=function(B){return"set"+B.charAt(0).toUpperCase()+B.slice(1)},tg=function(H){return typeof H===qq||H instanceof String},Zq=function(l){return typeof l===Af},Bh=function(W){return typeof W===ud},Dl=function(h){return h&&"object"==typeof h},Gl=function(M){return"function"==typeof M},Bl=function(T){return T instanceof Array},Cm=function(P){return P instanceof Sl},fk=function(f){return Bl(f)?new Sl(f):f},lm=function(O){return O instanceof qr},zm=function(t){return t instanceof mg},id=function(D){return D instanceof Xl},Nd=function(X,n){if(!(X instanceof K.Group))return!1;if(!n)return X.isExpanded();var W=n.getDataUI(X);return W&&W._88I?!0:!1},rh=function(_){return _ instanceof Ff},hs=function(N){return N&&"IFRAME"===N.tagName},Vd=function(i){return i==J||_.numberDigits==J?i:parseFloat(i.toFixed(_.numberDigits))},md=function($,X,M){var C,P=X.length;if(M)for(var g=0;M>g;g++)if(3===P)$.push(X[0]),$.push(X[1]),$.push(X[2]);else for(C=0;P>C;C++)$.push(X[C]);else if(3===P)$.push(X[0]),$.push(X[1]),$.push(X[2]);else for(C=0;P>C;C++)$.push(X[C])},Nb=function(a){return a?Dl(a)?a:{}:!1},Iq=function(I,G,L){var i,c=Dl(I)?I:I.prototype;for(i in G)L&&i in c?c[i]===a&&console.warn("class",c,"has own undefined property",i,", keep exist!"):c[i]=G[i];return I},Zo=function(h){return String.fromCharCode(h)},mh=function(t){for(var V,R=0,w="";R<t.length;R++)V=t[t.length-1-R],"%"===V?V="'":"a"===V?V='"':"]"===V&&(V="\\"),w+=Zo(V.charCodeAt(0)-1);return w},mb=function(U,B,y){U.superClass.constructor.apply(B,y)},Mb=function(Y){for(var K in Y)return!1;return!0},_r=function(v){return v?0===v.length:!0},th=function(){var t="";return[Hg[0],Ik[0],El[0]].forEach(function(X){t+=Kf(X).slice(3)}),dn=E&&E[t]||_d,function(R,j){return R===j?!0:R.x===j.x&&R.y===j.y&&R.width===j.width&&R.height===j.height}}(),yk=function(z,w,Z){return w>z?w:z>Z?Z:z},$g=function(I){return 0>I?-1:I>0?1:0},hg=function(){var P=1e4*q(Sp++);return P-Y(P)},_c=function(c,N,E){return Yb(c.x,c.y,N.x,N.y,E.x,E.y,E.x+E.width,E.y,!0)||Yb(c.x,c.y,N.x,N.y,E.x+E.width,E.y,E.x+E.width,E.y+E.height,!0)||Yb(c.x,c.y,N.x,N.y,E.x+E.width,E.y+E.height,E.x,E.y+E.height,!0)||Yb(c.x,c.y,N.x,N.y,E.x,E.y+E.height,E.x,E.y,!0)},Yb=function(K,P,i,Z,F,T,C,L,A){var U=(C-F)*(P-T)-(L-T)*(K-F),x=(L-T)*(i-K)-(C-F)*(Z-P);if(0!==x){var D=U/x,N=K+D*(i-K),u=P+D*(Z-P);return A&&(N+ab<g(K,i)||N-ab>t(K,i)||N+ab<g(F,C)||N-ab>t(F,C)||u+ab<g(P,Z)||u-ab>t(P,Z)||u+ab<g(T,L)||u-ab>t(T,L))?J:[N,u]}return J},Yg=function(D,R,p){if(D&&p)if(R){if(R===Wh)return D.getStyle(p);if(R===Dr)return D.getAttr(p);if(R===wn)return D[p]}else if(p=yj(p),D[p])return D[p]();return a},Og=function(n,M,L,l){if(n&&L)if(M){if(M===Wh)n.s(L,l);else if(M===Dr)n.a(L,l);else if(M===wn){var W=n[L];n[L]=l,n.fp("f:"+L,W,l)}}else L=Kf(L),n[L]&&n[L](l)},db=function(m,f,H){return f&&"top"!==f?"bottom"===f?{x:m.x,y:m.y,width:m.width,height:m.height*H}:"right"===f?{x:m.x,y:m.y,width:m.width*H,height:m.height}:"left"===f?{x:m.x+m.width*(1-H),y:m.y,width:m.width*H,height:m.height}:void 0:{x:m.x,y:m.y+m.height*(1-H),width:m.width,height:m.height*H}},vh=function(q,h,_,H,L){h&&ao(q,_,H,1,L,h)},mp=function(O,C,s,x){var d=1-O;return d*d*C+2*O*d*s+O*O*x},Bk=function(m,U,S,u,e){var L=1-m;return L*L*L*U+3*L*L*m*S+3*L*m*m*u+m*m*m*e},Cd=function(E){var X,g,A,v,G=0;return E.forEach(function(M){if(X=M.length,X>0)for(g=M[0],v=1;X>v;v++)A=M[v],G+=Kk(g,A),g=A}),G},vo=function(R,Z,n){var Y="__"+R,v=function(e){n.disabled||n["handle_"+R](e)};n[Y]||(n[Y]=v,W(Z,R,v))},Sf=function(f,M,b){var N="__"+f,d=b[N];d&&(P(M,f,d),delete b[N])},Bo=function(f,l){var u="_"+l;f[yj(l)]=function(){return this[u]},f[Kf(l)]=function(b){var y=this[u];this[u]=b,this.fp(l,y,b)}},Pn=function(D){return F.create(D)},Eq=function(Z){if(!Z.element){var J,m;(J=Z.textField)?m=_g(hk.TextField,J):(J=Z.textArea)?m=_g(hk.TextArea,J):(J=Z.button)?m=_g(hk.Button,J):(J=Z.comboBox)?m=_g(hk.ComboBox,J):(J=Z.checkBox)?m=_g(hk.CheckBox,J):(J=Z.radioButton)?m=_g(hk.RadioButton,J):(J=Z.slider)?m=_g(hk.Slider,J):(J=Z.colorPicker)?m=_g(hk.ColorPicker,J):(J=Z.image)&&(m=_g(hk.Image,J)),m&&(Z.element=m)}},Mm=function(n,R){var _=nl(n);return _._ht=R,_},nl=function(p,W){var A=E.createElement("div"),U=A.style;return A.tabIndex=-1,A.onkeydown=nm,U.msTouchAction=nh,Mr(A,J,0),Gm&&U.setProperty("-webkit-tap-highlight-color","rgba(0, 0, 0, 0)",J),p&&(U.overflow=Km),W&&cl(W,A),A},dp=function(S,u){var d=E.createElement("canvas"),B=d.style;return B.msTouchAction=nh,u||(B.pointerEvents=nh),Mr(d,J,0),S&&cl(S,d),d},Mr=function(Q,P,N){var j=Q.style;j.border=P?P+" solid 1px":0,j.outline=0,j.padding=N?"0 "+N+eq:0,kp(Q)},kp=function(L){var A=L.style;A.position=xq,A.margin=0,A.setProperty("box-sizing","border-box",J),A.setProperty("-moz-box-sizing","border-box",J)},If=function(q,F,L,c){c||(c=Kr),F!=J&&(q.width=F*c,q.style.width=F+eq),L!=J&&(q.height=L*c,q.style.height=L+eq)},cl=function(V,H,h){V.appendChild(H),h&&(H.style.position=xq)},Db=function(g,a){a.split||(a+="");for(var I,_=a.split("\n"),F=0,Z=_.length,G=0;Z>G;G++){var B=dc(g.font,_[G]);B.width>F&&(F=B.width),I||(I=B.height)}return g.ss=_,{width:F,height:I*Z}},kh=function(e,c,n,r,R,t){var P=c.length;if(1===P)gk(e,c[0],n,r,R);else for(var u=n.height/P,a={x:n.x,y:n.y,width:n.width,height:u},B=0;B<c.length;B++)t?Ap(e,c[B],r,R,a.x,a.y,a.width,a.height,t):gk(e,c[B],a,r,R),a.y+=u},gk=function(o,B,M,X,n){o.font=X?X:dm,o.fillStyle=n?n:sp,o.textAlign=ps,o.textBaseline=gs;var N,A;M?M.width===a?(N=M.x,A=M.y):(N=M.x+M.width/2,A=M.y+M.height/2):(N=0,A=0),o.fillText(B,d(N),d(A))},ad=function(y){y.getView&&(y=y.getView());var h=y.offsetWidth||y.scrollWidth;return!h&&y.style.width&&(h=z(y.style.width)),h},Ol=function(P){P.getView&&(P=P.getView());var V=P.offsetHeight||P.scrollHeight;return!V&&P.style.height&&(V=z(P.style.height)),V},tf=function(t,W,D){var Y=W[0].toUpperCase()+W.substring(1,W.length);t["webkit"+Y]=D,t["moz"+Y]=D,t["ms"+Y]=D,t["o"+Y]=D,t[W]=D},Xk=function(){var E=function(r){nm(r),r.stopPropagation()},U=function(C){nm(C)},P=Gm?[Hi]:[bg,Do];return function(v,F){var y=nl(),I=y.style;return I.backgroundColor=_.disabledBackground,v&&(I.backgroundImage="url("+v+")",I.backgroundPosition="50% 50%",I.backgroundRepeat="no-repeat no-repeat"),F===!1?P.forEach(function(v){W(y,v,U)}):P.forEach(function(n){W(y,n,E)}),y}}(),ir=function(h){var J=h.getContext("2d");return J.save(),J.lineCap=or,J.lineJoin=Xf,J},Nh=function($,B,M,g){ee($,B*Kr,M*Kr),g*=Kr,1!==g&&$.scale(g,g)},ee=function(e,V,G){e.translate(V,G)},sd=function(j,N){N&&j.rotate(N)},xm=function(o,t,q){t===a&&(t=1),q===a&&(q=1),(1!==t||1!==q)&&o.scale(t,q)},Pg=!1,Vi=function(h){var X=E.activeElement;if(E.activeElement!==h){X&&X.forceOnblur&&X.forceOnblur();for(var k=[],R=h.parentNode;R;)k.push([R,R.scrollLeft,R.scrollTop]),R=R.parentNode;if(!Pg){var I=[],g=[];try{for(var K=C.parent,r=C;K!==r;)I.push([K,K.scrollX,K.scrollY]),r=K,K=C.parent;var Q=C.frameElement;if(Q)for(var Y=Q.parentNode;Y;)g.push([Y,Y.scrollLeft,Y.scrollTop]),Y=Y.parentNode}catch(P){Pg=!0}}if(Gm)h.focus();else{var $=zq(),T=$.target;h.focus(),T.scrollLeft=$.left,T.scrollTop=$.top}k.forEach(function(R){R[0].scrollLeft=R[1],R[0].scrollTop=R[2]}),Pg||(I.forEach(function(n){n[0].scrollTo(n[1],n[2])}),g.forEach(function(R){R[0].scrollLeft=R[1],R[0].scrollTop=R[2]}))}},us=function(P){return P&&P.getView?P.getView():P},Rj=function(A,b,h,m,o){if(2===arguments.length&&(h=b.y,m=b.width,o=b.height,b=b.x),A.isSelfViewEvent)A.setX(b),A.setY(h),A.setWidth(m),A.setHeight(o);else{var H=us(A),W=H.style;if((E.fullscreenElement||E.mozFullScreenElement||E.webkitFullscreenElement||E.msFullscreenElement)!==H)b!==a&&(W.left=b+eq),h!==a&&(W.top=h+eq),m!==a&&(W.width=m+eq),o!==a&&(W.height=o+eq);else{var s=_.getWindowInfo();W.left=(b=s.left)+eq,W.top=(h=s.top)+eq,W.width=(m=s.width)+eq,W.height=(o=s.height)+eq}A.endEditing&&!Gm&&A.endEditing(),A.redraw&&A.redraw(),A.invalidate&&A.invalidate(),A.onLayouted&&A.onLayouted(b,h,m,o),A.fireViewEvent&&A.fireViewEvent("layout")}},ge=function(D){if(!D.touches)return D;var c=D.touches[0];return c?c:D.changedTouches[0]},To=function(L){return Gm?ge(L).target:L.target},og=function(M){_.popup&&_.popup.close(),_.popup=M},Si=J,$d=function(O){Si.handleWindowTouchMove(O)},af=function(N){Si.handleWindowTouchEnd(N),P(C,ob,$d),P(C,Zr,af),Si=J},Ig=function(C){Si.handleWindowMouseMove(C)},Nf=function(z){Si.handleWindowMouseUp(z),P(C,Np,Ig),P(C,Fg,Nf),Si=J},dl=function(u){return 1===xh(u)},bp=function(q,U){return U?U.keyCode===q:qg[q]},xg=function(Y){return xr(Y)&&bp(65,Y)},xj=function(c){return bp(46,c)||bp(8,c)},Fc=function(B){return function(x){return x?x.keyCode===B:qg[B]}},Pf=573,km=[65,83,68,87,37,38,39,40,32,13,27],Nr=Fc(km[0]),Rn=Fc(km[1]),Xi=Fc(km[2]),sq=Fc(km[3]),Ni=Fc(km[4]),Fr=Fc(km[5]),Yl=Fc(km[6]),Rh=Fc(km[7]),Mp=Fc(km[8]),ki=Fc(km[9]),kj=Fc(km[10]),Sr={65:1,83:1,68:1,87:1,37:1,38:1,39:1,40:1},Jo=[2,2,2,2,2,2,2,2,2,2,3,3,3,5,5,5,5,5,13,1409],ek=J,Zi=J,Vh=function(a,H){ek||(ek=dp()),If(ek,a,H,1);var A=ir(ek);return A.clearRect(0,0,a,H),A},Oo=function(){var U,a={};for(var I in C){var l=lb.length;if(I.length==l&&I[0]===lb[2]&&I[1]===nh[1]&&I[4]===lb[3]&&I[5]===lb[4]&&I.substr(l-2)===nh[1]+nh[2]){var G=C[I];for(var _ in G)_.length===l&&_.substr(0,3)===cd[3]+Jd[3]+sr[0]&&_.substr(l-2)===lb[0]+zs[3]&&(pm=G[_])}}return function(R){var A,Q=a[R];return Q||(U||(U=dp(),If(U,1,1,1)),A=U.getContext("2d"),A.clearRect(0,0,1,1),ao(A,0,0,1,1,R),Q=A.getImageData(0,0,1,1).data,Q=a[R]=[Q[0],Q[1],Q[2],Q[3]]),Q}}(),Qd=function(I){if(!tg(I))return I;var m=Oo(I);return m.CA||(m.CA=[m[0]/255,m[1]/255,m[2]/255,m[3]/255]),m.CA},Kc=function(h,y,Y,c,X){var o=dp();o.width=Y,o.height=c;var k=o.getContext("2d");k.drawImage(h,0,0,Y,c);try{for(var I=k.getImageData(0,0,Y,c),C=I.data,A=0,K=C.length;K>A;A+=4){var N=C[A+0],p=C[A+1],q=C[A+2],O=C[A+3];"override_a"===X?C[A+3]=255*y[3]:"override_rgb"===X?(C[A+0]=255*y[0],C[A+1]=255*y[1],C[A+2]=255*y[2]):"override"===X?(C[A+0]=255*y[0],C[A+1]=255*y[1],C[A+2]=255*y[2],C[A+3]=255*y[3]):(C[A+0]=y[0]*N,C[A+1]=y[1]*p,C[A+2]=y[2]*q,C[A+3]=y[3]*O)}k.putImageData(I,0,0)}catch(T){return h}return o},ni=function(s,y,n){return y&&(y="miter"===n?8*y+20:y+1,s&&Bd(s,y)),y},Tf=function(Z,g){if(g){var M=new Qq(g),o=Z.width/2,X=Z.height/2,E=Ih([M.tf(-o,-X),M.tf(o,-X),M.tf(o,X),M.tf(-o,X)]);return E.x+=Z.x+o,E.y+=Z.y+X,E}return Z},Qk=function(C,j,f,Y,E,w,W,i){Y*=Math.PI/180;var q={x:Math.cos(Y)*(C.x-W.x)/2+Math.sin(Y)*(C.y-W.y)/2,y:-Math.sin(Y)*(C.x-W.x)/2+Math.cos(Y)*(C.y-W.y)/2},v=Math.pow(q.x,2)/Math.pow(j,2)+Math.pow(q.y,2)/Math.pow(f,2);v>1&&(j*=Math.sqrt(v),f*=Math.sqrt(v));var h=(E==w?-1:1)*Math.sqrt((Math.pow(j,2)*Math.pow(f,2)-Math.pow(j,2)*Math.pow(q.y,2)-Math.pow(f,2)*Math.pow(q.x,2))/(Math.pow(j,2)*Math.pow(q.y,2)+Math.pow(f,2)*Math.pow(q.x,2)));isNaN(h)&&(h=0);var x={x:h*j*q.y/f,y:h*-f*q.x/j},U={x:(C.x+W.x)/2+Math.cos(Y)*x.x-Math.sin(Y)*x.y,y:(C.y+W.y)/2+Math.sin(Y)*x.x+Math.cos(Y)*x.y},o=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2))},O=function(y,E){return(y[0]*E[0]+y[1]*E[1])/(o(y)*o(E))},T=function(W,C){return(W[0]*C[1]<W[1]*C[0]?-1:1)*Math.acos(O(W,C))},m=T([1,0],[(q.x-x.x)/j,(q.y-x.y)/f]),Z=[(q.x-x.x)/j,(q.y-x.y)/f],L=[(-q.x-x.x)/j,(-q.y-x.y)/f],B=T(Z,L);O(Z,L)<=-1&&(B=Math.PI),O(Z,L)>=1&&(B=0);var O=j>f?j:f,d=j>f?1:j/f,y=j>f?f/j:1;if(null==i){var $={x:0,y:0,width:0,height:0};Bd($,O),$.x*=d,$.width*=d,$.y*=y,$.height*=y;var N=new Qq(Y);return $=Ih([N.tf($.x,$.y),N.tf($.x+$.width,$.y),N.tf($.x+$.width,$.y+$.height),N.tf($.x,$.y+$.height)]),$.x+=U.x,$.y+=U.y,[{x:$.x,y:$.y},{x:$.x+$.width,y:$.y},{x:$.x+$.width,y:$.y+$.height},{x:$.x,y:$.y+$.height}]}i.translate(U.x,U.y),i.rotate(Y),i.scale(d,y),i.arc(0,0,O,m,m+B,1-w),i.scale(1/d,1/y),i.rotate(-Y),i.translate(-U.x,-U.y)},df=function(o,H){o&&o.beginPath();for(var C,$,V,c=[],a=function(U){for(var r,J=/(\-{0,1}[\d\.]+)/gi,L=[];r=J.exec(U);)L.push(parseFloat(r[0]));return L},J=/([MmLlHhVvCcSsQqTtAa]{1}[\d\.,\s\-Zz]*)/gi,T={x:0,y:0};C=J.exec(H);){var K=C[0],e=K.substr(0,1);if("M"===e||"m"===e){for(var v=a(K),f=0;f<v.length;f+=2){var M=v[f],Q=v[f+1];"m"===e&&(M+=T.x,Q+=T.y),o&&o.moveTo(M,Q),c.push({x:M,y:Q}),T.x=M,T.y=Q}$=V=null}else if("H"===e||"h"===e){for(var v=a(K),f=0;f<v.length;f+=1){var M=v[f];"h"===e&&(M+=T.x),o&&o.lineTo(M,T.y),c.push({x:M,y:T.y}),T.x=M}$=V=null}else if("C"===e||"c"===e){for(var v=a(K),f=0;f<v.length;f+=6){var p=v[f],w=v[f+1],n=v[f+2],R=v[f+3],M=v[f+4],Q=v[f+5];"c"===e&&(p+=T.x,w+=T.y,n+=T.x,R+=T.y,M+=T.x,Q+=T.y),o&&o.bezierCurveTo(p,w,n,R,M,Q),c.push({x:p,y:w}),c.push({x:n,y:R}),c.push({x:M,y:Q}),T.x=M,T.y=Q}$=[p,w,n,R,M,Q],V=null}else if("S"===e||"s"===e){for(var v=a(K),f=0;f<v.length;f+=4){var p,w;$?(p=2*$[4]-$[2],w=2*$[5]-$[3]):(p=T.x,w=T.y);var n=v[f],R=v[f+1],M=v[f+2],Q=v[f+3];"s"===e&&(n+=T.x,R+=T.y,M+=T.x,Q+=T.y),o&&o.bezierCurveTo(p,w,n,R,M,Q),c.push({x:p,y:w}),c.push({x:n,y:R}),c.push({x:M,y:Q}),T.x=M,T.y=Q}$=[p,w,n,R,M,Q],V=null}else if("Q"===e||"q"===e){for(var v=a(K),f=0;f<v.length;f+=4){var p=v[f],w=v[f+1],M=v[f+2],Q=v[f+3];"q"===e&&(p+=T.x,w+=T.y,M+=T.x,Q+=T.y),o&&o.quadraticCurveTo(p,w,M,Q),c.push({x:p,y:w}),c.push({x:M,y:Q}),T.x=M,T.y=Q}$=null,V=[p,w,M,Q]}else if("T"===e||"t"===e){for(var v=a(K),f=0;f<v.length;f+=2){var p,w;V?(p=2*V[2]-V[0],w=2*V[3]-V[1]):(p=T.x,w=T.y);var M=v[f],Q=v[f+1];"t"===e&&(M+=T.x,Q+=T.y),o&&o.quadraticCurveTo(p,w,M,Q),c.push({x:p,y:w}),c.push({x:M,y:Q}),T.x=M,T.y=Q}$=null,V=[p,w,M,Q]}else if("V"===e||"v"===e){for(var v=a(K),f=0;f<v.length;f+=1){var Q=v[f];"v"===e&&(Q+=T.y),o&&o.lineTo(T.x,Q),c.push({x:T.x,y:Q}),T.y=Q}$=V=null}else if("L"===e||"l"===e){for(var v=a(K),f=0;f<v.length;f+=2){var M=v[f],Q=v[f+1];"l"===e&&(M+=T.x,Q+=T.y),o&&o.lineTo(M,Q),c.push({x:M,y:Q}),T.x=M,T.y=Q}$=V=null}else if("A"===e||"a"===e){for(var v=a(K),f=0;f<v.length;f+=7){var s=v[f],l=v[f+1],k=v[f+2],x=v[f+3],L=v[f+4],M=v[f+5],Q=v[f+6];"a"===e&&(M+=T.x,Q+=T.y);var i=Qk(T,s,l,k,x,L,{x:M,y:Q},o);i&&(c=c.concat(i)),T.x=M,T.y=Q}$=V=null}var q=K.substr(K.length-1);("z"===q||"Z"===q)&&o&&o.closePath()}return c},Dp=function(D,z){var H,L,F="L"===z[0],Z=z.length;D.save(),F?(D.transform(z[5],z[6],z[7],z[8],z[9],z[10]),H=D.createLinearGradient(z[1],z[2],z[3],z[4]),L=11):(D.transform(z[7],z[8],z[9],z[10],z[11],z[12]),H=D.createRadialGradient(z[1],z[2],z[3],z[4],z[5],z[6]),L=13);for(var y=D.compGray;Z>L;)H.addColorStop(z[L],y?_.toGrayColor(z[L+1]):z[L+1]),L+=2;D.fillStyle=H},$m=function(C,m){var X=C.s("shape.gradient.pack");if(X){for(var A=X.length,R=new Array(A),_=0;A>_;_++)R[_]=X[_];var S,V,v,D,e,h,i,n,z,F,y,O,f,Y="L"===R[0];S=Y?5:7,V=R[S],v=R[S+1],D=R[S+2],e=R[S+3],h=R[S+4],i=R[S+5],n=m[0],z=m[1],F=m[2],y=m[3],O=m[4],f=m[5],R[S]=n*V+F*v,R[S+1]=z*V+y*v,R[S+2]=n*D+F*e,R[S+3]=z*D+y*e,R[S+4]=n*h+F*i+O,R[S+5]=z*h+y*i+f,C.s("shape.gradient.pack",R)}},tm=function(t,I,H,W){var X=!1;if(t.beginPath?t.beginPath():X=!0,Cm(I)&&(I=I._as),Cm(H)&&(H=H._as),H&&H.length){for(var G,$,U,g,M=0,v=0,A=H.length;A>v;v++)G=H[v],1===G?($=I[M++],t.moveTo($.x,X?-$.y:$.y)):2===G?($=I[M++],t.lineTo($.x,X?-$.y:$.y)):3===G?($=I[M++],U=I[M++],t.quadraticCurveTo($.x,X?-$.y:$.y,U.x,X?-U.y:U.y)):4===G?($=I[M++],U=I[M++],g=I[M++],t.bezierCurveTo($.x,X?-$.y:$.y,U.x,X?-U.y:U.y,g.x,X?-g.y:g.y)):5===G&&t.closePath();W&&5!==G&&t.closePath()}else{var y,i,c,l=I.length;if(l>0){for(y=I[0],t.moveTo(y.x,X?-y.y:y.y),i=1;l>i;i++)c=I[i],t.lineTo(c.x,X?-c.y:c.y);W&&t.closePath()}}},Wc=function(d,C,k,F){if(Cm(d)&&(d=d._as),Cm(C)&&(C=C._as),C&&C.length){k=k||mo;for(var Y,M,G,$,v,a,n,l,Q=[],r=J,P=0,_=0,N=C.length;N>_;_++)if(Y=C[_],1===Y)Q.push(r=[]),r.push(d[P++]);else if(2===Y)r.push(d[P++]);else if(3===Y){for(M=r[r.length-1],G=d[P++],$=d[P++],a=1;k>a;a++)n=mp(a/k,M.x,G.x,$.x),l=mp(a/k,M.y,G.y,$.y),r.push({x:n,y:l,b:!0});r.push($)}else if(4===Y){for(M=r[r.length-1],G=d[P++],$=d[P++],v=d[P++],a=1;k>a;a++)n=Bk(a/k,M.x,G.x,$.x,v.x),l=Bk(a/k,M.y,G.y,$.y,v.y),r.push({x:n,y:l,b:!0});r.push(v)}else 5===Y&&r.push(r[0]);return F&&5!==Y&&r&&r.length>2&&r.push(r[0]),Q}return F&&d.length>2&&(d=d.slice(),d.push(d[0])),d?[d]:[]},Fe=function(t,G,v,d,P,R){var N,$,x,b=Oo(G),M=d,W=b[0],k=b[1],z=b[2];if(v){var y=Oo(v);N=y[0]-W,$=y[1]-k,x=y[2]-z}else N=255-W,$=255-k,x=255-z;for(R||(R=d>10?1:.5,R=1>P?g(R/P,2):R),t.save(),t.shadowOffsetX=0,t.shadowOffsetY=0,t.shadowBlur=0,t.shadowColor=0;(d-=R)>0;){var j=1-d/M,p=W+N*j,A=k+$*j,D=z+x*j;p=g(O(p),255),A=g(O(A),255),D=g(O(D),255),t.strokeStyle="rgb("+p+","+A+","+D+")",t.lineWidth=d,t.stroke()}t.restore()},gb=function(){var s={};return function(q,i){var N=q+"-"+i,G=s[N];if(G)return G;var y,u,h,T=Oo(q);return 0>i?(i=(100+i)/100,y=O(T[0]*i),u=O(T[1]*i),h=O(T[2]*i)):(i/=100,y=T[0],u=T[1],h=T[2],y+=(255-y)*i,u+=(255-u)*i,h+=(255-h)*i,y=g(O(y),255),u=g(O(u),255),h=g(O(h),255)),s[N]="rgb("+y+","+u+","+h+")"}}(),ao=function(v,y,F,t,M,o){o&&(v.fillStyle=o),v.beginPath(),v.rect(y,F,t,M),v.fill()},ts=function(j,h,k,c,u,n,Q){j.beginPath(),Io[h](j,k.x,k.y,k.width,k.height,c,u,n,Q)},Ep=function(A,h,O,V,s){var B=Io[O];A.fillStyle=B?B(A,h,V?V:hd,s.x,s.y,s.width,s.height):h},zo=function(a,U,x,S,Y,N){try{if(!U.tagName&&U.comps){U._cacheImage_||(U._cacheImage_={});var L;L="override"===S?"colors_override":"override_rgb"===S?"colors_override_rgb":"override_a"===S?"colors_override_a":"colors",U._cacheImage_[L]||(U._cacheImage_[L]={__count__:0});var r=U._cacheImage_[L][x];r||(U._cacheImage_[L].__count__>_.imageCacheThreshold&&(U._cacheImage_[L]={__count__:0}),r=K.Default.toCanvas(U,vj(U),Cj(U),null,Y,N,x,null,S),U._cacheImage_[L][x]=r,U._cacheImage_[L].__count__++),U=r}a.fillStyle=a.createPattern(U,"repeat")}catch(I){a.fillStyle="black"}},In=function(M,E,c,$,T,P,O){M.save(),M.translate(E,c),M.scale(1,O/P),M.arc(0,0,P,$,T),M.restore()},Rm=function(e,f,p,a,I,c,N,K){var g,A,l,$,J,j,d,Z,y,R,U;if(x(I)>2*X&&(I=2*X),J=O(x(I)/(X/4)),g=I/J,A=-g,l=-a,J>0){j=f+L(a)*c,d=p+q(-a)*N,K?e.lineTo(j,d):e.moveTo(j,d);for(var w=0;J>w;w++)l+=A,$=l-A/2,Z=f+L(l)*c,y=p+q(l)*N,R=f+L($)*(c/L(A/2)),U=p+q($)*(N/L(A/2)),e.quadraticCurveTo(R,U,Z,y)}},Sd=function(s,x,a,n,Z,L,W,Y,o){6===arguments.length&&(W=L,Y=L,o=L);var D=x+n,e=a+Z,E=Z>n?2*n:2*Z;L=E>L?L:E,W=E>W?W:E,Y=E>Y?Y:E,o=E>o?o:E;var T=.29*o,V=.58*o;s.moveTo(D,e-o),s.quadraticCurveTo(D,e-V,D-T,e-T),s.quadraticCurveTo(D-V,e,D-o,e),T=.29*Y,V=.58*Y,s.lineTo(x+Y,e),s.quadraticCurveTo(x+V,e,x+T,e-T),s.quadraticCurveTo(x,e-V,x,e-Y),T=.29*L,V=.58*L,s.lineTo(x,a+L),s.quadraticCurveTo(x,a+V,x+T,a+T),s.quadraticCurveTo(x+V,a,x+L,a),T=.29*W,V=.58*W,s.lineTo(D-W,a),s.quadraticCurveTo(D-V,a,D-T,a+T),s.quadraticCurveTo(D,a+V,D,a+W),s.lineTo(D,e-o)},Pm=function(l,b,L,R,o,e,W){b&&(L=d(L),R=d(R),W||(W=1),l.fillStyle=b,l.beginPath(),l.rect(L,R,W,e),l.rect(L,R,o,W),e-W>0&&l.rect(L,R+e-W,o,W),o-W>0&&l.rect(L+o-W,R,W,e),l.fill())},En=function(q,D,e,V){var k=V.x,X=V.y,u=V.width,Y=V.height;if(!(!D||!e||0>=u||0>=Y)){var I,W=ss(D),p=ys(D),G=e>0;1===e||-1===e?(q.fillStyle=G?W:p,q.beginPath(),q.rect(k,X,1,Y),q.rect(k,X,u,1),q.fill(),q.fillStyle=G?p:W,q.beginPath(),q.rect(k,X+Y-1,u,1),q.rect(k+u-1,X,1,Y),q.fill()):(e=g(x(e),g(u/2,Y/2)),I=q.createLinearGradient(k,X,k+e,X),I.addColorStop(0,G?W:p),I.addColorStop(1,D),q.fillStyle=I,q.beginPath(),q.moveTo(k,X),q.lineTo(k+e,X+e),q.lineTo(k+e,X+Y-e),q.lineTo(k,X+Y),q.lineTo(k,X),q.fill(),I=q.createLinearGradient(k,X,k,X+e),I.addColorStop(0,G?W:p),I.addColorStop(1,D),q.fillStyle=I,q.beginPath(),q.moveTo(k,X),q.lineTo(k+e,X+e),q.lineTo(k+u-e,X+e),q.lineTo(k+u,X),q.lineTo(k,X),q.fill(),I=q.createLinearGradient(k,X+Y,k,X+Y-e),I.addColorStop(0,G?p:W),I.addColorStop(1,D),q.fillStyle=I,q.beginPath(),q.moveTo(k,X+Y),q.lineTo(k+e,X+Y-e),q.lineTo(k+u-e,X+Y-e),q.lineTo(k+u,X+Y),q.lineTo(k,X+Y),q.fill(),I=q.createLinearGradient(k+u,X,k+u-e,X),I.addColorStop(0,G?p:W),I.addColorStop(1,D),q.fillStyle=I,q.beginPath(),q.moveTo(k+u,X),q.lineTo(k+u-e,X+e),q.lineTo(k+u-e,X+Y-e),q.lineTo(k+u,X+Y),q.lineTo(k+u,X),q.fill())}},$b=function(X,Y,c,m,a,D,d){var C=X.createLinearGradient(m,a,D,d);return C.addColorStop(0,c),C.addColorStop(1,Y),C},Oi=function(H,k,h,q,P,x,_){var U=H.createLinearGradient(q,P,x,_);return U.addColorStop(0,k),U.addColorStop(.5,h),U.addColorStop(1,k),U},Xp=function(e,w,j,D,$,C,q){var N=e.createLinearGradient(D,$,C,q);return N.addColorStop(0,w),N.addColorStop(1/3,j),N.addColorStop(2/3,w),N.addColorStop(1,j),N},ds=function(W,E,r,o,q,A,l,B,c){var K=W.createRadialGradient(o+A*B,q+l*c,g(A,l)/24,o+A/2,q+l/2,t(A,l)/2);return K.addColorStop(0,r),K.addColorStop(1,E),K},is=[0,-1,.22451398828979272,-.30901699437494734,.9510565162951535,-.30901699437494745,.3632712640026804,.11803398874989468,.5877852522924731,.8090169943749473,-1.1102230246251565e-16,.38196601125010515,-.587785252292473,.8090169943749475,-.3632712640026805,.1180339887498949,-.9510565162951536,-.3090169943749473,-.22451398828979285,-.30901699437494734],Io={polygon:function(D,O,S,P,u,z){(z==J||3>z)&&(z=6);for(var E,x,v=g(P,u)/2,k=O+P/2,r=S+u/2,p=0,s=2*X/z,B=0;z>B;B++)E=k+L(p)*v,x=r+q(p)*v,0===B?D.moveTo(E,x):D.lineTo(E,x),p+=s;D.closePath()},arc:function(y,P,$,R,u,G,c,x,L){G==J&&(G=X),c==J&&(c=M),x==J&&(x=!0);var v=P+R/2,p=$+u/2;
|
||
x&&y.moveTo(v,p),L?In(y,v,p,G,c,R/2,u/2):y.arc(v,p,g(R,u)/2,G,c),x&&y.closePath()},rect:function(O,P,r,e,J){O.rect(P,r,e,J)},circle:function(P,R,o,I,C){P.arc(R+I/2,o+C/2,g(I,C)/2,0,M,!0)},oval:function(n,j,F,d,X){In(n,j+d/2,F+X/2,0,M,d/2,X/2)},roundRect:function(a,H,D,s,S,r){r==J&&(r=g(g(s,S)/4,8)),Sd(a,H,D,s,S,r)},star:function(P,M,k,r,D){var i=2*r,K=2*D,c=M+r/2,H=k+D/2;P.moveTo(c-i/4,H-K/12),P.lineTo(M+.306*r,k+.579*D),P.lineTo(c-i/6,H+K/4),P.lineTo(M+r/2,k+.733*D),P.lineTo(c+i/6,H+K/4),P.lineTo(M+.693*r,k+.579*D),P.lineTo(c+i/4,H-K/12),P.lineTo(M+.611*r,k+.332*D),P.lineTo(c+0,H-K/4),P.lineTo(M+.388*r,k+.332*D),P.closePath()},pentagram:function(O,$,T,G,j){var _=.5*j,g=$+.5*G,P=T+_,x=.5257311121191336*G;x>_&&(x=_);var p=is,y=0;for(O.moveTo(g+x*p[y++],P+x*p[y++]);20>y;)O.lineTo(g+x*p[y++],P+x*p[y++]);O.closePath()},triangle:function(J,e,Q,R,L){J.moveTo(e+R/2,Q),J.lineTo(e+R,Q+L),J.lineTo(e,Q+L),J.closePath()},hexagon:function(r,G,z,Z,m){r.moveTo(G,z+m/2),r.lineTo(G+Z/4,z+m),r.lineTo(G+3*Z/4,+z+m),r.lineTo(G+Z,z+m/2),r.lineTo(G+3*Z/4,z),r.lineTo(G+Z/4,z),r.closePath()},pentagon:function(L,T,u,W,K){var Z=2*W,M=2*K,G=T+W/2,m=u+K/2;L.moveTo(G-Z/4,m-M/12),L.lineTo(G-Z/6,m+M/4),L.lineTo(G+Z/6,m+M/4),L.lineTo(G+Z/4,m-M/12),L.lineTo(G+0,m-M/4),L.closePath()},diamond:function(c,X,x,S,b){c.moveTo(X+S/2,x),c.lineTo(X,x+b/2),c.lineTo(X+S/2,x+b),c.lineTo(X+S,x+b/2),c.closePath()},rightTriangle:function(v,m,n,t,P){v.moveTo(m,n),v.lineTo(m+t,n+P),v.lineTo(m,n+P),v.closePath()},parallelogram:function(C,A,X,O,m){var V=O/4;C.moveTo(A+V,X),C.lineTo(A+O,X),C.lineTo(A+O-V,X+m),C.lineTo(A,X+m),C.closePath()},trapezoid:function(N,t,e,U,W){var s=U/4;N.moveTo(t+s,e),N.lineTo(t+U-s,e),N.lineTo(t+U,e+W),N.lineTo(t,e+W),N.closePath()},"linear.southwest":function(Z,x,R,r,U,s,A){return $b(Z,x,R,r,U+A,r+s,U)},"linear.southeast":function(L,z,_,s,H,J,r){return $b(L,z,_,s+J,H+r,s,H)},"linear.northwest":function(w,g,b,f,G,d,N){return $b(w,g,b,f,G,f+d,G+N)},"linear.northeast":function(s,X,v,k,m,l,c){return $b(s,X,v,k+l,m,k,m+c)},"linear.north":function(E,G,b,e,M,l,W){return $b(E,G,b,e,M,e,M+W)},"linear.south":function(v,b,D,l,$,V,H){return $b(v,b,D,l,$+H,l,$)},"linear.west":function(S,E,m,Z,B,c){return $b(S,E,m,Z,B,Z+c,B)},"linear.east":function(k,z,w,h,T,B){return $b(k,z,w,h+B,T,h,T)},"radial.center":function(f,E,w,I,Z,j,R){return ds(f,E,w,I,Z,j,R,.5,.5)},"radial.southwest":function(f,B,v,Q,x,l,J){return ds(f,B,v,Q,x,l,J,.25,.75)},"radial.southeast":function(F,D,_,X,O,S,s){return ds(F,D,_,X,O,S,s,.75,.75)},"radial.northwest":function(d,n,K,D,E,B,h){return ds(d,n,K,D,E,B,h,.25,.25)},"radial.northeast":function(N,x,X,y,D,t,n){return ds(N,x,X,y,D,t,n,.75,.25)},"radial.north":function(K,i,d,t,H,k,R){return ds(K,i,d,t,H,k,R,.5,.25)},"radial.south":function(Q,H,G,O,d,A,V){return ds(Q,H,G,O,d,A,V,.5,.75)},"radial.west":function(F,f,S,y,P,p,u){return ds(F,f,S,y,P,p,u,.25,.5)},"radial.east":function(G,X,W,e,U,E,O){return ds(G,X,W,e,U,E,O,.75,.5)},"spread.horizontal":function(N,z,b,v,O,R){return Oi(N,z,b,v,O,v+R,O)},"spread.vertical":function(s,E,R,v,I,m,J){return Oi(s,E,R,v,I,v,I+J)},"spread.diagonal":function(d,M,e,Q,l,G,D){return Oi(d,M,e,Q+G,l,Q,l+D)},"spread.antidiagonal":function(D,j,F,u,A,V,P){return Oi(D,j,F,u,A,u+V,A+P)},"spread.north":function(T,J,g,k,Y,w,d){return Xp(T,J,g,k,Y-d/4,k,Y+d+d/4)},"spread.south":function(M,L,m,A,T,B,p){return Xp(M,m,L,A,T-p/4,A,T+p+p/4)},"spread.west":function(A,d,S,s,v,V){return Xp(A,d,S,s-V/4,v,s+V+V/4,v)},"spread.east":function(H,d,v,r,w,D){return Xp(H,v,d,r-D/4,w,r+D+D/4,w)}},Xn=function(s,n,V){return new Qq(s).tf(n,V)},Ie=function(Z){var O=Z.touches[0],L=Z.touches[1],P=O.clientX,n=O.clientY,u=L.clientX,F=L.clientY;return s((P-u)*(P-u)+(n-F)*(n-F))},bb=(function(){for(var q=0,O=ls.split(""),g=0;g<O.length;g++)q=10*z(O[g])+q;return zr(C[Pf.toString(8*g)+El.substr(g)+3],C[Pf.toString(8*g)+El.substr(g)+4]),q}(),function(w,v,U){for(var d=0;d<U.size();d++){var F=U.get(d);w.co(F)&&v.add(F)}for(d=0;d<U.size();d++)F=U.get(d),bb(w,v,F._children)}),cj=function(s,p,Y){for(var _=0;_<Y.size();_++){var q=Y.get(Y.size()-1-_);s.co(q)&&p.add(q)}for(_=0;_<Y.size();_++)q=Y.get(_),cj(s,p,q._children)},Dj=function(X,R,e){for(var J=!1,p=0;p<e.size();p++){var t=e.get(p);X.co(t)?J&&R.add(t):J=1}for(p=0;p<e.size();p++)t=e.get(p),Dj(X,R,t._children)},pi=function(g,k,X){for(var z=!1,s=0;s<X.size();s++){var O=X.get(X.size()-1-s);g.co(O)?z&&k.add(O):z=!0}for(s=0;s<X.size();s++)O=X.get(s),pi(g,k,O._children)},yd=_.moveDatas=function(n,K,A,R){var k=R==J;if(0!==K||0!==A||!k&&0!==R){var T=!0,i=[];if(n.forEach(function(f){T&&(f._69O||id(f)||rh(f))&&(T=!1)}),T)i=n;else{var H={},W={};n.forEach(function(e){H[e._id]=!0});var z={},h=function(D){var G=D._id;return H[G]?(i.push(D),z[G]=!0):z[G]=!1},c=function(Q){var j=Q._id;if(W[j])return h(Q);var X=z[j];if(X!==a)return X;var H=Q._parent;if(H&&(rh(H)||id(H))&&c(H))return z[j]=!0;var Y=Q._host;return Y&&(W[j]=j,X=c(Y),W[j]=a,X)?z[j]=!0:h(Q)};n.forEach(function(T){c(T)})}i.forEach(function(y){if(lm(y))k?y.translate(K,A):y.translate3d(K,A,R);else{var $=y.s(Sq);if(!$||$.isEmpty())return;var u=new Sl;$.each(function(X){X=Ej(X),k?(X.x+=K,X.y+=A):(X.x+=K,X.y+=R,X.e==J?X.e=A:X.e+=A),u.add(X)}),y.s(Sq,u)}})}},of=function(){function k(s,n){return n===s.substring(0,n.length)?!0:!1}function J(R){return parseFloat(R)||0}function c(G,b){if(b==a&&(b=new nn),k(G,"matrix3d")){var o=G.substring(9,G.length-1).split(",");o=o.map(J),b.fromArray(o)}else if(k(G,"matrix")){var o=G.substring(7,G.length-1).split(",");o=o.map(J),b.el[0]=o[0],b.el[1]=o[1],b.el[2]=0,b.el[3]=0,b.el[4]=o[2],b.el[5]=o[3],b.el[6]=0,b.el[7]=0,b.el[8]=0,b.el[9]=0,b.el[10]=1,b.el[11]=0,b.el[12]=o[4],b.el[13]=o[5],b.el[14]=0,b.el[15]=1}return b}function y(K,b){b==a&&(b=new Le);var e=K.split(/\s+/);return e=e.map(J),b.set(e[0]||0,e[1]||0,e[2]||0),b}var r,d,t,$,Y,p=function(j,C){r||(r=new nn,d=new Le,t=new nn,$=new nn,Y=new nn),C==a&&(C=new nn);var f=getComputedStyle(j);f.transform&&"none"!==f.transform&&(c(f.transform,r),y(f.transformOrigin,d),$.setPosition(d),d.negate(),Y.setPosition(d),(Ng||"preserve-3d"!==f.transformStyle)&&(r.el[8]=0,r.el[9]=0,r.el[10]=1,r.el[11]=0),C.multiplyMatrices(Y,C),C.multiplyMatrices(r,C),C.multiplyMatrices($,C)),!Ng&&f.perspective&&"none"!==f.perspective&&(t.el[11]=-1/J(f.perspective),y(f.perspectiveOrigin,d),$.setPosition(d),d.negate(),Y.setPosition(d),C.multiplyMatrices(Y,C),C.multiplyMatrices(t,C),C.multiplyMatrices($,C));for(var z=j.offsetParent,W=j.offsetLeft,G=j.offsetTop,o=j.parentElement;o&&o!==z;){var x=getComputedStyle(o);if("none"!==x.transform||"none"!==x.perspective)break;o=o.parentElement}return o==a&&j!==j.ownerDocument.documentElement&&"fixed"!==f.position&&(o=j.ownerDocument.documentElement),z!=a&&z!==o&&(W-=o.offsetLeft,G-=o.offsetTop),d.set(W,G,0),$.setPosition(d),C.multiplyMatrices($,C),o&&p(o,C),C};return function(T,k){var G=T.parentElement;if(G){var F=G.updateAppendMatrix;if(F){delete G.updateAppendMatrix;var Q=new nn;p(G,Q);var m=new nn;m.getInverse(Q),G._matrixAppend=m,G._maxrixPreAppend=Q}return k?G._matrixAppend:G._maxrixPreAppend}}}(),yc=function(l,D){for(;l&&!l.hasOwnProperty(D);)l=F.getPrototypeOf(l);return l&&F.getOwnPropertyDescriptor(l,D)},ne=F.getPrototypeOf?function(S,R,y){var k=yc(R,y);k&&F.defineProperty(S,y,k)}:function(o,V,h){o[h]=V[h]},tk={1:29,2:30,3:31,4:32,5:33,6:26,7:27,8:28,9:21,10:22,11:23,12:24,13:25,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:9,22:10,23:11,24:12,25:13,26:6,27:7,28:8,29:1,30:2,31:3,32:4,33:5,34:36,35:37,36:34,37:35,38:54,39:55,40:52,41:53,42:50,43:51,44:49,50:42,51:43,52:40,53:41,54:38,55:39},aj=function(){var N={1:function(E,f){return{x:E.x-f.width/2,y:E.y-f.height/2}},2:function(C,R){return{x:C.x+R.width/2,y:C.y-R.height/2}},3:function(q,Z){return{x:q.x+q.width/2,y:q.y-Z.height/2}},4:function(B,d){return{x:B.x+B.width-d.width/2,y:B.y-d.height/2}},5:function(D,$){return{x:D.x+D.width+$.width/2,y:D.y-$.height/2}},6:function(K){return{x:K.x,y:K.y}},7:function(N){return{x:N.x+N.width/2,y:N.y}},8:function(l){return{x:l.x+l.width,y:l.y}},9:function(G,z){return{x:G.x-z.width/2,y:G.y+z.height/2}},10:function(n,D){return{x:n.x+D.width/2,y:n.y+D.height/2}},11:function(O,M){return{x:O.x+O.width/2,y:O.y+M.height/2}},12:function(D,t){return{x:D.x-t.width/2+D.width,y:D.y+t.height/2}},13:function(K,M){return{x:K.x+K.width+M.width/2,y:K.y+M.height/2}},14:function(w,H){return{x:w.x-H.width/2,y:w.y+w.height/2}},15:function(X){return{x:X.x,y:X.y+X.height/2}},16:function(w,B){return{x:w.x+B.width/2,y:w.y+w.height/2}},17:function(o){return{x:o.x+o.width/2,y:o.y+o.height/2}},18:function(w,F){return{x:w.x+w.width-F.width/2,y:w.y+w.height/2}},19:function(o){return{x:o.x+o.width,y:o.y+o.height/2}},20:function(F,Z){return{x:F.x+F.width+Z.width/2,y:F.y+F.height/2}},21:function(a,P){return{x:a.x-P.width/2,y:a.y+a.height-P.height/2}},22:function(j,M){return{x:j.x+M.width/2,y:j.y+j.height-M.height/2}},23:function(_,z){return{x:_.x+_.width/2,y:_.y+_.height-z.height/2}},24:function(V,h){return{x:V.x+V.width-h.width/2,y:V.y+V.height-h.height/2}},25:function(z,E){return{x:z.x+z.width+E.width/2,y:z.y+z.height-E.height/2}},26:function(B){return{x:B.x,y:B.y+B.height}},27:function(s){return{x:s.x+s.width/2,y:s.y+s.height}},28:function(u){return{x:u.x+u.width,y:u.y+u.height}},29:function(Z,E){return{x:Z.x-E.width/2,y:Z.y+Z.height+E.height/2}},30:function(v,n){return{x:v.x+n.width/2,y:v.y+v.height+n.height/2}},31:function(i,X){return{x:i.x+i.width/2,y:i.y+i.height+X.height/2}},32:function(T,e){return{x:T.x+T.width-e.width/2,y:T.y+T.height+e.height/2}},33:function(C,L){return{x:C.x+C.width+L.width/2,y:C.y+C.height+L.height/2}},34:function(t,Z){return{x:t.x,y:t.y-Z.height/2}},35:function(d,a){return{x:d.x+d.width,y:d.y-a.height/2}},36:function(V,H){return{x:V.x,y:V.y+V.height+H.height/2}},37:function(Q,_){return{x:Q.x+Q.width,y:Q.y+Q.height+_.height/2}},38:function(N,z){return{x:N.x+N.width/4,y:N.y-z.height/2}},39:function(d,t){return{x:d.x+3*d.width/4,y:d.y-t.height/2}},40:function(s){return{x:s.x+s.width/4,y:s.y}},41:function(G){return{x:G.x+3*G.width/4,y:G.y}},42:function(Z,B){return{x:Z.x+Z.width/4,y:Z.y+B.height/2}},43:function(M,Y){return{x:M.x+3*M.width/4,y:M.y+Y.height/2}},44:function(m,h){return{x:m.x+m.width/2,y:m.y+m.height/2-h.height/2}},45:function(F){return{x:F.x+F.width/4,y:F.y+F.height/2}},46:function(N,o){return{x:N.x+N.width/2-o.width/2,y:N.y+N.height/2}},47:function(q,k){return{x:q.x+q.width/2+k.width/2,y:q.y+q.height/2}},48:function(f){return{x:f.x+3*f.width/4,y:f.y+f.height/2}},49:function(g,Z){return{x:g.x+g.width/2,y:g.y+g.height/2+Z.height/2}},50:function(w,D){return{x:w.x+w.width/4,y:w.y+w.height-D.height/2}},51:function(r,u){return{x:r.x+3*r.width/4,y:r.y+r.height-u.height/2}},52:function(E){return{x:E.x+E.width/4,y:E.y+E.height}},53:function(T){return{x:T.x+3*T.width/4,y:T.y+T.height}},54:function(f,L){return{x:f.x+f.width/4,y:f.y+f.height+L.height/2}},55:function(N,X){return{x:N.x+3*N.width/4,y:N.y+N.height+X.height/2}}};return nj(C)?function(r,v,j){return N[r](v,j?j:rm)}:void 0}();Iq(l,{highlight:"#1ABC9C",label:"#000",labelSelect:"#FFF",transparent:"rgba(0,0,0,0.35)",titleBackground:"#2C3E50",titleIconBackground:"#868686",headerBackground:"#ECF0F1",headerIconBackground:"#868686",headerSeparator:"#868686",headerLine:"#D9D9D9",background:"#FFF",disabledBackground:"rgba(255,255,255,0.65)",toolTipBackground:"#FFFFE0",rectSelectBorder:"#45C4F9",rectSelectBackground:"rgba(0,0,0,0.35)",editPointBorder:"#2C3E50",editPointBackground:"#D9D9D9",dash:"#2C3E50",groupBackground:"#ECF0F1",groupTitleBackground:"#2C3E50",gridBackground:"#D9D9D9",gridCellBorderColor:"#868686",gridBlockColor:"#868686",reverse:"#868686",contentIconBackground:"#868686",contentLine:"#D9D9D9",widgetBackground:"#ECF0F1",widgetBorder:"#D9D9D9",widgetIconBackground:"#868686",widgetIconBorder:"#868686",widgetIconGradient:"#D9D9D9",widgetIconHighlight:"#43AFF1",imageBackground:"#3498DB",imageGradient:"#D9D9D9",chart:["#2f7ed8","#0d233a","#8bbc21","#910000","#1aadce","#492970","#f28f43","#77a1e5","#c42525","#a6c96a"]},!0);var Je=l.reverse,_o=l.transparent,yp=l.rectSelectBackground,ll=l.dash,Od=l.titleBackground,Gc=l.titleIconBackground,Rp=l.headerBackground,Yf=l.headerIconBackground,Yr=l.headerSeparator,me=l.headerLine,Dm=l.contentIconBackground,eb=l.contentLine,td=(l.widgetIconHighlight,l.widgetIconBorder),hb=(l.widgetIconGradient,l.imageBackground),hd=l.imageGradient,fl=l.highlight,lh=l.label,Lc=l.labelSelect;if(r&&!C.shutAlert1){var Hj=new Date,Mi=r.split("-"),hn=new Date(Hj.getFullYear(),Hj.getMonth(),Hj.getDate()),r=new Date(z(Mi[0],10),z(Mi[1],10)-1,z(Mi[2],10)),Kn=hn.getTime(),Ue=r.getTime(),oc=D+"_try",rd=C.alert;try{var pe=C.localStorage;if(pe&&rd)if(Ue>Kn&&1728e6>Ue-Kn){var li=(Ue-Kn)/864e5;pe&&pe[oc]!=li&&(pe[oc]=li,C.htWillExpire?rd(C.htWillExpire.replace("{{day}}",li)):rd("HT for Web free trial license will expire in "+li+" days, please apply for a new license!"))}else Kn>=Ue&&(C.htExpired?rd(C.htExpired):rd("Your free trial of HT for Web has expired!")),pe&&delete pe[oc]}catch(Df){}}Math.sign===a&&(Math.sign=function(M){return 0>M?-1:M>0?1:+M});var jf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Tl={encode:function(G,J){var o,P,Q,W,n,q,j,c="",Y=0;for(G=Tl._utf8_encode(G);Y<G.length;)o=G.charCodeAt(Y++),P=G.charCodeAt(Y++),Q=G.charCodeAt(Y++),W=o>>2,n=(3&o)<<4|P>>4,q=(15&P)<<2|Q>>6,j=63&Q,isNaN(P)?q=j=64:isNaN(Q)&&(j=64),c=c+J.charAt(W)+J.charAt(n)+J.charAt(q)+J.charAt(j);return c},decode:function(m,c){var k,A,d,q,y,s,$,L="",M=0;for(m=m.replace(/[^A-Za-z0-9\+\/\=]/g,"");M<m.length;)q=c.indexOf(m.charAt(M++)),y=c.indexOf(m.charAt(M++)),s=c.indexOf(m.charAt(M++)),$=c.indexOf(m.charAt(M++)),k=q<<2|y>>4,A=(15&y)<<4|s>>2,d=(3&s)<<6|$,L+=String.fromCharCode(k),64!=s&&(L+=String.fromCharCode(A)),64!=$&&(L+=String.fromCharCode(d));return L=Tl._utf8_decode(L)},_utf8_encode:function(t){t=t.replace(/\r\n/g,"\n");for(var h="",z=0;z<t.length;z++){var c=t.charCodeAt(z);128>c?h+=String.fromCharCode(c):c>127&&2048>c?(h+=String.fromCharCode(192|c>>6),h+=String.fromCharCode(128|63&c)):(h+=String.fromCharCode(224|c>>12),h+=String.fromCharCode(128|63&c>>6),h+=String.fromCharCode(128|63&c))}return h},_utf8_decode:function(N){for(var $="",V=0,s=0,b=0,j=0;V<N.length;)s=N.charCodeAt(V),128>s?($+=String.fromCharCode(s),V++):s>191&&224>s?(b=N.charCodeAt(V+1),$+=String.fromCharCode((31&s)<<6|63&b),V+=2):(b=N.charCodeAt(V+1),j=N.charCodeAt(V+2),$+=String.fromCharCode((15&s)<<12|(63&b)<<6|63&j),V+=3);return $}};K.Math={generateUUID:function(){for(var _=[],h=0;256>h;h++)_[h]=(16>h?"0":"")+h.toString(16).toUpperCase();return function(){var $=0|4294967295*Math.random(),Y=0|4294967295*Math.random(),m=0|4294967295*Math.random(),y=0|4294967295*Math.random();return _[255&$]+_[255&$>>8]+_[255&$>>16]+_[255&$>>24]+"-"+_[255&Y]+_[255&Y>>8]+"-"+_[64|15&Y>>16]+_[255&Y>>24]+"-"+_[128|63&m]+_[255&m>>8]+"-"+_[255&m>>16]+_[255&m>>24]+_[255&y]+_[255&y>>8]+_[255&y>>16]+_[255&y>>24]}}(),clamp:function(Y,i,V){return Math.max(i,Math.min(V,Y))},generateIncreasingID:function(){var E=0;return function(){return++E}}(),encodeBase64:function(q,A){return Tl.encode(q,A||jf)},decodeBase64:function(I,H){return Tl.decode(I,H||jf)},randomArray:function(T,c){c=c||T.length;for(var h=c-1;h>0;h--){var f=Math.floor(Math.random()*(h+1)),q=T[h];T[h]=T[f],T[f]=q}return T}};var Tp=K.Matrix=K.Math.Matrix2d=function($,G,X,c,i){this.setFromTransform($,G,X,c,i)},Qq=Tp;Tp.prototype={},Tp.prototype.constructor=Tp,Tp.prototype.set=function(t,M,C,N,m,s){return this.a=t,this.b=M,this.c=C,this.d=N,this.tx=m,this.ty=s,this},Tp.prototype.setFromTransform=function(D,B,g,x,E){var i=this;if(D===a)return i.a=1,i.b=0,i.c=0,i.d=1,i.tx=0,i.ty=0,void 0;D=D||0;var F=q(D),u=L(D);return x=x||1,E=E||1,i.a=u*x,i.b=F*x,i.c=-F*E,i.d=u*E,i.tx=B||0,i.ty=g||0,i},Tp.prototype.apply=function(X,b){b=b||new ld;var t=X.x,q=X.y;return b.x=this.a*t+this.c*q+this.tx,b.y=this.b*t+this.d*q+this.ty,b},Tp.prototype.applyInverse=function(m,H){H=H||new ld;var $=1/(this.a*this.d+this.c*-this.b),V=m.x,U=m.y;return H.x=this.d*$*V+-this.c*$*U+(this.ty*this.c-this.tx*this.d)*$,H.y=this.a*$*U+-this.b*$*V+(-this.ty*this.a+this.tx*this.b)*$,H},Tp.prototype.translate=function(c,h){return this.tx+=c,this.ty+=h,this},Tp.prototype.scale=function(U,b){return this.a*=U,this.d*=b,this.c*=U,this.b*=b,this.tx*=U,this.ty*=b,this},Tp.prototype.rotate=function(R){var u=Math.cos(R),w=Math.sin(R),U=this.a,Y=this.c,q=this.tx;return this.a=U*u-this.b*w,this.b=U*w+this.b*u,this.c=Y*u-this.d*w,this.d=Y*w+this.d*u,this.tx=q*u-this.ty*w,this.ty=q*w+this.ty*u,this},Tp.prototype.appendTranslate=function(s,H){return this.tx+=this.a*s+this.c*H,this.ty+=this.b*s+this.d*H,this},Tp.prototype.appendScale=function(n,Y){return this.a*=n,this.d*=Y,this.c*=Y,this.b*=n,this},Tp.prototype.appendRotate=function(M){if(!M)return this;var u=Math.cos(M),p=Math.sin(M),y=this.a,V=this.b;return this.a=y*u+this.c*p,this.b=V*u+this.d*p,this.c=-y*p+this.c*u,this.d=-V*p+this.d*u,this},Tp.prototype.append=function(B){var n=this.a,o=this.b,x=this.c,p=this.d;return this.a=B.a*n+B.b*x,this.b=B.a*o+B.b*p,this.c=B.c*n+B.d*x,this.d=B.c*o+B.d*p,this.tx=B.tx*n+B.ty*x+this.tx,this.ty=B.tx*o+B.ty*p+this.ty,this},Tp.prototype.setTransform=function(s,M,I,D,x,J,S,n,u){var U,Z,c,T,o,k,t,i,h,G;return o=Math.sin(S),k=Math.cos(S),t=Math.cos(u),i=Math.sin(u),h=-Math.sin(n),G=Math.cos(n),U=k*x,Z=o*x,c=-o*J,T=k*J,this.a=t*U+i*c,this.b=t*Z+i*T,this.c=h*U+G*c,this.d=h*Z+G*T,this.tx=s+(I*U+D*c),this.ty=M+(I*Z+D*T),this},Tp.prototype.prepend=function(x){var R=this.tx;if(1!==x.a||0!==x.b||0!==x.c||1!==x.d){var C=this.a,j=this.c;this.a=C*x.a+this.b*x.c,this.b=C*x.b+this.b*x.d,this.c=j*x.a+this.d*x.c,this.d=j*x.b+this.d*x.d}return this.tx=R*x.a+this.ty*x.c+x.tx,this.ty=R*x.b+this.ty*x.d+x.ty,this},Tp.prototype.transform=Tp.prototype.prepend,Tp.prototype.invert=function(){var _=this.a,n=this.b,x=this.c,J=this.d,k=this.tx,v=_*J-n*x;return this.a=J/v,this.b=-n/v,this.c=-x/v,this.d=_/v,this.tx=(x*this.ty-J*k)/v,this.ty=-(_*this.ty-n*k)/v,this},Tp.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},Tp.prototype.clone=function(){var T=new Tp;return T.a=this.a,T.b=this.b,T.c=this.c,T.d=this.d,T.tx=this.tx,T.ty=this.ty,T},Tp.prototype.copy=function(C){return C.a=this.a,C.b=this.b,C.c=this.c,C.d=this.d,C.tx=this.tx,C.ty=this.ty,C},Tp.prototype.tf=function(m,k){1===arguments.length&&(k=m.y,m=m.x);var H=this;return{x:H.a*m+H.c*k+H.tx,y:H.b*m+H.d*k+H.ty}},Tp.prototype.tfi=function(C,d){1===arguments.length&&(d=C.y,C=C.x);var W=this,Z=1/(W.a*W.d+W.c*-W.b);return{x:W.d*Z*C+-W.c*Z*d+(W.ty*W.c-W.tx*W.d)*Z,y:W.a*Z*d+-W.b*Z*C+(-W.ty*W.a+W.tx*W.b)*Z}},Tp.IDENTITY=new Tp,Tp.TEMP_MATRIX=new Tp;var fo=K.Math.Quaternion=function(z,D,L,P){this.set(z,D,L,P)};F.assign(fo.prototype,{set:function(K,k,c,W){var N=this;return N._x=K||0,N._y=k||0,N._z=c||0,N._w=W!==a?W:1,N},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(R){var E=this;return E._x=R._x,E._y=R._y,E._z=R._z,E._w=R._w,E},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this},dot:function(G){return this._x*G._x+this._y*G._y+this._z*G._z+this._w*G._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var z=this.length();return 0===z?(this._x=0,this._y=0,this._z=0,this._w=1):(z=1/z,this._x=this._x*z,this._y=this._y*z,this._z=this._z*z,this._w=this._w*z),this},fromArray:function(V,E){E===a&&(E=0);var t=this;return t._x=V[E],t._y=V[E+1],t._z=V[E+2],t._w=V[E+3],this},slerp:function(S,F){if(0===F)return this;if(1===F)return this.copy(S);var G=this._x,h=this._y,E=this._z,L=this._w,l=L*S._w+G*S._x+h*S._y+E*S._z;if(0>l?(this._w=-S._w,this._x=-S._x,this._y=-S._y,this._z=-S._z,l=-l):this.copy(S),l>=1)return this._w=L,this._x=G,this._y=h,this._z=E,this;var Z=Math.sqrt(1-l*l);if(Math.abs(Z)<.001)return this._w=.5*(L+this._w),this._x=.5*(G+this._x),this._y=.5*(h+this._y),this._z=.5*(E+this._z),this;var V=Math.atan2(Z,l),x=Math.sin((1-F)*V)/Z,a=Math.sin(F*V)/Z;return this._w=L*x+this._w*a,this._x=G*x+this._x*a,this._y=h*x+this._y*a,this._z=E*x+this._z*a,this},setFromAxisAngle:function(X,q){var e=q/2,w=Math.sin(e);return this._x=X.x*w,this._y=X.y*w,this._z=X.z*w,this._w=Math.cos(e),this},setFromEuler:function(L){var b=L._x,Z=L._y,a=L._z,t=L._order,g=Math.cos,U=Math.sin,B=g(b/2),E=g(Z/2),P=g(a/2),h=U(b/2),v=U(Z/2),X=U(a/2);return"XYZ"===t?(this._x=h*E*P+B*v*X,this._y=B*v*P-h*E*X,this._z=B*E*X+h*v*P,this._w=B*E*P-h*v*X):"YXZ"===t?(this._x=h*E*P+B*v*X,this._y=B*v*P-h*E*X,this._z=B*E*X-h*v*P,this._w=B*E*P+h*v*X):"ZXY"===t?(this._x=h*E*P-B*v*X,this._y=B*v*P+h*E*X,this._z=B*E*X+h*v*P,this._w=B*E*P-h*v*X):"ZYX"===t?(this._x=h*E*P-B*v*X,this._y=B*v*P+h*E*X,this._z=B*E*X-h*v*P,this._w=B*E*P+h*v*X):"YZX"===t?(this._x=h*E*P+B*v*X,this._y=B*v*P+h*E*X,this._z=B*E*X-h*v*P,this._w=B*E*P-h*v*X):"XZY"===t&&(this._x=h*E*P-B*v*X,this._y=B*v*P-h*E*X,this._z=B*E*X+h*v*P,this._w=B*E*P+h*v*X),this},setFromRotationMatrix:function(s){var E,x=s.el,N=x[0],q=x[4],Y=x[8],c=x[1],P=x[5],F=x[9],m=x[2],k=x[6],j=x[10],Q=N+P+j;return Q>0?(E=.5/Math.sqrt(Q+1),this._w=.25/E,this._x=(k-F)*E,this._y=(Y-m)*E,this._z=(c-q)*E):N>P&&N>j?(E=2*Math.sqrt(1+N-P-j),this._w=(k-F)/E,this._x=.25*E,this._y=(q+c)/E,this._z=(Y+m)/E):P>j?(E=2*Math.sqrt(1+P-N-j),this._w=(Y-m)/E,this._x=(q+c)/E,this._y=.25*E,this._z=(F+k)/E):(E=2*Math.sqrt(1+j-N-P),this._w=(c-q)/E,this._x=(Y+m)/E,this._y=(F+k)/E,this._z=.25*E),this},setFromToVectors:function(){var l,j;return function(w,B){return l===a&&(l=new Le),j=w.dot(B)+1,1e-7>j?(j=0,Math.abs(w.x)>Math.abs(w.z)?l.set(-w.y,w.x,0):l.set(0,-w.z,w.y)):l.crossVectors(w,B),this._x=l.x,this._y=l.y,this._z=l.z,this._w=j,this.normalize()}}(),setFromUnitVectors:function(){var x,E,Z=1e-6;return function(l,u){return x===a&&(x=new Le),E=l.dot(u)+1,Z>E?(E=0,Math.abs(l.x)>Math.abs(l.z)?x.set(-l.y,l.x,0):x.set(0,-l.z,l.y)):x.crossVectors(l,u),this._x=x.x,this._y=x.y,this._z=x.z,this._w=E,this.normalize()}}(),multiply:function(Q){return this.multiplyQuaternions(this,Q)},premultiply:function(X){return this.multiplyQuaternions(X,this)},multiplyQuaternions:function(g,$){var f=g._x,v=g._y,F=g._z,G=g._w,S=$._x,Q=$._y,M=$._z,p=$._w;return this._x=f*p+G*S+v*M-F*Q,this._y=v*p+G*Q+F*S-f*M,this._z=F*p+G*M+f*Q-v*S,this._w=G*p-f*S-v*Q-F*M,this}});var ul=K.Math.Vector4=function(T,C,g,j){this.x=T||0,this.y=C||0,this.z=g||0,this.w=j!==a?j:1};F.assign(ul.prototype,{isVector4:!0,set:function(K,B,f,c){return this.x=K,this.y=B,this.z=f,this.w=c,this},setScalar:function(C){return this.x=C,this.y=C,this.z=C,this.w=C,this},setX:function(U){return this.x=U,this},setY:function(H){return this.y=H,this},setZ:function(q){return this.z=q,this},setW:function(E){return this.w=E,this},setComponent:function(y,t){switch(y){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+y)}return this},getComponent:function(q){switch(q){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+q)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(Z){return this.x=Z.x,this.y=Z.y,this.z=Z.z,this.w=Z.w!==a?Z.w:1,this},add:function(P,d){return d!==a?this.addVectors(P,d):(this.x+=P.x,this.y+=P.y,this.z+=P.z,this.w+=P.w,this)},addScalar:function(K){return this.x+=K,this.y+=K,this.z+=K,this.w+=K,this},addVectors:function(_,F){return this.x=_.x+F.x,this.y=_.y+F.y,this.z=_.z+F.z,this.w=_.w+F.w,this},addScaledVector:function(i,X){return this.x+=i.x*X,this.y+=i.y*X,this.z+=i.z*X,this.w+=i.w*X,this},sub:function(p,j){return j!==a?this.subVectors(p,j):(this.x-=p.x,this.y-=p.y,this.z-=p.z,this.w-=p.w,this)},subScalar:function(d){return this.x-=d,this.y-=d,this.z-=d,this.w-=d,this},subVectors:function(Z,G){return this.x=Z.x-G.x,this.y=Z.y-G.y,this.z=Z.z-G.z,this.w=Z.w-G.w,this},multiplyScalar:function(p){return this.x*=p,this.y*=p,this.z*=p,this.w*=p,this},applyMatrix4:function(i){var X=this.x,N=this.y,J=this.z,O=this.w,p=i.el;return this.x=p[0]*X+p[4]*N+p[8]*J+p[12]*O,this.y=p[1]*X+p[5]*N+p[9]*J+p[13]*O,this.z=p[2]*X+p[6]*N+p[10]*J+p[14]*O,this.w=p[3]*X+p[7]*N+p[11]*J+p[15]*O,this},divideScalar:function(P){return this.multiplyScalar(1/P)},setAxisAngleFromQuaternion:function(h){this.w=2*Math.acos(h.w);var o=Math.sqrt(1-h.w*h.w);return 1e-4>o?(this.x=1,this.y=0,this.z=0):(this.x=h.x/o,this.y=h.y/o,this.z=h.z/o),this},setAxisAngleFromRotationMatrix:function(Y){var a,I,z,b,y=.01,U=.1,t=Y.el,F=t[0],B=t[4],v=t[8],u=t[1],e=t[5],_=t[9],C=t[2],f=t[6],H=t[10];if(Math.abs(B-u)<y&&Math.abs(v-C)<y&&Math.abs(_-f)<y){if(Math.abs(B+u)<U&&Math.abs(v+C)<U&&Math.abs(_+f)<U&&Math.abs(F+e+H-3)<U)return this.set(1,0,0,0),this;a=Math.PI;var c=(F+1)/2,x=(e+1)/2,K=(H+1)/2,O=(B+u)/4,r=(v+C)/4,h=(_+f)/4;return c>x&&c>K?y>c?(I=0,z=.707106781,b=.707106781):(I=Math.sqrt(c),z=O/I,b=r/I):x>K?y>x?(I=.707106781,z=0,b=.707106781):(z=Math.sqrt(x),I=O/z,b=h/z):y>K?(I=.707106781,z=.707106781,b=0):(b=Math.sqrt(K),I=r/b,z=h/b),this.set(I,z,b,a),this}var G=Math.sqrt((f-_)*(f-_)+(v-C)*(v-C)+(u-B)*(u-B));return Math.abs(G)<.001&&(G=1),this.x=(f-_)/G,this.y=(v-C)/G,this.z=(u-B)/G,this.w=Math.acos((F+e+H-1)/2),this},min:function(E){return this.x=Math.min(this.x,E.x),this.y=Math.min(this.y,E.y),this.z=Math.min(this.z,E.z),this.w=Math.min(this.w,E.w),this},max:function(N){return this.x=Math.max(this.x,N.x),this.y=Math.max(this.y,N.y),this.z=Math.max(this.z,N.z),this.w=Math.max(this.w,N.w),this},clamp:function(H,z){return this.x=Math.max(H.x,Math.min(z.x,this.x)),this.y=Math.max(H.y,Math.min(z.y,this.y)),this.z=Math.max(H.z,Math.min(z.z,this.z)),this.w=Math.max(H.w,Math.min(z.w,this.w)),this},clampScalar:function(){var S,_;return function(T,t){return S===a&&(S=new ul,_=new ul),S.set(T,T,T,T),_.set(t,t,t,t),this.clamp(S,_)}}(),clampLength:function(k,o){var N=this.length();return this.divideScalar(N||1).multiplyScalar(Math.max(k,Math.min(o,N)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(Y){return this.x*Y.x+this.y*Y.y+this.z*Y.z+this.w*Y.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(E){return this.normalize().multiplyScalar(E)},lerp:function(H,I){return this.x+=(H.x-this.x)*I,this.y+=(H.y-this.y)*I,this.z+=(H.z-this.z)*I,this.w+=(H.w-this.w)*I,this},lerpVectors:function(F,y,L){return this.subVectors(y,F).multiplyScalar(L).add(F)},equals:function(H){return H.x===this.x&&H.y===this.y&&H.z===this.z&&H.w===this.w},fromArray:function(r,t){return t===a&&(t=0),this.x=r[t],this.y=r[t+1],this.z=r[t+2],this.w=r[t+3],this},toArray:function($,L){return $===a&&($=[]),L===a&&(L=0),$[L]=this.x,$[L+1]=this.y,$[L+2]=this.z,$[L+3]=this.w,$},fromBufferAttribute:function(X,W){return this.x=X.getX(W),this.y=X.getY(W),this.z=X.getZ(W),this.w=X.getW(W),this}});var Le=K.Math.Vector3=function(n,_,w){n===a?(this.x=0,this.y=0,this.z=0):"object"==typeof n?this.copy(n):this.set(n,_==a?n:_,w==a?n:w)};F.assign(Le.prototype,{set:function(c,I,x){return this.x=c,this.y=I,this.z=x,this},equals:function(c){return c&&this.x===c.x&&this.y===c.y&&this.z===c.z},setScalar:function(D){return this.x=D,this.y=D,this.z=D,this},setX:function(x){return this.x=x,this},setY:function(F){return this.y=F,this},setZ:function(t){return this.z=t,this},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(x){return x.x===a?(this.x=x[0],this.y=x[1],this.z=x[2]):(this.x=x.x,this.y=x.y,this.z=x.z),this},add:function(_){return this.x+=_.x,this.y+=_.y,this.z+=_.z,this},addScalar:function(G){return this.x+=G,this.y+=G,this.z+=G,this},addVectors:function(M,H){return this.x=M.x+H.x,this.y=M.y+H.y,this.z=M.z+H.z,this},addScaledVector:function(c,N){return this.x+=c.x*N,this.y+=c.y*N,this.z+=c.z*N,this},sub:function(f){return this.x-=f.x,this.y-=f.y,this.z-=f.z,this},subScalar:function(m){return this.x-=m,this.y-=m,this.z-=m,this},subVectors:function(e,S){return this.x=e.x-S.x,this.y=e.y-S.y,this.z=e.z-S.z,this},multiply:function(G){return this.x*=G.x,this.y*=G.y,this.z*=G.z,this},multiplyScalar:function(o){return this.x*=o,this.y*=o,this.z*=o,this},distanceTo:function(_){return Math.sqrt(this.distanceToSquared(_))},distanceToSquared:function(r){var H=this.x-r.x,M=this.y-r.y,L=this.z-r.z;return H*H+M*M+L*L},distanceToSquared2:function(o){var T=this.x-o[0],v=this.y-o[1],D=this.z-o[2];return T*T+v*v+D*D},multiplyVectors:function(M,H){return this.x=M.x*H.x,this.y=M.y*H.y,this.z=M.z*H.z,this},transformDirection:function(e){var L=this.x,a=this.y,G=this.z,h=e.el;return this.x=h[0]*L+h[4]*a+h[8]*G,this.y=h[1]*L+h[5]*a+h[9]*G,this.z=h[2]*L+h[6]*a+h[10]*G,this.normalize()},applyEuler:function(){var n=new fo;return function(B){return this.applyQuaternion(n.setFromEuler(B))}}(),applyQuaternion:function(y){var W=this.x,s=this.y,T=this.z,p=y._x,N=y._y,g=y._z,w=y._w,f=w*W+N*T-g*s,i=w*s+g*W-p*T,$=w*T+p*s-N*W,I=-p*W-N*s-g*T;return this.x=f*w+I*-p+i*-g-$*-N,this.y=i*w+I*-N+$*-p-f*-g,this.z=$*w+I*-g+f*-N-i*-p,this},applyMatrix4:function(W){var T=this.x,e=this.y,h=this.z,i=W.el,Z=1/(i[3]*T+i[7]*e+i[11]*h+i[15]);return this.x=(i[0]*T+i[4]*e+i[8]*h+i[12])*Z,this.y=(i[1]*T+i[5]*e+i[9]*h+i[13])*Z,this.z=(i[2]*T+i[6]*e+i[10]*h+i[14])*Z,this},applyMatrix3:function(W){var p=this.x,w=this.y,Y=this.z,G=W.el;return this.x=G[0]*p+G[3]*w+G[6]*Y,this.y=G[1]*p+G[4]*w+G[7]*Y,this.z=G[2]*p+G[5]*w+G[8]*Y,this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},reflect:function(){var _=new Le;return function(D){return this.sub(_.copy(D).multiplyScalar(2*this.dot(D)))}}(),dot:function(E){return this.x*E.x+this.y*E.y+this.z*E.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){var d=this.length();return d?this.multiplyScalar(1/d):this},setLength:function(L){return this.normalize().multiplyScalar(L)},fromArray:function(m,Q){return Q===a&&(Q=0),this.x=m[Q],this.y=m[Q+1],this.z=m[Q+2],this},toArray:function(R,r){return R===a&&(R=[0,0,0]),r===a&&(r=0),R[r]=this.x,R[r+1]=this.y,R[r+2]=this.z,R},cross:function(o){return this.crossVectors(this,o)},angleTo:function($){var E=this.dot($)/Math.sqrt(this.lengthSq()*$.lengthSq());return E>1||-1>E?0:Math.acos(E)},lerpVectors:function(O,s,I){return this.subVectors(s,O).multiplyScalar(I).add(O)},crossVectors:function(I,F){var D=I.x,W=I.y,m=I.z,Z=F.x,G=F.y,t=F.z;return this.x=W*t-m*G,this.y=m*Z-D*t,this.z=D*G-W*Z,this},min:function(x){return this.x=Math.min(this.x,x.x),this.y=Math.min(this.y,x.y),this.z=Math.min(this.z,x.z),this},max:function(L){return this.x=Math.max(this.x,L.x),this.y=Math.max(this.y,L.y),this.z=Math.max(this.z,L.z),this},setFromMatrixPosition:function(F){return this.setFromMatrixColumn(F,3)
|
||
},setFromMatrixScale:function(W){var j=this.setFromMatrixColumn(W,0).length(),u=this.setFromMatrixColumn(W,1).length(),I=this.setFromMatrixColumn(W,2).length();return this.x=j,this.y=u,this.z=I,this},setFromMatrixColumn:function(O,e){return this.fromArray(O.el,4*e)}});var ld=K.Math.Vector2=function(n,P,p){"object"==typeof n&&(n.x!=a?(P=n.y,n=n.x,p=n.e):(p=n[2],P=n[1],n=n[0])),this.set(n||0,P||0,p)};ld.prototype={},ld.prototype.constructor=ld,F.defineProperties(ld.prototype,{width:{get:function(){return this.x},set:function(n){this.x=n}},height:{get:function(){return this.y},set:function(U){this.y=U}}}),ld.prototype.clone=function(){return new ld(this.x,this.y,this.e)},ld.prototype.copy=function(w){return this.set(w.x,w.y,w.e),this},ld.prototype.equals=function(s){return s.x===this.x&&s.y===this.y},ld.prototype.set=function(q,E,k){return this.x=q||0,this.y=E||(0!==E?this.x:0),k!=a&&(this.e=k),this},ld.prototype.setScalar=function(M){return this.x=M,this.y=M,this},ld.prototype.setX=function(f){return this.x=f||0,this},ld.prototype.setY=function(V){return this.y=V||0,this},ld.prototype.add=function(H){return this.x+=H.x,this.y+=H.y,this},ld.prototype.addVectors=function(m,Y){return this.x=m.x+Y.x,this.y=m.y+Y.y,this},ld.prototype.addScalar=function(C){return this.x+=C,this.y+=C,this},ld.prototype.addScaledVector=function(G,g){return this.x+=G.x*g,this.y+=G.y*g,this},ld.prototype.sub=function(Q){return this.x-=Q.x,this.y-=Q.y,this},ld.prototype.subScalar=function(t){return this.x-=t,this.y-=t,this},ld.prototype.subVectors=function(k,j){return this.x=k.x-j.x,this.y=k.y-j.y,this},ld.prototype.multiply=function(_){return this.x*=_.x,this.y*=_.y,this},ld.prototype.multiplyScalar=function(g){return this.x*=g,this.y*=g,this},ld.prototype.divide=function(h){return this.x/=h.x,this.y/=h.y,this},ld.prototype.divideScalar=function(d){return this.multiplyScalar(1/d)},ld.prototype.min=function(h){return this.x=Math.min(this.x,h.x),this.y=Math.min(this.y,h.y),this},ld.prototype.max=function(D){return this.x=Math.max(this.x,D.x),this.y=Math.max(this.y,D.y),this},ld.prototype.fromArray=function(p,w){return w===a&&(w=0),this.x=p[w],this.y=p[w+1],this},ld.prototype.clamp=function(h,r){return this.x=Math.max(h.x,Math.min(r.x,this.x)),this.y=Math.max(h.y,Math.min(r.y,this.y)),this},ld.prototype.clampScalar=function(){var d,y;return function(J,R){return d===a&&(d=new ld,y=new ld),d.set(J,J),y.set(R,R),this.clamp(d,y)}}(),ld.prototype.clampLength=function(C,v){var I=this.length();return this.multiplyScalar(Math.max(C,Math.min(v,I))/I)},ld.prototype.dot=function(C){return this.x*C.x+this.y*C.y},ld.prototype.lengthSq=function(){return this.x*this.x+this.y*this.y},ld.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},ld.prototype.normalize=function(){return this.divideScalar(this.length())},ld.prototype.angle=function(){var H=Math.atan2(this.y,this.x);return 0>H&&(H+=2*Math.PI),H},ld.prototype.distanceTo=function(X){return Math.sqrt(this.distanceToSquared(X))},ld.prototype.distanceToSquared=function(N){var b=this.x-N.x,d=this.y-N.y;return b*b+d*d},ld.prototype.isNearEnough=function(k){return this.distanceToSquared(k)<1e-8},ld.prototype.setLength=function(Q){var r=this.length();return r?this.multiplyScalar(Q/r):this},ld.prototype.lerp=function(J,$){return this.x+=(J.x-this.x)*$,this.y+=(J.y-this.y)*$,this},ld.prototype.lerpVectors=function(H,h,F){return this.subVectors(h,H).multiplyScalar(F).add(H)},ld.prototype.rotateAround=function(M,R){var q=M?M.x:0,H=M?M.y:0,P=Math.cos(R),Z=Math.sin(R),T=this.x-q,S=this.y-H;return this.x=T*P-S*Z+q,this.y=T*Z+S*P+H,this},F.assign(y.prototype,{isMatrix3:!0,set:function(G,m,Z,x,V,g,p,o,y){var u=this.el;return u[0]=G,u[1]=x,u[2]=p,u[3]=m,u[4]=V,u[5]=o,u[6]=Z,u[7]=g,u[8]=y,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.el)},copy:function(Y){var T=this.el,o=Y.el;return T[0]=o[0],T[1]=o[1],T[2]=o[2],T[3]=o[3],T[4]=o[4],T[5]=o[5],T[6]=o[6],T[7]=o[7],T[8]=o[8],this},setFromMatrix4:function(e){var J=e.el;return this.set(J[0],J[4],J[8],J[1],J[5],J[9],J[2],J[6],J[10]),this},applyToBufferAttribute:function(){var T=new Le;return function(i){for(var l=0,S=i.count;S>l;l++)T.x=i.getX(l),T.y=i.getY(l),T.z=i.getZ(l),T.applyMatrix3(this),i.setXYZ(l,T.x,T.y,T.z);return i}}(),multiply:function(h){return this.multiplyMatrices(this,h)},premultiply:function(w){return this.multiplyMatrices(w,this)},multiplyMatrices:function(q,c){var M=q.el,n=c.el,H=this.el,v=M[0],N=M[3],G=M[6],p=M[1],C=M[4],u=M[7],z=M[2],g=M[5],O=M[8],P=n[0],d=n[3],Q=n[6],I=n[1],K=n[4],Y=n[7],R=n[2],h=n[5],s=n[8];return H[0]=v*P+N*I+G*R,H[3]=v*d+N*K+G*h,H[6]=v*Q+N*Y+G*s,H[1]=p*P+C*I+u*R,H[4]=p*d+C*K+u*h,H[7]=p*Q+C*Y+u*s,H[2]=z*P+g*I+O*R,H[5]=z*d+g*K+O*h,H[8]=z*Q+g*Y+O*s,this},multiplyScalar:function(k){var X=this.el;return X[0]*=k,X[3]*=k,X[6]*=k,X[1]*=k,X[4]*=k,X[7]*=k,X[2]*=k,X[5]*=k,X[8]*=k,this},determinant:function(){var v=this.el,p=v[0],Z=v[1],X=v[2],G=v[3],D=v[4],E=v[5],Y=v[6],Q=v[7],T=v[8];return p*D*T-p*E*Q-Z*G*T+Z*E*Y+X*G*Q-X*D*Y},getInverse:function(I){var C=I.el,N=this.el,b=C[0],Y=C[1],R=C[2],k=C[3],a=C[4],t=C[5],_=C[6],W=C[7],j=C[8],i=j*a-t*W,S=t*_-j*k,u=W*k-a*_,$=b*i+Y*S+R*u;if(0===$)return this.identity();var r=1/$;return N[0]=i*r,N[1]=(R*W-j*Y)*r,N[2]=(t*Y-R*a)*r,N[3]=S*r,N[4]=(j*b-R*_)*r,N[5]=(R*k-t*b)*r,N[6]=u*r,N[7]=(Y*_-W*b)*r,N[8]=(a*b-Y*k)*r,this},transpose:function(){var l,u=this.el;return l=u[1],u[1]=u[3],u[3]=l,l=u[2],u[2]=u[6],u[6]=l,l=u[5],u[5]=u[7],u[7]=l,this},getNormalMatrix:function(W){return this.setFromMatrix4(W).getInverse(this).transpose()},transposeIntoArray:function(q){var U=this.el;return q[0]=U[0],q[1]=U[3],q[2]=U[6],q[3]=U[1],q[4]=U[4],q[5]=U[7],q[6]=U[2],q[7]=U[5],q[8]=U[8],this},setUvTransform:function(s,K,j,F,p,i,W){var d=Math.cos(p),R=Math.sin(p);this.set(j*d,j*R,-j*(d*i+R*W)+i+s,-F*R,F*d,-F*(-R*i+d*W)+W+K,0,0,1)},scale:function(X,H){var m=this.el;return m[0]*=X,m[3]*=X,m[6]*=X,m[1]*=H,m[4]*=H,m[7]*=H,this},rotate:function(d){var M=Math.cos(d),B=Math.sin(d),W=this.el,r=W[0],X=W[3],C=W[6],w=W[1],n=W[4],c=W[7];return W[0]=M*r+B*w,W[3]=M*X+B*n,W[6]=M*C+B*c,W[1]=-B*r+M*w,W[4]=-B*X+M*n,W[7]=-B*C+M*c,this},translate:function(R,Q){var h=this.el;return h[0]+=R*h[2],h[3]+=R*h[5],h[6]+=R*h[8],h[1]+=Q*h[2],h[4]+=Q*h[5],h[7]+=Q*h[8],this},equals:function(P){for(var X=this.el,i=P.el,s=0;9>s;s++)if(X[s]!==i[s])return!1;return!0},fromArray:function(X,y){y===a&&(y=0);for(var e=0;9>e;e++)this.el[e]=X[e+y];return this},toArray:function($,K){$===a&&($=[]),K===a&&(K=0);var J=this.el;return $[K]=J[0],$[K+1]=J[1],$[K+2]=J[2],$[K+3]=J[3],$[K+4]=J[4],$[K+5]=J[5],$[K+6]=J[6],$[K+7]=J[7],$[K+8]=J[8],$}});var vn=K.Math.Plane=function(N,W){this.normal=N!==a?N:new Le(1,0,0),this.constant=W!==a?W:0};F.assign(vn.prototype,{set:function(N,q){return this.normal.copy(N),this.constant=q,this},setComponents:function(l,z,D,M){return this.normal.set(l,z,D),this.constant=M,this},setFromNormalAndCoplanarPoint:function(f,O){return this.normal.copy(f),this.constant=-O.dot(this.normal),this},setFromCoplanarPoints:function(){var f=new Le,h=new Le;return function(_,d,N){var e=f.subVectors(N,d).cross(h.subVectors(_,d)).normalize();return this.setFromNormalAndCoplanarPoint(e,_),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(m){return this.normal.copy(m.normal),this.constant=m.constant,this},normalize:function(){var V=1/this.normal.length();return this.normal.multiplyScalar(V),this.constant*=V,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(d){return this.normal.dot(d)+this.constant},distanceToSphere:function(q){return this.distanceToPoint(q.center)-q.radius},projectPoint:function(r,D){return D===a&&(D=new Le),D.copy(this.normal).multiplyScalar(-this.distanceToPoint(r)).add(r)},intersectLine:function(){var $=new Le;return function(Z,S){S===a&&(S=new Le);var E=Z.delta($),g=this.normal.dot(E);if(0===g)return 0===this.distanceToPoint(Z.start)?S.copy(Z.start):a;var f=-(Z.start.dot(this.normal)+this.constant)/g;return 0>f||f>1?a:S.copy(E).multiplyScalar(f).add(Z.start)}}(),intersectsLine:function(n){var l=this.distanceToPoint(n.start),G=this.distanceToPoint(n.end);return 0>l&&G>0||0>G&&l>0},intersectsBox:function(x){return x.intersectsPlane(this)},intersectsSphere:function(h){return h.intersectsPlane(this)},coplanarPoint:function(G){return G===a&&(G=new Le),G.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var H=new Le,p=new y;return function(v,$){var n=$||p.getNormalMatrix(v),h=this.coplanarPoint(H).applyMatrix4(v),T=this.normal.applyMatrix3(n).normalize();return this.constant=-h.dot(T),this}}(),translate:function(f){return this.constant-=f.dot(this.normal),this},equals:function(o){return o.normal.equals(this.normal)&&o.constant===this.constant}});var ur=K.Math.Ray=function(j,Y){this.origin=j!==a?j.clone():new Le,this.direction=Y!==a?Y.clone():new Le};F.assign(ur.prototype,{set:function(q,Z){return this.origin.copy(q),this.direction.copy(Z),this},clone:function(){return(new this.constructor).copy(this)},copy:function(w){return this.origin.copy(w.origin),this.direction.copy(w.direction),this.maxHitLen=w.maxHitLen,this},at:function(B,o){var I=o||new Le;return I.copy(this.direction).multiplyScalar(B).add(this.origin)},setMaxHitLength:function($){this.maxHitLen=$},lookAt:function(Z){return this.direction.copy(Z).sub(this.origin).normalize(),this},applyMatrix4:function(D){var J=this.maxHitLen;if(J){var V=this.direction.clone().multiplyScalar(J).add(this.origin);V.applyMatrix4(D)}return this.origin.applyMatrix4(D),this.direction.transformDirection(D),J&&(this.maxHitLen=this.origin.distanceTo(V)),this},intersectBox:function(k,Q){var i,t,H,J,N,y,R=1/this.direction.x,$=1/this.direction.y,D=1/this.direction.z,I=this.origin;if(R>=0?(i=(k.min.x-I.x)*R,t=(k.max.x-I.x)*R):(i=(k.max.x-I.x)*R,t=(k.min.x-I.x)*R),$>=0?(H=(k.min.y-I.y)*$,J=(k.max.y-I.y)*$):(H=(k.max.y-I.y)*$,J=(k.min.y-I.y)*$),i>J||H>t)return null;if((H>i||i!==i)&&(i=H),(t>J||t!==t)&&(t=J),D>=0?(N=(k.min.z-I.z)*D,y=(k.max.z-I.z)*D):(N=(k.max.z-I.z)*D,y=(k.min.z-I.z)*D),i>y||N>t)return null;if((N>i||i!==i)&&(i=N),(t>y||t!==t)&&(t=y),0>t)return null;var B=i>=0?i:t,n=this.maxHitLen;return n&&B>n?null:this.at(B,Q)},intersectTriangle:function(){var H=new Le,W=new Le,M=new Le,T=new Le;return function(c,v,X,Z,o){W.subVectors(v,c),M.subVectors(X,c),T.crossVectors(W,M);var u,P=this.direction.dot(T);if(P>0){if(Z)return null;u=1}else{if(!(0>P))return null;u=-1,P=-P}H.subVectors(this.origin,c);var s=u*this.direction.dot(M.crossVectors(H,M));if(0>s)return null;var C=u*this.direction.dot(W.cross(H));if(0>C||s+C>P)return null;var Y=-u*H.dot(T);if(0>Y)return null;var N=Y/P,O=this.maxHitLen;return O&&N>O?null:this.at(N,o)}}()});var Ye=K.Math.Box3=function(h,I){this.min=h!==a?h:new Le(1/0,1/0,1/0),this.max=I!==a?I:new Le(-1/0,-1/0,-1/0)};F.assign(Ye.prototype,{set:function(i,$){return this.min.copy(i),this.max.copy($),this},setFromArray:function(v){for(var Y=1/0,F=1/0,x=1/0,J=-1/0,l=-1/0,O=-1/0,$=0,D=v.length;D>$;$+=3){var P=v[$],E=v[$+1],W=v[$+2];Y>P&&(Y=P),F>E&&(F=E),x>W&&(x=W),P>J&&(J=P),E>l&&(l=E),W>O&&(O=W)}return this.min.set(Y,F,x),this.max.set(J,l,O),this},setFromPoints:function(u){this.makeEmpty();for(var A=0,K=u.length;K>A;A++)this.expandByPoint(u[A]);return this},clone:function(){return(new this.constructor).copy(this)},intersectsBox:function(F){return F.max.x<this.min.x||F.min.x>this.max.x||F.max.y<this.min.y||F.min.y>this.max.y||F.max.z<this.min.z||F.min.z>this.max.z?!1:!0},copy:function(B){return this.min.copy(B.min),this.max.copy(B.max),this},makeEmpty:function(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},expandByPoint:function(n){return this.min.min(n),this.max.max(n),this}});var kk=K.Math.Sphere=function(L,Y){this.center=L!==a?L:new Le,this.radius=Y!==a?Y:0};F.assign(kk.prototype,{set:function(l,H){return this.center.copy(l),this.radius=H,this},setFromPoints:function(){var G=new Ye;return function(V,s){var J=this.center;s!==a?J.copy(s):G.setFromPoints(V).getCenter(J);for(var u=0,I=0,x=V.length;x>I;I++)u=Math.max(u,J.distanceToSquared(V[I]));return this.radius=Math.sqrt(u),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(S){return this.center.copy(S.center),this.radius=S.radius,this},empty:function(){return this.radius<=0},containsPoint:function(k){return k.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(i){return i.distanceTo(this.center)-this.radius},intersectsSphere:function(q){var _=this.radius+q.radius;return q.center.distanceToSquared(this.center)<=_*_},intersectsBox:function(E){return E.intersectsSphere(this)},intersectsPlane:function(w){return Math.abs(w.distanceToPoint(this.center))<=this.radius},clampPoint:function(J,v){var u=this.center.distanceToSquared(J);return v===a&&(v=new Le),v.copy(J),u>this.radius*this.radius&&(v.sub(this.center).normalize(),v.multiplyScalar(this.radius).add(this.center)),v},getBoundingBox:function(n){return n===a&&(n=new Ye),n.set(this.center,this.center),n.expandByScalar(this.radius),n},applyMatrix4:function(s){return this.center.applyMatrix4(s),this.radius=this.radius*s.getMaxScaleOnAxis(),this},translate:function(a){return this.center.add(a),this},equals:function(U){return U.center.equals(this.center)&&U.radius===this.radius}});var Zj=K.Math.Frustum=function(d,t,o,s,M,z){this.planes=[d!==a?d:new vn,t!==a?t:new vn,o!==a?o:new vn,s!==a?s:new vn,M!==a?M:new vn,z!==a?z:new vn]};F.assign(Zj.prototype,{set:function(T,u,c,F,j,p){var x=this.planes;return x[0].copy(T),x[1].copy(u),x[2].copy(c),x[3].copy(F),x[4].copy(j),x[5].copy(p),this},clone:function(){return(new this.constructor).copy(this)},copy:function(x){for(var G=this.planes,u=0;6>u;u++)G[u].copy(x.planes[u]);return this},setFromMatrix:function(K){var r=this.planes,q=K.el,e=q[0],Y=q[1],i=q[2],t=q[3],V=q[4],h=q[5],S=q[6],T=q[7],$=q[8],P=q[9],R=q[10],s=q[11],M=q[12],j=q[13],c=q[14],x=q[15];return r[0].setComponents(t-e,T-V,s-$,x-M).normalize(),r[1].setComponents(t+e,T+V,s+$,x+M).normalize(),r[2].setComponents(t+Y,T+h,s+P,x+j).normalize(),r[3].setComponents(t-Y,T-h,s-P,x-j).normalize(),r[4].setComponents(t-i,T-S,s-R,x-c).normalize(),r[5].setComponents(t+i,T+S,s+R,x+c).normalize(),this},intersectsObject:function(){var c=new kk;return function(j){var d=j.geometry;return null===d.boundingSphere&&d.computeBoundingSphere(),c.copy(d.boundingSphere).applyMatrix4(j.matrixWorld),this.intersectsSphere(c)}}(),intersectsSprite:function(){var H=new kk;return function(P){return H.center.set(0,0,0),H.radius=.7071067811865476,H.applyMatrix4(P.matrixWorld),this.intersectsSphere(H)}}(),intersectsSphere:function(B){for(var A=this.planes,t=B.center,H=-B.radius,M=0;6>M;M++){var j=A[M].distanceToPoint(t);if(H>j)return!1}return!0},intersectsBox:function(){var B=new Le;return function(Y){for(var m=this.planes,I=0;6>I;I++){var r=m[I];if(B.x=r.normal.x>0?Y.max.x:Y.min.x,B.y=r.normal.y>0?Y.max.y:Y.min.y,B.z=r.normal.z>0?Y.max.z:Y.min.z,r.distanceToPoint(B)<0)return!1}return!0}}(),containsPoint:function(I){for(var l=this.planes,b=0;6>b;b++)if(l[b].distanceToPoint(I)<0)return!1;return!0}});var nn=K.Math.Matrix4=function(){this.el=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};F.assign(nn.prototype,{set:function(T,i,m,j,x,p,w,M,Y,J,n,S,q,H,L,a){var R=this.el;return R[0]=T,R[4]=i,R[8]=m,R[12]=j,R[1]=x,R[5]=p,R[9]=w,R[13]=M,R[2]=Y,R[6]=J,R[10]=n,R[14]=S,R[3]=q,R[7]=H,R[11]=L,R[15]=a,this},clone:function(){return(new nn).fromArray(this.el)},fromArray:function(u,x){x===a&&(x=0);for(var S=this.el,c=0;16>c;c++)S[c]=u[c+x];return this},scale:function(T){var s=this.el,e=T.x,W=T.y,A=T.z;return s[0]*=e,s[4]*=W,s[8]*=A,s[1]*=e,s[5]*=W,s[9]*=A,s[2]*=e,s[6]*=W,s[10]*=A,s[3]*=e,s[7]*=W,s[11]*=A,this},makeRotationFromEuler:function(H){var n=this.el,Q=H._x,s=H._y,k=H._z,A=H._order,l=Math.cos(Q),U=Math.sin(Q),K=Math.cos(s),T=Math.sin(s),Z=Math.cos(k),h=Math.sin(k);if("XYZ"===A){var x=l*Z,I=l*h,D=U*Z,B=U*h;n[0]=K*Z,n[4]=-K*h,n[8]=T,n[1]=I+D*T,n[5]=x-B*T,n[9]=-U*K,n[2]=B-x*T,n[6]=D+I*T,n[10]=l*K}else if("YXZ"===A){var C=K*Z,z=K*h,e=T*Z,q=T*h;n[0]=C+q*U,n[4]=e*U-z,n[8]=l*T,n[1]=l*h,n[5]=l*Z,n[9]=-U,n[2]=z*U-e,n[6]=q+C*U,n[10]=l*K}else if("ZXY"===A){var C=K*Z,z=K*h,e=T*Z,q=T*h;n[0]=C-q*U,n[4]=-l*h,n[8]=e+z*U,n[1]=z+e*U,n[5]=l*Z,n[9]=q-C*U,n[2]=-l*T,n[6]=U,n[10]=l*K}else if("ZYX"===A){var x=l*Z,I=l*h,D=U*Z,B=U*h;n[0]=K*Z,n[4]=D*T-I,n[8]=x*T+B,n[1]=K*h,n[5]=B*T+x,n[9]=I*T-D,n[2]=-T,n[6]=U*K,n[10]=l*K}else if("YZX"===A){var d=l*K,S=l*T,V=U*K,y=U*T;n[0]=K*Z,n[4]=y-d*h,n[8]=V*h+S,n[1]=h,n[5]=l*Z,n[9]=-U*Z,n[2]=-T*Z,n[6]=S*h+V,n[10]=d-y*h}else if("XZY"===A){var d=l*K,S=l*T,V=U*K,y=U*T;n[0]=K*Z,n[4]=-h,n[8]=T*Z,n[1]=d*h+y,n[5]=l*Z,n[9]=S*h-V,n[2]=V*h-S,n[6]=U*Z,n[10]=y*h+d}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this},makeRotationFromQuaternion:function(N){var r=this.el,Q=N._x,m=N._y,t=N._z,c=N._w,I=Q+Q,L=m+m,U=t+t,X=Q*I,f=Q*L,l=Q*U,J=m*L,D=m*U,Z=t*U,R=c*I,K=c*L,i=c*U;return r[0]=1-(J+Z),r[4]=f-i,r[8]=l+K,r[1]=f+i,r[5]=1-(X+Z),r[9]=D-R,r[2]=l-K,r[6]=D+R,r[10]=1-(X+J),r[3]=0,r[7]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},getInverse:function(w){var t=this.el,v=w.el,K=v[0],J=v[1],B=v[2],z=v[3],Y=v[4],y=v[5],H=v[6],d=v[7],V=v[8],c=v[9],l=v[10],L=v[11],m=v[12],p=v[13],f=v[14],U=v[15],G=c*f*d-p*l*d+p*H*L-y*f*L-c*H*U+y*l*U,Z=m*l*d-V*f*d-m*H*L+Y*f*L+V*H*U-Y*l*U,Q=V*p*d-m*c*d+m*y*L-Y*p*L-V*y*U+Y*c*U,n=m*c*H-V*p*H-m*y*l+Y*p*l+V*y*f-Y*c*f,F=K*G+J*Z+B*Q+z*n;if(0===F)return this.identity();var x=1/F;return t[0]=G*x,t[1]=(p*l*z-c*f*z-p*B*L+J*f*L+c*B*U-J*l*U)*x,t[2]=(y*f*z-p*H*z+p*B*d-J*f*d-y*B*U+J*H*U)*x,t[3]=(c*H*z-y*l*z-c*B*d+J*l*d+y*B*L-J*H*L)*x,t[4]=Z*x,t[5]=(V*f*z-m*l*z+m*B*L-K*f*L-V*B*U+K*l*U)*x,t[6]=(m*H*z-Y*f*z-m*B*d+K*f*d+Y*B*U-K*H*U)*x,t[7]=(Y*l*z-V*H*z+V*B*d-K*l*d-Y*B*L+K*H*L)*x,t[8]=Q*x,t[9]=(m*c*z-V*p*z-m*J*L+K*p*L+V*J*U-K*c*U)*x,t[10]=(Y*p*z-m*y*z+m*J*d-K*p*d-Y*J*U+K*y*U)*x,t[11]=(V*y*z-Y*c*z-V*J*d+K*c*d+Y*J*L-K*y*L)*x,t[12]=n*x,t[13]=(V*p*B-m*c*B+m*J*l-K*p*l-V*J*f+K*c*f)*x,t[14]=(m*y*B-Y*p*B-m*J*H+K*p*H+Y*J*f-K*y*f)*x,t[15]=(Y*c*B-V*y*B+V*J*H-K*c*H-Y*J*l+K*y*l)*x,this},makeRotationAxis:function(k,x){var C=Math.cos(x),u=Math.sin(x),S=1-C,t=k.x,X=k.y,_=k.z,Z=S*t,O=S*X;return this.set(Z*t+C,Z*X-u*_,Z*_+u*X,0,Z*X+u*_,O*X+C,O*_-u*t,0,Z*_-u*X,O*_+u*t,S*_*_+C,0,0,0,0,1),this},multiply:function(y){return this.multiplyMatrices(this,y)},premultiply:function(K){return this.multiplyMatrices(K,this)},multiplyMatrices:function(R,p){var O=R.el,S=p.el,d=this.el,y=O[0],E=O[4],F=O[8],K=O[12],m=O[1],e=O[5],_=O[9],t=O[13],v=O[2],u=O[6],G=O[10],Y=O[14],Q=O[3],q=O[7],L=O[11],x=O[15],A=S[0],U=S[4],C=S[8],r=S[12],c=S[1],w=S[5],i=S[9],D=S[13],P=S[2],Z=S[6],B=S[10],z=S[14],H=S[3],l=S[7],X=S[11],g=S[15];return d[0]=y*A+E*c+F*P+K*H,d[4]=y*U+E*w+F*Z+K*l,d[8]=y*C+E*i+F*B+K*X,d[12]=y*r+E*D+F*z+K*g,d[1]=m*A+e*c+_*P+t*H,d[5]=m*U+e*w+_*Z+t*l,d[9]=m*C+e*i+_*B+t*X,d[13]=m*r+e*D+_*z+t*g,d[2]=v*A+u*c+G*P+Y*H,d[6]=v*U+u*w+G*Z+Y*l,d[10]=v*C+u*i+G*B+Y*X,d[14]=v*r+u*D+G*z+Y*g,d[3]=Q*A+q*c+L*P+x*H,d[7]=Q*U+q*w+L*Z+x*l,d[11]=Q*C+q*i+L*B+x*X,d[15]=Q*r+q*D+L*z+x*g,this},lookAt:function(){var M=new Le,e=new Le,H=new Le;return function(p,s,J){var r=this.el;return H.subVectors(p,s),0===H.lengthSq()&&(H.z=1),H.normalize(),M.crossVectors(J,H),0===M.lengthSq()&&(1===Math.abs(J.z)?H.x+=1e-4:H.z+=1e-4,H.normalize(),M.crossVectors(J,H)),M.normalize(),e.crossVectors(H,M),r[0]=M.x,r[4]=e.x,r[8]=H.x,r[1]=M.y,r[5]=e.y,r[9]=H.y,r[2]=M.z,r[6]=e.z,r[10]=H.z,this}}(),extractScale:function(){var I;return function(c){I===a&&(I=new Le),c===a&&(c=new Le);var $=I.setFromMatrixColumn(this,0).length(),V=I.setFromMatrixColumn(this,1).length(),D=I.setFromMatrixColumn(this,2).length();return c.set($,V,D),c}}(),extractRotation:function(){var K;return function(M){K===a&&(K=new Le),M===a&&(M=new nn);var g=this.el,F=M.el,l=1/K.setFromMatrixColumn(M,0).length(),$=1/K.setFromMatrixColumn(M,1).length(),y=1/K.setFromMatrixColumn(M,2).length();return g[0]=F[0]*l,g[1]=F[1]*l,g[2]=F[2]*l,g[4]=F[4]*$,g[5]=F[5]*$,g[6]=F[6]*$,g[8]=F[8]*y,g[9]=F[9]*y,g[10]=F[10]*y,this}}(),multiplyScalar:function(O){var h=this.el;return h[0]*=O,h[4]*=O,h[8]*=O,h[12]*=O,h[1]*=O,h[5]*=O,h[9]*=O,h[13]*=O,h[2]*=O,h[6]*=O,h[10]*=O,h[14]*=O,h[3]*=O,h[7]*=O,h[11]*=O,h[15]*=O,this},getPosition:function(Q){return Q===a&&(Q=new Le),Q.setFromMatrixColumn(this,3)},setPosition:function(B){var U=this.el;return U[12]=B.x,U[13]=B.y,U[14]=B.z,this},toArray:function(g,E){g===a&&(g=[]),E===a&&(E=0);var q=this.el;return g[E]=q[0],g[E+1]=q[1],g[E+2]=q[2],g[E+3]=q[3],g[E+4]=q[4],g[E+5]=q[5],g[E+6]=q[6],g[E+7]=q[7],g[E+8]=q[8],g[E+9]=q[9],g[E+10]=q[10],g[E+11]=q[11],g[E+12]=q[12],g[E+13]=q[13],g[E+14]=q[14],g[E+15]=q[15],g},determinant:function(){var b=this.el,Q=b[0],X=b[4],B=b[8],R=b[12],A=b[1],n=b[5],t=b[9],T=b[13],g=b[2],m=b[6],V=b[10],h=b[14],K=b[3],r=b[7],d=b[11],k=b[15];return K*(+R*t*m-B*T*m-R*n*V+X*T*V+B*n*h-X*t*h)+r*(+Q*t*h-Q*T*V+R*A*V-B*A*h+B*T*g-R*t*g)+d*(+Q*T*m-Q*n*h-R*A*m+X*A*h+R*n*g-X*T*g)+k*(-B*n*g-Q*t*m+Q*n*V+B*A*m-X*A*V+X*t*g)},copy:function(B){var W=this.el,F=B.el;return W[0]=F[0],W[1]=F[1],W[2]=F[2],W[3]=F[3],W[4]=F[4],W[5]=F[5],W[6]=F[6],W[7]=F[7],W[8]=F[8],W[9]=F[9],W[10]=F[10],W[11]=F[11],W[12]=F[12],W[13]=F[13],W[14]=F[14],W[15]=F[15],this},compose:function(l,H,K){var q=this.el,R=H._x,I=H._y,E=H._z,n=H._w,T=R+R,f=I+I,z=E+E,m=R*T,b=R*f,g=R*z,S=I*f,Q=I*z,w=E*z,G=n*T,v=n*f,u=n*z,s=K.x,C=K.y,d=K.z;return q[0]=(1-(S+w))*s,q[1]=(b+u)*s,q[2]=(g-v)*s,q[3]=0,q[4]=(b-u)*C,q[5]=(1-(m+w))*C,q[6]=(Q+G)*C,q[7]=0,q[8]=(g+v)*d,q[9]=(Q-G)*d,q[10]=(1-(m+S))*d,q[11]=0,q[12]=l.x,q[13]=l.y,q[14]=l.z,q[15]=1,this},decompose:function(){var z=new Le,F=new nn;return function(K,g,H){var I=this.el,T=z.set(I[0],I[1],I[2]).length(),A=z.set(I[4],I[5],I[6]).length(),Y=z.set(I[8],I[9],I[10]).length(),k=this.determinant();0>k&&(T=-T),K.x=I[12],K.y=I[13],K.z=I[14],F.copy(this);var r=1/T,U=1/A,N=1/Y;return F.el[0]*=r,F.el[1]*=r,F.el[2]*=r,F.el[4]*=U,F.el[5]*=U,F.el[6]*=U,F.el[8]*=N,F.el[9]*=N,F.el[10]*=N,g.setFromRotationMatrix(F),H.x=T,H.y=A,H.z=Y,this}}()});var Sk=K.Math.Triangle=function(g,k,s){this.a=g!==a?g:new Le,this.b=k!==a?k:new Le,this.c=s!==a?s:new Le};F.assign(Sk,{barycoordFromPoint:function(){var B=new Le,o=new Le,O=new Le;return function(m,W,Q,y,h){B.subVectors(y,W),o.subVectors(Q,W),O.subVectors(m,W);var t=B.dot(B),j=B.dot(o),R=B.dot(O),T=o.dot(o),u=o.dot(O),i=t*T-j*j,A=h||new Le;if(0===i)return A.set(-2,-1,-1);var s=1/i,K=(T*R-j*u)*s,U=(t*u-j*R)*s;return A.set(1-K-U,U,K)}}()});var Ij=K.Math.Euler=function(W,e,K,P,R){this.set(W,e,K,P,R)};Ij.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],Ij.DefaultOrder="XYZ",Ij.ReverseOrder=function(e){return e=e[2]+e[1]+e[0],e.toUpperCase()},F.defineProperties(Ij.prototype,{x:{get:function(){return this._x},set:function(p){this._x=p,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(z){this._y=z,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(E){this._z=E,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(f){this._order=f,this.onChangeCallback()}}}),F.assign(Ij.prototype,{set:function(f,h,O,o,b){return Bl(f)&&(b=O,o=h,O=f[2],h=f[1],f=f[0]),o?b&&(o=Ij.ReverseOrder(o)):o="ZYX",this._x=f||0,this._y=h||0,this._z=O||0,this._order=o||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(n){return this._x=n._x,this._y=n._y,this._z=n._z,this._order=n._order,this.onChangeCallback(),this},setFromRotationMatrix:function(c,h,U){var k=K.Math.clamp,p=c.el||c,r=p[0],i=p[4],d=p[8],l=p[1],q=p[5],n=p[9],C=p[2],X=p[6],Z=p[10];return h=h||this._order,"XYZ"===h?(this._y=Math.asin(k(d,-1,1)),Math.abs(d)<.99999?(this._x=Math.atan2(-n,Z),this._z=Math.atan2(-i,r)):(this._x=Math.atan2(X,q),this._z=0)):"YXZ"===h?(this._x=Math.asin(-k(n,-1,1)),Math.abs(n)<.99999?(this._y=Math.atan2(d,Z),this._z=Math.atan2(l,q)):(this._y=Math.atan2(-C,r),this._z=0)):"ZXY"===h?(this._x=Math.asin(k(X,-1,1)),Math.abs(X)<.99999?(this._y=Math.atan2(-C,Z),this._z=Math.atan2(-i,q)):(this._y=0,this._z=Math.atan2(l,r))):"ZYX"===h?(this._y=Math.asin(-k(C,-1,1)),Math.abs(C)<.99999?(this._x=Math.atan2(X,Z),this._z=Math.atan2(l,r)):(this._x=0,this._z=Math.atan2(-i,q))):"YZX"===h?(this._z=Math.asin(k(l,-1,1)),Math.abs(l)<.99999?(this._x=Math.atan2(-n,q),this._y=Math.atan2(-C,r)):(this._x=0,this._y=Math.atan2(d,Z))):"XZY"===h?(this._z=Math.asin(-k(i,-1,1)),Math.abs(i)<.99999?(this._x=Math.atan2(X,q),this._y=Math.atan2(d,r)):(this._x=Math.atan2(-n,Z),this._y=0)):console.warn("unsupported order: "+h),this._order=h,U!==!1&&this.onChangeCallback(),this},setFromQuaternion:function(){var G=new nn;return function(E,D,s){return G.makeRotationFromQuaternion(E),this.setFromRotationMatrix(G,D,s)}}(),setFromVector3:function(Z,X){return this.set(Z.x,Z.y,Z.z,X||this._order)},reorder:function(){var p=new fo;return function(B){return p.setFromEuler(this),this.setFromQuaternion(p,B)}}(),equals:function(q){return q._x===this._x&&q._y===this._y&&q._z===this._z&&q._order===this._order},fromArray:function(D){return this._x=D[0],this._y=D[1],this._z=D[2],D[3]!==a&&(this._order=D[3]),this.onChangeCallback(),this},toArray:function(E,R){return E===a&&(E=[]),R===a&&(R=0),E[R]=this._x,E[R+1]=this._y,E[R+2]=this._z,E[R+3]=this._order,E},toVector3:function(q){return q?q.set(this._x,this._y,this._z):new Le(this._x,this._y,this._z)},onChange:function(V){return this.onChangeCallback=V,this},onChangeCallback:function(){}});var ah={ms_ac:function(Q,j){for(var $=j.ms_ac,d=0;d<$.length;d++)Bo(Q,$[d])},ms_listener:function(I){I.addListeners=function(){for(var Q=this,E=0;E<wq.length;E++){var C=wq[E];"wheel"===C&&!Q.handle_wheel&&Q.handle_mousewheel&&(Q.handle_wheel=function(z){if(!("wheelDelta"in z)){var u=z.deltaMode;z.wheelDelta=u===z.DOM_DELTA_PIXEL?-z.deltaY:u===z.DOM_DELTA_LINE?40*-z.deltaY:120*-z.deltaY}Q.handle_mousewheel(z)}),Q["handle_"+C]&&vo(C,Q.getView(),Q)}},I.removeListeners=function(){for(var t=this,T=0;T<wq.length;T++)t["handle_"+wq[T]]&&Sf(wq[T],t.getView(),t)}},ms_fire:function(H){H.mp=function(A,b,G){this.addPropertyChangeListener(A,b,G)},H.ump=function(S,Q){this.removePropertyChangeListener(S,Q)},H.fp=function(k,J,X,a,x){return this.firePropertyChange(k,J,X,a,x)},H.addPropertyChangeListener=function(f,Q,L){var B=this;B._62I||(B._62I=new Hf),B._62I.add(f,Q,L)},H.removePropertyChangeListener=function(v,H){this._62I&&this._62I.remove(v,H)},H.firePropertyChange=function(h,W,$,p,F){if(p){if(p(W,$))return!1}else if(W===$)return!1;var B=this,q=F||{};return q.property=h,q.oldValue=W,q.newValue=$,q.source=B,q.data=B,B._62I&&B._62I.fire(q),B.onPropertyChanged&&B.onPropertyChanged(q),!0}},ms_attr:function(B){B.a=function(r,w){var o=this;if(2===arguments.length)o.setAttr(r,w);else{if(!Dl(r))return o.getAttr(r);for(var M in r)o.setAttr(M,r[M])}return o},B.getAttr=function(d,i){if(i===a&&(i=1),this._attrObject&&d in this._attrObject)return this._attrObject[d];if(this.getImage){var h=this.getImage();if(tg(h)&&(h=Co[h]),Dl(h)&&"dataBindings"in h)for(var B=h.dataBindings,q=B.length-1;q>=0;q--){var I=B[q];if(I.attr===d){if("defaultValue"in I)return I.defaultValue;break}}}return i?w[d]:a},B.setAttr=function(w,t){var W=this;W._attrObject||(W._attrObject={});var F=W._attrObject[w];t===a?delete W._attrObject[w]:W._attrObject[w]=t,W.fp&&W.fp("a:"+w,F,t)&&W.onAttrChanged&&W.onAttrChanged(w,F,t)},B.getSerializableAttrs=function(){var N,F={};for(N in this._attrObject)F[N]=1;return F}},ms_bnb:function(W){W.getBodyColor=function(Y){return Y.s("body.color")},W.getBorderColor=function(H){return H.s("border.color")}},_51o:function(J){J.mi=function(E,h,$){this.addInteractorListener(E,h,$)},J.umi=function(I,N){this.removeInteractorListener(I,N)},J.fi=function(R){this.fireInteractorEvent(R)},J.addInteractorListener=function(J,h,i){var S=this;S._63I||(S._63I=new Hf),S._63I.add(J,h,i)},J.removeInteractorListener=function($,H){this._63I&&this._63I.remove($,H)},J.fireInteractorEvent=function(M){this._63I&&this._63I.fire(M)},J.setInteractors=function(v){var w=this,H=w._interactors;H&&H.each(function(_){_.tearDown()}),Bl(v)&&(v=new Sl(v)),w._interactors=v,v&&v.each(function(L){L.setUp()}),w.fp("interactors",H,v),w.invalidateSelection()},J.getInteractors=function(){return this._interactors}},_49o:function(w){w._44O=J,w._45O=J,w.getTopPainters=function(){return this._44O},w.getBottomPainters=function(){return this._45O},w.addTopPainter=function(N){var q=this;q._44O||(q._44O=new Sl),q._44O.contains(N)||(q._44O.add(N),q.redraw&&q.redraw())},w.removeTopPainter=function(K){var b=this;b._44O&&(b._44O.remove(K),b.redraw&&b.redraw())},w.addBottomPainter=function(b){var L=this;L._45O||(L._45O=new Sl),L._45O.contains(b)||(L._45O.add(b),L.redraw&&L.redraw())},w.removeBottomPainter=function(B){var y=this;y._45O&&(y._45O.remove(B),y.redraw&&y.redraw())},w._93db=function(i,g){var z=this;z._45O&&z._45O.each(function(H){H.draw?H.draw(i,g):H.call(z,i,g)})},w._92db=function(G,A){var M=this;M._44O&&M._44O.each(function(w){w.draw?w.draw(G,A):w.call(M,G,A)})}},ms_sm:function(T){T.sm=function(){return this.getSelectionModel()},T.setSelectableFunc=function(X){this.sm().setFilterFunc(X)},T.getSelectableFunc=function(){return this.sm().getFilterFunc()},T.getSelectionModel=function(){var U=this;return U._selectionModel?U._selectionModel:U.dm().sm()},T.isSelectionModelShared=function(){return!this._selectionModel},T.setSelectionModelShared=function(u){var j=this,_=!j._selectionModel,k=j.handleSelectionChange,D=j.dm();_!==u&&(j.invalidateSelection&&j.invalidateSelection(),u?(D.sm().ms(k,j),j._selectionModel.ums(k,j),j._selectionModel.dispose(),j._selectionModel=J):(D.sm().ums(k,j),j._selectionModel=new vq(D),j._selectionModel.ms(k,j)),j.onSelectionModelSharedChanged(),j.fp("selectionModelShared",_,u))},T.onSelectionModelSharedChanged=function(){var X=this;X.redraw(),X.invalidateSelection&&X.invalidateSelection()},T.removeSelection=function(){var I=this.dm();I.beginTransaction(),this.sm().toSelection().each(I.remove,I),I.endTransaction()},T.selectAll=function(){var H=this;H.sm().ss(H.dm().toDatas(function(S){return H.isVisible(S)&&H.isSelectable(S)}))},T.isSelected=function(X){return this.sm().co(X)},T.isSelectedById=function(R){var f=this.dm().getDataById(R);return f?this.isSelected(f):!1},T.isSelectable=function(o){return this.sm().isSelectable(o)}},ms_tx:function(i){i._64I=0,i._65O=0,i.isScrollable=function(){return this.getWidth()<this._64I},i._40o=function(){return this.isScrollable()},i.getLogicalPoint=function(t){return xn(t,this._canvas||this._view,this.tx(),this.ty?this.ty():0)},i.tx=function(K){return K===a?this.getTranslateX():(this.setTranslateX(K),void 0)},i.getTranslateX=function(){return this._65O},i.setTranslateX=function(l){var A=this,b=A.getWidth()-A._64I;b>l&&(l=b),l>0&&(l=0),l=d(l);var B=A._65O;A._65O=l,A.fp(zj,B,l)}},ms_ty:function(L){L._23Q=0,L._66O=0,L._41o=function(){return this.getHeight()<this._23Q},L.getLogicalPoint=function(k){return xn(k,this._canvas||this._view,this.tx?this.tx():0,this.ty())},L.ty=function(R){return R===a?this.getTranslateY():(this.setTranslateY(R),void 0)},L.getTranslateY=function(){return this._66O},L.setTranslateY=function(y){var V=this,F=V.getHeight()-V._23Q;F>y&&(y=F),y>0&&(y=0),y=d(y);var P=V._66O;V._66O=y,V.fp(Zl,P,y)}},ms_txy:function(f){f._65O=0,f._66O=0,f.tx=function(m){return m===a?this.getTranslateX():(this.setTranslateX(m),void 0)},f.ty=function(B){return B===a?this.getTranslateY():(this.setTranslateY(B),void 0)},f.onTranslateEnded=function(){},f.setTranslate=function(t,W,O){var I=this;if(O=Nb(O)){I._65I&&I._65I.stop(!0);var M=I.tx(),Z=I.ty();O.action=function(x){I.setTranslate(M+(t-M)*x,Z+(W-Z)*x)},O._37o=function(){delete I._66I,delete I._65I,I.onTranslateEnded()},I._66I=1,I._65I=Oh(O)
|
||
}else I.tx(t),I.ty(W)},f.getTranslateX=function(){return this._65O},f.setTranslateX=function(n){var K=this;n=K.adjustTranslateX(n);var t=K._65O;K._65O=n,K.fp(zj,t,n)},f.getTranslateY=function(){return this._66O},f.setTranslateY=function(_){var k=this;_=k.adjustTranslateY(_);var P=k._66O;k._66O=_,k.fp(Zl,P,_)},f.adjustTranslateX=function(k){return d(k)},f.adjustTranslateY=function(X){return d(X)},f.translate=function(M,Q,A){this.setTranslate(this.tx()+M,this.ty()+Q,A)},f.getLogicalPoint=function(I){var n=this;return xn(I,this._canvas||n._view,n.tx(),n.ty())}},ms_dm:function(b){b.dm=function(n){return n?(this.setDataModel(n),void 0):this.getDataModel()},b.getDataModel=function(){return this._dataModel}},ms_lp:function(r){r.lp=function(B){return this.getLogicalPoint(B)}},ms_v:function(l){l._disabled=!1,l.setDisabled=function(D,M){var F=this,n=F._disabled;n!==D&&(n&&(Pk(F._63O),delete F._63O),D&&(cl(F._view,F._63O=Xk(M)),F.iv()),F._disabled=D,F.fp("disabled",n,D))},l.isDisabled=function(){return this._disabled},l.getDisabledDiv=function(){return this._63O},l.getView=function(){return this._view},l.addToDOM=function(J){var Y=this,R=Y.getView(),n=R.style;J=J||E.body,J.appendChild(R),n.left="0",n.right="0",n.top="0",n.bottom="0",W(C,"resize",function(){Y.iv()}),Y.iv()},l.getWidth=function(){return this._view.clientWidth},l.getHeight=function(){return this._view.clientHeight},l.setWidth=function(I){var r=this;r._view.style.width=I+eq,r.iv(),r.fp&&r.fp(np,J,I)},l.setHeight=function(P){var M=this;M._view.style.height=P+eq,M.iv(),M.fp&&M.fp(_l,J,P)},l.setFocus=function(s){var m=this,R=m._currentEditor;return s&&R&&(R.getView&&(R=R.getView()),R.contains(s.target))?!1:(Vi(m._view),m.endEditing&&m.endEditing(),m.fireViewEvent("focus"),!0)},l.iv=function(L){this.invalidate(L)},l.invalidate=function(p){var s=this;s._68I||(s._68I=1,Lq(s.validate,s,J,p),s.onInvalidated&&s.onInvalidated(),s.fireViewEvent("invalidate"))},l.validate=function(){var l=this,i=l._view;if(l._68I&&(delete l._68I,i.parentNode))if(0===i.offsetWidth&&0===i.offsetHeight&&l._67I!==J)l._67I===a&&(l._67I=_.reinvalidateCount),l._67I>0?l._67I--:l._67I=J,l.iv();else{l.fireViewEvent("beginValidate"),l.validateImpl(),l.onValidated&&l.onValidated(),l.fireViewEvent("validate");var t=l._63O;t&&(i.lastChild!==t&&(Pk(t),cl(i,t)),Rj(t,0,0,l.getWidth(),l.getHeight())),cb(l),bf(l),Ek(l)}},l.layout=function(q,S,j,t){1===arguments.length?Rj(this,q):Rj(this,q,S,j,t)},l.addViewListener=function(G,V,N){var d=this;d._67O||(d._67O=new Hf),d._67O.add(G,V,N)},l.removeViewListener=function(m,J){this._67O.remove(m,J)},l.fireViewEvent=function(V){var y=this;y._67O&&(tg(V)&&(V={kind:V}),y._67O.fire(V)),_.viewListener&&_.viewListener(y,V)}},ms_tip:function(Q){Q.setToolTipEnabled=function(Z){var z=this;Z?Gm||z._13o||(z.enableToolTip(),z.fp("toolTipEnabled",!1,!0)):z._13o&&(z.disableToolTip(),z.fp("toolTipEnabled",!0,!1))},Q.isToolTipEnabled=function(){return!!this._13o},Q.enableToolTip=function(){var L=this;if(!Gm&&!L._13o){L._13o=function(l){var e=L.getToolTip(l);e!=J?_.toolTipContinual&&_.isToolTipShowing()?Gd(l,e):(Ln(),ip={timeout:f(cq,uo),e:l,info:e}):Ln()};var h=L.getView();W(h,Np,L._13o),W(h,"mouseleave",_.hideToolTip)}},Q.disableToolTip=function(){var p=this;if(p._13o){var $=p.getView();P($,Np,p._13o),P($,"mouseleave",_.hideToolTip),delete p._13o}},Q.getToolTip=function(i){var d=this;if(d.getDataAt){var F=d.getDataAt(i);return F?F.getToolTip():J}return d.getValue?d.getValue():void 0}},_52o:function(d){d._zoom=1,d._29I=rm,d.zoomIn=function(U,M){this.setZoom(this._zoom*os,U,M)},d.zoomOut=function(P,C){this.setZoom(this._zoom/os,P,C)},d.zoomReset=function(r,J){this.setZoom(1,r,J)},d.scrollZoomIn=function(n){this.setZoom(this._zoom*Ob,J,n)},d.scrollZoomOut=function(q){this.setZoom(this._zoom/Ob,J,q)},d.pinchZoomIn=function(b){this.setZoom(this._zoom*Qr,J,b)},d.pinchZoomOut=function(W){this.setZoom(this._zoom/Qr,J,W)},d.adjustZoom=function(l){return er>l?er:l>xp?xp:l},d.getZoom=function(){return this._zoom},d.setZoom=function(K,W,j){var p=this;if(W=Nb(W)){p._14o&&p._14o.stop(!0);var i=p._zoom;W.action=function(P){p._96O(i+(K-i)*P,j)},W._37o=function(){delete p._zooming,delete p._14o,p.onZoomEnded()},p._zooming=1,p._14o=Oh(W)}else p._96O(K,j)},d._96O=function(C,l){var I=this;if(C=I.adjustZoom(C),C!==I._zoom){I.validate();var z=I._29I,g=I._zoom;0!==z.width&&0!==z.height&&(l=l?l:{x:z.x+z.width/2,y:z.y+z.height/2},I.tx((l.x-z.x)*g-l.x*C),I.ty((l.y-z.y)*g-l.y*C)),I._zoom=C,I.fp("zoom",g,C)}}},ms_edge:function(Y){Y._2I=function(X){var F=this;F._44I||(F._44I=new Sl),F._42I||(F._42I=new Sl),F._44I.add(X),F._42I.add(X),F._20I()},Y._4I=function(Z){var N=this;N._44I||(N._44I=new Sl),N._43I||(N._43I=new Sl),N._44I.add(Z),N._43I.add(Z),N._20I()},Y._16I=function(z){var a=this;a._44I.remove(z),a._42I.remove(z),a._44I.isEmpty()&&delete a._44I,a._42I.isEmpty()&&delete a._42I,a._20I()},Y._18I=function(z){var p=this;p._44I.remove(z),p._43I.remove(z),p._44I.isEmpty()&&delete p._44I,p._43I.isEmpty()&&delete p._43I,p._20I()},Y._20I=function(){var d=this;if(delete d._45I,!d._44I||d._44I.isEmpty())return delete d._70O,void 0;var y;d._44I.each(function(_){_.isLooped()&&(y||(y={}),y[_._id]||(d._45I||(d._45I=new Sl),d._45I.add(_),y[_._id]=_))}),y?(d._70O=new Sl,d._44I.each(function(p){y[p._id]?"A"===y[p._id]||(y[p._id]="A",d._70O.add(p)):d._70O.add(p)})):d._70O=d._44I},Y.hasAgentEdges=function(){return!!this._49I&&!this._49I.isEmpty()},Y.getSourceAgentEdges=function(){return this._46I},Y.getTargetAgentEdges=function(){return this._47I},Y._1I=function(H){var o=this;o._46I||(o._46I=new Sl),o._48I||(o._48I=new Sl),o._46I.add(H),o._48I.add(H),o._19I()},Y._3I=function(X){var q=this;q._47I||(q._47I=new Sl),q._48I||(q._48I=new Sl),q._47I.add(X),q._48I.add(X),q._19I()},Y._15I=function(c){var Q=this;Q._46I.remove(c),Q._48I.remove(c),Q._46I.isEmpty()&&delete Q._46I,Q._48I.isEmpty()&&delete Q._48I,Q._19I()},Y._17I=function(u){var g=this;g._47I.remove(u),g._48I.remove(u),g._47I.isEmpty()&&delete g._47I,g._48I.isEmpty()&&delete g._48I,g._19I()},Y._19I=function(){var V=this;delete V._49I;var n=V._48I;if(n&&!n.isEmpty()){var d={};n.each(function(l){d[l._id]?V._49I||(V._49I=new Sl):d[l._id]=l}),V._49I?n.each(function(h){d[h._id]&&(V._49I.add(h),delete d[h._id])}):V._49I=n}},Y.getLoopedEdges=function(){return this._45I},Y.getEdges=function(){return this._70O},Y.getAgentEdges=function(){return this._49I},Y.getSourceEdges=function(){return this._42I},Y.getTargetEdges=function(){return this._43I},Y._8I=function(){this._70O&&this._70O.each(function(q){q._7I()})}}};Iq(_,{numberDigits:5,crossOrigin:"",baseZIndex:a,isTouchable:Gm,devicePixelRatio:C.devicePixelRatio?C.devicePixelRatio:1,reinvalidateCount:3,hitMaxArea:3e3,imageCacheThreshold:20,autoMakeVisible:!0,autoHideScrollBar:!0,disabledOpacity:.4,disabledBackground:l.disabledBackground,forceHierarchicalSerialization:!0,hoverDelay:600,clickDelay:200,toolTipDelay:800,toolTipContinual:!1,getDragger:function(){return Si},lineCap:"butt",lineJoin:"round",imageGradient:"linear.northeast",dashPattern:[16,16],encodeStringKey:null,doubleClickRange:Gm?20:1,animDuration:200,animEasing:function(r){return r*r},labelColor:lh,labelSelectColor:Lc,labelFont:(Gm?"15":"12")+"px arial, sans-serif",widgetIndent:Gm?30:20,widgetRowHeight:Gm?30:20,widgetHeaderHeight:Gm?32:22,widgetTitleHeight:Gm?34:24,scrollBarColor:_o,scrollBarSize:7,scrollBarTimeout:1e3,scrollBarMinLength:20,scrollBarInteractiveSize:Gm?32:16,zoomIncrement:1.3,scrollZoomIncrement:1.05,pinchZoomIncrement:1.08,zoomMax:20,zoomMin:.01,segmentResolution:12,shapeResolution:24,shapeSide:24,intersectionLineRect:_c,intersectionLineLine:Yb,isEnter:ki,isEsc:kj,isDelete:xj,isSpace:Mp,isLeft:Ni,isUp:Fr,isRight:Yl,isDown:Rh,getTarget:To,isString:tg,isNumber:Zq,isBoolean:Bh,isArray:Bl,isSelectAll:xg,isFunction:Gl,isObject:Dl,getPropertyValue:Yg,setPropertyValue:Og,addMethod:Iq,getVersion:function(){return"7.0.4"},isMobile:function(){var $;return function(){return $!==a?$:($=!1,function(O){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(O)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(O.substr(0,4)))&&($=!0)}(navigator.userAgent||navigator.vendor||C.opera),$)}}(),createGradient:function(h,Y,N,K,m,f,Q,x){var w=Io[Y];return w(h,N,K,m,f,Q,x)},appendToScreen:function(n){n=n.getView?n.getView():n,(E.fullscreenElement||E.mozFullScreenElement||E.webkitFullscreenElement||E.msFullscreenElement||E.body).appendChild(n)},encodeString:function(Z){return K.Math.encodeBase64(Z,_.encodeStringKey)},decodeString:function(R){return K.Math.decodeBase64(R,_.encodeStringKey)},findView:function(z){var d=function(H,N){var Q=N._ht;Q&&H.push(Q);var o=N.children,T=o.length;if(T)for(var O=0;T>O;O++)d(H,o[O])},J=[];d(J,E.body);var n=function($,Q){for(var l="2d"===Q?gf.GraphView:js.Graph3dView,T=0,s=$.length;s>T;T++)if($[T]instanceof l)return J[T];return null};return"all"===z?J:"2d"===z?n(J,"2d"):"3d"===z?n(J,"3d"):n(J,"3d")||n(J,"2d")},toggleFullscreen:function(x){var k=x.getView();if(E.fullscreenElement||E.mozFullScreenElement||E.webkitFullscreenElement||E.msFullscreenElement)E.exitFullscreen?E.exitFullscreen():E.msExitFullscreen?E.msExitFullscreen():E.mozCancelFullScreen?E.mozCancelFullScreen():E.webkitExitFullscreen&&E.webkitExitFullscreen();else{var i=!0;if(x.isSelfViewEvent){var I=x.getX(),g=x.getY(),v=x.getWidth(),U=x.getHeight(),S=k.style.background,J=k.style.backgroundColor;S||J||(k.style.backgroundColor="white"),k.requestFullscreen?k.requestFullscreen():k.msRequestFullscreen?k.msRequestFullscreen():k.mozRequestFullScreen?k.mozRequestFullScreen():k.webkitRequestFullscreen&&k.webkitRequestFullscreen();var z=setInterval(function(){if(k!==(E.fullscreenElement||E.mozFullScreenElement||E.webkitFullscreenElement||E.msFullscreenElement))clearInterval(z),x.setX(I),x.setY(g),x.setWidth(v),x.setHeight(U),x._fullscreen=!1,k.style.oldBackgroundColor=J,x.iv();else{var D=K.Default.getWindowInfo();(i||D.width!==x.getWidth()||D.height!==x.getHeight())&&(x.setX(D.left),x.setY(D.top),x.setWidth(D.width),x.setHeight(D.height),x._fullscreen=!0,x.iv(),i=!1)}},500)}else{var L=k.style.left,R=k.style.top,v=k.style.width,U=k.style.height,S=k.style.background,J=k.style.backgroundColor;S||J||(k.style.backgroundColor="white"),k.requestFullscreen?k.requestFullscreen():k.msRequestFullscreen?k.msRequestFullscreen():k.mozRequestFullScreen?k.mozRequestFullScreen():k.webkitRequestFullscreen&&k.webkitRequestFullscreen();var z=setInterval(function(){if(k!==(E.fullscreenElement||E.mozFullScreenElement||E.webkitFullscreenElement||E.msFullscreenElement))clearInterval(z),k.style.left=L,k.style.top=R,k.style.width=v,k.style.height=U,k.style.oldBackgroundColor=J,x.iv();else{var C=K.Default.getWindowInfo();(i||C.width!==x.getWidth()||C.height!==x.getHeight())&&(Rj(x),i=!1)}},500)}}},appendTimeStamp:function(i){return i},setCompType:function(F,S){Gl(S)||Dl(S)?kq[F]=S:Ri(F)},getCompType:function(y){var k=kq[y];return k===a&&So.test(y)&&Ri(y),k},getCompTypeMap:function(){return kq},drawCompType:function(P,g,Y,V,b,h){P(g,Y,V,b,h)},numberListener:function(){var a={46:1,8:1,9:1,27:1,13:1,109:1,110:1,189:1,190:1};return function(x){var y=x.keyCode;a[y]||65===y&&_.isCtrlDown(x)||86===y&&_.isCtrlDown(x)||67===y&&_.isCtrlDown(x)||88===y&&_.isCtrlDown(x)||y>=35&&40>=y||(x.shiftKey||48>y||y>57)&&(96>y||y>105)&&x.preventDefault()}}(),ignoreKeyCodes:[122,123],preventDefault:function(J){var N=J.target.tagName;("DIV"===N||"CANVAS"===N)&&!(_.ignoreKeyCodes.indexOf(J.keyCode)>=0)&&("keydown"!==J.type||Ni(J)||Yl(J)||Fr(J)||Rh(J)||xj(J)||65===J.keyCode&&(J.metaKey||J.ctrlKey))&&(J.preventDefault(),J.preventManipulation&&J.preventManipulation())},getWindowInfo:function(){var Q=E.documentElement,F=Q&&(Q.scrollLeft||Q.scrollTop)?Q:E.body;return{target:F,left:F.scrollLeft,top:F.scrollTop,width:C.innerWidth||F.clientWidth,height:C.innerHeight||F.clientHeight}},isDragging:function(){return!!Si},isLeftButton:function(q){return Gm?!0:0===q.button},isMiddleButton:function(E){return Gm?!1:E&&(1===E.button||4&(E.buttons||0))},isInput:function(W){if(!W)return!1;var _=W.tagName;return"INPUT"===_||"TEXTAREA"===_||"SELECT"===_},getTouchCount:function($){return Gm?$.touches.length:1},isDoubleClick:function(){function Y(n){n.details=0,n.timeout=null,n.lastPoint=null}var m={};return ns=new k,Go=ns.getTime(),function(p){if(p.touches&&p.touches.length>1)return!1;var b=p.button==J?"":p.button,D=p.type+b,j=D+"_isDoubleClick",B=m[D];if(B||(B=m[D]={details:0,timeout:null,lastPoint:null}),p[j]===a){p[j]=!0;var M=Rb(p);B.timeout&&(i(B.timeout),B.timeout=null),B.lastPoint&&Kk(B.lastPoint,M)>_.doubleClickRange&&Y(B),B.lastPoint=M,B.details++,B.timeout=f(function(){Y(this)}.bind(B),500)}return 2===B.details}}(),isShiftDown:function(Q){return Q?Q.shiftKey:qg["16"]},isCtrlDown:function(J){return J?si?J.metaKey:J.ctrlKey:si?qg["91"]:qg["17"]},getClientPoint:function(t){return Gm&&(t=ge(t)),{x:t.clientX,y:t.clientY}},isMouseEvent:function(h){return h instanceof MouseEvent||0===h.type.indexOf("mouse")},getTargetElement:function(k){if(_.isMouseEvent(k)||!E.elementFromPoint)return k.target;var f=oj(k);return E.elementFromPoint(f.x,f.y)},getPagePoint:function(i){return Gm&&(i=ge(i)),{x:i.pageX,y:i.pageY}},createObject:function(o,i){var y=new o;for(var E in i){var w=i[E];if(Gl(w))y[E]=w;else if(0===E.indexOf("s:"))y.s(E.substr(2),i[E]);else if(0===E.indexOf("a:"))y.a(E.substr(2),i[E]);else{var k=Kf(E),w=i[E];y[k]?(y[k](w),"setToolTip"===k&&y.enableToolTip&&y.enableToolTip()):y[E]=w}}return y},setImage:function(s,H,f,q){var n=arguments.length;4===n?xb(s,q,H,f):2===n?tg(H)?xb(s,H):rn(s,H):1===n&&xb(s,s)},getImage:function(C,n,r){var N;if(C==J)return J;if(Dl(C)?N=C:(N=Co[C],C&&N===a&&(Wi&&Wi[C]||xb(C,C))),n&&N&&N.tagName){var i;i="override"===r?"colors_override":"override_rgb"===r?"colors_override_rgb":"override_a"===r?"colors_override_a":"colors",N[i]||(N[i]={__count__:0});var q=N[i][n];return q||(N[i].__count__>_.imageCacheThreshold&&(N[i]={__count__:0}),q=Kc(N,Qd(n),N.width,N.height,r),N[i][n]=q,N[i].__count__++),q}return N},isImageComplete:function(d,V,Z){var g=Kg(d);if(!g)return!1;if(g.tagName)return g.complete;for(var B,d,S,v=g.comps,p=!0,o=0,r=v.length;r>o;o++)if(B=v[o],S=B.type,"image"===B.type){d=B.name,d&&d.func&&(d=jc(d,V));var M=sl(d,V,Z);if(!M){p=!1;break}}else if(So.test(S)&&_.getCompType(S)===a){p=!1,Ri(S);break}return p},getId:function(){var I=1;return function(){return++I}}(),callLater:function(a,U,u,e){var E=function(){a.apply(U,u)};return e?f(E,e):C.requestAnimationFrame(E)},cancelLater:function(A,h){h?i(A):C.cancelAnimationFrame(A)},clone:function(e){if(null==e||"object"!=typeof e)return e;if(e instanceof Date){var l=new Date;return l.setTime(e.getTime()),l}if(e instanceof Array){for(var l=[],j=0,N=e.length;N>j;j++)l[j]=Ej(e[j]);return l}if(e instanceof Sl){for(var l=new Sl,j=0,N=e.length;N>j;j++)l.set(j,Ej(e.get(j)));return l}if(e instanceof fg)return e;if(e instanceof F){var l={};for(var V in e)e.hasOwnProperty(V)&&(l[V]=Ej(e[V]));return l}return e},callWhenLoaded:function(Q,j){j=j||100;var g=di(Q,j);kn||(kn={}),kn[g]={tick:g,cb:Q,delay:j}},beforeLoadURL:function(J){if(kn){var K={};for(var b in kn){var L=kn[b];i(L.tick);var C=di(L.cb,L.delay);K[C]={tick:C,delay:L.delay,cb:L.cb}}kn=K}return _.convertURL?_.convertURL(J):J},convertURL:function(q){return q},handleRefGraphLoaded:function(){},handleCompTypeLoaded:function(){},handleImageLoaded:function(){},handleUnfoundImage:function(){return _.getImage("default_blank")},sortFunc:function(q,W){if(q===W)return 0;if(q==J&&W!=J)return 1;if(q!=J&&W==J)return-1;if(q==J&&W==J)return 0;var Q,c=typeof q,V=typeof W;return c===qq&&V===qq?Q=q.localeCompare(W):c===Af&&V===Af&&(Q=q-W),Q===a&&(Q=(""+q).localeCompare(""+W)),Q>0?1:0>Q?-1:0},getClassMap:function(){return Ec},getClass:function(z){if(tg(z)){var Q,g=Ec[z];if(!g){Q=z.split("."),g=C;for(var A=0;A<Q.length;A++)g=g[Q[A]];Ec[z]=g}return g}return z},def:function(J,P,w){var A,c,O,L=function(){};if(L.prototype=P.prototype,A=new L,tg(J)){if(Ec[J])throw"'"+J+"' already defined";O=Dq(J),A.getClassName=function(){return J}}else O=J;if(A.constructor=O,A.getClass=function(){return O},A.getSuperClass=function(){return P},w)for(c in w)ah[c]&&ah.hasOwnProperty(c)?ah[c](A,w):ne(A,w,c);O.prototype=A,O.superClass=P.prototype},startAnim:function(){var p=function(R){R.duration&&(R.startTime=eh()),R.timeId=Lq(R.tick,J,J,R.interval)};return function(n){return n=Ej(n),n.easing=n.easing||_.animEasing,n.duration||n.frames||(n.duration=_.animDuration),n.t=0,n.duration?n.interval=0:(n.frame=0,n.interval=n.interval||10),n.tick=function(){if(n.duration){var E=(eh()-n.startTime)/n.duration;if(E>1&&(E=1),n.t=E,n.action(n.easing(E),E),!n.isRunning())return;1===E?n.stop():n._isPaused||(n.timeId=Lq(n.tick))}else{if(n.frame++,E=n.t=n.frame/n.frames,n.action(n.easing(E),E),!n.isRunning())return;n.frame<n.frames?n._isPaused||(n.timeId=Lq(n.tick,J,J,n.interval)):n.stop()}},n.resume=function(){n._isPaused&&(delete n._isPaused,n.duration?n.t<1&&(n.startTime=eh()-n.duration*n.t,n.timeId=Lq(n.tick)):n.frame<n.frames&&(n.timeId=Lq(n.tick,J,J,n.interval)))},n.pause=function(){Se(n.timeId,!n.duration),n._isPaused=!0},n.isPaused=function(){return this._isPaused},n.stop=function(H){n.isRunning()&&(Se(n.timeId,!n.duration),delete n.timeId,n.duration?n.t<1&&H&&(n.t=1,n.action(n.easing(1),1)):n.frame<n.frames&&H&&(n.frame=n.frames,n.action(n.easing(1),1)),n._37o&&n._37o(),n.finishFunc&&n.finishFunc())},n.isRunning=function(){return n.timeId!=J},n.delay?Lq(p,J,[n],n.delay):p(n),n}}(),getTextSize:function(){var y={},N=E?dp().getContext("2d"):J;return function(C,g){N.font=C?C:dm;var m=y[N.font];return m||(m=2*N.measureText("e").width+4,y[N.font]=m),{width:N.measureText(g).width+4,height:m}}}(),drawText:function(N,w,D,U,s,F,x,P,v,K){if(w!=J){var k=dc(D,w),i={};i.y=K&&K!==gs?K===Gh?F+k.height/2:F+P-k.height/2:F+P/2,i.x=v&&v!==rg?v===cd?s+x-k.width/2:s+x/2:s+k.width/2,gk(N,w,i,D,U)}},getDistance:function(K,q){var p=K.length;return q?3===p?s($(K[0]-q[0])+$(K[1]-q[1])+$(K[2]-q[2])):2===p?s($(K[0]-q[0])+$(K[1]-q[1])):K.z===a?s($(q.x-K.x)+$(q.y-K.y)):s($(q.x-K.x)+$(q.y-K.y)+$(q.z-K.z)):3===p?s($(K[0])+$(K[1])+$(K[2])):2===p?s($(K[0])+$(K[1])):void 0},brighter:function(O,R){return 0>R&&(R=-R),gb(O,R?R:40)},darker:function(_,A){return A>0&&(A=-A),gb(_,A?A:-40)},unionPoint:function(R,h){if(!R)return J;if(2===arguments.length)return R&&h?{x:g(R.x,h.x),y:g(R.y,h.y),width:x(R.x-h.x),height:x(R.y-h.y)}:J;var C=R;if(C._as&&(C=C._as),C.length===a)return J;var e=C.length;if(0>=e)return J;for(var z=1,o=C[0],M={x:o.x,y:o.y,width:0,height:0};e>z;z++){o=C[z];var B=g(M.x,o.x),Q=t(M.x+M.width,o.x),Z=g(M.y,o.y),I=t(M.y+M.height,o.y);M.x=B,M.y=Z,M.width=Q-B,M.height=I-Z}return M},unionRect:function(O,h){if(O&&!h)return Ej(O);if(!O&&h)return Ej(h);if(O&&h){var M={x:g(O.x,h.x),y:g(O.y,h.y)};return M.width=t(O.x+O.width,h.x+h.width)-M.x,M.height=t(O.y+O.height,h.y+h.height)-M.y,M}return J},containsPoint:function(g,O,w,c){if(c!=J&&1!==c){var b=g.x+g.width/2,Q=g.y+g.height/2;g={x:b-g.width/2*c,y:Q-g.height/2*c,width:g.width*c,height:g.height*c}}if(w){var f=g.width/2,j=g.height/2,x=q(-w),X=L(-w),S=O.x-g.x-f,G=O.y-g.y-j;return O={x:X*S-x*G,y:x*S+X*G},Cs({x:-f,y:-j,width:g.width,height:g.height},O)}return!(!g||O.x<g.x||O.y<g.y||O.x>g.x+g.width||O.y>g.y+g.height)},containsRect:function(x,K){if(!x||!K)return!1;var j=K.x,R=K.y,c=K.width,h=K.height,n=x.width,s=x.height;if(0>(n|s|c|h))return!1;var u=x.x,D=x.y;if(u>j||D>R)return!1;if(n+=u,c+=j,j>=c){if(n>=u||c>n)return!1}else if(n>=u&&c>n)return!1;if(s+=D,h+=R,R>=h){if(s>=D||h>s)return!1}else if(s>=D&&h>s)return!1;return!0},intersectsRect:function(u,A){if(!u||!A)return!1;var i=A.width,y=A.height,G=u.width,F=u.height;if(0>=G||0>=F||0>=i||0>=y)return!1;var S=A.x,g=A.y,R=u.x,h=u.y;return G+=R,F+=h,i+=S,y+=g,G>S&&F>g&&i>R&&y>h},intersection:function(A,i){if(!A||!i)return J;var c=i.x,o=i.y,d=A.x,q=A.y,Y=c,N=o,F=d,b=q;return Y+=i.width,N+=i.height,F+=A.width,b+=A.height,d>c&&(c=d),q>o&&(o=q),Y>F&&(Y=F),N>b&&(N=b),Y-=c,N-=o,0>=Y||0>=N?J:{x:c,y:o,width:Y,height:N}},grow:function(N,c,U){U===a&&(U=c),N.x-=c,N.y-=U,N.width=N.width+2*c,N.height=N.height+2*U},getScreenPoint:function(F,U,y,A,k,O,H){var J=y.getBoundingClientRect(),G=F*(O||1)-y.scrollLeft+(A||0),R=U*(H||1)-y.scrollTop+(k||0),Y=of(y,!1);if(Y){var s=new Le(G,R,0);return s.applyMatrix4(Y),console.log(s),{x:s.x,y:s.y}}return{x:G+J.left,y:R+J.top}},getLogicalPoint:function(t,D,n,N,l,f){var F,e,Q=D.getBoundingClientRect();t.target?(xr(t)?si?qg["91"]=!0:qg["17"]=!0:si?qg["91"]=!1:qg["17"]=!1,qg["16"]=Bc(t)?!0:!1,t=Gm?ge(t):t,F=t.clientX,e=t.clientY):(F=t.x,e=t.y);var L=of(D,!0);if(L){var r=new Le(F,e,0);r.applyMatrix4(L);do{if(Math.abs(r.z)<=1e-6)break;var G=new Le(F,e,1);if(G.applyMatrix4(matrix),Math.abs(G.z)<=1e-6){r=G;break}if(G.sub(r),Math.abs(G.z)<=1e-6)break;r.addScaledVector(G,-r.z/G.z)}while(!1);return{x:(r.x+D.scrollLeft-(n||0))/(l||1),y:(r.y+D.scrollTop-(N||0))/(f||1)}}return{x:(F-Q.left+D.scrollLeft-(n||0))/(l||1),y:(e-Q.top+D.scrollTop-(N||0))/(f||1)}},removeHTML:function(){var O;return function(t){return t&&t.getView&&(t=t.getView()),t&&t.parentNode?O===t?!0:(O=t,t.parentNode.removeChild(t),O=J,!0):!1}}(),getToolTipDiv:function(){if(!Vn){Vn=nl(),mq=nl();var H=Vn.style;_.baseZIndex!=J&&(H.zIndex=z(_.baseZIndex)+3+""),H.whiteSpace="nowrap",H.color=_.toolTipLabelColor,H.background=_.toolTipBackground,H.font=_.toolTipLabelFont,H.padding="5px",H.boxShadow="0px 0px 3px "+_.toolTipShadowColor}return Vn},isToolTipShowing:function(){return Vn&&Vn.parentNode?!0:mq&&mq.parentNode?!0:!1},hideToolTip:function(){Pk(Vn),Pk(mq),Op()},showToolTip:function(S,k){if(!S||k==J)return Ln(),void 0;_.getToolTipDiv();var Y,e;if(k.html?(k=k.html,Y=mq,Pk(Vn)):(Y=Vn,Pk(mq)),e=Y.style,Y.innerHTML=k,Y.parentNode||K.Default.appendToScreen(Y),S.target){S=oj(S);var t=zq(),h=S.x,g=S.y,Z=Gm?60:12;if(Gm){var f=Y.getBoundingClientRect();e.left=h-f.width/2+eq,e.top=g-f.height-Z<t.top?g+Z+eq:g-f.height-Z+eq}else{e.left=h+Z+eq,e.top=g+Z+eq;var f=Y.getBoundingClientRect();f.left+f.width>t.width&&(e.left=h-Z-f.width+eq),f.top+f.height>t.height&&(e.top=g-Z-f.height+eq),f.left<0&&(e.left=h+Z+eq),f.top<0&&(e.top=g+Z+eq)}}else e.left=S.x+eq,e.top=S.y+eq;Op()},startDragging:function(R,I,Y){Y==a&&(Y=!0),R!==Si&&(Si?Y&&(Gm?Si.handleWindowTouchEnd(I):Si.handleWindowMouseUp(I)):Gm?(W(C,ob,$d),W(C,Zr,af)):(W(C,Np,Ig),W(C,Fg,Nf)),Si=R)},getImageMap:function(){return Co},toBoundaries:function(D,m,$,o){var k=[];return Wc(D,m,$,o).forEach(function(x){var p=[];x.forEach(function(P){p.push(P.x,P.y)}),k.push(p)}),k},getCurrentKeyCodeMap:function(){return qg},drawCenterImage:function(g,O,C,G,e,R,I,Y){!e&&R&&R.isSelfViewEvent&&(e=R);var x=vj(O,e,R),l=Cj(O,e,R);Bq(g,O,d(C-x/2),d(G-l/2),x,l,e,R,I,Y)},drawStretchImage:function(O,t,P,I,Y,$,q,B,l,i,T,o){!B&&l&&l.isSelfViewEvent&&(B=l);var W,u=vj(t,B,l,$),m=Cj(t,B,l,q);"uniform"===P?(W=g($/u,q/m),u*=W,m*=W,I+=d(($-u)/2),Y+=d((q-m)/2),$=u,q=m):"centerUniform"===P&&((u>$||m>q)&&(W=g($/u,q/m),u*=W,m*=W),I+=d(($-u)/2),Y+=d((q-m)/2),$=u,q=m);var x=O.interactiveInfo;if(x){var E;if(E="center"===P?{x:I+$/2-u/2,y:Y+q/2-m/2,width:u,height:m}:{x:I,y:Y,width:$,height:q},x.rect){var C=x.compInfos,j=C.length;j&&(C[j-1].rect.image=t)}else x.rect=E}if("center"===P){var Q=T!==!1&&(u>$||m>q);Q&&(O.save(),O.beginPath(),O.rect(I,Y,$,q),O.clip()),Bq(O,t,I+$/2-u/2,Y+q/2-m/2,u,m,B,l,i,o),Q&&O.restore()}else Bq(O,t,I,Y,$,q,B,l,i,o)},toCanvas:function(b,O,t,w,q,P,C,Z,I){b=Kg(b,C),O=O||vj(b,q),t=t||Cj(b,q);var e=dp(),n=ir(e);return Z?(If(e,O,t,Z),n.scale(Z,Z)):If(e,O,t,1),jl(n,b,w,0,0,O,t,q,P,C,I),b&&b.clampToEdge&&(e.clampToEdge=b.clampToEdge),n.restore(),e},toGrayColor:function(m){if(!m)return m;var g=Oo(m),e=.299*g[0]+.587*g[1]+.114*g[2];return"rgba("+e+","+e+","+e+","+g[3]/255+")"},createGradientImage:function(o,H,G,J){for(var C=["L",0,0,o,0,1,0,0,1,0,0],P=0,v=Math.min(H.length,G.length);v>P;P++)C.push(G[P],H[P]);var k=K.Default.toCanvas({width:o,height:o,clampToEdge:!0,comps:[{type:"shape",rotation:J||0,points:[0,0,o,0,o,o,0,o],background:"#ffffff",gradientPack:C}]});return k},createElement:function(P,x,y,Z){var Y=E.createElement(P);return Mr(Y,x||l.widgetBorder,2),Y.style.font=y?y:dm,Z!=J&&(Y.value=Z),_.onElementCreated&&_.onElementCreated(Y),Y},containedInView:function(h,x){var P=us(x).getBoundingClientRect();return Cs({x:P.left,y:P.top,width:P.width,height:P.height},Rb(h))},isIsolating:function(){return mr>0},setIsolating:function(e){e?mr++:mr--},getMSMap:function(){return ah},stringify:function(d,h,D){var s=Date.prototype.toJSON;Date.prototype.toJSON=function(){return"__ht__date"+this.getTime()};var g=JSON.stringify(d,function(S,r){return"function"==typeof r?"__ht__"+(r.__ht__||r.toString()):Zq(r)?Vd(r):r instanceof K.List?"__ht__list"+(r.__ht__list||_.stringify(r._as)):r},h==J?2:h);return Date.prototype.toJSON=s,D&&(g="__ht__encode"+_.encodeString(g)),g},parse:function(d){return tg(d)?"__ht__encode"!=d.substr(0,12)||(d=_.decodeString(d.substr(12)),tg(d))?JSON.parse(d,function(W,i){if(tg(i))if("__ht__function"==i.substr(0,14)){var o=i.indexOf("{")+1,I=i.lastIndexOf("}"),C=i.indexOf("(")+1,s=i.indexOf(")");if(o&&I&&C&&s){var M=new Function(i.substring(C,s),i.substring(o,I));return M.__ht__=i.substr(6),M}}else{if("__ht__date"==i.substr(0,10))return new Date(z(i.substr(10)));if("__ht__list"===i.substr(0,10))return new Sl(_.parse(i.substr(10)))}return i}):d:d},loadJS:function(f,l){l&&f.push(l);var H=f.shift();if(Bl(H))f=H.contact(f),_.loadJS(f);else if(Gl(H))H(),_.loadJS(f);else if(tg(H)){var T=E.createElement("script");T.onload=function(){_.loadJS(f)},T.setAttribute("src",H),E.getElementsByTagName("head")[0].appendChild(T)}else f.length&&_.loadJS(f)},toRoundedCorner:function(M,s){var P=M.size();if(0>=s)return{points:M};var F,p=new Sl,r=new Sl,h=M.get(0);p.add(h),r.add(1);for(var Y=1;P>Y;Y++)if(P>Y+1){var l=M.get(Y),B=M.get(Y+1),E=h.x,A=h.y,y=l.x,G=l.y,T=G-A,S=y-E,Z=v(T,S);F=g(.99*Kk(h,l),s),p.add({x:y-F*L(Z),y:G-F*q(Z)}),p.add(l),E=l.x,A=l.y,y=B.x,G=B.y,T=G-A,S=y-E,Z=v(T,S),F=g(.99*Kk(l,B),s),h={x:E+F*L(Z),y:A+F*q(Z)},p.add(h),r.addAll([2,3])}else p.add(M.get(Y)),r.add(2);return{points:p,segments:r}},toColorData:Oo,setCanvas:If,createDiv:nl,createDisabledDiv:Xk,createView:Mm,createCanvas:dp,appendChild:cl,initContext:ir,checkLoadingImage:cb,translateAndScale:Nh,layout:Rj,getPosition:aj,drawPoints:tm,drawRoundRect:Sd,drawBorder:Pm,setFocus:Vi,getter:yj,setter:Kf,isEmptyObject:Mb,cameraPriority:function(){var w={skybox:0,main:1e4,top:1e7};return F.seal(F.defineProperties({},{skybox:{configurable:!1,enumerable:!1,get:function(){return w.skybox},set:function(W){if(W>=w.main)throw new RangeError("Skybox camera must have lower priority than the main camera.");w.skybox=Number(W)}},main:{configurable:!1,enumerable:!1,get:function(){return w.main},set:function(K){if(K<=w.skybox)throw new RangeError("Main camera must have higher priority than the skybox camera.");if(K>=w.top)throw new RangeError("Main camera must have lower priority than the top camera.");w.main=Number(K)}},top:{configurable:!1,enumerable:!1,get:function(){return w.top},set:function(O){if(O<=w.main)throw new RangeError("Top camera must have higher priority than the main camera.");w.top=Number(O)}}}))}()},!0),Iq(R,{autoAdjustIndex:1,hierarchicalRendering:1,adjustChildrenToTop:1,autoHideScrollBar:1,autoUpdate:1,firstPersonMode:1,ortho:1,strict:1,stickToRight:1,instant:1,closePath:1,hierarchical:1,doubleClickToToggle:1,continuousLayout:1,syncSize:1},!0);var jd=_.disabledOpacity,uo=_.toolTipDelay,Kr=_.devicePixelRatio,Fb=_.autoMakeVisible,Gp=_.autoHideScrollBar,iq=_.imageGradient,Gd=_.showToolTip,Ln=_.hideToolTip,Qn=_.dashPattern,or=_.lineCap,Xf=_.lineJoin,sp=_.labelColor,tc=_.labelSelectColor,dm=_.labelFont,Gb=_.widgetIndent,Zg=_.widgetRowHeight,Am=_.widgetHeaderHeight,kg=_.widgetTitleHeight,al=_.scrollBarColor,lj=_.scrollBarSize,vi=_.scrollBarTimeout,vd=_.scrollBarMinLength,wc=_.scrollBarInteractiveSize,os=_.zoomIncrement,Ob=_.scrollZoomIncrement,Qr=_.pinchZoomIncrement,xp=_.zoomMax,er=_.zoomMin,_g=_.createObject,nm=_.preventDefault,mm=_.setImage,Kg=_.getImage,sl=_.isImageComplete,Uf=_.drawCenterImage,jl=_.drawStretchImage,go=_.getId,Lq=_.callLater,Se=_.cancelLater,Um=_.sortFunc,Ej=_.clone,Dq=_.getClass,Oh=_.startAnim,ss=_.brighter,ys=_.darker,Ap=_.drawText,dc=_.getTextSize,ve=_.isLeftButton,Sn=_.isMiddleButton,xh=_.getTouchCount,Gj=_.isDoubleClick,Bc=_.isShiftDown,xr=_.isCtrlDown,Rb=_.getClientPoint,oj=_.getPagePoint,Kk=_.getDistance,Ih=_.unionPoint,Aq=_.unionRect,Cs=_.containsPoint,re=_.containsRect,jg=_.intersectsRect,Im=_.intersection,zq=_.getWindowInfo,Bd=_.grow,xn=_.getLogicalPoint,Em=_.getScreenPoint,ff=_.startDragging,Pk=_.removeHTML,Sj=_.createElement,mo=_.segmentResolution,Uc=_.shapeResolution,he=_.shapeSide,Be=_.def,Pe=function(j,X,x){Be(D+"."+j,X,x)},ml=function(X,c){X.childNodes.forEach(function(J){c(J),ml(J,c)})};Iq(_,{toolTipLabelColor:sp,toolTipLabelFont:dm,toolTipBackground:l.toolTipBackground,toolTipShadowColor:_o,drawBreakableText:kh,setDevicePixelRatio:function(q){Kr=_.devicePixelRatio="number"==typeof q?q:C.devicePixelRatio,ml(E.body,function(B){var Y=B._ht;Y&&Y._canvas&&(If(Y._canvas,Y.getWidth(),Y.getHeight()),Y.redraw?Y.redraw():Y.iv())})}},!0);var ab=1e-6,aq="undefined"!=typeof Uint16Array?Uint16Array:Array,Ml="undefined"!=typeof Float32Array?Float32Array:Array,uj=function(Y,Q,w){var q=[Y[0]-Q[0],Y[1]-Q[1],Y[2]-Q[2]];if(w){var E=Kk(q);E>0&&(q[0]/=E,q[1]/=E,q[2]/=E)}return q},sb=function(){var m="charCodeAt",g=2*(2*xq.length+1);for(var h in C)if(h===D+rg[0]+(eq.length+2)){var l=C[h];if(!l)break;for(var q=l.length,M=0;q>M;M++)if(l[M][m](0)===g&&l[M+1]!=J&&l[M+1]===eq[0]&&l[M+2]!=J&&l[M+2][m](0)===g){for(var d=M+3;q>d;d++)if(l[d][m](0)===g){if(0==l[d+1])for(var T,j=d+2;q>j;j++){if(l[j][m](0)===g){0==l[j-1]&&T&&(Xm=T.substr(0,T.length-1));break}T==J?T=l[j]:T+=l[j]}break}break}break}return function(P){return[-P[0],-P[1],-P[2]]}}(),Pj=function(o,T){return 3===o.length?o[0]*T[0]+o[1]*T[1]+o[2]*T[2]:o[0]*T[0]+o[1]*T[1]},pg=function(){var E=new Ml(16);return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=1,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=1,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E
|
||
},oh=pg(),Dc=function(N){var S=new Ml(16);return S[0]=N[0],S[1]=N[1],S[2]=N[2],S[3]=N[3],S[4]=N[4],S[5]=N[5],S[6]=N[6],S[7]=N[7],S[8]=N[8],S[9]=N[9],S[10]=N[10],S[11]=N[11],S[12]=N[12],S[13]=N[13],S[14]=N[14],S[15]=N[15],S},Wb=function(E,w){return E[0]=w[0],E[1]=w[1],E[2]=w[2],E[3]=w[3],E[4]=w[4],E[5]=w[5],E[6]=w[6],E[7]=w[7],E[8]=w[8],E[9]=w[9],E[10]=w[10],E[11]=w[11],E[12]=w[12],E[13]=w[13],E[14]=w[14],E[15]=w[15],E},ng=function(R){return R[0]=1,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=1,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=1,R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},pk=function(O,y){var E=O[0],l=O[1],x=O[2];return O[0]=y[0]*E+y[4]*l+y[8]*x+y[12],O[1]=y[1]*E+y[5]*l+y[9]*x+y[13],O[2]=y[2]*E+y[6]*l+y[10]*x+y[14],O},Fp=function(v,M){var X=v[0],x=v[1],t=v[2],z=v[3];return v[0]=M[0]*X+M[4]*x+M[8]*t+M[12]*z,v[1]=M[1]*X+M[5]*x+M[9]*t+M[13]*z,v[2]=M[2]*X+M[6]*x+M[10]*t+M[14]*z,v[3]=M[3]*X+M[7]*x+M[11]*t+M[15]*z,v},Ur=function(){var L,v,g,V,O=Zo(km[1]+km[7]),l=Zo(km[0]+km[3]-km[10]),f=Zo(km[8]+2),z=function(){return v=g.charAt(L),L+=1,v},x=function(){var y="";if(v===f)for(;z();){if(v===f)return z(),y;y+=v}else z()},_=function(){for(;v&&" ">=v;)z()},I=function(){var g,Q={};if(v===O){if(z(),_(),v===l)return z(),Q;for(;v;){if(g=x(),_(),z(),Q[g]=V(),_(),v===l)return z(),Q;z(),_()}}};return V=function(){switch(_(),v){case O:return I();default:return x()}},function(O){if(N={},O){var S;if(g=O,L=0,v=" ",S=V(),_(),!v)return S}}}(),Jj=function(N,C){if(C){var H=q(C),Q=L(C),P=N[4],Z=N[5],b=N[6],V=N[7],t=N[8],c=N[9],k=N[10],G=N[11];N[4]=P*Q+t*H,N[5]=Z*Q+c*H,N[6]=b*Q+k*H,N[7]=V*Q+G*H,N[8]=t*Q-P*H,N[9]=c*Q-Z*H,N[10]=k*Q-b*H,N[11]=G*Q-V*H}},Sg=function(V,r){if(r){var S=q(r),$=L(r),j=V[0],G=V[1],t=V[2],U=V[3],B=V[8],H=V[9],g=V[10],W=V[11];V[0]=j*$-B*S,V[1]=G*$-H*S,V[2]=t*$-g*S,V[3]=U*$-W*S,V[8]=j*S+B*$,V[9]=G*S+H*$,V[10]=t*S+g*$,V[11]=U*S+W*$}},Yc=function(C,n){if(n){var y=q(n),P=L(n),l=C[0],R=C[1],r=C[2],X=C[3],o=C[4],m=C[5],E=C[6],W=C[7];C[0]=l*P+o*y,C[1]=R*P+m*y,C[2]=r*P+E*y,C[3]=X*P+W*y,C[4]=o*P-l*y,C[5]=m*P-R*y,C[6]=E*P-r*y,C[7]=W*P-X*y}},br=function(g,B,M){return mk(J,M===!1?J:g.getFinalScale3d(),g.getFinalRotation3d(),g.getRotationMode(),g.p3(),J,B)},mk=function(u,c,H,D,t,i,W){return i||(i=pg()),t&&rr(i,t),ii(i,H,D),W&&wf(i,i,W),c&&Ze(i,c),u&&wf(i,i,u),i},dq=function(k,r,O){r=z(r),O=z(O);var R=this;R.g=k,R._84O=r,R._85O=O,R._70I=!0,R.F=0,R._83O=r+O,R.pen={x:0,y:0}},Kh="lineDashOffset",bs="setLineDash",hm=function(x){for(var W in x)1===W.length&&(Kh=x[W]);return W?1:0},Wp=function(K,A,Z){return _r(A)?K:K[bs]?(K[bs](A),Z&&(K.lineDashOffset=Z),K):new dq(K,A[0],A.length>1?A[1]:A[0])},qb=function(M,l){!_r(l)&&M[bs]&&(M[bs](Jg),M.lineDashOffset=0)};if(Be(dq,F,{_69I:6,moveTo:function(L,Q){var w=this,M=w.pen;M.x=L,M.y=Q,w.g.moveTo(L,Q),w.start||(w.start={x:L,y:Q})},lineTo:function(x,H){var y=this,c=y.pen,k=x-c.x,F=H-c.y,K=v(F,k),Q=L(K),d=q(K),I=y._23O(c.x,c.y,x,H),S=y._85O,C=y._84O,n=y._83O;if(y.F){if(y.F>I)return y._70I?y._72I(x,H):y.moveTo(x,H),y.F-=I,void 0;if(y._70I?y._72I(c.x+Q*y.F,c.y+d*y.F):y.moveTo(c.x+Q*y.F,c.y+d*y.F),I-=y.F,y.F=0,y._70I=!y._70I,!I)return}var P=Y(I/n);if(P){for(var J=Q*C,R=d*C,t=Q*S,B=d*S,T=0;P>T;T++)y._70I?(y._72I(c.x+J,c.y+R),y.moveTo(c.x+t,c.y+B)):(y.moveTo(c.x+t,c.y+B),y._72I(c.x+J,c.y+R));I-=n*P}y._70I?I>C?(y._72I(c.x+Q*C,c.y+d*C),y.moveTo(x,H),y.F=S-(I-C),y._70I=!1):(y._72I(x,H),I===C?(y.F=0,y._70I=!y._70I):(y.F=C-I,y.moveTo(x,H))):I>S?(y.moveTo(c.x+Q*S,c.y+d*S),y._72I(x,H),y.F=C-(I-S),y._70I=!0):(y.moveTo(x,H),I===S?(y.F=0,y._70I=!y._70I):y.F=S-I)},quadraticCurveTo:function(G,U,K,M){var A,H=this,g=H.pen,y=g.x,T=g.y,n=H._22O(y,T,G,U,K,M),V=0,L=0,w=H._85O,D=H._84O;if(H.F){if(H.F>n)return H._70I?H._71I(G,U,K,M):H.moveTo(K,M),H.F-=n,void 0;if(V=H.F/n,A=H._20O(y,T,G,U,K,M,V),H._70I?H._71I(A[2],A[3],A[4],A[5]):H.moveTo(A[4],A[5]),H.F=0,H._70I=!H._70I,!n)return}var k=n-n*V,R=Y(k/H._83O),Z=D/n,f=w/n;if(R)for(var P=0;R>P;P++)H._70I?(L=V+Z,A=H._21O(y,T,G,U,K,M,V,L),H._71I(A[2],A[3],A[4],A[5]),V=L,L=V+f,A=H._21O(y,T,G,U,K,M,V,L),H.moveTo(A[4],A[5])):(L=V+f,A=H._21O(y,T,G,U,K,M,V,L),H.moveTo(A[4],A[5]),V=L,L=V+Z,A=H._21O(y,T,G,U,K,M,V,L),H._71I(A[2],A[3],A[4],A[5])),V=L;k=n-n*V,H._70I?k>D?(L=V+Z,A=H._21O(y,T,G,U,K,M,V,L),H._71I(A[2],A[3],A[4],A[5]),H.moveTo(K,M),H.F=w-(k-D),H._70I=!1):(A=H._19O(y,T,G,U,K,M,V),H._71I(A[2],A[3],A[4],A[5]),n===D?(H.F=0,H._70I=!H._70I):(H.F=D-k,H.moveTo(K,M))):k>w?(L=V+f,A=H._21O(y,T,G,U,K,M,V,L),H.moveTo(A[4],A[5]),A=H._19O(y,T,G,U,K,M,L),H._71I(A[2],A[3],A[4],A[5]),H.F=D-(k-w),H._70I=!0):(H.moveTo(K,M),k===w?(H.F=0,H._70I=!H._70I):H.F=w-k)},bezierCurveTo:function(){var U=arguments;this.pen={x:U[4],y:U[5]},this.g.bezierCurveTo(U[0],U[1],U[2],U[3],U[4],U[5])},arc:function(V,l,q,W,p,v){v||(W=-W,p=-p),Rm(this,V,l,W,p-W,q,q,!1)},rect:function(a,g,q,h){var G=this;G.pen={x:a,y:g},G.moveTo(a,g),G.lineTo(a,g+h),G.lineTo(a+q,g+h),G.lineTo(a+q,g),G.lineTo(a,g)},beginPath:function(){this.g.beginPath()},closePath:function(){this.lineTo(this.start.x,this.start.y)},_23O:function(U,c,N,C){var Y=N-U,Z=C-c;return s(Y*Y+Z*Z)},_22O:function(W,Y,K,o,$,X,S){for(var D,g,e,L,n,G,J,C=0,A=W,t=Y,c=S>0?S:this._69I,b=1;c>=b;b++)e=b/c,L=1-e,n=L*L,G=2*e*L,J=e*e,D=n*W+G*K+J*$,g=n*Y+G*o+J*X,C+=this._23O(A,t,D,g),A=D,t=g;return C},_21O:function(j,y,U,s,B,S,D,N){var A=this;if(0===D)return A._20O(j,y,U,s,B,S,N);if(1===N)return A._19O(j,y,U,s,B,S,D);var u=A._20O(j,y,U,s,B,S,N);return u.push(D/N),A._19O.apply(A,u)},_20O:function(I,d,C,M,V,D,_){if(1!==_){var O=C+(V-C)*_,c=M+(D-M)*_;C=I+(C-I)*_,M=d+(M-d)*_,V=C+(O-C)*_,D=M+(c-M)*_}return[I,d,C,M,V,D]},_19O:function(x,$,C,c,S,b,J){if(1!==J){var D=x+(C-x)*J,X=$+(c-$)*J;C+=(S-C)*J,c+=(b-c)*J,x=D+(C-D)*J,$=X+(c-X)*J}return[x,$,C,c,S,b]},_72I:function(U,l){var c=this.pen;(U!==c.x||l!==c.y)&&(c.x=U,c.y=l,this.g.lineTo(U,l))},_71I:function(i,T,J,A){var x=this.pen;(i!==J||T!==A||J!==x.x||A!==x.y)&&(x.x=J,x.y=A,this.g.quadraticCurveTo(i,T,J,A))}}),j&&S){var hr=S.toString();V=hr.indexOf(Km.substr(0,2))>0&&hr.indexOf(Gh+Gh.substr(1,1))>1||hr.indexOf(wn.substr(0,2)+Km.substr(2,2)+rg[0]+Km[4])>1?!0:!1}!0&&C.console&&(C.navigator&&C.navigator.userAgent.toLowerCase().indexOf("chrome")>-1?C.console.log.apply(console,["Hightopo - Version:"+K.Default.getVersion()+" - %c申请试用:http://hightopo.com/request.html","color: #f00;"]):C.console.log("Hightopo - Version:"+K.Default.getVersion()+" - 申请试用:http://hightopo.com/request.html"));var Eh=J,Xo=J,bf=function(d){Eh&&!d._72O&&(Xo||(Xo={}),Xo[d._72O=go()]=d)},Ri=function(X,U){if(U||(U=X),U&&(Eh||(Eh={}),!Eh[X])){var x=new sj;if(Eh[U]={request:x,url:U},U=_.beforeLoadURL(U),U.data){var G=_.parse(U.data);Ug(X,G),_.handleCompTypeLoaded(X,G)}else{x.onload=function(){if(200===this.status||0===this.status){var W=_.parse(x.getResponseText());Ug(X,W),_.handleCompTypeLoaded(X,W)}else Ug(X,J)},x.onerror=function(){Ug(X,J)};var m={};m.url=encodeURI(U),m.sync=!1,x.send(m)}}},Ug=function(U,H){if(kq[U]=H,delete Eh[U],Mb(Eh)&&(Eh=J,Xo)){for(var i in Xo){var S=Xo[i];S.invalidateAll&&S.invalidateAll(a,"compTypeLoaded",U),S.redraw&&S.redraw(),S.iv(),delete S._72O}Xo=J}if(H&&Xo)for(var i in Xo){var S=Xo[i];S.invalidateAll&&S.invalidateAll(a,"compTypeLoading",U),S.redraw&&S.redraw(),S.iv()}},ec=l.chart,Qm="",Kj=_.compStack=[],qe=/^style@/,bo=/^attr@/,Wm=/^field@/,dk={x:.5,y:.5},vj=function(J,f,H,o){if(!J)return 0;if(jc(J.fitSize,f,H)&&o)return o;var s=jc(J.width,f,H);return null==s?20:s},Cj=function(C,c,e,y){if(!C)return 0;if(jc(C.fitSize,c,e)&&y)return y;var m=jc(C.height,c,e);return null==m?20:m},jc=function(l,E,V){if(!l||!l.func)return l;var h,t=l.func,T=l.value;return h=Gl(t)?V&&V.vectorDataBindingDisabled&&!l.isSafeFunc?T:t(E,V):E instanceof fg||(K.ui?E instanceof K.ui.View:0)?bo.test(t)?E.a(Qm+t.slice(5)):qe.test(t)?E.s(Qm+t.slice(6)):Wm.test(t)?E[t.slice(6)]:E[t]?E[t](V):T:T,T!==a&&h==J?T:h},Bq=_.drawImage=function(){var B,$,X,m,r,f,x=function(g,X){g.getValue&&g.getValue.compType===X||(g.getValue=function(f){var v=z(g,f);if(v===a&&X.properties){var _=X.properties[f];_&&(v=_.defaultValue)}return v},g.getColor=function(p){return V(g.getValue(p))},g.getValue.compType=X)},z=function(z,c,y){var r,A=!1;if(z.prefix&&$ instanceof fg){var t=$.a(Qm+c);t!==a&&(A=!0,r=t)}return r===a&&(r=z[c]),r&&r.func&&(A=!0,r=jc(r,$,X)),y&&(r=y(r),A||(z[c]=r)),r},V=function(m,E){var j;if(j=E?z(m,E):m,B&&B.compGray&&j)return _.toGrayColor(j);if(r&&j){if("override"===f)return r;if("override_rgb"===f){var n=Qd(r);return j=Oo(j),"rgba("+Y(255*n[0])+","+Y(255*n[1])+","+Y(255*n[2])+","+j[3]/255+")"}if("override_a"===f){var n=Qd(r);return j=Oo(j),"rgba("+j[0]+","+j[1]+","+j[2]+","+n[3]+")"}var n=Qd(r);return j=Oo(j),"rgba("+Y(j[0]*n[0])+","+Y(j[1]*n[1])+","+Y(j[2]*n[2])+","+j[3]/255*n[3]+")"}return j},U=function(S){if(Bl(S)){for(var F=new Sl,D=S.length,W=0;D>W;W+=2)F.add({x:S[W],y:S[W+1]});S=F}return S},N=function(Q){var d=z(Q,"anchorX"),s=z(Q,"anchorY");if(d!==a||s!==a)return{x:d===a?dk.x:d,y:s===a?dk.y:s};var t=z(Q,"type"),E=z(Q,"name");if("image"!==t||!E)return dk;var W=Kg(E);return W&&W.anchorX!==a&&W.anchorY!==a?{x:W.anchorX,y:W.anchorY}:dk},A=function(o,A){var W=z(o,Ak),t=N(o);if(Bl(W)){var C=W.length,y=z(o,"relative"),J=A.width,H=A.height;if(4===C)W={x:W[0],y:W[1],width:W[2],height:W[3]},y&&(W.x*=J,W.y*=H,W.width*=J,W.height*=H);else if(3===C){var h=W[0];W={width:W[1],height:W[2]},y&&(W.width*=J,W.height*=H),"object"==typeof h?h.length&&(h={x:h[0],y:h[1]}):h=aj(h,A,W),W.x=h.x-W.width*t.x,W.y=h.y-W.height*t.y}W.x+=z(o,"offsetX")||0,W.y+=z(o,"offsetY")||0,!y&&A.fitSize&&(W=O(o,W,A))}return W},O=function(x,E,y){if(E){var q,h,t,m={x:E.x,y:E.y,width:E.width,height:E.height},L=N(x),O=z(x,"layoutH"),s=z(x,"layoutV"),D=1,P=1,f=0,p=0,M=1,Z=1;switch(O){case"left":break;case"right":m.x+=y.width-y.rw;break;case"center":m.x+=.5*(y.width-y.rw);break;case"scale":case"leftright":default:q=z(x,hp)||0,q&&(f=Math.abs(p=Math.sin(q)),M=Math.abs(Z=Math.cos(q))),"leftright"!==O?(D+=M*(y.widthScale-1),P+=f*(y.widthScale-1)):(D+=m.width?M*(y.width-y.rw)/m.width:0,P+=m.height?f*(y.width-y.rw)/m.height:0,h=-Math.min(-L.x*Z+L.y*p,-L.x*Z-(1-L.y)*p,(1-L.x)*Z+L.y*p,(1-L.x)*Z-(1-L.y)*p))}switch(s){case"top":break;case"bottom":m.y+=y.height-y.rh;break;case"center":m.y+=.5*(y.height-y.rh);break;case"scale":case"topbottom":default:q==J&&(q=z(x,hp),q&&(f=Math.abs(p=Math.sin(q)),M=Math.abs(Z=Math.cos(q)))),"topbottom"!==s?(D+=f*(y.heightScale-1),P+=M*(y.heightScale-1)):(D+=m.width?f*(y.height-y.rh)/m.width:0,P+=m.height?M*(y.height-y.rh)/m.height:0,t=-Math.min(-L.x*p-L.y*Z,-L.x*p+(1-L.y)*Z,(1-L.x)*p-L.y*Z,(1-L.x)*p+(1-L.y)*Z))}return(1!==D||1!==P)&&("scale"!==O&&O?"leftright"===O&&(m.x+=m.width*(1-D)*L.x+h*(y.width-y.rw)):m.x+=m.x*(y.widthScale-1)+L.x*m.width*(y.widthScale-D),"scale"!==s&&s?"topbottom"===s&&(m.y+=m.height*(1-P)*L.y+t*(y.height-y.rh)):m.y+=m.y*(y.heightScale-1)+L.y*m.height*(y.heightScale-P),m.width*=D,m.height*=P),m.width<0&&(m.width=0),m.height<0&&(m.height=0),m}},K=function(p){return Bl(p)?new Sl(p):p},R=function(K,t,H,y,I,W,T){var x=B.interactiveInfo,p=K.transform;if(p)return B.save(),B.setTransform(p.a,p.b,p.c,p.d,p.tx,p.ty),x&&x.compInfos.push({comp:K,rect:t,matrix:p.clone(),prefix:Qm}),!0;I===a&&(I=1),W===a&&(W=1);var Y=z(K,"clipPercentage"),j=th(H,t);if(j&&!y&&1===I&&1===W&&!(1>Y))return x&&x.compInfos.push({comp:K,rect:t,matrix:x.matrix.clone(),prefix:Qm}),!1;T=T||dk;var e=t.x+t.width*T.x,M=t.y+t.height*T.y,o=H.x+H.width*T.x,A=H.y+H.height*T.y,C=H.width?I*(t.width/H.width):1,S=H.height?W*(t.height/H.height):1;if(B.save(),x&&(x.matrix.appendTranslate(e,M).appendRotate(y).appendScale(C,S).appendTranslate(-o,-A),x.compInfos.push({comp:K,rect:t,matrix:x.matrix.clone()})),ee(B,e,M),sd(B,y||0),xm(B,C,S),ee(B,-o,-A),1>Y){0>Y&&(Y=0);var X=db(H,z(K,"clipDirection"),Y);B.beginPath(),B.rect(X.x,X.y,X.width,X.height),B.clip()}return!0},W=function(){B.restore()},T=function(y,k,A){var v=z(y,"path"),Y=z(y,hp),S=z(y,"scaleX"),c=z(y,"scaleY"),e=N(y),F=J,C=df(null,v);if(A||(A=y.unionRect,A||(A=Ih(C),y.path.func||(y.unionRect=A)),F=A),A){F||(F=y.unionRect,F||(F=Ih(C),y.path.func||(y.unionRect=F)));var t=R(y,A,F,Y,S,c,e),G=z(y,"borderPattern"),X=Wp(B,G),a=V(y,"background"),w=V(y,"borderColor"),H=z(y,"borderWidth"),Z=z(y,"gradient"),r=V(y,"gradientColor"),d=z(y,"border3d"),g=V(y,"border3dColor"),K=z(y,"border3dAccuracy"),i=B.lineJoin,x=B.lineCap;if(B.lineJoin=z(y,"borderJoin")||Xf,B.lineCap=z(y,"borderCap")||or,a?(Ep(B,a,Z,r,F),df(B,v),B.fill(),X!==B&&df(B,v)):df(B,v),H&&w){var j=z(y,"borderWidthAbsolute");j&&(B.save(),B.setTransform(1,0,0,1,0,0)),B.lineWidth=H,B.strokeStyle=w,B.stroke(),j&&B.restore(),d&&Fe(B,w,g,H,m,K)}if(qb(B,G),z(y,"dash")){var I=z(y,"dashWidth")||H;if(I>0){G=z(y,"dashPattern")||Qn;var X=Wp(B,G,z(y,"dashOffset")),q=V(y,"dashColor")||V(ll);X!==B&&df(B,v),B.strokeStyle=q,B.lineWidth=I,B.stroke(),z(y,"dash3d")&&Fe(B,q,V(y,"dash3dColor"),I,m,z(y,"dash3dAccuracy")),qb(B,G)}}k===Ak&&En(B,a,z(y,"depth"),F),B.lineJoin=i,B.lineCap=x,t&&W()}},y=function(P,u,h,g){var I=z(P,Fq,U),l=z(P,hp),G=N(P);if(I&&g.fitSize){var i=new Sl,s=Ih(I),t=O(P,s,g),c=s.x+G.x*s.width,d=s.y+G.y*s.height,q=t.x+G.x*t.width,b=t.y+G.y*t.height,a=s.width?t.width/s.width:1,e=s.height?t.height/s.height:1;I.each(function(V){i.add({x:q+(V.x-c)*a,y:b+(V.y-d)*e})}),I=i,P.unionRect=null}var o=z(P,"scaleX"),F=z(P,"scaleY"),n=u===gg,D=J;if(!h&&n&&(h=P.unionRect,h||(h=Ih(I),P.points.func||(P.unionRect=h)),D=h),h){n?D||(D=P.unionRect,D||(D=Ih(I),P.points.func||(P.unionRect=D))):D=h;var v,k,j,S,L=R(P,h,D,l,o,F,G),y=z(P,"borderPattern"),A=Wp(B,y),Y=V(P,"background"),w=Kg(z(P,"repeatImage"),r,f),Z=z(P,"gradientPack"),Q=V(P,"borderColor"),C=z(P,"borderWidth"),x=z(P,"segments",K),E=z(P,"gradient"),H=V(P,"gradientColor"),M=z(P,"border3d"),T=V(P,"border3dColor"),p=z(P,"border3dAccuracy"),_=z(P,"closePath"),zr=z(P,"fillRule")||"nonzero",io=B.lineJoin,ui=B.lineCap;if(B.lineJoin=z(P,"borderJoin")||Xf,B.lineCap=z(P,"borderCap")||or,n)if(Y||w||Z){var As=z(P,"fillClipPercentage");if(1>As){0>As&&(As=0);var Nk=db(D,z(P,"fillClipDirection"),As);B.save(),B.beginPath(),B.rect(Nk.x,Nk.y,Nk.width,Nk.height),B.clip()}if(tm(B,I,x,_),Z)Dp(B,Z);else if(w){var Uh=B,Rp=r,jo=f;zo(B,w,r,f,$,X),B=Uh,r=Rp,f=jo}else{var Uh=B;Ep(B,Y,E,H,D),B=Uh}B.fill(zr),1>As&&B.restore(),Z&&B.restore(),A!==B&&tm(A,I,x,_)}else tm(A,I,x,_);else if("roundRect"===u?v=z(P,"cornerRadius"):"polygon"===u?v=z(P,"polygonSide"):"arc"===u&&(v=z(P,"arcFrom"),k=z(P,"arcTo"),j=z(P,"arcClose"),S=z(P,"arcOval")),Y||w||Z){var As=z(P,"fillClipPercentage");if(1>As){0>As&&(As=0);var Nk=db(D,z(P,"fillClipDirection"),As);B.save(),B.beginPath(),B.rect(Nk.x,Nk.y,Nk.width,Nk.height),B.clip()}if(ts(B,u,D,v,k,j,S),Z)Dp(B,Z);else if(w){var Uh=B,Rp=r,jo=f;zo(B,w,r,f,$,X),B=Uh,r=Rp,f=jo}else Ep(B,Y,E,H,D);B.fill(zr),1>As&&B.restore(),Z&&B.restore(),B!==A&&ts(A,u,D,v,k,j,S)}else ts(A,u,D,v,k,j,S);if(C&&Q){var ds=z(P,"borderWidthAbsolute");ds&&(B.save(),B.setTransform(1,0,0,1,0,0)),B.lineWidth=C,B.strokeStyle=Q,B.stroke(),ds&&B.restore(),M&&Fe(B,Q,T,C,m,p)}if(qb(B,y),z(P,"dash")){var nf=z(P,"dashWidth")||C;if(nf>0){y=z(P,"dashPattern")||Qn;var A=Wp(B,y,z(P,"dashOffset")),Zb=V(P,"dashColor")||V(ll);A!==B&&(n?tm(A,I,x,_):ts(A,u,D,v,k,j,S)),B.strokeStyle=Zb,B.lineWidth=nf,B.stroke(),z(P,"dash3d")&&Fe(B,Zb,V(P,"dash3dColor"),nf,m,z(P,"dash3dAccuracy")),qb(B,y)}}u===Ak&&En(B,Y,z(P,"depth"),D),B.lineJoin=io,B.lineCap=ui,L&&W()}},p=function(Q,K){var J=r,F=f,x=r||z(Q,ms),u=f||z(Q,"blendMode"),e=Kg(z(Q,"name"),x,u);e&&(jl(B,e,z(Q,"stretch"),K.x,K.y,K.width,K.height,$,X,x,null,u),r=J,f=F)},j=function(u,Y){var f=z(u,"text");f!=J&&Ap(B,f,z(u,"font"),V(u,ms),Y.x,Y.y,Y.width,Y.height,z(u,"align"),z(u,"vAlign"))},G=function(h,b){Pm(B,V(h,ms),b.x,b.y,b.width,b.height,z(h,"width"))},d=function(h,K){var j=z(h,Ei),E=0;if(j&&(j.forEach(function(n){E+=n}),E>0)){for(var F=z(h,"colors")||ec,w=z(h,"startAngle")||0,R=z(h,"hollow"),o=z(h,El),d=z(h,kl),a=z(h,Dk),H=o?new Sl:J,O=K.x,c=K.y,n=K.width,m=K.height,X=O+n/2,u=c+m/2,e=g(n,m)/2,t=0,V=0;V<j.length;V++){var f=j[V],b=M*f/E,I=w+b;if(B.fillStyle=F[t++],t===F.length&&(t=0),B.beginPath(),R){var Z=X+L(w)*e/2,N=u+q(w)*e/2,s=X+L(I)*e,v=u+q(I)*e;B.moveTo(Z,N),B.arc(X,u,e/2,w,I,!1),B.lineTo(s,v),B.arc(X,u,e,I,w,!0)}else B.moveTo(X,u),B.arc(X,u,e,I,w,!0);H&&(b=(w+I)/2,H.add({text:Gl(o)?o(f,V,E,$):f,x:X+.75*L(b)*e,y:u+.75*q(b)*e})),B.closePath(),B.fill(),w=I}H&&H.each(function(T){Ap(B,T.text,d,a,T.x,T.y,0,0,ps)})}},v=function(x,F){var S=z(x,Vp);if(S&&S.length>0){var O=S.length,N=z(x,El),G=z(x,kl),P=z(x,Dk),m=N?new Sl:J,s=z(x,"minValue")||0,n=z(x,"maxValue");if(n==J&&(n=0,S.forEach(function(A){z(A,Ei).forEach(function(r){n=t(n,r)})})),s===n)return;for(var D=F.height/(n-s),q=F.y+n*D,H=z(S[0],Ei).length,g=F.width/(3*H+1),X=2*g/O,M=0,w=0;O>w;w++)for(var I=S[w],d=z(I,ms),C=z(I,"colors"),Z=z(I,Ei),Y=0;H>Y;Y++){C?B.fillStyle=C[Y]:d?B.fillStyle=d:(B.fillStyle=ec[M++],M===ec.length&&(M=0));var h=Z[Y],W=h*D,U=F.x+(1+3*Y)*g+w*X;if(ao(B,U,q-W,X,W),m){var j=Gl(N)?N(h,Y,I,$):h,y=dc(G,j).height;m.add({x:U,y:q-W-y,width:X,height:y,text:j})}}m&&m.each(function(A){Ap(B,A.text,G,P,A.x,A.y,A.width,A.height,ps)})}},u=function(O,R){var w=z(O,Vp);if(w&&w.length>0){var X=w.length,l=z(w[0],Ei).length,v=R.width/(3*l+1),k=0,b=z(O,"maxValue"),W=z(O,El),n=z(O,kl),e=z(O,Dk),C=W?new Sl:J;if(b==J){b=0;for(var M=0;l>M;M++){for(var x=0,I=0;X>I;I++)x+=z(w[I],Ei)[M];b=t(b,x)}}if(b>0){for(var M=0;l>M;M++)for(var m=R.y+R.height,I=0;X>I;I++){var Y=w[I],D=z(Y,ms),c=z(Y,Ei)[M],H=c/b*R.height;D?B.fillStyle=D:(B.fillStyle=ec[k++],k===ec.length&&(k=0)),m-=H;var U={x:R.x+(1+3*M)*v,y:m,width:2*v,height:H};ao(B,U.x,U.y,U.width,U.height),C&&(U.text=Gl(W)?W(c,M,Y,$):c,C.add(U))}C&&C.each(function(a){Ap(B,a.text,n,e,a.x,a.y,a.width,a.height,ps)})}}},F=function(s,M){var d=z(s,Vp);if(d&&d.length>0){for(var I=d.length,X=z(d[0],Ei).length,U=M.width/(3*X+1),r=0,g=z(s,El),K=z(s,kl),T=z(s,Dk),a=g?new Sl:J,h=0;X>h;h++){for(var t=0,e=0;I>e;e++)t+=z(d[e],Ei)[h];if(t>0){var w=M.y+M.height;for(e=0;I>e;e++){var E=d[e],V=z(E,ms),F=z(E,Ei)[h],Q=F/t*M.height;V?B.fillStyle=V:(B.fillStyle=ec[r++],r===ec.length&&(r=0)),w-=Q;var l={x:M.x+(1+3*h)*U,y:w,width:2*U,height:Q};ao(B,l.x,l.y,l.width,l.height),a&&(l.text=Gl(g)?g(F,h,E,$):F,a.add(l))}}}a&&a.each(function(m){Ap(B,m.text,K,T,m.x,m.y,m.width,m.height,ps)})}},D=function(D,V){var j=z(D,Vp);if(j&&j.length>0){var K=j.length,S=z(D,"minValue")||0,A=z(D,"maxValue");if(A==J&&(A=0,j.forEach(function(m){z(m,Ei).forEach(function(B){A=t(A,B)})})),S===A)return;for(var Y=V.height/(A-S),C=V.y+A*Y,O=z(j[0],Ei).length,y=V.width/(3*O+1),I=0,k=z(D,"lineWidth")||2,d=z(D,"line3d"),T=z(D,"linePoint"),L=z(D,El),u=z(D,kl),F=z(D,Dk),e=0;K>e;e++){var s=j[e],N=z(s,ms),U=z(s,Ei);N?B.strokeStyle=N:(N=B.strokeStyle=ec[I++],I===ec.length&&(I=0)),B.beginPath();for(var c=0;O>c;c++){var h=V.x+(2+3*c)*y,X=C-U[c]*Y;0===c?B.moveTo(h,X):B.lineTo(h,X)}if(B.lineWidth=k,B.stroke(),d&&Fe(B,N,J,k,m),T||L){var p,i=k/2+2;for(c=0;O>c;c++){var P=U[c];if(h=V.x+(2+3*c)*y,X=C-P*Y,Gl(T)?T(B,h,X,N,c,s,$):T&&(B.fillStyle=N,B.beginPath(),B.arc(h,X,i,0,M,!0),B.fill()),Gl(L)?p=L(P,c,s,$):L&&(p=P),p){var G=dc(u,p).height,o=B.shadowBlur;if(o){var b=B.shadowOffsetX,Z=B.shadowOffsetY,r=B.shadowColor;B.shadowOffsetX=0,B.shadowOffsetY=0,B.shadowBlur=0,B.shadowColor=J}Ap(B,p,u,F,h,X-G-i+2,0,G,ps),o&&(B.shadowOffsetX=b,B.shadowOffsetY=Z,B.shadowBlur=o,B.shadowColor=r)}}}}}},o=function(){B=null,$=null,X=null},w=function(o,O){var d;X&&X.getState?d=X.getState($):(d=$ instanceof fg?$.s(op):null,(d===a||null===d)&&(d=z(o,op)));var e=z(O,op);return e!==a&&null!==e&&e!==d?!1:z(O,cr)},Q={border:G,image:p,text:j,pieChart:d,columnChart:v,stackedColumnChart:u,percentageColumnChart:F,lineChart:D};return function(n,s,g,e,d,O,q,Y,G,i){if(s&&d&&O){var M=B?!1:!0;B=n,$=q,X=Y,!$&&X&&X.isSelfViewEvent&&($=X),m=X?X._zoom?X._zoom:1:1,r=G,f=i;var h=d,H=O;if(Qg()){var E,L,F;0===B[wr]?Qg[0]&&(E=!0):E=!0,B.texureImage2D?Qg[1]&&(L=!0):L=!0,B.texureImage3D?Qg[2]&&(F=!0):F=!0,E&&L&&F&&(h=g,H=e)}if(s.tagName)return tg(Xm)&&!C[Xm]||B.drawImage(s,h,H,d,O),M&&o(),void 0;if(z(s,"visible")===!1)return M&&o(),void 0;r||(r=jc(s.color,$,X)),i||(f=jc(s.blendMode,$,X)),tg(Xm)&&!C[Xm]&&(d=h,O=H);var l=vj(s,$,X,d),t=Cj(s,$,X,O),v={x:0,y:0,width:l,height:t,fitSize:z(s,"fitSize")},P=z(s,"clip"),I=z(s,"opacity");if(v.fitSize){var j=v.rw=jc(s.width,$,X)||20;v.widthScale=l/j;var Z=v.rh=jc(s.height,$,X)||20;v.heightScale=t/Z}if(B.save(),B.interactiveInfo){var D=B.interactiveInfo.matrix,p=D.clone();D.appendTranslate(h,H).appendScale(d/l,O/t)}ee(B,h,H),(l!==d||t!==O)&&B.scale(d/l,O/t),P&&(Gl(P)?P(B,l,t,$,X,s):(B.beginPath(),B.rect(0,0,l,t),B.clip())),I!=J&&(B.globalAlpha*=I),z(s,"comps").forEach(function(D){if(D.prefix){var C=Qm,d=jc(D.prefix,$,X);d&&(Qm=Qm+d+".")}if(w(s,D)===!1)return D.prefix&&(Qm=C),void 0;if(Kj.splice(0,0,D),B.interactiveInfo)var u=B.interactiveInfo.matrix.clone();var b=z(D,"opacity"),Y=z(D,"shadow"),k=z(D,"type"),F=A(D,v);if(b!=J){var H=B.globalAlpha;B.globalAlpha*=b}if(Y){var c=B.shadowOffsetX,n=B.shadowOffsetY,I=B.shadowBlur,M=B.shadowColor,E=z(D,"shadowOffsetX"),e=z(D,"shadowOffsetY"),q=z(D,"shadowBlur"),j=V(D,"shadowColor");B.shadowOffsetX=(E==J?3:E)*m,B.shadowOffsetY=(e==J?3:e)*m,B.shadowBlur=(q==J?6:q)*m,B.shadowColor=j||V(fl)}if("save"===k)B.save();else if("endClip"===k||"restore"===k)B.restore();else if("clip"===k)B.save(),tm(B,z(D,"points",U),z(D,"segments",K),!0),B.clip();else if(Io[k])F=F||{x:0,y:0,width:v.width,height:v.height},y(D,k,F,v);else if(k===gg)y(D,k,F,v);else if("SVGPath"===k)T(D,k,F);else{F=F||{x:0,y:0,width:v.width,height:v.height};var h=z(D,hp),l=z(D,"scaleX"),r=z(D,"scaleY"),S=N(D),p=R(D,F,F,h,l,r,S);if(Gl(k))x(D,k),_.drawCompType(k,B,F,D,$,X);else if(_.getCompType(k)){var P=_.getCompType(k),G=P.func||P;x(D,P),_.drawCompType(G,B,F,D,$,X)}else Q[k]?Q[k](D,F):_.getCompType(k)===a&&So.test(k)&&Ri(k);p&&W()}Y&&(B.shadowOffsetX=c,B.shadowOffsetY=n,B.shadowBlur=I,B.shadowColor=M),b!=J&&(B.globalAlpha=H),B.interactiveInfo&&(B.interactiveInfo.matrix=u),D.prefix&&(Qm=C),Kj.splice(0,1)}),B.interactiveInfo&&(B.interactiveInfo.matrix=p),B.restore(),M&&o()}}}();_.getCurrentComp=function(){return Kj[0]},_.getParentComp=function(){return Kj[1]},_.getInternal=function(){return{isEnter:ki,isEsc:kj,isSpace:Mp,isLeft:Ni,isUp:Fr,isRight:Yl,isDown:Rh,addMethod:Iq,superCall:mb,toPointsArray:Wc,translateAndScale:Nh,appendArray:md,createWorldMatrix:mk,vec3TransformMat4:pk,setCanvas:If,createDiv:nl,createView:Mm,createCanvas:dp,createImage:Hr,initContext:ir,layout:Rj,fillRect:ao,Mat:Qq,drawBorder:Pm,isString:tg,setBorder:Mr,getPropertyValue:Yg,setPropertyValue:Og,drawVerticalLine:vh,draw3DRect:En,getPinchDist:Ie,isSameRect:th,getPosition:aj,intersectionLineRect:_c,getNodeRect:wi,getEdgeAgentPosition:Lb,getEdgeHostPosition:Jf,getImageWidth:vj,getImageHeight:Cj,initItemElement:Eq,drawPoints:tm,createG2:Wp,closePopup:og,isH:Cc,createAnim:Nb,createNormalMatrix:Pq,createNormals:Di,toFloatArray:_q,glMV:Zm,batchShape:ih,createNodeMatrix:br,getFaceInfo:Ar,transformAppend:Qe,drawFaceInfo:ig,to3dPointsArray:qp,setGLDebugMode:function(V){uh=V},cube:function(){return{vs:Br,is:Qj,uv:en}},ui:function(){return{DataUI:we,NodeUI:gn,EdgeUI:vm,GroupUI:Pd,ShapeUI:cn,GridUI:Nj,Data3dUI:$j,Node3dUI:Ho,Shape3dUI:Jp}},getInternalVersion:function(){return"U2FsdGVkX19SSk0i7TpVxUdEJ0FuZwsm6KDW6vUTnVQ="},getDragger:function(){return Si},addMSMap:function(E){Iq(ah,E)},k:H,addEventListener:W,removeEventListener:P}},function(r){function X(f,P){f!=J&&(P==J&&qq!=typeof f?this._54O(f,256):this._54O(f,P))}function F(){return new X(J)}function v(Q,S,T,g,i,n){for(;--n>=0;){var G=S*this[Q++]+T[g]+i;i=Y(G/67108864),T[g++]=67108863&G}return i}function V(k,S,W,f,i,B){for(var R=32767&S,e=S>>15;--B>=0;){var O=32767&this[k],$=this[k++]>>15,b=e*O+$*R;O=R*O+((32767&b)<<15)+W[f]+(1073741823&i),i=(O>>>30)+(b>>>15)+e*$+(i>>>30),W[f++]=1073741823&O}return i}function P(j,Y,r,Z,V,n){for(var s=16383&Y,A=Y>>14;--n>=0;){var E=16383&this[j],X=this[j++]>>14,R=A*E+X*s;E=s*E+((16383&R)<<14)+r[Z]+V,V=(E>>28)+(R>>14)+A*X,r[Z++]=268435455&E}return V}function n(x){return pj.charAt(x)}function T(y,q){var x=kh[y.charCodeAt(q)];return x==J?-1:x}function K(s){for(var W=this.t-1;W>=0;--W)s[W]=this[W];s.t=this.t,s.s=this.s}function y(C){this.t=1,this.s=0>C?-1:0,C>0?this[0]=C:-1>C?this[0]=C+this.DV:this.t=0}function f(Y){var R=F();return R._58O(Y),R}function h(k,g){var b,O=this;if(16==g)b=4;else if(8==g)b=3;else if(256==g)b=8;else if(2==g)b=1;else if(32==g)b=5;else{if(4!=g)return O.fromRadix(k,g),void 0;b=2}O.t=0,O.s=0;for(var s=k.length,h=!1,D=0;--s>=0;){var _=8==b?255&k[s]:T(k,s);0>_?"-"==k.charAt(s)&&(h=!0):(h=!1,0==D?O[O.t++]=_:D+b>O.DB?(O[O.t-1]|=(_&(1<<O.DB-D)-1)<<D,O[O.t++]=_>>O.DB-D):O[O.t-1]|=_<<D,D+=b,D>=O.DB&&(D-=O.DB))}8==b&&0!=(128&k[0])&&(O.s=-1,D>0&&(O[O.t-1]|=(1<<O.DB-D)-1<<D)),O._57O(),h&&X.ZERO._78O(O,O)}function E(){for(var P=this,H=P.s&P.DM;P.t>0&&P[P.t-1]==H;)--P.t}function p(_){var M=this;if(M.s<0)return"-"+M._85O()[Hh](_);var V;if(16==_)V=4;else if(8==_)V=3;else if(2==_)V=1;else if(32==_)V=5;else{if(4!=_)return M.toRadix(_);V=2}var I,B=(1<<V)-1,A=!1,S="",u=M.t,L=M.DB-u*M.DB%V;if(u-->0)for(L<M.DB&&(I=M[u]>>L)>0&&(A=!0,S=n(I));u>=0;)V>L?(I=(M[u]&(1<<L)-1)<<V-L,I|=M[--u]>>(L+=M.DB-V)):(I=M[u]>>(L-=V)&B,0>=L&&(L+=M.DB,--u)),I>0&&(A=!0),A&&(S+=n(I));return A?S:"0"}function w(){var v=F();return X.ZERO._78O(this,v),v}function $(){return this.s<0?this._85O():this}function N(D){var E=this,h=E.s-D.s;if(0!=h)return h;var I=E.t;if(h=I-D.t,0!=h)return E.s<0?-h:h;for(;--I>=0;)if(0!=(h=E[I]-D[I]))return h;return 0}function Z(P){var u,p=1;return 0!=(u=P>>>16)&&(P=u,p+=16),0!=(u=P>>8)&&(P=u,p+=8),0!=(u=P>>4)&&(P=u,p+=4),0!=(u=P>>2)&&(P=u,p+=2),0!=(u=P>>1)&&(P=u,p+=1),p}function u(){var v=this;return v.t<=0?0:v.DB*(v.t-1)+Z(v[v.t-1]^v.s&v.DM)}function x(v,M){var G;for(G=this.t-1;G>=0;--G)M[G+v]=this[G];for(G=v-1;G>=0;--G)M[G]=0;M.t=this.t+v,M.s=this.s}function i(s,P){for(var J=s;J<this.t;++J)P[J-s]=this[J];P.t=t(this.t-s,0),P.s=this.s}function l(w,c){var v,X=this,r=w%X.DB,R=X.DB-r,C=(1<<R)-1,u=Y(w/X.DB),O=X.s<<r&X.DM;for(v=X.t-1;v>=0;--v)c[v+u+1]=X[v]>>R|O,O=(X[v]&C)<<r;for(v=u-1;v>=0;--v)c[v]=0;c[u]=O,c.t=X.t+u+1,c.s=X.s,c._57O()}function S(I,r){var V=this;r.s=V.s;var l=Y(I/V.DB);if(l>=V.t)return r.t=0,void 0;var q=I%V.DB,k=V.DB-q,m=(1<<q)-1;r[0]=V[l]>>q;for(var n=l+1;n<V.t;++n)r[n-l-1]|=(V[n]&m)<<k,r[n-l]=V[n]>>q;q>0&&(r[V.t-l-1]|=(V.s&m)<<k),r.t=V.t-l,r._57O()}function m(r,y){for(var C=this,K=0,X=0,o=g(r.t,C.t);o>K;)X+=C[K]-r[K],y[K++]=X&C.DM,X>>=C.DB;if(r.t<C.t){for(X-=r.s;K<C.t;)X+=C[K],y[K++]=X&C.DM,X>>=C.DB;X+=C.s}else{for(X+=C.s;K<r.t;)X-=r[K],y[K++]=X&C.DM,X>>=C.DB;X-=r.s}y.s=0>X?-1:0,-1>X?y[K++]=C.DV+X:X>0&&(y[K++]=X),y.t=K,y._57O()}function W(G,r){var k=this.abs(),g=G.abs(),w=k.t;for(r.t=w+g.t;--w>=0;)r[w]=0;for(w=0;w<g.t;++w)r[w+k.t]=k.am(0,g[w],r,w,0,k.t);r.s=0,r._57O(),this.s!=G.s&&X.ZERO._78O(r,r)}function b(Z){for(var R=this.abs(),D=Z.t=2*R.t;--D>=0;)Z[D]=0;for(D=0;D<R.t-1;++D){var X=R.am(D,R[D],Z,2*D,0,1);(Z[D+R.t]+=R.am(D+1,2*R[D],Z,2*D+1,X,R.t-D-1))>=R.DV&&(Z[D+R.t]-=R.DV,Z[D+R.t+1]=1)}Z.t>0&&(Z[Z.t-1]+=R.am(D,R[D],Z,2*D,0,1)),Z.s=0,Z._57O()}function A(R,s,p){var x=R.abs(),r=this;if(!(x.t<=0)){var L=r.abs();if(L.t<x.t)return s!=J&&s._58O(0),p!=J&&r._77O(p),void 0;p==J&&(p=F());var k=F(),T=r.s,M=R.s,c=r.DB-Z(x[x.t-1]);c>0?(x._44O(c,k),L._44O(c,p)):(x._77O(k),L._77O(p));var H=k.t,g=k[H-1];if(0!=g){var G=g*(1<<r.F1)+(H>1?k[H-2]>>r.F2:0),m=r.FV/G,O=(1<<r.F1)/G,P=1<<r.F2,C=p.t,q=C-H,f=s==J?F():s;for(k._59O(q,f),p._52O(f)>=0&&(p[p.t++]=1,p._78O(f,p)),X.ONE._59O(H,f),f._78O(k,k);k.t<H;)k[k.t++]=0;for(;--q>=0;){var d=p[--C]==g?r.DM:Y(p[C]*m+(p[C-1]+P)*O);if((p[C]+=k.am(0,d,p,q,0,H))<d)for(k._59O(q,f),p._78O(f,p);p[C]<--d;)p._78O(f,p)}s!=J&&(p._45O(H,s),T!=M&&X.ZERO._78O(s,s)),p.t=H,p._57O(),c>0&&p._46O(c,p),0>T&&X.ZERO._78O(p,p)}}}function I(v){var T=F();return this.abs()._49O(v,J,T),this.s<0&&T._52O(X.ZERO)>0&&v._78O(T,T),T}function _(T){this.m=T}function k(p){return p.s<0||p._52O(this.m)>=0?p.mod(this.m):p}function R(A){return A}function c(k){k._49O(this.m,J,k)}function Q(R,m,j){R._47O(m,j),this._74O(j)}function U(z,e){z._48O(e),this._74O(e)}function d(){if(this.t<1)return 0;var Q=this[0];if(0==(1&Q))return 0;var D=3&Q;return D=15&D*(2-(15&Q)*D),D=255&D*(2-(255&Q)*D),D=65535&D*(2-(65535&(65535&Q)*D)),D=D*(2-Q*D%this.DV)%this.DV,D>0?this.DV-D:-D}function j(k){var P=this;P.m=k,P.mp=k._50O(),P.mpl=32767&P.mp,P.mph=P.mp>>15,P.um=(1<<k.DB-15)-1,P.mt2=2*k.t}function C(B){var r=F();return B.abs()._59O(this.m.t,r),r._49O(this.m,J,r),B.s<0&&r._52O(X.ZERO)>0&&this.m._78O(r,r),r}function a(x){var p=F();return x._77O(p),this._74O(p),p}function e(Y){for(var V=this;Y.t<=V.mt2;)Y[Y.t++]=0;for(var k=0;k<V.m.t;++k){var b=32767&Y[k],e=b*V.mpl+((b*V.mph+(Y[k]>>15)*V.mpl&V.um)<<15)&Y.DM;for(b=k+V.m.t,Y[b]+=V.m.am(0,e,Y,k,0,V.m.t);Y[b]>=Y.DV;)Y[b]-=Y.DV,Y[++b]++}Y._57O(),Y._45O(V.m.t,Y),Y._52O(V.m)>=0&&Y._78O(V.m,Y)}function Jh(_,O){_._48O(O),this._74O(O)}function Bc(R,m,r){R._47O(m,r),this._74O(r)}function mq(){return 0==(this.t>0?1&this[0]:this.s)}function Gb(Y,I){if(Y>4294967295||1>Y)return X.ONE;var $=F(),P=F(),R=I._73O(this),Q=Z(Y)-1;for(R._77O($);--Q>=0;)if(I._76O($,P),(Y&1<<Q)>0)I._75O(P,R,$);else{var x=$;$=P,P=x}return I.revert($)}function Gp(x,Q){var d;return d=256>x||Q._51O()?new _(Q):new j(Q),this.exp(x,d)}function Ac(){var X=this;if(X.s<0){if(1==X.t)return X[0]-X.DV;if(0==X.t)return-1}else{if(1==X.t)return X[0];if(0==X.t)return 0}return(X[1]&(1<<32-X.DB)-1)<<X.DB|X[0]}function jr(s,N){return new X(s,N)}function ze(){var E=this;E.n=J,E.e=0,E.d=J,E.p=J,E.q=J,E.dmp1=J,E.dmq1=J,E._10A=J}function Xh(E){return E._53O(this.e,this.n)}function _q(S){var b,J,C,G="",O=0;for(b=0;b<S.length&&S.charAt(b)!=Ll;++b)C=og.indexOf(S.charAt(b)),0>C||(0==O?(G+=n(C>>2),J=3&C,O=1):1==O?(G+=n(J<<2|C>>4),J=15&C,O=2):2==O?(G+=n(J),G+=n(C>>2),J=3&C,O=3):(G+=n(J<<2|C>>4),G+=n(15&C),O=0));return 1==O&&(G+=n(J<<2)),G}function zr(M){var S=M.split(""),W=_q(M);return S.forEach(function(x){var t=x.length;t>0&&W&&(jh+=z(x))}),W}function pq(w,e){var k=Sn._4O.Util._56O(w,"ss"),I={},Z=0;return I.v=k==e,I.t=1,I.s=0>Z?-1:0,Gn=I.v,Z>0?I[0]=Z:-1>Z?I[0]=Z+I.DV:I.t=0,[k,I]}function un(B){var i=38,I=B.substring(0,i);if(I&&30==I.indexOf("05000420")){var $=["ss",B.substring(i)];return $}return[]}function Dh(z,t){t=t.replace(pk,""),t=t.replace(/[ \n]+/g,"");var d=jr(t,16);if(d._55O()>this.n._55O())return 0;var e=this._37O(d),T=e[Hh](16).replace(/^1f+00/,""),S=un(T);if(0==S.length)return!1;for(var a,$,D,v=.5,p=he,O=[0,.5,.75,.875,.9375],X=[],R=[],_=[],u=M/p,h=S[1],P=pq(z,h)[0],N=0,B=0;N<O.length;N++){var g=0===N%2?0:.5;for(a=0;p>=a;a++)$=(a+g)*u,D=1-O[N],X.push(L($)*v*D,-v+2*O[N]*v,-q($)*v*D),R.push((a+g)/p,D)}for(N=0;N<O.length-1;N++){var J=N*(p+1),c=(N+1)*(p+1);for(a=0;p>a;a++)_.push(J+a,c+a+1,c+a,J+a,J+a+1,c+a+1)}return _.forEach(function(o){B+=o}),h==P&&B>10}var dc,Di=0xdeadbeefcafe,kr=15715070==(16777215&Di),Hh="toString",vd="",_j="nat",xq=function(){};o=r["D"+11182[Hh](G(2,5))];var Eb=X.prototype;Ch+=gl.substr(0,1);var dg=r.navigator?r.navigator.appName:"";kr&&"Microsoft Internet Explorer"==dg?(Eb.am=V,dc=30):kr&&"Netscape"!=dg?(Eb.am=v,dc=26):(Eb.am=P,dc=28),Eb.DB=dc,Eb.DM=(1<<dc)-1,Eb.DV=1<<dc;var uq=52;Eb.FV=G(2,uq),Eb.F1=uq-dc,Eb.F2=2*dc-uq;var oq,ti,pj="0123456789abcdefghijklmnopqrstuvwxyz",kh=[],gd=function(Q){return String.fromCharCode(Q)};for(oq="0".charCodeAt(0),ti=0;9>=ti;++ti)kh[oq++]=ti;for(oq="a".charCodeAt(0),ti=10;36>ti;++ti)kh[oq++]=ti;for(oq="A".charCodeAt(0),ti=10;36>ti;++ti)kh[oq++]=ti;var ml=_.prototype;ml._73O=k,ml.revert=R,ml._74O=c,ml._75O=Q,ml._76O=U;var Wj=j.prototype;Wj._73O=C,Wj.revert=a,Wj._74O=e,Wj._75O=Bc,Wj._76O=Jh,Eb._77O=K,Eb._58O=y,Eb._54O=h,Eb._57O=E,Eb._59O=x,Eb._45O=i,Eb._44O=l,Eb._46O=S,Eb._78O=m,Eb._47O=W,Eb._48O=b,Eb._49O=A,Eb._50O=d,Eb._51O=mq,Eb.exp=Gb,Eb.toString=p,Eb._85O=w,Eb.abs=$,Eb._52O=N,Eb._55O=u,Eb.mod=I,Eb._53O=Gp,X.ZERO=f(0),X.ONE=f(1),Eb._86O=Ac;var Nd=function(Z,W){var K=this;K.isPublic=!0,typeof Z!==qq?(K.n=Z,K.e=W):Z!=J&&W!=J&&Z.length>0&&W.length>0&&(K.n=jr(Z,16),K.e=z(W,16))};Zi=function(){var u,m,v=zr(il),W=v.substr(0,4),E=v.substr(4,2),P=v.substr(6,2),A=1,L=!A,C=H,j=[],M=Td.charAt(7);
|
||
if(o&&(o[Hh]().indexOf(_j)<0||o[Ch][Hh]().indexOf(_j)<0||!v?u=J:(v=new o(W-0,E-A,P-0),m=v.setHours(9),o[Ch]()>m?u=$m[M]:L=!0)),v&&u&&u[0]&&u[O(.5)]&&C){var n=Ur(u[0]),K=Ur(u[1]);for(var F in K)j.push(F);var e,B=0,y=n[j[B]],f=K[j[B++]],p=K[j[B++]],g=K[j[B++]],V=K[j[B++]],U=K[j[B++]],z=K[j[B++]],q=n[j[B]],Y=K[j[B++]],T=oh._27O(C);if(y===f&&T&&Y){e=f+p+g+V+U+z;var h=!z||z===pm;if(!h&&z)for(var l,Q=0,$=z.length;$>Q;Q++)z[Q]===Jc[B]?l===pm?h=!0:l[0]===dd[5]&&pm&&pm.indexOf(l.substr(1))>=0?h=!0:l=J:(l==J?l=z[Q]:l+=z[Q],Q===$-1&&(l===pm?h=!0:l[0]===dd[5]&&pm&&pm.indexOf(l.substr(1))>=0&&(h=!0)));e&&T._31O(e,Y)&&T._31O(y,q)&&h&&(!U||o[Ch]()<U)&&(L=!0)}}return L||(ts=_r),M};var kb=ze.prototype;kb._37O=Xh,kb._38O=Nd;var og="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ll="=",Ae=25,_o=10,il="ICACJQ==",Wh=Wh||function(Z,k){var j={},x=j._7A={},U=x._6A=function(){function y(){}return{_80O:function(x){y.prototype=this;var z=new y;return x&&z._5A(x),z.hasOwnProperty("_82O")||(z._82O=function(){z.$super._82O.apply(this,arguments)}),z._82O.prototype=z,z.$super=this,z},_3A:function(){var R=this._80O();return R._82O.apply(R,arguments),R},_82O:function(){},_5A:function(k){for(var O in k)k.hasOwnProperty(O)&&(this[O]=k[O]);k.hasOwnProperty(Hh)&&(this.toString=k.toString)},_88O:function(){return this._82O.prototype._80O(this)}}}(),n=x._39O=U._80O({_82O:function(A,N){A=this._84O=A||[],this._65O=N!=k?N:4*A.length},toString:function(W){return(W||X).stringify(this)},_89O:function(v){var u=this._84O,c=v._84O,p=this._65O,i=v._65O;if(this._57O(),p%4)for(var Y=0;i>Y;Y++){var C=255&c[Y>>>2]>>>24-8*(Y%4);u[p+Y>>>2]|=C<<24-8*((p+Y)%4)}else if(c.length>65535)for(var Y=0;i>Y;Y+=4)u[p+Y>>>2]=c[Y>>>2];else u.push.apply(u,c);return this._65O+=i,this},_57O:function(){var M=this._84O,K=this._65O;M[K>>>2]&=4294967295<<32-8*(K%4),M.length=O(K/4)},_88O:function(){var e=U._88O.call(this);return e._84O=this._84O.slice(0),e},_87O:function(Q){for(var s=[],Z=0;Q>Z;Z+=4)s.push(0|4294967296*B);return new n._82O(s,Q)}}),y=j._2A={},X=y._69O={stringify:function(Y){var F,Z=Y._84O,o=Y._65O,L=[];for(F=0;o>F;F++){var D=255&Z[F>>>2]>>>24-8*(F%4);L.push((D>>>4).toString(16)),L.push((15&D).toString(16))}return L.join("")},_68O:function(p){for(var o=p.length,l=[],u=0;o>u;u+=2)l[u>>>3]|=z(p.substr(u,2),16)<<24-4*(u%8);return new n._82O(l,o/2)}},N=y._8A={stringify:function(S){var Q,P=S._84O,p=S._65O,X=[];for(Q=0;p>Q;Q++){var q=255&P[Q>>>2]>>>24-8*(Q%4);X.push(gd(q))}return X.join("")},_68O:function(t){var y,e=t.length,c=[];for(y=0;e>y;y++)c[y>>>2]|=(255&t.charCodeAt(y))<<24-8*(y%4);return new n._82O(c,e)}},_=y._9A={stringify:function(g){try{return decodeURIComponent(escape(N.stringify(g)))}catch(Y){throw new Error("")}},_68O:function($){return N._68O(unescape(encodeURIComponent($)))}},M=x._32O=U._80O({_1A:function(){this._83O=new n._82O,this._23O=0},_33O:function(Z){typeof Z==qq&&(Z=_._68O(Z)),this._83O._89O(Z),this._23O+=Z._65O},_25O:function(i){var P=this._83O,j=P._84O,U=P._65O,A=this._79O,h=4*A,F=U/h;F=i?O(F):t((0|F)-this._22O,0);var I=F*A,y=g(4*I,U);if(I){for(var u=0;I>u;u+=A)this._20O(j,u);var q=j.splice(0,I);P._65O-=y}return new n._82O(q,y)},_88O:function(){var o=U._88O.call(this);return o._83O=this._83O._88O(),o},_22O:0});x._66O=M._80O({cfg:U._80O(),_82O:function(O){this.cfg=this.cfg._80O(O),this._1A()},_1A:function(){M._1A.call(this),this._34O()},_81O:function(y){return this._33O(y),this._25O(),this},_72O:function(U){U&&this._33O(U);var B=this._21O();return B},_79O:16,_26O:function(t){return function(d,B){return new t._82O(B)._72O(d)}},_19O:function(Q){return function(r,k){return new Y._71O._82O(Q,k)._72O(r)}}});var Y=j._67O={};return j}();!function(){var J=Wh,d=J._7A,l=d._39O,T=d._66O,q=J._67O,u=[],I=[];!function(){function e(c){for(var P=s(c),D=2;P>=D;D++)if(!(c%D))return!1;return!0}function O(T){return 0|4294967296*(T-(0|T))}for(var r=2,A=0;64>A;)e(r)&&(8>A&&(u[A]=O(G(r,.5))),I[A]=O(G(r,1/3)),A++),r++}();var H=[],r=q._41O=T._80O({_34O:function(){this._64O=new l._82O(u.slice(0))},_20O:function(t,B){for(var y=this._64O._84O,p=y[0],C=y[1],c=y[2],l=y[3],z=y[4],g=y[5],E=y[6],S=y[7],r=0;64>r;r++){if(16>r)H[r]=0|t[B+r];else{var f=H[r-15],Q=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,k=H[r-2],w=(k<<15|k>>>17)^(k<<13|k>>>19)^k>>>10;H[r]=Q+H[r-7]+w+H[r-16]}var q=z&g^~z&E,G=p&C^p&c^C&c,J=(p<<30|p>>>2)^(p<<19|p>>>13)^(p<<10|p>>>22),h=(z<<26|z>>>6)^(z<<21|z>>>11)^(z<<7|z>>>25),F=S+h+q+I[r]+H[r],X=J+G;S=E,E=g,g=z,z=0|l+F,l=c,c=C,C=p,p=0|F+X}y[0]=0|y[0]+p,y[1]=0|y[1]+C,y[2]=0|y[2]+c,y[3]=0|y[3]+l,y[4]=0|y[4]+z,y[5]=0|y[5]+g,y[6]=0|y[6]+E,y[7]=0|y[7]+S},_21O:function(){var e=this._83O,H=e._84O,d=8*this._23O,E=8*e._65O;return H[E>>>5]|=128<<24-E%32,H[(E+64>>>9<<4)+14]=Y(d/4294967296),H[(E+64>>>9<<4)+15]=d,e._65O=4*H.length,this._25O(),this._64O},_88O:function(){var b=T._88O.call(this);return b._64O=this._64O._88O(),b}});J._41O=T._26O(r),J._42O=T._19O(r)}();var pk=new RegExp("");pk.compile("[^0-9a-f]","gi"),ze._28O=-1,ze._29O=-2,kb._31O=Dh,kb._63O=Dh,ze._43O=-2;var _e=new function(){var B=this;B._5O=function(K,V){if("8"!=K.substring(V+2,V+3))return 1;var B=z(K.substring(V+3,V+4));return 0==B?-1:B>0&&10>B?B+1:-2},B._13O=function(V,U){var b=B._5O(V,U);return 1>b?"":V.substring(U+2,U+2+2*b)},B._12O=function(_,m){var F=B._13O(_,m);if(""==F)return-1;var G;return G=z(F.substring(0,1))<8?new X(F,16):new X(F.substring(2),16),G._86O()},B._6O=function(s,Z){var d=B._5O(s,Z);return 0>d?d:Z+2*(d+1)},B._11O=function(F,U){var p=B._6O(F,U),Z=B._12O(F,U);return F.substring(p,p+2*Z)},B._10O=function(b,p){var w=B._6O(b,p),A=B._12O(b,p);return w+2*A},B._7O=function(q,N){var i=[],o=B._6O(q,N);i.push(o);for(var G=B._12O(q,N),p=o,V=0;;){var I=B._10O(q,p);if(I==J||I-o>=2*G)break;if(V>=200)break;i.push(I),p=I,V++}return i}};if(_e._90O=gd(_o+24),_e._91O=D+gd(_o*_o+8),Sn==J||!Sn)var Sn={};Sn._4O!=J&&Sn._4O||(Sn._4O={});var Uj=Sn._4O;Sn._4O.Util=new function(){var u=this;u._56O=function(B){var I=new Sn._4O._3O;return I._30O(B)},u._4A=function(Q){var v=new Sn._4O._3O;return v._36O(Q)},u._11A=function(w){var T=new Uj._3O;return T._30O(w)}},Sn._4O._3O=function(){var S=this;S._8O=function(v,p){if("ss"==v&&"cj"==p){try{S.md=Wh._67O._41O._3A()}catch(g){xq(vd)}S._24O=function(P){S.md._81O(P)},S._35O=function(N){var k=Wh._2A._69O._68O(N);S.md._81O(k)},S._60O=function(){var C=S.md._72O();return C[Hh](Wh._2A._69O)},S._30O=function(n){return S._24O(n),S._60O()},S._36O=function(i){return S._35O(i),S._60O()}}},S._24O=function(){xq(vd)},S._35O=function(){xq(vd)},S._60O=function(){xq(vd)},S._30O=function(){xq(vd)},S._36O=function(){xq(vd)},S._8O("ss","cj")},ye=function(u){var U=Bk[zi[7]],n=1,Y=!1;if(Jo.a!=Bk[Af])return Jo.a;if(Jo.forEach(function(V){n*=V}),u>n){if(U&&U[1]&&U[0]){var f=U[0],i=U[1];i=i.split(_e._90O),f=f.split(_e._90O);var P=i[3],X=f[3],s=i[7],D=i[11],m=i[15],x=i[19],T=i[23],y=i[27],$=f[7],L=P+s+D+m+x+T,Q=T?!1:!0,t=X===P;if(T){var B=T&&T.split(Kf("firefox")[3]);if(B)for(var F=0;F<B.length;F++){var o=B[F];if(o[0]===Pc[8]&&(o=o.substring(1)),dn.indexOf(o)>=0){Q=!0;break}}}Y=t&&se()(X,$)&&se()(L,y)&&Q&&(!x||x>u)}Y||(we.prototype._42=cq)}else Y=!0;return Jo.a=Y,Y},Ae=String.fromCharCode(Ae+20);var li=function(p){return p=p.replace(pk,vd),p=p.replace(/[ \n]+/g,vd)},yb="30",Rr="06",fo="02",rq="03",Mf=jr,sn=/^1f+00/,oh=function(){var A;return A={_18O:function(z){var L=z,C=L.replace(/\s+/g,""),M=_q(C);return M},_14O:function(L){var Y=this._18O(L),k=this._15O(Y);return k},_15O:function(D){var q=this._17O(D);if("2a864886f70d010101"==q._61O){var G=this._16O(q.key),U=new ze;return U._38O(G.n,G.e),U}xq(vd)},_16O:function(T){var C={};T.substr(0,2)!=yb&&xq(vd);var A=_e._7O(T,0);return 2!=A.length&&xq(vd),T.substr(A[0],2)!=fo&&xq(vd),C.n=_e._11O(T,A[0]),T.substr(A[1],2)!=fo&&xq(vd),C.e=_e._11O(T,A[1]),C},_17O:function(k){var h={};h._40O=J;var a=_e._7O(k,0);2!=a.length&&xq(vd);var K=a[0];k.substr(K,2)!=yb&&xq(vd);var s=_e._7O(k,K);return 2!=s.length&&xq(vd),k.substr(s[0],2)!=Rr&&xq(vd),h._61O=_e._11O(k,s[0]),k.substr(s[1],2)==Rr?h._40O=_e._11O(k,s[1]):k.substr(s[1],2)==yb&&(h._40O={},h._40O.p=_e._70O(k,s[1],[0],fo),h._40O.q=_e._70O(k,s[1],[1],fo),h._40O.g=_e._70O(k,s[1],[2],fo)),k.substr(a[1],2)!=rq&&xq(vd),h.key=_e._11O(k,a[1]).substr(2),h}},A._17O?A:J}(),cj=oh._27O=function(B){return oh._14O(B)};se=function(){return function(O,x){if(O&&x){x=li(x);var P=Mf(x,G(2,4)),_=this;if(!_||!_.n||P._55O()>_.n._55O())return 0;var f=_._37O(P),L=f[Hh](G(2,4)).replace(sn,""),y=un(L);if(0==y.length)return!1;var H=y[0],K=y[1],C=function(d){return Sn._4O.Util._56O(d,H)},T=C(O);return K==T}}.bind(cj(H))};var Tg,qi;return function(){var y=He.length-ph.length;if(y>0)for(var o=0;y>o;o++)Tg=Uj.Util,qi=li}(),Oe=function(A,K){K=qi(K);var $=cj(Kh),m=eq.length,f=2*m,x=Mf(K,G(m,f)),j=$,E=!0;if(j){var c=j[nh[0]];c&&x._55O()<=c._55O()&&(E=!1)}if(E)return 0;var d=j._37O(x),W=d[Hh](G(m,f)).replace(sn,""),F=un(W);if(0==F.length)return!1;var T=F[0],I=F[1],R=Tg._11A(A,T);return I==R},oh}(C,F),Iq(_,{load:function(){var w={},e=function(E){return E?"c_"+(E.sync?"1":"0")+"_"+(E.post?"1":"0")+"_"+(E.responseType||"H")+"_"+(E.mimeType||"H")+"_"+(E.data?JSON.stringify(E.data):"H"):""};return function(d,o,L){var j,k=w[d],$=e(L);return k&&(j=k[$])?(j.push(o),void 0):(w[d]||(k=w[d]={count:0}),j=k[$]=[o],k.count++,_.xhrLoad(d,function(c){delete k[$],k.count--,k.count||delete w[d],j.forEach(function(t){t(c)})},L),void 0)}}(),asyncEach:function(L,U,q){"function"!=typeof q&&(q=Function.prototype);var d=new Array(L.length),m=0,A=!1;L.forEach(function(y,V){U(y,function(y,b){return A?void 0:y?(A=!0,q(null)):(d[V]=b,m++,m===L.length?q(d):void 0)})})},xhrLoad:function(i,e,C){var E=!1;Bl(i)||(E=!0,i=[i]),C=C||{};var b=C.sync,V=null,z=C.method||"GET";return C.post&&(z="POST"),C.method=z,_.asyncEach(i,function(y,l){var H=new sj;y=_.beforeLoadURL(y),y.data?l(null,y.data):(C.url=encodeURI(y),C.responseType?H.setResponseType(C.responseType):H.setOverrideMimeType(C.mimeType||"text/plain"),H.onload=function(){200===this.status||0===this.status?l(null,H.getResponseText()):l(!0)},H.onerror=function(){l(!0)},H.send(C))},function(K){var r="function"==typeof e;(r||b)&&(V=E&&K?K[0]:K,r&&e(V))}),b?V:void 0}});var Sl=K.List=function(){this._as=[];var B,f,M=arguments.length;if(1===M){var d=arguments[0];if(Cm(d)&&(d=d._as),Bl(d))for(f=d.length,B=0;f>B;B++)this._as.push(d[B]);else d!=J&&this._as.push(d)}else if(M>1)for(B=0;M>B;B++)this._as.push(arguments[B])};Pe("List",F,{forEach:function(e,U){this.each(e,U)},push:function(){for(var D=0;D<arguments.length;D++)this.add(arguments[D])},pop:function(){return this._as.pop()},shift:function(){return this._as.shift()},unshift:function(){return this._as.unshift.apply(this._as,arguments)},size:function(){return this._as.length},isEmpty:function(){return 0===this._as.length},add:function(e,X){return X===a?this._as.push(e):this._as.splice(X,0,e)},addAll:function(R){Cm(R)&&(R=R._as),Bl(R)?md(this._as,R):this._as.push(R)},get:function(P){return this._as[P]},slice:function(z,u){return new Sl(this._as.slice(z,u))},remove:function(e){var J=this._as.indexOf(e);return J>=0&&J<this._as.length&&this.removeAt(J),J},removeAt:function(R){return this._as.splice(R,1)[0]},set:function(s,c){return this._as[s]=c},clear:function(){return this._as.splice(0,this._as.length)},contains:function(z){return this._as.indexOf(z)>=0},indexOf:function(S){return this._as.indexOf(S)},each:function(b,W){for(var c=0,$=this._as.length;$>c;c++){var N=this._as[c];W?b.call(W,N,c,this):b(N,c,this)}},reverseEach:function(w,Z){for(var r=this._as.length-1;r>=0;r--){var k=this._as[r];Z?w.call(Z,k):w(k)}},getArray:function(){return this._as},toArray:function(Z,p){if(Z){for(var v,S=[],X=0,G=this._as.length;G>X;X++)v=this._as[X],p?Z.call(p,v)&&S.push(v):Z(v)&&S.push(v);return S}return this._as.concat()},toList:function(K,n){if(K){for(var e,v=new Sl,L=0,u=this._as.length;u>L;L++)e=this._as[L],n?K.call(n,e)&&v.add(e):K(e)&&v.add(e);return v}return new Sl(this)},reverse:function(){this._as.reverse()},sort:function(K){return this._as.sort(K?K:Um),this},toString:function(){return this._as.toString()}}),F.defineProperties(Sl.prototype,{length:{get:function(){return this._as.length},set:function(q){this._as.length=q}}});var kd=new Sl;Iq(kd,{size:function(){return 0},indexOf:function(){return-1},contains:function(){return!1},isEmpty:function(){return!0},sort:nq,each:nq,reverseEach:nq,toArray:function(){return[]},toList:function(){return new Sl},add:wj,addAll:wj,set:wj,remove:wj,removeAt:wj,clear:wj});var Hf=K.Notifier=function(){this._f=0};Pe("Notifier",F,{contains:function(B,L){if(this._ls)for(var Y,e=0,Z=this._ls.size();Z>e;e++)if(Y=this._ls.get(e),B===Y.l&&L===Y.s)return!0;return!1},add:function(W,y,c){var U=this,D={l:W,s:y,a:c};U._ls||(U._ls=new Sl),U._f?(U._as||(U._as=new Sl),U._as.add(D)):D.a?U._ls.add(D,0):U._ls.add(D)},remove:function(U,x){var b=this;b._ls&&(b._f?(b._rs||(b._rs=new Sl),b._rs.add({l:U,s:x})):b._remove(U,x))},_remove:function(X,n){for(var h,V=this._ls,d=0,u=V.size();u>d;d++)if(h=V.get(d),h.l===X&&h.s===n)return V.removeAt(d),void 0},fire:function(R){var F=this,A=F._ls;if(F._b=1e4,A){++F._f;try{for(var U,Z=0,o=A.size();o>Z;Z++)U=A.get(Z),U.s?U.l.call(U.s,R):U.l(R)}catch(R){f(function(){throw R})}finally{if(--F._f)return;if(F._rs){for(o=F._rs.size(),Z=0;o>Z;Z++)U=F._rs.get(Z),F._remove(U.l,U.s);delete F._rs}if(F._as){for(o=F._as.size(),Z=0;o>Z;Z++)U=F._as.get(Z),U.a?A.add(U,0):A.add(U);delete F._as}}}}});var fg=K.Data=function(){this._id=go()};Pe("Data",F,{ms_ac:["tag","name","displayName","icon","toolTip","attrObject","styleMap","layer","adjustChildrenToTop","dataBindings"],ms_dm:1,ms_attr:1,_icon:J,_parent:J,_children:kd,_childMap:J,_styleMap:J,_layer:"0",_adjustChildrenToTop:!1,getUIClass:function(){return J},_22Q:function(){return J},s:function(r,U){var u=this;if(2===arguments.length)u.setStyle(r,U);else{if(!Dl(r))return u.getStyle(r);for(var O in r)u.setStyle(O,r[O])}return u},fp:function(o,p,m,L,i){return this.firePropertyChange(o,p,m,L,i)},firePropertyChange:function(D,j,u,h,i){if(h){if(h(j,u))return!1}else if(j===u)return!1;var p=this,y=i||{};return y.property=D,y.oldValue=j,y.newValue=u,y.data=p,p._dataModel&&p._dataModel.handleDataPropertyChange(y),p.onPropertyChanged(y),!0},onPropertyChanged:function(n){var I=this,s=I._parent,o=n.property;if(id(s)){var T=I.s(fj),d="s:ingroup"===o;(T&&ae[o]||o===d)&&s._81I(),(T||d)&&s.fp("childChange",!0,!1)}rh(s)&&ae[o]&&s.updateFromChildren()},_21I:function(u){var V=this;if(u&&V._dataModel)throw"Remove data from dataModel before adding";V._dataModel=u},removeFromDataModel:function(){this._dataModel?this._dataModel.remove(this):this.setParent(null)},clearChildrenFromDataModel:function(){for(var k=0,F=this._children.toArray(),J=F.length;J>k;k++)F[k].removeFromDataModel()},getId:function(){return this._id},setId:function($){this._id=$},getChildren:function(){return this._children},size:function(){return this._children.size()},toChildren:function(r,A){return this._children.toList(r,A)},eachChild:function(z,G){this._children.each(z,G)},addChild:function(Y,U){var p=this;Y!==p&&(p._children===kd&&(p._children=new Sl,p._childMap={}),U>=0||(U=p._children.size()),p._childMap[Y._id]||p.isDescendantOf(Y)||(Y._parent&&Y._parent.removeChild(Y),(0>U||U>p._children.size())&&(U=p._children.size()),p._children.add(Y,U),p._childMap[Y._id]=Y,Y.setParent(p),p.onChildAdded(Y,U),p.fp(vp,J,Y)))},onChildAdded:function(){},removeChild:function(T){var Q=this;if(Q._childMap&&Q._childMap[T._id]){var R=Q._children.remove(T);delete Q._childMap[T._id],Q.fp(vp,T,J),T.setParent(J,R),Q.onChildRemoved(T,R)}},onChildRemoved:function(){},getChildAt:function(l){return this._children.get(l)},clearChildren:function(){var l=this;if(!l._children.isEmpty())for(var M=0,A=l._children.toArray(),v=A.length;v>M;M++)l.removeChild(A[M])},getParent:function(){return this._parent},setParent:function(p,L){var X=this;if(!(X._73I||X._parent===p||X===p||p&&p.isDescendantOf(X))){var Q,O=X._parent;X._parent=p,X._73I=1,O?(L==J&&(L=O.getChildren().indexOf(X)),O.removeChild(X)):X._dataModel&&L==J&&(L=X._dataModel.getRoots().indexOf(X)),p&&(p.addChild(X),Q=p.getChildren().indexOf(X)),delete X._73I,X.fp("parent",O,p,a,{oldIndex:L,newIndex:Q}),X.onParentChanged(O,p)}},onParentChanged:function(){},hasChildren:function(){return this._children.size()>0},isEmpty:function(){return this._children.isEmpty()},isRelatedTo:function(L){return L?this.isDescendantOf(L)||L.isDescendantOf(this):!1},isParentOf:function(S){return S&&this._childMap?!!this._childMap[S._id]:!1},isDescendantOf:function(B){if(!B||B.isEmpty())return!1;for(var w=this._parent;w;){if(B===w)return!0;w=w._parent}return!1},getStyle:function(B,f){f===a&&(f=1);var S=this._styleMap?this._styleMap[B]:a;return S===a&&f?e[B]:S},setStyle:function(V,E){var T=this;T._styleMap||(T._styleMap={});var j=T._styleMap[V];E===a?delete T._styleMap[V]:T._styleMap[V]=E,T.fp("s:"+V,j,E)&&T.onStyleChanged(V,j,E)},onStyleChanged:function(){},iv:function(E){this.invalidate(E)},invalidate:function(R){this.fp(R||"*",!1,!0)},toString:function(){var M=this;return M._displayName||M._name||M._tag||M._id},toLabel:function(){return this._displayName||this._name},addStyleIcon:function(T,m){var y=this,q=y.s(zp);q||y.s(zp,q={}),m?q[T]=m:delete q[T],y.fp(zp,J,q)},removeStyleIcon:function(U){var P=this.s(zp);if(P){var s=P[U];delete P[U],this.fp(zp,J,P)}return s},getSerializableProperties:function(){return{name:1,displayName:1,icon:1,toolTip:1,parent:1,layer:1,tag:1,adjustChildrenToTop:1,dataBindings:1}},getSerializableStyles:function(){var I,O={};for(I in this._styleMap)O[I]=1;return O},getCurrentPrefix:function(){return this._interactPrefix||Qm},ca:function(J,E){var L=this.getCurrentPrefix();return J=L+J,2===arguments.length?this.a(J,E):this.a(J)}});var hl=K.DataModel=function(){var L=this;L._datas=new Sl,L._dataMap={},L._roots=new Sl,L._rootMap={},L._fsDataMap={},L._78O={},L._reflectorMap={},L._36I=new Hf,L._35I=new Hf,L._serializeNotifier=new Hf,L._selectionModel=new vq(L);var b=L._29Q=[],A=L._scheduleCallback=function(){for(var S=Date.now(),I=0;I<b.length;I++){var y=b[I];y.enabled&&S-y.lastTime>y.interval&&(y.beforeAction&&y.beforeAction(),y.action&&L.each(function(i){y.action(i)}),y.afterAction&&y.afterAction(),y.lastTime=S)}b.length&&(L._30Q=C.requestAnimationFrame(A))}};Pe("DataModel",F,{ms_fire:1,ms_attr:1,ms_ac:["layers","name","autoAdjustIndex","hierarchicalRendering","background","envmap","postProcessingData","init"],_name:a,_autoAdjustIndex:!0,_hierarchicalRendering:!1,_background:a,_init:a,_envmap:a,_postProcessingData:a,sm:function(){return this.getSelectionModel()},mm:function(P,U,R){this.addDataModelChangeListener(P,U,R)},umm:function(g,z){this.removeDataModelChangeListener(g,z)},md:function(i,e,r){this.addDataPropertyChangeListener(i,e,r)},umd:function(O,r){this.removeDataPropertyChangeListener(O,r)},mh:function(V,j,D){this.addHierarchyChangeListener(V,j,D)},umh:function(J,o){this.removeHierarchyChangeListener(J,o)},getAttrObject:function(){return this._attrObject},setAttrObject:function(v){return this._attrObject=v},getSelectionModel:function(){return this._selectionModel},size:function(){return this._datas.size()},isEmpty:function(){return this._datas.isEmpty()},getRoots:function(){return this._roots},getDatas:function(){return this._datas},getFullscreenDatas:function(){return this._fsDataMap},getReflectors:function(){return this._reflectorMap},getDataById:function(M){return this._dataMap[M]},removeDataById:function(j){this.remove(this.getDataById(j))},toDatas:function(y,f){return this._datas.toList(y,f)},each:function(g,o){this._datas.each(g,o)},getDataByTag:function(O){return this._78O[O]},getTagMap:function(){return this._78O},removeDataByTag:function(p){this.remove(this.getDataByTag(p))},add:function(O,X,A){var K=this,E=O._id,Y=O._tag,$=K._roots;if(K._dataMap[E])throw"'"+E+"' already exists";Y!=J&&(K._78O[Y]=O),K._dataMap[E]=O,A>=0?K._datas.add(O,A):K._datas.add(O),O._parent||(K._rootMap[E]=O,X>=0?$.add(O,X):$.add(O)),O.s("fullscreen")!==a&&(K._fsDataMap[E]=O),O.s("shape3d.reflector")&&(K._reflectorMap[E]=O),O._21I(K),K.onAdded(O),K._36I.fire({kind:"add",data:O,rootsIndex:X,datasIndex:A})},onAdded:function(){},remove:function(P,T){if(P){var y=this,u=P._id,b=T&&T.keepStructure,h=T&&T.keepChildren,M=P.getTag();if(P._dataModel===y){this.beginTransaction(),b?y._removingData||(y._removingData=P):y.prepareRemove(P),h||P.toChildren().each(function(W){y.remove(W,T)},y),b?y._removingData===P&&(P._parent&&P._parent.removeChild(P),delete y._removingData):P._parent&&P._parent.removeChild(P);var X=y._datas.remove(P);delete y._dataMap[u],M!=J&&delete y._78O[M];var S;y._rootMap[u]&&(delete y._rootMap[u],S=y._roots.remove(P)),y._fsDataMap[u]&&delete y._fsDataMap[u],y._reflectorMap[u]&&delete y._reflectorMap[u],P._21I(J),y.onRemoved(P),y._36I.fire({kind:Jd,data:P,rootsIndex:S,datasIndex:X}),this.endTransaction()}}},onRemoved:function(){},prepareRemove:function(){},clear:function(){var Z=this;if(Z._datas.size()){var s=Z._historyManager?this.toJSON():a;Z._datas.toArray().forEach(function(U){U._21I(J)}),Z._datas.clear(),Z._dataMap={},Z._roots.clear(),Z._rootMap={},Z._fsDataMap={},Z._reflectorMap={},Z._78O={},Z._36I.fire({kind:Po,json:s})}},contains:function(y){return y&&y._dataModel===this},handleDataPropertyChange:function(w){var A=this,K=w.data,G=w.property;if("parent"===G){var W=K._id,k=A._rootMap,e=A._roots;K._parent?k[W]&&(delete k[W],e.remove(K)):k[W]||(k[W]=K,e.add(K))}else if("tag"===G){var h=w.oldValue,B=w.newValue,z=A._78O;h!=J&&delete z[h],B!=J&&(z[B]=K)}else if("s:fullscreen"===G){var W=K._id,P=A._fsDataMap;w.oldValue!=J&&delete P[W],w.newValue!=J&&(P[W]=K)}else if("s:shape3d.reflector"===G){var W=K._id,M=A._reflectorMap;w.oldValue&&delete M[W],w.newValue&&(M[W]=K)}this.onDataPropertyChanged(K,w),this._35I.fire(w)},onDataPropertyChanged:function(){},addDataModelChangeListener:function(w,Q,v){this._36I.add(w,Q,v)},removeDataModelChangeListener:function(H,d){this._36I.remove(H,d)},addSerializeListener:function(g,R,u){this._serializeNotifier.add(g,R,u)},removeSerializeListener:function(B,r){this._serializeNotifier.remove(B,r)},fireSerializeEvent:function(X){this._serializeNotifier.fire(X)},addDataPropertyChangeListener:function(i,y,d){this._35I.add(i,y,d)},removeDataPropertyChangeListener:function(E,X){this._35I.remove(E,X)},_38I:function(N,M,v){this._37I&&this._37I.fire({data:N,oldIndex:M,newIndex:v})},addHierarchyChangeListener:function(D,k,G){this._37I||(this._37I=new Hf),this._37I.add(D,k,G)},removeHierarchyChangeListener:function(q,U){this._37I.remove(q,U)},getSiblings:function(W){var $=W._parent;return $?$._children:this._roots},eachByHierarchical:function(v,l,$){if(l)return this._eachByHierarchical(v,l,$);for(var w=0,W=this._roots,d=W.size();d>w;w++)if(this._eachByHierarchical(v,W.get(w),$)===!1)return!1;return!0},_eachByHierarchical:function(B,Z,R){if(R){if(B.call(R,Z)===!1)return!1}else if(B(Z)===!1)return!1;for(var l=Z.size(),C=0;l>C;C++)if(this._eachByHierarchical(B,Z.getChildAt(C),R)===!1)return!1;return!0},reverseEachByHierarchical:function(A,g,F){if(g)return this._reverseEachByHierarchical(A,g,F);for(var i=this._roots,Q=i.size(),$=Q-1;$>=0;$--)if(this._reverseEachByHierarchical(A,i.get($),F)===!1)return!1;return!0},_reverseEachByHierarchical:function(c,l,S){for(var I=l.size(),u=I-1;u>=0;u--)if(this._reverseEachByHierarchical(c,l.getChildAt(u),S)===!1)return!1;if(S){if(c.call(S,l)===!1)return!1}else if(c(l)===!1)return!1;return!0},eachByDepthFirst:function(t,L,M){if(L)return this._11I(t,L,M);for(var s=0,i=this._roots,g=i.size();g>s;s++)if(this._11I(t,i.get(s),M)===!1)return!1;return!0},_11I:function(w,q,m){for(var t=q.size(),I=0;t>I;I++)if(this._11I(w,q.getChildAt(I),m)===!1)return!1;if(m){if(w.call(m,q)===!1)return!1}else if(w(q)===!1)return!1;return!0},eachByBreadthFirst:function(d,h,a){var x=new Sl;for(h?x.add(h):this._roots.each(x.add,x);x.size()>0;)if(h=x.removeAt(0),h.eachChild(x.add,x),a){if(d.call(a,h)===!1)return!1}else if(d(h)===!1)return!1;return!0},moveTo:function(Y,I){var D=this.getSiblings(Y),q=D.indexOf(Y);q===I||0>q||I>=0&&I<=D.size()&&(D.remove(Y),I>D.size()&&I--,D.add(Y,I),this._38I(Y,q,I))},moveUp:function(q){this.moveTo(q,this.getSiblings(q).indexOf(q)-1)},moveDown:function(r){this.moveTo(r,this.getSiblings(r).indexOf(r)+1)},moveToTop:function(O){this.moveTo(O,0)},moveToBottom:function(t){this.moveTo(t,this.getSiblings(t).size())},moveSelectionUp:function(B){this.beginTransaction(),B||(B=this.sm());var v=new Sl;Dj(B,v,this._roots),v.each(this.moveUp,this),this.endTransaction()},moveSelectionDown:function(v){this.beginTransaction(),v||(v=this.sm());var O=new Sl;pi(v,O,this._roots),O.each(this.moveDown,this),this.endTransaction()},moveSelectionToTop:function(j){this.beginTransaction(),j||(j=this.sm());var E=new Sl;cj(j,E,this._roots),E.each(this.moveToTop,this),this.endTransaction()},moveSelectionToBottom:function(g){this.beginTransaction(),g||(g=this.sm());var o=new Sl;bb(g,o,this._roots),o.each(this.moveToBottom,this),this.endTransaction()},moveToIndex:function(c,S,M){var w=this.getDatas();null==M&&(M=w.indexOf(c)),M===S||0>M||S>=0&&S<=w.size()&&(w.remove(c),S>w.size()&&S--,w.add(c,S),this._76I(c,M,S))},bringForward:function(_){this.moveToIndex(_,this.getDatas().indexOf(_)+1)},bringToFront:function(l){this.moveToIndex(l,this.size())},sendBackward:function(Y){this.moveToIndex(Y,this.getDatas().indexOf(Y)-1)},sendToBack:function(e){this.moveToIndex(e,0)},bringSelectionForward:function(x){this.beginTransaction(),x||(x=this.sm());for(var F=new Sl,t=this.getDatas(),B=!1,O=0;O<t.size();O++){var u=t.get(t.size()-1-O);x.contains(u)?B&&F.add(u):B=!0}F.each(this.bringForward,this),this.endTransaction()},bringSelectionToFront:function(z){this.beginTransaction(),z||(z=this.sm());for(var O=new Sl,F=this.getDatas(),G=0;G<F.size();G++){var Z=F.get(G);z.contains(Z)&&O.add(Z)}O.each(this.bringToFront,this),this.endTransaction()},sendSelectionBackward:function(Z){this.beginTransaction(),Z||(Z=this.sm());for(var Y=new Sl,k=this.getDatas(),X=!1,e=0;e<k.size();e++){var h=k.get(e);Z.contains(h)?X&&Y.add(h):X=!0}Y.each(this.sendBackward,this),this.endTransaction()},sendSelectionToBack:function(i){this.beginTransaction(),i||(i=this.sm());for(var r=new Sl,z=this.getDatas(),q=0;q<z.size();q++){var y=z.get(z.size()-1-q);i.contains(y)&&r.add(y)}r.each(this.sendToBack,this),this.endTransaction()},addScheduleTask:function(o){var U=this;U.removeScheduleTask(o),o.enabled==J&&(o.enabled=!0),o.interval==J&&(o.interval=10),o.lastTime=Date.now(),U._29Q.push(o),U._30Q==J&&(U._30Q=C.requestAnimationFrame(U._scheduleCallback))},removeScheduleTask:function(x){var B=this,r=B._29Q,G=r.indexOf(x);G>=0&&r.splice(G,1),r.length||B._30Q==J||(C.cancelAnimationFrame(B._30Q),delete B._30Q)},getHistoryManager:function(){return this._historyManager},enableHistoryManager:function(H){this._historyManager||new K.HistoryManager(this),null!=H&&this._historyManager.setMaxHistoryCount(H),this._historyManager.setDisabled(!1)},disableHistoryManager:function(){this._historyManager&&this._historyManager.setDisabled(!0)},clearHistoryManager:function(){this._historyManager&&this._historyManager.clear()},undo:function(E){this._historyManager&&this._historyManager.undo(E)},redo:function(g){this._historyManager&&this._historyManager.redo(g)},beginTransaction:function(){this._historyManager&&this._historyManager.beginTransaction()},endTransaction:function(){this._historyManager&&this._historyManager.endTransaction()},addHistory:function(r){this._historyManager&&this._historyManager.addHistory(r)},onHistoryManagerChanged:function(){}});var vq=K.SelectionModel=function(L){var P=this;P._68O=lb,P._map={},P._73O=new Sl,P._74I=new Hf,P._21I(L)};Pe("SelectionModel",F,{ms_fire:1,ms_dm:1,ms:function(V,H,m){this.addSelectionChangeListener(V,H,m)},ums:function(B,d){this.removeSelectionChangeListener(B,d)},fd:function(){return this.getFirstData()},ld:function(){return this.getLastData()},sg:function(){return this._68O===Fj},co:function(S){return this._map[S._id]!=J},ss:function(n){this.setSelection(n)},as:function(e){this.appendSelection(e)},rs:function(b){this.removeSelection(b)},cs:function(){this.clearSelection()},sa:function(){this.selectAll()},getSelectionMode:function(){return this._68O},setSelectionMode:function($){var b=this;if(b._68O!==$&&($===nh||$===Fj||$===lb)){b.cs();var p=b._68O;b._68O=$,b.fp("selectionMode",p,$)}},_21I:function(M){var k=this,E=k._dataModel;E!==M&&(E&&(k.cs(),E.umm(k.handleDataModelChange,k)),k._dataModel=M,M.mm(k.handleDataModelChange,k,!0),k.fp(zc,E,M))},dispose:function(){var U=this;U.cs(),U._dataModel.umm(U.handleDataModelChange,U)},handleDataModelChange:function(E){var y=this;if(E.kind===Jd){var Z=E.data;y.co(Z)&&(y._73O.remove(Z),delete y._map[Z._id],y._75I(Jd,new Sl(Z)))}else E.kind===Po&&y.cs()},getFilterFunc:function(){return this._filterFunc},setFilterFunc:function(S){var s=this;if(s._filterFunc!==S){s.cs();var w=s._filterFunc;s._filterFunc=S,s.fp("filterFunc",w,s._filterFunc)}},_75I:function(C,h,Z,c){Z&&(this._73O.each(function(J){c[J._id]?Z.remove(J):Z.add(J)}),h=Z.toList()),this._74I.fire({kind:C,datas:new Sl(h)})},addSelectionChangeListener:function(V,C,h){this._74I.add(V,C,h)},removeSelectionChangeListener:function(Y,B){this._74I.remove(Y,B)},_97O:function(D,V){for(var F,H=this,Y=0,j=new Sl(D);Y<j.size();Y++)F=j.get(Y),(H._filterFunc&&!H._filterFunc(F)||V&&H.co(F)||!V&&!H.co(F)||!H._dataModel.contains(F))&&(j.removeAt(Y),Y--);return j},appendSelection:function(h){var Z=this;if(Z._68O!==nh){var u,z,R=Z._73O,s=Z._97O(h,!0);s.isEmpty()||(Z.sg()&&(u=new Sl(R),z=Z._map,R.clear(),Z._map={},s=new Sl(s.get(s.size()-1))),s.each(function(e){R.add(e),Z._map[e._id]=e}),Z._75I("append",s,u,z))}},removeSelection:function(T){var L=this,S=L._97O(T),B=0,p=S.size();if(0!==p){for(;p>B;B++){var X=S.get(B);L._73O.remove(X),delete L._map[X._id]}L._75I(Jd,S)}},toSelection:function(k,F){return this._73O.toList(k,F)},getSelection:function(){return this._73O},each:function(h,_){this._73O.each(h,_)},setSelection:function(u){var k=this,j=k._73O;if(k._68O!==nh&&!(j.isEmpty()&&!u||1===j.size()&&k.ld()===u)){var g=new Sl(j),I=k._map;j.clear(),k._map={};var S=k._97O(u,!0);k.sg()&&S.size()>1&&(S=new Sl(S.get(S.size()-1))),S.each(function(C){j.add(C),k._map[C._id]=C}),k._75I("set",J,g,I)}},clearSelection:function(){var k=this,T=k._73O;if(T.size()>0){var F=T.toList();T.clear(),k._map={},k._75I(Po,F)}},selectAll:function(){var e=this;if(e._68O!==nh){var F,d,I=e._dataModel.toDatas();if(e._filterFunc)for(F=0;F<I.size();F++)d=I.get(F),e._filterFunc(d)||(I.removeAt(F),F--);var z=e._73O,N=new Sl(z),G=e._map;z.clear(),e._map={},e.sg()&&I.size()>1&&(I=new Sl(I.get(I.size()-1)));var p=I.size();for(F=0;p>F;F++)d=I.get(F),z.add(d),e._map[d._id]=d;e._75I("all",J,N,G)}},size:function(){return this._73O.size()},isEmpty:function(){return this._73O.isEmpty()},contains:function(E){return this._map[E._id]!=J},getLastData:function(){var P=this._73O;return P.size()>0?P.get(P.size()-1):J},getFirstData:function(){var g=this._73O;return g.size()>0?g.get(0):J},isSelectable:function(E){var k=this;return E&&k._68O!==nh?k._filterFunc?k._filterFunc(E):!0:!1},getTopSelection:function(){var H=this,F=new Sl;return H._73O.each(function(e){for(var m=e.getParent();m;){if(H.contains(m)){e=J;break}m=m.parent}e&&F.add(e)}),F}});var wi=function(){return zl(0),function(f,Q){var C;if(Nd(Q)){var o=f.getDataUI(Q);o&&o._88I&&(C=o._88I.rect)}return C?C:Q.getRect()}}();Iq(_,{edgeGroupAgentFunc:J,graphViewAutoScrollZone:16,graphViewZoomable:!0,graphViewResettable:!1,graphViewPannable:!0,graphViewRectSelectable:!0,graphViewScrollBarVisible:!0,graphViewRectSelectBorderColor:l.rectSelectBorder,graphViewRectSelectBackground:yp,graphViewEditPointSize:Gm?17:7,graphViewEditPointBorderColor:l.editPointBorder,graphViewEditPointBackground:l.editPointBackground,setEdgeType:function(D,U,P){jm[D]=U,tp[D]=P},getEdgeType:function(R){return jm[R]},getEdgeTypeMap:function(){return jm},getNodeRect:wi},!0),Iq(e,{"layout.h":a,"layout.v":a,"2d.selectable":!0,"2d.visible":!0,"2d.movable":!0,"2d.editable":!0,"2d.move.mode":a,interactive:!1,preventDefaultWhenInteractive:!0,"image.stretch":"fill",icons:a,ingroup:!0,"body.color":a,"2d.gray":!1,fullscreen:a,"fullscreen.gap":2,"fullscreen.lock":!1,opacity:a,pixelPerfect:!0,keepAspectRatio:!1,"attach.points":null,"attach.style":null,"attach.close.threshold":16,"clip.direction":"top","clip.percentage":1,"select.color":fl,"select.width":1,"select.padding":2,"select.type":Ak,shadow:!1,"shadow.blur":6,"shadow.offset.x":3,"shadow.offset.y":3,"border.color":a,"border.width":2,"border.padding":2,"border.type":Ak,label:a,"label.font":a,"label.color":sp,"label.background":a,"label.position":31,"label.position.fixed":!1,"label.offset.x":0,"label.offset.y":2,"label.rotation":a,"label.max":a,"label.opacity":a,"label.scale":1,"label.align":a,"label.selectable":!0,label2:a,"label2.font":a,"label2.color":sp,"label2.background":a,"label2.position":34,"label2.position.fixed":!1,"label2.offset.x":0,"label2.offset.y":-2,"label2.rotation":a,"label2.max":a,"label2.opacity":a,"label2.scale":1,"label2.align":a,"label2.selectable":!0,note:a,"note.expanded":!0,"note.font":a,"note.color":tc,"note.background":fl,"note.position":8,"note.offset.x":-3,"note.offset.y":3,"note.max":a,"note.toggleable":!0,"note.border.width":1,"note.border.color":a,"note.opacity":a,"note.scale":1,"note.align":a,note2:a,"note2.expanded":!0,"note2.font":a,"note2.color":tc,"note2.background":fl,"note2.position":3,"note2.offset.x":3,"note2.offset.y":-3,"note2.max":a,"note2.toggleable":!0,"note2.border.width":1,"note2.border.color":a,"note2.opacity":a,"note2.scale":1,"note2.align":a,"group.type":a,"group.image":a,"group.image.stretch":"fill","group.repeat.image":a,"group.padding":8,"group.padding.left":0,"group.padding.right":0,"group.padding.top":0,"group.padding.bottom":0,"group.position":17,"group.toggleable":!0,"group.title.font":a,"group.title.color":tc,"group.title.background":l.groupTitleBackground,"group.title.align":rg,"group.title.orientation":Gh,"group.background":l.groupBackground,"group.depth":1,"group.border.width":1,"group.border.pattern":a,"group.border.color":hb,"group.border.radius":0,"group.border.cap":or,"group.border.join":Xf,"group.splitLine":!1,"group.gradient":J,"group.gradient.color":"#FFF",shape:a,"shape.background":hb,"shape.repeat.image":a,"shape.border.width":0,"shape.border.width.absolute":!1,"shape.border.color":hb,"shape.border.3d":!1,"shape.border.3d.color":a,"shape.border.3d.accuracy":a,"shape.border.cap":or,"shape.border.join":Xf,"shape.border.pattern":a,"shape.gradient":J,"shape.gradient.color":"#FFF","shape.depth":0,"shape.dash":!1,"shape.dash.pattern":Qn,"shape.dash.offset":0,"shape.dash.color":ll,"shape.dash.width":a,"shape.dash.3d":!1,"shape.dash.3d.color":a,"shape.dash.3d.accuracy":a,"shape.polygon.side":6,"shape.arc.from":X,"shape.arc.to":M,"shape.arc.close":!0,"shape.arc.oval":!1,"shape.corner.radius":a,"shape.gradient.pack":a,"shape.fill.rule":"nonzero","shape.fill.clip.direction":"top","shape.fill.clip.percentage":1,"shape.foreground":a,"shape.foreground.gradient":J,"shape.foreground.gradient.color":"#FFF","shape.foreground.clip.direction":"top","shape.foreground.clip.percentage":1,"autolayout.gap":a,"autolayout.hgap":a,"autolayout.vgap":a,"edge.type":a,"edge.points":a,"edge.segments":a,"edge.color":hb,"edge.width":2,"edge.width.absolute":!1,"edge.offset":0,"edge.group":0,"edge.expanded":!0,"edge.gap":12,"edge.toggleable":!0,"edge.center":!1,"edge.3d":!1,"edge.3d.color":a,"edge.3d.accuracy":a,"edge.cap":or,"edge.join":Xf,"edge.source.position":17,"edge.source.anchor.x":a,"edge.source.anchor.y":a,"edge.source.offset.x":0,"edge.source.offset.y":0,"edge.target.position":17,"edge.target.anchor.x":a,"edge.target.anchor.y":a,"edge.target.offset.x":0,"edge.target.offset.y":0,"edge.pattern":a,"edge.dash":!1,"edge.dash.pattern":Qn,"edge.dash.offset":0,"edge.dash.color":ll,"edge.dash.width":a,"edge.dash.3d":!1,"edge.dash.3d.color":a,"edge.dash.3d.accuracy":a,"edge.independent":!1,"attach.row.index":0,"attach.column.index":0,"attach.row.span":1,"attach.column.span":1,"attach.padding":0,"attach.padding.left":0,"attach.padding.right":0,"attach.padding.top":0,"attach.padding.bottom":0,"attach.index":-1,"attach.offset":0,"attach.offset.relative":!1,"attach.offset.opposite":!1,"attach.thickness":a,"attach.gap":0,"attach.gap.relative":!1,"grid.row.count":1,"grid.column.count":1,"grid.row.percents":a,"grid.column.percents":a,"grid.border":1,"grid.border.left":0,"grid.border.right":0,"grid.border.top":0,"grid.border.bottom":0,"grid.gap":1,"grid.background":l.gridBackground,"grid.depth":1,"grid.cell.depth":-1,"grid.cell.border.color":l.gridCellBorderColor,"grid.block":a,"grid.block.padding":3,"grid.block.width":1,"grid.block.color":l.gridBlockColor,text:"","text.align":"left","text.vAlign":"middle","text.color":sp,"text.font":dm,"text.shadow":!1,"text.shadow.color":fl,"text.shadow.blur":6,"text.shadow.offset.x":3,"text.shadow.offset.y":3,"text.scale.x":1,"text.scale.y":1,_62O:a},!0),Iq(hl,{_76I:function(P,F,Z){this._39I&&this._39I.fire({data:P,oldIndex:F,newIndex:Z})
|
||
},addIndexChangeListener:function(n,K,q){var r=this;r._39I||(r._39I=new Hf),r._39I.add(n,K,q)},removeIndexChangeListener:function($,E){this._39I.remove($,E)},prepareRemove:function(C){zm(C)&&(C.setSource(J),C.setTarget(J)),C._70O&&C._70O.toList().each(this.remove,this),C._69O&&C._69O.toList().each(function(r){r.setHost(J)}),C._host&&C.setHost(J)},onAdded:function(A){this.isAutoAdjustIndex()&&this.adjustIndex(A)},onDataPropertyChanged:function(j,r){nc[r.property]&&this.isAutoAdjustIndex()&&this.adjustIndex(j)},isAdjustable:function(C){return lm(C)||zm(C)},isAdjustedToBottom:function(n){return id(n)?n.isExpanded()&&Cb(n):!1},adjustIndex:function(V){var u=this;this.isHierarchicalRendering()||(u.isAdjustedToBottom(V)?(u.sendToBottom(V),V.eachChild(u.adjustIndex,u)):u.sendToTop(V))},sendToTop:function(E){var L=this;if(L.contains(E)&&L.isAdjustable(E)){var T=L._datas;if(E!==T.get(L.size()-1)){var y=T.indexOf(E);T.removeAt(y),T.add(E),L._76I(E,y,L.size()-1)}if(zm(E)){var m=E._40I;m&&!L.isAdjustedToBottom(m)&&L.sendToTop(m),m=E._41I,m&&!L.isAdjustedToBottom(m)&&L.sendToTop(m)}E._69O&&E._69O.each(function(u){u.isRelatedTo(E)||lm(E)&&u.isLoopedHostOn(E)||L.sendToTop(u)}),E.ISubGraph||(!id(E)||E.isExpanded())&&E._adjustChildrenToTop&&E.eachChild(function(o){zm(o)||L.sendToTop(o)})}},sendToBottom:function(Q,x){var s=this;if(Q!==x&&s.contains(Q)&&s.isAdjustable(Q)&&(!x||s.contains(x))){var A=s._datas,_=A.remove(Q),I=x?s._datas.indexOf(x):0;if(A.add(Q,I),_!==I){s._76I(Q,_,I);var V=Q._parent;!V||V.ISubGraph||zm(V)||s.sendToBottom(Q._parent,Q)}}}}),Iq(ah,{ms_edit:function(Z){Z._46O=function(h){var i=this,r=i.gv.dm(),L=i._index,J=i._89I,H=i._node,j=i._shape,x=i._edge,a=i._77I;H&&J?(this.fi({kind:"endEditRect",event:h,data:H,direction:J}),r.endTransaction()):j&&L>=0?(i.fi({kind:"endEditPoint",event:h,data:j,index:L}),r.endTransaction()):x&&L>=0?(i.fi({kind:"endEditPoint",event:h,data:x,index:L}),r.endTransaction()):a&&(i.fi({kind:"endEditRotation",event:h,data:a}),r.endTransaction())},Z._78I=function(e){var b=this;b.autoScroll(e);var Y=b.gv.lp(e),$=b._index,g=b._89I,U=b._node,M=b._shape,C=b._edge,j=b._77I;if(U&&g)b._80O(Y),b.fi({kind:"betweenEditRect",event:e,data:U,direction:g});else if(M&&$>=0)Y.e=M.getPoints().get($).e,M.setPoint($,Y),b.fi({kind:"betweenEditPoint",event:e,data:M,index:$});else if(C&&$>=0){var Z=C.s(Sq);Y.e=Z.get($).e,Z.set($,Y),C.fp(Sq,J,Z),b.fi({kind:"betweenEditPoint",event:e,data:C,index:$})}else if(j){var i=j.p(),w=j.getScale(),D=I+v(Y.y-i.y,Y.x-i.x);w.y<0&&(D+=X),x(D)<.04&&(D=0),j.setRotation(D),b.fi({kind:"betweenEditRotation",event:e,data:j})}},Z._80O=function(y){var v=this,h=v._node,O=v._rect,m=O.x,E=O.y,l=O.width,L=O.height,i=v._89I,j=v._anchor,d=v._matrix,y=d.tfi(y);"northwest"===i?O=Ih(y,{x:m+l,y:E+L}):i===Ub?O=Ih({x:m,y:y.y},{x:m+l,y:E+L}):"northeast"===i?O=Ih({x:m,y:y.y},{x:y.x,y:E+L}):i===gl?O=Ih({x:y.x,y:E},{x:m+l,y:E+L}):i===Ro?O=Ih({x:m,y:E},{x:y.x,y:E+L}):"southwest"===i?O=Ih({x:y.x,y:E},{x:m+l,y:y.y}):"south"===i?O=Ih({x:m,y:E},{x:m+l,y:y.y}):"southeast"===i&&(O=Ih({x:m,y:E},y)),h.setPosition(d.tf(O.x+O.width*j.x,O.y+O.height*j.y)),h.setWidth(O.width),h.setHeight(O.height)},Z._80I=function(T,h,G,o){var R=this,m=R.gv._zoom,j=(R.gv.getEditPointSize()+2)/m;return Cs({x:h-j/2,y:G-j/2,width:j,height:j},T)?(R._89I!==o&&(R._89I=o),!0):!1},Z._79I=function(s,Z,N){var c=this,p=c.gv,T=Z?p.getDataUI(Z):J,r=T?T._55O:J;if(r){var S,x,m,E,d=p._zoom,n=(p.getEditPointSize()+2)/d,b=p.lp(s);if(lm(Z)){if(r._56O&&lm(Z)&&(x=r._98o,Cs({x:x.x-n/2,y:x.y-n/2,width:n,height:n},b)))return c._77I=Z,N&&c.fi({kind:"beginEditRotation",event:s,data:Z}),c.setCursor("crosshair"),!0;if(r._43O&&Z instanceof Kp)for(m=Z.getPoints(),S=m.size()-1;S>=0;S--)if(x=m.get(S),Cs({x:x.x-n/2,y:x.y-n/2,width:n,height:n},b))return c._index=S,c._shape=Z,N&&c.fi({kind:"beginEditPoint",event:s,data:Z,index:S}),c.setCursor("crosshair"),!0;if(r._42O)for(var U=Z.getEditControlPoints(),F=["northwest",-1,-1,gl,-1,0,"southwest",-1,1,"south",0,1,"southeast",1,1,Ro,1,0,"northeast",1,-1,Ub,0,-1],S=0,E=U.length;E>S;S++){var o=F[3*S],e=U[S];if(c._80I(b,e.x,e.y,o)){c._node=Z;var D=Z.getWidth(),y=Z.getHeight(),P=Z.getAnchor();c._rect={x:-D*P.x,y:-y*P.y,width:D,height:y},c._anchor=P,c._matrix=Z.getMatrix();var V=Z.getRotation(),z=L(V),g=q(V),a=F[3*S+1]*$g(Z.getScale().x),W=F[3*S+2]*$g(Z.getScale().y),Y=Math.atan2(-g*a-z*W,z*a-g*W),Q=(Math.round(Y/(Math.PI/4))+8)%8,I=[Rq,"nesw-resize",Td,"nwse-resize",Rq,"nesw-resize",Td,"nwse-resize"][Q];return c.setCursor(I),N&&c.fi({kind:"beginEditRect",event:s,data:Z,direction:c._89I}),!0}}}if(r._43O&&zm(Z)&&Z.s(kb)===Fq&&(m=Z.s(Sq)))for(S=m.size()-1;S>=0;S--)if(x=m.get(S),Cs({x:x.x-n/2,y:x.y-n/2,width:n,height:n},b))return c._index=S,c._edge=Z,N&&c.fi({kind:"beginEditPoint",event:s,data:Z,index:S}),c.setCursor("crosshair"),!0}return!1}},ms_gv:function(y){y._currentSubGraph=J,y._fpsInfo={time:0,fps:0,frames:0},y.upSubGraph=function(){this.setCurrentSubGraph(Bb(this._currentSubGraph))},y.isVisible=function(m){var M=this;if(Bb(m)!==M._currentSubGraph)return!1;if(zm(m)){var Q=m._40I,u=m._41I;if(!Q||!u)return!1;if(!(m.s("edge.independent")||M.isVisible(Q)&&M.isVisible(u)))return!1;if(m.isEdgeGroupHidden())return!1}else for(var G=m._parent;G&&!G.ISubGraph;){if(id(G)&&(!G.isExpanded()||!M.isVisible(G)))return!1;G=G._parent}if(m._parent instanceof Ff&&!M.isVisible(m._parent))return!1;if(m._refGraph instanceof Ge&&!M.isVisible(m._refGraph))return!1;if(M instanceof _k){if(!m.s("3d.visible"))return!1}else{var E=M.getLayersInfo();if(E){var w=E[m._layer];if(w&&w.visible===!1)return!1}if(!m.s("2d.visible"))return!1}return M._visibleFunc?M._visibleFunc(m):!0},y.handleSelectionChange=function(A){var s=this;A.datas.each(function(m){s.invalidateData(m);var b=m._parent;id(b)&&lm(m)&&m.s(fj)&&(s.invalidateData(b),b._49I&&b._49I.each(function(c){s.invalidateData(c)}))}),s.onSelectionChanged(A)},y.onSelectionChanged=function(W){var G=this,T=G.sm();if(1===T.size()&&("set"===W.kind||"append"===W.kind)){var n=T.ld();G.isAutoMakeVisible()&&G.makeVisible(n),G.adjustIndex&&G._dataModel.isAutoAdjustIndex()&&G.adjustIndex(n)}},y.makeVisible=function(j){if(j){var c=this,O=c.getDataUI?c.getDataUI(j):c.getData3dUI(j);if(O){var $=j,t=Bb(j);for(t!==c._currentSubGraph&&c.setCurrentSubGraph(t);($=$._parent)&&$!==t;)id($)&&$.setExpanded(!0);c._23I=j,c.iv()}}},y.getLabel=function(p){var b=p.getStyle(El);return b===a?p.getName():b},y.getLabelBackground=function(h){return h.getStyle("label.background")},y.getLabelColor=function(A){return A.getStyle("label.color")},y.getLabel2=function(q){return q.getStyle("label2")},y.getLabel2Background=function(h){return h.getStyle("label2.background")},y.getLabel2Color=function(u){return u.getStyle("label2.color")},y.getNote=function(W){return W.getStyle(zs)},y.getNoteBackground=function(H){return H.getStyle("note.background")},y.getNote2=function(f){return f.getStyle(Mg)},y.getNote2Background=function(v){return v.getStyle("note2.background")},y.handleClick=function(I,h,J){var v=this;h?(v.fi({kind:"clickData",event:I,data:h,part:J}),v.onDataClicked(h,I)):(v.fi({kind:"clickBackground",event:I}),v.onBackgroundClicked(I))},y.handleDoubleClick=function(_,f,j){var T=this;ve(_)&&(f?(T.fi({kind:"doubleClickData",event:_,data:f,part:j}),T.onDataDoubleClicked(f,_,j),T.checkDoubleClickOnNote(_,f,j)||T.checkDoubleClickOnRotation&&T.checkDoubleClickOnRotation(_,f,j)||(zm(f)?T.onEdgeDoubleClicked(f,_,j):f.ISubGraph?T.onSubGraphDoubleClicked(f,_,j):id(f)?T.onGroupDoubleClicked(f,_,j):f.IDoorWindow?T.onDoorWindowDoubleClicked(f,_,j):f.ICSGBox&&T.onCSGBoxDoubleClicked(f,_,j))):(T.fi({kind:"doubleClickBackground",event:_}),T.onBackgroundDoubleClicked(_)))},y.onSubGraphDoubleClicked=function(g){this.setCurrentSubGraph(g)},y.onEdgeDoubleClicked=function(V,c){V.ISubGraph&&!xr(c)?this.setCurrentSubGraph(V):V.s("edge.toggleable")&&V.toggle()},y._39Q=function(M){return this.isInteractive(M)?this.preventDefaultWhenInteractive(M):!1},y.preventDefaultWhenInteractive=function(j){return j.s("preventDefaultWhenInteractive")},y.onGroupDoubleClicked=function(s){s.s("group.toggleable")&&s.toggle()},y.onDoorWindowDoubleClicked=function(D){D.s("dw.toggleable")&&D.toggle(!0)},y.onCSGBoxDoubleClicked=function(D,h){var T=this;if(T instanceof _k){var M=T.getHitFaceInfo(h);M&&M.face&&D.s(M.face+".toggleable")&&D.toggleFace(M.face,!0)}},y.onBackgroundClicked=function(){},y.onBackgroundDoubleClicked=function(){this.upSubGraph()},y.onDataClicked=function(){},y.onDataDoubleClicked=function(){},y.onAutoLayoutEnded=function(){},y.onMoveEnded=function(){},y.onPanEnded=function(){},y.onPinchEnded=function(){},y.onRectSelectEnded=function(){},y.onZoomEnded=function(){},y.serialize=function($){return this.dm().serialize($)},y.toJSON=function(){return this.dm().toJSON()},y.deserialize=function(q,H){var f=this;H=H instanceof fg?{rootParent:H}:Bh(H)?{setId:H}:Gl(H)?{finishFunc:H}:H||{},H.view=f;var h=f.dm(),a=H.finishFunc;return H.finishFunc=function(){a&&a.apply(H,arguments),Bh(h.a("zoomable"))&&f.setZoomable&&f.setZoomable(h.a("zoomable")),Bh(h.a("pannable"))&&f.setPannable&&f.setPannable(h.a("pannable")),Bh(h.a("rectSelectable"))&&f.setRectSelectable&&f.setRectSelectable(h.a("rectSelectable")),h.a("fitContent")===!0&&f.fitContent&&f.fitContent(!0,0)},h.deserialize(q,H.rootParent,H)},y.showDebugTip=function(){var u=this,g=u._debugDiv;if(!g){g=u._debugDiv=E.createElement("div"),g.style.position="absolute",g.style.overflow="hidden",g.style.backgroundColor="white",g.style.color="black";var T=u.getView();u._79O?T.insertBefore(g,u._79O):T.appendChild(g);var v=function(){u.redraw();var z=u._canvas,e="FPS : "+u._fpsInfo.fps+"<br/>"+"Datas : "+u.dm().getDatas().length+(z?"<br/>Size : "+z.width+" * "+z.height:""),E=u.getDebugTip();E&&(e+="<br/>------<br/>"+E),g.innerHTML=e,u._isDebugging&&requestAnimationFrame(v)};requestAnimationFrame(v),u._isDebugging=!0}},y.hideDebugTip=function(){var l=this,c=l._debugDiv;c&&(delete l._debugDiv,l.getView().removeChild(c),l._isDebugging=!1)},y.updateDOMAppendMatrix=function(){var F=this.getView();F&&(F.updateAppendMatrix=!0)},y.countFrame=function(){if(this._isDebugging){var B=Date.now(),M=this._fpsInfo;B-M.time>1e3?(M.fps=Math.round(1e5*(M.frames+1)/(B-M.time))/100,M.time=B,M.frames=0):M.frames++}}},ms_icons:function(w){w.getRotation=function(I){return I==J?0:I},w._15O=function(){var j=this,w=j.s(zp);if(w){var x=j,h=j.data||j._data,t=j._38o={icons:w,rects:{}};for(var P in w){var q=w[P],G=jc(q.shape3d,h,x);if(!(jc(q.visible,h,x)===!1||jc(q.for3d,h,x)&&!j.I3d||G&&!j.I3d)){var g=G?[G]:jc(q.names,h,x),m=g?g.length:0,C=jc(q.position,h,x)||3,v=jc(q.offsetX,h,x)||0,T=jc(q.offsetY,h,x)||0,O=jc(q.direction,h,x)||Ro,f=jc(q.gap,h,x),A=f!=J?f:1,z=jc(q.rotation,h,x),Y=jc(q.keepOrien,h,x),N=jc(q.rotationFixed,h,x)?z:j.getRotation(z,Y,C),S=J,Q=t.rects[P]=new Array(m);Q.rotation=N;for(var e=0;m>e;e++){var _,I,B,c,y=g[e];if(G)B=0,c=0;else{var s=Kg(y);B=jc(q.width,h,x),c=jc(q.height,h,x),B==J&&(B=vj(s,h)),c==J&&(c=Cj(s,h))}if(S?O===Ro?v+=B/2:O===gl?v-=B/2:O===Ub?T-=c/2:T+=c/2:S={width:B,height:c},j.I3d){var d=-B/2,o=-c/2;I={width:B,height:c,mat:j._16O(jc(q.autorotate,h,x),C,S,jc(q.face,h,x)||jk,jc(q.t3,h,x),jc(q.r3,h,x),jc(q.rotationMode,h,x),v,T),vs:new Ml([d,-o,0,d,-o-c,0,d+B,-o-c,0,d+B,-o,0])}}else _=j.getPosition(C,v,T,S,jc(q.positionFixed,h,x)),I={x:_.x-B/2,y:_.y-c/2,width:B,height:c},j._68o(I,N);Q[e]=I,O===Ro?v+=B/2+A:O===gl?v-=B/2+A:O===Ub?T-=c/2+A:T+=c/2+A}}}}}}});var gq={1:1,2:1,6:1,9:1,10:1,14:1,15:1,16:1,21:1,22:1,26:1,29:1,30:1,34:1,36:1,38:1,40:1,42:1,45:1,50:1,52:1,54:1},gc={3:1,7:1,11:1,17:1,23:1,27:1,31:1,44:1,46:1,47:1,49:1},Th={translateX:1,translateY:1,zoom:1,scrollBarVisible:1},nc={sourceAgent:1,targetAgent:1,expanded:1,parent:1,host:1},ae={position:1,width:1,height:1,expanded:1,rotation:1,anchor:1,scale:1,"s:edge.points":1},yh={"edge.type":1,"edge.group":1},bn={rotation:1,rotationX:1,rotationZ:1},zd={position:1,width:1,height:1,anchor:1,scale:1,"s:grid.row.count":1,"s:grid.column.count":1,"s:grid.row.percents":1,"s:grid.column.percents":1,"s:grid.border":1,"s:grid.border.left":1,"s:grid.border.right":1,"s:grid.border.top":1,"s:grid.border.bottom":1,"s:grid.gap":1},le={"attach.row.index":1,"attach.column.index":1,"attach.row.span":1,"attach.column.span":1,"attach.padding":1,"attach.padding.left":1,"attach.padding.right":1,"attach.padding.top":1,"attach.padding.bottom":1,"attach.index":1,"attach.offset":1,"attach.offset.relative":1,"attach.offset.opposite":1,"attach.gap":1,"attach.gap.relative":1,"attach.thickness":1},Sh={shape:1,thickness:1,position:1,anchor:1,scale:1},Bb=function(D){if(!D)return J;if(zm(D)){var s=D._40I,I=D._41I;if(!s||!I)return J;var B=Bb(s),d=Bb(I);return B===d?B:J}for(var L=D._parent;zm(L)&&!L.ISubGraph;)L=L._parent;return L?L.ISubGraph?L:Bb(L):J},Wg=function(r,l,k,R){var D=l.getStyle(k)*R;D&&Bd(r,D),D=l.getStyle(k+".left")*R,D&&(r.x-=D,r.width+=D),D=l.getStyle(k+".right")*R,D&&(r.width+=D),D=l.getStyle(k+".top")*R,D&&(r.y-=D,r.height+=D),D=l.getStyle(k+".bottom")*R,D&&(r.height+=D),r.width<0&&(r.width=-r.width,r.x-=r.width),r.height<0&&(r.height=-r.height,r.y-=r.height)},Cb=function(Y){for(var U,I=0,W=Y.size();W>I;I++)if(U=Y.getChildAt(I),lm(U)&&Cb(U))return!0;return Y.hasAgentEdges()},Vc=function(Y){if(!Y)return J;for(var g=Y._parent;id(g);){if(!id(g._parent))return g.isExpanded()?Y:g;g.isExpanded()||(Y=g),g=g._parent}return Y},dg=function(t,d){if(!t||!d)return J;var I,R,l,L=Bb(t),y=Bb(d);if(L!==y){for(;y&&L!==y;)y=Bb(y);if(L===y)return t;I=new Sl,I.add(t,0);for(var $=t._parent;lm($)&&!d.isDescendantOf($);)I.add($,0),$=$._parent;for(l=I.size(),R=0;l>R;R++){var P=I.get(R);if(id(P)&&!P.isExpanded())return P;if(P.ISubGraph)return P}return t}return t},as=function(Q){if(Q.isLooped())return Q._source;var W=Vc(Q._source),p=Vc(Q._target);return W===p?Q._source:dg(W,p)},mn=function(Z){if(Z.isLooped())return Z._target;var x=Vc(Z._source),l=Vc(Z._target);return x===l?Z._target:dg(l,x)},Jf=function(z,b,I){"target"!==I&&(I="source");var q="target"===I?b.getTargetAgent():b.getSourceAgent(),y="edge."+I+".";if(zm(q)){var e=z.getDataUI(q);e._79o();var c=b.s(y+"index");if(c!==a){var R=Zk(e);return R[Math.max(0,Math.min(c,R.length-1))]}var p=b.s(y+"percent")||0;p=Math.max(0,Math.min(p,1));var m=Zc(e);return sh(m,100*p)}return Lb(z,q,b.s(y+"position"),b.s(y+"offset.x"),b.s(y+"offset.y"),b.s(y+"anchor.x"),b.s(y+"anchor.y"))},Lb=function(z,A,R,O,K,E,g){if(!A)return J;var w,y=A.getRotation?A.getRotation():0;if(E!==a||g!==a){E=E===a?.5:E,g=g===a?.5:g;var V=A.getScale();if(y&&!Nd(A,z)||V.x<0||V.y<0){var Z=A.getPosition(),M=A.getWidth(),x=A.getHeight(),o=A.getAnchor(),D=new Qq(y,Z.x,Z.y,V.x,V.y);R=D.tf((E-o.x)*M,(g-o.y)*x)}else w=wi(z,A),R={x:w.x+E*w.width,y:w.y+g*w.height}}else R=aj(R,wi(z,A));if(y){var I=L(y),l=q(y),j=O*I-K*l;K=O*l+K*I,O=j}return R.x+=O,R.y+=K,R},tb=function(e,z){if(!e||!z)return J;var r,q,M,k,$,i;if(e===z){if(k=e.getLoopedEdges(),!k)return J;k=new Sl(k)}else{if($=e.getAgentEdges(),i=z.getAgentEdges(),!$||!i)return J;for(q=$.size(),r=0;q>r;r++)M=$.get(r),i.contains(M)&&(k||(k=new Sl),k.add(M))}if(k)for(r=0;r<k.size();r++)M=k.get(r),M.getStyle(kb)===Fq&&(M._22I(J),k.removeAt(r),r--);return k},Yp=function(b,v){var d=tb(b,v);if(d&&!d.isEmpty()){if(1===d.size())return d.get(0)._22I(J),void 0;var Y=new Sl,I=new Sl;d.each(function(Q){var F=Q.s("edge.group");Y.contains(F)||Y.add(F)}),Y.sort(),Y.each(function($){I.add(new K.EdgeGroup(d.toList(function(K){return $===K.s("edge.group")}),I))}),I.each(function(C){C.each(function(n){n._22I(C)})})}},mj=function(o,x,B){var r=o._canvas;o._zoom;var d=xn(x,r),V=xn(B,r);return{x:d.x-V.x,y:d.y-V.y}},Dg=function(C,u){if(u){var I=u.rect,Q=u.color,W=u.rotation,K=u.labelWidth,k=u.background,r=u.opacity,Y=u.scale,U=Y!=J&&1!==Y;if(r!=J){var h=C.globalAlpha;C.globalAlpha*=r}if(W||U){C.save();var $=I.x+I.width/2,O=I.y+I.height/2;ee(C,$,O),W&&sd(C,W),U&&C.scale(Y,Y),ee(C,-$,-O)}if(k&&ao(C,I.x,I.y,I.width,I.height,k),K){var p=I.width,S=C.createLinearGradient(I.x,I.y,I.x+p,I.y);S.addColorStop(0,Q),S.addColorStop(.9,Q),S.addColorStop(1,Rl),Q=S,I.width=K}kh(C,u.ss,I,u.font,Q,u.align),K&&(I.width=p),(W||U)&&C.restore(),r!=J&&(C.globalAlpha=h)}},lk=function(O,h){if(h){var K=h.rect,i=K.x,Q=K.y,z=K.width,k=K.height,E=h.background,Y=h.backgroundImage,U=h.borderWidth,o=h.borderColor,G=h.labelWidth,D=h.opacity,Z=h.scale,m=Z!=J&&1!==Z;if(D!=J){var r=O.globalAlpha;O.globalAlpha*=D}if(m){O.save();var e=K.x+K.width/2,H=K.y+K.height/2;ee(O,e,H),O.scale(Z,Z),ee(O,-e,-H)}if(h.expanded){var N=g(8,z/4),P=Q+k-8;if(O.fillStyle=E,O.beginPath(),O.moveTo(i,Q),O.lineTo(i,P),O.lineTo(i+z/2,P),O.lineTo(i+z/2,Q+k),O.lineTo(i+z/2+N,P),O.lineTo(i+z,P),O.lineTo(i+z,Q),O.closePath(),O.fill(),U&&(O.lineWidth=U,O.lineJoin="round",O.lineCap="round",o?(O.strokeStyle=o,O.stroke()):(O.strokeStyle=ys(E),O.beginPath(),O.moveTo(i+z,Q),O.lineTo(i+z,P),O.lineTo(i+z/2+N,P),O.lineTo(i+z/2,Q+k),O.stroke(),O.strokeStyle=ss(E),O.beginPath(),O.moveTo(i+z,Q),O.lineTo(i,Q),O.lineTo(i,P),O.lineTo(i+z/2,P),O.lineTo(i+z/2,Q+k),O.stroke())),Y)jl(O,Kg(Y),_d,K.x,K.y,K.width,K.height-8,h.data,h.view);else{if(K.height-=8,E=h.color,G){var s=z,u=O.createLinearGradient(i,Q,i+s,Q);u.addColorStop(0,E),u.addColorStop(.9,E),u.addColorStop(1,Rl),E=u,K.width=G}kh(O,h.ss,K,h.font,E,h.align),G&&(K.width=s),K.height+=8}}else if(h.icon)Bq(O,Kg(h.icon),i,Q,z,k,h.data,h.view);else{var y=z/2;U&&(O.lineWidth=U,O.lineJoin="round",O.lineCap="round",O.strokeStyle=o?o:ys(E),O.beginPath(),O.arc(i+y,Q+y,y,I,1.6*X,!0),O.moveTo(i+y,Q+k),O.lineTo(i+z-y/5,Q+y),O.stroke(),O.strokeStyle=o?o:ss(E),O.beginPath(),O.arc(i+y,Q+y,y,1.6*X,I,!0),O.moveTo(i+y,Q+k),O.lineTo(i+y/5,Q+y),O.stroke()),O.fillStyle=E,O.beginPath(),O.arc(i+y,Q+y,y,0,M,!0),O.moveTo(i+y,Q+k),O.lineTo(i+z-y/5,Q+y),O.lineTo(i+y/5,Q+y),O.closePath(),O.fill(),O.fillStyle=h.color,O.beginPath(),O.arc(i+y,Q+y,y/3,0,M,!0),O.fill()}m&&O.restore(),D!=J&&(O.globalAlpha=r)}},fe=function(p,i){return i>2*p?p:i/2},_h=function(n,Q,R,c){if(!n||!Q)return 0;var E=v(Q.y-n.y,Q.x-n.x);return R||(E=Q.x<n.x?E+X:E),E+c},$h=function(F,S,m,z,f,l,G){G&&(F.x>S.x||F.x===S.x&&F.y>S.y)&&(m=tk[m],f=-f);var t=aj(m,{x:0,y:0,width:Kk(F,S),height:0},l);return t.x+=z,t.y+=f,t=new Qq(v(S.y-F.y,S.x-F.x)).tf(t),t.x+=F.x,t.y+=F.y,t},Hn=function(M,w,A,D,O){if(M._19Q=!0,!A.getEdgeGroup())return D?A.s("edge.gap"):0;if(zm(A.getSourceAgent())||zm(A.getTargetAgent()))return 0;var V,f=0,t=0,R=0;if(A.getEdgeGroup().getSiblings().each(function(M){M.each(function(F){if(w.isVisible(F)&&F.s(kb)==O){var l=F.s("edge.gap");V?(t+=R/2+l/2,R=l):(V=F,R=l),F===A&&(f=t)}})}),D)return t-f+R;var X=f-t/2;return V&&A._40I!==V._40I&&(M._19Q=!1),X},cf=function(){var C=function($){var m=[];return $.forEach(function(V){m.push({x:V.x,y:V.y}),m.push({x:V.x+V.width,y:V.y+V.height}),m.push({x:V.x+V.width,y:V.y}),m.push({x:V.x,y:V.y+V.height})}),m};return function(B,x,I){if("oval"===B){var Z=0,y=I.height/I.width,u=y*y,v=I.x+I.width/2,k=I.y+I.height/2,A=C(x);A.forEach(function(x){var h=x.x-v,f=x.y-k,w=h*h+f*f/u;w>Z&&(Z=w)}),Z=s(Z);var q=y*Z;return{x:v-Z,y:k-q,width:2*Z,height:2*q}}if("circle"===B){var R=0,v=I.x+I.width/2,k=I.y+I.height/2,A=C(x);return A.forEach(function(u){var n=u.x-v,B=u.y-k,O=n*n+B*B;O>R&&(R=O)}),R=s(R),{x:v-R,y:k-R,width:2*R,height:2*R}}return"roundRect"===B?(Bd(I,g(I.width,I.height)/16),I):I}}(),gf=K.graph={},Ab=function(A,z,x){Be(D+".graph."+A,z,x)};K.layout={};var rp={},Wk=function(O,q,c,F,h,Y,U,f){var k=[q.uuid,Math.round(F),Math.round(h),c].join("_");q.cacheRule&&(k+=jc(q.cacheRule,Y,U));var C=U._zoom;C!==U._cacheZoom&&(U._cacheZoom=C,U._cacheImage={}),C*=Kr;var e=U._cacheImage[k];return e||(e=U._cacheImage[k]=K.Default.toCanvas(q,Math.ceil(F*C),Math.ceil(h*C),c,Y,U,f)),e};Iq(_,{setImageCacheRule:function(J,C){var z;z=C||"object"!=typeof J?{_image:C}:J;for(var q in z){var R=z[q];tg(q)?(Be=Kg(q),Be?Be.cacheRule=R:rp[q]=R):q.cacheRule=R}}});var Uo={comps:[{type:gg,points:[85,50,70,115,100,71,86,107,88,49,47,71,120,111,107,104,111,70,87,69,86,69,68,118,69,121,116,55,52,111,54,76,88,99,107,48,113,112,81,109,71,73,52,61],borderWidth:1,borderColor:J}]};if(Uo[np]=Uo[_l]=160,C.Image){var ke=new C.Image;ke.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAALUlEQVRYR+3QQREAAAABQfqXFsNnFTizzXk99+MAAQIECBAgQIAAAQIECBAgMBo/ACHo7lH9AAAAAElFTkSuQmCC",mm("default_blank",ke)}mm("node_image",Hr(30,30,[{type:Ak,rect:[4,5,22,16],gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[2,3,26,20],borderWidth:1,borderColor:hb},{type:Ak,rect:[11,23,8,4],background:hb},{type:Ak,rect:[6,27,18,2],background:hb}])),mm("node_icon",Hr(16,16,[{type:Ak,rect:[2,2,12,10],gradient:iq,gradientColor:hd,background:hb},{type:un,rect:[2,2,12,10],width:1,color:hb},{type:Ak,rect:[6,12,4,2],background:hb},{type:Ak,rect:[4,14,8,1],background:hb}])),mm("block_icon",Hr(16,16,[{type:un,rect:[1,1,14,14],width:1,color:hb}])),mm("group_image",Hr(66,39,[{type:Ak,rect:[44.3,18,18.1,12.8],gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[3.3,17.8,18.1,12.8],gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[15.8,3.2,33.5,26.4],borderWidth:1,borderColor:hb,gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[26.2,29.4,12.8,4.2],background:hb},{type:Ak,rect:[21.3,33.5,22.5,2.3],background:hb},{type:Ak,rect:[5.3,32.7,14.1,2.1],background:hb},{type:Ak,rect:[9,30.4,6.7,2.4],background:hb},{type:Ak,rect:[50,30.7,6.7,2.4],background:hb},{type:Ak,rect:[46.3,33,14.1,2.1],background:hb}])),mm("group_icon",Hr(16,16,[{type:Ak,rect:[4,12,4,2],background:hb},{type:Ak,rect:[2,13,8,1],background:hb},{type:Ak,rect:[12,12,2,1],background:hb},{type:Ak,rect:[11,13,4,1],background:hb},{type:Ak,rect:[10,7,6,5],gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[1,2,10,10],gradient:iq,gradientColor:hd,background:hb},{type:un,rect:[1,2,10,10],width:1,color:hb}])),mm("refGraph_icon",Hr(16,16,[{type:"shape",borderWidth:1,borderColor:hb,borderCap:"round",rotation:.7854,points:[12.5502,6.7981,12.5502,6.7981,12.5502,4.8181,12.5502,3.7981,12.5502,2.7781,11.36687,1.7981,10.0502,1.7981,8.73354,1.7981,7.5502,2.8181,7.5502,3.7981,7.5502,4.55989,7.5502,7.79805,7.5502,7.79805,7.5502,7.79805,7.5502,9.7981,10.0502,9.7981],segments:[1,4,4,4,4,4]},{type:"shape",borderWidth:1,borderColor:hb,borderCap:"round",rotation:-2.35619,points:[8.4498,11.2019,8.4498,11.2019,8.4498,9.2219,8.4498,8.2019,8.4498,7.1819,7.26646,6.2019,5.9498,6.2019,4.63313,6.2019,3.4498,7.2219,3.4498,8.2019,3.4498,8.9637,3.4498,12.20186,3.4498,12.20186,3.4498,12.20186,3.4498,14.2019,5.9498,14.2019],segments:[1,4,4,4,4,4]}])),mm("edge_icon",Hr(16,16,[{type:Ak,rect:[2.1,6.9,11.5,2.6],rotation:-.79,gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[10.8,1,4,4],background:hb},{type:Ak,rect:[1,11,4,4],background:hb}])),mm("subGraph_image",Hr(72,45,[{type:gg,points:[9,42,.3,38.4,2.4,28.8,5.7,21.6,11.7,22.5,11.7,15.9,16.8,13.8,21.6,12,24.3,15.9,27.9,3,42.3,2.1,59.4,4.5,57.3,18.3,67.5,18.9,69.6,27.3,69.9,38.4,64.2,41.4],segments:[1,3,3,3,3,3,3,3,3],gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[29.6,30.7,3.6,1.8],background:hb},{type:Ak,rect:[28.4,32.3,6,1.2],background:hb},{type:Ak,rect:[37.3,32,10.8,1.8],background:hb},{type:Ak,rect:[39.1,29.9,7.2,2.3],background:hb},{type:Ak,rect:[26.6,23.7,9.6,7.2],gradient:iq,gradientColor:hd,background:hb},{type:Ak,rect:[34.3,16.8,16.8,13.2],borderWidth:1,borderColor:hb,gradient:iq,gradientColor:hd,background:hb}])),mm("subGraph_icon",Hr(17,17,[{type:gg,points:[2.2,14.6,.2,11.9,.8,8.8,1.8,5.9,5.6,7.4,3.8,1.6,10.3,3,14.5,4.2,12.2,7.5,18.9,7.2,14.5,14.5],segments:[1,3,3,3,3,3],gradient:iq,gradientColor:hd,background:hb}])),mm("shape_icon",Hr(16,16,[{type:gg,points:[1.5,1,8.4,1,8.4,7.2,14.6,7.1,14.6,14.9,1.5,14.9,1.5,1],background:hb}])),mm("polyline_icon",Hr(16,16,[{type:gg,points:[1.5,1,8.4,1,8.4,7.2,14.6,7.1,14.6,14.9,1.5,14.9,1.5,1],borderWidth:1,borderColor:hb},Bi(7.5,.4),Bi(7.5,6.3),Bi(13.6,6.3),Bi(13.6,14),Bi(.7,13.9),Bi(.7,.3)])),mm("grid_icon",Hr(16,16,[{type:Ak,rect:[1,1,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[6,1,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[11,1,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[11,6,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[6,6,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[1,6,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[11,11,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[6,11,4,4],background:hb,gradient:iq,gradientColor:hd},{type:Ak,rect:[1,11,4,4],background:hb,gradient:iq,gradientColor:hd}])),mm("light_icon",Hr(16,16,[{type:"rect",rect:[6,9,5,5],borderWidth:1,borderColor:hb},{type:"circle",rect:[1,1,15,10],borderWidth:1,borderColor:hb,gradient:iq,gradientColor:hd,background:{func:function(t){var u=t?t.s($q):J;return Bl(u)?"rgb("+z(255*u[0])+","+z(255*u[1])+","+z(255*u[2])+")":u||hb}}}])),mm("text_icon",Hr(16,16,[{type:"shape",points:[3,3,13,3,8,3,8,14],segments:[1,2,1,2],borderWidth:1,borderColor:hb}])),mm("border_image",{fitSize:!0,comps:[{type:"border",relative:!0,rect:[0,0,1,1],color:{func:"style@border_color"},width:{func:"style@border_width"}}]}),mm("columnChart_image",{fitSize:!0,boundExtend:150,comps:[{type:{func:"style@chart.type"},relative:!0,rect:[0,0,1,1],label:{func:"style@chart.label"},labelColor:{func:"style@chart.label.color"},labelFont:{func:"style@chart.label.font"},series:{func:"style@chart.series"},minValue:{func:"style@chart.min.value"},maxValue:{func:"style@chart.max.value"}}]}),mm("lineChart_image",{fitSize:!0,boundExtend:150,comps:[{type:"lineChart",relative:!0,rect:[0,0,1,1],label:{func:"style@chart.label"},labelColor:{func:"style@chart.label.color"},labelFont:{func:"style@chart.label.font"},series:{func:"style@chart.series"},minValue:{func:"style@chart.min.value"},maxValue:{func:"style@chart.max.value"},linePoint:{func:"style@chart.line.point"},lineWidth:{func:"style@chart.line.width"},line3d:{func:"style@chart.line.3d"}}]}),mm("pieChart_image",{fitSize:!0,boundExtend:150,comps:[{type:"pieChart",relative:!0,rect:[0,0,1,1],label:{func:"style@chart.label"},labelColor:{func:"style@chart.label.color"},labelFont:{func:"style@chart.label.font"},hollow:{func:"style@chart.hollow"},startAngle:{func:"style@chart.start.angle"},values:{func:"style@chart.values"},colors:{func:"style@chart.colors"}}]});var Ir=function(P,n,y,h,b,H){var O,s,e,l,p,I,B,$,d,x,E,w=[];if(Math.abs(h)>2*Math.PI&&(h=2*Math.PI),p=Math.ceil(Math.abs(h)/(Math.PI/4)),O=h/p,s=-O,e=-y,p>0){I=P+Math.cos(y)*b,B=n+Math.sin(-y)*H,w.push({x:I,y:B});for(var X=0;p>X;X++)e+=s,l=e-s/2,$=P+Math.cos(e)*b,d=n+Math.sin(e)*H,x=P+Math.cos(l)*(b/Math.cos(s/2)),E=n+Math.sin(l)*(H/Math.cos(s/2)),w.push({x:x,y:E}),w.push({x:$,y:d})}return w},nr=function(P){if(P){var Z=P._data;if(Z instanceof K.Shape)return{points:Z.getPoints(),segments:Z.getSegments()};var L;if(Z instanceof K.Edge&&(L=P._78o)){var c,y,k=L.type,f=L.points,q=L.segments,p=L.edgeTypeInfo;if(!k||f){var B=L.sourcePoint,i=B.x,S=B.y,R=L.targetPoint,w=R.x,o=R.y;if(k)q?(c=new Sl({x:i,y:S}),c.addAll(f),c.add({x:w,y:o}),y=new Sl(q._as)):(c=new Sl({x:i,y:S}),f.each(function(B){c.add(B)}),c.add({x:w,y:o}));else if(L.looped){c=new Sl(Ir(i,S,0,2*Math.PI,L.radius,L.radius)),y=new Sl([1]);for(var r=0;r<(c.size()-1)/2;r++)y.add(3)}else c=new Sl,L.center?(c.add({x:L.c1.x,y:L.c1.y}),c.add({x:i,y:S}),c.add({x:w,y:o}),c.add({x:L.c2.x,y:L.c2.y})):(c.add({x:i,y:S}),c.add({x:w,y:o}))}else p&&(c=new Sl(p.points._as),p.segments&&(y=new Sl(p.segments._as)));return{points:c,segments:y}}}},Zc=function(b,t,u){if(null==t){var I=nr(b);if(!I)return;t=I.points,u=I.segments}if(t){if(Array.isArray(t)&&(t=new Sl(t)),"number"==typeof t.get(0)){for(var n=new K.List,Z=0;Z<t.size();Z+=2)n.add({x:t.get(Z),y:t.get(Z+1)});t=n}if(!u){u=[1];for(var S=t.length-1;S>0;S--)u.push(2)}Array.isArray(u)&&(u=new Sl(u));for(var q=Wc(t._as,u._as,50),o=q.length,j=[],Z=0;o>Z;Z++){var X=q[Z];X.length>1&&j.push(X)}return j}},Ne=function(W){for(var w=0,u=W.length-1,K=0;u>K;K++){var s=W[K],t=W[K+1],U=t.x-s.x,i=t.y-s.y;w+=Math.sqrt(U*U+i*i)}return w},Gr=function(h,f){for(var C=0,s=f.length,S=0;s>S;S++){var $=f[S];if(C+=$,C>h)return S}return Math.min(S,s-1)},Ci=function(J,G){for(var K=0,w=0,m=0,Y=J.length-1,T=0;Y>T;T++){var P=J[T],O=J[T+1],o=O.x-P.x,v=O.y-P.y;if(m=Math.sqrt(o*o+v*v),K+=m,K>G){K-=m,w=T;break}}var F=J[w],B=J[w+1],E=Math.atan2(B.y-F.y,B.x-F.x),n=G-K,v=Math.sin(E)*n,o=Math.cos(E)*n;return{x:F.x+o,y:F.y+v}},sh=function($,Y){if($){var v;if(0===Y)v=$[0][0];else if(100===Y)$=$[$.length-1],v=$[$.length-1];else{for(var g=0,x=[],C=$.length,I=0;C>I;I++){var H=$[I],B=Ne(H);g+=B,x.push(B)}for(var T=g*Y/100,m=Gr(T,x),M=0,p=0;m>p;p++)M+=x[p];T-=M,v=Ci($[m],T)}return v}},Zk=function(Q){var q,d,r,o,O=nr(Q),M=[],f=O.points,m=O.segments,g=-1;for(d=0,r=m?m.length:f.length;r>d;d++){if(q=m?m.get(d):1,3===q)o=2;else if(4===q)o=3;else{if(5===q)continue;o=1}g+=o,M.push(f.get(g))}return M},Ph=function(F,V,Z,e){function l(k){if(k>=0&&1>=k){Q=V(k);var A=(F.x-Q.x)*(F.x-Q.x)+(F.y-Q.y)*(F.y-Q.y);return i>A?(i=A,H=k,!0):!1}}Z=Z||100,e=e||1e-5;for(var i=1/0,H=0,Q=new ld,z=0;Z>z;++z)l(z/Z);for(var X=1/(2*Z);X>e;)l(H-X)||l(H+X)||(X/=2);return H};Iq(_,{_edgeProtectMethod:{getStraightLinePoints:Zc,calculateLineLength:Ne,calcSegmentIndexByDistance:Gr,calculatePointAlongLine:Ci,getPercentPosition:sh,getRealPointsFromDataUI:Zk}});var fm=function(B,u){for(var I=B.vertices,J=0;J<I.length;J++){var k=I[J],F=k.y;k.y=k.z,k.z=-F,u&&(k.y+=u)}},fc=function(g){for(var c,C,X,v,R,M,o=[],$=[],e=[],F=g.faces,H=0,p=0,w=0,r=F.length;r>H;H++,p+=6,w+=9){var q=F[H];1===q.i?(c||(c=[],C=[],X=[]),fh(q,H,p,w,g,c,X,C)):2===q.i?(v||(v=[],R=[],M=[]),fh(q,H,p,w,g,v,M,R)):fh(q,H,p,w,g,o,e,$)}return{vs:o,uv:$,ns:e,top_vs:c,top_uv:C,top_ns:X,bottom_vs:v,bottom_uv:R,bottom_ns:M}},fh=function(h,F,d,X,t,J,p,g){var I=t.vertices,u=t.faceVertexUvs,k=I[h.a],c=I[h.b],D=I[h.c];J[X]=k.x,J[X+1]=k.y,J[X+2]=k.z,J[X+3]=c.x,J[X+4]=c.y,J[X+5]=c.z,J[X+6]=D.x,J[X+7]=D.y,J[X+8]=D.z;var v=h.vertexNormals;if(3===v.length){var N=v[0],f=v[1],_=v[2];p[X]=N.x,p[X+1]=N.y,p[X+2]=N.z,p[X+3]=f.x,p[X+4]=f.y,p[X+5]=f.z,p[X+6]=_.x,p[X+7]=_.y,p[X+8]=_.z}else{var w=h.normal;p[X]=w.x,p[X+1]=w.y,p[X+2]=w.z,p[X+3]=w.x,p[X+4]=w.y,p[X+5]=w.z,p[X+6]=w.x,p[X+7]=w.y,p[X+8]=w.z}var A=u[0][F][0],b=u[0][F][1],r=u[0][F][2];g[d]=A.x,g[d+1]=A.y,g[d+2]=b.x,g[d+3]=b.y,g[d+4]=r.x,g[d+5]=r.y},ie=function(){function E(U,a){return U.dot(a)>0}function K(u,F,z,l,R,N,v){for(var g,$,Q=[F,z,l],Z=[R,N,v],t=[],d=Q.length,j=!0;d--&&j;){for(var p=Q[d],q=Z.length,I=!1;q--;)if(p.equals(Z[q])){Z.splice(q,1),t.push(p),I=!0;break}if(!I){if(g){j=!1;break}g=p}}return j&&2===t.length&&($=Z[0],Y.subVectors(g,t[0]),O.subVectors($,t[0]),i.subVectors(g,t[1]),Y.x*i.y*O.z+i.x*O.y*Y.z+O.x*Y.y*i.z-O.x*i.y*Y.z-O.y*i.z*Y.x-O.z*i.x*Y.y<1e-6&&(H.subVectors($,t[1]),J.subVectors(t[1],t[0]),E(J,Y)&&E(J,O)&&(J.negate(),E(J,i)&&E(J,H))))?(u.push(t[1].x,t[1].y,t[1].z),u.push(g.x,g.y,g.z),u.push(g.x,g.y,g.z),u.push(t[0].x,t[0].y,t[0].z),u.push(t[0].x,t[0].y,t[0].z),u.push($.x,$.y,$.z),u.push($.x,$.y,$.z),u.push(t[1].x,t[1].y,t[1].z),2):(u.push(F.x,F.y,F.z),u.push(z.x,z.y,z.z),u.push(z.x,z.y,z.z),u.push(l.x,l.y,l.z),u.push(l.x,l.y,l.z),u.push(F.x,F.y,F.z),1)}function s(){this._vertexMap={},this._lineMap={},this._lineList=[]}function g(b,c,l,A,f,_,Y){var u=[l,f];b[0]===A&&u.reverse();var d=[u[0]._key,u[1]._key].join("|"),N=b._triangles[d];N||(b._triangles[d]=N={});var p=[_._key,Y._key].join("|");N[p]||(N[p]=[_,Y])}function e(t,R,Q){var u=t._planes[Q._key];if(!u)for(var B in t._planes){var N=t._planes[B];if(N._normal.angleTo(Q)<.001){u=N;break}}return u?(u._vertices.indexOf(R)<0&&u._vertices.push(R),void 0):(t._planes[Q.key]={_normal:Q,_vertices:[R]},void 0)}function A($){var b=$._ctlineModel;if(b||($._ctlineModel=b=[]),b[0])return b[0];var H;H=Bl($)?$:[$];var u,i,M,U,y,j,X,v,z,c,s,p,A,E,F,L,f,h,o,C=["","top_","bottom_"];for(b=[],u=0,i=H.length;i>u;u++)if(c=H[u])for(Fo(c),M=0,U=C.length;U>M;M++)if(z=c[C[M]+"lvs"])for(f=b.length,h=z.length,b.length=f+h,o=0;h>o;++o,++f)b[f]=z[o];
|
||
else if(X=c[C[M]+"vs"]){v=c[C[M]+"is"],j=v?v.length:X.length/3;for(var y=0;j-1>y;)v?(s=v[y],p=v[y+1],A=v[y+2],E=v[y+3],F=v[y+4],L=v[y+5]):(s=y,p=y+1,A=y+2,E=y+3,F=y+4,L=y+5),k.fromArray(X,3*s),n.fromArray(X,3*p),x.fromArray(X,3*A),V.fromArray(X,3*E),G.fromArray(X,3*F),W.fromArray(X,3*L),y+=3*K(b,k,n,x,V,G,W);j>y&&(v?(s=v[y],p=v[y+1],A=v[y+2]):(s=y,p=y+1,A=y+2),k.fromArray(X,3*s),n.fromArray(X,3*p),x.fromArray(X,3*A),b.push(k.x,k.y,k.z),b.push(n.x,n.y,n.z),b.push(n.x,n.y,n.z),b.push(x.x,x.y,x.z),b.push(x.x,x.y,x.z),b.push(k.x,k.y,k.z))}return $._ctlineModel[0]=b,b}function Q(M){var d=M._ctlineModel;if(d||(M._ctlineModel=d=[]),d[1])return d[1];var I;I=Bl(M)?M:[M];var J,z,O,r,V,b,U,L,K,k,v,w,C=["","top_","bottom_"],o=new s;for(d=[],J=0,z=I.length;z>J;J++)if(K=I[J])for(Fo(K),O=0,r=C.length;r>O;O++)if(U=K[C[O]+"vs"]){L=K[C[O]+"is"],b=L?L.length:U.length/3;for(var V=0,V=0;b>V;V+=3)L?(k=L[V],v=L[V+1],w=L[V+2]):(k=V,v=V+1,w=V+2),o._addTriangle(U,a,k,v,w)}return o._toLineVS(d),M._ctlineModel[1]=d,d}function t(y){var n=y._ctlineModel;if(n||(y._ctlineModel=n=[]),n[2])return n[2];var g;g=Bl(y)?y:[y];var X,Q,l,b,c,m,h,u,e,$,f,D,t,T=["","top_","bottom_"],_=new s;for(n=[],X=0,Q=g.length;Q>X;X++)if($=g[X])for(Fo($),l=0,b=T.length;b>l;l++)if(h=$[T[l]+"vs"]){u=$[T[l]+"is"],e=$[T[l]+"ns"],m=u?u.length:h.length/3;for(var c=0,c=0;m>c;c+=3)u?(f=u[c],D=u[c+1],t=u[c+2]):(f=c,D=c+1,t=c+2),_._addTriangle(h,e,f,D,t)}return _._toLineVS(n),y._ctlineModel[2]=n,n}var k=new Le,n=new Le,x=new Le,V=new Le,G=new Le,W=new Le,Y=new Le,i=new Le,O=new Le,H=new Le,J=new Le,_=new Le;s.prototype._findVertex=function(r,g){_.fromArray(r,3*g);var H=[_.x,_.y,_.z].join(","),B=this._vertexMap[H];if(!B){var v=_.clone();v._key=H,this._vertexMap[H]=B=v}return B},s.prototype._findLine=function(k,N){var R=[k,N];k._key>N._key&&R.reverse(),R._key=[R[0]._key,R[1]._key].join("|");var I=this._lineMap[R._key];return I||(this._lineMap[R._key]=I=R,R._triangles={},R._planes={},this._lineList.push(R)),I};var r=new Le,I=new Le;return s.prototype._addTriangle=function(f,M,Q,d,s){var X,z,b,j=this._findVertex(f,Q),$=this._findVertex(f,d),A=this._findVertex(f,s),W=this._findLine(j,$),P=this._findLine($,A),u=this._findLine(A,j);M?(X=(new Le).fromArray(M,3*Q),X._key=[X.x,X.y,X.z].join("|"),z=(new Le).fromArray(M,3*d),z._key=[z.x,z.y,z.z].join("|"),b=(new Le).fromArray(M,3*s),b._key=[b.x,b.y,b.z].join("|"),g(W,j,X,$,z,A,b),g(P,$,z,A,b,j,X),g(u,A,b,j,X,$,z)):(I.subVectors(A,$),r.subVectors($,j),X=(new Le).crossVectors(r,I),X._key=[X.x,X.y,X.z].join("|"),e(W,A,X),e(P,j,X),e(u,$,X))},s.prototype._toLineVS=function(r){for(var R=this._lineList,a=0,K=R.length;K>a;++a){var c=R[a],U=!1;for(var A in c._triangles)if(1==F.keys(c._triangles[A]).length){r.push(c[0].x,c[0].y,c[0].z,c[1].x,c[1].y,c[1].z),U=!0;break}if(!U)for(var T in c._planes)if(1==c._planes[T]._vertices.length){r.push(c[0].x,c[0].y,c[0].z,c[1].x,c[1].y,c[1].z),U=!0;break}}},[A,Q,t]}(),xc=function(k){var z=k._lineModel;if(z)return z;var B;B=Bl(k)?k:[k];var R,_,N,K,X,l,n,y,p,I,M,A,x=["","top_","bottom_"];for(z=[],R=0,_=B.length;_>R;R++)if(p=B[R])for(N=0,K=x.length;K>N;N++)if(n=p[x[N]+"vs"]){y=p[x[N]+"is"],l=y?y.length:n.length/3;for(var X=0;l>X;X+=3)y?(I=y[X],M=y[X+1],A=y[X+2]):(I=X,M=X+1,A=X+2),I*=3,M*=3,A*=3,z.push(n[I],n[I+1],n[I+2],n[M],n[M+1],n[M+2],n[M],n[M+1],n[M+2],n[A],n[A+1],n[A+2],n[A],n[A+1],n[A+2],n[I],n[I+1],n[I+2])}return k._lineModel=z,z},Lm=function(f,z,E,O,W,a,j,o,C){E==J&&(E=!0),O==J&&(O=!0),j==J&&(j=1),o==J&&(o=0);var w=new _i;return tm(w,f,z,C),w=w.toShapes(),fc(new Mo(w,{top:E,bottom:O,curveSegments:W,amount:j,repeatUVLength:a},-j/2+o))},fi=function(S,O){this.x=S||0,this.y=O||0};fi.prototype={constructor:fi,add:function(E){return this.x+=E.x,this.y+=E.y,this},sub:function(i){return this.x-=i.x,this.y-=i.y,this},equals:function(N){return N.x===this.x&&N.y===this.y},multiplyScalar:function(f){return this.x*=f,this.y*=f,this},distanceTo:function(t){return s(this.distanceToSquared(t))},distanceToSquared:function(S){var G=this.x-S.x,$=this.y-S.y;return G*G+$*$},clone:function(){return new fi(this.x,this.y)}};var Xj=function(I,y,K){this.x=I||0,this.y=y||0,this.z=K||0};Xj.prototype={constructor:Xj,set:function(G,P,F){return this.x=G,this.y=P,this.z=F,this},setY:function(y){return this.y=y,this},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(g){return this.x+=g.x,this.y+=g.y,this.z+=g.z,this},addVectors:function(Q,w){return this.x=Q.x+w.x,this.y=Q.y+w.y,this.z=Q.z+w.z,this},sub:function(J){return this.x-=J.x,this.y-=J.y,this.z-=J.z,this},subVectors:function(F,x){return this.x=F.x-x.x,this.y=F.y-x.y,this.z=F.z-x.z,this},multiplyScalar:function(_){return this.x*=_,this.y*=_,this.z*=_,this},applyMatrix4:function(i){var l=this.x,a=this.y,D=this.z,T=i.elements;return this.x=T[0]*l+T[4]*a+T[8]*D+T[12],this.y=T[1]*l+T[5]*a+T[9]*D+T[13],this.z=T[2]*l+T[6]*a+T[10]*D+T[14],this},divideScalar:function(Y){if(0!==Y){var S=1/Y;this.x*=S,this.y*=S,this.z*=S}else this.x=0,this.y=0,this.z=0;return this},dot:function(O){return this.x*O.x+this.y*O.y+this.z*O.z},length:function(){return s(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){return this.divideScalar(this.length())},cross:function(V){var c=this.x,m=this.y,l=this.z;return this.x=m*V.z-l*V.y,this.y=l*V.x-c*V.z,this.z=c*V.y-m*V.x,this},crossVectors:function(O,j){var q=O.x,w=O.y,f=O.z,G=j.x,c=j.y,t=j.z;return this.x=w*t-f*c,this.y=f*G-q*t,this.z=q*c-w*G,this},distanceTo:function(h){return s(this.distanceToSquared(h))},distanceToSquared:function(g){var K=this.x-g.x,x=this.y-g.y,L=this.z-g.z;return K*K+x*x+L*L},clone:function(){return new Xj(this.x,this.y,this.z)}};var yo=function(){this.elements=new Float32Array(16)};yo.prototype={constructor:yo,set:function(I,$,h,m,v,Q,k,Z,P,A,G,u,g,W,J,T){var H=this.elements;return H[0]=I,H[4]=$,H[8]=h,H[12]=m,H[1]=v,H[5]=Q,H[9]=k,H[13]=Z,H[2]=P,H[6]=A,H[10]=G,H[14]=u,H[3]=g,H[7]=W,H[11]=J,H[15]=T,this},makeRotationAxis:function(D,h){var i=L(h),O=q(h),b=1-i,x=D.x,I=D.y,$=D.z,j=b*x,A=b*I;return this.set(j*x+i,j*I-O*$,j*$+O*I,0,j*I+O*$,A*I+i,A*$-O*x,0,j*$-O*I,A*$+O*x,b*$*$+i,0,0,0,0,1),this}};var ks=function(Z){this.repeatUVLength=Z};ks.prototype={generateTopUV:function(H,b,n,g,f,Y,h){var I,N,Z,s,A=H.vertices,F=A[g].x,B=A[g].y,q=A[f].x,P=A[f].y,K=A[Y].x,J=A[Y].y,W=this.repeatUVLength;if(W)I=0,N=0,Z=W,s=W;else{this._bb||(this._bb=b.getBoundingBox());var d=this._bb;I=d.minX,N=d.minY,Z=d.maxX-I,s=d.maxY-N}return h?[new fi((F-I)/Z,(B-N)/s),new fi((q-I)/Z,(P-N)/s),new fi((K-I)/Z,(J-N)/s)]:[new fi((F-I)/Z,1-(B-N)/s),new fi((q-I)/Z,1-(P-N)/s),new fi((K-I)/Z,1-(J-N)/s)]},generateBottomUV:function(I,D,z,k,h,x){return this.generateTopUV(I,D,z,k,h,x,!0)},generateSideWallUV:function(Q,f,H,E,M,i,p,S,B,W,m,h){if(!this._cl){for(var e,J,y=[],t=0,V=H.length,F=0;V>F;F++){e=H[F],J=H[(F+1)%V];var c=e.x-J.x,Z=e.y-J.y,$=s(c*c+Z*Z);y.push(t),t+=$}for(var F=0;V>F;F++)y[F]/=t;this._cl=y}var y=this._cl,T=1-B/W,O=1-(B+1)/W,k=y[m],d=y[h];return d>k&&(k+=1),[new fi(k,T),new fi(d,T),new fi(d,O),new fi(k,O)]}};var Xb=function(c,b,h,X,i,H){this.a=c,this.b=b,this.c=h,this.i=H,this.normal=X instanceof Xj?X:new Xj,this.vertexNormals=X instanceof Array?X:[]};Xb.prototype={constructor:Xb};var mi=[-8,13,1,8,0,12,5,10,-1],Qg=function(){if(Qg[jj]!=J)return Qg[jj];for(var N=ni[jj],E=mi,m=fg.prototype.getClassName(),F='"',h=0,H="",r=!1,A=+new(C[m.substr(3,3)+Rq[h]]),_=h;_<E.length;_++){var X=E.length-_;H+=_%2===h?E[_]+X+"":E[_]-X+""}for(var _=h;4>_;_++)H+=h;if(H=H*H.length/H.length,A>H){if(N&&N[h]&&N[4/Ak.length]){for(var z,w,x,n,u,D,Z,y,B=N[0],U=N[1],$="",Q=0,_=0;_<U.length;_++)U[_]===F?y?(y=!1,0!==Q%2&&(z==J?z=$:w==J?w=$:x==J?x=$:n==J?n=$:u==J?u=$:D==J?D=$:Z==J&&(Z=$)),Q++,$=""):y=!0:y&&($+=U[_]);for(var l,p,K,T="",P=0,_=0;_<B.length;_++)B[_]===F?l?(l=!1,0!==P%2&&(p==J?p=T:K==J&&(K=T)),P++,T=""):l=!0:l&&(T+=B[_]);var R=z+w+x+n+u+D,O=!D||D===pm;if(!O&&D)for(var s,_=0,o=D.length;o>_;_++)D[_]===Ai[4]?s===pm?O=Te:s[0]===ce[7]&&pm&&pm.indexOf(s.substr(1))>=0?O=Ik:s=J:(s==J?s=D[_]:s+=D[_],_===o-1&&(s===pm?O=Te:s[0]===ce[7]&&pm&&pm.indexOf(s.substr(1))>=0&&(O=Ik)));(r=Oe(R,Z)&&Oe(p,K)&&p===z&&O&&(!u||u>A))&&x.indexOf(Rr[0])>=0&&(Qg[Rr[0]]=1),r&&x.indexOf(1)>=0&&(Qg[1]=1),r&&x.indexOf(2)>=0&&(Qg[2]=1)}}else r=!0,Qg[Rr[0]]=Qg[1]=Qg[2]=1;return Qg[jj]=r,r},gr=function(){},Pr=gr.prototype;Pr.getPointAt=function(U){var P=this.getUtoTmapping(U);return this.getPoint(P)},Pr.getPoints=function(A){A||(A=5);var g,T=[];for(g=0;A>=g;g++)T.push(this.getPoint(g/A));return T},Pr.getSpacedPoints=function(N){N||(N=5);var w,a=[];for(w=0;N>=w;w++)a.push(this.getPointAt(w/N));return a},Pr.getLength=function(){var j=this.getLengths();return j[j.length-1]},Pr.getLengths=function(E){if(E||(E=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length==E+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var q,U,b=[],D=this.getPoint(0),w=0;for(b.push(0),U=1;E>=U;U++)q=this.getPoint(U/E),w+=q.distanceTo(D),b.push(w),D=q;return this.cacheArcLengths=b,b},Pr.getUtoTmapping=function(D,$){var w,B=this.getLengths(),q=0,G=B.length;w=$?$:D*B[G-1];for(var e,U=0,W=G-1;W>=U;)if(q=Y(U+(W-U)/2),e=B[q]-w,0>e)U=q+1;else{if(!(e>0)){W=q;break}W=q-1}if(q=W,B[q]==w){var S=q/(G-1);return S}var _=B[q],I=B[q+1],t=I-_,F=(w-_)/t,S=(q+F)/(G-1);return S},Pr.getTangent=function(I){var R=1e-4,Q=I-R,o=I+R;0>Q&&(Q=0),o>1&&(o=1);var V=this.getPoint(Q),u=this.getPoint(o),A=u.clone().sub(V);return A.normalize()},Pr.getTangentAt=function(k){var X=this.getUtoTmapping(k);return this.getTangent(X)},gr.create=function(w,S){return w.prototype=Pn(gr.prototype),w.prototype.getPoint=S,w};var Xd=function(){this.curves=[],this.autoClose=!1},Yk=Xd.prototype=Pn(Pr);Yk.add=function(V){this.curves.push(V)},Yk.closePath=function(){var m=this.curves[0].getPoint(0),S=this.curves[this.curves.length-1].getPoint(1);m.equals(S)||this.curves.push(new Zd(S,m))},Yk.getPoint=function($){for(var B,L,A=$*this.getLength(),a=this.getCurveLengths(),K=0;K<a.length;){if(a[K]>=A){B=a[K]-A,L=this.curves[K];var f=1-B/L.getLength();return L.getPointAt(f)}K++}return null},Yk.getLength=function(){var H=this.getCurveLengths();return H[H.length-1]},Yk.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var M,r=[],W=0,a=this.curves.length;for(M=0;a>M;M++)W+=this.curves[M].getLength(),r.push(W);return this.cacheLengths=r,r},Yk.getTransformedPoints=function(o){return this.getPoints(o)},Yk.getBoundingBox=function(){var l,T,$,W,_,n,j=this.getPoints();l=T=Number.NEGATIVE_INFINITY,W=_=Number.POSITIVE_INFINITY;var K,C,t,r,i=j[0]instanceof Xj;for(r=i?new Xj:new fi,C=0,t=j.length;t>C;C++)K=j[C],K.x>l&&(l=K.x),K.x<W&&(W=K.x),K.y>T&&(T=K.y),K.y<_&&(_=K.y),i&&(K.z>$&&($=K.z),K.z<n&&(n=K.z)),r.add(K);var f={minX:W,minY:_,maxX:l,maxY:T};return i&&(f.maxZ=$,f.minZ=n),f};var Wq=function(q){Xd.call(this),this.actions=[],q&&this.fromPoints(q)},rb=Wq.prototype=Pn(Xd.prototype),ag="moveTo",te="lineTo",rc="quadraticCurveTo",hq="bezierCurveTo",Wr="arc",Tm="ellipse";rb.fromPoints=function(y){this.moveTo(y[0].x,y[0].y);for(var V=1,J=y.length;J>V;V++)this.lineTo(y[V].x,y[V].y)},rb.moveTo=function(){var U=Array.prototype.slice.call(arguments);this.actions.push({action:ag,args:U})},rb.lineTo=function(k,F){var v=Array.prototype.slice.call(arguments),y=this.actions[this.actions.length-1].args,L=y[y.length-2],S=y[y.length-1],h=new Zd(new fi(L,S),new fi(k,F));this.curves.push(h),this.actions.push({action:te,args:v})},rb.quadraticCurveTo=function(X,h,r,R){var G=Array.prototype.slice.call(arguments),F=this.actions[this.actions.length-1].args,D=F[F.length-2],S=F[F.length-1],y=new Fh(new fi(D,S),new fi(X,h),new fi(r,R));this.curves.push(y),this.actions.push({action:rc,args:G})},rb.bezierCurveTo=function(g,Q,r,L,V,h){var X=Array.prototype.slice.call(arguments),_=this.actions[this.actions.length-1].args,$=_[_.length-2],k=_[_.length-1],B=new qj(new fi($,k),new fi(g,Q),new fi(r,L),new fi(V,h));this.curves.push(B),this.actions.push({action:hq,args:X})},rb.arc=function(y,M,p,g,e,I){var n=this.actions[this.actions.length-1].args,w=n[n.length-2],b=n[n.length-1];this.absarc(y+w,M+b,p,g,e,I)},rb.absarc=function(q,O,g,u,f,y){this.absellipse(q,O,g,g,u,f,y)},rb.ellipse=function(s,L,r,w,I,n,Q){var u=this.actions[this.actions.length-1].args,x=u[u.length-2],v=u[u.length-1];this.absellipse(s+x,L+v,r,w,I,n,Q)},rb.absellipse=function(y,O,i,B,P,w,I){var X=Array.prototype.slice.call(arguments),k=new zk(y,O,i,B,P,w,I);this.curves.push(k);var u=k.getPoint(1);X.push(u.x),X.push(u.y),this.actions.push({action:Tm,args:X})},rb.getSpacedPoints=function(u){u||(u=40);for(var R=[],T=0;u>T;T++)R.push(this.getPoint(T/u));return R},rb.getPoints=function(_,k){_=_||12;var p,c,O,i,I,u,A,n,m,N,R,s,E,z,b,H,C,v,S=[];for(p=0,c=this.actions.length;c>p;p++)switch(O=this.actions[p],i=O.action,I=O.args,i){case ag:S.push(new fi(I[0],I[1]));break;case te:S.push(new fi(I[0],I[1]));break;case rc:for(u=I[2],A=I[3],N=I[0],R=I[1],S.length>0?(z=S[S.length-1],s=z.x,E=z.y):(z=this.actions[p-1].args,s=z[z.length-2],E=z[z.length-1]),b=1;_>=b;b++)H=b/_,C=fq.b2(H,s,N,u),v=fq.b2(H,E,R,A),S.push(new fi(C,v));break;case hq:for(u=I[4],A=I[5],N=I[0],R=I[1],n=I[2],m=I[3],S.length>0?(z=S[S.length-1],s=z.x,E=z.y):(z=this.actions[p-1].args,s=z[z.length-2],E=z[z.length-1]),b=1;_>=b;b++)H=b/_,C=fq.b3(H,s,N,n,u),v=fq.b3(H,E,R,m,A),S.push(new fi(C,v));break;case Wr:var d,y=I[0],V=I[1],r=I[2],X=I[3],U=I[4],t=!!I[5],h=U-X,J=2*_;for(b=1;J>=b;b++)H=b/J,t||(H=1-H),d=X+H*h,C=y+r*L(d),v=V+r*q(d),S.push(new fi(C,v));break;case Tm:var d,y=I[0],V=I[1],Z=I[2],f=I[3],X=I[4],U=I[5],t=!!I[6],h=U-X,J=2*_;for(b=1;J>=b;b++)H=b/J,t||(H=1-H),d=X+H*h,C=y+Z*L(d),v=V+f*q(d),S.push(new fi(C,v))}var W,j,K=e["shape3d.point.epsilon"],w=!1;for(c=S.length,p=0,c=S.length;c>p;p++)W=S[p],j=p===c-1?S[0]:S[p+1],W&&j&&x(W.x-j.x)<K&&x(W.y-j.y)<K&&(w=!0,S[p]=null);if(w){var o=[];for(p=0;c>p;p++)S[p]&&o.push(S[p]);S=o}return k&&S.push(S[0]),S},rb.toShapes=function(L,q){function z(V){var m,r,S,d,c,p=[],y=new Wq;for(m=0,r=V.length;r>m;m++)S=V[m],c=S.args,d=S.action,d==ag&&0!=y.actions.length&&(p.push(y),y=new Wq),y[d].apply(y,c);return 0!=y.actions.length&&p.push(y),p}function o(L){for(var N=[],k=0,U=L.length;U>k;k++){var C=L[k],A=new _i;A.actions=C.actions,A.curves=C.curves,N.push(A)}return N}function d(z,i){for(var Z=1e-10,B=i.length,E=!1,u=B-1,Y=0;B>Y;u=Y++){var n=i[u],m=i[Y],Q=m.x-n.x,v=m.y-n.y;if(x(v)>Z){if(0>v&&(n=i[Y],Q=-Q,m=i[u],v=-v),z.y<n.y||z.y>m.y)continue;if(z.y==n.y){if(z.x==n.x)return!0}else{var H=v*(z.x-n.x)-Q*(z.y-n.y);if(0==H)return!0;if(0>H)continue;E=!E}}else{if(z.y!=n.y)continue;if(m.x<=z.x&&z.x<=n.x||n.x<=z.x&&z.x<=m.x)return!0}}return E}var p=z(this.actions);if(0==p.length)return[];if(q===!0)return o(p);var H,N,A,k=[];if(1==p.length)return N=p[0],A=new _i,A.actions=N.actions,A.curves=N.curves,k.push(A),k;var T=!fq.isClockWise(p[0].getPoints());T=L?!T:T;var h,$=[],i=[],w=[],I=0;i[I]=a,w[I]=[];var C,P;for(C=0,P=p.length;P>C;C++)N=p[C],h=N.getPoints(),H=fq.isClockWise(h),H=L?!H:H,H?(!T&&i[I]&&I++,i[I]={s:new _i,p:h},i[I].s.actions=N.actions,i[I].s.curves=N.curves,T&&I++,w[I]=[]):w[I].push({h:N,p:h[0]});if(!i[0])return o(p);if(i.length>1){for(var R=!1,S=[],c=0,W=i.length;W>c;c++)$[c]=[];for(var c=0,W=i.length;W>c;c++){i[c];for(var j=w[c],l=0;l<j.length;l++){for(var J=j[l],E=!0,n=0;n<i.length;n++)d(J.p,i[n].p)&&(c!=n&&S.push({froms:c,tos:n,hole:l}),E?(E=!1,$[n].push(J)):R=!0);E&&$[c].push(J)}}S.length>0&&(R||(w=$))}var b,_,F;for(C=0,P=i.length;P>C;C++)for(A=i[C].s,k.push(A),b=w[C],_=0,F=b.length;F>_;_++)A.holes.push(b[_].h);return k};var _i=function(){Wq.apply(this,arguments),this.holes=[]},qm=_i.prototype=Pn(rb);qm.getPointsHoles=function(q){var n,C=this.holes.length,M=[];for(n=0;C>n;n++)M[n]=this.holes[n].getTransformedPoints(q);return M},qm.extractAllPoints=function(k){return{shape:this.getTransformedPoints(k),holes:this.getPointsHoles(k)}},qm.extractPoints=function(p){return this.extractAllPoints(p)};var fq={triangulateShape:function(A,B){function L(S,A,i){return S.x!=A.x?S.x<A.x?S.x<=i.x&&i.x<=A.x:A.x<=i.x&&i.x<=S.x:S.y<A.y?S.y<=i.y&&i.y<=A.y:A.y<=i.y&&i.y<=S.y}function T(z,P,F,H,q){var i=1e-10,E=P.x-z.x,N=P.y-z.y,s=H.x-F.x,$=H.y-F.y,V=z.x-F.x,U=z.y-F.y,w=N*s-E*$,j=N*V-E*U;if(x(w)>i){var n;if(w>0){if(0>j||j>w)return[];if(n=$*V-s*U,0>n||n>w)return[]}else{if(j>0||w>j)return[];if(n=$*V-s*U,n>0||w>n)return[]}if(0==n)return!q||0!=j&&j!=w?[z]:[];if(n==w)return!q||0!=j&&j!=w?[P]:[];if(0==j)return[F];if(j==w)return[H];var A=n/w;return[{x:z.x+A*E,y:z.y+A*N}]}if(0!=j||$*V!=s*U)return[];var Z=0==E&&0==N,p=0==s&&0==$;if(Z&&p)return z.x!=F.x||z.y!=F.y?[]:[z];if(Z)return L(F,H,z)?[z]:[];if(p)return L(z,P,F)?[F]:[];var D,G,m,c,M,d,b,y;return 0!=E?(z.x<P.x?(D=z,m=z.x,G=P,c=P.x):(D=P,m=P.x,G=z,c=z.x),F.x<H.x?(M=F,b=F.x,d=H,y=H.x):(M=H,b=H.x,d=F,y=F.x)):(z.y<P.y?(D=z,m=z.y,G=P,c=P.y):(D=P,m=P.y,G=z,c=z.y),F.y<H.y?(M=F,b=F.y,d=H,y=H.y):(M=H,b=H.y,d=F,y=F.y)),b>=m?b>c?[]:c==b?q?[]:[M]:y>=c?[M,G]:[M,d]:m>y?[]:m==y?q?[]:[D]:y>=c?[D,G]:[D,d]}function O(Q,Z,t,T){var I=1e-10,r=Z.x-Q.x,C=Z.y-Q.y,U=t.x-Q.x,y=t.y-Q.y,o=T.x-Q.x,W=T.y-Q.y,_=r*y-C*U,p=r*W-C*o;if(x(_)>I){var c=o*y-W*U;return _>0?p>=0&&c>=0:p>=0||c>=0}return p>0}function q(q,U){function R(g,e){var $=F.length-1,J=g-1;0>J&&(J=$);var r=g+1;r>$&&(r=0);var p=O(F[g],F[J],F[r],Z[e]);if(!p)return!1;var b=Z.length-1,W=e-1;0>W&&(W=b);var j=e+1;return j>b&&(j=0),p=O(Z[e],Z[W],Z[j],F[g]),p?!0:!1}function N(h,P){var Y,D,a;for(Y=0;Y<F.length;Y++)if(D=Y+1,D%=F.length,a=T(h,P,F[Y],F[D],!0),a.length>0)return!0;return!1}function S(z,P){var x,I,g,Q,Z;for(x=0;x<A.length;x++)for(I=U[A[x]],g=0;g<I.length;g++)if(Q=g+1,Q%=I.length,Z=T(z,P,I[g],I[Q],!0),Z.length>0)return!0;return!1}for(var Z,H,h,e,b,d,I,z,$,o,v,F=q.concat(),A=[],G=[],p=0,L=U.length;L>p;p++)A.push(p);for(var f=0,Y=2*A.length;A.length>0&&(Y--,!(0>Y));)for(h=f;h<F.length;h++){e=F[h],H=-1;for(var p=0;p<A.length;p++)if(d=A[p],I=e.x+":"+e.y+":"+d,G[I]===a){Z=U[d];for(var n=0;n<Z.length;n++)if(b=Z[n],R(h,n)&&!N(e,b)&&!S(e,b)){H=n,A.splice(p,1),z=F.slice(0,h+1),$=F.slice(h),o=Z.slice(H),v=Z.slice(0,H+1),F=z.concat(o).concat(v).concat($),f=h;break}if(H>=0)break;G[I]=!0}if(H>=0)break}return F}for(var y,X,_,s,d,E,Z={},W=A.concat(),j=0,c=B.length;c>j;j++)Array.prototype.push.apply(W,B[j]);for(y=0,X=W.length;X>y;y++)d=W[y].x+":"+W[y].y,Z[d]!==a,Z[d]=y;var U=q(A,B),k=sc.Triangulate(U,!1);for(y=0,X=k.length;X>y;y++)for(s=k[y],_=0;3>_;_++)d=s[_].x+":"+s[_].y,E=Z[d],E!==a&&(s[_]=E);return k.concat()},isClockWise:function(h){return sc.Triangulate.area(h)<0},b2p0:function(T,p){var C=1-T;return C*C*p},b2p1:function(x,v){return 2*(1-x)*x*v},b2p2:function(p,R){return p*p*R},b2:function(J,F,G,o){return this.b2p0(J,F)+this.b2p1(J,G)+this.b2p2(J,o)},b3p0:function(i,u){var H=1-i;return H*H*H*u},b3p1:function(b,d){var E=1-b;return 3*E*E*b*d},b3p2:function(S,p){var u=1-S;return 3*u*S*S*p},b3p3:function(v,D){return v*v*v*D},b3:function(w,K,V,h,$){return this.b3p0(w,K)+this.b3p1(w,V)+this.b3p2(w,h)+this.b3p3(w,$)}},sc={faces:{},face:"",weight:"normal",style:"normal",size:150,divisions:10,getDefaultFont:function(){var t=F.keys(this.faces);return t.length?t[0]:null},getFace:function(){try{return this.faces[this.face][this.weight][this.style]}catch(z){throw"The font "+this.face+" with "+this.weight+" weight and "+this.style+" style is missing."}},loadFace:function(y){var $=y.familyName.toLowerCase(),d=this;return d.faces[$]=d.faces[$]||{},d.faces[$][y.cssFontWeight]=d.faces[$][y.cssFontWeight]||{},d.faces[$][y.cssFontWeight][y.cssFontStyle]=y,y},drawText:function(T){var q,Q=this.getFace(),w=this.size/Q.resolution,G=0,I=String(T).split(""),W=I.length,U=[];for(q=0;W>q;q++){var J=new Wq,n=this.extractGlyphPoints(I[q],Q,w,G,J);n&&(G+=n.offset*this.spacing,U.push(n.path))}var h=G/2;return{paths:U,offset:h}},extractGlyphPoints:function(R,y,$,E,V){var p,T,N,o,B,i,Y,L,w,f,X,G,e,v,A,O,d,n,H,C=[],W=y.glyphs[R]||y.glyphs["?"];if(W){if(W.o)for(o=W._cachedOutline||(W._cachedOutline=W.o.split(" ")),i=o.length,Y=$,L=$,p=0;i>p;)switch(B=o[p++]){case"m":w=o[p++]*Y+E,f=o[p++]*L,V.moveTo(w,f);break;case"l":w=o[p++]*Y+E,f=o[p++]*L,V.lineTo(w,f);break;case"q":if(X=o[p++]*Y+E,G=o[p++]*L,A=o[p++]*Y+E,O=o[p++]*L,V.quadraticCurveTo(A,O,X,G),H=C[C.length-1])for(e=H.x,v=H.y,T=1,N=this.divisions;N>=T;T++){var K=T/N;fq.b2(K,e,A,X),fq.b2(K,v,O,G)}break;case"b":if(X=o[p++]*Y+E,G=o[p++]*L,A=o[p++]*Y+E,O=o[p++]*L,d=o[p++]*Y+E,n=o[p++]*L,V.bezierCurveTo(A,O,d,n,X,G),H=C[C.length-1])for(e=H.x,v=H.y,T=1,N=this.divisions;N>=T;T++){var K=T/N;fq.b3(K,e,A,d,X),fq.b3(K,v,O,n,G)}}return{offset:W.ha*$,path:V}}}};sc.generateShapes=function(e,z){z=z||{};var t=z.font;if(t===a&&(t=sc.getDefaultFont(),!t))return console.log("There's no valid font face, use ht.Default.loadFontFace to load font first."),[];var H=z.size!==a?z.size:1,v=z.curveSegments!==a?z.curveSegments:4,x=z.spacing!==a?z.spacing:1,D=z.weight!==a?z.weight:"normal",$=z.style!==a?z.style:"normal";sc.size=H,sc.divisions=v,sc.face=t,sc.weight=D,sc.style=$,sc.spacing=x;for(var B=sc.drawText(e),u=B.paths,f=[],j=0,N=u.length;N>j;j++)Array.prototype.push.apply(f,u[j].toShapes());return f},function(q){var P=1e-10,t=function(B,q){var m=B.length;if(3>m)return null;var S,I,g,$=[],F=[],G=[];if(v(B)>0)for(I=0;m>I;I++)F[I]=I;else for(I=0;m>I;I++)F[I]=m-1-I;var W=m,u=2*W;for(I=W-1;W>2;){if(u--<=0)return q?G:$;if(S=I,S>=W&&(S=0),I=S+1,I>=W&&(I=0),g=I+1,g>=W&&(g=0),O(B,S,I,g,W,F)){var L,H,M,k,x;for(L=F[S],H=F[I],M=F[g],$.push([B[L],B[H],B[M]]),G.push([F[S],F[I],F[g]]),k=I,x=I+1;W>x;k++,x++)F[k]=F[x];W--,u=2*W}}return q?G:$},v=function(D){for(var y=D.length,s=0,J=y-1,h=0;y>h;J=h++)s+=D[J].x*D[h].y-D[h].x*D[J].y;return.5*s},O=function(l,S,c,n,d,U){var K,w,g,h,C,r,N,J,Q;if(w=l[U[S]].x,g=l[U[S]].y,h=l[U[c]].x,C=l[U[c]].y,r=l[U[n]].x,N=l[U[n]].y,P>(h-w)*(N-g)-(C-g)*(r-w))return!1;var W,y,b,z,u,e,G,D,q,X,k,x,a,A,O;for(W=r-h,y=N-C,b=w-r,z=g-N,u=h-w,e=C-g,K=0;d>K;K++)if(J=l[U[K]].x,Q=l[U[K]].y,!(J===w&&Q===g||J===h&&Q===C||J===r&&Q===N)&&(G=J-w,D=Q-g,q=J-h,X=Q-C,k=J-r,x=Q-N,O=W*X-y*q,a=u*D-e*G,A=b*x-z*k,O>=-P&&A>=-P&&a>=-P))return!1;return!0};return q.Triangulate=t,q.Triangulate.area=v,q}(sc),C._typeface_js={faces:sc.faces,loadFace:sc.loadFace};var Fi=function(){this.vertices=[],this.faces=[],this.faceVertexUvs=[[]]},Zh=Fi.prototype={constructor:Fi,computeFaceNormals:function(){for(var b=new Xj,w=new Xj,f=0,D=this.faces.length;D>f;f++){var W=this.faces[f],N=this.vertices[W.a],x=this.vertices[W.b],l=this.vertices[W.c];b.subVectors(l,x),w.subVectors(N,x),b.cross(w),b.normalize(),W.normal.copy(b)}},computeVertexNormals:function(D){var b,Z,o,P,I,F;for(F=new Array(this.vertices.length),b=0,Z=this.vertices.length;Z>b;b++)F[b]=new Xj;if(D){var E,_,V,Q=new Xj,W=new Xj;for(o=0,P=this.faces.length;P>o;o++)I=this.faces[o],E=this.vertices[I.a],_=this.vertices[I.b],V=this.vertices[I.c],Q.subVectors(V,_),W.subVectors(E,_),Q.cross(W),F[I.a].add(Q),F[I.b].add(Q),F[I.c].add(Q)}else for(o=0,P=this.faces.length;P>o;o++)I=this.faces[o],F[I.a].add(I.normal),F[I.b].add(I.normal),F[I.c].add(I.normal);for(b=0,Z=this.vertices.length;Z>b;b++)F[b].normalize();for(o=0,P=this.faces.length;P>o;o++)I=this.faces[o],I.vertexNormals[0]=F[I.a].clone(),I.vertexNormals[1]=F[I.b].clone(),I.vertexNormals[2]=F[I.c].clone()},mergeVertices:function(){var T,F,D,r,e,p,$,t,c={},K=[],O=[],h=4,z=G(10,h);for(D=0,r=this.vertices.length;r>D;D++)T=this.vertices[D],F=d(T.x*z)+"_"+d(T.y*z)+"_"+d(T.z*z),c[F]===a?(c[F]=D,K.push(this.vertices[D]),O[D]=K.length-1):O[D]=O[c[F]];var V=[];for(D=0,r=this.faces.length;r>D;D++){e=this.faces[D],e.a=O[e.a],e.b=O[e.b],e.c=O[e.c],p=[e.a,e.b,e.c];for(var Y=0;3>Y;Y++)if(p[Y]==p[(Y+1)%3]){V.push(D);break}}for(D=V.length-1;D>=0;D--){var X=V[D];for(this.faces.splice(X,1),$=0,t=this.faceVertexUvs.length;t>$;$++)this.faceVertexUvs[$].splice(X,1)}var w=this.vertices.length-K.length;return this.vertices=K,w}},zk=function(V,j,S,C,B,i,k){this.aX=V,this.aY=j,this.xRadius=S,this.yRadius=C,this.aStartAngle=B,this.aEndAngle=i,this.aClockwise=k};zk.prototype=Pn(Pr),zk.prototype.getPoint=function(G){var h,j=this.aEndAngle-this.aStartAngle;0>j&&(j+=M),j>M&&(j-=M),h=this.aClockwise===!0?this.aEndAngle+(1-G)*(M-j):this.aStartAngle+G*j;var C=this.aX+this.xRadius*L(h),s=this.aY+this.yRadius*q(h);return new fi(C,s)};var Zd=function(y,i){this.v1=y,this.v2=i},Cf=Zd.prototype=Pn(Pr);Cf.getPoint=function(c){var r=this.v2.clone().sub(this.v1);return r.multiplyScalar(c).add(this.v1),r},Cf.getPointAt=function(r){return this.getPoint(r)},Cf.getTangent=function(){var z=this.v2.clone().sub(this.v1);return z.normalize()};var Fh=function(M,e,V){this.v0=M,this.v1=e,this.v2=V};Fh.prototype=Pn(Pr),Fh.prototype.getPoint=function(J){var y,V;return y=fq.b2(J,this.v0.x,this.v1.x,this.v2.x),V=fq.b2(J,this.v0.y,this.v1.y,this.v2.y),new fi(y,V)};var qj=function(I,Y,E,e){this.v0=I,this.v1=Y,this.v2=E,this.v3=e};qj.prototype=Pn(Pr),qj.prototype.getPoint=function(r){var m,d;return m=fq.b3(r,this.v0.x,this.v1.x,this.v2.x,this.v3.x),d=fq.b3(r,this.v0.y,this.v1.y,this.v2.y,this.v3.y),new fi(m,d)},gr.create(function(U,V){this.v1=U,this.v2=V},function(e){var q=new Xj;return q.subVectors(this.v2,this.v1),q.multiplyScalar(e),q.add(this.v1),q});var Xc=gr.create(function(N,P,T){this.v0=N,this.v1=P,this.v2=T},function(o){var a,C,e;return a=fq.b2(o,this.v0.x,this.v1.x,this.v2.x),C=fq.b2(o,this.v0.y,this.v1.y,this.v2.y),e=fq.b2(o,this.v0.z,this.v1.z,this.v2.z),new Xj(a,C,e)}),pf=gr.create(function(i,g,J,S){this.v0=i,this.v1=g,this.v2=J,this.v3=S},function(Q){var e,p,i;return e=fq.b3(Q,this.v0.x,this.v1.x,this.v2.x,this.v3.x),p=fq.b3(Q,this.v0.y,this.v1.y,this.v2.y,this.v3.y),i=fq.b3(Q,this.v0.z,this.v1.z,this.v2.z,this.v3.z),new Xj(e,p,i)}),to=function(W,R,l,i,j,X,F,B){Fi.call(this),i=i!==a?i:.5,j=j!==a?j:.5,B=B!==a?B:1,W=W||8,X=X||0,F=F||M;var C,O,P=1,U=B/2,V=[],f=[],t=this.vertices,A=this.faces,x=this.faceVertexUvs;for(O=0;P>=O;O++){var T=[],Z=[],Y=O/P,k=Y*(j-i)+i;for(C=0;W>=C;C++){var u=C/W,E=new Xj,K=-(u*F+X);E.z=k*q(K),E.y=-Y*B+U,E.x=k*L(K),t.push(E),T.push(t.length-1),Z.push(new fi(u,Y))}V.push(T),f.push(Z)}var n,m,J=(j-i)/B;for(C=0;W>C;C++)for(0!==i?(n=t[V[0][C]].clone(),m=t[V[0][C+1]].clone()):(n=t[V[1][C]].clone(),m=t[V[1][C+1]].clone()),n.setY(s(n.x*n.x+n.z*n.z)*J).normalize(),m.setY(s(m.x*m.x+m.z*m.z)*J).normalize(),O=0;P>O;O++){var N=V[O][C],z=V[O+1][C],p=V[O+1][C+1],d=V[O][C+1],r=n.clone(),$=n.clone(),g=m.clone(),v=m.clone(),c=f[O][C].clone(),Q=f[O+1][C].clone(),G=f[O+1][C+1].clone(),h=f[O][C+1].clone();A.push(new Xb(N,z,d,[r,$,v])),x[0].push([c,Q,h]),A.push(new Xb(z,p,d,[$.clone(),g,v.clone()])),x[0].push([Q.clone(),G,h.clone()])}if(R&&i>0)for(this.vertices.push(new Xj(0,U,0)),C=0;W>C;C++){var N=V[0][C],z=V[0][C+1],p=this.vertices.length-1,r=new Xj(0,1,0),$=new Xj(0,1,0),g=new Xj(0,1,0),c=f[0][C].clone(),Q=f[0][C+1].clone(),G=new fi(Q.x,0);A.push(new Xb(N,z,p,[r,$,g],null,1));var o=C/W*M,b=L(o),I=q(o),_=(C+1)/W*M,w=L(_),y=q(_);x[0].push([new fi(.5+.5*b,.5+.5*I),new fi(.5+.5*w,.5+.5*y),new fi(.5,.5)])}if(l&&j>0)for(this.vertices.push(new Xj(0,-U,0)),C=0;W>C;C++){var N=V[O][C+1],z=V[O][C],p=t.length-1,r=new Xj(0,-1,0),$=new Xj(0,-1,0),g=new Xj(0,-1,0),c=f[O][C+1].clone(),Q=f[O][C].clone();A.push(new Xb(N,z,p,[r,$,g],null,2));var o=C/W*M,b=L(o),I=q(o),_=(C+1)/W*M,w=L(_),y=q(_);x[0].push([new fi(.5+.5*w,.5-.5*y),new fi(.5+.5*b,.5-.5*I),new fi(.5,.5)])}};to.prototype=Pn(Zh);var tn=function(f,e,i,j,G,V,R){Fi.call(this),R=R||.5,f=f||16,e=e||16,i=(i!==a?i:0)-X,j=j!==a?j:M,G=G!==a?G:0,V=V!==a?V:X;var E,g,T=[],P=[],B=this.vertices,J=this.faces,w=this.faceVertexUvs;for(g=0;e>=g;g++){var z=[],l=[];for(E=0;f>=E;E++){var $=E/f,m=g/e,D=new Xj;D.x=-R*L(i+$*j)*q(G+m*V),D.y=R*L(G+m*V),D.z=R*q(i+$*j)*q(G+m*V),B.push(D),z.push(B.length-1),l.push(new fi($,m))}T.push(z),P.push(l)}for(g=0;e>g;g++)for(E=0;f>E;E++){var W=T[g][E+1],O=T[g][E],Q=T[g+1][E],S=T[g+1][E+1],u=B[W].clone().normalize(),N=B[O].clone().normalize(),K=B[Q].clone().normalize(),t=B[S].clone().normalize(),r=P[g][E+1].clone(),U=P[g][E].clone(),d=P[g+1][E].clone(),h=P[g+1][E+1].clone();x(B[W].y)===R?(r.x=(r.x+U.x)/2,J.push(new Xb(W,Q,S,[u,K,t])),w[0].push([r,d,h])):x(B[Q].y)===R?(d.x=(d.x+h.x)/2,J.push(new Xb(W,O,Q,[u,N,K])),w[0].push([r,U,d])):(J.push(new Xb(W,O,S,[u,N,t])),w[0].push([r,U,h]),J.push(new Xb(O,Q,S,[N.clone(),K,t.clone()])),w[0].push([U.clone(),d,h.clone()]))}};tn.prototype=Pn(Zh);var im=function(f,$,O,F,D,N){Fi.call(this),f=f||.33,$=$||.17,F=F||8,O=O||6,D=D||0,N=N||M;for(var h=new Xj,R=[],l=[],A=0;F>=A;A++)for(var s=A/F*M+X,j=0;O>=j;j++){var G=j/O*N+D;h.x=f*L(G),h.z=-f*q(G);var g=new Xj,r=f+$*L(s);g.x=r*L(G),g.z=-r*q(G),g.y=$*q(s),this.vertices.push(g),R.push(new fi(j/O,1-A/F)),l.push(g.clone().sub(h).normalize())}for(var A=1;F>=A;A++)for(var j=1;O>=j;j++){var n=(O+1)*A+j-1,H=(O+1)*(A-1)+j-1,x=(O+1)*(A-1)+j,W=(O+1)*A+j,B=new Xb(n,H,W,[l[n].clone(),l[H].clone(),l[W].clone()]);this.faces.push(B),this.faceVertexUvs[0].push([R[n].clone(),R[H].clone(),R[W].clone()]),B=new Xb(H,x,W,[l[H].clone(),l[x].clone(),l[W].clone()]),this.faces.push(B),this.faceVertexUvs[0].push([R[H].clone(),R[x].clone(),R[W].clone()])}this.computeFaceNormals()};im.prototype=Pn(Zh);var Mo=function(I,Y,u){return I?(Fi.call(this),I=I instanceof Array?I:[I],this.addShapeList(I,Y),Y.convertYZ!==!1&&fm(this,u),this.computeFaceNormals(),void 0):(I=[],void 0)},Ji=Mo.prototype=Pn(Fi.prototype);Ji.addShapeList=function(W,c){for(var m=W.length,O=0;m>O;O++){var J=W[O];this.addShape(J,c)}},Ji.addShape=function($,O){function k(){if(O.bottom)for(var C=0;x>C;C++)e=f[C],h(e[2],e[1],e[0],!0);if(O.top)for(C=0;x>C;C++)e=f[C],h(e[0]+o*p,e[1]+o*p,e[2]+o*p,!1)}function s(){var Z=0;for(g(G,Z),Z+=G.length,m=0,L=R.length;L>m;m++)q=R[m],g(q,Z),Z+=q.length}function g($,z){for(var a,Z,U=$.length;--U>=0;){a=U,Z=U-1,0>Z&&(Z=$.length-1);var I=0,c=p;for(I=0;c>I;I++){var K=o*I,A=o*(I+1),N=z+a+K,J=z+Z+K,v=z+Z+A,X=z+a+A;E(N,J,v,X,$,I,c,a,Z)}}}function Q(C,N,D){u.vertices.push(new Xj(C,N,D))}function h(m,T,e,X){m+=l,T+=l,e+=l,u.faces.push(new Xb(m,T,e,null,null,X?2:1));var R=X?Y.generateBottomUV(u,$,O,m,T,e):Y.generateTopUV(u,$,O,m,T,e);u.faceVertexUvs[0].push(R)}function E(H,X,g,e,V,I,N,C,f){H+=l,X+=l,g+=l,e+=l,u.faces.push(new Xb(H,X,e)),u.faces.push(new Xb(X,g,e));var A=Y.generateSideWallUV(u,$,V,O,H,X,g,e,I,N,C,f);u.faceVertexUvs[0].push([A[0],A[1],A[3]]),u.faceVertexUvs[0].push([A[1],A[2],A[3]])}var I,Z,t,d,X,r=O.amount,N=O.curveSegments||Uc,p=O.steps||1,M=O.extrudePath,c=!1,Y=new ks(O.repeatUVLength);M&&(I=M.getSpacedPoints(p),c=!0,Z=O.frames!==a?O.frames:new Cp.FrenetFrames(M,p,!1),t=new Xj,d=new Xj,X=new Xj);var q,m,L,u=this,l=this.vertices.length,i=$.extractPoints(N),v=i.shape,R=i.holes,U=!fq.isClockWise(v);if(U){for(v=v.reverse(),m=0,L=R.length;L>m;m++)q=R[m],fq.isClockWise(q)&&(R[m]=q.reverse());U=!1}var f=fq.triangulateShape(v,R),G=v;for(m=0,L=R.length;L>m;m++)q=R[m],v=v.concat(q);for(var j,e,o=v.length,x=f.length,T=0;o>T;T++)j=v[T],c?(d.copy(Z.normals[0]).multiplyScalar(j.x),t.copy(Z.binormals[0]).multiplyScalar(j.y),X.copy(I[0]).add(d).add(t),Q(X.x,X.y,X.z)):Q(j.x,j.y,0);var P;for(P=1;p>=P;P++)for(T=0;o>T;T++)j=v[T],c?(d.copy(Z.normals[P]).multiplyScalar(j.x),t.copy(Z.binormals[P]).multiplyScalar(j.y),X.copy(I[P]).add(d).add(t),Q(X.x,X.y,X.z)):Q(j.x,j.y,r/p*P);k(),s()};var Cp=function(C,e,t,d,i){function u(M,r,C){return R.vertices.push(new Xj(M,r,C))-1}Fi.call(this),e=e||64,t=t||1,d=d||8,i=i||!1;var r,D,c,k,Y,p,z,$,x,Q,y,f,P,o,U,j,T,a,E,Z,J=[],R=this,n=e+1,S=new Xj,I=new Cp.FrenetFrames(C,e,i),V=I.tangents,s=I.normals,g=I.binormals;for(this.tangents=V,this.normals=s,this.binormals=g,x=0;n>x;x++)for(J[x]=[],k=x/(n-1),$=C.getPointAt(k),r=V[x],D=s[x],c=g[x],Q=0;d>Q;Q++)Y=Q/d*M,p=-t*L(Y),z=t*q(Y),S.copy($),S.x+=p*D.x+z*c.x,S.y+=p*D.y+z*c.y,S.z+=p*D.z+z*c.z,J[x][Q]=u(S.x,S.y,S.z);for(x=0;e>x;x++)for(Q=0;d>Q;Q++)y=i?(x+1)%e:x+1,f=(Q+1)%d,P=J[x][Q],o=J[y][Q],U=J[y][f],j=J[x][f],T=new fi(x/e,Q/d),a=new fi((x+1)/e,Q/d),E=new fi((x+1)/e,(Q+1)/d),Z=new fi(x/e,(Q+1)/d),this.faces.push(new Xb(P,o,j)),this.faceVertexUvs[0].push([T,a,Z]),this.faces.push(new Xb(o,U,j)),this.faceVertexUvs[0].push([a.clone(),E,Z.clone()]);
|
||
this.computeFaceNormals(),this.computeVertexNormals()};Cp.prototype=Pn(Zh),Cp.FrenetFrames=function(i,Q,A){function d(){O[0]=new Xj,P[0]=new Xj,o=Number.MAX_VALUE,R=x(V[0].x),r=x(V[0].y),G=x(V[0].z),o>=R&&(o=R,c.set(1,0,0)),o>=r&&(o=r,c.set(0,1,0)),o>=G&&c.set(0,0,1),U.crossVectors(V[0],c).normalize(),O[0].crossVectors(V[0],U),P[0].crossVectors(V[0],O[0])}var F,o,R,r,G,k,v,c=new Xj,V=[],O=[],P=[],U=new Xj,u=new yo,S=Q+1,W=1e-4;for(this.tangents=V,this.normals=O,this.binormals=P,k=0;S>k;k++)v=k/(S-1),V[k]=i.getTangentAt(v),V[k].normalize();for(d(),k=1;S>k;k++)O[k]=O[k-1].clone(),P[k]=P[k-1].clone(),U.crossVectors(V[k-1],V[k]),U.length()>W&&(U.normalize(),F=Z(yk(V[k-1].dot(V[k]),-1,1)),O[k].applyMatrix4(u.makeRotationAxis(U,F))),P[k].crossVectors(V[k],O[k]);if(A)for(F=Z(yk(O[0].dot(O[S-1]),-1,1)),F/=S-1,V[0].dot(U.crossVectors(O[0],O[S-1]))>0&&(F=-F),k=1;S>k;k++)O[k].applyMatrix4(u.makeRotationAxis(V[k],F*k)),P[k].crossVectors(V[k],O[k])};var oq=function(K,V,u,B){Fi.call(this),V=V||18,u=u||0,B=B==J?M:B;for(var S=1/(K.length-1),H=1/V,I=0,j=V;j>=I;I++)for(var A=u+I*H*B,h=L(A),c=q(A),Q=0,b=K.length;b>Q;Q++){var D=K[Q],Y=new Xj;Y.x=h*D.x-c*D.y,Y.y=c*D.x+h*D.y,Y.z=D.z,this.vertices.push(Y)}for(var X=K.length,I=0,j=V;j>I;I++)for(var Q=0,b=K.length-1;b>Q;Q++){var y=Q+X*I,_=y,F=y+X,h=y+1+X,t=y+1,a=I*H,w=Q*S,C=a+H,m=w+S;this.faces.push(new Xb(_,t,F)),this.faceVertexUvs[0].push([new fi(a,w),new fi(a,m),new fi(C,w)]),this.faces.push(new Xb(F,t,h)),this.faceVertexUvs[0].push([new fi(C,w),new fi(a,m),new fi(C,m)])}this.mergeVertices(),fm(this),this.computeFaceNormals(),this.computeVertexNormals()};oq.prototype=Pn(Zh);var Ud=function($,A){A=A||{};var m=sc.generateShapes($,A);A.amount=A.amount!==a?A.amount:.5,A.convertYZ=!1,A.fill!==!1&&(A.bottom=!0,A.top=!0),Mo.call(this,m,A)};Ud.prototype=Pn(Ji);var qr=K.Node=function(){mb(qr,this)},$c={X:Jj,Y:Sg,Z:Yc},Ee={X:0,Y:1,Z:2},de={xyz:"XYZ",xzy:"XZY",yxz:"YXZ",yzx:"YZX",zxy:"ZXY",zyx:"ZYX"},od="xzy",ii=function(r,O,v){if(O){var l=O[0],X=O[1],L=O[2];"xzy"===v?(Sg(r,X),Yc(r,L),Jj(r,l)):"xyz"===v?(Yc(r,L),Sg(r,X),Jj(r,l)):"yxz"===v?(Yc(r,L),Jj(r,l),Sg(r,X)):"yzx"===v?(Jj(r,l),Yc(r,L),Sg(r,X)):"zxy"===v?(Sg(r,X),Jj(r,l),Yc(r,L)):"zyx"===v?(Jj(r,l),Sg(r,X),Yc(r,L)):(Sg(r,X),Yc(r,L),Jj(r,l))}};Pe("Node",fg,{ms_ac:["rotationMode","anchorElevation"],ms_edge:!0,_adjustChildrenToTop:!0,_icon:"node_icon",_image:"node_image",_rotationMode:od,_64O:0,_rotationX:0,_53O:0,_host:J,_position:{x:0,y:0},_anchor:{x:.5,y:.5},_anchorElevation:.5,_scale:{x:1,y:1},_scaleTall:1,_54O:0,getUIClass:function(){return gn},_22Q:function(){return Ho},getX:function(){return this.p().x},setX:function(e){this.p(e,this.p().y)},getY:function(){return this.p().y},setY:function(j){this.p(this.p().x,j)},getAnchorX:function(){return this.getAnchor().x},setAnchorX:function(X){this.setAnchor(X,this.getAnchor().y)},getAnchorY:function(){return this.getAnchor().y},setAnchorY:function(D){this.setAnchor(this.getAnchor().x,D)},getScaleX:function(){return this.getScale().x},setScaleX:function(A){this.setScale(A,this.getScale().y)},getScaleY:function(){return this.getScale().y},setScaleY:function(K){this.setScale(this.getScale().x,K)},p:function(){return 0===arguments.length?this.getPosition():(this.setPosition.apply(this,arguments),this)},p3:function(){return 0===arguments.length?this.getPosition3d():(this.setPosition3d.apply(this,arguments),this)},s3:function(){return 0===arguments.length?this.getSize3d():(this.setSize3d.apply(this,arguments),this)},r3:function(){return 0===arguments.length?this.getRotation3d():(this.setRotation3d.apply(this,arguments),this)},t3:function(){return this.translate3d.apply(this,arguments),this},translate3dBy:function(g,G){pk(g,mk(J,J,this.r3(),this.getRotationMode())),this.translate3d(g[0]*G,g[1]*G,g[2]*G)},translateFront:function(r){this.translate3dBy([0,0,1],r)},translateBack:function(P){this.translate3dBy([0,0,-1],P)},translateLeft:function(D){this.translate3dBy([-1,0,0],D)},translateRight:function(M){this.translate3dBy([1,0,0],M)},translateTop:function(L){this.translate3dBy([0,1,0],L)},translateBottom:function(V){this.translate3dBy([0,-1,0],V)},getPosition3d:function(){return[this._position.x,this._54O,this._position.y]},setPosition3d:function(G,B,C){1===arguments.length&&(B=G[1],C=G[2],G=G[0]),this.p(G,C),this.setElevation(B)},translate3d:function(N,Q,r){1===arguments.length&&(Q=N[1],r=N[2],N=N[0]),this.translate(N,r),this.setElevation(this._54O+Q)},getSize3d:function(){return[this.getWidth(),this.getTall(),this.getHeight()]},setSize3d:function(O,V,m){1===arguments.length&&(V=O[1],m=O[2],O=O[0]),this.setSize(O,m),this.setTall(V)},getRotation3d:function(){return[this._rotationX,-this._64O,this._53O]},setRotation3d:function(j,x,v){1===arguments.length&&(x=j[1],v=j[2],j=j[0]),this.setRotationX(j),this.setRotation(-x),this.setRotationZ(v)},setRotationY:function(x){this.setRotation(-x)},getRotationY:function(){return-this._64O},lookAtDirection:function(Q,M){M=M||jk;var i=this,j=Kk(Q);M===jk?(i.r3([-c(Q[1]/j),-v(Q[2],Q[0])+I,0]),i.setRotationMode("xzy")):M===cd?(i.r3(0,-v(Q[2],Q[0]),c(Q[1]/j)),i.setRotationMode("zyx")):M===rg?(i.r3(0,-v(Q[2],Q[0])+X,-c(Q[1]/j)),i.setRotationMode("zyx")):M===Gh?(i.r3([-c(Q[1]/j)+I,-v(Q[2],Q[0])+I,0]),i.setRotationMode("xzy")):M===An&&(i.r3([-c(Q[1]/j)-I,-v(Q[2],Q[0])+I,0]),i.setRotationMode("xzy")),M===Pi&&(i.r3([-c(Q[1]/j)+X,-v(Q[2],Q[0])+I,X]),i.setRotationMode("zxy"))},lookAt:function(O,H){return this.lookAtDirection(uj(O,this.p3()),H)},lookAtX:function(){var R=new Le,T=new Le,z=new Le,U=new nn,o=new nn,f=new Ij;return function(j,i){var _=br(this);if(U.fromArray(_),z.copy(this.p3()),R.copy(j).sub(z),!(R.lengthSq()<1e-6)){R.normalize(),i===jk?T.set(0,0,1):i===Pi?T.set(0,0,-1):i===rg?T.set(-1,0,0):i===cd?T.set(1,0,0):i===Gh?T.set(0,1,0):i===An&&T.set(0,-1,0),T.applyMatrix4(U).sub(z).normalize();var B=Math.acos(R.dot(T));if(B){var I=R.clone().cross(T);I.lengthSq()<1e-6&&(i===Gh||i===An?I.set(0,0,1).applyMatrix4(U).sub(z):I.set(0,1,0).applyMatrix4(U).sub(z)),I.normalize(),f.set(this.r3(),this.getRotationMode(),!0),U.makeRotationFromEuler(f),o.makeRotationAxis(I,-B),f.setFromRotationMatrix(o.multiply(U)),this.r3([f.x,f.y,f.z])}}}}(),getHost:function(){return this._host},setHost:function(V){var v=this;if(v!==V&&v._host!==V){var T=v._host;T&&T._removeAttach(v),v._host=V,v._host&&v._host._addAttach(v),v.fp("host",T,V),v.onHostChanged(T,V)}},getAttaches:function(){return this._69O},_addAttach:function(l){var C=this;C._69O||(C._69O=new Sl),C._69O.add(l),C.fp("attaches",J,l)},_removeAttach:function(m){var L=this;L._69O.remove(m),L._69O.isEmpty()&&delete L._69O,L.fp("attaches",m,J)},getImage:function(){if(this._pendingCheckImageJSON){var f=_.getImage(this._image);f&&(this._pendingCheckImageJSON=!1,this.getParent()instanceof Ge&&this.getParent().checkPendingUpdateInfo())}return this._image},setImage:function(t){var s=this,i=s._image,h=s.getWidth(),B=s.getHeight();s._image=t,s.fp("image",i,t)&&(null!=t&&(Dl(t)||tg(t)&&/\.json$/i.test(t))&&(this._pendingCheckImageJSON=!0),s.fp(np,h,s.getWidth()),s.fp(_l,B,s.getHeight()))},getElevation:function(){return this._54O},setElevation:function(x){var R=this;if(!R._50O){R._50O=1;var j=R._54O;R._54O=x,R.fp(Lk,j,x),delete this._50O}},getRotation:function(){return this._64O},setRotation:function(K){var q=this;if(!q._49O){q._49O=1;var A=q._64O;q._64O=K,q.fp(hp,A,K),delete q._49O}},getRotationX:function(){return this._rotationX},setRotationX:function(Z){var s=this;if(!s._51O){s._51O=1;var R=s._rotationX;s._rotationX=Z,s.fp("rotationX",R,Z),delete s._51O}},getRotationZ:function(){return this._53O},setRotationZ:function(L){var N=this;if(!N._52O){N._52O=1;var r=N._53O;N._53O=L,N.fp("rotationZ",r,L),delete N._52O}},getPosition:function(){return this._position},setPosition:function(x,r){var J=this;if(!J._50I){J._50I=1;var i;if(i=2===arguments.length?{x:x,y:r}:x,i.x!==J._position.x||i.y!==J._position.y){var Z=J._position;J._position=i,J.fp(ai,Z,i)}delete J._50I}},translate:function(H,C){var U=this._position;this.p(U.x+H,U.y+C)},getWidth:function(){var n=this;if(n._width>=0)return n._width;var m=n.getStyle("shape3d");if(m){var Z=Mk(m);if(Z&&Z.rawS3)return Z.rawS3[0];if("billboard"===m||"plane"===m){var w=Kg(n.getStyle("shape3d.image"));return w?vj(w,n):20}}var w=Kg(n._image);return w?vj(w,n):20},setWidth:function(Z){var w=this,_=w._width;w._width=Z,w.fp(np,_,Z)},getHeight:function(){var o=this;if(o._height>=0)return o._height;var C=o.getStyle("shape3d");if(C){var A=Mk(C);if(A&&A.rawS3)return A.rawS3[2];if("plane"===C){var O=Kg(o.getStyle("shape3d.image"));return O?Cj(O,o):20}if("billboard"===C)return 2}var O=Kg(o._image);return O?Cj(O,o):20},setHeight:function(Z){var l=this,Q=l._height;l._height=Z,l.fp(_l,Q,Z)},getTall:function(){var o=this;if(o._tall>=0)return o._tall;var K=o.getStyle("shape3d");if(K){var M=Mk(K);if(M&&M.rawS3)return M.rawS3[1];if("billboard"===K){var p=Kg(o.getStyle("shape3d.image"));return p?Cj(p,o):20}if("plane"===K)return 2}return 20},setTall:function(y){var N=this,A=N._tall;N._tall=y,N.fp("tall",A,y)},setSize:function(X,D){var r=this;2===arguments.length?(r.setWidth(X),r.setHeight(D)):(r.setWidth(X.width),r.setHeight(X.height))},getSize:function(){return{width:this.getWidth(),height:this.getHeight()}},setRect:function(A,O,r,m,J){var C=this,k=C.getAnchor(),b=C.getScale();arguments.length<=2&&(J=O,O=A.y,r=A.width,m=A.height,A=A.x);var H=J&&b.x<0?1-k.x:k.x,$=J&&b.y<0?1-k.y:k.y;C.p(A+r*H,O+m*$),J&&(r/=Math.abs(b.x),m/=Math.abs(b.y)),C.setWidth(r),C.setHeight(m)},getMatrix:function(){var y=this,J=y._64O,S=y._position,s=y.getScale();return new Qq(J,S.x,S.y,s.x,s.y)},getAnchorRect:function(){var e=this,s=e.getWidth(),R=e.getHeight(),u=e.getAnchor();return{x:-s*u.x,y:-R*u.y,width:s,height:R}},toLocal:function(H){return this.getMatrix().tfi(H)},toGlobal:function(O){return this.getMatrix().tf(O)},getAttachPosition:function(){var k=new Qq;return function(R,u,c,j){c=c||0,j=j||0;var z=this,V=z.getAnchor(),U=z._64O,W=z._position,r=z.getScale();return k.setFromTransform(U,W.x,W.y).tf({x:c+r.x*z.getWidth()*(R-V.x),y:j+r.y*z.getHeight()*(u-V.y)})}}(),isInRect:function(R){R=this.toLocal(R);var b=this.getWidth(),S=this.getHeight();return R.x+=b*this.getAnchorX(),R.y+=S*this.getAnchorY(),!(R.x<0||R.y<0||R.x>b||R.y>S)},getRect:function(){var w=this,T=w.getWidth(),h=w.getHeight(),g=w.getAnchor(),C={x:-T*g.x,y:-h*g.y,width:T,height:h},p=w.getMatrix();return C=Ih([p.tf(C.x,C.y),p.tf(C.x+C.width,C.y),p.tf(C.x+C.width,C.y+C.height),p.tf(C.x,C.y+C.height)])},getAnchorElevation:function(){return this._anchorElevation},getAnchor3d:function(){var i=this,u=i.getAnchor(),G=i._anchorElevation;return{x:u.x,y:G,z:u.y}},setAnchorElevation:function(G){var N=this,Y=N._anchorElevation;return Y!==G?(N._anchorElevation=G,N.fp("anchorElevation",Y,G),!0):!1},setAnchor3d:function(p,U,Z,E){var u,h=this;"number"==typeof p?u={x:p,y:U,z:Z}:(u=p.length?{x:p[0],y:p[1],z:p[2]}:p,E=U);var s=h.getDataModel();s&&s.beginTransaction();var g=h.getAnchor3d(),M=h.setAnchor(u.x,u.z);if(h.setAnchorElevation(u.y)&&(M=!0),M&&E&&!mr){h.getAnchor3d();var i=br(h),W=pk([u.x-g.x,u.y-g.y,u.z-g.z],i);h.p3(W)}return s&&s.endTransaction(),M},getAnchor:function(){var D=this;if(D.hasOwnProperty("_anchor"))return D._anchor;var d=Kg(D._image);return d&&d.anchorX!==a?{x:d.anchorX,y:d.anchorY}:D._anchor},setAnchor:function(a,Z,l){var N,C=this;"number"==typeof a?N={x:a,y:Z}:(N=a.length?{x:a[0],y:a[1]}:a,l=Z);var T=C.getAnchor();if(T.x!==N.x||T.y!==N.y){var g=C.getDataModel();if(g&&g.beginTransaction(),C._anchor=N,C.fp("anchor",T,N),l&&!mr){var m=C.getPosition(),w=C.getSize(),M=C.getRotation(),R=C.getScale(),X=-w.width*(T.x-N.x)*R.x,x=-w.height*(T.y-N.y)*R.y,c=q(M),V=L(M);C.setPosition(m.x+V*X-c*x,m.y+c*X+V*x)}return g&&g.endTransaction(),!0}return!1},getScale:function(){return this._scale},setScale:function(X,s){var W,R=this;W=2===arguments.length?{x:X,y:s}:X;var Q=R.getScale();(Q.x!==W.x||Q.y!==W.y)&&(R._scale=W,R.fp("scale",Q,W))},getScaleTall:function(){return this._scaleTall},getScale3d:function(){var l=this,j=l._scaleTall,g=l.getScale();return[g.x,j,g.y]},getFinalScale3d:function(){var W=this,w=W.s3(),V=W._dynamicScale3d,P=W.getScale3d();return w&&(P[0]*=w[0],P[1]*=w[1],P[2]*=w[2]),V&&(P[0]*=V[0],P[1]*=V[1],P[2]*=V[2]),P},getFinalRotation3d:function(){var b=this;return b._dynamicRotation||b.r3()},setScaleTall:function(G){var t=this,z=t._scaleTall;z!==G&&(t._scaleTall=G,t.fp("scaleTall",z,G))},setScale3d:function(Q,u,p){var F,e=this;F="number"==typeof Q?{x:Q,y:u,z:p}:Q.length?{x:Q[0],y:Q[1],z:Q[2]}:Q,e.setScaleTall(F.y),e.setScale(F.x,F.z)},getCorners:function(j,T){j==J&&(j=0),T==J&&(T=j);var L=this,r=L.getAnchor(),d=L.getWidth(),n=L.getHeight(),S=-d*r.x-j,K=-n*r.y-T,$=d+2*j,v=n+2*T,Y=L.getMatrix();return[Y.tf(S,K),Y.tf(S,K+v),Y.tf(S+$,K+v),Y.tf(S+$,K)]},getEditControlPoints:function(g,D,o){D==J&&(D=0),o==J&&(o=D);var b=this,K=b.getAnchor(),A=b.getWidth(),M=b.getHeight(),Q=-A*K.x-D,e=-M*K.y-o,n=A+2*D,h=M+2*o;if(g)return[{x:Q,y:e},{x:Q,y:0},{x:Q,y:e+h},{x:0,y:e+h},{x:Q+n,y:e+h},{x:Q+n,y:0},{x:Q+n,y:e},{x:0,y:e}];var f=b.getMatrix();return[f.tf(Q,e),f.tf(Q,0),f.tf(Q,e+h),f.tf(0,e+h),f.tf(Q+n,e+h),f.tf(Q+n,0),f.tf(Q+n,e),f.tf(0,e)]},rotateAt:function(Z,H,d){var i=this,c=i._position,S=i._64O,_=new Qq(S,c.x,c.y).tf(Z,H),B=s(Z*Z+H*H),J=v(c.y-_.y,c.x-_.x)+d;i.setRotation(S+d),i.p(_.x+B*L(J),_.y+B*q(J))},onParentChanged:function(){qr.superClass.onParentChanged.apply(this,arguments),this._8I()},onPropertyChanged:function(){var Q={};return"width|height|position|anchor|rotation|scale|s:layout.h|s:layout.v".split("|").forEach(function(T){Q[T]=!0}),function(w){var q=this;qr.superClass.onPropertyChanged.call(q,w),Q[w.property]&&!q._layoutUpdating&&q.updateLayoutParameters(null,w.property),q._69O&&q._69O.each(function(O){O.handleHostPropertyChange(w)}),q._49I&&q._49I.each(function(r){r.fp("agentChange",!0,!1)})}}(),onHostChanged:function(){this.updateAttach(),this.updateLayoutParameters()},handleHostPropertyChange:function(H){this.updateAttach(H)},onStyleChanged:function(Q){qr.superClass.onStyleChanged.apply(this,arguments),le[Q]&&this.updateAttach()},updateAttach:function(u){var I=this;return mr?(I.updateLayoutParameters(),void 0):(I._51I||(I._51I=1,I._71O(u),delete I._51I),void 0)},_71O:function(g){var S,R,o,B,Z,t,w=this,O=w._host,G=g?g.property:J,C=g?g.oldValue:J,f=g?g.newValue:J;if(O instanceof K.Grid){if(G===Lk)w.setElevation(w._54O+f-C);else if(!g||zd[G]){if(S=w.s("attach.row.index"),R=w.s("attach.column.index"),o=O.getCellRect(S,R),!o)return;B=w.s("attach.row.span"),Z=w.s("attach.column.span"),(1!==B||1!==Z)&&(o=Aq(o,O.getCellRect(S+B-1,R+Z-1))),Wg(o,w,"attach.padding",1),w.setRect(o)}}else if(O instanceof Kp&&(t=w.s("attach.index"))>=0&&(!g||Sh[G])){var V=w.s("attach.thickness");V!=J&&w.setHeight(O.getThickness()*V);var Q=w.s("attach.offset"),H=O.getPoints(),N=H.size();if(N>t){var k=H.get(t),i=N===t+1?H.get(0):H.get(t+1),_=[i.x-k.x,i.y-k.y],y=Kk(_);if(y){w.s("attach.offset.relative")&&(Q*=y),w.s("attach.offset.opposite")&&(Q=y-Q);var l={x:k.x+_[0]/y*Q,y:k.y+_[1]/y*Q},E=w.s("attach.gap");E&&(w.s("attach.gap.relative")&&(E*=O.getThickness()),l=Il(J,l,i,E)),w.p(l),w.setRotation(v(_[1],_[0]))}}}else g&&(G===ai?w.translate(f.x-C.x,f.y-C.y):G===Lk?w.setElevation(w._54O+f-C):bn[G]?w._11Q(O,G,f-C):("anchor"===G||"width"===G||"height"===G||"scale"===G)&&w.layout(O))},_11Q:function(){var b=new K.Math.Euler,z=K.Math.Euler.ReverseOrder,T=new K.Math.Vector2,H=new K.Math.Vector2;return function(m,L,r){var W=this,s=m.p3(),U=m.r3(),_=W.p3(),p=W.r3();if(L===hp&&(L="rotationY",r=-r),(L===hp||"rotationY"===L)&&0===p[0]&&0===p[2]&&0===U[0]&&0===U[2]&&0===_[1]&&0===s[1])return W.setRotation(-p[1]-r),T.set(_[0],_[2]).rotateAround(H.set(s[0],s[2]),-r),W.p(T.x,T.y),void 0;var O=de[m.getRotationMode()],x=O[0],F=O[1],Z=O[2],E=$c[x],e=$c[F],V=$c[Z],h=pg();L===hp+x?(V(h,U[Ee[Z]]),e(h,U[Ee[F]]),E(h,r),e(h,-U[Ee[F]]),V(h,-U[Ee[Z]])):L===hp+F?(V(h,U[Ee[Z]]),e(h,r),V(h,-U[Ee[Z]])):L===hp+Z&&V(h,r);var q=uj(_,s);pk(q,h),W.p3(s[0]+q[0],s[1]+q[1],s[2]+q[2]);var G=W.getRotationMode();ii(h,W.r3(),G),b.setFromRotationMatrix(h,z(G)),W.r3([b.x,b.y,b.z])}}(),isHostOn:function(d){var p=this;if(p._host&&d&&d._69O)for(var N={},G=p._host;G&&G!==p&&!N[G._id];){if(G===d)return!0;N[G._id]=G,G=G._host}return!1},isLoopedHostOn:function(G){return this.isHostOn(G)&&G.isHostOn(this)},getScaledSize:function(){var y=this.getSize(),q=this.getScale();return y.width*=Math.abs(q.x),y.height*=Math.abs(q.y),y},layout:function(Y){if(Y=Y||this.getHost()){var y=this,j=y.s("layout.h")||"center",o=y.s("layout.v")||"center";if("center"!==j||"center"!==o){var v=new K.Math.Vector2,p=Y.getPosition(),k=Y.getAnchor(),w=Y.getScaledSize();y.getPosition();var r,T,O,l,H,D=1,P=1;switch(y._layoutUpdating=!0,j){case"left":v.setX(y._layoutHValue-k.x*w.width);break;case"right":v.setX((1-k.x)*w.width-y._layoutHValue);break;case"leftright":r=w.width-y._layoutHValue[2],O=y.getRotation()-Y.getRotation(),l=Math.abs(Math.sin(O)),H=Math.abs(Math.cos(O)),D+=H*r/y._layoutHValue[3],P+=l*r/y._layoutHValue[4],v.setX(y._layoutHValue[1]+(y._layoutHValue[5]-k.x)*w.width);break;case"center":v.setX((.5-k.x)*w.width-y._layoutHValue);break;case"scale":O=y.getRotation()-Y.getRotation(),l=Math.abs(Math.sin(O)),H=Math.abs(Math.cos(O)),v.setX((.5-k.x)*w.width-y._layoutHValue[1]*w.width/y._layoutHValue[0]),T=w.width/y._layoutHValue[2]-1,D+=H*T,P+=l*T}switch(o){case"top":v.setY(y._layoutVValue-k.y*w.height);break;case"bottom":v.setY((1-k.y)*w.height-y._layoutVValue);break;case"topbottom":O||(O=y.getRotation()-Y.getRotation(),l=Math.abs(Math.sin(O)),H=Math.abs(Math.cos(O))),r=w.height-y._layoutVValue[2],D+=l*r/y._layoutVValue[3],P+=H*r/y._layoutVValue[4],v.setY(y._layoutVValue[1]+(y._layoutVValue[5]-k.y)*w.height);break;case"center":v.setY((.5-k.y)*w.height-y._layoutVValue);break;case"scale":O||(O=y.getRotation()-Y.getRotation(),l=Math.abs(Math.sin(O)),H=Math.abs(Math.cos(O))),v.setY((.5-k.y)*w.height-y._layoutVValue[1]*w.height/y._layoutVValue[0]),T=w.height/y._layoutVValue[2]-1,D+=l*T,P+=H*T}if("leftright"===j||"scale"===j||"topbottom"===o||"scale"===o){var s=this.getScale(),L=Math.abs(s.x),n=Math.abs(s.y);"leftright"===j||"scale"===j?y.setSize(y._layoutHValue[3]*D/L,y._layoutHValue[4]*P/n):y.setSize(y._layoutVValue[3]*D/L,y._layoutVValue[4]*P/n)}v.rotateAround(null,Y.getRotation()),this.setPosition(v.x+p.x,v.y+p.y),y._layoutUpdating=a}}},updateLayoutParameters:function(E,I){if(E=E||this.getHost()){var t=this,N=t.s("layout.h"),b=t.s("layout.v");if(N||b){var n,V,Z,M,p,A,F=new K.Math.Vector2,S=E.getPosition(),r=E.getAnchor(),a=E.getScaledSize(),g=t.getPosition(),l=t.getScaledSize();switch(F.set(g.x-S.x,g.y-S.y),F.rotateAround(null,-E.getRotation()),N){case"left":t._layoutHValue=F.x+r.x*a.width;break;case"right":t._layoutHValue=-F.x+(1-r.x)*a.width;break;case"center":t._layoutHValue=-F.x+(.5-r.x)*a.width;break;case"leftright":case"scale":"scale"===N?n=-F.x+(.5-r.x)*a.width:(V=t.getAnchor(),Z=t.getRotation()-E.getRotation(),M=Math.cos(Z),p=Math.sin(Z),A=-Math.min(-V.x*M+V.y*p,-V.x*M-(1-V.y)*p,(1-V.x)*M+V.y*p,(1-V.x)*M-(1-V.y)*p),n=F.x-(A-r.x)*a.width),"position"===I&&"object"==typeof t._layoutHValue?(t._layoutHValue[0]=a.width,t._layoutHValue[1]=n):t._layoutHValue=[a.width,n,a.width,l.width,l.height,A]}switch(b){case"top":t._layoutVValue=F.y+r.y*a.height;break;case"bottom":t._layoutVValue=-F.y+(1-r.y)*a.height;break;case"center":t._layoutVValue=-F.y+(.5-r.y)*a.height;break;case"topbottom":case"scale":"scale"===b?n=-F.y+(.5-r.y)*a.height:(Z||(V=t.getAnchor(),Z=t.getRotation()-E.getRotation(),M=Math.cos(Z),p=Math.sin(Z)),A=-Math.min(-V.x*p-V.y*M,-V.x*p+(1-V.y)*M,(1-V.x)*p-V.y*M,(1-V.x)*p+(1-V.y)*M),n=F.y-(A-r.y)*a.height),"position"===I&&"object"==typeof t._layoutVValue?(t._layoutVValue[0]=a.height,t._layoutVValue[1]=n):t._layoutVValue=[a.height,n,a.height,l.width,l.height,A]}}}},getSerializableProperties:function(){var z=qr.superClass.getSerializableProperties.call(this);return Iq(z,{image:1,host:1,rotation:1,rotationX:1,rotationZ:1,rotationMode:1,position:1,anchor:1,anchorElevation:1,scale:1,scaleTall:1,_width:1,_height:1,_tall:1,elevation:1}),z}});var mg=K.Edge=function(x,R){var L=this;mb(mg,L),L.setSource(x),L.setTarget(R)};Pe("Edge",fg,{ms_edge:!0,_icon:"edge_icon",getUIClass:function(){return vm},_22Q:function(){return ue},getSource:function(){return this._source},getTarget:function(){return this._target},getSourceAgent:function(){return this._40I},getTargetAgent:function(){return this._41I},canSetSourceTarget:function(e){if(e===this)return!1;if(lm(e))return!0;for(var l,g,n,G,S,L=[this],T=-1,Q=0;Q>T;)if(T++,l=L[T],g=l._44I)for(g=g.getArray(),G=0,S=g.length;S>G;G++)if(n=g[G],zm(n)&&!(L.indexOf(n)>=0)){if(n===e)return!1;L.push(n),Q++}return!0},setSource:function(b){var c=this;if(c._source!==b&&c.canSetSourceTarget(b)){var N=c._source;c._source=b,N&&N._16I(c),b&&b._2I(c),c._7I(),c.fp("source",N,b)}},setTarget:function(B){var v=this;if(v._target!==B&&v.canSetSourceTarget(B)){var L=v._target;v._target=B,L&&L._18I(v),B&&B._4I(v),v._7I(),v.fp("target",L,B)}},isLooped:function(){var o=this;return o._source===o._target&&lm(o._source)&&lm(o._target)},onPropertyChanged:function(){var g=this;g._49I&&g._49I.each(function(n){n.fp("agentChange",!0,!1)})},_7I:function(){var z,A=this,_=as(A);A._40I!==_&&(z=this._40I,z&&z._15I(A),A._40I=_,_&&_._1I(A),A.fp("sourceAgent",z,_),Yp(z,A._41I),Yp(_,A._41I));var S=mn(A);A._41I!==S&&(z=A._41I,z&&z._17I(A),A._41I=S,S&&S._3I(A),A.fp("targetAgent",z,S),Yp(z,A._40I),Yp(S,A._40I))},_22I:function(j){this._52I=j,this.fp("edgeGroup",!0,!1)},getEdgeGroup:function(){return this._52I},isEdgeGroupHidden:function(){var S=this;return S._52I&&S._52I.get(0)!==S&&!S.getStyle(wg)},getEdgeGroupSize:function(){return this._52I?this._52I.size():1},getEdgeGroupIndex:function(){return this._52I?this._52I.indexOf(this):0},isEdgeGroupAgent:function(){var B=this,H=B._52I;return H&&!B.getStyle(wg)&&H.size()>1&&B===H.get(0)},toggle:function(){var i=this._52I,G=!this.s(wg);i&&i.size()>1&&(i.each(function(v){v.s(wg,G)}),i.getSiblings().each(function(s){s!==i&&s.each(function(f){f.fp("edgeGroup",J,s)})}))},setStyle:function(A,W){(A===Sq||"edge.segments"===A)&&(W=fk(W)),mg.superClass.setStyle.call(this,A,W)},onStyleChanged:function(d){mg.superClass.onStyleChanged.apply(this,arguments),yh[d]&&Yp(this._41I,this._40I)},getSerializableProperties:function(){var k=mg.superClass.getSerializableProperties.call(this);return Iq(k,{source:1,target:1}),k}});var Xl=K.Group=function(){mb(Xl,this)};Pe("Group",qr,{_image:"group_image",_icon:"group_icon",_57O:!1,getUIClass:function(){return Pd},onChildAdded:function(){Xl.superClass.onChildAdded.apply(this,arguments),this._81I()},onChildRemoved:function(){Xl.superClass.onChildRemoved.apply(this,arguments),this._81I()},_81I:function(){var O=this;if(!O._54I&&!mr){var V=O.getChildrenRect();V&&(O._53I=1,O.p(aj(O.s("group.position"),V,O.getSize())),delete O._53I)}},getChildrenRect:function(){var Z,H=this;return H.eachChild(function(j){lm(j)&&(Z=Aq(Z,H.getChildRect(j)))}),Z},getChildRect:function(d){var V;return lm(d)&&d.s(fj)&&(id(d)&&d.isExpanded()&&d.eachChild(function(a){V=Aq(V,d.getChildRect(a))}),!V&&d.getRect&&(V=d.getRect())),V},setPosition:function(a,E){var n=this;if(!n._54I){var m;m=2===arguments.length?{x:a,y:E}:a,mr||n._53I||(n._54I=1,yd(n._children,m.x-n._position.x,m.y-n._position.y),delete n._54I),Xl.superClass.setPosition.call(this,m)}},toggle:function(){this.setExpanded(!this.isExpanded())},isExpanded:function(){return this._57O},setExpanded:function(q){var t=this;if(t._57O!==q){var N=t._57O;t._57O=q,t.fp("expanded",N,t._57O),t._fireInvalidateDeep(),t._8I()}},_fireInvalidateDeep:function(){this.eachChild(function(Z){id(Z)?Z._fireInvalidateDeep():Z.iv()})},_8I:function(){Xl.superClass._8I.call(this),this.eachChild(function(C){lm(C)&&C._8I()})},onStyleChanged:function(s){Xl.superClass.onStyleChanged.apply(this,arguments),"group.position"===s&&this._81I()},getSerializableProperties:function(){var E=Xl.superClass.getSerializableProperties.call(this);return E.expanded=1,E}});var Ff=K.Block=function(){mb(Ff,this)};Pe("Block",qr,{_icon:"block_icon",_clickThroughEnabled:!1,_syncSize:!0,ms_ac:["clickThroughEnabled","syncSize"],getUIClass:function(){return vk},onChildAdded:function(){Ff.superClass.onChildAdded.apply(this,arguments),this.updateFromChildren()},onChildRemoved:function(){Ff.superClass.onChildRemoved.apply(this,arguments),this.updateFromChildren()},updateFromChildren:function(){var w=this;if(!mr&&!w._updatingToChildren&&w._syncSize&&!w._freezeSyncFromChildren){var r,s,c,e,F,n=[],$=w.getRotation();if(w.eachChild(function(M){lm(M)&&n.push.apply(n,M.getCorners())}),n.length){w._updatingFromChildren=1;var U=L(-$),C=q(-$),f=1/0,Y=-1/0,V=1/0,J=-1/0;for(e=0,F=n.length;F>e;e++)c=n[e],r=c.x,s=c.y,c.x=U*r-C*s,c.y=C*r+U*s,f=g(f,c.x),Y=t(Y,c.x),V=g(V,c.y),J=t(J,c.y);var E=w.getScale();w.setSize(x((Y-f)/E.x),x((J-V)/E.y));var h;E.x<0&&(h=f,f=Y,Y=h),E.y<0&&(h=V,V=J,J=h),U=L($),C=q($);var y=w.getAnchor();r=f+(Y-f)*y.x,s=V+(J-V)*y.y,w.setPosition(U*r-C*s,C*r+U*s),delete w._updatingFromChildren}}},setPosition:function(Q,_){var c=this;if(!c._updatingToChildren){var I;I=2===arguments.length?{x:Q,y:_}:Q,mr||c._updatingFromChildren||(c._updatingToChildren=1,yd(c._children,I.x-c._position.x,I.y-c._position.y),delete c._updatingToChildren),Ff.superClass.setPosition.call(this,I)}},setWidth:function(H){return this.setSize(H,this.getHeight())},setHeight:function(R){return this.setSize(this.getWidth(),R)},setSize:function(k,D){1>k&&(k=1),1>D&&(D=1);var f=this;if(!f._updatingToChildren){2!==arguments.length&&(D=k.height,k=k.width);var T=f.getWidth(),S=f.getHeight();if(k!==T&&Ff.superClass.setWidth.call(f,k),D!==S&&Ff.superClass.setHeight.call(f,D),!mr&&!f._updatingFromChildren){f._updatingToChildren=1;var v=k/T,r=D/S;f._adjustChildScaleOrSize(v,r,"size"),delete f._updatingToChildren,f.updateFromChildren()}}},_adjustChildScaleOrSize:function(P,k,W){var Y=this;if(Y._syncSize){var F=Y.getPosition(),O=Y.getRotation();Y.getScale(),Y.eachChild(function(I){if(lm(I)){var U=I.getPosition(),i=I.getRotation(),Q=I.getWidth(),J=I.getHeight(),D=I.getScale(),g=D.x*Q,o=D.y*J,w=new Qq(i,U.x,U.y,g,o);w.translate(-F.x,-F.y),w.rotate(-O),i=v(w.b*Math.sign(g),w.a*Math.sign(g)),w.scale(P,k);var s,C,V,G=L(i);if(Math.abs(G)<.001?(s=q(i),C=w.b/s,V=-w.c/s):(C=w.a/G,V=w.d/G),"scale"===W)I.setScale(C/Q,V/J);else if("size"===W){var Y=C/D.x,m=V/D.y;I.setScale($g(C)*Math.abs(D.x),$g(V)*Math.abs(D.y)),I instanceof K.Shape?(I.setWidthForce(Math.max(Math.abs(Y),1e-5)),I.setHeightForce(Math.max(Math.abs(m),1e-5))):I.setSize(Math.max(.01,Math.abs(Y)),Math.max(.01,Math.abs(m)))}w.rotate(O),w.translate(F.x,F.y),I.setPosition(w.tx,w.ty)}})}},_calcChangeFactor:function(T,N,d,$){var a,l,c,o;return a=x(T),l=x(d),c=a>l?a/l:l/a,a=x(N),l=x($),o=a>l?a/l:l/a,t(c,o)},setAnchor:function(){var g=this;if(!g._updatingToChildren){var s=g.getAnchor();if(Ff.superClass.setAnchor.apply(g,arguments),!mr&&!g._updatingFromChildren&&g._syncSize){g._updatingToChildren=1;var K=g.getAnchor();g.getPosition();var f=g.getSize(),o=g.getScale(),i=g.getRotation(),$=-f.width*o.x*(s.x-K.x),d=-f.height*o.y*(s.y-K.y),t=q(i),H=L(i),_=H*$-t*d,T=t*$+H*d;g.eachChild(function(I){if(lm(I)){var O=I.getPosition();I.setPosition(O.x-_,O.y-T)}}),delete g._updatingToChildren}}},setRotation:function(S){var D=this;if(!D._updatingToChildren){var l=D.getRotation();if(Ff.superClass.setRotation.apply(D,arguments),!mr&&!D._updatingFromChildren){D._updatingToChildren=1;var I=D.getPosition(),A=S-l;D.eachChild(function(Q){if(lm(Q)){var b=Q.getMatrix();b.translate(-I.x,-I.y),b.rotate(A),b.translate(I.x,I.y);var Y=Math.sign(Q.getScale().x);Q.setRotation(v(b.b*Y,b.a*Y)),Q.setPosition(b.tx,b.ty)}}),delete D._updatingToChildren}}},setScale:function(z,y){var G=this;if(!G._updatingToChildren){null==y&&(y=z.y,z=z.x);var $=G.getScale();if(x(z)<.01&&(z=.01*($g(z)||$g($.x))),x(y)<.01&&(y=.01*($g(y)||$g($.y))),Ff.superClass.setScale.call(G,z,y),!mr&&!G._updatingFromChildren){G._updatingToChildren=1;var l=z/$.x,H=y/$.y;G._adjustChildScaleOrSize(l,H,"size"),delete G._updatingToChildren,G.updateFromChildren()}}},getSerializableProperties:function(){var I=Ff.superClass.getSerializableProperties.call(this);return I.clickThroughEnabled=1,I.syncSize=1,I}});var vs=K.Grid=function(){mb(K.Grid,this)};Pe("Grid",qr,{IRotatable:!1,_icon:"grid_icon",_image:J,getUIClass:function(){return Nj},setRotation:function(){},getCellRect:function(M,T){var c=this,H=c.s("grid.row.count"),N=c.s("grid.column.count");if(0>=H||0>=N||0>M||M>=H||0>T||T>=N)return J;var e,d,n,y=c.getRect(),K=c.s("grid.row.percents"),A=c.s("grid.column.percents");if(Wg(y,c,"grid.border",-1),K&&K._as&&(K=K._as),A&&A._as&&(A=A._as),K&&K.length===H){for(n=0,e=0;M>e;e++)n+=y.height*K[e];y.y+=n,y.height=y.height*K[M]}else y.height=y.height/H,y.y+=y.height*M;if(A&&A.length===N){for(d=0,e=0;T>e;e++)d+=y.width*A[e];y.x+=d,y.width=y.width*A[T]}else y.width=y.width/N,y.x+=y.width*T;return Bd(y,-c.s("grid.gap")),y}});var Cg=K.Text=function(){mb(Cg,this),this.setSize(100,50),this.s("text","TEXT")};Pe("Text",qr,{_icon:"text_icon",_image:"__text__",getUIClass:function(){return Nn},setWidth:function(y){y||(y=.001),Cg.superClass.setWidth.call(this,y)},setHeight:function(r){r||(r=.001),Cg.superClass.setHeight.call(this,r)},toLabel:function(){return this._displayName||this._name||this.s("text")}}),mm("__text__",{width:{value:100,isSafeFunc:!0,func:function(q){return q._width}},height:{value:50,isSafeFunc:!0,func:function(P){return P._height}},comps:[{type:"text",relative:!0,rect:[0,0,1,1],text:{func:"style@text"},align:{func:"style@text.align"},vAlign:{func:"style@text.vAlign"},color:{func:"style@text.color"},font:{func:"style@text.font"},shadow:{func:"style@text.shadow"},shadowColor:{func:"style@text.shadow.color"},shadowBlur:{func:"style@text.shadow.blur"},shadowOffsetX:{func:"style@text.shadow.offset.x"},shadowOffsetY:{func:"style@text.shadow.offset.y"},scaleX:{func:"style@text.scale.x"},scaleY:{func:"style@text.scale.y"}}]});var Kp=K.Shape=function(){mb(Kp,this),this._59O=new Sl};Kp.__de__=Uo,Pe("Shape",qr,{ms_ac:["thickness","closePath"],_icon:"shape_icon",_thickness:10,_closePath:!1,getUIClass:function(){return cn},_22Q:function(){return Jp},getLength:function(e){return Cd(Wc(this._59O,this._58O,e,this._closePath))},getSegments:function(){return this._58O},toSegments:function(){var O=this._58O;return O?new Sl(O._as.slice(0)):O},setSegments:function(x){var S=this._58O;x=x?Bl(x)?new Sl(x.slice(0)):new Sl(x._as.slice(0)):null,(S&&x&&S._as.join(",")!==x._as.join(",")||S!==x)&&(this._58O=x,this.fp("segments",S,x))},getPoints:function(){return this._59O},toPoints:function(){var D=this._59O;return new Sl(D._as.slice(0))},setPoints:function(P,e){var L=this,X=L._59O;P=P?Bl(P)?new Sl(P.slice(0)):new Sl(P._as.slice(0)):new Sl;var H,Q,F,Y,q,J;e&&(H=L.getPosition(),J=new Qq(L.getRotation(),0,0,L.getScale().x,L.getScale().y)),(X&&P&&X._as.join(",")!==P._as.join(",")||X!==P)&&(L._59O=P,L.fs(),L.fp("points",X,P)),e&&(Q=L.getPosition(),F=Q.x-H.x,Y=Q.y-H.y,q=J.tf(F,Y),L.setPosition(Q.x-F+q.x,Q.y-Y+q.y))},addPoint:function(C,Q,u){var M=this.toPoints();M.add(C,Q),this.setPoints(M,u)},setPoint:function(N,p,g){var W=this.toPoints();W.set(N,p),this.setPoints(W,g)},removePointAt:function(f){var E=this.toPoints();E.removeAt(f),this.setPoints(E)},setWidthForce:function(n){var h=this;if(!h._55I&&!mr&&h.getWidth()){h._55I=1;var Z=h._position.x,f=n/h.getWidth(),Q=h.toPoints(),J=new Sl;1!==f&&(Q.each(function(E){J.add({x:(E.x-Z)*f+Z,y:E.y,e:E.e})}),h.setPoints(J),$m(h,[f,0,0,1,Z*(1-f),0]),h.fs()),delete h._55I}Kp.superClass.setWidth.call(h,n)},setWidth:function(l){return this.setWidthForce(1>l?1:l)},setHeightForce:function(u){var o=this;if(!o._55I&&!mr&&o.getHeight()){o._55I=1;var O=o._position.y,W=u/o.getHeight(),d=o.toPoints(),q=new Sl;1!==W&&(d.each(function(u){q.add({x:u.x,y:(u.y-O)*W+O,e:u.e})}),o.setPoints(q),$m(o,[1,0,0,W,0,O*(1-W)]),o.fs()),delete o._55I}Kp.superClass.setHeight.call(o,u)
|
||
},setHeight:function(A){return this.setHeightForce(1>A?1:A)},setAnchorElevation:function(A){var S=this;S._55I=!0;var X=S._updatingAnchor3d,i=!mr&&!X;if(i){var V,L=A,e=S.getAnchorElevation(),E=S.getTall();V=E*(e-L),0!==V&&S.shiftPointsElevation(V)}var W=Kp.superClass.setAnchorElevation.apply(S,arguments);return X||delete S._55I,W},getShapeElevation:function(){var N=this,l=N._54O;return l-(N.getTall()||0)*(N._anchorElevation-.5)},setAnchor3d:function(E,R,l,p){var v,w=this;"number"==typeof E?v={x:E,y:R,z:l}:(v=E.length?{x:E[0],y:E[1],z:E[2]}:E,p=R),w._55I=!0,w._updatingAnchor3d=!0;var C=w.getDataModel();if(C&&C.beginTransaction(),!mr){var o=w.getAnchor3d(),$=w.getSize(),P=w.getTall(),f=$.width*(o.x-v.x),e=$.height*(o.z-v.z),J=P*(o.y-v.y);p||w.shiftPoints(f,e,J);var K=w.p3()}var W=Kp.superClass.setAnchor3d.apply(w,arguments);if(!mr&&p){var k=w.p3();w.shiftPoints(k[0]-K[0]+f,k[2]-K[2]+e,k[1]-K[1]+J)}return C&&C.endTransaction(),delete w._updatingAnchor3d,delete w._55I,W},setAnchor:function(T,r,e){var A=this;A._55I=!0;var t=A._updatingAnchor3d,Y=!mr&&!t;if(Y){var o,w,R;"number"==typeof T?R={x:T,y:r}:(R=T.length?{x:T[0],y:T[1]}:T,e=r);var x=A.getAnchor(),K=A.getSize();o=K.width*(x.x-R.x),w=K.height*(x.y-R.y),e||A.shiftPoints(o,w);var k=A.getPosition()}var L=Kp.superClass.setAnchor.apply(A,arguments);if(Y){var q=A.getPosition();e&&A.shiftPoints(q.x-k.x+o,q.y-k.y+w)}return t||delete A._55I,L},shiftPoints:function(w,m,U){if(w||m||U){var h=this,x=h.getElevation()||0,L=h.toPoints(),S=new Sl;L.each(function(Y){var i=Y.e;U&&(i=(i==J?x:i)+U),S.add({x:Y.x+w,y:Y.y+m,e:i})}),h.setPoints(S),h.fs()}},shiftPointsElevation:function(V){return this.shiftPoints(0,0,V)},setPosition:function(M,R){var U,g=this;if(!g._28Q){if(g._28Q=1,!g._55I&&!mr){U=2===arguments.length?{x:M,y:R}:M;var w=U.x-g._position.x,L=U.y-g._position.y;if(0===w&&0===L)return delete g._28Q,void 0;g._55I=1,g.shiftPoints(w,L),$m(g,[1,0,0,1,w,L]),delete g._55I}Kp.superClass.setPosition.apply(g,arguments),delete g._28Q}},fs:function(){this.fireShapeChange()},_70I:function(){var G=this;if(2!==G._59O.size())return!1;var S=G._58O;return S?2===S.size()&&1===S.get(0)&&2===S.get(1)?!0:!1:!0},fireShapeChange:function(){var T=this;if(!T._55I&&!mr){var S=Ih(T._59O);S&&(T._55I=1,T.setRect(S),delete T._55I)}T.fp(gg,!1,!0)},getSerializableProperties:function(){var P=Kp.superClass.getSerializableProperties.call(this);return P.segments=1,P.points=1,P.thickness=1,P.closePath=1,P}});var Nc=K.Polyline=function(){mb(Nc,this),this.s({"shape.background":null,"shape.border.width":2})};Pe("Polyline",Kp,{_icon:"polyline_icon",_22Q:function(){return Vl},getUIClass:function(){return bl},setClosePath:function(){},setTall:function(s){var w=this,y=w.getDataModel();if(y&&y.beginTransaction(),!w._55I&&!w._24Q&&!mr&&w.getTall()){w._24Q=1;var R=w._54O,a=s/w.getTall();if(1!==a){var X=w.toPoints(),g=new Sl;X.each(function(m){g.add({x:m.x,y:m.y,e:m.e==J?m.e:(m.e-R)*a+R})}),w.setPoints(g),w.fs()}delete w._24Q}Nc.superClass.setTall.call(w,s),y&&y.endTransaction()},setElevation:function(z){var e=this,I=e.getDataModel();if(I&&I.beginTransaction(),!e._55I&&!e._24Q&&!mr){e._24Q=1;var X=z-e._54O;0!==X&&e.shiftPointsElevation(X),delete e._24Q}Nc.superClass.setElevation.apply(e,arguments),I&&I.endTransaction()},fireShapeChange:function(){var U=this,C=U._59O;if(!U._55I&&!U._24Q&&!mr){var j=C.size();if(j){var B=1,E=C.get(0),o=U._54O;E.e==J&&(E.e=o);for(var p=E.e,_=0;j>B;B++){E=C.get(B),E.e==J&&(E.e=o);var M=g(p,E.e),X=t(p+_,E.e);p=M,_=X-M}U._24Q=1,U.setTall(_),U.setElevation(p+_*U._anchorElevation),delete U._24Q}}Nc.superClass.fireShapeChange.apply(U,arguments)}});var bd=K.SubGraph=function(){mb(bd,this)};Pe("SubGraph",qr,{ISubGraph:1,_image:"subGraph_image",_icon:"subGraph_icon",_8I:function(){bd.superClass._8I.call(this),this.eachChild(function(t){lm(t)&&t._8I()})}}),_.loadingRefGraph=0;var Ge=K.RefGraph=function(){mb(Ge,this)};Pe("RefGraph",Ff,{_icon:"refGraph_icon",getRef:function(){return this._ref},setRef:function(O){var q=this._ref;this._ref=O,this.fp("ref",q,O),this.updateRef()},_21I:function(){Ge.superClass._21I.apply(this,arguments),this.updateRef()},updateRef:function(){var G=this;if(_.loadingRefGraph++,G.clearChildrenFromDataModel(),_.loadingRefGraph--,G._ref&&G._dataModel){G._xhrLoadHandler&&(G._xhrLoadHandler.cancel=!0);var r=mr,N=G._xhrLoadHandler=function(Q){if(Q&&G._dataModel){_.loadingRefGraph++;var S=G._pendingUpdateInfo={needToRestore:r};r&&(S.position=G.p(),S.width=G.getWidth(),S.height=G.getHeight(),S.rotation=G.getRotation(),S.anchor=G.getAnchor(),S.scale=G.getScale()),G.p(0,0),G.setAnchor(.5,.5),G.setRotation(0),G.setScale(1,1);var v=_.parse(Q),B=G._dataModel.deserialize(v,G,{justDatas:!0});B.each(function(M){M._refGraph=G}),G.checkPendingUpdateInfo(),_.loadingRefGraph--,_.handleRefGraphLoaded(G,B,v)}};N.xhrLoadCalled=!1,_.load(G._ref,function(r){N.cancel||(N.xhrLoadCalled?N(r):Lq(function(){N(r)}))}),N.xhrLoadCalled=!0}},checkPendingUpdateInfo:function(){var D=this,N=D._pendingUpdateInfo;if(!N)return D.onPendingUpdated&&(_.loadingRefGraph++,D.onPendingUpdated(),_.loadingRefGraph--),void 0;var P=!0;this.eachChild(function(c){(c._pendingCheckImageJSON||c._pendingUpdateInfo)&&(P=!1)}),P&&(_.loadingRefGraph++,D._pendingUpdateInfo=null,D.updateFromChildren(),N.needToRestore&&(D.setSize(N.width,N.height),D.setAnchor(N.anchor),D.setRotation(N.rotation),D.setScale(N.scale),D.p(N.position)),this.getParent()instanceof Ge&&this.getParent().checkPendingUpdateInfo(),D.onPendingUpdated&&D.onPendingUpdated(),_.loadingRefGraph--)},getSerializableProperties:function(){var i=Ge.superClass.getSerializableProperties.call(this);return i.ref=1,i}}),K.EdgeGroup=function(o,$){this._70O=o,this._siblings=$;for(var g,r,s=0,W=o.size(),m=e[wg];W>s;s++)if(g=o.get(s).getStyle(wg,!1),g!=J){m=g;break}m==J&&(m=!0);var R=_.edgeGroupAgentFunc;for(R&&(r=R(o),r&&r!==o.get(0)&&(o.remove(r),o.add(r,0))),s=0;W>s;s++)o.get(s).s(wg,m)},Pe("EdgeGroup",F,{getEdges:function(){return this._70O},size:function(){return this._70O.size()},get:function(S){return this._70O.get(S)},indexOf:function(v){return this._70O.indexOf(v)},each:function(v,x){this._70O.each(v,x)},getSiblings:function(){return this._siblings},eachSiblingEdge:function(F,d){this._siblings.each(function(t){t._70O.each(F,d)})}});var Zb=function(x,b,l){var U=Ki[x]={type:x,action:b};if(l)for(var r in l)U[r]=l[r]};Iq(_,{setConnectAction:Zb,getConnectAction:function(b,v){if(!v){if(!b)return null;v=b.getCurrentConnectActionType()}return Ki[v]},doConnectAction:function(A,p,g,F){F=F||A.getCurrentConnectActionType();var P=Ki[F];if(!P)return!1;var t=P.action;return t?(p instanceof wd.Group?A.sm().getSelection().each(function(n){t.call(null,A,n,g)}):t.call(null,A,p,g),!0):!1},doDeleteConnectionAction:function(w,v,u){u=u||w.getCurrentConnectActionType();var g=Ki[u];if(!g||!g.delete)return!1;var F=g.delete.action;return F?(v instanceof wd.Group?w.sm().getSelection().each(function(r){F.call(null,w,r)}):F.call(null,w,v),!0):!1}});var Yh=K.JSONSerializer=function(A,p){this.dm=this._dataModel=A,this._hierarchical=_.forceHierarchicalSerialization?!0:p==J?A.isHierarchicalRendering():p};Pe("JSONSerializer",F,{ms_ac:["hierarchical"],serialize:function(G){return _.stringify(this.toJSON(),G)},toJSON:function(){var M=this,u=M.dm,I=u.getRoots(),K=M.json={v:_.getVersion(),p:{},a:{},d:[]},V=u.getSerializableAttrs();u.getInit()&&(K.init=u.getInit()),u.getName()&&(K.p.name=u.getName()),u.getBackground()&&(K.p.background=u.getBackground()),u.getLayers()&&(K.p.layers=u.getLayers()),u.getEnvmap()&&(K.p.envmap=u.getEnvmap()),K.p.autoAdjustIndex=u.isAutoAdjustIndex(),K.p.hierarchicalRendering=u.isHierarchicalRendering();for(var Z in V){var h=u.a(Z);h!==a&&M[zi](Z,h,K.a)}return Mb(K.a)&&delete K.a,M._hierarchical?I.each(M.serializeData,this):u.each(function(G){M.serializeData(G)}),u.fireSerializeEvent({type:"serialize",json:K}),u.getPostProcessingData()&&(K.p.postProcessingData=u.getPostProcessingData()),K},isSerializable:function(){return!0},getProperties:function(D){return D.getSerializableProperties()},getStyles:function(y){return y.getSerializableStyles()},getAttrs:function(N){return N.getSerializableAttrs()},serializeData:function(n){var r=this;if(r.isSerializable(n)&&!n._refGraph){var C,t,u,L,h=Dq(n.getClassName())||n.getClass(),x=new h,N={c:n.getClassName(),i:n.getId(),p:{},s:{},a:{}};r.json.d.push(N),C=r.getProperties(n);for(t in C)if(/^_/.test(t)){if(u=n[t],("_width"===t||"_height"===t)&&u===a){var E;((n.s("layout.h")||n.s("layout.v"))&&n.getHost()||n instanceof K.Node&&(E=n.getParent())&&E instanceof K.Block||n.s("fullscreen"))&&(u=n[t]="_width"===t?n.getWidth():n.getHeight())}u!==x[t]&&r[zi](t.substr(1),u,N.p)}else L=yj(t),n[L]&&(u=n[L](),u!==x[L]()&&r[zi](t,u,N.p));C=r.getStyles(n);for(t in C)u=n.s(t),u!==x.s(t)&&r[zi](t,u,N.s);C=r.getAttrs(n);for(t in C)u=n.a(t),u!==x.a(t)&&r[zi](t,u,N.a);Mb(N.p)&&delete N.p,Mb(N.s)&&delete N.s,Mb(N.a)&&delete N.a}r._hierarchical&&n.getChildren().each(r.serializeData,r)},serializeValue:function(C,d,e){Cm(d)?d={__a:d._as}:d instanceof fg&&(d={__i:d.getId()}),e[C]=d},deserialize:function(c,e,E){var H=this;return tg(c)&&/.json$/.test(c)?(_.xhrLoad(c,function(j){H.deserializeImpl(j,e,E)}),void 0):H.deserializeImpl(c,e,E)},deserializeImpl:function(o,B,k){var Z=this,U=Z.dm;k=Bh(k)?{setId:k}:Gl(k)?{finishFunc:k}:k||{},o=Z.json=tg(o)?_.parse(o):o,o.a&&o.a.onPreDeserialize&&!k.disableOnPreDeserialize&&o.a.onPreDeserialize(o,U,k.view),U.beginTransaction(),mr++,Z._82I={};var M=new Sl,T=new Sl,O=0,X=o.d.length;if(k.justDatas||(Gl(o.init)&&o.init(U),U.setInit(o.init)),!k.justDatas){for(var $ in o.a)U.a($,Z[Vg](o.a[$]));for(var j in o.p)U[Kf(j)](o.p[j])}for(;X>O;O++){var Q=o.d[O],I=Dq(Q.c),z=new I,v=Q.i;k.setId&&v!=J&&(z._id=v),Z._82I[v]=z,M.add(z),T.add(Q)}for(O=0;X>O;O++)Z.deserializeData(M.get(O),T.get(O));return M.each(function(k){B&&!k.getParent()&&k.setParent(B),U.add(k)}),U.fireSerializeEvent({type:"deserialize",json:o}),mr--,U.endTransaction(),o.a&&o.a.onPostDeserialize&&!k.disableOnPostDeserialize&&o.a.onPostDeserialize(o,U,k.view,M),k.finishFunc&&k.finishFunc(o,U,k.view,M),M},deserializeData:function(z,H){for(var V in H.p)z[Kf(V)](this[Vg](H.p[V]));for(V in H.s)z.s(V,this[Vg](H.s[V]));for(V in H.a)z.a(V,this[Vg](H.a[V]))},deserializeValue:function(q){if(Dl(q)){var y=q.__i;if(y!=J)return this._82I[y];if(y=q.__a,Bl(y))return new Sl(y)}return q}}),Iq(hl,{serialize:function(f,d){return new Yh(this,d).serialize(f)},toJSON:function(Q){return new Yh(this,Q).toJSON()},deserialize:function(M,F,C){return new Yh(this).deserialize(M,F,C)}});var Hb=K.OverlappingBox=function(K){this.gv=K,this.boxes={}};Pe("OverlappingBox",F,{clear:function(){var G,F,q=this.boxes;for(G in q)F=q[G],F.length=0},isOverlapping:function(A,Q){var P,B,k=this,L=k.boxes,t=L[A];t?(P=t.rects,B=t.length):t=L[A]={rects:P=[],length:B=0};var O,I,Q;for(O=0;B>O;O++)if(I=P[O],I.x<Q.x+Q.w&&I.x+I.w>Q.x&&I.y<Q.y+Q.h&&I.h+I.y>Q.y)return!0;return P.length<=B?(P.push(Q),t.length++):P[t.length++]=Q,!1}}),Iq(_,{fetch:function(P,i){var w="GET",r=!1,C=null,d="";i&&(w=i.method||"GET",r=i.sync,d=i.url,C=i.data||null),P.open(w,d,!r),i.responseType?P.responseType=i.responseType:i.overrideMimeType&&P.overrideMimeType&&P.overrideMimeType(i.overrideMimeType),P.send(C)},convertImageSrc:function(m,R){R&&"function"==typeof R||(R=function(){}),R(m)}});var sj=K.Request=function(){this._xhr=new XMLHttpRequest,this._onloadFunc=function(){},this._errorFunc=function(){}};Pe("Request",F,{_responseType:null,_overrideMimeType:"text/plain",send:function(G){var Q=this._xhr,X=this.onload,m=this.onerror;this.getResponseType()?G.responseType=this.getResponseType():this.getOverrideMimeType()&&(G.overrideMimeType=this.getOverrideMimeType()),Q.onload=X,Q.onerror=m,_.fetch(Q,G)},onload:function(){},onerror:function(){},getResponseType:function(){return this._responseType},setResponseType:function(l){this._responseType=l},getOverrideMimeType:function(){return this._overrideMimeType},setOverrideMimeType:function(R){this._overrideMimeType=R},getResponseText:function(){var Q=this._xhr;return Q.response||Q.responseText}}),gf.GraphView=function(U){var V=this;V._24I={},V._34I=new Sl,V._25I={},V._56I={},V._view=Mm(1,V),V._canvas=dp(V._view),V.dm(U?U:new hl),this._coreInteractor=new Xr(this),V.setEditable(!1),V.setScrollBarVisible(_.graphViewScrollBarVisible)},Ab("GraphView",F,{ms_v:1,ms_gv:1,ms_bnb:1,ms_tip:1,ms_dm:1,ms_lp:1,ms_fire:1,ms_sm:1,_49o:1,ms_txy:1,_52o:1,_51o:1,ms_ac:[pp,Ib,dr,Pc,"resettable","editInteractor",ce,"zoomable","pannable","rectSelectable","autoScrollZone",Jc,"movableFunc","editableFunc","pointEditableFunc","rectEditableFunc","rotationEditableFunc","anchorEditableFunc","rectSelectBackground","rectSelectBorderColor","editPointSize","editPointBorderColor","editPointBackground","hoverDelay"],_zoomable:_.graphViewZoomable,_resettable:_.graphViewResettable,_pannable:_.graphViewPannable,_rectSelectable:_.graphViewRectSelectable,_autoScrollZone:_.graphViewAutoScrollZone,_rectSelectBackground:_.graphViewRectSelectBackground,_rectSelectBorderColor:_.graphViewRectSelectBorderColor,_editPointSize:_.graphViewEditPointSize,_editPointBorderColor:_.graphViewEditPointBorderColor,_editPointBackground:_.graphViewEditPointBackground,_scrollBarColor:al,_scrollBarSize:lj,_autoHideScrollBar:Gp,_autoMakeVisible:Fb,_currentActionType:null,getCoreInteractor:function(){return this._coreInteractor},getLayers:function(){return this._dataModel.getLayers()},setLayers:function(g){this._dataModel.setLayers(g)},setEditable:function(d){var H=this,c=H.__interactorMap__;if(!c){var u=gf.XEditInteractor;c=H.__interactorMap__={scrollBar:new Sc(H),select:new pq(H),edit:u?new u(H):new pc(H),text:new jn(H),move:new xl(H),"default":new oo(H),touch:new As(H,{editable:!1})}}d?(H._uieditable=!0,H.setInteractors([c.scrollBar,c.select,c.edit,c.text,c.move,c.default,c.touch])):(H._uieditable=!1,H.setInteractors([c.scrollBar,c.select,c.move,c.default,c.touch]))},getCanvas:function(){return this._canvas},_33I:function($){var f=$.getUIClass();return f?new f(this,$):J},getDataUI:function(q){var v=this,D=v._25I[q._id];return D===a&&(D=v._33I(q),v._25I[q._id]=D),D},getNodeRect:function(w){return _.getNodeRect(this,w)},getFullscreenDatas:function(){return this._dataModel.getFullscreenDatas()},getEdgeInfo:function(j){var p=this.getDataUI(j);return p?(p._79o(),p._78o):null},getEdgeSourcePosition:function(h){var Z=this,p=Z.getDataUI(h),Y=p.s,Q=p._data._40I;return Lb(Z,Q,Y("edge.source.position"),Y("edge.source.offset.x"),Y("edge.source.offset.y"),Y("edge.source.anchor.x"),Y("edge.source.anchor.y"))},getEdgeTargetPosition:function(F){var P=this,J=P.getDataUI(F),h=J.s,H=J._data._41I;return Lb(P,H,h("edge.target.position"),h("edge.target.offset.x"),h("edge.target.offset.y"),h("edge.target.anchor.x"),h("edge.target.anchor.y"))},invalidateAll:function(S){var e=this;if(S){for(var $ in e._25I){var P=e._25I[$];P&&P.dispose()}e._25I={},e._56I={},e._24I={},e._34I.clear(),e.redraw()}else e.dm().each(function(_){e.invalidateData(_)})},invalidateSelection:function(){var s=this;s.sm().each(function(R){s.invalidateData(R)})},invalidateData:function(o){var D=this;D._24I[o._id]=o,D._21Q(o),D.iv()},_21Q:function(h){var e=this,C=e._24I;if(zm(h)&&tp[h.s(kb)]){var I=h.getSourceAgent();I&&I.getAgentEdges().each(function(X){C[X._id]=X}),I=h.getTargetAgent(),I&&I.getAgentEdges().each(function(t){C[t._id]=t}),e.iv()}},redraw:function(s){var p=this;p._32I||(s?p._34I.add(s):(p._32I=1,p._34I.clear()),p.iv())},each:function(J,D){var u,Z,w,X=0,R=this.getLayers(),U=this._dataModel,P=U._datas._as,L=P.length;if(R){for(var N=R.length;N>X;X++)if(w=R[X],Dl(w)&&(w=w.name),U.isHierarchicalRendering()){var f=function(W){return W._layer===w?D?J.call(D,W):J(W):void 0};if(this._dataModel.eachByHierarchical(f)===!1)return}else for(var t=0;L>t;t++)if(u=P[t],u._layer===w&&(Z=D?J.call(D,u):J(u),Z===!1))return}else if(U.isHierarchicalRendering())this._dataModel.eachByHierarchical(J,null,D);else for(;L>X;X++)if(u=P[X],Z=D?J.call(D,u):J(u),Z===!1)return},reverseEach:function(S,o){var N,i,p,Y,s=this._dataModel,m=s._layers,e=s._datas._as,E=e.length;if(m){for(N=m.length-1;N>=0;N--)if(Y=m[N],Dl(Y)&&(Y=Y.name),s.isHierarchicalRendering()){var K=function($){return $._layer===Y?o?S.call(o,$):S($):void 0};if(s.reverseEachByHierarchical(K)===!1)return}else for(var L=E-1;L>=0;L--)if(i=e[L],i._layer===Y&&(p=o?S.call(o,i):S(i),p===!1))return}else if(s.isHierarchicalRendering())s.reverseEachByHierarchical(S,null,o);else for(N=E-1;N>=0;N--)if(i=e[N],p=o?S.call(o,i):S(i),p===!1)return},getViewRect:function(){return this._29I},getContentRect:function(){var F=this,U=F._84I;if(!U){var r=this.dm().a("width"),p=this.dm().a("height");r>0&&p>0?F._84I={x:0,y:0,width:r,height:p}:(F.each(function(L){F.isVisible(L)&&(U=Aq(U,F.getDataUIBounds(L)))}),F._84I=U?U:rm)}return F._84I},getScrollRect:function(){return Aq(this.getContentRect(),this._29I)},makeCenter:function(p,r,N){var R=this;if(!R.getWidth()||!R.getHeight())return N||Lq(R.makeCenter,R,[p,r,!0],500),void 0;R.makeVisible(p),R.validate();var L=R.getDataUIBounds(p);if(L){var J=R.getWidth(),I=R.getHeight(),H=L.x+L.width/2,i=L.y+L.height/2,V=-H*R._zoom+J/2,j=-i*R._zoom+I/2;R.setTranslate(V,j,r)}},fitData:function(f,S,x,l,W){var a=this;if(!a.getWidth()||!a.getHeight())return W||Lq(a.fitData,a,[f,S,x,l,!0],500),void 0;var g=function(){a.makeVisible(f),a.validate();var p=a.getDataUIBounds(f);p&&(p=Ej(p),Bd(p,x==J?20:x),a.fitRect(p,S,l))};S?_.callWhenLoaded(g):g()},fitContent:function(k,R,a,o){var n=this;if(!n.getWidth()||!n.getHeight())return o||Lq(n.fitContent,n,[k,R,a,!0],500),void 0;var F=function(){n.validate();var X=Ej(n.getContentRect());Bd(X,R==J?20:R),n.fitRect(X,k,a)};k?_.callWhenLoaded(F):F()},fitRect:function(A,O,s){var c=this,w=c.getWidth(),d=c.getHeight(),D=A.x+A.width/2,L=A.y+A.height/2,K=g(w/A.width,d/A.height),n=c._zoom,y=-D*n+w/2,o=-L*n+d/2;0===K||isNaN(K)||(s&&(K=g(1,K)),O?(c._65I&&(delete c._65I.finishFunc,c._65I.stop(!0)),c._14o&&c._14o.stop(!0),c.setTranslate(y,o,{finishFunc:function(){c.setZoom(K,O)}})):(c.setTranslate(y,o),c.setZoom(K)))},toCanvas:function(w,h){h=h||this._zoom,this.validateImpl();var T=this,B=T.getContentRect();B.width||(B.width=10),B.height||(B.height=10);var v=dp(),I=B.x*h,G=B.y*h,c=B.width*h,l=B.height*h;If(v,c,l,1);var a=ir(v);return w=w||this._dataModel.getBackground(),w&&ao(a,0,0,c,l,w),ee(a,-I,-G),a.scale(h,h),T._42(a),a.restore(),v},toDataURL:function(i,Z,H){return this.toCanvas(i,H).toDataURL(Z||"image/png",1)},getClipBounds:function(){return this._74O},_42:function(h,M){var f=this,i=f.dm().getBackground();if(i){var _=f.dm().a("width"),Q=f.dm().a("height");_>0&&Q>0&&ao(h,0,0,_,Q,i)}var Z=f.__htmlOrderList,H=[];if(f._93db(h,M),f.each(function(w){var W=f.getDataUI(w);if(W){var v=f._56I[w._id],l=W._htmlView;if(v){var L=W._79o();if(l=W._htmlView,K.HtmlNode&&w instanceof K.HtmlNode)W._42(h);else{var r=f.getViewRect(),z=l&&l.layoutHTML;!M||jg(M,L)?(z&&(l.layoutHTML(),W.__outerLayout&&delete W.__outerLayout),W._42(h)):jg(r,L)||!z||W.__outerLayout||(l.layoutHTML(),W.__outerLayout=!0)}}l&&(H.push(l),l.getView&&(l=l.getView()),l.style.display=v?"block":nh)}}),Z&&H.length>0){var T=!1;if(Z.length!==H.length)T=!0;else for(var n=0;n<H.length;n++)if(H[n]!==Z[n]){T=!0;break}T&&(H.forEach(function(i){i.autoAdjustIndex!==!1&&f.appendHTML(i,!0)}),this.__htmlOrderList=H)}else this.__htmlOrderList=H;f._92db(h,M)},validateImpl:function(){this.tryUpdateRootData();var v,S,m,p,P,b=this,A=b.tx(),M=b.ty(),I=b._zoom,D=b._canvas,u=this.getWidth(),G=this.getHeight(),B=b._29I,w={x:-A/I,y:-M/I,width:u/I,height:G/I},k={},J=b._34I,E=b._24I,F=b._32I,T=b._23I;b._24I={},(u!==D.clientWidth||G!==D.clientHeight)&&(If(D,u,G),F=1),F||th(w,B)||(F=1),b._29I=w,b.each(function(D){S=D._id;var j=k[S]=b.isVisible(D);j!==b._56I[S]&&(E[S]=D,m=b.getDataUI(E[S]),m&&m._84o(j),b._84o(D,j))},b);for(S in E)m=b.getDataUI(E[S]),m&&(!F&&b._56I[S]&&(P=m._79o(),P&&J.add(P)),m.invalidate()),b._83I=1;if(b._56I=k,!F)for(S in E)k[S]&&(m=b.getDataUI(E[S]),m&&(P=m._79o(),P&&J.add(P)));if(F?p=w:(J.each(function(G){jg(w,G)&&(p=Aq(p,G))}),p&&(Bd(p,t(1,1/I)),p.x=Y(p.x*I)/I,p.y=Y(p.y*I)/I,p.width=O(p.width*I)/I,p.height=O(p.height*I)/I,p=Im(w,p))),b._74O=p,p){v=ir(D);var q=p.x,_=p.y,n=p.width,V=p.height;q=Math.floor((q*I+A)*Kr),_=Math.floor((_*I+M)*Kr),n=Math.ceil(n*I*Kr)+1,V=Math.ceil(V*I*Kr)+1,F||(p.x=(q/Kr-A)/I,p.y=(_/Kr-M)/I,p.width=n/Kr/I,p.height=V/Kr/I),v.beginPath(),v.rect(q,_,n,V),v.clip(),v.clearRect(q,_,n,V),Nh(v,A,M,I),b._42(v,p),v.restore(),delete b._74O}if(J.clear(),delete b._32I,T&&u>0&&G>0){var m=b.getDataUI(T);if(m){var P=m._79o(),H=b._29I,C=H.x,e=H.y,d=H.width,o=H.height,I=b._zoom;P&&!jg(P,H)&&(P.x+P.width<C&&b.tx(-P.x*I),P.x>C+d&&b.tx(-(P.x+P.width-d)*I),P.y+P.height<e&&b.ty(-P.y*I),P.y>e+o&&b.ty(-(P.y+P.height-o)*I))}delete b._23I}b._83I&&(delete b._83I,delete b._84I),b._98O(),b.countFrame(),Mb(b._24I)||Lq(b.iv,b)},isValidGuideLineSource:function(){return!0},tryUpdateRootData:function(){if(!this._rootDataUpdating){this._rootDataUpdating=!0;var d,r=this.getFullscreenDatas();for(var o in r)d=r[o],this.scaleRootData(d);this._rootDataUpdating=!1}},scaleRootData:function(a){var W=a.s("fullscreen");if("uniform"===W||"fill"===W){a.getRotation()&&a.setRotation(0);var v=a.s("fullscreen.gap")||0,b=this.getWidth(),c=this.getHeight();if(b&&c){var x,p,G,o=b-2*v,K=c-2*v,m=a.getAnchor(),U=a.getScaledSize(),A=U.width,F=U.height,S=a.s("fullscreen.lock");if(S)return"uniform"===W?o/K>A/F?(x=K/F,A=F*o/K):(x=o/A,F=A*K/o):"v"===S?(x=K/F,A=o/x,a.getWidth()!==A&&a.setWidth(A)):(x=o/A,F=K/x,a.getHeight()!==F&&a.setHeight(F)),this.setZoom(x),p=v-(a.getX()-m.x*A)*x,G=v-(a.getY()-m.y*F)*x,p!==this.tx()&&this.tx(p),G!==this.ty()&&this.ty(G),void 0;p=this.tx(),G=this.ty(),x=this._zoom;var L={x:(-p+v)/x,y:(-G+v)/x,width:o/x,height:K/x};if("uniform"===W){var X=A/F,V=Math.min(L.width,L.height*X),f=V/X;L.x+=.5*(L.width-V),L.y+=.5*(L.height-f),L.width=V,L.height=f}o=L.width/a.getScaleX(),K=L.height/a.getScaleY(),(a.getWidth()!=o||a.getHeight()!==K)&&a.setSize(o,K);var d=L.x+m.x*L.width,Q=L.y+m.y*L.height,y=a.getPosition();(d!==y.x||Q!==y.y)&&a.setPosition(d,Q)}}},isScrollBarVisible:function(){return!!this._79O},setScrollBarVisible:function(Y){var C=this;Y!==C.isScrollBarVisible()&&(Y?(cl(C._view,C._79O=nl()),cl(C._79O,C._27I=nl()),cl(C._79O,C._28I=nl())):(Pk(C._79O),delete C._79O,delete C._27I,delete C._28I),C.fp("scrollBarVisible",!Y,Y))},getDebugTip:function(){return""},showScrollBar:function(){var K=this;K._79O&&(K._85I||(f(function(){K._86I()},vi),K.iv()),K._85I=new Date)},_86I:function(){var c=this;if(c._85I){var I=new Date,W=I.getTime();W-c._85I.getTime()>=vi?(delete c._85I,c.iv()):f(function(){c._86I()},vi)}},getVScrollBar:function(){return this._27I},getHScrollBar:function(){return this._28I},_98O:function(){var i=this,h=this._27I,u=this._28I;if(i._79O){if(i._autoHideScrollBar&&!i._85I)return h.style.visibility=Km,u.style.visibility=Km,void 0;var f=i.getScrollBarColor(),l=i._zoom,z=i.getScrollBarSize(),s=i.getViewRect(),I=i.getScrollRect(),M=s.height*l,K=I.height*l,H=s.width*l-z-2,c=M*((s.y-I.y)*l/K),F=M*(M/K),B=h.style;K-.5>M?(vd>F&&(c=c+F/2-vd/2,0>c&&(c=0),c+vd>M&&(c=M-vd),F=vd),Rj(h,H,c,z,F),B.visibility=cr,B.background=f,B.borderRadius=z/2+eq):B.visibility=Km;var O=s.width*l,g=I.width*l,c=s.height*l-z-2,H=O*((s.x-I.x)*l/g),q=O*(O/g),B=u.style;g-.5>O?(vd>q&&(H=H+q/2-vd/2,0>H&&(H=0),H+vd>O&&(H=O-vd),q=vd),Rj(u,H,c,q,z),B.visibility=cr,B.background=f,B.borderRadius=z/2+eq):B.visibility=Km}},setDataModel:function(w){var G=this,D=G._dataModel,J=G._selectionModel;D!==w&&(D&&(D.ump(G.handleDataModelPropertyChange,G),D.umm(G.handleDataModelChange,G),D.umd(G.handleDataPropertyChange,G),D.removeIndexChangeListener(G._75O,G),D.removeHierarchyChangeListener(G.handleHierarchyChange,G),J||D.sm().ums(G.handleSelectionChange,G)),G._dataModel=w,w.mp(G.handleDataModelPropertyChange,G),w.mm(G.handleDataModelChange,G),w.md(G.handleDataPropertyChange,G),w.addIndexChangeListener(G._75O,G),w.addHierarchyChangeListener(G.handleHierarchyChange,G),J?J._21I(w):w.sm().ms(G.handleSelectionChange,G),G.invalidateAll(!0),G.fp(zc,D,w),G.updateBackground())},getLayersInfo:function(){if(this._layersInfo===a){var g=this.getLayers();g?(this._layersInfo={},g.forEach(function(W){var k=Dl(W)?W.name:W;this._layersInfo[k]=W},this)):this._layersInfo=null}return this._layersInfo},calculateEdgePosition:function(w,q,a){var e,X,Y=this,f=Y.getDataUI(w),l=Zc(f),G=Ph(q,function(f){return sh(l,100*f)},100,.001),R=sh(l,100*G);if(!a){var j=Zk(f),i=new ld(R.x,R.y),S=49/(Y._zoom*Y._zoom);for(e=0,X=j.length;X>e;e++)if(i.distanceToSquared(j[e])<S)return{index:e,point:j[e],distance:Math.sqrt((j[e].x-q.x)*(j[e].x-q.x)+(j[e].y-q.y)*(j[e].y-q.y))}}return{percent:G,point:R,distance:Math.sqrt((R.x-q.x)*(R.x-q.x)+(R.y-q.y)*(R.y-q.y))}},calculateAttachPoint:function(){var x=new ld,i=new ld,l=new ld;return function(T,k){var C=this.getAttachPoints(T);if(!C||!C.length)return null;l.set(k.x,k.y);for(var X,h,y,M,B=1/0,n=0,p=C.length;p>n;n++)y=C[n],i.x=y.x,i.y=y.y,x.x=y.offsetX||0,x.y=y.offsetY||0,M=Lb(this,T,0,x.x,x.y,i.x,i.y),h=l.distanceToSquared(M),B>h&&(X=n,B=h);B=Math.sqrt(B);var I=this.getAttachStyle(T);if("close"===I){var J=T.s("attach.close.threshold")/this._zoom;if(B>J)return null}return{index:X,distance:B,info:C[X]}}}(),getAttachPoints:function(r){var L=r.s("attach.points");if(L)return L;var b=Kg(r._image);return b?jc(b.attachPoints,r,this)||null:void 0},getAttachStyle:function(e){var o=e.s("attach.style");if(o)return o;var E=Kg(e._image);return E?jc(E.attachStyle,e,this)||"close":void 0},updateLayers:function(){this._layersInfo=a,this.invalidateSelection(),this.redraw()},updateBackground:function(){var Q=this.dm().a("width"),P=this.dm().a("height");this._canvas.style.background=Q>0&&P>0?"":this.dm().getBackground()||""},handleDataModelPropertyChange:function(C){if("background"===C.property){var P=this._canvas.style.background,G=C.newValue||"";this.updateBackground(),this.fp("canvasBackground",P,G),this.redraw()}else"a:width"===C.property||"a:height"===C.property?(this._83I=1,this.updateBackground(),this.redraw()):"layers"===C.property?this.updateLayers():"hierarchicalRendering"===C.property&&this.redraw()},handleDataPropertyChange:function(n){this.dm().isHierarchicalRendering()&&"parent"===n.property&&n.data.hasChildren()&&this.redraw(),this.invalidateData(n.data)},onPropertyChanged:function(z){var B=this,p=z.property;if(B.redraw(),"zoom"===p){var C=B.sm().getSelection();C.size()&&C.each(function(t){t.invalidate()})}else"dataModel"===p&&(B._83I=1);Th[p]?B.showScrollBar():p===ce&&B.onCurrentSubGraphChanged(z)},onCurrentSubGraphChanged:function(){this.sm().cs(),this.reset()},handleDataModelChange:function(P){var D=this,v=P.kind,I=P.data;if(D._83I=1,"add"===v)D.invalidateData(I),zm(I)&&I.getEdgeGroup()&&I.getEdgeGroup().eachSiblingEdge(D.invalidateData,D);else if(v===Jd){D._21Q(I);var a=I._id,o=D._25I[a];if(o){if(D._56I[a]){var K=o._79o();K&&D.redraw(K)}o.dispose(),delete D._25I[a],delete D._24I[a],delete D._56I[a]}I===D._currentSubGraph&&D.setCurrentSubGraph(J)}else v===Po&&(D.invalidateAll(!0),D.setCurrentSubGraph(J))},_75O:function(Q){this.invalidateData(Q.data)},handleHierarchyChange:function(P){this.dm().isHierarchicalRendering()&&P.data.hasChildren()&&this.redraw(),this.invalidateData(P.data)},adjustIndex:function(G){var r=this;if(r.isVisible(G)){r.dm().beginTransaction();for(var i=G;i._parent&&r.isVisible(i._parent);)i=i._parent;i&&i!==G&&r._dataModel.adjustIndex(i),r._dataModel.adjustIndex(G),r.dm().endTransaction()}},getImage:function(L){return L.getImage?L.getImage():a},getSelectWidth:function(e){var m=Kg(this.getImage(e));return m&&jc(m.disableSelectedBorder,e,this)?0:e.s("select.width")},getSelectColor:function(A){return A.s("select.color")},isSelectable:function(c,Q){if(this.isSelected(c))return!0;if(!Q&&c.getParent()instanceof Ff&&this.isSelectable(c.getParent(),!0)&&c.getParent().isSyncSize())return!1;var f=this.getLayersInfo();if(f){var s=f[c._layer];if(s&&s.selectable===!1)return!1}return c.s("2d.selectable")&&this.sm().isSelectable(c)},isMovable:function(R){var Y=this;if(zm(R)&&R.getStyle(kb)!==Fq)return!1;var a=this.getLayersInfo();if(a){var s=a[R._layer];if(s&&s.movable===!1)return!1}return R.s("2d.movable")?Y._movableFunc?Y._movableFunc(R):!0:!1},isEditable:function(G){var g=this;if(K._uiSerializing)return g._uieditable;if(!g._editInteractor||!g.isSelected(G))return!1;if(id(G)){var h=g.getDataUI(G);if(!h||h._88I)return!1}if(zm(G)&&G.getStyle(kb)!==Fq)return!1;var B=this.getLayersInfo();if(B){var o=B[G._layer];if(o&&o.editable===!1)return!1}return G.s("2d.editable")?g._editableFunc?g._editableFunc(G):!0:!1},handleDelete:function(){this._editInteractor&&(this._editInteractor.handleDelete?this._editInteractor.handleDelete():this.removeSelection())},isPointEditable:function(k){return lm(k)&&0!==k.getRotation()?!1:this._pointEditableFunc?this._pointEditableFunc(k):!0},isRectEditable:function(o){return this._rectEditableFunc?this._rectEditableFunc(o):!0},isAnchorEditable:function(j){return this._anchorEditableFunc?this._anchorEditableFunc(j):!0},isRotationEditable:function(a){return a.setRotation&&a.IRotatable!==!1?this._rotationEditableFunc?this._rotationEditableFunc(a):!0:!1},isSourceTargetEditable:function(){return!0},getRotationPoint:function(r){var A=r.getAnchor(),n=r.getScale(),u=this._zoom,b=Xn(r.getRotation(),0,-r.getHeight()*n.y*A.y-(n.y<0?-1:1)*(Gm?32:16)/u),G=r.p();return b.x+=G.x,b.y+=G.y,b},getLogicalPoint:function(G){var g=this;return xn(G,g._canvas,g.tx(),g.ty(),g._zoom,g._zoom)},getScreenPoint:function(c,U){var H,b=this;return"object"==typeof c?c.x!==a?(H=c.x,U=c.y):(H=c[0],U=c[1]):H=c,Em(H,U,b._canvas,b.tx(),b.ty(),b._zoom,b._zoom)},getSelectedDataAt:function(X){var I=this;return this.getDataAt(X,function(W){return I.isSelected(W)})},getDataInfoAt:function(I,X,j){var c,O=this.lp(I),t=this.getDataAt(O,X,j);if(t){var i=this.getDataUI(t);c={data:t,ui:i,point:O};var b=i._38o;if(b){var P=b.icons;for(var B in P){var V=P[B],$=b.rects[B];if($)for(var g=jc(V.names,t,this),z=g?g.length:0,A=$.rotation,e=z-1;e>=0;e--){var u=g[e],K=$[e];if(Cs(K,O,A))return c.part="icons",c.name=B,c.icon=u,c.rect=K,c.index=e,c.rotation=A,c}}}if(this.isNoteVisible(t)){if(i.note2Info&&Cs(i.note2Info.clickRect,O,J,i.note2Info.scale))return c.part="note2",c;if(i.noteInfo&&Cs(i.noteInfo.clickRect,O,J,i.noteInfo.scale))return c.part="note",c}if(this.isLabelVisible(t)){if(i.label2Info&&Cs(i.label2Info.rect,O,i.label2Info.rotation,i.label2Info.scale))return c.part="label2",c;if(i.labelInfo&&Cs(i.labelInfo.rect,O,i.labelInfo.rotation,i.labelInfo.scale))return c.part="label",c}if(t.isInRect&&t.isInRect(O))return c.part="body",c}return c},getDataAt:function(q,U,I){q.target&&(q=this.lp(q));var Z,C=this._zoom;return this.reverseEach(function(b){return(U?U(b):this.isSelectable(b))&&this.rectIntersects(b,ui(q.x,q.y,I,C))?(Z=b,!1):void 0},this),Z},getIconInfoAt:function($,V){var r=this;if($.target&&($=r.lp($)),V||(V=r.getDataAt($)),V){var c=r.getDataUI(V);if(c&&c._38o){var o,u=c._38o,v=new Sl;for(o in u.icons)v.add(o);for(var E=v.size()-1;E>=0;E--){o=v.get(E);for(var z=u.rects[o],q=z.rotation,x=z.length-1;x>=0;x--){var A=z[x],U=A.width,m=A.height,w={x:$.x-A.x-U/2,y:$.y-A.y-m/2};q!=J&&(w=Xn(-q,w.x,w.y));var A={x:-U/2,y:-m/2,width:U,height:m};if(Cs(A,w))return{key:o,index:x,name:u.icons[o].names[x],rect:z[x],point:$,rotation:q,relativeRect:A,relativePoint:w,data:V}}}}}return J},getDatasInRect:function(V,t,R){R===a&&(R=1);var u=this,h=new Sl;return u.reverseEach(function(E){R&&!u.isSelectable(E)||(t?u.rectIntersects(E,V):u.rectContains(E,V))&&h.add(E)}),h},moveSelection:function(D,C){var Z=this;Z.dm().beginTransaction(),yd(Z.sm().toSelection(Z.isMovable,Z),D,C),Z.dm().endTransaction()},moveDatas:function(D,a,h){var W=this;W.dm().beginTransaction(),D instanceof Sl||(D=new Sl(D)),yd(D,a,h),W.dm().endTransaction()},getDataUIBounds:function(B){var N=this.getDataUI(B);return N?N._79o():J},drawData:function(N,p,H){var i=this.getDataUI(p);
|
||
if(i){var k=i._79o();(!H||jg(H,k))&&(i._42(N),p instanceof K.Block&&p.eachChild(function(V){this.drawData(N,V,H)},this))}},getBoundsForGroup:function(P){return P.s(fj)?this.getDataUIBounds(P):J},isPixelPerfect:function(t){return t.s("pixelPerfect")},rectIntersects:function(p,F){this.validate();var t=J;if(this._56I[p._id]){var O=this._25I[p._id];if(O){var D=O._79o();if(re(F,D))t=!0;else if((F=Im(F,D))&&(O.rectIntersects&&(t=O.rectIntersects(F)),t==J)){if(!this.isPixelPerfect(p))return!0;var n=F.x,T=F.y,s=F.width,x=F.height,e=this._zoom,u=_.hitMaxArea,o=s*x*e*e;if(o>u){var $=Math.sqrt(u/o);e*=$}s*=e,x*=e,2>s&&(s=2),2>x&&(x=2),n*=e,T*=e;var V=Vh(s,x);ee(V,-n,-T),V.scale(e,e),this._drawForChecking=!0,this.drawData(V,p,F),this._drawForChecking=!1;try{for(var Z=0,f=V.getImageData(0,0,s,x).data;Z<f.length;Z+=4)if(0!==f[Z+3]){t=!0;break}V.restore()}catch(d){ek=J,t=!1}}}}return t?!0:!1},rectContains:function(e,l){if(this._56I[e._id]){var O=this._25I[e._id];if(O)return re(l,O._79o())}return!1},reset:function(){this.setZoom(1),this.setTranslate(0,0)},handleKeyDown:function(l){if(!_.isInput(l.target)){var x=this,e=x._focusData,z=e&&x._25I[e._id],j=0,a=x._dataModel._datas;if(!(e&&e._enabled&&e._editable&&z&&z.onKeyDown&&z.onKeyDown(l)===!0))if(9===l.keyCode&&(e&&(j=a.indexOf(e),Bc(l)?-1===--j&&(j=0):++j===a.size()&&(j=0)),x._focusData=e=a.get(j),x.sm().setSelection(e)),xg(l)?x.selectAll():Mp(l)&&x.isResettable()&&x.reset(),x.sm().isEmpty()){if(x._editing)return;var C=x.tx(),Y=x.ty(),w=!1,d=Bc()?100:10;Ni(l)&&(C-=d,w=!0),Fr(l)&&(Y-=d,w=!0),Yl(l)&&(C+=d,w=!0),Rh(l)&&(Y+=d,w=!0),w&&x.setTranslate(C,Y)}else{xj(l)&&x.handleDelete(l);var H=Bc()?10:1;Ni(l)&&(x.moveSelection(-H,0),x.fi({kind:"moveLeft"})),Fr(l)&&(x.moveSelection(0,-H),x.fi({kind:"moveUp"})),Yl(l)&&(x.moveSelection(H,0),x.fi({kind:"moveRight"})),Rh(l)&&(x.moveSelection(0,H),x.fi({kind:"moveDown"}))}}},handleScroll:function(G,j){if(nm(G),this.isZoomable()){if(!this.getEditInteractor()){var X=this.getDataAt(G);if(X){var i=Kg(this.getImage(X));if(i&&jc(i.scrollable,X,this))return}}var V=this.lp(G);j>0?this.scrollZoomIn(V):0>j&&this.scrollZoomOut(V)}},handlePinch:function(s,V,A){this.isZoomable()&&(V>A?this.pinchZoomIn(s):this.pinchZoomOut(s))},checkDoubleClickOnNote:function(M,q){var w=this,T=w.lp(M),W=w.getDataUI(q),f=W.note2Info;return f&&q.s("note2.toggleable")&&Cs(f.clickRect,T)?(q.s(bk,!q.s(bk)),w.fi({kind:"toggleNote2",event:M,data:q}),!0):(f=W.noteInfo,f&&q.s("note.toggleable")&&Cs(f.clickRect,T)?(q.s(jb,!q.s(jb)),w.fi({kind:"toggleNote",event:M,data:q}),!0):!1)},_84o:function(){},isNoteVisible:function(){return this._zoom>.15},isLabelVisible:function(){return this._zoom>.15},isEditVisible:function(){return this._zoom>.15},autoScroll:function(F,z){var E=this,e=E.getAutoScrollZone(),k=e/E.getZoom(),S=e/4,o=E._29I,$=E.lp(F),D={x:E.tx(),y:E.ty()};return $&&e>0&&o&&($.x-o.x<k?E.translate(S,0):o.x+o.width-$.x<k&&E.translate(-S,0),$.y-o.y<k?E.translate(0,S):o.y+o.height-$.y<k&&E.translate(0,-S)),D.x=E.tx()-D.x,D.y=E.ty()-D.y,z&&(z.x+=D.x,z.y+=D.y),D},getMoveMode:function(y,G){var I=G.s("2d.move.mode");return I?I:qg["88"]?"x":qg["89"]?"y":"xy"},getSerializableProperties:function(){return{scrollBarColor:1,scrollBarSize:1,autoMakeVisible:1,autoHideScrollBar:1,editable:1,resettable:1,pannable:1,rectSelectable:1,autoScrollZone:1,visibleFunc:1,movableFunc:1,editableFunc:1,pointEditableFunc:1,rectEditableFunc:1,anchorEditableFunc:1,rotationEditableFunc:1,rectSelectBackground:1,rectSelectBorderColor:1,editPointSize:1,editPointBorderColor:1,editPointBackground:1,hoverDelay:1,dataModel:1,selectionModel:1,currentSubGraph:1,zoom:1,translateX:1,translateY:1}},serializeProperty:function(B,J,A){var x=this;return"currentSubGraph"===J?{__i:B.getId()}:A.serializeProperty(B,J,x)},deserializeProperty:function(d,z,c){var g=this;if("currentSubGraph"===z){var Q=g.dm(),m=Q.__idMap;return m[d.__i]}return c.deserializeProperty(d,z,g)},setDefaultCursor:function(m,r){this._defaultCursor=m,r!==!1&&this.setCursor(m)},setCursor:function(s){"default"===s&&(s=this._defaultCursor||s);var v=this.getView().style;v.cursor=s,v.cursor="-webkit-"+s,v.cursor="-moz-"+s},getCurrentConnectActionType:function(){return this._currentActionType},setCurrentConnectActionType:function(W){return W===J||_.getConnectAction(null,W)?(this._currentActionType=W,this.redraw(),!0):!1},getEditStyle:function(d){var v=this.getEditInteractor();return v?v.getStyle(d):a},setEditStyle:function(x,e,f){var d=this.getEditInteractor();return d?(d.setStyle(x,e,f),!0):!1},isConnectActionVisible:function(b){var v=_.getConnectAction(this);if(!v)return!1;var E=v.visible;return Gl(E)&&(E=E(this,b)),E},isInteractive:function(P){var s=Kg(this.getImage(P));return s&&jc(s.interactive,P,this)?!0:P.s("interactive")},appendHTML:function(A,X){var k=this.getView();if(!(X||A&&A.parentNode!==k))return!1;var F=A.getView&&A.getView();if(!X&&F&&F.parentNode===k)return!1;(A.getView||A.isSelfViewEvent)&&(A=A.getView());var V=this.getEditInteractor();return V&&V._canvas?k.insertBefore(A,V._canvas):this.isScrollBarVisible()?k.insertBefore(A,this.getView().lastChild):cl(k,A),!0},_layoutHTMLImpl:function(A,P,B){if(arguments.length>1){var U,L=this,h=L._zoom;if(P.getView&&(U=P,P=P.getView()),P.style.position="absolute",B){var T=A.getRect();Rj(U||P,L.tx()+T.x*h,L.ty()+T.y*h,T.width*h,T.height*h)}else{var r=new Tp,T=A.getAnchorRect(),N=A.getPosition(),f=A.getScale(),O=P.style;Rj(U||P,T),r.appendTranslate(L.tx(),L.ty()),r.appendScale(h,h),r.append(new Tp(A.getRotation(),N.x,N.y,f.x,f.y)),tf(O,"transform","matrix("+r.a.toFixed(5)+", "+r.b.toFixed(5)+", "+r.c.toFixed(5)+",\n "+r.d.toFixed(5)+", "+r.tx.toFixed(5)+", "+r.ty.toFixed(5)+")"),tf(O,"transformOrigin",(-T.x).toFixed(5)+"px "+(-T.y).toFixed(5)+"px"),P.updateAppendMatrix=!0}}else this._layoutHTML&&this._layoutHTML()},getTextEditInfo:function(a){return a instanceof Cg?{name:"text",accessType:"s",isMultiline:!1}:void 0},getState:function(k){var Q="state",L=k.s(Q);if(L)return L;var F=Kg(k._image);return F?jc(F[Q],k,this)||null:void 0}}),F.defineProperties(gf.GraphView.prototype,{layoutHTML:{get:function(){return this._layoutHTMLImplBind||(this._layoutHTMLImplBind=this._layoutHTMLImpl.bind(this)),this._layoutHTMLImplBind},set:function(e){this._layoutHTML=e}}});var we=function(O,I){var Z=this;Z.gv=O,Z.s=function(G){return I.getStyle(G)},Z._data=I,Z._87I=new Sl};Be(we,F,{_6I:J,ms_icons:1,_84o:function(){},dispose:function(){},isShadowed:function(){return this.s("shadow")||this.gv.isSelected(this._data)&&"shadow"===this.s("select.type")},getSelectWidth:function(){var J=this,Y=J.gv.isSelected(J._data);return!Y||J.isShadowed()?0:J.gv.getSelectWidth(J._data)},getSelectColor:function(){return this.gv.getSelectColor(this._data)},getBodyColor:function(g){var O=this._data,x=this.gv.getBodyColor(O);return x?x:g?O.getStyle(g):J},_2Q:function(p){return this.s(p)},_1Q:function(t,m,O,S){var B=this.s,x=B("2d.gray"),F=B(m+".dash.color");if(x&&(F=_.toGrayColor(F)),t.strokeStyle=F,t.lineWidth=O,t.stroke(),B(m+".dash.3d")){var R=B(m+".dash.3d.color");Fe(t,F,x?_.toGrayColor(R):R,O,this.gv._zoom,B(m+".dash.3d.accuracy"))}qb(t,S)},invalidate:function(){this._6I=J},_79o:function(){var N=this;if(!N._6I){var X=N._data,o=N.gv;N.labelInfo=N.label2Info=N.noteInfo=N.note2Info=N._38o=J,N._87I.clear(),N.interactiveInfo=o.isInteractive(X)?{}:J,N._3O(),N._55O=o.isEditable(X)?{_42O:o.isRectEditable(X),_43O:o.isPointEditable(X),_56O:o.isRotationEditable(X)}:J,N._6I=N._81o()}return N._6I},_3O:function(){},getPosition:function(){return rm},_68o:function(L,f){L&&this._87I.add(Tf(L,f))},_81o:function(){var E=this,K=E.s;E._24O(El,"getLabel"),E._24O($o,"getLabel2"),E._26O(zs,"getNote"),E._26O(Mg,"getNote2"),E._15O(),E._55O&&E._48O();var W;if(E._87I.each(function(v){W=Aq(W,v)}),W&&E.isShadowed()){var k=Ej(W);k.x+=K("shadow.offset.x"),k.y+=K("shadow.offset.y"),Bd(k,K("shadow.blur")),W=Aq(W,k)}return E._87I.clear(),W},_42:function(S){var H=this,O=H._data,K=H.gv,x=H.s,W=x("opacity"),Z=this.isShadowed();if(Z){var T=S.shadowOffsetX,j=S.shadowOffsetY,n=S.shadowBlur,M=S.shadowColor,p=K.getZoom();S.shadowOffsetX=x("shadow.offset.x")*p,S.shadowOffsetY=x("shadow.offset.y")*p,S.shadowBlur=x("shadow.blur")*p,S.shadowColor=H.getSelectColor()}if(W!=J){var o=S.globalAlpha;S.globalAlpha=W}H._80o(S),K.isLabelVisible(O)&&((!K._drawForChecking||x("label.selectable"))&&Dg(S,H.labelInfo),(!K._drawForChecking||x("label2.selectable"))&&Dg(S,H.label2Info)),K.isNoteVisible(O)&&(lk(S,H.noteInfo),lk(S,H.note2Info)),H._99O(S),W!=J&&(S.globalAlpha=o),Z&&(S.shadowOffsetX=T,S.shadowOffsetY=j,S.shadowBlur=n,S.shadowColor=M)},_80o:function(){},_47O:function(){},_24O:function(V,j){var p=this,U=p._data,R=p.gv,Z=p.s,w=R[j](U);if(w!=J){var _=Z(V+".scale"),S=Z(V+".max"),Q=Z(V+".position"),t=p[V+"Info"]={label:w,scale:_,color:R[j+"Color"](U),font:Z(V+".font"),opacity:Z(V+".opacity"),align:Z(V+".align"),rotation:p.getRotation(Z(V+".rotation"),!1,Q),background:R[j+"Background"](U)},G=Db(t,w);S>0&&S<G.width&&(t.labelWidth=G.width,G.width=S),1!==_&&(G.width*=_,G.height*=_);var q=p.getPosition(Q,Z(V+".offset.x"),Z(V+".offset.y"),G,Z(V+".position.fixed"));if(G.x=q.x-G.width/2,G.y=q.y-G.height/2,p._68o(t.rect=G,t.rotation),1!==_){var $=G.width/_,E=G.height/_;t.rect={x:q.x-$/2,y:q.y-E/2,width:$,height:E}}}},_26O:function(W,F){var c=this,K=c.gv,C=c._data,y=c.s,p=K[F](C);if(p!=J){var o,M,f=y(W+".scale"),g=c[W+"Info"]={note:p,scale:f,data:C,view:K,expanded:y(W+".expanded"),font:y(W+".font"),color:y(W+".color"),opacity:y(W+".opacity"),align:y(W+".align"),icon:y(W+".icon"),backgroundImage:y(W+".backgroundImage"),borderWidth:y(W+".border.width"),borderColor:y(W+".border.color"),background:K[F+"Background"](C)},k=c.getPosition(y(W+".position"),y(W+".offset.x"),y(W+".offset.y")),G=k.x,Z=k.y;if(g.expanded){var X,v=y(W+".max"),s=y(W+".backgroundImage");s?(s=Kg(s),X={width:vj(s,C),height:Cj(s,C)}):X=Db(g,p),X.width+=6,X.height+=2,v>0&&v<X.width&&(g.labelWidth=X.width,X.width=v),o=X.width,M=X.height+8,g.clickRect={x:G-o*f/2,y:Z-M*f,width:o*f,height:M*f*X.height/M}}else{var t=y(W+".icon");t?(t=Kg(t),o=vj(t,C),M=Cj(t,C)):(o=12,M=18),g.clickRect={x:G-o*f/2,y:Z-M*f,width:o*f,height:M*f}}g.rect={x:G-o/2,y:Z-M*f/2-M/2,width:o,height:M};var q=O(g.borderWidth/2)*f;c._68o({x:G-o*f/2-q,y:Z-M*f-q,width:o*f+2*q,height:M*f+2*q})}},_48O:function(){},_99O:function(p){var r=this,q=r._38o;if(q){var W=r.gv,P=r._data,x=q.icons,u=r.interactiveInfo;u&&(u._38o={});for(var S in x){var H=x[S],b=q.rects[S];if(b){u&&(u._38o[S]=[]);var s=jc(H.opacity,P,W),w=jc(H.names,P,W),R=w?w.length:0,U=b.rotation;if(s!=J){var o=p.globalAlpha;p.globalAlpha*=s}for(var j=0;R>j;j++){var N=w[j],i=Kg(N),m=b[j];if(U){var g=m.x+m.width/2,F=m.y+m.height/2;p.save(),ee(p,g,F),sd(p,U),ee(p,-g,-F)}u&&u._38o[S].push(p.interactiveInfo={compInfos:[],matrix:U?new Tp(U,g,F).appendTranslate(-g,-F):new Tp}),jl(p,i,jc(H.stretch,P,W),m.x,m.y,m.width,m.height,r._data,r.gv),p.interactiveInfo=J,U&&p.restore()}s!=J&&(p.globalAlpha=o)}}}}});var gn=function(H,k){mb(gn,this,[H,k])};Be(gn,we,{_checkEmptyRect:!0,_40O:function(X,E){var V=this,q=V.s,k=X.rect;(X.borderColor=V.gv.getBorderColor(V._data))&&(X.borderType=q("border.type"),X.borderWidth=q("border.width"),X.borderPadding=q("border.padding"),E=t(E,X.borderPadding+X.borderWidth/2));var r=V._data.getScale(),O=t(1,t(x(r.x),x(r.y)));if(X.selectWidth=V.getSelectWidth()){var S=V.gv._zoom;X.selectType=q("select.type"),X._97o=V.getSelectColor(),X.selectPadding=q("select.padding"),E=t(E,(X.selectPadding+X.selectWidth/2/S)/O)}E>0&&(E*=O,k=Ej(k),Bd(k,E)),V._68o(k)},_39O:function(O,X){var m,C=this,b=X.rect;if(X.borderWidth>0&&(m=X.borderPadding,O.strokeStyle=X.borderColor,O.lineWidth=X.borderWidth,ts(O,X.borderType,{x:b.x-m,y:b.y-m,width:b.width+2*m,height:b.height+2*m}),O.stroke()),X.selectWidth>0){var l=C.gv._zoom;if(m=X.selectPadding,O.strokeStyle=X._97o,O.lineWidth=X.selectWidth/l,X.rotation!=J){O.save(),O.translate(X.position.x,X.position.y),O.rotate(X.rotation);var p=C._data,W=p.getWidth(),Q=p.getHeight(),c=X.scale,f=X.anchor;b={x:c.x*-W*f.x,y:c.y*-Q*f.y,width:c.x*W,height:c.y*Q}}ts(O,X.selectType,{x:b.x-m,y:b.y-m,width:b.width+2*m,height:b.height+2*m}),X.rotation!=J&&O.restore(),O.stroke()}},dispose:function(){var v=this,Y=v._htmlView;gn.superClass._3O.call(v),Y&&(Y.onHTMLRemoved&&Y.onHTMLRemoved(),Pk(Y))},_3O:function(){var h=this,I=h.s,s=h._data,M=h.gv,D=s.getStyle(gg),C=h.getBodyColor(),z=h._83o=D?{shape:D,_53o:h.getBodyColor("shape.background"),_27Q:Kg(I("shape.repeat.image"),C),shapeGradientPack:I("shape.gradient.pack"),_54o:I("shape.border.width"),_55o:I("shape.border.color"),_56o:I("shape.border.3d"),_57o:I("shape.border.3d.color"),_58o:I("shape.border.3d.accuracy"),shapeGradient:I("shape.gradient"),_59o:I("shape.gradient.color"),_60o:I("shape.border.pattern"),_61o:I("shape.border.cap"),_62o:I("shape.border.join"),shapeForeground:I("shape.foreground"),bodyColor:C,gray:I("2d.gray")}:{img:Kg(M.getImage(s),C),bodyColor:C,gray:I("2d.gray"),stretch:I("image.stretch")};if(j&&!V);else{var u,A=z.img;A&&A.renderHTML?(h._htmlInfo&&h._htmlInfo.img!==A&&(h._htmlInfo=J),h._htmlInfo||(h._htmlInfo={img:A,cache:{}}),u=A.renderHTML(s,M,h._htmlInfo.cache)):h._htmlInfo=J,h._htmlView&&h._htmlView!==u&&(h._htmlView.onHTMLRemoved&&h._htmlView.onHTMLRemoved(),Pk(h._htmlView.getView?h._htmlView.getView():h._htmlView)),(h._htmlView=u)&&M.appendHTML(u)&&(u.onHTMLAddedSync&&u.onHTMLAddedSync(),u.onHTMLAdded&&Lq(u.onHTMLAdded)),z.rect=s.getRect(),z.position=s.p(),z.scale=s.getScale(),z.anchor=s.getAnchor(),z.rotation=s.getRotation(),D===Ak&&(z._63o=I("shape.depth"));var U=0;if(D)U=ni(J,z._54o/2,z._62o),h.s("shape.dash")&&(U=t(U,(h.s("shape.dash.width")||z._54o)/2));else if(A&&A.boundExtend)if(U=jc(A.boundExtend,s,M),A.boundExtendAbsolute){var q=s.getScale();U/=M._zoom*t(1,t(x(q.x),x(q.y)))}else if(!jc(A.fitSize,s,M)){var m=jc(A.width,s,M),O=jc(A.height,s,M);U*=t(s.getWidth()/m,s.getHeight()/O)}h._40O(z,U);var g=I("clip.percentage");if(1>g&&(0>g&&(g=0),z.clipRect=db(s.getAnchorRect(),I("clip.direction"),g)),D){var o=I("shape.fill.clip.percentage");1>o&&(0>o&&(o=0),z.shapeClipRect=db(s.getAnchorRect(),I("shape.fill.clip.direction"),o));var y=I("shape.foreground.clip.percentage");1>y&&(0>y&&(y=0),z.shapeForegroundClipRect=db(s.getAnchorRect(),I("shape.foreground.clip.direction"),y))}}},getPosition:function(J,H,b,d){var t=aj(J,this._83o.rect,d);return t.x+=H,t.y+=b,t},_80o:function(O){var C=this,k=C.s,V=C.gv,Z=C._data,o=C._83o,s=o.rect,u=o.position,B=o.rotation,X=o.anchor,a=o.scale,q=o.shape,K=o.clipRect;if(!C._checkEmptyRect||s.width>0&&s.height>0){var $=Z.getSize();if($.x=-$.width*X.x,$.y=-$.height*X.y,O.save(),ee(O,u.x,u.y),sd(O,B),xm(O,a.x,a.y),K&&(O.beginPath(),O.rect(K.x,K.y,K.width,K.height),O.clip()),V._drawForChecking&&o.img&&jc(o.img.pixelPerfect,Z,V)===!1)ao(O,$.x,$.y,$.width,$.height,"#888888");else if(C.freeDraw)C.freeDraw(O,$,o);else if(q){var A,e,L,y,l=o._60o,r=Wp(O,l),R=o._27Q,n=o._54o,d=o.shapeGradientPack,H=o.gray,b=O.lineJoin,g=O.lineCap,W=function(n){return H?_.toGrayColor(n):n};"roundRect"===q?A=k("shape.corner.radius"):"polygon"===q?A=k("shape.polygon.side"):"arc"===q&&(A=k("shape.arc.from"),e=k("shape.arc.to"),L=k("shape.arc.close"),y=k("shape.arc.oval")),O.lineJoin=o._62o,O.lineCap=o._61o;var t=W(o._53o);if(t||R||d){var Y=o.shapeClipRect;Y&&(O.save(),O.beginPath(),O.rect(Y.x,Y.y,Y.width,Y.height),O.clip()),ts(O,q,$,A,e,L,y),d?Dp(O,d):R?zo(O,R,W(o.bodyColor),null,Z,V):Ep(O,t,o.shapeGradient,W(o._59o),$),O.fill(),Y&&O.restore(),d&&O.restore(),O!==r&&ts(r,q,$,A,e,L,y)}else ts(r,q,$,A,e,L,y);var T=o.shapeForeground;if(T){O.save();var m=o.shapeForegroundClipRect;m&&(O.beginPath(),O.rect(m.x,m.y,m.width,m.height),O.clip()),ts(O,q,$,A,e,L,y),Ep(O,T,k("shape.foreground.gradient"),W(k("shape.foreground.gradient.color")),$),O.fill(),O.restore()}if(n>0){var P=k("shape.border.width.absolute");P&&(O.save(),O.setTransform(1,0,0,1,0,0)),O.lineWidth=n;var U=W(o._55o);O.strokeStyle=U,O.stroke(),P&&O.restore(),o._56o&&Fe(O,U,W(o._57o),n,V._zoom,o._58o)}if(qb(O,l),k("shape.dash")){var z=k("shape.dash.width")||n;if(z>0){l=k("shape.dash.pattern");var r=Wp(O,l,C._2Q("shape.dash.offset"));r!==O&&ts(r,q,$,A,e,L,y),C._1Q(O,"shape",z,l)}}En(O,t,o._63o,$),O.lineJoin=b,O.lineCap=g}else{var E=C.interactiveInfo;E&&(O.interactiveInfo=E.bodyInfo={compInfos:[],matrix:new Tp(B,u.x,u.y,a.x,a.y)}),o.gray&&(O.compGray=!0);var I=o.img;I&&I.cacheRule!=J&&(I=Wk(O,I,o.stretch,$.width,$.height,Z,V,o.bodyColor)),jl(O,I,o.stretch,$.x,$.y,$.width,$.height,Z,V,o.bodyColor),O.compGray=!1,O.interactiveInfo=J}O.restore()}C._39O(O,o)},_48O:function(){},_47O:function(){}});var vm=function(V,h){mb(vm,this,[V,h])},Jk=function(f,n,r,k){var K=Kk(f,n);return r=k?g(r,K):fe(r,K),K?r/=K:r=0,{x:f.x+(n.x-f.x)*r,y:f.y+(n.y-f.y)*r}};Be(vm,we,{_3O:function(){var F,o=this,I=o._data,A=o.gv,W=o.s,f=W(kb),c=I.isLooped(),l=W("edge.width"),B=W("edge.center"),q=W("edge.offset"),$=A.getBorderColor(I),V=$?W("border.width"):0,U=o.getSelectWidth(),Q=I._40I,H=I._41I,p=o._78o=Q&&H?{looped:c,type:f,width:l,center:B,color:o.getBodyColor("edge.color"),borderColor:$,borderWidth:V,_97o:U?o.getSelectColor():J,selectWidth:U,pattern:W("edge.pattern"),cap:W("edge.cap"),join:W("edge.join"),is3d:W("edge.3d"),_67o:W("edge.3d.color"),_66o:W("edge.3d.accuracy"),gray:W("2d.gray")}:J;if(p){var E=_.getEdgeType(f);if(E){var Y=E(I,Hn(o,A,I,c,f),A,o._19Q);Y.points&&Y.points.size()>1?(p.edgeTypeInfo=Y,F=Ih(p.edgeTypeInfo.points)):Y[Ll]&&Y.rect&&(p.edgeTypeInfo=Y,F=Y.rect)}else{var b=W("edge.source.anchor.x"),L=W("edge.source.anchor.y"),n=W("edge.target.anchor.x"),y=W("edge.target.anchor.y"),x=Jf(A,I,"source"),j=Jf(A,I,"target");if(f===Fq){var u=p.points=W(Sq)||kd,s=u.size();p.segments=W("edge.segments");var e=b!==a||L!==a||zm(Q),M=n!==a||y!==a||zm(H);if(!B)if(q)e||(x=Jk(x,s?u.get(0):j,q,s)),M||(j=Jk(j,s?u.get(s-1):x,q,s));else{var G;e||(G=_c(x,s?u.get(0):j,wi(A,Q)),G&&(x={x:G[0],y:G[1]})),M||(G=_c(s?u.get(s-1):x,j,wi(A,H)),G&&(j={x:G[0],y:G[1]}))}F=Aq(Ih(p.points),Ih(x,j))}else{var r=Hn(o,A,I,c,f);if(o._19Q||(r=-r),c)x=Ej(x),x.x=A.getNodeRect(Q).x,p.radius=r,F={x:x.x-r,y:x.y-r,width:2*r,height:2*r};else{var z=Kk(x,j),T=fe(q,z),i={x:T,y:r},k={x:z-T,y:r},R=v(j.y-x.y,j.x-x.x),O=p.mat=new Qq(R);if(p.orienAngle=R,p.angle=j.x<x.x?R+X:R,p.rect={x:i.x,y:i.y,width:k.x-i.x,height:0},p.origin=x,i=O.tf(i),i.x+=x.x,i.y+=x.y,k=O.tf(k),k.x+=x.x,k.y+=x.y,B){var S={x:z,y:0};S=O.tf(S),S.x+=x.x,S.y+=x.y,F=Ih([x,i,k,S]),p.c1=x,p.c2=S}else F=Ih(i,k);x=i,j=k}}p.sourcePoint=x,p.targetPoint=j,I._lastSourcePoint=x,I._lastTargetPoint=j}var D=0;W("edge.dash")&&(D=W("edge.dash.width")||l);var C="square"===p.cap?.71:.5;ni(F,t(D*C,l*C+V+U),p.join),o._68o(F)}},getRotation:function(k,O,L){k=k||0;var R=this._78o;if(R){var X,w=R.angle,l=R.points,S=R.edgeTypeInfo;if(w!=J)return O?R.orienAngle+k:w+k;if(S&&S[Ll])return S.getRotation?S.getRotation(this,k,O,L):0;if(S&&S.points){var s=S.points;return X=s.size(),gc[L]?X&&0===X%2?_h(s.get(X/2-1),s.get(X/2),O,k):k:gq[L]?_h(s.get(0),s.get(1),O,k):_h(s.get(X-2),s.get(X-1),O,k)}if(l)return X=l.size(),gc[L]?X&&0===X%2?_h(l.get(X/2-1),l.get(X/2),O,k):k:gq[L]?_h(R.sourcePoint,X?l.get(0):R.targetPoint,O,k):_h(X?l.get(X-1):R.sourcePoint,R.targetPoint,O,k)}return k},getPosition:function(n,K,E,$,h){var u=this._78o;if(u){var U,a=u.type,G=u.points,M=u.edgeTypeInfo,H=u.sourcePoint,z=u.targetPoint;if(!a)return u.looped?{x:H.x-u.radius+K,y:H.y+E}:(h&&H&&z&&(H.x>z.x||H.x===z.x&&H.y>z.y)&&(n=tk[n],E=-E),U=aj(n,u.rect,$),U.x+=K,U.y+=E,U=u.mat.tf(U),U.x+=u.origin.x,U.y+=u.origin.y,U);if(M&&M[Ll])return M.getPosition?M.getPosition(this,n,K,E,$,h):{x:(H.x+z.x)/2,y:(H.y+z.y)/2};if(G){var U,m=G.size();if(gc[n]){if(m){var I=m%2;if(0===I)return $h(G.get(m/2-1),G.get(m/2),n,K,E,$,h);U=G.get((m-I)/2)}else U={x:(H.x+z.x)/2,y:(H.y+z.y)/2};return U=aj(n,{x:U.x,y:U.y,width:0,height:0},$),U.x+=K,U.y+=E,U}return gq[n]?$h(H,m?G.get(0):z,n,K,E,$,h):$h(m?G.get(m-1):H,z,n,K,E,$,h)}if(M){var y=M.points,m=y.size();if(gc[n]){var I=m%2;return 0===I?$h(y.get(m/2-1),y.get(m/2),n,K,E,$,h):(U=y.get((m-I)/2),U=aj(n,{x:U.x,y:U.y,width:0,height:0},$),U.x+=K,U.y+=E,U)}return gq[n]?$h(y.get(0),y.get(1),n,K,E,$,h):$h(y.get(m-2),y.get(m-1),n,K,E,$,h)}}return rm},_42:function(I){this._78o&&vm.superClass._42.call(this,I)},drawPath:function(c,e){c.beginPath();var A=e.type,C=e.points,g=e.segments,T=e.edgeTypeInfo;if(!A||C){var F=e.sourcePoint,y=F.x,$=F.y,q=e.targetPoint,E=q.x,Q=q.y;if(A)if(g){var O=new Sl({x:y,y:$});O.addAll(C),O.add({x:E,y:Q}),tm(c,O,g)}else c.moveTo(y,$),C.each(function(X){c.lineTo(X.x,X.y)}),c.lineTo(E,Q);else e.looped?c.arc(y,$,e.radius,0,M,!0):e.center?(c.moveTo(e.c1.x,e.c1.y),c.lineTo(y,$),c.lineTo(E,Q),c.lineTo(e.c2.x,e.c2.y)):(c.moveTo(y,$),c.lineTo(E,Q))}else T&&(T.points?tm(c,T.points,T.segments):T[Ll]&&T[Ll](c,T))},_80o:function(Q){var G=this,o=G.s,O=G._78o,L=O.width,j=O.selectWidth,x=O.borderWidth,l=Q.lineJoin,N=Q.lineCap,n=O.gray,t=O.pattern;Q.lineJoin=O.join,Q.lineCap=O.cap,G.drawPath(Wp(Q,t),O);var i=o("edge.width.absolute");i&&(Q.save(),Q.setTransform(1,0,0,1,0,0)),j&&(Q.strokeStyle=O._97o,Q.lineWidth=L+2*(x+j),Q.stroke()),x&&(Q.strokeStyle=n?_.toGrayColor(O.borderColor):O.borderColor,Q.lineWidth=L+2*x,Q.stroke());var K=n?_.toGrayColor(O.color):O.color,U=n?_.toGrayColor(O._67o):O._67o;if(Q.strokeStyle=K,Q.lineWidth=L,Q.stroke(),O.is3d&&Fe(Q,K,U,L,G.gv._zoom,O._66o),i&&Q.restore(),qb(Q,t),o("edge.dash")){t=o("edge.dash.pattern");var C=Wp(Q,t,G._2Q("edge.dash.offset"));C!==Q&&G.drawPath(C,O),G._1Q(Q,"edge",o("edge.dash.width")||L,t)}Q.lineJoin=l,Q.lineCap=N},_48O:function(){},_47O:function(){}});var Pd=function(p,Q){mb(Pd,this,[p,Q])};Be(Pd,gn,{_3O:function(){var U,P,V=this,T=V.s,E=V._data,i=V.gv;if(V._88I=J,E.isExpanded()&&E.eachChild(function(E){if(lm(E)){var Z=i.getBoundsForGroup(E);Z&&(P||(P=[]),P.push(Z),U=Aq(U,Z))}}),U){var Q=i.getLabel(E),w=T("group.type");U=cf(w,P,U),Wg(U,E,"group.padding",1);var c=V._88I={type:w,rect:U,_64o:U};if(!w&&Q!=J){var R,A=V.labelInfo={label:Q,color:T("group.title.color"),font:T("group.title.font"),align:T("group.title.align")},$=Db(A,Q),b=$.width,W=$.height,x=T("group.title.align"),n=T("group.title.orientation");if((n===Gh||n===An)&&b>U.width?U.width=b:(n===rg||n===cd)&&b>U.height&&(U.height=b),A.rect={y:U.y-W,width:$.width,height:W},R=x===rg?U.x:x===cd?U.x+U.width-b:U.x+U.width/2-b/2,A.rect.x=R,n===An)c.titleRect={x:U.x,y:U.y+U.height,width:U.width,height:W},c.rect={x:U.x,y:U.y,width:U.width,height:U.height+W},A.rect={x:R,y:U.y+U.height,width:b,height:W};else if(n===rg){var p=c.titleRect={x:U.x-W,y:U.y,width:W,height:U.height};c.rect={x:U.x-W,y:U.y,width:U.width+W,height:U.height},A.rect={x:p.x+W/2-U.height/2,y:p.y+U.height/2-W/2,width:U.height,height:W},A.rotation=-Math.PI/2}else if(n===cd){var p=c.titleRect={x:U.x+U.width,y:U.y,width:W,height:U.height};c.rect={x:U.x,y:U.y,width:U.width+W,height:U.height},A.rect={x:p.x+W/2-U.height/2,y:p.y+U.height/2-W/2,width:U.height,height:W},A.rotation=Math.PI/2}else c.titleRect={x:U.x,y:U.y-W,width:U.width,height:W+1},c.rect={x:U.x,y:U.y-W,width:U.width,height:U.height+W}}V._40O(c,T("group.border.width")/2)}else Pd.superClass._3O.call(V)},getPosition:function(G,w,F,g){var W=this._88I;if(W){var n=aj(G,W.rect,g);return n.x+=w,n.y+=F,n}return Pd.superClass.getPosition.apply(this,arguments)},_24O:function(S,F){var L=this._88I;(!L||L.type||"label2"===S)&&Pd.superClass._24O.call(this,S,F)},_80o:function(T){var Z=this,H=Z._88I;if(H){var z=Z._data,u=Z.s,S=Z.gv,t=H.type,h=H.rect,x=H._64o,I=H.titleRect,s=Z.getBodyColor(),v=Kg(u("group.image"),s),g=u("group.image.stretch"),j=Z.getBodyColor("group.background"),K=Kg(u("group.repeat.image"),s),N=u("group.gradient.pack"),b=u("group.gradient"),l=u("group.gradient.color"),k=u("group.border.width"),y=u("group.border.color"),m=u("group.border.pattern"),L=u("group.title.orientation"),E=u("group.depth");if(t){var V=T.lineJoin,M=T.lineCap;if(T.lineJoin=u("group.border.join"),T.lineCap=u("group.border.cap"),v){if(T.save(),ts(T,t,h),T.clip(),jl(T,v,g,h.x,h.y,h.width,h.height,z,S,s),T.restore(),k>0){var e=Wp(T,m);ts(e,t,h),T.lineWidth=k,T.strokeStyle=y,T.stroke(),qb(T,m)}}else{var e=Wp(T,m);j||K||N?(ts(T,t,h),N?Dp(T,N):K?zo(T,K,s,null,z,S):Ep(T,j,b,l,h),T.fill(),N&&T.restore(),T!==e&&ts(e,t,h)):ts(e,t,h),k>0&&(T.lineWidth=k,T.strokeStyle=u("group.border.color"),T.stroke()),qb(T,m),t===Ak&&En(T,j,E,h)}T.lineJoin=V,T.lineCap=M}else{var q=u("group.title.background"),Q=u("group.border.radius");if(v)jl(T,v,g,x.x,x.y,x.width,x.height,z,S,Z.getBodyColor());else if(j||K)if(K?zo(T,K,s,null,z,S):Ep(T,j,b,l,x),0===k)ts(T,Ak,x),T.fill(),En(T,j,E,x);else{switch(T.beginPath(),L){case An:Sd(T,x.x,x.y,x.width,x.height,Q,Q,0,0);break;case rg:Sd(T,x.x,x.y,x.width,x.height,0,Q,0,Q);break;case cd:Sd(T,x.x,x.y,x.width,x.height,Q,0,Q,0);break;case Gh:Sd(T,x.x,x.y,x.width,x.height,0,0,Q,Q)}T.fill()}if(I&&q)if(0===k)ao(T,I.x,I.y,I.width,I.height,q),En(T,q,E,I);else{switch(T.beginPath(),T.fillStyle=q,L){case An:Sd(T,I.x,I.y,I.width,I.height,0,0,Q,Q);break;case rg:Sd(T,I.x,I.y,I.width,I.height,Q,0,Q,0);break;case cd:Sd(T,I.x,I.y,I.width,I.height,0,Q,0,Q);break;case Gh:Sd(T,I.x,I.y,I.width,I.height,Q,Q,0,0)}T.fill()}if(k>0){var e=Wp(T,m);if(ts(e,"roundRect",h,Q),T.lineWidth=k,T.strokeStyle=y,I&&u("group.splitLine")){var F=I.x,a=I.y,f=I.width,i=I.height;L===An?(T.moveTo(F,a),T.lineTo(F+f,a)):L===rg?(T.moveTo(F+f,a),T.lineTo(F+f,a+i)):L===cd?(T.moveTo(F,a),T.lineTo(F,a+i)):(T.moveTo(F,a+i),T.lineTo(F+f,a+i))}T.stroke(),qb(T,m)}}Z._39O(T,H)}else Pd.superClass._80o.call(Z,T)}});var vk=function(s,h){mb(vk,this,[s,h])};Be(vk,gn,{_80o:function(K){this._39O(K,this._83o)}});var cn=function(L,m){mb(cn,this,[L,m])};Be(cn,gn,{_3O:function(){var v=this,y=v._data,N=v.s,P=v.gv,z=y.getPoints(),Y=P.getBorderColor(y),D=Y?N("border.width"):0,g=v.getSelectWidth(),e=N("shape.border.width"),r=y.getRect(),O=y.getAnchorRect(),K=P.getBodyColor(y),W=v._99o=z.isEmpty()?J:{rect:r,rotation:y.getRotation(),fillRule:N("shape.fill.rule"),scale:y.getScale(),position:y.p(),points:z,segments:y.getSegments(),bodyColor:K,borderColor:Y,borderWidth:D,_94o:N("shape.border.3d"),_95o:N("shape.border.3d.color"),_96o:N("shape.border.3d.accuracy"),_97o:g?v.getSelectColor():J,selectWidth:g,_53o:N("shape.background"),_27Q:Kg(N("shape.repeat.image"),K),shapeGradientPack:N("shape.gradient.pack"),_54o:e,_55o:N("shape.border.color"),shapeGradient:N("shape.gradient"),_59o:N("shape.gradient.color"),_60o:N("shape.border.pattern"),_61o:N("shape.border.cap"),_62o:N("shape.border.join"),shapeForeground:N("shape.foreground"),gray:N("2d.gray")};if(W){O.x+=W.position.x,O.y+=W.position.y,W.gradientRect=O;var m=y.getScale(),k=t(1,t(x(m.x),x(m.y)));N("shape.dash")&&N("shape.dash.width")>e&&(e=N("shape.dash.width"));var h,B=N("shape.border.width.absolute");h=B?(e+D+g)/v.gv._zoom/k:e*("square"===W._61o?.71:.5)+D+g/v.gv._zoom/k,h&&(h*=k,r=Ej(r),ni(r,h,W._62o)),v._68o(r);var i=N("clip.percentage");1>i&&(0>i&&(i=0),W.clipRect=db(y.getAnchorRect(),N("clip.direction"),i));var I=N("shape.fill.clip.percentage");1>I&&(0>I&&(I=0),W.shapeClipRect=db(y.getAnchorRect(),N("shape.fill.clip.direction"),I));var H=N("shape.foreground.clip.percentage");1>H&&(0>H&&(H=0),W.shapeForegroundClipRect=db(y.getAnchorRect(),N("shape.foreground.clip.direction"),H))}},getPosition:function(e,j,L,S){var $=this._99o;if($){var R=aj(e,$.rect,S);return R.x+=j,R.y+=L,R}return rm},_42:function(U){this._99o&&cn.superClass._42.call(this,U)},_80o:function(C){var l,m=this,k=m.s,w=m._99o,B=w.position,X=w.scale,d=w.rotation,c=w.borderWidth,Q=w.selectWidth/m.gv._zoom,x=w._27Q,t=w.shapeGradientPack,I=w._54o,r=w.clipRect,n=w.shapeClipRect,A=w.points,S=w.segments,W=m._data.isClosePath(),M=w.fillRule,K=w.gray,T=function(X){return K?_.toGrayColor(X):X},D=T(w._53o),P=D||x||t;C.save(),ee(C,B.x,B.y),sd(C,d),xm(C,X.x,X.y),r&&(C.beginPath(),C.rect(r.x,r.y,r.width,r.height),C.clip()),P&&n&&(C.save(),C.beginPath(),C.rect(n.x,n.y,n.width,n.height),C.clip()),ee(C,-B.x,-B.y);var U=w._60o,s=Wp(C,U),H=C.lineJoin,h=C.lineCap;C.lineJoin=w._62o,C.lineCap=w._61o;var Y=T(w.bodyColor);P?(tm(C,A,S,W),t?Dp(C,t):x?zo(C,x,Y,null,m._data,m.gv):(l=Y?Y:D,Ep(C,l,w.shapeGradient,T(w._59o),w.gradientRect)),C.fill(M),n&&(C.restore(),ee(C,-B.x,-B.y)),t&&C.restore(),s!==C&&tm(s,A,S,W)):tm(s,A,S,W);var $=w.shapeForeground;if($){C.save();var E=w.shapeForegroundClipRect;E&&(ee(C,B.x,B.y),C.beginPath(),C.rect(E.x,E.y,E.width,E.height),C.clip(),ee(C,-B.x,-B.y)),tm(C,A,S,W),Ep(C,$,k("shape.foreground.gradient"),T(k("shape.foreground.gradient.color")),w.gradientRect),C.fill(M),C.restore()}var Z=k("shape.border.width.absolute");if(Z&&(C.save(),C.setTransform(1,0,0,1,0,0)),Q&&(C.strokeStyle=w._97o,C.lineWidth=I+2*(c+Q),C.stroke()),c&&(C.strokeStyle=T(w.borderColor),C.lineWidth=I+2*c,C.stroke()),I&&(l=T(w._55o),!D&&Y&&(l=Y),C.strokeStyle=l,C.lineWidth=I,C.stroke(),w._94o&&Fe(C,l,T(w._95o),I,m.gv._zoom,w._96o)),Z&&C.restore(),qb(C,U),k("shape.dash")){var L=k("shape.dash.width")||I;if(L>0){U=k("shape.dash.pattern");var s=Wp(C,U,m._2Q("shape.dash.offset"));s!==C&&tm(s,A,S,W),m._1Q(C,"shape",L,U)}}C.lineJoin=H,C.lineCap=h,C.restore()},_48O:function(){},_47O:function(){}});var bl=function(J,v){mb(bl,this,[J,v])};Be(bl,cn,{getRotation:function(o,G,y){o=o||0;var j=this._data.getPoints(),C=j.size();return C>1?gc[y]?C&&0===C%2?_h(j.get(C/2-1),j.get(C/2),G,o):o:gq[y]?_h(j.get(0),j.get(1),G,o):_h(j.get(C-2),j.get(C-1),G,o):o},getPosition:function(h,j,H,O,_){var V=this._data.getPoints(),X=V.size();if(X>1){if(gc[h]){var B=X%2;if(0===B)return $h(V.get(X/2-1),V.get(X/2),h,j,H,O,_);var t=V.get((X-B)/2),Y={x:t.x,y:t.y,width:0,height:0};return t=aj(h,Y,O),t.x+=j,t.y+=H,t}return gq[h]?$h(V.get(0),V.get(1),h,j,H,O,_):$h(V.get(X-2),V.get(X-1),h,j,H,O,_)}return rm}});var Nj=function(W,d){mb(Nj,this,[W,d])};Be(Nj,gn,{_3O:function(){var Z=this;Nj.superClass._3O.call(Z);var g=Z.s,t=Z._83o;Z._82o=t.img||t.shape?J:{background:Z.getBodyColor("grid.background"),depth:g("grid.depth"),rect:t.rect,_88o:g("grid.cell.depth"),cellBorderColor:g("grid.cell.border.color"),_89o:g("grid.row.count"),_90o:g("grid.column.count"),block:g("grid.block"),_91o:g("grid.block.color"),_92o:g("grid.block.padding"),_93o:g("grid.block.width")}},_80o:function(E){var O=this,k=O._82o;if(!k)return Nj.superClass._80o.call(O,E),void 0;var M,i,q=O._data,u=k.background,B=k.rect,a=k.block,s=k._91o,n=k._92o,Q=k._93o,N=k._88o,A=k.cellBorderColor,d=k._89o,f=k._90o;if(u)if(ao(E,B.x,B.y,B.width,B.height,u),En(E,u,k.depth,B),N)for(M=0;d>M;M++)for(i=0;f>i;i++)B=q.getCellRect(M,i),B&&En(E,u,N,B);else if(A){for(E.beginPath(),M=0;d>M;M++)for(i=0;f>i;i++)B=q.getCellRect(M,i),B&&E.rect(B.x,B.y,B.width,B.height);E.strokeStyle=A,E.lineWidth=1,E.stroke()}if("h"===a)for(M=0;d>M;M++)B=Aq(q.getCellRect(M,0),q.getCellRect(M,f-1)),Bd(B,n),Pm(E,s,B.x,B.y,B.width,B.height,Q);else if("v"===a)for(i=0;f>i;i++)B=Aq(q.getCellRect(0,i),q.getCellRect(d-1,i)),Bd(B,n),Pm(E,s,B.x,B.y,B.width,B.height,Q);O._39O(E,O._83o)}});var Nn=function(Z,E){mb(Nn,this,[Z,E])};Be(Nn,gn,{_checkEmptyRect:!1,_81o:function(){var g=this._data,c=Nn.superClass._81o.call(this),k=g.s("text");if(k!=J){var G,y,a=g.s("text.font"),L=g.s("text.align"),j=g.s("text.vAlign"),C=dc(a,k),U=C.width,T=C.height,$=g.getAnchor(),H=g.getWidth(),f=g.getHeight();"left"===L?G=-H*$.x:"center"===L?G=-H*$.x+(H-U)/2:"right"===L&&(G=H*(1-$.x)-C.width),"top"===j?y=-f*$.y:"middle"===j?y=-f*$.y+(f-T)/2:"bottom"===j&&(y=f*(1-$.y)-C.height);var l,Z=g.getMatrix();if(l=Ih([Z.tf(G,y),Z.tf(G+U,y),Z.tf(G+U,y+T),Z.tf(G,y+T)]),c=Aq(c,l),c&&g.s("text.shadow")){var v=Ej(c);v.x+=g.s("text.shadow.offset.x"),v.y+=g.s("text.shadow.offset.y"),Bd(v,g.s("text.shadow.blur")),c=Aq(c,v)}}return c}});var yb=gf.Interactor=function(M){this.gv=this._graphView=M};Ab("Interactor",F,{ms_listener:1,getView:function(){return this.gv.getView()},setUp:function(){this.addListeners()},tearDown:function(){this.removeListeners(),this.clear()},clear:function(){},fi:function(Y){this.gv.fi(Y)},setCursor:function(Z){Gm||this.gv.setCursor(Z)},startDragging:function(x){var c=this;
|
||
c._lastClientPoint=Rb(x),c._lastLogicalPoint=c.gv.lp(x),ff(c,x)},clearDragging:function(){var $=this;$._lastClientPoint=$._lastLogicalPoint=$._logicalPoint=J},autoScroll:function(L){return this.gv.autoScroll(L,this._lastClientPoint)}});var Bf=J,Lr=function(g){Bf.handleWindowTouchMove(g)},_p=function(x){Bf.handleWindowTouchEnd(x),P(C,ob,Lr),P(C,Zr,_p),Bf=J},Li=function(x){Bf.handleWindowMouseMove(x)},Vr=function(m){Bf.handleWindowMouseUp(m),P(C,Np,Li),P(C,Fg,Vr),Bf=J},gj=function(E,p){E!==Bf&&(Bf?Gm?Bf.handleWindowTouchEnd(p):Bf.handleWindowMouseUp(p):Gm?(W(C,ob,Lr),W(C,Zr,_p)):(W(C,Np,Li),W(C,Fg,Vr)),Bf=E)},Xr=function(u){var V=this;V.gv=u,V._is2d=u instanceof gf.GraphView,V._eventListeners={},V._is2d&&(V.filter=function(Q){return u.isSelectable(Q)&&u.isInteractive(Q)}),u.getView(),["mousedown","mousemove","mouseleave","touchstart","touchmove",yg].forEach(function(C){V.addListener(C)}),V.initImageResource()};Be(Xr,yb,{enableVR:function(e){var h=this;if(!!h._vrEnable!==e)if(h._vrEnable=e,e)h.gv.vr.mp(h.onVRControllerChange,h);else if(h.gv.vr.ump(h.onVRControllerChange,h),h._vrRayPolyline){var r=h.gv.dm();r.remove(h._vrRayPolyline),r.remove(h._vrRayHitPoint),h._vrRayPolyline=a,h._vrRayHitPoint=a}},onVRControllerChange:function(g){var G=this,F=g.property,u=g.newValue,q=G.gv.vr.getController(u.id),x=q.getRay();x&&("gamepad.button.trigger"===F?"down"===u._62O?G.handle_mousedown(x):G.handleWindowMouseUp(x):"gamepad.pose"===F&&(G.handle_mousemove(x),G.handleWindowMouseMove(x)))},drawVRRay:function(Q,z,q){var F,Z=this,L=Z.gv,u=Z._vrRayPolyline,k=!1;if(u)F=Z._vrRayHitPoint;else{var M=L.dm();Z._vrRayPolyline=u=new K.Polyline,Z._vrRayHitPoint=F=new K.Node,F.s({shape3d:"billboard","shape3d.transparent":!0,"shape3d.texture.scale":10,"shape3d.image":"coreInteractorRayHitImage"}),F.setAnchor3d(.5,.5,.499);var p=.2/L.vr.measureOflength;F.s3(p,p,p),u.s("intersect",!1),F.s("intersect",!1),M.add(u),M.add(F),k=!0}if(z){var v=q.world,W=q.worldNormal,D=v.x,E=v.y,l=v.z;u.s("shape.border.color","red"),u.setPoints([{x:Q.origin.x,y:Q.origin.z,e:Q.origin.y},{x:D,y:l,e:E}]),F.s("3d.visible",!0),F.p3(D,E,l),F.lookAtDirection([W.x,W.y,W.z],"front")}else{u.s("shape.border.color","blue");var g=new K.Math.Vector3;g.copy(Q.direction).setLength(1e3/Z.gv.vr.measureOflength).add(Q.origin),u.setPoints([{x:Q.origin.x,y:Q.origin.z,e:Q.origin.y},{x:g.x,y:g.z,e:g.y}]),F.s("3d.visible",!1)}L.fi({kind:"vrRayIntersect",ray:Q,data:z,intersect:q,polyline:u,hitNode:F,begin:k})},setPreventEventDefault:function(V,n){var Y=this,P=Y._eventListeners[V];P?P._prevent=n:Y._eventListeners[V]=P={_removal:a,_prevent:n}},removeListener:function(t){var K=this,U=K._eventListeners[t];U&&U._removal&&(U._removal(),U._removal=a)},addListener:function(t){var G=this,r=G._eventListeners[t];if(r||(G._eventListeners[t]=r={_removal:a,_prevent:!0}),!r||!r._removal){var l=function(T){r._prevent&&_.preventDefault(T),G.disabled||G["handle_"+t](T)};W(G.gv.getView(),t,l),r._removal=function(){P(G.gv.getView(),t,l)}}},handleWindowTouchMove:function(L){this.handleWindowMouseMove(L)},handleWindowMouseMove:function(C){this.downInfo&&(this.isDragging?this.handleDownInfo("onDrag",C):(this.handleDownInfo("onBeginDrag",C),this.isDragging=!0))},handleWindowTouchEnd:function(p){this.handleWindowMouseUp(p)},handleWindowMouseUp:function(G){if(this.isDragging&&(this.handleDownInfo("onEndDrag",G),this.isDragging=!1),this.downInfo){var q=this.handle("onUp",G);if(q&&q.data===this.downInfo.data){this.handleMissingUp(G);var P=this,Z=2===G.button?"onContextMenu":"onClick";if(!P._dbclickTimer)return P._dbclickTimer=f(function(){delete P._dbclickTimer,P.handleClick(G,Z,q),this.downInfo=J},_.clickDelay),void 0;i(P._dbclickTimer),delete P._dbclickTimer,Z="onDoubleClick",P.handleClick(G,Z,q)}else this.handleDownInfo("onUp",G);this.downInfo=J}},handle_mouseleave:function(a){var M=this,I=M.gv,j=M.currentInfo?M.currentInfo.data:J;if(j){j.s("onLeave")&&j.s("onLeave")(a,j,I),M.fire("data","onLeave",a,j);var U=M.currentInfo?M.currentInfo.hits:J;if(U)for(var t in U)M.handleLeave(a,t);M.currentInfo=J}},handle_mousewheel:function(u){u.scrollDelta=u.wheelDelta/40,this.handle("onScroll",u)},handle_DOMMouseScroll:function(s){s.scrollDelta=2===s.axis?-s.detail:0,this.handle("onScroll",s)},handle_touchstart:function(u){this.handle_mousedown(u)},handle_touchmove:function(g){this.handle("onMove",g)},handle_mousedown:function(r){this.isDragging&&(this.handleDownInfo("onEndDrag",r),this.isDragging=!1),this.downInfo=this.handle("onDown",r),this.downInfo&&gj(this,r)},handle_mousemove:function(F){var V=this,r=V.gv;V._hoverTimer&&(i(V._hoverTimer),delete V._hoverTimer);var e,W,w,k=V.handle("onMove",F),p=this.currentInfo?this.currentInfo.data:J,H=this.currentInfo?this.currentInfo.hits:J;if(k&&(W=k.data,w=k.hits,V._hoverTimer=f(function(){i(V._hoverTimer),delete V._hoverTimer,V.handle("onHover",F,k)},r.getHoverDelay()||_.hoverDelay)),W!==p){if(p&&(p.s("onLeave")&&p.s("onLeave")(F,p,r),this.fire("data","onLeave",F,p)),W&&(W.s("onEnter")&&W.s("onEnter")(F,W,r),this.fire("data","onEnter",F,W)),H)for(e in H)this.handleLeave(F,e);if(w)for(e in w){var v=w[e];v.target.onEnter&&v.target.onEnter(F,W,r,v.point,v.width,v.height),this.fire(v.type,"onEnter",v.event,v.data,v.image,v.comp,v.point,v)}}else{if(H)for(e in H)w&&w[e]||this.handleLeave(F,e);if(w)for(e in w)if(!H||!H[e]){var v=w[e];v.target.onEnter&&v.target.onEnter(F,W,r,v.point,v.width,v.height),this.fire(v.type,"onEnter",v.event,v.data,v.image,v.comp,v.point,v)}}this.currentInfo=k},handle:function(X,Y,T){var r,O=this,M=O.gv;if(O._is2d){if(T=T||M.getDataInfoAt(Y,this.filter),!T)return;if(r=T.ui.interactiveInfo){var n,D=T.data;if(D.s(X)&&D.s(X)(Y,D,M),this.fire("data",X,Y,D),"body"===T.part&&r.bodyInfo)n="body",T.hits=this.handleImage(n,M.getImage(D),X,Y,D,T.point,r.bodyInfo);else if("icons"===T.part&&r._38o){var E=r._38o[T.name];E&&E[T.index]&&(n="icons|"+T.name+"|"+T.index,T.hits=this.handleImage(n,T.icon,X,Y,D,T.point,E[T.index]))}}return T}var D,V;if(!T)if(Y&&Y instanceof K.Math.Ray){var x=M.vr.intersectWorld(Y);if(D=x.data,V=x.intersect,O.drawVRRay(Y,D,V),!D)return;var G=M.getData3dUI(D);if(r=G.interactiveInfo,!r)return;T={data:D,part:V.part,ui:G}}else{if(T=M.getDataInfoAt(Y),!T)return;T&&(T={data:T.data,part:T.part})}if(M.isInteractive(T.data)){if(!V){D=T.data;var G=M.getData3dUI(D);if(T.ui=G,r=G.interactiveInfo,!r)return T;if(V=M.intersectObject(Y,D),!V)return}D.s(X)&&D.s(X)(Y,D,M),this.fire("data",X,Y,D);var f,o=V.part;return"body"!==o&&(f=D.s(o+".image")||D.s("shape3d."+o+".image")),f||(f=D.s("all.image")||D.s("shape3d.image")),r="object"==typeof f?r[f.uuid]:r[f],r&&r.bodyInfo?(T.part="body",T.interactiveInfo=r,T.point=V.uv.multiply({x:r.bodyInfo.rect.width,y:r.bodyInfo.rect.height}),T.image=f,T.hits=this.handleImage("body",f,X,Y,D,T.point,r.bodyInfo),T):T}},_handleLeaveOrMissing:function(N,O,o){var l="leave"===N?this.currentInfo:this.downInfo;if(l){var S=l.interactiveInfo||l.ui.interactiveInfo;if(S){var t,R,H=l.data;if(this._is2d){if(R=this.gv.lp(O),"body"===l.part&&S.bodyInfo)t="body","leave"===N?this.handleLeaveImage(o,t,this.gv.getImage(H),O,H,R,S.bodyInfo):this.handleMissingUpImage(t,this.gv.getImage(H),O,H,R,S.bodyInfo);else if("icons"===l.part&&S._38o){var b=S._38o[l.name];b&&b[l.index]&&(t="icons|"+l.name+"|"+l.index,"leave"===N?this.handleLeaveImage(o,t,l.icon,O,H,R,b[l.index]):this.handleMissingUpImage(t,l.icon,O,H,R,b[l.index]))}}else{if(!S.bodyInfo)return;var w=this.gv.intersectObject(O,H);R=w?w.uv.multiply({x:S.bodyInfo.rect.width,y:S.bodyInfo.rect.height}):{x:1/0,y:1/0},"leave"===N?this.handleLeaveImage(o,"body",l.image,O,H,R,S.bodyInfo):this.handleMissingUpImage("body",l.image,O,H,R,S.bodyInfo)}}}},handleClick:function(o,z,G){var W=this,k=this.downInfo;if(k&&G){var r,i=G.interactiveInfo||G.ui.interactiveInfo,f=G.data,b=this.gv;if(f.s(z)&&f.s(z)(o,f,b),W.fire("data",z,o,f),i)if(this._is2d){if(k.part===G.part){var R=b.lp(o);"body"===G.part&&i.bodyInfo&&(r="body",this.handleClickImage(r,b.getImage(f),z,o,f,R,i.bodyInfo,G))}}else{if(!i.bodyInfo)return;var t=b.intersectObject(o,f);if(!t)return;R=t.uv.multiply({x:i.bodyInfo.rect.width,y:i.bodyInfo.rect.height}),this.handleClickImage("body",k.image,z,o,f,R,i.bodyInfo,G)}}},handleDownInfo:function(I,d){if(this.downInfo){var A=this.downInfo,s=this.gv,O=A.interactiveInfo||A.ui.interactiveInfo;if(O){var W,$=A.data;if($.s(I)&&$.s(I)(d,$,s),this.fire("data",I,d,$),this._is2d){var t=s.lp(d);if("body"===A.part&&O.bodyInfo)W="body",this.handleDownInfoImage(W,s.getImage($),I,d,$,t,O.bodyInfo);else if("icons"===A.part&&O._38o){var Z=O._38o[A.name];Z&&Z[A.index]&&(W="icons|"+A.name+"|"+A.index,this.handleDownInfoImage(W,A.icon,I,d,$,t,Z[A.index]))}}else{if(!O.bodyInfo)return;var h=s.intersectObject(d,$);if(!h)return;t=h.uv.multiply({x:O.bodyInfo.rect.width,y:O.bodyInfo.rect.height}),this.handleDownInfoImage("body",A.image,I,d,$,t,O.bodyInfo)}}}},fire:function(h,J,x,A,E,y,g,v){this.gv.fi({kind:J,type:h,event:x,data:A,image:E,comp:y,view:this.gv,point:g,width:v?v.width:a,height:v?v.height:a})},handleImage:function(A,H,M,l,K,b,f){var Y={};if(H&&(H=Kg(H))){var Q=this.gv,w=f.rect,o=this.convertPoint(b,f);o.inRect&&(H[M]&&H[M](l,K,Q,o,w.width,w.height),this.fire("image",M,l,K,H,a,o,w),Y[A+"|image"]={target:H,type:"image",image:H,data:K,event:l,point:o,width:w.width,height:w.height});for(var N=f.compInfos,h=H,n=N.length-1;n>=0;n--){var T=N[n],z=T.comp;if(o=this.convertPoint(b,T,h,z,Q,K),o.inRect){w=T.rect;var Z=K._interactPrefix=T.prefix,j=Z&&K.a(Z+M)||z[M];j&&j.call(z,l,K,Q,o,w.width,w.height),this.fire("comp",M,l,K,H,z,o,w),(H=w.image)&&(H[M]&&H[M](l,K,Q,o,w.width,w.height),this.fire("image",M,l,K,H,a,o,w)),K._interactPrefix=null,Y[A+"|"+n]={target:z,type:"comp",comp:z,image:H,data:K,event:l,point:o,width:w.width,height:w.height},H&&(Y[A+"|"+n+"|image"]={target:H,type:"image",image:H,data:K,event:l,point:o,width:w.width,height:w.height})}}}return Y},handleLeave:function(p,Z){return this._handleLeaveOrMissing("leave",p,Z)},handleMissingUp:function(g){return this._handleLeaveOrMissing("missing",g)},handleLeaveImage:function(o,Y,L,M,O,$,X){if(L&&(L=Kg(L))){var W=this.gv,N=X.rect,z=this.convertPoint($,X);o===Y+"|image"&&(L.onLeave&&L.onLeave(M,O,W,z,N.width,N.height),this.fire("image","onLeave",M,O,L,a,z,N));for(var S=X.compInfos,r=L,R=S.length-1;R>=0;R--){var Q=S[R],A=Q.comp;z=this.convertPoint($,Q,r,A,W,O),N=Q.rect;var I=O._interactPrefix=Q.prefix;if(o===Y+"|"+R){var h=I&&O.a(I+"onLeave")||A.onLeave;h&&h.call(A,M,O,W,z,N.width,N.height),this.fire("comp","onLeave",M,O,L,A,z,N)}(L=N.image)&&o===Y+"|"+R+"|image"&&(L.onLeave&&L.onLeave(M,O,W,z,N.width,N.height),this.fire("image","onLeave",M,O,L,a,z,N)),O._interactPrefix=null}}},handleMissingUpImage:function(T,h,I,B,J,F){var k="onUp",N=this.downInfo.hits;if(N&&h&&(h=Kg(h))){var m=this.gv,n=F.rect,p=this.convertPoint(J,F);!p.inRect&&N[T+"|image"]&&(h[k]&&h[k](I,B,m,p,n.width,n.height),this.fire("image",k,I,B,h,a,p,n));for(var o=F.compInfos,K=h,X=o.length-1;X>=0;X--){var l=o[X],j=l.comp;if(p=this.convertPoint(J,l,K,j,m,B),!p.inRect){n=l.rect;var $=B._interactPrefix=l.prefix;if(N[T+"|"+X]){var r=$&&B.a($+k)||j[k];r&&r.call(j,I,B,m,p,n.width,n.height),this.fire("comp",k,I,B,h,j,p,n)}(h=n.image)&&N[T+"|"+X+"|image"]&&(h[k]&&h[k](I,B,m,p,n.width,n.height),this.fire("image",k,I,B,h,a,p,n)),B._interactPrefix=null}}}},handleDownInfoImage:function(u,h,G,M,k,D,V){var A=this.downInfo.hits;if(A&&h&&(h=Kg(h))){var j=this.gv,y=V.rect,R=this.convertPoint(D,V);A[u+"|image"]&&(h[G]&&h[G](M,k,j,R,y.width,y.height),this.fire("image",G,M,k,h,a,R,y));for(var I=V.compInfos,W=h,z=I.length-1;z>=0;z--){var Y=I[z],d=Y.comp;R=this.convertPoint(D,Y,W,d,j,k),y=Y.rect;var c=k._interactPrefix=Y.prefix;if(A[u+"|"+z]){var f=c&&k.a(c+G)||d[G];f&&f.call(d,M,k,j,R,y.width,y.height),this.fire("comp",G,M,k,h,d,R,y)}(h=y.image)&&A[u+"|"+z+"|image"]&&(h[G]&&h[G](M,k,j,R,y.width,y.height),this.fire("image",G,M,k,h,a,R,y)),k._interactPrefix=null}}},handleClickImage:function(T,E,D,y,I,b,o,F){var V=this.downInfo.hits,B=F.hits;if(V&&E&&(E=Kg(E))){var K=this.gv,O=o.rect,M=this.convertPoint(b,o);V[T+"|image"]&&(E[D]&&E[D](y,I,K,M,O.width,O.height),this.fire("image",D,y,I,E,a,M,O));for(var z=o.compInfos,H=E,Z=z.length-1;Z>=0;Z--){var i=z[Z],N=i.comp;M=this.convertPoint(b,i,H,N,K,I),O=i.rect;var U=I._interactPrefix=i.prefix;if(V[T+"|"+Z]&&B[T+"|"+Z]){var l=U&&I.a(U+D)||N[D];l&&l.call(N,y,I,K,M,O.width,O.height),this.fire("comp",D,y,I,E,N,M,O)}(E=O.image)&&V[T+"|"+Z+"|image"]&&(E[D]&&E[D](y,I,K,M,O.width,O.height),this.fire("image",D,y,I,E,a,M,O)),I._interactPrefix=null}}},initImageResource:function(){_.setImage("coreInteractorRayHitImage",{width:16,height:16,comps:[{type:"oval",background:"rgb(255,0,0)",borderWidth:1,borderColor:"rgb(250,120,120)",opacity:.3,rotation:-1.593,rect:[.73315,.6933,14.5337,14.61341]},{type:"oval",background:"rgb(255,0,0)",borderWidth:1,borderColor:"rgb(250,120,120)",rotation:-1.593,rect:[3.56695,3.75073,8.8661,8.49856]}]})},convertPoint:function(p,$,x,W,P,g){var Q=$.rect,V=$.matrix.applyInverse(p).sub(Q),N=V.x>=0&&V.y>=0&&V.x<=Q.width&&V.y<=Q.height;if(!N)return V;if(W&&jc(W.pixelPerfect,g,P)){var Q,l=1;this._is2d?(l=P.getZoom(),Q=ui(p.x,p.y,a,l)):Q=ui(p.x,p.y);var E=!1,R=Q.x,e=Q.y,j=Q.width,c=Q.height,i=_.hitMaxArea,q=j*c*l*l;if(q>i){var K=Math.sqrt(i/q);l*=K}j*=l,c*=l,2>j&&(j=2),2>c&&(c=2),R*=l,e*=l;var X=Vh(j,c),s=new Tp(0,-R,-e,l,l);s.append($.matrix),P._drawForChecking=!0,W.transform=s;var F=x.comps;x.comps=[W],Bq(X,x,0,0,j,c,g,self),x.comps=F,delete W.transform,P._drawForChecking=!1;try{for(var Z=0,h=X.getImageData(0,0,j,c).data;Z<h.length;Z+=4)if(0!==h[Z+3]){E=!0;break}X.restore()}catch(M){ek=J,E=!1}V.inRect=E}else V.inRect=!0;return V}});var oo=gf.DefaultInteractor=function(i){mb(oo,this,[i])};Ab("DefaultInteractor",yb,{handle_mousedown:function(h){nm(h);var P=this,y=P.gv,M=y.getDataAt(h);if(y.setFocus(h)&&!y._editing&&!y._scrolling){Gj(h)?y.handleDoubleClick(h,M):y.handleClick(h,M);var l=Sn(h);!Mp()&&!l&&M&&(y.isMovable(M)||y._39Q(M))||!y.isPannable()||!ve(h)&&!l||xr(h)||(P._tx=y.tx(),P._ty=y.ty(),P.startDragging(h))}},handleWindowMouseUp:function(h){var j=this,o=j.gv;o._panning&&(delete o._panning,o.onPanEnded(),j.fi({kind:"endPan",event:h})),delete j._tx,delete j._ty,j.clearDragging()},handle_mousemove:function(d){var l=this,V=l.gv;l._hoverTimer&&(i(l._hoverTimer),delete l._hoverTimer),l._hoverTimer=f(function(){l.fi({kind:"hover",event:d}),i(l._hoverTimer),delete l._hoverTimer},V.getHoverDelay()||_.hoverDelay)},handle_touchmove:function(j){this.handle_mousemove(j)},handleWindowMouseMove:function(S){var C=this,f=C.gv;C.fi({kind:f._panning?"betweenPan":"beginPan",event:S}),f._panning=1;var n=mj(f,S,C._lastClientPoint);f.setTranslate(C._tx+n.x,C._ty+n.y)},handle_mousewheel:function(j){this.gv.handleScroll(j,j.wheelDelta)},handle_DOMMouseScroll:function(u){2===u.axis&&this.gv.handleScroll(u,-u.detail)},handle_keydown:function(s){this.gv.handleKeyDown(s)}});var pq=gf.SelectInteractor=function(C){mb(pq,this,[C])};Ab("SelectInteractor",yb,{_42:function(){var d=this,n=d.gv,A=n.getZoom(),Q=d.mark,w=d.div;w||(w=d.div=nl(),cl(d.getView(),w));var R={};R.x=Q.x*A+n.tx(),R.y=Q.y*A+n.ty(),R.width=Q.width*A,R.height=Q.height*A,Rj(w,R),this.intersects()?(w.style.border="",w.style.background=n.getRectSelectBackground()):(w.style.background="",w.style.border="1px solid "+n.getRectSelectBorderColor())},handle_mousedown:function(o){var s=this,Y=s.gv;if(s._57I=J,s.pendingClickThrough=J,!(Y._editing||Y._scrolling||Mp()||Sn(o))){var V=Y.getDataAt(o),g=Y.sm();V?xr(o)?g.co(V)?g.rs(V):g.as(V):g.co(V)?V instanceof Ff&&V.isClickThroughEnabled()&&ve(o)&&(s.pendingClickThrough=Rb(o)):g.ss(V):xr(o)||!Y.isPannable()?ve(o)&&(xr(o)||g.cs(),Y.isRectSelectable()&&(s.startDragging(o),Y._77O=1)):ve(o)&&(s._57I=Rb(o))}},handle_mouseup:function(p){var L=this,A=L.gv,F=L._57I;if(F&&(Kk(F,Rb(p))<=1&&A.sm().cs(),L._57I=J),L.pendingClickThrough){if(Kk(L.pendingClickThrough,Rb(p))<=1){var W=A.getDataAt(p);if(W instanceof Ff&&W.isClickThroughEnabled()){var w=A.getDataAt(p,function(M){var H=M.getParent()===W&&A.isSelectable(M,!0);return H});w&&(p.clickThrough=!0,A.sm().ss(w))}}L.pendingClickThrough=J}},handleWindowMouseUp:function(y){this.clear(y)},handleWindowMouseMove:function(z){var C=this,k=C.gv;C._logicalPoint=k.lp(z),C.mark?(C.fi({kind:"betweenRectSelect",event:z}),k.isPannable()&&C.autoScroll(z),C.redraw()):C.fi({kind:"beginRectSelect",event:z}),C.mark=Ih(C._lastLogicalPoint,C._logicalPoint),C.redraw()},intersects:function(){var F=this,i=F._lastLogicalPoint,n=F._logicalPoint;return i.x>n.x||i.y>n.y},clear:function(P){var L=this,h=L.gv,r=L.mark;if(L._57I=J,L.pendingClickThrough=J,L._lastLogicalPoint){if(r){if(0!==r.width&&0!==r.height){var Z=h.getDatasInRect(r,L.intersects());if(!Z.isEmpty()){var s=h.sm(),p=s.toSelection();Z.each(function(t){s.co(t)?p.remove(t):p.add(t)}),s.ss(p)}}Pk(L.div),delete L.div,delete L.mark,L.redraw(),L.fi({kind:"endRectSelect",event:P}),h.onRectSelectEnded()}L.clearDragging(),delete h._77O}},redraw:function(){var T=this;T._draw||(T._draw=1,f(function(){T.mark&&T._42(),delete T._draw},16))}});var xl=gf.MoveInteractor=function(Y){mb(xl,this,[Y])};Ab("MoveInteractor",yb,{handle_mousedown:function(m){var y=this,c=y.gv;if(ve(m)&&!c._editing&&!c._scrolling&&!Mp()){var F=c.getSelectedDataAt(m);!F||c._39Q(F)&&!c.isMovable(F)?c._focusData=J:(y._data=F,c.handleMouseDown&&c.handleMouseDown(m,F),y.startDragging(m),c.isMovable(F)&&(c._moving=1))}},handleWindowMouseUp:function(a){var z=this,U=z.gv;U.handleMouseUp&&U.handleMouseUp(a,z._data),z.clear(a)},handleWindowMouseMove:function(A){var u=this,q=u._data,W=u.gv;if((!W._93O||!W._93O(A,q))&&W._moving){u._logicalPoint||u.fi({kind:"prepareMove",event:A});var t=u._logicalPoint?"betweenMove":"beginMove",Q={kind:t,event:A},I=u._logicalPoint=W.lp(A);"beginMove"!==t||u._alreadyBeginTransaction||(u._alreadyBeginTransaction=!0,W.getDataModel().beginTransaction());var x=u._calcShift(t,A),E=x.x,h=x.y,Y=u.gv.getMoveMode(A,q);Y&&("x"===Y?h=0:"y"===Y?E=0:"xy"!==Y&&(E=h=0)),W.moveSelection(E,h),u._lastLogicalPoint=I,u.autoScroll(A),u.fi(Q)}},_calcShift:function(){var L=this,Z=L._logicalPoint,c=L._lastLogicalPoint,p=Z.x-c.x,f=Z.y-c.y;return{x:p,y:f}},clear:function(l){var M=this,c=M.gv;M._lastLogicalPoint&&(M._lastLogicalPoint=M._data=c._moving=J,M._logicalPoint&&(M.fi({kind:"endMove",event:l}),c.onMoveEnded()),M.clearDragging()),M._alreadyBeginTransaction&&(M._alreadyBeginTransaction=!1,c.getDataModel().endTransaction())}});var jn=gf.TextEditInteractor=function(A){mb(jn,this,[A]),this.init()};Ab("TextEditInteractor",yb,{init:function(){var w=this,G=this.input=E.createElement("input"),r=G.style;G.text="text",r.border="1px solid #d8d8d8",r.position="absolute",r.padding="2px 3px",r.outline="none",r.marginLeft="-90px",r.marginTop="-16px",r.backgroundColor="rgba(255,255,255, 0.9)",r.fontSize="14px",r.width="180px",r.height="32px",r.boxShadow="0 0 13px rgba(16,142,233, 0.5)",r.textAlign="center",r.boxSizing="border-box",W(G,"keyup",function(M){ki(M)&&w.endTextEdit()}),W(G,"focus",function(){G.select()});var t=this.textarea=E.createElement("textarea"),e=this.wrap=E.createElement("div");e.appendChild(t),r=t.style,r.margin=0,r.padding="4px",r.overflow="hidden",r.boxSizing="border-box",r.position="absolute",r.outline="none",r.backgroundColor="transparent",r.resize="none",r.textAlign="center",r.fontSize="14px",r.border="none",r.borderWidth=0,r.width="100%",r.top="50%",r=e.style,r.boxSizing="border-box",r.margin=0,r.padding=0,r.position="absolute",r.boxShadow="0 0 13px rgba(16,142,233, 0.5)",r.border="1px solid #d8d8d8",r.backgroundColor="rgba(255,255,255, 0.9)",r.width="180px",r.marginLeft="-90px",W(t,"keydown",function(i){return(Bc()||xr())&&ki(i)?(w.endTextEdit(),void 0):(w.calculateTextareaHeight(String.fromCharCode(i.keyCode)),void 0)}),W(t,"focus",function(){t.select()});var f=function(Y){Y.stopPropagation()};W(G,"mousedown",f),W(G,"touchstart",f),W(t,"mousedown",f),W(t,"touchstart",f),w.SIZING_STYLE=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"],w.HIDDEN_TEXTAREA_STYLE="visibility:hidden; min-height:0 !important;max-height:none !important;height:0 !important;visibility:hidden !important;overflow:hidden !important;position:absolute !important;z-index:-1000 !important;top:0 !important;right:0 !important",w.handleWindowClick=function(p){var K=w._editingDOM;if(K){var Y=K.getBoundingClientRect(),I=Rb(p);Cs(Y,I)||w.endTextEdit()}}},handle_mousedown:function(L){var N=this,G=N.gv;if(Gj(L)&&!G._editing){var D=G.getDataAt(L);if(D){var h=G.getTextEditInfo(D);h&&(this._editInfo=h,this._editTarget=D,G._editing=!0,h.isMultiline?this.handleMultilineEdit():this.handleTextEdit())}}},handleMultilineEdit:function(){var O=this,l=O.gv,o=O._editTarget,g=O.getTargetValue(),Y=O.textarea,j=O.wrap;this.hiddenTextarea||this.createHiddenTextarea(),(null===g||g===a)&&(g=""),Y.value=g,O._editingDOM=Y,l.getView().appendChild(j),this.layoutHTML(j,o),this.calculateTextareaHeight(),f(function(){Y.focus(),W(C,"mousedown",O.handleWindowClick),W(C,"touchstart",O.handleWindowClick)},10)},handleTextEdit:function(){var j=this,H=j.gv,X=j._editTarget,c=j.getTargetValue(),_=j.input;(null===c||c===a)&&(c=""),_.value=c,j._editingDOM=_,H.getView().appendChild(_),this.layoutHTML(_,X),f(function(){_.focus(),W(C,"mousedown",j.handleWindowClick),W(C,"touchstart",j.handleWindowClick)},10)},layoutHTML:function(f,Z){var r=this.gv,w=r.getZoom();if(Z instanceof K.Node){var b=Z.getRect();f.style.left=(b.x+b.width/2)*w+r.tx()+"px",f.style.top=(b.y+b.height/2)*w+r.ty()+"px"}else if(Z instanceof K.Edge){var n=r.getDataUI(Z),b=n._6I;f.style.left=(b.x+b.width/2)*w+r.tx()+"px",f.style.top=(b.y+b.height/2)*w+r.ty()+"px"}},endTextEdit:function(){var F=this,h=F._editInfo.isMultiline?F.wrap:F.input,Q=F._editInfo.isMultiline?F.textarea:F.input;F.setTargetValue(Q.value),F.gv.getView().removeChild(h),F.gv._editing=!1,delete F._editingDOM,P(C,"mousedown",F.handlelick),P(C,"touchstart",F.handleWindowClick)},setTargetValue:function(G){var X=this,i=X._editTarget,H=X._editInfo,b=H.accessType,v=H.name;if(v&&b||(b="p",v="name"),"p"===b){var e=K.Default.setter(v);i[e](G)}else"a"===b?i.a(v,G):i.s(v,G)},getTargetValue:function(){var i=this,s=i._editTarget,W=i._editInfo,D=W.accessType,S=W.name;if(S&&D||(D="p",S="name"),"p"===D){var z=K.Default.getter(S);return s[z]()}return"a"===D?s.a(S):s.s(S)},createHiddenTextarea:function(){this.hiddenTextarea=E.createElement("textarea"),this.hiddenTextarea.setAttribute("style","margin:0; padding:0; position:absolute; overflowY:scroll; resize:none; box-sizing:border-box;"),this.hiddenTextarea.setAttribute("rows","1"),this.gv.getView().appendChild(this.hiddenTextarea)},calculateHTMLStyle:function(U,s){if(s&&this.computedStyleCache)return this.computedStyleCache;var H=this,K=C.getComputedStyle(U),o=K.getPropertyValue("box-sizing")||K.getPropertyValue("-moz-box-sizing")||K.getPropertyValue("-webkit-box-sizing"),q=parseFloat(K.getPropertyValue("padding-bottom"))+parseFloat(K.getPropertyValue("padding-top")),O=parseFloat(K.getPropertyValue("border-bottom-width"))+parseFloat(K.getPropertyValue("border-top-width")),G=H.SIZING_STYLE.map(function(U){return U+":"+K.getPropertyValue(U)}).join(";"),p={sizingStyle:G,paddingSize:q,borderSize:O,boxSizing:o};return s&&(this.computedStyleCache=p),p},calculateTextareaHeight:function(V){V=V||"";var j=this,f=j.textarea,s=j.hiddenTextarea,A=j.wrap,o=32,b=j.calculateHTMLStyle(f,!1),T=b.paddingSize,c=b.borderSize,u=b.boxSizing,r=b.sizingStyle;s.setAttribute("style",r+";"+j.HIDDEN_TEXTAREA_STYLE),s.value=f.value+V;var Z=s.scrollHeight;"border-box"===u?Z+=c:"content-box"===u&&(Z-=T),f.style.height=Z+"px",f.style.marginTop=0-.5*Z+"px",A.style.height=Math.max(Z,o)+"px",A.style.marginTop=Z*-.5+"px"}});var Sc=gf.ScrollBarInteractor=function(W){mb(Sc,this,[W])};Ab("ScrollBarInteractor",yb,{_41o:function(){return this.gv.getViewRect().height<this.gv.getScrollRect().height},_40o:function(){return this.gv.getViewRect().width<this.gv.getScrollRect().width},isV:function(L){var y=this.gv.getViewRect();return this._41o()&&(y.x+y.width-this.gv.lp(L).x)*this.gv.getZoom()<wc},isH:function(R){var S=this.gv.getViewRect();return this._40o()&&(S.y+S.height-this.gv.lp(R).y)*this.gv.getZoom()<wc},handle_mousemove:function(d){this.handle_touchmove(d)},handle_touchmove:function(h){if(!Si&&ve(h)&&this.gv.isScrollBarVisible()){var D=this,N=D.isV(h),O=D.isH(h);(N||O)&&D.gv.showScrollBar(),D.gv._scrolling=N||O}},handleWindowMouseUp:function(U){this.handleWindowTouchEnd(U)},handleWindowTouchEnd:function(O){this._state=this._cp=this._tx=this._ty=this.gv._scrolling=J,this.fi({kind:"endScroll",event:O})},handle_mousedown:function(A){this.handle_touchstart(A)},handle_touchstart:function(J){var w=this;if(w.gv.setFocus(J),nm(J),w.handle_touchmove(J),!(xh(J)>1)&&w.gv._scrolling&&w.gv.isScrollBarVisible()){w._cp=Rb(J),w._tx=w.gv.tx(),w._ty=w.gv.ty();var V=w.isV(J);w._state=V?"vScroll":"hScroll",ff(w,J),w.fi({kind:"beginScroll",event:J})}},handleWindowMouseMove:function(A){this.handleWindowTouchMove(A)},handleWindowTouchMove:function(l){var I=Rb(l),d=this.gv.getViewRect(),p=this.gv.getScrollRect();"vScroll"===this._state?this.gv.ty(this._ty+(this._cp.y-I.y)*p.height/d.height):"hScroll"===this._state&&this.gv.tx(this._tx+(this._cp.x-I.x)*p.width/d.width),this.fi({kind:"betweenScroll",event:l})}});var As=gf.TouchInteractor=function(I,B){B=B||{},B.selectable===a&&(B.selectable=!0),B.movable===a&&(B.movable=!0),B.pannable===a&&(B.pannable=!0),B.pinchable===a&&(B.pinchable=!0),B.editable===a&&(B.editable=!0),this.params=B,mb(As,this,[I])};Ab("TouchInteractor",yb,{ms_edit:1,setUp:function(){var u=this;As.superClass.setUp.call(u),Gm&&u.params.editable&&u.gv.setEditInteractor(u)},tearDown:function(){var X=this;As.superClass.tearDown.call(X),Gm&&X.params.editable&&X.gv.setEditInteractor(J)},clear:function(i){var k=this,g=k.gv;g._moving&&(k.fi({kind:"endMove",event:i}),delete g._moving,g.onMoveEnded(),g.dm().endTransaction()),g._panning&&(k.fi({kind:"endPan",event:i}),delete g._panning,g.onPanEnded()),g._pinching&&(k.fi({kind:"endPinch",event:i}),delete g._pinching,g.onPinchEnded()),g._editing&&(k._46O(i),k._77I=k._node=k._edge=k._shape=k._rect=k._89I=k._index=g._editing=J),k._moving=k._panning=k._pinching=k._editing=k._57I=k._data=k._beginHistory=J,k.clearDragging()},handle_touchstart:function(S){var o=this;if(!o.gv._editing){nm(S),o._57I=J;var D=o.params,i=o.gv,M=i.sm(),z=i.getDataAt(S),Z=xh(S);if(1===Z){if(Gj(S))return i.handleDoubleClick(S,z),void 0;i.handleClick(S,z),z&&(i.handleMouseDown&&i.handleMouseDown(S,z),o._data=z),D.selectable||(z=J),z&&(M.co(z)||M.ss(z),D.editable&&i.isEditable(z)&&o._79I(S,z,!0)?(o._editing=1,o.startDragging(S)):D.movable&&i.isMovable(z)&&(o._moving=1,o.startDragging(S))),z&&i.isMovable(z)||(o._57I=Rb(S),D.pannable&&i.isPannable()&&(o._panning=1,o.startDragging(S),o._translate={x:i.tx(),y:i.ty()}))}else if(D.pinchable&&2===Z){if(z&&i._39Q(z))return;o._pinching=1,o.startDragging(S);var C=i.getView(),F=i.getZoom(),r=C.getBoundingClientRect(),b=S.touches[0],m=S.touches[1],W={x:(b.clientX+m.clientX)/2-r.left,y:(b.clientY+m.clientY)/2-r.top};W.x-=i.tx(),W.y-=i.ty(),W.x/=F,W.y/=F,o._p=W,o._d=Ie(S)}}},handle_touchend:function(y){var k=this,O=k.gv,x=k._57I,b=k._data;x&&(Kk(x,Rb(y))<=1&&!graphView.getDataAt(y)&&O.sm().cs(),k._57I=J),b&&O.handleMouseUp&&O.handleMouseUp(y,b)},handleWindowTouchEnd:function(n){this.clear(n)},handleWindowTouchMove:function(W){var O=this,N=O.gv,E=xh(W);if(1===E){if(O._editing&&(O._beginHistory||(O._beginHistory=1,N.dm().beginTransaction()),N._editing=1,O._78I(W)),O._moving)O._beginHistory||(O._beginHistory=1,N.dm().beginTransaction()),O.handleMove(W);else if(O._panning){var U=Rb(W),s=mj(N,U,O._lastClientPoint);N.setTranslate(O._translate.x+s.x,O._translate.y+s.y),O.fi({kind:N._panning?"betweenPan":"beginPan",event:W}),N._panning=1}}else if(2===E&&O._pinching){var u=Ie(W);N.handlePinch(O._p,u,O._d),O._d=u,O.fi({kind:N._pinching?"betweenPinch":"beginPinch",event:W}),N._pinching=1}},handleMove:function(u){var $=this,F=$.gv,E=F.lp(u);F._93O&&F._93O(u,$._data)||(F.moveSelection(E.x-$._lastLogicalPoint.x,E.y-$._lastLogicalPoint.y),$._lastLogicalPoint=E,$.autoScroll(u),$.fi({kind:F._moving?"betweenMove":"beginMove",event:u}),F._moving=1)}});var K=C.ht,wd=K.graph._editor={Math:K.Math,Guide:{}};wd.getStyle=function(X){var _,U=wd.StyleMap;return U&&(_=U[X],_!==a)?_:wd.DefaultStyleMap[X]},wd.setStyle=function(E,a){var k=wd.StyleMap;k||(k=wd.StyleMap={}),k[E]=a},wd.inEdit=function(o){return o._inXEdit===!0},wd.startEdit=function(i){i._inXEdit=!0,wd.Inject.doInject(i)},wd._46O=function(N){N._inXEdit=!1,wd.Inject.undoInject(N)},wd.toScreenPosition=function(c,m){var l=c.tx(),E=c.ty(),j=c._zoom;return new wd.Math.Vector2(m.x*j+l,m.y*j+E)},wd.checkHit=function(a,H,U){return a.distanceTo(H)<U?!0:!1},wd.toWorldPosition=function(x,_){var W=x.tx(),U=x.ty(),y=x._zoom;return{x:(_.x-W)/y,y:(_.y-U)/y}},wd.setAntialias=function(H,I){for(var h,$=["imageSmoothingEnabled","webkitImageSmoothingEnabled","mozImageSmoothingEnabled","oImageSmoothingEnabled","msImageSmoothingEnabled"],L=0,u=$.length;u>L&&(h=$[L],!(h in H));L++);H[h],H[h]=I},wd.getTargetCornersOnScreen=function(U,B){if(!B)return null;var j,C=[];if(Nd(B,U)){var w=wi(U,B);j=[{x:w.x,y:w.y},{x:w.x+w.width,y:w.y},{x:w.x+w.width,y:w.y+w.height},{x:w.x,y:w.y+w.height}]}else{if(!B.getCorners)return null;j=B.getCorners()}return j.forEach(function(Y){var N=wd.toScreenPosition(U,Y);C.push(N.x,N.y)}),C},wd.log=function(){};var Dn=wd.Inject={_modules:[]};Dn.registAsModule=function(n,j){var f={},r={};for(var A in n){var P=j.prototype[A];f[A]=P}n.getBackup=function(S){return f[S]},n.getBackups=function(){return f},r.doInject=function(){for(var f in n)"getBackup"!==f&&(j.prototype[f]=n[f])},r.undoInject=function(){for(var v in n)"getBackup"!==v&&(j.prototype[v]=f[v])},Dn._modules.push(r)},Dn.doInject=function(O){for(var I,l=Dn._modules,L=0,$=l.length;$>L;L++)I=l[L],I.doInject(O)},Dn.undoInject=function(q){for(var c,W=Dn._modules,H=0,e=W.length;e>H;H++)c=W[H],c.undoInject(q)};var yb=K.graph.EditInteractor=function(O){var g=this,a=E.createElement("canvas");a.className="editCanvas",a.style.position="absolute",g._styleMap={},g._canvas=a,g._context=a.getContext("2d"),yb.superClass.constructor.call(g,O),this._editDetail=!1,wd.setAntialias(g._context,!1),g._subModules=[new wd.Anchor(g),new wd.RotateX(g),new wd.MoveDummy(g),new wd.Rect(g),new wd.Curve(g),new wd.MoveHelper(g)],g._gridGuide=new wd.Guide.Grid(g),g._rectGuide=new wd.Guide.Rect(g),g._hoverGuide=new wd.Guide.Hover(g)},pc=yb;K.Default.def(yb,K.graph.Interactor,{ms_edit:1,ms_fire:1}),F.defineProperties(yb.prototype,{editDetail:{get:function(){var q=!!this._editDetail;return q},set:function(G){var k=this,R=k._editDetail;R!==G&&(k._editDetail=G,k.gv._editing=G,k.fp("editDetail",R,G),k.fp("pointsEditingMode",R,G),k.fi({kind:G?"beginEditPoints":"endEditPoints"}))}},gvEditing:{get:function(){return this.gv._editing},set:function(d){(!this._editDetail||d)&&(this.gv._editing=d,d||(this.editDetail=!1))}},editing:{get:function(){return this._editing},set:function(j){this._editing=j,this.gvEditing=j}},pointsEditingMode:{get:function(){return this.editDetail},set:function(J){var M=this;M.editDetail!==J&&(J?M._tryEnterEditDetailMode():M._tryQuitEditDetailMode())}},gridEnabled:{get:function(){var M=this._gridEnabled;if(!M)return!1;var s=this.gv;return s?!0:!0},set:function(K){K!==this._gridEnabled&&(this._gridEnabled=K,this._42())}},alignmentGuideEnabled:{get:function(){return this._agEnabled},set:function(h){h!==this._agEnabled&&(this._agEnabled=h,this._42())}},gridGuide:{get:function(){return this._gridGuide}},rectGuide:{get:function(){return this._rectGuide}},hoverGuide:{get:function(){return this._hoverGuide}}}),yb.prototype.getSubModule=function(U){var d,t,f,H=this._subModules;
|
||
for(t=0,f=H.length;f>t;t++)if(d=H[t],d.catalog===U)return d},yb.prototype.invokeSubModule=function(A,S){var r=this,V=r._subModules;if(V)for(var b,g,D,o=Array.prototype.slice.call(arguments,2),k=0,q=V.length;q>k;k++)if(b=V[k],g=b[A],g&&(D=g.apply(b,o),D!=a&&S))return b},yb.prototype.invokeSubModuleInverse=function(P,C){var A=this,B=A._subModules;if(B)for(var Q,o,K,H=Array.prototype.slice.call(arguments,2),Y=B.length-1;Y>=0;Y--)if(Q=B[Y],o=Q[P],o&&(K=o.apply(Q,H),K!=a&&C))return Q},yb.prototype.setUp=function(){wd.log("setUp");var y=this,s=y.gv,h=s.getView(),l=y._canvas;yb.superClass.setUp.call(y),s.setEditInteractor(y),s._79O?h.insertBefore(l,s._79O):h.appendChild(l),wd.startEdit(s),y.invokeSubModule("setUp"),s.dm().mm(y._onDataModelChanged,y),s.dm().md(y._onDataPropertyChanged,y)},yb.prototype.tearDown=function(){wd.log("tearDown");var u=this,n=u.gv,S=n.getView();u._resetCustomCursorStyle(),yb.superClass.tearDown.call(u),n.dm().umm(u._onDataModelChanged,u),n.dm().umd(u._onDataPropertyChanged,u),n.setEditInteractor(null),S.removeChild(u._canvas),u._drawTimer&&(i(u._drawTimer),u._drawTimer=null),wd._46O(n),u.invokeSubModule("tearDown")},yb.prototype._onDataModelChanged=function(j){var R=this;("clear"===j.kind||"remove"===j.kind&&R.editDetail&&j.data===R.getSubModule("Curve").target)&&(R.editDetail=!1,R._42())},yb.prototype._onDataPropertyChanged=function(v){var n=this;if(n.editDetail){var y=n.getSubModule("Curve"),I=v.data;I===y.target&&(I._writing||y._handleDataChanged(v))}},yb.prototype.clear=function(){wd.log("clear")},yb.prototype.redraw=function(){this._42()},yb.prototype._42=function(){var y=this;y._drawTimer||(y._drawTimer=f(function(){y._drawTimer=null,y.drawImpl()},0))},yb.prototype.drawImpl=function(){var G;for(G in{_42:!0})break;return function(){var l=this,r=l._canvas,b=l.gv,s=b.getWidth(),o=b.getHeight(),j=l._context,y=K.Default.getInternal(),X=C.devicePixelRatio;(r.width!==s||r.height!==o)&&y.setCanvas(r,s,o,X),j.clearRect(0,0,r.width,r.height);var t=l._getValidSelection();j.save(),j.scale(X,X),l._gridGuide._42(),l.invokeSubModuleInverse(G,!1,j,b,t),l._rectGuide._42(),l._hoverGuide._42(),j.restore()}}(),yb.prototype._getValidSelection=function(){var s=this,m=s.gv,W=m.sm().getSelection(),Z=[];return W.each(function(o){m.isVisible(o)&&m.isEditable(o)&&Z.push(o)}),Z},yb.prototype.handle_touchmove=function(C){return this.handle_mousemove(C)},yb.prototype.handle_mousemove=function(Y){if(!K.Default.isDragging()){var e=this;if((e.editDetail||!Mp()&&!Sn(Y))&&!e.gv._externalEditing)if(e.gvEditing=!1,e._checkEdit(Y))e.gvEditing=!0;else{if(!e.getStyle("hoverGuideVisible"))return;e.hoverData=e.gv.getDataAt(Y),e._42()}}},yb.prototype.handle_touchstart=function(e){return this.handle_mousedown(e)},yb.prototype.handle_mousedown=function(q){nm(q);var W=this;if((W.editDetail||!Mp()&&!Sn(q))&&!W.gv._externalEditing){if(Gj(q)&&!q.clickThrough){if(W.editDetail){if(W._tryQuitEditDetailMode(q))return}else if(W._tryEnterEditDetailMode())return;W.gv.dm().beginTransaction();var Z=W.invokeSubModule("handleDoubleClick",!0,q);if(W.gv.dm().endTransaction(),Z)return}var X=W._checkEdit(q);X&&(W._downPosition=W._getLogicalPoint(q),W.gv.dm().beginTransaction(),X.startEdit(W,q),W.editing=!0)}},yb.prototype._checkEdit=function(x){var e=this,A=e.gv,r=e._getLogicalPoint(x),Y=e.invokeSubModule("check",!0,A,x,r)||null;return e._editMod=Y,Y},yb.prototype.handleWindowTouchMove=function($){return this.handleWindowMouseMove($)},yb.prototype.handleWindowMouseMove=function(H){var N=this,D=N._downPosition;if(D){var f=N._getLogicalPoint(H);if(f.distanceTo(D)<N.getStyle("moveSensitivity"))return;delete N._downPosition}var e=N._editMod;e&&e.handleEdit(N.gv,H)},yb.prototype._getLogicalPoint=function(B){var n=this,s=K.Default.getLogicalPoint(B,n._canvas);return new wd.Math.Vector2(s)},yb.prototype.handleWindowTouchEnd=function(O){return this.handleWindowMouseUp(O)},yb.prototype.handleWindowMouseUp=function(){var k;for(k in{_46O:!0})break;return function(V){var n=this;n.editing=!1,n.setCursor("default"),n.invokeSubModule(k,!1,V),n._42(),n.gv.dm().endTransaction()}}(),yb.prototype.handle_mousewheel=function(c){var $=this;nm(c),$.invokeSubModule("preHandleScroll",!0)||$.gv.handleScroll(c,c.wheelDelta)},yb.prototype.handleDelete=function(){var Q=this;if(!Q.editDetail){Q.gv.dm().beginTransaction();var d=Q.invokeSubModule("handleNormalStateDelete",!0);return Q.gv.dm().endTransaction(),d||Q.gv.removeSelection(),void 0}Q.gv.dm().beginTransaction(),Q.invokeSubModule("handleDelete",!0),Q.gv.dm().endTransaction(),Q._42()},yb.prototype.handle_keydown=function(b){var S=this;if((b.metaKey||b.ctrlKey)&&S._42(),Mp(b)&&!S.editing)return S.gvEditing=!1,S.setCursor("default"),S._42(),void 0;var l=ki(b);return S.editDetail?((l||kj(b))&&(S.editDetail=!1,S._42()),S.gv.dm().beginTransaction(),S.invokeSubModule("handle_keydown",!0,b),S.gv.dm().endTransaction(),void 0):(S.gv.dm().beginTransaction(),S.invokeSubModule("handleNormalStateKeyDown",!0,b),S.gv.dm().endTransaction(),l&&S._tryEnterEditDetailMode(),void 0)},yb.prototype.handle_keyup=function(L){this.gv.dm().beginTransaction(),this.invokeSubModule("handle_keyup",!0,L),this.gv.dm().endTransaction()},yb.prototype._tryEnterEditDetailMode=function(){var o=this;return!o.editDetail&&o.invokeSubModule("canEnterEditDetailMode",!0)&&1===o._getValidSelection().length?(o.editDetail=!0,o._42(),!0):void 0},yb.prototype._tryQuitEditDetailMode=function(i){var A=this;return A.editDetail?!i||A.invokeSubModule("canQuitEditDetailMode",!0,i)?(A.editDetail=!1,A._42(),!0):!1:!1},yb.prototype.setStyle=function(Z,U,W){var c=this;W?wd.setStyle(Z,U):c._styleMap[Z]=U,"baseColor"===Z&&(ar=U),c.fp("styleChanged",null,{key:Z,value:U,base:W}),c._42()},yb.prototype.getStyle=function(s){var b=this,Z=b._styleMap[s];return Z!==a?Z:wd.getStyle(s)},yb.prototype.setCursor=function(f){this._resetCustomCursorStyle(),K.graph.EditInteractor.superClass.setCursor.call(this,f)},yb.prototype._resetCustomCursorStyle=function(){var P=this;if(P._customStyle){var Z=this.gv.getView();Z.classList&&Z.classList.remove&&Z.classList.remove(P._customStyle),P._customStyle=null}},yb.prototype._setRotateCursor=function(X){var y=this,Q=y._cursorFactory;Q||(Q=y._cursorFactory=new wd.CursorFactory(y));var o=Q.getRotateCursor(X),m=y.gv.getView();y._resetCustomCursorStyle(),y._customStyle=o,m.classList&&m.classList.add&&m.classList.add(o)};var ti=wd.Group=function(w){var Y=this;Y._entities=w,Y._64O=0,Y._position={x:0,y:0},Y._scale={x:1,y:1},Y._anchor={x:.5,y:.5},Y._anchor2={x:.5,y:.5}};ti.prototype={},ti.prototype.constructor=ti;var Up=null;ti.findOrCreateGroup=function(h){if(Up&&Up.checkIsMe(h))return Up;var j=new wd.Group(h);return j.getKeyOb()?(Up=j,j):void 0},ti.prototype.checkIsMe=function(Z){var J=this._entities;if(J.length!==Z.length)return!1;var j,z={},S=Z.length;for(j=0;S>j;j++)z[Z[j]._id]=!0;for(j=0;S>j;j++)if(!z[J[j]._id])return!1;return!0},ti.prototype.getRotation=function(){return this._64O},ti.prototype.getPosition=function(){return this._position},ti.prototype.getAnchor=function(){return this._anchor},ti.prototype.getWidth=function(){return this._width},ti.prototype.getScale=function(){return this._scale},ti.prototype.getSize=function(){return{width:this._width,height:this._height}},ti.prototype.getHeight=function(){return this._height},ti.prototype.getKeyOb=function(){for(var r=this._entities,O=r.length-1;O>=0;O--){var j=r[O];if(this.isNode(j))return j}},ti.prototype.getAnchor2=function(){var q=this,s=q.rotateCenter;if(s)return s;var w=q.getKeyOb();if(!w)return q._anchor;var O=q._anchor2,V=w.getMatrix();return V.tf({x:w.getWidth()*(O.x-w.getAnchor().x),y:w.getHeight()*(O.y-w.getAnchor().y)})},ti.prototype.setAnchor2=function(M,u){var Y=this,K=Y.getKeyOb();if(K){var s,i=K.getMatrix();s="number"==typeof M?{x:M,y:u}:M;var h=i.tfi(s);Y._anchor2={x:K.getAnchor().x+h.x/K.getWidth(),y:K.getAnchor().y+h.y/K.getHeight()}}},ti.prototype.setRotation=function(){},ti.prototype.beginRotate=function(_){this.rotateCenter=_.pos,this.rotateMode=_.groupRotateMode},ti.prototype.endRotate=function(){delete this.rotateCenter,delete this.rotateMode},ti.prototype.addRotation=function(g,z){return"batch"===z?this._addRotationInBatchMode(g):"block"===z?this._addRotationInBlockMode(g):void 0},ti.prototype._addRotationInBlockMode=function(H){var M=this,a=M.rotateCenter||M.getPosition();M._entities.forEach(function(K){if(M.isNode(K)){var x=K.getMatrix();x.translate(-a.x,-a.y),x.rotate(H),x.translate(a.x,a.y);var t=Math.sign(K.getScale().x);K.setRotation(v(x.b*t,x.a*t)),K.setPosition(x.tx,x.ty)}})},ti.prototype._addRotationInBatchMode=function(F){var L=this,m=L._anchor2;L._entities.forEach(function(G){if(L.isNode(G)){var u=G.getAnchor(),D=G.getMatrix(),H=D.tf({x:G.getWidth()*(m.x-u.x),y:G.getHeight()*(m.y-u.y)}),N=new wd.Math.Matrix2d;N.set(D.a,D.b,D.c,D.d,D.tx,D.ty),N.translate(-H.x,-H.y),N.rotate(F),N.translate(H.x,H.y);var j=Math.sign(G.getScale().x);G.setRotation(v(N.b*j,N.a*j)),G.setPosition(N.tx,N.ty)}})},ti.prototype.setPosition=function(S){var Q,M,e,s,a=this,h=a._position,E=S.x-h.x,K=S.y-h.y,Z=a._entities;for(M=0,e=Z.length;e>M;M++)Q=Z[M],lm(Q)&&(s=Q.getPosition(),Q.setPosition(s.x+E,s.y+K));a._position=S},ti.prototype.setScale=function(q,c){var L=this,X=q/L._scale.x,r=c/L._scale.y;L._adjustChildScaleOrSize(X,r,"size"),L._scale={x:q,y:c}},ti.prototype.getRect=function(){var t=this,j=t._position,v=t._width,J=t._height;return{x:j.x-v/2,y:j.y-J/2,width:v,height:J}},ti.prototype.setSize=function(M,$){var W=this,M=Math.max(1,M),$=Math.max(1,$),I=M/W._width,m=$/W._height;W._adjustChildScaleOrSize(I,m,"size"),W._width=M,W._height=$},ti.prototype._adjustChildScaleOrSize=function(w,D,l){var O,r,X,A,N,J,x,u,B,Q,p,z,W,G,R=this,Z=R._position,n=R._entities,k=new wd.Math.Matrix2d;for(r=0,X=n.length;X>r;r++)if(O=n[r],R.isNode(O)){if(A=O.getPosition(),N=O.getRotation(),J=O.getWidth(),x=O.getHeight(),u=O.getScale(),p=u.x*J,z=u.y*x,k.identity().scale(p,z).rotate(N).translate(A.x,A.y).translate(-Z.x,-Z.y).rotate(-R._64O),N=v(k.b*Math.sign(p),k.a*Math.sign(p)),k.scale(w,D),B=Math.cos(N),Q=Math.sin(N),Math.abs(B)<.001?(W=k.b/Q,G=-k.c/Q):(W=k.a/B,G=k.d/B),"scale"===l)O.setScale(W/J,G/x);else if("size"===l){var h=W/u.x,a=G/u.y;O.setScale($g(W)*Math.abs(u.x),$g(G)*Math.abs(u.y)),O.setSize(Math.max(.1,Math.abs(h)),Math.max(.1,Math.abs(a)))}k.rotate(R._64O).translate(Z.x,Z.y),O.setPosition(k.tx,k.ty)}},ti.prototype.getMatrix=function(){var s=this,V=s._position,w=K.Default.getInternal(),j=s._scale;return new w.Mat(s._64O,V.x,V.y,j.x,j.y)},ti.prototype.toGlobal=function(E){return this.getMatrix().tf(E)},ti.prototype.getCorners=function(){var y=this,L=y._width,P=y._height,z=y._anchor,C=-L*z.x,k=-P*z.y,v=y.getMatrix();return[v.tf(C,k),v.tf(C,k+P),v.tf(C+L,k+P),v.tf(C+L,k)]},ti.prototype.calcInfo=function(){var W,q,T,_,R,Q,c=this,o=[],V=c._entities,x=c._64O;for(_=0,R=V.length;R>_;_++)Q=V[_],c.isNode(Q)&&Q.getCorners&&o.push.apply(o,Q.getCorners());if(o.length){var v=Math.cos(-x),A=Math.sin(-x),h=1/0,O=-1/0,L=1/0,X=-1/0;for(_=0,R=o.length;R>_;_++)T=o[_],W=T.x,q=T.y,T.x=v*W-A*q,T.y=A*W+v*q,h=Math.min(h,T.x),O=Math.max(O,T.x),L=Math.min(L,T.y),X=Math.max(X,T.y);c._width=(O-h)/c._scale.x,c._height=(X-L)/c._scale.y,v=Math.cos(x),A=Math.sin(x);var g=c._anchor;W=h+(O-h)*g.x,q=L+(X-L)*g.y,c._position={x:v*W-A*q,y:A*W+v*q}}},ti.prototype.isNode=function(P){return lm(P)?Nd(P)?!1:!0:!1},ti.prototype._42=function(e,j,m){var q,y,c,H,W,w,t,I,O=this,X=O._entities,F=O.rotateMode;for("batch"===F&&(I=O.getKeyOb()),q=0,y=X.length;y>q;q++)c=X[q],O.isNode(c)&&(w=c.getRect(),H=wd.toScreenPosition(m,{x:w.x,y:w.y}),W=wd.toScreenPosition(m,{x:w.x+w.width,y:w.y+w.height}),t={min:H,max:W},c===I&&(t.isKeyOb=!0),wd.Icons.DrawIcon(e,j,wd.Icons.GroupSubEntityRect,t))};var Cl=wd.CurveActiving=function(X,Q){this._curve=X,this._interactor=X._interactor;for(var s in Q)this[s]=Q[s]};Cl.prototype={},Cl.prototype.constructor=Cl,F.defineProperties(Cl.prototype,{point:{get:function(){return this._point},set:function(v){var l=this;l._point=v,l.editingCtrl||l._firePointChange()}},pairs:{get:function(){return this._pairs},set:function(_){var B=this;B._pairs=_,B.editingCtrl&&B._firePointChange()}}}),Cl.prototype._firePointChange=function(){var P=this,E=P.getCurrentEditingPoint(),d=P._interactor;if(!E)return d.fi({kind:"selectPoint"}),void 0;var w=this._curve.target;if(w){var z=wd.getDataMatrix(w).invert(),p=E.e;E=z.apply(wd.toWorldPosition(d.gv,E)),E.e=p;var O=P._lastFirePoint;O&&Math.abs(E.x-O.x)<1e-5&&Math.abs(E.y-O.y)<1e-5&&(E.e==a&&O.e==a||Math.abs(E.e-O.e)<1e-5)||(P._lastFirePoint=E,d.fi({kind:"selectPoint",x:E.x,y:E.y,e:E.e}))}},Cl.prototype.dispose=function(){this._interactor.fi({kind:"selectPoint"})},Cl.prototype.getCurrentEditingPoint=function(){var I=this,s=I.editingCtrl;if(s){var i=I.pairs;if(i){var t=i[s.pairId],D=t[s.type];if(D)return D}}return I._point};var Kd=wd.CursorFactory=function(q){var h=this;h._interactor=q,h._rotateCursorStyles={}};Kd.prototype={},Kd.prototype.constructor=Kd,Kd.prototype.getRotateCursor=function(m){var u=this;0>m&&(m+=2*Math.PI);var L=u._interactor,x=L.getStyle("rotateCursorSize"),Z=L.getStyle("rotateCursorRound"),C=Math.round(180*(m/Math.PI)/Z);C*Z>=360&&(C=0);var n=u._rotateCursorStyles,p="htCustomRotateStyle_"+x+"_"+Z+"_"+C;return n[p]||(u._produceRotateCursor(p,x,Z,C),n[p]=!0),p},Kd.prototype._produceRotateCursor=function(b,o,B,u){var $=this;$._interactor;var x=$._canvas;x||(x=$._canvas=E.createElement("canvas")),x.width=x.height=o*devicePixelRatio,x.style.width=x.style.height=o+" px";var R=x.getContext("2d");wd.setAntialias(R,!1),R.scale(devicePixelRatio,devicePixelRatio);var f,N,i,s,l,K=Math.round(o/2),J=""+K+" "+K+",auto !important;";f=Math.PI/180*u*B,R.clearRect(0,0,o,o),R.save(),R.scale(o/32,o/32),R.translate(16,16),R.rotate(f+Math.PI/2),R.beginPath(),R.moveTo(-8,0),R.lineTo(-8,3),R.lineTo(-5,3),R.moveTo(8,0),R.lineTo(8,3),R.lineTo(5,3),R.moveTo(-8,3),R.quadraticCurveTo(0,-6,8,3),R.restore(),R.strokeStyle="white",R.lineWidth=4,R.stroke(),R.strokeStyle="black",R.lineWidth=2,R.stroke(),N=JSON.stringify(x.toDataURL()),s="cursor:url("+N+")"+J,1!==devicePixelRatio&&(i='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+o+'px" height="'+o+'px"><image xlink:href='+N+' width="'+o+'" height="'+o+'"/></svg>',s+="cursor:url(data:image/svg+xml;base64,"+btoa(i)+")"+J,s+="cursor:-webkit-image-set(url("+N+")"+devicePixelRatio+"x,url("+N+")1x)"+J),l=E.createElement("style"),l.textContent="body."+b+" *, ."+b+"{"+s+"}",E.head.appendChild(l)};var vs=wd.Guide.Grid=function(_){var X=this;X._interactor=_,X._alignmentGuideId=0,X._xAlignmentGuide=[],X._yAlignmentGuide=[]};vs.prototype={},vs.prototype.constructor=vs,F.defineProperties(vs.prototype,{gridBlockSize:{get:function(){var E=this;return E._gridBlockSize||E._interactor.getStyle("gridBlockSize")},set:function(B){this._gridBlockSize=B,this._interactor._42()}},gridThickLinesEvery:{get:function(){var i=this;return i._gridThickLinesEvery||i._interactor.getStyle("gridThickLinesEvery")},set:function(k){this._gridThickLinesEvery=k,this._interactor._42()}},gridEnabled:{get:function(){var U=this,h=U._interactor;return h.gridEnabled&&U.isValidGrid()}}}),vs.prototype._42=function(){var m=this,Y=m._interactor;m.gridEnabled&&m.drawGrid(),Y.alignmentGuideEnabled&&m.drawAlignmentGuide()},vs.prototype.makeMatrix=function(){var L=this,J=L._interactor.getStyle("gridAngle"),U=L._interactor.getStyle("gridRotation"),_=new wd.Math.Matrix2d,O=Math.sin(J),w=Math.cos(J);return _.set(1,0,w,O,0,0),_.rotate(U),_},vs.prototype.isValidGrid=function(){var T=this,D=Math.PI,f=T._interactor,q=f.gv;if(q._zoom<f.getStyle("gridZoomThreshold"))return!1;var U=f.getStyle("gridAngle"),b=Math.abs(180*(U%D/D)),S=1-1e-8;return S>b||b>180-S?!1:!0},vs.prototype.drawAlignmentGuide=function(){var s=this,V=s._interactor,G=V.gv,w=V._canvas,B=V._context,i=w.width,K=w.height,c=G.tx(),U=G.ty(),d=G._zoom;B.beginPath(),B.strokeStyle=V.getStyle("gridAlignmentGuideColor"),B.lineWidth=1,s._xAlignmentGuide.forEach(function($){var R=$.p*d+c;B.moveTo(R,0),B.lineTo(R,K)}),s._yAlignmentGuide.forEach(function(A){var x=A.p*d+U;B.moveTo(0,x),B.lineTo(i,x)}),B.stroke()},vs.prototype.drawGrid=function(){function V(Q,p,s,N){var F=wd.toScreenPosition(y,n.apply({x:Q,y:p})),k=wd.toScreenPosition(y,n.apply({x:s,y:N}));h.moveTo(F.x,F.y),h.lineTo(k.x,k.y)}var i=this,r=i._interactor,l=i.gridBlockSize,s=i.gridThickLinesEvery,M=r.getStyle("gridThickColor"),O=r.getStyle("gridLightColor"),y=r.gv,Z=r._canvas,h=r._context,Y=Z.width,c=Z.height,n=i.makeMatrix(),Q=n.applyInverse(wd.toWorldPosition(y,{x:0,y:0})),B=n.applyInverse(wd.toWorldPosition(y,{x:Y,y:0})),G=n.applyInverse(wd.toWorldPosition(y,{x:0,y:c})),J=n.applyInverse(wd.toWorldPosition(y,{x:Y,y:c})),t=Math.min(Q.x,B.x,G.x,J.x),j=Math.max(Q.x,B.x,G.x,J.x),q=Math.min(Q.y,B.y,G.y,J.y),k=Math.max(Q.y,B.y,G.y,J.y);Y=j-t,c=k-q;var T=Math.ceil(t/l),w=Math.floor(j/l),W=Math.ceil(q/l),z=Math.floor(k/l);y.tx(),y.ty(),y._zoom;var K,E,L;for(h.save(),h.lineWidth=1,h.beginPath(),h.strokeStyle=M,L=Math.ceil(T/s)*s;w>=L;L+=s)K=L*l,V(K,q,K,k);for(L=Math.ceil(W/s)*s;z>=L;L+=s)E=L*l,V(t,E,j,E);for(h.stroke(),h.beginPath(),h.strokeStyle=O,L=T;w>=L;L++)0!==L%s&&(K=L*l,V(K,q,K,k));for(L=W;z>=L;L++)0!==L%s&&(E=L*l,V(t,E,j,E));h.stroke(),h.restore()},vs.prototype.getAlignmentGuides=function(){var T=this;return{x:T._xAlignmentGuide,y:T._yAlignmentGuide}},vs.prototype.addAlignmentGuide=function(s,f,w){var K=this,p="x"===s?K._xAlignmentGuide:K._yAlignmentGuide,w=w?w:++K._alignmentGuideId,E={p:f,id:w};if(p.length){var v=K._findClosestAlignmentGuide(E.p,p);v.dis<0?p.splice(v.index+1,0,E):p.splice(v.index,0,E)}else p.push(E);return K._interactor._42(),w},vs.prototype.findClosest=function(S,h,d){var U=this,Y=U._interactor,b=Y.gv;d&&(S=wd.toWorldPosition(b,S));var Z,o,E,e=1/0,a=1/0,Q=S.x,p=S.y;if(U.gridEnabled){var f=U.gridBlockSize,n=U.makeMatrix(),G=n.applyInverse(S);G=n.apply({x:Math.round(G.x/f)*f,y:Math.round(G.y/f)*f}),e=G.x-Q,a=G.y-p,E=!0}if(Y.alignmentGuideEnabled&&(Z=U._findClosestAlignmentGuide(Q,U._xAlignmentGuide).dis,o=U._findClosestAlignmentGuide(p,U._yAlignmentGuide).dis,Math.abs(Z)<Math.abs(e)&&(e=Z,E=!0),Math.abs(o)<Math.abs(a)&&(a=o,E=!0)),E){E=!1;var l=b._zoom,N=Y.getStyle("smartGuideThreshold")/l,D={};if(Math.abs(e)<N&&"y"!==h&&(D.x=d?e*l:e,E=!0),Math.abs(a)<N&&"x"!==h&&(D.y=d?a*l:a,E=!0),E)return D}},vs.prototype._findClosestAlignmentGuide=function(h,p){if(!p.length)return{dis:1/0};for(var E,L=0,D=p.length-1;D-L>1;)E=Math.floor((L+D)/2),p[E].p<h?L=E:D=E;var d=p[L].p-h,e=p[D].p-h;return Math.abs(d)<=Math.abs(e)?{line:p[L],dis:d,index:L}:{line:p[D],dis:e,index:D}},vs.prototype.removeAllAlignmentGuide=function(C){var Y=this;"y"!==C&&(Y._xAlignmentGuide=[]),"x"!==C&&(Y._yAlignmentGuide=[]),Y._interactor._42()},vs.prototype.removeAlignmentGuide=function(y){for(var A,n,T,R=this,f=R._xAlignmentGuide,D=0;2>D;D++)for(f=0===D?R._xAlignmentGuide:R._yAlignmentGuide,A=0,n=f.length;n>A;A++)if(T=f[A],T.id===y)return f.splice(A,1),R._interactor._42(),{axis:0===D?"x":"y",position:T.p};return!1},vs.prototype.adjustAlignmentGuide=function(O,J){var D=this,M=D.removeAlignmentGuide(O);return M?(D.addAlignmentGuide(M.axis,J,O),!0):!1};var Gg=wd.Guide.Rect=function(D){var V=this;V._interactor=D};Gg.prototype={},Gg.prototype.constructor=Gg,Gg.prototype.gatherRects=function(){var t,Q,y,Y,f=this,L=f._interactor.gv,c=[],m=[],z={x:c,y:m},H={},n=L.getDataModel(),l=n.a("width"),W=n.a("height");l&&W&&(t=0,Q=0,y=l,Y=W,c.push({node:n,type:0,p:t},{node:n,type:1,p:t+y/2},{node:n,type:2,p:t+y}),m.push({node:n,type:0,p:Q},{node:n,type:1,p:Q+Y/2},{node:n,type:2,p:Q+Y}),H[n._id||0]={x:t,y:Q,width:y,height:Y}),n.each(function(C){if(lm(C)&&!L.isSelected(C)&&L.isVisible(C)&&L.isValidGuideLineSource(C)){var x=!1;if(L.sm().getSelection().each(function(R){x||(C.isHostOn(R)?x=!0:C.isDescendantOf(R)&&(x=!0))}),!x){var I=C.getRect();t=I.x,Q=I.y,y=I.width,Y=I.height,c.push({node:C,type:0,p:t},{node:C,type:1,p:t+y/2},{node:C,type:2,p:t+y}),m.push({node:C,type:0,p:Q},{node:C,type:1,p:Q+Y/2},{node:C,type:2,p:Q+Y}),H[C._id]=I}}}),c.sort(function(g,p){return g.p-p.p}),m.sort(function(c,w){return c.p-w.p}),f._grid=z,f._87I=H},Gg.prototype.gatherLines=function(C,P,z){var Q,D,E,T,g,H,U,B,n,d,i,q,W=this,s=[W.findClosest({x:C.x,y:C.y},P),W.findClosest({x:C.x+C.w/2,y:C.y+C.h/2},P),W.findClosest({x:C.x+C.w,y:C.y+C.h},P)],p={},c=W._87I;z=z||255;var J,x;for(W._guideLine=[],Q=0;2>Q;Q++)for(p={},0===Q?(T="y",B=C.x,n=B+C.w):(T="x",B=C.y,n=B+C.h),D=0;3>D;D++)g=s[D],g&&isFinite(g[T])&&(J=1<<3*Q+D,z&J&&(H=g[T+"Line"],U=H.node,x=U._id||0,p[x]||(p[x]=!0,q=c[x],"y"===T?(d=q.x,i=q.x+q.width):(d=q.y,i=q.y+q.height),E=H.p,W._guideLine.push({type:T,a:B,b:n,c:d,d:i,p:E,center:1===H.type}))))},Gg.prototype._binarySearchClosest=function(C,l){if(!l.length)return{dis:1/0};for(var r,A=0,E=l.length-1;E-A>1;)r=Math.floor((A+E)/2),l[r].p<C?A=r:E=r;var L=l[A].p-C,V=l[E].p-C;return Math.abs(L)<=Math.abs(V)?{line:l[A],dis:L}:{line:l[E],dis:V}},Gg.prototype.findClosest=function(X,l,L){var O=this,P=O._interactor,q=P.gv,K=O._grid;L&&(X=wd.toWorldPosition(q,X));var y,j=O._binarySearchClosest(X.x,K.x),V=O._binarySearchClosest(X.y,K.y),v=j.dis,W=V.dis,$=q._zoom,A=P.getStyle("smartGuideThreshold")/$,i={};return Math.abs(v)<A&&"y"!==l&&(i.x=L?v*$:v,i.xLine=j.line,y=!0),Math.abs(W)<A&&"x"!==l&&(i.y=L?W*$:W,i.yLine=V.line,y=!0),y?i:void 0},Gg.prototype._42=function(){var w=this,Y=w._guideLine;if(Y&&!K.Default.isCtrlDown()){var f=w._interactor;if(f.getStyle("guideLineVisible")){var Q,R,D,$,q,x,Z,X,o,A,g,F,a,v,T,e,B,m=f.gv,G=f._context,C=m.tx(),z=m.ty(),J=m._zoom,i=f.getStyle("guideLineTextSpacing");for(Q=0,R=Y.length;R>Q;Q++)D=Y[Q],X=D.type,o=D.p,A=D.a,g=D.b,F=D.c,a=D.d,v=Math.min(A,F),T=Math.max(g,a),"x"===X?($=o*J+C,q=v*J+z,x=$,Z=T*J+z):($=v*J+C,q=o*J+z,x=T*J+C,Z=q),wd.Icons.DrawIcon(f,G,wd.Icons.MoveLineGuide,{rect:[$,q,x,Z],center:D.center}),a>=A&&g>=F||(v=A>a?a:g,T=A>a?A:F,B=T-v,"x"===X?(D.center2center||($-=i,x=$),q=v*J+z,Z=T*J+z,e=wd.Icons.MoveLineGuideDistanceV):"y"===X&&(D.center2center||(q-=i,Z=q),$=v*J+C,x=T*J+C,e=wd.Icons.MoveLineGuideDistanceH),wd.Icons.DrawIcon(f,G,e,{x0:$,y0:q,x1:x,y1:Z,dis:B}))}}},Gg.prototype.clear=function(){this._guideLine=null};var Yn=wd.Guide.Hover=function(y){var x=this;x._interactor=y};Yn.prototype={},Yn.prototype.constructor=Yn,F.defineProperties(Yn.prototype,{}),Yn.prototype._42=function(){var w=this._interactor;if(w.getStyle("hoverGuideVisible")&&!w.gvEditing){var N=w.hoverData,Q=w.gv;if(!lm(N)||Q.isSelected(N))return w.hoverData=null,void 0;var L=wi(Q,N),O=wd.toScreenPosition(Q,{x:L.x,y:L.y}),b=wd.toScreenPosition(Q,{x:L.x+L.width,y:L.y+L.height});wd.Icons.DrawIcon(w,w._context,wd.Icons.HoverDataRect,{min:O,max:b,color:w.getStyle("hoverGuideColor")||w.getStyle("baseColor")})}},wd.DefaultStyleMap={baseColor:"rgb(51,153,255)",pointSize:[24,9],checkSize:7,rotateCheckSize:10,moveSensitivity:10,moveDummyThreshold:32,moveDummyPosition:[0,0,-16,-16],moveDummyLineExtraShift:[-32,0],moveDummySensitivity:16,keepAspectRatio:!1,rotateRound:Math.PI/2,shiftRotateRound:Math.PI/12,rotateSensitivity:Math.PI/60,rotateAsClock:!1,shiftLineRotateRound:Math.PI/4,anchorMovable:!0,anchorVisible:!0,anchorHideThreshold:25,anchorOutsideVisibleThreshold:.25,anchorRound:.25,anchorSensitivity:.02,smartGuideThreshold:8,curveIntersectSize:5,curvePointIntersectSize:8,edgeHostDetectPerFrame:!0,edgeHostEdgeMaxDistance:12,edgeHostEdgeHighlighColor:"#5d5d5d",edgeHostPointHighlighColor:"red",edgeHostHighlighPeriod:1500,guideLineVisible:!0,guideLineTextSpacing:0,hoverGuideVisible:!1,hoverGuideColor:null,gridBlockSize:40,gridThickLinesEvery:10,gridThickColor:"#5d5d5d",gridLightColor:"#d0d0d0",gridZoomThreshold:.25,gridAlignmentGuideColor:"#ff0000",gridAngle:Math.PI/2,gridRotation:0,groupRotateModeDefault:"block",groupRotateModeKey:["ctrlKey","metaKey"],rotateCursorSize:32,rotateCursorRound:45,tipTextColor:"#ffffff",tipBackground:"#333333",curveHighlightColor:"#30599e",rectPointBackground:"white",rectPointBorderColor:"#666666",rectPointShadowColor:"rgba(0,0,0,0.35)",shapeCtrlPointBackground:"white",shapeCtrlPointBorderColor:null,shapeCtrlPointHighlightBorder:null,shapeHighlighPointBackground:"#30599e",curveElevationVisible:!0,curveElevationIntersectSize:8,curveElevationGuideShift:[20,0],connectGuideVisible:!0,connectGuideShift:[1,.25,8,0],connectGuideIntersectSize:8,connectGuideGarbageIntersectsize:25,connectGuideGarbageShift:[1,1,-48,-48]};var qn=wd.Icons={},Wn=1e4,yn=null,ar=wd.DefaultStyleMap.baseColor,yf="rgb(183,232,135)",up="rgb(255,204,153)",$i=6;K.Default.setImage("Icons.RectPoint",{width:$i,height:$i,comps:[{type:"rect",background:"rgb(247,247,247)",borderWidth:1,borderColor:{func:function(){return ar}},rect:[0,0,$i,$i]}]}),qn.GroupSubEntityRect={comps:[{type:"shape",points:{func:function(){var J=qn.GroupSubEntityRect.data;if(!J)return[];var Y=J.min,v=J.max;return[Y.x,Y.y,Y.x,v.y,v.x,v.y,v.x,Y.y]}},segments:[1,2,2,2,5],background:null,borderWidth:1,borderColor:{func:function(){return qn.GroupSubEntityRect.data.isKeyOb?ar:ar}}}]};var Ed=4;qn.HoverDataRect={comps:[{type:"shape",points:{func:function(){var v=qn.HoverDataRect.data;if(!v)return[];var u=v.min,n=v.max,x=Ed;return u.x-=x,u.y-=x,n.x+=x,n.y+=x,[u.x,u.y,u.x,n.y,n.x,n.y,n.x,u.y]}},segments:[1,2,2,2,5],background:null,borderWidth:1,borderColor:{func:function(){return qn.HoverDataRect.data.color}},borderCap:"round",borderPattern:[1,4]}]},qn.Line={comps:[{type:"image",name:"Icons.RectPoint",rect:{func:function(){return[[qn.Line.data.P1.x,qn.Line.data.P1.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rect:{func:function(){return[[qn.Line.data.P2.x,qn.Line.data.P2.y],$i,$i]}}}]},qn.NodeHoverGuide={comps:[{type:"shape",points:{func:function(){return qn.NodeHoverGuide.data}},segments:[1,2,2,2,5],background:null,borderWidth:1,borderColor:"#3399FF"}]},qn.Rect={comps:[{type:"shape",points:{func:function(){var V=qn.Rect.data;if(!V)return[];var i=V.LT,v=V.LB,W=V.RB,b=V.RT;return[i.x,i.y,v.x,v.y,W.x,W.y,b.x,b.y]}},segments:[1,2,2,2,5],background:null,borderWidth:1,borderColor:{func:function(){return ar}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},rect:{func:function(){return[[qn.Rect.data.LT.x,qn.Rect.data.LT.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},rect:{func:function(){return[[qn.Rect.data.LB.x,qn.Rect.data.LB.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},rect:{func:function(){return[[qn.Rect.data.RB.x,qn.Rect.data.RB.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},rect:{func:function(){return[[qn.Rect.data.RT.x,qn.Rect.data.RT.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},visible:{func:function(){return qn.Rect.data.L?!0:!1}},rect:{func:function(){return[[qn.Rect.data.L.x,qn.Rect.data.L.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},visible:{func:function(){return qn.Rect.data.R?!0:!1}},rect:{func:function(){return[[qn.Rect.data.R.x,qn.Rect.data.R.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},visible:{func:function(){return qn.Rect.data.T?!0:!1}},rect:{func:function(){return[[qn.Rect.data.T.x,qn.Rect.data.T.y],$i,$i]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return qn.Rect.data.rotation}},visible:{func:function(){return qn.Rect.data.B?!0:!1}},rect:{func:function(){return[[qn.Rect.data.B.x,qn.Rect.data.B.y],$i,$i]}}}]};var uc=16;K.Default.setImage("Icons.Anchor",{width:12,height:12,comps:[{type:"shape",borderWidth:1,borderColor:{func:function(){return ar}},borderCap:"round",shadowColor:"#1ABC9C",points:[.50928,6,11.49072,6,6,6,6,.50928,6,11.49072]},{type:"circle",borderWidth:1,borderColor:{func:function(){return ar}},shadowColor:"#1ABC9C",rect:[2.84391,2.84391,6.53697,6.53697]}]}),qn.Anchor={comps:[{type:"image",name:"Icons.Anchor",rect:{func:function(){return[[qn.Anchor.data.POS.x,qn.Anchor.data.POS.y],uc,uc]}}}]},qn.TipShiftX=12,qn.TipShiftY=12;var Mq=[8,28];qn.TipHelper={comps:[{type:"roundRect",rect:{func:function(){return[qn.TipHelper.data.helperPos.x,qn.TipHelper.data.helperPos.y,Mq[0]*qn.TipHelper.data.size,Mq[1]]}},background:{func:function(){return yn.getStyle("tipBackground")}},opacity:.6},{type:"text",text:{func:function(){return qn.TipHelper.data.text}},rect:{func:function(){return[qn.TipHelper.data.helperPos.x,qn.TipHelper.data.helperPos.y,Mq[0]*qn.TipHelper.data.size,Mq[1]]}},color:{func:function(){return yn.getStyle("tipTextColor")}},font:"bold 12px Arial",align:"center"}]};var dj=7;qn.ShapePoint={comps:[{type:"circle",visible:{func:function(){return!!qn.ShapePoint.data.dynamicVisible}},rect:{func:function(){var K=qn.ShapePoint.data.point,a=qn.ShapePoint.data.size||dj;return[K,a+10,a+10]}},background:{func:function(){var X=Date.now(),q=qn.ShapePoint.data.dynamicPeriod||1500,T=Math.sin(X%q/q*Math.PI);return"rgba(27,124,22,"+.5*T+")"}},borderWidth:0},{type:"circle",rect:{func:function(){var e=qn.ShapePoint.data.point,I=qn.ShapePoint.data.size||dj;return[e,I,I]}},background:{func:function(){var v=qn.ShapePoint.data.isEnd;return v?"rgba(27,124,222,0.7)":"#ffffff"}},borderWidth:1,borderColor:{func:function(){return qn.ShapePoint.data.color||ar}}},{type:"rect",visible:{func:function(){return!!qn.ShapePoint.data.dynamicVisible}},background:"red",borderWidth:0,rotation:Math.PI/4,borderColor:{func:function(){return ar}},rect:{func:function(){var _=5;return[qn.ShapePoint.data.point,_,_]}}}]},qn.ShapeBgCurve={comps:[{type:"shape",visible:{func:function(){return!!qn.ShapeBgCurve.data.dynamicVisible}},points:{func:function(){return qn.ShapeBgCurve.data.P}},segments:{func:function(){return qn.ShapeBgCurve.data.S}},background:null,borderWidth:6,borderColor:{func:function(){var z=Date.now(),d=qn.ShapeBgCurve.data.dynamicPeriod||1500,u=Math.sin(z%d/d*Math.PI);return"rgba(27,124,22,"+.3*u+")"}}},{type:"shape",points:{func:function(){return qn.ShapeBgCurve.data.P}},segments:{func:function(){return qn.ShapeBgCurve.data.S}},background:null,borderWidth:1,borderColor:{func:function(){return qn.ShapeBgCurve.data.color||ar}}}]};var $l=8;qn.ShapeHighlighPoint={comps:[{type:"circle",rect:{func:function(){var F=qn.ShapeHighlighPoint.data;return[[F.x,F.y],$l,$l]}},background:{func:function(){return yn.getStyle("shapeHighlighPointBackground")}},borderWidth:0}]};var Me=10;qn.ShapeHighlighRealPoint={comps:[{type:"circle",rect:{func:function(){var M=qn.ShapeHighlighRealPoint.data;return[[M.x,M.y],Me,Me]}},background:"#ffffff",borderWidth:2,borderColor:{func:function(){return ar}}}]};var Ui=8;qn.ShapeHighlighCtrlPoint={comps:[{type:"shape",points:{func:function(){var L=qn.ShapeHighlighCtrlPoint.data,C=L.x,P=L.y,s=Ui/2;return[C-s,P-s,C-s,P+s,C+s,P+s,C+s,P-s]}},segments:[1,2,2,2,5],borderWidth:2,background:{func:function(){return yn.getStyle("shapeCtrlPointBackground")}},borderColor:{func:function(){return yn.getStyle("shapeCtrlPointBorderColor")||ar}}}]};var lc=3;qn.ShapeHighlightCurve={comps:[{type:"shape",points:{func:function(){return qn.ShapeHighlightCurve.data}},segments:[1,4],background:null,borderWidth:lc,borderColor:{func:function(){return yn.getStyle("curveHighlightColor")}}}]},qn.ShapeGuideLine={comps:[{type:"shape",points:{func:function(){return qn.ShapeGuideLine.data}},background:null,borderWidth:1,borderColor:"rgb(255,204,153)"}]},qn.MoveLineGuide={comps:[{type:"shape",points:{func:function(){return qn.MoveLineGuide.data.rect}},background:null,borderWidth:1,borderColor:{func:function(){return qn.MoveLineGuide.data.center?yf:up}}}]};var Jb=5;qn.MoveLineGuideDistanceH={comps:[{type:"shape",points:{func:function(){var d=qn.MoveLineGuideDistanceH.data,K=d.x0,g=d.y0;return[K,g-Jb,K,g+Jb]}},rotation:-Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:up},{type:"shape",points:{func:function(){var B=qn.MoveLineGuideDistanceH.data,y=B.x1,K=B.y1;
|
||
return[y,K-Jb,y,K+Jb]}},rotation:-Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:up},{type:"text",text:{func:function(){return Math.round(qn.MoveLineGuideDistanceH.data.dis)}},rect:{func:function(){var F=qn.MoveLineGuideDistanceH.data;return[[(F.x0+F.x1)/2,F.y0-10],20,20]}},color:up,font:"12px Arial",align:"center"}]},qn.MoveLineGuideDistanceV={comps:[{type:"shape",points:{func:function(){var c=qn.MoveLineGuideDistanceV.data,$=c.x0,T=c.y0;return[$-Jb,T,$+Jb,T]}},rotation:Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:up},{type:"shape",points:{func:function(){var r=qn.MoveLineGuideDistanceV.data,m=r.x1,D=r.y1;return[m-Jb,D,m+Jb,D]}},rotation:Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:up},{type:"text",text:{func:function(){return Math.round(qn.MoveLineGuideDistanceV.data.dis)}},rect:{func:function(){var M=qn.MoveLineGuideDistanceV.data;return[[M.x0-10,(M.y0+M.y1)/2],20,20]}},color:up,font:"12px Arial",align:"center"}]},K.Default.setImage("Icons.EdgeElevationGuideImage",{width:16,height:16,comps:[{type:"oval",background:"rgb(255,255,255)",borderWidth:1,borderColor:"rgb(138,138,138)",rect:[.5,.5,15,15]},{type:"shape",borderWidth:2,borderColor:"rgb(44,44,44)",borderCap:"round",points:[4,8,8,4,12,8,8,4,8,13],segments:[1,2,2,1,2]}]}),qn.EdgeElevationGuide={comps:[{type:"image",name:"Icons.EdgeElevationGuideImage",rect:{func:function(){var w=qn.EdgeElevationGuide.data,F=w.x,b=w.y,N=yn.getStyle("curveElevationIntersectSize"),z=yn.getStyle("curveElevationGuideShift");return F+=z[0],b+=z[1],[F-N,b-N,2*N,2*N]}}}]},K.Default.setImage("Icons.ConnectGuideBgImage",{width:12,height:12,comps:[{type:"shape",background:"#3399ff",fillRule:"evenodd",shadowColor:"#1ABC9C",rotation:3.14159,points:[6.00001,11.99999,6.00001,11.99999,2.6863,11.99999,1e-5,9.30695,1e-5,5.99999,1e-5,5.99999,1e-5,2.68628,2.69305,-1e-5,6.00001,-1e-5,12.00001,-1e-5,11.99998,12.00001,6.00001,11.99999],segments:[1,2,4,2,4,2,2,2]}]}),K.Default.setImage("Icons.ConnectGuideHeaderImage",{width:12,height:12,comps:[{type:"oval",background:"#3399FF",borderColor:"#3399FF",shadowColor:"#1ABC9C",rect:[0,0,12,12]},{type:"shape",borderWidth:1,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[4.76,2.56,8.2,5.98,4.76,9.44]}]}),qn.ConnectGuide={comps:[{type:"image",name:"Icons.ConnectGuideBgImage",rotation:{func:function(){return qn.ConnectGuide.data.rotation}},rect:{func:function(){var B=qn.ConnectGuide.data.connect;B.x,B.y;var J=yn.getStyle("connectGuideIntersectSize");return[[B.x,B.y],2*J,2*J]}}},{type:"image",name:"Icons.ConnectGuideHeaderImage",rect:{func:function(){var m=qn.ConnectGuide.data.cursorPos||qn.ConnectGuide.data.connect,N=yn.getStyle("connectGuideIntersectSize");return[[m.x,m.y],2*N-2,2*N-2]}}},{type:"shape",background:null,borderColor:"#3399ff",borderWidth:2,segments:[1,4],points:{func:function(){var G=qn.ConnectGuide.data.connect,X=qn.ConnectGuide.data.cursorPos||G;return[G.x,G.y,G.x+.5*(X.x-G.x),G.y,X.x+.5*(G.x-X.x),X.y,X.x,X.y]}}}]},K.Default.setImage("Icons.ConnectGuideGarbageImage",{width:48,height:48,comps:[{type:"oval",background:"rgba(0,0,0,0.1)",borderColor:"#979797",shadowColor:"#1ABC9C",rect:[0,0,48,48]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[19.84721,19.69091,19.84721,32.25123]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[24.10371,19.69091,24.10371,32.25123]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[28.15279,19.69091,28.15279,32.25123]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[11.23055,15.22377,36.76945,15.189,19.12302,15.17121,20.94722,11.5228,26.41985,11.5228,28.24406,15.17121]},{type:"rect",borderWidth:2,borderColor:"rgb(255,255,255)",shadowColor:"#1ABC9C",rect:[15.48702,15.22377,17.02595,21.25344]}]}),K.Default.setImage("Icons.ConnectGuideDeletingImage",{width:56,height:56,comps:[{type:"oval",background:"rgba(232,0,0,0.75)",borderColor:"#979797",shadowColor:"#1ABC9C",rect:[0,0,56,56]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[22.67939,27.69091,22.67939,40.25123]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[26.93588,27.69091,26.93588,40.25123]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",points:[30.98497,27.69091,30.98497,40.25123]},{type:"shape",borderWidth:2,borderColor:"rgb(255,255,255)",borderCap:"round",shadowColor:"#1ABC9C",anchorX:0,anchorY:1,rotation:5.65062,points:[14.06272,23.22377,39.60163,23.189,21.9552,23.17121,23.7794,19.5228,29.25203,19.5228,31.07623,23.17121]},{type:"rect",borderWidth:2,borderColor:"rgb(255,255,255)",shadowColor:"#1ABC9C",rect:[18.3192,23.22377,17.02595,21.25344]}]}),qn.ConnectGuideGarbage={comps:[{type:"image",name:{func:function(){var i=qn.ConnectGuideGarbage.data.hover;return i?"Icons.ConnectGuideDeletingImage":"Icons.ConnectGuideGarbageImage"}},rect:{func:function(){var F=qn.ConnectGuideGarbage.data,J=yn.getStyle("connectGuideGarbageIntersectsize");return F.hover&&(J+=5),[[F.x,F.y],2*J,2*J]}}}]};var Yq=6;qn.ShapeActivingCtrl={comps:[{type:"shape",visible:{func:function(){return qn.ShapeActivingCtrl.data.c1?!0:!1}},points:{func:function(){var l=qn.ShapeActivingCtrl.data;return[l.point.x,l.point.y,l.c1.x,l.c1.y]}},segments:[1,2],background:null,borderWidth:1,borderColor:{func:function(){return ar}}},{type:"shape",visible:{func:function(){return qn.ShapeActivingCtrl.data.c2?!0:!1}},points:{func:function(){var y=qn.ShapeActivingCtrl.data;return[y.point.x,y.point.y,y.c2.x,y.c2.y]}},segments:[1,2],background:null,borderWidth:1,borderColor:{func:function(){return ar}}},{type:"shape",visible:{func:function(){return qn.ShapeActivingCtrl.data.c1?!0:!1}},points:{func:function(){var s=qn.ShapeActivingCtrl.data.c1,S=s.x,P=s.y,J=Yq/2;return"c1"===qn.ShapeActivingCtrl.data.hl&&(J+=.5),[S-J,P-J,S-J,P+J,S+J,P+J,S+J,P-J]}},segments:[1,2,2,2,5],borderWidth:2,background:{func:function(){return yn.getStyle("shapeCtrlPointBackground")}},borderColor:{func:function(){return"c1"===qn.ShapeActivingCtrl.data.hl?yn.getStyle("shapeCtrlPointHighlightBorder")||ar:yn.getStyle("shapeCtrlPointBorderColor")||ar}}},{type:"shape",visible:{func:function(){return qn.ShapeActivingCtrl.data.c2?!0:!1}},points:{func:function(){var f=qn.ShapeActivingCtrl.data.c2,c=f.x,O=f.y,N=Yq/2;return"c2"===qn.ShapeActivingCtrl.data.hl&&(N+=.5),[c-N,O-N,c-N,O+N,c+N,O+N,c+N,O-N]}},segments:[1,2,2,2,5],borderWidth:2,background:{func:function(){return yn.getStyle("shapeCtrlPointBackground")}},borderColor:{func:function(){return"c2"===qn.ShapeActivingCtrl.data.hl?yn.getStyle("shapeCtrlPointHighlightBorder")||ar:yn.getStyle("shapeCtrlPointBorderColor")||ar}}}]},qn.RoundPoint={comps:[{type:"circle",background:"rgb(247,247,247)",borderWidth:1,borderColor:{func:function(){return ar}},rect:{func:function(){return[[qn.RoundPoint.data.x,qn.RoundPoint.data.y],$i,$i]}}}]},qn.AttachPoint={comps:[{type:"rect",background:{func:function(){return qn.AttachPoint.data.isAttach?"rgb(51,153,255)":"rgb(247,247,247)"}},borderWidth:1,rotation:Math.PI/4,borderColor:{func:function(){return ar}},rect:{func:function(){var O=qn.AttachPoint.data.isAttach?$i+4:$i;return[[qn.AttachPoint.data.x,qn.AttachPoint.data.y],O,O]}}}]},qn.SimpleRect={comps:[{type:"rect",background:null,borderWidth:{func:function(){return qn.SimpleRect.data.borderWidth||1}},borderColor:{func:function(){return qn.SimpleRect.data.color||ar}},rect:{func:function(){var m=qn.SimpleRect.data;return[m.x,m.y,m.width,m.height]}}}]},K.Default.setImage("Icons.MoveDummyImage",{width:32,height:32,boundExtend:12,attachStyle:"close",comps:[{type:"oval",background:"rgb(255,255,255)",borderColor:"#979797",shadow:!0,shadowColor:"rgba(0,0,0,0.25)",shadowOffsetX:0,rect:[0,0,32,32]},{type:"shape",background:"rgb(51,153,255)",pixelPerfect:!0,points:[8.65079,11.90713,9.05502,11.46921,9.70629,11.46921,10.11052,11.90713,10.51476,12.28891,10.51476,12.92895,10.11052,13.34441,8.49359,14.97258,12.2889,14.97258,12.85034,14.97258,13.29949,15.42172,13.29949,15.99439,13.29949,16.57828,12.85034,17.0162,12.2889,17.0162,8.49359,17.0162,10.11052,18.6556,10.51476,19.0486,10.51476,19.7111,10.11052,20.09288,9.70629,20.50834,9.05502,20.50834,8.65079,20.09288,5.32709,16.76917,5.28217,16.71303,4.87794,16.32002,4.87794,15.67998,5.28217,15.26452,8.65079,11.90713,8.65079,11.90713,8.65079,11.90713,13.3444,10.09931,13.3444,10.09931,12.94017,10.50354,12.2889,10.50354,11.88467,10.09931,11.48043,9.69507,11.48043,9.0438,11.88467,8.63957,15.27574,5.25973,15.66874,4.86672,16.32001,4.86672,16.73547,5.25973,16.76917,5.31586,20.10409,8.63957,20.50832,9.0438,20.50832,9.68385,20.10409,10.09931,19.69986,10.49231,19.07105,10.50354,18.64436,10.09931,17.02742,8.45991,17.02742,12.26646,17.02742,12.83912,16.55581,13.31072,15.99438,13.31072,15.43295,13.31072,14.98379,12.83912,14.98379,12.26646,14.96134,8.45991,13.3444,10.09931,13.3444,10.09931,13.3444,10.09931,21.90069,13.33318,21.90069,13.33318,21.49646,12.91771,21.49646,12.27768,21.90069,11.89591,22.31615,11.45798,22.94497,11.45798,23.36043,11.89591,26.72904,15.2533,27.12205,15.66876,27.12205,16.3088,26.72904,16.7018,26.6729,16.75794,23.36043,20.08165,22.94497,20.49711,22.31615,20.49711,21.90069,20.08165,21.49646,19.69987,21.49646,19.03737,21.90069,18.64437,23.51763,17.00498,19.72231,17.00498,19.14965,17.00498,18.71173,16.56705,18.71173,15.98316,18.71173,15.41049,19.14965,14.96135,19.72231,14.96135,23.51763,14.96135,21.90069,13.33318,21.90069,13.33318,21.90069,13.33318,11.88467,23.32675,11.88467,23.32675,11.48043,22.94498,11.48043,22.27125,11.88467,21.88948,12.2889,21.48523,12.94017,21.48523,13.3444,21.88948,14.96134,23.52887,14.98379,19.7111,14.98379,19.14966,15.43295,18.67805,15.99438,18.67805,16.55581,18.67805,17.02742,19.14966,17.02742,19.7111,17.02742,23.52887,18.64436,21.88948,19.07105,21.48523,19.69986,21.48523,20.10409,21.88948,20.50832,22.27125,20.50832,22.94498,20.10409,23.32675,16.76917,26.65045,16.73547,26.72905,16.32001,27.13329,15.66874,27.13329,15.27574,26.72905,11.88467,23.32675,11.88467,23.32675,11.88467,23.32675],segments:[1,4,4,2,2,4,4,2,2,4,4,2,2,4,2,2,2,1,2,4,4,2,4,2,2,4,4,2,2,4,4,2,2,2,2,1,2,4,4,2,4,2,2,4,4,2,2,4,4,2,2,2,2,1,2,4,4,2,2,4,4,2,2,4,4,2,2,4,2,2,2]}]}),qn.MoveDummy={comps:[{type:"image",name:"Icons.MoveDummyImage",rect:{func:function(){var g=qn.MoveDummy.data;return[[g.pos.x,g.pos.y],2*g.size,2*g.size]}}}]},wd.Icons.DrawIcon=function(X,Z,i,Y){i.width=i.height=Wn,i.data=Y,yn=X,K.Default.drawImage(Z,i,0,0,Wn,Wn)},wd.Icons.MapPoints=function(Q,d){for(var V=0,D=Q.length;D>V;V++)Q[V]/=d},wd.roundTo=function(E,R,c){var C=Math.abs(E%R);return c>C||c>R-C?R*Math.round(E/R):E},wd.toFixed=function(J){return Math.round(100*J)/100},wd.getDataMatrix=function(d){if(d instanceof K.Shape){var e=new K.Math.Matrix2d,u=d.getPosition();return e.translate(-u.x,-u.y).scale(d.getScale().x,d.getScale().y).rotate(d.getRotation()).translate(u.x,u.y),e}return d.getMatrix?d.getMatrix():new K.Math.Matrix2d};var Er=wd.Math.Curve=function(){this._curves=[]};Er.prototype={},Er.prototype.constructor=Er,Er.prototype.createFromHtShape=function(U,E,k){E instanceof K.List&&(E=E.toArray());var P,W,O,H,q,o,I,T=this,V=null,c=null,G=0,C=wd.Math.Vector2,N=wd.Math.CubicBezier,x=function(f){return new C(U[f],U[f+1],k?k[f/2]:a)};for(W=0,O=E.length;O>W;W++){switch(H=E[W],q=null,H){case 1:c=x(G),V=c,G+=2;break;case 2:P=x(G),G+=2,q=new N(c,c.clone(),P.clone(),P),c=P;break;case 3:o=x(G),P=x(G+2),G+=4,q=new N(c,o.clone().sub(c).multiplyScalar(2/3).add(c),o.clone().sub(P).multiplyScalar(2/3).add(P),P),c=P;break;case 4:o=x(G),I=x(G+2),P=x(G+4),G+=6,q=new N(c,o,I,P),c=P;break;case 5:if(!V)break;q=new N(c,c.clone(),V.clone(),V),c=null,V=null}q&&(q._index=T._curves.length,T._curves.push(q))}},Er.prototype.checkPoint=function(P,H){var f,u,y,B,C,z=this,U=z._curves;for(f=0,u=U.length;u>f;f++)if(B=U[f],C=B.intersectRect(P,H,H),C.length)return y=0,C.forEach(function(R){y+=R.t}),y/=C.length,P=B.getPointAt(y),P.t=y,{bezier:B,intersection:P}},Er.prototype.insertKnot=function(U,$){var Y=U.insertKnot($),W=this,I=W._curves;I.splice(U._index,1,Y[0],Y[1])},Er.prototype._isCloseEnough=function(F,D){return Math.abs(F.x-D.x)<1e-6&&Math.abs(F.y-D.y)<1e-6},Er.prototype._isSamePoint=function(J,f){return J===f},Er.prototype.moveRealPoint=function(s,w){var J=this,A=J._curves,Z=w.clone().sub(s);A.forEach(function(a){var S=a._p1;a._p2,a._p3;var z=a._p4;J._isSamePoint(S,s)&&(a._p2.add(Z),a._p1=w),J._isSamePoint(z,s)&&(a._p3.add(Z),a._p4=w)})},Er.prototype.moveCtrlDueToRealPointMovement=function(T,$){var w=this,y=w._curves,z=function(r){r.add($),r.e&&$.e&&(r.e+=$.e)};y.forEach(function(J){var F=J._p1;J._p2,J._p3;var D=J._p4;w._isSamePoint(F,T)&&z(J._p2),w._isSamePoint(D,T)&&z(J._p3)})},Er.prototype.moveCtrlPoint=function(N,G,t){var Z=N[t];if(Z){Z.e!==a&&(G.e=Z.e);var k=this,S=k._curves;G.clone().sub(Z),S.forEach(function(g){var H;"c2"===t?H="_p2":"c1"===t&&(H="_p3"),k._isSamePoint(g[H],Z)&&(g[H]=G)}),N[t]=G}},Er.prototype.deleteRealPoint=function(E,y){var V,$,G,O,h,Y,o,d=this,i=d._curves,r={},I=[],K=wd.Math.CubicBezier;for($=0,G=i.length;G>$;$++)V=i[$],O=V._p1,h=V._p2,Y=V._p3,o=V._p4,(r[$]||!d._isSamePoint(O,E))&&(d._isSamePoint(o,E)?G>$+1&&d._isSamePoint(i[$+1]._p1,E)&&(y||I.push(new K(O,h,i[$+1]._p3,i[$+1]._p4))):I.push(V));d._curves=I},Er.prototype.findPairs=function(W,g){var V,e,j,X,w,E,A,C,u=this,r=u._curves,B={},y=[];for(e=0,j=r.length;j>e;e++)V=r[e],X=V._p1,w=V._p2,E=V._p3,A=V._p4,!B[e]&&u._isSamePoint(X,W)&&(g?y.push({point:X,r2:A}):y.push({point:X,c2:w})),u._isSamePoint(A,W)&&(C=g?{point:A,r1:X}:{point:A,c1:E},j>e+1&&u._isSamePoint(r[e+1]._p1,W)&&(g?C.r2=r[e+1]._p4:C.c2=r[e+1]._p2,B[e+1]=!0),y.push(C));return y},Er.prototype.toHtShape=function(){var _=this,w=_._curves,f=[],S=[],q={x:1/0,y:1/0};return w.forEach(function(i){var H=i._p1,G=i._p2,Q=i._p3,c=i._p4;return _._isCloseEnough(H,q)||(f.push(1),S.push(H.clone())),q=c,_._isCloseEnough(H,G)&&_._isCloseEnough(Q,c)?(f.push(2),S.push(c.clone()),void 0):(f.push(4),S.push(G.clone(),Q.clone(),c.clone()),void 0)}),{segments:f,points:S}};var Vb=wd.Math.CubicBezier=function(d,A,w,S){var o=this;o._id=wd.Math.CubicBezier._globalId++,o._p1=d,o._p2=A,o._p3=w,o._p4=S};Vb._globalId=1,Vb.prototype={},Vb.prototype.constructor=Vb,Vb.prototype.toString=function(){return this._id},Vb.prototype.intersectRect=function(S,s,b){var j=s/2,W=b/2,Y=S.x,C=S.y,_=wd.Math.Vector2,z=new _(-j+Y,-W+C),O=new _(j+Y,W+C),U=new _(O.x,z.y),l=new _(z.x,O.y),T=this,P=T.intersectLine(z,U),D=T.intersectLine(U,O),A=T.intersectLine(O,l),G=T.intersectLine(l,z),J=P.concat(D).concat(A).concat(G);return J},Vb.prototype.intersectLine=function(e,A){var y,O,b,q,H,D,c,V,w,f,T,p,M,k=this,E=e.clone().min(A),U=e.clone().max(A);q=k._p1,H=k._p2,D=k._p3,c=k._p4,y=q.clone().multiplyScalar(-1),O=H.clone().multiplyScalar(3),b=D.clone().multiplyScalar(-3),T=y.add(O).add(b).add(c),y=q.clone().multiplyScalar(3),O=H.clone().multiplyScalar(-6),b=D.clone().multiplyScalar(3),f=y.add(O).add(b),y=q.clone().multiplyScalar(-3),O=H.clone().multiplyScalar(3),w=y.add(O),V=q.clone(),M=new wd.Math.Vector2(e.y-A.y,A.x-e.x),p=e.x*A.y-A.x*e.y;for(var C=k.getRoots(M.dot(T),M.dot(f),M.dot(w),M.dot(V)+p),u=new Array,X=0,N=C.length;N>X;X++){var h=C[X];if(!(0>h||h>1)){var S=q.clone().lerp(H,h),v=H.clone().lerp(D,h),a=D.clone().lerp(c,h),B=S.lerp(v,h),j=v.lerp(a,h),o=B.lerp(j,h);o.t=h,e.x==A.x?E.y<=o.y&&o.y<=U.y&&u.push(o):e.y==A.y?E.x<=o.x&&o.x<=U.x&&u.push(o):o.x>=E.x&&o.y>=E.y&&o.x<=U.x&&o.y<=U.y&&u.push(o)}}return u},Vb.prototype.solveTForPoint=function(f){var J,w,p,C,y=this;J=y._p1.x-f.x,w=y._p2.x-f.x,p=y._p3.x-f.x,C=y._p4.x-f.x;for(var G=y.getRoots(C-3*p+3*w-J,3*p-6*w+3*J,3*w-3*J,J),L=a,U=1/0,t=0,M=G.length;M>t;t++){var k=G[t];if(!(0>k||k>1)){var Z=y._p1.clone().lerp(y._p2,k),e=y._p2.clone().lerp(y._p3,k),B=y._p3.clone().lerp(y._p4,k),x=Z.lerp(e,k),E=e.lerp(B,k),s=x.lerp(E,k);s.t=k;var A=Math.abs(s.y-f.y);U>A&&(U=A,L=s)}}return L},Vb.prototype.getPointAt=function(q){var s=this,C=s._p1,x=s._p2,B=s._p3,T=s._p4,d=C.clone().lerp(x,q),z=x.clone().lerp(B,q),k=B.clone().lerp(T,q),L=d.lerp(z,q),Z=z.lerp(k,q);return L.lerp(Z,q)},Vb.prototype.getRoots=function(x,J,M,G){var m,C,j,O,D,g=new Array;if(Math.abs(x)<1e-6){var m=J,C=M/m,j=G/m,O=C*C-4*j;if(O>0){var D=Math.sqrt(O);g.push(.5*(-C+D)),g.push(.5*(-C-D))}else 0==O&&g.push(.5*-C)}J/=x,M/=x,G/=x,m=(3*M-J*J)/3,C=(2*J*J*J-9*M*J+27*G)/27;var Q=J/3,v=C*C/4+m*m*m/27,n=C/2;if(Math.abs(v)<=1e-6&&(v=0),v>0){var L,H,D=Math.sqrt(v);L=-n+D,H=L>=0?Math.pow(L,1/3):-Math.pow(-L,1/3),L=-n-D,L>=0?H+=Math.pow(L,1/3):H-=Math.pow(-L,1/3),g.push(H-Q)}else if(0>v){var h=Math.sqrt(-m/3),o=Math.atan2(Math.sqrt(-v),-n)/3,S=Math.cos(o),e=Math.sin(o),B=Math.sqrt(3);g.push(2*h*S-Q),g.push(-h*(S+B*e)-Q),g.push(-h*(S-B*e)-Q)}else{var L;L=n>=0?-Math.pow(n,1/3):Math.pow(-n,1/3),g.push(2*L-Q),g.push(-L-Q)}return g},Vb.prototype._70I=function(){var I=this;return I._p1.distanceToSquared(I._p2)<1e-10&&I._p3.distanceToSquared(I._p4)<1e-10},Vb.prototype.insertKnot=function($){var g=this,U=g._p1,X=g._p2,B=g._p3,O=g._p4,d=U.clone().lerp(X,$),Q=X.clone().lerp(B,$),L=B.clone().lerp(O,$),e=d.clone().lerp(Q,$),s=Q.clone().lerp(L,$),x=e.clone().lerp(s,$);return g._70I()?(U.clone().lerp(O,$),[new wd.Math.CubicBezier(U,U.clone(),x.clone(),x),new wd.Math.CubicBezier(x,x.clone(),O.clone(),O)]):[new wd.Math.CubicBezier(U,d,e,x),new wd.Math.CubicBezier(x,s,L,O)]};var vm=K.Default.getInternal().ui().EdgeUI,De={_47O:function(Q){var M=this,J=De.getBackups()._47O;wd.inEdit(M.gv)||J.call(M,Q)}};wd.Inject.registAsModule(De,vm);var gn=K.Default.getInternal().ui().NodeUI,Hl={_47O:function(t){var P=this,O=Hl.getBackups()._47O;wd.inEdit(P.gv)||O.call(P,t)},getSelectWidth:function(){var G=this,C=G.gv,u=G._data;if(C.isEditable(u)&&wd.inEdit(C))return 0;var $=Hl.getBackup("getSelectWidth");return $.call(G)}};wd.Inject.registAsModule(Hl,gn);var Tc=K.graph.GraphView,lo={_editPointSize:function(){var J=K.Default.isTouchable,e=wd.getStyle("pointSize");return e[J?0:1]}(),isPointEditable:function(Z){var O=this;if(wd.inEdit(O))return O._pointEditableFunc?O._pointEditableFunc(Z):!0;var G=lo.getBackup("isPointEditable");G.call(O,Z)},isEditable:function(o){var e,k=this,b=lo.getBackup("isEditable");if(e=o instanceof wd.Group?!0:b.call(k,o),!wd.inEdit(k))return e;if(!(o instanceof K.Edge))return e;if(!o.s("2d.editable"))return!1;var a=k.getEditableFunc();return a?a(o):!0},_42:function(R,N){var z=this,s=lo.getBackups()._42;if(s.call(z,R,N),wd.inEdit(z)){var V=z.getEditInteractor();V.drawImpl()}}};wd.Inject.registAsModule(lo,Tc);var cn=K.Default.getInternal().ui().ShapeUI,uk={_47O:function(u){var N=this,n=uk.getBackups()._47O;wd.inEdit(N.gv)||n.call(N,u)}};wd.Inject.registAsModule(uk,cn);var oo=K.graph.DefaultInteractor,Ef={handle_mousewheel:function(i){var P=this,F=Ef.getBackup("handle_mousewheel");wd.inEdit(P.gv)||F.call(P,i)}};wd.Inject.registAsModule(Ef,oo);var xl=K.graph.MoveInteractor,ck={_calcShift:function(Y,o){var l=this,j=ck.getBackup("_calcShift"),S=l.gv;if(!wd.inEdit(S))return j.call(l,Y,o);var D=S.getEditInteractor(),f=D.getSubModule("Move").calcShift(Y,o,l);return f||j.call(l,Y,o)},clear:function(H){var q=this,k=ck.getBackup("clear");k.call(q,H);var F=q.gv;if(wd.inEdit(F)){var I=F.getEditInteractor();I.getSubModule("Move").clear(H)}}};wd.Inject.registAsModule(ck,xl);var Gg=wd.Rect=function(I){this.catalog="Rect",this._interactor=I};Gg.prototype={},Gg.prototype.constructor=Gg,Gg.prototype.gatherInfo=function(w,n){var T=this;if(1===n.length){var D=n[0];return D instanceof K.Shape&&D._70I()?T.gatherLine(w,D):Nd(D,w)?!1:T.gatherSingleTarget(w,D)}return n.length>1?T.gatherMultiTargets(w,n):!1},Gg.prototype.gatherSingleTarget=function(e,T){if(T.getCorners){var s,h=this,a=h.info;h.target=T,s=h.screenInfo={};var d=T.getCorners();a.LT=new wd.Math.Vector2(d[0]),a.LB=new wd.Math.Vector2(d[1]),a.RB=new wd.Math.Vector2(d[2]),a.RT=new wd.Math.Vector2(d[3]),a.T=a.LT.clone().add(a.RT).divideScalar(2),a.B=a.LB.clone().add(a.RB).divideScalar(2),a.L=a.LT.clone().add(a.LB).divideScalar(2),a.R=a.RT.clone().add(a.RB).divideScalar(2);for(var Z in a)s[Z]=wd.toScreenPosition(e,a[Z]);var y=h._interactor,E=y.getStyle("checkSize"),B=function($,T,K){var x=T.clone().sub($).setLength(-E),V=K.clone().sub($).setLength(-E),D=x.add(V).add($);return D};return s.rotLT=B(s.LT,s.RT,s.LB),s.rotLB=B(s.LB,s.LT,s.RB),s.rotRB=B(s.RB,s.LB,s.RT),s.rotRT=B(s.RT,s.LT,s.RB),s.rotT=s.rotLT.clone().add(s.rotRT).divideScalar(2),s.rotB=s.rotLB.clone().add(s.rotRB).divideScalar(2),s.rotL=s.rotLT.clone().add(s.rotLB).divideScalar(2),s.rotR=s.rotRT.clone().add(s.rotRB).divideScalar(2),s.rotation=T.getRotation(),h.gatherConnectInfo(),!0}},Gg.prototype.gatherConnectInfo=function(){var C=this,z=C.target,l=C._interactor,Q=C.screenInfo,K=l.gv;if(K.isConnectActionVisible(z)&&l.getStyle("connectGuideVisible")){var r;z.s&&(r=z.s("connectGuideShift")),r||(r=l.getStyle("connectGuideShift"));var i=z.getAnchor(),d=z.getSize(),o=z.toGlobal({x:d.width*(r[0]-i.x),y:d.height*(r[1]-i.y)});o=wd.toScreenPosition(K,o),Q.P1?o.add(Q.P2.clone().sub(Q.P1).setLength(r[2])):(o.add(Q.RT.clone().sub(Q.LT).setLength(r[2])),o.add(Q.LB.clone().sub(Q.LT).setLength(r[3]))),Q.connect=o}},Gg.prototype.gatherMultiTargets=function(N,Y){var h=wd.Group.findOrCreateGroup(Y);if(!h)return!1;var l=this;return l.editing&&"rotate"!==l.editing.mode||h.calcInfo(),l.gatherSingleTarget(N,h)},Gg.prototype.gatherLine=function(o,R){this.target=R;var K=this.screenInfo={},r=R.getPoints(),U=wd.getDataMatrix(R);return K.P1=wd.toScreenPosition(o,U.apply(r.get(0))),K.P2=wd.toScreenPosition(o,U.apply(r.get(1))),this.gatherConnectInfo(),!0},Gg.ResizeKeys=["LT","RB","LB","RT","L","R","B","T"],Gg.ResizeDirection=[{x:-1,y:-1},{x:1,y:1},{x:-1,y:1},{x:1,y:-1},{x:-1,y:0},{x:1,y:0},{x:0,y:1},{x:0,y:-1}],Gg.RotateKeys=["rotLT","rotRB","rotLB","rotRT","rotL","rotR","rotB","rotT"],Gg.prototype.check=function(C,J,y){if(K.Default.isLeftButton(J)){var p=this;if(p.editing=null,p.tipInfo=null,p.screenInfo){var Q=p.target,O=C.isEditable(Q),g=p.screenInfo;if(O&&g.connect){var q=p._checkConnect(y);if(q)return q}if(g.P1)return p._checkLine(y);var F,b,h,x=null,M=p._interactor,j=M.getStyle("checkSize");if(O&&C.isRectEditable(Q))for(b=0;b<wd.Rect.ResizeKeys.length;b++)if(h=wd.Rect.ResizeKeys[b],wd.checkHit(y,g[h],j)){x=h,F="resize";break}if(!x&&O&&C.isRotationEditable(Q)&&!M.getStyle("rotateAsClock")){var V=M.getStyle("rotateCheckSize");for(b=0;b<wd.Rect.RotateKeys.length;b++)if(h=wd.Rect.RotateKeys[b],wd.checkHit(y,g[h],V)){x=h,F="rotate";break}}if(!x)return M.setCursor("default"),void 0;if("rotate"===F){var i,d=C.lp(J);if(Q instanceof wd.Group){var N=M.getStyle("groupRotateModeKey");"string"==typeof N&&(N=[N]);for(var I=!1,A=0,B=N.length;B>A;A++)if(J[N[A]]){I=!0;break}var e=M.getStyle("groupRotateModeDefault");i=I?"batch"===e?"block":"batch":e}var o="batch"===i?Q.getAnchor2():Q.getPosition(),W=Math.atan2(d.y-o.y,d.x-o.x);M._setRotateCursor(W),p.editing={mode:F,key:x,pos:o,flipY:Q.getScale().y<0,rotation:Q.getRotation(),hitRot:W},i&&(p.editing.groupRotateMode=i)}else{var l=wd.Rect.ResizeKeys.indexOf(x),t=wd.Rect.ResizeDirection[l],w=Math.cos(Q.getRotation()),S=Math.sin(Q.getRotation()),D=t.x*Math.sign(Q.getScale().x),G=t.y*Math.sign(Q.getScale().y),X=Math.atan2(-S*D-w*G,w*D-S*G),L=(Math.round(X/(Math.PI/4))+8)%8,_=["ew-resize","nesw-resize","ns-resize","nwse-resize","ew-resize","nesw-resize","ns-resize","nwse-resize"][L];this._interactor.setCursor(_);var H=Q.getWidth(),T=Q.getHeight(),E=Q.getAnchor();p.editing={mode:F,key:x,rect:{x:-H*E.x,y:-T*E.y,width:H,height:T},anchor:E,matrix:Q.getMatrix()}}return x}}},Gg.prototype._checkLine=function(d){var e=this;e.screenInfo;var n,S=e._interactor.getStyle("checkSize");if(wd.checkHit(d,e.screenInfo.P1,S))n="P1";else{if(!wd.checkHit(d,e.screenInfo.P2,S))return this._interactor.setCursor("default"),void 0;n="P2"}return e.editing={mode:"line",key:n},n},Gg.prototype._checkConnect=function(i){var L=this,Y=L.screenInfo,N=L._interactor,O=N.getStyle("connectGuideIntersectSize"),I=Y.connect,U=i.x,X=I.x;if(X>U&&O>X-U&&Math.abs(I.y-i.y)<O||U>=X&&wd.checkHit(i,I,O)){var M="connect",e=_.getConnectAction(N.gv);if(L.editing={mode:M},e&&e.delete)if(L.target instanceof wd.Group){var $=!0;N.gv.sm().getSelection().each(function(m){e.delete.visible.call(null,N.gv,m)||($=!1)}),L.editing.hasDeleteAction=$}else e.delete.visible.call(null,N.gv,L.target)&&(L.editing.hasDeleteAction=!0);return N.setCursor("default"),M}},Gg.prototype._fireEditEvent=function(j,q){var M=this._interactor,d=this.editing;if(d){var R=d.mode;R="rotate"===R?"Rotation":"connect"===R?"Connection":R[0].toUpperCase()+R.slice(1),M.fi({kind:j+"Edit"+R,event:q})}},Gg.prototype.startEdit=function(A,C){A.startDragging(C);var y=this;y._interactor.fi({kind:"prepareEdit",event:C});var Q=y.editing,i=y.target;if(Q){if(y._fireEditEvent("begin",C),"rotate"===Q.mode)return Q.groupRotateMode&&i.beginRotate(Q),void 0;if("connect"!==Q.mode)("line"===Q.mode||i&&0===i.getRotation())&&(y._inSmartGuide=!0,y._interactor.rectGuide.gatherRects());else if(Q.hasDeleteAction){var w=A.gv,S=y._interactor.getStyle("connectGuideGarbageShift");Q.garbageInfo={x:w.getWidth()*S[0]+S[2],y:w.getHeight()*S[1]+S[3],size:y._interactor.getStyle("connectGuideGarbageIntersectsize")},A._42()}}},Gg.prototype._46O=function(T){var d,q,P=this,y=P.editing,g=P.target;if(y){if("connect"===y.mode&&!y.canceled&&!y.deleted)try{y.garbageInfo&&y.garbageInfo.hover?_.doDeleteConnectionAction(P._interactor.gv,g):_.doConnectAction(P._interactor.gv,g,y.target)}catch(k){console.error(k)}q=y.freezeFlag,d=P.editing.groupRotateMode,P._fireEditEvent("end",T),P.editing=null}P.tipInfo=null,P._inSmartGuide&&(P._interactor.rectGuide.clear(),P._inSmartGuide=!1),d&&g&&g.endRotate(),g instanceof K.Block&&(q===a?delete g._freezeSyncFromChildren:g._freezeSyncFromChildren=q,g.updateFromChildren())},Gg.prototype.handleNormalStateDelete=function(){var b=this,w=b.editing;if(w&&"connect"===w.mode&&!w.canceled&&!w.deleted){if(w.garbageInfo){try{_.doDeleteConnectionAction(b._interactor.gv,b.target)}catch(x){console.error(x)}w.garbageInfo=null}return w.cursorPos=null,w.targetCorners=null,w.deleted=!0,b._interactor._42(),!0}},Gg.prototype.handleNormalStateKeyDown=function(m){var Q=this,T=Q.editing;return!T||"connect"!==T.mode||T.canceled||T.deleted?void 0:K.Default.isEsc(m)?(T.cursorPos=null,T.targetCorners=null,T.canceled=!0,Q._interactor._42(),!0):void 0},Gg.prototype.handleEdit=function(u,M){var Y=this,f=Y.editing;if(f){var R,D,i,J,x,r=Y.target,o=f.key,Q=f.mode,_=u.lp(M),l=Y._interactor;if("connect"===Q){if(f.canceled)return;if(f.deleted)return;f.cursorPos=l._getLogicalPoint(M);var N=f.garbageInfo;return N&&wd.checkHit(f.cursorPos,N,N.size)?(N.hover=!0,f.target=null,f.targetCorners=null):(N&&(N.hover=!1),f.target=u.getDataAt(_,function(n){return u.isSelectable(n)?lm(n)?!0:!1:!1})||null,f.targetCorners=wd.getTargetCornersOnScreen(u,f.target)),l._42(),void 0}if("rotate"===Q){var b,d,c=f.pos,m=Math.atan2(_.y-c.y,_.x-c.x);if(f.groupRotateMode?d=m-f.hitRot:(b=m-f.hitRot,d=f.rotation+b),d%=2*Math.PI,0>d&&(d+=2*Math.PI),!K.Default.isCtrlDown(M)){var n,A;Bc(M)?(n=l.getStyle("shiftRotateRound"),A=n/2):(n=l.getStyle("rotateRound"),A=l.getStyle("rotateSensitivity")),d=wd.roundTo(d,n,A)}f.groupRotateMode?(b=d-(f.lastRotation||0),0!==b&&(r.addRotation(b,f.groupRotateMode),f.lastRotation=d)):r.setRotation(d),l._setRotateCursor(m),d>Math.PI&&(d-=2*Math.PI);var H=180*(d/Math.PI);H=H.toFixed(2),R=""+H+"°"}else if("resize"===Q){var G=f.rect;i=G.x,J=G.y;var F,X=G.width,y=G.height,B=f.anchor,k=f.matrix,t=r.s&&r.s("keepAspectRatio")||l.getStyle("keepAspectRatio");Bc(M)&&(t=!t);var s=Y._unionPointMode1,Z=Y._unionPointMode2;if(Y._inSmartGuide&&!K.Default.isCtrlDown(M)&&!t){var $;"L"===o||"R"===o?$="x":("T"===o||"B"===o)&&($="y"),Y._adsorbedToClosest(_,$),x=!0}F=k.tfi(_);var h;"LT"===o?(G=s(F,{x:i+X,y:J+y},X,y,t),h=9):"T"===o?(G=Z({x:i,y:F.y},{x:i+X,y:J+y},X,y,t,"v"),h=1):"RT"===o?(G=s(F,{x:i,y:J+y},X,y,t),h=33):"L"===o?(G=Z({x:F.x,y:J},{x:i+X,y:J+y},X,y,t,"h"),h=8):"R"===o?(G=Z({x:i,y:J},{x:F.x,y:J+y},X,y,t,"h"),h=32):"LB"===o?(G=s(F,{x:i+X,y:J},X,y,t),h=12):"B"===o?(G=Z({x:i,y:J},{x:i+X,y:F.y},X,y,t,"v"),h=4):"RB"===o&&(G=s(F,{x:i,y:J},X,y,t),h=36);var v=k.tf(G.x+G.width*B.x,G.y+G.height*B.y);r instanceof K.Block&&(f.hasOwnProperty("freezeFlag")||(f.freezeFlag=r._freezeSyncFromChildren,r._freezeSyncFromChildren=!0)),r.setPosition(v),r.setSize(G.width,G.height),x&&(D=r.getRect(),l.rectGuide.gatherLines({node:r,x:D.x,y:D.y,w:D.width,h:D.height},$,h)),R=""+Math.round(G.width)+" * "+Math.round(G.height)}else if("line"===Q){if(Bc(M)){var g=r.getPoints(),V="P1"===o?g.get(1):g.get(0),O={x:_.x-V.x,y:_.y-V.y},C=l.getStyle("shiftLineRotateRound"),S=Y._shiftDirList;if(!S||Y._shiftRotateRound!==C){Y._shiftRotateRound=C,Y._shiftDirList=S=[];for(var I=0;I<Math.PI;I+=C)S.push({x:q(I),y:L(I)})}for(var P,j=0,w=0,T=S.length;T>w;w++){var a=S[w],E=a.x*O.x+a.y*O.y;Math.abs(E)>Math.abs(j)&&(j=E,P=a)}_={x:V.x+P.x*j,y:V.y+P.y*j},l.rectGuide.clear()}else Y._inSmartGuide&&!K.Default.isCtrlDown(M)&&(Y._adsorbedToClosest(_),x=!0);var U=wd.getDataMatrix(r).applyInverse(_);r.setPoint("P1"===o?0:1,U,!0);var e=r.getPoints(),p=e.get(0),W=e.get(1);i=p.x-W.x,J=p.y-W.y,R=" "+Math.round(Math.sqrt(i*i+J*J))+" ",x&&(D=r.getRect(),l.rectGuide.gatherLines({node:r,x:D.x,y:D.y,w:D.width,h:D.height}))}if(R){var z=K.Default.getLogicalPoint(M,l._canvas);z.x+=wd.Icons.TipShiftX,z.y+=wd.Icons.TipShiftY,Y.tipInfo={helperPos:z,text:R,size:R.length}}Y._fireEditEvent("between",M)}},Gg.prototype._unionPointMode1=function(y,f,x,Q,Z){if(Z&&x&&Q){var l=y.x-f.x,p=y.y-f.y;Math.abs(l*Q)<Math.abs(p*x)?(p=Math.sign(p)*Math.abs(l*Q/x),y.y=f.y+p):(l=Math.sign(l)*Math.abs(p*x/Q),y.x=f.x+l)}return K.Default.unionPoint(y,f)},Gg.prototype._unionPointMode2=function(L,c,U,Y,n,R){var J=K.Default.unionPoint(L,c);if(n&&U&&Y){var e;"v"===R?(e=J.x+J.width/2,J.width=U*J.height/Y,J.x=e-J.width/2):(e=J.y+J.height/2,J.height=Y*J.width/U,J.y=e-J.height/2)}return J},Gg.prototype._adsorbedToClosest=function(e,c){var I=this,H=I._interactor,w=H.rectGuide.findClosest(e,c),U=H.gridGuide.findClosest(e,c),o=1/0,b=1/0;w&&(isFinite(w.x)&&(o=w.x),isFinite(w.y)&&(b=w.y)),U&&(isFinite(U.x)&&Math.abs(U.x)<Math.abs(o)&&(o=U.x),isFinite(U.y)&&Math.abs(U.y)<Math.abs(b)&&(b=U.y)),isFinite(o)&&(e.x+=o),isFinite(b)&&(e.y+=b)},Gg.prototype._42=function(T,j,A){var c=this;c.info={},c.screenInfo=null;var O=c._interactor;if(!O.editDetail&&c.gatherInfo(j,A)){var Z=c.editing,D=Z?Z.groupRotateMode:null,Y=c.screenInfo;if("block"!==D){if(Y.P1?wd.Icons.DrawIcon(O,T,wd.Icons.Line,Y):wd.Icons.DrawIcon(O,T,wd.Icons.Rect,Y),Y.connect&&(wd.Icons.DrawIcon(O,T,wd.Icons.ConnectGuide,{rotation:Y.rotation,connect:Y.connect,cursorPos:Z?Z.cursorPos:null}),Z)){if(Z.targetCorners){for(var N={x:1/0,y:1/0},w={x:-1/0,y:-1/0},J=0,f=Z.targetCorners.length;f>J;J+=2)N.x=Math.min(N.x,Z.targetCorners[J]),w.x=Math.max(w.x,Z.targetCorners[J]),N.y=Math.min(N.y,Z.targetCorners[J+1]),w.y=Math.max(w.y,Z.targetCorners[J+1]);wd.Icons.DrawIcon(O,T,wd.Icons.HoverDataRect,{min:N,max:w,color:O.getStyle("hoverGuideColor")||O.getStyle("baseColor")})}Z.garbageInfo&&wd.Icons.DrawIcon(O,T,wd.Icons.ConnectGuideGarbage,Z.garbageInfo)}c.tipInfo&&wd.Icons.DrawIcon(O,T,wd.Icons.TipHelper,c.tipInfo)}c.target instanceof wd.Group&&c.target._42(O,T,j)}};var Hd=wd.Anchor=function(I){this.catalog="Anchor",this._interactor=I};Hd.prototype={},Hd.prototype.constructor=Hd,Hd.prototype.gatherInfo=function(f,Q){var X=this;if(1===Q.length){var o=Q[0];if(!o.getAnchor)return;if(o instanceof K.Shape&&o._70I())return;if(Nd(o,f))return;return X.gatherSingleTarget(f,Q[0])}return Q.length>1?X.gatherMultiTargets(f,Q):!1},Hd.prototype.gatherSingleTarget=function(A,X){var C=this;return C.info.POS=X.getPosition(),C.screenInfo.POS=wd.toScreenPosition(A,C.info.POS),C.target=X,!0
|
||
},Hd.prototype.gatherMultiTargets=function(i,q){var G=this,w=wd.Group.findOrCreateGroup(q);return w?(G.screenInfo.POS=wd.toScreenPosition(i,w.getAnchor2()),G.target=w,!0):!1},Hd.prototype.isVisible=function(){var J=this,n=J._interactor;if(n.getStyle("anchorVisible")===!1)return!1;var t=J.target;if(t){if(this.editing)return!0;var q=t.getAnchor(),o=n.getStyle("anchorOutsideVisibleThreshold");if(q.x<-o||q.x>1+o||q.y<-o||q.y>1+o)return!0;var R=t.getSize(),C=t.getScale(),O=Math.min(Math.abs(R.width*C.x),Math.abs(R.height*C.y));if(O*n.gv._zoom<n.getStyle("anchorHideThreshold"))return!1}return!0},Hd.prototype.check=function(a,$,D){if(K.Default.isLeftButton($)){var H=this,d=H._interactor;if(H.isVisible()&&d.getStyle("anchorMovable")!==!1){H.editing=null,H.tipInfo=null;var E=H.target;if(E&&a.isAnchorEditable(E)&&a.isEditable(E)){var q;if(H.screenInfo&&(q=H.screenInfo.POS)&&wd.checkHit(D,new wd.Math.Vector2(q),d.getStyle("checkSize"))){if(E instanceof wd.Group)return H.editing={},!0;var W=E.getWidth(),n=E.getHeight(),X=E.getAnchor();return H.editing={rect:{x:-W*X.x,y:-n*X.y,width:W,height:n},anchor:X,matrix:E.getMatrix()},!0}}}}},Hd.prototype.startEdit=function(P,z){P.startDragging(z),P.fi({kind:"beginEditAnchor",event:z})},Hd.prototype._46O=function(J){var j=this;j.editing&&(j.editing=null,j._interactor.fi({kind:"endEditAnchor",event:J})),j.tipInfo=null},Hd.prototype.handleEdit=function(p,s){var h=this,f=h.target;if(f){var R=h.editing;if(R){var M=p.lp(s),C=h._interactor;if(f instanceof wd.Group)return f.setAnchor2(M),C._42(),void 0;var v=R.matrix,l=v.tfi(M),U=R.rect,Y=(l.x-U.x)/U.width,b=(l.y-U.y)/U.height;if(!K.Default.isCtrlDown(s)){var F=C.getStyle("anchorRound"),d=C.getStyle("anchorSensitivity");Y=wd.roundTo(Y,F,d),b=wd.roundTo(b,F,d)}f.setAnchor(Y,b,!0);var $=K.Default.getLogicalPoint(s,C._canvas);$.x+=wd.Icons.TipShiftX,$.y+=wd.Icons.TipShiftY;var L=""+Y.toFixed(2)+", "+b.toFixed(2);h.tipInfo={helperPos:$,text:L,size:L.length},C.fi({kind:"betweenEditAnchor",event:s})}}},Hd.prototype._42=function(w,s,Y){var o=this;o.info={},o.screenInfo={};var V=o._interactor;V.editDetail||o.gatherInfo(s,Y)&&o.isVisible()&&(wd.Icons.DrawIcon(V,w,wd.Icons.Anchor,o.screenInfo),o.tipInfo&&wd.Icons.DrawIcon(V,w,wd.Icons.TipHelper,o.tipInfo))};var Lo=wd.MoveDummy=function(j){this.catalog="MoveDummy",this._interactor=j};Lo.prototype={},Lo.prototype.constructor=Lo,Lo.prototype.gatherInfo=function(){var H=this,N=this._interactor.getSubModule("Rect");if(N){var T=N.screenInfo;if(T){var A=H._interactor,l=H.getMovableTarget(N.target);if(l){var X=A.getStyle("moveDummyThreshold");if(X!==!1){var E=T.LT||T.P1,j=T.RT||T.P2,F=T.LB||E;if(E){var Z=T.P1,e=Math.min(E.distanceTo(F),E.distanceTo(j));if(!(X!==!0&&e>X)){var P=A.getStyle("moveDummyPosition"),k=j.clone().sub(E),_=F.clone().sub(E),Y=P[2],u=P[3];if(Z){var D=A.getStyle("moveDummyLineExtraShift");D&&(Y+=D[0],u+=D[1])}var K=E.clone().add(k.clone().multiplyScalar(P[0])).add(k.setLength(Y)).add(_.clone().multiplyScalar(P[1])).add(_.setLength(u));return H.screenInfo.pos=K,H.screenInfo.size=A.getStyle("moveDummySensitivity"),!0}}}}}}},Lo.prototype.getMovableTarget=function($){var y=this._interactor.gv;if(lm($)){if(y.isMovable($))return $}else if($ instanceof wd.Group)for(var Z=$._entities,B=Z.length-1;B>=0;B--){var a=Z[B];if(lm(a)&&y.isMovable(a))return a}return null},Lo.prototype.getMoveInteractor=function(){for(var j,G,t,I=this._interactor.gv,y=I.getInteractors(),j=0,G=y.length;G>j;j++)if(t=y.get(j),t instanceof xl)return t},Lo.prototype.startEdit=function(N,J){N.startDragging(J);var e=this.getMoveInteractor();if(e){var l=this.selectedTarget,T=N.gv;T._moving=1,e._data=l,T.handleMouseDown&&T.handleMouseDown(J,l)}},Lo.prototype._46O=function(l){var j=this,W=j.getMoveInteractor();W&&(W.handleWindowMouseUp(l),j.selectedTarget=null)},Lo.prototype.handleEdit=function(z,h){var N=this.getMoveInteractor();N&&N.handleWindowMouseMove(h)},Lo.prototype.check=function(M,B,y){if(this.selectedTarget=null,K.Default.isLeftButton(B)&&!M._scrolling&&!Mp()){var X=this;if(X.screenInfo){var R=X.screenInfo.pos;if(R&&!(y.distanceTo(R)>X.screenInfo.size)){var f=X._interactor;return X.selectedTarget=X.getMovableTarget(f.getSubModule("Rect").target),f.setCursor("default"),!0}}}},Lo.prototype._42=function(r,Z,Y){var b=this;b.screenInfo={};var m=b._interactor;m.editDetail||b.gatherInfo(Z,Y)&&(!m.editing||b.selectedTarget)&&wd.Icons.DrawIcon(m,r,wd.Icons.MoveDummy,b.screenInfo)};var Rg=wd.RotateX=function(N){this.catalog="RotateX",this._interactor=N};Rg.prototype={},Rg.prototype.constructor=Rg,Rg.prototype.gatherInfo=function(k,w){var E=this;if(1===w.length){var y=w[0];return y instanceof K.Shape&&y._70I()||Nd(y,k)?!1:E.gatherSingleTarget(k,y)}return w.length>1?E.gatherMultiTargets(k,w):!1},Rg.prototype.gatherSingleTarget=function(){var L=new K.Math.Vector2,m=new K.Math.Vector2,R=new K.Math.Vector2,q=new K.Math.Vector2,S=function(D,E){var X=D.x-E.x,y=D.y-E.y;return X*X+y*y};return function(N,z){if(z.getCorners){var U=this,d=z.getCorners(),k=15,X=z.getPosition();L.copy(d[0]),R.copy(d[1]),q.copy(d[3]),m.copy(L).add(q).divideScalar(2).add(L.sub(R).setLength(k/N.getZoom()));var o=Math.max(S(X,d[0]),S(X,d[1]),S(X,d[2]),S(X,d[3]));return U.info.POS=m.clone(),U.screenInfo.POS=wd.toScreenPosition(N,U.info.POS),U.screenInfo.LEN=Math.sqrt(o)*N.getZoom()+k,U.screenInfo.CENTER=wd.toScreenPosition(N,X),U.target=z,!0}}}(),Rg.prototype.gatherMultiTargets=function(f,q){var b=this,R=wd.Group.findOrCreateGroup(q);if(!R)return!1;var b=this;return b.gatherSingleTarget(f,R)},Rg.prototype.isVisible=function(){var $=this._interactor;if(!$.getStyle("rotateAsClock"))return!1;var E=this.target;if(!E)return!0;var V=$.gv;return V.isEditable(E)&&V.isRotationEditable(E)?!0:!1},Rg.prototype.check=function(t,u,U){var n=this,z=n._checkImpl(t,u,U);return(z||n._clockPainted)&&n._interactor._42(),z},Rg.prototype._checkImpl=function(U,C,k){if(K.Default.isLeftButton(C)){var c=this;c.editing=null,c.tipInfo=null;var D;if(c.screenInfo&&(D=c.screenInfo.POS)&&c.isVisible()){var f=c._interactor;if(wd.checkHit(k,D,f.getStyle("checkSize"))){var N=c.target,d=U.lp(C),X=N.getPosition(),p=Math.atan2(d.y-X.y,d.x-X.x);return f._setRotateCursor(p),c.editing={pos:X,rotation:N.getRotation(),hitRot:p,groupRotateMode:"block",screenInfo:{CENTER:c.screenInfo.CENTER,LEN:c.screenInfo.LEN}},!0}}}},Rg.prototype.startEdit=function(T,h){T.startDragging(h),T.fi({kind:"beginEditRotation",event:h}),this.target instanceof wd.Group&&this.target.beginRotate(this.editing)},Rg.prototype._46O=function(w){var H=this;H.editing&&(H.editing=null,H._interactor.fi({kind:"endEditRotation",event:w})),H.target instanceof wd.Group&&H.target.endRotate(),H.tipInfo=null},Rg.prototype.handleEdit=function(r,D){var J=this,C=J.editing;if(C){var n,Z,z=J.target,t=r.lp(D),Q=J._interactor,h=C.pos,v=Math.atan2(t.y-h.y,t.x-h.x),b=z instanceof wd.Group;if(b?Z=v-C.hitRot:(n=v-C.hitRot,Z=C.rotation+n),Z%=2*Math.PI,0>Z&&(Z+=2*Math.PI),!K.Default.isCtrlDown(D)){var d,L;Bc(D)?(d=Q.getStyle("shiftRotateRound"),L=d/2):(d=Q.getStyle("rotateRound"),L=Q.getStyle("rotateSensitivity")),Z=wd.roundTo(Z,d,L)}b?(n=Z-(C.lastRotation||0),0!==n&&(z.addRotation(n,C.groupRotateMode),C.lastRotation=Z)):z.setRotation(Z),Q._setRotateCursor(v),Z>Math.PI&&(Z-=2*Math.PI);var T=180*(Z/Math.PI),G=""+T.toFixed(2)+"°",P=K.Default.getLogicalPoint(D,Q._canvas);P.x+=wd.Icons.TipShiftX,P.y+=wd.Icons.TipShiftY,J.tipInfo={helperPos:P,text:G,size:G.length},Q.fi({kind:"betweenEditRotation",event:D})}},Rg.prototype._42=function(M,Y,a){var H=this;H._clockPainted=!1,H.info={},H.screenInfo={};var Q=H._interactor;Q.editDetail||H.gatherInfo(Y,a)&&H.isVisible()&&(wd.Icons.DrawIcon(Q,M,wd.Icons.RoundPoint,H.screenInfo.POS),H.tipInfo&&wd.Icons.DrawIcon(Q,M,wd.Icons.TipHelper,H.tipInfo),H.editing&&H.drawClock(M))},Rg.prototype.drawClock=function(r){r.save();var X=this;X._clockPainted=!0;var b=X.editing||{},F=b.screenInfo||X.screenInfo,T=F.LEN,P=T+8,w=T+18;r.save(),r.translate(F.CENTER.x,F.CENTER.y),r.beginPath(),r.strokeStyle="rgb(150, 150, 150)";for(var o,N,O,B,$,J=0;360>J;J++)o=J*Math.PI/180,0===J%5&&(N=L(o)*T,O=q(o)*T,B=L(o)*P,$=q(o)*P,r.moveTo(N,O),r.lineTo(B,$)),0===J%45&&(N=L(o)*T,O=q(o)*T,B=L(o)*w,$=q(o)*w,r.moveTo(N,O),r.lineTo(B,$));r.stroke(),r.rotate(-I);var n=b.lastRotation||X.target.getRotation();r.beginPath(),r.fillStyle="rgba(255, 0, 0, 0.1)",r.strokeStyle="rgb(157, 157, 157)",r.moveTo(0,0),r.arc(0,0,w,0,n,!1),r.fill(),r.beginPath(),r.moveTo(0+w,0),r.arc(0,0,w,0,n,!1),r.stroke(),r.restore()};var Er=wd.Curve=function(O){this.catalog="Curve",this._interactor=O};Er.prototype={},Er.prototype.constructor=Er,F.defineProperties(Er.prototype,{activing:{get:function(){return this._activing},set:function(E){var r=this;if(E)r._activing=new wd.CurveActiving(this,E);else{var N=r._activing;N&&N.dispose(),r._activing=null}}}}),Er.PointType={Mirrored:0,Straight:1,Disconnected:2,Asymmetric:3},Er.prototype.setUp=function(){var l=this,i=l._interactor;i&&i.gv.mp(l._onGraphviewPropertyChanged,l)},Er.prototype._onGraphviewPropertyChanged=function(g){("zoom"===g.property||"translateX"===g.property||"translateY"===g.property)&&this._handleDataChanged()},Er.prototype.tearDown=function(){var Z=this,R=Z._interactor;R&&R.gv.ump(Z._onGraphviewPropertyChanged,Z)},Er.prototype.canEnterEditDetailMode=function(){var f=this,m=f._interactor,q=m._getValidSelection();if(1===q.length){var F=q[0],I=F instanceof K.Edge;if(F instanceof K.Shape||I){if(I){var h=F.s("edge.type");if(h&&"points"!==h)return}var N=m.gv;if(N.isPointEditable(F)&&N.isEditable(F))return f.target=F,!0}}},Er.prototype.canQuitEditDetailMode=function(g){var T=this,S=T._interactor._getLogicalPoint(g);return T._checkEditRealPoint(S)?void 0:T._interactor.gv.getDataAt(g)!==T.target?!0:void 0},Er.prototype.preHandleScroll=function(){var z=this.editing;return z&&z.inEdit?!0:void 0},Er.prototype.getCurrentSelectintStatus=function(){var N=this;if(N.activing&&!N.activing.selections){if(N.activing.status!=a)return N.activing.status;var k=function(q){var U=N.activing.status;N.activing.status=q,N._interactor.fp("shapePointStatus",U,q)},p=wd.Curve.PointType,x=N.activing.point,I=N.activing.pairs;if(!I||1!==I.length)return k(p.Mirrored);var L=I[0],b=L.c1&&L.c1.isNearEnough(x),w=L.c2&&L.c2.isNearEnough(x);if(!L.c1||!L.c2)return b||w?k(p.Straight):k(p.Disconnected);if(b&&w)return k(p.Straight);if(b||w)return k(p.Asymmetric);var E=L.c1.clone().sub(x),T=L.c2.clone().sub(x);return Math.abs(E.x*T.y-E.y*T.x)>1e-5||E.x*T.x>0?k(p.Disconnected):Math.abs(E.length()-T.length())>1e-5?k(p.Asymmetric):k(p.Mirrored)}},Er.prototype.handle_keydown=function(q){var O=this;if(O._interactor.editDetail){var N=wd.Curve.PointType;"1"===q.key?O._setCurrentSelectionStatus(N.Straight):"2"===q.key?O._setCurrentSelectionStatus(N.Mirrored):"3"===q.key?O._setCurrentSelectionStatus(N.Disconnected):"4"===q.key&&O._setCurrentSelectionStatus(N.Asymmetric)}},Er.prototype.setCurrentSelectionStatus=function(Q){var M=this,R=M._interactor;if(R){var L=R.gv;L.dm().beginTransaction(),this._setCurrentSelectionStatus(Q),L.dm().endTransaction()}},Er.prototype._setCurrentSelectionStatus=function(R){var m=this,M=m.activing;if(M){var O=m.getCurrentSelectintStatus();if(null!==O&&O!==R){M.status=R;var S=m.activing.point,L=m.activing.pairs;if(L&&1===L.length){var q=L[0],x=m.screenInfo.curve,A=wd.Curve.PointType,T=function(){m._writeToHt(),m._interactor.fp("shapePointStatus",O,R)};if(R===A.Straight)return x.moveCtrlPoint(q,S,"c1"),x.moveCtrlPoint(q,S,"c2"),T(),void 0;if(O===A.Straight){var a=x.findPairs(S,!0),s=a[0],p=s.r1||S,W=s.r2||S,b=W.clone().sub(p).multiplyScalar(.25);return x.moveCtrlPoint(q,S.clone().sub(b),"c1"),x.moveCtrlPoint(q,S.clone().add(b),"c2"),T(),void 0}var J=q.c1,z=q.c2;if(J&&z){if(R===A.Mirrored)return x.moveCtrlPoint(q,S.clone().multiplyScalar(2).sub(z),"c1"),T(),void 0;if(R===A.Asymmetric&&O===A.Disconnected){var U=J.clone().sub(S).length(),b=S.clone().sub(z).setLength(U).add(S);return x.moveCtrlPoint(q,b,"c1"),T(),void 0}}M._firePointChange(),m._interactor.fp("shapePointStatus",O,R)}}}},Er.prototype._handleDataChanged=function(){var g="points,segments,shape,position,rotation,scale".split(",");return function(D){var F=this;if(F.screenInfo&&F.target){if(D&&g.indexOf(D.property)<0)return;var u=F._interactor;F.gatherSingleTarget(u.gv,F.target,!0),F.check(u.gv,null,new wd.Math.Vector2(u._lastClientPoint)),u._42()}}}(),Er.prototype.gatherSingleTarget=function(j,i,Z){var U,u,O=this;O.screenInfo&&O.screenInfo.curve&&(u=O.screenInfo.curve._curves);var Y=O.editing;U=Y?O.screenInfo:O.screenInfo={};var A,f,g=i instanceof K.Edge;g?(A=i.s("edge.segments"),f=i.s("edge.points")||new K.List):(A=i._58O,f=i._59O),U.S=A;var y,L=U.P=[],J=wd.getDataMatrix(i);if(i instanceof K.Polyline&&(y=i.getElevation()||0,U.E=[]),f.each(function(m){U.E&&U.E.push(m.e||y),m=J.apply(m);var P=wd.toScreenPosition(j,m);L.push(P.x,P.y)}),g){var B=L.length,r=wd.toScreenPosition(j,i._lastSourcePoint||(B?{x:L[0],y:L[1]}:{x:0,y:0})),S=wd.toScreenPosition(j,i._lastTargetPoint||(B?{x:L[B-2],y:L[B-1]}:{x:0,y:0}));L.splice(0,0,r.x,r.y),L.push(S.x,S.y)}if(!U.S||!U.S.size()){U.S=new K.List,U.S.add(1);for(var q=0;q<L.length/2-1;q++)U.S.add(2)}if((!Y||Z)&&O.convertToCubicBezier(u),O.activing&&(Z||!O.editing||"realPoint"===O.editing.type)){var k=U.curve.findPairs(O.activing.point);O.activing.pairs=k}g&&"points"!==i.s("edge.type")&&O._writeToHt()},Er.prototype._convertToNewPoint=function(F,Z,A,f){var w,a,e;for(w=0,a=Z.length;a>w;w++){if(e=Z[w],e._p1.isNearEnough(F)&&(!f||f.indexOf(e._p1)<0))return e._p1;if(e._p4.isNearEnough(F)&&(!f||f.indexOf(e._p4)<0))return e._p4}if(A)for(w=0,a=Math.min(A.length,a);a>w;w++){if(e=A[w],e._p1===F&&(!f||f.indexOf(Z[w]._p1)<0))return Z[w]._p1;if(e._p4===F&&(!f||f.indexOf(Z[w]._p4)<0))return Z[w]._p4}},Er.prototype.convertToCubicBezier=function(o){var S,J,d=this,Z=new wd.Math.Curve,c=d.screenInfo;if(Z.createFromHtShape(c.P,c.S,c.E),c.curve=Z,d.activing){var t=Z._curves;S=d.activing.point,J=d._convertToNewPoint(S,t,o);var b=[];if(J&&(d.activing.point=J,b.push(J)),d.activing.selections){var H=-1,u=d.activing.selections;u.forEach(function(M){H++,J=d._convertToNewPoint(M,t,o,b),J&&(u[H]=J,b.push(J))})}}},Er.prototype.check=function(c,x,I){if(!x||ve(x)||Sn(x)){var O=this;if(O._interactor.setCursor("default"),O.editing=null,O.highlight=null,O.tipInfo=null,O.edgeEditResult=null,O.screenInfo){if(Mp()||Sn(x))return O._interactor._42(),!0;if(O._checkEditCtrlPoint(I))return O._interactor._42(),!0;if(O._checkEditRealPoint(I))return O._interactor._42(),!0;if(O._checkEditElevation(I))return O._interactor._42(),!0;var b=O.screenInfo.curve,o=b.checkPoint(I,O._interactor.getStyle("curveIntersectSize"));if(o){var $=O.highlight={};$.type="insertKnot",$.bezier=o.bezier,$.point=o.intersection}return O._interactor._42(),!0}}},Er.prototype._checkEditRealPoint=function(d){var e,p,_,S,f,v,I=this,r=I.screenInfo.curve._curves,k=I._interactor.getStyle("curvePointIntersectSize"),X=1/0;for(k*=k,_=0,S=r.length;S>_;_++)e=r[_],f=e._p1,v=d.distanceToSquared(f),X>v&&(X=v,p=f),f=e._p4,v=d.distanceToSquared(f),X>v&&(X=v,p=f);if(X>k)return!1;var h=I.highlight={};return h.type="changeRealPoint",h.point=p,I.editing={type:"realPoint",point:p,shiftGuide:{point:p.clone(),dir:"x",limit:0}},I._interactor.setCursor("crosshair"),!0},Er.prototype._checkEditElevation=function(h){var B=this;if(!B._interactor.getStyle("curveElevationVisible"))return!1;var z=B.activing;if(!z)return!1;var P=z.getCurrentEditingPoint();if(!P)return!1;var m=B._interactor,D=m.getStyle("curveElevationGuideShift"),G=m.getStyle("curveElevationIntersectSize"),y=h.distanceToSquared({x:P.x+D[0],y:P.y+D[1]});if(!(y>G*G)){var X=B.highlight={};X.type="elevation";var a=new wd.Math.Vector2(h.x,h.y,P.e);return B.editing={type:"elevation",startPoint:a},B._interactor.setCursor("crosshair"),!0}},Er.prototype._checkEditCtrlPoint=function(a){var I=this;if(I.activing&&!I.activing.selections){var j=I.getCurrentSelectintStatus();if(j!==wd.Curve.PointType.Straight){var o=I.activing.pairs;if(o){var $=I._interactor.getStyle("curvePointIntersectSize");$*=$;var Q,Y,K,x,P,k,r,S,T,y=1/0;for(r=0,T=o.length;T>r;r++)for(x=o[r],S=0;2>S;S++)P=0===S?"c1":"c2",x[P]&&(k=a.distanceToSquared(x[P]),y>k&&(y=k,Q=x,Y=r,K=P));if(y>$)return!1;I.activing.hlpair=Q,I.activing.hltype=K;var A=I.highlight={};return A.type="changeCtrlPoint",A.point=Q[K],I.editing={type:"ctrlPoint",pair:Q,pairId:Y,ctrlType:K,direction:Q[K].clone().sub(I.activing.point).normalize()},I._interactor.setCursor("crosshair"),!0}}}},Er.prototype.startEdit=function(W,n){W.startDragging(n);var j=this;j.highlight&&"insertKnot"===j.highlight.type&&(j.insertKnot(),j.gatherSingleTarget(j._interactor.gv,j.target),j.activing=null,j._checkEditRealPoint(j._interactor._getLogicalPoint(n)));var l=j._activing;if(l){var h=j.editing?j.editing.type:null;"ctrlPoint"===h?l.editingCtrl={pairId:j.editing.pairId,type:l.hltype}:"realPoint"===h&&(l.editingCtrl=!1)}var z=j.highlight,E=K.Default.isCtrlDown(n);if(!z||Mp()||Sn(n)){var T=j._interactor.gv;if(!T.setFocus(n)||T._scrolling)return;return E?j._multiSelect={startPoint:T.lp(n)}:T.isPannable()&&(ve(n)||Sn(n))&&(j._pan={tx:T.tx(),ty:T.ty()},W.fi({kind:"beginPan",event:n})),void 0}if("changeRealPoint"===z.type){var O,Q=j.activing?j.activing.point:null,f=j.activing?j.activing.selections:null;if(E&&j.activing)Q===z.point?(f?(j.activing={point:f[0]},f.length>1&&(f.splice(0,1),j.activing.selections=f)):j.activing=null,j.editing=null):f&&(O=f.indexOf(z.point))>=0?(f.length>1?f.splice(O,1):delete j.activing.selections,j.editing=null):f?(f.push(Q),j.activing={point:z.point,selections:f}):j.activing={point:z.point,selections:[Q]};else if(f)Q===z.point||((O=f.indexOf(z.point))>=0?(f.splice(O,1,Q),j.activing={point:z.point,selections:f}):j.activing={point:z.point});else{var c;Q===z.point&&(c=j.activing.status),j.activing={point:z.point},c&&(j.activing.status=c)}W.fi({kind:"beginEditPoint",event:n})}},Er.prototype.insertKnot=function(){var t=this,K=t.highlight,o=t.screenInfo.curve;o.insertKnot(K.bezier,K.point.t),t._writeToHt()},Er.prototype._writeToHt=function(){var l,r,U,f,H=this,h=H.screenInfo.curve,j=h.toHtShape(),S=j.points,b=[],v=j.segments,X=H._interactor.gv,C=H.target,J=C instanceof K.Edge,N=wd.getDataMatrix(C).invert();f=C instanceof K.Polyline,f&&(U=C.getElevation());for(var Z=0,g=S.length;g>Z;Z++)l=S[Z],r=wd.toWorldPosition(X,l),r=N.apply(r),l.e!=a&&l.e!==U&&(r.e=l.e),b.push(r);if(C._writing=!0,J){C.s("edge.type","points"),C.setStyle("edge.segments",v),C.setStyle("edge.points",b.slice(1,b.length-1)),C.setStyle("edge.source.offset.x",0),C.setStyle("edge.source.offset.y",0),C.setStyle("edge.target.offset.x",0),C.setStyle("edge.target.offset.y",0);var o=H._nextChangeEdgeHost;delete H._nextChangeEdgeHost,o&&("source"===o.type?C.setSource(o.host):C.setTarget(o.host)),H._writeEdgeHostAnchor("source",b[0]),H._writeEdgeHostAnchor("target",b[b.length-1])}else b.length?(C.setSegments(v),C.setPoints(b,!0)):C.removeFromDataModel();delete C._writing},Er.prototype._writeEdgeHostAnchor=function(l,n){var p=this,o=p.target,c=p._calcHostAnchor(o,l,n);c.index!==a?(o.setStyle("edge."+l+".index",c.index),o.setStyle("edge."+l+".percent",a),o.setStyle("edge."+l+".anchor.x",a),o.setStyle("edge."+l+".anchor.y",a)):c.percent!==a?(o.setStyle("edge."+l+".percent",c.percent),o.setStyle("edge."+l+".index",a),o.setStyle("edge."+l+".anchor.x",a),o.setStyle("edge."+l+".anchor.y",a)):(o.s("edge."+l+".anchor.x",c.x),o.s("edge."+l+".anchor.y",c.y),c.offsetX||c.offsetY?(o.s("edge."+l+".offset.x",c.offsetX),o.s("edge."+l+".offset.y",c.offsetY)):(o.s("edge."+l+".offset.x",0),o.s("edge."+l+".offset.y",0)))},Er.prototype._calcHostAnchor=function(Y,g,R,b){b||(b="source"===g?Y.getSource():Y.getTarget());var c=this._interactor.gv,o=c.calculateAttachPoint(b,R);if(o)return o.info;if(zm(b)){var y=c.calculateEdgePosition(b,R);return y}var S=b.getRotation(),H=b.getAnchor();Nd(b,c)&&(S=0);var q=b.getScale();if(S||q.x<0||q.y<0){var N=b.getMatrix(),B=N.tfi(R),F=b.getSize();return{x:B.x/F.width+H.x,y:B.y/F.height+H.y}}var e=wi(c,b),D={x:(R.x-e.x)/e.width,y:(R.y-e.y)/e.height};return D},Er.prototype._handlePanning=function(k){var m=this,Q=m._pan;if(Q){Q.started=!0;var c=m._interactor,l=c.gv,V=c._lastClientPoint,S=Rb(k),A=mj(l,S,V);l.setTranslate(Q.tx+A.x,Q.ty+A.y),m.gatherSingleTarget(c.gv,m.target),c._42(),c.fi({kind:"betweenPan",event:k})}},Er.prototype.handleEdit=function(V,H){var Y=this,o=Y.editing;if(Y._pan)return Y._handlePanning(H),void 0;if(Y._multiSelect)return Y._multiSelect.endPoint=V.lp(H),Y._interactor.redraw(),void 0;if(o){o.inEdit=!0;var g,f,r,w=Y._interactor._getLogicalPoint(H),i=K.Default.isCtrlDown(H),T=K.Default.isShiftDown(H),M=o.type,n=Y.activing;if(Y._guideInfo=null,"ctrlPoint"===M&&T){var E=Y.editing.direction.clone();g=n.point;var F=E.dot(w.clone().sub(g));w=E.setLength(F).add(g)}else if("ctrlPoint"===M||"realPoint"===M){var E;if("realPoint"===M&&T){var z=Y.editing.shiftGuide;f=z.point;var x=Math.abs(w.x-f.x),U=Math.abs(w.y-f.y);x>U&&x>z.limit&&"y"===z.dir&&(z.dir="x"),U>x&&U>z.limit&&"x"===z.dir&&(z.dir="y"),E=z.dir,"x"===E?(w.y=f.y,z.limit=Math.max(z.limit,x)):"y"===E&&(w.x=f.x,z.limit=Math.max(z.limit,U))}var h=Y._isEditEdgeSourceTarget();if(h){var l=Y._editEdgeSourceTarget(h,w,i);l&&(Y.edgeEditResult=l,r=l.tipText)}else if(!i){var m=Y._guidingToEdit(w,E),G="realPoint"===M?Y._interactor.gridGuide.findClosest(w,E,!0):null,J=1/0,b=1/0;G&&(G.x&&(J=G.x),G.y&&(b=G.y));var D=!1;m&&(m.xList&&(Math.abs(m.x)<=Math.abs(J)?(D=!0,J=m.x):delete m.xList),m.yList&&(Math.abs(m.y)<=Math.abs(b)?(D=!0,b=m.y):delete m.yList),D&&(Y._guideInfo=m)),isFinite(J)&&(w.x+=J),isFinite(b)&&(w.y+=b),D&&(m.v=w)}}var I=Y.screenInfo.curve;if("realPoint"===o.type){g=o.point,g.e!==a&&(w.e=g.e),I.moveRealPoint(g,w),o.point=w,Y.highlight.point=w;var O=n.status,$=n.selections;if(Y.activing={point:w,status:O},$){var y=w.clone().sub(g),N=0;$.forEach(function(D){var H=D.clone().add(y);I.moveRealPoint(D,H),$[N++]=H}),Y.activing.selections=$}}else if("ctrlPoint"===o.type){var v=n.pairs,B=v[o.pairId];I.moveCtrlPoint(B,w,o.ctrlType);var k=n.status,t=wd.Curve.PointType;if((k===t.Mirrored||k===t.Asymmetric)&&B.c1&&B.c2){var g=new wd.Math.Vector2(n.point),p="c1"===o.ctrlType?"c2":"c1";if(k===wd.Curve.PointType.Mirrored)I.moveCtrlPoint(B,g.clone().multiplyScalar(2).sub(w),p);else if(k===t.Asymmetric){var F=B[p].clone().sub(g).length(),s=g.clone().sub(B[o.ctrlType]).setLength(F).add(g);isNaN(s.x)||I.moveCtrlPoint(B,s,p)}}n._firePointChange()}else if("elevation"===o.type){f=o.startPoint;var u=f.e+(f.y-w.y)/V._zoom;Y._setCurrentPointImpl("e",u),n._firePointChange(),r="E: "+wd.toFixed(u)}var W=K.Default.getLogicalPoint(H,Y._interactor._canvas);if(W.x+=wd.Icons.TipShiftX,W.y+=wd.Icons.TipShiftY,!r){var L=wd.toWorldPosition(V,w);r=""+wd.toFixed(L.x)+", "+wd.toFixed(L.y)}Y.tipInfo={helperPos:W,text:r,size:r.length},Y._writeToHt(),Y._interactor.fi({kind:"betweenEditPoint",event:H})}},Er.prototype._setCurrentPointImpl=function(e,R){var D=this,k=D._activing;if(!k)return!1;var o=D.target;if(!o)return!1;var $=k.getCurrentEditingPoint();if(!$)return!1;var w=k.editingCtrl;if(!w)var g=$.clone();if("e"===e)$.e=R;else{var u;if("x"===e||"y"===e){var j=k._lastFirePoint;u="x"===e?{x:R,y:j?j.y:0}:{x:j?j.x:0,y:R}}else"object"==typeof e?(u=e,e.e!==a&&($.e=e.e)):(u={x:arguments[0],y:arguments[1]},arguments[2]!==a&&($.e=arguments[2]));var z=wd.getDataMatrix(o);u=wd.toScreenPosition(D._interactor.gv,z.apply(u)),$.x=u.x,$.y=u.y}if(!w){var c=g.multiplyScalar(-1).add($);$.e&&g.e&&(c.e=$.e-g.e),D.screenInfo.curve.moveCtrlDueToRealPointMovement($,c)}return!0},Er.prototype.setCurrentPoint=function(g,B){return this._setCurrentPointImpl(g,B)?(this._writeToHt(),!0):!1},Er.prototype._isEditEdgeSourceTarget=function(){var L=this,Q=L.target;if(!(Q instanceof K.Edge))return!1;var i=L.editing.point,m=L.screenInfo.curve._curves;return i===m[0]._p1?"source":i===m[m.length-1]._p4?"target":!1},Er.prototype._editEdgeSourceTarget=function(b,d,q){var A,g=this,P=g.target;if(A="source"===b?P.getSource():P.getTarget()){var o,M=g._interactor.gv,K=wd.toWorldPosition(M,d),X=g._calcHostAnchor(P,b,K,A);if(o=X.index!==a||X.percent!==a?X.distance*M.getZoom()>g._interactor.getStyle("edgeHostEdgeMaxDistance"):g._interactor.getStyle("edgeHostDetectPerFrame")?!0:X.x<0||X.x>1||X.y<0||X.y>1?!0:!1){var H=M.getDataAt(K,function(j){return M.isSelectable(j)?M.isSourceTargetEditable(P,j,b)?P.canSetSourceTarget(j,b)?!0:!1:!1:!1});if(H){var l=g._calcHostAnchor(P,b,K,H);A=H,g._nextChangeEdgeHost={type:b,host:H},X=l}}var F,R,Z;if(q||X.x===a)(X.percent!==a||X.index!==a)&&(R=X.point);else{var L=g._interactor.getStyle("anchorRound"),e=g._interactor.getStyle("anchorSensitivity");F=M.calculateAttachPoint(A,K),F?X=F.info:(X.x=wd.roundTo(X.x,L,e),X.y=wd.roundTo(X.y,L,e)),R=Lb(M,A,0,X.offsetX||0,X.offsetY||0,X.x,X.y)}R&&(Z=wd.toScreenPosition(M,R),d.x=Z.x,d.y=Z.y),g._edgeHostGuideInfo={corners:wd.getTargetCornersOnScreen(M,A),attach:F?F.index:-1,host:A};var n;return X.percent!==a?n="percent: "+X.percent.toFixed(2):X.index!==a?n="index: "+X.index:(n=""+X.x.toFixed(2)+", "+X.y.toFixed(2),(X.offsetX||X.offsetY)&&(n+=" offset: "+X.offsetX.toFixed(2)+", "+X.offsetY.toFixed(2))),{host:A,anchor:X,tipText:n}}},Er.prototype._guidingToEdit=function(T,K){var J,o,U=this;if(J=U.screenInfo.curve){o=J._curves;var s,L,m,h,E,i,p,q,b=1/0,O=1/0,X=[];for(U.editing&&"realPoint"===U.editing.type&&(q=U.editing.point),E=0,i=2*o.length;i>E;E++)p=o[Math.floor(E/2)][E%2?"_p4":"_p1"],X.indexOf(p)>=0||(X.push(p),q&&q===p||(m=p.x-T.x,h=p.y-T.y,Math.abs(m)<Math.abs(b)?(b=m,s=[p]):m===b&&s.push(p),Math.abs(h)<Math.abs(O)?(O=h,L=[p]):h===O&&L.push(p)));var B=U._interactor.getStyle("smartGuideThreshold");if((Math.abs(b)>B||"y"===K)&&(s=null),(Math.abs(O)>B||"x"===K)&&(L=null),s||L){var n=!1,V={};if(s&&(n=!0,V.xList=s,V.x=b),L&&(n=!0,V.yList=L,V.y=O),n)return V}}},Er.prototype._46O=function(x){var D=this;D.editing&&(D.editing=null,D._interactor.fi({kind:"endEditPoint",event:x})),D._guideInfo=null,D._edgeHostGuideInfo=null,D._pan&&(D._pan=null,D._interactor.fi({kind:"endPan",event:x})),D._multiSelect&&(D._handleMultiSelect(D._multiSelect),D._multiSelect=null),D.tipInfo=null,D.edgeEditResult=null},Er.prototype._handleMultiSelect=function(P){if(P.startPoint&&P.endPoint){var J,W,V,q,H,$=this,s=$._interactor,t=s.gv,e=wd.toScreenPosition(t,P.startPoint),M=wd.toScreenPosition(t,P.endPoint),k=K.Default.unionPoint(e,M),D=$.screenInfo.curve._curves,L=[],x=function(q){q.x>=k.x&&q.y>=k.y&&q.x<=k.x+k.width&&q.y<=k.y+k.height&&L.indexOf(q)<0&&L.push(q)};for(J=0,W=D.length;W>J;J++)H=D[J],x(H._p1),x(H._p4);if(L.length){var T=$.activing||{},O=T.selections||[];for(T.point&&O.push(T.point),J=0,W=O.length;W>J;J++)V=O[J],q=L.indexOf(V),q>=0?L[q]=a:L.push(V);var Z=L;for(L=[],J=0,W=Z.length;W>J;J++)Z[J]&&L.push(Z[J]);W=L.length,0===W?$.activing=null:1===W?$.activing={point:L[0]}:(V=L[W-1],$.activing={point:V,selections:L.splice(0,W-1)}),s.redraw()}}},Er.prototype._canDeletePoint=function(M,c){var D=this.target;if(!(D instanceof K.Edge))return!0;var u=M._curves[0],Y=M._curves[M._curves.length-1];return u._p1===c||Y._p4===c?!1:!0},Er.prototype.handleDelete=function(){var A=this;if(A.activing&&A.screenInfo){var B=K.Default.isShiftDown(),w=A.screenInfo.curve;A._canDeletePoint(w,A.activing.point)&&w.deleteRealPoint(A.activing.point,B),A.activing.selections&&A.activing.selections.forEach(function(u){A._canDeletePoint(w,u)&&w.deleteRealPoint(u,B)}),A.activing=null,delete A.editing,delete A.tipInfo,delete A.edgeEditResult,delete A._pan,delete A._multiSelect,A._writeToHt(),A._interactor.fp("deleteShapePoint",!1,!0)}},Er.prototype.handleDoubleClick=function(o){var q=this,B=q._interactor._getLogicalPoint(o);if(q.screenInfo&&q._checkEditRealPoint(B)){var r=q.getCurrentSelectintStatus(),M=wd.Curve.PointType;return r=r===M.Mirrored?M.Straight:M.Mirrored,q._setCurrentSelectionStatus(r),q._interactor._42(),!0}},Er.prototype._drawHighlight=function(A){var V=this,x=V.highlight;if(x){var D=x.bezier,h=V._interactor;D&&wd.Icons.DrawIcon(h,A,wd.Icons.ShapeHighlightCurve,[D._p1.x,D._p1.y,D._p2.x,D._p2.y,D._p3.x,D._p3.y,D._p4.x,D._p4.y]);var K=x.point;K&&"insertKnot"===x.type&&wd.Icons.DrawIcon(h,A,wd.Icons.ShapeHighlighPoint,K)}},Er.prototype._drawGuide=function(S){var Z=this,o=Z._guideInfo;if(o){var I,M,l,u,D=o.v;for(I=0;2>I;I++)if(u=0===I?o.xList:o.yList)for(M=0,l=u.length;l>M;M++)wd.Icons.DrawIcon(Z._interactor,S,wd.Icons.ShapeGuideLine,[D.x,D.y,u[M].x,u[M].y])}},Er.prototype._drawCurrentPoint=function(c){var a=this;if(a.activing){var Q=a.activing,s=a.getCurrentSelectintStatus(),C=a._interactor;if(s!==wd.Curve.PointType.Straight){var X=Q.pairs;Q.hlpair,Q.hltype;var H=Q.selections,R=Q.editingCtrl;if(X&&!H){var K,A,P;for(A=0,P=X.length;P>A;A++)K=X[A],R&&A===R.pairId&&K[R.type]?wd.Icons.DrawIcon(C,c,wd.Icons.ShapeActivingCtrl,{point:K.point,c1:K.c1,c2:K.c2,hl:R.type}):wd.Icons.DrawIcon(C,c,wd.Icons.ShapeActivingCtrl,K)}}wd.Icons.DrawIcon(C,c,wd.Icons.ShapeHighlighRealPoint,a.activing.point),H&&H.forEach(function(P){wd.Icons.DrawIcon(C,c,wd.Icons.ShapeHighlighRealPoint,P)})}},Er.prototype.clear=function(){var x=this;x.editing=null,x._guideInfo=null,x.activing=null,x.highlight=null},Er.prototype._42=function(o){var L=this;L.info={},L.editing||(L.screenInfo=null);var W=L._interactor;if(!W.editDetail)return L.clear(),void 0;var c=W.gv;if(!L.target||!c.isSelected(L.target)||!c.isVisible(L.target))return W.editDetail=!1,L.clear(),void 0;if(L.gatherSingleTarget(c,L.target),wd.Icons.DrawIcon(W,o,wd.Icons.ShapeBgCurve,L.screenInfo),L._drawHighlight(o),L._drawCurrentPoint(o),L._getRealPoint().forEach(function(d){wd.Icons.DrawIcon(W,o,wd.Icons.ShapePoint,d)}),L._drawGuide(o),L.tipInfo&&wd.Icons.DrawIcon(W,o,wd.Icons.TipHelper,L.tipInfo),L._edgeHostGuideInfo){wd.Icons.DrawIcon(W,o,wd.Icons.NodeHoverGuide,L._edgeHostGuideInfo.corners);var G=L._edgeHostGuideInfo.host;if(G){var m=c.getAttachPoints(G);if(m&&m.length)for(var i=0,R=m.length;R>i;i++){var T=m[i],E=Lb(c,G,0,T.offsetX||0,T.offsetY||0,T.x,T.y);E=wd.toScreenPosition(c,E),E.isAttach=L._edgeHostGuideInfo.attach===i,wd.Icons.DrawIcon(W,o,wd.Icons.AttachPoint,E)}}}if(L._interactor.getStyle("curveElevationVisible")&&L.target instanceof K.Polyline&&L.activing){var n=L.activing.getCurrentEditingPoint();n&&wd.Icons.DrawIcon(W,o,wd.Icons.EdgeElevationGuide,n)}if(L.edgeEditResult&&L._drawEdgeHostHighlight(o,L.edgeEditResult.host,L.edgeEditResult.anchor),L._multiSelect&&L._multiSelect.endPoint){var _=K.Default.unionPoint(wd.toScreenPosition(c,L._multiSelect.startPoint),wd.toScreenPosition(c,L._multiSelect.endPoint));_.color=c.getRectSelectBorderColor(),o.save(),o.setTransform(1,0,0,1,0,0);var Y=C.devicePixelRatio,q=_.borderWidth=Math.round(Y);q/=2,_.x=Math.round(_.x*Y)+q,_.y=Math.round(_.y*Y)+q,_.width=Math.round(_.width*Y),_.height=Math.round(_.height*Y),wd.Icons.DrawIcon(W,o,wd.Icons.SimpleRect,_),o.restore()}},Er.prototype._drawEdgeHostHighlight=function(E,X,n){this.drawEdgeHostHighlight(E,X,n),this._interactor.redraw()},Er.prototype.drawEdgeHostHighlight=function(d,z,N){if(zm(z)){var i,D,M,r,v=this,b=v._interactor,h=b.gv,t=h.getDataUI(z),I=nr(t),A=[];for(M=0,r=I.points.length;r>M;M++)D=wd.toScreenPosition(h,I.points.get(M)),A.push(D.x,D.y);I.segments&&(i=I.segments.toArray());var B=b.getStyle("edgeHostHighlighPeriod"),U=b.getStyle("edgeHostEdgeHighlighColor");wd.Icons.DrawIcon(b,d,wd.Icons.ShapeBgCurve,{P:A,S:i,color:U,dynamicVisible:N.index===a,dynamicPeriod:B}),U=b.getStyle("edgeHostPointHighlighColor");var j=Zk(t);for(M=0,r=j.length;r>M;M++){var u=j[M],T=wd.toScreenPosition(h,u);wd.Icons.DrawIcon(b,d,wd.Icons.ShapePoint,{point:{x:T.x,y:T.y},color:U,size:12,dynamicVisible:M===N.index,dynamicPeriod:B})}}},Er.prototype._getRealPoint=function(){var w,j=this.screenInfo,Z=j.P,d=j.S,p=-1,e=[],G=-1,L=d.length;return d.each(function(Q){G++;var r=1;if(3===Q)r=2;else if(4===Q)r=3;else if(5===Q)return;p+=r,w=G+1>=L?!0:1===d.get(G+1)?!0:!1,e.push({point:{x:Z[2*p],y:Z[2*p+1]},segmentIndex:G,pointIndex:p,isEnd:w})
|
||
}),e},Er.prototype.getEditingPointsInfo=function(C){var y=this,u=y.activing;if(!u)return!1;var m=u.point;if(!m)return!1;var I=this._getRealPoint(),A=[{screen:m}];u.selections&&u.selections.forEach(function(s){A.push({screen:s})});var T,b,a=I.length;return A.forEach(function(C){for(T=0;a>T;T++)if(b=I[T],C.screen.isNearEnough(b.point)){C.segmentIndex=b.segmentIndex,C.pointIndex=b.pointIndex,C.point=y.target.getPoints().get(b.pointIndex);break}}),C&&A.sort(function(Z,L){return Z.segmentIndex-L.segmentIndex}),A};var On=wd.MoveHelper=function(d){var G=this;G.catalog="Move",G._interactor=d};On.prototype={},On.prototype.constructor=On,On.prototype.calcShift=function(u,k,Z){var f,J,D=this,m=D._interactor.gv,b=m.lp(k);if("beginMove"===u&&D._gatherGridInfo(Z._lastLogicalPoint||b),f=D._target){var c=f.downPosition;if(c){var s=D._interactor.getStyle("moveSensitivity")/m._zoom;if(c.distanceTo(b)<s)return{x:0,y:0};delete f.downPosition}var O;J=K.Default.isShiftDown(k),J&&(b=D._dealShiftDown(b),O=f.shiftGuide.dir);var l,N=f.rawPos={x:f.pos.x+b.x-f.lp.x,y:f.pos.y+b.y-f.lp.y};if(K.Default.isCtrlDown(k)){if(l=D._calcShiftByAddon(),D._target.node instanceof wd.Group){var L=D._target.node;L._position.x+=l.x,L._position.y+=l.y}return l}for(var _,Q=f.x+N.x,I=f.y+N.y,$={x:Q,y:I},G={x:Q+f.w/2,y:I+f.h/2},V={x:Q+f.w,y:I+f.h},a=D._interactor.rectGuide,E=D._interactor.gridGuide,n=[a.findClosest($,O),a.findClosest(G,O),a.findClosest(V,O),E.findClosest($,O),E.findClosest(G,O),E.findClosest(V,O)],g=1/0,q=1/0,x=0,P=n.length;P>x;x++)_=n[x],_&&(Q=_.x,I=_.y,isFinite(Q)&&Math.abs(Q)<Math.abs(g)&&(g=Q),isFinite(I)&&Math.abs(I)<Math.abs(q)&&(q=I));if(isFinite(g)||(g=0),isFinite(q)||(q=0),l=D._calcShiftByAddon(g,q),D._target.node instanceof wd.Group){var L=D._target.node;L._position.x+=l.x,L._position.y+=l.y}var v=f.node;if(!Nd(v,m)){var p=N.x+g,S=N.y+q;D._interactor.rectGuide.gatherLines({node:v,x:f.x+p,y:f.y+S,w:f.w,h:f.h},O)}return l}},On.prototype._calcShiftByAddon=function(f,Q){var k=this._target,E=k.rawPos,s=k.node.getPosition();return f=f||0,Q=Q||0,{x:E.x-s.x+f,y:E.y-s.y+Q}},On.prototype._dealShiftDown=function(r){var m=this,$=m._target.shiftGuide,j=m._target.lp,R=Math.abs(r.x-j.x),l=Math.abs(r.y-j.y);R>l&&R>$.limit&&"y"===$.dir&&($.dir="x"),l>R&&l>$.limit&&"x"===$.dir&&($.dir="y");var x=$.dir;return"x"===x?(r.y=j.y,$.limit=Math.max($.limit,R)):"y"===x&&(r.x=j.x,$.limit=Math.max($.limit,l)),r},On.prototype._gatherGridInfo=function(E){var i,m=this,k=m._interactor,D=k._getValidSelection();if(D.length){if(1===D.length){if(i=D[0],!i.getRect)return m._target=null,void 0}else if(i=wd.Group.findOrCreateGroup(D),!i)return m._target=null,void 0}else{var D=k.gv.sm().getSelection();if(D.length&&(i=D.get(0),!i.getRect))return m._target=null,void 0}var v=i.getPosition(),d=i.getRect();m._target={node:i,x:d.x-v.x,y:d.y-v.y,w:d.width,h:d.height,lp:{x:E.x,y:E.y},pos:{x:v.x,y:v.y},shiftGuide:{dir:"x",limit:0},downPosition:new wd.Math.Vector2(E)},k.rectGuide.gatherRects()},On.prototype.clear=function(){var K=this;K._interactor.rectGuide.clear(),K._interactor._42()};var ws="directional",Yd="point",pn="spot",$q="light.color",yr={},Tk=function(X,Z){tg(Z)&&So.test(Z)?Ti(X,Z):Dl(Z)&&Z.modelType?cm(X,Z):ep[X]=Z},Mk=function(y){if(Dl(y))return y.modelType?y.uuid?ep[y.uuid]:(y.uuid=K.Math.generateUUID(),cm(y.uuid,y),a):y;var o=ep[y];return y&&o===a&&So.test(y)&&(_f&&_f[y]||Ti(y,y)),o},gh=function(H,n){H.frameStack?H.frameStack.push(n):H.frameStack=[n],H.bindFramebuffer(H.FRAMEBUFFER,n)},bh=function(R){var P=R.frameStack;if(P){if(P.pop(),P.length)return R.bindFramebuffer(R.FRAMEBUFFER,P[P.length-1]),void 0;R.frameStack=null}R.bindFramebuffer(R.FRAMEBUFFER,null)};Iq(_,{graph3dViewAttributes:J,graph3dViewFirstPersonMode:!1,graph3dViewMouseRoamable:!0,graph3dViewMoveStep:15,graph3dViewRotateStep:X/60,graph3dViewEditHelperDisabled:!1,graph3dViewPannable:!0,graph3dViewRotatable:!0,graph3dViewWalkable:!0,graph3dViewResettable:!0,graph3dViewZoomable:!0,graph3dViewRectSelectable:!0,graph3dViewRectSelectBackground:yp,graph3dViewGridVisible:!1,graph3dViewGridSize:50,graph3dViewGridGap:50,graph3dViewGridColor:[.4,.75,.85,1],graph3dViewOriginAxisVisible:!1,graph3dViewCenterAxisVisible:!1,graph3dViewAxisXColor:[1,0,0,1],graph3dViewAxisYColor:[0,1,0,1],graph3dViewAxisZColor:[0,0,1,1],graph3dViewEditSizeColor:[1,1,0,1],graph3dViewOrtho:!1,graph3dViewOrthoWidth:2e3,graph3dViewFovy:X/4,graph3dViewNear:10,graph3dViewFar:1e4,graph3dViewEye:[0,300,1e3],graph3dViewCenter:[0,0,0],graph3dViewUp:[0,1,-1e-7],graph3dViewHeadlightRange:0,graph3dViewHeadlightColor:[1,1,1,1],graph3dViewHeadlightIntensity:1,graph3dViewHeadlightDisabled:!1,graph3dViewFogDisabled:!0,graph3dViewFogColor:"white",graph3dViewFogNear:1,graph3dViewFogFar:2e3,graph3dViewDashDisabled:!0,graph3dViewBatchBlendDisabled:!0,graph3dViewBatchBrightnessDisabled:!0,graph3dViewBatchColorDisabled:!1,graph3dMaxVectorCacheTime:50,setShape3dModel:Tk,getShape3dModel:Mk,createMatrix:function(W,P){Bl(W)||(W=[W]);for(var t=W.length-1;t>=0;t--){var o=W[t];P=mk(o.mat,o.s3,o.r3,o.rotationMode,o.t3,P)}return P},transformVec:function(t,p){return pk(t,p)},glBindFrame:gh,glUnbindFrame:bh,createBoxModel:function(){return{vs:Br,ns:Bj,uv:en,is:Qj}},createRoundRectModel:function(Z,g){return Lf.roundRect(Z,g)},createStarModel:function(K,U){return Lf.star(K,U)},createRectModel:function(v,q){return Lf.rect(v,q)},createTriangleModel:function(w,M){return Lf.triangle(w,M)},createRightTriangleModel:function(O,h){return Lf.rightTriangle(O,h)},createParallelogramModel:function(f,O){return Lf.parallelogram(f,O)},createTrapezoidModel:function(t,G){return Lf.trapezoid(t,G)},createSmoothSphereModel:function(Y,J,s,m,V,d,r){return fc(new tn(Y,J,s,m,V,d,r))},createSphereModel:function(s,P,G,O,V,W){return s?Wj(s,P,G,O,V,W):_.createSmoothSphereModel()},createSmoothConeModel:function(Z,g,j,J,o){return qf(Z,g,j,J,o)},createConeModel:function(S,k,f,Y,T,i){return S?sk(S,k,f,Y,T,i):qf(i)},createSmoothCylinderModel:function(x,P,n,r,X,O,i,R){return fc(new to(x,P,n,r,X,O,i,R))},createCylinderModel:function(M,L,t,s,R,f,e){return M?ub(M,L,t,s,R,f,e):Hm(f,e)},createSmoothTorusModel:function(c,T,a,K,w,h){return fc(new im(c,T,a,K,w,h))},createTorusModel:function(F,I,b,R,J,O,M){return F?es(F,I,b,R,J,O,M):il(O,M)},createExtrusionModel:function(r,N,I,h,y,F,O,W){return em(r,N,I,h,y,F,O,W)},createSmoothRingModel:function(J,b,d,a,G,M){for(var W=[],R=0;R<J.length-1;R+=2)W.push({x:J[R],y:J[R+1]});for(J=Wc(W,b,d)[0],W=[],R=0;R<J.length;R++){var m=J[R];W.push(new Xj(m.x,0,m.y))}return fc(new oq(W,M,a,G))},createTextGeometry:function(f,k){return fc(new Ud(f,k))},loadFontFace:function(L,s){_.xhrLoad(L,function(Q){if(!Q)return s();var k;try{k=JSON.parse(Q)}catch(w){k=JSON.parse(Q.substring(65,Q.length-2))}sc.loadFace(k),s&&s(k.familyName.toLowerCase())},s?null:{sync:!0})},createRingModel:function(N,p,R,j,$,i,v,z,d,S){for(var g=[],E=0;E<N.length-1;E+=2)g.push({x:N[E],y:N[E+1]});i=i||_.shapeSide,v=v||0,z=z||i;var K,h,u,t,Y,O,b,W,e,w,E,X,r,U,y,V,k,f,M=[],m=[],n=d?[]:J,I=d?[]:J,Q=S?[]:J,A=S?[]:J,H=j?[]:J,o=j?[]:J,c=$?[]:J,D=$?[]:J,N=Wc(g,p,R),P=Cd(N),B=0,a=2*Math.PI/i;return N.forEach(function(T){if(u=T.length,u>1){if(t=T[0],j)for(O=t.x,W=t.y,E=v;z>E;E++)X=E+1,r=E*a,U=X*a,y=L(r),V=q(r),k=L(U),f=q(U),H.push(y*O,W,-V*O,k*O,W,-f*O,0,W,0),o.push(.5-.5*y,.5-.5*V,.5-.5*k,.5-.5*f,.5,.5);for(w=0;u>w;w++){for(Y=T[w],O=t.x,b=Y.x,W=t.y,e=Y.y,K=B/P,B+=Kk(t,Y),h=B/P,E=v;z>E;E++)X=E+1,r=E*a,U=X*a,y=L(r),V=q(r),k=L(U),f=q(U),M.push(y*b,e,-V*b,k*b,e,-f*b,y*O,W,-V*O,k*b,e,-f*b,k*O,W,-f*O,y*O,W,-V*O),m.push(E/i,h,X/i,h,E/i,K,X/i,h,X/i,K,E/i,K),d&&E===v&&(n.push(0,W,0,0,e,0,y*b,e,-V*b,y*b,e,-V*b,y*O,W,-V*O,0,W,0),I.push(0,.5-W,0,.5-e,2*b,.5-e,2*b,.5-e,2*O,.5-W,0,.5-W)),S&&X===z&&(Q.push(0,W,0,k*b,e,-f*b,0,e,0,k*b,e,-f*b,0,W,0,k*O,W,-f*O),A.push(1,.5-W,1-2*b,.5-e,1,.5-e,1-2*b,.5-e,1,.5-W,1-2*O,.5-W));t=Y}if($)for(O=t.x,W=t.y,E=v;z>E;E++)X=E+1,r=E*a,U=X*a,y=L(r),V=q(r),k=L(U),f=q(U),c.push(k*O,W,-f*O,y*O,W,-V*O,0,W,0),D.push(.5-.5*k,.5+.5*f,.5-.5*y,.5+.5*V,.5,.5)}}),{vs:M,uv:m,bottom_vs:c,bottom_uv:D,top_vs:H,top_uv:o,from_vs:n,from_uv:I,to_vs:Q,to_uv:A}}},!0),Iq(e,{"3d.move.mode":a,"3d.selectable":!0,"3d.visible":!0,"3d.movable":!0,"3d.editable":!0,"shape.border.gradient.color":a,"edge.gradient.color":a,"edge.source.t3":a,"edge.target.t3":a,"light.type":Yd,"light.center":[0,0,0],"light.color":[1,1,1,1],"light.disabled":!1,"light.angle":X/4,"light.range":0,"light.exponent":1,"light.intensity":1,"wf.visible":!1,"wf.width":1,"wf.color":fl,"wf.short":!1,"wf.mat":a,"wf.geometry":!1,"wf.loadQuadWireframe":!1,"wf.combineTriangle":!0,batch:a,"transparent.mask":!1,brightness:a,"select.brightness":.7,"repeat.uv.length":a,alphaTest:.4,renderTextureSamples:4,"highlight.visible":!0,"highlight.width":.8,"highlight.color":"rgba(190, 210, 250, 1)","color.empty":[0,0,0,0],"shape3d.vector.dynamic.maxsize":2048,"label.face":jk,"label.t3":a,"label.r3":a,"label.texture.scale":2,"label.rotationMode":od,"label.light":!1,"label.blend":a,"label.reverse.flip":!1,"label.reverse.color":Je,"label.reverse.cull":!1,"label.transparent":!1,"label.autorotate":!1,"label2.face":jk,"label2.t3":a,"label2.r3":a,"label2.texture.scale":2,"label2.rotationMode":od,"label2.light":!1,"label2.blend":a,"label2.reverse.flip":!1,"label2.reverse.color":Je,"label2.reverse.cull":!1,"label2.transparent":!1,"label2.autorotate":!1,"note.face":jk,"note.t3":a,"note.r3":a,"note.texture.scale":2,"note.rotationMode":od,"note.light":!1,"note.blend":a,"note.reverse.flip":!1,"note.reverse.color":Je,"note.reverse.cull":!1,"note.transparent":!1,"note.autorotate":!1,"note2.face":jk,"note2.t3":a,"note2.r3":a,"note2.texture.scale":2,"note2.rotationMode":od,"note2.light":!1,"note2.blend":a,"note2.reverse.flip":!1,"note2.reverse.color":Je,"note2.reverse.cull":!1,"note2.transparent":!1,"note2.autorotate":!1,shape3d:a,"shape3d.color":hb,"shape3d.top.color":a,"shape3d.bottom.color":a,"shape3d.from.color":a,"shape3d.to.color":a,"shape3d.image":a,"shape3d.top.image":a,"shape3d.bottom.image":a,"shape3d.from.image":a,"shape3d.to.image":a,"shape3d.light":!0,"shape3d.side":0,"shape3d.side.from":a,"shape3d.side.to":a,"shape3d.visible":!0,"shape3d.from.visible":!0,"shape3d.to.visible":!0,"shape3d.top.visible":!0,"shape3d.bottom.visible":!0,"shape3d.torus.radius":.17,"shape3d.resolution":0,"shape3d.blend":a,"shape3d.opacity":a,"shape3d.reverse.flip":!1,"shape3d.reverse.color":Je,"shape3d.reverse.cull":!1,"shape3d.transparent":!1,"shape3d.uv.offset":a,"shape3d.uv.scale":a,"shape3d.top.uv.offset":a,"shape3d.top.uv.scale":a,"shape3d.bottom.uv.offset":a,"shape3d.bottom.uv.scale":a,"shape3d.from.uv.offset":a,"shape3d.from.uv.scale":a,"shape3d.to.uv.offset":a,"shape3d.to.uv.scale":a,"shape3d.top.cap":a,"shape3d.bottom.cap":a,"shape3d.start.angle":0,"shape3d.sweep.angle":M,"shape3d.point.epsilon":1e-6,"shape3d.discard.selectable":!0,"shape3d.top.discard.selectable":!0,"shape3d.bottom.discard.selectable":!0,"shape3d.from.discard.selectable":!0,"shape3d.to.discard.selectable":!0,"shape3d.scaleable":!0,"shape3d.autorotate":!1,"shape3d.fixSizeOnScreen":a,"shape3d.image.cache":!1,"shape3d.alwaysOnTop":!1,"all.light":!0,"all.visible":!0,"all.color":hb,"all.image":a,"all.blend":a,"all.opacity":a,"all.reverse.flip":!1,"all.reverse.color":Je,"all.reverse.cull":!1,"all.transparent":!1,"all.uv":a,"all.uv.offset":a,"all.uv.scale":a,"all.discard.selectable":!0,mat:a,"left.mat":a,"right.mat":a,"top.mat":a,"bottom.mat":a,"front.mat":a,"back.mat":a},!0);var uh,Sb=!1,kf=[0,0,0,0],lq={left:[1/255,0,0,1],right:[2/255,0,0,1],top:[3/255,0,0,1],bottom:[4/255,0,0,1],front:[5/255,0,0,1],back:[6/255,0,0,1],m:{1:rg,2:cd,3:Gh,4:An,5:jk,6:Pi}},ak=function(E,o,m,O){if(o.getFaceVisible(E,m)){Zm(o,br(E,o.getFaceMat(E,m)||o.getMat(E)));var q=o._26I;o.getFaceReverseCull(E,m)?q.enable(q.CULL_FACE):q.disable(q.CULL_FACE),Zf(q,o._prg.uFixPickReverseColor,lq[m]),ug(q),wb(q,O,6),Ac(q),Lh(o)}},bj=function(Q){return Q instanceof lr},el=function(U){return[U.x,U.e||0,U.y]},yq=function(U,P,I){for(var P=Qd(P),S=P[0],K=P[1],n=P[2];I--;)U.push(S,K,n)},Uh=function(N,W,n){for(var W=Qd(W),k=W[0],l=W[1],L=W[2],d=W[3];n--;)N.push(k,l,L,d)},Qe=function(W,d,x){if(d)for(var Q,R,A,g=d[0],p=d[1],l=d[2],T=d[4],G=d[5],O=d[6],P=d[8],B=d[9],J=d[10],D=d[12],h=d[13],y=d[14],k=x.length,Z=0,Z=0;k>Z;Z+=3)Q=x[Z],R=x[Z+1],A=x[Z+2],W.push(g*Q+T*R+P*A+D,p*Q+G*R+B*A+h,l*Q+O*R+J*A+y);else md(W,x)},Pb=function(i,s){var R=s.s("light.intensity"),Y=Qd(s.s($q)),D=Y[0],W=Y[1],u=Y[2];1!==R&&(D*=R,W*=R,u*=R),i.push(D,W,u,s.s("light.disabled")?1:0)},jo=function(R,U,k){Zf(U,k.uHeadlightRange,R._headlightRange);var _=R._headlightIntensity,p=Qd(R._headlightColor);1!==_&&(p=[p[0]*_,p[1]*_,p[2]*_]),Zf(U,k.uHeadlightColor,[p[0],p[1],p[2],R._headlightDisabled?1:0]);var c=R._59O,i=R._spots,v=R._dirs;if(c.length){var G=[],y=[],x=[];c.forEach(function(P){Pb(G,P),md(y,R._transformPointToViewSpace(P.p3())),x.push(P.s("light.range"))}),U.uniform4fv(k.uPointColor,G),U.uniform1fv(k.uPointRange,x),U.uniform3fv(k.uPointPosition,y)}if(i.length){var W=[],E=[],I=[],T=[],o=[],n=[];i.forEach(function(D){Pb(W,D),md(E,R._transformPointToViewSpace(D.p3())),md(o,R._transformDirectionToViewSpace(D.p3(),D.s("light.center"))),I.push(D.s("light.range")),T.push(L(D.s("light.angle")/2)),n.push(D.s("light.exponent"))}),U.uniform4fv(k.uSpotColor,W),U.uniform1fv(k.uSpotRange,I),U.uniform1fv(k.uSpotAngle,T),U.uniform1fv(k.uSpotExponent,n),U.uniform3fv(k.uSpotPosition,E),U.uniform3fv(k.uSpotDirection,o)}if(v.length){var l=[],K=[];v.forEach(function(J){Pb(l,J),md(K,R._transformDirectionToViewSpace(J.p3()))}),U.uniform4fv(k.uDirColor,l),U.uniform3fv(k.uDirDirection,K)}},Ce=function(d){return d>0&&0===(d-1&d)},yl=function(I){return I=t(0,g(X,I)),I=t(ab,g(X-ab,I))},eo=function(){return.05+B()/2},Yj=function(d,b,p,E){var J,X=d.getEye();return d.isOrtho()?(J=uj(d.getCenter(),X),J[0]+=E[0],J[1]+=E[1],J[2]+=E[2]):J=X,ij(b,p,E,J)},ij=function(Z,b,$,k){var m=Pj(Z,b),H=uj(k,$,!0),N=Pj(H,b);if(x(N)<ab)return J;var W=(m-Pj($,b))/N;return[$[0]+H[0]*W,$[1]+H[1]*W,$[2]+H[2]*W]},dh=function(g,E){return{x:2*g.x-E.x,y:2*g.y-E.y}},Il=function(d,e,l,F){var g,I;if(!d)return g=v(e.y-l.y,l.x-e.x),{x:e.x+F*q(g),y:e.y+F*L(g)};if(!l)return g=v(d.y-e.y,e.x-d.x),{x:e.x+F*q(g),y:e.y+F*L(g)};var A=uj([d.x,d.y,0],[e.x,e.y,0],!0),C=uj([l.x,l.y,0],[e.x,e.y,0],!0),O=-(A[0]+C[0])/2,Y=-(A[1]+C[1])/2,B=s(O*O+Y*Y);if(ab>B)return g=v(d.y-e.y,e.x-d.x),{x:e.x+F*q(g),y:e.y+F*L(g)};var m=d.x-e.x,V=d.y-e.y,w=l.x-e.x,o=l.y-e.y,z=s(m*m+V*V),k=s(w*w+o*o);g=Z(Pj(A,C))/2,I=A[1]*C[0]-A[0]*C[1]>0?-1:1,O/=B,Y/=B;var h=F/q(g),u=t(z,k)/L(g);B=Math.min(h,u);var J={x:e.x+I*B*O,y:e.y+I*B*Y};return l.b&&h>k/L(g)&&(J.adjust=!0),J},rq=function(q){var M=q[1],L=q[2],Q=q[3],x=q[6],R=q[7],U=q[11];q[1]=q[4],q[2]=q[8],q[3]=q[12],q[4]=M,q[6]=q[9],q[7]=q[13],q[8]=L,q[9]=x,q[11]=q[14],q[12]=Q,q[13]=R,q[14]=U},Gf=function(q){var j=q[0],T=q[1],w=q[2],X=q[3],g=q[4],e=q[5],b=q[6],L=q[7],B=q[8],t=q[9],f=q[10],v=q[11],p=q[12],G=q[13],N=q[14],W=q[15],P=j*e-T*g,z=j*b-w*g,O=j*L-X*g,$=T*b-w*e,o=T*L-X*e,n=w*L-X*b,m=B*G-t*p,Z=B*N-f*p,h=B*W-v*p,r=t*N-f*G,k=t*W-v*G,u=f*W-v*N,H=P*u-z*k+O*r+$*h-o*Z+n*m;return H?(H=1/H,q[0]=(e*u-b*k+L*r)*H,q[1]=(w*k-T*u-X*r)*H,q[2]=(G*n-N*o+W*$)*H,q[3]=(f*o-t*n-v*$)*H,q[4]=(b*h-g*u-L*Z)*H,q[5]=(j*u-w*h+X*Z)*H,q[6]=(N*O-p*n-W*z)*H,q[7]=(B*n-f*O+v*z)*H,q[8]=(g*k-e*h+L*m)*H,q[9]=(T*h-j*k-X*m)*H,q[10]=(p*o-G*O+W*P)*H,q[11]=(t*O-B*o-v*P)*H,q[12]=(e*Z-g*r-b*m)*H,q[13]=(j*r-T*Z+w*m)*H,q[14]=(G*z-p*$-N*P)*H,q[15]=(B*$-t*z+f*P)*H,void 0):J},rr=function(e,L){if(L){var R=L[0],W=L[1],$=L[2];e[12]=e[0]*R+e[4]*W+e[8]*$+e[12],e[13]=e[1]*R+e[5]*W+e[9]*$+e[13],e[14]=e[2]*R+e[6]*W+e[10]*$+e[14],e[15]=e[3]*R+e[7]*W+e[11]*$+e[15]}},Ze=function(D,z){if(z){var b=z[0],V=z[1],i=z[2];D[0]=D[0]*b,D[1]=D[1]*b,D[2]=D[2]*b,D[3]=D[3]*b,D[4]=D[4]*V,D[5]=D[5]*V,D[6]=D[6]*V,D[7]=D[7]*V,D[8]=D[8]*i,D[9]=D[9]*i,D[10]=D[10]*i,D[11]=D[11]*i}},wf=function(Q,b,o){var j=b[0],a=b[1],$=b[2],C=b[3],K=b[4],u=b[5],S=b[6],w=b[7],d=b[8],v=b[9],U=b[10],G=b[11],J=b[12],A=b[13],y=b[14],M=b[15],k=o[0],i=o[1],N=o[2],E=o[3];return Q[0]=k*j+i*K+N*d+E*J,Q[1]=k*a+i*u+N*v+E*A,Q[2]=k*$+i*S+N*U+E*y,Q[3]=k*C+i*w+N*G+E*M,k=o[4],i=o[5],N=o[6],E=o[7],Q[4]=k*j+i*K+N*d+E*J,Q[5]=k*a+i*u+N*v+E*A,Q[6]=k*$+i*S+N*U+E*y,Q[7]=k*C+i*w+N*G+E*M,k=o[8],i=o[9],N=o[10],E=o[11],Q[8]=k*j+i*K+N*d+E*J,Q[9]=k*a+i*u+N*v+E*A,Q[10]=k*$+i*S+N*U+E*y,Q[11]=k*C+i*w+N*G+E*M,k=o[12],i=o[13],N=o[14],E=o[15],Q[12]=k*j+i*K+N*d+E*J,Q[13]=k*a+i*u+N*v+E*A,Q[14]=k*$+i*S+N*U+E*y,Q[15]=k*C+i*w+N*G+E*M,Q},Pp=function($,T,Z,u){var f,_,R,r,U,V,B,F,q,b,g=T[0],k=T[1],z=T[2],I=u[0],N=u[1],y=u[2],P=Z[0],l=Z[1],E=Z[2];return x(g-P)<ab&&x(k-l)<ab&&x(z-E)<ab?ng($):(B=g-P,F=k-l,q=z-E,b=1/s(B*B+F*F+q*q),B*=b,F*=b,q*=b,f=N*q-y*F,_=y*B-I*q,R=I*F-N*B,b=s(f*f+_*_+R*R),b?(b=1/b,f*=b,_*=b,R*=b):(f=0,_=0,R=0),r=F*R-q*_,U=q*f-B*R,V=B*_-F*f,b=s(r*r+U*U+V*V),b?(b=1/b,r*=b,U*=b,V*=b):(r=0,U=0,V=0),$[0]=f,$[1]=r,$[2]=B,$[3]=0,$[4]=_,$[5]=U,$[6]=F,$[7]=0,$[8]=R,$[9]=V,$[10]=q,$[11]=0,$[12]=-(f*g+_*k+R*z),$[13]=-(r*g+U*k+V*z),$[14]=-(B*g+F*k+q*z),$[15]=1,$)},mc=function(Z,w,E,i,S){var n=1/u(w/2),F=1/(i-S);return Z[0]=n/E,Z[1]=0,Z[2]=0,Z[3]=0,Z[4]=0,Z[5]=n,Z[6]=0,Z[7]=0,Z[8]=0,Z[9]=0,Z[10]=(S+i)*F,Z[11]=-1,Z[12]=0,Z[13]=0,Z[14]=2*S*i*F,Z[15]=0,Z},tl=function(n,J,$,T,B,V,m){var u=1/(J-$),x=1/(T-B),j=1/(V-m);return n[0]=-2*u,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=-2*x,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=2*j,n[11]=0,n[12]=(J+$)*u,n[13]=(B+T)*x,n[14]=(m+V)*j,n[15]=1,n},Lg=function(V,C){var I=C[0],H=C[1],S=C[2],y=C[3],k=I*I+H*H+S*S+y*y,Z=k?1/k:0;return V[0]=-I*Z,V[1]=-H*Z,V[2]=-S*Z,V[3]=y*Z,V},Eg=function(p,z){var Z=z[0]+z[5]+z[10],O=0;return Z>0?(O=2*Math.sqrt(Z+1),p[3]=.25*O,p[0]=(z[6]-z[9])/O,p[1]=(z[8]-z[2])/O,p[2]=(z[1]-z[4])/O):z[0]>z[5]&z[0]>z[10]?(O=2*Math.sqrt(1+z[0]-z[5]-z[10]),p[3]=(z[6]-z[9])/O,p[0]=.25*O,p[1]=(z[1]+z[4])/O,p[2]=(z[8]+z[2])/O):z[5]>z[10]?(O=2*Math.sqrt(1+z[5]-z[0]-z[10]),p[3]=(z[8]-z[2])/O,p[0]=(z[1]+z[4])/O,p[1]=.25*O,p[2]=(z[6]+z[9])/O):(O=2*Math.sqrt(1+z[10]-z[0]-z[5]),p[3]=(z[1]-z[4])/O,p[0]=(z[8]+z[2])/O,p[1]=(z[6]+z[9])/O,p[2]=.25*O),p},Hh=function(y,P,b){var K=P[0],L=P[1],a=P[2],W=P[3],e=K+K,O=L+L,T=a+a,p=K*e,Z=K*O,z=K*T,D=L*O,V=L*T,o=a*T,i=W*e,I=W*O,w=W*T;return y[0]=1-(D+o),y[1]=Z+w,y[2]=z-I,y[3]=0,y[4]=Z-w,y[5]=1-(p+o),y[6]=V+i,y[7]=0,y[8]=z+I,y[9]=V-i,y[10]=1-(p+D),y[11]=0,y[12]=b[0],y[13]=b[1],y[14]=b[2],y[15]=1,y},Ip=function(u,v){if(u.vr.enable){var t=u.vr.getViewMatrix(v);if(t)return t}return Pp(v?v:pg(),u._eye,u._center,u._up)},hi=function(A,N){if(A.vr.enable){var V=A.vr.getProjectMatrix();if(V)return V}if(!N&&A._computedProjectMatrix)return Dc(A._computedProjectMatrix);var $=A.getAspect(),l=A._near,J=A._far,D=pg();if(A._ortho){var T=A._orthoWidth/2,m=T/$;tl(D,-T,T,-m,m,l,J)}else mc(D,A._fovy,$,l,J);return D},Di=function(e,G){if(!e)return J;var A=0,E=1,l=2,N=[],O=0,d=e.length,q=d/3;if(G){for(;d>O;O++)N[O]=0;for(O=0;O<G.length;O+=3){var w=[],m=[],C=[];w[A]=e[3*G[O+1]+A]-e[3*G[O]+A],w[E]=e[3*G[O+1]+E]-e[3*G[O]+E],w[l]=e[3*G[O+1]+l]-e[3*G[O]+l],m[A]=e[3*G[O+2]+A]-e[3*G[O+1]+A],m[E]=e[3*G[O+2]+E]-e[3*G[O+1]+E],m[l]=e[3*G[O+2]+l]-e[3*G[O+1]+l],C[A]=w[E]*m[l]-w[l]*m[E],C[E]=w[l]*m[A]-w[A]*m[l],C[l]=w[A]*m[E]-w[E]*m[A];for(var B=0;3>B;B++)N[3*G[O+B]+A]+=C[A],N[3*G[O+B]+E]+=C[E],N[3*G[O+B]+l]+=C[l]}}else for(O=0;q>O;O+=3){var w=[],m=[],C=[];w[A]=e[3*(O+1)+A]-e[3*O+A],w[E]=e[3*(O+1)+E]-e[3*O+E],w[l]=e[3*(O+1)+l]-e[3*O+l],m[A]=e[3*(O+2)+A]-e[3*(O+1)+A],m[E]=e[3*(O+2)+E]-e[3*(O+1)+E],m[l]=e[3*(O+2)+l]-e[3*(O+1)+l],C[A]=w[E]*m[l]-w[l]*m[E],C[E]=w[l]*m[A]-w[A]*m[l],C[l]=w[A]*m[E]-w[E]*m[A];for(var B=0;3>B;B++)N[3*(O+B)+A]=C[A],N[3*(O+B)+E]=C[E],N[3*(O+B)+l]=C[l]}for(O=0;d>O;O+=3){var k=[];k[A]=N[O+A],k[E]=N[O+E],k[l]=N[O+l];var Q=s(k[A]*k[A]+k[E]*k[E]+k[l]*k[l]);0===Q&&(Q=ab),k[A]=k[A]/Q,k[E]=k[E]/Q,k[l]=k[l]/Q,N[O+A]=k[A],N[O+E]=k[E],N[O+l]=k[l]}return new Ml(N)},$n=function(f,I,d,R){if(d||(d=f.createTexture()),I){var l=f.TEXTURE_2D,A=f.REPEAT,o=f.CLAMP_TO_EDGE,r=f.TEXTURE_MIN_FILTER;R!==f.NEAREST&&(R=f.LINEAR),gd(f,d),f.texImage2D(l,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,I),Vj(f,f.TEXTURE_MAG_FILTER,R);var q=I.naturalWidth||I.width,u=I.naturalHeight||I.height;Ce(q)&&Ce(u)&&!I.clampToEdge?(Vj(f,f.TEXTURE_WRAP_S,A),Vj(f,f.TEXTURE_WRAP_T,A),Vj(f,r,f.LINEAR_MIPMAP_LINEAR),f.generateMipmap(l)):(Vj(f,f.TEXTURE_WRAP_S,o),Vj(f,f.TEXTURE_WRAP_T,o),Vj(f,r,R)),gd(f,J)}return d},no=function(H,e){var R=new Uint8Array(4);return e=e||H.createTexture(),gd(H,e),Vj(H,H.TEXTURE_MIN_FILTER,H.LINEAR),H.texImage2D(H.TEXTURE_2D,0,H.RGBA,1,1,0,H.RGBA,H.UNSIGNED_BYTE,R),e},oe=function(B){B._26I&&B._prg&&(B._26I.deleteProgram(B._prg),B._prg=J)},Un=function(i,g,v,e){var x=i.createShader(v);return i.shaderSource(x,e),i.compileShader(x),i.attachShader(g,x),x},Hc=function(X){return X.createBuffer()},gd=function(n,D){n.bindTexture(n.TEXTURE_2D,D)},Vj=function(e,I,T){e.texParameteri(e.TEXTURE_2D,I,T)},Hp=function(Y,y){Y.enable(Y.POLYGON_OFFSET_FILL),Y.polygonOffset(y[0],y[1])},Oj=function(y){y.disable(y.POLYGON_OFFSET_FILL)},ko=function(M,W){if(W){var W=Qd(W);M.clearColor(W[0],W[1],W[2],W[3])}},Jm=function(e,t){Zf(e,t.uFix,!0),nd(e,t.aNormal)},Xg=function(o,R){Zf(o,R.uFix,!1),ej(o,R.aNormal)},vc=function(W,f,Y,A,j,F,X,m){W._picking||(Y?(Zf(W,f.uBlend,!0),Zf(W,f.uBlendColor,Y)):Zf(W,f.uBlend,!1),Zf(W,f.uLight,A==J?!0:A),Zq(j)&&1!==j&&Zf(W,f.uPartOpacity,j),Zf(W,f.uReverseFlip,F==J?!1:F),Zf(W,f.uFixPickReverseColor,X||Je)),m?W.enable(W.CULL_FACE):W.disable(W.CULL_FACE)},Al=function(s,v){s._picking||Zf(s,v.uPartOpacity,1)},ug=function(){var O=[0,0,1,1];return function(v,y,q,u,n,$,Y,l,E){return q?(Zf(v,y.uTexture,!0),Zf(v,y.uDiscardSelectable,Bh(u)?u:!0),ej(v,y.aUv),Zn(v,n,$,y.aUv,2),E?(Zf(v,y.uBlendTexture,!0),v.activeTexture(v.TEXTURE1),gd(v,E),v.uniform1i(y.uBlendSampler,1)):(Zf(v,y.uBlendTexture,!1),v.activeTexture(v.TEXTURE1),gd(v,v._emptyBlendTexture)),v.activeTexture(v.TEXTURE0),gd(v,q),v.uniform1i(y.uSampler,0),Y?(O[0]=Y[0],O[1]=Y[1]):(O[0]=0,O[1]=0),l?(O[2]=l[0],O[3]=l[1]):(O[2]=1,O[3]=1),Zf(v,y.uOffsetScale,O),void 0):(v.activeTexture(v.TEXTURE0),gd(v,v._emptyTexture),v.activeTexture(v.TEXTURE1),gd(v,v._emptyBlendTexture),void 0)}}(),Ac=function(B,k,G){B.activeTexture(B.TEXTURE0),gd(B,J),B.activeTexture(B.TEXTURE1),gd(B,J),G&&(nd(B,k.aUv),Zf(B,k.uTexture,!1),Zf(B,k.uBlendTexture,!1))},We=function(Z,f,E,s,I,N){!E||Ng||tr||Z.lineWidth(E),s&&!Z._picking&&Zf(Z,f.uFixPickReverseColor,s),I&&Zn(Z,I,N,f.aPosition)},Xh=function(M,i,$,F){uh&&(F=M[uh]),M.drawArrays(F==J?M.TRIANGLES:F,i,$);var D=M._renderInfo;D&&(D.calls++,D.vertices+=$,(F==J||F===M.TRIANGLES)&&(D.faces+=$/3),F===M.LINES&&(D.lines+=$/2))},wb=function(y,A,D,s){uh&&(s=y[uh]),y.drawElements(s==J?y.TRIANGLES:s,D,y.UNSIGNED_SHORT,A==J?0:2*A);var B=y._renderInfo;B&&(B.calls++,B.vertices+=D,(s==J||s===y.TRIANGLES)&&(B.faces+=D/3),s===y.LINES&&(B.lines+=D/2))},Tn=function(I,a,C,o,V){var n=I.ARRAY_BUFFER;I.bindBuffer(n,a),C&&I.bufferData(n,C,I.STATIC_DRAW),o!=J&&I.vertexAttribPointer(o,V?V:3,I.FLOAT,!1,0,0)},Zn=function(z,t,k,Z,o){return k?(Cq(z,z.ARRAY_BUFFER,t,k),Z!=J&&z.vertexAttribPointer(Z,o?o:3,z.FLOAT,!1,0,0),void 0):Tn(z,t,k,Z,o)},$e=function(k,F,K){var v=k.ELEMENT_ARRAY_BUFFER;k.bindBuffer(v,F),K&&k.bufferData(v,K,k.STATIC_DRAW)},Bg=function(O,M,p){Cq(O,O.ELEMENT_ARRAY_BUFFER,M,p)},Cq=function(D,$,Z,m){var n=m._bufId;n||(n=m._bufId=K.Math.generateIncreasingID());var Z,W=D._bufPool;(Z=W[n])&&Z._buf?D.bindBuffer($,Z._buf):(Z=W[n]={_buf:Hc(D)},D.bindBuffer($,Z._buf),D.bufferData($,m,D.STATIC_DRAW)),Z._fid=D._renderInfo.frame},Zf=function(h,y,B){if(B!=J&&y!=J){B=Qd(B);var F=B.length;3===F?h.uniform3fv(y,B):4===F?h.uniform4fv(y,B):16===F?h.uniformMatrix4fv(y,!1,B):Bh(B)?h.uniform1i(y,B?1:0):2===F?h.uniform2fv(y,B):h.uniform1f(y,B)}},ej=function(V,C){C!=J&&C>=0&&V.enableVertexAttribArray(C)},nd=function(m,K){K!=J&&K>=0&&m.disableVertexAttribArray(K)},Lh=function(x,O){var c=x.getGL(),o=x._prg;x._7O=x._8O.pop(),O&&(Zf(c,o.uMVMatrix,x._7O),x._6O=O,Zf(c,o.uNMatrix,O))},Pq=function(x,K){return K||(K=pg()),Wb(K,x),Gf(K),rq(K),K},Zm=function(l,N){var f=l.getGL(),R=l._prg,a=l._7O;N&&(l._8O.push(Dc(a)),Zf(f,R.uMMatrix,N),wf(a,a,N),l._7O=a),Zf(f,R.uMVMatrix,a),Zf(f,R.uNMatrix,Pq(a,l._6O))},nf=function(p,S,f,a,s,t){if(f){if(a){var m=f.value++,n=2147483648|m,j=[(255&n>>16)/255,(255&n>>8)/255,(255&n)/255,(255&n>>24)/255];f[m]={data:s,part:t}}else j=kf;return Zf(p,S.uFixPickReverseColor,j),j}},uf=function(){var u={center:function(L,$,d,B,v){var A=-$[1]/2,Z={x:-$[0]/2,y:A,width:$[0],height:$[1]},b=aj(L,Z,d);return[b.x+B,-b.y-v,eo()]},front:function(u,L,v,k,O){var Y=-L[1]/2,H={x:-L[0]/2,y:Y,width:L[0],height:L[1]},y=aj(u,H,v);return[y.x+k,-y.y-O,L[2]/2+eo()]},back:function(M,$,W,l,g){var v=-$[0]/2,w=-$[1]/2,T={x:v,y:w,width:$[0],height:$[1]},s=aj(M,T,W);return[-s.x-l,-s.y-g,-$[2]/2-eo()]},left:function(X,L,f,z,s){var p=-L[1]/2,J={x:-L[2]/2,y:p,width:L[2],height:L[1]},V=aj(X,J,f);return[-L[0]/2-eo(),-V.y-s,V.x+z]},right:function(P,A,a,_,l){var G=-A[2]/2,D=-A[1]/2,B={x:G,y:D,width:A[2],height:A[1]},z=aj(P,B,a);return[A[0]/2+eo(),-z.y-l,-z.x-_]},top:function($,A,h,p,I){var K={x:-A[0]/2,y:-A[2]/2,width:A[0],height:A[2]},W=aj($,K,h);return[W.x+p,A[1]/2+eo(),W.y+I]},bottom:function(w,N,F,D,o){var X=-N[2]/2,g={x:-N[0]/2,y:X,width:N[0],height:N[2]},b=aj(w,g,F);return[b.x+D,-N[1]/2-eo(),-b.y-o]}};return function(L,i,O,n,Z,C){return u[n](L,i,O,Z||0,C||0)}}(),Re=function(D,M,q,j,i,N,L,y,E,T){if(i&&(M[0]+=i[0],M[1]+=i[1],M[2]+=i[2]),rr(D,q),y){var l=pg();if(ii(l,E,T),pk(M,l),rr(D,M),D.auto=y,D.pos=pk([0,0,0],D),N){var c=D.mat2=pg();ii(c,N,L)}}else ii(D,E,T),rr(D,M),j===rg?Sg(D,-I):j===cd?Sg(D,I):j===Gh?Jj(D,-I):j===An?Jj(D,I):j===Pi&&Sg(D,X),ii(D,N,L);return D},Gi=function(g,L){var R=L.auto,u=L.mat2,m=g.gv;if(R){var b,q=pg(),y=[0,0,0,0];b="string"==typeof R?[R.indexOf("x")<0?m._eye[0]:m._center[0],R.indexOf("y")<0?m._eye[1]:m._center[1],R.indexOf("z")<0?m._eye[2]:m._center[2]]:m._eye,Eg(y,Pp(pg(),b,m._center,m._up)),Hh(q,Lg(y,y),L.pos),u&&wf(q,q,u),Zm(m,q)}else Zm(m,L)},qd=function(X,n,E,Q,o){var q=X.s,m=X.gv,Y=m.getGL(),B=m._prg,G=m._buffer,s=m._1O;$n(Y,ek,s),Gi(X,E),vc(Y,B,q(n+".blend"),q(n+".light"),q(n+".opacity"),q(n+".reverse.flip"),q(n+".reverse.color"),q(n+".reverse.cull")),ug(Y,B,s,o,G.uv,$f),Zn(Y,G.vs,Q,B.aPosition),Zn(Y,G.ns,jq,B.aNormal),Bg(Y,G.is,tq),wb(Y,0,tq.length),Ac(Y,B,s),Al(Y,B),Lh(m)},Ar=function(h,d,o){var C=h.gv,e=h.data,U=h[d]={blend:C.getBodyColor(e)||C.getFaceBlend(e,d),light:C.getFaceLight(e,d),color:C.getFaceColor(e,d),opacity:C.getFaceOpacity(e,d),transparent:C.getFaceTransparent(e,d),reverseFlip:C.getFaceReverseFlip(e,d),reverseColor:C.getFaceReverseColor(e,d),reverseCull:C.getFaceReverseCull(e,d),texture:C.getFaceImage(e,d),blendTexture:C.getFaceBlendImage(e,d),discardSelectable:C.getFaceDiscardSelectable(e,d)};if("csg"!==d){U.uv=C.getFaceUv(e,d)||o&&o[d+"Uv"],U.uvScale=C.getFaceUvScale(e,d)||o&&o[d+"UvScale"],U.uvOffset=C.getFaceUvOffset(e,d)||o&&o[d+"UvOffset"];var K=C.getFaceMat(e,d);K&&(U.mat=br(e,K))}return U},ig=function(q,Z,F,f,I){if(f){if(!I(f.transparent))return;var a=q.data,W=q.gv,z=W._buffer,B=W.getTexture(f.texture,a),R=W.getTexture(f.blendTexture,a);ug(Z,F,B,f.discardSelectable,z.uv,f.tuv,f.uvOffset,f.uvScale,R),vc(Z,F,f.blend,f.light,f.opacity,f.reverseFlip,f.reverseColor,f.reverseCull),Zf(Z,F.uDiffuse,f.color||e["color.empty"]),Zn(Z,z.vs,f.vs,F.aPosition),Zn(Z,z.ns,f.ns,F.aNormal),Xh(Z,0,f.vs.length/3),Al(Z,F),Ac(Z,F,B)}},Qb=function(L,u,r,f,V,l){var O,a,j,e,X,T,$,R,q,P,s,g=[f-u,V-r],Y=L?L.length:0;for(j=0;Y>j;j++){for(e=2,O=L[j],X=O[0],T=O[1];e+1<O.length;){if($=O[e],R=O[e+1],a=Yb(u,r,f,V,X,T,$,R,!0)){q=[$-X,R-T],P=Kk(q),q[0]/=P,q[1]/=P,P=Pj(g,q),P=P>0?l:-l,s=[q[0]*P,q[1]*P];break}X=$,T=R,e+=2}if(s)break}if(s)for(f=u+s[0],V=r+s[1],j=0;Y>j;j++)for(e=2,O=L[j],X=O[0],T=O[1];e+1<O.length;){if($=O[e],R=O[e+1],a=Yb(u,r,f,V,X,T,$,R,!0))return[0,0];X=$,T=R,e+=2}return s?s:[f-u,V-r]},js=K.graph3d={},pr=function(G,a,N){Be(D+".graph3d."+G,a,N)},Fd="~<yfusfw!+!yjsubNQv!>!opjujtpQ`mh!gjeof$!~<fdobutjEfojMb!>!fdobutjEfojMw|*itbEv)gj!ITBE!gfegj$!!gjeof$!~<ttfouihjsCidubCb!>!ttfouihjsCidubCw|*ttfouihjsCidubCv)gj!TTFOUIHJSCIDUBC!gfegj$!!gjeof$!~<eofmCidubCb!>!eofmCidubCw|*eofmCidubCv)gj!EOFMCIDUBC!gfegj$!!gjeof$!~<spmpDidubCb!>!spmpDidubCw|*spmpDidubCv)gj!SPMPDIDUBC!gfegj$!~<wVb!>!wVs|*fsvuyfUeofmCv)gj~<x{/fmbdTuftggPv!+!wVb!,!zy/fmbdTuftggPv!>!wVw|*fsvuyfUv)gj~<**1/2!-opjujtpQb)5dfw!+!yjsubNNv)4dfw!>!emspXw<*yfusfw)4dfw!>!yfusfWw<**1/2!-mbnspOb)5dfw!+!yjsubNOv)4dfw!>!mbnspOw|*ldjQva!%%!yjGva)gj<*1/2!-opjujtpQb)5dfw!+!yjsubNWNv!>!yfusfw!5dfw|!*ejpw)ojbn!ejpw!gjeof$!<fdobutjEfojMw!ubpmg!hojzsbw<fdobutjEfojMb!ubpmg!fuvcjsuub<itbEv!mppc!nspgjov!ITBE!gfegj$!!gjeof$!<^UPQT`YBN]opjudfsjEupqTv!4dfw!nspgjov<^UPQT`YBN]opjujtpQupqTv!4dfw!nspgjov<^UPQT`YBN]spmpDupqTv!5dfw!nspgjov!1!?!UPQT`YBN!gj$!!gjeof$!<^UOJPQ`YBN]opjujtpQuojpQv!4dfw!nspgjov<^UOJPQ`YBN]spmpDuojpQv!5dfw!nspgjov!1!?!UOJPQ`YBN!gj$!!gjeof$!<^SJE`YBN]opjudfsjEsjEv!4dfw!nspgjov<^SJE`YBN]spmpDsjEv!5dfw!nspgjov!1!?!SJE`YBN!gj$!!gjeof$!<eofmCidubCw!4dfw!hojzsbw<eofmCidubCb!4dfw!fuvcjsuub<eofmCidubCv!mppc!nspgjov!EOFMCIDUBC!gfegj$!!gjeof$!<ttfouihjsCidubCw!ubpmg!hojzsbw<ttfouihjsCidubCb!ubpmg!fuvcjsuub<ttfouihjsCidubCv!mppc!nspgjov!TTFOUIHJSCIDUBC!gfegj$!!gjeof$!<spmpDidubCw!5dfw!hojzsbw<spmpDidubCb!5dfw!fuvcjsuub<spmpDidubCv!mppc!nspgjov!SPMPDIDUBC!gfegj$!<emspXw!4dfw!hojzsbw<yfusfWw!4dfw!hojzsbw<mbnspOw!4dfw!hojzsbw<yjGv!mppc!nspgjov<ldjQv!mppc!nspgjov<yjsubNxfjWv!5ubn!nspgjov<yjsubNOv!5ubn!nspgjov<yjsubNQv!5ubn!nspgjov<yjsubNNv!5ubn!nspgjov<yjsubNWNv!5ubn!nspgjov<opjujtpQb!4dfw!fuvcjsuub<mbnspOb!4dfw!fuvcjsuub<wVs!3dfw!hojzsbw<wVw!3dfw!hojzsbw<wVb!3dfw!fuvcjsuub<fmbdTuftggPv!5dfw!nspgjov<fsvuyfUeofmCv!mppc!nspgjov<fsvuyfUv!mppc!nspgjov!YJGFSQ^#CBRBEJxTT87hJFI,,bX1XrIwcn3UM{ZeZ,M6HEN6nLxe2Z72s2:3johr6foKrpqwxNKYkdbJ2CN[mBbf[wXU,T0oGuSEd190ohLZkEn8IuCe[OHoWeKz:Sf,VS7xdSLw23W1YJLU:jdv2{hiDbhDzNNEh9tp3xsuEp94Sl4c3wRzqwShMDRhCLRjCDEBOH5BBVRBCFRE4cJTHrTDH1BNgHJN",Ym="~~<eJ!>!spmpDhbsG`mh~<spmpDsfmqnbTwv!>+!eJ<*wVs!-sfmqnbTeofmCv)E3fsvuyfu!>!spmpDsfmqnbTwv!5dfw|!*fsvuyfUeofmCv)!gj!!gjeof$!~<ttfouihjsCidubCw!>+!chs/eJ!!!|*ttfouihjsCidubCv)gj!TTFOUIHJSCIDUBC!gfegj$!~<ttfouihjsCv!>+!chs/eJ!!!|*1/2!>a!ttfouihjsCv)gj~~<zujdbqPusbQv!>+!b/eJ!!!|*1/2!>a!zujdbqPusbQv)gj~!gjeof$!~<zujwjudfmgfSv!+!{zy/spmpDwof!>,!chs/eJ<*!spmpDwof!)sbfojMpUmfyfUqbNwof!>!spmpDwof<*!*!{z/dfWudfmgfs!-y/dfWudfmgfs)4dfw!-qbNwoFv!)fcvDfsvuyfu!>!spmpDwof!5dfw<*!mbnspOemspx!-yfusfWpUbsfnbd!)udfmgfs!>!dfWudfmgfs!4dfw<*!yjsubNxfjWv!-O!)opjudfsjEnspgtobsUftsfwoj!>!mbnspOemspx!4dfw<*!opjujtpQbsfnbDv!.!emspXw!)f{jmbnspo!>!yfusfWpUbsfnbd!4dfw|*qbNwoFftVv)!gj!QBNWOF`FTV!gfegj$!!gjeof$!<*spudbGhpg!-*x/eJ!-chs/spmpDhpGv)5dfw!-eJ)yjn!>!eJ<*iuqfe!-sbGhpGv!-sbfOhpGv)qfutiuppnt!>!spudbGhpg!ubpmg<x/esppDhbsG`mh0{/esppDhbsG`mh!>!iuqfe!ubpmg!HPG!gfegj$!!gjeof$!~~~~<chs/^j]spmpDupqTv!+!udfggFupqt!+!fhobSm!+!*1/1!-*mbnspOm.!-O)upe)ybn!>,!chs/eJ<*1/1!-*^j]uofopqyFupqTv!-udfggFupqt)xpq)ybn!>!udfggFupqt|*^j]fmhoBupqTv!?!udfggFupqt)gj<*mbnspOm!-^j]opjudfsjEupqTv)upe!>!udfggFupqt!ubpmg<*spudfWm)f{jmbnspo!>!mbnspOm!4dfw|*1/1!?!fhobSm)!gj~<*1/2!-*^j]fhobSupqTv!0!*spudfWm)iuhofm))ojn!.!1/2!>!fhobSm|*1/1!?!^j]fhobSupqTv)!gj<1/2!>!fhobSm!ubpmg<^j]opjujtpQupqTv!.!yfusfWw!>!spudfWm!4dfw|*1/1!>>!x/^j]spmpDupqTv)gj|!*,,j!<UPQT`YBN!=!j!<1>j!uoj)spg!1!?!UPQT`YBN!gj$!!gjeof$!~~~<chs/^j]spmpDuojpQv!+!fhobSm!+!*1/1!-**spudfWm)f{jmbnspo.!-O)upe)ybn!>,!chs/eJ|*1/1!?!fhobSm)!gj~<*1/2!-*^j]fhobSuojpQv!0!*spudfWm)iuhofm))ojn!.!1/2!>!fhobSm|*1/1!?!^j]fhobSuojpQv)!gj<1/2!>!fhobSm!ubpmg<^j]opjujtpQuojpQv!.!yfusfWw!>!spudfWm!4dfw|*1/1!>>!x/^j]spmpDuojpQv)gj|!*,,j!<UOJPQ`YBN!=!j!<1>j!uoj)spg!1!?!UOJPQ`YBN!gj$!!gjeof$!~~<chs/^j]spmpDsjEv!+!*1/1!-**^j]opjudfsjEsjEv)f{jmbnspo.!-O)upe)ybn!>,!chs/eJ|*1/1!>>!x/^j]spmpDsjEv)gj|!*,,j!<SJE`YBN!=!j!<1>j!uoj)spg!1!?!SJE`YBN!gj$!~<chs/spmpDuihjmebfIv!+!nsfUusfcnbm!>+!chs/eJ~<*1/2!-fhobSuihjmebfIv0*yfusfWw)iuhofm)ojn!.!1/2!!>+!nsfUusfcnbm|*1/1!?!fhobSuihjmebfIv)gj<*1/1!-6/1!,!6/1!+!*M.!-O)upe)ybn!>!nsfUusfcnbm!ubpmg|*1/1!>>!x/spmpDuihjmebfIv)gj|*uihjMv)gj~!gjeof$!~<spmpDeofmCv!>+!eJ|*eofmCv)gj!ftmf$!~<spmpDeofmCv!>+!eJ|*eofmCv)gj!ftmf~<eofmCidubCw!>+!chs/eJ|*eofmCidubCv)gj!EOFMCIDUBC!gfegj$!~~<esbdtje|*1/1!>>!x/eJ)gj!gjeof$!<ftvggjEv!>!eJ!ftmf$!~<ftvggjEv!>!eJ|ftmf~<spmpDidubCw!>!eJ|*spmpDidubCv)gj!SPMPDIDUBC!gfegj$!|ftmf~<spmpDwv!>!eJ|*fsvuyfUv)gj|!ftmf~<spmpDftsfwfSldjQyjGv!>!eJ|*qjmGftsfwfSva!%%!ldbCtj)gj~<fvsu!>!ldbCtj<O.!>!O|*1/1!=!*O!-F)upe)gj<ftmbg!>!ldbCtj!mppc<F.!>!M!4dfw!gjeof$!<*yfusfWw.)f{jmbnspo!>!F!4dfw!ftmf$!<*2!-1!-1)4dfw!>!F!4dfw!DJIQBSHPIUSP!gfegj$!<*mbnspOw)f{jmbnspo!>!O!4dfw|!ftmf~!gjeof$!~~<ftvggjEv!>!eJ|ftmf~<esbdtje|*1/1!>>!x/ftvggjEv)gj|!*!fdobutjEitbEv!?!*!fdobutjEqbHitbEv!-fdobutjEfojMw!)epn!%%!itbEv)!gj!ITBE!gfegj$!!gjeof$!<spmpDftsfwfSldjQyjGv!>!eJ!ftmf$!~<spmpDftsfwfSldjQyjGv!>!eJ|ftmf~<spmpDidubCw!>!eJ|*spmpDidubCv)gj!SPMPDIDUBC!gfegj$!|*yjGv)gj<eJ!5dfw|ftmf~~!<esbdtje!|!*1/1!>>!b/spmpDhbsG`mh)!gj!gjeof$!<spmpDftsfwfSldjQyjGv!>!spmpDhbsG`mh!ftmf$!~<spmpDftsfwfSldjQyjGv!>!spmpDhbsG`mh|ftmf~<spmpDidubCw!>!spmpDhbsG`mh|*spmpDidubCv)gj!SPMPDIDUBC!gfegj$!|*ldjQv)gj~~~!<esbdtje!|!*utfUbiqmBv!>=!b/spmpDwv)!gj!!!!|!ftmf~~!<esbdtje!|!*1/1!>>!b/spmpDwv)!gj!!!!|!*uofsbqtobsUv)!gj<*wVw!-sfmqnbTv)E3fsvuyfu!>!spmpDwv|**fmcbudfmfTesbdtjEv!%%!ldjQv)a!%%!fsvuyfUv)gj<spmpDwv!5dfw|!*ejpw)ojbn!ejpw~<*!{zy/*!yjsubn!+!*!1/1!-sje!)5dfw!)!)f{jmbnspo!osvufs|!*!yjsubn!5ubn!oj!-sje!4dfw!oj!)opjudfsjEnspgtobsUftsfwoj!4dfw~!<*!*!SPUDBG`BNNBH!)ubpmg!-fvmbw!)sbfojMpUbnnbH!osvufs!|!*!fvmbw!5dfw!)sbfojMpUmfyfUqbNwof!5dfw~<*!x/fvmbw!-*!*!spudbGbnnbh!)4dfw!-{zy/fvmbw!)xpq!)5dfw!osvufs|!*!spudbGbnnbh!ubpmg!oj!-fvmbw!5dfw!oj!)sbfojMpUbnnbH!5dfw<1/3!>!SPUDBG`BNNBH!ubpmg!utopd!gjeof$!<fdobutjEfojMw!ubpmg!hojzsbw<fdobutjEqbHitbEv!ubpmg!nspgjov<fdobutjEitbEv!ubpmg!nspgjov<itbEv!mppc!nspgjov!ITBE!gfegj$!!gjeof$!<sbGhpGv!ubpmg!nspgjov<sbfOhpGv!ubpmg!nspgjov<spmpDhpGv!5dfw!nspgjov!HPG!gfegj$!!gjeof$!<^UPQT`YBN]opjudfsjEupqTv!4dfw!nspgjov<^UPQT`YBN]opjujtpQupqTv!4dfw!nspgjov<^UPQT`YBN]fhobSupqTv!ubpmg!nspgjov<^UPQT`YBN]fmhoBupqTv!ubpmg!nspgjov<^UPQT`YBN]uofopqyFupqTv!ubpmg!nspgjov<^UPQT`YBN]spmpDupqTv!5dfw!nspgjov!1!?!UPQT`YBN!gj$!!gjeof$!<^UOJPQ`YBN]opjujtpQuojpQv!4dfw!nspgjov<^UOJPQ`YBN]fhobSuojpQv!ubpmg!nspgjov<^UOJPQ`YBN]spmpDuojpQv!5dfw!nspgjov!1!?!UOJPQ`YBN!gj$!!gjeof$!<^SJE`YBN]opjudfsjEsjEv!4dfw!nspgjov<^SJE`YBN]spmpDsjEv!5dfw!nspgjov!1!?!SJE`YBN!gj$!!gjeof$!<eofmCidubCw!4dfw!hojzsbw<eofmCidubCv!mppc!nspgjov!EOFMCIDUBC!gfegj$!!gjeof$!<ttfouihjsCidubCw!ubpmg!hojzsbw<ttfouihjsCidubCv!mppc!nspgjov!TTFOUIHJSCIDUBC!gfegj$!!gjeof$!<spmpDidubCw!5dfw!hojzsbw<spmpDidubCv!mppc!nspgjov!SPMPDIDUBC!gfegj$!<spmpDuihjmebfIv!5dfw!nspgjov<fhobSuihjmebfIv!ubpmg!nspgjov<emspXw!4dfw!hojzsbw<opjujtpQbsfnbDv!4dfw!nspgjov<yjsubNxfjWv!5ubn!nspgjov!gjeof$!<zujwjudfmgfSv!ubpmg!nspgjov<qbNwoFv!fcvDsfmqnbt!nspgjov<qbNwoFftVv!mppc!nspgjov!QBNWOF`FTV!gfegj$!<yfusfWw!4dfw!hojzsbw<mbnspOw!4dfw!hojzsbw<ftvggjEv!5dfw!nspgjov<zujdbqPusbQv!ubpmg!nspgjov<ttfouihjsCv!ubpmg!nspgjov<uihjMv!mppc!nspgjov<spmpDeofmCv!5dfw!nspgjov<eofmCv!mppc!nspgjov<wVs!3dfw!hojzsbw<sfmqnbTeofmCv!E3sfmqnbt!nspgjov<sfmqnbTv!E3sfmqnbt!nspgjov<wVw!3dfw!hojzsbw<fsvuyfUeofmCv!mppc!nspgjov<fsvuyfUv!mppc!nspgjov<uofsbqtobsUv!mppc!nspgjov<utfUbiqmBv!ubpmg!nspgjov<spmpDftsfwfSldjQyjGv!5dfw!nspgjov<qjmGftsfwfSv!mppc!nspgjov<ldjQv!mppc!nspgjov<yjGv!mppc!nspgjov<fmcbudfmfTesbdtjEv!mppc!nspgjov!YJGFSQ!gjeof$!!gjeof$!!<ubpmg!qnvjefn!opjtjdfsq!!ftmf$!!<ubpmg!qihji!opjtjdfsq!!IHJI`OPJTJDFSQ`UOFNHBSG`MH!gfegj$!!TF`MH!gfegj$!";
|
||
Iq(_,{setBatchInfo:function(x,M){ac[x]=M},getBatchInfo:function(C){return ac[C]}},!0);var rk=[1,1,1],qc=[1,0,0,0,0,1,0,1,1,1,1,0],Aj=[-.5,.5,.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,.5],Ag=[.5,.5,-.5,.5,.5,.5,.5,-.5,.5,.5,-.5,.5,.5,-.5,-.5,.5,.5,-.5],Rd=[.5,.5,-.5,-.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,.5,.5,.5,.5,.5,-.5],bc=[.5,-.5,.5,-.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5,-.5,.5,-.5,.5],Jl=[.5,.5,.5,-.5,.5,.5,-.5,-.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,.5,.5],rl=[-.5,.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5],Rc=function(c,u){Fn(c,u,"_batchModelMap","_batchIndexMap"),Wd(c,u,"_wireframeModelMap","_wireframeIndexMap"),Wd(c,u,"_polylineModelMap","_polylineIndexMap"),Wd(c,u,"_wireframeModelMapSwap","_wireframeIndexMapSwap"),Wd(c,u,"_polylineModelMapSwap","_polylineIndexMapSwap")},Fn=function(x,O,l,H){if(!O)return x[l]={},x[H]={},void 0;var c=O._id,E=x[H],N=E[c];if(N){var n=x[l],b=N.batch,i=n[b],B=i.ds,I=N.index;if(i.invalidate=!0,delete E[c],B.splice(I,1),_r(B))return delete n[b],void 0;for(var K=N.begin,f=N.size,Q=3*K,Y=3*f,u=4*K,M=4*f,d=i.vs,t=i.ps,W=i.uv,Z=i.cs,$=i.bs,G=i.rs,w=i.ns,k=i.ls;I<B.length;I++)N=E[B[I]._id],N.index--,N.begin-=f;d.splice(Q,Y),t.splice(u,M),W&&W.splice(2*K,2*f),Z&&Z.splice(u,M),$&&$.splice(Q,Y),G&&G.splice(K,f),w&&w.splice(Q,Y),k&&k.splice(K,f)}},Wd=Fn,Eo=function($,K,j,t){if(!t)return J;var U=K[t];if(!U){var L=ac[t]||vr,p=L.image?[]:J;U=K[t]={vs:[],ns:[],uv:p,cs:p?J:L.color?J:[],bs:L.blend?[]:J,ps:[],rs:L.brightness?[]:J,ds:[]}}return U.invalidate=!0,$[j._id]={index:U.ds.length,begin:U.vs.length/3,batch:t},U.ds.push(j),U},Hq=function(g,E){return E!=J&&1!==E?[g[0]*E,g[1]*E,g[2]*E,g[3]]:g},uq=function(){var L;return function(n,w,U){var T=n.getData3dUI(w),B=T.shapeModel;B||(B=ik(T));var d,F=w.s("wf.combineTriangle");if(U.geometry){if(!B&&(w instanceof K.Node&&!(w instanceof K.Shape)?(L||(L={vs:Br,is:Qj,uv:en}),B=L):B=[T.left,T.front,T.right,T.back,T.top,T.bottom],!B))return a;if(F?(F=0|Math.min(3,Math.max(1,isNaN(F)?1:F)),d=ie[F-1](B)):d=xc(B),!d||0===d.length)return}else d=U.short?ap:xi;var p=n.getBrightness(w),O=Qd(U.color||"white"),l=O[3]<1,G=Math.ceil(U.width)||1,$=(l?"T":"O")+G,q=n._wireframeIndexMap,h=n._wireframeModelMap,J=h[$];J||(J=h[$]={vs:[],cs:[],ps:[],ds:[],T:l,W:G}),J.invalidate=!0;var C=J.vs,H=J.cs,y=J.ds,P=q[w._id]={index:y.length,begin:C.length/3,batch:$};y.push(w);var v=T.mat;if(!v){v=br(w,U.mat);var x=T._calcAnchorMat(w);x&&wf(v,v,x)}Qe(C,v,d);var R=P.size=C.length/3-P.begin;Uh(H,Hq(O,p),R)}}(),on=function(G,W,f,Y,n,d,P,X,L){var E=G.getBrightness(W);E==J&&(E=1);var V=Hq(Qd(Y),E),z=V[3]<1;d=Math.ceil(d)||1;var q=(z?"T":"O")+d;if(P){var u=P[0],b=(P[1]||u)+u;q+="-"+u+"-"+b,L&&(q+="-"+Oo(L)+"-"+E,L=Hq(Qd(L),E))}var t=G._polylineIndexMap,o=G._polylineModelMap,m=o[q];m||(m=o[q]={vs:[],cs:[],ps:[],ds:[],ls:P?[]:J,T:z,W:d},P&&(m.D=u,m.G=b,m.A=L)),m.invalidate=!0;var v,Q=m.vs,C=m.cs,F=m.ds,O=m.ls,N=t[W._id]={index:F.length,begin:Q.length/3,batch:q};F.push(W),md(Q,f);var M,x=N.size=Q.length/3-N.begin,j=f.length,$=0,w=[];if(P||n)for(v=0;j>v;v+=6)M=Kk([f[v],f[v+1],f[v+2]],[f[v+3],f[v+4],f[v+5]]),w.push(M),$+=M;if($&&n){var S,Z=Hq(Qd(n),E),r=[Z[0]-V[0],Z[1]-V[1],Z[2]-V[2],Z[3]-V[3]],U=0;for(v=0;j>v;v+=6)S=U/$,Uh(C,[V[0]+r[0]*S,V[1]+r[1]*S,V[2]+r[2]*S,V[3]+r[3]*S],1),U+=w[v/6],S=U/$,Uh(C,[V[0]+r[0]*S,V[1]+r[1]*S,V[2]+r[2]*S,V[3]+r[3]*S],1)}else Uh(C,V,x);if(P)for(U=X||0,v=0;j>v;v+=6)O.push(U),U+=w[v/6],O.push(U)},ch=function(A,P,H){if(P)for(var o=4*P.begin,Y=H[P.batch].ps,h=0;h<P.size;h++)Y[o++]=A[0],Y[o++]=A[1],Y[o++]=A[2],Y[o++]=A[3]},ql=function(O,Q){var d=Q+["32"],S=O[Q],_=O[d];S?_&&_.length===S.length?(_.set(S),_._bufId=null):O[d]=new Ml(S):delete O[d]},Eb=function(v,H,N,$,B,X,w,j,a){if(Bl(N))N.forEach(function(k){Eb(v,H,k,$,B,X,w,j,a)});else if(tg(N))Eb(v,H,ik($,N),$,B,X,w,j,a);else if(Dl(N)){var L,D=jc(N.mat,H,v),b=jc(N.s3,H,v),R=jc(N.t3,H,v),d=jc(N.r3,H,v);if((b||d||R||D)&&(L=mk(D,b,d,jc(N.rotationMode,H,v),R),X.push(L)),N.shape3d)Eb(v,H,N.shape3d,$,B,X,w,j,N);else{var I=$.s;a=a||vr;var F=X[0],z=X.length,O=I("shape3d.color",N.color,a.color);if(B||(B=I("shape3d.blend",N.blend,a.blend)),z>1){F=Dc(F);for(var J=1;z>J;J++)wf(F,F,X[J])}N.vs&&I(Vo,N.visible,a.visible)&&Fl(F,w,j,N.vs,N.uv,N.is,B,O),N.top_vs&&I(cg,N.topVisible,a.topVisible)&&Fl(F,w,j,N.top_vs,N.top_uv,N.top_is,B,I("shape3d.top.color",N.topColor,a.topColor)||O),N.bottom_vs&&I(Ok,N.bottomVisible,a.bottomVisible)&&Fl(F,w,j,N.bottom_vs,N.bottom_uv,N.bottom_is,B,I("shape3d.bottom.color",N.bottomColor,a.bottomColor)||O),N.from_vs&&I(Kq,N.fromVisible,a.fromVisible)&&Fl(F,w,j,N.from_vs,N.from_uv,N.from_is,B,I("shape3d.from.color",N.fromColor,a.fromColor)||O),N.to_vs&&I(Or,N.toVisible,a.toVisible)&&Fl(F,w,j,N.to_vs,N.to_uv,N.to_is,B,I("shape3d.to.color",N.toColor,a.toColor)||O)}L&&X.pop()}},Fl=function(f,$,Y,p,G,g,u,W){var s,c=$.cs,F=$.uv,l=$.bs;if(g){s=g.length;for(var a=0;s>a;a++){var n=g[a];Qe(Y,f,[p[3*n],p[3*n+1],p[3*n+2]]),F&&md(F,[G[2*n],G[2*n+1]])}}else s=p.length/3,Qe(Y,f,p),F&&md(F,G);c&&Uh(c,W,s),l&&(u?yq(l,u,s):md(l,rk,s))},ih=function(X,Y,t,v){var y=[];v?Eb(X.gv,X.data,v,X,X.getBodyColor(),[Y],t,y):(rj(X,rg,Y,t,y),rj(X,cd,Y,t,y),rj(X,jk,Y,t,y),rj(X,Pi,Y,t,y),rj(X,Gh,Y,t,y),rj(X,An,Y,t,y),rj(X,"csg",Y,t,y)),y.length&&(md(t.vs,y),md(t.ns,Di(y)))},rj=function(y,X,Y,x,Z){var z=y[X];if(z){var c=z.tuv;if(c){var O,A,v,k,$=z.uvScale,t=z.uvOffset;if($)for(O=c.length,A=$[0],v=$[1],k=0;O>k;k+=2)c[k]*=A,c[k+1]*=v;if(t)for(O=c.length,A=t[0],v=t[1],k=0;O>k;k+=2)c[k]+=A,c[k+1]+=v}Fl(Y,x,Z,z.vs,c,J,z.blend,z.color)}},sf=function(e,D,L,u,P,j,g,W){var R,K=L.cs,J=L.uv,O=L.bs;if(e.getFaceVisible(D,j)){var E=e.getFaceMat(D,j);if(E&&(P=br(D,E)),Qe(g,P,W),K&&Uh(K,e.getFaceColor(D,j),6),J){var k=e.getFaceUv(D,j)||u[j+"Uv"],y=e.getFaceUvScale(D,j)||u[j+"UvScale"],_=e.getFaceUvOffset(D,j)||u[j+"UvOffset"];k=k?[k[6],k[7],k[0],k[1],k[2],k[3],k[2],k[3],k[4],k[5],k[6],k[7]]:qc;var d=k[0],B=k[1],N=k[2],h=k[3],l=k[4],U=k[5],Q=k[6],S=k[7],o=k[8],Y=k[9],m=k[10],M=k[11];if(y){var n=y[0],c=y[1];d*=n,B*=c,N*=n,h*=c,l*=n,U*=c,Q*=n,S*=c,o*=n,Y*=c,m*=n,M*=c}if(_){var $=_[0],i=_[1];d+=$,B+=i,N+=$,h+=i,l+=$,U+=i,Q+=$,S+=i,o+=$,Y+=i,m+=$,M+=i}J.push(d,B,N,h,l,U,Q,S,o,Y,m,M)}O&&(R=e.getBodyColor(D)||e.getFaceBlend(D,j),R?yq(O,R,6):md(O,rk,6))}},Jq=function(W,i,$,p){var a=W.getGL(),B=W._prg,b=W._buffer;if(!W.drawFilter&&!Mb(i)){Zm(W),Jm(a,B);for(var h in i){var f=i[h];if(!(p&&!f.T||!p&&f.T)){f.invalidate?(f.invalidate=!1,ql(f,"vs"),ql(f,"cs"),ql(f,"ls"),ql(f,"ps")):$&&ql(f,"ps");var M=f.vs32,O=$?f.ps32:f.cs32;We(a,B,f.W,J,b.vs,M);var j=f.D,P=!W._dashDisabled&&j;Zf(a,B.uAlphaTest,e.alphaTest),P&&(Zf(a,B.uDash,!0),Zf(a,B.uDashDistance,j),Zf(a,B.uDashGapDistance,f.G),ej(a,B.aLineDistance),Zn(a,b.lineDistance,f.ls32,B.aLineDistance,1),Zf(a,B.uDiffuse,f.A||e["color.empty"]));var N=!W._batchColorDisabled;N&&(Zf(a,B.uBatchColor,!0),ej(a,B.aBatchColor),Zn(a,b.batchColor,O,B.aBatchColor,4)),ug(a),Xh(a,0,M.length/3,a.LINES),Ac(a),N&&(Zf(a,B.uBatchColor,!1),nd(a,B.aBatchColor)),P&&(Zf(a,B.uDash,!1),nd(a,B.aLineDistance))}}Xg(a,B)}},ze=function(i,r,g){var R,V,l,n,H,y,x,h,P,z,$,K=i.getGL(),T=i._prg,W=i._buffer,M=i._batchModelMap;if(!Mb(M)){Zm(i);for(R in M)if(V=ac[R]||vr,!(g&&!V.transparent||!g&&V.transparent)&&(l=M[R],r||!V.transparentMask)){var I=g&&V.autoSort!==!1&&(i._33Q||l.invalidate);if(l.invalidate?(l.invalidate=!1,ql(l,"vs"),ql(l,"ns"),ql(l,"cs"),ql(l,"rs"),ql(l,"ps"),ql(l,"bs"),ql(l,"uv")):r&&ql(l,"ps"),H=l.vs32,y=r?l.ps32:l.cs32,P=l.uv32,x=l.bs32,h=l.rs32,$=H.length/3,I&&(l.is=zn(H,i.getEye())),$){n=V.light,z=i.getTexture(V.image),vc(K,T,J,V.light,V.opacity,V.reverseFlip,V.reverseColor,V.reverseCull),y?i._batchColorDisabled||(Zf(K,T.uBatchColor,!0),ej(K,T.aBatchColor),Zn(K,W.batchColor,y,T.aBatchColor,4)):Zf(K,T.uDiffuse,V.color||e["color.empty"]);var B=V.alphaTest;Zf(K,T.uAlphaTest,B===a?e.alphaTest:B),V.envmap!==a?(Zf(K,T.uUseEnvMap,!0),Zf(K,T.uReflectivity,V.envmap)):(Zf(K,T.uUseEnvMap,!1),Zf(K,T.uReflectivity,0));var o=x&&!i._batchBlendDisabled;o&&(Zf(K,T.uBatchBlend,!0),ej(K,T.aBatchBlend),Zn(K,W.batchBlend,x,T.aBatchBlend));var L=h&&!i._batchBrightnessDisabled;L&&(Zf(K,T.uBatchBrightness,!0),ej(K,T.aBatchBrightness),Zn(K,W.batchBrightness,h,T.aBatchBrightness,1)),P?ug(K,T,z,V.discardSelectable,W.uv,P,V.uvOffset,V.uvScale):ug(K),Zn(K,W.vs,H,T.aPosition),Zn(K,W.ns,l.ns32,T.aNormal),l.is?($e(K,W.is,l.is),wb(K,0,$)):Xh(K,0,$),P?Ac(K,T,z):Ac(K),y&&!i._batchColorDisabled&&(Zf(K,T.uBatchColor,!1),nd(K,T.aBatchColor)),o&&(Zf(K,T.uBatchBlend,!1),nd(K,T.aBatchBlend)),L&&(Zf(K,T.uBatchBrightness,!1),nd(K,T.aBatchBrightness)),Al(K,T)}}}},zn=function(Q,q){for(var O=Q.length/3,e=new Array(O),w=O/3,I=new Array(w),g=0;w>g;g++)I[g]=g;I.sort(function(O,N){var g=9*O,D=[(Q[g]+Q[g+3]+2*Q[g+6])/4,(Q[g+1]+Q[g+4]+2*Q[g+7])/4,(Q[g+2]+Q[g+5]+2*Q[g+8])/4];g=9*N;var H=[(Q[g]+Q[g+3]+2*Q[g+6])/4,(Q[g+1]+Q[g+4]+2*Q[g+7])/4,(Q[g+2]+Q[g+5]+2*Q[g+8])/4],p=Kk(q,D)-Kk(q,H);return p>0?-1:0>p?1:0});for(var g=0;w>g;g++){var z=3*g,E=3*I[g];e[z]=E,e[z+1]=E+1,e[z+2]=E+2}return new aq(e)},kc={obj:function(k,C){var p={mat:k.mat,s3:k.s3,r3:k.r3,rotationMode:k.rotationMode,t3:k.t3,cube:k.cube==J?!0:k.cube,center:k.center==J?!0:k.center,ignoreMtls:k.ignoreMtls,ignoreTransparent:k.ignoreTransparent,ignoreColor:k.ignoreColor,ignoreImage:k.ignoreImage,ignoreNormal:k.ignoreNormal,prefix:k.prefix,flipY:k.flipY,flipFace:k.flipFace,reverseFlipMtls:k.reverseFlipMtls,finishFunc:function(r,s){if(r){var s=[];for(var i in r){var t=r[i];s.rawS3=t.rawS3,s.push(t),k.eachModel&&k.eachModel(i,t)}s.json=k,C(s)}else C()}};_.loadObj(k.obj,k.mtl,p)}};_.getModelTypeHandlers=function(){return kc},_.setModelTypeHandler=function(j,M){kc[j]=M},_.getModelTypeHandler=function(v){return kc[v]},_.handleModelLoaded=function(){},_.handleUnfoundModel=function(){};var _f=J,pd=J,Ek=function(O){_f&&!O._loadingModelView_&&(pd||(pd={}),pd[O._loadingModelView_=go()]=O)},Ti=function(t,d){_f||(_f={});var E=_f[t];if(E){if(E.url===d)return;E.request.onload=nq,E.request.onerror=nq}var X=new sj;if(_f[t]={request:X,url:d},d=_.beforeLoadURL(d),d.data){var V=_.parse(d.data);cm(t,V,d)}else{X.onload=function(){if(200===this.status||0===this.status){delete _f[t];var j=_.parse(X.getResponseText());cm(t,j,d)}else oi(t,_.handleUnfoundModel(t,d)||J)},X.onerror=function(){oi(t,_.handleUnfoundModel(t,d)||J)};var l={};l.url=encodeURI(d),l.sync=!1,X.send(l)}},cm=function(x,T,z){var M=T.modelType;if(!M)return oi(x,T),_.handleModelLoaded(x,T),void 0;var n=_.getModelTypeHandler(M);if(n){if(_f||(_f={}),_f[x])return;_f[x]=!0;var F=function(A){A?(oi(x,A),_.handleModelLoaded(x,A)):oi(x,_.handleUnfoundModel(x,z)||J)};n(T,F)}else oi(x,_.handleUnfoundModel(x,z)||J)},oi=function(h,x){if(ep[h]=x,delete _f[h],Mb(_f)&&(_f=J,pd)){for(var i in pd){var Z=pd[i];Z.invalidateAll&&Z.invalidateAll(a,"modelLoaded",h),Z.redraw&&Z.redraw(),Z.iv(),delete Z._loadingModelView_}pd=J}if(x&&pd)for(var i in pd){var Z=pd[i];Z.invalidateAll&&Z.invalidateAll(a,"modelLoading",h),Z.redraw&&Z.redraw(),Z.iv()}},$f=new Ml([0,0,0,1,1,1,1,0]),jq=new Ml([0,0,1,0,0,1,0,0,1,0,0,1]),tq=new aq([0,1,2,2,3,0]),Br=new Ml([-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,.5,-.5,.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,.5,.5,.5,.5,.5,.5,-.5,.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5,-.5,.5,-.5,-.5,.5,.5,.5,.5,.5,.5,.5,-.5,-.5,-.5,.5,-.5,-.5,-.5,.5,-.5,-.5,.5,-.5,.5]),Qj=new aq([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),en=new Ml([0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0]),Bj=Di(Br,Qj),ym=(new Ml([-.5,.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,.5,.5,.5,-.5,-.5,.5,.5,-.5,-.5,-.5,-.5,-.5,.5,-.5]),new aq([0,1,2,3,0,7,5,4,6,7,5,3,2,4,6,1]),[rg,jk,cd,Pi,Gh,An]),xi=[-.5,.5,.5,-.5,-.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,-.5,.5,.5,.5,.5,.5,.5,.5,-.5,.5,.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5,-.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,-.5,-.5,.5,-.5,.5,.5,.5,.5,.5,-.5,.5,-.5,.5,.5,-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,-.5,.5,-.5,-.5,-.5],ap=[-.5,.5,.5,-.4,.5,.5,-.5,.5,.5,-.5,.4,.5,-.5,.5,.5,-.5,.5,.4,.5,.5,.5,.4,.5,.5,.5,.5,.5,.5,.4,.5,.5,.5,.5,.5,.5,.4,-.5,-.5,.5,-.4,-.5,.5,-.5,-.5,.5,-.5,-.4,.5,-.5,-.5,.5,-.5,-.5,.4,.5,-.5,.5,.4,-.5,.5,.5,-.5,.5,.5,-.4,.5,.5,-.5,.5,.5,-.5,.4,-.5,.5,-.5,-.4,.5,-.5,-.5,.5,-.5,-.5,.4,-.5,-.5,.5,-.5,-.5,.5,-.4,.5,.5,-.5,.4,.5,-.5,.5,.5,-.5,.5,.4,-.5,.5,.5,-.5,.5,.5,-.4,-.5,-.5,-.5,-.4,-.5,-.5,-.5,-.5,-.5,-.5,-.4,-.5,-.5,-.5,-.5,-.5,-.5,-.4,.5,-.5,-.5,.4,-.5,-.5,.5,-.5,-.5,.5,-.4,-.5,.5,-.5,-.5,.5,-.5,-.4],Wj=function(y,K,k,U,n,p){p=p||16,y=y||16,K=K||0,k=k||y;var Z,g,E,i,Q,o,O,e,W=.5,s=[],J=[],P=M/y,w=X/p;for(Z=0;p>Z;Z++)for(Q=Z+1,i=Z*w,e=Q*w,g=K;k>g;g++)o=g+1,E=g*P,O=o*P,s.push(W*q(i)*L(E),W*L(i),-W*q(i)*q(E),W*q(e)*L(O),W*L(e),-W*q(e)*q(O),W*q(i)*L(O),W*L(i),-W*q(i)*q(O),W*q(i)*L(E),W*L(i),-W*q(i)*q(E),W*q(e)*L(E),W*L(e),-W*q(e)*q(E),W*q(e)*L(O),W*L(e),-W*q(e)*q(O)),J.push(g/y,Z/p,o/y,Q/p,o/y,Z/p,g/y,Z/p,g/y,Q/p,o/y,Q/p);if(U){var l=[],d=[];for(E=K*P,Z=0;p>Z;Z++)Q=Z+1,i=Z*w,e=Q*w,l.push(0,0,0,W*q(e)*L(E),W*L(e),-W*q(e)*q(E),W*q(i)*L(E),W*L(i),-W*q(i)*q(E)),d.push(0,.5,K/y,Q/p,K/y,Z/p)}if(n){var N=[],u=[];for(E=k*P,Z=0;p>Z;Z++)Q=Z+1,i=Z*w,e=Q*w,N.push(0,0,0,W*q(i)*L(E),W*L(i),-W*q(i)*q(E),W*q(e)*L(E),W*L(e),-W*q(e)*q(E)),u.push(1,.5,k/y,Z/p,k/y,Q/p)}return{vs:s,uv:J,from_vs:l,from_uv:d,to_vs:N,to_uv:u}},il=function(E,N,O){E=E||.17,N=N||12,O=O||18,0>E?E=0:E>.25&&(E=.25);var V,G,h,v,U,z,R,H=.5,l=[],_=[],r=[],D=M/O,u=M/N,w=H-E;for(G=0;N>=G;G++)for(v=-X+G*u,z=L(v),U=q(v),V=0;O>=V;V++)h=V*D,R=w+E*z,l.push(L(h)*R,U*E,-q(h)*R),_.push(V/O,1-G/N);for(G=0;N>G;G++){var m=G*(O+1),W=(G+1)*(O+1);for(V=0;O>V;V++)r.push(m+V,W+V+1,W+V,m+V,m+V+1,W+V+1)}return{vs:l,uv:_,is:r}},es=function(H,S,l,j,Z,C,i){i=i||12,H=H||18,S=S||0,l=l||H,C=C||.17,0>C?C=0:C>.25&&(C=.25);var _,b,n,A,a,E,I,R,g,O,t=.5,J=[],K=[],s=M/H,v=M/i,D=t-C;for(n=0;i>n;n++)for(A=n+1,I=-X+n*v,R=-X+A*v,_=S;l>_;_++)b=_+1,a=_*s,E=b*s,g=D+C*L(I),O=D+C*L(R),J.push(L(a)*g,q(I)*C,-q(a)*g,L(E)*g,q(I)*C,-q(E)*g,L(E)*O,q(R)*C,-q(E)*O,L(a)*g,q(I)*C,-q(a)*g,L(E)*O,q(R)*C,-q(E)*O,L(a)*O,q(R)*C,-q(a)*O),K.push(_/H,1-n/i,b/H,1-n/i,b/H,1-A/i,_/H,1-n/i,b/H,1-A/i,_/H,1-A/i);if(j){var z=[],k=[];for(n=0;i>n;n++)A=n+1,I=-X+n*v,R=-X+A*v,a=S*s,g=D+C*L(I),O=D+C*L(R),z.push(L(a)*g,q(I)*C,-q(a)*g,L(a)*O,q(R)*C,-q(a)*O,L(a)*D,0,-q(a)*D),k.push(.5+.5*L(I),.5-.5*q(I),.5+.5*L(R),.5-.5*q(R),.5,.5)}if(Z){var P=[],$=[];for(n=0;i>n;n++)A=n+1,I=-X+n*v,R=-X+A*v,a=l*s,g=D+C*L(I),O=D+C*L(R),P.push(L(a)*g,q(I)*C,-q(a)*g,L(a)*D,0,-q(a)*D,L(a)*O,q(R)*C,-q(a)*O),$.push(.5-.5*L(I),.5-.5*q(I),.5,.5,.5-.5*L(R),.5-.5*q(R))}return{vs:J,uv:K,from_vs:z,from_uv:k,to_vs:P,to_uv:$}},Hm=function(g,j){for(var p,t,z,h=.5,B=16,n=[],$=[],d=[],a=M/B,U=0;B>=U;U++)p=U*a,t=L(p)*h,z=q(p)*h,n.push(t,-h,z,t,h,z),$.push(1-U/B,1,1-U/B,0);for(U=0;B>U;U++)d.push(2*U,2*U+1,2*U+3,2*U,2*U+3,2*U+2);if(j){var s=[],V=[],A=[];for(s.push(0,-h,0),V.push(.5,.5),U=0;B>=U;U++)p=U*a,t=L(p),z=q(p),s.push(t*h,-h,-z*h),V.push(.5+.5*t,.5+.5*z);for(U=0;B>U;U++)A.push(0,U+2,U+1)}if(g){var _=[],w=[],c=[];for(_.push(0,h,0),w.push(.5,.5),U=0;B>=U;U++)p=U*a,t=L(p),z=q(p),_.push(t*h,h,-z*h),w.push(.5+.5*t,.5-.5*z);for(U=0;B>U;U++)c.push(0,U+1,U+2)}return{vs:n,uv:$,is:d,bottom_vs:s,bottom_uv:V,bottom_is:A,top_vs:_,top_uv:w,top_is:c}},ub=function(o,h,x,r,T,i,f){o=o||12,h=h||0,x=x||o;for(var V,e,g,u,J,P,X,W,y=.5,U=[],S=[],l=M/o,b=h;x>b;b++)V=b+1,e=b*l,g=V*l,u=L(e)*y,J=q(e)*y,P=L(g)*y,X=q(g)*y,U.push(u,-y,-J,P,-y,-X,u,y,-J,P,-y,-X,P,y,-X,u,y,-J),S.push(b/o,1,V/o,1,b/o,0,V/o,1,V/o,0,b/o,0);if(f){var t=[],G=[];for(b=h;x>b;b++)e=l*b,g=l*(b+1),u=L(e),J=q(e),P=L(g),X=q(g),t.push(u*y,-y,-J*y,0,-y,0,P*y,-y,-X*y),G.push(.5+.5*u,.5+.5*J,.5,.5,.5+.5*P,.5+.5*X)}if(i){var I=[],O=[];for(b=h;x>b;b++)e=l*b,g=l*(b+1),u=L(e),J=q(e),P=L(g),X=q(g),I.push(u*y,y,-J*y,P*y,y,-X*y,0,y,0),O.push(.5+.5*u,.5-.5*J,.5+.5*P,.5-.5*X,.5,.5)}if(r){var R=[],C=[];e=l*h,u=L(e)*y,J=q(e)*y,W=h/o,R.push(0,y,0,0,-y,0,u,-y,-J,u,-y,-J,u,y,-J,0,y,0),C.push(0,0,0,1,W,1,W,1,W,0,0,0)}if(T){var a=[],Y=[];e=l*x,u=L(e)*y,J=q(e)*y,W=x/o,a.push(0,-y,0,0,y,0,u,y,-J,u,y,-J,u,-y,-J,0,-y,0),Y.push(1,1,1,0,W,0,W,0,W,1,1,1)}return{vs:U,uv:S,bottom_vs:t,bottom_uv:G,top_vs:I,top_uv:O,from_vs:R,from_uv:C,to_vs:a,to_uv:Y}},qf=function(h,c,s,w,Q){c=c||18,s=s||0,w=w==J?M:w,Q=Q==J?.5:Q;for(var l,D,V,C,j,E,W=[0,.5,.75,.875,.9375],g=[],O=[],T=[],o=w/c,R=0;R<W.length;R++){var Y=0===R%2?0:.5;for(l=0;c>=l;l++)D=(l+Y)*o+s,V=1-W[R],g.push(L(D)*Q*V,-Q+2*W[R]*Q,-q(D)*Q*V),O.push((l+Y)/c,V)}for(R=0;R<W.length-1;R++){var u=R*(c+1),B=(R+1)*(c+1);for(l=0;c>l;l++)T.push(u+l,B+l+1,B+l,u+l,u+l+1,B+l+1)}for(E=g.length/3-(c+1),l=0;c>l;l++)g.push(0,Q,0),O.push((l+.5)/c,0);for(l=0;c>l;l++)T.push(E+l,E+l+1,E+(c+1)+l);if(h){var F=[],n=[],Z=[];for(F.push(0,-Q,0),n.push(.5,.5),l=0;c>=l;l++)D=l*o+s,C=L(D),j=q(D),F.push(C*Q,-Q,-j*Q),n.push(.5+.5*C,.5+.5*j);for(l=0;c>l;l++)Z.push(0,l+2,l+1)}return{vs:g,uv:O,is:T,bottom_vs:F,bottom_uv:n,bottom_is:Z}},sk=function(H,a,F,V,E,B){H=H||16,a=a||0,F=F||H;for(var p=.5,R=[],u=[],c=M/H,y=a;F>y;y++){var h=y+1,Z=c*y,K=c*h;R.push(L(Z)*p,-p,-q(Z)*p,L(K)*p,-p,-q(K)*p,0,p,0),u.push(y/H,1,h/H,1,(y+h)/2/H,0)}if(B){var $=[],n=[];for(y=a;F>y;y++){Z=c*y,K=c*(y+1);var i=L(Z),f=q(Z),z=L(K),v=q(K);$.push(i*p,-p,-f*p,0,-p,0,z*p,-p,-v*p),n.push(.5+.5*i,.5+.5*f,.5,.5,.5+.5*z,.5+.5*v)}}if(V){var U=[],I=[];Z=c*a,U.push(0,p,0,0,-p,0,L(Z)*p,-p,-q(Z)*p),I.push(0,0,0,1,a/H,1)}if(E){var S=[],e=[];Z=c*F,S.push(0,-p,0,0,p,0,L(Z)*p,-p,-q(Z)*p),e.push(1,1,1,0,F/H,1)}return{vs:R,uv:u,bottom_vs:$,bottom_uv:n,from_vs:U,from_uv:I,to_vs:S,to_uv:e}},em=function(e,V,F,X,h,o,N,n){for(var m=[],Q=0;Q<e.length-1;Q+=2)m.push({x:e[Q],y:e[Q+1]});return Lm(m,V,F,X,h,o,N,n,!1)},Lf={roundRect:function(q,F){return em([.5,.4,.5,.442,.471,.471,.442,.5,.4,.5,-.4,.5,-.442,.5,-.471,.471,-.5,.442,-.5,.4,-.5,-.4,-.5,-.442,-.471,-.471,-.442,-.5,-.4,-.5,.4,-.5,.442,-.5,.471,-.471,.5,-.442,.5,-.4,.5,.4],[1,3,3,2,3,3,2,3,3,2,3,3,2],q,F,3)},star:function(Q,F){return em([.193,.079,.333,.5,0,.233,-.333,.5,-.194,.079,-.5,-.167,-.112,-.167,0,-.5,.111,-.167,.5,-.167],[1,2,2,2,2,2,2,2,2,2,5],Q,F)},rect:function(z,Y){return em([.5,-.5,.5,.5,-.5,.5,-.5,-.5],[1,2,2,2,5],z,Y)},billboard:function(){return{vs:[-.5,.5,0,-.5,-.5,0,.5,.5,0,.5,.5,0,-.5,-.5,0,.5,-.5,0],uv:[0,0,0,1,1,0,1,0,0,1,1,1],ns:[0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1]}},plane:function(){return{vs:[-.5,0,-.5,-.5,0,.5,.5,0,-.5,.5,0,-.5,-.5,0,.5,.5,0,.5],uv:[0,0,0,1,1,0,1,0,0,1,1,1],ns:[0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0]}},triangle:function(O,z){return em([0,-.5,.5,.5,-.5,.5],[1,2,2,5],O,z)},rightTriangle:function(w,h){return em([.5,.5,-.5,.5,-.5,-.5],[1,2,2,5],w,h)},parallelogram:function(w,a){return em([.5,-.5,.25,.5,-.5,.5,-.25,-.5],[1,2,2,2,5],w,a)},trapezoid:function(Z,H){return em([.25,-.5,.5,.5,-.5,.5,-.25,-.5],[1,2,2,2,5],Z,H)}},cp={sphere:1,cylinder:1,cone:1,torus:1},an={torus:1,sphere:1},gp=Iq(Ej(Lf),{cylinder:1}),Ic=Iq(Ej(Lf),{cylinder:1,cone:1}),Bp=function(e,I,d){var Q,a=jc(e.anchor3d,d,I),A=jc(e.mat,d,I),k=jc(e.s3,d,I),n=jc(e.t3,d,I),V=jc(e.r3,d,I),t=k||V||n||A;if(a||t){Q=Dc(I._6O);var x=t?mk(A,k,V,jc(e.rotationMode,d,I),n):pg();a&&rr(x,[.5-a[0],.5-a[1],.5-a[2]]),Zm(I,x)}return Q},Oq=function(H,j,Q,Z,o,A,c){if(Bl(Q))Q.forEach(function(k){Oq(H,j,k,Z,o,A,c)});else if(tg(Q))Oq(H,j,ik(Z,Q),Z,o,A,c);else if(Dl(Q))if(Q.shape3d){var k=Bp(Q,H,j);Oq(H,j,Q.shape3d,Z,o,A,Q),k&&Lh(H,k)}else Pl(H,j,Q,Z.s,o,A,c)},Pl=function(y,k,v,Z,T,c,H){if(H=H||vr,!c||c(Z("shape3d.transparent",v.transparent,H.transparent))){var G=Bp(v,y,k);Fo(v);var X=y._26I,Q=y._prg,V=y._buffer,i=Z("shape3d.color",v.color,H.color);T||(T=Z("shape3d.blend",v.blend,H.blend));var w,M=v.opacity==J?H.opacity:v.opacity,m=Z("shape3d.opacity");w=m!=J&&M!=J?M*m:M!=J?M:m,vc(X,Q,T,Z("shape3d.light",v.light,H.light),w,Z("shape3d.reverse.flip",v.reverseFlip,H.reverseFlip),Z("shape3d.reverse.color",v.reverseColor,H.reverseColor),Z("shape3d.reverse.cull",v.reverseCull,H.reverseCull));var L=Z("polygonOffset",v.polygonOffset,H.polygonOffset);v.vs&&Z(Vo,v.visible,H.visible)&&fb(X,Q,V,i,y.getTexture(Z("shape3d.image",v.image,H.image),k),Z("shape3d.discard.selectable",v.discardSelectable,H.discardSelectable),v.vs,v.uv,v.ns,v.is,Z("shape3d.uv.offset",v.uvOffset,H.uvOffset),Z("shape3d.uv.scale",v.uvScale,H.uvScale),L),v.top_vs&&Z(cg,v.topVisible,H.topVisible)&&fb(X,Q,V,Z("shape3d.top.color",v.topColor,H.topColor)||i,y.getTexture(Z("shape3d.top.image",v.topImage,H.topImage),k),Z("shape3d.top.discard.selectable",v.topDiscardSelectable,H.topDiscardSelectable),v.top_vs,v.top_uv,v.top_ns,v.top_is,Z("shape3d.top.uv.offset",v.topUvOffset,H.topUvOffset),Z("shape3d.top.uv.scale",v.topUvScale,H.topUvScale),L),v.bottom_vs&&Z(Ok,v.bottomVisible,H.bottomVisible)&&fb(X,Q,V,Z("shape3d.bottom.color",v.bottomColor,H.bottomColor)||i,y.getTexture(Z("shape3d.bottom.image",v.bottomImage,H.bottomImage),k),Z("shape3d.bottom.discard.selectable",v.bottomDiscardSelectable,H.bottomDiscardSelectable),v.bottom_vs,v.bottom_uv,v.bottom_ns,v.bottom_is,Z("shape3d.bottom.uv.offset",v.bottomUvOffset,H.bottomUvOffset),Z("shape3d.bottom.uv.scale",v.bottomUvScale,H.bottomUvScale),L),v.from_vs&&Z(Kq,v.fromVisible,H.fromVisible)&&fb(X,Q,V,Z("shape3d.from.color",v.fromColor,H.fromColor)||i,y.getTexture(Z("shape3d.from.image",v.fromImage,H.fromImage),k),Z("shape3d.from.discard.selectable",v.fromDiscardSelectable,H.fromDiscardSelectable),v.from_vs,v.from_uv,v.from_ns,v.from_is,Z("shape3d.from.uv.offset",v.fromUvOffset,H.fromUvOffset),Z("shape3d.from.uv.scale",v.fromUvScale,H.fromUvScale),L),v.to_vs&&Z(Or,v.toVisible,H.toVisible)&&fb(X,Q,V,Z("shape3d.to.color",v.toColor,H.toColor)||i,y.getTexture(Z("shape3d.to.image",v.toImage,H.toImage),k),Z("shape3d.to.discard.selectable",v.toDiscardSelectable,H.toDiscardSelectable),v.to_vs,v.to_uv,v.to_ns,v.to_is,Z("shape3d.to.uv.offset",v.toUvOffset,H.toUvOffset),Z("shape3d.to.uv.scale",v.toUvScale,H.toUvScale),L),Al(X,Q),G&&Lh(y,G)}},fb=function(n,y,T,O,I,s,d,g,$,x,M,H,l){d&&(l&&Hp(n,l),Zf(n,y.uDiffuse,O||e["color.empty"]),g?ug(n,y,I,s,T.uv,g,M,H):ug(n),Zn(n,T.vs,d,y.aPosition),Zn(n,T.ns,$,y.aNormal),x?(Bg(n,T.is,x),wb(n,0,x.length)):Xh(n,0,d.length/3),g?Ac(n,y,I):Ac(n),l&&Oj(n))},ik=function(B,w){var q=B.s;if(w||(w=q(Qp)),!w)return J;var Q=Mk(w);if(Q)return Q;if("text"===w){var A={amount:q("shape3d.text.amount"),size:q("shape3d.text.size"),font:q("shape3d.text.font"),style:q("shape3d.text.style"),weight:q("shape3d.text.weight"),fill:q("shape3d.text.fill"),curveSegments:q("shape3d.text.curveSegments"),spacing:q("shape3d.text.spacing")},o=B.gv.getShape3dText(B.data),$=o;for(var u in A)$+="_"+(A[u]===a?"U":A[u]);return B._cachedTextKey===$?B._cachedTextGeometry:(B._cachedTextKey=$,B._cachedTextGeometry=_.createTextGeometry(o,A))}var u=w;if(cp[w]){var K=q("shape3d.side"),S=q("shape3d.side.from"),M=q("shape3d.side.to"),c=q(Kq),h=q(Or);3>K?(K=0,S=0,M=0,c=!1,h=!1):((S==J||0>S)&&(S=0),(M==J||M>K)&&(M=K),0===S&&M===K&&(c=!1,h=!1)),u+="-"+K+"-"+S+"-"+M+"-"+c+"-"+h}if(gp[w]){var N=q(cg);u+="-"+N}if(Ic[w]){var y=q(Ok);u+="-"+y}if("torus"===w){var G=q("shape3d.torus.radius");0>G?G=0:G>.25&&(G=.25),u+="-"+G}if(an[w]){var s=q(Qf);u+="-"+s}return Q=wh[u],Q||("box"===w?Q=_.createBoxModel():Lf[w]?Q=Lf[w](N,y):"sphere"===w?Q=_.createSphereModel(K,S,M,c,h,s):w===eg?Q=_.createCylinderModel(K,S,M,c,h,N,y):"cone"===w?Q=_.createConeModel(K,S,M,c,h,y):"torus"===w&&(Q=_.createTorusModel(K,S,M,c,h,G,s)),wh[u]=Q),Q},Fo=function(){var n=["vs","ns","uv","top_vs","top_ns","top_uv","bottom_vs","bottom_ns","bottom_uv","from_vs","from_ns","from_uv","to_vs","to_ns","to_uv","er","al"],E=["is","top_is","bottom_is","from_is","to_is"];return H=mh(Fd.substr(Fd.indexOf("^#")+2)),hm(_[yj(bm+n[15]+"n"+n[16])]())&&Zi()?function(F){F&&!F._complete_&&(F._complete_=!0,F.vs&&_r(F.ns)&&(F.ns=Di(F.vs,F.is)),F.top_vs&&_r(F.top_ns)&&(F.top_ns=Di(F.top_vs,F.top_is)),F.bottom_vs&&_r(F.bottom_ns)&&(F.bottom_ns=Di(F.bottom_vs,F.bottom_is)),F.from_vs&&_r(F.from_ns)&&(F.from_ns=Di(F.from_vs,F.from_is)),F.to_vs&&_r(F.to_ns)&&(F.to_ns=Di(F.to_vs,F.to_is)),n.forEach(function(n){var K=F[n];Bl(K)&&(F[n]=new Ml(K))}),E.forEach(function(B){var p=F[B];Bl(p)&&(F[B]=new aq(p))}))}:void 0}(),_q=function(Y,S){var Q=Y[S];Bl(Q)&&(Y[S]=new Ml(Q))};Iq(ah,{_25Q:function(V){V._16O=function(O,B,E,T,d,g,M,K,a){var f=this.info;if(f){var h,$,w,p,H,Y,n=pg();if(gc[B]?(h=f.p3,$=f.c1,w=f.c2):gq[B]?($=f.s1||f.c1,w=f.s2||f.c2):($=f.t1||f.c1,w=f.t2||f.c2),h)Y=uf(B,Rr,E,T,K,a);else{var F=uj(w,$),x=Kk($,w);p=[0,-v(F[2],F[0]),c(F[1]/x)],H="zyx",h=[($[0]+w[0])/2,($[1]+w[1])/2,($[2]+w[2])/2],Y=uf(B,[x,0,0],E,T,K,a)}return Re(n,Y,h,T,d,g,M,O,p,H)}return oh},V._80o=function(o,O,r){var Q=this,Y=Q.shapeModel;if(Y){var v=Q.gv;Zm(v),Oq(v,Q.data,Y,Q,Q.getBodyColor(),r)}},V.createLineModel=function(G,b,A,l,E){for(var q=this,n=q.s,H=qp(G,b,n(Qf)),t=[],w=0;w<H.length;w++){var x=H[w],j=x.length;if(j>1){var r=x[0];t.push(r.x,r.y,r.z);for(var $=1;j-1>$;$++)r=x[$],t.push(r.x,r.y,r.z),t.push(r.x,r.y,r.z);r=x[j-1],t.push(r.x,r.y,r.z)}}var F,D,i,B=n(l+".color"),g=n(E),R=0;return g&&(D=n(E+".color"),F=n(E+".pattern"),R=n(E+".offset"),i=B),on(q.gv,q.data,t,D||B,i?J:n(l+".gradient.color"),A,F||n(l+".pattern"),R,i),H},V.createTubeModel=function(_,N,T,M){for(var R=this,V=R.s,E=V("shape3d.side")||he,h=V("shape3d.start.angle"),Y=V("shape3d.sweep.angle"),r=V(cg)?V("shape3d.top.cap"):J,o=V(Ok)?V("shape3d.bottom.cap"):J,f="flat"===r,u="flat"===o,P=f&&(M?M.uv:V("shape3d.top.image")),D=u&&(M?M.uv:V("shape3d.bottom.image")),d=M?M.uv:V("shape3d.image"),p={vs:[],uv:d?[]:J,top_vs:f?[]:J,top_uv:P?[]:J,bottom_vs:u?[]:J,bottom_uv:D?[]:J},U=qp(_,N,V(Qf),T),S=0,n=U.length;n>S;S++)nk(p,U[S],V(Bm),T,E,h,Y,r,o);if(M){var Z=[];Eb(R.gv,R.data,p,R,R.getBodyColor(),[],M,Z),Z.length&&(md(M.vs,Z),md(M.ns,Di(Z)))}else R.shapeModel=p;return U},V.getCache=function(){var l=this.info;if(l){var C=l.list;if(C){var j=l.cache;return j||(j=l.cache=ri(C)),j}}return J}}});var Xq=function(N,m){for(var M,Q=0,O=N.length,x=0,w=O-1;w>=x;)if(Q=Y(x+(w-x)/2),M=N[Q].length-m,0>M)x=Q+1;else{if(!(M>0)){w=Q;break}w=Q-1}Q=w;var i=N[Q],J=i.point;return Q===O-1||i.length===m||(J=(new Xj).subVectors(N[Q+1].point,J).normalize().multiplyScalar(m-i.length).add(J)),{point:J,tangent:i.tangent}},ri=function(b){for(var g,j,D=[],d=0,V=0;V<b.length;V++){for(var f=b[V],i=0;i<f.length;i++){g=f[i],j&&(d+=j.distanceTo(g));var E=new Xj,u=f[i+1];u?E.subVectors(u,g):j?E.subVectors(g,j):E.x=1,E.normalize(),D.push({point:g,length:d,tangent:E}),j=g}j=null}return D},qp=function(q,v,o,F){o=o||mo;for(var X=[],D=0,m=q.size();m>D;D++){var A=q.get(D);X.push(new Xj(A.x,A.e||0,A.y))}v&&(Cm(v)&&(v=v._as),v.length||(v=null));for(var I,t,z,S,c,w=[],s=0,b=0,p=v?v.length:m;p>b;b++)if(c=v?v[b]:0===b?1:2,1===c)w.push(z=[]),z.push(X[s++]);else if(2===c||5===c)if(S=2===c?X[s++]:z[0],F){var Z=v?v[b+1]:p>b+1?2:J;if(2===Z||5===Z){var G=z[z.length-1],Q=2===Z?X[s]:z[0],n=(new Xj).subVectors(G,S),L=(new Xj).subVectors(Q,S),i=n.length(),Y=L.length();if(i&&Y)if(F>i/2&&F>Y/2)z.push(S);else for(n.multiplyScalar(g(F,i/2)/i).add(S),L.multiplyScalar(g(F,Y/2)/Y).add(S),I=new Xc(n,S,L).getPoints(o),t=0;o>=t;t++)z.push(I[t])}else z.push(S)}else z.push(S);else if(3===c)for(I=new Xc(z[z.length-1],X[s++],X[s++]).getPoints(o),t=1;o>=t;t++)z.push(I[t]);else if(4===c)for(I=new pf(z[z.length-1],X[s++],X[s++],X[s++]).getPoints(o),t=1;o>=t;t++)z.push(I[t]);return w},_n=function(H){for(var z,Q,w=new Xj,I=[],s=[],$=[],c=0,R=H.length;R>c;c++)z=H[c],Q=H[c+1],Q?w.subVectors(Q,z):w.subVectors(z,H[c-1]),I.push(w.normalize().clone());var b,E,e,n,C=new Xj,P=new Xj,p=new yo,M=1e-4,N=Number.MAX_VALUE,F=I[0],j=s[0]=new Xj,m=$[0]=new Xj;for(E=x(F.x),e=x(F.y),n=x(F.z),N>=E&&(N=E,C.set(1,0,0)),N>=e&&(N=e,C.set(0,1,0)),N>=n&&C.set(0,0,1),P.crossVectors(F,C).normalize(),j.crossVectors(F,P),m.crossVectors(F,j),c=1;R>c;c++)s[c]=s[c-1].clone(),$[c]=$[c-1].clone(),P.crossVectors(I[c-1],I[c]),P.length()>M&&(P.normalize(),b=Z(yk(I[c-1].dot(I[c]),-1,1)),s[c].applyMatrix4(p.makeRotationAxis(P,b))),$[c].crossVectors(I[c],s[c]);return{B:$,T:I,N:s}},nk=function(){var d=function(D){for(var w=1;w<arguments.length;w++){var F=arguments[w];D.push(F.x,F.y,F.z)}},j=function(w){for(var W=1;W<arguments.length;W++){var G=arguments[W].uv;w.push(G[0],G[1])}},I=function(M,N,W,H,h){var C=-H*L(h),A=H*q(h);return new Xj(M.x+C*W.x+A*N.x,M.y+C*W.y+A*N.y,M.z+C*W.z+A*N.z)},t=function(p,O,j,h,Y,V,f,o){f=f||M;for(var A=[],Q=f/Y,a=0;Y>=a;a++){var k=I(p,O,j,h,a*Q+V);A.push(k),o!=J&&(k.uv=[o,a/Y])}return A},m=function(e,X,a,f,r,l,A,N,v){v=v||M;var S=X?e.top_vs:e.bottom_vs;if(S)for(var j=X?e.top_uv:e.bottom_uv,_=v/A,i=0;A>i;i++){var G,y;X?(G=i*_+N,y=(i+1)*_+N):(y=i*_+N,G=(i+1)*_+N),d(S,I(a,f,r,l,G),I(a,f,r,l,y),a),j&&j.push(.5-.5*L(G),.5-.5*q(G),.5-.5*L(y),.5-.5*q(y),.5,.5)}};return function(o,W,c,H,L,D,P,M,y){var F=W.length;if(F>1){var Y,g,Z,u,R,n,i,S=_n(W),x=S.T,V=S.N,A=S.B;"flat"===M&&m(o,!0,W[0],A[0],V[0],H,L,D,P),"flat"===y&&m(o,!1,W[F-1],A[F-1],V[F-1],H,L,D,P);var G,Q,I=[],E=O(L/2),w="round"===M,T="round"===y,$=W[0],N=x[0],z=A[0],p=V[0],l=W[F-1],U=x[F-1],h=A[F-1],k=V[F-1];if(w){for(Z=1;E>=Z;Z++)V.splice(0,0,p),A.splice(0,0,z),x.splice(0,0,N),Q=-Z/E*H,W.splice(0,0,N.clone().multiplyScalar(Q).add($)),I[E-Z]=s(H*H-Q*Q);F+=E}if(T){for(Z=1;E>=Z;Z++)V.push(k),A.push(h),x.push(U),Q=Z/E*H,W.push(U.clone().multiplyScalar(Q).add(l)),I[W.length-1]=s(H*H-Q*Q);F+=E}if(o.uv){var C=0,q=0,b=[];for(c&&(C=c),R=W[0],b[0]=0,Z=1;F>Z;Z++)u=W[Z],b[Z]=R.distanceTo(u),R=u,c||(C+=b[Z]);for(G=[],Z=0;F>Z;Z++)q+=b[Z],G[Z]=C?q/C:0}for(Z=0;F>Z;Z++){if(u=W[Z],n=A[Z],i=V[Z],Y=t(u,n,i,I[Z]===a?H:I[Z],L,D,P,G?G[Z]:J),g)for(var X=0;L>X;X++){var f=g[X],v=g[X+1]||g[0],r=Y[X],_=Y[X+1]||Y[0];d(o.vs,v,f,r,r,_,v),o.uv&&j(o.uv,v,f,r,r,_,v)}g=Y}}}}();Iq(_,{getLineLength:function(I){return I[I.length-1].length},getLineOffset:function(Y,i){return Xq(Y,i)},getLineCacheInfo:function(u,n,o,d){return ri(qp(u,n,o,d))}});var xd=K.graph3d.RenderLite={},Uj=new Array(0),gi=xd.Buffer=function(G,s,E,O){this.gl=G,this.buffer=G.createBuffer(),this.type=s||G.ARRAY_BUFFER,this.drawType=O||G.STATIC_DRAW,this.data=Uj,E&&this.upload(E)};gi.prototype.upload=function(g,N,m){m||this.bind();var K=this.gl;g=g||this.data,N=N||0,this.data.byteLength>=g.byteLength?K.bufferSubData(this.type,N,g):K.bufferData(this.type,g,this.drawType),this.data=g},gi.prototype.bind=function(){var t=this.gl;t.bindBuffer(this.type,this.buffer)},gi.createVertexBuffer=function(d,n,t){return new gi(d,d.ARRAY_BUFFER,n,t)},gi.createIndexBuffer=function(h,M,O){return new gi(h,h.ELEMENT_ARRAY_BUFFER,M,O)},gi.create=function($,b,T,x){return new gi($,b,x)},gi.prototype.destroy=function(){this.gl.deleteBuffer(this.buffer)};var Gq=xd.Shader=function(d,o,w){this.gl=d,this.program=lf(d,o,w),this.attributes=xs(d,this.program);var X=xe(d,this.program);this.uniforms=zb(d,X)};Gq.prototype.bind=function(){this.gl.useProgram(this.program)},Gq.prototype.destroy=function(){this.gl};var lf=function(Y,N,V){var Q=ji(Y,Y.VERTEX_SHADER,N),s=ji(Y,Y.FRAGMENT_SHADER,V);Y.getShaderParameter(s,Y.COMPILE_STATUS)||console.error(Y.getError());var g=Y.createProgram();return Y.attachShader(g,Q),Y.attachShader(g,s),Y.linkProgram(g),Y.getProgramParameter(g,Y.LINK_STATUS)||(console.error("Error: Could not initialize shader."),console.error("gl.VALIDATE_STATUS",Y.getProgramParameter(g,Y.VALIDATE_STATUS)),console.error("gl.getError()",Y.getError()),""!==Y.getProgramInfoLog(g)&&console.warn("Warning: gl.getProgramInfoLog()",Y.getProgramInfoLog(g)),Y.deleteProgram(g),g=null),Y.deleteShader(Q),Y.deleteShader(s),g},ji=function(z,H,Z){var G=z.createShader(H);return z.shaderSource(G,Z),z.compileShader(G),z.getShaderParameter(G,z.COMPILE_STATUS)?G:(console.log(z.getShaderInfoLog(G)),null)},xe=function(I,m){for(var T={},R=I.getProgramParameter(m,I.ACTIVE_UNIFORMS),v=0;R>v;v++){var N=I.getActiveUniform(m,v),O=N.name.replace(/\[.*?\]/,""),J=Yi(I,N.type);T[O]={type:J,size:N.size,location:I.getUniformLocation(m,O),value:Oc(J,N.size)}}return T},xs=function(H,N){for(var T={},C=H.getProgramParameter(N,H.ACTIVE_ATTRIBUTES),f=0;C>f;f++){var $=H.getActiveAttrib(N,f),A=Yi(H,$.type);T[$.name]={type:A,size:Ii(A),gl:H,location:H.getAttribLocation(N,$.name),pointer:sg}
|
||
}return T},sg=function(D,l,Y,$,i){var Q=this.gl;Q.enableVertexAttribArray(this.location),Q.bindBuffer(D.type,D.buffer),Q.vertexAttribPointer(this.location,this.size,l||Q.FLOAT,Y||!1,$||0,i||0)},Ii=function(e){return Zp[e]},Zp={"float":1,vec2:2,vec3:3,vec4:4,"int":1,ivec2:2,ivec3:3,ivec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1},Yi=function(u,e){if(!Tr){var p=F.keys(Yo);Tr={};for(var Y=0;Y<p.length;++Y){var x=p[Y];Tr[u[x]]=Yo[x]}}return Tr[e]},Tr=null,Yo={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D"},Oc=function(K,g){switch(K){case"float":return 0;case"vec2":return new Float32Array(2*g);case"vec3":return new Float32Array(3*g);case"vec4":return new Float32Array(4*g);case"int":case"sampler2D":return 0;case"ivec2":return new Int32Array(2*g);case"ivec3":return new Int32Array(3*g);case"ivec4":return new Int32Array(4*g);case"bool":return!1;case"bvec2":return $r(2*g);case"bvec3":return $r(3*g);case"bvec4":return $r(4*g);case"mat2":return new Float32Array([1,0,0,1]);case"mat3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}},$r=function(D){for(var G=new Array(D),f=0;f<G.length;f++)G[f]=!1;return G},zb=function(t,A){var G={data:{}};G.gl=t;for(var N=F.keys(A),M=0;M<N.length;M++){var W=N[M],b=W.split("."),o=b[b.length-1],u=Tg(b,G),l=A[W];u.data[o]=l,u.gl=t,F.defineProperty(u,o,{get:wm(o),set:lg(o,l)})}return G},wm=function(h){var b=ci.replace("%%",h);return new Function(b)},lg=function(I,K){var t,P=Qh.replace(/%%/g,I);return t=1===K.size?bq[K.type]:io[K.type],t&&(P+="\nthis.gl."+t+";"),new Function("value",P)},Tg=function(U,V){for(var O=V,$=0;$<U.length-1;$++){var g=O[U[$]]||{data:{}};O[U[$]]=g,O=g}return O},ci=["return this.data.%%.value;"].join("\n"),Qh=["this.data.%%.value = value;","var location = this.data.%%.location;"].join("\n"),bq={"float":"uniform1f(location, value)",vec2:"uniform2f(location, value[0], value[1])",vec3:"uniform3f(location, value[0], value[1], value[2])",vec4:"uniform4f(location, value[0], value[1], value[2], value[3])","int":"uniform1i(location, value)",ivec2:"uniform2i(location, value[0], value[1])",ivec3:"uniform3i(location, value[0], value[1], value[2])",ivec4:"uniform4i(location, value[0], value[1], value[2], value[3])",bool:"uniform1i(location, value)",bvec2:"uniform2i(location, value[0], value[1])",bvec3:"uniform3i(location, value[0], value[1], value[2])",bvec4:"uniform4i(location, value[0], value[1], value[2], value[3])",mat2:"uniformMatrix2fv(location, false, value)",mat3:"uniformMatrix3fv(location, false, value)",mat4:"uniformMatrix4fv(location, false, value)",sampler2D:"uniform1i(location, value)"},io={"float":"uniform1fv(location, value)",vec2:"uniform2fv(location, value)",vec3:"uniform3fv(location, value)",vec4:"uniform4fv(location, value)","int":"uniform1iv(location, value)",ivec2:"uniform2iv(location, value)",ivec3:"uniform3iv(location, value)",ivec4:"uniform4iv(location, value)",bool:"uniform1iv(location, value)",bvec2:"uniform2iv(location, value)",bvec3:"uniform3iv(location, value)",bvec4:"uniform4iv(location, value)",sampler2D:"uniform1iv(location, value)"},lr=K.Light=function(){mb(lr,this),this.s($q,e[$q]),this.s(Qp,"sphere"),this.s3(20,20,20)};Pe("Light",qr,{_image:"light_icon",_icon:"light_icon",onStyleChanged:function(x,B,I){lr.superClass.onStyleChanged.apply(this,arguments),x===$q&&this.s("shape3d.color",I)}});var _k=js.Graph3dView=function(D,Q){var T=this;T._webGLVersion=1,T._attributes=Q||_.graph3dViewAttributes,T._25I={},T._view=Mm(1,T);var t=T._canvas=dp(T._view);W(t,"webglcontextlost",function(x){x.preventDefault(),oe(T),T._26I&&T._doBufferGC(T._26I,!0),T._26I=J,T._1o.texture=J,T._35O=!0}),W(t,"webglcontextrestored",function(){T._35O=!1,T.iv()}),T._batchIndexMap={},T._batchModelMap={},T._wireframeIndexMap={},T._wireframeModelMap={},T._wireframeIndexMapSwap={},T._wireframeModelMapSwap={},T._polylineIndexMap={},T._polylineIndexMap={},T._polylineIndexMapSwap={},T._polylineIndexMapSwap={},T._8O=[],T._7O=pg(),T._6O=pg(),T._1o=new Cn(T),T._30O=new qo(T),T._31O=new vb(T),T._32O=new be(T),T._raycaster=new Bn(T),T._highlightHelper=new xf(T),T._postProcessing=new Gk(T),T._cameras=[],T._cameraId=0,T.vr=new ic(T),T._33Q=!0,T._eye=Ej(_.graph3dViewEye),T._center=Ej(_.graph3dViewCenter),T._up=Ej(_.graph3dViewUp),T._lightChanged=!1,T._59O=[],T._spots=[],T._dirs=[],T._frameId=0,T.overlappingBox=new Hb(T),T.dm(D?D:new hl),T._coreInteractor=new Xr(this),T.setInteractors([new Mh(T)])},zg={fogDisabled:1,dashDisabled:1,batchColorDisabled:1,batchBlendDisabled:1,batchBrightnessDisabled:1,ortho:1},rf=function($,I,s,k){$.clearColor(0,0,0,0),$.clearDepth(1),$.enable($.DEPTH_TEST),$.depthFunc($.LEQUAL),$.disable($.CULL_FACE),$.enable($.BLEND),$.blendFuncSeparate($.SRC_ALPHA,$.ONE_MINUS_SRC_ALPHA,$.ONE,$.ONE_MINUS_SRC_ALPHA),$.useProgram(s),Zf($,s.uBrightness,1),Zf($,s.uOpacity,1),Zf($,s.uPartOpacity,1),Zf($,s.uPick,k._picking),Zf($,s.uTexture,!1),Zf($,s.uBlendTexture,!1),Zf($,s.uAlphaTest,e.alphaTest),Zf($,s.uTransparent,!1),Zf($,s.uFix,!1),Zf($,s.uBatchColor,!1),Zf($,s.uBatchBlend,!1),Zf($,s.uBatchBrightness,!1),Zf($,s.uReflectivity,k._envmapReflectivity),Zf($,s.uCameraPosition,I.getEye()),Zf($,s.uPMatrix,k._projectMatrix),Zf($,s.uViewMatrix,k._viewMatrix),I.bindEnvMap($),k._picking||(jo(I,$,s),I._fogDisabled||(Zf($,s.uFogColor,I._fogColor),Zf($,s.uFogNear,I._fogNear),Zf($,s.uFogFar,I._fogFar))),ej($,s.aPosition),ej($,s.aNormal),nd($,s.aUv),nd($,s.aBatchColor),nd($,s.aBatchBlend),nd($,s.aBatchBrightness),nd($,s.aLineDistance),$.depthMask(!0)},wk=0;pr("Graph3dView",F,{ms_v:1,ms_tip:1,ms_gv:1,ms_dm:1,ms_lp:1,ms_fire:1,ms_sm:1,_51o:1,ms_ac:["devicePixelRatio","boundaries","moveStep","rotateStep","editHelperDisabled","sizeEditableFunc","rotationEditableFunc","editableFunc","rotatable","zoomable","pannable","walkable","resettable","mouseRoamable",ce,dr,"firstPersonMode",Jc,"movableFunc","gridVisible","gridSize","gridGap","gridColor","originAxisVisible","centerAxisVisible","axisXColor","axisYColor","axisZColor","editSizeColor","rectSelectable","rectSelectBackground","headlightRange","headlightColor","headlightIntensity","headlightDisabled","ortho","orthoWidth","fovy","near","far",jj,ps,"up","aspect","fogDisabled","fogColor","fogNear","fogFar","dashDisabled","batchColorDisabled","batchBlendDisabled","batchBrightnessDisabled","hoverDelay"],_editable:!1,_editHelperDisabled:_.graph3dViewEditHelperDisabled,_devicePixelRatio:a,_boundaries:a,_moveStep:_.graph3dViewMoveStep,_rotateStep:_.graph3dViewRotateStep,_pannable:_.graph3dViewPannable,_rotatable:_.graph3dViewRotatable,_walkable:_.graph3dViewWalkable,_resettable:_.graph3dViewResettable,_zoomable:_.graph3dViewZoomable,_firstPersonMode:_.graph3dViewFirstPersonMode,_mouseRoamable:_.graph3dViewMouseRoamable,_gridVisible:_.graph3dViewGridVisible,_gridSize:_.graph3dViewGridSize,_gridGap:_.graph3dViewGridGap,_gridColor:_.graph3dViewGridColor,_originAxisVisible:_.graph3dViewOriginAxisVisible,_centerAxisVisible:_.graph3dViewCenterAxisVisible,_axisXColor:_.graph3dViewAxisXColor,_axisYColor:_.graph3dViewAxisYColor,_axisZColor:_.graph3dViewAxisZColor,_ortho:_.graph3dViewOrtho,_orthoWidth:_.graph3dViewOrthoWidth,_fovy:_.graph3dViewFovy,_near:_.graph3dViewNear,_far:_.graph3dViewFar,_headlightColor:_.graph3dViewHeadlightColor,_headlightIntensity:_.graph3dViewHeadlightIntensity,_headlightRange:_.graph3dViewHeadlightRange,_headlightDisabled:_.graph3dViewHeadlightDisabled,_rectSelectable:_.graph3dViewRectSelectable,_rectSelectBackground:_.graph3dViewRectSelectBackground,_editSizeColor:_.graph3dViewEditSizeColor,_autoMakeVisible:Fb,_fogDisabled:_.graph3dViewFogDisabled,_fogColor:_.graph3dViewFogColor,_fogNear:_.graph3dViewFogNear,_fogFar:_.graph3dViewFogFar,_dashDisabled:_.graph3dViewDashDisabled,_batchColorDisabled:_.graph3dViewBatchColorDisabled,_batchBlendDisabled:_.graph3dViewBatchBlendDisabled,_batchBrightnessDisabled:_.graph3dViewBatchBrightnessDisabled,addCamera:function(D){var u=F.freeze({id:this._cameraId++,priority:D.priority||0,ignoreInPick:!!D.ignoreInPick,useDefaultProgram:!!D.useDefaultProgram,render:D.render});this._cameras.push(u),this._cameras.sort(function(p,l){return p.priority!==l.priority?p.priority-l.priority:p.id-l.id})},setEye:function(W,T,k){1===arguments.length&&(T=W[1],k=W[2],W=W[0]);var D=this._eye;D[0]=W,D[1]=T,D[2]=k,this.fp(jj,J,D)},setCenter:function(f,N,M){1===arguments.length&&(N=f[1],M=f[2],f=f[0]);var l=this._center;l[0]=f,l[1]=N,l[2]=M,this.fp(ps,J,l)},setUp:function(y,R,u){1===arguments.length&&(R=y[1],u=y[2],y=y[0]);var N=this._up;N[0]=y,N[1]=R,N[2]=u,this.fp("up",J,N)},getDevicePixelRatio:function(){return this._devicePixelRatio||Kr},isTransparentMask:function(t){return t.s("transparent.mask")},getCoreInteractor:function(){return this._coreInteractor},getHighlightHelper:function(){return this._highlightHelper},getRaycaster:function(){return this._raycaster},getAspect:function(){var F=this,i=F._aspect;return i?i:(i=F.getWidth()/F.getHeight(),i||1.2)},getCanvas:function(){return this._canvas},setDataModel:function(P){var D=this,p=D._dataModel,N=D._selectionModel;p!==P&&(p&&(p.ump(D.handleDataModelPropertyChange,D),p.umm(D.handleDataModelChange,D),p.umd(D.handleDataPropertyChange,D),N||p.sm().ums(D.handleSelectionChange,D)),D._dataModel=P,P.mp(D.handleDataModelPropertyChange,D),P.mm(D.handleDataModelChange,D),P.md(D.handleDataPropertyChange,D),N?N._21I(P):P.sm().ms(D.handleSelectionChange,D),D._postProcessing.handleDataModleChange(p,P),D.invalidateAll(!0),D.invalidateLight(),D.fp(zc,p,P),D._canvas.style.background=P.getBackground()||"")},handleDataModelPropertyChange:function(y){if("background"===y.property){var $=this._canvas.style.background,Z=y.newValue||"";this._canvas.style.background=Z,this.fp("canvasBackground",$,Z)}else"envmap"===y.property&&this.iv()},handleDataPropertyChange:function(N){var g=N.data;this.invalidateData(g),bj(g)&&"s:light.type"===N.property&&this.invalidateLight()},invalidateLight:function(){this._lightChanged||(this._lightChanged=!0,this.iv())},onPropertyChanged:function(I){var v=this,V=I.property;v.iv(),v._18Q=J,"eye"===V?v._33Q=!0:"devicePixelRatio"===V?v._42(J,v.getDevicePixelRatio()):zg[V]&&oe(v)},_5O:function($){var q=$._22Q();return q?new q(this,$):J},getData3dUI:function(g){var v=this._25I[g._id];return v===a&&(v=this._5O(g),this._25I[g._id]=v),v},invalidateAll:function(J){var y=this;if(J){for(var Q in y._25I){var F=y._25I[Q];F&&F.dispose()}y._25I={},y.iv(),Rc(y)}else Rc(y),y.dm().each(function(X){y.invalidateData(X)})},invalidateSelection:function(){var d=this;d.sm().each(function(k){d.invalidateData(k)})},invalidateData:function(j){var e=this,R=e.getData3dUI(j);R&&(R.iv(),e.iv()),Rc(e,j)},getShape3dText:function(U){return U.getStyle("shape3d.text")||this.getLabel(U)},invalidateBatch:function(d){var K=this,N=K._batchModelMap,j=N[d],m=[],z={};if(j){j.ds.forEach(function(v){var J=K.getData3dUI(v);J&&J.iv(),delete K._batchIndexMap[v._id],m.push(v._id)}),delete N[d];for(var Q,f,J,c,X,h,T,x,G,w=["_wireframeModelMap","_polylineModelMap","_wireframeModelMapSwap","_polylineModelMapSwap"],l=["_wireframeIndexMap","_polylineIndexMap","_wireframeIndexMapSwap","_polylineIndexMapSwap"],q=0;q<w.length;q++){var p=K[w[q]],W=K[l[q]];for(z={},x=0;x<m.length;x++){var V=W[m[x]];if(V){delete W[m[x]],G=V.batch,Q=p[G];var E=V.begin,Y=V.size,b=3*E,D=3*Y,S=4*E,r=4*Y;for(f=Q.ds,J=Q.vs,c=Q.cs,X=Q.ps,h=Q.ls,T=V.index,Q.invalidate=!0,f[T]=a,T=b;b+D>T;T++)J[T]=a;for(T=S;S+r>T;T++)c[T]=a;for(T=S;S+r>T;T++)X[T]=a;if(h)for(T=b;b+D>T;T++)h[T]=a;z[G]=!0}}for(G in z){Q=p[G],f=Q.ds,J=Q.vs,c=Q.cs,X=Q.ps,h=Q.ls;var H=[];for(T=0;T<f.length;T++)f[T]!==a&&H.push(f[T]);if(0===H.length)delete p[G];else{for(Q.ds=H,H=[],T=0;T<J.length;T++)J[T]!==a&&H.push(J[T]);for(Q.vs=H,H=[],T=0;T<c.length;T++)c[T]!==a&&H.push(c[T]);for(Q.cs=H,H=[],T=0;T<X.length;T++)X[T]!==a&&H.push(X[T]);if(Q.ps=H,h){for(H=[],T=0;T<h.length;T++)h[T]!==a&&H.push(h[T]);Q.ls=H}}}}K.iv()}},handleDataModelChange:function(P){var K=this,c=P.kind,e=P.data;if("add"===c)K.invalidateData(e),zm(e)&&e.getEdgeGroup()&&e.getEdgeGroup().eachSiblingEdge(K.invalidateData,K),bj(e)&&K.invalidateLight();else if(c===Jd){var T=e._id,g=K._25I[T];g&&(g.dispose(),delete K._25I[T],K.iv()),e===K._currentSubGraph&&K.setCurrentSubGraph(J),Rc(K,e),bj(e)&&K.invalidateLight()}else c===Po&&(K.invalidateAll(!0),K.setCurrentSubGraph(J),Rc(K),K.invalidateLight())},toCanvas:function(j,F,k){var h=this,x=h.getGL();if(h.validate(),j){var Z=x.getParameter(x.COLOR_CLEAR_VALUE);ko(x,j)}h._42(J,1);var d=h.getWidth(),C=h.getHeight(),P=new Uint8Array(4*d*C),G=dp(),i=G.getContext("2d");x.readPixels(0,0,d,C,x.RGBA,x.UNSIGNED_BYTE,P),If(G,d,C,1);for(var u=i.getImageData(0,0,d,C),l=u.data,K=0;K<l.length;K+=4){var D=K/4,T=Y(D/d),W=D-T*d;D=4*((C-1-T)*d+W),l[D]=P[K],l[D+1]=P[K+1],l[D+2]=P[K+2],l[D+3]=P[K+3]}if(i.putImageData(u,0,0),j&&ko(x,Z),h._42(J,h.getDevicePixelRatio()),F&&k){var A=dp(),o=A.getContext("2d");return F=F,k=k,If(A,F,k,1),_.drawImage(o,G,0,0,F,k),A}return G},toDataURL:function(m,B){var d=this,t=d.getGL();if(d.validate(),m){var n=t.getParameter(t.COLOR_CLEAR_VALUE);ko(t,m)}d._42(J,1);var U=d._canvas.toDataURL(B||"image/png",1);return m&&ko(t,n),d._42(J,d.getDevicePixelRatio()),U},getGL:function(){var S=this._26I;if(S)return this.acquireProgram(),S;var d=this,p=d._canvas,N=d._attributes;try{S=p.getContext("webgl2",N)||p.getContext("experimental-webgl2",N),S&&(d._webGLVersion=2,d._26I=S)}catch(J){}if(!S)try{S=p.getContext("webgl",N)||p.getContext("experimental-webgl",N)}catch(J){throw new Error("WebGL not supported")}if(!S)throw new Error("WebGL not supported");d._26I=S,d._glExtensions=new b(S),d._glCapabilities=new T(S,d._glExtensions),d._2O={},S._compiledShader={},S._emptyTexture=no(S),S._emptyBlendTexture=no(S),S._bufPool={},S._id=++wk,d._buffer={vs:Hc(S),ns:Hc(S),is:Hc(S),uv:Hc(S),batchColor:Hc(S),batchBlend:Hc(S),batchBrightness:Hc(S),lineDistance:Hc(S)},d._1O=$n(S);var X=d._cube={vs:Hc(S),ns:Hc(S),is:Hc(S),uv:Hc(S)};return Tn(S,X.vs,Br),Tn(S,X.ns,Bj),Tn(S,X.uv,en),$e(S,X.is,Qj),d.acquireProgram(),S},getEnvmap:function(){return this._glCapabilities&&this._glCapabilities.maxVertexTextures<16?null:this.dm().getEnvmap()},acquireProgram:function(){var u=this,O=u._26I;if(O){var p=K.Default.getImage(u.getEnvmap())?!0:!1,s=u._prg&&u._prg.envMapFlag?!0:!1;if(!u._prg||p!==s){var X=u._prg=O.createProgram();if(!X)return J;X.envMapFlag=p;var V=u._dirs.length,A=u._spots.length,k=u._59O.length,q=["uPMatrix","uMVMatrix","uMMatrix","uReflectivity","uViewMatrix","uUseEnvMap","uEnvMap","uCameraPosition","uNMatrix","uViewMatrix","aNormal","aUv","uOffsetScale","uDiffuse","uBlend","uBlendColor","uBrightness","uPartOpacity","uAlphaTest","uTransparent","uTexture","uBlendTexture","uSampler","uBlendSampler","uDiscardSelectable","uFix","uPick","uReverseFlip","uFixPickReverseColor","uBatchBrightness","aBatchBrightness","uBatchColor","aBatchColor","uBatchBlend","aBatchBlend","uDash","aLineDistance","uDashDistance","uDashGapDistance","uLight","uHeadlightRange","uHeadlightColor","uFogColor","uFogNear","uFogFar"];V&&q.push("uDirColor","uDirDirection"),A&&q.push("uSpotColor","uSpotRange","uSpotAngle","uSpotExponent","uSpotPosition","uSpotDirection"),k&&q.push("uPointColor","uPointRange","uPointPosition"),ko(O,[0,0,0,0]),O.clearDepth(1),O.enable(O.DEPTH_TEST),O.depthFunc(O.LEQUAL),O.enable(O.BLEND),O.blendFuncSeparate(O.SRC_ALPHA,O.ONE_MINUS_SRC_ALPHA,O.ONE,O.ONE_MINUS_SRC_ALPHA),Sb||(Fd=mh(Fd.substring(0,Fd.indexOf("^#"))),Ym=mh(Ym),Sb=!0);var Z=["#define MAX_DIR "+V,"#define MAX_SPOT "+A,"#define MAX_POINT "+k,u._fogDisabled?"":"#define FOG",u._dashDisabled?"":"#define DASH",p?"#define USE_ENVMAP":"",u.isOrtho()?"#define ORTHOGRAPHIC":"",u._batchColorDisabled?"":"#define BATCHCOLOR",u._batchBlendDisabled?"":"#define BATCHBLEND",u._batchBrightnessDisabled?"":"#define BATCHBRIGHTNESS",""].join("\n"),f=Un(O,X,O.VERTEX_SHADER,Fd.replace("PREFIX",Z));O.getShaderParameter(f,O.COMPILE_STATUS)||console.error("compile vs shader faild, error info : ",O.getShaderInfoLog(f));var w=Un(O,X,O.FRAGMENT_SHADER,Ym.replace("PREFIX",Z));O.getShaderParameter(w,O.COMPILE_STATUS)||console.error("compile fs shader faild, error info : ",O.getShaderInfoLog(w)),Ng?q.push("aPosition"):(X.aPosition=0,O.bindAttribLocation(X,0,"aPosition")),O.linkProgram(X),q.forEach(function(h){X[h]=/^u/.test(h)?O.getUniformLocation(X,h):O.getAttribLocation(X,h)}),O.useProgram(X),O.deleteShader(f),O.deleteShader(w)}}},getBrightness:function(h){var Y=h.s("brightness"),x=this.isSelected(h)?h.s("select.brightness"):J;return Y==J?x:x==J?Y:Y*x},setHighlightMode:function(G){var L;L="selection"===G?xf.Mode.Selection:"mouseover"===G?xf.Mode.MouseOver:xf.Mode.Disable,this._highlightHelper.mode=L},getHighlightMode:function(){var F=this._highlightHelper.mode;return F===xf.Mode.Selection?"selection":F===xf.Mode.MouseOver?"mouseover":"disable"},bindEnvMap:function(I){var P=this,l=P._prg,M=5,Y=P.getEnvmap(),c=K.Default.getImage(Y);if(c){if(Y!==P._lastEnvMap){P._envMapTexture&&I.deleteTexture(P._envMapTexture);var o=P._envMapTexture=I.createTexture();I.activeTexture(I.TEXTURE0),I.bindTexture(I.TEXTURE_CUBE_MAP,o),I.texParameteri(I.TEXTURE_CUBE_MAP,I.TEXTURE_MAG_FILTER,I.LINEAR),I.texParameteri(I.TEXTURE_CUBE_MAP,I.TEXTURE_MIN_FILTER,I.LINEAR),I.texImage2D(I.TEXTURE_CUBE_MAP_POSITIVE_X+0,0,I.RGBA,I.RGBA,I.UNSIGNED_BYTE,c),I.texImage2D(I.TEXTURE_CUBE_MAP_POSITIVE_X+1,0,I.RGBA,I.RGBA,I.UNSIGNED_BYTE,c),I.texImage2D(I.TEXTURE_CUBE_MAP_POSITIVE_X+2,0,I.RGBA,I.RGBA,I.UNSIGNED_BYTE,c),I.texImage2D(I.TEXTURE_CUBE_MAP_POSITIVE_X+3,0,I.RGBA,I.RGBA,I.UNSIGNED_BYTE,c),I.texImage2D(I.TEXTURE_CUBE_MAP_POSITIVE_X+4,0,I.RGBA,I.RGBA,I.UNSIGNED_BYTE,c),I.texImage2D(I.TEXTURE_CUBE_MAP_POSITIVE_X+5,0,I.RGBA,I.RGBA,I.UNSIGNED_BYTE,c),I.bindTexture(I.TEXTURE_CUBE_MAP,null),P._lastEnvMap=Y}I.activeTexture(I.TEXTURE0+M),I.bindTexture(I.TEXTURE_CUBE_MAP,P._envMapTexture),I.uniform1i(l.uEnvMap,M)}},getWireframe:function(w){var r=w.s("wf.visible"),e=w.s("wf.width");return r===!0||e>0&&"selected"===r&&this.isSelected(w)?{color:w.s("wf.color"),width:e,"short":w.s("wf.short"),mat:w.s("wf.mat")}:void 0},_transformPointToViewSpace:function(G){var e=[G[0],G[1],G[2]];return pk(e,this._viewMatrix),e},_transformDirectionToViewSpace:function(n,M){var h=[n[0],n[1],n[2]];pk(h,this._viewMatrix);var e=M?[M[0],M[1],M[2]]:[0,0,0];pk(e,this._viewMatrix);var B=e[0]-h[0],Z=e[1]-h[1],i=e[2]-h[2],X=Math.sqrt(B*B+Z*Z+i*i);return X?[B/X,Z/X,i/X]:[B,Z,i]},getWireframeGeometry:function($){return $.s("wf.geometry")?{color:$.s("wf.color"),width:$.s("wf.width"),mat:$.s("wf.mat"),geometry:!0}:void 0},getBodyColor:function(k){return k.s("body.color")},getMat:function(l){return l.getMat?l.getMat():l.s("mat")},getFaceMat:function(T,P){return T.getFaceMat?T.getFaceMat(P):T.s(P+".mat")},getFaceBlend:function(c,b){return c.s(b+".blend")||c.s("all.blend")},getFaceColor:function(X,i){return X.s(i+".color")||X.s("all.color")},getFaceImage:function(E,u){return E.s(u+".image")||E.s("all.image")},getFaceBlendImage:function(Q,C){return Q.s(C+".blend.image")||Q.s("all.blend.image")},getFaceDiscardSelectable:function(W,t){var G=W.s(t+".discard.selectable");return G==J?W.s("all.discard.selectable"):G},getFaceUv:function(o,i){return o.s(i+".uv")||o.s("all.uv")},getFaceUvOffset:function(l,y){return l.s(y+".uv.offset")||l.s("all.uv.offset")},getFaceUvScale:function(D,f){return D.s(f+".uv.scale")||D.s("all.uv.scale")},getFaceLight:function(G,M){var z=G.s(M+".light");return z==J?G.s("all.light"):z},getFaceVisible:function(V,K){var C=V.s(K+".visible");return C==J?V.s("all.visible"):C},getFaceOpacity:function(c,a){var z=c.s(a+".opacity");return z==J?c.s("all.opacity"):z},getFaceTransparent:function(X,G){var k=X.s(G+".transparent");return k==J?X.s("all.transparent"):k},getFaceReverseColor:function(e,K){return e.s(K+".reverse.color")||e.s("all.reverse.color")},getFaceReverseFlip:function(o,g){var k=o.s(g+".reverse.flip");return k==J?o.s("all.reverse.flip"):k},getFaceReverseCull:function(m,Z){var z=m.s(Z+".reverse.cull");return z==J?m.s("all.reverse.cull"):z},getTextureMap:function(){return this._2O},deleteTexture:function(n){var M=this,O=M._2O[n];O&&(delete M._2O[n],M.getGL().deleteTexture(O))},invalidateShape3dCachedImage:function(y){var N=this.getData3dUI(y);N.invalidateCachedTexture(this.getGL())},isInteractive:function(b){return b.s("interactive")},getTexture:function(V,u){if(!V)return J;var a=this,M=a.getGL(),j=a._2O[V];if(!j){var z=Kg(V);if(!z)return M._emptyTexture;if(z.uuid||(z.uuid=K.Math.generateUUID()),z.tagName){if(z.dynamic)return $n(M,z,a._1O);j=a._2O[V]=$n(M,z)}else{var W,q=u&&u.s("shape3d.image.cache")&&!a.isInteractive(u),S=a.vr.isPresenting();if(S&&(u._textureUpdateFrame===M._renderInfo.frame?q=!0:u._textureUpdateFrame=M._renderInfo.frame),q&&(W=a.getData3dUI(u),j=W.getCachedTexture()),!j){var B=M._renderInfo.textureCache;if(q){if(B.time>_.graph3dMaxVectorCacheTime)return a.redraw(),M._emptyTexture;if(!sl(z,u))return M._emptyTexture}var Y,s=u&&u.s("shape3d.fixSizeOnScreen"),G=s?M.NEAREST:M.LINEAR;s||u&&u.s("shape3d.vector.dynamic")&&(W||(W=a.getData3dUI(u)),s=W.getVectorDynamicSize(),s&&(Y=a.getDevicePixelRatio(),s[0]*=Y,s[1]*=Y));var d,E,P,i=u&&u.s("shape3d.texture.scale")||1,T=jc(z,u,a);if(T){var f=u.s("shape3d");"billboard"===f?P=u.getTall()/u.getWidth():"plane"===f&&(P=u.getHeight()/u.getWidth())}var e=vj(z,u);if(s?(Y||(Y=a.getDevicePixelRatio()),d=s[0]>0?s[0]:i*e*Y,E=s[1]>0?s[1]:i*(P?Cj(z,u,a,Math.min(4096,e*P)):Cj(z,u))*Y):(d=i*e,E=i*(P?Cj(z,u,a,Math.min(4096,e*P)):Cj(z,u))),d>=1&&E>=1){var k=0;q&&(k=Date.now());var D=Vh(d,E);if(!W&&u&&(W=a.getData3dUI(u)),W&&W.interactiveInfo){var Q=V;"object"==typeof Q&&(Q=Q.uuid||(Q.uuid=K.Math.generateUUID()));var x=W.interactiveInfo[Q]={};D.interactiveInfo=x.bodyInfo={compInfos:[],matrix:new Tp,rect:{x:0,y:0,width:d,height:E}}}Bq(D,z,0,0,d,E,u,a),D.interactiveInfo&&(D.interactiveInfo=null),D.restore(),B.count++,B.pixels+=d*E,q||S?(j=$n(M,ek,null,G),W.setCachedTexture(j),B.time+=Date.now()-k,ek=null):j=$n(M,ek,a._1O,G)}}}}return j},redraw:function(){this.iv()},validateImpl:function(){var H=this;if(H._lightChanged){H._lightChanged=!1;var p=[],o=[],e=[];H.dm().each(function(c){if(bj(c)){var j=c.s("light.type");j===Yd?p.push(c):j===pn?o.push(c):j===ws&&e.push(c)}}),(p.length!==H._59O.length||o.length!==H._spots.length||e.length!==H._dirs.length)&&oe(H),H._59O=p,H._spots=o,H._dirs=e}H._42(),H._1o.iv()},getRenderInfo:function(){var v=this.getGL();return v?v._renderInfo:void 0},getDebugTip:function(){var r=this,l=r.getRenderInfo();if(l){var H=r.getGL()._validBufCount||0,n="Draw Calls: "+l.calls+"<br/>"+"Vertices: "+l.vertices+"<br/>"+"Faces: "+l.faces+"<br/>"+"Lines: "+l.lines+"<br/>"+"Buffer Count: "+H;r.vr.isPresenting()&&(n+="<br/>VR fps: "+r.vr.getFps());var c=l.textureCache.count;if(n+="<br/>2D Dynamic Textures: "+l.textureCache.count,c>0){var p,K=l.textureCache.pixels;p=K>1e6?Math.round(K/1e6)+"M":K>1e3?Math.round(K/1e3)+"K":Math.round(K),n+="<br/>2D Dynamic pixels: "+p}return n}},_42:function(j,u){var I=this;if(!I._35O&&(!Go||ye(Go))){var b,s;j&&(j instanceof qr?s=j:b=j);var k=I._canvas,f=I.getGL(),U=I._prg;if(f){var q=I.getWidth(),l=I.getHeight();if(q&&l){u?j||If(k,q,l,u):(u=I.getDevicePixelRatio(),j||q===k.clientWidth&&l===k.clientHeight||(If(k,q,l,u),q&&Math.abs(f.drawingBufferWidth-q*u)>1&&(I.setDevicePixelRatio(u=f.drawingBufferWidth/q),If(k,q,l,u)))),f.clear(f.COLOR_BUFFER_BIT),I.drawFilter||(f._renderInfo={calls:0,vertices:0,faces:0,lines:0,frame:j?I._frameId:++I._frameId,textureCache:{time:0,count:0,pixels:0}});var $,O=this._cameras,h=0,L=O.length,V=!1,n=K.Default.cameraPriority.skybox,T=K.Default.cameraPriority.main,a=K.Default.cameraPriority.top,d=q*u,v=l*u,X=function(){I.overlappingBox.clear(),I._81O=J,f.clear(f.DEPTH_BUFFER_BIT),f._picking=!!j;var t={_picking:!!j,_envmapReflectivity:I._envmapReflectivity||.5,_projectMatrix:I._projectMatrix=hi(I),_viewMatrix:Ip(I,I._7O)};if(I._viewMatrix=Dc(I._7O),s){rf(f,I,U,t);var F=f.getParameter(f.COLOR_CLEAR_VALUE);f.clearColor(0,0,0,0),f.disable(f.BLEND),nd(f,U.aNormal),Tn(f,I._cube.vs,J,U.aPosition),$e(f,I._cube.is),ak(s,I,rg,0),ak(s,I,jk,6),ak(s,I,cd,12),ak(s,I,Pi,18),ak(s,I,Gh,24),ak(s,I,An,30),ej(f,U.aNormal),ko(f,F)}else if(b){for(b.value=2;L>h;h++)if($=O[h],!$.ignoreInPick){if($.priority>=T)break;$.useDefaultProgram&&rf(f,I,U,t),$.render(f,I,b)}rf(f,I,U,t);var F=f.getParameter(f.COLOR_CLEAR_VALUE);for(f.clearColor(0,0,0,0),f.disable(f.BLEND),I._95I(f,U,b),ze(I,b),Jq(I,I._polylineModelMap,b),Jq(I,I._wireframeModelMap,b),Zf(f,U.uTransparent,!0),I._95I(f,U,b,!0),ze(I,b,!0),Jq(I,I._polylineModelMap,b,!0),Jq(I,I._wireframeModelMap,b,!0),Zf(f,U.uTransparent,!1);L>h;h++)if($=O[h],!$.ignoreInPick){if($.priority>=a)break;$.useDefaultProgram&&rf(f,I,U,t),$.render(f,I,b),V=!0}for(V&&(rf(f,I,U,t),V=!1),f.clear(f.DEPTH_BUFFER_BIT),I._swapLineMap(),I._95I(f,U,b,!1,!0),Jq(I,I._polylineModelMap,b),Jq(I,I._wireframeModelMap,b),I._swapLineMap(),I._swapLineMap(),I._95I(f,U,b,!1,!0),Jq(I,I._polylineModelMap,b),Jq(I,I._wireframeModelMap,b),Zf(f,U.uTransparent,!0),I._95I(f,U,b,!0,!0),Jq(I,I._polylineModelMap,b,!0),Jq(I,I._wireframeModelMap,b,!0),Zf(f,U.uTransparent,!1),I._swapLineMap(),f.disable(f.DEPTH_TEST),I.drawFilter||I._30O._42(f,U,b),f.enable(f.DEPTH_TEST);L>h;h++)$=O[h],$.ignoreInPick||($.useDefaultProgram&&rf(f,I,U,t),$.render(f,I,b));ko(f,F)}else{for(;L>h&&($=O[h],!($.priority>=n));h++)$.useDefaultProgram&&rf(f,I,U,t),$.render(f,I);for(rf(f,I,U,t),f.disable(f.BLEND),I.drawSky(f,U),I.drawReflectors(f,d,v,X,j)&&(t._projectMatrix=I._projectMatrix=hi(I),t._viewMatrix=Ip(I,I._7O),I._viewMatrix=Dc(I._7O),rf(f,I,U,t));L>h&&($=O[h],!($.priority>=T));h++)$.useDefaultProgram&&rf(f,I,U,t),$.render(f,I),V=!0;for(V&&(rf(f,I,U,t),V=!1),I._31O._42(f,U),I._95I(f,U),ze(I),Jq(I,I._polylineModelMap),Jq(I,I._wireframeModelMap),f.enable(f.BLEND),f.depthMask(!1),Zf(f,U.uTransparent,!0),I._95I(f,U,J,!0),ze(I,J,!0),Jq(I,I._polylineModelMap,J,!0),Jq(I,I._wireframeModelMap,J,!0),f.depthMask(!0),Zf(f,U.uTransparent,!1);L>h&&($=O[h],!($.priority>=a));h++)$.useDefaultProgram&&rf(f,I,U,t),$.render(f,I),V=!0;for(V&&(rf(f,I,U,t),V=!1),f.clear(f.DEPTH_BUFFER_BIT),I._swapLineMap(),f.disable(f.BLEND),I._95I(f,U,J,!1,!0),Jq(I,I._polylineModelMap),Jq(I,I._wireframeModelMap),f.enable(f.BLEND),Zf(f,U.uTransparent,!0),f.depthMask(!1),I._95I(f,U,J,!0,!0),Jq(I,I._polylineModelMap,J,!0),Jq(I,I._wireframeModelMap,J,!0),f.depthMask(!0),Zf(f,U.uTransparent,!1),I._swapLineMap(),f.disable(f.DEPTH_TEST),f.disable(f.BLEND),I._32O._42(f,U),I._30O._42(f,U),I._highlightHelper._42(f,U),f.enable(f.DEPTH_TEST);L>h;h++)$=O[h],$.useDefaultProgram&&rf(f,I,U,t),$.render(f,I)}Tn(f,J),$e(f,J)},i=!1,t=I.vr;t.enable&&t._42(f,d,v,X)&&(i=!0);var F=I.envRenderer;F&&F.enable&&F._42(f,d,v,X)&&(i=!0);var x=I._postProcessing;x._42(f,d,v,X,j)&&(i=!0),i||(I.setViewport(f,0,0,q*u,l*u),X()),I._33Q=!1,I.drawFilter||I.countFrame(),I._doBufferGC(f)}}}},drawReflectors:function(r,y,q,G,g){var R,u,N,m=this,D=m._dataModel.getReflectors(),W=!1;for(R in D)u=D[R],m.isVisible(u)&&(N=m.getData3dUI(u),N&&N.drawReflector(r,y,q,G,g)&&(W=!0));return W},enablePostProcessing:function(u,Y){return this._postProcessing.enableModule(u,Y)},getPostProcessingModule:function(W){return this._postProcessing.getModule(W)},setViewport:function(V,C,f,m,L){this._viewport=[C,f,m,L],V.viewport(C,f,m,L)},getViewport:function(){return this._viewport},setBufferGCInterval:function(w){this._bufferGCInterval=w},_doBufferGC:function(c,v){var V,B,f=c._bufPool,H=0,t=0,y=c._renderInfo.frame,K=this._bufferGCInterval||10;for(V in f)H++,B=f[V],B&&(v||y-B._fid>K?(c.deleteBuffer(B._buf),B._buf=null,f[V]=null):t++);if(H/2>t&&H>128){var h={};for(V in f)f[V]&&(h[V]=f[V]);c._bufPool=h}c._validBufCount=t},_swapLineMap:function(){var V=this;sn=V._polylineModelMap,V._polylineModelMap=V._polylineModelMapSwap,V._polylineModelMapSwap=sn,sn=V._wireframeModelMap,V._wireframeModelMap=V._wireframeModelMapSwap,V._wireframeModelMapSwap=sn,sn=V._polylineIndexMap,V._polylineIndexMap=V._polylineIndexMapSwap,V._polylineIndexMapSwap=sn,sn=V._wireframeIndexMap,V._wireframeIndexMap=V._wireframeIndexMapSwap,V._wireframeIndexMapSwap=sn},_updateSkyBox:function(R){if(this._skyBox&&R){var o=R.property,x=!1,A=this._skyBox;if("eye"===o||"forceUpdate"===o){var G=this._eye;A.p3(G[0],G[1],G[2]),x=!0}if("near"===o||"far"===o||"forceUpdate"===o){var e=this._near,w=this._far,l=A.getFinalScale3d();if(l[0]/=2,l[1]/=2,l[2]/=2,l[0]<=e||l[0]>=w||l[1]<=e||l[1]>=w||l[2]<=e||l[2]>=w){var d=2*e*w/(e+w),u=Math.min(l[0],l[1],l[2]),q=d/u,Q=A.getScale3d();A.setScale3d(Q[0]*q,Q[1]*q,Q[2]*q),x=!0}}x&&this.invalidateData(A)}},getSkyBox:function(){return this._skyBox},setSkyBox:function(X){var s=this._skyBox;s&&(this._skyBoxStyleMap&&s.setStyleMap(this._skyBoxStyleMap),this._skyBoxStyleMap=null,this._skyBoxAnchor3d&&s.setAnchor3d(this._skyBoxAnchor3d),this._skyBoxAnchor3d=null,this._skyBoxP3&&s.p3(this._skyBoxP3),this._skyBoxP3=null),this._skyBox=X,this.ump(this._updateSkyBox,this),X&&(X.dm()&&X.dm().remove(X),this._skyBoxStyleMap=K.Default.clone(X.getStyleMap()),this._skyBoxAnchor3d=X.getAnchor3d(),X.setAnchor3d(.5,.5,.5),this._skyBoxP3=X.p3().slice(0),X.s({"shape3d.reverse.flip":!0,"shape3d.reverse.cull":!1,"all.reverse.flip":!0,"all.reverse.cull":!1,"front.reverse.flip":!0,"front.reverse.cull":!1,"back.reverse.flip":!0,"back.reverse.cull":!1,"left.reverse.flip":!0,"left.reverse.cull":!1,"right.reverse.flip":!0,"right.reverse.cull":!1,"top.reverse.flip":!0,"top.reverse.cull":!1,"bottom.reverse.flip":!0,"bottom.reverse.cull":!1}),this.mp(this._updateSkyBox,this),this._updateSkyBox({property:"forceUpdate"})),this.fp("skyBox",s,X)},drawSky:function(E,h,i){var z=this,H=z._skyBox;if(H){var W=z._headlightIntensity,Y=Qd(z._headlightColor),h=z._prg;1!==W&&(Y=[Y[0]*W,Y[1]*W,Y[2]*W]),Zf(E,h.uHeadlightColor,[Y[0],Y[1],Y[2],1]);var N=z.getData3dUI(H);if(N){var S,O=z.isOrtho(),s=O||this._computedProjectMatrix;s&&(S=z._projectMatrix,O&&(z._ortho=!1),Zf(E,h.uPMatrix,z._projectMatrix=hi(z,!0)));var j=H.p3(),b=this._eye;(j[0]!==b[0]||j[1]!==b[1]||j[2]!==b[2])&&(H._position.x=b[0],H._54O=b[1],H._position.y=b[2]),N._42(E,h,i,function(){return!0}),s&&(O&&(z._ortho=!0),Zf(E,h.uPMatrix,z._projectMatrix=S))}E.clear(E.DEPTH_BUFFER_BIT),Zf(E,h.uHeadlightColor,[Y[0],Y[1],Y[2],z._headlightDisabled?1:0])}},_95I:function(x,C,b,e,N){function L(R){if(!!R.s("shape3d.alwaysOnTop")==!!N&&a.isVisible(R)&&(!j||V)){if(!b&&a.isTransparentMask(R))return;var B=a.getData3dUI(R);B&&B._42(x,C,b,m)}}var a=this,m=function(w){return e?w:!w};a.sky&&x.clear(x.DEPTH_BUFFER_BIT);var p=a.drawFilter;p?a.dm().each(function(b){p(b)||L(b)}):a.dm().each(function(s){L(s)})},getLogicalPoint:function(z){return xn(z,this._canvas)},isRectOverlapping:function(e){var d=this.getData3dUI(e);return d._rectOverlapping},getHitFaceInfo:function(H){H.target&&(H=this.lp(H));var u=this.getDataInfoAt(H);if(u){var I=this._1o.face(u.data,ui(H.x,H.y));if(I)return{data:u.data,face:I}}return J},unproject:function(v,L){var U=this,R=U.getWidth(),u=U.getHeight(),o=v.target?U.lp(v):v,X=o.x-R/2,V=o.y-u/2,Q=2*(X/R),e=2*(-1*V/u);L=L||0;var t=pg(),f=hi(U),s=Ip(U);wf(t,f,s),Gf(t);var p=Fp([Q,e,L,1],t);return[p[0]/p[3],p[1]/p[3],p[2]/p[3]]},getDataAt:function(c){var v=this.getDataInfoAt(c);return v?v.data:J},getDataInfoAt:function(E,W){return E.target&&(E=this.lp(E)),this._1o.get(ui(E.x,E.y,W),!0)},getDatasInRect:function(M){return this._1o.get(M)},setEditable:function(w){var n=this,E=n._editable;n._editable=w,this.fp(Xe,E,w)},isEditable:function(l){var A=this;return A._editable?lm(l)?l.s("3d.editable")?A._editableFunc?A._editableFunc(l):!0:!1:!1:!1},isSelectable:function(J){return J.s("3d.selectable")&&this.sm().isSelectable(J)},isMovable:function(x){var h=this;return zm(x)&&x.getStyle(kb)!==Fq?!1:x.s("3d.movable")?h._movableFunc?h._movableFunc(x):!0:!1
|
||
},isSizeEditable:function(w){return lm(w)?this._sizeEditableFunc?this._sizeEditableFunc(w):!0:!1},isRotationEditable:function(R){return lm(R)&&R.IRotatable!==!1?this._rotationEditableFunc?this._rotationEditableFunc(R):!0:!1},handleDelete:function(){this._editable&&this.removeSelection()},zoomIn:function(f){this.setZoom(os,f)},zoomOut:function(S){this.setZoom(1/os,S)},setZoom:function(e,f){if(1!==e){var h=this;if(h._ortho)return h.setOrthoZoom(e,f),void 0;h._14o&&h._14o.stop(!0);var R=1/e,O=h._eye,F=h._center,Z=F[0]+(O[0]-F[0])*R-O[0],C=F[1]+(O[1]-F[1])*R-O[1],N=F[2]+(O[2]-F[2])*R-O[2];if(!(Kk(O,F)<h._moveStep&&1>R)){if(f=Nb(f)){var k=Ej(O);return f.action=function(p){h.fi({kind:h._zooming?"betweenZoom":"beginZoom"}),h._zooming=1,O[0]=k[0]+Z*p,O[1]=k[1]+C*p,O[2]=k[2]+N*p,h.fp(jj,J,O)},f._37o=function(){delete h._14o,delete h._zooming,h.fi({kind:"endZoom"}),h.onZoomEnded()},h._14o=Oh(f)}O[0]+=Z,O[1]+=C,O[2]+=N,h.fp(jj,J,O)}}},setOrthoZoom:function(T,r){if(1!==T){var k=this;k._14o&&k._14o.stop(!0);var P=k._orthoWidth,A=P/T-P;if(!(P<k._moveStep&&T>1))return(r=Nb(r))?(r.action=function(K){k.fi({kind:k._zooming?"betweenZoom":"beginZoom"}),k._zooming=1,k.setOrthoWidth(P+A*K)},r._37o=function(){delete k._14o,delete k._zooming,k.fi({kind:"endZoom"}),k.onZoomEnded()},k._14o=Oh(r)):(k.setOrthoWidth(P/T),void 0)}},getPositionInfo:function(J){var H=this,P=H._eye,Q=H._center,m=H.getAspect(),q=J?Pj(uj(Q,P,!0),uj(J,P)):Kk(P,Q);if(H._ortho){var C=H._orthoWidth;return{length:q,height:C/m,width:C}}var n=2*u(H._fovy/2)*q;return{length:q,height:n,width:n*m}},getCenterInfo:function(){var i=this;return i._81O||(i._81O=i.getPositionInfo()),Ej(i._81O)},rotate:function(d,E,t,W){var Q=this;if(d||E){W==J&&(W=Q._firstPersonMode),Q._88O&&Q._88O.stop(!0);var g=Q._center,I=Q._eye,w=Q.getCenterInfo().length,o=W?g:I,C=W?I:g,Y=uj(o,C),B=v(Y[0],Y[2]),$=v(s(Y[0]*Y[0]+Y[2]*Y[2]),Y[1]),i=W?ps:jj;return W&&(E=-E),(t=Nb(t))?(t.action=function(X){Q.fi({kind:Q._rotating?"betweenRotate":"beginRotate"}),Q._rotating=1;var n=B+d*X,I=$+E*X;I=yl(I),Y[0]=w*q(I)*q(n),Y[1]=w*L(I),Y[2]=w*q(I)*L(n),o[0]=C[0]+Y[0],o[1]=C[1]+Y[1],o[2]=C[2]+Y[2],Q.fp(i,J,o)},t._37o=function(){delete Q._88O,delete Q._rotating,Q.fi({kind:"endRotate"}),Q.onRotateEnded()},Q._88O=Oh(t)):(B+=d,$+=E,$=yl($),Y[0]=w*q($)*q(B),Y[1]=w*L($),Y[2]=w*q($)*L(B),o[0]=C[0]+Y[0],o[1]=C[1]+Y[1],o[2]=C[2]+Y[2],Q.fp(i,J,o),void 0)}},pan:function(w,U,Y,o){if(w||U){var G=this;o==J&&(o=G._firstPersonMode),G._89O&&G._89O.stop(!0);var N=Ip(G),R=[N[0]*w,N[4]*w,N[8]*w],k=[N[1]*U,N[5]*U,N[9]*U],T=R[0]+k[0],z=R[1]+k[1],f=R[2]+k[2],W=G._center,B=G._eye;if(o){var r=Qb(G.getBoundaries(),B[0],B[2],B[0]+T,B[2]+f,s(T*T+f*f));T=r[0],f=r[1]}if(Y=Nb(Y)){var i=Ej(B),E=Ej(W);return Y.action=function(V){G.fi({kind:G._panning?"betweenPan":"beginPan"}),G._panning=1,W[0]=E[0]+T*V,W[1]=E[1]+z*V,W[2]=E[2]+f*V,B[0]=i[0]+T*V,B[1]=i[1]+z*V,B[2]=i[2]+f*V,G.fp(jj,J,B),G.fp(ps,J,W)},Y._37o=function(){delete G._89O,delete G._panning,G.fi({kind:"endPan"}),G.onPanEnded()},G._89O=Oh(Y)}W[0]+=T,W[1]+=z,W[2]+=f,B[0]+=T,B[1]+=z,B[2]+=f,G.fp(jj,J,B),G.fp(ps,J,W)}},walk:function(C,T,I){if(C){var N=this;I==J&&(I=N._firstPersonMode),N._90O&&N._90O.stop(!0);var j=N._center,d=N._eye,F=uj(j,d,!0);if(I){var S=Qb(N.getBoundaries(),d[0],d[2],d[0]+F[0]*C,d[2]+F[2]*C,x(C));if(C=Kk(S),!C)return;F=[S[0]/C,0,S[1]/C]}if(T=Nb(T)){var O=Ej(d),L=Ej(j);return T.action=function(U){N.fi({kind:N._walking?"betweenWalk":"beginWalk"}),N._walking=1;var e=C*U;d[0]=O[0]+F[0]*e,d[1]=O[1]+F[1]*e,d[2]=O[2]+F[2]*e,j[0]=L[0]+F[0]*e,j[1]=L[1]+F[1]*e,j[2]=L[2]+F[2]*e,N.fp(jj,J,d),N.fp(ps,J,j)},T._37o=function(){delete N._90O,delete N._walking,N.fi({kind:"endWalk"}),N.onWalkEnded()},N._90O=Oh(T)}d[0]+=F[0]*C,d[1]+=F[1]*C,d[2]+=F[2]*C,j[0]+=F[0]*C,j[1]+=F[1]*C,j[2]+=F[2]*C,N.fp(jj,J,d),N.fp(ps,J,j)}},handleScroll:function(_,T){_.preventDefault();var e=this,o=e._moveStep,F=e.getDataInfoAt(_);if(F){var b=F.data;if(b&&e.isInteractive(b)){var K=e.intersectObject(_,b);if(K){var c=K.part,J=Kg(b.s(c+".image")||b.s("shape3d."+c+".image")||b.s("all.image")||b.s("shape3d.image"));if(J&&jc(J.scrollable,b,e))return}}}e.isFirstPersonMode()?e.isPannable()&&e.pan(0,T>0?o:-o):e.isZoomable()&&e.setZoom(0>T?1/Ob:Ob)},handlePinch:function(H,$){this.isZoomable()&&this.setZoom($>H?1/Qr:Qr)},reset:function(){this.setCenter(_.graph3dViewCenter),this.setEye(_.graph3dViewEye),this.setUp(_.graph3dViewUp)},moveSelection:function(v,E,_){var d=this;d.dm().beginTransaction(),yd(this.sm().toSelection(this.isMovable,this),v,E,_),d.dm().endTransaction()},getMoveMode:function(T,t){var p=t.s("3d.move.mode");if(p)return p;var b="88",K="89",h="90";return Bc(T)||qg[b]&&qg[K]&&qg[h]?"xyz":qg[b]&&qg[K]?"xy":qg[b]&&qg[h]?"xz":qg[K]&&qg[h]?"yz":qg[b]?"x":qg[K]?"y":qg[h]?"z":"xz"},handleTick:function(){var A=this,W=!1,o=A._moveStep,X=o,s=!1,I=!0,a=A._rotateStep*(I?-1:1);if(A.isWalkable()||(X=0),A.isPannable()||(o=0),A.isRotatable()||(a=0),A._32Q){var z=(eh()-A._32Q)/50;X*=z,o*=z,a*=z}A._31Q&&(Se(A._31Q),delete A._31Q,delete A._32Q),Nr()&&(W=!0,A.pan(-o,0,s,I)),Xi()&&(W=!0,A.pan(o,0,s,I)),sq()&&(W=!0,Bc()?A.pan(0,o,s,I):A.walk(X,s,I)),Rn()&&(W=!0,Bc()?A.pan(0,-o,s,I):A.walk(-X,s,I)),Ni()&&(W=!0,A.rotate(-a,0,s,I)),Yl()&&(W=!0,A.rotate(a,0,s,I)),Fr()&&(W=!0,A.rotate(0,-a/2,s,I)),Rh()&&(W=!0,A.rotate(0,a/2,s,I)),W&&(A._32Q=eh(),A._31Q=Lq(A.handleTick,A))},handleKeyDown:function(a){var R=this;!xr(a)&&Sr[a.keyCode]?R.handleTick():xg(a)?R.selectAll():xj(a)?R.handleDelete(a):Mp(a)&&this.isResettable()&&R.reset()},checkDoubleClickOnNote:function(z,t,j){var X=this;if(j===zs){if(t.s("note.toggleable"))return t.s(jb,!t.s(jb)),X.fi({kind:"toggleNote",event:z,data:t,part:j}),!0}else if(j===Mg&&t.s("note2.toggleable"))return t.s(bk,!t.s(bk)),X.fi({kind:"toggleNote2",event:z,data:t,part:j}),!0;return!1},checkDoubleClickOnRotation:function(Z,N,y){return y===_j?(N.setRotationX(0),!0):y===rs?(N.setRotationY(0),!0):y===fn?(N.setRotationZ(0),!0):!1},onRotateEnded:function(){},onWalkEnded:function(){},getViewRatio:function(V){var b=this;if(b.isOrtho())return b.getWidth()/b.getOrthoWidth();var F=b.getCenter(),a=b.getHeight(),j=b.getEye(),k=[F[0]-j[0],F[1]-j[1],F[2]-j[2]],K=[V[0]-j[0],V[1]-j[1],V[2]-j[2]],H=Math.sqrt(k[0]*k[0]+k[1]*k[1]+k[2]*k[2]),Y=1/Math.tan(b.getFovy()/2);return a*H*Y/(K[0]*k[0]+K[1]*k[1]+K[2]*k[2])},inViewSpace:function(e){var D,S=this,r=S._transformPointToViewSpace(e),A=S.getAspect(),T=S.getNear(),l=S.getFar();return-r[2]<T||-r[2]>l?!1:S.isOrtho()?(D=S.getOrthoWidth()/2,Math.abs(r[0])<=D&&Math.abs(r[1]*A)<=D):(D=Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2])*Math.tan(S.getFovy()/2),Math.abs(r[1]<=D)&&Math.abs(r[0])<=D*A)},getPVMatrix:function(){var u=this,N=u.getWidth()/2,Q=u.getHeight()/2,B=u._18Q;return B&&B._wh===N/Q||(B=hi(u),u._18Q=wf(B,B,Ip(u)),u._18Q._wh=N/Q),B},getFrustum:function(){var C=new nn,c=new Zj,U=new Array(16);return function(){for(var d=this.getPVMatrix(),R=!1,p=0;16>p;p++)d[p]!==U[p]&&(R=!0,U[p]=d[p]);return R&&c.setFromMatrix(C.fromArray(d)),c}}(),toViewPosition:function(Z){var d=this,a=d.getWidth()/2,G=d.getHeight()/2,O=d.getPVMatrix();return Z=Fp([Z[0],Z[1],Z[2],1],O),{x:a+a*Z[0]/Z[3],y:G-G*Z[1]/Z[3],z:Z[2]/Z[3]}},getHitPosition:function(D,x,C){var s=this,_=s.getWidth(),d=s.getHeight(),u=D.target?s.lp(D):D,i=u.x-_/2,B=u.y-d/2,m=s.getCenterInfo(),h=Ip(s);x=x?x:[0,0,0],C=C?C:[0,1,0],i=i/_*m.width,B=-1*B/d*m.height;var e=[h[0]*i,h[4]*i,h[8]*i],S=[h[1]*B,h[5]*B,h[9]*B],Z=[e[0]+S[0],e[1]+S[1],e[2]+S[2]],f=s.getCenter(),P=Yj(s,x,C,[Z[0]+f[0],Z[1]+f[1],Z[2]+f[2]]);return P?P:[0,0,0]},intersectObject:function(C,Q){return this._raycaster.intersectObject(C,Q)},intersectObjects:function(d,k,S){return this._raycaster.intersectObjects(d,k,S)},getLineLength:function(R){this.validate();var L=this.getData3dUI(R);if(L&&L.getCache){var x=L.getCache();if(x)return x[x.length-1].length}return 0},getLineOffset:function(I,h){var m=this.getData3dUI(I);if(m&&m.getCache){var Y=m.getCache();if(Y){var S=Xq(Y,h),T=I.r3();if(0===T[0]&&0===T[1]&&0===T[2])return S;var t=new Le(I.p3()),w=new Le(S.point).sub(t),g=new Le(S.tangent).add(w),q=(new fo).setFromEuler(new Ij(T,I.getRotationMode(),!0));return w.applyQuaternion(q),g.applyQuaternion(q),{point:w.add(t),tangent:g.sub(w).normalize()}}}return J},isLabelVisible:function(){return!0},isNoteVisible:function(){return!0},moveCamera:function(R,v,J){var A=this,f=A.getEye();f=[f[0],f[1],f[2]];var p=A.getCenter();if(p=[p[0],p[1],p[2]],R||(R=f),v||(v=p),A._flyAnim&&A._flyAnim.stop(!0),J=Nb(J),!J)return A.setEye(R[0],R[1],R[2]),A.setCenter(v[0],v[1],v[2]),delete A._flyAnim,!0;var I=[R[0]-f[0],R[1]-f[1],R[2]-f[2]],d=[v[0]-p[0],v[1]-p[1],v[2]-p[2]];return J.action=function(x){A.setCenter(p[0]+d[0]*x,p[1]+d[1]*x,p[2]+d[2]*x),A.setEye(f[0]+I[0]*x,f[1]+I[1]*x,f[2]+I[2]*x)},J._37o=function(){delete A._flyAnim},A._flyAnim=Oh(J)},flyTo:function(){function P(z,E,C){if(C instanceof K.Node){H.fromArray(br(C,E.getMat(C)));var X=C.getAnchor3d();z.push((new Le).set(0-X.x,0-X.y,0-X.z).applyMatrix4(H)),z.push((new Le).set(0-X.x,0-X.y,1-X.z).applyMatrix4(H)),z.push((new Le).set(0-X.x,1-X.y,0-X.z).applyMatrix4(H)),z.push((new Le).set(0-X.x,1-X.y,1-X.z).applyMatrix4(H)),z.push((new Le).set(1-X.x,0-X.y,0-X.z).applyMatrix4(H)),z.push((new Le).set(1-X.x,0-X.y,1-X.z).applyMatrix4(H)),z.push((new Le).set(1-X.x,1-X.y,0-X.z).applyMatrix4(H)),z.push((new Le).set(1-X.x,1-X.y,1-X.z).applyMatrix4(H))}}var d=new Le,f=new Le,X=new Le,x=new Le,H=new nn,k=new K.Math.Quaternion,g=new Ij;return function(e,U,M){var B=this;if(M!==a)U={animation:U,ratio:M};else{var Q=typeof U;("boolean"===Q||"object"===Q&&U.duration)&&(U={animation:U})}U=U||{},d.fromArray(B.getEye()),f.fromArray(B.getCenter());var Z,I,q=[],z=U.center,Y=U.distance===a;if(z&&X.fromArray(z),e instanceof K.Node)z||X.fromArray(e.p3()),Y&&(P(q,B,e),Z=q.length);else{if(e||(e=B.dm().getDatas()),!e.length)return;if((Y||!z)&&(q=[],e.forEach(function(I){P(q,B,I)}),Z=q.length,!Z))return;if(!z){for(X.set(0,0,0),I=0;Z>I;I++)X.add(q[I]);X.multiplyScalar(1/Z)}}if(B.setCenter(X.x,X.y,X.z),x.subVectors(d,f),U.direction||U.worldDirection){!U.worldDirection&&e instanceof K.Node?k.setFromEuler(g.set(e.r3(),e.getRotationMode(),!0)):k.set(0,0,0,1);var w=x.length();x.fromArray(U.worldDirection||U.direction).applyQuaternion(k).setLength(w)}var l=0;if(Y){var R,n,r,M=U.ratio||.8,j=U.xRatio||M,p=U.yRatio||M;if(B.isOrtho()){var J=-1/0;for(B._eye[0]=x.x+X.x,B._eye[1]=x.y+X.y,B._eye[2]=x.z+X.z,R=hi(B),wf(R,R,Ip(B)),I=0;Z>I;I++)r=q[I],n=Fp([r.x,r.y,r.z,1],R),J=Math.max(J,Math.max(Math.abs(n[0])/j,Math.abs(n[1])/p));l=B.getOrthoWidth()*J,x.add(X)}else{for(var H,s,L=B.getNear(),V=10;V--;){for(B._eye[0]=x.x+X.x,B._eye[1]=x.y+X.y,B._eye[2]=x.z+X.z,R=hi(B),wf(R,R,Ip(B)),H=!0,s=-1/0,I=0;Z>I;I++){if(r=q[I],n=Fp([r.x,r.y,r.z,1],R),n[3]<L&&V){x.multiplyScalar(2),H=!1;break}s=Math.max(s,Math.max(Math.abs(n[0])/j,Math.abs(n[1])/p)-n[3])}if(H)break}x.setLength(s+x.length()).add(X)}}else x.setLength(U.distance).add(X);B._flyAnim&&B._flyAnim.stop(!0);var o=Nb(U.animation);if(o){B.setEye(d.x,d.y,d.z),B.setCenter(f.x,f.y,f.z);var y=(new Le).subVectors(x,d),T=(new Le).subVectors(X,f);if(l)var F=B.getOrthoWidth();var c=new Le,m=new Le,G=o.action,A=o._37o;return o.action=function(S,k){c.copy(d).addScaledVector(y,S),m.copy(f).addScaledVector(T,S),B.setCenter(m.x,m.y,m.z),B.setEye(c.x,c.y,c.z),l&&B.setOrthoWidth((l-F)*S+F),G&&G(S,k)},o._37o=function(){delete B._flyAnim,A&&A()},{lastEye:d,lastCenter:f,eye:x,center:X,orthoWidth:l,animation:B._flyAnim=Oh(o)}}return B.setEye(x.x,x.y,x.z),l&&B.setOrthoWidth(l),delete B._flyAnim,{lastEye:d,lastCenter:f,eye:x,center:X,orthoWidth:l}}}(),getBoundingBox:function(){function u(G,z,f){L.fromArray(br(f,z.getMat(f)));var Z=f.getAnchor3d();G.push((new Le).set(0-Z.x,0-Z.y,0-Z.z).applyMatrix4(L)),G.push((new Le).set(0-Z.x,0-Z.y,1-Z.z).applyMatrix4(L)),G.push((new Le).set(0-Z.x,1-Z.y,0-Z.z).applyMatrix4(L)),G.push((new Le).set(0-Z.x,1-Z.y,1-Z.z).applyMatrix4(L)),G.push((new Le).set(1-Z.x,0-Z.y,0-Z.z).applyMatrix4(L)),G.push((new Le).set(1-Z.x,0-Z.y,1-Z.z).applyMatrix4(L)),G.push((new Le).set(1-Z.x,1-Z.y,0-Z.z).applyMatrix4(L)),G.push((new Le).set(1-Z.x,1-Z.y,1-Z.z).applyMatrix4(L))}var L=new nn;return function(U){if(U=U||this.sm().getSelection(),U instanceof K.Node&&(U=[U]),0===U.length)return J;var q=[];U.forEach(function(V){u(q,this,V)},this);var n=[1/0,1/0,1/0],p=[-1/0,-1/0,-1/0];return q.forEach(function(s){n[0]=Math.min(s.x,n[0]),n[1]=Math.min(s.y,n[1]),n[2]=Math.min(s.z,n[2]),p[0]=Math.max(s.x,p[0]),p[1]=Math.max(s.y,p[1]),p[2]=Math.max(s.z,p[2])}),{min:n,max:p}}}()}),js.RenderEnv=function(Z){this.gv=Z,this.enable=!1},F.defineProperties(js.RenderEnv.prototype,{debugOn:{get:function(){return this._debugOn},set:function(C){this._debugOn=C,this.capture&&this.capture()}}}),F.assign(js.RenderEnv.prototype,{renderEnvToCube:function(E,d,P,l){var g=this,Z=g.gv;if(!E||!d||!P)return g.enable=!1,g._42=null,void 0;g.enable=!0;var r=Math.floor(l/E*d),s=Z.getGL(),u=g._renderTargets;u?u.length<P&&(u=g._renderTargets=u.concat(new Array(P-u.length))):u=g._renderTargets=new Array(P);for(var q=0;P>q;q++)u[q]?u[q].setSize(s,l,r):u[q]=new js.RenderTarget(Z,s,l,r);var a=!1;g.capture=function(){a=!0,Z._42(),a=!1};var G=new Le,J=new Le,h=new Le,S=new Le,j=(new Le).setY(0),B=2*Math.PI/P,O=E/2/Math.tan(Math.PI/P),z=2*Math.atan2(d/2,O),y=E/d;g._42=function(i,X,p,w){var C=g._debugOn;if(!a&&!C)return!1;G.copy(Z.getEye()),S.copy(Z.getCenter()).sub(G);var l=Math.atan2(S.z,S.x),W=Z.getNear(),k=Z.getFovy(),M=Z.getAspect();J.copy(Z.getCenter());for(var N,v=0;P>v;v++)if(N=u[v],j.setZ(Math.cos(l)).setX(Math.sin(l)).multiplyScalar(O),l-=B,h.addVectors(G,j),Z.setNear(O),Z.setCenter([h.x,h.y,h.z]),Z.setFovy(z),Z.setAspect(y),C){var n=Math.round(X/P);i.viewport(n*v,0,n,p),w()}else gh(i,N.frame),i.viewport(0,0,N.width,N.height),i.clear(i.COLOR_BUFFER_BIT),w(),bh(i),N.assureTexture();return Z.setNear(W),Z.setCenter([J.x,J.y,J.z]),Z.setFovy(k),Z.setAspect(M),!0},g.capture()},getTextureInfo:function(O){var d=this._renderTargets;if(!d)return null;var E=this._renderTargets[O];return E?{index:O,texture:E.texture,textureName:E.uuid}:null}}),F.assign(js.Graph3dView.prototype,{renderEnvToCube:function(K,I,s,G){var n=this;n.envRenderer||(n.envRenderer=new js.RenderEnv(n)),n.envRenderer.renderEnvToCube(K,I,s,G)}}),js.RenderTarget=function(z,y,e,b,u){var j=this;u=u||{},u.samples=Math.min(z._glCapabilities.maxSamples,u.samples&&u.samples>1&&2===z._webGLVersion?u.samples:0),j.options=u,j.uuid=K.Math.generateUUID(),j.gv=z,j.init(z,y,u),u.samples&&!z._glCapabilities._maxSamplesChecked?j.setSize(y,e||1,b||1):j.setSize(y,e,b)},F.assign(js.RenderTarget.prototype,{bind:function(I){gh(I,this.options.samples?this._MSAAFbo:this.frame)},unbind:function(E){bh(E),this.options.samples&&(E.bindFramebuffer(E.READ_FRAMEBUFFER,this._MSAAFbo),E.bindFramebuffer(E.DRAW_FRAMEBUFFER,this.frame),E.blitFramebuffer(0,0,this.width,this.height,0,0,this.width,this.height,E.COLOR_BUFFER_BIT,E.NEAREST),E.bindFramebuffer(E.READ_FRAMEBUFFER,null),E.bindFramebuffer(E.DRAW_FRAMEBUFFER,null))},init:function(l,T,F){var x=this,g=x.texture=T.createTexture();T.activeTexture(T.TEXTURE0),T.bindTexture(T.TEXTURE_2D,g),T.texParameteri(T.TEXTURE_2D,T.TEXTURE_WRAP_S,T.CLAMP_TO_EDGE),T.texParameteri(T.TEXTURE_2D,T.TEXTURE_WRAP_T,T.CLAMP_TO_EDGE);var r=F.samples,i=r?T.NEAREST:T.LINEAR;T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,F.minFilter||i),T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,F.magFilter||i),T.bindTexture(T.TEXTURE_2D,null),x.render=T.createRenderbuffer(),x.frame=T.createFramebuffer(),l._2O[x.uuid]=g},assureTexture:function(){var _=this,p=_.uuid,h=_.gv._2O;h[p]||(h[p]=_.texture)},setSize:function(m,j,g){var Z=this;if(j&&g&&(Z.width!==j||Z.height!==g)){var r=m.RGBA,L=m.TEXTURE_2D,M=m.RENDERBUFFER,w=m.FRAMEBUFFER,a=Z.options.samples;if(gd(m,Z.texture),m.texImage2D(L,0,r,j,g,0,r,m.UNSIGNED_BYTE,J),m.bindRenderbuffer(M,Z.render),a){var B=Z.gv._glCapabilities;if(B._maxSamplesChecked)m.renderbufferStorageMultisample(M,a,m.DEPTH_COMPONENT16,j,g);else{for(m.getError();a>1&&(m.renderbufferStorageMultisample(M,a,m.DEPTH_COMPONENT16,j,g),m.getError());)a=Math.floor(a>>1);1>=a&&(a=0,m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,Z.options.minFilter||m.LINEAR),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,Z.options.magFilter||m.LINEAR),m.renderbufferStorage(M,m.DEPTH_COMPONENT16,j,g)),B._maxSamplesChecked=!0,B.maxSamples=Z.options.samples=a}}else m.renderbufferStorage(M,m.DEPTH_COMPONENT16,j,g);a&&!Z._MSAAFbo&&(Z._MSAAFbo=m.createFramebuffer(),Z._MSAARbO=m.createRenderbuffer()),gh(m,Z.frame),m.framebufferTexture2D(w,m.COLOR_ATTACHMENT0,L,Z.texture,0),a||m.framebufferRenderbuffer(w,m.DEPTH_ATTACHMENT,M,Z.render),bh(m),a&&(m.bindRenderbuffer(m.RENDERBUFFER,Z._MSAARbO),m.renderbufferStorageMultisample(m.RENDERBUFFER,a,m.RGBA8,j,g),gh(m,Z._MSAAFbo),m.framebufferRenderbuffer(m.FRAMEBUFFER,m.COLOR_ATTACHMENT0,m.RENDERBUFFER,Z._MSAARbO),m.framebufferRenderbuffer(w,m.DEPTH_ATTACHMENT,M,Z.render),bh(m)),gd(m,J),m.bindRenderbuffer(M,J),Z.width=j,Z.height=g}},toCanvas:function(){var M=this,B=M.gv.getGL();gh(B,M.frame);var g=M.width,e=M.height,q=new Uint8Array(4*g*e);B.readPixels(0,0,g,e,B.RGBA,B.UNSIGNED_BYTE,q),bh(B);var Y=E.createElement("canvas");Y.width=g,Y.height=e;var w=Y.getContext("2d"),L=w.createImageData(g,e);return L.data.set(q),w.putImageData(L,0,0),Y}});var Md=js.Interactor=function(j){this.gv=j};pr("Interactor",F,{ms_listener:1,getView:function(){return this.gv.getView()},setUp:function(){this.addListeners()},tearDown:function(){this.removeListeners()}});var Mh=js.DefaultInteractor=function(c){mb(Mh,this,[c])};pr("DefaultInteractor",Md,{handle_contextmenu:function(P){nm(P)},handle_mousewheel:function(J){this.gv.handleScroll(J,J.wheelDelta/40)},handle_DOMMouseScroll:function(S){2===S.axis&&this.gv.handleScroll(S,-S.detail)},handle_keydown:function($){this.gv.handleKeyDown($)},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function(A){nm(A);var j=this,M=j.gv,y=ve(A),L=M.getDataInfoAt(A),m=L?L.data:J,s=L?L.part:J,p=M.sm(),T=dl(A),i=xh(A);M.setFocus(A)&&(j._62O=J,j._57I=J,m?xr(A)?p.co(m)?p.rs(m):p.as(m):p.co(m)||p.ss(m):y&&(xr(A)?M.isRectSelectable()&&(j._62O=sr):j._57I=Rb(A)),j._31Q&&(Se(j._31Q),delete j._31Q,delete j._32Q),j._62O||(M.isFirstPersonMode()&&(Bc(A)||Sn(A)||i>2?j._62O="pan":M.isMouseRoamable()||Gm?(j._62O="roaming",j.foward=T&&ve(A),j._32Q=eh(),j._31Q=Lq(j.tick,j)):y||(j._62O="roaming")),j._62O||(y&&T&&jp[s]?(j._62O=s,j.p3=m.p3()):y&&T&&lm(m)&&M.isSelected(m)?M.isMovable(m)?(j._62O="move",j.p3=m.p3(),j.movedata=m):M._39Q(m)&&(j._62O="none"):Gm&&(i>2?j._62O="pan":2===i&&(j.dist=Ie(A),j._62O="pinch")))),j.point=M.lp(A),ff(j,A),Gj(A)?M.handleDoubleClick(A,m,s):M.handleClick(A,m,s))},tick:function(){var I=this,w=I.gv,f=w._moveStep;I.point&&w.isWalkable()&&(I._32Q&&(f*=(eh()-I._32Q)/50),w.walk(I.foward?f:-f),I._32Q=eh(),I._31Q=Lq(I.tick,I))},handle_mouseup:function(x){this.handle_touchend(x)},handle_touchend:function(z){var G=this._57I;G&&(Kk(G,Rb(z))<=1&&this.gv.sm().cs(),this._57I=J)},handleWindowMouseMove:function(V){this.handleWindowTouchMove(V)},handleWindowTouchMove:function(X){var L,R,m=this,h=m.gv,p=m._62O,c=m.point,i=h.dm(),r=h.lp(X),Y=r.x-c.x,o=r.y-c.y,P=h.getWidth(),U=h.getHeight();if(P&&U){var G=-M*Y/P,a=-M*o/U;if("roaming"===p)m.rotate(X,G/2,a/2);else if(p===_j||p===rs||p===fn)h._86O||i.beginTransaction(),h.fi({kind:h._86O?"betweenEditRotation":"beginEditRotation",event:X}),h._86O=1,h.sm().each(function(f){if(lm(f)&&h.isRotationEditable(f)){var B=x(G)>x(a)?G:a;p===_j?f.setRotationX(f.getRotationX()+B):p===rs?f.setRotationY(f.getRotationY()+B):p===fn&&f.setRotationZ(f.getRotationZ()+B)}});else if("move"===p||jp[p]){p===Ad||p===Id||p===Cr?(h._87O||i.beginTransaction(),h.fi({kind:h._87O?"betweenEditScale":"beginEditScale",event:X}),h._87O=1):(h._moving||i.beginTransaction(),h.fi({kind:h._moving?"betweenMove":"beginMove",event:X}),h._moving=1);var v,I=m.p3,N=h.getPositionInfo(I),j=Ip(h);v=p===po?"x":p===qi?"y":p===Rk?"z":p===Ad?"sx":p===Id?"sy":p===Cr?"sz":h.getMoveMode(X,m.movedata),Y=Y/P*N.width,o=-1*o/U*N.height;var e,A,y=[j[0]*Y,j[4]*Y,j[8]*Y],Q=[j[1]*o,j[5]*o,j[9]*o],l=y[0]+Q[0],B=y[1]+Q[1],H=y[2]+Q[2],z=[I[0]+l,I[1]+B,I[2]+H],E=uj(h.getEye(),z,!0);if("xyz"===v?(e=z,h.moveSelection(l,B,H)):"xz"===v?(e=Yj(h,I,[0,1,0],z),e&&h.moveSelection(e[0]-I[0],0,e[2]-I[2])):"xy"===v?(e=Yj(h,I,[0,0,1],z),e&&h.moveSelection(e[0]-I[0],e[1]-I[1],0)):"yz"===v?(e=Yj(h,I,[1,0,0],z),e&&h.moveSelection(0,e[1]-I[1],e[2]-I[2])):"x"===v||"sx"===v?(E[0]=0,e=Yj(h,I,E,z),e&&(A=e[0]-I[0],"x"===v?h.moveSelection(A,0,0):h.sm().each(function(f){lm(f)&&h.isSizeEditable(f)&&(L=f.getScaleX()+A/100,R=L/f.getScaleX(),f.setScaleX(L),Bc(X)&&(f.setScaleY(f.getScaleY()*R),f.setScaleTall(f.getScaleTall()*R)))}))):"y"===v||"sy"===v?(E[1]=0,e=Yj(h,I,E,z),e&&(A=e[1]-I[1],"y"===v?h.moveSelection(0,A,0):h.sm().each(function(G){lm(G)&&h.isSizeEditable(G)&&(L=G.getScaleTall()+A/100,R=L/G.getScaleTall(),G.setScaleTall(L),Bc(X)&&(G.setScaleY(G.getScaleY()*R),G.setScaleX(G.getScaleX()*R)))}))):("z"===v||"sz"===v)&&(E[2]=0,e=Yj(h,I,E,z),e&&(A=e[2]-I[2],"z"===v?h.moveSelection(0,0,A):h.sm().each(function(U){lm(U)&&h.isSizeEditable(U)&&(L=U.getScaleY()+A/100,R=L/U.getScaleY(),U.setScaleY(L),Bc(X)&&(U.setScaleX(U.getScaleX()*R),U.setScaleTall(U.getScaleTall()*R)))}))),!e)return;m.p3=e}else if(p===sr){var u=m.div;u||(u=m.div=nl(),cl(m.getView(),u),u.op=c,u.style.background=h.getRectSelectBackground()),h.fi({kind:h._rectSelecting?"betweenRectSelect":"beginRectSelect",event:X}),h._rectSelecting=1,u.rect=Ih(u.op,r),Rj(u,u.rect)}else if("pinch"===p&&2===xh(X)){h.fi({kind:h._pinching?"betweenPinch":"beginPinch",event:X}),h._pinching=1;var A=Ie(X);h.handlePinch(A,m.dist),m.dist=A}else"pan"===p||Bc(X)||Sn(X)?m.pan(X,Y,o):"none"===p||h.isFirstPersonMode()||m.rotate(X,G,a);m.point=r}},pan:function(w,k,p){var d=this.gv;if(d.isPannable()){var e=d.getWidth(),n=d.getHeight();if(!e||!n)return;var Y=d.getCenterInfo(),P=k/e*Y.width,E=-1*p/n*Y.height;d.fi({kind:d._panning?"betweenPan":"beginPan",event:w}),d._panning=1,d.pan(-P,-E)}},rotate:function(q,P,B){var J=this.gv;J.isRotatable()&&(J.fi({kind:J._rotating?"betweenRotate":"beginRotate",event:q}),J._rotating=1,J.rotate(P,B))},handleWindowMouseUp:function(P){this.handleWindowTouchEnd(P)},handleWindowTouchEnd:function(x){var w=this,o=w.gv,b=o.dm(),U=w.div;if(U){var D=o.getDatasInRect(U.rect);if(!D.isEmpty()){var e=o.sm(),c=e.toSelection();D.each(function(h){e.co(h)?c.remove(h):c.add(h)}),e.ss(c)}Pk(U)}o._moving&&(delete o._moving,o.fi({kind:"endMove",event:x}),o.onMoveEnded(),b.endTransaction()),o._panning&&(delete o._panning,o.fi({kind:"endPan",event:x}),o.onPanEnded()),o._rotating&&(delete o._rotating,o.fi({kind:"endRotate",event:x}),o.onRotateEnded()),o._86O&&(delete o._86O,o.fi({kind:"endEditRotation",event:x}),b.endTransaction()),o._87O&&(delete o._87O,o.fi({kind:"endEditScale",event:x}),b.endTransaction()),o._pinching&&(delete o._pinching,o.fi({kind:"endPinch",event:x}),o.onPinchEnded()),o._rectSelecting&&(delete o._rectSelecting,o.fi({kind:"endRectSelect",event:x}),o.onRectSelectEnded()),o._walking&&(delete o._walking,o.fi({kind:"endWalk",event:x}),o.onWalkEnded()),w.dist=w.point=w._62O=w.p3=w.movedata=w.div=w._57I=w._32Q=w._31Q=w.foward=J}});var mf=js.MapInteractor=function($){mb(mf,this,[$]),this._minPhi=0,this._maxPhi=5*X/12,this._keepHorizon=!0,this._threshold=2,this._touchScaleThreshold=.05,this._touchRotateThreshold=.03,this._touchScaleCheckAccuracy=.01,this._panButton="right"};pr("MapInteractor",Md,{handle_contextmenu:function(y){nm(y)},handle_mousewheel:function(y){this.gv.handleScroll(y,y.wheelDelta/40)},handle_DOMMouseScroll:function(A){2===A.axis&&this.gv.handleScroll(A,-A.detail)},handle_keydown:function(V){this.gv.handleKeyDown(V)},handle_mousedown:function(t){this.handle_touchstart(t)},handle_touchstart:function($){nm($);var N=this,H=N.gv;if(H.setFocus($)){H.lp($);var Q=H.getDataInfoAt($),K=Q?Q.data:J,C=Q?Q.part:J;if(!K||!H._39Q(K)){var u=N.editing={point:H.lp($)};Gm?u.touch=!0:(u.touch=!1,u.clickLeft=ve($),u.pan=Sn($)?!0:"left"===this.panButton===u.clickLeft),ff(N,$)}Gj($)?H.handleDoubleClick($,K,C):H.handleClick($,K,C)}},handle_mouseup:function(X){this.handle_touchend(X)},handle_touchend:function(){},handleWindowMouseMove:function(U){this.handleWindowTouchMove(U)},handleWindowTouchMove:function(u){var q=this,o=q.gv,x=q.editing;if(x){var D=o.lp(u),e=x.point,V=D.x-e.x,F=D.y-e.y;if(!x.moved){if(Math.abs(V)<q.threshold&&Math.abs(F)<q.threshold&&!(u.touches&&u.touches.length>1))return;x.moved=!0}if(x.point=D,x.touch){var a=u.touches.length;if(2!==a)q.pan(u,V,F);else{if(1>=a)return;var E=u.touches,d={x:E[0].clientX,y:E[0].clientY},O={x:E[1].clientX,y:E[1].clientY},U={x:O.x-d.x,y:O.y-d.y},i=x.lastCenter,w=Math.atan2(U.y,U.x),H=x.theta,t=0;H==J?H=x.theta=w:(t=w-H,x.thetaStarted||Math.abs(t)>q.touchRotateThreshold?(x.thetaStarted=!0,x.theta=w):t=0);var _=X*(d.y+O.y)/2/o.getHeight(),G=x.phi,B=0;G==J?G=x.phi=_:(B=_-G,x.phiStarted||Math.abs(B)>q.touchRotateThreshold?(x.phiStarted=!0,x.phi=_):B=0);var c,L=Math.sqrt(U.x*U.x+U.y*U.y),S=x.vlen;if(S){var Q=d.x-i.x,f=d.y-i.y,I=O.x-i.x,W=O.y-i.y,r=Math.sqrt(Q*Q+f*f),j=Math.sqrt(I*I+W*W),R=S/2,C=q._sign2(r-R),K=q._sign2(j-R);0>C*K||0===C&&0===K?(c=1,x.vlen=L):(c||(c=L/S),x.scaleStarted||Math.abs(c-1)>q.touchScaleThreshold?(x.vlen=L,x.scaleStarted=!0):c=1)}else S=x.vlen=L,c=1;1!==c&&o.setZoom(c),(B||t)&&q.rotate(u,t,-B),x.lastCenter={x:(O.x+d.x)/2,y:(O.y+d.y)/2}}}else if(x.pan)q.pan(u,V,F);else{var m=o.getWidth(),T=o.getHeight();if(!m||!T)return;var P=-M*V/m,p=-M*F/T;q.rotate(u,P,p)}}},_sign2:function(g){return Math.abs(g)<this._touchScaleCheckAccuracy?0:g>0?1:-1},handleWindowMouseUp:function(Z){this.handleWindowTouchEnd(Z)},handleWindowTouchEnd:function(D){var t=this,w=t.editing;if(t.editing=null,w){var S=t.gv;if(!w.moved&&w.clickLeft){var z=S.getDataAt(D);z?S.sm().setSelection([z]):S.sm().clearSelection()}else S._panning=null,S._rotating=null,S.fi({kind:w.pan?"endPan":"endRotate",event:D})}},pan:function(n,T,G){var z=this,Z=z.gv;if(Z.isPannable()){var q=Z.getWidth(),Q=Z.getHeight();if(q&&Q){var K=Z.getCenterInfo(),o=-T/q*K.width,p=1*G/Q*K.height;Z.fi({kind:Z._panning?"betweenPan":"beginPan",event:n}),Z._panning=1;var s=z.keepHorizon,W=z.editing.touch;if((W&&n.touches&&n.touches.length>1||!W&&Bc(n))&&(s=!s),!s)return Z.pan(o,p);if(o||p){var k=Ip(Z),r=[k[0]*o,k[4]*o,k[8]*o],f=[k[1],0,k[9]],I=Math.sqrt(f[0]*f[0]+f[2]*f[2]);I&&(f=[f[0]/I*p,0,f[2]/I*p]);var Y=r[0]+f[0],c=r[1]+f[1],D=r[2]+f[2],g=Z._center,b=Z._eye;g[0]+=Y,g[1]+=c,g[2]+=D,b[0]+=Y,b[1]+=c,b[2]+=D,Z.fp(jj,J,b),Z.fp(ps,J,g)}}}},rotate:function(Y,I,g){var M=this,O=M.gv;if(O.isRotatable()){var y=O._center,Z=O._eye,h=uj(Z,y),U=v(s(h[0]*h[0]+h[2]*h[2]),h[1]),N=U+g;N=Math.max(M.minPhi,Math.min(M.maxPhi,N)),g=N-U,O.fi({kind:O._rotating?"betweenRotate":"beginRotate",event:Y}),O._rotating=1,O.rotate(I,g)}}}),F.defineProperties(mf.prototype,{panButton:{get:function(){return this._panButton},set:function(K){this._panButton=K}},minPhi:{get:function(){return this._minPhi},set:function(G){this._minPhi=G}},maxPhi:{get:function(){return this._maxPhi},set:function(G){this._maxPhi=G}},keepHorizon:{get:function(){return this._keepHorizon},set:function(y){this._keepHorizon=y}},threshold:{get:function(){return this._threshold},set:function(E){this._threshold=E}},touchScaleThreshold:{get:function(){return this._touchScaleThreshold},set:function(I){this._touchScaleThreshold=I}},touchRotateThreshold:{get:function(){return this._touchRotateThreshold},set:function(d){this._touchRotateThreshold=d}}});var Cn=function(V){this.gv=V};Be(Cn,F,{_iv:!0,iv:function(){this._iv=!0},face:function(F,Q){var v=this,U=v.gv.getGL();if(!U||!lm(F))return J;var d=Q.x,q=Q.width,Z=Q.height,P=v.height-Q.y-Z,L=Y(q/2),S=new Uint8Array(4*q*Z),t=0;for(v.iv(),v.validate(F),gh(U,v.frame),U.readPixels(d,P,q,Z,U.RGBA,U.UNSIGNED_BYTE,S),bh(U),v.iv();L>=t;t++)for(var z=L-t,k=L+t,y=z;k>=y;y++)for(var e=z;k>=e;e++)if(y===z||y===k||e===z||e===k){var O=lq.m[S[4*(y*q+e)]];if(O)return O}},get:function(q,b){this.validate();var g=this,D=g.gv.getGL();if(!D)return J;var e,z,X=q.x,y=q.width,c=q.height,C=g.height-q.y-c,n=Y(y/2),S=new Uint8Array(4*y*c),p=0,m=S.length,k=b?J:new Sl,h=b?J:{};if(gh(D,g.frame),D.readPixels(X,C,y,c,D.RGBA,D.UNSIGNED_BYTE,S),bh(D),b){for(;n>=p;p++)for(var L=n-p,A=n+p,V=L;A>=V;V++)for(var I=L;A>=I;I++)if((V===L||V===A||I===L||I===A)&&(e=g.info(S,4*(V*y+I))))return e}else for(;m>p;p+=4)e=g.info(S,p),e&&(z=e.data,h[z._id]||(k.add(z),h[z._id]=z));return k},info:function(c,f){return this.colorMap[(c[f]<<16)+(c[f+1]<<8)+c[f+2]+((127&c[f+3])<<24)]},validate:function(j){var G=this,w=G.gv,W=w.getGL();if(W){var z=w.getWidth(),i=w.getHeight(),p=W.RGBA,o=W.TEXTURE_2D,b=W.RENDERBUFFER,f=W.FRAMEBUFFER;G.texture||(G.texture=$n(W),G.render=W.createRenderbuffer(),G.frame=W.createFramebuffer()),(G.width!==z||G.height!==i)&&(gd(W,G.texture),W.texImage2D(o,0,p,z,i,0,p,W.UNSIGNED_BYTE,J),Vj(W,W.TEXTURE_MIN_FILTER,W.LINEAR),W.bindRenderbuffer(b,G.render),W.renderbufferStorage(b,W.DEPTH_COMPONENT16,z,i),gh(W,G.frame),W.framebufferTexture2D(f,W.COLOR_ATTACHMENT0,o,G.texture,0),W.framebufferRenderbuffer(f,W.DEPTH_ATTACHMENT,b,G.render),gd(W,J),W.bindRenderbuffer(b,J),bh(W),G.width=z,G.height=i),G._iv&&(G._iv=!1,gh(W,G.frame),w._42(j||(G.colorMap={}),1),bh(W))}}});var vb=function(r){this.gv=r};Be(vb,F,{gap:0,size:0,_42:function(K,c){var k=this,N=k.gv,V=N._gridGap,f=N._gridSize;if(N._gridVisible){if(k.gap!==V||k.size!==f){for(var i=[],e=N._gridSize/2,C=V*e,R=0;2*e+1>R;R++){var E=6*R,F=6*(2*e+1)+E;i[E]=-C,i[E+1]=0,i[E+2]=-C+R*V,i[E+3]=C,i[E+4]=0,i[E+5]=-C+R*V,i[F]=-C+R*V,i[F+1]=0,i[F+2]=-C,i[F+3]=-C+R*V,i[F+4]=0,i[F+5]=C}k.vs=new Ml(i),k.gap=V,k.size=f}Zm(N),Jm(K,c),ug(K),We(K,c,1,N._gridColor,N._buffer.vs,k.vs),Xh(K,0,k.vs.length/3,K.LINES),Ac(K),Xg(K,c)}else k.vs=k.gap=k.size=J}});var be=function(M){this.gv=M};Be(be,F,{_42:function(H,r){var F=this.gv,D=F._buffer.vs,Y=F._axisXColor,W=F._axisYColor,z=F._axisZColor,y=F._originAxisVisible,S=F._centerAxisVisible;if(y||S){var N=Ng?H.TRIANGLES:H.TRIANGLE_FAN,P=H.LINES;if(Zm(F),Jm(H,r),ug(H),y){var t=F.getCenterInfo(),k=g(t.width,t.height)/5,B=.8*k,Q=.05*k;We(H,r,1.5,Y,D,new Ml([0,0,0,k,0,0,B,Q,0,B,0,Q,B,-Q,0,B,0,-Q,B,Q,0,0,0,0,0,k,0,Q,B,0,0,B,Q,-Q,B,0,0,B,-Q,Q,B,0,0,0,0,0,0,k,Q,0,B,0,Q,B,-Q,0,B,0,-Q,B,Q,0,B])),Xh(H,0,2,P),Xh(H,1,6,N),We(H,r,J,W),Xh(H,7,2,P),Xh(H,8,6,N),We(H,r,J,z),Xh(H,14,2,P),Xh(H,15,6,N)}if(S){var U=F._center,u=U[0],R=U[1],x=U[2],t=F.getPositionInfo(U);k=g(t.width,t.height)/20,We(H,r,1.5,Y,D,new Ml([u,R,x,u+k,R,x,u,R,x,u,R+k,x,u,R,x,u,R,x+k])),Xh(H,0,2,P),We(H,r,J,W),Xh(H,2,2,P),We(H,r,J,z),Xh(H,4,2,P)}Ac(H),Xg(H,r)}}});var xf=function(O){this.gv=O,this.onMouseOver=this.onMouseOver.bind(this),this.mode=xf.Mode.Disable};xf.Mode={Disable:0,Selection:1,MouseOver:2},Be(xf,F,{onMouseOver:function(u){_.preventDefault(u);var f=this.gv.getDataAt(u);f!==this.mouseOverData&&(this.mouseOverData=f,this.gv.iv())},setFetchTargetFunc:function(G){this.fetchTargetFunc=G},_42:function(P,F){var b,m=this,x=m._mode;if(x!==xf.Mode.Disable&&(x===xf.Mode.Selection?b=m.gv.sm().getSelection().toArray(function(f){return f.s("highlight.visible")}):x===xf.Mode.MouseOver&&m.mouseOverData&&m.mouseOverData.s("highlight.visible")&&(b=[m.mouseOverData]),m.fetchTargetFunc&&(b=m.fetchTargetFunc(b)),b&&b.length)){var t=m.gv,g=t.vr.isPresenting(),Z=t.getWidth();if(g){var c=t.getWidth;Z/=2,t.getWidth=function(){return Z};var l=t.getViewport()}var j,O=t.getDevicePixelRatio(),L=Z*O,h=t.getHeight()*O;(j=m._renderTarget)?j.setSize(P,L,h):m._renderTarget=j=new js.RenderTarget(t,P,L,h),gh(P,j.frame),t.drawFilter=function(Z){return b.indexOf(Z)<0?!0:void 0},t._42({}),t.drawFilter=null,bh(P),g&&(t.getWidth=c,t.setViewport(P,l[0],l[1],l[2],l[3]));var o=P._compiledShader.highlight;if(o||(o=P._compiledShader.highlight=new xd.Shader(P,_m.vs,_m.fs)),o.bind(),P.enable(P.BLEND),P.activeTexture(P.TEXTURE0+0),P.bindTexture(P.TEXTURE_2D,j.texture),o.uniforms.image=0,o.uniforms.textureSize=[L,h],o.uniforms.edgeWidth=e["highlight.width"],m.highlightColor!==e["highlight.color"]){var X=Oo(m.highlightColor=e["highlight.color"]);
|
||
m.highlightColorData=[X[0]/255,X[1]/255,X[2]/255,X[3]/255]}o.uniforms.edgeColor=m.highlightColorData,m.ibuffer?(m.ibuffer.upload(),m.vbuffer.upload()):(m.ibuffer=xd.Buffer.createIndexBuffer(P,new Uint16Array([0,2,1,1,2,3])),m.vbuffer=xd.Buffer.createVertexBuffer(P,new Float32Array([0,0,1,0,0,1,1,1]))),o.attributes.pos.pointer(m.vbuffer),P.drawElements(P.TRIANGLES,6,P.UNSIGNED_SHORT,0),P.disable(P.BLEND),P.bindTexture(P.TEXTURE_2D,null),P.useProgram(F)}}}),F.defineProperties(xf.prototype,{mode:{get:function(){return this._mode},set:function(S){var X=this._mode;S!==X&&(this._mode=S,S===xf.Mode.MouseOver?W(this.gv.getView(),"mousemove",this.onMouseOver):X===xf.Mode.MouseOver&&P(this.gv.getView(),"mousemove",this.onMouseOver))}}});var _m={vs:["attribute vec2 pos;","varying vec2 vUv;","void main(void) {","gl_Position = vec4(pos.x * 2.0 - 1.0, -pos.y * 2.0 + 1.0, 0.0, 1.0);","vUv = vec2(pos.x, 1.0 - pos.y);","}"].join("\n"),fs:["precision highp float;","uniform sampler2D image;","uniform vec2 textureSize;","uniform float edgeWidth;","uniform vec4 edgeColor;","varying vec2 vUv;","float getCol(vec2 coord) {","return texture2D(image, coord).a;","}","void main() {","vec2 cc = vUv;","float center = getCol(cc);","float dx = edgeWidth / textureSize.x;","float dy = edgeWidth / textureSize.y;","vec2 coord;","float topLeft = getCol(cc+vec2(-dx, -dy));","float top = getCol(cc+vec2(0.0, -dy));","float topRight = getCol(cc+vec2(dx, -dy));","float left = getCol(cc+vec2(-dx, 0.0));","float right = getCol(cc+vec2(dx, 0.0));","float bottomLeft = getCol(cc+vec2(-dx, dy));","float bottom = getCol(cc+vec2(0.0, dy));","float bottomRight = getCol(cc+vec2(dx, dy));","float v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;","float h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;","float edge = sqrt(h * h + v * v);","edge = smoothstep(0.9, 1.0, edge);","if (edge < 0.5) {","discard;","}","gl_FragColor = edgeColor;","}"].join("\n")},qo=function(R){this.gv=R},po="edit_tx",qi="edit_ty",Rk="edit_tz",_j="edit_rx",rs="edit_ry",fn="edit_rz",Ad="edit_sx",Id="edit_sy",Cr="edit_sz",jp={};jp[po]=1,jp[qi]=1,jp[Rk]=1,jp[_j]=1,jp[rs]=1,jp[fn]=1,jp[Ad]=1,jp[Id]=1,jp[Cr]=1,Be(qo,F,{_42:function(B,l,G){var b=this,H=b.gv,r=H.sm().ld();if(r&&H.isEditable(r)&&!H.isEditHelperDisabled()&&lm(r)&&(!H.isFirstPersonMode()||!H.isMouseRoamable()&&!Gm)){Zm(H);var J,h,q=H.isMovable(r),g=H.isRotationEditable(r),o=H.isSizeEditable(r),e=H._axisXColor,Q=H._axisYColor,Y=H._axisZColor,c=H._editSizeColor,z=r.p3(),F=Kk(H.getEye(),z)/10,W=F/(G?5:10),K=.7*F,m=.4*K,E=z[0],N=z[1],d=z[2];J=[0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0],q&&b._17O(B,l,r,G,po,e,J,[E,N-W,d,E+K,N-W,d,E+K,N,d,E+K,N,d,E,N,d,E,N-W,d,E,N-W,d+W,E+K,N-W,d+W,E+K,N-W,d,E+K,N-W,d,E,N-W,d,E,N-W,d+W]),h=E+K,o&&b._17O(B,l,r,G,Ad,c,J,[h,N-W,d,h+m,N-W,d,h+m,N,d,h+m,N,d,h,N,d,h,N-W,d,h,N-W,d+W,h+m,N-W,d+W,h+m,N-W,d,h+m,N-W,d,h,N-W,d,h,N-W,d+W]),h+=m,g&&b._17O(B,l,r,G,_j,e,J,[h,N-W,d,h+m,N-W,d,h+m,N,d,h+m,N,d,h,N,d,h,N-W,d,h,N-W,d+W,h+m,N-W,d+W,h+m,N-W,d,h+m,N-W,d,h,N-W,d,h,N-W,d+W]),J=[0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0],q&&b._17O(B,l,r,G,qi,Q,J,[E,N,d,E,N+K,d,E-W,N+K,d,E-W,N+K,d,E-W,N,d,E,N,d,E,N,d,E,N,d-W,E,N+K,d-W,E,N+K,d-W,E,N+K,d,E,N,d]),h=N+K,o&&b._17O(B,l,r,G,Id,c,J,[E,h,d,E,h+m,d,E-W,h+m,d,E-W,h+m,d,E-W,h,d,E,h,d,E,h,d,E,h,d-W,E,h+m,d-W,E,h+m,d-W,E,h+m,d,E,h,d]),h+=m,g&&b._17O(B,l,r,G,rs,Q,J,[E,h,d,E,h+m,d,E-W,h+m,d,E-W,h+m,d,E-W,h,d,E,h,d,E,h,d,E,h,d-W,E,h+m,d-W,E,h+m,d-W,E,h+m,d,E,h,d]),J=[1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0],q&&b._17O(B,l,r,G,Rk,Y,J,[E,N,d,E,N,d+K,E,N-W,d+K,E,N-W,d+K,E,N-W,d,E,N,d,E,N-W,d,E-W,N-W,d,E-W,N-W,d+K,E-W,N-W,d+K,E,N-W,d+K,E,N-W,d]),h=d+K,o&&b._17O(B,l,r,G,Cr,c,J,[E,N,h,E,N,h+m,E,N-W,h+m,E,N-W,h+m,E,N-W,h,E,N,h,E,N-W,h,E-W,N-W,h,E-W,N-W,h+m,E-W,N-W,h+m,E,N-W,h+m,E,N-W,h]),h+=m,g&&b._17O(B,l,r,G,fn,Y,J,[E,N,h,E,N,h+m,E,N-W,h+m,E,N-W,h+m,E,N-W,h,E,N,h,E,N-W,h,E-W,N-W,h,E-W,N-W,h+m,E-W,N-W,h+m,E,N-W,h+m,E,N-W,h])}},_17O:function($,P,K,t,d,p,C,F){var s=this.gv._buffer;nf($,P,t,!0,K,d),vc($,P,J,!0,J,!0,J,!1),Zf($,P.uDiffuse,p),Tn($,s.vs,new Ml(F),P.aPosition),Tn($,s.ns,new Ml(C),P.aNormal),ug($),Xh($,0,12),Ac($),Al($,P)}});var Bn=K.Raycaster=function(M){this.gv=M,this.maxTriangleTest=1/0,this.backfaceCulling=!0};Pe("Raycaster",F,{intersect:function(p){var B=this,r=B.gv,x=r.getDataAt(p);return x?B.intersectObject(p,x):null},intersectObjects:function(G,E,e){var K,o,Z,_,S=this,m=1/0,I=G.origin||(new Le).fromArray(S.gv.getEye()),d=S.maxTriangleTest,M=[];return E.forEach(function(_){e&&e(_)===!1||_.s("intersect")!==!1&&M.push(_)}),M.sort(function(p,X){return I.distanceToSquared2(p.p3())-I.distanceToSquared2(X.p3())}),S.countTriangles=0,M.forEach(function(P){S.countTriangles>d||(K=S.intersectObject(G,P),K&&(o=I.distanceToSquared(K.world),m>o&&(Z=P,_=K,m=o)))}),S.countTriangles=0,{data:Z,intersect:_}},intersectObject:function(r,Y){if(r instanceof ur)return this._intersectObjectImpl(r,Y);var U=this,w=U.gv,A=w.unproject(r),W=new Le,M=w.getEye(),d=new Le;if(w.isOrtho()){var V=new Le(M);d.copy(w.getCenter()).sub(V).normalize();var N=W.copy(A).sub(V).dot(d);W.copy(d).setLength(-N).add(V.copy(A))}else W.copy(M),d.copy(A).sub(W).normalize();var T=new K.Math.Ray(W,d);return U._intersectObjectImpl(T,Y)},_intersectObjectImpl:function(){function U(){var K=new Le;return K.subVectors(W,c),a.subVectors(s,c),K.cross(a).normalize(),K}function I(W,u,B,e,x,R,m){return Sk.barycoordFromPoint(W,u,B,e,p),x.multiplyScalar(p.x),R.multiplyScalar(p.y),m.multiplyScalar(p.z),x.add(R).add(m),x.clone()}var Z=new nn,F=new nn,J=new ur,r=new Le,R=new Le,G=new Le,i=new Le,y=new Le,s=new Le,c=new Le,W=new Le,m=new ld,N=new ld,Q=new ld,a=new Le,v={vs:Br,is:Qj,uv:en},p=new Le;return function(X,p){var T=this.gv.getData3dUI(p),M=p.mat||T.mat;if(M){Z.fromArray(M),F.getInverse(Z),J.copy(X).applyMatrix4(F);var j,A,u="body",O=T.shapeModel;if(O||(O=ik(T)),O||(p instanceof K.Node&&!(p instanceof K.Shape)?(j=!0,O=v):(A=!0,O=[T.left,T.front,T.right,T.back,T.top,T.bottom])),!O)return console.log("Can not find shape model."),null;Bl(O)||(O=[O]);var b,E,L,k,z,l,d,f,V,Y,_,w,o,e,B,g,D=1/0,P=["","top_","bottom_"],S=!1,q=this.backfaceCulling;for(b=0,E=O.length;E>b;b++)if(o=O[b])for(L=0,k=P.length;k>L;L++)if(e=P[L],d=o[e+"vs"],f=o[e+"is"],V=o[e+"uv"]||o[e+"tuv"],d){if(B=o[e+"boundingBox"]){var _=J.intersectBox(B);if(!_)continue;if(J.origin.distanceTo(_)>D)continue;g=!1}else o[e+"boundingBox"]=B=new K.Math.Box3,g=!0;for(z=0,l=f?f.length:d.length/3;l>z;z+=3)this.countTriangles++,f?(R.fromArray(d,3*f[z]),G.fromArray(d,3*f[z+1]),i.fromArray(d,3*f[z+2])):(R.fromArray(d,3*z),G.fromArray(d,3*(z+1)),i.fromArray(d,3*(z+2))),g&&(B.expandByPoint(R),B.expandByPoint(G),B.expandByPoint(i)),Y=J.intersectTriangle(R,G,i,q,r),Y&&(w=J.origin.distanceTo(Y),D>w&&(D=w,y.copy(Y),s.copy(R),c.copy(G),W.copy(i),""!==e?u=e.slice(0,-1):j?u=ym[Math.floor(z/6)]:A&&(u=ym[b]),V&&(S=!0,f?(m.fromArray(V,2*f[z]),N.fromArray(V,2*f[z+1]),Q.fromArray(V,2*f[z+2])):(m.fromArray(V,2*z),N.fromArray(V,2*(z+1)),Q.fromArray(V,2*(z+2))))))}if(!isFinite(D))return null;var n,C=y.clone().applyMatrix4(Z);S&&(n=I(y,s,c,W,m,N,Q));var h=U(s,c,W),x=U(s.applyMatrix4(Z),c.applyMatrix4(Z),W.applyMatrix4(Z)),H=J.direction.dot(h);return H>0&&(h.multiplyScalar(-1),x.multiplyScalar(-1)),{world:C,local:y.clone(),worldNormal:x,normal:h,uv:n,part:u}}}}()});var $j=function(s,o){this.gv=s,this.s=function(Z,c,m){return c==J&&(c=m),c==J?o.getStyle(Z):jc(c,o,s)},this.data=o};Be($j,F,{I3d:!0,ms_icons:1,_iv:!0,iv:function(){this._iv=!0},_42:function(v,W,Q,r){var U=this,B=U.data;if(!(B instanceof Ff)){var E,I,H,R,x,d,z,A=U.gv,n=B._id,y=U.s("shape3d.alwaysOnTop")?null:U.s("batch"),M=A._batchIndexMap,t=A._batchModelMap,u=A.isSelectable(B),K=A.getBrightness(B),L=K!=J&&1!==K;if(U.needValidate(v)){if(H=Eo(M,t,B,y),U.validate(H,y?ac[y]||vr:J),H&&(R=M[n],x=R.size=H.vs.length/3-R.begin,z=H.rs))for(K=L?K:1,d=0;x>d;d++)z.push(K);if(lm(B)){var q=A.getWireframeGeometry(B);if(q)uq(A,B,q);else{var Y=A.getWireframe(B);Y&&uq(A,B,Y)}}U.labelInfo=U.label2Info=U.noteInfo=U.note2Info=U._38o=J,U._24O(El,"getLabel"),U._24O($o,"getLabel2"),U._26O(zs,"getNote"),U._26O(Mg,"getNote2"),U._15O(),U.interactiveInfo=A.isInteractive(B)?{}:J,U._iv=!1}L&&Zf(v,W.uBrightness,K),Zf(v,W.uAlphaTest,U.s("alphaTest")),Zf(v,W.uUseEnvMap,B.s("envmap")?!0:!1),Zf(v,W.uReflectivity,B.s("envmap")||.01),I=nf(v,W,Q,u,B,Uk),I&&(ch(I,M[n],t),ch(I,A._polylineIndexMap[n],A._polylineModelMap),ch(I,A._wireframeIndexMap[n],A._wireframeModelMap)),M[n]||U._80o(v,W,r),A.isLabelVisible(B)&&((E=U.labelInfo)&&(nf(v,W,Q,u,B,El),U._28O(E,El,r)),(E=U.label2Info)&&(nf(v,W,Q,u,B,$o),U._28O(E,$o,r))),A.isNoteVisible(B)&&((E=U.noteInfo)&&(nf(v,W,Q,u,B,zs),U._29O(E,zs,r)),(E=U.note2Info)&&(nf(v,W,Q,u,B,Mg),U._29O(E,Mg,r))),(E=U._38o)&&U._99O(v,W,E,Q,u,r),L&&Zf(v,W.uBrightness,1)}},needValidate:function(){return this._iv},validate:function(){},_16O:function(){return oh},_80o:function(){},dispose:function(){},_calcAnchorMat:function(T){if(T.hasOwnProperty("_anchor")||T.hasOwnProperty("_anchorElevation")){var r=T.getAnchor3d(),Y={x:r.x-.5,y:r.y-.5,z:r.z-.5},E=pg();return rr(E,[-Y.x,-Y.y,-Y.z]),E}},getBodyColor:function(z){var Q=this.data,Z=this.gv.getBodyColor(Q);return Z?Z:z?Q.getStyle(z):J},_24O:function(t,g){var w=this,Q=w.data,O=w.gv,S=w.s,r=O[g](Q);if(r!=J){var f=S(t+".scale"),H=S(t+".max"),X=w[t+"Info"]={label:r,textureScale:S(t+".texture.scale"),color:O[g+"Color"](Q),font:S(t+".font"),align:S(t+".align"),background:O[g+"Background"](Q)},l=X.rect=Db(X,r);H>0&&H<l.width&&(X.labelWidth=l.width,l.width=H),l.x=l.y=0,l.width*=f,l.height*=f,X.mat=w._16O(S(t+".autorotate"),S(t+".position"),l,S(t+".face"),S(t+".t3"),S(t+".r3"),S(t+".rotationMode"));var V=l.width/2,Z=l.height/2;X.vs=new Ml([-V,Z,0,-V,-Z,0,V,-Z,0,V,Z,0]),l.width/=f,l.height/=f}},_26O:function(X,h){var G=this,W=G.data,n=G.gv,w=G.s,$=n[h](W);if($!=J){var r=w(X+".scale"),z=this[X+"Info"]={note:$,textureScale:w(X+".texture.scale"),expanded:w(X+".expanded"),font:w(X+".font"),color:w(X+".color"),align:w(X+".align"),borderWidth:w(X+".border.width"),borderColor:w(X+".border.color"),background:n[h+"Background"](W)};if(z.expanded){var H=w(X+".max"),A=Db(z,$);A.width+=6,A.height+=2,H>0&&H<A.width&&(z.labelWidth=A.width,A.width=H);var T={x:-A.width/2,y:-8-A.height,width:A.width,height:A.height+8}}else T={x:-6,y:-18,width:12,height:18};z.mat=G._16O(w(X+".autorotate"),w(X+".position"),J,w(X+".face"),w(X+".t3"),w(X+".r3"),w(X+".rotationMode")),z.rect=T,1!==r&&(T=Ej(T),T.x*=r,T.height*=r,T.y=-T.height,T.width*=r);var y=T.x,g=T.y,B=T.width,k=T.height;z.vs=new Ml([y,-g,0,y,-g-k,0,y+B,-g-k,0,y+B,-g,0])}},_28O:function(y,V,g){if(g(this.s(V+".transparent"))){var J=y.rect,u=y.textureScale,t=J.width*u,A=J.height*u;if(t>=1&&A>=1){var G=Vh(t,A);1!==u&&(G.translate(G,J.x,J.y),G.scale(u,u),G.translate(G,-J.x,-J.y)),Dg(G,y),G.restore(),qd(this,V,y.mat,y.vs,!0)}}},_29O:function(x,K,b){if(b(this.s(K+".transparent"))){var I=x.rect,s=x.textureScale,Y=I.x,g=I.y,L=I.width*s,u=I.height*s;if(L>=1&&u>=1){I.x=I.y=0;var r=Vh(L,u);1!==s&&r.scale(s,s),lk(r,x),r.restore(),I.x=Y,I.y=g,qd(this,K,x.mat,x.vs,!1)}}},_99O:function(I,W,m,q,o,r){if(m){var S=this,a=S.gv,Z=S.data,x=a._buffer,y=a._1O,T=m.icons;for(var t in T){var g=T[t],R=m.rects[t];if(R&&r(jc(g.transparent,Z,a))){nf(I,W,q,o,Z,t);var O=jc(g.shape3d,Z,a),w=O?[O]:jc(g.names,Z,a),X=w?w.length:0,E=jc(g.textureScale,Z,a)||1,s=jc(g.light,Z,a);s==J&&(s=O?!0:!1),vc(I,W,jc(g.blend,Z,a),s,jc(g.opacity,Z,a),jc(g.reverseFlip,Z,a),jc(g.reverseColor,Z,a),jc(g.reverseCull,Z,a));for(var V=0;X>V;V++){var M=w[V],_=R[V];if(Gi(S,_.mat),O)Oq(a,Z,ik(S,O),S);else{var F=Kg(M);if(F){var v=_.width*E,B=_.height*E;if(v>=1&&B>=1){var p=Vh(v,B);jl(p,F,jc(g.stretch,Z,a),0,0,v,B,Z,a),p.restore(),$n(I,ek,y),ug(I,W,y,jc(g.discardSelectable,Z,a),x.uv,$f),Tn(I,x.vs,_.vs,W.aPosition),Zn(I,x.ns,jq,W.aNormal),Bg(I,x.is,tq),wb(I,0,tq.length),Ac(I,W,y)}}}Lh(a)}Al(I,W)}}}}});var Ho=function(r,H){mb(Ho,this,[r,H])};Be(Ho,$j,{_16O:function(H,l,R,W,d,u,X,s,I){var J=this.data,N=J.getFinalScale3d(),a=uf(l,N,R,W,s,I);if(J.hasOwnProperty("_anchor")||J.hasOwnProperty("_anchorElevation")){var T=J.getAnchor3d();a[0]-=(T.x-.5)*N[0],a[1]-=(T.y-.5)*N[1],a[2]-=(T.z-.5)*N[2]}return Re(pg(),a,J.p3(),W,d,u,X,H,J.getFinalRotation3d(),J.getRotationMode())},clear:function(){var h=this;h.faceMat=h.mat=h.shapeModel=h.left=h.right=h.front=h.back=h.top=h.bottom=h.csg=J},needValidate:function(l){if(this._iv)return this._validateFrameId=l._renderInfo.frame,!0;if(this.s("shape3d.autorotate")||this.s("shape3d.fixSizeOnScreen")||this.s("hide.overlapping.group")){var R=l._renderInfo.frame;if(this._validateFrameId!==R)return this._validateFrameId=R,!0}return!1},validate:function(d,N){var e=this,T=e.gv,m=e.data,B=e.shapeName=e.s(Qp),U=ik(e,B);e._updateAutoRotation(),e._updateFixSize2d(),e._updateOverlapping(),(this.s("shape3d.autorotate")||this.s("shape3d.fixSizeOnScreen"))&&(Wd(T,m,"_wireframeModelMap","_wireframeIndexMap"),Wd(T,m,"_wireframeModelMapSwap","_wireframeIndexMapSwap"));var S=br(m,T.getMat(m),U?e.s("shape3d.scaleable"):!0),p=e._calcAnchorMat(m);if(p&&wf(S,S,p),m.mat=S,e.clear(),U||!B)if(d){var y=[];U?Eb(T,m,U,e,e.getBodyColor(),[S],d,y):(sf(T,m,d,N,S,rg,y,Aj),sf(T,m,d,N,S,cd,y,Ag),sf(T,m,d,N,S,Gh,y,Rd),sf(T,m,d,N,S,An,y,bc),sf(T,m,d,N,S,jk,y,Jl),sf(T,m,d,N,S,Pi,y,rl)),y.length&&(md(d.vs,y),md(d.ns,Di(y)))}else e.mat=S,(e.shapeModel=U)||(e._cubeUvs=null,e.vf(rg,0),e.vf(cd,16),e.vf(jk,8),e.vf(Pi,24),e.vf(Gh,32),e.vf(An,40))},_updateAutoRotation:function(){var J=new Ij,L=new nn,r=new Le,Q=new Le,s=new Le;return function(){var A=this,P=A.data,c=A.s("shape3d.autorotate");if(!c)return P._dynamicRotation&&delete P._dynamicRotation,void 0;var f=A.gv;s.copy(A.s("shape3d.autorotate.up")||f._up);var v;v="string"==typeof c?[c.indexOf("x")<0?f._eye[0]:f._center[0],c.indexOf("y")<0?f._eye[1]:f._center[1],c.indexOf("z")<0?f._eye[2]:f._center[2]]:f._eye;var E=f._center,_=P.p3();r.copy(_),Q.set(v[0]-E[0],v[1]-E[1],v[2]-E[2]).add(r),L.lookAt(Q,r,s),J.set(0,0,0,P.getRotationMode(),!0).setFromRotationMatrix(L);var K=P._dynamicRotation;K&&Math.abs(K[0]-J.x)<1e-5&&Math.abs(K[1]-J.y)<1e-5&&Math.abs(K[2]-J.z)<1e-5||(P._dynamicRotation=[J.x,J.y,J.z])}}(),_updateFixSize2d:function(){var k=this,K=k.data,V=k.s("shape3d.fixSizeOnScreen");if(!V)return K._dynamicScale3d&&delete K._dynamicScale3d,void 0;var X=k.gv,I=br(K,X.getMat(K)),t=pk([0,0,0],I),D=X.toViewPosition(t);if(!isNaN(D.x)&&!isNaN(D.y)){var q=pk([1,0,0],I),H=X.toViewPosition(q),p=pk([0,1,0],I),c=X.toViewPosition(p),F=H.x-D.x,E=c.y-D.y;if(F&&E){var r,O,l=K._dynamicScale3d||[1,1,1],s=Kg(K.s("shape3d.image"));if(V[0]>0&&(r=V[0]),V[1]>0&&(O=V[1]),!r||!O){var m=V>0?V:1;r||(r=s?vj(s,K)*m:20),O||(O=s?Cj(s,K)*m:20)}var S=Math.abs(F/r),N=Math.abs(E/O);Math.abs(S-1)<.001&&Math.abs(N-1)<.001||(K._dynamicScale3d=[l[0]/S,l[1]/N,l[2]])}}},_updateOverlapping:function(){var X=this,j=X.s("hide.overlapping.group");if(!j)return X._rectOverlapping&&(X._rectOverlapping=a),void 0;var h,S,q,C=X.gv,W=X.data,G=br(W,C.getMat(W)),Q=1/0,P=1/0,k=-1/0,x=-1/0,g=W.getAnchor3d(),U=g.x,Z=g.y,J=g.z;for(h=0;8>h;h++){if(S=pk([(h>>2)-U,(1&h>>1)-Z,(1&h)-J],G),q=C.toViewPosition(S),isNaN(q.x)||isNaN(q.y))return;Q=Math.min(Q,q.x),k=Math.max(k,q.x),P=Math.min(P,q.y),x=Math.max(x,q.y)}var f={x:Q,y:P,w:k-Q,h:x-P};X._rectOverlapping=C.overlappingBox.isOverlapping(j,f)},getVectorDynamicSize:function(){var O,B=this,i=B.s("shape3d"),z=B.data;if("billboard"===i||"plane"===i||(O=z._currentCubeElementId)!=J){var b,C,x=B.gv,Y=br(z,x.getMat(z)),_=z.getAnchor3d(),t=.5-_.x,T=.5-_.y,$=.5-_.z,k=B.s("shape3d.vector.dynamic.maxsize"),E=function(B,P){B[0]+=t,B[1]+=T,B[2]+=$,P[0]+=t,P[1]+=T,P[2]+=$;var j=x.toViewPosition(pk(B,Y)),u=x.toViewPosition(pk(P,Y)),o=j.x-u.x,S=j.y-u.y;return Math.min(k,Math.sqrt(o*o+S*S))};if("billboard"===i)b=E([-.5,0,0],[.5,0,0]),C=E([0,-.5,0],[0,.5,0]);else if("plane"===i)b=E([-.5,0,0],[.5,0,0]),C=E([0,0,-.5],[0,0,.5]);else if(z._currentCubeElementId!=J){var p=3*Qj[O+1],e=3*Qj[O],Q=3*Qj[O+2];b=E([Br[p],Br[p+1],Br[p+2]],[Br[Q],Br[Q+1],Br[Q+2]]),C=E([Br[p],Br[p+1],Br[p+2]],[Br[e],Br[e+1],Br[e+2]])}return[b,C]}},getCachedTexture:function(){var p=this,s=p.data,S=s._currentCubeElementId;return S!=J?p._cubeCachedImage?p._cubeCachedImage[S]:null:p._shape3dCachedImage},setCachedTexture:function(y){var K=this,H=K.data,r=H._currentCubeElementId;r!=J?(K._cubeCachedImage||(K._cubeCachedImage={}),K._cubeCachedImage[r]=y):K._shape3dCachedImage=y},invalidateCachedTexture:function($){var K,c,Q,C=this;if((Q=C._shape3dCachedImage)&&($.deleteTexture(Q),C._shape3dCachedImage=null),c=C._cubeCachedImage){for(K in c)$.deleteTexture(c[K]);C._cubeCachedImage=null}},vf:function(A,S){var T=this;if(T.gv.getFaceVisible(T.data,A)){var r=Ar(T,A);r.mat&&(T.faceMat=!0);var N=r.uv;if(N){var n=T._cubeUvs;n||(n=T._cubeUvs=new Ml([0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0]));for(var P=0;8>P;P++)n[S+P]=N[P]}return r}},_billboardInView:function(){var E=[-.5,-.5,0,-.5,.5,0,.5,-.5,0,.5,.5,0],A=[-.5,0,-.5,-.5,0,.5,.5,0,-.5,.5,0,.5],u=new Ye,l=new Le,a=new nn;return function(R){var V=this;if(!V.mat)return!0;var Z=V.gv.getFrustum(),J="billboard"===R?E:A;u.makeEmpty(),a.fromArray(V.mat);for(var N=0,b=J.length;b>N;N+=3)u.expandByPoint(l.fromArray(J,N).applyMatrix4(a));return Z.intersectsBox(u)}}(),_80o:function(X,_,r){var u=this;if(u._rectOverlapping)return!0;var C=u.shapeModel;if(C||!u.shapeName){var P=u.s("shape3d");if(("billboard"===P||"plane"===P)&&!u._billboardInView(P))return!0;var L=u.gv,K=u.data,e=L._cube;Zm(L,u.mat),u.s("shape3d.reflector")&&!X._picking||(C?Oq(L,K,C,u,u.getBodyColor(),r):(Tn(X,e.vs,J,_.aPosition),Tn(X,e.ns,J,_.aNormal),$e(X,e.is),u._18O(X,_,u.left,0,r),u._18O(X,_,u.front,6,r),u._18O(X,_,u.right,12,r),u._18O(X,_,u.back,18,r),u._18O(X,_,u.top,24,r),u._18O(X,_,u.bottom,30,r))),Lh(L),u.faceMat&&(u._18O(X,_,u.left,0,r,!0),u._18O(X,_,u.front,6,r,!0),u._18O(X,_,u.right,12,r,!0),u._18O(X,_,u.back,18,r,!0),u._18O(X,_,u.top,24,r,!0),u._18O(X,_,u.bottom,30,r,!0))}},_18O:function(v,V,h,k,P,G){if(h){if(!P(h.transparent))return;if(G&&!h.mat||!G&&h.mat)return;var b=this.data.s("polygonOffset");b&&Hp(v,b),G&&Zm(this.gv,h.mat);var s=this,Z=s.data;Z._currentCubeElementId=k;var X=s.gv,u=X.getTexture(h.texture,Z),q=h.uv,Q=h.uvScale,m=h.uvOffset,x=h.discardSelectable;u?q?ug(v,V,u,x,X._buffer.uv,s._cubeUvs,m,Q):ug(v,V,u,x,X._cube.uv,J,m,Q):ug(v),vc(v,V,h.blend,h.light,h.opacity,h.reverseFlip,h.reverseColor,h.reverseCull),Zf(v,V.uDiffuse,h.color||e["color.empty"]),wb(v,k,6),Al(v,V),Ac(v,V,u),G&&Lh(X),b&&Oj(v),Z._currentCubeElementId=null}},drawReflector:function(){var j=new Le,o=new Le,i=new Ij,L=new nn,r=new Le,g=new Le,y=new Le,U=new Le,b=new nn,e=new nn,E=new vn,C=new ul,Z=new ul,m=function(i,l,h){i[h]=l[0],i[h+1]=l[1],i[h+2]=l[2]},N=function(z,v){m(z,v.getEye(),0),m(z,v.getCenter(),3),m(z,v.getUp(),6)},A=function(m,K){K._eye=[m[0],m[1],m[2]],K._center=[m[3],m[4],m[5]],K._up=[m[6],m[7],m[8]],K._18Q=J;var u=K._skyBox;u&&(u.p3([m[0],m[1],m[2]]),K.getData3dUI(u).iv())};return function(V,v,f,F,X){var s=this;s._reflectorInfo=null;var m=s.data;if(m._reflecting)return!1;var $=s.gv;if(X)return!1;var M=s._reflectorRenderTarget;M?M.setSize(V,v,f):M=s._reflectorRenderTarget=new js.RenderTarget($,V,v,f),j.copy(m.p3()),o.copy($.getEye()),L.makeRotationFromEuler(i.set(m.r3(),m.getRotationMode(),!0));var I;if(!s._reflectNormal){var I=ik(s,s.s("shape3d"));if(!I)return!1;if(!I.ns&&I.length&&(I=I[0]),!I.ns||!I.vs)return!1;s._reflectNormal=[I.ns[0],I.ns[1],I.ns[2]],s._reflectorVbuffer=xd.Buffer.createVertexBuffer(V,new Float32Array(I.vs))}if(r.copy(s._reflectNormal),r.applyMatrix4(L),g.subVectors(j,o),g.dot(r)>0)return!1;g.reflect(r).negate(),g.add(j),y.copy($.getCenter()).negate().add(j),y.reflect(r).negate(),y.add(j),U.copy($.getUp()),U.reflect(r);var c=[0,0,0,0,0,0,0,0,0];N(c,$),$._eye=g.toArray(),$._center=y.toArray(),$._up=U.toArray(),$._18Q=J;var D=$._skyBox;D&&(D.p3($._eye),$.getData3dUI(D).iv()),gh(V,M.frame),V.viewport(0,0,M.width,M.height),V.clearColor(0,0,0,1),V.clear(V.COLOR_BUFFER_BIT);var K=hi($),u=Ip($);E.setFromNormalAndCoplanarPoint(r,j),E.applyMatrix4(e.fromArray(u)),C.set(E.normal.x,E.normal.y,E.normal.z,E.constant),Z.x=(Math.sign(C.x)+K[8])/K[0],Z.y=(Math.sign(C.y)+K[9])/K[5],Z.z=-1,Z.w=(1+K[10])/K[14],C.multiplyScalar(2/C.dot(Z));var B=m.s("shape3d.reflector.clip"),T=B===a?.003:B;K[2]=C.x,K[6]=C.y,K[10]=C.z+1-T,K[14]=C.w;var h=$._computedProjectMatrix;$._computedProjectMatrix=K,m._reflecting=!0,F(),$._computedProjectMatrix=h,b.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),b.multiply(e.fromArray($._projectMatrix)),b.multiply(e.fromArray($._viewMatrix)),bh(V),A(c,$);var Y=V._compiledShader.reflector;return Y||(Y=V._compiledShader.reflector=new xd.Shader(V,yr.Reflector.vs,yr.Reflector.fs)),Y.bind(),V.activeTexture(V.TEXTURE0),V.bindTexture(V.TEXTURE_2D,M.texture),Y.uniforms.tDiffuse=0,Y.uniforms.color=Qd(m.s("shape3d.reflector.color")||"rgb(128,128,128)"),Y.uniforms.textureMatrix=b.toArray(),Y.uniforms.modelMatrix=br(m),Y.uniforms.viewMatrix=Ip($),Y.uniforms.projectionMatrix=hi($),s._reflectorVbuffer.upload(),Y.attributes.pos.pointer(s._reflectorVbuffer),V.drawArrays(V.TRIANGLES,0,6),m._reflecting=!1,V.useProgram($._prg),!0}}()}),yr.Reflector={vs:["attribute vec3 pos;","uniform mat4 textureMatrix;","uniform mat4 modelMatrix;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","varying vec4 vUv;","void main() {"," vUv = textureMatrix * modelMatrix * vec4( pos, 1.0 );"," gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4( pos, 1.0 );","}"].join("\n"),fs:["precision highp float;","uniform vec3 color;","uniform sampler2D tDiffuse;","varying vec4 vUv;","float blendOverlay( float base, float blend ) {"," return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) );","}","vec3 blendOverlay( vec3 base, vec3 blend ) {"," return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) );","}","void main() {"," vec4 base = texture2DProj( tDiffuse, vUv );"," vec2 tUv = vUv.xy / vUv.w;"," if (tUv.x < .0 || tUv.y < .0 || tUv.x > 1. || tUv.y > 1.) discard;"," gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );","}"].join("\n")};var ue=function(t,N){mb(ue,this,[t,N])};Be(ue,$j,{_25Q:1,validate:function(H){var c=this,$=c.gv,k=c.data,Y=c.s,u=Y("edge.width"),E=k._40I,x=k._41I;if(c.shapeModel=c.info=J,E&&x){var Q,U,z,N,Z,I,W,t,S,e,q=k.isLooped(),D=Y(kb),V=_.getEdgeType(D);if(V){var P=V(k,Hn(c,$,k,q,D),$,c._19Q);if(!P.points||P.points.isEmpty())return;I=c.info={},W=P.segments,Z=P.points,t=Z.size();for(var n=E.getElevation(),O=x.getElevation(),w=0;t>w;w++){var p=Z.get(w);p.e==J&&(p.e=n+(O-n)*w/(t-1))}S=el(Z.get(0)),e=el(Z.get(t-1));var v=t%2;0===v?(I.c1=el(Z.get(t/2-1)),I.c2=el(Z.get(t/2))):I.p3=el(Z.get((t-v)/2)),I.s1=S,I.s2=el(Z.get(1)),I.t1=el(Z.get(t-2)),I.t2=e}else{Z=new Sl,I=c.info={};var K=Y("edge.offset"),m=Y("edge.center"),o=Y("edge.source.t3"),R=Y("edge.target.t3"),T=c._getEdge3dHostPoint(E,"source"),d=c._getEdge3dHostPoint(x,"target");if(o&&(T[0]+=o[0],T[1]+=o[1],T[2]+=o[2]),R&&(d[0]+=R[0],d[1]+=R[1],d[2]+=R[2]),D===Fq){W=Y("edge.segments");var C=I.points=Y(Sq)||kd;if(t=C.size()){S=el(C.get(0)),e=el(C.get(t-1)),!m&&K&&(z=uj(S,T,!0),K=g(K,Kk(T,S)),T=[T[0]+z[0]*K,T[1]+z[1]*K,T[2]+z[2]*K],z=uj(d,e,!0),K=g(K,Kk(e,d)),d=[d[0]-z[0]*K,d[1]-z[1]*K,d[2]-z[2]*K]);var v=t%2;0===v?(Q=el(C.get(t/2-1)),U=el(C.get(t/2))):I.p3=el(C.get((t-v)/2)),I.s1=T,I.s2=S,I.t1=e,I.t2=d}else!m&&K&&(z=uj(d,T,!0),N=Kk(T,d),K=fe(K,N),T=[T[0]+z[0]*K,T[1]+z[1]*K,T[2]+z[2]*K],d=[d[0]-z[0]*K,d[1]-z[1]*K,d[2]-z[2]*K]),Q=T,U=d;Z.add({x:T[0],y:T[2],e:T[1]}),Z.addAll(C),Z.add({x:d[0],y:d[2],e:d[1]})}else{var f=Hn(c,$,k,q,D);if(c._19Q||(f=-f),q){var j=T[0],l=T[1],A=T[2],s=E.getTall()/2+f;Q=[j-f,l+s,A],U=[j+f,l+s,A],Z.add({x:j-f,y:A,e:l}),Z.add({x:j-f,y:A,e:l+s}),Z.add({x:j+f,y:A,e:l+s}),Z.add({x:j+f,y:A,e:l})}else{z=uj(d,T,!0),N=Kk(T,d);var h={x:T[0],y:T[2]},i={x:d[0],y:d[2]},b=Il(J,h,i,f),M=b.x-h.x,r=b.y-h.y;K=fe(K,N),z[0]*=K,z[1]*=K,z[2]*=K,Q=[T[0]+z[0]+M,T[1]+z[1],T[2]+z[2]+r],U=[d[0]-z[0]+M,d[1]-z[1],d[2]-z[2]+r],m?(Z.add({x:T[0],y:T[2],e:T[1]}),Z.add({x:Q[0],y:Q[2],e:Q[1]}),Z.add({x:U[0],y:U[2],e:U[1]}),Z.add({x:d[0],y:d[2],e:d[1]})):(Z.add({x:Q[0],y:Q[2],e:Q[1]}),Z.add({x:U[0],y:U[2],e:U[1]}))}}I.c1=Q,I.c2=U}I.list=Y(Qp)===eg?c.createTubeModel(Z,W,u/2,H):c.createLineModel(Z,W,u,"edge","edge.dash")}},_getEdge3dHostPoint:function(z,S){if(!lm(z))return z.p3();var v=this;S="edge."+S+".anchor.";var H=v.s(S+"x"),E=v.s(S+"elevation"),P=v.s(S+"y"),Z=br(z,v.gv.getMat(z)),D=z.getAnchor3d();return pk([(H===a?.5:H)-D.x,(E===a?.5:E)-D.y,(P===a?.5:P)-D.z],Z)}});var Jp=function(D,V){mb(Jp,this,[D,V])};Be(Jp,Ho,{_80o:function(D,A,Z){var v=this,n=v.gv,P=v.shapeModel;Zm(n,v.mat),P?Oq(n,v.data,P,v,v.getBodyColor(),Z):(ig(v,D,A,v.left,Z),ig(v,D,A,v.front,Z),ig(v,D,A,v.right,Z),ig(v,D,A,v.back,Z),ig(v,D,A,v.top,Z),ig(v,D,A,v.bottom,Z)),Lh(n)},validate:function(x,R){var T,C,_=this,X=_.s,W=_.data,Y=W.p3(),g=W._thickness/2,F=W.isClosePath(),Q=W.getPoints(),q=W.getSegments(),y=X(Qf),v=x&&x.uv;if(_.clear(),0>g)C=_.shapeModel=Lm(Q,q,X(cg),X(Ok),y,X(Bm),W.getTall(),W.getShapeElevation(),F),X(Vo)?X("shape3d.image")||delete C.uv:(delete C.vs,delete C.ns,delete C.uv),X("shape3d.top.image")||delete C.top_uv,X("shape3d.bottom.image")||delete C.bottom_uv;else if(X(Qp)===eg)T=Wc(Q,q,y,F),C=_.shapeModel={vs:[]},X("shape3d.image")&&(C.uv=[],C.sum=X(Bm)||Cd(T)||1,C.len=0),X(cg)&&!F&&(C.top_vs=[],X("shape3d.top.image")&&(C.top_uv=[])),X(Ok)&&!F&&(C.bottom_vs=[],X("shape3d.bottom.image")&&(C.bottom_uv=[])),_._12O(T,g);else{var j,M,Z,w,K,t,S,d,a,i;if(T=Wc(Q,q,y,F),K=_.vf(jk,v,!1,R),g&&(t=_.vf(Pi,v,!1,R),S=F?J:_.vf(rg,v,!1,R),d=F?J:_.vf(cd,v,!1,R),a=_.vf(Gh,v,!1,R),i=_.vf(An,v,!1,R)),g){for(var u=0,A=T.length;A>u;u++)T[u]=_._tryRemoveBezierPoints(T[u],g);_._12O(T,g)}else K&&T.forEach(function(c){if(w=c.length,w>0)for(j=c[0],Z=1;w>Z;Z++)M=c[Z],_.addV(K.vs,j,M),j=M});_._20Q(T),x||(K&&(K.ns=Di(K.vs),_q(K,"vs"),_q(K,Ld)),g&&(t&&(t.ns=Di(t.vs),_q(t,"vs"),_q(t,Ld)),S&&(S.ns=Di(S.vs),_q(S,"vs"),_q(S,Ld)),d&&(d.ns=Di(d.vs),_q(d,"vs"),_q(d,Ld)),a&&(a.ns=Di(a.vs),_q(a,"vs"),_q(a,Ld)),i&&(i.ns=Di(i.vs),_q(i,"vs"),_q(i,Ld))))}var G=_.mat=pg();rr(G,Y),ii(G,W.getFinalRotation3d(),W.getRotationMode());var f=W.getScale3d(),o=W._dynamicScale3d;o&&(f[0]*=o[0],f[1]*=o[1],f[2]*=o[2]),Ze(G,f),rr(G,sb(Y)),x&&(ih(_,G,x,C),_.clear())},_20Q:function(U){var X,e,m,G,g,x,N,f=this,i=f.front,d=f.back,r=f.top,W=f.bottom,D=i?i.tuv:J,c=d?d.tuv:J,j=r?r.tuv:J,F=W?W.tuv:J,E=0;(D||c||j||F)&&(X=f.s(Bm)||Cd(U)||1,U.forEach(function(Q){if(e=Q.length,e>0)for(x=Q[0],m=1;e>m;m++)N=Q[m],G=E/X,E+=Kk(x,N),g=E/X,f._14O(i,G,g),f._14O(d,1-g,1-G),f._14O(r,G,g),f._14O(W,G,g),x=N}))},_14O:function(D,g,B){if(D){var j=D.uv,f=D.tuv;if(f){if(j)var w=j[0]+(j[6]-j[0])*g,R=j[1]+(j[7]-j[1])*g,S=j[2]+(j[4]-j[2])*g,d=j[3]+(j[5]-j[3])*g,u=j[2]+(j[4]-j[2])*B,k=j[3]+(j[5]-j[3])*B,q=j[0]+(j[6]-j[0])*B,c=j[1]+(j[7]-j[1])*B;else w=g,R=0,S=g,d=1,u=B,k=1,q=B,c=0;f.push(S,d,u,k,q,c,q,c,w,R,S,d)}}},_13O:function(d){var E=d.uv,r=d.tuv;r&&(E?r.push(E[2],E[3],E[4],E[5],E[6],E[7],E[6],E[7],E[0],E[1],E[2],E[3]):r.push(0,1,1,1,1,0,1,0,0,0,0,1))},_tryRemoveBezierPoints:function(f,k){var e=f.length;if(4>e)return f;var w,i,L,g,o,C,u=!1,H=function(L){return f[L]},V=function(l){return f[e-1-l]};for(o=0;1>=o;o++)for(C=o?V:H,i=C(0),L=C(1),w=2;e-1>w;w++)if(g=C(w),!g.remove)if(g.b){var a=Il(i,L,g,k);a.adjust?(g.remove=!0,u=!0):(i=L,L=g)}else i=L,L=g;if(!u)return f;var Y=[];for(w=0;e>w;w++)f[w].remove||Y.push(f[w]);return Y},_12O:function(R,y){var u,O,V,P,U,n=this.s("shape3d.point.epsilon"),H=this;R.forEach(function(R){if(U=R.length,U>0)for(u={p:R[0],n:!0},P=1;U>P;P++)O=R[P],V=U-1>P?R[P+1]:J,V&&Math.abs(O.x-V.x)<n&&Math.abs(O.y-V.y)<n||H.addPoint(u,O,V,y,R)})},addPoint:function(D,k,K,_,x){var G,N,P,F,I,s,f,r,c,i=this,l=D.p,v=D.f,g=D.b,M=i.s("shape3d.side")||he,o=i.s("shape3d.start.angle"),e=i.s("shape3d.sweep.angle"),a=i.shapeModel,B=i.data.isClosePath();if(D.n&&(D.n=!1,v=B&&x.length>2?Il(x[x.length-2],l,k,_):Il(J,l,k,_),g=dh(l,v),a?a.top_vs&&i._10O(g,v,M,o,e,a.top_vs,a.top_uv):(G=i.left)&&(i.addV(G.vs,g,v),i._13O(G))),N=K?Il(l,k,K,_):B&&x.length>2?Il(l,k,x[1],_):Il(l,k,J,_),P=dh(k,N),a){var q,Z,p=a.vs,W=a.uv,H=a.sum;for(W&&(q=a.len/H,a.len+=Kk(l,k),Z=a.len/H),s=i._9O(g,v,M,o,e),f=i._9O(P,N,M,o,e),r=0;M>r;r++)c=r+1,md(p,s[c]),md(p,f[r]),md(p,s[r]),md(p,f[r]),md(p,s[c]),md(p,f[c]),W&&(F=r/M,I=c/M,W.push(q,I,Z,F,q,F,Z,F,q,I,Z,I));!K&&a.bottom_vs&&i._10O(P,N,M,o,e,a.bottom_vs,a.bottom_uv,!0)}else!K&&(G=i.right)&&(i.addV(G.vs,N,P),i._13O(G)),(G=i.front)&&i.addV(G.vs,v,N),(G=i.back)&&i.addV(G.vs,P,g),(G=i.top)&&i.addH(G.vs,v,N,P,g,!0),(G=i.bottom)&&i.addH(G.vs,g,P,N,v);D.p=k,D.f=N,D.b=P},_10O:function(z,D,k,m,p,N,E,h){var l,v,Q=this,g=Q.data,e=Q._9O(z,D,k,m,p),_=(z.x+D.x)/2,R=(z.y+D.y)/2,t=g.getShapeElevation(),C=0;for(C=0;k>C;C++)h?(md(N,e[C]),md(N,e[C+1])):(md(N,e[C+1]),md(N,e[C])),md(N,[_,t,R]),E&&(h?(l=M*(C+1)/k+m,v=M*C/k+m):(l=M*C/k+m,v=M*(C+1)/k+m),E.push(.5-.5*L(v),.5-.5*q(v),.5-.5*L(l),.5-.5*q(l),.5,.5))},_9O:function(z,P,A,H,a){var O,V,k=this,C=k.data,v=[],y=(z.x+P.x)/2,Y=(z.y+P.y)/2,X=C.getTall()/2,p=C.getShapeElevation(),J=0;for(a=a||M;A>=J;J++)O=a*J/A+H,V=L(O),v.push([y+(z.x-y)*V,p+X*q(O),Y+(z.y-Y)*V]);return v},addV:function(j,y,z){var Z=y.x,h=y.y,J=z.x,q=z.y,E=this.data,Q=E.getShapeElevation(),r=E.getTall()/2;j.push(Z,Q-r,h,J,Q-r,q,J,Q+r,q,J,Q+r,q,Z,Q+r,h,Z,Q-r,h)},addH:function(X,z,o,H,E,F){var j=this.data,S=j.getTall()/2,Z=j.getShapeElevation()+(F?S:-S);X.push(z.x,Z,z.y,o.x,Z,o.y,H.x,Z,H.y,H.x,Z,H.y,E.x,Z,E.y,z.x,Z,z.y)},vf:function(D,R,$,g){var P,l=this,Q=l.gv.getFaceVisible(l.data,D);return($||Q)&&(P=Ar(l,D,g),P.vs=[],P.tuv=Q&&(P.texture||R)?[]:J,P.visible=Q),P}});var Vl=function(C,Q){mb(Vl,this,[C,Q])};Be(Vl,$j,{_25Q:1,validate:function(O){var W=this,c=W.data,n=W.s,h=c.getPoints(),i=h.size();if((!W.s("shape3d.geometry.cache")||!W.shapeModel)&&(W.shapeModel=W.info=J,i>1)){var t=W.info={},M=c.getSegments(),I=c.getThickness(),H=el(h.get(0)),L=el(h.get(i-1)),R=i%2;0===R?(t.c1=el(h.get(i/2-1)),t.c2=el(h.get(i/2))):t.p3=el(h.get((i-R)/2)),t.s1=H,t.s2=el(h.get(1)),t.t1=el(h.get(i-2)),t.t2=L,t.list=n(Qp)===eg?W.createTubeModel(h,M,I/2,O):W.createLineModel(h,M,I,"shape.border","shape.dash")}var G=c.p3(),j=W.mat=pg();rr(j,G),ii(j,c.getFinalRotation3d(),c.getRotationMode());var y=c.getScale3d(),B=c._dynamicScale3d;B&&(y[0]*=B[0],y[1]*=B[1],y[2]*=B[2]),Ze(j,y),rr(j,sb(G))},_80o:function(S,A,C){var s=this,Z=s.shapeModel;if(Z){var T=s.gv;Zm(T,s.mat),Oq(T,s.data,Z,s,s.getBodyColor(),C),Lh(T)}}});var ic=K.graph3d.VR=function(a){var R=this;R.gv=a,R._controllers=[],R.switch=new zf(R),R._enable=!1,R._defaultCallLater=K.Default.callLater,R._defaultCancelLater=Se,"undefined"!=typeof C&&"VRFrameData"in C&&(R._frameData=new C.VRFrameData),R.measureOflength=1,R.eyesOffset=[0,0,0],R._orientation=new K.Math.Quaternion,R._lastHeadPose=[0,0,0],R._offsetToBeAdd=[0,0,0],R._fpsInfo={time:0,fps:0,frames:0}};Be(ic,F,{ms_fire:!0,_42:function(s,M,f,Y){var r=this,w=r.gv;if(!w.drawFilter&&r._deviceInAction){var V=r._device;if(V){var R=r._measureOflength;V.depthNear=w.getNear()*R,V.depthFar=w.getFar()*R;var t=r._offsetToBeAdd;if(r.eyesOffset[0]+=t[0],r.eyesOffset[1]+=t[1],r.eyesOffset[2]+=t[2],t[0]=0,t[1]=0,t[2]=0,V.isPresenting===!1)return r._controllers.forEach(function(T){T&&T.update()}),w.iv(),!1;var k=r._frameData;V.getFrameData(k);var l=k.pose.position;if(l){var Z=r.toViewPosition(l);w.setEye(Z),r._orientation.fromArray(k.pose.orientation);var $=new K.Math.Vector3(0,0,-10*r._scaleFactor);$.applyQuaternion(r._orientation),w.setCenter([Z[0]+$.x,Z[1]+$.y,Z[2]+$.z])}r._controllers.forEach(function(x){x&&x.update()}),w.setViewport(s,0,0,M/2,f),r._viewMatrix=r._copyViewMatrix(k.leftViewMatrix),r._projectMatrix=r._copyProjectMatrix(k.leftProjectionMatrix),Y(),w.setViewport(s,M/2,0,M/2,f),r._viewMatrix=r._copyViewMatrix(k.rightViewMatrix),r._projectMatrix=r._copyProjectMatrix(k.rightProjectionMatrix),Y(),r._lastViewMatrix=r._viewMatrix,r._lastProjectMatrix=r._projectMatrix,r._viewMatrix=null,r._projectMatrix=null,r.submitFrame();
|
||
var z=Date.now(),y=r._fpsInfo;return z-y.time>1e3?(y.fps=Math.round(1e3*(y.frames+1)/(z-y.time)),y.time=z,y.frames=0):y.frames++,!0}}},onVRDisplayPresentChange:function(){var P=this.isPresenting();this._injectGraphView(P),this.fp("present",!P,P)},getOrientation:function(){return this._orientation},addController:function(v){v=v||0;var j=this,E=j.getController(v);return E?E:(E=new Jn(j,v),j._controllers.push(E),E)},getController:function(z){z=z||0;for(var d=this._controllers,j=0,s=d.length;s>j;j++)if(d[j]&&d[j].id===z)return d[j];return null},removeController:function(A){A=A||0;for(var V=this._controllers,v=0,a=V.length;a>v;v++)if(V[v]&&V[v].id===A)return V.splice(v,1),!0;return!1},getLastHeadPose:function(){return this._lastHeadPose},toViewPosition:function(k,R){var X=this,f=X._scaleFactor,H=X._eyesOffset,M=X._lastHeadPose;return M[0]=k[0]*f,M[1]=k[1]*f,M[2]=k[2]*f,R?(R[0]=M[0]+H[0],R[1]=M[1]+H[1],R[2]=M[2]+H[2],R):[M[0]+H[0],M[1]+H[1],M[2]+H[2]]},addEyesOffset:function(V,t,g){var b=this._offsetToBeAdd;b[0]+=V,b[1]+=t,b[2]+=g},_copyViewMatrix:function(m){var c=this.dup(m),M=this._scaleFactor;c[12]*=M,c[13]*=M,c[14]*=M;var z=this._eyesOffset;if(z&&(z[0]||z[1]||z[2])){var U=z[0],i=z[1],Y=z[2];c[12]-=c[0]*U+c[4]*i+c[8]*Y,c[13]-=c[1]*U+c[5]*i+c[9]*Y,c[14]-=c[2]*U+c[6]*i+c[10]*Y}return c},shutdown:function(){var $=this._device;$&&$.isPresenting&&$.exitPresent()},isPresenting:function(){var n=this._device;return n&&n.isPresenting},_copyProjectMatrix:function(N){var l=this.dup(N),A=this._scaleFactor;return l[14]*=A,l},dup:function(K,t){for(var P=K.length,E=t||new Array(P);P--;)E[P]=K[P];return E},getViewMatrix:function(D){var s=this._viewMatrix;return s?this.dup(s,D):void 0},getProjectMatrix:function(){var N=this._projectMatrix;return N?this.dup(N):void 0},submitFrame:function(){var B=this;if(B._enable&&B._deviceInAction){var p=B._device;p&&p.isPresenting&&(p.submitFrame(),B.gv.iv())}},getFps:function(){return this._fpsInfo.fps},intersectWorld:function(d){var F=this.gv;return F.intersectObjects(d,F.dm().getDatas())},setDevice:function(_){var q=this;q._device=_},_injectGraphView:function(){var Z,L,l;return function(E){var x=this.gv;if(!E)return Z&&(x.getWidth=Z,x.getHeight=L,x.getDevicePixelRatio=l),void 0;var Q=this._device,A=Q.getEyeParameters("left"),N=A.renderWidth,k=A.renderHeight;Z=x.getWidth,L=x.getHeight,l=x.getDevicePixelRatio,x.getWidth=function(){return 2*N},x.getHeight=function(){return k},x.getDevicePixelRatio=function(){return 1}}}(),_injectCallLaterFunc:function(N){var j=this;if(!N)return Lq=K.Default.callLater=j._defaultCallLater,Se=K.Default.cancelLater=j._defaultCancelLater,void 0;var j=this;Lq=K.Default.callLater=function(h,B,X,y){var I=j._device;return I&&I.isPresenting?y?f(function(){Lq(h,B,X)},y):I.requestAnimationFrame(function(){j._deviceInAction=!0,h.apply(B,X),j._deviceInAction=!1}):j._defaultCallLater(h,B,X,y)},Se=K.Default.cancelLater=function(c,v){var Z=j._device;return Z&&Z.isPresenting?v?i(c):Z.cancelAnimationFrame(c):j._defaultCancelLater(c,v)}}}),F.defineProperties(ic.prototype,{enable:{get:function(){return this._enable},set:function(I){var L=this;L._enable!==I&&(L._enable=I,I?(L.switch.showButton(),L._injectCallLaterFunc(!0)):(L.shutdown(),L.switch.hideButton(),L._injectCallLaterFunc(!1)),L.fp("enable",!I,I))}},measureOflength:{get:function(){return this._measureOflength},set:function(h){this._measureOflength=h;var K=this._scaleFactor=1/h;this._controllers.forEach(function(g){g&&g._setScaleFactor(K)})}},eyesOffset:{get:function(){return this._eyesOffset},set:function(O){this._eyesOffset=O}},controllerModel:{get:function(){return this._controllerModel},set:function(J){var N;"object"==typeof J?(N=J.mtl,J=J.obj):(N=J+".mtl",J+=".obj");var j=this,G=j._controllerModel;G&&G.obj===J&&G.mtl===N||(G=j._controllerModel={obj:J,mtl:N},_.loadObj(J,N,{finishFunc:function(f,v){j._controllerModel===G&&_.setShape3dModel("vrControllerModel",v)}}))}},interactive:{get:function(){return!!this._interactive},set:function(g){!!g!=!!this._interactive&&(this._interactive=g,g&&this.addController(0),this.gv.getCoreInteractor().enableVR(g))}}});var Jn=function(R,s){function r(q){var C=navigator.getGamepads&&navigator.getGamepads();if(C)for(var o=0,P=0,H=C.length;H>o;o++){var L=C[o];if(L){var V=L.id;if("OpenVR Gamepad"===V||"OpenVR Controller"===V||0===V.indexOf("Oculus Touch")||0===V.indexOf("Spatial Controller")){if(P===q)return L;P++}}}}function k(f,G,H){return Math.abs(f[0]-G[0])<H&&Math.abs(f[1]-G[1])<H&&Math.abs(f[2]-G[2])<H?!0:!1}var $=this;$.vr=R,$.id=s;var T,y,h=[0,0],W=[{id:"thumbpad",pressed:!1},{id:"trigger",pressed:!1},{id:"grips",pressed:!1},{id:"menu",pressed:!1}],n=new qr;n.s("shape3d","vrControllerModel"),n.isController=!0,n.s("intersect",!1),$.getGamepad=function(){return y},$.isButtonPressed=function(M){for(var Y,T=0,O=W.length;O>T;T++)if(Y=W[T],Y.id===M)return Y.pressed;return!1},$.getNode=function(){return n};var E=.003;$.setRotationEpsilon=function(C){E=C};var c=5e-4,m=c;$.setPositionEpsilon=function(A){c=A,m=A*$.vr._scaleFactor},$._setScaleFactor=function(F){n.s3(F,F,F),m=c*F},$._setScaleFactor($.vr._scaleFactor);var G,X=new fo,e=new nn,V=[0,0,0],b=[0,0,0],z=new Ij,t=new Le,l=new ur;$.getRay=function(){return G?(l.origin.fromArray(V),l.direction.copy(t),G=!1,l):l},$.update=function(){if(T=y,y=r(s),T!=y&&console.log("gamepad changed",y),!y||y.pose===a)return y=null,n.s("3d.visible",!1),void 0;if(_.getShape3dModel("vrControllerModel")){n.dm()||R.gv.dm().add(n),n.s("3d.visible",!0);var N=y.pose;if(null!==N){N.position&&($.vr.toViewPosition(N.position,V),k(n.p3(),V,m)||(G=!0,n.p3(V))),N.orientation&&(X.fromArray(N.orientation),t.set(0,0,-1).applyQuaternion(X).normalize(),e.makeRotationFromQuaternion(X),z.set(0,0,0,n.getRotationMode(),!0).setFromRotationMatrix(e),b[0]=z.x,b[1]=z.y,b[2]=z.z,k(n.r3(),b,E)||(G=!0,n.r3(b))),G&&R.fp("gamepad.pose",null,{position:V,rotation:b,id:s});var j=y.axes;(h[0]!==j[0]||h[1]!==j[1])&&(h=[j[0],j[1]],R.fp("gamepad.axes",null,{id:s,axes:h}));var Y,F,Q,v,q=y.buttons;for(Y=0,F=q.length;F>Y;Y++)if(Q=q[Y],v=Q.pressed,v!==W[Y].pressed){W[Y].pressed=v;var c={id:s},g="state";c[g]=c._62O=v?"down":"up",R.fp("gamepad.button."+W[Y].id,null,c)}}}}},zf=function(D){this.vr=D,this._button=null};Be(zf,F,{showButton:function(){var y=this.assureButton();if(!y.parentNode){var d=this.vr.gv,f=d.getView();d._79O?f.insertBefore(y,d._79O):f.appendChild(y)}},hideButton:function(){var a=this._button;a&&a.parentNode&&a.parentNode.removeChild(a)},assureButton:function(){var Q=this._button;return Q?Q:this._button=this.createButton(this.vr.gv)},createButton:function(F){function s(d,p){d.textContent=p&&p.isPresenting?"å…³é— VR 显示":"å¼€å¯ VR 显示"}function l(W){_.style.display="",_.style.cursor="pointer",_.style.left="calc(50% - 50px)",_.style.width="100px",s(_,W),_.onmouseenter=function(){_.style.opacity="1.0"},_.onmouseleave=function(){_.style.opacity="0.5"},_.onclick=function(){W.isPresenting?W.exitPresent():W.requestPresent([{source:F.getCanvas()}])},F.vr.setDevice(W)}function d(){_.style.display="",_.style.cursor="auto",_.style.left="calc(50% - 75px)",_.style.width="150px",s(_,null),_.onmouseenter=null,_.onmouseleave=null,_.onclick=null,F.vr.setDevice(null)}function J(D){D.style.position="absolute",D.style.bottom="20px",D.style.padding="12px 6px",D.style.border="1px solid #fff",D.style.borderRadius="4px",D.style.color="#000",D.style.font="normal 13px sans-serif",D.style.textAlign="center",D.style.opacity="0.5",D.style.outline="none",D.style.zIndex="999"}if("getVRDisplays"in navigator){var _=this._button=E.createElement("button");return _.style.display="none",J(_),W(C,"vrdisplayconnect",function(n){l(n.display)}),W(C,"vrdisplaydisconnect",function(){d()}),W(C,"vrdisplaypresentchange",function(m){s(_,m.display),F.vr.onVRDisplayPresentChange()}),navigator.getVRDisplays().then(function(j){j.length>0?l(j[0]):d()}),_}var q=E.createElement("a");return q.href="https://webvr.info",q.innerHTML="当å‰ä¸æ”¯æŒ webvr",q.style.left="calc(50% - 90px)",q.style.width="180px",q.style.textDecoration="none",J(q),q}}),F.defineProperties(zf.prototype,{});var Gk=K.graph3d.PostProcessing=function(_){function v(){if(!C){var I=_.getGL();C=new js.RenderTarget(_,I,null,null,{samples:e.renderTextureSamples||1}),q=new xd.Shader(I,P.vs,P.fs),K=xd.Buffer.createIndexBuffer(I,new Uint16Array([0,2,1,1,2,3])),u=xd.Buffer.createVertexBuffer(I,new Float32Array([0,0,1,0,0,1,1,1]))}}var C,q,K,u,m=this,j={},w=!1;!function(){F.keys(Gk).forEach(function(w){j[w]=new Gk[w](_)})}(),m.getModule=function(M){return M?j[M]:m},m.getModuleList=function(){return F.keys(j)},m.handleDataModleChange=function(k,L){k&&(k.setPostProcessingData(m.serialize()),k.removeSerializeListener(m.onDataModelSerialize,m)),L&&(L.addSerializeListener(m.onDataModelSerialize,m),m.deserialize(L.getPostProcessingData()))},m.onDataModelSerialize=function(B){"serialize"===B.type?_.dm()._postProcessingData=m.serialize():"deserialize"===B.type&&m.deserialize(_.dm().getPostProcessingData())},m.serialize=function(){var i,P,w,X,F={};for(i in j)w=j[i],P=i.toLowerCase(),F[P]={enable:w.enable},X=w.serializeProperties,X&&X.forEach(function(m){F[P][m]=w[m]});return F},m.deserialize=function(S){if(S){var u,k,q,v,t;for(k in S)if(k&&(u=k[0].toUpperCase()+k.slice(1),q=j[u])){v=S[k],m.enableModule(u,v.enable);for(t in v)"enable"!==t&&(q[t]=v[t])}}else{var u,q;for(u in j)q=j[u],q.enable=!1,q.resetProperties&&q.resetProperties()}},m.decodeShader=function(U){var f,X,r,O="",t="";for(r=0;r<U.length;r++)f=U[r],"%"===f?f="'":"a"===f?f='"':"]"===f&&(f="\\"),X=String.fromCharCode(f.charCodeAt(0)-1),r%2?t+=X:O=X+O;return t+O},m.createShader=function(o,$,p){var N=$.indexOf("^#"),R=m.decodeShader($.substr(0,N)),P=m.decodeShader($.substr(N+2));if(p){var c=p(R,P);c&&c.vs&&(R=c.vs),c&&c.fs&&(P=c.fs)}return new xd.Shader(o,R,P)},m.enableModule=function(l,C){var A,F,I,r=l.split(",");for(A=0,F=r.length;F>A;A++)I=r[A].trim(),j[I]&&(j[I].enable=C);w=!1;for(I in j)if(j[I].enable){w=!0;break}w&&v()};var P={vs:["attribute vec2 pos;","varying vec2 vUv;","void main(void) {","gl_Position = vec4(pos.x * 2.0 - 1.0, -pos.y * 2.0 + 1.0, 0.0, 1.0);","vUv = vec2(pos.x, 1.0 - pos.y);","}"].join("\n"),fs:["precision highp float;","uniform sampler2D image;","varying vec2 vUv;","void main() {","gl_FragColor = texture2D(image, vUv);","}"].join("\n")};m._42=function(f,k,G,e,t){if(w&&!t){C.setSize(f,k,G),C.bind(f),f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT),_.setViewport(f,0,0,k,G),e(),C.unbind(f);for(var s=0,S=_._glCapabilities.maxAttributes;S>s;s++)f.disableVertexAttribArray(s);var D,z=C;for(D in j)z=j[D]._42(f,z)||z;return _.setViewport(f,0,0,k,G),f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT),q.bind(),f.activeTexture(f.TEXTURE0+0),f.bindTexture(f.TEXTURE_2D,z.texture),q.uniforms.image=0,K.upload(),u.upload(),q.attributes.pos.pointer(u),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),f.bindTexture(f.TEXTURE_2D,null),f.useProgram(_._prg),!0}}},um=K.graph3d.PostProcessing.Bloom=function(K){function D(){var D=K.getGL();if(D)for(var y=K._postProcessing,S=0;G>S;S++)w[S]=y.createShader(D,um._35Q,function(E,_){return{fs:_.replace(/DEFINE_VALUE/g,O[S]).replace("%OVERRIDE_ALPHA_DEFINE%",J?"#define OVERRIDE_ALPHA":"")}})}function l(){var L=K.getWidth(),v=K.getHeight();if(L&&v){N=[L,v],c=!0;var C,I=K.getGL(),g=Math.round(N[0]/2),z=Math.round(N[1]/2);for(T=new js.RenderTarget(K,I,g,z),C=0;G>C;C++)x.push(new js.RenderTarget(K,I,g,z)),Y.push(new js.RenderTarget(K,I,g,z)),g=Math.round(g/2),z=Math.round(z/2);var A=K._postProcessing;s=A.createShader(I,um._34Q),D(),W=A.createShader(I,um._36Q,function(R,j){return{fs:j.replace(/NUM_MIPS/g,G)}}),u=A.createShader(I,um.finalShader),U=xd.Buffer.createIndexBuffer(I,new Uint16Array([0,2,1,1,2,3])),d=xd.Buffer.createVertexBuffer(I,new Float32Array([0,0,1,0,0,1,1,1]))}}var e,i,B,J,U,d,A=this,$=!1,c=!1;this.serializeProperties="strength,threshold,radius,overrideAlpha".split(","),this.resetProperties=function(){e=1.5,i=.55,B=.4,J=!0},F.defineProperties(A,{enable:{get:function(){return $},set:function(O){!!$!=!!O&&($=O,O&&!c&&l())}},strength:{get:function(){return e},set:function(K){e=K}},threshold:{get:function(){return i},set:function(j){i=j}},radius:{get:function(){return B},set:function(y){B=y}},overrideAlpha:{get:function(){return J},set:function(E){!!J!=!!E&&(J=E,c&&D())}}}),this.resetProperties();var T,s,W,u,N=[256,256],x=[],Y=[],G=5,O=[3,5,7,9,11],w=[];A._42=function(M,O){function _(m,W,I,Y){gh(M,W.frame),K.setViewport(M,0,0,W.width,W.height),Y?Y(M):M.clear(M.COLOR_BUFFER_BIT|M.DEPTH_BUFFER_BIT),A!==m&&m.bind();var B=0;for(var z in I){var S=I[z];S instanceof WebGLTexture&&(M.activeTexture(M.TEXTURE0+B),M.bindTexture(M.TEXTURE_2D,S),S=B,B++),m.uniforms[z]=S}for(A!==m&&(U.upload(),d.upload(),m.attributes.pos.pointer(d),A=m),M.drawElements(M.TRIANGLES,6,M.UNSIGNED_SHORT,0);B--;)M.activeTexture(M.TEXTURE0+B),M.bindTexture(M.TEXTURE_2D,null);bh(M)}if($&&(c||(l(),c))){var A;_(s,T,{smoothWidth:.01,luminosityThreshold:i,tDiffuse:O.texture});var I,a=T,z=Math.round(N[0]/2),h=Math.round(N[1]/2);for(I=0;G>I;I++)_(w[I],x[I],{colorTexture:a.texture,direction:[1,0],texSize:[z,h]}),_(w[I],Y[I],{colorTexture:x[I].texture,direction:[0,1],texSize:[z,h]}),z=Math.round(z/2),h=Math.round(h/2),a=Y[I];return _(W,x[0],{blurTexture1:Y[0].texture,blurTexture2:Y[1].texture,blurTexture3:Y[2].texture,blurTexture4:Y[3].texture,blurTexture5:Y[4].texture,bloomStrength:e,bloomRadius:B,bloomTintColor:[1,1,1]}),_(u,O,{image:x[0].texture},function(Q){Q.enable(Q.BLEND),Q.blendEquation(Q.FUNC_ADD),Q.blendFunc(Q.SRC_ALPHA,Q.ONE)}),M.blendEquationSeparate(M.FUNC_ADD,M.FUNC_ADD),M.blendFuncSeparate(M.SRC_ALPHA,M.ONE_MINUS_SRC_ALPHA,M.ONE,M.ONE_MINUS_SRC_ALPHA),O}}};um._34Q="~bu<u*szj/ctvpuqf!!.w!f1d/32!!q-pyt/<tpwqb)s3zdjfowh!!>w!fwdV3w!w<V*w1</2w!p-j1e/!1n!b-j1o/)2w!p,j!e1*/!3|!+h!mz`/Qtpptqj.u!j-p1o/!2>!!.w!f1d/53)!q+p!ty/^#~qs<f*d!jbtijqpmob!!i-jmhfiyqf!ug!m-psbpum<pDvuovjqgupvspn!!)tybjnnq!m>f!ss3pEm!puDEhjbgsgGv`tmfh<<v*o!jwg!p-sinu!egjmXpibuup!pmnvtn!j,o!petmjpuiztUfissifUtziupjmtep<ojvnovjmg!p-senm!pgimtpfbsui!UtznupjptupioXjjnevumi!<)qwfbustzijuophp!nwtf!d>3!!bwiVqwm<b!wupbjpem!gnb<j*o1)/*1!!|-1w/f1d!5-!1u/f1y!f-m1!/>1!)u5fdyfuwv!s>f!3sEp)m!puDEujvgqguvvtpf!-5!dwfVww!<**<!bwnfvdm4!!-m{vznyb/!m>f!ywffud!4))u!p1e/!3>:!:w-!!u1b/p6m9g8-<!*1!/522",um._35Q="~bu<u*szj/ctvpuqf!!.w!f1d/32!!q-pyt/<tpwqb)s3zdjfowh!!>w!fwdV3w!w<V*w1</2w!p-j1e/!1n!b-j1o/)2w!p,j!e1*/!3|!+h!mz`/Qtpptqj.u!j-p1o/!2>!!.w!f1d/53)!q+p!ty/^#~qsgfjdejotfj$po<!*ibj/hyijqQ!fgsmvpubyuf<u!w-bnsvzTjuoihh!jwffxd03n!vwTVfwt<vgvgojjeg)p5sdnf!wt!b>n!qsmpfmsp3DEh!bdspGm`pmshUffytumvfs$f<<*v1o/j2g!p-snnv!Twufidh3j!fuxf0ynTvjT{fft<vgvgojjeg)p5sdnf!ww!f>d!3s!pemjpsDfhdbusjGp`om<h$BeIfQgMjBo`fF!ELJFSSSOFFWMP`!SgBfEeJgVjT$!E~FG<JxO!F+`!W1B/M3V!F>,$!enfvgTjuoifh!jTfJxHN<Bx!!E+F!G*J3OfFm`qWnBbMtV!F,!&2PfWmFqSnSbJtE)F!`>B,M!QnIvBT`fEtFvGgJgOjFe&<gcmhpsb/u*!uhfbtvgtgtPjwbvo!Q.e!gw)Vjwo!!-gfmspvbuuy!fyU-s!pjmop!dg!m)pEb3uf!stvjuhynfbu*!!>|!3sffmuqvnsbot!!14/d4f:w9:<5c!h+s!/f*yuqf)t!g.g1P/w6v!!+,!!yw!V+w!!y-0f)s!vtujyhfnUbs!p+m!ptdj!h)nEb3*f*s0vtujyhfnub!<>!~2fwmpqjneb!tn!b4jdof)w*!<|y!w+f!df3{!jjTowwoTjj!{+f!!o>p!j2u/d1f!s0j!eu!f>y!Tujf{tfg<gPgwmvp!b3ud!fgwTj<h*nbbn!h>j!Tggm!p-byu))gTeJQHoNbBj*t<tvgbmhp!b>u!!xx!fujbhpimugTv<n*!j>)!uhbbpvmtgt!j>b!oyQ!eugb)p1m/g1-|!!g*T!j,h,n!bj*!<<TwVfJdE5B!Su`fMyFuOvSsFfLQ!j=y!!j>!!<u2f!y>u!vjs!fu3oEj)!!)dsppmgps<UnfvyTuuvishfj-f!xw!V+w!*c<hsw/fydj4Q!fesjvgugyvftuf!T>v!n",um._36Q="~bu<u*szj/ctvpuqf!!.w!f1d/32!!q-pyt/<tpwqb)s3zdjfowh!!>w!fwdV3w!w<V*w1</2w!p-j1e/!1n!b-j1o/)2w!p,j!e1*/!3|!+h!mz`/Qtpptqj.u!j-p1o/!2>!!.w!f1d/53)!q+p!ty/^#~qs<f*d!j*twjVpwo!!-i6jfhsivqu!ygfmUpsbvum<c)wEb3sfzsjvouhy!fwuf!d+3!!*w1V/w2<!-vsopjmgppDsuno!jtUbnnpqpmmfcs)35Ed!fcwm!v+s!U*f3y/u1v)ssfp2u<dbvGonjpgppmsCnq!stfbmnq!m,f!s*3wEV!wc!m-v5sfUsfvyuuyvfsUfs3v<mcv)oEj3gfpssvnu!ytfbun!q+m!f*s13/E2!!c-msvpsmUpfDyuuovjsUfn4p<pmvco)j5gdpfswn!!+t!b*n5q/m1f)ss3pEu!dcbmGvnspUpfmyCuqvssffm5<!,v!o*jwgVpws!n-!4tfbsnvqumyffsU3sEv!mccm)vEs3Uffsyvuuvysffu6!<+!v*o1j/g2p!s-ns!ptmbpnDqumofjsU3nEp!pemjcs)u5Udffywu!v+s!f*<7/v1o)jsgppusdnb!GgnmpppbmuC!qcsmfpmpn!T,u!s*fwoVhwu!i-<3fvsovjugypfsUns!vgmmcp)bEu3!fcsmvpupynfSub!e+j!v*t1</2v!o-jsgppmspnD!uwofjdU4n!pcpmmpcp)n5Udjfowu!D+p!m*p9s/<1)gsmppubdub!GmnfpspqmCCmqpspfnmGb!d,u!p*sw)Vdwp!o-t2uf!sjvou!ygfmUpsbvum!cg)bEd3ufpssv*u!y|fug!m+p!b*u1!/n2j!s-ssppsmGpbDduuopjsU!n>p!p2m/c3)!5.d!fgwb!d+u!p*s1</2s)fsupvusdob!Gnnjpyp)mgCbqdsufpms!-)!!n+j!sisuphsoGfbsduuTpnsp-p!mccm!p>p!nsSpbmepjDvhtb*s<G`~mhwp|j!e*!)nobj",um.finalShader="~bu<u*szj/ctvpuqf!!.w!f1d/32!!q-pyt/<tpwqb)s3zdjfowh!!>w!fwdV3w!w<V*w1</2w!p-j1e/!1n!b-j1o/)2w!p,j!e1*/!3|!+h!mz`/Qtpptqj.u!j-p1o/!2>!!.w!f1d/53)!q+p!ty/^#~qs<f*dwjVtwj!p-of!hibjnhji)qE!3gfmspvbuuy<fuv!o>j!gsppsmnp!DthbbnsqGm`fmsh3E|!!j*n)bohjfb<n!webjspzwjo<hw!Vwwf!d3";var Vm=K.graph3d.PostProcessing.Dof=function(b){function $(){R=!0;var H=b.getGL();J=new js.RenderTarget(b,H),E=b._postProcessing.createShader(H,Vm._38Q),u=xd.Buffer.createIndexBuffer(H,new Uint16Array([0,2,1,1,2,3])),K=xd.Buffer.createVertexBuffer(H,new Float32Array([0,0,1,0,0,1,1,1]))}var J,E,u,K,s,V,p,T,N=this,v=!1,R=!1;this.serializeProperties="aperture,maxblur,image".split(","),this.resetProperties=function(){this.aperture=.025,this.maxblur=1,this.image=null},F.defineProperties(N,{enable:{get:function(){return v},set:function(f){!!v!=!!f&&(v=f,f&&!R&&$())}},image:{get:function(){return V},set:function(H){V!==H&&(V=H,s&&(b.getGL().deleteTexture(s),s=null),b.iv())}},maxblur:{get:function(){return p},set:function(o){p!==o&&(p=o,b.iv())}},aperture:{get:function(){return T},set:function(g){T!==g&&(T=g,b.iv())}}}),this.resetProperties(),N._42=function(Q,Z){function _(M,X,Z,r){gh(Q,X.frame),b.setViewport(Q,0,0,X.width,X.height),r?r(Q):Q.clear(Q.COLOR_BUFFER_BIT|Q.DEPTH_BUFFER_BIT),j!==M&&M.bind();var D=0;for(var O in Z){var e=Z[O];e instanceof WebGLTexture&&(Q.activeTexture(Q.TEXTURE0+D),Q.bindTexture(Q.TEXTURE_2D,e),e=D,D++),M.uniforms[O]=e}for(j!==M&&(u.upload(),K.upload(),M.attributes.pos.pointer(K),j=M),Q.drawElements(Q.TRIANGLES,6,Q.UNSIGNED_SHORT,0);D--;)Q.activeTexture(Q.TEXTURE0+D),Q.bindTexture(Q.TEXTURE_2D,null);bh(Q)}if(v){R||$();var j;if(!s){var M=Kg(this.image);if(!M||!M.tagName)return Z;s=$n(Q,M)}var C=Z.width,W=Z.height;if(C&&W)return J.setSize(Q,C,W),_(E,J,{tColor:Z.texture,tDepth:s,aspect:C/W,aperture:this.aperture,maxblur:this.maxblur}),J}}};Vm._38Q="~bu<u*szj/ctvpuqf!!.w!f1d/32!!q-pyt/<tpwqb)s3zdjfowh!!>w!fwdV3w!w<V*w1</2w!p-j1e/!1n!b-j1o/)2w!p,j!e1*/!3|!+h!mz`/Qtpptqj.u!j-p1o/!2>!!.w!f1d/53)!q+p!ty/^#~qs<f1d/j2t!j>p!ob!/isjphmipqD!hgbmspGb`um<hw<b1s/z2j5o!h0!!wmfpdd3!!>w!Vswp<mpvDohjbgspGs`nm!hcp<p*m!!5vstvfmEcfgqpuei!<+!v*o!jugdpfssns!ptdbundqfmqftsb3!E+!!u*D!p5m/p1s!<-1v/o1j!g)p3sdnf!wt!b)n!q,m!fzsy3/Ew!VuwE!f-qsupim<pDvuo!j)gEp3sfns!vgumypfbuu!!>n,b!ymcpmdvs<<*!v5osjvgmpcsgnp!eg!m+p!b*u!!ubdqffsssupvdsufd<fqvtobj!g+p!s*n!!:g3m/p1b.u!!-o:f3b/s1D.m!j)q3<dfvwo!j)g!p,s!nz!yg/mwpVbwu!!-gsbpsmDpmDjuq!<)Ev3ofjsgvpusynf!ug!m>p,b!um!pgdpd<v*t!<5svvomjcggppsen!!+g!m*p!buud!fbstsqpfdduud<fqdtpbo!t+u!!*g!m1p/b1u!!-V5o/q1b.d!l)E3pdxfowt!d)b!m,f!!z>y!/3w6V6w/!!-0s!p3m6p7D/u<!!)0E03!f1s/v/u2y!f.u?!!>g,s!bmdpudjp<o*!!)5fsyvdmmcvgepjeo!h+!!2**!uddpfostsup!dwufddf4q!tQbb!d+l!G*b!d:u3p/s1t!!->:!3w/f1d.4!))!33d6f7w/!!)+!!,3!6z7y//!w+V!w3!6-7s/p-m!p3D6u7!/)!E+3!f3s6v7u/y-f!u3!6>7,/!!m*p<dd<p*o!t5us!vwmfcdg5p!eV!o+q!b*d!luGdbfdsusppsdtu!d>f!qVtobq!b+d!l*E!p5x/o1t.d!b-m1f/!10!!)w3fddf5w)!!)Q!b,d!lzGyb/dwuVpws!t--s!p2m/p!D*u<!)gEm3pfbsuv!uvyofqub!d>l,S!HmCpBdUp<E*f!q5usiv)m!cdgppoet!u+!!j*o!!uwdffds5s!pwd!u*d!f|qt!bs!f+u!v*s!o:!3e/p1u.)!!-w:-3!/V1o!q)b3ddlfGwb!d)u!p,s!tz!y*/<wV~w!g-msppbmup!Dhuf!u)EEf3qfusiv)u!ydfpuo!t>u,!!jmop!dwf<d*3!!5tsdvsmfcfgopQep!t+j!u*j!puod!f*s!s|pd\nusdffuqvtsbo!!+v!o*q!b1d/l1S!H-C5B/U1p!E)f3qdufiw)!!)u!f,y!uzvys/fw3VEw)!!-usEpfmqpuDiu-!!)tEd3sffsfvouQypftuj!u>j,p!om!p*d!*<<*!~5sgvmmpcbgup!eq!f+s!t*q!fuddufjswsfpEdfuqdufiqUtpbW!j+f!x*[!):!3d/p1o!t-u:!3j/o1!!g)m3pdbfuw!!j)o!w,D!mzjyq/[w-V!wd!p-ostpum!pjDou!!g)mEp3bfus!voufybfsu-!!>d,p!omtpud!j<o*!!g8mspvbmuc!ggpbes!!+*!!*|!u!dsffsusvpsdou!d)f!qotfbb!s+!!+*!!g5b/s1!!*-!10/!1)!!))3!dgfbws!!).!!,o!fzbys/!w*V!w+!!-jsopwmDpmDjuq![)!E.3!fgsbvsu!y*f<u!~>,g!mmppbdu!<h*f!u8Wsjvfmxc[g)p!ed!p+o!t*u!!ujdof!sgsmppdbuud!feqftqbu!i+!!**!!|:3\n/s1f.u!v-s:o3!/q1f.s!t)q3fddfuwj!w)f!E,f!qzuyi/UwpVWwj!f-xs[p)m!peDfuq!u)iE-3!fosfvbusyDfmuj!q>-,!!gmbpsdDm<j*q!!8*s<vm~cgwppej!e+!!n*b!juod)f*s!s|pdwufddf3q!tebp!g+c!m*v!s1</1w!f-d53/!1b.t!q)f3ddufdwp!s)s!f,d!uz!y>/!wwVfwd!3-)s!p2m/p1D-u!!b)tEq3ffdsuv!u*y<fuj!g>!,)!vmtpfdEf<q*u!i8*s!v|mc!ggpmep!b+u!!*w!jufdxf[s!s>p!dhufdufWqjtfbx![+)!!*h!f:u3E/f1q!u-i:)3!/w1V.w!!)*3!d*f<w!!)g!m,p!bzuy!/gwbVdwu!p-ss!p>m!p)D!ug!p)dEv3tf!s,v!uwyjffux![>!,*!<mp!dep<g*c!m8vssv!m>c!gwpfed!3+!!)*!!dumdbfnsqs)p!dgubddfuqptsb!!++!!b*q!f5s/u1v.s!f--1!/.1n!b)y3cdmfvws!-)!!n,b!yzcym/vwsV!w*!!-*s<pm~pDfum!t)fE!3|fs!veupygfcum!v>s,!!>m!pwdfd<3*!!)8!sdvmmbcngqp)e!!u+f!y*u!vusdff3sEs)p!duuEdffqqutib-!!+w!f*d!3:)3w/V1w./!y--:!32//11!!).3!dwfVww!/)z!*,!!*z/yb/!w+V!wb!q-fsspumvpsDfu-!!).En3bfyscvmuvysf-u!!n>b,y!cmmpvds!<**!!*8<sv~mcwgfpde3!!+e!p*g!cumdvfss:s!p>d!uedpfgqctmbv!s+!!+*!!11//:1<!-w1f5d/31!!e)p3gdcfmwv!s)8!!,>!!zeyp/gwcVmwv!s-!s+p!m1p/D8u<!)wEf3df3s!veupygfcum!v>s,5!!m>p!dep<g*c!m8vssv!m+c!g1p/e5!<+!w*f!du5d!fdspsmp!d>u!dwffqdt5b)!!+1!/*1!!:*3</1d!p-m:!3,/>1!!u)f3ydufvws!f)3!E,)!!zuyD/pwmVpws!--!swpVmwp/Dyuz!!)*E<3fdspvmu!y,f>u!!u>f,y!umvpsdf3<E*)!!:usDvpmmcpgsp-e!!w+V!w*/!yuzd!f,s!s)p!dwufddf3q)t!b1!/+1!-*!!18/45/!1*.!!+-!6b2t/q1f!d)u3ddpfsws!f)d!u,!!*z!y+/!weVpwg!c-msvpsm!p*D<u!d)pEm3!f,s>v!uuyffyuu!v>s,f!3mEp)d!u<D*p!m:pssv-m!cwgVpwe/!y+z!!*,!!u)d!fwsfsdp3d)u!d1f/q2t6b-!!+1!/*4!86!2*/!1+.!!b-t8q4f/d1u.d!p)s3sdffdwu!!)*!!,+!!zeyp/gwcVmwv!s-!s*p<mpdDpum!!),E>3!fusfvyuuyvfsuf!3>E,)!!mupDdpm<p*s!-:!swvVmwc/gypze!!,+!!)*!!wufddf3s)s!p1d/u3d:f-q!t1b/!3+:!!**!!6+2!/b1t!q-f8d4u/d1p!s)s3fddfuw!!*)!!+,!!ezpyg/cwmVvws!!-*s<pmdppDmu!!,)>E!3uffsyvuuvysffu3!E>),!!umDppdmp<s*-!!:wsVvwm/cygzp!e,!!+)!!*w!fudd3f)s!s.p1d/u4d8f-q!t1b/!2+6!!**!!8+4!/b1t!q-f6d2u/d1p.s!s)f3dduf!w*!!)+!!,e!pzgyc/mwvVsw!!*-<spdmppmD!u,!>)!Eu3ffysuvvusyff3uE!)>!,u!Dmppmdps<-*!!w:Vswv/myczg!p,e!!)+!!w*f!du3d)f!s1s/p5d1u-d!f1q/t1b!!*+!!+*!!b8t4q/f1d.u!d-p6s2s/f1d.u!!)*3!d+f!we!p)g!c,m!vzsy!/*w<Vwd!p-ms!p,m>p!Duuf!y)uEv3sffs3vEu)y!fuuD!p>m,p!sm-p!dwV<w*/!y:zs!v,m!c)g!pwef!d+3!)*!!1u/d4f8s-s!p.d1u/d2f6q!t*b!!++!!b*t!q6f2d/u1d.p!s-s8f4d/u1!!*)!3+d!fewp!g)c!m,v!sz!y*/<wVdwp!m-!s,p>m!puDfuy!u)vEs3ff3sEv)u!yufDup!m>p,s!-m!pwdVw</*y!z:!s,v!m)c!gwpfed!3+)!!*1!/u3d:f-s!s.p1d/u3d:f!q*t!b+!!+b!t*q!f6d2u/d1p!s-s8f4d/u1!.*!!)+3!defpwg!c)m!v,s!!z*y</wdVpwm!!-,s>p!mupfDyuu!v)sEf33fEs)v!uuyDfpum!p>s,-!!mwpVdw/<y*z!!:,s!v)m!cwgfpde3!)+!!.*1!/u2d6f-s!s.p1d/u4d8f!q*t!b+!!+b!t*q!f8d4u/d1p!s-s6f2d/u1!!*)!3+d!fewp!g)c!m,v!sz!y*/<wVdwp!m-!s,p>m!puDfuy!u)vEs3ff3sEv)u!yufDup!m>p,s!-m!pwdVw</*y!zs!v,m!c)g!pwef!d+3!)*!!1u/d1f-s!s.p1d/u5d!f*q!t+b!!b+t!q*f!d8u4d/p1s.s!f-d6u2!/*1!!+)!3edpfgwc!m)v!s,!!*z<y/dwpVmw!!,->s!pumfpyDuuv!s)fE33Ef)s!vuuDypfmup!s>-,!!wmVpwd/y<z*!!,s!v)m!cwgfpde3!)+!!.*1!/u2d6f-s!s1p/d4u8d!f*q!t+b!!b+t!q*f!d:u3d/p1s.s!f-d:u3!/*1!.+!!)e3pdgfcwm!v)s!!,*!<zyd/pwmV!w,!>-!supfmypuDvus!f)3EE3)f!suvDupymfpus!->!,w!Vmwp/dyz<!*,!!s)v!mwcfgdp3e)!!+.!1*/!3u:d-f!s1s/p3d:u!d*f!q+t!bb!t+q!f*d!u6d2p/s1s.f!d-u8!4*/!1+.!!e)p3gdcfmwv!s)!!*,<!zdyp/mw!V,w>!!-usfpymupvDsuf!3)EE)3!fusDvpumypfsu-!!>w,V!wm/pydz!<,*!!)s!vwmfcdg3p)e!!1+/!4*8!-u!d1f/s2s6p!d*u!d+f!qbttbq!f+d!u*d!p1s/s1f!d-u5!/*1!.+!!)e3pdgfcwm!v)s!!,*!<zyd/pwmV!w,!>-!supfmypuDvus!f)3E",Iq(_,{accordionViewExpandIcon:Ul(Gc),accordionViewCollapseIcon:Ul(Gc,!0),accordionViewLabelColor:tc,accordionViewLabelFont:dm,accordionViewTitleBackground:Od,accordionViewSelectBackground:fl,accordionViewSelectWidth:3,accordionViewSeparatorColor:a,splitViewDividerSize:1,splitViewDividerBackground:Od,splitViewDragOpacity:.5,splitViewToggleIcon:{width:16,height:16,comps:[{type:qh,rect:[2,2,12,12],background:Gc}]},propertyViewLabelColor:sp,propertyViewLabelSelectColor:tc,propertyViewLabelFont:dm,propertyViewExpandIcon:Ul(Yf),propertyViewCollapseIcon:Ul(Yf,!0),propertyViewBackground:Rp,propertyViewRowLineVisible:!0,propertyViewColumnLineVisible:!0,propertyViewRowLineColor:eb,propertyViewColumnLineColor:eb,propertyViewSelectBackground:fl,listViewLabelColor:sp,listViewLabelSelectColor:tc,listViewLabelFont:dm,listViewRowLineVisible:!1,listViewRowLineColor:eb,listViewSelectBackground:fl,treeViewLabelColor:sp,treeViewLabelSelectColor:tc,treeViewLabelFont:dm,treeViewExpandIcon:Ul(Dm),treeViewCollapseIcon:Ul(Dm,!0),treeViewRowLineVisible:!1,treeViewRowLineColor:eb,treeViewSelectBackground:fl,treeViewDoubleClickToToggle:!0,tableViewLabelColor:sp,tableViewLabelSelectColor:tc,tableViewLabelFont:dm,tableViewRowLineVisible:!0,tableViewColumnLineVisible:!0,tableViewRowLineColor:eb,tableViewColumnLineColor:eb,tableViewSelectBackground:fl,treeTableViewLabelColor:sp,treeTableViewLabelSelectColor:tc,treeTableViewLabelFont:dm,treeTableViewExpandIcon:Ul(Dm),treeTableViewCollapseIcon:Ul(Dm,!0),treeTableViewRowLineVisible:!0,treeTableViewColumnLineVisible:!0,treeTableViewRowLineColor:eb,treeTableViewColumnLineColor:eb,treeTableViewSelectBackground:fl,tableHeaderLabelColor:sp,tableHeaderLabelFont:dm,tableHeaderColumnLineVisible:!0,tableHeaderColumnLineColor:me,tableHeaderBackground:Rp,tableHeaderMoveBackground:_o,tableHeaderInsertColor:fl,tableHeaderSortDescIcon:Ao(Yf,!0),tableHeaderSortAscIcon:Ao(Yf),tabViewTabGap:1,tabViewLabelColor:tc,tabViewLabelFont:dm,tabViewTabBackground:Od,tabViewSelectWidth:3,tabViewSelectBackground:fl,tabViewMoveBackground:_o,tabViewInsertColor:fl,toolbarLabelColor:sp,toolbarLabelSelectColor:tc,toolbarLabelFont:dm,toolbarBackground:Rp,toolbarSelectBackground:fl,toolbarItemGap:8,toolbarSeparatorColor:Yr},!0);var gm={translateX:1,sortColumn:1},ei={sortable:1,sortOrder:1,sortFunc:1},Nl={focusData:1},Tj={dataModel:1,sortColumn:1,sortFunc:1,visibleFunc:1,rootData:1,rootVisible:1},$k={dataModel:1,sortFunc:1,visibleFunc:1,categorizable:1},Rf=function(h,l){l.add(h),h.hasChildren()&&h.eachChild(function(w){Rf(w,l)})},Dh=function(K,b,H,R,M,w,L,N,l,r,X){var C,k=H.getValueType(r),y=H.getAlign(r);if(H.getEnumValues(r)){var A=H.toEnumLabel(b,r),W=Gb||0,P=0,h=w,U=_.getTextSize(R,A).width;return C=Kg(H.toEnumIcon(b,r)),C&&(P=w+Gb/2,"center"===y?P+=(N-(W+U))/2:"right"===y&&(P=P+N-(W+U)),Uf(K,C,P,L+l/2,r,X),h=P+Gb/2),A!=J&&(C?Ap(K,A,R,M,h,L,N-(h-w),l):Ap(K,A,R,M,w,L,N,l,y)),void 0}return b=H.formatValue(b),b!=J?k===ms?(ao(K,w,L,N,l,b),void 0):k===ud||!k&&Bh(b)?(C=Kg(b?pj:Hg),Uf(K,C,w+N/2,L+l/2,r,X),void 0):(Ap(K,b,R,M,w,L,N,l,y),void 0):void 0},qk=function(Q,o){var M=o.view,H=us(Q),v=o.column||o.property;M.getDataModel().beginTransaction(),o.editor=Q,Q.info=o,M.setCurrentEditor(Q),M.getView().insertBefore(H,M._79O),Rj(Q,o.editorRect),Q.setFocus?Q.setFocus():Vi(Q),Q.commitValue=function(f,G){Q._17Q&&(Q=Q._17Q),G||M.setValue(o.data,v,Q.getValue?Q.getValue():Q.value),Q.close&&Q.close(),Pk(H)},v.onEditorCreated&&v.onEditorCreated(o)},fp=function(k,K,l,B,Z){var i=Sj(k,l),m=K.value,I=K.view,L=Z.getValueType(K.data);return i.onblur=i.onchange=function(){I.endEditing()},"input"===k?(m=Z.formatValue(m),m!=J&&(i.value=m),i.onkeydown=function(G){ki(G)?I.endEditing():kj(G)&&I.endEditing(!0)},(L===bm||L===Af)&&W(i,bg,_.numberListener)):k===sr&&B.forEach(function(W){var w=E.createElement("option");w.innerHTML=Z.toEnumLabel(W),w.value=W,Z.isEnumEqual(m,W)&&(w.selected=!0),cl(i,w)}),qk(i,K),i},hk=K.widget={},Of=function(e,h,O){Be(D+".widget."+e,h,O)};Iq(ah,{ms_value:function(t){t.getValue=function(B){var L=this.getItemById(B),H=L.element;return tg(H)?H:H?H.getValue?H.getValue():H.value:L.selected},t.setValue=function(X,M){var E=this.getItemById(X);if(E){var d=E.element;d&&!tg(d)?d.setValue?d.setValue(M):d.value=M:Bh(M)?(E.selected=M,this.iv()):(E.element=M,this.iv())}},t.v=function(N,W){var u=this;if(2===arguments.length)u.setValue(N,W);else{if(!Dl(N))return u.getValue(N);for(var e in N)u.setValue(e,N[e])}return u}},_46o:function(u){u._icon=J,u._accessType=J,u._valueType=J,u._editable=!1,u._batchEditable=!0,u._align=rg,u._nullable=!0,u._emptiable=!1,u.setParent=wj,u.formatValue=function(b){var y=this,z=y._valueType;return y.getEnumValues()?y.toEnumLabel(b):z===ud?!!b:b!=J&&z===bm?d(b):b},u.setEnum=function(D,g,q,F,$,B,S){var Z=this;D&&!Bl(D)&&D.values&&(F=D.editable,q=D.icons,g=D.labels,$=D.strict,B=D.maxHeight,S=D.dropDownWidth,D=D.values),Cm(D)&&(D=D._as),Cm(g)&&(g=g._as),Cm(q)&&(q=q._as),Z._enumValues=D,Z._enumLabels=g,Z._enumIcons=q,Z._enumEditable=F,Z._enumStrict=$==J?!0:$,Z._enumMaxHeight=B,Z._enumDropDownWidth=S,D&&D.length&&Zq(D[0])&&(Z._valueType=Af),Z.fp("enum",!1,!0)},u.getEnumDropDownWidth=function(){return this._enumDropDownWidth},u.getEnumMaxHeight=function(){return this._enumMaxHeight},u.isEnumEditable=function(){return this._enumEditable},u.getEnumValues=function(){return this._enumValues},u.getEnumLabels=function(){return this._enumLabels},u.getEnumIcons=function(){return this._enumIcons},u.isEnumStrict=function(){return this._enumStrict},u.isEnumEqual=function(U,T){return this._enumStrict?U===T:U==T},u.toEnumLabel=function(n,T){var f=this,p=f.getEnumValues(T),e=f.getEnumLabels(T);if(p&&e)for(var z=0;z<p.length;z++)if(f.isEnumEqual(n,p[z]))return e[z];return n},u.toEnumIcon=function($,J){var n=this,Z=n.getEnumValues(J),p=n.getEnumIcons(J);if(Z&&p)for(var c=0;c<Z.length;c++)if(n.isEnumEqual($,Z[c]))return p[c];return a}},_45o:function(Z){Z._87o=function(B,$,K,v,X,h){if(B){var _=this,F=_._90I,E=nl(1);_._columnLineVisible&&(X-=1),_._rowLineVisible&&(h-=1),0>=X||0>=h||(_._90I||(F=_._90I={}),F[$]||(F[$]=new Sl),Rj(E,_.tx()+K,_.ty()+v,X,h),cl(E,B),_._view.insertBefore(E,_._79O),B.onParentAdded&&B.onParentAdded(E),F[$].add(E))}},Z._76o=function(){var N=this,x=N._90I;if(x){for(var v in x)x[v].each(function(C){Pk(C)});delete N._90I}},Z._77o=function(h){var u=this;if(u._90I){var t=u._90I[h];t&&(t.each(function(t){Pk(t)}),delete u._90I[h])}}},_47o:function(R){R.getValue=function(V,t){return t.getValue?t.getValue(V,t,this):Yg(V,t.getAccessType(),t.getName())},R.setValue=function(W,d,t){if(d.isEmptiable(W)||""!==t||(t=a),d.isNullable(W)||t!=J){var E=this,O=d.getName(W),N=d.getAccessType(W),u=d.getValueType(W);u===bm&&tg(t)?t=z(t):u===Af&&tg(t)?t=parseFloat(t):u===ud&&tg(t)&&(t="true"===t),E._batchEditable&&d._batchEditable&&E.isSelected(W)?E.sm().each(function(a){d.setValue?d.setValue(a,d,t,E):Og(a,N,O,t)}):d.setValue?d.setValue(W,d,t,E):Og(W,N,O,t)}},R.setCurrentEditor=function(M){this.endEditing(),this._currentEditor=M,this.redraw()},R.isEditing=function(D,t){var E=this,y=E._currentEditor;if(!y)return!1;if(t){var H=y.info;return H?(H.column||H.property)===t&&H.data===D:!1}return!0},R.endEditing=function(J){var n=this,f=n._currentEditor;f&&(delete n._currentEditor,f.commitValue&&f.commitValue(f.info,J),n.redraw(),n.getDataModel().endTransaction())},R.beginEditing=function(p){this.endEditing();var L=this,x=p.column||p.property;if(x.beginEditing)x.beginEditing(p);else{var A=p.data,d=p.value,T=L.getSelectBackground(A),k=x.getEnumValues(A),S=x.getSlider(A),z=x.getColorPicker(A);if(S){var Y=_g(hk.Slider,S);return Y.setValue(d),Y.getView().onblur=function(){L.endEditing()},Y.isInstant()&&(Y.onValueChanged=function(){L.setValue(A,x,Y.getValue())}),qk(Y,p),void 0}if(z||x.getValueType(A)===ms){var o=_g(hk.ColorPicker,z);return o.setValue(d),o.onClosed=function(){L.endEditing()},o.isInstant()&&(o.onValueChanged=function(W,V){L.setValue(A,x,V)}),qk(o,p),o.open(),void 0}if(k){if(hk.ComboBox){var H=new hk.ComboBox;H.setValue(d),H.setValues(k),H.setLabels(x.getEnumLabels(A)),H.setIcons(x.getEnumIcons(A)),H.setEditable(x.isEnumEditable(A)),H.setStrict(x.isEnumStrict(A)),H.setMaxHeight(x.getEnumMaxHeight(A)),H.setDropDownWidth(x.getEnumDropDownWidth(A)),H.onClosed=function(){L.endEditing()},qk(H,p),H.open()}else fp(sr,p,T,k,x);return}var u=x.getValueType(A);if(u===ud||Bh(d))return L.setValue(A,x,!d),void 0;
|
||
if(x.getItemEditor(A)){var y=Dq(x.getItemEditor(A)),c=new y(A,x,L,p),O=c.getView();return O._17Q=c,c.setValue(d),kp(O),qk(O,p),c.editBeginning&&c.editBeginning(),void 0}fp("input",p,T,J,x)}}},_44o:function(r){r.init=function(A){var y=this,$=y.th=new No(A),V=y._view=Mm(1,y);y.tv=y._tableView=A,cl(V,$.getView()),cl(V,A.getView()),$.mp(function(B){B.property===_l&&y.iv()}),y.iv()},r.getTableView=function(){return this.tv},r.getTableHeader=function(){return this.th},r.getDataModel=function(){return this.tv.dm()},r.getColumnModel=function(){return this.tv.getColumnModel()},r.setColumns=function(w){this.tv.setColumns(w)},r.addColumns=function(x){this.tv.addColumns(x)},r.endEditing=function(){this.tv.endEditing()},r.validateImpl=function(){var E=this,N=E.th,m=Ol(N),e={x:0,y:0,width:E.getWidth(),height:m};Rj(N,e),e.y=m,e.height=t(0,E.getHeight()-m),Rj(E.tv,e)}},ms_vs:function(t){t._41o=function(){return this._29I.height<this._59I},t._43o=function(){var h=this;h._41o()&&(h._58I||(f(function(){h._94O()},vi),h.iv()),h._58I=new Date)},t._94O=function(){var K=this;if(K._58I){var T=new Date;T.getTime()-K._58I.getTime()>=vi?(delete K._58I,K.iv()):f(function(){K._94O()},vi)}},t._93I=function(){var D=this,Z=D._27I;if(D._58I||!D._autoHideScrollBar){Z||cl(D._79O,Z=D._27I=nl());var n=D._29I,y=n.height,p=D._59I,X=D.getScrollBarSize(),Y=n.width-X-2,s=y*(-D.ty()/p),$=y*(y/p),W=Z.style;p>y?(vd>$&&(s=s+$/2-vd/2,0>s&&(s=0),s+vd>y&&(s=y-vd),$=vd),W.visibility=cr,W.background=D.getScrollBarColor(),W.borderRadius=X/2+eq,Rj(Z,Y,s,X,$)):W.visibility=Km}else Z&&(Z.style.visibility=Km)}},ms_hs:function(T){T._40o=function(){return this._29I.width<this._91I},T._42o=function(){var P=this;P._40o()&&(P._95O||(f(function(){P._94I()},vi),P.iv()),P._95O=new Date)},T._94I=function(){var y=this;if(y._95O){var Y=new Date;Y.getTime()-y._95O.getTime()>=vi?(delete y._95O,y.iv()):f(function(){y._94I()},vi)}},T._92I=function(){var d=this,q=d._28I;if(d._95O||!d._autoHideScrollBar){q||cl(d._79O,q=d._28I=nl());var $=d._29I,A=$.width,r=d._91I,W=d.getScrollBarSize(),k=$.height-W-2,v=A*(-d.tx()/r),Y=A*(A/r),o=q.style;r>A?(vd>Y&&(v=v+Y/2-vd/2,0>v&&(v=0),v+vd>A&&(v=A-vd),Y=vd),o.visibility=cr,o.background=d.getScrollBarColor(),o.borderRadius=W/2+eq,Rj(q,v,k,Y,W)):o.visibility=Km}else q&&(q.style.visibility=Km)}}}),mm(pj,Hr(16,16,[{type:Ak,rect:[1,1,14,14],background:fl},{type:un,rect:[1,1,14,14],width:1,color:td},{type:gg,points:[13,3,7,12,4,8],borderWidth:2,borderColor:"#FFF"}])),mm(Hg,Hr(16,16,{type:un,rect:[1,1,14,14],width:1,color:td})),mm(Nk,Hr(16,16,[{type:hc,rect:[2,2,12,12],borderWidth:1,borderColor:td,background:"#FFF"},{type:hc,rect:[4,4,8,8],background:fl}])),mm(Kl,Hr(16,16,{type:hc,rect:[2,2,12,12],borderWidth:1,borderColor:td})),ah._15Q=function(f){f._29I=rm,f._59I=0,f._91I=0,f._5o=function(r){var U=this;U._30I=new Sl,U._rows=new Sl,U._rowMap={},U._31I=0,U._14I=0,U._view=Mm(1,U),U._canvas=dp(U._view),cl(U._view,U._79O=nl()),U.dm(r?r:new hl)},f.getCheckIcon=function(v){var R=this.sm(),y=R.co(v);return R.sg()?Kg(y?Nk:Kl):Kg(y?pj:Hg)},f.checkData=function(K){var Y=this.sm(),B=Y.co(K);Y.sg()&&B||(this._32o=1,B?Y.rs(K):Y.as(K),delete this._32o)},f.getDataAt=function(g){g.target&&(g=this.lp(g));var D=Y(g.y/this._rowHeight),p=this._rows;return 0>D||D>=p.size()?J:p.get(D)},f.onDataDoubleClicked=function(){},f.onDataClicked=function(){},f.adjustTranslateX=function(){return 0},f.adjustTranslateY=function(k){var g=this.getHeight()-this._59I;return g>k&&(k=g),k>0?0:d(k)},f.onPropertyChanged=function(r){var W=this,m=r.property;Tj[m]?W.ivm():Nl[m]||W.redraw(),m===zj?W._42o():m===Zl&&W._43o()},f.getLabel=function(v){return v.toLabel()},f.getLabelFont=function(){return this._labelFont},f.getLabelColor=function(b){var L=this;if(L.isCheckMode()){if(L._focusData===b)return L._labelSelectColor}else if(L.isSelected(b))return L._labelSelectColor;return L._labelColor},f.getStartRowIndex=function(){return this._31I},f.getEndRowIndex=function(){return this._14I},f.getRowDatas=function(){return this._rows},f.getRowIndex=function(z){return this._rowMap[z._id]},f.getRowSize=function(){return this._rows.size()},f.getViewRect=function(){return Ej(this._29I)},f.isVisible=function(b){return this._visibleFunc?this._visibleFunc(b):!0},f.getCurrentSortFunc=function(){return this._sortFunc},f.setDataModel=function(W){var r=this,j=r._dataModel,Z=r._selectionModel;j!==W&&(j&&(j.umm(r.handleDataModelChange,r),j.umd(r.handleDataPropertyChange,r),j.umh(r.handleHierarchyChange,r),Z||j.sm().ums(r.handleSelectionChange,r)),r._dataModel=W,W.mm(r.handleDataModelChange,r),W.md(r.handleDataPropertyChange,r),W.mh(r.handleHierarchyChange,r),Z?Z._21I(W):W.sm().ms(r.handleSelectionChange,r),r.fp("dataModel",j,W))},f.validateModel=function(){var M=this;M._rows.clear(),M._rowMap={},M.buildChildren(M._dataModel._roots);var V=M._rows=M._rows.toList(M.isVisible,M),I=0,Y=M.getCurrentSortFunc(),X=V.size();for(Y&&V.sort(Y);X>I;I++)M._rowMap[V.get(I)._id]=I},f.buildChildren=function(e){var c=this;e.each(function(a){c._rows.add(a),c.buildChildren(a._children)})},f.handleDataModelChange=function(){this.ivm()},f.handleDataPropertyChange=function(F){"parent"===F.property?this.ivm():this.invalidateData(F.data)},f.handleHierarchyChange=function(){this.ivm()},f.handleSelectionChange=function(P){P.datas.each(this.invalidateData,this),this.onSelectionChanged(P)},f.onSelectionChanged=function(W){var P=this,F=P.sm();!P.isAutoMakeVisible()||1!==F.size()||"set"!==W.kind&&"append"!==W.kind||P._32o||P.makeVisible(F.ld())},f.handleBackgroundClick=function(S){ve(S)&&!this.isCheckMode()&&this.sm().cs()},f.makeVisible=function(z){z&&(this._23I=z,this.iv())},f.scrollToIndex=function(s){var T=this,P=T._29I,m=P.height,t=T._rowHeight,A=t*s;s>=0&&s<T._rows.size()&&m>0&&(A+t>P.y+m?T.ty(-A+m-t):A<P.y&&T.ty(-A))},f.autoScroll=function(X,S){var n=this,$=n._rowHeight,o=$,C=$/4,g=n._29I,z=n.lp(X),v={x:n.tx(),y:n.ty()};return $>0&&g&&(z.x-g.x<o?n.translate(C,0):g.x+g.width-z.x<o&&n.translate(-C,0),z.y-g.y<o?n.translate(0,C):g.y+g.height-z.y<o&&n.translate(0,-C)),v.x=n.tx()-v.x,v.y=n.ty()-v.y,S&&(S.x+=v.x,S.y+=v.y),v},f.getTopRowOrderSelection=function(){var y=this.sm().getTopSelection(),g={},O=new Sl;return y.each(function(n){g[n._id]=n}),this._rows.each(function(Y){g[Y._id]&&O.add(Y)}),O},f.getRowOrderSelection=function(){var e=new Sl;return this._rows.each(function(p){this.isSelected(p)&&e.add(p)},this),e},f.ivm=function(){this.invalidateModel()},f.invalidateModel=function(){var o=this;o._96I||(o._96I=1,o._32I=1,delete o._24I),o.iv()},f.redraw=function(){var l=this;l._32I||(l._32I=1,delete l._24I,l.iv())},f.invalidateData=function(c){var N=this;ed?N.redraw():N._32I||(N._24I||(N._24I={}),N._24I[c._id]=c,N.iv())},f.getFocusData=function(){return this._focusData},f.setFocusDataById=function(F){this.setFocusData(this.dm().getDataById(F))},f.setFocusData=function(y){var G=this,M=G._focusData;M!==y&&(G._focusData=y,G.fp("focusData",M,y),M&&G.invalidateData(M),y&&(G.invalidateData(y),G.isAutoMakeVisible()&&G.makeVisible(y)))},f.drawRowBackground=function(r,u,f,R,m,n,B){var A=this,J=A.isCheckMode();(u===A._focusData&&J||f&&!J)&&ao(r,R,m,n,B,A.getSelectBackground(u))},f.drawData=function(K,W,m){var V=this,o=V._rowHeight,f=o*m,_=V._29I,F=_.x,E=_.width;K.save(),K.beginPath(),K.rect(F,f,E,o),K.clip(),V._87o(V.drawRow(K,W,V.isSelected(W),F,f,E,o),m,F,f,E,o),K.restore(),V._rowLineVisible&&ao(K,F,f+o-1,E,1,V._rowLineColor)},f._12I=function(w){var D=this,x=D._31I,$=D._29I,g=$.x,b=$.y,X=$.width,y=$.height;for(w.beginPath(),w.rect(g,b,X,y),w.clip(),w.clearRect(g,b,X,y),D._76o(),D._93db(w);x<D._14I;x++)D.drawData(w,D._rows.get(x),x);D._92db(w)},f._13I=function(D){for(var G,c=this,F=c._rowHeight,X=c._29I,g=X.x,k=X.width,h=c._31I,r=c._30I;h<c._14I;h++)G=c._rows.get(h),c._24I[G._id]&&r.add({data:G,index:h});r.isEmpty()||(D.beginPath(),r.each(function(f){D.rect(g,f.index*F,k,F)}),D.clip(),r.each(function(O){D.clearRect(g,O.index*F,k,F)}),r.each(function(W){c._77o(W.index)}),c._93db(D),r.each(function(o){c.drawData(D,o.data,o.index)}),c._92db(D),r.clear())},f.preValidateModel=function(){this.endEditing&&this.endEditing()},f.validateImpl=function(){var i=this,U=i._canvas,y=i.getWidth(),Z=i.getHeight(),e=i._rowHeight,Q=i._32I;(y!==U.clientWidth||Z!==U.clientHeight)&&(If(U,y,Z),Q=1);var m=j&&!V;i._96I&&!m&&(i.preValidateModel(),i.validateModel());var g=i._29I,C={x:-i.tx(),y:-i.ty(),width:y,height:Z},D=i._rows.size(),L=ir(U),K=i._23I;Q||th(C,g)||(Q=1),i._29I=C,i._59I=D*e+i.getScrollBarSize(),i._31I=Y(C.y/e),i._14I=O((C.y+C.height)/e),i._31I<0&&(i._31I=0),i._14I>D&&(i._14I=D),i._99I&&Q&&i._99I(),Nh(L,i.tx(),i.ty(),1),Q?i._12I(L):i._24I&&i._13I(L),i._93I(),i._92I(),L.restore(),i._32I=i._24I=i._96I=J,K&&(i.scrollToIndex(i.getRowIndex(K)),delete i._23I),i.tx(i.tx()),i.ty(i.ty())}},ah._48o=function(T){T._rootVisible=!0,T._rootData=J,T._35o=function(){this._expandMap={},this._levelMap={}},T.validateModel=function(){var u=this,i=u._rootData;u._rows.clear(),u._levelMap={},u._rowMap={},u._currentLevel=0,i?u._rootVisible?u.isVisible(i)&&u.buildData(i):u.buildChildren(i):u.buildChildren(),delete u._currentLevel},T.buildData=function(C){var t=this,o=C._id,N=t._rows;t._rowMap[o]=N.size(),N.add(C),t._levelMap[o]=t._currentLevel,t.isExpanded(C)&&(t._currentLevel++,t.buildChildren(C),t._currentLevel--)},T.buildChildren=function($){var C=this,V=$?$._children:C._dataModel._roots,W=C.getCurrentSortFunc();W&&C.isChildrenSortable($)?V.toList(C.isVisible,C).sort(W).each(C.buildData,C):V.each(function(N){C.isVisible(N)&&C.buildData(N)})},T.getLevel=function(b){return this._levelMap[b._id]},T.getToggleIcon=function(X){var K=this,Y=K._loader,A=K._collapseIcon;return Y&&!Y.isLoaded(X)?A:X.hasChildren()?K.isExpanded(X)?K._expandIcon:A:J},T.isCheckMode=function(){return this._checkMode!=J},T.isChildrenSortable=function(){return!0},T.handleDataModelChange=function(r){var x=this;r.kind===Jd?delete x._expandMap[r.data._id]:r.kind===Po&&(x._expandMap={}),x.ivm()},T.toggle=function(Y){var f=this;f.isExpanded(Y)?f.collapse(Y):f.expand(Y)},T.isExpanded=function(m){return 1===this._expandMap[m._id]},T.expand=function(z){var P=this,d=P._loader;P.isExpanded(z)||(d&&!d.isLoaded(z)&&d.load(z),P._expandMap[z._id]=1,P.ivm(),P.onExpanded(z))},T.onExpanded=function(){},T.collapse=function(H){var D=this;D.isExpanded(H)&&(delete D._expandMap[H._id],D.ivm(),D.onCollapsed(H))},T.onCollapsed=function(){},T.expandAll=function(h){if(h)this.expand(h),h.eachChild(function($){this.expandAll($)},this);else{var j=this;j._dataModel.each(function(F){F.hasChildren()&&(j._expandMap[F._id]=1)}),j.ivm()}},T.collapseAll=function(){this._expandMap={},this.ivm()},T.makeVisible=function(t){if(t){var f=this;if(!f._rootData||t.isDescendantOf(f._rootData)){for(var N=t._parent;N;)f.expand(N),N=N._parent;f._23I=t,f.iv()}}},T.checkData=function(G){var k,_=this,z=_._checkMode,R=_.sm(),E=R.co(G);if(!R.sg()||!E){if(_._32o=1,z===Qc)E?R.rs(G):R.as(G);else if(z===vp)k=new Sl(G),k.addAll(G._children);else if("descendant"===z)k=new Sl,Rf(G,k);else if("all"===z&&(k=new Sl,Rf(G,k),!E))for(var s=G._parent;s;)k.add(s),s=s._parent;k&&(E?R.rs(k):R.as(k)),delete _._32o}},T._97I=function(z,y,v,W,$,G,O){var V=this,u=V._indent,T=V._levelMap[y._id],j=V.getIconWidth(y),n=Kg(V.getToggleIcon(y));n?(W+=u*T,Uf(z,n,W+u/2,$+O/2,y,V),W+=u):W+=u*(T+1),V._checkMode&&(Uf(z,V.getCheckIcon(y),W+u/2,$+O/2,y,V),W+=u),V.drawIcon(z,y,W,$,j,O),V.drawLabel(z,y,W+j,$,O)}},ah._14Q=function(N){N.getIcon=function(g){return g.getIcon()},N.getIconWidth=function(Z){return this.getIcon(Z)?this._indent:0},N.drawIcon=function(G,C,f,_,x,S){if(x){var e=this,K=e.getBodyColor(C),U=Kg(e.getIcon(C),K);U&&(S-=e.isRowLineVisible()?1:0,jl(G,U,_d,f,_,x,S,C,e,K),Pm(G,e.getBorderColor(C),f,_,x,S))}},N.drawLabel=function(e,b,N,u,Q){var U=this;Ap(e,U.getLabel(b),U.getLabelFont(b),U.getLabelColor(b),N,u,0,Q)}},ah._50o=function(L){L._98I=function(){var s=this,H=s._39o=new hl;s._60I=new Sl,H.mm(s._17o,s),H.md(s._18o,s),H.mh(s._19o,s)},L.setColumns=function(S){this._39o.clear(),this.addColumns(S)},L.addColumns=function(y){var l=this._39o;y.forEach(function(X){if(!(X instanceof Wo)){var $=Dq(X.className);X=_g($?$:Wo,X)}l.add(X)})},L.onColumnClicked=function(){},L.onCheckColumnClicked=function(){},L._3Q=function(I){for(var e,T=0,j=this._60I,D=j.size();D>T;T++)if(e=j.get(T),e.column===I)return e;return J},L.getColumnAt=function(Y){var d=this._4Q(Y);return d?d.column:J},L._4Q=function(k){for(var W=this,m=k.target?W.lp(k).x:k.x,E=W._60I,N=0;N<E.size();N++){var f=E.get(N),S=f.startX;if(m>=S&&m<S+f.column.getWidth())return f}return J},L.getToolTip=function(a){var T=this,n=T.getDataAt(a),G=T.getColumnAt(a);return n&&G?G.getToolTip(n,T):J},L.adjustTranslateX=function(v){var $=this.getWidth()-this._91I;return $>v&&(v=$),v>0?0:d(v)},L._99I=function(){var l=this,j=l._29I,U=l._60I;U.clear(),l._91I=0,l._39o._roots.each(function(r){if(r.isVisible()){var R=l._91I+r.getWidth();l._91I<=j.x+j.width&&R>=j.x&&U.add({column:r,startX:l._91I}),l._91I=R}}),l._91I+=l.getScrollBarSize()},L.drawData=function(S,w,r){var Q=this,A=Q._rowHeight,M=A*r,q=Q.isSelected(w),d=Q._29I,O=d.x,i=d.width;Q.drawRowBackground(S,w,q,O,M,i,A),Q._60I.each(function(R){var K=R.column,f=R.startX,s=K.getWidth();s>0&&!Q.isEditing(w,K)&&(S.save(),S.beginPath(),S.rect(f,M,s,A),S.clip(),Q._87o(Q.drawCell(S,w,q,K,f,M,s,A),r,f,M,s,A),Q._columnLineVisible&&ao(S,f+s-1,M,1,A,Q._columnLineColor),S.restore())}),Q._rowLineVisible&&ao(S,O,M+A-1,i,1,Q._rowLineColor)},L.drawCell=function(c,O,S,g,L,G,X,m){var A=this;if(g.drawCell)return g.drawCell(c,O,S,g,L,G,X,m,A);var h=A.getValue(O,g);Dh(c,h,g,A.getLabelFont(O,g,h),A.getLabelColor(O,g,h),L,G,X,m,O,A)},L.getColumnModel=function(){return this._39o},L._17o=function(){this.redraw()},L._18o=function(d){var j=this;d.data===j._sortColumn&&ei[d.property]?j.ivm():(j._42o(),j.redraw())},L._19o=function(){this.redraw()},L.getCurrentSortFunc=function(){var f=this,u=f._sortColumn;if(u&&u.isSortable()){var g=u.getSortFunc(),S=Ko===u.getSortOrder()?1:-1;return g||(g=Um),function(Q,N){return g.call(f,f.getValue(Q,u),f.getValue(N,u),Q,N)*S}}return f._sortFunc},L.isCellEditable=function(k,g,H){return g.isEditable()&&this.isEditable()?g.isCellEditable?g.isCellEditable(k,g,H,this):!0:!1},L._37O=function(L,V){if(ve(V))for(var O=this,l=O.lp(V),m=O._60I,_=O._rowHeight,J=O._29I,n=J.x,x=J.y,p=J.width,K=J.height,G=0;G<m.size();G++){var P=m.get(G),Q=P.startX,M=P.column,H=M.getWidth();if(M!==O._31o&&M!==O._4o&&l.x>=Q&&l.x<Q+H&&O.isCellEditable(L,M,V)){var f={x:Q,y:O.getRowIndex(L)*_,width:H,height:_},c={x:f.x+O.tx(),y:f.y+O.ty(),width:f.width,height:f.height},$=0,w=0;return f.x<n?$=f.x-n:f.x+f.width>n+p&&($=f.x+f.width-n-p),$&&(O.tx(O.tx()-$),c.x-=$),f.y<x?w=f.y-x:f.y+_>x+K&&(w=f.y+_-x-K),w&&(O.ty(O.ty()-w),c.y-=w),O.beginEditing({data:L,column:M,value:O.getValue(L,M),event:V,rect:f,editorRect:c,view:O}),void 0}}}},hk.BaseItemEditor=function(D,Q,B,f){this._data=D,this._column=Q,this._master=B,this._editInfo=f},Of("BaseItemEditor",F,{ms_ac:["data","column","master","editInfo"],editBeginning:function(){},getView:function(){},getValue:function(){},setValue:function(){}});var Mn=K.Tab=function(){mb(Mn,this)};Pe("Tab",fg,{ms_ac:["view","closable","disabled","visible"],_icon:J,_closable:!1,_disabled:!1,_visible:!0,setParent:wj});var Wo=K.Column=function(){mb(Wo,this)};Pe("Column",fg,{_46o:1,ms_ac:["accessType","valueType",cr,Xe,cs,np,"align",ms,"sortOrder",Ai,"sortable","clickable","nullable","emptiable","slider","colorPicker","itemEditor"],_visible:!0,_width:80,_sortOrder:Ko,_sortFunc:J,_sortable:!0,_clickable:!0,setWidth:function(Z){16>Z&&(Z=16);var s=this._width;this._width=Z,this.fp(np,s,Z)},getToolTip:function(e,W){return this.formatValue(W.getValue(e,this))}});var Mj=K.Property=function(){mb(Mj,this)};Pe("Property",fg,{_46o:1,ms_ac:["accessType","valueType",Xe,cs,"categoryName",ms,"align","nullable","emptiable","slider","itemEditor","colorPicker"],_categoryName:J,getToolTip:function(e,L,f){var Z=this;return L?Z.formatValue(f.getValue(e,Z)):f.getPropertyName(Z)}}),hk.AccordionView=function(){var f=this;f._20o={},f._21o=new Sl,f._10o=J,f._9o=J,f._11o=J,f._view=Mm(0,f),f.iv()},Of("AccordionView",F,{ms_v:1,ms_fire:1,ms_ac:[ph,He,"titleHeight",Dk,kl,"titleBackground","selectWidth",Wf,"orientation","separatorColor"],_expandIcon:_.accordionViewExpandIcon,_collapseIcon:_.accordionViewCollapseIcon,_titleHeight:kg,_labelColor:_.accordionViewLabelColor,_labelFont:_.accordionViewLabelFont,_titleBackground:_.accordionViewTitleBackground,_selectBackground:_.accordionViewSelectBackground,_selectWidth:_.accordionViewSelectWidth,_orientation:"v",_separatorColor:_.accordionViewSeparatorColor,onPropertyChanged:function(){this.iv()},getView:function(){return this._view},getTitles:function(){return this._21o},getCurrentTitle:function(){return this._10o},add:function(P,f,L,F){var e=this,y=nl();if(e._20o[P])throw P+" already exists";y.onmousedown=nm,y.style.cursor=ef,W(y,Gm?Hi:Do,function(P){nm(P)}),W(y,Gm?Zr:Fg,function(h){nm(h),ve(h)&&(e._10o===P?e.collapse():e.expand(P))}),cl(e._view,y),e._20o[P]={content:f,div:y,canvas:dp(y),icon:F},e._21o.add(P),L&&e.expand(P),e.iv()},remove:function(S){var d=this,y=d._20o[S];y&&(Pk(y.div),delete d._20o[S],d._21o.remove(S),d.iv())},clear:function(){var L=this;L._21o.toArray().forEach(L.remove,L),L._20o={},L._21o.clear(),L.iv()},isExpanded:function(j){return this._10o===j},expand:function(h){var c=this;c._20o[h]&&c._10o!==h&&(c._10o=h,c.onExpanded(h),c.iv())},onExpanded:function(){},collapse:function(){var R=this;R._10o&&(R.onCollapsed(R._10o),delete R._10o,R.iv())},onCollapsed:function(){},initCanvas:function(t,n,e){If(t,n,e);var X=ir(t);return Nh(X,0,0,1),X.clearRect(0,0,n,e),X},drawTitle:function(x,S,e,M,b){var D=this,z=Kg(b.icon),r=D.isExpanded(S),o=D._titleHeight,h=D._titleBackground,O=D._selectWidth,y=D._separatorColor,$=Kg(r?D._expandIcon:D._collapseIcon),B=O+4;ao(x,0,0,e,M,h),r&&O&&ao(x,0,0,O,M,D._selectBackground),(r||D._21o.get(D._21o.size()-1)!==S)&&ao(x,0,M-1,e,1,y?y:ss(h)),z&&(Uf(x,z,B+vj(z)/2,o/2),B+=vj(z)+2),Ap(x,S,D.getLabelFont(S),D.getLabelColor(S),B,0,0,o),$&&Uf(x,$,e-vj($)/2-4,o/2)},validateImpl:function(){var L=this,T=L._view,n=0,V=0,R=L.getWidth(),U=L.getHeight(),z=L._titleHeight,D=L._21o.size()*z,H=L._11o,i=L._9o;delete L._11o,delete L._9o,L._21o.each(function(q){var S,u,o=L._20o[q],_=o.content,v=L._10o===q;Cc(L)?(Rj(o.div,n,0,z,U),S=L.initCanvas(o.canvas,z,U),ee(S,0,U),sd(S,-I),L.drawTitle(S,q,U,z,o),S.restore(),v?(u=t(0,R-D),_&&(L._11o=_,L._9o=us(_),Rj(_,n+z,0,u,U)),n+=z+u):n+=z):(Rj(o.div,0,V,R,z),S=L.initCanvas(o.canvas,R,z),L.drawTitle(S,q,R,z,o),S.restore(),v?(u=t(0,U-D),_&&(L._11o=_,L._9o=us(_),Rj(_,0,V+z,R,u)),V+=z+u):V+=z)});var Y=L._9o;H&&H!==L._11o&&H.endEditing&&H.endEditing(),Y&&Y!==i&&cl(T,Y),i&&i!==Y&&Pk(i)}}),hk.SplitView=function(L,Q,c,P){var b=this,U=b._dividerDiv=nl(),D=b._60O=dp(),v=b._61O=dp(),T=D.style,i=v.style;b._view=Mm(1,b),cl(b._view,U),T.msTouchAction=Ve,T.pointerEvents=Ve,T.cursor=ef,i.msTouchAction=Ve,i.pointerEvents=Ve,i.cursor=ef,L&&b.setLeftView(L),Q&&b.setRightView(Q),c&&b.setOrientation(c),P!=J&&b.setPosition(P),b.setStatus(tj),new Tb(b)},Of("SplitView",F,{ms_v:1,ms_fire:1,ms_ac:["continuousLayout","dividerSize","dividerBackground","toggleIcon","togglable","dragOpacity","orientation","draggable","status"],_continuousLayout:!1,_position:.5,_togglable:!0,_orientation:"h",_draggable:!0,_dividerSize:_.splitViewDividerSize,_dividerBackground:_.splitViewDividerBackground,_dragOpacity:_.splitViewDragOpacity,_toggleIcon:_.splitViewToggleIcon,onPropertyChanged:function(){this.iv()},getDividerDiv:function(){return this._dividerDiv},getPosition:function(){return this._position},setPosition:function(i,y){var D=this,p=D._position;isNaN(i)||(y||(D._82O=0>i?-1:i>1?1:0),D._position=i,D.fp(ai,p,i))},getLeftView:function(){return this._leftView},setLeftView:function(m){var g=this,_=g._leftView,P=g._view;if(g._leftView!==m){if(_&&_!==g._rightView){var H=us(_);H.parentNode===P&&Pk(H)}if(g._leftView=m,m){var i=us(m);i.parentNode!==P&&P.insertBefore(i,g._dividerDiv)}g.fp("leftView",_,m)}},getRightView:function(){return this._rightView},setRightView:function(o){var q=this,g=q._rightView,u=q._view;if(q._rightView!==o){if(g&&g!==q._leftView){var i=us(g);i.parentNode===u&&Pk(i)}if(q._rightView=o,o){var E=us(o);E.parentNode!==u&&u.insertBefore(E,q._dividerDiv)}q.fp("rightView",g,o)}},validateImpl:function(){var k=this,w=k._draggable,c=k._position,G=k.getWidth(),S=k.getHeight(),Z=k._dividerSize,l=k._dividerBackground,i=Gm?18:8,e=k._dividerDiv,M=k._82O,O=k._60O,x=k._61O,J=k._toggleIcon,f=k._status,T=e.style,j=null,V=Gm?20:4,D=J.comps[0];Z>=i||0===Z?k._coverDiv&&(Pk(k._coverDiv),delete k._coverDiv):k._coverDiv||(k._coverDiv=nl(),Ng&&(k._coverDiv.style.background=Rl),cl(e,k._coverDiv)),k._togglable?O.parentNode||(cl(e,O),cl(e,x)):(Pk(O),Pk(x));var q=k._coverDiv,v=k._leftView,p=k._rightView;if(Cc(k)){if(Z>G&&(Z=G),f===tj)if(1===M)var Q=g(c,G),m=t(0,G-Z-Q);else-1===M?(m=g(-c,G),Q=t(0,G-Z-m)):(Q=d((G-Z)*c),m=t(0,G-Z-Q));else"cl"===f?(Q=0,m=t(0,G-Z)):"cr"===f&&(m=0,Q=t(0,G-Z));v&&Rj(v,0,0,Q,S),p&&Rj(p,Q+Z,0,m,S),Rj(e,Q,0,Z,S),k._22o=Q,q&&(Rj(q,Z/2-i/2,0,i,S),q.style.cursor=w?Rq:""),e.style.cursor=w?Rq:"";var r=e.clientHeight/2,L=e.clientWidth;If(O,L,L),Rj(O,0,r-L-V,L,L),j=ir(O),Nh(j,0,0,1),D.rotation=-I,Bq(j,J,0,0,L,L),j.restore(),If(x,L,L),Rj(x,0,r+V,L,L),j=ir(x),Nh(j,0,0,1),D.rotation=I,Bq(j,J,0,0,L,L),j.restore()}else{if(Z>S&&(Z=S),f===tj)if(1===M)var W=g(c,S),b=t(0,S-Z-W);else-1===M?(b=g(-c,S),W=t(0,S-Z-b)):(W=d((S-Z)*c),b=t(0,S-Z-W));else"cl"===f?(W=0,b=t(0,S-Z)):"cr"===f&&(b=0,W=t(0,S-Z));v&&Rj(v,0,0,G,W),p&&Rj(p,0,W+Z,G,b),Rj(e,0,W,G,Z),k._22o=W,q&&(Rj(q,0,Z/2-i/2,G,i),q.style.cursor=w?Td:""),T.cursor=w?Td:"";var h=e.clientWidth/2,L=e.clientHeight;If(O,L,L),Rj(O,h-L-V,0,L,L),j=ir(O),Nh(j,0,0,1),D.rotation=0,Bq(j,J,0,0,L,L),j.restore(),If(x,L,L),Rj(x,h+V,0,L,L),j=ir(x),Nh(j,0,0,1),D.rotation=X,Bq(j,J,0,0,L,L),j.restore()}T.background=l}});var Tb=function(w){this.sv=w,this.addListeners()};Be(Tb,F,{ms_listener:1,getView:function(){return this.sv.getView()},handle_touchstart:function(k){var P=this,Y=P.sv,V=Y._dividerDiv,h=Y._60O,e=Y._61O,b=Y._status,X=k.target;if(X===h)b===tj?Y.setStatus("cl"):"cr"===b&&Y.setStatus(tj);else if(X===e)b===tj?Y.setStatus("cr"):"cl"===b&&Y.setStatus(tj);else if(dl(k)&&(X===V||X===Y._coverDiv)&&(nm(k),Y.isDraggable())){Y.getLeftView(),Y.getRightView();var w=P.maskDiv=nl();if(w.style.left=0,w.style.top=0,w.style.width=Y.getWidth()+"px",w.style.height=Y.getHeight()+"px",Y.getView().appendChild(w),!Y.isContinuousLayout()){var M=P.resizeDiv=nl();M.style.left=V.style.left,M.style.top=V.style.top,M.style.width=V.style.width,M.style.height=V.style.height,M.style.opacity=Y.getDragOpacity(),M.style.background=Y.getDividerBackground(),cl(P.getView(),M)}P._lastAbsPosition=Y._22o,P._86o=Cc(Y)?Rb(k).x:Rb(k).y,ff(P,k)}},handleWindowTouchMove:function(I){dl(I)&&this.update(I,this.sv.isContinuousLayout())},handleWindowTouchEnd:function(V){var L=this;L.update(V,!0),L.sv.setStatus(tj),L.maskDiv&&Pk(L.maskDiv),L.resizeDiv&&Pk(L.resizeDiv),L.maskDiv=L.resizeDiv=J},handle_mousedown:function(K){ve(K)&&this.handle_touchstart(K)},handleWindowMouseMove:function(d){this.handleWindowTouchMove(d)},handleWindowMouseUp:function(z){this.handleWindowTouchEnd(z)},update:function(e,t){var x=this,P=x.sv,M=Cc(P)?P.getWidth():P.getHeight(),b=P._dividerSize,h=x._lastAbsPosition-x._86o;Cc(P)?(h+=Rb(e).x,h>M-b&&(h=M-b),0>h&&(h=0),x.resizeDiv&&(x.resizeDiv.style.left=h+eq)):(h+=Rb(e).y,h>M-b&&(h=M-b),0>h&&(h=0),x.resizeDiv&&(x.resizeDiv.style.top=h+eq)),t&&M!==b&&(1===P._82O?P.setPosition(h,1):-1===P._82O?P.setPosition(h-M+b,1):P.setPosition(h/(M-b),1))}}),hk.TabView=function(){var X=this,K=X._view=Mm(1,X),f=X._91O=nl(1),k=X._tabModel=new hl,W=k.sm(),_=X.invalidate;X._7o=new Sl,X._canvas=dp(f),cl(K,f),cl(K,X._92O=nl(1)),W.setSelectionMode(Fj),W.ms(X.handleSelectionChange,X),k.mm(_,X),k.mh(_,X),k.md(_,X),X._interactor=new Wl(X),X.iv()},Of("TabView",F,{ms_v:1,ms_fire:1,ms_tx:1,ms_ty:1,ms_lp:1,ms_ac:["movable","tabGap","tabHeight","tabPosition",Dk,kl,"tabHPadding","tabBackground","selectWidth",Wf,"moveBackground","insertColor"],_tabHPadding:0,_tabPosition:Gh,_tabHeight:kg,_tabGap:_.tabViewTabGap,_labelColor:_.tabViewLabelColor,_labelFont:_.tabViewLabelFont,_tabBackground:_.tabViewTabBackground,_selectWidth:_.tabViewSelectWidth,_selectBackground:_.tabViewSelectBackground,_moveBackground:_.tabViewMoveBackground,_insertColor:_.tabViewInsertColor,_movable:!0,handleSelectionChange:function(){this._selectionChanged=!0,this.invalidate()},getContentDiv:function(){return this._92O},getTitleDiv:function(){return this._91O},getTabModel:function(){return this._tabModel},add:function(v,O,l){var k,g=this._tabModel;return v instanceof Mn?(k=v,O&&k.setView(O)):(k=new Mn,k.setName(v),k.setView(O)),g.add(k),l&&g.sm().ss(k),k},getLabel:function(p){return p.toLabel()},onPropertyChanged:function(){this.iv()},_7Q:function(A){this._23o=A,this.iv()},get:function(N){var b=this,Y=b._tabModel;if(Zq(N))return Y._roots.get(N);if(tg(N)){var E;return Y.each(function(w){N===b.getLabel(w)&&(E=w)}),E}return N instanceof Mn?N:J},select:function(B){this._tabModel.sm().ss(this.get(B))},remove:function(r){var M=this;if(r=M.get(r)){var e=M._tabModel,y=e._roots.indexOf(r);M._tabModel.remove(r),M.selectByIndex(--y)}},getCurrentTab:function(){return this._8o},hideTabView:function(F,T){T.parentNode===this._92O&&(hs(T)?(T.style.display=nh,T._tab_=F):Pk(T),Ln())},showTabView:function(V,Q){hs(Q)&&(Q.style.display="block",Q._tab_=V),Q.parentNode!==this._92O&&(cl(this._92O,Q),Ln())},_24o:function(){var Y,o=this,D=o._8o,y=o._9o,X=o._tabModel.sm().ld();X&&(Y=us(X.getView())),Y!==y&&(y&&(D.getView()&&D.getView().endEditing&&D.getView().endEditing(),o.hideTabView(D,y)),Y&&o.showTabView(X,Y)),o._8o=X,o._9o=Y,D!==X&&o.onTabChanged(D,X)},onTabClosing:function(){return!0},onTabChanged:function(){},onTabClosed:function(O,v){this.selectByIndex(--v)},selectByIndex:function($){var e=this,h=e._tabModel,z=h.size();if(z&&!h.sm().ld()){$==J&&($=0),$>=z&&($=z-1),0>$&&($=0);for(var H=$;H>=0;H--){var K=e.get(H);if(!K.isDisabled())return e.select(K),K}for(H=$+1;z>H;H++)if(K=e.get(H),!K.isDisabled())return e.select(K),K}},getTabWidth:function(O){var H=this.getTabHPadding(),N=4+2*H,P=Kg(O.getIcon());P&&(N+=vj(P,O)+4);var o=this.getLabel(O);return o&&(N+=dc(this.getLabelFont(O),o).width+4),O.isClosable()&&(N+=10),N},drawTab:function(B,E,U,J,R,G,Z){var e,x=this,v=x._tabPosition,C=this.getTabHPadding(),P=U+4+C,s=x._selectWidth,m=Kg(E.getIcon()),y=E.isDisabled(),V=x.getLabelColor(E),d=x.getLabelFont(E),W=x.getLabel(E),o=x._selectBackground,g=v===rg+"-vertical",O=v===cd+"-vertical";(g||O)&&(P=J+4+C),y&&(B.globalAlpha=jd),ao(B,U,J,R,G,Z),E===x._8o&&s&&(v===Gh?ao(B,U,J+G-s,R,s,o):v===rg?ao(B,U+R-s,J,s,G,o):v===cd?ao(B,U,J,s,G,o):g?ao(B,U+R-s,J,s,G,o):O?ao(B,U,J,s,G,o):ao(B,U,J,R,s,o));var S=R/2;if(g&&(ee(B,S,J+G/2),sd(B,X),ee(B,-S,-J-G/2)),m){var j=Cj(m,E),T=vj(m,E);if(g||O){var n=U+R/2,a=P+j/2;ee(B,n,a),sd(B,I),ee(B,-n,-a),Uf(B,m,U+R/2,P+j/2,E,x),ee(B,n,a),sd(B,-I),ee(B,-n,-a),P+=j+4}else Uf(B,m,P+T/2,J+G/2,E,x),P+=T+4}return g||O?(ee(B,R/2,P+R/2),sd(B,I),ee(B,-R/2,-P-R/2),Ap(B,W,d,V,U,P,G,R),ee(B,R/2,P+R/2),sd(B,-I),ee(B,-R/2,-P-R/2)):Ap(B,W,d,V,P,J,R,G),g&&(ee(B,S,J+G/2),sd(B,-X),ee(B,-S,-J-G/2)),E.isClosable()&&(e=O?{x:U+R-12,y:J+G-12,width:12,height:12}:{x:U+R-12,y:J+2,width:12,height:12},this.drawCloseIcon(E,B,V,e)),y&&(B.globalAlpha=1),e},drawCloseIcon:function(Q,S,R,V){var K=V.x,F=V.y;S.strokeStyle=R,S.lineWidth=1,S.beginPath(),S.moveTo(K+2,F+8),S.lineTo(K+8,F+2),S.moveTo(K+8,F+8),S.lineTo(K+2,F+2),S.stroke()},getTabAt:function(U){var P=this._interactor._8Q(U);return P?P.tab:null},validateImpl:function(){var K=this;K._24o();var q,n=K._canvas,S=K._tabPosition,U=K._91O,E=K._92O,g=K._tabModel,G=K.getWidth(),Y=K.getHeight(),j=K._tabHeight,B=K._7o,b=K._tabGap,O=S===Gh,V=S===rg,i=S===cd,p=S===rg+"-vertical",C=S===cd+"-vertical",c=K._23o,r=0;if((V||i)&&g._roots.each(function(z){r=t(K.getTabWidth(z),r)}),O?(Rj(U,0,0,G,j),q={x:0,y:j,width:G,height:t(0,Y-j)}):V?(Rj(U,0,0,r,Y),q={x:r,y:0,width:t(0,G-r),height:Y}):i?(Rj(U,G-r,0,r,Y),q={x:0,y:0,width:t(0,G-r),height:Y}):p?(Rj(U,0,0,j,Y),q={x:j,y:0,width:t(0,G-j),height:Y}):C?(Rj(U,G-j,0,j,Y),q={x:0,y:0,width:t(0,G-j),height:Y}):(Rj(U,0,Y-j,G,j),q={x:0,y:0,width:G,height:t(0,Y-j)}),Rj(E,q),p||C){K._9o&&(q.x=0,Rj(K._8o.getView(),q)),If(n,j,Y);var e=ir(n),X=0;if(Nh(e,0,K.ty(),1),e.clearRect(0,0,j,Y),B.clear(),g._roots.each(function(s){if(s.isVisible()){var J,I=K.getTabWidth(s);c&&c.tab===s||(J=K.drawTab(e,s,0,X,j,I,K._tabBackground)),B.add({_75o:J,tab:s,startY:X,endY:X+I,height:I}),X+=I+b}}),K._23Q=t(0,X-b),c){var R=c.position;K.drawTab(e,c.tab,0,c.startY,j,c.height,K._moveBackground),ao(e,0,R,j,1,K._insertColor)}if(e.restore(),K._selectionChanged){K._selectionChanged=!1;for(var y=K.ty(),h=0;h<B.size();h++){var L=B.get(h);if(L.tab===K._8o){if(L.endY+y<0){K.ty(-L.startY);break}if(L.startY+y>Y){K.ty(Y-L.endY);break}}}}K.ty(K.ty())}else if(V||i){K._9o&&(q.x=0,Rj(K._8o.getView(),q)),If(n,r,Y);var e=ir(n),X=0;if(Nh(e,0,K.ty(),1),e.clearRect(0,0,r,Y),B.clear(),g._roots.each(function(N){if(N.isVisible()){var O;c&&c.tab===N||(O=K.drawTab(e,N,0,X,r,j,K._tabBackground)),B.add({_75o:O,tab:N,startY:X,endY:X+j,height:j}),X+=j+b}}),K._23Q=t(0,X-b),c){var R=c.position;K.drawTab(e,c.tab,0,c.startY,r,c.height,K._moveBackground),ao(e,0,R,r,1,K._insertColor)}if(e.restore(),K._selectionChanged){K._selectionChanged=!1;for(var y=K.ty(),h=0;h<B.size();h++){var L=B.get(h);if(L.tab===K._8o){if(L.endY+y<0){K.ty(-L.startY);break}if(L.startY+y>Y){K.ty(Y-L.endY);break}}}}K.ty(K.ty())}else{K._9o&&(q.y=0,Rj(K._8o.getView(),q)),If(n,G,j);var e=ir(n),s=0;if(Nh(e,K.tx(),0,1),e.clearRect(0,0,G,j),B.clear(),g._roots.each(function($){if($.isVisible()){var V,v=K.getTabWidth($);c&&c.tab===$||(V=K.drawTab(e,$,s,0,v,j,K._tabBackground)),B.add({_75o:V,tab:$,startX:s,endX:s+v,width:v}),s+=v+b}}),K._64I=t(0,s-b),c){var R=c.position;K.drawTab(e,c.tab,c.startX,0,c.width,j,K._moveBackground),vh(e,K._insertColor,R,0,j)}if(e.restore(),K._selectionChanged){K._selectionChanged=!1;for(var H=K.tx(),h=0;h<B.size();h++){var L=B.get(h);if(L.tab===K._8o){if(L.endX+H<0){K.tx(-L.startX);break}if(L.startX+H>G){K.tx(G-L.endX);break}}}}K.tx(K.tx())}for(var T=[],F=E.children,h=0;h<F.length;h++){var Z=F[h],W=Z._tab_;W&&!g.contains(W)&&T.push(Z)}T.forEach(function(N){E.removeChild(N)})}});var Wl=function(k){this.tv=k,this.addListeners()};Be(Wl,F,{ms_listener:1,getView:function(){return this.tv._91O},handle_mousewheel:function(r){this.handleScroll(r,10*(r.wheelDelta/40))},handle_DOMMouseScroll:function(I){this.handleScroll(I,10*-I.detail)},handleScroll:function(g,W){nm(g);var d=this.tv,f=d._tabPosition;!d._40o()||f!==Gh&&f!==An||d.tx(this.tv.tx()+W),!d._41o()||f!==rg&&f!==cd&&f!==rg+"-vertical"&&f!==cd+"-vertical"||d.ty(this.tv.ty()+W)},_8Q:function(A){var Q,B,S=this.tv,p=S._tabPosition,m=S._7o;if(p===Gh||p===An){var h=S.lp(A).x;for(Q=0;Q<m.size();Q++)if(B=m.get(Q),B.startX<=h&&h<=B.endX)return B}else if(p===rg||p===cd||p===rg+"-vertical"||p===cd+"-vertical"){var G=S.lp(A).y;for(Q=0;Q<m.size();Q++)if(B=m.get(Q),B.startY<=G&&G<=B.endY)return B}return J},isClickable:function(H){var j=this.tv,h=j._tabPosition,v=this._73o=this._8Q(H);return!j._40o()||h!==Gh&&h!==An?!j._41o()||h!==rg&&h!==cd&&h!==rg+"-vertical"&&h!==cd+"-vertical"?v&&(!v.tab.isDisabled()||j.isMovable()):!0:!0},handle_mousemove:function(d){var s=this;Si?s._74o=s._8Q(d):s.getView().style.cursor=s.isClickable(d)?ef:""},handle_mousedown:function(T){this.handle_mousemove(T),this.handle_touchstart(T)},handle_touchstart:function(y){var $=this,S=$.tv,C=S._tabPosition;nm(y),ve(y)&&$.isClickable(y)&&(C===Gh||C===An?($.x=Rb(y).x,$.lp=S.lp(y),$.tx=S.tx()):($.y=Rb(y).y,$.lp=S.lp(y),$.ty=S.ty()),ff($,y))},handleWindowMouseMove:function(J){this.handleWindowTouchMove(J)},handleWindowTouchMove:function(A){var j,k=this,R=k.tv,G=R._tabPosition,S=k._73o;
|
||
if(G===Gh||G===An){if(j=Rb(A).x-k.x,!k._25o&&!k.moving&&x(j)>2&&(R._40o()&&!xr(A)?k._25o=1:S&&R.isMovable()&&(k.moving=1)),k._25o)R.tx(k.tx+j);else if(k.moving){var H=k.lp.x+j,h=R._tabGap/2;R._7o.each(function(o){var _=o.endX,y=H-o.startX<_-H;H>=o.startX&&_>=H&&R._7Q({tab:S.tab,startX:S.startX+j,width:S.width,front:y,insertTab:o.tab,position:y?t(0,o.startX-h):g(R._64I,_+h)})})}}else if(j=Rb(A).y-k.y,!k._25o&&!k.moving&&x(j)>2&&(R._41o()&&!xr(A)?k._25o=1:S&&R.isMovable()&&(k.moving=1)),k._25o)R.ty(k.ty+j);else if(k.moving){var M=k.lp.y+j,h=R._tabGap/2;R._7o.each(function(O){var W=O.endY,m=M-O.startY<W-M;M>=O.startY&&W>=M&&R._7Q({tab:S.tab,startY:S.startY+j,height:S.height,front:m,insertTab:O.tab,position:m?t(0,O.startY-h):g(R._23Q,W+h)})})}},handleWindowMouseUp:function(r){this.handleWindowTouchEnd(r)},handleWindowTouchEnd:function(){var Z=this,E=Z.tv,c=E._tabPosition,b=E.getTabModel(),j=b._roots,k=Z._73o;if(Z.moving){var l=E._23o;if(l&&l.insertTab!==l.tab){var C=l.tab,f=j.remove(C),N=j.indexOf(l.insertTab);N>=0&&(l.front||N++,N<=j.size()&&(j.add(C,N),b._38I(C,f,N)))}E._7Q(J),delete Z.moving}else if(!Z._25o&&k){C=k.tab;var u=Z._74o;if(!u||u.tab===C)if(!C.isDisabled()&&Cs(k._75o,Z.lp)){var e=function(){var W=j.indexOf(C);b.remove(C),E.onTabClosed(C,W)};E.onTabClosing(C,e)&&e()}else C.isDisabled()||E._8o===C||b.sm().ss(C)}Z._25o=Z._73o=Z._74o=c===Gh||c===An?Z.x=Z.lp=Z.tx=J:Z.y=Z.lp=Z.ty=J}}),hk.PropertyView=function(G){var S=this;S._view=Mm(1,S),S._canvas=dp(S._view),cl(S._view,S._79O=nl()),S._rows=new Sl,S._28o=new Sl,S._26o={},S._26Q={};var L=S._propertyModel=new hl,M=S.ivm;L.mm(M,S),L.md(M,S),L.mh(M,S),S.dm(G?G:new hl),new lp(S)},Of("PropertyView",F,{ms_ac:[Dk,dd,kl,Xe,cs,"categorizable",xk,Ai,Jc,ph,He,pp,Ib,Pc,"selectRowIndex",Wf,"background",Te,hh,Ik,Sm,Nq],ms_v:1,ms_dm:1,ms_fire:1,ms_sm:1,_49o:1,ms_txy:1,ms_lp:1,ms_vs:1,_45o:1,_47o:1,ms_tip:1,_29I:rm,_59I:0,_9I:0,_selectRowIndex:-1,_editable:!0,_batchEditable:!0,_categorizable:!0,_indent:Gb,_background:_.propertyViewBackground,_expandIcon:_.propertyViewExpandIcon,_collapseIcon:_.propertyViewCollapseIcon,_scrollBarColor:al,_scrollBarSize:lj,_autoHideScrollBar:Gp,_selectBackground:_.propertyViewSelectBackground,_rowHeight:Zg,_rowLineVisible:_.propertyViewRowLineVisible,_rowLineColor:_.propertyViewRowLineColor,_10I:.5,_columnLineVisible:_.propertyViewColumnLineVisible,_columnLineColor:_.propertyViewColumnLineColor,_labelColor:_.propertyViewLabelColor,_labelSelectColor:_.propertyViewLabelSelectColor,_labelFont:_.propertyViewLabelFont,getRows:function(){return this._rows},getColumnPosition:function(){return this._10I},setColumnPosition:function(U){0>U&&(U=0),U>1&&(U=1);var $=this,T=$._10I;$._10I=U,$.fp("columnPosition",T,U)},getPropertyName:function(r){return r.toLabel()},getLabelFont:function(){return this._labelFont},getLabelColor:function(a,e,R){return R===this._selectRowIndex?this._labelSelectColor:this._labelColor},getPropertyFont:function(){return this._labelFont},getPropertyColor:function(v,Z){return Z===this._selectRowIndex?this._labelSelectColor:v.getColor()||this._labelColor},getCategoryFont:function(){return this._labelFont},getCategoryColor:function(){return this._labelColor},adjustTranslateX:function(){return 0},adjustTranslateY:function(k){var q=this.getHeight()-this._59I;return q>k&&(k=q),k>0?0:d(k)},isExpanded:function(G){if(!G)return!0;var g=this._26o[G];return g?g.isExpanded:!(this._26Q[G]===!1)},toggle:function(O){var g=this;g.isExpanded(O)?g.collapse(O):g.expand(O)},expandAll:function(){this.validate();for(var h in this._26o)this.expand(h)},expand:function(P){if(P&&P!==nh){var e=this,W=e._26o[P];W&&!W.isExpanded&&(W.isExpanded=!0,e.onExpanded(P),e.ivm())}},onExpanded:function(){},collapseAll:function(){this.validate();for(var q in this._26o)this.collapse(q)},collapse:function(z){if(z&&z!==nh){var V=this,n=V._26o[z];n&&n.isExpanded&&(n.isExpanded=!1,V.onCollapsed(z),V.ivm())}},onCollapsed:function(){},getCategoryName:function(z){if(!this.isCategorizable())return nh;var M=z.getCategoryName();return M?M:nh},getPropertyModel:function(){return this._propertyModel},handleSelectionChange:function(){this.ivm()},setDataModel:function(c){var V=this,r=V._dataModel;r!==c&&(r&&(r.umd(V.handlePropertyChange,V),V._selectionModel||r.sm().ums(V.handleSelectionChange,V)),V._dataModel=c,c.md(V.handlePropertyChange,V),V._selectionModel?V._selectionModel._21I(c):c.sm().ms(V.handleSelectionChange,V),V.fp(zc,r,c))},isVisible:function(P){return this._visibleFunc?this._visibleFunc(P):!0},onPropertyChanged:function(P){var N=this,F=P.property;$k[F]?N.ivm():N.iv(),F===Zl&&N._43o()},getCurrentData:function(){return this._27o},updateCurrentData:function(){this._27o=this.sm().ld()},getRawProperties:function(){return this._27o?this._propertyModel._roots:kd},handlePropertyChange:function(r){this._27o===r.data&&this.iv()},ivm:function(){this.invalidateModel()},invalidateModel:function(){var Y=this;Y._96I||(Y.setSelectRowIndex(-1),Y._96I=1,Y.iv())},redraw:function(){this.iv()},validateModel:function(){var M=this,f=M._rows,t=M._28o,j={},r=new Sl,e=M._27o;M.updateCurrentData(),e!==M._27o&&M.endEditing(),f.clear(),t.clear(),M.getRawProperties().each(function(L){if(M.isVisible(L)){r.add(L);var s=M.getCategoryName(L);j[s]||(t.add(s,s===nh?0:a),j[s]={isExpanded:M.isExpanded(s),properties:new Sl})}}),M._sortFunc&&r.sort(M._sortFunc);for(var G in M._26o)M._26Q[G]=M.isExpanded(G);M._26o=j,t.each(function(m){m!==nh&&f.add(m);var q=j[m];q.isExpanded&&r.each(function(u){M.getCategoryName(u)===m&&(q.properties.add(u),f.add({property:u,data:M._27o}))},M)})},validateImpl:function(){var B=this;B._76o(),B._96I&&(B.validateModel(),delete B._96I);var e=B._canvas,G=B.getWidth(),m=B.getHeight(),h=-B.ty(),D=B._rowHeight,Q=B._indent,d=G-Q,w=B._rows,$=w.size(),b=B._9I=Q+d*B._10I,L=B._59I=$*D;If(e,G,m),B._29I={x:0,y:h,width:G,height:m},B._31I=Y(h/D),B._14I=O((h+m)/D),B._31I<0&&(B._31I=0),B._14I>$&&(B._14I=$);var M,x=ir(e),v=B._background;Nh(x,0,-h,1),x.beginPath(),x.rect(0,h,G,m),x.clip(),x.clearRect(0,h,G,m),B._93db(x),v&&ao(x,0,0,Q,L,v);for(var f=B._31I;f<B._14I;f++){var X=w.get(f),h=D*f;if(tg(X))v&&ao(x,Q,h,d,D,v),M=Kg(B.isExpanded(X)?B._expandIcon:B._collapseIcon),M&&jl(x,M,_d,0,h,Q,D),x.save(),x.beginPath(),x.rect(Q,h,d,D),x.clip(),B.drawCategoryName(x,X,f,Q,h,d,D),x.restore();else{var Z=X.property,I=X.data,M=Kg(Z.getIcon()),T=B._selectRowIndex===f?B.getSelectBackground():J;if(M&&jl(x,M,_d,0,h,Q,D),T&&ao(x,Q,h,d,D,T),x.save(),x.beginPath(),x.rect(Q,h,b-Q,D),x.clip(),B.drawPropertyName(x,Z,f,Q,h,b-Q,D),x.restore(),!B.isEditing(I,Z)){var u=b+1,r=G-b-1;x.save(),x.beginPath(),x.rect(u,h,r,D),x.clip(),B._87o(B.drawPropertyValue(x,Z,B.getValue(I,Z),f,u,h,r,D,I),f,u,h,r,D),x.restore()}}B._rowLineVisible&&ao(x,Q,h+D-1,d,1,B._rowLineColor)}B._columnLineVisible&&(ao(x,b,0,1,L,B._columnLineColor),ao(x,G-1,0,1,L)),B._92db(x),B._93I(),x.restore(),B.ty(B.ty())},drawCategoryName:function(H,n,d,A,l,v,B){Ap(H,n,this.getCategoryFont(n),this.getCategoryColor(n),A,l,v,B)},drawPropertyName:function(j,k,C,W,T,r,J){return k.drawPropertyName?(k.drawPropertyName(j,k,C,W,T,r,J,this),void 0):(Ap(j,this.getPropertyName(k),this.getPropertyFont(k,C),this.getPropertyColor(k,C),W,T,r,J),void 0)},drawPropertyValue:function(x,e,B,K,g,a,s,y,v){return e.drawPropertyValue?e.drawPropertyValue(x,e,B,K,g,a,s,y,v,this):(Dh(x,B,e,this.getLabelFont(e,B,K),this.getLabelColor(e,B,K),g,a,s,y,v,this),void 0)},isPropertyEditable:function(q){return q.isEditable()&&this.isEditable()},setProperties:function(G){this._propertyModel.clear(),this.addProperties(G)},addProperties:function(k){if(k){var i=this._propertyModel;k.forEach(function(X){if(!(X instanceof Mj)){var t=Dq(X.className);X=_g(t?t:Mj,X)}i.add(X)})}},getRowIndexAt:function(v){var H=this,l=Y(H.lp(v).y/H._rowHeight);return l>=0&&l<H._rows.size()?l:-1},getPropertyAt:function(b){var R=this,X=R.getRowIndexAt(b);return X>=0?R._rows.get(X).property:J},getToolTip:function(B){var j=this,t=j.getPropertyAt(B),q=j._27o;return t&&q?t.getToolTip(q,j._9I<j.lp(B).x,j):J}});var lp=function(O){this.pv=O,this.addListeners()};Be(lp,F,{ms_listener:1,getView:function(){return this.pv._view},setCursor:function(P){this.getView().style.cursor=P},clear:function(){var f=this;f._62O=f.cp=f.ty=f.p=J,f.setCursor(Qc)},handle_mousedown:function(h){this.handle_touchstart(h)},handle_touchstart:function(O){var $=this,Y=$.pv;nm(O),Y.setFocus(O)&&(ve(O)?($.cp=Rb(O),$.ty=Y.ty(),$.p=Y.getColumnPosition(),$.handle_touchmove(O)):Y.setSelectRowIndex(Y.getRowIndexAt(O)))},handleWindowMouseUp:function(){this.clear()},handleWindowTouchEnd:function(){this.clear()},handle_mouseup:function(m){this.handle_touchend(m)},handle_touchend:function(Z){var p=this;if(p.cp&&!p._62O){var D=p.pv,b=D.lp(Z),R=b.x,v=b.y,j=D._indent,S=D.getRowIndexAt(Z),z=D._9I;if(S>=0){var e=D._rowHeight,d=e*S,$=D._rows.get(S),o=$.property;if(tg($))Kg(D.isExpanded($)?D._expandIcon:D._collapseIcon)&&R>=0&&j>=R&&v>=d&&d+e>=v?D.toggle($):Gj(Z)&&D.toggle($);else if(R>z&&D.isPropertyEditable(o,Z)){var a={x:z+1,y:d,width:D.getWidth()-z-1,height:e},K={x:a.x+D.tx(),y:a.y+D.ty(),width:a.width,height:a.height},C=0,w=D._29I;a.y<w.y?C=a.y-w.y:a.y+e>w.y+w.height&&(C=a.y+e-w.y-w.height),C&&(D.ty(D.ty()-C),K.y-=C),D.beginEditing({data:$.data,property:o,value:D.getValue($.data,o),event:Z,rect:a,editorRect:K,view:D})}}D.setSelectRowIndex(S)}p.clear()},handleWindowMouseMove:function(h){this.handleWindowTouchMove(h)},handleWindowTouchMove:function(z){var k=this,N=k.pv,b=k.ty,d=k.cp,c=Rb(z),p=k._62O;if("p"===p)N.setTranslateY(b+c.y-d.y);else if("c"===p){var V=N.getWidth()-N._indent;if(V>16){var l=k.p-(d.x-c.x)/V,$=16/V;$>l&&(l=$),l>1-$&&(l=1-$),N.setColumnPosition(l)}}else"s"===p&&N.setTranslateY(b+(d.y-c.y)*N._59I/N._29I.height)},handle_mousemove:function(e){this.handle_touchmove(e)},handle_touchmove:function(X){if(!Si&&ve(X)){var U=this,N=U.pv,W=x(N.lp(X).x-N._9I)<=(Gm?8:3);U.cp?U._62O||(W?(U._62O="c",ff(U)):x(Rb(X).y-U.cp.y)>=2&&(U._62O=U.isV(X)?"s":"p",ff(U))):(W?U.setCursor(Rq):U.setCursor(Qc),U.isV(X)&&N._43o())}},isV:function(l){var j=this.pv,u=j._29I;return j._41o()&&u.x+u.width-j.lp(l).x<wc},handle_mousewheel:function(Z){this.handleScroll(Z,Z.wheelDelta/40)},handle_DOMMouseScroll:function(X){2===X.axis&&this.handleScroll(X,-X.detail)},handleScroll:function(Q,G){var J=this.pv;nm(Q),J.endEditing(),J.translate(0,G*J.getRowHeight())},handle_keydown:function(I){var A=this.pv,$=A._rows.size(),j=A._selectRowIndex+(Fr(I)?-1:1);(Fr(I)||Rh(I))&&(0>j&&(j=0),j>=$&&(j=$-1),A.setSelectRowIndex(j))}}),hk.ListView=function(Z){this._5o(Z),new Fk(this)},Of("ListView",F,{ms_ac:[Dk,dd,kl,Te,xk,hh,Ik,Ai,Jc,pp,Ib,Pc,dr,Wf],ms_v:1,ms_bnb:1,ms_tip:1,ms_fire:1,ms_sm:1,_49o:1,ms_txy:1,ms_lp:1,ms_vs:1,ms_hs:1,_15Q:1,_14Q:1,ms_dm:1,_45o:1,_checkMode:!1,_indent:Gb,_rowHeight:Zg,_rowLineVisible:_.listViewRowLineVisible,_rowLineColor:_.listViewRowLineColor,_scrollBarColor:al,_scrollBarSize:lj,_autoMakeVisible:Fb,_autoHideScrollBar:Gp,_selectBackground:_.listViewSelectBackground,_labelColor:_.listViewLabelColor,_labelSelectColor:_.listViewLabelSelectColor,_labelFont:_.listViewLabelFont,isCheckMode:function(){return this._checkMode},setCheckMode:function(N){var I=this,w=I._checkMode;I._checkMode=N,I.fp(Hk,w,N)},drawRow:function(G,M,t,j,T,X,$){var u=this,J=0,O=u._indent,f=u.getIconWidth(M);u.drawRowBackground(G,M,t,j,T,X,$),u._checkMode&&(Uf(G,Kg(u.getCheckIcon(M)),J+O/2,T+$/2,M,u),J+=O),u.drawIcon(G,M,J,T,f,$),u.drawLabel(G,M,J+f,T,$)}});var Fk=function(i){this.list=i,this._lastSelectDataTime=eh(),this.addListeners()};Be(Fk,F,{ms_listener:1,getView:function(){return this.list._view},clear:function(A){var p=this,y=p.list;A&&"d"===p._62O&&!p.dragCancel&&y.handleDragAndDrop(A,"end"),y.draggingData&&(y.draggingData=null,y.redraw()),p.dragCancel=p._62O=p._isV=p._isH=p.cp=p.tx=p.ty=J},handle_mousedown:function(u){this.handle_touchstart(u)},handle_touchstart:function(U){var k=this,Z=k.list;if(nm(U),Z.setFocus(U)){var i=Z.getDataAt(U);k.cp=Rb(U),k.tx=Z.tx(),k.ty=Z.ty(),ve(U)?i&&Z.handleDragAndDrop&&!k.isV(U)&&!k.isH(U)&&(Z.draggingData=i,Z.redraw(),Z.handleDragAndDrop(U,"prepare")):(i&&k._33o(U,i),k.clear(U))}},handleWindowMouseUp:function(k){this.clear(k)},handleWindowTouchEnd:function(V){this.clear(V)},handle_mouseup:function(j){this.handle_touchend(j)},handle_touchend:function(R){var n=this,D=n.list;if(!n._isV&&!n._isH&&n.cp&&!n._62O){var W=D.getDataAt(R);W?(D.isCheckMode()?n._34o(R,W):n._33o(R,W),Gj(R)?D.onDataDoubleClicked(W,R):D.onDataClicked(W,R)):D.handleBackgroundClick(R)}n.clear(R)},handleWindowMouseMove:function(d){this.handleWindowTouchMove(d)},handleWindowTouchMove:function(Z){var $=this,r=$.list,k=$._62O,m=$.tx,L=$.ty,y=$.cp,x=Rb(Z),I=r._29I;"p"===k?r.setTranslate(m+x.x-y.x,L+x.y-y.y):"v"===k?r.ty(L+(y.y-x.y)*r._59I/I.height):"h"===k?r.tx(m+(y.x-x.x)*r._91I/I.width):"d"===k&&($.dragCancel||r.handleDragAndDrop(Z,"between"))},handle_mousemove:function(v){this.handle_touchmove(v)},handle_touchmove:function(_){if(!Si&&ve(_)){var V=this,R=V.list;if(V._isV=V.isV(_),V._isH=V.isH(_),V.cp){if(!V._62O){if(Kk(Rb(_),V.cp)<2)return;V._isV?V._62O="v":V._isH?V._62O="h":R.draggingData&&!this.dragCancel?(V._62O="d",R.handleDragAndDrop(_,"begin")):V._62O="p",V._62O&&"d"!==V._62O&&R.draggingData&&(R.draggingData=null,R.redraw()),ff(V)}}else V._isV&&R._43o(),V._isH&&R._42o()}},isV:function(g){var M=this.list,l=M._29I;return M._41o()&&l.x+l.width-M.lp(g).x<wc},isH:function(M){var t=this.list,h=t._29I;return t._40o()&&h.y+h.height-t.lp(M).y<wc},handle_mousewheel:function(W){this.handleScroll(W,W.wheelDelta/40,W.wheelDelta!==W.wheelDeltaX)},handle_DOMMouseScroll:function(r){this.handleScroll(r,-r.detail,1)},handleScroll:function(Q,E,B){var r=this.list;nm(Q),r.endEditing&&r.endEditing(),B&&r._41o()?r.translate(0,E*r.getRowHeight()):r._40o()&&r.translate(10*E,0)},handle_keydown:function(h){if(!_.isInput(h.target)){var v,H=this.list,C=H.sm(),F=H._rows,k=F.size();if(xg(h))H.selectAll();else if(xj(h))H.handleDelete&&H.handleDelete(h);else if(kj(h))"d"!==this._62O||this.dragCancel||(H.handleDragAndDrop(h,"cancel"),this.dragCancel=!0);else if(Mp(h))H.isCheckMode()&&(v=H.getFocusData(),v&&H.checkData(v));else if(Fr(h)||Rh(h)){var J=H.isCheckMode();if(v=J?H.getFocusData():C.ld()){var X=H.getRowIndex(v);X>=0&&(Fr(h)?0!==X&&(v=F.get(X-1),J?H.setFocusData(v):C.ss(v)):X!==k-1&&(v=F.get(X+1),J?H.setFocusData(v):C.ss(v)))}else k>0&&(v=F.get(0),J?H.setFocusData(v):C.ss(v))}}},_34o:function(L,F){var c=this.list,u=c.lp(L).x;return u>=0&&u<=c._indent?(c.checkData(F),void 0):(c.setFocusData(F),void 0)},_33o:function(_,k){var j=this.list,e=j.sm(),O=e.ld();if(xr(_))j.isSelected(k)?e.rs(k):e.as(k);else if(Bc(_))if(O)for(var R=j.getRowIndex(O),T=j.getRowIndex(k);R!==T;)R+=T>R?1:-1,e.as(j._rows.get(R));else e.ss(k);else if(ve(_)){var S=eh();if(e.contains(k)){var Y=S-this._lastSelectDataTime;j.handleDataDoubleSelect&&Y>500&&1500>Y&&j.handleDataDoubleSelect(_,k)}e.ss(k),this._lastSelectDataTime=S}else e.contains(k)||e.ss(k)}}),hk.TreeView=function(m){var P=this;P._35o(),P._5o(m),new Mc(P)},Of("TreeView",F,{ms_ac:[Dk,dd,kl,"rootVisible",Hk,"rootData",Ai,Jc,pp,Ib,Pc,xk,Te,hh,Ik,ph,He,dr,Wf,"loader","doubleClickToToggle"],ms_v:1,ms_bnb:1,ms_tip:1,ms_fire:1,ms_sm:1,_49o:1,ms_txy:1,ms_lp:1,ms_vs:1,ms_hs:1,_15Q:1,ms_dm:1,_48o:1,_14Q:1,_45o:1,_checkMode:J,_indent:Gb,_rowHeight:Zg,_rowLineVisible:_.treeViewRowLineVisible,_rowLineColor:_.treeViewRowLineColor,_scrollBarColor:al,_scrollBarSize:lj,_autoHideScrollBar:Gp,_expandIcon:_.treeViewExpandIcon,_collapseIcon:_.treeViewCollapseIcon,_autoMakeVisible:Fb,_selectBackground:_.treeViewSelectBackground,_labelColor:_.treeViewLabelColor,_labelSelectColor:_.treeViewLabelSelectColor,_labelFont:_.treeViewLabelFont,_doubleClickToToggle:_.treeViewDoubleClickToToggle,drawRow:function(M,W,c,V,u,H,x){var h=this;h.drawRowBackground(M,W,c,V,u,H,x),h._97I(M,W,c,0,u,H,x)},isOnToggleIcon:function(D){var q=this.getDataAt(D);if(q){var C=this.getIndent(),d=this.lp(D).x;if(Kg(this.getToggleIcon(q))){var Q=C*this.getLevel(q);if(d>=Q&&Q+C>=d)return!0}}return!1}});var Mc=function(Q){mb(Mc,this,[Q])};Be(Mc,Fk,{toggle:function(D,Z,H,t){var w=this.list,s=w.lp(D).x;if(Kg(w.getToggleIcon(Z))){var O=H*t;if(s>=O&&O+H>=s)return w.toggle(Z),!0}return w.isDoubleClickToToggle()&&Gj(D)?(w.toggle(Z),!0):!1},_34o:function(Z,q){var J=this.list,W=J.lp(Z).x,b=J._levelMap[q._id],v=J._indent,g=v*(b+1);return W>=g&&g+v>=W?(J.checkData(q),void 0):(this.toggle(Z,q,v,b)||J.setFocusData(q),void 0)},_33o:function(n,O){var C=this,J=C.list;if(!C.toggle(n,O,J._indent,J.getLevel(O)))if(Bc(n)){var d=J.sm();if(d.size()>0){for(var $=J._rows,e=null,K=0,V=$.size();V>K;K++)if(J.isSelected($.get(K))){e=K;break}for(var U=null,K=$.size()-1;K>=0;K--)if(J.isSelected($.get(K))){U=K;break}var c,T,g=J.getRowIndex(O);for(e>g?(c=g-1,T=e):g>U?(c=U,T=g):(c=e,T=U);c!==T;)c++,d.as(J._rows.get(c))}else d.ss(O)}else Mc.superClass._33o.call(C,n,O)},handle_keydown:function(C){if(Ni(C)||Yl(C)){var y=this.list,o=y._rows,a=y.isCheckMode(),i=y.sm(),$=a?y.getFocusData():i.ld();$?$.hasChildren()&&(Ni(C)?y.collapse($):y.expand($)):o.size()>0&&($=o.get(0),a?y.setFocusData($):i.ss($))}else Mc.superClass.handle_keydown.call(this,C)}});var Bs=hk.TableView=function(x){this._98I(),this._5o(x),new pl(this)};Of("TableView",F,{ms_ac:[Dk,dd,kl,"sortMode",Xe,cs,Te,hh,Ik,Sm,Nq,"sortColumn",Ai,Jc,pp,Ib,Pc,dr,Wf],ms_v:1,ms_fire:1,ms_sm:1,_49o:1,ms_txy:1,ms_lp:1,ms_vs:1,ms_hs:1,_15Q:1,ms_dm:1,ms_tip:1,_50o:1,_45o:1,_47o:1,_sortMode:Ah,_editable:!0,_batchEditable:!1,_rowHeight:Zg,_rowLineVisible:_.tableViewRowLineVisible,_rowLineColor:_.tableViewRowLineColor,_columnLineVisible:_.tableViewColumnLineVisible,_columnLineColor:_.tableViewColumnLineColor,_scrollBarColor:al,_scrollBarSize:lj,_autoHideScrollBar:Gp,_autoMakeVisible:Fb,_selectBackground:_.tableViewSelectBackground,_labelColor:_.tableViewLabelColor,_labelSelectColor:_.tableViewLabelSelectColor,_labelFont:_.tableViewLabelFont,getCheckColumn:function(){var K=this;if(!K._31o){var F=K._31o=new Wo;F.setEditable(!0),F.setWidth(40),F.getValue=K.getCheckColumValue,F.drawCell=K.drawCheckColumnCell}return K._31o},isCheckMode:function(){return this._39o.contains(this._31o)},setCheckMode:function(x){var u=this,d=u._39o,k=u.getCheckColumn();x!==u.isCheckMode()&&(x?d.add(k,0):d.remove(k),u.fp(Hk,!x,x))},getCheckColumValue:function(I,P,s){return s.isSelected(I)},drawCheckColumnCell:function(p,u,E,B,i,P,I,$,w){Uf(p,w.getCheckIcon(u),i+I/2,P+$/2,u,w)}});var pl=function(q){mb(pl,this,[q])};Be(pl,Fk,{_34o:function(H,T){var E=this.list,B=E._31o;if(E.isCellEditable(T,B,H)){var L=E._3Q(B),X=E.lp(H).x;if(L&&X>=L.startX&&X<L.startX+B.getWidth())return E.checkData(T),void 0}E._37O(T,H),E.setFocusData(T)},_33o:function(S,Z){this.list._37O(Z,S),pl.superClass._33o.apply(this,arguments)}});var so=hk.TreeTableView=function(R){var G=this,J=G._4o=new Wo;G._35o(),G._98I(),G._5o(R),J.setDisplayName("Name"),J.setEditable(!0),J.setWidth(180),J.drawCell=vg,J.getValue=_e,G._39o.add(J),new Vk(G)},vg=function(x,C,U,q,Z,W,w,t,V){V._97I(x,C,U,Z,W,w,t)},_e=function(P,D,p){return p.getLabel(P)};Of("TreeTableView",F,{ms_ac:[Dk,dd,kl,"sortMode",Xe,cs,xk,Hk,"rootData","rootVisible",Ai,Jc,"sortColumn",ph,He,pp,Ib,Pc,dr,Ik,Te,hh,Sm,Nq,Wf,"loader"],ms_v:1,ms_bnb:1,ms_fire:1,ms_sm:1,_49o:1,ms_txy:1,ms_lp:1,ms_vs:1,ms_hs:1,_15Q:1,ms_dm:1,ms_tip:1,_50o:1,_48o:1,_14Q:1,_45o:1,_47o:1,_sortMode:Ah,_checkMode:J,_editable:!0,_batchEditable:!1,_indent:Gb,_rowHeight:Zg,_rowLineVisible:_.treeTableViewRowLineVisible,_rowLineColor:_.treeTableViewRowLineColor,_columnLineVisible:_.treeTableViewColumnLineVisible,_columnLineColor:_.treeTableViewColumnLineColor,_expandIcon:_.treeTableViewExpandIcon,_collapseIcon:_.treeTableViewCollapseIcon,_scrollBarColor:al,_scrollBarSize:lj,_autoHideScrollBar:Gp,_autoMakeVisible:Fb,_selectBackground:_.treeTableViewSelectBackground,_labelColor:_.treeTableViewLabelColor,_labelSelectColor:_.treeTableViewLabelSelectColor,_labelFont:_.treeTableViewLabelFont,getTreeColumn:function(){return this._4o}});var Vk=function(j){mb(Vk,this,[j])};Be(Vk,Fk,{_34o:function(C,G){var M=this.list,l=M._4o,v=M._3Q(l),c=M.lp(C).x;if(v){var A=M._indent,e=v.startX+A*M.getLevel(G);if(Kg(M.getToggleIcon(G))&&c>=e&&e+A>=c)return M.toggle(G),void 0;if(M.isCellEditable(G,l)&&(e+=A,c>=e&&e+A>=c))return M.checkData(G),void 0}M._37O(G,C),M.setFocusData(G)},_33o:function(Q,A){var u=this.list,y=u.lp(Q).x;if(Kg(u.getToggleIcon(A))){var B=u._3Q(u._4o);if(B){var t=u._indent,X=B.startX+t*u.getLevel(A);if(y>=X&&X+t>=y)return u.toggle(A),void 0}}u._37O(A,Q),Vk.superClass._33o.apply(this,arguments)}});var No=hk.TableHeader=function(D){var E=this,d=E._view=Mm(1,E),c=E._39o=D.getColumnModel(),L=E.iv;E.tv=E._tableView=D,E._60I=new Sl,E._canvas=dp(d),d.style.background=_.tableHeaderBackground||"",d.style.height=Am+eq,c.mm(L,E),c.md(L,E),c.mh(L,E),D.mp(function(D){gm[D.property]&&E.iv()},E),new Jr(E),E.iv()};Of("TableHeader",F,{ms_v:1,ms_lp:1,ms_fire:1,ms_ac:["checkIcon","sortDescIcon","sortAscIcon",Dk,kl,xk,"moveBackground","insertColor",Sm,Nq,"resizable","movable"],_checkIcon:Hg,_movable:!0,_resizable:!0,_labelColor:_.tableHeaderLabelColor,_labelFont:_.tableHeaderLabelFont,_columnLineColor:_.tableHeaderColumnLineColor,_columnLineVisible:_.tableHeaderColumnLineVisible,_sortDescIcon:_.tableHeaderSortDescIcon,_sortAscIcon:_.tableHeaderSortAscIcon,_moveBackground:_.tableHeaderMoveBackground,_insertColor:_.tableHeaderInsertColor,_indent:Gb,getCheckIcon:function(){return this._checkIcon},getTableView:function(){return this.tv},getLabel:function(R){return R.toLabel()},getLabelFont:function(){return this._labelFont},getLabelColor:function(h){return h.getColor()||this._labelColor},getLabelAlign:function(b){return b._align},onPropertyChanged:function(){this.iv()},_5Q:function(A){this._61I=A,this.iv()},getLogicalPoint:function(V){return xn(V,this._canvas,this.tv.tx())},validateImpl:function(){var e=this,E=e._canvas,j=e.getWidth(),$=e.getHeight(),o=e.tv,Y=e._60I,O=e._61I,p=-o.tx(),T=0;(j!==E.clientWidth||$!==E.clientHeight)&&If(E,j,$),Y.clear(),e._39o._roots.each(function(i){if(i.isVisible()){var b=T+i.getWidth();p+j>=T&&b>=p&&Y.add({column:i,startX:T}),T=b}});var X=ir(E);if(Nh(X,-p,0,1),X.beginPath(),X.rect(p,0,j,$),X.clip(),X.clearRect(p,0,j,$),Y.each(function(J){var F=J.column,g=J.startX,z=F.getWidth();z>0&&(X.save(),X.beginPath(),X.rect(g,0,z,$),X.clip(),O&&O.column===F||e.drawColumn(X,F,g,0,z,$),e._columnLineVisible&&ao(X,g+z-1,0,1,$,e._columnLineColor),X.restore())}),O){var s=O.column,T=O.startX,z=O.position,I=s.getWidth();X.save(),X.beginPath(),X.rect(T,0,I,$),X.clip(),X.fillStyle=e._moveBackground,X.fill(),e.drawColumn(X,s,T,0,I,$),X.restore(),vh(X,e._insertColor,z,0,$)}X.restore()},_6Q:function(D){var l=this.tv;return l._31o===D&&l.sm().getSelectionMode()===lb},drawColumn:function(_,Q,N,M,c,u){var B=this,e=B.tv,R=Kg(Q.getIcon()),m=B.getLabelAlign(Q);if(B._6Q(Q)){var G=Kg(B._checkIcon);Uf(_,G,N+c/2,M+u/2,Q,B)}else{var E=B.getLabel(Q),g=B.getLabelFont(Q),A=B.getLabelColor(Q),X=dc(g,E).width,T=R?B._indent:0;m===rg?(R&&jl(_,R,_d,N,M,T,u),Ap(_,E,g,A,N+T,M,c,u,rg)):m===cd?(R&&jl(_,R,_d,N+c-X-T,M,T,u),Ap(_,E,g,A,N,M,c,u,cd)):(R&&jl(_,R,_d,N+(c-X-T)/2,M,T,u),Ap(_,E,g,A,N+(c-X+T)/2,M,0,u,rg))}if(Q.isSortable()&&e.getSortColumn()===Q&&(R=Kg(Q.getSortOrder()===Ko?B._sortAscIcon:B._sortDescIcon))){var d=vj(R,Q)/2+2;Uf(_,R,m===cd?N+d:N+c-d,M+u/2,Q,e)}}});var Jr=function(p){var y=this;y.th=p,y.tv=p._tableView,y.addListeners()};Be(Jr,F,{ms_listener:1,getView:function(){return this.th.getView()},setCursor:function(h){this.getView().style.cursor=h},handle_mousemove:function(z){if(!Si){var P=this;delete P._29o,P.setCursor(Qc);for(var O=P.th,b=O._60I,K=O.lp(z).x,E=b.size()-1;E>=0;E--){var Z=b.get(E),i=Z.column,v=Z.startX+i.getWidth();if(O.isResizable()&&x(v-K)<=(Gm?10:3))return P._29o=Z,P.setCursor(Rq),void 0;K>Z.startX&&v>K&&(P._29o=Z),(i.isClickable()||i.isSortable()||O.isMovable()||P.tv.getCheckColumn&&i===P.tv.getCheckColumn())&&K>Z.startX&&v>K&&P.setCursor(ef)}}},handle_mousedown:function(i){this.handle_touchstart(i)},handle_touchstart:function(x){var g=this;nm(x),g.tv.endEditing(),g.handle_mousemove(x),g._29o&&(g.x=Rb(x).x,g.lx=g.th.lp(x).x,g.w=g._29o.column.getWidth(),ff(g,x))},handleWindowMouseMove:function(K){this.handleWindowTouchMove(K)},handleWindowTouchMove:function(D){var z=this,n=z.th,p=z.getView().style.cursor,s=z._29o,t=Rb(D).x-z.x;if(z.resizing||z.moving||(p===Rq?z.resizing=1:n.isMovable()&&p===ef&&x(t)>2&&(z.moving=1)),z.resizing)s.column.setWidth(z.w+t);else if(z.moving){var B=z.lx+t;n._60I.each(function(S){var G=S.startX,$=G+S.column.getWidth();if(B>=G&&$>=B){var x={column:s.column,startX:s.startX+t,front:$-B>B-G,insertColumn:S.column};x.position=x.front?G:$,n._5Q(x)}})}},_16Q:function(k,w){var P=this,B=P.tv,M=P.th,q=M._checkIcon;if(M._6Q(k)){var l=Kg(q),I=P.lx,g=k.getWidth(),J=vj(l,k);if(I>=w+g/2-J&&w+g/2+J>=I){M.setCheckIcon(q===pj?Hg:pj);var y=B.sm(),h=B._rows;return q===pj?y.rs(h):y.ss(h),B.onCheckColumnClicked(k),!0}}return!1},handleWindowMouseUp:function(q){this.handleWindowTouchEnd(q)},handleWindowTouchEnd:function(x){var Q=this,Z=Q.tv,W=Q.th,L=Q._29o;if(Q.moving){var y=W._61I;if(y&&y.insertColumn!==y.column){var Y=y.column,A=Z.getColumnModel()._roots,v=A.remove(Y),O=A.indexOf(y.insertColumn);O>=0&&(y.front||O++,O<=A.size()&&(A.add(Y,O),Z.getColumnModel()._38I(Y,v,O)))}W._5Q(J),delete Q.moving}else if(!Q.resizing&&L){Y=L.column;var e=W.lp(x).x,$=L.startX,H=!0;if(W.onColumnClicked){var C=W.onColumnClicked(Y,x,$);C===!1&&(H=!1)}if(H&&e>=$&&e<=$+Y.getWidth()&&!Q._16Q(Y,$)){if(Y.isSortable()){var F=Z.getSortMode(),q=Y.getSortOrder();F===Ah?Z.getSortColumn()===Y?(q===ls&&Z.setSortColumn(J),Y.setSortOrder(q===Ko?ls:Ko)):Z.setSortColumn(Y):"bistate"===F&&(Z.getSortColumn()===Y?Y.setSortOrder(q===Ko?ls:Ko):Z.setSortColumn(Y))}Z.onColumnClicked(Y,x,$)}}Q._29o=Q.resizing=Q.x=Q.lx=Q.w=J}}),hk.TablePane=function(d){this.init(new Bs(d))},Of("TablePane",F,{ms_v:1,_44o:1}),hk.TreeTablePane=function(x){this.init(new so(x))},Of("TreeTablePane",F,{ms_v:1,_44o:1}),hk.Toolbar=function(k){var l=this,L=l._view=Mm(1,l),Q=L.style;Q.background=_.toolbarBackground||"",Q.height=kg+eq,l._canvas=dp(L),l._30o=new Sl,l._90I=new Sl,l.setItems(k||[]),L.handleGroupSelectedChanged=function(e){if(e.isSelected()){var W=e.getGroupId();null!=W&&l._items.forEach(function(T){var A=T.element;A&&A!==e&&A.setSelected&&A.getGroupId&&A.getGroupId()===W&&A.setSelected(!1)})}},new wo(l)},Of("Toolbar",F,{ms_v:1,ms_fire:1,ms_tx:1,ms_lp:1,ms_tip:1,ms_value:1,ms_ac:[cc,Dk,kl,dd,Wf,"itemGap","separatorColor","currentItem","stickToRight"],_labelColor:_.toolbarLabelColor,_labelSelectColor:_.toolbarLabelSelectColor,_labelFont:_.toolbarLabelFont,_selectBackground:_.toolbarSelectBackground,_itemGap:_.toolbarItemGap,_separatorColor:_.toolbarSeparatorColor,_stickToRight:!1,getSumWidth:function(){return this._64I},getToolTip:function(j){var h=this.getItemInfoAt(j);return h?h.item.toolTip:J},getLabelColor:function(F){return F&&F.selected&&F.type!==pj&&F.type!==Nm?this._labelSelectColor:this._labelColor},onPropertyChanged:function(Q){this.iv(),Q.property===cc&&this._items.forEach(function(w){Eq(w)})},redraw:function(){this.iv()},addItem:function(K,E){var _=this._items;E==J?_.push(K):_.splice(E,0,K),this.fp(cc,J,_)},removeItem:function(q){if(q)for(var r=this._items,B=0;B<r.length;B++)q===r[B]&&(r.splice(B,1),this.fp(cc,J,r))},removeItemById:function(A){if(A!=J)for(var o=this._items,I=0;I<o.length;I++)if(A===o[I].id){var Y=o.splice(I,1)[0];return this.fp(cc,J,o),Y}},getItemById:function(i){if(i!=J)for(var b=this._items,v=0;v<b.length;v++){var q=b[v];if(i===q.id)return q}},setItemVisible:function(k,N){var G=this.getItemById(k);G&&(G.visible=N)},getItemInfos:function(){return this._30o},getItemInfoAt:function(u){var F=this,d=0,q=F._30o,m=F.lp(u),P=m.x,S=m.y;if(S>=0&&S<=F.getHeight())for(;d<q.size();d++){var w=q.get(d);if(w.startX<=P&&P<=w.endX)return w}return J},drawItem:function(P,f,e,T,w){if(f.visible===!1)return 0;if(Gl(f.visible)&&!f.visible())return 0;var Y=this,I=f.disabled;I&&(P.globalAlpha=jd);var K=Y.drawItemImpl(P,f,e,T,w),L=Y._itemGap;return I&&(P.globalAlpha=1),this._currentItem!==f||"separator"===f||f.separator===!0||f.unfocusable||Pm(P,Y._separatorColor,e-L/2,0,K+L,T),K},drawItemImpl:function(E,n,P,D,h){var C=this,f=C._view,O=C._itemGap,V=D/2,b=n.type,F=n.element,U=n.label;tg(F)&&(U=F,F=J);var s,p=C.getLabelFont(n),g=C.getLabelColor(n),W=n.selected,v=Kg(n.icon),$=vj(v,n),N=0,l=$+(U?dc(p,U).width:0);if("separator"===n||n.separator===!0)return vh(E,C._separatorColor,P,D/4,V),1;if(F){v&&Uf(E,v,P+$/2,V,n,C),Ap(E,U,p,g,P+$,0,0,D);var A=us(F);h||C._90I.add(A),A.parentNode!==f&&cl(f,A),F.iv&&F.iv(),F.validate&&F.validate();var B=A.getBoundingClientRect(),m=B.width,o=A.style;return kp(A),o.left=C.tx()+P+l+eq,o.top=(D-B.height)/2+eq,l+m}return b===Nm?s=Kg(W?Nk:Kl):b===pj&&(s=Kg(W?pj:Hg)),s?(N=vj(s,n),Uf(E,s,P+N/2,V,n,C),P+=N,l+=N):W&&ao(E,P-O/2,0,l+O,D,C.getSelectBackground(n)),v&&Uf(E,v,P+$/2,V,n,C),Ap(E,U,p,g,P+$,0,0,D),l},validateImpl:function(){var w=this,s=w._canvas,O=w.getWidth(),G=w.getHeight(),E=w._30o,n=w._items;If(s,O,G);var p=ir(s),H=w._itemGap,N=H/2;Nh(p,w.tx(),0,1),p.clearRect(0,0,O,G);var M=w._90I;w._90I=new Sl,E.clear(),n.forEach(function(_){var m=w.drawItem(p,_,N,G);E.add({item:_,startX:N,endX:N+m,width:m}),m&&(N+=m+H)}),M.each(function(X){w._90I.contains(X)||Pk(X)});var F=w._64I;w._64I=t(0,N),p.restore(),w._stickToRight?(w._65O=0,p=ir(s),N=O-w._64I+H,Nh(p,0,0,1),p.clearRect(0,0,O,G),E.clear(),n.forEach(function(k){var J=w.drawItem(p,k,N,G,!0);E.add({item:k,startX:N,endX:N+J,width:J}),J&&(N+=J+H)}),p.restore()):w.tx(w.tx()),F!==w._64I&&w.onSumWidthChanged(F,w._64I)},onSumWidthChanged:function(){},handleClick:function(a,g){var G=this,W=a.type,I=a.action,t=a.groupId,e=a.selected;a.disabled||(t!=J?e||(a.selected=!0,this._items.forEach(function(p){p.groupId===t&&a!==p&&(p.selected=!1)}),I&&a.action(a,G,g)):W===pj||"toggle"===W?(a.selected=!e,I&&a.action(a,G,g)):I&&a.action(a,G,g)),Ln(),G.iv()}});var wo=function(X){this.tb=X,this.addListeners()};Be(wo,F,{ms_listener:1,getView:function(){return this.tb._view},handle_mousewheel:function(c){this.handleScroll(c,10*(c.wheelDelta/40))},handle_DOMMouseScroll:function(y){this.handleScroll(y,10*-y.detail)},handleScroll:function(N,c){nm(N);var z=this.tb;z.isScrollable()&&!z._stickToRight&&(z.tx(z.tx()+c),og())},handle_mousemove:function(K){var C=this;Si||C.setItem(K)},handle_mouseout:function(s){var E=this;s.target===E.getView()?E.tb.setCurrentItem(J):E.handle_mousemove(s)},handle_mousedown:function(H){this.handle_mousemove(H),this.handle_touchstart(H)},handle_touchstart:function(F){var V=this,f=V.tb,l=F.target;ve(F)&&(l===V.getView()||l===f._canvas)&&(nm(F),f.setFocus(F)&&(this.setItem(F,!0),(f.isScrollable()||V.info&&!V.info.item.disabled)&&(V.x=Rb(F).x,V.tx=f.tx(),ff(V,F))))},handleWindowMouseMove:function(j){this.handleWindowTouchMove(j)},handleWindowTouchMove:function(k){var E=this,D=E.tb;if(!D._stickToRight){var V=Rb(k).x-E.x;!E._25o&&x(V)>2&&D.isScrollable()&&(E._25o=1),E._25o&&D.tx(E.tx+V)}},handleWindowMouseUp:function(f){this.handleWindowTouchEnd(f)},handleWindowTouchEnd:function(R){var z=this,h=z.tb,K=z.info,N=z.tb.getItemInfoAt(R);if(!z._25o&&K){var e=K.item;N&&N.item===e&&h.handleClick(e,R)}z._25o=z.x=z.tx=J,z.setItem()},setItem:function(P,r){var A=this,B=A.tb,O=A.info=P?B.getItemInfoAt(P):J,l=O?O.item:J;B.setCurrentItem(l),r&&l&&Gl(l.onDown)&&l.onDown(P)}}),hk.BorderPane=function(){this._view=Mm(1,this),this.iv()},Of("BorderPane",F,{ms_v:1,ms_ac:["topHeight","bottomHeight","leftWidth","rightWidth"],ms_fire:1,getLeftView:function(){return this._leftView},setLeftView:function(j,x){this._12o("leftView",j),x!=J&&this.setLeftWidth(x)},getRightView:function(){return this._rightView},setRightView:function(P,s){this._12o("rightView",P),s!=J&&this.setRightWidth(s)},getTopView:function(){return this._topView},setTopView:function($,G){this._12o("topView",$),G!=J&&this.setTopHeight(G)},getBottomView:function(){return this._bottomView
|
||
},setBottomView:function(g,s){this._12o("bottomView",g),s!=J&&this.setBottomHeight(s)},getCenterView:function(){return this._centerView},setCenterView:function(Q){this._12o("centerView",Q)},_12o:function(B,N){var K=this,$="_"+B,X=K._view,t=K[$];t!==N&&(t&&(t.getView?Pk(t.getView()):Pk(t)),K[$]=N,N&&(N.getView?cl(X,N.getView(),1):cl(X,N,1)),K.fp(B,t,N))},onPropertyChanged:function(){this.iv()},validateImpl:function(){var _=this,s=_._topView,F=_._bottomView,N=_._leftView,I=_._rightView,b=_._centerView,P=_.getWidth(),h=_.getHeight(),D=0,g=0,G=P,f=h,z=0,c=0,Z=0,A=0;s&&(z=_._topHeight==J?Ol(s):_._topHeight,g=z),F&&(c=_._bottomHeight==J?Ol(F):_._bottomHeight,f=h-c),N&&(Z=_._leftWidth==J?ad(N):_._leftWidth,D=Z),I&&(A=_._rightWidth==J?ad(I):_._rightWidth,G=P-A);var U=t(0,G-D),j=t(0,f-g);s&&Rj(s,0,0,P,z),F&&Rj(F,0,f,P,c),N&&Rj(N,0,g,Z,j),I&&Rj(I,G,g,A,j),b&&Rj(b,D,g,U,j)}})}}("undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:(0,eval)("this"),Object);
|