1 line
1.3 MiB
1 line
1.3 MiB
!function(u,Jd,Kd){"use strict";var t,d,l,J,K,f,Q,W,A,P,g,Y,v,Md="ht";if(!u.ht){Date.now&&Date.prototype.getTime||(Date.now=function(){return(new Date).getTime()}),u.performance&&u.performance.now||(N=Date.now(),u.performance||(u.performance={}),u.performance.now=function(){return Date.now()-N});for(var N,s=Date.now(),O=["ms","moz","webkit","o"],Z=0;Z<O.length&&!u.requestAnimationFrame;++Z)u.requestAnimationFrame=u[O[Z]+"RequestAnimationFrame"],u.cancelAnimationFrame=u[O[Z]+"CancelAnimationFrame"]||u[O[Z]+"CancelRequestAnimationFrame"];u.requestAnimationFrame||(u.requestAnimationFrame=function($){var z=Date.now(),C=16+s-z;return s=z,u.setTimeout(function(){s=Date.now(),$(performance.now())},C=C<0?0:C)}),u.cancelAnimationFrame||(u.cancelAnimationFrame=function($){return u.clearTimeout($)}),Jd.assign===Kd&&(Jd.assign=function($){if($===Kd||null===$)throw new TypeError("Cannot convert undefined or null to object");for(var z=Jd($),C=1;C<arguments.length;C++){var o=arguments[C];if(o!==Kd&&null!==o)for(var M in o)Jd.prototype.hasOwnProperty.call(o,M)&&(z[M]=o[M])}return z}),u.btoa===Kd&&(u.btoa=function($){for(var z,C,o=String($),M=0,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",N="";o.charAt(0|M)||(A="=",M%1);N+=A.charAt(63&z>>8-M%1*8)){if(255<(C=o.charCodeAt(M+=.75)))throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");z=z<<8|C}return N});var c=(mh=u.location)&&u.document,fd=null,X=Kd,U=u.ht={},V=u.htconfig,Qd=U.Default=V&&V.Default||{},xd=U.Style=V&&V.Style||{},e=U.Attr=V&&V.Attr||{},D=function(){},a=function(){return!0},k=function(){return!1},p=function(){return null},n=function($){return $},b=function($){return!$},m=U.Color=V&&V.Color||{},S=U.IsGetter=V&&V.IsGetter||{},G=!1;try{var q=Jd.defineProperty({},"passive",{get:function(){return G=!0,Kd}});mh&&u.addEventListener("test",q,q),mh&&u.removeEventListener("test",q,q)}catch($){G=!1}Qd.passiveSupported=G;var Ad,Nd,T,sd,r,gd,Yd,$d,zd,vd,Od,td,cd,Pd,Zd,Xd,dd,ld,pd,bd,V=Qd.passiveSupported,ud=Qd.eventListenerOptionsFalse=!!V&&{passive:!1,capture:!1},nd=Qd.eventListenerOptionsTrue=!V||{passive:!1,capture:!0},Rd=function($,z,C,o){$.addEventListener(z,C,o?nd:ud)},Id=function($,z,C,o){$.removeEventListener(z,C,o?nd:ud)},hd=(q=Math).round,md=q.floor,Sd=q.ceil,Gd=q.sqrt,Cd=q.max,od=q.min,I=q.abs,Wd=q.cos,Ed=q.acos,yd=q.sin,Hd=q.pow,id=q.asin,x=(q.exp,q.PI),_d=2*x,Fd=x/2,jd=q.tan,Ud=q.atan2,Ld=q.random,V=q.log,wd=Hd(2,1),qd=u.parseInt||global.parseInt,Td="2025-09-15",rd=mh&&!!u.navigator&&-1<u.navigator.platform.indexOf("Win"),Bd=function($){return $*$},$t=mh&&u.setTimeout,zt=mh&&u.clearTimeout,Ct=mh&&(u.navigator?u.navigator.userAgent.toLowerCase():""),ot=(Dt=function($){return $.test(Ct)})(/msie/),Mt=Dt(/msie/)||Dt(/trident/),At=Dt(/msie 10/),Nt=Dt(/edge/),st=Dt(/firefox/),gt=Dt(/mac/),Yt=(Dt(/mscAndroid/),Qd.isTouchable===Kd?!rd&&!!c&&"ontouchend"in c:Qd.isTouchable),vt="default",Ot="single",tt="multiple",ct="front",yt="back",_t="left",Pt="right",Zt="top",Xt="bottom",dt="center",lt="eye",Jt="middle",Kt="east",ft="west",Qt="north",Wt="none",Vt="px",et="absolute",Dt="border",at="triangle",kt="rect",xt="circle",pt="cylinder",bt="shape",ut="items",nt="normal",Rt="remove",It="clear",ht="width",mt="height",St="ingroup",Gt="check",Et="uncheck",Ht="radioOn",it="radioOff",Ft="points",jt="values",Ut="series",Lt="body",wt="label",qt="label2",Tt="note",rt="note2",Bt="icons",$f="labelFont",zf="labelColor",Cf="labelSelectColor",of="note.expanded",Mf="note2.expanded",Af="edge.expanded",Nf="edge.points",sf="edge.type",gf="rotation",Yf="hidden",vf="visible",Of="tuv",tf="no",cf="draw",yf="select",_f="currentSubGraph",rd="selectBackground",Pf="autoMakeVisible",Zf="autoHideScrollBar",Xf="scrollBarColor",df="scrollBarSize",lf="indent",Jf="rowHeight",Kf="columnLineColor",ff="rowLineColor",Qf="columnLineVisible",Wf="rowLineVisible",Vf="visibleFunc",ef="expandIcon",Df="collapseIcon",af="checkMode",kf="sortFunc",xf="editable",pf="batchEditable",bf="tristate",uf="asc",nf="desc",Rf="position",If="elevation",hf="children",mf="translateX",Sf="translateY",Gf="dataModel",Ef="state",Hf="encode",Ff="shape3d",jf="shape3d.resolution",Uf="shape3d.visible",Lf="shape3d.from.visible",wf="shape3d.to.visible",qf="shape3d.top.visible",Tf="shape3d.bottom.visible",rf="repeat.uv.length",Bf="serializeValue",$h="deserializeValue",zh="centerUniform",Ch="uniform",oh="rgba(255,255,255,0)",Mh="style",Ah="string",Nh="boolean",sh="color",gh="int",Yh="number",vh="ew-resize",Oh="ns-resize",th="pointer",ch="auto",yh="mousedown",_h="mousemove",Ph="mouseup",Zh="mouseout",Xh="touchstart",dh="touchmove",lh="touchend",Jh="keydown",Kh=["DOMMouseScroll","mousewheel"],fh=st?Kh[0]:Kh[1],Qh="__ht__"+Hf,Wh=[Xh,dh,lh,"tap"],Vh=[yh,_h,Ph,Zh,fh,"wheel","mouseenter","mouseleave","mouseover","click"],eh=[Jh,"keyup","keypress","input","contextmenu","compositionstart","compositionupdate","compositionend"],Dh=(Yt?Wh:Vh).concat(eh),ah=fd,kh=fd,xh=fd,ph=fd,bh=Ph.length,uh=function(){xh&&(zt(xh.timeout),xh=fd)},nh=function(){xh&&l3(xh.e,xh.info)},Rh=(u.addEventListener&&(X=mh)&&(Yt||(Rd(u,Zh,function(){uh()}),Rd(u,fh,function(){J3()})),Rd(u,"keyup",function($){91===$.keyCode?jh={}:delete jh[$.keyCode]},!0),Rd(u,Jh,function($){jh[$.keyCode]=!0},!0),Rd(u,"blur",function($){jh={}})),!1!==Qd.canvasContentLossFix&&u.navigator&&c&&(st=u.navigator.userAgent)&&(st=st.match(/Chrome\/(\d+)/i))&&(st=qd(st[1]))&&124<=st&&c.addEventListener("visibilitychange",function(){if("visible"===c.visibilityState)for(var $=c.getElementsByTagName("canvas"),z=0;z<$.length;z++){var C=$.item(z);!C||C.parentElement&&C.parentElement._ht instanceof U.graph3d.Graph3dView||(C=C.getContext("2d"))&&(C.fillStyle="transparent",C.fillRect(0,0,1,1))}}),0),Ih=fd,hh=function($,z){var C=$t(function(){delete Ih[C],Hv(Ih)&&(Ih=fd),$()},z);return C},mh=fd,Sh={},Gh={},Eh={},Hh={},ih={},Fh={},jh={},Uh={},Lh={},wh={},qh=/.json$/,Th="\\.(json|bin|htb|fbx|gltf|glb",rh=")([?#].*)?$",Bh=new RegExp(Th+rh,"i"),$v=new RegExp("\\.([^.?#]*"+rh,"i"),zv=/^data:image\/svg\+xml/,Cv=/(\w+)\s\(([^,]+),\s([^,]+)(,\s([^)]+))?\)/,ov=[],Mv={},Av=fd,Nv=function(){},sv=function(){throw"Oops!"},gv=[0,0,0],Yv={x:0,y:0,width:0,height:0},vv=fd,Ov=fd,tv=fd,cv=function($,z){(Gh[$]=z)&&z.comps&&!z.uuid&&(z.uuid=U.Math.generateUUID()),Zm[$]&&(z.cacheRule=Zm[$],delete Zm[$])},yv=function($){Ov&&!$._72O&&((tv=tv||{})[$._72O=H3()]=$),sd!=fd?($=1e4*yd(bh++))-md($)<.05&&T&&!Yd&&(fX=uh):fX=ev},_v=function(C,o,M,A){if(!Qd.isMaxConcurrencyReached()){var N,s,$=(Ov=Ov||{})[C];if($){if($.url===o)return;$.image?($.image.onload=Nv,$.image.onerror=Nv):$.request&&($.request.onload=Nv,$.request.onerror=Nv)}qh.test(o)?(N=new VV,Ov[C]={request:N,url:o},(o=Qd.beforeLoadURL(o,C)).data?(s=Qd.parse(o.data),Pv(C,s),Qd.handleImageLoaded(C,s)):(N.onload=function($){var z;200===this.status||0===this.status?(z=Qd.parse(N.getResponseText()),Pv(C,z),Qd.handleImageLoaded(C,z)):Pv(C,Qd.handleUnfoundImage(C,o)||fd)},N.onerror=function($){Pv(C,Qd.handleUnfoundImage(C,o)||fd)},($={}).url=encodeURI(o),$.sync=!1,N.send($))):(s=new Image,Ov[C]={image:s,url:o},/^data:/.test(o)||((o=Qd.beforeLoadURL(o,C)).data?o=o.data:(o=Qd.appendTimeStamp(o),o=encodeURI(o),s.crossOrigin=Qd.crossOrigin)),Qd.convertImageSrc(o,function($){Mt&&(0<o.toLowerCase().indexOf(".svg")||zv.test(o))?(c.body.appendChild(s),s.style.visibility="hidden",s.onload=function(){$t(function(){var $,z;M&&(s.width=M),A&&(s.height=A),s.width&&s.height||($=s.width||s.clientWidth,z=s.height||s.clientHeight,s.width=$,s.height=z),Qd.handleImageLoaded(C,s),Pv(C,s),c.body.removeChild(s),s.style.visibility=""},180)},s.onerror=function(){Pv(C,Qd.handleUnfoundImage(C,o)||fd),c.body.removeChild(s),s.style.visibility=""}):(s.onload=function(){M&&(s.width=M),A&&(s.height=A),Qd.handleImageLoaded(C,s),Pv(C,s)},s.onerror=function(){Pv(C,Qd.handleUnfoundImage(C,o)||fd)}),s.src=$}))}},Pv=function($,z){if(cv($,z),delete Ov[$],c3($,z),Hv(Ov)&&(Ov=fd,tv)){for(var C in tv)(o=tv[C])._2O&&o._2O[$]&&(o.deleteTexture($),delete o._2O[$]),o.invalidateAll&&o.invalidateAll(Kd,"imageLoaded",$),o.redraw&&o.redraw(),o.iv(),o instanceof cS&&o.dm().each(function($){$ instanceof NV&&$.updateLayoutAttaches()}),delete o._72O;tv=fd}if(z&&tv)for(var C in tv){var o;(o=tv[C]).invalidateAll&&o.invalidateAll(Kd,"imageLoading",$),o.redraw&&o.redraw(),o.iv(),o instanceof cS&&o.dm().each(function($){$ instanceof NV&&$.updateLayoutAttaches()})}},Zv=function($){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode($);for(var z="",C=0,o=$.length;C<o;C++)z+=String.fromCharCode($[C]);try{return decodeURIComponent(encodeURIComponent(z))}catch($){return z}},Xv=(V=q&&Date,function(){return(u.performance&&u.performance.now?u.performance:Date).now()}),dv=function($,z,C){return{width:$,height:z,comps:ed(C)?C:[C]}},lv=function($,z){return{type:xt,rect:[$,z,1.6,1.6],borderWidth:1,borderColor:y,gradient:d3,gradientColor:Cr,background:y}},Jv=function($,z){return dv(16,16,{type:at,rect:[4,4,10,8],background:$,rotation:z?1.57:3.14})},Zh=function($,z){return dv(16,16,{type:at,rect:[4,4,8,7],background:$,rotation:z?3.14:0})},Kv=function($){return"horizontal"===($=$._orientation)||"h"===$},fv=function($,z,C,o){return C||(C=Yt?Qd.touchHitTolerance:Qd.mouseHitTolerance,C/=o||1),{x:$-C,y:z-C,width:2*C,height:2*C}},Qv=function($){var z=/^is:/.test($);return z&&($=$.slice(3)),(z||/ble$/.test($)||/ed$/.test($)||S[$]?"is":"get")+$.charAt(0).toUpperCase()+$.slice(1)},Wv=function($){return"set"+$.charAt(0).toUpperCase()+$.slice(1)},Vd=function($){return typeof $==Ah||$ instanceof String},Vv=function($){return typeof $==Yh},ev=function($){return typeof $===Nh},Dv=function($){return $&&"object"==typeof $},av=function($){return"function"==typeof $},ed=function($){return $ instanceof Array},kv=function($){return $ instanceof L},R=function($){return $ instanceof NV},xv=function($){return $ instanceof cV},pv=function($){return $ instanceof yV},bv=function($,z){return $ instanceof U.Group&&(z?!(!(z=z.getDataUI($))||!z._88I):$.isExpanded())},uv=function($){return $ instanceof PV},nv=function($){return $&&"IFRAME"===$.tagName},Rv=function($){if($)return($=$.getView?$.getView():$).querySelector&&$.querySelector("iframe")!=fd},Iv=function($,z,C){var o,M=z.length;if(C)for(var A=0;A<C;A++)if(3===M)$.push(z[0]),$.push(z[1]),$.push(z[2]);else for(o=0;o<M;o++)$.push(z[o]);else if(3===M)$.push(z[0]),$.push(z[1]),$.push(z[2]);else for(o=0;o<M;o++)$.push(z[o])},hv=function($){return!!$&&(Dv($)?$:{})},z=function($,z,C){var o,M=Dv($)?$:$.prototype;for(o in z)C&&o in M?M[o]===Kd&&console.warn("class",M,"has own undefined property",o,", keep exist!"):M[o]=z[o];return $},mv=function($,z){var C;"wheelDelta"in z||((C=z.deltaMode)===z.DOM_DELTA_PIXEL?z.wheelDelta=-z.deltaY:C===z.DOM_DELTA_LINE?z.wheelDelta=40*-z.deltaY:z.wheelDelta=120*-z.deltaY),$.handle_mousewheel(z)},Sv=function($){return String.fromCharCode($)},Gv=function($,z){for(var C,o=0,M="",A="",N=$.length;o<N;o++)"%"===(C=$[z?o:N-1-o])?C="'":"a"===C?C='"':"]"===C&&(C="\\"),C=Sv(C.charCodeAt(0)-1),z?o%2?A+=C:M=C+M:M+=C;return z?A+M:M},Ev=function($,z,C){$.superClass.constructor.apply(z,C)},Hv=function($){for(var z in $)return!1;return!0},iv=function($){return!$||0===$.length},Fv=(vd="",[Et[0],ff[0],wt[0]].forEach(function($){vd+=Wv($).slice(3)}),Ch=c&&c[vd]||zh,function($,z){return $===z||$.x===z.x&&$.y===z.y&&$.width===z.width&&$.height===z.height}),jv=function($,z,C){return $<z?z:C<$?C:$},Uv=function($){return $<0?-1:0<$?1:0},Lv=function($,z,C){return wv($.x,$.y,z.x,z.y,C.x,C.y,C.x+C.width,C.y,!0)||wv($.x,$.y,z.x,z.y,C.x+C.width,C.y,C.x+C.width,C.y+C.height,!0)||wv($.x,$.y,z.x,z.y,C.x+C.width,C.y+C.height,C.x,C.y+C.height,!0)||wv($.x,$.y,z.x,z.y,C.x,C.y+C.height,C.x,C.y,!0)},wv=function($,z,C,o,M,A,N,s,g){var Y,v=(s-A)*(C-$)-(N-M)*(o-z);return 0!=v?(Y=$+(v=((N-M)*(z-A)-(s-A)*($-M))/v)*(C-$),v=z+v*(o-z),g&&(Y+a_<od($,C)||Y-a_>Cd($,C)||Y+a_<od(M,N)||Y-a_>Cd(M,N)||v+a_<od(z,o)||v-a_>Cd(z,o)||v+a_<od(A,s)||v-a_>Cd(A,s))?fd:[Y,v]):fd},qv=function($,z,C){if($&&C){var o=function($,z,C){return z?z===Mh?$.getStyle(C):"attr"===z?$.getAttr(C):"field"===z?$[C]:void 0:$[C=Qv(C)]?$[C]():void 0};if("string"!=typeof C||"{"!==C[0]||"}"!==C[C.length-1])return o($,z,C);var M=(C=(C=C.substr(1)).substr(0,C.length-1)).split("."),A=o($,z,M[0]);if(A!=fd)for(var N=1,s=M.length;N<s;N++)if((A=A[M[N]])==fd)return A;return A}return Kd},Tv=function($,z,C,o){$&&C&&(z?z===Mh?$.s(C,o):"attr"===z?$.a(C,o):"field"===z&&(z=$[C],$[C]=o,$.fp("f:"+C,z,o)):$[C=Wv(C)]&&$[C](o))},rv=function($,z,C){var o=100*Math.max($.width,$.height);return z&&"top"!==z?"bottom"===z?{x:$.x-o,y:$.y-o,width:$.width+2*o,height:$.height*C+o}:"right"===z?{x:$.x-o,y:$.y-o,width:$.width*C+o,height:$.height+2*o}:"left"===z?{x:$.x+$.width*(1-C),y:$.y-o,width:$.width*C+o,height:$.height+2*o}:void 0:{x:$.x-o,y:$.y+$.height*(1-C),width:$.width+2*o,height:$.height*C+o}},Bv=function($,z,C,o,M){z&&Xx($,C,o,1,M,z)},$X=function($,z,C,o){var M=1-$;return M*M*z+2*$*M*C+$*$*o},zX=function($,z,C,o,M){var A=1-$;return A*A*A*z+3*A*A*$*C+3*A*$*$*o+$*$*$*M},CX=function($){var z,C,o,M,A=0;return $.forEach(function($){if(0<(z=$.length))for(C=$[0],M=1;M<z;M++)o=$[M],A+=Y_(C,o),C=o}),A},oX=function($){return Jd.create($)},MX=function($){var z,C;$.element||((z=$.textField)?C=h3(Me.TextField,z):(z=$.textArea)?C=h3(Me.TextArea,z):(z=$.button)?C=h3(Me.Button,z):(z=$.comboBox)?C=h3(Me.ComboBox,z):(z=$.checkBox)?C=h3(Me.CheckBox,z):(z=$.radioButton)?C=h3(Me.RadioButton,z):(z=$.slider)?C=h3(Me.Slider,z):(z=$.colorPicker)?C=h3(Me.ColorPicker,z):(z=$.image)&&(C=h3(Me.Image,z)),C&&($.element=C))},AX=function($,z){return($=NX($))._ht=z,$},st=u.top===u?u.top:u||u.document,NX=function($,z){var C=c.createElement("div"),o=C.style;return C.tabIndex=-1,C.onkeydown=m3,o.msTouchAction=Wt,gX(C,fd,0),Yt&&o.setProperty("-webkit-tap-highlight-color","rgba(0, 0, 0, 0)",fd),$&&(o.overflow=Yf),z&&OX(z,C),C},sX=function($,z){var C=c.createElement("canvas"),o=C.style;return o.msTouchAction=Wt,z||(o.pointerEvents=Wt),gX(C,fd,0),$&&OX($,C),C},gX=function($,z,C){var o=$.style;o.border=z?z+" solid 1px":0,o.outline=0,o.padding=C?"0 "+C+Vt:0,YX($)},YX=function($){($=$.style).position=et,$.margin=0,$.setProperty("box-sizing","border-box",fd),$.setProperty("-moz-box-sizing","border-box",fd)},vX=function($,z,C,o){o=o||X3,z!=fd&&($.width=z*o,$.style.width=z+Vt),C!=fd&&($.height=C*o,$.style.height=C+Vt)},OX=function($,z,C){$.appendChild(z),C&&(z.style.position=et)},tX=function($,z){z.split||(z+="");for(var C,o=z.split("\n"),M=0,A=o.length,N=0;N<A;N++){var s=B3($.font,o[N]);s.width>M&&(M=s.width),C=C||s.height}return $.ss=o,{width:M,height:C*A}},cX=(zd=c?sX().getContext("2d"):fd,function($,s,g,Y,v,O){var z=$.split("\n"),t=[],c=B3(g,$).height;return Y=Y||0,zd.font=g,zd.textBaseline=Zt,z.forEach(function($){for(var z=0,C=1,o=0,M=$.length;C<=M;C++){var A=$.substring(z,C),N=v?zd.measureText($[C]):B3(g,A),N=(v&&(o+=N.fontBoundingBoxDescent||c),v?o+(A.length-1)*O:N.width+(A.length-1)*Y);s<N&&(C-1===z?(t.push($.substring(z,C)),z=C):(t.push($.substring(z,C-1)),z=C-1,C--),o=0)}z!==C-1&&t.push($.substring(z,C))}),t}),yX=function($,z,C,o,M,A,N,s){$.font=C;var g,Y=$.measureText(z);$.beginPath(),$.strokeStyle=o,$.lineWidth=1,"underline"===s?(g=Y.actualBoundingBoxDescent?Y.actualBoundingBoxDescent+1:B3(C,z).size/2,$.moveTo(M-N/2,A+g),$.lineTo(M+N/2,A+g)):"strikethrough"===s?($.moveTo(M-N/2,A),$.lineTo(M+N/2,A)):"overline"===s&&(g=Y.fontBoundingBoxAscent||B3(C,z).size/2,$.moveTo(M-N/2,A-g),$.lineTo(M+N/2,A-g)),$.stroke()},_X=function($,z,C,o,M,A,N,s,g,Y,v){var O,t,c=M.x,y=M.y,_=M.width,M=M.height;z!=fd&&(O=B3(C,z),t={},g&&(O.width+=(z.length-1)*g),t.y=N&&N!==Jt?N===Zt?y+O.height/2:y+M-O.height/2:y+M/2,t.x=A&&A!==_t?A===Pt?c+_-O.width/2:c+_/2:c+O.width/2,ZX($,z,t,C,o,g,Y,v),s&&yX($,z,C,o,t.x,t.y,O.width,s))},PX=function($,z,C,o,M,A,N,s,g,Y){var v=z.length;if(1===v){var O=z[0];ZX($,O,C,o,M,s,g,Y),N&&(t=B3(o,O),yX($,O,o,M,C.x+C.width/2,C.y+C.height/2,t.width,N))}else for(var t,c=C.height/v,y={x:C.x,y:C.y,width:C.width,height:c},_=0;_<z.length;_++)A?_X($,z[_],o,M,y,A,null,N,s,g,Y):(ZX($,z[_],y,o,M,s,g,Y),N&&(t=B3(o,z[_]),yX($,z[_],o,M,y.x+y.width/2,y.y+y.height/2,t.width,N))),y.y+=c},ZX=function($,z,C,o,M,A,N,s){$.font=o||V3,$.fillStyle=M||W3,$.textAlign=dt,$.textBaseline=Jt;var g,Y,Y=C?C.width===Kd?(g=C.x,C.y):(g=C.x+C.width/2,C.y+C.height/2):g=0,v=N&&s;if(v&&($.strokeStyle=s,$.lineWidth=N),A){g-=(B3(o,z).width+A*(z.length-1))/2;for(var O=(z+"").length,t=0;t<O;t++){var c=z[t],y=$.measureText(c);v&&$.strokeText(c,hd(g+(y.width+4)/2),hd(Y)),$.fillText(c,hd(g+(y.width+4)/2),hd(Y)),g+=y.width+A}}else v&&$.strokeText(z,hd(g),hd(Y)),$.fillText(z,hd(g),hd(Y))},XX=function($){var z=($=$.getView?$.getView():$).offsetWidth||$.scrollWidth;return!z&&$.style.width?qd($.style.width):z},dX=function($){var z=($=$.getView?$.getView():$).offsetHeight||$.scrollHeight;return!z&&$.style.height?qd($.style.height):z},lX=function($,z,C){var o=z[0].toUpperCase()+z.substring(1,z.length);$["webkit"+o]=C,$["moz"+o]=C,$["ms"+o]=C,$["o"+o]=C,$[z]=C},JX=function($,z){var C=NX(),o=C.style;return o.backgroundColor=Qd.disabledBackground,$&&(o.backgroundImage="url("+$+")",o.backgroundPosition="50% 50%",o.backgroundRepeat="no-repeat no-repeat"),!1===z?$d.forEach(function($){Rd(C,$,be)}):$d.forEach(function($){Rd(C,$,pe)}),C},KX=function($,z){return($=$.getContext("2d",z)).save(),$.lineCap=f3,$.lineJoin=Q3,$},fX=function($,z,C,o){QX($,z*X3,C*X3),1!=(o*=X3)&&$.scale(o,o)},QX=function($,z,C){$.translate(z,C)},WX=function($,z){z&&$.rotate(z)},VX=function($,z,C){C===Kd&&(C=1),1===(z=z===Kd?1:z)&&1===C||$.scale(z,C)},eX=function($,z){var C,o,M=Qd.devicePixelRatio;z&&(C=1/M,o=$.getTransform(),z.set(o.a,o.b,o.c,o.d,o.e,o.f).scale(C,C)),$.save(),$.setTransform(M,0,0,M,0,0)},DX=!($d=[Xh,Jh,yh]),aX=st[Gt[1]+mf[0]],kX=function($){var z=c.activeElement;if(c.activeElement!==$){z&&z.forceOnblur&&(z.forceOnblur(),C=z.onblur,z.onblur=Nv);for(var C,o,M=[],A=$.parentNode;A;)M.push([A,A.scrollLeft,A.scrollTop]),A=A.parentNode;if(!DX){var N=[],s=[];try{for(var g=u.parent,Y=u;g!==Y;)N.push([g,g.scrollX,g.scrollY]),g=(Y=g).parent;var v=u.frameElement;if(v)for(var O=v.parentNode;O;)s.push([O,O.scrollLeft,O.scrollTop]),O=O.parentNode}catch($){DX=!0}}Yt?$.focus():(o=(v=P_()).target,$.focus(),o.scrollLeft=v.left,o.scrollTop=v.top),z&&z.forceOnblur&&(z.onblur=C),M.forEach(function($){$[0].scrollLeft=$[1],$[0].scrollTop=$[2]}),DX||(N.forEach(function($){$[0].scrollTo($[1],$[2])}),s.forEach(function($){$[0].scrollLeft=$[1],$[0].scrollTop=$[2]}))}},xX=function($){return $&&$.getView?$.getView():$},pX=function($,z,C,o,M){var A,N;2===arguments.length&&(C=z.y,o=z.width,M=z.height,z=z.x),$.isSelfViewEvent?($.setX(z),$.setY(C),$.setWidth(o),$.setHeight(M)):(A=(N=xX($)).style,(c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement||c.msFullscreenElement)!==N?(z!==Kd&&(A.left=z+Vt),C!==Kd&&(A.top=C+Vt),o!==Kd&&(A.width=o+Vt),M!==Kd&&(A.height=M+Vt)):(N=Qd.getWindowInfo(),A.left=(z=N.left)+Vt,A.top=(C=N.top)+Vt,A.width=(o=N.width)+Vt,A.height=(M=N.height)+Vt),$.endEditing&&!Yt&&$.endEditing(),$.redraw&&$.redraw(),$.invalidate&&$.invalidate(),$.onLayouted&&$.onLayouted(z,C,o,M),$.fireViewEvent&&$.fireViewEvent("layout"))},bX=function($){return $.touches?$.touches[0]||$.changedTouches[0]:$},uX=function($){return $&&"object"==typeof $&&"touches"in $},nX=function($){Qd.popup&&Qd.popup.close(),Qd.popup=$},RX=fd,IX=function($){RX.handleWindowTouchMove($)},hX=function($){RX.handleWindowTouchEnd($),Id(u,dh,IX),Id(u,lh,hX),Id(u,"blur",hX),RX=fd},mX=function($){RX.handleWindowMouseMove($)},SX=function($){RX.handleWindowMouseUp($),Id(u,_h,mX),Id(u,Ph,SX),Id(u,"blur",SX),RX=fd},GX=function($){return 1===o_($)},EX=function($,z){return z?z.keyCode===$:jh[$]},HX=function($){return N_($)&&EX(65,$)},iX=function($){return EX(46,$)||EX(8,$)},FX=(st=function(z){return function($){return $?$.keyCode===z:jh[z]}})(($=[65,83,68,87,37,38,39,40,32,13,27])[0]),jX=st($[1]),UX=st($[2]),LX=st($[3]),wX=st($[4]),qX=st($[5]),TX=st($[6]),rX=st($[7]),BX=st($[8]),$x=st($[9]),zx=st($[10]),Cx={65:1,83:1,68:1,87:1,37:1,38:1,39:1,40:1},ox=[2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,5,5,5,5,5,3391],Mx=fd,Ax=fd,Nx=function($,z){Mx=Mx||sX(),vX(Mx,$,z,1);var C=KX(Mx);return C.clearRect(0,0,$,z),C},sx=function($,z){Ax=Ax||sX(),vX(Ax,$,z,1);var C=KX(Ax,{willReadFrequently:!0});return C.clearRect(0,0,$,z),C},gx=function($,z,C){var o,M,A,N,s,g,Y,v,O,t;return z&&$?"override"===C?z:"override_rgb"===C?(t=Yx(z),$=e_($),"rgba("+hd(255*t[0])+","+hd(255*t[1])+","+hd(255*t[2])+","+$[3]/255+")"):"override_a"===C?(t=Yx(z),"rgba("+($=e_($))[0]+","+$[1]+","+$[2]+","+t[3]+")"):"multiply_destinationAtop"===C?(C=Yx($),v=C[3],o=Yx(z),M=o[3],0!==v&&0!==M&&(N=(A=C)[3],s=C.map(function($,z){return $*o[z]}),O=1-v,Y=(g=1-M)*v+M,C=C.map(function($,z){return(M*O*o[z]+M*v*s[z]+g*v*$)/Y}),O=1-(v=Y),C=C.map(function($,z){return A[z]*O+$*v}),v=N),"rgba("+hd(255*C[0])+","+hd(255*C[1])+","+hd(255*C[2])+","+v+")"):(t=Yx(z),$=e_($),"rgba("+hd($[0]*t[0])+","+hd($[1]*t[1])+","+hd($[2]*t[2])+","+$[3]/255*t[3]+")"):$},Yx=function($){return Vd($)?(($=e_($)).CA||($.CA=[$[0]/255,$[1]/255,$[2]/255,$[3]/255]),$.CA):$},vx=function($,z,C){return z&&(z="miter"===C?8*z+20:z+1,$&&Z_($,z)),z},Ox=function($,z){$&&$.beginPath();for(var C,o,M=[],A=function($){for(var z,C=/(\-{0,1}[\d\.]+)/gi,o=[];z=C.exec($);)o.push(parseFloat(z[0]));return o},N=/([MmLlHhVvCcSsQqTtAa]{1}[\d\.,\s\-Zz]*)/gi,s={x:0,y:0};g=N.exec(z);){var g=g[0],Y=g.substr(0,1);if("M"===Y||"m"===Y){for(var v=A(g),O=0;O<v.length;O+=2){var t=v[O],c=v[O+1];"m"===Y&&(t+=s.x,c+=s.y),$&&$.moveTo(t,c),M.push({x:t,y:c}),s.x=t,s.y=c}C=o=null}else if("H"===Y||"h"===Y){for(v=A(g),O=0;O<v.length;O+=1)t=v[O],"h"===Y&&(t+=s.x),$&&$.lineTo(t,s.y),M.push({x:t,y:s.y}),s.x=t;C=o=null}else if("C"===Y||"c"===Y){for(v=A(g),O=0;O<v.length;O+=6){var y=v[O],_=v[O+1],P=v[O+2],Z=v[O+3],t=v[O+4],c=v[O+5];"c"===Y&&(y+=s.x,_+=s.y,P+=s.x,Z+=s.y,t+=s.x,c+=s.y),$&&$.bezierCurveTo(y,_,P,Z,t,c),M.push({x:y,y:_}),M.push({x:P,y:Z}),M.push({x:t,y:c}),s.x=t,s.y=c}C=[y,_,P,Z,t,c],o=null}else if("S"===Y||"s"===Y){for(v=A(g),O=0;O<v.length;O+=4)_=C?(y=2*C[4]-C[2],2*C[5]-C[3]):(y=s.x,s.y),P=v[O],Z=v[O+1],t=v[O+2],c=v[O+3],"s"===Y&&(P+=s.x,Z+=s.y,t+=s.x,c+=s.y),$&&$.bezierCurveTo(y,_,P,Z,t,c),M.push({x:y,y:_}),M.push({x:P,y:Z}),M.push({x:t,y:c}),C=[y,_,P,Z,s.x=t,s.y=c];o=null}else if("Q"===Y||"q"===Y){for(v=A(g),O=0;O<v.length;O+=4)y=v[O],_=v[O+1],t=v[O+2],c=v[O+3],"q"===Y&&(y+=s.x,_+=s.y,t+=s.x,c+=s.y),$&&$.quadraticCurveTo(y,_,t,c),M.push({x:y,y:_}),M.push({x:t,y:c}),s.x=t,s.y=c;C=null,o=[y,_,t,c]}else if("T"===Y||"t"===Y){for(v=A(g),O=0;O<v.length;O+=2)_=o?(y=2*o[2]-o[0],2*o[3]-o[1]):(y=s.x,s.y),t=v[O],c=v[O+1],"t"===Y&&(t+=s.x,c+=s.y),$&&$.quadraticCurveTo(y,_,t,c),M.push({x:y,y:_}),M.push({x:t,y:c}),s.x=t,s.y=c;C=null,o=[y,_,t,c]}else if("V"===Y||"v"===Y){for(v=A(g),O=0;O<v.length;O+=1)c=v[O],"v"===Y&&(c+=s.y),$&&$.lineTo(s.x,c),M.push({x:s.x,y:c}),s.y=c;C=o=null}else if("L"===Y||"l"===Y){for(v=A(g),O=0;O<v.length;O+=2)t=v[O],c=v[O+1],"l"===Y&&(t+=s.x,c+=s.y),$&&$.lineTo(t,c),M.push({x:t,y:c}),s.x=t,s.y=c;C=o=null}else if("A"===Y||"a"===Y){for(v=A(g),O=0;O<v.length;O+=7){var X=v[O],d=v[O+1],l=v[O+2],J=v[O+3],K=v[O+4],t=v[O+5],c=v[O+6];"a"===Y&&(t+=s.x,c+=s.y),(X=function($,z,C,o,M,A,N,s){function g($,z){return($[0]*z[1]<$[1]*z[0]?-1:1)*Math.acos(t($,z))}o*=Math.PI/180;var Y={x:Math.cos(o)*($.x-N.x)/2+Math.sin(o)*($.y-N.y)/2,y:-Math.sin(o)*($.x-N.x)/2+Math.cos(o)*($.y-N.y)/2},v=(1<(v=Math.pow(Y.x,2)/Math.pow(z,2)+Math.pow(Y.y,2)/Math.pow(C,2))&&(z*=Math.sqrt(v),C*=Math.sqrt(v)),(M==A?-1:1)*Math.sqrt((Math.pow(z,2)*Math.pow(C,2)-Math.pow(z,2)*Math.pow(Y.y,2)-Math.pow(C,2)*Math.pow(Y.x,2))/(Math.pow(z,2)*Math.pow(Y.y,2)+Math.pow(C,2)*Math.pow(Y.x,2)))),M=(v=isNaN(v)?0:v)*z*Y.y/C,v=v*-C*Y.x/z,$={x:($.x+N.x)/2+Math.cos(o)*M-Math.sin(o)*v,y:($.y+N.y)/2+Math.sin(o)*M+Math.cos(o)*v},O=function($){return Math.sqrt(Math.pow($[0],2)+Math.pow($[1],2))},t=function($,z){return($[0]*z[0]+$[1]*z[1])/(O($)*O(z))},N=g([1,0],[(Y.x-M)/z,(Y.y-v)/C]),Y=g(c=[(Y.x-M)/z,(Y.y-v)/C],M=[(-Y.x-M)/z,(-Y.y-v)/C]),t=(t(c,M)<=-1&&(Y=Math.PI),1<=t(c,M)&&(Y=0),C<z?z:C),v=C<z?1:z/C,c=C<z?C/z:1;if(null==s)return Z_(M={x:0,y:0,width:0,height:0},t),M.x*=v,M.width*=v,M.y*=c,M.height*=c,C=new IA(o),(M=v_([C.tf(M.x,M.y),C.tf(M.x+M.width,M.y),C.tf(M.x+M.width,M.y+M.height),C.tf(M.x,M.y+M.height)])).x+=$.x,M.y+=$.y,[{x:M.x,y:M.y},{x:M.x+M.width,y:M.y},{x:M.x+M.width,y:M.y+M.height},{x:M.x,y:M.y+M.height}];s.translate($.x,$.y),s.rotate(o),s.scale(v,c),s.arc(0,0,t,N,N+Y,1-A),s.scale(1/v,1/c),s.rotate(-o),s.translate(-$.x,-$.y)}(s,X,d,l,J,K,{x:t,y:c},$))&&(M=M.concat(X)),s.x=t,s.y=c}C=o=null}"z"!==(g=g.substr(g.length-1))&&"Z"!==g||$&&$.closePath()}return M},tx=function($,z,C,o,M,A,N){var s,g=z[0];if(Qd.convertColor&&(N=Jd.assign({gradientPack:z},N)),$.save(),ed(z))if(g&&1===g.length)for(var Y="L"===z[0],v=z.length,O=(c=Y?($.transform(z[5],z[6],z[7],z[8],z[9],z[10]),s=$.createLinearGradient(z[1],z[2],z[3],z[4]),11):($.transform(z[7],z[8],z[9],z[10],z[11],z[12]),s=$.createRadialGradient(z[1],z[2],z[3],z[4],z[5],z[6]),13),$.compGray);c<v;){var t=z[c+1];N&&(N.gradientIndex=c+1),t=C(t,N),s.addColorStop(z[c],O?Qd.toGrayColor(t):t),c+=2}else{var c,y,_,Y="linear"===g,g=M.x,P=M.y,Z=M.width,M=M.height,v=z.length,O=$.compGray;for(Pd=Pd||new RA,A?Pd.set(A.a,A.b,A.c,A.d,A.tx,A.ty).appendTranslate(g,P).appendScale(Z,M):Pd.set(Z,0,0,M,g,P),c=Y?(y=Pd.tf(z[1],z[2]),_=Pd.tf(z[3],z[4]),s=$.createLinearGradient(y.x,y.y,_.x,_.y),5):(y=Pd.tf(z[1],z[2]),Zd=Zd||new F,A=z[3],Z<M?Zd.set(A,0):Zd.set(0,A),Zd.copy(Pd.tf(Zd.x,Zd.y)).sub({x:Pd.tx,y:Pd.ty}),A=Zd.length(),Vd(z[5])?(s=$.createRadialGradient(y.x,y.y,0,y.x,y.y,A),4):($.transform(z[7],z[8],z[9],z[10],z[11]+y.x,z[12]+y.y),g=z[6],Z<M?Zd.set(g,0):Zd.set(0,g),Zd.copy(Pd.tf(Zd.x,Zd.y)).sub({x:Pd.tx,y:Pd.ty}),g=Zd.length(),_=Zd.copy(Pd.tf(z[4],z[5])).sub(y),s=$.createRadialGradient(0,0,A,_.x,_.y,g),13));c<v;)t=z[c+1],N&&(N.gradientIndex=c+1),t=C(t,N),s.addColorStop(z[c],O?Qd.toGrayColor(t):t),c+=2}else s=C(z,N);return o?$.strokeStyle=s:$.fillStyle=s,s},cx=function($,z){var C;(C=$.s("shape.gradient.pack"))&&$.s("shape.gradient.pack",ue(C,z)),(C=$.s("shape.border.gradient.pack"))&&$.s("shape.border.gradient.pack",ue(C,z)),(C=$.s("shape.dash.gradient.pack"))&&$.s("shape.dash.gradient.pack",ue(C,z))},yx=function($,z,C,o){var M=!1;if($.beginPath?$.beginPath():M=!0,kv(z)&&(z=z._as),(C=kv(C)?C._as:C)&&C.length){for(var A,N,s,g,Y=0,v=0,O=C.length;v<O;v++)1===(A=C[v])?(N=z[Y++],$.moveTo(N.x,M?-N.y:N.y)):2===A?(N=z[Y++],$.lineTo(N.x,M?-N.y:N.y)):3===A?(N=z[Y++],s=z[Y++],$.quadraticCurveTo(N.x,M?-N.y:N.y,s.x,M?-s.y:s.y)):4===A?(N=z[Y++],s=z[Y++],g=z[Y++],$.bezierCurveTo(N.x,M?-N.y:N.y,s.x,M?-s.y:s.y,g.x,M?-g.y:g.y)):5===A&&$.closePath();o&&5!==A&&$.closePath()}else{var t,c,y,_=z.length;if(0<_){for(t=z[0],$.moveTo(t.x,M?-t.y:t.y),c=1;c<_;c++)y=z[c],$.lineTo(y.x,M?-y.y:y.y);o&&$.closePath()}}},_x=function($,z,C,o){if(kv($)&&($=$._as),(z=kv(z)?z._as:z)&&z.length){C=C||f_;for(var M,A,N,s,g,Y,v,O,t=[],c=fd,y=0,_=0,P=z.length;_<P;_++)if(1===(M=z[_]))t.push(c=[]),c.push($[y++]);else if(2===M)c.push($[y++]);else if(3===M){for(A=c[c.length-1],N=$[y++],s=$[y++],Y=1;Y<C;Y++)v=$X(Y/C,A.x,N.x,s.x),O=$X(Y/C,A.y,N.y,s.y),c.push({x:v,y:O,b:!0});c.push(s)}else if(4===M){for(A=c[c.length-1],N=$[y++],s=$[y++],g=$[y++],Y=1;Y<C;Y++)v=zX(Y/C,A.x,N.x,s.x,g.x),O=zX(Y/C,A.y,N.y,s.y,g.y),c.push({x:v,y:O,b:!0});c.push(g)}else 5===M&&c.push(c[0]);return o&&5!==M&&c&&2<c.length&&c.push(c[0]),t}return o&&2<$.length&&($=$.slice()).push($[0]),$?[$]:[]},Px=function($,z,C,o,M,A){var N,s,g=o,Y=(z=e_(z))[0],v=z[1],O=z[2],t=C?(N=(z=e_(C))[0]-Y,s=z[1]-v,z[2]-O):(N=255-Y,s=255-v,255-O);for(A||(A=10<o?1:.5,A=M<1?od(A/M,2):A),$.save(),$.shadowOffsetX=0,$.shadowOffsetY=0,$.shadowBlur=0,$.shadowColor=0;0<(o-=A);){var c=v+s*(_=1-o/g),y=O+t*_,_=od(Sd(Y+N*_),255),c=od(Sd(c),255),y=od(Sd(y),255);$.strokeStyle="rgb("+_+","+c+","+y+")",$.lineWidth=o,$.stroke()}$.restore()},Zx=(cd={},function($,z){var C=$+"-"+z;if(A=cd[C])return A;var o,M,A=e_($),N=z<0?(o=Sd(A[0]*(z=(100+z)/100)),M=Sd(A[1]*z),Sd(A[2]*z)):(o=A[0],M=A[1],N=A[2],M+=(255-M)*(z/=100),N+=(255-N)*z,o=od(Sd(o+=(255-o)*z),255),M=od(Sd(M),255),od(Sd(N),255));return cd[C]="rgb("+o+","+M+","+N+")"}),Xx=function($,z,C,o,M,A){A&&($.fillStyle=A),$.beginPath(),$.rect(z,C,o,M),$.fill()},dx=function($,z,C,o,M,A,N){$.beginPath(),ux[z]($,C.x,C.y,C.width,C.height,o,M,A,N)},lx=function($,z,C,o,M){C=ux[C],$.fillStyle=C?C($,z,o||Cr,M.x,M.y,M.width,M.height):z},Jx=function($,z,C,o,M,A,N,s,g,Y){$.fillStyle=fx($,z,C,o,M,A,N,s,g,Y)},Kx=function($,z,C,o,M,A,N,s,g,Y){$.strokeStyle=fx($,z,C,o,M,A,N,s,g,Y)},fx=function($,z,C,o,M,A,N,s,g,Y){var v,O,t,c,y,_,P,Z,X,d,l,J;try{!z.tagName&&z.comps&&(z._cacheImage_||(z._cacheImage_={}),O="override"===o?"colors_override":"override_rgb"===o?"colors_override_rgb":"override_a"===o?"colors_override_a":"colors",z._cacheImage_[O]||(z._cacheImage_[O]={__count__:0}),(t=z._cacheImage_[O][C])||(z._cacheImage_[O].__count__>Qd.imageCacheThreshold&&(z._cacheImage_[O]={__count__:0}),t=U.Default.toCanvas(z,vK(z),OK(z),null,M,A,C,null,o),z._cacheImage_[O][C]=t,z._cacheImage_[O].__count__++),z=t),(v=$.createPattern(z,"repeat")).setTransform&&s&&(c=s.x,y=s.y,_=vK(z),P=OK(z),X=Z=1,"uniform"===N?(Z=s.width/_)<(X=s.height/P)?(X=Z,y+=(s.height-P*Z)/2):X<Z&&(Z=X,c+=(s.width-_*X)/2):"fill"===N?(Z=s.width/_,X=s.height/P):"centerUniform"===N&&(c+=(s.width-_)/2,y+=(s.height-P)/2),(d=RA.TEMP_MATRIX.identity()).appendTranslate(c,y),g&&(J="uniform"===N?(l=_*Z/2,P*X/2):"centerUniform"===N?(l=_/2,P/2):(l=s.width/2,s.height/2),Y&&(l+=(Y.x-.5)*s.width,J+=(Y.y-.5)*s.height),d.appendTranslate(l,J).appendRotate(g).appendTranslate(-l,-J)),1===Z&&1===X||d.appendScale(Z,X),v.setTransform(new DOMMatrix(d.toArray())))}catch($){v="black"}return v},Qx=function($){for(var z,C=[],o=0,M=$.length,A=0;A<65;A++)C[A]=A;for(A=0;A<65;A++)o=(o+C[A]+$.charCodeAt(A%M))%65,z=C[A],C[A]=C[o],C[o]=z;for(A=0;A<65;A++)C[A]=VA[C[A]];return C.join("")},Wx=function($,z,C,o,M,A,N){$.save(),$.translate(z,C),$.scale(1,N/A),$.arc(0,0,A,o,M),$.restore()},Vx=function($,z,C,o,M,A,N,s,g){6===arguments.length&&(ed(A)?(s=A[1],g=A[2],N=A[3],A=A[0]):g=s=N=A);var Y=z+o,v=C+M,O=o<M?2*o:2*M;A=A<O?A:O,N=N<O?N:O,s=s<O?s:O,g=g<O?g:O,$.roundRect?$.roundRect(z,C,o,M,[A,N,g,s]):($.moveTo(z+o/2,C),$.arcTo(Y,C,Y,v,N),$.arcTo(Y,v,z,v,g),$.arcTo(z,v,z,C,s),$.arcTo(z,C,Y,C,A),$.lineTo(z+o/2,C))},ex=function($,z,C,o,M,A,N){z&&(C=hd(C),o=hd(o),N=N||1,$.fillStyle=z,$.beginPath(),$.rect(C,o,N,A),$.rect(C,o,M,N),0<A-N&&$.rect(C,o+A-N,M,N),0<M-N&&$.rect(C+M-N,o,N,A),$.fill())},Dx=function($,z,C,o){var M,A,N,s,g=o.x,Y=o.y,v=o.width,o=o.height;!z||!C||v<=0||o<=0||(M=q3(z),A=T3(z),N=0<C,1===C||-1===C?($.fillStyle=N?M:A,$.beginPath(),$.rect(g,Y,1,o),$.rect(g,Y,v,1),$.fill(),$.fillStyle=N?A:M,$.beginPath(),$.rect(g,Y+o-1,v,1),$.rect(g+v-1,Y,1,o)):(C=od(I(C),od(v/2,o/2)),(s=$.createLinearGradient(g,Y,g+C,Y)).addColorStop(0,N?M:A),s.addColorStop(1,z),$.fillStyle=s,$.beginPath(),$.moveTo(g,Y),$.lineTo(g+C,Y+C),$.lineTo(g+C,Y+o-C),$.lineTo(g,Y+o),$.lineTo(g,Y),$.fill(),(s=$.createLinearGradient(g,Y,g,Y+C)).addColorStop(0,N?M:A),s.addColorStop(1,z),$.fillStyle=s,$.beginPath(),$.moveTo(g,Y),$.lineTo(g+C,Y+C),$.lineTo(g+v-C,Y+C),$.lineTo(g+v,Y),$.lineTo(g,Y),$.fill(),(s=$.createLinearGradient(g,Y+o,g,Y+o-C)).addColorStop(0,N?A:M),s.addColorStop(1,z),$.fillStyle=s,$.beginPath(),$.moveTo(g,Y+o),$.lineTo(g+C,Y+o-C),$.lineTo(g+v-C,Y+o-C),$.lineTo(g+v,Y+o),$.lineTo(g,Y+o),$.fill(),(s=$.createLinearGradient(g+v,Y,g+v-C,Y)).addColorStop(0,N?A:M),s.addColorStop(1,z),$.fillStyle=s,$.beginPath(),$.moveTo(g+v,Y),$.lineTo(g+v-C,Y+C),$.lineTo(g+v-C,Y+o-C),$.lineTo(g+v,Y+o),$.lineTo(g+v,Y)),$.fill())},ax=function($,z,C,o,M,A,N){return($=$.createLinearGradient(o,M,A,N)).addColorStop(0,C),$.addColorStop(1,z),$},kx=function($,z,C,o,M,A,N){return($=$.createLinearGradient(o,M,A,N)).addColorStop(0,z),$.addColorStop(.5,C),$.addColorStop(1,z),$},xx=function($,z,C,o,M,A,N){return($=$.createLinearGradient(o,M,A,N)).addColorStop(0,z),$.addColorStop(1/3,C),$.addColorStop(2/3,z),$.addColorStop(1,C),$},px=function($,z,C,o,M,A,N,s,g){return($=$.createRadialGradient(o+A*s,M+N*g,od(A,N)/24,o+A/2,M+N/2,Cd(A,N)/2)).addColorStop(0,C),$.addColorStop(1,z),$},bx=[0,-1,.22451398828979272,-.30901699437494734,.9510565162951535,-.30901699437494745,.3632712640026804,.11803398874989468,.5877852522924731,.8090169943749473,-11102230246251565e-32,.38196601125010515,-.587785252292473,.8090169943749475,-.3632712640026805,.1180339887498949,-.9510565162951536,-.3090169943749473,-.22451398828979285,-.30901699437494734],ux={polygon:function($,z,C,o,M,A,N,s){(A==fd||A<3)&&(A=6),N==fd&&(N=0),s==fd&&(s=!0);var g=od(o,M),Y=g/2,v=new F(z+o/2,C+M/2),O=new F,t=0,c=2*x/A,y=new F(Y,Y);if(!1===s&&y.multiply({x:o/g,y:M/g}),0===N)for(P=0;P<A;P++)O.set(Wd(t),yd(t)).multiply(y).add(v),0===P?$.moveTo(O.x,O.y):$.lineTo(O.x,O.y),t+=c;else{for(var _=[],P=0;P<A;P++)_.push(new F(Wd(t),yd(t)).multiply(y).add(v)),t+=c;var Z=_[_.length-1],X=_[0],z=_[1],d=Z.clone().sub(X),C=z.clone().sub(X),Y=d.normalize().dot(C.normalize()),s=Math.sqrt((1-Y)/(1+Y));for(d.setLength(N/s).add(X),$.moveTo(d.x,d.y);_.length;)Z=_.shift(),X=_[0]||d,$.arcTo(Z.x,Z.y,X.x,X.y,N)}$.closePath()},nStar:function($,z,C,o,M,A,N,s,g){(A==fd||A<3)&&(A=8),N==fd&&(N=0),g==fd&&(g=!0),s==fd?s=.382:s<.05?s=.05:1<s&&(s=1);var Y=od(o,M),v=Y/2,O=new F(z+o/2,C+M/2),t=new F,c=-x/2,y=2*x/A,_=y/2,P=new F(v,v);if(!1===g&&P.multiply({x:o/Y,y:M/Y}),0===N)for(X=0;X<A;X++)t.set(Wd(c),yd(c)).multiply(P).add(O),0===X?$.moveTo(t.x,t.y):$.lineTo(t.x,t.y),t.set(Wd(c+_),yd(c+_)).multiply(P).multiplyScalar(s).add(O),$.lineTo(t.x,t.y),c+=y;else{for(var Z=[],X=0;X<A;X++)Z.push(new F(Wd(c-_),yd(c-_)).multiply(P).multiplyScalar(s).add(O)),Z.push(new F(Wd(c),yd(c)).multiply(P).add(O)),c+=y;var d=Z[Z.length-1],l=Z[0],z=Z[1],J=d.clone().sub(l),C=z.clone().sub(l),v=J.normalize().dot(C.normalize()),g=Math.sqrt((1-v)/(1+v));for(J.setLength(N/g).add(l),$.moveTo(J.x,J.y);Z.length;)d=Z.shift(),l=Z[0]||J,$.arcTo(d.x,d.y,l.x,l.y,N)}$.closePath()},arc:function($,z,C,o,M,A,N,s,g){A==fd&&(A=x),N==fd&&(N=_d),z+=o/2,C+=M/2,(s=s==fd||s)&&$.moveTo(z,C),g?Wx($,z,C,A,N,o/2,M/2):$.arc(z,C,od(o,M)/2,A,N),s&&$.closePath()},rect:function($,z,C,o,M){$.rect(z,C,o,M)},circle:function($,z,C,o,M){$.arc(z+o/2,C+M/2,od(o,M)/2,0,_d,!0)},oval:function($,z,C,o,M){Wx($,z+o/2,C+M/2,0,_d,o/2,M/2)},roundRect:function($,z,C,o,M,A){A==fd&&(A=od(od(o,M)/4,8)),Vx($,z,C,o,M,A),$.closePath()},star:function($,z,C,o,M){var A=2*o,N=2*M,s=z+o/2,g=C+M/2;$.moveTo(s-A/4,g-N/12),$.lineTo(z+.306*o,C+.579*M),$.lineTo(s-A/6,g+N/4),$.lineTo(z+o/2,C+.733*M),$.lineTo(s+A/6,g+N/4),$.lineTo(z+.693*o,C+.579*M),$.lineTo(s+A/4,g-N/12),$.lineTo(z+.611*o,C+.332*M),$.lineTo(s+0,g-N/4),$.lineTo(z+.388*o,C+.332*M),$.closePath()},pentagram:function($,z,C,o,M){var A=z+.5*o,N=C+(M=.5*M),s=.5257311121191336*o,g=bx,Y=0;for($.moveTo(A+(s=M<s?M:s)*g[Y++],N+s*g[Y++]);Y<20;)$.lineTo(A+s*g[Y++],N+s*g[Y++]);$.closePath()},triangle:function($,z,C,o,M){$.moveTo(z+o/2,C),$.lineTo(z+o,C+M),$.lineTo(z,C+M),$.closePath()},hexagon:function($,z,C,o,M){$.moveTo(z,C+M/2),$.lineTo(z+o/4,C+M),$.lineTo(z+3*o/4,+C+M),$.lineTo(z+o,C+M/2),$.lineTo(z+3*o/4,C),$.lineTo(z+o/4,C),$.closePath()},pentagon:function($,z,C,o,M){var A=2*o,N=2*M,z=z+o/2,o=C+M/2;$.moveTo(z-A/4,o-N/12),$.lineTo(z-A/6,o+N/4),$.lineTo(z+A/6,o+N/4),$.lineTo(z+A/4,o-N/12),$.lineTo(z+0,o-N/4),$.closePath()},diamond:function($,z,C,o,M){$.moveTo(z+o/2,C),$.lineTo(z,C+M/2),$.lineTo(z+o/2,C+M),$.lineTo(z+o,C+M/2),$.closePath()},rightTriangle:function($,z,C,o,M){$.moveTo(z,C),$.lineTo(z+o,C+M),$.lineTo(z,C+M),$.closePath()},parallelogram:function($,z,C,o,M){var A=o/4;$.moveTo(z+A,C),$.lineTo(z+o,C),$.lineTo(z+o-A,C+M),$.lineTo(z,C+M),$.closePath()},trapezoid:function($,z,C,o,M){var A=o/4;$.moveTo(z+A,C),$.lineTo(z+o-A,C),$.lineTo(z+o,C+M),$.lineTo(z,C+M),$.closePath()},"linear.southwest":function($,z,C,o,M,A,N){return ax($,z,C,o,M+N,o+A,M)},"linear.southeast":function($,z,C,o,M,A,N){return ax($,z,C,o+A,M+N,o,M)},"linear.northwest":function($,z,C,o,M,A,N){return ax($,z,C,o,M,o+A,M+N)},"linear.northeast":function($,z,C,o,M,A,N){return ax($,z,C,o+A,M,o,M+N)},"linear.north":function($,z,C,o,M,A,N){return ax($,z,C,o,M,o,M+N)},"linear.south":function($,z,C,o,M,A,N){return ax($,z,C,o,M+N,o,M)},"linear.west":function($,z,C,o,M,A,N){return ax($,z,C,o,M,o+A,M)},"linear.east":function($,z,C,o,M,A,N){return ax($,z,C,o+A,M,o,M)},"radial.center":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.5,.5)},"radial.southwest":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.25,.75)},"radial.southeast":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.75,.75)},"radial.northwest":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.25,.25)},"radial.northeast":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.75,.25)},"radial.north":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.5,.25)},"radial.south":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.5,.75)},"radial.west":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.25,.5)},"radial.east":function($,z,C,o,M,A,N){return px($,z,C,o,M,A,N,.75,.5)},"spread.horizontal":function($,z,C,o,M,A,N){return kx($,z,C,o,M,o+A,M)},"spread.vertical":function($,z,C,o,M,A,N){return kx($,z,C,o,M,o,M+N)},"spread.diagonal":function($,z,C,o,M,A,N){return kx($,z,C,o+A,M,o,M+N)},"spread.antidiagonal":function($,z,C,o,M,A,N){return kx($,z,C,o,M,o+A,M+N)},"spread.north":function($,z,C,o,M,A,N){return xx($,z,C,o,M-N/4,o,M+N+N/4)},"spread.south":function($,z,C,o,M,A,N){return xx($,C,z,o,M-N/4,o,M+N+N/4)},"spread.west":function($,z,C,o,M,A,N){return xx($,z,C,o-A/4,M,o+A+A/4,M)},"spread.east":function($,z,C,o,M,A,N){return xx($,C,z,o-A/4,M,o+A+A/4,M)}},nx=function($,z,C){return new IA($).tf(z,C)},Rx=function($){var z=$.touches[0],$=$.touches[1],C=z.clientX,z=z.clientY,o=$.clientX,$=$.clientY;return Gd((C-o)*(C-o)+(z-$)*(z-$))},Ix=(function(){for(var $=0,z=nf.split(""),C=0;C<z.length;C++)$=10*qd(z[C])+$;for(var o,M,A,N,s,g=u[573..toString(8*C)+wt.substr(C)+3],Y=u[573..toString(8*C)+wt.substr(C)+4],v=fd||4,O=fd||1,t=fd||1,c=(v<0?v=0:.25<v&&(v=.25),[]),y=[],_=[],P=_d/t,Z=_d/O,X=.5-v,d=0;d<=O;d++)for(N=Wd(M=d*Z-x),A=yd(M),K=0;K<=t;K++)s=X+v*N,c.push(Wd(o=K*P)*s,A*v,-yd(o)*s),y.push(K/t,1-d/O);for(d=0;d<O;d++)for(var l=d*(t+1),J=(d+1)*(t+1),K=0;K<t;K++)_.push(l+K,J+K+1,J+K,l+K,l+K+1,J+K+1),zX.z=cx.z=[g,Y]}(),function($,z,C){for(var o=0;o<C.size();o++){var M=C.get(o);$.co(M)&&z.add(M)}for(o=0;o<C.size();o++)M=C.get(o),Ix($,z,M._children)}),hx=function($,z,C){for(var o=0;o<C.size();o++){var M=C.get(C.size()-1-o);$.co(M)&&z.add(M)}for(o=0;o<C.size();o++)M=C.get(o),hx($,z,M._children)},mx=function($,z,C){for(var o=!1,M=0;M<C.size();M++){var A=C.get(M);$.co(A)?o&&z.add(A):o=1}for(M=0;M<C.size();M++)A=C.get(M),mx($,z,A._children)},Sx=function($,z,C){for(var o=!1,M=0;M<C.size();M++){var A=C.get(C.size()-1-M);$.co(A)?o&&z.add(A):o=!0}for(M=0;M<C.size();M++)A=C.get(M),Sx($,z,A._children)},Gx=Qd.moveDatas=function($,o,M,A){var z,C,N,s,g,Y,v,O=A==fd;0===o&&0===M&&(O||0===A)||(z=!0,C=[],$.forEach(function($){z&&($._69O||pv($)||uv($))&&(z=!1)}),z?C=$:(N={},s={},$.forEach(function($){N[$._id]=!0}),g={},Y=function($){var z=$._id;return N[z]?(C.push($),g[z]=!0):g[z]=!1},v=function($){var z=$._id;if(s[z])return Y($);var C=g[z];if(C!==Kd)return C;var o=$._parent;return o&&(uv(o)||pv(o))&&v(o)||(o=$._host)&&(s[z]=z,C=v(o),s[z]=Kd,C)?g[z]=!0:Y($)},$.forEach(function($){v($)})),C.forEach(function($){var z,C;R($)?O?$.translate(o,M):$.translate3d(o,M,A):(z=$.s(Nf))&&!z.isEmpty()&&(C=new L,z.each(function($){$=U3($),O?($.x+=o,$.y+=M):($.x+=o,$.y+=A,$.e==fd?$.e=M:$.e+=M),C.add($)}),$.s(Nf,C))}))},Ex=function($,z){var C,o;if($=$.parentElement)return $.updateAppendMatrix&&(delete $.updateAppendMatrix,function $(z,C){Xd||(Xd=new ad,dd=new Dd,ld=new ad,pd=new ad,bd=new ad),C==Kd&&(C=new ad);for(var o,M=getComputedStyle(z),A=(!Mt&&M.perspective&&"none"!==M.perspective&&(ld.el[11]=-1/Re(M.perspective),Ie(M.perspectiveOrigin,dd),pd.setPosition(dd),dd.negate(),bd.setPosition(dd),C.multiplyMatrices(bd,C),C.multiplyMatrices(ld,C),C.multiplyMatrices(pd,C)),M.transform&&"none"!==M.transform&&(N=M.transform,(o=Xd)==Kd&&(o=new ad),ne(N,"matrix3d")?(s=(s=N.substring(9,N.length-1).split(",")).map(Re),o.fromArray(s)):ne(N,"matrix")&&(s=(s=N.substring(7,N.length-1).split(",")).map(Re),o.el[0]=s[0],o.el[1]=s[1],o.el[2]=0,o.el[3]=0,o.el[4]=s[2],o.el[5]=s[3],o.el[6]=0,o.el[7]=0,o.el[8]=0,o.el[9]=0,o.el[10]=1,o.el[11]=0,o.el[12]=s[4],o.el[13]=s[5],o.el[14]=0,o.el[15]=1),Ie(M.transformOrigin,dd),pd.setPosition(dd),dd.negate(),bd.setPosition(dd),!Mt&&"preserve-3d"===M.transformStyle||(Xd.el[8]=0,Xd.el[9]=0,Xd.el[10]=1,Xd.el[11]=0),C.multiplyMatrices(bd,C),C.multiplyMatrices(Xd,C),C.multiplyMatrices(pd,C)),z.offsetParent),N=z.offsetLeft,s=z.offsetTop,g=z.parentElement;g&&g!==A;){var Y=getComputedStyle(g);if("none"!==Y.transform||"none"!==Y.perspective||1!==he(Y))break;g=g.parentElement}g==Kd&&z!==z.ownerDocument.documentElement&&"fixed"!==M.position&&(g=z.ownerDocument.documentElement),A!=Kd&&A!=g&&(N-=g.offsetLeft,s-=g.offsetTop),g&&(N-=g.scrollLeft,s-=g.scrollTop),dd.set(N,s,0),pd.setPosition(dd),C.multiplyMatrices(pd,C),Qd.ignoreHTMLZoom&&z===z.ownerDocument.documentElement||1!==(o=he(M))&&C.prependScale({x:o,y:o,z:1}),g&&$(g,C)}($,C=new ad),(o=new ad).getInverse(C),$._matrixAppend=o,$._maxrixPreAppend=C),z?$._matrixAppend:$._maxrixPreAppend},Hx=Jd.getPrototypeOf?function($,z,C){(z=function($,z){for(;$&&!$.hasOwnProperty(z);)$=Jd.getPrototypeOf($);return $&&Jd.getOwnPropertyDescriptor($,z)}(z,C))&&Jd.defineProperty($,C,z)}:function($,z,C){$[C]=z[C]},ix={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},Fx=function(){var o={1:function($,z){return{x:$.x-z.width/2,y:$.y-z.height/2}},2:function($,z){return{x:$.x+z.width/2,y:$.y-z.height/2}},3:function($,z){return{x:$.x+$.width/2,y:$.y-z.height/2}},4:function($,z){return{x:$.x+$.width-z.width/2,y:$.y-z.height/2}},5:function($,z){return{x:$.x+$.width+z.width/2,y:$.y-z.height/2}},6:function($,z){return{x:$.x,y:$.y}},7:function($,z){return{x:$.x+$.width/2,y:$.y}},8:function($,z){return{x:$.x+$.width,y:$.y}},9:function($,z){return{x:$.x-z.width/2,y:$.y+z.height/2}},10:function($,z){return{x:$.x+z.width/2,y:$.y+z.height/2}},11:function($,z){return{x:$.x+$.width/2,y:$.y+z.height/2}},12:function($,z){return{x:$.x-z.width/2+$.width,y:$.y+z.height/2}},13:function($,z){return{x:$.x+$.width+z.width/2,y:$.y+z.height/2}},14:function($,z){return{x:$.x-z.width/2,y:$.y+$.height/2}},15:function($,z){return{x:$.x,y:$.y+$.height/2}},16:function($,z){return{x:$.x+z.width/2,y:$.y+$.height/2}},17:function($,z){return{x:$.x+$.width/2,y:$.y+$.height/2}},18:function($,z){return{x:$.x+$.width-z.width/2,y:$.y+$.height/2}},19:function($,z){return{x:$.x+$.width,y:$.y+$.height/2}},20:function($,z){return{x:$.x+$.width+z.width/2,y:$.y+$.height/2}},21:function($,z){return{x:$.x-z.width/2,y:$.y+$.height-z.height/2}},22:function($,z){return{x:$.x+z.width/2,y:$.y+$.height-z.height/2}},23:function($,z){return{x:$.x+$.width/2,y:$.y+$.height-z.height/2}},24:function($,z){return{x:$.x+$.width-z.width/2,y:$.y+$.height-z.height/2}},25:function($,z){return{x:$.x+$.width+z.width/2,y:$.y+$.height-z.height/2}},26:function($,z){return{x:$.x,y:$.y+$.height}},27:function($,z){return{x:$.x+$.width/2,y:$.y+$.height}},28:function($,z){return{x:$.x+$.width,y:$.y+$.height}},29:function($,z){return{x:$.x-z.width/2,y:$.y+$.height+z.height/2}},30:function($,z){return{x:$.x+z.width/2,y:$.y+$.height+z.height/2}},31:function($,z){return{x:$.x+$.width/2,y:$.y+$.height+z.height/2}},32:function($,z){return{x:$.x+$.width-z.width/2,y:$.y+$.height+z.height/2}},33:function($,z){return{x:$.x+$.width+z.width/2,y:$.y+$.height+z.height/2}},34:function($,z){return{x:$.x,y:$.y-z.height/2}},35:function($,z){return{x:$.x+$.width,y:$.y-z.height/2}},36:function($,z){return{x:$.x,y:$.y+$.height+z.height/2}},37:function($,z){return{x:$.x+$.width,y:$.y+$.height+z.height/2}},38:function($,z){return{x:$.x+$.width/4,y:$.y-z.height/2}},39:function($,z){return{x:$.x+3*$.width/4,y:$.y-z.height/2}},40:function($,z){return{x:$.x+$.width/4,y:$.y}},41:function($,z){return{x:$.x+3*$.width/4,y:$.y}},42:function($,z){return{x:$.x+$.width/4,y:$.y+z.height/2}},43:function($,z){return{x:$.x+3*$.width/4,y:$.y+z.height/2}},44:function($,z){return{x:$.x+$.width/2,y:$.y+$.height/2-z.height/2}},45:function($,z){return{x:$.x+$.width/4,y:$.y+$.height/2}},46:function($,z){return{x:$.x+$.width/2-z.width/2,y:$.y+$.height/2}},47:function($,z){return{x:$.x+$.width/2+z.width/2,y:$.y+$.height/2}},48:function($,z){return{x:$.x+3*$.width/4,y:$.y+$.height/2}},49:function($,z){return{x:$.x+$.width/2,y:$.y+$.height/2+z.height/2}},50:function($,z){return{x:$.x+$.width/4,y:$.y+$.height-z.height/2}},51:function($,z){return{x:$.x+3*$.width/4,y:$.y+$.height-z.height/2}},52:function($,z){return{x:$.x+$.width/4,y:$.y+$.height}},53:function($,z){return{x:$.x+3*$.width/4,y:$.y+$.height}},54:function($,z){return{x:$.x+$.width/4,y:$.y+$.height+z.height/2}},55:function($,z){return{x:$.x+3*$.width/4,y:$.y+$.height+z.height/2}}};if(function($){var z,C=0;for(z in $)2===z.length&&573===qd(z,32)&&(Av=$[z]),C++;return C}(u))return function($,z,C){return o[$](z,C||Yv)}}(),jx=(z(m,{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:"#FFF",chart:["#2f7ed8","#0d233a","#8bbc21","#910000","#1aadce","#492970","#f28f43","#77a1e5","#c42525","#a6c96a"]},!0),m.reverse),X=m.transparent,st=m.rectSelectBackground,Ux=m.dash,q=m.titleBackground,Lx=m.titleIconBackground,wx=m.headerBackground,qx=m.headerIconBackground,Tx=m.headerSeparator,rx=m.headerLine,Bx=m.contentIconBackground,$r=m.contentLine,zr=(m.widgetIconHighlight,m.widgetIconBorder),y=(m.widgetIconGradient,m.imageBackground),Cr=m.imageGradient,or=m.highlight,Mr=m.label,Ar=m.labelSelect;if(!u.shutAlert1){var Nr=new Date,sr=Td.split("-"),Nr=new Date(Nr.getFullYear(),Nr.getMonth(),Nr.getDate()),Td=new Date(qd(sr[0],10),qd(sr[1],10)-1,qd(sr[2],10)),sr=Nr.getTime(),Nr=Td.getTime(),Td="ht_try",gr=u.alert;try{(LA=u.localStorage)&&gr&&(sr<Nr&&Nr-sr<1728e6?(pA=(Nr-sr)/864e5,LA&&LA[Td]!=pA&&(LA[Td]=pA,u.htWillExpire?gr(u.htWillExpire.replace("{{day}}",pA)):gr("HT for Web free trial license will expire in "+pA+" days, please apply for a new license!"))):(Nr<=sr&&(u.htExpired?gr(u.htExpired):gr("Your free trial of HT for Web has expired!")),LA&&delete LA[Td]))}catch($){}}Math.sign===Kd&&(Math.sign=function($){return $<0?-1:0<$?1:+$});var Yr,vr,Or,tr,cr,yr,_r,Pr,Zr,Xr,dr,lr,Jr,Kr,fr,Qr,Wr,Vr,er,Dr,ar,kr,xr,pr,br,ur,nr,Rr,Ir,hr,mr,Sr,Gr,Er,Hr,ir,Fr,jr,Ur,Lr,wr,qr,Tr,rr,Br,$P,zP,CP,oP,MP,AP,NP,sP,gP,YP,vP,OP,tP,cP,yP,_P,PP,ZP,XP,dP,lP,JP,KP,fP,QP,WP,VP,eP,DP,aP,kP,xP,pP,bP,uP,nP,RP,IP,hP,mP,SP,GP,EP,HP,iP,FP,jP,UP,LP,wP,H,qP,TP,rP,BP,$U,zU,CU,i,oU,MU,AU,NU,sU,gU,YU,vU,OU,tU,cU,yU,_U,PU,ZU,XU,dU,lU,JU,KU,fU,QU,WU,VU,eU,DU,aU,kU,xU,pU,bU,uU,nU,RU,IU,hU,mU,SU,GU,EU,HU,iU,FU,jU,UU,LU,wU,qU,TU,rU,BU,$A,zA,CA,oA,MA,AA,NA,sA,gA,YA,vA,OA,tA,cA,yA,_A,PA,ZA,XA,dA,lA,JA,KA,fA,QA,WA,VA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",eA=function($,z){var C,o,M,A,N,s,g="",Y=0;for($=unescape(encodeURIComponent($));Y<$.length;)M=(C=$.charCodeAt(Y++))>>2,A=(3&C)<<4|(C=$.charCodeAt(Y++))>>4,N=(15&C)<<2|(o=$.charCodeAt(Y++))>>6,s=63&o,isNaN(C)?N=s=64:isNaN(o)&&(s=64),g=g+z.charAt(M)+z.charAt(A)+z.charAt(N)+z.charAt(s);return g},DA=function($,z,C){for(var o,M,A,N,s,g,Y="",v=C||0;v<$.length;)A=z.indexOf($.charAt(v++)),o=(15&(N=z.indexOf($.charAt(v++))))<<4|(s=z.indexOf($.charAt(v++)))>>2,M=(3&s)<<6|(g=z.indexOf($.charAt(v++))),Y+=String.fromCharCode(A<<2|N>>4),64!=s&&(Y+=String.fromCharCode(o)),64!=g&&(Y+=String.fromCharCode(M));return decodeURIComponent(escape(Y))},aA=[],kA=[],xA={},pA=function(){var $=0;return{next:function(){return++$}}},B=U.Math=U.Util={generateUUID:function(){for(var M=[],$=0;$<256;$++)M[$]=($<16?"0":"")+$.toString(16).toUpperCase();return function(){var $=4294967295*Math.random()|0,z=4294967295*Math.random()|0,C=4294967295*Math.random()|0,o=4294967295*Math.random()|0;return M[255&$]+M[$>>8&255]+M[$>>16&255]+M[$>>24&255]+"-"+M[255&z]+M[z>>8&255]+"-"+M[z>>16&15|64]+M[z>>24&255]+"-"+M[63&C|128]+M[C>>8&255]+"-"+M[C>>16&255]+M[C>>24&255]+M[255&o]+M[o>>8&255]+M[o>>16&255]+M[o>>24&255]}}(),clamp:function($,z,C){return Math.max(z,Math.min(C,$))},fequal:function($,z,C){return null==C&&(C=1e-8),Math.abs($-z)<C},newIdGenerator:pA,generateIncreasingID:pA().next,encodeBase64:function($,z){return eA($,z||VA)},decodeBase64:function($,z){return DA($,z||VA)},randomArray:function($,z){for(var C=(z=z||$.length)-1;0<C;C--){var o=Math.floor(Math.random()*(C+1)),M=$[C];$[C]=$[o],$[o]=M}return $},randomInt:function($,z){return z===Kd&&(z=$,$=0),$+Math.floor(Math.random()*(z-$))},randomFloat:function($,z){return z===Kd&&(z=$,$=0),$+Math.random()*(z-$)},safeInvert:function($){return $?1/$:0},modToPositive:function($,z){return($%=z)<0&&($+=z),$},roundFloat:function($,z){return z=1===z?10:2==z?100:3==z||z==fd?1e3:Math.pow(10,z),Math.round($*z)/z},angleMod:function($){return($%=_d)<-x&&($+=_d),x<$&&($-=_d),$},isPOT:function($){return 0<$&&0==($-1&$)},nearestPOT:function($){if(!$)return 1;var z=$,C=(z--,z=(z=(z=(z=(z|=z>>1)|z>>2)|z>>4)|z>>8)|z>>16,++z>>1);return z-$<$-C?z:C},requestMatrix4:function(){return 0<aA.length?aA.pop():new B.Matrix4},releaseMatrix4:function($){aA.push($)},requestVector3:function(){return 0<kA.length?kA.pop():new B.Vector3},releaseVector3:function($){kA.push($)},requestFloat32Array:function($){var z=xA[$];return z&&z.length?z.pop():new Float32Array($)},releaseFloat32Array:function($){var z,C;$&&(z=$.length)&&((C=xA[z])?C.push($):xA[z]=[$])},lowerFirstLetter:function($){return 0===$.length?$:$.charAt(0).toLowerCase()+$.slice(1)},upperFirstLetter:function($){return 0===$.length?$:$.charAt(0).toUpperCase()+$.slice(1)}},bA=B.lowerFirstLetter,uA=B.upperFirstLetter,nA=function($,z,C){var o=$[z];return o?o.length!=C?(B.releaseFloat32Array(o),$[z]=B.requestFloat32Array(C)):o:$[z]=B.requestFloat32Array(C)},RA=U.Matrix=U.Math.Matrix2d=function($,z,C,o,M){this.setFromTransform($,z,C,o,M)},IA=RA,hA=(((RA.prototype={}).constructor=RA).prototype.set=function($,z,C,o,M,A){return this.a=$,this.b=z,this.c=C,this.d=o,this.tx=M,this.ty=A,this},RA.prototype.setFromTransform=function($,z,C,o,M){var A,N=this;return $===Kd?(N.a=1,N.b=0,N.c=0,N.d=1,N.tx=0,void(N.ty=0)):($=$?(A=yd($),Wd($)):(A=0,1),M=M||1,N.a=$*(o=o||1),N.b=A*o,N.c=-A*M,N.d=$*M,N.tx=z||0,N.ty=C||0,N)},RA.prototype.apply=function($,z){z=z||new F;var C=$.x,$=$.y;return z.x=this.a*C+this.c*$+this.tx,z.y=this.b*C+this.d*$+this.ty,z},RA.prototype.applyInverse=function($,z){z=z||new F;var C=1/(this.a*this.d+this.c*-this.b),o=$.x,$=$.y;return z.x=this.d*C*o+-this.c*C*$+(this.ty*this.c-this.tx*this.d)*C,z.y=this.a*C*$+-this.b*C*o+(-this.ty*this.a+this.tx*this.b)*C,z},RA.prototype.translate=function($,z){return this.tx+=$,this.ty+=z,this},RA.prototype.scale=function($,z){return this.a*=$,this.d*=z,this.c*=$,this.b*=z,this.tx*=$,this.ty*=z,this},RA.prototype.rotate=function($){var z=Math.cos($),$=Math.sin($),C=this.a,o=this.c,M=this.tx;return this.a=C*z-this.b*$,this.b=C*$+this.b*z,this.c=o*z-this.d*$,this.d=o*$+this.d*z,this.tx=M*z-this.ty*$,this.ty=M*$+this.ty*z,this},RA.prototype.appendTranslate=function($,z){return this.tx+=this.a*$+this.c*z,this.ty+=this.b*$+this.d*z,this},RA.prototype.appendScale=function($,z){return this.a*=$,this.d*=z,this.c*=z,this.b*=$,this},RA.prototype.appendRotate=function($){if(!$)return this;var z=Math.cos($),$=Math.sin($),C=this.a,o=this.b;return this.a=C*z+this.c*$,this.b=o*z+this.d*$,this.c=-C*$+this.c*z,this.d=-o*$+this.d*z,this},RA.prototype.append=function($){var z=this.a,C=this.b,o=this.c,M=this.d;return this.a=$.a*z+$.b*o,this.b=$.a*C+$.b*M,this.c=$.c*z+$.d*o,this.d=$.c*C+$.d*M,this.tx=$.tx*z+$.ty*o+this.tx,this.ty=$.tx*C+$.ty*M+this.ty,this},RA.prototype.setTransform=function($,z,C,o,M,A,N,s,g){var Y=Math.sin(N),N=Math.cos(N),v=Math.cos(g),g=Math.sin(g),O=-Math.sin(s),s=Math.cos(s),t=N*M,M=Y*M,N=N*A;return this.a=v*t+g*(Y=-Y*A),this.b=v*M+g*N,this.c=O*t+s*Y,this.d=O*M+s*N,this.tx=$+(C*t+o*Y),this.ty=z+(C*M+o*N),this},RA.prototype.prepend=function($){var z,C,o=this.tx;return 1===$.a&&0===$.b&&0===$.c&&1===$.d||(z=this.a,C=this.c,this.a=z*$.a+this.b*$.c,this.b=z*$.b+this.b*$.d,this.c=C*$.a+this.d*$.c,this.d=C*$.b+this.d*$.d),this.tx=o*$.a+this.ty*$.c+$.tx,this.ty=o*$.b+this.ty*$.d+$.ty,this},RA.prototype.transform=RA.prototype.prepend,RA.prototype.invert=function(){var $=this.a,z=this.b,C=this.c,o=this.d,M=this.tx,A=$*o-z*C;return this.a=o/A,this.b=-z/A,this.c=-C/A,this.d=$/A,this.tx=(C*this.ty-o*M)/A,this.ty=-($*this.ty-z*M)/A,this},RA.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},RA.prototype.clone=function(){var $=new RA;return $.a=this.a,$.b=this.b,$.c=this.c,$.d=this.d,$.tx=this.tx,$.ty=this.ty,$},RA.prototype.copy=function($){return this.a=$.a,this.b=$.b,this.c=$.c,this.d=$.d,this.tx=$.tx,this.ty=$.ty,this},RA.prototype.tf=function($,z){1===arguments.length&&(z=$.y,$=$.x);var C=this;return{x:C.a*$+C.c*z+C.tx,y:C.b*$+C.d*z+C.ty}},RA.prototype.toArray=function(){return[this.a,this.b,this.c,this.d,this.tx,this.ty]},RA.prototype.fromArray=function($){return this.a=$[0],this.b=$[1],this.c=$[2],this.d=$[3],this.tx=$[4],this.ty=$[5],this},RA.prototype.toArray9=function(){return[this.a,this.b,0,this.c,this.d,0,this.tx,this.ty,1]},RA.prototype.tfi=function($,z){1===arguments.length&&(z=$.y,$=$.x);var C=this,o=1/(C.a*C.d+C.c*-C.b);return{x:C.d*o*$+-C.c*o*z+(C.ty*C.c-C.tx*C.d)*o,y:C.a*o*z+-C.b*o*$+(-C.ty*C.a+C.tx*C.b)*o}},RA.prototype.decompose=function(){var $=this,z=$.a,C=$.b,o=$.c,M=$.d,A=Math.sqrt(z*z+C*C),N=Math.sqrt(o*o+M*M);return z*M-C*o<0&&(z<M?A=-A:N=-N),A&&(z*=1/A,C*=1/A),N&&(M*=1/N),{translateX:$.tx,translateY:$.ty,rotation:Math.atan2(C,z),scaleX:A,scaleY:N}},RA.IDENTITY=new RA,RA.TEMP_MATRIX=new RA,U.Math.Quaternion=function($,z,C,o){this.set($,z,C,o)}),mA=(Jd.assign(hA.prototype,{isQuaternion:!0,set:function($,z,C,o){var M=this;return M._x=$||0,M._y=z||0,M._z=C||0,M._w=o!==Kd?o:1,M},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function($){var z=this;return z._x=$._x,z._y=$._y,z._z=$._z,z._w=$._w,z},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this},dot:function($){return this._x*$._x+this._y*$._y+this._z*$._z+this._w*$._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 $=this.length();return 0===$?(this._x=0,this._y=0,this._z=0,this._w=1):(this._x=this._x*($=1/$),this._y=this._y*$,this._z=this._z*$,this._w=this._w*$),this},fromArray:function($,z){return this._x=$[z=z===Kd?0:z],this._y=$[z+1],this._z=$[z+2],this._w=$[z+3],this},slerp:function($,z){if(0===z)return this;if(1===z)return this.copy($);var C=this._x,o=this._y,M=this._z,A=this._w;if((N=A*$._w+C*$._x+o*$._y+M*$._z)<0?(this._w=-$._w,this._x=-$._x,this._y=-$._y,this._z=-$._z,N=-N):this.copy($),1<=N)return this._w=A,this._x=C,this._y=o,this._z=M,this;if($=Math.sqrt(1-N*N),Math.abs($)<.001)return this._w=.5*(A+this._w),this._x=.5*(C+this._x),this._y=.5*(o+this._y),this._z=.5*(M+this._z),this;var N=Math.atan2($,N),s=Math.sin((1-z)*N)/$,z=Math.sin(z*N)/$;return this._w=A*s+this._w*z,this._x=C*s+this._x*z,this._y=o*s+this._y*z,this._z=M*s+this._z*z,this},equals:function($){return $._x===this._x&&$._y===this._y&&$._z===this._z&&$._w===this._w},setFromAxisAngle:function($,z){var z=z/2,C=Math.sin(z);return this._x=$.x*C,this._y=$.y*C,this._z=$.z*C,this._w=Math.cos(z),this},setFromEuler:function($){var z=$._x,C=$._y,o=$._z,$=$._order,M=Math.cos,A=Math.sin,N=M(z/2),s=M(C/2),M=M(o/2),z=A(z/2),C=A(C/2),A=A(o/2);return"XYZ"===$?(this._x=z*s*M+N*C*A,this._y=N*C*M-z*s*A,this._z=N*s*A+z*C*M,this._w=N*s*M-z*C*A):"YXZ"===$?(this._x=z*s*M+N*C*A,this._y=N*C*M-z*s*A,this._z=N*s*A-z*C*M,this._w=N*s*M+z*C*A):"ZXY"===$?(this._x=z*s*M-N*C*A,this._y=N*C*M+z*s*A,this._z=N*s*A+z*C*M,this._w=N*s*M-z*C*A):"ZYX"===$?(this._x=z*s*M-N*C*A,this._y=N*C*M+z*s*A,this._z=N*s*A-z*C*M,this._w=N*s*M+z*C*A):"YZX"===$?(this._x=z*s*M+N*C*A,this._y=N*C*M+z*s*A,this._z=N*s*A-z*C*M,this._w=N*s*M-z*C*A):"XZY"===$&&(this._x=z*s*M-N*C*A,this._y=N*C*M-z*s*A,this._z=N*s*A+z*C*M,this._w=N*s*M+z*C*A),this},setFromRotationMatrix:function($){var z,C=($=$.el)[0],o=$[4],M=$[8],A=$[1],N=$[5],s=$[9],g=$[2],Y=$[6],v=C+N+($=$[10]);return 0<v?(z=.5/Math.sqrt(v+1),this._w=.25/z,this._x=(Y-s)*z,this._y=(M-g)*z,this._z=(A-o)*z):N<C&&$<C?(z=2*Math.sqrt(1+C-N-$),this._w=(Y-s)/z,this._x=.25*z,this._y=(o+A)/z,this._z=(M+g)/z):$<N?(z=2*Math.sqrt(1+N-C-$),this._w=(M-g)/z,this._x=(o+A)/z,this._y=.25*z,this._z=(s+Y)/z):(z=2*Math.sqrt(1+$-C-N),this._w=(A-o)/z,this._x=(M+g)/z,this._y=(s+Y)/z,this._z=.25*z),this},setFromToVectors:function($,z){return Or===Kd&&(Or=new Dd,tr=new Dd),this.setFromUnitVectors(Or.copy($).normalize(),tr.copy(z).normalize())},setFromUnitVectors:function($,z){return Yr===Kd&&(Yr=new Dd),(vr=$.dot(z)+1)<1e-6?(vr=0,Math.abs($.x)>Math.abs($.z)?Yr.set(-$.y,$.x,0):Yr.set(0,-$.z,$.y)):Yr.crossVectors($,z),this._x=Yr.x,this._y=Yr.y,this._z=Yr.z,this._w=vr,this.normalize()},multiply:function($){return this.multiplyQuaternions(this,$)},premultiply:function($){return this.multiplyQuaternions($,this)},multiplyQuaternions:function($,z){var C=$._x,o=$._y,M=$._z,$=$._w,A=z._x,N=z._y,s=z._z,z=z._w;return this._x=C*z+$*A+o*s-M*N,this._y=o*z+$*N+M*A-C*s,this._z=M*z+$*s+C*N-o*A,this._w=$*z-C*A-o*N-M*s,this},toArray:function($,z){return($=$||[])[z=z||0]=this._x,$[z+1]=this._y,$[z+2]=this._z,$[z+3]=this._w,$},angleTo:function($){return 2*Math.acos(Math.abs(U.Math.clamp(this.dot($),-1,1)))},rotateTowards:function($,z){var C=this.angleTo($);return 0===C||(z=Math.min(1,z/C),this.slerp($,z)),this}}),hA.slerpFlat=function($,z,C,o,M,A,N){var s,g,Y,v=C[o+0],O=C[o+1],t=C[o+2],C=C[o+3],o=M[A+0],c=M[A+1],y=M[A+2],M=M[A+3];return 0===N?($[z+0]=v,$[z+1]=O,$[z+2]=t,void($[z+3]=C)):1===N?($[z+0]=o,$[z+1]=c,$[z+2]=y,void($[z+3]=M)):(C===M&&v===o&&O===c&&t===y||(A=1-N,s=0<=(g=v*o+O*c+t*y+C*M)?1:-1,(Y=1-g*g)>Number.EPSILON&&(Y=Math.sqrt(Y),g=Math.atan2(Y,g*s),A=Math.sin(A*g)/Y,N=Math.sin(N*g)/Y),v=v*A+o*(g=N*s),O=O*A+c*g,t=t*A+y*g,C=C*A+M*g,A===1-N&&(v*=Y=1/Math.sqrt(v*v+O*O+t*t+C*C),O*=Y,t*=Y,C*=Y)),$[z]=v,$[z+1]=O,$[z+2]=t,void($[z+3]=C))},hA.multiplyQuaternionsFlat=function($,z,C,o,M,A){var N=C[o+0],s=C[o+1],g=C[o+2],C=C[o+3],o=M[A+0],Y=M[A+1],v=M[A+2],M=M[A+3];return $[z+0]=N*M+C*o+s*v-g*Y,$[z+1]=s*M+C*Y+g*o-N*v,$[z+2]=g*M+C*v+N*Y-s*o,$[z+3]=C*M-N*o-s*Y-g*v,$},hA.sharedQuaternionArray=[0,0,0,1],U.Math.Vector4=function($,z,C,o){this.x=$||0,this.y=z||0,this.z=C||0,this.w=o!==Kd?o:1}),Dd=(Jd.assign(mA.prototype,{isVector4:!0,set:function($,z,C,o){return this.x=$,this.y=z,this.z=C,this.w=o,this},setScalar:function($){return this.x=$,this.y=$,this.z=$,this.w=$,this},setX:function($){return this.x=$,this},setY:function($){return this.y=$,this},setZ:function($){return this.z=$,this},setW:function($){return this.w=$,this},setComponent:function($,z){switch($){case 0:this.x=z;break;case 1:this.y=z;break;case 2:this.z=z;break;case 3:this.w=z;break;default:throw new Error("index is out of range: "+$)}return this},getComponent:function($){switch($){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: "+$)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function($){return this.x=$.x,this.y=$.y,this.z=$.z,this.w=$.w!==Kd?$.w:1,this},add:function($,z){return z!==Kd?this.addVectors($,z):(this.x+=$.x,this.y+=$.y,this.z+=$.z,this.w+=$.w,this)},addScalar:function($){return this.x+=$,this.y+=$,this.z+=$,this.w+=$,this},addVectors:function($,z){return this.x=$.x+z.x,this.y=$.y+z.y,this.z=$.z+z.z,this.w=$.w+z.w,this},addScaledVector:function($,z){return this.x+=$.x*z,this.y+=$.y*z,this.z+=$.z*z,this.w+=$.w*z,this},sub:function($,z){return z!==Kd?this.subVectors($,z):(this.x-=$.x,this.y-=$.y,this.z-=$.z,this.w-=$.w,this)},subScalar:function($){return this.x-=$,this.y-=$,this.z-=$,this.w-=$,this},subVectors:function($,z){return this.x=$.x-z.x,this.y=$.y-z.y,this.z=$.z-z.z,this.w=$.w-z.w,this},multiplyScalar:function($){return this.x*=$,this.y*=$,this.z*=$,this.w*=$,this},applyMatrix4:function($){var z=this.x,C=this.y,o=this.z,M=this.w,$=$.el||$;return this.x=$[0]*z+$[4]*C+$[8]*o+$[12]*M,this.y=$[1]*z+$[5]*C+$[9]*o+$[13]*M,this.z=$[2]*z+$[6]*C+$[10]*o+$[14]*M,this.w=$[3]*z+$[7]*C+$[11]*o+$[15]*M,this},divideScalar:function($){return this.multiplyScalar(1/$)},setAxisAngleFromQuaternion:function($){this.w=2*Math.acos($.w);var z=Math.sqrt(1-$.w*$.w);return z<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=$.x/z,this.y=$.y/z,this.z=$.z/z),this},setAxisAngleFromRotationMatrix:function($){var z,C,o,M=($=$.el)[0],A=$[4],N=$[8],s=$[1],g=$[5],Y=$[9],v=$[2],O=$[6],$=$[10];if(Math.abs(A-s)<.01&&Math.abs(N-v)<.01&&Math.abs(Y-O)<.01){if(Math.abs(A+s)<.1&&Math.abs(N+v)<.1&&Math.abs(Y+O)<.1&&Math.abs(M+g+$-3)<.1)return this.set(1,0,0,0),this;var t=Math.PI,c=(M+1)/2,y=(g+1)/2,_=($+1)/2,P=(A+s)/4,Z=(N+v)/4,X=(Y+O)/4;return y<c&&_<c?o=c<.01?(z=0,C=.707106781):(C=P/(z=Math.sqrt(c)),Z/z):_<y?o=y<.01?(C=0,z=.707106781):(z=P/(C=Math.sqrt(y)),X/C):_<.01?(C=z=.707106781,o=0):(z=Z/(o=Math.sqrt(_)),C=X/o),this.set(z,C,o,t),this}return c=Math.sqrt((O-Y)*(O-Y)+(N-v)*(N-v)+(s-A)*(s-A)),Math.abs(c)<.001&&(c=1),this.x=(O-Y)/c,this.y=(N-v)/c,this.z=(s-A)/c,this.w=Math.acos((M+g+$-1)/2),this},min:function($){return this.x=Math.min(this.x,$.x),this.y=Math.min(this.y,$.y),this.z=Math.min(this.z,$.z),this.w=Math.min(this.w,$.w),this},max:function($){return this.x=Math.max(this.x,$.x),this.y=Math.max(this.y,$.y),this.z=Math.max(this.z,$.z),this.w=Math.max(this.w,$.w),this},clamp:function($,z){return this.x=Math.max($.x,Math.min(z.x,this.x)),this.y=Math.max($.y,Math.min(z.y,this.y)),this.z=Math.max($.z,Math.min(z.z,this.z)),this.w=Math.max($.w,Math.min(z.w,this.w)),this},clampScalar:function($,z){return cr===Kd&&(cr=new mA,yr=new mA),cr.set($,$,$,$),yr.set(z,z,z,z),this.clamp(cr,yr)},clampLength:function($,z){var C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max($,Math.min(z,C)))},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($){return this.x*$.x+this.y*$.y+this.z*$.z+this.w*$.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($){return this.normalize().multiplyScalar($)},lerp:function($,z){return this.x+=($.x-this.x)*z,this.y+=($.y-this.y)*z,this.z+=($.z-this.z)*z,this.w+=($.w-this.w)*z,this},lerpVectors:function($,z,C){return this.subVectors(z,$).multiplyScalar(C).add($)},equals:function($){return $.x===this.x&&$.y===this.y&&$.z===this.z&&$.w===this.w},fromArray:function($,z){return this.x=$[z=z===Kd?0:z],this.y=$[z+1],this.z=$[z+2],this.w=$[z+3],this},toArray:function($,z){return($=$===Kd?[]:$)[z=z===Kd?0:z]=this.x,$[z+1]=this.y,$[z+2]=this.z,$[z+3]=this.w,$},fromBufferAttribute:function($,z,C){return this.x=$.getX(z),this.y=$.getY(z),this.z=$.getZ(z),this.w=$.getW(z),this}}),U.Math.Vector3=function($,z,C){$===Kd?(this.x=0,this.y=0,this.z=0):"object"==typeof $?this.copy($):this.set($,z==Kd?$:z,C==Kd?$:C)}),SA=(Jd.assign(Dd.prototype,{isVector3:!0,isNaN:function(){return isNaN(this.x)||isNaN(this.y)||isNaN(this.z)},set:function($,z,C){return this.x=$,this.y=z,this.z=C,this},equals:function($){return $&&this.x===$.x&&this.y===$.y&&this.z===$.z},setScalar:function($){return this.x=$,this.y=$,this.z=$,this},setX:function($){return this.x=$,this},setY:function($){return this.y=$,this},setZ:function($){return this.z=$,this},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function($){return $.x===Kd?(this.x=$[0],this.y=$[1],this.z=$[2]):(this.x=$.x,this.y=$.y,this.z=$.z||0),this},add:function($){return this.x+=$.x,this.y+=$.y,this.z+=$.z,this},addScalar:function($){return this.x+=$,this.y+=$,this.z+=$,this},addVectors:function($,z){return this.x=$.x+z.x,this.y=$.y+z.y,this.z=$.z+z.z,this},addScaledVector:function($,z){return this.x+=$.x*z,this.y+=$.y*z,this.z+=$.z*z,this},sub:function($){return this.x-=$.x,this.y-=$.y,this.z-=$.z,this},subScalar:function($){return this.x-=$,this.y-=$,this.z-=$,this},subVectors:function($,z){return this.x=$.x-z.x,this.y=$.y-z.y,this.z=$.z-z.z,this},divide:function($){return this.x/=$.x,this.y/=$.y,this.z/=$.z,this},multiply:function($){return this.x*=$.x,this.y*=$.y,this.z*=$.z,this},multiplyScalar:function($){return this.x*=$,this.y*=$,this.z*=$,this},divideScalar:function($){return 0!==$?(this.x*=$=1/$,this.y*=$,this.z*=$):(this.x=0,this.y=0,this.z=0),this},distanceTo:function($){return Math.sqrt(this.distanceToSquared($))},distanceToSquared:function($){var z=this.x-$.x,C=this.y-$.y;return z*z+C*C+($=this.z-$.z)*$},distanceToSquared2:function($){var z=this.x-$[0],C=this.y-$[1];return z*z+C*C+($=this.z-$[2])*$},divideVectors:function($,z){return this.x=$.x/z.x,this.y=$.y/z.y,this.z=$.z/z.z,this},multiplyVectors:function($,z){return this.x=$.x*z.x,this.y=$.y*z.y,this.z=$.z*z.z,this},transformDirection:function($){var z=this.x,C=this.y,o=this.z,$=$.el;return this.x=$[0]*z+$[4]*C+$[8]*o,this.y=$[1]*z+$[5]*C+$[9]*o,this.z=$[2]*z+$[6]*C+$[10]*o,this.normalize()},applyAxisAngle:(Zr=new hA,function($,z){return this.applyQuaternion(Zr.setFromAxisAngle($,z))}),applyEuler:(Pr=new hA,function($){return this.applyQuaternion(Pr.setFromEuler($))}),applyQuaternion:function($){var z=this.x,C=this.y,o=this.z,M=$._x,A=$._y,N=$._z,s=($=$._w)*z+A*o-N*C,g=$*C+N*z-M*o,Y=$*o+M*C-A*z;return this.x=s*$+(z=-M*z-A*C-N*o)*-M+g*-N-Y*-A,this.y=g*$+z*-A+Y*-M-s*-N,this.z=Y*$+z*-N+s*-A-g*-M,this},applyMatrix4:function($){var z=this.x,C=this.y,o=this.z,M=1/(($=$.el||$)[3]*z+$[7]*C+$[11]*o+$[15]);return this.x=($[0]*z+$[4]*C+$[8]*o+$[12])*M,this.y=($[1]*z+$[5]*C+$[9]*o+$[13])*M,this.z=($[2]*z+$[6]*C+$[10]*o+$[14])*M,this},applyMatrix3:function($){var z=this.x,C=this.y,o=this.z,$=$.el||$;return this.x=$[0]*z+$[3]*C+$[6]*o,this.y=$[1]*z+$[4]*C+$[7]*o,this.z=$[2]*z+$[5]*C+$[8]*o,this},applyNormalMatrix:function($){return this.applyMatrix3($).normalize()},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},reflect:(_r=new Dd,function($){return this.sub(_r.copy($).multiplyScalar(2*this.dot($)))}),dot:function($){return this.x*$.x+this.y*$.y+this.z*$.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 $=this.length();return $?this.multiplyScalar(1/$):this},setLength:function($){return this.normalize().multiplyScalar($)},fromArray:function($,z){return this.x=$[z=z===Kd?0:z],this.y=$[z+1],this.z=$[z+2],this},toArray:function($,z){return($=$===Kd?[0,0,0]:$)[z=z===Kd?0:z]=this.x,$[z+1]=this.y,$[z+2]=this.z,$},cross:function($){return this.crossVectors(this,$)},angleTo:function($){return 1+1e-6<($=this.dot($)/Math.sqrt(this.lengthSq()*$.lengthSq()))||$<-1-1e-6?0:Math.acos(B.clamp($,-1,1))},lerp:function($,z){return this.x+=($.x-this.x)*z,this.y+=($.y-this.y)*z,this.z+=($.z-this.z)*z,this},lerpVectors:function($,z,C){return this.subVectors(z,$).multiplyScalar(C).add($)},crossVectors:function($,z){var C=$.x,o=$.y,$=$.z,M=z.x,A=z.y,z=z.z;return this.x=o*z-$*A,this.y=$*M-C*z,this.z=C*A-o*M,this},min:function($){return this.x=Math.min(this.x,$.x),this.y=Math.min(this.y,$.y),this.z=Math.min(this.z,$.z),this},max:function($){return this.x=Math.max(this.x,$.x),this.y=Math.max(this.y,$.y),this.z=Math.max(this.z,$.z),this},setFromMatrixPosition:function($){return this.setFromMatrixColumn($,3)},setFromMatrixScale:function($){var z=this.setFromMatrixColumn($,0).length(),C=this.setFromMatrixColumn($,1).length(),$=this.setFromMatrixColumn($,2).length();return this.x=z,this.y=C,this.z=$,this},setFromMatrixColumn:function($,z){return this.fromArray($.el,4*z)}}),Dd.UP=new Dd(0,1,0),Dd.AxisX=new Dd(1,0,0),Dd.AxisY=new Dd(0,1,0),Dd.AxisZ=new Dd(0,0,1),Dd.normalizeArray=(Xr=new Dd,function($){return Xr.copy($).normalize().toArray()}),dr=new Dd,function($,z){return(z=z||dr).x=$[0],z.y=$[1],z.z=$[2],z}),F=(Dd.arrayApplyQuaternion=function($,z,C){return SA(z).applyQuaternion(C).toArray($),$},U.Math.Vector2=function($,z,C){"object"==typeof $&&($=$.x!=Kd?(z=$.y,C=$.e,$.x):(C=$[2],z=$[1],$[0])),this.set($||0,z||0,C)}),Nr=(F.prototype={},(F.prototype.constructor=F).prototype.isVector2=!0,Jd.defineProperties(F.prototype,{width:{get:function(){return this.x},set:function($){this.x=$}},height:{get:function(){return this.y},set:function($){this.y=$}}}),F.prototype.clone=function(){return new F(this.x,this.y,this.e)},F.prototype.copy=function($){return this.set($.x,$.y,$.e),this},F.prototype.equals=function($){return $.x===this.x&&$.y===this.y&&$.e===this.e},F.prototype.set=function($,z,C){return this.x=$||0,this.y=z||(0!==z?this.x:0),C!=Kd&&(this.e=C),this},F.prototype.setScalar=function($){return this.x=$,this.y=$,this.e=$,this},F.prototype.setX=function($){return this.x=$||0,this},F.prototype.setY=function($){return this.y=$||0,this},F.prototype.setE=function($){return this.e=$||0,this},F.prototype.add=function($){return this.x+=$.x,this.y+=$.y,this},F.prototype.addVectors=function($,z){return this.x=$.x+z.x,this.y=$.y+z.y,this},F.prototype.addScalar=function($){return this.x+=$,this.y+=$,this},F.prototype.addScaledVector=function($,z){return this.x+=$.x*z,this.y+=$.y*z,this},F.prototype.sub=function($){return this.x-=$.x,this.y-=$.y,this},F.prototype.subScalar=function($){return this.x-=$,this.y-=$,this},F.prototype.subVectors=function($,z){return this.x=$.x-z.x,this.y=$.y-z.y,this},F.prototype.multiply=function($){return this.x*=$.x,this.y*=$.y,this},F.prototype.multiplyScalar=function($){return this.x*=$,this.y*=$,this},F.prototype.divide=function($){return this.x/=$.x,this.y/=$.y,this},F.prototype.divideScalar=function($){return this.multiplyScalar(1/$)},F.prototype.min=function($){return this.x=Math.min(this.x,$.x),this.y=Math.min(this.y,$.y),this},F.prototype.max=function($){return this.x=Math.max(this.x,$.x),this.y=Math.max(this.y,$.y),this},F.prototype.fromArray=function($,z){return this.x=$[z=z===Kd?0:z],this.y=$[z+1],this},F.prototype.toArray=function($,z){return($=$===Kd?[0,0]:$)[z=z===Kd?0:z]=this.x,$[z+1]=this.y,$},F.prototype.clamp=function($,z){return this.x=Math.max($.x,Math.min(z.x,this.x)),this.y=Math.max($.y,Math.min(z.y,this.y)),this},F.prototype.clampScalar=function($,z){return lr===Kd&&(lr=new F,Jr=new F),lr.set($,$),Jr.set(z,z),this.clamp(lr,Jr)},F.prototype.clampLength=function($,z){var C=this.length();return this.multiplyScalar(Math.max($,Math.min(z,C))/C)},F.prototype.dot=function($){return this.x*$.x+this.y*$.y},F.prototype.cross=function($){return this.x*$.y-this.y*$.x},F.prototype.lengthSq=function(){return this.x*this.x+this.y*this.y},F.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},F.prototype.normalize=function(){return this.divideScalar(this.length())},F.prototype.angle=function(){var $=Math.atan2(this.y,this.x);return $<0&&($+=2*Math.PI),$},F.prototype.distanceTo=function($){return Math.sqrt(this.distanceToSquared($))},F.prototype.distanceToSquared=function($){var z=this.x-$.x;return z*z+($=this.y-$.y)*$},F.prototype.isNearEnough=function($){return this.distanceToSquared($)<1e-8},F.prototype.setLength=function($){var z=this.length();return z?this.multiplyScalar($/z):this},F.prototype.lerp=function($,z){return this.x+=($.x-this.x)*z,this.y+=($.y-this.y)*z,"number"==typeof $.e&&"number"==typeof this.e&&(this.e+=($.e-this.e)*z),this},F.prototype.lerpVectors=function($,z,C){return this.subVectors(z,$).multiplyScalar(C).add($)},F.prototype.rotateAround=function($,z){var C=$?$.x:0,$=$?$.y:0,o=Math.cos(z),z=Math.sin(z),M=this.x-C,A=this.y-$;return this.x=M*o-A*z+C,this.y=M*z+A*o+$,this},U.Math.Matrix3=function(){this.el=[1,0,0,0,1,0,0,0,1]}),GA=(Jd.assign(Nr.prototype,{isMatrix3:!0,set:function($,z,C,o,M,A,N,s,g){var Y=this.el;return Y[0]=$,Y[1]=o,Y[2]=N,Y[3]=z,Y[4]=M,Y[5]=s,Y[6]=C,Y[7]=A,Y[8]=g,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($){var z=this.el,$=$.el;return z[0]=$[0],z[1]=$[1],z[2]=$[2],z[3]=$[3],z[4]=$[4],z[5]=$[5],z[6]=$[6],z[7]=$[7],z[8]=$[8],this},setFromMatrix4:function($){return $=$.el,this.set($[0],$[4],$[8],$[1],$[5],$[9],$[2],$[6],$[10]),this},applyToBufferAttribute:(Kr=new Dd,function($){for(var z=0,C=$.count;z<C;z++)Kr.x=$.getX(z),Kr.y=$.getY(z),Kr.z=$.getZ(z),Kr.applyMatrix3(this),$.setXYZ(z,Kr.x,Kr.y,Kr.z);return $}),multiply:function($){return this.multiplyMatrices(this,$)},premultiply:function($){return this.multiplyMatrices($,this)},multiplyMatrices:function($,z){var $=$.el,z=z.el,C=this.el,o=$[0],M=$[3],A=$[6],N=$[1],s=$[4],g=$[7],Y=$[2],v=$[5],$=$[8],O=z[0],t=z[3],c=z[6],y=z[1],_=z[4],P=z[7],Z=z[2],X=z[5],z=z[8];return C[0]=o*O+M*y+A*Z,C[3]=o*t+M*_+A*X,C[6]=o*c+M*P+A*z,C[1]=N*O+s*y+g*Z,C[4]=N*t+s*_+g*X,C[7]=N*c+s*P+g*z,C[2]=Y*O+v*y+$*Z,C[5]=Y*t+v*_+$*X,C[8]=Y*c+v*P+$*z,this},multiplyScalar:function($){var z=this.el;return z[0]*=$,z[3]*=$,z[6]*=$,z[1]*=$,z[4]*=$,z[7]*=$,z[2]*=$,z[5]*=$,z[8]*=$,this},determinant:function(){var $=this.el,z=$[0],C=$[1],o=$[2],M=$[3],A=$[4],N=$[5],s=$[6],g=$[7];return z*A*($=$[8])-z*N*g-C*M*$+C*N*s+o*M*g-o*A*s},getInverse:function($,z){var $=$.el,C=this.el,o=$[0],M=$[1],A=$[2],N=$[3],s=$[4],g=$[5],Y=$[6],v=$[7],O=($=$[8])*s-g*v,t=g*Y-$*N,c=v*N-s*Y,y=o*O+M*t+A*c;return 0==y?this.identity():(C[0]=O*(y=1/y),C[1]=(A*v-$*M)*y,C[2]=(g*M-A*s)*y,C[3]=t*y,C[4]=($*o-A*Y)*y,C[5]=(A*N-g*o)*y,C[6]=c*y,C[7]=(M*Y-v*o)*y,C[8]=(s*o-M*N)*y,this)},transpose:function(){var $=this.el,z=$[1];return $[1]=$[3],$[3]=z,z=$[2],$[2]=$[6],$[6]=z,z=$[5],$[5]=$[7],$[7]=z,this},getNormalMatrix:function($){return this.setFromMatrix4($).getInverse(this).transpose()},transposeIntoArray:function($){var z=this.el;return $[0]=z[0],$[1]=z[3],$[2]=z[6],$[3]=z[1],$[4]=z[4],$[5]=z[7],$[6]=z[2],$[7]=z[5],$[8]=z[8],this},setUvTransform:function($,z,C,o,M,A,N){var s=Math.cos(M),M=Math.sin(M);this.set(C*s,C*M,-C*(s*A+M*N)+A+$,-o*M,o*s,-o*(-M*A+s*N)+N+z,0,0,1)},scale:function($,z){var C=this.el;return C[0]*=$,C[3]*=$,C[6]*=$,C[1]*=z,C[4]*=z,C[7]*=z,this},rotate:function($){var z=Math.cos($),$=Math.sin($),C=this.el,o=C[0],M=C[3],A=C[6],N=C[1],s=C[4],g=C[7];return C[0]=z*o+$*N,C[3]=z*M+$*s,C[6]=z*A+$*g,C[1]=-$*o+z*N,C[4]=-$*M+z*s,C[7]=-$*A+z*g,this},translate:function($,z){var C=this.el;return C[0]+=$*C[2],C[3]+=$*C[5],C[6]+=$*C[8],C[1]+=z*C[2],C[4]+=z*C[5],C[7]+=z*C[8],this},equals:function($){for(var z=this.el,C=$.el,o=0;o<9;o++)if(z[o]!==C[o])return!1;return!0},fromArray:function($,z){z===Kd&&(z=0);for(var C=0;C<9;C++)this.el[C]=$[C+z];return this},getElements:function(){return this.el},toArray:function($,z){var C=this.el;return($=$===Kd?[]:$)[z=z===Kd?0:z]=C[0],$[z+1]=C[1],$[z+2]=C[2],$[z+3]=C[3],$[z+4]=C[4],$[z+5]=C[5],$[z+6]=C[6],$[z+7]=C[7],$[z+8]=C[8],$}}),U.Math.Plane=function($,z){this.normal=$!==Kd?$:new Dd(1,0,0),this.constant=z!==Kd?z:0}),EA=(Jd.assign(GA.prototype,{set:function($,z){return this.normal.copy($),this.constant=z,this},setComponents:function($,z,C,o){return this.normal.set($,z,C),this.constant=o,this},setFromNormalAndCoplanarPoint:function($,z){return this.normal.copy($),this.constant=-z.dot(this.normal),this},setFromCoplanarPoints:(Vr=new Dd,er=new Dd,function($,z,C){return C=Vr.subVectors(C,z).cross(er.subVectors($,z)).normalize(),this.setFromNormalAndCoplanarPoint(C,$),this}),clone:function(){return(new this.constructor).copy(this)},copy:function($){return this.normal.copy($.normal),this.constant=$.constant,this},normalize:function(){var $=1/this.normal.length();return this.normal.multiplyScalar($),this.constant*=$,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function($){return this.normal.dot($)+this.constant},distanceToSphere:function($){return this.distanceToPoint($.center)-$.radius},projectPoint:function($,z){return(z=z===Kd?new Dd:z).copy(this.normal).multiplyScalar(-this.distanceToPoint($)).add($)},intersectLine:(Wr=new Dd,function($,z){z===Kd&&(z=new Dd);var C=$.delta(Wr),o=this.normal.dot(C);return 0===o?0===this.distanceToPoint($.start)?z.copy($.start):Kd:(o=-($.start.dot(this.normal)+this.constant)/o)<0||1<o?Kd:z.copy(C).multiplyScalar(o).add($.start)}),intersectsLine:function($){var z=this.distanceToPoint($.start),$=this.distanceToPoint($.end);return z<0&&0<$||$<0&&0<z},intersectsBox:function($){return $.intersectsPlane(this)},intersectsSphere:function($){return $.intersectsPlane(this)},coplanarPoint:function($){return($=$===Kd?new Dd:$).copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:(fr=new Dd,Qr=new Nr,function($,z){return z=z||Qr.getNormalMatrix($),$=this.coplanarPoint(fr).applyMatrix4($),z=this.normal.applyMatrix3(z).normalize(),this.constant=-$.dot(z),this}),translate:function($){return this.constant-=$.dot(this.normal),this},equals:function($){return $.normal.equals(this.normal)&&$.constant===this.constant}}),U.Math.Ray=function($,z,C){this.origin=$!==Kd?$.clone():new Dd,this.direction=z!==Kd?z.clone():new Dd,this.inDisplaySpace=!!C}),HA=(Jd.assign(EA.prototype,{set:function($,z){return this.origin.copy($),this.direction.copy(z),this},setOriginTarget:function($,z,C){return this.origin.copy($),this.direction.subVectors(z,$),this.setMaxHitLength(this.direction.length()*(C||1)),this.direction.normalize(),this},clone:function(){return(new this.constructor).copy(this)},copy:function($){return this.origin.copy($.origin),this.direction.copy($.direction),this.maxHitLen=$.maxHitLen,this},at:function($,z){return(z||new Dd).copy(this.direction).multiplyScalar($).add(this.origin)},setMaxHitLength:function($){this.maxHitLen=$},lookAt:function($){return this.direction.copy($).sub(this.origin).normalize(),this},applyMatrix4:function($){var z,C=this.maxHitLen;return C&&(z=this.direction.clone().multiplyScalar(C).add(this.origin)).applyMatrix4($),this.origin.applyMatrix4($),this.direction.transformDirection($),C&&(this.maxHitLen=this.origin.distanceTo(z)),this},distanceToPlane:function($){var z=$.normal.dot(this.direction);return 0===z?0===$.distanceToPoint(this.origin)?0:null:0<=($=-(this.origin.dot($.normal)+$.constant)/z)?$:null},intersectPlane:function($,z){return null===($=this.distanceToPlane($))?null:this.at($,z)},intersectSphere:(ur=new Dd,function($,z){ur.subVectors($.center,this.origin);var C=ur.dot(this.direction),o=ur.dot(ur)-C*C;return($=$.radius*$.radius)<o?null:(o=C-($=Math.sqrt($-o)),C+=$,o<0&&C<0?null:o<0?this.at(C,z):this.at(o,z))}),intersectEllipsoid:(pr=new Dd,br=new Dd,function($,z){pr.subVectors($.center,this.origin),pr.divide($.radius),br.divideVectors(this.direction,$.radius);var $=br.lengthSq(),C=pr.dot(br),o=pr.dot(pr)*$-C*C;if($<o)return null;var M=(C-(o=Math.sqrt($-o)))/$,C=(C+o)/$;return M<0&&C<0?null:M<0?this.at(C,z):this.at(M,z)}),intersectBox:function($,z){var C,o,M,A=1/this.direction.x,N=1/this.direction.y,s=1/this.direction.z,g=this.origin,A=0<=A?(C=($.min.x-g.x)*A,($.max.x-g.x)*A):(C=($.max.x-g.x)*A,($.min.x-g.x)*A);return(N=0<=N?(M=($.min.y-g.y)*N,($.max.y-g.y)*N):(M=($.max.y-g.y)*N,($.min.y-g.y)*N))<C||A<M?null:((C<M||C!=C)&&(C=M),(N<A||A!=A)&&(A=N),(M=0<=s?(o=($.min.z-g.z)*s,($.max.z-g.z)*s):(o=($.max.z-g.z)*s,($.min.z-g.z)*s))<C||A<o||(A=M<A||A!=A?M:A)<0?null:(N=0<=(C=C<o||C!=C?o:C)?C:A,($=this.maxHitLen)&&$<N?null:this.at(N,z)))},intersectTriangle:(Dr=new Dd,ar=new Dd,kr=new Dd,xr=new Dd,function($,z,C,o,M,A){if(ar.subVectors(z,$),kr.subVectors(C,$),xr.crossVectors(ar,kr),(z=M||0)<(C=this.direction.dot(xr))){if(o)return null}else if(-z<=C)return null;return M=1/C,Dr.subVectors(this.origin,$),(o=M*this.direction.dot(kr.crossVectors(Dr,kr)))<-z||(C=M*this.direction.dot(ar.cross(Dr)))<-z||1+z<o+C||($=-M*Dr.dot(xr))<0||(z=this.maxHitLen)&&z<$?null:this.at($,A)})}),U.Math.Box3=function($,z){this.min=$!==Kd?$:new Dd(1/0,1/0,1/0),this.max=z!==Kd?z:new Dd(-1/0,-1/0,-1/0)}),sr=(Jd.assign(HA.prototype,{set:function($,z){return this.min.copy($),this.max.copy(z),this},setFromArray:function($){for(var z=1/0,C=1/0,o=1/0,M=-1/0,A=-1/0,N=-1/0,s=0,g=$.length;s<g;s+=3){var Y=$[s],v=$[s+1],O=$[s+2];Y<z&&(z=Y),v<C&&(C=v),O<o&&(o=O),M<Y&&(M=Y),A<v&&(A=v),N<O&&(N=O)}return this.min.set(z,C,o),this.max.set(M,A,N),this},setFromPoints:function($){return this.makeEmpty().expandByPoints($)},clone:function(){return(new this.constructor).copy(this)},intersectsBox:function($){return!($.max.x<this.min.x||$.min.x>this.max.x||$.max.y<this.min.y||$.min.y>this.max.y||$.max.z<this.min.z||$.min.z>this.max.z)},copy:function($){return this.min.copy($.min),this.max.copy($.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},getCenter:function($){return $=$||new Dd,this.isEmpty()?$.set(0,0,0):$.addVectors(this.min,this.max).multiplyScalar(.5)},expandByPoint:function($){return this.min.min($),this.max.max($),this},expandByPoints:function($){for(var z=0,C=$.length;z<C;z++)this.expandByPoint($[z]);return this},expandByBox:function($){return this.min.min($.min),this.max.max($.max),this},applyMatrix4:(nr=[new Dd,new Dd,new Dd,new Dd,new Dd,new Dd,new Dd,new Dd],function($){return this.isEmpty()||(nr[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4($),nr[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4($),nr[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4($),nr[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4($),nr[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4($),nr[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4($),nr[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4($),nr[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4($),this.setFromPoints(nr)),this})}),U.Math.Sphere=function($,z){this.center=$!==Kd?$:new Dd,this.radius=z!==Kd?z:0}),gr=(Jd.assign(sr.prototype,{set:function($,z){return this.center.copy($),this.radius=z,this},setFromPoints:(Rr=new HA,function($,z){for(var C=this.center,o=(z!==Kd?C.copy(z):Rr.setFromPoints($).getCenter(C),0),M=0,A=$.length;M<A;M++)o=Math.max(o,C.distanceToSquared($[M]));return this.radius=Math.sqrt(o),this}),clone:function(){return(new this.constructor).copy(this)},copy:function($){return this.center.copy($.center),this.radius=$.radius,this},empty:function(){return this.radius<=0},containsPoint:function($){return $.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function($){return $.distanceTo(this.center)-this.radius},intersectsSphere:function($){var z=this.radius+$.radius;return $.center.distanceToSquared(this.center)<=z*z},intersectsBox:function($){return $.intersectsSphere(this)},intersectsPlane:function($){return Math.abs($.distanceToPoint(this.center))<=this.radius},clampPoint:function($,z){var C=this.center.distanceToSquared($);return(z=z===Kd?new Dd:z).copy($),C>this.radius*this.radius&&(z.sub(this.center).normalize(),z.multiplyScalar(this.radius).add(this.center)),z},getBoundingBox:function($){return($=$===Kd?new HA:$).set(this.center,this.center),$.expandByScalar(this.radius),$},applyMatrix4:function($){return this.center.applyMatrix4($),this.radius=this.radius*$.getMaxScaleOnAxis(),this},translate:function($){return this.center.add($),this},equals:function($){return $.center.equals(this.center)&&$.radius===this.radius}}),U.Math.Frustum=function($,z,C,o,M,A){this.planes=[$!==Kd?$:new GA,z!==Kd?z:new GA,C!==Kd?C:new GA,o!==Kd?o:new GA,M!==Kd?M:new GA,A!==Kd?A:new GA]}),ad=(Jd.assign(gr.prototype,{set:function($,z,C,o,M,A){var N=this.planes;return N[0].copy($),N[1].copy(z),N[2].copy(C),N[3].copy(o),N[4].copy(M),N[5].copy(A),this},clone:function(){return(new this.constructor).copy(this)},copy:function($){for(var z=this.planes,C=0;C<6;C++)z[C].copy($.planes[C]);return this},setFromMatrix:function($){var z=this.planes,C=($=$.el)[0],o=$[1],M=$[2],A=$[3],N=$[4],s=$[5],g=$[6],Y=$[7],v=$[8],O=$[9],t=$[10],c=$[11],y=$[12],_=$[13],P=$[14],$=$[15];return z[0].setComponents(A-C,Y-N,c-v,$-y).normalize(),z[1].setComponents(A+C,Y+N,c+v,$+y).normalize(),z[2].setComponents(A+o,Y+s,c+O,$+_).normalize(),z[3].setComponents(A-o,Y-s,c-O,$-_).normalize(),z[4].setComponents(A-M,Y-g,c-t,$-P).normalize(),z[5].setComponents(A+M,Y+g,c+t,$+P).normalize(),this},intersectsObject:(mr=new sr,function($){var z=$.geometry;return null===z.boundingSphere&&z.computeBoundingSphere(),mr.copy(z.boundingSphere).applyMatrix4($.matrixWorld),this.intersectsSphere(mr)}),intersectsSprite:(hr=new sr,function($){return hr.center.set(0,0,0),hr.radius=.7071067811865476,hr.applyMatrix4($.matrixWorld),this.intersectsSphere(hr)}),intersectsSphere:function($){for(var z=this.planes,C=$.center,o=-$.radius,M=0;M<6;M++)if(z[M].distanceToPoint(C)<o)return!1;return!0},intersectsBox:(Ir=new Dd,function($){for(var z=this.planes,C=0;C<6;C++){var o=z[C];if(Ir.x=(0<o.normal.x?$.max:$.min).x,Ir.y=(0<o.normal.y?$.max:$.min).y,Ir.z=(0<o.normal.z?$.max:$.min).z,o.distanceToPoint(Ir)<0)return!1}return!0}),containsPoint:function($){for(var z=this.planes,C=0;C<6;C++)if(z[C].distanceToPoint($)<0)return!1;return!0}}),U.Math.Matrix4=function(){this.el=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}),iA=(Jd.assign(ad.prototype,{isMatrix4:!0,set:function($,z,C,o,M,A,N,s,g,Y,v,O,t,c,y,_){var P=this.el;return P[0]=$,P[4]=z,P[8]=C,P[12]=o,P[1]=M,P[5]=A,P[9]=N,P[13]=s,P[2]=g,P[6]=Y,P[10]=v,P[14]=O,P[3]=t,P[7]=c,P[11]=y,P[15]=_,this},clone:function(){return(new ad).fromArray(this.el)},fromArray:function($,z){z===Kd&&(z=0);for(var C=this.el,o=0;o<16;o++)C[o]=$[o+z];return this},getElements:function(){return this.el},scale:function($){var z=this.el,C=$.x,o=$.y,$=$.z;return z[0]*=C,z[4]*=o,z[8]*=$,z[1]*=C,z[5]*=o,z[9]*=$,z[2]*=C,z[6]*=o,z[10]*=$,z[3]*=C,z[7]*=o,z[11]*=$,this},translate:function($){var z=this.el,C=$.x||0,o=$.y||0,$=$.z||0;return z[12]+=z[0]*C+z[4]*o+z[8]*$,z[13]+=z[1]*C+z[5]*o+z[9]*$,z[14]+=z[2]*C+z[6]*o+z[10]*$,z[15]+=z[3]*C+z[7]*o+z[11]*$,this},rotate:(wr=new ad,function($){return wr.makeRotationFromQuaternion($),this.multiply(wr)}),prependScale:function($){var z=this.el,C=$.x,o=$.y,$=$.z;return z[0]*=C,z[4]*=C,z[8]*=C,z[12]*=C,z[1]*=o,z[5]*=o,z[9]*=o,z[13]*=o,z[2]*=$,z[6]*=$,z[10]*=$,z[14]*=$,this},prependRotation:(Lr=new ad,function($){return Lr.makeRotationFromQuaternion($),this.premultiply(Lr)}),prependTranslation:function($){var z=this.el,C=$.x||0,o=$.y||0,$=$.z||0,M=z[3],A=z[7],N=z[11],s=z[15];return z[0]+=M*C,z[4]+=A*C,z[8]+=N*C,z[12]+=s*C,z[1]+=M*o,z[5]+=A*o,z[9]+=N*o,z[13]+=s*o,z[2]+=M*$,z[6]+=A*$,z[10]+=N*$,z[14]+=s*$,this},makeRotationFromEuler:function($){var z,C,o,M,A,N,s,g,Y,v,O,t,c=this.el,y=$._x,_=$._y,P=$._z,$=$._order,Z=Math.cos(y),y=Math.sin(y),X=Math.cos(_),_=Math.sin(_),d=Math.cos(P),P=Math.sin(P);return"XYZ"===$?(A=Z*d,N=Z*P,s=y*d,g=y*P,c[0]=X*d,c[4]=-X*P,c[8]=_,c[1]=N+s*_,c[5]=A-g*_,c[9]=-y*X,c[2]=g-A*_,c[6]=s+N*_,c[10]=Z*X):"YXZ"===$?(C=X*P,o=_*d,c[0]=(z=X*d)+(M=_*P)*y,c[4]=o*y-C,c[8]=Z*_,c[1]=Z*P,c[5]=Z*d,c[9]=-y,c[2]=C*y-o,c[6]=M+z*y,c[10]=Z*X):"ZXY"===$?(C=X*P,o=_*d,c[0]=(z=X*d)-(M=_*P)*y,c[4]=-Z*P,c[8]=o+C*y,c[1]=C+o*y,c[5]=Z*d,c[9]=M-z*y,c[2]=-Z*_,c[6]=y,c[10]=Z*X):"ZYX"===$?(A=Z*d,N=Z*P,s=y*d,g=y*P,c[0]=X*d,c[4]=s*_-N,c[8]=A*_+g,c[1]=X*P,c[5]=g*_+A,c[9]=N*_-s,c[2]=-_,c[6]=y*X,c[10]=Z*X):"YZX"===$?(Y=Z*X,v=Z*_,O=y*X,t=y*_,c[0]=X*d,c[4]=t-Y*P,c[8]=O*P+v,c[1]=P,c[5]=Z*d,c[9]=-y*d,c[2]=-_*d,c[6]=v*P+O,c[10]=Y-t*P):"XZY"===$&&(Y=Z*X,v=Z*_,O=y*X,t=y*_,c[0]=X*d,c[4]=-P,c[8]=_*d,c[1]=Y*P+t,c[5]=Z*d,c[9]=v*P-O,c[2]=O*P-v,c[6]=y*d,c[10]=t*P+Y),c[3]=0,c[7]=0,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,this},makeRotationFromQuaternion:function($){var z=this.el,C=$._x,o=$._y,M=$._z,A=M+M,N=C*(Y=C+C),s=C*(v=o+o),C=C*A,g=o*v,o=o*A,Y=($=$._w)*Y,v=$*v,$=$*A;return z[0]=1-(g+(M=M*A)),z[4]=s-$,z[8]=C+v,z[1]=s+$,z[5]=1-(N+M),z[9]=o-Y,z[2]=C-v,z[6]=o+Y,z[10]=1-(N+g),z[3]=0,z[7]=0,z[11]=0,z[12]=0,z[13]=0,z[14]=0,z[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($,z){var C=this.el,o=($=$.el||$)[0],M=$[1],A=$[2],N=$[3],s=$[4],g=$[5],Y=$[6],v=$[7],O=$[8],t=$[9],c=$[10],y=$[11],_=$[12],P=$[13],Z=$[14],X=t*Z*v-P*c*v+P*Y*y-g*Z*y-t*Y*($=$[15])+g*c*$,d=_*c*v-O*Z*v-_*Y*y+s*Z*y+O*Y*$-s*c*$,l=O*P*v-_*t*v+_*g*y-s*P*y-O*g*$+s*t*$,J=_*t*Y-O*P*Y-_*g*c+s*P*c+O*g*Z-s*t*Z,K=o*X+M*d+A*l+N*J;return 0==K?this.identity():(C[0]=X*(K=1/K),C[1]=(P*c*N-t*Z*N-P*A*y+M*Z*y+t*A*$-M*c*$)*K,C[2]=(g*Z*N-P*Y*N+P*A*v-M*Z*v-g*A*$+M*Y*$)*K,C[3]=(t*Y*N-g*c*N-t*A*v+M*c*v+g*A*y-M*Y*y)*K,C[4]=d*K,C[5]=(O*Z*N-_*c*N+_*A*y-o*Z*y-O*A*$+o*c*$)*K,C[6]=(_*Y*N-s*Z*N-_*A*v+o*Z*v+s*A*$-o*Y*$)*K,C[7]=(s*c*N-O*Y*N+O*A*v-o*c*v-s*A*y+o*Y*y)*K,C[8]=l*K,C[9]=(_*t*N-O*P*N-_*M*y+o*P*y+O*M*$-o*t*$)*K,C[10]=(s*P*N-_*g*N+_*M*v-o*P*v-s*M*$+o*g*$)*K,C[11]=(O*g*N-s*t*N-O*M*v+o*t*v+s*M*y-o*g*y)*K,C[12]=J*K,C[13]=(O*P*A-_*t*A+_*M*c-o*P*c-O*M*Z+o*t*Z)*K,C[14]=(_*g*A-s*P*A-_*M*Y+o*P*Y+s*M*Z-o*g*Z)*K,C[15]=(s*t*A-O*g*A+O*M*Y-o*t*Y-s*M*c+o*g*c)*K,this)},invert:function(){return this.getInverse(this)},makeRotationAxis:function($,z){var C=Math.cos(z),z=Math.sin(z),o=1-C,M=$.x,A=$.y,$=$.z,N=o*M,s=o*A;return this.set(N*M+C,N*A-z*$,N*$+z*A,0,N*A+z*$,s*A+C,s*$-z*M,0,N*$-z*A,s*$+z*M,o*$*$+C,0,0,0,0,1),this},multiply:function($){return this.multiplyMatrices(this,$)},premultiply:function($){return this.multiplyMatrices($,this)},multiplyMatrices:function($,z){var $=$.el||$,z=z.el||z,C=this.el,o=$[0],M=$[4],A=$[8],N=$[12],s=$[1],g=$[5],Y=$[9],v=$[13],O=$[2],t=$[6],c=$[10],y=$[14],_=$[3],P=$[7],Z=$[11],$=$[15],X=z[0],d=z[4],l=z[8],J=z[12],K=z[1],f=z[5],Q=z[9],W=z[13],V=z[2],e=z[6],D=z[10],a=z[14],k=z[3],x=z[7],p=z[11],z=z[15];return C[0]=o*X+M*K+A*V+N*k,C[4]=o*d+M*f+A*e+N*x,C[8]=o*l+M*Q+A*D+N*p,C[12]=o*J+M*W+A*a+N*z,C[1]=s*X+g*K+Y*V+v*k,C[5]=s*d+g*f+Y*e+v*x,C[9]=s*l+g*Q+Y*D+v*p,C[13]=s*J+g*W+Y*a+v*z,C[2]=O*X+t*K+c*V+y*k,C[6]=O*d+t*f+c*e+y*x,C[10]=O*l+t*Q+c*D+y*p,C[14]=O*J+t*W+c*a+y*z,C[3]=_*X+P*K+Z*V+$*k,C[7]=_*d+P*f+Z*e+$*x,C[11]=_*l+P*Q+Z*D+$*p,C[15]=_*J+P*W+Z*a+$*z,this},lookAt:(Ur=new Dd,function($,z,C){return Ur.subVectors($,z),this.lookAtDirection(Ur,C)}),lookAtDirection:(ir=new Dd,Fr=new Dd,jr=new Dd,function($,z){z=z||Dd.UP;var C=this.el;return jr.copy($),0===jr.lengthSq()&&(jr.z=1),jr.normalize(),ir.crossVectors(z,jr),0===ir.lengthSq()&&(1===Math.abs(z.z)?jr.x+=1e-4:jr.z+=1e-4,jr.normalize(),ir.crossVectors(z,jr)),ir.normalize(),Fr.crossVectors(jr,ir),C[0]=ir.x,C[4]=Fr.x,C[8]=jr.x,C[1]=ir.y,C[5]=Fr.y,C[9]=jr.y,C[2]=ir.z,C[6]=Fr.z,C[10]=jr.z,this}),extractScale:function($){Hr===Kd&&(Hr=new Dd),$===Kd&&($=new Dd);var z=Hr.setFromMatrixColumn(this,0).length(),C=Hr.setFromMatrixColumn(this,1).length(),o=Hr.setFromMatrixColumn(this,2).length();return $.set(z,C,o),$},extractRotation:function($){Er===Kd&&(Er=new Dd),$===Kd&&($=new ad);var z=this.el,C=$.el,o=1/Er.setFromMatrixColumn($,0).length(),M=1/Er.setFromMatrixColumn($,1).length(),$=1/Er.setFromMatrixColumn($,2).length();return z[0]=C[0]*o,z[1]=C[1]*o,z[2]=C[2]*o,z[4]=C[4]*M,z[5]=C[5]*M,z[6]=C[6]*M,z[8]=C[8]*$,z[9]=C[9]*$,z[10]=C[10]*$,this},multiplyScalar:function($){var z=this.el;return z[0]*=$,z[4]*=$,z[8]*=$,z[12]*=$,z[1]*=$,z[5]*=$,z[9]*=$,z[13]*=$,z[2]*=$,z[6]*=$,z[10]*=$,z[14]*=$,z[3]*=$,z[7]*=$,z[11]*=$,z[15]*=$,this},getPosition:function($){return($=$===Kd?new Dd:$).setFromMatrixColumn(this,3)},setPosition:function($){var z=this.el;return z[12]=$.x,z[13]=$.y,z[14]=$.z,this},copyPosition:function($){var z=this.el,$=$.el;return z[12]=$[12],z[13]=$[13],z[14]=$[14],this},toArray:function($,z){var C=this.el;return($=$===Kd?[]:$)[z=z===Kd?0:z]=C[0],$[z+1]=C[1],$[z+2]=C[2],$[z+3]=C[3],$[z+4]=C[4],$[z+5]=C[5],$[z+6]=C[6],$[z+7]=C[7],$[z+8]=C[8],$[z+9]=C[9],$[z+10]=C[10],$[z+11]=C[11],$[z+12]=C[12],$[z+13]=C[13],$[z+14]=C[14],$[z+15]=C[15],$},determinant:function(){var $=this.el||this,z=$[0],C=$[4],o=$[8],M=$[12],A=$[1],N=$[5],s=$[9],g=$[13],Y=$[2],v=$[6],O=$[10],t=$[14];return $[3]*(+M*s*v-o*g*v-M*N*O+C*g*O+o*N*t-C*s*t)+$[7]*(+z*s*t-z*g*O+M*A*O-o*A*t+o*g*Y-M*s*Y)+$[11]*(+z*g*v-z*N*t-M*A*v+C*A*t+M*N*Y-C*g*Y)+$[15]*(-o*N*Y-z*s*v+z*N*O+o*A*v-C*A*O+C*s*Y)},copy:function($){var z=this.el,$=$.el||$;return z[0]=$[0],z[1]=$[1],z[2]=$[2],z[3]=$[3],z[4]=$[4],z[5]=$[5],z[6]=$[6],z[7]=$[7],z[8]=$[8],z[9]=$[9],z[10]=$[10],z[11]=$[11],z[12]=$[12],z[13]=$[13],z[14]=$[14],z[15]=$[15],this},composeFromArray:function($,z,C){var o,M,A,N,s,g,Y,v,O,z=z?(o=z[0],M=z[1],A=z[2],z[3]):(A=M=o=0,1);return C?(N=C[0],s=C[1],g=C[2]):N=s=g=1,$?(Y=$[0],v=$[1],O=$[2]):Y=v=O=0,this._composeImpl(o,M,A,z,N,s,g,Y,v,O)},compose:function($,z,C){var o,M,A,N,s,g,Y,v,O,z=z?(o=z._x,M=z._y,A=z._z,z._w):(A=M=o=0,1);return C?(N=C.x,s=C.y,g=C.z):N=s=g=1,$?(Y=$.x,v=$.y,O=$.z):Y=v=O=0,this._composeImpl(o,M,A,z,N,s,g,Y,v,O)},_composeImpl:function($,z,C,o,M,A,N,s,g,Y){var v=this.el,O=C+C,t=$*(_=$+$),c=$*(P=z+z),$=$*O,y=z*P,z=z*O,C=C*O,_=o*_,P=o*P,o=o*O;return v[0]=(1-(y+C))*M,v[1]=(c+o)*M,v[2]=($-P)*M,v[3]=0,v[4]=(c-o)*A,v[5]=(1-(t+C))*A,v[6]=(z+_)*A,v[7]=0,v[8]=($+P)*N,v[9]=(z-_)*N,v[10]=(1-(t+y))*N,v[11]=0,v[12]=s,v[13]=g,v[14]=Y,v[15]=1,this},decompose:(Sr=new Dd,Gr=new ad,function($,z,C){var o=this.el,M=Sr.set(o[0],o[1],o[2]).length(),A=Sr.set(o[4],o[5],o[6]).length(),N=Sr.set(o[8],o[9],o[10]).length(),$=(this.determinant()<0&&(M=-M),$.x=o[12],$.y=o[13],$.z=o[14],Gr.copy(this),1/M),o=1/A,s=1/N;return Gr.el[0]*=$,Gr.el[1]*=$,Gr.el[2]*=$,Gr.el[4]*=o,Gr.el[5]*=o,Gr.el[6]*=o,Gr.el[8]*=s,Gr.el[9]*=s,Gr.el[10]*=s,z.setFromRotationMatrix(Gr),C.x=M,C.y=A,C.z=N,this}),equals:function($){for(var z=this.el,C=$.el,o=0;o<16;o++)if(z[o]!==C[o])return!1;return!0},transpose:function(){var $=this.el,z=$[1];return $[1]=$[4],$[4]=z,z=$[2],$[2]=$[8],$[8]=z,z=$[6],$[6]=$[9],$[9]=z,z=$[3],$[3]=$[12],$[12]=z,z=$[7],$[7]=$[13],$[13]=z,z=$[11],$[11]=$[14],$[14]=z,this}}),new ad),FA=new ad,jA=(ad.determinantOfArray=(qr=U.Math.Matrix4.prototype.determinant,function($){return $?qr.call($):0}),ad.multiplyMatrixArray=function($,z,C,o,M,A){var N=$.el||$,z=z.el||z,C=C.el||C,s=z[M+0],g=z[M+4],Y=z[M+8],v=z[M+12],O=z[M+1],t=z[M+5],c=z[M+9],y=z[M+13],_=z[M+2],P=z[M+6],Z=z[M+10],X=z[M+14],d=z[M+3],l=z[M+7],J=z[M+11],z=z[M+15],M=C[A+0],K=C[A+4],f=C[A+8],Q=C[A+12],W=C[A+1],V=C[A+5],e=C[A+9],D=C[A+13],a=C[A+2],k=C[A+6],x=C[A+10],p=C[A+14],b=C[A+3],u=C[A+7],n=C[A+11],C=C[A+15];return N[o+0]=s*M+g*W+Y*a+v*b,N[o+4]=s*K+g*V+Y*k+v*u,N[o+8]=s*f+g*e+Y*x+v*n,N[o+12]=s*Q+g*D+Y*p+v*C,N[o+1]=O*M+t*W+c*a+y*b,N[o+5]=O*K+t*V+c*k+y*u,N[o+9]=O*f+t*e+c*x+y*n,N[o+13]=O*Q+t*D+c*p+y*C,N[o+2]=_*M+P*W+Z*a+X*b,N[o+6]=_*K+P*V+Z*k+X*u,N[o+10]=_*f+P*e+Z*x+X*n,N[o+14]=_*Q+P*D+Z*p+X*C,N[o+3]=d*M+l*W+J*a+z*b,N[o+7]=d*K+l*V+J*k+z*u,N[o+11]=d*f+l*e+J*x+z*n,N[o+15]=d*Q+l*D+J*p+z*C,$},U.Math.Triangle=function($,z,C){this.a=$!==Kd?$:new Dd,this.b=z!==Kd?z:new Dd,this.c=C!==Kd?C:new Dd}),UA=(Jd.assign(jA,{barycoordFromPoint:(rr=new Dd,Br=new Dd,$P=new Dd,function($,z,C,o,M){rr.subVectors(o,z),Br.subVectors(C,z),$P.subVectors($,z);var o=rr.dot(rr),C=rr.dot(Br),$=rr.dot($P),z=Br.dot(Br),A=Br.dot($P),N=o*z-C*C,M=M||new Dd;return 0==N?M.set(-2,-1,-1):M.set(1-(z=(z*$-C*A)*(N=1/N))-(o=(o*A-C*$)*N),o,z)}),uvIntersection:(Tr=new Dd,function($,z,C,o,M,A,N){return jA.barycoordFromPoint($,z,C,o,Tr),M.multiplyScalar(Tr.x),A.multiplyScalar(Tr.y),N.multiplyScalar(Tr.z),M.add(A).add(N),M.clone()})}),U.Math.Euler=function($,z,C,o,M){this.set($,z,C,o,M)}),LA=(UA.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],UA.DefaultOrder="XYZ",UA.ReverseOrder=(zP={xyz:"ZYX",xzy:"YZX",yxz:"ZXY",yzx:"XZY",zxy:"YXZ",zyx:"XYZ"},function($){return zP[$]}),Jd.defineProperties(UA.prototype,{x:{get:function(){return this._x},set:function($){this._x=$,this.onChangeCallback()}},y:{get:function(){return this._y},set:function($){this._y=$,this.onChangeCallback()}},z:{get:function(){return this._z},set:function($){this._z=$,this.onChangeCallback()}},order:{get:function(){return this._order},set:function($){this._order=$,this.onChangeCallback()}}}),Jd.assign(UA.prototype,{isEuler:!0,set:function($,z,C,o,M){return ed($)&&(M=C,o=z,C=$[2],z=$[1],$=$[0]),o?M&&(o=UA.ReverseOrder(o)):o=this._order||"ZYX",this._x=$||0,this._y=z||0,this._z=C||0,this._order=o,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function($){return this._x=$._x,this._y=$._y,this._z=$._z,this._order=$._order,this.onChangeCallback(),this},setFromRotationMatrix:function($,z,C){var o=U.Math.clamp,M=($=$.el||$)[0],A=$[4],N=$[8],s=$[1],g=$[5],Y=$[9],v=$[2],O=$[6],$=$[10];return"XYZ"===(z=z||this._order)?(this._y=Math.asin(o(N,-1,1)),Math.abs(N)<.9999999?(this._x=Math.atan2(-Y,$),this._z=Math.atan2(-A,M)):(this._x=Math.atan2(O,g),this._z=0)):"YXZ"===z?(this._x=Math.asin(-o(Y,-1,1)),Math.abs(Y)<.9999999?(this._y=Math.atan2(N,$),this._z=Math.atan2(s,g)):(this._y=Math.atan2(-v,M),this._z=0)):"ZXY"===z?(this._x=Math.asin(o(O,-1,1)),Math.abs(O)<.9999999?(this._y=Math.atan2(-v,$),this._z=Math.atan2(-A,g)):(this._y=0,this._z=Math.atan2(s,M))):"ZYX"===z?(this._y=Math.asin(-o(v,-1,1)),Math.abs(v)<.9999999?(this._x=Math.atan2(O,$),this._z=Math.atan2(s,M)):(this._x=0,this._z=Math.atan2(-A,g))):"YZX"===z?(this._z=Math.asin(o(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-Y,g),this._y=Math.atan2(-v,M)):(this._x=0,this._y=Math.atan2(N,$))):"XZY"===z?(this._z=Math.asin(-o(A,-1,1)),Math.abs(A)<.9999999?(this._x=Math.atan2(O,g),this._y=Math.atan2(N,M)):(this._x=Math.atan2(-Y,$),this._y=0)):console.warn("unsupported order: "+z),this._order=z,!1!==C&&this.onChangeCallback(),this},setFromQuaternion:(gP=new ad,function($,z,C){return gP.makeRotationFromQuaternion($),this.setFromRotationMatrix(gP,z,C)}),setFromVector3:function($,z){return this.set($.x,$.y,$.z,z||this._order)},reorder:(sP=new hA,function($){return this.order===$?this:(sP.setFromEuler(this),this.setFromQuaternion(sP,$))}),equals:function($){return $._x===this._x&&$._y===this._y&&$._z===this._z&&$._order===this._order},fromArray:function($,z){return this._x=$[z=z===Kd?0:z],this._y=$[z+1],this._z=$[z+2],$[z+3]!==Kd&&(this._order=$[z+3]),this.onChangeCallback(),this},toArray:function($,z){return($=$===Kd?[]:$)[z=z===Kd?0:z]=this._x,$[z+1]=this._y,$[z+2]=this._z,$[z+3]=this._order,$},toVector3:function($){return $?$.set(this._x,this._y,this._z):new Dd(this._x,this._y,this._z)},simpleXYZRotation:function($,z){return $.x=z.x+B.angleMod($.x-z.x),$.y=z.y+B.angleMod($.y-z.y),$.z=z.z+B.angleMod($.z-z.z),$},nearestRotation:(CP=new Dd,oP=new Dd,MP=new Dd,AP=new Dd,NP={X:"x",Y:"y",Z:"z"},function($){ed($)&&($=AP.copy($));var z,C=this.order;return this.simpleXYZRotation(this,$),z=NP[C[0]],MP[z]=x+this[z],z=NP[C[1]],MP[z]=x-this[z],z=NP[C[2]],MP[z]=x+this[z],this.simpleXYZRotation(MP,$),CP.subVectors(this,$),oP.subVectors(MP,$),CP.lengthSq()>oP.lengthSq()&&(this.x=MP.x,this.y=MP.y,this.z=MP.z),this}),onChange:function($){return this.onChangeCallback=$,this},onChangeCallback:function(){}}),YP=new hA,vP=new UA,B.eulerArrayToQuaternionArray=function($,z){return YP.setFromEuler(vP.fromArray($)).toArray(z)},B.eulerArrayToQuaternion=function($){return YP.setFromEuler(vP.fromArray($))},B.quaternionArrayToEulerArray=function($,z,C){return C&&(vP.order=C),vP.setFromQuaternion(YP.fromArray($)).toArray(z)},B.quaternionArrayToEuler=function($,z){return z&&(vP.order=z),vP.setFromQuaternion(YP.fromArray($))},U.Math.Interpolant=function($,z,C,o){this.parameterPositions=$,this._cachedIndex=0,$=z.length/$.length,C&&($/=C),this.resultBuffer=o!==Kd?o:new z.constructor($),this.sampleValues=z,this.valueSize=$,this.settings=null,this.DefaultSettings_={}}),wA=(Jd.assign(LA.prototype,{evaluate:function($){var z,C=this.parameterPositions,o=this._cachedIndex,M=C[o],A=C[o-1];$:{z:{C:{o:if(!($<M)){for(var N=o+2;;){if(M===Kd){if($<A)break o;return o=C.length,this._cachedIndex=o,this.copySampleValue_(o-1,$,A)}if(o===N)break;if(A=M,$<(M=C[++o]))break z}z=C.length;break C}if(A<=$)break $;var s=C[1];for($<s&&(o=2,A=s),N=o-2;;){if(A===Kd)return this._cachedIndex=0,this.copySampleValue_(0,$,M);if(o===N)break;if(M=A,(A=C[--o-1])<=$)break z}z=o,o=0}for(;o<z;){var g=o+z>>>1;$<C[g]?z=g:o=1+g}if(M=C[o],(A=C[o-1])===Kd)return this._cachedIndex=0,this.copySampleValue_(0,$,M);if(M===Kd)return o=C.length,this._cachedIndex=o,this.copySampleValue_(o-1,A,$)}this._cachedIndex=o,this.intervalChanged_(o,A,M)}return this.interpolateImpl(o,A,$,M)},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function($){for(var z=this.resultBuffer,C=this.sampleValues,o=this.valueSize,M=$*o,A=0;A!==o;++A)z[A]=C[M+A];return z},interpolateImpl:function(){},intervalChanged_:function(){}}),Jd.create(LA.prototype).interpolateImpl=function($){return this.copySampleValue_($-1)},Jd.create(LA.prototype).interpolateImpl=function($,z,C,o){for(var M=this.resultBuffer,A=this.sampleValues,N=this.valueSize,s=$*N,g=s-N,Y=(C-z)/(o-z),v=1-Y,O=0;O!==N;++O)M[O]=A[g+O]*v+A[s+O]*Y;return M},Jd.create(LA.prototype).interpolateImpl=function($,z,C,o){for(var M=this.resultBuffer,A=this.sampleValues,N=this.valueSize,s=(C-z)/(o-z),g=$*N,Y=g+N;g!==Y;g+=4)hA.slerpFlat(M,0,A,g-N,A,g,s);return M},Jd.create(LA.prototype).intervalChanged_=function($,z,C){var o=this.parameterPositions,M=$-2,A=$+1,N=o[M],s=o[A];if(N===Kd)switch(this.getSettings_().endingStart){case"ZeroSlope":M=$,N=2*z-C;break;case"WrapAround":N=z+o[M=o.length-2]-o[M+1];break;default:M=$,N=C}if(s===Kd)switch(this.getSettings_().endingEnd){case"ZeroSlope":A=$,s=2*C-z;break;case"WrapAround":s=C+o[A=1]-o[0];break;default:A=$-1,s=z}var g=.5*(C-z),Y=this.valueSize;this._weightPrev=g/(z-N),this._weightNext=g/(s-C),this._offsetPrev=M*Y,this._offsetNext=A*Y},Jd.create(LA.prototype).copySampleValue_=function($){for(var z=this.resultBuffer,C=this.sampleValues,o=this.valueSize,M=$*o*3+o,A=0;A!==o;A++)z[A]=C[M+A];return z},new hA,U.Math.BitArray=function($){$ instanceof wA?this.fromString($.toString()):"string"==typeof $?this.fromString($):(this.size=$=$||0,this.data=new Uint32Array(Math.ceil($/32)))}),qA=(Jd.assign(wA.prototype,{set:function($,z,C){var o=$>>5,$=31&$;C&&1<C?(C=8==C?255:4===C?15:3,z?z&=C:z=0,this.data[o]=this.data[o]&~(C<<$)|z<<$):z?this.data[o]|=1<<$:this.data[o]&=~(1<<$)},get:function($,z){var C=$>>5,$=31&$;return z&&1<z?this.data[C]>>$&(8==z?255:4===z?15:3):0!=(this.data[C]&1<<$)},toString:(OP=["","0","00","000","0000","00000","000000","0000000","00000000"],function(){for(var $,z="",C=0,o=this.data.length;C<o;C++)$=this.data[C].toString(16),z+=OP[8-$.length]+$;return z}),fromString:function($){var z=$.length/8;this.size=32*z,this.data=new Uint32Array(z);for(var C=0;C<z;C++)this.data[C]=qd($.substr(8*C,8),16);return this}}),U.Easing=U.Math.Easing={}),TA=qA.Mode={In:0,Out:1,InOut:2},rA=function(){};Jd.assign(rA.prototype,{setEasingMode:function($){return this.mode=$,this},getEasingMode:function(){return this.mode},easeImpl:function($){return $},ease:function($){return this.mode===TA.Out?1-this.easeImpl(1-$):this.mode===TA.InOut?$<.5?this.easeImpl(2*$)/2:1-this.easeImpl(2*(1-$))/2:this.easeImpl($)}});var BA={},$3=((Td=function($,z){var C,o=$.indexOf("(");if(-1!==o)for(var M=$.substring(o+1,$.length-1).split(","),A=($=$.substring(0,o),C=M.length,BA[$]=[]),N=0;N<C;N++){var s=M[N].split("=");A.push({name:s[0].trim(),value:parseFloat(s[1].trim())})}return(o=function(){rA.call(this),function($,z){var C=BA[$];if(C)for(var o=0;o<C.length;o++){var M=z[o];M===Kd&&(M=C[o].value),this[C[o].name]=M}}.call(this,this.name,arguments)}).prototype=Jd.create(rA.prototype),(o.prototype.constructor=o).prototype.name=$,z&&Jd.assign(o.prototype,z),qA[$]=o})("Discrete",{easeImpl:function($){return $<1?0:1}}),Td("Linear"),Td("Circle",{easeImpl:function($){return 1-Math.sqrt(1-$*$)}}),Td("Quadratic",{easeImpl:function($){return $*$}}),Td("Cubic",{easeImpl:function($){return $*$*$}}),Td("Quartic",{easeImpl:function($){return $*$*$*$}}),Td("Power(power=2)",{easeImpl:function($){var z=Math.max(0,this.power);return Math.pow($,z)}}),Td("Back(amplitude=1)",{easeImpl:function($){return Math.pow($,3)-$*this.amplitude*Math.sin(x*$)}}),Td("Bounce(bounces=3, bounciness=2)",{easeImpl:function($){var z=Math.max(0,this.bounces),C=this.bounciness;C<=1&&(C=1.001);var o=(1-(o=Math.pow(C,z)))/(s=1-C)+.5*o,M=Math.log(-$*o*(1-C)+1)/Math.log(C),A=(M=Math.floor(M))+1,N=(1-Math.pow(C,M))/(s*o),s=$-(A=.5*(N+(1-Math.pow(C,A))/(s*o))),o=A-N;return-Math.pow(1/C,z-M)/(o*o)*(s-o)*(s+o)}}),Td("Elastic(oscillations=3, springiness=3)",{easeImpl:function($){var z=Math.max(0,this.oscillations),C=Math.max(0,this.springiness);return(C=0==C?$:(Math.exp(C*$)-1)/(Math.exp(C)-1))*Math.sin((_d*z+Fd)*$)}}),Td("Exponential(exponent=2)",{easeImpl:function($){return this.exponent<=0?$:(Math.exp(this.exponent*$)-1)/(Math.exp(this.exponent)-1)}}),Td("Sine",{easeImpl:function($){return 1-Math.sin(Fd*(1-$))}}),Td("Bezier(x1=0, y1=0, x2=1, y2=1)",{easeImpl:function($){for(var z=this.x1,C=this.y1,o=this.x2,M=this.y2,A=1-3*o+3*z,N=3*o-6*z,s=3*z,g=$,Y=0;Y<5;Y++){var v=g*g;g-=1/(3*A*v+2*N*g+s)*(v*g*A+N*v+s*g-$),g=Math.min(1,Math.max(0,g))}return 3*Math.pow(1-g,2)*g*C+3*(1-g)*Math.pow(g,2)*M+Math.pow(g,3)}}),tP={"+":qA.Mode.In,"-":qA.Mode.Out,"*":qA.Mode.InOut},cP=me("Linear"),yP={Linear:cP},function($){return $?yP[$]||(yP[$]=me($)):cP}),z3=((LA=function($,z){qA[z]=qA[$]})("Quadratic","Quad"),LA("Quartic","Quart"),LA("Power","Pow"),LA("Exponential","Expo"),LA("Sine","Sin"),z(Qd,{setEasing:Td,createEasing:$3},!0),{}),C3={},o3={},M3={},A3=Qd.checkLoadingTypeForView=function($,z){o3[z]&&!$["_loading_"+z+"_"]&&(M3[z][$["_loading_"+z+"_"]=H3()]=$)},N3=function($,z,C,o){var M,A=M3[$];if(z&&A){for(var N in A)(M=A[N]).invalidateAll&&M.invalidateAll(Kd,$+"Loaded",C),M.redraw&&M.redraw(),M.iv(),delete M["_loading_"+$+"_"];M3[$]={}}else if(o&&!Hv(A))for(var N in A)(M=A[N]).invalidateAll&&M.invalidateAll(Kd,$+"Loading",C),M.redraw&&M.redraw(),M.iv()},s3="placeholderResource",g3=fd,Y3=(M3[s3]={},Qd.addPendingPlaceholder=function($,z){(g3=g3||(o3[s3]={}))[$]||(g3[$]=!0,i3(function(){Qd.removePendingPlaceholder($,!1)},fd,fd,z||1e5))},Qd.removePendingPlaceholder=function($,z){var C;g3&&(delete g3[$],(C=Hv(g3))&&(g3=o3[s3]=fd),N3(s3,C,$,z))},Qd.isLoading=function(){if(Ov)return!0;if(ip)return!0;for(var $ in o3)if(o3[$])return!0;return!1},Qd.countActiveLoadings=function(){var $,z=0;for($ in Ov&&(z+=Jd.keys(Ov).length),ip&&(z+=Jd.keys(ip).length),o3)o3[$]&&(z+=Jd.keys(o3[$]).length);return z},Qd.isMaxConcurrencyReached=function($){return!!($=$||Qd.maxConcurrencyLimit)&&Qd.countActiveLoadings()>$},function(s,g){function Y($,z){(C=M($,z))&&(z=C),c[$]=z,delete t[$];var C=Hv(t);C&&(t=o3[s]=fd),N3(s,C,$,z),c3(s+"::"+$,z)}function v($,z){Y($,z),z&&Qd[C]($,z)}var O,t=fd,c=z3[s]={},y=s.charAt(0).toUpperCase()+s.substr(1),o=(M3[s]={},(g=g||Mv).pattern),M=g.handleLoaded||Nv,A="load"+y+"ByURL",C="handle"+y+"Loaded";C3[A]=function(C,o){if((o=o||C)&&!Qd.isMaxConcurrencyReached()&&!(t=t||(o3[s]={}))[C]){var M=new VV,A=!(t[C]={request:M,url:o});if("string"==typeof o&&(A=qh.test(o),o=Qd.beforeLoadURL(o,C)),o.data){var $=o.data;A&&$&&($=Qd.parse($)),g.delayToNextFrame?i3(function(){v(C,$)}):v(C,$)}else{M.onload=function($){var z=this.status;200===z||0===z||206===z?(z=M.getResponseText(),A&&(z=Qd.parse(z)),v(C,z)):Y(C,Qd["handleUnfound"+y](C,o)||fd)},M.onerror=function($){Y(C,Qd["handleUnfound"+y](C,o)||fd)};var z={};if(z.url=encodeURI(o),z.sync=!1,g.loadingParam)for(var N in g.loadingParam)z[N]=g.loadingParam[N];g.beforeSend&&g.beforeSend(M,z),M.send(z)}}},Qd["get"+y]=function($,z){var C=c[$];return C!==Kd||o&&!o.test($)?(z&&z(C),C):(t3(s+"::"+$,z),C3[A]($),c[$])},Qd["get"+y+"Map"]=function(){return c},"shader"==s?(O=function($,z){if(z===Kd)return delete c[$],void delete dz[$];z&&null!==z.data&&(c[$]=null,dz[$]=null),C3[A]($,z)},Qd.setShader=function(z,$,C){var o,M,A,N;Vd($)&&($.match(/\/\/ *FS/i)||-1<$.indexOf("ShaderX"))?(dz[z]=null,c[z]=$):Vd($)&&Vd(C)?(A=0,N=function(){var $;0<A||(t&&(t[z]&&(($=t[z].request)&&($.onload=$.onerror=Nv,($=$.getXhr())&&($.onload=$.onerror=Nv)),delete t[z]),Hv(t)&&(t=o3[s]=fd)),O(z,o&&M?{data:o+"\n// FS\n"+M}:{data:null}))},$.match(/void\s+main/i)?o=$:(A++,Qd.xhrLoad($,function($){o=$,A--,N()})),C.match(/void\s+main/i)?M=C:(A++,Qd.xhrLoad(C,function($){M=$,A--,N()})),A&&((t=t||(o3[s]={}))[z]={}),N()):O(z,$)}):"shaderChunk"===s?Qd.setShaderChunk=function($,z,C){Vd(z)?(C==Kd&&(z.match(/\n/i)?C=!1:z.match(/\.(glsl|fs|vs|shader|txt|js)$/)&&(C=!0)),C?C3[A]($,z):c[$]=z):z===Kd&&delete c[$]}:Qd["set"+y]=function($,z){(z=Vd(z)&&z.substr(0,12)==Qh?Qd.parse(z):z)===Kd?delete c[$]:av(z)||Dv(z)||null===z?c[$]=z:C3[A]($,z)},Qd[C]=function($,z){},Qd["handleUnfound"+y]=function($,z){}}),v3=(Qd.registerResourceLoader=function($,z){Y3($,z)},function(C){C=C||Qd.resourceLoaderEventTimeout;var N={},s={};function o($,z){var C=N[$];if(C){for(var o=0,M=C.length;o<M;o++)C[o](z);delete N[$];var A=s[$];A&&(zt(A),delete s[$])}}return{add:function($,z){N[$]||(N[$]=[],s[$]=$t(function(){o($,null)},C)),N[$].push(z)},fire:o}}),O3=null,t3=function($,z){z&&(O3=O3||new v3).add($,z)},c3=function($,z){O3&&O3.fire($,z)},y3={ms_ac:function($,z){for(var C=z.ms_ac,o=0;o<C.length;o++)!function($,C){var o="_"+C;$[Qv(C)]=function(){return this[o]},$[Wv(C)]=function($){var z=this[o];this[o]=$,this.fp(C,z,$)}}($,C[o])},ms_listener:function($,z){$.addListeners=function(){var z=this,$=Dh;U.ui&&z instanceof U.ui.Interactor?Qd.uiMockTouch&&($=Wh.concat(Vh).concat(eh)):Qd.mockTouch&&($=Wh.concat(Vh).concat(eh));for(var C=0,o=(z.__events__=$).length;C<o;C++){var M=$[C];"wheel"===M&&!z.handle_wheel&&z.handle_mousewheel&&(z.handle_wheel=function($){mv(z,$)}),z["handle_"+M]&&function(z,$,C){function o($){"mousedown"!==z&&"mouseup"!==z&&"touchstart"!==z&&"touchend"!==z||M_($),C.disabled||C["handle_"+z]($)}var M="__"+z;C[M]||(C[M]=o,Rd($,z,o))}(M,z.getView(),z)}},$.removeListeners=function(){var $=this.__events__;if($){this.__events__=Kd;for(var z,C,o,M,A=0,N=$.length;A<N;A++)this["handle_"+$[A]]&&(z=$[A],C=this.getView(),0,(M=this[o="__"+z])&&(Id(C,z,M),delete this[o]))}}},ms_fire:function($,z){$.mp=function($,z,C){this.addPropertyChangeListener($,z,C)},$.ump=function($,z){this.removePropertyChangeListener($,z)},$.fp=function($,z,C,o,M){return this.firePropertyChange($,z,C,o,M)},$.addPropertyChangeListener=function($,z,C){this._62I||(this._62I=new RK),this._62I.add($,z,C)},$.removePropertyChangeListener=function($,z){this._62I&&this._62I.remove($,z)},$.firePropertyChange=function($,z,C,o,M){if(o){if(o(z,C))return!1}else if(z===C)return!1;return(o=M||{}).property=$,o.oldValue=z,o.newValue=C,o.source=this,(o.data=this)._62I&&this._62I.fire(o),this.onPropertyChanged&&this.onPropertyChanged(o),!0}},ms_attr:function($,z){function M($,z){if(Dv($)&&"dataBindings"in $)for(var C=$.dataBindings,o=C.length-1;0<=o;o--){var M=C[o];if(M.attr===z)return"defaultValue"in M?M:Kd}}$.a=function($,z){if(2===arguments.length)this.setAttr($,z);else{if(!Dv($))return this.getAttr($);for(var C in $)this.setAttr(C,$[C])}return this},$.getAttr=function($,z){if(z===Kd&&(z=1),this._attrObject&&$ in this._attrObject)return this._attrObject[$];if(this.getCurrentDrawingImage){var C=this.getCurrentDrawingImage();if(C=M(C=Vd(C)?Gh[C]:C,$))return C.defaultValue;var o=this.s("shape3d");if(o&&(C=M(Kz(o),$)))return C.defaultValue}return z?e[$]:Kd},$.setAttr=function($,z){this._attrObject||(this._attrObject={});var C=this._attrObject[$];z===Kd?delete this._attrObject[$]:this._attrObject[$]=z,this.fp&&this.fp("a:"+$,C,z)&&this.onAttrChanged&&this.onAttrChanged($,C,z)},$.getSerializableAttrs=function(){var $,z={};for($ in this._attrObject)z[$]=1;return z}},ms_bnb:function($,z){$.getBodyColor=function($){return $.s("body.color")},$.getBorderColor=function($){return $.s("border.color")}},_51o:function($,z){$.mi=function($,z,C){this.addInteractorListener($,z,C)},$.umi=function($,z){this.removeInteractorListener($,z)},$.fi=function($){this.fireInteractorEvent($)},$.addInteractorListener=function($,z,C){this._63I||(this._63I=new RK),this._63I.add($,z,C)},$.removeInteractorListener=function($,z){this._63I&&this._63I.remove($,z)},$.fireInteractorEvent=function($){this._63I&&this._63I.fire($)},$.setInteractors=function($){var z=this._interactors;z&&z.each(function($){$.tearDown()}),ed($)&&($=new L($)),(this._interactors=$)&&$.each(function($){$.setUp()}),this.fp("interactors",z,$),this.invalidateSelection()},$.getInteractors=function(){return this._interactors}},_49o:function($,z){$._44O=fd,$._45O=fd,$.getTopPainters=function(){return this._44O},$.getBottomPainters=function(){return this._45O},$.addTopPainter=function($){this._44O||(this._44O=new L),this._44O.contains($)||(this._44O.add($),this.redraw&&this.redraw())},$.removeTopPainter=function($){this._44O&&(this._44O.remove($),this.redraw&&this.redraw())},$.addBottomPainter=function($){this._45O||(this._45O=new L),this._45O.contains($)||(this._45O.add($),this.redraw&&this.redraw())},$.removeBottomPainter=function($){this._45O&&(this._45O.remove($),this.redraw&&this.redraw())},$._93db=function(z,C){var o=this;o._45O&&o._45O.each(function($){$.draw?$.draw(z,C):$.call(o,z,C)})},$._92db=function(z,C){var o=this;o._44O&&o._44O.each(function($){$.draw?$.draw(z,C):$.call(o,z,C)})}},ms_sm:function($,z){$.sm=function(){return this.getSelectionModel()},$.setSelectableFunc=function($){this.sm().setFilterFunc($)},$.getSelectableFunc=function(){return this.sm().getFilterFunc()},$.getSelectionModel=function(){return this._selectionModel||this.dm().sm()},$.isSelectionModelShared=function(){return!this._selectionModel},$.setSelectionModelShared=function($){var z=this,C=z.sm(),o=!z._selectionModel,M=z.handleSelectionChange,A=z.dm();o!==$&&(z.invalidateSelection&&z.invalidateSelection(),$?(A.sm().ms(M,z),z._selectionModel.ums(M,z),z._selectionModel.dispose(),z._selectionModel=fd):(A.sm().ums(M,z),z._selectionModel=new SK(A),z._selectionModel.ms(M,z)),z.onSelectionModelSharedChanged(),z.fp("selectionModelShared",o,$),z.fireViewEvent({kind:"selectionModelSharedChange",oldValue:o,newValue:$,oldSelectionModel:C,newSelectionModel:z.sm()}))},$.onSelectionModelSharedChanged=function(){this.redraw(),this.invalidateSelection&&this.invalidateSelection()},$.removeSelection=function(){var $=this.dm();$.beginTransaction(),this.sm().toSelection().each($.remove,$),$.endTransaction()},$.selectAll=function(){var z=this;z.sm().ss(z.dm().toDatas(function($){return z.isVisible($)&&z.isSelectable($)}))},$.isSelected=function($){return this.sm().co($)},$.isSelectedById=function($){return!!($=this.dm().getDataById($))&&this.isSelected($)},$.isSelectable=function($){return this.sm().isSelectable($)}},ms_tx:function($,z){$._64I=0,$._65O=0,$.isScrollable=function(){return this.getWidth()<this._64I},$._40o=function(){return this.isScrollable()},$.getLogicalPoint=function($){return X_($,this._canvas||this._view,this.tx(),this.ty?this.ty():0)},$.tx=function($){if($===Kd)return this.getTranslateX();this.setTranslateX($)},$.getTranslateX=function(){return this._65O},$.setTranslateX=function($){var z=this.getWidth()-this._64I,z=($=hd($=0<($=$<z?z:$)?0:$),this._65O);this._65O=$,this.fp(mf,z,$)}},ms_ty:function($,z){$._23Q=0,$._66O=0,$._41o=function(){return this.getHeight()<this._23Q},$.getLogicalPoint=function($){return X_($,this._canvas||this._view,this.tx?this.tx():0,this.ty())},$.ty=function($){if($===Kd)return this.getTranslateY();this.setTranslateY($)},$.getTranslateY=function(){return this._66O},$.setTranslateY=function($){var z=this.getHeight()-this._23Q,z=($=hd($=0<($=$<z?z:$)?0:$),this._66O);this._66O=$,this.fp(Sf,z,$)}},ms_txy:function($,z){$._65O=0,$._66O=0,$.tx=function($){if($===Kd)return this.getTranslateX();this.setTranslateX($)},$.ty=function($){if($===Kd)return this.getTranslateY();this.setTranslateY($)},$.onTranslateEnded=function(){},$.setTranslate=function(z,C,$){var o,M,A=this;($=hv($))?(A._65I&&A._65I.stop(!0),o=A.tx(),M=A.ty(),$.action=function($){A.setTranslate(o+(z-o)*$,M+(C-M)*$)},$._37o=function(){delete A._66I,delete A._65I,A.onTranslateEnded()},A._66I=1,A._65I=w3($)):(A.tx(z),A.ty(C))},$.getTranslateX=function(){return this._65O},$.setTranslateX=function($){$=this.adjustTranslateX($);var z=this._65O;this._65O=$,this.fp(mf,z,$)},$.getTranslateY=function(){return this._66O},$.setTranslateY=function($){$=this.adjustTranslateY($);var z=this._66O;this._66O=$,this.fp(Sf,z,$)},$.adjustTranslateX=function($){return hd($)},$.adjustTranslateY=function($){return hd($)},$.translate=function($,z,C){this.setTranslate(this.tx()+$,this.ty()+z,C)},$.getLogicalPoint=function($){return X_($,this._canvas||this._view,this.tx(),this.ty())}},ms_dm:function($,z){$.dm=function($){if(!$)return this.getDataModel();this.setDataModel($)},$.getDataModel=function(){return this._dataModel}},ms_lp:function($,z){$.lp=function($){return this.getLogicalPoint($)}},ms_v:function($,z){$._disabled=!1,$.setDisabled=function($,z){var C=this._disabled;C!==$&&(C&&(J_(this._63O),delete this._63O),$&&(OX(this._view,this._63O=JX(z)),this.iv()),this._disabled=$,this.fp("disabled",C,$))},$.isDisabled=function(){return this._disabled},$.getDisabledDiv=function(){return this._63O},$.getView=function(){return this._view},$.addToDOM=function($){var z=this,C=z.getView(),o=C.style;($=$||c.body).appendChild(C),o.left="0",o.right="0",o.top="0",o.bottom="0",Rd(u,"resize",function(){z.iv()}),z.iv()},$.setCursor=function($){"default"===$&&($=this._defaultCursor||$);var z=this.getView().style;z.cursor=$,z.cursor="-webkit-"+$,z.cursor="-moz-"+$},$.getWidth=function(){return this._view.clientWidth},$.getHeight=function(){return this._view.clientHeight},$.setWidth=function($){this._view.style.width=$+Vt,this.iv(),this.fp&&this.fp(ht,fd,$)},$.setHeight=function($){this._view.style.height=$+Vt,this.iv(),this.fp&&this.fp(mt,fd,$)},$.setFocus=function($){var z=this._currentEditor;return!($&&z&&(z=z.getView?z.getView():z).contains($.target)||(kX(this._view),this.endEditing&&this.endEditing(),this.fireViewEvent("focus"),0))},$.iv=function($){this.invalidate($)},$.invalidate=function($){this._68I||(this._68I=1,this._ivTimerId=i3(this._validateImpl,this,fd,$),this._ivTimerDelay=$,this.onInvalidated&&this.onInvalidated(),this.fireViewEvent("invalidate"))},$.validate=function(){var $=this._ivTimerId,z=this._ivTimerDelay;!1!==this._validateImpl()&&$&&F3($,z)},$._validateImpl=function(){var $=this,z=$._view;if(!$._68I)return!1;if(delete $._68I,z.parentNode)if(0===z.offsetWidth&&0===z.offsetHeight&&$._67I!==fd)$._67I===Kd&&($._67I=Qd.reinvalidateCount),0<$._67I?$._67I--:$._67I=fd,$.iv();else{$.fireViewEvent("beginValidate"),$.validateImpl(),$.onValidated&&$.onValidated(),$.fireViewEvent("validate");var C,o=$._63O,M=(o&&(z.lastChild!==o&&(J_(o),OX(z,o)),pX(o,0,0,$.getWidth(),$.getHeight())),yv($),jp($),$);for(C in o3)A3(M,C)}},$.layout=function($,z,C,o){1===arguments.length?pX(this,$):pX(this,$,z,C,o)},$.addViewListener=function($,z,C){this._67O||(this._67O=new RK),this._67O.add($,z,C)},$.removeViewListener=function($,z){this._67O.remove($,z)},$.fireViewEvent=function($){this._67O&&(Vd($)&&($={kind:$}),this._67O.fire($)),Qd.viewListener&&Qd.viewListener(this,$)}},ms_tip:function($,z){$.setToolTipEnabled=function($){$?Yt||this._13o||(this.enableToolTip(),this.fp("toolTipEnabled",!1,!0)):this._13o&&(this.disableToolTip(),this.fp("toolTipEnabled",!0,!1))},$.isToolTipEnabled=function(){return!!this._13o},$.enableToolTip=function(){var $,C=this;Yt||C._13o||(C._13o=function($){var z;$.toolTipView||((z=($.toolTipView=C).getToolTip($))!=fd?(Qd.toolTipContinual&&Qd.isToolTipShowing()?l3($,z):(J3(),xh={timeout:$t(nh,Z3),e:$,info:z}),ph={e:$,view:C}):J3())},$=C.getView(),Rd($,_h,C._13o),Rd($,"mouseleave",Qd.hideToolTip))},$.disableToolTip=function(){var $;this._13o&&($=this.getView(),Id($,_h,this._13o),Id($,"mouseleave",Qd.hideToolTip),delete this._13o)},$.getToolTip=function($){return this.getDataAt?($=this.getDataAt($))?$.getToolTip():fd:this.getValue?this.getValue():void 0}},_52o:function($,z){$._zoom=1,$._29I=Yv,$.zoomIn=function($,z){this.setZoom(this._zoom*b3,$,z)},$.zoomOut=function($,z){this.setZoom(this._zoom/b3,$,z)},$.zoomReset=function($,z){this.setZoom(1,$,z)},$.scrollZoomIn=function($){this.setZoom(this._zoom*u3,fd,$)},$.scrollZoomOut=function($){this.setZoom(this._zoom/u3,fd,$)},$.pinchZoomIn=function($){this.setZoom(this._zoom*n3,fd,$)},$.pinchZoomOut=function($){this.setZoom(this._zoom/n3,fd,$)},$.adjustZoom=function($){return $<I3?I3:R3<$?R3:$},$.getZoom=function(){return this._zoom},$.setZoom=function(z,$,C){var o,M=this;($=hv($))?(M._14o&&M._14o.stop(!0),o=M._zoom,$.action=function($){M._96O(o+(z-o)*$,C)},$._37o=function(){delete M._zooming,delete M._14o,M.onZoomEnded()},M._zooming=1,M._14o=w3($)):M._96O(z,C)},$._96O=function($,z){var C,o;($=this.adjustZoom($))!==this._zoom&&(this.validate(),C=this._29I,o=this._zoom,0!==C.width&&0!==C.height&&(z=z||{x:C.x+C.width/2,y:C.y+C.height/2},this.tx((z.x-C.x)*o-z.x*$),this.ty((z.y-C.y)*o-z.y*$)),this._zoom=$,this.fp("zoom",o,$))}},ms_edge:function($,z){$._2I=function($){this._44I||(this._44I=new L),this._42I||(this._42I=new L),this._44I.add($),this._42I.add($),this._20I()},$._4I=function($){this._44I||(this._44I=new L),this._43I||(this._43I=new L),this._44I.add($),this._43I.add($),this._20I()},$._16I=function($){this._44I.remove($),this._42I.remove($),this._44I.isEmpty()&&delete this._44I,this._42I.isEmpty()&&delete this._42I,this._20I()},$._18I=function($){this._44I.remove($),this._43I.remove($),this._44I.isEmpty()&&delete this._44I,this._43I.isEmpty()&&delete this._43I,this._20I()},$._20I=function(){var z,C=this;delete C._45I,!C._44I||C._44I.isEmpty()?delete C._70O:(C._44I.each(function($){$.isLooped()&&!(z=z||{})[$._id]&&(C._45I||(C._45I=new L),C._45I.add($),z[$._id]=$)}),z?(C._70O=new L,C._44I.each(function($){z[$._id]?"A"!==z[$._id]&&(z[$._id]="A",C._70O.add($)):C._70O.add($)})):C._70O=C._44I)},$.hasAgentEdges=function(){return!!this._49I&&!this._49I.isEmpty()},$.getSourceAgentEdges=function(){return this._46I},$.getTargetAgentEdges=function(){return this._47I},$._1I=function($){this._46I||(this._46I=new L),this._48I||(this._48I=new L),this._46I.add($),this._48I.add($),this._19I()},$._3I=function($){this._47I||(this._47I=new L),this._48I||(this._48I=new L),this._47I.add($),this._48I.add($),this._19I()},$._15I=function($){this._46I.remove($),this._48I.remove($),this._46I.isEmpty()&&delete this._46I,this._48I.isEmpty()&&delete this._48I,this._19I()},$._17I=function($){this._47I.remove($),this._48I.remove($),this._47I.isEmpty()&&delete this._47I,this._48I.isEmpty()&&delete this._48I,this._19I()},$._19I=function(){var z,C=this,$=(delete C._49I,C._48I);$&&!$.isEmpty()&&(z={},$.each(function($){z[$._id]?C._49I||(C._49I=new L):z[$._id]=$}),C._49I?$.each(function($){z[$._id]&&(C._49I.add($),delete z[$._id])}):C._49I=$)},$.getLoopedEdges=function(){return this._45I},$.getEdges=function(){return this._70O},$.getAgentEdges=function(){return this._49I},$.getSourceEdges=function(){return this._42I},$.getTargetEdges=function(){return this._43I},$._8I=function(){this._70O&&this._70O.each(function($){$._7I()})}}},_3=(z(Qd,{getVersion:function(){return"8.1.0-preview-dev1"}},!0),function($){return $.devicePixelRatio||($.screen&&$.screen.logicalXDPI?$.screen.deviceXDPI/$.screen.logicalXDPI:1)}),P3=(z(Qd,{numberDigits:5,crossOrigin:"",baseZIndex:Kd,isTouchable:Yt,mockTouch:!Mt,devicePixelRatio:_3(u),reinvalidateCount:3,hitMaxArea:3e3,imageCacheThreshold:20,autoMakeVisible:!0,autoHideScrollBar:!0,disabledOpacity:.4,disabledBackground:m.disabledBackground,forceHierarchicalSerialization:!0,extractBatchTranslation:!1,extractShapeTranslation:!1,extractPolylineTranslation:!1,extractVerticesTranslation:!1,ignoreHTMLZoom:!0,touchHitTolerance:5,mouseHitTolerance:3,envmapProbeMinWaitTime:300,envmapProbeMaxWaitTime:25e3,EnvmapTextureSize:1024,hoverDelay:600,clickDelay:200,toolTipDelay:800,toolTipContinual:!1,getDragger:function(){return RX},lineCap:"butt",lineJoin:"round",imageGradient:"linear.northeast",dashPattern:[16,16],blockMinSize:1,textExtraWidth:4,encodeStringKey:null,doubleClickSpeed:500,doubleClickRange:1,doubleTouchRange:20,checkDoubleClickTarget:!1,touchMoveThreshold:10,animDuration:200,animEasing:function($){return $*$},labelColor:Mr,labelSelectColor:Ar,labelFont:"12px arial, sans-serif",widgetIndent:Yt?30:20,widgetRowHeight:Yt?30:20,widgetHeaderHeight:Yt?32:22,widgetTitleHeight:Yt?34:24,scrollBarColor:X,scrollBarSize:7,scrollBarTimeout:1e3,scrollBarMinLength:20,scrollBarInteractiveSize:Yt?32:16,zoomIncrement:1.3,scrollZoomIncrement:1.05,pinchZoomIncrement:1.08,pinchZoomThreshold:1,zoomMax:20,zoomMin:.01,segmentResolution:12,shapeResolution:24,shapeSide:24,resourceLoaderEventTimeout:3e5,blockThroughContinuous:!1,globalFuncMap:{},intersectionLineRect:Lv,intersectionLineLine:wv,isEnter:$x,isEsc:zx,isDelete:iX,isSpace:BX,isLeft:wX,isUp:qX,isRight:TX,isDown:rX,isTouchEvent:uX,getTarget:function($){return(uX($)?bX($):$).target},isString:Vd,isNumber:Vv,isBoolean:ev,isArray:ed,isSelectAll:HX,isFunction:av,isObject:Dv,getPropertyValue:qv,setPropertyValue:Tv,addMethod:z,createGradient:function($,z,C,o,M,A,N,s){return(0,ux[z])($,C,o,M,A,N,s)},appendToScreen:function($){$=$.getView?$.getView():$,(c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement||c.msFullscreenElement||c.body).appendChild($)},encodeString:function($){return U.Math.encodeBase64($,Qd.encodeStringKey)},decodeString:function($){return U.Math.decodeBase64($,Qd.encodeStringKey)},findView:function($){function z($,z){for(var C,o,M=-1,A=null,N="2d"===z?Pm.GraphView:w.Graph3dView,s=0,g=$.length;s<g;s++)$[s]instanceof N&&M<(o=(C=$[s]).getWidth()*C.getHeight())&&(M=o,A=C);return A}var C=[];return Qd.traverse(c.body,function($){$._ht&&C.push($._ht)},null,"children"),"all"===$?C:"2d"===$?z(C,"2d"):"3d"===$?z(C,"3d"):z(C,"3d")||z(C,"2d")},toggleFullscreen:function(z){var C,o,M,A,N,s,g,$,Y,v,O=!!z.getView,t=O?z.getView():z;c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement||c.msFullscreenElement?c.exitFullscreen?c.exitFullscreen():c.msExitFullscreen?c.msExitFullscreen():c.mozCancelFullScreen?c.mozCancelFullScreen():c.webkitExitFullscreen&&c.webkitExitFullscreen():(C=!0,v=z.isSelfViewEvent?(o=z.getX(),M=z.getY(),s=z.getWidth(),g=z.getHeight(),$=t.style.background,Y=t.style.backgroundColor,$||Y||(t.style.backgroundColor="white"),t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(),setInterval(function(){var $;t!==(c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement||c.msFullscreenElement)?(clearInterval(v),z.setX(o),z.setY(M),z.setWidth(s),z.setHeight(g),z._fullscreen=!1,t.style.oldBackgroundColor=Y,z.iv()):($=U.Default.getWindowInfo(),!C&&$.width===z.getWidth()&&$.height===z.getHeight()||(z.setX($.left),z.setY($.top),z.setWidth($.width),z.setHeight($.height),z._fullscreen=!0,z.iv(),C=!1))},500)):(A=t.style.left,N=t.style.top,s=t.style.width,g=t.style.height,$=t.style.background,Y=t.style.backgroundColor,$||Y||(t.style.backgroundColor="white"),t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(),setInterval(function(){var $;t!==(c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement||c.msFullscreenElement)?(clearInterval(v),t.style.left=A,t.style.top=N,t.style.width=s,t.style.height=g,t.style.oldBackgroundColor=Y,O&&z.iv()):($=U.Default.getWindowInfo(),O&&(C||$.width!==z.getWidth()||$.height!==z.getHeight())&&(pX(z),C=!1))},500)))},appendTimeStamp:function($){return $},drawCompType:function($,z,C,o,M,A){$(z,C,o,M,A)},numberListener:(RP={46:1,8:1,9:1,27:1,13:1,109:1,110:1,189:1,190:1},function($){var z=$.keyCode;RP[z]||65===z&&Qd.isCtrlDown($)||86===z&&Qd.isCtrlDown($)||67===z&&Qd.isCtrlDown($)||88===z&&Qd.isCtrlDown($)||35<=z&&z<=40||($.shiftKey||z<48||57<z)&&(z<96||105<z)&&$.preventDefault()}),ignoreKeyCodes:[122,123],preventDefault:function($){var z=$.target.tagName;"DIV"!==z&&"CANVAS"!==z||0<=Qd.ignoreKeyCodes.indexOf($.keyCode)||!("keydown"!==$.type||wX($)||TX($)||qX($)||rX($)||iX($)||65===$.keyCode&&($.metaKey||$.ctrlKey))||!0!==$.cancelable||($.preventDefault(),$.preventManipulation&&$.preventManipulation())},getWindowInfo:function(){var $=c.documentElement;return{target:$=$&&($.scrollLeft||$.scrollTop)?$:c.body,left:$.scrollLeft,top:$.scrollTop,width:u.innerWidth||$.clientWidth,height:u.innerHeight||$.clientHeight}},isDragging:function(){return!!RX},isLeftButton:function($){return!!uX($)||0===$.button},isMiddleButton:function($){return!uX($)&&$&&(1===$.button||4&($.buttons||0))},isRightButton:function($){return!uX($)&&$&&(2===$.button||2&($.buttons||0))},isInput:function($){return!!$&&("INPUT"===($=$.tagName)||"TEXTAREA"===$||"SELECT"===$)},getTouchCount:function($){return uX($)?$.touches.length:1},isDoubleClick:(nP={},mh=new V,r=mh.getTime(),function($){if(1<o_($))return!1;var z=$.button==fd?"":$.button,C=(z=$.type+z)+"_isDoubleClick",o=(o=nP[z])||(nP[z]={details:0,timeout:null,lastPoint:null});return $[C]===Kd&&($[C]=!0,z=s_($),o.timeout&&(zt(o.timeout),o.timeout=null),C=uX($)?Qd.doubleTouchRange:Qd.doubleClickRange,o.lastPoint&&Y_(o.lastPoint,z)>C&&qe(o),o.lastPoint=z,o.details++,o.timeout=$t(function(){qe(this)}.bind(o),Qd.doubleClickSpeed)),2===o.details}),isShiftDown:function($){return $?$.shiftKey:jh[16]},isCtrlDown:function($){return $?gt?$.metaKey:$.ctrlKey:gt?jh[91]:jh[17]},getClientPoint:function($){return{x:($=uX($)?bX($):$).clientX,y:$.clientY}},isMouseEvent:function($){return $ instanceof MouseEvent||0===$.type.indexOf("mouse")},getTargetElement:function($){var z=g_($),C=Qd.isMouseEvent($)||!c.elementFromPoint?$.target:c.elementFromPoint(z.x,z.y);if(Mt&&c.elementFromPoint){for(var o=[],M=[];"none"===C.style.pointerEvents;)o.push(C),M.push(C.style.display||""),C.style.display="none",C=c.elementFromPoint(z.x,z.y);o.forEach(function($,z){$.style.display=M[z]})}return C},getPagePoint:function($){return{x:($=uX($)?bX($):$).pageX,y:$.pageY}},createObject:function($,z){var C,o=new $;for(C in z){var M,A=z[C];av(A)?o[C]=A:0===C.indexOf("s:")?o.s(C.substr(2),z[C]):0===C.indexOf("a:")?o.a(C.substr(2),z[C]):(M=Wv(C),A=z[C],o[M]?(o[M](A),"setToolTip"===M&&o.enableToolTip&&o.enableToolTip()):o[C]=A)}return o},setImage:function($,z,C,o){var M=arguments.length;4===M?_v($,o,z,C):2===M?Vd(z)?z.substr(0,12)==Qh?cv($,Qd.parse(z)):_v($,z):cv($,z):1===M&&_v($,$)},getImage:function($,z,C,o){var M,A;return av(z)&&(o=z,z=null),$==fd?(o&&o(fd),fd):(Dv($)?M=$:(M=Gh[$],$&&M===Kd&&(t3($,o),o=null,Ov&&Ov[$]||(_v($,$),M=Gh[$]))),z&&M&&M.tagName?(M[$="override"===C?"colors_override":"override_rgb"===C?"colors_override_rgb":"override_a"===C?"colors_override_a":"colors"]||(M[$]={__count__:0}),(A=M[$][z])||(M[$].__count__>Qd.imageCacheThreshold&&(M[$]={__count__:0}),A=function($,z,C,o,M){var A=sX(),N=(A.width=C,A.height=o,A.getContext("2d"));N.drawImage($,0,0,C,o);try{for(var s=N.getImageData(0,0,C,o),g=s.data,Y=0,v=g.length;Y<v;Y+=4){var O=g[Y+0],t=g[Y+1],c=g[Y+2],y=g[Y+3];"override_a"===M?g[Y+3]=255*z[3]:"override_rgb"===M?(g[Y+0]=255*z[0],g[Y+1]=255*z[1],g[Y+2]=255*z[2]):"override"===M?(g[Y+0]=255*z[0],g[Y+1]=255*z[1],g[Y+2]=255*z[2],g[Y+3]=255*z[3]):(g[Y+0]=z[0]*O,g[Y+1]=z[1]*t,g[Y+2]=z[2]*c,g[Y+3]=z[3]*y)}N.putImageData(s,0,0)}catch(z){return $}return A}(M,Yx(z),M.width,M.height,C),M[$][z]=A,M[$].__count__++),o&&o(A),A):(o&&o(M),M))},isImageComplete:function($,z,C){var o=j($);if(!o)return!1;if(o.tagName)return"CANVAS"===o.tagName||("VIDEO"===o.tagName?2<=o.readyState:o.complete);for(var M=o.comps,A=!0,N=0,s=M.length;N<s;N++){var g,Y=(g=M[N]).type;if("image"===g.type){if(($=g.name)&&$.func&&($=E($,z)),!S3($,z,C)){A=!1;break}}else if(qh.test(Y)&&Qd.getCompType(Y)===Kd){A=!1;break}}return A},getId:(uP=1,function(){return++uP}),callLater:function($,z,C,o){function M(){$.apply(z,C)}return o?$t(M,o):u.requestAnimationFrame(M)},cancelLater:function($,z){z?zt($):u.cancelAnimationFrame($)},clone:function($){if(null==$||"object"!=typeof $)return $;if($ instanceof Date)return(z=new Date).setTime($.getTime()),z;if($ instanceof Array){for(var z=[],C=0,o=$.length;C<o;C++)z[C]=U3($[C]);return z}if(b_)for(C=0,o=b_.length;C<o;C++)if($ instanceof b_[C])return new b_[C]($);if($ instanceof L){for(z=new L,C=0,o=$.length;C<o;C++)z.set(C,U3($.get(C)));return z}if($ instanceof hK)return $;if($ instanceof mK)return(z=new mK).deserialize($.serialize()),z;if($ instanceof Jd){var M,z={};for(M in $)$.hasOwnProperty(M)&&(z[M]=U3($[M]));return z}return $},callWhenLoaded:function($,z){var C=hh($,z=z||100);(Ih=Ih||{})[C]={tick:C,cb:$,delay:z}},beforeLoadURL:function($,z){if(Ih){var C={};for(z in Ih){var o=Ih[z],M=(zt(o.tick),hh(o.cb,o.delay));C[M]={tick:M,delay:o.delay,cb:o.cb}}Ih=C}return Qd.convertURL?Qd.convertURL($,z):$},convertURL:function($){return $},handleRefGraphLoaded:function($,z,C){},handleImageLoaded:function($,z){},handleUnfoundImage:function($,z){return Qd.getImage("default_blank")},resizeImage:function($,z,C,o){C=C||z;var M=(o=o||sX()).getContext("2d");return vX(o,z,C,1),M.drawImage($,0,0,z,C),o},resizeImagePOT:function($,z,C){if(!$||!$.tagName)return $;var o,M=$.width,A=$.height;return M&&A&&(!B.isPOT(M)||!B.isPOT(A)||z&&M!==A)?(z=z?o=B.nearestPOT(Math.min(M,A)):(o=B.nearestPOT(M),B.nearestPOT(A)),Qd.resizeImage($,o,z,C)):$},sortFunc:function($,z){if($===z)return 0;if($==fd&&z!=fd)return 1;if($!=fd&&z==fd)return-1;if($==fd&&z==fd)return 0;var C,o=typeof $,M=typeof z;return o==Ah&&M==Ah?C=$.localeCompare(z):o==Yh&&M==Yh&&(C=$-z),0<(C=C===Kd?(""+$).localeCompare(""+z):C)?1:C<0?-1:0},getClassMap:function(){return Sh},getClass:function($){if(Vd($)){if(!(C=Sh[$])){for(var z=$.split("."),C=u,o=0;o<z.length;o++)C=C[z[o]];Sh[$]=C}return C}return $},def:function($,z,C){function o(){}var M,A,N;if(o.prototype=z.prototype,M=new o,Vd($)){if(Sh[$])throw"'"+$+"' already defined";N=L3($),M.getClassName=function(){return $}}else N=$;if(M.constructor=N,M.getClass=function(){return N},M.getSuperClass=function(){return z},C)for(A in C)y3[A]&&y3.hasOwnProperty(A)?y3[A](M,C):Hx(M,C,A);N.prototype=M,N.superClass=z.prototype},startAnim:function(z){return(z=U3(z)).easing=z.easing||Qd.animEasing,z.duration||z.frames||(z.duration=Qd.animDuration),z.t=0,z.duration?z.interval=0:(z.frame=0,z.interval=z.interval||10),z.tick=function(){var $;z.duration?($=(Xv()-z.startTime)/z.duration,z.t=$=1<$?1:$,z.action(z.easing($),$),z.isRunning()&&(1===$?z.stop():z._isPaused||(z.timeId=i3(z.tick)))):(z.frame++,$=z.t=z.frame/z.frames,z.action(z.easing($),$),z.isRunning()&&(z.frame<z.frames?z._isPaused||(z.timeId=i3(z.tick,fd,fd,z.interval)):z.stop()))},z.resume=function(){z._isPaused&&(delete z._isPaused,z.duration?z.t<1&&(z.startTime=Xv()-z.duration*z.t,z.timeId=i3(z.tick)):z.frame<z.frames&&(z.timeId=i3(z.tick,fd,fd,z.interval)))},z.pause=function(){F3(z.timeId,!z.duration),z._isPaused=!0},z.isPaused=function(){return this._isPaused},z.stop=function($){z.isRunning()&&(F3(z.timeId,!z.duration),delete z.timeId,z.duration?z.t<1&&$&&(z.t=1,z.action(z.easing(1),1)):z.frame<z.frames&&$&&(z.frame=z.frames,z.action(z.easing(1),1)),z._37o&&z._37o(),z.finishFunc&&z.finishFunc())},z.isRunning=function(){return z.timeId!=fd},z.delay?i3(we,fd,[z],z.delay):we(z),z},getTextSize:(pP={},bP=c?sX().getContext("2d"):fd,function($,z){return bP.font=$||V3,($=pP[bP.font])||($=2*bP.measureText("e").width+4,pP[bP.font]=$),{width:bP.measureText(z).width+Qd.textExtraWidth,height:$}}),drawText:function($,z,C,o,M,A,N,s,g,Y,v){var O,t;z!=fd&&(O=B3(C,z),(t={}).y=Y&&Y!==Jt?Y===Zt?A+O.height/2:A+s-O.height/2:A+s/2,t.x=g&&g!==_t?g===Pt?M+N-O.width/2:M+N/2:M+O.width/2,ZX($,z,t,C,o),v&&yX($,z,C,o,t.x,t.y,O.width,v))},getDistance:function($,z){var C=$.length;return z?3===C?Gd(Bd($[0]-z[0])+Bd($[1]-z[1])+Bd($[2]-z[2])):2===C?Gd(Bd($[0]-z[0])+Bd($[1]-z[1])):$.z===Kd?Gd(Bd(z.x-$.x)+Bd(z.y-$.y)):Gd(Bd(z.x-$.x)+Bd(z.y-$.y)+Bd(z.z-$.z)):3===C?Gd(Bd($[0])+Bd($[1])+Bd($[2])):2===C?Gd(Bd($[0])+Bd($[1])):void 0},brighter:function($,z){return Zx($,(z=z<0?-z:z)||40)},darker:function($,z){return Zx($,(z=0<z?-z:z)||-40)},traverse:(xP={},function($,z,C,o){var M,g;(M=(M=xP[o=o||""])?M:xP[o]=(g=o,function $(z,C,o,M){var A;if(o&&o(z,C),A=(A=""===g?z.getChildren():z[g])instanceof U.List?A.getArray():A)for(var N=0,s=A.length;N<s;N++)$(A[N],z,o,M);M&&M(z,C)}))($,null,z,C)}),unionPoint:function($,z){if(!$)return fd;if(2===arguments.length)return $&&z?{x:od($.x,z.x),y:od($.y,z.y),width:I($.x-z.x),height:I($.y-z.y)}:fd;var C=$;if((C=C._as||C).length===Kd)return fd;var o=C.length;if(o<=0)return fd;for(var M=1,A={x:(N=C[0]).x,y:N.y,width:0,height:0};M<o;M++){var N=C[M],s=od(A.x,N.x),g=Cd(A.x+A.width,N.x),Y=od(A.y,N.y),v=Cd(A.y+A.height,N.y);A.x=s,A.y=Y,A.width=g-s,A.height=v-Y}return A},unionRect:function($,z){return $&&!z?U3($):!$&&z?U3(z):$&&z?((C={x:od($.x,z.x),y:od($.y,z.y)}).width=Cd($.x+$.width,z.x+z.width)-C.x,C.height=Cd($.y+$.height,z.y+z.height)-C.y,C):fd;var C},containsPoint:function($,z,C,o){var M,A,N,s;return o!=fd&&1!==o&&(M=$.x+$.width/2,A=$.y+$.height/2,$={x:M-$.width/2*o,y:A-$.height/2*o,width:$.width*o,height:$.height*o}),C?(M=$.width/2,A=$.height/2,o=yd(-C),C=Wd(-C),N=z.x-$.x-M,s=z.y-$.y-A,t_({x:-M,y:-A,width:$.width,height:$.height},z={x:C*N-o*s,y:o*N+C*s})):!(!$||z.x<$.x||z.y<$.y||z.x>$.x+$.width||z.y>$.y+$.height)},containsRect:function($,z){if(!$||!z)return!1;var C=z.x,o=z.y,M=z.width,z=z.height,A=$.width,N=$.height;if((A|N|M|z)<0)return!1;var s=$.x,$=$.y;if(C<s||o<$)return!1;if(A+=s,(M+=C)<=C){if(s<=A||A<M)return!1}else if(s<=A&&A<M)return!1;if(N+=$,(z+=o)<=o){if($<=N||N<z)return!1}else if($<=N&&N<z)return!1;return!0},intersectsRect:function($,z){if(!$||!z)return!1;var C=z.width,o=z.height,M=$.width,A=$.height;if(M<=0||A<=0||C<=0||o<=0)return!1;var N=z.x,z=z.y,s=$.x;return A+=$=$.y,C+=N,o+=z,N<(M+=s)&&z<A&&s<C&&$<o},intersection:function($,z){if(!$||!z)return fd;var C=z.x,o=z.y,M=$.x,A=$.y,N=C,s=o,g=M,Y=A;return N+=z.width,s+=z.height,(g+=$.width)<N&&(N=g),(Y+=$.height)<s&&(s=Y),s-=o=o<A?A:o,(N-=C=C<M?M:C)<=0||s<=0?fd:{x:C,y:o,width:N,height:s}},grow:function($,z,C){C===Kd&&(C=z),$.x-=z,$.y-=C,$.width=$.width+2*z,$.height=$.height+2*C},getScreenPoint:function($,z,C,o,M,A,N){var s=C.getBoundingClientRect(),$=$*(A||1)-C.scrollLeft+(o||0),A=z*(N||1)-C.scrollTop+(M||0);return(o=Ex(C,!1))?((z=new Dd($,A,0)).applyMatrix4(o),{x:z.x,y:z.y}):{x:$+s.left,y:A+s.top}},getLogicalPoint:function($,z,C,o,M,A){var N,s=z.getBoundingClientRect(),g=$.target?(N_($)?gt?jh[91]=!0:jh[17]=!0:gt?jh[91]=!1:jh[17]=!1,A_($)?jh[16]=!0:jh[16]=!1,N=($=uX($)?bX($):$).clientX,$.clientY):(N=$.x,$.y),Y=Ex(z,!0);if(Y){var v=new Dd(N,g,0);v.applyMatrix4(Y);do{if(Math.abs(v.z)<=1e-6)break;var O=new Dd(N,g,1);if(O.applyMatrix4(Y),Math.abs(O.z)<=1e-6){v=O;break}}while(O.sub(v),!(Math.abs(O.z)<=1e-6)&&(v.addScaledVector(O,-v.z/O.z),0));return{x:(v.x+z.scrollLeft-(C||0))/(M||1),y:(v.y+z.scrollTop-(o||0))/(A||1)}}return{x:(N-s.left+z.scrollLeft-(C||0))/(M||1),y:(g-s.top+z.scrollTop-(o||0))/(A||1)}},removeHTML:function($){return!(!($=$&&$.getView?$.getView():$)||!$.parentNode||(kP!==$&&((kP=$).parentNode.removeChild($),kP=fd),0))},getToolTipDiv:function(){var $;return ah||(ah=NX(),kh=NX(),$=ah.style,Qd.baseZIndex!=fd&&($.zIndex=qd(Qd.baseZIndex)+3+""),$.whiteSpace="nowrap",$.color=Qd.toolTipLabelColor,$.background=Qd.toolTipBackground,$.font=Qd.toolTipLabelFont,$.padding="5px",$.boxShadow="0px 0px 3px "+Qd.toolTipShadowColor),ah},isToolTipShowing:function(){return!(!ah||!ah.parentNode)||!(!kh||!kh.parentNode)},updateToolTipContent:function($,z){Qd.isToolTipShowing()&&(z=z||ph&&ph.view,($=$===Kd&&z&&ph.e?z.getToolTip(ph.e):$)!=fd&&(($.html?($=$.html,kh):ah).innerHTML=$))},hideToolTip:function(){var $;uh(),Qd.isToolTipShowing()&&(J_(ah),J_(kh),($=ph&&ph.view)&&$.onHideToolTip&&$.onHideToolTip(),ph=fd)},showToolTip:function($,z,C){var o,M,A,N,s,g;$&&z!=fd?(Qd.getToolTipDiv(),z.html?(z=z.html,o=kh,J_(ah)):(o=ah,J_(kh)),M=o.style,o.innerHTML="",z instanceof HTMLElement?o.appendChild(z):o.innerHTML=z,o.parentNode||U.Default.appendToScreen(o),$.target?($=g_($),z=P_(),A=$.x,N=$.y,s=Yt?60:12,Yt?(g=o.getBoundingClientRect(),M.left=A-g.width/2+Vt,N-g.height-s<z.top?M.top=N+s+Vt:M.top=N-g.height-s+Vt):(M.left=A+s+Vt,M.top=N+s+Vt,(g=o.getBoundingClientRect()).left+g.width>z.width&&(M.left=A-s-g.width+Vt),g.top+g.height>z.height&&(M.top=N-s-g.height+Vt),g.left<0&&(M.left=A+s+Vt),g.top<0&&(M.top=N+s+Vt))):(M.left=$.x+Vt,M.top=$.y+Vt),uh(),C===Kd?C=ph&&ph.view:ph={e:$,view:C},C&&C.onShowToolTip&&C.onShowToolTip()):J3()},startDragging:function($,z,C){C==Kd&&(C=!0),$!==RX&&(RX?C&&(uX(z)?RX.handleWindowTouchEnd(z):RX.handleWindowMouseUp(z)):uX(z)?(Rd(u,dh,IX),Rd(u,lh,hX),Rd(u,"blur",hX)):(Rd(u,_h,mX),Rd(u,Ph,SX),Rd(u,"blur",SX)),RX=$)},getImageMap:function(){return Gh},toBoundaries:function($,z,C,o){var M=[];return _x($,z,C,o).forEach(function($){var z=[];$.forEach(function($){z.push($.x,$.y)}),M.push(z)}),M},getCurrentKeyCodeMap:function(){return jh},drawCenterImage:function($,z,C,o,M,A,N,s,g){!M&&A&&A.isSelfViewEvent&&(M=A);var Y=vK(z,M,A),v=OK(z,M,A);tK($,z,hd(C-Y/2),hd(o-v/2),Y,v,M,A,N,s,g)},drawStretchImage:function($,z,C,o,M,A,N,s,g,Y,v,O,t){!s&&g&&g.isSelfViewEvent&&(s=g);var c,y=vK(z,s,g,A),_=OK(z,s,g,N);"uniform"===C?(_*=c=od(A/y,N/_),o+=hd((A-(y*=c))/2),M+=hd((N-_)/2),A=y,N=_):"centerUniform"===C?((A<y||N<_)&&(y*=c=od(A/y,N/_),_*=c),o+=hd((A-y)/2),M+=hd((N-_)/2),A=y,N=_):"cover"===C&&(_*=c=y/A<_/N?A/y:N/_,o+=hd((A-(y*=c))/2),M+=hd((N-_)/2),A=y,N=_),"center"===C?((c=!1!==v&&(A<y||N<_))&&($.save(),$.beginPath(),$.rect(o,M,A,N),$.clip()),tK($,z,o+A/2-y/2,M+N/2-_/2,y,_,s,g,Y,O,t),c&&$.restore()):tK($,z,o,M,A,N,s,g,Y,O,t)},toCanvas:function($,z,C,o,M,A,N,s,g,Y){$=j($,N),z=z||vK($,M),C=C||OK($,M);var v=sX(),O=KX(v);return s?(vX(v,z,C,s),O.scale(s,s)):vX(v,z,C,1),E3(O,$,o,0,0,z,C,M,A,N,Kd,g,Y),$&&$.clampToEdge&&(v.clampToEdge=$.clampToEdge),O.restore(),v},toGrayColor:function($){if(!$)return $;var $=e_($),z=hd(.299*$[0]+.587*$[1]+.114*$[2]);return"rgba("+z+","+z+","+z+","+$[3]/255+")"},createGradientImage:function($,z,C,o){for(var M=["L",0,0,$,0,1,0,0,1,0,0],A=0,N=Math.min(z.length,C.length);A<N;A++)M.push(C[A],z[A]);return U.Default.toCanvas({width:$,height:$,clampToEdge:!0,comps:[{type:"shape",rotation:o||0,points:[0,0,$,0,$,$,0,$],background:"#ffffff",gradientPack:M}]})},createElement:function($,z,C,o){return $=c.createElement($),gX($,z||m.widgetBorder,2),$.style.font=C||V3,o!=fd&&($.value=o),Qd.onElementCreated&&Qd.onElementCreated($),$},containedInView:function($,z){return z=xX(z).getBoundingClientRect(),t_({x:z.left,y:z.top,width:z.width,height:z.height},s_($))},isIsolating:function(){return 0<Rh},setIsolating:function($){$?Rh++:Rh--},getMSMap:function(){return y3},stringify:function(o,M,$){var z=Date.prototype.toJSON,C=(Date.prototype.toJSON=function(){return"__ht__date"+this.getTime()},mK.prototype.toJSON),A=(mK.prototype.toJSON=function(){return"__ht__dataModel"+this.serialize(0)},M=$?0:M==fd?2:M,JSON.stringify(o,function($,z){if("function"==typeof z)return"__ht__"+(z.__ht__||z.toString());if(Vv(z))return(C=z)==fd||Qd.numberDigits==fd?C:parseFloat(C.toFixed(Qd.numberDigits));if(Wz(z))return null;if(z instanceof U.List)return"__ht__list"+(z.__ht__list||Qd.stringify(z._as));if(ArrayBuffer.isView(z))return"__ht__typedArray"+z.constructor.name+":"+JSON.stringify(Array.from(z),M);if("states"===$&&(C=HC(z,o))){var C,$=Qd.stringify(z,M);if(Qd.stringify(C={__states:C},M).length<$.length)return C}return z},M));return Date.prototype.toJSON=z,mK.prototype.toJSON=C,$?Qh+function($){for(var z=8+B.randomInt(8),C=VA[8*B.randomInt(8)+(z-8)],o="",M=0;M<z;M++)o+=VA[B.randomInt(64)];var A=Qx(o+Md+"__"+Hf);return C+o+eA($,A)}(A):A},parse:function($,g){return Vd($)&&($.substr(0,12)==Qh&&($=function($){var z=$[0];if((z=VA.indexOf(z))<0)return"";var C=$.slice(1,1+(z=8+(7&z))),C=Qx(C+Md+"__"+Hf);return DA($,C,1+z)}($.substr(12)),!Vd($))||(g=g||{},$=JSON.parse($,function($,z){if(Vd(z)&&"__ht__"==z.substr(0,6)){var C=z;if((M=g).ignoreFunction||"function"!=C.substr(6,8)){if(!M.ignoreDate&&"date"==C.substr(6,4))return new Date(qd(C.substr(10)));if("list"===C.substr(6,4))return new L(Qd.parse(C.substr(10)));if(!M.ignoreDataModel&&"dataModel"===C.substr(6,9))return(M=new mK).deserialize(Qd.parse(C.substr(15))),M;if("typedArray"===C.substr(6,10))return M=C.indexOf(":"),o=C.substring(16,M),new u[o](JSON.parse(C.substr(M+1)));if("ref_function"===C.substr(6,12))return Qd.globalFuncMap[C.substring(18)]}else{var o=C.indexOf("{")+1,M=C.lastIndexOf("}"),A=C.indexOf("(")+1,N=C.indexOf(")");if(o&&M&&A&&N)try{var s=new Function(C.substring(A,N),C.substring(o,M));return s.__ht__=C.substr(6),s}catch($){throw console.info("=== SyntaxError ===\n",C),$}}return C}return Le(z),z}),Le($))),$},loadJS:function($,z){z&&$.push(z);var C,z=$.shift();ed(z)?($=z.contact($),Qd.loadJS($)):av(z)?(z(),Qd.loadJS($)):Vd(z)?((C=c.createElement("script")).onload=function(){Qd.loadJS($)},C.setAttribute("src",z),c.getElementsByTagName("head")[0].appendChild(C)):$.length&&Qd.loadJS($)},extendClass:function($,z){var C,o=$.prototype;for(C in z)y3[C]&&y3.hasOwnProperty(C)?y3[C](o,z):o[C]=z[C]},toRoundedCorner:(VP=new Dd,eP=new Dd,DP=new Dd,aP=new Dd,function($,z){var C,o=0,M=($.getPoints&&(o=$.getElevation(),$=$.getPoints()),(C=$ instanceof L?$:new L($)).size());if(z<=0)return{points:C};var A=new L,N=new L,s=C.get(0);Ue(VP,s,o),A.add(s),N.add(1);for(var g,Y,v=1;v<M;v++)v+1<M?(g=C.get(v),Y=C.get(v+1),Ue(eP,g,o),Ue(DP,Y,o),aP.subVectors(VP,eP).setLength(Math.min(.99*aP.length(),z)).add(eP),g.e!==Kd||s.e!==Kd?A.add({x:aP.x,y:aP.z,e:aP.y}):A.add({x:aP.x,y:aP.z}),A.add(g),aP.subVectors(DP,eP).setLength(Math.min(.99*aP.length(),z)).add(eP),g.e!==Kd||Y.e!==Kd?A.add(s={x:aP.x,y:aP.z,e:aP.y}):A.add(s={x:aP.x,y:aP.z}),VP.copy(aP),N.addAll([2,3])):(A.add(C.get(v)),N.add(2));return{points:A,segments:N}}),setCanvas:vX,createDiv:NX,createDisabledDiv:JX,createView:AX,createCanvas:sX,appendChild:OX,initContext:KX,checkLoadingImage:yv,translateAndScale:fX,layout:pX,getPosition:Fx,drawPoints:yx,drawRoundRect:Vx,drawBorder:ex,setFocus:kX,getter:Qv,setter:Wv,isEmptyObject:Hv,cameraPriority:(WP={skybox:0,main:1e4,top:1e7,infinity:1/0},Jd.seal(Jd.defineProperties({},{skybox:{configurable:!1,enumerable:!1,get:function(){return WP.skybox},set:function($){if($>=WP.main)throw new RangeError("Skybox camera must have lower priority than the main camera.");WP.skybox=Number($)}},main:{configurable:!1,enumerable:!1,get:function(){return WP.main},set:function($){if($<=WP.skybox)throw new RangeError("Main camera must have higher priority than the skybox camera.");if($>=WP.top)throw new RangeError("Main camera must have lower priority than the top camera.");WP.main=Number($)}},top:{configurable:!1,enumerable:!1,get:function(){return WP.top},set:function($){if($<=WP.main)throw new RangeError("Top camera must have higher priority than the main camera.");WP.top=Number($)}},infinity:{get:function(){return WP.infinity},set:function($){throw new RangeError("Infinity camera cannot be changed.")}}}))),addFontFace:(fP={ttf:"truetype",otf:"opentype",eot:"embedded-opentype"},QP={eot:0,woff2:1,woff:2,ttf:3,otf:4},function($,z,C,o){if($){var M;if(o&&Qd.removeFontFace($,!0),o=Eh[$])return o.parentNode||c.head.appendChild(o),void(C&&C(o));0!==(z=(z=Vd(z)?[z]:z).filter(function($){return!!Vd($)&&0<$.length})).length&&(z=z.map(Fe),M="",z.sort(je).forEach(function($){M+=", "+$.url}),M=M.substr(2),(o=c.createElement("style")).innerText='@font-face{font-family: "'+$+'";src: '+M+";}",c.head.appendChild(o),Eh[$]=o,C&&C(o))}}),clearFontFace:function(){if(!Hv(Eh)){for(var $ in Eh)Qd.removeFontFace($);Eh={}}},removeFontFace:function($,z){if($){var C=$;if(C.tagName){if(J_(C),z){var o,M=[];for(o in Eh)Eh[o]===C&&M.push(o);if(0<M.length)for(var A=0,N=M.length;A<N;A++)delete Eh[M[A]]}}else(C=Eh[$])&&(J_(C),z&&delete Eh[$])}},getFontFaceMap:function(){return Eh},handleFontFacesLoaded:function($){},toColorData:function(){var o,$,M={};for($ in u){var z=tt.length;if($.length==z&&$[0]===tt[2]&&$[1]===Wt[1]&&$[4]===tt[3]&&$[5]===tt[4]&&$.substr(z-2)===Wt[1]+Wt[2]){var C,A=u[$];for(C in A)C.length===z&&C.substr(0,3)===Pt[3]+Rt[3]+yf[0]&&C.substr(z-2)===tt[0]+Tt[3]&&(Kh=A[C])}}return function($){var z,C=M[$];return C||(o||(o=sX(),vX(o,1,1,1)),(z=o.getContext("2d",{willReadFrequently:!0})).clearRect(0,0,1,1),Xx(z,0,0,1,1,$),C=z.getImageData(0,0,1,1).data,C=M[$]=[C[0],C[1],C[2],C[3]]),C}}(),convertColor:fd,getGradientOffset:(_P={},PP=/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*(\d*\.?\d+|\d+\.?\d*))?\s*\)/i,ZP=[],XP=[],dP=[],lP=[],JP=[],KP=[],function($,z,C){var o=Se($),M=Se(z);if(o||M){JP.length=0,KP.length=0,o?M?(A=He($),ie(JP,0,$),N=He(z),ie(KP,0,z)):(A=N=He($),ie(KP,0,$,0,A),KP.push(0,z,1,z),ie(JP,0,$)):(A=N=He(z),ie(JP,0,z,0,N),JP.push(0,$,1,$),ie(KP,0,z)),dP.length=0,ie(dP,0,JP,A,JP.length-A),lP.length=0,ie(lP,0,KP,N,KP.length-N);var A,N,s,g=dP,Y=lP;if(0!=(y=Y.length-g.length))for(var v,O=0<y?g:Y,t=O[(v=O.length)-1],c=O[v-2],y=.5*Math.abs(y);y--;)y%2==0?O.unshift(O[0],O[1]):O.push(c,t);for(s=0,v=Y.length;s<v;s+=2){var _=g[s],P=Y[s];Y[s]=B.clamp(_+(P-_)*C,0,1),Y[s+1]=Ee(g[s+1],Y[s+1],C)}if(ie(XP,0,KP,1,N-1),JP[0]===KP[0])for(ie(ZP,0,JP,1,A-1),s=0,v=ZP.length;s<v;s++)XP[s]=ZP[s]+(XP[s]-ZP[s])*C;return KP.length=1,ie(KP,1,XP),ie(KP,N,Y),KP.slice(0)}return Ee($,z,C)})},!0),c&&c.fonts&&c.fonts.addEventListener&&c.fonts.addEventListener("loadingdone",function($){Qd.handleFontFacesLoaded($.fontfaces),Qd.findView("all").forEach(function($){$.redraw?$.redraw():$.iv()})}),z(S,{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,flowAlphaDiscard:1},!0),Qd.disabledOpacity),Z3=Qd.toolTipDelay,X3=Qd.devicePixelRatio,LA=Qd.autoMakeVisible,Td=Qd.autoHideScrollBar,d3=Qd.imageGradient,l3=Qd.showToolTip,J3=Qd.hideToolTip,K3=Qd.dashPattern,f3=Qd.lineCap,Q3=Qd.lineJoin,W3=Qd.labelColor,Mr=Qd.labelSelectColor,V3=Qd.labelFont,e3=Qd.widgetIndent,Ar=Qd.widgetRowHeight,D3=Qd.widgetHeaderHeight,a3=Qd.widgetTitleHeight,V=Qd.scrollBarColor,mh=Qd.scrollBarSize,k3=Qd.scrollBarTimeout,x3=Qd.scrollBarMinLength,p3=Qd.scrollBarInteractiveSize,b3=Qd.zoomIncrement,u3=Qd.scrollZoomIncrement,n3=Qd.pinchZoomIncrement,R3=Qd.zoomMax,I3=Qd.zoomMin,h3=Qd.createObject,m3=Qd.preventDefault,sr=Qd.setImage,j=Qd.getImage,S3=Qd.isImageComplete,G3=Qd.drawCenterImage,E3=Qd.drawStretchImage,H3=Qd.getId,i3=Qd.callLater,F3=Qd.cancelLater,j3=Qd.sortFunc,U3=Qd.clone,L3=Qd.getClass,w3=Qd.startAnim,q3=Qd.brighter,T3=Qd.darker,r3=Qd.drawText,B3=Qd.getTextSize,$_=Qd.isLeftButton,z_=Qd.isMiddleButton,C_=Qd.isRightButton,o_=Qd.getTouchCount,M_=Qd.isDoubleClick,A_=Qd.isShiftDown,N_=Qd.isCtrlDown,s_=Qd.getClientPoint,g_=Qd.getPagePoint,Y_=Qd.getDistance,v_=Qd.unionPoint,O_=Qd.unionRect,t_=Qd.containsPoint,c_=Qd.containsRect,y_=Qd.intersectsRect,__=Qd.intersection,P_=Qd.getWindowInfo,Z_=Qd.grow,X_=Qd.getLogicalPoint,d_=Qd.getScreenPoint,l_=Qd.startDragging,J_=Qd.removeHTML,K_=Qd.createElement,f_=Qd.segmentResolution,Q_=Qd.shapeResolution,W_=Qd.shapeSide,V_=(Qd.getGradientOffset,Qd.def),e_=Qd.toColorData,D_=function($,z,C){V_("ht."+$,z,C)},a_=(hP=!(IP=[]),z(Qd,{registerHeartbeat:function($,z){IP.push({callback:$,priority:z=z||0}),IP.sort(function($,z){return z.priority-$.priority}),hP||(hP=!0,mP=Date.now(),requestAnimationFrame(Te))},unregisterHeartbeat:function($){for(var z=0;z<IP.length;z++)if(IP[z].callback===$){IP.splice(z,1);break}}},!(mP=0)),z(Qd,{toolTipLabelColor:W3,toolTipLabelFont:V3,toolTipBackground:m.toolTipBackground,toolTipShadowColor:X,debugTipLabelFont:V3,debugTipLabelColor:W3,debugTipBackground:m.toolTipBackground,drawBreakableText:PX,setDevicePixelRatio:function($){X3=Qd.devicePixelRatio="number"==typeof $?$:_3(u),Qd.traverse(c.body,function($){($=$._ht)&&$._canvas&&(vX($._canvas,$.getWidth(),$.getHeight()),$.redraw?$.redraw():$.iv())},null,"childNodes")},getPosition3dGap:function(){return Sz()}},!0),1e-6),k_="undefined"!=typeof Uint16Array?Uint16Array:Array,x_="undefined"!=typeof Uint32Array?Uint32Array:k_,p_="undefined"!=typeof Float32Array?Float32Array:Array,b_="undefined"!=typeof Float32Array?[Float32Array,Float64Array,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array]:null,u_=function($,z,C){return $=[$[0]-z[0],$[1]-z[1],$[2]-z[2]],C&&0<(z=Y_($))&&($[0]/=z,$[1]/=z,$[2]/=z),$},n_=function(){var $,z="charCodeAt",C=2*(2*et.length+1);for($ in u)if($===Md+_t[0]+(Vt.length+2)){var o=u[$];if(!o)break;for(var M=o.length,A=0;A<M;A++)if(o[A][z](0)===C&&o[A+1]!=fd&&o[A+1]===Vt[0]&&o[A+2]!=fd&&o[A+2][z](0)===C){for(var N=A+3;N<M;N++)if(o[N][z](0)===C){if(0==o[N+1])for(var s,g=N+2;g<M;g++){if(o[g][z](0)===C){0==o[g-1]&&s&&(ot=s.substr(0,s.length-1));break}s==fd?s=o[g]:s+=o[g]}break}break}break}return function($){return[-$[0],-$[1],-$[2]]}}(),R_=function($,z){return 3===$.length?$[0]*z[0]+$[1]*z[1]+$[2]*z[2]:$[0]*z[0]+$[1]*z[1]},I_=function(){var $=new Array(16);return $[0]=1,$[1]=0,$[2]=0,$[3]=0,$[4]=0,$[5]=1,$[6]=0,$[7]=0,$[8]=0,$[9]=0,$[10]=1,$[11]=0,$[12]=0,$[13]=0,$[14]=0,$[15]=1,$},h_=I_(),m_=function($){var z=new Array(16);return z[0]=$[0],z[1]=$[1],z[2]=$[2],z[3]=$[3],z[4]=$[4],z[5]=$[5],z[6]=$[6],z[7]=$[7],z[8]=$[8],z[9]=$[9],z[10]=$[10],z[11]=$[11],z[12]=$[12],z[13]=$[13],z[14]=$[14],z[15]=$[15],z},S_=function($){return $[0]=1,$[1]=0,$[2]=0,$[3]=0,$[4]=0,$[5]=1,$[6]=0,$[7]=0,$[8]=0,$[9]=0,$[10]=1,$[11]=0,$[12]=0,$[13]=0,$[14]=0,$[15]=1,$},G_=function($,z){var C=$[0],o=$[1],M=$[2];return $[0]=z[0]*C+z[4]*o+z[8]*M+z[12],$[1]=z[1]*C+z[5]*o+z[9]*M+z[13],$[2]=z[2]*C+z[6]*o+z[10]*M+z[14],$},E_=function($,z){var C=$[0],o=$[1],M=$[2],A=$[3];return $[0]=z[0]*C+z[4]*o+z[8]*M+z[12]*A,$[1]=z[1]*C+z[5]*o+z[9]*M+z[13]*A,$[2]=z[2]*C+z[6]*o+z[10]*M+z[14]*A,$[3]=z[3]*C+z[7]*o+z[11]*M+z[15]*A,$},H_=function($,z,C){var o,M;if("number"==typeof $?M=$:$&&(M=$.length,o=!0),M)for(var A,N=0,s=0;N<M;N++)A=z?od(M-1,1==s?N+1:2==s?N-1:N):N,C(o?$[A]:A),2<++s&&(s=0)},i_=(HP=Sv($[1]+$[7]),iP=Sv($[0]+$[3]-$[10]),FP=Sv($[8]+2),jP=function(){return GP=EP.charAt(SP),SP+=1,GP},UP=function(){var $="";if(GP===FP)for(;jP();){if(GP===FP)return jP(),$;$+=GP}else jP()},LP=function(){for(;GP&&GP<=" ";)jP()},wP=function(){if(LP(),GP!==HP)return UP();var $,z={};if(GP===HP){if(jP(),LP(),GP===iP)return jP(),z;for(;GP;){if($=UP(),LP(),jP(),z[$]=wP(),LP(),GP===iP)return jP(),z;jP(),LP()}}},function($){if(T={},$&&(EP=$,SP=0,GP=" ",$=wP(),LP(),!GP))return $}),F_=function($,z){var C,o,M,A,N,s,g,Y,v;z&&(C=yd(z),z=Wd(z),o=$[4],M=$[5],A=$[6],N=$[7],s=$[8],g=$[9],Y=$[10],v=$[11],$[4]=o*z+s*C,$[5]=M*z+g*C,$[6]=A*z+Y*C,$[7]=N*z+v*C,$[8]=s*z-o*C,$[9]=g*z-M*C,$[10]=Y*z-A*C,$[11]=v*z-N*C)},j_=function($,z){var C,o,M,A,N,s,g,Y,v;z&&(C=yd(z),z=Wd(z),o=$[0],M=$[1],A=$[2],N=$[3],s=$[8],g=$[9],Y=$[10],v=$[11],$[0]=o*z-s*C,$[1]=M*z-g*C,$[2]=A*z-Y*C,$[3]=N*z-v*C,$[8]=o*C+s*z,$[9]=M*C+g*z,$[10]=A*C+Y*z,$[11]=N*C+v*z)},U_=function($,z){var C,o,M,A,N,s,g,Y,v;z&&(C=yd(z),z=Wd(z),o=$[0],M=$[1],A=$[2],N=$[3],s=$[4],g=$[5],Y=$[6],v=$[7],$[0]=o*z+s*C,$[1]=M*z+g*C,$[2]=A*z+Y*C,$[3]=N*z+v*C,$[4]=s*z-o*C,$[5]=g*z-M*C,$[6]=Y*z-A*C,$[7]=v*z-N*C)},L_=function($,z,C){return w_(fd,!1===C?fd:$.getFinalScale3d(),$.getFinalRotation3d(),$.getRotationMode(),$.p3(),fd,z)},w_=function($,z,C,o,M,A,N){return A=A||I_(),M&&Fz(A,M),tV(A,C,o),N&&Uz(A,A,N),z&&jz(A,z),$&&Uz(A,A,$),A},q_=function($,z,C){z=qd(z),C=qd(C),this.g=$,this._84O=z,this._85O=C,this._70I=!0,this.F=0,this._83O=z+C,this.pen={x:0,y:0}},T_="lineDashOffset",r_="setLineDash",B_=function($,z,C){return iv(z)?$:$[r_]?($[r_](z),C&&($.lineDashOffset=C),$):new q_($,z[0],1<z.length?z[1]:z[0])},$K=function($,z){!iv(z)&&$[r_]&&($[r_](ov),$.lineDashOffset=0)},zK=(V_(q_,Jd,{_69I:6,moveTo:function($,z){var C=this.pen;C.x=$,C.y=z,this.g.moveTo($,z),this.start||(this.start={x:$,y:z})},lineTo:function($,z){var C=this,o=C.pen,M=$-o.x,A=z-o.y,A=Ud(A,M),M=Wd(A),A=yd(A),N=C._23O(o.x,o.y,$,z),s=C._85O,g=C._84O,Y=C._83O;if(C.F){if(C.F>N)return C._70I?C._72I($,z):C.moveTo($,z),void(C.F-=N);if(C._70I?C._72I(o.x+M*C.F,o.y+A*C.F):C.moveTo(o.x+M*C.F,o.y+A*C.F),N-=C.F,C.F=0,C._70I=!C._70I,!N)return}var v=md(N/Y);if(v){for(var O=M*g,t=A*g,c=M*s,y=A*s,_=0;_<v;_++)C._70I?(C._72I(o.x+O,o.y+t),C.moveTo(o.x+c,o.y+y)):(C.moveTo(o.x+c,o.y+y),C._72I(o.x+O,o.y+t));N-=Y*v}C._70I?g<N?(C._72I(o.x+M*g,o.y+A*g),C.moveTo($,z),C.F=s-(N-g),C._70I=!1):(C._72I($,z),N===g?(C.F=0,C._70I=!C._70I):(C.F=g-N,C.moveTo($,z))):s<N?(C.moveTo(o.x+M*s,o.y+A*s),C._72I($,z),C.F=g-(N-s),C._70I=!0):(C.moveTo($,z),N===s?(C.F=0,C._70I=!C._70I):C.F=s-N)},quadraticCurveTo:function($,z,C,o){var M,A=this,N=(g=A.pen).x,s=g.y,g=A._22O(N,s,$,z,C,o),Y=0,v=0,O=A._85O,t=A._84O;if(A.F){if(A.F>g)return A._70I?A._71I($,z,C,o):A.moveTo(C,o),void(A.F-=g);if(Y=A.F/g,M=A._20O(N,s,$,z,C,o,Y),A._70I?A._71I(M[2],M[3],M[4],M[5]):A.moveTo(M[4],M[5]),A.F=0,A._70I=!A._70I,!g)return}var c,y=md((g-g*Y)/A._83O),_=t/g,P=O/g;if(y)for(var Z=0;Z<y;Z++)A._70I?(M=A._21O(N,s,$,z,C,o,Y,v=Y+_),A._71I(M[2],M[3],M[4],M[5]),Y=v,M=A._21O(N,s,$,z,C,o,Y,v=Y+P),A.moveTo(M[4],M[5])):(M=A._21O(N,s,$,z,C,o,Y,v=Y+P),A.moveTo(M[4],M[5]),Y=v,M=A._21O(N,s,$,z,C,o,Y,v=Y+_),A._71I(M[2],M[3],M[4],M[5])),Y=v;c=g-g*Y,A._70I?t<c?(M=A._21O(N,s,$,z,C,o,Y,v=Y+_),A._71I(M[2],M[3],M[4],M[5]),A.moveTo(C,o),A.F=O-(c-t),A._70I=!1):(M=A._19O(N,s,$,z,C,o,Y),A._71I(M[2],M[3],M[4],M[5]),g===t?(A.F=0,A._70I=!A._70I):(A.F=t-c,A.moveTo(C,o))):O<c?(M=A._21O(N,s,$,z,C,o,Y,v=Y+P),A.moveTo(M[4],M[5]),M=A._19O(N,s,$,z,C,o,v),A._71I(M[2],M[3],M[4],M[5]),A.F=t-(c-O),A._70I=!0):(A.moveTo(C,o),c===O?(A.F=0,A._70I=!A._70I):A.F=O-c)},bezierCurveTo:function(){var $=arguments;this.pen={x:$[4],y:$[5]},this.g.bezierCurveTo($[0],$[1],$[2],$[3],$[4],$[5])},arc:function($,z,C,o,M,A){A||(o=-o,M=-M);var N,s,g,Y,v,O=$,t=z,A=o,c=C,y=C,z=!1,_=-(($=I($=M-o)>2*x?2*x:$)/(N=Sd(I($)/(x/4)))),P=-A;if(0<N){$=O+Wd(A)*c,A=t+yd(-A)*y,z?this.lineTo($,A):this.moveTo($,A);for(var Z=0;Z<N;Z++)v=(P+=_)-_/2,s=O+Wd(P)*c,g=t+yd(P)*y,Y=O+Wd(v)*(c/Wd(_/2)),v=t+yd(v)*(y/Wd(_/2)),this.quadraticCurveTo(Y,v,s,g)}},rect:function($,z,C,o){this.pen={x:$,y:z},this.moveTo($,z),this.lineTo($,z+o),this.lineTo($+C,z+o),this.lineTo($+C,z),this.lineTo($,z)},beginPath:function(){this.g.beginPath()},closePath:function(){this.lineTo(this.start.x,this.start.y)},_23O:function($,z,C,o){return Gd((C-=$)*C+($=o-z)*$)},_22O:function($,z,C,o,M,A,N){for(var s,g,Y,v,O=0,t=$,c=z,y=0<N?N:this._69I,_=1;_<=y;_++)O+=this._23O(t,c,s=(g=(Y=1-(v=_/y))*Y)*$+(Y*=2*v)*C+(v*=v)*M,g=g*z+Y*o+v*A),t=s,c=g;return O},_21O:function($,z,C,o,M,A,N,s){return 0===N?this._20O($,z,C,o,M,A,s):1===s?this._19O($,z,C,o,M,A,N):(($=this._20O($,z,C,o,M,A,s)).push(N/s),this._19O.apply(this,$))},_20O:function($,z,C,o,M,A,N){var s,g;return 1!==N&&(s=C+(M-C)*N,g=o+(A-o)*N,M=(C=$+(C-$)*N)+(s-C)*N,A=(o=z+(o-z)*N)+(g-o)*N),[$,z,C,o,M,A]},_19O:function($,z,C,o,M,A,N){var s;return 1!==N&&($=(s=$+(C-$)*N)+((C+=(M-C)*N)-s)*N,z=(s=z+(o-z)*N)+((o+=(A-o)*N)-s)*N),[$,z,C,o,M,A]},_72I:function($,z){var C=this.pen;$===C.x&&z===C.y||(C.x=$,C.y=z,this.g.lineTo($,z))},_71I:function($,z,C,o){var M=this.pen;$===C&&z===o&&C===M.x&&o===M.y||(M.x=C,M.y=o,this.g.quadraticCurveTo($,z,C,o))}}),y3.ms_quickVisible=function($,z){$._4BQ=!1,$._4CQ=function($){var z=$._4EQ;return z!==Kd?z:$._4EQ=this._4FQ($)},$._4DQ=function($){var z;$?($._4EQ=Kd,z=this,$ instanceof PV||pv($)||$ instanceof fV||$.ISubGraph||$.s("visibleCascade")?$.eachChild(function($){z.invalidateQuickVisible($)}):$.getEdges&&($=$.getEdges())&&$.each(function($){z.invalidateQuickVisible($)})):this.dm().each(function($){$._4EQ=Kd})},$.enableQuickVisibleMode=function(){return!this._4BQ&&!this._visibleFunc&&(this._4BQ=!0,this._4FQ=this.isVisible,this.isVisible=this._4CQ,this.invalidateQuickVisible=this._4DQ,!0)},$.disableQuickVisibleMode=function(){return this._quickVisiblePending=!1,!!this._4BQ&&(this._4BQ=!1,this.isVisible=this._4FQ,this.invalidateQuickVisible=Nv,!0)},$.isQuickVisibleMode=function(){return this._4BQ},$.invalidateQuickVisible=Nv},y3.ms_renderEvents=function(z,$){var C=$.ms_renderEvents;C.forEach(function($){z["on"+$]=Nv}),z.initRenderEvents=function(){var z=this;C.forEach(function($){function o($){if(M)for(var z=0;z<M.length;z++)if(M[z].listener===$)return z;return-1}var C,M,A;A="on"+($=$),(C=z)["add"+$+"Listener"]=function($,z){M=M||[];var C=o($);if(0<=C){if(M[C].priority===z)return!1;M[C].priority=z}else M.push({listener:$,priority:z||0});return M.sort(function($,z){return z.priority-$.priority}),!0},C["remove"+$+"Listener"]=function($){return!(($=o($))<0||(M.splice($,1),M.length||(M=Kd),0))},C["get"+$+"Listeners"]=function(){return M},C["emit"+$]=function(){if(M)for(var $=0,z=M.length;$<z;$++)M[$].listener.apply(C,arguments);this[A]()}})}},$=Ld()+1,wd&&u.console,Y3("compType",{pattern:qh}),Qd.checkLoadingCompType=function($){A3($,"compType")},m.chart),CK="",oK=!0,MK=Qd.compStack=[],AK=/^style@/,NK=/^attr@/,sK=/^field@/,gK={x:.5,y:.5},YK=function($,z,C){return!!$&&((o=C&&C.isImageFitSize?C.isImageFitSize(z,$):o)==fd?E($.fitSize,z,C):o);var o},vK=function($,z,C,o){return $?!(YK($,z,C)&&o||null!=(o=E($.width,z,C)))?20:o:0},OK=function($,z,C,o){return $?!(YK($,z,C)&&o||null!=(o=E($.height,z,C)))?20:o:0},E=function($,z,C){if(!$||!$.func)return $;var o=$.func,M=$.value,$=av(o)?C&&C.vectorDataBindingDisabled&&!$.isSafeFunc?M:o(z,C):z instanceof hK||z&&z.getInteractorClasses&&z.initView?NK.test(o)?z.a(CK+o.slice(5)):AK.test(o)?z.s(CK+o.slice(6)):sK.test(o)?z[o.slice(6)]:z[o]?z[o](C):M:M;return M!==Kd&&$==fd?M:$},tK=Qd.drawImage=(CU=function(){if((TP instanceof cS||TP instanceof Fi)&&qP&&qP.dm){var $=TP.dm();if($ instanceof mK&&$!==qP.dm())return qP}return Kd},i=function($,z,C){var o,M,A=!1;return $.prefix&&qP instanceof hK&&(M=qP.a(CK+z))!==Kd&&(A=!0,o=M),o===Kd&&(zU&&(M=zU[$.id])&&(o=M[z])!==Kd?A=!0:o=$[z]),o&&o.func&&(A=!0,o=E(o,qP,TP)),C&&(o=C(o),A||($[z]=o)),o},oU=function($,z,C){var o,M=z?i($,z):$;return Qd.convertColor&&(o={data:qP,view:TP},z&&(o.comp=$,o.name=z),C&&Jd.assign(o,C),M=Qd.convertColor(M,o)),H&&H.compGray&&M?Qd.toGrayColor(M):BP&&M?gx(M,BP,$U):M},MU=function($){var z=i($,"anchorX"),C=i($,"anchorY");return z!==Kd||C!==Kd?{x:z===Kd?gK.x:z,y:C===Kd?gK.y:C}:(z=i($,"type"),C=i($,"name"),"image"===z&&C&&($=j(C))&&$.anchorX!==Kd&&$.anchorY!==Kd?{x:$.anchorX,y:$.anchorY}:gK)},AU=function($,z){$.compInfos.push(z),$._parentCompInfo=z},NU={border:function($,z){ex(H,oU($,sh),z.x,z.y,z.width,z.height,i($,"width"))},image:function($,z){var C,o,M,A,N,s=BP||i($,sh),g=$U||i($,"blendMode"),Y=i($,"name"),Y=j(Y,s,g),v=i($,"imageState");!Y||Y.cacheRule==fd||v&&"string"!=typeof v||(M=H.getTransform(),C=TP._zoom,A=M.a,N=M.b,o=M.c,M=M.d,A=Math.sqrt(A*A+N*N)/C,N=Math.sqrt(o*o+M*M)/C,Y=Xm(H,Y,i($,"stretch"),z.width*A,z.height*N,qP,TP,s,v)),Y?E3(H,Y,i($,"stretch"),z.x,z.y,z.width,z.height,qP,TP,s,null,g,v):oK=!1},text:function($,s){var z,g,C,Y,o,v,O,t,c,y,_,P,Z,X,d,l,M,J,A,N,K=i($,"text"),f=i($,"background"),Q=i($,"outlineColor"),W=i($,"outlineWidth"),V=i($,"cornerRadius");(f||W&&Q)&&(N=s.x,z=s.y,C=s.width,o=s.height,H.beginPath(),Vx(H,N,z,C,o,V||0),f&&(H.fillStyle=tx(H,f,Be,!1,s,fd,$E($,"background")),H.fill(),H.restore()),W&&Q&&(H.lineWidth=W,H.strokeStyle=tx(H,Q,Be,!0,s,fd,$E($,"outlineColor")),H.stroke(),H.restore())),K!=fd&&(K+="",N=i($,"gradientPack"),z=i($,"gradient"),g=i($,"font"),C=i($,"vertical"),Y=i($,"verticalGap")||0,o=i($,"align"),v=i($,"vAlign"),O=i($,"decoration"),t=i($,"letterGap")||0,V=i($,"wrap"),c=i($,"borderWidth"),y=i($,"borderColor"),_=B3(g,K),N?(P=tx(H,N,Be,!1,s,fd,$E($,"gradientPack")),H.restore()):P=oU($,sh),!N&&z&&(f=oU($,"gradientColor"),P=Qd.createGradient(H,z,P||Qd.labelColor,f||m.imageGradient,s.x,s.y,s.width,s.height)),c&&ed(y)&&(y=tx(H,y,Be,!1,s,fd,$E($,"borderColor")),H.restore()),C?(null==Y&&(Y=1),Z=[],X=[],A=V?cX(K,s.height,g,t,C,Y):[K],H.textBaseline=Zt,H.font=g,A.forEach(function($){for(var z=$.length,C=0,o=(z-1)*Y,M=0;M<z;M++){var A=H.measureText($[M]);Z.push(A),o+=A.fontBoundingBoxDescent||_.height,C=Cd(C,A.width)}X.push({width:C,height:o})}),M=(A.length-1)*t,X.forEach(function($){M+=$.width}),d=o&&o!==_t?o===Pt?s.x+s.width-M:s.x+(s.width-M)/2:s.x,J=0,A.forEach(function($,z){var C=X[z],o=$.length;l=v&&v!==Jt?v===Zt?s.y:s.y+s.height-C.height:s.y+(s.height-C.height)/2;for(var M=0;M<o;M++){var A=$[M],N=Z[J].fontBoundingBoxDescent||_.height;_X(H,A,g,P,{x:d,y:l,width:C.width,height:N},dt,v,O,t,c,y),l+=N+Y,J++}d+=C.width+t})):1<(W=(A=V?cX(K,s.width,g,t,C,Y):K.split("\n")).length)?(Q=W*B3(g,K).height+Y*(W-1),N=U3(s),v&&v!==Jt?v===Xt&&(N.y=s.y+s.height-Q):N.y=s.y+(s.height-Q)/2,N.height=Q,PX(H,A,N,g,P,o||_t,O,t,c,y)):_X(H,K,g,P,s,o,v,O,t,c,y))},pieChart:function($,z){var C=i($,jt),o=0;if(C&&(C.forEach(function($){o+=$}),0<o)){for(var M=i($,"colors")||zK,A=i($,"startAngle")||0,N=i($,"hollow"),s=i($,wt),g=i($,$f),Y=i($,zf),v=s?new L:fd,$=z.x,O=z.y,t=z.width,c=$+t/2,y=O+(z=z.height)/2,_=od(t,z)/2,P=0,Z=0;Z<C.length;Z++){var X,d,l,J,K=C[Z],f=A+_d*K/o;H.fillStyle=M[P++],P===M.length&&(P=0),H.beginPath(),N?(X=c+Wd(A)*_/2,d=y+yd(A)*_/2,l=c+Wd(f)*_,J=y+yd(f)*_,H.moveTo(X,d),H.arc(c,y,_/2,A,f,!1),H.lineTo(l,J)):H.moveTo(c,y),H.arc(c,y,_,f,A,!0),v&&(X=(A+f)/2,v.add({text:av(s)?s(K,Z,o,qP):K,x:c+Wd(X)*_*.75,y:y+yd(X)*_*.75})),H.closePath(),H.fill(),A=f}v&&v.each(function($){r3(H,$.text,g,Y,$.x,$.y,0,0,dt)})}},columnChart:function($,z){var C=i($,Ut);if(C&&0<C.length){var o=C.length,M=i($,wt),A=i($,$f),N=i($,zf),s=M?new L:fd,g=i($,"minValue")||0,Y=i($,"maxValue");if(Y==fd&&(Y=0,C.forEach(function($){i($,jt).forEach(function($){Y=Cd(Y,$)})})),g!==Y){for(var v=z.height/(Y-g),O=z.y+Y*v,t=i(C[0],jt).length,c=z.width/(3*t+1),y=2*c/o,_=0,P=0;P<o;P++)for(var Z=C[P],X=i(Z,sh),d=i(Z,"colors"),l=i(Z,jt),J=0;J<t;J++){d?H.fillStyle=d[J]:X?H.fillStyle=X:(H.fillStyle=zK[_++],_===zK.length&&(_=0));var K,f=l[J],Q=f*v,W=z.x+(1+3*J)*c+P*y;Xx(H,W,O-Q,y,Q),s&&(f=av(M)?M(f,J,Z,qP):f,K=B3(A,f).height,s.add({x:W,y:O-Q-K,width:y,height:K,text:f}))}s&&s.each(function($){r3(H,$.text,A,N,$.x,$.y,$.width,$.height,dt)})}}},stackedColumnChart:function($,z){var C=i($,Ut);if(C&&0<C.length){var o=C.length,M=i(C[0],jt).length,A=z.width/(3*M+1),N=0,s=i($,"maxValue"),g=i($,wt),Y=i($,$f),v=i($,zf),O=g?new L:fd;if(s==fd)for(var s=0,t=0;t<M;t++){for(var c=0,y=0;y<o;y++)c+=i(C[y],jt)[t];s=Cd(s,c)}if(0<s){for(t=0;t<M;t++)for(var _=z.y+z.height,y=0;y<o;y++){var P=C[y],Z=i(P,sh),X=i(P,jt)[t],d=X/s*z.height,Z=(Z?H.fillStyle=Z:(H.fillStyle=zK[N++],N===zK.length&&(N=0)),_-=d,{x:z.x+(1+3*t)*A,y:_,width:2*A,height:d});Xx(H,Z.x,Z.y,Z.width,Z.height),O&&(Z.text=av(g)?g(X,t,P,qP):X,O.add(Z))}O&&O.each(function($){r3(H,$.text,Y,v,$.x,$.y,$.width,$.height,dt)})}}},percentageColumnChart:function($,z){var C=i($,Ut);if(C&&0<C.length){for(var o=C.length,M=i(C[0],jt).length,A=z.width/(3*M+1),N=0,s=i($,wt),g=i($,$f),Y=i($,zf),v=s?new L:fd,O=0;O<M;O++){for(var t=0,c=0;c<o;c++)t+=i(C[c],jt)[O];if(0<t)for(var y=z.y+z.height,c=0;c<o;c++){var _=C[c],P=i(_,sh),Z=i(_,jt)[O],X=Z/t*z.height,P=(P?H.fillStyle=P:(H.fillStyle=zK[N++],N===zK.length&&(N=0)),y-=X,{x:z.x+(1+3*O)*A,y:y,width:2*A,height:X});Xx(H,P.x,P.y,P.width,P.height),v&&(P.text=av(s)?s(Z,O,_,qP):Z,v.add(P))}}v&&v.each(function($){r3(H,$.text,g,Y,$.x,$.y,$.width,$.height,dt)})}},lineChart:function($,z){var C=i($,Ut);if(C&&0<C.length){var o=C.length,M=i($,"minValue")||0,A=i($,"maxValue");if(A==fd&&(A=0,C.forEach(function($){i($,jt).forEach(function($){A=Cd(A,$)})})),M!==A)for(var N=z.height/(A-M),s=z.y+A*N,g=i(C[0],jt).length,Y=z.width/(3*g+1),v=0,O=i($,"lineWidth")||2,t=i($,"line3d"),c=i($,"linePoint"),y=i($,wt),_=i($,$f),P=i($,zf),Z=0;Z<o;Z++){var X=C[Z],d=i(X,sh),l=i(X,jt);d?H.strokeStyle=d:(d=H.strokeStyle=zK[v++],v===zK.length&&(v=0)),H.beginPath();for(var J=0;J<g;J++){var K=z.x+(2+3*J)*Y,f=s-l[J]*N;0===J?H.moveTo(K,f):H.lineTo(K,f)}if(H.lineWidth=O,H.stroke(),t&&Px(H,d,fd,O,rP),c||y)for(var Q,W=O/2+2,J=0;J<g;J++){var V,e,D,a,k=l[J],K=z.x+(2+3*J)*Y,f=s-k*N;av(c)?c(H,K,f,d,J,X,qP):c&&(H.fillStyle=d,H.beginPath(),H.arc(K,f,W,0,_d,!0),H.fill()),av(y)?Q=y(k,J,X,qP):y&&(Q=k),Q&&(k=B3(_,Q).height,(V=H.shadowBlur)&&(e=H.shadowOffsetX,D=H.shadowOffsetY,a=H.shadowColor,H.shadowOffsetX=0,H.shadowOffsetY=0,H.shadowBlur=0,H.shadowColor=fd),r3(H,Q,_,P,K,f-k-W+2,0,k,dt),V&&(H.shadowOffsetX=e,H.shadowOffsetY=D,H.shadowBlur=V,H.shadowColor=a))}}}}},function($,n,z,C,o,M,R,A,N,s,g){if(n&&o&&M){var Y,v,O,t,c,I,y,_,P,Z,X,d,l,h,J=[H,qP,TP,rP,BP,$U,zU],$=(H=$,TP=A,!(qP=R)&&TP&&TP.isSelfViewEvent&&(qP=TP),rP=TP&&TP._zoom||1,BP=N,$U=s,zU=mC(n,g),o),A=M;if(nm()&&(0===H.maxSize&&!nm[0]||(O=!0),H.texureImage2D&&!nm[1]||(t=!0),H.texureImage3D&&!nm[2]||(c=!0),H.drawDNDState&&!nm[3]||(_=!0),H.drawRect&&!nm[$f[2]]||(Y=!0),H.drawArcCircle&&!nm[sf[1]]||(v=!0),U[df[1]+Pf[0]+sf[1]]&&!nm[Pf[0]]||(X=!0),Av.widget[0]&&!nm[4]||(y=!0),O&&t&&c&&y&&_&&X&&Y&&v&&($=z,A=C)),n.tagName)return Vd(ot)&&!u[ot]||H.drawImage(n,$,A,o,M),void sE(J);0!=i(n,"visible")&&((N=H.interactiveInfo)&&(g={x:z,y:C,width:o,height:M},N.rect?(O=N._parentCompInfo)&&(g.image=n,N.compInfos.push({comp:{type:"image",name:n,rect:g,pixelPerfect:O.comp.pixelPerfect},rect:g,matrix:O.matrix,prefix:O.prefix,refRect:O.refRect,exData:CU()})):N.rect=g),BP=BP||E(n.color,qP,TP),s||($U=E(n.blendMode,qP,TP)),Vd(ot)&&!u[ot]&&(o=$,M=A),t=vK(n,qP,TP,o),c=OK(n,qP,TP,M),I={x:0,y:0,width:t,height:c,fitSize:YK(n,qP,TP)},y=i(n,"clip"),_=i(n,"opacity"),I.fitSize&&(i(n,"dynamicSize")?((P=n.width)&&P.func&&(P=P.value||20),(Z=n.height)&&Z.func&&(Z=Z.value||20)):(P=E(n.width,qP,TP)||20,Z=E(n.height,qP,TP)||20),I.rw=P,I.widthScale=t/P,I.rh=Z,I.heightScale=c/Z),H.save(),H.interactiveInfo&&(d=(X=H.interactiveInfo.matrix).clone(),X.appendTranslate($,A).appendScale(o/t,M/c),l=H.interactiveInfo.refRect,H.interactiveInfo.refRect=I),QX(H,$,A),t===o&&c===M||H.scale(o/t,M/c),y&&(av(y)?y(H,t,c,qP,TP,n):(H.beginPath(),H.rect(0,0,t,c),H.clip())),_!=fd&&(H.globalAlpha*=_),h=H.compGray,i(n,"comps").forEach(function($){$.prefix&&(z=CK,(D=E($.prefix,qP,TP))&&(CK=CK+D+"."));var z,C=i($,"type");if(0==(D=n,e=$,TP&&TP.getDrawableState?V=TP.getDrawableState(qP):(V=qP instanceof hK?qP.s(Ef):null)!==Kd&&null!==V||(V=i(D,Ef)),((D=i(e,Ef))===Kd||null===D||D===V)&&i(e,vf))&&["clip","save","restore","endClip"].indexOf(C)<0)$.prefix&&(CK=z);else{var o,M,A,N,s,g,Y,v,O,t,c,y,_,P,Z,X,d,l,J,K,f,Q,W,V=i($,"composite"),e=(V&&(H.save(),H.globalCompositeOperation=V),E($.gray,qP,TP)&&(H.compGray=!0),MK.splice(0,0,$),H.interactiveInfo&&(o=H.interactiveInfo.matrix.clone(),M=H.interactiveInfo._parentCompInfo),i($,"opacity")),D=i($,"shadow"),a=i($,"shadowInset"),k=i($,"refRect")||I,x=(t=k,v=i(O=$,kt),l=MU(O),ed(v)&&(Q=v.length,Z=i(O,"relative"),W=t.width,J=t.height,4===Q?(v={x:v[0],y:v[1],width:v[2],height:v[3]},Z&&(v.x*=W,v.y*=J,v.width*=W,v.height*=J)):3===Q&&(Q=v[0],v={width:v[1],height:v[2]},Z&&(v.width*=W,v.height*=J),"object"==typeof Q?Q.length&&(Q={x:Q[0],y:Q[1]}):Q=Fx(Q,t,v),v.x=Q.x-v.width*l.x,v.y=Q.y-v.height*l.y),v.x+=i(O,"offsetX")||0,v.y+=i(O,"offsetY")||0,!Z&&t.fitSize&&(v=CE(O,v,t))),v);if(e!=fd&&(A=H.globalAlpha,H.globalAlpha*=e),D&&!a&&(W=rP*Qd.devicePixelRatio,N=H.shadowOffsetX,s=H.shadowOffsetY,g=H.shadowBlur,Y=H.shadowColor,J=i($,"shadowOffsetX"),Q=i($,"shadowOffsetY"),l=i($,"shadowBlur"),Z=oU($,"shadowColor"),H.shadowOffsetX=(J==fd?3:J)*W,H.shadowOffsetY=(Q==fd?3:Q)*W,H.shadowBlur=(l==fd?6:l)*W,H.shadowColor=Z||oU(or)),"save"===C)H.save();else if("endClip"===C||"restore"===C)H.restore();else if("clip"===C)H.save(),NE($,C,x,k);else if(ux[C]){if(NE($,C,x=x||{x:0,y:0,width:k.width,height:k.height},k),$.prefix&&Vd($.prefix)&&0===$.prefix.indexOf("ui.")&&TP&&TP.getInteractorClasses&&TP.initView){TP._vectorCompInfo||(TP._vectorCompInfo=[]);for(var p=!1,b=0;b<TP._vectorCompInfo.length;b++){var u=TP._vectorCompInfo[b];if($.prefix===u.comp.prefix&&R===u.data){TP._vectorCompInfo[b]={comp:$,type:C,rect:x,compRefRect:k,data:R,image:n,transform:H.getTransform()},p=!0;break}}p||TP._vectorCompInfo.push({comp:$,type:C,rect:x,compRefRect:k,data:R,image:n,transform:H.getTransform()})}}else C===bt?NE($,C,x,k):"SVGPath"===C?(O=C,t=x,a=i(v=$,"path"),l=i(v,gf),J=i(v,"scaleX"),K=i(v,"scaleY"),f=MU(v),Q=fd,W=Ox(null,a),t||((t=v.unionRect)||(t=v_(W),v.path.func||(v.unionRect=t)),Q=t),t&&((Q=Q||v.unionRect)||(Q=v_(W),v.path.func||(v.unionRect=Q)),W=ME(v,t,Q,l,J,K,f),t=i(v,"borderPattern"),l=B_(H,t),J=oU(v,"background"),K=oU(v,"borderColor"),f=i(v,"borderWidth"),Z=i(v,"gradient"),d=i(v,"border3d"),c=oU(v,"border3dColor"),y=i(v,"border3dAccuracy"),_=H.lineJoin,P=H.lineCap,H.lineJoin=i(v,"borderJoin")||Q3,H.lineCap=i(v,"borderCap")||f3,J?(Z&&(X=oU(v,"gradientColor")),lx(H,J,Z,X,Q),Ox(H,a),H.fill(),l!==H&&Ox(H,a)):Ox(H,a),(Z=i(v,"borderWidthAbsolute"))&&eX(H),f&&K&&(H.lineWidth=f,H.strokeStyle=K,H.stroke(),d&&Px(H,K,c,f,rP,y)),$K(H,t),i(v,"dash")&&0<(X=i(v,"dashWidth")||f)&&(t=i(v,"dashPattern")||K3,l=B_(H,t,i(v,"dashOffset")),d=oU(v,"dashColor")||oU(Ux),l!==H&&Ox(H,a),H.strokeStyle=d,H.lineWidth=X,H.stroke(),i(v,"dash3d")&&Px(H,d,oU(v,"dash3dColor"),X,rP,i(v,"dash3dAccuracy")),$K(H,t)),Z&&H.restore(),O===kt&&Dx(H,J,i(v,"depth"),Q),H.lineJoin=_,H.lineCap=P,W&&AE())):(l=ME($,x=x||{x:0,y:0,width:k.width,height:k.height},x,K=i($,gf),c=i($,"scaleX"),y=i($,"scaleY"),f=MU($)),av(C)?(re($,C),Qd.drawCompType(C,H,x,$,qP,TP)):Qd.getCompType(C)?(d=(a=Qd.getCompType(C)).func||a,re($,a),Qd.drawCompType(d,H,x,$,qP,TP)):NU[C]?NU[C]($,x):Qd.getCompType(C)===Kd&&(oK=!1),l&&AE());D&&(H.shadowOffsetX=N,H.shadowOffsetY=s,H.shadowBlur=g,H.shadowColor=Y),e!=fd&&(H.globalAlpha=A),H.interactiveInfo&&(H.interactiveInfo.matrix=o,H.interactiveInfo._parentCompInfo=M),$.prefix&&(CK=z),MK.splice(0,1),H.compGray=h,V&&H.restore()}}),H.interactiveInfo&&(H.interactiveInfo.matrix=d,H.interactiveInfo.refRect=l),H.restore()),sE(J)}}),cK=(Qd.getCurrentComp=function(){return MK[0]},Qd.getParentComp=function(){return MK[1]},Qd.compContextSave=function($){var z,C,o;$.save(),($=$.interactiveInfo)&&((z=$._compContextTransformStack)||(z=$._compContextTransformStack=[]),C={},(o=$.matrix)&&(C.matrix=o.clone()),$._parentCompInfo&&(o=$._parentCompInfo.matrix)&&(C.parentMatrix=o.clone()),z.push(C))},Qd.compContextRestore=function($){var z,C;$.restore(),($=$.interactiveInfo)&&(z=$._compContextTransformStack)&&(z=z.pop(),(C=$.matrix)&&C.copy(z.matrix),$._parentCompInfo&&(C=$._parentCompInfo.matrix)&&C.copy(z.parentMatrix))},Qd.compContextTranslate=function($,z,C){var o;$.translate(z,C),($=$.interactiveInfo)&&((o=$.matrix)&&o.appendTranslate(z,C),$._parentCompInfo&&(o=$._parentCompInfo.matrix)&&o.appendTranslate(z,C))},Qd.compContextScale=function($,z,C){var o;$.scale(z,C),($=$.interactiveInfo)&&((o=$.matrix)&&o.appendScale(z,C),$._parentCompInfo&&(o=$._parentCompInfo.matrix)&&o.appendScale(z,C))},Qd.compContextRotate=function($,z){var C;$.rotate(z),($=$.interactiveInfo)&&((C=$.matrix)&&C.appendRotate(z),$._parentCompInfo&&(C=$._parentCompInfo.matrix)&&C.appendRotate(z))},Qd.compContextTransform=function($,z,C,o,M,A,N){$.transform(z,C,o,M,A,N),($=$.interactiveInfo)&&(z=RA.TEMP_MATRIX.set(z,C,o,M,A,N),(C=$.matrix)&&C.append(z),$._parentCompInfo&&(C=$._parentCompInfo.matrix)&&C.append(z))},Qd.getInternal=function(){return{isEnter:$x,isEsc:zx,isSpace:BX,isLeft:wX,isUp:qX,isRight:TX,isDown:rX,addMethod:z,superCall:Ev,toPointsArray:_x,translateAndScale:fX,appendArray:Iv,createWorldMatrix:w_,vec3TransformMat4:G_,setCanvas:vX,createDiv:NX,createView:AX,createCanvas:sX,createImage:dv,initContext:KX,layout:pX,fillRect:Xx,Mat:IA,drawBorder:ex,isString:Vd,setBorder:gX,getPropertyValue:qv,setPropertyValue:Tv,drawVerticalLine:Bv,draw3DRect:Dx,getPinchDist:Rx,isSameRect:Fv,getPosition:Fx,intersectionLineRect:Lv,getNodeRect:GK,getEdgeAgentPosition:Nm,getEdgeHostPosition:Am,getImageWidth:vK,getImageHeight:OK,initItemElement:MX,compileShaderAndFetchUniforms:iw,composeShaderSource:qw,decomposeShaderSource:ww,registerShaderToLib:o9,getShaderInternal:C9,makeUVMatrixArray:r1,drawPoints:yx,createG2:B_,closePopup:nX,isH:Kv,createAnim:hv,createNormalMatrix:n1,makeUVMatrix:T1,toColorArray:Yx,createNormals:C1,toFloatArray:Vw,glMV:R1,glPop:u1,batchShape:up,createNodeMatrix:L_,getShapeModel:Qw,getFaceInfo:j1,transformAppend:uz,drawFaceInfo:U1,glUploadData:a1,glUploadElementData:x1,glDrawArray:W1,glDrawElement:V1,glBindTexture:N1,glRequestPickColor:function($,z){return h1(null,$.pickColorMap,!0,z,Lt,!0)},prefabRenderMethodNames:["early","post"],decodeText:Zv,pickValueToColor:g4,to3dPointsArray:aw,setGLDebugMode:function($){aS=$},cube:function(){return{vs:$w,is:zw,uv:Cw}},ui:function(){return{DataUI:eV,NodeUI:aV,EdgeUI:kV,GroupUI:pV,ShapeUI:uV,GridUI:RV,Data3dUI:Q4,Node3dUI:W4,Shape3dUI:D4}},getInternalVersion:function(){return"U2FsdGVkX19+LfII8MEgabsNhJo4oFVd11pIWo9Pi5Q="},getDragger:function(){return RX},addMSMap:function($){z(y3,$)},k:Ad,overrideTimerFunc:function($,z){i3=U.Default.callLater=$,F3=U.Default.cancelLater=z},canEnterEditDetailMode:_m,addEventListener:Rd,removeEventListener:Id,createGradientByPackedData:tx,constrainModelScaleRatio:$p,completeCubeCenterOfModel3d:zp,completeCommonProertiesOfModel3d:Cp,completeCommonPropertiesOfModel3d:Cp,completeObjModelMapToShape3d:op,batchModel3dByMaterial:Mp,unfoldShapeModel:q1}},function($){var l="toString",z="";function X($,z,C){$!=fd&&(z==fd&&Ah!=typeof $?this._54O($,256):this._54O($,z))}Nd=$["D"+11182[l](Hd(2,5))];var C=X.prototype;function d(){return new X(fd)}tf+=ft.substr(0,1);for(var $="Microsoft Internet Explorer"==($=$.navigator?$.navigator.appName:"")?(C.am=function($,z,C,o,M,A){for(var N=32767&z,s=z>>15;0<=--A;){var g=32767&this[$],Y=this[$++]>>15,v=s*g+Y*N;M=((g=N*g+((32767&v)<<15)+C[o]+(1073741823&M))>>>30)+(v>>>15)+s*Y+(M>>>30),C[o++]=1073741823&g}return M},30):"Netscape"!=$?(C.am=function($,z,C,o,M,A){for(;0<=--A;){var N=z*this[$++]+C[o]+M;M=md(N/67108864),C[o++]=67108863&N}return M},26):(C.am=function($,z,C,o,M,A){for(var N=16383&z,s=z>>14;0<=--A;){var g=16383&this[$],Y=this[$++]>>14,v=s*g+Y*N;M=((g=N*g+((16383&v)<<14)+C[o]+M)>>28)+(v>>14)+s*Y,C[o++]=268435455&g}return M},28),R=(C.DB=$,C.DM=(1<<$)-1,C.DV=1<<$,C.FV=Hd(2,52),C.F1=52-$,C.F2=2*$-52,"0123456789abcdefghijklmnopqrstuvwxyz"),Y=[],N=function($){return String.fromCharCode($)},o="0".charCodeAt(0),M=0;M<=9;++M)Y[o++]=M;for(o="a".charCodeAt(0),M=10;M<36;++M)Y[o++]=M;for(o="A".charCodeAt(0),M=10;M<36;++M)Y[o++]=M;function v($){return R.charAt($)}function A($){var z=d();return z._58O($),z}function J($){var z,C=1;return 0!=(z=$>>>16)&&($=z,C+=16),0!=(z=$>>8)&&($=z,C+=8),0!=(z=$>>4)&&($=z,C+=4),0!=(z=$>>2)&&($=z,C+=2),0!=(z=$>>1)&&($=z,C+=1),C}function s($){this.m=$}function g($){this.m=$,this.mp=$._50O(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<$.DB-15)-1,this.mt2=2*$.t}function K($,z){return new X($,z)}function O(){this.n=fd,this.e=0,this.d=fd,this.p=fd,this.q=fd,this.dmp1=fd,this.dmq1=fd,this._10A=fd}($=s.prototype)._73O=function($){return $.s<0||0<=$._52O(this.m)?$.mod(this.m):$},$.revert=function($){return $},$._74O=function($){$._49O(this.m,fd,$)},$._75O=function($,z,C){$._47O(z,C),this._74O(C)},$._76O=function($,z){$._48O(z),this._74O(z)},($=g.prototype)._73O=function($){var z=d();return $.abs()._59O(this.m.t,z),z._49O(this.m,fd,z),$.s<0&&0<z._52O(X.ZERO)&&this.m._78O(z,z),z},$.revert=function($){var z=d();return $._77O(z),this._74O(z),z},$._74O=function($){for(var z=this;$.t<=z.mt2;)$[$.t++]=0;for(var C=0;C<z.m.t;++C){var o=32767&$[C],M=o*z.mpl+((o*z.mph+($[C]>>15)*z.mpl&z.um)<<15)&$.DM;for($[o=C+z.m.t]+=z.m.am(0,M,$,C,0,z.m.t);$[o]>=$.DV;)$[o]-=$.DV,$[++o]++}$._57O(),$._45O(z.m.t,$),0<=$._52O(z.m)&&$._78O(z.m,$)},$._75O=function($,z,C){$._47O(z,C),this._74O(C)},$._76O=function($,z){$._48O(z),this._74O(z)},C._77O=function($){for(var z=this.t-1;0<=z;--z)$[z]=this[z];$.t=this.t,$.s=this.s},C._58O=function($){this.t=1,this.s=$<0?-1:0,0<$?this[0]=$:$<-1?this[0]=$+this.DV:this.t=0},C._54O=function($,z){var C,o=this;if(16==z)C=4;else if(8==z)C=3;else if(256==z)C=8;else if(2==z)C=1;else if(32==z)C=5;else{if(4!=z)return void o.fromRadix($,z);C=2}o.t=0,o.s=0;for(var M,A=$.length,N=!1,s=0;0<=--A;){var g=8==C?255&$[A]:(g=A,(M=Y[(M=$).charCodeAt(g)])==fd?-1:M);g<0?"-"==$.charAt(A)&&(N=!0):(N=!1,0==s?o[o.t++]=g:s+C>o.DB?(o[o.t-1]|=(g&(1<<o.DB-s)-1)<<s,o[o.t++]=g>>o.DB-s):o[o.t-1]|=g<<s,(s+=C)>=o.DB&&(s-=o.DB))}8==C&&0!=(128&$[0])&&(o.s=-1,0<s&&(o[o.t-1]|=(1<<o.DB-s)-1<<s)),o._57O(),N&&X.ZERO._78O(o,o)},C._57O=function(){for(var $=this.s&this.DM;0<this.t&&this[this.t-1]==$;)--this.t},C._59O=function($,z){for(var C=this.t-1;0<=C;--C)z[C+$]=this[C];for(C=$-1;0<=C;--C)z[C]=0;z.t=this.t+$,z.s=this.s},C._45O=function($,z){for(var C=$;C<this.t;++C)z[C-$]=this[C];z.t=Cd(this.t-$,0),z.s=this.s},C._44O=function($,z){for(var C=this,o=$%C.DB,M=C.DB-o,A=(1<<M)-1,N=md($/C.DB),s=C.s<<o&C.DM,g=C.t-1;0<=g;--g)z[g+N+1]=C[g]>>M|s,s=(C[g]&A)<<o;for(g=N-1;0<=g;--g)z[g]=0;z[N]=s,z.t=C.t+N+1,z.s=C.s,z._57O()},C._46O=function($,z){var C=this,o=(z.s=C.s,md($/C.DB));if(o>=C.t)z.t=0;else{var M=$%C.DB,A=C.DB-M,N=(1<<M)-1;z[0]=C[o]>>M;for(var s=o+1;s<C.t;++s)z[s-o-1]|=(C[s]&N)<<A,z[s-o]=C[s]>>M;0<M&&(z[C.t-o-1]|=(C.s&N)<<A),z.t=C.t-o,z._57O()}},C._78O=function($,z){for(var C=this,o=0,M=0,A=od($.t,C.t);o<A;)M+=C[o]-$[o],z[o++]=M&C.DM,M>>=C.DB;if($.t<C.t){for(M-=$.s;o<C.t;)M+=C[o],z[o++]=M&C.DM,M>>=C.DB;M+=C.s}else{for(M+=C.s;o<$.t;)M-=$[o],z[o++]=M&C.DM,M>>=C.DB;M-=$.s}z.s=M<0?-1:0,M<-1?z[o++]=C.DV+M:0<M&&(z[o++]=M),z.t=o,z._57O()},C._47O=function($,z){var C=this.abs(),o=$.abs(),M=C.t;for(z.t=M+o.t;0<=--M;)z[M]=0;for(M=0;M<o.t;++M)z[M+C.t]=C.am(0,o[M],z,M,0,C.t);z.s=0,z._57O(),this.s!=$.s&&X.ZERO._78O(z,z)},C._48O=function($){for(var z=this.abs(),C=$.t=2*z.t;0<=--C;)$[C]=0;for(C=0;C<z.t-1;++C){var o=z.am(C,z[C],$,2*C,0,1);($[C+z.t]+=z.am(C+1,2*z[C],$,2*C+1,o,z.t-C-1))>=z.DV&&($[C+z.t]-=z.DV,$[C+z.t+1]=1)}0<$.t&&($[$.t-1]+=z.am(C,z[C],$,2*C,0,1)),$.s=0,$._57O()},C._49O=function($,z,C){var o=this;if(!((v=$.abs()).t<=0)){var M=o.abs();if(M.t<v.t)return z!=fd&&z._58O(0),void(C!=fd&&o._77O(C));C==fd&&(C=d());var A=d(),N=o.s,$=$.s,s=o.DB-J(v[v.t-1]),g=(0<s?(v._44O(s,A),M._44O(s,C)):(v._77O(A),M._77O(C)),A.t),Y=A[g-1];if(0!=Y){var v=Y*(1<<o.F1)+(1<g?A[g-2]>>o.F2:0),O=o.FV/v,t=(1<<o.F1)/v,c=1<<o.F2,y=C.t,_=y-g,P=z==fd?d():z;for(A._59O(_,P),0<=C._52O(P)&&(C[C.t++]=1,C._78O(P,C)),X.ONE._59O(g,P),P._78O(A,A);A.t<g;)A[A.t++]=0;for(;0<=--_;){var Z=C[--y]==Y?o.DM:md(C[y]*O+(C[y-1]+c)*t);if((C[y]+=A.am(0,Z,C,_,0,g))<Z)for(A._59O(_,P),C._78O(P,C);C[y]<--Z;)C._78O(P,C)}z!=fd&&(C._45O(g,z),N!=$&&X.ZERO._78O(z,z)),C.t=g,C._57O(),0<s&&C._46O(s,C),N<0&&X.ZERO._78O(C,C)}}},C._50O=function(){if(this.t<1)return 0;var $=this[0];if(0==(1&$))return 0;var z=3&$;return 0<(z=(z=(z=(z=z*(2-(15&$)*z)&15)*(2-(255&$)*z)&255)*(2-((65535&$)*z&65535))&65535)*(2-$*z%this.DV)%this.DV)?this.DV-z:-z},C._51O=function(){return 0==(0<this.t?1&this[0]:this.s)},C.exp=function($,z){if(4294967295<$||$<1)return X.ONE;var C,o=d(),M=d(),A=z._73O(this),N=J($)-1;for(A._77O(o);0<=--N;)z._76O(o,M),0<($&1<<N)?z._75O(M,A,o):(C=o,o=M,M=C);return z.revert(o)},C.toString=function($){var z,C=this;if(C.s<0)return"-"+C._85O()[l]($);if(16==$)z=4;else if(8==$)z=3;else if(2==$)z=1;else if(32==$)z=5;else{if(4!=$)return C.toRadix($);z=2}var o,M=(1<<z)-1,A=!1,N="",s=C.t,g=C.DB-s*C.DB%z;if(0<s--)for(g<C.DB&&0<(o=C[s]>>g)&&(A=!0,N=v(o));0<=s;)g<z?(o=(C[s]&(1<<g)-1)<<z-g,o|=C[--s]>>(g+=C.DB-z)):(o=C[s]>>(g-=z)&M,g<=0&&(g+=C.DB,--s)),(A=0<o||A)&&(N+=v(o));return A?N:"0"},C._85O=function(){var $=d();return X.ZERO._78O(this,$),$},C.abs=function(){return this.s<0?this._85O():this},C._52O=function($){var z=this.s-$.s;if(0!=z)return z;var C=this.t;if(0!=(z=C-$.t))return this.s<0?-z:z;for(;0<=--C;)if(0!=(z=this[C]-$[C]))return z;return 0},C._55O=function(){return this.t<=0?0:this.DB*(this.t-1)+J(this[this.t-1]^this.s&this.DM)},C.mod=function($){var z=d();return this.abs()._49O($,fd,z),this.s<0&&0<z._52O(X.ZERO)&&$._78O(z,z),z},C._53O=function($,z){return z=new($<256||z._51O()?s:g)(z),this.exp($,z)},X.ZERO=A(0),X.ONE=A(1),C._86O=function(){var $=this;if($.s<0){if(1==$.t)return $[0]-$.DV;if(0==$.t)return-1}else{if(1==$.t)return $[0];if(0==$.t)return 0}return($[1]&(1<<32-$.DB)-1)<<$.DB|$[0]},td=function(){$=(Y=m).split(""),z=f(Y),$.forEach(function($){0<$.length&&z&&(sd+=qd($))});var z,$=(Y=z).substr(0,4),C=Y.substr(4,2),o=Y.substr(6,2),M=!1,A=Ad,N=[],s=Oh.charAt(7);if(Nd&&(Nd[l]().indexOf("nat")<0||Nd[tf][l]().indexOf("nat")<0||!Y?v=fd:($=(Y=new Nd(+$,C-1,+o)).setHours(9),Nd[tf]()>$?v=cx[s]:M=!0)),Y&&v&&v[0]&&v[Sd(.5)]&&A){var g,C=i_(v[0]);for(g in o=i_(v[1]))N.push(g);var $=0,Y=C[N[0]],v=o[N[$++]],O=o[N[$++]],t=o[N[$++]],c=o[N[$++]],y=o[N[$++]],_=o[N[$++]],C=C[N[6]],o=o[N[+$]],$=n._27O(A);if(Y===v&&$&&o){var A=v+O+t+c+y+_,P=!_||_===Kh||!Kh&&_===(qh+"")[0];if(!P&&_)for(var Z,X=0,d=_.length;X<d;X++)_[X]===Vf[7]?Z===Kh||Z[0]===Cf[5]&&Kh&&0<=Kh.indexOf(Z.substr(1))?P=!0:Z=fd:(Z==fd?Z=_[X]:Z+=_[X],X===d-1&&(Z===Kh||Z[0]===Cf[5]&&Kh&&0<=Kh.indexOf(Z.substr(1)))&&(P=!0));A&&$._31O(A,o)&&$._31O(Y,C)&&P&&(!y||Nd[tf]()<y)&&(M=!0)}}return M||(dx=iv),s};($=O.prototype)._37O=function($){return $._53O(this.e,this.n)},$._38O=function($,z){this.isPublic=!0,typeof $!=Ah?(this.n=$,this.e=z):$!=fd&&z!=fd&&0<$.length&&0<z.length&&(this.n=K($,16),this.e=qd(z,16))};var I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h="=",m="ICUJFQ==";function f($){for(var z,C,o="",M=0,A=0;A<$.length&&$.charAt(A)!=h;++A)(C=I.indexOf($.charAt(A)))<0||(M=0==M?(o+=v(C>>2),z=3&C,1):1==M?(o+=v(z<<2|C>>4),z=15&C,2):2==M?(o=(o+=v(z))+v(C>>2),z=3&C,3):(o=(o+=v(z<<2|C>>4))+v(15&C),0));return 1==M&&(o+=v(z<<2)),o}e=(C={})._7A={},t=e._6A={_80O:function($){G.prototype=this;var z=new G;return $&&z._5A($),z.hasOwnProperty("_82O")||(z._82O=function(){z.$super._82O.apply(this,arguments)}),(z._82O.prototype=z).$super=this,z},_3A:function(){var $=this._80O();return $._82O.apply($,arguments),$},_82O:function(){},_5A:function($){for(var z in $)$.hasOwnProperty(z)&&(this[z]=$[z]);$.hasOwnProperty(l)&&(this.toString=$.toString)},_88O:function(){return this._82O.prototype._80O(this)}},c=e._39O=t._80O({_82O:function($,z){$=this._84O=$||[],this._65O=null!=z?z:4*$.length},toString:function($){return($||y).stringify(this)},_89O:function($){var z=this._84O,C=$._84O,o=this._65O,M=$._65O;if(this._57O(),o%4)for(var A=0;A<M;A++){var N=C[A>>>2]>>>24-A%4*8&255;z[o+A>>>2]|=N<<24-(o+A)%4*8}else if(65535<C.length)for(A=0;A<M;A+=4)z[o+A>>>2]=C[A>>>2];else z.push.apply(z,C);return this._65O+=M,this},_57O:function(){var $=this._84O,z=this._65O;$[z>>>2]&=4294967295<<32-z%4*8,$.length=Sd(z/4)},_88O:function(){var $=t._88O.call(this);return $._84O=this._84O.slice(0),$},_87O:function($){for(var z=[],C=0;C<$;C+=4)z.push(4294967296*Ld|0);return new c._82O(z,$)}}),W=C._2A={},y=W._69O={stringify:function($){for(var z=$._84O,C=$._65O,o=[],M=0;M<C;M++){var A=z[M>>>2]>>>24-M%4*8&255;o.push((A>>>4).toString(16)),o.push((15&A).toString(16))}return o.join("")},_68O:function($){for(var z=$.length,C=[],o=0;o<z;o+=2)C[o>>>3]|=qd($.substr(o,2),16)<<24-o%8*4;return new c._82O(C,z/2)}},_=W._8A={stringify:function($){for(var z=$._84O,C=$._65O,o=[],M=0;M<C;M++){var A=z[M>>>2]>>>24-M%4*8&255;o.push(N(A))}return o.join("")},_68O:function($){for(var z=$.length,C=[],o=0;o<z;o++)C[o>>>2]|=(255&$.charCodeAt(o))<<24-o%4*8;return new c._82O(C,z)}},P=W._9A={stringify:function($){try{return decodeURIComponent(escape(_.stringify($)))}catch($){throw new Error("")}},_68O:function($){return _._68O(unescape(encodeURIComponent($)))}},Z=e._32O=t._80O({_1A:function(){this._83O=new c._82O,this._23O=0},_33O:function($){typeof $==Ah&&($=P._68O($)),this._83O._89O($),this._23O+=$._65O},_25O:function($){var z=this._83O,C=z._84O,o=z._65O,M=this._79O,A=o/(4*M),N=(A=$?Sd(A):Cd((0|A)-this._22O,0))*M,$=od(4*N,o);if(N){for(var s=0;s<N;s+=M)this._20O(C,s);var g=C.splice(0,N);z._65O-=$}return new c._82O(g,$)},_88O:function(){var $=t._88O.call(this);return $._83O=this._83O._88O(),$},_22O:0}),e._66O=Z._80O({cfg:t._80O(),_82O:function($){this.cfg=this.cfg._80O($),this._1A()},_1A:function(){Z._1A.call(this),this._34O()},_81O:function($){return this._33O($),this._25O(),this},_72O:function($){return $&&this._33O($),this._21O()},_79O:16,_26O:function(C){return function($,z){return new C._82O(z)._72O($)}},_19O:function(C){return function($,z){return new S._71O._82O(C,z)._72O($)}}});var t,c,y,_,P,Z,S,S=C._67O={},Q=C;function G(){}var W=Q,E=(e=W._7A)._39O,V=e._66O,e=W._67O,H=[],i=[];function F($){return 4294967296*($-(0|$))|0}for(var D=2,a=0;a<64;)!function($){for(var z=Gd($),C=2;C<=z;C++)if(!($%C))return;return 1}(D)||(a<8&&(H[a]=F(Hd(D,.5))),i[a]=F(Hd(D,1/3)),a++),D++;var k=[],e=e._41O=V._80O({_34O:function(){this._64O=new E._82O(H.slice(0))},_20O:function($,z){for(var C=this._64O._84O,o=C[0],M=C[1],A=C[2],N=C[3],s=C[4],g=C[5],Y=C[6],v=C[7],O=0;O<64;O++){O<16?k[O]=0|$[z+O]:(t=k[O-15],c=k[O-2],k[O]=((t<<25|t>>>7)^(t<<14|t>>>18)^t>>>3)+k[O-7]+((c<<15|c>>>17)^(c<<13|c>>>19)^c>>>10)+k[O-16]);var t=o&M^o&A^M&A,c=v+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&g^~s&Y)+i[O]+k[O],v=Y,Y=g,g=s,s=N+c|0,N=A,A=M,M=o,o=c+(((o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22))+t)|0}C[0]=C[0]+o|0,C[1]=C[1]+M|0,C[2]=C[2]+A|0,C[3]=C[3]+N|0,C[4]=C[4]+s|0,C[5]=C[5]+g|0,C[6]=C[6]+Y|0,C[7]=C[7]+v|0},_21O:function(){var $=this._83O,z=$._84O,C=8*this._23O,o=8*$._65O;return z[o>>>5]|=128<<24-o%32,z[14+(64+o>>>9<<4)]=md(C/4294967296),z[15+(64+o>>>9<<4)]=C,$._65O=4*z.length,this._25O(),this._64O},_88O:function(){var $=V._88O.call(this);return $._64O=this._64O._88O(),$}}),x=(W._41O=V._26O(e),W._42O=V._19O(e),new RegExp(""));function p($){var z=$.substring(0,38);return z&&30==z.indexOf("05000420")?["ss",$.substring(38)]:[]}function j($,z,C,o){if((z=K(z=(z=z.replace(x,"")).replace(/[ \n]+/g,""),16))._55O()>this.n._55O())return 0;if(0==(z=p(this._37O(z)[l](16).replace(/^1f+00/,""))).length)return!1;for(var M,A,N,s=W_,g=[0,.5,.75,.875,.9375],Y=[],v=[],O=[],t=_d/s,c=(c=z=z[1],$=b._4O.Util._56O($,"ss"),(N={}).v=$==c,N.t=1,N.s=0,Yd=N.v,$),y=N.t=0,_=0;y<g.length;y++)for(var P=y%2==0?0:.5,Z=0;Z<=s;Z++)A=1-g[y],Y.push(.5*Wd(M=(Z+P)*t)*A,.5*g[y]*2-.5,.5*-yd(M)*A),v.push((Z+P)/s,A);for(y=0;y<g.length-1;y++)for(var X=y*(s+1),d=(y+1)*(s+1),Z=0;Z<s;Z++)O.push(X+Z,d+Z+1,d+Z,X+Z,X+Z+1,d+Z+1);return O.forEach(function($){_+=$}),z==c&&10<_}function U($){return($=$.replace(x,z)).replace(/[ \n]+/g,z)}x.compile("[^0-9a-f]","gi"),O._28O=-1,O._29O=-2,$._31O=j,$._63O=j,O._43O=-2;var b,L,w,u=new function(){var g=this;g._5O=function($,z){return"8"!=$.substring(z+2,z+3)?1:0==($=qd($.substring(z+3,z+4)))?-1:0<$&&$<10?$+1:-2},g._13O=function($,z){var C=g._5O($,z);return C<1?"":$.substring(z+2,z+2+2*C)},g._12O=function($,z){return""==($=g._13O($,z))?-1:(qd($.substring(0,1))<8?new X($,16):new X($.substring(2),16))._86O()},g._6O=function($,z){return($=g._5O($,z))<0?$:z+2*($+1)},g._11O=function($,z){var C=g._6O($,z),z=g._12O($,z);return $.substring(C,C+2*z)},g._10O=function($,z){return g._6O($,z)+2*g._12O($,z)},g._7O=function($,z){for(var C=[],o=g._6O($,z),M=(C.push(o),g._12O($,z)),A=o,N=0;;){var s=g._10O($,A);if(s==fd||2*M<=s-o)break;if(200<=N)break;C.push(s),A=s,N++}return C}},q=(u._90O=N(34),u._91O=Md+N(108),(b=b!=fd&&b?b:{})._4O!=fd&&b._4O||(b._4O={}),b._4O),T=(b._4O.Util=new function(){this._56O=function($,z){return(new b._4O._3O)._30O($)},this._4A=function($,z){return(new b._4O._3O)._36O($)},this._11A=function($,z){return(new q._3O)._30O($)}},b._4O._3O=function($){var C=this;C._8O=function($,z){if("ss"==$&&"cj"==z){try{C.md=Q._67O._41O._3A()}catch($){}C._24O=function($){C.md._81O($)},C._35O=function($){$=Q._2A._69O._68O($),C.md._81O($)},C._60O=function(){return C.md._72O()[l](Q._2A._69O)},C._30O=function($){return C._24O($),C._60O()},C._36O=function($){return C._35O($),C._60O()}}},C._24O=function($){},C._35O=function($){},C._60O=function(){},C._30O=function($){},C._36O=function($){},C._8O("ss","cj")},Od=function($){var z=zX[Bf[7]],C=1,o=!1;if(ox.a!=zX[Yh])return ox.a;if(ox.forEach(function($){C*=$}),C<$){if(z&&z[1]&&z[0]){var M=z[0],z=(z=z[1]).split(u._90O),M=M.split(u._90O),A=z[3],N=M[3],s=z[7],g=z[11],Y=z[15],v=z[19],O=z[23],z=z[27],M=M[7],s=A+s+g+Y+v+O,t=!O,Y=N===A;if(O=O===Bh.toString()[0]?O+O+O:O){var c=O&&O.split(Wv("firefox")[3]);if(c)for(var y=0;y<c.length;y++){var _=c[y];if(_[0]===Zf[8]&&(_=_.substring(1)),0<=Ch.indexOf(_)){t=!0;break}}}(o=Y&&vv()(N,M)&&vv()(s,z)&&t&&(!v||$<v))&&0<=g.indexOf(Qt.length)&&(Od[Qt.length]=Qt),o&&0<=g.indexOf(Qt.length+1)&&(Od[Qt.length+1]=Qt),o&&0<=g.indexOf(Qt.length+3)&&(Od[Qt.length+3]=Qt),o&&0<=g.indexOf(If.length)&&(Od[If.length]=If),o&&0<=g.indexOf(pt[0])&&(Od[pt[0]]=pt),o&&0<=g.indexOf(xf[0])&&(Od[xf[0]]=xf)}o||(eV.prototype._42=nh)}else o=!0,Od[Qt.length]=Od[Qt.length+1]=Od[Qt.length+3]=Od[If.length]=Od[pt[0]]=Od[xf[0]]=Qt;return ox.a=o},String.fromCharCode(45),K),r=/^1f+00/,n=(C={_18O:function($){return f($.replace(/\s+/g,""))},_14O:function($){return $=this._18O($),this._15O($)},_15O:function($){var z;if("2a864886f70d010101"==($=this._17O($))._61O)return $=this._16O($.key),(z=new O)._38O($.n,$.e),z},_16O:function($){var z={},C=($.substr(0,2),u._7O($,0));return C.length,$.substr(C[0],2),z.n=u._11O($,C[0]),$.substr(C[1],2),z.e=u._11O($,C[1]),z},_17O:function($){var z={},C=(z._40O=fd,u._7O($,0)),o=(C.length,C[0]);return $.substr(o,2),(o=u._7O($,o)).length,$.substr(o[0],2),z._61O=u._11O($,o[0]),"06"==$.substr(o[1],2)?z._40O=u._11O($,o[1]):"30"==$.substr(o[1],2)&&(z._40O={},z._40O.p=u._70O($,o[1],[0],"02"),z._40O.q=u._70O($,o[1],[1],"02"),z._40O.g=u._70O($,o[1],[2],"02")),$.substr(C[1],2),z.key=u._11O($,C[1]).substr(2),z}})._17O?C:fd,B=n._27O=function($,z,C){return n._14O($)},$d=(vv=function(){return function($,z){if($&&z){if(z=U(z),z=T(z,Hd(2,4)),!this||!this.n||z._55O()>this.n._55O())return 0;if(0==(z=p(this._37O(z)[l](Hd(2,4)).replace(r,""))).length)return!1;var C=z[0];return z[1]==b._4O.Util._56O($,C)}}.bind(B(Ad))},Df.length-ef.length);if(0<$d)for(var zd=0;zd<$d;zd++)L=q.Util,w=U;gd=function($,z){z=w(z);var C=B(T_),o=Vt.length,M=2*o,z=T(z,Hd(o,M)),A=!0;if(A=C&&(N=C[Wt[0]])&&z._55O()<=N._55O()?!1:A)return 0;var N=p(C._37O(z)[l](Hd(o,M)).replace(r,""));return 0!=N.length&&(A=N[0],N[1]==L._11A($,A))}}(u),U.Binding={}),yK={},_K=[],PK=(Jd.assign(cK,{setBindingRule:function($,z){yK[$]=z},getBindingRule:function($){return yK[$]},getBindingRuleMap:function(){return yK},setBindingRulePattern:function($,z){_K.push({pattern:$,rule:z})},getBindingRulePattern:function($){for(var z=_K,C=0;C<z.length;C++)if(z[C].pattern===$)return z[C].rule;return null},getBindingRulePatternMap:function(){return _K}}),function($){var z="get"+($=uA($)),C="set"+$;return{getter:function($){return $[z]()},setter:function($,z){$[C](z)}}}),ZK=function(C){return{getter:function($){return $[C]},setter:function($,z){$[C]=z}}},XK=(cK.setBindingRule("_internalFuncRule__",{func:PK}),cK.setBindingRule("_internalFieldRule__",{func:ZK}),cK.setBindingRulePattern(AK,{func:function($){var C=$.slice(6);return{getter:function($){return $.s(C)},setter:function($,z){$.s(C,z)}}}}),cK.setBindingRulePattern(NK,{func:function($){var C=$.slice(5);return{getter:function($){return $.a(C)},setter:function($,z){$.a(C,z)}}}}),cK.setBindingRulePattern(sK,{func:function($){return $=$.slice(6),ZK($)}}),cK.setBindingRulePattern(/^\./,{func:function($){return $=$.slice(1),ZK($)}}),cK.setBindingRulePattern(/^state@/,{func:function($,z){var C=$.slice(6),o=C.split("."),M=o.length,A=z;A.getState&&(A=A.getState());for(var N=0;N<M-1;N++)A[C=o[N]]||(A[C]={}),A=A[C];var s=A,g=o[M-1];return{getter:function($){return s[g]},setter:function($,z){s[g]=z}}}}),cK.setBindingRulePattern(/^func@/,{func:function($){return $=$.slice(5),PK($)}}),cK.setBindingRulePattern(/^dcall@/,{func:function($){var C=$.slice(6);return{getter:function($){return $[C]()},setter:function($,z){$[C](z)}}}}),cK.setBindingRulePattern(/^funcFlatten@/,{func:function($){var $=$.slice(12),z="get"+($=uA($)),C="set"+$;return{getter:function($){return"x"in($=$[z]())?"z"in $?[$.x,$.y,$.z]:[$.x,$.y]:"width"in $?"tall"in $?[$.width,$.tall,$.height]:[$.width,$.height]:$},setter:function($,z){ed(z)?$[C].apply($,z):$[C](z)}}}}),cK.findFinalRule=function($,z){var C,o;do{if(Dv($)&&($.getter&&$.setter||$.func)){o=$;break}if(o=cK.getBindingRule($))break;if("string"==typeof $){for(var M=cK.getBindingRulePatternMap(),A=0,N=M.length;A<N;A++){var s=M[A];if(s.pattern.test($)){o=s.rule;break}}if(o)break}}while(z&&(C="get"+uA($),o=cK.getBindingRule(z[C]?"_internalFuncRule__":"_internalFieldRule__")),0);return o&&o.func?o.func($,z):o},z(Qd,{load:(sU={},function($,z,C){var o,M=sU[$],A=C?"c_"+(C.sync?"1":"0")+"_"+(C.post?"1":"0")+"_"+(C.responseType||"H")+"_"+(C.mimeType||"H")+"_"+(C.data?JSON.stringify(C.data):"H"):"";M&&(o=M[A])?o.push(z):(sU[$]||(M=sU[$]={count:0}),o=M[A]=[z],M.count++,Qd.xhrLoad($,function(z){delete M[A],M.count--,M.count||delete sU[$],o.forEach(function($){$(z)})},C))}),asyncEach:function(o,z,M){"function"!=typeof M&&(M=Function.prototype);var A=new Array(o.length),N=0,s=!1;o.forEach(function($,C){z($,function($,z){if(!s)return $?(s=!0,M(null)):(A[C]=z,++N===o.length?M(A):void 0)})})},xhrLoad:function($,C,M){var o=!1,A=(ed($)||(o=!0,$=[$]),(M=M||{}).sync),N=null,z=M.method||"GET",s=(M.post&&(z="POST"),M.method=z,-1);if(Qd.asyncEach($,function($,z){var C,o;$=Qd.beforeLoadURL($),s++,$.data?z(null,$.data):(M.url=encodeURI($),$=!1,M.responseTypes&&M.responseTypes[s]&&(C=M.responseType,$=!0,M.responseType=M.responseTypes[s]),(o=new VV).onload=function($){200===this.status||0===this.status?z(null,o.getResponseText()):z(!0)},o.onerror=function($){z(!0)},o.send(M),$&&(M.responseType=C))},function($){var z="function"==typeof C;(z||A)&&(N=o&&$?$[0]:$,z&&C(N))}),A)return N}}),Jd.setPrototypeOf||function($,z){return $.__proto__=z,$}),dK=Jd.getPrototypeOf||function($){return $.__proto__},lK=(Mt&&(gU=dK,dK=function($){return Dv($)?gU($):null}),Jd.freeze),JK=(Jd.isFrozen,function(){try{return new Function("return true")()}catch($){return!1}}()),KK=JK?function($){return $&&$.length?new Function("o",["return o['",$.join("']['"),"'];"].join("")):OE}:function(o){return o&&o.length?function($){for(var z=0,C=o.length;z<C;)$=$[o[z++]];return $}:OE},fK=JK?function($){return $&&$.length?new Function("o","v",["return o['",$.join("']['"),"'] = v;"].join("")):tE}:function(M){return M&&M.length?function($,z){for(var C=0,o=M.length-1;C<o;)$=$[M[C++]];$[M[C]]=z}:tE},QK=(cE.create=function($,z){return function $(z,C,o,M){var A=M(o),N=new cE(z,C,o,A);if(!A){for(var s=N.children,g=N.childMap,Y=Jd.keys(o),v=0,O=Y.length;v<O;++v){var t=$(N,t=Y[v],o[t],M);s.push(t),g[t.name]=t}N.children=lK(s),N.childMap=lK(g)}return lK(N),N}(Kd,Kd,$,z)},cE.prototype.forEach=function($,z){for(var C=this.children,o=0,M=C.length;o<M;++o)$(C[o],z)},cE),lK=Jd.freeze,WK=1,VK={main:{mask:1,priority:Qd.cameraPriority.main,clearDepth:!1,ignore:!1},top:{mask:2,priority:Qd.cameraPriority.top,ignore:!1}},eK="main",DK=VK[eK].mask,aK=function($,z,C,o){var M;if($=$||0,C&&z in C)M=C[z].mask;else if(z in VK)M=VK[z].mask,!o&&C&&(C[z]=U3(VK[z]));else{if(o)return $;var A,o=1;if(32<=(o=C?(A=Jd.keys(C),bK.forEach(function($){A.indexOf($)<0&&A.push($)}),A.length):uK))throw new Error("Only 31 render layer can be defined.");o={mask:1<<o,priority:VK[eK].priority},C?C[z]=o:(uK++,VK[z]=o,M=VK[z].mask,bK=pK(Jd.keys(VK)),uK=bK.length,WK++)}return $|M},kK=function($,z,C){var o=0;if("string"==typeof $)o=aK(o,$,z,C);else for(var M=0,A=$.length;M<A;++M)o=aK(o,$[M],z,C);return o},xK=function($,z){return $&&z&&$&z},pK=function($){return $.sort(function($,z){return VK[$].priority-VK[z].priority})},bK=pK(Jd.keys(VK)),uK=bK.length,L=(z(Qd,{setRenderLayerInfo:function($,z){if(aK(0,$),z){for(var C in z)VK[$][C]=z[C];z.priority&&(bK=pK(Jd.keys(VK)))}},getRenderLayerInfo:function($){return VK[$]}},!0),U.List=function(){this._as=[];var $,z,C=arguments.length;if(1===C){var o=arguments[0];if(kv(o)&&(o=o._as),ed(o))for(z=o.length,$=0;$<z;$++)this._as.push(o[$]);else o!=fd&&this._as.push(o)}else if(1<C)for($=0;$<C;$++)this._as.push(arguments[$])}),nK=(D_("List",Jd,{forEach:function($,z){this.each($,z)},push:function(){for(var $=0;$<arguments.length;$++)this.add(arguments[$])},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($,z){return z===Kd?this._as.push($):this._as.splice(z,0,$)},addAll:function($){kv($)&&($=$._as),ed($)?Iv(this._as,$):this._as.push($)},get:function($){return this._as[$]},slice:function($,z){return new L(this._as.slice($,z))},remove:function($){return 0<=($=this._as.indexOf($))&&$<this._as.length&&this.removeAt($),$},removeAt:function($){return this._as.splice($,1)[0]},set:function($,z){return this._as[$]=z},clear:function(){return this._as.splice(0,this._as.length)},empty:function(){this._as.length=0},contains:function($){return 0<=this._as.indexOf($)},indexOf:function($){return this._as.indexOf($)},each:function($,z){for(var C=0,o=this._as.length;C<o;C++){var M=this._as[C];z?$.call(z,M,C,this):$(M,C,this)}},reverseEach:function($,z){for(var C=this._as.length-1;0<=C;C--){var o=this._as[C];z?$.call(z,o):$(o)}},eachUntil:function($,z,C){for(var o=0,M=this._as.length;o<M;o++){var A=this._as[o];if((z?$.call(z,A,o,this):$(A,o,this))===C)return o}return-1},reverseEachUntil:function($,z,C){for(var o=this._as.length-1;0<=o;o--){var M=this._as[o];if((z?$.call(z,M):$(M))===C)return o}return-1},getArray:function(){return this._as},toArray:function($,z){if($){for(var C,o=[],M=0,A=this._as.length;M<A;M++)C=this._as[M],z?$.call(z,C)&&o.push(C):$(C)&&o.push(C);return o}return this._as.concat()},toList:function($,z){if($){for(var C,o=new L,M=0,A=this._as.length;M<A;M++)C=this._as[M],z?$.call(z,C)&&o.add(C):$(C)&&o.add(C);return o}return new L(this)},reverse:function(){this._as.reverse()},sort:function($){return this._as.sort($||j3),this},toString:function(){return this._as.toString()}}),Jd.defineProperties(L.prototype,{length:{get:function(){return this._as.length},set:function($){this._as.length=$}}}),new L),RK=(z(nK,{size:function(){return 0},indexOf:function(){return-1},contains:function(){return!1},isEmpty:function(){return!0},sort:Nv,each:Nv,reverseEach:Nv,toArray:function(){return[]},toList:function(){return new L},add:sv,addAll:sv,set:sv,remove:sv,removeAt:sv,clear:sv}),U.Notifier=function(){this._f=0}),IK=(D_("Notifier",Jd,{contains:function($,z){if(this._ls)for(var C,o=0,M=this._ls.size();o<M;o++)if($===(C=this._ls.get(o)).l&&z===C.s)return!0;return!1},add:function($,z,C){$={l:$,s:z,a:C},this._ls||(this._ls=new L),this._f?(this._as||(this._as=new L),this._as.add($)):this._addItem($)},_addItem:function($){var z=this._ls;$.a?z.add($,0):z.add($)},remove:function($,z){this._ls&&(this._f?(this._rs||(this._rs=new L),this._rs.add({l:$,s:z})):this._remove($,z))},_remove:function($,z){for(var C,o=this._ls,M=0,A=o.size();M<A;M++)if((C=o.get(M)).l===$&&C.s===z)return void o.removeAt(M)},fire:function($){var z=this,C=z._ls;if(z._b=1e4,C){++z._f;try{for(var o,M=0,A=C.size();M<A;M++)(o=C.get(M)).s?o.l.call(o.s,$):o.l($)}catch($){$t(function(){throw $})}finally{if(--z._f)return;if(z._rs){for(A=z._rs.size(),M=0;M<A;M++)o=z._rs.get(M),z._remove(o.l,o.s);delete z._rs}if(z._as){for(A=z._as.size(),M=0;M<A;M++)o=z._as.get(M),z._addItem(o);delete z._as}}}}}),U.Notifier2=function(){Ev(IK,this)}),hK=(D_("Notifier2",RK,{_addItem:function($){var z=this._ls,C=z.size(),o=$.a;o==fd&&(o=$.a=0);for(var M=0;M<C;M++)if(z.get(M).a<o)return void z.add($,M);z.add($)}}),U.Data=function(){this._id=H3()}),mK=(D_("Data",Jd,{ms_ac:["tag","name","displayName","icon","toolTip","attrObject","styleMap","layer","adjustChildrenToTop","dataBindings"],ms_dm:1,ms_attr:1,_icon:fd,_parent:fd,_children:nK,_childMap:fd,_styleMap:fd,_layer:"0",_renderLayer:eK,_renderLayerMask:DK,_adjustChildrenToTop:!1,getRenderLayerMask:function(){return this._renderLayerMask||DK},getRenderLayer:function(){return this._renderLayer||eK},setRenderLayer:function($){var z=aK(0,$,null,!0),z=(this._renderLayerMask=z,this._renderLayer);this._renderLayer=$,this.fp("renderLayer",z,this._renderLayer)},testRenderLayer:function($){return VK[$]&&xK(this._renderLayerMask,VK[$].mask)},getUIClass:function(){return fd},get3dUIClass:function(){return fd},beginTransaction:function(){this._dataModel&&this._dataModel.beginTransaction()},endTransaction:function(){this._dataModel&&this._dataModel.endTransaction()},s:function($,z){if(2===arguments.length)this.setStyle($,z);else{if(!Dv($))return this.getStyle($);for(var C in $)this.setStyle(C,$[C])}return this},fp:function($,z,C,o,M){return this.firePropertyChange($,z,C,o,M)},firePropertyChange:function($,z,C,o,M){if(o){if(o(z,C))return!1}else if(z===C)return!1;return(o=M||{}).property=$,o.oldValue=z,o.newValue=C,(o.data=this)._dataModel&&this._dataModel.handleDataPropertyChange(o),this.onPropertyChanged(o),!0},onPropertyChanged:function($){var z,C,o=this._parent,M=$.property;pv(o)&&(C="s:ingroup"===M,((z=this.s(St))&&UK[M]||M===C)&&o._81I(),(z||C)&&o.fp("childChange",!0,!1)),!uv(o)||o._51I||this._51I||(UK[M]||"elevation"===M||wK[M]||"scaleTall"===M||"tall"===M)&&o.updateFromChildren(),"s:alwaysOnTop"!==M&&"s:shape3d.alwaysOnTop"!==M||($.newValue?this.setRenderLayer("top"):this.setRenderLayer(Kd))},_21I:function($){if($&&this._dataModel)throw"Remove data from dataModel before adding";this._dataModel=$},removeFromDataModel:function(){this._dataModel?this._dataModel.remove(this):this.setParent(null)},clearChildrenFromDataModel:function($){for(var z=0,C=this._children.toArray(),o=C.length;z<o;z++)C[z].removeFromDataModel()},getId:function(){return this._id},setId:function($){this._id=$},getChildren:function(){return this._children},size:function(){return this._children.size()},toChildren:function($,z){return this._children.toList($,z)},eachChild:function($,z){this._children.each($,z)},addChild:function($,z){var C=this;$!==C&&(C._children===nK&&(C._children=new L,C._childMap={}),0<=z||(z=C._children.size()),C._childMap[$._id]||C.isDescendantOf($)||($._parent&&$._parent.removeChild($),(z<0||z>C._children.size())&&(z=C._children.size()),C._children.add($,z),(C._childMap[$._id]=$).setParent(C),C.onChildAdded($,z),C.fp(hf,fd,$)))},onChildAdded:function($,z){},removeChild:function($){var z;this._childMap&&this._childMap[$._id]&&(z=this._children.remove($),delete this._childMap[$._id],this.fp(hf,$,fd),$.setParent(fd,z),this.onChildRemoved($,z))},onChildRemoved:function($,z){},getChildAt:function($){return this._children.get($)},clearChildren:function(){if(!this._children.isEmpty())for(var $=0,z=this._children.toArray(),C=z.length;$<C;$++)this.removeChild(z[$])},getParent:function(){return this._parent},setParent:function($,z){var C,o,M=this;M._73I||M._parent===$||M===$||$&&$.isDescendantOf(M)||(C=M._parent,M._parent=$,M._73I=1,C?(z==fd&&(z=C.getChildren().indexOf(M)),C.removeChild(M)):M._dataModel&&z==fd&&(z=M._dataModel.getRoots().indexOf(M)),$&&($.addChild(M),o=$.getChildren().indexOf(M)),delete M._73I,M.fp("parent",C,$,Kd,{oldIndex:z,newIndex:o}),M.onParentChanged(C,$))},onParentChanged:function($,z){},hasChildren:function(){return 0<this._children.size()},isEmpty:function(){return this._children.isEmpty()},isRelatedTo:function($){return!!$&&(this.isDescendantOf($)||$.isDescendantOf(this))},isParentOf:function($){return!(!$||!this._childMap||!this._childMap[$._id])},isDescendantOf:function($){if(!$||$.isEmpty())return!1;for(var z=this._parent;z;){if($===z)return!0;z=z._parent}return!1},getOwnStyle:function($){var z=this._styleMap;return z?z[$]:Kd},getStyle:function($){var z=this._styleMap;return z&&(z=z[$])!==Kd?z:xd[$]},setStyle:function($,z){this._styleMap||(this._styleMap={});var C=this._styleMap[$];z===Kd?delete this._styleMap[$]:this._styleMap[$]=z,this.fp("s:"+$,C,z)&&this.onStyleChanged($,C,z)},onStyleChanged:function($,z,C){},iv:function($){this.invalidate($)},invalidate:function($){this.fp($||"*",!1,!0)},toString:function(){return this._displayName||this._name||this._tag||this._id},toLabel:function(){return this._displayName||this._name},addStyleIcon:function($,z){var C=this.s(Bt);this.beginTransaction(),C||this.s(Bt,C={}),z?C[$]=z:delete C[$],this.fp(Bt,fd,C),this.endTransaction()},removeStyleIcon:function($){var z,C=this.s(Bt);return C&&(z=C[$],delete C[$],this.fp(Bt,fd,C)),z},_calcAnchorMatrix3d:function(){},appendAnchorMatrix3d:function($){var z,C,o;(this.hasOwnProperty("_anchor")||this.hasOwnProperty("_anchorElevation"))&&(z=(o=this.getAnchor3d()).x-.5,C=o.y-.5,o=o.z-.5,Fz($,[-z,-C,-o]))},getSerializableProperties:function(){return{name:1,displayName:1,icon:1,toolTip:1,parent:1,layer:1,renderLayer:1,tag:1,adjustChildrenToTop:1,dataBindings:1}},getSerializableStyles:function(){var $,z={};for($ in this._styleMap)z[$]=1;return z},getCurrentPrefix:function(){return this._interactPrefix||CK},ca:function($,z){return $=this.getCurrentPrefix()+$,2===arguments.length?this.a($,z):this.a($)}}),U.DataModel=function(){var o=this,M=(o._isDeserializing=0,o._datas=new L,o._dataMap={},o._roots=new L,o._rootMap={},o._fsDataMap={},o._78O={},o._reflectorMap={},o._36I=new RK,o._35I=new RK,o._serializeNotifier=new RK,o._selectionModel=new SK(o),o._29Q=[]),A=o._scheduleCallback=function(){for(var $=Date.now(),z=0;z<M.length;z++){var C=M[z];C.enabled&&$-C.lastTime>C.interval&&(C.beforeAction&&C.beforeAction(),C.action&&o.each(function($){C.action($)}),C.afterAction&&C.afterAction(),C.lastTime=$)}M.length&&(o._30Q=u.requestAnimationFrame(A))}}),SK=(D_("DataModel",Jd,{ms_fire:1,ms_attr:1,ms_ac:["layers","name","autoAdjustIndex","hierarchicalRendering","background","envmapType","envmap","postProcessingData","init"],_name:Kd,_autoAdjustIndex:!0,_hierarchicalRendering:!1,_background:Kd,_init:Kd,_envmap:Kd,_envmapType:Kd,_postProcessingData:Kd,sm:function(){return this.getSelectionModel()},mm:function($,z,C){this.addDataModelChangeListener($,z,C)},umm:function($,z){this.removeDataModelChangeListener($,z)},md:function($,z,C){this.addDataPropertyChangeListener($,z,C)},umd:function($,z){this.removeDataPropertyChangeListener($,z)},mh:function($,z,C){this.addHierarchyChangeListener($,z,C)},umh:function($,z){this.removeHierarchyChangeListener($,z)},getAttrObject:function(){return this._attrObject},setAttrObject:function($){return this._attrObject=$},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($){return this._dataMap[$]},removeDataById:function($){this.remove(this.getDataById($))},toDatas:function($,z){return this._datas.toList($,z)},each:function($,z){this._datas.each($,z)},getDataByTag:function($){return this._78O[$]},getTagMap:function(){return this._78O},removeDataByTag:function($){this.remove(this.getDataByTag($))},add:function($,z,C){var o=this,M=$._id,A=$._tag,N=o._roots;if(o._dataMap[M])throw"'"+M+"' already exists";A!=fd&&(o._78O[A]=$),o._dataMap[M]=$,0<=C?o._datas.add($,C):o._datas.add($),$._parent||(o._rootMap[M]=$,0<=z?N.add($,z):N.add($)),$.s("fullscreen")!==Kd&&(o._fsDataMap[M]=$),$.s("shape3d.reflector")&&(o._reflectorMap[M]=$),$._21I(o),o.onAdded($),o._36I.fire({kind:"add",data:$,rootsIndex:z,datasIndex:C})},onAdded:function($){},remove:function($,z){var C,o,M,A,N,s,g;$&&(C=this,o=$._id,M=z&&z.keepStructure,s=z&&z.keepChildren,A=$.getTag(),$._dataModel===C&&((N=$ instanceof PV)&&Qd.setIsolating(!0),this.beginTransaction(),M?C._removingData||(C._removingData=$):C.prepareRemove($),s||$.toChildren().each(function($){C.remove($,z)},C),M?C._removingData===$&&($._parent&&$._parent.removeChild($),delete C._removingData):$._parent&&$._parent.removeChild($),s=C._datas.remove($),delete C._dataMap[o],A!=fd&&delete C._78O[A],C._rootMap[o]&&(delete C._rootMap[o],g=C._roots.remove($)),C._fsDataMap[o]&&delete C._fsDataMap[o],C._reflectorMap[o]&&delete C._reflectorMap[o],$._21I(fd),C.onRemoved($),C._36I.fire({kind:Rt,data:$,rootsIndex:g,datasIndex:s}),this.endTransaction(),N&&Qd.setIsolating(!1)))},onRemoved:function($){},prepareRemove:function($){},clear:function(){var $,z=this;z._datas.size()&&($=z._historyManager?this.toJSON():Kd,z._datas.toArray().forEach(function($){$._21I(fd)}),z._datas.empty(),z._dataMap={},z._roots.empty(),z._rootMap={},z._fsDataMap={},z._reflectorMap={},z._78O={},z._36I.fire({kind:It,json:$}))},contains:function($){return $&&$._dataModel===this},handleDataPropertyChange:function($){var z,C,o,M,A=$.data,N=$.property;"parent"===N?(o=A._id,C=this._rootMap,z=this._roots,A._parent?C[o]&&(delete C[o],z.remove(A)):C[o]||(C[o]=A,z.add(A))):"tag"===N?(C=$.oldValue,z=$.newValue,M=this._78O,C!=fd&&delete M[C],z!=fd&&(M[z]=A)):"s:fullscreen"===N?(o=A._id,C=this._fsDataMap,$.oldValue!=fd&&delete C[o],$.newValue!=fd&&(C[o]=A)):"s:shape3d.reflector"===N&&(o=A._id,M=this._reflectorMap,$.oldValue&&delete M[o],$.newValue&&(M[o]=A)),this.onDataPropertyChanged(A,$),this._35I.fire($)},onDataPropertyChanged:function($,z){},addDataModelChangeListener:function($,z,C){this._36I.add($,z,C)},removeDataModelChangeListener:function($,z){this._36I.remove($,z)},addSerializeListener:function($,z,C){this._serializeNotifier.add($,z,C)},removeSerializeListener:function($,z){this._serializeNotifier.remove($,z)},fireSerializeEvent:function($){this._serializeNotifier.fire($)},addDataPropertyChangeListener:function($,z,C){this._35I.add($,z,C)},removeDataPropertyChangeListener:function($,z){this._35I.remove($,z)},_38I:function($,z,C){this._37I&&this._37I.fire({data:$,oldIndex:z,newIndex:C})},addHierarchyChangeListener:function($,z,C){this._37I||(this._37I=new RK),this._37I.add($,z,C)},removeHierarchyChangeListener:function($,z){this._37I.remove($,z)},getSiblings:function($){return($=$._parent)?$._children:this._roots},eachByHierarchical:function($,z,C){if(z)return this._eachByHierarchical($,z,C);for(var o=0,M=this._roots,A=M.size();o<A;o++)if(!1===this._eachByHierarchical($,M.get(o),C))return!1;return!0},_eachByHierarchical:function($,z,C){if(C){if(!1===$.call(C,z))return!1}else if(!1===$(z))return!1;for(var o=z.size(),M=0;M<o;M++)if(!1===this._eachByHierarchical($,z.getChildAt(M),C))return!1;return!0},reverseEachByHierarchical:function($,z,C){if(z)return this._reverseEachByHierarchical($,z,C);for(var o=this._roots,M=o.size()-1;0<=M;M--)if(!1===this._reverseEachByHierarchical($,o.get(M),C))return!1;return!0},_reverseEachByHierarchical:function($,z,C){for(var o=z.size()-1;0<=o;o--)if(!1===this._reverseEachByHierarchical($,z.getChildAt(o),C))return!1;if(C){if(!1===$.call(C,z))return!1}else if(!1===$(z))return!1;return!0},eachByDepthFirst:function($,z,C){if(z)return this._11I($,z,C);for(var o=0,M=this._roots,A=M.size();o<A;o++)if(!1===this._11I($,M.get(o),C))return!1;return!0},_11I:function($,z,C){for(var o=z.size(),M=0;M<o;M++)if(!1===this._11I($,z.getChildAt(M),C))return!1;if(C){if(!1===$.call(C,z))return!1}else if(!1===$(z))return!1;return!0},eachByBreadthFirst:function($,z,C){var o=new L;for(z?o.add(z):this._roots.each(o.add,o);0<o.size();)if((z=o.removeAt(0)).eachChild(o.add,o),C){if(!1===$.call(C,z))return!1}else if(!1===$(z))return!1;return!0},moveTo:function($,z){var C=this.getSiblings($),o=C.indexOf($);o===z||o<0||0<=z&&z<=C.size()&&(C.remove($),z>C.size()&&z--,C.add($,z),this._38I($,o,z))},moveUp:function($){this.moveTo($,this.getSiblings($).indexOf($)-1)},moveDown:function($){this.moveTo($,this.getSiblings($).indexOf($)+1)},moveToTop:function($){this.moveTo($,0)},moveToBottom:function($){this.moveTo($,this.getSiblings($).size())},moveSelectionUp:function($){this.beginTransaction(),$=$||this.sm();var z=new L;mx($,z,this._roots),z.each(this.moveUp,this),this.endTransaction()},moveSelectionDown:function($){this.beginTransaction(),$=$||this.sm();var z=new L;Sx($,z,this._roots),z.each(this.moveDown,this),this.endTransaction()},moveSelectionToTop:function($){this.beginTransaction(),$=$||this.sm();var z=new L;hx($,z,this._roots),z.each(this.moveToTop,this),this.endTransaction()},moveSelectionToBottom:function($){this.beginTransaction(),$=$||this.sm();var z=new L;Ix($,z,this._roots),z.each(this.moveToBottom,this),this.endTransaction()},moveToIndex:function($,z,C){var o=this.getDatas();(C=null==C?o.indexOf($):C)===z||C<0||0<=z&&z<=o.size()&&(o.remove($),z>o.size()&&z--,o.add($,z),this._76I($,C,z))},bringForward:function($){this.moveToIndex($,this.getDatas().indexOf($)+1)},bringToFront:function($){this.moveToIndex($,this.size())},sendBackward:function($){this.moveToIndex($,this.getDatas().indexOf($)-1)},sendToBack:function($){this.moveToIndex($,0)},bringSelectionForward:function($){this.beginTransaction(),$=$||this.sm();for(var z=new L,C=this.getDatas(),o=!1,M=0;M<C.size();M++){var A=C.get(C.size()-1-M);$.contains(A)?o&&z.add(A):o=!0}z.each(this.bringForward,this),this.endTransaction()},bringSelectionToFront:function($){this.beginTransaction(),$=$||this.sm();for(var z=new L,C=this.getDatas(),o=0;o<C.size();o++){var M=C.get(o);$.contains(M)&&z.add(M)}z.each(this.bringToFront,this),this.endTransaction()},sendSelectionBackward:function($){this.beginTransaction(),$=$||this.sm();for(var z=new L,C=this.getDatas(),o=!1,M=0;M<C.size();M++){var A=C.get(M);$.contains(A)?o&&z.add(A):o=!0}z.each(this.sendBackward,this),this.endTransaction()},sendSelectionToBack:function($){this.beginTransaction(),$=$||this.sm();for(var z=new L,C=this.getDatas(),o=0;o<C.size();o++){var M=C.get(C.size()-1-o);$.contains(M)&&z.add(M)}z.each(this.sendToBack,this),this.endTransaction()},addScheduleTask:function($){this.removeScheduleTask($),$.enabled==fd&&($.enabled=!0),$.interval==fd&&($.interval=10),$.lastTime=Date.now(),this._29Q.push($),this._30Q==fd&&(this._30Q=u.requestAnimationFrame(this._scheduleCallback))},removeScheduleTask:function($){var z=this._29Q;0<=($=z.indexOf($))&&z.splice($,1),z.length||this._30Q==fd||(u.cancelAnimationFrame(this._30Q),delete this._30Q)},getHistoryManager:function(){return this._historyManager},enableHistoryManager:function($){this._historyManager||new U.HistoryManager(this),null!=$&&this._historyManager.setMaxHistoryCount($),this._historyManager.setDisabled(!1)},disableHistoryManager:function(){this._historyManager&&this._historyManager.setDisabled(!0)},clearHistoryManager:function(){this._historyManager&&this._historyManager.clear()},undo:function($){this._historyManager&&this._historyManager.undo($)},redo:function($){this._historyManager&&this._historyManager.redo($)},beginTransaction:function(){this._historyManager&&this._historyManager.beginTransaction()},endTransaction:function(){this._historyManager&&this._historyManager.endTransaction()},addHistory:function($){this._historyManager&&this._historyManager.addHistory($)},onHistoryManagerChanged:function(){},isDeserializing:function(){return 0<this._isDeserializing},setDeserializing:function($){$?this._isDeserializing++:this._isDeserializing--},isCubicEnvmap:function(){return!1},setCubicEnvmap:function($){},setEnvmap:function($){var z=this._envmap;z===(this._envmap=$)&&ed(z)&&ed($)&&(z=[]),this.fp("envmap",z,$)}}),U.SelectionModel=function($){this._68O=tt,this._map={},this._73O=new L,this._74I=new RK,this._21I($)}),GK=(D_("SelectionModel",Jd,{ms_fire:1,ms_dm:1,ms:function($,z,C){this.addSelectionChangeListener($,z,C)},ums:function($,z){this.removeSelectionChangeListener($,z)},fd:function(){return this.getFirstData()},ld:function(){return this.getLastData()},sg:function(){return this._68O===Ot},co:function($){return this._map[$._id]!=fd},ss:function($){this.setSelection($)},as:function($){this.appendSelection($)},rs:function($){this.removeSelection($)},cs:function(){this.clearSelection()},sa:function(){this.selectAll()},getSelectionMode:function(){return this._68O},setSelectionMode:function($){var z;this._68O===$||$!==Wt&&$!==Ot&&$!==tt||(this.cs(),z=this._68O,this._68O=$,this.fp("selectionMode",z,$))},_21I:function($){var z=this._dataModel;z!==$&&(z&&(this.cs(),z.umm(this.handleDataModelChange,this)),(this._dataModel=$).mm(this.handleDataModelChange,this,!0),this.fp(Gf,z,$))},dispose:function(){this.cs(),this._dataModel.umm(this.handleDataModelChange,this)},handleDataModelChange:function($){var z;$.kind===Rt?(z=$.data,this.co(z)&&(this._73O.remove(z),delete this._map[z._id],this._75I(Rt,new L(z)))):$.kind===It&&this.cs()},getFilterFunc:function(){return this._filterFunc},setFilterFunc:function($){var z;this._filterFunc!==$&&(this.cs(),z=this._filterFunc,this._filterFunc=$,this.fp("filterFunc",z,this._filterFunc))},_75I:function($,z,C,o){C&&(this._73O.each(function($){o[$._id]?C.remove($):C.add($)}),z=C.toList()),this._74I.fire({kind:$,datas:new L(z)})},addSelectionChangeListener:function($,z,C){this._74I.add($,z,C)},removeSelectionChangeListener:function($,z){this._74I.remove($,z)},_97O:function($,z){for(var C,o=0,M=new L($);o<M.size();o++)C=M.get(o),(this._filterFunc&&!this._filterFunc(C)||z&&this.co(C)||!z&&!this.co(C)||!this._dataModel.contains(C))&&(M.removeAt(o),o--);return M},appendSelection:function($){var z,C,o,M=this;M._68O!==Wt&&(z=M._73O,($=M._97O($,!0)).isEmpty()||(M.sg()&&(C=new L(z),o=M._map,z.empty(),M._map={},$=new L($.get($.size()-1))),$.each(function($){z.add($),M._map[$._id]=$}),M._75I("append",$,C,o)))},removeSelection:function($){var z=this._97O($),C=0,o=z.size();if(0!==o){for(;C<o;C++){var M=z.get(C);this._73O.remove(M),delete this._map[M._id]}this._75I(Rt,z)}},toSelection:function($,z){return this._73O.toList($,z)},getSelection:function(){return this._73O},each:function($,z){this._73O.each($,z)},setSelection:function($){var z,C,o=this,M=o._73O;o._68O===Wt||M.isEmpty()&&!$||1===M.size()&&o.ld()===$||(z=new L(M),C=o._map,M.empty(),o._map={},$=o._97O($,!0),($=o.sg()&&1<$.size()?new L($.get($.size()-1)):$).each(function($){M.add($),o._map[$._id]=$}),o._75I("set",fd,z,C))},clearSelection:function(){var $,z=this._73O;0<z.size()&&($=z.toList(),z.empty(),this._map={},this._75I(It,$))},selectAll:function(){var $=this;if($._68O!==Wt){var z,C=$._dataModel.toDatas();if($._filterFunc)for(s=0;s<C.size();s++)z=C.get(s),$._filterFunc(z)||(C.removeAt(s),s--);for(var o=$._73O,M=new L(o),A=$._map,N=(o.empty(),$._map={},(C=$.sg()&&1<C.size()?new L(C.get(C.size()-1)):C).size()),s=0;s<N;s++)z=C.get(s),o.add(z),$._map[z._id]=z;$._75I("all",fd,M,A)}},size:function(){return this._73O.size()},isEmpty:function(){return this._73O.isEmpty()},contains:function($){return this._map[$._id]!=fd},getLastData:function(){var $=this._73O;return 0<$.size()?$.get($.size()-1):fd},getFirstData:function(){var $=this._73O;return 0<$.size()?$.get(0):fd},isSelectable:function($){return!(!$||this._68O===Wt)&&(!this._filterFunc||this._filterFunc($))},getTopSelection:function(){var C=this,o=new L;return C._73O.each(function($){for(var z=$.getParent();z;){if(C.contains(z)){$=fd;break}z=z.parent}$&&o.add($)}),o}}),function($,z,C,o){var M=this,$=(z||(z=Yt?5:3,o=C=20),{x:0,y:z,width:C,height:o});if(C)for(var A=0;A<C;A++)if(3===C)o=20;else for(var N=0;N<o;N++)M=u||C;t_($,{x:x,y:2*x})&&(z=mt[0]+Zt[0]+It[1]+uf.length,vx.eye=[M[z],M[$=Yf[0]+bf[0]+It[1]+Lt.length]],M[z]=Wv.eye,M[$]=Wv[Ff])}(),function($,z){var C;return(C=bv(z)&&($=$.getDataUI(z))&&$._88I?$._88I.rect:C)||z.getRect()});z(Qd,{edgeGroupAgentFunc:fd,graphViewAutoScrollZone:16,graphViewZoomable:!0,graphViewResettable:!1,graphViewPannable:!0,graphViewRectSelectable:!0,graphViewScrollBarVisible:!0,graphViewRectSelectBorderColor:m.rectSelectBorder,graphViewRectSelectBackground:st,graphViewEditPointSize:Yt?17:7,graphViewEditPointBorderColor:m.editPointBorder,graphViewEditPointBackground:m.editPointBackground,setEdgeType:function($,z,C){Uh[$]=z,wh[$]=C},getEdgeType:function($){return Uh[$]},getEdgeTypeMap:function(){return Uh},getNodeRect:GK},!0);(wd={"layout.h":Kd,"layout.v":Kd,"2d.selectable":!0,"2d.visible":!0,"2d.movable":!0,"2d.editable":!0,"2d.move.mode":Kd,"2d.attachable":!1,"2d.hostable":!1,interactive:!1,preventDefaultWhenInteractive:!0,disableDoubleClick:!1,"image.stretch":"fill",icons:Kd,"icons.getRotation":Kd,"icons.getPosition":Kd,ingroup:!0,"body.color":Kd,"2d.gray":!1,fullscreen:Kd,"fullscreen.gap":2,"fullscreen.lock":!1,opacity:Kd,pixelPerfect:!0,keepAspectRatio:!1,"attach.points":null,"attach.style":null,"attach.close.threshold":16,"vector.layoutable":!1,"clip.direction":"top","clip.percentage":Kd,"clip.host":!1,"host.clip.padding":0,"select.color":or,"select.width":1,"select.padding":2,"select.type":kt,"shadow.interactable":!0,shadow:!1,"shadow.blur":6,"shadow.offset.x":3,"shadow.offset.y":3,shadow2:!1,"shadow2.color":or,"shadow2.blur":6,"shadow2.offset.x":3,"shadow2.offset.y":3,"shadow2.inset":!1,"border.color":Kd,"border.width":2,"border.padding":2,"border.type":kt,label:Kd,"label.font":Kd,"label.color":W3,"label.background":Kd,"label.position":31,"label.position.fixed":!1,"label.offset.x":0,"label.offset.y":2,"label.rotation":Kd,"label.max":Kd,"label.opacity":Kd,"label.scale":1,"label.align":Kd,"label.selectable":!0,"label.decoration":Kd,label2:Kd,"label2.font":Kd,"label2.color":W3,"label2.background":Kd,"label2.position":34,"label2.position.fixed":!1,"label2.offset.x":0,"label2.offset.y":-2,"label2.rotation":Kd,"label2.max":Kd,"label2.opacity":Kd,"label2.scale":1,"label2.align":Kd,"label2.selectable":!0,"label2.decoration":Kd,note:Kd,"note.expanded":!0,"note.font":Kd,"note.color":Mr,"note.background":or,"note.position":8,"note.offset.x":-3,"note.offset.y":3,"note.max":Kd,"note.toggleable":!0,"note.border.width":1,"note.border.color":Kd,"note.opacity":Kd,"note.scale":1,"note.align":Kd,note2:Kd,"note2.expanded":!0,"note2.font":Kd,"note2.color":Mr,"note2.background":or,"note2.position":3,"note2.offset.x":3,"note2.offset.y":-3,"note2.max":Kd,"note2.toggleable":!0,"note2.border.width":1,"note2.border.color":Kd,"note2.opacity":Kd,"note2.scale":1,"note2.align":Kd,"html.layout.anchor.sync":!0,"group.type":Kd,"group.image":Kd,"group.image.stretch":"fill","group.repeat.image":Kd,"group.repeat.image.stretch":Kd,"group.repeat.image.rotation":0,"group.border.repeat.image":Kd,"group.border.repeat.image.stretch":Kd,"group.border.repeat.image.rotation":0,"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":Kd,"group.title.color":Mr,"group.title.background":m.groupTitleBackground,"group.title.align":_t,"group.title.orientation":Zt,"group.background":m.groupBackground,"group.depth":1,"group.border.width":1,"group.border.pattern":Kd,"group.border.color":y,"group.border.radius":Kd,"group.border.cap":f3,"group.border.join":Q3,"group.border.width.absolute":!1,"group.splitLine":!1,"group.gradient":fd,"group.gradient.color":"#FFF",shape:Kd,"shape.background":y,"shape.repeat.image":Kd,"shape.repeat.image.stretch":Kd,"shape.repeat.image.rotation":0,"shape.border.repeat.image":Kd,"shape.border.repeat.image.stretch":Kd,"shape.border.repeat.image.rotation":0,"shape.border.width":0,"shape.border.width.absolute":!1,"shape.border.color":y,"shape.border.3d":!1,"shape.border.3d.color":Kd,"shape.border.3d.accuracy":Kd,"shape.border.cap":f3,"shape.border.join":Q3,"shape.border.pattern":Kd,"shape.gradient":fd,"shape.gradient.color":"#FFF","shape.depth":0,"shape.dash":!1,"shape.dash.pattern":K3,"shape.dash.offset":0,"shape.dash.color":Ux,"shape.dash.gradient.pack":Kd,"shape.dash.width":Kd,"shape.dash.3d":!1,"shape.dash.3d.color":Kd,"shape.dash.3d.accuracy":Kd,"shape.polygon.side":6,"shape.star.side":8,"shape.star.ratio":.382,"shape.arc.from":x,"shape.arc.to":_d,"shape.arc.close":!0,"shape.arc.oval":!1,"shape.corner.radius":Kd,"shape.gradient.pack":Kd,"shape.border.gradient.pack":Kd,"shape.fill.rule":"nonzero","shape.fill.clip.direction":"top","shape.fill.clip.percentage":Kd,"shape.foreground":Kd,"shape.foreground.gradient":fd,"shape.foreground.gradient.color":"#FFF","shape.foreground.clip.direction":"top","shape.foreground.clip.percentage":Kd,"shape.regular":!0,"autolayout.gap":Kd,"autolayout.hgap":Kd,"autolayout.vgap":Kd,"edge.type":Kd,"edge.points":Kd,"edge.segments":Kd,"edge.color":y,"edge.width":2,"edge.width.absolute":!1,"edge.repeat.image":null,"edge.offset":0,"edge.group":0,"edge.expanded":!0,"edge.gap":12,"edge.toggleable":!0,"edge.center":!1,"edge.3d":!1,"edge.3d.color":Kd,"edge.3d.accuracy":Kd,"edge.cap":f3,"edge.join":Q3,"edge.source.position":17,"edge.source.anchor.x":Kd,"edge.source.anchor.y":Kd,"edge.source.offset.x":0,"edge.source.offset.y":0,"edge.source.index":-1,"edge.source.percent":0,"edge.target.position":17,"edge.target.anchor.x":Kd,"edge.target.anchor.y":Kd,"edge.target.offset.x":0,"edge.target.offset.y":0,"edge.target.index":-1,"edge.target.percent":0,"edge.pattern":Kd,"edge.dash":!1,"edge.dash.pattern":K3,"edge.dash.offset":0,"edge.dash.color":Ux,"edge.dash.width":Kd,"edge.dash.3d":!1,"edge.dash.3d.color":Kd,"edge.dash.3d.accuracy":Kd,"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":Kd,"attach.gap":0,"attach.gap.relative":!1,"grid.row.count":1,"grid.column.count":1,"grid.row.percents":Kd,"grid.column.percents":Kd,"grid.border":1,"grid.border.left":0,"grid.border.right":0,"grid.border.top":0,"grid.border.bottom":0,"grid.gap":1,"grid.background":m.gridBackground,"grid.depth":1,"grid.cell.depth":-1,"grid.cell.border.color":m.gridCellBorderColor,"grid.block":Kd,"grid.block.padding":3,"grid.block.width":1,"grid.block.color":m.gridBlockColor,text:"","text.align":"left","text.vAlign":"middle","text.color":W3,"text.gradient.pack":Kd,"text.font":V3,"text.shadow":!1,"text.shadow.color":or,"text.shadow.blur":6,"text.shadow.offset.x":3,"text.shadow.offset.y":3,"text.scale.x":1,"text.scale.y":1,"text.gradient":Kd,"text.gradient.color":"#FFF","text.decoration":Kd,"text.vertical":!1,"text.vertical.gap":1,"text.wrap":!1,"text.letter.gap":Kd,"text.border.color":or,"text.border.width":0,"text.corner.radius":0,"text.outline.width":0,"text.outline.color":Kd,"text.background":Kd,keepPosition:!0,composite:Kd,visibleCascade:!1})[Ef]=Kd,z(xd,wd,!0),z(mK,{_76I:function($,z,C){this._39I&&this._39I.fire({data:$,oldIndex:z,newIndex:C})},addIndexChangeListener:function($,z,C){this._39I||(this._39I=new RK),this._39I.add($,z,C)},removeIndexChangeListener:function($,z){this._39I.remove($,z)},prepareRemove:function($){xv($)&&($.setSource(fd),$.setTarget(fd)),$._70O&&$._70O.toList().each(this.remove,this),$._69O&&$._69O.toList().each(function($){$.setHost(fd)}),$._host&&$.setHost(fd)},onAdded:function($){this.isAutoAdjustIndex()&&this.adjustIndex($)},onDataPropertyChanged:function($,z){jK[z.property]&&this.isAutoAdjustIndex()&&this.adjustIndex($)},isAdjustable:function($){return R($)||xv($)},isAdjustedToBottom:function($){return!!pv($)&&$.isExpanded()&&Cm($)},adjustIndex:function($){this.isHierarchicalRendering()||(this.isAdjustedToBottom($)?(this.sendToBottom($),$.eachChild(this.adjustIndex,this)):this.sendToTop($))},sendToTop:function(z){var $,C,o=this;o.contains(z)&&o.isAdjustable(z)&&(C=o._datas,z!==C.get(o.size()-1)&&($=C.indexOf(z),C.removeAt($),C.add(z),o._76I(z,$,o.size()-1)),xv(z)&&((C=z._40I)&&!o.isAdjustedToBottom(C)&&o.sendToTop(C),(C=z._41I)&&!o.isAdjustedToBottom(C)&&o.sendToTop(C)),z._69O&&z._69O.each(function($){$.isRelatedTo(z)||R(z)&&$.isLoopedHostOn(z)||o.sendToTop($)}),z.ISubGraph||pv(z)&&!z.isExpanded()||z._adjustChildrenToTop&&z.eachChild(function($){xv($)||o.sendToTop($)}))},sendToBottom:function($,z){var C,o;$!==z&&this.contains($)&&this.isAdjustable($)&&(z&&!this.contains(z)||(C=(o=this._datas).remove($),z=z?this._datas.indexOf(z):0,o.add($,z),C!==z&&(this._76I($,C,z),!(o=$._parent)||o.ISubGraph||xv(o)||this.sendToBottom($._parent,$))))}});var EK=pA(),HK=(z(y3,{ms_edit:function($,z){$._46O=function($){var z=this,C=z.gv.dm(),o=z._index,M=z._89I,A=z._node,N=z._shape,s=z._edge,g=z._77I;A&&M?(this.fi({kind:"endEditRect",event:$,data:A,direction:M}),C.endTransaction()):N&&0<=o?(z.fi({kind:"endEditPoint",event:$,data:N,index:o}),C.endTransaction()):s&&0<=o?(z.fi({kind:"endEditPoint",event:$,data:s,index:o}),C.endTransaction()):g&&(z.fi({kind:"endEditRotation",event:$,data:g}),C.endTransaction())},$._78I=function($){var z=this,C=(z.autoScroll($),z.gv.lp($)),o=z._index,M=z._89I,A=z._node,N=z._shape,s=z._edge,g=z._77I;A&&M?(z._80O(C),z.fi({kind:"betweenEditRect",event:$,data:A,direction:M})):N&&0<=o?(C.e=N.getPoints().get(o).e,N.setPoint(o,C),z.fi({kind:"betweenEditPoint",event:$,data:N,index:o})):s&&0<=o?(A=s.s(Nf),C.e=A.get(o).e,A.set(o,C),s.fp(Nf,fd,A),z.fi({kind:"betweenEditPoint",event:$,data:s,index:o})):g&&(M=g.p(),N=g.getScale(),A=Fd+Ud(C.y-M.y,C.x-M.x),N.y<0&&(A+=x),I(A)<.04&&(A=0),g.setRotation(A),z.fi({kind:"betweenEditRotation",event:$,data:g}))},$._80O=function($){var z=this._node,C=this._rect,o=C.x,M=C.y,A=C.width,N=C.height,s=this._89I,g=this._anchor,Y=this._matrix,$=Y.tfi($);"northwest"===s?C=v_($,{x:o+A,y:M+N}):s===Qt?C=v_({x:o,y:$.y},{x:o+A,y:M+N}):"northeast"===s?C=v_({x:o,y:$.y},{x:$.x,y:M+N}):s===ft?C=v_({x:$.x,y:M},{x:o+A,y:M+N}):s===Kt?C=v_({x:o,y:M},{x:$.x,y:M+N}):"southwest"===s?C=v_({x:$.x,y:M},{x:o+A,y:$.y}):"south"===s?C=v_({x:o,y:M},{x:o+A,y:$.y}):"southeast"===s&&(C=v_({x:o,y:M},$)),z.setPosition(Y.tf(C.x+C.width*g.x,C.y+C.height*g.y)),z.setWidth(C.width),z.setHeight(C.height)},$._80I=function($,z,C,o){var M=this.gv._zoom,M=(this.gv.getEditPointSize()+2)/M;return!!t_({x:z-M/2,y:C-M/2,width:M,height:M},$)&&(this._89I!==o&&(this._89I=o),!0)},$._79I=function($,z,C){var o=this,M=o.gv,A=z?M.getDataUI(z):fd;if(A=A?A._55O:fd){var N,s,g=M._zoom,Y=(M.getEditPointSize()+2)/g,v=M.lp($);if(R(z)){if(A._56O&&R(z)&&(N=A._98o,t_({x:N.x-Y/2,y:N.y-Y/2,width:Y,height:Y},v)))return o._77I=z,C&&o.fi({kind:"beginEditRotation",event:$,data:z}),o.setCursor("crosshair"),!0;if(A._43O&&z instanceof dV)for(c=(s=z.getPoints()).size()-1;0<=c;c--)if(N=s.get(c),t_({x:N.x-Y/2,y:N.y-Y/2,width:Y,height:Y},v))return o._index=c,o._shape=z,C&&o.fi({kind:"beginEditPoint",event:$,data:z,index:c}),o.setCursor("crosshair"),!0;if(A._42O)for(var O=z.getEditControlPoints(),t=["northwest",-1,-1,ft,-1,0,"southwest",-1,1,"south",0,1,"southeast",1,1,Kt,1,0,"northeast",1,-1,Qt,0,-1],c=0,y=O.length;c<y;c++){var _,P,Z,X=O[c];if(o._80I(v,X.x,X.y,t[3*c]))return X=(o._node=z).getWidth(),Z=z.getHeight(),_=z.getAnchor(),o._rect={x:-X*_.x,y:-Z*_.y,width:X,height:Z},o._anchor=_,o._matrix=z.getMatrix(),X=z.getRotation(),Z=Wd(X),_=yd(X),X=t[3*c+1]*Uv(z.getScale().x),P=t[3*c+2]*Uv(z.getScale().y),Z=Math.atan2(-_*X-Z*P,Z*X-_*P),X=(Math.round(Z/(Math.PI/4))+8)%8,o.setCursor([vh,"nesw-resize",Oh,"nwse-resize",vh,"nesw-resize",Oh,"nwse-resize"][X]),C&&o.fi({kind:"beginEditRect",event:$,data:z,direction:o._89I}),!0}}if(A._43O&&xv(z)&&z.s(sf)===Ft&&(s=z.s(Nf)))for(c=s.size()-1;0<=c;c--)if(N=s.get(c),t_({x:N.x-Y/2,y:N.y-Y/2,width:Y,height:Y},v))return o._index=c,o._edge=z,C&&o.fi({kind:"beginEditPoint",event:$,data:z,index:c}),o.setCursor("crosshair"),!0}return!1}},ms_gv:function($,z){$._currentSubGraph=fd,$._initView=function(){this._frameId=0,this._fpsInfo={time:0,fps:0,frames:0},this._id=EK.next(),this._uuid=B.generateUUID()},$.upSubGraph=function(){this.setCurrentSubGraph($m(this._currentSubGraph))},$.getFrameId=function(){return this._frameId},$.isVisible=function($){var z=this;if($m($)!==z._currentSubGraph)return!1;if(xv($)){var C=$._40I,o=$._41I;if(!C||!o)return!1;if(!($.s("edge.independent")||z.isVisible(C)&&z.isVisible(o)))return!1;if($.isEdgeGroupHidden())return!1}else for(var M=$._parent;M&&!M.ISubGraph;){if(pv(M)&&(!M.isExpanded()||!z.isVisible(M)))return!1;M=M._parent}if(((M=$._parent)&&M.s("visibleCascade")||M instanceof PV)&&!z.isVisible(M))return!1;if($._refGraph instanceof fV&&!z.isVisible($._refGraph))return!1;if(z instanceof Fi){if(!$.s("3d.visible"))return!1}else{if((C=z.getLayersInfo())&&(o=C[$._layer])&&!1===o.visible)return!1;if(!$.s("2d.visible"))return!1}return!z._visibleFunc||z._visibleFunc($)},$.handleSelectionChange=function($){var C=this;$.datas.each(function($){C.invalidateData($);var z=$._parent;pv(z)&&R($)&&$.s(St)&&(C.invalidateData(z),z._49I&&z._49I.each(function($){C.invalidateData($)}))}),C.onSelectionChanged($)},$.onSelectionChanged=function($){var z=this.sm();1!==z.size()||"set"!==$.kind&&"append"!==$.kind||($=z.ld(),this.isAutoMakeVisible()&&this.makeVisible($),this.adjustIndex&&this._dataModel.isAutoAdjustIndex()&&this.adjustIndex($))},$.makeVisible=function($){if($&&(this.getDataUI?this.getDataUI($):this.getData3dUI($))){var z=$,C=$m($);for(C!==this._currentSubGraph&&this.setCurrentSubGraph(C);(z=z._parent)&&z!==C;)pv(z)&&z.setExpanded(!0);this._23I=$,this.iv()}},$.getLabel=function($){var z=$.getStyle(wt);return z===Kd?$.getName():z},$.getLabelBackground=function($){return $.getStyle("label.background")},$.getLabelColor=function($){return $.getStyle("label.color")},$.getLabel2=function($){return $.getStyle("label2")},$.getLabel2Background=function($){return $.getStyle("label2.background")},$.getLabel2Color=function($){return $.getStyle("label2.color")},$.getNote=function($){return $.getStyle(Tt)},$.getNoteBackground=function($){return $.getStyle("note.background")},$.getNote2=function($){return $.getStyle(rt)},$.getNote2Background=function($){return $.getStyle("note2.background")},$.handleClick=function($,z,C){z?(this.fi({kind:"clickData",event:$,data:z,part:C}),this.onDataClicked(z,$)):(this.fi({kind:"clickBackground",event:$}),this.onBackgroundClicked($))},$.handleDoubleClick=function($,z,C){var o=this;$_($)&&(z?(o.fi({kind:"doubleClickData",event:$,data:z,part:C}),o.onDataDoubleClicked(z,$,C),o.checkDoubleClickOnNote($,z,C)||o.checkDoubleClickOnRotation&&o.checkDoubleClickOnRotation($,z,C)||(xv(z)?o.onEdgeDoubleClicked(z,$,C):z.ISubGraph?o.onSubGraphDoubleClicked(z,$,C):pv(z)?o.onGroupDoubleClicked(z,$,C):z.IDoorWindow?o.onDoorWindowDoubleClicked(z,$,C):z.ICSGBox&&o.onCSGBoxDoubleClicked(z,$,C))):(o.fi({kind:"doubleClickBackground",event:$}),o.onBackgroundDoubleClicked($)))},$.onSubGraphDoubleClicked=function($,z,C){this.setCurrentSubGraph($)},$.onEdgeDoubleClicked=function($,z,C){this.isEditable($)||($.ISubGraph&&!N_(z)?this.setCurrentSubGraph($):$.s("edge.toggleable")&&$.toggle())},$._39Q=function($){return!!this.isInteractive($)&&this.preventDefaultWhenInteractive($)},$.preventDefaultWhenInteractive=function($){return $.s("preventDefaultWhenInteractive")},$.onGroupDoubleClicked=function($,z,C){$.s("group.toggleable")&&$.toggle()},$.onDoorWindowDoubleClicked=function($,z,C){$.s("dw.toggleable")&&$.toggle(!0)},$.onCSGBoxDoubleClicked=function($,z,C){this instanceof Fi&&(z=this.intersectObject(z,$))&&$.s(z.part+".toggleable")&&$.toggleFace(z.part,!0)},$.onBackgroundClicked=function($){},$.onBackgroundDoubleClicked=function($){this.upSubGraph()},$.onDataClicked=function($,z,C){},$.onDataDoubleClicked=function($,z,C){},$.onAutoLayoutEnded=function(){},$.onMoveEnded=function(){},$.onPanEnded=function(){},$.onPinchEnded=function(){},$.onRectSelectEnded=function(){},$.onZoomEnded=function(){},$.serialize=function($){return this.dm().serialize($)},$.toJSON=function(){return this.dm().toJSON()},$.deserialize=function($,z){var s=this,g=((z=z instanceof hK?{rootParent:z}:ev(z)?{setId:z}:av(z)?{finishFunc:z}:z||{}).view=s).dm();return z.reset&&(g.setAttrObject({}),g.setLayers(Kd),g.setName(Kd),g.setAutoAdjustIndex(!0),g.setHierarchicalRendering(!1),g.setBackground(Kd),g.setInit(Kd),g.setPostProcessingData(Kd),g.setEnvmap(Kd),g.setEnvmapType(Kd),s.disableToolTip(),s instanceof U.graph.GraphView?(s.setZoomable(Qd.graphViewZoomable),s.setPannable(Qd.graphViewPannable),s.setRectSelectable(Qd.graphViewRectSelectable)):s instanceof U.graph3d.Graph3dView&&(s.shadowMap.resetProperties(),s.setDashDisabled(Qd.graph3dViewDashDisabled),s.setUvClipEnabled(Qd.graph3dViewUvClipEnabled),s.getHighlightHelper().resetProperties(),s.resetHeadlightProperties(),s.resetFogProperties(),s.setBatchInfoMap({}),s.setBatchColorDisabled(Qd.graph3dViewBatchColorDisabled),s.setBatchInstancedDisabled(Qd.graph3dViewBatchInstancedDisabled),s.setBatchBlendDisabled(Qd.graph3dViewBatchBlendDisabled),s.setBatchBrightnessDisabled(Qd.graph3dViewBatchBrightnessDisabled),s.setFlowBlendMode(Qd.graph3dViewFlowBlendMode),s.setMoveStep(Qd.graph3dViewMoveStep),s.setRotateStep(Qd.graph3dViewRotateStep),s.setSortable(Qd.graph3dViewSortable),s.setSortFunc(Kd),s.setSkybox(Kd),s.setToneMapping(Kd),s.setToneMappingExposure(1),s.disableOIT(),s.setOITPassCount(3),s.setFovy(Qd.graph3dViewFovy))),z.__innerHandler__=function($){var C,o,z,M,A,N;ev(g.a("toolTipEnable"))&&(g.a("toolTipEnable")?s.enableToolTip():s.disableToolTip()),ed(g.a("fontFaces"))&&g.a("fontFaces").forEach(function($){Qd.addFontFace($.name,$.url)}),s instanceof U.graph.GraphView&&(ev(g.a("zoomable"))&&s.setZoomable&&s.setZoomable(g.a("zoomable")),ev(g.a("pannable"))&&s.setPannable&&s.setPannable(g.a("pannable")),ev(g.a("rectSelectable"))&&s.setRectSelectable&&s.setRectSelectable(g.a("rectSelectable")),!0===g.a("fitContent")&&s.fitContent&&s.fitContent(!0,0)),s instanceof U.graph3d.Graph3dView&&(($=$.scene)&&$.shadow!=fd&&s.shadowMap.setShadow($.shadow,$.shadowParams),(z=g.a("sceneContext"))?(z.eye&&s.setEye(z.eye),z.center&&s.setCenter(z.center),Vv(z.far)&&s.setFar(z.far),Vv(z.near)&&s.setNear(z.near)):(Vv(g.a("sceneNear"))&&s.setNear(g.a("sceneNear")),Vv(g.a("sceneFar"))&&s.setFar(g.a("sceneFar")),$&&($.eye&&s.setEye($.eye),$.center&&s.setCenter($.center))),Vv(g.a("sceneDevicePixelRatio"))&&s.setDevicePixelRatio(g.a("sceneDevicePixelRatio")),Vv(g.a("sceneFovy"))&&s.setFovy(g.a("sceneFovy")),ev(g.a("sceneOrtho"))&&s.setOrtho(g.a("sceneOrtho")),Vv(g.a("sceneOrthoWidth"))&&s.setOrthoWidth(g.a("sceneOrthoWidth")),s.setShadowFromDataModel(g),ev(g.a("sceneDashEnable"))&&s.setDashDisabled(!g.a("sceneDashEnable")),ev(g.a("sceneUvClipEnabled"))&&s.setUvClipEnabled(g.a("sceneUvClipEnabled")),Vd(g.a("sceneHighlightMode"))&&s.setHighlightMode(g.a("sceneHighlightMode")),Vv(g.a("sceneHighlightWidth"))&&s.setHighlightWidth(g.a("sceneHighlightWidth")),g.a("sceneHighlightColor")&&s.setHighlightColor(g.a("sceneHighlightColor")),g.a("sceneHighlightType")&&s.setHighlightType(g.a("sceneHighlightType")),g.a("sceneHighlightGlow")&&s.setHighlightGlow(g.a("sceneHighlightGlow")),g.a("sceneHighlightStrength")&&s.setHighlightStrength(g.a("sceneHighlightStrength")),g.a("sceneHighlightGroups")&&s.setHighlightGroups(g.a("sceneHighlightGroups")),ev(g.a("sceneHeadlightEnable"))&&s.setHeadlightDisabled(!g.a("sceneHeadlightEnable")),g.a("sceneHeadlightDirection")!=fd&&s.setHeadlightDirection(g.a("sceneHeadlightDirection")),Vv(g.a("sceneHeadlightRange"))&&s.setHeadlightRange(g.a("sceneHeadlightRange")),g.a("sceneHeadlightColor")&&s.setHeadlightColor(g.a("sceneHeadlightColor")),Vv(g.a("sceneHeadlightIntensity"))&&s.setHeadlightIntensity(g.a("sceneHeadlightIntensity")),Vv(g.a("sceneHeadlightAmbientIntensity"))&&s.setHeadlightAmbientIntensity(g.a("sceneHeadlightAmbientIntensity")),Vv(g.a("sceneHeadlightRatioForPhysicalMaterial"))&&s.setHeadlightRatioForPhysicalMaterial(g.a("sceneHeadlightRatioForPhysicalMaterial")),Vv(g.a("sceneHeadlightGroup"))&&s.setHeadlightGroup(g.a("sceneHeadlightGroup")),ev(g.a("sceneFogEnable"))&&s.setFogDisabled(!g.a("sceneFogEnable")),g.a("sceneFogMode")&&s.setFogMode(g.a("sceneFogMode")),Vv(g.a("sceneFogDensity"))?s.setFogDensity(g.a("sceneFogDensity")):(z=g.a("sceneFogDensityInverse"),Vv(z)&&s.setFogDensity(B.safeInvert(z))),g.a("sceneFogColor")&&s.setFogColor(g.a("sceneFogColor")),Vv(g.a("sceneFogNear"))&&s.setFogNear(g.a("sceneFogNear")),Vv(g.a("sceneFogFar"))&&s.setFogFar(g.a("sceneFogFar")),ev(g.a("sceneBatchBrightnessDisabled"))&&s.setBatchBrightnessDisabled(g.a("sceneBatchBrightnessDisabled")),g.a("sceneFlowBlendMode")!==Kd&&s.setFlowBlendMode(g.a("sceneFlowBlendMode")),g.a("sceneToneMapping")!==Kd&&s.setToneMapping(g.a("sceneToneMapping")),Vv(g.a("sceneToneMappingExposure"))&&s.setToneMappingExposure(g.a("sceneToneMappingExposure")),ev(g.a("sceneBatchBlendDisabled"))&&s.setBatchBlendDisabled(g.a("sceneBatchBlendDisabled")),ev(g.a("sceneBatchColorDisabled"))&&s.setBatchColorDisabled(g.a("sceneBatchColorDisabled")),ev(g.a("sceneBatchInstancedDisabled"))&&s.setBatchInstancedDisabled(g.a("sceneBatchInstancedDisabled")),g.a("sceneBatchInfoMap")&&s.setBatchInfoMap(g.a("sceneBatchInfoMap")),g.a("sceneRenderLayerInfoMap")&&s.setRenderLayerInfoMap(g.a("sceneRenderLayerInfoMap")),Vv(g.a("sceneMoveStep"))&&s.setMoveStep(g.a("sceneMoveStep")),Vv(g.a("sceneRotateStep"))&&s.setRotateStep(g.a("sceneRotateStep")),ev(g.a("sceneSortable"))&&s.setSortable(g.a("sceneSortable")),av(g.a("sceneSortFunc"))&&s.setSortFunc(g.a("sceneSortFunc")),ev(g.a("sceneOIT"))&&s.enableOIT(),Vv(g.a("sceneOITPassCount"))&&s.setOITPassCount(g.a("sceneOITPassCount")),Vd(g.a("sceneShaderSummary"))&&(s.enableShaderCompileParallel(),s.setShaderGCInterval(1/0),s.deserializePhysicalShader(g.a("sceneShaderSummary"))),($=g.a("sceneSkyboxType")||"sphere")!=fd&&(o=!(C={}),z=g.a("sceneSkyboxColor"),"sphere"===$?(C.shape3d=$,(A=g.a("sceneSkyboxImage"))&&(C["shape3d.image"]=A,o=!0)):"cube"===$?(C.shape3d=Kd,["front","back","left","right","top","bottom"].forEach(function($){var z=$+".image",$=$.charAt(0).toUpperCase()+$.slice(1);($=g.a("sceneSkybox"+$+"Image"))&&(C[z]=$,o=!0)})):"color"===$&&z&&(o=!0),o&&(M=new NV,N=g.a("sceneSkyboxDiameter"),Vv(N)?M.s3(N,N,N):M.s3(20,20,20),C["body.color"]=g.a("sceneSkyboxBodyColor"),C.envmap=g.a("sceneSkyboxEnvmap"),C["envmap.probe"]=g.a("sceneSkyboxEnvmapProbe"),C.roughness=g.a("sceneSkyboxRoughness"),C["shape3d.light"]=C["all.light"]=g.a("sceneSkyboxLight"),C["light.mask"]=g.a("sceneSkyboxLightMask"),C["headlight.ambientIntensity"]=g.a("sceneSkyboxHeadLightAmbientIntensity"),C["skybox.blur.size"]=g.a("sceneSkyboxBlurSize"),C["skybox.blur.resolution"]=g.a("sceneSkyboxBlurResolution"),C["texture.wrap"]="clampToEdge",C["3d.clipbox.mask"]=Xz,C["effect.flow.mask"]=Xz,"color"===$&&(C.shape3d="sphere",(N=(A=M.s("shape3d.image"))&&U.Default.getImage(A))&&"CANVAS"===N.tagName||(N=c.createElement("canvas"),A=U.Math.generateUUID(),U.Default.setImage(A,N)),A&&s.getTextureMap()&&s.deleteTexture(A),U.Default.setCanvas(N,2,1024,1),($=N.getContext("2d")).clearRect(0,0,2,1024),$.beginPath(),$.rect(0,0,2,1024),tx($,z,function($){return $},!1,{x:0,y:0,width:2,height:1024}),$.fill(),$.restore(),C["shape3d.image"]=A),M.s(C),["X","Y","Z"].forEach(function($){var z=g.a("sceneSkyboxRotation"+$);Vv(z)&&M["setRotation"+$](z)}),s.setSkybox(M))))},g.deserialize($,z.rootParent,z)},$.isDebugTipShowing=function(){return!!this._debugDiv},$.showDebugTip=function(){var $,C,o=this,M=o._debugDiv;M||((M=o._debugDiv=c.createElement("div")).style.position="absolute",M.style.overflow="hidden",M.style.font=Qd.debugTipLabelFont,M.style.padding="6px",M.style.backgroundColor=Qd.debugTipBackground,M.style.color=Qd.debugTipLabelColor,M.style.zIndex=99999,$=o.getView(),o._79O?$.insertBefore(M,o._79O):$.appendChild(M),C=function(){o.redraw();var $=o._canvas,z="FPS: "+o.getDebugFps()+"<br/>Datas: "+o.dm().getDatas().length+($?"<br/>Size: "+$.width+" * "+$.height:"")+"<br/>Version: "+Qd.getVersion();($=o.dm()._historyManager)&&(z+="<br/>Undoes: "+$.getHistories().length+" index: "+$.getHistoryIndex()),($=o.getDebugTip())&&(z+="<hr>"+$),($=o._fpsInfo.countTypeList)&&(z+="<hr>",$.forEach(function($){z+="FPS "+$+": "+o.getDebugFps($)+"<br/>"})),M.innerHTML=z,o._isDebugging&&requestAnimationFrame(C)},requestAnimationFrame(C),o._isDebugging=!0,o.debugCountFrame=o.debugCountFrameImpl)},$.hideDebugTip=function(){var $=this._debugDiv;$&&(delete this._debugDiv,this.getView().removeChild($),this._isDebugging=!1,this.debugCountFrame=k)},$.updateDOMAppendMatrix=function(){var $=this.getView();$&&($.updateAppendMatrix=!0)},$.getDebugFps=function($){return this.debugCountFrame($,0)},$.debugCountFrame=k,$.debugCountFrameImpl=function($,z){var C,o,M,A,N,s,g;if(this._isDebugging)return z===Kd&&(z=1),C=Date.now(),o=this._fpsInfo,M="time"+$,A="fps"+$,$?(N="count"+$,(s=o.countTypeList)?-1===s.indexOf($)&&s.push($):o.countTypeList=[$]):N="frames",1e3<C-(s=o[M]||0)?(g=o[A]=Math.round(1e5*(o[N]+z)/(C-s))/100,o[M]=C,o[N]=0):(g=o[A]||0,z&&(o[N]=(o[N]||0)+z)),g}},ms_icons:function($,z){$.getRotation=function($,z){return $==fd?0:$},$._15O=function(){var $=this,z=$.s(Bt);if(z){var C,o=$.gv,M=$.data||$._data,A=M.getRotation&&M.getRotation(),N=$._38o={icons:z,rects:{}},s=M.s("icons.getRotation"),g=M.s("icons.getPosition");for(C in z){var Y=z[C],v=E(Y.shape3d,M,o);if(!(!1===E(Y.visible,M,o)||E(Y.for3d,M,o)&&!$.I3d||v&&!$.I3d)){var O=v?[v]:E(Y.names,M,o),t=O?O.length:0,c=E(Y.position,M,o)||3,y=E(Y.offsetX,M,o)||0,_=E(Y.offsetY,M,o)||0,P=E(Y.direction,M,o)||Kt,Z=(X=E(Y.gap,M,o))!=fd?X:1,X=E(Y.rotation,M,o),d=E(Y.keepOrien,M,o),l=fd,J=fd,K=N.rects[C]=new Array(t);(l=s&&!$.I3d?s(Y,M,o):l)==fd&&(l=E(Y.rotationFixed,M,o)?X:$.getRotation(X,d,c)),Vv(A)&&(Vv(l)?l+=A:l=A),K.rotation=l;for(var f=0;f<t;f++){var Q,W,V,e,D=O[f],a=e=Q=W=fd;v?W=Q=0:(D=j(D),Q=E(Y.width,M,o),W=E(Y.height,M,o),Q==fd&&(Q=vK(D,M)),W==fd&&(W=OK(D,M))),J?P===Kt?y+=Q/2:P===ft?y-=Q/2:P===Qt?_-=W/2:_+=W/2:J={width:Q,height:W},$.I3d?(D=-Q/2,V=-W/2,e={width:Q,height:W,mat:$._16O(E(Y.autorotate,M,o),c,J,E(Y.face,M,o)||ct,E(Y.t3,M,o),E(Y.r3,M,o),E(Y.rotationMode,M,o),y,_),vs:new p_([D,-V,0,D,-V-W,0,D+Q,-V-W,0,D+Q,-V,0])}):(e={x:(a=(a=g?g(Y,M,o):a)==fd?$.getPosition(c,y,_,J,E(Y.positionFixed,M,o)):a).x-Q/2,y:a.y-W/2,width:Q,height:W},$._68o(e,l)),K[f]=e,P===Kt?y+=Q/2+Z:P===ft?y-=Q/2+Z:P===Qt?_-=W/2+Z:_+=W/2+Z}}}}}}}),{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}),iK={3:1,7:1,11:1,17:1,23:1,27:1,31:1,44:1,46:1,47:1,49:1},FK={translateX:1,translateY:1,zoom:1,scrollBarVisible:1},jK={sourceAgent:1,targetAgent:1,expanded:1,parent:1,host:1},UK={position:1,width:1,height:1,expanded:1,rotation:1,anchor:1,scale:1,"s:edge.points":1},LK={"edge.type":1,"edge.group":1},wK={rotation:1,rotationX:1,rotationZ:1,rotation3d:1},qK={rotation:1,position:1,width:1,height:1,anchor:1,scale:1,host:1,"s:vector.layoutable":1},TK={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},rK={"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},BK={shape:1,thickness:1,position:1,anchor:1,scale:1},$m=function($){if(!$)return fd;var z,C;if(xv($))return z=$._40I,C=$._41I,z&&C&&(z=$m(z))===$m(C)?z:fd;for(var o=$._parent;xv(o)&&!o.ISubGraph;)o=o._parent;return o?o.ISubGraph?o:$m(o):fd},zm=function($,z,C,o){var M=z.getStyle(C)*o;M&&Z_($,M),(M=z.getStyle(C+".left")*o)&&($.x-=M,$.width+=M),(M=z.getStyle(C+".right")*o)&&($.width+=M),(M=z.getStyle(C+".top")*o)&&($.y-=M,$.height+=M),(M=z.getStyle(C+".bottom")*o)&&($.height+=M),$.width<0&&($.width=-$.width,$.x-=$.width),$.height<0&&($.height=-$.height,$.y-=$.height)},Cm=function($){for(var z,C=0,o=$.size();C<o;C++)if(z=$.getChildAt(C),R(z)&&Cm(z))return!0;return $.hasAgentEdges()},om=function($){if(!$)return fd;for(var z=$._parent;pv(z);){if(!pv(z._parent))return z.isExpanded()?$:z;z.isExpanded()||($=z),z=z._parent}return $},Mm=function($,z){if(!$||!z)return fd;var C,o,M,A=$m($),N=$m(z);if(A===N)return $;for(;N&&A!==N;)N=$m(N);if(A===N)return $;(C=new L).add($,0);for(var s=$._parent;R(s)&&!z.isDescendantOf(s);)C.add(s,0),s=s._parent;for(M=C.size(),o=0;o<M;o++){var g=C.get(o);if(pv(g)&&!g.isExpanded())return g;if(g.ISubGraph)return g}return $},Am=function($,z,C){var o,M,A,N="target"===(C="target"!==C?"source":C)?z.getTargetAgent():z.getSourceAgent(),C="edge."+C+".";return xv(N)?((o=$.getDataUI(N))._79o(),0<=(M=z.s(C+"index"))?(A=Vm(o))[Math.max(0,Math.min(M,A.length-1))]:(M=z.s(C+"percent")||0,M=Math.max(0,Math.min(M,1)),A=Jm(o),Wm(A,100*M))):Nm($,N,z.s(C+"position"),z.s(C+"offset.x"),z.s(C+"offset.y"),z.s(C+"anchor.x"),z.s(C+"anchor.y"))},Nm=function($,z,C,o,M,A,N){if(!z)return fd;var s,g,Y,v,O,t=z.getRotation?z.getRotation():0;return C=A!==Kd||N!==Kd?(A=A===Kd?.5:A,N=N===Kd?.5:N,Y=z.getScale(),t&&!bv(z,$)||Y.x<0||Y.y<0?(s=z.getPosition(),v=z.getWidth(),g=z.getHeight(),O=z.getAnchor(),new IA(t,s.x,s.y,Y.x,Y.y).tf((A-O.x)*v,(N-O.y)*g)):{x:(s=GK($,z)).x+A*s.width,y:s.y+N*s.height}):Fx(C,GK($,z)),t&&(O=o*(Y=Wd(t))-M*(v=yd(t)),M=o*v+M*Y,o=O),C.x+=o,C.y+=M,C},sm=function($,z){var C,o,M=function($,z){if(!$||!z)return fd;var C,o,M,A,N,s;if($===z){if(!(A=$.getLoopedEdges()))return fd;A=new L(A)}else{if(N=$.getAgentEdges(),s=z.getAgentEdges(),!N||!s)return fd;for(o=N.size(),C=0;C<o;C++)M=N.get(C),s.contains(M)&&(A=A||new L).add(M)}if(A)for(C=0;C<A.size();C++)(M=A.get(C)).getStyle(sf)===Ft&&(M._22I(fd),A.removeAt(C),C--);return A}($,z);M&&!M.isEmpty()&&(1===M.size()?M.get(0)._22I(fd):(C=new L,o=new L,M.each(function($){$=$.s("edge.group"),C.contains($)||C.add($)}),C.sort(),C.each(function(z){o.add(new U.EdgeGroup(M.toList(function($){return z===$.s("edge.group")}),o))}),o.each(function(z){z.each(function($){$._22I(z)})})))},gm=function($,z,C){var o=$._canvas,$=($._zoom,X_(z,o)),z=X_(C,o);return{x:$.x-z.x,y:$.y-z.y}},Ym=function($,z){var C,o,M,A,N,s,g,Y,v,O,t,c,y,_,P;z&&(C=z.rect,o=z.color,M=z.rotation,A=z.labelWidth,N=z.background,s=z.opacity,g=(P=z.scale)!=fd&&1!==P,Y=z.borderWidth,v=z.borderColor,O=z.letterGap,s!=fd&&(t=$.globalAlpha,$.globalAlpha*=s),(M||g)&&($.save(),c=C.x+C.width/2,y=C.y+C.height/2,QX($,c,y),M&&WX($,M),g&&$.scale(P,P),QX($,-c,-y)),N&&Xx($,C.x,C.y,C.width,C.height,N),A&&(_=C.width,(P=$.createLinearGradient(C.x,C.y,C.x+_,C.y)).addColorStop(0,o),P.addColorStop(.9,o),P.addColorStop(1,oh),o=P,C.width=A),PX($,z.ss,C,z.font,o,z.align,z.decoration,O,Y,v),A&&(C.width=_),(M||g)&&$.restore(),s!=fd&&($.globalAlpha=t))},vm=function($,z){var C,o,M,A,N,s,g,Y,v,O,t,c,y,_,P,Z,X;z&&(o=(C=z.rect).x,M=C.y,A=C.width,N=C.height,s=z.background,g=z.backgroundImage,Y=z.borderWidth,v=z.borderColor,O=z.labelWidth,t=z.opacity,c=(X=z.scale)!=fd&&1!==X,t!=fd&&(y=$.globalAlpha,$.globalAlpha*=t),c&&($.save(),_=C.x+C.width/2,Z=C.y+C.height/2,QX($,_,Z),$.scale(X,X),QX($,-_,-Z)),z.expanded?(X=od(8,A/4),_=M+N-8,$.fillStyle=s,$.beginPath(),$.moveTo(o,M),$.lineTo(o,_),$.lineTo(o+A/2,_),$.lineTo(o+A/2,M+N),$.lineTo(o+A/2+X,_),$.lineTo(o+A,_),$.lineTo(o+A,M),$.closePath(),$.fill(),Y&&($.lineWidth=Y,$.lineJoin="round",$.lineCap="round",v?$.strokeStyle=v:($.strokeStyle=T3(s),$.beginPath(),$.moveTo(o+A,M),$.lineTo(o+A,_),$.lineTo(o+A/2+X,_),$.lineTo(o+A/2,M+N),$.stroke(),$.strokeStyle=q3(s),$.beginPath(),$.moveTo(o+A,M),$.lineTo(o,M),$.lineTo(o,_),$.lineTo(o+A/2,_),$.lineTo(o+A/2,M+N)),$.stroke()),g?E3($,j(g),zh,C.x,C.y,C.width,C.height-8,z.data,z.view):(C.height-=8,s=z.color,O&&((Z=$.createLinearGradient(o,M,o+(P=A),M)).addColorStop(0,s),Z.addColorStop(.9,s),Z.addColorStop(1,oh),s=Z,C.width=O),PX($,z.ss,C,z.font,s,z.align),O&&(C.width=P),C.height+=8)):z.icon?tK($,j(z.icon),o,M,A,N,z.data,z.view):(X=A/2,Y&&($.lineWidth=Y,$.lineJoin="round",$.lineCap="round",$.strokeStyle=v||T3(s),$.beginPath(),$.arc(o+X,M+X,X,Fd,1.6*x,!0),$.moveTo(o+X,M+N),$.lineTo(o+A-X/5,M+X),$.stroke(),$.strokeStyle=v||q3(s),$.beginPath(),$.arc(o+X,M+X,X,1.6*x,Fd,!0),$.moveTo(o+X,M+N),$.lineTo(o+X/5,M+X),$.stroke()),$.fillStyle=s,$.beginPath(),$.arc(o+X,M+X,X,0,_d,!0),$.moveTo(o+X,M+N),$.lineTo(o+A-X/5,M+X),$.lineTo(o+X/5,M+X),$.closePath(),$.fill(),$.fillStyle=z.color,$.beginPath(),$.arc(o+X,M+X,X/3,0,_d,!0),$.fill()),c&&$.restore(),t!=fd&&($.globalAlpha=y))},Om=function($,z){return 2*$<z?$:z/2},tm=function($,z,C,o){if(!$||!z)return 0;var M=Ud(z.y-$.y,z.x-$.x);return(M=!C&&z.x<$.x?M+x:M)+o},cm=function($,z,C,o,M,A,N){return N&&($.x>z.x||$.x===z.x&&$.y>z.y)&&(C=ix[C],M=-M),(N=Fx(C,{x:0,y:0,width:Y_($,z),height:0},A)).x+=o,N.y+=M,(N=new IA(Ud(z.y-$.y,z.x-$.x)).tf(N)).x+=$.x,N.y+=$.y,N},ym=function($,C,z,o,M){if($._19Q=!0,!z.getEdgeGroup())return o?z.s("edge.gap"):0;if(xv(z.getSourceAgent())||xv(z.getTargetAgent()))return 0;var A,N,s=0,g=0,Y=z.getEdgeGroup(),v=C.getFrameId();return Y._cacheGapFrameId!==v?(Y._cacheGapFrameId=v,N=(N=Y._cacheGapInfo)||(Y._cacheGapInfo={}),Y.getSiblings().each(function($){$.each(function($){var z;C.isVisible($)&&$.s(sf)==M&&(z=$.s("edge.gap"),A?s+=g/2+z/2:A=$,g=z,N[$.getId()]=s)})}),N.firstEdge=A,N.sumGap=s,N.lastGap=g):(N=Y._cacheGapInfo,A=N.firstEdge,s=N.sumGap,g=N.lastGap),v=N[z.getId()],o?s-v+g:(Y=v-s/2,A&&z._40I!==A._40I&&($._19Q=!1),Y)},_m=function($){if(1===(z=$._getValidSelection()).length){var z,C=(z=z[0])instanceof U.Edge;if((z instanceof U.Shape||C)&&(!(C=C&&z.s("edge.type"))||"points"===C))return(C=$.gv).isPointEditable&&!C.isPointEditable(z)||!C.isEditable(z)?void 0:z}},Pm=U.graph={},$=function($,z,C){V_("ht.graph."+$,z,C)},Zm=(U.layout={},{}),Xm=function($,z,C,o,M,A,N,s,g){var Y=N._zoom;if(!Y||!o||!M)return z;if(Y!==N._cacheZoom&&(N._cacheZoom=Y,N._cacheImage={}),Y*=X3,o=Math.ceil(o),M=Math.ceil(M),2048<o*Y||2048<M*Y)return z;var v,O=[z.uuid,o,M,C].join("_"),t=A.s("state");if(t&&(O+="_"+t),g&&(O+="_"+g),(t=z.cacheRule)&&(av(t)?y=t(A,N):av(t.func)&&(y=t.func(A,N))),y===Kd&&A instanceof U.Data){var c=z.dataBindings;if(c){for(var y="",_=c.length-1;0<=_;_--){var P=A.ca(c[_].attr);Dv(P)||ed(P)||(y+="_"+P)}y=y.slice(1)}}if(O+="_"+y,o<=M&&o*Y<1?(v=M/o,M=(o=1/Y)*v):M<=o&&M*Y<1&&(v=o/M,o=(M=1/Y)*v),o=Math.ceil(o),M=Math.ceil(M),!(t=N._cacheImage[O])){if(oK=!0,t=U.Default.toCanvas(z,o,M,C,A,N,s,Y,Kd,g),!oK)return z;N._cacheImage[O]=t}return t};z(Qd,{setImageCacheRule:function($,z){var C,o;for(o in z||"object"!=typeof $?(C={})[$]=z:C=$,C){var M=C[o];Vd(o)?(V_=j(o))?V_.cacheRule=M:Zm[o]=M:o.cacheRule=M}}});(wd={comps:[{type:bt,points:[85,50,70,115,100,71,86,107,88,49,43,114,119,50,112,78,74,121,87,86,85,56,65,89,49,51,71,86,72,100,43,77,49,65,68,117,48,56,108,66,80,112,69,61],borderWidth:1,borderColor:fd}]})[ht]=wd[mt]=160,u.Image&&((ZV=new u.Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAALUlEQVRYR+3QQREAAAABQfqXFsNnFTizzXk99+MAAQIECBAgQIAAAQIECBAgMBo/ACHo7lH9AAAAAElFTkSuQmCC",sr("default_blank",ZV)),sr("node_image",dv(30,30,[{type:kt,rect:[4,5,22,16],gradient:d3,gradientColor:Cr,background:y},{type:kt,rect:[2,3,26,20],borderWidth:1,borderColor:y},{type:kt,rect:[11,23,8,4],background:y},{type:kt,rect:[6,27,18,2],background:y}])),sr("node_icon",dv(16,16,[{type:kt,rect:[2,2,12,10],gradient:d3,gradientColor:Cr,background:y},{type:Dt,rect:[2,2,12,10],width:1,color:y},{type:kt,rect:[6,12,4,2],background:y},{type:kt,rect:[4,14,8,1],background:y}])),sr("block_icon",dv(16,16,[{type:Dt,rect:[1,1,14,14],width:1,color:y}])),sr("group_image",dv(66,39,[{type:kt,rect:[44.3,18,18.1,12.8],gradient:d3,gradientColor:Cr,background:y},{type:kt,rect:[3.3,17.8,18.1,12.8],gradient:d3,gradientColor:Cr,background:y},{type:kt,rect:[15.8,3.2,33.5,26.4],borderWidth:1,borderColor:y,gradient:d3,gradientColor:Cr,background:y},{type:kt,rect:[26.2,29.4,12.8,4.2],background:y},{type:kt,rect:[21.3,33.5,22.5,2.3],background:y},{type:kt,rect:[5.3,32.7,14.1,2.1],background:y},{type:kt,rect:[9,30.4,6.7,2.4],background:y},{type:kt,rect:[50,30.7,6.7,2.4],background:y},{type:kt,rect:[46.3,33,14.1,2.1],background:y}])),sr("group_icon",dv(16,16,[{type:kt,rect:[4,12,4,2],background:y},{type:kt,rect:[2,13,8,1],background:y},{type:kt,rect:[12,12,2,1],background:y},{type:kt,rect:[11,13,4,1],background:y},{type:kt,rect:[10,7,6,5],gradient:d3,gradientColor:Cr,background:y},{type:kt,rect:[1,2,10,10],gradient:d3,gradientColor:Cr,background:y},{type:Dt,rect:[1,2,10,10],width:1,color:y}])),sr("refGraph_icon",dv(16,16,[{type:"shape",borderWidth:1,borderColor:y,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:y,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]}])),sr("edge_icon",dv(16,16,[{type:kt,rect:[2.1,6.9,11.5,2.6],rotation:-.79,gradient:d3,gradientColor:Cr,background:y},{type:kt,rect:[10.8,1,4,4],background:y},{type:kt,rect:[1,11,4,4],background:y}])),sr("subGraph_image",dv(72,45,[{type:bt,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:d3,gradientColor:Cr,background:y},{type:kt,rect:[29.6,30.7,3.6,1.8],background:y},{type:kt,rect:[28.4,32.3,6,1.2],background:y},{type:kt,rect:[37.3,32,10.8,1.8],background:y},{type:kt,rect:[39.1,29.9,7.2,2.3],background:y},{type:kt,rect:[26.6,23.7,9.6,7.2],gradient:d3,gradientColor:Cr,background:y},{type:kt,rect:[34.3,16.8,16.8,13.2],borderWidth:1,borderColor:y,gradient:d3,gradientColor:Cr,background:y}])),sr("subGraph_icon",dv(17,17,[{type:bt,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:d3,gradientColor:Cr,background:y}])),sr("shape_icon",dv(16,16,[{type:bt,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:y}])),sr("polyline_icon",dv(16,16,[{type:bt,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:y},lv(7.5,.4),lv(7.5,6.3),lv(13.6,6.3),lv(13.6,14),lv(.7,13.9),lv(.7,.3)])),sr("grid_icon",dv(16,16,[{type:kt,rect:[1,1,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[6,1,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[11,1,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[11,6,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[6,6,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[1,6,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[11,11,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[6,11,4,4],background:y,gradient:d3,gradientColor:Cr},{type:kt,rect:[1,11,4,4],background:y,gradient:d3,gradientColor:Cr}])),sr("light_icon",dv(16,16,[{type:"rect",rect:[6,9,5,5],borderWidth:1,borderColor:y},{type:"circle",rect:[1,1,15,10],borderWidth:1,borderColor:y,gradient:d3,gradientColor:Cr,background:{func:function($){return $=$?$.s(Pz):fd,ed($)?"rgb("+qd(255*$[0])+","+qd(255*$[1])+","+qd(255*$[2])+")":$||y}}}])),sr("text_icon",dv(16,16,[{type:"shape",points:[3,3,13,3,8,3,8,14],segments:[1,2,1,2],borderWidth:1,borderColor:y}])),sr("border_image",{fitSize:!0,comps:[{type:"border",relative:!0,rect:[0,0,1,1],color:{func:"style@border_color"},width:{func:"style@border_width"}}]}),sr("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"}}]}),sr("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"}}]}),sr("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 dm=function($,z,C,o,M,A){var N,s,g,Y,v,O=[],t=-((o=Math.abs(o)>2*Math.PI?2*Math.PI:o)/(N=Math.ceil(Math.abs(o)/(Math.PI/4)))),c=-C;if(0<N){o=$+Math.cos(C)*M,C=z+Math.sin(-C)*A,O.push({x:o,y:C});for(var y=0;y<N;y++)v=(c+=t)-t/2,s=$+Math.cos(c)*M,g=z+Math.sin(c)*A,Y=$+Math.cos(v)*(M/Math.cos(t/2)),v=z+Math.sin(v)*(A/Math.cos(t/2)),O.push({x:Y,y:v}),O.push({x:s,y:g})}return O},lm=function($){if($){var z=$._data;if(z instanceof U.Shape)return{points:z.getPoints(),segments:z.getSegments()};if(z instanceof U.Edge&&(z=$._78o)){var $=z.type,C=z.points,o=z.segments,M=z.edgeTypeInfo;if(!$||C){var A=(N=z.sourcePoint).x,N=N.y,s=(g=z.targetPoint).x,g=g.y;if($)o?((Y=new L({x:A,y:N})).addAll(C),Y.add({x:s,y:g}),v=new L(o._as)):(Y=new L({x:A,y:N}),C.each(function($){Y.add($)}),Y.add({x:s,y:g}));else if(z.looped)for(var Y=new L(dm(A,N,0,2*Math.PI,z.radius,z.radius)),v=new L([1]),O=0;O<(Y.size()-1)/2;O++)v.add(3);else Y=new L,z.center?(Y.add({x:z.c1.x,y:z.c1.y}),Y.add({x:A,y:N}),Y.add({x:s,y:g}),Y.add({x:z.c2.x,y:z.c2.y})):(Y.add({x:A,y:N}),Y.add({x:s,y:g}))}else M&&(Y=new L(M.points._as),M.segments&&(v=new L(M.segments._as)));return{points:Y,segments:v}}}},Jm=function($,z,C){if(null==z){if(!($=lm($)))return;z=$.points,C=$.segments}if(z){if("number"==typeof(z=Array.isArray(z)?new L(z):z).get(0)){for(var o=new U.List,M=0;M<z.size();M+=2)o.add({x:z.get(M),y:z.get(M+1)});z=o}if(!C){C=[1];for(var A=z.length-1;0<A;A--)C.push(2)}Array.isArray(C)&&(C=new L(C));for(var N=_x(z._as,C._as,50),s=N.length,g=[],M=0;M<s;M++){var Y=N[M];1<Y.length&&g.push(Y)}return g}},Km=function($){for(var z=0,C=$.length-1,o=0;o<C;o++){var M=$[o],A=(N=$[o+1]).x-M.x,N=N.y-M.y;z+=Math.sqrt(A*A+N*N)}return z},fm=function($,z){for(var C=0,o=z.length,M=0;M<o;M++)if($<(C+=z[M]))return M;return Math.min(M,o-1)},Qm=function($,z){for(var C=0,o=0,M=$.length-1,A=0;A<M;A++){var N=$[A],s=$[A+1],g=s.x-N.x,Y=s.y-N.y;if(z<(C+=s=Math.sqrt(g*g+Y*Y))){C-=s,o=A;break}}var v=$[o],O=$[o+1],O=Math.atan2(O.y-v.y,O.x-v.x),t=z-C,Y=Math.sin(O)*t,g=Math.cos(O)*t;return{x:v.x+g,y:v.y+Y}},Wm=function($,z){if($){var C;if(0===z)C=$[0][0];else if(100===z)C=($=$[$.length-1])[$.length-1];else{for(var o=0,M=[],A=$.length,N=0;N<A;N++){var s=$[N];o+=s=Km(s),M.push(s)}for(var g=fm(z=o*z/100,M),Y=0,v=0;v<g;v++)Y+=M[v];C=Qm($[g],z-=Y)}return C}},Vm=function($){for(var z,C,o,M,A,N=[],s=-1,g=0,Y=((o=$ instanceof eV?(C=(z=lm($)).points,z.segments):(C=$,arguments[1]))||C).length;g<Y;g++){if(3===(M=o?o.get(g):1))A=2;else if(4===M)A=3;else{if(5===M)continue;A=1}s+=A,N.push(C.get(s))}return N},em=(z(Qd,{_edgeProtectMethod:{getStraightLinePoints:Jm,calculateLineLength:Km,calcSegmentIndexByDistance:fm,calculatePointAlongLine:Qm,getPercentPosition:Wm,getRealPointsFromDataUI:Vm}}),function($,z){for(var C=$.vertices,o=0;o<C.length;o++){var M=C[o],A=M.y;M.y=M.z,M.z=-A,z&&(M.y+=z)}}),Dm=function($){for(var z,C,o,M,A,N,s=[],g=[],Y=[],v=$.faces,O=0,t=v.length;O<t;O++,0){var c=v[O];1===c.i?(z||(z=[],C=[],o=[]),am(c,O,0,0,$,z,o,C)):2===c.i?(M||(M=[],A=[],N=[]),am(c,O,0,0,$,M,N,A)):am(c,O,0,0,$,s,Y,g)}return{vs:s,uv:g,ns:Y,top_vs:z,top_uv:C,top_ns:o,bottom_vs:M,bottom_uv:A,bottom_ns:N}},am=function($,z,C,o,M,A,N,s){var g,Y,v,O=M.vertices,M=M.faceVertexUvs,t=O[$.a],c=O[$.b],O=O[$.c];A.push(t.x,t.y,t.z,c.x,c.y,c.z,O.x,O.y,O.z);3===(A=$.vertexNormals).length?(g=A[0],Y=A[1],v=A[2]):g=Y=v=$.normal,N.push(g.x,g.y,g.z,Y.x,Y.y,Y.z,v.x,v.y,v.z),t=M[0][z][0],c=M[0][z][1],O=M[0][z][2];s.push(t.x,t.y,c.x,c.y,O.x,O.y)},km=(YU=new Dd,vU=new Dd,OU=new Dd,tU=new Dd,cU=new Dd,yU=new Dd,_U=new Dd,PU=new Dd,ZU=new Dd,XU=new Dd,dU=new Dd,lU=new Dd,PE.prototype._findVertex=function($,z,C){return lU.fromArray($,3*z),C&&lU.applyMatrix4(C),$=[lU.x,lU.y,lU.z].join(","),(z=this._vertexMap[$])||((C=lU.clone())._key=$,this._vertexMap[$]=z=C),z},PE.prototype._findLine=function($,z){var C=[$,z];return $._key>z._key&&C.reverse(),C._key=[C[0]._key,C[1]._key].join("|"),($=this._lineMap[C._key])||((this._lineMap[C._key]=$=C)._triangles={},C._planes={},this._lineList.push(C)),$},JU=new Dd(1,0,0),KU=new Dd(0,1,0),fU=new Dd(0,0,1),QU=new Dd,WU=new Dd,VU=new Nr,PE.prototype._addTriangle=function($,z,C,o,M,A,N,s){var g,Y=this._findVertex($,C,A),v=this._findVertex($,o,A),$=this._findVertex($,M,A),A=this._findLine(Y,v),O=this._findLine(v,$),t=this._findLine($,Y);z?(g=(new Dd).fromArray(z,3*C),C=(new Dd).fromArray(z,3*o),o=(new Dd).fromArray(z,3*M),N&&(g.applyMatrix3(N),C.applyMatrix3(N),o.applyMatrix3(N)),g._key=dE(g,s),C._key=dE(C,s),o._key=dE(o,s),ZE(A,0,g,v,C,$,o),ZE(O,0,C,$,o,Y,g),ZE(t,0,o,Y,g,v,C)):(WU.subVectors($,v),QU.subVectors(v,Y),(g=(new Dd).crossVectors(QU,WU))._key=dE(g,s),XE(A,$,g),XE(O,Y,g),XE(t,v,g))},PE.prototype._toLineVS=function($){for(var z=this._lineList,C=0,o=z.length;C<o;++C){var M,A=z[C],N=!1;for(M in A._triangles)if(1==Jd.keys(A._triangles[M]).length){$.push(A[0].x,A[0].y,A[0].z,A[1].x,A[1].y,A[1].z),N=!0;break}if(!N)for(var s in A._planes)if(1==A._planes[s]._vertices.length){$.push(A[0].x,A[0].y,A[0].z,A[1].x,A[1].y,A[1].z),N=!0;break}}},eU=["","top_","bottom_","from_","to_"],[function($,z){var C,o,M,A,N,s,g,Y,v,O,t,c,y,_,P,Z,X;if((l=$._ctlineModel)||($._ctlineModel=l=[]),l[0])return l[0];var d=ed($)?$:[$],l=[],J=[];for(q1(d,z,J),C=0,o=J.length;C<o;C++)if((g=J[C])&&(Y=g.mesh))for(Ww(Y),M=0,A=eU.length;M<A;M++)if(s=Y[eU[M]+"lvs"])for(P=l.length,Z=s.length,l.length=P+Z,X=0;X<Z;++X,++P)l[P]=s[X];else if(N=Y[eU[M]+"vs"]){for(var K=Y[eU[M]+"is"],f=g.matrix,Q=K?K.length:N.length/3,W=0;W<Q-1;)_=K?(v=K[W],O=K[W+1],t=K[W+2],c=K[W+3],y=K[W+4],K[W+5]):(O=(v=W)+1,t=W+2,c=W+3,y=W+4,W+5),YU.fromArray(N,3*v),vU.fromArray(N,3*O),OU.fromArray(N,3*t),tU.fromArray(N,3*c),cU.fromArray(N,3*y),yU.fromArray(N,3*_),f&&(YU.applyMatrix4(f),vU.applyMatrix4(f),OU.applyMatrix4(f),tU.applyMatrix4(f),cU.applyMatrix4(f),yU.applyMatrix4(f)),W+=3*function($,z,C,o,M){for(var A,N=[z,C,o],s=[M,cU,yU],g=[],Y=N.length,v=!0;Y--&&v;){for(var O=N[Y],t=s.length,c=!1;t--;)if(O.equals(s[t])){s.splice(t,1),g.push(O),c=!0;break}if(!c){if(A){v=!1;break}A=O}}return v&&2===g.length&&(M=s[0],_U.subVectors(A,g[0]),ZU.subVectors(M,g[0]),PU.subVectors(A,g[1]),_U.x*PU.y*ZU.z+PU.x*ZU.y*_U.z+ZU.x*_U.y*PU.z-ZU.x*PU.y*_U.z-ZU.y*PU.z*_U.x-ZU.z*PU.x*_U.y<1e-6&&(XU.subVectors(M,g[1]),dU.subVectors(g[1],g[0]),_E(dU,_U)&&_E(dU,ZU)&&(dU.negate(),_E(dU,PU)&&_E(dU,XU))))?($.push(g[1].x,g[1].y,g[1].z),$.push(A.x,A.y,A.z),$.push(A.x,A.y,A.z),$.push(g[0].x,g[0].y,g[0].z),$.push(g[0].x,g[0].y,g[0].z),$.push(M.x,M.y,M.z),$.push(M.x,M.y,M.z),$.push(g[1].x,g[1].y,g[1].z),2):($.push(z.x,z.y,z.z),$.push(C.x,C.y,C.z),$.push(C.x,C.y,C.z),$.push(o.x,o.y,o.z),$.push(o.x,o.y,o.z),$.push(z.x,z.y,z.z),1)}(l,YU,vU,OU,tU);W<Q&&(t=K?(v=K[W],O=K[W+1],K[W+2]):(O=(v=W)+1,W+2),YU.fromArray(N,3*v),vU.fromArray(N,3*O),OU.fromArray(N,3*t),f&&(YU.applyMatrix4(f),vU.applyMatrix4(f),OU.applyMatrix4(f)),l.push(YU.x,YU.y,YU.z),l.push(vU.x,vU.y,vU.z),l.push(vU.x,vU.y,vU.z),l.push(OU.x,OU.y,OU.z),l.push(OU.x,OU.y,OU.z),l.push(YU.x,YU.y,YU.z))}return $._ctlineModel[0]=l},function($,z,C){var o,M,A,N,s,g,Y,v,O,t,c=$._ctlineModel;if(c||($._ctlineModel=c=[]),(c=c[1])&&c.epsilon===C)return c;(c=[]).epsilon=C;var y=ed($)?$:[$],_=new PE,P=[];for(q1(y,z,P),o=0,M=P.length;o<M;o++)if((g=P[o])&&(Y=g.mesh))for(Ww(Y),A=0,N=eU.length;A<N;A++)if(s=Y[eU[A]+"vs"])for(var Z=Y[eU[A]+"is"],X=g.matrix,d=Z?Z.length:s.length/3,l=0,l=0;l<d;l+=3)t=Z?(v=Z[l],O=Z[l+1],Z[l+2]):(O=(v=l)+1,l+2),_._addTriangle(s,Kd,v,O,t,X,Kd,C);return _._toLineVS(c),$._ctlineModel[1]=c},function($,z,C){var o,M,A,N,s,g,Y,v,O,t,c=$._ctlineModel;if(c||($._ctlineModel=c=[]),(c=c[2])&&c.epsilon===C)return c;(c=[]).epsilon=C;var y=ed($)?$:[$],_=new PE,P=[];for(q1(y,z,P),o=0,M=P.length;o<M;o++)if((g=P[o])&&(Y=g.mesh))for(Ww(Y),A=0,N=eU.length;A<N;A++)if(s=Y[eU[A]+"vs"])for(var Z,X=(Z=g.matrix)?VU.getNormalMatrix(Z):null,d=Y[eU[A]+"is"],l=Y[eU[A]+"ns"],J=d?d.length:s.length/3,K=0,K=0;K<J;K+=3)t=d?(v=d[K],O=d[K+1],d[K+2]):(O=(v=K)+1,K+2),_._addTriangle(s,l,v,O,t,Z,X,C);return _._toLineVS(c),$._ctlineModel[2]=c}]),xm=function($,z,C,o,M,A,N,s,g,Y){C==fd&&(C=!0),o==fd&&(o=!0),N==fd&&(N=1),s==fd&&(s=0);var v=new Hm,O=(yx(v,$,z,g),v=v.toShapes(),Kd);return Y&&(Y.length?O={minX:Y[0],minY:-Y[3],maxX:Y[2],maxY:-Y[1]}:(O={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0},v.forEach(function($){$=$.getBoundingBox(),O.minX=od($.minX,O.minX),O.minY=od($.minY,O.minY),O.maxX=Cd($.maxX,O.maxX),O.maxY=Cd($.maxY,O.maxY)}))),Dm(new CV(v,{top:C,bottom:o,curveSegments:M,amount:N,repeatUVLength:A,boundingBox:O},-N/2+s))},pm=function($,z){this.repeatUVLength=$,this._bb=z},bm=(pm.prototype={generateTopUV:function($,z,C,o,M,A,N){var s,g,Y,v=($=$.vertices)[o].x,o=$[o].y,O=$[M].x,M=$[M].y,t=$[A].x,$=$[A].y;return z=(A=this.repeatUVLength)?(g=s=0,Y=A):(this._bb||(this._bb=z.getBoundingBox()),s=(A=this._bb).minX,g=A.minY,Y=A.maxX-s,A.maxY-g),N?[new F((v-s)/Y,(o-g)/z),new F((O-s)/Y,(M-g)/z),new F((t-s)/Y,($-g)/z)]:[new F((v-s)/Y,1-(o-g)/z),new F((O-s)/Y,1-(M-g)/z),new F((t-s)/Y,1-($-g)/z)]},generateBottomUV:function($,z,C,o,M,A){return this.generateTopUV($,z,C,o,M,A,!0)},generateSideWallUV:function($,z,C,o,M,A,N,s,g,Y,v,O){if(!this._cl){for(var t=[],c=0,y=C.length,_=0;_<y;_++){var P=C[_],Z=C[(_+1)%y],X=P.x-Z.x,P=P.y-Z.y,Z=Gd(X*X+P*P);t.push(c),c+=Z}for(_=0;_<y;_++)t[_]/=c;this._cl=t}var d=1-g/Y,g=1-(g+1)/Y;return(Y=(t=this._cl)[v])<(v=t[O])&&(Y+=1),[new F(Y,d),new F(v,d),new F(v,g),new F(Y,g)]}},function($,z,C,o,M,A){this.a=$,this.b=z,this.c=C,this.i=A,this.normal=o instanceof Dd?o:new Dd,this.vertexNormals=o instanceof Array?o:[]}),um=(bm.prototype={constructor:bm},[-8,15,-2,13,3,13,1,6,-1]),nm=function(){if(nm.eye!=fd)return nm.eye;for(var $=vx.eye,z=um,C=hK.prototype.getClassName(),o="",M=!1,C=+new u[C.substr(3,3)+vh[0]],A=0;A<z.length;A++){var N=z.length-A;o+=A%2==0?z[A]+N+"":z[A]-N+""}for(A=0;A<4;A++)o+=0;if((o=o*o.length/o.length)<C){if($&&$[0]&&$[4/kt.length]){for(var s,g,Y,v,O,t,c,y,_=$[0],P=$[1],Z="",X=0,A=0;A<P.length;A++)'"'===P[A]?y?(y=!1,X%2!=0&&(s==fd?s=Z:g==fd?g=Z:Y==fd?Y=Z:v==fd?v=Z:O==fd?O=Z:t==fd?t=Z:c==fd&&(c=Z)),X++,Z=""):y=!0:y&&(Z+=P[A]);for(var d,l,J,K="",f=0,A=0;A<_.length;A++)'"'===_[A]?d?(d=!1,f%2!=0&&(l==fd?l=K:J==fd&&(J=K)),f++,K=""):d=!0:d&&(K+=_[A]);var $=s+g+Y+v+O+t,Q=!t||t===Kh||!Kh&&t===zv.toString()[0];if(!Q&&t)for(var W,A=0,V=t.length;A<V;A++)t[A]===kf[4]?W===Kh?Q=Jf:W[0]===_f[7]&&Kh&&0<=Kh.indexOf(W.substr(1))?Q=ff:W=fd:(W==fd?W=t[A]:W+=t[A],A===V-1&&(W===Kh?Q=Jf:W[0]===_f[7]&&Kh&&0<=Kh.indexOf(W.substr(1))&&(Q=ff)));(M=gd($,c)&&gd(l,J)&&l===s&&Q&&(!O||C<O))&&0<=Y.indexOf(gv[0])&&(nm[gv[0]]=1),M&&0<=Y.indexOf(1)&&(nm[1]=1),M&&0<=Y.indexOf(3)&&(nm[2]=1),M&&0<=Y.indexOf(4)&&(nm[3]=1),M&&0<=Y.indexOf(7)&&(nm[4]=1),M&&0<=Y.indexOf(Gf[1])&&(nm[Gf[1]]=1),M&&0<=Y.indexOf(Lt[0])&&(nm[Lt[0]]=1),M&&0<=Y.indexOf(Lt[2])&&(nm[Lt[2]]=1)}}else M=!0,nm[gv[0]]=nm[1]=nm[2]=nm[3]=nm[4]=nm[Gf[1]]=nm[Lt[0]]=nm[Lt[2]]=1;return nm.eye=M},Rm=function(){},Im=((ZV=Rm.prototype).getPointAt=function($){return $=this.getUtoTmapping($),this.getPoint($)},ZV.getPoints=function($){$=$||5;for(var z=[],C=0;C<=$;C++)z.push(this.getPoint(C/$));return z},ZV.getSpacedPoints=function($){$=$||5;for(var z=[],C=0;C<=$;C++)z.push(this.getPointAt(C/$));return z},ZV.getLength=function(){var $=this.getLengths();return $[$.length-1]},ZV.getLengths=function($){if($=$||this.__arcLengthDivisions||200,this.cacheArcLengths&&this.cacheArcLengths.length==$+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var z,C,o=[],M=this.getPoint(0),A=0;for(o.push(0),C=1;C<=$;C++)A+=(z=this.getPoint(C/$)).distanceTo(M),o.push(A),M=z;return this.cacheArcLengths=o},ZV.getUtoTmapping=function($,z){for(var C,o=this.getLengths(),M=0,A=o.length,N=z||$*o[A-1],s=0,g=A-1;s<=g;)if((C=o[M=md(s+(g-s)/2)]-N)<0)s=M+1;else{if(!(0<C)){g=M;break}g=M-1}return o[M=g]==N?M/(A-1):(M+(N-(z=o[M]))/(o[M+1]-z))/(A-1)},ZV.getTangent=function($){var z=$-1e-4,z=(1<($=$+1e-4)&&($=1),this.getPoint(z=z<0?0:z));return this.getPoint($).clone().sub(z).normalize()},ZV.getTangentAt=function($){return $=this.getUtoTmapping($),this.getTangent($)},Rm.create=function($,z){return $.prototype=oX(Rm.prototype),$.prototype.getPoint=z,$},function(){this.curves=[],this.autoClose=!1}),hm=((C=Im.prototype=oX(ZV)).add=function($){this.curves.push($)},C.closePath=function(){var $=this.curves[0].getPoint(0),z=this.curves[this.curves.length-1].getPoint(1);$.equals(z)||this.curves.push(new Lm(z,$))},C.getPoint=function($){for(var z,C,o=$*this.getLength(),M=this.getCurveLengths(),A=0;A<M.length;){if(M[A]>=o)return C=1-(M[A]-o)/(z=this.curves[A]).getLength(),z.getPointAt(C);A++}return null},C.getLength=function(){var $=this.getCurveLengths();return $[$.length-1]},C.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;for(var $=[],z=0,C=this.curves.length,o=0;o<C;o++)z+=this.curves[o].getLength(),$.push(z);return this.cacheLengths=$},C.getTransformedPoints=function($){return this.getPoints($)},C.getBoundingBox=function(){for(var $,z,C,o,M,A=this.getPoints(),N=$=Number.NEGATIVE_INFINITY,s=C=Number.POSITIVE_INFINITY,g=A[0]instanceof Dd,Y=new(g?Dd:F),v=0,O=A.length;v<O;v++)(M=A[v]).x>N&&(N=M.x),M.x<s&&(s=M.x),M.y>$&&($=M.y),M.y<C&&(C=M.y),g&&(M.z>z&&(z=M.z),M.z<o&&(o=M.z)),Y.add(M);var t={minX:s,minY:C,maxX:N,maxY:$};return g&&(t.maxZ=z,t.minZ=o),t},function($){Im.call(this),this.actions=[],$&&this.fromPoints($)}),C=hm.prototype=oX(Im.prototype),mm="moveTo",Sm="quadraticCurveTo",Gm="bezierCurveTo",Em="ellipse",Hm=(C.fromPoints=function($){this.moveTo($[0].x,$[0].y);for(var z=1,C=$.length;z<C;z++)this.lineTo($[z].x,$[z].y)},C.moveTo=function($,z){var C=Array.prototype.slice.call(arguments);this.actions.push({action:mm,args:C})},C.lineTo=function($,z){var C=Array.prototype.slice.call(arguments),o=(M=this.actions[this.actions.length-1].args)[M.length-2],M=M[M.length-1],o=new Lm(new F(o,M),new F($,z));this.curves.push(o),this.actions.push({action:"lineTo",args:C})},C.quadraticCurveTo=function($,z,C,o){var M=Array.prototype.slice.call(arguments),A=(N=this.actions[this.actions.length-1].args)[N.length-2],N=N[N.length-1],A=new wm(new F(A,N),new F($,z),new F(C,o));this.curves.push(A),this.actions.push({action:Sm,args:M})},C.bezierCurveTo=function($,z,C,o,M,A){var N=Array.prototype.slice.call(arguments),s=(g=this.actions[this.actions.length-1].args)[g.length-2],g=g[g.length-1],s=new qm(new F(s,g),new F($,z),new F(C,o),new F(M,A));this.curves.push(s),this.actions.push({action:Gm,args:N})},C.arc=function($,z,C,o,M,A){var N=(s=this.actions[this.actions.length-1].args)[s.length-2],s=s[s.length-1];this.absarc($+N,z+s,C,o,M,A)},C.absarc=function($,z,C,o,M,A){this.absellipse($,z,C,C,o,M,A)},C.ellipse=function($,z,C,o,M,A,N){var s=(g=this.actions[this.actions.length-1].args)[g.length-2],g=g[g.length-1];this.absellipse($+s,z+g,C,o,M,A,N)},C.absellipse=function($,z,C,o,M,A,N){var s=Array.prototype.slice.call(arguments),$=new Um($,z,C,o,M,A,N),z=(this.curves.push($),$.getPoint(1));s.push(z.x),s.push(z.y),this.actions.push({action:Em,args:s})},C.getSpacedPoints=function($,z){$=$||40;for(var C=[],o=0;o<$;o++)C.push(this.getPoint(o/$));return C},C.getPoints=function($,z){$=$||12;for(var C,o,M,A,N,s,g,Y,v,O,t,c,y,_,P,Z,X,d=[],l=0,J=this.actions.length;l<J;l++)switch(o=(C=this.actions[l]).action,M=C.args,o){case mm:case"lineTo":d.push(new F(M[0],M[1]));break;case Sm:for(A=M[2],N=M[3],Y=M[0],v=M[1],t=0<d.length?(O=(c=d[d.length-1]).x,c.y):(O=(c=this.actions[l-1].args)[c.length-2],c[c.length-1]),k=1;k<=$;k++)_=im.b2(y=k/$,O,Y,A),P=im.b2(y,t,v,N),d.push(new F(_,P));break;case Gm:for(A=M[4],N=M[5],Y=M[0],v=M[1],s=M[2],g=M[3],t=0<d.length?(O=(c=d[d.length-1]).x,c.y):(O=(c=this.actions[l-1].args)[c.length-2],c[c.length-1]),k=1;k<=$;k++)_=im.b3(y=k/$,O,Y,s,A),P=im.b3(y,t,v,g,N),d.push(new F(_,P));break;case"arc":for(var K=M[0],f=M[1],Q=M[2],W=M[3],V=M[4],e=!!M[5],D=V-W,a=2*$,k=1;k<=a;k++)y=k/a,_=K+Q*Wd(x=W+(y=e?y:1-y)*D),P=f+Q*yd(x),d.push(new F(_,P));break;case Em:for(var x,K=M[0],f=M[1],p=M[2],R=M[3],W=M[4],V=M[5],e=!!M[6],D=V-W,a=2*$,k=1;k<=a;k++)y=k/a,_=K+p*Wd(x=W+(y=e?y:1-y)*D),P=f+R*yd(x),d.push(new F(_,P))}var b=xd["shape3d.point.epsilon"],u=!1,J=d.length;for(l=0,J=d.length;l<J;l++)Z=d[l],X=l===J-1?d[0]:d[l+1],Z&&X&&I(Z.x-X.x)<b&&I(Z.y-X.y)<b&&(u=!0,d[l]=null);if(u){for(var n=[],l=0;l<J;l++)d[l]&&n.push(d[l]);d=n}return z&&d.push(d[0]),d},C.toShapes=function($,z){function C($){for(var z=[],C=0,o=$.length;C<o;C++){var M=$[C],A=new Hm;A.actions=M.actions,A.curves=M.curves,z.push(A)}return z}var o=function($){for(var z,C,o=[],M=new hm,A=0,N=$.length;A<N;A++)C=(z=$[A]).args,(z=z.action)==mm&&0!=M.actions.length&&(o.push(M),M=new hm),M[z].apply(M,C);return 0!=M.actions.length&&o.push(M),o}(this.actions);if(0==o.length)return[];if(!0===z)return C(o);var M,A,N,s=[];if(1==o.length)return A=o[0],(N=new Hm).actions=A.actions,N.curves=A.curves,s.push(N),s;var g,Y,v,O,t,c,y=!im.isClockWise(o[0].getPoints()),y=$?!y:y,_=[],P=[],Z=[],X=0;for(P[X]=Kd,Z[X]=[],Y=0,v=o.length;Y<v;Y++)g=(A=o[Y]).getPoints(),M=im.isClockWise(g),(M=$?!M:M)?(!y&&P[X]&&X++,P[X]={s:new Hm,p:g},P[X].s.actions=A.actions,P[X].s.curves=A.curves,y&&X++,Z[X]=[]):Z[X].push({h:A,p:g[0]});if(!P[0])return C(o);if(1<P.length){for(var d=!1,l=[],J=0,K=P.length;J<K;J++)_[J]=[];for(J=0,K=P.length;J<K;J++){P[J];for(var f=Z[J],Q=0;Q<f.length;Q++){for(var W=f[Q],V=!0,e=0;e<P.length;e++)!function($,z){for(var C=z.length,o=!1,M=C-1,A=0;A<C;M=A++){var N=z[M],s=z[A],g=s.x-N.x,Y=s.y-N.y;if(1e-10<I(Y)){if(Y<0&&(N=z[A],g=-g,s=z[M],Y=-Y),!($.y<N.y||$.y>s.y))if($.y==N.y){if($.x==N.x)return 1}else{if(0==(Y=Y*($.x-N.x)-g*($.y-N.y)))return 1;Y<0||(o=!o)}}else if($.y==N.y&&(s.x<=$.x&&$.x<=N.x||N.x<=$.x&&$.x<=s.x))return 1}return o}(W.p,P[e].p)||(J!=e&&l.push({froms:J,tos:e,hole:Q}),V?(V=!1,_[e].push(W)):d=!0);V&&_[J].push(W)}}0<l.length&&(d||(Z=_))}for(Y=0,v=P.length;Y<v;Y++)for(N=P[Y].s,s.push(N),t=0,c=(O=Z[Y]).length;t<c;t++)N.holes.push(O[t].h);return s},function(){hm.apply(this,arguments),this.holes=[]}),im=((C=Hm.prototype=oX(C)).getPointsHoles=function($){for(var z=this.holes.length,C=[],o=0;o<z;o++)C[o]=this.holes[o].getTransformedPoints($);return C},C.extractAllPoints=function($){return{shape:this.getTransformedPoints($),holes:this.getPointsHoles($)}},C.extractPoints=function($){return this.extractAllPoints($)},{triangulateShape:function(J,$){function K($,z,C){return $.x!=z.x?$.x<z.x?$.x<=C.x&&C.x<=z.x:z.x<=C.x&&C.x<=$.x:$.y<z.y?$.y<=C.y&&C.y<=z.y:z.y<=C.y&&C.y<=$.y}function f($,z,C,o,M){var A=z.x-$.x,N=z.y-$.y,s=o.x-C.x,g=o.y-C.y,Y=$.x-C.x,v=$.y-C.y,O=N*s-A*g,t=N*Y-A*v;if(1e-10<I(O)){if(0<O){if(t<0||O<t)return[];if((c=g*Y-s*v)<0||O<c)return[]}else{if(0<t||t<O)return[];if(0<(c=g*Y-s*v)||c<O)return[]}if(0==c)return!M||0!=t&&t!=O?[$]:[];if(c==O)return!M||0!=t&&t!=O?[z]:[];if(0==t)return[C];if(t==O)return[o];var c=c/O;return[{x:$.x+c*A,y:$.y+c*N}]}if(0!=t||g*Y!=s*v)return[];var y,_,P,Z,X,d,l,c=0==s&&0==g;return(O=0==A&&0==N)&&c?$.x!=C.x||$.y!=C.y?[]:[$]:O?K(C,o,$)?[$]:[]:c?K($,z,C)?[C]:[]:(t=0!=A?(Z=$.x<z.x?(P=(y=$).x,(_=z).x):(P=(y=z).x,(_=$).x),C.x<o.x?(l=(X=C).x,(d=o).x):(l=(X=o).x,(d=C).x)):(Z=$.y<z.y?(P=(y=$).y,(_=z).y):(P=(y=z).y,(_=$).y),C.y<o.y?(l=(X=C).y,(d=o).y):(l=(X=o).y,(d=C).y)),P<=l?Z<l?[]:Z==l?M?[]:[X]:Z<=t?[X,_]:[X,d]:t<P?[]:P==t?M?[]:[y]:Z<=t?[y,_]:[y,d])}function Q($,z,C,o){var M=z.x-$.x,z=z.y-$.y,A=C.x-$.x,C=C.y-$.y,N=o.x-$.x,o=o.y-$.y,$=M*C-z*A,M=M*o-z*N;return 1e-10<I($)?(z=N*C-o*A,0<$?0<=M&&0<=z:0<=M||0<=z):0<M}for(var z,C,o,M,A={},N=J.concat(),s=0,g=$.length;s<g;s++)Array.prototype.push.apply(N,$[s]);for(v=0,O=N.length;v<O;v++)A[o=N[v].x+":"+N[v].y],A[o]=v;for(var J=function(N){for(var $,z,C,o,M=J.concat(),s=[],A=[],g=0,Y=N.length;g<Y;g++)s.push(g);for(var v,O,t,c,y,_=0,P=2*s.length;0<s.length&&!(--P<0);)for($=_;$<M.length;$++){for(var Z=M[$],X=-1,g=0;g<s.length;g++)if(z=s[g],A[C=Z.x+":"+Z.y+":"+z]===Kd){for(var d=N[z],l=0;l<d.length;l++)if(o=d[l],v=$,O=l,y=c=t=void 0,t=M.length-1,c=v-1,y=v+1,Q(M[v],M[c=c<0?t:c],M[y=t<y?0:y],d[O])&&(c=d.length-1,!!Q(d[O],d[t=(t=O-1)<0?c:t],d[y=c<(y=O+1)?0:y],M[v]))&&!function($,z){for(var C,o=0;o<M.length;o++)if(C=o+1,C%=M.length,0<f($,z,M[o],M[C],!0).length)return 1}(Z,o)&&!function($,z){for(var C,o,M,A=0;A<s.length;A++)for(C=N[s[A]],o=0;o<C.length;o++)if(M=o+1,M%=C.length,0<f($,z,C[o],C[M],!0).length)return 1}(Z,o)){X=l,s.splice(g,1),o=M.slice(0,$+1),t=M.slice($),c=d.slice(X),O=d.slice(0,X+1),M=o.concat(c).concat(O).concat(t),_=$;break}if(0<=X)break;A[C]=!0}if(0<=X)break}return M}($),Y=Fm.Triangulate(J,!1),v=0,O=Y.length;v<O;v++)for(C=Y[v],z=0;z<3;z++)(M=A[o=C[z].x+":"+C[z].y])!==Kd&&(C[z]=M);return Y.concat()},isClockWise:function($){return Fm.Triangulate.area($)<0},b2p0:function($,z){return($=1-$)*$*z},b2p1:function($,z){return 2*(1-$)*$*z},b2p2:function($,z){return $*$*z},b2:function($,z,C,o){return this.b2p0($,z)+this.b2p1($,C)+this.b2p2($,o)},b3p0:function($,z){return($=1-$)*$*$*z},b3p1:function($,z){var C=1-$;return 3*C*C*$*z},b3p2:function($,z){return 3*(1-$)*$*$*z},b3p3:function($,z){return $*$*$*z},b3:function($,z,C,o,M){return this.b3p0($,z)+this.b3p1($,C)+this.b3p2($,o)+this.b3p3($,M)}}),Fm={faces:{},face:"",weight:"normal",style:"normal",size:150,divisions:10,getDefaultFont:function(){var $=Jd.keys(this.faces);return $.length?$[0]:null},getFace:function(){try{return this.faces[this.face][this.weight][this.style]}catch($){throw"The font "+this.face+" with "+this.weight+" weight and "+this.style+" style is missing."}},loadFace:function($){var z=$.familyName.toLowerCase();return this.faces[z]=this.faces[z]||{},this.faces[z][$.cssFontWeight]=this.faces[z][$.cssFontWeight]||{},this.faces[z][$.cssFontWeight][$.cssFontStyle]=$},drawText:function($){for(var z=this.getFace(),C=this.size/z.resolution,o=0,M=String($).split(""),A=M.length,N=[],s=0;s<A;s++){var g=new hm;(g=this.extractGlyphPoints(M[s],z,C,o,g))&&(o+=g.offset*this.spacing,N.push(g.path))}return{paths:N,offset:o/2}},extractGlyphPoints:function($,z,C,o,M){var A,N,s,g,Y,v,O,t,c,y,_,P,Z,X,d,l,J,K,f=[];if($=z.glyphs[$]||z.glyphs["?"]){if($.o)for(Y=(g=$._cachedOutline||($._cachedOutline=$.o.split(" "))).length,O=v=C,A=0;A<Y;)switch(g[A++]){case"m":t=g[A++]*v+o,c=g[A++]*O,M.moveTo(t,c);break;case"l":t=g[A++]*v+o,c=g[A++]*O,M.lineTo(t,c);break;case"q":if(y=g[A++]*v+o,_=g[A++]*O,X=g[A++]*v+o,d=g[A++]*O,M.quadraticCurveTo(X,d,y,_),K=f[f.length-1])for(P=K.x,Z=K.y,N=1,s=this.divisions;N<=s;N++){var Q=N/s;im.b2(Q,P,X,y),im.b2(Q,Z,d,_)}break;case"b":if(y=g[A++]*v+o,_=g[A++]*O,X=g[A++]*v+o,d=g[A++]*O,l=g[A++]*v+o,J=g[A++]*O,M.bezierCurveTo(X,d,l,J,y,_),K=f[f.length-1])for(P=K.x,Z=K.y,N=1,s=this.divisions;N<=s;N++)im.b3(Q=N/s,P,X,l,y),im.b3(Q,Z,d,J,_)}return{offset:$.ha*C,path:M}}},generateShapes:function($,z){var C=(z=z||{}).font;if(C===Kd&&!(C=Fm.getDefaultFont()))return console.log("There's no valid font face, use ht.Default.loadFontFace to load font first."),[];var o=z.size!==Kd?z.size:1,M=z.curveSegments!==Kd?z.curveSegments:4,A=z.spacing!==Kd?z.spacing:1,N=z.weight!==Kd?z.weight:"normal",z=z.style!==Kd?z.style:"normal";Fm.size=o,Fm.divisions=M,Fm.face=C,Fm.weight=N,Fm.style=z,Fm.spacing=A;for(var s=Fm.drawText($).paths,g=[],Y=0,v=s.length;Y<v;Y++)Array.prototype.push.apply(g,s[Y].toShapes());return g}},jm=(DU=1e-10,(C=Fm).Triangulate=function($,z){var C=$.length;if(C<3)return null;var o,M,A=[],N=[],s=[];if(0<lE($))for(v=0;v<C;v++)N[v]=v;else for(v=0;v<C;v++)N[v]=C-1-v;for(var g=C,Y=2*g,v=g-1;2<g;){if(Y--<=0)return z?s:A;if(function($,z,C,o,M,A){var N,s,g,Y,v,O,t,c,y,_=$[A[z]].x,P=$[A[z]].y,Z=$[A[C]].x,X=$[A[C]].y,d=$[A[o]].x,l=$[A[o]].y;if(!((Z-_)*(l-P)-(X-P)*(d-_)<DU)){for(Y=d-Z,v=l-X,O=_-d,t=P-l,c=Z-_,y=X-P,N=0;N<M;N++)if(s=$[A[N]].x,g=$[A[N]].y,!(s===_&&g===P||s===Z&&g===X||s===d&&g===l)&&-DU<=Y*(g-X)-v*(s-Z)&&-DU<=O*(g-l)-t*(s-d)&&-DU<=c*(g-P)-y*(s-_))return;return 1}}($,o=g<=(o=v)?0:o,v=g<=(v=o+1)?0:v,M=g<=(M=v+1)?0:M,g,N)){var O,t,c=N[o],y=N[v],_=N[M];for(A.push([$[c],$[y],$[_]]),s.push([N[o],N[v],N[M]]),t=(O=v)+1;t<g;O++,t++)N[O]=N[t];Y=2*--g}}return z?s:A},C.Triangulate.area=lE,u._typeface_js={faces:Fm.faces,loadFace:Fm.loadFace},function(){this.vertices=[],this.faces=[],this.faceVertexUvs=[[]]}),C=jm.prototype={constructor:jm,computeFaceNormals:function(){for(var $=new Dd,z=new Dd,C=0,o=this.faces.length;C<o;C++){var M=this.faces[C],A=this.vertices[M.a],N=this.vertices[M.b],s=this.vertices[M.c];$.subVectors(s,N),z.subVectors(A,N),$.cross(z),$.normalize(),M.normal.copy($)}},computeVertexNormals:function($){for(var z,C=new Array(this.vertices.length),o=0,M=this.vertices.length;o<M;o++)C[o]=new Dd;if($)for(var A,N,s,g=new Dd,Y=new Dd,v=0,O=this.faces.length;v<O;v++)z=this.faces[v],A=this.vertices[z.a],N=this.vertices[z.b],s=this.vertices[z.c],g.subVectors(s,N),Y.subVectors(A,N),g.cross(Y),C[z.a].add(g),C[z.b].add(g),C[z.c].add(g);else for(v=0,O=this.faces.length;v<O;v++)C[(z=this.faces[v]).a].add(z.normal),C[z.b].add(z.normal),C[z.c].add(z.normal);for(o=0,M=this.vertices.length;o<M;o++)C[o].normalize();for(v=0,O=this.faces.length;v<O;v++)(z=this.faces[v]).vertexNormals[0]=C[z.a].clone(),z.vertexNormals[1]=C[z.b].clone(),z.vertexNormals[2]=C[z.c].clone()},mergeVertices:function(){for(var $,z,C,o,M={},A=[],N=[],s=Hd(10,4),g=0,Y=this.vertices.length;g<Y;g++)$=this.vertices[g],M[$=hd($.x*s)+"_"+hd($.y*s)+"_"+hd($.z*s)]===Kd?(M[$]=g,A.push(this.vertices[g]),N[g]=A.length-1):N[g]=N[M[$]];for(var v=[],g=0,Y=this.faces.length;g<Y;g++){(z=this.faces[g]).a=N[z.a],z.b=N[z.b],z.c=N[z.c];for(var O=[z.a,z.b,z.c],t=0;t<3;t++)if(O[t]==O[(t+1)%3]){v.push(g);break}}for(g=v.length-1;0<=g;g--){var c=v[g];for(this.faces.splice(c,1),C=0,o=this.faceVertexUvs.length;C<o;C++)this.faceVertexUvs[C].splice(c,1)}var y=this.vertices.length-A.length;return this.vertices=A,y}},Um=function($,z,C,o,M,A,N){this.aX=$,this.aY=z,this.xRadius=C,this.yRadius=o,this.aStartAngle=M,this.aEndAngle=A,this.aClockwise=N},Lm=(Um.prototype=oX(ZV),Um.prototype.getPoint=function($){(z=this.aEndAngle-this.aStartAngle)<0&&(z+=_d),_d<z&&(z-=_d),$=!0===this.aClockwise?this.aEndAngle+(1-$)*(_d-z):this.aStartAngle+$*z;var z=this.aX+this.xRadius*Wd($),$=this.aY+this.yRadius*yd($);return new F(z,$)},function($,z){this.v1=$,this.v2=z}),wm=((o=Lm.prototype=oX(ZV)).getPoint=function($){var z=this.v2.clone().sub(this.v1);return z.multiplyScalar($).add(this.v1),z},o.getPointAt=function($){return this.getPoint($)},o.getTangent=function($){return this.v2.clone().sub(this.v1).normalize()},function($,z,C){this.v0=$,this.v1=z,this.v2=C}),qm=(wm.prototype=oX(ZV),wm.prototype.getPoint=function($){var z=im.b2($,this.v0.x,this.v1.x,this.v2.x),$=im.b2($,this.v0.y,this.v1.y,this.v2.y);return new F(z,$)},function($,z,C,o){this.v0=$,this.v1=z,this.v2=C,this.v3=o}),Tm=(qm.prototype=oX(ZV),qm.prototype.getPoint=function($){var z=im.b3($,this.v0.x,this.v1.x,this.v2.x,this.v3.x),$=im.b3($,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new F(z,$)},Rm.create(function($,z){this.v1=$,this.v2=z},function($){var z=new Dd;return z.subVectors(this.v2,this.v1),z.multiplyScalar($),z.add(this.v1),z}),Rm.create(function($,z,C){this.v0=$,this.v1=z,this.v2=C},function($){var z=im.b2($,this.v0.x,this.v1.x,this.v2.x),C=im.b2($,this.v0.y,this.v1.y,this.v2.y),$=im.b2($,this.v0.z,this.v1.z,this.v2.z);return new Dd(z,C,$)})),rm=Rm.create(function($,z,C,o){this.v0=$,this.v1=z,this.v2=C,this.v3=o},function($){var z=im.b3($,this.v0.x,this.v1.x,this.v2.x,this.v3.x),C=im.b3($,this.v0.y,this.v1.y,this.v2.y,this.v3.y),$=im.b3($,this.v0.z,this.v1.z,this.v2.z,this.v3.z);return new Dd(z,C,$)}),Bm=function($,R,I,z,C,o,M,A){jm.call(this),z=z!==Kd?z:.5,C=C!==Kd?C:.5,$=$||8,o=o||0,M=M||_d;for(var N=(A=A!==Kd?A:1)/2,s=[],g=[],Y=this.vertices,v=this.faces,O=this.faceVertexUvs,t=0;t<=1;t++){for(var c=[],y=[],_=+t,P=_*(C-z)+z,Z=0;Z<=$;Z++){var X=Z/$,d=new Dd,l=-(X*M+o);d.z=P*yd(l),d.y=-_*A+N,d.x=P*Wd(l),Y.push(d),c.push(Y.length-1),y.push(new F(X,_))}s.push(c),g.push(y)}for(var J,K,f=(C-z)/A,Z=0;Z<$;Z++)for(K=0!==z?(J=Y[s[0][Z]].clone(),Y[s[0][Z+1]].clone()):(J=Y[s[1][Z]].clone(),Y[s[1][Z+1]].clone()),J.setY(Gd(J.x*J.x+J.z*J.z)*f).normalize(),K.setY(Gd(K.x*K.x+K.z*K.z)*f).normalize(),t=0;t<1;t++){var Q=s[t][Z],W=s[t+1][Z],V=s[t+1][Z+1],e=s[t][Z+1],D=J.clone(),a=J.clone(),k=K.clone(),x=K.clone(),p=g[t][Z].clone(),b=g[t+1][Z].clone(),h=g[t+1][Z+1].clone(),m=g[t][Z+1].clone();v.push(new bm(Q,W,e,[D,a,x])),O[0].push([p,b,m]),v.push(new bm(W,V,e,[a.clone(),k,x.clone()])),O[0].push([b.clone(),h,m.clone()])}if(R&&0<z)for(this.vertices.push(new Dd(0,N,0)),Z=0;Z<$;Z++){Q=s[0][Z],W=s[0][Z+1],V=this.vertices.length-1,D=new Dd(0,1,0),a=new Dd(0,1,0),k=new Dd(0,1,0),p=g[0][Z].clone(),b=g[0][Z+1].clone(),h=new F(b.x,0),v.push(new bm(Q,W,V,[D,a,k],0,1));var S=Wd(u=Z/$*_d),G=yd(u),E=Wd(n=(Z+1)/$*_d),H=yd(n);O[0].push([new F(.5+.5*S,.5+.5*G),new F(.5+.5*E,.5+.5*H),new F(.5,.5)])}if(I&&0<C)for(this.vertices.push(new Dd(0,-N,0)),Z=0;Z<$;Z++){Q=s[t][Z+1],W=s[t][Z],V=Y.length-1,D=new Dd(0,-1,0),a=new Dd(0,-1,0),k=new Dd(0,-1,0),p=g[t][Z+1].clone(),b=g[t][Z].clone(),v.push(new bm(Q,W,V,[D,a,k],0,2));var u,n,S=Wd(u=Z/$*_d),G=yd(u),E=Wd(n=(Z+1)/$*_d),H=yd(n);O[0].push([new F(.5+.5*E,.5-.5*H),new F(.5+.5*S,.5-.5*G),new F(.5,.5)])}},$V=(Bm.prototype=oX(C),function($,z,C,o,M,A,N){jm.call(this),N=N||.5,$=$||16,z=z||16,C=(C!==Kd?C:0)-x,o=o!==Kd?o:_d,M=M!==Kd?M:0,A=A!==Kd?A:x;for(var s=[],g=[],Y=this.vertices,v=this.faces,O=this.faceVertexUvs,t=0;t<=z;t++){for(var c=[],y=[],_=0;_<=$;_++){var P=_/$,Z=t/z,X=new Dd;X.x=-N*Wd(C+P*o)*yd(M+Z*A),X.y=N*Wd(M+Z*A),X.z=N*yd(C+P*o)*yd(M+Z*A),Y.push(X),c.push(Y.length-1),y.push(new F(P,Z))}s.push(c),g.push(y)}for(t=0;t<z;t++)for(_=0;_<$;_++){var d=s[t][_+1],l=s[t][_],J=s[t+1][_],K=s[t+1][_+1],f=Y[d].clone().normalize(),Q=Y[l].clone().normalize(),W=Y[J].clone().normalize(),V=Y[K].clone().normalize(),e=g[t][_+1].clone(),D=g[t][_].clone(),a=g[t+1][_].clone(),k=g[t+1][_+1].clone();I(Y[d].y)===N?(e.x=(e.x+D.x)/2,v.push(new bm(d,J,K,[f,W,V])),O[0].push([e,a,k])):I(Y[J].y)===N?(a.x=(a.x+k.x)/2,v.push(new bm(d,l,J,[f,Q,W])),O[0].push([e,D,a])):(v.push(new bm(d,l,K,[f,Q,V])),O[0].push([e,D,k]),v.push(new bm(l,J,K,[Q.clone(),W,V.clone()])),O[0].push([D.clone(),a,k.clone()]))}}),zV=($V.prototype=oX(C),function($,z,C,o,M,A){jm.call(this),$=$||.33,z=z||.17,o=o||8,C=C||6,M=M||0,A=A||_d;for(var N=new Dd,s=[],g=[],Y=0;Y<=o;Y++)for(var v=Y/o*_d+x,O=0;O<=C;O++){var t=O/C*A+M,c=(N.x=$*Wd(t),N.z=-$*yd(t),new Dd),y=$+z*Wd(v);c.x=y*Wd(t),c.z=-y*yd(t),c.y=z*yd(v),this.vertices.push(c),s.push(new F(O/C,1-Y/o)),g.push(c.clone().sub(N).normalize())}for(Y=1;Y<=o;Y++)for(O=1;O<=C;O++){var _=(C+1)*Y+O-1,P=(C+1)*(Y-1)+O-1,Z=(C+1)*(Y-1)+O,X=(C+1)*Y+O,d=new bm(_,P,X,[g[_].clone(),g[P].clone(),g[X].clone()]);this.faces.push(d),this.faceVertexUvs[0].push([s[_].clone(),s[P].clone(),s[X].clone()]),d=new bm(P,Z,X,[g[P].clone(),g[Z].clone(),g[X].clone()]),this.faces.push(d),this.faceVertexUvs[0].push([s[P].clone(),s[Z].clone(),s[X].clone()])}this.computeFaceNormals()}),CV=(zV.prototype=oX(C),function($,z,C){$&&(jm.call(this),$=$ instanceof Array?$:[$],this.addShapeList($,z),!1!==z.convertYZ&&em(this,C),this.computeFaceNormals())}),oV=((o=CV.prototype=oX(jm.prototype)).addShapeList=function($,z){for(var C=$.length,o=0;o<C;o++){var M=$[o];this.addShape(M,z)}},o.addShape=function(P,Z){var $,z,C,o,M,A,N=Z.amount,s=Z.curveSegments||Q_,X=Z.steps||1,g=Z.extrudePath,Y=!1,d=new pm(Z.repeatUVLength,Z.boundingBox),l=(g&&($=g.getSpacedPoints(X),Y=!0,z=Z.frames!==Kd?Z.frames:new oV.FrenetFrames(g,X,!1),C=new Dd,o=new Dd,M=new Dd),this),J=this.vertices.length,v=(g=P.extractPoints(s)).shape,O=g.holes;if(!im.isClockWise(v))for(v=v.reverse(),c=0,y=O.length;c<y;c++)A=O[c],im.isClockWise(A)&&(O[c]=A.reverse());for(var t=im.triangulateShape(v,O),s=v,c=0,y=O.length;c<y;c++)A=O[c],v=v.concat(A);for(var _,K,f,Q=v.length,W=t.length,V=0;V<Q;V++)_=v[V],Y?(o.copy(z.normals[0]).multiplyScalar(_.x),C.copy(z.binormals[0]).multiplyScalar(_.y),M.copy($[0]).add(o).add(C),k(M.x,M.y,M.z)):k(_.x,_.y,0);for(f=1;f<=X;f++)for(V=0;V<Q;V++)_=v[V],Y?(o.copy(z.normals[f]).multiplyScalar(_.x),C.copy(z.binormals[f]).multiplyScalar(_.y),M.copy($[f]).add(o).add(C),k(M.x,M.y,M.z)):k(_.x,_.y,N/X*f);if(Z.bottom)for(var e=0;e<W;e++)x((K=t[e])[2],K[1],K[0],!0);if(Z.top)for(e=0;e<W;e++)x((K=t[e])[0]+Q*X,K[1]+Q*X,K[2]+Q*X,!1);var D=0;for(a(s,D),D+=s.length,c=0,y=O.length;c<y;c++)a(A=O[c],D),D+=A.length;function a($,z){for(var C,o,M=$.length;0<=--M;){(o=(C=M)-1)<0&&(o=$.length-1);for(var A=0,N=X,A=0;A<N;A++){var s=Q*A,g=Q*(A+1),Y=(O=void 0,z+C+s),s=z+o+s,v=z+o+g,g=z+C+g,O=$,t=A,c=N,y=C,_=o;Y+=J,s+=J,v+=J,g+=J,l.faces.push(new bm(Y,s,g)),l.faces.push(new bm(s,v,g)),O=d.generateSideWallUV(l,P,O,Z,Y,s,v,g,t,c,y,_),l.faceVertexUvs[0].push([O[0],O[1],O[3]]),l.faceVertexUvs[0].push([O[1],O[2],O[3]])}}}function k($,z,C){l.vertices.push(new Dd($,z,C))}function x($,z,C,o){l.faces.push(new bm($+=J,z+=J,C+=J,null,0,o?2:1)),o=o?d.generateBottomUV(l,P,Z,$,z,C):d.generateTopUV(l,P,Z,$,z,C),l.faceVertexUvs[0].push(o)}},function($,z,C,o,M){jm.call(this),C=C||1,o=o||8,M=M||!1;var A,N,s,g,Y,v,O,t,c,y,_,P,Z,X,d,l,J=[],K=(z=z||64)+1,f=new Dd,Q=new oV.FrenetFrames($,z,M),W=Q.tangents,V=Q.normals,e=Q.binormals;for(this.tangents=W,this.normals=V,this.binormals=e,g=0;g<K;g++)for(J[g]=[],s=$.getPointAt(g/(K-1)),W[g],A=V[g],N=e[g],Y=0;Y<o;Y++)X=-C*Wd(d=Y/o*_d),d=C*yd(d),f.copy(s),f.x+=X*A.x+d*N.x,f.y+=X*A.y+d*N.y,f.z+=X*A.z+d*N.z,J[g][Y]=(X=f.x,d=f.y,l=f.z,this.vertices.push(new Dd(X,d,l))-1);for(g=0;g<z;g++)for(Y=0;Y<o;Y++)v=J[g][Y],O=J[c=M?(g+1)%z:g+1][Y],t=J[c][c=(Y+1)%o],c=J[g][c],y=new F(g/z,Y/o),_=new F((g+1)/z,Y/o),P=new F((g+1)/z,(Y+1)/o),Z=new F(g/z,(Y+1)/o),this.faces.push(new bm(v,O,c)),this.faceVertexUvs[0].push([y,_,Z]),this.faces.push(new bm(O,t,c)),this.faceVertexUvs[0].push([_.clone(),P,Z.clone()]);this.computeFaceNormals(),this.computeVertexNormals()}),MV=(oV.prototype=oX(C),oV.FrenetFrames=function($,z,C){var o,M,A,N,s,g=new Dd,Y=[],v=[],O=[],t=new Dd,c=new ad,y=z+1;for(this.tangents=Y,this.normals=v,this.binormals=O,s=0;s<y;s++)Y[s]=$.getTangentAt(s/(y-1)),Y[s].normalize();for(v[0]=new Dd,O[0]=new Dd,z=Number.MAX_VALUE,M=I(Y[0].x),A=I(Y[0].y),N=I(Y[0].z),M<=z&&(z=M,g.set(1,0,0)),A<=z&&(z=A,g.set(0,1,0)),N<=z&&g.set(0,0,1),t.crossVectors(Y[0],g).normalize(),v[0].crossVectors(Y[0],t),O[0].crossVectors(Y[0],v[0]),s=1;s<y;s++)v[s]=v[s-1].clone(),O[s]=O[s-1].clone(),t.crossVectors(Y[s-1],Y[s]),1e-4<t.length()&&(t.normalize(),o=Ed(jv(Y[s-1].dot(Y[s]),-1,1)),v[s].applyMatrix4(c.makeRotationAxis(t,o))),O[s].crossVectors(Y[s],v[s]);if(C)for(o=Ed(jv(v[0].dot(v[y-1]),-1,1)),o/=y-1,0<Y[0].dot(t.crossVectors(v[0],v[y-1]))&&(o=-o),s=1;s<y;s++)v[s].applyMatrix4(c.makeRotationAxis(Y[s],o*s)),O[s].crossVectors(Y[s],v[s])},function($,z,C,o){jm.call(this),C=C||0,o=o==fd?_d:o;for(var M=1/($.length-1),A=1/(z=z||18),N=0,s=z;N<=s;N++)for(var g=C+N*A*o,Y=Wd(g),v=yd(g),O=0,t=$.length;O<t;O++){var c=$[O],y=new Dd;y.x=Y*c.x-v*c.y,y.y=v*c.x+Y*c.y,y.z=c.z,this.vertices.push(y)}for(var _=$.length,N=0,s=z;N<s;N++)for(O=0,t=$.length-1;O<t;O++){var P=O+_*N,Z=P+_,Y=P+1+_,X=P+1,d=N*A,l=O*M,J=d+A,K=l+M;this.faces.push(new bm(P,X,Z)),this.faceVertexUvs[0].push([new F(d,l),new F(d,K),new F(J,l)]),this.faces.push(new bm(Z,X,Y)),this.faceVertexUvs[0].push([new F(J,l),new F(d,K),new F(J,K)])}this.mergeVertices(),em(this),this.computeFaceNormals(),this.computeVertexNormals()}),AV=(MV.prototype=oX(C),function($,z){$=Fm.generateShapes($,z=z||{}),z.amount=z.amount!==Kd?z.amount:.5,(z.convertYZ=!1)!==z.fill&&(z.bottom=!0,z.top=!0),CV.call(this,$,z)}),NV=(AV.prototype=oX(o),U.Node=function(){Ev(NV,this);var C=this._styleMap={};this.getStyle=function($){var z=C[$];return z!==Kd?z:xd[$]},this.setStyleMap=function($){var z=C;C=this._styleMap=$||{},this.fp("styleMap",z,C)}}),sV={X:F_,Y:j_,Z:U_},gV={X:0,Y:1,Z:2},YV={xyz:"XYZ",xzy:"XZY",yxz:"YXZ",yzx:"YZX",zxy:"ZXY",zyx:"ZYX"},vV=new hA,OV="xzy",tV=function($,z,C){var o,M;z&&(o=z[0],M=z[1],z=z[2],"xzy"===C?(j_($,M),U_($,z),F_($,o)):"xyz"===C?(U_($,z),j_($,M),F_($,o)):"yxz"===C?(U_($,z),F_($,o),j_($,M)):"yzx"===C?(F_($,o),U_($,z),j_($,M)):"zxy"===C?(j_($,M),F_($,o),U_($,z)):"zyx"===C?(F_($,o),j_($,M),U_($,z)):(j_($,M),U_($,z),F_($,o)))},cV=(D_("Node",hK,{ms_ac:["rotationMode","anchorElevation"],ms_edge:!0,_adjustChildrenToTop:!0,_icon:"node_icon",_image:"node_image",_rotationMode:OV,_64O:0,_rotationX:0,_53O:0,_host:fd,_position:{x:0,y:0},_anchor:{x:.5,y:.5},_anchorElevation:.5,_scale:{x:1,y:1},_scaleTall:1,_54O:0,getUIClass:function(){return aV},get3dUIClass:function(){return W4},getX:function(){return this.p().x},setX:function($){this.p($,this.p().y)},getY:function(){return this.p().y},setY:function($){this.p(this.p().x,$)},getAnchorX:function(){return this.getAnchor().x},setAnchorX:function($){this.setAnchor($,this.getAnchor().y)},getAnchorY:function(){return this.getAnchor().y},setAnchorY:function($){this.setAnchor(this.getAnchor().x,$)},getScaleX:function(){return this.getScale().x},setScaleX:function($){this.setScale($,this.getScale().y)},getScaleY:function(){return this.getScale().y},setScaleY:function($){this.setScale(this.getScale().x,$)},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)},setQuaternion:function($){return $=(new UA).setFromQuaternion($,UA.ReverseOrder(this.getRotationMode())),this._applyClosestR3($.x,$.y,$.z)},getQuaternion:(rU=new UA,BU=new UA,$A=new hA,function($){return $=$||new hA,this.getEuler(rU),rU.equals(BU)?$.copy($A):$.copy($A.setFromEuler(BU.copy(rU)))}),getEuler:function($){var z=this.r3();return($=$||new UA).set(z[0],z[1],z[2],UA.ReverseOrder(this.getRotationMode()))},setEuler:function($){return $=$.clone().reorder(UA.ReverseOrder(this.getRotationMode())),this.r3($.x,$.y,$.z)},t3:function(){return this.translate3d.apply(this,arguments),this},translate3dBy:function($,z){G_($,w_(fd,fd,this.r3(),this.getRotationMode())),this.translate3d($[0]*z,$[1]*z,$[2]*z)},translateFront:function($){this.translate3dBy([0,0,1],$)},translateBack:function($){this.translate3dBy([0,0,-1],$)},translateLeft:function($){this.translate3dBy([-1,0,0],$)},translateRight:function($){this.translate3dBy([1,0,0],$)},translateTop:function($){this.translate3dBy([0,1,0],$)},translateBottom:function($){this.translate3dBy([0,-1,0],$)},getPosition3d:function(){return[this._position.x,this._54O,this._position.y]},setPosition3d:function($,z,C){1===arguments.length&&(z=$[1],C=$[2],$=$[0]),this.p($,C),this.setElevation(z)},translate3d:function($,z,C){1===arguments.length&&(z=$[1],C=$[2],$=$[0]),this.translate($,C),this.setElevation(this._54O+z)},getSize3d:function(){return[this.getWidth(),this.getTall(),this.getHeight()]},setSize3d:function($,z,C){1===arguments.length&&(z=$[1],C=$[2],$=$[0]),this.setSize($,C),this.setTall(z)},getRotation3d:function(){return[this._rotationX,-this._64O,this._53O]},setRotation3d:function($,z,C){var o=this,M=1===arguments.length;if(M&&$.isEuler)return o.setEuler($);o._updatingRotation3d||(o._updatingRotation3d=1,M&&(z=$[1],C=$[2],$=$[0]),M=[o._rotationX,-o._64O,o._53O],o._rotationX=$,o._64O=-z,o._53O=C,o.fp("rotation3d",M,[$,z,C]),delete o._updatingRotation3d)},_applyClosestR3:(TU=new UA,function($,z,C){TU.set($,z,C,UA.ReverseOrder(this.getRotationMode())).nearestRotation(this.r3()),this.r3(TU.x,TU.y,TU.z)}),setRotationY:function($){this.setRotation(-$)},getRotationY:function(){return-this._64O},lookAtDirection:function($,z){z=z||ct;var C=this,o=Y_($);z===ct?(C.r3([-id($[1]/o),-Ud($[2],$[0])+Fd,0]),C.setRotationMode("xzy")):z===Pt?(C.r3(0,-Ud($[2],$[0]),id($[1]/o)),C.setRotationMode("zyx")):z===_t?(C.r3(0,-Ud($[2],$[0])+x,-id($[1]/o)),C.setRotationMode("zyx")):z===Zt?(C.r3([-id($[1]/o)+Fd,-Ud($[2],$[0])+Fd,0]),C.setRotationMode("xzy")):z===Xt&&(C.r3([-id($[1]/o)-Fd,-Ud($[2],$[0])+Fd,0]),C.setRotationMode("xzy")),z===yt&&(C.r3([-id($[1]/o)+x,-Ud($[2],$[0])+Fd,x]),C.setRotationMode("zxy"))},lookAt:function($,z){return this.lookAtDirection(u_($,this.p3()),z)},lookAtX:(FU=new Dd,jU=new Dd,UU=new Dd,LU=new ad,wU=new ad,qU=new UA,function($,z){var C=L_(this);LU.fromArray(C),UU.copy(this.p3()),FU.copy($).sub(UU),FU.lengthSq()<1e-6||(FU.normalize(),"string"==typeof(z=z||ct)?z===ct?jU.set(0,0,1):z===yt?jU.set(0,0,-1):z===_t?jU.set(-1,0,0):z===Pt?jU.set(1,0,0):z===Zt?jU.set(0,1,0):z===Xt&&jU.set(0,-1,0):jU.copy(z).normalize(),jU.applyMatrix4(LU).sub(UU).normalize(),(C=Math.acos(FU.dot(jU)))&&(($=FU.clone().cross(jU)).lengthSq()<1e-6&&(z===Zt||z===Xt||0===z[0]&&0===z[1]?$.set(0,0,1):$.set(0,1,0)).applyMatrix4(LU).sub(UU),$.normalize(),qU.set(this.r3(),this.getRotationMode(),!0),LU.makeRotationFromEuler(qU),wU.makeRotationAxis($,-C),qU.setFromRotationMatrix(wU.multiply(LU)),this._applyClosestR3(qU.x,qU.y,qU.z)))}),getHost:function(){return this._host},setHost:function($){var z,C=this;C!==$&&C._host!==$&&((z=C._host)&&(z._removeAttach(C),z.updateLayoutAttaches()),C._host=$,C._host&&(C._host._addAttach(C),C._host.updateLayoutAttaches()),C.fp("host",z,$),C.onHostChanged(z,$))},getAttaches:function(){return this._69O},_addAttach:function($){this._69O||(this._69O=new L),this._69O.add($),this.fp("attaches",fd,$)},_removeAttach:function($){this._69O.remove($),this._69O.isEmpty()&&delete this._69O,this.fp("attaches",$,fd)},getImage:function(){return this._pendingCheckImageJSON&&Qd.getImage(this._image)&&(this._pendingCheckImageJSON=!1,this.getParent()instanceof fV&&this.getParent().checkPendingUpdateInfo()),this._image},setImage:function($){var z=this._image,C=this.getWidth(),o=this.getHeight();this._image=$,this.fp("image",z,$)&&(null!=$&&(Dv($)||Vd($)&&/\.json$/i.test($))&&(this._pendingCheckImageJSON=!0),Rh||(this.fp(ht,C,this.getWidth()),this.fp(mt,o,this.getHeight())))},getCurrentDrawingImage:function(){return this._drawingImage||this.getImage()},setCurrentDrawingImage:function($){this._drawingImage=$},getElevation:function(){return this._54O},setElevation:function($){var z;this._50O||(this._50O=1,z=this._54O,this._54O=$,this.fp(If,z,$),delete this._50O)},getRotation:function(){return this._64O},setRotation:function($){var z;this._49O||(this._49O=1,z=this._64O,this._64O=$,this.fp(gf,z,$),delete this._49O)},getRotationX:function(){return this._rotationX},setRotationX:function($){var z;this._51O||(this._51O=1,z=this._rotationX,this._rotationX=$,this.fp("rotationX",z,$),delete this._51O)},getRotationZ:function(){return this._53O},setRotationZ:function($){var z;this._52O||(this._52O=1,z=this._53O,this._53O=$,this.fp("rotationZ",z,$),delete this._52O)},getPosition:function(){return this._position},setPosition:function($,z){this._50I||(this._50I=1,(z=2===arguments.length?{x:$,y:z}:$).x===this._position.x&&z.y===this._position.y||($=this._position,this._position=z,this.fp(Rf,$,z)),delete this._50I)},translate:function($,z){var C=this._position;this.p(C.x+$,C.y+z)},hasInheritedSize:function(){var $=this.getStyle("shape3d");if($){var z=fz($);if(z&&z.rawS3)return!0;if(("billboard"===$||"plane"===$)&&j(this.getStyle("shape3d.image")))return!0}return!(!this.hasOwnProperty("_image")||!j(this._image))},getWidth:function(){if(0<=this._width)return this._width;var $=this.getStyle("shape3d");if($){var z,C=fz($);if(C&&C.rawS3)return C.rawS3[0];if("billboard"===$||"plane"===$)return(z=j(this.getStyle("shape3d.image")))?Bi(z,this):20}return(z=j(this._image))?vK(z,this):20},setWidth:function($){var z=this._width;this._width=$,this.fp(ht,z,$)},getHeight:function(){if(0<=this._height)return this._height;var $=this.getStyle("shape3d");if($){var z,C=fz($);if(C&&C.rawS3)return C.rawS3[2];if("plane"===$)return(z=j(this.getStyle("shape3d.image")))?$4(z,this):20;if("billboard"===$)return 2}return(z=j(this._image))?OK(z,this):20},setHeight:function($){var z=this._height;this._height=$,this.fp(mt,z,$)},getTall:function(){if(0<=this._tall)return this._tall;var $=this.getStyle("shape3d");if($){var z=fz($);if(z&&z.rawS3)return z.rawS3[1];if("billboard"===$)return(z=j(this.getStyle("shape3d.image")))?$4(z,this):20;if("plane"===$)return 2}return 20},setTall:function($){var z=this._tall;this._tall=$,this.fp("tall",z,$)},setSize:function($,z){2===arguments.length?(this.setWidth($),this.setHeight(z)):(this.setWidth($.width),this.setHeight($.height))},getSize:function(){return{width:this.getWidth(),height:this.getHeight()}},setRect:function($,z,C,o,M){var A=this.getAnchor(),N=this.getScale(),s=(arguments.length<=2&&(M=z,z=$.y,C=$.width,o=$.height,$=$.x),M&&N.x<0?1-A.x:A.x),A=M&&N.y<0?1-A.y:A.y;this.p($+C*s,z+o*A),M&&(C/=Math.abs(N.x),o/=Math.abs(N.y)),this.setWidth(C),this.setHeight(o)},getMatrix:function(){var $=this._64O,z=this._position,C=this.getScale();return new IA($,z.x,z.y,C.x,C.y)},getMatrix4:(EU=new Dd,HU=new hA,iU=new Dd,function($){return this.getQuaternion(HU),EU.copy(this.p3()),iU.copy(this.getFinalScale3d()),($=$||new ad).compose(EU,HU,iU)}),getAnchorRect:function(){var $=this.getWidth(),z=this.getHeight(),C=this.getAnchor();return{x:-$*C.x,y:-z*C.y,width:$,height:z}},toLocal:function($){return this.getMatrix().tfi($)},toGlobal:function($){return this.getMatrix().tf($)},getAttachPosition:(GU=new IA,function($,z,C,o){C=C||0,o=o||0;var M=this.getAnchor(),A=this._64O,N=this._position,s=this.getScale();return GU.setFromTransform(A,N.x,N.y).tf({x:C+s.x*this.getWidth()*($-M.x),y:o+s.y*this.getHeight()*(z-M.y)})}),isInRect:function($){$=this.toLocal($);var z=this.getWidth(),C=this.getHeight();return $.x+=z*this.getAnchorX(),$.y+=C*this.getAnchorY(),!($.x<0||$.y<0||$.x>z||$.y>C)},getRect:function(){var $=this.getWidth(),z=this.getHeight(),C={x:-$*(C=this.getAnchor()).x,y:-z*C.y,width:$,height:z},$=this.getMatrix();return v_([$.tf(C.x,C.y),$.tf(C.x+C.width,C.y),$.tf(C.x+C.width,C.y+C.height),$.tf(C.x,C.y+C.height)])},getAnchorElevation:function(){return this._anchorElevation},getAnchor3d:function(){var $=this.getAnchor(),z=this._anchorElevation;return{x:$.x,y:z,z:$.y}},setAnchorElevation:function($){var z=this._anchorElevation;return z!==$&&(this._anchorElevation=$,this.fp("anchorElevation",z,$),!0)},setAnchor3d:function($,z,C,o){"number"==typeof $?M={x:$,y:z,z:C}:(M=$.length?{x:$[0],y:$[1],z:$[2]}:$,o=z),this.beginTransaction();var M,C=this.getAnchor3d(),$=this.setAnchor(M.x,M.z);return($=!!this.setAnchorElevation(M.y)||$)&&o&&!Rh&&(this.getAnchor3d(),z=L_(this),o=G_([M.x-C.x,M.y-C.y,M.z-C.z],z),this.p3(o)),this.endTransaction(),$},getAnchor:function(){if(this.hasOwnProperty("_anchor"))return this._anchor;var $=j(this._image);return $&&$.anchorX!==Kd?{x:$.anchorX,y:$.anchorY}:this._anchor},setAnchor:function($,z,C){var o,M,A,N,s=this;return"number"==typeof $?N={x:$,y:z}:(N=$.length?{x:$[0],y:$[1]}:$,C=z),(($=s.getAnchor()).x!==N.x||$.y!==N.y)&&(s.beginTransaction(),s._anchor=N,s.fp("anchor",$,N),C&&!Rh&&(z=s.getPosition(),C=s.getSize(),o=s.getRotation(),M=s.getScale(),A=-C.width*($.x-N.x)*M.x,C=-C.height*($.y-N.y)*M.y,$=yd(o),N=Wd(o),s.setPosition(z.x+N*A-$*C,z.y+$*A+N*C)),s.endTransaction(),!0)},getLocalQuaternion:function($){if(!(z=this.getHost()))return this.getQuaternion($);var z=z.getQuaternion(),C=this.getQuaternion();return($=$||new hA).copy(z).inverse().multiply(C)},setLocalQuaternion:function($){var z=this.getHost();if(!z)return this.setQuaternion($);z=z.getQuaternion(),this.setQuaternion(z.clone().multiply($))},getLocalEuler:(SU=new hA,function($){if(!this.getHost())return this.getEuler($);this.getLocalQuaternion(SU),$=$||new UA;var z=this._lastLocalEuler;return $.setFromQuaternion(SU,UA.ReverseOrder(this.getRotationMode())),z?($.nearestRotation(z),$.toArray(z)):this._lastLocalEuler=$.toArray(),$}),setLocalEuler:(hU=new hA,mU=new UA,function($){var z=this.getHost(),C=($.isEuler||($=mU.fromArray($)),this._lastLocalEuler);return C?$.toArray(C):this._lastLocalEuler=$.toArray(),z?(hU.setFromEuler($),this.setLocalQuaternion(hU)):this.setEuler($)}),getLocalPosition3d:function($){($=$||new Dd).copy(this.p3());var z=this.getHost();return z?(z=z.getMatrix4(),$.applyMatrix4(z.getInverse(z))):$},setLocalPosition3d:function($){var z,C=this.getHost();C?(C=C.getMatrix4(),(z=new Dd($)).applyMatrix4(C),this.p3(z.x,z.y,z.z)):$.x!==Kd?this.p3($.x,$.y,$.z):this.p3($)},getScale:function(){return this._scale},setScale:function($,z){z=2===arguments.length?{x:$,y:z}:$,($=this.getScale()).x===z.x&&$.y===z.y||(this._scale=z,this.fp("scale",$,z))},getScaleTall:function(){return this._scaleTall},getScale3d:function(){var $=this._scaleTall,z=this.getScale();return[z.x,$,z.y]},getFinalScale3d:function(){var $=this.s3(),z=this._dynamicScale3d,C=this.getScale3d();return $&&(C[0]*=$[0],C[1]*=$[1],C[2]*=$[2]),z&&(C[0]*=z[0],C[1]*=z[1],C[2]*=z[2]),C},getFinalRotation3d:function(){return this._dynamicRotation||this.r3()},setScaleTall:function($){var z=this._scaleTall;z!==$&&(this._scaleTall=$,this.fp("scaleTall",z,$))},setScale3d:function($,z,C){z="number"==typeof $?{x:$,y:z,z:C}:$.length?{x:$[0],y:$[1],z:$[2]}:$,this.setScaleTall(z.y),this.setScale(z.x,z.z)},getCorners:function($,z){$==fd&&($=0),z==fd&&(z=$);var C=this.getAnchor(),o=this.getWidth(),M=this.getHeight(),A=-o*C.x-$,C=-M*C.y-z,o=o+2*$,$=M+2*z;return[(M=this.getMatrix()).tf(A,C),M.tf(A,C+$),M.tf(A+o,C+$),M.tf(A+o,C)]},getEditControlPoints:function($,z,C){z==fd&&(z=0),C==fd&&(C=z);var o=this.getAnchor(),M=this.getWidth(),A=this.getHeight(),N=-M*o.x-z,o=-A*o.y-C,M=M+2*z,z=A+2*C;return $?[{x:N,y:o},{x:N,y:0},{x:N,y:o+z},{x:0,y:o+z},{x:N+M,y:o+z},{x:N+M,y:0},{x:N+M,y:o},{x:0,y:o}]:[(A=this.getMatrix()).tf(N,o),A.tf(N,0),A.tf(N,o+z),A.tf(0,o+z),A.tf(N+M,o+z),A.tf(N+M,0),A.tf(N+M,o),A.tf(0,o)]},rotateAt:function($,z,C){var o=this._position,M=this._64O,A=new IA(M,o.x,o.y).tf($,z),$=Gd($*$+z*z),z=Ud(o.y-A.y,o.x-A.x)+C;this.setRotation(M+C),this.p(A.x+$*Wd(z),A.y+$*yd(z))},rotateAroundAxis:function($,z){this.setQuaternion(this.getQuaternion().multiply(vV.setFromAxisAngle($,z)))},rotateAroundWorldAxis:function($,z){this.setQuaternion(this.getQuaternion().premultiply(vV.setFromAxisAngle($,z)))},rotateX:function($){return this.rotateAroundAxis(Dd.AxisX,$)},rotateY:function($){return this.rotateAroundAxis(Dd.AxisY,$)},rotateZ:function($){return this.rotateAroundAxis(Dd.AxisZ,$)},onParentChanged:function($,z){NV.superClass.onParentChanged.apply(this,arguments),this._8I();var C=this._host;C&&C.updateLayoutAttaches()},onPropertyChanged:(IU={},"width|height|position|anchor|rotation|scale|s:layout.h|s:layout.v".split("|").forEach(function($){IU[$]=!0}),function(z){var $=this,C=(NV.superClass.onPropertyChanged.call($,z),z.property),o=(IU[C]&&!$._layoutUpdating&&$.updateLayoutParameters(null,C),$._69O&&$._69O.each(function($){$.handleHostPropertyChange(z)}),$._49I&&$._49I.each(function($){$.fp("agentChange",!0,!1)}),qK[C]&&this.updateLayoutAttaches(),$._host);o&&0<=["s:2d.visible"].indexOf(C)&&o.updateLayoutAttaches(),"a:layout"===C.substring(0,8)&&(this.updateLayoutAttaches(),o&&o.updateLayoutAttaches()),"s:shape3d.autorotate"!==C&&"s:autorotate"!==C&&"s:shape3d.fixSizeOnScreen"!==C&&"s:fixSizeOnScreen"!==C&&"s:hide.overlapping.group"!==C||($._47Q=$.s("autorotate")||$.s("shape3d.autorotate")||$.s("fixSizeOnScreen")||$.s("shape3d.fixSizeOnScreen")||$.s("hide.overlapping.group")),"a:animation.name"!==C&&"a:animation.time"!==C||((o=$.a("animation.time"))==fd?(delete $._recordBonePose,$.stopAnimation()):(C=$.a("animation.name"),$._recordBonePose={},$.playAnimation(C,0,o)))}),onHostChanged:function($,z){this.updateAttach(),this.updateLayoutParameters()},handleHostPropertyChange:function($){this.updateAttach($)},onStyleChanged:(xd["transparent.syncToMaterials"]=!0,RU={},"shape3d|all|top|bottom|left|right|front|back".split("|").forEach(function($){RU[$+".opacity"]=!0,RU[$+".transparent"]=!0}),function($,z,C){var o;NV.superClass.onStyleChanged.apply(this,arguments),rK[$]&&this.updateAttach(),!Rh&&RU[$]&&this.s("transparent.syncToMaterials")&&(0<$.indexOf("opacity")?"shape3d.opacity"===$?this.getMaterials().forEach(function($){$.opacity=C}):(o=$.replace("opacity","material"),this.setMaterial(o,"opacity",C)):0<$.indexOf("transparent")&&("shape3d.transparent"===$?this.getMaterials().forEach(function($){$.transparent=C}):(o=$.replace("transparent","material"),this.setMaterial(o,"transparent",C))))}),updateLayoutAttaches:function(){var $;if(!Rh&&this.s("vector.layoutable"))return!!(($=j(this.getImage()))&&$.layoutAttach&&($=$.layoutAttach)&&$(this))||void 0},updateAttach:function($){Rh?this.updateLayoutParameters():this._51I||(this._51I=1,this._71O($),delete this._51I)},_71O:function($){var z,C,o,M,A,N,s=this,g=s._host,Y=$?$.property:fd,v=$?$.oldValue:fd,O=$?$.newValue:fd;if(g instanceof NV&&g.s("vector.layoutable")&&(!$||qK[Y])){var t=j(g.getImage());if(t&&t.layoutAttach)return}g instanceof U.Grid?Y===If?s.setElevation(s._54O+O-v):$&&!TK[Y]||(t=s.s("attach.row.index"),M=s.s("attach.column.index"),(C=g.getCellRect(t,M))&&(o=s.s("attach.row.span"),z=s.s("attach.column.span"),1===o&&1===z||(C=O_(C,g.getCellRect(t+o-1,M+z-1))),zm(C,s,"attach.padding",1),s.setRect(C))):g instanceof dV&&0<=(t=s.s("attach.index"))&&(!$||BK[Y])?(o=s.s("attach.thickness"),M=g.getScale(),z=Math.max(M.x,M.y),0<o&&s.setHeight(g.getThickness()*o*z),C=s.s("attach.offset"),t<(o=(M=g.getPoints()).size())&&(A=g.getPointsMatrix2d(),N=M.get(t),o=o===t+1?M.get(0):M.get(t+1),N=A.apply(N),M=[(o=A.apply(o)).x-N.x,o.y-N.y],(t=Y_(M))&&(s.s("attach.offset.relative")&&(C*=t),s.s("attach.offset.opposite")&&(C=t-C),A={x:N.x+M[0]/t*C,y:N.y+M[1]/t*C},(N=s.s("attach.gap"))&&(s.s("attach.gap.relative")&&(N*=g.getThickness()*z),A=Hz(fd,A,o,N)),s.p(A),s.setRotation(Ud(M[1],M[0]))))):$&&(Y===Rf?s.translate(O.x-v.x,O.y-v.y):Y===If?s.setElevation(s._54O+O-v):wK[Y]?"rotation3d"===Y?s.syncRotation3d(g,O,v):s._11Q(g,Y,O-v):"anchor"!==Y&&"width"!==Y&&"height"!==Y&&"scale"!==Y||s.layout(g))},_11Q:(pU=new U.Math.Euler,bU=U.Math.Euler.ReverseOrder,uU=new U.Math.Vector2,nU=new U.Math.Vector2,function($,z,C){var o=$.p3(),M=$.r3(),A=this.p3(),N=this.r3();if(z===gf&&(z="rotationY",C=-C),(z===gf||"rotationY"===z)&&0===N[0]&&0===N[2]&&0===M[0]&&0===M[2]&&0===A[1]&&0===o[1])return this.setRotation(-N[1]-C),uU.set(A[0],A[2]).rotateAround(nU.set(o[0],o[2]),-C),void this.p(uU.x,uU.y);var $=(N=YV[$.getRotationMode()])[0],s=N[1],N=N[2],g=sV[$],Y=sV[s],v=sV[N],O=I_(),$=(z===gf+$?(v(O,M[gV[N]]),Y(O,M[gV[s]]),g(O,C),Y(O,-M[gV[s]]),v(O,-M[gV[N]])):z===gf+s?(v(O,M[gV[N]]),Y(O,C),v(O,-M[gV[N]])):z===gf+N&&v(O,C),u_(A,o)),g=(G_($,O),this.p3(o[0]+$[0],o[1]+$[1],o[2]+$[2]),this.getRotationMode());tV(O,this.r3(),g),pU.setFromRotationMatrix(O,bU(g)),this.r3([pU.x,pU.y,pU.z])}),syncRotation3d:(aU=new hA,kU=new UA,xU=new Dd,function($,z,C){var o;C[0]===z[0]&&C[1]===z[1]&&C[2]===z[2]||(o=UA.ReverseOrder($.getRotationMode()),vV.setFromEuler(kU.set(C[0],C[1],C[2],o)),aU.setFromEuler(kU.set(z[0],z[1],z[2],o)),aU.multiply(vV.inverse()),C=$.p3(),z=this.p3(),xU.set(z[0]-C[0],z[1]-C[1],z[2]-C[2]).applyQuaternion(aU),this.p3(C[0]+xU.x,C[1]+xU.y,C[2]+xU.z),this.setQuaternion(this.getQuaternion(vV).premultiply(aU)))}),isHostOn:function($){if(this._host&&$&&$._69O)for(var z={},C=this._host;C&&C!==this&&!z[C._id];){if(C===$)return!0;C=(z[C._id]=C)._host}return!1},isLoopedHostOn:function($){return this.isHostOn($)&&$.isHostOn(this)},getScaledSize:function(){var $=this.getSize(),z=this.getScale();return $.width*=Math.abs(z.x),$.height*=Math.abs(z.y),$},invalidateView:function(){var $=this.dm();$&&$.firePropertyChange("invalidateView",!1,!0)},layout:function($){if($=$||this.getHost()){var z=this,C=z.s("layout.h")||"center",o=z.s("layout.v")||"center";if("center"!==C||"center"!==o){var M,A,N,s,g,Y,v=new U.Math.Vector2,O=$.getPosition(),t=$.getAnchor(),c=$.getScaledSize(),y=(z.getPosition(),1),_=1;switch(z._layoutUpdating=!0,C){case"left":v.setX(z._layoutHValue-t.x*c.width);break;case"right":v.setX((1-t.x)*c.width-z._layoutHValue);break;case"leftright":M=c.width-z._layoutHValue[2],N=z.getRotation()-$.getRotation(),s=Math.abs(Math.sin(N)),y+=(g=Math.abs(Math.cos(N)))*M/z._layoutHValue[3],_+=s*M/z._layoutHValue[4],v.setX(z._layoutHValue[1]+(z._layoutHValue[5]-t.x)*c.width);break;case"center":v.setX((.5-t.x)*c.width-z._layoutHValue);break;case"scale":N=z.getRotation()-$.getRotation(),s=Math.abs(Math.sin(N)),g=Math.abs(Math.cos(N)),v.setX((.5-t.x)*c.width-z._layoutHValue[1]*c.width/z._layoutHValue[0]),y+=g*(A=c.width/z._layoutHValue[2]-1),_+=s*A}switch(o){case"top":v.setY(z._layoutVValue-t.y*c.height);break;case"bottom":v.setY((1-t.y)*c.height-z._layoutVValue);break;case"topbottom":N||(N=z.getRotation()-$.getRotation(),s=Math.abs(Math.sin(N)),g=Math.abs(Math.cos(N))),y+=s*(M=c.height-z._layoutVValue[2])/z._layoutVValue[3],_+=g*M/z._layoutVValue[4],v.setY(z._layoutVValue[1]+(z._layoutVValue[5]-t.y)*c.height);break;case"center":v.setY((.5-t.y)*c.height-z._layoutVValue);break;case"scale":N||(N=z.getRotation()-$.getRotation(),s=Math.abs(Math.sin(N)),g=Math.abs(Math.cos(N))),v.setY((.5-t.y)*c.height-z._layoutVValue[1]*c.height/z._layoutVValue[0]),y+=s*(A=c.height/z._layoutVValue[2]-1),_+=g*A}"leftright"!==C&&"scale"!==C&&"topbottom"!==o&&"scale"!==o||(o=this.getScale(),Y=Math.abs(o.x),o=Math.abs(o.y),"leftright"===C||"scale"===C?z.setSize(z._layoutHValue[3]*y/Y,z._layoutHValue[4]*_/o):z.setSize(z._layoutVValue[3]*y/Y,z._layoutVValue[4]*_/o)),v.rotateAround(null,$.getRotation()),this.setPosition(v.x+O.x,v.y+O.y),z._layoutUpdating=Kd}}},updateLayoutParameters:function($,z){if($=$||this.getHost()){var C=this,o=C.s("layout.h"),M=C.s("layout.v");if(o||M){var A,N,s,g,Y,v,O=new U.Math.Vector2,t=$.getPosition(),c=$.getAnchor(),y=$.getScaledSize(),_=C.getPosition(),P=C.getScaledSize();switch(O.set(_.x-t.x,_.y-t.y),O.rotateAround(null,-$.getRotation()),o){case"left":C._layoutHValue=O.x+c.x*y.width;break;case"right":C._layoutHValue=-O.x+(1-c.x)*y.width;break;case"center":C._layoutHValue=-O.x+(.5-c.x)*y.width;break;case"leftright":case"scale":A="scale"===o?-O.x+(.5-c.x)*y.width:(N=C.getAnchor(),s=C.getRotation()-$.getRotation(),g=Math.cos(s),Y=Math.sin(s),v=-Math.min(-N.x*g+N.y*Y,-N.x*g-(1-N.y)*Y,(1-N.x)*g+N.y*Y,(1-N.x)*g-(1-N.y)*Y),O.x-(v-c.x)*y.width),"position"===z&&"object"==typeof C._layoutHValue?(C._layoutHValue[0]=y.width,C._layoutHValue[1]=A):C._layoutHValue=[y.width,A,y.width,P.width,P.height,v]}switch(M){case"top":C._layoutVValue=O.y+c.y*y.height;break;case"bottom":C._layoutVValue=-O.y+(1-c.y)*y.height;break;case"center":C._layoutVValue=-O.y+(.5-c.y)*y.height;break;case"topbottom":case"scale":A="scale"===M?-O.y+(.5-c.y)*y.height:(s||(N=C.getAnchor(),s=C.getRotation()-$.getRotation(),g=Math.cos(s),Y=Math.sin(s)),v=-Math.min(-N.x*Y-N.y*g,-N.x*Y+(1-N.y)*g,(1-N.x)*Y-N.y*g,(1-N.x)*Y+(1-N.y)*g),O.y-(v-c.y)*y.height),"position"===z&&"object"==typeof C._layoutVValue?(C._layoutVValue[0]=y.height,C._layoutVValue[1]=A):C._layoutVValue=[y.height,A,y.height,P.width,P.height,v]}}}},getSerializableProperties:function(){var $=NV.superClass.getSerializableProperties.call(this);return 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,_animations:1,_states:1,_stateSnapProperties:1}),$}}),U.Edge=function($,z){Ev(cV,this),this.setSource($),this.setTarget(z),this._geometryVersion=0}),yV=(D_("Edge",hK,{ms_edge:!0,_icon:"edge_icon",getUIClass:function(){return kV},get3dUIClass:function(){return e4},getSource:function(){return this._source},getTarget:function(){return this._target},getSourceAgent:function(){return this._40I},getTargetAgent:function(){return this._41I},canSetSourceTarget:function($,z){if($===this)return!1;if(R($))return!0;for(var C,o,M,A,N=[this],s=-1,g=0;s<g;)if(C=N[++s]._44I)for(M=0,A=(C=C.getArray()).length;M<A;M++)if(o=C[M],xv(o)&&!(0<=N.indexOf(o))){if(o===$)return!1;N.push(o),g++}return!0},setSource:function($){var z;this._source!==$&&this.canSetSourceTarget($)&&(z=this._source,this._source=$,z&&z._16I(this),$&&$._2I(this),this._7I(),this.fp("source",z,$))},setTarget:function($){var z;this._target!==$&&this.canSetSourceTarget($)&&(z=this._target,this._target=$,z&&z._18I(this),$&&$._4I(this),this._7I(),this.fp("target",z,$))},isLooped:function(){return this._source===this._target&&R(this._source)&&R(this._target)},onPropertyChanged:(zA={},["source","target","sourceAgent","targetAgent","edgeGroup","agentChange","s:edge.width","s:edge.type","s:edge.offset","s:edge.center","s:edge.points","s:edge.segments","s:edge.gap","s:edge.source.t3","s:edge.source.position","s:edge.source.anchor.x","s:edge.source.anchor.y","s:edge.source.anchor.elevation","s:edge.source.offset.x","s:edge.source.offset.y","s:edge.source.offset.elevation","s:edge.source.index","s:edge.source.percent","s:edge.target.t3","s:edge.target.position","s:edge.target.anchor.x","s:edge.target.anchor.y","s:edge.target.anchor.elevation","s:edge.target.offset.x","s:edge.target.offset.y","s:edge.target.offset.elevation","s:edge.target.index","s:edge.target.percent","s:edge.color","s:edge.gradient.color","s:edge.pattern","s:edge.dash","s:edge.dash.color","s:edge.dash.pattern","s:edge.dash.offset","s:repeat.uv.length","s:rotate.uv.length","s:rotate.vs.length","s:body.color","s:shape3d","s:shape3d.visible","s:shape3d.image","s:shape3d.smooth","s:shape3d.resolution","s:shape3d.color","s:shape3d.blend","s:shape3d.side","s:shape3d.start.angle","s:shape3d.sweep.angle","s:shape3d.top.cap","s:shape3d.top.image","s:shape3d.top.visible","s:shape3d.top.color","s:shape3d.bottom.cap","s:shape3d.bottom.image","s:shape3d.bottom.visible","s:shape3d.bottom.color","s:shape3d.uv.union","s:shape3d.section","s:shape3d.section.angle","s:shape3d.section.twist","s:shape3d.polyline.depth","s:shape3d.polyline.offset","s:shape3d.polyline.radiusScale","s:shape3d.polyline.scaleOffset","s:shape3d.polyline.scaleMap","s:shape3d.polyline.scaleMode","s:shape3d.polyline.normal"].forEach(function($){zA[$]=!0}),function($){var z;zA[$.property]&&(this._geometryVersion++,z=!0),z&&this._49I&&this._49I.each(function($){$.fp("agentChange",!0,!1)}),"s:alwaysOnTop"!==$.property&&"s:shape3d.alwaysOnTop"!==$.property||($.newValue?this.setRenderLayer("top"):this.setRenderLayer(Kd))}),_7I:function(){var $,z=this,C=function($){if($.isLooped())return $._source;var z=om($._source),C=om($._target);return z===C?$._source:Mm(z,C)}(z),C=(z._40I!==C&&(($=this._40I)&&$._15I(z),(z._40I=C)&&C._1I(z),z.fp("sourceAgent",$,C),sm($,z._41I),sm(C,z._41I)),function($){if($.isLooped())return $._target;var z=om($._source),C=om($._target);return z===C?$._target:Mm(C,z)}(z));z._41I!==C&&(($=z._41I)&&$._17I(z),(z._41I=C)&&C._3I(z),z.fp("targetAgent",$,C),sm($,z._40I),sm(C,z._40I))},_22I:function($){this._52I=$,this.fp("edgeGroup",!0,!1)},getEdgeGroup:function(){return this._52I},isEdgeGroupHidden:function(){return this._52I&&this._52I.get(0)!==this&&!this.getStyle(Af)},getEdgeGroupSize:function(){return this._52I?this._52I.size():1},getEdgeGroupIndex:function(){return this._52I?this._52I.indexOf(this):0},isEdgeGroupAgent:function(){var $=this._52I;return $&&!this.getStyle(Af)&&1<$.size()&&this===$.get(0)},toggle:function(){this.beginTransaction();var $=this._52I,z=!this.s(Af);$&&1<$.size()&&($.each(function($){$.s(Af,z)}),$.getSiblings().each(function(z){z!==$&&z.each(function($){$.fp("edgeGroup",fd,z)})})),this.endTransaction()},setStyle:function($,z){var C;$!==Nf&&"edge.segments"!==$||(z=ed(C=z)?new L(C):C),cV.superClass.setStyle.call(this,$,z)},onStyleChanged:function($,z,C){cV.superClass.onStyleChanged.apply(this,arguments),LK[$]&&sm(this._41I,this._40I)},getSerializableProperties:function(){var $=cV.superClass.getSerializableProperties.call(this);return z($,{source:1,target:1}),$}}),U.Group=function(){Ev(yV,this)}),_V=(D_("Group",NV,{_image:"group_image",_icon:"group_icon",_57O:!1,getUIClass:function(){return pV},onChildAdded:function($,z){yV.superClass.onChildAdded.apply(this,arguments),this._81I()},onChildRemoved:function($,z){yV.superClass.onChildRemoved.apply(this,arguments),this._81I()},_81I:function(){var $;this._54I||Rh||($=this.getChildrenRect())&&(this._53I=1,this.p(Fx(this.s("group.position"),$,this.getSize())),delete this._53I)},getChildrenRect:function(){var z,C=this;return C.eachChild(function($){R($)&&(z=O_(z,C.getChildRect($)))}),z},getChildRect:function(z){var C;return R(z)&&z.s(St)&&(pv(z)&&z.isExpanded()&&z.eachChild(function($){C=O_(C,z.getChildRect($))}),!C&&z.getRect&&(C=z.getRect())),C},setPosition:function($,z){this._54I||(z=2===arguments.length?{x:$,y:z}:$,Rh||this._53I||(this._54I=1,Gx(this._children,z.x-this._position.x,z.y-this._position.y),delete this._54I),yV.superClass.setPosition.call(this,z))},toggle:function(){this.setExpanded(!this.isExpanded())},isExpanded:function(){return this._57O},setExpanded:function($){var z;this._57O!==$&&(z=this._57O,this._57O=$,this.fp("expanded",z,this._57O),this._fireInvalidateDeep(),this._8I())},_fireInvalidateDeep:function(){this.eachChild(function($){pv($)?$._fireInvalidateDeep():$.iv()})},_8I:function(){yV.superClass._8I.call(this),this.eachChild(function($){R($)&&$._8I()})},onStyleChanged:function($,z,C){yV.superClass.onStyleChanged.apply(this,arguments),"group.position"===$&&this._81I()},getSerializableProperties:function(){var $=yV.superClass.getSerializableProperties.call(this);return $.expanded=1,$}}),U.Camera=function(){Ev(_V,this),this.s({"shadow.cast":!1,"shadow.receive":!1,shape3d:"billboard"}),this._viewMatrix=new B.Matrix4,this._projectMatrix=new B.Matrix4,this.setScale3d(1,1,-1),this.setCullingMask("main,top"),this._projectMatrixDirty=!0}),PV=(_V.CubeDirectionParam=[1,0,0,0,-1,0,-1,0,0,0,-1,0,0,1,0,0,0,1,0,-1,0,0,0,-1,0,0,1,0,-1,0,0,0,-1,0,-1,0],D_("Camera",NV,{get3dUIClass:function(){return W4},attachRenderTarget:function($){this._projectMatrixDirty=!0,this.renderTarget=$},detachRenderTarget:function(){this._projectMatrixDirty=!0,this.renderTarget=null},getCullingMask:function(){return this._cullingLayers.join(",")},setCullingMask:function($){$=$.split(","),this._cullingLayers=$,this._cullingMask=kK($,null,!0),this.gv&&(this._currentCullingMask=kK($,this.gv.getRenderLayerInfoMap(),!0))},isLayerVisible:function($){var z,$=this.gv?(z=this.gv.getRenderLayerInfo($),this._currentCullingMask):(z=VK[$],this._cullingMask);return z&&xK($,z.mask)},isOrtho:function(){return"ortho"===this.s("camera.type")&&!this.isCube()},isCube:function(){return this.renderTarget&&this.renderTarget.isCube()},isPerspective:function(){return!this.isOrtho()},setViewMatrix:(NA=new U.Math.Matrix4,sA=new U.Math.Euler,function($){$.isMatrix4?this._viewMatrix.copy($):this._viewMatrix.fromArray($),NA.getInverse(this._viewMatrix),this.p3(NA.getPosition().toArray()),sA.set(0,0,0,this.getRotationMode(),!0).setFromRotationMatrix(NA),this.r3([sA.x,sA.y,sA.z])}),getViewMatrix:function($){var z=w_(null,null,this.r3(),this.getRotationMode(),this.p3()),C=this._viewMatrix;return C.fromArray(z).getInverse(C),C.toArray($)},setProjectMatrix:function($){$.isMatrix4?this._projectMatrix.copy($):this._projectMatrix.fromArray($),$=this._projectMatrix.getElements(),this.isOrtho()?this.s({"camera.near":($[14]+1)/$[10],"camera.far":($[14]-1)/$[10],"camera.ortho.width":2/$[0]}):this.s({"camera.near":$[14]/($[10]-1),"camera.far":$[14]/($[10]+1),"camera.fovy":2*Math.atan(1/$[5]),"camera.aspect":$[5]/$[0]}),this._projectMatrixDirty=!1},onPropertyChanged:function($){_V.superClass.onPropertyChanged.call(this,$),"s:camera.near"!==($=$.property)&&"s:camera.far"!==$&&"s:camera.fovy"!==$&&"s:camera.aspect"!==$&&"s:camera.ortho.width"!==$&&"s:camera.type"!==$||(this._projectMatrixDirty=!0)},getAspect:function(){if(($=this.s("camera.aspect"))!==Kd)return $;var $=this.gv,z=this.getRenderTargetSize($);return z&&0!==z[1]?z[0]/z[1]:$?$.getAspect():Qd.graph3dViewAspect},getProjectMatrix:function(){var $,z,C,o,M,A,N,s=this;return s._projectMatrixDirty&&($=s.gv,C=(z=s.isCube())?1:s.getAspect(),o=s.s("camera.near"),M=s.s("camera.far"),o===Kd&&(o=($?$.getNear():null)||Qd.graph3dViewNear),M===Kd&&(M=($?$.getFar():null)||Qd.graph3dViewFar),A=I_(),s.isOrtho()?(N=(s.s("camera.ortho.width")||($?$.getOrthoWidth():null)||Qd.graph3dViewOrthoWidth)/2,qz(A,-N,N,-(N/=C),N,o,M)):(N=z?Math.PI/2:s.s("camera.fovy")||($?$.getFovy():null)||Qd.graph3dViewFovy,wz(A,N,C,o,M)),s._projectMatrix.fromArray(A),s._projectMatrixDirty=!1),s._projectMatrix.toArray()},lookAt:function($,z){var C=this.p3();return $.x?this.lookAtDirection([$.x-C[0],$.y-C[1],$.z-C[2]],z):this.lookAtDirection([$[0]-C[0],$[1]-C[1],$[2]-C[2]],z)},lookAtDirection:(CA=new U.Math.Matrix4,oA=new U.Math.Euler,MA=new U.Math.Vector3,AA=new U.Math.Vector3,function($,z){CA.lookAtDirection(MA.copy($).multiplyScalar(-1),z?AA.copy(z):AA.set(0,1,0)),oA.set(0,0,0,this.getRotationMode(),!0).setFromRotationMatrix(CA),this.r3([oA.x,oA.y,oA.z])}),updateAndRender:function($){return $.syncRenderState(),$.updateScene(),this.render($)},getRenderTargetSize:function($){var z=this.renderTarget;return z?[z.width,z.height]:$?(z=$.getDevicePixelRatio(),[$.getWidth()*z,$.getHeight()*z]):[0,0]},getRenderTargetWidth:function($){return this.getRenderTargetSize($)[0]},getRenderTargetHeight:function($){return this.getRenderTargetSize($)[1]},getEye:function(){return this.p3()},getCenter:function(){var $=new Dd,z=this.getEuler();return $.set(0,0,-1).applyEuler(z),this.gv&&(z=new Dd(this.gv.getEye()),z=new Dd(this.gv.getCenter()).sub(z).length(),$.setLength(z)),[(z=this.p3())[0]+$.x,z[1]+$.y,z[2]+$.z]},getUp:function(){var $=new Dd,z=this.getEuler(),z=($.set(0,0,-1).applyEuler(z),(new Dd).set(0,1,0).applyEuler(z)),C=(new Dd).set(0,1,0);return(Math.abs($.cross(z).dot(C))<1e-5?C:z).toArray()},render:function($){var z=this,C=$.getGL();if(!C)return!1;this._currentCullingMask=kK(this._cullingLayers,$.getRenderLayerInfoMap(),!0);var o=z.renderTarget,M=z.getRenderTargetSize($),A=((z.gv=$)._camera=z,$._frameState.renderState.glState.color.clear.slice(0)),N=(O1(C,z.s("camera.background")),$.getEye);if($.getEye=function(){return z.p3()},$.syncRenderState(),z.isCube())for(var s=_V.CubeDirectionParam,g=0;g<6;g++)o&&o.bind(C,g),$._18Q=null,z.lookAtDirection([s[6*g+0],s[6*g+1],s[6*g+2]],[s[6*g+3],s[6*g+4],s[6*g+5]]),!1!==z.s("camera.clear")&&C.clear(16384),$.setViewport(C,0,0,M[0],M[1]),z.s("camera.onlySky")?$.renderSky():$.renderScene({renderAxis:z.s("camera.renderAxis"),renderGrid:z.s("camera.renderGrid"),renderEdit:z.s("camera.renderEdit"),renderShadowMap:z.s("camera.renderShadowMap"),renderReflector:!1}),$._18Q=null,o&&o.unbind(C);else o&&o.bind(C),$._18Q=null,!1!==z.s("camera.clear")&&C.clear(16384),$.overlappingBox.clear(),$.setViewport(C,0,0,M[0],M[1]),z.s("camera.onlySky")?$.renderSky():$.renderScene({renderAxis:z.s("camera.renderAxis"),renderGrid:z.s("camera.renderGrid"),renderEdit:z.s("camera.renderEdit"),renderShadowMap:z.s("camera.renderShadowMap")}),$._18Q=null,o&&o.unbind(C);return $.getEye=N,O1(C,A),$._camera=null,!(z.gv=null)},getSerializableProperties:function(){var $=_V.superClass.getSerializableProperties.call(this);return z($,{cullingMask:1}),$}}),U.Block=function(){Ev(PV,this),this.s({"shadow.cast":!1,"shadow.receive":!1})}),ZV=(D_("Block",NV,{_icon:"block_icon",_clickThroughEnabled:!1,_syncSize:!0,_scaleMode:"2d",ms_ac:["clickThroughEnabled","syncSize","scaleMode"],getUIClass:function(){return bV},get3dUIClass:function(){return V4},onChildAdded:function($,z){PV.superClass.onChildAdded.apply(this,arguments),this.updateFromChildren()},onChildRemoved:function($,z){PV.superClass.onChildRemoved.apply(this,arguments),this.updateFromChildren()},_getBoundingBox:(yA=new ad,function($,z){if(!($=$ instanceof NV?[$]:$)||0===$.length)return fd;var z=[],C=(function($,o){var M=(new ad).makeRotationFromEuler(this.getEuler()).setPosition((new Dd).fromArray(this.p3()));M.getInverse(M),$.forEach(function($){var z,C;R($)&&(z=o,C=M,yA.fromArray(L_($)),$=$.getAnchor3d(),z.push((new Dd).set(0-$.x,0-$.y,0-$.z).applyMatrix4(yA).applyMatrix4(C)),z.push((new Dd).set(0-$.x,0-$.y,1-$.z).applyMatrix4(yA).applyMatrix4(C)),z.push((new Dd).set(0-$.x,1-$.y,0-$.z).applyMatrix4(yA).applyMatrix4(C)),z.push((new Dd).set(0-$.x,1-$.y,1-$.z).applyMatrix4(yA).applyMatrix4(C)),z.push((new Dd).set(1-$.x,0-$.y,0-$.z).applyMatrix4(yA).applyMatrix4(C)),z.push((new Dd).set(1-$.x,0-$.y,1-$.z).applyMatrix4(yA).applyMatrix4(C)),z.push((new Dd).set(1-$.x,1-$.y,0-$.z).applyMatrix4(yA).applyMatrix4(C)),z.push((new Dd).set(1-$.x,1-$.y,1-$.z).applyMatrix4(yA).applyMatrix4(C)))})}.call(this,$,z),[1/0,1/0,1/0]),o=[-1/0,-1/0,-1/0];return z.forEach(function($){C[0]=Math.min($.x,C[0]),C[1]=Math.min($.y,C[1]),C[2]=Math.min($.z,C[2]),o[0]=Math.max($.x,o[0]),o[1]=Math.max($.y,o[1]),o[2]=Math.max($.z,o[2])}),{min:C,max:o}}),updateFromChildren:function(){var $,z,C,o,M,A,N,s,g;this._isolating||Rh||this._updatingToChildren||!this._syncSize||0===this.size()||this._freezeSyncFromChildren||(C=this._getBoundingBox(this.toChildren(R)))&&(this._updatingFromChildren=1,$=(new Dd).fromArray(this.getScale3d()),z=(new Dd).fromArray(C.min),C=(new Dd).fromArray(C.max),N=Qd.blockMinSize,g=new Dd,0===(C=C.clone().sub(z)).x&&g.setX(.5),0===C.y&&g.setY(.5),0===C.z&&g.setZ(.5),o=this._width==fd||-1===this._width,M=new Dd(this.getAnchor3d()),A=$.clone().multiply((new Dd).fromArray(this.s3())),0===(s=C.clone()).x&&s.setX(N),0===s.y&&s.setY(N),0===s.z&&s.setZ(N),A=(N=M.clone().multiply(A)).clone().multiplyScalar(-1).sub(z).divide(s).add(N.divide(s)).add(g),N=this.s("keepPosition"),o||this._anchorChanged||this._scaleChanged||!N?(s=(M=!o&&N?A:M).clone().multiply(C).add(z).applyEuler(this.getEuler()).add((new Dd).fromArray(this.p3())),this.p3([s.x,s.y,s.z])):this.setAnchor3d(A.x,A.y,A.z),$.x=$.x||1,$.y=$.y||1,$.z=$.z||1,g=new Dd(1,1,1).divide($).multiply(C),this.s3(Math.abs(g.x),Math.abs(g.y),Math.abs(g.z)),delete this._updatingFromChildren)},setPosition:function($,z){this._updatingToChildren||(z=2===arguments.length?{x:$,y:z}:$,this._isolating||Rh||this._updatingFromChildren||(this._updatingToChildren=1,$=this.toChildren(function($){return R($)&&!$.getHost()}),Gx($,z.x-this._position.x,z.y-this._position.y),delete this._updatingToChildren),PV.superClass.setPosition.call(this,z))},setSize3d:function(){this.beginTransaction(),PV.superClass.setSize3d.apply(this,arguments),this.endTransaction()},setTall:function($){var z;this._updatingToChildren||(this.beginTransaction(),($=Cd($,Qd.blockMinSize))!==(z=this.getTall())&&PV.superClass.setTall.call(this,$),this._isolating||Rh||this._updatingFromChildren||(this._updatingToChildren=1,this._adjustChildTallOrScale($/z,"size"),delete this._updatingToChildren,this.updateFromChildren()),this.endTransaction())},setWidth:function($){return this.setSize($,this.getHeight())},setHeight:function($){return this.setSize(this.getWidth(),$)},setSize:function($,z){var C,o,M=Qd.blockMinSize;$=Cd($,M),z=Cd(z,M),(M=this)._updatingToChildren||(2!==arguments.length&&(z=$.height,$=$.width),this.beginTransaction(),C=M.getWidth(),o=M.getHeight(),$!==C&&PV.superClass.setWidth.call(M,$),z!==o&&PV.superClass.setHeight.call(M,z),M._isolating||Rh||M._updatingFromChildren||(M._updatingToChildren=1,M._adjustChildScaleOrSize($/C,z/o,"size"),delete M._updatingToChildren,M.updateFromChildren()),this.endTransaction())},_adjustChildScaleOrSize:function(Y,v,O){var t,c;this._syncSize&&(t=this.getPosition(),c=this.getRotation(),this.eachChild(function($){var z,C,o,M,A,N,s,g;R($)&&!$.getHost()&&(M=$.getPosition(),g=$.getRotation(),z=$.getWidth(),C=$.getHeight(),N=(o=$.getScale()).x*z,s=o.y*C,0!=N&&0!=s&&(Y*v<0&&$.setRotation(-1*g),(M=new IA(g,M.x,M.y,N,s)).translate(-t.x,-t.y),M.rotate(-c),g=Ud(M.b*Math.sign(N),M.a*Math.sign(N)),M.scale(Y,v),s=Wd(g),g=Math.abs(s)<.001?(N=yd(g),A=M.b/N,-M.c/N):(A=M.a/s,M.d/s),"scale"===O?$.setScale(A/z,g/C):"size"===O&&(N=A/o.x,s=g/o.y,$.setScale(Uv(A)*Math.abs(o.x),Uv(g)*Math.abs(o.y)),$ instanceof U.Shape?($.setWidthForce(Math.max(Math.abs(N),1e-5)),$.setHeightForce(Math.max(Math.abs(s),1e-5))):$.setSize(Math.max(.01,Math.abs(N)),Math.max(.01,Math.abs(s)))),M.rotate(c),M.translate(t.x,t.y),$.setPosition(M.tx,M.ty)))}))},_calcChangeFactor:function($,z,C,o){var $=I($),M=(C=I(C))<$?$/C:C/$;return $=I(z),C=I(o),Cd(M,C<$?$/C:C/$)},setElevation:function($){var z;this._updatingToChildren||0!=($-=this.getElevation())&&(this._isolating||Rh||this._updatingFromChildren||(this._updatingToChildren=1,z=this.toChildren(function($){return R($)&&!$.getHost()}),Gx(z,0,$,0),delete this._updatingToChildren),PV.superClass.setElevation.apply(this,arguments))},setScaleTall:function($){var z=this;if(!z._updatingToChildren){var C,o=z.getScaleTall();if(I($)<.01&&($=.01*(Uv($)||Uv(o))),"3d"===z._scaleMode)return C=z.getScale(),void z.setScale3d(C.x,$,C.y);PV.superClass.setScaleTall.call(z,$),z._isolating||Rh||z._updatingFromChildren||(z._updatingToChildren=1,z._adjustChildTallOrScale($/o,"scale"),delete z._updatingToChildren,z._scaleChanged=1,this.updateFromChildren(),delete z._scaleChanged)}},_adjustChildTallOrScale:function(C,o){var M;this._syncSize&&(M=this.getElevation(),this.eachChild(function($){var z;R($)&&!$.getHost()&&("size"===o?(z=$.getTall(),C<0&&$.setScaleTall(-1*$.getScaleTall()),$.setTall(Math.max(.01,Math.abs(z*C)))):(z=$.getScaleTall(),$.setScaleTall(z*C)),$.setElevation(M+($.getElevation()-M)*C))}))},setAnchor3d:function(){var $;if(!this._updatingToChildren)return this.beginTransaction(),!($=PV.superClass.setAnchor3d.apply(this,arguments))||this._isolating||Rh||this._updatingFromChildren||!this._syncSize||(this._anchorChanged=1,this.updateFromChildren(),delete this._anchorChanged),this.endTransaction(),$},setAnchor:function($,z,C){var o=this;if(!o._updatingToChildren){var M=o.getAnchor(),A=PV.superClass.setAnchor.apply(o,arguments);if(o._isolating||Rh||o._updatingFromChildren||!o._syncSize)return A;o._updatingToChildren=1;var N=o.getAnchor(),s=(g=o.getSize()).width*(M.x-N.x),g=g.height*(M.y-N.y),M=(new ad).compose(new Dd,this.getQuaternion(),new Dd(this.getScale3d())),Y=new Dd(s,0,g).applyMatrix4(M);return o.eachChild(function($){var z;R($)&&!$.getHost()&&(z=new Dd($.p3()),$.p3(z.add(Y).toArray()))}),delete o._updatingToChildren,A}},setAnchorElevation:function($){var z=this;if(!z._updatingToChildren){var C=z.getAnchorElevation(),o=PV.superClass.setAnchorElevation.apply(z,arguments);if(z._isolating||Rh||z._updatingFromChildren||!z._syncSize)return o;z._updatingToChildren=1;var M=z.getAnchorElevation(),C=z.getTall()*(C-M),M=(new ad).compose(new Dd,this.getQuaternion(),new Dd(this.getScale3d())),A=new Dd(0,C,0).applyMatrix4(M);return z.eachChild(function($){var z;R($)&&!$.getHost()&&(z=new Dd($.p3()),$.p3(z.add(A).toArray()))}),delete z._updatingToChildren,o}},setRotation:function($){this._updateChildrenRotation3d("rotation",$)},setRotationX:function($){this._updateChildrenRotation3d("rotationX",$)},setRotationZ:function($){this._updateChildrenRotation3d("rotationZ",$)},setRotation3d:function($,z,C){var o,M,A=this;A._updatingToChildren||(o=A.r3(),PV.superClass.setRotation3d.apply(A,arguments),M=A.r3(),A._isolating||Rh||A._updatingFromChildren||(A._updatingToChildren=1,A.eachChild(function($){R($)&&!$.getHost()&&$.syncRotation3d(A,M,o)}),delete A._updatingToChildren))},_updateChildrenRotation3d:function($,z){var C;this._updatingToChildren||(C=this[Qv($)](),PV.superClass[Wv($)].call(this,z),this._isolating||Rh||this._updatingFromChildren||this._updateRotationToChildren($,z-C))},_updateRotationToChildren:function(z,C){var o=this;o._updatingToChildren=1,o.eachChild(function($){R($)&&!$.getHost()&&$._11Q(o,z,C)}),delete o._updatingToChildren},setScale:function($,z){var C,o=this;o._updatingToChildren||(null==z&&(z=$.y,$=$.x),C=o.getScale(),I($)<.01&&($=.01*(Uv($)||Uv(C.x))),I(z)<.01&&(z=.01*(Uv(z)||Uv(C.y))),"3d"===o._scaleMode?o.setScale3d($,o.getScaleTall(),z):(PV.superClass.setScale.call(o,$,z),o._isolating||Rh||o._updatingFromChildren||(o._updatingToChildren=1,$/=C.x,z/=C.y,o._adjustChildScaleOrSize($,z,"scale"),delete o._updatingToChildren,o._scaleChanged=1,o.updateFromChildren(),delete o._scaleChanged)))},onPropertyChanged:function($){PV.superClass.onPropertyChanged.call(this,$),"s:3d.visible"!==$.property&&"parent"!==$.property||this._invalidateChildrenBatch()},_invalidateChildrenBatch:function(){this.eachChild(function($){($.s("batch")||$.s("wf.geometry")||$.s("wf.visible"))&&$.iv(),$ instanceof PV&&$._invalidateChildrenBatch()})},getSerializableProperties:function(){var $=PV.superClass.getSerializableProperties.call(this);return $.clickThroughEnabled=1,$.syncSize=1,$.scaleMode=1,$},setScale3d:(gA=new Dd,YA=new Dd,vA=new Dd,OA=new ad,tA=new hA,cA=new Dd,function($,z,C){var o,M,A=this,z="number"==typeof $?{x:$,y:z,z:C}:$.length?{x:$[0],y:$[1],z:$[2]}:$;"3d"!==A._scaleMode?PV.superClass.setScale3d.apply(A,arguments):A._syncSize&&0!==A.size()&&((o=A.getMatrix4()).getInverse(o),PV.superClass.setScaleTall.call(A,z.y),PV.superClass.setScale.call(A,z.x,z.z),M=A.getMatrix4(),A._isolating||Rh||A._updatingFromChildren||(A._updatingToChildren=1,A.eachChild(function($){var z,C;R($)&&!$.getHost()&&(z=1,$ instanceof U.Polyline?((C=$.getThickness())&&(cA.copy($.getScale3d()).multiplyScalar(C),z=C),$.getQuaternion(tA),gA.copy($.p3()),vA.copy($.getFinalScale3d()),vA.x=vA.x||cA.x,vA.y=vA.y||cA.y,vA.z=vA.z||cA.z,OA.compose(gA,tA,vA)):$.getMatrix4(OA),OA.premultiply(o).premultiply(M),OA.decompose(gA,tA,vA),YA.fromArray($.s3()),YA.x=YA.x||z,YA.y=YA.y||z,YA.z=YA.z||z,vA.divide(YA),$.setQuaternion(tA),$.p3(gA.toArray()),$.setScale3d(vA.toArray()))}),delete A._updatingToChildren,A._scaleChanged=1,A.updateFromChildren(),delete A._scaleChanged))}),setIsolating:function($){this._isolating=(this._isolating||0)+($?1:-1),this._isolating<0&&(this._isolating=0)}}),U.Grid=function(){Ev(U.Grid,this)}),XV=(D_("Grid",NV,{IRotatable:!1,_icon:"grid_icon",_image:fd,getUIClass:function(){return RV},setRotation:function(){},getCellRect:function($,z){var C=this.s("grid.row.count"),o=this.s("grid.column.count");if(C<=0||o<=0||$<0||C<=$||z<0||o<=z)return fd;var M,A,N,s=this.getRect(),g=this.s("grid.row.percents"),Y=this.s("grid.column.percents");if(zm(s,this,"grid.border",-1),g&&g._as&&(g=g._as),Y&&Y._as&&(Y=Y._as),g&&g.length===C){for(M=N=0;M<$;M++)N+=s.height*g[M];s.y+=N,s.height=s.height*g[$]}else s.height=s.height/C,s.y+=s.height*$;if(Y&&Y.length===o){for(M=A=0;M<z;M++)A+=s.width*Y[M];s.x+=A,s.width=s.width*Y[z]}else s.width=s.width/o,s.x+=s.width*z;return Z_(s,-this.s("grid.gap")),s}}),U.Text=function(){Ev(XV,this),this.setSize(100,50),this.s("text","TEXT")}),dV=(D_("Text",NV,{_icon:"text_icon",_image:"__text__",getUIClass:function(){return IV},setWidth:function($){XV.superClass.setWidth.call(this,$=$||.001)},setHeight:function($){XV.superClass.setHeight.call(this,$=$||.001)},toLabel:function(){return this._displayName||this._name||this.s("text")}}),sr("__text__",{width:{value:100,isSafeFunc:!0,func:function($){return $?$._width:100}},height:{value:50,isSafeFunc:!0,func:function($){return $?$._height:50}},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"},gradient:{func:"style@text.gradient"},gradientColor:{func:"style@text.gradient.color"},gradientPack:{func:"style@text.gradient.pack"},decoration:{func:"style@text.decoration"},vertical:{func:"style@text.vertical"},verticalGap:{func:"style@text.vertical.gap"},wrap:{func:"style@text.wrap"},letterGap:{func:"style@text.letter.gap"},borderWidth:{func:"style@text.border.width"},borderColor:{func:"style@text.border.color"},background:{func:"style@text.background"},cornerRadius:{func:"style@text.corner.radius"},outlineColor:{func:"style@text.outline.color"},outlineWidth:{func:"style@text.outline.width"}}]}),U.Shape=function(){Ev(dV,this),this._59O=new L}),lV=(dV.__de__=wd,D_("Shape",NV,{ms_ac:["thickness","closePath"],_icon:"shape_icon",_thickness:10,_closePath:!1,getUIClass:function(){return uV},get3dUIClass:function(){return D4},getLength:function($){return CX(_x(this._59O,this._58O,$,this._closePath))},getSegments:function(){return this._58O},toSegments:function(){var $=this._58O;return $&&new L($._as.slice(0))},setSegments:function($){var z=this._58O;$=$?ed($)?new L($.slice(0)):new L($._as.slice(0)):null,(z&&$&&z._as.join(",")!==$._as.join(",")||z!==$)&&(this._58O=$,delete this._curve,this.fp("segments",z,$))},getPoints:function(){return this._59O},toPoints:function(){var $=this._59O;return new L($._as.slice(0))},getPointsMatrix2d:function(){var $=new B.Matrix2d,z=this.getPosition(),C=this.getScale(),o=this.getRotation();return $.translate(-z.x,-z.y).scale(C.x,C.y).rotate(o).translate(z.x,z.y),$},getPointsMatrix3d:function(){var $=new B.Matrix4,z=$.getElements(),C=this.p3(),o=(Fz(z,C),tV(z,this.getFinalRotation3d(),this.getRotationMode()),this.getScale3d()),M=this._dynamicScale3d;return M&&(o[0]*=M[0],o[1]*=M[1],o[2]*=M[2]),jz(z,o),Fz(z,n_(C)),$},setPoints:function($,z){var C,o,M=this,A=M._59O;$=$?ed($)?new L($.slice(0)):new L($._as.slice(0)):new L,z&&(C=M.getPosition(),o=new IA(M.getRotation(),0,0,M.getScale().x,M.getScale().y)),(A&&$&&A._as.join(",")!==$._as.join(",")||A!==$)&&(M._59O=$,M.fs(),M.fp("points",A,$)),z&&($=(A=M.getPosition()).x-C.x,z=A.y-C.y,C=o.tf($,z),M.setPosition(A.x-$+C.x,A.y-z+C.y))},setPoints3d:function($,z){var C=new Dd(this.p3()),o=this.getPointsMatrix3d();o.setPosition(new Dd),JV.superClass.setPoints.call(this,$),z&&($=new Dd(this.p3()).clone().sub(C).applyMatrix4(o),C.add($),this.p3(C.x,C.y,C.z))},addPoint:function($,z,C){var o=this.toPoints();o.add($,z),this.setPoints(o,C)},setPoint:function($,z,C){var o=this.toPoints();o.set($,z),this.setPoints(o,C)},removePointAt:function($){var z=this.toPoints();z.removeAt($),this.setPoints(z)},setWidthForce:function($){var z,C,o,M,A=this;A._55I||Rh||!A.getWidth()||(A._55I=1,z=A._position.x,C=$/A.getWidth(),o=A.toPoints(),M=new L,1!=C&&(o.each(function($){M.add({x:($.x-z)*C+z,y:$.y,e:$.e})}),A.setPoints(M),cx(A,[C,0,0,1,z*(1-C),0]),A.fs()),delete A._55I),dV.superClass.setWidth.call(A,$)},setWidth:function($){return this.setWidthForce($<a_?a_:$)},setHeightForce:function($){var z,C,o,M,A=this;A._55I||Rh||!A.getHeight()||(A._55I=1,z=A._position.y,C=$/A.getHeight(),o=A.toPoints(),M=new L,1!=C&&(o.each(function($){M.add({x:$.x,y:($.y-z)*C+z,e:$.e})}),A.setPoints(M),cx(A,[1,0,0,C,0,z*(1-C)]),A.fs()),delete A._55I),dV.superClass.setHeight.call(A,$)},setHeight:function($){return this.setHeightForce($<a_?a_:$)},setAnchorElevation:function($){this._55I=!0;var z,C=this._updatingAnchor3d,$=(Rh||C||(z=this.getAnchorElevation(),0!=(z=this.getTall()*(z-$))&&this.shiftPointsElevation(z)),dV.superClass.setAnchorElevation.apply(this,arguments));return C||delete this._55I,$},getShapeElevation:function($){return this._54O-(this.getTall()||0)*(this._anchorElevation-.5)},setAnchor3d:function($,z,C,o){var M,A,N,s,g,Y=this,$=("number"==typeof $?M={x:$,y:z,z:C}:(M=$.length?{x:$[0],y:$[1],z:$[2]}:$,o=z),Y._55I=!0,Y._updatingAnchor3d=!0,Y.beginTransaction(),Rh||(C=Y.getAnchor3d(),$=Y.getSize(),z=Y.getTall(),A=$.width*(C.x-M.x),N=$.height*(C.z-M.z),s=z*(C.y-M.y),o||Y.shiftPoints(A,N,s),g=Y.p3()),dV.superClass.setAnchor3d.apply(Y,arguments));return Rh||o&&(z=Y.p3(),Y.shiftPoints(z[0]-g[0]+A,z[2]-g[2]+N,z[1]-g[1]+s)),Y.endTransaction(),delete Y._updatingAnchor3d,delete Y._55I,$},setAnchor:function($,z,C){var o,M,A,N=this,s=(N._55I=!0,N._updatingAnchor3d),g=!Rh&&!s,z=(g&&("number"==typeof $?M={x:$,y:z}:(M=$.length?{x:$[0],y:$[1]}:$,C=z),$=N.getAnchor(),o=(z=N.getSize()).width*($.x-M.x),M=z.height*($.y-M.y),C||N.shiftPoints(o,M),A=N.getPosition()),dV.superClass.setAnchor.apply(N,arguments));return g&&($=N.getPosition(),C&&N.shiftPoints($.x-A.x+o,$.y-A.y+M)),s||delete N._55I,z},shiftPoints:function(C,o,M){var A,$,N;(C||o||M)&&(A=this.getElevation()||0,$=this.toPoints(),N=new L,$.each(function($){var z=$.e;N.add({x:$.x+C,y:$.y+o,e:z=M?(z==fd?A:z)+M:z})}),this.setPoints(N),this.fs())},shiftPointsElevation:function($){return this.shiftPoints(0,0,$)},setPosition:function($,z){var C=this;if(!C._28Q){if(C._28Q=1,!C._55I&&!Rh){if($=(z=2===arguments.length?{x:$,y:z}:$).x-C._position.x,z=z.y-C._position.y,0==$&&0==z)return void delete C._28Q;C._55I=1,C.shiftPoints($,z),cx(C,[1,0,0,1,$,z]),delete C._55I}dV.superClass.setPosition.apply(C,arguments),delete C._28Q}},fs:function(){this.fireShapeChange()},_70I:function(){if(2!==this._59O.size())return!1;var $=this._58O;return!$||2===$.size()&&1===$.get(0)&&2===$.get(1)},fireShapeChange:function(){var $;this._55I||Rh||($=v_(this._59O))&&(this._55I=1,this.setRect($),delete this._55I),delete this._curve,this.fp(bt,!1,!0)},getSerializableProperties:function(){var $=dV.superClass.getSerializableProperties.call(this);return $.segments=1,$.points=1,$.thickness=1,$.closePath=1,$}}),U.Points=function(){Ev(lV,this),this.s("shape3d.oit.ignored","pre")}),JV=(D_("Points",NV,{_59O:[],_colors:[],_sizes:[],_uvoffsets:[],get3dUIClass:function(){return a4},getPoints:function(){return this._59O},setPoints:function($){var z=this._59O,C=($=$?$.slice(0):[])[0];if(Vv(C)){var o=$;$=[];for(var M=0,A=o.length;M<A;M+=3)$.push({x:o[M],e:o[M+1],y:o[M+2]})}this._59O=$,this._pointsDirty=!0,this.fp("points",z,this._59O)},setPoint:function($,z){var C=this._59O.slice(0);C[$]=z,this.setPoints(C)},addPoint:function($){this.setPoint(this._59O.length,$)},getColors:function(){return this._colors},setColors:function($){var z=this._colors;$?ArrayBuffer.isView($)||($=$.slice(0)):$=[],this._colors=$,this._colorsDirty=!0,this.fp("colors",z,$)},setPointColor:function($,z){var C=this._colors.slice(0);C[$]=z,this.setColors(C)},getSizes:function(){return this._sizes},setSizes:function($){var z=this._sizes;$=$?$.slice(0):[],this._sizes=$,this._sizesDirty=!0,this.fp("sizes",z,this._sizes)},setPointSize:function($,z){var C=this._sizes.slice(0);C[$]=z,this.setSizes(C)},getUvoffsets:function(){return this._uvoffsets},setUvoffsets:function($){var z=this._uvoffsets;$=$?$.slice(0):[],this._uvoffsets=$,this._offsetsDirty=!0,this.fp("uvoffsets",z,this._uvoffsets)},setPointUvoffset:function($,z,C){var o;"object"==typeof z?(o=z[0],C=z[1]):o=z,(z=this._uvoffsets.slice(0))[2*$+0]=o,z[2*$+1]=C,this.setUvoffsets(z)},getPointInfo:function($){if(!(z=this.getPoints())||z[$]==fd)return fd;var z=[(z=z[$]).x,z.e,z.y],C=this.mat||L_(this),o=[z[0],z[1],z[2]];return G_(o,C),C=this.getColors()[$]||this.s("points.color"),{size:($=this.getSizes()[$])==fd?this.s("points.size"):$,color:C,local:z,world:o}},getSerializableProperties:function(){var $=lV.superClass.getSerializableProperties.call(this);return $.points=1,$.colors=1,$.sizes=1,$.uvoffsets=1,$},onPropertyChanged:function($){lV.superClass.onPropertyChanged.call(this,$),"s:points.color"===($=$.property)?this._colorsDirty=!0:"s:points.size"===$?this._sizesDirty=!0:"s:points.model"===$&&(this._modelDirty=!0)},getWidth:function(){if(0<=this._width)return this._width;var $=this.getStyle("points.model");return($=$&&fz($))&&$.rawS3?$.rawS3[0]:1},getHeight:function(){if(0<=this._height)return this._height;var $=this.getStyle("points.model");return($=$&&fz($))&&$.rawS3?$.rawS3[2]:1},getTall:function(){if(0<=this._tall)return this._tall;var $=this.getStyle("points.model");return($=$&&fz($))&&$.rawS3?$.rawS3[1]:1}}),U.Polyline=function(){Ev(JV,this),this.s({"shape.background":null,"shape.border.width":2}),this._geometryVersion=0}),KV=(D_("Polyline",dV,{_icon:"polyline_icon",get3dUIClass:function(){return x4},getUIClass:function(){return nV},setClosePath:function($){},setTall:function($){var z,C,o,M,A=this;A.beginTransaction(),A._55I||A._24Q||Rh||!A.getTall()||(A._24Q=1,z=A._54O,1!=(C=$/A.getTall())&&(o=A.toPoints(),M=new L,o.each(function($){M.add({x:$.x,y:$.y,e:$.e==fd?$.e:($.e-z)*C+z})}),A.setPoints(M),A.fs()),delete A._24Q),JV.superClass.setTall.call(A,$),A.endTransaction()},setElevation:function($){this.beginTransaction(),this._55I||this._24Q||Rh||(this._24Q=1,0!=($-=this._54O)&&this.shiftPointsElevation($),delete this._24Q),JV.superClass.setElevation.apply(this,arguments),this.endTransaction()},fireShapeChange:function(){var $=this,z=$._59O;if(!$._55I&&!$._24Q&&!Rh){var C=z.size();if(C){for(var o=1,M=z.get(0),A=$._54O,N=(M.e==fd&&(M.e=A),M.e),s=0;o<C;o++){(M=z.get(o)).e==fd&&(M.e=A);var g=od(N,M.e),Y=Cd(N+s,M.e),N=g,s=Y-g}$._24Q=1,$.setTall(s),$.setElevation(N+s*$._anchorElevation),delete $._24Q}}JV.superClass.fireShapeChange.apply($,arguments)},onPropertyChanged:(_A={},["points","segments","thickness","s:shape.border.color","s:shape.border.gradient.color","s:shape.border.pattern","s:shape.dash","s:shape.dash.color","s:shape.dash.pattern","s:shape.dash.offset","s:3d.clip.direction","s:repeat.uv.length","s:rotate.vs.length","s:rotate.uv.length","s:body.color","s:shape3d","s:shape3d.visible","s:shape3d.image","s:shape3d.smooth","s:shape3d.resolution","s:shape3d.color","s:shape3d.blend","s:shape3d.side","s:shape3d.start.angle","s:shape3d.sweep.angle","s:shape3d.top.cap","s:shape3d.top.image","s:shape3d.top.visible","s:shape3d.top.color","s:shape3d.bottom.cap","s:shape3d.bottom.image","s:shape3d.bottom.visible","s:shape3d.bottom.color","s:shape3d.uv.union","s:shape3d.section","s:shape3d.section.angle","s:shape3d.section.twist","s:shape3d.polyline.depth","s:shape3d.polyline.offset","s:shape3d.polyline.radiusScale","s:shape3d.polyline.scaleOffset","s:shape3d.polyline.scaleMap","s:shape3d.polyline.scaleMode","s:shape3d.polyline.normal"].forEach(function($){_A[$]=!0}),function($){JV.superClass.onPropertyChanged.call(this,$),_A[$.property]&&this._geometryVersion++})}),U.SubGraph=function(){Ev(KV,this)}),fV=(D_("SubGraph",NV,{ISubGraph:1,_image:"subGraph_image",_icon:"subGraph_icon",_8I:function(){KV.superClass._8I.call(this),this.eachChild(function($){R($)&&$._8I()})}}),Qd.loadingRefGraph=0,U.RefGraph=function(){Ev(fV,this)}),QV=(D_("RefGraph",PV,{_icon:"refGraph_icon",getRef:function(){return this._ref},setRef:function($){var z=this._ref;this._ref=$,this.fp("ref",z,$),this.updateRef()},_21I:function($){fV.superClass._21I.apply(this,arguments),this.updateRef()},updateRef:function(){var C,z,o=this;Qd.loadingRefGraph++,o.clearChildrenFromDataModel(),Qd.loadingRefGraph--,o._ref&&o._dataModel&&(o._xhrLoadHandler&&(o._xhrLoadHandler.cancel=!0),C=Rh,(z=o._xhrLoadHandler=function($){var z;$&&o._dataModel&&(Qd.loadingRefGraph++,z=o._pendingUpdateInfo={needToRestore:C},C&&(z.p3=o.p3(),z.s3=o.s3(),z.r3=o.r3(),z.anchor3d=o.getAnchor3d(),z.scale3d=o.getScale3d()),o.r3(0,0,0),o.setScale3d(1,1,1),o.setAnchor3d(.5,.5,.5),o.p3(0,0,0),z=Qd.parse($),($=o._dataModel.deserialize(z,o,{justDatas:!0})).each(function($){$._refGraph=o}),o.checkPendingUpdateInfo(),Qd.loadingRefGraph--,Qd.handleRefGraphLoaded(o,$,z))}).xhrLoadCalled=!1,Qd.load(o._ref,function($){z.cancel||(z.xhrLoadCalled?z($):i3(function(){z($)}))}),z.xhrLoadCalled=!0)},checkPendingUpdateInfo:function(){var z,$=this,C=$._pendingUpdateInfo;C?(z=!0,this.eachChild(function($){($._pendingCheckImageJSON||$._pendingUpdateInfo)&&(z=!1)}),z&&(Qd.loadingRefGraph++,$._pendingUpdateInfo=null,$.updateFromChildren(),C.needToRestore&&($.setAnchor3d(C.anchor3d),$.setScale3d(C.scale3d),$.r3(C.r3),$.p3(C.p3)),this.getParent()instanceof fV&&this.getParent().checkPendingUpdateInfo(),$.onPendingUpdated&&$.onPendingUpdated(),Qd.loadingRefGraph--)):$.onPendingUpdated&&(Qd.loadingRefGraph++,$.onPendingUpdated(),Qd.loadingRefGraph--)},getSerializableProperties:function(){var $=fV.superClass.getSerializableProperties.call(this);return $.ref=1,$}}),U.EdgeGroup=function($,z){this._70O=$,this._siblings=z;for(var C,o=0,M=$.size(),A=xd[Af];o<M;o++)if((C=$.get(o).getOwnStyle(Af))!=fd){A=C;break}for(A==fd&&(A=!0),(z=(z=Qd.edgeGroupAgentFunc)&&z($))&&z!==$.get(0)&&($.remove(z),$.add(z,0)),o=0;o<M;o++)$.get(o).s(Af,A)},D_("EdgeGroup",Jd,{getEdges:function(){return this._70O},size:function(){return this._70O.size()},get:function($){return this._70O.get($)},indexOf:function($){return this._70O.indexOf($)},each:function($,z){this._70O.each($,z)},getSiblings:function(){return this._siblings},eachSiblingEdge:function(z,C){this._siblings.each(function($){$._70O.each(z,C)})}}),z(Qd,{setConnectAction:function($,z,C){var o=Lh[$]={type:$,action:z};if(C)for(var M in C)o[M]=C[M]},getConnectAction:function($,z){if(!z){if(!$)return null;z=$.getCurrentConnectActionType()}return Lh[z]},doConnectAction:function(z,$,C,o){if(o=o||z.getCurrentConnectActionType(),!(o=Lh[o]))return!1;var M=o.action;return!!M&&($ instanceof h.Group?z.sm().getSelection().each(function($){M.call(null,z,$,C)}):M.call(null,z,$,C),!0)},doDeleteConnectionAction:function(z,$,C){if(C=C||z.getCurrentConnectActionType(),!(C=Lh[C])||!C.delete)return!1;var o=C.delete.action;return!!o&&($ instanceof h.Group?z.sm().getSelection().each(function($){o.call(null,z,$)}):o.call(null,z,$),!0)}}),U.JSONSerializer=function($,z){this.dm=this._dataModel=$,Qd.forceHierarchicalSerialization?this._hierarchical=!0:this._hierarchical=z==fd?$.isHierarchicalRendering():z}),WV=(D_("JSONSerializer",Jd,{ms_ac:["hierarchical"],serialize:function($){return Qd.stringify(this.toJSON(),$)},toJSON:function(){var $,z,C=this,o=C.dm,M=o.getRoots(),A=C.json={v:Qd.getVersion(),p:{},a:{},d:[]},N=o.getSerializableAttrs();for(z in($=o.getInit())&&(A.init=$),($=o.getName())&&(A.p.name=$),($=o.getBackground())&&(A.p.background=$),($=o.getLayers())&&(A.p.layers=$),($=o.getEnvmap())&&(A.p.envmap=$),($=o.getEnvmapType())&&(A.p.envmapType=$),A.p.autoAdjustIndex=o.isAutoAdjustIndex(),A.p.hierarchicalRendering=o.isHierarchicalRendering(),N){var s=o.a(z);s!==Kd&&C[Bf](z,s,A.a)}return Hv(A.a)&&delete A.a,C._hierarchical?M.each(C.serializeData,this):o.each(function($){C.serializeData($)}),o.fireSerializeEvent({type:"serialize",json:A}),o.getPostProcessingData()&&(A.p.postProcessingData=o.getPostProcessingData()),A},isSerializable:function($){return!0},getProperties:function($){return $.getSerializableProperties()},getStyles:function($){return $.getSerializableStyles()},getAttrs:function($){return $.getSerializableAttrs()},serializeData:function($){var z=this;if(z.isSerializable($)&&!$._refGraph){var C,o,M,A,N,s=new(L3($.getClassName())||$.getClass()),g={c:$.getClassName(),i:$.getId(),p:{},s:{},a:{}};for(C in z.json.d.push(g),z.getProperties($))/^_/.test(C)?(N=$[C],"_width"!==C&&"_height"!==C||N!=fd&&-1!==N||(A==Kd&&(M=($.s("layout.h")||$.s("layout.v"))&&$.getHost()||$ instanceof U.Node&&(M=$.getParent())&&M instanceof U.Block||$.s("fullscreen"),A=$.hasInheritedSize()),M&&A&&(N=$[C]="_width"===C?$.getWidth():$.getHeight())),N!==s[C]&&z[Bf](C.substr(1),N,g.p)):$[o=Qv(C)]&&(N=$[o]())!==s[o]()&&z[Bf](C,N,g.p);for(C in z.getStyles($))(N=$.s(C))!==s.s(C)&&z[Bf](C,N,g.s);for(C in z.getAttrs($))(N=$.a(C))!==s.a(C)&&z[Bf](C,N,g.a);Hv(g.p)&&delete g.p,Hv(g.s)&&delete g.s,Hv(g.a)&&delete g.a}z._hierarchical&&$.getChildren().each(z.serializeData,z)},serializeValue:function($,z,C){kv(z)?z={__a:z._as}:z instanceof hK?z={__i:z.getId()}:z instanceof mK&&(z={__dm:z.serialize(0)}),C[$]=z},deserialize:function($,z,C){var o=this;if(!Vd($)||!/.json$/.test($))return o.deserializeImpl($,z,C);Qd.xhrLoad($,function($){o.deserializeImpl($,z,C)})},deserializeImpl:function($,z,C){var o=this.dm,M=(o.setDeserializing(!0),C=ev(C)?{setId:C}:av(C)?{finishFunc:C}:C||{},$=this.json=Vd($)?Qd.parse($):$,!C.justDatas&&$.a&&$.a.onPreDeserialize&&!C.disableOnPreDeserialize&&$.a.onPreDeserialize($,o,C.view),o.beginTransaction(),Rh++,this._82I={},new L),A=new L,N=0,s=$.d.length;if(C.justDatas||(!C.disableInit&&av($.init)&&$.init(o),o.setInit($.init)),!C.justDatas){for(var g in $.a)o.a(g,this[$h]($.a[g]));for(var Y in $.p)o[Wv(Y)]($.p[Y])}for(;N<s;N++){var v=$.d[N],O=new(L3(v.c)),t=v.i;C.setId&&t!=fd&&(O._id=t),this._82I[t]=O,M.add(O),A.add(v)}for(N=0;N<s;N++)this.deserializeData(M.get(N),A.get(N));return M.each(function($){z&&!$.getParent()&&$.setParent(z),o.add($)}),C.__innerHandler__&&C.__innerHandler__($,o,C.view,M),o.fireSerializeEvent({type:"deserialize",json:$}),Rh--,o.endTransaction(),!C.justDatas&&$.a&&$.a.onPostDeserialize&&!C.disableOnPostDeserialize&&$.a.onPostDeserialize($,o,C.view,M),C.finishFunc&&C.finishFunc($,o,C.view,M),o.setDeserializing(!1),M},deserializeData:function($,z){for(var C in z.p)$[Wv(C)](this[$h](z.p[C]));for(C in z.s)$.s(C,this[$h](z.s[C]));for(C in z.a)$.a(C,this[$h](z.a[C]))},deserializeValue:function($){if(Dv($)){var z,C=$.__i;if(C!=fd)return this._82I[C];if((C=$.__dm)!=fd)return(z=new U.DataModel).deserialize(C),z;if(C=$.__a,ed(C))return new L(C)}return $}}),z(mK,{serialize:function($,z){return new QV(this,z).serialize($)},toJSON:function($){return new QV(this,$).toJSON()},deserialize:function($,z,C){return new QV(this).deserialize($,z,C)}}),U.OverlappingBox=function($){this.gv=$,this.boxes={}}),VV=(D_("OverlappingBox",Jd,{clear:function(){var $,z=this.boxes;for($ in z)z[$].length=0},isOverlapping:function($,z){var C,o,M,A,N=this.boxes,s=N[$];for(s?(C=s.rects,o=s.length):s=N[$]={rects:C=[],length:o=0},M=0;M<o;M++)if((A=C[M]).x<z.x+z.w&&A.x+A.w>z.x&&A.y<z.y+z.h&&A.h+A.y>z.y)return!0;return C.length<=o?(C.push(z),s.length++):C[s.length++]=z,!1}}),z(Qd,{fetch:function($,z){$.open((z=z||{}).method||"GET",z.url||"",!(null!=z.sync&&z.sync)),"json"===z.dataType&&$.setRequestHeader("Content-Type","application/json");var C=z.headers;if(C)for(var o in C)$.setRequestHeader(o,C[o]);z.responseType&&($.responseType=z.responseType),$.send(z.data)},convertImageSrc:function($,z){(z=z&&"function"==typeof z?z:function(){})($)}},!0),U.Request=function(){}),eV=(D_("Request",Jd,{_mimeType:Kd,getXhr:function(){return this._xhr||(this._xhr=new XMLHttpRequest,this.overrideMimeType("text/plain")),this._xhr},send:function($){var z=this.getXhr();$.mimeType&&this.overrideMimeType($.mimeType),z.onload=this.onload,z.onerror=this.onerror,Qd.fetch(z,$)},onload:function(){},onerror:function(){},getResponseType:function(){return this.getXhr().responseType},setOverrideMimeType:function($){this.overrideMimeType($)},getMimeType:function(){return this._mimeType},overrideMimeType:function($){var z=this.getXhr();z.overrideMimeType&&z.overrideMimeType(this._mimeType=$)},getResponseHeader:function($){return this.getXhr().getResponseHeader($)},getResponseText:function(){var $=this.getXhr();return $.response||$.responseText},getStatus:function(){return this.getXhr().status}}),Pm.GraphView=function($){var z=this;z._24I={},z._34I=new L,z._dirtyRectsShadow=new L,z.enableDirtyRect(),z._25I={},z._56I={},z._view=AX(1,z),z._canvas=sX(z._view),z.dm($||new mK),this._coreInteractor=new jV(this),z.setEditable(!1),z.setScrollBarVisible(Qd.graphViewScrollBarVisible),z.initRenderEvents(),z._initView()},$("GraphView",Jd,{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_renderEvents:["PreFrame","PostFrame","PreRender","PostRender"],ms_ac:[Xf,df,Pf,Zf,"resettable","editInteractor",_f,"zoomable","pannable","rectSelectable","autoScrollZone",Vf,"movableFunc","editableFunc","pointEditableFunc","rectEditableFunc","rotationEditableFunc","anchorEditableFunc","rectSelectBackground","rectSelectBorderColor","editPointSize","editPointBorderColor","editPointBackground","hoverDelay"],_zoomable:Qd.graphViewZoomable,_resettable:Qd.graphViewResettable,_pannable:Qd.graphViewPannable,_rectSelectable:Qd.graphViewRectSelectable,_autoScrollZone:Qd.graphViewAutoScrollZone,_rectSelectBackground:Qd.graphViewRectSelectBackground,_rectSelectBorderColor:Qd.graphViewRectSelectBorderColor,_editPointSize:Qd.graphViewEditPointSize,_editPointBorderColor:Qd.graphViewEditPointBorderColor,_editPointBackground:Qd.graphViewEditPointBackground,_scrollBarColor:V,_scrollBarSize:mh,_autoHideScrollBar:Td,_autoMakeVisible:LA,_currentActionType:null,getCoreInteractor:function(){return this._coreInteractor},getLayers:function(){return this._dataModel.getLayers()},setLayers:function($){this._dataModel.setLayers($)},setEditable:function($){var z=this,C=(C=z.__interactorMap__)||(z.__interactorMap__={scrollBar:new TV(z),select:new LV(z),text:new qV(z),move:new wV(z),default:new UV(z),touch:new rV(z,{editable:!1})});$?(z._uieditable=!0,C.edit||($=z._editInteractorClass||Pm.XEditInteractor||$S,C.edit=new $(z)),z.setInteractors([C.scrollBar,C.select,C.text,C.edit,C.move,C.default,C.touch])):(z._uieditable=!1,z.setInteractors([C.scrollBar,C.select,C.move,C.default,C.touch]))},registerEditInteractor:function($){this._editInteractorClass=$;var z,C=this.__interactorMap__;C&&(z=C.edit,C.edit=new $(this),0<=(z=($=this.getInteractors().getArray()).indexOf(z))&&($[z]=C.edit))},getCanvas:function(){return this._canvas},_33I:function($){var z=$.getUIClass();return z?new z(this,$):fd},getDataUI:function($){var z=this._25I[$._id];return z===Kd&&(z=this._33I($),this._25I[$._id]=z),z},_5I:function($){var z=this._25I[$._id];return z||$.dm()!==this.dm()?z:this.getDataUI($)},getNodeRect:function($){return Qd.getNodeRect(this,$)},getFullscreenDatas:function(){return this._dataModel.getFullscreenDatas()},getEdgeInfo:function($){return($=this.getDataUI($))?($._79o(),$._78o):null},getEdgeSourcePosition:function($){var z=($=this.getDataUI($)).s,$=$._data._40I;return Nm(this,$,z("edge.source.position"),z("edge.source.offset.x"),z("edge.source.offset.y"),z("edge.source.anchor.x"),z("edge.source.anchor.y"))},getEdgeTargetPosition:function($){var z=($=this.getDataUI($)).s,$=$._data._41I;return Nm(this,$,z("edge.target.position"),z("edge.target.offset.x"),z("edge.target.offset.y"),z("edge.target.anchor.x"),z("edge.target.anchor.y"))},dispose:function(){},invalidateAll:function($){var z=this;if($){for(var C in z._25I)(C=z._25I[C])&&C.dispose();z._25I={},z._56I={},z._24I={},z._34I.empty(),z.redraw()}else z.dm().each(function($){z.invalidateData($)})},invalidateSelection:function(){var z=this;z.sm().each(function($){z.invalidateData($)})},invalidateData:function($){this._24I[$._id]=$,this._21Q($),this.iv()},_21Q:function($){var z,C=this._24I;xv($)&&wh[$.s(sf)]&&((z=$.getSourceAgent())&&z.getAgentEdges().each(function($){C[$._id]=$}),(z=$.getTargetAgent())&&z.getAgentEdges().each(function($){C[$._id]=$}),this.iv())},redraw:function($){this._32I||($?this._34I.add($):(this._32I=1,this._34I.empty()),this.iv())},_eachImpl:function(z,C,$){var o,M,A,N,s,g,Y=this.getLayers(),v=Y?Y.length:0,O=this._dataModel,t=O._datas,c=O.isHierarchicalRendering(),y=$?c?O.reverseEachByHierarchical.bind(O):function($,z,C){return t.reverseEachUntil($,C,!1)<0}:c?O.eachByHierarchical.bind(O):function($,z,C){return t.eachUntil($,C,!1)<0},c=0<v;if(2<v&&(o=!0,M={},y(function($){var z=$._layer;(M[z]||(M[z]=new U.List)).add($)})),c)for(o||(A=function($){if($._layer===_)return C?z.call(C,$):z($)}),g=$?(N=v-1,s=-1):(N=0,s=v,1);N!==s;N+=g){var _=Y[N];if(Dv(_)&&(_=_.name),o){var P=M[_];if(P&&0<=P.eachUntil(z,C,!1))return}else if(!1===y(A,null,C))return}else y(z,null,C)},each:function($,z){return this._eachImpl($,z,!1)},reverseEach:function($,z){return this._eachImpl($,z,!0)},getViewRect:function(){return this._29I},getContentRect:function(){var $,z,C=this,o=C._84I;return o||($=this.dm().a("width"),z=this.dm().a("height"),0<$&&0<z?C._84I={x:0,y:0,width:$,height:z}:(C.each(function($){C.isVisible($)&&(o=O_(o,C.getDataUIBounds($)))}),C._84I=o||Yv)),C._84I},getScrollRect:function(){return O_(this.getContentRect(),this._29I)},makeCenter:function($,z,C){var o,M,A,N,s=this;s.getWidth()&&s.getHeight()?(s.makeVisible($),s.validate(),(M=s.getDataUIBounds($))&&(N=s.getWidth(),o=s.getHeight(),A=M.x+M.width/2,M=M.y+M.height/2,A=-A*s._zoom+N/2,N=-M*s._zoom+o/2,s.setTranslate(A,N,z))):C||i3(s.makeCenter,s,[$,z,!0],500)},fitData:function(z,C,o,M,$){var A,N=this;N.getWidth()&&N.getHeight()?(A=function(){N.makeVisible(z),N.validate();var $=N.getDataUIBounds(z);$&&($=U3($),Z_($,o==fd?20:o),N.fitRect($,C,M))},C?Qd.callWhenLoaded(A):A()):$||i3(N.fitData,N,[z,C,o,M,!0],500)},fitContent:function(z,C,o,$){var M,A=this;A.getWidth()&&A.getHeight()?(M=function(){A.validate();var $=U3(A.getContentRect());Z_($,C==fd?20:C),A.fitRect($,z,o)},z?Qd.callWhenLoaded(M):M()):$||i3(A.fitContent,A,[z,C,o,!0],500)},fitRect:function($,z,C){var o=this,M=o.getWidth(),A=o.getHeight(),N=$.x+$.width/2,s=$.y+$.height/2,g=od(M/$.width,A/$.height),N=-N*($=o._zoom)+M/2,M=-s*$+A/2;0===g||isNaN(g)||(C&&(g=od(1,g)),z?(o._65I&&(delete o._65I.finishFunc,o._65I.stop(!0)),o._14o&&o._14o.stop(!0),o.setTranslate(N,M,{finishFunc:function(){o.setZoom(g,z)}})):(o.setTranslate(N,M),o.setZoom(g)))},fitSelection:function($,z,C){var o=this,M=o.sm(),A=null;M.size()&&(M.each(function($){A=O_(o.getDataUIBounds($),A)}),$&&Z_(A,$),o.fitRect(A,z,C))},toCanvas:function($,z,C){z=z||this._zoom,this.validateImpl();var o=U3(this.getContentRect()),C=(C&&Z_(o,C),o.width||(o.width=10),o.height||(o.height=10),sX()),M=o.x*z,A=o.y*z,N=Math.ceil(o.width*z),o=Math.ceil(o.height*z),s=(vX(C,N,o,1),KX(C)),N=(($=$||this._dataModel.getBackground())&&Xx(s,0,0,N,o,$),QX(s,-M,-A),s.scale(z,z),this._zoom);return this._zoom=z,this._42(s),this._zoom=N,s.restore(),this.redraw(),C},toDataURL:function($,z,C,o){return this.toCanvas($,C,o).toDataURL(z||"image/png",1)},getClipBounds:function(){return this._74O},_42:function(N,s){var $,z,g=this,C=(g.emitPreRender(),g.dm().getBackground()),o=(C&&($=g.dm().a("width"),z=g.dm().a("height"),0<$&&0<z&&(Qd.convertColor&&(C=Qd.convertColor(C,{view:g,background:!0})),Xx(N,0,0,$,z,C))),g.__htmlOrderList),Y=[],v=g._forcedLayoutHTML;if(g._93db(N,s),g.each(function($){var z,C,o,M,A=g.getDataUI($);A&&(z=g._56I[$._id],M=A._htmlView,z&&(C=A._79o(),M=A._htmlView,U.HtmlNode&&$ instanceof U.HtmlNode?A._42(N):($=g.getViewRect(),o=M&&M.layoutHTML,!s||y_(s,C)?(o&&(M.layoutHTML(),A.__outerLayout&&delete A.__outerLayout),A._42(N)):y_($,C)||!o||A.__outerLayout&&!v||(M.layoutHTML(),A.__outerLayout=!0))),M&&(Y.push(M),(M=M.getView?M.getView():M).style.display!==($=z?"block":Wt)&&(M.style.display=$,M.onHTMLDisplayChanged&&M.onHTMLDisplayChanged())))}),o&&0<Y.length){var M=!1;if(o.length!==Y.length)M=!0;else for(var A=0;A<Y.length;A++)if(Y[A]!==o[A]){M=!0;break}M&&(Y.forEach(function($){!1!==$.autoAdjustIndex&&g.appendHTML($,!0)}),this.__htmlOrderList=Y)}else this.__htmlOrderList=Y;g._92db(N,s),g.emitPostRender()},disableDirtyRect:function(){this._shouldRedrawAll=a},enableDirtyRect:function(){var $=this;$._shouldRedrawAll=function(){return $._32I}},getCurrentDirtyRectsAndSwap:function(){var $=this._34I;return this._34I=this._dirtyRectsShadow,this._dirtyRectsShadow=$},validateImpl:function(){var C=this;++C._frameId,C.emitPreFrame(),C.tryUpdateRootData();var o,z,M,$,A,N,s,g=C.tx(),Y=C.ty(),v=C._zoom,O=C._canvas,t=C.getWidth(),c=C.getHeight(),y=C._29I,_={x:-g/v,y:-Y/v,width:t/v,height:c/v},P={},Z=C.getCurrentDirtyRectsAndSwap(),X=C._24I,d=C._shouldRedrawAll(),l=C._23I;for(o in C._24I={},t===O.clientWidth&&c===O.clientHeight||(vX(O,t,c),C._forcedLayoutHTML=d=1),d||Fv(_,y)||(C._forcedLayoutHTML=d=1),C._29I=_,C.each(function($){o=$._id;var z=P[o]=C.isVisible($);z!==C._56I[o]&&(X[o]=$,(M=C.getDataUI(X[o]))&&M._84o(z),C._84o($,z))},C),X)(M=C._5I(X[o]))&&(!d&&C._56I[o]&&($=M._79o())&&Z.add($),M.invalidate()),C._83I=1;if(C._56I=P,!d)for(o in X)P[o]&&(M=C._5I(X[o]))&&($=M._79o())&&Z.add($);d?z=_:(Z.each(function($){y_(_,$)&&(z=O_(z,$))}),z&&(Z_(z,Cd(1,1/v)),z.x=md(z.x*v)/v,z.y=md(z.y*v)/v,z.width=Sd(z.width*v)/v,z.height=Sd(z.height*v)/v,z=__(_,z))),(C._74O=z)&&0!==z.width&&0!==z.height&&(y=KX(O),O=z.x,A=z.y,N=z.width,s=z.height,O=Math.floor((O*v+g)*X3),A=Math.floor((A*v+Y)*X3),N=Math.ceil(N*v*X3)+1,s=Math.ceil(s*v*X3)+1,d||(z.x=(O/X3-g)/v,z.y=(A/X3-Y)/v,z.width=N/X3/v,z.height=s/X3/v),y.beginPath(),y.rect(O,A,N,s),y.clip(),y.clearRect(O,A,N,s),fX(y,g,Y,v),C._42(y,z),y.restore(),delete C._74O),Z.empty(),delete C._32I,delete C._forcedLayoutHTML,l&&0<t&&0<c&&((M=C._5I(l))&&($=M._79o(),A=(O=C._29I).x,N=O.y,s=O.width,g=O.height,v=C._zoom,$&&!y_($,O)&&($.x+$.width<A&&C.tx(-$.x*v),$.x>A+s&&C.tx(-($.x+$.width-s)*v),$.y+$.height<N&&C.ty(-$.y*v),$.y>N+g&&C.ty(-($.y+$.height-g)*v))),delete C._23I),C._83I&&(delete C._83I,delete C._84I),C._98O(),C.debugCountFrame(),Hv(C._24I)||i3(C.iv,C),C.emitPostFrame()},isValidGuideLineSource:function($){return!0},tryUpdateRootData:function(){if(!this._rootDataUpdating){this._rootDataUpdating=!0;var $,z,C=this.getFullscreenDatas();for(z in C)$=C[z],this.scaleRootData($);this.onRootDataUpdated&&this.onRootDataUpdated(),this._rootDataUpdating=!1}},scaleRootData:function($){if("uniform"===(O=$.s("fullscreen"))||"fill"===O){$.getRotation()&&$.setRotation(0);var z=$.s("fullscreen.gap")||0,C=this.getWidth(),o=this.getHeight();if(C&&o){var C=C-2*z,o=o-2*z,M=$.getAnchor(),A=(N=$.getScaledSize()).width,N=N.height;if(Y=$.s("fullscreen.lock"))return"uniform"===O?A/N<C/o?(v=o/N,A=N*C/o):(v=C/A,N=A*o/C):"v"===Y?(A=C/(v=o/N),$.getWidth()!==A&&$.setWidth(A)):(N=o/(v=C/A),$.getHeight()!==N&&$.setHeight(N)),this.setZoom(v),s=z-($.getX()-M.x*A)*v,g=z-($.getY()-M.y*N)*v,s!==this.tx()&&this.tx(s),void(g!==this.ty()&&this.ty(g));var s=this.tx(),g=this.ty(),Y={x:(-s+z)/(v=this._zoom),y:(-g+z)/v,width:C/v,height:o/v},v=("uniform"===O&&(s=A/N,z=(g=Math.min(Y.width,Y.height*s))/s,Y.x+=.5*(Y.width-g),Y.y+=.5*(Y.height-z),Y.width=g,Y.height=z),C=Y.width/$.getScaleX(),o=Y.height/$.getScaleY(),$.getWidth()==C&&$.getHeight()===o||$.setSize(C,o),Y.x+M.x*Y.width),O=Y.y+M.y*Y.height;v===(A=$.getPosition()).x&&O===A.y||$.setPosition(v,O)}}},isScrollBarVisible:function(){return!!this._79O},setScrollBarVisible:function($){var z=this;$!==z.isScrollBarVisible()&&($?(OX(z._view,z._79O=NX()),OX(z._79O,z._27I=NX()),OX(z._79O,z._28I=NX())):(J_(z._79O),delete z._79O,delete z._27I,delete z._28I),z.fp("scrollBarVisible",!$,$))},getDebugTip:function(){return""},showScrollBar:function(){var $=this;$._79O&&($._85I||($t(function(){$._86I()},k3),$.iv()),$._85I=new Date)},_86I:function(){var $=this;$._85I&&((new Date).getTime()-$._85I.getTime()>=k3?(delete $._85I,$.iv()):$t(function(){$._86I()},k3))},getVScrollBar:function(){return this._27I},getHScrollBar:function(){return this._28I},_98O:function(){var $=this._27I,z=this._28I;if(this._79O){if(this._autoHideScrollBar&&!this._85I)return $.style.visibility=Yf,void(z.style.visibility=Yf);var C=this.getScrollBarColor(),o=this._zoom,M=this.getScrollBarSize(),A=this.getViewRect(),N=this.getScrollRect(),s=A.height*o,g=N.height*o,Y=A.width*o-M-2,v=s*((A.y-N.y)*o/g),O=s/g*s,t=$.style,g=(s<g-.5?(O<x3&&(s<(v=(v=v+O/2-x3/2)<0?0:v)+x3&&(v=s-x3),O=x3),pX($,Y,v,M,O),t.visibility=vf,t.background=C,t.borderRadius=M/2+Vt):t.visibility=Yf,A.width*o),s=N.width*o,v=A.height*o-M-2,Y=g*((A.x-N.x)*o/s),$=g/s*g,t=z.style;g<s-.5?($<x3&&(g<(Y=(Y=Y+$/2-x3/2)<0?0:Y)+x3&&(Y=g-x3),$=x3),pX(z,Y,v,$,M),t.visibility=vf,t.background=C,t.borderRadius=M/2+Vt):t.visibility=Yf}},setDataModel:function($){var z=this,C=z._dataModel,o=z._selectionModel;C!==$&&(C&&(C.ump(z.handleDataModelPropertyChange,z),C.umm(z.handleDataModelChange,z),C.umd(z.handleDataPropertyChange,z),C.removeIndexChangeListener(z._75O,z),C.removeHierarchyChangeListener(z.handleHierarchyChange,z),o||C.sm().ums(z.handleSelectionChange,z)),(z._dataModel=$).mp(z.handleDataModelPropertyChange,z),$.mm(z.handleDataModelChange,z),$.md(z.handleDataPropertyChange,z),$.addIndexChangeListener(z._75O,z),$.addHierarchyChangeListener(z.handleHierarchyChange,z),o?o._21I($):$.sm().ms(z.handleSelectionChange,z),z.invalidateAll(!0),z.fp(Gf,C,$),z.updateBackground())},getLayersInfo:function(){var $;return this._layersInfo===Kd&&(($=this.getLayers())?(this._layersInfo={},$.forEach(function($){var z=Dv($)?$.name:$;this._layersInfo[z]=$},this)):this._layersInfo=null),this._layersInfo},calculateEdgePosition:function($,z,C){$ instanceof U.Data?(o=this.getDataUI($),s=Jm(o)):(s=Jm(null,$,arguments[1]),z=arguments[2],C=arguments[3]);var s,o,M=function(C){var o=1/0,M=0,A=new F;function $($){var z;return 0<=$&&$<=1&&(A=Wm(s,100*$),(z=(C.x-A.x)*(C.x-A.x)+(C.y-A.y)*(C.y-A.y))<o&&(o=z,M=$,1))}for(var z=0;z<100;++z)$(z/100);for(var N=.005;.001<N;)$(M-N)||$(M+N)||(N/=2);return M}(z=2===z.length?new F(z[0],z[1]):z),A=Wm(s,100*M);if(!C)for(var N=o?Vm(o):Vm($,arguments[1]),g=new F(A.x,A.y),Y=49/(this._zoom*this._zoom),v=0,O=N.length;v<O;v++)if(g.distanceToSquared(N[v])<Y)return{index:v,point:N[v],distance:Math.sqrt((N[v].x-z.x)*(N[v].x-z.x)+(N[v].y-z.y)*(N[v].y-z.y))};return{percent:M,point:A,distance:Math.sqrt((A.x-z.x)*(A.x-z.x)+(A.y-z.y)*(A.y-z.y))}},getPercentPositionOfPath:function($,z){var C;return $ instanceof U.Data?(C=this.getDataUI($),C=Jm(C)):(C=Jm(null,$,arguments[1]),z=arguments[2]),Wm(C,z)},getNeareastPositionOfPath:function(){return this.calculateEdgePosition.apply(this,arguments)},getPointsOfPath:function($){for(var z,C,o,M,o=$ instanceof U.Data?(z=this.getDataUI($),C=(z=lm(z)).points,z.segments):(C=$,arguments[1]),A=$ instanceof U.Shape?$.getPointsMatrix2d():new B.Matrix2d,N=[],s=-1,g=-1,Y=0,v=(o||C).length;Y<v;Y++)5!==(M=o?o.get(Y):1)&&(g++,3===M?(JE(N,C,s+1,g,"C",A),JE(N,C,s+2,g,"M",A),s+=2):4===M?(JE(N,C,s+1,g-1,"R",A),JE(N,C,s+2,g,"L",A),JE(N,C,s+3,g,"M",A),s+=3):(JE(N,C,s+1,g,"M",A),s+=1));return N},calculateAttachPoint:(PA=new F,ZA=new F,XA=new F,function($,z){var C=this.getAttachPoints($);if(!C||!C.length)return null;XA.set(z.x,z.y);for(var o,M,A,N,s=1/0,g=0,Y=C.length;g<Y;g++)A=C[g],ZA.x=A.x,ZA.y=A.y,PA.x=A.offsetX||0,PA.y=A.offsetY||0,A=Nm(this,$,0,PA.x,PA.y,ZA.x,ZA.y),(M=XA.distanceToSquared(A))<s&&(o=g,s=M,N=A);return s=Math.sqrt(s),"close"===(z=this.getAttachStyle($))&&$.s("attach.close.threshold")/this._zoom<s?null:{index:o,distance:s,info:C[o],point:N}}),getAttachPoints:function($){var z=$.s("attach.points");return z||((z=j($._image))?E(z.attachPoints,$,this)||null:void 0)},getAttachStyle:function($){var z=$.s("attach.style");return z||((z=j($._image))?E(z.attachStyle,$,this)||"close":void 0)},updateLayers:function(){this._layersInfo=Kd,this.invalidateSelection(),this.redraw()},updateBackground:function(){var $=this.dm().a("width"),z=this.dm().a("height");0<$&&0<z?this._canvas.style.background="":(($=this.dm().getBackground())&&Qd.convertColor&&Qd.convertColor($,{view:this,background:!0}),this._canvas.style.background=this.dm().getBackground()||"")},handleDataModelPropertyChange:function($){var z,C;"background"===$.property?(z=this._canvas.style.background,C=$.newValue||"",this.updateBackground(),this.fp("canvasBackground",z,C),this.redraw()):"a:width"===$.property||"a:height"===$.property?(this._83I=1,this.updateBackground(),this.redraw()):"layers"===$.property?this.updateLayers():"hierarchicalRendering"===$.property&&this.redraw()},handleDataPropertyChange:function($){this.dm().isHierarchicalRendering()&&"parent"===$.property&&$.data.hasChildren()&&this.redraw(),this.invalidateData($.data)},onPropertyChanged:function($){var z,C=$.property;this.redraw(),"zoom"===C?(z=this.sm().getSelection()).size()&&z.each(function($){$.invalidate()}):"dataModel"===C&&(this._83I=1),FK[C]?this.showScrollBar():C===_f&&this.onCurrentSubGraphChanged($)},onCurrentSubGraphChanged:function($){this.sm().cs(),this.reset()},handleDataModelChange:function($){var z,C,o,M=this,A=$.kind,$=$.data;M._83I=1,"add"===A?(M.invalidateData($),xv($)&&$.getEdgeGroup()&&$.getEdgeGroup().eachSiblingEdge(M.invalidateData,M),$.getHost&&$.getHost()&&$.getHost().updateLayoutAttaches()):A===Rt?(M._21Q($),z=$._id,(C=M._25I[z])&&(M._56I[z]&&(o=C._79o())&&M.redraw(o),C.dispose(),delete M._25I[z],delete M._24I[z],delete M._56I[z]),$===M._currentSubGraph&&M.setCurrentSubGraph(fd)):A===It&&(M.invalidateAll(!0),M.setCurrentSubGraph(fd))},_75O:function($){this.invalidateData($.data)},handleHierarchyChange:function($){var z,C;this.dm().isHierarchicalRendering()&&((C=$.data).getHost&&(z=C.getHost())&&z.updateLayoutAttaches(),C.hasChildren()&&this.redraw()),this.invalidateData($.data)},adjustIndex:function($){if(this.isVisible($)){this.dm().beginTransaction();for(var z=$;z._parent&&this.isVisible(z._parent);)z=z._parent;z&&z!==$&&this._dataModel.adjustIndex(z),this._dataModel.adjustIndex($),this.dm().endTransaction()}},getImage:function($){return $.getImage?$.getImage():Kd},getSelectWidth:function($){var z=j(this.getImage($));return z&&E(z.disableSelectedBorder,$,this)?0:$.s("select.width")},getSelectColor:function($){return $.s("select.color")},isSelectable:function($,z){if(this.isSelected($))return!0;if(!z)for(var C=$;(C=C.getParent())&&C instanceof PV;){if(this.isSelectable(C,!0)&&C.isSyncSize())return!1;if(!Qd.blockThroughContinuous)break}return(!(z=(z=this.getLayersInfo())&&z[$._layer])||!1!==z.selectable)&&($.s("2d.selectable")&&this.sm().isSelectable($))},isMovable:function($){if(xv($)&&$.getStyle(sf)!==Ft)return!1;var z=this.getLayersInfo();return(!(z=z&&z[$._layer])||!1!==z.movable)&&(!!$.s("2d.movable")&&(!this._movableFunc||this._movableFunc($)))},isEditable:function($){if(U._uiSerializing)return this._uieditable;if(!this._editInteractor||!this.isSelected($))return!1;if(pv($)){var z=this.getDataUI($);if(!z||z._88I)return!1}return(!xv($)||$.getStyle(sf)===Ft)&&((!(z=(z=this.getLayersInfo())&&z[$._layer])||!1!==z.editable)&&(!!$.s("2d.editable")&&(!this._editableFunc||this._editableFunc($))))},handleDelete:function($){this._editInteractor&&(this._editInteractor.handleDelete?this._editInteractor.handleDelete():this.removeSelection())},isPointEditable:function($){return(!R($)||0===$.getRotation())&&(!this._pointEditableFunc||this._pointEditableFunc($))},isRectEditable:function($){return!this._rectEditableFunc||this._rectEditableFunc($)},isAnchorEditable:function($){return!this._anchorEditableFunc||this._anchorEditableFunc($)},isRotationEditable:function($){return!(!$.setRotation||!1===$.IRotatable)&&(!this._rotationEditableFunc||this._rotationEditableFunc($))},isSourceTargetEditable:function($,z,C){return!0},getRotationPoint:function($){var z=$.getAnchor(),C=$.getScale(),o=this._zoom,z=nx($.getRotation(),0,-$.getHeight()*C.y*z.y-(C.y<0?-1:1)*(Yt?32:16)/o),C=$.p();return z.x+=C.x,z.y+=C.y,z},getLogicalPoint:function($){return X_($,this._canvas,this.tx(),this.ty(),this._zoom,this._zoom)},getScreenPoint:function($,z){var C;return"object"==typeof $?z=$.x!==Kd?(C=$.x,$.y):(C=$[0],$[1]):C=$,d_(C,z,this._canvas,this.tx(),this.ty(),this._zoom,this._zoom)},getSelectedDataAt:function($){var z=this;return this.getDataAt($,function($){return z.isSelected($)})},getDataInfoAt:function($,z,C){var o=this.lp($),M=this.getDataAt(o,z,C);if(M){var A={data:M,ui:$=this.getDataUI(M),point:o},N=$._38o;if(N){var s,g=N.icons;for(s in g){var Y=g[s],v=N.rects[s];if(v)for(var O=E(Y.names,M,this),Y=O?O.length:0,t=v.rotation,c=Y-1;0<=c;c--){var y=O[c],_=v[c];if(t_(_,o,t))return A.part="icons",A.name=s,A.icon=y,A.rect=_,A.index=c,A.rotation=t,A}}}if(this.isNoteVisible(M)){if($.note2Info&&t_($.note2Info.clickRect,o,fd,$.note2Info.scale))return A.part="note2",A;if($.noteInfo&&t_($.noteInfo.clickRect,o,fd,$.noteInfo.scale))return A.part="note",A}if(this.isLabelVisible(M)){if($.label2Info&&t_($.label2Info.rect,o,$.label2Info.rotation,$.label2Info.scale))return A.part="label2",A;if($.labelInfo&&t_($.labelInfo.rect,o,$.labelInfo.rotation,$.labelInfo.scale))return A.part="label",A}if(M.isInRect&&M.isInRect(o))return A.part="body",A}return A},getDataAt:function(z,C,o){z.target&&(z=this.lp(z));var M,A=this._zoom;return this.reverseEach(function($){if((C?C($):this.isSelectable($))&&this.rectIntersects($,fv(z.x,z.y,o,A)))return M=$,!1},this),M},getIconInfoAt:function($,z){if($.target&&($=this.lp($)),z=z||this.getDataAt($)){var C=this.getDataUI(z);if(C&&C._38o){var o=C._38o,M=new L;for(N in o.icons)M.add(N);for(var A=M.size()-1;0<=A;A--){var N=M.get(A),s=o.rects[N];if(s)for(var g=s.rotation,Y=s.length-1;0<=Y;Y--){var v=s[Y],O=v.width,t=v.height,c={x:$.x-v.x-O/2,y:$.y-v.y-t/2};if(g!=fd&&(c=nx(-g,c.x,c.y)),t_(v={x:-O/2,y:-t/2,width:O,height:t},c))return{key:N,index:Y,name:o.icons[N].names[Y],rect:s[Y],point:$,rotation:g,relativeRect:v,relativePoint:c,data:z}}}}}return fd},getDatasInRect:function(z,C,o){o===Kd&&(o=1);var M=this,A=new L;return M.reverseEach(function($){o&&!M.isSelectable($)||(C?M.rectIntersects($,z):M.rectContains($,z))&&A.add($)}),A},moveSelection:function($,z){this.dm().beginTransaction(),Gx(this.sm().toSelection(this.isMovable,this),$,z),this.dm().endTransaction()},moveDatas:function($,z,C){this.dm().beginTransaction(),$ instanceof L||($=new L($)),Gx($,z,C),this.dm().endTransaction()},getDataUIBounds:function($){return($=this.getDataUI($))?$._79o():fd},drawData:function(z,$,C){var o,M=this.getDataUI($);M&&(o=M._79o(),C&&!y_(C,o)||(M._42(z),$ instanceof U.Block&&$.eachChild(function($){this.isVisible($)&&this.drawData(z,$,C)},this)))},getBoundsForGroup:function($){return $.s(St)?this.getDataUIBounds($):fd},isPixelPerfect:function($){return $.s("pixelPerfect")},rectIntersects:function($,z){this.validate();var C=fd;if(this._56I[$._id]&&(M=this._25I[$._id])){var o=M.getInteractiveRect();if(c_(z,o))C=!0;else if((z=__(z,o))&&(C=M.rectIntersects?M.rectIntersects(z):C)==fd){if(!this.isPixelPerfect($))return!0;var o=z.x,M=z.y,A=z.width,N=z.height,s=this._zoom,g=A*N*s*s,Y=((Y=Qd.hitMaxArea)<g&&(s*=Math.sqrt(Y/g)),o*=s,M*=s,sx(A=(A*=s)<2?2:A,N=(N*=s)<2?2:N));QX(Y,-o,-M),Y.scale(s,s),this._drawForChecking=!0,this.drawData(Y,$,z),this._drawForChecking=!1;try{for(var v=0,O=Y.getImageData(0,0,A,N).data;v<O.length;v+=4)if(0!==O[v+3]){C=!0;break}Y.restore()}catch($){Mx=fd,C=!1}}}return!!C},rectContains:function($,z){return!(!this._56I[$._id]||!($=this._25I[$._id]))&&c_(z,$._79o())},reset:function(){this.setZoom(1),this.setTranslate(0,0)},handleKeyDown:function($){var z,C,o,M,A;Qd.isInput($.target)||$.__ht__handled__||(C=(A=(z=this)._focusData)&&z._25I[A._id],M=0,o=z._dataModel._datas,A&&A._enabled&&A._editable&&C&&C.onKeyDown&&!0===C.onKeyDown($)||(9===$.keyCode&&(A&&(M=o.indexOf(A),A_($)?-1==--M&&(M=0):++M===o.size()&&(M=0)),z._focusData=A=o.get(M),z.sm().setSelection(A)),HX($)?z.selectAll():BX($)&&z.isResettable()&&z.reset(),z.sm().isEmpty()?z._editing||(C=z.tx(),o=z.ty(),M=!1,A=A_()?100:10,wX($)&&(C-=A,M=!0),qX($)&&(o-=A,M=!0),TX($)&&(C+=A,M=!0),rX($)&&(o+=A,M=!0),M&&z.setTranslate(C,o)):(iX($)&&z.handleDelete($),A=A_()?10:1,wX($)&&(z.moveSelection(-A,0),z.fi({kind:"moveLeft"})),qX($)&&(z.moveSelection(0,-A),z.fi({kind:"moveUp"})),TX($)&&(z.moveSelection(A,0),z.fi({kind:"moveRight"})),rX($)&&(z.moveSelection(0,A),z.fi({kind:"moveDown"})))))},handleScroll:function($,z){if(m3($),this.isZoomable()){if(!this.getEditInteractor()){var C=this.getDataAt($);if(C){var o=j(this.getImage(C));if(o&&E(o.scrollable,C,this))return}}var M,A=this.getFullscreenDatas();for(M in A)if(A[M].s("fullscreen.lock"))return;o=this.lp($),0<z?this.scrollZoomIn(o):z<0&&this.scrollZoomOut(o)}},handlePinch:function($,z,C){!this.isZoomable()||Math.abs(z-C)<Qd.pinchZoomThreshold||(C<z?this.pinchZoomIn($):this.pinchZoomOut($))},checkDoubleClickOnNote:function($,z){var C=this.lp($),o=this.getDataUI(z),M=o.note2Info;return M&&z.s("note2.toggleable")&&t_(M.clickRect,C)?(z.s(Mf,!z.s(Mf)),this.fi({kind:"toggleNote2",event:$,data:z}),!0):!!((M=o.noteInfo)&&z.s("note.toggleable")&&t_(M.clickRect,C))&&(z.s(of,!z.s(of)),this.fi({kind:"toggleNote",event:$,data:z}),!0)},_84o:function($,z){},isNoteVisible:function($){return.15<this._zoom},isLabelVisible:function($){return.15<this._zoom},isEditVisible:function($){return.15<this._zoom},autoScroll:function($,z){var C=this,o=C.getAutoScrollZone(),M=o/C.getZoom(),A=o/4,N=C._29I,$=C.lp($),s={x:C.tx(),y:C.ty()};return $&&0<o&&N&&($.x-N.x<M?C.translate(A,0):N.x+N.width-$.x<M&&C.translate(-A,0),$.y-N.y<M?C.translate(0,A):N.y+N.height-$.y<M&&C.translate(0,-A)),s.x=C.tx()-s.x,s.y=C.ty()-s.y,z&&(z.x+=s.x,z.y+=s.y),s},getMoveMode:function($,z){return(z=z.s("2d.move.mode"))||(jh[88]?"x":jh[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($,z,C){return"currentSubGraph"===z?{__i:$.getId()}:C.serializeProperty($,z,this)},deserializeProperty:function($,z,C){return"currentSubGraph"===z?this.dm().__idMap[$.__i]:C.deserializeProperty($,z,this)},setDefaultCursor:function($,z){this._defaultCursor=$,!1!==z&&this.setCursor($)},getCurrentConnectActionType:function(){return this._currentActionType},setCurrentConnectActionType:function($){return!($!==fd&&!Qd.getConnectAction(null,$)||(this._currentActionType=$,this.redraw(),0))},getEditStyle:function($){var z=this.getEditInteractor();return z?z.getStyle($):Kd},setEditStyle:function($,z,C){var o=this.getEditInteractor();return!!o&&(o.setStyle($,z,C),!0)},isConnectActionVisible:function($){var z=Qd.getConnectAction(this);return!!z&&(z=z.visible,av(z)?z(this,$):z)},isInteractive:function($){if(this._drawForChecking)return!1;var z=j(this.getImage($));return!(!z||!E(z.interactive,$,this))||$.s("interactive")},getRenderingStyleIconName:function(){return DV},appendHTML:function($,z){var C=this.getView();if(!(z||$&&$.parentNode!==C))return!1;var o=$.getView&&$.getView(),M=$.beforeCanvas;return!(!z&&o&&o.parentNode===C)&&(($.getView||$.isSelfViewEvent)&&($=$.getView()),z=this.getEditInteractor(),M?C.insertBefore($,this.getCanvas()):z&&z._canvas?C.insertBefore($,z._canvas):this.isScrollBarVisible()?C.insertBefore($,this.getView().lastChild):OX(C,$),!0)},_layoutHTMLImpl:function($,z,C){var o,M,A,N,s,g,Y,v,O;1<arguments.length?(M=this._zoom,(z=z.getView?(o=z).getView():z).style.position="absolute",C?(g=$.getRect(),pX(o||z,this.tx()+g.x*M,this.ty()+g.y*M,g.width*M,g.height*M)):(C=new RA,A=$.s("html.layout.anchor.sync"),Y=$.getPosition(),v=$.getScale(),O=z.style,g=A?$.getAnchorRect():{x:.5*-(N=$.getWidth()),y:.5*-(s=$.getHeight()),width:N,height:s},pX(o||z,g),C.appendTranslate(this.tx(),this.ty()),C.appendScale(M,M),C.append(new RA($.getRotation(),Y.x,Y.y,v.x,v.y)),A||C.appendTranslate(N*(.5-$.getAnchorX()),s*(.5-$.getAnchorY())),lX(O,"transform","matrix("+C.a.toFixed(5)+", "+C.b.toFixed(5)+", "+C.c.toFixed(5)+",\n "+C.d.toFixed(5)+", "+C.tx.toFixed(5)+", "+C.ty.toFixed(5)+")"),lX(O,"transformOrigin",(-g.x).toFixed(5)+"px "+(-g.y).toFixed(5)+"px"),z.updateAppendMatrix=!0)):this._layoutHTML&&this._layoutHTML()},getTextEditInfo:function($){if($ instanceof XV)return{name:"text",accessType:"s",font:$.s("text.font"),isMultiline:!0}},getShape:function($){return $.getStyle(bt)}}),Jd.defineProperties(Pm.GraphView.prototype,{layoutHTML:{get:function(){return this._layoutHTMLImplBind||(this._layoutHTMLImplBind=this._layoutHTMLImpl.bind(this)),this._layoutHTMLImplBind},set:function($){this._layoutHTML=$}}}),function($,z){this.gv=$,this.s=function($){return z.getStyle($)},this._data=z,this._87I=new L}),DV=fd,aV=(V_(eV,Jd,{_6I:fd,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(){return!this.gv.isSelected(this._data)||this.isShadowed()?0:this.gv.getSelectWidth(this._data)},getSelectColor:function(){return this.gv.getSelectColor(this._data)},getBodyColor:function($){var z=this._data;return(z=this.gv.getBodyColor(z))?$?this.getColor(z,0):z:$?this.getStyleColor($,0):fd},_2Q:function($){return this.s($)},_1Q:function($,z,C,o,M,A){var N=this.s,s=($.lineWidth=C,this.getStyleColor(z+".dash.color",1)),g=N(z+".dash.gradient.pack");g?tx($,g,this.getGradientStopColor.bind(this),!0,M,A,{style:z+".dash.gradient.pack"}):$.strokeStyle=s,$.stroke(),g&&$.restore(),N(z+".dash.3d")&&(M=this.getStyleColor(z+".dash.3d.color",1),Px($,s,M,C,this.gv._zoom,N(z+".dash.3d.accuracy"))),$K($,o)},invalidate:function(){this._6I=fd},_79o:function(){var $,z,C=this;return C._6I||($=C._data,z=C.gv,C.labelInfo=C.label2Info=C.noteInfo=C.note2Info=C._38o=fd,C._87I.empty(),C.interactiveInfo=z.isInteractive($)?{}:fd,C._interactiveRect=fd,C._3O(),C._55O=z.isEditable($)?{_42O:z.isRectEditable($),_43O:z.isPointEditable($),_56O:z.isRotationEditable($)}:fd,C._6I=C._81o()),C._6I},prepareBlendInfo:function(){var $=this._data;this._gray=$.s("2d.gray"),this._bodyColor=this.getBodyColor()},getColor:function($,z,C){if(Qd.convertColor&&(o={data:this._data,view:this.gv},C&&Jd.assign(o,C),$=Qd.convertColor($,o)),$){var o=(C=3===(z=z==fd?3:z))||2===z;if(this._gray&&(C||1===z))return Qd.toGrayColor($);if(this._bodyColor&&o)return gx($,this._bodyColor)}return $},getStyleColor:function($,z){var C,o=this.s;return Qd.convertColor&&(C={style:$}),this.getColor(o($),z,C)},getGradientStopColor:function($,z){return this.getColor($,fd,z)},_3O:function(){},getPosition:function($,z,C,o){return Yv},_68o:function($,z){var C,o;$&&this._87I.add(z?(z=new IA(z),C=$.width/2,o=$.height/2,(z=v_([z.tf(-C,-o),z.tf(C,-o),z.tf(C,o),z.tf(-C,o)])).x+=$.x+C,z.y+=$.y+o,z):$)},getInteractiveRect:function(){var $=this._6I||this._79o();return this._interactiveRect||$},_81o:function(){var z,$,C,o=this,M=o.s;return o._24O(wt,"getLabel"),o._24O(qt,"getLabel2"),o._26O(Tt,"getNote"),o._26O(rt,"getNote2"),o._15O(),o._55O&&o._48O(),o._87I.each(function($){z=O_(z,$)}),z&&($=o.isShadowed(),C=M("shadow2"),($||C)&&(C=U3(z),$?(C.x+=M("shadow.offset.x"),C.y+=M("shadow.offset.y"),Z_(C,M("shadow.blur"))):(C.x+=M("shadow2.offset.x"),C.y+=M("shadow2.offset.y"),Z_(C,M("shadow2.blur"))),C=O_(z,C),M("shadow.interactable")||(o._interactiveRect=z),z=C)),o._87I.empty(),z},_42:function($){var z,C,o,M,A,N,s=this,g=s._data,Y=s.gv,v=s.s,O=v("opacity"),t=this.isShadowed(),c=v("shadow2"),y=v("shadow2.inset");(t||c&&!y)&&(z=$.shadowOffsetX,C=$.shadowOffsetY,o=$.shadowBlur,M=$.shadowColor,y=Y.getZoom()*Qd.devicePixelRatio,$.shadowOffsetX=v((A=t?"shadow":"shadow2")+".offset.x")*y,$.shadowOffsetY=v(A+".offset.y")*y,$.shadowBlur=v(A+".blur")*y,$.shadowColor=t?s.getSelectColor():v(A+".color")),O!=fd&&(N=$.globalAlpha,$.globalAlpha=O),s.drawBody($),Y.isLabelVisible(g)&&(Y._drawForChecking&&!v("label.selectable")||Ym($,s.labelInfo),Y._drawForChecking&&!v("label2.selectable")||Ym($,s.label2Info)),Y.isNoteVisible(g)&&(vm($,s.noteInfo),vm($,s.note2Info)),s._99O($),O!=fd&&($.globalAlpha=N),(t||c)&&($.shadowOffsetX=z,$.shadowOffsetY=C,$.shadowBlur=o,$.shadowColor=M)},drawBody:function($){},_47O:function($){},_24O:function($,z){var C,o,M,A=this._data,N=this.gv,s=this.s,g=N[z](A);g!=fd&&(C=s($+".scale"),M=s($+".max"),o=s($+".position"),N=this[$+"Info"]={label:g,scale:C,color:this.getColor(N[z+"Color"](A),0),font:s($+".font"),opacity:s($+".opacity"),align:s($+".align"),decoration:s($+".decoration"),rotation:this.getRotation(s($+".rotation"),!1,o),background:this.getColor(N[z+"Background"](A),0)},z=tX(N,g),0<M&&M<z.width&&(N.labelWidth=z.width,z.width=M),1!==C&&(z.width*=C,z.height*=C),A=this.getPosition(o,s($+".offset.x"),s($+".offset.y"),z,s($+".position.fixed")),z.x=A.x-z.width/2,z.y=A.y-z.height/2,this._68o(N.rect=z,N.rotation),1!==C&&(g=z.width/C,M=z.height/C,N.rect={x:A.x-g/2,y:A.y-M/2,width:g,height:M}))},_26O:function($,z){var C,o,M,A,N,s=this.gv,g=this._data,Y=this.s,v=s[z](g);v!=fd&&(C=Y($+".scale"),s=this[$+"Info"]={note:v,scale:C,data:g,view:s,expanded:Y($+".expanded"),font:Y($+".font"),color:this.getStyleColor($+".color",0),opacity:Y($+".opacity"),align:Y($+".align"),icon:Y($+".icon"),backgroundImage:Y($+".backgroundImage"),borderWidth:Y($+".border.width"),borderColor:this.getStyleColor($+".border.color",0),background:this.getColor(s[z+"Background"](g),0)},o=(z=this.getPosition(Y($+".position"),Y($+".offset.x"),Y($+".offset.y"))).x,z=z.y,s.expanded?(M=Y($+".max"),(N=(N=Y($+".backgroundImage"))?(N=j(N),{width:vK(N,g),height:OK(N,g)}):tX(s,v)).width+=6,N.height+=2,0<M&&M<N.width&&(s.labelWidth=N.width,N.width=M),M=N.width,A=N.height+8,s.clickRect={x:o-M*C/2,y:z-A*C,width:M*C,height:A*C*N.height/A}):(A=(v=Y($+".icon"))?(v=j(v),M=vK(v,g),OK(v,g)):(M=12,18),s.clickRect={x:o-M*C/2,y:z-A*C,width:M*C,height:A*C}),s.rect={x:o-M/2,y:z-A*C/2-A/2,width:M,height:A},N=Sd(s.borderWidth/2)*C,this._68o({x:o-M*C/2-N,y:z-A*C-N,width:M*C+2*N,height:A*C+2*N}))},_48O:function(){},_99O:function($){var z=this._38o;if(z){var C,o=this.gv,M=this._data,A=z.icons,N=this.interactiveInfo;for(C in N&&(N._38o={}),A){var s=A[C],g=z.rects[C];if(g){N&&(N._38o[C]=[]);var Y,v=E(s.opacity,M,o),O=E(s.names,M,o),t=O?O.length:0,c=g.rotation;v!=fd&&(Y=$.globalAlpha,$.globalAlpha*=v);for(var y=0;y<t;y++){var _,P,Z=O[y],Z=j(Z),X=g[y],d=(c&&(_=X.x+X.width/2,P=X.y+X.height/2,$.save(),QX($,_,P),WX($,c),QX($,-_,-P)),N&&N._38o[C].push($.interactiveInfo={compInfos:[],matrix:c?new RA(c,_,P).appendTranslate(-_,-P):new RA}),DV);DV=C,E3($,Z,E(s.stretch,M,o),X.x,X.y,X.width,X.height,this._data,this.gv),DV=d,$.interactiveInfo=fd,c&&$.restore()}v!=fd&&($.globalAlpha=Y)}}}}}),function($,z){Ev(aV,this,[$,z])}),kV=(V_(aV,eV,{_checkEmptyRect:!0,_40O:function($,z){var C,o=this.s,M=$.rect,A=(($.borderColor=this.gv.getBorderColor(this._data))&&($.borderType=o("border.type"),$.borderWidth=o("border.width"),$.borderPadding=o("border.padding"),z=Cd(z,$.borderPadding+$.borderWidth/2)),this._data.getScale()),A=Cd(1,Cd(I(A.x),I(A.y)));($.selectWidth=this.getSelectWidth())&&(C=this.gv._zoom,$.selectType=o("select.type"),$._97o=this.getSelectColor(),$.selectPadding=o("select.padding"),z=Cd(z,($.selectPadding+$.selectWidth/2/C)/A)),0<z&&(z*=A,M=U3(M),Z_(M,z)),this._68o(M)},_39O:function($,z){var C,o,M,A,N,s=z.rect;0<z.borderWidth&&(N=z.borderPadding,$.strokeStyle=z.borderColor,$.lineWidth=z.borderWidth,dx($,z.borderType,{x:s.x-N,y:s.y-N,width:s.width+2*N,height:s.height+2*N}),$.stroke()),0<z.selectWidth&&(o=this.gv._zoom,N=z.selectPadding,$.strokeStyle=z._97o,$.lineWidth=z.selectWidth/o,z.rotation!=fd&&($.save(),$.translate(z.position.x,z.position.y),$.rotate(z.rotation),C=(o=this._data).getWidth(),o=o.getHeight(),M=z.scale,A=z.anchor,s={x:M.x*(-C*A.x),y:M.y*(-o*A.y),width:M.x*C,height:M.y*o}),dx($,z.selectType,{x:s.x-N,y:s.y-N,width:s.width+2*N,height:s.height+2*N}),z.rotation!=fd&&$.restore(),$.stroke())},dispose:function(){var $=this._htmlView;aV.superClass.dispose.call(this),$&&($.onHTMLRemoved&&$.onHTMLRemoved(),J_($))},_3O:function(){var $,z,C=this,o=(C.prepareBlendInfo(),C.s),M=C._data,A=C.gv,N=A.getShape(M),s=C.getBodyColor();N?($=C.getStyleColor("shape.border.color",1),($={shape:N,_53o:C.getBodyColor("shape.background"),_27Q:j(o("shape.repeat.image"),s),shapeRepeatImageStretch:o("shape.repeat.image.stretch"),shapeRepeatImageRotation:o("shape.repeat.image.rotation"),shapeGradientPack:o("shape.gradient.pack"),shapeBorderGradientPack:o("shape.border.gradient.pack"),_54o:o("shape.border.width"),_55o:$,shapeBorderRepeatImage:j(o("shape.border.repeat.image"),$),shapeBorderRepeatImageStretch:o("shape.border.repeat.image.stretch"),shapeBorderRepeatImageRotation:o("shape.border.repeat.image.rotation"),_56o:o("shape.border.3d"),_57o:C.getStyleColor("shape.border.3d.color",1),_58o:o("shape.border.3d.accuracy"),shapeGradient:o("shape.gradient"),_60o:o("shape.border.pattern"),_61o:o("shape.border.cap"),_62o:o("shape.border.join"),shapeForeground:C.getStyleColor("shape.foreground",1),bodyColor:s,gray:o("2d.gray")}).shapeGradient&&($._59o=C.getStyleColor("shape.gradient.color",1))):$={img:j(A.getImage(M),s),bodyColor:s,gray:o("2d.gray"),stretch:o("image.stretch"),imageState:M.getImageState()};(s=(C._83o=$).img)&&s.renderHTML?(C._htmlInfo&&C._htmlInfo.img!==s&&(C._htmlInfo=fd),C._htmlInfo||(C._htmlInfo={img:s,cache:{}}),g=s.renderHTML(M,A,C._htmlInfo.cache)):C._htmlInfo=fd,C._htmlView&&C._htmlView!==g&&(C._htmlView.onHTMLRemoved&&C._htmlView.onHTMLRemoved(),J_(C._htmlView.getView?C._htmlView.getView():C._htmlView)),(C._htmlView=g)&&A.appendHTML(g)&&(g.onHTMLAddedSync&&g.onHTMLAddedSync(),g.onHTMLAdded&&i3(g.onHTMLAdded)),$.rect=M.getRect(),$.position=M.p(),$.scale=M.getScale(),$.anchor=M.getAnchor(),$.rotation=M.getRotation(),N===kt&&($._63o=o("shape.depth"));var g=0;N?(g=vx(fd,$._54o/2,$._62o),C.s("shape.dash")&&(g=Cd(g,(C.s("shape.dash.width")||$._54o)/2))):s&&s.boundExtend&&(g=E(s.boundExtend,M,A),s.boundExtendAbsolute?(z=M.getScale(),g/=A._zoom*Cd(1,Cd(I(z.x),I(z.y)))):E(s.fitSize,M,A)||(z=E(s.width,M,A),s=E(s.height,M,A),g*=Cd(M.getWidth()/z,M.getHeight()/s))),C._40O($,g),(A=o("clip.percentage"))!=Kd&&($.clipRect=rv(M.getAnchorRect(),o("clip.direction"),A)),N&&((z=o("shape.fill.clip.percentage"))!=Kd&&($.shapeClipRect=rv(M.getAnchorRect(),o("shape.fill.clip.direction"),z)),(s=o("shape.foreground.clip.percentage"))!=Kd&&($.shapeForegroundClipRect=rv(M.getAnchorRect(),o("shape.foreground.clip.direction"),s))),o("clip.host")&&M.getHost()&&($.clipHost=!0)},getPosition:function($,z,C,o){return($=Fx($,this._83o.rect,o)).x+=z,$.y+=C,$},clipHost:function(C,$,z){var o,M,A,N,s,g,Y,v,O,t,c,y;return z=z||0,($=$.getHost())?($.getHost()&&$.s("clip.host")&&(C.save(),C.beginPath(),z=this.clipHost(C,$,z),C.clip()),$ instanceof dV?(A=$.getPoints().toArray(),v=(v=$.getSegments())?v.toArray():[],o=$.getMatrix(),M=$.p(),A=A.map(function($){return($=U3($)).x-=M.x,$.y-=M.y,o.apply($)}),yx(C,A,v)):(A=this.gv.getShape($))?("roundRect"===A?N=$.s("shape.corner.radius"):"polygon"===A?(N=$.s("shape.polygon.side"),s=$.s("shape.corner.radius"),g=$.s("shape.regular")):"nStar"===A?(N=$.s("shape.star.side"),s=$.s("shape.corner.radius"),g=$.s("shape.star.ratio"),Y=$.s("shape.regular")):"arc"===A&&(N=$.s("shape.arc.from"),s=$.s("shape.arc.to"),g=$.s("shape.arc.close"),Y=$.s("shape.arc.oval")),v=$.p(),O=$.getRotation(),c=$.getAnchor(),y=$.getScale(),(t=$.getSize()).x=-t.width*c.x,t.y=-t.height*c.y,C.save(),QX(C,v.x,v.y),WX(C,O),VX(C,y.x,y.y),ux[A](C,t.x,t.y,t.width,t.height,N,s,g,Y),C.restore()):(c=$.s("host.clip.padding")||0,y=$.getScale(),$.getCorners(-c/Math.abs(y.x),-c/Math.abs(y.y)).forEach(function($,z){z?C.lineTo($.x,$.y):C.moveTo($.x,$.y)})),++z):z},drawBody:function($){var z,C=this,o=C.s,M=C.gv,A=C._data,N=C._83o,s=N.rect,g=N.position,Y=N.rotation,v=N.anchor,O=N.scale,t=N.shape,c=N.clipHost,y=N.clipRect;if(!C._checkEmptyRect||0<s.width&&0<s.height){(s=o("composite"))&&($.save(),$.globalCompositeOperation=s),c&&($.save(),$.beginPath(),(z=C.clipHost($,A))&&$.clip());var _,P,Z,X,d,l,J,K,f,Q,W,V,e,D,a,k,x,p,b=A.getSize();if(b.x=-b.width*v.x,b.y=-b.height*v.y,$.save(),QX($,g.x,g.y),WX($,Y),VX($,O.x,O.y),y&&($.beginPath(),$.rect(y.x,y.y,y.width,y.height),$.clip()),M._drawForChecking&&N.img&&!1===E(N.img.pixelPerfect,A,M)?Xx($,b.x,b.y,b.width,b.height,"#888888"):C.freeDraw?C.freeDraw($,b,N):t?(y=N._27Q,_=N._54o,p=N.shapeGradientPack,P=N.gray,Z=$.lineJoin,X=$.lineCap,f=o("shape.border.width.absolute"),x=N._60o,Q=M._zoom,f&&x&&(x=x.map(function($){return $*Q})),k=B_($,x),a=function($){return P?Qd.toGrayColor($):$},"roundRect"===t?d=o("shape.corner.radius"):"polygon"===t?(d=o("shape.polygon.side"),l=o("shape.corner.radius"),J=o("shape.regular")):"nStar"===t?(d=o("shape.star.side"),l=o("shape.corner.radius"),J=o("shape.star.ratio"),K=o("shape.regular")):"arc"===t&&(d=o("shape.arc.from"),l=o("shape.arc.to"),J=o("shape.arc.close"),K=o("shape.arc.oval")),$.lineJoin=N._62o,$.lineCap=N._61o,(W=a(N._53o))||y||p?((e=N.shapeClipRect)&&($.save(),$.beginPath(),$.rect(e.x,e.y,e.width,e.height),$.clip()),dx($,t,b,d,l,J,K),p?tx($,p,C.getGradientStopColor.bind(C),!1,b,fd,{style:"shape.gradient.pack"}):y?Jx($,y,a(N.bodyColor),null,A,M,N.shapeRepeatImageStretch,b,N.shapeRepeatImageRotation,v):lx($,W,N.shapeGradient,N._59o,b),$.fill(),p&&$.restore(),e&&$.restore(),$!==k&&dx(k,t,b,d,l,J,K)):dx(k,t,b,d,l,J,K),(y=N.shapeForeground)&&($.save(),a=N.shapeForegroundClipRect,(p=o("shape.foreground.gradient"))&&(D=C.getStyleColor("shape.foreground.gradient.color",1)),a&&($.beginPath(),$.rect(a.x,a.y,a.width,a.height),$.clip()),dx($,t,b,d,l,J,K),lx($,y,p,D,b),$.fill(),$.restore()),C.isShadowed()||(a=o(e="shadow2"),y=o(e+".inset"),a&&y&&(p=M.getZoom()*Qd.devicePixelRatio,$.save(),$.shadowOffsetX=o(e+".offset.x")*p,$.shadowOffsetY=o(e+".offset.y")*p,$.shadowBlur=o(e+".blur")*p,$.shadowColor=o(e+".color"),D=b.x-50,a=b.y-50,y=b.width+100,p=b.height+100,dx($,t,b,d,l,J,K),$.clip(),dx($,t,b,d,l,J,K),["circle","star","hexagon","pentagon","diamond"].indexOf(t)<0?($.moveTo(D,a),$.lineTo(D,a+p),$.lineTo(D+y,a+p),$.lineTo(D+y,a)):$.rect(D,a,y,p),$.fillStyle=$.shadowColor,$.fill(),$.restore(),dx($,t,b,d,l,J,K))),f&&(V=C._ctxMat||(C._ctxMat=new U.Math.Matrix2d),eX($,V)),0<_&&($.lineWidth=_,e=N._55o,(D=N.shapeBorderGradientPack)?tx($,D,C.getGradientStopColor.bind(C),!0,b,V,{style:"shape.border.gradient.pack"}):N.shapeBorderRepeatImage?Kx($,N.shapeBorderRepeatImage,e,null,A,M,N.shapeBorderRepeatImageStretch,b,N.shapeBorderRepeatImageRotation,v):$.strokeStyle=e,$.stroke(),D&&$.restore(),N._56o&&Px($,e,N._57o,_,M._zoom,N._58o)),$K($,x),o("shape.dash")&&0<(a=o("shape.dash.width")||_)&&(x=o("shape.dash.pattern"),f&&(x=x.map(function($){return $*Q})),(k=B_($,x,C._2Q("shape.dash.offset")))!==$&&dx(k,t,b,d,l,J,K),C._1Q($,"shape",a,x,b,V)),Dx($,W,N._63o,b),f&&$.restore(),$.lineJoin=Z,$.lineCap=X):((y=C.interactiveInfo)&&($.interactiveInfo=y.bodyInfo={compInfos:[],matrix:new RA(Y,g.x,g.y,O.x,O.y)}),N.gray&&($.compGray=!0),p=N.img,v=N.imageState,!p||p.cacheRule==fd||v&&"string"!=typeof v||(p=Xm($,p,N.stretch,b.width*I(O.x),b.height*I(O.y),A,M,N.bodyColor,v)),v&&v.animation&&A.iv(),E3($,p,N.stretch,b.x,b.y,b.width,b.height,A,M,N.bodyColor,Kd,Kd,v),$.compGray=!1,$.interactiveInfo=fd),$.restore(),c)for(;z--;)$.restore();s&&$.restore()}C._39O($,N)},_48O:function(){},_47O:function($){}}),function($,z){Ev(kV,this,[$,z])}),xV=function($,z,C,o){var M=Y_($,z);return C=(o?od:Om)(C,M),M?C/=M:C=0,{x:$.x+(z.x-$.x)*C,y:$.y+(z.y-$.y)*C}},pV=(V_(kV,eV,{_3O:function(){var $=this;$.prepareBlendInfo();var z,C,o,M,A,N,s,g,Y,v=$._data,O=$.gv,t=$.s,c=t(sf),y=v.isLooped(),_=t("edge.width"),P=$.getBodyColor("edge.color"),Z=t("edge.center"),X=t("edge.offset"),d=$.getColor(O.getBorderColor(v),1),l=d?t("border.width"):0,J=$.getSelectWidth(),K=v._40I,f=v._41I;(P=$._78o=K&&f?{looped:y,type:c,width:_,center:Z,color:P,repeatImage:j(t("edge.repeat.image"),P),borderColor:d,borderWidth:l,_97o:J?$.getSelectColor():fd,selectWidth:J,pattern:t("edge.pattern"),cap:t("edge.cap"),join:t("edge.join"),is3d:t("edge.3d"),_67o:$.getStyleColor("edge.3d.color",1),_66o:t("edge.3d.accuracy"),gray:t("2d.gray")}:fd)&&((d=Qd.getEdgeType(c))?(d=d(v,ym($,O,v,y,c),O,$._19Q)).points&&1<d.points.size()?(P.edgeTypeInfo=d,z=v_(P.edgeTypeInfo.points)):d[cf]&&d.rect&&(z=(P.edgeTypeInfo=d).rect):(d=t("edge.source.anchor.x"),N=t("edge.source.anchor.y"),M=t("edge.target.anchor.x"),A=t("edge.target.anchor.y"),C=Am(O,v,"source"),o=Am(O,v,"target"),c===Ft?(g=(s=P.points=t(Nf)||nK).size(),P.segments=t("edge.segments"),d=d!==Kd||N!==Kd||xv(K),N=M!==Kd||A!==Kd||xv(f),Z||(X?(d||(C=xV(C,g?s.get(0):o,X,g)),N||(o=xV(o,g?s.get(g-1):C,X,g))):(d||(Y=Lv(C,g?s.get(0):o,GK(O,K)))&&(C={x:Y[0],y:Y[1]}),N||(Y=Lv(g?s.get(g-1):C,o,GK(O,f)))&&(o={x:Y[0],y:Y[1]}))),z=O_(v_(P.points),v_(C,o))):(M=ym($,O,v,y,c),$._19Q||(M=-M),y?((C=U3(C)).x=O.getNodeRect(K).x,P.radius=M,z={x:C.x-M,y:C.y-M,width:2*M,height:2*M}):(A=Y_(C,o),N={x:d=Om(X,A),y:M},s={x:A-d,y:M},g=Ud(o.y-C.y,o.x-C.x),f=P.mat=new IA(g),P.orienAngle=g,P.angle=o.x<C.x?g+x:g,P.rect={x:N.x,y:N.y,width:s.x-N.x,height:0},P.origin=C,(N=f.tf(N)).x+=C.x,N.y+=C.y,(s=f.tf(s)).x+=C.x,s.y+=C.y,Z?((Y=f.tf(Y={x:A,y:0})).x+=C.x,Y.y+=C.y,z=v_([C,N,s,Y]),P.c1=C,P.c2=Y):z=v_(N,s),C=N,o=s)),P.sourcePoint=C,P.targetPoint=o,v._lastSourcePoint=C,v._lastTargetPoint=o),c=0,t("edge.dash")&&(c=t("edge.dash.width")||_),y="square"===P.cap?.71:.5,vx(z,Cd(c*y,_*y+l+J),P.join),$._68o(z))},getRotation:function($,z,C){$=$||0;var o=this._78o;if(o){var M,A=o.angle,N=o.points,s=o.edgeTypeInfo;if(A!=fd)return z?o.orienAngle+$:A+$;if(s&&s[cf])return s.getRotation?s.getRotation(this,$,z,C):0;if(s&&s.points)return M=(A=s.points).size(),iK[C]?M&&M%2==0?tm(A.get(M/2-1),A.get(M/2),z,$):$:HK[C]?tm(A.get(0),A.get(1),z,$):tm(A.get(M-2),A.get(M-1),z,$);if(N)return M=N.size(),iK[C]?M&&M%2==0?tm(N.get(M/2-1),N.get(M/2),z,$):0===M?tm(o.sourcePoint,o.targetPoint,z,$):$:HK[C]?tm(o.sourcePoint,M?N.get(0):o.targetPoint,z,$):tm(M?N.get(M-1):o.sourcePoint,o.targetPoint,z,$)}return $},getPosition:function($,z,C,o,M){var A=this._78o;if(A){var N=A.type,s=A.points,g=A.edgeTypeInfo,Y=A.sourcePoint,v=A.targetPoint;if(!N)return A.looped?{x:Y.x-A.radius+z,y:Y.y+C}:(M&&Y&&v&&(Y.x>v.x||Y.x===v.x&&Y.y>v.y)&&($=ix[$],C=-C),(O=Fx($,A.rect,o)).x+=z,O.y+=C,(O=A.mat.tf(O)).x+=A.origin.x,O.y+=A.origin.y,O);if(g&&g[cf])return g.getPosition?g.getPosition(this,$,z,C,o,M):{x:(Y.x+v.x)/2,y:(Y.y+v.y)/2};if(s){var O,t,c=s.size();if(iK[$]){if(c){if(0==(t=c%2))return cm(s.get(c/2-1),s.get(c/2),$,z,C,o,M);O=s.get((c-t)/2)}else O={x:(Y.x+v.x)/2,y:(Y.y+v.y)/2};return(O=Fx($,{x:O.x,y:O.y,width:0,height:0},o)).x+=z,O.y+=C,O}return HK[$]?cm(Y,c?s.get(0):v,$,z,C,o,M):cm(c?s.get(c-1):Y,v,$,z,C,o,M)}if(g)return c=(N=g.points).size(),iK[$]?0==(t=c%2)?cm(N.get(c/2-1),N.get(c/2),$,z,C,o,M):(O=N.get((c-t)/2),(O=Fx($,{x:O.x,y:O.y,width:0,height:0},o)).x+=z,O.y+=C,O):HK[$]?cm(N.get(0),N.get(1),$,z,C,o,M):cm(N.get(c-2),N.get(c-1),$,z,C,o,M)}return Yv},_42:function($){this._78o&&kV.superClass._42.call(this,$)},drawPath:function(z,$){z.beginPath();var C,o,M,A,N=$.type,s=$.points,g=$.segments,Y=$.edgeTypeInfo;!N||s?(C=(o=$.sourcePoint).x,o=o.y,M=(A=$.targetPoint).x,A=A.y,N?g?((N=new L({x:C,y:o})).addAll(s),N.add({x:M,y:A}),yx(z,N,g)):(z.moveTo(C,o),s.each(function($){z.lineTo($.x,$.y)}),z.lineTo(M,A)):$.looped?z.arc(C,o,$.radius,0,_d,!0):$.center?(z.moveTo($.c1.x,$.c1.y),z.lineTo(C,o),z.lineTo(M,A),z.lineTo($.c2.x,$.c2.y)):(z.moveTo(C,o),z.lineTo(M,A))):Y&&(Y.points?yx(z,Y.points,Y.segments):Y[cf]&&Y[cf](z,Y))},drawBody:function($){var z=this.s,C=this._78o,o=C.width,M=C.selectWidth,A=C.borderWidth,N=C.repeatImage,s=$.lineJoin,g=$.lineCap,Y=C.gray,v=C.pattern,O=($.lineJoin=C.join,$.lineCap=C.cap,this.drawPath(B_($,v),C),z("edge.width.absolute")),M=(O&&eX($),M&&($.strokeStyle=C._97o,$.lineWidth=o+2*(A+M),$.stroke()),A&&($.strokeStyle=C.borderColor,$.lineWidth=o+2*A,$.stroke()),Y?Qd.toGrayColor(C.color):C.color);N?Kx($,N,M,null,this._data,this.gv):$.strokeStyle=M,$.lineWidth=o,$.stroke(),C.is3d&&Px($,M,C._67o,o,this.gv._zoom,C._66o),z("edge.dash")&&(v=z("edge.dash.pattern"),(A=B_($,v,this._2Q("edge.dash.offset")))!==$&&this.drawPath(A,C),this._1Q($,"edge",z("edge.dash.width")||o,v)),O&&$.restore(),$K($,v),$.lineJoin=s,$.lineCap=g},_48O:function(){},_47O:function($){}}),function($,z){Ev(pV,this,[$,z])}),bV=(V_(pV,aV,{_3O:function(){var z,C,$,o,M,A,N,s,g,Y,v,O,t,c,y,_,P=this,Z=P.s,X=P._data,d=P.gv;P.prepareBlendInfo(),P._88I=fd,X.isExpanded()&&X.eachChild(function($){R($)&&($=d.getBoundsForGroup($))&&((C=C||[]).push($),z=O_(z,$))}),z?(A=d.getLabel(X),M=Z("group.type"),o=($=Z("group.border.width")||0)/2,Z("group.border.width.absolute")&&($/=d._zoom),g=C,Y=z,z="oval"===(s=M)?(v=0,t=Y.height/Y.width,O=t*t,y=Y.x+Y.width/2,_=Y.y+Y.height/2,yE(g).forEach(function($){var z=$.x-y,$=$.y-_;v<(z=z*z+$*$/O)&&(v=z)}),t*=v=Gd(v),{x:y-v,y:_-t,width:2*v,height:2*t}):"circle"===s?(c=0,y=Y.x+Y.width/2,_=Y.y+Y.height/2,yE(g).forEach(function($){var z=$.x-y,$=$.y-_;c<(z=z*z+$*$)&&(c=z)}),c=Gd(c),{x:y-c,y:_-c,width:2*c,height:2*c}):("roundRect"===s&&Z_(Y,od(Y.width,Y.height)/16),Y),zm(z,X,"group.padding",1),Z_(z,$),X=P._88I={type:M,rect:z,_64o:z,anchor:X.getAnchor()},M||A==fd||(M=P.labelInfo={label:A,color:P.getStyleColor("group.title.color",0),font:Z("group.title.font"),align:Z("group.title.align")},t=(A=tX(M,A)).width+$,A=A.height+$,g=Z("group.title.align"),(s=Z("group.title.orientation"))===Zt||s===Xt?(z.height+=$,t>z.width&&(z.width=t)):s!==_t&&s!==Pt||(z.width+=$,t>z.height&&(z.height=t)),g=g===_t?z.x:g===Pt?z.x+z.width-t:z.x+z.width/2-t/2,s===Xt?(X.titleRect={x:z.x,y:z.y+z.height,width:z.width,height:A},X.rect={x:z.x,y:z.y,width:z.width,height:z.height+A},M.rect={x:g,y:z.y+z.height,width:t,height:A}):s===_t?(N=X.titleRect={x:z.x-A,y:z.y,width:A,height:z.height},X.rect={x:z.x-A,y:z.y,width:z.width+A,height:z.height},M.rect={x:N.x+A/2-z.height/2,y:N.y+z.height/2-A/2,width:z.height,height:A},M.rotation=-Math.PI/2):s===Pt?(N=X.titleRect={x:z.x+z.width,y:z.y,width:A,height:z.height},X.rect={x:z.x,y:z.y,width:z.width+A,height:z.height},M.rect={x:N.x+A/2-z.height/2,y:N.y+z.height/2-A/2,width:z.height,height:A},M.rotation=Math.PI/2):(X.titleRect={x:z.x,y:z.y-A,width:z.width,height:A},X.rect={x:z.x,y:z.y-A,width:z.width,height:z.height+A},M.rect={x:g,y:z.y-A-o,width:t,height:A+$})),P._40O(X,Z("group.border.width")/2)):pV.superClass._3O.call(P)},getPosition:function($,z,C,o){var M=this._88I;return M?(($=Fx($,M.rect,o)).x+=z,$.y+=C,$):pV.superClass.getPosition.apply(this,arguments)},_24O:function($,z){var C=this._88I;C&&!C.type&&"label2"!==$||pV.superClass._24O.call(this,$,z)},drawBody:function($){var z=this,C=z._88I;if(C){var o=z._data,M=z.s,A=z.gv,N=C.type,s=C.rect,g=C._64o,Y=C.titleRect,v=z.getBodyColor(),O=j(M("group.image"),v),t=M("group.image.stretch"),c=z.getBodyColor("group.background"),y=j(M("group.repeat.image"),v),_=M("group.gradient.pack"),P=M("group.gradient"),Z=M("group.border.width"),X=z.getStyleColor("group.border.color",0),d=M("group.border.pattern"),l=M("group.title.orientation"),J=M("group.depth"),K=M("group.border.radius"),f=M("group.border.join"),Q=M("group.border.cap"),W=(M("group.border.width.absolute")&&(Z/=A._zoom),X);if((e=(e=M("group.border.repeat.image"))&&j(e,X))&&(a=U3(s),Z_(a,Z/2),W=fx($,e,X,null,o,A,M("group.border.repeat.image.stretch"),a,M("group.border.repeat.image.rotation"),C.anchor)),N){var V,e=$.lineJoin,X=$.lineCap;$.lineJoin=f,$.lineCap=Q,O?($.save(),dx($,N,s,K),$.clip(),E3($,O,t,s.x,s.y,s.width,s.height,o,A,v),$.restore(),0<Z&&(D=B_($,d),dx(D,N,s,K),$.lineWidth=Z,$.strokeStyle=W,$.stroke(),$K($,d))):(D=B_($,d),c||y||_?(dx($,N,s,K),_?tx($,_,z.getGradientStopColor.bind(z),!1,s,fd,{style:"group.gradient.pack"}):y?Jx($,y,v,null,o,A,M("group.repeat.image.stretch"),s,M("group.repeat.image.rotation"),C.anchor):(P&&(V=z.getStyleColor("group.gradient.color",0)),lx($,c,P,V,s)),$.fill(),_&&$.restore(),$!==D&&dx(D,N,s,K)):dx(D,N,s,K),0<Z&&($.lineWidth=Z,$.strokeStyle=W,$.stroke()),$K($,d),N===kt&&Dx($,c,J,s)),$.lineJoin=e,$.lineCap=X}else{var D,a=z.getStyleColor("group.title.background",0);if((!K||K<0)&&(K=0),O)E3($,O,t,g.x,g.y,g.width,g.height,o,A,z.getBodyColor());else if(c||y)if(y?Jx($,y,v,null,o,A,M("group.repeat.image.stretch"),s,M("group.repeat.image.rotation"),C.anchor):lx($,c,P,V,g),0===Z)dx($,kt,g),$.fill(),Dx($,c,J,g);else{switch($.beginPath(),l){case Xt:Vx($,g.x,g.y,g.width,g.height,K,K,0,0);break;case _t:Vx($,g.x,g.y,g.width,g.height,0,K,0,K);break;case Pt:Vx($,g.x,g.y,g.width,g.height,K,0,K,0);break;case Zt:Vx($,g.x,g.y,g.width,g.height,0,0,K,K)}$.fill()}if(Y&&a)if(0===Z)Xx($,Y.x,Y.y,Y.width,Y.height,a),Dx($,a,J,Y);else{switch($.beginPath(),$.fillStyle=a,l){case Xt:Vx($,Y.x,Y.y,Y.width,Y.height,0,0,K,K);break;case _t:Vx($,Y.x,Y.y,Y.width,Y.height,K,0,K,0);break;case Pt:Vx($,Y.x,Y.y,Y.width,Y.height,0,K,0,K);break;case Zt:Vx($,Y.x,Y.y,Y.width,Y.height,K,K,0,0)}$.fill()}0<Z&&(D=B_($,d),dx(D,"roundRect",s,K),$.save(),$.lineWidth=Z,$.strokeStyle=W,$.lineJoin=f,$.lineCap=Q,$.closePath(),$.stroke(),Y&&M("group.splitLine")&&(_=Y.x,N=Y.y,e=Y.width,X=Y.height,$.beginPath(),l===Xt?($.moveTo(_,N),$.lineTo(_+e,N)):l===_t?($.moveTo(_+e,N),$.lineTo(_+e,N+X)):l===Pt?($.moveTo(_,N),$.lineTo(_,N+X)):($.moveTo(_,N+X),$.lineTo(_+e,N+X))),$.stroke(),$.restore(),$K(D,d))}z._39O($,C)}else pV.superClass.drawBody.call(z,$)}}),function($,z){Ev(bV,this,[$,z])}),uV=(V_(bV,aV,{drawBody:function($){this._39O($,this._83o)}}),function($,z){Ev(uV,this,[$,z])}),nV=(V_(uV,aV,{_3O:function(){var $=this,z=($.prepareBlendInfo(),$._data),C=$.s,o=$.gv,M=z.getPoints(),A=$.getColor(o.getBorderColor(z),1),N=A?C("border.width"):0,s=$.getSelectWidth(),g=C("shape.border.width"),Y=z.getRect(),v=z.getAnchorRect(),o=o.getBodyColor(z),O=$.getStyleColor("shape.border.color",1),t=z.p();(A=$._99o=M.isEmpty()?fd:{rect:Y,rotation:z.getRotation(),fillRule:C("shape.fill.rule"),scale:z.getScale(),anchor:z.getAnchor(),position:t,points:M,segments:z.getSegments(),bodyColor:o,borderColor:A,borderWidth:N,_94o:C("shape.border.3d"),_95o:$.getStyleColor("shape.border.3d.color",1),_96o:C("shape.border.3d.accuracy"),_97o:s?$.getSelectColor():fd,selectWidth:s,_53o:$.getStyleColor("shape.background",1),_27Q:j(C("shape.repeat.image"),o),shapeRepeatImageStretch:C("shape.repeat.image.stretch"),shapeRepeatImageRotation:C("shape.repeat.image.rotation"),shapeGradientPack:C("shape.gradient.pack"),shapeBorderGradientPack:C("shape.border.gradient.pack"),_54o:g,_55o:O,shapeBorderRepeatImage:j(C("shape.border.repeat.image"),O),shapeBorderRepeatImageStretch:C("shape.border.repeat.image.stretch"),shapeBorderRepeatImageRotation:C("shape.border.repeat.image.rotation"),shapeGradient:C("shape.gradient"),_59o:$.getStyleColor("shape.gradient.color",1),_60o:C("shape.border.pattern"),_61o:C("shape.border.cap"),_62o:C("shape.border.join"),shapeForeground:$.getStyleColor("shape.foreground",1),gray:C("2d.gray")})&&(v.x+=A.position.x,v.y+=A.position.y,A.gradientRect=v,Qd.extractShapeTranslation&&((o=U3(v)).x-=t.x,o.y-=t.y,(O=U3(M)).forEach(function($){$.x-=t.x,$.y-=t.y}),A.translatedInfo={gradientRect:o,points:O}),v=z.getScale(),M=Cd(1,Cd(I(v.x),I(v.y))),C("shape.dash")&&C("shape.dash.width")>g&&(g=C("shape.dash.width")),(o=C("shape.border.width.absolute")?(g+N+s)/$.gv._zoom/M:g*("square"===A._61o?.71:.5)+N+s/$.gv._zoom/M)&&(o*=M,Y=U3(Y),vx(Y,o,A._62o)),$._68o(Y),O=C("clip.percentage"),v=C("clip.direction"),O!=Kd&&("from"===v||"to"===v?(A.clipDirection=v,A.clipPercentage=O):A.clipRect=rv(z.getAnchorRect(),v,O)),(g=C("shape.fill.clip.percentage"))!=Kd&&(A.shapeClipRect=rv(z.getAnchorRect(),C("shape.fill.clip.direction"),g)),(N=C("shape.foreground.clip.percentage"))!=Kd&&(A.shapeForegroundClipRect=rv(z.getAnchorRect(),C("shape.foreground.clip.direction"),N)),C("clip.host")&&z.getHost()&&(A.clipHost=!0))},getPosition:function($,z,C,o){var M=this._99o;return M?(($=Fx($,M.rect,o)).x+=z,$.y+=C,$):Yv},_42:function($){this._99o&&uV.superClass._42.call(this,$)},drawBody:function($){var z,C,o,M,A,N,s,g=this,Y=g.s,v=g._99o,O=v.position,t=v.scale,c=v.rotation,y=v.borderWidth,_=g.gv._zoom,P=v.selectWidth/_,Z=v._27Q,X=v.shapeGradientPack,d=v._54o,l=v.clipRect,J=v.shapeClipRect,K=v.segments,f=g._data.isClosePath(),Q=v.clipHost,W=v.fillRule,V=v.gray,e=v._53o,D=e||Z||X,c=(Q&&($.save(),$.beginPath(),(z=g.clipHost($,g._data))&&$.clip()),$.save(),QX($,O.x,O.y),WX($,c),VX($,t.x,t.y),l&&($.beginPath(),$.rect(l.x,l.y,l.width,l.height),$.clip()),D&&J&&($.save(),$.beginPath(),$.rect(J.x,J.y,J.width,J.height),$.clip()),Qd.extractShapeTranslation&&(Q=v.translatedInfo)?(C=Q.gradientRect,M=Q.points):(C=v.gradientRect,M=v.points,QX($,-O.x,-O.y)),Y("shape.border.width.absolute")),t=v._60o,l=(c&&t&&(t=t.map(function($){return $*_})),B_($,t)),Q=$.lineJoin,a=$.lineCap,V=($.lineJoin=v._62o,$.lineCap=v._61o,k=v.bodyColor,V?Qd.toGrayColor(k):k),k=(v.clipDirection&&(M=(k=g.truncate(M,K,v.clipPercentage,"from"===v.clipDirection)).points,K=k.segments),D?(yx($,M,K,f),X?tx($,X,g.getGradientStopColor.bind(g),!1,C,fd,{style:"shape.gradient.pack"}):Z?(o=v_(M),Jx($,Z,V,null,g._data,g.gv,v.shapeRepeatImageStretch,o,v.shapeRepeatImageRotation,v.anchor)):lx($,s=V||e,v.shapeGradient,v._59o,C),$.fill(W),X&&$.restore(),J&&($.restore(),QX($,-O.x,-O.y)),l!==$&&yx(l,M,K,f)):yx(l,M,K,f),v.shapeForeground);if(k&&($.save(),D=v.shapeForegroundClipRect,(Z=Y("shape.foreground.gradient"))&&(A=g.getStyleColor("shape.foreground.gradient.color",1)),D&&(QX($,O.x,O.y),$.beginPath(),$.rect(D.x,D.y,D.width,D.height),$.clip(),QX($,-O.x,-O.y)),yx($,M,K,f),lx($,k,Z,A,C),$.fill(W),$.restore()),g.isShadowed()||(J=Y(X="shadow2"),D=Y(X+".inset"),J&&D&&(O=_*Qd.devicePixelRatio,$.save(),$.shadowOffsetX=Y(X+".offset.x")*O,$.shadowOffsetY=Y(X+".offset.y")*O,$.shadowBlur=Y(X+".blur")*O,$.shadowColor=Y(X+".color"),k=C.x-50,Z=C.y-50,A=C.width+100,W=C.height+100,yx($,M,K,f),$.clip(),yx($,M,K,f),$.rect(k,Z,A,W),$.fillStyle=$.shadowColor,$.fill(),$.restore(),yx($,M,K,f))),c&&(N=g._ctxMat||(g._ctxMat=new U.Math.Matrix2d),eX($,N)),P&&($.strokeStyle=v._97o,$.lineWidth=d+2*(y+P),$.stroke()),y&&($.strokeStyle=v.borderColor,$.lineWidth=d+2*y,$.stroke()),d&&(s=v._55o,(J=v.shapeBorderGradientPack)?((D=U3(C)).width<d?(D.width+=d,D.x-=.5*d):D.height&&(D.height+=d,D.y-=.5*d),tx($,J,g.getGradientStopColor.bind(g),!0,D,N,{style:"shape.border.gradient.pack"})):v.shapeBorderRepeatImage?(o=o||v_(M),Kx($,v.shapeBorderRepeatImage,s,null,g._data,g.gv,v.shapeBorderRepeatImageStretch,o,v.shapeBorderRepeatImageRotation,v.anchor)):$.strokeStyle=s=!e&&V?V:s,$.lineWidth=d,$.stroke(),J&&$.restore(),v._94o&&Px($,s,v._95o,d,_,v._96o)),$K($,t),Y("shape.dash")&&0<(O=Y("shape.dash.width")||d)&&(t=Y("shape.dash.pattern"),c&&(t=t.map(function($){return $*_})),(l=B_($,t,g._2Q("shape.dash.offset")))!==$&&yx(l,M,K,f),g._1Q($,"shape",O,t,C,N)),c&&$.restore(),$.lineJoin=Q,$.lineCap=a,$.restore(),z)for(;z--;)$.restore()},_48O:function(){},_47O:function($){},truncate:function($,z,C,o){var M,A=this._data;return C=Cd(0,od(1,C)),A._curve||(A._curve=new U.graph._editor.Math.Curve,M=[],$.each(function($){M.push($.x,$.y)}),z=z||$.toArray().map(function($,z){return z?2:1}),A._curve.createFromHtShape(M,z)),A._curve.truncate(C,o)}}),function($,z){Ev(nV,this,[$,z])}),RV=(V_(nV,uV,{getRotation:(KA=new F,fA=new F,QA=new RA,function($,z,C){$=$||0;var o,M,A=this._data,N=A.getPoints(),s=N.size();return 1<s?(M=A.p(),A=A.getScale(),QA.identity().translate(-M.x,-M.y).scale(A.x,A.y).translate(M.x,M.y),M=iK[C]?(o=N.get((A=(s-s%2)/2)-1),N.get(A)):HK[C]?(o=N.get(0),N.get(1)):(o=N.get(s-2),N.get(s-1)),QA.apply(o,KA),QA.apply(M,fA),tm(KA,fA,z,$)):$}),getPosition:(dA=new F,lA=new F,JA=new F,function($,z,C,o,M){var A=this._data,N=A.getPoints(),s=N.size();if(1<s){if(A=A.getPointsMatrix2d(),iK[$]){var g=s%2,Y=(s-g)/2,v=N.get(Y-1),Y=N.get(Y);if(0!=g)return(g=Fx($,Yv,o)).x+=z,g.y+=C,A.apply(v,dA),A.apply(Y,lA),A.identity().rotate(JA.copy(lA).sub(dA).angle()).apply(g,dA).add(lA)}else Y=HK[$]?(v=N.get(0),N.get(1)):(v=N.get(s-2),N.get(s-1));return A.apply(v,dA),A.apply(Y,lA),cm(dA,lA,$,z,C,o,M)}return Yv})}),function($,z){Ev(RV,this,[$,z])}),IV=(V_(RV,aV,{_3O:function(){RV.superClass._3O.call(this);var $=this.s,z=this._83o;this._82o=z.img||z.shape?fd:{background:this.getBodyColor("grid.background"),depth:$("grid.depth"),rect:z.rect,_88o:$("grid.cell.depth"),cellBorderColor:this.getStyleColor("grid.cell.border.color",0),_89o:$("grid.row.count"),_90o:$("grid.column.count"),block:$("grid.block"),_91o:this.getStyleColor("grid.block.color",0),_92o:$("grid.block.padding"),_93o:$("grid.block.width")}},drawBody:function($){var z=this._82o;if(z){var C,o,M=this._data,A=z.background,N=z.rect,s=z.block,g=z._91o,Y=z._92o,v=z._93o,O=z._88o,t=z.cellBorderColor,c=z._89o,y=z._90o;if(A)if(Xx($,N.x,N.y,N.width,N.height,A),Dx($,A,z.depth,N),O)for(C=0;C<c;C++)for(o=0;o<y;o++)(N=M.getCellRect(C,o))&&Dx($,A,O,N);else if(t){for($.beginPath(),C=0;C<c;C++)for(o=0;o<y;o++)(N=M.getCellRect(C,o))&&$.rect(N.x,N.y,N.width,N.height);$.strokeStyle=t,$.lineWidth=1,$.stroke()}if("h"===s)for(C=0;C<c;C++)N=O_(M.getCellRect(C,0),M.getCellRect(C,y-1)),Z_(N,Y),ex($,g,N.x,N.y,N.width,N.height,v);else if("v"===s)for(o=0;o<y;o++)N=O_(M.getCellRect(0,o),M.getCellRect(c-1,o)),Z_(N,Y),ex($,g,N.x,N.y,N.width,N.height,v);this._39O($,this._83o)}else RV.superClass.drawBody.call(this,$)}}),function($,z){Ev(IV,this,[$,z])}),hV=c?sX().getContext("2d"):fd,mV=(V_(IV,aV,{_checkEmptyRect:!1,_81o:function(){var N,$,s,z,C,o,g,Y,M,A,v,O,t,c,y=this._data,_=IV.superClass._81o.call(this),P=y.s("text"),Z=y.s("text.outline.width");return Z&&Z_(_,.5*Z),P!=fd&&(P+="",N=y.s("text.font"),Z=y.s("text.align"),$=y.s("text.vAlign"),O=y.s("text.wrap"),v=y.s("text.vertical"),s=y.s("text.vertical.gap"),c=y.s("text.letter.gap")||0,z=y.getWidth(),C=y.getHeight(),null==s&&(s=1),v?(g=((t=O?cX(P,C,N,c,v,s):[P]).length-1)*c,Y=0,hV.textBaseline=Zt,hV.font=N,t.forEach(function($){for(var z=$.length,C=0,o=(z-1)*s,M=0;M<z;M++){var A=hV.measureText($[M]);o+=A.fontBoundingBoxDescent||B3(N,$[M]).height,C=Cd(C,A.width)}g+=C,Y=Cd(o,Y)}),t.length,t.forEach(function($){}),o={width:g,height:Y}):1<(O=(t=O?cX(P,z,N,c,v,s):P.split("\n")).length)?(v=B3(N,P).height,g=0,Y=v*O+s*(O-1),t.forEach(function($){g=Cd(g,B3(N,$).width)}),o={width:g,height:Y}):(o=B3(N,P),c&&(o.width+=(P.length-1)*c)),v=o.width,O=o.height,t=y.getAnchor(),"left"===Z?M=-z*t.x:"center"===Z?M=-z*t.x+(z-v)/2:"right"===Z&&(M=z*(1-t.x)-o.width),"top"===$?A=-C*t.y:"middle"===$?A=-C*t.y+(C-O)/2:"bottom"===$&&(A=C*(1-t.y)-o.height),P=y.getMatrix(),c=v_([P.tf(M,A),P.tf(M+v,A),P.tf(M+v,A+O),P.tf(M,A+O)]),(_=O_(_,c))&&y.s("text.shadow")&&((Z=U3(_)).x+=y.s("text.shadow.offset.x"),Z.y+=y.s("text.shadow.offset.y"),Z_(Z,y.s("text.shadow.blur")),_=O_(_,Z))),_}}),Pm.Interactor=function($){this.gv=this._graphView=$}),SV=($("Interactor",Jd,{ms_listener:1,getView:function(){return this.gv.getView()},setUp:function(){this.addListeners()},tearDown:function(){this.removeListeners(),this.clear()},clear:function(){},fi:function($){this.gv.fi($)},setCursor:function($){Yt||this.gv.setCursor($)},startDragging:function($){this._lastClientPoint=s_($),this._lastLogicalPoint=this.gv.lp($),l_(this,$)},clearDragging:function($){this._lastClientPoint=this._lastLogicalPoint=this._logicalPoint=fd},autoScroll:function($){return this.gv.autoScroll($,this._lastClientPoint)}}),fd),GV="ht.propagation.host",EV=function($){SV.handleWindowTouchMove($)},HV=function($){SV.handleWindowTouchEnd($),Id(u,dh,EV),Id(u,lh,HV),SV=fd},iV=function($){SV.handleWindowMouseMove($)},FV=function($){SV.handleWindowMouseUp($),Id(u,_h,iV),Id(u,Ph,FV),SV=fd},jV=function($){var z=this;z.gv=$,z._is2d=$ instanceof Pm.GraphView,z._eventListeners={},["mousedown","mousemove","mouseleave","touchstart","touchmove","touchend","mouseup",fh,"wheel"].forEach(function($){z.addListener($)})},UV=(V_(jV,mV,{enableReality:function($,z){var C,o,M=this;(C=$._id)||(C=$._id=B.generateUUID()),!(!M._realityEnabled||!M._realityEnabled[C])!==z&&(M._realityEnabled||(M._realityEnabled={}),M._realityEnabled[C]=z,M._realityBindingCallbacks||(M._realityBindingCallbacks={}),o=M._realityBindingCallbacks[C],z?(o=o||(M._realityBindingCallbacks[C]=M.onRealityControllerChange.bind(M,$)),$.mp(o,M)):o&&$.ump(o,M))},onRealityControllerChange:function($,z){var C=z.property,o=(z=z.newValue).id;if($&&$.isPresenting()){var M=$.getController(o);if(M){var A=M.getRay();if(A)switch(A.controllerId=o,$.getRayEventType(A,C,z[Ef])){case"down":this.handle_mousedown(A);break;case"up":SV&&FV(A);break;case"move":this.handle_mousemove(A),SV&&this.handleWindowMouseMove(A)}}}},setPreventEventDefault:function($,z){var C=this._eventListeners[$];C?C._prevent=z:this._eventListeners[$]=C={_removal:Kd,_prevent:z}},removeListener:function($){($=this._eventListeners[$])&&$._removal&&($._removal(),$._removal=Kd)},addListener:function(z){var $,C=this,o=C._eventListeners[z];o||(C._eventListeners[z]=o={_removal:Kd,_prevent:!0}),o&&o._removal||($=function($){o._prevent&&Qd.preventDefault($),C.disabled||C.gv._48Q||("wheel"===z?mv(C,$):C["handle_"+z]($))},Rd(C.gv.getView(),z,$),o._removal=function(){Id(C.gv.getView(),z,$)})},handleWindowTouchMove:function($){this.handleWindowMouseMove($)},handleWindowMouseMove:function($){!this.downInfo||uX($)&&1!==o_($)?this.isDragging&&(this.handleDownInfo("onEndDrag",$),this.isDragging=!1):this.isDragging?this.handleDownInfo("onDrag",$):(this.handleDownInfo("onBeginDrag",$),this.isDragging=!0)},handleWindowTouchEnd:function($){this.handleWindowMouseUp($)},handleWindowMouseUp:function($){var z=this;if(z.isDragging&&(z.handleDownInfo("onEndDrag",$),z.isDragging=!1),z.downInfo){var C=z.handle("onUp",$);if(C&&C.data===z.downInfo.data){z.handleMissingUp($);var o=2===$.button?"onContextMenu":"onClick";if(C.data.s("disableDoubleClick")||!z._dbclickTimer)return z._dbDownInfo=z.downInfo,void(z._dbclickTimer=$t(function(){delete z._dbclickTimer,z.handleClick($,o,C),z._dbDownInfo===z.downInfo&&(z.downInfo=fd,z.propagationDownInfoMap=fd),delete z._dbDownInfo},Qd.clickDelay));zt(z._dbclickTimer),delete z._dbclickTimer,o="onDoubleClick",Qd.checkDoubleClickTarget&&C.data!==z._dbDownInfo.data&&(o="onClick"),z.handleClick($,o,C)}else z.handleDownInfo("onUp",$);z.downInfo=fd,z.propagationDownInfoMap=fd,z.downComps=fd}},handle_mouseleave:function($){var z=this,C=z.gv,o=(z._hoverTimer&&(zt(z._hoverTimer),delete z._hoverTimer),z.currentInfo?z.currentInfo.data:fd);if(o){if(o.s("onLeave")&&o.s("onLeave")($,o,C),z.fire("data","onLeave",$,o),C=z.currentInfo?z.currentInfo.hits:fd)for(var M in C)z.handleLeave($,M);z.currentInfo=fd}},handle_mousewheel:function($){$.scrollDelta=$.wheelDelta/40,this.handle("onScroll",$)},handle_DOMMouseScroll:function($){$.scrollDelta=2===$.axis?-$.detail:0,this.handle("onScroll",$)},handle_touchstart:function($){this.handle_mousedown($)},handle_touchmove:function($){this.handle("onMove",$)},handle_mousedown:function($){var z;this.isDragging&&(this.handleDownInfo("onEndDrag",$),this.isDragging=!1),this.downComps=[],this.downInfo=this.handle("onDown",$),this.downInfo&&this!==SV&&(z=uX($),SV?z?SV.handleWindowTouchEnd($):SV.handleWindowMouseUp($):z?(Rd(u,dh,EV),Rd(u,lh,HV)):(Rd(u,_h,iV),Rd(u,Ph,FV)),SV=this)},handle_touchend:function($){this.handle_mouseup($)},handle_mouseup:function($){this.downInfo||this.isDragging||this.handle("onUp",$)},mergeExternalData:function($,z){return z?(z.__gvnode__=$,z):$},handle_mousemove:function($){var z=this,C=z.gv;if(z._hoverTimer&&(zt(z._hoverTimer),delete z._hoverTimer),!C._panning&&!C._moving){var o,M,A,N=z.handle("onMove",$),s=this.currentInfo?this.currentInfo.data:fd,g=this.currentInfo?this.currentInfo.hits:fd;if(N&&(M=N.data,A=N.hits,z._hoverTimer=$t(function(){zt(z._hoverTimer),delete z._hoverTimer,z.handle("onHover",$,N)},C.getHoverDelay()||Qd.hoverDelay)),M!==s){if(s&&(s.s("onLeave")&&s.s("onLeave")($,s,C),this.fire("data","onLeave",$,s)),M&&(M.s("onEnter")&&M.s("onEnter")($,M,C),this.fire("data","onEnter",$,M)),g)for(o in g)this.handleLeave($,o);if(A)for(o in A){var Y,v,O=A[o];(v=(Y=M._interactPrefix=O.prefix)&&M.a(Y+"onEnter")||O.target.onEnter)&&v.call(O.target,$,z.mergeExternalData(M,O.exData),C,O.point,O.width,O.height),this.fire(O.type,"onEnter",O.event,z.mergeExternalData(O.data,O.exData),O.image,O.comp,O.point,O),M._interactPrefix=null}}else{if(g)for(o in g)A&&A[o]||this.handleLeave($,o);if(A)for(o in A)g&&g[o]||(O=A[o],(v=(Y=M._interactPrefix=O.prefix)&&M.a(Y+"onEnter")||O.target.onEnter)&&v.call(O.target,$,z.mergeExternalData(M,O.exData),C,O.point,O.width,O.height),this.fire(O.type,"onEnter",O.event,z.mergeExternalData(O.data,O.exData),O.image,O.comp,O.point,O),M._interactPrefix=null)}this.currentInfo=N}},handle:function($,z,C){var o,M=this.gv;if(this._is2d){if(C=C||M.getDataInfoAt(z,z.__ht_propagation_filter)){var A,N,s,g,Y=C.data;if((g=M.isInteractive(Y))&&(N=C.ui.interactiveInfo)&&(Y.s($)&&Y.s($)(z,Y,M),this.fire("data",$,z,Y),"body"===C.part&&N.bodyInfo?C.hits=this.handleImage(v="body",M.getImage(Y),$,z,Y,C.point,N.bodyInfo):"icons"===C.part&&N._38o&&(A=N._38o[C.name])&&A[C.index]&&(v="icons|"+C.name+"|"+C.index,C.hits=this.handleImage(v,C.icon,$,z,Y,C.point,A[C.index]))),z[GV]&&Y.getHost&&(s=Y.getHost())&&(z.__ht_propagation_filter=function($){return $===s},v=this.handle($,z),"onDown"===$&&v&&(this.propagationDownInfoMap||(this.propagationDownInfoMap={}),this.propagationDownInfoMap[s.getId()]=v)),g)return C}}else{if(!C)if(z&&z instanceof U.Math.Ray&&(A=M.getPresentingReality())){var v=A.intersectWorld(z),Y=v.data,O=v.intersect;if(A.renderRayDuringInteraction(z,Y,O),!Y)return;if(!(N=(t=M.getData3dUI(Y)).interactiveInfo))return;C={data:Y,part:O.part,ui:t}}else{if(!(C=M.getDataInfoDuringInteract(z)))return;C=C&&{data:C.data,part:C.part}}if(M.isInteractive(C.data)){if(!O){Y=C.data;var t=M.getData3dUI(Y);if(!(N=(C.ui=t).interactiveInfo))return C}return(Y.s($)&&Y.s($)(z,Y,M),this.fire("data",$,z,Y),O=O||M.intersectObject(z,Y))?((o=(o="body"!==(g=O.part)?Y.s(g+".image")||Y.s("shape3d."+g+".image"):o)||Y.s("all.image")||Y.s("shape3d.image"))&&(N="object"==typeof o?N[o.uuid]:N[o])&&N.bodyInfo&&(C.part="body",C.interactiveInfo=N,C.point=this._convertUVToPoint(O.uv,N,Y,g,o),C.image=o,C.hits=this.handleImage("body",o,$,z,Y,C.point,N.bodyInfo)),C):C}}},_handleLeaveOrMissing:function($,z,C){var o,M,A,N,s,g="leave"===$?this.currentInfo:this.downInfo;g&&(o=g.interactiveInfo||g.ui.interactiveInfo)&&(M=g.data,this._is2d?(N=this.gv.lp(z),"body"===g.part&&o.bodyInfo?(s="body","leave"===$?this.handleLeaveImage(C,s,this.gv.getImage(M),z,M,N,o.bodyInfo):this.handleMissingUpImage(s,this.gv.getImage(M),z,M,N,o.bodyInfo)):"icons"===g.part&&o._38o&&(A=o._38o[g.name])&&A[g.index]&&(s="icons|"+g.name+"|"+g.index,"leave"===$?this.handleLeaveImage(C,s,g.icon,z,M,N,A[g.index]):this.handleMissingUpImage(s,g.icon,z,M,N,A[g.index]))):o.bodyInfo&&(N=(s=this.gv.intersectObject(z,M))&&s.uv?this._convertUVToPoint(s.uv,o,M,s.part,g.image):{x:1/0,y:1/0},"leave"===$?this.handleLeaveImage(C,"body",g.image,z,M,N,o.bodyInfo):this.handleMissingUpImage("body",g.image,z,M,N,o.bodyInfo)))},handleClick:function($,z,C){var o,M,A,N,s=this.downInfo;s&&C&&(o=C.interactiveInfo||C.ui.interactiveInfo,M=C.data,N=this.gv,M.s(z)&&M.s(z)($,M,N),this.fire("data",z,$,M),o&&(this._is2d?s.part===C.part&&(A=N.lp($),"body"===C.part&&o.bodyInfo&&this.handleClickImage("body",N.getImage(M),z,$,M,A,o.bodyInfo,C)):o.bodyInfo&&(N=N.intersectObject($,M))&&(A=this._convertUVToPoint(N.uv,o,M,N.part,s.image),this.handleClickImage("body",s.image,z,$,M,A,o.bodyInfo,C))))},handleDownInfo:function($,z,C){var o,M,A,N,s,g,Y,v,O=this;O.downInfo&&(o=O.gv,(C=C?o.getDataInfoAt(z,z.__ht_propagation_filter):O.downInfo)&&(M=C.interactiveInfo||C.ui.interactiveInfo)&&((N=C.data).s($)&&N.s($)(z,N,o),O.fire("data",$,z,N),O._is2d?(s=o.lp(z),"body"===C.part&&M.bodyInfo?O.handleDownInfoImage(A="body",o.getImage(N),$,z,N,s,M.bodyInfo):"icons"===C.part&&M._38o&&(g=M._38o[C.name])&&g[C.index]&&(A="icons|"+C.name+"|"+C.index,O.handleDownInfoImage(A,C.icon,$,z,N,s,g[C.index])),z[GV]&&N.getHost&&(Y=N.getHost())&&(z.__ht_propagation_filter=function($){return $===Y},O.handleDownInfo($,z,!0))):M.bodyInfo&&("onBeginDrag"===$?(v=o._raycaster.intersectObjectAndRecordTriangle(z,N))&&(M.beginDragIntersectInfo=v.triangleInfo):v=o.intersectObject(z,N),(v=v||("onDrag"!==$&&"onEndDrag"!==$||!M.beginDragIntersectInfo?v:o._raycaster.intersectLastTriangle(z,M.beginDragIntersectInfo)))&&(s=O._convertUVToPoint(v.uv,M,N,v.part,C.image),O.handleDownInfoImage("body",C.image,$,z,N,s,M.bodyInfo)))))},fire:function($,z,C,o,M,A,N,s){this.gv.fi({kind:z,type:$,event:C,data:o,image:M,comp:A,view:this.gv,point:N,width:s?s.width:Kd,height:s?s.height:Kd})},handleImage:function($,z,C,o,M,A,N){return this._handleImageImpl($,z,C,o,M,A,N,-1,!0)},handleLeave:function($,z){return this._handleLeaveOrMissing("leave",$,z)},handleMissingUp:function($){if(!$["ht.ignoreMissingUp"])return this._handleLeaveOrMissing("missing",$)},_handleImageImpl:function($,z,C,o,M,A,N,s,g,Y){var v=!1;if(-1===s)v=!0,s={};else if(!s)return;if(!z||!(z=j(z)))return s;for(var O,t=this.gv,c=N.rect,y=this.convertPoint(A,N),_=(g!==Kd&&g!==y.inRect||!v&&!s[$+"|image"]||(z[C]&&z[C](o,M,t,y,c.width,c.height),this.fire("image",C,o,M,z,Kd,y,c),v&&(s[$+"|image"]={target:z,type:"image",image:z,data:M,event:o,point:y,width:c.width,height:c.height})),N.compInfos),P=z,Z=_.length-1;0<=Z;Z--){var X=_[Z],d=X.comp,y=this.convertPoint(A,X,P,d,t,M);if(g===Kd||g===y.inRect){var c=X.rect,l=M._interactPrefix=X.prefix,J=this.mergeExternalData(M,X.exData),K=!!v||(Y?Y($+"|"+Z,d):s[$+"|"+Z]);if(K&&((K=l&&M.a(l+C)||d[C])&&(O=K.call(d,o,J,t,y,c.width,c.height)),this.fire("comp",C,o,J,z,d,y,c)),!0!==O&&(z=c.image)&&(v||s[$+"|"+Z+"|image"])&&(z[C]&&(O=z[C](o,J,t,y,c.width,c.height)),this.fire("image",C,o,J,z,Kd,y,c)),M._interactPrefix=null,v&&(s[$+"|"+Z]={target:d,type:"comp",comp:d,image:z,data:M,event:o,point:y,width:c.width,height:c.height,prefix:l,exData:X.exData},this.downComps&&this.downComps.push(d),z&&(s[$+"|"+Z+"|image"]={target:z,type:"image",image:z,data:M,event:o,point:y,width:c.width,height:c.height,prefix:l,exData:X.exData})),!0===O)break}}return s},handleLeaveImage:function($,z,C,o,M,A,N){var s={};return s[$]=!0,this._handleImageImpl(z,C,"onLeave",o,M,A,N,s,Kd)},handleMissingUpImage:function($,z,C,o,M,A){return this._handleImageImpl($,z,"onUp",C,o,M,A,this.downInfo.hits,!1)},handleDownInfoImage:function($,z,C,o,M,A,N){var s,g=this,Y=0<=["onDrag","onEndDrag"].indexOf(C);if(g.downInfo){if(g.downInfo.data===M)s=g.downInfo.hits;else{if(!g.propagationDownInfoMap)return;s=g.propagationDownInfoMap[M.getId()].hits}return g._handleImageImpl($,z,C,o,M,A,N,s,Kd,function($,z){return Y?g.downComps&&0<=g.downComps.indexOf(z):s[$]})}},handleClickImage:function($,z,C,o,M,A,N,s){var g=this.downInfo.hits,Y=s.hits;return this._handleImageImpl($,z,C,o,M,A,N,g,Kd,function($){return g[$]&&Y[$]})},_convertUVToPoint:function($,z,C,o,M){if(!$)return{x:1/0,y:1/0};var A,z=z.bodyInfo.rect,o=(C&&M&&(o="body"===o?(A=C.s("shape3d.uv.scale"),C.s("shape3d.uv.offset")):(A=C.s(o+".uv.scale")||C.s("all.uv.scale"),C.s(o+".uv.offset")||C.s("all.uv.offset")),(A||o)&&(M=Qd.getImage(M),C=B.isPOT(M.width)&&B.isPOT(M.height),M=$.x*(A?A[0]:1)+(o?o[0]:0),A=$.y*(A?A[1]:1)+(o?o[1]:0),C&&(M=M%1+(0<M?0:1),A=A%1+(0<A?0:1)),$.set(M,A))),$.clone());return(C=$.multiply({x:z.width,y:z.height})).local=o,C},convertPoint:function($,z,C,o,M,A){if(!(O=z.rect))return!1;var N=z.matrix.applyInverse($).sub(O);if(!(0<=N.x&&0<=N.y&&N.x<=O.width&&N.y<=O.height))return N;if(o&&E(o.pixelPerfect,A,M)){var s=1,g=!1,$=(O=this._is2d?(s=M.getZoom(),fv($.x,$.y,Kd,s)):fv($.x,$.y)).x,Y=O.y,v=O.width,O=O.height,t=v*O*s*s,c=((c=Qd.hitMaxArea)<t&&(s*=Math.sqrt(c/t)),$*=s,Y*=s,sx(v=(v*=s)<2?2:v,O=(O*=s)<2?2:O)),$=((t=new RA(0,-$,-Y,s,s)).append(z.matrix),M._drawForChecking=!0,o.transform=t,C.fitSize),Y=(z.refRect&&z.refRect.fitSize?(o.refRect=z.refRect,C.fitSize=!0):C.fitSize=!1,C.comps);C.comps=[o],tK(c,C,0,0,v,O,A,M),C.comps=Y,C.fitSize=$,delete o.refRect,delete o.unionRect,delete o.transform,M._drawForChecking=!1;try{for(var y=0,_=c.getImageData(0,0,v,O).data;y<_.length;y+=4)if(0!==_[y+3]){g=!0;break}c.restore()}catch($){Mx=fd,g=!1}N.inRect=g}else N.inRect=!0;return N}}),Pm.DefaultInteractor=function($){Ev(UV,this,[$])}),LV=($("DefaultInteractor",mV,{handle_mousedown:function($){m3($);var z,C=this.gv,o=C.getDataAt($);!C.setFocus($)||C._editing||C._scrolling||(M_($)?C.handleDoubleClick($,o):C.handleClick($,o),z=z_($),!BX()&&!z&&o&&(C.isMovable(o)||C._39Q(o))||!C.isPannable()||!$_($)&&!z||N_($)||(this._tx=C.tx(),this._ty=C.ty(),this.startDragging($)))},handleWindowMouseUp:function($){var z=this.gv;z._panning&&(delete z._panning,z.onPanEnded(),this.fi({kind:"endPan",event:$})),delete this._tx,delete this._ty,this.clearDragging()},handle_mousemove:function($){var z=this,C=z.gv;z._hoverTimer&&(zt(z._hoverTimer),delete z._hoverTimer),z._hoverTimer=$t(function(){z.fi({kind:"hover",event:$}),zt(z._hoverTimer),delete z._hoverTimer},C.getHoverDelay()||Qd.hoverDelay)},handle_mouseleave:function($){this._hoverTimer&&(zt(this._hoverTimer),delete this._hoverTimer)},handleWindowMouseMove:function($){var z=this.gv,$=(this.fi({kind:z._panning?"betweenPan":"beginPan",event:$}),z._panning=1,gm(z,$,this._lastClientPoint));z.setTranslate(this._tx+$.x,this._ty+$.y)},handle_mousewheel:function($){this.gv.handleScroll($,$.wheelDelta)},handle_DOMMouseScroll:function($){2===$.axis&&this.gv.handleScroll($,-$.detail)},handle_keydown:function($){this.gv.handleKeyDown($)}}),Pm.SelectInteractor=function($){Ev(LV,this,[$])}),wV=($("SelectInteractor",mV,{_42:function(){var $=this.gv,z=$.getZoom(),C=this.mark,o=this.div,M=(o||(o=this.div=NX(),OX(this.getView(),o)),{});M.x=C.x*z+$.tx(),M.y=C.y*z+$.ty(),M.width=C.width*z,M.height=C.height*z,pX(o,M),this.intersects()?(o.style.border="",o.style.background=$.getRectSelectBackground()):(o.style.background="",o.style.border="1px solid "+$.getRectSelectBorderColor())},checkBlockThroughContinuous:function($,z){var C,o=this.gv,M=o.sm();return z=z instanceof PV&&Qd.blockThroughContinuous&&(C=M.ld())&&C.isDescendantOf(z)&&(M=o.getDataAt($,function($){if(!o.isSelectable($))return!1;for(var z=$.getParent();z instanceof U.Block&&!o.isSelectable(z,!0);)z=z.getParent();return z instanceof U.Block&&C.isDescendantOf(z)}))?M:z},handle_mousedown:function($){var z,C,o=this,M=o.gv;o._57I=fd,o.paddingClickData=fd,o.pendingClickThrough=fd,M._editing||M._scrolling||BX()||z_($)||(z=M.getDataAt($),C=M.sm(),z?N_($)?C.co(z)?C.rs(z):C.as(o.checkBlockThroughContinuous($,z)):C.co(z)?z instanceof PV&&z.isClickThroughEnabled()&&$_($)&&(o.paddingClickData=z,o.pendingClickThrough=s_($)):C.ss(o.checkBlockThroughContinuous($,z)):N_($)||!M.isPannable()?$_($)&&(N_($)||C.cs(),M.isRectSelectable()&&(o.startDragging($),M._77O=1)):$_($)&&(o._57I=s_($)))},handle_mouseup:function($){var z=this.gv,C=this._57I;if(C&&(Y_(C,s_($))<=1&&z.sm().cs(),this._57I=fd),this.pendingClickThrough){if(Y_(this.pendingClickThrough,s_($))<=1){var o=this.paddingClickData,M=Qd.blockThroughContinuous,A=M?function($){return $.isDescendantOf(o)}:function($){return $.getParent()===o},N=z.getDataAt($,function($){return A($)&&z.isSelectable($,!0)});if(N){for(var s=N;M&&(s=s.getParent())&&s!==o;)z.isSelectable(s,!0)&&(N=s);$.clickThrough=!0,z.sm().ss(N)}}this.paddingClickData=fd,this.pendingClickThrough=fd}},handleWindowMouseUp:function($){this.clear($)},handleWindowMouseMove:function($){var z=this,C=z.gv;z._logicalPoint=C.lp($),z.mark?(z.fi({kind:"betweenRectSelect",event:$}),C.isPannable()&&z.autoScroll($),z.redraw()):z.fi({kind:"beginRectSelect",event:$}),z.mark=v_(z._lastLogicalPoint,z._logicalPoint),z.redraw()},intersects:function(){var $=this._lastLogicalPoint,z=this._logicalPoint;return $.x>z.x||$.y>z.y},clear:function($){var z,C,o,M,A=this,N=A.gv,s=A.mark;A._57I=fd,A.paddingClickData=fd,A.pendingClickThrough=fd,A._lastLogicalPoint&&(s&&(0===s.width||0===s.height||(s=N.getDatasInRect(s,A.intersects())).isEmpty()||(z=N.sm(),C=z.toSelection(),o=A_($),M=$.altKey,s.each(function($){z.co($)?o&&!M||C.remove($):(!M||o&&M)&&C.add($)}),z.ss(C)),J_(A.div),delete A.div,delete A.mark,A.redraw(),A.fi({kind:"endRectSelect",event:$}),N.onRectSelectEnded()),A.clearDragging(),delete N._77O)},redraw:function(){var $=this;$._draw||($._draw=1,$t(function(){$.mark&&$._42(),delete $._draw},16))}}),Pm.MoveInteractor=function($){Ev(wV,this,[$])}),qV=($("MoveInteractor",mV,{handle_mousedown:function($){var z,C=this.gv;!$_($)||C._editing||C._scrolling||BX()||(!(z=C.getSelectedDataAt($))||C._39Q(z)&&!C.isMovable(z)?C._focusData=fd:(this._data=z,C.handleMouseDown&&C.handleMouseDown($,z),this.startDragging($),C.isMovable(z)&&(C._moving=1)))},handleWindowMouseUp:function($){var z=this.gv;z.handleMouseUp&&z.handleMouseUp($,this._data),this.clear($)},handleWindowMouseMove:function($){var z,C,o,M,A=this,N=A._data,s=A.gv;s._93O&&s._93O($,N)||s._moving&&(A._logicalPoint||A.fi({kind:"prepareMove",event:$}),z={kind:M=A._logicalPoint?"betweenMove":"beginMove",event:$},C=A._logicalPoint=s.lp($),"beginMove"!=M||A._alreadyBeginTransaction||(A._alreadyBeginTransaction=!0,s.getDataModel().beginTransaction()),o=(M=A._calcShift(M,$)).x,M=M.y,(N=A.gv.getMoveMode($,N))&&("x"===N?M=0:"y"===N?o=0:"xy"!==N&&(o=M=0)),s.moveSelection(o,M),A._lastLogicalPoint=C,A.autoScroll($),z.info={dx:o,dy:M},A.fi(z))},_calcShift:function($,z){var C=this._logicalPoint,o=this._lastLogicalPoint;return{x:C.x-o.x,y:C.y-o.y}},clear:function($){var z=this.gv;this._lastLogicalPoint&&(this._lastLogicalPoint=this._data=z._moving=fd,this._logicalPoint&&(this.fi({kind:"endMove",event:$}),z.onMoveEnded()),this.clearDragging()),this._alreadyBeginTransaction&&(this._alreadyBeginTransaction=!1,z.getDataModel().endTransaction())}}),Pm.TextEditInteractor=function($){Ev(qV,this,[$]),this.init()}),TV=($("TextEditInteractor",mV,{setUp:function(){qV.superClass.setUp.call(this),this.gv.mp(this.handleGvPropertyChange,this)},teatDown:function(){qV.superClass.teatDown.call(this),this.gv.ump(this.handleGvPropertyChange,this)},handleGvPropertyChange:function($){this._editTarget&&this.endTextEdit()},init:function(){function $($){$.stopPropagation()}var C=this,z=this.input=c.createElement("input"),o=z.style,M=(z.text="text",o.border="1px solid #d8d8d8",o.position="absolute",o.padding="2px 3px",o.outline="none",o.marginLeft="-90px",o.marginTop="-16px",o.backgroundColor="rgba(255,255,255, 1)",o.fontSize="14px",o.width="180px",o.height="32px",o.boxShadow="0 0 13px rgba(16,142,233, 0.5)",o.textAlign="center",o.boxSizing="border-box",Rd(z,"keyup",function($){$x($)&&C.endTextEdit(),zx($)&&C.endTextEdit(!0)}),Rd(z,"focus",function($){z.select()}),this.textarea=c.createElement("textarea")),A=this.wrap=c.createElement("div");A.appendChild(M),(o=M.style).margin=0,o.padding="4px",o.overflow="hidden",o.boxSizing="border-box",o.position="absolute",o.outline="none",o.backgroundColor="transparent",o.resize="none",o.textAlign="center",o.fontSize="14px",o.borderWidth=0,o.width="100%",(o=A.style).boxSizing="border-box",o.margin=0,o.padding=0,o.position="absolute",o.boxShadow="0 0 13px rgba(16,142,233, 0.5)",o.border="1px solid #d8d8d8",o.backgroundColor="rgba(255,255,255, 1)",o.zIndex="10",Rd(M,"keydown",function($){(A_()||N_())&&$x($)?C.endTextEdit():zx($)?C.endTextEdit(!0):C._editTarget instanceof XV||C.calculateTextareaHeight(String.fromCharCode($.keyCode))}),Rd(M,"focus",function($){M.select()}),Rd(z,"mousedown",$),Rd(z,"touchstart",$),Rd(M,"mousedown",$),Rd(M,"touchstart",$),Rd(M,"click",$),C.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"],C.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",C.handleWindowClick=function($){var z=C._editingDOM;z&&(z=z.getBoundingClientRect(),$=s_($),t_(z,$)||C.endTextEdit())}},handle_mousedown:function($){var z,C=this.gv;M_($)&&!C._editing&&($=C.getDataAt($))&&(z=C.getTextEditInfo($))&&(this._editInfo=z,this._editTarget=$,C._editing=!0,z.isMultiline?this.handleMultilineEdit():this.handleTextEdit())},handleMultilineEdit:function(){var $=this,z=$.gv,C=$._editTarget,o=$.getTargetValue(),M=$.textarea,A=$.wrap,N=this._editInfo;this.hiddenTextarea||this.createHiddenTextarea(),M.value=o=null!==o&&o!==Kd?o:"",N.font&&(M.style.font=N.font),$._editingDOM=M,z.appendHTML(A),this.layoutHTML(A,C),C instanceof XV?M.style.height="100%":(M.style.height="auto",this.calculateTextareaHeight()),$t(function(){M.focus(),Rd(u,"mousedown",$.handleWindowClick),Rd(u,"touchstart",$.handleWindowClick)},10)},handleTextEdit:function(){var $=this,z=$.gv,C=$._editTarget,o=$.getTargetValue(),M=$.input;M.value=o=null!==o&&o!==Kd?o:"",$._editingDOM=M,z.getView().appendChild(M),this.layoutHTML(M,C),$t(function(){M.focus(),Rd(u,"mousedown",$.handleWindowClick),Rd(u,"touchstart",$.handleWindowClick)},10)},layoutHTML:function($,z){var C,o,M,A=this.gv,N=A.getZoom();z instanceof XV?(M=(o=A.getDataUI(z))._6I,C=$.style,$.style.left=M.x*N+A.tx()+"px",$.style.top=M.y*N+A.ty()+"px",$.style.width=o._6I.width+"px",$.style.height=o._6I.height+"px",lX(C,"transform","scale("+N+","+N+")"),lX(C,"transformOrigin","0px 0px")):z instanceof NV?(C=(M=z.getRect()).width*N,$.style.left=(M.x+M.width/2)*N+A.tx()+"px",$.style.top=(M.y+M.height/2)*N+A.ty()+"px",$.style.width=C+"px",$.style.marginLeft=-C/2+"px"):z instanceof U.Edge&&(M=(o=A.getDataUI(z))._6I,$.style.left=(M.x+M.width/2)*N+A.tx()+"px",$.style.top=(M.y+M.height/2)*N+A.ty()+"px")},endTextEdit:function($){var z=this,C=z._editInfo.isMultiline?z.wrap:z.input,o=z._editInfo.isMultiline?z.textarea:z.input;$||z.setTargetValue(o.value),z.gv.getView().removeChild(C),z.gv._editing=!1,delete z._editingDOM,delete z._editTarget,Id(u,"mousedown",z.handleWindowClick),Id(u,"touchstart",z.handleWindowClick)},setTargetValue:function($){var z=this._editTarget,C=this._editInfo,o=C.accessType;(C=C.name)&&o||(o="p",C="name"),"p"===o?z[U.Default.setter(C)]($):"a"===o?z.a(C,$):z.s(C,$)},getTargetValue:function(){var $=this._editTarget,z=this._editInfo,C=z.accessType;return(z=z.name)&&C||(C="p",z="name"),"p"===C?$[U.Default.getter(z)]():"a"===C?$.a(z):$.s(z)},createHiddenTextarea:function(){this.hiddenTextarea=c.createElement("textarea"),this.hiddenTextarea.setAttribute("style","margin:0; padding:0; position:absolute; overflowY:scroll; resize:none; box-sizing:border-box;pointer-events: none;opacity:0;"),this.hiddenTextarea.setAttribute("rows","1"),this.gv.getView().appendChild(this.hiddenTextarea)},calculateHTMLStyle:function($,z){if(z&&this.computedStyleCache)return this.computedStyleCache;var C=u.getComputedStyle($),$=C.getPropertyValue("box-sizing")||C.getPropertyValue("-moz-box-sizing")||C.getPropertyValue("-webkit-box-sizing"),o=parseFloat(C.getPropertyValue("padding-bottom"))+parseFloat(C.getPropertyValue("padding-top")),M=parseFloat(C.getPropertyValue("border-bottom-width"))+parseFloat(C.getPropertyValue("border-top-width")),o={sizingStyle:this.SIZING_STYLE.map(function($){return $+":"+C.getPropertyValue($)}).join(";"),paddingSize:o,borderSize:M,boxSizing:$};return z&&(this.computedStyleCache=o),o},calculateTextareaHeight:function($){$=$||"";var z=this.textarea,C=this.hiddenTextarea,o=this.wrap,M=(s=this.calculateHTMLStyle(z,!1)).paddingSize,A=s.borderSize,N=s.boxSizing,s=s.sizingStyle,s=(C.setAttribute("style",s+";"+this.HIDDEN_TEXTAREA_STYLE),C.value=z.value+$,C.scrollHeight);"border-box"===N?s+=A:"content-box"===N&&(s-=M),z.style.height=s+"px",o.style.height=Math.max(s,32)+"px",o.style.marginTop=-.5*s+"px"}}),Pm.ScrollBarInteractor=function($){Ev(TV,this,[$])}),rV=($("ScrollBarInteractor",mV,{_41o:function(){return this.gv.getViewRect().height<this.gv.getScrollRect().height},_40o:function(){return this.gv.getViewRect().width<this.gv.getScrollRect().width},isV:function($){var z=this.gv.getViewRect();return this._41o()&&(z.x+z.width-this.gv.lp($).x)*this.gv.getZoom()<p3},isH:function($){var z=this.gv.getViewRect();return this._40o()&&(z.y+z.height-this.gv.lp($).y)*this.gv.getZoom()<p3},handle_mousemove:function($){this.handle_touchmove($)},handle_touchmove:function($){var z;!RX&&$_($)&&this.gv.isScrollBarVisible()&&(z=this.isV($),$=this.isH($),(z||$)&&this.gv.showScrollBar(),this.gv._scrolling=z||$)},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},handleWindowTouchEnd:function($){this._state=this._cp=this._tx=this._ty=this.gv._scrolling=fd,this.fi({kind:"endScroll",event:$})},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function($){var z,C=this;C.gv.setFocus($),m3($),C.handle_touchmove($),1<o_($)||!C.gv._scrolling||!C.gv.isScrollBarVisible()||(C._cp=s_($),C._tx=C.gv.tx(),C._ty=C.gv.ty(),z=C.isV($),C._state=z?"vScroll":"hScroll",l_(C,$),C.fi({kind:"beginScroll",event:$}))},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){var z=s_($),C=this.gv.getViewRect(),o=this.gv.getScrollRect();"vScroll"===this._state?this.gv.ty(this._ty+(this._cp.y-z.y)*o.height/C.height):"hScroll"===this._state&&this.gv.tx(this._tx+(this._cp.x-z.x)*o.width/C.width),this.fi({kind:"betweenScroll",event:$})}}),Pm.TouchInteractor=function($,z){(z=z||{}).selectable===Kd&&(z.selectable=!0),z.movable===Kd&&(z.movable=!0),z.pannable===Kd&&(z.pannable=!0),z.pinchable===Kd&&(z.pinchable=!0),z.editable===Kd&&(z.editable=!0),this.params=z,Ev(rV,this,[$])}),h=($("TouchInteractor",mV,{ms_edit:1,setUp:function(){rV.superClass.setUp.call(this),Yt&&this.params.editable&&this.gv.setEditInteractor(this)},tearDown:function(){rV.superClass.tearDown.call(this),Yt&&this.params.editable&&this.gv.setEditInteractor(fd)},clear:function($){var z=this,C=z.gv;C._moving&&(z.fi({kind:"endMove",event:$}),delete C._moving,C.onMoveEnded(),C.dm().endTransaction()),C._panning&&(z.fi({kind:"endPan",event:$}),delete C._panning,C.onPanEnded()),C._pinching&&(z.fi({kind:"endPinch",event:$}),delete C._pinching,C.onPinchEnded()),C._editing&&(z._46O($),z._77I=z._node=z._edge=z._shape=z._rect=z._89I=z._index=C._editing=fd),z.pendingClickThrough=z._moving=z._panning=z._pinching=z._editing=z._57I=z._data=z._beginHistory=fd,z.clearDragging()},handle_touchstart:function($){var z,C,o,M,A,N=this;N.gv._editing||(m3($),N._57I=fd,N.pendingClickThrough=fd,z=N.params,o=(C=N.gv).sm(),M=C.getDataAt($),1===(A=o_($))?M_($)?C.handleDoubleClick($,M):(C.handleClick($,M),M&&(C.handleMouseDown&&C.handleMouseDown($,M),N._data=M),(M=z.selectable?M:fd)&&(o.co(M)?M instanceof PV&&M.isClickThroughEnabled()&&(N.pendingClickThrough=s_($)):o.ss(M),z.editable&&C.isEditable(M)&&N._79I($,M,!0)?(N._editing=1,N.startDragging($)):z.movable&&C.isMovable(M)&&(N._moving=1,N.startDragging($))),M&&(C.isMovable(M)||C._39Q(M))||(N._57I=s_($),z.pannable&&C.isPannable()&&(N._panning=1,N.startDragging($),N._translate={x:C.tx(),y:C.ty()}))):!z.pinchable||2!==A||!C.getEditInteractor()&&M&&(o=j(C.getImage(M)))&&E(o.scrollable,M,this)||(N._pinching=1,N.startDragging($),z=C.getView(),A=C.getZoom(),o=z.getBoundingClientRect(),M=$.touches[0],z=$.touches[1],(M={x:(M.clientX+z.clientX)/2-o.left,y:(M.clientY+z.clientY)/2-o.top}).x-=C.tx(),M.y-=C.ty(),M.x/=A,M.y/=A,N._p=M,N._d=Rx($)))},handle_touchend:function($){var z=this.gv,C=this._57I,o=this._data;C&&(Y_(C,s_($))<=1&&!z.getDataAt($)&&z.sm().cs(),this._57I=fd),o&&z.handleMouseUp&&z.handleMouseUp($,o),this.pendingClickThrough&&(Y_(this.pendingClickThrough,s_($))<=1&&(o=z.getDataAt($))instanceof PV&&o.isClickThroughEnabled()&&(C=z.getDataAt($,function($){return $.getParent()===o&&z.isSelectable($,!0)}))&&($.clickThrough=!0,z.sm().ss(C)),this.pendingClickThrough=fd)},handleWindowTouchEnd:function($){this.clear($)},handleWindowTouchMove:function($){var z,C,o=this,M=o.gv,A=o_($);1===A?(z=s_($),z=gm(M,z,o._lastClientPoint),C=Y_({x:0,y:0},z),o._editing&&(o._beginHistory||(o._beginHistory=1,M.dm().beginTransaction()),M._editing=1,o._78I($)),o._moving?!M._moving&&C<Qd.touchMoveThreshold||(o._beginHistory||(o._beginHistory=1,M.dm().beginTransaction()),o.handleMove($)):!o._panning||!M._panning&&C<Qd.touchMoveThreshold||(M.setTranslate(o._translate.x+z.x,o._translate.y+z.y),o.fi({kind:M._panning?"betweenPan":"beginPan",event:$}),M._panning=1)):2===A&&o._pinching&&(C=Rx($),M.handlePinch(o._p,C,o._d),o._d=C,o.fi({kind:M._pinching?"betweenPinch":"beginPinch",event:$}),M._pinching=1)},handleMove:function($){var z,C,o,M,A=this,N=A.gv;N._93O&&N._93O($,A._data)||(o=A._logicalPoint?"betweenMove":"beginMove",z=A._logicalPoint=N.lp($),C=(o=A._calcShift(o,$)).x,o=o.y,(M=A.gv.getMoveMode($,A._data))&&("x"===M?o=0:"y"===M?C=0:"xy"!==M&&(C=o=0)),N.moveSelection(C,o),A._lastLogicalPoint=z,A.autoScroll($),A.fi({kind:N._moving?"betweenMove":"beginMove",event:$}),N._moving=1)},_calcShift:function($,z){var C=this._logicalPoint,o=this._lastLogicalPoint;return{x:C.x-o.x,y:C.y-o.y}}}),U.graph._editor={Math:U.Math,Guide:{}}),BV=(h.getStyle=function($){var z=h.StyleMap;return z&&(z=z[$])!==Kd?z:h.DefaultStyleMap[$]},h.setStyle=function($,z){(h.StyleMap||(h.StyleMap={}))[$]=z},h.inEdit=function($){return!0===$._inXEdit},h.startEdit=function($){$._inXEdit=!0,h.Inject.doInject($)},h._46O=function($){$._inXEdit=!1,h.Inject.undoInject($)},h.toScreenPosition=function($,z){var C=$.tx(),o=$.ty(),$=$._zoom;return new h.Math.Vector2(z.x*$+C,z.y*$+o)},h.checkHit=function($,z,C){return $.distanceTo(z)<C},h.toWorldPosition=function($,z){var C=$.tx(),o=$.ty(),$=$._zoom;return{x:(z.x-C)/$,y:(z.y-o)/$}},h.setAntialias=function($,z){for(var C,o=["imageSmoothingEnabled","webkitImageSmoothingEnabled","mozImageSmoothingEnabled","oImageSmoothingEnabled","msImageSmoothingEnabled"],M=0,A=o.length;M<A&&!((C=o[M])in $);M++);$[C],$[C]=z},h.getTargetCornersOnScreen=function(z,$){if(!$)return null;var C=[];if(bv($,z))var o=[{x:(o=GK(z,$)).x,y:o.y},{x:o.x+o.width,y:o.y},{x:o.x+o.width,y:o.y+o.height},{x:o.x,y:o.y+o.height}];else{if(!$.getCorners)return null;o=$.getCorners()}return o.forEach(function($){$=h.toScreenPosition(z,$),C.push($.x,$.y)}),C},h.log=function(){},h.updateTipInfo=function($,z,C){WA=C?(($=U.Default.getLogicalPoint($,z._canvas)).x+=h.Icons.TipShiftX,$.y+=h.Icons.TipShiftY,{helperPos:$,text:C,size:C.length}):fd},h.drawTip=function($,z){WA&&h.Icons.DrawIcon(z,$,h.Icons.TipHelper,WA)},h.Inject={_modules:[]}),$S=(BV.registAsModule=function(C,o){var $,M={},z={};for($ in C){var A=o.prototype[$];M[$]=A}C.getBackup=function($){return M[$]},C.getBackups=function(){return M},z.doInject=function($){for(var z in C)"getBackup"!==z&&(o.prototype[z]=C[z])},z.undoInject=function($){for(var z in C)"getBackup"!==z&&(o.prototype[z]=M[z])},BV._modules.push(z)},BV.doInject=function($){for(var z=BV._modules,C=0,o=z.length;C<o;C++)z[C].doInject($)},BV.undoInject=function($){for(var z=BV._modules,C=0,o=z.length;C<o;C++)z[C].undoInject($)},mV=U.graph.EditInteractor=function($){var z=this,C=c.createElement("canvas");C.className="editCanvas",C.style.position="absolute",z._uuid=U.Math.generateUUID(),z._styleMap={},z._canvas=C,z._context=C.getContext("2d"),mV.superClass.constructor.call(z,$),this._editDetail=!1,h.setAntialias(z._context,!1),z._subModules=z.initSubModule(),z._gridGuide=new h.Guide.Grid(z),z._rectGuide=new h.Guide.Rect(z),z._hoverGuide=new h.Guide.Hover(z)});U.Default.def(mV,U.graph.Interactor,{ms_edit:1,ms_fire:1}),Jd.defineProperties(mV.prototype,{editDetail:{get:function(){return!!this._editDetail},set:function($){var z=this._editDetail;z!==$&&(this._editDetail=$,this.gv._editing=$,this.fp("editDetail",z,$),this.fp("pointsEditingMode",z,$),this.fi({kind:$?"beginEditPoints":"endEditPoints"}))}},gvEditing:{get:function(){return this.gv._editing},set:function($){this._editDetail&&!$||(this.gv._editing=$)||(this.editDetail=!1)}},editing:{get:function(){return this._editing},set:function($){this._editing=$,this.gvEditing=$}},editingModule:{get:function(){return this._editMod}},pointsEditingMode:{get:function(){return this.editDetail},set:function($){this.editDetail!==$&&($?this._tryEnterEditDetailMode():this._tryQuitEditDetailMode())}},gridEnabled:{get:function(){return!!this._gridEnabled&&(this.gv,!0)},set:function($){$!==this._gridEnabled&&(this._gridEnabled=$,this._42())}},alignmentGuideEnabled:{get:function(){return this._agEnabled},set:function($){$!==this._agEnabled&&(this._agEnabled=$,this._42())}},gridGuide:{get:function(){return this._gridGuide}},rectGuide:{get:function(){return this._rectGuide}},hoverGuide:{get:function(){return this._hoverGuide}}}),mV.prototype.initSubModule=function(){return[new h.Anchor(this),new h.RotateX(this),new h.MoveDummy(this),new h.Rect(this),new h.Curve(this),new h.MoveHelper(this)]},mV.prototype.getSubModule=function($){for(var z,C=this._subModules,o=0,M=C.length;o<M;o++)if((z=C[o]).catalog===$)return z},mV.prototype.invokeSubModule=function($,z){for(var C,o,M=this._subModules,A=Array.prototype.slice.call(arguments,2),N=0,s=M.length;N<s;N++)if((o=(C=M[N])[$])&&o.apply(C,A)!=Kd&&z)return C},mV.prototype.invokeSubModuleInverse=function($,z){var C=this._subModules;if(C)for(var o,M,A=Array.prototype.slice.call(arguments,2),N=C.length-1;0<=N;N--)if((M=(o=C[N])[$])&&M.apply(o,A)!=Kd&&z)return o},mV.prototype.setUp=function(){h.log("setUp");var $=this.gv,z=$.getView(),C=this._canvas;mV.superClass.setUp.call(this),$.setEditInteractor(this),$._79O?z.insertBefore(C,$._79O):z.appendChild(C),h.startEdit($),this.invokeSubModule("setUp"),$.dm().mm(this._onDataModelChanged,this),$.dm().md(this._onDataPropertyChanged,this)},mV.prototype.tearDown=function(){h.log("tearDown");var $=this,z=$.gv,C=z.getView();$._resetCustomCursorStyle(),mV.superClass.tearDown.call($),z.dm().umm($._onDataModelChanged,$),z.dm().umd($._onDataPropertyChanged,$),z.setEditInteractor(null),C.removeChild($._canvas),$._drawTimer&&(zt($._drawTimer),$._drawTimer=null),h._46O(z),$.invokeSubModule("tearDown")},mV.prototype._onDataModelChanged=function($){("clear"===$.kind||"remove"===$.kind&&this.editDetail&&$.data===this.getSubModule("Curve").target)&&(this.editDetail=!1,this._42())},mV.prototype._onDataPropertyChanged=function($){var z,C;this.editDetail&&(z=this.getSubModule("Curve"),(C=$.data)!==z.target||C._writing||z._handleDataChanged($))},mV.prototype.clear=function(){h.log("clear")},mV.prototype.redraw=function(){this._42()},mV.prototype._42=function(){var $=this;$._drawTimer||($._drawTimer=$t(function(){$._drawTimer=null,$.drawImpl()},0))},mV.prototype.drawImpl=function(){for(var s in{_42:!0})break;return function(){var $=this._canvas,z=this.gv,C=z.getWidth(),o=z.getHeight(),M=this._context,A=U.Default.getInternal(),N=Qd.devicePixelRatio,A=($.width===C&&$.height===o||A.setCanvas($,C,o,N),M.clearRect(0,0,$.width,$.height),this._getValidSelection());M.save(),M.scale(N,N),this._gridGuide._42(),this.invokeSubModuleInverse(s,!1,M,z,A),this._rectGuide._42(),this._hoverGuide._42(),h.drawTip(M,this),M.restore()}}(),mV.prototype._getValidSelection=function(){var z=this.gv,$=z.sm().getSelection(),C=[];return $.each(function($){z.isVisible($)&&z.isEditable($)&&C.push($)}),C},mV.prototype.handle_touchmove=function($){return this.handle_mousemove($)},mV.prototype.handle_mousemove=function($){U.Default.isDragging()||!this.editDetail&&(BX()||z_($))||this.gv._externalEditing||(this.gvEditing=!1,this._checkEdit($)?this.gvEditing=!0:this.getStyle("hoverGuideVisible")&&(this.hoverData=this.gv.getDataAt($)),this._42())},mV.prototype.handle_touchstart=function($){return this.handle_mousedown($)},mV.prototype.handle_mousedown=function($){m3($);var z=this;if((z.editDetail||!BX()&&!z_($))&&!z.gv._externalEditing){if(M_($)&&!$.clickThrough){if(z.editDetail){if(z._tryQuitEditDetailMode($))return}else if(z._tryEnterEditDetailMode())return;z.gv.dm().beginTransaction();var C=z.invokeSubModule("handleDoubleClick",!0,$);if(z.gv.dm().endTransaction(),C)return}(C=z._checkEdit($))&&(z._downPosition=z._getLogicalPoint($),z.gv.dm().beginTransaction(),C.startEdit(z,$),z.editing=!0)}},mV.prototype._checkEdit=function($){var z=this.gv,C=this._getLogicalPoint($),z=this.invokeSubModule("check",!0,z,$,C)||null;return this._editMod=z},mV.prototype.handleWindowTouchMove=function($){return this.handleWindowMouseMove($)},mV.prototype.handleWindowMouseMove=function($){var z=this._downPosition;if(z){if(this._getLogicalPoint($).distanceTo(z)<this.getStyle("moveSensitivity"))return;delete this._downPosition}(z=this._editMod)&&z.handleEdit(this.gv,$),this.redraw()},mV.prototype._getLogicalPoint=function($){return $=U.Default.getLogicalPoint($,this._canvas),new h.Math.Vector2($)},mV.prototype.handleWindowTouchEnd=function($){return this.handleWindowMouseUp($)},mV.prototype.handleWindowMouseUp=function(){for(var z in{_46O:!0})break;return function($){this.editing=!1,this.setCursor("default"),this.invokeSubModule(z,!1,$),this._42(),this.gv.dm().endTransaction()}}(),mV.prototype.handle_mousewheel=function($){m3($),this.invokeSubModule("preHandleScroll",!0)||this.gv.handleScroll($,$.wheelDelta)},mV.prototype.handleDelete=function(){var $;if(!this.editDetail)return this.gv.dm().beginTransaction(),$=this.invokeSubModule("handleNormalStateDelete",!0),this.gv.dm().endTransaction(),void($||this.gv.removeSelection());this.gv.dm().beginTransaction(),this.invokeSubModule("handleDelete",!0),this.gv.dm().endTransaction(),this._42()},mV.prototype.handle_keydown=function($){var z,C=this;return($.metaKey||$.ctrlKey)&&C._42(),BX($)&&!C.editing?(C.gvEditing=!1,C.setCursor("default"),void C._42()):(z=$x($),C.editDetail?((z||zx($))&&(C.editDetail=!1,C._42()),C.gv.dm().beginTransaction(),C.invokeSubModule("handle_keydown",!0,$),void C.gv.dm().endTransaction()):(C.gv.dm().beginTransaction(),C.invokeSubModule("handleNormalStateKeyDown",!0,$),C.gv.dm().endTransaction(),void(z&&C._tryEnterEditDetailMode())))},mV.prototype.handle_keyup=function($){this.gv.dm().beginTransaction(),this.invokeSubModule("handle_keyup",!0,$),this.gv.dm().endTransaction()},mV.prototype._tryEnterEditDetailMode=function(){if(!this.editDetail&&this.invokeSubModule("canEnterEditDetailMode",!0)&&1===this._getValidSelection().length)return this.editDetail=!0,this._42(),!0},mV.prototype._tryQuitEditDetailMode=function($){return!(!this.editDetail||$&&!this.invokeSubModule("canQuitEditDetailMode",!0,$)||(this.editDetail=!1,this._42(),0))},mV.prototype.setStyle=function($,z,C){C?h.setStyle($,z):this._styleMap[$]=z,"baseColor"===$&&(MS=z),this.fp("styleChanged",null,{key:$,value:z,base:C}),this._42()},mV.prototype.getStyle=function($,z){var C=this._styleMap[$];return C!==Kd?C:h.getStyle($)},mV.prototype.setCursor=function($){this._resetCustomCursorStyle(),U.graph.EditInteractor.superClass.setCursor.call(this,$)},mV.prototype._drawHostGuide=function($){var z=this._context,C=this.gv,o=(h.Icons.DrawIcon(this,z,h.Icons.NodeHoverGuide,$.corners),$.host);if(o){var M=C.getAttachPoints(o);if(M&&M.length)for(var A=0,N=M.length;A<N;A++){var s=M[A],s=Nm(C,o,0,s.offsetX||0,s.offsetY||0,s.x,s.y);(s=h.toScreenPosition(C,s)).isAttach=$.attach===A,h.Icons.DrawIcon(this,z,h.Icons.AttachPoint,s)}}},mV.prototype._resetCustomCursorStyle=function(){var $;this._customStyle&&(($=this.gv.getView()).classList&&$.classList.remove&&$.classList.remove(this._customStyle),this._customStyle=null)},mV.prototype._setRotateCursor=function($){var $=(this._cursorFactory||(this._cursorFactory=new h.CursorFactory(this))).getRotateCursor($),z=this.gv.getView();this._resetCustomCursorStyle(),this._customStyle=$,z.classList&&z.classList.add&&z.classList.add($)};((C=h.Group=function($){this._entities=$,this._64O=0,this._position={x:0,y:0},this._scale={x:1,y:1},this._anchor={x:.5,y:.5},this._anchor2={x:.5,y:.5}}).prototype={}).constructor=C;var zS=null,CS=null;C.findOrCreateGroup=function($,z){return CS===z&&zS&&zS.checkIsMe($)?zS:(CS=z,(z=new h.Group($)).getKeyOb()?zS=z:void 0)},C.prototype.checkIsMe=function($){var z=this._entities;if(z.length!==$.length)return!1;for(var C={},o=$.length,M=0;M<o;M++)C[$[M]._id]=!0;for(M=0;M<o;M++)if(!C[z[M]._id])return!1;return!0},C.prototype.getRotation=function(){return this._64O},C.prototype.getPosition=function(){return this._position},C.prototype.getAnchor=function(){return this._anchor},C.prototype.getWidth=function(){return this._width},C.prototype.getScale=function(){return this._scale},C.prototype.getSize=function(){return{width:this._width,height:this._height}},C.prototype.getHeight=function(){return this._height},C.prototype.getKeyOb=function(){for(var $=this._entities,z=$.length-1;0<=z;z--){var C=$[z];if(this.isNode(C))return C}},C.prototype.getAnchor2=function(){var $=this.rotateCenter;if($)return $;if(!($=this.getKeyOb()))return this._anchor;var z=this._anchor2;return $.getMatrix().tf({x:$.getWidth()*(z.x-$.getAnchor().x),y:$.getHeight()*(z.y-$.getAnchor().y)})},C.prototype.setAnchor2=function($,z){var C=this.getKeyOb();C&&(z="number"==typeof $?{x:$,y:z}:$,$=C.getMatrix().tfi(z),this._anchor2={x:C.getAnchor().x+$.x/C.getWidth(),y:C.getAnchor().y+$.y/C.getHeight()})},C.prototype.setRotation=function($){},C.prototype.beginRotate=function($){this.rotateCenter=$.pos,this.rotateMode=$.groupRotateMode},C.prototype.endRotate=function(){delete this.rotateCenter,delete this.rotateMode},C.prototype.addRotation=function($,z,C){return"batch"===z?this._addRotationInBatchMode($,C):"block"===z?this._addRotationInBlockMode($,C):void 0},C.prototype._addRotationInBlockMode=function(o,M){var A=this,N=A.rotateCenter||A.getPosition();A._entities.forEach(function($){var z,C;!A.isNode($)||M&&!M($)||((z=$.getMatrix()).translate(-N.x,-N.y),z.rotate(o),z.translate(N.x,N.y),C=Math.sign($.getScale().x),$.setRotation(Ud(z.b*C,z.a*C)),$.setPosition(z.tx,z.ty))})},C.prototype._addRotationInBatchMode=function(M,A){var N=this,s=N._anchor2;N._entities.forEach(function($){var z,C,o;!N.isNode($)||A&&!A($)||(z=$.getAnchor(),z=(o=$.getMatrix()).tf({x:$.getWidth()*(s.x-z.x),y:$.getHeight()*(s.y-z.y)}),(C=new h.Math.Matrix2d).set(o.a,o.b,o.c,o.d,o.tx,o.ty),C.translate(-z.x,-z.y),C.rotate(M),C.translate(z.x,z.y),o=Math.sign($.getScale().x),$.setRotation(Ud(C.b*o,C.a*o)),$.setPosition(C.tx,C.ty))})},C.prototype.setPosition=function($){for(var z,C,o=this._position,M=$.x-o.x,A=$.y-o.y,N=this._entities,s=0,g=N.length;s<g;s++)z=N[s],R(z)&&(C=z.getPosition(),z.setPosition(C.x+M,C.y+A));this._position=$},C.prototype.setScale=function($,z){var C=$/this._scale.x,o=z/this._scale.y;this._adjustChildScaleOrSize(C,o,"size"),this._scale={x:$,y:z}},C.prototype.getRect=function(){var $=this._position,z=this._width,C=this._height;return{x:$.x-z/2,y:$.y-C/2,width:z,height:C}},C.prototype.setSize=function($,z){var $=Math.max(1,$),z=Math.max(1,z),C=$/this._width,o=z/this._height;this._adjustChildScaleOrSize(C,o,"size"),this._width=$,this._height=z},C.prototype._adjustChildScaleOrSize=function($,z,C){for(var o,M=this._position,A=this._entities,N=new h.Math.Matrix2d,s=0,g=A.length;s<g;s++){var Y,v,O,t,c,y,_,P=A[s];this.isNode(P)&&(Y=P.getPosition(),v=P.getRotation(),O=P.getWidth(),t=P.getHeight(),y=(c=P.getScale()).x*O,_=c.y*t,N.identity().scale(y,_).rotate(v).translate(Y.x,Y.y).translate(-M.x,-M.y).rotate(-this._64O),v=Ud(N.b*Math.sign(y),N.a*Math.sign(y)),N.scale($,z),_=Math.cos(v),Y=Math.sin(v),y=Math.abs(_)<.001?(o=N.b/Y,-N.c/Y):(o=N.a/_,N.d/_),"scale"===C?P.setScale(o/O,y/t):"size"===C&&(v=o/c.x,Y=y/c.y,P.setScale(Uv(o)*Math.abs(c.x),Uv(y)*Math.abs(c.y)),P.setSize(Math.max(.1,Math.abs(v)),Math.max(.1,Math.abs(Y)))),N.rotate(this._64O).translate(M.x,M.y),P.setPosition(N.tx,N.ty))}},C.prototype.getMatrix=function(){var $=this._position,z=U.Default.getInternal(),C=this._scale;return new z.Mat(this._64O,$.x,$.y,C.x,C.y)},C.prototype.toGlobal=function($){return this.getMatrix().tf($)},C.prototype.getCorners=function(){var $=this._width,z=this._height,C=-$*(o=this._anchor).x,o=-z*o.y,M=this.getMatrix();return[M.tf(C,o),M.tf(C,o+z),M.tf(C+$,o+z),M.tf(C+$,o)]},C.prototype.calcInfo=function($,z){for(var C,o=[],M=this._entities,A=this._64O,N=0,s=M.length;N<s;N++){var g,Y=M[N];this.isNode(Y)?Y.getCorners&&o.push.apply(o,Y.getCorners()):Y instanceof cV&&z.getStyle("selectionBoundingContainsEdge")&&((Y=$.getEdgeInfo(Y)).sourcePoint?((g=Y.points?Y.points.toArray():[]).unshift(Y.sourcePoint),g.push(Y.targetPoint)):Y.edgeTypeInfo&&(g=Y.edgeTypeInfo.points)&&(g=g.toArray()),g&&o.push.apply(o,g))}if(o.length){for(var v=Math.cos(-A),O=Math.sin(-A),t=1/0,c=-1/0,y=1/0,_=-1/0,N=0,s=o.length;N<s;N++)P=(C=o[N]).x,Z=C.y,C.x=v*P-O*Z,C.y=O*P+v*Z,t=Math.min(t,C.x),c=Math.max(c,C.x),y=Math.min(y,C.y),_=Math.max(_,C.y);this._width=(c-t)/this._scale.x,this._height=(_-y)/this._scale.y;var v=Math.cos(A),O=Math.sin(A),P=t+(c-t)*(A=this._anchor).x,Z=y+(_-y)*A.y;this._position={x:v*P-O*Z,y:O*P+v*Z}}},C.prototype.isNode=function($){return!(!R($)||bv($)&&$.size())},C.prototype._42=function($,z,C){var o,M,A,N,s,g=this._entities;for("batch"===this.rotateMode&&(s=this.getKeyOb()),o=0,M=g.length;o<M;o++)A=g[o],this.isNode(A)&&(N=A.getRect(),N={min:h.toScreenPosition(C,{x:N.x,y:N.y}),max:h.toScreenPosition(C,{x:N.x+N.width,y:N.y+N.height})},A===s&&(N.isKeyOb=!0),h.Icons.DrawIcon($,z,h.Icons.GroupSubEntityRect,N))},((o=h.CurveActiving=function($,z){for(var C in this._curve=$,this._interactor=$._interactor,this.silent=!0,z)this[C]=z[C];delete this.silent}).prototype={}).constructor=o,Jd.defineProperties(o.prototype,{point:{get:function(){return this._point},set:function($){this._point=$,this.editingCtrl||this.silent||this._firePointChange()}},pairs:{get:function(){return this._pairs},set:function($){this._pairs=$,this.editingCtrl&&!this.silent&&this._firePointChange()}}}),o.prototype._firePointChange=function(){var $,z,C=this.getCurrentEditingPoint(),o=this._interactor;C?(z=this._curve.target)&&(z=h.getDataMatrix(z).invert(),$=C.e,(C=z.apply(h.toWorldPosition(o.gv,C))).e=$,(z=this._lastFirePoint)&&Math.abs(C.x-z.x)<1e-5&&Math.abs(C.y-z.y)<1e-5&&(C.e==Kd&&z.e==Kd||Math.abs(C.e-z.e)<1e-5)||(this._lastFirePoint=C,o.fi({kind:"selectPoint",x:C.x,y:C.y,e:C.e}))):o.fi({kind:"selectPoint"})},o.prototype.dispose=function(){this._interactor.fi({kind:"selectPoint"})},o.prototype.getCurrentEditingPoint=function(){var $=this.editingCtrl;if($){var z=this.pairs;if(z=(z=z&&z[$.pairId])&&z[$.type])return z}return this._point},(((wd=h.CursorFactory=function($){this._interactor=$,this._rotateCursorStyles={}}).prototype={}).constructor=wd).prototype.getRotateCursor=function($){$<0&&($+=2*Math.PI);var z=(C=this._interactor).getStyle("rotateCursorSize"),C=C.getStyle("rotateCursorRound"),$=Math.round($/Math.PI*180/C),o=this._rotateCursorStyles,M="htCustomRotateStyle_"+z+"_"+C+"_"+($=360<=$*C?0:$);return o[M]||(this._produceRotateCursor(M,z,C,$),o[M]=!0),M},wd.prototype._produceRotateCursor=function($,z,C,o){this._interactor;var M=(M=this._canvas)||(this._canvas=c.createElement("canvas")),A=Qd.devicePixelRatio,N=(M.width=M.height=z*A,M.style.width=M.style.height=z+" px",M.getContext("2d"));h.setAntialias(N,!1),N.scale(A,A);var s=(s=Math.round(z/2))+" "+s+",auto !important;",o=Math.PI/180*o*C;N.clearRect(0,0,z,z),N.save(),N.scale(z/32,z/32),N.translate(16,15),N.rotate(o+Math.PI/2),N.beginPath(),N.moveTo(-8,0),N.lineTo(-8,4),N.lineTo(-4,4),N.moveTo(8,0),N.lineTo(8,4),N.lineTo(4,4),N.moveTo(-8,4),N.quadraticCurveTo(0,-6,8,4),N.restore(),N.lineCap="round",N.lineJoin="miter",N.strokeStyle="white",N.lineWidth=4,N.stroke(),N.strokeStyle="black",N.lineWidth=2,N.stroke(),o="cursor:url("+(C=JSON.stringify(M.toDataURL()))+")"+s,1!==A&&(o=o+("cursor:url(data:image/svg+xml;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+z+'px" height="'+z+'px"><image xlink:href='+C+' width="'+z+'" height="'+z+'"/></svg>'))+")"+s+"cursor:-webkit-image-set(url("+C+")"+A+"x,url("+C+")1x)"+s),(N=c.createElement("style")).textContent="body."+$+" *, ."+$+"{"+o+"}",c.head.appendChild(N)},((ZV=h.Guide.Grid=function($){this._interactor=$,this._alignmentGuideId=0,this._xAlignmentGuide=[],this._yAlignmentGuide=[]}).prototype={}).constructor=ZV,Jd.defineProperties(ZV.prototype,{gridBlockSize:{get:function(){return this._gridBlockSize||this._interactor.getStyle("gridBlockSize")},set:function($){this._gridBlockSize=$,this._interactor._42()}},gridThickLinesEvery:{get:function(){return this._gridThickLinesEvery||this._interactor.getStyle("gridThickLinesEvery")},set:function($){this._gridThickLinesEvery=$,this._interactor._42()}},gridEnabled:{get:function(){return this._interactor.gridEnabled&&this.isValidGrid()}}}),ZV.prototype._42=function(){var $=this._interactor;this.gridEnabled&&this.drawGrid(),$.alignmentGuideEnabled&&this.drawAlignmentGuide()},ZV.prototype.makeMatrix=function(){var $=this._interactor.getStyle("gridAngle"),z=this._interactor.getStyle("gridRotation"),C=new h.Math.Matrix2d,o=Math.sin($),$=Math.cos($);return C.set(1,0,$,o,0,0),C.rotate(z),C},ZV.prototype.isValidGrid=function(){var $=Math.PI,z=this._interactor;return!(z.gv._zoom<z.getStyle("gridZoomThreshold"))&&(z=z.getStyle("gridAngle"),!((z=Math.abs(z%$/$*180))<1-1e-8||179.00000001<z))},ZV.prototype.drawAlignmentGuide=function(){var $=this._interactor,z=$.gv,C=$._canvas,o=$._context,M=C.width,A=C.height,N=z.tx(),s=z.ty(),g=z._zoom;o.beginPath(),o.strokeStyle=$.getStyle("gridAlignmentGuideColor"),o.lineWidth=1,this._xAlignmentGuide.forEach(function($){$=$.p*g+N,o.moveTo($,0),o.lineTo($,A)}),this._yAlignmentGuide.forEach(function($){$=$.p*g+s,o.moveTo(0,$),o.lineTo(M,$)}),o.stroke()},ZV.prototype.drawGrid=function(){var $,z,C,o=this._interactor,M=this.gridBlockSize,A=this.gridThickLinesEvery,N=o.getStyle("gridThickColor"),s=o.getStyle("gridLightColor"),g=o.gv,Y=o._canvas,v=o._context,o=Y.width,Y=Y.height,O=this.makeMatrix(),t=O.applyInverse(h.toWorldPosition(g,{x:0,y:0})),c=O.applyInverse(h.toWorldPosition(g,{x:o,y:0})),y=O.applyInverse(h.toWorldPosition(g,{x:0,y:Y})),o=O.applyInverse(h.toWorldPosition(g,{x:o,y:Y})),_=Math.min(t.x,c.x,y.x,o.x),P=Math.max(t.x,c.x,y.x,o.x),Z=Math.min(t.y,c.y,y.y,o.y),X=Math.max(t.y,c.y,y.y,o.y),Y=Math.ceil(_/M),d=Math.floor(P/M),t=Math.ceil(Z/M),l=Math.floor(X/M);function J($,z,C,o){$=h.toScreenPosition(g,O.apply({x:$,y:z})),z=h.toScreenPosition(g,O.apply({x:C,y:o})),v.moveTo($.x,$.y),v.lineTo(z.x,z.y)}for(g.tx(),g.ty(),g._zoom,v.save(),v.lineWidth=1,v.beginPath(),v.strokeStyle=N,C=Math.ceil(Y/A)*A;C<=d;C+=A)J($=C*M,Z,$,X);for(C=Math.ceil(t/A)*A;C<=l;C+=A)J(_,z=C*M,P,z);for(v.stroke(),v.beginPath(),v.strokeStyle=s,C=Y;C<=d;C++)C%A!=0&&J($=C*M,Z,$,X);for(C=t;C<=l;C++)C%A!=0&&J(_,z=C*M,P,z);v.stroke(),v.restore()},ZV.prototype.getAlignmentGuides=function(){return{x:this._xAlignmentGuide,y:this._yAlignmentGuide}},ZV.prototype.addAlignmentGuide=function($,z,C){var o,$="x"===$?this._xAlignmentGuide:this._yAlignmentGuide,z={p:z,id:C=C||++this._alignmentGuideId};return $.length?(o=this._findClosestAlignmentGuide(z.p,$)).dis<0?$.splice(o.index+1,0,z):$.splice(o.index,0,z):$.push(z),this._interactor._42(),C},ZV.prototype.findClosest=function($,z,C){var o=this._interactor,M=o.gv,A=1/0,N=1/0,s=($=C?h.toWorldPosition(M,$):$).x,g=$.y;if(this.gridEnabled&&(v=this.gridBlockSize,$=(Y=this.makeMatrix()).applyInverse($),A=($=Y.apply({x:Math.round($.x/v)*v,y:Math.round($.y/v)*v})).x-s,N=$.y-g,Y=!0),o.alignmentGuideEnabled&&(v=this._findClosestAlignmentGuide(s,this._xAlignmentGuide).dis,$=this._findClosestAlignmentGuide(g,this._yAlignmentGuide).dis,Math.abs(v)<Math.abs(A)&&(A=v,Y=!0),Math.abs($)<Math.abs(N)&&(N=$,Y=!0)),Y){var Y=!1,s=M._zoom,g=o.getStyle("smartGuideThreshold")/s,v={};if(Math.abs(A)<g&&"y"!==z&&(v.x=C?A*s:A,Y=!0),Math.abs(N)<g&&"x"!==z&&(v.y=C?N*s:N,Y=!0),Y)return v}},ZV.prototype._findClosestAlignmentGuide=function($,z){if(!z.length)return{dis:1/0};for(var C,o=0,M=z.length-1;1<M-o;)z[C=Math.floor((o+M)/2)].p<$?o=C:M=C;var A=z[o].p-$,N=z[M].p-$;return Math.abs(A)<=Math.abs(N)?{line:z[o],dis:A,index:o}:{line:z[M],dis:N,index:M}},ZV.prototype.removeAllAlignmentGuide=function($){"y"!==$&&(this._xAlignmentGuide=[]),"x"!==$&&(this._yAlignmentGuide=[]),this._interactor._42()},ZV.prototype.removeAlignmentGuide=function($){for(var z,C,o,M=this._xAlignmentGuide,A=0;A<2;A++)for(C=(M=(z=0)===A?this._xAlignmentGuide:this._yAlignmentGuide).length;z<C;z++)if((o=M[z]).id===$)return M.splice(z,1),this._interactor._42(),{axis:0===A?"x":"y",position:o.p};return!1},ZV.prototype.adjustAlignmentGuide=function($,z){var C=this.removeAlignmentGuide($);return!!C&&(this.addAlignmentGuide(C.axis,z,$),!0)},((($=h.Guide.Rect=function($){this._interactor=$}).prototype={}).constructor=$).prototype.gatherRects=function(){var A,N,s,g,Y=this._interactor.gv,v=[],O=[],t={x:v,y:O,xMap:{},yMap:{}},c={},$=Y.getDataModel(),z=$.a("width"),C=$.a("height");z&&C&&(N=A=0,s=z,g=C,v.push({node:$,type:0,p:A},{node:$,type:1,p:A+s/2},{node:$,type:2,p:A+s}),O.push({node:$,type:0,p:N},{node:$,type:1,p:N+g/2},{node:$,type:2,p:N+g}),c[$._id||0]={x:A,y:N,width:s,height:g}),$.each(function(z){var C,$,o,M;R(z)&&!Y.isSelected(z)&&Y.isVisible(z)&&Y.isValidGuideLineSource(z)&&(C=!1,Y.sm().getSelection().each(function($){C||(z.isHostOn($)||z.isDescendantOf($))&&(C=!0)}),C||($=z.getRect(),A=$.x,N=$.y,s=$.width,g=$.height,M=[{node:z,type:0,p:N},{node:z,type:1,p:N+g/2},{node:z,type:2,p:N+g}],(o=[{node:z,type:0,p:A},{node:z,type:1,p:A+s/2},{node:z,type:2,p:A+s}]).forEach(function($){var z=t.xMap[$.p];z?z.push($):t.xMap[$.p]=[$]}),M.forEach(function($){var z=t.yMap[$.p];z?z.push($):t.yMap[$.p]=[$]}),v.push.apply(v,o),O.push.apply(O,M),c[z._id]=$))}),v.sort(function($,z){var C,o;return $.p===z.p?(C=$.node.getRect&&$.node.getRect(),o=z.node.getRect&&z.node.getRect(),C&&o?C.y+C.height-(o.y+o.height):0):$.p-z.p}),O.sort(function($,z){var C,o;return $.p===z.p?(C=$.node.getRect&&$.node.getRect(),o=z.node.getRect&&z.node.getRect(),C&&o?C.x+C.width-(o.x+o.width):0):$.p-z.p}),this._grid=t,this._87I=c},$.prototype.gatherLines=function($,z,C){var o,M,A,N,s,g,Y,v,O,t=[this.findClosest({x:$.x,y:$.y},z,Kd,!0),this.findClosest({x:$.x+$.w/2,y:$.y+$.h/2},z,Kd,!0),this.findClosest({x:$.x+$.w,y:$.y+$.h},z,Kd,!0)],c={},y=this._87I;for(C=C||255,this._guideLine=[],o=0;o<2;o++)for(c={},Y=0===o?(N="y",(g=$.x)+$.w):(N="x",(g=$.y)+$.h),M=0;M<3;M++)(s=t[M])&&isFinite(s[N])&&C&1<<3*o+M&&(c[O=(s=s[N+"Line"]).node._id||0]||(c[O]=!0,O=y[O],O="y"===N?(v=O.x,O.x+O.width):(v=O.y,O.y+O.height),A=s.p,this._guideLine.push({type:N,a:g,b:Y,c:v,d:O,p:A,center:1===s.type})))},$.prototype.checkAlignAreas=function(N){var s=this._alignGuideAreas;s&&(s.x||s.y)&&["x","y"].forEach(function($){var z,C,o,M,A=s[$];A&&(M=A.pre,z=A.next,C=A.sides,o=A.gap,M?"x"===$&&1e-6<I(o-(N.x-M.x-M.width))||"y"===$&&1e-6<I(o-(N.y-M.y-M.height))?delete s[$]:A.list.push([M,N]):z?"x"===$&&1e-6<I(o-(z.x-N.x-N.width))||"y"===$&&1e-6<I(o-(z.y-N.y-N.height))?delete s[$]:A.list.push([N,z]):C&&(M=C[0],"x"===$&&1e-6<I(o-(N.x-M.x-M.width))||"y"===$&&1e-6<I(o-(N.y-M.y-M.height))?delete s[$]:A.list=[[M,N],[N,C[1]]]))})},$.prototype._binarySearchClosest=function(O,$,t,s){if(!$.length)return{dis:1/0};for(var z,C=O[s],o=0,M=$.length-1;1<M-o;)$[z=md((o+M)/2)].p<C?o=z:M=z;function c($,z){if(!$.node.getRect)return fd;var C=($=$.node.getRect()).x,o=$.x+$.width,M=$.y,$=$.y+$.height,A=fd,N=fd;return"x"===s?z.y<M?(A=M-z.y,N="f"):z.y>$&&(A=z.y-$,N="b"):z.x<C?(A=C-z.x,N="f"):z.x>o&&(A=z.x-o,N="b"),{distance:A,orn:N}}function A($){var z=t[$.p];if(!z||1===z.length)return $;var C=$,o=c($,O);if(!o)return $;var M=o.distance,A=o.orn;if(M===fd)return $;for(var N=z.length,s=0;s<N;s++){var g=z[s],Y=c(g,O),v=Y.distance;v!==fd&&A===Y.orn&&v<M&&(M=v,C=g)}return C||$}var N=$[o].p-C,g=$[M].p-C;return I(N)<=I(g)?{line:A($[o]),dis:N}:{line:A($[M]),dis:g}},$.prototype.findClosest=function($,z,C,o){var M,A=(Y=this._interactor).gv,N=this._grid,s=(C&&($=h.toWorldPosition(A,$)),this._binarySearchClosest($,N.x,N.xMap,"x")),$=this._binarySearchClosest($,N.y,N.yMap,"y"),N=s.dis,g=$.dis,A=A._zoom,Y=Y.getStyle("smartGuideThreshold")/A,v={};if((!o&&I(N)<Y||o&&!N)&&"y"!==z&&(v.x=C?N*A:N,v.xLine=s.line,M=!0),(!o&&I(g)<Y||o&&!g)&&"x"!==z&&(v.y=C?g*A:g,v.yLine=$.line,M=!0),M)return v},$.prototype.gatherRectsGap=function($,z){for(var C,o,M,A,N=$.length,s={},g=1;g<N;g++)C=$[g-1],o=$[g],y_(C,o)||(A=z?C.y+C.height:C.x+C.width)<(M=z?o.y:o.x)&&((M-=A)<.5||(s[A=M.toFixed(6)]||(s[A]=[]),s[A].push([C,o])));return s},$.prototype.findAlignClosest=function($,z){var C,o,M,A,N,s,g,Y,v,O,t,c,y,_=this,P=_._87I,Z=(_._alignGuideAreas={x:fd,y:fd},[]),X=[],d=[],l=[],J=$.x,K=$.x+$.width,f=$.y,Q=$.y+$.height,W=1/0;for(y in P)M=(o=(C=P[y]).x)+C.width,N=(A=C.y)+C.height,o<=K&&J<=M?(Q<A&&l.push(C),N<f&&X.push(C)):A<=Q&&f<=N&&(K<o&&d.push(C),M<J&&Z.push(C));var V,e=_._interactor,D=e.gv._zoom,a=e.getStyle("smartGuideThreshold")/D,k={};if("y"!==z){if(s=function($,z){return $.x+$.width-(z.x+z.width)},1<Z.length)for(var x in Z.sort(s),g=_.gatherRectsGap(Z),v=(Y=Z[Z.length-1]).x+Y.width,g)c=Number(x),(t=I(O=v+c-J))<W&&t<a&&(W=t,k.x=O,_._alignGuideAreas.x={list:g[x],pre:Y,gap:c});if(1<d.length)for(var x in d.sort(s),g=_.gatherRectsGap(d),v=(Y=d[0]).x,g)c=Number(x),(t=I(O=v-K-c))<W&&t<a&&(W=t,k.x=O,_._alignGuideAreas.x={list:g[x],next:Y,gap:c});Z.length&&d.length&&(e=Z[Z.length-1],D=d[0],(V=e.x+e.width)<J&&K<D.x&&(c=(D.x-V-$.width)/2,(t=I(O=V+c-J))<W&&t<a&&(k.x=O,_._alignGuideAreas.x={sides:[e,D],gap:c})))}if("x"!==z){if(W=1/0,s=function($,z){return $.y+$.height-(z.y+z.height)},1<X.length)for(var x in X.sort(s),g=_.gatherRectsGap(X,!0),v=(Y=X[X.length-1]).y+Y.height,g)c=Number(x),(t=I(O=v+c-f))<W&&t<a&&(W=t,k.y=O,_._alignGuideAreas.y={list:g[x],pre:Y,gap:c});if(1<l.length)for(var x in l.sort(s),g=_.gatherRectsGap(l,!0),v=(Y=l[0]).y,g)c=Number(x),(t=I(O=v-Q-c))<W&&t<a&&(W=t,k.y=O,_._alignGuideAreas.y={list:g[x],next:Y,gap:c});X.length&&l.length&&(V=X[X.length-1],e=l[0],(D=V.y+V.height)<f&&Q<e.y&&(c=(e.y-D-$.height)/2,(t=I(O=D+c-f))<W&&t<a&&(k.y=O,_._alignGuideAreas.y={sides:[V,e],gap:c})))}return k},$.prototype.drawAlignArea=function(){var M,z,C,o,A,N,s,$,g,Y,v,O,t=this._alignGuideAreas;t&&(t.x||t.y)&&(g=($=this._interactor).gv,M=$._context,z=g.tx(),C=g.ty(),o=g._zoom,A=function($){return $.forEach(function($){$.x=$.x*o+z,$.y=$.y*o+C}),v_($)},N=[],s=[],M.beginPath(),t.x&&t.x.list&&t.x.list.forEach(function($){var z=$[0],$=$[1],z=[{x:z.x+z.width,y:z.y},{x:z.x+z.width,y:z.y+z.height},{x:$.x,y:$.y},{x:$.x,y:$.y+$.height}];N.push(A(z))}),t.y&&t.y.list&&t.y.list.forEach(function($){var z=$[0],$=$[1],z=[{x:z.x,y:z.y+z.height},{x:z.x+z.width,y:z.y+z.height},{x:$.x,y:$.y},{x:$.x+$.width,y:$.y}];s.push(A(z))}),$="rgb(183,232,135)",M.lineWidth=1,M.beginPath(),N.forEach(function($){var z=$.x,C=$.y,o=$.width,C=C+$.height/2;M.moveTo(z,C-2),M.lineTo(z,C+2),M.moveTo(z,C),M.lineTo(z+o,C),M.moveTo(z+o,C-2),M.lineTo(z+o,C+2)}),s.forEach(function($){var z=$.x,C=$.y,o=$.width,$=$.height;M.moveTo((z=z+o/2)-2,C),M.lineTo(z+2,C),M.moveTo(z,C),M.lineTo(z,C+$),M.moveTo(z-2,C+$),M.lineTo(z+2,C+$)}),M.strokeStyle=$,M.stroke(),g="12px Arial",Y=$,M.textBaseline=Jt,M.textAlign=dt,M.font=g,t.x&&(v=hd(t.x.gap),O=B3(g,v),N.forEach(function($){var z=$.x+$.width/2-O.width/2,$=$.y+$.height/2-O.height-2,C=O.width,o=O.height;M.beginPath(),Vx(M,z,$,C,o,2),M.fillStyle=Y,M.fill(),M.fillStyle="#fff",M.fillText(v,z+C/2,$+o/2)})),t.y&&(v=hd(t.y.gap),O=B3(g,v),s.forEach(function($){var z=$.x+$.width/2-O.width-2,$=$.y+$.height/2-O.height/2,C=O.width,o=O.height;M.beginPath(),Vx(M,z,$,C,o,2),M.fillStyle=Y,M.fill(),M.fillStyle="#fff",M.fillText(v,z+C/2,$+o/2)})))},$.prototype._42=function(){if(!U.Default.isCtrlDown()){this.drawAlignArea();var $=this._guideLine;if($){var z=this._interactor;if(z.getStyle("guideLineVisible"))for(var C,o,M,A,N,s,g,Y,v,O,t,c,y,_=z.gv,P=z._context,Z=_.tx(),X=_.ty(),d=_._zoom,l=z.getStyle("guideLineTextSpacing"),J=0,K=$.length;J<K;J++)N=(C=$[J]).type,s=C.p,g=C.a,Y=C.b,v=C.c,O=C.d,t=od(g,v),c=Cd(Y,O),s="x"===N?(M=t*d+X,A=o=s*d+Z,c*d+X):(o=t*d+Z,A=c*d+Z,M=s*d+X),h.Icons.DrawIcon(z,P,h.Icons.MoveLineGuide,{rect:[o,M,A,s],center:C.center}),g<=O&&v<=Y||(t=O<g?O:Y,c=O<g?g:v,"x"===N?(C.center2center||(A=o-=l),M=t*d+X,s=c*d+X,y=h.Icons.MoveLineGuideDistanceV):"y"===N&&(C.center2center||(s=M-=l),o=t*d+Z,A=c*d+Z,y=h.Icons.MoveLineGuideDistanceH),h.Icons.DrawIcon(z,P,y,{x0:o,y0:M,x1:A,y1:s,dis:c-t}))}}},$.prototype.clear=function(){this._guideLine=fd,this._alignGuideAreas=fd};((C=h.Guide.Hover=function($){this._interactor=$}).prototype={}).constructor=C,Jd.defineProperties(C.prototype,{}),C.prototype._42=function(){var $,z,C,o=this._interactor;o.getStyle("hoverGuideVisible")&&!o.gvEditing&&($=o.hoverData,C=o.gv,!R($)||C.isSelected($)?o.hoverData=null:($=GK(C,$),z=h.toScreenPosition(C,{x:$.x,y:$.y}),C=h.toScreenPosition(C,{x:$.x+$.width,y:$.y+$.height}),h.Icons.DrawIcon(o,o._context,h.Icons.HoverDataRect,{min:z,max:C,color:o.getStyle("hoverGuideColor")||o.getStyle("baseColor"),borderWidth:o.getStyle("hoverGuideBorderWidth")||1,borderPattern:o.getStyle("hoverGuideBorderPattern")||[1,4]})))},h.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,rotateTipVisible:!0,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,edgeElevationEditable:!1,attachThreshold:25,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],curveTipVisible:!0,connectGuideVisible:!0,connectGuideShift:[1,.25,8,0],connectGuideIntersectSize:8,connectGuideGarbageIntersectsize:25,connectGuideGarbageShift:[1,1,-48,-48],moveHelperFilter:fd,rectEditHelperFilter:fd,layoutGuideVisible:!0,selectionBoundingContainsEdge:!1};var M=h.Icons={},oS=null,MS=h.DefaultStyleMap.baseColor,AS="rgb(255,204,153)",NS=(U.Default.setImage("Icons.RectPoint",{width:6,height:6,comps:[{type:"rect",background:"rgb(247,247,247)",borderWidth:1,borderColor:{func:function(){return MS}},rect:[0,0,6,6]}]}),M.GroupSubEntityRect={comps:[{type:"shape",points:{func:function(){if(!(z=M.GroupSubEntityRect.data))return[];var $=z.min,z=z.max;return[$.x,$.y,$.x,z.y,z.x,z.y,z.x,$.y]}},segments:[1,2,2,2,5],background:null,borderWidth:1,borderColor:{func:function(){return M.GroupSubEntityRect.data.isKeyOb,MS}}}]},M.HoverDataRect={comps:[{type:"shape",points:{func:function(){if(!(C=M.HoverDataRect.data))return[];var $=C.min,z=C.max,C=C.gap;return $.x-=C=C===Kd?4:C,$.y-=C,z.x+=C,z.y+=C,[$.x,$.y,$.x,z.y,z.x,z.y,z.x,$.y]}},segments:[1,2,2,2,5],background:null,borderWidth:{func:function(){return M.HoverDataRect.data.borderWidth}},borderColor:{func:function(){return M.HoverDataRect.data.color}},borderCap:"butt",borderPattern:{func:function(){return M.HoverDataRect.data.borderPattern}}}]},M.Line={comps:[{type:"image",name:"Icons.RectPoint",rect:{func:function(){return[[M.Line.data.P1.x,M.Line.data.P1.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rect:{func:function(){return[[M.Line.data.P2.x,M.Line.data.P2.y],6,6]}}}]},M.NodeHoverGuide={comps:[{type:"shape",points:{func:function(){return M.NodeHoverGuide.data}},segments:[1,2,2,2,5],background:null,borderWidth:1,borderColor:"#3399FF"}]},M.Rect={comps:[{type:"shape",points:{func:function(){if(!(o=M.Rect.data))return[];var $=o.LT,z=o.LB,C=o.RB,o=o.RT;return[$.x,$.y,z.x,z.y,C.x,C.y,o.x,o.y]}},segments:[1,2,2,2,5],background:null,borderWidth:1,borderColor:{func:function(){return MS}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},rect:{func:function(){return[[M.Rect.data.LT.x,M.Rect.data.LT.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},rect:{func:function(){return[[M.Rect.data.LB.x,M.Rect.data.LB.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},rect:{func:function(){return[[M.Rect.data.RB.x,M.Rect.data.RB.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},rect:{func:function(){return[[M.Rect.data.RT.x,M.Rect.data.RT.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},visible:{func:function(){return!!M.Rect.data.L}},rect:{func:function(){return[[M.Rect.data.L.x,M.Rect.data.L.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},visible:{func:function(){return!!M.Rect.data.R}},rect:{func:function(){return[[M.Rect.data.R.x,M.Rect.data.R.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},visible:{func:function(){return!!M.Rect.data.T}},rect:{func:function(){return[[M.Rect.data.T.x,M.Rect.data.T.y],6,6]}}},{type:"image",name:"Icons.RectPoint",rotation:{func:function(){return M.Rect.data.rotation}},visible:{func:function(){return!!M.Rect.data.B}},rect:{func:function(){return[[M.Rect.data.B.x,M.Rect.data.B.y],6,6]}}}]},U.Default.setImage("Icons.Anchor",{width:12,height:12,comps:[{type:"shape",borderWidth:1,borderColor:{func:function(){return MS}},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 MS}},shadowColor:"#1ABC9C",rect:[2.84391,2.84391,6.53697,6.53697]}]}),M.Anchor={comps:[{type:"image",name:"Icons.Anchor",rect:{func:function(){return[[M.Anchor.data.POS.x,M.Anchor.data.POS.y],16,16]}}}]},M.TipShiftX=12,M.TipShiftY=12,[8,28]);M.TipHelper={comps:[{type:"roundRect",rect:{func:function(){return[M.TipHelper.data.helperPos.x,M.TipHelper.data.helperPos.y,NS[0]*M.TipHelper.data.size,NS[1]]}},background:{func:function(){return oS.getStyle("tipBackground")}},opacity:.6},{type:"text",text:{func:function(){return M.TipHelper.data.text}},rect:{func:function(){return[M.TipHelper.data.helperPos.x,M.TipHelper.data.helperPos.y,NS[0]*M.TipHelper.data.size,NS[1]]}},color:{func:function(){return oS.getStyle("tipTextColor")}},font:"bold 12px Arial",align:"center"}]},M.ShapePoint={comps:[{type:"circle",visible:{func:function(){return!!M.ShapePoint.data.dynamicVisible}},rect:{func:function(){var $=M.ShapePoint.data.point,z=M.ShapePoint.data.size||7;return[$,z+10,z+10]}},background:{func:function(){var $=Date.now(),z=M.ShapePoint.data.dynamicPeriod||1500;return"rgba(27,124,22,"+.5*Math.sin($%z/z*Math.PI)+")"}},borderWidth:0},{type:"circle",rect:{func:function(){var $=M.ShapePoint.data.point,z=M.ShapePoint.data.size||7;return[$,z,z]}},background:{func:function(){return M.ShapePoint.data.isEnd?"rgba(27,124,222,0.7)":"#ffffff"}},borderWidth:1,borderColor:{func:function(){return M.ShapePoint.data.color||MS}}},{type:"rect",visible:{func:function(){return!!M.ShapePoint.data.dynamicVisible}},background:"red",borderWidth:0,rotation:Math.PI/4,borderColor:{func:function(){return MS}},rect:{func:function(){return[M.ShapePoint.data.point,5,5]}}}]},M.ShapeBgCurve={comps:[{type:"shape",visible:{func:function(){return!!M.ShapeBgCurve.data.dynamicVisible}},points:{func:function(){return M.ShapeBgCurve.data.P}},segments:{func:function(){return M.ShapeBgCurve.data.S}},background:null,borderWidth:6,borderColor:{func:function(){var $=Date.now(),z=M.ShapeBgCurve.data.dynamicPeriod||1500;return"rgba(27,124,22,"+.3*Math.sin($%z/z*Math.PI)+")"}}},{type:"shape",points:{func:function(){return M.ShapeBgCurve.data.P}},segments:{func:function(){return M.ShapeBgCurve.data.S}},background:null,borderWidth:1,borderColor:{func:function(){return M.ShapeBgCurve.data.color||MS}}}]},M.ShapeHighlighPoint={comps:[{type:"circle",rect:{func:function(){var $=M.ShapeHighlighPoint.data;return[[$.x,$.y],8,8]}},background:{func:function(){return oS.getStyle("shapeHighlighPointBackground")}},borderWidth:0}]},M.ShapeHighlighRealPoint={comps:[{type:"circle",rect:{func:function(){var $=M.ShapeHighlighRealPoint.data;return[[$.x,$.y],10,10]}},background:"#ffffff",borderWidth:2,borderColor:{func:function(){return MS}}}]},M.ShapeHighlighCtrlPoint={comps:[{type:"shape",points:{func:function(){var $=M.ShapeHighlighCtrlPoint.data,z=$.x;return[z-4,($=$.y)-4,z-4,$+4,z+4,$+4,z+4,$-4]}},segments:[1,2,2,2,5],borderWidth:2,background:{func:function(){return oS.getStyle("shapeCtrlPointBackground")}},borderColor:{func:function(){return oS.getStyle("shapeCtrlPointBorderColor")||MS}}}]},M.ShapeHighlightCurve={comps:[{type:"shape",points:{func:function(){return M.ShapeHighlightCurve.data}},segments:[1,4],background:null,borderWidth:3,borderColor:{func:function(){return oS.getStyle("curveHighlightColor")}}}]},M.ShapeGuideLine={comps:[{type:"shape",points:{func:function(){return M.ShapeGuideLine.data}},background:null,borderWidth:1,borderColor:"rgb(255,204,153)"}]},M.MoveLineGuide={comps:[{type:"shape",points:{func:function(){return M.MoveLineGuide.data.rect}},background:null,borderWidth:1,borderColor:{func:function(){return M.MoveLineGuide.data.center?"rgb(183,232,135)":AS}}}]},M.MoveLineGuideDistanceH={comps:[{type:"shape",points:{func:function(){var $=M.MoveLineGuideDistanceH.data,z=$.x0;return[z,($=$.y0)-5,z,$+5]}},rotation:-Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:AS},{type:"shape",points:{func:function(){var $=M.MoveLineGuideDistanceH.data,z=$.x1;return[z,($=$.y1)-5,z,$+5]}},rotation:-Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:AS},{type:"text",text:{func:function(){return Math.round(M.MoveLineGuideDistanceH.data.dis)}},rect:{func:function(){var $=M.MoveLineGuideDistanceH.data;return[[($.x0+$.x1)/2,$.y0-10],20,20]}},color:AS,font:"12px Arial",align:"center"}]},M.MoveLineGuideDistanceV={comps:[{type:"shape",points:{func:function(){var $=M.MoveLineGuideDistanceV.data,z=$.x0;return[z-5,$=$.y0,z+5,$]}},rotation:Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:AS},{type:"shape",points:{func:function(){var $=M.MoveLineGuideDistanceV.data,z=$.x1;return[z-5,$=$.y1,z+5,$]}},rotation:Math.PI/4,segments:[1,2],background:null,borderWidth:1,borderColor:AS},{type:"text",text:{func:function(){return Math.round(M.MoveLineGuideDistanceV.data.dis)}},rect:{func:function(){var $=M.MoveLineGuideDistanceV.data;return[[$.x0-10,($.y0+$.y1)/2],20,20]}},color:AS,font:"12px Arial",align:"center"}]},U.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]}]}),M.EdgeElevationGuide={comps:[{type:"image",name:"Icons.EdgeElevationGuideImage",rect:{func:function(){var $=(z=M.EdgeElevationGuide.data).x,z=z.y,C=oS.getStyle("curveElevationIntersectSize"),o=oS.getStyle("curveElevationGuideShift");return[($+=o[0])-C,(z+=o[1])-C,2*C,2*C]}}}]},U.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]}]}),U.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]}]}),M.ConnectGuide={comps:[{type:"image",name:"Icons.ConnectGuideBgImage",rotation:{func:function(){return M.ConnectGuide.data.rotation}},rect:{func:function(){var $=M.ConnectGuide.data.connect,z=($.x,$.y,oS.getStyle("connectGuideIntersectSize"));return[[$.x,$.y],2*z,2*z]}}},{type:"image",name:"Icons.ConnectGuideHeaderImage",rect:{func:function(){var $=M.ConnectGuide.data.cursorPos||M.ConnectGuide.data.connect,z=oS.getStyle("connectGuideIntersectSize");return[[$.x,$.y],2*z-2,2*z-2]}}},{type:"shape",background:null,borderColor:"#3399ff",borderWidth:2,segments:[1,4],points:{func:function(){var $=M.ConnectGuide.data.connect,z=M.ConnectGuide.data.cursorPos||$;return[$.x,$.y,$.x+.5*(z.x-$.x),$.y,z.x+.5*($.x-z.x),z.y,z.x,z.y]}}}]},U.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]}]}),U.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]}]}),M.ConnectGuideGarbage={comps:[{type:"image",name:{func:function(){return M.ConnectGuideGarbage.data.hover?"Icons.ConnectGuideDeletingImage":"Icons.ConnectGuideGarbageImage"}},rect:{func:function(){var $=M.ConnectGuideGarbage.data,z=oS.getStyle("connectGuideGarbageIntersectsize");return $.hover&&(z+=5),[[$.x,$.y],2*z,2*z]}}}]},M.ShapeActivingCtrl={comps:[{type:"shape",visible:{func:function(){return!!M.ShapeActivingCtrl.data.c1}},points:{func:function(){var $=M.ShapeActivingCtrl.data;return[$.point.x,$.point.y,$.c1.x,$.c1.y]}},segments:[1,2],background:null,borderWidth:1,borderColor:{func:function(){return MS}}},{type:"shape",visible:{func:function(){return!!M.ShapeActivingCtrl.data.c2}},points:{func:function(){var $=M.ShapeActivingCtrl.data;return[$.point.x,$.point.y,$.c2.x,$.c2.y]}},segments:[1,2],background:null,borderWidth:1,borderColor:{func:function(){return MS}}},{type:"shape",visible:{func:function(){return!!M.ShapeActivingCtrl.data.c1}},points:{func:function(){var $=(z=M.ShapeActivingCtrl.data.c1).x,z=z.y,C=3;return"c1"===M.ShapeActivingCtrl.data.hl&&(C+=.5),[$-C,z-C,$-C,z+C,$+C,z+C,$+C,z-C]}},segments:[1,2,2,2,5],borderWidth:2,background:{func:function(){return oS.getStyle("shapeCtrlPointBackground")}},borderColor:{func:function(){return"c1"===M.ShapeActivingCtrl.data.hl?oS.getStyle("shapeCtrlPointHighlightBorder")||MS:oS.getStyle("shapeCtrlPointBorderColor")||MS}}},{type:"shape",visible:{func:function(){return!!M.ShapeActivingCtrl.data.c2}},points:{func:function(){var $=(z=M.ShapeActivingCtrl.data.c2).x,z=z.y,C=3;return"c2"===M.ShapeActivingCtrl.data.hl&&(C+=.5),[$-C,z-C,$-C,z+C,$+C,z+C,$+C,z-C]}},segments:[1,2,2,2,5],borderWidth:2,background:{func:function(){return oS.getStyle("shapeCtrlPointBackground")}},borderColor:{func:function(){return"c2"===M.ShapeActivingCtrl.data.hl?oS.getStyle("shapeCtrlPointHighlightBorder")||MS:oS.getStyle("shapeCtrlPointBorderColor")||MS}}}]},M.RoundPoint={comps:[{type:"circle",background:"rgb(247,247,247)",borderWidth:1,borderColor:{func:function(){return MS}},rect:{func:function(){return[[M.RoundPoint.data.x,M.RoundPoint.data.y],6,6]}}}]},M.AttachPoint={comps:[{type:"rect",background:{func:function(){return M.AttachPoint.data.isAttach?"rgb(51,153,255)":"rgb(247,247,247)"}},borderWidth:1,rotation:Math.PI/4,borderColor:{func:function(){return MS}},rect:{func:function(){var $=M.AttachPoint.data.isAttach?10:6;return[[M.AttachPoint.data.x,M.AttachPoint.data.y],$,$]}}}]},M.SimpleRect={comps:[{type:"rect",background:null,borderWidth:{func:function(){return M.SimpleRect.data.borderWidth||1}},borderColor:{func:function(){return M.SimpleRect.data.color||MS}},rect:{func:function(){var $=M.SimpleRect.data;return[$.x,$.y,$.width,$.height]}}}]},U.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]}]}),M.MoveDummy={comps:[{type:"image",name:"Icons.MoveDummyImage",rect:{func:function(){var $=M.MoveDummy.data;return[[$.pos.x,$.pos.y],2*$.size,2*$.size]}}}]},h.Icons.DrawIcon=function($,z,C,o){C.width=C.height=1e4,C.data=o,oS=$,U.Default.drawImage(z,C,0,0,1e4,1e4),oS=Kd},h.Icons.MapPoints=function($,z){for(var C=0,o=$.length;C<o;C++)$[C]/=z},h.roundTo=function($,z,C){var o=Math.abs($%z);return o<C||z-o<C?z*Math.round($/z):$},h.toFixed=function($){return Math.round(100*$)/100},h.getDataMatrix=function($){var z,C;return $ instanceof U.Shape?(z=new U.Math.Matrix2d,C=$.getPosition(),z.translate(-C.x,-C.y).scale($.getScale().x,$.getScale().y).rotate($.getRotation()).translate(C.x,C.y),z):$.getMatrix?$.getMatrix():new U.Math.Matrix2d},(((o=h.Math.Curve=function(){this._curves=[]}).prototype={}).constructor=o).prototype.createFromHtShape=function(z,$,C){$ instanceof U.List&&($=$.toArray());for(var o,M,A,N,s=null,g=null,Y=0,v=h.Math.Vector2,O=h.Math.CubicBezier,t=function($){return new v(z[$],z[$+1],C?C[$/2]:Kd)},c=0,y=$.length;c<y;c++){switch(M=null,$[c]){case 1:s=g=t(Y),Y+=2;break;case 2:o=t(Y),Y+=2,M=new O(g,g.clone(),o.clone(),o),g=o;break;case 3:A=t(Y),o=t(Y+2),Y+=4,M=new O(g,A.clone().sub(g).multiplyScalar(2/3).add(g),A.clone().sub(o).multiplyScalar(2/3).add(o),o),g=o;break;case 4:A=t(Y),N=t(Y+2),o=t(Y+4),Y+=6,M=new O(g,A,N,o),g=o;break;case 5:if(!s)break;M=new O(g,g.clone(),s.clone(),s),s=g=null}M&&(M._index=this._curves.length,this._curves.push(M))}},o.prototype.checkPoint=function($,z){for(var C,o,M,A=this._curves,N=0,s=A.length;N<s;N++)if((M=(o=A[N]).intersectRect($,z,z)).length)return C=0,M.forEach(function($){C+=$.t}),C/=M.length,($=o.getPointAt(C)).t=C,{bezier:o,intersection:$}},o.prototype.insertKnot=function($,z){z=$.insertKnot(z),this._curves.splice($._index,1,z[0],z[1])},o.prototype._isCloseEnough=function($,z){return Math.abs($.x-z.x)<1e-6&&Math.abs($.y-z.y)<1e-6},o.prototype._isSamePoint=function($,z){return $===z},o.prototype.moveRealPoint=function(o,M){var A=this,$=A._curves,N=M.clone().sub(o);$.forEach(function($){var z=$._p1,C=($._p2,$._p3,$._p4);A._isSamePoint(z,o)&&($._p2.add(N),$._p1=M),A._isSamePoint(C,o)&&($._p3.add(N),$._p4=M)})},o.prototype.moveCtrlDueToRealPointMovement=function(o,z){function M($){$.add(z),$.e&&z.e&&($.e+=z.e)}var A=this;A._curves.forEach(function($){var z=$._p1,C=($._p2,$._p3,$._p4);A._isSamePoint(z,o)&&M($._p2),A._isSamePoint(C,o)&&M($._p3)})},o.prototype.moveCtrlPoint=function($,C,o){var M,z,A=$[o];A&&(A.e!==Kd&&(C.e=A.e),z=(M=this)._curves,C.clone().sub(A),z.forEach(function($){var z;"c2"===o?z="_p2":"c1"===o&&(z="_p3"),M._isSamePoint($[z],A)&&($[z]=C)}),$[o]=C)},o.prototype.deleteRealPoint=function($,z){for(var C,o,M,A,N=this._curves,s={},g=[],Y=h.Math.CubicBezier,v=0,O=N.length;v<O;v++)o=(C=N[v])._p1,M=C._p2,C._p3,A=C._p4,!s[v]&&this._isSamePoint(o,$)||(this._isSamePoint(A,$)?v+1<O&&this._isSamePoint(N[v+1]._p1,$)&&(z||g.push(new Y(o,M,N[v+1]._p3,N[v+1]._p4))):g.push(C));this._curves=g},o.prototype.findPairs=function($,z){for(var C,o,M,A,N=this._curves,s={},g=[],Y=0,v=N.length;Y<v;Y++)C=(M=N[Y])._p1,A=M._p2,o=M._p3,M=M._p4,!s[Y]&&this._isSamePoint(C,$)&&(z?g.push({point:C,r2:M}):g.push({point:C,c2:A})),this._isSamePoint(M,$)&&(A=z?{point:M,r1:C}:{point:M,c1:o},Y+1<v&&this._isSamePoint(N[Y+1]._p1,$)&&(z?A.r2=N[Y+1]._p4:A.c2=N[Y+1]._p2,s[Y+1]=!0),g.push(A));return g},o.prototype.toHtShape=function($){var M=this,$=$||M._curves,A=[],N=[],s={x:1/0,y:1/0};return $.forEach(function($){var z=$._p1,C=$._p2,o=$._p3,$=$._p4;if(M._isCloseEnough(z,s)||(A.push(1),N.push(z.clone())),s=$,M._isCloseEnough(z,C)&&M._isCloseEnough(o,$))return A.push(2),void N.push($.clone());A.push(4),N.push(C.clone(),o.clone(),$.clone())}),{segments:A,points:N}},o.prototype.truncate=function($,z){for(var C=this.length*(z?1-$:$),o=0,M=this._curves,A=0,N=0;A<M.length;A++){var s=M[A].length;if(C<=(o+=s))break;N+=s}var $=M[A].insertKnot((C-N)/M[A].length),g=z?M.slice(A+1):M.slice(0,A);return z?g.unshift($[1]):g.push($[0]),this.toHtShape(g)},Jd.defineProperties(o.prototype,{length:{get:function(){var z;return this._cacheLength||(z=0,this._curves.forEach(function($){z+=$.length}),this._cacheLength=z),this._cacheLength}}});(wd=h.Math.CubicBezier=function($,z,C,o){this._id=h.Math.CubicBezier._globalId++,this._p1=$,this._p2=z,this._p3=C,this._p4=o})._globalId=1,((wd.prototype={}).constructor=wd).prototype.toString=function(){return this._id},wd.prototype.intersectRect=function($,z,C){var z=z/2,C=C/2,o=$.x,$=$.y,M=new(A=h.Math.Vector2)(-z+o,-C+$),z=new A(z+o,C+$),o=new A(z.x,M.y),C=new A(M.x,z.y),$=this.intersectLine(M,o),A=this.intersectLine(o,z),o=this.intersectLine(z,C),z=this.intersectLine(C,M);return $.concat(A).concat(o).concat(z)},wd.prototype.intersectLine=function($,z){var C=$.clone().min(z),o=$.clone().max(z),M=this._p1,A=this._p2,N=this._p3,s=this._p4,g=M.clone().multiplyScalar(-1),Y=A.clone().multiplyScalar(3),v=N.clone().multiplyScalar(-3),s=g.add(Y).add(v).add(s);g=M.clone().multiplyScalar(3),Y=A.clone().multiplyScalar(-6),v=N.clone().multiplyScalar(3),N=g.add(Y).add(v),g=M.clone().multiplyScalar(-3),Y=A.clone().multiplyScalar(3);for(var v=g.add(Y),A=M.clone(),g=new h.Math.Vector2($.y-z.y,z.x-$.x),Y=$.x*z.y-z.x*$.y,O=this.getRoots(g.dot(s),g.dot(N),g.dot(v),g.dot(A)+Y),t=new Array,c=0,y=O.length;c<y;c++){var _,P=O[c];P<0||1<P||((_=this.getPointAt(P)).t=P,$.x==z.x?C.y<=_.y&&_.y<=o.y&&t.push(_):$.y==z.y?C.x<=_.x&&_.x<=o.x&&t.push(_):_.x>=C.x&&_.y>=C.y&&_.x<=o.x&&_.y<=o.y&&t.push(_))}return t},wd.prototype.solveTForPoint=function($){for(var z=this._p1.x-$.x,C=this._p2.x-$.x,o=this._p3.x-$.x,M=this._p4.x-$.x,A=this.getRoots(M-3*o+3*C-z,3*o-6*C+3*z,3*C-3*z,z),N=Kd,s=1/0,g=0,Y=A.length;g<Y;g++){var v,O=A[g];O<0||1<O||((v=this.getPointAt(O)).t=O,(O=Math.abs(v.y-$.y))<s&&(s=O,N=v))}return N},wd.prototype.getPointAt=function($){var z=this._p1,C=this._p2,o=this._p3,M=this._p4,z=z.clone().lerp(C,$),C=C.clone().lerp(o,$),o=o.clone().lerp(M,$),M=z.lerp(C,$),z=C.lerp(o,$);return M.lerp(z,$)},wd.prototype.getPointByPercentage=function($){var z=this.length*$,C=this._cacheLength,o=C.length;if(0==z)return C[0].point;if(1<=$)return C[o-1].point;for(var M=0;M<o;M++){var A,N=C[M];if(!(N.len<z))return A=C[M-1],N.point.clone().sub(A.point).setLength(z-A.len).add(A.point)}},wd.prototype.getTByPercentage=function($){var z=this.length*$,C=this._cacheLength,o=C.length;if(0==z||$<=0)return C[0].t;if(1<=$)return C[o-1].t;for(var M=0;M<o;M++){var A,N=C[M];if(!(N.len<z))return(z-(A=C[M-1]).len)/(N.len-A.len)*(N.t-A.t)+A.t}},wd.prototype.getRoots=function($,z,C,o){var M,A,N,s,g=new Array,Y=(Math.abs($)<1e-6&&(0<(Y=(M=C/(N=z))*M-o/N*4)?(A=Math.sqrt(Y),g.push(.5*(-M+A)),g.push(.5*(-M-A))):0==Y&&g.push(.5*-M)),(z/=$)/3),$=(M=(2*z*z*z-9*(C/=$)*z+27*(o/=$))/27)*M/4+(N=(3*C-z*z)/3)*N*N/27,o=M/2;return 0<($=Math.abs($)<=1e-6?0:$)?(C=0<=(s=-o+(A=Math.sqrt($)))?Math.pow(s,1/3):-Math.pow(-s,1/3),0<=(s=-o-A)?C+=Math.pow(s,1/3):C-=Math.pow(-s,1/3),g.push(C-Y)):$<0?(z=Math.sqrt(-N/3),M=Math.atan2(Math.sqrt(-$),-o)/3,A=Math.cos(M),C=Math.sin(M),N=Math.sqrt(3),g.push(2*z*A-Y),g.push(-z*(A+N*C)-Y),g.push(-z*(A-N*C)-Y)):(s=0<=o?-Math.pow(o,1/3):Math.pow(-o,1/3),g.push(2*s-Y),g.push(-s-Y)),g},wd.prototype._70I=function(){return this._p1.distanceToSquared(this._p2)<1e-10&&this._p3.distanceToSquared(this._p4)<1e-10},wd.prototype.insertKnot=function($){var z=this._p1,C=this._p2,o=this._p3,M=this._p4,A=z.clone().lerp(C,$),C=C.clone().lerp(o,$),o=o.clone().lerp(M,$),N=A.clone().lerp(C,$),C=C.clone().lerp(o,$),s=N.clone().lerp(C,$);return this._70I()?(z.clone().lerp(M,$),[new h.Math.CubicBezier(z,z.clone(),s.clone(),s),new h.Math.CubicBezier(s,s.clone(),M.clone(),M)]):[new h.Math.CubicBezier(z,A,N,s),new h.Math.CubicBezier(s,C,o,M)]},Jd.defineProperties(wd.prototype,{length:{get:function(){if(!($=this._cacheLength))for(var $=this._cacheLength=[],z=this._p1,C=0,o=0;C<=1;){var M=this.getPointAt(C+=.001);o+=M.clone().sub(z).length(),$.push({len:o,t:C,point:(z=M).clone()})}return $[$.length-1].len}},p1:{get:function(){return this._p1},set:function($){this._p1=$,this._cacheLength=Kd}},p2:{get:function(){return this._p2},set:function($){this._p2=$,this._cacheLength=Kd}},p3:{get:function(){return this._p3},set:function($){this._p3=$,this._cacheLength=Kd}},p4:{get:function(){return this._p4},set:function($){this._p4=$,this._cacheLength=Kd}}});var sS,gS,YS,vS,kV=U.Default.getInternal().ui().EdgeUI,OS={_47O:function($){var z=OS.getBackups()._47O;h.inEdit(this.gv)||z.call(this,$)}},aV=(h.Inject.registAsModule(OS,kV),U.Default.getInternal().ui().NodeUI),tS={_47O:function($){var z=tS.getBackups()._47O;h.inEdit(this.gv)||z.call(this,$)},getSelectWidth:function(){var $=this.gv,z=this._data;return $.isEditable(z)&&h.inEdit($)?0:tS.getBackup("getSelectWidth").call(this)}},cS=(h.Inject.registAsModule(tS,aV),U.graph.GraphView),yS={_editPointSize:(ZV=U.Default.isTouchable,h.getStyle("pointSize")[ZV?0:1]),isPointEditable:function($){if(h.inEdit(this))return!this._pointEditableFunc||this._pointEditableFunc($);yS.getBackup("isPointEditable").call(this,$)},isEditable:function($){var z=yS.getBackup("isEditable"),z=$ instanceof h.Group||z.call(this,$);return h.inEdit(this)&&$ instanceof U.Edge?!!$.s("2d.editable")&&(!(z=this.getEditableFunc())||z($)):z},_42:function($,z){yS.getBackups()._42.call(this,$,z),h.inEdit(this)&&this.getEditInteractor().drawImpl()}},uV=(h.Inject.registAsModule(yS,cS),U.Default.getInternal().ui().ShapeUI),_S={_47O:function($){var z=_S.getBackups()._47O;h.inEdit(this.gv)||z.call(this,$)}},UV=(h.Inject.registAsModule(_S,uV),U.graph.DefaultInteractor),PS={handle_mousewheel:function($){var z=PS.getBackup("handle_mousewheel");h.inEdit(this.gv)||z.call(this,$)}},wV=(h.Inject.registAsModule(PS,UV),U.graph.MoveInteractor);h.Inject.registAsModule(KE(),wV),h.Inject.registAsModule(KE(),U.graph.TouchInteractor),((($=h.Rect=function($){this.catalog="Rect",this._interactor=$}).prototype={}).constructor=$).prototype.gatherInfo=function($,z){var C;return 1===z.length?(C=z[0])instanceof U.Shape&&C._70I()?this.gatherLine($,C):!bv(C,$)&&this.gatherSingleTarget($,C):1<z.length&&this.gatherMultiTargets($,z)},$.prototype.gatherSingleTarget=function($,z){if(z.getCorners){var C,o,M=this.info,A=(this.target=z,C=this.screenInfo={},z.getCorners());for(o in M.LT=new h.Math.Vector2(A[0]),M.LB=new h.Math.Vector2(A[1]),M.RB=new h.Math.Vector2(A[2]),M.RT=new h.Math.Vector2(A[3]),M.T=M.LT.clone().add(M.RT).divideScalar(2),M.B=M.LB.clone().add(M.RB).divideScalar(2),M.L=M.LT.clone().add(M.LB).divideScalar(2),M.R=M.RT.clone().add(M.RB).divideScalar(2),M)C[o]=h.toScreenPosition($,M[o]);var N=this._interactor.getStyle("checkSize");return C.rotLT=(A=function($,z,C){return z=z.clone().sub($).setLength(-N),C=C.clone().sub($).setLength(-N),z.add(C).add($)})(C.LT,C.RT,C.LB),C.rotLB=A(C.LB,C.LT,C.RB),C.rotRB=A(C.RB,C.LB,C.RT),C.rotRT=A(C.RT,C.LT,C.RB),C.rotT=C.rotLT.clone().add(C.rotRT).divideScalar(2),C.rotB=C.rotLB.clone().add(C.rotRB).divideScalar(2),C.rotL=C.rotLT.clone().add(C.rotLB).divideScalar(2),C.rotR=C.rotRT.clone().add(C.rotRB).divideScalar(2),C.rotation=z.getRotation(),this.gatherConnectInfo(),!0}},$.prototype.gatherConnectInfo=function(){var $,z,C=this.target,o=this._interactor,M=this.screenInfo,A=o.gv;A.isConnectActionVisible(C)&&o.getStyle("connectGuideVisible")&&($=($=C.s?C.s("connectGuideShift"):$)||o.getStyle("connectGuideShift"),o=C.getAnchor(),z=C.getSize(),C=C.toGlobal({x:z.width*($[0]-o.x),y:z.height*($[1]-o.y)}),C=h.toScreenPosition(A,C),M.P1?C.add(M.P2.clone().sub(M.P1).setLength($[2])):(C.add(M.RT.clone().sub(M.LT).setLength($[2])),C.add(M.LB.clone().sub(M.LT).setLength($[3]))),M.connect=C)},$.prototype.gatherMultiTargets=function($,z){if(!(z=h.Group.findOrCreateGroup(z,this._interactor._uuid)))return!1;var C=this._interactor;return this.editing&&"rotate"!==this.editing.mode||z.calcInfo($,C),this.gatherSingleTarget($,z)},$.prototype.gatherLine=function($,z){this.target=z;var C=this.screenInfo={},o=z.getPoints(),z=h.getDataMatrix(z);return C.P1=h.toScreenPosition($,z.apply(o.get(0))),C.P2=h.toScreenPosition($,z.apply(o.get(1))),this.gatherConnectInfo(),!0},$.ResizeKeys=["LT","RB","LB","RT","L","R","B","T"],$.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}],$.RotateKeys=["rotLT","rotRB","rotLB","rotRT","rotL","rotR","rotB","rotT"],$.prototype.check=function($,z,C){if(U.Default.isLeftButton(z)){var o=this;if(o.editing=null,o.tipInfo=null,o.screenInfo){var M=o.target,A=$.isEditable(M),N=o.screenInfo;if(A&&N.connect)if(Y=o._checkConnect(C))return Y;if(N.P1)return o._checkLine(C);var s,g,Y,v=null,O=(Y=o._interactor).getStyle("checkSize");if(A&&$.isRectEditable(M))for(c=0;c<h.Rect.ResizeKeys.length;c++)if(g=h.Rect.ResizeKeys[c],h.checkHit(C,N[g],O)){v=g,s="resize";break}if(!v&&A&&$.isRotationEditable(M)&&!Y.getStyle("rotateAsClock"))for(var t=Y.getStyle("rotateCheckSize"),c=0;c<h.Rect.RotateKeys.length;c++)if(g=h.Rect.RotateKeys[c],h.checkHit(C,N[g],t)){v=g,s="rotate";break}if(v){if("rotate"===s){if(A=$.lp(z),M instanceof h.Group){for(var y=Y.getStyle("groupRotateModeKey"),_=!1,P=0,Z=(y="string"==typeof y?[y]:y).length;P<Z;P++)if(z[y[P]]){_=!0;break}var $=Y.getStyle("groupRotateModeDefault"),X=_?"batch"===$?"block":"batch":$}$="batch"===X?M.getAnchor2():M.getPosition(),A=Math.atan2(A.y-$.y,A.x-$.x),Y._setRotateCursor(A),o.editing={mode:s,key:v,pos:$,flipY:M.getScale().y<0,rotation:M.getRotation(),hitRot:A},X&&(o.editing.groupRotateMode=X)}else{var $=h.Rect.ResizeKeys.indexOf(v),A=h.Rect.ResizeDirection[$],X=Math.cos(M.getRotation()),$=Math.sin(M.getRotation()),d=A.x*Math.sign(M.getScale().x),A=A.y*Math.sign(M.getScale().y),X=Math.atan2(-$*d-X*A,X*d-$*A),d=(Math.round(X/(Math.PI/4))+8)%8,$=(this._interactor.setCursor(["ew-resize","nesw-resize","ns-resize","nwse-resize","ew-resize","nesw-resize","ns-resize","nwse-resize"][d]),M.getWidth()),A=M.getHeight(),X=M.getAnchor();o.editing={mode:s,key:v,rect:{x:-$*X.x,y:-A*X.y,width:$,height:A},anchor:X,matrix:M.getMatrix()}}return v}Y.setCursor("default")}}},$.prototype._checkLine=function($){this.screenInfo;var z,C=this._interactor.getStyle("checkSize");if(h.checkHit($,this.screenInfo.P1,C))z="P1";else{if(!h.checkHit($,this.screenInfo.P2,C))return void this._interactor.setCursor("default");z="P2"}return this.editing={mode:"line",key:z},z},$.prototype._checkConnect=function($){var z,C,o=this.screenInfo,M=this._interactor,A=M.getStyle("connectGuideIntersectSize"),o=o.connect,N=$.x,s=o.x;if(N<s&&s-N<A&&Math.abs(o.y-$.y)<A||s<=N&&h.checkHit($,o,A))return z=Qd.getConnectAction(M.gv),this.editing={mode:"connect"},z&&z.delete&&(this.target instanceof h.Group?(C=!0,M.gv.sm().getSelection().each(function($){z.delete.visible.call(null,M.gv,$)||(C=!1)}),this.editing.hasDeleteAction=C):z.delete.visible.call(null,M.gv,this.target)&&(this.editing.hasDeleteAction=!0)),M.setCursor("default"),"connect"},$.prototype._fireEditEvent=function($,z){var C=this._interactor,o=this.editing;o&&(o="rotate"===(o=o.mode)?"Rotation":"connect"===o?"Connection":"resize"===o?"Rect":o[0].toUpperCase()+o.slice(1),C.fi({kind:$+"Edit"+o,event:z}))},$.prototype._roundAngleTo360=function($){var z=$.getRotation();return($=$.getScale()).x<0&&$.y<0?z=Math.PI+z:$.y<0?z=2*Math.PI-z:$.x<0&&(z=Math.PI-z),U.Math.modToPositive(180*z/Math.PI,360)},$.prototype.isOrthogonalAngle=function($){return $=this._roundAngleTo360($)%90,Math.abs($-(45<$?90:0))<.001},$.prototype.isRightOrInvertedAngle=function($){return $=this._roundAngleTo360($),Math.abs($-90)<.001||Math.abs($-270)<.001},$.prototype.startEdit=function($,z){$.startDragging(z),this._interactor.fi({kind:"prepareEdit",event:z});var C,o=this.editing,M=this.target;if(o){if(this._fireEditEvent("begin",z),o.started=!0,"rotate"===o.mode)return o.groupRotateMode&&M.beginRotate(o),void $._42();"connect"===o.mode?o.hasDeleteAction&&(z=$.gv,C=this._interactor.getStyle("connectGuideGarbageShift"),o.garbageInfo={x:z.getWidth()*C[0]+C[2],y:z.getHeight()*C[1]+C[3],size:this._interactor.getStyle("connectGuideGarbageIntersectsize")},$._42()):("line"===o.mode||M&&this.isOrthogonalAngle(M))&&(this._inSmartGuide=!0,this._interactor.rectGuide.gatherRects())}},$.prototype._46O=function($){var z,C,o=this,M=o.editing,A=o.target;if(M){if("connect"===M.mode&&!M.canceled&&!M.deleted)try{M.garbageInfo&&M.garbageInfo.hover?Qd.doDeleteConnectionAction(o._interactor.gv,A):Qd.doConnectAction(o._interactor.gv,A,M.target)}catch($){console.error($)}C=M.freezeFlag,z=o.editing.groupRotateMode,o._fireEditEvent("end",$),o.editing=null}o.tipInfo=null,o._inSmartGuide&&(o._interactor.rectGuide.clear(),o._inSmartGuide=!1),z&&A&&A.endRotate(),A instanceof U.Block&&(C===Kd?delete A._freezeSyncFromChildren:A._freezeSyncFromChildren=C,A.updateFromChildren())},$.prototype.handleNormalStateDelete=function(){var $=this.editing;if($&&"connect"===$.mode&&!$.canceled&&!$.deleted){if($.garbageInfo){try{Qd.doDeleteConnectionAction(this._interactor.gv,this.target)}catch($){console.error($)}$.garbageInfo=null}return $.cursorPos=null,$.targetCorners=null,$.deleted=!0,this._interactor._42(),!0}},$.prototype.handleNormalStateKeyDown=function($){var z=this.editing;if(z&&"connect"===z.mode&&!z.canceled&&!z.deleted)return U.Default.isEsc($)?(z.cursorPos=null,z.targetCorners=null,z.canceled=!0,this._interactor._42(),!0):void 0},$.prototype.handleEdit=function(z,$){var C=this,o=C.editing;if(o){var M,A,N=C.target,s=o.key,g=o.mode,Y=z.lp($),v=C._interactor;if("connect"===g)return o.canceled?void 0:o.deleted?void 0:(o.cursorPos=v._getLogicalPoint($),(Z=o.garbageInfo)&&h.checkHit(o.cursorPos,Z,Z.size)?(Z.hover=!0,o.target=null,o.targetCorners=null):(Z&&(Z.hover=!1),o.target=z.getDataAt(Y,function($){return!!z.isSelectable($)&&!!R($)})||null,o.targetCorners=h.getTargetCornersOnScreen(z,o.target)),void v._42());if("rotate"===g){Z=o.pos,Z=Math.atan2(Y.y-Z.y,Y.x-Z.x),X=o.groupRotateMode?Z-o.hitRot:(P=Z-o.hitRot,o.rotation+P),(X%=2*Math.PI)<0&&(X+=2*Math.PI),U.Default.isCtrlDown($)||(c=A_($)?(O=v.getStyle("shiftRotateRound"))/2:(O=v.getStyle("rotateRound"),v.getStyle("rotateSensitivity")),X=h.roundTo(X,O,c)),o.groupRotateMode?0!=(P=X-(o.lastRotation||0))&&(N.addRotation(P,o.groupRotateMode,function($){return z.isRotationEditable($)}),o.lastRotation=X):N.setRotation(X),v._setRotateCursor(Z),X>Math.PI&&(X-=2*Math.PI);var O=(X/Math.PI*180).toFixed(2)+"°"}else if("resize"===g){var t,c=o.rect,y=c.x,_=c.y,P=c.width,Z=c.height,X=o.anchor,d=o.matrix,l=N.s&&N.s("keepAspectRatio")||v.getStyle("keepAspectRatio"),J=(A_($)&&(l=!l),C._unionPointMode1),K=C._unionPointMode2,f=!0,f=((Q=C._interactor.getStyle("resizeHelperFilter"))&&(f=Q(N instanceof h.Group?N._entities:[N])),C._inSmartGuide&&!U.Default.isCtrlDown($)&&f&&!l&&("L"===s||"R"===s?t="x":"T"!==s&&"B"!==s||(t="y"),C.isRightOrInvertedAngle(N)&&t&&(t="x"===t?"y":"x"),C._adsorbedToClosest(Y,t),A=!0),Q=d.tfi(Y),"LT"===s?c=J(Q,{x:y+P,y:_+Z},P,Z,l):"T"===s?c=K({x:y,y:Q.y},{x:y+P,y:_+Z},P,Z,l,"v"):"RT"===s?c=J(Q,{x:y,y:_+Z},P,Z,l):"L"===s?c=K({x:Q.x,y:_},{x:y+P,y:_+Z},P,Z,l,"h"):"R"===s?c=K({x:y,y:_},{x:Q.x,y:_+Z},P,Z,l,"h"):"LB"===s?c=J(Q,{x:y+P,y:_},P,Z,l):"B"===s?c=K({x:y,y:_},{x:y+P,y:Q.y},P,Z,l,"v"):"RB"===s&&(c=J(Q,{x:y,y:_},P,Z,l)),0),K=[0,5,2,3],J=(N.getScaleX&&N.getScaleX()*N.getScaleY()<0&&(K=[2,5,0,3]),Math.round(C._roundAngleTo360(N)/90)),Q=(0<=s.indexOf("T")&&(f|=1<<K[(0+J)%4]),0<=s.indexOf("R")&&(f|=1<<K[(1+J)%4]),0<=s.indexOf("B")&&(f|=1<<K[(2+J)%4]),0<=s.indexOf("L")&&(f|=1<<K[(3+J)%4]),d.tf(c.x+c.width*X.x,c.y+c.height*X.y));N instanceof U.Block&&(o.hasOwnProperty("freezeFlag")||(o.freezeFlag=N._freezeSyncFromChildren,N._freezeSyncFromChildren=!0)),N.setPosition(Q),N.setSize(c.width,c.height),A&&(M=N.getRect(),v.rectGuide.gatherLines({node:N,x:M.x,y:M.y,w:M.width,h:M.height},t,f)),O=Math.round(c.width)+" * "+Math.round(c.height)}else if("line"===g){if(A_($)){var P=N.getPoints(),Z="P1"===s?P.get(1):P.get(0),W=Y.x-Z.x,V=Y.y-Z.y,e=v.getStyle("shiftLineRotateRound"),D=C._shiftDirList;if(!D||C._shiftRotateRound!==e){C._shiftRotateRound=e,C._shiftDirList=D=[];for(var a=0;a<Math.PI;a+=e)D.push({x:yd(a),y:Wd(a)})}for(var k,x=0,p=0,b=D.length;p<b;p++){var u=D[p],n=u.x*W+u.y*V;Math.abs(n)>Math.abs(x)&&(x=n,k=u)}Y={x:Z.x+k.x*x,y:Z.y+k.y*x},v.rectGuide.clear()}else C._inSmartGuide&&!U.Default.isCtrlDown($)&&(C._adsorbedToClosest(Y),A=!0);l=h.getDataMatrix(N).applyInverse(Y),N.setPoint("P1"===s?0:1,l,!0),J=(K=N.getPoints()).get(0),d=K.get(1),y=J.x-d.x,_=J.y-d.y,O=" "+Math.round(Math.sqrt(y*y+_*_))+" ",A&&(M=N.getRect(),v.rectGuide.gatherLines({node:N,x:M.x,y:M.y,w:M.width,h:M.height}))}O&&((X=U.Default.getLogicalPoint($,v._canvas)).x+=h.Icons.TipShiftX,X.y+=h.Icons.TipShiftY,C.tipInfo={helperPos:X,text:O,size:O.length}),C._fireEditEvent("between",$)}},$.prototype._unionPointMode1=function($,z,C,o,M){var A;return M&&C&&o&&(M=$.x-z.x,A=$.y-z.y,Math.abs(M*o)<Math.abs(A*C)?(A=Math.sign(A)*Math.abs(M*o/C),$.y=z.y+A):(M=Math.sign(M)*Math.abs(A*C/o),$.x=z.x+M)),U.Default.unionPoint($,z)},$.prototype._unionPointMode2=function($,z,C,o,M,A){var N,$=U.Default.unionPoint($,z);return M&&C&&o&&("v"===A?(N=$.x+$.width/2,$.width=C*$.height/o,$.x=N-$.width/2):(N=$.y+$.height/2,$.height=o*$.width/C,$.y=N-$.height/2)),$},$.prototype._adsorbedToClosest=function($,z){var C=(o=this._interactor).rectGuide.findClosest($,z),o=o.gridGuide.findClosest($,z),z=1/0,M=1/0;C&&(isFinite(C.x)&&(z=C.x),isFinite(C.y)&&(M=C.y)),o&&(isFinite(o.x)&&Math.abs(o.x)<Math.abs(z)&&(z=o.x),isFinite(o.y)&&Math.abs(o.y)<Math.abs(M)&&(M=o.y)),isFinite(z)&&($.x+=z),isFinite(M)&&($.y+=M)},$.prototype.getIntersection=function($,z,C,o){var M=Math.sqrt(o.x*o.x+o.y*o.y),A=o.x/M,o=o.y/M,M=z.x-$.x,N=-A*(z=z.y-$.y)+M*o;return 0==N?null:(o=(-o*($.x-C.x)+A*($.y-C.y))/N,A=(M*($.y-C.y)-z*($.x-C.x))/N,0<=o&&o<=1&&0<=A?{x:$.x+o*M,y:$.y+o*z}:null)},$.prototype.findIntersectionFromSides=function($,z,C){for(var o=0;o<$.length;o++){var M=$[o];if(M=this.getIntersection(M[0],M[1],z,C))return M}},$.prototype.drawLayoutHelper=function(z,$){var C,o,M,A,N,s,g,Y,v,O,t,c,y=this.screenInfo,_=this._interactor;(Y=this.target.getHost())&&(s=this.target.s("layout.h"),g=this.target.s("layout.v"),(s||g)&&(C=!!y.P1,_=_.getStyle("baseColor"),o=s&&0<=s.indexOf(_t),M=s&&0<=s.indexOf(Pt),A=g&&0<=g.indexOf(Zt),N=g&&0<=g.indexOf(Xt),s=s===dt,g=g===dt,Y=Y.getRect(),v={x:(v=C?v_(y.P1,y.P2):v_([y.LT,y.RT,y.RB,y.LB])).x+v.width/2,y:v.y+v.height/2},O=[],y=[[y.LT,y.RT],[y.LT,y.LB],[y.RT,y.RB],[y.LB,y.RB]],t=v,o&&(t=C?t:this.findIntersectionFromSides(y,v,{x:-1,y:0}))&&(c=h.toScreenPosition($,{x:Y.x,y:0}),O.push([t,{x:c.x,y:t.y}])),M&&(t=C?t:this.findIntersectionFromSides(y,v,{x:1,y:0}))&&(c=h.toScreenPosition($,{x:Y.x+Y.width,y:0}),O.push([t,{x:c.x,y:t.y}])),A&&(t=C?t:this.findIntersectionFromSides(y,v,{x:0,y:-1}))&&(c=h.toScreenPosition($,{x:0,y:Y.y}),O.push([t,{x:t.x,y:c.y}])),N&&(t=C?t:this.findIntersectionFromSides(y,v,{x:0,y:1}))&&(c=h.toScreenPosition($,{x:0,y:Y.y+Y.height}),O.push([t,{x:t.x,y:c.y}])),z.save(),z.strokeStyle=_,z.lineWidth=1,z.setLineDash([3,3]),O.length&&(z.beginPath(),O.forEach(function($){z.moveTo($[0].x,$[0].y),z.lineTo($[1].x,$[1].y)}),z.stroke(),z.fillStyle=_,O.forEach(function($){z.beginPath(),z.arc($[1].x,$[1].y,2,0,_d),z.fill()})),z.beginPath(),(s||g)&&(z.moveTo(v.x-8,v.y-8),z.lineTo(v.x+8,v.y+8),z.moveTo(v.x-8,v.y+8),z.lineTo(v.x+8,v.y-8)),s&&(z.moveTo(v.x-24,v.y),z.lineTo(v.x+24,v.y)),g&&(z.moveTo(v.x,v.y-24),z.lineTo(v.x,v.y+24)),z.stroke(),z.restore()))},$.prototype._42=function($,z,C){var o=this,M=(o.info={},o.screenInfo=null,o._interactor);if(!M.editDetail&&o.gatherInfo(z,C)){var A=o.editing,C=A?A.groupRotateMode:null,N=o.screenInfo,s=o.target instanceof h.Group;if(!s&&M.getStyle("layoutGuideVisible")&&o.drawLayoutHelper($,z),"block"!==C||!A||!A.started){if(N.P1?h.Icons.DrawIcon(M,$,h.Icons.Line,N):h.Icons.DrawIcon(M,$,h.Icons.Rect,N),N.connect&&(h.Icons.DrawIcon(M,$,h.Icons.ConnectGuide,{rotation:N.rotation,connect:N.connect,cursorPos:A?A.cursorPos:null}),A)){if(A.targetCorners){for(var g={x:1/0,y:1/0},Y={x:-1/0,y:-1/0},v=0,O=A.targetCorners.length;v<O;v+=2)g.x=Math.min(g.x,A.targetCorners[v]),Y.x=Math.max(Y.x,A.targetCorners[v]),g.y=Math.min(g.y,A.targetCorners[v+1]),Y.y=Math.max(Y.y,A.targetCorners[v+1]);h.Icons.DrawIcon(M,$,h.Icons.HoverDataRect,{min:g,max:Y,color:M.getStyle("hoverGuideColor")||M.getStyle("baseColor")})}A.garbageInfo&&h.Icons.DrawIcon(M,$,h.Icons.ConnectGuideGarbage,A.garbageInfo)}M.getStyle("rotateTipVisible")&&o.tipInfo&&h.Icons.DrawIcon(M,$,h.Icons.TipHelper,o.tipInfo)}s&&o.target._42(M,$,z)}},(((C=h.Anchor=function($){this.catalog="Anchor",this._interactor=$}).prototype={}).constructor=C).prototype.gatherInfo=function($,z){if(1!==z.length)return 1<z.length&&this.gatherMultiTargets($,z);var C=z[0];return C.getAnchor&&!(C instanceof U.Shape&&C._70I()||bv(C,$))?this.gatherSingleTarget($,z[0]):void 0},C.prototype.gatherSingleTarget=function($,z){return this.info.POS=z.getPosition(),this.screenInfo.POS=h.toScreenPosition($,this.info.POS),this.target=z,!0},C.prototype.gatherMultiTargets=function($,z){return!!(z=h.Group.findOrCreateGroup(z,this._interactor._uuid))&&(this.screenInfo.POS=h.toScreenPosition($,z.getAnchor2()),this.target=z,!0)},C.prototype.isVisible=function(){var $=this._interactor;if(!1===$.getStyle("anchorVisible"))return!1;var z=this.target;if(z){if(this.editing)return!0;var C=z.getAnchor(),o=$.getStyle("anchorOutsideVisibleThreshold");if(C.x<-o||C.x>1+o||C.y<-o||C.y>1+o)return!0;if(C=z.getSize(),o=z.getScale(),Math.min(Math.abs(C.width*o.x),Math.abs(C.height*o.y))*$.gv._zoom<$.getStyle("anchorHideThreshold"))return!1}return!0},C.prototype.check=function($,z,C){if(U.Default.isLeftButton(z)&&(z=this._interactor,this.isVisible()&&!1!==z.getStyle("anchorMovable"))){this.editing=null,this.tipInfo=null;var o=this.target;if(o&&$.isAnchorEditable(o)&&$.isEditable(o)&&this.screenInfo&&($=this.screenInfo.POS)&&h.checkHit(C,new h.Math.Vector2($),z.getStyle("checkSize")))return o instanceof h.Group?this.editing={}:(C=o.getWidth(),$=o.getHeight(),z=o.getAnchor(),this.editing={rect:{x:-C*z.x,y:-$*z.y,width:C,height:$},anchor:z,matrix:o.getMatrix()}),!0}},C.prototype.startEdit=function($,z){$.startDragging(z),$.fi({kind:"beginEditAnchor",event:z})},C.prototype._46O=function($){this.editing&&(this.editing=null,this._interactor.fi({kind:"endEditAnchor",event:$})),this.tipInfo=null},C.prototype.handleEdit=function($,z){var C=this.target;if(C&&(M=this.editing)){var $=$.lp(z),o=this._interactor;if(C instanceof h.Group)return C.setAnchor2($),void o._42();var $=M.matrix.tfi($),M=M.rect,A=($.x-M.x)/M.width,$=($.y-M.y)/M.height;U.Default.isCtrlDown(z)||(M=o.getStyle("anchorRound"),N=o.getStyle("anchorSensitivity"),A=h.roundTo(A,M,N),$=h.roundTo($,M,N)),C.setAnchor(A,$,!0);(M=U.Default.getLogicalPoint(z,o._canvas)).x+=h.Icons.TipShiftX,M.y+=h.Icons.TipShiftY;var N=A.toFixed(2)+", "+$.toFixed(2);this.tipInfo={helperPos:M,text:N,size:N.length},o.fi({kind:"betweenEditAnchor",event:z})}},C.prototype._42=function($,z,C){this.info={},this.screenInfo={};var o=this._interactor;o.editDetail||this.gatherInfo(z,C)&&this.isVisible()&&(h.Icons.DrawIcon(o,$,h.Icons.Anchor,this.screenInfo),this.tipInfo&&h.Icons.DrawIcon(o,$,h.Icons.TipHelper,this.tipInfo))},(((wd=h.MoveDummy=function($){this.catalog="MoveDummy",this._interactor=$}).prototype={}).constructor=wd).prototype.gatherInfo=function($,z){var C=this._interactor.getSubModule("Rect");if(C&&(g=C.screenInfo)){var o=this._interactor;if(this.getMovableTarget(C.target)&&(C=o.getStyle("moveDummyThreshold"),!1!==(C=av(C)?C():C))){var M=g.LT||g.P1,A=g.RT||g.P2,N=g.LB||M;if(M){var s,g=g.P1,Y=Math.min(M.distanceTo(N),M.distanceTo(A));if(!(!0!==C&&C<Y))return C=o.getStyle("moveDummyPosition"),Y=A.clone().sub(M),A=N.clone().sub(M),N=C[2],s=C[3],(g=g&&o.getStyle("moveDummyLineExtraShift"))&&(N+=g[0],s+=g[1]),g=M.clone().add(Y.clone().multiplyScalar(C[0])).add(Y.setLength(N)).add(A.clone().multiplyScalar(C[1])).add(A.setLength(s)),this.screenInfo.pos=g,this.screenInfo.size=o.getStyle("moveDummySensitivity"),!0}}}},wd.prototype.getMovableTarget=function($){var z=this._interactor.gv;if(R($)){if(z.isMovable($))return $}else if($ instanceof h.Group)for(var C=$._entities,o=C.length-1;0<=o;o--){var M=C[o];if(R(M)&&z.isMovable(M))return M}return null},wd.prototype.getMoveInteractor=function(){for(var $,z=this._interactor.gv.getInteractors(),C=0,o=z.length;C<o;C++)if(($=z.get(C))instanceof wV)return $},wd.prototype.startEdit=function($,z){$.startDragging(z);var C,o=this.getMoveInteractor();o&&(C=this.selectedTarget,($=$.gv)._moving=1,o._data=C,$.handleMouseDown&&$.handleMouseDown(z,C))},wd.prototype._46O=function($){var z=this.getMoveInteractor();z&&(z.handleWindowMouseUp($),this.selectedTarget=null)},wd.prototype.handleEdit=function($,z){var C=this.getMoveInteractor();C&&C.handleWindowMouseMove(z)},wd.prototype.check=function($,z,C){if(this.selectedTarget=null,U.Default.isLeftButton(z)&&!$._scrolling&&!BX()&&this.screenInfo&&(z=this.screenInfo.pos)&&!(C.distanceTo(z)>this.screenInfo.size))return $=this._interactor,this.selectedTarget=this.getMovableTarget($.getSubModule("Rect").target),$.setCursor("default"),!0},wd.prototype._42=function($,z,C){this.screenInfo={};var o=this._interactor;o.editDetail||!this.gatherInfo(z,C)||o.editing&&!this.selectedTarget||h.Icons.DrawIcon(o,$,h.Icons.MoveDummy,this.screenInfo)},((($=h.RotateX=function($){this.catalog="RotateX",this._interactor=$}).prototype={}).constructor=$).prototype.gatherInfo=function($,z){var C;return 1===z.length?!((C=z[0])instanceof U.Shape&&C._70I()||bv(C,$))&&this.gatherSingleTarget($,C):1<z.length&&this.gatherMultiTargets($,z)},$.prototype.gatherSingleTarget=(sS=new U.Math.Vector2,gS=new U.Math.Vector2,YS=new U.Math.Vector2,vS=new U.Math.Vector2,function($,z){var C,o;if(z.getCorners)return o=z.getCorners(),C=z.getPosition(),sS.copy(o[0]),YS.copy(o[1]),vS.copy(o[3]),gS.copy(sS).add(vS).divideScalar(2).add(sS.sub(YS).setLength(15/$.getZoom())),o=Math.max(fE(C,o[0]),fE(C,o[1]),fE(C,o[2]),fE(C,o[3])),this.info.POS=gS.clone(),this.screenInfo.POS=h.toScreenPosition($,this.info.POS),this.screenInfo.LEN=Math.sqrt(o)*$.getZoom()+15,this.screenInfo.CENTER=h.toScreenPosition($,C),this.target=z,!0}),$.prototype.gatherMultiTargets=function($,z){return!!(z=h.Group.findOrCreateGroup(z,this._interactor._uuid))&&this.gatherSingleTarget($,z)},$.prototype.isVisible=function(){var $=this._interactor;if(!$.getStyle("rotateAsClock"))return!1;var z=this.target;return!z||!(!($=$.gv).isEditable(z)||!$.isRotationEditable(z))},$.prototype.check=function($,z,C){return(($=this._checkImpl($,z,C))||this._clockPainted)&&this._interactor._42(),$},$.prototype._checkImpl=function($,z,C){if(U.Default.isLeftButton(z)){var o=this;if(o.editing=null,o.tipInfo=null,o.screenInfo&&(M=o.screenInfo.POS)&&o.isVisible()){var M,A=o._interactor;if(h.checkHit(C,M,A.getStyle("checkSize")))return C=o.target,M=$.lp(z),$=C.getPosition(),z=Math.atan2(M.y-$.y,M.x-$.x),A._setRotateCursor(z),o.editing={pos:$,rotation:C.getRotation(),hitRot:z,groupRotateMode:"block",screenInfo:{CENTER:o.screenInfo.CENTER,LEN:o.screenInfo.LEN}},!0}}},$.prototype.startEdit=function($,z){$.startDragging(z),$.fi({kind:"beginEditRotation",event:z}),this.target instanceof h.Group&&this.target.beginRotate(this.editing)},$.prototype._46O=function($){this.editing&&(this.editing=null,this._interactor.fi({kind:"endEditRotation",event:$})),this.target instanceof h.Group&&this.target.endRotate(),this.tipInfo=null},$.prototype.handleEdit=function(z,$){var C,o,M,A,N,s,g,Y,v=this.editing;v&&(C=this.target,M=z.lp($),o=this._interactor,N=v.pos,M=Math.atan2(M.y-N.y,M.x-N.x),s=(N=C instanceof h.Group)?M-v.hitRot:(A=M-v.hitRot,v.rotation+A),(s%=2*Math.PI)<0&&(s+=2*Math.PI),U.Default.isCtrlDown($)||(Y=A_($)?(g=o.getStyle("shiftRotateRound"))/2:(g=o.getStyle("rotateRound"),o.getStyle("rotateSensitivity")),s=h.roundTo(s,g,Y)),N?0!=(A=s-(v.lastRotation||0))&&(C.addRotation(A,v.groupRotateMode,function($){return z.isRotationEditable($)}),v.lastRotation=s):C.setRotation(s),o._setRotateCursor(M),s>Math.PI&&(s-=2*Math.PI),g=(s/Math.PI*180).toFixed(2)+"°",(Y=U.Default.getLogicalPoint($,o._canvas)).x+=h.Icons.TipShiftX,Y.y+=h.Icons.TipShiftY,this.tipInfo={helperPos:Y,text:g,size:g.length},o.fi({kind:"betweenEditRotation",event:$}))},$.prototype._42=function($,z,C){var o=this,M=(o._clockPainted=!1,o.info={},o.screenInfo={},o._interactor);M.editDetail||o.gatherInfo(z,C)&&o.isVisible()&&(h.Icons.DrawIcon(M,$,h.Icons.RoundPoint,o.screenInfo.POS),M.getStyle("rotateTipVisible")&&o.tipInfo&&h.Icons.DrawIcon(M,$,h.Icons.TipHelper,o.tipInfo),o.editing&&o.drawClock($))},$.prototype.drawClock=function($){$.save(),this._clockPainted=!0;var z,C,o,M,A,N=this.editing||{},s=N.screenInfo||this.screenInfo,g=s.LEN,Y=g+8,v=g+18;$.save(),$.translate(s.CENTER.x,s.CENTER.y),$.beginPath(),$.strokeStyle="rgb(150, 150, 150)";for(var O=0;O<360;O++)z=O*Math.PI/180,O%5==0&&(C=Wd(z)*g,o=yd(z)*g,M=Wd(z)*Y,A=yd(z)*Y,$.moveTo(C,o),$.lineTo(M,A)),O%45==0&&(C=Wd(z)*g,o=yd(z)*g,M=Wd(z)*v,A=yd(z)*v,$.moveTo(C,o),$.lineTo(M,A));$.stroke(),$.rotate(-Fd),s=N.lastRotation||this.target.getRotation(),$.beginPath(),$.fillStyle="rgba(255, 0, 0, 0.1)",$.strokeStyle="rgb(157, 157, 157)",$.moveTo(0,0),$.arc(0,0,v,0,s,!1),$.fill(),$.beginPath(),$.moveTo(0+v,0),$.arc(0,0,v,0,s,!1),$.stroke(),$.restore()},((o=h.Curve=function($){this.catalog="Curve",this._interactor=$}).prototype={}).constructor=o,Jd.defineProperties(o.prototype,{activing:{get:function(){return this._activing},set:function($){$?(this._activing=new h.CurveActiving(this,$),this.gatherSingleTarget(this._interactor.gv,this.target)):(($=this._activing)&&$.dispose(),this._activing=null)}}}),o.PointType={Mirrored:0,Straight:1,Disconnected:2,Asymmetric:3},o.prototype.setUp=function(){var $=this._interactor;$&&$.gv.mp(this._onGraphviewPropertyChanged,this)},o.prototype._onGraphviewPropertyChanged=function($){"zoom"!==$.property&&"translateX"!==$.property&&"translateY"!==$.property||this._handleDataChanged()},o.prototype.tearDown=function(){var $=this._interactor;$&&$.gv.ump(this._onGraphviewPropertyChanged,this)},o.prototype.canEnterEditDetailMode=function(){var $=_m(this._interactor);if($)return this.target=$},o.prototype.canQuitEditDetailMode=function($){var z=this._interactor._getLogicalPoint($);if(!this._checkEditRealPoint(z))return this._interactor.gv.getDataAt($)!==this.target||void 0},o.prototype.preHandleScroll=function($){var z=this.editing;if(z&&z.inEdit)return!0},o.prototype.getCurrentSelectintStatus=function(){var C=this;if(C.activing&&!C.activing.selections){if(C.activing.status!=Kd)return C.activing.status;var $=function($){var z=C.activing.status;C.activing.status=$,C._interactor.fp("shapePointStatus",z,$)},z=h.Curve.PointType,o=C.activing.point,M=C.activing.pairs;if(!M||1!==M.length)return $(z.Mirrored);var A=(M=M[0]).c1&&M.c1.isNearEnough(o),N=M.c2&&M.c2.isNearEnough(o);return M.c1&&M.c2?A&&N?$(z.Straight):A||N?$(z.Asymmetric):(A=M.c1.clone().sub(o),N=M.c2.clone().sub(o),1e-5<Math.abs(A.x*N.y-A.y*N.x)||0<A.x*N.x?$(z.Disconnected):1e-5<Math.abs(A.length()-N.length())?$(z.Asymmetric):$(z.Mirrored)):$(A||N?z.Straight:z.Mirrored)}},o.prototype.handle_keydown=function($){var o,M,z,C,A,N,s,g=this;g._interactor.editDetail&&(z=h.Curve.PointType,"1"===$.key?g._setCurrentSelectionStatus(z.Straight):"2"===$.key?g._setCurrentSelectionStatus(z.Mirrored):"3"===$.key?g._setCurrentSelectionStatus(z.Disconnected):"4"===$.key&&g._setCurrentSelectionStatus(z.Asymmetric),!g.editing&&g.activing&&(o={x:0,y:0},z=A_($)?10:1,wX($)&&(o.x-=z),qX($)&&(o.y-=z),TX($)&&(o.x+=z),rX($)&&(o.y+=z),(o.x||o.y)&&(M=g.screenInfo.curve,C=(z=g.activing).editingCtrl,$.__ht__handled__=!0,C?($=z.editingCtrl,N=(A=(C=z.pairs[$.pairId])[$.type]).clone().add(o),g.moveCtrlPair(C,N,$.type)):(N=(A=z.point).clone().add(o),A.e!==Kd&&(N.e=A.e),M.moveRealPoint(z.point,N),z.point=N,(s=z.selections)&&s.forEach(function($,z){var C=$.clone().add(o);M.moveRealPoint($,C),s[z]=C})),g._writeToHt())))},o.prototype.moveCtrlPair=function($,z,C){var o,M=this.screenInfo.curve,A=this.activing,N=A.status,s=h.Curve.PointType;M.moveCtrlPoint($,z,C),(N===s.Mirrored||N===s.Asymmetric)&&$.c1&&$.c2&&(A=new h.Math.Vector2(A.point),o="c1"===C?"c2":"c1",N===h.Curve.PointType.Mirrored?M.moveCtrlPoint($,A.clone().multiplyScalar(2).sub(z),o):N===s.Asymmetric&&(z=$[o].clone().sub(A).length(),N=A.clone().sub($[C]).setLength(z).add(A),isNaN(N.x)||M.moveCtrlPoint($,N,o)))},o.prototype.setCurrentSelectionStatus=function($){var z=this._interactor;z&&((z=z.gv).dm().beginTransaction(),this._setCurrentSelectionStatus($),z.dm().endTransaction())},o.prototype._setCurrentSelectionStatus=function($){var z=this,C=z.activing;if(C){var o=z.getCurrentSelectintStatus();if(null!==o&&o!==$){C.status=$;var M=z.activing.point;if((A=z.activing.pairs)&&1===A.length){var A=A[0],N=z.screenInfo.curve,s=h.Curve.PointType,g=z._interactor,Y=function(){z._writeToHt(),g.fp("shapePointStatus",o,$),z.check(g.gv,null,new h.Math.Vector2(g._lastLogicalPoint))};if($===s.Straight)return N.moveCtrlPoint(A,M,"c1"),N.moveCtrlPoint(A,M,"c2"),void Y();if(o===s.Straight)return O=(v=N.findPairs(M,!0)[0]).r1||M,v=(v.r2||M).clone().sub(O).multiplyScalar(.25),N.moveCtrlPoint(A,M.clone().sub(v),"c1"),N.moveCtrlPoint(A,M.clone().add(v),"c2"),void Y();var v,O=A.c1,t=A.c2;if(O&&t){if($===s.Mirrored)return N.moveCtrlPoint(A,M.clone().multiplyScalar(2).sub(t),"c1"),void Y();if($===s.Asymmetric&&o===s.Disconnected)return s=O.clone().sub(M).length(),v=M.clone().sub(t).setLength(s).add(M),N.moveCtrlPoint(A,v,"c1"),void Y()}C._firePointChange(),g.fp("shapePointStatus",o,$),z.check(g.gv,null,new h.Math.Vector2(g._lastLogicalPoint))}}}},o.prototype._handleDataChanged=(ZS="s:edge.points,s:edge.segments,points,segments,shape,position,rotation,scale".split(","),function($){this.screenInfo&&this.target&&($&&ZS.indexOf($.property)<0||($=this._interactor,this.gatherSingleTarget($.gv,this.target,!0),this.check($.gv,null,new h.Math.Vector2($._lastLogicalPoint)),$._42()))}),o.prototype.gatherSingleTarget=function(z,$,C){var o,M,A,N,s=this,g=(s.screenInfo&&s.screenInfo.curve&&(o=s.screenInfo.curve._curves),s.editing),Y=g?s.screenInfo:s.screenInfo={},v=$ instanceof U.Edge,O=v?(N=$.s("edge.segments"),$.s("edge.points")||new U.List):(N=$._58O,$._59O),t=(Y.S=N,Y.P=[]),c=h.getDataMatrix($);if($ instanceof U.Polyline||$ instanceof U.Edge&&s._interactor.getStyle("edgeElevationEditable")?(M=$.getElevation&&$.getElevation()||0,Y.E=[]):(A=!1,O.each(function($){$.e!==Kd&&(A=!0)}),A&&(Y.E=[])),O.each(function($){Y.E&&Y.E.push($.e!=Kd?$.e:M),$=c.apply($),$=h.toScreenPosition(z,$),t.push($.x,$.y)}),v&&(N=t.length,O=h.toScreenPosition(z,$._lastSourcePoint||(N?{x:t[0],y:t[1]}:{x:0,y:0})),v=h.toScreenPosition(z,$._lastTargetPoint||(N?{x:t[N-2],y:t[N-1]}:{x:0,y:0})),t.splice(0,0,O.x,O.y),t.push(v.x,v.y),Y.E&&((N=$.getSourceAgent())instanceof U.Edge?Y.E.splice(0,0,$.s("edge.source.offset.elevation")):Y.E.splice(0,0,(($.s("edge.source.anchor.elevation")||.5)-.5)*N.getTall()*N.getScaleTall()+N.getElevation()+$.s("edge.source.offset.elevation")),(O=$.getTargetAgent())instanceof U.Edge?Y.E.push($.s("edge.target.offset.elevation")):Y.E.push((($.s("edge.target.anchor.elevation")||.5)-.5)*O.getTall()*O.getScaleTall()+O.getElevation()+$.s("edge.target.offset.elevation")))),!Y.S||!Y.S.size()){Y.S=new U.List,Y.S.add(1);for(var y=0;y<t.length/2-1;y++)Y.S.add(2)}g&&!C||s.convertToCubicBezier(o),!s.activing||!C&&s.editing&&"realPoint"!==s.editing.type||(v=Y.curve.findPairs(s.activing.point),s.activing.pairs=v)},o.prototype._convertToNewPoint=function($,z,C,o){for(var M,A=0,N=z.length;A<N;A++){if((M=z[A])._p1.isNearEnough($)&&(!o||o.indexOf(M._p1)<0))return M._p1;if(M._p4.isNearEnough($)&&(!o||o.indexOf(M._p4)<0))return M._p4}if(C)for(A=0,N=Math.min(C.length,N);A<N;A++){if((M=C[A])._p1===$&&(!o||o.indexOf(z[A]._p1)<0))return z[A]._p1;if(M._p4===$&&(!o||o.indexOf(z[A]._p4)<0))return z[A]._p4}},o.prototype.convertToCubicBezier=function(z){var C,o,M,A,N,s=this,$=new h.Math.Curve,g=s.screenInfo;$.createFromHtShape(g.P,g.S,g.E),g.curve=$,s.activing&&(C=$._curves,g=s.activing.point,o=s._convertToNewPoint(g,C,z),M=[],o&&(s.activing.point=o,M.push(o)),s.activing.selections&&(A=-1,(N=s.activing.selections).forEach(function($){A++,(o=s._convertToNewPoint($,C,z,M))&&(N[A]=o,M.push(o))})))},o.prototype.check=function($,z,C){if(!z||$_(z)||z_(z)){var o=this;if(o._interactor.setCursor("default"),o.editing=null,o.highlight=null,o.tipInfo=null,o.edgeEditResult=null,o.screenInfo)return BX()||z&&z_(z)||o._checkEditCtrlPoint(C)||o._checkEditRealPoint(C)||o._checkEditElevation(C)||(z=o.screenInfo.curve.checkPoint(C,o._interactor.getStyle("curveIntersectSize")))&&((C=o.highlight={type:"insertKnot"}).bezier=z.bezier,C.point=z.intersection),o._interactor._42(),!0}},o.prototype.getAdjacentBeziers=function($){var z=this.screenInfo;if(z){for(var C,o=z.curve._curves,M=[],A=Kd,N=0,s=o.length;N<s;N++)if(C=o[N],A===Kd){if(C._p4.isNearEnough($))M.push(C),A=N;else if(C._p1.isNearEnough($))return M.push(C),M}else{if(C._p1.isNearEnough($))return M.push(C),M;C._p4.isNearEnough($)&&(M[0]=C,A=N)}return M}},o.prototype.roundCorner=function($){if(this.activing&&this.screenInfo){var z=this.screenInfo.curve._curves,C=(v=this.activing).point,o=this.getAdjacentBeziers(C);if(o&&2===o.length)var M=(A=o[1])._index,A=A.insertKnot(A.getTByPercentage($/A.length))[1],N=(z[M]=A).p1,s=(g=o[0])._index,g=g.insertKnot(g.getTByPercentage(1-$/g.length))[0],Y=(z[s]=g).p4;else{var v=v.pairs[0],O=z.length;if(v.c1){if(v.c2)return;var s=(g=o[0])._index,Y=(g=g.insertKnot(g.getTByPercentage(1-$/g.length))[0]).p4,N=(N=(A=z[(s+1)%O]).p1).clone().sub(C).setLength($).add(C),M=s+1;if(1-Math.abs(Y.clone().sub(C).normalize().dot(N.clone().sub(C).normalize()))<1e-8)return;z[s]=g}else{if(M=(A=o[0])._index,N=(A=A.insertKnot(A.getTByPercentage($/A.length))[1]).p1,Y=(Y=(g=z[(M-1+O)%O]).p4).clone().sub(C).setLength($).add(C),1-Math.abs(Y.clone().sub(C).normalize().dot(N.clone().sub(C).normalize()))<1e-8)return;z[M]=A}}s=new h.Math.CubicBezier(Y,(v=C).clone().sub(Y).multiplyScalar(2/3).add(Y),v.clone().sub(N).multiplyScalar(2/3).add(N),N),z.splice(M,0,s),this._writeToHt(),this.activing=null,this._interactor._42()}},o.prototype._checkEditRealPoint=function($){var z,C,o,M,A,N,s=this.screenInfo.curve._curves,g=this._interactor.getStyle("curvePointIntersectSize"),Y=1/0;for(g*=g,o=0,M=s.length;o<M;o++)A=(z=s[o])._p1,(N=$.distanceToSquared(A))<Y&&(Y=N,C=A),A=z._p4,(N=$.distanceToSquared(A))<Y&&(Y=N,C=A);return!(g<Y)&&((g=this.highlight={type:"changeRealPoint"}).point=C,this.editing={type:"realPoint",point:C,shiftGuide:{point:C.clone(),dir:"x",limit:0}},this._interactor.setCursor("crosshair"),!0)},o.prototype._checkEditElevation=function($){if(!this._interactor.getStyle("curveElevationVisible"))return!1;if(this.target instanceof U.Edge&&!this._interactor.getStyle("edgeElevationEditable"))return!1;var z=this.activing;if(!z)return!1;if(!(z=z.getCurrentEditingPoint()))return!1;var C=this._interactor,o=C.getStyle("curveElevationGuideShift");return(C=C.getStyle("curveElevationIntersectSize"))*C<$.distanceToSquared({x:z.x+o[0],y:z.y+o[1]})?void 0:(this.highlight={type:"elevation"},C=new h.Math.Vector2($.x,$.y,z.e),this.editing={type:"elevation",startPoint:C},this._interactor.setCursor("crosshair"),!0)},o.prototype._checkEditCtrlPoint=function($){var z=this;if(z.activing&&!z.activing.selections&&(g=z.getCurrentSelectintStatus())!==h.Curve.PointType.Straight){var C=z.activing.pairs;if(C){var o,M,A,N,s,g=z._interactor.getStyle("curvePointIntersectSize");g*=g;for(var Y,v,O=1/0,t=0,c=C.length;t<c;t++)for(N=C[t],v=0;v<2;v++)N[s=0===v?"c1":"c2"]&&(Y=$.distanceToSquared(N[s]))<O&&(O=Y,o=N,M=t,A=s);return g<O?!1:(z.activing.hlpair=o,z.activing.hltype=A,(g=z.highlight={type:"changeCtrlPoint"}).point=o[A],z.editing={type:"ctrlPoint",pair:o,pairId:M,ctrlType:A,direction:o[A].clone().sub(z.activing.point).normalize()},z._interactor.setCursor("crosshair"),!0)}}},o.prototype.startEdit=function($,z){$.startDragging(z);var C,o,M,A,N=this;N.highlight&&"insertKnot"===N.highlight.type&&(N.insertKnot(),N.gatherSingleTarget(N._interactor.gv,N.target),N.activing=null,N._checkEditRealPoint(N._interactor._getLogicalPoint(z)));(g=N._activing)&&("ctrlPoint"===(s=N.editing?N.editing.type:null)?g.editingCtrl={pairId:N.editing.pairId,type:g.hltype}:"realPoint"===s&&(g.editingCtrl=!1));var s=N.highlight,g=U.Default.isCtrlDown(z);if(!s||BX()||z_(z))return!(C=N._interactor.gv).setFocus(z)||C._scrolling?void 0:void(g?N._multiSelect={startPoint:C.lp(z)}:C.isPannable()&&($_(z)||z_(z))&&(N._pan={tx:C.tx(),ty:C.ty()},$.fi({kind:"beginPan",event:z})));"changeRealPoint"===s.type&&(C=N.activing?N.activing.point:null,o=N.activing?N.activing.selections:null,g&&N.activing?C===s.point?(o?(N.activing={point:o[0]},1<o.length&&(o.splice(0,1),N.activing.selections=o)):N.activing=null,N.editing=null):o&&0<=(M=o.indexOf(s.point))?(1<o.length?o.splice(M,1):delete N.activing.selections,N.editing=null):o?(o.push(C),N.activing={point:s.point,selections:o}):N.activing={point:s.point,selections:[C]}:o?C!==s.point&&(0<=(M=o.indexOf(s.point))?(o.splice(M,1,C),N.activing={point:s.point,selections:o}):N.activing={point:s.point}):(C===s.point&&(A=N.activing.status),N.activing={point:s.point},A&&(N.activing.status=A)),$.fi({kind:"beginEditPoint",event:z})),"changeCtrlPoint"===s.type&&$.fi({kind:"beginEditPoint",event:z})},o.prototype.insertKnot=function(){var $=this.highlight;this.screenInfo.curve.insertKnot($.bezier,$.point.t),this._writeToHt()},o.prototype._writeToHt=function(){var $,z,C,o=(A=this.screenInfo.curve.toHtShape()).points,M=[],A=A.segments,N=this._interactor.gv,s=(N.dm().beginTransaction(),this.target),g=s instanceof U.Edge,Y=h.getDataMatrix(s).invert();(s instanceof U.Polyline||g&&this._interactor.getStyle("edgeElevationEditable"))&&(C=s.getElevation&&s.getElevation()||0);for(var v=0,O=o.length;v<O;v++)$=o[v],z=h.toWorldPosition(N,$),z=Y.apply(z),isFinite($.e)&&$.e!==C&&(z.e=$.e),M.push(z);s._writing=!0,g?(s.s("edge.type","points"),s.setStyle("edge.segments",A),s.setStyle("edge.points",M.slice(1,M.length-1)),s.setStyle("edge.source.offset.x",0),s.setStyle("edge.source.offset.y",0),s.setStyle("edge.target.offset.x",0),s.setStyle("edge.target.offset.y",0),g=this._nextChangeEdgeHost,delete this._nextChangeEdgeHost,g&&("source"===g.type?s.setSource(g.host):s.setTarget(g.host)),this._writeEdgeHostAnchor("source",M[0]),this._writeEdgeHostAnchor("target",M[M.length-1])):M.length?(s.setSegments(A),s.setPoints(M,!0)):s.removeFromDataModel(),N.dm().endTransaction(),delete s._writing},o.prototype._writeEdgeHostAnchor=function($,z){var C=this.target,o=this._calcHostAnchor(C,$,z);o.index!==Kd?(C.setStyle("edge."+$+".index",o.index),C.setStyle("edge."+$+".percent",Kd),C.setStyle("edge."+$+".anchor.x",Kd),C.setStyle("edge."+$+".anchor.y",Kd),C.setStyle("edge."+$+".anchor.elevation",Kd),C.setStyle("edge."+$+".offset.elevation",z.e)):o.percent!==Kd?(C.setStyle("edge."+$+".percent",o.percent),C.setStyle("edge."+$+".index",Kd),C.setStyle("edge."+$+".anchor.x",Kd),C.setStyle("edge."+$+".anchor.y",Kd),C.setStyle("edge."+$+".anchor.elevation",Kd),C.setStyle("edge."+$+".offset.elevation",z.e)):(C.s("edge."+$+".anchor.x",o.x),C.s("edge."+$+".anchor.y",o.y),C.s("edge."+$+".anchor.elevation",o.e),o.offsetX||o.offsetY||o.offsetElevation?(C.s("edge."+$+".offset.x",o.offsetX),C.s("edge."+$+".offset.y",o.offsetY),C.s("edge."+$+".offset.elevation",o.offsetElevation)):(C.s("edge."+$+".offset.x",0),C.s("edge."+$+".offset.y",0),C.s("edge."+$+".offset.elevation",0)))},o.prototype._calcHostAnchor=function($,z,C,o){o=o||("source"===z?$.getSourceAgent():$.getTargetAgent());var M=this._interactor.gv;if(A=M.calculateAttachPoint(o,C))return A.info;if(xv(o))return M.calculateEdgePosition(o,C);var A=o.getRotation(),N=o.getAnchor(),s=(bv(o,M)&&(A=0),o.getElevation()),g=o.getTall()*o.getScaleTall(),s=((C.e||0)-$.s("edge."+z+".offset.elevation")-s)/g+.5,$=o.getScale();return A||$.x<0||$.y<0?(z=o.getMatrix().tfi(C),g=o.getSize(),{x:z.x/g.width+N.x,y:z.y/g.height+N.y,e:s}):(A=GK(M,o),{x:(C.x-A.x)/A.width,y:(C.y-A.y)/A.height,e:s})},o.prototype._handlePanning=function($){var z,C,o,M,A=this._pan;A&&(A.started=!0,C=(z=this._interactor).gv,o=z._lastClientPoint,M=s_($),M=gm(C,M,o),C.setTranslate(A.tx+M.x,A.ty+M.y),this.gatherSingleTarget(z.gv,this.target),z._42(),z.fi({kind:"betweenPan",event:$}))},o.prototype.handleEdit=function($,z){var C,o,M,A,N,s,g,Y,v,O,t,c,y,_,P,Z,X,d=this,l=d.editing;if(d._pan)d._handlePanning(z);else{if(d._multiSelect)return d._multiSelect.endPoint=$.lp(z),void d._interactor.redraw();l&&(l.inEdit=!0,A=d._interactor._getLogicalPoint(z),C=U.Default.isCtrlDown(z),Z=U.Default.isShiftDown(z),s=l.type,o=d.activing,d._guideInfo=null,"ctrlPoint"===s&&Z?(_=d.editing.direction.clone(),M=o.point,y=_.dot(A.clone().sub(M)),A=_.setLength(y).add(M)):"ctrlPoint"!==s&&"realPoint"!==s||("realPoint"===s&&Z&&(N=(y=d.editing.shiftGuide).point,Z=Math.abs(A.x-N.x),(g=Math.abs(A.y-N.y))<Z&&Z>y.limit&&"y"===y.dir&&(y.dir="x"),Z<g&&g>y.limit&&"x"===y.dir&&(y.dir="y"),"x"===(_=y.dir)?(A.y=N.y,y.limit=Math.max(y.limit,Z)):"y"===_&&(A.x=N.x,y.limit=Math.max(y.limit,g))),C||((Z=d._isEditEdgeSourceTarget())&&(P=A.clone()),y=d._guidingToEdit(A,_),v=g=1/0,(s="realPoint"===s?d._interactor.gridGuide.findClosest(A,_,!0):null)&&(s.x&&(g=s.x),s.y&&(v=s.y)),_=!1,y&&(y.xList&&(Math.abs(y.x)<=Math.abs(g)?(_=!0,g=y.x):delete y.xList),y.yList&&(Math.abs(y.y)<=Math.abs(v)?(_=!0,v=y.y):delete y.yList),_&&(d._guideInfo=y)),isFinite(g)&&(A.x+=g),isFinite(v)&&(A.y+=v),_&&(y.v=A),Z&&(s=_?A.clone():null,A.copy(P),(g=d._editEdgeSourceTarget(Z,A,C,s))&&(X=(d.edgeEditResult=g).tipText,g.isFixed&&(d._guideInfo=null))))),Y=d.screenInfo.curve,"realPoint"===l.type?((M=l.point).e!==Kd&&(A.e=M.e),Y.moveRealPoint(M,A),l.point=A,d.highlight.point=A,v=o.status,O=o.selections,d.activing={point:A,status:v},O&&(t=A.clone().sub(M),c=0,O.forEach(function($){var z=$.clone().add(t);Y.moveRealPoint($,z),O[c++]=z}),d.activing.selections=O)):"ctrlPoint"===l.type?(y=o.pairs[l.pairId],d.moveCtrlPair(y,A,l.ctrlType),o._firePointChange()):"elevation"===l.type&&(_=(N=l.startPoint).e+(N.y-A.y)/$._zoom,d._setCurrentPointImpl("e",_),o._firePointChange(),X="E: "+h.toFixed(_)),(P=U.Default.getLogicalPoint(z,d._interactor._canvas)).x+=h.Icons.TipShiftX,P.y+=h.Icons.TipShiftY,X||(Z=h.toWorldPosition($,A),X=h.toFixed(Z.x)+", "+h.toFixed(Z.y)),d.tipInfo={helperPos:P,text:X,size:X.length},d._writeToHt(),d._interactor.fi({kind:"betweenEditPoint",event:z}))}},o.prototype._setCurrentPointImpl=function($,z){var C=this._activing;if(!C)return!1;var o=this.target;if(!o)return!1;var M=C.getCurrentEditingPoint();if(!M)return!1;var A,N,s,g,Y,v,O=C.editingCtrl;return O||(A=M.clone()),"e"===$?M.e=z:("x"===$||"y"===$?(N=C._lastFirePoint,N="x"===$?{x:z,y:N?N.y:0}:{x:N?N.x:0,y:z}):"object"==typeof $?(N=$).e!==Kd&&(M.e=$.e):(N={x:$,y:z},arguments[2]!==Kd&&(M.e=arguments[2])),$=h.getDataMatrix(o),N=h.toScreenPosition(this._interactor.gv,$.apply(N)),M.x=N.x,M.y=N.y),O||(s=A.multiplyScalar(-1).add(M),Vv(M.e)&&Vv(A.e)&&(s.e=M.e-A.e),(g=this.screenInfo.curve).moveCtrlDueToRealPointMovement(M,s),(Y=C.selections)&&(v=0,Y.forEach(function($){var z=$.clone().add(s);isFinite(s.e)&&(z.e=(isFinite($.e)?$.e:o.getElevation()||0)+s.e),g.moveRealPoint($,z),Y[v++]=z}),C.selections=Y)),!0},o.prototype.setCurrentPoint=function($,z){return!!this._setCurrentPointImpl($,z)&&(this._writeToHt(),!0)},o.prototype._isEditEdgeSourceTarget=function(){if(!(this.target instanceof U.Edge))return!1;var $=this.editing.point,z=this.screenInfo.curve._curves;return $===z[0]._p1?"source":$===z[z.length-1]._p4&&"target"},o.prototype._editEdgeSourceTarget=function(z,$,C,o){var M,A,N,s,g,Y,v,O,t,c=this,y=c.target;if(N="source"===z?y.getSourceAgent():y.getTargetAgent())return M=c._interactor.gv,g=h.toWorldPosition(M,$),(Y=(Y=(A=c._calcHostAnchor(y,z,g,N)).index!==Kd||A.percent!==Kd?A.distance*M.getZoom()>c._interactor.getStyle("edgeHostEdgeMaxDistance"):!!c._interactor.getStyle("edgeHostDetectPerFrame")||A.x<0||1<A.x||A.y<0||1<A.y)&&M.getDataAt(g,function($){return!!M.isSelectable($)&&!!M.isSourceTargetEditable(y,$,z)&&!!y.canSetSourceTarget($,z)}))&&(v=c._calcHostAnchor(y,z,g,Y),c._nextChangeEdgeHost={type:z,host:N=Y},A=v),Y=!1,C||A.x===Kd?A.percent===Kd&&A.index===Kd||(Y=!0,s=A.point):(v=c._interactor.getStyle("anchorRound"),C=c._interactor.getStyle("anchorSensitivity"),(O=M.calculateAttachPoint(N,g))?(A=O.info,Y=!0):((A=o?c._calcHostAnchor(y,z,h.toWorldPosition(M,o),N):A).x=h.roundTo(A.x,v,C),A.y=h.roundTo(A.y,v,C)),s=Nm(M,N,0,A.offsetX||0,A.offsetY||0,A.x,A.y)),s&&(g=h.toScreenPosition(M,s),$.x=g.x,$.y=g.y),c._edgeHostGuideInfo={corners:h.getTargetCornersOnScreen(M,N),attach:O?O.index:-1,host:N},A.percent!==Kd?t="percent: "+A.percent.toFixed(2):A.index!==Kd?t="index: "+A.index:(t=A.x.toFixed(2)+", "+A.y.toFixed(2),(A.offsetX||A.offsetY)&&(t+=" offset: "+A.offsetX.toFixed(2)+", "+A.offsetY.toFixed(2))),{host:N,anchor:A,tipText:t,isFixed:Y}},o.prototype._guidingToEdit=function($,z){if(y=this.screenInfo.curve){var C,o,M,A,N,s,g,Y,v=y._curves,O=1/0,t=1/0,c=[];for(this.editing&&"realPoint"===this.editing.type&&(Y=this.editing.point),N=0,s=2*v.length;N<s;N++)g=v[Math.floor(N/2)][N%2?"_p4":"_p1"],0<=c.indexOf(g)||(c.push(g),Y&&Y===g||(M=g.x-$.x,A=g.y-$.y,Math.abs(M)<Math.abs(O)?(O=M,C=[g]):M===O&&C.push(g),Math.abs(A)<Math.abs(t)?(t=A,o=[g]):A===t&&o.push(g)));var y=this._interactor.getStyle("smartGuideThreshold");if((Math.abs(O)>y||"y"===z)&&(C=null),(Math.abs(t)>y||"x"===z)&&(o=null),(C||o)&&(y=!1,z={},C&&(y=!0,z.xList=C,z.x=O),o&&(y=!0,z.yList=o,z.y=t),y))return z}},o.prototype._46O=function($){var z,C,o,M=this;M.editing&&((o=M._isEditEdgeSourceTarget())&&(z=M.screenInfo.P,C=M.activing.point,"source"===o?(C.x=z[0],C.y=z[1]):(o=z.length,C.x=z[o-2],C.y=z[o-1])),M.editing=null,M._interactor.fi({kind:"endEditPoint",event:$})),M._guideInfo=null,M._edgeHostGuideInfo=null,M._pan&&(M._pan=null,M._interactor.fi({kind:"endPan",event:$})),M._multiSelect&&(M._handleMultiSelect(M._multiSelect,$),M._multiSelect=null),M.tipInfo=null,M.edgeEditResult=null},o.prototype._handleMultiSelect=function($,z){if($.startPoint&&$.endPoint){for(var C,o,M,A,N=this._interactor,s=N.gv,g=h.toScreenPosition(s,$.startPoint),s=h.toScreenPosition(s,$.endPoint),Y=U.Default.unionPoint(g,s),v=this.screenInfo.curve._curves,O=[],t=function($){$.x>=Y.x&&$.y>=Y.y&&$.x<=Y.x+Y.width&&$.y<=Y.y+Y.height&&O.indexOf($)<0&&O.push($)},c=0,y=v.length;c<y;c++)t((M=v[c])._p1),t(M._p4);if(O.length){var _=($=this.activing||{}).selections||[],P=($.point&&_.push($.point),U.Default.isShiftDown(z)),Z=z.altKey;if(Z&&!P)for(A=O,O=[],c=0,y=A.length;c<y;c++)C=A[c],0<=(o=_.indexOf(C))&&O.push(C);for(c=0,y=_.length;c<y;c++)C=_[c],0<=(o=O.indexOf(C))?P&&!Z||(O[o]=Kd):O.push(C);for(A=O,O=[],c=0,y=A.length;c<y;c++)A[c]&&O.push(A[c]);0===(y=O.length)?this.activing=null:1===y?this.activing={point:O[0]}:(C=O[y-1],this.activing={point:C,selections:O.splice(0,y-1)}),N.redraw()}}},o.prototype._canDeletePoint=function($,z){if(!(this.target instanceof U.Edge))return!0;var C=$._curves[0],$=$._curves[$._curves.length-1];return C._p1!==z&&$._p4!==z},o.prototype.handleDelete=function(){var z,C,o=this;o.activing&&o.screenInfo&&(z=U.Default.isShiftDown(),C=o.screenInfo.curve,o._canDeletePoint(C,o.activing.point)&&C.deleteRealPoint(o.activing.point,z),o.activing.selections&&o.activing.selections.forEach(function($){o._canDeletePoint(C,$)&&C.deleteRealPoint($,z)}),o.activing=null,delete o.editing,delete o.tipInfo,delete o.edgeEditResult,delete o._pan,delete o._multiSelect,o._writeToHt(),o._interactor.fp("deleteShapePoint",!1,!0))},o.prototype.handleDoubleClick=function($){var z,$=this._interactor._getLogicalPoint($);if(this.screenInfo&&this._checkEditRealPoint($))return $=($=this.getCurrentSelectintStatus())===(z=h.Curve.PointType).Mirrored?z.Straight:z.Mirrored,this._setCurrentSelectionStatus($),this._interactor._42(),!0},o.prototype._drawHighlight=function($){var z,C,o=this.highlight;o&&(C=o.bezier,z=this._interactor,C&&h.Icons.DrawIcon(z,$,h.Icons.ShapeHighlightCurve,[C._p1.x,C._p1.y,C._p2.x,C._p2.y,C._p3.x,C._p3.y,C._p4.x,C._p4.y]),(C=o.point)&&"insertKnot"===o.type&&h.Icons.DrawIcon(z,$,h.Icons.ShapeHighlighPoint,C))},o.prototype._drawGuide=function($){var z=this._guideInfo;if(z)for(var C,o,M,A=z.v,N=0;N<2;N++)if(M=0===N?z.xList:z.yList)for(C=0,o=M.length;C<o;C++)h.Icons.DrawIcon(this._interactor,$,h.Icons.ShapeGuideLine,[A.x,A.y,M[C].x,M[C].y])},o.prototype._drawCurrentPoint=function(z){if(this.activing){var $=this.activing,C=this.getCurrentSelectintStatus(),o=this._interactor;if(C!==h.Curve.PointType.Straight){var M=$.pairs,A=($.hlpair,$.hltype,$.selections),N=$.editingCtrl;if(M&&!A)for(var s,g=0,Y=M.length;g<Y;g++)s=M[g],N&&g===N.pairId&&s[N.type]?h.Icons.DrawIcon(o,z,h.Icons.ShapeActivingCtrl,{point:s.point,c1:s.c1,c2:s.c2,hl:N.type}):h.Icons.DrawIcon(o,z,h.Icons.ShapeActivingCtrl,s)}h.Icons.DrawIcon(o,z,h.Icons.ShapeHighlighRealPoint,this.activing.point),A&&A.forEach(function($){h.Icons.DrawIcon(o,z,h.Icons.ShapeHighlighRealPoint,$)})}},o.prototype.clear=function(){this.editing=null,this._guideInfo=null,this.activing=null,this.highlight=null},o.prototype._42=function(z){var $=this,C=($.info={},$.editing||($.screenInfo=null),$._interactor);if(C.editDetail){var o,M,A=C.gv;if(!$.target||!A.isSelected($.target)||!A.isVisible($.target))return C.editDetail=!1,void $.clear();$.gatherSingleTarget(A,$.target),h.Icons.DrawIcon(C,z,h.Icons.ShapeBgCurve,$.screenInfo),$._interactor.getStyle("curveElevationVisible")&&($.target instanceof U.Polyline||$.target instanceof U.Edge&&$._interactor.getStyle("edgeElevationEditable"))&&$.activing&&(o=$.activing.getCurrentEditingPoint())&&"string"!=typeof o.e&&h.Icons.DrawIcon(C,z,h.Icons.EdgeElevationGuide,o),$._drawHighlight(z),$._drawCurrentPoint(z),$._getRealPoint().forEach(function($){h.Icons.DrawIcon(C,z,h.Icons.ShapePoint,$)}),$._drawGuide(z),$.tipInfo&&$._interactor.getStyle("curveTipVisible")&&h.Icons.DrawIcon(C,z,h.Icons.TipHelper,$.tipInfo),$._edgeHostGuideInfo&&C._drawHostGuide($._edgeHostGuideInfo),$.edgeEditResult&&$._drawEdgeHostHighlight(z,$.edgeEditResult.host,$.edgeEditResult.anchor),$._multiSelect&&$._multiSelect.endPoint&&((o=U.Default.unionPoint(h.toScreenPosition(A,$._multiSelect.startPoint),h.toScreenPosition(A,$._multiSelect.endPoint))).color=A.getRectSelectBorderColor(),z.save(),z.setTransform(1,0,0,1,0,0),A=Qd.devicePixelRatio,M=o.borderWidth=Math.round(A),M/=2,o.x=Math.round(o.x*A)+M,o.y=Math.round(o.y*A)+M,o.width=Math.round(o.width*A),o.height=Math.round(o.height*A),h.Icons.DrawIcon(C,z,h.Icons.SimpleRect,o),z.restore())}else $.clear()},o.prototype._drawEdgeHostHighlight=function($,z,C){this.drawEdgeHostHighlight($,z,C),this._interactor.redraw()},o.prototype.drawEdgeHostHighlight=function($,z,C){if(xv(z)){for(var o,M,A=this._interactor,N=A.gv,z=N.getDataUI(z),s=lm(z),g=[],Y=0,v=s.points.length;Y<v;Y++)M=h.toScreenPosition(N,s.points.get(Y)),g.push(M.x,M.y);s.segments&&(o=s.segments.toArray());for(var O=A.getStyle("edgeHostHighlighPeriod"),t=A.getStyle("edgeHostEdgeHighlighColor"),c=(h.Icons.DrawIcon(A,$,h.Icons.ShapeBgCurve,{P:g,S:o,color:t,dynamicVisible:C.index===Kd,dynamicPeriod:O}),t=A.getStyle("edgeHostPointHighlighColor"),Vm(z)),Y=0,v=c.length;Y<v;Y++){var y=c[Y],y=h.toScreenPosition(N,y);h.Icons.DrawIcon(A,$,h.Icons.ShapePoint,{point:{x:y.x,y:y.y},color:t,size:12,dynamicVisible:Y===C.index,dynamicPeriod:O})}}},o.prototype._getRealPoint=function(){var C,$=this.screenInfo,o=$.P,M=$.S,A=-1,N=[],s=-1,g=M.length;return M.each(function($){s++;var z=1;if(3===$)z=2;else if(4===$)z=3;else if(5===$)return;A+=z,C=g<=s+1||1===M.get(s+1),N.push({point:{x:o[2*A],y:o[2*A+1]},segmentIndex:s,pointIndex:A,isEnd:C})}),N},o.prototype.getEditingPointsInfo=function($){var z=this,C=z.activing;if(!C)return!1;var o=C.point;if(!o)return!1;var M=this._getRealPoint(),A=[{screen:o}];C.selections&&C.selections.forEach(function($){A.push({screen:$})});var N,s,g=M.length;return A.forEach(function($){for(N=0;N<g;N++)if(s=M[N],$.screen.isNearEnough(s.point)){$.segmentIndex=s.segmentIndex,$.pointIndex=s.pointIndex,$.point=z.target.getPoints().get(s.pointIndex);break}}),$&&A.sort(function($,z){return $.segmentIndex-z.segmentIndex}),A};(((C=h.MoveHelper=function($){this.catalog="Move",this._interactor=$}).prototype={}).constructor=C).prototype.calcShift=function($,z,C){var o,M=this,A=M._interactor.gv,N=A.lp(z);if("beginMove"===$&&M._gatherGridInfo(C._lastLogicalPoint||N),$=M._target){if(C=$.downPosition){var s=M._interactor.getStyle("moveSensitivity")/A._zoom;if(C.distanceTo(N)<s)return{x:0,y:0};delete $.downPosition}U.Default.isShiftDown(z)&&(N=M._dealShiftDown(N),o=$.shiftGuide.dir);var g,C=$.rawPos={x:$.pos.x+N.x-$.lp.x,y:$.pos.y+N.y-$.lp.y},N=!0;if((s=M._interactor.getStyle("moveHelperFilter"))&&(N=s($.node instanceof h.Group?$.node._entities:[$.node])),U.Default.isCtrlDown(z)||!N)return g=M._calcShiftByAddon(),M._target.node instanceof h.Group&&((v=M._target.node)._position.x+=g.x,v._position.y+=g.y),g;if(s=M._interactor.rectGuide,$.node instanceof U.Data&&$.node.s("2d.attachable")&&(z=M._calcAttachNodeShift($.node,C),s.clear(),z))return z;for(var Y,v,O=$.x+C.x,t=$.y+C.y,N={x:O,y:t},z={x:O+$.w/2,y:t+$.h/2},c={x:O+$.w,y:t+$.h},y=M._interactor.gridGuide,_=[s.findClosest(N,o),s.findClosest(z,o),s.findClosest(c,o),s.findAlignClosest({x:O,y:t,width:$.w,height:$.h},o),y.findClosest(N,o),y.findClosest(z,o),y.findClosest(c,o)],P=1/0,Z=1/0,X=0,d=_.length;X<d;X++)(Y=_[X])&&(O=Y.x,t=Y.y,isFinite(O)&&Math.abs(O)<Math.abs(P)&&(P=O),isFinite(t)&&Math.abs(t)<Math.abs(Z)&&(Z=t));return isFinite(P)||(P=0),isFinite(Z)||(Z=0),g=M._calcShiftByAddon(P,Z),M._target.node instanceof h.Group&&((v=M._target.node)._position.x+=g.x,v._position.y+=g.y),s=$.node,bv(s,A)||(M._interactor.rectGuide.gatherLines({node:s,x:$.x+(N=C.x+P),y:$.y+(z=C.y+Z),w:$.w,h:$.h},o),M._interactor.rectGuide.checkAlignAreas({x:$.x+N,y:$.y+z,width:$.w,height:$.h})),g}},C.prototype._calcShiftByAddon=function($,z){var C=(o=this._target).rawPos,o=o.node.getPosition();return{x:C.x-o.x+($=$||0),y:C.y-o.y+(z=z||0)}},C.prototype._dealShiftDown=function($){var z=this._target.shiftGuide,C=this._target.lp,o=Math.abs($.x-C.x),M=Math.abs($.y-C.y),A=(M<o&&o>z.limit&&"y"===z.dir&&(z.dir="x"),o<M&&M>z.limit&&"x"===z.dir&&(z.dir="y"),z.dir);return"x"===A?($.y=C.y,z.limit=Math.max(z.limit,o)):"y"===A&&($.x=C.x,z.limit=Math.max(z.limit,M)),$},C.prototype._isAttachableLineShape=function($){if(!$.getSegments)return!1;var z=$.getSegments();if(!z)return!0;for(var C=1,o=(z=z instanceof U.List?z.getArray():z).length;C<o;C++)if(2!==z[C])return!1;return!0},C.prototype._calcAttachNodeShift=(XS=new F,dS=new F,lS=new F,JS=new F,function($,z){var C=this._interactor.gv,o=$.getHost(),M=C.getDataAt(z,function($){return!!$.s("2d.hostable")});if(M&&o!==M&&$.setHost(M),!M)return this._edgeHostGuideInfo=null,$.setHost(null);var A,N,o=this._edgeHostGuideInfo={corners:h.getTargetCornersOnScreen(C,M),host:M,attach:-1};if(!this._isAttachableLineShape(M))return(A=C.calculateAttachPoint(M,z))?(N=A.point,o.attach=A.index,this._calcShiftByAddon(N.x-z.x,N.y-z.y)):void 0;for(var s,g,Y,v,O,t,c=M.getPoints(),y=c.size(),_=M.getPointsMatrix2d(),P=1/0,Z=0;Z<y&&(Z!==y-1||M.isClosePath());Z++)0!==Z?dS.copy(lS):_.apply(c.get(Z),dS),_.apply(Z===y-1?c.get(0):c.get(Z+1),lS),XS.copy(z).sub(dS),JS.copy(lS).sub(dS),s=JS.length(),JS.divideScalar(s),(g=XS.dot(JS))<0?g=0:s<g&&(g=s),JS.multiplyScalar(g).add(dS),(Y=XS.copy(z).sub(JS).lengthSq())<P&&(P=Y,t=Z,v=g,O=s);return Math.sqrt(P)*C.getZoom()>this._interactor.getStyle("attachThreshold")?($.s({"attach.index":-1}),void $.setHost(null)):($.s("attach.offset.opposite")&&(v=O-v),$.s({"attach.index":t,"attach.offset":$.s("attach.offset.relative")?v/O:v}),{x:0,y:0})}),C.prototype._gatherGridInfo=function($){var z,C,o=this._interactor;if((M=o._getValidSelection()).length){if(1===M.length){if(!(z=M[0]).getRect)return void(this._target=null)}else if(!(z=h.Group.findOrCreateGroup(M,o._uuid)))return void(this._target=null)}else{var M=o.gv.sm().getSelection();if(M.length&&!(z=M.get(0)).getRect)return void(this._target=null)}z&&(M=z.getPosition(),C=z.getRect(),this._target={node:z,x:C.x-M.x,y:C.y-M.y,w:C.width,h:C.height,lp:{x:$.x,y:$.y},pos:{x:M.x,y:M.y},shiftGuide:{dir:"x",limit:0},downPosition:new h.Math.Vector2($)},o.rectGuide.gatherRects())},C.prototype.clear=function(){this._edgeHostGuideInfo=null,this._interactor.rectGuide.clear(),this._interactor._42()},C.prototype._42=function(){var $=this._edgeHostGuideInfo;$&&this._interactor._drawHostGuide($)};var ZS,XS,dS,lS,JS,KS,fS,QS,WS,VS,eS,DS,aS,kS,xS,pS,bS,uS,nS,RS,IS,hS,mS,SS,GS,ES,HS,iS,FS,jS,US,LS,wS,qS,TS,rS,BS,$z,zz,Cz,oz,Mz,Az,Nz,sz,gz,Yz,vz,Oz,tz=U.WebGLConstants=Jd.freeze({DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047}),cz=(KS="undefined"!=typeof WebGL2RenderingContext,fS={aliasedLineWidthRange:33902,aliasedPointSizeRange:33901,maxCombinedTextureImageUnits:35661,maxCubeMapTextureSize:34076,maxFragmentUniformVectors:36349,maxRenderBufferSize:34024,maxTextureImageUnits:34930,maxTextureSize:3379,maxVaryingVectors:36348,maxVertexAttribs:34921,maxVertexTextureImageUnits:35660,maxVertexUniformVectors:36347,maxViewportDIMs:3386},QS={max3DTextureSize:32883,maxArrayTextureLayers:35071,maxColorAttachments:36063,maxCombinedFragmentUniformComponents:35379,maxCombinedUniformBlocks:35374,maxCombinedVertexUniformComponents:35377,maxDrawBuffers:34852,maxElementIndex:36203,maxElementsIndices:33001,maxElementsVertices:33e3,maxFragmentInpuComponents:37157,maxFragmentUniformBlocks:35373,maxFragmentUniformComponents:35657,maxProgramTexelOffset:35077,maxSamples:36183,maxTextureLODBias:34045,maxTransformFeedbackInterleavedComponents:35978,maxTransformFeedbackSeparateAttribs:35979,maxTransformFeedbackSeparateComponents:35968,maxUniformBlockSize:35376,maxUniformBufferBindings:35375,maxVaryingComponents:35659,maxVertexOutputComponents:37154,maxVertexUniformBlocks:35371,maxVertexUniformComponents:35658,minProgramTexelOffset:35076},{for:function($){var z=$._info;return z||($._info=z=function(o,$){($=$==Kd?{}:$).version=KS&&(o instanceof WebGL2RenderingContext||"[object WebGL2RenderingContext]"===Jd.prototype.toString.call(o))?2:1,$.extensions=function(){for(var $={},z=o.getSupportedExtensions(),C=z.length;C--;)$[z[C]]=function($,z){var C=Kd;return function(){return C=C||$.getExtension(z)}}(o,z[C]);return $}();for(var z=Jd.keys(fS),C=0,M=z.length;C<M;++C)$[A=z[C]]=o.getParameter(fS[A]);if(1<$.version)for(var A,C=0,M=(z=Jd.keys(QS)).length;C<M;++C)$[A=z[C]]=o.getParameter(QS[A]);return $}($,z)),z}}),yz=(WS="undefined"!=typeof Float32Array&&new Float32Array(4),wd={viewport:{def:[0,0,NaN,NaN],getter:function($){return $.getParameter(2978)},setter:function($,z){var C=z[2]!=z[2]?$.drawingBufferWidth-z[0]:z[2],o=z[3]!=z[3]?$.drawingBufferHeight-z[1]:z[3];$.viewport(z[0],z[1],C,o)}},dither:{def:!1,getter:function($){return $.isEnabled(3024)},setter:function($,z){z?$.enable(3024):$.disable(3024)}},rasterizerDiscard:{def:!1,getter:function($){return 1<cz.for($).version&&$.isEnabled(35977)},setter:function($,z){1!==cz.for($).version&&(z?$.enable(35977):$.disable(35977))}},lineWidth:{def:1,getter:function($){return $.lineWidth?$.getParameter(2849):1},setter:function($,z){$.lineWidth&&$.lineWidth(z)}},color:{clear:{def:[0,0,0,0],getter:function($){return $.getParameter(3106)},setter:function($,z){$.clearColor(z[0],z[1],z[2],z[3])},parse:WE},mask:{def:[!0,!0,!0,!0],getter:function($){return $.getParameter(3107)},setter:function($,z){$.colorMask(z[0],z[1],z[2],z[3])}}},blend:{enabled:{def:!1,getter:function($){return $.isEnabled(3042)},setter:function($,z){z?$.enable(3042):$.disable(3042)}},color:{def:[0,0,0,0],getter:function($){return $.getParameter(32773)},setter:function($,z){$.blendColor(z[0],z[1],z[2],z[3])},parse:WE},equation:{def:[32774,32774],getter:function($){return[$.getParameter(32777),$.getParameter(34877)]},setter:function($,z){$.blendEquationSeparate(z[0],z[1])},parse:function($){var z=$.length;return 1<z?$:(WS[1]=WS[0]=1===z?$[0]:$,WS)}},func:{def:[1,tz.ZERO,1,tz.ZERO],getter:function($){return[$.getParameter(32969),$.getParameter(32968),$.getParameter(32971),$.getParameter(32970)]},setter:function($,z){$.blendFuncSeparate(z[0],z[1],z[2],z[3])},parse:function($){return 3<$.length?$:(WS[2]=WS[0]=$[0],WS[3]=WS[1]=$[1],WS)}}},cullFace:{enabled:{def:!1,getter:function($){return $.isEnabled(2884)},setter:function($,z){z?$.enable(2884):$.disable(2884)}},mode:{def:1029,getter:function($){return $.getParameter(2885)},setter:function($,z){$.cullFace(z)}},frontFace:{def:2305,getter:function($){return $.getParameter(2886)},setter:function($,z){$.frontFace(z)}}},scissor:{enabled:{def:!1,getter:function($){return $.isEnabled(3089)},setter:function($,z){z?$.enable(3089):$.disable(3089)}},box:{def:[0,0,NaN,NaN],getter:function($){return $.getParameter(3088)},setter:function($,z){var C=z[2]!=z[2]?$.drawingBufferWidth-z[0]:z[2],o=z[3]!=z[3]?$.drawingBufferHeight-z[1]:z[3];$.scissor(z[0],z[1],C,o)}}},depth:{enabled:{def:!1,getter:function($){return $.isEnabled(2929)},setter:function($,z){z?$.enable(2929):$.disable(2929)}},clear:{def:1,getter:function($){return $.getParameter(2931)},setter:function($,z){$.clearDepth(z)}},mask:{def:!0,getter:function($){return $.getParameter(2930)},setter:function($,z){$.depthMask(z)}},range:{def:[0,1],getter:function($){return $.getParameter(2928)},setter:function($,z){$.depthRange(z[0],z[1])}},func:{def:513,getter:function($){return $.getParameter(2932)},setter:function($,z){$.depthFunc(z)}}},stencil:{enabled:{def:!1,getter:function($){return $.isEnabled(2960)},setter:function($,z){z?$.enable(2960):$.disable(2960)}},clear:{def:0,getter:function($){return $.getParameter(2961)},setter:function($,z){$.clearStencil(z)}},frontMask:{def:255,getter:function($){return $.getParameter(2968)},setter:function($,z){$.stencilMaskSeparate(1028,z)}},frontOp:{def:[7680,7680,7680],getter:function($){return[$.getParameter(2964),$.getParameter(2965),$.getParameter(2966)]},setter:function($,z){$.stencilOpSeparate(1028,z[0],z[1],z[2])}},frontFunc:{def:[519,0,255],getter:function($){return[$.getParameter(2962),$.getParameter(2967),$.getParameter(2963)]},setter:function($,z){$.stencilFuncSeparate(1028,z[0],z[1],z[2])}},backMask:{def:255,getter:function($){return $.getParameter(36005)},setter:function($,z){$.stencilMaskSeparate(1029,z)}},backOp:{def:[7680,7680,7680],getter:function($){return[$.getParameter(34817),$.getParameter(34818),$.getParameter(34819)]},setter:function($,z){$.stencilOpSeparate(1029,z[0],z[1],z[2])}},backFunc:{def:[519,0,255],getter:function($){return[$.getParameter(34816),$.getParameter(36003),$.getParameter(36004)]},setter:function($,z){$.stencilFuncSeparate(1029,z[0],z[1],z[2])}}},hint:{generateMipmap:{def:4352,getter:function($){return $.getParameter(33170)},setter:function($,z){$.hint(33170,z)}},fragmentShaderDerivative:{def:4352,getter:function($){var z=cz.for($);return 1!==z.version||z.extensions.OES_standard_derivatives?$.getParameter(35723):4352},setter:function($,z){var C=cz.for($);(1<C.version||C.extensions.OES_standard_derivatives)&&$.hint(35723,z)}}},pixelStore:{packAlignment:QE(4,3333,!1),unpackAlignment:QE(4,3317,!1),unpackFlipY:QE(!1,37440,!1),unpackPremultiplyAlpha:QE(!1,37441,!1),unpackColorspaceConversion:QE(37444,37443,!1),packRowLength:QE(0,3330,!0),packSkipPixels:QE(0,3332,!0),packSkipRows:QE(0,3331,!0),unpackRowLength:QE(0,3314,!0),unpackImageHeight:QE(0,32878,!0),unpackSkipPixels:QE(0,3316,!0),unpackSkipRows:QE(0,3315,!0),unpackSkipImages:QE(0,32877,!0)},polygonOffset:{enabled:{def:!1,getter:function($){return $.isEnabled(32823)},setter:function($,z){z?$.enable(32823):$.disable(32823)}},value:{def:[0,0],getter:function($){return[$.getParameter(32824),$.getParameter(10752)]},setter:function($,z){$.polygonOffset(z[0],z[1])}}},sampleCoverage:{enabled:{def:!1,getter:function($){return $.isEnabled(32928)},setter:function($,z){z?$.enable(32928):$.disable(32928)}},alpha:{def:!1,getter:function($){return $.isEnabled(32926)},setter:function($,z){z?$.enable(32926):$.disable(32926)}},value:{def:[1,!1],getter:function($){return[$.getParameter(32938),$.getParameter(32939)]},setter:function($,z){$.sampleCoverage(z[0],z[1])}}}},wd=QK.create(wd,function($){return"def"in $}),eE.prototype.reset=function(){for(var $=this._struct.children,z=$.length;z--;){var C=$[z],o=C.name;C.isLeaf?this[o]=C.desc.def:this._branches[o].reset()}},eE.prototype.save=function($){$==Kd&&($={});for(var z=this._struct.children,C=z.length;C--;){var o=z[C],M=o.name;o.isLeaf?$[M]=VE(this._record[M]):((o=$[M])==Kd&&($[M]=o={}),this._branches[M].save(o))}return $},eE.prototype.sync=function($,z){for(var C=this._struct.children,o=C.length;o--;){var M=C[o],A=M.name;M.isLeaf?!z&&this._leafSync[A]||($?this._record[A]=M.desc.getter(this.gl):M.desc.setter(this.gl,this._record[A]),this._leafSync[A]=!0):this._branches[A].sync($,z)}},eE.prototype.syncLoss=function(){for(var $=this._struct.children,z=$.length;z--;){var C=$[z];C.isLeaf?this._leafSync[C.name]=!1:this._branches[C.name].syncLoss()}},eE.prototype.apply=function($,z){for(var C=this._struct.children,o=C.length;o--;){var M=C[o],A=M.name;A in $&&(M.isLeaf?(z&&(z[A]=U3(this[A])),this[A]=$[A]):this._branches[A].apply($[A],z?z[A]={}:Kd))}},eE.prototype.append=function($){var z,C=this._struct.childMap;for(z in $){var o=C[z];o&&(o.isLeaf?this[z]=$[z]:this._branches[z].append($[z]))}},VS=function s(M){var g=[];function $($,z){eE.call(this,M,$,z);for(var C=g.length;C--;){var o=g[C];this._branches[o._name]=new o._type($,this._record[o._name])}}return gE($,eE),M.forEach(function($,z){var C,o,M=$.name,A=YE($.desc.def),N=A&&$.desc.def.length;$.isLeaf?(C=$.desc.setter,o=$.desc.parse,Jd.defineProperty(z,M,{configurable:!1,enumerable:!0,get:function(){return this._record[M]},set:A?function($){o&&($=o($)),!function($,z){for(var C=N,o=!1;C--;)$[C]!==z[C]&&($[C]=z[C],o=!0);return o}(this._record[M],$)&&this._leafSync[M]||(C(this.gl,this._record[M]),this._leafSync[M]=!0)}:function($){this._record[M]===$&&this._leafSync[M]||(C(this.gl,$),this._record[M]=$,this._leafSync[M]=!0)}})):(g.push({_name:M,_type:s($)}),Jd.defineProperty(z,M,{configurable:!1,enumerable:!0,get:function(){return this._branches[M]},set:function($){this._branches[M].apply($)}}))},$.prototype),$}(wd),function(){var g=[];if("function"==typeof Float32Array)for(var $=1;$<17;++$)g[$]=new Float32Array($);function Y($,z,C,o){if($)if($.length!=Kd)for(M=0;M<o;++M)z[C+M]=$[M];else $.toArray&&$.toArray(z,C);else for(var M=0;M<o;++M)z[C+M]=0}function C($,z,C){var o=$[0];if("number"==typeof o)return $;var M=z*C,A=g[M];if(A==Kd&&(g[M]=A=new Float32Array(M)),0!==z){Y(o,A,0,C);for(var N=1,s=0;N!==z;++N)Y($[N],A,s+=C,C)}return A}function z($,z){$.uniform1iv(this.addr,z)}function o($,z){$.uniform2iv(this.addr,z)}function M($,z){$.uniform3iv(this.addr,z)}function A($,z){$.uniform4iv(this.addr,z)}var N=[0,1];function s($,z){$.uniform1i(this.addr,this.slots[0]),$.activeTexture(33984+this.slots[0]),$.bindTexture(3553,z||$._emptyTexture)}function v($,z){$.uniform1iv(this.addr,this.slots);for(var C=this.slots.length;C--;)$.activeTexture(33984+this.slots[C]),$.bindTexture(3553,z[C]||$._emptyTexture)}var O=[];function t($,z,C){O[$]=[z,C]}t(5126,function($,z){var C=this.cache;C[0]!==z&&($.uniform1f(this.addr,z),C[0]=z)},function($,z){$.uniform1fv(this.addr,z)}),t(35664,function($,z){var C,z=z.x!=Kd?(C=z.x,z.y):(C=z[0],z[1]),o=this.cache;o[0]===C&&o[1]===z||($.uniform2f(this.addr,C,z),o[0]=C,o[1]=z)},function($,z){z=C(z,this.size,2),$.uniform2fv(this.addr,z)}),t(35665,function($,z){z=(z="string"==typeof z?Yx(z):z).x!=Kd?(C=z.x,o=z.y,z.z):z.r!=Kd?(C=z.r,o=z.g,z.b):z.red!=Kd?(C=z.red,o=z.green,z.blue):(C=z[0],o=z[1],z[2]);var C,o,M=this.cache;M[0]===C&&M[1]===o&&M[2]===z||($.uniform3f(this.addr,C,o,z),M[0]=C,M[1]=o,M[2]=z)},function($,z){z=C(z,this.size,3),$.uniform3fv(this.addr,z)}),t(35666,function($,z){z=(z="string"==typeof z?Yx(z):z).x!=Kd?(C=z.x,o=z.y,M=z.z,z.w):z.r!=Kd?(C=z.r,o=z.g,M=z.b,z.a):z.red!=Kd?(C=z.red,o=z.green,M=z.blue,z.alpha):(C=z[0],o=z[1],M=z[2],z[3]==fd?1:z[3]);var C,o,M,A=this.cache;A[0]===C&&A[1]===o&&A[2]===M&&A[3]===z||($.uniform4f(this.addr,C,o,M,z),A[0]=C,A[1]=o,A[2]=M,A[3]=z)},function($,z){z=C(z,this.size,4),$.uniform4fv(this.addr,z)}),t(5124,function($,z){var C=this.cache;C[0]!==z&&($.uniform1i(this.addr,z),C[0]=z)},z),t(35667,o,o),t(35668,M,M),t(35669,A,A),t(35670,function($,z){var C=this.cache;C[0]!==(z=N[z?1:0])&&($.uniform1i(this.addr,z),C[0]=z)},z),t(35671,o,o),t(35672,M,M),t(35673,A,A),t(35674,function($,z){var C=g[4];C.set(z,0),$.uniformMatrix2fv(this.addr,!1,C)},function($,z){$.uniformMatrix2fv(this.addr,!1,C(z,this.size,4))}),t(35675,function($,z){var C=g[9];C.set(z,0),$.uniformMatrix3fv(this.addr,!1,C)},function($,z){$.uniformMatrix3fv(this.addr,!1,C(z,this.size,9))}),t(35676,function($,z){var C=g[16];C.set(z,0),$.uniformMatrix4fv(this.addr,!1,C)},function($,z){$.uniformMatrix4fv(this.addr,!1,C(z,this.size,16))}),t(35678,s,v),t(36306,s,v),t(35680,function($,z){$.uniform1i(this.addr,this.slots[0]),$.activeTexture(33984+this.slots[0]),$.bindTexture(34067,z||$._emptyCubeTexture)},function($,z){$.uniform1iv(this.addr,this.slots);for(var C=this.slots.length;C--;)$.activeTexture(33984+this.slots[C]),$.bindTexture(34067,z[C]||$._emptyCubeTexture)});var X=/([\w\d_]+)(\])?(\[|\.)?/g;function d($,z,C,o,M){this.name=$,this.addr=z,this.cache=[],this.size=o?C.size:0,this.activeInfo=C,this.setter=O[C.type][o?1:0],this.slots=function($,z,C){switch($.type){case 35678:case 35680:case 36306:if("uSampler"===C)return[0];if("uBlendSampler"===C)return[1];for(var o=$.size,M=new Int32Array(o),A=0;A<o;++A)M[A]=z.usedTextureSlot++;return M}return Kd}(C,M,$),lK(this)}function l($,z,C){this.gl=z,this._program=C,this._leaves={},this._branches={},this._struct=$}function c($,z){for(var C=$.getProgramParameter(z,35718),o={},M={usedTextureSlot:2};C--;){var A=$.getActiveUniform(z,C),N=A.name,s=(P=c=_=Y=void 0,A),g=$.getUniformLocation(z,N),Y=o,v=M,O=s.name,t=O.length;for(X.lastIndex=0;;){var c=X.exec(O),y=X.lastIndex,_=c[1],P="]"===c[2];if(P&&(_|=0),(c=c[3])===Kd||"["===c&&y+2===t){Y[_]=new d(_,g,s,c!==Kd,v);break}(P=Y[_])==Kd&&(Y[_]=P={}),Y=P}}var Z=function A(M){var N=[];function $($,z){l.call(this,M,$,z);for(var C=N.length;C--;){var o=N[C];this._branches[o._name]=new o._type($,z)}this.uuid=B.generateUUID()}return gE($,l),M.forEach(function($,z){var C,o,M=$.name;$.isLeaf?(C=JK?vE("d.setter(this.gl, v);",["v"],["d"],[$.desc]):(o=$.desc,function($){o.setter(this.gl,$)}),Jd.defineProperty(z,M,{configurable:!1,enumerable:!0,get:function(){return C},set:C})):(N.push({_name:M,_type:A($)}),Jd.defineProperty(z,M,{configurable:!1,enumerable:!0,get:function(){return this._branches[M]},set:function($){this._branches[M].apply($)}}))},$.prototype),$}(QK.create(o,function($){return"addr"in $}));return Jd.defineProperty(Z.prototype,"textureCount",{configurable:!1,enumerable:!1,writable:!1,value:M.usedTextureSlot}),new Z($,z)}return l.prototype.apply=function($,z){for(var C=this._struct.children,o=C.length;o--;){var M,A=C[o],N=A.name,s=A.desc.activeInfo;if(z){if((M=z($,N,s?s.type:null))===Kd)continue}else{if(!(N in $))continue;M=$[N]}A.isLeaf?this[N]=M:this._branches[N].apply(M)}},l.prototype.append=function($){var z,C=this._struct.childMap;for(z in $){var o=C[z];o&&(o.isLeaf?this[z]=$[z]:this._branches[z].append($[z]))}},function($,z){var C=z._uniforms;return C||(z._uniforms=C=c($,z)),C}}()),_z=function(){for(var M=[],$=1;$<17;++$)M[$]=new p_($);function z($,z,C){z.vertexAttrib1f($.addr,C)}function Y($,z,C,o){for(var M=C?1:0,A=z.addr,N=0;N<o;N++)$.vertexAttribDivisor(A+N,M)}var o=[],v="undefined"!=typeof WebGLBuffer&&WebGLBuffer.prototype;function C($,N,s,g){o[$]=function($,z,C,o,M,A){this.addr==Kd||this.addr<0||(z==Kd||!1===z?g($,this.addr):dK(z)===v?s(this,$,z,z.glType,o,M,A):(g($,this.addr),N(this,$,z)))}}function A($,z){$.vertexAttribDivisor(z,0),$.disableVertexAttribArray(z)}function s($,z,C){this.name=$,this.addr=z,this.activeInfo=C,this.setter=o[C.type],lK(this)}function g($,z,C){this.gl=z,this.program=C,this._branches={},this._struct=$}return C(5125,z,function($,z,C,o,M,A,N){z.bindBuffer(34962,C);var s=$.addr;z.enableVertexAttribArray(s),Y(z,$,C.instanced,1),z.vertexAttribIPointer(s,1,o||5126,A||0,N||0),z.bindBuffer(34962,null)},A),C(5126,z,function($,z,C,o,M,A,N){z.bindBuffer(34962,C);var s=$.addr;z.enableVertexAttribArray(s),Y(z,$,C.instanced,1),z.vertexAttribPointer(s,1,o||5126,!!M,A||0,N||0),z.bindBuffer(34962,null)},A),C(35664,function($,z,C){var o;C.x!=Kd?z.vertexAttrib2f($.addr,C.x,C.y):((o=M[2]).set(C,0),z.vertexAttrib2fv($.addr,o))},function($,z,C,o,M,A,N){z.bindBuffer(34962,C);var s=$.addr;z.enableVertexAttribArray(s),Y(z,$,C.instanced,1),z.vertexAttribPointer(s,2,o||5126,!!M,A||0,N||0),z.bindBuffer(34962,null)},A),C(35665,function($,z,C){var o;C.x!=Kd?z.vertexAttrib3f($.addr,C.x,C.y,C.z):C.r!=Kd?z.vertexAttrib3f($.addr,C.r,C.g,C.b):C.red!=Kd?z.vertexAttrib3f($.addr,C.red,C.green,C.blue):((o=M[3]).set(C,0),z.vertexAttrib3fv($.addr,o))},function($,z,C,o,M,A,N){z.bindBuffer(34962,C);var s=$.addr;z.enableVertexAttribArray(s),Y(z,$,C.instanced,1),z.vertexAttribPointer(s,3,o||5126,!!M,A||0,N||0),z.bindBuffer(34962,null)},A),C(35666,function($,z,C){var o;(C="string"==typeof C?Yx(C):C).x!=Kd?z.vertexAttrib4f($.addr,C.x,C.y,C.z,C.w):C.r!=Kd?z.vertexAttrib4f($.addr,C.r,C.g,C.b,C.a):C.red!=Kd?z.vertexAttrib4f($.addr,C.red,C.green,C.blue,C.alpha):((o=M[4]).set(C,0),z.vertexAttrib4fv($.addr,o))},function($,z,C,o,M,A,N){z.bindBuffer(34962,C);var s=$.addr;z.enableVertexAttribArray(s),Y(z,$,C.instanced,1),z.vertexAttribPointer(s,4,o||5126,!!M,A||0,N||0),z.bindBuffer(34962,null)},A),C(35674,function($,z,C){C=C.el||C,z.vertexAttrib2f($.addr,C[0],C[1]),z.vertexAttrib2f($.addr+1,C[2],C[3])},function($,z,C,o,M,A,N){var A=A||16,N=N||0,s=$.addr;z.bindBuffer(34962,C),z.enableVertexAttribArray(s),z.vertexAttribPointer(s,2,o||5126,!!M,A,N),z.enableVertexAttribArray(s+1),z.vertexAttribPointer(s+1,2,o||5126,!!M,A,N+8),Y(z,$,C.instanced,2),z.bindBuffer(34962,null)},function($,z){$.vertexAttribDivisor(z,0),$.vertexAttribDivisor(z+1,0),$.disableVertexAttribArray(z),$.disableVertexAttribArray(z+1)}),C(35675,function($,z,C){C=C.el||C,z.vertexAttrib3f($.addr,C[0],C[1],C[2]),z.vertexAttrib3f($.addr+1,C[3],C[4],C[5]),z.vertexAttrib3f($.addr+2,C[6],C[7],C[8])},function($,z,C,o,M,A,N){var A=A||36,N=N||0,s=$.addr;z.bindBuffer(34962,C);for(var g=0;g<3;g++)z.enableVertexAttribArray(s+g),z.vertexAttribPointer(s+g,3,o||5126,!!M,A,N+12*g);Y(z,$,C.instanced,3),z.bindBuffer(34962,null)},function($,z){$.vertexAttribDivisor(z,0),$.vertexAttribDivisor(z+1,0),$.vertexAttribDivisor(z+2,0),$.disableVertexAttribArray(z),$.disableVertexAttribArray(z+1),$.disableVertexAttribArray(z+2)}),C(35676,function($,z,C){C=C.el||C,z.vertexAttrib4f($.addr,C[0],C[1],C[2],C[3]),z.vertexAttrib4f($.addr+1,C[4],C[5],C[6],C[7]),z.vertexAttrib4f($.addr+2,C[8],C[9],C[10],C[11]),z.vertexAttrib4f($.addr+3,C[12],C[13],C[14],C[15])},function($,z,C,o,M,A,N){var A=A||64,N=N||0,s=$.addr;z.bindBuffer(34962,C);for(var g=0;g<4;g++)z.enableVertexAttribArray(s+g),z.vertexAttribPointer(s+g,4,o||5126,!!M,A,N+16*g);Y(z,$,C.instanced,4),z.bindBuffer(34962,null)},function($,z){$.vertexAttribDivisor(z,0),$.vertexAttribDivisor(z+1,0),$.vertexAttribDivisor(z+2,0),$.vertexAttribDivisor(z+3,0),$.disableVertexAttribArray(z),$.disableVertexAttribArray(z+1),$.disableVertexAttribArray(z+2),$.disableVertexAttribArray(z+3)}),g.prototype.disable=function(){for(var $=this._struct.children,z=$.length;z--;){var C=$[z],o=C.name;C.isLeaf?this[o]=Kd:this._branches[o].disable()}},g.prototype.apply=function($,z){for(var C=this._struct.children,o=C.length;o--;){var M,A=C[o],N=A.name;if(z){if((M=z($,N,A))===Kd)continue}else{if(!(N in $))continue;M=$[N]}A.isLeaf?this[N]=M:this._branches[N].apply(M)}},g.prototype.append=function($){var z,C=this._struct.childMap;for(z in $){var o=C[z];o&&(o.isLeaf?this[z]=$[z]:this._branches[z].append($[z]))}},function($,z){var C=z._attribs;return C||(z._attribs=C=function($,z){for(var C=$.getProgramParameter(z,35721),o={};C--;){var M=$.getActiveAttrib(z,C),A=M.name,N=$.getAttribLocation(z,A);0<=N&&(o[A]=new s(A,N,M))}return new(function A(M){var N=[];function $($,z){g.call(this,M,$,z);for(var C=N.length;C--;){var o=N[C];this._branches[o._name]=new o._type($,z)}}return gE($,g),M.forEach(function($,z){var C,o,M=$.name;$.isLeaf?(C=JK?vE("d.setter(this.gl, v);",["v"],["d"],[$.desc]):(o=$.desc,function($){o.setter(this.gl,$)}),Jd.defineProperty(z,M,{configurable:!1,enumerable:!0,get:function(){return C},set:C})):(N.push({_name:M,_type:A($)}),Jd.defineProperty(z,M,{configurable:!1,enumerable:!0,get:function(){return this._branches[M]},set:function($){this._branches[M].apply($)}}))},$.prototype),$}(QK.create(o,function($){return"addr"in $})))($,z)}($,z)),C}}(),kd=function($){var z;Jd.defineProperties(this,{gl:{configurable:!1,enumerable:!1,value:$,writable:!1},glState:{configurable:!1,enumerable:!1,value:((z=($=$)._state)||($._state=z=new VS($)),z),writable:!1}}),this._currProgram=Kd,this._currUniforms=Kd,this._currAttribs=Kd,this._sync=!0},Pz=(Jd.defineProperties(kd.prototype,{program:{configurable:!1,enumerable:!1,get:function(){return this._currProgram},set:function($){this._sync&&$===this._currProgram||(this.gl.useProgram($),this._currProgram=$,this._currUniforms=yz(this.gl,$),this._currAttribs=_z(this.gl,$),this._sync=!0)}},uniforms:{configurable:!1,enumerable:!1,get:function(){return this._currProgram&&!this._sync&&(this.gl.useProgram(this._currProgram),this._sync=!0),this._currUniforms},set:function($){this._currUniforms&&(this._currProgram&&!this._sync&&(this.gl.useProgram(this._currProgram),this._sync=!0),this._currUniforms.apply($))}},attribs:{configurable:!1,enumerable:!1,get:function(){return this._currProgram&&!this._sync&&(this.gl.useProgram(this._currProgram),this._sync=!0),this._currAttribs},set:function($){this._currUniforms&&(this._currProgram&&!this._sync&&(this.gl.useProgram(this._currProgram),this._sync=!0),this._currAttribs.apply($))}}}),kd.prototype.useProgram=function($){this._sync&&$===this._currProgram||(this.gl.useProgram($),this._currProgram=$,this._currUniforms=yz(this.gl,$),this._currAttribs=_z(this.gl,$),this._sync=!0)},kd.prototype.directState=function(){return this.glState},kd.prototype.directUniforms=function(){return this._currUniforms},kd.prototype.directAttribs=function(){return this._currAttribs},kd.prototype.syncLoss=function(){this._sync=!1,this.glState.syncLoss()},kd.for=function($){var z=$._renderState;return z||($._renderState=z=new kd($)),z},"light.color"),Zz=4294967295,Xz=0,dz={},lz={},Jz={},_={},Kz=function($){return $=Qd.convertShape3dModelName($),Dv($)?$.modelType?$.uuid?ih[$.uuid]:Kd:$:ih[$]},fz=function($,z){var C;if($=Qd.convertShape3dModelName($),Dv($)){if($.modelType){if($.uuid){if(C=ih[$.uuid])return z&&z(C),C}else $.uuid=U.Math.generateUUID();return C===Kd?(t3($.uuid,z),ip&&ip[$.uuid]||wp($.uuid,$),Kd):(z&&z(C),C)}return z&&z($),$}return C=ih[$],$&&C===Kd&&Bh.test($)?(t3($,z),ip&&ip[$]||(Lp($,$),C=ih[$])):z&&z(C),C},Qz="undefined"!=typeof WebGLTexture&&WebGLTexture.prototype,Wz=function($){return $&&dK($)===Qz},Vz=function($,z){$.frameStack?$.frameStack.push(z):$.frameStack=[z],$.bindFramebuffer(36160,z)},ez=function($){var z=$.frameStack;if(z){if(z.pop(),z.length)return void $.bindFramebuffer(36160,z[z.length-1]);$.frameStack=null}$.bindFramebuffer(36160,null)},Dz=(z(Qd,{graph3dViewAttributes:fd,graph3dViewFirstPersonMode:!1,graph3dViewMouseRoamable:!0,graph3dViewRoamingWalkable:!0,graph3dViewMoveStep:15,graph3dViewRotateStep:x/60,graph3dViewSortable:!1,graph3dViewOpaqueSortable:!1,graph3dViewBlockSelectable:!0,graph3dViewEditHelperDisabled:!1,graph3dViewPannable:!0,graph3dViewRotatable:!0,graph3dViewWalkable:!0,graph3dViewResettable:!0,graph3dViewZoomable:!0,graph3dViewRectSelectable:!0,graph3dViewRectSelectBackground:st,graph3dViewGridVisible:!1,graph3dViewGridSize:50,graph3dViewGridGap:50,graph3dViewGridColor:[.4,.75,.85,1],graph3dViewRotateMaxPhi:x,graph3dViewRotateMinPhi:0,graph3dViewShadowDisabled:!0,graph3dViewShadowQuality:"high",graph3dViewShadowIntensity:.3,graph3dViewShadowBias:-.005,graph3dViewShadowRadius:.1,graph3dViewShadowType:"hard",graph3dViewShadowDegreeX:30,graph3dViewShadowDegreeZ:-10,graph3dViewShadowCascades:0,graph3dViewShadowCSMLambda:.5,graph3dViewShadowCSMFade:.05,graph3dViewShadowPCSSLightSize:15,graph3dViewShadowPCSSIntensity: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,graph3dViewSyncEyeWithOrthoWidth:!1,graph3dViewFovy:x/4,graph3dViewNear:10,graph3dViewFar:1e4,graph3dViewEye:[0,300,1e3],graph3dViewCenter:[0,0,0],graph3dViewUp:[0,1,-1e-7],graph3dViewAspect:1.2,graph3dViewDataNumWarningLine:1e4,graph3dViewHeadlightDirection:"camera",graph3dViewHeadlightRange:0,graph3dViewHeadlightGroup:0,graph3dViewHeadlightColor:[1,1,1,1],graph3dViewHeadlightIntensity:1,graph3dViewHeadlightDisabled:!1,graph3dViewHeadlightAmbientIntensity:.7,graph3dViewHeadlightRatioForPhysicalMaterial:.5,graph3dViewFogDisabled:!0,graph3dViewFogMode:"linear",graph3dViewFogDensity:5e-4,graph3dViewFogColor:"white",graph3dViewFogNear:1,graph3dViewFogFar:2e3,graph3dViewPickerResolution:.5,graph3dViewDashDisabled:!0,graph3dViewUvClipEnabled:!1,graph3dViewTransmissionEnabled:!0,graph3dViewBatchBlendDisabled:!0,graph3dViewBatchBrightnessDisabled:!0,graph3dViewBatchColorDisabled:!1,graph3dViewBatchInstancedDisabled:!0,graph3dViewBackfaceUsingNormals:!1,graph3dViewFlowBlendMode:"addRGB",graph3dViewEnvmapType:"legacy",graph3dMaxVectorCacheTime:50,graph3dEnvmapCapabilityRequire:8,graph3dMaxHighlightGroups:8,maxAxisScaleDifference:1e3,setShape3dModel:function($,z){Vd(z)&&Bh.test(z)?Lp($,z):Dv(z)&&z.modelType?wp($,z):z===Kd?delete ih[$]:ih[$]=z},getShape3dModel:fz,getShape3dModelFromMemory:Kz,convertShape3dModelName:function($){return $},getShape3dModelMap:function(){return ih},getCachedShape3dModelMap:function(){return Fh},createMatrix:function($,z){for(var C=($=ed($)?$:[$]).length-1;0<=C;C--){var o=$[C];z=w_(o.mat,o.s3,o.r3,o.rotationMode,o.t3,z)}return z},transformVec:G_,glBindFrame:Vz,glUnbindFrame:ez,createBoxModel:function(){return{vs:$w,ns:ow,uv:Cw,is:zw}},registerAsset3dFormat:function($,z){var C=Qd.__htExtraAsset3dPattern;if(C){if(0<=C.indexOf($))return!1}else C=Qd.__htExtraAsset3dPattern=[];return C.push($),C=Th+"|"+C.join("|")+rh,Bh=new RegExp(C,"i"),Qd.setModelTypeHandler($,z),!0},ungisterAsset3dFormat:function($){var z=Qd.__htExtraAsset3dPattern;if(!z)return!1;var C=z.indexOf($);return!(C<0)&&(z.splice(C,1),C=Th+(z.length?"|":"")+z.join("|")+rh,Bh=new RegExp(C,"i"),Qd.setModelTypeHandler($,Kd),z.length||(Qd.__htExtraAsset3dPattern=fd),!0)},createRoundRectModel:function($,z){return _w.roundRect($,z)},createStarModel:function($,z){return _w.star($,z)},createRectModel:function($,z){return _w.rect($,z)},createTriangleModel:function($,z){return _w.triangle($,z)},createRightTriangleModel:function($,z){return _w.rightTriangle($,z)},createParallelogramModel:function($,z){return _w.parallelogram($,z)},createTrapezoidModel:function($,z){return _w.trapezoid($,z)},createSmoothSphereModel:function($,z,C,o,M,A,N){return Dm(new $V($,z,C,o,M,A,N))},createSphereModel:function($,z,C,o,M,A,N){return $?sw($,z,C,o,M,A,N):Qd.createSmoothSphereModel()},createSmoothConeModel:function($,z,C,o,M){return tw($,z,C,o,M)},createConeModel:function($,z,C,o,M,A,N,s){return $?cw($,z,C,o,M,A,N,s):tw(A)},createSmoothCylinderModel:function($,z,C,o,M,A,N,s){return Dm(new Bm($,z,C,o,M,A,N,s))},createCylinderModel:function($,z,C,o,M,A,N,s){return $?Ow($,z,C,o,M,A,N,s):vw(A,N)},createSmoothTorusModel:function($,z,C,o,M,A){return Dm(new zV($,z,C,o,M,A))},createTorusModel:function($,z,C,o,M,A,N,s){return $?Yw($,z,C,o,M,A,N,s):gw(A,N)},createExtrusionModel:function($,z,C,o,M,A,N,s){return yw($,z,C,o,M,A,N,s)},createSmoothRingModel:function($,z,C,o,M,A){for(var N=[],s=0;s<$.length-1;s+=2)N.push({x:$[s],y:$[s+1]});for($=_x(N,z,C)[0],N=[],s=0;s<$.length;s++){var g=$[s];N.push(new Dd(g.x,0,g.y))}return Dm(new MV(N,A,o,M))},createTextGeometry:function($,z){var C=Dm(new AV($,z));if(z.cube)for(var z=($=function($){for(var z,C,o,M,A,N,s=ed($)?$:[$],g=1/0,Y=1/0,v=1/0,O=-1/0,t=-1/0,c=-1/0,y=["vs","top_vs","bottom_vs","from_vs","to_vs"],_=0,P=s.length;_<P;_++)for(N=s[_],z=0,C=y.length;z<C;z++)if(A=N[y[z]])for(o=0,M=A.length;o<M;o+=3)g=od(g,A[o]),Y=od(Y,A[o+1]),v=od(v,A[o+2]),O=Cd(O,A[o]),t=Cd(t,A[o+1]),c=Cd(c,A[o+2]);return $.boundingBox={min:{x:g,y:Y,z:v},max:{x:O,y:t,z:c}}}(C)).min,$=$.max,o=z.x,M=z.y,A=z.z,N=$.x-o||1,s=$.y-M||1,g=$.z-A||1,Y=["vs","top_vs","bottom_vs"],v=0,O=Y.length;v<O;v++){var t=C[Y[v]];if(t)for(var c=0,y=t.length;c<y;c+=3)t[c]=(t[c]-o)/N-.5,t[c+1]=(t[c+1]-M)/s-.5,t[c+2]=(t[c+2]-A)/g-.5}return C},loadFontFace:function($,o){Qd.xhrLoad($,function(z){if(!z)return o();var C;try{C=JSON.parse(z)}catch($){C=JSON.parse(z.substring(65,z.length-2))}Fm.loadFace(C),o&&o(C.familyName.toLowerCase())},o?null:{sync:!0})},createRingModel:function($,R,I,z,C,o,M,A,N,s){for(var g=[],Y=0;Y<$.length-1;Y+=2)g.push({x:$[Y],y:$[Y+1]});o=o||Qd.shapeSide,M=M||0,A=A||o;var v,O,t,c,y,_,P,Z,X,d,l,J,K,f,Q,W,V,e=[],D=[],a=N?[]:fd,k=N?[]:fd,x=s?[]:fd,p=s?[]:fd,b=z?[]:fd,h=z?[]:fd,m=C?[]:fd,S=C?[]:fd,$=_x(g,R,I),G=CX($),u=0,n=2*Math.PI/o;return $.forEach(function($){if(1<(t=$.length)){if(c=$[0],z)for(_=c.x,Z=c.y,Y=M;Y<A;Y++)K=(l=Y+1)*n,f=Wd(J=Y*n),Q=yd(J),W=Wd(K),V=yd(K),b.push(f*_,Z,-Q*_,W*_,Z,-V*_,0,Z,0),h.push(.5-.5*f,.5-.5*Q,.5-.5*W,.5-.5*V,.5,.5);for(d=0;d<t;d++){for(y=$[d],_=c.x,P=y.x,Z=c.y,X=y.y,v=u/G,u+=Y_(c,y),O=u/G,Y=M;Y<A;Y++)K=(l=Y+1)*n,f=Wd(J=Y*n),Q=yd(J),W=Wd(K),V=yd(K),e.push(f*P,X,-Q*P,W*P,X,-V*P,f*_,Z,-Q*_,W*P,X,-V*P,W*_,Z,-V*_,f*_,Z,-Q*_),D.push(Y/o,O,l/o,O,Y/o,v,l/o,O,l/o,v,Y/o,v),N&&Y===M&&(a.push(0,Z,0,0,X,0,f*P,X,-Q*P,f*P,X,-Q*P,f*_,Z,-Q*_,0,Z,0),k.push(0,.5-Z,0,.5-X,2*P,.5-X,2*P,.5-X,2*_,.5-Z,0,.5-Z)),s&&l===A&&(x.push(0,Z,0,W*P,X,-V*P,0,X,0,W*P,X,-V*P,0,Z,0,W*_,Z,-V*_),p.push(1,.5-Z,1-2*P,.5-X,1,.5-X,1-2*P,.5-X,1,.5-Z,1-2*_,.5-Z));c=y}if(C)for(_=c.x,Z=c.y,Y=M;Y<A;Y++)K=(l=Y+1)*n,f=Wd(J=Y*n),Q=yd(J),W=Wd(K),V=yd(K),m.push(W*_,Z,-V*_,f*_,Z,-Q*_,0,Z,0),S.push(.5-.5*W,.5+.5*V,.5-.5*f,.5+.5*Q,.5,.5)}}),{vs:e,uv:D,bottom_vs:m,bottom_uv:S,top_vs:b,top_uv:h,from_vs:a,from_uv:k,to_vs:x,to_uv:p}},generateGLBufferID:function(){return B.generateIncreasingID()},getDataModel3dBindings:function($){if($ instanceof hK)return $.s("model3dBindings")||$.getAttrObject()},completeModel3dAnimation:function($,z,C,o){eS={};var M,A,N,s=$=0<=(N=($=0<=(N=Math.max($.lastIndexOf("\\"),$.lastIndexOf("/")))?$.slice(N+1):$).lastIndexOf("."))?$.slice(0,N):$,g=z.animations;if(g)for(_=0,P=g.length;_<P;_++)(t=g[_]).duration&&t.tracks&&t.tracks.length?(t.sources=[],t.sourceShortName=s,aE(g,t,C)):t._toBeRemoved=!0;if(o&&o.length)for(g=g||(z.animations=[]),_=0,P=o?o.length:0;_<P;_++){var Y,v=o[_];if(v&&(Y=v.animations)&&Y.length)for(M=0,A=Y.length;M<A;M++){var O=Jd.assign({},Y[M]);O.sources?(O.sources=O.sources.slice(0),O.sources.splice(0,0,_)):O.sources=[_],aE(g,O,C),g.push(O)}}for(var t,c=[],y=[],_=0,P=g.length;_<P;_++)(t=g[_])._toBeRemoved?y.push(t.rawName||t.name):c.push(t);return c.length!==g.length&&(z.animations=c),y.length&&(z.invalidAnimationNames=y),z}},!0),z(xd,{"3d.move.mode":Kd,"3d.selectable":!0,"3d.visible":!0,"3d.movable":!0,"3d.editable":!0,"3d.clip.direction":null,"3d.clip.percentage":1,"3d.reflectable":!0,"shape.border.gradient.color":Kd,"edge.gradient.color":Kd,"edge.source.t3":Kd,"edge.target.t3":Kd,"light.type":"point","light.group":0,"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,"light.rotation.enable":!1,"light.size":[100,100],"light.specular.disable":!1,"light.mask":Zz,"headlight.ambientIntensity":Kd,"wf.visible":!1,"wf.width":1,"wf.fog":!0,"wf.group":0,"wf.color":or,"wf.short":!1,"wf.mat":Kd,"wf.boundingBox":!1,"wf.material":null,"wf.geometry":!1,"wf.loadQuadWireframe":!1,"wf.combineTriangle":!0,"wf.normEpsilon":Kd,"wf.geometry.batch":!0,batch:Kd,static:Kd,"static.group":0,"transparent.mask":!1,"transparent.separate":!1,brightness:Kd,"select.brightness":.7,"repeat.uv.length":Kd,"rotate.uv.length":Kd,"rotate.vs.length":Kd,"shadow.cast":!0,"shadow.receive":!0,"shape3d.custom.shadow":!1,"3d.clipbox":Kd,"3d.clipbox.mask":Zz,"3d.clipbox.group":0,"3d.clipbox.shape":"cube","effect.flow":!1,"effect.flow.gradient":"spread.horizontal","effect.flow.uvshape":"rect","effect.flow.size":512,"effect.flow.infinite":!1,"effect.flow.group":0,"effect.flow.intensity":1,"effect.flow.blend":Kd,"effect.flow.blur":0,"effect.flow.blur.iterations":1,"effect.flow.mask":Zz,bloom:!1,envmap:0,"envmap.probe":0,roughness:0,renderTextureSamples:4,alphaTest:.4,autorotate:!1,fixSizeOnScreen:!1,"texture.cache":!1,"texture.width":Kd,"hide.overlapping.group":Kd,"vector.dynamic":!1,"vector.dynamic.maxsize":2048,"texture.scale":1,"geometry.cache":!1,"highlight.group":0,"highlight.mode":!1,"highlight.type":"hard","highlight.visible":!0,"highlight.width":.8,"highlight.color":"rgba(190, 210, 250, 1)","highlight.glow":.8,"highlight.strength":2,"color.empty":[0,0,0,0],matDef:Kd,"shape3d.material":Kd,"shape3d.top.material":Kd,"shape3d.bottom.material":Kd,"shape3d.from.material":Kd,"shape3d.to.material":Kd,"label.face":ct,"label.t3":Kd,"label.r3":Kd,"label.texture.scale":2,"label.rotationMode":OV,"label.light":!1,"label.blend":Kd,"label.reverse.flip":!1,"label.reverse.color":jx,"label.reverse.cull":!1,"label.transparent":!1,"label.autorotate":!1,"label2.face":ct,"label2.t3":Kd,"label2.r3":Kd,"label2.texture.scale":2,"label2.rotationMode":OV,"label2.light":!1,"label2.blend":Kd,"label2.reverse.flip":!1,"label2.reverse.color":jx,"label2.reverse.cull":!1,"label2.transparent":!1,"label2.autorotate":!1,"note.face":ct,"note.t3":Kd,"note.r3":Kd,"note.texture.scale":2,"note.rotationMode":OV,"note.light":!1,"note.blend":Kd,"note.reverse.flip":!1,"note.reverse.color":jx,"note.reverse.cull":!1,"note.transparent":!1,"note.autorotate":!1,"note2.face":ct,"note2.t3":Kd,"note2.r3":Kd,"note2.texture.scale":2,"note2.rotationMode":OV,"note2.light":!1,"note2.blend":Kd,"note2.reverse.flip":!1,"note2.reverse.color":jx,"note2.reverse.cull":!1,"note2.transparent":!1,"note2.autorotate":!1,"part.boundingBox":!1,shape3d:Kd,"shape3d.color":y,"shape3d.top.color":Kd,"shape3d.bottom.color":Kd,"shape3d.from.color":Kd,"shape3d.to.color":Kd,"shape3d.image":Kd,"shape3d.image.projection":Kd,"shape3d.top.image":Kd,"shape3d.bottom.image":Kd,"shape3d.from.image":Kd,"shape3d.to.image":Kd,"shape3d.light":!0,"shape3d.side":0,"shape3d.side.from":Kd,"shape3d.side.to":Kd,"shape3d.smooth":Kd,"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":Kd,"shape3d.opacity":Kd,"shape3d.reverse.flip":!1,"shape3d.reverse.color":jx,"shape3d.reverse.cull":!1,"shape3d.transparent":!1,"shape3d.uv.offset":Kd,"shape3d.uv.scale":Kd,"shape3d.uv.rotation":Kd,"shape3d.uv.anchor":Kd,"shape3d.uv.union":Kd,"shape3d.top.uv.offset":Kd,"shape3d.top.uv.scale":Kd,"shape3d.top.uv.rotation":Kd,"shape3d.top.uv.anchor":Kd,"shape3d.bottom.uv.offset":Kd,"shape3d.bottom.uv.scale":Kd,"shape3d.bottom.uv.rotation":Kd,"shape3d.bottom.uv.anchor":Kd,"shape3d.from.uv.offset":Kd,"shape3d.from.uv.scale":Kd,"shape3d.from.uv.rotation":Kd,"shape3d.from.uv.anchor":Kd,"shape3d.to.uv.offset":Kd,"shape3d.to.uv.scale":Kd,"shape3d.to.uv.rotation":Kd,"shape3d.to.uv.anchor":Kd,"shape3d.top.cap":Kd,"shape3d.bottom.cap":Kd,"shape3d.start.angle":0,"shape3d.sweep.angle":_d,"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.transmission":!1,"shape3d.oit.ignored":Kd,"shape3d.section":Kd,"shape3d.section.angle":0,"shape3d.section.twist":0,"shape3d.polyline.depth":1,"shape3d.polyline.offset":0,"shape3d.polyline.radiusScale":1,"shape3d.polyline.scaleOffset":0,"shape3d.polyline.scaleMap":Kd,"shape3d.polyline.scaleMode":Kd,"shape3d.polyline.normal":Kd,"shape3d.reflector":!1,"shape3d.reflector.color":"rgb(128,128,128)","shape3d.reflector.blur":0,"shape3d.reflector.blur.iterations":1,"shape3d.reflector.background":null,"shape3d.reflector.clip":.003,"shape3d.reflector.shadow":"scene","shape3d.reflector.visible":!0,"shape3d.reflector.ratio":1,"shape3d.reflector.normal":Kd,"shape3d.reflector.normal.threshold":Math.PI,"shape3d.reflector.position":Kd,"shape3d.reflector.immediate":!0,"camera.type":"perspective","camera.aspect":Kd,"camera.aspect.sync":!1,"camera.fovy":Kd,"camera.ortho.width":Kd,"camera.near":Kd,"camera.far":Kd,"camera.background":0,"camera.clear":!0,"camera.renderSky":!0,"camera.renderShadowMap":!0,"camera.renderAxis":!1,"camera.renderGrid":!1,"camera.renderEdit":!1,"camera.onlySky":!1,"camera.skybox.blur":Kd,"skybox.blur.size":0,"skybox.blur.resolution":0,"texture.mipmap.max":Kd,"texture.filter":Kd,"texture.filter.min":Kd,"texture.filter.mag":Kd,"texture.wrap":Kd,"texture.flipY":!1,"points.image":"rect","points.color":"white","points.transparent":!1,"points.size":20,"points.opacity":1,"points.uv.scale":[1,1],"points.uv.offset":[0,0],"points.discard.selectable":!1,"points.model":Kd,"splat.render.mode":"splat","splat.scale":1,"splat.opacity.scale":1,"splat.blend":Kd,"splat.blend.mode":"add","splat.sh":!0,"splat.sh2":!0,"splat.sh3":!0,"splat.sh.only":!1,"splat.lod.level.factor":1.5,"splat.lod.hysteresis":.1,"splat.lod.merge":Kd,"splat.sort.sync":!1,"all.light":!0,"all.visible":!0,"all.color":y,"all.image":Kd,"all.blend":Kd,"all.opacity":Kd,"all.reverse.flip":!1,"all.reverse.color":jx,"all.reverse.cull":!1,"all.transparent":!1,"all.uv":Kd,"all.uv.offset":Kd,"all.uv.scale":Kd,"all.uv.rotation":Kd,"all.uv.anchor":Kd,"all.uv.union":Kd,"all.discard.selectable":!0,"all.material":Kd,mat:Kd,"left.mat":Kd,"right.mat":Kd,"top.mat":Kd,"bottom.mat":Kd,"front.mat":Kd,"back.mat":Kd,"edge.source.anchor.elevation":Kd,"edge.target.anchor.elevation":Kd,"edge.source.offset.elevation":0,"edge.target.offset.elevation":0,"3d.bone.visible":!1},!0),[0,0,0,0]),az=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],kz=function($){return $ instanceof Hi},xz=function($){return[$.x,$.e||0,$.y]},pz=function($,z,C){for(var o=(z=Yx(z||0))[0],M=z[1],A=z[2];C--;)$.push(o,M,A)},bz=function($,z,C){for(var o=(z=Yx(z||0))[0],M=z[1],A=z[2],N=z[3];C--;)$.push(o,M,A,N)},uz=function($,z,C){if(z)for(var o,M,A,N=z[0],s=z[1],g=z[2],Y=z[4],v=z[5],O=z[6],t=z[8],c=z[9],y=z[10],_=z[12],P=z[13],Z=z[14],X=C.length,d=0,d=0;d<X;d+=3)o=C[d],M=C[d+1],A=C[d+2],$.push(N*o+Y*M+t*A+_,s*o+v*M+c*A+P,g*o+O*M+y*A+Z);else Iv($,C);return $},nz=function($,z,C){var o=z.s("light.intensity"),M=(N=Yx(z.s(Pz)))[0],A=N[1],N=N[2],o=(1!==o&&(M*=o,A*=o,N*=o),z.s("light.disabled"));$.push(M,A,N,o?1:0),C.c.push(M,A,N),C.g.push(o?-1:z.s("light.group")),C.e.push(o?1:0)},Rz=(zz=new Dd,Cz=new UA,function($,z){return zz.copy($).applyEuler(z.getEuler(Cz)),[zz.x,zz.y,zz.z]}),Iz=function(z,$){var C,o,M,A,N,s,g,Y,v,O,t,c=z._lastLightUploadInfo={c:[],g:[],e:[]},y=((y=z._headlightDirection)&&3===y.length?_=y:"shadow"===y&&(_=z.shadowMap.getDirection()),_=_?Dd.normalizeArray(z._transformDirectionToViewSpace(null,_)):[0,0,0],$.uHeadlightDirection=_,$.uHeadlightRange=z._headlightRange,$.uHeadlightAmbientIntensity=z._headlightAmbientIntensity),_=z._headlightIntensity,P=Yx(z._headlightColor),P=(1!==_&&(P=[P[0]*_,P[1]*_,P[2]*_]),$.uHeadlightColor=c.headlightColor=[P[0],P[1],P[2],(_=z._headlightDisabled)?1:0],c.c.push(P[0],P[1],P[2]),c.g.push(_?-1:z._headlightGroup),c.e.push(_?1:0),z._59O),_=z._spots,Z=z._dirs,X=z._87I;P.length&&(C=[],o=[],M=[],P.forEach(function($){nz(C,$,c),Iv(o,z._transformPointToViewSpace($.p3())),M.push($.s("light.range"))}),$.uPointColor=C,$.uPointRange=M,$.uPointPosition=o),_.length&&(A=[],N=[],s=[],g=[],Y=[],v=[],_.forEach(function($){nz(A,$,c),Iv(N,z._transformPointToViewSpace($.p3())),$.s("light.rotation.enable")?Iv(Y,z._transformDirectionToViewSpace(null,Rz([0,0,1],$))):Iv(Y,z._transformDirectionToViewSpace($.p3(),$.s("light.center"))),s.push($.s("light.range")),g.push(Wd($.s("light.angle")/2)),v.push($.s("light.exponent"))}),$.uSpotColor=A,$.uSpotRange=s,$.uSpotAngle=g,$.uSpotExponent=v,$.uSpotPosition=N,$.uSpotDirection=Y),Z.length&&(O=[],t=[],Z.forEach(function($){nz(O,$,c),$.s("light.rotation.enable")?Iv(t,z._transformDirectionToViewSpace(null,Rz([0,0,1],$))):Iv(t,z._transformDirectionToViewSpace($.p3()))}),$.uDirColor=O,$.uDirDirection=t),X.length&&X.forEach(function($){nz([],$,c)}),$._lastLightMask=Zz,$._lastHeadlightAmbientIntensity=y},hz=function($,z,C,o){if((o=o===Kd?$._headlightAmbientIntensity:o)!==z._lastHeadlightAmbientIntensity&&(z.uHeadlightAmbientIntensity=z._lastHeadlightAmbientIntensity=o),C!==z._lastLightMask&&(z._lastLightMask=C,o=$._lastLightUploadInfo)){for(var M,A=o.g,N=o.e,s=A.length,g=new Array(s),Y=!1,v=0;v<s;v++)M=A[v],(g[v]=!(M<0||32<=M)&&C&1<<M?0:1)!==N[v]&&(Y=!0);if(Y){o.e=N=g;var O,t=o.c,o=(z.uHeadlightColor=[t[0],t[1],t[2],N[0]],$._59O),c=$._spots,$=$._dirs,y=3,_=1;if(s=o.length){for(v=0,O=[];v<s;v++)O.push(t[y++],t[y++],t[y++],N[_++]);z.uPointColor=O}if(s=c.length){for(v=0,O=[];v<s;v++)O.push(t[y++],t[y++],t[y++],N[_++]);z.uSpotColor=O}if(s=$.length){for(v=0,O=[];v<s;v++)O.push(t[y++],t[y++],t[y++],N[_++]);z.uDirColor=O}}}},mz=function($,z){return Math.max($.getRotateMinPhi()+a_,Math.min($.getRotateMaxPhi()-a_,z))},Sz=function(){return.05+Ld()/2},Gz=function($,z,C,o){var M=$.getEye(),$=($.isOrtho()?((A=u_($.getCenter(),M))[0]+=o[0],A[1]+=o[1],A[2]+=o[2]):A=M,z),M=C,z=o,C=A,o=R_($,M),A=u_(C,z,!0),$=R_(A,M);return I($)<a_?fd:(C=(o-R_(z,M))/$,[z[0]+A[0]*C,z[1]+A[1]*C,z[2]+A[2]*C])},Ez=function($,z){return{x:2*$.x-z.x,y:2*$.y-z.y}},Hz=function($,z,C,o){if(!$)return A=Ud(z.y-C.y,C.x-z.x),{x:z.x+o*yd(A),y:z.y+o*Wd(A)};if(!C)return A=Ud($.y-z.y,z.x-$.x),{x:z.x+o*yd(A),y:z.y+o*Wd(A)};var M,A,N,s,g=u_([$.x,$.y,0],[z.x,z.y,0],!0),Y=u_([C.x,C.y,0],[z.x,z.y,0],!0),v=-(g[0]+Y[0])/2,O=-(g[1]+Y[1])/2,t=Gd(v*v+O*O);return t<a_?(A=Ud($.y-z.y,z.x-$.x),{x:z.x+o*yd(A),y:z.y+o*Wd(A)}):(M=$.x-z.x,$=$.y-z.y,N=C.x-z.x,s=C.y-z.y,M=Gd(M*M+$*$),$=Gd(N*N+s*s),A=Ed(R_(g,Y))/2,N=0<g[1]*Y[0]-g[0]*Y[1]?-1:1,v/=t,O/=t,s=o/yd(A),g=Cd(M,$)/Wd(A),t=Math.min(s,g),Y={x:z.x+N*t*v,y:z.y+N*t*O},C.b&&s>$/Wd(A)&&(Y.adjust=!0),Y)},iz=function($){var z=$[0],C=$[1],o=$[2],M=$[3],A=$[4],N=$[5],s=$[6],g=$[7],Y=$[8],v=$[9],O=$[10],t=$[11],c=$[12],y=$[13],_=$[14],P=$[15],Z=z*N-C*A,X=z*s-o*A,d=z*g-M*A,l=C*s-o*N,J=C*g-M*N,K=o*g-M*s,f=Y*y-v*c,Q=Y*_-O*c,W=Y*P-t*c,V=v*_-O*y,e=v*P-t*y,D=O*P-t*_,a=Z*D-X*e+d*V+l*W-J*Q+K*f;return a?($[0]=(N*D-s*e+g*V)*(a=1/a),$[1]=(o*e-C*D-M*V)*a,$[2]=(y*K-_*J+P*l)*a,$[3]=(O*J-v*K-t*l)*a,$[4]=(s*W-A*D-g*Q)*a,$[5]=(z*D-o*W+M*Q)*a,$[6]=(_*d-c*K-P*X)*a,$[7]=(Y*K-O*d+t*X)*a,$[8]=(A*e-N*W+g*f)*a,$[9]=(C*W-z*e-M*f)*a,$[10]=(c*J-y*d+P*Z)*a,$[11]=(v*d-Y*J-t*Z)*a,$[12]=(N*Q-A*V-s*f)*a,$[13]=(z*V-C*Q+o*f)*a,$[14]=(y*X-c*l-_*Z)*a,$[15]=(Y*l-v*X+O*Z)*a,$):fd},Fz=function($,z){var C,o;return z&&(C=z[0],o=z[1],z=z[2],$[12]=$[0]*C+$[4]*o+$[8]*z+$[12],$[13]=$[1]*C+$[5]*o+$[9]*z+$[13],$[14]=$[2]*C+$[6]*o+$[10]*z+$[14],$[15]=$[3]*C+$[7]*o+$[11]*z+$[15]),$},jz=function($,z){var C,o;return z&&(C=z[0],o=z[1],z=z[2],$[0]=$[0]*C,$[1]=$[1]*C,$[2]=$[2]*C,$[3]=$[3]*C,$[4]=$[4]*o,$[5]=$[5]*o,$[6]=$[6]*o,$[7]=$[7]*o,$[8]=$[8]*z,$[9]=$[9]*z,$[10]=$[10]*z,$[11]=$[11]*z),$},Uz=function($,z,C){var o=z[0],M=z[1],A=z[2],N=z[3],s=z[4],g=z[5],Y=z[6],v=z[7],O=z[8],t=z[9],c=z[10],y=z[11],_=z[12],P=z[13],Z=z[14],z=z[15],X=C[0],d=C[1],l=C[2],J=C[3];return $[0]=X*o+d*s+l*O+J*_,$[1]=X*M+d*g+l*t+J*P,$[2]=X*A+d*Y+l*c+J*Z,$[3]=X*N+d*v+l*y+J*z,X=C[4],d=C[5],l=C[6],J=C[7],$[4]=X*o+d*s+l*O+J*_,$[5]=X*M+d*g+l*t+J*P,$[6]=X*A+d*Y+l*c+J*Z,$[7]=X*N+d*v+l*y+J*z,X=C[8],d=C[9],l=C[10],J=C[11],$[8]=X*o+d*s+l*O+J*_,$[9]=X*M+d*g+l*t+J*P,$[10]=X*A+d*Y+l*c+J*Z,$[11]=X*N+d*v+l*y+J*z,X=C[12],d=C[13],l=C[14],J=C[15],$[12]=X*o+d*s+l*O+J*_,$[13]=X*M+d*g+l*t+J*P,$[14]=X*A+d*Y+l*c+J*Z,$[15]=X*N+d*v+l*y+J*z,$},Lz=function($,z,C,o){var M,A,N,s,g=z[0],Y=z[1],z=z[2],v=o[0],O=o[1],o=o[2],t=C[0],c=C[1],C=C[2];return I(g-t)<a_&&I(Y-c)<a_&&I(z-C)<a_?S_($):(s=1/Gd((t=g-t)*t+(c=Y-c)*c+(C=z-C)*C),(s=Gd((M=O*(C*=s)-o*(c*=s))*M+(o=o*(t*=s)-v*C)*o+(v=v*c-O*t)*v))?(M*=s=1/s,o*=s,v*=s):v=o=M=0,(s=Gd((O=c*v-C*o)*O+(A=C*M-t*v)*A+(N=t*o-c*M)*N))?(O*=s=1/s,A*=s,N*=s):N=A=O=0,$[0]=M,$[1]=O,$[2]=t,$[3]=0,$[4]=o,$[5]=A,$[6]=c,$[7]=0,$[8]=v,$[9]=N,$[10]=C,$[11]=0,$[12]=-(M*g+o*Y+v*z),$[13]=-(O*g+A*Y+N*z),$[14]=-(t*g+c*Y+C*z),$[15]=1,$)},wz=function($,z,C,o,M){var z=1/jd(z/2),A=1/(o-M);return $[0]=z/C,$[1]=0,$[2]=0,$[3]=0,$[4]=0,$[5]=z,$[6]=0,$[7]=0,$[8]=0,$[9]=0,$[10]=(M+o)*A,$[11]=-1,$[12]=0,$[13]=0,$[14]=2*M*o*A,$[15]=0,$},qz=function($,z,C,o,M,A,N){var s=1/(z-C),g=1/(o-M),Y=1/(A-N);return $[0]=-2*s,$[1]=0,$[2]=0,$[3]=0,$[4]=0,$[5]=-2*g,$[6]=0,$[7]=0,$[8]=0,$[9]=0,$[10]=2*Y,$[11]=0,$[12]=(z+C)*s,$[13]=(M+o)*g,$[14]=(N+A)*Y,$[15]=1,$},Tz=function($,z){var C=z[0],o=z[1],M=z[2],A=(A=C*C+o*o+M*M+(z=z[3])*z)?1/A:0;return $[0]=-C*A,$[1]=-o*A,$[2]=-M*A,$[3]=z*A,$},rz=function($,z){var C=z[0]+z[5]+z[10],o=0;return 0<C?(o=2*Math.sqrt(C+1),$[3]=.25*o,$[0]=(z[6]-z[9])/o,$[1]=(z[8]-z[2])/o,$[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]),$[3]=(z[6]-z[9])/o,$[0]=.25*o,$[1]=(z[1]+z[4])/o,$[2]=(z[8]+z[2])/o):z[5]>z[10]?(o=2*Math.sqrt(1+z[5]-z[0]-z[10]),$[3]=(z[8]-z[2])/o,$[0]=(z[1]+z[4])/o,$[1]=.25*o,$[2]=(z[6]+z[9])/o):(o=2*Math.sqrt(1+z[10]-z[0]-z[5]),$[3]=(z[1]-z[4])/o,$[0]=(z[8]+z[2])/o,$[1]=(z[6]+z[9])/o,$[2]=.25*o),$},Bz=function($,z,C){var o=z[0],M=z[1],A=z[2],N=A+A,s=o*(v=o+o),g=o*(O=M+M),o=o*N,Y=M*O,M=M*N,v=(z=z[3])*v,O=z*O,z=z*N;return $[0]=1-(Y+(A=A*N)),$[1]=g+z,$[2]=o-O,$[3]=0,$[4]=g-z,$[5]=1-(s+A),$[6]=M+v,$[7]=0,$[8]=o+O,$[9]=M-v,$[10]=1-(s+Y),$[11]=0,$[12]=C[0],$[13]=C[1],$[14]=C[2],$[15]=1,$},$1=function($,z){var C=$.getPresentingReality();return(C=C&&C.getViewMatrix(z))?C:$._camera?$._camera.getViewMatrix(z):Lz(z||I_(),$._eye,$._center,$._up)},z1=function($,z){var C=$.getPresentingReality();if(C=C&&C.getProjectMatrix())return C;if($._camera)return $._camera.getProjectMatrix();if(!z&&$._computedProjectMatrix)return m_($._computedProjectMatrix);var o,C=$.getAspect(),z=$._near,M=$._far,A=I_();return $._ortho?(o=$._orthoWidth/2,qz(A,-o,o,-(o/=C),o,z,M)):wz(A,$._fovy,C,z,M),A},C1=function($,z){if(!$)return fd;for(var C,o,M,A,N,s,g,Y,v,O=$.length,t=O/3,c=new p_($.length),y=0,_=z?z.length:t;y<_;y+=3)v=z?(g=3*z[y],Y=3*z[y+1],3*z[y+2]):(g=3*y,Y=3*(y+1),3*(y+2)),C=$[Y+0]-$[g+0],o=$[Y+1]-$[g+1],M=$[Y+2]-$[g+2],A=$[0+v]-$[Y+0],N=$[1+v]-$[Y+1],Z=M*A-C*(s=$[2+v]-$[Y+2]),X=C*N-o*A,c[g+0]+=P=o*s-M*N,c[g+1]+=Z,c[g+2]+=X,c[Y+0]+=P,c[Y+1]+=Z,c[Y+2]+=X,c[0+v]+=P,c[1+v]+=Z,c[2+v]+=X;for(y=0;y<O;y+=3){var P=c[y],Z=c[y+1],X=c[y+2],d=Gd(P*P+Z*Z+X*X);0===d&&(d=a_),c[y]=P*(d=1/d),c[y+1]=Z*d,c[y+2]=X*d}return c},o1=function($,z,C,o,M){return o=o||z.createTexture(),C&&(M?(z=M.image,M.image=C,$.createTexture(M,o),M.image=z):$.createTexture({image:C},o)),o},M1=function($,z,C){return C=new Uint8Array(C||4),z=z||$.createTexture(),$.activeTexture(33984),N1($,z),s1($,10241,9729),$.texImage2D(3553,0,6408,1,1,0,6408,5121,C),z},A1=function($){return $.createBuffer()},N1=function($,z){$.bindTexture(3553,z||$._emptyTexture)},s1=function($,z,C){$.texParameteri(3553,z,C)},g1=function($,z){($=kd.for($).directState()).polygonOffset.enabled=!0,$.polygonOffset.value=z},Y1=function($){kd.for($).directState().polygonOffset.enabled=!1},v1=function($,z){return $=kd.for($).directState().color.clear,z&&$?$.slice(0):$},O1=function($,z){z&&(kd.for($).directState().color.clear=Yx(z))},t1=function($){if($){var z=$.getGL();if(z)for(var C=1,o=arguments.length;C<o;C++){var M=arguments[C];if(ed(M))for(var A=0,N=M.length;A<N;A++)nE(z,M[A]);else nE(z,M)}}},c1=function($,z,C){var o=$._boxClipperGroups,M=o?o.length:0;if(M){if(z._lastClipboxVersion!==$._boxClipperVersion)z._lastClipboxVersion=$._boxClipperVersion;else if(C===z._lastClipboxEnabled)return;var A=$._boxClipperShapes,N=new Array(M);if(C)for(var s=0;s<M;s++)N[s]=C&1<<o[s]?A[s]:0;z._lastClipboxEnabled=C,z.uClipperShape=N}},y1=function($,z){z.uClipperMatrix=$._boxClipperMatrixes,z.uClipperClipInner=$._boxClipperClipInner,$.rebindClipperMaskTexture(z)},_1=function($){var z=($=kd.for($)).directUniforms(),$=$.directAttribs();z.uFix=!0,$.aNormal=!1},P1=function($){kd.for($).directUniforms().uFix=!1},Z1=function($,z,C,o,M,A,N){var s=(g=kd.for($)).directState(),g=g.directUniforms();$._picking||(z?(g.uBlend=!0,g.uBlendColor=z):g.uBlend=!1,g.uLight=g.uFog=C==fd||C,Vv(o)&&1!==o&&(g.uPartOpacity=o),g.uReverseFlip=M!=fd&&M,g.uFixPickReverseColor=A||jx),s.cullFace.enabled=!!N},X1=function($){$._picking||(kd.for($).directUniforms().uPartOpacity=1)},d1=($z=[1,0,0,0,1,0,0,0,0],function($,z,C,o,M,A,N,s,g,Y){var v=(O=kd.for($)).directUniforms(),O=O.directAttribs();if(!z)return v.uSampler=$._emptyTexture,void(v.uBlendSampler=$._emptyBlendTexture);v.uTexture=!0,v.uDiscardSelectable=!ev(C)||C,O.aUv=a1($,o,M,fd,2),Y?(v.uBlendTexture=!0,v.uBlendSampler=Y):(v.uBlendTexture=!1,v.uBlendSampler=$._emptyBlendTexture),v.uSampler=z,v.uUvMatrix=A||N||s||g?r1(s,A,N,g):$z}),l1=function($,z){var C=(o=kd.for($)).directUniforms(),o=o.directAttribs();$.activeTexture(33984),N1($,fd),$.activeTexture(33985),N1($,fd),z&&(o.aUv=!1,C.uTexture=!1,C.uSampler=$._emptyTexture,C.uBlendTexture=!1,C.uBlendSampler=$._emptyBlendTexture)},J1=function($,z,C,o){var M=z.getBrightness(C),A=C.s("alphaTest"),N=kd.for($),s=N.directUniforms(),g=z._picking,Y=!0;return M!=fd&&1!==M&&(s.uBrightness=M),s.uAlphaTest=A,s.shadowReceive=!g&&C.s("shadow.receive"),s.shadowCull=!g&&!!C.s("shadow.cull"),c1(z,s,C.s("3d.clipbox")?Xz:C.s("3d.clipbox.mask")),(M=C.s("3d.clip.direction"))?(0===(A=C.s("3d.clip.percentage"))&&(Y=!1),M=z.getData3dUI(C)._formatClipUniforms(M,A,C),s.uClipPercent=M[1],s.uClipDirection=M[0],C.s("static")?s.uClipLocalTransform=az:s.uClipLocalTransform=M[2]):s.uClipDirection=0,s.blackout=!(!$._blooming||C.s("bloom")),g||(z._flowObjects.length&&z.flowMap.resetDataFlowEnabld(C,s),o||(A=C.s("envmap"),s.uUseEnvMap=!!A,s.roughness=C.s("roughness"),z._setEnvmapByProbeId(s,C.s("envmap.probe"),A||.01),hz(z,s,C.s("light.mask"),C.s("headlight.ambientIntensity"))),s.uFog=!1!==C.s("shape3d.light")),o||!!C._flipSide!=(2===C._forceSingleFace)&&(N.directState().cullFace.frontFace=2304),Y},K1=function($,z){var C=$.getGL();C&&(C._transmissionRTT||(C._transmissionRTT=new M4($,0,0,{autoSize:!0})),z.unbind(C),$.renderModel(C._transmissionRTT,null,null,{type:"blitScreen",transparent:$._45Q,image:z.texture}),z.bind(C))},f1=function($,z,C,o,M){var A=(N=kd.for($)).directUniforms(),N=N.directAttribs();!z||Mt||Nt||$.lineWidth(z),C&&!$._picking&&(A.uFixPickReverseColor=C),o&&(N.aPosition=a1($,o,M,fd))},Q1=function($,z,C,o){$&&(o&&(C*=o),$.calls++,$.vertices+=C,z==fd||4===z?$.faces+=C/3:1===z?$.lines+=C/2:z===tz.POINTS?$.points+=C:5===z||6===z?$.faces+=C-2:3===z?$.lines+=C-1:2===z&&($.lines+=C))},W1=function($,z,C,o,M){aS&&(o=$[aS]),M?$.drawArraysInstanced(o==fd?4:o,z,C,M):$.drawArrays(o==fd?4:o,z,C),Q1($._renderInfo,o,C,M)},V1=function($,z,C,o,M,A){aS&&(o=$[aS]);var N=2;5125===(M=M==fd?5123:M)&&(N=4),A?$.drawElementsInstanced(o==fd?4:o,C,M,z==fd?0:z*N,A):$.drawElements(o==fd?4:o,C,M,z==fd?0:z*N),Q1($._renderInfo,o,C,A)},e1=function($,z,C,o,M){return $.bindBuffer(34962,z),C&&$.bufferData(34962,C,35044),z},D1=function($,z,C,o,M){return(z=a1($,z,C,o,M)).instanced=!0,z},a1=function($,z,C,o,M){return C?p1($,34962,z,C):e1($,z,C)},k1=function($,z,C){$.bindBuffer(34963,z),C&&$.bufferData(34963,C,35044)},x1=function($,z,C){p1($,34963,z,C)},p1=function($,z,C,o){var M,A=o._bufId||(o._bufId=Qd.generateGLBufferID()),N=$._4NQ;return(C=N[A])&&C._buf?$.bindBuffer(z,C._buf):(M=A1($),C=N[A]={_buf:M},$.bindBuffer(z,M),$.bufferData(z,o,35044),N=5126,o instanceof Uint16Array?N=5123:o instanceof Int16Array?N=5122:o instanceof Uint32Array?N=5125:o instanceof Int32Array?N=5124:o instanceof Int8Array?N=5120:(o instanceof Uint8Array||o instanceof Uint8ClampedArray)&&(N=5121),M.glType=N),C._fid=$._renderInfo.frame,C._buf},b1=function($,z){z!=fd&&0<=z&&$.disableVertexAttribArray(z)},u1=function($,z){var C=$.getGL(),C=kd.for(C).directUniforms();$._7O=$._8O.pop(),$._modelMatrix=$._modelMatrixStack.pop(),z&&(C.uModelViewMatrix=$._7O,$._6O=z,C.uNormalMatrix=z)},n1=function($,z){var C,o,M,A,N,s;return(C=z=z||I_())[0]=$[0],C[1]=$[1],C[2]=$[2],C[3]=$[3],C[4]=$[4],C[5]=$[5],C[6]=$[6],C[7]=$[7],C[8]=$[8],C[9]=$[9],C[10]=$[10],C[11]=$[11],C[12]=$[12],C[13]=$[13],C[14]=$[14],C[15]=$[15],iz(z),$=(C=z)[1],o=C[2],M=C[3],A=C[6],N=C[7],s=C[11],C[1]=C[4],C[2]=C[8],C[3]=C[12],C[4]=$,C[6]=C[9],C[7]=C[13],C[8]=o,C[9]=A,C[11]=C[14],C[12]=M,C[13]=N,C[14]=s,z},R1=function($,z){var C=$.getGL(),o=$._7O,C=kd.for(C).directUniforms();z?($._8O.push(m_(o)),$._modelMatrixStack.push(m_($._modelMatrix)),C.uModelMatrix=Uz($._modelMatrix,$._modelMatrix,z),$._7O=Uz(o,o,z)):C.uModelMatrix=$._modelMatrix=m_(h_),C.uModelViewMatrix=o,C.uNormalMatrix=n1(o,$._6O)},I1={body:0,label:1,label2:2,note:3,note2:4,symbol:5},h1=function($,z,C,o,M,A){var N,s=C?((C=o._pickId)||(C=o._pickId=z._pickIdUsed,z._pickIdUsed+=10),null!=(s=I1[M])?N=C+s:(N=(C=(C=o._pickExtraPartMap)||(o._pickExtraPartMap={}))[M])||(N=C[M]=z._pickIdUsed++),z[N]||(z[N]={data:o.data,part:M}),g4(N)):Dz;return A||(kd.for($).directUniforms().uFixPickReverseColor=s),s},m1=h1,S1=function($,z,C,o){($.aMatrixInstanced=z)&&C&&(C.uRightMatrixInstanced=o?o.getElements?o.getElements():o:h_)},G1=function($,z,C){var o,M="target"===(C="target"!==C?"source":C)?z.getTargetAgent():z.getSourceAgent(),C="edge."+C+".";if(R(M))return X=z.s(C+"anchor.x"),N=z.s(C+"anchor.elevation"),P=z.s(C+"anchor.y"),o=L_(M,$.getMat(M)),d=M.getAnchor3d(),(X=G_([(X===Kd?.5:X)-d.x,(N===Kd?.5:N)-d.y,(P===Kd?.5:P)-d.z],o))[1]+=z.s(C+"offset.elevation"),X;var A=z.s(C+"index"),N=$.getData3dUI(M);if(!N.info||!N.info.list)return!1;if(0<=A){for(var s,g,Y,v=(Z=N.info._lastPointsSegments).points,O=Z.segments,t=-1,c=-1,y=0,_=(O||v).length;y<_;y++){if(3===(g=O?O.get(y):1))Y=2;else if(4===g)Y=3;else{if(5===g)continue;Y=1}if(t+=Y,++c===A){s=v.get(t);break}}return[(s=s||v.get(v.length-1)).x,(s.e||0)+z.s(C+"offset.elevation"),s.y]}var P=z.s(C+"percent")||0,P=Math.max(0,Math.min(P,1));if(!N||!N.getCache)return!1;var Z,X,d=N.getCache(),_=d[d.length-1].length;return[(X=(Z=$.getLineOffset(M,P*_)).point).x,X.y+z.s(C+"offset.elevation"),X.z]},E1=(BS={center:function($,z,C,o,M){var A=-z[1]/2,A={x:-z[0]/2,y:A,width:z[0],height:z[1]};return[(z=Fx($,A,C)).x+o,-z.y-M,Qd.getPosition3dGap()]},front:function($,z,C,o,M){var A=-z[1]/2,A={x:-z[0]/2,y:A,width:z[0],height:z[1]};return[($=Fx($,A,C)).x+o,-$.y-M,z[2]/2+Qd.getPosition3dGap()]},back:function($,z,C,o,M){var A={x:-z[0]/2,y:-z[1]/2,width:z[0],height:z[1]};return[-($=Fx($,A,C)).x-o,-$.y-M,-z[2]/2-Qd.getPosition3dGap()]},left:function($,z,C,o,M){var A=-z[1]/2,A={x:-z[2]/2,y:A,width:z[2],height:z[1]},$=Fx($,A,C);return[-z[0]/2-Qd.getPosition3dGap(),-$.y-M,$.x+o]},right:function($,z,C,o,M){var A={x:-z[2]/2,y:-z[1]/2,width:z[2],height:z[1]},$=Fx($,A,C);return[z[0]/2+Qd.getPosition3dGap(),-$.y-M,-$.x-o]},top:function($,z,C,o,M){var A={x:-z[0]/2,y:-z[2]/2,width:z[0],height:z[2]};return[($=Fx($,A,C)).x+o,z[1]/2+Qd.getPosition3dGap(),$.y+M]},bottom:function($,z,C,o,M){var A=-z[2]/2,A={x:-z[0]/2,y:A,width:z[0],height:z[2]};return[($=Fx($,A,C)).x+o,-z[1]/2-Qd.getPosition3dGap(),-$.y-M]}},function($,z,C,o,M,A){return BS[o]($,z,C,M||0,A||0)}),H1=function($,z,C,o,M,A,N,s,g,Y){return M&&(z[0]+=M[0],z[1]+=M[1],z[2]+=M[2]),Fz($,C),s?(M=I_(),tV(M,g,Y),G_(z,M),Fz($,z),$.auto=s,$.pos=G_([0,0,0],$),A&&(C=$.mat2=I_(),tV(C,A,N))):(tV($,g,Y),Fz($,z),o===_t?j_($,-Fd):o===Pt?j_($,Fd):o===Zt?F_($,-Fd):o===Xt?F_($,Fd):o===yt&&j_($,x),tV($,A,N)),$},i1=function($,z){var C,o,M=z.auto,A=z.mat2;z=($=$.gv).processModelMatrix(z),M&&(C=I_(),o=[0,0,0,0],M="string"==typeof M?[(M.indexOf("x")<0?$._eye:$._center)[0],(M.indexOf("y")<0?$._eye:$._center)[1],(M.indexOf("z")<0?$._eye:$._center)[2]]:$._eye,rz(o,Lz(I_(),M,$._center,$._up)),Bz(C,Tz(o,o),[z[12],z[13],z[14]]),A&&Uz(C,C,A),z=C),R1($,z)},F1=function($,z,C,o,M){var A=$.s,N=$.gv,s=N.getGL(),g=N._buffer,Y=s._sharedTexture,v=kd.for(s).directAttribs();o1(N,s,Mx,Y),i1($,C),Z1(s,A(z+".blend"),A(z+".light"),A(z+".opacity"),A(z+".reverse.flip"),A(z+".reverse.color"),$.data._forceSingleFace||A(z+".reverse.cull")),d1(s,Y,M,g.uv,Tp),v.aPosition=a1(s,g.vs,o,fd),v.aNormal=a1(s,g.ns,rp,fd),x1(s,g.is,Bp),V1(s,0,Bp.length),l1(s,Y),X1(s),u1(N)},j1=function($,z,C){var o=$.gv,M=$.data,A=o.getFaceMaterial(M,z),$=$[z]={blend:o.getBodyColor(M)||o.getFaceBlend(M,z),light:o.getFaceLight(M,z),color:o.getFaceColor(M,z),opacity:o.getFaceOpacity(M,z),transparent:A?L1(A):o.getFaceTransparent(M,z),reverseFlip:o.getFaceReverseFlip(M,z),reverseColor:o.getFaceReverseColor(M,z),reverseCull:o.getFaceReverseCull(M,z),texture:o.getFaceImage(M,z),blendTexture:o.getFaceBlendImage(M,z),discardSelectable:o.getFaceDiscardSelectable(M,z),material:A};return"csg"!==z&&($.uv=o.getFaceUv(M,z)||C&&C[z+"Uv"],$.uvScale=o.getFaceUvScale(M,z)||C&&C[z+"UvScale"],$.uvOffset=o.getFaceUvOffset(M,z)||C&&C[z+"UvOffset"],$.uvRotation=o.getFaceUvRotation(M,z)||C&&C[z+"uvRotation"],$.uvAnchor=o.getFaceUvAnchor(M,z)||C&&C[z+"uvAnchor"],(A=o.getFaceMat(M,z))&&(C=L_(M,A),M.appendAnchorMatrix3d(C),$.mat=C)),$},U1=function($,z,C,o,M){var A,N,s,g,Y=$[o];Y&&(A=$.data,!($=$.gv)._picking&&Y.material?Kw(z,$,A,Y.material,[Y.vs,Y.tuv,Y.ns]):M(Y.transparent)&&(M=$._buffer,o=$.getTexture(Y.texture,A,o),N=$.getTexture(Y.blendTexture,A),s=(g=kd.for(z)).directUniforms(),g=g.directAttribs(),d1(z,o,Y.discardSelectable,M.uv,Y.tuv,Y.uvOffset,Y.uvScale,Y.uvRotation,Y.uvAnchor,N),Z1(z,Y.blend,Y.light,Y.opacity,Y.reverseFlip,Y.reverseColor,A._forceSingleFace||Y.reverseCull),Y.cs&&!$._batchColorDisabled?(s.uBatchColor=!0,g.aBatchColor=a1(z,M.batchColor,Y.cs,C.aBatchColor,4)):s.uDiffuse=Y.color||xd["color.empty"],g.aPosition=a1(z,M.vs,Y.vs,fd),g.aNormal=a1(z,M.ns,Y.ns,fd),W1(z,0,Y.vs.length/3),Y.cs&&!$._batchColorDisabled&&(s.uBatchColor=!1,b1(z,C.aBatchColor)),X1(z),l1(z,o)))},L1=function($){return!!$&&!(!($="string"==typeof $?Qd.getMaterial($):$)||!$.transparent)},w1=(wS=new Dd,qS=new Dd,TS=new Dd,rS=new hA,function($,z,C,o,M){$.identity();var A=z.rotationOffset,N=z.rotationPivot,s=z.scalingOffset,g=z.scalingPivot,C=(wS.fromArray(C||z.translation),A&&wS.add(qS.fromArray(A)),N&&wS.add(qS.fromArray(N)),$.makeRotationFromQuaternion(rS.fromArray(o||z.rotation)).setPosition(wS),wS.set(0,0,0),N&&wS.sub(qS.fromArray(N)),s&&wS.add(qS.fromArray(s)),g&&wS.add(qS.fromArray(g)),0===wS.x&&0===wS.y&&0===wS.z||$.translate(wS),M||z.scale);return 2!==z.inheritType&&C&&(TS.fromArray(C),1===TS.x&&1===TS.y&&1===TS.z||$.scale(TS)),g&&$.translate(qS.multiplyScalar(-1)),$}),q1=(US=new ad,LS=new ad,function($,s,g){var Y,v,O,t,c;ed($)?$.forEach(function($){q1($,s,g)}):Vd($)?q1(Qw(s,$),s,g):Dv($)?$.model3d?(O=s?s.gv:fd,t=s?s.data:fd,c=t9.prototype.calcMatrix,Qd.traverse($,function($,z){var C=$._matrixWorld;if(C&&C.isMatrix4||(C=$._matrixWorld=new ad),c($,t,O,C),z&&C.premultiply(z._matrixWorld),$.instances&&$.instances.aMatrixInstanced&&(v={model:$,data:$.instances.aMatrixInstanced,m:z?z._matrixWorld:US,mi:z?z._matrixWorld.clone().invert():US}),(Y=$.model)&&(Y=Qd.getShape3dModel(Y))){var o=[];q1(Y,s,o);for(var M=0,A=o.length;M<A;M++){var N=o[M];uE(g,{model:N.model||$,mesh:N.mesh,matrix:N.matrix?N.matrix.clone().premultiply(C):C},v)}}else z=$.mesh,(z=m4(z))&&uE(g,{model:$,matrix:C,mesh:z},v)},function($){v&&v.model==$&&(v=null)},"comps")):$.shape3d?q1($.shape3d,s,g):g.push({mesh:$}):g.push({mesh:$})}),T1=(jS=new B.Matrix2d,function($,z,C,o,M){return(M=M||jS).identity(),o&&M.translate(-o[0],-o[1]),C&&M.scale(C[0],C[1]),$&&M.rotate($),o&&M.translate(o[0],o[1]),z&&M.translate(z[0],z[1]),M}),r1=(iS=[1,0,0,0,1,0,0,0,1],FS=[1,0,0,0,1,0,0,0,1],function($,z,C,o){return $||z||C||o?(HS=$?(ES=yd($),Wd($)):(ES=0,1),GS=C?(SS=C[0],C[1]):SS=1,RS=HS*SS,IS=ES*SS,hS=-ES*GS,HS*=GS,GS=o?(mS=o[0]-(RS*o[0]+hS*o[1]),o[1]-(IS*o[0]+HS*o[1])):mS=0,z&&(mS+=z[0],GS+=z[1]),FS[0]=RS,FS[1]=IS,FS[3]=hS,FS[4]=HS,FS[6]=mS,FS[7]=GS,FS):iS}),B1=function($,z,C,o){$.uUseSkinning=!0,$.bindMatrix=z.skeleton.bindMatrix,$.bindMatrixInverse=o.bindMatrixInverse,$.boneTexture=C,$.boneTextureSize=C.width},$p=function($,z,C){var o=(Math.max($,z,C)||1)/Qd.maxAxisScaleDifference;return[Math.max($,o),Math.max(z,o),Math.max(C,o)]},zp=(pS=new U.Math.Box3,bS=new U.Math.Box3,uS=new U.Math.Matrix4,nS=new U.Math.Matrix4,function(z,$){var o,C,M,A,N,s,g,Y,v,O,t,c,y,_=$.cube,P=$.center,Z=bE($.r3)?$.r3:null,X=bE($.t3)?$.t3:null,d=bE($.s3,!0)?$.s3:null;((_=$.preferBox3?P=!0:_)||P)&&(g=(v=$).preferBox3,(o=g?ed(g)?pS.setFromArray(g):pS.copy(g):v.box3)||(o=pS.makeEmpty(),Qd.traverse($.scene,function($,z){var C=$.mesh;$._matrixWorldNeedUpdate&&(z&&$.matrixWorld.premultiply(z.matrixWorld),delete $._matrixWorldNeedUpdate),C&&C.attributes&&C.attributes.position&&(bS.setFromArray(C.attributes.position.array),$.matrixWorld&&bS.applyMatrix4($.matrixWorld),o.expandByBox(bS))},null,"_children"))),(Z||X||d)&&(C=uS.fromArray(w_(null,d,Z,$.rotationMode,X)),o&&o.applyMatrix4(C)),o&&o.isEmpty()&&(console.error("Model is empty, please check!!!",z,$),o.setFromArray([-.5,-.5,-.5,.5,.5,.5])),P?(z.center=o.max.clone().add(o.min).multiplyScalar(.5).toArray(),M=z.center[0],A=z.center[1],N=z.center[2]):M=A=N=0,_?(Y=P?(O=(g=o.max.clone().sub(o.min).toArray())[0],t=g[1],g[2]):(O=2*Math.max(Math.abs(o.min.x),Math.abs(o.max.x)),t=2*Math.max(Math.abs(o.min.y),Math.abs(o.max.y)),2*Math.max(Math.abs(o.min.z),Math.abs(o.max.z))),c=[1/(O=(v=z.rawS3=$p(O,t,Y))[0]),1/(t=v[1]),1/(Y=v[2])]):O=t=Y=1,P&&(s=[-M/O,-A/t,-N/Y]),C&&(Z?(y={},["mesh","mat","subMeshes","comps"].forEach(function($){z[$]&&(y[$]=z[$],delete z[$])}),X&&(y.position=X),Z&&(y.quaternion=B.eulerArrayToQuaternionArray([Z[0],Z[1],Z[2],UA.ReverseOrder($.rotationMode||OV)])),d&&(y.scale=d),y._isTransformPlaceholder=!0,z.comps=[y]):((_=nS.composeFromArray(s,null,c)).multiply(C),c=_.extractScale().toArray(),d&&(c[0]*=Math.sign(d[0]),c[1]*=Math.sign(d[1]),c[2]*=Math.sign(d[2])),s=_.getPosition().toArray())),bE(s)&&(z.position=s),bE(c,!0)&&(z.scale=c)}),Cp=function($,z){z.flipY&&Qd.traverse($,function($){if(($=$.mesh)&&($.uv||$.uv2)){for(var z=1,C=$.uv,o=C?C.length:0;z<o;z+=2)C[z]=1-C[z];for(z=1,o=(C=$.uv2)?C.length:0;z<o;z+=2)C[z]=1-C[z]}},null,"comps");var C=z.matDef;if(C)if($.matDef){var o,M,A,N,s={};for(o in $.matDef)for(A in M=$.matDef[o])(N=M[A])&&N.texture&&N.name&&(s[N.name]=N.image);for(o in C)for(A in M=$.matDef[o]=C[o])(N=M[A])&&N.texture&&N.name&&(N.image=s[N.name])}else $.matDef=C;z.shape3d&&Qd.setShape3dModel(z.shape3d,$),z.playAutomatically&&($.playAutomatically=z.playAutomatically),!z.ignoreNormal&&z.mikktTangent&&U.Math.MikktSpaceAlgorithm&&U.Math.MikktSpaceAlgorithm.generateMikktTangents($,z.tangentFlipW)},op=function($,z){var C,o=[];for(C in $){var M=$[C];o.rawS3=M.rawS3,M.center&&(o.center=M.center),M.externalAssetURIs&&(o.externalAssetURIs=M.externalAssetURIs,delete M.externalAssetURIs),o.push(M),z&&z(C,M)}return o},Mp=function($,z){var C=!(!$.animations||!$.animations.length);if(!C&&(C=$.comps)&&C.length){var o=[],M=(q1({model3d:!0,comps:C},Kd,o),z.batchInstanceCountThreshold),A=(M===Kd&&(M=1/0),isFinite(M)&&1<M),N=(kS=z.batchByMaterialVerticesThreshold,xS=3*(kS=kS===Kd?5e6:kS),{});if(A){for(var s=[],g=[],Y=[],v=[],O=0,t=o.length;O<t;O++)(P=(_=o[O]).model)&&(Z=_.mesh)&&(N[X=pE(P,Z,s,g,Y,v)]||(N[X]=0),N[X]++);var c,y={};for(c in N)N[c]>M&&(y[c]=N[c]);N=y}for(var _,P,Z,X,d,l,J={},K=[],f={},Q={},O=0,t=o.length;O<t;O++)if((P=(_=o[O]).model)&&(Z=_.mesh)&&(d=P.mat)){if(A&&N[X=pE(P,Z,s,g,Y,v)]){Q[X]||(Q[X]={mat:d,mesh:Z,instances:{aMatrixInstanced:[]}});var W=Q[X].instances.aMatrixInstanced;W.push.apply(W,_.matrix.toArray());continue}if(Dv(d)&&d.type&&(f[W=U.Math.generateUUID()]=d,d=W),ed(d))for(var V=P.subMeshes,e=0,D=V.length;e<D;e++){var a=(x=V[e]).materialIndex,k=x.start,x=x.count;kE(J,d[a],Z,_.matrix,k,x)}else kE(J,d,Z,_.matrix)}for(d in J){var p=J[d],b=(p.material&&(d=p.material,delete p.material),{mat:d=f[d]||d,mesh:p});K.push(b)}for(l in Q)b=Q[l],K.push(b);$.comps=K}},Ap=function($,z,C,o,M,A){for(var N,s,g,Y,v,O,t,c,y,_=[o-z,M-C],P=$?$.length:0,Z=0;Z<P;Z++){for(s=2,g=(N=$[Z])[0],Y=N[1];s+1<N.length;){if(v=N[s],O=N[s+1],wv(z,C,o,M,g,Y,v,O,!0)){c=Y_(t=[v-g,O-Y]),t[0]/=c,t[1]/=c,c=R_(_,t),y=[t[0]*(c=0<c?A:-A),t[1]*c];break}g=v,Y=O,s+=2}if(y)break}if(y)for(o=z+y[0],M=C+y[1],Z=0;Z<P;Z++)for(s=2,g=(N=$[Z])[0],Y=N[1];s+1<N.length;){if(v=N[s],O=N[s+1],wv(z,C,o,M,g,Y,v,O,!0))return[0,0];g=v,Y=O,s+=2}return y||[o-z,M-C]},Np=function($){return"nearest"===$?9728:"linear"===$?9729:$},sp=function($,z,C){var o=$.getData3dUI(z),$=o._vsTranslation?$.createNodeFinalMatrix(z,o._matWithExtraction):$.createNodeFinalMatrix(z,C||vp);return o._finalMat=$},w=U.graph3d={WebGLConstants:tz},$=function($,z,C){V_("ht.graph3d."+$,z,C)},gp="~!<yfusfw!+!yjsubNudfkpsQv!>!opjujtpQ`mh!\v?zepc/tw/qbNxpmg=!fevmdoj$\v!\v?zepc/tw/qbNxpebit=!fevmdoj$\v!\vgjeof$\v!~!<fdobutjEfojMb!>!fdobutjEfojMw!|!*itbEv)!gj!\vITBE!gfegj$\v!\vgjeof$\v!~!<ttfouihjsCidubCb!>!ttfouihjsCidubCw!|!*ttfouihjsCidubCv)!gj!\vTTFOUIHJSCIDUBC!gfegj$\v!\vgjeof$\v!~!<eofmCidubCb!>!eofmCidubCw!|!*eofmCidubCv)!gj!\vEOFMCIDUBC!gfegj$\v!\vgjeof$\v!~!<spmpDidubCb!>!spmpDidubCw!|!*spmpDidubCv)!gj!\vSPMPDIDUBC!gfegj$\v!\vgjeof$\v!~!<**1/2!-wVb)4dfw!+!yjsubNwVv)3dfw!>!wVw!|!*fsvuyfUv)!gj!\vftmf$\v!<*y/wVb!-**1/2!-wVb)4dfw!+!yjsubNwVv)3dfw)4dfw!>!wVw!\vQJMD`WV!gfegj$\v!<*yfusfw)4dfw!>!opjujtpQwNw!<yfusfw!+!yjsubNxfjWmfepNv!>!yfusfw!<*yfusfw!+!yjsubNmfepNv)4dfw!>!opjujtpQemspXw!<*1/2!-efnspgtobsu)5dfw!>!yfusfw!5dfw!\v?zepc/tw/hojdobutoj=!fevmdoj$\v!<*opjujtpQb)4dfw!>!efnspgtobsu!4dfw!<*mbnspOb)4dfw!>!mbnspOudfkcp!4dfw!<*opjujtpQb)4dfw!>!opjujtpQmbdpMw!|!*)ojbn!ejpw!\v?ebfi/tw/qbNxpmg=!fevmdoj$\v!\v?ebfi/tw/qbNxpebit=!fevmdoj$\v!\vgjeof$\v!<fdobutjEfojMw!ubpmg!hojzsbw!<fdobutjEfojMb!ubpmg!fuvcjsuub!<itbEv!mppc!nspgjov!\vITBE!gfegj$\v!\vgjeof$\v!<^TUIHJM`UPQT`NVO]opjudfsjEupqTv!4dfw!nspgjov!<^TUIHJM`UPQT`NVO]opjujtpQupqTv!4dfw!nspgjov!<^TUIHJM`UPQT`NVO]spmpDupqTv!5dfw!nspgjov!\v1!?!TUIHJM`UPQT`NVO!gj$\v!\vgjeof$\v!<^TUIHJM`UOJPQ`NVO]opjujtpQuojpQv!4dfw!nspgjov!<^TUIHJM`UOJPQ`NVO]spmpDuojpQv!5dfw!nspgjov!\v1!?!TUIHJM`UOJPQ`NVO!gj$\v!\vgjeof$\v!<^TUIHJM`SJE`NVO]opjudfsjEsjEv!4dfw!nspgjov!<^TUIHJM`SJE`NVO]spmpDsjEv!5dfw!nspgjov!\v1!?!TUIHJM`SJE`NVO!gj$\v!<opjujtpQmbdpMw!4dfw!hojzsbw!<opjujtpQemspXw!4dfw!hojzsbw!<opjujtpQwNw!4dfw!hojzsbw!<mbnspOw!4dfw!hojzsbw!<yjGv!mppc!nspgjov!\vgjeof$\v!\v?ebfi/tw/hojdobutoj=!fevmdoj$\v!\vZDBHFM`HOJDOBUTOJ`FTV!fojgfe$\v!\vHOJDOBUTOJ`FTV!fojgfe$\v!\vFDOBUTOJIDUBC!gfegj$\v!\vgjeof$\v!<wVw!3dfw!hojzsbw!\vftmf$\v!<wVw!4dfw!hojzsbw!\vQJMD`WV!gfegj$\v!\vgjeof$\v!<eofmCidubCw!4dfw!hojzsbw!<eofmCidubCb!4dfw!fuvcjsuub!<eofmCidubCv!mppc!nspgjov!\vEOFMCIDUBC!gfegj$\v!\vgjeof$\v!<ttfouihjsCidubCw!ubpmg!hojzsbw!<ttfouihjsCidubCb!ubpmg!fuvcjsuub!<ttfouihjsCidubCv!mppc!nspgjov!\vTTFOUIHJSCIDUBC!gfegj$\v!\vgjeof$\v!<spmpDidubCw!5dfw!hojzsbw!<spmpDidubCb!5dfw!fuvcjsuub!<spmpDidubCv!mppc!nspgjov!\vSPMPDIDUBC!gfegj$\v!<wVb!3dfw!fuvcjsuub!<opjujtpQb!4dfw!fuvcjsuub!<mbnspOb!4dfw!fuvcjsuub!<yjsubNmbnspOv!5ubn!nspgjov!<yjsubNxfjWmfepNv!5ubn!nspgjov!<yjsubNmfepNv!5ubn!nspgjov!<yjsubNxfjWv!5ubn!nspgjov!<yjsubNudfkpsQv!5ubn!nspgjov!<yjsubNwVv!4ubn!nspgjov!<fsvuyfUeofmCv!mppc!nspgjov!<fsvuyfUv!mppc!nspgjov!\vYJGFSQ$!00^#CBRBEJxTT87hJFI,,bX1XrIwcn3UM{ZeZ,M6HEN6nLxe2Z72s2:3johr6foKrpqwxNKYkdbJ2CN[mBbf[wXU,T0oGuSEd190ohLZkEn8IuCe[OHoWeKz:Sf,VS7xdSLw23W1YJLU:jdv2{hiDbhDzNNEh9tp3xsuEp94Sl4c3wRzqwShMDRhCLRjCDEBOH5BBVRBCFRE4cJTHrTDH1BNgHJN",Yp=(dz.pbr=["?0t0w!/Imjbodujtt;z!ihqm=t!mf4e-v!mmdjohji$u\v\v!!\v\vS0C0Q!!$fQoSjFgGfJeY$\v\v!","~0!0<!eIJj!o>u!ts;p!mhpmDthmb4s-G!`mmjhh!i\vu?-z!eppjcu/\vt!g\v/0u0j!p$=Q!SfFeGvJmYd\vo!j\v$$\ve!f\vg?jzoefp!cQ/CtSg\v/!h\vp$ge=f!gfjeovfm!dToUjB$O\vE!B\vS?Ez\ve!p\vc$/jtgge/fqgb!NVxTpFm`gU=S!BfOeTvNmJdToTjJ$P\vO!\v<!*\ve$Je)fmgfjyoffU!uJvPqSu\vv!P\vp$Uesfbgfjoojfm!!T>Q!FeDJV!M\vB?Sz\ve!p\vc$/ftoge/jhgo\vj!q\vq$bjNofdompvue=f!!f=edvpmndnopjo$?\v\v!!\v\v?$zjeopdcm/vtegf/!u=vqqbudvlpj=o!hf?e\vv!m\vd$ojjo$d\vm!v\vegfj!e=ovfc$p\vt!/<iufbbped?s\vb!f\vm$dj/gmobejfsgf!uVbTnF!`+V!CsPb\vm!vvdofjqgTpusbnp!dnsbbuf5m!dv!W,j!f*xdNdbGu!s+j!yu<b!pvdosjbgfpmsdn/!mwbfjds4f!uebjng!g.v!t1f/<2!)v!o+j!gupishnj!Mwhfodj4p!hfunvjpt!t>j!wufi<h!jvMohjogjppshnu!vgpm!p<b*ud!dsWpOvuhpieo!f-t1t:<G!uvbopjdgspbsfnm!dg/mmpbbjus!fnufbunb!m-o1fGtutb<p!dvsobjfgmpds/nm!bgjmspfbuub!np)qlbddjjmuizd<T!`vGo!j>g!pdsdnG!!w4fddf4w!!s<j*n*DspjmEpxsf<j!wv/ozjsgupfsnnp!fghm!p-bmub!nssjpnOQupbxpfdss<b!fvmodj/gzpssunf!ngpmfphb)uu!pbem)qfiubbUsfvtuub<t!!\v>$!fdodeWjOgu\vp!ev!oujbgppmsgn!!\vcUpBpPmD!SuBsFbMoDt`qFbTsVf!oguf<e!gvjo$j\vg!p\vsgnj!ecopfp$m\v!!d<vsmbmmGvbddffq<T!o\vf$fjigte!f,g!!qVnTpFD`zVhWs\vf!owFbosfzfjioth!!+w!fudi3h!jwMVhwo<j!p\vh$ujvgpe!f>g!!uViWh`jDMMhJoQj\vp!hwubvspz!j<o*hs!pgmmppDbouf!fwiVtw/MmpbdjbsmfVu<b!n\v)$4fyobenj!g+\v!!8\v6$2f/o1e!j.g!\v1!/\v2$!j>g!!qenfpgDjzohfsef)oVFToFf`fMiJtH!IuUbNpBmQg*!!\v}O}F!FeIfTg`jFoTfVe!)gVfTeFg`jB$P\vN!B<Qf*d!o}b}j!eebfSgfjwojftet)jVnTFFm`bVuWp3u*!\v,!!wsbbsmzvjdofhq!Twmfbdu3p!uw!V,w!3f<t!v\vg$gfjoEemjbgu\vp!u\v!$>j!gueifhgj!MVhToFj`pNhBuQv\vp!!v4odjfgwp!s\vn?!ztebpncq/mtfgs/3oEp!jntbtqj<n!t\vo$bfsoue=j!gf\ve!v\vm$djogje$f\vg!!<VsTbFm`vBdMfQqITBuNdBfQs\vj!evoojj/gupishnj!Mtebfnuqdmffmsg3fEs!!b,m!qsibbmNvbdqf<q!T\vu$dffosejjeg/\vu!i\vh$jjMgeeffugd!fVmTgFf`sB!P>N!BsQb\vm!vvdofjqgTpmsbnu!ptub!n4qdmffws!3<Ef!tbvpgNgbjqE<u!d\vf$sjjgeooejf/gu!iVhTjFM`eVfCuPd\vf!mvgofjsg!p,s!nf!tgvmgpgbjuE!ubdpfNsbjqeJ/ouuifhojtMjeufzu<d!f\vm$gffose!j>g!\vf!t\vv$gfgojeEjmgb\vu!p\vu$!j4gdeffwg!!\vV?TzFe`pMcJ/HtIgU/NqBbQN\vp!bv=o!jfgepvsmnd!otjb$n\vq!m<f*ss3fEx!pmQjnhjisu!N-bnqj<s!)\vx$pjqg!o+e!fsgp!mVpTDFn`jVsC!P>\v,!!vfodjogbpjsenb!Sgfmwpjbtut!jmnjFhmibuuNpbuq!J<o*u*fsojtEjxufzj<w!/\vz$sfuofenjpgf\vh!!\v-$mfbonesjpgo\v/!z\vs$ujfgnepffgh!)VuTpFe`)FtNcJbT!T.J!W1F/N2B!Q>\vn!jvso!jugbppsmng!!t\vb?nzqempfcs/3tEg!/fonpjntntpjDwtfuNibhqj<m!=\v!$ffeovemjdgo\vj!$\v\v$!j\vo?dzmevpecf/!t=gc/tSeCgQtt?u\vi!h\vj$mj=o!dfmevvemfd!o=jo$p\vs!n\vbgmjNeboqf/$g\vt!/<icfhbse/?s\vp!m\vp$Djfgwejftgt!jVnTfF!`>S+P!VfHdIoObFjTeTbNSBfQw\vj!tvtojjngFpmsbnu!ptub!n<q{mzfys/3*Es!psmppvDhfiwojfttttjNnbfq)<s!b\vf$ofjoMepjUgC\vH!S\vt$!j>g!ecfhgs!/VsTpFm`pNDFfUwBjMtOtFjTnTfN!B<Q*\vw!Vvwo!j-gqpbsNnf!wtjbtntqjmnffs)3EE3!fnsfvuubymfouf!t>t!Nsbpqm<p!D\vf$wfjotetjjgn\vf!!w5bdsfzwj!o\vhQ!BwNfFdW4J!TwTOJpNsFn`bFmT<V!!wgbfsezgjjo$h\v!!w\vfgdj4e!owfN$w\vQ!p<t*joupjjpuod<f!s\vj$Ejfgd!begf!g-jOoqfben)!V-TmFb`nFsOpWoN!B-Qo*p!j}u}j!tNpBQYx`fCjPWYw`!D.M)JcQsQBF3Sm!b?n!s1p!O}c}s!veufsgfjqo!f>e!)mVbTnFs`pUoS!B<OfTmNbJdTTTmJbPnOs*p\vo!!w>b+s!zzjyo/hO!qwbfnd!4<!1w/X2p!s.m!e1Q/p3t!j+u!j{pzoy</!*\vw$Vfwo!e-jqgb\vN!m\vb$njsgp!oe)fEg3jfosfveu)yDfMuJ!Q>`!EOJqSbFnD!U4JdPfOw*!\v\v!QwBbNsMzBjNoShP!Ow`fFdT4V!!wgMfpedgbjm$Q\vp!t<joupjjpuoj<t!p\vQ$wfNowe.j!g>\v!!o\vp$jjuojdtmpvQexff!j=Wdwm!j4qdEfjws!f<dmubjnpsop/og!t>/!imfbbnes?p\vO!z\vs$ujfondpmfvhe!f4!d=fdwm!j<qocppjyu/dgfts/jiEffbdeb?g\v!!+\v!$mjbondsmpvoe!f>!!=mgbpnhs/pgot!/*iffdbbeG?m\vm!v\vd$aj)o!dgmjv!e<f*!m=btnisbpeOpwx)Nfb{qj/mgbtn/sipfob!e>?!\vm!b\vn$sjpood!m4vdeffw!!=<g1m/p2x!N.b!q;/!g1t//2i!f@b!eh?o\vj!d\vb$GjuoodpmsvGe`fm!h=!f>o!doppejjuodhf?s\vj!E\vf$djbogd!muvbepfm!g=!d\vvgcjfeFoofw$S\vf!g\vmgfjdeuojfp$o\vG!T<?c\v/!t\vt$fjoomdbmuvfeNfm!f=yffouw!n>b+q!QsipzutdjbdGbtmt/fgotm/biuffbne!?\v\v*!C\v`$MjFoOdOmBvIeDf`!Q=BmNjThTiFuOtMDBpUnFnNp)oe/fgotj/giffeb!eg?j\vm!f\v$$\vj!o<dhm/vtetff!o=mmbjuhfiNumtfQyCfSu/!g>t+/!isfpbued?b\vG!t\vt$fjoomdbmuvfenf!!\v=*uHs`bMoFtOnOjBtItDj`pQoB/NgTtT/FiOfMbBeU?F\vN!)\ve$fjoojdgmfvee!fg!j=mufp$o\vf!N<bsq/qtjtofho/mgbtu/fiNfmbfey?f\vu!!\v>$+j!osdpmuvdebfG!t=tpfjoum/bgutf/ni!f\vb*eS?`\vM!FwOpOjBeI!Dn`bQjBoN)T*T!F|O!M\vB$UjFoNd)mevfeofj!g=fdem!jgqjE$j\vs!f<d*uwjVpwo!/-gqtb/Nctptefzo?m\vb!u\vf$nj)oEd3mfvsevfu!y=fdum!j>q!ctptyf/ogmtb/ucfpNemzf?y\vf!uw!f5dd5f!we!j\vgQgBvNtTfTDFpOmMpBsU<F!Ne`jFgTgVv!tgffDepgmjp$s\v/!s<htct!f>o!mebjugfgnv!t>f!<s!peujdgbgGvtttffDopmmbpusf/nb!!u>b!ppmqgb!d\vjgujze<o!fS$f\vg!m\vfgdjuefoefM$j\vh!i<uc!/stftgfmofidhuvfpeSMmjfhyifuu!!>>!+S!fsgpmufddbuGftetMfjohiihuv)pwsf!d\v4*)C1`/M1F*O-O!BwIfDd`4Q)B1N/T1T*F-O!IwHfVdP4S))1e/f1o*j-g!fwef!dg4j)m1f/$1\v*!*<<h!/wtftdf4o!iuhpvupbSmmFfnyjftut!j>w+f!SsbpeujdbboGdtft!f>o!ifhnvjptst!j\vw*fH<`!M\vF$OjOgBeIfDg`!QVBTNFT`TNFBOQI\vH!VwPfSd)5e!fuofjygffmeD!pgmjpmsf!$>\v!!u<fsy/utvtsffo3iEh)vnpbSqm-f!ywfVuw!*><+!!usfpyufdmbDGptmtpfso!i>h!vtpSsH!C\vU*pSM`jMoFfObOsB)IuDf`yQfBmNDTpTmFpOsI*H<V!PeSj)gegfvotjfgDfpem!pgsj!$+\v>!!<u*fwyVfwm!D-pqmbpNst<t!f\vo$ifhovepjsg)\vE!3\vf$sjvgueyffgu!!V>T!Ft`tBfMoQiIhBvNpBSQm\vf!y\vf$uj!g5!deffwg!j\voQfBeN)TBTMFQOIIBHNVBPQS``DFITBVO!OgFfMe`gBj*$\v\v!!e<jtgtgfvotifhDvppmsp!s>/!bs!p+u>d!buGftytufvosifh3vEp)sb!muqbipbmNgb!q<-e!swbVdwt*j/eb!<*!u\vt$ffUmbjigq!mebf!g=j!obf/es)pBmMpQDIfBtNvBgQg`jDeI)B!OgOjF!M\v`gSj*e\vo!fe$j\vg!g\vvgtjfeDopfm$p\vs!/<bc!/+*>w!Vuwf!y-uqvbsNfb3iEq)mbbm)qEi3bfNsbvqu-y!fwuV!w>*+/!sb</!s\vp$mfpmDjfgt!vegfggjjeo!f\ve*)CB`MMQFIOBONBBIQD``DQIBBNOBOIFQMM`BH)*e\vf!oejjggfgev!tgfjDmpfm$p\vs!/<bh!/+*>w!Vuwf!y-uqvbsNfb3iEq)mb"],dz.phong=["?0t0w!/Imjbodujtt;z!ihqm=t!mf4e-v!mmdjohji$u\v\v!!\v\vH0O0P!I$QQ!SfFoGjJgYf\ve!$\v","~0!0<!eIJj!o>u!ts;p!mhpmDthmb4s-G!`mmjhh!i\vu?-z!eppjcu/\vt!g\v/0u0j!p$=Q!SfFeGvJmYd\vo!j\v$$\ve!f\vg?jzoefp!cQ/ItPgO/Hh\vp!g\v=$!jfoedvmmvdeofj!$=\vd!p\vn?nzpeop?c\v/!t\vg$/jqobdNmxvpemfg!==!qfbedvlmjdoohj?$\v\v!!\v<$*jeoJd)mmvfeyff!U=uvvcqputv/PipfUbseb?f\vo!j\vm$!j>g!oeeJf!g\v!?VzTeFp`cV/CtPg\v/!hvoojjqgqpbsNnf!owpfud=4!!feejvgmgdvotjf$<\v!!v\vo?jzgeppscn/!twgf/du4v!qfunvjpt=t!jfwefv<m!dvoojj$g\vp!s\vn?!zwefpdc4/!ttgq/fhdovpmibQsq<b!nvwoojfg=p!sfne!vgmmdpobju$!\vt!i<jfodjoobfjtetb<S!fvwojjtgtpjsnnF!mgbmuppbuu!!,p!qsbbdmjvudzf<q!Tvuodjfgspjseno!jg/mupibhuj!MbemfquidbfUmfgtfus<!!,v!osjbgmpvsdnf!qwTfudd4f!svjDeb/nufishbjQMpetfjuudjfpmog<f!sv!o,j!gfptsvng!gnjbEuu5d!fvsWjjefoxjN/buuishjjyM<e!f\vu$dffomegjfgs\v!!,v!ofjtgvpgsgnj!Ecupdpfms!jues/buoithqjbMseffouud<f!mvgofjsg!p>s!nu!ichpjpMmh!odjvpmhmuGvbpd!f4<d!f\vw$!j\vg?ezfegp!cV/TtFg`/VqWb\vN!pwbb=s!zfjeovhm!dwofjd$3\v!!w\vV?wz<e!p\vc$/jtgge/fogp!nVnWp`DDtMuJiQh\vj!mw=b!sfzejvomhd!ogjm$p\vb!u\v!?wzVewpMcp/dtbgm/Vh<o!p\vi$Qftoueijhgj\vm!=\v!$ffeovemjdgo\vj!$\v\v$!j\vgg!jeefogfj$o\vf!e<)cVhTsF/`sMpJmHpIDUfNwBjQt*t!j}n}f!!e>f+g!jfodfoeb)jVeTbFS`fBwPjNtBtQj*n!F}m}b!uepfug!j<o{fzey)/V*TsFp`mVpWD3f*w\vj!twtbjsnzfj)oshb!fwofjdM3p!UwCVHwS3t<!!>\v!$cfhose/jsgp\vm!p\vD$fjwgjetftgj!nVfT!F<`*NwBVQw\v!!-vqobjNgfpwsjnt!ttjbnnfq)mEf3sf3sEv!unybfqu<!!>\v!$sfpomepjDgf\vw!j\vt$tjjgneff!g5!dVfTwF!`\vBQMBQNIFBWNJBTQT\vJ!NvFo`jFgTpVs!ng!ftebgnjq$m\vf!s\v3gEj!ebomfq$i\vb!N<b*qo<p!j\vu$dffosejjEgf\vd!b\vg$!j-gOeqfbgn!!V-TmFb`nBsPpNoB!Q-\vo!pvjoujjgtppsQnx!ftjbWnwq!m.f)sc3sEB!3bmpbNnbsqp<O!c\vs$vjugsofeqf!g>!!VmTbFn`sVpCoP!\v<!fvmobjdgTpmsbnn!sgpmop!b>u+!!bzpyN/bOqqJbonu!f<o1t/j2u!z.<!!1\v/$3f!o+e!j{gz\vy!/\v*$wfVowe!j-gq\vb!N\vm$bjngsepfog)!EV3TfFs`vMuJyHfIuU!N>B!QO\vq!bvno!j4gdpfswn!!\vtQbBnNqMmBfNsS3PEO!`mFjThVi!ugNfbeqg<j!$\v\v$!j<goopejfugj!tVpTQFw`NVwC.P!\v>!!voopjjgupjstnp!QgxmfpjbWuw!!m4jdhfiwu!N<bmqbJnosupfoo!t>j!umzb<n!s\vp$Ofzoseujfgn\vp!f\vh$!f4odefjwg!\v<!o\vp$jjugdeffsgj!EVfTdFb`gF!N+J!TmTbJnWsFpNoB!Q>\v!!mvbonjsgppos!n*!ftdbbnGqmmmfvsd3aE)!!fgnjj!t<t*jmwbfnNsbpqO<w!)\vf${fjomebjngs\vp!o\v!$>j!omdbmnvsepfo!!=4cdtfewg!t<?1\v/!2\v!$.j!o;d!m1v/e2f!!@=!ohposjndbbmGNuboqp/sgGt`/mihf!b>e!?o\vp!jwubdsfzsjjoEhf!dwbfgd!4u!bwpOmpgs!n\vbgmj<e!owfb$s\vz!j<o1h/!2w!f>d!4i!uwhNowfQsputTjsubjmpvod<f!q\vt$!e\vffgtjmoff$!\vF!O<WsN/BsQb`mNvPdEfFq`TSmFfGyMfFuD!U>J!PiOu\vh!o\vf$sjugT!sebfmgvjdoffqet)!V<T*Fw`VFwO!W-NqBbQN*s!b}m}v!dNfBqYt`)CEP3Yf`sDvMuJyQfQuF!S>!!?s!b1m\vv!dwfbqsTzmjfoyhf!uw!f5dd4f!ww!X\vpQsBmNeSQBpMtVjDuFjQpTo`<F!T\vV$!fgofeejggj\v$!\v\v!$<jigu!heoffgsjuoTfseb)mVvTdFf`qFtO!WuNbBpQm*g\v!!<veosjbgdptsjne!!g*muptbfuU!bfioqwmNbb!q=J!obu/fsoptmjpuDzf<t!vvgogjjgep)s!ng!jg!m\vpgbjue!ogfm$j\vq!F\vogwjNeboqf<$!\v\v!$<jcg/e*fwgV!wF!O-WqNbBNQb`iUqZmQbF)`ED3VfCsFv\vu!yvfouj!g>p+s!nb!/tsbpnmqpmDffstDvvgcgfj!ef!o\vw*nCb`qM<F!O\vO$BfImDt`fQ\vB!NvBoIjQgMpBs)ne!ftobjngqfmef!sg3jEm!ff$o\vw!n<bhq/<*!w\vV$wf!o-eqjbgN\vb!i\vq$mjbg)oEe3ffgs!vVuTyFf`uV!C>P+\v!!bv/osjpgmppsDnf!tgvmgpgbjue!!s\vf*gHs`bMdFuOjOpBoISDb`uQjBpN<B!I\vQ$MfBo)eejfgo\vj!g\vf$ef!ogejjmgf\v$!\v\v!$<jsg/!*ewfVgwj!o-fqeb)NDbMiJqQm`bE)JES3FfDsUvJuPyOf*u\v!!>w+b!sbz/jsophm!pwDffdt4v!gwgMjped!b\vm*QSp`tMjFuOjOpBoI<D!`\vQ$BfNoBeIjQgM\vB!)\ve$fjoojdgmfvee!fg!j=mdfm$j\vq!E<jbs/f*dwuVjwp!o-/qgbtN/biifqbmeb?)\vE!3\vf$sjvoudymfvue!f>!+=!dbm/jsqpcmppyD/fgttv/gigfjbee!?\v\v*!B\v`$MjFoOdOmBvIeDf`!Q=BgNpBhI/QgMtB/)ieffboej?g\vf!e\v!$gjjo$d\vm!v\veQfB!N=BtIiQbMeBp`xFNTbVq!/ggfte/gijf$b\ve!?\v\vg!j\ve$ojfo$d\vm!v<esfp!m=pgDmmpfxyNfbuq!/>g+t!/sipfmbpeD?f\vt!v\vg$gjjoed!m<v*esfp!m=pfDomdfpyefjuo)hs?b\vf!o\vj$MjpoUdCmHvSetf!!>=!msjphmipuDtmDfpynfnup!o</*gwtV/wi!f-bqeb?n\v)!E\v3$fjsovdumyvfeuf!!>=!msjphmipuDtmQfiypfouh!/5gdtf/wi!f\vbQeB?N\v`!F\vT$Vj!ggeffegg!jV$T\vF!`<TfQwFjDtVtMjBnSfN!B>Q!\vf!dvoobjjgepbsSnf!wtjbtntqjmnfFsm3bEu!ptuq!f4ddvfmwb!s<N*b*q1</!1\v)$4fdofewj!g-\v*!1\v/$1j)o4ddmfvwe!f-!*=1d/v1c)f4FdofwwS!f-g*m1f/d1u)j4pdofGwT)?u\vi!h\vj$Mjeofdumdvfemfg!f=Su!p>o!fuNibhqjqMjeofhu/dgftm/giffsb!eu?i\vh!j\vM$ejfouddmfvmegff!S=!p<jzuu/jgdtb/qipf!b>e!?b\v/!swppmjpeD!fntbvjgog)j*e!!|<!f\vt$vjgogdjmev!e>f!!c=hdsm/jsqpEmjpsDffdtuvjgpgoj/eg!t</scppmepzD?f\vt!v\vg$gjjoed!m5vdeffw!!=\vd?mzjeqpccp/yt/g"],dz.litePhong=["~0!0<!y$fQuSsFfGwJ!Y+\v!!yvjosjugbpNsund!fckpppsmQ!vv!U>f!youpvjsufj<t!pvQo`jmghp!s\vn?!znebpuc4/!tvwV/wqNbbNuxspjmyg<=!!vfoejvgmpdsonj!$n\vb!u\v5?!zveQpscp/ktfwd/uqNbbNuxspjeyb<i!tv=o!jfgepvsmnd!onjb$u\v5!!<v*WyjffuxsNfbwu)s4jdyf<w!!v>o!jogppjsunj!tnpbQuw5N!wv!N<pyeffumsNfbwu!s+j!yy<j!svuobjNgxpfsjnW!mnfbeup5N!vv!N>p!eyffmuWsjffwx!N\vb?uzsejpyc</!tvwo/jogppjsund!fnsbjuE5q!jvmOdp=s!nfbemvNmbduosjj$y\v<!!<b*uyufsujscfvwu!f+!!wyfjds4u!bbNOmpfsenpbNmv<)!4bdufuws!j>c!voupfj!uwjftdp4Q!ebmQspptXjwu!j<p*o1</!2b!u-uesfjncsvpugft!owbfsdu3)!5bdVfww<!!>\v!$yjfguesffgw!!V5Wd`fDwM!J\vQ?\vz!ewpbcs/ztjwo/hh!owjfddo4b!uwtVowj<=!!\vf$efvmmtdfo\vj!$w\vb!s<z*joophj!uwjftdp3Q!bw)V4wd<f!w\v!$>f!oeefjngs\vp!g\vt$oebfsguj!o4fd!fVwT!F<`*JmObTnUsBpOODbJ)O4Hd\vf!w\v!$>e!fmgbjnosfp!OVuTdFf`kJcOpT!U4BdOfDwJ!O\vHg`jMeFoHfB$D\vZ!\v<!*\v*$1j/o2d!m-vweVfb!)=4jdoftwu!b+o!dyjjoshu/bwNtw/Vivf)b3ed?f\vw!!w>b!swzVjwo!h\v!fwtfmdf4$!\vw!O<p*syn/bwmV<b!!w-b*s*z1j/o2h!!-wwfVdb4)!4wdNfwwQ!p+t!jyujjspuob<N!wwVbvs)z3jdofhw!)w4fddf4w!!w>X!pwsVmwe!Q\vpQtJjMuDj`pWoV<!!gvfoejggjp$s\vn!!|n!b*u)5o!jvbDnm!jeqjMppwd!b\vm?Uesbbfoit/gtpws/nq<b!Nwxbpsmzgj=o!hf!ewvfmdd4o!jw$M\vp!d\vb?meQbpftij/utjwp/oq<b!N\vx$pjeobdimtv=e!f","~0!0<!eiJj!o>u!ts;p!mppjDuh-b!shGm`tmmh4!\v\v!?\vz0e0p!c$/QtSgF/GuJjYp\v=!!vfoejvgmpdsonj!$g\vm!p~b!u<!1b/m2q!i>b!Uxf/teuJ<!!|v!ofjtgmpfs!n~!!c<pzpumj!dvbtqfpM!j>h+i!uxj/oehJ<!!|v!o*jugopfssnb!qctpopbms!uu)s!bgojt!q\vb?szfeopuc</!tvgo/jhgppgs=n!!fcepvpmmd!ovjU$f\vy!u<vfswfj<t!t\vj$njfg!e>f,g!!cVhWs`/DeMJJ!Q~\v!!\vw?bzsezpjco/ht!gw/fhdo4p!iwQVfwu<j!M\vt$ufimhtjfm\v=!!wfbesvzmjdoohj!$w\vf!d\v3?!zweVpwc</!t\vg$/fqobeNjxgp\vm!gv=o!jfgepvsmnd!otjb$n\vq!m|f!s*3hEo!jnubiqh<j!M\vf$tevf)g!jgojf!!~D!M<JsQp`mEpJDSwFvD!U>J+P!Oe\vJ!!\v|$!j*ofdsmvvueyff!U=vd)m!jgqjE!j<s*f1d/u2j!p-of/tgvtg/gijfeb)e5?d\vf!wv!o>j!gepJs!n\v!ggjmepobfu$!\vp!q~b!d<jOu.z!<>!!vOo!j|g*plsdnb!Cwtfjd)4!!gejj!g<gfvvtsfu<!!;v!ofjtgmpbsgn!!@w!fhdo4j!dfbnGjutotpjswGf`<m!hw!b>s!zljdobhC!twjf!dm4p!pwcO!p\vsfntbmmf<$!\vw!b~s!z<jfovhs!uw!f>d!4l!dwbNCwtQjp!t<jOu.j!p>o!<O!!w|b!s*z1j/o1h!!=w!f*dO4!!-wFM)pudpbem)Qgpjt!j<ufjtpmob<g!!v>o!jlgdpbsCnt!jn!bmup5p!cv!W\vjTfMxBNNbSuPsOj`yH<O!JvToVj`gFpDsBnG!LwDfBdC4`!ZvDDBbHnFfMs!bgQfpetgjju$j\vp!o<<F!.w!b>s!zMj!o4hd!fwwf!d<4*!owpXjpusjmtepQQpwtNjwu.j)pfo{<j!m\vb$nvsopeof!g>!!FFO!W4NdBfQw`!S<P*UmBbUnFs\vp!O\vw$)jfo{djmmvbenfs!p=om!j>h!iOu!t4Mdjfuwf!Q<iepJo!h5/dgftw/!i\vf?bzee?p\vc!/\vt$gj/ofdwmjvuedff!m=fqTbndplpjmoch=?!\vf!e\vv$mjdoodjm$v\ve!f\v!?=zdempjcq/ctpgy//ygptc/qijfmbde=?!\vf!e\vv$mjdoodjm$v\ve!f\v!?=zgepphc//gttg//iofpbjeu?d\vf!s\vj$Ejqojdmmdv=e!ff!e=vtmidboejp$x\vN!b~q!/~g!t~/!i<febseb?d\vt!j\ve$!j|o!d*muvteffU!b=igqmmpbx!N>b=q!/bg/ts/pimfpbDew?v\v)!!\vg$jj!o|d!mfvtemff!!=~c!m~p!p<neTsfbmdftdjuej!w|f!/*g1t//1i!f>b>e!?b\v/!s\vp$mjpoDdwmvv)e!fg!j=!p|j!u*/ugotf/sibfqbteo?b\vs!uw)p!jgej!!n\vbgjjoe)o*f!$|\v!!w<f*dw5V!wv!w-Dqpbmnp)sE<3!fjsgv!u)yvfUuf!y>u!vsspfm*p!D|w!v\v!$\vjfgtemffg$!\vV!W<`*DzMyJ/Qw\vV!wv!w-Dqpbmnp)sE!3>f!suvfuy"],dz.hueSaturation=["?$TjWoodfmfvsedfT!u=jcm","~v!o<j*gxp/ssnp!mtpbdn!q-m*fmst3iE)!cjhnsb3hmft<i!)w5bdsfzwj!o>h!!swpfmdp3D!hwbVswG<`!m\vh$!e<f*g!j*offh!oNbBSYt`tSfBoOuHiFh!j8m\v!!-\v^$1e]ftgtjfoofu!iShBjOmH!F-`{B/MmMt!i1)\vt!tvfoojugiphsjnm!`gqmbpnb!u-!*ifvhfo]bNSBoYp`jSuBbOsHvFu^b<t!!v-o^j1g]pospnj!ugbmspvbuub!tt!b-uzv/smbtuij)poop]jNuBbYs`vSuBbOtH`Fq^b<n!!v-o*jfghposbnS!fgvmip!b-u^!1m]jfhviiu!o-fyt/tm]tNiB)Yf`vSiB`OqHbFn^!<)!4gdmfpwb!u>!!nmbtqi`!i~v!f~)!g<mlpbbfus!cj!o<W^bsmfvufo-v!pgdm`pfbvui!]itvtffBomumi-h!jgmm!p>b!uf!hiovbfSStbtofhofu*i!h|j!mg!m<p^bsuf!uwobvmpvdf`!f>v!ij]ooWpbjmuvbfs!v,u!b)ti!v>f!Bfmhmo!b,S!oipvjfuSbbsovhufb*t!!0<!^3s/f1u<o!vjpgd!`)fwvbim]vffv!i=!!>1!/f1h*o!bsSffuvvis!o|!!w*bfmhvofb!s,!!>2>/!1s<f!ufomvtpfd!`jfgv!i))w!bgmjv!f|!!?*!,2,/s1f*u!osvfpudv`sfov!iw!b<mFvHfO!B.S!`2Y/B1N<!!=f!mstffu!osvfpudv`sfov!iw!b<m1v!f><!!s~f!ugomvppbdu`!fnvbiq!`utobju)v!ssbpugj!p<o2)!g,m!pfbhuo!bjso!W>b!mfvhfo-b!sg!m<p1b!u>!!tfbhuovbssb!u*j7p!o>B?m!mf-h!ogbmsp)b!ug!jt!b~u!v~s!b<uljbpfosScb!o<hsff*u!o|v!pgdm`pfbvui!!w>b!mfvhfo!b>s!!j|o!W*b6m/v1f!!,+!!*)s2f/u1o!v,p!dt`bfuvvis)buubjppmogB!m=m!!i,)!!tgbju!v|s!b*u,j,psofSuboovhpfd*`<f!vsif!u<vFsHoO!BdSm`bYnBqN)!w=b!msvffu-o!v1p/d1`-f!v2i/!1<*1<!!>~!!sgfmupobvup!dn`bfqv`im!juhoiju)o!fstptg)!g<mfphboub!SjtotWfbomuvifh-j!mg!m-pfbhuo!bmSjohpijuuobfstvtuBbmtm!--!fghmopbbSuf!vmij!huibupomfgt!t<S1b!o>h!ff*h!o|b!sg!mupobju!!<we!m>p!imtjfhsiiuuo`fftvtiB!mumb!p,m!gm!j<h1i/u7o!f+t!tyS/bmothif!<>!!jig!!u)bwp!m=g!!1</*1{*z!ys/fsupvmspod!)jmotWib3mcvhfs!!+>!!)mwt!i,!!42d/f1w*!<<!*fwmVtwf!!-sffhubvnsjo)!Ej3ofWsbvmuvyff!u,!!>)!ws!p+m!p)d2!/51d!f.w!!j|o!W*b)movjfb*n*!<e!j~p!wg!m~p!b<u*!mi!v-ft3!s-hic))4gdmfpwb!uo!sgv2u-f!sg!m~p!b<u1!/g73!-0!!gim!p>b!ui!!i~v!f<*1!/|7!!j>g,!!)ii!v|f!!*=1!/11/!1=*!!ii)v!fg!j,!>~!!2</b1u<m!ffEmdt!f0!!j*gh!!).i!vsf)!!?,!!21//15*!!>i!vif!!|.!>f!t2m/f1!<~!!g<mbpubmuf!Esdf!t0<!!*jsg!!.)!)c7)/!1,!!+1!/i3v!f>*!!i=!!|2!/*1y*b!Nsdf!t>!>>!!hg)2!!g,j!!)fgt3m!f.!!~g!2<*b!u+m!f7E/d1!!0+!!*icv!f.<!!hf)m!t>f!!ij!g|!!)*)y3b/N1d!!+>!>i!vsf)*!!g=j!!2</*1**o!jsNfdt!!,>!!ygb3N<d!)f!m.t!f1!/j3g)!!)0)!4b/u1m!f+E!di!v;f!**!o=j!N3d/!1,*!!ysbfNtd!)>!!0g!2b!u,m!f)Egd3!!@.!!6g/21*!!=+!!m)!)>3!/t1!!<0o!j4N/d1!*.!!.y!biNvdf!*>!!+b!u7m/f1E<d!!fumbtpfm!gs!f|t!!*>o!jgN2d<!!?s!fyubvNsdo)!!sgfjt!<<!1~/!3w!f0d!4*!oijtNmd3!s,h!cy)bwNfdd)4!!>i!tmm!*<!*|*!cw!f-dh4)!ysbhnc!<-!sj)gy!b)ni!t>m!/yzb!N>d>!!u1b/p1m*g!!|<!*s*hcc!!->h!)wofjdn4!)-ist)mo/j{n*!<>!!~o!jfNmdt!fu!b|p!mggm!p<bcu/!dg!3><!!cj!gu!b)pimtgm!/<{h!/=d!!1>/!6h*!!ugb3p!m>g!!i<tsm//d{!!>+!!s)!2u/b1p!m,g!!i<t1m//1z!*><!!mf!mutbfp!mgg3!!<>1!/i1t!m>/!{t!!,u!biptmmg/!z<!1./!2i.t!m>/!zi!!+u!biptmmg/!{|<!!*gdm!p4bduf!wg)2m!t>i!33c/h1s!!+4!diftwm!/~{!!<.c!hgs3!<o!ssvhucf/ss!!~>!!<i*v*f13/s4h0c1)/g22)-!!.g!3y-/!mittim!/-y3!g,!!-)22g/)1c0h4s/31f*v*i<!!>s!hcc//chh!s>!!<i*vyf/3msthic!)-g32g-!"],dz.blitScreen=["?$TjWoodfmfvsedfT!u=jcm","~v!o\vjggjpesonf!$t\vb!n<q*mcfhss3/Es!pjmnpbDhhfb<s!Gw`bmshz)jhoohj!swffidu3j!ew!V>w!<c!h\vs$/jsgpemfpgD!hVbTsFG``MmJhO!F\vBHSO\vJ!S\vF$IjUoJdEm!vgeffe!g=jf$o\vd!p\vegjjoeho?f\v$!\v\v!$<f*oweVjwg!\v-!f\vh$bjngje)fEg3!fEsJvUuIyFfSuJ!O>H!\vs!p\vm$pjDohdbmsvGe`fm!h=!d\vpfntnmpfo$?\v\v!!<w*f*dw4V!we!j-ufihfbsnjjo)hE)3wffsdv4u!ydfpum)pCsH*S!t|p!Ugsmbpfbouj!Mh!s>j!es`pqmpptDjhubjspGo`!m>h!!s\vbSoBeF)OhJmM``GFsTbVh!Dgpfpesgej/$y\vz!*|<!!*w)fodj4b!ne!jeujipfws!`\vtgijjegouf`$S\vH!C~!!><!CwHfSd`4u)g1j/i3t6`!s0f!i3u6j6e/!1,-!!s.p1m/p3d6!!o0s!v3u6f6s/!1<-*!o1p/j3u6j!t0p!q3`6e6j/s1h*!<-!CeHjSu`iufgsj`itti`jsgfui`uSjHeC!!+>!!1n/j3y.)!3-/C1H!S+`!uegjjuiitf`s"],dz.pick=["~0!0<!y$fQuSsFfGwJ!Y+\v!!yvjosjugbpNsxnf!jcWpmpfme!pvNUvf!y+u!vysjfs<u!bvNoujdgfpkspns!Qnvb!u>4!!ovpVjwuNjbtupsQj`ym<h!!v\vo?jzgeppscn/!tnwb/uo5p!jvuQdsfpskjfEdqujNmbdu=s!jfye<v!mvdoojjg$p\vs!n\v!gnjbeuo5f!$v\vN!p~e!f<msNpbmupsDjiyd<u!bvCobj!g>p!ssnp!mnpbDui5d!uvbNCpwe!f|m!W*jsfpxmNpbDuisdjuyb<C!vb)u!ugsjj!c\vvSuPfM!PwDfIdD4U!BbCO!pgsfnebgmj<$!\vb!u\vugsjjecovfu$f\v!!w~f!d<4*!*b1Q/p2t!j-uwjVpbo)<4!dbfuwu!s+j!cyvjusfu!bwNfwdV3v!)b3Vdwf<w!!\v>$!jwgVewf!g|!!C*BfUsDvIuDyPfMUPvS)\v!!gvjo!j\vgfptsmnf!$c\vp!p<m*!yv/CwbVubd!i-D*p*m1p/s2<!!-bwuVubs)j4cdvfuwf!!+w!fydj5s!ubbCNbwuVdvi)D3pdmfpws)<4!dwfbws!z>j!owhV!ww!f\vdQ5J!MwDC`bWuVd!igDfpemgpjs$<\v!!\v\v$gfjoeeojfg$\v\v!!\v<$*jygfeufsgf!wV!W+`!DyMjJsQu\vb!NwmbfsezpjNovh)!4wdffdw4!!>w!Vowp<j!u\vj$tfpmQtefm\vs!pwXbws!z\vj1o!h>!aw!fSdF3Q!QwJVMwD<`!Y\vP$Cf`oYeBjNg!\vg!j\v$$\ve!f<g*j1o/f2!!V-TeFf`nJsOpTgUtBoObDsJuO)H5`dMfFwH!B>D!Zy\vf!u\vs$fewf!g5jdoffw!!V\vT?Fz`eJpOcT/UtBwO/DhJoOjHd`oGbMuBtUo`jT=I!BfEeFvEm\vd!o\vj$$j\vo!d~m!v\ve?fz!e=pjco/ttuwb/ohdojjooho/jwltt/=i!ffbeev?m\vd!owjb$s\vz!j|o!h*!hwofjdo4o!jwlXTpfstmVevQ)p!tgjju!j<p*oo<p!jvuojjtgppQsbn)!4ndbfuw5!!>v!DemfjnqsMppgdtbombUssub!o4tdgfpws!n<<*!mwbbnsszpjOobh)!4wdffdw4!!>w!MmpbdnbsmpQOputdjfukjcppo!<4!d\vf$we!f|g!j*oefj!pVwT)Fo`jTbLnJ!OeOjJpOwH!\v\v!?\ve$beffig/jtowf/!hCoPjOoFo`jUlFtY=U!VfSeFv\vm!dvoojj$g\vp!s<nh!ocjpopomj!lvTVft","~0!0~!!$<QeSsFbGdJtYj\ve!!v|o!j*g1p/s1n!!>c>p!pbm/!svpEmjptDdhbbsseGT`fmmhf)d!ugbjc!m\vfg<j!evoofj$g\vp!s<ns!pwmfpdD5f!tvsGfjwyfQSjlddljSQfywjfGsvt!f>D!psmppmsp<D!hvbosjGg`pmshn!!\vgfmtpmbfu$!\vv!B~m!q<isbpUmfptDuf<t!svfowjfgSplsdnj!QcypjpGmv!!v>U!ssbpomtpqDbhsbfsoGu`<m!hv!o|j!gfptsmnf!!c~p!p<ms!pvmUpfDyiudvusbfC<w!!\v>$!jsgpemfpgD!hVbWs`GD`MmJhQ!\v|!!w*bsspzmjpoDhi!dwufbdC4v!)w!Vgwj<!!\v\vS$PfMmPtDfI\vD!UwBbCs!zgjfoehg!jw$f\vd!3\v!?wzVewp<c!/\vt$gf/oyepjcgq\vj!mvdo=j!gfpesvnm!dtobjn$q\vm!f\vs?3zEe!pvcT/btngq/mofpsj<u!d\vf$sejfEgqjjomfd!=D!MfJeQv`mEdJoSjF$D\vU!J~P!O~\v!!~\v!$<jeosdbmdvtejfe!!=|d!m*juqtEfjUsbfidqumjBpvo!/>g=t!/bi/fsbpem?p\vD!wwvb)s!zgjjo!h|!!wfftdm4f!!w~M!p~d!b<meQspbtdjtujjep!o|<!!*w1b/s1z!j>o>h!!bw/fsdp4m!pwDXwpvs)m!egQjp!t|j!u*jupoof<s!b\vq$tjogbesfUgv!)C!BgUjD!I\vDgPjMePoSf\v$!\vv!o<j*gwpVswn!!-cspfpmmq!nvbCTbvu)dEi3Dfpsmvpusy<f!uw!b>s!zsjpomhp!Dwwfvd!5\v!fwtCmbfu$d\vi!D<p*mzpys/<w!V\vw$!f-osefjmgq\vn!b\vT$vj)oEd3mfvsevfu!y=fdum!j>q!csppym/pgDtw/vi!f\vbQeJ?M\vD!`wWpVj!eg!fnebgjjo$)\v*!!||!!*wffmdc5b!uvdwfDmpfmTpess<b!djtgj!E)vvaU!f%y%u!vfs"],dz.envmapDynamicCompose=["?$TjWoodfmfvsedfT!u=jcm","~v!o<j*g1p/s2n!!-tcbhnsq/m*fbsi3qEm!bu!f-ycuhvss/f32s<p!mvpodj!g-pcshns!/t2bsnpqmmpfds)3yEj!nu)f5ydufvws!f>3!<s!pvmopjDghpbssnG!`gmmhp!b<ub!/p3gsgptmfpud<!!>w!bbsizqjmobh!!uwbfpdm3g!!w<V*w*<w!V\vw$!j-o3dfmsvveufy!f=uf)oEd3pfesjvouhy?f\vu!)wspbjfeo!jnMbpjUoC)H*S!t|!!>w!f3ds5p!mdppdm!p5sd2f!w>!!<u*f*yzu/vwsVfw3!E-)uufftygugvps!f.2!-y!/wwfVdw3)"],dz.blurH=["?$TjWoodfmfvsedfT!u=jcm","~v!o<jngvpts!n>!!tsbpnmqpmDfhsb3sEG!`jmnhb!h<f2<6!1w/b1s!z+j!o*h*!zw/fwdV3w!!w-Vfwv<m!bvwo!j+g!p1s/n5!!g,m!pyb/uw!Vwwb)m3vdff<w!!w-pfjheb!nnjb)jEo3)f*s!v|u!ywffud!5>!,t!vnnv!t>!!<w9f2d:51)/11/!1+*!<*!*tzv/nw!V,w>!!-uffvymubvws!f+3!E1)/j4n!b,h!fy-/!wwVfwd)33)dwfVww!/-yf!h.b!n5j/)1E!3+f!swvbumyvffu-!!>w,V!wn/vzt*!*<!6+5!313/21/612!<+!!t*v*nz!/,w>V!wu!f-yfuvvmsbfw3!E+)!j1n/b3h!f,-!!yw/fwdV3w))w3Vdwf/wy!!-.f!h4b/n1j!)+E!3wfbsmvvufy-f!uw!V>w,/!zn*v*t!!+<!214/612:/219!<+!!t*v*nz!/,w>V!wu!f-yfuvvmsbfw3!E+)!j1n/b2h!f,-!!yw/fwdV3w))w3Vdwf/wy!!-.f!h3b/n1j!)+E!3wfbsmvvufy-f!uw!V>w,/!zn*v*t!!+<!414/7223/315!6+<!!*t*vzn/!w,V>w!!u-fyy/uwvVswf)33Ed)fjwn!b-hffh-b!nwjf)dE33)fwsVvwu/yyf!u.!!>2,/!1n!v+t!!w<b2m4v6f2-/!1w!V+w!/*z*"],dz.blurV=["?$TjWoodfmfvsedfT!u=jcm","~v!o<jngvpts!n>!!tsbpnmqpmDfhsb3sEG!`jmnhb!h<f2<6!1w/b1s!z+j!o*h*!fwvfmdb3w!!w+V!w1</!5v!o,j!gzp/swnV!wg!m-pyb/uw!Vwwb)m3vdff<w!!w-pfjheb!nnjb)jEo3)f*s!v|u!ywffud!5>!,t!vnnv!t>!!<w9f2d:51)/11/!1+*!<*!*tfvvnm!b,w>!!+u!f1y/u4v!s,f!3zE/)wjVnwb!h-fy-/!wwVfwd)33)dwfVww!/-yf-h!bwnVjw)/Ez3!f.s!v5u/y1f!u+!!>w,b!mnvvft*!*<!6+5!313/21/612!<+!!t*v*nf!v,m>b!wu!f+y!u1v/s3f!3,E!)zj/nwbVhwf!--!yw/fwdV3w))w3Vdwf/wy!--!fwhVbwn/jz)!E.3!f4s/v1u!y+f!uw!b>m,v!fn*v*t!!+<!214/612:/219!<+!!t*v*nf!v,m>b!wu!f+y!u1v/s2f!3,E!)zj/nwbVhwf!--!yw/fwdV3w))w3Vdwf/wy!--!fwhVbwn/jz)!E.3!f3s/v1u!y+f!uw!b>m,v!fn*v*t!!+<!414/7223/315!6+<!!*t*vzn/!w,V>w!!u-fyy/uwvVswf)33Ed)fjwn!b-hffh-b!nwjf)dE33)fwsVvwu/yyf-u!!w>V,w!/nzv!t.!!<22/416!2+/!1w!b+m!v*f*"],dz.blurDownSample=["?$TjWoodfmfvsedfT!u=jcm","~v!o<j1g/p5s!n0!!t*b*n*q1m/f2s!3-E1!/j1n)b3hdff<w!!w+b!sfz{jjoThm!fwyffdu3!!,w!VwwV<w!!v-ofjhgbpnsjn)!Ew3ffds3v!uuyffyuf!m,T!j*{*f1</!2w.p!j-e1!/n1b)j3od)f*w!!|+!!hfm{`jGTsmbfhyDfpum!p,s!!w>V!w)!u-ffyhubvnsjf)3EE3)fjsnvbuhyff-u!!w,V!w*!*,1!/u1f!y-f1m/T2j.{)f3!d+f!ww!f+d!3f){2j/T1m-f!y1f/u1!*,*!!w,V!wu!f-yfuhvbsnfj3)E"],dz.flow=["~v!o<j*g1p/s2n!!-c1p/p1m!!-v1t/f3Y![+<!!wbVuwu)s5jdcfvwu!f>!!wofpdj4u!jqtpptQj`umjhp!o<<*!zw/bospzjjuojht!pwqf!d-3y!/woVpwj<u!jwtppjqe)!3ndbfjwo!)>*!!w|V!wj!gf!t)mvft!f<Y*[{*/!owpVjwu!j>t!pwqf!d-3y)/qopptjju","~d!p<oztuuj!tgomfpubouj!!q+j!3b!/>s!p7m/p3d9!4+2!9s6p4m<p!dv!o>j!gsppsmnp!DthbbnsqGm`fmsh3!E<!ejonfbmhcf!<+!!v*o*jzgyp/s*n*!1n/b2u!4-!wvvw)N4bdufswj!y+<!!yvjosjugbpNswnv!)j)o3ud!ftwi!b-qffh<b!nvjo)jEg3pfssnv!uwyffdu5!!>c!msfpomep<d!!v5odjfgwp!s~n!!<g*mfpmbhuo!bj!o-u!f*o3tjjqu!z+<!!fwmbhsozBjeophn!)wtfpdd3!!+w!V1w/<3!!w+p!j*ew!Vnwb)jiou)h*o!f|m!)w3fddf3w!!v>w!<w!vg!m<p6b/u1!!b+o!hqmffu!t>!!.b!u*bqof)uwtV!w-/fzm-h!owbV)we/pyn*!!>0!!fqmjh3o!B,e!p1n/!6u<b!pjmgg!!)<t*i2b!q,f!!f>q>b!i1t*)!u|b!pvmwg!!>0!!w1V/w2!!,>!!1q/f6u<t!!~u!bfpmmtgf!!|j!gf!t)mtfi!b~q!f<!*>f>m!h2o*b!!|-!1v/w3!!>+!!w*fwdV3w))mifuoh"],dz.fxaa=["?$TjWoodfmfvsedfT!u=jcm","~v!o<jbg/p*swnV!wt!b-nfqhmbfnsj3)EE!3jfnsbvhufy<f!uv!o>j!gbp/ssnp!mwpfDdh3b!ssGf`tmphm!v<u*j!p*o1</!1w)b5sdzfjwo!h-!1w/f1d!3-!1w/V1w!<-!1\v/$1e!f-g4j4o9f1!/G1Y!B-B7`7R2V/B1M!J-U6Z8`/Q11!!-2*/11/\v1!)\v5$deffwg!j-o*f1!/G1Y)B5Bd`fRwV!B-M*J1U/Z1`)Q52d!f2w/!6-\vo!p\vj$uevfmgpjtoffs!!G-YfBhBb`nRjV!B-MfJhUbZn`jQ!3-!f3h/b1n\vj!!\v-$*e1f/g1j)o5fd!fGwY!B-Bw`VRwV!B)MsJfUeZb`iQT4m!f5y/j1Q\vb!b\vy$Ge!f>g!jsopfm!pGDYhBbBs`GR`VmBhM!J|U!Z*`)Qo5j!b2n3!/e1j\vp!w\v!$~e!f<g*jNobfn!vGmy!b-b{Czpyp/m*!Nctpppqm!\v-!y\vf$ue)fqgpjUoyff!UGbybbybGG)m5pubbup!mgGmbpbbyuG\v!!o\vs$veuffgsj!o<fo!hGjyTbibuGhmopfbmu!3+!!wyfjdq3c\vv!T\vu$fetfgggjPomff!yGjyqb!b>G,m!pzb/uN4t!pwqf!d*4o\vb!q\vT${esfpgij)ogfj!!G<yobhbjGTmipubhuo5f!mw!f+d!5y\vj!q\vc$veTfugfjtogfg!PGmyfbybjTqb!u>),y!*y!/dNmtbpnqq!)*yo-b!q1T/{1s-p!i2a/)1g*j\v!!<\v*$Ieyfjgqjcovft!!G-yebpbpUHfuyf!ttgbgnPqmmffysj3qE)\vy!b\vn$!e>f!gyjjoqfc!vGTyubfbtUgfgyPUmpfqy)juq-!!uqb*p!muGfbybuyvGs!f<31E/)1u!-;!!qu-f!t1g/g1P*m\vf!y\vj$qe!f@g!joobfq!TGeypbpbhU!f>y!Pegpgp)Huu-f!tqg-g!Ppm-f!ysj*q!!uufbypumvGsbfb3yEG)!u<-y!jqq!c,v!T)zpu!j+m!bsv*R-b!b1y/g1!*+\v!!HGyyjbqbcGvmtp!b>u!!IGyyjbqbcMvvtn!bu)bGpymbGbbGbmypGb!u<56!/s1h!c,b!**!*|q!dsSfiuuvhsoof!Msohbcqbt/.z)<!!+~!!uGtyeb)b!G>m!pubfut5g!gGPymbfbyQjjqy!fumbTpimbGebfbsy)G!!G<yGbybjGqmcpvbtu!3+!!qGpytj-q!cGvytb!b>G!mHpybjuq5c!vgty!bubbDppmoGtbpbmyfGQ!p<tQQopbtq-T!eGpypbhb!U;f!yO!oubfqyT-e!pGpyhb!b@U!fOyo!pgjyubdbfDspjoet!p>m!fo4b7q1TUefpypFhy!qmCpjpbCtbObfyhGP!o<f*-Q!uGtyeb!b-UOfuyt!eg)yobjbnD!p>o!tuptmef!4u7b1pUmfGybFbyyqGC!j<bQtuOtfeh!U=x!pO-u!tGey!b>b!GOmoppbjuu3d!fgsyjbeb!RmvpbpmCjbubzySGd!q<Gisubhnoff-M!oGbyqbtb0G1m/p2b!u>5!!qgdySbibuDhpooftMpombfqStd!quGbspbmnGfbPbqyuG-!!<Gpysbfb[GUmMpNbbun5v!mg!y>bab!D*p1o/t1p!m=f!SQdeqoGFsbbnnvfmP)q!u>3!-Q!oGbyqbTbeGpmpphb!um5p!pgCybbbbyDGp!o<t*pOmuft4e7!1,S!dQquGtseb)n!f>P!qiuu3h-o!fGMyobbbqGtm!pubbup!mgGybbbbyRGv!b<mpjsufz[TUvMcNqbjnyv-m!!G>yab!b*G1m/p1b!u=!!gOyebobFRbvnbvmmj)u!z>F!eOhofbUqiTsefptpihp!mmep-p!CGbybbybGG!m<pzb/uN!tgpyqb!b.R!vzb/mQjtupzqF!e>h!fQUuitsef!t*iopbmqeTN{jsop-i!aG)ygbjb!G<mzp/bOut!pgqy!b.b!Dzp/oNttppmqf!F>e!hOfuTtieb!s*qoobfqtTt{-s!pGiyab)bgGjm!p<byu/!Ngtypbqb!D.p!oyt/pQmtfpFqe!h>f!UQiustfet!iupbmpem-G!bGbyybGb!G<myp/bOut!pgqy!b.b!Dyp/oNttppmqf!F>e!hOfuUties!futbippmmGebNbjyoG-!!~G!y~b!b~G!m<p5bQu`5Z!UgJyMbBbVDRp`oBtBpYmGf!4+7!1zD/pQoOtgugEpj!s>!,*!!z|/!QGtypbqb!G*mQpfboup3e!aq)pgtjN!<<!5qQp`tZNU/JyM!B>V!Rq`pBtB/YyG<!!+q!pyt/NQ/Ozg!g>p!!q>p,t!/yz/<Q!tGpyqb!b*GQmfpobpue5a!)sghjc!z<N*!Q>f!oGpyebab)U!f}y}U!p*qO)fuofpye-a!)q!p>t!NQ*O<f!o\vp$ee!f<g5jQo`fZ!UmJvMnBbVNR!`sBhBcYzGN!/+z!\vz!/GQyObgbgGpm!p>b.u!!zm/vOntbpTq!!>*!OGfyobpbeMav)ngbj)!G<y5bQb`UZfUyJPMgBgV)Ru`fByB-Y!Gq!p+t!Ny-/!QGOygbgbpG!m>p.b!uy3/)O1t/p1q-!!*2O/f1o*p-e!ag)ygbjb!R<vebfmmjbudzTSudoqfGjsebbnsfh/!y>z?*!**<Q!eGoyFbbbnGvmmp)btuc!bm!v>n!bQFf!o>p!eG!y<bebfMmvbndbT)uGoyfbjbeUbfsyhP!g>g?)!u*fOye-o!FqbpntvNm-)!tGcybb!b>G!mOpfboup3e)!2</61/-1!!1+/!1O*O-b!ngvymb!b.R!vQbemojFubznSvdmq!G>s!bQnefo/Fybzn*v*m<!!*GQyfbobpGemap)bguj!!m<v6n/b1O!!+>!!OGOybbnbvMmv!n.b!)OGeyobFbbUnfvymP!g>g!)OuefoyF-b!nqvpmt!N*-O!fGoypbebaG)mgpjb!u<3*)*1z/y1/-Q.t2p/q1!*--y!fguy)bqbpRUvybfmUjbubzySGd)qbGnsvbMnbfb/yyGz!*>*!<Q!eGoyFbbbnGvmmp!b*uQ!fmovpnebaX)!g>j!!G<y*b*bzMyv/nObt)pGqy!b-byUffuy)PqgpgU)yuffUyb-b!yqGp)tbNn-v!MGbybbybGG!m>p!bOue3o)F.b2n/v1m-!!*1O/f1o*p-e!ag)ygbjb!R|v!b*mQjOufzoSpdeq)Ggsjb!n<f4/Qy`zZ*U*J<M!BGVyRb`bBGBmYpGb!u+!!nzb/yQTONg!g>p!!n>b,y!)zm/vQntbpTq-!!*mQvfnobpNe*a<)!gGjy!b<b4GQm`pZbUuJ!MnBjVoRT`NB!B>Y!Gn!j+o!)ym/vQnObgTg-p!!m>v,n!byN/*Q<t!pGqy!b*bQGfmoppbeua!)ngbjy!F<T*NQ!f>o!pnebay))!m}v}n!b*FO-f!onpbeyaT)N!*><!!QGOyfbobpGem!p<b4uQ!`nZjUoJFMTBNV!R>`!BnBjYoG)!m+v!nzb/FQ-O!gngjpo!T>N.*!<z!/GOytbpbqG!m*pObfuo!pnebay)XgOj!!><!4nQb`yZ)UmJvMnBbVOR-`!BmBvYnGb!X+*!<y!/GQyObgbgGpm!p>b.u!!yn/jOotXpOq!!>*!Onfjoop)emav)ngbjO!-<!emfvmnbbdXT*u<o!fGjyebbbsGhm!p>b?u!!*sQbeoohFfbNnbvym!)>t!cnbb!y>)!nQbfyoXpOe-!!<nebfymFbTdNT*u<o!fGjyebbbsGhm!p>b?u!!*sObeoohFfbNnjvom!)>t!cnbj!o>)!nOjfooXpOe-!!<n6j/o1F!T+N!*O<O!bGnyvbmb!G.m!pQbeuo!Fsbbnovhmf!N>b!yQTedobFmbfnev!m>!!*sQbfoohpfeNab)yg!j+!!<g6y/b1b!R+v!bOmOjbunzvFme!h.f!UOiesofFtbinpvmme!<>!!GOyebobFGbmnpvbmu!!*sObfoohpfe!a>)!gsjb!o<h*f*Nzbyy/!Q.t!psqb!o-hyffNuj)oq<p!UGyyfbUbbGbmypGb)ub!nsvbMobhbfyNGb!y>D!mQbenoqFfben!v>m!!n*bQyf)ogpyebab)Rgvjb!m<j*u*zzFye/hOftUpiqs!f-tyifpum)eqNpjUoy-f!UsbbboyhGf)NbbnyvTMdbbbmyfGe!*><!!OGeyobFbbCnpvpmm!!*fObfsompzeFay)jguj!!>|!!s*bQoOhffo!p=e!)sgbjo!h<f3NQb`yZDUmJbMnBqVfRe`<B!BjYgG)!f+b!szm/zQFOygjgup*!!>s,f!uzv/sQot!psqh!c*zQNf<o!pGeyab)bgGjm!p<b3uQ!`mZvUnJbMOBXV!R>`!BGByYbGb!M+v!nyb/)QGOygbgbpU!f>y,P!gyg/)Qutfpyq-!!*qQpftoNp-e!aG)ygbjb!G<m*pQbfuo3p)e.a2)/!1}-}.!2*/O1f*o-p!egay)b!b>R!vQbOmfjoupzeS!d<q3GQs`bZnUfJ/MyBzV*R*`<B!BGYyGb!b+G!mzp/bQuO!gmgvpn!b>T.F!!z>/!OGtypbqb!M*vOnfbo)pGeyab)bgUjf!y<P3gQg`)ZuUfJyM-B!VqRp`tBNB-Y!GG!y+b!byG/mQpObgug3p)!2>/.1!-y!/2O/t1p*q-!!*gOyfbobpRevab)mgjju!z<SedfqmGbsdbTnufo/fyjze*b*s<h!!G>y?b!b*GQmepobFub!nmvvmn)btOcFb!!>>!!GQyfbobpMev!n<be)fGmybbdbTUufoyfPjgegb)suhf!y>-?!!q*pOteNo-F!bGnyvbmb)Gtmcpbb!u>3!)O2f/o1p-e.!2</61/*1-!!+g!yObObbRnvvbmm!j.u!zQSedoqFGbsnbvnmf!/>y!zQ*e*o<F!bGnyvbmb!G*mQpfboup!emav)ngbjT!X<!6>/!1G!y+b!bOMOvbnnbv)mG!y.b!bOUefoyFPbgngv)mu!f>y!-O!eqopFtbNn-v!mG!y*bObfGomppebau)3g)j.!2</*1*-z!y2//Q1t*p-q!!g-yybfbuR)vqbpmUjyufzUSbdbqyGGs)bbnnfv/Mybzb*y*G<!!>G!yQbeboGFmbpnbvum!!m*vQnfboOpTe!a>)!gmjv!n<b*O*!z,y!/mOvtnpbqT!<-!yGfyub)bqGpmUpybfuU!bmbvynGb)XbFn!v>M!bmbvynGb!X>!!,O!emovFnbbnFv<m!!G*yObfboGpmepab)ug!jt!v|c!q*jQyOSfdoqpSeb)oghjf!!<>2!Q2`/Z1U0JsMbBoVhRf`<B!BGYyGb!b+G!mzp/bQuO!gtgvpc!q>j,y!OzT/XQFt!p>q!!m*vQnfboOpTe!a,)!gmjv!n<b2XQF`<Z!UGJyMbBbVGRm`pBbBuY!Gf!e+h!fyI/pQsO{g2g!p>!!>),.!3y//1Q!t+p!qm!v*nQbfNo*p!e,a!)mgvjn!b<O*TQ<f!oGpyebab)G!m}p}b!u*!OffeohpfeWaf)s!u>2!!Q>O!f)o.p3e/!1m!p+p!CmbvbnybGN!*<!2,Q!`mZvUnJbMXBFV<R!`GByBbYbGG!m+p!bzu/!QmOvgngbpO!F>T.F!!z>/!Omtvpnqb!O*FO!f,o!pmevan)bgTjF!<<!2GQy`bZbUGJmMpBbVuR!`mBvBnYbGO!X+O!Fy!/>Q!Omgvgnpb!O>X.!!,y!/mOvtnpbqO!F*<O!fGoypbebaG)mgpjb!u<!effemhbfdITpuso{f3j!e>b!s)h.!3>/?1!!*+Q!emovFnbbnFv*m!),t!cmbv!n>b!OQFfToFp<e!!GmypbpbCGbmbpybGu!!<feefhmfbWdfTsuuo3f!j>e!b)s.h3!/>1?!!+*!OmevonFbbOn*v!m,)!tmcvbn!b>O!XOOfFo<p!eG!ymbpbpGCmbpbbyuG!!m<v6n/b1O!X+T!XO!O>b!nmvvmn!b>O.X!!Q,e!omFvbnnbvTmX!<<!6G/y1b!b+G!mOpObbun!vmmv!n>b.T!XOTeFo!F>b!nmvvmn!b<T1X/!1,!!=m!vNnNbbTnFv<m!!G>y!bpbsGfm[pUbMuN!bfnevhmf!Imppsp{C5b!b>y!G)!b<cFty)jfqechvftI!p+s!{E2y*j!q+c!v3t/!1>*!!G,y!jbqcctv)tf!euhbfpImpGsb{b3y*G<!!<G6y/b1b!G+m!pObOub!nfvemh!f.W!fNsbun5v!m>!!>)!bNcNtb)nfvemh!fuWbfpsmuG2b*b!y+G!!3</11/*5!0,1!/b2c!t+)!fueohffjWefbssuh3!*><!!eGfymbbbdGTmupobfuj!efbeshhf!Iupbsp{m4G!b>b!y)G.!3</T1T!b+n!vmmv!n>b!XO*O!b,n!vmmv!n*bOOsXjTbXq<a!)Ggyjb!b<G*m*pQbtup!qf!e-hyffWuf)squp4U!y>f!U)b.b3y/G1)!b+n!vmMvbnbbyTG*!!>,!!QmevonFbbTnXvTmF!<u!bGpymbGbbGbmypGb!u<!DfyejhqfcIvpts!{+!!>D!ybjcqtc)vfte!h>f!IFpysj{q4c*v!t,!!ufbephmfGIbpbsy{G5!<<!*G*yObtbpGqm!p-byuf!uf)eqhpfUWyffsUub!b>y!Gb)cbtn)vfMebhbfyWGf!s>u!4O*e!o,F!bfnevhmf!Wufbspum5G<b!bGyyGb!b<G1m/p4b!u,!!t*vDcyqjjqycOvXtT+X*O1F/T3F.!)>)!!m>v!nEbyOjXqTcXv!t,!!umbvpnmbGObFbTyFG<!!<G1yQb`bZGUmJpMbBuV!Rm`fBoBhYuGi!T+j!hzo/!Q>O!gggypb!b,R!vzb/mCjtupzqS!d>q!Gzs/bQntfp/qy!<<!1GQy`bZbUCJpMpBmV!Ri`pBsB{YTGq!b+o!!y>/!QfOeghgfpI!p,s!{y!/?C>t!pfqe!h>f!Wyf/sQut<p!qG!y<bQbtGpmqp!b3uu!btpvmcGqbjbyyBG!!><!1tQv`cZqUjJyMOBTVXRF`!B+B!Y3G/!1+!!,z!/tQvOcgqgjpy!O.X!TzX/OCFtTpFq<!!>j!gz)/aOitppsq{!T<q1bQo`*Z!UmJvMnBbVOR!`>B!BmYvGn!b+X!<y!/jQgO)gagipp!s.{!Tyq/bCot*p!qm!v>n!byT/!O>t!pmqv!n<bOFt<p!qj!g3)uibppsm{GTbqbbyoG*!!<m6f/o1h!u+i!TojhhjoT!i>u!hgoyfbmb!R>v,b!mzj/uCztSpdqq!G*sobbnqfT/{zs<p!iG)ygbjb!G<m6p/b1u!!+t!vochqjjTyiCu!h>o!f)mt!v>c,q!jyy/BC!t+p!q)!2*/o1b0q2T3{/s1p*i*a!).g!jm!v<nzb/Nf<n!bGsyGbqbdGSmzpubjum!bhvsRbbebjyfgo!u;O!!1>/!1m!v@n!b*Oo!b.q!Tm{vsnpbiN)<!!>G!yzb/bQGOmgpgbpu!!<hys/bfenjbfsoGuqTd!S>z!umjvmnbbvTR!b.b!ymgv!n;b!N1</!1G!y@b!b*GombpqbTu{!smpvinab)O!O>!!>y!/mQvOngbgOp!!,<!QmOvgngbpN!<3!uGbypbmbGGbmbpybGu!!<mzv/nNbtTpTq!!>>!!mzv/nCbtTp!q,!!<myv/nNbtNp<q!!G>y!byb/CCptppmq!!q<bCjtspOq!!>3!ubbcptm)GhbsbbyeGj!f<o*ufOh*o!b?S>q!dbScytj)qhcsvbte!j+f!o*uCTy*j<q!cGvytb)btGcmbp)buub!ThbsbbyeGj!f>o!uD!y>j!qncbvyt)!bucbtp)mhGsbbbeyjGf!o<uoOh*j-T!ibuchto)fhms.b!e>j!foohujTT*i*u<h!ojfgm)!q*bOjs"],dz.lut=["?$TjWoodfmfvsedfT!u=jcm","~v!o<j*g*pzsunj!tgomfpubouj!!m-v*ubT/jm{bfw<!!-v*oxjwgvp!s-nf!{tjbTnuqvmmf!s-3uEv!mm)vquv<l!pwpfMdu4v!mm)v5udMfpwp!l-vmqb)wt)bynjqnm)f5sd3fEw!!u>f!ys-p!mgpmDphbbus!Gt`jm{hf!-<!*wifude4j!Xsmhfcy*j!q|!!.g!m1p/b2u)!!t+m!jcdhfsI/fmjbhwi!u,!!>*!i2u/e1j!X0m!ftyjj{Qfg<m!bgim)p4bduf!wz!Q>j!yxfwmvI!f4jdhfiwu!!<>f!{2j/T1u!v0m!!)0t!j6{/f1!!+>!!tiju{efj*X<m!fgymjpQbgum!btim!judbfp!m>g!!s<hfc{/jcT!u+v!mt!j0{!f1</!2g!m>p!biuu!ejjoXumffsyqj!q>!!ugbspbmdgu!)<t*mwjVdwf!*-<f!tgvmgpgbjuE!ut)mEj3dffs1v!u>y!ftum!j>d!fm!b.w!!j5oduffws!q|<!!*g)mopjbbun!!defjopuwf!s<ffetJvogugfjsEqu!!>E!3jsofumfqsnqb!t.!!n1s/p6g<j!ogvm!p<bzuu!jttmojfdufo2j!!>u!btpmmjgd!fn1s!p,g!jtojvh!o<)wdVfwo!u3fdsffwe!Jhooujfzssqb*w<!!~g!m<p*b*uq!shfsufofJoePfgsgftufouf!d>)!tdcmbb!n-q2)fsmhqcn/bht!!+-!1tfmmjqdnfbItf)jyhjinu!-o!szvQujfysf!m<Icfhjsh/i*u2!w+v!!1-/y6f-u!)tEm3jfdsfvIufyjfhui!u>!!.2!fzmQqjnybftm!I4fdjfhwi!u<!c+h!s1//*61*w<v!!w-fydf3u!)vEw31f!s>v!uwyffdu3!)>!!s1hfcm/qsn-b!tt!m4jddffw1!!<+*!!tumfjtdgfgIPfojfhfisuh!!,,!!husifhfjofPIgfgdtjfmut!!*+<!!2wffddj3m!tv!w-2s!/>c!hwsf!d)3"],dz.points=["~v!o<jfg{pjsTnu!onjbpuQ5`!mnhp!e>f!mfN{bjuTsujoyj<p!Qvwo!j<g*p{s/no!pnjbuuj5t!pnQpwenf!m.W!j0f!xfNmbbudstj)y!<>!+v!ofj{gjpTsuno!jnpbQu`5m!hq!s*pfkwfjduudjfpqotNsbfuQstjjy)<!!gvjo!j<g*p1s/n2!!n.b!u>5>!!w^j!f4x!N]b^u!s3j!y]<y!jvsoujbgNpospnj!ugdmfpkbpus!qt)d!b>m!ff<w!jvuodjfgqptssnf!Qwtfjd!3m!pvpVcw!P\vgggjtefouf<$!\vv!o<j*g*p1s/n2!!c-pepfmn!svptgftVowbBssus)b5zd<f!wb!u+u!syjjcsvuubfN!mwffedp4n!)q4pdtfjwu!j>p!oo<p!jvuojjtgppQsenm!scppXpwm!!\vv1t!f?D!pSmFpQsQ<J!MbDu`uYsPjCc`vYuBfN!!wgfjd$5\v!!d~p!m<posp<j!uwvbmspztjfosh!!+w!ffd{5j!tw!D>p!mfp{sj<T!uboujupsQj`cmvhu!f|!!wfftdm3f!!b~V!w<Pogpgjtufvum<p!twfbss!z+j!ozhb!swsfBdf3{!jwtP!g>g!tff{uj<T!uvoojjpgQp`smnh!!c|p!p*mz!bqsjsdBlfj{ojhT<f!t\vv$)j!ggejf!g<!oIpJjHuIjMtJpHQIwUn\v!!+v!oyjjgspusbnN!owpfjdu5d!fqkjpdslqD!p>m!posp<j!u\vj$tfpmQt`fm\vh!!b<uoupsjjucjvtupfQ!wwnf!d+5!!yqjjsdulbDNpxmfpjsW<m!f\ve$pfno!e>j!go\vp!jvuojjtgppQswnn!!g<m*p1b/u2!!t-je{ffn<s!pvgotjogbpssun)!5gdmfpwb!u>!!sofptjpumjvtupjQpwon<!!5vdofjwg!p<s*no!pcjpupjmt!pvqt)f4Tdjf{wf!B>s!sebfzn<s!pbgutuosbjscuv!u4fd!fgwm!p~b!u<!*tujf{tfgBgsPswbVzb<)!3wdbfswz!j>o,h!!ugfmtpgbguP!ww!Q|p!j*ozubTsjs{Bfw<V!f\vt$vj)g!!gNjB!Y<`*CuPfYt`gDgMPJwQVQvF)S3!d?f!w1!\v>!!wubfstzgjgoPhw!!w~f!d<4s!pwmXppds!m>e!QspptmjpuDjwp!o|<!!*\vs$pfmopeDjfgt\vv!)w!pgjje!!fntbmjfo!)~*!!<|s!pjmgp!D)lqdjjdql!j>o!hs*p!m|p!Dw","~$!e~f!g<jsopfm!pVDTfFt`vNgBgQj\ve!!v>o!jsgppmspnD!hwbfsdG5`!mehj!g|g!vfttfm<f!!v~o!j<gsppsmnp!Dgwm!p>b!us!ppmqpbDdhjbuszG<`!mvho!j<gepssbnd!tgjmep!b*u1!/b1m!q>i>b!Ubf/tsup<m!pvDofjtgvpgsgnj!ec)p!pgmj!!v|t!f*Dhpomjplsd<j!qw)b!sgzjj!o<he!swbfddt5j!ew!D*pumtpfsU<b!ivqomjbg!p=s!nb!/cspppmmp!Dqfjtdvlgjgojhe<)!!vgojj!g\vpgsjne!ocfp$p\vm!!~e!j<t*dwbvs!e-Tqfbmnf)dEu3bfcsmvfu<y!f\vu$!j>o+d!msvpemfp!D=fctmvpgpgnjTef!m<fudfutjgwgfP/wg!t>/,i!fwbve!?<\vf!mvbodjTgwpvs!n+!!wefsdp3p!DvuwoTjdpbQm`fm<h!!w>b!swzvj!o3hd!fwwf!d|3!!*wfPmgcgbtufduf<m!f\vT$ejsgb!detfjgejao!f}e})!VhToFj`lNdBjQq*a\v)!!vgojj!g\vp*sQnB!Nt`bFnTqVm)fesf3oEj!gnfbeq!<g!j\v$$\vf!o~e!j<g*\vz!uwjbdsbzqjpo!h+!!gbm/pfbtuv!gwgQjpej!o-u{Tzjy{/ff<t!v\vg$gjjge!)N5BdYf`wC!P>Y!`sDpMmJpQDQfFtSv!g?g!j1e\v!!|w!bfstzmjfo!h~!!w<f*dz4u!jwdXbpqspm!e+Q!pbt/jsupjmppoD<w!!\v-${fzoye/jsgp\vm!p\vD$wj)o5ddmfvwe!f>!!=sdpmmjpqDcfptyv/gggtj/ei!f|b!e*?s\vp!mwppDjfet!vn!b%j%o!)h*o!j|l!d\vj$qjao)d!mgvje!f<!s=pdmmpjDqfctpvyg/ggjte/!c5pdefzw?!\v~!!\v<$ejsobddmtvjeef!!|=!c*m/p1p!n>T>f!mff{djuTjuwofj/pgQtw/)c!pgejz!?\v"],dz.bokeh=["?$TjWoodfmfvsedfT!u=jcm","~w!b\vsgzjjeoohf!$w\vf!d<31!/w2V!w><!!bv/osjpgmppsDnh!btsbGn`qmmhf!s\v3BEI!QuMDBp`mFpEsJ<S!SvFoWjPg!pgsfne!gtjb$n\vq!m<f1s/32E5!!u0E!fmqpudi!<>!!vsopjmgppDshnb!sgGm`pmbhu!!<n*b5yscvmmvcsg<p!ev!o+j!g*pusdnf!sgsmppdbuud!fbqttqbf!d+u!<*!5v/o1j!g-p1s/n1!)g3mdpfbwu)!!b,q!fzsyu/vwsVfw<!!-vsopjmgppDsun)!Ec3pfpsmv!uvytffuH!3>e,<!!mvpodj!g<p*s5ns!vgmmcpgbpue!!u+i!s*futdifpsmsep<d!uvdofjqgtpbs!n+!!g*m:p3b/u1!.o!f-b:s3</!1v.o)j3gdpfswn)!!g,m!pzbyu/!wgVbws!<-!svpomjpgDpus)nE!3gfmspvbuuy!fgup!d>v,t!<m!pvdo!j<g*p5ssnv!mgcmgppbeu!!+s!b*ouhdff<s!svpodjugdpfsqnt!bg!m+p!b*u1!/e1f!o-t5j/u1z.<)!3\vd$fjwo)d!m,v!ezfy!/=wqVbwd!l-jsophm?p\vD!uw)pEj3ef!snvbujyof)u*!!>|,!!wmfpdd3!!<e*p5gscvmmvcsg<p!ew!f+d!3*!ubdtfqsfsdpuddupdsfsqftdbu!!+>!!*w:f3d/31)!2-/:13-/!1b.t)q3fddfuw*)<!!,\v!$zjyg/!weVfwg!j-osfpem)pVDTuF)`EE3FfQsUvIu*y\vf!u\v!$>j,g!!mepfdg!j<o*f5es)vVmTcFg`pPeS!U+I!P*`uDdBfNsFsSpBd*u\vd!f\vq$tjbg!!+e!f*g5j/o1f.e!)-V1T/F1`)G3MdPfBwU)`!U,F!YzUyV/SwFV*w\v!!-gsmppmbpuD!uw)jEf3xf[s!v>u!ypfsuu!i>p,h!smbpqdi!j<d*E5fsqvumicUgppWej!f+x![*)uudffysusvpsdfu3dEf)qutEbf!q+u!i*-:!3w/V1w.*!/-s:-3!/o1f)b3sd-f!wg)b!s,*!<z!y\v/$wfVmwt!f-\vs!pgmmppDbuu)!Ew3jffsxv[u!y>f!up!s>u,i!pmhpsdb!q<i*j5dsEvfmqcugipUep!W+j!f*xu[d)fvsosqpbdduldSfHqCtBbU!p+E!f*q1u/i1)!u-f5y/u1v)s3fd3fEw))u!E,f!qzuyi/-w!VwwV!w-*s*p-m!poDfub)sE-3!fgsbvsu*y<f!u\v!$>f,o!emjpgd\v!!<\v*$5fsmvtmfc\vg!p\ve$!j+g!!*eufdgfjsosfped)uVdTfFq`tGbM!P+B!U*`:U3F/Y1U!V-S:F3*/\v1!)g3mdpfbwu)!!w,j!fzxy[/!w>V!wq!f-sstpqmfpdDuuj)wEf3EffsqvuuiyUfpuW!j>f,x![m)pudf!y<u*v8ssfv3mEc)gupEef!q+u!i*-u!dwfVsws*p/dsu-d!foqftbbs!-+!!g*b5s/*1<!!-\v1$/f1m)t3fd\vf!wg)m!p,b!uz!yw/jwfVxw[!!->s!pqmfpsDtuq)fEd3ufjswvfuEyffquu!i>U,p!Wmjpfdx![<)*v8osqvbmdclgSpHeC!B+U!p*Eufdqfusis)pudfuydufvqstfb3!E+)!u*E:f3q/u1i.-!!-w:V3w/*1*.-)!3odffbws)-!!,g!bzsy*/<w!V\vw$!f-osepjmgp\vD!u\v)$Ef3ofesjvgu\vy!fgum!p>b,u!!mgpbdd!u<p*s8!s>v!m)cggppdev!t+!!,*!uwdjffsxs[p*d<u!djfgq!t)bg!b+d!u*p1s/!1=!!-15//11*.!)g3bddfuwp)s!!,>!!znyj/ow)Vgwb!d-usppsm!p,D!us)bEo3hffs-v!u1y/f1u*!<>!,f!mmtpfd!!g<b*d8uspvsm!c>g!pneb!y+)!g*buddufpsss!p.d!usdbfoqhtfb-!!+1!/*1:*3</!1g!b-d:u3p/s1!.>)!32d/f1w!).!!,f!yzqy)/.weVfwo!t-jsupzm!p+D!ue)fEo3tfjsuvzu!y+f!ug!b>d,u!pmsp!d+!!<g*b8dsuvpmsc*g<p!ee!p+g!c*muvdsf!s>s!pwdfudd3f!q)tdbm!b+n!q*)5g/b1d.u!p-s1-/!1.)n3bdyfcwm)v!s,-!!znyb/ywcVmwv!s-*s*p<m!p\vD$uf)mEt3ff\vs!vwufydf5u!!u>f,y!fmmp!d>!!<u*f8ysuvvmscfg3pEe)!u+E!f*quudif-s!swpfddu3d)fwqVtwb/!y+-!!*2:/31/!1..!!w-V:w3//z1*)*3<d!fgwm)p!b,u!!zbym/qwiVbw<!!-jsgp!m)pvDtuf)HE33ef*s!v|u!ybfmuq!i>b,!!>m!ptdn!p<p*u8istvumfcqg)puei!s+f!t*iupdmfes-s!pudiusdfftqitpbm!e+!!,*!11//11!2--1!5u/f1y)f3md/fbw*)<!!,~!!zfym/twfV!w|!!-bsmpqmipbD!u>)!Eu3ffysfvmu/ybf<u!!~>!,e!pmgpcdm!v<s*!8>s!vwmfcdg3p!e)!d+m!b*nuqd)fbsmsqpidbu!d+f!qbtqbf!s+u!v*s:f3-/!1.!n-b:y3c/m1v)s3-d!fnwb)y!c,m!vzsy*/*w<V!w\v!$-fsopemjpgD\vu!)wEf3df3s!veupygfcum!v>s,:!!m>p!de!p<g*c:msvvsm!c+g!p1e/!:+<!!*wufddf3s!seppdgucdmfvqst8b!!>+!!e*p8g4c/m1v.s!!-+6!21//18)<3!dwffwd)3!!,e!pzgyc/mwvVsw5!!->s!pemppgDcum)vEs3!f+s!v1u/y5f<u!!w>f,d!5m!pddp!m<!*>:!swvfmdc5g)p1e/!1+*!<*!uddpfms!s,p>d!uudffyqutvbs!f+3!E*)6u2D/p1m.p!s--8!4w/V1w./)y3zd*f<w!)d!p,m!!z,y>/!wuVfwy!u-vsspfm3pED)uu)DEp3mfpssv-u!ywfVuw!/>y,z!!m,p!d)!w<f*d:3s)v1m/c1g-p!e1!/+5!**!u+d!fbstsqpfdduuddfpqstsbf!d+u!**!6+2!/e1p!g-c8m4v/s1*)<3!ddfpwm)!!,,>!!zuyf/ywuVvws!f-3sEp)mupDDpum)pEs3-f!swvVuwy/fyuz!!>,,!!)mwpfdd!3<)*1:/s2v6m-c!g1p/e4!8+*!!*+u!dbftsqsfpdduuddpfsqstfbd!u+*!!*+8!4e/p1g!c-m6v2s/*1<.!)d3pdmf!w,)>!!,u!fzyyu/vwsVfw3!E-)supDmppmDpus)-E!3wfVswv/uyyzf!u,!!>),w!fmdp3d)!1</*3::s-v!m1c/g3p:e*!!++!!*butdqffsdsupddpusdsffqdtub*!!++!!*e8p4g/c1m.v!s-*6<2!/d1p.m)!3,d>f!wu)f!y,u!vzsyf/3wEV)wu!D-psmppmsp-D!uw)VEw3/fyszv!u,y!f)uw!f>d,3!)m.p1d/!4<8*-:!s1v/m2c6g*p!e+!!+b!t*qufddfusdsppsdsufddfuq*t!b+!!+e!p*g6c2m/v1s.*!<-!8d4p/m1!),3>d!fuwf)y!u,v!szfy3/Ew)VuwD!p-msppsm-p!DwuV)wE/3yfzs!v,u!y)fwuf!d>3,)!1m/p5d1!-<!*1:/s1v*m!c+g!pbet!q+f!d*uuddpfssssfpdduu*d!f+q!tebp!g+c!m*v6s2*/<1!!d-p8m4!/,1>.!)u3fdyfuwv)s!f,3!Ez)yu/DwpVmwp!s--s!pwmVpwD/uy)zE!3,f!s)vwufydf3u)!1>/,4!8m-p!d.!1</*2:6s*v!m+c!gbpteq!f+d!u*dupdsfssfsdpud*u!d+f!qetpbg!c+m!v*s8*4</!1d!p-m6!2,/>1!)u3fdyfuwv)s!f,3!Ez)yu/DwpVmwp!s--s!pwmVpwD/uy)zE!3,f!s)vwufydf3u)!1>/,3!:m-p!d.!1</*3s:v*m!c+g!pbet!q+f!d*uuddpfssssfpdduu*d!f+q!tebp!g+c!m*v8s4*/<1!.d!p-m6!2,/>1!)u3fdyfuwv)s!f,3!Ez)yu/DwpVmwp!s--s!pwmVpwD/uy)zE!3,f!s)vwufydf3u)!.>1,/!2m6p-d!!.<1*/s4v8m*c!g+p!eb!t+q!f*duuddfpsssspfdduud*f!q+t!be!p+g!c*m:v3s/*1<.!!d-p:m3!/,1>.!)u3fdyfuwv)s!f,3!Ez)yu/DwpVmwp!s--s!pwmVpwD/uy)zE!3,f!s)vwufydf3u)!1>/,1!-m!p.d1!/<5**s!v+m!cbgtpqef!d+u!d*pusdsffsdsup*d!u+d!feqptgbc!m+v!s**6<2!/d1p.m!!-,8>4!/u1f.y)u3vdsffw3)E!),u!Dzpym/pwsV-w!!w-Vswp/mypzD!u,)!E)3wffsdv3u)y.f1u/!2>6,-!!m1p/d4!8<**!s+v!mbctgqpfed!u+d!p*susdffdsus*p!d+u!defpqgtcbm!v+s!**<1!/d1p!m-!5,/>1!.u)f3ydufvws)f!3,E!)zuyD/pwmVpws!--!swpVmwp/Dyuz)!E,3!f)swvfudy3f)u.!1>/,3!:m-p!d1!/<3*:s*v!m+c!gbpteq!f+d!u*dupdsfssfsdpud*u!d+f!qetpbg!c+m!v*s6*2</!1d!p-m8!4,/>1!)u3fdyfuwv)s!f,3!Ez)yu/DwpVmwp!s-"],dz.ssao=["?$TjWoodfmfvsedfT!u=jcm","g0j0e!oifj$o\vu!t~;!!~h!m<t*ms4p\vm!p\vD$hjbosdGm`vmehf)!C=HdSptnpnUpsob?f\vo!j\vM$!j>o!dsmpvmepfD!h=bqsbGd`lmjho!h|?!\v*!ovpojjugdpfssns!piDjbhninqb!ht)b!ngqjm!f~s!3~E!!<t*dbf/omffEyffqUufio<f!dvto!j-g*ppsBnm!bwofjdg3!!.s!f1t/p2m!v-uejfpjom<q!qvBopjbg!p-s*n1!/g2m)p4bduf!wo)fybjsn<!!)v5odjfgwp!s>n!!sgpmmppbDuh!bgsbGs`<m!hv!o|j!gfptsmnf!!n~b!u<5*!1q/s2p)k5fddfuwj!p>o!NsbpumspjDyhJboswG<`!mvho!j|g!p*syn/!onpbjuu5v!mwpjtffxsN!b0u!s1j/y2J!o=w!<*!6v/o1j!g.p!syn/!wcVpwp)mt!cpbs)u!igpj<!!fwtbmsfz!j~o!h<!*wbf/dm3f!ywfVUwf<o!fidjth!i-qc!hgsm/pmbfuy!fmUjfooffbdstj!{)f5`deffwq!u>i!)sipjmhpiDqh!bgsmGp`bmuh!!e|-!!*i6j/h1i!q=!!gym/pwbVuw!){!Ogfjb!s|-!i*j1h/i5q!!>g>m!pfbeup!N{sGfbeso*f!s|)!!sgfju!vfstom!f)!{~G!b~s!!<+*!b{/Omffbysf*U!f0o!f)d{tG!b-s*!p.B!meb!o+j!g)!{.G!b1s/!2.!!-{eOffjbmsq*q*B<p!b~!!-icjhhsi/qm!fgymfpUbfuo!fmdjto)fybjsnj!{)f5`deffwq!u>i!`sppsmupiDph)bisjGh`imqh!!g|m!pfbtum!fe!-~!!i<j*h1i/q2!)g5mdpfbwu!!>o!fsbpsm[p-D!hibjshGi`qm!hg!m|p!b*uy!/gobpsj[u*v!m|p!tsffsu!v0s!o1!/o2f!b=s![*!6,/!1)!g.b!sy[/!w.V!wo)ftbcsb[)*!!g+j!!ef<t!m~f!!i~j!h<i*qb!/gmmfpybfuU!fmojfodftb!s-jc{hfs`/emffqyufiU`fmopfhd)ti!j)h5idqf!wg!m>p!bsup!mep-D!hibjshGi`qm!hg!m|p!b*u6!/o1f!b=s![y-/iwjVhwi)q!!ggjm!p|b!u*!1g/b4s![>*>!!|f!egpmNpsbfue!oeffsq)u!ig!j>!!fqtpmxf)!3~/!1<-*!be/!m+f!ymfpUhf3o)fgdbts![-!c,h!s2//m1f*y*f!U.f!o2f/d1t<!!)g5mdpfbwu!!>b!!s>p!mgpbDsh[b!s0G!`)mghb!s|[!!*.1!/o3f!b>s>[!*f<e!pgNmspfbeuo!fcs!)>!!ggjb!sf[t!m+f!!o~f!b<s*[b!/0m!f)yoffUbfso[f!d.t!!g-b*sp[B*m<b!ogjmgp!b.u!!1m/j2o!E-feqfujim!q>q!Bbp!b,!!-c*!10/!2e)f4qdufiw<)!ysjfnu!v)s5od!fpws!u>i!ps!p@m!pmDjhobfsbGs`jm{hf!`|e!f*q1u/i2`!p>s>u!ifpe)p!NmsjfoeEoffqsu)i!-g!jo!ffbtsm[f-!!~g!b<s*[b!/*m!f;ymfjUoffobfsdjt{!f-`*epfBqmubio)jmgj!o.E!f1q/u2i!--!eoffjbmsq[q-B!pgbb!s-[c*h<s!/~m!fwyffdU4f!ohffdutX)pysjmne!Q)p5tdMfpwh!)>w!fsdp4m!pqDphtbTs*G!`|m!hw!f|d!3*!1v/w1!!>>!>q!pfteTp/Nyszf<e!ogfmsp)b!ug!j{!!<>*!*qzpmtqTj/u{m<v!Ngsmppmbpud!)oufbbpsm[g!!>-ocfhbss/<m!fgymfpUbfuo!fgdbts![-!*>1!/g2b)s4<d!fgwm)pybjun!!e+f!qsupim!p>d!!q>p!xe)f3j/m1q-q!B{p!b+!!4mdpfhw3!)<g*bssp[u!d,b!G2h/p1g*!*-!1./!22!/-1p<B!mgbmopjbgu)!ybj!n>!!>g!bpsB[m!b0o!j)gg!b~s![<!*.s!poufdbbsG[u*o<f!ngumtpvbkue!bc!!->1!/g2b!s-[p!B+m!boofjbgs)[y!j0n!!)>o!fpbBsm[b!o.j!gg!b<s*[o*P<s!pgumdpbbGuu!omfjnouEtfvqkueib!!>-!gbg!P,s!pcu!d0b!Geufoqfuniu<t!vwkfedb5)!ydbmnj!q>W!fsdp!u>d!bwGfudo5f)nvuwt-v!kmejbo!Eufbqpumig-!!<2*/!11*/!1+!!;3!/11/!2.!!@2!/s1/<*!wwVfwd!5-!ixuqqpftE!f>o!fqdstp)kEf3dfusjvpuoyNfbuu!s>j>y!Jso/w*!w+V!wd!m-jiquWqffdE<f!vssfUuXvEszod!oxfqspbtq/tyozb{s!u0)!Ex3qfpstv/uxy<f!u~!!)w!f+d!4*!ohPfXuEXzpdsomfesQbpqtt)ogbmspub!u.!!e1f/q2u)i!->!!wofPds3p!uddpbpGsueo*f!n|u!t\vv$kjegbe!fugb!pMmPgH!E<FgQgUPIX\vE!zsdfoufvssboq!thofbusXup!s>m!egQgpPtsMppuhd)bwGfudo4f)nduptpvskee-b!!eufbqpumig*!*<<b!/\v*$wfVowe!j-gf\vv!sgUmXpEbzud!o{f!s>b!qetfoqbusiu!)+E!33f/s1v!u.y!f2u/!1><!!owPfXdE5z!ddomfjsqbTqqtbodbfsQup!tujbupjmpgo!!<>b!/w*fwdV5w)!d-pfptsmeb!G+X!E3z/d1o!f.s!b2q/t1o-b!s{u-)!E23/f1s*v<u!ywffud!5>!!wgjgfPxXTEqzbddoffQspbtqjtuojbpsou!!>u!bqpsmpgk!f|d!u*jfpsobNxbBuzsdjoyfJsobwq!t+o!bdsmuj)q!Tgqjb!d~f!Q~p!t<j*u!jipuoq<f!Ewhfpdg5!!-xspbsGmhepTgq!b-dsfbQfpOthjpugj!p)oq!f>u!twijufpxpTnqtb!d>f!QspptujdubjGphop<g!!x|p!sfmtemTfq!b~d!f<Q*p!tijuuqjfpEoh/pygz!{+!!0i>u!qxfpEshmpegT!q+b!dzfuQjpttojfuEjhppog/!x+<!!zsufjutvosfoE!hxppgs!m.e!T)qqbydff!Q.p!t1j/u2j!p>o!/sypzu{d<b!G~h!pwgf!d|4!!*dqpynFqhvpugf)O!pgsjn!b|m!)*whfpdg4)!!xgpjs!m<e*Q!p*tw-V!ww!f-di3u!qwfVew)*t!p|Q!ejmwsfpdX3u!fqh!!>-!tjpwQfbds3f)nwbVdw!!)+f!dsofbtuptmjveu!j>p!oi*u<q!fgEmhppbgu!!udb1p!m>g!!u<fsypfumdGbfGuhdpig)!tudbfpomfgE!f<q*uziu-j!tqo-f!u1o*j/!y-<s!/gmmfpybfuu!)mx3p!q>!!>u!fpyBfmmbGofjugd!iu)btpdmfgo!f\vEgfjqeuoif-$!\vq!!~.!!<j1w/f2d!3>)!3s-/!m1f*y-f!u1!*|/!y*<1!/g1m!p>b>u!!sm/2m!f>y!fuuf)y!fgmjG!f<u*d1i/)2t!d-f1o/f1E!f-qsu/im-f!yqf!u.)!qjnwbfmdd3!)>2!-s!/1m*f-y!f1u*!/\vyI<U!QgFmEpHbPuM!!sg2f!e>g!ju$f\vy!f\vmgGjfeuodfi$)\vt!d<f*owfVEwf!q-ufit-v!gqg!j,E!uj)wEf3df3s)v2u-y!f1u*!->!!1m*f/yyf<u!!g5mdpfbwu!!\vsf3t!m>f!$u\vf!y~f!m~G!f<uudiih)jtfdXfmobfuEpfuq!u>i0-!!mqf!y,f!uj!w|f!df3t)m3f-!!~1!*<-*!w1V*w/!y-<f!tgvmgpgbjuE!uc)3E!3>f!suvfuyyffmuG!f>u!dmif)ytfduf!o|f!E*f1q/u1i!->!>q!!u.i!hjjwffXdm3b)u1p-u!)3!*g-j!!1~*!/~y!<<!ugimhpjbfux!!c+2!!p>g!ouJffymfqmnGbftu!d>i,)!tmdffyoffuE!f<quuiih-j!fqx!!.>!,j!wufidh3j)f1X-m!b2u*p-u!!1<*l/dyf<i!Dgfmhpobbus!!u>2!!u>i!hujffyxf!muGbfpumdgi!)<t*d1f/o1f!E-f*qfumiq-n!bqT!m,b!njswpfod!3-)m1b-n!s2p*o-)!u1p*e/)yy<b!ng!m+p!b*u*!fut3V!p>U!gugfpymfmmbGGffuddoib)uttdjfeo!f0E!f1q/u2i)-!!+q!!u,t!jjEwffodb3m)Q1u-o!f3h*o-b!u1!*+/!y1</!2g.m)pqbyuf!!e>m!!l>d!fbicDtf)h)o3b/s1!!u+b!pmm2g!!.<!*m*3m*b!n.s!pdo1!*-<t!pgQmepmbsup!xe!s.!!>f!mbqcntb)T)t3p/Q1e!m+s!psx2)!u.p!es)3t*c!b.!!>d!1u*t<j!EgfmopbbmuQ!ueocf!h>o!bbuc!tu)b)p3m/g1!!<+*!wcV2q!!.-!icu3q*f!E.f!mdq1n*b<t!)gtmppQbeum!sepuX!u>f!hb!c>t!)f)m3q/n1b!T+t!puQ2e!m.s!pux3!*4!d.f!wd!1<*1</!2w!f.d!41!/d3f!!+>!!bhcfhu/XppgsomJefQmpqtn)bdt1!->!!wfVmwq*n/byTzm{b<n!swpfod!44!defqwe!y<!*>1!!)-eqm!!-=f!tevsg*g!j@E!ud)fi!d.u!fhGfmufXypfsum!e>Q!pptg)omJ2f-m!q)nwbVtw!!5.d!fwwf!d<3y)/2*/11!!-0q!-sifutqpfmEveufjmpqon/byt-o!x1p/e1)*i*d*u/fyGzm{f!y;f!u.!d>f!!i,u!qhffEufXmpqsnmbetQ!putb)psm2g-!!<)*w6V/w1!!,+!!wofpdj3u)v2m/p1t!f0s!)s!f0t!p*mqv)u3jdpfow/!y>-!!w1V/q1!*3*d*f/wy!z<{*<!!uwfftdg4g!pe!q,e!z*!6>/!1)!e+c!!o=p!jeuuv*m!p@t!fdsf!!+.!!whVfwu)X!p)s3mdefQwpjt!)>c!2q-!!3)dwfVwwj!!.<!*wzf!d-3y))13/d1f-w!!2>/!1u!f0t!gsgfpt!p3mdvfuwj!p|o!/*z,*,*z*!/<y1z/{2!!;>!=.!dzf!!<,1!/h2f.u!X>p!szm!euQbpptm)gu)2s-p!g)!w|V!w*!,,,!yw!f<d13/)21!/>1=-!!y2!/<11!/02!.s!f>t!pym!vuubjppmog/)zs*p*g*!/<ygzg{p<m!msbfGufvdsoob!uotpjsen!b;m!jg{gfp)mdmsbpGtftd)oebquetyj-e!!e+q!efzt*V*p<U!t~v!j\ve$bjsg!e@f!gt!vFjGeGbFSDfUd`bTqITBoEfFfSs\vd!tv>o!jfgtpVspnU!gigjphmimqb!Gtfbdnoqbmuftsj3eE!!utbdpfmogf!O<ptsvnjbemb<s!!v;o!j*g!p*sonp!jnubvum5p!tqfssp!k0N!b*u1</!1v!o-jtgvpjsenb!sn)b3ud5f!ww!j,f!xwNVbwu!<-!ivuoqjfgep)stnp!Qnebmus5p!Xqusfphk!W-jtfpxQNebmus<p!xv!o)jfgdposbnu!twjfed!4@!!dtbvnjfesbbSQfpdtb<q!Tvoofjfgspdstn!!>g!mfptbVup!Uutjvnjfe<b!sv!oujbgppmsgn!!<w1f/d14!]>T!BuNiQhMjFfTX^m!btubpnuq!mufbtp<m!gv!o<j*gwpVswn!!-g*mwpVbwu!!-sibueqjfvet)<t!pvQoejmgsppsXnu!fghm)pmbbun!sepjOtfuubvoqdnfpGdb!m>m!pmgbgn<s!pvoo!j4gdpfswn!!<g*mwpVbwu!!-gisubqnffe<)!tvpoQjegmpsspnX!ucfphp!m>!!ttdpsQfefmosTpqxb!d4fdSfbwe!j|v!tf<t!mvfo!j~g!p<s*n1!/t2b!n-q1m/f1s!3-E1!/c1m!v-f1O/p1j)t5fd<f!wn!b>u!4m!fnybfluf!S|p!u*b1u/j2p!o>[>)!gimupqbfue!)u!igfju!b<*m!f|y!fgum!p5bduf!wd!!\v>T!FdSpGtM)BuIi!fgufbe*g<j!$g\vm!p<byu/!*t!!w>V!wt!j-oi)uuqiffEufbo*f<d!ts!f)uEv3sfos!vnubyuf4u)!d>-!!i.u!qtf-e!!1u-b!ptm-g!!d<-*!w1V-w!!1--f!t1v-g!g2j*E<f!o~f!dwtp)jEe3!fnsbvjuoy)f*u!!|>!!gmmfpybfuU!feoffqduti!!5>d!fuwf!y|u!v*s)fo3jEb)nt!defjopfwE!f~q!u<i*-!!bw/Vfwv*m/byw<!!-j*g!!*)!e*f!q*u!i9!1>4>2!421/11/*1!!|)!4hdmf`wG!s-bchhDsp/mfpvsm!b>w!!w)fmdb5v)rwFfodb4i)U2t/t1f*m-!!)24/d1f*w<!!-s3f:u/v3s2o!<+!!~c!hwsf/df4v!mxbpws!m-e*Q!p6t6!1>/!1h!f)u4Xdpfswm!e.Q!p6t6)1e/f2q!u+i!-*!!w*V!w7*7<7!2\v5$/j1g!e)f4gd!fIwB!M-GcShFsT/\vf!vwmfbdw4!!)oxppsqn!b)my!j>n!!u)f5ydufvws!fo3sEv)utfdsf!o|f!O*p!sfnvbmmb-w!!w5Vdwf*w/!sohjc!<)!C\vH$SftmptUfs\vb!fwofjdM4!!5odpfswn!b<mt!p>Q!bdspfnnqbvdu!f4Odpfswn!bnms)pxgpjsomve!Q<pgtg-p!mwmVbwG*f<d!o\vb$uftojeej!gu\vb!pwmfgd!5n!soppgjjtofv!!><!tuvfjyeubvss!fu3bEp)mcgm!vnfsOppgjjtofv-!!<hsmb`GGhspbgh!Dupbppsmeg/!ynzs!p0g!j2o3v9!/<1s*b<f!Owhfpdg3!!uibbpsmngp!onjsppvgtjOovvn!c<fzsutj!t>o!fwEfhdp3g)!!u2b/p7m2g9!1n4s4p:g9j9o8v5!:<9f:s6b-x!B2z/d4o3f5s8b2q8t:o6b8s3u5!5m8p5p7c!!*n<s!pogpjjotvf!/<szhm!q,j>u!mivbNssnppmopjdp!vmtpOpvcn!cnfssptg!j+o!vg!s<bqnyfF<h!pogp!jmtpfp/cs!hn!s>p!ggjsobvd!u<)hoppgj!tmfp/psch!*n<s!pwgfjdo4v!!i<ftmvqjfesbWSffdd!b>q!Twoffdf4s)d1t/!1m-p!p2c/!1n-s!p1g/j1o*v<!!<jogp!j)uedpfus)sipfDmbqnfnsbWhf!dm-p!pocp!snnsbpmg*j!o?v!!1</f:e:p*N!s|f!eioffmsq!fusbWpfmdg!!>n!swpfgdj4o)v2!/<1z-u!j1t/o1f-u!o1j/!1u*b<p!m~g!!wnfsdp4g!juobvo!h<fsopum!p>d!!o4pdsfnwb!mnjs{pfg)jdosvp!t<tf)tijfpmOqffvsmWcf!dE-3!sofpmsqnnbbmt*!*n<s!pwgfjdo4v!!c<jfutbvoghgfjoEuu!!>E!3dssfpmtqtn)botp!snnsbpmg-j!ouvb!o<hifuoquf*E<f!vnsbUuX4E!zudcoof!s>b!qntboub4s)uu!bEo3hsffomuq-n!bctj!uqbiohhjfio!un-s!pogpjsonvb!m<*f!v+s!UnXbElzfdSopfusbbuqjtpoob[s)uo!pEj3tsff/msq!n+b!t3!/q1i!h+j!i4!/n2s5p2g6j:o7v3!*<!f<t!mgbmGpXbEuz!dpodfdsmbvqetfoeb!s>u!!1E/31s<f!mgqmnpbbtu!!quiphujbim!Xnfsjphgijuo!v>!!<1i/u1q<f!Egemfpmbqun!bstboexjpvet!UEp3Vstffm!q>n!bttd!sqfifhojTiq!bndsfpSgbjeojvv!t<!f@t!vegjgtjuEbfoodffd)t!!xEp3ssmfemQqpntb-t!!hnfsupXgpjsomve!Q\vpStF)UeJfTqPuQiN-P!Dw`VUwD!F,G!GwFf!dg3f)esgbje$j\vv!t\v-g!j1e/o1f*$!\v0!!~s!f<t*pmmbvnusjppoo!*+!!*6!/;1!!s,b!e6j/v1t!<-!ogpmjptbvum!dedjpt)u5bdofdwf!G>b!msmppmgpgDUhpbVstGf`!m>ht!d\vsgfjfeooTfq$b\vd!f~S!b<e1j/v2t!!>@!!ospbjetjvvmtdUdppV!t|f!!*+1!/e1j!t>u>b!oodpfjGtbvmmmdpdgpg)!!;g!js!b<e*j1v/t2U!p-V1t/f1!!+-!oepjjttuvbmodddfpG)bqmnmbpmgdg!!>+!!o1p/j3t<v!mgdmdppb!u\v!IcUjQbFtE!H>P!M)!ngjfoe)g!j1$/\v2!-~!!e<jutouvbpodd!f>G0b!momppjgtgvUmpdVdtpf!!|+!!*11//21!!*?!!0u!oovfpbds)*!!g+j!!g~x!j<eludif)ieDjfthuobbosd!f>),x!pusomvepQdp!t<-l!ddfbinDffshboQbpst!*+*!!f0m!qsnbbeTjdvdtpU!p>V,t!fo<p!jgtmvpmbdud!pq!i<j*!*>d!d2P/f7t2b9c1!4.4!:f9m9q8n6b<T!dgdmpp)btuc!bp!g.g!t1f/u2N)p!w+f!!*>1!/11/!1-<*!fgmmqpnbbuT!mpbgngstpfou!N-pmwbfnJsopwo!)>u!p2e/)1y!b0n!!G+T!B*N*QfMtFVTp<U!gggppsm)mgbmGpfbduo!bju!t>j!e1!/01!<1!/j2!)=!!+G!TuBtNjQEMfFoTb<m!Qju,o,f*h!o|b!uw!f+d!41!/t2b.n)qqmyffE;j!s1f/d1u!j@p!o1!/>2!!u>c>o!!f+m!qtnbbnTqem!f>t!]ljdofui)Djf*h^o<b!sg!mupbbpum!gn!p<w*f*Bmnbun!s>p!og!s-btdpuQ)eompsjptxf!/.h!!f,m!qpngbgTttfpuQNepmwsfp*x<)!uppgeg)ttfcubN!p>w!fu!t,j>E!fpogbgmtQfuuoNfphwofbJuo!wu<b!pwmfgd!4<!*tubfntqgmgfpQ!p,t!!w>v!!x-pfsmmqenQbpTte!),t!psQbeemjsvptXUupfVht!f>!!+f!mnqpnwbfTBtnpuQ!e+m!stpbxn!q4mdffEwj!s<fyd/u*jupfot<g!gwpf!d,5!!wpvg!g-tifuuq!f>E!fqosfpdktN)bEu3!f+s!vwufydf5u)!t>b!nfqmmqfnQbpTte-!!u2b/p1m*g<!!<p1g/g2t!f.u!/1y/z3{!!+0!>b!cphg/gftmfqun/bxT<b!upbgeg!t>f!uf/myqzn{b!T>m!bpngsgptof!u4/dyfzw{!!<+s!/1f/m6q!n,b!T1b/u6b<e!!w>f!df3m!qenjbgTgd!d>p!!humb`pGmsgb!h<D*pupfsteg/gypz!!,.!!wgvm!p-pfst)vpggggjtEfuu)/Ey3zf!s+v!usyfftup!m>v!ufjmpqon*b<T!bwufbde3!!5ddmfjwq!S<bfo{hjftD!i+f!dfl{!j>T!mtfuyffqu)!w+f!d*3^)j1]/l1t*j-Epogpgtttfjup/qy!z+*!!y+j!stuubfNqo)ppjgugbtufpus/)y!z>-!!uwfftdg3g)p2!/31d*f*w<!!|g!m*p,b,uj!!t<bTnFqMmQfNEBfTq`uNiV!O>!!=u!fjy!u<v1s!f>M!pje!)utodjf)osfpEgf!q<u3i/-1!!p+g!ggtgfpum/mybzG-f!d1o/b1u*t/jye<!!+\v!$fjtgVepfUgt!vMjPeHbEsF!Q;U!Ig\vg!pgmmmpbbGuf!deojbtuutTjben!q+m!ff!t>V!pmUjtovfjbesbjs{!f@`!etfvqjueib`Smfpdhb)qtTbonfqfmsfdEtf>q!ufit-V!poUfgbgsp-m!mgbbGsf*d<o!b\vu$tfjmet!fu\vb!pgmmgp!b<ut!vejjetbuSTebmnsqpmxf!!;>!!*p!s*uoippj!u@v!mmpjtoffsb!s0j!{*f1`/e1f!q-utiv`jpesbuSiepm)stpbxn)q3mdffEwf!q,u!iw-V!wo!f-bes)-t!pgQbesm*s!p;X!umfjho!f-btspjQ{efm`sepfxq!u)if)dtobbnuqtmjfeE!f@q!utiv-j!eobfSbfsd-b!qgTbosf*f<s!d\vt$!f>o!efjtgV\vp!Ugtmvpjbeub!se!jutbupXmpgs!m<e*!*>f!mphsoubi)pt!p@d!!m-j*offmbhsojb{)fo`jetf!q-u*if`mphsoubi)po)jptg.g!t-f*uf/m{h-o!bo)ftbpsd-)!3gubbsn*!!>;!!ymjjsoufbbNsojp{jfu`beufpqsu!i3)upbgng!t~f!u</3{J-Q!!o+f!bxs/-*!1g/b9s3*2<!!0g!mzpyb/ue!sspbpoDhhfbDsiGf`dmlh!!>-!fetjjtpuOTfbvnmqcm)fE!3>f>s!veujytfuuX!p>s!mfem!h@o!b1!/|1!!f;t!mtfn!p~p!u<i3tJuQf!q+)!1{//1*-1!/29/312-!!0e!jztyu/beosdpfpGDbhmbmspGg`gmUhp!V-tfft!j0p!O)fbvcmtc))eEj3tfusTvbunyqfmuf!!>.!!femjhtoubX!p|s!m*e1*/*3*!<>!>g!mypfbeuo!jt)b!ngqjm!ffWtbmmfj!e~!!><!3)JdQm!j+q!Szb/o*h1f/D9i3f2d!l0/!yz!y+/!edsmpjpqDShbboshGf`Dmihf!d-lf/tzj*p<O!fpvdmdcm)vEe3ffes!v,u>y!fsub!o>h!ffDmihfodbl!!|+!!*g1m/p2b!u>)>t!bynfqemofjE)f!qguji!!fat>m!fe!f~q!u<i3*J!Q+!!+g!myp/b*u1)/e9j3t2u!T0b!nzqym/fe!s,p!pcDjhbbts!G=`!mehj!t-ufXtpjspmOef*v!m+c!)tEu3ffqs)v!u2y/f1u-!!>e!pfum)heojbg!g|-!!*e1j/g1g!*>!>*!!y+f!etobjn)q!mgfjW!b<mfjmeh<o!bu!puubbpmmXgf!j<htivuj!e,b>s!!t>b!nfq{mjftW!bumbjpem<g!!~<!*gwmVpwb!u-!ep)dtdp!Q>e!mdsmpbXnuqf)h2!/>1!!t.p!Qpedmdsmpvxe!f4ed!f0w!!)~u!p<uobsmvXuffjsh!i<ub!u>b>e!!1>/!1s!p@m!p2D/h1b!s;G!`umphu!b|m!X*f1j/h2i!u>*>-!!e1)/!1g-j!!2</y1/**<w!Vhwm!`-GisubqhfDEpfmopfsd!t>)!Ew3ffds5v)upydfdu-!!>1!/e6!!u,b!p1m/g6!!<+1!/o2p!s>n!bumo*v<p!d~!!u\vb$pfmoge!j<g1\v/!2\v!$.j!g1e/f3g!!+Q!PbJcThT/JbPuOb`eC!M>V!Sm\vb!nvsopjog!p4sdnf!wt!b<nsq/mbfusb3eE!!>u!EdjdgPgfvttbfc<!!uvbopjmggp!s<ns!/tbbunbqem!f>s!3oEp!jctmvvmfdOdppj!tufb<p!mvgo!j<g*pwsVnw!!g-mfptbvug!gsjbEeuj)vEt3<f!svvoujygfpus!n>!!gbmupbbeu!!5xdpfswm!e<SwbVewj!v>t!<w!vv!o3jdgfpws!n<!*gzm/pobpuj!ujvomepftyf<s!!v0o!j1g/p2s!n-!yg/moppbjuu!vemjpttufbso!d0f!G1b/m2m)p3gdgf<w!!v>o!jfg{pjsTnm!fcypfpum!!3tddfswf!f<o:T6q2b5d2f/S4b!e>j!vjtq<!!uvbopjmggp!sunt!owpfdd!3|!!q*p)jotjtbpno!Eejjtplw]!O<V^NT`FTMBQN"],dz.glitch=["?$TjWoodfmfvsedfT!u=jcm","~v!o~j!g<p*swnV!wj!o-uf!hcbznqj<)!!vEo3jfgspvsuny!ftub>nsqpmmfpsD3hEb!sjGn`bmhhf!<|!!vfotjmgfp!s~n!!<txbpnoqtm!f,ss3pEm!puDEhjbtsqG<`!mvho!j>g!psspnm!pgDmhpbbsuG!`bmnhp!v<o*u3</!1v+o*j*g/p1s6n+!egfmfptb!u+!!btozh-meff<f!tv!o+j!gtpys)n3!dgfmwp)beuo!btsf)f5ed<f!wv+oujogvppsnnb!+g/m1p1b3u!!>t!fxfpeo`ty!<5!dvfowj!g<p*sbn/!bghmdp!b-uc!/tcfdf!e-`hz/<b!hvdo!j-gsp/ssnd!)g5mdpfbwu!!>e!jstpumppsDuhjbpsoG``ym<h!!v<o*jugfptsgng!pg!m.p!bqu!!-efjhtbunpjs)uEj3pfos`vzu<y!fvuo!j>g!pcsdn!!5gdmfpwb!u<!*dqp!m-`fth<b!nwjb)sEz3jfoshv!uwyffdu3!!>w!Vbwh<d!!d5pdoftwu!!<g*mupfbtug!gVpo!q,b!dql!E-pfxhobtndjb)mEf3!f>s!v3u6y6f/u!!0>!!3s6d7!/5<d!fdwp!o<t*u*!fwmfhdo4b!)Qobjdtl!G-b*dfumphsotb!)>t!pwdf)d34d)f3w6!7+/!!u+o!v3p6n7b/!!>+!!u3f6t7g/g-p!!336d7f/w!!+<!*3/6670/e-f!f3t6)7+/z*`<e!fdfpto+tmub!nwsfpdo5>!,Vzo/qqb!d<l*G/b6d0uepfsftt!)>+!yV`oeqfbfdtl+Empbxnostpdob>m,fy!/0q!!w~f!d~5!)<Q*byd`loGpbjduusppsutt-j!e2!/,*!<y!/gqm)p!b.u!!/v2o!q>b!dyl/SqH!C|B!UfptEmffq!u~i!)<dyp`ootpuj!ujsop!uwtfjde5>!yw/*q!!||!*s/f1u?vzs`oe!fefptu))gwj-!!|V!o*qebfdfltG+btd`umppsdt.*z<`!o~p!jgumsppbuut!jseb?oye/)qw!f%d%3!!td`pm*p|d!,szf`uovpsjou!sgpsubtdjue)=tyj/oq))egpju!)~d!p~/!y<zz!`-owpfjdu3s)p2u3t/j:e9!:>9!-z8/9q/!3|4!4f*t*m*f!!+~!!5<4*8z6`9o/p6j5u6s4p*u<t!j~e!!w,p!jze/!qn)b!j.o!)/*2!!|>!!jzg/!q)!c|z*q/=12?*y!`|e!fwfftd)3g!jq!!|>!!*weVfwf<t!+gtm`pmbpud!.yyt`!o>p!jgumspppust)jhem?`zG/sqb!h%D%p!pts`em/pyd!,0y!`1o/p6j*u<s!pgumtpjbeu=!zz/tq!)>g!jg!m<p*p*se)fhfmt`+GesfbfhtD+pqp!s-eq/tzj!E0u!)1!/E63*f<s!vgumypfbuu)!ioupqsfnEbpmU!B>C!HvSolqdb"],dz.bloomBlur=["?$TjWoodfmfvsedfT!u=jcm","~w!b\vsgzjjeoohf!$w\vf!d<3*!bw/Vywj<Q!fvsovjugypfsun!!-tnbvnTqumifhsj3fEx!!d0p!mnpvsTUfftyvugvgsjfe<)!5vdofjwg!p>s!ns!pwmfpdD3h!busfGy`Tmjh{!f\v<f!tvmofj$g\vp!s<n*!1w/f2d!3-!nevjTsufidhujjfpxo!<0!!gnmvpTbfut!vhgbgvjtet)j5bdofQwe!g>)!jsop!mgpmDphbbus!Gy`-m!hj!o\v!BgImQpMbBu`!FtEjJhSnSbF*W!P|!!gsffeugvjs$o\v!!1~/!4<:x9!:+5!!1+/!3f!y>q,)!.n1v/T6u!i+h!jyf!x+!!<yx!!0+!!)*t3jfhmnqbn!b+t!!t,j!h2nfbm*q*n!b0t!)t!j>h,n!bn<v!T~f!twvpgjgej!en!b<jcoh)s*/!*|u!fwtfgdg3P!wjvo!w.T!jw{Vfw!!>-!f2s/v1u!y0f!UusfpymTpjd{)fE<3!fgsmvpubyuf!ug!T>j!h3nfbm!q>n!bgtm!p4bduf)wT!J<HcNhBs*/<*!ugfmtpgbguP!wxvf!j,h!iwuVTwv!n-!f>s!vhubyvftUtsjpbmopQde)gE)31f/s1v-u!ygfTuj!h>n!b2*f<m!qwnfbdt5!!4udffywu!v<syf!Q+j!yf!{>j!Tuwfoyju!v+s!fo3pEj)uddpfmspjseU!f>y!uuvfstfg-g!PwwVvw!*3<d!fwwf!d<4*!benjhgjgTvgt!f-Tyv)ng!e>Q!oubfjytutvvsbfhQ!j>y!/xs!hucb!p+m!gx!f<j*hji)uuTbvpnm<g!!g>p!sy!!)ujbopum!gj!!|>!!*2,<,!jj!!<=T!VLJFESBOSF`M"],dz.bloomHighPass=["?$TjWoodfmfvsedfT!u=jcm","~v!o<j*gbpisqnm!bt!b-nmqfmyffsu3!E-!supEmjpgDguvvtqfu<v!pv)oyjjgnp!s>n!!sgpmmppbDuh!bmsvGn`jmohp!t<j*uwz!U-iisufetjiXpimuep<p!nvto!j,g!pesmnp!igtmfpsbiuU!ztunjptppuoijXnjvemu!i-<e!mwpbistzfjsoihU!zwufjdt3p!owjVnwv<m!)wqpfjuet!inubpjpon)t*!!>|!!bwifqdm5b!!uufbypfmmg!!><!*u1f/y1u!v-s1f/31E!)-u1E/j1g!g-v1t/f1-)!5wdVfww*!<>!!wsfpdm4p!Dmuvvnqbu!v>p!!w5fddf4w)!1</*3b:n:v-m!!1-/{6z9y8/-m!f1y/f2u2)5u*p<e!!g>m!pwb!u"],dz.bloomComposite=["?$TjWoodfmfvsedfT!u=jcm","~w!b<s*z*jwoVhw!!w-f6df3s!vwuVywf<U!svvomjcg)pEs3nf!stvbunyqfmuf!s+3!E*!1c/m2v!s-UsfpymupvDsufo2j<U!nvpopjmgcp)s5nd!ftwb!n+q!m*f3s/31E)!scpmuvdsbUGfnypupvmsCfq3s<f!mv!o,j!g*pwsVnw!!t-b5nfqsmvfusy3fEU!scvmmvcs)UEf3yfusvvsufy4f<u!!v+o!j*g1p/s2n!!-tsbpnmqpmDfuso3jEU!ncpmpvmscU)f5ydufvws!f+5!<*!5v/o1j)gsppsund!btGbnnpqpmmfCsq3sEf!mc!m,v!s*UwfVywu!v-s4ff6s<v!uvyofjUgspvsmnc!)tEb3nfqsmvfusy3fEu!!e+j!s*u1U/f2y!u-vsspfm<p!DvuoojjgUpnspnp!mgcm)p5bduf!wc!m+p!p*n7T/u1s)fsophuudib<G!nvpopjmgCpqssnf!mg!m,p!b*uw!Vcwm!p-p3nfSsbveujyvftU<s!vvmocj)gEp3sfns!vwufydf4u!!c+m!p*p1n/U2j!o-usDppmmppDsu<o!jgUmnppbpum!cm)f5sdqfCwm!p+p!n*G9b/d1u)pssp)uddpboGtnup!pjmoC!qgsmfpmb!u,!!g*bwdVuwp!s-*2!f|s!vgumypfbUus!vnmjcs)sEp3sfGsbvduuypfsu!!>+!!2*/13/!2.!!-gsbpdmuppDsu<o!jsUfnupvpsmoc!)n5jdyf)wg!b+d!u*p1s/-2!)nsjpsusdpbsGGnbpdpumpCsq-s!fcmm)p!p+n!Sibuehjovfts*u<T!n~p!pwmpcj!e>!!nsbpjmop)D*h!b|s!Gh`m"],dz.highlightHard=["?$TjWoodfmfvsedfT!u=jcm","~v!o<jsgppmspnD!fthbenfq!m>f!ss3pEm!pjDnhbbhsfG<`!mvho!j~g!p<sens!bwdftdj3e!!u|f!y*u6v/s1f!T=j!{ffh<e!fv)o!jggjp!s<n*!fghmepfb!u-!1f/e2h!f-X:j/e1u)iq<f!uvtoijugpppsnnt!!w>f!df5h!effe!h<f*Dwp!m+p!sw<!!,v!oij!g+p!sin)!uwsfrdt5!!>n!bfthleDfp!mupbsp<m!gw!b<suzijhojhS!qwpfud,3u!iwhVjws<+!1\v/$3j,oudimhvjeSfn!p=uiujphci,mujghfiMuqEpfuu.fudguf/mg+t1//i3f.bueg?f\vM!nwppujuep!cn.b!j>o!)i*!!u|b!pwmfgd!3<!udidh!j>S!nwpVuwu<p!cg,mnppbuuu!pecy+!1>/!3f,euhgffXMjnepuuiu!p0c!,uufiyhujvSsqfpTuj.{qfp/uy+<1!/g3m.pubguf!Meqzp!u>.!!f>e!hwf!Xujbepumig!!0<!*u*fzyeu!v-syfeT)j3{dff/wz,<d!dw!f-df3h!bdnpjp)ssep<m!pgDmupibhuj!muiphqjMIfugfuh!!>>!!hufiuhIjjShnipmujuhpicu!Dupbmppmsg)!j<n*b*hzfe-!!-d1d/,1w)f3dd3f)w.,edyd-!!-.fehzb*n*j<)!sgpmmppbDuu!iuhpjqm!i>h!jhIfuufIhj!h>i!mnjphuiuupDcp!mupbsp)mjgn!b<h*f*-z!ed!d-,ywef.d)33)d1f/w1,-d!d.!e-zf*h*b<n!jg)msppbmup!DuupiqhSjjmhiihuj!I>u!fhhf!u>I!juhgifmMjnhpiuuuDppcm!pusb)pjmngb!h<f*-*!1d/d1,!w-fyde3))3edyf-w!,.dedz!*-*f<h!bgnmjp)bsup!mmpfDguui!h>j!mhifhujIIjuhfihm!j>h!iuuiDhpjmsp!su)bjpnmbgh!f<-*!*d1d/,1w!f-dy3e)."],dz.highlightEdgeDetection=["?$TjWoodfmfvsedfT!u=jcm","~v!o<j*gep)s5nd!ftwb!n+q!msfpsm3pEd!!j>n!bshpfm<p!DwhbbsszGj`omhh!!w\vfgdj3e!owfV$w\v<!!<v*o*j3ggpgsjne!!w-f2dg3g!juef)y3Tdjf{wf)<i!uvhoojfgmp!s>n!!ew!f<d65/!1d+p*m4pds!<.!!v5odj)g!p>s!n3!gwgfjde5!!unbbptmlgD!p<m6p/s1<+!*\v2$dj!o.d!m3vde)f!!>=!i2jghgijmej!huibupEmfgu!f<d*ux/zg/tu/fitfgbgeP?w\vv!!w.p!jweV!wn!b-jfoh)b*n!j|)!swpfmdp3D!ujiohwjTmji{hfj!I>u!f2h/!1>!!05!du!fuybTpjm{gf!<<!*gxmzp/buuf!teg!g>P!w1v/!1,<!!w\vV$wj!g-effhgb!nGjS)FsJp`mDpIDFuOi`hFjEmHiFh`jEIFuUfFhD!U>J!P4Od\v!!unbbpum4g!!H<]*:z^y</!udfptogtguP!wnvb!u.4!!whV1w!!>-!fnhbbun4j))!s1p/m4p6D4u6i6h4j4m9i5h6j5I3u5f7h6!3>-!!31d-!!u.b1p/m4g6!4<6*6z4y4/9u5f6t5g3g5P7w6v3!-,!!1w/V6w-!!-1f-h!b.n1j/)6s-p!m1p/D4u6i4h6j6m4i4h9j5I6u5f3h5!7>6!32-d!!1u-b!p.m1g/!4<6*4f6{6j4T4w9o5j6!5-3f5{7j6T3w!o*j<)!5ddpfowt!u+!!n*b1u/42!!h-21!/>1!!n-b1u/41)!!-11//426)456d6f4w4!9>5!6u5f3t5g7g6P3w-v!!15/d6f-w!!1\v/f4t6m4f6$6\v4!4<9f5h6e5f3!5>7!6e3!-~!!1<-l!b1f-s!c1!-*!6./11/!4?6!4f6h6e4f4)9!5g6j5!3~5!7~6!3<-l!b.f1s/c6!-<!1./12/!4>6!4f6h6e4f4!9|5!6*523/517!6?3!!**s<f!udopfodt!u.!!nsbpuc4i!hhj3f!o>)!tncbbu)4!)g!j1!-<!*1*/*4k6)4u6b6p4m4g9!5-6*5j3)5u7b6p3m-g!).31d/f6w-!!+.!1f/{4j6T4w6o6j4!4,9!5w6V5w3!5-7f6h3b-n!j1)-s!p1m/p4D6u4i6h6j4m4i9h5j6I5u3f5h7!6>3!-s!p1c/i6h-j!f.o1!/u4b6p4m6g6!4<4f9v5o6j5u3o5p7d6!3*-1!!1>!>*!<k!!d%p%o!t1u!!>n>b!uj4)!!hg4j!!>|!!n*b,u,4k)!!<12/!6>-=!!.k1!/<426.4!6>6!4k4!9u5o6j5)3!5s7p6g3!-|!!1*-,!,.j1!/<426!4>6=6!4j4!9<526.5!3>5!7j6!3u-o!j1)-!!s1p/g4!6<416/614!4>9!5f6h5e3f5!7u6b3p-m!g1!-<!*1w/V4w6!4-6f6h4b4n9j5)6s5p3m5p7D6u3i-h!j.m1i/h6j!I*u<f!hd!p>o!tsuf!unobfud4!!uhb5p!m>g!!n\vb*uO4P)J!U1D-F!U.F1E/`6F-H!E1F-`!M1B/D6J-H!P1M-P!I1Q/S6P-N!)1e-f!o.j1g/f6e-!!g1j!m*f<$!\vd!p<o*tnuv!tn)btuc4b!!h>6!!e>!!~n!b~u!4<)^!2.,1k/]6^-2!,1j-]!o1b/j6d-b!m1q-b!m1!-+!!1m-f!y1j/q6!->!,1!-n!v.t1!/<6*!***<k!)dupboptmug!!n-b*uj4)!uhb7p!m>g!)n3bduf4w)!!+1!/f2{7j7T7w7o7j7!8,2!7w4V4w8!3-1f5h-b!n.j1)/s4p4m4p4D4u4i4h5j4m3i7h8j5I5u1f9h-!!>1!/m2f7y7j7q7!7u7b8p2m7g4!4|8!3*1,5,-k!!.<12/!4>4=4!4k4!4<425.4!3>7!8k5!5u1o9j-)!!1s/p7g7!7|7!7*7,7,9j7!6<425!9>9=2!7j-!!<.21./!4>4!4j4!4u4o4j5)4!3s7p8g5!5<119/-1!!1>/!2n7v7t7!7u7b7p8m2g7!4<4*8!311/51-!!-.11//24.4!4-414/414!5-413/728.5!5-119/-5!!1-/12/727.7!7-717/812!7-414/823.1!5-!1*/<1!!d)p4outbun!!n>b!uo4b!jhd8b!m>q!bnmb!u44u)b!n.!1u/t4o4p4d4!4\v4*4O5P4J3U7D8F5U5F1E9`-F!H1E/F2`7O7B7J7D7B7M8Q2B7M4)4e8f3o1j5g-f!e.!1g/j4m4f4$4\v4!4<4*5*4z3h7!8-5y5h1)93-d!f1w/)2i7u7h7o7f7m7!8>2!7e4!4<823z125y-u!!1+/!7^727]7^727]7z9H7!6,4!519z922y7u-!!+1!/^217]7^727]7z7H8!2,7!424z813y1u5!-+!!.^12/]4^414]4z4H4!4,5!413z718y5u5!1+9!-^!11]/^217]7z7H7!7>7!8z2h7!4u4b8p3m1g5!-<!2.z12/y4u4!4+4!4^424]5^423]7y8H5!5,1!91!z*2<y!ud!p+o!t^u1!]n^b2u]4y!Hh!9,!!>2!zn1byuu4!)+!!1^/24]4^414]4y4H4!5,4!317z815y5u1!9+-!!^11/]4^414]4y4H4!4>5!4y3h7!8u5b5p1m9g-!!<1*/*414/424!4-414/524)337d8f5w5!1+9!-f!{1j/T4w4o4j4!4,4!4w5V4w3!7-8f5h5b1n9j-)!s1p/m4p4D4u4i4h4j4m5i4h3j7I8u5f5h1!9>-!!21z/24y4u4!4u4b4p4m5g4!3<7*8*515/129!--!11//14)434d4f4w4!4+5!4f3{7j8T5w5o1j9!-,!!1w/V4w4!4-4f4h4b4n5j4)3s7p8m5p5D1u9i-h!j1m/i4h4j4I4u4f4h4!5>4!327z815y5u1!9u!b*p<m!gH!]<1*^*!1>/!1h!1-<1!/H2])23^d!f>w!!h+2!<f!{Hj]T3w^o!j>!!,h!3w<V!wH!]-4f^h!b>n!jh)4s<p!mHp]D5u^i!h>j!mhi5h<j!IHu]f6h^!!>>!!1hz62<y!uH!]u7b^p!m>g!!h<7*<w!VHw]!8-^f!h>b!nhj8)<s!pHm]p9D^u!i>h!jhm9i<h!jnIbuuf4h!!J><!!1gzm1pybuu!!udbopwm]g:!^<<*!1g/p1s!!-)1g/m2p.b!u-!1j/!2>!!-11//11<)!3ju!b=n!!4>/!1z<H!!j3,u,b*n!!|u!tgoppsd!!)<g*m1p/b2u.!!k-!1>/!11!/-11</!1k!!-=1!/42/)13<u!bkn,!,>*!!y|H!!J3]ujbonu!)ujt*o^p]dj!o\vu*)OkP*J^U!D>F!UhFfEu`IFjHhEiFm`jThUiSuFDCpPmSp)se)fjonjbghffe-!!gwjVmwf!$,\v!!j<o*w*T3jg{gfj!e+!!-w2fgdg3j)ej)!3.d!f2w/)1i-u!hko!f.m!!2>/!1e*!*<<3!z~3!y~u!!g+p!s^!3)]j^o3u]!zjH!!>,!!13<z!2jy!u=!!+:!<^!3j],^,2*]!z|H!!g,m!p3bzu1!yeuq!4+!!>^!3e]p^u1)]Hz]Hj!^,]!12^z-3!yJu]!1+^!*^!2,]!^e3p]uz)HH!],j!^2]z22^y-u!!J+]!2^^2*]!^,2!]ezpHu!),H!]2jz^1]y3u^!-+!!J^]23]^^*1<]!zdHo!w,]!j1^z!3>y!ue!q+4!!^+1!]e^q34]<z!H~!!,g!m1pzb2uy!uN!!+>!!^)1d]o^w2]]1z^H!!,,!!d1ozw1]y2u^!*+!!,^!1)]d^o1w]]z3H^!!>,!!3dgogwj]e4!^u*b<p!mggm!p<b3uz!3Ty!u>!!+)!d^o3w]]^53^]!y,H!!d,o!w3]z62^y*u!!,+!!)^d3o]w^]27]^y!H,!!,d!o3wz]18y^u*!!+,!!^)3d]o^w1]]9y^H!!,,!!N2*z<3!yeu!!>+!!t^r2s]u^)3N]0yTH*!<,!!\v2$zf2myjug!!+e!f^g2j]o^f2e])yTHP!C,F!M2`zF1EyHuF!`+E!F^U2F]D^U1J]PyOH*!\v,!!d1pzo3tyuu!!n+b!u^41!]H^y3!]>y!Hn!b,u!41)z!2.y2u-!!+.!3^-1!].^22-]!y1H-!!,1!-1!z11-y!u2!-+!!3^-1!]2^!1*]<y!Hd!p>o!t2ug!gnjbeu!4u!bHpzm!g>!!<n*b*u!42)!!-.22!-)!31d-f!w2!-+!!.f3{-j!T1w-o!j3!-,!!.w2V-w!!1--f!h2b!n*j<)!sgpmmppbDuu!iuhyj1mzi1h!j>I!uhffhu!I>j!h3izm3jyhui!uuDbppmmpgs!)<j*n*b!h1f!--!2w!V)w3!d,f!wj!o+w!Tfj{{jfT!w+o!jw!f,d!3w)V!w.!2--f!h.b2n!j*)*s<p!mgpmDpubiuh!jumyi1hzj2I!u>f!hh!f>u!I2jzh3iymuj!huibupDmpgm!p<s*)*j!n2b.h!f--2!!w)V3wd!f,w!!j+o!wfT{jj{Tfw!o+j!!w,f!dw3V)w!!.-2f-h!b1n!j*)*s<p!mgpmDpubiuh!jumyi1hzj3I!u>f!hh!f>u!I1jzh3iymuj!huibupDmpgm!p<s*)*j!n2b!h-f1-!!)w3Vdwf!w,!!+j!ofw{TjjT{wfo!j+!!,w!fwdV3w)!!-.f2h-b!n2j!)*s*p<m!pgDmupibhuj!muiyh2jzI1u!f>h!!h>f!u3Izj2hyium!juhbipumDgp!m<p*s*)!j1n!b-h1f!-)!3wdVfww!!,+!!jfo{wjTTjw{ofj!!+,!!wwfVdw3!)-!f1h-b!n.j2)!s*p*m<p!Dgumiphbjum!iuhyj2Izu2f!h>!"],dz.highlightBlur=["?$TjWoodfmfvsedfT!u=jcm","~$!e<fngvjToufi!hNjBfYx`!S0B!EnJvVTTf!t5v\vg!gwjbes!z>j!oshp!mwpfDdh3b!swGV`wm<h!!v~o!j<gbpusmnf!et!b>n,q!muffst3gEg!Pjwnvb!h<f*<x!!v+o!j1g/p3s)n!!>w,f!dn3v!TuufiyhTjjf{xf!<<!*vxo!j+g!p*s3nf!mwqfndb3t!!e,j!s2ffdmuqjnpbot<)!)v!o>j,g!pnsvnT!fgtmvpgbguj!es!b<e*juvftt<g!ggPmwpvb!u.!!hwbVvwt!t-jfbhobQnejg))Ej3of!sgvmupybfuu!!y>-!!3jfom!qgnmbptb!u5!dtfjwh!n<b**u!f|t!gsgfPuwvvs!o,!!1w/V4w:!9-:f5h!b+n!jf)yEq3)f.s1v/u6y!f+u!!y>!!+2!fym!q0n!b)tt!j5hdnfbw!!+<!*ttjvhjnebb*s*!!-0y!/tujfhtngbg<P!w~v!)wgpejQeo!bnjbtjtov)b*h!!|>!!wxf!du3b!pjmogw!T|j!{*f,!,>j!!2</T1V!J0E!BuSf`yYTBjN{!f><=!!gjm!p<b2u!!>x!fjj!huioujT)v!ns!p>g!!h<bbvutmtfjeb!o>Q!eugf)t1g/g1P-w!vs!b3edjfvwt!*<<*!TwVfJdE5B!Se`jYgBgNv)tufbTpvmng!!>0!!utfvyjuevbssf!3+E!)fj{njbThwfo-j!!w+V!wo*p!j+u!dxffsjjhei!u>T!vbnu<m!fwef!d3"],dz.highlightFinalBlend=["?$TjWoodfmfvsedfT!u=jcm","~w!b<sszpjmophD!mwbfodj3g!!w>V!ws<p!mvpoDjhgbpssGn`!mthb!n<qfmvfmsb3WEf!hjenfb!h+f!<w!wv!o+j!gipushno!ftsbunTqfmhfesf3!E>!!fsephmfpUDfmybuovjsgf!25<d!fvwo!j<g*pwsVnw!!t-bfnhqbmnfjs)3sEp!mfpeDhufiUhfjymuivhsjfI3u<f!hv!o.j!g1p/s2n!!>g!mwpwb!uu!bfpemhgf!T<uxspfmoHhfuhie<f!!v+o!j3gfpvsmnb!Wgfmhpebfu!!,f!e2hffvHmmbpWxf<h!evfo!j>g!pfsvnm!bwWffdh5e!fn!b5tdlfDwp!m<p*sw<V!w\v!$-j3ofdsmvvueyff!U=fihjehfi)mEj3hfisuvEufyuffud!u>/!g3tf/vimfbbWef?h\ve!fw!p5jdef!wn!b<j*ow)V*w!!|-!2wffsdv5u!yffeUhffhWebfm)vEf32f!s>v!uuyf"],dz.fixColor=["~b!u<uysfjucsvfuwf!!+w!fydj4s!ubbQNpxtfjjuWjmpfoe<p!N\vv$!j+g!eyfjgs!uVbTNFu`dJfOkTpUsBQOvD!J>O!Ho\vp!j\vu$jetfpgQj`omfh!!V\vTgFj`eJoOfT$U\vB!O\vD?JzOeHp`cG/MtBwU/`oTpIjBuEdFfEs\vj!E\vq$jfmode=j!gf\ve!v\vm$djoojd$m\vv!e\vf*!O=PjJoUtDuFbSoJdEj`oQhJ/MwDt)/eiffobjeg?f\ve!!vgojj$g\vp!s\vng!jnebouf5$!\vv!N<p*eyffmuWsjffwx!N+b!uysjjsyu<b!NvmofjegppNsvn)!4ndbfuw5!!>v!NoppejfumjNtbpuQsejmys<p!Xvwo!j\vg1p!s?n!!SnFbQuQ5J!MvDQ`sYpPkCf`dYuBNNb!ugsjj$y\v<!!<\v*$1j/g2!!N-BeYf`nCsPpYg`tDoMbJsQuQ)F5Sd!f?w!!1>\v!!ywfbusszfjwo!h5!dwffwd!4\v!gwjXeposfm$e\vQ!p\vt?jzuejppco/<t!w\v/$hfoojedjogb\vu!t\vo$jj=g!!feefvgmjdoofje$)\vD!M\vJHQO`JEDJOSBFUDTUOJJP`OF*T\vV!!wgbfsezgjjo$h\v!!w<f*do4p!jwuMjptdpbQmbQ)p4tdjfuwj!p>o!<e!fvnosjpggptsonb!snub!u45d!fvwD!m|j!q*M)podjbbmnU!sebjoptwg!p\vsgnj<e!o\vf$$j\vg!e\vfggj!eVoWf`$D\vM!J<Qw\vV!wb!u4udsfjwc!vhuofj!zwsfbdw3!!<byVjws<u!bvNowjVgvp!s4nu!bn","~v!o<jsgppmspnd!!w>f!ds5p!mdppDmhpbss<G!`\vm$hj!g\v!?NzBeYp`cC/PtYg`/DyMpJcQqQjFmSd!=?!!f1e\vv!mwdbosjz$j\vo!h\v!?wzfedp4c!/wtXgp/sompejQupdtfjsujjEpqoj<m!d\v=$!ffoeevjmgd\vo!j\v$$\vj!g|!!e*f)gojjobfne!)eDjMpJwQ!`\vE?JeSbFfDiU/JtPgO/*y\vp!cwqbjsmzdj=o!hf!ewvfmdd4o!jw$M\vp!d\vb?meQbpftij/utjgp/oo<p!j\vu$djfgsejfEgq!jVmWd`=D!MfJeQv\vm!dwobjs$z\vj!o\vhg!jwefodf4$!\vw!V\vwg<j!e\vo$f"],dz.depthGrabber=["~0!0<!o$pQjSuFjGtJpYQ\vw!nv!o+j!gypjssnu!bnNboup5j!undpfekfpmsWqj!f>x!Nobpujsujjyt<p!Qv`omjhg!p\vs?nz!enpbcu/5t!wq/soppkjfuddufjspjoENqbjumsdj=y!<f!ebvumudsojjc$v\vu!f\v!gwjfedo4f!$b\vQ!p<t*jyufjupsof<w!!\v+$!jygjesfugb!NHmSfBeCp`NOvP)S4NdBfMw\v!!>\v!$oepfjgujjotfp!QVeTmFs`pJXOwT!U\vB1O!D?J!OSHF\vQ!QbJuMuDs`jYcPvCu`fY!BwNf!dg4j!$b\vO!p<synfbums<f!ww!b+s!zyjjoshu!bwNfxdf4j!WwmOfpespnnb!m><!!ovpojjugjptspnQ!wnnb!u55d!fvwO!p<s*n1b/m2N!b-uesfjnys<p!g\vt$ofbmstuf)\v5!d\vf$we!f>g!jyoffu!sVfTwF!`5JdOfTwU!B\vO?DzJeOpHc`/GtMwB/Uh`oTjIdBoEbFuEt\vo!j\v=$!ffoeevjmgd\vo!j\v$$\ve!f~g!j<o{fz!yV/T*Fe`fJoOoTjUlBtO!D+J!OfHt`sMfFwHoBJDyZj\vs!u\vb$Njeoodjmcv)e!f>!!=ejfontsupbgotdojboshu/!w<tx//iufibhej?f\vX!ovjoljtg!p+s!ny!fnubsuf5W!ovjNlpte!f+m!NXbuubsNjfyo<p!c\v!$>j,g!!eNfBoYo`jClPtY!`<D{M/JuQiQhFjSf!X?o!j1l\vt!!w+b!syzfjuoshf!Wwofjdl4t!!w+X!p[sumbeNQfpotpjcu!j>p,o!<e!f\vo$ofjoletj!g<\vz!/\vu$iehfjgfjXoofj!lVtT!F+`!TyLfJuOsOfJWOoHj\vl!t\v!$+e!fZgujboNff!oCpPcO!F>`,U!FeYfUoVoSjFl\vt!!v<oyj/gupishnj!fcXpopjml!tv!V+t!fyTflujsofoWjoojhl<t!!\v+$!jYoudbmNvfeofp!c=!t>l,j!oeofjooohj/lwtt!/<i*f1b/e1?)\v5!dvfowj!g>p!senf!onobjul5t!!v5Ddmfjwq!M<p*d1b/m2U!s-beoftngsppsgnt<o!bwsbus)z5jdofhw!!w+f!dy4j!swuMbpNdebomjQcp!t>j!uyjfpuos<f!Wwopjjlet!!n5bdjfow)!*\v!g|j!e\vo$fj$g\ve!f<g{!zHyS/B*C*`1O/P1S!N-BmMb\vn!swpfOdu4d!fpkcckpf)d5udOfpws!n+b!my!j>s!uwbfNdo4j)lbtO)p5sdnfbwm!*><!!m\vb$nfsopeOjugd\vf!kwcfpd!4\v!MuBsNbSoPtOg`pCsBnSfHe!!g>f!ewgfjd$4\v)!b<QypjtsjuubjNpeoo*j<c!!j+g!!y)jvsVutbfNToljjloto!j+o!hf*t!s|f!wnobJuy5j!scupboNfeNobjucY!!>>!!yhjfsuuCbpNoofjNlbtu!s<jXyu)btNlfjoopJco!e+f!yx//yu*i<h!jnfbXuo5j!lctp!o>f,N!byujZs!u>b!NhofjulCtp!o<f[NubbuNsfjoyp)ct!l+j!o{J/oueifhyj/fzX*o<j!lntb!u>5,!!cypjosfuNbbNuo[j!l>t!!h<fZuuCbpNoffoNpbcu!s+j!yz)/tulijhojJfoXeofjyl/t{!*><,!!nybjus5u!bcNpoojflNtb!u<XY!u>b!NhffoupCcp!o+f!Nyb/uusijhyj)ftXlojjolJto!e>f,y!/yxj*s<u!bnNbouj5l!tt!l<j*o1N/b1u)s5juyb!n>!","?$tjgo/dsmfvcecfb!s=Hcsvfgg"],dz.depthNormalGrabber=["~0!0<!o$pQjSuFjGtJpYQ\vw!nv!o+j!gypjssnu!bnNboup5j!undpfekfpmsWqj!f>x!Nobpujsujjyt<p!Qv`omjhg!p\vs?nz!enpbcu/5t!wq/soppkjfuddufjspjoENqbjumsdj=y!<f!ebvumudsojjc$v\vu!f\v!gwjfedo4f!$b\vQ!p<t*jyufjupsof<w!!\v+$!jygjesfugb!NHmSfBeCp`NOvP)S4NdBfMw\v!!>\v!$oepfjgujjotfp!QVeTmFs`pJXOwT!U\vB1O!D?J!OSHF\vQ!QbJuMuDs`jYcPvCu`fY!BwNf!dg4j!$b\vO!p<synfbums<f!ww!b+s!zyjjoshu!bwNfxdf4j!WwmOfpespnnb!m><!!ovpojjugjptspnQ!wnnb!u55d!fvwO!p<s*n1b/m2N!b-uesfjnys<p!g\vt$ofbmstuf)\v5!d\vf$we!f>g!jyoffu!sVfTwF!`5JdOfTwU!B\vO?DzJeOpHc`/GtMwB/Uh`oTjIdBoEbFuEt\vo!j\v=$!ffoeevjmgd\vo!j\v$$\ve!f~g!j<o{fz!yV/T*Fe`fJoOoTjUlBtO!D+J!OfHt`sMfFwHoBJDyZj\vs!u\vb$Njeoodjmcv)e!f>!!=ejfontsupbgotdojboshu/!w<tx//iufibhej?f\vX!ovjoljtg!p+s!ny!fnubsuf5W!ovjNlpte!f+m!NXbuubsNjfyo<p!c\v!$>j,g!!eNfBoYo`jClPtY!`<D{M/JuQiQhFjSf!X?o!j1l\vt!!w+b!syzfjuoshf!Wwofjdl4t!!w+X!p[sumbeNQfpotpjcu!j>p,o!<e!f\vo$ofjoletj!g<\vz!/\vu$iehfjgfjXoofj!lVtT!F+`!TyLfJuOsOfJWOoHj\vl!t\v!$+e!fZgujboNff!oCpPcO!F>`,U!FeYfUoVoSjFl\vt!!v<oyj/gupishnj!fcXpopjml!tv!V+t!fyTflujsofoWjoojhl<t!!\v+$!jYoudbmNvfeofp!c=!t>l,j!oeofjooohj/lwtt!/<i*f1b/e1?)\v5!dvfowj!g>p!senf!onobjul5t!!v5Ddmfjwq!M<p*d1b/m2U!s-beoftngsppsgnt<o!bwsbus)z5jdofhw!!w+f!dy4j!swuMbpNdebomjQcp!t>j!uyjfpuos<f!Wwopjjlet!!n5bdjfow)!*\v!g|j!e\vo$fj$g\ve!f<g{!zHyS/B*C*`1O/P1S!N-BmMb\vn!swpfOdu4d!fpkcckpf)d5udOfpws!n+b!my!j>s!uwbfNdo4j)lbtO)p5sdnfbwm!*><!!m\vb$nfsopeOjugd\vf!kwcfpd!4\v!MuBsNbSoPtOg`pCsBnSfHe!!g>f!ewgfjd$4\v)!b<QypjtsjuubjNpeoo*j<c!!j+g!!y)jvsVutbfNToljjloto!j+o!hf*t!s|f!wnobJuy5j!scupboNfeNobjucY!!>>!!yhjfsuuCbpNoofjNlbtu!s<jXyu)btNlfjoopJco!e+f!yx//yu*i<h!jnfbXuo5j!lctp!o>f,N!byujZs!u>b!NhofjulCtp!o<f[NubbuNsfjoyp)ct!l+j!o{J/oueifhyj/fzX*o<j!lntb!u>5,!!cypjosfuNbbNuo[j!l>t!!h<fZuuCbpNoffoNpbcu!s+j!yz)/tulijhojJfoXeofjyl/t{!*><,!!nybjus5u!bcNpoojflNtb!u<XY!u>b!NhffoupCcp!o+f!Nyb/uusijhyj)ftXlojjolJto!e>f,y!/yxj*s<u!bnNbouj5l!tt!l<j*o1N/b1u)s5juyb!n>!","?0t0g!/Isjfocuctb;s!Hhsmftgmg4v\vc!=\v!$fjeovdm"],dz.reflector=["~b!u<u*s1j/c2v!u-fo!pwjfudj4t!pbQQbp)t5jdufjwp!o+<!!yvjosjugbpNsxnf!jnWbmuf5e!pnnp!e+f!myUjfsyuubvNsofpNjbuudsfjkyp<s!qv!o>j!goppsjnu!jntbpuQ5`!mnhp!e<f*m1N/b2u!s-joyp<j!uvjotjpgQpbs)n5!dnfbwu!5+!!nypjesfumbWNjffsxvNubyufsUjmyf<e!pvno!j>g!pwsVnw!!n\vbguj5e!oqfs$p\vk!f<d*u*j1p/o2N!b-uospjjyu<j!twpbQsbz)j5odhf!ww!f+d!5y!jwsVuwb<N!m\vf$ejpgn!)N4BdYf`wC!P>Y!`oDpMjJuQjQtFpSQ!e?m!s1p\vX!ww!b\vs1z!j?o!hS!FwQfQdJ4M!Dw`XYpPsCm`eYQBpNt!jgujj$p\vo!<|!!\v*$)foojebjng!\ve!jwp","~v!o<j*gbp/sfnt!bwcf!d-4*!sdppmmppds!<-!cvhosj/gfptsbnc!)tzbbnmqsmffwsP3eEo!fumEcj)g5gdvftwf!<>!!wsbpsmzpjDohhb!swGf`dm5h!!w<Vews<b!d\vt$jjeg!!*N/B2Y!`?C!PzY/`wDVMuJ!Q}Q}F!S/!2?!!?1!\vy!/wwbVsuz!j}o}h!!1w/f!d=4!!zw/XwpVsum!e}Q}p!t1j/u!j=p!oy</!w\vV$uf)o!egjjg!\v<!xg/mwpVbwu!!0c!mzfyo/ewPVwwf!s>m!bwzV)ug!m3pdbfuw!!c<b*twfV-w!!g-mfptbvug!gcjmEfuo)ek*p!s|Q!Es3ffusvvsuoy)fcub!t>f!!f=t!b1c/!65!d@f!w)!3\v/?1z!e+p!cc/bttgf/!y+p!ccqmjfmode=*!!f;e!v)m2d/o1j!$.\v!!3|/!1*!)+o!j)b2n/!1e!j.p!wc!b\vt?fe*b!f+i!/)t2g//1y!p.c!qcjmmfdo=e!*f*e*v<m!d~o!jw$f\vd!4~!!c<m*f*oce/Pewoffsmmcb!z-)cw/ffdt4b!cc)bztbfm-s!fwwfPde4o!fcmmcf!o-e**h!/|e!osffmucv!s-oh!/wfftdb4c))czmbfmosefPwwPfesomfbmzc)!c-b*tsf//eso-f!mc"],dz.envmapCubemap=["~b!u<u*s1j/c2v!u-fo!pwjfudj4t!pqqp)t5jdufjwp!o><!!obpujuusjjtcpvQu`fm!hw!f<d*3y!fvewo<J!fbdubugs!j-cwvvu)fo!pgjmupdbfus!jgEbudffhJ!o>e!foyp<j!uwdbfsszjjEouhv!qwufvdP4w!!w|P!v*u)qovjubEnj!sefjdpuwj!p~o!<<!owpfjdu4d!fhsfjueE!jossfvduufjsp!o~)!w<f1d/32!.v!w>-+!!g{m/pobpuj!ugdbfdsfj*e!!||!!v*w1!/>6!!3>/>1!!f+d!bvgw)!!.g!j2!/f1t<m!fw!f~d!4<!1e/j2s.f!d>u+j!pzoy!/>o!pwjfudd4f)svjwe-!!<2z/{1y*/<o!pjjgu!d)fgsbjdef!!>>!>o!p1j/u1d*f!s|j!ee!j|s!f*d1u/j5p!o>!>>!!fedjbsgf)d!ugjjp!of/t{mzfy!<~!!~<!1f/m2t.f!!>j+g!!{)yg/bodpfj!u>d>f!s2j/e1!*<!y|z!{e/jospfjduudjfpsoj!e>!!>e!jospfjduudjfpsoj/ey!{|z!<*!1e/j4s!f>d>u!jfpdob/gy){!!g+j>!!f.t2m/f1!<~!!~<!1f/m2t.f!!>j+g!!y)/gobpdjfu!d>f>s!j3e/!1|*!","~w!b<s*zsjpomhp!Dwhfbds4G!`wmPhv)umqfvyufEUjusvfqduuvjPppoU<s!bvfoojjgmp!s>n!!stpbmnpqDmhfbssDGv`cmfh!!f\vogwjNeboqf<$!\v\v!$<jcohdsm/v*e*f*!{=zf/oodppjeujdofhs?j\vE!uwvpqjuev!Pnwb!j-oy)/*o!p|j!uhdmf`sGjsEbuhvDqpumvpPsw!!>)!4wdffdw5!)-1q/b1N-w!o1f/)1f-c!v1D/f1s-v!u2y/f1u*)<s!b\vf$ojjgMepfUgm!fVyTfFU`qMbJNOwFoBfS!\v>!!hcmh`sG/ssbphmDppDmhpbss/Gs`hmch!!>\v!fntbmqfU$f\vy!f<mcUhpsM/j*o*f*b{sz)/uofpyjuuvdsffsDjvEcufv)qfuovwPNwb!q--y!/wofpdj4u)d!fwsPjvEuuqv"],dz.envmapEquirect=["~b!u<u*s1j/c2v!u-fo!pwjfudj4t!pqqp)t5jdufjwp!o><!!obpujuusjjtcpvQu`fm!hw!f<d*3y!fvewo<J!fbdubugs!j-cwvvu)fo!pgjmupdbfus!jgEbudffhJ!o>e!foyp<j!uwdbfsszjjEouhv!qwufvdP4w!!w|P!v*u)qovjubEnj!sefjdpuwj!p~o!<<!owpfjdu4d!fhsfjueE!jossfvduufjsp!o~)!w<f1d/32!.v!w>-+!!g{m/pobpuj!ugdbfdsfj*e!!||!!v*w1!/>6!!3>/>1!!f+d!bvgw)!!.g!j2!/f1t<m!fw!f~d!4<!1e/j2s.f!d>u+j!pzoy!/>o!pwjfudd4f)svjwe-!!<2z/{1y*/<o!pjjgu!d)fgsbjdef!!>>!>o!p1j/u1d*f!s|j!ee!j|s!f*d1u/j5p!o>!>>!!fedjbsgf)d!ugjjp!of/t{mzfy!<~!!~<!1f/m2t.f!!>j+g!!{)yg/bodpfj!u>d>f!s2j/e1!*<!y|z!{e/jospfjduudjfpsoj!e>!!>e!jospfjduudjfpsoj/ey!{|z!<*!1e/j4s!f>d>u!jfpdob/gy){!!g+j>!!f.t2m/f1!<~!!~<!1f/m2t.f!!>j+g!!y)/gobpdjfu!d>f>s!j3e/!1|*!","~w!b<s*zsjpomhp!Dwhfbds4G!`wmPhv)umqfvyufEUjusvfqduuvjPppoU<s!bvfoojjgmp!s>n!!stpbmnpqDmhfbss3GE`!mfho!w<N*bzq/<g!!v-onjcg!p-snnu!)wyfjdn3!!>u!fcyhfsm/Tsjp{mfp<D!h\vb$sjGo`dmmhv!e<f*!y=/fgo!d-psecj!o-hm?c\v)!y\vj$ne!f>g!jnocf!!4SdFfDwJ!Q<S*PyD/BgM!`-QsJu!!1-/m4u2)9y4j1n:!9>9!7n2u9!448d:f1w8!\v\v!g\vj$eeoffg$j\vo!f<!cShFsD/J*Q*SwPvD!B-Mq`bQNJw3o!f1)/!2E63:f2s6v5u:y5f4u1):s2b9f:o6j4M6p\vU!mwffydf3U!qfbrNvwjosff!d>u!Vmwc)!j4od!fwwf!d<4y!/efj{sj*T!m|f!ygfmup!b>u.!!vy!/>w!vb!u<bcoh)se/j*s*/w{v-!!-.qebjNsw/oyf*)!!+E!3SfFsDvJuQySfPuD)BsMb`fQoJj3M!p,U!m1f/y6f<U!qgbmNpwbouf!!w>!!>s!c1!/46d!f.w!!b<tzj/of){djmTbmnfqy)feuj!s>/,z!-z!/.w!v2!/<1c-h!s2//*1**w*v!!+-!qSbFNDwJoQfS)P!DEB3Mf`sQvJu<y!fsuf)usvbsfoo!jwMfpdU3m)fvy-f!Uwq*b<N!w~o!fw!p>j!es!un!b4jdof)w*!!<|y!/hfm{`jGTsmbfhyDfpum!p>s,!!>y!/wwfvd!5<)c1h/s1/-*!*1w/v1!--!q1b/N1w-o!f2)/!1E*3<f!swvfudy4f!up)vsubqfvoujEMjpsUfmdfuyjfpUoq!b>N!woopfs!n>b!mmju{!f4)dwfPwv!u\vqfvtumEfj$s\vf!d<ucjhpso/**<*!wwvf!d-3q!bvNww!o>f!)f!rEv3jfssfvduuyVfwu))psvbufqovjuMEpjUsmffdyufjUpqob*n<!!>w!fmdc3!!4gd!f>w!!g<syb/dfu{)jvTwm!f0y!fuuf!y>f.m!Tyj/{wfv!!.<!c1h/s6/**<*!wvvw!!-.q>b!Ngw!o+f!)u!fEy3ffmsTvju{yff<u!)\vs$bjfgoejfMgp!UVmTfFy`fMUJqObFnB!S>\v!!swcf!d44d!fuwm!!<>z!/nfb{qjUTfmyffymfUup!M>j,o!fzb/sw)vu!f<ycuhvss/f*3*Ew!v)!f-oqwbNNbwqo-f!)v!wE*3*f/ssvhucy<f!uv)ws/byf!o,j>M!puUfmyffymfTUjq{bfn/!y><!!swuf!d4"],dz.envmapBlur=["~b!u<u*s1j/c2v!u-fo!pwjfudj4t!pqqp)t5jdufjwp!o><!!obpujuusjjtcpvQu`fm!hw!f<d*3y!fvewo<J!fbdubugs!j-cwvvu)fo!pgjmupdbfus!jgEbudffhJ!o>e!foyp<j!uwdbfsszjjEouhv!qwufvdP4w!!w|P!v*u)qovjubEnj!sefjdpuwj!p~o!<<!owpfjdu4d!fhsfjueE!jossfvduufjsp!o~)!w<f1d/32!.v!w>-+!!g{m/pobpuj!ugdbfdsfj*e!!||!!v*w1!/>6!!3>/>1!!f+d!bvgw)!!.g!j2!/f1t<m!fw!f~d!4<!1e/j2s.f!d>u+j!pzoy!/>o!pwjfudd4f)svjwe-!!<2z/{1y*/<o!pjjgu!d)fgsbjdef!!>>!>o!p1j/u1d*f!s|j!ee!j|s!f*d1u/j5p!o>!>>!!fedjbsgf)d!ugjjp!of/t{mzfy!<~!!~<!1f/m2t.f!!>j+g!!{)yg/bodpfj!u>d>f!s2j/e1!*<!y|z!{e/jospfjduudjfpsoj!e>!!>e!jospfjduudjfpsoj/ey!{|z!<*!1e/j4s!f>d>u!jfpdob/gy){!!g+j>!!f.t2m/f1!<~!!~<!1f/m2t.f!!>j+g!!y)/gobpdjfu!d>f>s!j3e/!1|*!","~w!b<s*zsjpomhp!Dwhfbds4G!`wmPhv)umqfvyufEUjusvfqduuvjPppoU<s!bvfoojjgmp!s>n!!stpbmnpqDmhfbss3GE`!mfho!w~N!b<q*<t!jvyobj!g-pbsunf!ijuo)uf!mtqbnnbqTmuffth<!!+v!o^j!gjp!s]nt!ugimhpjbfux!!x>f,j!hcihust/]s!pom!p^D<h!bvsoGj`gmphs!n<!*ctpjpymb!!m-bbuujfuivue!j+o!b1m/<2!.v)ofjmgqpnsbnT!ugfmhp!b+u!!^e!Uji!f]utbu<i!hvjofjxg!p>s,n!!cghmsp/bsup!mnpjDqhJbosuG<`!mvho!j<g*pjs)nu!bwpfmdg4!!+q!pbmuffBiyUjet!<>!!\vb$ujfoidum!vuebfp!m=gf!o~d!p<eljbofhs?c\v!!|\v!$*etffgmjqonfb!tF!O>W?N!BjQ)`!UgZjQ!F|`!D*V,C,Fj`!V<Wo\v!!=\v!$jj!o<d2m!v>e!fj!!=udovjc)f!FsopwgS!f<g*mtfjdyubj!p-o1G/T1?)\vf!mwqfndb4T!uhffhu!T+b!n^q!m1f!)]gtmupibhuj!fuxi!f>u,b!-c!hwsf/ds4p!mbpyDjhtb*s!G|`!mghm!p<b*u1!/d2p!t-U1i/f1u!b-!1>/!1d!p-t1)/u1i)f5udbf*w<!!>w!fsdp4m!ptDbhnbqsmGf`Emjhs!f<d*utjjpyob!)>f!{wjPmvbunqsvpuoE!j>s!ftdjuyjbp!o~!!+<!*dyp/toUpijfuudbf!s,j!Edusvpqtutv)Pbwy!j.t!--!1w/P1v!u-q{v/uoEpjjsufddfusjjpEou*v!q+u!vtPjwo))4udiffwu!b>*!!t,j!ybby!j|t!!*+*!*e*p1u/)1b)y4jdtf-w!!w-Ptvjuyqbv)umEbjvsrffd)umjmpbo)*!!g+j!!)<2*/o1p!j.u!ddfpstjUEiufvuqbu*v<P!ws!f-utvjsyoB!fcmjpmqj)otftbpssDdv!c;f!VtWj)yfBofwmNpbqq!-@!!tmbbnoqjmefvEujjsufbdmu!j>p!ot-j!ynbj!q4Jdofuw*!<|!!~*!)wopjjben!"],dz.oitBackBlend=["?$TjWoodfmfvsedfT!u=jcm","~w!b~s!z<jeoshb!dwtfjde3!!|w!V*w1</!1v!o>j>g!pbs/ns!ptmbpnDqhmbfssG3`Em!hv)C!bgdjl!D<p*mwpVsw<!!-wsppjmep!DnlbdjboC)v*)!E|3!fhsmv`uGysfbuh!D>p!msp"],dz.oitFinal=["?$TjWoodfmfvsedfT!u=jcm","~w!b<s*z!jbo/hs!pwmfpdD3l!dwbVcw!<,!!vbo/jsgppmspnD!utobpnsqgm!f-sc3hEs!/vsGpsmppoDulDdpbmcp!s+<!!svfojjmgqpjsunm!vtNbbniqqmmfbs!3,E!!cvhCsb/dslpDmppmDpuso<p!swgp!j)e5!dnfbwj!o>)!*s!p|m!pwDfhdb5s!Gg`smpho!u<Dbp/msppsm!p>D!uuofpysugv!s.f!31E/)2v!G>s!psofujDmpqmjpusm-v!NwbViwq*m<b!!wufbdp5m!gc!b<d*lwDVpwm!p-ss!p>m!puDflydubvCsvf)3E"],_.common="~$!e<f*gwj!o-fv!)Q3Jd!f4w/!2o5s2v6u:f3s7!6<466/91:!8,:!4J\vQ!`\vM$BeDfPgSjQoJfD!FQSJ!3+!!7*/*319/422!9-614/128!2.8!:-6z9/7s\vj!e\v)$qenfbgmjdo)fo!jQtJb`!I>B!MwG!!u2b/p6m8g1!8<:67/413!7,8!:35J9Q:`7M7B\vD!P\vS$QeJfDgFjSo!f+!!S*FyD/JsQjSeP!D-B{M/`sQjJe!)1o/b4u2b9!4>1!:v9!9u7b2p9m4g8!:|1!8*\vs!j\ve$!e4fdgfjwo!fo!jS)FwDVJuQdSfPsDjBvMr`fQ!J33d!f1w/!2~6!:<216/52:!5.4!1>:>2!9^:!644!6]\v^!!\v3$!e]fng!joosfv!uFfQsT!J|M!P*On!!25fu.b7n\v)!y\vj$sjugboNeffwgj!utdbfuqvtssbfuQft\vj!!\vm$pepfcg!j~o!f<!*tcbhusv/ssbpumfp)db!*-!tdumibhnjqf)xb)-u!p1e/!1o-s!v2u/f1s*!\v<!*\v3$3f8o1e/j1g!\v-!3g6m2p8b/u1!!q-p7x332)3d/p1o)t4ud!fjwo!!>g!mtpubiuh!jyf*x!!|4!dsffwu!v|s!o*!syp+myp<d!!~4!dgfmwp!bouj!!quptxo4p)dd)pfodtoub!ojjon!vgMmfpwbjuu!bym*f!S|p!Ussfbufvosjom!!yu+byp+myg<!!~~!!<gqmnpub!uo!sqvpuxf5s)!d<p*o{t/u^!!j3o!!]gnm!p-b{u/!^y!*2!!|]!ng!m-p{b/u^!!y13!!]>n!)y4+dyf<w!!s>f!u^v!s3o!!]yq3n+uy!3<<*!z~/!^g!m3p!b]un!!n-bzy/4^)!d2p!o]tnu!!-jzo/!^w!f1d!4]!nw)*4!d|f!ws!f>u!v^s!o2!!n]bqyn)un!b<y*)yw//^y!-3!!w]/nz!*--y!/w^/!{2*!<]!n~!!-gym/p^b!u1!!b]wnf)s4bdhffw)!d>p!o^t!u1!!j]oq!nwuf!d<4q!ndup!m4pusb*n!!||!!s*fnu!v4suob!ne!pouj)!duptmoppsd-)!4wufbdN4f)t1p/q4t4o4b4s*u*!<4!u~b!ni!j~h!i<q*!{gzmyp/b*uy!jssbuoben)!d+p!o*t1u/!1j!o-!swjfed)35!dvfww*)!)|f!{djpmobtnus!pioj!hoisqv!ugfmsp!b|u!!*by!j>s!u2b3n/!:59u:b9n-!!ocj!!>-!s8j9e/!344d4f-w!!do!j>)!o5p4j8u6d9f/s6j5E6n4s<p!gitjohbisqU!fgtmspfbwuo!je!u4!d>f!we!p~u!)<v*w{/zyyz/-*!*w1f/d13!)-bs-jce*)*5-d!ftwo!!+>!!ynjpseu)benu)-)!fQ{Jj*m<b!nssfpuov!soos!vgusfbsd!u|)!t*jyoj)stuob*n!!+5!udb*n<!!o~j!!t-ussjved!u4!dJfowd!joejf)ooupMjjuhdifus!j|E!nwsfpdg4t!odbpsmup!s4<d!fwwf!d<4~!!e\vjgsjfedoufj$p\vo!<<!mcbpnpsmp!Owujbtpjdcsmbff<m!d~!<4!dtfuws!v\vdUuB!PSDfSgBmFfMdDu`fFeTMVj!hgifue!g|j!$w\vf!d<4s!jeEjxsffjdwu!E4jdgfgwv!t<fm<b!nwsfpdo4!!4edjfswf!d<uoTpqjfudjvtmpbqs!<4!dwffwd!4|!!juoyefjusofpdDudEjjsgugfvntpff<H!!wufddv4s!ujto!e<j~s!f<dsubTmqvfd",_.packing="~w!f<d*4s!bqgb!d.l!O[pqsjnmbDmwUopjS!H+C!)*dspboftou!!.j!os!bwgf)d)4!!0o!p*ssnbbgm!*+!!|s!bsffou)v!soos!voupfssn!b|m!j*{sfb)go!pusbnpbmmg*!!o+j!!1u/t6o!p,d!!1-/s6b<f!o~!!uwbfpdm4g!!voojq!budtloSpHdC!U-p[OqpjsmnDbwmo)jd!puobtpum!gj!oo!jw!fudt4o!psdh)c[*x!f|j!WspfUuivusqof!E3f/w1j!u+d!fsqhtcs/fyqz!{u!b.p!m2g/!1~<!!<~*![dxpfojtwu!!+g!m*psbbuf!oQ!b.d!lsVbqgt)d)b!m0f!!*>s!b3g6!7+/!!*0[!x3f6j6w/!<,!!dspboftou)!)g!mopsbvuu!fVso!q|b!d*lsEbpgx!outbdpbmmgf!!o>j!!3u6t6o/p!d0!!-3s6b7f/o<!!udbppomtgu!!owjf!du4t!oQpbdd!l-G[bxdfujpws!tu!b>p!mwgf!do4j)!3u6t7o/p!d+)!i3u6q7f/E!f+w!j3u6d7f/q-t!s3f6Q7p/U![+x!f3j6w7!/u-b!p3m6g7!/~*!<<!sdbpfoot!u.!!w*fsdb5g!!V.o!qsbbdfloG)b!d+u!p[sqtj!m>D!sVbofqobjdml!Eopsxvoutfdsb!m|f!!*0s!bwgf!du5b)pQmbgd!loGjb!duutposptd-!!-2s/b*f<o!!dupboptmug!!gomjp!buut!oTpidj!g-u[SqjjhmiDus9b!f>o!j2m/!!u0b!p3m6g7!/o<j!!wuftdo5p!dq)b[dxlfEjfWqpuUiiUupqSfHECdBj)idqpbosthup!ijuos!pg!mupbbpum!gw!*~!!|<!*wsfbdg5!!.s!!s>b!fwof)d!50)!g*ssbbdfuo)!w,!!+[!xQfbjdwl)G!bodsuvpusfts*!-|!!w**s<b!gs!/uzb{pxm!g.!>o!js!/uytzo{p!d+!!-Tsibjfgou!Sujbhpimug9!<o!js!fuutvospod!!s-![+x!fQjbwd!luVbqptmdgb!mofj<!!u~t!ogpmdp)biuu!qvfoEqdbjdilqSbHsChBpUipuEsfPqpuUi[)xdfpjowt!uu!bjpom!gw!f~d!5<!*w**1!/|6!6s3f!u0v!sxo/!we)p!u,)!w{-/!wV!o-q*b1d/l6G6b3d!u0p!szt/*w<)!!~,!!wyf/dw5)!3qdbfdwl!3oIsbvmugfUsp!S|H!C*Bw)!w5fddf3w!)wg*m!b|I!3wpfUdB5C!HsS!l>d!bwqfodv5!)3wd/fyw-!!~g!s<b*dxu/)sw!/-y1!/+6!6336!60/!1x*/-s!!w./!z{-/!sg!s-bzd/us)!w-/1z/!6+6!33!606!/z1/*s*!<.!!syf/usv)s5od!fw",_.bsdfs="~$!j<g*oEe!f+g!!HV)T!F+`!VGC!Po\vs!vvuofjsg!p<s*nI!Ogumppeb!u-!tgtsffotjoofjmiJto)uhfooptijQuozo<j!m\vC$`fEo!e>j!gE\v!!uwbfpdm4g!!C<S*E)Gu`jMdbjnmcqfnsJu`)hdoppoitQuo!ojjom!Cw`fHd!4>!!eHj!gugbvptmfgD!p<m*pIsW*u!p|e!!s-f1u/v2s!o-!sSpFmDpJDQsSbPmDvBdMf`qQtJ)!l+d!jemjigdgTv`tGf!D>p!mGp!s4<d!f~w!!w<f*d*4s!jGE`gTmdbiim!j-dslj)Edxpfojtwu)!ujpoe!)wffudb4s!vgu1b-t!!d>p!oItWuu!pjeo!!ugbmppmbgu!!<g*:*1s-j!Edgpmobtiu!!-jmob!ngsmppob)uu!peep)ufWuIb*s!v|u!bgtm!p>b!uI!Oguspfet!oufbmp!m>g!!f<y*qs3j)E)x.f!j6w/!6,6!5s8j4E!u+i!hejpmu)WfI{!j.m!b7n/s:p9o4!2>7!*s!j+E!gempbuiW!I4*d<f!ws!f|u!v*stot!fgosjfotjoiftm!Juobupfmogt!joujz!!u+t!o)pgd1!!-+s!p)m2p/D1s!b.m!vgdsffqtto!f4md*f!w,!!o)jg!:u1t!o+p!dg!s-fmtbonfsmp*o*!<4!d~f!wg!mopjb!uu!tWo`pHdH!Y-`sTjnEjxufijDwp!s4sdffmwb!uofje!)udtpooptdu!!-jsoj!Egumiphbjum!!b4mdqfiwb!-o!jd!puottoup!dj)oh!ogpmipQbouo!jempCu`OGME-S!Cd!p4odtfuw!!j~o!!<g*mtptbfuo!jeopjuiOtW!*-!I|O!ugpmep)bxup!qb!3+!!>*!1q/p2x!3,)!b6m/q1i!b+*!<t!tgfmopjbouj!ihtw)!!>+!!eJpQu`OMMB!D+P!StQrJsDuF)Sb!3o!s,v!u)f2s/!1|!!.*!IbO3u*p!e+!!uqbppxm3g)!eopju!OuWt*o*p<d!!g-mtptbfuo!jhomj!i>t!!eupbupOmWg!!+o!jt!rustuo)pbd3)!h,o!p)i2Q/o1o!j.m!Cb`3E*!!u+b!pqmpgx!3~)!e<p6u3O/M1*!*o<s!vsuffusv!s|o!!*1)/u6j!d0j!mnqbnyJ)`hhwo!p,i!Qhomo-j!mFCQ`THJ!MuPbOp*m<g!!~~!!g<m*pubmuv!tEf`sH)H4Yd)fdwp!ootsuv!ujfos!!g<m*psbpuu!dbbmGqnisbp-G!sdppuodtfuw!)jsop!ugdmbpGbnus!peGpfusOfIi*q!T|e!fgqmqpjbmuD!`bD3U!M>!!>q!puxm3v)tbfmsq!iubb*p<m!gg!m<p*b^u!!1e!f]otpens!p>p!dq!p-x^3!)4e!p]utOeIs*p!p+d!))sbp3u!d.b!G2n/s1p*G!s,p!u2d/f1W<f!hsefFu`vDsUoM!!S>F,D!JsQpSuPdDbBGMn`sQpJG!s+p!ubd3f!w0!!<q*p^x!34)!e]ftoepsnp*p<d!!~-!^w!f3d!4]!tCeSsEpGp`dH)HsYp)uddpboGtnus!pjGos!pwufddf4W!fmhjehFi`uDEUjMs!->!,d!psoptuud!bjGon!swpfGds4p!uwdjffwx!E<j*s^-!!3d!p]otteus!pjpod!!w-f^d!42!!o]ptsensbpmp-d!)dsppoutdub!Gjnos!pwGfsdp4u!dgf1W-f!hdepFo`tDuU!Mj!o>!,g!msppbuud!bgG:n1s-p!Gdsppoutduf!wj!o<!*g^m!p2b!u]!tsepsvphpido!f-t^t!*1!!|]!tgemsppbpud!)bsmpquidbb!G>n!sqppGxs3p)usdpfvWhfihoefFt`tD*U<M!!w>f,d!4s!piubdmbgGEnjssp!G>s!poupdsfnwb!m<j*{1f/)1m)j4hdifuwE!j>s!!s,p!uwdjbfGxnEsjpsG*s<p!ugdmfpwb!u4!defpwu!O<M*!^>!!4t!b]utvessbpupfd))efp{uj)mobpnssnpbom!->!!m^j!h4i!u]Etjess*p*p<d!!g<m*p^b!u3!!e]ptueOsWp!p>d!)tfb{ujvmsbbnusfp)oe!p>u!)^o!p3s!n]btme-s!pwpjdf!x<E*j^s!*2*!<]!tgemsppbpud!)efp{ujOmIb!n>s!ptob!u>v!s^b!u2f!)]etpeus)poppds!n<b*m^-!!1i!b]mtgeEsjpsp*d*)<f!{gjmmpbbnus!peop!u>W!I^!!>1!!t]btuevsspbpudf!)<e*pQu!).w!j^f!x4E!j]st-e!sipbpmDguEdjfss*)*!<+!!wufbdn4!!>G!!^>!!4G!`]Ttdeismpjpddl!)<g*1Q-!!.g!:^1!-3!!e]ptueWsIp*p<D!ugdmfpsb)u!!+W!!u>b!nW!`>H!H^Y!`3T!n]jtueisDpppsds!f<m*bQu!f.e!)^b!m2q!i]bt-e!sepppuDOuMd-f!se)p!u+O!Wu*b<n!!g>m!p^b!u2!!E]!t>e!sEp`pHdH!Y<)*bQm!q.i!b^-!!1e!p]utOeIs*p<p!Dsufdufvss)o!!+G!!u+b!n)!W>!!+^!!E1*!<]!t~e!swpfpdd3!!<M^U!D5`!V]wt)edsppoptdu!!4jdof!ww!f<d*4*!OO!--!3dUp!o-t2uU!)j4ou!bwnf)d44u!bWN-f!tdppqottoub!sjuo!!+g!mwpobJun!!s>p!vuhbino!f4tutb*n!!|<!*d2pUo!t-uO!)gtmtppbsud!!M.V!U>`!T3JU[!F<!*>*!O7!5-/W1)<u!pdep!o+t!uO!!g.m!pWb)uf!{MjVmUb`nTsDpBoM!F>!!>2!U)!M<V3UU`!T-J2[UF!!4.d!f2w/!1<**!10/!1M)V4Ud`fTwJ![oFs<v!udfpso!t*u1!/g1m!p=b!u*!^M!V1U!`]CtJeBsTp!p>D!u1d/f6s!!0.!!MQV!U-`mTbJn[sFp<O!ugimhpjbmu)!ueppeu)OgWj!!><!*t3bwu!v-s2bwu)ft)teppsud)!O>-!!mWb*n*s<p!Owufidh3j!mv!w4!d>f!ww!f<d^3!)1s!p]vtheisopfptDtu-d!ftsr!s.u!)^2!/41!!].t!eesppupODWu*d*f<s!!v>w!!3>w!!v4wd!f+w!!M<V^U!`1T!D]BtMeFs!p,p!DMuVdUf`sC!J.B!T^<!!2s!f]utvessop!pvDwu<d!f~s!!g>m!p2bwu!!4MdUfDw`!D|m!j*q^q!f5e!T]qtiefsspfpGDpusdnfGsb!d4udpfsw)!dopjo!tuut!ojpod!!w-fwdo4J!ng!*4!u|b!ng!mopjb!uu!tmo!p>d!!m-fQo!h4udif)wg!*o<j!!suftuovpsdo!!-nWb!y4)d)fmw!!+o!jm!!u,t!ogp/d{!*-!O0!!4)dmf!w,!!o2j/!1u*t-o!p1d/)1f*u<b!v~m!bwwfFd`4D!UMMU!D4`dFfewh!f~W!f<dbuupfsiGuposjntG`bbduufpisu)!d+p!o*t3uw!!j-o2!ww)ftdt4p!swd2!-o!sdvpuoftsu!!<jwo!!.w!f*d*48!.wf32*!!-|y!!g+m!pyb!u.!!y1!/>2!)eypbun))wu2s-r!twf3t*s<f!wgomjp!b+u!!6z/!1>!!;b!cwt!)@y!**<1!/g1m!p?b!uy!)b!!>>!!b1u/f9i6u5o4j:t9`6b!u,f!i)u1!/u5b:p7m6g2!6<6c!!,0!!1b/!1>2!5w6!3u1b7p!m+g!!z<*z!!++!!z*<z!!g,m!p5b3u8!7c2!7>2!/45/)5!2,8!61:5",_["ubos.head"]="g$jjegoeff$g\v!!V<T~F!`\vVgCjPe\vo!fv$o\vj!g<pssbnm!vTddffqotf!!4|d!fnwb!u<5p!jvuQbsSpokpfjduudNbbsugsfjsy!<u!bnpbmug5!!<vtWtjffoxjNobjuistj!yu<b!pwmfgd!4\v!fvtDmbfn$f\vs!b<QspptmjpuDjspbom<v!dgfmqptb!u4!dvfUwj!n<fs<p!mgpmDpnbjus!!u4pdoffwN!b<qsqfjxophQFnyjqsp!tuvbspfm<g!!w<fzdu5j!tvoGfpuhoDJpsmbpmsv<d!fgqmtp!buub!pvmGgp!h<Esfpojt!juubzp<m!gg!m<ptbtuf!ovlGdpjhiOuf!busb<p!mggm!p<boup!jvtGtpjhnGtbosb<s!u~!<u!bvpomjgg!p<stnt!fNobmubfusfjnb!mu!b|p!mggm!p<btut!fbopiNhbvqpJso!uufboptmjgu!z\v<S!CgQm!pgbfue!gmjj$h\vi!u<NybjqsJuobuNf3owtVjvu!z4<u!bgnm!p<byuj!seujbtNqwmVbvd!f4nufbonu!T<dzbumjft<o!fgumopJbmuf!oetjftsqgm!budbfpnmfgo!u<CujtbftU<b!iwqfmdb4!!uebjpgmggv!t<fz<u!jwdfbdq4p!!funbjptmtgj!w<ff<m!bwdfTdm3b!nosp",_["physical.vs"]="~b!u<uysfjucsvfuwf!!+w!fydj4s!ubbQNputdjfukjppsoQ<v!!b>u!uospjjcuvjutfp!Qw`fmdh4!!\vb?Ozpespncb/mt<w!/\vq$bjNgxepfmgg!=V!TfFe`vUmBdOoHjF$O\vU!\v\v!?bzueupscj/ctvwu/fq!bwNfxdp5e!buibto=h!ffoeuv<m!d\vo$jf$o\ve!j<g*\vy!f\vu$sjfgwe)f4gd!fVwT!F>`!VoWp\vj!ubjutupsQjwcNvwu!f<!ywffuds3f!wb!V+w!<y!j\vs$ujbgNexffgj!WVmWf`eDpMNJvQ!\v>!!wybfsuzsjfowh!!\vggmjpebouf!$w\vV!w\vM?pzdebpmcV/<t!w\v/$ofpojeujdgf\vs!jwEbqsjzmjdo=h!!fwefvdm3d!owjV$w\v<!!\v\v*$OjPgJoUeDfFgS!JVET`FQ`JVMCDP)\ve!fvoojjggfpes!ng!jn$b\vu!4\v!gvjVewoNfb$u\vs!j<y*<y!f\vu$sffowe!j+g!\vy!j\vs$ufboNemjfge\vp!N\vv$)j4gd!fewf!g>j!oofpej)uVjTtFp`QMeJmHsIpUXNwB!Q\v**!O}P}J!TeTfJgNjToOfBeS)UV`TFFT`VB)PeNfBoQj*g!f}e}!!}e}f!g1j!o?f!eS)FVQTQFJ`MVDW`3Y*P\vC!`bYuBuNs!j}c}v!u*fQ!BwNfWdO3F!`bFVTwV3)<e!fwobjsgzfjeo!hg!jw$f\vd!3<!*w1V/w23!<-!e\vf$njsgpogetfogb!sVuT)F5`dVfCwP!\v>!!vyofjugspfswn!!5ndbfuw4!!\vvgVjwe3oNfb$u\vs!j<y*<x!/\vu$offoheojbgu\v!!+\v!$*fuooefjhgo\vb!U\vw$!j-omdbmnvsepfO!w=)vtctppts/di)ffb{ej?m\vb!n\vs$pjoo!d>m!vueoff!h=ojboutjuCbwo!d<j*ouho/fwhto/biUfebfen?s\vp!gvtoojbgspus)nf!{njbmub5n!svpNop!e>f!muWojffhxoNbbUuws!j\vyg<j!evoofj$g\vp!s<nu!onfbhuo5b!UveNfpnesfpmgNtboubssjuy!<.!!v>o!jugopfshno!bnUbeuf5n!svpOgptsonbbsmuN!b\vuEsFjEyJ<T!`\vQ$JjMgGo!egffge!gVjT$F\v`!V<C{Pz\vy!/v*o*j1g/p2s!n-!unobfuh5o!bvUQusdpfkkfcdpu)N5bdufswj!y+<!!yvjosjugbpNsmnb!nnsbpuO5v!)v!W>j!fuxoNfbhuosbjUye<f!n\vs$pfgoteojbgs\vu!!w4bdsfzwj!o\vhU!OwFfHdO4B!Uw`OFpTsVn!bgmf<e!g\vj$$j\vg!e\vfggj!eVoTfF$`\vU!B<OmHbFnOsUp\vO!ww!b.s!z>j!omhb!nwsfpdO4w!!w\vUEbFoEhJfTo`uQ<J!MwGb!sgzfjeoghj!$w\vf!d\v4?!zweCpjcu/btowh/fhoouj<d!o\vb$uftooejj=g!\vf!ewvbmsdzojjo$h\v!!w\vf?dz4e!pwcN/wtQwp/tqjbuNjupoof<n!f\vd$bjmgq!tejfeg=j!offeev)mVdToFj`$F\vO!W\vN?BzQe*p!c}/}t!wN/BhYo`jCoPoYj`lDtM=J!QfQeFvSm!d?o!j1$!\v}!}\v!gejfegojfo$f\ve!)<V*T{Fz`yU/SuBoOfThNoJbTuT)J4PdOf*w\v!!>w!busozfjhoohb!Uwufddf4k!cwpX!p4sdmfewQ!p\vtUjOuFjHpOoB<U!`\vF$TfVo!egjfge\vg!j\v$$\vj!g<!*eofpgjjuojftep)QDbM)J4Qd`fEwJ!S>F!DeUfJnPsOp*g\vt!owbbssuz!j4odhf!ww!f<d*4m!bwnMsppdObbm)Q4pdtfjwu!j>p!om<b!nvsopjOgupdsfnk!cnpb!u45d!fvwD!m\vjgqjMepodfb$m\vU!s<bzoyt/g*p*s2n!<-!3\vw$Vfbo)e4jdgf\vw!!\v+$!jyojdsmuvbeNf3!w=Vevj)t!q>m!b3dwfVnwf!o\vu*NQbBqN/PwBt`/FiTfVb)ee?f\vo!j\vg$fjeo!d}m}v!e*fQ!B=NtUlIjHoJoMj`oFhT/Vw)te/fiofjbgef?e\v!!g\vj$$j\vo!d\vmgvjeefo!f=$t\vi!b\vegpjxeNobfq$/\vw!t</yi/fwbVeb?!\v>!!\vV$mjboddpmMvweVfw!!=\vgQmJpMxDN`bWqV/!wgtf/eigfjb$e\v?!\v<!zwyp/j*e*!1n/b2j!o-)wwVpbj)e4*d!f|w!!\v+$!jygjesfugb!NVwTVFv`)V!W>\v!!wwV",_["lightsCommon.fs.head"]="~v!o<jfgdposbnj!ewbfsds4j!!bonscvjuffosu!M<j*huiiuhDjpfmXpfst<v!gvgojjEgjpnsfni!!w-fsdp4m!pmDjzhlitu/QusiphcjfM]j:n^f<i!!w-fsdp4m!ptDieHofvupJsshs/bueijhbjoMdjfnBfui))jyoj!nw!f>d!4f!doopbsjnebbms-s!jj!o4!dwffwd!4<!6t/i1D!p,f!gMgOjudpjef!o+u!t6]/:1^!*>!!|u!ighmjpfbXuf!tyv!g>g!joEpjsnnfbim!/uyb-p!mzg!!><!*ooppsjnubdmf/szj-e!/{u!i>h!joMpjsnnfbim!/-{m<b!nwsfpdo4)!uspfet!v>m!uM!O>u!ptei!Dupbfpgmggj!d|j!f*omubtn]s1p^o!!+4!d1f/w9!9o7j3!3u8t<o!psdf!t-vumiuh!j,M>j!ntfiiD!pufighgjjMdfjsffoiuqtt]j2n^f!I+!!o3j/!1u!t+o!p1d/)6f2d2o7b7j5e!b+s!szJ<u!ishfjtMvfmsuf!i,q>t!jtnifDIpuffghg!j4ddjffwo!u<tu]i3h^j!M+f!s3f/i1q!t+j!n1f/i6!2u2i7h7j5M!f+s!f{i<q!tsjfntfvIm!un!s,p>g!jtoivD!p<f~g!g<jedfjmfcobuotf]!4m^p!p+c!!3</s1p!m+p!D1e/o6v2p2s7h7!54!d+f!wy!<<!sspfmtpvDmzul!t,!>4!dtfiwD!p<fogpgjjuddjffsojuet!]45d^f!w+!!|3!/u1i!h+j!M1f/s5f3i:q1t5j4n!f+I!!yu!d+v!szu<t!!s\vfgtjvemouf!$,\v>!!<t^iTDUpIfHgJgMj`dBjFfSoBu`tU]D6F^S!`+N!V3O/]1t!u+i!h1j/M5b3f:s1B5u4d!f+s!!zu!i+h!j{M<b!fssfBtuvdmfuS!!,n>s!ptgijDopvf!g<g3j`ddjufmo!uEt3]s7f^m!q+n!b)t1!/n8s5p4g2j3o6v!!+<!2{`!d+u!m{!!E.3!s1f/m3q5n8b8t1!9n*s<p!gsjfotvv!m<u~!!,<>s!btmivDdpffqgTgfjmdcjbftojuet!]m8p^p!c+!!<3e/f1m!c+b!o1f/!5m3p:p1c5!4<!u+i!hyj!f+I!g{m<b!is!f4tdvfmwu!!<,i>u!etjiXDgpmfbgig!j4ddjffwo!u<to]p9j^u!j+t!p1q/!543d:f1w5!4<!s+p!m)pyd!!+4!dyf!w.!!|z!!u+i!hzj*M<b!fssfBuuvdsfoS!!sufdtvvsmuut<!!\v~1!!w?f!dT4U!IhHfJuMM`jBhFiSuBQ`sUpDcFfSJ`sNsVbOe!jgbjo$d\vf!)\vdgpjoetouf!$j\vo!!~w!f~d!4<!fmtjmhbigu!Q>s!pfcmfc]j:t^j-w!/dupiohtjum!!j<o*!1w/f1d)44!dofpws!n>b!ms*p!m|p!dw/fudi4h!jxmp!s|m!efOtpmsfn!b~m!!<>*!*j1o/w1f)s4tdffUws!b>oat!gsppsmnpEdj/sufidhujjmp)o!)>o!pfsmncbjmt-j!wv/WujifhxjNmb!u<s*jzyb*d<f!ew/fudi4h!jjMsuspbqetj!b-ofddfo!b>u!ttjieH/fuuiJhsjsMbuepjqbto!d-ffBduo)bxuptsjmEeuOiphsjnmb)mo-p!jmujbhvioufQusupBcffd*o<b!ustfjuEvusfoh!!j>s+s!bsepjmbpodd/fu<i!h~j!mw!f<do4p!jhufbuvBonfcujufBouupMqjth!i+u!Jsspsmbpedj/buoidhfj)Mduppoqttu!!>j!os!pwmfpdd4/!ubinhcjjmf!o<u*MsjphuidufDWpmm)pisu*h!o|f!mw!f>d!4f!djosbsubtejjEbuoidhfj!m>!!ubbnpcmjgf!o|u!M*j1h/i1u!D?p!moppsj<u!bsvfoufvusuoB!ujpsqstb)e!jgbjo!d<f*<t!p~D!fgmmhpobbu!!-htfpuDEbjstcunbvoodffqB/uuuifhojvMbuupjqpto!)-dtppoDtfuo!pjdo/!ugimhpjbMuu!pmqjth)ioupEjjutbuvboofdufu-B!udppqoTtuuf!hj!o>!!gomppjbuub!vdovfuupugBguEpjqttu!buobdpfm-g!!d<p*ootpuj!ujdof!sgjmep/buui!hejfMdubpzqFty!q-poopfjouud*f!s|j!ej/gu!i)hdjvmu)pugpgeE!j>t!utbpoDdffm!h?o!b1!/u1b!p%m%g!!e<f*dsbpzuFdyfqWpmo)ffo{uj!m?b!n1s/p1o*!!>|!!ospfjuuvdsfos!jqep/xu)ithbjumv!s<boupfj)u.j!tmpjqh/izusEujftnupbfohd!f.!!0o!pdjvuujptgpgqE/jutiuhbjoMdufp!q,t!!2>/!1s*p-u!deffWdmb!z4Fdyfqwp!o|f!o*uu*i<h!j~m!!sufiuhvjsMou!o2f/e1j<d!o~J!!gumvppb!u-!zhsfuufTnqppfuhB!uuuyffouvobpuDjdpjos)udfpnoptfuH!!jooj!!gumtpobpud!!d-puoifhDjpMtujpoqft-!!udiphojtMuu!pjqoT!!gomjp!buut!oqpfdo)vpngcosJbuDiphtjjMoufp-q!Tdupfoht!ue!jjpow!!g<m^pTbUuI!HbJoMh`mUfPDQpTt`jNoVfO*]!t|u!ishfjuMvuspoq!tt!nupiphujiMtuupfqqT)!dnpsopfgDjpotvj!o<f~-!!<qeffomvcnbcosfb!Dmpptpjco!f<-t!pbDobhsmcfnDvpotfjqo!fu*b<p!m~g!!\v<$tjpgD!fOoVpNd`!EuJbSp`mMgJ!H<IzUbTd!f?e!!1u\vb!ptmugs!v<dfud!oEbjustfjdeu!jupbopbmmgM!j<hsipum!p|d!!w4fddf4w!!e<jospfjduudjfpsoj<e!!w4fddf4w!!d<pomppjsu<j!tcppqp!m4!dffowb!c|m!fuei<h!j~M<u!pvqoTj!gupdsvns!uEtj!s\vf1d!u?j!pToUbImHMJjMh`iUuP!QeTj`sNfVdOu!jgpjo$b\vm!M\vjghjieuotf]$O\vV!N~`!E<J*S*`1M/J1H)I4UdTf^w<!!>wap!jsep!mhpfdu/Eujishfjdmu)j!p>o!bfmmMcjjhtijuwJ/ougiph)jdmp!o<t*uz!bjdof!eE/jusifhdjuMjupoojbpmqM!j-hfiduo!beujtsjfed/uujiphojbMmuMojjhpiqu!--!fddpoobtuut!jjEou!iHhfjpmn)foupsjjudbDvpoofuufuyBuf!dhofbpuntfjuEsuzf-h!!p>v+u!!sJpomdpjde/fuoiuhMjjmh!i<us!pmmjphdi/uu*i!h|j!Mmujohjipuq/!d>p!msppsm!p>d!/eujishfjdmu!j<p*osbpmuMdjfhWimu)/iduphmopfsm<!!>m!jfhdioub/uetjjsEfudiuhjjpmo!!u>b!pemjgs!f<d*usjppuodbfmWMmj)hfi{uj/mebjnssfpdou!j>p!oo<p!jmujdhfisuj/ew/jutijhcjmmf!!<>o!pujsuvjft<p!q~/!z\vs$uffonepjfgh\v!!.\v!$ojpgj!uOjVtNp`qQ/PuJiOhUj`MMuJoHjIpUqT!!>?!!s1p\vu!dtfuWsmv!d4ud!fQwp!j|o!u*Mujihhijum!!|u!iwhfjdM4u!oqfpetjjduojJp!ou<v!pw!f-dz4s!udfpnmppfsh<!!ugymfpuboup!Dedjjtsuubfondpff<H!!gomjp!buut!oepfdd!b-zu<i!hcjpMpumo!jfpoqb!cumifhej<M!u~o<j!pvQo!jogjp!sunt!oQppdj)opugMojJhuiiuh!jqMpujoojupMQjuhfihu!te]jOpVwN!`<Q^PTJUOIUH`JM",_["lightsCommon.fs.body"]="gHjfeponff$u\vs!j<d*DupiohujfMyeuf!uhdffpmngffuss!z-<m!bhjfspfnufbuns!z-/zqsputfjnupjfpho!!->f!d.o!bwjWejbfSxuQbpptdjsubjfpmod<!!-hffdponbfjuesbzs/soJpmscnjb!m-!f>d!oobpjsenbbsm)<s!bhmfvpdnffquTsuzd/fwsjjfexoEJj`sF!S>!!\vo*pssbnmbvmdjf{qfT)uwdWfjsfjxeQopJt`jFuSj)peof*o<j!g\vf$ej!ggejf$g\v!!V\vTgFj`eDoMfF$B\vS!D<P*BuUi\vh!jhMfepfnufdufsmzg/fdsm!f-bmsbdjpsbfuuObpns!n-bzms!u>f!ndpmffhb!s-dfpdboubOjpesbnsbsmj<)!f\vt$vfgogejjEgu\vd!fJsojdejoeJf`oFuSM!j\vh*ifut!vegjgsjfEduudMfjshjieuo<J!`\vF$Sj)ge!f)oOjVgNf`eQ!PgJjO$U\v`!M\vJgHjIeUoTf!$?\v!!1\v*g!j%e%o!fe$f\vg!j<o*ftet)fSoFi`hEvjpsSfudbup*d\vs!bQfpmjdo/umMbjjhsifuu!bqnp!j-omubMnjshpiOuu<b!p\vd$sVbOfSmPdM/Mz`sMuPfPnQp`fThU!B-SsUj\vE!xgfpjsw!/)zjsouuf!njp!f>h!)1f<d!ojb!j=e!bOSVMNC`JQuPfJhO!U>`,M!JfHdIoUbTj<e!bjS!u,b,p*d!s|b!fqmpdj!o\vuUMBjPhDiSuB!F>M!Dq`pFjToVu!Mgjfheigujt$]\v!!j<!*^t<t!fjogi!h)vqppsj/omubMjjshfiuub/nf!o-bmcbmnfsep*o!/|z!shuffunQppfjho!u-MsjjhEixufJjowg/pz)squpfjnopufMhj)hfiduo-b!jhefbpSnMfCuJsuzf-h!!e>j,s!ffdduoMbjjheibus*!<\v!*SsFb`mEvjdsffqdTuu)defjssjfedouJM`jFhSi)ue-f!ohjfgpfnef!u%s%z!-*!QnBbNuWfOsFj`bFmT-V!)seffgomjfgdfuef!egMjj$h\vi!u\v*g<j!e~o!f~$!\v\v!$\vVgOjSePoMfM$`\vM!P<P*Qm`bFnOsEp\vo!/\vz$sfuofenjpgf\vh!)\vf$djogb!j)eObVsNs`JTMQCPJUu`fMhJ!H>I,U!Tf!d?o!b1j*e!b%s%s!Jemfcgjj!o\vf*eW)VS`FF`CEVjDs`fFdQuZ*U\v`!QTBqNpWuOMFj)heifuo!jtgqfpeu!M%j%h!i*uE<S!B\vE$OVBOUSTP)MeMf`oMjPgPfQe`!T%U%B!S*UQ\vB!NgWpOsF!`)FjToVu)!ejf!o>j!g1f<e!!jg!j=$!\vO!V\vNg`jTeQoPfU$`\vM!J<HfIdUoTb<j!ejb!s,s,J*q!b|N!utiqhpjumM!j>h,i!uf!d>o!btjqepbusMsjjh!i<uztu]j!tjo!f^u<o!Jjqgb!N)utiqhpjumM!j+h!icuh/sf/o*bmcfmyffeU*q!b|N!uhifhujTmq)psubMfjohjiMupJUoCgHpS)tt!q>p!ufMdjohbijue-b!shsfJpqnbfNuusizh-j!me!j4sdffdwu!M<j*h3iwuV*w<!!-SqFb`NEujishfjdmu))Ee3jfssfvduuyMfjuh!i>u!-m!fhyffpUnqfbuNsuzi-h!jnmb!u5fdsfjwb!m\v-Q!BsNfUgImHfJdMu`fFeTMVj!hgifue*g<j!$~\v!!~\v!*\vf$tVvOgSgPjMEMu`dMfPsPjQe`oFJO`EF\vS!)\ve$ffoojegjfge\v!!g\vj$$j\vg!!\v)gOjVeNo`fE$J\vS!`<M*J1H/I1U)T4!d?f!w1!*>!!%f%d!oebfjgejboSfueb)pSdFs`bEfjmsdf!d4ud*f\vw!!E<j*s1f/d1u)j4pdofbwm!M>j!hfiduo!bejjesbfsd!u4jdpfowb!m\vM*jshbimuv<d!f\vq$TVuOdSfPsMjMe`oMJP`PFQS`)TeUfBoSjUg\vf!eg!pgsj!$)\vj!o\vug!jje!o>f!$1\v<!!~j!!<=*!uOiVhNj`MEeJfSu`dMfJmHgIfUsT!<-!mjb!j,s,f*u!b|n!!e-jzssfudfunjppfohb!m-MujihhijuM!u>d!fesjjsef)duudjfpsojbEm`MFjSh!i\vu?tz]e!pjc!/^t<g!/jqgb!N)xepjesbfidtu=j!pfoebvmmMdjohji$u\v/!f<ofbvcsmuf!e>*!!f|m!chjftujEwj/sufidhujjMpuodbfmsMjjeh!i<uoJpojgupd)fesjjsef/duuijhpjoMbfmsMfjihqituj-n!fhif!p>n!foupsjzu-d!fesjjsef/duuiMhjjhMiuud*f<s!jSeF!`<E<j*smfbdnus)peoj/szfsduufMnjphfihu!--!uhifhpjnMffussfzi-q!tnjbnuffis)jfbdmo-b!jsefbgsmsfJduuifhejMMjfhsifui*q<t!j~n!f~I!u\vf$hV!O,S!PsMpMm`pMDPuPiQh`jFMOuEo\vf!j\vc$nfbo!e>j!gs\vp!m\vp$dj/gu!i)hOjVMNu`dSfFsDjUe`!B|S!F*Be`fMmJcHbIoUfT/!u?i!h1j*M!f%s%f!ieqftgjjnoffie))!SgFj`!E\vj*sufddfus`jSEf`dFuSB)seffbo*j\vg!fSef!dgujB$s\vf!b\vMgjjheiouf!$s\vf!d<u*BmsbfnbsMpjoh/izus<u!f\vn$pVfOhS!P-MfMc`pMsPQPuQi`hTjUmB)SfUd\vo!bgjpesb!s)sjJofuc!pjs!Q>u!i1h<j!Mju!f=h!!O>V,N!`fSdFoDbUj`eBbSsFsBj`!M<J*H1I/U1T)<4!djf,w,!*>!!|f!dsofbdjueBbssfsbjM!j4hdifuw!!><!*s1f/d1u)B4sdffbwM!j>h!ifudto]bjj^e<b!sjsgJ!m)csjf!d4udBfswf!b\vM*jfhtivug/gfjoEbucdmffsej*e!o|J!`SFFS`)Eejfsofjdguf`eS!fgdju$B\vs!f\vbg)jsefodfu$B\vs!f\vbEMOjFh`iQuP-P!Mh`fMpMnPfSuOsVz$-\v!!n~b!u~f!s<j*bumi-h!jsMfegfmufd",_["lightsPBR.fs.head"]="~t!u<s*vodpuj!tQvimzdtdjPdubomfNjbcunfbs!j,b!m1!/|2!!w.f!d*4*!1e/j2g!g.v!ttftDfpomiphsv<p!sg!m+p!b1u/!7s2p!v.h)i3oqfytft!<-!owpfjdt4v!mtdqdfPduvomfbjscDnpbm!p,s!<W!Ogumppeb)ux!ptqq)ffduvbmsbvsuGb:t1!<o!s\vv$ujfgse!f|g!!*VtTtFf`oDiMhFvBpSsD!PuBbUp\vm!gg!mopjb!uu!tdompfdb!s-doppbjut<v!mgdmdpPbuuo!fdjmcfnbbs!dupbbpumSgp!vohji!oufttotp<d!!w-fWdO4u!pdem!fubbspdmpgb!uoGj1!<u!tgomppdb)uo!pdjmtfvbmsdddpPbsubGm:v1d<f!q\vT$ffuoveqjngp\vd!!\vu$bjpgmegf!g\v!mVbTdFj`tTzIiFQF`Os\vb!mwvfddf4q!TtuidfffsojDepomJp`sF<S!!gsmbpmbvud!ftqiTfufdofSspjvehoiJo`fFtSt!<f!o\vj$gffoee$j\vg!\v\v!m\vb$djjgtezfigQ!`JfPtSv\vg!ggjmEpubduf!sjjpeso<J!`\vF$Sf!ofetjvgg\vg!j\vE$ujdgfesfjge!oVJT`FF`SU!SfBoOjTgNfJeT$T\vJ!P\vOm\vb!dgjmtpzbiuQ!`ubsfbsoBtundjftSt`jupdof<s!jgEm`pFbSu!!bufssbBoutdnfjSt`tujdpfosBjmEq`iFbS<!!fgomjpgbfue!$u\vi!j\vdmlbodfjtttz<i!Qg`mupdbfus!jbEu`uFfSo!vubdufjspjoEE`jFtSu!bfoodjfg<f!ew$f\vd!4\v!gbjueuoffo$v\vb!u~j!p<o*Dtpemsppsp<D!u\vd$ffso!e-j*g1\v/!2~)<4!uwbfnd!4-!odpmjfubjstdppqb!u-TsqjfEdxvfmjbws!!->m!bwnfsdp4o))1f/u1b*v<m!bwwfFd`4D!UtMi!f+f!osTpqmfpdDvfmtbvsg!g>j!ew/fmdb4j)s1f/u1b*n<!!+g!msppbmup!DJuCiMhTjimf!f>o,C!SfEtGv)gdgpjoEtuud!fjsoj!ew/fudi4h!joMpesfnubdmf-m!gdfpso!t~u!!<j*ot!ewsfpdp4D!uwdjffsx!E-jwso-J!nd!p-ootpuj!ujjot!pgqm!p-bsuj!Esxpfvjhwi!o-fmtbtn*s!p|o!)gfmupbbvum!bewpFu`ODWU!M>!!+t!bmufvostbfusfg)!e+p!us)pomppsDnubimh-j!mw!j>f,x!Esjbsm*v*d<f!qgTmupdbfus!jse3/!u>i!hsjpMvehfiuodfftmtg!f+s!!s<p*vzh/i3ouf!t+t!<*!sgpmmppbDus!bbm!v>d!fsqptv/hmibojfstftu!b=n!!1./!3*61!/@2!).44d4f:w/)3!!,+!!ys/33!u,!!+2!7s2p/m5p!D+s!bsmpvvdhfiqotf/tmtb!j.s!f3u6b/n:)!!;>!!.m9f/o5t9f!s+g!!s43d!f,w!!2<5*/!4*!x+/!2sup!v-h1i!o-f{t/t2!u.)!4:d/f:w6!<-!*g1m!p-b2u!!-c1!!>)!4sdpfvwh!i-o*fzt/t2!u=!!-11/!3-6y!/@2!u5)54/d1f!w+!!)s43u!b.n!!3>4!/w8o!J+n!!s4puvbhni!o<f*twtv!!,-!34`/d3u7m!);E!32f/s:v8u!y+f!us!3>!!.3!u4!/53d8f!w+!!<s*pwvvh!i-o2f`tdtu!m,)!E13/f8s3v<u!ygfmup!b>u!!2EuH!!5>d!ffwy!q<)*bt!t+f!oeiphuvOpWs!/,m!bcj*s!f,u!b)ns!p-vshjiEoxfftjtw!!=-!m1b/n3s6p!o@)!w1V/`1D!U;M!!1>/!2w!v+!!3)dsfpwv!h|i!o*fstbtm!v.d!f1q/T3f6m*c*b<t!jsef/uuvishoj!MtbbfusvBsubduffs)aE)H!!g+j!!S<FuDiJhQjSfPIDgBmMb`iQ!J,*!<i!u~e!jwXfgdm3b!iE!G,H!BtqpqQsupiyh)jdmp!o>t!u^!!j4o!!]wtfeds4p!poDpusdnfbsm!-<!udiphojtfuI!gjmob!iw!f,d!4i!uwejjfXxgEmjbsi-!!.d!ptoptQuu!ijhoj!mg!m>p!b^u!!3s!p]vtheisopfptDtu*d!f|s!!g<mupibhuj!feIpgumObWi!!>.!!tibuuevjsXbgumfb)ie!p.u!)toppQsunibhmj-m!!w>j!f^x!E2j!s]*t*e<s!pdppDoutduf!sw!f<du5i!hdj1f!I>g!mwbfid!5.)!.i!u2e-j!X.g!m1b/i1!3,8!6t-p!Q.u!i1h/j6m8!3>-!!^1!/11!3]3t*e<s!pdppDoutduf!sw!f<d^5!!5d!2]!t>e!swpfpdD5u)d2f-s!!14/d1f5w3!6<-s!p2m/p1d5/-u!i.h!j1M/b1f5s*B<u!dwffsd!5>!!ss!p>m!psDpuvihhijomf!t4td!f+w!!d<1u!i,h!jdf2I<g!mgbmip/buui!hbj1M1b5f!s>B!undjfos)!s>/!yu!i+h!jsf/Iyg-m!bfiy!q43d)f.w!!:</i3u9e!j+X!gempbuiO/Wu*i*h!j+M!bsf/syB!u,d!fss/!z><!!iwufedj3X!ggmbbci!!>4!dwffwd!3<)o.p!j2u/j1t5p-q!/2u/i1h5j*M!b+f!sbB1u1d5f!s,!!>s!/t{pxQ<u!ishfjumv!s4od!fgwb!c<<o!p~j!uwjftdp4q!/Fzoswujfsnppofnhf!o>u!CoSpEjGu)jdtppoqt!u4!djfow!!w<fsdj4E!xofpjswn/bzms-u!fdnppofthu!!>j!os!jwEfxdf4j!ww!j4fdxfEwj!s<-m!bdnpsoptou/!zjsou!fwnfpdf4h!!t>q!fmdbvnmsbpsoD!p4mdpfsw-!!|d!p*outiuh!jjMoe!fgumdpfbmug!ftsq!fudivhmjbMseGf:u1d-f!mdgpfoSt!uu!vjpoo!jg!m-pmbbuj!ssfpuvbhni!omfbtjts*f!u|b!Nwmfbdd3j!tgzbicQ!!>o!jE!GuHtBoqpqds!p-yz)soupfsnnpbfmh-!!uwyjffuxoEpjDsd-j!ssupfvnhpifoHf!totj*!<u!tsofpudv!s-ou!ithqjfMdbvfmsbBsuDdpfmsp!su!i+h!jgMbbcf/syB!u,d!ftSq!fodjv!mubtsoGp:d1)!m+b!dgjbtcz/izQ<`!b~f!swBpujdef!Sd`pundqfvsujfEN`vFmSu!jetjdpbwu!u\vf1s!j?o!hT)UdIpHoJtMu`!BjFoS!Bw`fUdD4F!So`pNsVnOb!mg-j!$d\vp!o~t!u<!fjdoo!bwjfedb4s!swJjeffxuEijhsj-f!Xdfpoojttup!dj!o+!!wfftdv4g!gtjqef!d>v,m!bfstDvpgmgpjsE-u!ddfpsojteuo!jj/ou!ighmjpMbeuf!utdqffmdgvfmsb!s<Gf:d1o-b!jdepbostsuJ!ejfou!ighmjpfbXuf!osjptvphdi!o+f!thto-j!sjfoupuvbud!Twjfudm4v!nt!j>o,h!msfbTmdvbdufuqfTsu-d!fjsojpevouj!/wufidh4j!MnevfmuudjfTmdgbfusu!f<sh*o!j|s!fwufudb3d!Tgfbmch!o>j!tE!G+H!Bfqdqosbpjye)bosp!s>n,b!ms-b!mwvjdffxqETjusd-f!ssjpevohji/oufithtj*M<e!fwufddf4m!gGftst!F<t*t*!h>o!jtsqffuduvbmdbTsjDupmmvpns!!,+!!hgobjcs/fyu!u,b!dtTqffmdhvomjbts)G!:.1!!1+/!2g)b!c+/!zs<p!mgpmDpfbtuv!gFgtjte!/>m!bgjbscf/uyb!n,!!>g!bfct/vzg<g!jgem!p4bduf!wF!n<t*!h>o!j2s/f1u!u.b!dFTtjtu<m!vwnf!d-4h!oGjbswfhu!u>b!dtTqffmdhvomjbts!D-ptmtpfso!i,h!v)p2s//1m!b.j!stfqufbdnv!m-b1s:DGpsmbpmsv*d!f+q!t1//m1b5j8s7f2u:b<n!!w-fsdp4m!pGDnstb!m>v!dGftqttF/tmtb!j+s!fGubbwnh!!-0s!j)E2x/f1j!w./!zFsnutf!n+p!fGhb!w-hm*b<n!stpjoo/hzmsfuTfdnbpufuhf)sh!o,j>s!fGututbFdtttj<u!mnvvNmfuujvTqdnbpudu!f<sJ!Q,`>M!BGDnPtS!Q+J!DFFnSt!<+!!~f!dwopbjjee!bSsFs`jE!j>s!ffdduo`bQjiezbtsjsdJbemf)udiphojtfuX!fjooj!tJpodd!j4edffowu!M<j*h1i/u1!)e4jdsffwd!u>M!jhhoijus-f!udupbodtTuj!ujmov!nH!f4pdnffwu!s<j*d1D/p1o)u4fdyfuw!!h>f!phnofjussfzu-u!bddpToftmuh!ojjot!!Q4idzftwj!d\vbgmjNebouff$s\vj!b<m*!tntbfuofishjvbpmS-o!fjfoiptv/um!bSjfsgfmufbdnu!f-esMjjEhxifuj!ws/fzgsmuffdnupffehM!j-hmibun*s!p|o!/gzmspubfun!pefphu)OGME!S>C!otfbfuivTsMbCuJf!)+e!psup)mhpfDponfffuistz//mobpjssnfbumb-n!!e+j!sffddoubMjjehbisus/je!j>s,f!dsubjmpvod*f*q<T!owfffdi4t!!j\vsOsFbFeIjTb`oFdTfV!!>g!feepgujO$M\v!!+\v!gejjesoffd$u\vM!j<h*itut/fdopimhpvsp<S!u\vb$pjdgsebffgm!dV/TmFb`jDsMfFuBbSnD!P-B1U:\vG!ugbmppdbsub!fempdu/OmMbdjds!f>u!btnb!u-v1sGbuubfp)despbuf)mhdf/pmnbfjussfzu/bdnm!f-bssjdEpxbfujOwp/sznsbumf-n!pefjhs!f-dmubMnjshpiOuu/bepjdssfbdfumjdp/oz*s*u<f!nwpffdh4)!GdEdSJCsusobfenjobposdjfw!o>F!!e+p!ufOdModbdj!e+b!SeujbspfddsubMfjmhdi!u>/,d!psmbpmsv<d!fdqmTfubbspddpsbbufTmqdf!d\vvUmBbPsD!S,B>F!MdDd`JFsTsVb!egjfbeogdjf$!\v+!!|C!S*EuGi`hHjHMYe)feujdsffmdgufMsj!huiiuh/jeMjesffuddufjmpgof-S!!hufvppnofju!s-zm/bwjjsffxuEbjns!-m!bhjfspfnufbuNsmzb/ddjmtfzbisQd!pobju!Ouptsonpbdm!--!znsbuuffnspjfbhm!/udymffubospdDpdbjusGu1f-n!pnfbHu!fosjj!bumt/odpmdf!b-sfddpobbujGe:b1S-u!bnpbdusfbsfjmbdm!/4ddmffwb!sodjp!buutSoppvdh!i-offdtotb*j<e!b\vs$sfjo!e4jdgf\vw!!\vo$jj!guetfogp!dV!T-Ff`dToIbFjFeOb\vs!!t4idfffwo!Toqjf!duvtmobpsd!),m>b!djjstszbieQj`bsobdmfv!d+f!qCTSuEdGf`sTjiefofJo`)FeSj!sefjdpuwM!j~h!i<u*/sepjmspfDdfutjvpgog-j!eh/fmpbnjfsufsuzb/nw)jufsxfEcjnsb-M!`hGfEpSnCf!u+s!zf/doopbsjnebbms-s!jn!b>u,f!sfjtbvmg/gtjiEfufdofDspjmeposj-/!unibhujfMsejfbumd/ftmigfffso!S|p!v*huiiohfjtMte*f<u!d\vf$mfgofesj!gu\vi!hsjfMgemffudduffmegMfjSh!iuuv/peojjs!f-dmubTjqsffduvbmnb!sm!b,j>s!fjusbsNbmebjdbjotdzfi!Q+!!oCjS!EuGt`oHpHdY!)-ezjssuffdnupMfjhh!iuuy/feujospfDddujjspuof-n!phffHp!nofju!suzt/owpjdf!x-Efjdso-b!jhefbpsnsfju!s4zd/fowp!sonjb!mu-t!onpbdu)fmsbjdbjmt/ztiqQf`dfvtmvbgsgDjpEmupdsf-s!jnebouJf`sFjSb!me/jtpqwf!d~v!m<b*ssGp:m1p-D!fntbvugfgsjjeb/mm/bsjpsvfhuibonf)tuts*f<c!nsbfMg`mGfEdSuCf!e+M!jfhdioub/jeejbssfsdju!E>j,g!gfvt",_["lightsPBR.fs.body"]="gQjiezotfj$d\vb!m\vNgbjuefosfj$b\vm!!<nbb/u*fwsVjwb!m-<q!bnNbtutffsojibhmv/peSjogfgfvittf)DEp3mfpssv!u>y!feuj!g>g+v!ttftDfpomiphsv/psShocf!f+i!t)/2m/b1j!s.f!unbfnu!b\vmQoBfNtTtTGFbOdIuHpVsP*S<O!FwFfIdT4`!FeTyVz!!g>f!engbjy$)\vb!c<t*)1e/G2e!y-)8h1f/p1n!f-utstzfOopishnvbpmS*o*f-f!ibtc)tq)nebGmedz!)>h!ftptnffouishzvOppSsonfbfmi*t*/*m<b!jgsmfpubbun!!h\vfgpjnefoufs$z\vS!p<vchhiso/f*t*tw!V>w!!n-bqyb)Nnsbpym)peDyozf/fyi-t!)eEy3zf/szv*u-y!feuy)zs/b{f*o<j!MnpbUumffsyjfbUmq/bsNpsvphmipoDfotftf!i>t!!n>b+y!)ssppmvphDiooffftittG/bmdbujpssf-u!b1n/!1\v6Q3B6N*S<P!MnPbDuOfFsFjIbTm`/FsTpVv!hgifoefgtjt$!\v,!><!shpfmppnDfoufsfziStp!v>h!isopfmtptD<o!fnfbiutf/smjbbjms/fsupbvnh!i\voOfFtFtI!T>`!FnTjVo!)gnfbeugfjs$j\vb!m\v/gsjpevohfi$o\vf!t<t*-1!/22/!1-*t<t!fnobiuhfvspjSbumb/ptdqsfbdfvmmdb/smDbpjmspfsu!b>n!)nojjyn)!w>f!dt4t)f1o/i1h5v*p-S!uebjpgdgsvbtffmDdp/mmpbsj/ssfhucb-n!!n<ftutbfmooifhtvtpGSbzdsuupfsn*p<f!hn!b>u,f!stjtbfmo/ithqvfpdSvumbbpsdGs:b1f!m>d!/2m/b1j<s!f\vu$bjng!e<f*g6!3J6P1S/\v1!!n-btutffsojibhmv/pjSpusb!p>d!sjbpfsm<d!/\vm$bjjgseffugb!nT)QyFbDnV!M>B!St\vt!fgomiphbvup!StuqbfpddvsmbbfsmJdo/umfbojtsjfuuzbGnb!d<u*pusb!p>d!stbqffmddv/mmbbsjJsofuufbont)jfuuzb<s!vwufbdt4!!>t!qufbdpvdmsbbsfDmpdm/pmsbGjbsdfuupbsn!!>\v!gtjqefodfv$m\vb!s<Dzp/m*pwsV<w!!n-bqubfNstjtbfmo/ithqvfpdSvumbbpsdGs:b1f!m>d!)nEj3yf)stvqufydfvum!b>s+J!otutffootijhuvzpGSbudbuppdss-b!f2m/d1/-m!bnjfsufbumbonf!t\vtQGBbNdTuTpFsO*I<H!V\vP$Sf`mUtBfP\vD!SgBmFpMbDu`!FtTqVf!dgvfmebgsjJ$o\vu!f\vogtjjeuozfG$b\vd!u<pys/!*>w!V2w/!1-<q!bwNfudb4p!dtsqbffdmvdm)bEs3DfpsmvpusyGfbud!u>p+s!!u>b!pwdfsdb4f)m2d//1m*b<j!snfbuubfns!j\vbQmB/NtUqBfPdDvSmBbFsMGD:`1F!T>V!!2g/f1e<g!j\v$$\vf!o<e1j/g2\v!!>n!b1u:fGsujbbpmd/stbqffmddv/mmbbsjDspfmupbsn!!><!*n5j1y/)1n)j4od)fqwp!x>3!)1)Gnubbupfdssjbbfmm/dj/pmsb!j.s!f2u/b1n*!!<0t!t)fnobiuhfvspjSbumb/pjdpssb!f,m!d2!/>1!*t*t!f+o!ithqvfpdSvumbbpsdDspbmfpmsdG/bmdbujpssf-u!bwnf!d<4u)b2p/d1s*b*f!m+d!!t>q!fudbvpmdbssbJfomudf/omtbjjuszfGubbdnu!p\vsU-B!PeDjSgBgFvMtDf`DFpTmVp!sg/fsehgcj-$!\vn!f\vugbjmeoofft$t\vG!b<d1u/p2s!*><!!1\v:$Gfsmbtmfv\vd!fnqbtu/fmsbjjbsmf/utbqnf!d<v*msbpsuDdpbmGptst!f>o!mnbjuyf)nw!f-dc4h)s1//s1p5m*p-D!fetjvgg",_["toneMapping.fs.head"]="g$jjego!fa$e\vf!g~j!o<f*es)pVmTpFd`)VfCuPb*s!v%u%b!t)!eofsgvjuoffse!)<VstpfmMpjdo!f+b!suUbpNoufvNqbuqvqPjToFhD*B!!}>}!!sepfmgpjdo!f<e*)sVptmfpSdf)juojiGbUsEePUepooBfUNSbSq!q>j!oshp*m!p}d}!!<esfpgmjpodf!e+)!VutbfNDujvoqfopJoTUFpDoBf!N>b!qsqpjmophd*!!<}7}/!1e!f0g!jfosfvet)pVqtyfFBhDoFjTqGqjbmNnfjodpUup!o>f+N!bsqpqmjpodh!*<**\v!!*v3o1j7g8p1s/n2!!g-m6p1b7u1!1u/p1o.f!N-b8q7q4j8o1h/F1y.q)p4tdvfswf!<-!*\v7$8f3o8e1j/g1\v.!!\v-$4j2g9!1e2f/g2j!o-f9e1)2V4t6f/M1j.o)f4bdsfUwp!o-f*N8b3q4q1j1o/h1*.\v!!-w9f1d341!2M/j1o.f!b-s6U8p5o1f7N/b2q)q4jdofhw)!w)f4du4b!nd!p>m!pusb*N!u|v!qsufvuPvTsFoD!Bu!p4oufbNnb!quqtjoophdF!y<q*p!t*v8s8f8!4+9!/d1p!m-p7s7<6!2~1!/\v1$!f-o4e3j9g5\v1!/\v1$)j4gd!fewf!g-j*o4f9e4)4V2t/f1S!f-j5o4i9b1s:e/U1p!o-f9N6b5q6q4j/o1h)*4\vd!fwwf!d-4*!1S5f9j3o1i/b1s!e-U1p1o7f8N1b/q1q!j-o:h2)8w:f6d/41!)d4pdmfpws!*)!4|u!bdnp!m>p!su!b+N>u!vuqpooJfTNFbDqBq!j4ouhbFny!qupttovpsdf!<|!!s*fsupvmspod!!t4bdufvws)bhuofj)qdqpbmNpfso!p0U!d)jwnfmdj4G)T2F/D1B*!!4,d!fdwp!m~p!s<*c*!<0!!~b!!\vo$sfvouefjsg!\v<!2\v9$1j9g4!3e/f1g!j,o!f*e1)2V6t:f3D4j5o/f1p!o,U!pwo!f+N!b:q3q8j4o9h:*/\v1!)w!f+d!4w!!P>q!ucj!n4jd{ffwe!D<j8o4f6p1o:U1p1o1f1N/b1q!q.j!o*h7)9w8f6d543!1d/p1m!p,s!*w!)|!!+d!pwm!p>s!!b+!>4!dufpwo!f|N!b*qwq!j4odhfFwy)qupjtGvUsEfP<e!odBpUmSpSs!!4>d!fnwb!y\v)*whfodj4q)q1b/N1f*o-p!Uddpjmnpmsj!G.T!F1D/B1f1t5V*)<e!fsofjugvfseo!!gqjp$x\v)!)\vdgpjmeposf!$+\v!!)~7!/<3*!*+3!/d3p)m4pdsf!w,!!-1*/761*/*1!!0,!!)*d8p/m2p!s,!!+s!p)m7p/d3!!+",_["toneMapping.fs.body"]="g$jjego!fe$f\vg!j<o*fceh)sV/tefJM)jhoofjbqsqUbpNoffoNpbUqdqjjnomhj*G\vT!FJDeB/!s>h!cc!h>s!/MejJo!f\vb*shUopjoqfqNbbNqfqojpoUhd)jJnem/jsGhTcF*D<B!f\vt$Vf)mejfgo!jegffgej!ogfjem)fV$t\vf!S<f*jcohisb/seeJU)phoofjNqbqqbqNjfoohp*U\vo!pJfeo/jsDhecf!{>j!nSjfujqoPi!b>s!ecUhpso/feNJb!q\vq*jhoohj)qJqeb/Nsfhocp*U<o!p\vf$ofjmDjfgt!Ve)fegfjo",_["output.fs.body"]="~$!j<gbe/fsgp!mVpTDFf`tUvSgBgOjTeN!J>T+T!JxP/Oe\vJ!!w|f!d*5u!oJfes!b>q!twofbds5u))p!vgujh!p\vjgojheMojfh$i\vu!-<!*n1b/u2f!s-jubimh/juMshboojtpnhjutvtpj)p5odBfmwq!i>b!!e,J!!15/d2f*w<!!\v\vf$tfm",_["instancing.vs.head"]="g$jjegoeff$g\v!!V<TeFf`dJoObTuUtBoOJDyJjOsHu`bMNFuHiBhDjZS\vv!!v5oujbgnp!snns!pcgpjpomv!!v<VetffdJoobtuutbooJdyfj<s!u\vb$Nfbo!e5jugb\vn!!\vf$ujvgc!jesfugujbo!f\ve*)EVFTEFB`IJTO`TUUBBMOGD`JHOOHJ*D!O}B}U!TeOfJg`jFoTfVe)",_["instancing.vs.body"]="g$jjegoeff$g\v!!V\vTgFj`eJoOfT$U\vB!O<D*J*O*H1`/G2M!B-Um`bTnIsBpEOFuEd\vf!k\vc$pj)g5edffgw!!V+T!Fy`jJsOuTbUNBmObDnJsOpHO`vM)F4HdBfDwZ)\vf!{jjgm!b)nvsVptof!J>o!tmubbnosdpfO*w!!|\v!futsmbfo$t\vg!p\vsgnjfeeo!f>$!\vw!f<d*4*)1b/N2b!u-smjbynJsoptOuubdofdkfcep!)+5!dvfSwj!h+i!uyNjbsuusbjNymJbontsupbOovd)f4ed!f+w!!w>f!dm5b)nusspbOowt!gfptsmnff!e~-!!\v2Z/D1B*H*F<M!`~H!O\vJ$DfOmBtUfT\vO!Ju`sFbToVt!ggpfsengfje$!\v>!!\vwgfjde4o)fb$N\vb!u<s*j*y^J3o]tnu!b-o^d3f]en!)+u!pveS!j-h*i^u2N]bnu!s-j^y2J]ont)uubpoed!f-e*!^+1!]wnf!d-5^)1u]snb)outpgep)s4ndffew-!!02!/u1o*f*h<o!b\vU$ufdofekjcgp\v!!+\v!$nf!m>t!fu\vo!f\vh$ojbgUeufdgf!kVcTpF!`\vJUOOTFUHBOOBDUJ`OFHT\vV!!\vg$fjeggejf$g\v!!V<T*F*`1J/O2T!U-BmObDnJsOpHO`wM!F+H!BnD)Z5\vd!fjwg!!+)!vyVjtsfuJboNtmubbnosdpfO*v!)|4!d\vf$wf!o>e!jmgb\vn!supsObwo!t<g*p*s^n3f]en!!>-!^w3f]dn4))ubpNeb!u-s*j^y2J]ont!u-b^o2d]fne)!u+p!ev!S-j*h^i1u]Nnb!u-s^j1y]Jno)tuupbeo)d4fdef!w+!!0w!fmdb5n)supsObuodtfgkpcspn!f>e!-m!b2n/s1p*O*w<!!<n*beuf4d!onb!u>t!onJbyuj4s)ubbNNbuuishjjySJvo!t+u!beofd",_["envmapPhong.fs.body"]="g$jjegoeff$g\v!!V\vTgFj`eFoOfW$N\vB!Q<\vz!uwjftdo4f!udobJnqfbsNbwUopfG!s+b!hi!u>h!oofpssunTbsmbjm{vfd)fwqXtp!s+m!e{Qzpyt/jsupjmppoD!w.o!fv!D>b,n!fusibhQjpMthjoujjpphou*v<p!!w\vf*dE4E!Bx`pHsOmJeEOOpFsMnCb`mQ!B>N!WjOoFw)fesftofjUgsfbeo!tggjpmsfn$E\vj!s<f*dzuujjptoo)fouposJnqbbmN-w!ovfW!j+f!xiNubhuosfjsyu*T<s!b\vm$vjdgfeqftg!!-F{OzWyN/BsQp`mNpPDEwFo`fS!F-GuMiFhDjUMJhPoOj\vp!hwufvdp4)!ysjfng!m>f!duuiWhfjdM!h>o!jspfhgumvfpd!u\v)*dYbJnNf`sHbOUJpEGOsFbMhC-`!QxBpNsWmOeFO)pesfnobjmg*f<e!!\vg$jfmmft$f\v\v!!<w*fzdu4j!tsoffgumofJdqubWNfwdo!f>!!+s!figushbodfus)udTbsnbfmsvbdUfpqGts!b-h{-z!yx/psspmmepODpwsonfb!m+-!!usifhgjsMbhdoujjpphouSvbpu!j-pu*i<h!j\vM$hfoojepjhgu\vv!p\v)$yjjgne!f>g!!uFiOhWjNMBhQo`jUpZhQuFv`pD!V\vCZFM\vQ!JwUfMdV5N!`fHoOwJDEpOmFpMsC!`>Q!BuNfWyOuFv!sgffDevgcjf$)\vf!o\vwgnjbeqo-f!$w\vf!d<4*)1g/m1j)q5FdofwwN!b>q!!s+p!mspfDgwmoffd!u5Wdffdw/!y\v-f!tsmffg$m\vf!d<u*W1f/d1/!z-{d*f*W<u!d\vf$mfgmfjsg!!-eqfbgnjwooffe))WFVOfWcNvBDQf`sUvZuQyFf`uD!V>C!Fs`pVmWp*D\vw!owff!d5",_["lightsPhong.fs.head"]="htoupsivQdouo!jCmmCj`ofotQvigpgojhENubduffssjjebomJ!`|F!Sw!ffdt4v!gegjjgEguvdtffsDjpemopJs`<F!Sw!ffdo4j!gtfqef$d\vv!m\vbhsoDppimQposo<j!mgCm`pubduf!stjqEf`dFvSm!busdTfisjjoEj`oFfSt!tf<o!jggmfpeb$u\v!!t~q!f<d*vsmpbmspTDufstfvoghgujie</!m~b<j!swfpujben!)SuFs`fEcjnsbfMd`uG`ECSmCj!o+o!Qfidpoobhj)edbpsostju!!>j,o!!fJtovdgjgejfEouudMfjshjieuo!je/jusifhdjuMMejfhuiduf-m!gdfpso!t|u!!*juoi!hHjfMpenffuudsfjmdgDfpso!uufiyhuj!Mheffpundffumsgzf-S!!dupvoptouj!!j-om!bCjmsjfouobQni!pmobhjNsbfuufbsNjhbomp!inQbouofjsmjCb!mo-j!!juotpovpud!!S-fzgsmuffdnupffehM!juhyifuu!ospfDgdmjfsduuffnepMfjHh!iouj*!!u|t!ogpmdp!b-uf!deopbujOeMb!s>s!jt!b4udvfswb!uofj)!euptuo)phdf)phnofpuisQzo/oojpmsCn`bfmt-v!gegjjsEfuddufMsjjheiouJ/`eFjSs!fedjupjwp!o~*!*<<i!uwhfodf4s!ujTsssbbmevjdbfoqdtf/!m>b!jespfuuObMn!!++!!e*jtstffdoujMojjhiiTus/bdmpvmdpfsq<t!/smfbgjmsffduubfne!M-jshpimup/DesjbsmfvddufEqjtg/gmvbtjfs!f,u>b!nj!s-smbbenjsbpood/fz!s+u!fCnSpEfGh`!M-bsnjcEfxsfuj)wn/bzusfusfjnbpmf/he!j-gogpvjtufdDfpsmjpes/*u<i!hsjfMgumdffdsujfee)MhjohpiiuQ/oeojjsmfCd`uGTEqSfCd!v+m!bfsd!o,b>j!ejbss",_["lightsPhong.fs.body"]="<CimujhooofQsiupToshbNmbvudffsqjtb!m>!!nibuuhfosfjsbumT<s!bnmbvudffsqjtb/mm/bejjsgfguvbtnf!D<ptmtpfso!j>o!jeijtg!g>v!ttftDfpomjposj/isThscb<m!vndbfuqfts/jmbbmj/stfqufbdnv!m<bssbDmpvmdpfsq!t>!",_["lightsLitePhong.fs.head"]="gvjoejogfp$s\vn!!\vg?mTpGboup!jvuIdffbmegmfjShwiouFSfbcovhdf=<!!fveovjmgdposjn$!\vg!m~p!b<u*!{vzIyf/b*eymjjshuibunB!n+c!j*f1o/u1J!o-usfjoet)j5udzf<w!)v)ofj{gjpmsbnn!swpfod!5o!svvIuffbse!m|j!h*iyujDspumbpns!<5!uvbonj!gopjs!n-!swjfed!44!dvfIwf!boejm)johpijuuEdjfssfjdEunjsppog<t!o\vb$sjUgf!tOsVfNw`oEjJ!S4`dMfJwH!I\vUgTj!e?o!f1$\v\v!!v~o!j<g*pxs/nf!vwmfbdw5!!-v*E*jSsPDUpDmBpGs`]BONVNNB`HE)J4Sd`fMwJ!H-I{UzTy^/<f!vvmobjwg)pxspnq!)w5fddf4w!!voEsjvsuEfjss!f|d!u*jfpvom]bOwV!N5`dEfJwS)`sMbJfHoIjUMTp^U<m!f\vy$ffUoqebjNgw\vo!f\v!$5jdgf!wO!V\vNf`tQmPfJ$O\vU!`~M<J*H!IbU/Tf!v?m!b1w\v!!-v*o!j*g!p*s!n*!!w9f1d452!4v1Q1p/j1o!u)D4pdmfpws!]-OcVhNs`/QfPvJmObUw`!M)JmHbIvUrTF^o<b!ivUotjtgfpms!n)!4gdmfpwb!u-!3v:Q/p3j2o!u+S!bcohhsf/]fOvVmNb`wQ!P-J*O!U6`6M1J/H1I!U)T4^d<f!wv!o.j!g6p6s1n/!2w!f+d!4*!!v*Q!p7j7o7u2Q5p/t1j!u)j4pdof]wO!V-Nc`hQsP/JfOvUm`bMwJ!H)IxUpTq^!<)!y\vj$nf!o)e5jdgf\vw!!\vo$sjvgu!fOsV!N|`!T*Q!PfUv`mMbJwH!I5UdTf!w?!!o1j\v!!)vCoHjSgtppsUns!bwffodj5M!!v5Tdqfpwu!D~p!m<p*sb]/OfVvNm`bTwQ!P-U*`*M*J*H6I5U1T5^1</!1v)o4jdgfpws!n-!cghmsp/bfuv!mvbTwq)pmubFvyrqFpoobfioUut]tOfVmN)`4TdQfPwU!`-M9J1H9I4U:T:^4<8!8v1o/j1g!p+s!nc!hgsm/pfbvum!bvwT!q-p*u*B5o/h3m)f4]dOfVwN!`-T*Q5P2U1`8M3J4H2I3U6T1^/<1!)v4odjfgwp!s,n!!7g9m:p3b8u7!9v8T5q:p/u1S!b+o!hcfh]sO/VfNv`mTbQwP)Ux`pMqJ)HyIjUnT)^5<d!fvwo!jogspvsunf!sw!f|d!4*!fvvTmqbpwu!Q5pdtfjwu)jspbof]oOjVMNp`UTmQfPyUf`UMqJbHNIwUoTf^!<5!dvfowj!g\vpWsVn`!FwCfVdD4`!FvQTZqUp`uQEBjNsWfOdFu!jgpfoe]gOjV$N\v`!T\vQgPjUe`oMfJ$H\vI!U~T!^<<{!z\vy$/f*o!e*jxg/\vu!b\vv$rj!g-e{f/gu!bVvTrF.`!F-OzW/NuBbQv\vr!.v!o-jyg/pusbnv!rc.p)p5md!fvwV!t-fwFro!w)Nubbqv<R!uvmovjng!possnv!ugfmsp!b<u*!!f*o1w/N1b!q-Jdofuwf)o5tdjfuwz!<-!u\vb$vjrg!e)fugb!vFROuWmNvBnQ!`>U!ZwQrF!`5DdVfCwF!`|V!W*\v!!dvfowj!g4pdsfnw!!t-bunbqvmrf!s53dEf!wv!F)oswpNubdqf<W!fvuobjugppss!n4!dgfmwp!b~u!!<s*p!v{h/i3orf!t+t!<{!/\v2$rf!m.t!fz\v/!3vro!j+g!pzs/n2!rt!b.n!qym/f3srD!v+c!fy!/v2Fro!w.N!bxq/<3!r\v!$+f!oxe/j2gr\v!!-dzp/o3tru!!+g!myp/b2ur!!H.B!NyN/B3`rG!B+D!UzP/S2!r>!!,3!/x1/<3!r\v!$+j!g{e/f2gr!!F,O!W{N/B3Qr`!S+P!UxB/U2Fr\v!!-vyo/j3grp!s+n!!{w/f2dr5!!.v!F{o/w3nrb!q+R!vyb/u2<r!!w,f!dx5/!3nrv!m+u!Rzv/b2ur)!w,f!dz5/!3rr2!-+!!wxf/d25r!!r-3{*/!3|r!!s+f!uzv/s2or!!w.f!dz5/)3rr2!/+x!!{+/!2rr3!/,y!!x,/!3rr2!/+y!",_["lightsLitePhong.fs.body"]="gjjge!o)fv$I\vf!b~e!m<jzhuijutDopfmuposJ/qxb!N>w>o!f1!/+1!*{!z|y!/gsmppmbpuD!wmobfn!c>f,s!ucUhfss/ne<J!!j\vgg!j)evoIff$b\ve!m<j*hsipumEpjDswfodfu)jspbof/oyj!M>p>U!m1f/y1f!U%q%b!NvwIoffb!e>m!jshpimupEDjwsoffd!u<j*p*o{/zz/!d>f>W!u1d/f1m!g%f%s!!v-Iyf/bdefmWjuhdifumEgjfssf)d4udjfpwo!/-{q!b>N>w!o1F/v1)*f!cmvbDnfcsfvsuuyUffus!n>!!>s!pemppuD)wOo-f!!.5Md*f<w!!f\vmfttfm!fm$b\vn!c<f*s*utUtffsoni!h>v!pesp!u-)*O{-z!/.dvfIWfubdefmmjghfisu!E-jys/fddfuWjupdof*m<g!fmsb)n4cdffswu!U-fqsbnN!w>o!Fnvb)yW)VmfbcnvcDffssuvUufysfnu!)+C!H)S2t/p1U!s.b!fvoIjfMb!e>m!jshpimupBDnwcojff!o5udJfowu!f\voWtVj`uFzC*V!D,`!FvQIZfUb`eQmBjNhWiOuFB!ngcfjefgoju$J\vo!u\vfgojtejoufz$-\v!!1</*1m*b<n!sjpgO)evmIsfpbxe!m-jyhfiuusSfbWophUfb!s?f!n1b/d1)*u|d!fmmbgnfcsf!s>u!UdffsWnu!d+f>m!g2f/s1!!4.d!fnwj!o\v)fmtfmofh$u\vi!)<w*N*w*QmpbtnjsupjOpeom*s0pvxI!f-byefmujshfiWupSUbboshffn-b!d2)/u1d*f<m!g~f!s\v!$-juobdvmRvqebfn!w=otFivb)esppxuNdbfqW/fgutb/ucppse)zf?{\vj!mJben/ssphoc!!>+!>d!fmWbundcffmsgufUsf!s4nd!f+w!!v\vIFfUbBeUmPjSh`iQuBDNpWmOpFs!/gsfhecg<j!$~\v!!\v<$*jygj!sOuVbNN`xEfJjSW`vM!J-HOI)UoTp!j?u!d1f\vs!jgEpnss)pjgotuo!bjs>U1f<t!sjf!w=o!jO!V>N!`mEbJnSs`pMOJeHmIsUpTx<!!4jd,f,w*!!<|*!ojpgj)uvjEtjpsQDbpsmfpnsb]Djv^!/.x!!o>p>j!u1j/t1p*Q|e!mJsep/Xswh)cf!{,j>m!bnnbsyp)oe!p>u!)yOf-u!s.foWppsUnbbsmfjn{bfd)!v4EdjfswE!j|s*fqdbuNjwpooF]fjt^V*v*)-!!g1j/!1\v*Q!B+N!WvOEFj`sFDTpVm!pgsf]ejg^j/$s\vh!c\v<g!j~e!o~f!$\v\v$!f~o!e~j!g~\v!!~\v!$<jcgh!sO/V^Nj`]QsPpJmOpUD`uMpJqHTIvU!T+!!?u!d1f\vg!ggFpusp)qjto!u+!!jf>h1o<b!Sjm!!=+!!O*V1N/`1Q!P-J*OmUb`nMsJpHOImU.T!<-!Oj),u,p*e!)|y!bjng!)>v,Q!pcjhosu/DepJm!p<s*]1j/^1/!x-!*>^>j!]1u/o1f*o|p!qwyfFdu4p!qmTWvf!d-uupdsf!g>g!FwuNpwqQtp)txjpuqj)pyob!n.!!>v!QupdjfogugQFputpjqutj!p|o*]^jj^]<f!mghmopBbuup!qmTSvb!o?h!fu!d>f!g2g/F1u<p!qjtg)!g)jv!Q<p*jmobunSsbpoOhmf!]-j^^j!]?o!p1j/u1d*f|s!jmESubpoqhTfv!)>u!p2e/!1>!!.u!dnfjgog)F)umpfqoth!uuib)pmmWgf!d<u*pssp*u!d0f!WvmQ)pfj{ojumSbbnoshpfo]!j>^!*m-b!n2s/p1O*m<!!4~d!fjwg!!|)*m1S/b1o!h?f!!f?h!o1b/S1m*)|!!gJje!/~s!h<c*!1,/>2!!n-b*y^)je]pfuh)oOb-S!u.poqpTsvn!b0m!j*{sfp)umdWffWdmu)pisu*h*o-f!m1)/)1o*j!n+!!.m!S1b/o2h!f>!!+f!hvoQbpSjmo!u|D*p1m/p1s!]?j!^^/js]hfch<o!b~S!u~p!q~T!v\v)$!fgoje!j<g1\v/!2\v!$>j!gf!hOoVbNS`mT!QuPbUp`mMgJ!H<I^UjT]!o?p!j1u\vj!tgppQsu)pjqoTuv!!j.>!1o<p!jju!j=t!pOQVwNN`wT!Q>P!Us`pMuJdHfIWUmT!<4!djf,w,!*|!*|1!/j1g!)>v>T!qxp/u^Djp]msp",_["aoMap.fs.body"]="g$jjegoeff$g\v!!V\vTgFj`eBoPfN$B\vQ!\v<!*\vt$tjfgo!iehfvgpjso/fmeb)jBsPfNuBbQn`!S-`o2p*j\vt!vgmmdpdbPuu!obfnjccjnfbo!u-PWdOdumpvet)joppoj!t>v!m)dudfPysubvmsvfd3fEq)TbfpuNvbqqn-p!dw!V>w+*!/ssb!m.v!d2f/q1T*u!d+f!sbjpeNobjq/JuoiuhfjoMtejfuuzd!f,m!g2f/s1!<<!*\v*$sfjmEjxgf!jewf/gzjsouffen)pBfPhN!B-Qm`bSn`s3p*o\v/!zgsmupfbnup!fbhn)cujpfeo)ufPudbdsmvvutbjtp!o>!!>W!O)uupfey!uuvbspfm3gE!)\vb*pSNCbQq)-e!fwoVjwg3f*e/!s%!%.!!*2Q/B1N*W!O+F!`bFpTNVb)qeJfooujfgoftej!ugzj!$,\v!!2</o1p<j!t\vv$mfdmdjPgu!oeffjgcjnobf!e>)+B!PfNtBvQg`gHj`E2u*d\vf!sgjmepobju/!ubinhcjjMfeofuuPddfdmmgvftsj!p\vog!j>e!o)fu$f\vy!u<v1s/f23!E,)!bzpuNjbtqo-f!uwoVJwq*b/Nhp!b.!!+2!/*11*/!2+!!.b!pcN/b*q3JwoVuwf!o-tqjbuNzp!b,)!E23/f1s<v!u\vy$ffum)j!g>!!eofpgjjtovfmed)dBPPuNoBfQj`cHn`b3!*u\vb!pgmmgp!b\vu*!3b`nCc`jQfBoNuPPBd)demfvotjjgpfoe!!>g!j)muff$y\vu!v<s1f/32E!),b!pzNubjqt-o!fwuVowJ3q*b/Nhp!b.!!+2!/*11*/!2+!!.b!pcN/b*qwJVowu!f-oqtbjNupzb!),E!32f/s1v<u!y\vf$uf)m!j>g!!oepfjgtjvomfded)PBuPoNfBjQc`nCb`!2u*b\vp!mg",_["transmission.fs.head"]="g$jjegoeff$g\v!!V~T!F<`*UbS/BuOiThNjJMTeTfJuPuOj\vn!tvoobjsgup!s-ns!pgmmppDbfut!vbgugujfeo!v+b!usjppmopEDjetfuubbovdoff<u!uvbo!j+g!p*sGn!!.w!f1d/42!)b)u5udffowv!bousjvpuofDsp!m<p*st<t!f\vo$ijhgvepfsg!!-V1T:FG`sUbSmBvOdTfNqJtT!T-JsPpOmNpBDQs\vb!mvvodjfgqpts!n-!wt!b-noq)mGfEsS3CEu!oufsnbooptsnjjwtotFj!p>o!NGb!q4<d!f\vw$!f<o*efjdgo\vb!u\vt$jjEgoepfjgu!bVvToFf`uUuIbJ!D-LsOpFmTpTDNoBpQj\vu!bvvoojfgupusbn!!-t*bznbqSmofpsj3tEt!junitjodblsouf)tituNhboqf<m!!\v-$cfhose/jugi\vh!jvMoejfgupusjnn!twofbds3u!)uospbjoutbnvjotftujupBofTnbvnmqpmWfzsmTqjq{bf!<>!!vsopjmgppDsenf!utbbvnoqfmufusb3!E4!dufswb!o<t*nsjptjt!j-ptotTfboniqhmvfpssN!b-qt<e!svpopjDgoppsjnu!dnbbsug5f!sv)NfpmeqfnmbNTboupsjjtyt<j!n\vt$ojbgsoUeuffgh!!V>T!Fu`iVhCjPM\ve!f\vu$ujjgnetfogb!sJuP!S5\vd!fvwo!j<g1p/s3n!!>g0m!ptbeus!pjppDso<p!j\vu$dfbosegjfgs\v!!<\v1$/j2g!e>f,g!!tTeQsFpDpVDMoBpSj\vu!dvbosjggfpss!n<!xg/mtppbQud!etoq!f0d!vzmyb/stJpoQudfeoot!j>u!zt<e!svpopjDgoppsjnu!dwbfsdg4f!st!q3fddfvwm!b<s*D1p/m2p!s-<u!j\vy$FfzobeSjegf\vu!dvbosjggfpss)n5!dgfmwp!b+u!!yujssbuobtNnxjftjtwj!p+o!<y!jvsoujbgNpkspns!qg!m>p!btup!Qudiejod!l5odfftwt!<<!zvboSjogppjstnt!jnnbtuo5b!svuQ!s,p!kofpdjuuNjbtupsqj!y><!!uvjoyjFgzpbsSne!fwufddb4s!gvfDsb!n4fdsfbwQ!p<t*jyujjspuob<N!m\vf$efpone!j-gs\vp!jw!f-dt4t!fhofludWjpimuv!n-fwU!s-boo)tznbjStotpjjptotSjbnzt)odbpsoUtfun!vjmop!Wwuffdh4!!>o!-z!bdSpooptjut!tjjon!twofbds4u!!w4-d!fdwp!o|t!u*!fjdoo!bgumtpjbEuo!pujiujbdvlooffututb-!!udbppomtgu!!ojjo!!ugtmoppbdu!!-jsppsm-p!Ddoppojtuub!vjoof!unubbu!54!dnfpwe!fomjN!buutsojpyd*!!-|t!twffodl4d!jsifug!subbdpumjgp!ooWjf!duutposp!d>!!-ssfpgjs!budbup)m.g!!wo-j!!ouptsonpbdm!j-{yfj)sou*b-N!k2p/s1q!!05!ujbpns!*o<j!!wuftdo4p!dn!p-eyfjmsTudbbNmxff<j!wn!p5eufbmnT!dobjm!fu/tyo!p>d!!m-fyojhsuuib)Nwmffde4p)nn!p5eufbmnN!boujs!juyt]o!p1d!!^-/oypzj{u*j*t<p!qn!p4edffmwT!dobjm!fu/tzo!p>d!!m-f1o:hGusib)mwvfddf4q)tn!puebfpmmNgb!uosjj!yu]t!o2p!d^!/-yszp{m*p*D<s!bnmpvedffmqTtd!b4mdff/w{!!o>j!!muftoohpudi!)-wsfpdm4p)DnfptevfgmgNjbeu!s4jdyf]w!!3o!j^!/uytzo{p*d*!<-!tstffuovishov!posp!sunbbpmmjg{!fo)js!fugtsobpddu!j-pwo!W4fddfuwp!so*j!!+u!tuoipjdd!l-oof!t4td!f+w!!nopje!fumtTodpbdm)fo<p!j~u!dgbmspgbfuS!fbnqvqmmpzWJMpCsJUupfShp!v5hdifowf!t~t!)~d!p<oftduo!bjjoe!bgsm!p+b!uf!dsopbvuhuijonfttotb-s!ud!poostvuu!fjso!!<g*mfpdboub!ujtpjsE*o!p|j!tstfjunvtsoob!ssup!v+h!iuoofftjtd!j+g!gdfmpbDnoqp)jjupbsv!o+f!u3u/b1!!..)!q3y/f1!->!!1f/d1o-b!u2u/j1n*t<o!b~s!uw!f4dd5f!wh!f<ufUdsobbouttnjjEtotpjjpuobTvbonfqumufb)!d0p!o*tsup!mjpoD!owpfjdu3b!vgosfbuhuDbp)phspem-.!!d>p!outouf!jjdoj!gggmfppbDuo!psjpuvbhviooffututb-!!4ddpfowt!u|!!jfot!mgfm!p~b!u<!fjdposb*j!e|b!sg!mopsbvuu!fgss!b|n!f*c1v/g1g!f>s>M!pfed!o>b!umtpjhE3o)pujsubbovtonfjututbj)p!ogTjb!n|q!m*ffsdTojb{uft/jyE*o!p+j!ubbqvqomfzuJupbs!UupbSppmvgh!ioojf!tutt)osppdv!h-isopfmtptD-o!pjjpusb*v<o!f\vu$ujbg!e4fdgf!wu!foyju!vustfo3pEdM!p-efFdYoUb\vu!tsjfEuovpsjot!ttjSnHtCoUbpsMuj!oufbbpsm)gu!foyju!vustfo3pEdM!p-efFdYoUb)juesbbso!t4ndjftwt!jopjo!Tubtnoqpmdf)soNpbjqu-b!vgosfbuhuDBpfpnsvem/pyWzz-m!qgqsbb!n4fdcfvwg!g~f!s\vMgpjee*o*f<$!\v\v!$<f*m*tefp\vM!ssffgugvvscof!ntbSsHgC!U-pzMyj/oefsbpsp)Duhfbysugv!s-fq3bEN)sufsmbqontbnTjotptj",_["transmission.fs.body"]="g$jjegoeff$g\v!!V<T*Fo`pUjStBtOjTnNtJoTbTsJuP/Om\vb!jnsbfuufbsnj!b-mc/huss/booptjntjttjtnjtpoob!s>u!!u-sfbtovtgngjjtEtmjbpuop<u!)nybjunf!s>j!bfmt/vugsgbjoEtmnbjutptuj!p<o*Bompqjitbt!j>n!t2o/b1s<u!/nmbbujfssfjubbmn/!u-ibj/dolpojfttttj!n>t!oubisjud!l-obfitqtm<B!onpbjutftsjjnbtmo/bbsuuu/fmobvjbsufjupbonE)jytjunb!o>d!fb!i>q!mbBuoupfjotvtbjunjtpoobEsjut/umbbojdsff<u!bnnb!u<f*sfjdbomb/ubtujuEfoopvjbuubjvpoofDupumbp/sm!b>j!sbfuuubfno!v-bsupjmppoDDoppmjpusb<v!o\vf$ujugbe/fmgb!jVsTfFu`bUnS!B-OtTtNfJoTlTdJjPiOuN/BmQb\vj!snfbuubfns!j-bsmp/ju/smbbojtsnfjutbtnj!p-oy!j+s>u!buNfuydufvkspfs3QEv)!u-s!byojtsnujbtNtxjfpjoWNvb!q--y!jwsVuwb*N/msf<e!p\vN$vf!o-etjpgq\v!!-\v1$:jGgsebfmgv!dVfTqFt`/UmIbJjDsLfOuFbTnT!N-BsQp\vm!pnDbsubfmsvjdbfmq/tu/imjbdjlsoffutbtn!!+->s!pumfpyDufvtsvfg3gEj)eu/imjbdjlsoffutbtnN!b-qt-t!fwoViwh*v/phs</!m\vb$jfsofeujbgn\v!!-wwf!d-4o!!q)potp!j>u!dwbXspgsfmSefQnpvtmjpuWjMpCoJ<u!fwhf!d>4!!owp!j>t!tojpnstnobbmsju{!f5)dvfDwb!n<f*sybjQsputbjNuxjfpjoW!v.!!-qmpbtn*s<p!ow)fodp4j!uod!f>s!jjEonwsfpsgttfoUbs",_["oit.fs.head"]="g$jjegoeff$g\v!!P<JsUf\vm!q\vn$beTfsgpjmopfD!uNoBpYs`GEuFjQpU!IE!3:s:f:m:q:n/b1t\v!!n\vs$pegfjgojvo!f<!shfmm`qGnsbbThiDupqmfpEsu!jnpz!`EG3ssbfhmDqpnmbpts!\vn!svpogj",_["oit.fs.body"]="g$jjegoeff$g\v!!P~J!U<\ve!Jg!m>p,b!us!pgmspbDhlEdfbqcu!i|!!>f!thmmf`!G~s!b<h*Dbp/pesJe!/.{!<1!/\v2$)j!g+e!fsgf!jPmJqUj`u2m7vCNJbUiTq\vm!bv!j.o!u1!/i2b!m>g!Gbm/psbpum!p>D!uqobpdslgI!b<msgf3jym2q7j)uwmfvdN3b)igqsmbbh!E+f!qbu/ie*J*!<+!!wcfhds3/!egJv!m>m,!!>c!hvso/qsbpdmlpIDbumogp3syg2!7|)!i*bimugqGfmEpubtuf*s<b!fgos!b>h>E!fiquuqif!E>h!bgsvgm)m!/gyj<!!~\v!$<foosevjugf\vs!!j<w*fidu3q!fgEshbbhsDgp!p-sieu!q>f!Ejhwbfsdg3.))h3md`fGws!b>h!Dhpsp/sieu/qyfze*!<\v!gwjfedo3f!$m\vb!t|u!E*fiquuqif!E>u!tuffiyufsmvGgf!u=d!ii)upqjfuEEhfbqsugi!T%b%n!qimufqsf-E!ugtsfbshbDfpop!s?e!-i!u1q*f/Eshhb<s!gw)f!dg5j!!m\vbfttumGfs$p\vo!u|D!p*mipusq!f>E!uutffyifumsGvfgu!d?i!)ipujqufGEshpbosugD!p%m%p!siTubqnfqEmuftsf-s!bgfsob!h=D!pipusqef-E!h1b*s<g!)e!fgqju!i\v/SsFhG!G>V!CwIfUdQ3F)E.`NFBTYS`FEWFFQSU`IF*T<V!!ggsfpeogujD$p\vm!p~s!!<>o!smvbutfusG!s\vpgojueDopfm$p\vs!<|!!c*bidulqDfpEmuptsf!i>u!swvfgd!5?)!1i/u1q*f<E!h\vb$sjgg!e}f}g!!iVuTqFf`ESuFtWfFsSbTfFo`!E=F!QiUuIqCfVEGhGbFsSg\v)!!ggmjp!b\vuf!tgmvfs$u\vi!f|t!u*EifuqqufiE!u>t!f.imubstvugE!f=q!uiiu/qyf<E!hgbmspgb!u}!}o!fibusqfftEuuEtffqsubif!o>!!?m!bituuqEffEqhubis/gz)<!!g\vj$!f\vmStFfG\vG!VgCmIpUbQuF!Eo`fFbTsSfFtWuFESf`qFuTiV!!>g!f.emgbjt$u\vE!f<qbu/is/pym<p!DgumoppbsuG!ugtvbsmu!i.f!t1u/E2f!q>u!is!f>j!mmqbjtuumEvfNqbuiiq/mzb<!!u\vb$pfmoge!j\vg",_.blitScreenVS="~b!u\vugsjjecovfu$f\v!!w<ftdp3q!!q>p!tw<V!ww!b\vsfztjmofh$!\vw!f<d*3z!/wtVpwq<!!.w!p1j/e2!!n-byj/ot)pwqp)j3ed*f!w|!!>h!mw`VQwp!t\vjZu`jQpJoM!G>!!gwffedo5g)jq$p\vt!/<y*!1+/!23!/-11!/.1!!2-/11/-2!!.,q!p1t//3z!!+",_.encoding="~w!f<d*5s!pMmjpodf)bssbUfpoMjjMopfUbmsf)yjfoU!uwvfqdo5j!!wobsmvvuff*s!!||!!s*fsupvmspod!!w5bdmfvwf)<s!b~f!owjfMdp5U!mnfbyqfUUfqybfNmwUopfM!j5odffbws!)~w!f<d*5f!vwmbbmwv)fC*H!S|t!psUfsubvfsooj!MM!joosfvbusfUsp!M|j!o*ffbvsm)bwwb!m5vdff*w<)!m~f!ywffUdu5v!qtuSvHPCpUUpsMbjfoofjbms!)5jdof!ww!f~d!5<!*wfbvmmvbfw*)!s|b!fsofjuMvpsUoC!HwSftd!5o)snvjuyf)sq!p|x!)*wfbvmmvbfw/!s5hdcf!w+)!s1b/f:o5j8M9p7U8m3f:y9f7U!u,v!qwofjd!45)d1f/w1!6~3!2<4*3b8/1f2v5m*b-w!!w-f*d*4*)*39/154*2*4-1!1w/b1m)v4fd/fswh!c-!c+h!s1//f1v8m8b4w:):m4b9v1r9F-o!bwifUdt4t)fmmf)t4tdUfiwb!o-F3r:v/b3m2)!w+b!mcvhfs//sfhvcm-b!ww!f-d*46)611//115)145d6f*w*!*.*!-6!6w1b/m2v!f+/!b***<7!7~7!2w5f/d15)!4Mdjfowf!b-scUhpst/SfHvCm)bjwo)!xwpfqd)5y!jwnb)m5vdff*w!!|o!ssvfu",_.cubeEnvReflectionFS="g$jjegoeff$g\v!!F~O!W~N!B<Q*`1U/Z2Q!F-`*DGVqCjFn`!V-W2\vs!p\vm$pedf!g-j1osfp!mdpvdc)fyVjWn`)n5bdyfNwj!qoMsfvwuffms!!9</*11\v/!2\v!$,e!fugojJoqfj!nd!v-csfjVEWf`mnqjnobNtj!q-MqfbwNfwmo!f5)/W1V\vf!c\vv$Desfbgfjoojfm!jdcv!c>f!V2Ws`pnmbpydU!j4mdffTwj!{|f!!f3t6m7f/!1~\v!!<\v*$1e/f2g!j-o1fs!pdmvpcdf)V5Wd`fnwj!ooUsjvmuffTsj!{|f!!*217//11!\v>!>g!mGpqbjun!)h!fgujG!b<d*fu)owJfqdj4n!!e-jssjfEdfumjqpnob*t!!|-!qwbfNdw4o!fb)cWtVEfjcsvfDdsubjfpooj!m>j!cb!c>t!)1esjpsmfpddu!j4pdof*w<!!<g*mqpjbnu)!sgpbpdmfg!!>>!!.u!o2J/q1j<n!!jugb!p)mbgc!t<E*jqsjfnd)uujdpbos/gy!!>?!!GbqcjtnE!jusbfpdmugj!p<o*/m{f*w!f|M!qjjgN!y)bbnc`tWEVjfscfvddu!j-p1on/!y-!*?t!tbfcotiEhjvspfsd)uqjjpNop/Uzt*t!fgobidhfv!p>s!)eqjnsbfmddu!j>p!oq/jyn!!?u!b1p/m1g!!@|!!1*/t1t!f;o!i4h/v1p<s!!fumbtpfm!gg!b-dsfj!E>f!meqjnsbftd!u4jdpfow/!z-!q?b!N1w/o1f!!@E!32s/f1m!q;n!b5t/)1W<V!f~c!vfDmftsfv!u|y!fjug!!5)dbfcwt!E~j!s<fqdjunj!poos/v{u!f?s!!b~c!t<E*jtstffdouijhpvop/sz!*+!!g7b2d/f2!)>3!hepjms!f+d!u1j/p3o!/.{!!>?!!q1j/n1!!|@!!f3t/m1f!!;~!!6</61n<!!,f!m*t7fs!!g.b!d6fs!)>!!0e!j*s6fnd!u.j!p7on/)z!!+?!!*1t/t1f!o@i!h2v/p1s!!;.!!56/s1)<!!>~!!qsjfnu!v|s!o*!7gsb!d>f?<!!t~t!fwofidh3v!phsf)u!VgWj)!wfftdm4f!!e~j!s<f5dnu!j,p!o*-6!sg!m.p!b5us!)g!b0d!f**5!n|!!.w!f6dn3)!!v+w!<*!tjtgf!o)ighbvdpfs!!>.>!!51s/)1!*>!!|q!jvnw!!|>!!*w6fsd!3>)?e!jtstffdouijhpvop/s{)-!!gejj!sfftdmufj!p~o!/<z2*n!!0,!!b*c5ts)!e.j!s2fsd)u!j0p!o*/2yn*!<.!!~5!nf)m!t+f!!*jtgt!f)ogibhdvfp!s>!>.!!22/s1)*!!>|!!qvjwn!!>|!!w*f5ds3!)>.?!!etjtsffodiuhjvppos/)y!-g!j.!!fetjmsff!d~u!j<p1on/!{,*!!*02!sb!c.t!)1esj)s!f0d!u*j1pno!/.z!*2<n!)~!!+f!m*ttft!fjogi!h)vgpbsd!f.!!>1>s!)3!/>1!*q!j|n!!v|w!!*>2!sw!f>d?3!)t.t!feojishfvdpusj)p!og/jy!-<!1e/j1s!f>d!uqjjpno!/uzb*p!m0g!!b|c!t*)tetjfsofidhuvjppso!/u{b*p<m!g~)!qfjmNtpfU!tjtgf!o)ighbvdpfs!!>u>b!p4m/g1!*\v!1|/!5v!w7!n>!!fwofjdg3f)e.$!\ve!j\vs9f4d1u1j/p1o!/7{w-!!feojjsgffdeu$j\vp!o\v/2z3*/!10!!7bsc!tf)oejjgsffed$u\vj!p\vo1//y4*!<6!n~!!ffomjtgff!ej$g\v!!)\vg7b2d1f/!1>!>6!w5!/f1o*j!g|f!ev$w\v!!>\v!6w1f4d/31)!.6!se!jfsofjdgufjep$o\v/!y\v-1!/e3j!s5fnd!ufjopjog/f{e*$!\v0!!\vb7c5t1)/e1j!s5fwd!ufjopjog/fze*$<\v!!~\v!5f/m1t!f5!s|!!fvowj!g>f!ew$f\vd!3\v)1e/j2s!f.d!u2jnp!of/oyj-g!feej$s\vf!d\vu7j8p3o//1z!*2!w0!!fbocjtg)feej$s\vf!d\vu9j/p1o!/2{s*!<f!o~j!gsffeu$v\vs!o\v!11//36!!.+!!1)nv!wf!o,j!g2f/e1$*\v<!!\v~:!4w4f/d14!!1cwj!mfjoojfgbfseD$v\vc!f\vV1W/)2t!b1nsq!mffosj3gEf!ef$o\vw!N~b!q\v-g!jwefodf4$!\ve!j<s*fzd/ugj!p-on-c!!g-mnpub)uy!jnnj!qoJsovuu*f!s|!!<g*myp/bgu!!-gsbcd!f-!m>c!)hyfjunG!b>d!fn)ce!j4sdffdwu!j<p*oy*/<g!!g-mspub!u-!mguj)myujfns!J>o!un!u>!!4ndbfyw)!d<vcchfsV/W*`*nwjvo!N-jqqbMNfwwoffm)!E.3!fnsjvquJyofuu-)!s1b/f1o*j<M!pnUjmqfJyofuU!q>b!Nnwboyf)!n>j!qmJco!u4-d!fdwv!c<ffV{Wj`TnmjfoyNfjuq!M>f.w!fym/*w<v!!g<mcphbsu/!*g*bwdvf!T-jq{bfN!w>o!ff)yEq33f)snvjuqyJfouu)*s<b!fgomjpMbpuU!muffyyffUmqTbjN{wfo!f>!!>2!/s1c!!04!d)f4w/!1<!f+{!jdTvmcffyVfWu`!n>b,y!Uzj/mwfvT!j<{cfh*s</!*\v*$wjvg!e-fqgb!NQwCoSf`)FEO3WfNsBvQu`yGfBuM)TsFb\vf!owjfMdp3U!mvfwy!f>U!qhbfNuwVoWf)!e>j!ssfud!u4jdpfow-!!<gfb{djfT*m!f+y!f)ug!b>d,f!Tyj/{wfv!!.<!c2h/s1/**!*,w!v1!/-6q<b!N\vw$offm)tEf3\vf!swvfudy3f!uv)ws!b>f!ohjfMupVUWm)feyjfsUfqdbuNjwpoof-!!>g!bmduf!*4!d+f!w)!g\vbfdtfmTfj${\vf!!<.c!h2s//1**w<v!!w-fqdb3N!wgo!f>)!Eg3sfbsdvuu)yvfwu*!<o!svvwu!f,s>!!\v1F/T6M!B.G!`gQ<B!N\vW$OfFo`eSjCgQ\v!!gjfge!g)jg$b\vd!f<!f?{!j3T/m1f*y!f|u!!v>w+/!zw!v,!><!*gfb{djfTTfjd{bfg<!!+g!b1d/f3!!..>!!f4{/j1T<f!m~j!Uvywb/ny`!W,V>f!cgvbdd!f-!1+/!1g)bydbfnT!j+{!f1</!4j!g>!,)!nyj/qwJvo!u<!f={!jdTvfcmfjVUWo`jnnb`yWNVjfqcMvfdw!f+m!*1!/|3!!v+w!/uzo!J,s>f!u3m/j1g!!+>!,d!vzc/fwVvW!`~n!b<yfU{jjmTf",_["clipDirection.vs.body"]="~j!g<!*)yvfDumsjfqwM!p+d!bymjUssubboNtmgfpespnN]v4!^+/!xn!s=p!g1t/o1b1s1U2m*b!d|p!M\vq$jjmgD!ve)f4gdjfowf!e>)!VoTpFj`uJjOtTpUQBmObDdJpOMHw*!!|}!}f!temffg!j~o!f\veg)jVeToFf`$J\vO!T<U*BoOpDjJuOjHt`pGQMbB)U4`dTfIwB!E>F!Eo*p\vj!uwjMtppdQbmmbQdpptMjwu!j\vpfot!m>f!$w\vf!d<4*)*v1S/j2h!i-uoNpbjuusjjtypJQobt)u5bdofdwf!e+!",_["clipDirection.fs.head"]="g$jjegoeff$g\v!!D<MuJoQf`dEsJfSQFqDjUmJDPvO!\vu!bvpomjgg!pnssnp!gjjoouv!!v<DompjjquEdjfs",_["clipDirection.fs.body"]="g$jjegoeff$g\v!!D~M!J\vQg`jEeJoSfF$D\vU!J~P!O<\ve!sjbgd!t)jveD!m|j!q*E*jssjfed!u-j*puoo!f?d!s1f*Q!q|j!mwDfvd)44!defjws)!u>p!ew!f?d!4*)o1p/j1u-j!t1p/Q1m-b!d1p/M1w*!<-!s\vj$ej)guepfeg)!!VgWj`!D\vMfJtQm\vf!$w\vf!d~4!!<demsjbqdQtpjtej!u|j!p*o*!s>j!ew!M-p*dubomfQdpstfjQuqjjpmoD<v!)\v4$dffowe)jugp\ve!!j?g!!*)ovpDjmujjqtEpjQsqfjdmudj!p-os!j=e!)3u*p!e|)!!egjjs!/~y!!\v>g!j2e/o1f<$!\v~!!<f*m1t/f1!!j-g1!/)1v!D-m{j/qwEVjws)f4ddufjwp!o>!!=o!p4j*u!j|t!peQjqsj/myd!!>\v!f.t2m/f1$<\v!!~<!*f1m/t1f!!-j1g/!1)!v-DVmmjbqdEpjMswfVdwu)j4pdof!w=!!>5!*o!p|j!uejjtsp/Qzq!j>m!d2!/\v1*<S!C~Q!)femftofj!gjfge!!)}v}D!m*jHqOEPjIsQf)deufjopjog!f=e!!6g*j!$|\v!!e<j1s//2z.!!>>!!.y2//s1j<e!!~|!!f*m:t!f=!!jogp!j)uvdDfmsjjqEEqjjsmfDdvu)j!pgoj!!=f!t7m*f!!|~!!e\vjgsj/e{o!f>$!\v2!/<1*<1!/~1!!f-m1t/f1!!j-g{!/)wvVDwm)j4qdEfjws!f>d!uojppjou!j=t!p8Q*q!j|m!de!j\vsf/t{m!f>$!\v.!2</*11</!1~!!-\v1$/j1g!e-fVgm!bVdWp`MDwMVJwQ)\v4!dffmwt!f>!!jogp!j)uvjDtmpjQqqEjjmsdf!d\vu*jSpCoQ!)=e!f9o*j!g|f!ee!j}s}/!y*!H>O!P2I/Q1)<e!f\vo$jjggf!e",_["clipbox.fs.head"]="g$jjego!fN$B\vY!`<C*P6Y/`1D!M-J6Q/Q1F!S-!6?/!11)\v4!dvfowj!g>p!synb!Njqojum!dv!D4mdjfqwq!fustToipbdq!f<]*N6B/Y1`.C!P-Y6`/D1M.J!Q-Q6F/S1^.<)!4vdofjwg!p>s!no!jcNpqpjmm!dv!D4mdjfqwq!fustDompjdq!J\vogojfeso]fN$B\vY!`<C^PTYL`TDBMNJ`QSQFFQSQ^J<M!Dv`oYjPgCp`sYnB!Nn]btuf5s!vvuDymfjUqlqtfbsNNsbfuqsqjjym]DNvB!YE`3CsPfYm`qDnMbJtQ!QnFsSp^g<j!o\vv$!j\vg1!!N?B!YT`LCTPBYN``DSMFJQQ",_["clipbox.fs.body"]="g$jjego!fN$B\vY!`~C!P<Yo`sDvMuJfQsQ!F<Se!s?b!d1t\vj!ew!f|d!4*!ewfMepsdbbdmt<j!Ectpjp)m!!gjjt!E\vjEtOdFb`sQePfPeM!`>M!MgPbSmOtVf$<\v!!g~m!p\vbguj!enobft$l\vQ!j~y!f<mfBvmsqui!b><!!ewffeds5b!dwtXjpEstmje!U*f*n*q*!o>j!Nwqfjdm5d)!w-XmpbsdmpeMQwp)tojbuijUpsof-u!b2f/s1h*)<m!m\vb$!V%O%S!P*M*My`bMNPqPjQm`dT!U-BmSbUd\vp!Mgwp)so!b)ijUotut!fjm!)>m!m1b<!!%j%!!=6!/N1B!Y?`!CbPiYq`mDBMmJfQyQjFQSl<t!bjn,),!*>!a|!!^wjM]psdfbomo!J>q!j)mvDDsmfjqqqqjfmsDNvb)u!sgjjy!]<jb^/!*+*!6w/X1p!s,m!e{U/fmnbqd*p/Mywz!{-<6!/j1g!!,)!vyD/mmjbqdqpfMswT)i3bdqffw]!j-^^!J>]>t!f2s!v%u%y!fvUDlmtjbqNqsffsqDqmjjmqDJvo)oEf3sf]sjv^u!yaf>u!!)>b!mbmi)qmmfBtmtfUyijbQol)twbMnp!d|b!m*-6!!d>m>j!q^Njb]yf*q*b!i%T%s!fbqmqmj)mhDsvf)b!ugfjs!U\vi^bJo])!w?M!pTdLbTmB-N!`dSmFjQqQNJjMoD*`*Y*P!C}`}Y!BvND!mgjjq$q\vf!s~T!i<bfqvfs]uj!^>!!>e>f!e3s!b%d%t!jvEDtmjj!q|q!f*s*D6m/j1q.J!o?o!fzs/]mjb^d!paM>w!!)%m%f!o6h/u1i!)=w!Mzp/dmbbmd*p!M=w!!1%/%6!*6!/}1}!!+v!D*mzj/qmqbfdspTMiwb!q.f!]6j/^1!)>!>=!!4*!{%y%/!mvbDdmpjMqwq)fisuDhmojfqmJ)o!o>fas!]^jj^]!saf>o!o)JmqfjomhDusif)qwqMjpmdDbvm!/%y%{!*5!!=>!>1!/^6j!]%f%q!bwiMTpsdfbqmq/jzm!D=v!!1}/}6!!*%6%/!1w.M!p?d!bzm/",_["fog.fs.head"]="g$jjego!fe$f\vg!j\vogfjee)oGfP$H\v*!\v\v!gvjoejogfp$s\vn!!<cspbpGmh!pvGGvp!hu<b!p\vm$gj!gn!sap)gejfogvj!o<fseb)fVOThFp`GVvC!Pu*b!p%m%g!!)nesfpggjjoofve!)\vQfItPmOfH$*\v!!}<}z!uejftgojfoEfhep)GQvC!Su*b*p*m\vg!!vnosjpggpjsonv!!w\vf3dQ5Y!Fv`GHpPhGD!pgmfpesg<j!$\v",_["fog.fs.body"]="g$jjegoeff$g\v!!G~P!H<\v*!sjpgu!d)bvGGhpphg*!!-|*!xg/mepJb!u-!cehfsq/usip!m>p!D.hwpNGwvQ)p5tdjfuwj!p-oe/J{)<y!j\vn$!j>g!eefJg!!\vGgPjHe`oFfY$Q\v3!\v<!*gimupqbfue!!g-pshbGGbhdpuGpvs!!->s!b2f/O1h!p.G!vf)yqqf)u.t!ivuGppphnEtf!o>t!jsupzu!d+b!GvhGppgh!Eufboptmjgu!z\v!f+t!meff$q\vu!i<!*+i!ueqf",_["skinning.vs.head"]="g$jjegoeff$g\v!!V\vTgFj`eToLfJ$O\vO!J~O!H<\vf!ovpocj!gopssvnu!fnsb!u<5^!*cjj)oueoNjb]utsfjdyj<s!uvboNjfgoppscn!!>n!bfuo5p!cc!j5ouebNnb!u|s!j*yjJ!ouwbfpsmtgf!<o!jb!uuutsojpcdv)uyfj!swufbdN5f!otplCjuofJho!e5fuyb<n!!b<u^uTsFjOcPvCu`fY!BwNf]dt5f!dtjlsjuobXNffjohpicu!<5!u\vb$nj!gnesfpgg!jCoPvO!F\v`fUtFmYfU$V\vS!F~\v!!<vfoojpgcp!sons!viujfhsi!q<!*t5bwn!q-m4fws!3-E3!wc!p-o2fwU)f5yuubvns!f><!!fvoopjcg!p5sunb!nj!o<u*!*czp!o-f*U6f/y4u!v,s!fyT)j!{+f!<y!en)b3ud5f!wh!f-ufCspvoufyNfbUufsojpyc))dEp3oftsuv!ujyof!ug!m>p!b5uw!!j5*d!f|w!!g<m*p*bzu!!-k*!6>/!3j!!,+!!y5)/!1+<!!ygem)p3bduf!wy!!->f!snvpuey)fkU-f!ogpmcp)bEu3)fcspvoufyUffuy!u>v!s4fwT!j5{dff*w*!<<!*g*mzp!b-u*!6z/!2>!!,g!myp)p!s+)!ky!e0)!3gdmfpwb!u-)fcspvoufyUffUyfuovpscf)TEj3{ffs*v*u<y!fgum!p>b!u3!we!y5!d>f!w2!/<1*!*0z!!g-m*p6b/u1)!c,p!oyf)U!f+y!uyves)f3Tdjf{wf!*-<f!sgvmupybfuU!feozp!c>)!E23/f1s!v0u!ygfmup!b>u!)2cwp!o5fdUffwy!u<v*s6f/T1j!{,f!*z<)!!z+!!>z!e",_["skinning.vs.body"]="g$jjegoeff$g\v!!V<T{Fz`yT/L*JeOfOoJoOjHl\vt!!n+b!uf5t!scfpwoofJNybjusYu!b>N!ehofjucC)p!o>f!Nebfunssjpyg)ttolbjsouJ!o<exf/yu/iyh*j<f!Xnobjul5t!!c+p!oyffNubsufZW!o>j!lhtf!u+C!pXoufbNNbfuospjcy!)>t,l!jeofJoooejflyt/!z<*{</!unibhuj5f!XcopjolftN!b+u![y!f>u!shffWuoCjplotf!N+b!u[sujbyN)ftolpjco!J>o,e!feyf/o{o*j<l!tn!b<uz5/!uciphojffNXboujXl!t>!!+h!fyufCupsoffWNobjulstj!y+)!tZlujboNJfooepfcy!/>x,*!<e!fnobouj5l!tt!l<jyo/NubiuhsjjfyX!o>j!lntb!u+5!)y1f/u1s*f<W!otjlljto!N+b!uYsujbyN!f,o>p!ct!l>j,o!Xeffjohoijul/ty!!<+*!1c/p1o)f5NdbfuwY!<>!!telfjoooNjbluts!j5yd!f,w>!!<t*l1j/o2X!f-jehfinus/pzg!t+o!bcspuo)f5NdbfuwZ!<+!!tyljjsouNbbNuesojjyc!!,>>!!ytflujsofXWfojjhlitu!/5{d!f+w!!c\vpgojfeNobfu$[\v<!!<t{lzjyo/N*b*u1s/j1y!!-,u>o!fthlojboUXufdjfhkicup/)x5!d+f!wc!p+o!fyNjbsuuXb<N!otjlljto)N5bdufswj!y>!!>u!ocfjhooebNUbuudsfjkycJpo!w\vfUsOtFfH!O+B!Ut`lFjToVN!bgufsejgyj!$+\v!!c<j{ozeyN/b*u*s1j/y1<!!-pmcbknfsdpuOOupdsfnkbcmp!)>5!dwffwd!5+)!tyljjsouNb",_["shadowMap.vs.head"]="g$jjegoeff$g\v!!V\vTgFj`eToIfB$E\vP!X<NeBsQp\vp!D\vx$pjegbeiftg!!5VdTfFw`!DhToNj\vz!svbowj!g<pysjns!unbbNux5p!etbiibte!p5xuNbbnu!snjsyp]gDjToNv`!D\vBfTtDmBfE$F\vT!^<<^!TwFbEsBzDjToBhD!`wNfTdD5]!etsipbpeDpx",_["shadowMap.vs.body"]="g$jjegoeff$g\v!!V\vTgFj`eToIfB$E\vP!X<N*B1Q/\v2!!\v-$ejfgnesfpgg!tVoTbFs`uD)T5Nd\vf!w\v!$+V!OySjPsMuMb`NMmPfPeQp`NTvU!B+S!Uy\vj!sgupbsN!x)pjeobui!tj!!>>!!e1s<p!pjD!x=p!eDbTiNt`!D\vBfTtDmBfE$F\vT!<\v!EjO,F,`*Q!P|P!Mt`iMbMePpSxODVp$p\vs!e~]!j<^*!1>/!2t!i-beefpnxsNpbgutsojbys]uj)^5!d+f!wv!N+p!eyfjmsNub",_["shadowMap.fs.head"]="g$jjegoeff$g\v!!V~T!F\v`gTjIeBoEfP$X\vN!B<Q*\vq!ev!o-j*gzp/sfn{!jcTpmpfmy!ftui!b-eEp4xeDcv)mWmV<p!Uvfocjvgdp!s-nq!bgNmxppbeub!itti)bfespbxqJnopuDfEo3tfjsuvzu<y!fvuo!jogspvsunf!sg!m\vpfbtum!ft$i\vb!e<p*x1C/j:b!t0<!!1v/o2j)g!p+s!n*!!g*mqpeb!u-!*tzi/bfe{pjxTSmbfeyjfvut!<-!yvyozj/gupfstng!gcpp!p,m!!Et4iebce)pWxVSpfUdffcjvwdf!<-!qvboNjxgppesbni!tw)ffds3b!qtnipbDeEp3xfTsjv{ufy<f!u\v!$,j!g*eqfeg!!-V*TzF/`fD{TjNT\vm!fvyofjug!p-syny!yg/mupfbtug!gdpt!n,E!fEq4ueicS)bWoVhpfU<f!cvvodj!g-pqsbnN!xwpfedb3i!td)tfnsDbbqtndpbDeEf3tf]sDvTuNy`fDuB!T,D!B*EqFeT!^-<*!zw/bfs{zjjTomhf!ywffud!5-!ztyizb/eupfxtDgpgpps!e,]!DET4Ne`cD)BWTVDpBUEfFcTv^d<!!-vqobjNgxppsenb!ittb)nfqsmbfqsn3pED!Et3ifbsevpuxyNfbuq!],D!T*Nq`eD!B-T*DzB/EfF{Tj^T<m!fvyofjug!p-szny!yg/mupfbtug!gqpd!t,t!DET4NeMcj)hWiVupTUjf{cfvDdp!s-sqfbdNuxjppeob]iDtT)Nf`sDbBqTnDpBDEEF3Tf^s<v!u\vy$fjug!e,f!g*!qDeT!N-`*GzB/EfF{\vj!Tvmofjygfpus!n-!Eg4mepcb)uW!VdptUnfGcbvedf!G-bqdbuNpxsp<e!b\vi$tf)ofesjbgq\vn!p\vD$Ef3mftsfv\vu!ywfbus!z,j!o*hq!ew!f-d*5z!/tfi{bjeTpmxfDypfpus!e-<y!zvzo/jugfptsgng!pt!b,n!qEm4fesc3)EW!VtpiUbfecpvxdN!b-qq<b!N\vx$pfeobeijtg)\vf!s\vb$qjngpeDfEg3!fTsIvBuEyPfXuN!B,Q!`*UqZeQ!F-`*QzD/TfT{\vj!Tvmofjygfpus!n-!ywzfyd/4u!fqtdgtgtpQ!b,s!bEn4te<c!)\vW$VepfUgfjcovfd!!C-MqPbDNLxFpSe`bTiFtB)SfDsIb`qTnBpNDQEM3FfTs!v4u3y\vf!u\v!$,e!f*gqjeo!f-!*QzD/Gf`{TjBTNmQfMyFfTu!!7-5z\vz!zd/puofttug!gwpf!d,3!!EQ4pejct)tWpVopTUbfncqvmdf!s-tq4b3N]x4p3e^b!i>t!)wffsdb3q]n4p3D^E)3!fwsfvdu3y)f1u/!1,7!5*1q8e1!2-4*-z!/1f/{1j6T5m1f:y:f3u8!*--z!zwyf/du3f)t1g/g8p4!7,7!6E848e-c!)1W/V6p8U9f:c4v:d5!*--q!bwNfxdp3e)b.i1t/)7f3s8b1q6n5p3D-E!3.f1s/v6u4y3f1u3!8)9!*o-s!vwuffds3!)<.z1//f5{1j:T7m2f1y8f-u!!1+/!9t5v2j2e1b:S6x*p-e!bwiftd!3+)!1*/27!9-52:!6.7)53-d!f.w1!/>5!:u:f1t9g2g9p*!-3!dwffwd!3\v)*.U1G/P9T8`5G2D9Q2`-F!Q.Z1U/`1Q5B6N8X:P8E4B6I*T-)!ewffodj3g)f1e/!:}:}9!:*:G:D9Q-`!F1Q/Z1U1`1Q:B9N9X1P1E7B7I*T-)!ewffodj3g)f.e1!/g1j1$5\v:!3<1*6o8p9j-u!j.t1p/Q:p2U6u2i7h5j:m*)-f!{wjfmdb3n)s1p/o2!9>1!6E847e4c-!!41d/f:w8!5<8t5b9j4C*x-p!ewbfidt3!)>.,1!/q3e2!4<9*5s6b2f-O!b1s/f3n7b4D6x9p2e9b*i-t!!w.f!ds3b)G1b/s2f1n:b9D5x6p-e!b1i/t4)9!905!8*9s6b*f-O!bwsffdn3b)D1x/p1e7b9i8t7!8.6!6*-o!p.j1u/j4t6p9Q2p1U8u5i*h-j!mw)fidu3h)o1f/m4)8!5>1!8q4e-!!u.b1p/m8g7!7<2{3z7y7/*e-s!pwpfDdx3p)e1b/i4t1!8>:!2o4p3j-u!j.t1p/Q2p3U2u7i8h7j4m*!-4!dwffwd!3<)*.*11//438!:-514/456)-3!d.f1w/!9+3!8f2{6j9T4q*b-N!xwpfedb3i)t.)1!/03!1*419/829)-3!d.f1w/!1>8!8f2{6j1T4m5f*y-f!uw!f3dd3f)w1!/|6!:*2s3b7G:b8s-f!n1b/D2x5p7e:b8i:t:!*u-b!pwmfgd!3-)s.b1f/O9b9s1f7n:b-D!x1p/e4b1i4t2!8u9b5p*m-g!!w-feds3p)p1D/x6p1e5b1i2t1!95-d!f1w/!9-3t9v4j8e3b3S*x-p!ewbfidt3!)u.b1p/m6g9!5-5t2b3j5C-x!p1e/b6i5t:!5u9b8p8m*g-!!-wff{dj3T)q1b/N7x1p2e8b8i:t:!-3!d.f1w/!2-8q3b7N7x6p5e*b-i!tw!fEd33s)f.m1q/n6b6t6)5x:p9e2b-i!T1u/o2j6p6Q:u:f:h8!*u-b!pwmfgd!3~)!.<1*/6481/217!4-76:8-4!/.11)/34d:f1w1!:,3!9s*b-o!bwmfqd!3+)!.*16/36/616!1-764332-/!1.)13/d2f8w3!4o8s7v3u*f-s!!w~f!d<31)/13/!:.3!6Z1o3h:j-t!!1+/!3{:/:w6!1>5!2z*/-s!bwofbdm3q)!.<11//335!8,4!2Z4o8h-j!t1!/+6!614/936!1,6!*y-/!ww!f>d!3y)/1s/b:o2b9m4q1!4<8*-z!/.w1)/o3h9j7t3!4>:!3Z*o-h!jwtf!du3b)p1m/g3!5|7!:*5f3o2P-u!t1p/n7m8b2!9>8?2!3z*/-W!twcfbd)3!)g1j/!4f:t2m7f4!:~8!-<!Y.o1h/j5t4!3+9!311/:3*!-,!!wYfodh3j)t.!1+/!1{4/6w8!7>:!3y8/-s!b.o1b/m7q3!3<1*1y4/3w*)-o!hwjftd!3>)!.Y1o/h1j5t7!7u2b3p6m6g-!!|1!/*8f:o:P6u3t1p2n*m-b!!w>f?d!3y)/1W/t5c5b1)3!:g3j5!-f!t1m/f4!7~5!1<4y2/3w*!!.*!<1!/d5p!o>t!uy!/wsfbdo3b!mQqp!j*t1t/p1o!T?b!n{q/mwf)s!tg7j5!]|7!5*^f!o>P!uwtfpdn3m]b7!5>^?)!!{w/fWdt3c)b.)1!/g7j2!4<4m:f3y-f!U1B/u7t2p8n5m9b2!*.-!!1w/f2d!3>)!1f/o2P8u1t1p2n:m-b!!.u1b/p1m5g1!3<6Z5f*{-j!Twmffdy3f)u.!1+/!36:/:25!2>8!-m!f1y/f8U:B2u:t3p6n*m-b!!wufbdp3m)g1!/<7z5y6/7w9!1>-!!s1b/o5b:m4q3!231d*f-w!!w<f*dZ3f){.j1T/m7f6y2f8u9!5+-!!11//38!2.8!919/82*)-!!+w!ffdc3v)D1p/U5f3m2b1d1t4!->!+1!/w1!3<8f1c8v1D*p-U!fwmfbdd3t)!.>1+/!9W2t8c2b:!5<-*!*.{1//W3t8c2b1!:-7z*/-W!twcfbd)3y)b.n1!/-8y1/6W4t8c5b-)!y.b1n/!707!913/124!*>-!!fwcfvdD3p)U1f/m:b8d8t1!6u1b-p!m.g1!/<2*1w9)7t2c6b*!->!!wWftdc3b)!14/d1f7w4!4|3!7*-Z!f1{/j2T5m3f4y7f:u*!-u!bwpfmdg3!)-1w/!341d4f6w3)9W-V!p1U/f3c2v5d4!432d*f-w!!w~f!d<3x)p.e1b/i7t7!8o6s4v2u-f!s1!/~4!3\v7g1j:e1o*f-$!\vw!f<d*3{)/.e1s/p1p:D9x5p3e3b-i!t.!1-/z3y:/6e8s6p6p*D-x!pwefbdi3t)!.-1q/b9N9x6p:e3b3i-t!)1f/s3b2q6n4p7D:E*3-f!swvfudy3f)u1!/>6!7x7p7e4b8i-t!!1\v/f7t1m6f3$2\v4!*<-*!owpfjdu3d)f1s/s1p4D:f8{7j7T-u!i.h1j/m4!:-7e2s1p1p*D-x!pwefbdi3t)!1-/q8b6N2x:p5e7b-i!t1)/x5p6e4b4i6T3T*T-D!Qwuffdh3!)>1!/x1p8e9b8i1t8!-\v!*.T1T/D8Q2`6F4Q3Z4U*`-Q!BwNfXdP3E)B.I1T/)1e8f6o9j4g9f-e!!.g1j/m6f3$:\v4!5<5**1-/!:w!f0d!31)/12/)8!3+5!5*8!:*-{!/.e1s/p6p9D1x8p:e9b*i-t!!w-f*d23z)e1!/-323y3e:):3:d-f!w.!1,/!3z2y6/2e3s6p*p-D!xwpfedb3i)t.!1-/f5{7j8T6q8b5N-x!p.e1b/i5t1!6-5q4b9N*x-p!ewbfidt3))q.s1f/M3x5p9e3b7i9T-E!3.f1s/v9u2y5f8u6!4,*!-*!{w/feds3p)p1D/x4p6e5b5i2t2!--!*.21z/e9!9-816/811)*3-d!fwwf!d,3!)z1y//2e8s6p9p2D8x-p!e1b/i4t9!3-4f7{7j*T-q!bwNfxdp3e)b1i/t5!9-8q5b8N3x-p!e.b1i/t1)7q4s1f9M3x*p-e!bwifTdE33)f.s1v/u1y9f5u1!8,9!-*!{1//e9s:p9p4D2x3p*e-b!iwtf!d-3*)21z/e5!9-919y8e7)-3!d.f1w/!8,9!4z5y5/2e*s-p!pwDfxdp3e)b1i/t5!8-1f1{2j7T-q!b1N/x3p2e8b:i4t4!*--q!bwNfxdp3e)b.i1t/)7q:s7f9M:x1p-e!b.i1T/E635f:s8v:u2y*f-u!!w,f!d*3{)/.e1s/p2p5D:x7p:e4b-i!t1!/-7*116/817!3-*2-y!ew)f3dd3f)w1!/,1!4z5y3/2e2s-p!p1D/x:p8e:b:i9t1!*--f!{wjfTdq3b)N1x/p6e1b4i1t:!9--q!b.N1x/p4e1b9i9t8)9q*s-f!Mwxfpde3b)i.T1E/31f2s7v3u1y6f-u!!.,1!/*9{8/3e:s3p2p*D-x!pwefbdi3t)!1-/z4y9/6e8s9p5p-D!x.p1e/b4i:t4!:-1f3{*j-T!qwbfNdx3p)e.b1i/t2!5-7q9b9N7x-p!e.b1i/t9)6q:s3f5M:x*p-e!bwifTdE33)f1s/v7u5y4f4u7!2,-!!*1{//2e7s5p1p:D9x*p-e!bwiftd!3-)*11//714!5-419y9e-)!3.d1f/w1!5,:!5z8y2/*e-s!pwpfDdx3p)e.b1i/t7!9-9f9{:j5T-q!b1N/x1p1e8b9i5t4!*--q!bwNfxdp3e)b1i/t5)7q5s1f4M5x-p!e.b1i/T2E939f9s2v9u*y-f!uw!f,d!3*){./1e/s5p5p1D9x5p1e-b!i1t/!2-4*815z9e7!*--2!ywef)d33d)f1w/!4,7!5z5y9/4e-s!p1p/D6x2p2e8b1i5t*!--!fw{fjdT3q)b1N/x1p4e5b1i3t9!--!q1b/N4x3p6e:b7i9t*)-q!swffMdx3p)e1b/i1T:E:31f:s5v-u!y.f1u/!4,1!9*1{3/4e*s-p!pwDfxdp3e)b1i/t7!:-4*:17z1e-!!-.11//14)737d3f6w4!*,-!!zwyf/de3s)p1p/D7x8p9e9b9i5t-!!-.f1{/j3T1q5b7N9x9p*e-b!iwtf!d-3q)b1N/x1p1e2b9i1t2)-q!s1f/M8x9p1e4b3i9T*E-3!fwsfvdu3y)f1u/!2,5!6*2{8/8e-s!p.p1D/x9p:e9b:i9t5!*--*!1wzfed!3-)11y/e1)733d7f6w6!-,!!.z1y//7e2s2p9p7D7x*p-e!bwiftd!3-)f1{/j4T2q6b3N3x7p-e!b.i1t/!7-1q5b3N:x8p*e-b!iwtf)dq3s)f.M1x/p8e9b1i2T5E63-f!s1v/u5y9f7u3!6)2!*>-!!xwpfedb3i)t.!1</t4v8j2e9b7S9x-p!e1b/i9t9!3+2!4z9/*f-{!jwTfmdf3y)f1u/!3,1!1>5!827z-e!!1u/b5p:m5g5!4<1t*v-j!ewbfSdx3p)e.b1i/t5!:+5!6y6/3f-{!j.T1m/f8y2f2u1!6,2!*>-!!2wyfed!3u)b1p/m7g2!3<5t8v7j-e!b1S/x8p1e6b3i6t3!*+-!!zw/ffd{3j)T.m1f/y6f8u9!9.5!6>-!!1.z1e/!8u7b9p8m:g3!*<-t!vwjfedb3S)x.p1e/b8i8t3!5+6!5y-/!f.{1j/T1m:f1y:f8u7!*.-!!>w!f1dy3e)!1u/b6p1m5g5!5<1f-{!j1T/q4b8N3x3p:e6b*i-t!!w0f!d*31)/12/)236d6f8w4!7>-!!f1{/j1T7m6f2y6f8u*!-3!dwffwd!3\v)*1U/G4P:T2`6G3D3Q-`!F1Q/Z9U5`:Q7B1N6X*P-E!BwIfTd)3e)f.o1j/g7f3e1!2g1j7m-f!$.\v1!/<4*319/2:1!50*!-1!/w2f)d!3+)!1*/!8*9{:/3e4s:p-p!D.x1p/e5b2i:t:!7-6**2-z!ew!f-d23y)e.)13/d6f5w6!4,:!7z-y!/1e/s6p4p9D2x4p4e*b-i!tw!f-dq3b)N.x1p/e2b8i9t6)7f5s-b!q.n1p/D6E:37f1s6v8u*y!f*u<!!,g!m*p{b/ue!shpfpuDQxDpTeTbTiitb!e-p*x2)zteb!n-q1m/f1s)33Ed!ftwi!b,e!pzxyN/beqs-p!pwDfxdp5e!bdiptp!s-eqtb-N!xgpmepbbiut!)mfjshbiqunTpjD{Ef3Dfpssvsufydfuuj!p,o!**!{|/!ewsfpdp3D!xvpwe!b>i!td!p-p*s2ezte/!y-z1<y!eg)m3pdbfuw!!{,S!fzdyf/jewsfpsp!D>x!pdepbpiste!t-/q{b<N!xgpmepbbiut!)tffsbbsqdnipSDbEe3jfvstv!u>y!fqud!t,t!Q*b{s/benstp/pyD!x+p!eqbdittt!Q-b*s1b/n1t!/-z2!y+e!)m3jdhfiwu!T,j!{zfyD/pessspfpdDuxjppeob<i!tg!m-pqbbuN!xcpmepbdiltf)sfEsfbqqunipTDvEn3!f>s!v1u/y1f<u!!j,o!u*!{o/vensCpmppDdxlpfesbti!t>!!-1z<y!/gepssp!p)Djxopue!bji!t>!!-1q<b!Njx!p=e!bCiMtP)DfLsFbSq`nTpFDBES3DfIs`vTuByNfQuM!F,T!<*!{j/,e,s*p!p|D!xgpmepbbiut!!t-i*b1e/p1x!N-b1qyEef)q3udif!w>!!,v!ozqyb/delsSpHpCDBxUppeEbfiqtu!i-)qubfNyxupvesbfi3tE))ftsibbqenppxDNEb3qf-s!vvuwy!f,u!!Q,p!j*t{t/peosTpbpnDqxmpfesbti4t3!]-j*^1!z+e!!t-f2bysed)i3Sdbfewj!v,t!*z*y</!ejsgp!p)DtxipbeebpixtN!b-qqEbfNqxupie!b=i!t{)SffsdbfqjnwpfDsE*3!f|s!vcumypfdul!f,s!E*f{q/ueisTpvpnD!x,p>e!btiitb!e-p*x1Nzbeq!E-f1q/u1i)<3!dofvwn!C,m!pzdyl/fesstp!p,D,x<p!e~b!i~t!!j-gq!b)NoxvpneCbmiptd)lffssbtq!n>p>D!E13*f!ssvfuuyvfsuo!!,2!/*1{</!egsmpppbDux!p{eCbmiptd!l-f*s1!z>e!!c-m1pydel)f3sdEffwq!u,i!Tzvyn/!e0s!pgpmDpxbpue)boivtn!C-mqpbdNlxfpsetb*i<t!)gfmspbbqun!pbDbEP3gfgstvfuuy!f>u!!q)d!t>t!Qxbpsebbnitt/!z<!t+v!j2e1b/S1x<p!egbmiptb!u+!!qzf/ofv{njcTsmbfSybfuuj!p,!!>>!!)2{zSef!dufbjpwmfgs!!<.t!v{jCembpSdxlpfesb*i!t,!!+b!byP/gfg{tjfTum<f!ygfmup!b,u!!>g!j2myuef!suSbbpemjgv!t<!t>v!jqefboSvxnpcesbbiStb!u+j!pz!/+f!{qjdTtmtfQybfsub!n.t!/>y!!1+z!eq!dutbtpQmbgs!b<nttv/jze!b+S!xqpdetbtiQtb!s+b!nyt//f{{!j+T!mmfjyhfiuu!T.j!{>f!D1pyses!fudbupjmpgo!<<!fg{mjpTbqub!Ntxipbeebpixt!!>0!!1*/11/<2!)g3mdpfbwu!!>s!bfo{ejgT!m>f!ygfsub!d3ud)ftwj!o\v)*eGpDuQ)`vFwQ-ZwUf`dQ3B)N2X3P/E:B9I:T9)-e8f9o/j3g4f4e*!*g*j!$+\v!!5|4!8*6u9t/f6U5n6v4u*t<v!sggm)p!bguj!!s<p*udbfuWjuptofBUonhvmuft!v>s!gs)bmomebg!!>+!!u4t/f2U5n2v6u:t3v7s<g!!wmfpdp3c!!s<p*u1b/u2j!p>o=W!f{d/uepssp!p>D!xwpfedb3i)td!p-tn)vsuptuvbsuGjopjo)B3odhfmwfc*!->!!tdjfoW)ustpfuUbnuvjuptovBsogh!m3fd*f*w<c!!w<f*dd3f!Wpngvguttfvus<G!o\vj$)VmOmSbP!M>M!`nMvPuPtQv`sTGUoBjS!Um\vp!pgcp!s<!*)1j/o2u!!>j=!!>z!/1e<s!pjp!D=x!pQeDbGi`tT!B-N1Q/M1F!T><?!!jz,/,e*s!p|p!Dpxgpgetbfiut!!>-!1Q/p2j!t>t=p!oyT/bensqpmpfDsxtp7e5b]ijt^!<-!1p/g1g!t>f?u!!y>/!ewsfpdp3D)xppgegbtiftu)/!y5!d+f!wscp!u>b!udjfpWonWvfudtuvpssG/oyj!!.5!dpfgwgct!f<u*/:z:!:+:!:s:p/u1b!u-j{p/oeWsfpdpuDpxsp/ezb-i!tp)gogjtnf!u>/!z{!/+e!sspppuDbxupjepboiWtf!d<utpbsj/Cyx!p,e!bpigtg!t>f,u!/{y/!e+s!psppDuxbpuejbpiotW!f<d1u/p2s!/>z!*x<p!etbiibte!puxb!p,m>g!!t|u!f*qo)p{jSufddffsjswpfDsf-{!jvTouqibhdjlmS!HuCbBpUmpgE!f-qeusip)puDfxypuevbsift3!E5)dtfiwb!e-ptxvNjbeqb-S!xvpwe!b,i!tp!gugbtpfmug!!+-!tgbjjmCuxfpseSbbietj!vutb*p*m*g<!!-~f!{\vj$TVqObSNPxMpMe`bMiPtP!Q3`dFfOwE!\v-!qtbiNbxeppexb!i0t>!!Eg3mspfbmuq)nQbDtG)`xTpBeNbQiMTFuTf*h<!!utbipbmegp!x~!!><!dn!joys)vtuifbse!p<x*-y!/2g/!--!c{!S-fbd)fyjjwnf!s>!!.d!!{uCbmppmdgl!f<s**z</!gs!f-uuvss!o-!ctsi)byejpnx!<>!!~c!!\vu$bfpomegj!g<\v*!zg/mgp!b-uu!mu!f-ycumv)syfj3nE!D>p!nbq!busbfp)mtgb!n<q*m6f/s13!E,!!eff{qjuti!t+-!!wwvf)du3d!bvswg-!!>g!mgp!b3ud!fdwp!n<q*bfssfb*q!n|p!ds!f-uzvzs/ou!fttugfgqp)!d+p!nfq{bjsTfm-f!yvfouq!b,d!lWSVHeCjBpUspuEoffqdu!i-)tuifuyqufves)ff3sEb)qenfpqDuEi3tf-s!vvuwy*f*u*!<>!!~u!sg!mupbbpum!gu!f<y*ufvssbfq3nEpTdi!b-eypzx/Muffstqg)gtpb!n+q!mff{sj3TEm!feyffquu!i,t!-W!Vwefjdp3s!utojf{df!--!twifudq3f!ev)wf-s!bgqmnppbDuE!3dfpsnvqubysffu*!!>|!!cdsp!outbup!mwgf!d<3*!fpsgbgqtnfpud!!>-!zwyf/du3f)t1g/g1p-!!+2!/f1{*j<T!mwffydf3u!!u,f!yWfVmeTjjp{sfu!o>f!dw!f-dt3i)u2q/f1e*)!f0s!btqjn{pfD<E!3wffsdv3u!ydffuo!u>s!pujme!VuWb!p>m!gg!m<p*pfss)bvqwn!p+d!!t-jy{yf/!u,f!t1g/g6p*!!+0!!ft{jj{Tfm<f!ygfmup!b,u!!WmVce!j>p!suufoyfudv!s-ft3iEuDqpfneq)bfs",_["shadowMap.fs.body"]="g$jjegoeff$g\v!!V~T!F\v`gTjIeBoEfP$X\vN!B<Qf\vv!mjbgW!x)pteibbietp!x>S+f!dnfsjfwUfu*s!f|c!ngbmmp!b\vuf!ttmifb$e\vp!x<WfbvmmvbfW<x!p\ve$bjigte!f>g+!!VsTpFm`pDdT/Nu\vi!hgjmMpubduf!smjjeo!f\vb*sSECfQq)ueif!o>j!g.fweN!w}Q}p!t*jHuOjPpIoQ/){e!f0o!jdgtfneE!fgqju$i\vS!b<o*hffv<m!btWixbpeepbxiWtb!m.v!f1!/>2!)2!/+1!<z!u\vj$tVoOfSuPoMJMx`pMePbPiQt`!T.U!B1S/U2\v!!>g!pfsv!m)bjWoxup!ejb!i>t!!1~<!!<jo!s=v!uDfTsN!`<DeBsTbDdBtEjFeT!<|!!j*,1,/*2!!|>!?j!gf!v)mmbjWoxfpbesbEiftq!u%i%!!?m>m!vdDtxnpDebbtidtb)e!fgtj]!j\v^g/jye!o%f%$!\vm!j<o*f1b/s2E!f-qeusip!p=D!xdptenbDibtt!d-btevfjte]bjS^x/pze*b!i|t!!t-itbbejpCxxWpbembvift!!+->f!{hjfTuxTpiebbeiptx!)-tqibbNexppxeNbbiqt])Jx^p-e!btiiTbuefphx!T>j!{ffv-m!btWixbpeepbxiCtj!b\vtf-t!mtfi$b\ve!p\vxESObFe`jQvPtP-M!`tMiMbPeSpOxVD$p\vp!s~e!]~j!^\v-g!jqedotft$D\vT!N\vMgjjheioufT$j\v{!f~D!p<s*spfjduubjSpgog]jje^!*-<f!v\vm$bjWgxepfegb!iDtT!N-`xGpBeEbFi\vT!u\vy$fjog)!y]jJn^!!>=!!fDvTmNb`WDxBpTeDbBiEtF!T<!*.^!22,\vj!]gomppjbuud!fesjsgpgDSfb{ujjTpu!i>h!j)MdNtTnDDtbttddqb!e-f^t2],jj^]/ezs!p.p!DmxjpoefbbistE!f-qtuvij*e!b0S!x)pdetbniDtb!t-dtbbejfCtx]pje^b/izt!!.-!fd{tjnTDxbptedbbietf!t-]^j2^,/Jy]*q!b+N!xdptenbGibte)fxGpbedbuipTsu<f!hj!g>!!)xepjegbgiSTbuuyjfpo!!=u!b2p/m1g*!!|",_["bufferGrabber.fs"]="~0!0\v!g$jQeSoFfG$J\vY!\v<!*\v1$/e2f!g-j*omfb!nDsMpJOQw`)ECJHSSFpDUUmJbPnOs\vp!Owlbdsbzqj)o5hd!fwwf!d>4!!mwbMnpsdpbOmhQbpstgj!u\vjMpBoN<S!P\vO$`jCgBeSfHg!!gHfSeBgCj`$O\vP!S<N*B{M/\ve!smpbpzDphvbus)Gm`pmdhb)uBjCpHoS>p2U*i!upqvfuE!lidjbhqi!q>!!wsfpdm5p!DghsbbshGO`pmshn!b\vm?<z!ewpbcs/ztjgo/hy!pwcfqdj4m!dw=O!pfsenvbmmd<o!j\v$$\vf!o\ve?jzge\vp!c\v/$tjgo/dompvjeufd!f=sqjbEdqljjmodh=?!\vf!e\vv$mjdoodjm$v\ve!f|!!=*d)mojjqbEnj!sefjdpuwj!p\vog/jgeto/fi$f\vb!e<?o\vp!j\vu$jjtopdQmevmesfp!X=wd!m4jdqfcwp!yh/ogjtz/sibfwb!e\v?1\v!!?\v!$SjFgQ!QNJBMYD``CYP",_["flowMap.vs.head"]="g$jjego!fN$B\vY!`<G^MUPDXF`KPCCPK`FXDPUM!G?`!Y1B\vN!]vwoVjxgppmsgn!!3ndbfuw5!!hgomjpzxsNbbwu!s<j^yU]DNFBKYC`PG`MXP",_["flowMap.vs.body"]="g$jjego!fN$B\vY!`~G!M<P6X/`1P!C,K!F*D{U/!m?b!d1p\vM!wwVfxdp4m!gg!m,p!xzV/wmMbpddpbMmw<V!xgppmsg!.)!j-oyu/!mjb!d>p!M1w<V!xjp!m=g!)N3BdYf`wG!M>P!X^`jP]CwKVFxDpUm<g!!j<,{,z*y!/|*!*g1m/p2x!V-weMfpndsbpmg!t>o!b)sgum)p5xdNfbwu!s+j!yy]jjs^u!b+N!mvfNep",_["flowMap.fs.head"]="g$jjego!fN$B\vY!`<G^MUPDXF`KPCCPK`FXDPUM!G?`!Y1B\vN!]vwoVjxgppmsgn!!3tdbfnwq!mhfosj3zEs!bgwm!p<x^UUfDyFuKvCsPf`]XNPBMYG``GYMBPNX]`fPuCjKoFjDgUo^J<x!pvmogj!gmppspnc!!cnpsppmg!jgomvp!x<F^oUbDcFmKfCeP]`NXBPYM`G",_["flowMap.fs.body"]="g$jjego!fN$B\vY!`\vGEMOPFX``QPPCPKMF`DMUM!P?S!O1V\v$!\vw!f~d!5\v!ggjmepoxfU$f\vy!f<mc<h!s\v/$mVfOySfPUMxMp`mMgP!P>Q,`!TcUhBsS/Ue\vJ!!g\vpfst!m)fj$o\vu!!<jb>c1h<s!/jm!f=y!fNUBxYp`mGgM!P>X,`!PbCcKhFsD/Ue<J!!j\v,*,!*B!C|H!Sg`mEpExBU`fFyEfPmN!`>E!OuFfMyCu`vXsPfM3GE!))gemfpoxjUgffyeu!vgsjfm]fJ$^\v-!!<gbmcphxsV/wm]fjy^f*U<x!pjmgg!!)>g!mbpcxhFso/becJm!f\ve*]!jB^C!H%S%`!F)EgJmSpSxFJWoPg`jFoEjPuNf`]EjO^F!M}C}`!XbPmMmG)!m)fetftoUjigbfoe)!ggmjpmxfV$w\v]!j<^b-/!mwffydf3U)x2p/m1g*!*>*!!b%/%e!Jb!m\vm*)!hBs`fFbEuJfSsSUFiWbPo`)FgEmPpNx`VEwO]FjM^C-`!XwPfMdG3!))1e/f1o*j*g*f*e*!!g\vj$mjfg$!\ve!f<gcjhosf/em)f!yGfMUPxXp`mCgM!F>O!Ec`hNsP/EeFJ`!N\vV*M!UCJHQSM`ZF`ESJHSCS!F*W\vP!`JFeE/PsNh`cE!O+F>M!Cg`mXpPxMUGf!y)femf/osjhgcf<e!!\vg$jfmmfj$g\v!!e<fbgcjhosf/em)f!yGfMUPxXp`mCgM!F>O+E!`bNcPhEsF/`eNJV!M\vU*J!QBMCZH`SQ`TZ!M*Q\vJ!UJMeV/Ns`hFcEbP!N>`!EwOfFdM5C)`nXjPyM)GJ!e)/esfhocj-g!fJee!/gsjhmcf!$+\v!!g<m*p*xbU/feyJf!m-/bs/hmcf-y!fgUmxppxmUgf)yyfbmn/!b-*",_["normalMap.fs.head"]="g$jjegoeff$g\v!!V~T!F\v`gOjPeSoNfB$M\vN!B<Q*\v{!/vOoqjbgnp!s+n!!ntsbpnoq`mgfssv3tE!!,o!pzs/nObqmbNnb!q+<!!*\vu$ojfghooebfugj!CVwT)Ff`{VjCmPb\vn!svpooj!g,p!syn/!Owqfbdn3!!+o!p*sunobfmhTodbbUmwf)<f!{\vj$mfbonesjpgo\v)!f\v{$jjmgbenfsgp!oV!ToFs`vUuBfOsH!F\vOfUt\vm!fw$b\vs!z<j*o{h/!Owqfbdn4!!+w!UOb!o,h!f*ofum<b!dwtb!s+z!jzo/hO!qwbfnd)4!!+w!CCj!u,b!o*hffmobud<t!!\v+$!fyo/eOjqgb\vn!)\v!$+f!oUe)jfg{\vj!m\vb$njsgp!o)!eofsgvjuoffse!)<V*TuFf`eO)PuSsNrBtMfNtBsQf*w!o}j}!!+e!fogpjjoufdef!s)jVETfFd`bDgM!F;B!S1D/P1B!U@`!O*P1S/N1B!M>N>B!Qu*f!e})}!!>e!ffgmjbodfte!)uVbTpFm`gV!W<****\vC!!w-fCd)4u!pqef!s-u*vUs!c-OUp)sunpbem)3yBbsnc!)>w!fudf4e!!fuzbfp`mqgp!t<-z!/w2fudt4!!+t!vqssgf`qo1prs!n,-!!zw/f1du4t!!n+b!qqOs-f!qg2mrp!b>u!!Cg!b4ddffEwj!s<fyd/u2jupto!*+!!|q!s\vf$qj1gr!!a,e!fyg/j1oufte!)+V!TqFs`fUqB2OrH!F>O!UU*!\v4!dwffwd!4<!*r11r!!>-!Oe)Gtetyp)sfdz!f>`!qqpstf/qy1zr{!*4<d!fwwf!d<4*!Or!2-!2>r!)etGtepzs)df!z>f!`qqspftq/2yrz!{4*d<f!ww!f<dn3s!ptou`1g!s>v!te!G>e!yO)!w4Vdwf/wt!u<**<u!tw/fwdV3w!)tzue2G!e>!",_["envmapPhysical.fs.head"]="g$jjegoeff$g\v!!V~T!F\v`gFjOeWoNfB$Q\v\v!!<v*o1j/g1p)s4nd!fgwm!pobsuv!uffosw!N\vbfqtJmofu$f\vo!t<jzuuzj<t!ovfoujogJpqsbnN!wgomfp!b+u!!cghmsj/qsFpomwpNDbqqb<N!w\vo$fj!goesfvgu!fFsO!W<N*BtQt`fUoZiQhFv`pDsV!C-Fd\vf!Wvuodjfgmpgsfns!!t-bqnbqnmwfosfD)vWcVff!cfvoDwfnsbvqu<y!f\vu$!f>m!tsfp\vm!pvDoqjbgNpwsonf!!t5bdnfqwm!f<s*3yEj!sfuobwNnxbfqj<W!v\v!$-fdofeWjugd\vf!mwgffds4)!ohpfjuuJdCfMsJjsEsnbsepjgbtoodbfs)Udfptostfuw!ojjo!!>w!fddf4W!uodpfsmngbfms*!!<|*!*\vt$tjfgo!iehfvgpjso!f+e!)tFtOfWoNiBhQv`pUsZ!Q-Fm`bDnVsCpFo`!V-Wd*f\vW!uwdffdm4g!fxsp)symjenO)pfs{njbmmb!n>s!pjoo!w>f!sdtffWUusdbfomtggfpss!n<E*jmsbfndsupjop!o-)sojpEsxnfbjmw-!!.v)WujdffxmNgbfuss!j>y!*d<f!Wwufddf5m!gffosw!N<bdqfDWpumdpfsm!g>f!su!f4ydufvws!f\vD*vWcVf`VFWC)VfDo`wFnQbZqU-`!QxBpNsWmOeFO)pesfnobjmg-f!e2!/g1j*$<\v!!s|f!u*vtstof!oQiJh!v+p!sf!ouwbNpbmqgD!pomjp!su/tsohpcd!!+-!mfbonwsNpboq!J4oduffwo!tojju!zu<t!o\vp$df!m-tsfj\vE!xsffjuwv!s4od!fwwf!do4j)!1u/t1o*p<d!)\vf$dfoobejjegb\vS!M~C!Jwuffdh4!",_["displacementMap.vs.head"]="g$jjegoeff$g\v!!V\vTgFj`eEoJfT$Q\vM!B<DtFbNjFCOuUoNfBnQf\vd!bvmoqjtgjpes!nu!btpbmngq!mnfssp3gEj!oevj!t<qfmmbbddfTnufoofunNfbdqb<m!q\vt$jjeg!ouebfpgm!gV!TnFs`pVgCjPo\vv!",_["displacementMap.vs.body"]="g$jjegoeff$g\v!!V<T*Ft`bEjJCTuQoMfBnDfFdNbFmOqUtNjBeQ!\v,!!ufsmbbodtTguposfnnffed!b,m>q!tojpes!n+b!myj/{*fw)Vpwc!k-fqdbuNOuposfnnbfmd*b!m+q!t)juef)yEu3vfs",_["bloomSelective.fs.head"]="<vuovjpglpdsbnm!cc!pmp",_["bloomSelective.fs.body"]="~j!g<!o)scvmubfdsl!p<v*u1*/!2|!!-h1m/`1G!s-b1h/D1p!m-p1s/!1>)!5wdf",_["highlightDetect.fs.head"]="~g!m<p1b/u1!!hofsuvIujfhsi!m<j1h/i2u!Dopsmvpusf)st!b*n!q*m2f1s/31E!!=j!n*byh/fs-p!mwpfDdl3t!bdnp!p.s!ey*/!d|)!twcfbd!5%!%d!!6>/!1u!f>y?u!vxs/fd3!E})}j!n2b1h1f/-1!!d=p!pys/es*p<m!pjDgl!t)bdn/!y%!%,!!6d//1z!!=,!!xd//d{)!!,%!%d!/1x/!1?!",z(Qd,{setBatchInfo:function($,z){Hh[$]=z},getBatchInfo:function($){return Hh[$]},getBatchInfoMap:function(){return Hh},setBatchInfoMap:function($){Hh=$}},!0),[1,1,1]),vp=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],Op=[1,0,0,0,0,1,0,1,1,1,1,0],tp=[-.5,.5,.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,.5],cp=[.5,.5,-.5,.5,.5,.5,.5,-.5,.5,.5,-.5,.5,.5,-.5,-.5,.5,.5,-.5],yp=[.5,.5,-.5,-.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,.5,.5,.5,.5,.5,-.5],_p=[.5,-.5,.5,-.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5,-.5,.5,-.5,.5],Pp=[.5,.5,.5,-.5,.5,.5,-.5,-.5,.5,-.5,-.5,.5,.5,-.5,.5,.5,.5,.5],Zp=[-.5,.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,-.5,-.5,-.5,-.5,-.5,-.5,.5,-.5],Xp=function($,z){$._40Q.each(function($){$.ivBatch(z)})},dp=function($,z,C,o){var M=$.getBatchInfo(z)||Mv;return!1!==M.keepData&&C.ms&&C.ms.length&&M.instanced&&!$.isBatchInstancedDisabled()?(C.ms=[],C.ics&&(C.ics=[]),C.ps&&(C.ps=[]),!0):C.isWireframe?(C.vs&&(C.isolated?C.vs=[]:C.vs.length=0),C.cs&&(C.cs.length=0),C.ps&&(C.ps.length=0),C.uv&&(C.uv.length=0),C.bs&&(C.bs.length=0),C.rs&&(C.rs.length=0),C.ns&&(C.ns.length=0),C.ls&&(C.ls.length=0),C._clearTimeout=Date.now()+2e3,!0):(delete o[z],!1)},lp=function($,z,C,o){var M=z[C=C._id];if(M){var A=(Z=$[g=M.batch]).ds,N=M.index;if(Z.invalidate=!0,delete z[C],A.splice(N,1),iv(A))dp(o,g,Z,$);else{for(var C=N,o=M.begin,s=M.size;N<A.length;N++)(M=z[A[N]._id]).index--,M.begin-=s;if(Z.ms&&Z.ms.length)return Z.ms.splice(16*C,16),Z.ics&&Z.ics.splice(4*C,4),void(Z.ps&&(Z.ps.splice(4*C,4),Z.ps._invalidateThisFrame=!0));var g=3*o,$=3*s,C=4*o,Y=4*s,v=Z.vs,O=Z.ps,t=Z.uv,c=Z.cs,y=Z.bs,_=Z.rs,P=Z.ns,Z=Z.ls;v.splice(g,$),O.splice(C,Y),O._invalidateThisFrame=!0,t&&t.splice(2*o,2*s),c&&c.splice(C,Y),y&&y.splice(g,$),_&&_.splice(o,s),P&&P.splice(g,$),Z&&Z.splice(o,s)}}},Jp=function($,z,C,o,M){if(!o)return fd;var A,N,s=z[o];return s||(N=(A=M.getBatchInfo(o)||Mv).image||A.material?[]:fd,M=A.instanced&&!M.isBatchInstancedDisabled(),s=z[o]={vs:[],ns:[],uv:N,cs:N||A.color?fd:[],bs:A.blend?[]:fd,ps:[],rs:A.brightness?[]:fd,ds:[],ms:M?[]:fd,ics:N||A.color||!M?fd:[]}),s.invalidate=!0,$[C._id]={index:s.ds.length,begin:s.vs.length/3,batch:o},s.ds.push(C),s},Kp=function($,z){return z!=fd&&1!==z?[$[0]*z,$[1]*z,$[2]*z,$[3]]:$},fp=function($){$&&($._ctlineModel=[],$._lineModel=Kd)},Qp=function($,z,C){var J=$.getData3dUI(z);if((g=(g=J.shapeModel)||Qw(J))||!J.shapeName){var o,M=z.s("wf.combineTriangle"),A=!1;if(C.geometry){if(g||(z instanceof U.Node&&!(z instanceof U.Shape)?g=Az=Az||{vs:$w,is:zw,uv:Cw}:(g=J._shapeModelCacheForWf)||(g=J._shapeModelCacheForWf=[J.left,J.front,J.right,J.back,J.top,J.bottom])),!(o=M?(o=z.s("wf.normEpsilon"),isNaN(o)&&(o=2),M=0|Math.min(3,Math.max(1,isNaN(M)?1:M)),km[M-1](g,J,180/(Math.PI*o))):function($){var z,C,o,M,A;if(v=$._lineModel)return v;for(var N,s,g,Y=["","top_","bottom_","from_","to_"],v=[],O=[],t=(q1($,J,O),B.requestVector3()),c=B.requestVector3(),y=B.requestVector3(),_=0,P=O.length;_<P;_++)if((M=O[_])&&(A=M.mesh))for(z=0,C=Y.length;z<C;z++)if(o=A[Y[z]+"vs"])for(var Z=A[Y[z]+"is"],X=M.matrix,d=Z?Z.length:o.length/3,l=0;l<d;l+=3)g=Z?(N=Z[l],s=Z[l+1],Z[l+2]):(s=(N=l)+1,l+2),N*=3,s*=3,g*=3,X?(t.fromArray(o,N).applyMatrix4(X),c.fromArray(o,s).applyMatrix4(X),y.fromArray(o,g).applyMatrix4(X),v.push(t.x,t.y,t.z,c.x,c.y,c.z,c.x,c.y,c.z,y.x,y.y,y.z,y.x,y.y,y.z,t.x,t.y,t.z)):v.push(o[N],o[N+1],o[N+2],o[s],o[s+1],o[s+2],o[s],o[s+1],o[s+2],o[g],o[1+g],o[2+g],o[g],o[1+g],o[2+g],o[N],o[N+1],o[N+2]);return B.releaseVector3(t),B.releaseVector3(c),B.releaseVector3(y),0<v.length&&($._lineModel=v),v}(g))||0===o.length)return;A=!z.s("wf.geometry.batch")}else o=C.short?Nw:Aw,z.s("wf.boundingBox")&&(M=J.getBoundingBox(!0))&&(g=(new ad).scale(M.max.clone().sub(M.min)).setPosition(M.max.clone().add(M.min).divideScalar(2)).toArray(),o=uz([],g,o));var N,s,M=$.getBrightness(z),g=z.s("bloom"),Y=z.s("3d.reflectable"),v=Yx(C.color||"white"),O=v[3]<1,t=Math.ceil(C.width)||1,c=z.s("3d.clipbox")?Xz:z.s("3d.clipbox.mask"),y=z.s("wf.fog"),_=z.s("wf.group"),P=z.getRenderLayer(),$=$._40Q.get(P),P=z.s("wf.material"),Z=$.wireframeIndexMap,$=$.wireframeModelMap,X=z.s("batch"),d=z.s("3d.clip.direction");if(P||d||A){if(d){if(0===(s=z.s("3d.clip.percentage")))return;s=J._formatClipUniforms(d,s,z)}N="_"+z._id}else N=X?(O?"T":"O")+X:(O?"T":"O")+_+(g?"_1":"_0")+(Y?"1_":"0_")+c+"_"+t+(y?"1_":"0_");d=(d=$[N])||($[N]={vs:[],cs:[],ps:[],ds:[],T:O,B:g,clipboxMask:c,reflectable:!!Y,W:t,batch:X,fog:y,isWireframe:!0,isolated:A}),P&&(d.material=P),d.invalidate=!0,_=d.vs,$=d.cs,O=d.ds,g=Z[z._id]={index:O.length,begin:_.length/3,batch:N},O.push(z),c=J._finalMat,z instanceof U.Edge||!(!c||!C.geometry&&z instanceof U.Shape)||(c=L_(z,C.mat),z.appendAnchorMatrix3d(c)),s||A?(d.mat=m_(c),s&&(d.clipDirection=s[0],d.clipPercent=s[1]),A?d.vs=_=o:uz(_,null,o)):uz(_,c,o),A?d.csForIsolated=Kp(v,M):(Y=g.size=_.length/3-g.begin,bz($,Kp(v,M),Y))}},Wp=function($,z,C,o){if(z){var M=(C=C[z.batch]).ps,A=(C=C.ms&&C.ms.length)?4*z.index:4*z.begin,N=C?1:z.size;if(M[A]!==$[0]||M[A+1]!==$[1]||M[A+2]!==$[2]||M[A+3]!==$[3]){for(var s=0;s<N;s++)M[A++]=$[0],M[A++]=$[1],M[A++]=$[2],M[A++]=$[3];M._invalidateThisFrame=!0}}},Vp=(oz=new U.Math.Vector3,Mz=new U.Math.Vector3,function($,z){var C=z+["32"],o=$[z],M=$[C];if(o){if(Qd.extractBatchTranslation||Qd.extractVerticesTranslation)if("vs"!==z||$.ms&&$.ms.length){if("ms"===z&&$.ms&&$.ms.length){for(Mz.set(0,0,0),N=o.length,s=12;s<N;s+=16)Mz.add(oz.fromArray(o,s));for(Mz.divideScalar(N/16),g=Mz.x,Y=Mz.y,v=Mz.z,O=new Array(N),s=0;s<N;s+=16){for(var A=0;A<12;A++)O[s+A]=o[s+A];O[s+12]=o[s+12]-g,O[s+13]=o[s+13]-Y,O[s+14]=o[s+14]-v,O[s+15]=o[s+15]}o=O,$.translate=[g,Y,v]}}else{Mz.set(0,0,0);for(var N=o.length,s=0;s<N;s+=3)Mz.add(oz.fromArray(o,s));Mz.divideScalar(N/3);for(var g=Mz.x,Y=Mz.y,v=Mz.z,O=new Array(N),s=0;s<N;s+=3)O[s]=o[s]-g,O[s+1]=o[s+1]-Y,O[s+2]=o[s+2]-v;o=O,$.translate=[g,Y,v]}M&&M.length===o.length?(M.set(o),M._bufId=null):$[C]=new p_(o)}else delete $[C]}),ep=function($,z,C,o,M,A,N,s){var g,Y,v=z instanceof U.Shape,O=A[0],t=A.length;if(1<t)for(var O=m_(O),c=1;c<t;c++)Uz(O,O,A[c]);v&&(g=z.p3(),Fz(O,g)),Iv(N.ms,O),N.ics&&bz(N.ics,z.s("shape3d.color")||y,1),N.vs.length||(Y=m_(vp),v&&Fz(Y,n_(g)),Dp($,z,C,o,M,[Y],N,s))},Dp=function(z,C,$,o,M,A,N,s){if(ed($))$.forEach(function($){Dp(z,C,$,o,M,A,N,s)});else if(Vd($))Dp(z,C,Qw(o,$),o,M,A,N,s);else if(Dv($)){var g,Y=E($.mat,C,z),v=E($.s3,C,z),O=E($.t3,C,z),t=E($.r3,C,z);if((v||t||O||Y)&&(g=w_(Y,v,t,E($.rotationMode,C,z),O),A.push(g)),$.shape3d)Dp(z,C,$.shape3d,o,M,A,N,$);else{var Y=o.s,c=(s=s||Mv,A[0]),y=A.length,v=Y("shape3d.color",$.color,s.color);if(M=M||Y("shape3d.blend",$.blend,s.blend),1<y)for(var c=m_(c),_=1;_<y;_++)Uz(c,c,A[_]);t=c?n1(c):fd,$.vs&&Y(Uf,$.visible,s.visible)&&ap(c,N,$.vs,$.uv,$.is,$.ns,t,M,v),$.top_vs&&Y(qf,$.topVisible,s.topVisible)&&ap(c,N,$.top_vs,$.top_uv,$.top_is,$.top_ns,t,M,Y("shape3d.top.color",$.topColor,s.topColor)||v),$.bottom_vs&&Y(Tf,$.bottomVisible,s.bottomVisible)&&ap(c,N,$.bottom_vs,$.bottom_uv,$.bottom_is,$.bottom_ns,t,M,Y("shape3d.bottom.color",$.bottomColor,s.bottomColor)||v),$.from_vs&&Y(Lf,$.fromVisible,s.fromVisible)&&ap(c,N,$.from_vs,$.from_uv,$.from_is,$.from_ns,t,M,Y("shape3d.from.color",$.fromColor,s.fromColor)||v),$.to_vs&&Y(wf,$.toVisible,s.toVisible)&&ap(c,N,$.to_vs,$.to_uv,$.to_is,$.to_ns,t,M,Y("shape3d.to.color",$.toColor,s.toColor)||v)}g&&A.pop()}},ap=function(C,$,o,M,z,A,N,s,g){var Y,v=$.cs,O=$.uv,t=$.bs,c=$.ns,y=$.vs,$=(A&&0!==A.length||(A=C1(o,z)),ad.determinantOfArray(C)<0);z||$?(Y=z?z.length:o.length/3,H_(z||Y,$,function($){var z=3*$;uz(y,C,[o[z],o[1+z],o[2+z]]),uz(c,N,[A[z],A[1+z],A[2+z]]),O&&Iv(O,[M[2*$],M[2*$+1]])})):(Y=o.length/3,uz(y,C,o),uz(c,N,A),O&&Iv(O,M)),v&&bz(v,g,Y),t&&(s?pz(t,s,Y):Iv(t,Yp,Y))},kp=function($,z,C){var o=$.data.p3();z=m_(z),Fz(z,o),Iv(C.ms,z),C.ics&&bz(C.ics,$.data.s("shape3d.color")||y,1),C.vs.length||(z=m_(vp),Fz(z,n_(o)),xp($,z,C))},xp=function($,z,C){np($,_t,z,C),np($,Pt,z,C),np($,ct,z,C),np($,yt,z,C),np($,Zt,z,C),np($,Xt,z,C),np($,"csg",z,C)},pp=function($,z,C,o,M,A){Iv(C.ms,M),C.ics&&bz(C.ics,z.s("all.color")||y,1),C.vs.length||bp($,z,C,o,m_(vp),A)},bp=function($,z,C,o,M,A){Rp($,z,C,o,M,A,_t,tp),Rp($,z,C,o,M,A,Pt,cp),Rp($,z,C,o,M,A,Zt,yp),Rp($,z,C,o,M,A,Xt,_p),Rp($,z,C,o,M,A,ct,Pp),Rp($,z,C,o,M,A,yt,Zp)},up=function($,z,C,o,M){o?M.instanced?$.gv.batchInstancedModel($.data,o,$,$.getBodyColor(),[z],C):Dp($.gv,$.data,o,$,$.getBodyColor(),[z],C):M.instanced?$.gv.batchInstancedShapeFace($,z,C):xp($,z,C)},np=function($,z,C,o){if($=$[z]){var M=$.tuv;if(M){var z=$.uvScale,A=$.uvOffset,N=$.uvRotation,s=$.uvAnchor;if(z||A||N)for(var g,Y,v=(N=T1(N,A,z,s)).a,O=N.b,t=N.c,c=N.d,y=N.tx,_=N.ty,P=M.length,Z=0;Z<P;Z+=2)g=M[Z],Y=M[Z+1],M[Z]=v*g+t*Y+y,M[Z+1]=O*g+c*Y+_}ap(C,o,$.vs,M,fd,fd,C?n1(C):fd,$.blend,$.color)}},Rp=function($,z,C,o,M,A,N,s){var g,Y,v,O,t,c,y,_,P,Z,X,d,l,J,K,f=C.cs,Q=C.uv,W=C.bs,V=C.vs,e=C.ns,D=C1(s);$.getFaceVisible(z,N)&&((C=$.getFaceMat(z,N))&&(M=L_(z,C),A=n1(M)),ad.determinantOfArray(M)<0?(C=s.length/3,H_(C,!0,function($){uz(V,M,[s[$*=3],s[1+$],s[2+$]]),uz(e,A,[D[$],D[1+$],D[2+$]])})):(uz(V,M,s),uz(e,A,D)),f&&bz(f,$.getFaceColor(z,N),6),Q&&(C=$.getFaceUv(z,N)||o[N+"Uv"],f=$.getFaceUvScale(z,N)||o[N+"UvScale"],g=$.getFaceUvOffset(z,N)||o[N+"UvOffset"],O=$.getFaceUvRotation(z,N)||o[N+"UvRotation"],o=$.getFaceUvAnchor(z,N)||o[N+"UvAnchor"],t=(C=C?[C[6],C[7],C[0],C[1],C[2],C[3],C[2],C[3],C[4],C[5],C[6],C[7]]:Op)[0],c=C[1],y=C[2],_=C[3],P=C[4],Z=C[5],X=C[6],d=C[7],l=C[8],J=C[9],K=C[10],C=C[11],(f||g||O||o)&&(g=(O=T1(O,g,f,o)).a,f=O.b,o=O.c,Y=O.d,c=f*(t=g*t+o*c+(v=O.tx))+Y*c+(O=O.ty),_=f*(y=g*y+o*_+v)+Y*_+O,Z=f*(P=g*P+o*Z+v)+Y*Z+O,d=f*(X=g*X+o*d+v)+Y*d+O,J=f*(l=g*l+o*J+v)+Y*J+O,C=f*(K=g*K+o*C+v)+Y*C+O),Q.push(t,c,y,_,P,Z,X,d,l,J,K,C)),W&&((f=$.getBodyColor(z)||$.getFaceBlend(z,N))?pz(W,f,6):Iv(W,Yp,6)))},Ip=function($,z,C,o){var C=$._picking?$.pickColorMap:null,M=$.getGL(),A=$._buffer;if(!Hv(z)){R1($,vp),_1(M);var N,s,g,Y,v=!1;for(V in z){var O,t,c,y,_,P,Z,X,d,l,J,K,f,Q,W=z[V];W.vs&&W.vs.length?(y=W.batch?(O=(y=$.getBatchInfo(W.batch)||Mv).wfBloom===Kd?y.bloom:y.wfBloom,t=y.wfReflectable===Kd?y.reflectable:y.wfReflectable,c=y.wfClipboxMask===Kd?y.clipboxMask:y.wfClipboxMask,y.width):(O=W.B,t=W.reflectable,c=W.clipboxMask,W.W),!(Z=!C&&W.material)&&(o&&!W.T||!o&&W.T||$.isReflecting(M)&&!1===t)||(K=C&&!$.drawFilter,W.invalidate?(W.invalidate=!1,Vp(W,"vs"),Vp(W,"cs"),Vp(W,"ls"),K&&Vp(W,"ps")):K&&W.ps&&W.ps._invalidateThisFrame&&(W.ps._invalidateThisFrame=!1,Vp(W,"ps")),K=W.translate,N=W.clipDirection,P=(_=W.isolated)?W.csForIsolated:W.cs32,Z?("lines"!==(X=(Z=W.material).renderMode)?Z.renderMode="lines":X=null,$._prefabRenderer.render(M,{position:K,mesh:{vs:W.vs32,aLineDistance:W.ls32,aBatchColor:P,_complete_:!0},mat:Z},W),X&&(Z.renderMode=X)):(K||N||_?(s=N||_?m_(W.mat):[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],K&&Fz(s,K),g=m_($._6O),R1($,s)):s=null,Z=W.vs32,C&&(P=W.ps32),f1(M,y,fd,A.vs,Z),d=(X=kd.for(M)).directUniforms(),l=X.directAttribs(),Q=W.D,J=!$._dashDisabled&&Q,d.uAlphaTest=xd.alphaTest,M._blooming&&!O&&(d.blackout=!0),N&&(f=W.clipPercent,K&&(f-=K[Math.floor((N-1)/2)]||0),d.uClipPercent=f,d.uClipDirection=N,d.uClipLocalTransform=az),c1($,d,c===Kd?Zz:c),J&&(d.uDash=!0,d.uDashDistance=Q,d.uDashGapDistance=W.G,d.uDiffuse=W.A||xd["color.empty"],l.aLineDistance=a1(M,A.lineDistance,W.ls32,fd,1)),(K=!$._batchColorDisabled)&&P&&P.length?(d.uBatchColor=!0,l.aBatchColor=_?P:a1(M,A.batchColor,P,fd,4)):(d.uBatchColor=!1,l.aBatchColor=!1),f=!1!==W.fog,d.uFog=f,d1(M),W1(M,0,Z.length/3,1),l1(M),f||(d.uFog=!0),K&&(d.uBatchColor=!1,l.aBatchColor=!1),J&&(d.uDash=!1,l.aLineDistance=!1),M._blooming&&!O&&(d.blackout=!1),s&&(N&&(d.uClipDirection=0),u1($,g),d.uModelMatrix=h_)))):(Q=W._clearTimeout)&&Date.now()>Q&&(v=!0,(Y=Y||[]).push(V))}if(P1(M),u1($),v)for(var V,e=0,D=Y.length;e<D;e++)delete z[V=Y[e]]}},hp=function($,z){$.invalidate=!1,Vp($,"vs"),Vp($,"ns"),Vp($,"cs"),Vp($,"rs"),z&&Vp($,"ps"),Vp($,"bs"),Vp($,"uv"),Vp($,"ms"),Vp($,"ics")},mp=function($,z,R,C,o,M){var A,N,s,g,Y,v,O,t,C=$._picking?$.pickColorMap:null,c=$.getGL(),y=kd.for(c),_=y.directUniforms(),P=y.directAttribs(),Z=$._buffer;if(!Hv(z)){var X,d,l,J=$._flowObjects.length?$.flowMap:null,K=$.drawFilter;for(A in R1($,vp),z)if(!1!==(N=$.getBatchInfo(A)||Mv).visible)if((a=!C&&N.material&&!(c._blooming&&!N.bloom))||!(o&&!N.transparent||!o&&N.transparent||$.isReflecting(c)&&!1===N.reflectable)){var f=N.renderLayerMask;if(xK(M=M==fd?DK:M,f=f==fd?DK:f)&&(f=z[A],C||!N.transparentMask)){if(d=!1,K){if(!1===N.highlight)continue;if(X=f.ds){for(var Q=0,W=X.length;Q<W;Q++)if(!K(X[Q])){d=!0;break}if(!d)continue}}var V,I=o&&!0===N.autoSort&&($._33Q||f.invalidate)&&!d,e=C&&!d,D=(f.invalidate?hp(f,e):e&&f.ps&&f.ps._invalidateThisFrame&&(f.ps._invalidateThisFrame=!1,Vp(f,"ps")),f.ms32);if(D){if(!D.length)continue;l=!0}else l=!1;if(e=f.vs32,s=C?f.ps32:l?f.ics32:f.cs32,Y=f.uv32,p=f.bs32,g=f.rs32,v=e.length/3,I&&((V=Gp(e,$.getEye(),$,D))?(f.is=V.is,f.elementTypeUint=V.useUint32):(f.is=null,f.elementTypeUint=null)),v){if((V=N.polygonOffset)&&g1(c,V),(O=f.translate)&&(t=[1,0,0,0,0,1,0,0,0,0,1,0,O[0],O[1],O[2],1],$._modelMatrixProcess&&(t=$._modelMatrixProcess(t))),a&&!d){var a={mesh:{vs:e,uv:Y,ns:f.ns32,is:f.is,_complete_:!0},mat:N.material};l&&(a.instances={aMatrixInstanced:f.ms32}),$._prefabRenderer.render(c,a,N,t)}else{O&&R1($,t),N.light,a=$.getTexture(N.image),Z1(c,fd,N.light,N.opacity,N.reverseFlip,N.reverseColor,N.reverseCull),s?$._batchColorDisabled?(_.uBatchColor=!1,P.aBatchColor=!1):(_.uBatchColor=!0,d||(P.aBatchColor=l?D1(c,Z.instancedBatchColor,s,fd,4):a1(c,Z.batchColor,s,fd,4))):(_.uBatchColor=!1,_.uDiffuse=N.color||xd["color.empty"]);var k,x=N.alphaTest;_.uAlphaTest=x===Kd?xd.alphaTest:x,_.shadowReceive=!C&&!1!==N.shadowReceive,c1($,_,N.clipboxMask===Kd?Zz:N.clipboxMask),hz($,_,N.lightMask===Kd?Zz:N.lightMask,N.headlightAmbientIntensity),J&&J.resetFlowUniform(N.effectFlowMask===Kd?Zz:N.effectFlowMask,_),c._blooming&&!N.bloom&&(_.blackout=!0),N.envmap!==Kd?(_.uUseEnvMap=!0,_.roughness=N.roughness||0,$._setEnvmapByProbeId(_,N.envmapProbe||0,N.envmap)):(_.uUseEnvMap=!1,_.envMapIntensity=0);(x=p&&!$._batchBlendDisabled)&&(_.uBatchBlend=!0,P.aBatchBlend=a1(c,Z.batchBlend,p,fd));var p=g&&!$._batchBrightnessDisabled;if(p&&(_.uBatchBrightness=!0,P.aBatchBrightness=a1(c,Z.batchBrightness,g,fd,1)),Y?d1(c,a,N.discardSelectable,Z.uv,Y,N.uvOffset,N.uvScale,N.uvRotation,N.uvAnchor):d1(c),P.aPosition=a1(c,Z.vs,e,fd),P.aNormal=a1(c,Z.ns,f.ns32,fd),l&&(_.uUseInstance=!0),d){for(l&&!(k=$._highlightInstancedFloatArray)&&(k=$._highlightInstancedFloatArray=new p_(16)),Q=0,W=X.length;Q<W;Q++)if(!K(X[Q])){var b=R[X[Q]._id];if(P.aBatchColor=$.getHighlightPickColor(X[Q]),l){for(var u=0;u<16;u++)k[u]=D[16*b.index+u];n=D1(c,Z.ms,k,fd),c.bufferSubData(34962,0,k),S1(P,n,_),W1(c,0,v,null,1)}else{var n=b.begin,h=b.size;W1(c,n,h)}}}else l&&(I&&(D=Sp(D,$.getEye())),S1(P,D1(c,Z.ms,D,fd),_)),f.is?(k1(c,Z.is,f.is),V1(c,0,v,null,f.elementTypeUint?5125:null,l?f.ms32.length/16:0)):W1(c,0,v,null,l?f.ms32.length/16:0);Y?l1(c,a):l1(c),s&&!$._batchColorDisabled&&(_.uBatchColor=!1,P.aBatchColor=!1),x&&(_.uBatchBlend=!1,P.aBatchBlend=!1),p&&(_.uBatchBrightness=!1,P.aBatchBrightness=!1),c._blooming&&!N.bloom&&(_.blackout=!1),l&&(_.uUseInstance=!1,S1(P,Kd)),X1(c),O&&(u1($),_.uModelMatrix=h_)}V&&Y1(c)}}}u1($)}},Sp=function(C,o){for(var $,z,M,A=C.length/16,N=new Array(A),s=0;s<A;s++)N[s]=s;N.sort(function($,z){return $=[C[16*$+12],C[16*$+13],C[16*$+14]],z=[C[16*z+12],C[16*z+13],C[16*z+14]],Y_(o,z)-Y_(o,$)});var g=C._sortedByEye;for(g&&g.length===C.length||(g=C._sortedByEye=new p_(16*A)),s=0;s<A;s++)for(z=16*s,M=16*N[s],$=0;$<16;$++)g[z+$]=C[M+$];return g._bufId=null,g},Gp=function(o,M,$,z){var C=o.length/3,A=65535<C;if(!($=$._glCapabilities.elementTypeUint&&A)&&A)return null;z&&z.length&&((A=B.requestMatrix4()).fromArray(z).invert(),M=SA(M).applyMatrix4(A).toArray(),B.releaseMatrix4(A));for(var N=new Array(C),s=C/3,g=new Array(s),Y=0;Y<s;Y++)g[Y]=Y;for(g.sort(function($,z){var C=[(o[$=9*$]+o[3+$]+2*o[6+$])/4,(o[1+$]+o[4+$]+2*o[7+$])/4,(o[2+$]+o[5+$]+2*o[8+$])/4],z=[(o[$=9*z]+o[3+$]+2*o[6+$])/4,(o[1+$]+o[4+$]+2*o[7+$])/4,(o[2+$]+o[5+$]+2*o[8+$])/4];return 0<($=Y_(M,C)-Y_(M,z))?-1:$<0?1:0}),Y=0;Y<s;Y++){var v=3*Y,O=3*g[Y];N[v]=O,N[1+v]=1+O,N[2+v]=2+O}return{useUint32:$,is:new($?Uint32Array:k_)(N)}},Ep=function($){return{matDef:$.matDef,flipY:$.flipY,box3:$.box3,s3:$.s3,r3:$.r3,rotationMode:$.rotationMode,t3:$.t3,cube:$.cube,center:$.center,ignoreNormal:$.ignoreNormal,assetsURIMap:$.assetsURIMap,batchByMaterial:$.batchByMaterial,batchByMaterialVerticesThreshold:$.batchByMaterialVerticesThreshold,batchInstanceCountThreshold:$.batchInstanceCountThreshold}},Hp={obj:function(o,M){var $=Jd.assign(Ep(o),{mat:o.mat,model3d:o.model3d,cube:o.cube==fd||o.cube,center:o.center==fd||o.center,ignoreMtls:o.ignoreMtls,ignoreTransparent:o.ignoreTransparent,ignoreColor:o.ignoreColor,ignoreImage:o.ignoreImage,part:o.part,prefix:o.prefix,flipFace:o.flipFace,reverseFlipMtls:o.reverseFlipMtls,finishFunc:function($,z,C){if($){if($.model3d)return $.json=o,void M($);($=op($,o.eachModel)).json=o,!$.externalAssetURIs&&z&&z.externalAssetURIs&&($.externalAssetURIs=z.externalAssetURIs),M($)}else M()}});Qd.loadObj(o.obj,o.mtl,$)},bin:function($,o){Qd.loadBin($.url,{finishFunc:function($,z,C){$?o($):o()}})},fbx:function(z,C){var $=Jd.assign(Ep(z),{mikktTangent:z.mikktTangent,tangentFlipW:z.tangentFlipW,shape3d:z.shape3d,path:z.path,playAutomatically:z.playAutomatically,animations:!1!==z.animations,rotationInterpolation:z.rotationInterpolation,keyframeValuesInterpolation:z.keyframeValuesInterpolation,binaryImagePath:z.binaryImagePath,finishFunc:function($){Up($,z,C)}});Qd.loadFbx(z.url,$)},gltf:function(z,C){var $=Jd.assign(Ep(z),{mikktTangent:z.mikktTangent,tangentFlipW:z.tangentFlipW,shape3d:z.shape3d,path:z.path,playAutomatically:z.playAutomatically,binaryImagePath:z.binaryImagePath,finishFunc:function($){Up($,z,C)}});Qd.loadGltf(z.url,$)}},ip=(Qd.getModelTypeHandlers=function(){return Hp},Qd.setModelTypeHandler=function($,z){z===Kd?delete Hp[$]:Hp[$]=z},Qd.getModelTypeHandler=function($){return Hp[$]},Qd.handleModelLoaded=function($,z){},Qd.handleUnfoundModel=function($,z,C){},fd),Fp=fd,jp=function($){ip&&!$._loadingModelView_&&((Fp=Fp||{})[$._loadingModelView_=H3()]=$)},Up=function(z,C,o){var $;z?($=(z.json=C).animationSources)&&$.length?Qd.asyncEach($,function($,z){fz($,function($){i3(function(){z(null,$)})})},function($){o(Qd.completeModel3dAnimation(C.url,z,C.animations,$))}):o(Qd.completeModel3dAnimation(C.url,z,C.animations)):o()},Lp=function(C,o,M){if(!Qd.isMaxConcurrencyReached()){if("string"==typeof o&&($=o.match($v))){if("bin"===($=$[1])||"htb"===$)return wp(C,{modelType:"bin",url:o},o,M);if("fbx"===$)return wp(C,{modelType:"fbx",url:o},o,M);if("gltf"===$||"glb"===$)return wp(C,{modelType:"gltf",url:o},o,M);if(Qd.__htExtraAsset3dPattern&&0<=Qd.__htExtraAsset3dPattern.indexOf($))return wp(C,{modelType:$,url:o},o,M)}if((o=Qd.beforeLoadURL(o)).data){var $=Qd.parse(o.data);wp(C,$,o,M)}else{if($=(ip=ip||{})[C]){if($.url===o)return;$.request&&($.request.onload=Nv,$.request.onerror=Nv)}var A=new VV;ip[C]={request:A,url:o},A.onload=function($){var z;200===this.status||0===this.status?(delete ip[C],z=Qd.parse(A.getResponseText()),wp(C,z,o,M)):qp(C,Qd.handleUnfoundModel(C,o)||fd,M)},A.onerror=function($){qp(C,Qd.handleUnfoundModel(C,o)||fd,M)},($={}).url=encodeURI(o),$.sync=!1,A.send($)}}},wp=function(z,C,o,M){var $=C.modelType;if(!$)return qp(z,C,M),void Qd.handleModelLoaded(z,C);var A=Qd.getModelTypeHandler($);A?(ip=ip||{})[z]||(ip[z]={url:o},A(C,function($){$?(qp(z,$,M),Qd.handleModelLoaded(z,$)):qp(z,Qd.handleUnfoundModel(z,o,C)||fd,M)})):(console.error("Unknown model type: "+$+", please verify that the corresponding plugin is correctly imported."),qp(z,Qd.handleUnfoundModel(z,o,C)||fd,M))},qp=function($,z,C){if(delete ip[$],Vd(z)&&Bh.test(z))Lp($,z,C);else{if(ih[$]=z,C&&C($,z),c3($,z),Hv(ip)&&(ip=fd,Fp)){for(var o in Fp)(M=Fp[o]).invalidateAll&&M.invalidateAll(Kd,"modelLoaded",$),M.redraw&&M.redraw(),M.iv(),delete M._loadingModelView_;Fp=fd}if(z&&Fp)for(var o in Fp){var M;(M=Fp[o]).invalidateAll&&M.invalidateAll(Kd,"modelLoading",$),M.redraw&&M.redraw(),M.iv()}}},Tp=new p_([0,0,0,1,1,1,1,0]),rp=new p_([0,0,1,0,0,1,0,0,1,0,0,1]),Bp=new k_([0,1,2,2,3,0]),$w=new p_([-.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]),zw=new k_([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]),Cw=new p_([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]),ow=C1($w,zw),Mw=(new p_([-.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 k_([0,1,2,3,0,7,5,4,6,7,5,3,2,4,6,1]),[_t,ct,Pt,yt,Zt,Xt]),Aw=[-.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],Nw=[-.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],sw=function($,z,C,o,M,A,N){$=$||16,z=z||0,C=C||$;var s,g,Y,v,O,t,c=[],y=[],_=_d/$,P=x/(A=A||16);for(X=0;X<A;X++)for(g=X*P,t=(Y=X+1)*P,s=z;s<C;s++)K=s*_,O=(v=s+1)*_,c.push(.5*yd(g)*Wd(K),.5*Wd(g),-.5*yd(g)*yd(K),.5*yd(t)*Wd(O),.5*Wd(t),-.5*yd(t)*yd(O),.5*yd(g)*Wd(O),.5*Wd(g),-.5*yd(g)*yd(O),.5*yd(g)*Wd(K),.5*Wd(g),-.5*yd(g)*yd(K),.5*yd(t)*Wd(K),.5*Wd(t),-.5*yd(t)*yd(K),.5*yd(t)*Wd(O),.5*Wd(t),-.5*yd(t)*yd(O)),y.push(s/$,X/A,v/$,Y/A,v/$,X/A,s/$,X/A,s/$,Y/A,v/$,Y/A);if(N)for(var Z=[],X=0,d=c.length;X<d;X+=3)Z.push(2*c[X],2*c[X+1],2*c[X+2]);if(o)for(var l=[],J=[],K=z*_,X=0;X<A;X++)g=X*P,l.push(0,0,0,.5*yd(t=(Y=X+1)*P)*Wd(K),.5*Wd(t),-.5*yd(t)*yd(K),.5*yd(g)*Wd(K),.5*Wd(g),-.5*yd(g)*yd(K)),J.push(0,.5,z/$,Y/A,z/$,X/A);if(M){var f=[],Q=[],K=C*_;for(X=0;X<A;X++)t=(Y=X+1)*P,f.push(0,0,0,.5*yd(g=X*P)*Wd(K),.5*Wd(g),-.5*yd(g)*yd(K),.5*yd(t)*Wd(K),.5*Wd(t),-.5*yd(t)*yd(K)),Q.push(1,.5,C/$,X/A,C/$,Y/A)}return o={vs:c,uv:y,from_vs:l,from_uv:J,to_vs:f,to_uv:Q},N&&(o.ns=Z),o},gw=function($,z,C){($=$||.17)<0?$=0:.25<$&&($=.25);for(var o,M,A,N,s,g=[],Y=[],v=[],O=_d/(C=C||18),t=_d/(z=z||12),c=.5-$,y=0;y<=z;y++)for(N=Wd(M=y*t-x),A=yd(M),Z=0;Z<=C;Z++)s=c+$*N,g.push(Wd(o=Z*O)*s,A*$,-yd(o)*s),Y.push(Z/C,1-y/z);for(y=0;y<z;y++)for(var _=y*(C+1),P=(y+1)*(C+1),Z=0;Z<C;Z++)v.push(_+Z,P+Z+1,P+Z,_+Z,_+Z+1,P+Z+1);return{vs:g,uv:Y,is:v}},Yw=function($,z,C,o,M,A,N,s){$=$||18,z=z||0,C=C||$,(A=A||.17)<0?A=0:.25<A&&(A=.25);var g,Y,v,O,t,c,y,_,P,Z=[],X=[],d=_d/$,l=_d/(N=N||12),J=.5-A,K=s?[]:Kd;for(W=0;W<N;W++)for(c=W*l-x,y=(v=W+1)*l-x,g=z;g<C;g++)O=g*d,t=(Y=g+1)*d,_=J+A*Wd(c),P=J+A*Wd(y),Z.push(Wd(O)*_,yd(c)*A,-yd(O)*_,Wd(t)*_,yd(c)*A,-yd(t)*_,Wd(t)*P,yd(y)*A,-yd(t)*P,Wd(O)*_,yd(c)*A,-yd(O)*_,Wd(t)*P,yd(y)*A,-yd(t)*P,Wd(O)*P,yd(y)*A,-yd(O)*P),X.push(g/$,1-W/N,Y/$,1-W/N,Y/$,1-v/N,g/$,1-W/N,Y/$,1-v/N,g/$,1-v/N),s&&K.push(Wd(O)*Wd(c),yd(c),-yd(O)*Wd(c),Wd(t)*Wd(c),yd(c),-yd(t)*Wd(c),Wd(t)*Wd(y),yd(y),-yd(t)*Wd(y),Wd(O)*Wd(c),yd(c),-yd(O)*Wd(c),Wd(t)*Wd(y),yd(y),-yd(t)*Wd(y),Wd(O)*Wd(y),yd(y),-yd(O)*Wd(y));if(o)for(var f=[],Q=[],W=0;W<N;W++)y=(v=W+1)*l-x,O=z*d,_=J+A*Wd(c=W*l-x),P=J+A*Wd(y),f.push(Wd(O)*_,yd(c)*A,-yd(O)*_,Wd(O)*P,yd(y)*A,-yd(O)*P,Wd(O)*J,0,-yd(O)*J),Q.push(.5+.5*Wd(c),.5-.5*yd(c),.5+.5*Wd(y),.5-.5*yd(y),.5,.5);if(M)for(var V=[],e=[],W=0;W<N;W++)y=(v=W+1)*l-x,O=C*d,_=J+A*Wd(c=W*l-x),P=J+A*Wd(y),V.push(Wd(O)*_,yd(c)*A,-yd(O)*_,Wd(O)*J,0,-yd(O)*J,Wd(O)*P,yd(y)*A,-yd(O)*P),e.push(.5-.5*Wd(c),.5-.5*yd(c),.5,.5,.5-.5*Wd(y),.5-.5*yd(y));return o={vs:Z,uv:X,from_vs:f,from_uv:Q,to_vs:V,to_uv:e},s&&(o.ns=K),o},vw=function($,z){for(var C,o,M,A,N,s=[],g=[],Y=[],v=[],O=_d/16,t=0;t<=16;t++)A=.5*(o=Wd(C=t*O)),M=yd(C),s.push(A,-.5,N=.5*M,A,.5,N),Y.push(o,0,M,o,0,M),g.push(1-t/16,1,1-t/16,0);for(t=0;t<16;t++)v.push(2*t,2*t+1,2*t+3,2*t,2*t+3,2*t+2);if(z){var c=[],y=[],_=[];for(c.push(0,-.5,0),y.push(.5,.5),t=0;t<=16;t++)o=Wd(C=t*O),M=yd(C),c.push(.5*o,-.5,.5*-M),y.push(.5+.5*o,.5+.5*M);for(t=0;t<16;t++)_.push(0,t+2,t+1)}if($){var P=[],Z=[],X=[];for(P.push(0,.5,0),Z.push(.5,.5),t=0;t<=16;t++)o=Wd(C=t*O),M=yd(C),P.push(.5*o,.5,.5*-M),Z.push(.5+.5*o,.5-.5*M);for(t=0;t<16;t++)X.push(0,t+1,t+2)}return{vs:s,uv:g,is:v,ns:Y,bottom_vs:c,bottom_uv:y,bottom_is:_,top_vs:P,top_uv:Z,top_is:X}},Ow=function($,z,C,o,M,A,N,s){$=$||12,C=C||$;for(var g,Y,v,O,t,c,y,_,P,Z,X,d,l=[],J=[],K=_d/$,f=z=z||0;f<C;f++)Y=(g=f+1)*K,_=.5*Wd(y=f*K),P=.5*yd(y),v=.5*Wd(Y),O=.5*yd(Y),l.push(_,-.5,-P,v,-.5,-O,_,.5,-P,v,-.5,-O,v,.5,-O,_,.5,-P),J.push(f/$,1,g/$,1,f/$,0,g/$,1,g/$,0,f/$,0);if(s)for(var Q=[],f=0,W=l.length;f<W;f+=3)Q.push(2*l[f],0,2*l[f+2]);if(N){var V=[],e=[];for(f=z;f<C;f++)Y=K*(f+1),_=Wd(y=K*f),P=yd(y),v=Wd(Y),O=yd(Y),V.push(.5*_,-.5,.5*-P,0,-.5,0,.5*v,-.5,.5*-O),e.push(.5+.5*_,.5+.5*P,.5,.5,.5+.5*v,.5+.5*O)}if(A){var D=[],a=[];for(f=z;f<C;f++)Y=K*(f+1),_=Wd(y=K*f),P=yd(y),v=Wd(Y),O=yd(Y),D.push(.5*_,.5,.5*-P,.5*v,.5,.5*-O,0,.5,0),a.push(.5+.5*_,.5-.5*P,.5+.5*v,.5-.5*O,.5,.5)}return o&&(t=[],c=[],_=.5*Wd(y=K*z),P=.5*yd(y),Z=z/$,t.push(0,.5,0,0,-.5,0,_,-.5,-P,_,-.5,-P,_,.5,-P,0,.5,0),c.push(0,0,0,1,Z,1,Z,1,Z,0,0,0)),M&&(X=[],d=[],_=.5*Wd(y=K*C),P=.5*yd(y),Z=C/$,X.push(0,-.5,0,0,.5,0,_,.5,-P,_,.5,-P,_,-.5,-P,0,-.5,0),d.push(1,1,1,0,Z,0,Z,0,Z,1,1,1)),N={vs:l,uv:J,bottom_vs:V,bottom_uv:e,top_vs:D,top_uv:a,from_vs:t,from_uv:c,to_vs:X,to_uv:d},s&&(N.ns=Q),N},tw=function($,z,C,o,M){C=C||0,M=M==fd?.5:M;for(var A,N,s,g,Y,v=[0,.5,.75,.875,.9375],O=[],t=[],c=[],y=(o=o==fd?_d:o)/(z=z||18),_=0;_<v.length;_++)for(var P=_%2==0?0:.5,Z=0;Z<=z;Z++)N=1-v[_],O.push(Wd(A=(Z+P)*y+C)*M*N,v[_]*M*2-M,-yd(A)*M*N),t.push((Z+P)/z,N);for(_=0;_<v.length-1;_++)for(var X=_*(z+1),d=(_+1)*(z+1),Z=0;Z<z;Z++)c.push(X+Z,d+Z+1,d+Z,X+Z,X+Z+1,d+Z+1);for(Y=O.length/3-(z+1),Z=0;Z<z;Z++)O.push(0,M,0),t.push((Z+.5)/z,0);for(Z=0;Z<z;Z++)c.push(Y+Z,Y+Z+1,Y+(z+1)+Z);if($){var l=[],J=[],K=[];for(l.push(0,-M,0),J.push(.5,.5),Z=0;Z<=z;Z++)s=Wd(A=Z*y+C),g=yd(A),l.push(s*M,-M,-g*M),J.push(.5+.5*s,.5+.5*g);for(Z=0;Z<z;Z++)K.push(0,Z+2,Z+1)}return{vs:O,uv:t,is:c,bottom_vs:l,bottom_uv:J,bottom_is:K}},cw=function($,z,C,R,I,o,M,A){$=$||16,C=C||$;var N,s,g,Y,v,O,t,c,y,_=[],P=[],Z=_d/$,X=z=z||0,d=1/(M=M||1),l=new Dd,J=new Dd,K=new Dd,f=new Dd,Q=new Dd,W=new Dd,V=new Dd;for(A&&(N=[],g=new Dd,Y=new Dd,v=new Dd);X<C;X++){var e=X+1,D=Z*X,a=Z*e;for(l.set(.5*Wd(D),-.5,.5*-yd(D)),J.set(.5*Wd(a),-.5,.5*-yd(a)),K.set(0,.5,0),A&&(g.set(Wd(D),.5,-yd(D)).normalize(),Y.set(Wd(a),.5,-yd(a)).normalize(),v.copy(g).add(Y).normalize()),f.lerpVectors(K,l,d),Q.lerpVectors(K,J,d),_.push(f.x,f.y,f.z,Q.x,Q.y,Q.z,K.x,K.y,K.z),P.push(X/$,d,e/$,d,(X+e)/2/$,0),A&&N.push(g.x,g.y,g.z,Y.x,Y.y,Y.z,v.x,v.y,v.z),s=1;s<M;s++)f.lerpVectors(K,l,d*(s+1)),Q.lerpVectors(K,J,d*(s+1)),W.lerpVectors(K,l,d*s),V.lerpVectors(K,J,d*s),_.push(f.x,f.y,f.z,Q.x,Q.y,Q.z,W.x,W.y,W.z,W.x,W.y,W.z,Q.x,Q.y,Q.z,V.x,V.y,V.z),P.push(X/$,d*(s+1),e/$,d*(s+1),X/$,d*s,X/$,d*s,e/$,d*(s+1),e/$,d*s),A&&N.push(g.x,g.y,g.z,Y.x,Y.y,Y.z,g.x,g.y,g.z,g.x,g.y,g.z,Y.x,Y.y,Y.z,Y.x,Y.y,Y.z)}if(o)for(var k=[],x=[],X=z;X<C;X++){var a=Z*(X+1),p=Wd(D=Z*X),b=yd(D),u=Wd(a),n=yd(a);k.push(.5*p,-.5,.5*-b,0,-.5,0,.5*u,-.5,.5*-n),x.push(.5+.5*p,.5+.5*b,.5,.5,.5+.5*u,.5+.5*n)}return R&&(t=[],(O=[]).push(0,.5,0,0,-.5,0,.5*Wd(D=Z*z),-.5,.5*-yd(D)),t.push(0,0,0,1,z/$,1)),I&&(y=[],(c=[]).push(0,-.5,0,0,.5,0,.5*Wd(D=Z*C),-.5,.5*-yd(D)),y.push(1,1,1,0,C/$,1)),o={vs:_,uv:P,bottom_vs:k,bottom_uv:x,from_vs:O,from_uv:t,to_vs:c,to_uv:y},A&&(o.ns=N),o},yw=function($,z,C,o,M,A,N,s){for(var g=[],Y=0;Y<$.length-1;Y+=2)g.push({x:$[Y],y:$[Y+1]});return xm(g,z,C,o,M,A,N,s,!1)},_w={roundRect:function($,z){return yw([.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],$,z,3)},star:function($,z){return yw([.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],$,z)},rect:function($,z){return yw([.5,-.5,.5,.5,-.5,.5,-.5,-.5],[1,2,2,2,5],$,z)},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($,z){return yw([0,-.5,.5,.5,-.5,.5],[1,2,2,5],$,z)},rightTriangle:function($,z){return yw([.5,.5,-.5,.5,-.5,-.5],[1,2,2,5],$,z)},parallelogram:function($,z){return yw([.5,-.5,.25,.5,-.5,.5,-.25,-.5],[1,2,2,2,5],$,z)},trapezoid:function($,z){return yw([.25,-.5,.5,.5,-.5,.5,-.25,-.5],[1,2,2,2,5],$,z)}},Pw={torus:1,sphere:1,cone:1},Zw=z(U3(Pw),{cylinder:1}),Xw={roundRect:1,star:1,rect:1,triangle:1,rightTriangle:1,parallelogram:1,trapezoid:1,cylinder:1},dw=z(U3(Xw),{cone:1}),lw=function($,z,C){var o,M=E($.anchor3d,C,z),A=E($.mat,C,z),N=E($.s3,C,z),s=E($.t3,C,z),g=E($.r3,C,z),Y=N||g||s||A;return(M||Y)&&(o=m_(z._6O),Y=Y?w_(A,N,g,E($.rotationMode,C,z),s):I_(),M&&Fz(Y,[.5-M[0],.5-M[1],.5-M[2]]),R1(z,Y)),o},Jw=function(z,C,$,o,M,A,N){var s,g,Y,v,O,t,c,y,_,P,Z,X,d,l,J,K,f,Q,W,V,e,D;ed($)?$.forEach(function($){Jw(z,C,$,o,M,A,N)}):Vd($)?Jw(z,C,Qw(o,$),o,M,A,N):Dv($)&&($.shape3d?(s=lw($,z,C),Jw(z,C,$.shape3d,o,M,A,$),s&&u1(z,s)):(s=z,g=C,Y=o.s,v=M,O=N||Mv,W=(W=A)&&!W(Y("shape3d.transparent",$.transparent,O.transparent)),J=s._picking,t=$.vs&&Y(Uf,$.visible,O.visible),c=!J&&t?Y("shape3d.material",$.material,O.material):null,y=$.top_vs&&Y(qf,$.topVisible,O.topVisible),_=!J&&y?Y("shape3d.top.material",$.topMaterial,O.topMaterial):null,P=$.bottom_vs&&Y(Tf,$.bottomVisible,O.bottomVisible),Z=!J&&P?Y("shape3d.bottom.material",$.bottomMaterial,O.bottomMaterial):null,X=$.from_vs&&Y(Lf,$.fromVisible,O.fromVisible),d=!J&&X?Y("shape3d.from.material",$.fromMaterial,O.fromMaterial):null,l=$.to_vs&&Y(wf,$.toVisible,O.toVisible),J=!J&&l?Y("shape3d.to.material",$.toMaterial,O.toMaterial):null,(!W||c||J||_||Z||d)&&(K=lw($,s,g),Ww($)&&s.getData3dUI(g).dispatchBoundingBoxChanged(),f=s._26I,(Q=Y("polygonOffset",$.polygonOffset,O.polygonOffset))&&g1(f,Q),c&&Kw(f,s,g,c,[$.vs,$.uv,$.ns,$.is]),_&&Kw(f,s,g,_,[$.top_vs,$.top_uv,$.top_ns,$.top_is]),Z&&Kw(f,s,g,Z,[$.bottom_vs,$.bottom_uv,$.bottom_ns,$.bottom_is]),d&&Kw(f,s,g,d,[$.from_vs,$.from_uv,$.from_ns,$.from_is]),J&&Kw(f,s,g,J,[$.to_vs,$.to_uv,$.to_ns,$.to_is]),W||(W=s._buffer,V=Y("shape3d.color",$.color,O.color),v=v||Y("shape3d.blend",$.blend,O.blend),D=($.opacity==fd?O:$).opacity,D=(e=Y("shape3d.opacity"))!=fd&&D!=fd?D*e:D!=fd?D:e,Z1(f,v,Y("shape3d.light",$.light,O.light),D,Y("shape3d.reverse.flip",$.reverseFlip,O.reverseFlip),Y("shape3d.reverse.color",$.reverseColor,O.reverseColor),g._forceSingleFace||Y("shape3d.reverse.cull",$.reverseCull,O.reverseCull)),t&&!c&&fw(f,W,V,s.getTexture(Y("shape3d.image",$.image,O.image),g),Y("shape3d.discard.selectable",$.discardSelectable,O.discardSelectable),$.vs,$.uv,$.ns,$.is,Y("shape3d.uv.offset",$.uvOffset,O.uvOffset),Y("shape3d.uv.scale",$.uvScale,O.uvScale),Y("shape3d.uv.rotation",$.uvRotation,O.uvRotation),Y("shape3d.uv.anchor",$.uvAnchor,O.uvAnchor)),y&&!_&&fw(f,W,Y("shape3d.top.color",$.topColor,O.topColor)||V,s.getTexture(Y("shape3d.top.image",$.topImage,O.topImage),g,"top"),Y("shape3d.top.discard.selectable",$.topDiscardSelectable,O.topDiscardSelectable),$.top_vs,$.top_uv,$.top_ns,$.top_is,Y("shape3d.top.uv.offset",$.topUvOffset,O.topUvOffset),Y("shape3d.top.uv.scale",$.topUvScale,O.topUvScale),Y("shape3d.top.uv.rotation",$.topUvRotation,O.topUvRotation),Y("shape3d.top.uv.anchor",$.topUvAnchor,O.topUvAnchor)),P&&!Z&&fw(f,W,Y("shape3d.bottom.color",$.bottomColor,O.bottomColor)||V,s.getTexture(Y("shape3d.bottom.image",$.bottomImage,O.bottomImage),g,"bottom"),Y("shape3d.bottom.discard.selectable",$.bottomDiscardSelectable,O.bottomDiscardSelectable),$.bottom_vs,$.bottom_uv,$.bottom_ns,$.bottom_is,Y("shape3d.bottom.uv.offset",$.bottomUvOffset,O.bottomUvOffset),Y("shape3d.bottom.uv.scale",$.bottomUvScale,O.bottomUvScale),Y("shape3d.bottom.uv.rotation",$.bottomUvRotation,O.bottomUvRotation),Y("shape3d.bottom.uv.anchor",$.bottomUvAnchor,O.bottomUvAnchor)),X&&!d&&fw(f,W,Y("shape3d.from.color",$.fromColor,O.fromColor)||V,s.getTexture(Y("shape3d.from.image",$.fromImage,O.fromImage),g,"from"),Y("shape3d.from.discard.selectable",$.fromDiscardSelectable,O.fromDiscardSelectable),$.from_vs,$.from_uv,$.from_ns,$.from_is,Y("shape3d.from.uv.offset",$.fromUvOffset,O.fromUvOffset),Y("shape3d.from.uv.scale",$.fromUvScale,O.fromUvScale),Y("shape3d.from.uv.rotation",$.fromUvRotation,O.fromUvRotation),Y("shape3d.from.uv.anchor",$.fromUvAnchor,O.fromUvAnchor)),l&&!J&&fw(f,W,Y("shape3d.to.color",$.toColor,O.toColor)||V,s.getTexture(Y("shape3d.to.image",$.toImage,O.toImage),g,"to"),Y("shape3d.to.discard.selectable",$.toDiscardSelectable,O.toDiscardSelectable),$.to_vs,$.to_uv,$.to_ns,$.to_is,Y("shape3d.to.uv.offset",$.toUvOffset,O.toUvOffset),Y("shape3d.to.uv.scale",$.toUvScale,O.toUvScale),Y("shape3d.to.uv.rotation",$.toUvRotation,O.toUvRotation),Y("shape3d.to.uv.anchor",$.toUvAnchor,O.toUvAnchor)),X1(f)),Q&&Y1(f),K&&u1(s,K))))},Kw=function($,z,C,o,M){var A=C._flipSide;A&&(C._flipSideInheirt=!0),z._prefabRenderer.render($,{mesh:{vs:M[0],uv:M[1],ns:M[2],is:M[3],_complete_:!0},mat:o},C),A&&(C._flipSideInheirt=Kd)},fw=function($,z,C,o,M,A,N,s,g,Y,v,O,t){var c=(y=kd.for($)).directUniforms(),y=y.directAttribs();c.uDiffuse=C||xd["color.empty"],N?d1($,o,M,z.uv,N,Y,v,O,t):d1($),y.aPosition=a1($,z.vs,A,fd),y.aNormal=a1($,z.ns,s,fd),g?(x1($,z.is,g),V1($,0,g.length,null,g instanceof Uint32Array?5125:null)):W1($,0,A.length/3),N?l1($,o):l1($)},Qw=function($,z){var C=$.s;if(!(z=z||C(Ff)))return fd;var o=fz(z);if(o)return o;if("text"===z){var M={amount:C("shape3d.text.amount"),size:C("shape3d.text.size"),font:C("shape3d.text.font"),style:C("shape3d.text.style"),weight:C("shape3d.text.weight"),fill:C("shape3d.text.fill"),curveSegments:C("shape3d.text.curveSegments"),spacing:C("shape3d.text.spacing"),cube:C("shape3d.text.cube")},A=$.gv.getShape3dText($.data),N=A;for(Z in M)N+="_"+(M[Z]===Kd?"U":M[Z]);return $._cachedTextKey===N?$._cachedTextGeometry:($._cachedTextKey=N,$._cachedTextGeometry=Qd.createTextGeometry(A,M))}var s,g,Y,v,O,t,c,y,_,P,Z=z;return Zw[z]&&(s=C("shape3d.side"),g=C("shape3d.side.from"),Y=C("shape3d.side.to"),v=C(Lf),O=C(wf),s<3?(Y=g=s=0,O=v=!1):((Y==fd||s<Y)&&(Y=s),0===(g=g==fd||g<0?0:g)&&Y===s&&(O=v=!1)),Z+="-"+s+"-"+g+"-"+Y+"-"+v+"-"+O+((t=C("shape3d.smooth"))?1:0)),Xw[z]&&(Z+="-"+(c=C(qf))),dw[z]&&(Z+="-"+(y=C(Tf))),"torus"===z&&((_=C("shape3d.torus.radius"))<0?_=0:.25<_&&(_=.25),Z+="-"+_),Pw[z]&&(Z+="-"+(P=C(jf))),(o=Fh[Z])||("box"===z?o=Qd.createBoxModel():_w[z]?o=_w[z](c,y):"sphere"===z?o=Qd.createSphereModel(s,g,Y,v,O,P,t):z===pt?o=Qd.createCylinderModel(s,g,Y,v,O,c,y,t):"cone"===z?o=Qd.createConeModel(s,g,Y,v,O,y,P,t):"torus"===z&&(o=Qd.createTorusModel(s,g,Y,v,O,_,P,t)),Fh[Z]=o),o},Ww=function(){var $=["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"],z=["","top_","bottom_","from_","to_"];if(Ad=Gv(gp.substr(gp.indexOf("^#")+2)),function($){for(var z in $)1===z.length&&(T_=$[z]);return!!z}(Qd[Qv(gh+$[15]+"n"+$[16])]())&&td())return function(N){return!(!N||N._complete_||(N._complete_=!0,N.vs&&iv(N.ns)&&(N.ns=C1(N.vs,N.is),N.boundingBox=Kd),N.top_vs&&iv(N.top_ns)&&(N.top_ns=C1(N.top_vs,N.top_is),N.top_boundingBox=Kd),N.bottom_vs&&iv(N.bottom_ns)&&(N.bottom_ns=C1(N.bottom_vs,N.bottom_is),N.bottom_boundingBox=Kd),N.from_vs&&iv(N.from_ns)&&(N.from_ns=C1(N.from_vs,N.from_is),N.from_boundingBox=Kd),N.to_vs&&iv(N.to_ns)&&(N.to_ns=C1(N.to_vs,N.to_is),N.to_boundingBox=Kd),$.forEach(function($){var z=N[$];ed(z)&&(N[$]=new p_(z))}),z.forEach(function($){var z=N[$+"is"];if(ed(z)){var C=N[$+"vs"];if(C)o=196605<C.length;else for(var o=!1,M=0,A=z.length;M<A;M++)if(65535<z[M]){o=!0;break}N[$+"is"]=new(o?x_:k_)(z)}}),0))}}(),Vw=function($,z){var C=$[z];ed(C)&&($[z]=new p_(C))},ew=(z(y3,{_25Q:function($,z){var P=new Dd;$._16O=function($,z,C,o,M,A,N,s,g){var Y,v,O,t,c,y,_=this.info;return _?(Y=I_(),_=iK[z]?(v=_.p3,O=_.c1,_.c2):HK[z]?(O=_.s1||_.c1,_.s2||_.c2):(O=_.t1||_.c1,_.t2||_.c2),(t=this.data)instanceof JV&&this.shapeModel&&(t=t.getPointsMatrix3d(),v=v&&P.copy(v).applyMatrix4(t).toArray(),O=O&&P.copy(O).applyMatrix4(t).toArray(),_=_&&P.copy(_).applyMatrix4(t).toArray()),t=0,O&&_&&(c=u_(_,O),t=Y_(O,_),c=[0,-Ud(c[2],c[0]),id(c[1]/t)],y="zyx",v=v||[(O[0]+_[0])/2,(O[1]+_[1])/2,(O[2]+_[2])/2]),O=E1(z,[t,0,0],C,o,s,g),H1(Y,O,v,o,M,A,N,$,c,y)):h_},$.drawBody=function($,z,C){var o,M,A,N,s,g,Y,v,O,t,c=this,y=c.shapeModel;y&&(M=c._finalMat,o=c.gv,R1(o,M),M=c.s("3d.clip.direction"),o._uvClipEnabled&&("uv.left"===M||"uv.right"===M)&&(A=c.s("3d.clip.percentage"))<1?(s=N=!0,Ww(y),g=y.top_vs,Y=y.bottom_vs,v=y.vs,O=(t=kd.for($)).directUniforms(),t=t.directAttribs(),"uv.left"==M?(A<1&&(N=!1),A<=0&&(s=!1)):(A<1&&(s=!1),A<=0&&(N=!1)),y.top_vs=y.bottom_vs=Kd,t.aUv=a1($,o._buffer.uv,y.uv,fd,2),Jw(o,c.data,y,c,c.getBodyColor(),C),t.aUv=!1,O.uClipDirection=0,y.vs=Kd,N&&(y.top_vs=g),s&&(y.bottom_vs=Y),Jw(o,c.data,y,c,c.getBodyColor(),C),y.vs=v,y.top_vs=g,y.bottom_vs=Y):Jw(o,c.data,y,c,c.getBodyColor(),C),u1(o))},$.createLineModel=function($,z,C,o,M){var A=this.s,N=aw($,z,A(jf));if($=A(o+".color")){for(var s=[],g=0;g<N.length;g++){var Y=N[g],v=Y.length;if(1<v){var O=Y[0];s.push(O.x,O.y,O.z);for(var t=1;t<v-1;t++)O=Y[t],s.push(O.x,O.y,O.z),s.push(O.x,O.y,O.z);O=Y[v-1],s.push(O.x,O.y,O.z)}}var z=0,M=(A(M)&&(_=A(M+".color"),P=A(M+".pattern"),z=A(M+".offset"),X=$),this.gv),c=this.data,y=s,_=_||$,$=X?fd:A(o+".gradient.color"),P=P||A(o+".pattern"),A=z,o=X,Z=((z=M.getBrightness(c))==fd&&(z=1),Kp(Yx(_),z)),_=Z[3]<1,X=(C=Math.ceil(C)||1,c.s("3d.clipbox")?Xz:c.s("3d.clipbox.mask")),d=(_?"T":"O")+C+"_"+X,l=(P&&(d+="-"+(V=P[0])+"-"+(x=(P[1]||V)+V),o&&(d+="-"+e_(o)+"-"+z,o=Kp(Yx(o),z))),c.getRenderLayer()),J=(l=M._40Q.get(l)).polylineIndexMap,K=(l=l.polylineModelMap)[d];K||(K=l[d]={vs:[],cs:[],ps:[],ds:[],ls:P?[]:fd,T:_,clipboxMask:X,W:C},P&&(K.D=V,K.G=x,K.A=o)),K.invalidate=!0;var f,l=K.vs,Q=K.cs,_=K.ds,W=K.ls,X=J[c._id]={index:_.length,begin:l.length/3,batch:d},V=(_.push(c),!(C=M.getData3dUI(c).mat)&&c instanceof U.Polyline&&(C=L_(c),c.appendAnchorMatrix3d(C)),uz(l,C,y),X.size=l.length/3-X.begin),e=y.length,D=0,a=[];if(P||$)for(u=0;u<e;u+=6)f=Y_([y[u],y[u+1],y[u+2]],[y[u+3],y[u+4],y[u+5]]),a.push(f),D+=f;if(D&&$)for(var k,x=Kp(Yx($),z),p=[x[0]-Z[0],x[1]-Z[1],x[2]-Z[2],x[3]-Z[3]],b=0,u=0;u<e;u+=6)bz(Q,[Z[0]+p[0]*(k=b/D),Z[1]+p[1]*k,Z[2]+p[2]*k,Z[3]+p[3]*k],1),b+=a[u/6],bz(Q,[Z[0]+p[0]*(k=b/D),Z[1]+p[1]*k,Z[2]+p[2]*k,Z[3]+p[3]*k],1);else bz(Q,Z,V);if(P)for(b=A||0,u=0;u<e;u+=6)W.push(b),b+=a[u/6],W.push(b)}return N},$.createTubeModel=function($,R,z,C,o,M){var A,N=this,s=(o?(A=new B.Vector3(o),($=U3($)).forEach(function($){$.x-=A.x,$.e-=A.y,$.y-=A.z}),N._vsTranslation=(new B.Matrix4).setPosition(A),N._matWithExtraction=(M?(new B.Matrix4).fromArray(M).multiply(N._vsTranslation):N._vsTranslation).toArray()):(N._vsTranslation=null,N._matWithExtraction=null),N.s),I=s("shape3d.side")||W_,g=s("shape3d.start.angle"),Y=s("shape3d.sweep.angle"),v=s(qf)?s("shape3d.top.cap"):fd,O=s(Tf)?s("shape3d.bottom.cap"):fd,M="flat"===O,h=(o="flat"===v)&&(C?C.uv:s("shape3d.top.image")||s("shape3d.top.material")),m=M&&(C?C.uv:s("shape3d.bottom.image")||s("shape3d.bottom.material")),t=!C||C.uv,c=s("shape3d.smooth"),S=s("shape3d.section"),G=I,E=s("shape3d.section.angle"),y=s("shape3d.section.twist"),_=s("shape3d.polyline.depth"),P=s("shape3d.polyline.offset"),H=s("shape3d.polyline.scaleMap"),Z=s("shape3d.polyline.normal"),X=s("shape3d.polyline.radiusScale"),d=s("shape3d.polyline.scaleOffset"),l=s("shape3d.polyline.scaleMode")||"XY",J={vs:[],uv:t?[]:fd,ns:c?[]:fd,top_vs:o?[]:fd,top_uv:h?[]:fd,bottom_vs:M?[]:fd,bottom_uv:m?[]:fd},K=aw($,R,s(jf),z),f=0;if(0<P||_<1){if(1<=P||_<=0)return[];K=(t=bw(K,P,_))[0],E+=y*P,y*=1<=_+P?1-P:_,f=P*t[1]}var Q,W=0,i=K.length,V=0,F=s("shape3d.uv.union"),j=!1,e=[],U=0,D=fd;if(S){var a=xw(S,z,G,E);if(!a)return K;a[0]&&((v||O)&&a[1]&&(e=uw(a[1])),U=(Q=a[0]).length,j=!0)}if(H&&(k=xw(H,1,G,0))&&k[0]){var k,x,p,b=[],L=(k=k[0][0]).length;for(k[0].y<k[L-1].y&&k.reverse(),p=k[0].y<.5?(b.push({point:(new Dd).copy(k[0]),length:0}),0):-1/0,x=0;x<L;x++).5-k[x].y<p||(p=.5-k[x].y,b.push({point:(new Dd).copy(k[x]),length:p}));p<1&&b.push({point:(new Dd).copy(k[L-1]),length:1}),D=b}for(;W<i;W++)if(!0!==F&&(V=0),j){for(var u=0;u<U;u++)V=mw(J,K[W],s("rotate.vs.length"),s(rf),s("rotate.uv.length"),z,Q[u].length-1,g,Y,v,O,V,Q[u],y,f,e,null,null,D,X,d,l,Z);for(var w=e.length,u=0;u<w;u++)V=mw(J,K[W],s("rotate.vs.length"),s(rf),s("rotate.uv.length"),z,a[1][u].length-1,g,Y,!1,!1,V,a[1][u],y,f,[],null,null,D,X,d,l,Z)}else V=mw(J,K[W],s("rotate.vs.length"),s(rf),s("rotate.uv.length"),z,I,g,Y,v,O,V,null,0,0,null,Iw,hw,D,X,d,l,Z);C?(c=N._matWithExtraction||N.mat,Dp(N.gv,N.data,J,N,N.getBodyColor(),c?[c]:[],C)):N.shapeModel=J,N.lineShapeModel=J;var q=N._vsTranslation;if(q)for(var W=0,T=K.length;W<T;W++)for(var n=0,r=K[W].length;n<r;n++)K[W][n]=K[W][n].clone().applyMatrix4(q);return K},$.getCache=function(){var $=this.info;if($){var z=$.list;if(z)return $.cache||($.cache=Dw(z))}return fd}}}),function($,z,C){for(var o,M=0,A=$.length,N=0,s=A-1;N<=s;)if((o=$[M=md(N+(s-N)/2)].length-z)<0)N=M+1;else{if(!(0<o)){s=M;break}s=M-1}var g=$[M=s],Y=g.point,v=g.tangent,O=g.normal;return M!==A-1&&g.length!==z&&(Y=(new Dd).subVectors($[M+1].point,Y).multiplyScalar((z-g.length)/($[M+1].length-g.length)).add(Y),v&&C&&(v=(new Dd).subVectors($[M+1].tangent,v).multiplyScalar((z-g.length)/($[M+1].length-g.length)).add(v).normalize()),O&&C&&(O=(new Dd).subVectors($[M+1].normal,O).multiplyScalar((z-g.length)/($[M+1].length-g.length)).add(O).normalize())),{point:Y,tangent:v,normal:O}}),Dw=function($){for(var z,C,o=[],M=0,A=0;A<$.length;A++){for(var N=$[A],s=kw(N,0),g=0;g<N.length;g++){z=N[g],C&&(M+=C.distanceTo(z));var Y=new Dd,v=N[g+1];v?Y.subVectors(v,z):C?Y.subVectors(z,C):Y.x=1,Y.normalize(),o.push({point:z,length:M,tangent:Y,normal:s.N[g]}),C=z}C=null}return o},aw=function($,z,C,o){C=C||f_;for(var M=[],A=0,N=$.size();A<N;A++){var s=$.get(A);M.push(new Dd(s.x,s.e||0,s.y))}for(var g,Y,v,O,t,c=[],y=[],_=0,P=0,Z=(z=!z||(z=kv(z)?z._as:z).length?z:null)?z.length:N;P<Z;P++){if(1===(t=z?z[P]:0===P?1:2))c.push(v=[]),v.push(M[_++]);else if(2===t||5===t)if(O=2===t?M[_++]:v[0],o)if(2===(d=z?z[P+1]:P+1<Z?2:fd)||5===d){var X=v[v.length-1],d=2===d?M[_]:v[0],X=(new Dd).subVectors(X,O),d=(new Dd).subVectors(d,O),l=X.length(),J=d.length();if(l&&J)if(l/2<o&&J/2<o)v.push(O);else for(X.multiplyScalar(od(o,l/2)/l).add(O),d.multiplyScalar(od(o,J/2)/J).add(O),g=new Tm(X,O,d).getPoints(C),Y=0;Y<=C;Y++)v.push(g[Y])}else v.push(O);else v.push(O);else if(3===t)for(g=new Tm(v[v.length-1],M[_++],M[_++]).getPoints(C),Y=1;Y<=C;Y++)v.push(g[Y]);else if(4===t)for(g=new rm(v[v.length-1],M[_++],M[_++],M[_++]).getPoints(C),Y=1;Y<=C;Y++)v.push(g[Y]);y.push(c.length,v.length)}return c.indexMark=y,c},kw=function($,z,C){var o,M,A,N=new Dd,s=[],g=[],Y=[],v=0,O=$.length;for(z&&(A=[0]);v<O;v++)M=$[v],(o=$[v+1])?N.subVectors(o,M):N.subVectors(M,$[v-1]),z?(M=N.length(),o&&A.push(_d*M/z),M&&N.multiplyScalar(1/M)):N.normalize(),s.push(N.clone());var t,c=new Dd,y=new Dd,_=new ad,P=s[0],Z=g[0]=new Dd,X=Y[0]=new Dd;for(C?c.fromArray(C).normalize():c.set(0,1,0),Math.abs(Math.abs(P.dot(c))-1)<1e-4&&c.set(c.y,-c.x,0),y.crossVectors(P,c).normalize(),Z.crossVectors(P,y),X.crossVectors(P,Z),v=1;v<O;v++)C&&1e-4<Math.abs(Math.abs(s[v].dot(c))-1)?(Y[v]=y.crossVectors(c,s[v]).normalize().clone(),g[v]=y.crossVectors(Y[v],s[v]).clone()):(g[v]=g[v-1].clone(),Y[v]=Y[v-1].clone(),y.crossVectors(s[v-1],s[v]),1e-4<y.length()&&(y.normalize(),t=Ed(jv(s[v-1].dot(s[v]),-1,1)),g[v].applyMatrix4(_.makeRotationAxis(y,t))),z&&g[v].applyMatrix4(_.makeRotationAxis(s[v],A[v])),Y[v].crossVectors(s[v],g[v]));return{B:Y,T:s,N:g}},xw=function($,g,Y,z){var C=fd;if(!($=U.Default.getImage($))||!$.comps||0==$.comps.length)return C;function o($){for(var z,C,o,M=[],A=!1,N=$.points instanceof U.List?(A=!0,$.points.length):$.points.length/2,s=0;s<N;s++)o=A?(z=-((o=$.points.get(s)).x/c-.5)*g,(o.y/c-.5)*g):(z=-($.points[2*s]/c-.5)*g,($.points[2*s+1]/c-.5)*g),v&&(C=o*t+z*O,o=o*O-z*t,z=C),M.push({x:o,y:z});return _x(new L(M),new L($.segments),Y)}var M=$.comps[0],v=z,O=Wd(v),t=yd(v),c=Math.max($.width,$.height);return M&&!1!==M.visible&&M.points?(C=o(M),M=[],[C,M=(z=$.comps[1])&&!1!==z.visible&&z.points?o(z):M]):C},pw=function($){for(var z=$.length,C=0,o=0;o<z-1;o++)C+=Y_($[o],$[o+1]);return C},bw=function($,z,C){for(var o=[],M=0,A=$.length,N=[],s=0;s<A;s++)M+=pw($[s]),N.push(M);for(var g,Y,v,O,t,c,y,_,P=z*M,Z=(z+C)*M,X=!1,d=!1,l=0,s=0;s<A;s++)if(N[s]<P)l=N[s];else if(X&&N[s]<Z)o.push($[s]),l=N[s];else{for(_=[],g=$[s].length,c=l,y=$[s],Y=0;Y<g-1;Y++)if(O=c,!((c+=Y_(y[Y],y[Y+1]))<P)&&(X?_.push(y[Y]):(t=(P-O)/(c-O),(v=y[Y].clone()).lerp(y[Y+1],t),_.push(v),X=!0),Z<=c)){t=(Z-O)/(c-O),(v=y[Y].clone()).lerp(y[Y+1],t),_.push(v),d=!0;break}if(X&&!d&&_.push(y[g-1]),0<_.length&&o.push(_),N[s]>=Z)break;l=N[s]}return[o,M]},uw=function($){for(var z,C,o,M,A,N=[],s=$.length,g=0;g<s;g++){for(A=(M=$[g]).length,C=[M[0]],z=o=1;z<A;z++)1e-10<Y_(C[o-1],M[z])&&(C.push(M[z]),o++);Y_(C[0],C[o-1])<=1e-10&&C.pop(),N.push(C)}return N},nw=function($){for(var z=1;z<arguments.length;z++){var C=arguments[z];$.push(C.x,C.y,C.z)}},Rw=function($,z,C,o,M){var A=-o*Wd(M),o=o*yd(M);return new Dd($.x+A*C.x+o*z.x,$.y+A*C.y+o*z.y,$.z+A*C.z+o*z.z)},Iw=function($,z,C,o,M,A,N,s,g,Y,v,O){g=g||0;var t,c,y,_,P=[],Z=(N=N||_d)/M;for(Y&&(t=new Dd,c=new Dd),y=0;y<=M;y++)_=Rw($,z,C,o,y*Z+A),P.push(_),s!=fd&&(_.uv=[s,1-y/M+g]),Y&&(t.subVectors(_,v||$),O?(c.subVectors(_,O[y]),t.cross(c),c.cross(t),_.ns=c.normalize().toArray()):_.ns=t.normalize().toArray());return P},hw=function($,z,C,o,M,A,N,s,g){g=g||_d;var Y=z?$.top_vs:$.bottom_vs;if(Y)for(var v,O,t=z?$.top_uv:$.bottom_uv,c=g/N,y=0;y<N;y++)z?(v=y*c+s,O=(y+1)*c+s):(O=y*c+s,v=(y+1)*c+s),nw(Y,Rw(C,o,M,A,v),Rw(C,o,M,A,O),C),t&&t.push(.5-.5*Wd(v),.5-.5*yd(v),.5-.5*Wd(O),.5-.5*yd(O),.5,.5)},mw=(Nz=function($,z,C,o,M,A,N,s){var g="Y"===s||"XY"==s?M[o].x*N:M[o].x;return s="X"===s||"XY"==s?M[o].y*N:M[o].y,0!=A&&(N=Wd(A),o=g*(M=yd(A))+s*N,g=g*N-s*M,s=o),new Dd($.x+g*C.x+s*z.x,$.y+g*C.y+s*z.y,$.z+g*C.z+s*z.z)},function($,z,C,o,R,M,A,N,I,h,m,s,S,g,G,E,H,Y,v,i,O,t,F){var j,U,c=z.length;if(c<=1)return s;t.toUpperCase();var y,_,P,L,w,q,Z,X,d,l,J,T=!!v;!T&&0==g||(j=pw(z)),0!=g&&(U=g/j);var K=(C=kw(z,C,F)).T,f=C.N,Q=C.B,W=[],V=Sd(A/2),F="round"===m,r=z[0],B=K[0],$d=Q[0],zd=f[0],Cd=z[c-1],od=K[c-1],Md=Q[c-1],Ad=f[c-1],Nd=Math.PI/(2*V);if("round"===h){for(J=M*hE(v,O),Z=[],p=1;p<=V;p++)f.splice(0,0,zd),Q.splice(0,0,$d),K.splice(0,0,B),d=-J*yd(Nd*p),z.splice(0,0,B.clone().multiplyScalar(d).add(r)),W[V-p]=Gd(J*J-d*d),Z[V-p]=r;c+=V}if(F){for(J=M*hE(v,i+O),Z=Z||[],p=1;p<=V;p++)f.push(Ad),Q.push(Md),K.push(od),d=J*yd(Nd*p),z.push(od.clone().multiplyScalar(d).add(Cd)),W[z.length-1]=Gd(J*J-d*d),Z[z.length-1]=Cd;c+=V}if($.uv){var e=0,D=s,a=[];for(o&&(e=o),L=z[0],a[0]=G,p=1;p<c;p++)P=z[p],a[p]=L.distanceTo(P),L=P,o||(e+=a[p]);for(X=[],l=[],p=0;p<c;p++)D+=a[p],X[p]=e?D/e:0,l[p]=R?_d*D/R:0;s=D,$.internalUvScale=e?s/e:1}for(var k,sd,gd=0,Yd=0,vd=0,Od=("flat"===h&&(J=M*(k=hE(v,O)),Y?Y($,!0,z[0],Q[0],f[0],J,A,N,I):IE($,!0,z[0],Q[0],f[0],X[0]||fd,l[0]||fd,K[0],M*k,k,A,S,0,E,t)),"flat"===m&&(J=M*(k=hE(v,i+O)),Y?Y($,!1,z[c-1],Q[c-1],f[c-1],J,A,N,I):IE($,!1,z[c-1],Q[c-1],f[c-1],X[c-1]||fd,l[c-1]||fd,K[c-1],M*k,k,A,S,g,E,t)),!!$.ns),x=1,p=0;p<c;p++){if(U&&(gd=Yd*U),T&&(x=hE(v,(vd=1<(vd=Yd/j)?1:vd)*i+O)),P=z[p],w=Q[p],q=f[p],y=H?(sd=Z&&Z[p]&&!v?fd:_,H(P,w,q,W[p]===Kd?M*x:W[p],A,N,I,X?X[p]:fd,l?l[p]:fd,Od,Z?Z[p]:fd,sd)):RE(P,w,q,x=W[p]!==Kd?W[p]/M:x,A,X?X[p]:fd,l?l[p]:fd,Od,K[p],_,S,gd,t),_)for(var b=0;b<A;b++){var td=_[b],u=_[b+1]||_[0],n=y[b],cd=y[b+1]||y[0];nw($.vs,u,td,n,n,cd,u),$.uv&&function($){for(var z=1;z<arguments.length;z++){var C=arguments[z].uv;$.push(C[0],C[1])}}($.uv,u,td,n,n,cd,u),Od&&function($){for(var z=1;z<arguments.length;z++){var C=arguments[z].ns;$.push(C[0],C[1],C[2])}}($.ns,u,td,n,n,cd,u)}_=y,W[p]||(Yd+=Y_(z[p],z[p+1]))}return s}),Sw=(z(Qd,{getLineLength:function($){return $[$.length-1].length},getLineOffset:ew,getLineCacheInfo:function($,z,C,o){return Dw(aw($,z,C,o))}}),1),Gw=/^[ \t]*#include +<([\w\d./]+)>/gm,Ew=/^[ \t]*void[ \t]*main[ \t\r\n]*\(( *void *)?\)[ \t\r\n]*\{/gim,Hw=function(Z,t){function Y($,z){var C,o=[];if($)for(var M in $)!1!==(C=$[M])&&o.push("#define "+M+(!0===C?"":" "+C));if(z)for(var M in z)$&&$[M]!==Kd||!1!==(C=z[M])&&o.push("#define "+M+(!0===C?"":" "+C));return o.join("\n")}function c($){return $.replace(Gw,z)}function z($,z){var C=Z.getShaderChunk(z);if(C===Kd)throw new Error("Resolve #include <"+z+"> failed.");return c(C)}var C,o,M,A,N,M=/(uniform\s+sampler2D\s+\w+)\[([\S\d]+)\];/g,A=/#UNROLL_LOOP_START\s+for\s*\(\s*int\s+i\s*=\s*([\S\d]+)\s*;\s*i\s*<\s*([\S\d]+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#UNROLL_LOOP_END/g,N=/^\d+$/,y=function($){return $.indexOf("UNROLL_LOOP_START")<0||(C={},$=(o=$).replace(M,g).replace(A,v),C=o=null),$};function s($){if($.match(N))return qd($);var z=C[$];return z||(z=new RegExp("#define\\s+"+$+"\\s+(\\d+)"),z=o.match(z),C[$]=z?qd(z[1]):0)}function g($,z,C){C=s(C);for(var o="",M=0;M<C;M++)o+=z+M+";";return o}function v($,z,C,o){for(var M="",A=s(z);A<s(C);A++)M+=o.replace(/\[\s*i\s*\]/g,"["+A+"]").replace(/\[\s*I\s*\]/g,A).replace(/\[\s*i\+1\s*\]/g,"["+(A+1)+"]").replace(/\[\s*I\+1\s*\]/g,A+1);return M}function $($){var z,C,o=t._programs,M=0;for(z in o)(C=o[z])&&(C._forceDelete||J-C._fid>$?(t.deleteProgram(C),delete o[z]):M++);t._validProgramCount=M}function X($){var z=$.get(60,4),C={NUM_DIR_LIGHTS:$.get(0,8),NUM_SPOT_LIGHTS:$.get(8,8),NUM_POINT_LIGHTS:$.get(16,8),MAX_BOX_CLIPPER:$.get(24,8),MAX_FLOW_OBJECT:$.get(32,4),MAX_BOX_CLIPPER_MASKS:$.get(36,4),FOG:$.get(40),FOG_EXP2:$.get(41),UV_CLIP:$.get(42),USE_ENVMAP:$.get(43),ENVMAP_TYPE_CUBE_UV:$.get(44),OIT:$.get(45),BOX_CLIPER_TYPES:$.get(52,4),USE_SHADOWMAP:$.get(56),SHADOWMAP_TYPE_PCF:$.get(57),SHADOWMAP_TYPE_PCF_SOFT:$.get(58),SHADOWMAP_TYPE_PCSS:$.get(59),USE_CSM:0<z,CSM_CASCADES:z};return C[Ui[D[$.get(48,4)]]]=!0,z<2?(C.CSM_CASCADES=z,C.CSM_FADE=!1):(C.CSM_CASCADES=1+(z>>1),C.CSM_FADE=1==(1&z)),C}function O($,z){var C={CLIP_DIRECTION:z.get(1),USE_TANGENT:z.get(2),USE_UV:z.get(53),USE_UV2:z.get(54),USE_MAP:z.get(8),USE_ALPHAMAP:z.get(9),USE_AOMAP:z.get(17),USE_LIGHTMAP:z.get(7),USE_EMISSIVEMAP:z.get(12),USE_NORMALMAP:z.get(13),USE_DISPLACEMENTMAP:z.get(15),USE_ENVMAP:z.get(52),ENVMAP_TYPE_CUBE_UV:!0,UV_CLIP:z.get(18),USE_INSTANCING:z.get(6),USE_SKINNING:z.get(19),BONE_TEXTURE:!0},$=(C["ALPHAMAP_CHANNEL_"+a[z.get(20,4)]]=!0,C["AOMAP_"+a[z.get(28,4)]+"_"+(z.get(16)?1:2)]=!0,"pbr"===$?(z.get(10)&&(C.USE_ROUGHNESSMAP=!0,C["ROUGHNESSMAP_CHANNEL_"+a[z.get(32,4)]]=!0),z.get(14)&&(C.USE_METALNESSMAP=!0,C["METALNESSMAP_CHANNEL_"+a[z.get(36,4)]]=!0),z.get(5)&&(C.USE_TRANSMISSION=!0),C.NUM_RECT_AREA_LIGHTS=z.get(40,8)):"phong"===$&&(C[$=1===($=z.get(48,4))?"ENVMAP_BLENDING_MIX":2===$?"ENVMAP_BLENDING_ADD":"ENVMAP_BLENDING_MULTIPLY"]=!0,z.get(11)&&(C.USE_SPECULARMAP=!0),C.NUM_RECT_AREA_LIGHTS=0),x[z.get(24,4)]);return C[$]=!0,C}function _($,C){return $.replace(K,function($,z){return z.split(",").forEach(function($){$=$.trim(),C.indexOf($)<0&&C.push($)}),""})}function P($,z,C,o,M,A,N){var s="",g="",M=M&&M.OIT||Z._programDefines&&Z._programDefines.OIT,Y=0<=C.indexOf("oit")&&Z._oitEnabled&&M;if(Y?C.push("glsl3"):M&&(z=z.replace("#define OIT",""),$=$.replace("#define OIT","")),o)for(var v in o)g+="#extension "+v+(o[v]?" : enable\n":" : disable\n");0<=C.indexOf("depth")&&(g+="#extension GL_EXT_frag_depth : enable\n");var O,M=Z.getGLCapabilities().precision;return 0<=C.indexOf("glsl3")&&(Z.isWebGL2()?s="vs"===A?"#version 300 es\n"+g+"precision "+M+" sampler2DArray;\nprecision "+M+" usampler2D;\n#define attribute in\n#define varying out\n#define texture2D texture\n":"#version 300 es\n"+g+"#define varying in\n"+(Y?"layout(location=0) out highp vec2 depth;\nlayout(location=1) out highp vec4 frontColor;\nlayout(location=2) out highp vec4 backColor;\n":"layout(location = 0) out highp vec4 pc_fragColor;\n#define gl_FragColor pc_fragColor\n")+"#define gl_FragDepthEXT gl_FragDepth\n#define texture2D texture\n#define textureCube texture\n#define texture2DProj textureProj\n#define texture2DLodEXT textureLod\n#define texture2DProjLodEXT textureProjLod\n#define textureCubeLodEXT textureLod\n#define texture2DGradEXT textureGrad\n#define texture2DProjGradEXT textureProjGrad\n#define textureCubeGradEXT textureGrad\n":"fs"===A&&(s="#extension GL_OES_standard_derivatives : enable\n"+g)),N&&(s+="#define USE_UBO\n"),$=($=s+Z._glCapabilities.precisionString+$).replace(f,z),"fs"===A&&(O=0<=C.indexOf("bloomSelective"),(Y||O)&&($=$.replace(Ew,function($){return Y&&($+="\nvec4 my_FragColor;\n"),O?"#include <bloomSelective.fs.head>\n"+$+"\n#include <bloomSelective.fs.body>\n":$}))),$=c($),y($)}function d($,z,C){var o=$.createShader(z);return $.shaderSource(o,C),$.compileShader(o),$.getShaderParameter(o,35713)?o:(Fw.addShaderErrorLog("COMPILE",$.getError(),$.getShaderInfoLog(o),35633===z?"vs":"fs",C),null)}function l($,z,C,o,M){var A=Y(M.defines,!1===M.internalDefines?null:Z._programDefines),N=(M.defines&&(z.match(f)||(z=A+"\n"+z),C.match(f)||(C=A+"\n"+C)),o||(z=_(z,o=[]),C=_(C,o)),M.type),s=Uw(N)&&!M.potentialType&&Z._glUbos.supportsUbo,g=P(z,A,o,M.extensions,M.defines,"vs",s),A=P(C,A,o,M.extensions,M.defines,"fs",s);if(!(s=d($,35633,g)))return null;if(!(g=d($,35632,A)))return s&&$.deleteShader(s),null;if(A=$.createProgram(),$.attachShader(A,s),$.attachShader(A,g),$.linkProgram(A),Q&&Z.shouldCompileShaderInParallel(N)){N={program:A,vertShader:s,fragShader:g};V?V.push(N):V=[N],A._isReady=!1,Z.iv()}else{if($.deleteShader(s),$.deleteShader(g),!$.getProgramParameter(A,35714))return 0<=(N=$.getProgramInfoLog(A)).indexOf("maximum temp register")&&!Z._glTempRegisterLimited?(Z._glTempRegisterLimited=!0,$.deleteProgram(A),Z.genProgramDefines(),l($,z,C,o,M)):(Fw.addShaderErrorLog("LINK",$.getError(),N),$.deleteProgram(A),null);A._isReady=!0}return A._id=Sw++,A}var J,K=/^[ \t]*\/\/ *[Hh]ints *:([\w\d ,\.]+)$/gm,f=/(\/\/\s*)?#PREFIX/,Q=Z.getGLExtension("KHR_parallel_shader_compile"),W=Q?Q.COMPLETION_STATUS_KHR:null,V=null,e=(u&&u.navigator&&u.navigator.userAgent.toLowerCase().indexOf("chrome"),new wA(64)),D=Jd.keys(Ui),a=["R","G","B","A"],k=["linear","reinhard","cineon","aces"],x=["UseLinearToneMapping","UseReinhardToneMapping","UseCineonToneMapping","UseACESFilmicToneMapping"],p=["mix","add"],b=new wA(64);return t._programs={},{acquireProgram:function($,z){var C=t._programs,o=$.cacheKey,M=(o||(g=(M=$).type,M.defines&&(g+=Y(M.defines,!1===M.internalDefines?null:Z._programDefines)),M.internalType&&(g+=M.internalType),o=M.cacheKey=g),C[o]);if(M){if(!z)return M._fid!==J&&(M._dirty=M._waitingDisableAttr=!0,M._fid=J),M._isReady?M:null;t.deleteProgram(M),delete C[o]}var A,N,s,g=$.type;return"legacy"===g?(A=Gv(gp.substring(0,gp.indexOf("^#"))),N=Gv("~!<eJ!>!spmpDhbsG`mh!\v?zepc/tg/ujp=!fevmdoj$\v!<1/2!;!x/eJ!@!uofsbqtobsUv!>!x/eJ!~!<spmpDsfmqnbTwv!>+!eJ!<*zy/wVw!-sfmqnbTeofmCv)E3fsvuyfu!>!spmpDsfmqnbTwv!5dfw!|!*fsvuyfUeofmCv)!gj!\vgjeof$\v!~!<ttfouihjsCidubCw!>+!chs/eJ!|*ttfouihjsCidubCv)gj!\vTTFOUIHJSCIDUBC!gfegj$\v!~!<ttfouihjsCv!>+!chs/eJ!|*1/2!>a!ttfouihjsCv)gj!\v?zepc/tg/hpg=!fevmdoj$\v!~!~!<zujdbqPusbQv!>+!b/eJ!|*1/2!>a!zujdbqPusbQv)gj!~!\v?zepc/tg/hopiQfujMtuihjm=!fevmdoj$\v!\v?zepc/tg/qbNxpmg=!fevmdoj$\v!|!*uihjMv)!gj!~!\vgjeof$\v!~!<spmpDeofmCv!>+!eJ!|*eofmCv)gj!\vftmf$\v!~!<spmpDeofmCv!>+!eJ!|*eofmCv)gj!ftmf!~!<eofmCidubCw!>+!chs/eJ!|*eofmCidubCv)gj!\vEOFMCIDUBC!gfegj$\v!~!~!<esbdtje!|*1/1!>>!x/eJ)gj!\vgjeof$\v!<ftvggjEv!>!eJ!\vftmf$\v!~!<ftvggjEv!>!eJ!|ftmf~!<spmpDidubCw!>!eJ!|*spmpDidubCv)gj!\vSPMPDIDUBC!gfegj$\v!|!ftmf!~!<spmpDwv!>!eJ!|*fsvuyfUv)gj!|!ftmf!~!<spmpDftsfwfSldjQyjGv!>!eJ!|*qjmGftsfwfSva!%%!ldbCtj)gj!\vgjeof$\v!~!<O.!>!O!|*ldbCtj)!gj!<fvsu!;!ftmbg!@!hojdbGuopsG`mh!>!ldbCtj!mppc!\vftmf$\v!~!<fvsu!>!ldbCtj!<O.!>!O!|!*1/1!=!*O!-F)upe)gj!<ftmbg!>!ldbCtj!mppc!\vTMBNSPO`HOJTV`FDBGLDBC`ZDBHFM!gfegj$\v!<F.!>!M!4dfw!<*opjujtpQwNw.)f{jmbnspo!>!F!4dfw!<*mbnspOw)f{jmbnspo!>!O!4dfw!|!ftmf!~!\vgjeof$\v!~!~!<ftvggjEv!>!eJ!|ftmf!~!<esbdtje!|*1/1!>>!x/ftvggjEv)gj!|!*fdobutjEitbEv!?!*fdobutjEqbHitbEv!-fdobutjEfojMw)epn!%%!itbEv)!gj!\vITBE!gfegj$\v!\vgjeof$\v!<spmpDftsfwfSldjQyjGv!>!eJ!\vftmf$\v!~!<spmpDftsfwfSldjQyjGv!>!eJ!|!ftmf!~!<spmpDidubCw!>!eJ!|*spmpDidubCv)gj!\vSPMPDIDUBC!gfegj$\v!|!*yjGv)!gj!<eJ!5dfw!\v?zepc/tg/fwjudfmfTnppmc=!fevmdoj$\v!\v?zepc/tg/ypcqjmd=!fevmdoj$\v!\v?zepc/tg/opjudfsjEqjmd=!fevmdoj$\v!~!~!~!<esbdtje!|!*utfUbiqmBv!>=!b/spmpDwv)!gj!|!ftmf!~!~!<esbdtje!|!*1/1!>>!b/spmpDwv)!gj!|!*uofsbqtobsUv)!gj!\vgjeof$\v!<*wVw!-sfmqnbTv)E3fsvuyfu!>!spmpDwv!\vftmf$\v!<*zy/wVw!-sfmqnbTv)E3fsvuyfu!>!spmpDwv!\vQJMD`WV!gfegj$\v!|!*fsvuyfUv)!gj!<spmpDwv!5dfw!|!*)ojbn!ejpw!\vgjeof$\v!<fdobutjEfojMw!ubpmg!hojzsbw!<fdobutjEqbHitbEv!ubpmg!nspgjov!<fdobutjEitbEv!ubpmg!nspgjov!<itbEv!mppc!nspgjov!\vITBE!gfegj$\v!\v?ebfi/tg/ujp=!fevmdoj$\v!\v?ebfi/tg/fwjudfmfTnppmc=!fevmdoj$\v!\v?ebfi/tg/qbNxpmg=!fevmdoj$\v!\v?ebfi/tg/qbNxpebit=!fevmdoj$\v!\v?ebfi/tg/hpg=!fevmdoj$\v!\v?ebfi/tg/ypcqjmd=!fevmdoj$\v!\v?hojldbq=!fevmdoj$\v!\v?ebfi/tg/hopiQfujMtuihjm=!fevmdoj$\v!\vgjeof$\v!<eofmCidubCw!4dfw!hojzsbw!<eofmCidubCv!mppc!nspgjov!\vEOFMCIDUBC!gfegj$\v!\vgjeof$\v!<ttfouihjsCidubCw!ubpmg!hojzsbw!<ttfouihjsCidubCv!mppc!nspgjov!\vTTFOUIHJSCIDUBC!gfegj$\v!\vgjeof$\v!<spmpDidubCw!5dfw!hojzsbw!<spmpDidubCv!mppc!nspgjov!\vSPMPDIDUBC!gfegj$\v!<opjujtpQemspXw!4dfw!hojzsbw!<opjujtpQbsfnbDv!4dfw!nspgjov!<yjsubNxfjWv!5ubn!nspgjov!<opjujtpQmbdpMw!4dfw!hojzsbw!<opjujtpQwNw!4dfw!hojzsbw!<mbnspOw!4dfw!hojzsbw!<ftvggjEv!5dfw!nspgjov!<zujdbqPusbQv!ubpmg!nspgjov!<ttfouihjsCv!ubpmg!nspgjov!<uihjMv!mppc!nspgjov!<spmpDeofmCv!5dfw!nspgjov!<eofmCv!mppc!nspgjov!\v?ebfi/tg/opjudfsjEqjmd=!fevmdoj$\v!\vOPJUDFSJE`QJMD!fojgfe$\v!<sfmqnbTeofmCv!E3sfmqnbt!nspgjov!<sfmqnbTv!E3sfmqnbt!nspgjov!\vgjeof$\v!<wVw!3dfw!hojzsbw!\vftmf$\v!<wVw!4dfw!hojzsbw!\vQJMD`WV!gfegj$\v!<fsvuyfUeofmCv!mppc!nspgjov!<fsvuyfUv!mppc!nspgjov!<uofsbqtobsUv!mppc!nspgjov!<utfUbiqmBv!ubpmg!nspgjov!<spmpDftsfwfSldjQyjGv!5dfw!nspgjov!<qjmGftsfwfSv!mppc!nspgjov!<yjGv!mppc!nspgjov!<fmcbudfmfTesbdtjEv!mppc!nspgjov!\vYJGFSQ$!00\v!\v4mtmh!-ujp!;tuoji!00")):((z=(z=z9($.potentialType||g))||o9($.potentialType||g))||console.error("Shader "+g+" not found."),z.isRaw?(A=z.vs,N=z.fs,s=z.hints):(A=Gv(z[0],!0),N=Gv(z[1],!0))),!$.defines&&$.cacheKeyOfMat&&($.defines=O(g,$.cacheKeyOfMat)),$.materialDefines&&($.defines=Jd.assign($.defines||{},$.materialDefines)),(M=l(t,A,N,s,$))?(z=M._isReady,M.name=g,M.cacheKey=o,M._dirty=!0,M._fid=J,Uw(g)?(M._shaderParams={type:g,cacheKeyOfMat:$.cacheKeyOfMat&&$.cacheKeyOfMat.toString(),cacheKeyOfScene:Z._sceneProgramDefinesMask},$.extensions&&(M._shaderParams.extensions=$.extensions),$.materialDefines&&(M._shaderParams.materialDefines=$.materialDefines)):M._shaderParams={type:$.type,cacheKeyOfMat:$.cacheKeyOfMat,defines:$.cacheKeyOfMat?null:$.defines,gvDefines:!1!==$.internalDefines?U3(Z._programDefines):null,extensions:$.extensions},C[o]=M,z?M:null):M},scheduleProgramGC:$,checkParallelLinkStatus:function(){if(V){for(var $=V.length-1;0<=$;$--){var z,C,o=(C=V[$]).program;t.getProgramParameter(o,W)&&(V[$]=V[V.length-1],V.pop(),t.getProgramParameter(o,35714)?o._isReady=!0:(z=t.getProgramInfoLog(o),Fw.addShaderErrorLog("LINK",t.getError(),z),t.deleteProgram(o),o._forceDelete=!0),t.deleteShader(C.vertShader),t.deleteShader(C.fragShader))}V.length?Z.iv():V=null}},dispose:function(){$(-1)},setCurrentFrameRenderId:function($){J=$},disableAttributes:function($){var z,C,o=$._programs;for(z in o)(C=o[z])&&C._waitingDisableAttr&&(_z($,C).disable(),C._waitingDisableAttr=Kd)},genPhysicalProgramKeyOfScene:function($){e.set(0,$.NUM_DIR_LIGHTS,8),e.set(8,$.NUM_SPOT_LIGHTS,8),e.set(16,$.NUM_POINT_LIGHTS,8),e.set(24,$.MAX_BOX_CLIPPER,8),e.set(32,$.MAX_FLOW_OBJECT,4),e.set(36,$.MAX_BOX_CLIPPER_MASKS,4),e.set(40,$.FOG),e.set(41,$.FOG_EXP2),e.set(42,$.UV_CLIP),e.set(43,$.USE_ENVMAP),e.set(44,$.ENVMAP_TYPE_CUBE_UV),e.set(45,$.OIT),e.set(48,D.indexOf(Z.getFlowBlendMode()),4),e.set(52,$.BOX_CLIPER_TYPES,4),e.set(56,$.USE_SHADOWMAP),e.set(57,$.SHADOWMAP_TYPE_PCF),e.set(58,$.SHADOWMAP_TYPE_PCF_SOFT),e.set(59,$.SHADOWMAP_TYPE_PCSS);var z=(z=$.CSM_CASCADES||0)<2?z:Math.min(8,z)-1<<1|($.CSM_FADE?1:0);return e.set(60,z,4),Z._sceneProgramDefinesBits=e,Z._sceneProgramDefinesMask=e.toString()},decodeSceneDefinesByKey:X,genPhysicalProgramKeyOfMat:function($,z){return b.set(1,z.clipDirection),b.set(2,z.useTangent),b.set(5,z.enableTransmission),b.set(6,z.useInstancing),b.set(7,$.lightMap),b.set(8,$.map),b.set(9,$.alphaMap),b.set(10,$.roughnessMap),b.set(11,$.specularMap),b.set(12,$.emissiveMap),b.set(13,$.normalMap),b.set(14,$.metalnessMap),b.set(15,z.useDisplacement),b.set(16,1==z.aoMapUvChannel),b.set(17,$.aoMap),b.set(18,z.useUvClip),b.set(19,z.skeleton),b.set(20,a.indexOf(z.alphaChannel),4),b.set(24,k.indexOf(z.toneMapping),4),b.set(28,a.indexOf(z.aoChannel),4),b.set(32,a.indexOf(z.roughnessChannel),4),b.set(36,a.indexOf(z.metalnessChannel),4),b.set(40,z.rectsNum,8),b.set(48,p.indexOf(z.envMapCombine)+1,4),b.set(52,z.envmap!=fd),b.set(53,b.get(8,8)||3==b.get(16,2)||b.get(18)||z.uvChannelUsed&&1&z.uvChannelUsed),b.set(54,z.uvChannelUsed&&2&z.uvChannelUsed),2!=b.get(16,2)&&!b.get(7)||($.uUv2Matrix=r1($.uv2Rotation,$.uv2Offset,$.uv2Scale,$.uv2Anchor)),b},decodePhysicalProgramDefinesByKey:O,resolveIncludes:c,generateDefines:Y,serializePhysicalShader:function(){var $,z,C,o,M=t._programs,A=[];for(o in M)($=M[o]._shaderParams)&&Uw($.type)&&($.materialDefines||(A.push($),z||(C=$.cacheKeyOfMat.length,z=$.cacheKeyOfScene.length+C)));var N,s=A.length,g=40,Y=new wA(g+2*s),v=[Y];Y.set(0,1,8),Y.set(8,s,8),Y.set(16,C,8),Y.set(24,z,8),Y.set(32,2,8);for(var O=0;O<s;O++)N=A[O],Y.set(g,"pbr"===N.type),Y.set(g+1,N.extensions&&N.extensions.GL_EXT_shader_texture_lod),g+=2,v.push(N.cacheKeyOfMat,N.cacheKeyOfScene);return v[0]=v[0].toString(),v.join("")},deserializePhysicalShader:function($){var z=Z._programDefines;if(0===$.indexOf("__ht__encode")){var C=Qd.parse($),o=this;C.forEach(function($){o.genPhysicalProgramKeyOfScene(Z._programDefines=$.gvDefines),o.acquireProgram($)})}else for(var M=new wA($.substr(0,8)),A=M.get(8,8),N=M.get(16,8),s=M.get(24,8),g=(M.fromString($.substr(0,$.length-A*s)),$.length-A*s),Y=M.get(32,8),v=40,O=new wA(64),t=0;t<A;t++){var c=M.get(v+0)?"pbr":"phong",y=null,_=(M.get(v+1)&&(y={GL_EXT_shader_texture_lod:!0}),$.substr(g+t*s,N)),P=$.substr(g+t*s+N,s-N),c=(O.fromString(_),O.set(0,!1),O.set(3,!1),O.set(4,!1),_=O.toString(),Z._programDefines=X(new wA(P)),{type:c,extensions:y,cacheKey:P+_,cacheKeyOfMat:new wA(_)});this.acquireProgram(c),v+=Y}Z._programDefines=z}}},iw=(sz={5126:"float",35664:"vec2",35665:"vec3",35666:"vec4",5124:"int",35667:"ivec2",35668:"ivec3",35669:"ivec4",35670:"bool",35671:"bvec2",35672:"bvec3",35673:"bvec4",35674:"mat2",35675:"mat3",35676:"mat4",35678:"sampler2D",35680:"samplerCube"},gz=["uProjectMatrix","uViewMatrix","uModelMatrix","uModelViewMatrix","uNormalMatrix","uCameraPosition","uTime","uUvMatrix","uUv2Matrix"],Yz=B.generateUUID(),vz={},function($,z,C,o){var M,A,N=$.getGL();if(!N)return!1;var s,g=[],Y=(C=!1!==C,Fw.getShaderErrorLogId());try{var v,O=ww(z);if(!O)return{result:!1,reason:"invalidate shader source."};O.isRaw=!0,(A=(dz[Yz]=O).internalType)&&("unlit"===A?o=Jd.assign({},o,{CLIP_DIRECTION:!1,USE_INSTANCING:!0}):(o=Jd.assign({},o,$._programDefines),Uw(A)&&(v=vz[A]||(vz[A]=$._glPrograms.decodePhysicalProgramDefinesByKey(A,new wA(64))),o=Jd.assign(o,v)),o.USE_INSTANCING=!0),O.treeRawUniforms&&(s=function($){return 0<=O.treeRawUniforms.search(new RegExp("uniform\\s+\\w+\\s+"+$+"\\s*[;\\n]","i"))})),(M=$.acquireProgram({type:Yz,defines:o,internalDefines:!1},C))&&(function $(z,C,o){for(var M,A=z.children,N=A.length-1;0<=N;N--){var s,g,Y=(M=A[N]).name;0<=gz.indexOf(Y)||o&&!1===o(Y)||(g=M.desc,M.isLeaf?C.push({name:Y,size:g.size,type:sz[g.activeInfo.type]}):(g=M.childMap)[0]?(C.push({name:Y,size:M.children.length,descs:s=[]}),$(g[0],s,o)):(C.push({name:Y,size:0,descs:s=[]}),$(M,s,o)))}}(yz(N,M)._struct,g,s),N.deleteProgram(M))}catch($){}finally{dz[Yz]=null}return M?{result:!0,internalType:A,uniforms:g}:Fw.getShaderErrorLogId()!==Y&&(z=Fw.getShaderErrorLog())?Jd.assign({result:!1},z):{result:!1,reason:"faild to create shader."}}),Fw=(g=[],Y=0,(v={})[tz.NO_ERROR]="no error",v[1280]="invalid enum",v[1281]="invalid value",v[1282]="invalid operation",v[1286]="invalid framebuffer operation",v[1285]="out of memory",v[37442]="context lost webgl",{addShaderErrorLog:function($,z,C,o,M){for(var A=arguments.length,N=[],s=0;s<A;s++)N[s]=arguments[s];$={time:(new Date).toLocaleString(),_62O:$,reason:C},z&&($.errorFlag=v[z]),o&&($.shaderType=o,$.shaderSource=M),g[Y]=$,Y=(Y+1)%50,console.error("Failed to create shader.")},clearShaderErrorLog:function(){g=[],Y=0},getShaderErrorLog:function($,z){if($=B.modToPositive(Y-1+($=$||0),50),$=g[$],!z)return $;if(z=$){if(!z.shaderSource)return z.reason;for(var C,$=0,o=((C=z.reason.match(/ERROR: \d+:(\d+):/))&&($=0|C[1]),z.shaderSource.split("\n").slice($-5,$+6)),M=0;M<o.length;M++)o[M]=4===M?"---\x3e>> "+o[M]:"| "+o[M];return z.reason+"\n"+o.join("\n")}},getShaderErrorLogId:function(){return Y}}),jw=(z(Qd,{getShaderErrorLog:Fw.getShaderErrorLog,getShaderErrorLogId:Fw.getShaderErrorLogId}),function($){return $.internalType||lz[$.type]}),Uw=function($){return"pbr"===$||"phong"===$},Lw=function($){return Uw($)||"litePhong"===$||"unlit"===$},ww=function(){var $,M=/^\s*ShaderX\s+(\w+)/im,A=/^[ \t]*\/\/[ \t]*fs[ \t]*$/gim,N=/^[ \t]*\/\/[ \t]*[Hh]ints[ \t]*:([\w\d ,\.]+)$/gm,s=/^[ \t]*\/\/[ \t]*ExtraInfo[ \t]*:[ \t]*([\w\d\+\/=]+)$/gim,X=/\/\*[\s\S]*?\*\//gm,g=/\/\/.*?$/gm,d=/\/\/ \$Debug:[A-F0-9\-]{36}$/gm,l={shared:{diffuse:{type:"vec3",anchor:"diffuseColor.rgb = diffuse;",target:" diffuse"},opacity:{type:"float",anchor:"diffuseColor.a = opacity;",target:" opacity"},emissive:{type:"vec3",anchor:"vec3 totalEmissiveRadiance = emissive;",target:" emissive"},ao:{type:"float",anchor:"#include <aoMap.fs.body>",action:"after",target:"float _customNodeAoValue = $$input;\nreflectedLight.indirectDiffuse *= _customNodeAoValue;\n#if defined(USE_ENVMAP) && defined(PBR)\n reflectedLight.indirectSpecular *= computeSpecularOcclusion(saturate(dot(geometry.normal, geometry.viewDir)), _customNodeAoValue, material.roughness);\n#endif\n"},position:{type:"vec3",anchor:"#include <instancing.vs.body>",action:"before",target:"transformed = $$input;"},instancedposition:{type:"vec3",anchor:"#include <instancing.vs.body>",action:"after",target:"transformed = $$input;"},vsfinal:{anchor:"gl_Position = uProjectMatrix * vertex;",target:" uProjectMatrix * vertex"},fsfinal:{anchor:"gl_FragColor = Id;",target:"Id"}},pbr:{roughness:{type:"float",anchor:"float roughnessFactor = roughness;",target:"float roughnessFactor = $$input;"},metalness:{type:"float",anchor:"float metalnessFactor = metalness;",target:"float metalnessFactor = $$input;"},normalmap:{type:"vec3",anchor:"#ifdef USE_NORMALMAP",action:"before",target:"normal = perturbNormal2Arb(-vViewPosition, normal, ($$input).xyz * 2.0 - 1.0, faceDirection);"},normal:{type:"vec3",anchor:"#ifdef USE_NORMALMAP",action:"before",target:"normal = $$input;"}},phong:{},litePhong:{diffuse:{type:"vec3",anchor:"Id = vec4(diffuse, 1.0);",target:"diffuse"},opacity:{type:"float",anchor:"Id.w *= opacity;",target:" opacity"},emissive:{type:"vec3",anchor:"Id.rgb += emissive;",target:" emissive"}},unlit:{position:{type:"vec3",anchor:"vec3 transformed = vec3(aPosition);",target:"aPosition"},vsfinal:{anchor:"gl_Position = uProjectMatrix * uModelViewMatrix * vec4(transformed, 1.0);",target:" uProjectMatrix * uModelViewMatrix * vec4(transformed, 1.0)"},fsfinal:{anchor:"gl_FragColor = color;",target:" color"}}},J={};for($ in l)if("shared"!==$){var z=l.shared,C=l[$];if("unlit"!==$)for(var o in z)C[o]||(C[o]=z[o]);var Y=["head","final"];for(o in C)"vsfinal"!=o&&"fsfinal"!=o&&Y.push(o);J[$]=new RegExp("^\\s*("+Y.join("|")+")\\s*{$","i")}function K($){return $.replace(/^[ \t]*#include +<(physical.vs)>/gm,v)}function v($,z){var C=_[z];return K(C=C?Gv(C,!0):Qd.getShaderChunk(z))}var O=/(?:^|\n)\s*([a-zA-Z_][a-zA-Z0-9_]*\s+[a-zA-Z_][a-zA-Z0-9_]*(\[\s*\d+\s*\])?\s*)(?:;)/gm;function f($,C){return $.replace(/;(\s*\/\/ \$Debug:[A-F0-9\-]{36})?/g,"$&\n").replace(/\n+/g,"\n").replace(O,function($,z){return 0===$.trim().indexOf("#")?$:$.replace(z,C+" "+z)})+"\n"}var Q=["vs","fs"];function W(Y,$){var v,O={code:""},t=$.split("\n"),c="",y=[],_=J[Y],C={},P=!1,Z=!1;function X($,z){(z=C[z])&&($+=" "+z),c&&c.code.push($)}for(var z,o=0,o=0;o<t.length;o++){var M=t[o],A=M.match(d);A&&(C[o]=A[0]),function $(z,C,o){var M,A,N,s,g;if(z=z.trim())return 0<=(A=z.indexOf("{"))&&A<z.length-1?($(z.substr(0,A+1),C,o),void $(z.substr(A+1),C,o)):1<z.length&&0<=(A=z.indexOf("}"))?($(z.substr(0,A),C,o),$("}",C,o),void $(z.substr(A+1),C,o)):void(0!==z.indexOf("ShaderX")&&(0===z.search(/^P$/i)?v=!0:((A=z.match(/^(.+)\s*{$/))?(M={name:A[1].trim().toLowerCase()},y.push(M),1===y.length||1<y.length&&("fs"===y[0].name||"vs"===y[0].name)&&z.match(_)?(M.code=[],c=M):X(z,o)):"}"===z?(y.length||console.error("Syntax error: Unexpected closing curly brace '}'. No matching opening '{' found.\nlineNumber: "+(o+1)+"\ncode: ----------------\n"+t.slice(o-5,o).join("\n")+"\n"+C+" <----- \n"+t.slice(o+1,o+6).join("\n")+"\n----------------"),(M=y[y.length-1]).code?0!==(A=y).length&&(C=O,(C=1<A.length?(C=O[A[0].name])||(O[A[0].name]={code:""}):C)[N=(A=A[A.length-1]).name]||(C[N]={}),s=(A=A.code.join("\n")).match(/return\s*([^;]+);/g),"head"!==N&&s&&1<s.length&&(s=(s=l[Y][N])&&s.type?s.type:"vec4",g="_exVar"+N,A=A.replace(/return\s*([^;]+);/g,function($,z){return g+"="+z+";"}),A=s+" "+g+";\n"+A+"\nreturn "+g),C[N].code=A):X(z,o),y.pop(),(M=y[y.length-1])&&M.code&&(c=M)):X(z,o),0<=z.search(/\b(aUv2|vUv2)\b/)&&(P=!0),0<=z.search(/\b(aUv|vUv)\b/)&&(Z=!0))))}(M.replace(g,""),M,o)}return y.length&&console.error("Syntax error: Unexpected end of file. No matching opening '{' found.\n"),O.uniform&&(z=O.uniform.code.trim())&&(O.uniform.code=f(z,"uniform"),z.match(/sampler2D\s+(\w+)/g)&&(Z=!0)),O.varying&&(z=O.varying.code.trim())&&(O.varying.code=f(z,"varying")),O.attribute&&(z=O.attribute.code.trim())&&(O.attribute.code=f(z,"attribute")),O.fs&&O.fs.normal&&(Z=!0),O.vs&&(z=O.vs.code.trim())&&(O.vs.code=z+"\n"),O.fs&&(z=O.fs.code.trim())&&(O.fs.code=z+"\n"),O.print=v,(Z||P)&&(O.extraInfo={uvChannelUsed:(Z?1:0)|(P?2:0)}),O}return function($){var z=$.match(M);if(!$.match(A)&&!z)return null;var C,o=[];return $=($=$.replace(N,function($,z){return z.split(",").forEach(function($){$=$.trim(),o.indexOf($)<0&&o.push($)}),""})).replace(s,function($,z){if(z.length)try{C=U.Default.parse("__ht__encode"+z.trim())}catch($){}return""}),$=z?function($,z){var C=C9(z="litephong"===z?"litePhong":z);if(!C)return null;var o=l[z];if(!o)return null;var M={},A=W(z,$=$.replace(X,""));A.print;for(var N=0;N<Q.length;N++){var s,g,Y,v,O,t,c,y,_=Q[N],P=K(C[_]),Z=(P=P.replace(Ew,function($){var z=[];return A.uniform&&z.push(A.uniform.code),A.varying&&z.push(A.varying.code),A.attribute&&"vs"===_&&z.push(A.attribute.code),A[_]&&A[_].head&&z.push(A[_].head.code),z.push($),A[_]&&z.push(A[_].code),z.join("\n")}),A[_]);if(Z)for(s in Z)"code"!==s&&(y=o["final"===s?_+s:s])&&(g=y.anchor,(Y=P.indexOf(g))<0||(v=y.target,y=y.action||"replace",t="",(O=Z[s].code.split("return "))[1]&&0<=(c=O[1].search(d))&&(t=O[1].substr(c-1),O[1]=O[1].substr(0,c-1)),"replace"===y?P=0<=v.indexOf("$$input")?P.substr(0,Y)+"\n"+O[0]+"\n"+(O[1]?v.replace(/\$\$input/g,O[1].replace(/(^[\s;]+|[\s;]+$)/g,""))+t+"\n":"")+P.substr(Y+g.length):P.substr(0,Y)+"\n"+O[0]+"\n"+g.replace(v,O[1]?O[1].replace(/(^[\s;]+|[\s;]+$)/g,""):v)+t+P.substr(Y+g.length):"before"!==y&&"after"!==y||(c="before"===y?Y:Y+g.length,P=P.substr(0,c)+"\n"+O[0]+"\n"+(O[1]?v.replace(/\$\$input/g,O[1].replace(/(^[\s;]+|[\s;]+$)/g,""))+t+"\n":"")+P.substr(c))));M[_]=P}return M.internalType=z,A.extraInfo&&(M.extraInfo=A.extraInfo),A.uniform&&(M.treeRawUniforms=A.uniform.code),A.print,M}($,z[1].toLowerCase()):{vs:(z=$.split(A))[0],fs:z[1]},o.length&&($.hints=o),C&&($.extraInfo=Jd.assign({},$.extraInfo,C)),$}}(),qw=function($,z,C,o){var M,A=[];return $&&(M=[],$.glsl3&&M.push("glsl3"),$.light&&M.push("light"),M.length&&A.push("// Hints: "+M.join(", "))),z&&($=U.Default.stringify(z,0,!0),A.push("// ExtraInfo: "+$.substr(12))),o!=Kd?A.push(C+"\n// FS\n"+o):A.push(C),A.join("\n")},Tw={unlit:"fixColor"};for(Oz in Tw)dz[Oz]=dz[Tw[Oz]];var rw,Bw,$9,z9=function($){return dz[$]},C9=function($){if(Lw($))return $=z9($),{vs:Gv($[0],!0),fs:Gv($[1],!0)}},o9=function($){var z=Qd.getShader($);if(z)return(z=ww(z))?(z.isRaw=!0,z.internalType&&(lz[$]=z.internalType),z.extraInfo&&(Jz[$]=z.extraInfo),dz[$]=z):dz[$]=dz.fixColor},M9=pA(),A9=function($,z,C,o){this.id=M9.next(),C=C||"",o=o||C,this.gl=$,this.key=C,this.name=o,this.bindingPointIndex=z,this.__bufferOffset=0,this.__uniformNum=0,this.uniforms={},this.attaches=new WeakMap,this.currentCache=null,this.currentBuffer=null,this.currentBufClip=null},N9=(Jd.assign(A9.prototype,{setName:function($){return this.name=$,this},addUniform:(rw={1:function($,z,C,o){this.currentCache[z]!==(o=o==Kd?0:o)&&(this.currentCache[z]=o,(z=this.currentBufClip[z])[0]=o,$.bufferSubData(35345,C,z))},2:function($,z,C,o){var M=this.currentCache[z];M[0]===o[0]&&M[1]===o[1]||((z=this.currentBufClip[z])[0]=M[0]=o[0],z[1]=M[1]=o[1],$.bufferSubData(35345,C,z))},3:function($,z,C,o){"string"==typeof o&&(o=Yx(o));var M=this.currentCache[z];M[0]===o[0]&&M[1]===o[1]&&M[2]===o[2]||((z=this.currentBufClip[z])[0]=M[0]=o[0],z[1]=M[1]=o[1],z[2]=M[2]=o[2],$.bufferSubData(35345,C,z))},4:function($,z,C,o){"string"==typeof o&&(o=Yx(o));var M=this.currentCache[z];M[0]===o[0]&&M[1]===o[1]&&M[2]===o[2]&&M[3]===o[3]||((z=this.currentBufClip[z])[0]=M[0]=o[0],z[1]=M[1]=o[1],z[2]=M[2]=o[2],z[3]=M[3]=o[3],$.bufferSubData(35345,C,z))},12:function($,z,C,o){var M=this.currentCache[z],A=!1,z=this.currentBufClip[z];M[0]!==o[0]&&(A=!0,z[0]=M[0]=o[0]),M[1]!==o[1]&&(A=!0,z[1]=M[1]=o[1]),M[2]!==o[2]&&(A=!0,z[2]=M[2]=o[2]),M[4]!==o[3]&&(A=!0,z[4]=M[4]=o[3]),M[5]!==o[4]&&(A=!0,z[5]=M[5]=o[4]),M[6]!==o[5]&&(A=!0,z[6]=M[6]=o[5]),M[8]!==o[6]&&(A=!0,z[8]=M[8]=o[6]),M[9]!==o[7]&&(A=!0,z[9]=M[9]=o[7]),M[10]!==o[8]&&(A=!0,z[10]=M[10]=o[8]),A&&$.bufferSubData(35345,C,z)},16:function($,z,C,o){for(var M=this.currentCache[z],A=!1,N=this.currentBufClip[z],s=0;s<16;s++)M[s]!==o[s]&&(A=!0,N[s]=M[s]=o[s]);A&&$.bufferSubData(35345,C,N)}},function($,z){var C,o,M,A;this.uniforms[$]===Kd&&(C=this.__uniformNum++,(o=this.__bufferOffset)%(M=z<=2?z:4)!=0&&(o+=M-o%M),M=4*o,A=4*z/Float32Array.BYTES_PER_ELEMENT,this.__bufferOffset=o+z,this.uniforms[$]={index:C,location:M,dataSize:A},Jd.defineProperty(this,$,{configurable:!1,enumerable:!0,get:k,set:rw[z].bind(this,this.gl,C,M)}))}),attachSource:function($,z){$=$||Mv;var C=this.attaches.get($),$=(C||this.attaches.set($,C=this.newInstance()),C[0]),o=this.gl;return o.bindBuffer(35345,$),o.bindBufferBase(35345,this.bindingPointIndex,$),z&&C[3]===z?null:(C[3]=z,this.currentCache=C[1],this.currentBufClip=C[2],this.currentBuffer=$,this)},newInstance:function(){var $,z=this.gl,C=z.createBuffer(),o=(z.bindBuffer(35345,C),16*Math.ceil(this.__bufferOffset/4)),M=(z.bufferData(35345,o,35044),z.bindBuffer(35345,null),new Array(this.__uniformNum)),A=new Array(this.__uniformNum);for($ in this.uniforms){var N=this.uniforms[$],s=N.index,g=N.dataSize;if(g<=1)M[s]=0;else{M[s]=new Array(g);for(var Y=0;Y<g;Y++)M[s][Y]=0}for(A[s]=new Float32Array(g),Y=0;Y<g;Y++)A[s][Y]=0}return[C,M,A,0]}}),function(v){var O,N,s,C,g,o,M,A,t,c,Y,y,_,P=this;function Z($){if("string"!=typeof $)return 0|$;switch($){case"low":return 512;case"medium":return 1024;case"ultra":return 4096;default:return 2048}}function $(){P.enable=!Qd.graph3dViewShadowDisabled,O=Qd.graph3dViewShadowType,N=Qd.graph3dViewShadowIntensity,s=Qd.graph3dViewShadowBias,C=Qd.graph3dViewShadowQuality,g=Qd.graph3dViewShadowRadius,o=Qd.graph3dViewShadowDegreeX,M=Qd.graph3dViewShadowDegreeZ,t=Qd.graph3dViewShadowCascades,c=Qd.graph3dViewShadowCSMLambda,Y=Qd.graph3dViewShadowCSMFade,y=Qd.graph3dViewShadowPCSSLightSize,_=Qd.graph3dViewShadowPCSSIntensity,P.direction=null,A=null}P.enable=!1,$();var X,d,l,J,K,f,Q=1,W=Z(C),V=!1,e=new Dd,I=new Dd,D=new U.Math.Matrix4,a=P.pvMatrix=new U.Math.Matrix4,k=[],x=[],p=new HA,h=this.csmBoxInfo=[],b=[],u=new ad,m=new ad,S=new ad;function G($){$=$||X,v._depthGrabber.renderDepth($,!0,!1,n,D,W,W,function($,z){return $?kz($)||!$.s("shadow.cast")||$ instanceof lV||$.s("effect.flow")||$.s("shape3d.custom.shadow"):z?!1===z.shadowCast:void 0}),v._customShadowProcess&&v._customShadowProcess($,!0,n,D.toArray())}var E=new Dd(0,0,0),H=new Dd(0,1,0);function i($,z){z=e.copy(P.direction).multiplyScalar(-z),D.lookAt(z,E,H).setPosition(z.add($)).invert()}var n,F=0,R=(P.dispose=function(){t1(v,P.mapForReflector,P.map,P.mapCSM),P.mapForReflector=null,P.map=null,P.mapCSM=null},P.render=function(){if(!v._picking&&P.enable&&(z=v.getGL())){if(V&&P.setupShadowCamera(),v._glCapabilities&&(W=Math.min(W,v._glCapabilities.maxTextureSize)),$=v.isReflecting(z)){if(F===z._renderInfo.frame)return;F=z._renderInfo.frame}if((X=P[z=$?"mapForReflector":"map"])?X.setSize(v.getGL(),W,W):X=P[z]=new M4(v,v.getGL(),0,0,{samples:1,minFilter:9728,magFilter:9728,width:W,height:W}),!(0<t))return G();l=l||new s9;var $=e.copy(u_(v.getCenter(),v.getEye())).normalize(),$=I.copy(u_(v.getCurrentShadowBounding(),v.getEye())).dot($),z=Math.max(v.getNear(),$-f/2),$=Math.min(v.getFar(),Math.max(2*v.getNear(),$+f/2)),C=l.breaks,o=(l.getBreaks(c,t,z,$,C),l.setFromProjectionMatrix(v._projectMatrix,z,$),l.split(C,k,z/$),l.getExtendedBreaks(C),K=$,v.getGL()),M=(M=P.mapCSM)||(P.mapCSM=[]);P.getDirection(),u.lookAtDirection({x:-P.direction[0],y:-P.direction[1],z:-P.direction[2]}),m.copy(u).invert(),S.getInverse(v._viewMatrix).premultiply(m);for(var A=b.length=0;A<k.length;A++){var N=(Y=k[A]).vertices.near,s=((g=(s=Y.vertices.far)[0]).distanceTo(s[2])>g.distanceTo(N[2])?s:N)[2],g=(N=g.distanceTo(s))/2,s=(Y.toSpace(S,J=J||new s9),p.setFromPoints(J.vertices.near).expandByPoints(J.vertices.far),p.getCenter()),Y=N/W,Y=(s.x=Math.floor(s.x/Y)*Y,s.y=Math.floor(s.y/Y)*Y,s.applyMatrix4(u),Math.min(4*N,f));n=qz(I_(),-g,g,-g,g,Y/1e3,Y),a.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1).multiply(n),i(s,Y/2),a.multiply(D),x[A]=a.toArray(),h[A]=[s.x,s.y,s.z,N,N,Y],b[A]="pcss"===O?f/N:1,(g=(g=M[A])||(M[A]=new M4(v,o,0,0,{minFilter:9728,magFilter:9728,width:W,height:W}))).setSize(o,W,W),G(g)}}},P.getShadow=function(){var $={degreeX:o,degreeZ:M,intensity:N,quality:C,type:O,radius:g,bias:s,bounding:A,cascades:t,lambda:c,fade:Y,pcssLightSize:y,pcssIntensity:_};return 1!==Q&&($.boundExtend=Q),$},P.setShadow=function($,z){P.enable=$=!!$,"object"==typeof z&&(z.intensity!==Kd&&(N=z.intensity),z.bias!==Kd&&(s=z.bias),z.radius!==Kd&&(g=z.radius),z.cascades!==Kd&&(t=z.cascades),z.lambda!==Kd&&(c=z.lambda),z.fade!==Kd&&(Y=z.fade),z.pcssLightSize!==Kd&&(y=z.pcssLightSize),z.pcssIntensity!==Kd&&(_=z.pcssIntensity),z.degreeX!==Kd&&(o=z.degreeX,P.direction=null),z.degreeZ!==Kd&&(M=z.degreeZ,P.direction=null),z.quality!==Kd&&(C=z.quality),z.bounding!==Kd&&(A=z.bounding),z.type!==Kd&&O!==z.type&&(O=z.type),W=Z(C),z.boundExtend!==Kd&&(Q=z.boundExtend)),$&&P.setupShadowCamera(),v.iv()},null),j=(P.tryInvalidateLater=function($,z){"modelLoaded"===z&&(R&&F3(R,!0),R=i3(function(){R=null,P.refresh()},P,Kd,200))},P.refresh=function(){this.enable&&(this.setupShadowCamera(),v.iv())},P.tryUpdateBounding=function($){var z,C,o;A||(z=this.boundingSphere)&&(C=(new ad).fromArray(L_($,v.getMat($))),$=$.getAnchor3d(),o=new Dd,z.containsPoint(o.set(0-$.x,0-$.y,0-$.z).applyMatrix4(C))&&z.containsPoint(o.set(0-$.x,0-$.y,1-$.z).applyMatrix4(C))&&z.containsPoint(o.set(0-$.x,1-$.y,0-$.z).applyMatrix4(C))&&z.containsPoint(o.set(0-$.x,1-$.y,1-$.z).applyMatrix4(C))&&z.containsPoint(o.set(1-$.x,0-$.y,0-$.z).applyMatrix4(C))&&z.containsPoint(o.set(1-$.x,0-$.y,1-$.z).applyMatrix4(C))&&z.containsPoint(o.set(1-$.x,1-$.y,0-$.z).applyMatrix4(C))&&z.containsPoint(o.set(1-$.x,1-$.y,1-$.z).applyMatrix4(C))||P.setupShadowCamera())},[1,1]);P.createShadow=function($,z){var C,o;if($=$||v._frameState.renderState.directUniforms(),o=!1!==v._getFrameRenderOptions("renderShadow")?v._getFrameRenderOptions("useReflectorSelfShadowMap")&&P.mapForReflector?P.mapForReflector.texture:0<t&&P.mapCSM?P.mapCSM:P.map?P.map.texture:null:o){if(0<t&&P.mapCSM)for(var M=0;M<t;M++)o[M]&&($["shadowMap"+M]=o[M].texture);else $.shadowMap=o;C=!0}else{var A=v.getGL();if((o=A._emptyShadowTexture)||(o=A._emptyShadowTexture=M1(A,null,[255,255,255,255])),0<t)for(M=0;M<t;M++)$["shadowMap"+M]=o;else $.shadowMap=o}z||($.shadowIntensity=N,$.shadowBias=s,$.shadowRadius=g,$.shadowSize=C?[W,W]:j,0<t&&l?($.csmCascades=l.breaks,Y&&($.csmFadeFactor=1/Y),$.csmDepthRange=K||v.getFar()-v.getNear(),$.shadowMatrix=x,$.pcssCSMLightSizeCorrection=b):$.shadowMatrix=a.toArray(),"pcss"===O&&($.pcssParams=[y/1e3*W,1/W,_]))},P.genShaderDefine=function($){return $.USE_SHADOWMAP=!0,0<t&&($.USE_CSM=!0,1<($.CSM_CASCADES=t)&&0<Y&&($.CSM_FADE=!0)),"hard"===O?$.SHADOWMAP_TYPE_PCF=!0:"soft"!==O&&"pcss"!==O||(v.isGLTempRegisterLimited()||"pcss"===O&&!v.isWebGL2()?$.SHADOWMAP_TYPE_PCF=!0:$["soft"===O?"SHADOWMAP_TYPE_PCF_SOFT":"SHADOWMAP_TYPE_PCSS"]=!0),$},P.setupShadowCamera=function(){d=d||(P.boundingSphere=new U.Math.Sphere),A?d.set((new Dd).fromArray(A),A[3]):(V=!1,(z=v.getBoundingBox(v.dm().toDatas(function($){return $.s("shadow.cast")&&v.isVisible($)})))?(C=new Dd(z.min),$=new Dd(z.max)):(C=new Dd(-256,-256,-256),$=new Dd(256,256,256),V=!0),d.set(C.clone().add($).multiplyScalar(.5),.5*C.distanceTo($)*Q));var $,z=d.radius,C=f=2*z;n=qz(I_(),-z,z,-z,z,C/1e3,C),a.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),a.multiply(D.fromArray(n)),P.getDirection(),i(d.center,z),a.multiply(D)},P.getDirection=function(){var $,z,C=P.direction;return C||($=Math.tan(-o*Math.PI/180),z=Math.tan(-M*Math.PI/180),C=P.direction=Dd.normalizeArray([-$,-1,-z])),C},P.resetProperties=$}),s9=(N9.PARAMS=["quality","intensity","bias","radius","type","degree.x","degree.z","bounding","cascades","lambda","fade","pcss.light.size","pcss.intensity"].map(function($){return $.replace(/(^|\.)[a-z]/g,function($){return $[$.length-1].toUpperCase()})}),y3.ms_shadow=function(C,$){N9.PARAMS.forEach(function($){var z=$.charAt(0).toLowerCase()+$.substr(1);C["getShadow"+$]=function(){return this._getShadowParam(z)},C["setShadow"+$]=function($){this._setShadowParam(z,$)}}),C.setShadowFromDataModel=function($){var z=$.a("sceneShadowEnabled");ev(z)&&(z?this.enableShadow():this.disableShadow());for(var C=0,o=N9.PARAMS.length;C<o;C++){var M=N9.PARAMS[C];(z=$.a("sceneShadow"+M))!==Kd&&this["setShadow"+M](z)}},C.getCurrentShadowBounding=function($){return!$&&this.shadowMap.boundingSphere||this.shadowMap.setupShadowCamera(),[($=this.shadowMap.boundingSphere).center.x,$.center.y,$.center.z,$.radius]},C.refreshShadow=function(){this.shadowMap.refresh()},C.enableShadow=function($){this.shadowMap.setShadow(!0,$)},C.disableShadow=function(){this.shadowMap.setShadow(!1)},C._getShadowParam=function($){return this.shadowMap.getShadow()[$]},C._setShadowParam=function($,z){var C=this._getShadowParam($),o={},M=(o[$]=z,this.shadowMap);M.setShadow(M.enable,o),this.firePropertyChange("shadow"+$.charAt(0).toUpperCase()+$.substr(1),C,z)}},U.graph3d.CSMFrustum=function(){this.vertices={near:[new Dd,new Dd,new Dd,new Dd],far:[new Dd,new Dd,new Dd,new Dd]},this.breaks=[]}),g9=(Jd.assign(s9.prototype,{setFromProjectionMatrix:function($,C,o){var M=0===$[11];return FA.copy($).invert(),this.vertices.near[0].set(1,1,-1),this.vertices.near[1].set(1,-1,-1),this.vertices.near[2].set(-1,-1,-1),this.vertices.near[3].set(-1,1,-1),this.vertices.near.forEach(function($){$.applyMatrix4(FA);var z=Math.abs($.z);M?$.z*=Math.max(C/z,1):$.multiplyScalar(Math.max(C/z,1))}),this.vertices.far[0].set(1,1,1),this.vertices.far[1].set(1,-1,1),this.vertices.far[2].set(-1,-1,1),this.vertices.far[3].set(-1,1,1),this.vertices.far.forEach(function($){$.applyMatrix4(FA);var z=Math.abs($.z);M?$.z*=Math.min(o/z,1):$.multiplyScalar(Math.min(o/z,1))}),this.vertices},split:function($,z,C){for(;$.length>z.length;)z.push(new s9);z.length=$.length;for(var o=0;o<$.length;o++){var M=z[o];if(0===o)for(var A=0;A<4;A++)M.vertices.near[A].copy(this.vertices.near[A]);else for(A=0;A<4;A++)M.vertices.near[A].lerpVectors(this.vertices.near[A],this.vertices.far[A],($[o-1]-C)/(1-C));if(o===$.length-1)for(A=0;A<4;A++)M.vertices.far[A].copy(this.vertices.far[A]);else for(A=0;A<4;A++)M.vertices.far[A].lerpVectors(this.vertices.near[A],this.vertices.far[A],($[o]-C)/(1-C))}},getBreaks:(Bw=[],$9=[],function($,z,C,o,M){M===Kd?M=[]:M.length&&(M.length=0);var A=z,z=C,C=o,N=$,s=M;Bw.length=0,$9.length=0;for(var g=A,Y=z,v=C,O=$9,t=1;t<g;t++)O.push(Y*Math.pow(v/Y,t/g)/v);O.push(1);for(var c=A,y=z,_=C,P=Bw,Z=1;Z<c;Z++)P.push((y+(_-y)*Z/c)/_);P.push(1);for(var X=1;X<A;X++){var d=Bw[X-1],l=$9[X-1];s.push((1-N)*d+N*l)}return s.push(1),M}),getExtendedBreaks:function($,z){z===Kd&&(z=$);for(var C,o=0,M=0,A=$.length;M<A;M++)C=$[M],z[M]=[o,C],o=C;return z},toSpace:function($,z){for(var C=0;C<4;C++)z.vertices.near[C].copy(this.vertices.near[C]).applyMatrix4($),z.vertices.far[C].copy(this.vertices.far[C]).applyMatrix4($)}}),z(Qd,{getCascadedBreaksByLambda:function($,z,C){return s9.prototype.getBreaks($,z,1,C||1e3)}}),function(Z){var s=this,X=this.renderTargetPool=[],d=[],l=["rect","circle","polygon"],J=!1,K=(s.render=function(){if(!Z._picking){var $=Z._flowObjects;if($.length){var z=Z.getGL();if(z){J=!0;(M=Z._frameState.renderState.glState).blend.enabled=!1,M.depth.enabled=!1,M.cullFace.enabled=!1;var C,o,M=M.color.clear.slice(0);for(O1(z,[0,0,0,1]),C=0,o=$.length;C<o;C++)A=z,s=$[N=C],P=_=y=c=t=O=v=Y=g=void 0,"billboard"!==(P=(_=Z.getData3dUI(s)).s("shape3d"))&&"plane"!==P||((g=X[N])||(g=X[N]=new M4(Z,null,null,{wrapS:10497,wrapT:10497,generateMipmaps:!0})),O=s.s("effect.flow.size"),c=s.s("effect.flow.uvshape"),Y=s.s("effect.flow.infinite"),t=(v=s.getFinalScale3d())[0],(v="billboard"===P?v[1]:v[2])<t?(v=v/t*O,t=O):(t=t/v*O,v=O),t=Math.max(128,Math.round(t)||0),v=Math.max(128,Math.round(v)||0),Z.isWebGL2()||(t=B.nearestPOT(t),v=B.nearestPOT(v)),g.setSize(A,t,v),g.bind(A),O=Z.getViewport(A),Z.setViewport(A,0,0,t,v),A.clear(16640),_=Z.getData3dUI(s),(t=Qw(_,P))&&(!t.ns&&t.length&&(t=t[0]),Ww(t),v=t.vs,(t=s.s("effect.flow.gradient"))?(y="Flow3d.Cached."+t,U.Default.getImageMap()[y]||U.Default.setImage(y,U.Default.toCanvas({width:100,height:100,comps:[{type:"rect",background:"rgb(0,0,0)",gradient:t,rect:[0,0,100,100]}]},100,100))):y=s.s("shape3d.image"),-1===(t=l.indexOf(c))&&0===c.indexOf("polygon")&&(t=jv(+c.substring(7),3,1024)-1),Z._prefabRenderer.render(A,{model3d:!0,mesh:{position:v},mat:{type:"flow",useXZ:"plane"===P,image:Z.getTexture(y,s),blend:s.s("effect.flow.blend")||K,uvMatrix:Y?r1(null,_.s("shape3d.uv.offset")):r1(_.s("shape3d.uv.rotation"),_.s("shape3d.uv.offset"),_.s("shape3d.uv.scale"),_.s("shape3d.uv.anchor")),intensity:s.s("effect.flow.intensity"),shape:t}}),g.unbind(A),(c=s.s("effect.flow.blur"))&&(v=Z.getPostProcessingModule("Blur"))&&v.drawImpl(A,g,c,3<=c,s.s("effect.flow.blur.iterations")),Z.setViewport(A,O[0],O[1],O[2],O[3]),(y=s.getMatrix4()).getInverse(y),_=y.getElements(),"plane"===P?_[1]=_[5]=_[9]=_[13]=0:_[2]=_[6]=_[10]=_[14]=0,Z.regenerateMipmap(A,g.texture),d[N]={matrix:y,group:s.s("effect.flow.group"),infinite:Y}));O1(z,M),X.length!==o&&X.splice(o,X.length-o),J=!1}}}var A,N,s,g,Y,v,O,t,c,y,_,P},s.dispose=function(){Z.getGL()&&(t1(Z,X),X=this.renderTargetPool=[])},s.createFlow=function($,z){var C;if(!J&&(C=X.length)){$=$||Z._frameState.renderState.directUniforms();for(var o=0;o<C;o++)$["flowTexture"+o]=X[o].texture;if(!z){for(var M=[],A=[],N=nA(s,"_flowMatrix",16*C),o=0;o<C;o++)d[o].matrix.toArray(N,16*o),M[o]=!1,A[o]=d[o].infinite;$.flowMatrix=N,$.flowInfinite=A,$.flowEnabled=M}}},s.disableFlow=function($){var z;if(z=X.length){$=$||Z._frameState.renderState.directUniforms();for(var C=[],o=0;o<z;o++)C[o]=!1;$.flowEnabled=C}},s.resetDataFlowEnabld=function($,z){return s.resetFlowUniform($.s("effect.flow.mask"),z)},s.resetFlowUniform=function($,z){var C=X.length,o=new Array(C);if($)for(var M=0;M<C;M++)$&1<<d[M].group&&(o[M]=!0);z.flowEnabled=o},"white")}),Y9=function(X){function z($){X.getPostProcessing().isRenderingScene()&&"main"===$.layer&&!X._picking&&(M="post"===$.phase?X.getPostProcessing().getRenderTarget().grabDepth():null)}function C($,z){$.modelViewMatrix=z}function o($,z){$.modelViewMatrix=z,$.uNormalMatrix=n1(z,Y)}var M,d,l,J,A=this,N=!1,s=1,O=new U.Math.Matrix4,g=[],Y=(A.renderLayerPriority=1e3,A.enable=function($){if(g.indexOf($=$||"default")<0&&g.push($),!N)return X.getGL()&&X.isWebGL2()&&X.addRenderLayerListener(z,A,1e3),N=!0},A.disable=function($){if($){if(0<=g.indexOf($)&&g.splice(g.indexOf($),1),g.length)return}else g.length=0;if(N)return X.isWebGL2()&&(X.removeRenderLayerListener(z,A),M=null),!(N=!1)},A.isEnabled=function(){return N},A.setResolution=function($){s=$},A.getResolution=function(){return s},A.grab=function($){var z,C,o;return!$&&X.isWebGL2()?(z=X.getPostProcessing().getRenderTarget())?M||z.grabDepth():null:($=X.getGL())?(C=Math.round(s*X.getWidth()),o=Math.round(s*X.getHeight()),(z=$._depthGrabberRTT)||(z=$._depthGrabberRTT=new M4(X,C,o,{minFilter:9728,magFilter:9728})),X._setupPVMatrix(),A.renderDepth(z,!1,!1,X._projectMatrix,X._viewMatrix,C,o),z.texture):void 0},[]),K=C,f=(A.grabDepthAndNormal=function(){var $;if(!(o=X.getGL()))return null;var z=Math.round(s*X.getWidth()),C=Math.round(s*X.getHeight()),o=(($=o._depthNormalGrabberRTT)||($=o._depthNormalGrabberRTT=new M4(X,z,C,{minFilter:9728,magFilter:9728,multiple:2})),X._setupPVMatrix(),{renderTarget:$,renderTransparent:!1,multiple:!0,projectMatrix:X._projectMatrix,viewMatrix:X._viewMatrix,width:z,height:C});return A.grabDepthAndNormalWithContext(o)},A.grabDepthAndNormalWithContext=function($){return X.isWebGL2()?(K=o,A.renderDepth($.renderTarget,$.renderTransparent,$.multiple,$.projectMatrix,$.viewMatrix,$.width,$.height,$.filter),K=C,{depth:$.renderTarget.getTexture(0),normal:$.renderTarget.getTexture(1)}):null},A.renderDepth=function($,z,C,o,M,A,N,s){var g,Y,v=X.getGL();v&&((Y=(g=X._frameState).renderState.glState).blend.enabled=!1,Y.depth.enabled=!0,Y.depth.mask=!0,Y=Y.color.clear.slice(0),O1(v,[1,1,1,1]),C=X.acquireProgram({type:C?"depthNormalGrabber":"depthGrabber",defines:Jd.assign({UV_CLIP:!1,GRAB_NORMAL:!!C},X.getBoxClipperDefines())}),g.renderState.useProgram(C),o.isMatrix4&&(o=o.getElements()),M.isMatrix4||(M=O.fromArray(M)),t($,z,o,M,A,N,s),O1(v,Y))},new U.Math.Matrix4),t=function($,z,C,o,M,A,N){var s=X.getGL();$&&($.setSize(s,M,A),$.bind(s)),s.clear(16640);var g=(O=X._frameState.renderState).directUniforms(),Y=O.directAttribs(),v=O.directState(),O=(g.uUseInstance=!1,g.uUseSkinning=!1,S1(Y,Kd),g.boneTexture=Kd,g.projectionMatrix=C,J=X.isReflecting(s),(d=0<X._boxClippers.length)&&(c1(X,g,Xz),y1(X,g)),X._viewport);X.setViewport(s,0,0,M,A);for(var t=X.getRenderLayerKeys(),c=0,y=t.length;c<y;c++){var _,P=t[c];X.getRenderLayerInfo(P).ignore||(P=X._40Q.get(P))&&(P.resetModel3dInstancedDraw(),_=P.batchIndexMap,V(s,g,Y,v,o,N,z,P.opaque,_,!1),z&&V(s,g,Y,v,o,N,z,P.transparent,_,!0),g.uClipLocalTransform=az,Z(s,g,Y,v,o,N,z,P.batchModelMap,_))}$&&$.unbind(s),O&&X.setViewport(s,O[0],O[1],O[2],O[3])},Q=function($,z,C,o,M,A,N,s){C&&C.length&&(A=A&&A.length?A.length/16:0,z.aPosition=a1($,X._buffer.vs,C,fd),z.aNormal=a1($,X._buffer.ns,o,fd),M?(x1($,X._buffer.is,M),V1($,N||0,s===Kd?M.length:s,null,M instanceof Uint32Array?5125:M instanceof Uint8Array?5121:null,A)):W1($,N||0,s===Kd?C.length/3:s,null,A))},W=function($,z,C,o){var M,A,N;if(ed(C))for(A=0,N=C.length;A<N;A++)(M=C[A])&&W($,z,M,o);else Vd(C)?W($,z,Qw(o,C),o):Dv(C)&&(C.shape3d?W($,z,C.shape3d,o):v($,z,C))},v=function($,z,C){Ww(C),Q($,z,C.vs,C.ns,C.is),Q($,z,C.top_vs,C.top_ns,C.top_is),Q($,z,C.bottom_vs,C.bottom_ns,C.bottom_is),Q($,z,C.from_vs,C.from_ns,C.from_is),Q($,z,C.to_vs,C.to_ns,C.to_is)},Z=function($,z,C,o,M,A,N,s){if(!Hv(s)&&!X.isHighlightDrawing()){var g,Y,v,O,t,c=f.identity().premultiply(M),y=(K(z,c.toArray()),z.uClipDirection=0,new U.Math.Matrix4);for(g in s)if(!1!==(Y=X.getBatchInfo(g)||Mv).visible){if(!N)if(v=Y.material){if("string"==typeof v&&(v=Qd.getMaterial(v)),!N&&(!v||v.transparent))continue}else if(Y.transparent)continue;A&&A(null,Y)||J&&!1===Y.reflectable||((v=s[g]).invalidate&&hp(v,X._picking),d&&(z.uModelMatrix=vp,c1(X,z,Y.clipboxMask===Kd?Zz:Y.clipboxMask)),(Y=v.translate)&&(y.set(1,0,0,Y[0],0,1,0,Y[1],0,0,1,Y[2],0,0,0,1),z.uModelMatrix=y.getElements(),K(z,y.premultiply(M).toArray())),(t=(O=v.ms32)&&O.length)&&(z.uUseInstance=!0,S1(C,D1($,X._buffer.ms,O,fd),z)),Q($,C,v.vs32,v.ns32,v.is,O),t&&(z.uUseInstance=!1,S1(C,Kd)),Y&&(z.uModelMatrix=vp,K(z,c.toArray())))}}},V=function(v,O,t,c,y,$,_,z,C,o){for(var P,M,Z,A=z.length,N=0;N<A;N++)if(M=(g=z[N]).ui,P=g.data,X.isVisible(P)&&!($&&$(P)||C[P._id]||J&&!1===P.s("3d.reflectable"))){if(l=d,g=M.s("3d.clip.direction")){if(0===(s=M.s("3d.clip.percentage")))continue;g=M._formatClipUniforms(g,s,P),O.uClipPercent=g[1],O.uClipDirection=g[0],P.s("static")?O.uClipLocalTransform=az:O.uClipLocalTransform=g[2],l=!0}else O.uClipDirection=0;if(d&&c1(X,O,P.s("3d.clipbox")?Xz:P.s("3d.clipbox.mask")),(s=M.shapeModel||Qw(M))&&s.model3d)o||X._prefabRenderer.renderNode(v,s,P,M.mat,!0,function($,z,C,o,M,A){var N,s,g,Y;(_||C&&!C.transparent)&&((o=o&&o.aMatrixInstanced)&&(O.uUseInstance=!0,S1(t,D1(v,X._buffer.ms,o,fd),O,M)),l&&(O.uModelMatrix=$.getElements()),K(O,$.clone().premultiply(y).getElements()),c.cullFace.enabled=!(!C||!C.cullFace),Z=!(!C||!C.flipSide),(Z=P._flipSide?!Z:Z)&&(c.cullFace.frontFace=2304),(M=!!(A.skeleton&&P&&(N=X._updatedSkeletonDatas[A._skeletonId+"|"+P._lastAnimHashKey])&&(s=X.getPrefabBoneTexture(A))))&&($=s.width,v.activeTexture(33984),N1(v,s),v.texImage2D(3553,0,34836,$,$,0,6408,5126,N),N1(v,fd),B1(O,A,s,N),t.skinIndex=a1(v,null,z.skinIndex),t.skinWeight=a1(v,null,z.skinWeight)),A.drawRange&&(g=A.drawRange[0],Y=A.drawRange[1]),Q(v,t,z.vs,z.ns,z.is,o,g,Y),Z&&(c.cullFace.frontFace=2305),o&&(O.uUseInstance=!1,S1(t,Kd)),M&&(O.uUseSkinning=!1,t.skinIndex=Kd,t.skinWeight=Kd))});else{var s=s||(P instanceof U.Node&&!(P instanceof U.Shape)?{vs:$w,is:zw}:[M.left,M.front,M.right,M.back,M.top,M.bottom]),g=M.mat?f.fromArray(M.mat):f.identity(),Y=M._vsTranslation;if(Y&&(Qd.extractShapeTranslation||Qd.extractPolylineTranslation||Qd.extractVerticesTranslation)&&g.multiply(Y),l&&(O.uModelMatrix=g.toArray()),K(O,g.premultiply(y).toArray()),Z=!1,Y=P.s("shape3d.material")){if("string"==typeof Y&&(Y=Qd.getMaterial(Y)),!_&&(!Y||Y.transparent))continue;c.cullFace.enabled=!(!Y||!Y.cullFace),Z=!(!Y||!Y.flipSide),(Z=P._flipSide?!Z:Z)&&(c.cullFace.frontFace=2304)}else c.cullFace.enabled=!!P.s("shape3d.reverse.cull"),P._flipSide&&(Z=!0,c.cullFace.frontFace=2304);W(v,t,s,M),Z&&(c.cullFace.frontFace=2305)}}}},v9=function(l){var J,K,f,Q,W,V,e=this,D=!1,a=-99999,k=[0,0];function x(){D=!1;var z=l.getGL();z&&(J&&J.forEach(function($){z.deleteFramebuffer($)}),K&&K.forEach(function($){z.deleteFramebuffer($)}),f&&z.deleteFramebuffer(f),t1(l,Q)),J=K=f=Q=null,k[0]=0,k[1]=0}function p($){for(var z=0,C=l._prg,o=l.getGL(),M=$.length;z<M;z++)$[z].ui._42(o,C,n)}function b($,z,C){p($),mp(l,z,C,0,!0)}function u($){var z=l.getGL(),z=kd.for(z),C=l._frameState;C.syncEnv(),z.useProgram(l._prg=l._frameState.defaultProgram=$),C.setGLState(!0,!0),C.setUniforms(!0),z.directAttribs().disable(),l.shadowMap.enable&&l.shadowMap.createShadow(),l.rebindOITTexture(),l._envmapRenderer.resetUniformCache(),l.flowMap.createFlow(),l.rebindClipperMaskTexture()}e.enableOIT=function(){},e.disableOIT=function(){x()},e.dispose=function(){x()},e.bindTexture=function($){Q&&(($=$||l._frameState.renderState.directUniforms()).oitDepthSampler=Q[W],$.oitFrontColorSampler=Q[V])},e.render=function($,z,C){var o=l.getOITPassCount();if(!o)return!1;if(!$.length)return!1;if(!function(){var $=l.getGL();if($&&(C=l.getCanvas())){var z=C.width,C=C.height;if(z&&C){if(D&&k[0]===z&&k[1]===C)return 1;x();var o={width:z,height:C,filter:9728,clampToEdge:!0,format:33319,type:5126,data:null},M=Jd.assign({},o,{format:6408,type:5131});J=[$.createFramebuffer(),$.createFramebuffer()],K=[$.createFramebuffer(),$.createFramebuffer()],f=$.createFramebuffer(),Q=[];for(var A=0;A<2;A++){var N=l.createTexture(o),s=l.createTexture(M),g=l.createTexture(M),Y=3*A;Vz($,J[A]),$.activeTexture(33984+Y),$.bindTexture(3553,N),$.framebufferTexture2D(36160,36064,3553,N,0),$.activeTexture(33984+Y+1),$.bindTexture(3553,s),$.framebufferTexture2D(36160,36065,3553,s,0),$.activeTexture(33984+Y+2),$.bindTexture(3553,g),$.framebufferTexture2D(36160,36066,3553,g,0),ez($),Vz($,K[A]),$.framebufferTexture2D(36160,36064,3553,s,0),$.framebufferTexture2D(36160,36065,3553,g,0),ez($),$.activeTexture(33984+Y),N1($,null),$.activeTexture(33984+Y+1),N1($,null),$.activeTexture(33984+Y+2),N1($,null),Q.push(N,s,g)}Vz($,f);var v=l.createTexture(M);return $.activeTexture(33990),$.bindTexture(3553,v),$.framebufferTexture2D(36160,36064,3553,v,0),N1($,null),ez($),Q.push(v),k[0]=z,k[1]=C,D=!0}}}())return!1;var M=[],A=[],N=[],s=($.forEach(function($){var z=$.ui.s("shape3d.oit.ignored");("pre"===z?M:"post"===z?A:N).push($)}),p(M),$=N,l._programDefines.OIT=!0,l._glPrograms.genPhysicalProgramKeyOfScene(l._programDefines),l._prg),g=(u(l.acquireProgram({type:"legacy"})),l.getGL()),Y=kd.for(g).directState(),v=v1(g,!0),O=(O=g.frameStack)&&O.length?O[O.length-1]:null,t=(g.bindFramebuffer(36009,f),Y.color.clear=[0,0,0,0],g.clear(16384),g.bindFramebuffer(36160,J[0]),g.drawBuffers([36064]),Y.color.clear=[a,a,0,0],g.clear(16384),g.bindFramebuffer(36009,J[1]),Y.color.clear=[-0,1,0,0],g.clear(16384),g.bindFramebuffer(36009,K[0]),g.drawBuffers([36064,36065]),Y.color.clear=[0,0,0,0],g.clear(16384),g.bindFramebuffer(36009,K[1]),Y.color.clear=[0,0,0,0],g.clear(16384),l.getPostProcessing().getRenderTarget());if(t&&t.isBinding(g)){var c=t.grabDepth(!0);if(g.bindFramebuffer(36160,J[0]),g.bindRenderbuffer(36161,c),g.framebufferRenderbuffer(36160,36096,36161,c),g.bindRenderbuffer(36161,null),g.bindFramebuffer(36160,null),l.isTransmissionEnabled()){for(var y=!1,_=0,P=$.length;_<P;_++)if($[_].ui.s("shape3d.transmission")){y=!0;break}y&&K1(l,t)}}g.bindFramebuffer(36009,J[0]),g.drawBuffers([36064]),g.blendEquation(32776),W=3,V=4,e.bindTexture(kd.for(g).directUniforms()),b($,z,C);for(var Z,X=0,d=0;d<o;d++)g.bindFramebuffer(36009,J[X=1-(Z=d%2)]),g.drawBuffers([36064]),Y.color.clear=[a,a,0,0],g.clear(16384),g.bindFramebuffer(36009,K[X]),g.drawBuffers([36064,36065]),Y.color.clear=[0,0,0,0],g.clear(16384),g.bindFramebuffer(36009,J[X]),g.drawBuffers([36064,36065,36066]),g.blendEquation(32776),V=1+(W=3*Z),e.bindTexture(kd.for(g).directUniforms()),b($,z,C),g.bindFramebuffer(36009,f),g.drawBuffers([36064]),g.blendEquation(32774),g.blendFuncSeparate(770,771,1,771),l.renderModel({type:"oitBackBlend",transparent:!0,uBackColor:Q[3*X+2]},{clear:!1});g.bindFramebuffer(36160,O),(c=Y.depth.enabled)&&(Y.depth.enabled=!1),g.blendFunc(1,771),l.renderModel({type:"oitFinal",transparent:!0,uFrontColor:Q[3*X+1],uBackColor:Q[6]},{clear:!1}),Y.blend.syncLoss(),Y.blend.apply({equation:32774,func:[770,771,1,771]}),Y.color.clear=v,c&&(Y.depth.enabled=!0),delete l._programDefines.OIT,l._glPrograms.genPhysicalProgramKeyOfScene(l._programDefines),u(s),p(A)}},O9=function($){this.gv=$,this.onMouseOver=this.onMouseOver.bind(this),this.resetProperties()},t9=(O9.Mode={Disable:0,Selection:1,MouseOver:2,Style:3},y3.ms_highlight=function($){$.setHighlightMode=function($){var z="selection"===$||"selected"===$?O9.Mode.Selection:"mouseover"===$||"hover"===$?O9.Mode.MouseOver:"style"===$?O9.Mode.Style:O9.Mode.Disable,C=this.getHighlightMode();this._highlightHelper.mode=z,this.firePropertyChange("highlightMode",C,$)},$.getHighlightMode=function(){var $=this._highlightHelper.mode;return $===O9.Mode.Selection?"selected":$===O9.Mode.MouseOver?"hover":$===O9.Mode.Style?"style":"disabled"},["type","color","width","glow","strength","groups","edgeDetection","ratio"].forEach(function(A){var N=A.replace(/(^|\.)[a-z]/g,function($){return $[$.length-1].toUpperCase()});$["getHighlight"+N]=function(){var $,z=this._highlightHelper;return"type"!==A&&"groups"!==A&&z.groups&&z.groups.length?($=z.groups[0][A])!=fd?$:xd["highlight."+A]:z[A]},$["setHighlight"+N]=function($){var z,C,o=this._highlightHelper,M=o[A];$===M&&"groups"!==A||(o[A]=$,"type"!==A&&"groups"!==A&&o.groups&&o.groups.length?o.groups[0][A]=$:"groups"===A&&(z=$&&$.length&&$[0],o.color=z&&z.color||xd["highlight.color"],(C=z&&z.width)==fd&&(C=xd["highlight.width"]),o.width=C,(C=z&&z.glow)==fd&&(C=xd["highlight.glow"]),o.glow=C,(C=z&&z.strength)==fd&&(C=xd["highlight.strength"]),o.strength=C),this.firePropertyChange("highlight"+N,M,$))}})},V_(O9,Jd,{onMouseOver:function($){Qd.preventDefault($);var z=this.gv;z._48Q||($=z.getDataAt($))!==this.mouseOverData&&(this.mouseOverData=$,z.iv())},getPickColorOfIndex:function(){for(var z=[],$=Math.min(128,Qd.graph3dMaxHighlightGroups),C=0;C<$;C++)z.push([C/$,1,1,1]);return function($){return z[$]}}(),setFetchTargetFunc:function($){this.fetchTargetFunc=$},_42:function($,z){var C,o,M=this,A=M._mode,N=M.gv;if(!$._renderInfo.reflectDepth&&A!==O9.Mode.Disable){if(A===O9.Mode.Selection?C=N.sm().getSelection().toArray(function($){return $.s("highlight.visible")}):A===O9.Mode.MouseOver&&M.mouseOverData&&M.mouseOverData.s("highlight.visible")&&(C=[M.mouseOverData]),M.fetchTargetFunc&&(C=M.fetchTargetFunc(C)),A===O9.Mode.Style)C=C||[],o=function($){if(0<=C.indexOf($))return!1;var z=N.getDataHighlightMode($);return!1===z||!0!==z&&("selected"===z?!N.isSelected($):"hover"!==z||$!==M.mouseOverData)};else{if(!C||!C.length)return;o=function($){if(C.indexOf($)<0)return!0}}var s,g,Y,v,A=N.isRealityPresenting("VR");(O=N._camera)?(O=O.getRenderTargetSize(N),g=O[0],t=O[1]):(g=N.getWidth(),t=N.getHeight(),A&&(v=N.getWidth,g/=2,N.getWidth=function(){return g},s=N.getViewport()));(O=M.ratio)===Kd?O=1:s=s||N.getViewport();var A=O*N.getDevicePixelRatio(),O=Math.floor(g*A),t=Math.floor(t*A),c=((Y=M._renderTarget)?Y.setSize($,O,t):(M._linearFilter=!0,M._renderTarget=Y=new w.RenderTarget(N,$,O,t)),!M.groups||M.groups.length<=1),y=(c!==M._linearFilter&&($.activeTexture(33984),$.bindTexture(3553,Y.texture),$.texParameteri(3553,10241,y=c?9729:9728),$.texParameteri(3553,10240,y),$.bindTexture(3553,null),M._linearFilter=c),"soft"===M.type);Y.bind($),$.clear(16384),N.setViewport($,0,0,O,t),N.drawFilter=function($){return!$.s("static")&&o($)},h1=function($,z,C,o,M,A){return A?m1($,z,C,o,M,A):(z=N.getHighlightPickColor(o.data),kd.for($).directUniforms().uFixPickReverseColor=z)},N.getRenderLists().each(function($){$.beginFillHighlightMaskColor(o)});z=((c=$._blooming)&&($._blooming=!1),N._inHighlightPass=!0,N.renderPickScene(A),N._inHighlightPass=!1,c&&($._blooming=!0),h1=m1,N.drawFilter=null,N.getRenderLists().each(function($){$.endFillHighlightMaskColor()}),Y.unbind($),N._prg),A=(Mt&&b1($,z.aPosition),b1($,z.aNormal),v&&(N.getWidth=v),s&&N.setViewport($,s[0],s[1],s[2],s[3]),N.getHighlightColor());return M._lastHighlightColor!==A&&(c=e_(M._lastHighlightColor=A),M._highlightColorData=[c[0]/255,c[1]/255,c[2]/255,c[3]/255]),y?M.renderSoftOutline($,O,t):M.renderHardOutline($,O,t),kd.for($).useProgram(z=N._prg=N.acquireProgram({type:"legacy",defines:{}})),Mt&&(Y=$,(v=z.aPosition)!=fd&&0<=v&&Y.enableVertexAttribArray(v)),!0}},renderHardOutline:function($,z,C){for(var o,M,A=this.gv._postProcessing,N=(($=kd.for($).directState()).blend.enabled=!0,$.depth.enabled=!1,this.groups),s=(N&&N.length||(N=[{color:this.color,width:this.width}]),this.ratio||1),g=0;g<N.length;g++){var Y,v=N[g];v&&((Y=v.width)==fd&&(Y=M=M||xd["highlight.width"]),A.blitScreen({type:"highlightHard",image:this._renderTarget.texture,textureSize:[z,C],maskColor:this.getPickColorOfIndex(g),edgeWidth:Y*s,edgeColor:v.color||o||(o=xd["highlight.color"])},{clear:!1}))}$.blend.enabled=!1,$.depth.enabled=!0},renderSoftOutline:function($,z,C){var o,M,A,N,s,g,Y,v,O,t=this,c=t.gv,y=t.ratio||1,_=c._postProcessing,P=Math.floor(z/2),Z=Math.floor(C/2),X=Math.floor(z/4),d=Math.floor(C/4),l=t._downSampleRenderTarget,z=(l?(o=t._edgeDetectionRenderTarget,M=t._blurV2,A=t._blurH2,N=t._blurV4,s=t._blurH4,l.width===P&&l.height===Z||(l.setSize($,P,Z),o.setSize($,P,Z),M.setSize($,P,Z),A.setSize($,P,Z),N.setSize($,X,d),s.setSize($,X,d))):(l=t._downSampleRenderTarget=new w.RenderTarget(c,$,P,Z),o=t._edgeDetectionRenderTarget=new w.RenderTarget(c,$,P,Z),M=t._blurV2=new w.RenderTarget(c,$,P,Z),A=t._blurH2=new w.RenderTarget(c,$,P,Z),N=t._blurV4=new w.RenderTarget(c,$,X,d),s=t._blurH4=new w.RenderTarget(c,$,X,d)),v1($,!0)),J=c.getViewport(),K=(C=kd.for($).glState).depth,f=C.blend,C=K.enabled,Q=t.groups;Q&&Q.length||(Q=[{color:t.color,width:t.width,glow:t.glow,strength:t.strength}]),O1($,[1,1,1,1]),K.enabled=!1,f.apply({func:[770,1]}),_.blitScreen(l,{type:"blitScreen",image:t._renderTarget.texture});for(var W=0;W<Q.length;W++){var V,e,D,a,k=Q[W];k&&(V=t.getPickColorOfIndex(W),(e=k.width)==fd&&(e=Y=Y||xd["highlight.width"]),e*=y,a={},"freichen"===(D=(D=t.edgeDetection)==fd?xd["highlight.edgeDetection"]:D)?a.FREI_CHEN_EDGE_DETECTION=!0:"sobel"===D?a.SOBEL_EDGE_DETECTION=!0:"roberts"===D?a.ROBERTS_EDGE_DETECTION=!0:"laplacian"===D?a.LAPLACIAN_EDGE_DETECTION=!0:"morphological"===D&&(a.MORPHOLOGICAL_EDGE_DETECTION=!0),_.blitScreen(o,{type:"highlightEdgeDetection",image:l.texture,texSize:[P,Z],maskColor:V,color:k.color||g||(g=xd["highlight.color"]),defines:a}),_.blitScreen(A,{type:"highlightBlur",image:o.texture,direction:[1,0],texSize:[P,Z],radius:e}),_.blitScreen(M,{type:"highlightBlur",image:A.texture,direction:[0,1],texSize:[P,Z],radius:e}),_.blitScreen(s,{type:"highlightBlur",image:M.texture,direction:[1,0],texSize:[X,d],radius:e}),_.blitScreen(N,{type:"highlightBlur",image:s.texture,direction:[0,1],texSize:[X,d],radius:e}),f.apply({enabled:!0}),c.setViewport($,J[0],J[1],J[2],J[3]),(D=k.strength)==fd&&(D=O=O||xd["highlight.strength"]),(a=k.glow)==fd&&(a=v=v||xd["highlight.glow"]),a*=y,_.blitScreen({type:"highlightFinalBlend",image:t._renderTarget.texture,maskColor:V,edgeTexture1:M.texture,edgeTexture2:N.texture,edgeStrength:D*e,edgeGlow:a},{clear:!1}),f.apply({enabled:!1}))}f.apply({func:[770,771,1,771]}),K.enabled=C,O1($,z)},resetProperties:function(){this.mode=O9.Mode.Style,this.type=xd["highlight.type"],this.color=xd["highlight.color"],this.width=xd["highlight.width"],this.glow=xd["highlight.glow"],this.strength=xd["highlight.strength"],this.edgeDetection=xd["highlight.edgeDetection"]},dispose:function(){var $=this;t1($.gv,$._renderTarget,$._downSampleRenderTarget,$._edgeDetectionRenderTarget,$._blurV2,$._blurH2,$._blurV4,$._blurH4),$._renderTarget=null,$._downSampleRenderTarget=null,$._edgeDetectionRenderTarget=null,$._blurV2=null,$._blurH2=null,$._blurV4=null,$._blurH4=null}}),Jd.defineProperties(O9.prototype,{mode:{get:function(){return this._mode},set:function($){var z=this._mode;$!==z&&(this._mode=$,z=z===O9.Mode.MouseOver||z===O9.Mode.Style,($=$===O9.Mode.MouseOver||$===O9.Mode.Style)&&z||(z&&Id(this.gv.getView(),"mousemove",this.onMouseOver),$&&Rd(this.gv.getView(),"mousemove",this.onMouseOver)))}}}),w.PrefabRenderer=function($){this.gv=$});t9.prototype={},t9.prototype.constructor=t9,Y3("model"),Y3("mesh"),Y3("material"),Y3("shader"),Y3("shaderChunk",{loadingParam:{sync:!0}});var c9,y9,_9,P9,Z9,X9,d9="",l9={},J9=new ad,K9=new ad,f9=new ad,Q9=[];function W9(){return Q9.length?Q9.pop():new ad}function V9($){Q9.push($)}var e9=new ad;function D9($,z){return $!=fd?$:z.value}function a9($,z,C,o,M){var A;if((A=(A=M?M[d9+z]:A)===Kd?$[z]:A)&&A.func){if(o instanceof NV){if(z=A.func,NK.test(z))return D9(o.a(d9+z.slice(5)),A);if(AK.test(z))return D9(o.s(d9+z.slice(6)),A)}A=E(A,o,C)}return A}function k9($,z){if($)return($=$.s("matDef"))&&($[d9+z]||$[z])}function x9($){var z=Qd.getShape3dModel($);return z||"string"!=typeof $?z:Qd.getModelMap()[$]}var p9=[0,0,0];function b9($,z,C,o){o=o||W9();if(M=$.composedMatrix)return o.copy(M),o;var M=!1,A=(z&&(N=$.name)&&(A=z._skeletonBinding)&&(A=A[N])&&(M=!0,(N=A.position)!==Kd&&(s=N),(N=A.quaternion)!==Kd?Y=N:(N=A.euler)!==Kd&&(Y=B.eulerArrayToQuaternionArray(N,p9)),(N=A.scale)!==Kd&&(g=N)),$.transformData);if(M&&A)return w1(o,A,s,Y,g);var N=P9&&Qd.getDataModel3dBindings(z),s=s||a9($,"position",C,z,N),g=g||a9($,"scale",C,z,N),Y=(Y=Y||a9($,"quaternion",C,z,N))||(Y=a9($,"euler",C,z,N))&&B.eulerArrayToQuaternionArray(Y,p9);return o.composeFromArray(s,Y,g),o}function u9($,z){return _9=$,y9=z instanceof hK?(c9=z,null):(c9=null,z),[_9,c9,y9]}function n9($){_9=$[0],c9=$[1],y9=$[2]}var R9={aPosition:"vs",aUv:"uv",aUv2:"uv2",aNormal:"ns"},I9={type:"fixColor",color:"gray"},h9={type:"fixColor",color:"black"},m9={5125:1,5126:1,35664:2,35665:3,35666:4,35674:4,35675:9,35676:16},S9={triangles:4,triangleStrip:5,triangleFan:6,lines:1,lineLoop:2,lineStrip:3,points:tz.POINTS},G9=(new ad).toArray();function E9($,z){return[$[0]*z,$[1]*z,$[2]*z]}function H9($,z,C){return(z=z[$])!==Kd?z:C?C[$]:null}var i9={groundColor:[0,0,0]};function F9($){var z=((z=$.s("light.intensity"))==fd?1:z)*Math.PI;return[($=Yx($.s(Pz)))[0]*z,$[1]*z,$[2]*z]}function j9($,z,C,o){if(o!==$._lastHeadlightAmbientIntensity&&($.hemisphereLight.skyColor=E9(i9.color,1-o),$.ambientLightColor=E9(i9.color,o),$._lastHeadlightAmbientIntensity=o),C!==$._lastLightMask&&($._lastLightMask=C,o=z._lastLightUploadInfo)){for(var M,A=o.g,N=A.length,s=new Array(N),g=0;g<N;g++)M=A[g],s[g]=!(M<0||32<=M||!(C&1<<M));$.hemisphereLight.enabled=s[0];var o=z._59O,Y=z._spots,v=z._dirs,z=z._87I,O=1;if(N=o.length)for(g=0;g<N;g++)$.pointLights[g].enabled=s[O++];if(N=Y.length)for(g=0;g<N;g++)$.spotLights[g].enabled=s[O++];if(N=v.length)for(g=0;g<N;g++)$.directionalLights[g].enabled=s[O++];if(N=z.length)for(g=0;g<N;g++)$.rectAreaLights[g].enabled=s[O++]}}function U9($,z,C){var o=$.instances;if(!o)return!1;if(gt){var M,A=!1;for(M in o){var N=o[M];if(N&&N.length){A=!0;break}}if(!A)return!1}return X9=o,J9.fromArray(z||C.getElements()),K9.getInverse(J9),!0}var L9,w9,q9,T9,r9,B9,$Z,zZ,CZ,oZ,MZ,AZ,NZ,sZ,gZ,YZ,vZ,OZ,tZ,cZ,yZ,_Z,PZ,ZZ,XZ,dZ,lZ,JZ,KZ,fZ,QZ,WZ,VZ,eZ,DZ,aZ,kZ,xZ,pZ,bZ,uZ,nZ,RZ,IZ,hZ,mZ,SZ,GZ,EZ,HZ,iZ,FZ,jZ,UZ,LZ,wZ,qZ,TZ,rZ,BZ,$i,zi,Ci,oi,Mi,Ai,Ni,si,gi,Yi,vi,Oi,ti,ci,yi,_i,Pi,Zi,Xi,di,li,Ji,Ki,fi,Qi,Wi,Vi,ei,Di,ai,ki,xi,pi,bi,ui,ni,Ri,Ii,hi,mi,Si,Gi=new Float32Array(16),Ei={},Hi=(Qd.getInternal().prefabRenderMethodNames.forEach(function($){var z=$+"Render",C=(Y3(z),"get"+z.charAt(0).toUpperCase()+z.slice(1));Ei[$]=function($){return!($=$[z])||av($)?$:Qd[C]($)}}),t9.prototype.render=function(R,$,z,I){(P9=$.prefix)&&(d9=(C=d9)+P9+".");var C,N=this.gv,h=P9&&Qd.getDataModel3dBindings(z);if(!1===a9($,"visible",N,z,h))C!==Kd&&(d9=C);else{var m=W9().copy(e9),S=(I&&e9.fromArray(I),Ei.early($));if(S&&!1===S(N,z,$,R,e9))return C!==Kd&&(d9=C),V9(e9),void(e9=m);var G,E,H=u9(R,z);if(G=$.matDef)for(var o in G){var i=l9[o];i&&((E=E||{})[o]=i),l9[o]=G[o]}var M,F,A,s,j,U=b9($,c9,N),L=(e9.multiply(U),V9(U),!1),w=!1,q=!1;do{var T=U9($,I,m);if(g=$.model){(g=x9(g))&&this.render(_9,g,z);break}var r=$.mesh;if(!r)break;var g=N._picking,Y=!1,v=null,B=!1,O=a9($,"mat",N,z,h);if(O){if(O instanceof Array){var t=$.subMeshes;if(t){for(var $d=t._drawRangeGroupByMat||function($){for(var z=[],C=0;C<$.length;C++){var o,M=$[C].materialIndex;(o=z[M])||(z[M]=o=[]),o.push($[C].start,$[C].count)}return $._drawRangeGroupByMat=z}(t),c=0;c<$d.length;c++)$d[c]&&this.render(_9,{mesh:r,_skeletonId:$._skeletonId,skeleton:$.skeleton,mat:O[c],instances:$.instances,drawRange:$d[c],originalPrefab:$},z);break}}if("string"==typeof O){if(t=k9(c9,O)||l9[O]){if(Vd(t)&&!(t=Qd.getMaterial(t)))break}else if(!(t=Qd.getMaterial(O)))break;O=t}}else O=I9;var zd=!0===O.transparent;if(!!N._45Q!=zd)break;var y,_,P=jw(O),Cd=(Z9=F4[P||O.type],!!($.skeleton&&c9&&(y=N._updatedSkeletonDatas[$._skeletonId+"|"+c9._lastAnimHashKey])));if(Cd&&(N.getPrefabBoneTexture($)?(_=(sd=N.getPrefabBoneTexture($)).width,_9.activeTexture(33984),N1(_9,sd),_9.texImage2D(3553,0,34836,_,_,0,6408,5126,y),N1(_9,fd)):(_=Math.round(Math.sqrt(y.length/4)),N.setPrefabBoneTexture($,N.createTexture({data:y,width:_,height:_,type:5126,filter:9728,clampToEdge:!0})))),!g||O.renderPickMap){var od,Z=kd.for(_9),X=P||O.type||"fixColor";if(!(Q=z9(X))||Q.isRaw){if(!Q){if(!o9(X))break;od=!0,P||(P=jw(O))&&(Z9=F4[X=P])}Lw(P)||(Q=N,j=od,p={type:e=X,internalDefines:V=!(p=V=void 0)===(K=O).internalDefines||Uw(e)},(K=K.defines)&&(p.defines=K),V||Q._oitEnabled&&Q._programDefines&&Q._programDefines.OIT&&(p.defines=Jd.assign({},p.defines,{OIT:!0})),V||p.defines||(p.cacheKey=e),d=Q.acquireProgram(p,j))}if(!d){var Md=c9?c9.s("3d.clip.direction"):0;switch(c9&&_9._blooming&&!c9.s("bloom")&&(X="fixColor",h9.cullFace=O.cullFace,h9.flipSide=O.flipSide,O=h9),X){case"fixColor":d=N.acquireProgram({type:"fixColor",defines:{CLIP_DIRECTION:!!Md,USE_INSTANCING:!(!$.instances&&!X9)}});break;case"unlit":d=N.acquireProgram({type:"unlit",defines:Jd.assign({CLIP_DIRECTION:!!Md,USE_INSTANCING:!(!$.instances&&!X9)},O.defines),potentialType:P?O.type:Kd,cacheKey:N._sceneProgramDefinesMask+(P?O.type:"")+(O.defines?N._glPrograms.generateDefines(O.defines):"")});break;case"pbr":case"phong":var Ad,Nd,sd,gd=1,Yd=((c9||y9)&&-1!==(Ad=c9?c9.s("envmap.probe"):y9.envmapProbe||0)&&(Nd=!0,(gd=c9?c9.s("envmap"):y9.envmap||0)&&(gd*=(vd=1,(s=N._envmapRenderer._envmapIntensity[Ad])===Kd?vd:s),v=Ad)),Nd||!(v=O.envmap||O.envMap)||(sd=N.getTexture(v))&&sd!==_9._emptyTexture||(v=null),N.isTransmissionEnabled(O)),vd=N._glPrograms.genPhysicalProgramKeyOfMat(O,{clipDirection:Md,isTransparent:zd,enableTransmission:Yd,useInstancing:!(!$.instances&&!X9),useDisplacement:!!O.displacementMap&&N._glCapabilities.vertexTextures,aoMapUvChannel:H9("aoUvChannel",O,Z9)||1,uvChannelUsed:(s=void 0,(s=(Ad=O).uvChannelUsed)||((s=Jz[Ad.type])?s.uvChannelUsed:0)),useUvClip:!(!N._uvClipEnabled||"uv.left"!=Md&&"uv.right"!=Md),skeleton:Cd,alphaChannel:H9("alphaChannel",O,Z9),aoChannel:H9("aoChannel",O,Z9),roughnessChannel:H9("roughnessChannel",O,Z9),metalnessChannel:H9("metalnessChannel",O,Z9),toneMapping:N.getToneMapping(),rectsNum:N._87I.length,envMapCombine:H9("envMapCombine",O,Z9),useTangent:O.normalMap&&r.tangent,envmap:v}),d=N.acquireProgram({type:X,materialDefines:O.defines,potentialType:P?O.type:Kd,cacheKey:N._sceneProgramDefinesMask+vd.toString()+(O.extraCacheKey||"")+(P?O.type:"")+(O.defines?N._glPrograms.generateDefines(O.defines):""),cacheKeyOfMat:vd,extensions:Yd?{GL_EXT_shader_texture_lod:!0}:null});break;case"litePhong":d=N.acquireProgram({type:"litePhong",defines:O.defines,potentialType:P?O.type:Kd,cacheKey:N._sceneProgramDefinesMask+(P?O.type:"")+(O.defines?N._glPrograms.generateDefines(O.defines):"")});break;default:d=N.acquireProgram(O)}}if(!d)break;q=!0,Z.useProgram(d);var Od,l=Z.directUniforms(),J=Z.directState(),K=!!O.flipSide;if(c9&&(2===(Od=c9._forceSingleFace)&&(K=!K),c9._flipSideInheirt&&(K=!K)),e9.determinant()<0&&(K=!K),X9&&ad.determinantOfArray(X9.aMatrixInstanced)<0&&(K=!K),J.cullFace.enabled=!(!Od&&!O.cullFace),J.cullFace.frontFace=K?2304:2305,(B=(Y=d&&Uw(d.name))&&!P&&N._glUbos.supportsUbo)?N._glUbos.updateAndBind("scene",d):(l.uProjectMatrix=N._projectMatrix,l.uViewMatrix=N._viewMatrix,l.uCameraPosition=N._camera?N._camera.p3():N.getEye(),l.uTime=N.__uptime),d._dirty){if(d._dirty=Kd,Y){var f,Q=_d=k=f=a=D=e=V=W=void 0,W=N,V=l,e=(e=W._headlightDirection)&&3===e.length?e:"shadow"===e?W.shadowMap.getDirection():u_(W.getCenter(),W.getEye()),Q=W._lastLightUploadInfo.headlightColor;if(i9.color=E9(Q,Math.PI*W._headlightRatioForPhysicalMaterial),V.hemisphereLight.direction=Dd.normalizeArray(W._transformDirectionToViewSpace(e)),V.hemisphereLight.groundColor=i9.groundColor,V._lastLightMask=Kd,V._lastHeadlightAmbientIntensity=Kd,W.lightProbe&&(V.lightProbe=W.lightProbe),(f=W._59O)&&f.length){for(D=0,a=f.length,k=[];D<a;D++)k.push({position:W._transformPointToViewSpace(f[D].p3()),color:F9(f[D]),distance:f[D].s("light.range"),decay:1,enable:!1});V.pointLights=k}if((f=W._spots)&&f.length){for(D=0,a=f.length,k=[];D<a;D++){var td=f[D].s("light.angle");k.push({position:W._transformPointToViewSpace(f[D].p3()),color:F9(f[D]),direction:f[D].s("light.rotation.enable")?W._transformDirectionToViewSpace(Rz([0,0,1],f[D])):W._transformDirectionToViewSpace(f[D].s("light.center"),f[D].p3()),decay:1,enable:!1,distance:f[D].s("light.range"),coneCos:Wd(td/2),penumbraCos:Wd(td/2*(1-f[D].s("light.exponent")))})}V.spotLights=k}if((f=W._dirs)&&f.length){for(D=0,a=f.length,k=[];D<a;D++)k.push({direction:f[D].s("light.rotation.enable")?W._transformDirectionToViewSpace(Rz([0,0,1],f[D])):W._transformDirectionToViewSpace(null,f[D].p3()),color:F9(f[D]),enable:!1});V.directionalLights=k}if((f=W._87I)&&f.length){for(var cd,yd,_d=new Dd,D=0,a=f.length,k=[];D<a;D++)iA.fromArray(L_(f[D])),iA.premultiply(FA.fromArray(W._viewMatrix)),FA.identity().extractRotation(iA),cd=_d.set(.5*-f[D].s("light.size")[0],0,0).applyMatrix4(FA).toArray(),yd=_d.set(0,.5*f[D].s("light.size")[1],0).applyMatrix4(FA).toArray(),k.push({position:W._transformPointToViewSpace(f[D].p3()),color:F9(f[D]),halfWidth:cd,halfHeight:yd,enable:!1,disableSpecular:f[D].s("light.specular.disable")});V.rectAreaLights=k,Qd.LTC_FLOAT_1&&((Q=W.getGL())._LTC_1||(Q._LTC_1=W.createTexture(Qd.LTC_FLOAT_1)),Q._LTC_2||(Q._LTC_2=W.createTexture(Qd.LTC_FLOAT_2)),V.ltc_1=Q._LTC_1,V.ltc_2=Q._LTC_2)}}else"litePhong"===X&&Iz(N,l);y1(N,l),B||(N._fogDisabled||(l.uFogColor=N._fogColor,l.uFogDensity=N._fogDensity,l.uFogNear=N._fogNear,l.uFogFar=N._fogFar),l.toneMappingExposure=N.getToneMappingExposure()),N.shadowMap.enable&&N.shadowMap.createShadow(l)}else N.shadowMap.enable&&N.shadowMap.createShadow(l,!0);N.rebindOITTexture(l),N.flowMap.createFlow(l),N.rebindClipperMaskTexture(l),N._87I.length&&Qd.LTC_FLOAT_1&&(l.ltc_1=_9._LTC_1,l.ltc_2=_9._LTC_2),Y&&Yd&&_9._transmissionRTT&&(l.transmissionSamplerMap=_9._transmissionRTT.texture,l.transmissionSamplerSize=_9._transmissionRTT.getSize()),O.uUvMatrix=r1(O.uvRotation,O.uvOffset,O.uvScale,O.uvAnchor)}var x,p=X9,b=function($,z,N){var C=m4(z);if(!C)return 0;if(Ww(C)||!C._4HQ)for(var o in C._4HQ=!0,C)"is"!==o&&ed(C[o])&&(C[o]=new p_(C[o]));if(N&&!N._complete_)for(var o in N._complete_=!0,N)ed(N[o])&&(N[o]=new p_(N[o]));(z=kd.for(_9).directAttribs()).disable();var s,M=C.index||C.is,g=!M,Y=0;return z.apply(C,function($,z,C){var o,M=R9[z];if(N&&(o=M&&N[M]||N[z])!==Kd){if(!o.length)return null;var A=m9[C.desc.activeInfo.type];return Y=Y||o.length/A,D1(_9,null,o,null,A)}return(o=M&&$[M]||$[z])!=Kd&&o.length?(g&&(g=!1,s=o.length/m9[C.desc.activeInfo.type]),a1(_9,null,o)):null}),!z.aMatrixInstanced||N&&N.aMatrixInstanced||(z.aMatrixInstanced=G9),M?(x1(_9,$._buffer.is,M),{length:M.length,instances:Y,indexType:M instanceof Uint32Array?5125:M instanceof Uint8Array?5121:null,is:!0}):s||C.vs?{length:s||C.vs.length/3,instances:Y,is:!1}:0}(N,r,p);if(!b)break;b.instances&&(l=l||kd.for(_9).directUniforms(),p.aBatchColor&&(l.uBatchColor=!0),l.uUseInstance=!0,l.uRightMatrixInstanced=X9?f9.multiplyMatrices(K9,e9).getElements():h_,w=!0),L=!0,R1(N,(X9?J9:e9).getElements()),!g||O.renderPickMap?(l=l||Z.directUniforms(),c9?J1(_9,N,c9,Y):y9&&(j=_9,Q=N,M=y9,F=Y,x=A=void 0,A=kd.for(j).directUniforms(),x=M.alphaTest,A.uAlphaTest=x===Kd?xd.alphaTest:x,x=Q._picking,A.shadowReceive=!x&&!1!==M.shadowReceive,c1(Q,A,M.clipboxMask===Kd?Zz:M.clipboxMask),A.blackout=!(!j._blooming||M.bloom),x||(Q._flowObjects.length&&Q.flowMap.resetFlowUniform(M.effectFlowMask===Kd?Zz:M.effectFlowMask,A),F||(M.envmap!==Kd?(A.uUseEnvMap=!0,A.roughness=M.roughness||0,Q._setEnvmapByProbeId(A,M.envmapProbe||0,M.envmap)):(A.uUseEnvMap=!1,A.envMapIntensity=0),hz(Q,A,M.lightMask===Kd?Zz:M.lightMask,M.headlightAmbientIntensity)),A.uFog=!0)),Y&&(c9?j9(l,N,c9._currentFaceLightMask!=fd?c9._currentFaceLightMask:c9.s("shape3d.light")?c9.s("light.mask"):0,c9.s("headlight.ambientIntensity")||N._headlightAmbientIntensity):y9?j9(l,N,y9.light==fd?y9.lightMask===Kd?Zz:y9.lightMask:0,y9.headlightAmbientIntensity||N._headlightAmbientIntensity):j9(l,N,0,0),v!=fd&&(Nd?(x=N._envmapRenderer._envmaps[v],l.envmap=x?x.texture:_9._emptyTexture):l.envmap=N._envmapRenderer.assureEnvmapFromEquirectangular(v),l.envMapIntensity=gd*H9("envMapIntensity",O,Z9)),Cd&&B1(l,$,N.getPrefabBoneTexture($),y)),N.resetSharedTextureIndex(),F=c9,M=r,A=void 0,(A=H9("completeHandler",Zd=O,n=Z9))&&A.call(Zd,F,n,M),Y&&!P?(l.transparent=(O.transparent===Kd?Z9:O).transparent,l.cullFace=(O.cullFace===Kd?Z9:O).cullFace,function($,z,C,o,M,A){var N,s,g,Y,v,O,t,c,y,_,P,Z=jw(A)||A.type,X=j4[Z];if(C){if(!(P=(_=$._glUbos).attachUbo(Z,A,$._renderId))){for(s=0,g=X.length;s<g&&-1!==(Y=X[s]);s+=2)O=A[Y],v=X[s+1],O&&(O instanceof WebGLTexture||(O=$.textureAccessesByMaterial(O,o)),M[Y]=O),s+=2*v;return _.updateAndBind(Z,z)}}else P=M;for(N=!0,s=0,g=X.length;s<g;s+=2)if(-1===(Y=X[s]))N=!1,s--;else{if(v=0,t=!1,-2===Y?(v=(g-s-1)/2,s--,t=!0):(O=A[Y],v=X[s+1],O&&(!N||O instanceof WebGLTexture||(O=$.getTexture(O,o)),N?M[Y]=O:P[Y]=O,t=!0)),t)for(y=(c=s+2)+2*v;c<y;c+=2)(O=A[Y=X[c]])===Kd&&(O=X[c+1]),P[Y]=O;s+=2*v}P.uUvMatrix=A.uUvMatrix;var d=A.uUv2Matrix;d&&(P.uUv2Matrix=d),C&&_.updateAndBind(Z,z)}(N,d,B,c9,l,O)):l.apply(O,function($,z,C){if("envmap"!==z&&"envMapIntensity"!==z){if((M=(M=$[z])===Kd&&Z9?Z9[z]:M)&&(35678===C||35680===C||36306===C)&&!(M instanceof WebGLTexture))if(ed(M))for(var o=M,$=o.length,M=new Array($),A=0;A<o.length;A++)M[A]=N.textureAccessesByMaterial(o[A],c9);else M=N.textureAccessesByMaterial(M,c9);return M}})):Cd&&(l=l||kd.for(_9).directUniforms(),B1(l,$,N.getPrefabBoneTexture($),y));var Pd,u,n,Zd=O.glState,Xd=(Zd&&(Pd={},(J=J||kd.for(_9).directState()).apply(Zd,Pd)),S9[O.renderMode]);if(c9&&N.emitPreRenderData(c9,_9,$),u=$.drawRange)for(var c=0,dd=u.length;c<dd;c+=2)b.is?V1(_9,u[c],u[c+1],Xd,b.indexType,b.instances):W1(_9,u[c],u[c+1],Xd,b.instances);else b.is?V1(_9,0,b.length,Xd,b.indexType,b.instances):W1(_9,0,b.length,Xd,b.instances)}while(c9&&N.emitPostRenderData(c9,_9,$),Zd&&J.apply(Pd),Cd&&(l.uUseSkinning=!1),g&&((n=kd.for(_9).directAttribs()).aNormal=!1,n.aUv=!1,n.skinIndex=!1,n.skinWeight=!1),0);L&&u1(N),w&&(l.uUseInstance=!1,l.uBatchColor=!1),q&&N._prg&&(Z.useProgram(N._prg),Z.directAttribs().disable(),J.cullFace.frontFace=2305,N.shadowMap.enable&&N.shadowMap.createShadow(null,!0),N.rebindOITTexture(),N._envmapRenderer.resetUniformCache(),N.flowMap.createFlow(null,!0),N.rebindClipperMaskTexture());var ld=$.comps;if(ld&&ld.length)for(c=0,dd=ld.length;c<dd;c++)this.render(_9,ld[c],c9);if(V9(e9),e9=m,T&&(X9=null),G=$.matDef)for(var o in G)l9[o]=E&&E[o]||Kd;C!==Kd&&(d9=C),n9(H),(S=Ei.post($))&&S(N,z,$,R,e9)}},t9.prototype.renderLod=function($,z,C,o,M,A){var N=this.gv,s=z.lod;if(C&&C.s("static")&&(z=(z=N.getRenderLists().get(C.getRenderLayer()).getModel3dInstancedBatchMap())&&z[N.getStaticInstancingKey(C)])&&z.length){if(!z.rendered||z.rendered===C._id){var g,Y,v=s.group.length,O=function($,z,C,o){var M,A=o?(M=C.cacheShadow,C.shadowVersion):(M=C.cache,C.msVersion);if(M.lodVersion===C.lodVersion&&M.version===A&&M.id===z._id)return M.buffer;for(var N,s,g,Y,v=C.lod,O=C.lodSum,t=C.ms,c=o?C.shadow:null,y=[],_=new Uint16Array($),P=0;P<$;P++)_[P]=0,O[P]?(Y=16*O[P],M.buffer&&M.buffer[P]&&M.buffer[P].length===Y?delete(s=M.buffer[P])._bufId:s=new p_(Y),y.push(s)):y.push(null);for(length=16*C.length,g=N=0;N<length;N+=16,g+=1)if(s=y[P=v[g]]){if(c&&!c[N>>4])s.set(Gi,_[P]);else for(var Z=0;Z<16;Z++)s[_[P]+Z]=t[N+Z];_[P]=_[P]+16}return M.version=o?C.shadowVersion:C.msVersion,M.lodVersion=C.lodVersion,M.id=z._id,M.buffer=y}(v,C,z,M);if(!M&&$._picking){if(z._highlightInvalid)return;Y=function($,z){if((A=z.cachePick).lodVersion===z.lodVersion&&A.version===z.csVersion)return A.buffer;for(var C,o=z.lod,M=z.lodSum,A=z.cachePick,N=[],s=new Uint16Array($),g=0;g<$;g++)s[g]=0,M[g]?(C=4*M[g],A.buffer&&A.buffer[g]&&A.buffer[g].length===C?delete(O=A.buffer[g])._bufId:O=new p_(C),N.push(O)):N.push(null);for(var Y=0,v=0,O=A.buffer,t=z.cs,c=4*z.length;v<c;v+=4,Y++)(O=N[g=o[Y]])&&(O[s[g]]=t[v],O[s[g]+1]=t[v+1],O[s[g]+2]=t[v+2],O[s[g]+3]=t[v+3],s[g]=s[g]+4);return A.lodVersion=z.lodVersion,A.version=z.csVersion,A.buffer=N,A.buffer}(v,z)}for(var t=z.msTranslation,c=0;c<v;c++)O[c]&&0!==O[c].length&&(y=s.group[c])&&(g=Vd(y)?(y={model3d:!0,model:y},Kd):y.instances,y.instances={aMatrixInstanced:O[c]},Y&&(y.instances.aBatchColor=Y[c]),M?this.renderDepth($,y,C,t,A):this.render($,y,C,t),g?y.instances=g:delete y.instances);z.rendered=C._id}}else{var y,z=N.getData3dUI(C);(y=s.group[z._lodId])&&(Vd(y)&&(y={model:y}),this.renderNode($,y,C,o,M,A))}},t9.prototype.renderDepth=function($,z,C,o,M){(P9=z.prefix)&&(d9=(A=d9)+P9+".");var A,N=this.gv,s=P9&&Qd.getDataModel3dBindings(C);if(!1===a9(z,"visible",N,C,s))A!==Kd&&(d9=A);else{var g,Y,$=u9($,C),v=W9().copy(e9);if(o&&e9.fromArray(o),g=z.matDef)for(var O in g){var t=l9[O];t&&((Y=Y||{})[O]=t),l9[O]=g[O]}var c,y=b9(z,c9,N);e9.multiply(y),V9(y);do{var _=U9(z,o,v),P=z.model;if(P){(P=x9(P))&&this.renderDepth(_9,P,C,null,M);break}if(!(P=m4(z.mesh)))break;Ww(P);var Z,X=a9(z,"mat",N,C,s);if(X){if("string"==typeof X){var d=k9(c9,X)||l9[X];if(d){if(Vd(d)&&!(d=Qd.getMaterial(d)))break}else if(!(d=Qd.getMaterial(X)))break;X=d}}else X=I9}while(d=e9,(c=X9)&&(Z=f9.multiplyMatrices(K9,e9).getElements(),d=J9),M(d,P,X,c,Z,z),0);var l=z.comps;if(l&&l.length)for(var J=0,K=l.length;J<K;J++)this.renderDepth(_9,l[J],c9,null,M);if(V9(e9),e9=v,_&&(X9=null),g=z.matDef)for(var O in g)l9[O]=Y&&Y[O]||Kd;A!==Kd&&(d9=A),n9($)}},t9.prototype.renderNode=function($,z,C,o,M,A){if(z.lod)this.renderLod($,z,C,o,M,A);else{var N,s;if(C&&C.s("static")){var g=this.gv.getRenderLists().get(C.getRenderLayer()).getModel3dInstancedBatchMap();if((g=g&&g[this.gv.getStaticInstancingKey(C)])&&g.length){if(g.rendered&&g.rendered!==C._id)return;if(N={aMatrixInstanced:function($,z,C){var o=C?z.cacheShadow:z.cache;if(o.length===z.length&&o.version===(C?z.shadowVersion:z.msVersion)&&o.id===$._id)return o.buffer;var M,A=z.ms,N=C?z.shadow:null,s=16*z.length;o.buffer&&o.buffer.length===s?delete(M=o.buffer)._bufId:M=new p_(s);for(var g=0,Y=s;g<Y;g+=16)if(N&&!N[g>>4])M.set(Gi,g);else for(var v=0;v<16;v++)M[g+v]=A[g+v];return o.length=z.length,o.version=C?z.shadowVersion:z.msVersion,o.id=$._id,o.buffer=M}(C,g,M)},!M&&$._picking){if(g._highlightInvalid)return;N.aBatchColor=function($){var z=$.cachePick;if(z.length!==$.length||z.version!==$.csVersion){z.buffer=new p_(4*$.length);for(var C=0,o=z.buffer,M=$.cs,A=4*$.length;C<A;C+=4)o[C]=M[C],o[C+1]=M[C+1],o[C+2]=M[C+2],o[C+3]=M[C+3];z.length=$.length,z.version=$.csVersion}return z.buffer}(g)}g.rendered=C._id}}g=N?(s=z.instances,z.instances=N,g.msTranslation):o,M?this.renderDepth($,z,C,g,A):this.render($,z,C,g),N&&(s===Kd?delete z.instances:z.instances=s)}},t9.prototype.calcMatrix=b9,U.Light=function(){Ev(Hi,this),this.s(Pz,xd[Pz]),this.s(Ff,"sphere"),this.s("shape3d.reverse.cull",!0),this.s3(20,20,20)}),ii=(D_("Light",NV,{_image:"light_icon",_icon:"light_icon",onStyleChanged:function($,z,C){Hi.superClass.onStyleChanged.apply(this,arguments),$===Pz&&this.s("shape3d.color",C)}}),w.FrameState=function($,z){this.renderState=kd.for(z),this.picking=!1,this.envmapReflectivity=.5,this.cameraPosition=Kd,this.projectMatrix=Kd,this.viewMatrix=Kd,this.view=$,this.defaultProgram=Kd,this.pickColorMap=Kd,this._pvStack=[],this._renderStateStack=[]}),Fi=(ii.prototype.savePV=function(){var $=this.view;this._pvStack.push([m_(this.projectMatrix),m_(this.viewMatrix),$._18Q,m_($._7O)])},ii.prototype.restorePV=function(){var $,z=this._pvStack.pop();z&&($=this.view,this.projectMatrix=$._projectMatrix=z[0],this.viewMatrix=$._viewMatrix=z[1],$._18Q=z[2],$._7O=z[3])},ii.prototype.setPV=function($,z){var C,o=this.view,M=!1;$&&(this.projectMatrix=o._projectMatrix=$,M=!0),z&&(this.viewMatrix=o._viewMatrix=z,o._7O=m_(z),M=!0),M&&($=o.getWidth(),M=o.getHeight(),C=m_(this.projectMatrix),o._18Q=Uz(C,C,z),o._18Q._wh=$/M)},ii.prototype.syncEnv=function($){var z=this.view;this.envmapReflectivity=z._envmapReflectivity||.5,this.cameraPosition=z.getEye(),this.projectMatrix=z._projectMatrix,this.viewMatrix=z._viewMatrix,this.pickColorMap=$,this.picking=z.getGL()._picking},ii.prototype.setGLState=(L9=[0,0,0,0],w9=[!0,!0,!0,!0],q9=[0,1],T9=[32774,32774],r9=[770,771,1,771],function($,z){this.renderState.gl;var C=this.renderState.glState;C.dither=!1,z?C.color.mask=w9:C.color.reset(),C.pixelStore.reset(),C.blend.color=L9,C.blend.equation=T9,C.blend.func=r9,C.cullFace.enabled=!1,C.cullFace.mode=1029,C.scissor.enabled=!1,C.depth.enabled=!0,C.depth.clear=1,C.depth.func=515,C.depth.range=q9,C.stencil.enabled=!1,C.polygonOffset.enabled=!1,$?(C.depth.mask=!1,C.blend.enabled=!0):(C.depth.mask=!0,C.blend.enabled=!1)}),ii.prototype.setUniforms=function($){var z=this.view,C=this.renderState;C.gl,(C=C.uniforms).uBrightness=1,C.uOpacity=1,C.uPartOpacity=1,C.uUseSkinning=!1,C.uUseInstance=!1,C.uTexture=!1,C.uBlendTexture=!1,C.uAlphaTest=xd.alphaTest,C.uTransparent=!!$,C.uFix=!1,C.uBatchColor=!1,C.uBatchBlend=!1,C.uBatchBrightness=!1,C.envMapIntensity=this.envmapReflectivity||.5,C.uCameraPosition=this.cameraPosition,C.uProjectMatrix=this.projectMatrix,C.uViewMatrix=this.viewMatrix,C.uEnvMap=null,c1(z,C,Xz),y1(z,C),C.uEnvmapQuat=z._envmapExtraQuaternion,z._envmapRenderer.resetUniformCache(),this.picking||(Iz(z,C),z._fogDisabled||(C.uFogColor=z._fogColor,C.uFogDensity=z._fogDensity,C.uFogNear=z._fogNear,C.uFogFar=z._fogFar))},ii.prototype.drawLayer=function($,z){return this.view.renderLayers($,!0)},ii.prototype.drawData=function($,z,C){var o,M,A,N,s,g,Y=this.view;Y.isVisible($)&&(M=(o=this.renderState).uniforms,($=Y.getData3dUI($))&&(N=(A=o.gl)._picking,s=Y._picking,g=$._pickId,C&&($._pickId=C),A._picking=Y._picking=!!C,M.uTransparent=!!z,$._42(o.gl,o.program,z?n:b),A._picking=N,Y._picking=s,$._pickId=g))},w.Graph3dView=function($,z){var C,o,M=this;if(M.resetHeadlightProperties(),M.resetFogProperties(),M._webGLVersion=1,M._attributes=z||Qd.graph3dViewAttributes,M._25I={},M._attributes&&(C=M._attributes.view)?C._ht=M:C=AX(1,M),M._view=C,M._attributes&&(o=M._attributes.canvas)||(o=sX(M._view)),M._canvas=o,M.__startTime=Date.now(),M.__uptime=0,Rd(o,"webglcontextlost",function($){$.preventDefault(),M._26I&&M.dispose(),M._26I=fd,M._35O=!0}),Rd(o,"webglcontextrestored",function($){M._35O=!1,M._loseContextExt=Kd,M.iv()}),M._40Q=new o4(M),M._43Q={},M._44Q=-1,M._boneViewMatrices=[],M._batchIndexMap={},M._batchModelMap={},M._wireframeIndexMap={},M._wireframeModelMap={},M._wireframeIndexMapSwap={},M._wireframeModelMapSwap={},M._polylineIndexMap={},M._polylineIndexMap={},M._polylineIndexMapSwap={},M._polylineIndexMapSwap={},M._8O=[],M._modelMatrixStack=[],M._7O=I_(),M._6O=I_(),M._modelMatrix=I_(),M._1o=new Y4(M),M._30O=new t4(M),M._31O=new v4(M),M._32O=new O4(M),M._raycaster=new f4(M),M._highlightHelper=new O9(M),M._postProcessing=new lC(M),M._41Q=[],M._42Q=0,M._frameRenderOptionStack=[],w.Reality){var A,N=M._reality={};for(A in w.Reality)N[A]=new w.Reality[A](M);M.getReality=function($){return N[$]},M.getRealities=function(){return N},M.isRealityEnabled=function($){return($=N[$])&&$.enable},M.isRealityPresenting=function($){return($=N[$])&&$.isPresenting()},M.getPresentingReality=function(){for(var $ in N)if(N[$].isPresenting())return N[$];return null}}else M.getReality=M.getRealities=M.getPresentingReality=p,M.isRealityEnabled=M.isRealityPresenting=k;M.shadowMap=new N9(M),M.flowMap=new g9(M),M._33Q=!0,M._eye=U3(Qd.graph3dViewEye),M._center=U3(Qd.graph3dViewCenter),M._up=U3(Qd.graph3dViewUp),M._lightChanged=!1,M._59O=[],M._spots=[],M._dirs=[],M._87I=[],M._boxClippers=[],M._boxClipperVersion=0,M._boxClipperMasks=0,M._flowObjects=[],M._transmissionObjects=[],M._renderId=0,M._picking=!1,M._tempCameraQueue=[],M._batchInfoMap={},M._updatedSkeletonDatas={},M._renderLayerInfoMap={},M._renderLayerSettingsVersion=0,M._gatherRenderLayersByPriority(!0),M.overlappingBox=new WV(M),M._envmapRenderer=new w.EnvmapRenderer(this),M._prefabRenderer=new w.PrefabRenderer(this),M._depthGrabber=new Y9(this),M.dm($||new mK),M._coreInteractor=new jV(this),M.setInteractors([new A4(M)]),M.enableQuickVisibleMode(),M.initRenderEvents(),M._initView(),M._genBatchInstancedArrayFunc(),M.genProgramDefines(),M._setupPVMatrix()}),ji={box:1,sphere:2,cylinder:3,cone:4,shape:5},Ui={addRGB:"FLOW_BLEND_MODE_ADD_RGB",addRGBA:"FLOW_BLEND_MODE_ADD_RGBA",overrideRGBA:"FLOW_BLEND_MODE_OVERRIDE_RGBA",overrideRGB:"FLOW_BLEND_MODE_OVERRIDE_RGB",overrideA:"FLOW_BLEND_MODE_OVERRIDE_A",multiplyRGB:"FLOW_BLEND_MODE_MULTIPLY_RGB",multiplyRGBA:"FLOW_BLEND_MODE_MULTIPLY_RGBA",multiplyPS:"FLOW_BLEND_MODE_MULTIPLY_PS"},Li=0,wi=($("Graph3dView",Jd,{ms_v:1,ms_tip:1,ms_gv:1,ms_dm:1,ms_lp:1,ms_fire:1,ms_sm:1,_51o:1,ms_shadow:1,ms_highlight:1,ms_quickVisible:1,ms_renderEvents:["PreFrame","PostFrame","PreUpdate","PostUpdate","PreRender","PostRender","PreRenderData","PostRenderData"],ms_ac:["devicePixelRatio","boundaries","moveStep","rotateStep","editHelperDisabled","blockSelectable","sizeEditableFunc","rotationEditableFunc","editableFunc","rotatable","zoomable","pannable","walkable","resettable","mouseRoamable","roamingWalkable","zoomToCenter",_f,Pf,"firstPersonMode",Vf,"movableFunc","gridVisible","gridSize","gridGap","gridColor","originAxisVisible","centerAxisVisible","axisXColor","axisYColor","axisZColor","editSizeColor","rectSelectable","rectSelectBackground","headlightRange","headlightDirection","headlightColor","headlightIntensity","headlightAmbientIntensity","headlightRatioForPhysicalMaterial","headlightDisabled","headlightGroup","ortho","orthoWidth","syncEyeWithOrthoWidth","fovy","near","far",lt,dt,"up","aspect","fogDisabled","fogMode","fogDensity","fogColor","fogNear","fogFar","pickerResolution","dashDisabled","uvClipEnabled","transmissionEnabled","batchColorDisabled","batchInstancedDisabled","batchBlendDisabled","batchBrightnessDisabled","flowBlendMode","hoverDelay","batchInfoMap","renderLayerInfoMap","rotateMinPhi","rotateMaxPhi","sortable","opaqueSortable","sortFunc","backfaceUsingNormals","toneMapping","toneMappingExposure"],_editable:!1,_sortable:Qd.graph3dViewSortable,_opaqueSortable:Qd.graph3dViewOpaqueSortable,_editHelperDisabled:Qd.graph3dViewEditHelperDisabled,_blockSelectable:Qd.graph3dViewBlockSelectable,_devicePixelRatio:Kd,_boundaries:Kd,_parallelShaderCompile:!1,_moveStep:Qd.graph3dViewMoveStep,_rotateStep:Qd.graph3dViewRotateStep,_toneMapping:Kd,_toneMappingExposure:1,_rotateMinPhi:Qd.graph3dViewMinPhi===Kd?Qd.graph3dViewRotateMinPhi:Qd.graph3dViewMinPhi,_rotateMaxPhi:Qd.graph3dViewMaxPhi===Kd?Qd.graph3dViewRotateMaxPhi:Qd.graph3dViewMaxPhi,_pannable:Qd.graph3dViewPannable,_rotatable:Qd.graph3dViewRotatable,_walkable:Qd.graph3dViewWalkable,_resettable:Qd.graph3dViewResettable,_zoomable:Qd.graph3dViewZoomable,_zoomToCenter:!0,_firstPersonMode:Qd.graph3dViewFirstPersonMode,_mouseRoamable:Qd.graph3dViewMouseRoamable,_roamingWalkable:Qd.graph3dViewRoamingWalkable,_gridVisible:Qd.graph3dViewGridVisible,_gridSize:Qd.graph3dViewGridSize,_gridGap:Qd.graph3dViewGridGap,_gridColor:Qd.graph3dViewGridColor,_originAxisVisible:Qd.graph3dViewOriginAxisVisible,_centerAxisVisible:Qd.graph3dViewCenterAxisVisible,_axisXColor:Qd.graph3dViewAxisXColor,_axisYColor:Qd.graph3dViewAxisYColor,_axisZColor:Qd.graph3dViewAxisZColor,_ortho:Qd.graph3dViewOrtho,_orthoWidth:Qd.graph3dViewOrthoWidth,_syncEyeWithOrthoWidth:Qd.graph3dViewSyncEyeWithOrthoWidth,_fovy:Qd.graph3dViewFovy,_near:Qd.graph3dViewNear,_far:Qd.graph3dViewFar,_rectSelectable:Qd.graph3dViewRectSelectable,_rectSelectBackground:Qd.graph3dViewRectSelectBackground,_editSizeColor:Qd.graph3dViewEditSizeColor,_autoMakeVisible:LA,_pickerResolution:Qd.graph3dViewPickerResolution,_oitPassCount:3,_modelMatrixProcess:Kd,_modelMatrixReverseProcess:Kd,_dashDisabled:Qd.graph3dViewDashDisabled,_uvClipEnabled:Qd.graph3dViewUvClipEnabled,_transmissionEnabled:Qd.graph3dViewTransmissionEnabled,_batchColorDisabled:Qd.graph3dViewBatchColorDisabled,_batchInstancedDisabled:Qd.graph3dViewBatchInstancedDisabled,_batchBlendDisabled:Qd.graph3dViewBatchBlendDisabled,_batchBrightnessDisabled:Qd.graph3dViewBatchBrightnessDisabled,_backfaceUsingNormals:Qd.graph3dViewBackfaceUsingNormals,_useOIT:!1,_oitEnabled:!1,_flowBlendMode:Qd.graph3dViewFlowBlendMode,addCamera:function($){var z=this._42Q++,C={id:z,priority:$.priority||0,ignoreInPick:!!$.ignoreInPick,ignoreInRender:!!$.ignoreInRender,ignoreInBloom:!!$.ignoreInBloom,renderMask:($.renderMask||0)|($.ignoreInRender?0:1)|($.ignoreInPick?0:2)|($.ignoreInBloom?0:4),render:$.render};return $.switch3DStatus&&(this._43Q[C.id]=!0),this._41Q.push(C),this._41Q.sort(function($,z){return $.priority!==z.priority?$.priority-z.priority:$.id-z.id}),z},removeCamera:function($){for(var z=this._41Q,C=0,o=z.length;C<o;C++)if(z[C].id===$)return z.splice(C,1),!0;return!1},setEye:function($,z,C){1===arguments.length&&(z=$[1],C=$[2],$=$[0]);var o=this._eye;o[0]=$,o[1]=z,o[2]=C,this.fp(lt,fd,o)},setCenter:function($,z,C){1===arguments.length&&(z=$[1],C=$[2],$=$[0]);var o=this._center;o[0]=$,o[1]=z,o[2]=C,this.fp(dt,fd,o)},setUp:function($,z,C){1===arguments.length&&(z=$[1],C=$[2],$=$[0]);var o=this._up;o[0]=$,o[1]=z,o[2]=C,this.fp("up",fd,o)},setVisibleFunc:function($){var z=this._visibleFunc;this._visibleFunc=$,this.fp("visibleFunc",z,$),$?this.isQuickVisibleMode()&&(this.disableQuickVisibleMode(),this._quickVisiblePending=!0):this._quickVisiblePending&&(this._quickVisiblePending=!1,this.enableQuickVisibleMode())},getDevicePixelRatio:function(){return this._dynamicRatio||this._devicePixelRatio||X3},isTransmissionEnabled:function($){return!!this._transmissionEnabled&&(!$||$.enableTransmission)},isDepthGrabberEnabled:function(){return this._depthGrabber.isEnabled()||this.getPostProcessing().isEnabled()},enableDepthGrabber:function($){this._depthGrabber.enable($)},disableDepthGrabber:function($){this._depthGrabber.disable($)},grabDepth:function($){return this._depthGrabber.grab($)},isFloatDepthTexture:function($){return $&&$._internalFormat},isOITEnabled:function($){return!!this._useOIT&&(!$||this._oitEnabled)},enableOIT:function(){var $=this;if($._useOIT)return!0;if($._useOIT=!0,!$.getGL())return!1;if(!$.isWebGL2())return!1;if(!$.getGLExtension("EXT_color_buffer_float"))return!1;var z=u.navigator;return!(z&&(/iPad|iPhone|iPod/.test(z.platform)||"MacIntel"===z.platform&&1<z.maxTouchPoints)||($._oitEnabled=!0,$._depthPeelingRenderer||($._depthPeelingRenderer=new v9($)),$._depthPeelingRenderer.enableOIT(),$.iv(),0))},disableOIT:function(){return this._useOIT&&(this._useOIT=!1,this._oitEnabled&&(this._depthPeelingRenderer&&this._depthPeelingRenderer.disableOIT(),this._oitEnabled=!1,this.iv())),!0},setOITPassCount:function($){this._oitPassCount=$,this.iv()},getOITPassCount:function(){return this._oitPassCount},rebindOITTexture:function($){return!!this._oitEnabled&&this._depthPeelingRenderer.bindTexture($)},rebindClipperMaskTexture:function($){var z=this._boxClipperMasks;if(z){$=$||this._frameState.renderState.directUniforms();for(var C=0;C<z;C++){var o=this._boxClipperMaskTextures[C];o instanceof WebGLTexture||(o=this.textureAccessesByMaterial(o)),$["uClipperMaskTextures"+C]=o}}},isTransparentMask:function($){return $.s("transparent.mask")},getCoreInteractor:function(){return this._coreInteractor},getHighlightHelper:function(){return this._highlightHelper},getHighlightPickColor:function($){return $=$.s("highlight.group"),this._highlightHelper.getPickColorOfIndex($)},getRaycaster:function(){return this._raycaster},getAspect:function(){return this._aspect||this.getWidth()/this.getHeight()||Qd.graph3dViewAspect},setAspect:function($){var z=this.getAspect();this._aspect=$,this.fp("aspect",z,this._lastAspect=this.getAspect())},_tryFireAspectEvent:function(){var $=this.getAspect(),z=this._lastAspect;$!==z&&(this._lastAspect=$,z!=fd&&this.fp("aspect",z,$))},getCanvas:function(){return this._canvas},setDataModel:function($){var z=this,C=z._dataModel,o=z._selectionModel;C!==$&&(C&&(C.ump(z.handleDataModelPropertyChange,z),C.umm(z.handleDataModelChange,z),C.umd(z.handleDataPropertyChange,z),o||C.sm().ums(z.handleSelectionChange,z)),(z._dataModel=$).mp(z.handleDataModelPropertyChange,z),$.mm(z.handleDataModelChange,z),$.md(z.handleDataPropertyChange,z),o?o._21I($):$.sm().ms(z.handleSelectionChange,z),z._postProcessing.handleDataModelChange(C,$),z._tryInvalidateEnvmap(),z.invalidateAll(!0),z.invalidateLight(),z.invalidateBoxClipper(),z.invalidateFlowObjects(),z.invalidateTransmissionObjects(),z._49Q(),z.fp(Gf,C,$),z._canvas.style.background=$.getBackground()||"")},handleDataModelPropertyChange:function($){var z,C,o=$.property;"background"===o?(z=this._canvas.style.background,C=$.newValue||"",this._canvas.style.background=C,this.fp("canvasBackground",z,C)):"envmapType"===o?this._tryInvalidateEnvmap():"envmap"===o||"invalidateView"===o?this.iv():"a:sceneRedrawState"===o&&($.newValue?this.redrawLoop():this.stopRedrawLoop())},handleDataPropertyChange:function($){var z,C=$.data,o=(this.invalidateData(C),$.property);kz(C)&&"s:light.type"===o?this.invalidateLight():"s:3d.clipbox"===o?this.invalidateBoxClipper(C,!0):"s:effect.flow"===o?this.invalidateFlowObjects(C,!0):"s:shadow.cast"===o?this.shadowMap.tryUpdateBounding(C):"s:3d.visible"===o||"s:visibleCascade"===o?this.invalidateQuickVisible(C):"parent"===o?(z=$.oldValue,$=$.newValue,(z&&(z instanceof PV||z.s("visibleCascade"))||$&&($ instanceof PV||$.s("visibleCascade")))&&this.invalidateQuickVisible(C)):"s:shape3d.transmission"===o&&this.invalidateTransmissionObjects(C,!0)},invalidateBoxClipper:function($,z){for(var C=this._boxClippers,o=C.length,M=($?!!$.s("3d.clipbox")==(z=!!z)?C.indexOf($)<0&&C.push($):0<=(z=C.indexOf($))&&C.splice(z,1):(C=this._boxClippers=[],this.dm().each(function($){$.s("3d.clipbox")&&C.push($)})),0),A=0;A<C.length;A++)($=C[A])instanceof U.Shape&&$.getThickness()<0&&"shape"===$.s("3d.clipbox.shape")&&(C[A]=C[M],C[M]=$,M++);this._boxClipperMasks=M,o!==C.length&&this._updateBoxClipperMatrix(),this.iv()},getProjectMatrix:function($){return $&&this._setupPVMatrix(),this._projectMatrix},getViewMatrix:function($){return $&&this._setupPVMatrix(),this._viewMatrix},_setupPVMatrix:function(){this._projectMatrix=z1(this),$1(this,this._7O),this._viewMatrix=m_(this._7O)},getBoxClipperDefines:function(){return{MAX_BOX_CLIPPER:this._boxClippers.length,BOX_CLIPER_TYPES:this._boxClipperTypes,MAX_BOX_CLIPPER_MASKS:this._boxClipperMasks}},_updateBoxClipperMatrix:(JZ=/if[ \t]*\([^\0{}]*{/,function(){var $=this._boxClippers,z=nA(this,"_boxClipperMatrixes",16*$.length),C=this._boxClipperClipInner=[],o=this._boxClipperGroups=[],M=this._boxClipperShapes=[],A=0,N=this._boxClipperMasks;this._boxClipperMaskTextures=new Array(N);for(var s,g=new ad,Y=0,v=$.length;Y<v;Y++){(s=$[Y]).appendAnchorMatrix3d(O=L_(s,this.getMat(s))),g.getInverse(g.fromArray(O)).toArray(z,16*Y),C.push("inner"===s.s("3d.clipbox")),o.push(s.s("3d.clipbox.group"));var O=ji[s.s("3d.clipbox.shape")]||1;M.push(O),A|=1<<O-1,Y<N&&(!(O=this.getData3dUI(s))._clipboxMask&&O instanceof D4&&(O._clipboxMask=this.getGL()._emptyTexture,O.validate()),this._boxClipperMaskTextures[Y]=O._clipboxMask)}if(this._boxClipperVersion++,0==(16^A)&&(A|=1),A!==this._boxClipperTypes){if(A){dZ||(t=(c=Gv(_["clipbox.fs.body"],!0)).match(JZ),lZ=c.slice(0,t.index)+"if ($TEMPLATE) {"+c.slice(t.index+t[0].length),c=t[0],dZ=c.slice(c.indexOf("(")+1,c.lastIndexOf(")")).split("||").map(function($){return $.trim()}));for(var t,c,y=[],Y=0;Y<dZ.length;Y++)A&1<<Y&&y.push(dZ[Y]);this._clipboxShaderChunkFS=lZ.replace("$TEMPLATE",y.join(" || "))}else this._clipboxShaderChunkFS="";this._boxClipperTypes=A}}),_49Q:function(){this._4AQ||this._48Q||this.dm().size()<Qd.graph3dViewDataNumWarningLine||(this._48Q=!0,console.log("Too many datas so than disable some feature to speed up.\nYou can set global Default.graph3dViewDataNumWarningLine to largeEnoughNum to avoid this, or call graph3dView.quitDataNumWarning() to quit.\n"),this.enableQuickVisibleMode(),this.getHighlightHelper().mouseOverData=null)},quitDataNumWarning:function(){this.disableQuickVisibleMode(),this._48Q=!1,this._4AQ=!0},invalidateFlowObjects:function($,z){var C=this._flowObjects;$?!!$.s("effect.flow")==(z=!!z)?C.indexOf($)<0&&C.push($):0<=(z=C.indexOf($))&&C.splice(z,1):(C=this._flowObjects=[],this.dm().each(function($){$.s("effect.flow")&&C.push($)})),this.iv()},invalidateTransmissionObjects:function($,z){var C=this._transmissionObjects;$?!!$.s("shape3d.transmission")==(z=!!z)?C.indexOf($)<0&&C.push($):0<=(z=C.indexOf($))&&C.splice(z,1):(C=this._transmissionObjects=[],this.dm().each(function($){$.s("shape3d.transmission")&&C.push($)})),this.iv()},invalidateLight:function(){this._lightChanged||(this._lightChanged=!0,this.iv())},onPropertyChanged:function($){if($=$.property,this.iv(),this._18Q=fd,"eye"===$)this._33Q=!0;else if("devicePixelRatio"===$)this._42(this.getDevicePixelRatio());else if("batchInstancedDisabled"===$){this._genBatchInstancedArrayFunc();var z,C=Qd.getBatchInfoMap();for(z in C)C[z]&&C[z].instanced&&this.invalidateBatch(z);for(z in C=this._batchInfoMap)C[z]&&C[z].instanced&&this.invalidateBatch(z)}},_5O:function($){var z=$.get3dUIClass();return z?new z(this,$):fd},getData3dUI:function($){var z=this._25I[$._id];return z===Kd&&(z=this._5O($),this._25I[$._id]=z),z},invalidateAll:function($,z){var C=this;if($){for(var o in C._25I)(o=C._25I[o])&&o.dispose();C._25I={},C.iv(),Xp(C)}else Xp(C),C.dm().each(function($){C.invalidateData($)});C.shadowMap.tryInvalidateLater($,z)},invalidateSelection:function(){var z=this;z.sm().each(function($){z.invalidateData($)})},invalidateData:function($){var z=this.getData3dUI($);z&&(z.iv(),this.iv()),Xp(this,$)},getShape3dText:function($){return $.getStyle("shape3d.text")||this.getLabel($)},invalidateBatch:function(z){var C=this;C._40Q.each(function($){C._invalidateBatch(z,$.batchModelMap,$.batchIndexMap),C._invalidateBatch("T"+z,$.wireframeModelMap,$.wireframeIndexMap),C._invalidateBatch("O"+z,$.wireframeModelMap,$.wireframeIndexMap),$.markBatchInvalid()}),C.iv()},_invalidateBatch:function($,z,C){var o=this,M=z[$];M&&(M.ds.forEach(function($){var z=o.getData3dUI($);z&&(z.iv(),z.invalidateWireframe()),delete C[$._id]}),dp(o,$,M,z)&&M.ds&&0<M.ds.length&&(M.ds.length=0))},handleDataModelChange:function($){var z,C,o=this,M=$.kind,$=$.data;"add"===M?(o.invalidateData($),xv($)&&$.getEdgeGroup()&&$.getEdgeGroup().eachSiblingEdge(o.invalidateData,o),kz($)&&o.invalidateLight(),$.s("3d.clipbox")&&o.invalidateBoxClipper($,!0),$.s("effect.flow")&&o.invalidateFlowObjects($,!0),$.s("shape3d.transmission")&&o.invalidateTransmissionObjects($,!0),o._49Q()):M===Rt?(z=$._id,(C=o._25I[z])&&(C.dispose(),delete o._25I[z],o.iv()),$===o._currentSubGraph&&o.setCurrentSubGraph(fd),Xp(o,$),kz($)&&o.invalidateLight(),$.s("3d.clipbox")&&o.invalidateBoxClipper($,!1),$.s("effect.flow")&&o.invalidateFlowObjects($,!1),$.s("shape3d.transmission")&&o.invalidateTransmissionObjects($,!1),$.isAnimationPlaying()&&$.stopAnimation()):M===It&&(o.invalidateAll(!0),o.setCurrentSubGraph(fd),Xp(o),o.invalidateLight(),o.invalidateBoxClipper(),o.invalidateFlowObjects(),o.invalidateTransmissionObjects())},toCanvas:function($,z,C){this._renderNonEditableAtRatio(1,$);for(var o=this.getWidth()||1,M=this.getHeight()||1,A=new Uint8Array(o*M*4),N=($=sX()).getContext("2d"),s=(this.getGL().readPixels(0,0,o,M,6408,5121,A),vX($,o,M,1),N.getImageData(0,0,o,M)),g=s.data,Y=0;Y<g.length;Y+=4){var v=Y/4,O=md(v/o);g[v=4*((M-1-O)*o+(v-O*o))]=A[Y],g[1+v]=A[Y+1],g[2+v]=A[Y+2],g[3+v]=A[Y+3]}return N.putImageData(s,0,0),this._42(this.getDevicePixelRatio()),z&&C?(s=(N=sX()).getContext("2d"),vX(N,z,C,1),Qd.drawImage(s,$,0,0,z,C),N):$},toDataURL:function($,z){return this._renderNonEditableAtRatio(1,$),$=this._canvas.toDataURL(z||"image/png",1),this._42(this.getDevicePixelRatio()),$},_renderNonEditableAtRatio:function($,z){var C,o=this.getGL();this.validate(),z&&(C=o.getParameter(3106),O1(o,z)),this._dynamicRatio=$,this._42($,{renderAxis:!1,renderEdit:!1,renderGrid:!1}),this._dynamicRatio=Kd,z&&O1(o,C)},isWebGL2:function(){return 2===this._webGLVersion},getGL:function(){var $,z,C,o=this._26I;if(o)return o;if(!this._35O&&!this._hibernating){if("undefined"==typeof WebGLRenderingContext)throw new Error("WebGL not supported.");var M=this,A=M._canvas,N=M._attributes;if(!N||!1!==N.requestWebGL2)try{(o=A.getContext("webgl2",N)||A.getContext("experimental-webgl2",N))&&(M._webGLVersion=2,M._26I=o)}catch(o){}if(!o)try{o=A.getContext("webgl",N)||A.getContext("experimental-webgl",N)}catch(o){throw new Error("Failed to initialize WebGL.")}if(o)return M._26I=o,A=M._frameState=new ii(M,o),M._glExtensions=new mE(o),M._glCapabilities=new SE(o,M._glExtensions),M._glUbos=new GE(M,o,M._glCapabilities,N&&N.forceNoUniformBuffer),M._glPrograms=new Hw(M,o),M._2O={},o._emptyCubeTexture=($=o,C=new Uint8Array(4),z=$.createTexture(),$.activeTexture(33984),$.bindTexture(34067,z),$.texParameteri(34067,10240,9729),$.texParameteri(34067,10241,9729),$.texImage2D(34069,0,6408,1,1,0,6408,5121,C),$.texImage2D(34070,0,6408,1,1,0,6408,5121,C),$.texImage2D(34071,0,6408,1,1,0,6408,5121,C),$.texImage2D(34072,0,6408,1,1,0,6408,5121,C),$.texImage2D(34073,0,6408,1,1,0,6408,5121,C),$.texImage2D(34074,0,6408,1,1,0,6408,5121,C),z),o._compiledShader={},o._emptyTexture=M1(o),o._emptyBlendTexture=M1(o),o._4NQ={},o._id=++Li,o._4KQ={},A.setGLState(),M._buffer={vs:A1(o),ns:A1(o),is:A1(o),uv:A1(o),batchColor:A1(o),batchBlend:A1(o),batchBrightness:A1(o),lineDistance:A1(o)},o._sharedTexture=o1(M,o),o._sharedTexturePool=[],N=M._cube={vs:A1(o),ns:A1(o),is:A1(o),uv:A1(o)},e1(o,N.vs,$w),e1(o,N.ns,ow),e1(o,N.uv,Cw),k1(o,N.is,zw),M._genBatchInstancedArrayFunc(),o._renderInfo={calls:0,vertices:0,faces:0,lines:0,points:0,textureCache:{time:0,count:0,pixels:0},frame:0,cacheTimeCost:0,reflectDepth:0},o._renderTargetStack=[],o._dynamicTexturePool={},o;throw new Error("Failed to initialize WebGL.")}},getGLCapabilities:function(){if(this.getGL())return this._glCapabilities},getGLExtensions:function(){if(this.getGL())return this._glExtensions},getGLExtension:function($){var z=this.getGLExtensions();return z&&z.get($)||!1},getGLState:function(){var $=this.getGL();if($)return kd.for($).glState},getShaderChunk:function($){var z;return"clipbox.fs.body"===$?this._clipboxShaderChunkFS||"":(z=_[$])?Gv(z,!0):Qd.getShaderChunk($)},_releaseGLResource:function(){var z=this,$=z.getGL();if($){$._renderInfo&&z._doBufferGC($,!0),z._glPrograms.dispose(),vX(z._canvas,0,0),["_highlightHelper","shadowMap","flowMap","_envmapRenderer","_postProcessing","_depthPeelingRenderer"].forEach(function($){($=z[$])&&$.dispose()});var C,o,M,A=z._25I;for(o in A)(C=A[o])&&C.dispose();for(M in z._2O)z.deleteTexture(M);for(M in $)"string"==typeof M&&"_"===M[0]&&(t1(z,$[M]),delete $[M]);return z._1o.dispose(),!0}},dispose:function($){this._releaseGLResource()&&(this.fireViewEvent("dispose"),$&&this.forceLoseContext(),this._26I=fd)},hibernate:function(){this._releaseGLResource()&&(this.fireViewEvent("hibernate"),this._hibernating=!0,this._26I=fd)},wakeup:function(){delete this._hibernating,this.iv(),this.fireViewEvent("wakeup")},disposeAllPrograms:function(){this._glPrograms.dispose()},forceLoseContext:function(){var $=this.getGLExtension("WEBGL_lose_context");$&&(this._26I=fd,$.loseContext(),this._35O=!0,this._loseContextExt=$)},forceRestoreContext:function(){var $=this._loseContextExt||this.getGLExtension("WEBGL_lose_context");$&&$.restoreContext()},getShadowMap:function(){return this.shadowMap},invalidateShape3dAttribute:function($,z){delete $._complete_,($=$[z])&&$._bufId&&delete $._bufId},getEnvmap:function(){return this._glCapabilities&&this._glCapabilities.maxVertexTextures<Qd.graph3dEnvmapCapabilityRequire?null:this.dm().getEnvmap()},getEnvmapType:function(){var $,z=this.dm();return(z?z.getEnvmapType():$)||"legacy"},setEnvmapExtraQuaternion:function($){this._envmapExtraQuaternion=$ instanceof B.Quaternion?$.clone().inverse().toArray():null},invalidateEnvmap:function($){return this._envmapRenderer.invalidateEnvmap($)},invalidateEnvmapUsedByMaterial:function($){return this._envmapRenderer.invalidateEnvmapUsedByMaterial($)},isEnvmapUsedByMaterialReady:function($){return this._envmapRenderer.isEnvmapUsedByMaterialReady($)},_setEnvmapByProbeId:function($,z,C){return this._envmapRenderer.setEnvmapByProbeId($,z,C)},_tryInvalidateEnvmap:function(){var $=this.getEnvmapType();$!==this._lastProgramEnvmapType&&(this._envmapRenderer.changeEnvmapType(this._lastProgramEnvmapType=$),this.iv())},acquireProgram:function($,z){return this._glPrograms.acquireProgram($,z)},resolveIncludes:function($){return this._glPrograms.resolveIncludes($)},renderModel:function($,z,C,o,M){M&&!1===M.restoreViewport||C&&!1===C.restoreViewport||z&&!1===z.restoreViewport||(A=(A=this.getViewport())&&U3(A));var A,$=this._postProcessing.blitScreen($,z,C,o,M);return A&&this.setViewport(this.getGL(),A[0],A[1],A[2],A[3]),$},renderPrefab:function(){return this.renderModel.apply(this,arguments)},getModel3dCompMatrix:function($,z){return this._prefabRenderer.calcMatrix($,z,this)},isGLTempRegisterLimited:function(){return this._glTempRegisterLimited},getBrightness:function($){var z=$.s("brightness"),$=this.isSelected($)?$.s("select.brightness"):fd;return z==fd?$:$==fd?z:z*$},getDataHighlightMode:function($){return $.s("highlight.mode")},getWireframe:function($){var z=$.s("wf.visible"),C=$.s("wf.width");if(!0===z||0<C&&"selected"===z&&this.isSelected($))return{color:$.s("wf.color"),width:C,short:$.s("wf.short"),mat:$.s("wf.mat")}},getPartPosition:function($,z,C,o){return o=o||Mv,[($=this.getData3dUI($)._16O(o.autoRotate,z,fd,C||ct,o.t3,o.r3,o.rotationMode))[12],$[13],$[14]]},_transformPointToViewSpace:function($){return $=[$[0],$[1],$[2]],G_($,this._viewMatrix),$},_transformDirectionToViewSpace:function($,z){var $=$?[$[0],$[1],$[2]]:[0,0,0],z=(G_($,this._viewMatrix),z?[z[0],z[1],z[2]]:[0,0,0]),C=(G_(z,this._viewMatrix),z[0]-$[0]),o=z[1]-$[1],z=z[2]-$[2];return($=Math.sqrt(C*C+o*o+z*z))?[C/$,o/$,z/$]:[C,o,z]},getWireframeGeometry:function($){if($.s("wf.geometry"))return{color:$.s("wf.color"),width:$.s("wf.width"),mat:$.s("wf.mat"),geometry:!0}},getBodyColor:function($){return $.s("body.color")},getMat:function($){return $.getMat?$.getMat():$.s("mat")},getFaceMat:function($,z){return $.getFaceMat?$.getFaceMat(z):$.s(z+".mat")},getFaceBlend:function($,z){return $.s(z+".blend")||$.s("all.blend")},getFaceColor:function($,z){return $.s(z+".color")||$.s("all.color")},getFaceImage:function($,z){return $.s(z+".image")||$.s("all.image")},getFaceBlendImage:function($,z){return $.s(z+".blend.image")||$.s("all.blend.image")},getFaceDiscardSelectable:function($,z){return(z=$.s(z+".discard.selectable"))==fd?$.s("all.discard.selectable"):z},getFaceUv:function($,z){return $.s(z+".uv")||$.s("all.uv")},getFaceUvOffset:function($,z){return $.s(z+".uv.offset")||$.s("all.uv.offset")},getFaceUvScale:function($,z){return $.s(z+".uv.scale")||$.s("all.uv.scale")},getFaceUvRotation:function($,z){return $.s(z+".uv.rotation")||$.s("all.uv.rotation")},getFaceUvAnchor:function($,z){return $.s(z+".uv.anchor")||$.s("all.uv.anchor")},getFaceLight:function($,z){return(z=$.s(z+".light"))==fd?$.s("all.light"):z},getFaceVisible:function($,z){return(z=$.s(z+".visible"))==fd?$.s("all.visible"):z},getFaceOpacity:function($,z){return(z=$.s(z+".opacity"))==fd?$.s("all.opacity"):z},getFaceTransparent:function($,z){return(z=$.s(z+".transparent"))==fd?$.s("all.transparent"):z},getFaceReverseColor:function($,z){return $.s(z+".reverse.color")||$.s("all.reverse.color")},getFaceReverseFlip:function($,z){return(z=$.s(z+".reverse.flip"))==fd?$.s("all.reverse.flip"):z},getFaceReverseCull:function($,z){return(z=$.s(z+".reverse.cull"))==fd?$.s("all.reverse.cull"):z},getFaceMaterial:function($,z){return(z=$.s(z+".material"))==fd?$.s("all.material"):z},isPicking:function(){return this._picking},renderPickScene:function($){var z=this.getGL();z&&(this.syncRenderState(),this._picking=z._picking=!0,this._dynamicRatio=$,this.renderScene(),this._picking=z._picking=!1,this._dynamicRatio=Kd)},invalidateCachedGeometry:function($){var z=this.getData3dUI($);z&&(z.invalidateCachedGeometry(),this.invalidateData($))},invalidateCachedWireframe:function(C){var $,o;C instanceof U.Data?($=this.getData3dUI(C))&&(delete $._shapeModelCacheForWf,($=$.shapeModel||Qw($))&&(fp($),C.iv())):C&&(fp(C),(o=this).dm().each(function($){var z=o.getData3dUI($);z&&(z.shapeModel||Qw(z))===C&&$.iv()}),this.iv())},isInteractive:function($){return $.s("interactive")},redraw:function(){this.iv()},redrawLoop:function(){var $,z=this;z._redrawState||(z._redrawState=!0,($=function(){z._redrawState&&(z.redraw(),requestAnimationFrame($))})())},stopRedrawLoop:function(){this._redrawState&&delete this._redrawState},validateImpl:function(){var C,o,M,A,$=this;$._hibernating||($._lightChanged&&($._lightChanged=!1,C=[],o=[],M=[],A=[],$.dm().each(function($){var z;kz($)&&("point"===(z=$.s("light.type"))?C.push($):"spot"===z?o.push($):"directional"===z?M.push($):"rect"===z&&A.push($))}),$._59O=C,$._spots=o,$._dirs=M,$._87I=A),$._attributes&&!1===$._attributes.autoDraw||$._42(),$._1o.iv())},getRenderInfo:function(){var $=this.getGL();if($)return $._renderInfo},getDebugTip:function(){var $,z,C,o,M,A=this.getRenderInfo();if(A)return z=($=this.getGL())._validBufCount||0,z="Draw Calls: "+A.calls+"<br/>Vertices: "+A.vertices+"<br/>Faces: "+A.faces+"<br/>Lines: "+A.lines+"<br/>"+(A.points?"Points: "+A.points+"<br/>":"")+"Buffers: "+z+"<br/>Programs: "+($._validProgramCount||0)+"<br/>Cache Models: "+Jd.keys(Fh).length+"<br/>Shape3d Models: "+Jd.keys(ih).length,(o=this.getPresentingReality())&&(z+="<br/>VR fps: "+o.getFps()),A.textureCache&&(o=A.textureCache.count,z+="<br/>2D Dynamic Textures: "+A.textureCache.count,0<o&&(z+="<br/>2D Dynamic pixels: "+(1e6<(o=A.textureCache.pixels)?Math.round(o/1e6)+"M":1e3<o?Math.round(o/1e3)+"K":Math.round(o)))),z+="<hr>WebGL "+(this.isWebGL2()?"2.0":"1.0"),(A=$._debugRendererInfo)===Kd&&((o=this.getGLExtension("WEBGL_debug_renderer_info"))&&(A=$.getParameter(o.UNMASKED_RENDERER_WEBGL))?((o=A.match(Cv))&&5<o.length&&(C=o[3],o=o[5],A=(M=C.match(/ (Direct3D|OpenGL)/))?C.substr(0,M.index)+"<br/>"+C.substr(M.index+1):C+(o?"<br/>"+o:"")),$._debugRendererInfo=A):A=$._debugRendererInfo=null),A&&(z+="<br/>"+A),z},getFrameState:function(){return this._frameState},isBoundingBoxInView:(ZZ=new U.Math.Box3,XZ=new U.Math.Matrix4,function($){if(!($=$ instanceof U.Data?this.getData3dUI($):$)||!$.mat)return!0;var z=$.getBoundingBox(!0);return ZZ.copy(z).applyMatrix4(XZ.fromArray($.mat)),this.getFrustum().intersectsBox(ZZ)}),updateScene:function(){var z=this,C=(z.emitPreUpdate(),z._81O=fd,z.overlappingBox.clear(),z.initSkeletonDatas(),z._40Q),o=(C.init(),z.getGL()),$=z.dm();if($.isHierarchicalRendering())$.eachByHierarchical(function($){($=z.getData3dUI($))&&$.update(z,o,C)});else for(var M,A=$.getDatas().getArray(),N=A.length,s=0;s<N;s++)M=A[s],(M=z.getData3dUI(M))&&M.update(z,o,C);this._updateBoxClipperMatrix(),C.onUpdated(),z.emitPostUpdate()},_pushFrameRenderOptions:function($){this._frameRenderOptionStack.push(this._currentFrameRenderOptions),this._currentFrameRenderOptions=$},_popFrameRenderOptions:function($){this._currentFrameRenderOptions=this._frameRenderOptionStack.pop()},_getFrameRenderOptions:function($){var z=this._currentFrameRenderOptions;return z&&z[$]},getRenderLists:function(){return this._40Q},_setCurrentFrameRenderId:function($,z){var C=this._renderId++;$._renderInfo.renderId=C,this._glPrograms.setCurrentFrameRenderId(C),z&&this._glUbos.setCurrentFrameRenderId(C)},renderScene:function($){var o=this,M=o.getGL();if(M){var A,N,z,C=o._picking,s=(C||o.emitPreRender(),o._setCurrentFrameRenderId(M,!1),o.genProgramDefines(),o._frameState),g=(o._prg=s.defaultProgram=o.acquireProgram({type:C?"pick":"legacy",defines:{}}),o._pushFrameRenderOptions($),s.setGLState(!1,!0),!1!==o._getFrameRenderOptions("renderShadowMap")&&o.shadowMap.render(),o.flowMap.render(),o._envmapRenderer.onBeforeRender(M),C||o._runTextureTasks(),o._44Q=-1,s.renderState),$=g.glState,Y=o._prg,v=(o._setupPVMatrix(),Math.tan(o.getFovy()/2)),O=(o._lodConst=1/(4*v*v*o.getAspect()),this._glUbos.setCurrentFrameRenderId(this._renderId),o.isReflecting(M)||Uz(o._projScreenMatrix=I_(),o._projectMatrix,o._viewMatrix),s.syncEnv(C?this.pickColorMap:Kd),g.useProgram(Y),l(!1,!1,!0),M.clear(256),this._41Q),t=0,c=O.length,y=M._blooming?4:C?2:1;if(J(Qd.cameraPriority.skybox),C?(z=$.color.clear.slice(0),O1(M,[0,0,0,0]),J(Qd.cameraPriority.main)):(O1(M,[0,0,0,0]),$.blend.enabled=!1,$.depth.enabled=!1,$.depth.mask=!1,o._camera&&!1===o._camera.s("camera.renderSky")||o.drawSky(M,Y),J(Qd.cameraPriority.main),!1!==o._getFrameRenderOptions("renderReflector")&&o.drawReflectors(M)&&(o._setupPVMatrix(),s.syncEnv(),l(!0),o._setCurrentFrameRenderId(M,!0)),$.blend.enabled=!1,$.depth.enabled=!0,$.depth.mask=!0,(A.uTransparent=!1)!==o._getFrameRenderOptions("renderGrid")&&o._31O._42(M)),!M.textureBatch||Od[(ONE_FRAME_TIME-6)/2]){C||(o.shadowMap.enable&&o.shadowMap.createShadow(A),o.rebindOITTexture(A),o.flowMap.createFlow(A),o.rebindClipperMaskTexture(A));for(var _=o._sortedRenderLayers,P=0,Z=_.length;P<Z;P++){var X=_[P],d=o.getRenderLayerInfo(X);!(o._camera||!d.ignore||d.renderForBloom&&M._blooming)||o._camera&&!o._camera.isLayerVisible(X)||(J(d.priority)&&!C&&(o.shadowMap.enable&&o.shadowMap.createShadow(A),o.rebindOITTexture(A),o.flowMap.createFlow(A,!0),o.rebindClipperMaskTexture(A)),this.renderLayer(X))}J(Qd.cameraPriority.infinity),C||(o._renderBonesForDebug(M,$),o.flowMap.disableFlow(A)),hz(o,A,0,Qd.graph3dViewHeadlightAmbientIntensity),A.uHeadlightColor=[1,1,1,0],A.uUseEnvMap=!1,A.uHeadlightDirection=[0,0,0],A.uHeadlightRange=0,$.depth.enabled=!1,A.uTransparent=!1,A.shadowReceive=!1,c1(o,A,Xz),C?o.isHighlightDrawing()||o._30O._42(M):(o._highlightHelper._42(M),this._renderAxisAndEditHelper(!1!==o._getFrameRenderOptions("renderAxis"),!1!==o._getFrameRenderOptions("renderEdit")),$.blend.enabled=!1,$.depth.mask=!0),$.depth.enabled=!0,C&&O1(M,z),e1(M,fd),k1(M,fd),o._44Q=-1,o._popFrameRenderOptions(null),o._glPrograms.disableAttributes(M),C||o.emitPostRender()}}function l($,z,C){$&&(g.syncLoss(),s.setGLState(z,C)),s.setUniforms(z),N=g.attribs,A=g.directUniforms(),N.disable()}function J($){if(!0!==o._getFrameRenderOptions("ignoreExternalCamera")){for(var z=!1;t<c;t++){var C=O[t];if(y&C.renderMask){if(C.priority>=$)break;o._43Q[o._44Q=C.id]&&!Od[Bt.length]||(C.render(M,o,s),l(!0),z=!0)}}return z}}},isHighlightDrawing:function(){return!!this._inHighlightPass},_renderAxisAndEditHelper:function($,z){if(!$&&!z)return!1;var C=this.getGL(),o=this._frameState,M=(A=o.renderState).glState,A=A.directUniforms();return o.renderState.attribs.disable(),M.depth.enabled=!1,A.uTransparent=!1,A.shadowReceive=!1,M.blend.enabled=!1,M.depth.mask=!0,(o=!this._fogDisabled)&&(A.uFog=!1),$&&this._32O._42(C),z&&this._30O._42(C),o&&(A.uFog=!0),e1(C,fd),k1(C,fd),!0},renderLayers:function($,z){for(var C=0,o=($=z?pK($):$).length;C<o;C++)this.renderLayer($[C])},renderSky:function(){var $=this._frameState,z=$.renderState,C=z.glState,o=this.getGL(),M=this._prg;this._setupPVMatrix(),Uz(this._projScreenMatrix=I_(),this._projectMatrix,this._viewMatrix),$.syncEnv(),z.useProgram(M),$.setGLState(!1,!0),$.setUniforms(!1),$.renderState.attribs.disable(),o.clear(256),O1(o,[0,0,0,0]),C.blend.enabled=!1,C.depth.enabled=!1,C.depth.mask=!1,this.drawSky(o,M),C.depth.mask=!0,C.depth.enabled=!0,e1(o,fd),k1(o,fd)},addRenderLayerListener:function($,z,C){this._renderLayerNotifier||(this._renderLayerNotifier=new IK),this._renderLayerNotifier.add($,z,C)},removeRenderLayerListener:function($,z){this._renderLayerNotifier&&this._renderLayerNotifier.remove($,z)},fireRenderLayerEvent:function($,z){var C=this._renderLayerNotifier;C&&C.fire({layer:$,phase:z})},renderLayer:function($){var z=this,C=z._picking;if(_=z._40Q.get($)){z.fireRenderLayerEvent($,"prepare");var o,M,A,N=z.getGL(),s=z.getRenderLayerInfo($),g=(Y=z._frameState.renderState).glState,Y=Y.directUniforms(),v=(!C&&z.isSortable()&&_.sort(z._sortFunc,z._projScreenMatrix,z.isOpaqueSortable()),_.resetModel3dInstancedDraw(),_.opaque),O=_.transparent,t=_.batchModelMap,c=_.batchIndexMap,y=_.polylineModelMap,_=_.wireframeModelMap,N=z.getGL(),P=z._prg,Z=(C||(g.blend.enabled=!1,g.depth.enabled=!0,g.depth.mask=!0),(Y.uTransparent=!1)!==s.clearDepth&&N.clear(256),this.drawFilter);if(Z){for(o=0,M=(A=v).length;o<M;o++)!0!==Z(A[o].data)&&A[o].ui._42(N,P,b);if(C)for(o=0,M=(A=O).length;o<M;o++)A[o].ui._46Q(N);mp(z,t,c)}else{for(o=0,M=(A=v).length;o<M;o++)A[o].ui._42(N,P,b);if(C)for(o=0,M=(A=O).length;o<M;o++)A[o].ui._46Q(N);mp(z,t,c),Ip(z,y),Ip(z,_)}if(z.fireRenderLayerEvent($,"opaque"),C||(g.blend.enabled=!0,g.depth.mask=!1),z._45Q=Y.uTransparent=!0,Z){for(o=0,M=(A=O).length;o<M;o++)!0!==Z(A[o].data)&&A[o].ui._42(N,P,n);mp(z,t,c,0,!0)}else{if(C||!z._oitEnabled||z.isReflecting(N)||N._blooming){for(o=0,M=(A=O).length;o<M;o++)A[o].ui._42(N,P,n);mp(z,t,c,0,!0)}else z._depthPeelingRenderer.render(O,t,c);Ip(z,y,0,!0),Ip(z,_,0,!0)}z._45Q=null,z.fireRenderLayerEvent($,"transparent"),z.fireRenderLayerEvent($,"post")}},isRenderTransparent:function(){return!!this._45Q},_42:function($,z){var C=this;if(!C._35O&&(!r||Od(r))){var o=C.getWidth(),M=C.getHeight();if(o&&M){var A=C.getGL();if(A){var N=C._canvas,s=($?s=!0:$=C.getDevicePixelRatio(),C._picking||!s&&o===N.clientWidth&&M===N.clientHeight||(vX(N,o,M,$),s=$,o&&1<Math.abs(A.drawingBufferWidth-o*$)&&(s=Math.min(s,A.drawingBufferWidth/o)),(s=M&&1<Math.abs(A.drawingBufferHeight-M*$)?Math.min(s,A.drawingBufferHeight/M):s)!==$&&(C.setDevicePixelRatio($=s),vX(N,o,M,$)),C._18Q=null,C._tryFireAspectEvent()),C._attributes&&!1===C._attributes.autoClear||A.clear(16384),A._renderInfo);if(s){s.calls=0,s.vertices=0,s.faces=0,s.lines=0,s.points=0,s.textureCache={time:0,count:0,pixels:0},s.frame=++C._frameId,s.cacheTimeCost=0,s.reflectDepth=0,C.__uptime=(Date.now()-C.__startTime)/1e3,o=N.width,M=N.height,C._gatherRenderLayersByPriority(),N=(s=this._frameState).renderState,s&&N&&(N.syncLoss(),s.setGLState()),C.emitPreFrame(),C._glPrograms.checkParallelLinkStatus();do{var g=C.getRealities();if(g){var Y,v=!1;for(Y in g)if(C.isRealityEnabled(Y)&&(v=g[Y].render(A,o,M,z)))break;if(v)break}C.updateScene();var O=C._4JQ}while((O||!C._postProcessing.render(A,o,M,z,0<C._transmissionObjects.length&&C.isTransmissionEnabled()||C._oitEnabled||C._depthGrabber.isEnabled()))&&(C.setViewport(A,0,0,o,M),O?C.renderPickScene($):C.renderScene(z),0));C._33Q=!1,C.debugCountFrame(),C.emitPostFrame(),C._doBufferGC(A),C._glPrograms.scheduleProgramGC(C._shaderGCInterval||500)}}}}},drawImmediately:function($,z,C){if($){var o=this.getGL();if(!o)return!1;Vz(o,$),this._42(z,C),ez(o)}else this._42(z,C)},_4IQ:function($){this._4JQ=$,this.iv()},syncRenderState:function(){var $;($=this._frameState)&&($=$.renderState)&&$.syncLoss()},drawReflectors:function($){$._renderInfo.reflectDepth++;var z,C,o=this._dataModel.getReflectors(),M=!1;for(z in o)C=o[z],!this.isVisible(C)||1<$._renderInfo.reflectDepth&&!1===C.s("3d.reflectable")||(C=this.getData3dUI(C))&&C.drawReflector&&C.drawReflector($)&&(M=!0);return $._renderInfo.reflectDepth--,M},isReflecting:function($){return $._renderInfo.reflectDepth},isOITProcessing:function(){return this._programDefines.OIT},isRenderSceneForBloom:function(){var $=this.getGL();return!!$&&!!$._blooming},getPostProcessing:function(){return this._postProcessing},enablePostProcessing:function($,z){return this._postProcessing.enableModule($,z)},getPostProcessingModule:function($){return this._postProcessing.getModule($)},getPostProcessingValue:function($,z){return($=this._postProcessing.getModule($))?$[z]:Kd},setPostProcessingValue:function($,z,C){var o=this.getPostProcessingValue($,z),M=this._postProcessing.getModule($);M&&o!==C&&("enable"===z?this.enablePostProcessing($,C):M[z]=C,this.firePropertyChange("postProcessing."+$+"."+z,o,C))},setDofImageFromGraphView:function($,z,C){return this._postProcessing.getModule("Dof").setImageFromGraphView($,z,C)},setViewport:function($,z,C,o,M){this._viewport=[z,C,o,M],kd.for($).directState().viewport=this._viewport},getRenderState:function(){return kd.for(this._26I)},getFlowBlendModeMacro:function(){return Ui[this.getFlowBlendMode()]||Ui[Qd.graph3dViewFlowBlendMode]},genProgramDefines:function(){var $=this,z=(z=$.getEnvmap())&&z.length,C=((z={NUM_DIR_LIGHTS:$._dirs.length,NUM_SPOT_LIGHTS:$._spots.length,NUM_POINT_LIGHTS:$._59O.length,MAX_FLOW_OBJECT:$._flowObjects.length,FOG:!$._fogDisabled,FOG_EXP2:"exp2"===$.getFogMode(),UV_CLIP:!!$._uvClipEnabled,USE_ENVMAP:!!z,ENVMAP_TYPE_CUBE_UV:"legacy"!==$.getEnvmapType(),DASH:!$._dashDisabled,ENVMAP_ROTATE:null!=$._envmapExtraQuaternion,BATCHCOLOR:!$._batchColorDisabled,BATCHINSTANCE:!$._batchInstancedDisabled,BATCHBLEND:!$._batchBlendDisabled,BATCHBRIGHTNESS:!$._batchBrightnessDisabled,LEGACY_BACKFACE_USING_NORMALS:$._backfaceUsingNormals})[$.getFlowBlendModeMacro()]=!0,Jd.assign(z,$.getBoxClipperDefines()),$.shadowMap.enable&&$.shadowMap.genShaderDefine(z),$._glPrograms);return C&&C.genPhysicalProgramKeyOfScene($._programDefines=z),z},getViewport:function(){return this._viewport},setBufferGCInterval:function($){this._bufferGCInterval=$},setShaderGCInterval:function($){this._shaderGCInterval=$},releaseGLBuffer:function($){var z=this.getGL();if(!z)return!1;if(!$)return this._doBufferGC(z,!0),!0;if(!($=$._bufId))return!1;var C=z._4NQ,o=C[$];return!!o&&(z.deleteBuffer(o._buf),o._buf=null,C[$]=null,z._validBufCount=Math.max(0,z._validBufCount-1),this.iv(),!0)},_doBufferGC:function($,z){var C,o,M=$._4NQ,A=0,N=0,s=$._renderInfo.frame,g=this._bufferGCInterval||10;for(C in M)A++,(o=M[C])&&(z||s-o._fid>g?($.deleteBuffer(o._buf),o._buf=null,M[C]=null):N++);if(N<A/2&&128<A){var Y={};for(C in M)M[C]&&(Y[C]=M[C]);$._4NQ=Y}$._validBufCount=N},_swapLineMap:function(){var $=this;Ct=$._polylineModelMap,$._polylineModelMap=$._polylineModelMapSwap,$._polylineModelMapSwap=Ct,Ct=$._wireframeModelMap,$._wireframeModelMap=$._wireframeModelMapSwap,$._wireframeModelMapSwap=Ct,Ct=$._polylineIndexMap,$._polylineIndexMap=$._polylineIndexMapSwap,$._polylineIndexMapSwap=Ct,Ct=$._wireframeIndexMap,$._wireframeIndexMap=$._wireframeIndexMapSwap,$._wireframeIndexMapSwap=Ct},_updateSkybox:function($){var z,C,o,M,A,N,s,g,Y;this._skybox&&$&&($=$.property,z=!1,C=this._skybox,"eye"!==$&&"forceUpdate"!==$||(o=this._camera?this._camera.getEye():this._eye,C.p3(o[0],o[1],o[2]),z=!0),"near"!==$&&"far"!==$&&"aspect"!==$&&"forceUpdate"!==$||(o=(o=C.__cachedS3__)||(C.__cachedS3__=C.getFinalScale3d()),$=od(o[0],o[1],o[2])/2,M=("sphere"===C.s("shape3d")?Cd(o[0],o[1],o[2]):Gd(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]))/2,A=this._near,N=this._far,Y=Math.tan(this.getFovy()/2)*A,s=this.getAspect()*Y,s=Gd(s*s+Y*Y+A*A),s=1.01*Cd(s,Gd(3)*A),g=1,$<s?g=s/$:N<=M&&(g=N*N/(A+N)/M),g!==1/0&&1!==g&&(C.__updatingSkybox__=!0,Y=o.map(function($){return g*$}),C.s3(Y),C.setScale3d(1,1,1),z=!0,delete C.__updatingSkybox__)),z&&this.invalidateData(C))},getSkyBox:function(){return this.getSkybox()},setSkyBox:function($){return this.setSkybox($)},getSkybox:function(){return this._skybox},setSkybox:function(z){var C,$=this._skybox;$===z?z&&this._updateSkybox({property:"forceUpdate"}):($&&(this._skyboxStyleMap&&$.setStyleMap(this._skyboxStyleMap),this._skyboxStyleMap=null,this._skyboxAnchor3d&&$.setAnchor3d(this._skyboxAnchor3d),this._skyboxAnchor3d=null,this._skyboxP3&&$.p3(this._skyboxP3),this._skyboxP3=null,this.handleDataModelChange({kind:Rt,data:$})),this._skybox=z,this.ump(this._updateSkybox,this),z&&(z.removeFromDataModel(),this._skyboxStyleMap=U.Default.clone(z.getStyleMap()),this._skyboxAnchor3d=z.getAnchor3d(),z.setAnchor3d(.5,.5,.5),this._skyboxP3=z.p3().slice(0),z.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}),C=z.onPropertyChanged,z.onPropertyChanged=function($){C.call(z,$),!z.__updatingSkybox__&&0<=["width","height","tall","scale","scaleTall"].indexOf($.property)&&(z.__cachedS3__=Kd)},this.mp(this._updateSkybox,this),this._updateSkybox({property:"forceUpdate"})),this.fp("skybox",$,z))},drawSky:function($,z){var C,o,M,A,N,s,g,Y,v,O,t,c,y=this,_=y._skybox;_&&(A=M=0,y._camera&&!1===y._camera.s("camera.skybox.blur")||(M=_.s("skybox.blur.size"),A=_.s("skybox.blur.resolution"),0===M&&0===A||(g=A||y.getDevicePixelRatio(),(C=$._blurRTT)||(C=$._blurRTT=new w.RenderTarget(y,null,null,{})),N=y.getWidth()*g,g=y.getHeight()*g,C.setSize($,N,g),o=U3(y._viewport),y.setViewport($,0,0,N,g),C.bind($))),N=kd.for($).directUniforms(),g=y._headlightIntensity,s=Yx(y._headlightColor),z=y._prg,1!==g&&(s=[s[0]*g,s[1]*g,s[2]*g]),N.uHeadlightColor=[s[0],s[1],s[2],1],(g=y.getData3dUI(_))&&((v=(Y=y.isOrtho())||this._computedProjectMatrix)&&(O=y._projectMatrix,Y&&(y._ortho=!1),N.uProjectMatrix=y._projectMatrix=z1(y,!0)),c=_.p3(),t=(this._camera||this).getEye(),c[0]===t[0]&&c[1]===t[1]&&c[2]===t[2]||(_._position.x=t[0],_._54O=t[1],_._position.y=t[2]),g.validate(),g._42($,z,a),v&&(Y&&(y._ortho=!0),N.uProjectMatrix=y._projectMatrix=O)),$.clear(256),N.uHeadlightColor=[s[0],s[1],s[2],y._headlightDisabled?1:0],0===M&&0===A||(C.unbind($),0!==M&&(c=y.getPostProcessingModule("Blur"))&&c.drawImpl($,C,M,!1,4<M?4:2<M?3:1<M?2:1),y.setViewport($,o[0],o[1],o[2],o[3]),y.renderModel(null,{type:"blitScreen",image:C.texture,defines:{DITHERING:!1}},{clear:!1})))},getLogicalPoint:function($){return X_($,this._canvas)},isRectOverlapping:function($){return this.getData3dUI($)._rectOverlapping},getHitFaceInfo:function($){$.target&&($=this.lp($));var z=this.getDataInfoAt($);return z&&($=this.intersectObject($,z.data))?{data:z.data,face:$.part}:fd},unproject:function($,z){var C=this.getWidth(),o=this.getHeight(),C=(($=$.target?this.lp($):$).x-C/2)/C*2,$=-1*($.y-o/2)/o*2,o=(z=z||0,I_()),M=z1(this),A=$1(this);return Uz(o,M,A),iz(o),[(M=E_([C,$,z,1],o))[0]/M[3],M[1]/M[3],M[2]/M[3]]},getDataAt:function($){return($=this.getDataInfoAt($))?$.data:fd},getDataInfoAt:function($,z,C){return $.target&&($=this.lp($)),this._1o.get(fv($.x,$.y,z),!0,C)},getDataInfoDuringInteract:function($,z){var C=this.getDataInfoAt($);if(!this.isBlockSelectable()||!C||!C.data)return C;if(!z&&this.isSelected(C.data))return C;for(var o=this.sm().ld(),M=Qd.blockThroughContinuous,A=C.data;(A=A.getParent())&&A instanceof U.Block&&(!o||!o.isDescendantOf(A));)if(this.isSelectable(A)&&A.isSyncSize()){var N=this.isSelected(A);if(N&&z)break;if(C={data:A,part:C.part},N&&!z)break}else if(!M)break;return C},getDatasInRect:function($,z){return this._1o.get($,!1,z)},setEditable:function($){var z=this._editable;this._editable=$,this.fp(xf,z,$)},isEditable:function($){return $?!!this._editable&&!!R($)&&!!$.s("3d.editable")&&(!this._editableFunc||this._editableFunc($)):this._editable},isSelectable:function($){return $.s("3d.selectable")&&this.sm().isSelectable($)},isMovable:function($){return(!xv($)||$.getStyle(sf)===Ft)&&!!$.s("3d.movable")&&(!this._movableFunc||this._movableFunc($))},isSizeEditable:function($){return!!R($)&&(!this._sizeEditableFunc||this._sizeEditableFunc($))},isRotationEditable:function($){return!(!R($)||!1===$.IRotatable)&&(!this._rotationEditableFunc||this._rotationEditableFunc($))},handleDelete:function($){this._editable&&this.removeSelection()},zoomIn:function($){this.setZoom(b3,$)},zoomOut:function($){this.setZoom(1/b3,$)},setZoom:(cZ=new Dd,yZ=new Dd,_Z=new Dd,PZ=new Dd,function($,z){if(1!==$){var C=this;C._14o&&C._14o.stop(!0);var o,M=1/$,A=(cZ.copy(C.getCenter()),yZ.copy(C.getEye()),C._ortho);if(A){if((o=C._orthoWidth)<C._moveStep&&1<$)return}else if(cZ.distanceTo(yZ)<C._moveStep&&M<1)return;var N=!1;if(!1===C._zoomToCenter&&C._lastZoomLP&&(_Z.copy(yZ).sub(cZ).normalize(),C._81O=null,PZ.copy(C.getHitPosition(C._lastZoomLP,cZ.toArray(),_Z.toArray())),N=!0,C._lastZoomHit=PZ),z=hv(z))return z.action=function($){C.fi({kind:C._zooming?"betweenZoom":"beginZoom"}),C._zooming=1,$=(M-1)*$+1,A&&C.setOrthoWidth(o*$),N?(C.setEye(_Z.lerpVectors(PZ,yZ,$).toArray()),C.setCenter(_Z.lerpVectors(PZ,cZ,$).toArray())):A||C.setEye(_Z.lerpVectors(cZ,yZ,$).toArray())},z._37o=function(){delete C._14o,delete C._zooming,C.fi({kind:"endZoom"}),C.onZoomEnded()},C._14o=w3(z);A&&C.setOrthoWidth(o*M),N?(C.setEye(_Z.lerpVectors(PZ,yZ,M).toArray()),C.setCenter(_Z.lerpVectors(PZ,cZ,M).toArray())):A||C.setEye(_Z.lerpVectors(cZ,yZ,M).toArray())}}),setOutsidePickSource:function($){this.pickColorMap._outside=$},setModelMatrixProcess:function($,z){this._modelMatrixProcess!==$&&(this._modelMatrixProcess=$,this.invalidateAll()),this._modelMatrixReverseProcess=z},hasModelMatrixProcess:function(){return!!this._modelMatrixProcess},processModelMatrix:function($){if(!this._modelMatrixProcess)return $;try{return this._modelMatrixProcess($)}catch($){return Kd}},reverseProcessModelMatrix:function($){if(!this._modelMatrixProcess)return $;if(!this._modelMatrixReverseProcess)return Kd;try{return this._modelMatrixReverseProcess($)}catch($){return Kd}},createNodeFinalMatrix:function($,z){if(!this._modelMatrixProcess)return z||L_($,this.getMat($));var C,o=this.getData3dUI($);return o.s("shape3d.distortion.ignore")?z||L_($,this.getMat($)):o.s("autorotate")||o.s("shape3d.autorotate")?(o=w_(fd,fd,fd,"xzy",$.p3(),fd,fd),o=this._modelMatrixProcess(o),(C=w_(fd,$.getFinalScale3d(),$.getFinalRotation3d(),$.getRotationMode(),fd,fd,this.getMat($)))[12]=o[12],C[13]=o[13],C[14]=o[14],C):z?this._modelMatrixProcess(z):(o=L_($,this.getMat($)),this._modelMatrixProcess(o))},setOrthoZoom:function($,z){return this.setZoom($,z)},getPositionInfo:function($){var z=this._eye,C=this._center,o=this.getAspect(),$=$?R_(u_(C,z,!0),u_($,z)):Y_(z,C);return this._ortho?{length:$,height:(z=this._orthoWidth)/o,width:z}:{length:$,height:C=jd(this._fovy/2)*$*2,width:C*o}},getCenterInfo:function(){return this._81O||(this._81O=this.getPositionInfo()),U3(this._81O)},rotate:function(C,o,$,M){var A=this;if(C||o){M==fd&&(M=A._firstPersonMode),A._88O&&A._88O.stop(!0);var z=A._center,N=A._eye,s=A.getCenterInfo().length,g=M?z:N,Y=M?N:z,v=u_(g,Y),O=A.getExternalSceneRotation(),t=(O&&Dd.arrayApplyQuaternion(v,v,O),Ud(v[0],v[2])),c=Ud(Gd(v[0]*v[0]+v[2]*v[2]),v[1]),y=M?dt:lt;if(M&&(o=-o),$=hv($))return $.action=function($){A.fi({kind:A._rotating?"betweenRotate":"beginRotate"}),A._rotating=1;var z=t+C*$,$=c+o*$,$=M?x-mz(A,x-$):mz(A,$);v[0]=s*yd($)*yd(z),v[1]=s*Wd($),v[2]=s*yd($)*Wd(z),O&&Dd.arrayApplyQuaternion(v,v,O.inverse()),g[0]=Y[0]+v[0],g[1]=Y[1]+v[1],g[2]=Y[2]+v[2],A.fp(y,fd,g)},$._37o=function(){delete A._88O,delete A._rotating,A.fi({kind:"endRotate"}),A.onRotateEnded()},A._88O=w3($);t+=C,c+=o,c=M?x-mz(A,x-c):mz(A,c),v[0]=s*yd(c)*yd(t),v[1]=s*Wd(c),v[2]=s*yd(c)*Wd(t),O&&Dd.arrayApplyQuaternion(v,v,O.inverse()),g[0]=Y[0]+v[0],g[1]=Y[1]+v[1],g[2]=Y[2]+v[2],A.fp(y,fd,g)}},pan:function($,z,C,o){if($||z){var M,A,N=this;o==fd&&(o=N._firstPersonMode),N._89O&&N._89O.stop(!0);var $=[(s=$1(N))[0]*$,s[4]*$,s[8]*$],s=[s[1]*z,s[5]*z,s[9]*z],g=$[0]+s[0],Y=$[1]+s[1],v=$[2]+s[2],O=N._center,t=N._eye;if(o&&(z=Ap(N.getBoundaries(),t[0],t[2],t[0]+g,t[2]+v,Gd(g*g+v*v)),g=z[0],v=z[1]),C=hv(C))return M=U3(t),A=U3(O),C.action=function($){N.fi({kind:N._panning?"betweenPan":"beginPan"}),N._panning=1,O[0]=A[0]+g*$,O[1]=A[1]+Y*$,O[2]=A[2]+v*$,t[0]=M[0]+g*$,t[1]=M[1]+Y*$,t[2]=M[2]+v*$,N.fp(lt,fd,t),N.fp(dt,fd,O)},C._37o=function(){delete N._89O,delete N._panning,N.fi({kind:"endPan"}),N.onPanEnded()},N._89O=w3(C);O[0]+=g,O[1]+=Y,O[2]+=v,t[0]+=g,t[1]+=Y,t[2]+=v,N.fp(lt,fd,t),N.fp(dt,fd,O)}},walk:function(z,$,C){if(z){var o,M,A=this,N=(C==fd&&(C=A._firstPersonMode),A._90O&&A._90O.stop(!0),A._center),s=A._eye,g=u_(N,s,!0);if(C){if(C=Ap(A.getBoundaries(),s[0],s[2],s[0]+g[0]*z,s[2]+g[2]*z,I(z)),!(z=Y_(C)))return;g=[C[0]/z,0,C[1]/z]}if($=hv($))return o=U3(s),M=U3(N),$.action=function($){A.fi({kind:A._walking?"betweenWalk":"beginWalk"}),A._walking=1,$*=z,s[0]=o[0]+g[0]*$,s[1]=o[1]+g[1]*$,s[2]=o[2]+g[2]*$,N[0]=M[0]+g[0]*$,N[1]=M[1]+g[1]*$,N[2]=M[2]+g[2]*$,A.fp(lt,fd,s),A.fp(dt,fd,N)},$._37o=function(){delete A._90O,delete A._walking,A.fi({kind:"endWalk"}),A.onWalkEnded()},A._90O=w3($);s[0]+=g[0]*z,s[1]+=g[1]*z,s[2]+=g[2]*z,N[0]+=g[0]*z,N[1]+=g[1]*z,N[2]+=g[2]*z,A.fp(lt,fd,s),A.fp(dt,fd,N)}},handleScroll:function($,z){m3($);var C=this,o=C._moveStep,M=C.getDataInfoAt($);if((M=M&&M.data)&&C.isInteractive(M)){var A=C.intersectObject($,M);if(A&&(A=A.part,(A=j(M.s(A+".image")||M.s("shape3d."+A+".image")||M.s("all.image")||M.s("shape3d.image")))&&E(A.scrollable,M,C)))return}C.isFirstPersonMode()?C.isPannable()&&C.pan(0,0<z?o:-o):C.isZoomable()&&(C._lastZoomLP=C.lp($),C.setZoom(z<0?1/u3:u3),C._lastZoomLP=C._lastZoomHit=null)},handlePinch:function($,z){!this.isZoomable()||Math.abs($-z)<Qd.pinchZoomThreshold||this.setZoom($<z?1/n3:n3)},setLightProbe:function($){if($){if(9===$.length)return this.lightProbe=$;if(27<=$.length){for(var z=this.lightProbe=[],C=0;C<9;C++)z[C]=[$[3*C],$[3*C+1],$[3*C+2]];return z}}return!1},getLightProbe:function(){return this.lightProbe},reset:function($){this.setUp(Qd.graph3dViewUp),this.moveCamera(Qd.graph3dViewEye,Qd.graph3dViewCenter,$)},moveSelection:function($,z,C){this.dm().beginTransaction(),Gx(this.sm().toSelection(this.isMovable,this),$,z,C),this.dm().endTransaction()},getMoveMode:function($,z){return(z=z.s("3d.move.mode"))?z:A_($)||jh[88]&&jh[89]&&jh[90]?"xyz":jh[88]&&jh[89]?"xy":jh[88]&&jh[90]?"xz":jh[89]&&jh[90]?"yz":jh[88]?"x":jh[89]?"y":jh[90]?"z":"xz"},handleTick:function(){var $,z=this,C=!1,o=z._moveStep,M=o,A=-1*z._rotateStep;z.isWalkable()||(M=0),z.isPannable()||(o=0),z.isRotatable()||(A=0),z._32Q&&(M*=$=(Xv()-z._32Q)/50,o*=$,A*=$),z._31Q&&(F3(z._31Q),delete z._31Q,delete z._32Q),FX()&&z.pan(-o,0,!(C=!0),!0),UX()&&z.pan(o,0,!(C=!0),!0),LX()&&(C=!0,A_()?z.pan(0,o,!1,!0):z.walk(M,!1,!0)),jX()&&(C=!0,A_()?z.pan(0,-o,!1,!0):z.walk(-M,!1,!0)),wX()&&z.rotate(-A,0,!(C=!0),!0),TX()&&z.rotate(A,0,!(C=!0),!0),qX()&&z.rotate(0,-A/2,!(C=!0),!0),rX()&&z.rotate(0,A/2,!(C=!0),!0),C&&(z._32Q=Xv(),z._31Q=i3(z.handleTick,z))},handleKeyDown:function($){!N_($)&&Cx[$.keyCode]?this.handleTick():HX($)?this.selectAll():iX($)?this.handleDelete($):BX($)&&this.isResettable()&&this.reset()},checkDoubleClickOnNote:function($,z,C){if(C===Tt){if(z.s("note.toggleable"))return z.s(of,!z.s(of)),this.fi({kind:"toggleNote",event:$,data:z,part:C}),!0}else if(C===rt&&z.s("note2.toggleable"))return z.s(Mf,!z.s(Mf)),this.fi({kind:"toggleNote2",event:$,data:z,part:C}),!0;return!1},checkDoubleClickOnRotation:function($,z,C){return C===P4?(z.setRotationX(0),!0):C===Z4?(z.setRotationY(0),!0):C===X4&&(z.setRotationZ(0),!0)},onRotateEnded:function(){},onWalkEnded:function(){},getViewRatio:function($){if(this.isOrtho())return this.getWidth()/this.getOrthoWidth();var z=this.getCenter(),C=this.getHeight(),o=this.getEye(),z=[z[0]-o[0],z[1]-o[1],z[2]-o[2]],$=[$[0]-o[0],$[1]-o[1],$[2]-o[2]];return C*Math.sqrt(z[0]*z[0]+z[1]*z[1]+z[2]*z[2])*(1/Math.tan(this.getFovy()/2))/($[0]*z[0]+$[1]*z[1]+$[2]*z[2])},inViewSpace:(tZ=new mA,function($){tZ.set($[0],$[1],$[2],1).applyMatrix4(this.getPVMatrix()).divideScalar(tZ.w);var $=tZ.x,z=tZ.y,C=tZ.z;return-1<$&&$<1&&-1<z&&z<1&&-1<C&&C<1}),getPVMatrix:function($){var z;return!$&&(z=this._18Q)||(z=z1(this),this._18Q=Uz(z,z,$1(this)),this._18Q._wh=this.getWidth()/2/this.getHeight()),z},getFrustum:(YZ=new ad,vZ=new gr,OZ=new Array(16),function(){for(var $=this.getPVMatrix(),z=!1,C=0;C<16;C++)$[C]!==OZ[C]&&(z=!0,OZ[C]=$[C]);return z&&vZ.setFromMatrix(YZ.fromArray($)),vZ}),toViewPosition:function($){var z=this.getWidth()/2,C=this.getHeight()/2,o=this.getPVMatrix();return{x:z+z*($=E_([$[0],$[1],$[2],1],o))[0]/$[3],y:C-C*$[1]/$[3],z:$[2]/$[3]}},getHitPosition:function($,z,C){var o=this.getWidth(),M=this.getHeight(),A=($=$.target?this.lp($):$).x-o/2,$=$.y-M/2,N=this.getCenterInfo(),s=$1(this),o=(z=z||[0,0,0],C=C||[0,1,0],A=A/o*N.width,$=-1*$/M*N.height,[s[0]*A,s[4]*A,s[8]*A]),M=[s[1]*$,s[5]*$,s[9]*$],N=[o[0]+M[0],o[1]+M[1],o[2]+M[2]],A=this.getCenter();return Gz(this,z,C,[N[0]+A[0],N[1]+A[1],N[2]+A[2]])||[0,0,0]},intersectObject:function($,z){return this._raycaster.intersectObject($,z)},intersectObjects:function($,z,C){return this._raycaster.intersectObjects($,z,C)},serializePhysicalShader:function(){return this._glPrograms.serializePhysicalShader()},deserializePhysicalShader:function($){return this._glPrograms.deserializePhysicalShader($)},getLineLength:function($){return this.validate(),($=this.getData3dUI($))&&$.getCache&&($=$.getCache())?$[$.length-1].length:0},getLineOffset:function($,z,C){var o=this.getData3dUI($);if(o&&o.getCache&&(o=o.getCache())){var M,o=ew(o,z,C);if($.s("shape3d")!==pt)return o;if($.getScale3d&&1===(A=$.getScale3d())[0]&&1===A[1]&&1===A[2]&&(A=null),!(M=$.r3&&0===(M=$.r3())[0]&&0===M[1]&&0===M[2]?null:M)&&!A)return o;var A,z=new Dd($.p3()),C=new Dd(o.point).sub(z),o=new Dd(o.tangent).add(C);return A&&(A=new Dd(A),C.multiply(A),o.multiply(A)),M&&(A=(new hA).setFromEuler(new UA(M,$.getRotationMode(),!0)),C.applyQuaternion(A),o.applyQuaternion(A)),{point:C.clone().add(z),tangent:o.sub(C).normalize()}}return fd},_genBatchInstancedArrayFunc:function(){var $=this._glCapabilities&&this._glCapabilities.instancedArray&&!this._batchInstancedDisabled,s=$?ep:Dp,o=(this.batchInstancedModel=function($,z,C,o,M,A,N){s(this,$,z,C,o,M,A,N)},$?kp:xp),A=(this.batchInstancedShapeFace=function($,z,C){o($,z,C)},$?pp:bp);this.batchInstancedFace=function($,z,C,o,M){A(this,$,z,C,o,M)}},isLabelVisible:function($){return!0},isNoteVisible:function($){return!0},skipNonSelectableOnPick:function($,z){return!z&&!this.isHighlightDrawing()&&!$.s("static")},moveCamera:function($,z,C){var o=this,M=[(M=o.getEye())[0],M[1],M[2]],A=[(A=o.getCenter())[0],A[1],A[2]];if($=$||M,z=z||A,o._flyAnim&&o._flyAnim.stop(!0),!(C=hv(C)))return o.setEye($[0],$[1],$[2]),o.setCenter(z[0],z[1],z[2]),delete o._flyAnim,!0;var N=[$[0]-M[0],$[1]-M[1],$[2]-M[2]],s=[z[0]-A[0],z[1]-A[1],z[2]-A[2]];return C.action=function($){o.setCenter(A[0]+s[0]*$,A[1]+s[1]*$,A[2]+s[2]*$),o.setEye(M[0]+N[0]*$,M[1]+N[1]*$,M[2]+N[2]*$)},C._37o=function(){delete o._flyAnim},o._flyAnim=w3(C)},flyTo:($Z=new Dd,zZ=new Dd,CZ=new Dd,oZ=new Dd,MZ=new Dd,AZ=new ad,NZ=new U.Math.Quaternion,sZ=new UA,gZ=new HA,function($,z,C){var o,M,A=this,N=(z=("boolean"==typeof z?{animation:z}:z)||{}).center,s=z.distance,g=z.direction,Y=z.worldDirection,v=C||z.ratio||.8,O=z.xRatio||v,v=z.yRatio||v,t=((C!==Kd||z.duration||z.frames)&&(z={animation:z}),[]),C=s===Kd;if(N&&CZ.fromArray(N),!N||C)if(($=1===($=$||A.dm().getDatas()).length?kv($)?$.get(0):$[0]:$)instanceof U.Node)N||CZ.fromArray($.p3()),C&&(EE(t,A,$),o=t.length);else{if(!$.length)return;if(!(!C&&N||(t=[],$.forEach(function($){EE(t,A,$)}),o=t.length)))return;N||(gZ.setFromPoints(t),CZ.copy(gZ.min).add(gZ.max).multiplyScalar(.5))}A._flyAnim&&A._flyAnim.stop(!0),$Z.fromArray(A.getEye()),zZ.fromArray(A.getCenter()),A.setCenter(CZ.x,CZ.y,CZ.z),oZ.subVectors($Z,zZ),(g||Y)&&(!Y&&$ instanceof U.Node?NZ.setFromEuler(sZ.set($.r3(),$.getRotationMode(),!0)):NZ.set(0,0,0,1),N=oZ.length(),oZ.fromArray(Y||g).applyQuaternion(NZ).setLength(N));var c=new Dd(A.getUp()),y=B.fequal(c.x,0,1e-5)&&B.fequal(c.z,0,1e-5),_=(y&&0===oZ.x&&0===oZ.z&&($=oZ.y,oZ.y=.999*$,oZ.z=.001*Math.sign($)),0);if(C){var P,Z,X,d=O,l=v;if(MZ.copy(oZ),A.isOrtho()){var J=-1/0;for(A._eye[0]=oZ.x+CZ.x,A._eye[1]=oZ.y+CZ.y,A._eye[2]=oZ.z+CZ.z,P=z1(A),Uz(P,P,$1(A)),M=0;M<o;M++)X=t[M],Z=E_([X.x,X.y,X.z,1],P),J=Math.max(J,Math.max(Math.abs(Z[0])/d,Math.abs(Z[1])/l));_=A.getOrthoWidth()*J}else{for(var K,f,R=A.getNear(),Q=10;Q--;){for(A._eye[0]=oZ.x+CZ.x,A._eye[1]=oZ.y+CZ.y,A._eye[2]=oZ.z+CZ.z,P=z1(A),Uz(P,P,$1(A)),K=!0,f=-1/0,M=0;M<o;M++){if(X=t[M],(Z=E_([X.x,X.y,X.z,1],P))[3]<R&&Q){oZ.multiplyScalar(2),K=!1;break}f=Math.max(f,Math.max(Math.abs(Z[0])/d,Math.abs(Z[1])/l)-Z[3])}if(K)break}oZ.setLength(f+oZ.length())}oZ.manhattanLength()<1e-6&&oZ.copy(MZ)}else A.isOrtho()?_=2*s*jd(A.getFovy()/2)/A.getAspect():oZ.setLength(s);var W,V,e,D,a,k,x,p,b,u,n,I,Y=oZ.add(CZ);return(g=hv(z.animation))?(A.setEye($Z.x,$Z.y,$Z.z),A.setCenter(zZ.x,zZ.y,zZ.z),N=Y.clone().sub(CZ),(W=N.length())&&N.multiplyScalar(1/W),$=$Z.clone().sub(zZ),(V=$.length())&&$.multiplyScalar(1/V),C=(new ad).lookAtDirection($,c),O=(new ad).lookAtDirection(N,c),e=(new hA).setFromRotationMatrix(C),D=(new hA).setFromRotationMatrix(O),a=(new Dd).subVectors(CZ,zZ),_&&(k=A.getOrthoWidth()),x=new Dd,p=new Dd,b=new Dd,u=g.action,n=g._37o,I=zZ.clone(),g.action=function($,z){p.copy(I).addScaledVector(a,$);var C=e.clone().slerp(D,$);x.set(0,0,1).applyQuaternion(C).setLength(V+(W-V)*$).add(p),b.set(0,1,0).applyQuaternion(C),A.setCenter(p.x,p.y,p.z),A.setEye(x.x,x.y,x.z),A.setUp(b.x,b.y,b.z),_&&A.setOrthoWidth((_-k)*$+k),u&&u($,z)},g._37o=function(){delete A._flyAnim;var $=A.getUp(),z=y?Qd.graph3dViewUp:c.toArray();$[0]===z[0]&&$[1]===z[1]&&$[2]===z[2]||A.setUp(z),n&&n()},{lastEye:$Z,lastCenter:zZ,eye:Y,center:CZ,orthoWidth:_,animation:A._flyAnim=w3(g)}):(A.setEye(Y.x,Y.y,Y.z),A.setCenter(CZ.x,CZ.y,CZ.z),_&&A.setOrthoWidth(_),delete A._flyAnim,{lastEye:$Z,lastCenter:zZ,eye:Y,center:CZ,orthoWidth:_})}),getBoundingBox:(B9=new ad,function($){if(0===($=($=$||this.sm().getSelection())instanceof U.Node?[$]:$).length)return fd;var g=[],z=($.forEach(function($){if(R($)){var z=g;if($ instanceof U.Node){var C=U.Default.getShape3dModel($.s("shape3d")),o=[-.5,-.5,-.5],M=[.5,.5,.5],A=(C&&C.boundingBox&&(o=C.boundingBox.min,M=C.boundingBox.max),[o[0],o[1],o[2],o[0],o[1],M[2],o[0],M[1],o[2],o[0],M[1],M[2],M[0],o[1],o[2],M[0],o[1],M[2],M[0],M[1],o[2],M[0],M[1],M[2]]),N=(B9.fromArray(L_($,this.getMat($))),$.getAnchor3d());N.x=N.x-.5,N.y=N.y-.5,N.z=N.z-.5;for(var s=0;s<24;s+=3)z.push((new Dd).set(A[s]-N.x,A[s+1]-N.y,A[s+2]-N.z).applyMatrix4(B9))}}},this),[1/0,1/0,1/0]),C=[-1/0,-1/0,-1/0];return g.forEach(function($){z[0]=Math.min($.x,z[0]),z[1]=Math.min($.y,z[1]),z[2]=Math.min($.z,z[2]),C[0]=Math.max($.x,C[0]),C[1]=Math.max($.y,C[1]),C[2]=Math.max($.z,C[2])}),{min:z,max:C}}),isShaderCompileParallel:function(){return!!this._parallelShaderCompile},shouldCompileShaderInParallel:function($){return this._parallelShaderCompile&&Uw($)},enableShaderCompileParallel:function(){if(!this.getGLExtension("KHR_parallel_shader_compile"))return!1;this._parallelShaderCompile=!0},disableShaderCompileParallel:function(){this._parallelShaderCompile=!1},setBatchInfo:function($,z){var C=this._batchInfoMap[$];this._batchInfoMap[$]=z,this.fp("batchInfo",C,z)},getBatchInfo:function($){return this._batchInfoMap[$]||Hh[$]},getStaticInstancingKey:function($,z){if(!z&&(o=$._lastInstancingKey))return o;var C,z=$.s("shape3d"),o=Dv(z)?C=(C=z.uuid)?C:z.uuid=B.generateUUID():z;return o+=($._flipSide?"_1_":"_0_")+$.s("static.group"),$._lastInstancingKey=o},setOrthoWidth:function($,z){var C,o,M=this._orthoWidth;this._orthoWidth=$,!z&&this._syncEyeWithOrthoWidth&&(z=$/this.getAspect()/2/jd(this.getFovy()/2),C=(new Dd).fromArray(this.getEye()),o=(new Dd).fromArray(this.getCenter()),C.sub(o).setLength(z).add(o),this.setEye(C.toArray())),this.fp("orthoWidth",M,$)},getCamera:function($){var z=this,C=(($=($=$||z._mainCamera)||(z._mainCamera=new U.Camera)).s({"camera.type":z.isOrtho()?"ortho":"perspective","camera.fovy":z.getFovy(),"camera.ortho.width":z.getOrthoWidth(),"camera.near":z.getNear(),"camera.far":z.getFar()}),$.s("camera.aspect.sync")&&$.s("camera.aspect",z.getAspect()),z.getEye());return $.p3(C.slice()),$.lookAt(z.getCenter(),z.getUp()),$},syncFromCamera:function($){var z=this,C=new Dd(z.getEye()),o=new Dd(z.getCenter()),M=new Dd,A=o.sub(C).length(),N=(z.setEye($.p3()),$.getEuler());return M.set(0,0,-1).applyEuler(N),C.copy(M).setLength(A).add(o.copy($.p3())),z.setCenter(C.toArray()),C.set(0,1,0).applyEuler(N),o.set(0,1,0),Math.abs(M.cross(C).dot(o))<1e-5?z.setUp(o.toArray()):z.setUp(C.toArray()),z.setOrtho("ortho"===$.s("camera.type")),$.s("camera.aspect.sync")&&z.setAspect($.s("camera.aspect")),z.setFovy($.s("camera.fovy")),z.setOrthoWidth($.s("camera.ortho.width"),!0),z.setNear($.s("camera.near")),z.setFar($.s("camera.far")),!0},resetHeadlightProperties:function(){this._headlightColor=Qd.graph3dViewHeadlightColor,this._headlightIntensity=Qd.graph3dViewHeadlightIntensity,this._headlightRange=Qd.graph3dViewHeadlightRange,this._headlightDirection=Qd.graph3dViewHeadlightDirection,this._headlightGroup=Qd.graph3dViewHeadlightGroup,this._headlightAmbientIntensity=Qd.graph3dViewHeadlightAmbientIntensity,this._headlightDisabled=Qd.graph3dViewHeadlightDisabled,this._headlightRatioForPhysicalMaterial=Qd.graph3dViewHeadlightRatioForPhysicalMaterial},resetFogProperties:function(){this._fogDisabled=Qd.graph3dViewFogDisabled,this._fogMode=Qd.graph3dViewFogMode,this._fogDensity=Qd.graph3dViewFogDensity,this._fogColor=Qd.graph3dViewFogColor,this._fogNear=Qd.graph3dViewFogNear,this._fogFar=Qd.graph3dViewFogFar},_gatherRenderLayersByPriority:function($){if($||!(this._renderLayerSettingsVersion>=WK)){var z,C=this,o=(C._renderLayerSettingsVersion=WK,C._sortedRenderLayers=Jd.keys(C._renderLayerInfoMap));for(z in VK)0<=o.indexOf(z)||o.push(z);o.sort(function($,z){return C.getRenderLayerInfo($).priority-C.getRenderLayerInfo(z).priority})}},setRenderLayerInfo:function($,z){aK(0,$,this._renderLayerInfoMap);var C,o=this.getRenderLayerInfo($),$=U3(o);for(C in z)"mask"!==C&&(o[C]=z[C]);this._gatherRenderLayersByPriority(!0),this.fp("renderLayerInfo",$,o)},getRenderLayerInfo:function($){return this._renderLayerInfoMap[$]||VK[$]},setRenderLayerInfoMap:function($){var z,C=this._renderLayerInfoMap,o=!(this._renderLayerInfoMap={});for(z in $)this.setRenderLayerInfo(z,$[z]),o=!0;o||this._gatherRenderLayersByPriority(!0),this.fp("renderLayerInfoMap",C,this._renderLayerInfoMap)},getRenderLayerInfoMap:function(){return this._renderLayerInfoMap},getRenderLayerKeys:function(){return this._sortedRenderLayers},getExternalSceneRotation:function(){return null},setCustomShadowProcess:function($){this._customShadowProcess=$}}),Qd.registerTextureLoader=function($){KZ?KZ.push($):KZ=[$]},Qd.unregisterTextureLoader=function($){if(KZ)return 0<=($=KZ.indexOf($))&&(KZ.splice($,1),0===KZ.length&&(KZ=null),!0)},function($,z){return(5131!==z||$.isWebGL2()?z:null!==($=$._glExtensions.get("OES_texture_half_float"))?$.HALF_FLOAT_OES:null)||5121}),qi=function($,z){z?($._needDeleteGetAttrBackupFunc=!$.hasOwnProperty("getAttr"),$._textureAttrObject=z,$._getAttrBackupFunc=$.getAttr,$.getAttr=HE):(delete $._textureAttrObject,$._needDeleteGetAttrBackupFunc?delete $.getAttr:$.getAttr=$._getAttrBackupFunc,delete $._needDeleteGetAttrBackupFunc,delete $._getAttrBackupFunc)},Ti=function($,z,C){if(!$.isWebGL2())return z;var o=z;return 6403===z&&(5126===C&&(o=33326),5131===C&&(o=33325),5121===C&&(o=33321)),33319===z&&(5126===C&&(o=33328),5131===C&&(o=33327),5121===C&&(o=33323)),6407===z&&(5126===C&&(o=34837),5131===C&&(o=34843),5121===C&&(o=32849)),6408===z&&(5126===C&&(o=34836),5131===C&&(o=34842),5121===C&&(o=32856)),33325!==(o=36249===z&&5125===C?36208:o)&&33326!==o&&34842!==o&&34836!==o&&36208!==o||$._glExtensions.get("EXT_color_buffer_float"),o},ri=pA(),Bi=(Jd.assign(w.Graph3dView.prototype,{getTextureMap:function(){return this._2O},setTextureStyle:function($,z,C){return!(!($=j($))||!$.texture||(this.deleteTexture($),$[z]=C,this.iv(),0))},setTexture:function($,z,C){var o,M;C=C||"",(o=this._2O[$])?o[C]&&(M=this.getGL())&&o[C]!==z&&M.deleteTexture(o[C]):o=this._2O[$]={},o[C]=z},deleteTexture:function($){if(this._2O){$&&$.uuid&&($=$.uuid);var z=this._2O[$];if(z){delete this._2O[$];var C,o=this.getGL();for(C in z)o.deleteTexture(z[C]);return!0}}},invalidateCachedTexture:(WZ=[],VZ=["shape3d.image"],["top","bottom","from","to"].forEach(function($){VZ.push("shape3d."+$+".image")}),["all","left","right","top","bottom","front","back"].forEach(function($){WZ.push($+".image")}),eZ=function($){return!!$&&(Dv($)&&!ed($)?!$.tagName&&(!$.texture||eZ($.image)):Vd($)&&qh.test($))},function($,z){if($ instanceof hK){for(var C,o,M,A,N=this.getData3dUI($),s=(N&&(C=N.invalidateCachedTexture(this.getGL())),$.getMaterials()),g=0,Y=s.length;g<Y;g++)for(var v in o=s[g])M=o[v],C=iE(this,M)||C;if((N=$.getStyle("shape3d"))?Vd(N)&&!Bh.test(N)&&(A=VZ):A=WZ,A)for(var O=$.getStyleMap(),g=0,Y=A.length;g<Y;g++)C=iE(this,M=O[A[g]])||C;!1===z&&!C||this.invalidateData($)}}),invalidateShape3dCachedImage:function($){this.invalidateCachedTexture($)},getTextureFromLoader:function($){if(KZ)for(var z,C=0,o=KZ.length;C<o;C++)if((z=KZ[C]).checkType($))return z.getTexture(this,$)},getGLTextureFromLoader:function($){var z=this.getTextureFromLoader($);return z&&(z=this.createTexture(z),this.setTexture($,z),z)},_getPrefabBoneTextureId:function($){var z=$.originalPrefab;return($=z||$)._4LQ||($._4LQ=ri.next())},getPrefabBoneTexture:function($){var z=this._26I;return z?($=this._getPrefabBoneTextureId($),z._4KQ[$]):null},setPrefabBoneTexture:function($,z){$=this._getPrefabBoneTextureId($),this._26I._4KQ[$]=z},textureToCanvas:function($,z,C,o,M){var A=Wz($)?$:this.getTextureFromLoader($);if(A=A||this.getTexture($)){var N,C=C||A.width,o=o||A.height;if(C&&o)return N={type:"blitScreen",image:A,defines:$={}},(z=z===Kd?"linear"===A.colorSpace:z)&&($.USE_LINEAR=!0),M&&($.FLIP_Y=!0),A=new M4(this,C,o),this.renderModel(A,N),z=A.toCanvas(),A.release(),z}},createTexture:function($,z){var C,o,M,A,N,s=this.getGL(),g=tz,Y=wi(this,$.type||$.textureType),v=$.format||g.RGBA,O=Ti(this,v,Y),t=($.image?(M=j($.image),C=$.width||M.naturalWidth||M.width,o=$.height||M.naturalHeight||M.height,t=!M||"VIDEO"!==M.tagName&&(!C||!o)):(M=$.data,C=$.width,o=$.height,(t=M===Kd||!C||!o)||(A=!0)),t&&(M=null,C=o=0),$.minFilter||$.filter||g.LINEAR),c=$.magFilter||$.filter||g.LINEAR,y=$.wrapS||$.wrap,_=$.wrapT||$.wrap,P=B.isPOT(C)&&B.isPOT(o),Z=(y||_||(y=_=!P||$.clampToEdge||M&&M.clampToEdge?g.CLAMP_TO_EDGE:g.REPEAT),this.isWebGL2()),X=(Z||y===g.CLAMP_TO_EDGE&&_===g.CLAMP_TO_EDGE&&(t===g.NEAREST||t===g.LINEAR)||P||!M||A||(X=$.scaleMode,d=B.nearestPOT(C),N=B.nearestPOT(o),"smaller"===X?(C<d&&(d/=2),o<N&&(N/=2)):"larger"===X&&(d<C&&(d*=2),N<o&&(N*=2)),C=d,o=N,P=!0),M&&!A&&((X=this._glCapabilities.maxTextureSize)<C||X<o)&&(d=Math.min(C,X),N=Math.min(o,X)),d&&N&&(M=Qd.resizeImage(M,d,N),C=d,o=N),!z),d=(z=z||s.createTexture(),s.activeTexture(33984),N1(s,z),s.pixelStorei(37440,!0===$.flipY),s.pixelStorei(37441,!1),A?s.texImage2D(g.TEXTURE_2D,0,O,C,o,0,v,Y,M):M&&s.texImage2D(g.TEXTURE_2D,0,O,v,Y,M),s1(s,10242,y),s1(s,10243,_),s1(s,10240,c),$.generateMipmaps&&(Z||P));return(d=d===Kd?y!==g.CLAMP_TO_EDGE||_!==g.CLAMP_TO_EDGE:d)?(s1(s,10241,9728===t?9984:9987),Z&&$.mipmapMaxLevel!==Kd&&s1(s,33085,$.mipmapMaxLevel),s.generateMipmap(g.TEXTURE_2D)):s1(s,10241,t),N1(s,fd),A&&z&&(z.width=C,z.height=o),$.gray&&X&&this._addTextureTask(z,C,o,"gray",{generateMipmaps:d}),z},resetSharedTextureIndex:function(){this._sharedTextureIndex=0},textureAccessesByMaterial:function($,z){var C,o=this._sharedTextureIndex,M=this.getGL();return 0===o?C=M._sharedTexture:(C=M._sharedTexturePool[o-1])||(M._sharedTexturePool[o-1]=C=o1(this,M)),(o=this.getTexture($,z,Kd,Kd,C))===C&&this._sharedTextureIndex++,o},getTexture:function($,z,C,o,M){if(!$)return fd;var A=this,N=A.getGL(),s=A._2O[$];if(!(g=(s=!s&&Dv($)&&$.uuid?A._2O[$.uuid]:s)?s[(Z=z&&!Dv($)?z.s("texture.mipmap.max"):Z)||""]||s.default:g)&&null===(g=A.getGLTextureFromLoader($)))return N._emptyTexture;if(!g){if(!(s=j($)))return N._emptyTexture;o=o?Jd.assign({},o):{},z&&(o.mipmapMaxLevel=Z=z.s("texture.mipmap.max"),Y=z.s("texture.wrap"),o.clampToEdge="clampToEdge"===Y||"repeat"!==Y&&Kd,o.flipY=z.s("texture.flipY")),s.uuid||(s.uuid=U.Math.generateUUID());var g,Y=Vd($)?$:s.uuid,v=s.texture||!!s.data;if(s.tagName||v){if(s.dynamic&&!(c=N._dynamicTexturePool[s.uuid])&&(c=N._dynamicTexturePool[s.uuid]=N.createTexture()),v){if(g=!(v=s.image)&&s.data?s:A.getTextureFromLoader(v))return(t=Jd.assign({},g,s)).image&&delete t.image,g=A.createTexture(t,c),s.dynamic||A.setTexture(Y,g),g;if(null===g)return N._emptyTexture;if(!(t=j(v)))return N._emptyTexture;if(t.tagName){if(!S3(t,z))return N._emptyTexture;g=A.createTexture(s,c)}else{if(!s.dynamic){if(N._renderInfo.textureCache.time>Qd.graph3dMaxVectorCacheTime)return A.redraw(),N._emptyTexture;if(!S3(t,z))return N._emptyTexture}g=A._getTextureFromSymbol(N,z,$,t,s,c,!s.dynamic)}Z=""}else{if(!S3(s,z))return N._emptyTexture;v=o.image,o.image=s,g=A.createTexture(o,c),o.image=v}s.dynamic||A.setTexture(Y,g,Z)}else{var O,t=z&&(z.s("texture.cache")||z.s("shape3d.image.cache")||s.textureCache),c=A.getPresentingReality();if(c&&z&&(z._textureUpdateFrame===N._renderInfo.frame?t=!0:z._textureUpdateFrame=N._renderInfo.frame),t&&(g=(O=A.getData3dUI(z)).getCachedTexture(C))&&O.interactiveInfo&&g.interactiveInfo&&(O.interactiveInfo[g.interactiveInfo.key]=g.interactiveInfo.info),!g){if(t){if(N._renderInfo.textureCache.time>Qd.graph3dMaxVectorCacheTime)return A.redraw(),N._emptyTexture;if(!S3(s,z))return N._emptyTexture}z&&(1!==z.s("texture.scale")?P=z.s("texture.scale"):1!==z.s("shape3d.texture.scale")&&(P=z.s("shape3d.texture.scale")));var y,_,P,P=P||1,Y=(v=z&&(z.s("fixSizeOnScreen")||z.s("shape3d.fixSizeOnScreen")))?9728:9729;v?"number"==typeof v&&(P*=v<0?1:v):z&&(z.s("vector.dynamic")||z.s("shape3d.vector.dynamic"))&&(v=(O=O||A.getData3dUI(z)).getVectorDynamicSize());"billboard"===(Z=z&&z.s("shape3d"))?y=z.getTall()/z.getWidth():"plane"===Z&&(y=z.getHeight()/z.getWidth());var Z=z&&z.s("texture.width"),Z=y&&Vv(Z)?vK(s,z,A,Math.min(4096,Z)):vK(s,z),X=y?OK(s,z,A,Math.min(4096,Z*y)):OK(s,z);v&&(_=A._devicePixelRatio||X3,Z=0<v[0]?v[0]:P*Z,X=0<v[1]?v[1]:P*(y?OK(s,z,A,Math.min(4096,Z*y)):OK(s,z)),P=_),o.scale=P,o.width=Z,o.height=X,z?(o.minFilter=Np(z.s("texture.filter.min")||z.s("texture.filter"))||Y,o.magFilter=Np(z.s("texture.filter.mag")||z.s("texture.filter"))||Y):o.minFilter=o.magFilter=Y,M=t||c?null:M||N._sharedTexture,g=A._getTextureFromSymbol(N,z,$,s,o,M,t||c),(t||c)&&(O=!O&&z?A.getData3dUI(z):O)&&O.setCachedTexture(g,C)}}}return g},_getTextureFromSymbol:function($,z,C,o,M,A,N){o.uuid||(o.uuid=U.Math.generateUUID());var s,g,Y,v,O=M.width||vK(o,z),t=M.height||OK(o,z),c=M.scale||1,y=c*O,_=c*t;return 1<=y&&1<=_&&($=$._renderInfo.textureCache,s=0,N&&(s=Date.now()),g=this._glCapabilities.maxTextureSize,y=Math.min(y,g),_=Math.min(_,g),g=Nx(y,_),1!==c&&g.scale(c,c),z&&(c=this.getData3dUI(z))&&c.interactiveInfo&&("object"==typeof(v=C)&&(v=v.uuid||(v.uuid=U.Math.generateUUID())),Y=c.interactiveInfo[v]={},g.interactiveInfo=Y.bodyInfo={compInfos:[],matrix:new RA,rect:{x:0,y:0,width:O,height:t}}),(C=z&&z.setCurrentDrawingImage)&&z.setCurrentDrawingImage(o),M.texture&&M.dataBindings?z?(qi(z,M.dataBindings),tK(g,o,0,0,O,t,z,this),qi(z)):((fZ=fZ||new hK).setAttrObject(M.dataBindings),tK(g,o,0,0,O,t,fZ,this),fZ.setAttrObject(null)):tK(g,o,0,0,O,t,z,this),C&&z.setCurrentDrawingImage(null),g.interactiveInfo&&(g.interactiveInfo=null),g.restore(),c=M.image,M.image=Mx,g=this.createTexture(M,A),M.image=c,Y&&(g.interactiveInfo={key:v,info:Y}),$.count++,$.pixels+=y*_,N&&($.time+=Date.now()-s)),g},regenerateMipmap:function($,z){$.activeTexture(33984),N1($,z),$.generateMipmap(3553),N1($,fd)},_addTextureTask:function($,z,C,o,M){$={texture:$,width:z,height:C,info:M,taskName:o},(z=this._textureTasks)?z.push($):this._textureTasks=[$],this.iv()},_runTextureTasks:(QZ="__gray__",function(){var $=this._textureTasks;if($&&$.length){var z=this.getGL();if(z){for(var C,o=0;o<$.length;o++){var M=(g=$[o]).texture,A=g.width,N=g.height,s=g.taskName,g=g.info;"gray"===s&&(s=z,C=void 0,(C=this._textureSharedRtt)?C.setSize(s,A,N):C=this._textureSharedRtt=new M4(this,A,N),U.Default.getShaderMap()[QZ]||U.Default.setShader(QZ,["#include <blitScreenVS>","// FS","uniform sampler2D image;","varying vec2 vUv;","void main() {"," gl_FragColor = texture2D(image, vUv);"," gl_FragColor.rgb = vec3(dot(gl_FragColor.rgb, vec3(0.299, 0.587, 0.114)));","}"].join("\n")),this.renderModel(C,{type:QZ,image:M}),A=C.swapTexture(M),this.renderModel(C,{type:"blitScreen",image:A}),C.swapTexture(A),g.generateMipmaps&&this.regenerateMipmap(s,M))}this._textureTasks=null}}})}),function($,z,C){if(!$)return 0;if($.texture){if($.width)return $.width;$=j($.image)}return vK($,z,C)}),$4=function($,z,C){if(!$)return 0;if($.texture){if($.height)return $.height;$=j($.image)}return OK($,z,C)},z4=((((o=w.EnvmapRenderer=function($){this.gv=$,this._envmaps={},this._envmapHash={},this._probeCaptureTime={},this._envmapPoolCachedByImage=[],this._pingPongRenderTarget=null,this._equirectMaterial=null,this._blurMaterial=null,this._lastCaptureFrame=0,this._cubemapMaterial=null,this._envmapIntensity={}}).prototype={}).constructor=o).prototype.changeEnvmapType=function($){if("legacy"===$){for(var z in this.setEnvmapByProbeId=this.setEnvmapLegacy,this.onBeforeRender=this.onBeforeRenderLegacy,this._envmaps)FE(this._envmaps,z,null);this._envmapHash={},this._probeCaptureTime={}}else this.setEnvmapByProbeId=this.setEnvmap,this.onBeforeRender=this.onBeforeRenderNew},o.prototype.invalidateEnvmap=function($){var z=this.gv;"legacy"!==z.getEnvmapType()&&z.getGL()&&($?(delete this._envmapHash[$],delete this._probeCaptureTime[$]):(this._envmapHash={},this._probeCaptureTime={}),z.iv())},o.prototype.dispose=function(){var $,z=this,C=[z._pingPongRenderTarget,z._hdrDynamicComposeRTT];for($ in z._envmaps)C.push(z._envmaps[$]);t1(z.gv,C),z._envmaps={},z._envmapPoolCachedByImage=[],z._envmapHash={},z._pingPongRenderTarget=null,z._equirectMaterial=z._cubemapMaterial=z._blurMaterial=null,z._hdrDynamicComposeRTT=null,z._envmapLegacy=null,z._lastLegacyImage=null},o.prototype.onBeforeRenderLegacy=function($){this.gv._picking||(this.assureTextureLegacy($),this.assureEnvmapPoolForImage())},o.prototype.assureTextureLegacy=function($){var z,C,o=this.gv.getEnvmap();o!==this._lastLegacyImage&&(this._envmapLegacy&&($.deleteTexture(this._envmapLegacy),this._envmapLegacy=null),o?(z=Qd.getImage(o))&&z.tagName&&(z=Qd.resizeImagePOT(z,!0),C=this._envmapLegacy=$.createTexture(),$.activeTexture(33984),$.bindTexture(34067,C),$.texParameteri(34067,10240,9729),$.texParameteri(34067,10241,9729),$.texImage2D(34069,0,6408,6408,5121,z),$.texImage2D(34070,0,6408,6408,5121,z),$.texImage2D(34071,0,6408,6408,5121,z),$.texImage2D(34072,0,6408,6408,5121,z),$.texImage2D(34073,0,6408,6408,5121,z),$.texImage2D(34074,0,6408,6408,5121,z),$.bindTexture(34067,$._emptyCubeTexture),this._lastLegacyImage=o):this._lastLegacyImage=o)},o.prototype.setEnvmapLegacy=function($,z,C){$.uEnvMap=this._envmapLegacy,$.envMapIntensity=C},o.prototype.onBeforeRenderNew=function($){this.gv._picking||(this.assureTextureNew($),this.resetUniformCache(),this.assureEnvmapPoolForImage())},o.prototype.isHDR=function($){return"string"==typeof $&&($.indexOf(".hdr")===$.length-4||$.indexOf(".HDR")===$.length-4)},o.prototype.isDynamicImage=function($){return $&&$.comps&&$.comps[0]&&"__ht_envmap_bg__"===$.comps[0].type},o.prototype.isImageReady=function($){var z;if(this.isHDR($))z=Qd.getHdrTexture($);else if(z=Qd.getImage($),this.isDynamicImage(z)&&!this.isImageReady(z.comps[0].image))return!1;return z},o.prototype.assureTextureNew=function($){var z=this,C=z.gv,o=C.getEnvmap(),M=z._envmapHash,A=z._envmaps,N=z._envmapIntensity,$=$._renderInfo.frame;if(this._lastCaptureFrame>=$||C._picking)for(s in o)Y=o[s].intensity,N[s]=Y==fd?1:Y;else{for(var s in o){var g=o[s],Y=g.intensity;switch(N[s]=Y==fd?1:Y,g.type){case"sphere":(X=g.image)!==M[s]&&(X?z.isImageReady(X)&&(M[s]=X,FE(A,s,z.fromEquirectangular(X))):(M[s]=X,FE(A,s,null)));break;case"cube":var v=g.texture;if(v!==Kd)M[s]!==v&&(M[s]=v,FE(A,s,z.fromCubemap(v,g.encoding)));else{var O=g.images;if(O&&6===O.length){if((X=O.join(","))!==M[s]){for(var t=!0,c=!1,y=0;y<6;y++){if(!O[y]){c=!0;break}if(!Qd.getImage(O[y])){t=!1;break}}c?(M[s]=X,FE(A,s,null)):t&&(M[s]=X,FE(A,s,z.fromCubemap(O)))}}else M[s]=Kd,FE(A,s,null)}break;case"skybox":var _,P=C.getSkybox(),Z=!1;if(P){if("sphere"===(v=P.s("shape3d")))X=P._id+"_"+P.s("shape3d.image");else for(var X=P._id,y=0;y<6;y++)X+="_"+P.s(Mw[y]+".image");if(X!==M[s]){if("sphere"===v)(_=P.s("shape3d.image"))==fd?Z=!0:t=z.isImageReady(_);else for(t=!0,y=0;y<6;y++){if((_=P.s(Mw[y]+".image"))==fd){Z=!0;break}if(!Qd.getImage(_)){t=!1;break}}Z?(M[s]=X,FE(A,s,null)):t&&(M[s]=X,FE(A,s,z.fromSkybox()))}}else A[s]&&(M[s]=Kd,FE(A,s,null));break;case"probe":var d,l,J=g.pos,K=g.size;(X=J[0]+"_"+J[1]+"_"+J[2]+"_"+K)!==M[s]&&(d=this._probeCaptureTime[X],l=Date.now(),d||(this._probeCaptureTime[X]=d=l),l-d>Qd.envmapProbeMinWaitTime&&!Ov&&!ip||l-d>Qd.envmapProbeMaxWaitTime?(delete this._probeCaptureTime[X],M[s]=X,FE(A,s,z.fromSceneProbe(J,K,g.filter))):C.iv())}}Jd.keys(A).forEach(function($){o[$]===Kd&&(delete M[$],FE(A,$,null))})}},o.prototype.resetUniformCache=function(){this._frameUniformCache={}},o.prototype.setEnvmap=function($,z,C){var o=$.uuid,M=this._frameUniformCache,A=(A=this._envmaps[z])&&A.texture;M.hasOwnProperty(o)&&M[o]===A||(M[o]=A,$.uEnvMap=A),C&&(C*=this._envmapIntensity[z]||0),$.envMapIntensity=C},o.prototype.assureEnvmapPoolForImage=function(){for(var $=this._envmapPoolCachedByImage,z=0,C=$.length;z<C;z++)$[z][0]&&!$[z][1]&&this.isImageReady($[z][0])&&($[z][1]=this.fromEquirectangular($[z][0]))},o.prototype.assureEnvmapFromEquirectangular=function($){for(var z,C=this._envmapPoolCachedByImage,o=0,M=C.length;o<M;o++)if(C[o][0]===$)return(z=C[o][1])?z.texture:null;return C.push([$,null]),this.gv.iv(),null},o.prototype.invalidateEnvmapUsedByMaterial=function($){if($)for(var z=this._envmapPoolCachedByImage,C=0,o=z.length;C<o;C++)z[C][0]===$&&(z[C][1]=null);else this._envmapPoolCachedByImage=[];this.gv.iv()},o.prototype.isEnvmapUsedByMaterialReady=function($){for(var z=this._envmapPoolCachedByImage,C=$==fd,o=0,M=z.length;o<M;o++)if(C){if(!z[o][1])return!1}else if(z[o][0]===$)return!!z[o][1];return C},o.prototype.fromEquirectangular=function($){var z,C,o,M,A,N=this.isHDR($)?(z=U.Default.getHdrTexture($),"linear"):this.isDynamicImage($)&&this.isHDR($.comps[0].image)?(M=(C=$.comps[0]).image,C.image=null,o=this.gv.getTexture($),C.image=M,M=this.gv.getTexture(M),A=(A=this._hdrDynamicComposeRTT)||(this._hdrDynamicComposeRTT=this._allocateTargets()),N=$.width,this.gv.renderModel(A,N,$.height,{type:"envmapDynamicCompose",offset:C.offset?(C.offset%1+1)%1:0,texture1:M,texture2:o}),A=A.texture,z=$,"linear"):(z=U.Default.getImage($),"sRGB");return z?(this.rectSize=[1/z.width,1/z.height],$=A||this.gv.getTexture($),this.fromTexture($,null,N)):null},o.prototype.fromCubemap=function($,z){if(z=z||"sRGB",Wz($))return this.fromTexture($,!0,z);for(var C=this.gv.getGL(),o=C.createTexture(),M=(C.activeTexture(33984),C.bindTexture(34067,o),C.texParameteri(34067,10240,9729),C.texParameteri(34067,10241,9729),[]),A=hZ/3,N=0;N<6;N++)M[N]=Qd.resizeImage(U.Default.getImage($[N]),A);return C.texImage2D(34069,0,6408,6408,5121,M[0]),C.texImage2D(34070,0,6408,6408,5121,M[1]),C.texImage2D(34071,0,6408,6408,5121,M[2]),C.texImage2D(34072,0,6408,6408,5121,M[3]),C.texImage2D(34073,0,6408,6408,5121,M[4]),C.texImage2D(34074,0,6408,6408,5121,M[5]),C.bindTexture(34067,C._emptyCubeTexture),this.fromTexture(o,!0,z)},o.prototype.fromTexture=function($,z,C){var o=this._allocateTargets(),M=(this._pingPongRenderTarget||(this._pingPongRenderTarget=this._allocateTargets()),this.gv),A=M.getGL(),N=kd.for(A).directState(),s=N.depth.enabled,g=(N.scissor.enabled=!0,N.depth.enabled=!1,M.getViewport(A));return this._textureToCubeUV($,o,z,C),this._applyPMREM(o),M.setViewport(A,g[0],g[1],g[2],g[3]),N.depth.enabled=s,N.scissor.enabled=!1,o},o.prototype.fromSkybox=function(){return this._fromCamera(function($){$.s({"camera.onlySky":!0,"camera.skybox.blur":!1})})},o.prototype.fromScene=function(z){return this._fromCamera(function($){$.s({"camera.onlySky":!1}),z&&z($)})},o.prototype.fromNode=function($){var z,C=this.gv.getData3dUI($),o=C._42,M=(C._42=Nv,this.gv.getSkybox()),A=$.p3(),$=(M&&(z=M.p3(),M.p3(A)),this.fromScene(function($){$.p3(A)}));return C._42=o,M&&M.p3(z),$},o.prototype.fromSceneProbe=function(z,C,o){var $,M,A=this.gv,N=A.getSkybox(),s=(N&&($=N.p3(),N.p3(z)),o&&(M=A.isVisible,A.isVisible=function($){var z=o($);return z!==Kd?z:M.call(A,$)}),this.fromScene(function($){$.p3(z),$.s("camera.near",C)}));return o&&(A.isVisible=M),N&&N.p3($),s},o.prototype._fromCamera=function($){var z=this.gv,C=z.getCamera(),$=($&&$(C),new M4(z,hZ,hZ,{cube:!0})),o=z.getGL(),M=z.getViewport(o),A=this.setEnvmapByProbeId,N=this.onBeforeRender,C=(this.setEnvmapByProbeId=function($){$.envMap=o._emptyTexture},this.onBeforeRender=Nv,C.attachRenderTarget($),C.render(z),C.detachRenderTarget(),this.setEnvmapByProbeId=A,this.onBeforeRender=N,z.setViewport(o,M[0],M[1],M[2],M[3]),this.fromTexture($.texture,!0,"sRGB"));return $.releaseTexture(),C},o.prototype._allocateTargets=function($){return new M4(this.gv,3*kZ,3*kZ,{textureType:5131})},o.prototype._textureToCubeUV=function($,z,C,o){var M,A,N=this,s=N.gv,g="sRGB"===o?"USE_SRGB":"USE_LINEAR",g=(C?(null==N._cubemapMaterial&&(N._cubemapMaterial={}),null==(M=N._cubemapMaterial[g])&&((A={})[g]=!0,N._cubemapMaterial[g]=M={type:"envmapCubemap",internalDefines:!1,defines:A})):(null==N._equirectMaterial&&(N._equirectMaterial={}),null==(M=N._equirectMaterial[g])&&((A={})[g]=!0,N._equirectMaterial[g]=M={type:"envmapEquirect",internalDefines:!1,defines:A})),M.envMap=$,C||(M.texelSize=N.rectSize),nZ[0]);s.renderModel(z,{model3d:!0,mesh:g,mat:M,encoding:"linear"===o?1:0},{restoreViewport:!1,preRender:function(){N._setViewport(z,0,0,3*kZ,2*kZ)}})},o.prototype._applyPMREM=function($){for(var z,C,o=1;o<pZ;o++)z=Math.sqrt(IZ[o]*IZ[o]-IZ[o-1]*IZ[o-1]),C=uZ[(o-1)%uZ.length],this._blur($,o-1,o,z,C)},o.prototype._setViewport=function($,z,C,o,M){var A=this.gv;A.setViewport(A.getGL(),z,C,o,M),A.getRenderState().directState().scissor.box=[z,C,o,M]},o.prototype._blur=function($,z,C,o,M){var A=this._pingPongRenderTarget;this._halfBlur($,A,z,C,o,"latitudinal",M),this._halfBlur(A,$,C,C,o,"longitudinal",M)},o.prototype._halfBlur=function($,z,C,o,M,A,N){var s=this,g=s.gv,Y=s._blurMaterial;if("latitudinal"===A||"longitudinal"===A){Y||(s._blurMaterial=Y={type:"envmapBlur",internalDefines:!1,defines:{n:bZ}});for(var v,O=RZ[C]-1,t=M/(O=isFinite(M)?Math.PI/(2*O):2*Math.PI/(2*bZ-1)),c=isFinite(M)?1+Math.floor(3*t):bZ,y=[],_=0,P=0;P<bZ;++P)X=P/t,v=Math.exp(-X*X/2),y.push(v),0==P?_+=v:P<c&&(_+=2*v);for(P=0;P<y.length;P++)y[P]=y[P]/_;Y.envMap=$.texture,Y.samples=c,Y.weights=y,Y.latitudinal="latitudinal"===A,N&&(Y.poleAxis=N),Y.dTheta=O,Y.mipInt=aZ-C;var Z=RZ[o],X=3*Math.max(0,kZ-2*Z),d=(0===o?0:2*kZ)+2*Z*(aZ-DZ<o?o-aZ+DZ:0),M=nZ[o];g.renderModel(z,{model3d:!0,mesh:M,mat:Y},{restoreViewport:!1,preRender:function($){s._setViewport(z,X,d,3*Z,2*Z)}})}},DZ=4,aZ=8,kZ=Math.pow(2,aZ),pZ=aZ-DZ+1+(xZ=[.125,.215,.35,.446,.526,.582]).length,bZ=20,C=1/(o=(1+Math.sqrt(5))/2),uZ=[new Dd(1,1,1),new Dd(-1,1,1),new Dd(1,1,-1),new Dd(-1,1,-1),new Dd(0,o,C),new Dd(0,o,-C),new Dd(C,0,o),new Dd(-C,0,o),new Dd(o,C,0),new Dd(-o,C,0)],o=function(){for(var $=[],z=[],C=[],o=aZ,M=0;M<pZ;M++){var A=Math.pow(2,o),N=(z.push(A),1/A);aZ-DZ<M?N=xZ[M-aZ+DZ-1]:0==M&&(N=0),C.push(N);for(var s=-(N=1/(A-1))/2,g=1+N/2,Y=[],v=[],O=[],t=0;t<6;t++){var c=t%3*2/3-1,y=2<t?0:-1;Y.push(c,y,0,c+2/3,y,0,c+2/3,1+y,0,c,y,0,c+2/3,1+y,0,c,1+y,0),v.push(s,s,g,s,g,g,s,s,g,g,s,g),O.push(t,t,t,t,t,t)}$.push({position:new p_(Y),uv:new p_(v),faceIndex:new p_(O)}),DZ<o&&o--}return{_lodPlanes:$,_sizeLods:z,_sigmas:C}}(),nZ=o._lodPlanes,RZ=o._sizeLods,IZ=o._sigmas,hZ=Qd.EnvmapTextureSize,Qd.setCompType("__ht_envmap_bg__",function($,z,C,o,M){var A,N,s,g=C.image;(g=g&&Qd.getImage(g))&&(A=z.x,N=z.y,s=z.width,z=z.height,0!=(C=((C.offset||0)%1+1)%1*s|0)&&($.save(),$.beginPath(),$.rect(A,N,s,z),$.clip(),$.translate(C,0),Qd.drawImage($,g,A-s,N,s,z,o,M)),Qd.drawImage($,g,A,N,s,z,o,M),0!=C&&$.restore())}),["left","front","right","back","top","bottom"]),C4=w._RenderList=function(x){var p=[],b=[],u={},n={},R={},I={},h={},m={},S={},G={};return{opaque:p,transparent:b,init:function(){for(var $ in p.length=0,b.length=0,S={},G)G[$].length=0},push:function($,z){if(z){var C,o,M,A,N=$,s=N.gv,g=N.data,Y=N.shapeModel;if(Y)if(g.s("static")&&(P=!0),Y.model3d)_=C=o=!0;else{(c=g.s("shape3d.top.material"))&&(L1(c)?o=!0:C=!0),(c=g.s("shape3d.bottom.material"))&&(L1(c)?o=!0:C=!0),(c=g.s("shape3d.from.material"))&&(L1(c)?o=!0:C=!0),(c=g.s("shape3d.to.material"))&&(L1(c)?o=!0:C=!0),(c=g.s("shape3d.material"))&&(L1(c)?o=!0:C=!0);var v,O,t=g.s("shape3d.transparent")||g.s("points.transparent");for(ed(Y)||(v=E(Y.transparent,g,s),Y=[Y]),M=0,A=Y.length;M<A;M++)O=Y[M],(O=(O=(O=E(O.transparent,g,s))===Kd?v:O)===Kd?t:O)?o=!0:C=!0}for(M=0,A=z4.length;M<A;M++){var c,y=N[z4[M]];y&&((c=s.getFaceMaterial(g,z4[M]))?L1(c)?o=!0:C=!0:y.transparent?o=!0:C=!0)}var z=!1,_=(s.isLabelVisible(g)&&(N.labelInfo&&(z=!0,g.s(wt+".transparent")?o=!0:C=!0),N.label2Info&&(z=!0,g.s(qt+".transparent")?o=!0:C=!0)),s.isNoteVisible(g)&&(N.noteInfo&&(z=!0,g.s(Tt+".transparent")?o=!0:C=!0),N.note2Info&&(z=!0,g.s(rt+".transparent")?o=!0:C=!0)),{opaque:C=!(o=N._38o?C=z=!0:o)||C,transparent:o,model3d:_,staticModel3d:P});z&&g instanceof PV&&(_.blockRenderable=!0),N._renderParams=_}var P=$.data,z=P._id;if((_=S[z])!==Kd)return _;_=$._renderParams;if(!_||!1===_.visible||P instanceof PV&&!_.blockRenderable)return S[z]=!1;if(S[z]=!0,P.isAnimationPlaying()&&($.shapeModel&&x.updateSkeleton(P,$.shapeModel),P.isAnimationPaused()||x.iv()),$={ui:$,model3d:_.model3d,data:P,z:0,id:z},x._glCapabilities&&x._glCapabilities.instancedArray&&_.staticModel3d&&$.ui.mat&&x.isVisible(P)&&P.s(Uf)){var Z,X=x.shadowMap.enable,d=x.getStaticInstancingKey(P,!0),l=G[d],J=0!==(d=(l=l||(G[d]={ms:[],ds:[],cs:[],highlightColors:[],lod:[],lodSum:new Uint32Array(32),length:0,msVersion:0,shadowVersion:0,csVersion:0,highlightVersion:0,lodVersion:0,shadow:[],cache:{version:-1,length:-1,id:-1,buffer:null},cacheShadow:{version:-1,length:-1,id:-1,buffer:null},cachePick:{version:-1,length:-1,buffer:null},cacheHighlight:{version:-1,length:-1,buffer:null}})).length),K=!1,f=$.ui._finalMat;Qd.extractBatchTranslation?((Z=l.msTranslation)||(l.msTranslation=Z=I_()),J||(Z[12]=f[12],Z[13]=f[13],Z[14]=f[14])):l.msTranslation&&delete l.msTranslation;for(var Q=16*d,W=0,V=l.ms;W<16;W++){var e=f[W];Z&&12<=W&&W<=14&&(e-=Z[W]),V[Q+W]!=e&&(K=!0,V[Q+W]=e)}K&&(l.msVersion=l.msVersion+1),l.ds[d]=z,X&&(X=P.s("shadow.cast"),!K&&l.shadow[d]===X||(l.shadow[d]=X,l.shadowVersion=l.shadowVersion+1));for(var D=h1(null,x.pickColorMap,x.isSelectable(P),$.ui,Lt,!0),K=!1,a=4*d,W=0,k=l.cs;W<4;W++)k[a+W]!==D[W]&&(K=!0,k[a+W]=D[W]);if(K&&(l.csVersion=l.csVersion+1),l.length++,J)return D&&(Wp(D,n[z],u),Wp(D,I[z],R),Wp(D,m[z],h)),!0}return _.opaque&&p.push($),_.transparent&&b.push($),!0},getModel3dInstancedBatchMap:function(){return G},resetModel3dInstancedDraw:function(){for(var $ in G)G[$].rendered=null},batchModelMap:u,batchIndexMap:n,polylineModelMap:R,polylineIndexMap:I,wireframeModelMap:h,wireframeIndexMap:m,beginFillHighlightMaskColor:function($){var z,C=x.dm();for(z in G){var o=G[z],M=o.ds;if(M&&o.length){for(var A=o.highlightColors,N=!1,s=!1,g=0,Y=o.length;g<Y;g++)for(var v,O=$(v=C.getDataById(M[g]),!0)?[0,0,0,0]:(s=!0,x.getHighlightPickColor(v)),t=4*g,c=0;c<4;c++)A[t+c]!==O[c]&&(N=!0,A[t+c]=O[c]);N&&(o.highlightVersion=o.highlightVersion+1),o._csBackup=[o.cs,o.csVersion,o.cachePick],o.cs=o.highlightColors,o.csVersion=o.highlightVersion,o.cachePick=o.cacheHighlight,o._highlightInvalid=!s}}},endFillHighlightMaskColor:function(){for(var $ in G){var z=($=G[$])._csBackup;z&&($.cachePick=z[2],$.csVersion=z[1],$.cs=z[0],$._csBackup=Kd,$._highlightInvalid=Kd)}},ivBatch:function($){$?(lp(u,n,$,x),lp(R,I,$,x),lp(h,m,$,x)):(u=this.batchModelMap={},n=this.batchIndexMap={},R=this.polylineModelMap={},I=this.polylineIndexMap={},h=this.wireframeModelMap={},m=this.wireframeIndexMap={}),this.markBatchInvalid()},ivModelBatch:function($){$?lp(u,n,$,x):(u=this.batchModelMap={},n=this.batchIndexMap={}),this.markBatchInvalid()},ivPolylineBatch:function($){$?lp(R,I,$,x):(R=this.polylineModelMap={},I=this.polylineIndexMap={}),this.markBatchInvalid()},ivWireframeBatch:function($){$?lp(h,m,$,x):(h=this.wireframeModelMap={},m=this.wireframeIndexMap={}),this.markBatchInvalid()},markBatchInvalid:function(){this._batchInvalid=!0},isBatchInvalid:function(){return this._batchInvalid},onUpdated:function(){this._batchInvalid=null},sort:function($,z,C){var o=1<b.length;if(C=C&&1<p.length,o||C){for(var M,A,N,s,g=z[2],Y=z[6],v=z[10],O=z[14],t=z[3],c=z[7],y=z[11],_=z[15],P=0;P<2;P++){if(0===P){if(!C)continue;s=p}else{if(!o)continue;s=b}for(var Z=0,X=s.length;Z<X;Z++)(N=(A=s[Z].data)._position)?(M=N.x,A=A._54O,N=N.y,s[Z].z=(g*M+Y*A+v*N+O)/(t*M+c*A+y*N+_)):s[Z].z=0}C&&p.sort(function($,z){var C=$.model3d;return C!==z.model3d?C?1:-1:$.z!==z.z?$.z-z.z:$.id-z.id}),o&&b.sort($||jE)}}}},o4=w._RenderLists=function(o){var M={};function C($,z){var C=M[$=$||"main"];return!C&&z?M[$]=new C4(o):C}return{init:function(){for(var $ in M)M[$].init()},onUpdated:function(){for(var $ in M)M[$].onUpdated()},get:C,push:function($,z){return C($.data.getRenderLayer(),!0).push($,z)},each:function($){for(var z in M)$(M[z])},lists:M}},M4=w.RenderTarget=function($,z,C,o){var M,A=this,N=(null!=z&&z.canvas?(M=z,z=C,C=o,o=arguments[4]):M=$.getGL(),A._sizeVersion=0,(o=o||{}).cube,o.multiple);if(N&&1<N&&$.isWebGL2()&&!o.cube?(A.textures=[],A.multiple=N):N=0,o.cube||N?o.samples=0:o.samples=Math.min($._glCapabilities.maxSamples,o.samples&&1<o.samples&&$.isWebGL2()?o.samples:0),A.options=o,A.uuid=o.uuid||U.Math.generateUUID(),A.gv=$,A.init($,M,o),N){var s,g,Y=o.format,v=o.textureType;ed(Y)||(s=Y,Y=[]),ed(v)||(g=v,v=[]);for(var O=0;O<N;O++)Y[O]=Y[O]||s||6408,v[O]=wi($,v[O]||g);A.format=Y,A.textureType=v}else A.format=[o.format||6408],A.textureType=[wi($,o.textureType)];A.generateMipmaps=!!o.generateMipmaps,A.depthInternalFormat=o.depthFormat||33189,o.samples&&!$._glCapabilities._maxSamplesChecked?A.setSize(M,z||1,C||1):A.setSize(M,z,C)},wd=(Jd.assign(w.RenderTarget.prototype,{isRenderTarget:!0,bind:function($,z){var C,o,M,A=this.options;if(A.autoSize&&(C=(M=this.gv).getDevicePixelRatio(),o=M.getWidth()*C,M=M.getHeight()*C,this.setSize($,o,M)),A.cube?Vz($,this.frame[z]):Vz($,this.options.samples?this._MSAAFbo:this.frame),this.multiple){for(var N=[],s=0;s<this.multiple;s++)N.push(36064+s);$.drawBuffers(N)}$._renderTargetStack.push(this)},unbind:function($){$._renderTargetStack.pop(),ez($),this.options.samples&&($.bindFramebuffer(36008,this._MSAAFbo),$.bindFramebuffer(36009,this.frame),$.blitFramebuffer(0,0,this.width,this.height,0,0,this.width,this.height,16384,9728),$.bindFramebuffer(36008,null),$.bindFramebuffer(36009,null))},isBinding:function($){if(!($=$.frameStack)||!$.length)return!1;var z=$[$.length-1];if(this.options.cube){for(var C=0;C<6;C++)if(this.frame[C]===z)return!0;return!1}return z===(this.options.samples?this._MSAAFbo:this.frame)},grabDepth:function($){var z=this,C=this.gv.getGL();if(!C)return null;var o,M,A,N=z.options,s=N.samples;if($&&!s)return z.depth;var g=z.depthInternalFormat,Y=z.width,v=z.height;return $?(M=(o=(o=C._grabDepthRboFrame)?o:C._grabDepthRboFrame={frame:C.createFramebuffer()}).depthRbo)||(M=o.depthRbo=C.createRenderbuffer()):(A=(o=(o=C._grabDepthTextureFrame)?o:C._grabDepthTextureFrame={frame:C.createFramebuffer()}).depthTexture)||(A=o.depthTexture=z.gv.createTexture({empty:!0,wrapS:N.wrapS||33071,wrapT:N.wrapT||33071,filter:9728})),o.width===Y&&o.height===v&&o.format===g||(Vz(C,o.frame),$?(C.bindRenderbuffer(36161,M),C.renderbufferStorage(36161,g,Y,v),C.framebufferRenderbuffer(36160,36096,36161,M),C.bindRenderbuffer(36161,null)):(C.activeTexture(33984),N1(C,A),C.texImage2D(3553,0,g,Y,v,0,6402,36012===g?5126:33190===g?5125:5123,null),C.framebufferTexture2D(36160,36096,3553,A,0),N1(C,null),A._internalFormat=g),ez(C),o.width=Y,o.height=v,o.format=g),Vz(C,null),C.bindFramebuffer(36008,s?this._MSAAFbo:this.frame),C.bindFramebuffer(36009,o.frame),C.blitFramebuffer(0,0,z.width,z.height,0,0,z.width,z.height,256,9728),C.bindFramebuffer(36008,null),C.bindFramebuffer(36009,null),ez(C),$?M:A},isCube:function(){return this.options.cube},init:function($,z,C){for(var o=this,M=C.samples,A=C.cube,N=o.multiple,s=N||1,g=0;g<s;g++){var Y=z.createTexture(),v=A?34067:3553,O=(z.activeTexture(33984),z.bindTexture(v,Y),z.texParameteri(v,10242,C.wrapS||33071),z.texParameteri(v,10243,C.wrapT||33071),M?9728:9729);z.texParameteri(v,10241,C.minFilter||O),z.texParameteri(v,10240,C.magFilter||O),z.bindTexture(v,null),0==g&&(o.texture=Y),N&&(o.textures[g]=Y)}if(A)for(o.depth=[],o.frame=[],g=0;g<6;g++)o.depth[g]=z.createRenderbuffer(),o.frame[g]=z.createFramebuffer();else o.depth=z.createRenderbuffer(),o.frame=z.createFramebuffer();o.assureTexture()},assureTexture:function(){var $=this.uuid,z=(this.gv.setTexture($,this.texture,"default"),U.Default.setImage($,null),this.multiple);if(z)for(var C=0;C<z;C++){var o=$+C;this.gv.setTexture(o,this.textures[C],"default"),U.Default.setImage(o,null)}},releaseTexture:function(){return this.release()},release:function(){var $=this,z=$.gv.getGL(),C=$.uuid,o=($.gv.deleteTexture(C),$.multiple);if(o)for(var M=0;M<o;M++)$.gv.deleteTexture(C+M);if($.options.cube)for(M=0;M<6;M++)z.deleteRenderbuffer($.depth[M]),z.deleteFramebuffer($.frame[M]);else z.deleteRenderbuffer($.depth),z.deleteFramebuffer($.frame),$._MSAAFbo&&(z.deleteRenderbuffer($._MSAARbO),z.deleteFramebuffer($._MSAAFbo))},getUUID:function(){return this.uuid},getTexture:function($){return this.multiple?this.textures[$]:this.texture},getSize:function(){return[this.width,this.height]},setSize:function($,z,C,o){var M=this;if(z=Math.round(z),C=Math.round(C),z&&C&&(M.width!==z||M.height!==C||o)){M.width=z,M.height=C,M._sizeVersion++;var A=36161,N=M.options.samples,s=M.options.cube,g=s?34067:3553;if(N&&!(o=M.gv._glCapabilities)._maxSamplesChecked){for($.bindRenderbuffer(A,M.depth),$.getError();1<N&&($.renderbufferStorageMultisample(A,N,M.depthInternalFormat,z,C),$.getError());)N=Math.floor(N>>1);N<=1&&(N=0,$.texParameteri(g,10241,M.options.minFilter||9729),$.texParameteri(g,10240,M.options.magFilter||9729),$.renderbufferStorage(A,M.depthInternalFormat,z,C)),o._maxSamplesChecked=!0,o.maxSamples=M.options.samples=N,$.bindRenderbuffer(A,fd)}N&&(M._MSAAFbo||(M._MSAAFbo=$.createFramebuffer(),M._MSAARbO=$.createRenderbuffer()),$.bindRenderbuffer(A,M._MSAARbO),$.renderbufferStorageMultisample(36161,N,32856,z,C),Vz($,M._MSAAFbo),$.framebufferRenderbuffer(36160,36064,A,M._MSAARbO),$.framebufferRenderbuffer(36160,36096,A,M.depth),ez($),$.bindRenderbuffer(A,null));for(var Y=M.multiple||1,v=0;v<Y;v++){var O,t=M.getTexture(v);if($.activeTexture(33984+v),$.bindTexture(g,t),s)for(var c=0;c<6;c++)M.setupFrameBufferTextureAndDepth($,M.frame[c],t,M.depth[c],34069+c,v);else M.setupFrameBufferTextureAndDepth($,M.frame,t,M.depth,3553,v);M.generateMipmaps&&(M.gv.isWebGL2()||B.isPOT(z)&&B.isPOT(C))&&($.generateMipmap(g),O=M.options.minFilter||(N?9728:9729),$.texParameteri(g,10241,9728===O?9984:9987)),$.bindTexture(g,null)}}},updateTextureData:function($,z){z=z||0;var C,o=this.gv.getGL();o&&(C=this.options.cube?34067:3553,this._updateTextureDataImpl(o,C,!0,$,z))},_updateTextureDataImpl:function($,z,C,o,M){var A,N=this.format[M],s=this.textureType[M];C&&(A=this.getTexture(M),$.activeTexture(33984+M),$.bindTexture(z,A)),$.texImage2D(z,0,Ti(this.gv,N,s),this.width,this.height,0,N,s,o||null),C&&$.bindTexture(z,null)},setupFrameBufferTextureAndDepth:function($,z,C,o,M,A){var N;(N=this.options.data)&&(this.options.data=null),this._updateTextureDataImpl($,M,!1,N,A),Vz($,z),$.framebufferTexture2D(36160,36064+A,M,C,0),0===A&&this.setupRenderBufferStorage($,o),ez($)},swapTexture:function($){var z=this.texture;return this.texture=$,this.setSize(this.gv.getGL(),this.width,this.height,!0),z},setupRenderBufferStorage:function($,z){$.bindRenderbuffer(36161,z);var C=this.options.samples;C?$.renderbufferStorageMultisample(36161,C,this.depthInternalFormat,this.width,this.height):($.renderbufferStorage(36161,this.depthInternalFormat,this.width,this.height),$.framebufferRenderbuffer(36160,36096,36161,z)),$.bindRenderbuffer(36161,null)},_createBufferForReadPixels:function($){return new(5121===this.textureType[$||0]?Uint8Array:Float32Array)(4*this.width*this.height)},readPixels:function($,z,C,o,M,A){var N=this.gv.getGL();Vz(N,this.frame),M=M||this._createBufferForReadPixels(A);try{this.gv.isWebGL2()&&N.readBuffer(36064+(A||0)),N.readPixels($,z,C,o,6408,M instanceof Float32Array?5126:5121,M)}finally{ez(N)}return M},readPixelsAsync:function($,z,C,o,M,A,N){if(!this.gv.isWebGL2())throw new Error("readPixelsAsync only work on WebGL2");var s,g,Y,v,O,t=this.gv.getGL();Vz(t,this.frame),M=M||this._createBufferForReadPixels(N);try{var c=A1(t),y=(t.bindBuffer(35051,c),t.bufferData(35051,M.byteLength,35041),this.gv.isWebGL2()&&t.readBuffer(36064+(N||0)),t.readPixels($,z,C,o,6408,M instanceof Float32Array?5126:5121,0),t.bindBuffer(35051,null),t.fenceSync(37143,0));t.flush()}finally{ez(t)}s=t,g=y,Y=0,v=10,O=function($){t.deleteSync(y),$&&(t.bindBuffer(35051,c),t.getBufferSubData(35051,0,M),t.bindBuffer(35051,null)),t.deleteBuffer(c),A($?M:null)},function $(){var z=s.clientWaitSync(g,Y,0);37149==z?O(!1):37147==z?$t($,v):O(!0)}()},_pixelsToCanvas:function($,z,C,o,M){o=o||this.width,M=M||this.height,(C=C||c.createElement("canvas")).width!==o&&(C.width=o),C.height!==M&&(C.height=M);var A,N=(A=z?((mZ=mZ||c.createElement("canvas")).width!==o&&(mZ.width=o),mZ.height!==M&&(mZ.height=M),mZ.getContext("2d")):C.getContext("2d")).createImageData(o,M);if($ instanceof Float32Array){for(var s=$.byteLength/$.BYTES_PER_ELEMENT,g=new Uint8Array(s);0<=--s;){var Y=$[s];Y<0?Y=0:1<Y&&(Y=1),g[s]=255*Y}$=g}return N.data.set($),A.putImageData(N,0,0),z&&((A=C.getContext("2d")).clearRect(0,0,o,M),E3(A,{width:o,height:M,comps:[{scaleY:-1,type:"image",name:mZ,rect:[0,0,o,M]}]},Kd,0,0,o,M)),C},toCanvas:function($,z){var C=this.readPixels(0,0,this.width,this.height);return this._pixelsToCanvas(C,$,z)},toCanvasAsync:function(z,C){var $,o=this,M=this._canvasForReadPixels||(this._canvasForReadPixels=c.createElement("canvas")),A=(this._bufferVersion===this._sizeVersion&&($=this._bufferForReadPixels)||($=this._bufferForReadPixels=o._createBufferForReadPixels(),this._bufferForReadPixels=this._sizeVersion),o.width),N=o.height;o.readPixelsAsync(0,0,A,N,$,function($){C($?o._pixelsToCanvas($,z,M,A,N):null)})}}),w.Interactor=function($){this.gv=this.g3d=$}),A4=($("Interactor",Jd,{ms_listener:1,getView:function(){return this.gv.getView()},setUp:function(){this.addListeners()},tearDown:function(){this.removeListeners()},fi:function($){this.gv.fi($)},startDragging:function($){l_(this,$)}}),w.DefaultInteractor=function($){Ev(A4,this,[$])}),N4=($("DefaultInteractor",wd,{getState:function(){return this._62O},setState:function($){this._62O=$},handle_contextmenu:function($){m3($)},handle_mousewheel:function($){this.gv.handleScroll($,$.wheelDelta/40)},handle_DOMMouseScroll:function($){2===$.axis&&this.gv.handleScroll($,-$.detail)},handle_keydown:function($){this.gv.handleKeyDown($)},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function($){m3($);var z=this,C=z.gv,o=$_($),M=(A=C.getDataInfoDuringInteract($))?A.data:fd,A=A?A.part:fd,N=C.sm(),s=GX($),g=o_($);C.setFocus($)&&(z._62O=fd,z._57I=fd,z.pendingClickThrough=fd,z.__lastClientPoint__=s_($),M?N_($)?N.co(M)?N.rs(M):N.as(M):N.co(M)?M instanceof PV&&M.isClickThroughEnabled()&&$_($)&&(z.pendingClickThrough=s_($)):N.ss(M):o&&(N_($)?C.isRectSelectable()&&(z._62O=yf):z._57I=s_($)),z._31Q&&(F3(z._31Q),delete z._31Q,delete z._32Q),z._62O||(C.isFirstPersonMode()&&(A_($)||z_($)||2<g?z._62O="pan":C.isMouseRoamable()||uX($)?(z._62O="roaming",C.isRoamingWalkable()&&(z.foward=s&&$_($),z._32Q=Xv(),z._31Q=i3(z.tick,z))):o||(z._62O="roaming")),z._62O||(o&&s&&K4[A]?(z._62O=A,z.p3=M.p3()):o&&s&&R(M)&&C.isSelected(M)?C.isMovable(M)?(z._62O="move",z.p3=M.p3(),z.movedata=M):C._39Q(M)&&(z._62O="none"):uX($)&&(2<g?z._62O="pan":2===g&&(z.dist=Rx($),z._62O="pinch")))),z.point=C.lp($),l_(z,$),M_($)?C.handleDoubleClick($,M,A):C.handleClick($,M,A))},tick:function(){var $=this.gv,z=$._moveStep;this.point&&$.isWalkable()&&(this._32Q&&(z*=(Xv()-this._32Q)/50),$.walk(this.foward?z:-z),this._32Q=Xv(),this._31Q=i3(this.tick,this))},handle_mouseup:function($){this.handle_touchend($)},handle_touchend:function($){var z=this._57I;z&&(Y_(z,s_($))<=1&&this.gv.sm().cs(),this._57I=fd),(z=this.pendingClickThrough)&&(Y_(z,s_($))<=1&&(z=this.gv.getDataInfoDuringInteract($))&&z.data instanceof PV&&z.data.isClickThroughEnabled()&&(z=this.gv.getDataInfoDuringInteract($,!0))&&($.clickThrough=!0,this.gv.sm().ss(z.data)),this.pendingClickThrough=null)},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function(z){var C,o,$=this,M=$.gv,A=$._62O,N=$.point,s=M.dm(),g=M.lp(z),Y=g.x-N.x,v=g.y-N.y,O=M.getWidth(),t=M.getHeight();if(O&&t){var c=s_(z),c=gm(M,c,$.__lastClientPoint__),c=Y_({x:0,y:0},c),y=-_d*Y/O,_=-_d*v/t;if("roaming"===A)$.rotate(z,y/2,_/2);else if(A===P4||A===Z4||A===X4)M._86O||s.beginTransaction(),M.fi({kind:M._86O?"betweenEditRotation":"beginEditRotation",event:z}),M._86O=1,M.sm().each(function($){var z;R($)&&M.isRotationEditable($)&&(z=I(y)>I(_)?y:_,A===P4?$.setRotationX($.getRotationX()+z):A===Z4?$.setRotationY($.getRotationY()+z):A===X4&&$.setRotationZ($.getRotationZ()+z))});else if("move"===A||K4[A]){if(A===d4||A===l4||A===J4)M._87O||s.beginTransaction(),M.fi({kind:M._87O?"betweenEditScale":"beginEditScale",event:z}),M._87O=1;else{if(!M._moving){if(c<Qd.touchMoveThreshold)return;s.beginTransaction()}M.fi({kind:M._moving?"betweenMove":"beginMove",event:z}),M._moving=1}var P,Z,c=$.p3,s=M.getPositionInfo(c),X=$1(M),d=A===c4?"x":A===y4?"y":A===_4?"z":A===d4?"sx":A===l4?"sy":A===J4?"sz":M.getMoveMode(z,$.movedata),Y=Y/O*s.width,v=-1*v/t*s.height,O=[X[0]*Y,X[4]*Y,X[8]*Y],t=[X[1]*v,X[5]*v,X[9]*v],s=O[0]+t[0],X=O[1]+t[1],O=O[2]+t[2],t=[c[0]+s,c[1]+X,c[2]+O],l=u_(M.getEye(),t,!0);if("xyz"===d?(P=t,M.moveSelection(s,X,O)):"xz"===d?(P=Gz(M,c,[0,1,0],t))&&M.moveSelection(P[0]-c[0],0,P[2]-c[2]):"xy"===d?(P=Gz(M,c,[0,0,1],t))&&M.moveSelection(P[0]-c[0],P[1]-c[1],0):"yz"===d?(P=Gz(M,c,[1,0,0],t))&&M.moveSelection(0,P[1]-c[1],P[2]-c[2]):"x"===d||"sx"===d?(l[0]=0,(P=Gz(M,c,l,t))&&(Z=P[0]-c[0],"x"===d?M.moveSelection(Z,0,0):M.sm().each(function($){R($)&&M.isSizeEditable($)&&(C=$.getScaleX()+Z/100,o=C/$.getScaleX(),$.setScaleX(C),A_(z)&&($.setScaleY($.getScaleY()*o),$.setScaleTall($.getScaleTall()*o)))}))):"y"===d||"sy"===d?(l[1]=0,(P=Gz(M,c,l,t))&&(Z=P[1]-c[1],"y"===d?M.moveSelection(0,Z,0):M.sm().each(function($){R($)&&M.isSizeEditable($)&&(C=$.getScaleTall()+Z/100,o=C/$.getScaleTall(),$.setScaleTall(C),A_(z)&&($.setScaleY($.getScaleY()*o),$.setScaleX($.getScaleX()*o)))}))):"z"!==d&&"sz"!==d||(l[2]=0,(P=Gz(M,c,l,t))&&(Z=P[2]-c[2],"z"===d?M.moveSelection(0,0,Z):M.sm().each(function($){R($)&&M.isSizeEditable($)&&(C=$.getScaleY()+Z/100,o=C/$.getScaleY(),$.setScaleY(C),A_(z)&&($.setScaleX($.getScaleX()*o),$.setScaleTall($.getScaleTall()*o)))}))),!P)return;$.p3=P}else A===yf?((s=$.div)||(s=$.div=NX(),OX($.getView(),s),s.op=N,s.style.background=M.getRectSelectBackground()),M.fi({kind:M._rectSelecting?"betweenRectSelect":"beginRectSelect",event:z}),M._rectSelecting=1,s.rect=v_(s.op,g),pX(s,s.rect)):"pinch"===A&&2===o_(z)?(M.fi({kind:M._pinching?"betweenPinch":"beginPinch",event:z}),M._pinching=1,Z=Rx(z),M._lastZoomLP||(M._lastZoomLP=(O=(X=z).touches[0],X=X.touches[1],l=O.clientX,O=O.clientY,{x:(l+X.clientX)/2,y:(O+X.clientY)/2})),M.handlePinch(Z,$.dist),$.dist=Z):"pan"===A||A_(z)||z_(z)?$.pan(z,Y,v):"none"===A||M.isFirstPersonMode()||$.rotate(z,y,_);$.point=g}},pan:function($,z,C){var o,M,A=this.gv;A.isPannable()&&(M=A.getWidth(),o=A.getHeight(),M&&o&&(M=z/M*(z=A.getCenterInfo()).width,C=-1*C/o*z.height,A.fi({kind:A._panning?"betweenPan":"beginPan",event:$}),A._panning=1,A.pan(-M,-C)))},rotate:function($,z,C){var o=this.gv;o.isRotatable()&&(o.fi({kind:o._rotating?"betweenRotate":"beginRotate",event:$}),o._rotating=1,o.rotate(z,C))},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},handleWindowTouchEnd:function($){var z,C,o,M,A,N=this,s=N.gv,g=s.dm(),Y=N.div;Y&&((z=s.getDatasInRect(Y.rect)).isEmpty()||(C=s.sm(),o=C.toSelection(),M=A_($),A=$.altKey,z.each(function($){C.co($)?M&&!A||o.remove($):(!A||M&&A)&&o.add($)}),C.ss(o)),J_(Y)),s._moving&&(delete s._moving,s.fi({kind:"endMove",event:$}),s.onMoveEnded(),g.endTransaction()),s._panning&&(delete s._panning,s.fi({kind:"endPan",event:$}),s.onPanEnded()),s._rotating&&(delete s._rotating,s.fi({kind:"endRotate",event:$}),s.onRotateEnded()),s._86O&&(delete s._86O,s.fi({kind:"endEditRotation",event:$}),g.endTransaction()),s._87O&&(delete s._87O,s.fi({kind:"endEditScale",event:$}),g.endTransaction()),s._pinching&&(delete s._pinching,s.fi({kind:"endPinch",event:$}),s.onPinchEnded()),s._rectSelecting&&(delete s._rectSelecting,s.fi({kind:"endRectSelect",event:$}),s.onRectSelectEnded()),s._walking&&(delete s._walking,s.fi({kind:"endWalk",event:$}),s.onWalkEnded()),s._lastZoomLP=s._lastZoomHit=null,N.dist=N.point=N._62O=N.p3=N.movedata=N.div=N._57I=N.pendingClickThrough=N._32Q=N._31Q=N.foward=fd,N.__lastClientPoint__=fd}}),w.MapInteractor=function($){Ev(N4,this,[$]),this._keepHorizon=!0,this._threshold=2,this._touchScaleThreshold=.05,this._touchRotateThreshold=.03,this._touchScaleCheckAccuracy=.01,this._panButton="right",this._minPhi=0,this._maxPhi=5*Math.PI/12}),s4=($("MapInteractor",wd,{setUp:function(){N4.superClass.setUp.call(this);var $=this.gv;this.__oldMinPhi__=$.getRotateMinPhi(),this.__oldMaxPhi__=$.getRotateMaxPhi(),$.setRotateMinPhi(this._minPhi),$.setRotateMaxPhi(this._maxPhi)},tearDown:function(){N4.superClass.tearDown.call(this);var $=this.gv;$.setRotateMinPhi(this.__oldMinPhi__),$.setRotateMaxPhi(this.__oldMaxPhi__),delete this.__oldMinPhi__,delete this.__oldMaxPhi__},handle_contextmenu:function($){m3($)},handle_mousewheel:function($){this.gv.handleScroll($,$.wheelDelta/40)},handle_DOMMouseScroll:function($){2===$.axis&&this.gv.handleScroll($,-$.detail)},handle_keydown:function($){this.gv.handleKeyDown($)},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function($){m3($);var z,C,o,M=this.gv;M.setFocus($)&&(z=(C=M.getDataInfoDuringInteract($))?C.data:fd,C=C?C.part:fd,this.__lastClientPoint__=s_($),o=this.editing={point:M.lp($),data:z,part:C},uX($)?o.touch=!0:(o.touch=!1,o.clickLeft=$_($),z_($)?o.pan=!0:o.pan="left"===this.panButton===o.clickLeft),z&&M._39Q(z)&&(o.preventDefault=!0),l_(this,$),M_($)?M.handleDoubleClick($,z,C):M.handleClick($,z,C))},handle_mouseup:function($){this.handle_touchend($)},handle_touchend:function($){},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){var z=this,M=z.gv,C=z.editing;if(C){var o=M.lp($),A=C.point,N=o.x-A.x,A=o.y-A.y;if(!C.moved){if(Math.abs(N)<z.threshold&&Math.abs(A)<z.threshold&&!($.touches&&1<$.touches.length))return;C.moved=!0}if(!C.preventDefault){C.point=o;var s,g,Y,v,O,t,c=C.part;if(K4[c]){var o=C.data,y=M.dm(),_=M.getWidth(),P=M.getHeight(),Z=-_d*N/_,X=-_d*A/P;if(c===P4||c===Z4||c===X4){M._86O||y.beginTransaction(),M.fi({kind:M._86O?"betweenEditRotation":"beginEditRotation",event:$}),M._86O=1;var d=I(Z)>I(X)?Z:X;M.sm().each(function($){R($)&&M.isRotationEditable($)&&(c===P4?$.setRotationX($.getRotationX()+d):c===Z4?$.setRotationY($.getRotationY()+d):c===X4&&$.setRotationZ($.getRotationZ()+d))})}else{var l,J,K,f,o=o.p3(),N=N/_*(W=M.getPositionInfo(o)).width,A=-1*A/P*W.height,Q=[(W=$1(M))[0]*N,W[4]*N,W[8]*N],W=[W[1]*A,W[5]*A,W[9]*A],Q=[o[0]+(Q[0]+W[0]),o[1]+(Q[1]+W[1]),o[2]+(Q[2]+W[2])],W=u_(M.getEye(),Q,!0);if(c===d4||c===l4||c===J4)M._87O||y.beginTransaction(),M.fi({kind:M._87O?"betweenEditScale":"beginEditScale",event:$}),M._87O=1,(l=Gz(M,o,W,Q))&&(D=0,c===d4?J="X":c===l4?(J="Tall",D=1):c===J4&&(J="Y",D=2),(K=["X","Y","Tall"]).splice(K.indexOf(J),1),f=A_($),e=(l[D]-o[D])/100,M.sm().each(function(z){var $,C,o;R(z)&&M.isSizeEditable(z)&&($=z["getScale"+J](),z["setScale"+J](C=$+e),f&&(o=C/$,K.forEach(function($){z["setScale"+$](z["getScale"+$]()*o)})))}));else if(c===c4||c===y4||c===_4){if(!M._moving){var V=s_($),V=gm(M,V,z.__lastClientPoint__);if(Y_({x:0,y:0},V)<Qd.touchMoveThreshold)return;y.beginTransaction()}M.fi({kind:M._moving?"betweenMove":"beginMove",event:$}),M._moving=1;var e,D=0;c===c4?D=0:c===y4?D=1:c===_4&&(D=2),W[D]=0,(l=Gz(M,o,W,Q))&&(e=l[D]-o[D],(V=[0,0,0])[D]=e,M.moveSelection.apply(M,V))}}}else C.touch?2!==(y=$.touches.length)?z.pan($,N,A):y<=1||(Q=(W=$.touches)[0].clientX,l=W[0].clientY,V={x:(o=W[1].clientX)-Q,y:(D=W[1].clientY)-l},y=C.lastCenter,W=Math.atan2(V.y,V.x),s=0,(Y=C.theta)==fd?Y=C.theta=W:(s=W-Y,C.thetaStarted||Math.abs(s)>z.touchRotateThreshold?(C.thetaStarted=!0,C.theta=W):s=0),Y=x*(l+D)/2/M.getHeight(),W=0,(g=C.phi)==fd?g=C.phi=Y:(W=Y-g,C.phiStarted||Math.abs(W)>z.touchRotateThreshold?(C.phiStarted=!0,C.phi=Y):W=0),g=Math.sqrt(V.x*V.x+V.y*V.y),(Y=C.vlen)?(V=Q-y.x,O=l-y.y,t=o-y.x,y=D-y.y,V=Math.sqrt(V*V+O*O),O=Math.sqrt(t*t+y*y),(y=z._sign2(V-(t=Y/2)))*(V=z._sign2(O-t))<0||0===y&&0===V?(v=1,C.vlen=g):(v=v||g/Y,C.scaleStarted||Math.abs(v-1)>z.touchScaleThreshold?(C.vlen=g,C.scaleStarted=!0):v=1)):(Y=C.vlen=g,v=1),1!==v&&M.setZoom(v),(W||s)&&z.rotate($,s,-W),C.lastCenter={x:(o+Q)/2,y:(D+l)/2}):C.pan?z.pan($,N,A):(_=M.getWidth(),P=M.getHeight(),_&&P&&z.rotate($,Z=-_d*N/_,X=-_d*A/P))}}},_sign2:function($){return Math.abs($)<this._touchScaleCheckAccuracy?0:0<$?1:-1},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},handleWindowTouchEnd:function($){var z,C,o=this.editing;this.editing=null,o&&(z=this.gv,o.moved||!o.clickLeft&&!o.touch?(z._panning=null,z._rotating=null,z.fi({kind:o.pan?"endPan":"endRotate",event:$})):(C=(C=(o=z.getDataInfoDuringInteract($))&&o.data)instanceof PV&&C.isClickThroughEnabled()&&(o=z.getDataInfoDuringInteract($,!0))?o.data:C)?z.sm().setSelection([C]):z.sm().clearSelection(),o=z.dm(),z._moving&&(delete z._moving,z.fi({kind:"endMove",event:$}),z.onMoveEnded(),o.endTransaction()),z._86O&&(delete z._86O,z.fi({kind:"endEditRotation",event:$}),o.endTransaction()),z._87O&&(delete z._87O,z.fi({kind:"endEditScale",event:$}),o.endTransaction()))},pan:function($,z,C){var o=this.gv;if(o.isPannable()){var M=o.getWidth(),A=o.getHeight();if(M&&A){var N=o.getCenterInfo(),z=-z/M*N.width,M=+C/A*N.height,C=(o.fi({kind:o._panning?"betweenPan":"beginPan",event:$}),o._panning=1,this.keepHorizon);if(!(C=(A=this.editing.touch)&&$.touches&&1<$.touches.length||!A&&A_($)?!C:C))return o.pan(z,M);(z||M)&&(A=[(N=$1(o))[0]*z,N[4]*z,N[8]*z],$=[N[1],0,N[9]],(C=Math.sqrt($[0]*$[0]+$[2]*$[2]))&&($=[$[0]/C*M,0,$[2]/C*M]),z=A[0]+$[0],N=A[1]+$[1],C=A[2]+$[2],M=o._center,A=o._eye,M[0]+=z,M[1]+=N,M[2]+=C,A[0]+=z,A[1]+=N,A[2]+=C,o.fp(lt,fd,A),o.fp(dt,fd,M))}}},rotate:function($,z,C){var o,M,A=this.gv;A.isRotatable()&&(M=A._center,o=A._eye,o=u_(o,M),M=Ud(Gd(o[0]*o[0]+o[2]*o[2]),o[1]),C=mz(A,M+C)-M,A.fi({kind:A._rotating?"betweenRotate":"beginRotate",event:$}),A._rotating=1,A.rotate(z,C))}}),Jd.defineProperties(N4.prototype,{panButton:{get:function(){return this._panButton},set:function($){this._panButton=$}},minPhi:{get:function(){return this._minPhi},set:function($){this.gv.setRotateMinPhi(this._minPhi=$)}},maxPhi:{get:function(){return this._maxPhi},set:function($){this.gv.setRotateMaxPhi(this._maxPhi=$)}},keepHorizon:{get:function(){return this._keepHorizon},set:function($){this._keepHorizon=$}},threshold:{get:function(){return this._threshold},set:function($){this._threshold=$}},touchScaleThreshold:{get:function(){return this._touchScaleThreshold},set:function($){this._touchScaleThreshold=$}},touchRotateThreshold:{get:function(){return this._touchRotateThreshold},set:function($){this._touchRotateThreshold=$}}}),w.GlobeInteractor=function(c,$){function o($){return c._81O=null,$=c.getHitPosition($,c.getCenter(),O.copy(c.getEye()).sub(X.copy(c.getCenter())).toArray()),t.origin.copy(c.getEye()),t.direction.copy($).sub(t.origin).normalize(),t.intersectEllipsoid(d)}function y($,z){var C;Z&&(C=Date.now(),Z.deltaTime=Z.lastTime?C-Z.lastTime:1e3,Z.lastTime=C,Z.lastAxis=$,Z.lastAngle=z),z&&(M.setFromAxisAngle($,z),c.setEye(O.copy(c.getEye()).applyQuaternion(M).toArray()),c.setCenter(O.copy(c.getCenter()).applyQuaternion(M).toArray()),c.setUp(O.copy(c.getUp()).applyQuaternion(M).toArray()))}function _($){return Math.abs($)<.01?0:0<$?1:-1}Ev(s4,this,[c]);var A,P=$.radius||6378137,s=this,Z=null,M=(SZ||((SZ=NX()).style.border="",SZ.style.backgroundImage="url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEyUlEQVRYR62XW0xcVRSG/58cmIG2HmstE9N4SX2xtVqBCISoFS/RmDSpKQSvTWNixUStQSqVyBQYJUGttrQVtYkPatuQPmhivMUHqbUBZ2itl1qjTzZpImNUZhDLsUeWWXgOOd2cgcGyk3mYs/de69trr70uxP8YIlJKMi0i9wIgyf0iEiM5PFdxzGeDiBQAuB7AjQBuALCN5NcGQDmANgBfeL8UyYnZ5M8KICJ3AXgAwAlfOMl/VHAQwPtveYAKuQLA2yQ/ngliRgAR2QogA2AvSdcUZAIE50VEYR4BsIDkC7kgQgFE5GIAuwDsJnkk1+aZAPw9IqLX1gjgcZK/m7KmAXjK4wBaSf4ZplxEIgCuA3Cz3gSAfgDHSf6dY/0FAJ4D0G5ChAEcAPBwmHIRqXNd90nLsiocx/k+k8n8oK/Atu2rIpHIStd1v7QsawfJd0Ouywawh6T609Q4B8C788NhZnddt29sbGxBd3f39q6urtNhJ43H48uam5u3lJSUjFiWdV8IxE0Aqki+6M9NAXjefjnJXsOZogBGBgYGttbU1Hw427PS+cHBwbVVVVUJAItJOoa8xwD8RPIT/T4J4L3zfQAeNL1dRMZra2ur+/v7/8pHub+mvr7+wr6+vs8KCgoWGABFAN4EsEHjhA9QBeA2ks8HF6vZk8nkQL4nNwGTyeTa8vLycsuy7jcg1Mk/IpnyAZoBaOQ6FHg+ddlsdqNt201zObm5NpvN7ly0aNHrJN8LyL4FwGqSr/gAOrnej3C60HXdw/F4PJ7L4fKFSiQSl7W0tLQVFRWtCQDoNRwguZ6aWABcorE9sEDf+QjJ1fkqmmmdiHwHoCToXyKiceR0rkhY5TjOq9FoVLPdeY/x8fG+SCSySe/cFKYWCFOyPJ1Or4zFYh3nrR3A8PBwe2lp6TcAfg4DmBYwAFyRTqdXxWKx9nkE+DYUIEyBiFQ6jvNaNBq9Zz4AZruCGIBlJI8ZXpolee18AORwwgoAp/xnqMmjPuilZ8+ePZRIJNo7OztD436+YB0dHZe2trY+W1hYWGsccD/JOh/gKQBHSWpanRwicnc2m91k2/bmfJWFrRsdHd29cOHCXSTfD8i+FcA1JHcEQ/HtJDVnTw3XdfcPDQ0dra6unto8F5hUKrWurKxslWVZG4L7RGQbgA9IDgWT0VsANprJaGJi4kxDQ8OagwcPjsxFeWNj49Le3l6N91qMTA2vmNnr6fovGXkmvxPAlST3hGz4LZVKbausrMzLEnryioqKNpJLzCpJRJ4AcJLkp6rHLEieBjBA8rB5Wtd1942NjS3p6el5qa2t7VSYNdThmpqaWoqLi38xze4dUku4CpLb/f1hJZnWBY+SzJpKRGSdV5LVOI5zIpPJnNQ1tm2viEQiV7uue8SyrJeDDhew8GIAO0me4w9hABdp8ahNBkktyacNr+Qu84pSndfX81VY6e6dXJV3AoiT/CMoMFcyUogeAG+Q/DyX8+VZlqvZHwKw2VQ+zQdCTL4FwBkPZFrJPUtjoildG5PC4J2bOvJpze7QWhHAj4HWbBImpDXTQsPvH5cDeMf39lxWnBXAU6TNqcZu7fn0lyB53GhOdf6ZQHN6bF6a0xxOuJTkrwbA5LdcJ831/V8SOUYQxYGhRwAAAABJRU5ErkJggg==)"),new hA),O=new Dd,X=new Dd,g=new Dd,t=new EA,N="number"==typeof P?{x:P,y:P,z:P}:P,d={center:new Dd(0,0,0),radius:N};s._showCrossIcon=function($){OX(s.getView(),SZ),pX(SZ,{x:$.clientX-16,y:$.clientY-16,width:32,height:32})},s._hideCrossIcon=function(){J_(SZ)},s._scrollImpl=function($,z){(Z={point:c.lp($),screen:s_($),hit:o($),type:"right"}).hitNormalize=Z.hit?Z.hit.clone().normalize():new Dd,$={clientX:Z.screen.x,clientY:Z.screen.y+10*z},s._handleMoveImpl($),s._endMoveImpl($)},s._startMoveImpl=function($){A&&(A.stop(!0),A=null),(Z={point:c.lp($),screen:s_($),hit:o($)}).hitNormalize=Z.hit?Z.hit.clone().normalize():new Dd,uX($)?1===$.touches.length?Z.hit&&(Z.type="left"):2===$.touches.length&&(Z.type="touch2"):($_($)?Z.hit&&(Z.type="left"):C_($)?Z.type="right":z_($)&&Z.hit&&(Z.type="middle"),!Z.hit||"right"!==Z.type&&"middle"!==Z.type||s._showCrossIcon($)),Z.type&&l_(s,$)},s._handleMoveImpl=function($){if(Z)switch(Z.type){case"left":return s._handleLeft($);case"right":return s._handleRight($);case"middle":return s._handleMiddle($);case"touch2":return s._handleTouch2($)}},s._endMoveImpl=function($){var C,o,M;Z&&(this._hideCrossIcon(),"left"!==Z.type&&"middle"!==Z.type||(C=Z.lastAngle/(Z.deltaTime||30)*1e3,o=Z.lastAxis,M=Z.lastTime,A=w3({action:function(){var $=Date.now(),z=($-M)/1e3;M=$,C*=Math.pow(Math.abs(s.decelerationRate),3*z),Math.abs(C)<.01?(C=0,A&&A.stop()):y(o,C*z)},duration:5e3})),Z=null)},s._handleLeft=function($){if(!Z.finished){var z=s_($),C=function($,z){c._81O=null,t.origin.copy(c.getEye());for(var C,o,M=c.getCenter(),A=O.copy(c.getEye()).sub(X.copy(c.getCenter())).toArray(),N=1,s=16,g=0,Y=1,v={x:0,y:0};s--;){if(v.x=z.x+($.x-z.x)*N,v.y=z.y+($.y-z.y)*N,C=c.getHitPosition(v,M,A),t.direction.copy(C).sub(t.origin).normalize(),(o=t.intersectEllipsoid(d))&&1===N)return{hit:o};o?g=N:Y=N,N=(g+Y)/2}return{hit:o,out:N<1}}(z,Z.lastScreen||Z.screen);if(Z.lastScreen=z,!C.hit)return Z.finished=!0,void s._endMoveImpl($);(z=C.hit).normalize();var o=Z.hitNormalize,M=Math.acos(z.dot(o));y(z=z.cross(o).normalize(),M),C.out&&(Z.finished=!0,s._endMoveImpl($))}},s._handleRight=function($){var z,C=(Z.lastScreen||Z.screen).y;($=(Z.lastScreen=s_($)).y-C)&&(C=Math.min(.5,$*s.scaleSpeed),O.copy(c.getEye()),$=($=Z.hit)||O.clone().divide(N).normalize().multiply(N),X.copy(O).lerp($,C),c.setEye(X.toArray()),O.copy(c.getUp()),X.normalize(),$=O.clone().cross(X).normalize(),g.copy(c.getCenter()),g.sub($.multiplyScalar(g.dot($))),c.setCenter(g.toArray()),Z.hit&&(C=o(Z.screen),$=Z.hitNormalize,C&&(C.normalize(),z=Math.acos(C.dot($)),C=C.cross($).normalize(),z&&y(C,z))))},s._handleTouch2=function($){var z,C,o,M,A,N,s,g,Y,v,O,t;2===$.touches.length&&(z=($=$.touches)[0].clientX,C=$[0].clientY,t={x:(o=$[1].clientX)-z,y:($=$[1].clientY)-C},v=Z.lastCenter,N=Math.atan2(t.y,t.x),M=0,(A=Z.theta)==fd?A=Z.theta=N:(M=N-A,Z.thetaStarted||.03<Math.abs(M)?(Z.thetaStarted=!0,Z.theta=N):M=0),A=Math.sqrt(t.x*t.x+t.y*t.y),(N=Z.vlen)?(O=z-v.x,g=C-v.y,Y=o-v.x,v=$-v.y,O=Math.sqrt(O*O+g*g),g=Math.sqrt(Y*Y+v*v),(v=_(O-(Y=N/2)))*(O=_(g-Y))<0||0===v&&0===O?(s=1,Z.vlen=A):(s=s||A/N,Z.scaleStarted||.05<Math.abs(s-1)?(Z.vlen=A,Z.scaleStarted=!0):s=1)):(N=Z.vlen=A,s=1),t=X.copy(c.getEye()).clone(),1!==s&&c.setEye(t.setLength((t.length()-P)/s+P).toArray()),M&&y(t.normalize(),M),Z.lastCenter={x:(o+z)/2,y:($+C)/2})},s._handleMiddle=function($){var $=s_($),z=Z.screen,C=((Z.screen=$).y-z.y)/180*Math.PI*s.rollSpeed,o=(X.copy(c.getCenter()).sub(O.copy(c.getEye())).normalize(),O.copy(c.getUp()).cross(X).normalize(),X.copy(c.getEye()).sub(Z.hit).applyAxisAngle(O,C).add(Z.hit),X.clone()),M=(X.copy(c.getCenter()).sub(Z.hit).applyAxisAngle(O,C).add(Z.hit),X.clone()),A=X.copy(c.getUp()).applyAxisAngle(O,C).clone(),N=!1,C=(0<C&&(g.copy(A),X.copy(M).sub(o).normalize(),O.copy(o).multiplyScalar(-1).normalize(),0<O.dot(g)-X.dot(g)&&(N=!0)),N||0<=g.copy(Z.hit).sub(o).dot(Z.hitNormalize)&&(N=!0),N||(c.setEye(o.toArray()),c.setCenter(M.toArray()),c.setUp(A.toArray())),-($.x-z.x)/180*Math.PI*s.rotateSpeed);y(Z.hitNormalize,C)}}),g4=($("GlobeInteractor",wd,{handle_contextmenu:function($){m3($)},handle_mousewheel:function($){this._scrollImpl($,$.wheelDelta/40)},handle_DOMMouseScroll:function($){2===$.axis&&this._scrollImpl($,-$.detail)},handle_keydown:function($){this.gv.handleKeyDown($)},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function($){m3($);var z,C,o=this.gv;o.setFocus($)&&((z=(C=o.getDataInfoAt($))?C.data:fd)&&o.isInteractive(z)||this._startMoveImpl($),C=C?C.part:fd,M_($)?o.handleDoubleClick($,z,C):o.handleClick($,z,C))},handle_mouseup:function($){this.handle_touchend($)},handle_touchend:function($){},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){this._handleMoveImpl($)},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},handleWindowTouchEnd:function($){this._endMoveImpl($)}}),Jd.defineProperties(s4.prototype,{rotateSpeed:{get:function(){return this._rotateSpeed||.3},set:function($){this._rotateSpeed=$}},rollSpeed:{get:function(){return this._rollSpeed||.1},set:function($){this._rollSpeed=$}},scaleSpeed:{get:function(){return this._scaleSpeed||.002},set:function($){this._scaleSpeed=$}},decelerationRate:{get:function(){return this._decelerationRate||.04},set:function($){this._decelerationRate=$}}}),function($){return[(($|=2147483648)>>16&255)/255,($>>8&255)/255,(255&$)/255,($>>24&255)/255]}),Y4=function($){this.gv=$,this.gv.pickColorMap={_pickIdUsed:5e3,_outside:Kd},this._cacheQuery=[],this._cacheLength=0,this._cacheIdx=0},v4=(V_(Y4,Jd,{_iv:!0,iv:function(){this._iv=!0},get:function($,z,C){this.validate();var o=this,M=o.gv;if(!M.getGL())return fd;var A=o._resolution,N=o.renderTarget,s=N.getSize()[1],g=Math.round($.x*A),Y=Math.ceil($.width*A),v=Math.ceil($.height*A),O=s-Math.round($.y*A)-v;if(!C)for(var t=o._cacheQuery,c=o._cacheIdx;c>=o._cacheIdx-o._cacheLength+1;c--){var y=t[3&c];if(y[0]===g&&y[1]===O&&y[2]===Y&&y[3]===v&&y[4]===z)return y[5]}var _,P,Z,X=N.readPixels(g,O,Y,v),d=M.pickColorMap;if(z){for(var l=Math.round((Y-1)/2),J=Math.round((v-1)/2),K=Math.floor(Math.max(Y,v)/2),c=0;c<=K;c++){var f=l-c,Q=l+c,W=J-c,V=J+c;if(0<=W)for(Z=f;Z<=Q;Z++)if(_=LE(W,Z,g,O,Y,v,s,A,X,d,C))return wE(o,g,O,Y,v,z,C,_);if(0<=f)for(P=1+W;P<V;P++)if(_=LE(P,f,g,O,Y,v,s,A,X,d,C))return wE(o,g,O,Y,v,z,C,_);if(V<v)for(Z=f;Z<=Q;Z++)if(_=LE(V,Z,g,O,Y,v,s,A,X,d,C))return wE(o,g,O,Y,v,z,C,_);if(Q<Y)for(P=1+W;P<V;P++)if(_=LE(P,Q,g,O,Y,v,s,A,X,d,C))return wE(o,g,O,Y,v,z,C,_)}return wE(o,g,O,Y,v,z,C,null)}for(var e,D,a=new L,k={},x={},c=0,p=X.length;c<p;c+=4)!(e=(X[c]<<16)+(X[c+1]<<8)+X[c+2]+(X[c+3]<<24))||k[e]||!(_=UE(d,e))||C&&!1===C(_,Z=Math.round((g+(c>>2)%Y)/A),P=Math.round((s-1-(O+Math.floor((c>>2)/Y)))/A))||x[(D=_.data)._id]||(a.add(D),x[D._id]=D,k[e]=!0);return wE(o,g,O,Y,v,z,C,a)},getResolution:function(){return this._resolution},dispose:function(){t1(this.gv,this.renderTarget),this.renderTarget=null},validate:function(){var $,z,C,o,M,A=this.gv,N=A.getGL();N&&(($=this.renderTarget)||(this.renderTarget=$=new M4(A,1,1)),this._iv&&(this._iv=!1,this._cacheLength=0,z=this._resolution=A._pickerResolution*A.getDevicePixelRatio(),C=Math.round(z*A.getWidth()),o=Math.round(z*A.getHeight()),$.setSize(N,C,o),M=!1,A._40Q.each(function($){!M&&$.isBatchInvalid()&&(M=!0)}),M&&A.updateScene(),$.bind(N),N.colorMask(!0,!0,!0,!0),N.clear(16384),A.overlappingBox.clear(),A.setViewport(N,0,0,C,o),A.renderPickScene(z),$.unbind(N)))}}),function($){this.gv=$}),O4=(V_(v4,Jd,{gap:0,size:0,_42:function($){var z,C=this,o=C.gv,M=o._gridGap,A=o._gridSize;if(o._gridVisible){if(C.gap!==M||C.size!==A){for(var N=[],s=o._gridSize/2,g=M*s,Y=0;Y<2*s+1;Y++){var v=6*Y,O=6*(2*s+1)+v;N[v]=-g,N[1+v]=0,N[2+v]=Y*M-g,N[3+v]=g,N[4+v]=0,N[5+v]=Y*M-g,N[O]=Y*M-g,N[1+O]=0,N[2+O]=-g,N[3+O]=Y*M-g,N[4+O]=0,N[5+O]=g}C.vs=new p_(N),C.gap=M,C.size=A}R1(o),_1($),d1($),(A=!o._fogDisabled)&&((z=kd.for($).directUniforms()).uFog=!1),f1($,1,o._gridColor,o._buffer.vs,C.vs),W1($,0,C.vs.length/3,1),A&&(z.uFog=!0),l1($),P1($)}else C.vs=C.gap=C.size=fd}}),function($){this.gv=$}),t4=(V_(O4,Jd,{_42:function($){var z,C,o,M,A=this.gv,N=A._buffer.vs,s=A._axisXColor,g=A._axisYColor,Y=A._axisZColor,v=A._originAxisVisible,O=A._centerAxisVisible;(v||O)&&(C=Mt?4:6,R1(A),_1($),d1($),v&&(o=A.getCenterInfo(),M=od(o.width,o.height)/5,f1($,1.5,s,N,new p_([0,0,0,M,0,0,v=.8*M,z=.05*M,0,v,0,z,v,-z,0,v,0,-z,v,z,0,0,0,0,0,M,0,z,v,0,0,v,z,-z,v,0,0,v,-z,z,v,0,0,0,0,0,0,M,z,0,v,0,z,v,-z,0,v,0,-z,v,z,0,v])),W1($,0,2,1),W1($,1,6,C),f1($,fd,g),W1($,7,2,1),W1($,8,6,C),f1($,fd,Y),W1($,14,2,1),W1($,15,6,C)),O&&(v=(z=A._center)[0],C=z[1],O=z[2],o=A.getPositionInfo(z),M=od(o.width,o.height)/20,f1($,1.5,s,N,new p_([v,C,O,v+M,C,O,v,C,O,v,C+M,O,v,C,O,v,C,O+M])),W1($,0,2,1),f1($,fd,g),W1($,2,2,1),f1($,fd,Y),W1($,4,2,1)),l1($),P1($))}}),function($){this.gv=$}),c4="edit_tx",y4="edit_ty",_4="edit_tz",P4="edit_rx",Z4="edit_ry",X4="edit_rz",d4="edit_sx",l4="edit_sy",J4="edit_sz",K4={},f4=(K4[c4]=101,K4[y4]=102,K4[_4]=103,K4[P4]=104,K4[Z4]=105,K4[X4]=106,K4[d4]=107,K4[l4]=108,K4[J4]=109,V_(t4,Jd,{_42:function($){var z,C,o,M,A,N,s,g,Y,v,O,t,c,y,_=this,P=_.gv,Z=P.sm().ld();!Z||!P.isEditable(Z)||P.isEditHelperDisabled()||!R(Z)||P.isFirstPersonMode()&&(P.isMouseRoamable()||Yt)||(R1(P),z=P.isMovable(Z),C=P.isRotationEditable(Z),o=P.isSizeEditable(Z),M=P._axisXColor,A=P._axisYColor,N=P._axisZColor,s=P._editSizeColor,t=Z.p3(),P=(g=P.isOrtho()?(g=P.getCenterInfo(),od(g.width,g.height)/8):Y_(P.getEye(),t)/10)/(P.isPicking()?5:10),Y=.4*(g*=.7),v=t[0],O=t[1],t=t[2],y=[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],z&&_._17O($,Z,c4,M,y,[v,O-P,t,v+g,O-P,t,v+g,O,t,v+g,O,t,v,O,t,v,O-P,t,v,O-P,t+P,v+g,O-P,t+P,v+g,O-P,t,v+g,O-P,t,v,O-P,t,v,O-P,t+P]),c=v+g,o&&_._17O($,Z,d4,s,y,[c,O-P,t,c+Y,O-P,t,c+Y,O,t,c+Y,O,t,c,O,t,c,O-P,t,c,O-P,t+P,c+Y,O-P,t+P,c+Y,O-P,t,c+Y,O-P,t,c,O-P,t,c,O-P,t+P]),c+=Y,C&&_._17O($,Z,P4,M,y,[c,O-P,t,c+Y,O-P,t,c+Y,O,t,c+Y,O,t,c,O,t,c,O-P,t,c,O-P,t+P,c+Y,O-P,t+P,c+Y,O-P,t,c+Y,O-P,t,c,O-P,t,c,O-P,t+P]),y=[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],z&&_._17O($,Z,y4,A,y,[v,O,t,v,O+g,t,v-P,O+g,t,v-P,O+g,t,v-P,O,t,v,O,t,v,O,t,v,O,t-P,v,O+g,t-P,v,O+g,t-P,v,O+g,t,v,O,t]),c=O+g,o&&_._17O($,Z,l4,s,y,[v,c,t,v,c+Y,t,v-P,c+Y,t,v-P,c+Y,t,v-P,c,t,v,c,t,v,c,t,v,c,t-P,v,c+Y,t-P,v,c+Y,t-P,v,c+Y,t,v,c,t]),c+=Y,C&&_._17O($,Z,Z4,A,y,[v,c,t,v,c+Y,t,v-P,c+Y,t,v-P,c+Y,t,v-P,c,t,v,c,t,v,c,t,v,c,t-P,v,c+Y,t-P,v,c+Y,t-P,v,c+Y,t,v,c,t]),y=[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],z&&_._17O($,Z,_4,N,y,[v,O,t,v,O,t+g,v,O-P,t+g,v,O-P,t+g,v,O-P,t,v,O,t,v,O-P,t,v-P,O-P,t,v-P,O-P,t+g,v-P,O-P,t+g,v,O-P,t+g,v,O-P,t]),c=t+g,o&&_._17O($,Z,J4,s,y,[v,O,c,v,O,c+Y,v,O-P,c+Y,v,O-P,c+Y,v,O-P,c,v,O,c,v,O-P,c,v-P,O-P,c,v-P,O-P,c+Y,v-P,O-P,c+Y,v,O-P,c+Y,v,O-P,c]),c+=Y,C&&_._17O($,Z,X4,N,y,[v,O,c,v,O,c+Y,v,O-P,c+Y,v,O-P,c+Y,v,O-P,c,v,O,c,v,O-P,c,v-P,O-P,c,v-P,O-P,c+Y,v-P,O-P,c+Y,v,O-P,c+Y,v,O-P,c]))},_17O:function($,z,C,o,M,A){var N=this.gv,s=N._buffer,g=(Y=kd.for($)).directUniforms(),Y=Y.directAttribs();N._picking&&(N.pickColorMap[N=K4[C]]={data:z,part:C},g.uFixPickReverseColor=g4(N)),Z1($,fd,!0,fd,!0,fd,!1),g.uDiffuse=o,Y.aPosition=e1($,s.vs,new p_(A)),Y.aNormal=e1($,s.ns,new p_(M)),d1($),W1($,0,12),l1($),X1($)}}),U.Raycaster=function($){this.gv=$,this.maxTriangleTest=1/0,this.backfaceCulling=!0,this.triangleTestEpsilon=1e-9}),Q4=(D_("Raycaster",Jd,{getTriangleTestEpsilon:function(){return this.triangleTestEpsilon},setTriangleTestEpsilon:function($){return this.triangleTestEpsilon=$,this},getBackfaceCulling:function(){return this.backfaceCulling},setBackfaceCulling:function($){return this.backfaceCulling=$,this},intersect:function($){var z=this.gv.getDataAt($);return z?this.intersectObject($,z):null},intersectObjects:function(z,$,C){var o,M,A,N,s=this,g=1/0,Y=z.origin||(new Dd).fromArray(s.gv.getEye()),v=s.maxTriangleTest,O=[],t=($.forEach(function($){C&&!1===C($)||!1!==$.s("intersect")&&O.push($)}),Y.distanceToSquared2([0,0,0]));return O.sort(function($,z){return($.p3?Y.distanceToSquared2($.p3()):t)-(z.p3?Y.distanceToSquared2(z.p3()):t)}),s.countTriangles=0,O.forEach(function($){s.countTriangles>v||(o=s.intersectObject(z,$))&&(M=Y.distanceToSquared(o.world))<g&&(A=$,N=o,g=M)}),s.countTriangles=0,{data:A,intersect:N}},intersectObjectAndRecordTriangle:function($,z){return this._4GQ=!0,$=this.intersectObject($,z),this._4GQ=!1,$},intersectLastTriangle:function($,z){if(($=this.getRay($)).applyMatrix4(z.inverseMatrix),!($=$.intersectPlane(z.plane)))return null;var C=jA.uvIntersection($,z.p1,z.p2,z.p3,z.uv1.clone(),z.uv2.clone(),z.uv3.clone());return{world:$.clone().applyMatrix4(z.matrixWorld),local:$.clone(),uv:C}},getRay:function($){if($ instanceof EA)return $;var z,C=this.gv,$=C.unproject($),o=new Dd,M=C.getEye(),A=new Dd;return C.isOrtho()?(z=new Dd(M),A.copy(C.getCenter()).sub(z).normalize(),C=o.copy($).sub(z).dot(A),o.copy(A).setLength(-C).add(z.copy($))):(o.copy(M),A.copy($).sub(o).normalize()),new U.Math.Ray(o,A,!0)},intersectObject:function($,z){return this._intersectObjectImpl(this.getRay($),z)},_intersectObjectImpl:(GZ=new ad,EZ=new ad,HZ=new ad,iZ=new ad,FZ=new EA,jZ=new Dd,UZ=new Dd,LZ=new Dd,wZ=new Dd,qZ=new Dd,TZ=new Dd,rZ=new Dd,BZ=new Dd,$i=new F,zi=new F,Ci=new F,oi=new Dd,Mi={vs:$w,is:zw,uv:Cw},(Ai=Mw.slice(0)).push("csg"),function($,z){var C,o,M,A,N,s,g,Y,v,O,t,c,y,_=this.gv.getData3dUI(z),P=((u=$.inDisplaySpace?_._finalMat||_._matWithExtraction||z.mat||_.mat:_._matWithExtraction||z.mat||_.mat)?GZ.fromArray(u):GZ.identity(),"body");if(!(u=(u=(u=!(u=_.shapeModel)&&(z instanceof U.Polyline||z instanceof U.Edge)&&_.lineShapeModel?_.lineShapeModel:u)||Qw(_))||(U.CSGNode&&z instanceof U.CSGNode||U.CSGShape&&z instanceof U.CSGShape?(M=!0,[_.left,_.front,_.right,_.back,_.top,_.bottom,_.csg]):z instanceof U.Node&&!(z instanceof U.Shape)?(C=!0,Mi):(o=!0,[_.left,_.front,_.right,_.back,_.top,_.bottom]))))return console.log("Can not find shape model."),null;ed(u)||(u=[u]);var Z,X,d,l,J,K,f,Q,W,V=1/0,e=["","top_","bottom_","from_","to_"],D=!1,a=this.backfaceCulling,k=this.triangleTestEpsilon,x=[];for(q1(u,_,x),A=0,N=x.length;A<N;A++)if((d=x[A])&&(Q=d.matrix,l=d.model,d=d.mesh))for(EZ.copy(GZ),Q&&EZ.multiply(Q),iZ.getInverse(EZ),FZ.copy($).applyMatrix4(iZ),s=0,g=e.length;s<g;s++)if(O=d[(J=e[s])+"vs"]){if(t=d[J+"is"],c=d[J+"uv"]||d[J+"tuv"],K=d[J+"boundingBox"]){if(!(W=FZ.intersectBox(K)))continue;if(FZ.origin.distanceTo(W)>V)continue;f=!1}else d[J+"boundingBox"]=K=new U.Math.Box3,f=!0;for(Y=0,v=t?t.length:O.length/3;Y<v;Y+=3)this.countTriangles++,t?(UZ.fromArray(O,3*t[Y]),LZ.fromArray(O,3*t[Y+1]),wZ.fromArray(O,3*t[Y+2])):(UZ.fromArray(O,3*Y),LZ.fromArray(O,3*(Y+1)),wZ.fromArray(O,3*(Y+2))),f&&(K.expandByPoint(UZ),K.expandByPoint(LZ),K.expandByPoint(wZ)),(y=FZ.intersectTriangle(UZ,LZ,wZ,a,k,jZ))&&(Z=FZ.origin.distanceTo(y))<V&&(V=Z,qZ.copy(y),TZ.copy(UZ),rZ.copy(LZ),BZ.copy(wZ),""!==J?P=J.slice(0,-1):C?P=Mw[Math.floor(Y/6)]:o?P=Mw[A]:M&&(P=Ai[A]),X=l,c&&(D=!0,t?($i.fromArray(c,2*t[Y]),zi.fromArray(c,2*t[Y+1]),Ci.fromArray(c,2*t[Y+2])):($i.fromArray(c,2*Y),zi.fromArray(c,2*(Y+1)),Ci.fromArray(c,2*(Y+2)))),HZ.copy(EZ))}if(!isFinite(V))return null;GZ.copy(HZ),iZ.getInverse(GZ);var p,b,z=qZ.clone().applyMatrix4(GZ),u=this._4GQ,_=(D&&(u&&(b={inverseMatrix:iZ.clone(),matrixWorld:GZ.clone(),p1:TZ.clone(),p2:rZ.clone(),p3:BZ.clone(),uv1:$i.clone(),uv2:zi.clone(),uv3:Ci.clone(),plane:(new U.Math.Plane).setFromCoplanarPoints(TZ,rZ,BZ)}),p=jA.uvIntersection(qZ,TZ,rZ,BZ,$i,zi,Ci)),qE()),u=qE(TZ.applyMatrix4(GZ),rZ.applyMatrix4(GZ),BZ.applyMatrix4(GZ)),n=0<FZ.direction.dot(_),z=(n&&(_.multiplyScalar(-1),u.multiplyScalar(-1)),{world:z,local:qZ.clone(),worldNormal:u,normal:_,uv:p,part:P,backface:n,model:X,worldMatrix:GZ.clone()});return b&&(z.triangleInfo=b),z})}),w.Data3dUI=function(o,M){this.gv=o,this.s=function($,z,C){return(z=z==fd?C:z)==fd?M.getStyle($):E(z,M,o)},this.data=M}),W4=(V_(Q4,Jd,{I3d:!0,ms_icons:1,_iv:!0,_cacheBoundingBox:Kd,iv:function(){this._iv=!0},update:function($,z,C){var o=this,M=o.data;if($||(z=($=o.gv).getGL(),C=$._40Q),!o.needValidate(z)||!$.isVisible(M))return C.push(this,!1),void($.isVisible(M)&&this.updateLod());var A,N,s,g=M._id,Y=M._47Q?null:o.s("batch"),v=M.getRenderLayer(),v=(C=C.get(v,!0)).batchIndexMap,O=C.batchModelMap,t=$.getBrightness(M),c=t!=fd&&1!==t,O=Jp(v,O,M,Y,$),Y=Y?$.getBatchInfo(Y)||Mv:fd,y=o.validate(O,Y);if(O&&(!Y.ms||!Y.ms.length)&&(A=(Y=v[g]).size=O.vs.length/3-Y.begin,s=O.rs))for(t=c?t:1,N=0;N<A;N++)s.push(t);(v=$.getWireframeGeometry(M))?Qp($,M,v):R(M)&&(g=$.getWireframe(M))&&Qp($,M,g),o.labelInfo=o.label2Info=o.noteInfo=o.note2Info=o._38o=fd,o._24O(wt,"getLabel"),o._24O(qt,"getLabel2"),o._26O(Tt,"getNote"),o._26O(rt,"getNote2"),o._15O(),o.interactiveInfo=$.isInteractive(M)?{}:fd,!C.push(this,!0)&&M instanceof PV&&o._46Q(z),this.updateLod(),!1!==y&&(o._iv=!1)},updateLod:function(){var $=this.shapeModel;if($&&$.lod&&(this._getLodId($.lod),($=this.data).s("static"))){var z=this.gv,C=$.getRenderLayer(),C=z._40Q.get(C,!0),z=z.getStaticInstancingKey($),o=C.getModel3dInstancedBatchMap();if(o=o&&o[z]?o[z]:o){if(o.lod[o.length-1]!=this._lodId&&(o.lod[o.length-1]=this._lodId,o.lodVersion=o.lodVersion+1),1===o.length)for(var M=0;M<32;M++)o.lodSum[M]=0;o.lodSum[this._lodId]=o.lodSum[this._lodId]+1}}},clearWireframeGeometryCache:function(){this.gv.invalidateCachedWireframe(this.data)},invalidateWireframe:function(){var $=this.data,z=$.getRenderLayer();(z=this.gv._40Q.get(z))&&z.ivWireframeBatch($)},_46Q:function($,z){var C,o,M,A,N=this.data,s=this.gv;s.isVisible(N)&&(A=N._id,o=(C=s._40Q.get(N._renderLayer,!0)).batchIndexMap[A],M=C.polylineIndexMap[A],A=C.wireframeIndexMap[A],(o||M||A)&&(z=z==fd?h1($,s.pickColorMap,s.isSelectable(N),this,Lt,!0):z)&&(Wp(z,o,C.batchModelMap),Wp(z,M,C.polylineModelMap),Wp(z,A,C.wireframeModelMap)))},_42:function($,z,C){var o=this,M=o.data,A=o.gv;if(A.isVisible(M)){var N,s,g,Y,v,O,t,c,y,_,P=A._picking;if(P)N=A.pickColorMap;else{if(A.isTransparentMask(M)||A.isReflecting($)&&!1===M.s("3d.reflectable"))return;N=Kd}if(Q4.getTitle===Kd)for(var Z in Q4.getTitle=0,Qd)if(Z.length===qt.length+1&&Z[qt.length]===Kf[4].toUpperCase()&&Z[qt.length-1]===Kf[qt.length+1].toUpperCase()){Q4.getTitle=qv;break}if(!Q4.getTitle||Od[qt.length+2]){if(Q4.getBlend===Kd)for(var Z in Q4.getBlend=0,Qd)if(Z.length===Nf.length+1&&Z[0]===Vt[0].toUpperCase()&&Z[qt.length+2]===Vt[0].toUpperCase()){Q4.getBlend=cv;break}if(!Q4.getBlend||Od[xf[0]]){if(Q4.getHead===Kd)for(var Z in Q4.getHead=0,aX){var X="box-sizing";6===Z.length&&Z[0]===Kf[4]&&Z[3]===X[0]&&Z[4]===X[1]&&Z[5]===X[2]&&(Q4.getHead=Jv)}if(!Q4.getHead||Od[qt.length]){if(Q4.getTitle2===Kd)for(var Z in Q4.getTitle2=0,aX)6===Z.length&&Z[0]===Mh[1].toUpperCase()&&Z[1]==="uv"[0]&&(Q4.getTitle2=lv);Q4.getTitle2&&!Od[af.length]||A[jt[0]+ff[0]]&&A[jt[0]+ff[0]].enable&&!Od[pt[0]]||(!P&&A.isTransmissionEnabled()&&o.s("shape3d.transmission")&&!A.isOITProcessing()&&(s=$._renderTargetStack[$._renderTargetStack.length-1])&&!s.isCube()&&K1(A,s),s=M._id,c=(g=A._40Q.get(M._renderLayer,!0)).batchIndexMap,y=g.batchModelMap,Y=A.isSelectable(M),t=!(O=!1),c=c[s],P&&(_=h1($,N,Y,o,Lt,c))&&!A._45Q&&(Wp(_,c,y),Wp(_,g.polylineIndexMap[s],g.polylineModelMap),Wp(_,g.wireframeIndexMap[s],g.wireframeModelMap)),P&&A.skipNonSelectableOnPick(M,Y)||(c||(O||(O=!0,t=J1($,A,M)),t&&(P||!A._45Q||A._oitEnabled||A.isReflecting($)||$._blooming||!o.s("transparent.separate")?o.drawBody($,z,C):(y=kd.for($).directState().cullFace,M._forceSingleFace=2,y.frontFace=M._flipSide?2305:2304,o.drawBody($,z,C),M._forceSingleFace=1,y.frontFace=M._flipSide?2304:2305,o.drawBody($,z,C),M._forceSingleFace=Kd,y.frontFace=2305))),A.isLabelVisible(M)&&((v=o.labelInfo)&&(P&&h1($,N,Y,o,wt),O||(O=!0,J1($,A,M)),o._28O(v,wt,C)),(v=o.label2Info)&&(P&&h1($,N,Y,o,qt),O||(O=!0,J1($,A,M)),o._28O(v,qt,C))),A.isNoteVisible(M)&&((v=o.noteInfo)&&(P&&h1($,N,Y,o,Tt),O||(O=!0,J1($,A,M)),o._29O(v,Tt,C)),(v=o.note2Info)&&(P&&h1($,N,Y,o,rt),O||(O=!0,J1($,A,M)),o._29O(v,rt,C))),(v=o._38o)&&(O||(O=!0,J1($,A,M)),o._99O($,v,N,Y,C)),O&&((_=kd.for($).directUniforms()).uBrightness=1,_.uClipDirection=0,kd.for($).directState().cullFace.frontFace=2305,$._blooming&&(_.blackout=!1))))}}}}},_formatClipUniforms:function($,z,C){switch($){case"uv.right":$=7;break;case"uv.left":$=8;break;case"left":$=2;break;case"top":$=3;break;case"bottom":$=4;break;case"front":$=5;break;case"back":$=6;break;default:$=1}var o,M,A,N;return $%2==0&&(z=1-z),7===$||8===$?(M=this.shapeModel)&&M.internalUvScale&&(z*=M.internalUvScale):C instanceof U.Shape?(M=C.s3(),A=this._vsTranslation?[0,0,0]:C.p3(),N=C.getAnchor3d(),z=$<3?(z-N.x)*M[0]+A[0]:$<5?(z-N.y)*M[1]+A[1]:(z-N.z)*M[2]+A[2]):(z-=.5,o=C._clipPercentageTranform),[$,z,o||az]},prepare:function(){var $=this,z=$.data;if(!(z instanceof PV)){var C,o,M,A=$.gv,N=A.getGL(),s=z._id,g=$.s("batch"),Y=A._batchIndexMap,v=A._batchModelMap,O=A.getBrightness(z),t=O!=fd&&1!==O;if($.needValidate(N)){N=Jp(Y,v,z,g,A),v=g?A.getBatchInfo(g)||Mv:fd;if($.validate(N,v),N&&(!v.ms||!v.ms.length)&&(C=(g=Y[s]).size=N.vs.length/3-g.begin,M=N.rs))for(O=t?O:1,o=0;o<C;o++)M.push(O);R(z)&&((v=A.getWireframeGeometry(z))?Qp(A,z,v):(Y=A.getWireframe(z))&&Qp(A,z,Y)),$.labelInfo=$.label2Info=$.noteInfo=$.note2Info=$._38o=fd,$._24O(wt,"getLabel"),$._24O(qt,"getLabel2"),$._26O(Tt,"getNote"),$._26O(rt,"getNote2"),$._15O(),$.interactiveInfo=A.isInteractive(z)?{}:fd,$._iv=!1}}},dispatchBoundingBoxChanged:function(){this._cacheBoundingBox=Kd},getBoundingBox:function($){if(this._cacheBoundingBox)return this._cacheBoundingBox;Ni||(Ni={vs:$w,is:zw,uv:Cw},si=new Dd,gi=new Dd,Yi=new Dd,vi=new Dd,Oi=new Dd);var z,C,o,M,A,N,s,g,Y=this,v=Y.data,O=Y.shapeModel;if((O=(O=!O&&(v instanceof U.Polyline||v instanceof U.Edge)&&Y.lineShapeModel?Y.lineShapeModel:O)||Qw(Y))||(U.CSGNode&&v instanceof U.CSGNode||U.CSGShape&&v instanceof U.CSGShape?(isCSG=!0,O=[Y.left,Y.front,Y.right,Y.back,Y.top,Y.bottom,Y.csg]):v instanceof U.Node&&!(v instanceof U.Shape)?O=Ni:(Y.left||Y.front||Y.right||Y.back||Y.top||Y.bottom)&&(O=[Y.left,Y.front,Y.right,Y.back,Y.top,Y.bottom])),!O)return Kd;ed(O)||(O=[O]);var t,c,y,_,P,Z,X=["","top_","bottom_"],d=new U.Math.Box3,l=!1,J=(Y._needRecoverPosition?(vi.set.apply(vi,v.p3()),Z=v.s3(),Oi.set(1/(Z[0]||1),1/(Z[1]||1),1/(Z[2]||1))):(vi.set(0,0,0),Oi.set(1,1,1)),[]);for(q1(O,Y,J),z=0,C=J.length;z<C;z++)if((t=J[z])&&(c=t.mesh))for(y=t.matrix,o=0,M=X.length;o<M;o++)if(s=c[(P=X[o])+"vs"],g=c[P+"is"],s){if(!(_=c[P+="boundingBox"]))for(c[P]=_=new U.Math.Box3,A=0,N=g?g.length:s.length/3;A<N;A+=3)g?(si.fromArray(s,3*g[A]),gi.fromArray(s,3*g[A+1]),Yi.fromArray(s,3*g[A+2])):(si.fromArray(s,3*A),gi.fromArray(s,3*(A+1)),Yi.fromArray(s,3*(A+2))),y&&(si.applyMatrix4(y),gi.applyMatrix4(y),Yi.applyMatrix4(y)),si.sub(vi).multiply(Oi),gi.sub(vi).multiply(Oi),Yi.sub(vi).multiply(Oi),si.isNaN()||_.expandByPoint(si),gi.isNaN()||_.expandByPoint(gi),Yi.isNaN()||_.expandByPoint(Yi);d.expandByBox(_),l=!0}return l?(this._cacheBoundingBox=d,Jd.freeze(d),Jd.freeze(d.min),Jd.freeze(d.max),$||Xp(Y.gv,v),d):Kd},needValidate:function($){return this._iv},validate:function($,z){},_16O:function($,z,C,o,M,A,N,s,g){return h_},drawBody:function($,z,C){},dispose:function(){this.disposeGLContent();var $,z=this._pickId;z&&($=this.gv.pickColorMap)[z]&&delete $[z]},getBodyColor:function($){var z=this.data;return this.gv.getBodyColor(z)||($?z.getStyle($):fd)},disposeGLContent:function(){this._cachedTextures&&this.gv.invalidateCachedTexture(this.data)},getCachedTexture:function($){var z=this._cachedTextures;return z?z[$||"main"]:null},setCachedTexture:function($,z){var C=this._cachedTextures,o=(C=C||(this._cachedTextures={}))[z=z||"main"];return o&&(this.gv.getGL().deleteTexture(o),o.interactiveInfo&&(o.interactiveInfo=fd)),C[z]=$},invalidateCachedTexture:function($){var z=this._cachedTextures;if(!z)return!1;var C,o=!1;for(C in z){var M=z[C];M&&(o=!0,$.deleteTexture(M))}return this._cachedTextures={},o},invalidateCachedGeometry:function(){},_24O:function($,z){var C,o,M=this.data,A=this.gv,N=this.s,s=A[z](M);s!=fd&&(C=N($+".scale"),o=N($+".max"),z=(A=this[$+"Info"]={label:s,textureScale:N($+".texture.scale"),color:A[z+"Color"](M),font:N($+".font"),align:N($+".align"),borderWidth:N($+".border.width"),borderColor:N($+".border.color"),letterGap:N($+".letter.gap"),background:A[z+"Background"](M)}).rect=tX(A,s),0<o&&o<z.width&&(A.labelWidth=z.width,z.width=o),z.x=z.y=0,z.width*=C,z.height*=C,A.mat=this._16O(N($+".autorotate"),N($+".position"),z,N($+".face"),N($+".t3"),N($+".r3"),N($+".rotationMode")),M=z.width/2,s=z.height/2,A.vs=new p_([-M,s,0,-M,-s,0,M,-s,0,M,s,0]),z.width/=C,z.height/=C)},_26O:function($,z){var C,o=this.data,M=this.gv,A=this.s,N=M[z](o);N!=fd&&(C=A($+".scale"),N=(M=this[$+"Info"]={note:N,textureScale:A($+".texture.scale"),expanded:A($+".expanded"),font:A($+".font"),color:A($+".color"),align:A($+".align"),borderWidth:A($+".border.width"),borderColor:A($+".border.color"),background:M[z+"Background"](o)}).expanded?(z=A($+".max"),(o=tX(M,N)).width+=6,o.height+=2,0<z&&z<o.width&&(M.labelWidth=o.width,o.width=z),{x:-o.width/2,y:-8-o.height,width:o.width,height:o.height+8}):{x:-6,y:-18,width:12,height:18},M.mat=this._16O(A($+".autorotate"),A($+".position"),fd,A($+".face"),A($+".t3"),A($+".r3"),A($+".rotationMode")),M.rect=N,1!==C&&((N=U3(N)).x*=C,N.height*=C,N.y=-N.height,N.width*=C),z=N.x,o=N.y,A=N.width,$=N.height,M.vs=new p_([z,-o,0,z,-o-$,0,z+A,-o-$,0,z+A,-o,0]))},eachShapeModel:function($,z){var C,o,M,A,N=this,s=N.data,g=(z=(z=(z=!(z=z||N.shapeModel)&&(s instanceof U.Polyline||s instanceof U.Edge)&&N.lineShapeModel?N.lineShapeModel:z)||Qw(N))||(s instanceof U.Node&&!(s instanceof U.Shape||U.CSGNode&&s instanceof U.CSGNode)?cubeSM:[N.left,N.front,N.right,N.back,N.top,N.bottom,N.csg]),ed(z)||(z=[z]),[]);for(q1(z,N,g),C=0,o=g.length;C<o;C++)(A=g[C])&&(M=A.mesh)&&(A=A.matrix,Ww(M),M.vs&&$(M.vs,M.is,M.ns,M.uv,A),M.top_vs&&$(M.top_vs,M.top_is,M.top_ns,M.top_uv,A),M.bottom_vs&&$(M.bottom_vs,M.bottom_is,M.bottom_ns,M.bottom_uv,A),M.from_vs&&$(M.from_vs,M.from_is,M.from_ns,M.from_uv,A),M.to_vs&&$(M.to_vs,M.to_is,M.to_ns,M.to_uv,A));return!0},_28O:function($,z,C){var o,M,A;C(this.s(z+".transparent"))&&(C=$.rect,o=$.textureScale,A=C.width*o,M=C.height*o,1<=A&&1<=M&&(A=Nx(A,M),1!==o&&(A.translate(C.x,C.y),A.scale(o,o),A.translate(-C.x,-C.y)),Ym(A,$),A.restore(),F1(this,z,$.mat,$.vs,!0)))},_29O:function($,z,C){var o,M,A,N,s;C(this.s(z+".transparent"))&&(C=$.rect,o=$.textureScale,M=C.x,A=C.y,s=C.width*o,N=C.height*o,1<=s&&1<=N&&(C.x=C.y=0,s=Nx(s,N),1!==o&&s.scale(o,o),vm(s,$),s.restore(),C.x=M,C.y=A,F1(this,z,$.mat,$.vs,!1)))},_99O:function($,z,C,o,M){if(z){var A,N=this.gv,s=this.data,g=N._buffer,Y=$._sharedTexture,v=z.icons,O=kd.for($).directAttribs();for(A in v){var t=v[A],c=z.rects[A];if(c&&M(E(t.transparent,s,N))){N._picking&&h1($,C,o,this,A);var y=E(t.shape3d,s,N),_=y?[y]:E(t.names,s,N),P=_?_.length:0,Z=E(t.textureScale,s,N)||1,X=E(t.light,s,N);X==fd&&(X=!!y),Z1($,E(t.blend,s,N),X,E(t.opacity,s,N),E(t.reverseFlip,s,N),E(t.reverseColor,s,N),E(t.reverseCull,s,N));for(var d=0;d<P;d++){var l,J,K,f=_[d],Q=c[d];i1(this,Q.mat),y?Jw(N,s,Qw(this,y),this):(f=j(f))&&(l=Q.width*Z,J=Q.height*Z,1<=l&&1<=J&&(K=Nx(l,J),E3(K,f,E(t.stretch,s,N),0,0,l,J,s,N),K.restore(),o1(N,$,Mx,Y),d1($,Y,E(t.discardSelectable,s,N),g.uv,Tp),O.aPosition=e1($,g.vs,Q.vs),O.aNormal=a1($,g.ns,rp,fd),x1($,g.is,Bp),V1($,0,Bp.length),l1($,Y))),u1(N)}X1($)}}}},_getLodId:function($){for(var z,C=this.gv,o=(M=this.data).getFinalScale3d(),M=M.p3(),A=this._getRangeSq($),$=C.getEye(),N=A.length,C=Math.max(o[0],o[2])*o[1],o=$[0]-M[0],s=$[1]-M[1],g=(o*o+s*s+($=$[2]-M[2])*$)/C,Y=this._lodId,v=0;v<N;v++)if(Y===v){if(g<A[v][2]){z=v;break}}else if(g<A[v][0]){z=v;break}this._lodId=z=z===Kd?N-1:z},_getRangeSq:function($){var z=this.gv;if($._version===z._renderId&&$._rangeSq)return $._rangeSq;for(var C,o=$.range,M=(o.length,$.switchBias||.01),A=($._version=z._renderId,o.length),N=z._lodConst,s=[],g=0;g<A;g++)C=N/o[g],s.push([C/(1+M),C,C/(1-M)]);return $._rangeSq=s}}),w.Node3dUI=function($,z){Ev(W4,this,[$,z])}),V4=(V_(W4,Q4,{_16O:function($,z,C,o,M,A,N,s,g){var Y,v,O=this.data,t=O.getFinalScale3d(),c=((O.hasOwnProperty("_anchor")||O.hasOwnProperty("_anchorElevation"))&&(Y=[-((Y=O.getAnchor3d()).x-.5)*t[0],-(Y.y-.5)*t[1],-(Y.z-.5)*t[2]]),O.s("part.boundingBox")&&(c=this.getBoundingBox(!0))&&(v=c.max.clone().sub(c.min),c=c.max.clone().add(c.min).divideScalar(2),(Y=Y||[0,0,0])[0]+=c.x*t[0],Y[1]+=c.y*t[1],Y[2]+=c.z*t[2],t[0]*=v.x,t[1]*=v.y,t[2]*=v.z),E1(z,t,C,o,s,g));return Y&&(c[0]+=Y[0],c[1]+=Y[1],c[2]+=Y[2]),H1(I_(),c,O.p3(),o,M,A,N,$,O.getFinalRotation3d(),O.getRotationMode())},clear:function(){var $=this;$.faceMat=$.mat=$.shapeModel=$.left=$.right=$.front=$.back=$.top=$.bottom=$.csg=fd},needValidate:function($){return this._iv?(this._validateFrameId=$._renderInfo.frame,!0):!(!this.data._47Q||($=$._renderInfo.frame,this._validateFrameId===$))&&(this._validateFrameId=$,!0)},invalidateUnstableWireframe:function(){this.data._47Q&&this.invalidateWireframe()},validate:function($,z){var C=this,o=C.gv,M=C.data,A=C.shapeName=C.s(Ff),N=Qw(C,A),s=(C._updateAutoRotation(),C._updateFixSize2d(),C._updateOverlapping(),C.dispatchBoundingBoxChanged(),C.invalidateUnstableWireframe(),L_(M,o.getMat(M),!N||C.s("shape3d.scaleable"))),g=(M.appendAnchorMatrix3d(s),o.createNodeFinalMatrix(M,s)),Y=N!==C.shapeModel,g=(C.clear(),C.mat=M.mat=s,C._finalMat=g);M._flipSide=ad.determinantOfArray(s)<0,!N&&A||(A=null,(C.shapeModel=N)&&N.model3d&&(M.s("3d.clip.direction")&&M.s("3d.clip.percentage")&&(A=iz(m_(s))),Y&&((Y=M._pendingAnimation)?M.playAnimation(Y.animationName,Y.speed,Y.start,Y.loop):(Y=N.playAutomatically)&&!M.isAnimationPlaying()&&("enabled"===Y||!0===Y?M.playAnimation():"first-frame"===Y&&M.playAnimation(Kd,0)))),M._clipPercentageTranform=A,$?N?z.instanced?o.batchInstancedModel(M,N,C,C.getBodyColor(),[s],$):Dp(o,M,N,C,C.getBodyColor(),[s],$):(Y=n1(g),z.instanced?o.batchInstancedFace(M,$,z,g,Y):bp(o,M,$,z,g,Y)):N||(C._cubeUvs=null,C.vf(_t,0),C.vf(Pt,16),C.vf(ct,8),C.vf(yt,24),C.vf(Zt,32),C.vf(Xt,40)))},_updateAutoRotation:(bi=new UA,ui=new ad,ni=new Dd,Ri=new Dd,Ii=new Dd,function(){var $=this.data,z=this.s("autorotate")||this.s("shape3d.autorotate");if(z){var C=this.gv,o=this.s("shape3d.autorotate.up");do{if("string"==typeof z){if("spinaxis"!==z){ni.copy(o||C._up),Ri.copy(C._eye).sub(Ii.copy(C._center));for(var M=0,A=z.length;M<A;M++)Ri[z[M]]=0;var N=Ri.normalize().dot(Ii.copy(ni).normalize());1-Math.abs(N)<1e-5&&(z.indexOf("x")<0?Ri.x+=1e-4:z.indexOf("y")<0?Ri.y+=1e-4:z.indexOf("z")<0&&(Ri.z+=1e-4));break}ni.copy($.p3())}else{if(!ed(z)){ni.copy(o||C._up),Ri.copy(C._eye).sub(Ii.copy(C._center));break}ni.copy(z)}}while(o?Ri.copy(o):(N=C._viewMatrix,Ri.set(N[1],N[5],N[9])),Ri.crossVectors(Ri,ni),Ri.crossVectors(Ri,ni),0);ui.lookAtDirection(Ri,ni),bi.set(0,0,0,$.getRotationMode(),!0).setFromRotationMatrix(ui);var s=$._dynamicRotation;s&&Math.abs(s[0]-bi.x)<1e-5&&Math.abs(s[1]-bi.y)<1e-5&&Math.abs(s[2]-bi.z)<1e-5||($._dynamicRotation=[bi.x,bi.y,bi.z])}else $._dynamicRotation&&delete $._dynamicRotation}),_updateFixSize2d:function(){var $,z,C,o,M,A,N=this.data,s=this.s("fixSizeOnScreen")||this.s("shape3d.fixSizeOnScreen");s?($=(C=this.gv).createNodeFinalMatrix(N),A=G_([0,0,0],$),A=C.toViewPosition(A),isNaN(A.x)||isNaN(A.y)||(z=G_([1,0,0],$),z=C.toViewPosition(z),$=G_([0,1,0],$),C=C.toViewPosition($),$=z.x-A.x,z=C.y-A.y,$&&z&&(C=N._dynamicScale3d||[1,1,1],A=j(N.s("shape3d.image")),0<s[0]&&(o=s[0]),0<s[1]&&(M=s[1]),o&&M||(s=0<s?s:1,o=o||(Bi(A,N)||N.getWidth())*s,M=M||($4(A,N)||N.getTall())*s),A=Math.abs($/o),s=Math.abs(z/M),Math.abs(A-1)<.001&&Math.abs(s-1)<.001||(N._dynamicScale3d=[C[0]/A,C[1]/s,C[2]])))):N._dynamicScale3d&&delete N._dynamicScale3d},_updateOverlapping:function(){var $=this.s("hide.overlapping.group");if($){for(var z,C=this.gv,o=this.data,M=C.createNodeFinalMatrix(o),A=1/0,N=1/0,s=-1/0,g=-1/0,Y=(o=o.getAnchor3d()).x,v=o.y,O=o.z,t=0;t<8;t++){if(z=G_([(t>>2)-Y,(t>>1&1)-v,(1&t)-O],M),z=C.toViewPosition(z),isNaN(z.x)||isNaN(z.y))return;A=Math.min(A,z.x),s=Math.max(s,z.x),N=Math.min(N,z.y),g=Math.max(g,z.y)}this._rectOverlapping=C.overlappingBox.isOverlapping($,{x:A,y:N,w:s-A,h:g-N})}else this._rectOverlapping&&(this._rectOverlapping=Kd)},getVectorDynamicSize:function(){var o,M,A,N,s,g,$,z,C,Y,v=this.s("shape3d"),O=this.data;if("billboard"===v||"plane"===v||(z=O._currentCubeElementId)!=fd)return o=this.gv,M=o.createNodeFinalMatrix(O),$=O.getAnchor3d(),A=.5-$.x,N=.5-$.y,s=.5-$.z,g=Math.min(this.s("vector.dynamic.maxsize"),o._glCapabilities.maxTextureSize)/o.getDevicePixelRatio(),$=function($,z){$[0]+=A,$[1]+=N,$[2]+=s,z[0]+=A,z[1]+=N,z[2]+=s;var $=o.toViewPosition(G_($,M)),z=o.toViewPosition(G_(z,M)),C=$.x-z.x,$=$.y-z.y;return Math.min(g,Math.sqrt(C*C+$*$))},"billboard"===v?(C=$([-.5,0,0],[.5,0,0]),Y=$([0,-.5,0],[0,.5,0])):"plane"===v?(C=$([-.5,0,0],[.5,0,0]),Y=$([0,0,-.5],[0,0,.5])):O._currentCubeElementId!=fd&&(v=3*zw[z+1],O=3*zw[z],z=3*zw[z+2],C=$([$w[v],$w[1+v],$w[2+v]],[$w[z],$w[1+z],$w[2+z]]),Y=$([$w[v],$w[1+v],$w[2+v]],[$w[O],$w[1+O],$w[2+O]])),[C,Y]},vf:function($,z){if(this.gv.getFaceVisible(this.data,$)){($=j1(this,$)).mat&&(this.faceMat=!0);var C=$.uv;if(C)for(var o=(o=this._cubeUvs)||(this._cubeUvs=new p_([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])),M=0;M<8;M++)o[z+M]=C[M];return $}},_billboardInView:(Di=[-.5,-.5,0,-.5,.5,0,.5,-.5,0,.5,.5,0],ai=[-.5,0,-.5,-.5,0,.5,.5,0,-.5,.5,0,.5],ki=new HA,xi=new Dd,pi=new ad,function($){if(!this._finalMat)return!0;var z=this.gv.getFrustum(),C="billboard"===$?Di:ai;ki.makeEmpty(),pi.fromArray(this._finalMat);for(var o=0,M=C.length;o<M;o+=3)ki.expandByPoint(xi.fromArray(C,o).applyMatrix4(pi));return z.intersectsBox(ki)}),drawBody:function($,z,C){var o=this;if(o._rectOverlapping)return!0;var M=o.shapeModel;if(M||!o.shapeName){if(("billboard"===(g=o.s("shape3d"))||"plane"===g)&&!o._billboardInView(g))return!0;var A,N,s,g=o.gv,Y=o.data,v=g._cube,O=kd.for($).directAttribs();if(!o.s("effect.flow")&&($._picking||!o.s("shape3d.reflector")||(A=o._reflectorModel)&&A.renderAsNode))if(A||M&&M.model3d)o.s(Uf)&&((N=Y.s("polygonOffset"))&&g1($,N),A?o.gv._prefabRenderer.render($,A,Y):o.gv._prefabRenderer.renderNode($,M,Y,o._finalMat),N&&Y1($));else{if(R1(g,o._finalMat),M)Jw(g,Y,M,o,o.getBodyColor(),C);else for(O.aPosition=e1($,v.vs,fd),O.aNormal=e1($,v.ns,fd),k1($,v.is),s=0;s<6;s++)o._18O($,Mw[s],6*s,C,!1);if(u1(g),o.faceMat)for(s=0;s<6;s++)o._18O($,Mw[s],6*s,C,!0)}}},_18O:function($,z,C,o,M){var A,N,s,g,Y,v,O,t,c,y=this[z];y&&(A=this.data,!(g=(N=this.gv)._picking?null:y.material)&&!o(y.transparent)||M&&!y.mat||!M&&y.mat||(A._currentCubeElementId=C,(o=A.s("polygonOffset"))&&g1($,o),g?(g={mesh:{vs:$w,is:zw,ns:ow,uv:y.uv?this._cubeUvs:Cw,_complete_:!0},drawRange:[C,6],mat:g},A._currentFaceLightMask=y.light?A.s("light.mask"):0,N._prefabRenderer.render($,g,A,M?y.mat:null),A._currentFaceLightMask=null,g=N._cube,(s=kd.for($).directAttribs()).aPosition=e1($,g.vs,fd),s.aNormal=e1($,g.ns,fd),k1($,g.is)):(M&&R1(N,y.mat),s=kd.for($).directUniforms(),g=N.getTexture(y.texture,A,z),z=y.uv,Y=y.uvScale,v=y.uvOffset,O=y.uvRotation,t=y.uvAnchor,c=y.discardSelectable,g?z?d1($,g,c,N._buffer.uv,this._cubeUvs,v,Y,O,t):d1($,g,c,N._cube.uv,fd,v,Y,O,t):d1($),Z1($,y.blend,y.light,y.opacity,y.reverseFlip,y.reverseColor,A._forceSingleFace||y.reverseCull),s.uDiffuse=y.color||xd["color.empty"],V1($,C,6),X1($),l1($,g),M&&u1(N)),o&&Y1($),A._currentCubeElementId=null))},disposeGLContent:function(){W4.superClass.disposeGLContent.apply(this,arguments),this.data.s("shape3d.reflector")&&(t1(this.gv,this._reflectorRenderTarget),this._reflectorRenderTarget=null,this._reflectNormal=null)},drawReflector:(ti=new Dd,ci=new Dd,yi=new Dd,_i=new Dd,Pi=new Dd,Zi=new Dd,Xi=new ad,di=new ad,li=new ad,Ji=new Nr,Ki=new GA,fi=new mA,Qi=new mA,Wi=I_(),Vi=I_(),ei=["","top_","bottom_","from_","to_"],function($){var z=this,C=(z._reflectorInfo=null,z.data);if(C._reflecting||!z.mat)return!1;var o=z.gv;if(o._picking)return!1;if(o._camera&&!o._camera.isLayerVisible(C.getRenderLayer()))return!1;var M=o._camera||o,A=C instanceof dV,N=C.s("shape3d.reflector.ratio"),s=z._reflectorRenderTarget,g=o._canvas.width*N,N=o._canvas.height*N,Y=(Y=o.getViewport($))&&U3(Y);if(s?s.setSize($,g,N):s=z._reflectorRenderTarget=new w.RenderTarget(o,$,g,N),li.copy(z.mat),ed(g=z.s("shape3d.reflector.position"))?ti.copy(g).applyMatrix4(li):A?((X=C.p3())[1]+=(1-C.getAnchorElevation())*C.getTall(),ti.copy(X).applyMatrix4(li)):ti.copy(C.p3()),!z._reflectNormal){if(!(N=z.shapeModel))if(A)N=[z.left,z.right,z.top,z.bottom,z.front,z.back];else if(g=z.s(Ff)){if(!(N=Qw(z,g)))return!1}else N={vs:$w,is:zw,ns:ow};var v,O,t,c,y,_=[];if(q1(N,z,_),0===(v=_.length))return!1;if(ed(g=z.s("shape3d.reflector.normal")))yi.copy(g).normalize();else if(A)yi.set(0,1,0);else{for(var P,Z=0;Z<v;Z++)if((O=_[Z])&&(t=O.mesh)){for(Ww(t),c=0,y=ei.length;c<y&&!(P=t[ei[c]+"ns"]);c++);if(P){yi.set(P[0],P[1],P[2]);break}}if(!P)return!1}z._reflectNormal=yi.toArray(),(X=B.requestVector3()).copy(ti),X.applyMatrix4(di.copy(li).invert()),z._reflectorPosition=X.toArray(),N=Math.max(z.s("shape3d.reflector.normal.threshold"),.01*Math.PI),z._reflectorModel={model3d:!0,mesh:{vs:function($,z,C,o){for(var M,A,N,s,g,Y,v,O,t,c,y,_,P=B.requestVector3(),Z=B.requestVector3(),X=B.requestVector3(),d=B.requestVector3(),l=B.requestVector3(),J=B.requestVector3(),K=[],f=0,Q=$.length;f<Q;f++)if((g=$[f])&&(Y=g.mesh))for(Ww(Y),N=0,s=ei.length;N<s;N++)if(v=Y[ei[N]+"vs"])for(A=(O=Y[ei[N]+"is"])?O.length:v.length/3,_=g.matrix,M=0;M<A;M+=3)y=O?(t=O[M],c=O[M+1],O[M+2]):(c=(t=M)+1,M+2),c*=3,y*=3,Z.fromArray(v,t*=3),X.fromArray(v,c),d.fromArray(v,y),_&&(Z.applyMatrix4(_),X.applyMatrix4(_),d.applyMatrix4(_)),l.subVectors(X,Z),J.subVectors(d,Z),P.crossVectors(l,J).angleTo(C)<=o&&P.crossVectors(C,l.subVectors(Z,z)).cross(C).angleTo(l)<=o&&P.crossVectors(C,J.subVectors(X,z)).cross(C).angleTo(J)<=o&&P.crossVectors(C,l.subVectors(d,z)).cross(C).angleTo(l)<=o&&K.push(Z.x,Z.y,Z.z,X.x,X.y,X.z,d.x,d.y,d.z);return B.releaseVector3(P),B.releaseVector3(Z),B.releaseVector3(X),B.releaseVector3(d),B.releaseVector3(l),B.releaseVector3(J),K}(_,X,yi,N)},mat:{type:"reflector",internalDefines:!1,defines:{}}},B.releaseVector3(X)}if(Ji.getNormalMatrix(li),yi.copy(z._reflectNormal).applyNormalMatrix(Ji),ci.copy(M.getEye()),_i.subVectors(ti,ci),0<_i.dot(yi))return!1;_i.reflect(yi).negate(),_i.add(ti),Pi.copy(M.getCenter()).negate().add(ti),Pi.reflect(yi).negate(),Pi.add(ti),Zi.copy(M.getUp()),Zi.reflect(yi);var g=o._camera,N=0<(d=o)._tempCameraQueue.length?d._tempCameraQueue.pop():((d=new U.Camera).s("camera.aspect.sync",!0),d),X=(o.getCamera(N),(o._camera=N).p3(_i.toArray()),N.lookAt(Pi.toArray(),Zi.toArray()),o._18Q=fd,s.bind($),o.setViewport($,0,0,s.width,s.height),C.s("shape3d.reflector.background"));X?(f=v1($,!0),O1($,X)):O1($,[0,0,0,1]),kd.for($).glState.depth.mask=!0,$.clear(16640);var M=(M=C.s("shape3d.reflector.clip"))===Kd?.003:M,d=z1(o),l=$1(o),M=(Ki.setFromNormalAndCoplanarPoint(yi,ti.add(yi.clone().multiplyScalar(M))),Ki.applyMatrix4(di.fromArray(l)),fi.set(Ki.normal.x,Ki.normal.y,Ki.normal.z,Ki.constant),di.fromArray(d).getInverse(di),Qi.set(Math.sign(fi.x),Math.sign(fi.y),1,1).applyMatrix4(di),fi.multiplyScalar(2/fi.dot(Qi)),C._reflecting=!0,C.s("shape3d.reflector.shadow")),l={renderAxis:!1,renderEdit:!1,renderGrid:!1};if("disabled"===M?(l.renderShadowMap=!1,l.renderShadow=!1):"scene"===M?l.renderShadowMap=!1:l.useReflectorSelfShadowMap=!0,N.setProjectMatrix(d),o.renderSky(),d[2]=fi.x-d[3],d[6]=fi.y-d[7],d[10]=fi.z-d[11],d[14]=fi.w-d[15],N.setProjectMatrix(d),N.s("camera.renderSky",!1),l.ignoreExternalCamera=!0,o.renderScene(l),Xi.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),Xi.multiply(di.fromArray(o._projectMatrix)),Xi.multiply(di.fromArray(o._viewMatrix)),X&&O1($,f),s.unbind($),o._tempCameraQueue.push(N),o._18Q=fd,o._camera=g,(M=C.s("shape3d.reflector.blur"))&&(d=o.getPostProcessingModule("Blur"))&&d.drawImpl($,s,M,3<=M,C.s("shape3d.reflector.blur.iterations")),(l=o.getPostProcessingModule("Glitch"))&&l.enable&&l.onlyReflector&&(s=l._42($,s)),Y&&o.setViewport($,Y[0],Y[1],Y[2],Y[3]),!1===C.s("shape3d.reflector.visible"))return TE(o,C),!0;var J,K,f=(X=z._reflectorModel).mat,g=(f.tDiffuse=s.texture,f.color=Yx(C.s("shape3d.reflector.color")||xd["shape3d.reflector.color"]),Jd.assign(f.defines,o.getBoxClipperDefines()),f.cacheKey=o._boxClippers.length+" "+o._boxClipperTypes+o._boxClipperMasks,N=A&&z._matWithExtraction?z._matWithExtraction:z.mat,C.s("shape3d.reflector.immediate")),d=(f.modelMatrix=N,f.modelTextureMatrix=Uz(g?Wi:I_(),Xi.getElements(),N),f.modelViewMatrix=Uz(g?Vi:I_(),$1(o),N),f.projectionMatrix=z1(o),this.s("shape3d.transparent"));return f.transparent=!g&&d,g?(d&&(K=(J=kd.for($).glState).depth.mask,J.depth.mask=!1),o._prefabRenderer.render($,X,C),d&&(J.depth.mask=K),delete X.renderAsNode):X.renderAsNode=!0,TE(o,C),!0})}),function($,z){Ev(V4,this,[$,z])}),e4=(V_(V4,W4,{drawBody:function($){}}),w.Edge3dUI=function($,z){Ev(e4,this,[$,z])}),D4=(V_(e4,Q4,{_25Q:1,validate:function($,z){var C=this,o=C.s;if(o(Ff)===pt&&o("batch")==fd&&C.shapeModel&&C.info&&C._geometryVersion===C.data._geometryVersion)sp(C.gv,C.data);else{var M=C.gv,A=C.data,N=o("edge.width"),s=A._40I,g=A._41I;if(C._geometryVersion=A._geometryVersion,C.shapeModel=C.info=C.lineShapeModel=fd,s&&g){var Y=A.isLooped(),v=o(sf);if(e=Qd.getEdgeType(v)){if(!(e=e(A,ym(C,M,A,Y,v),M,C._19Q)).points||e.points.isEmpty())return;for(var O=C.info={},t=e.segments,c=(V=e.points).size(),y=s.getElevation(),_=g.getElevation(),P=0;P<c;P++){var Z=V.get(P);Z.e==fd&&(Z.e=y+(_-y)*P/(c-1))}var X=xz(V.get(0)),d=xz(V.get(c-1)),l=(c-(Q=c%2))/2;O.c1=xz(V.get(l-1)),O.c2=xz(V.get(l)),0!==Q&&(O.p3=O.c2),O.s1=X,O.s2=xz(V.get(1)),O.t1=xz(V.get(c-2)),O.t2=d}else{var J,K,f,Q,W,V=new L,O=C.info={},e=o("edge.offset"),D=o("edge.center"),a=o("edge.source.t3"),k=o("edge.target.t3"),x=G1(M,A,"source"),p=G1(M,A,"target");if(!x||!p)return M.invalidateData(A),delete C.info,!1;a&&(x[0]+=a[0],x[1]+=a[1],x[2]+=a[2]),k&&(p[0]+=k[0],p[1]+=k[1],p[2]+=k[2]),v===Ft?(t=o("edge.segments"),(c=(a=O.points=o(Nf)||nK).size())?(X=xz(a.get(0)),d=xz(a.get(c-1)),!D&&e&&(k=e,J=u_(X,x,!0),e=od(k,Y_(x,X)),x=[x[0]+J[0]*e,x[1]+J[1]*e,x[2]+J[2]*e],J=u_(p,d,!0),e=od(k,Y_(d,p)),p=[p[0]-J[0]*e,p[1]-J[1]*e,p[2]-J[2]*e]),1===c?O.p3=X:(l=(c-(Q=c%2))/2,K=xz(a.get(l-1)),f=xz(a.get(l)),0!==Q&&(O.p3=f),O.s1=x,O.s2=X,O.t1=d,O.t2=p)):(!D&&e&&(J=u_(p,x,!0),W=Y_(x,p),e=Om(e,W),x=[x[0]+J[0]*e,x[1]+J[1]*e,x[2]+J[2]*e],p=[p[0]-J[0]*e,p[1]-J[1]*e,p[2]-J[2]*e]),K=x,f=p),V.add({x:x[0],y:x[2],e:x[1]}),V.addAll(a),V.add({x:p[0],y:p[2],e:p[1]})):(k=ym(C,M,A,Y,v),C._19Q||(k=-k),Y?(l=x[0],Q=x[1],X=x[2],K=[l-k,Q+(d=s.getTall()/2+k),X],f=[l+k,Q+d,X],V.add({x:l-k,y:X,e:Q}),V.add({x:l-k,y:X,e:Q+d}),V.add({x:l+k,y:X,e:Q+d}),V.add({x:l+k,y:X,e:Q})):(J=u_(p,x,!0),W=Y_(x,p),a={x:x[0],y:x[2]},v={x:p[0],y:p[2]},d=(Y=Hz(fd,a,v,k)).x-a.x,l=Y.y-a.y,e=Om(e,W),J[0]*=e,J[1]*=e,J[2]*=e,K=[x[0]+J[0]+d,x[1]+J[1],x[2]+J[2]+l],f=[p[0]-J[0]+d,p[1]-J[1],p[2]-J[2]+l],D?(V.add({x:x[0],y:x[2],e:x[1]}),V.add({x:K[0],y:K[2],e:K[1]}),V.add({x:f[0],y:f[2],e:f[1]}),V.add({x:p[0],y:p[2],e:p[1]})):(V.add({x:K[0],y:K[2],e:K[1]}),V.add({x:f[0],y:f[2],e:f[1]})))),O.c1=K,O.c2=f,A._lastSourcePoint3d=V.get(0),A._lastTargetPoint3d=V.get(V.length-1)}O._lastPointsSegments={points:V,segments:t},C._matWithExtraction=C._vsTranslation=null,o(Ff)===pt?((Qd.extractPolylineTranslation||Qd.extractVerticesTranslation)&&(X=s.p3(),x=g.p3(),D=[(X[0]+x[0])/2,(X[1]+x[1])/2,(X[2]+x[2])/2]),O.list=C.createTubeModel(V,t,N/2,$,D)):O.list=C.createLineModel(V,t,N,"edge","edge.dash"),sp(M,C.data)}}},invalidateCachedGeometry:function(){this.info=fd}}),w.Shape3dUI=function($,z){Ev(D4,this,[$,z]),this._needRecoverPosition=!0}),a4=(V_(D4,W4,{drawBody:function($,z,C){var o=this._finalMat;if(o&&(!this.s("shape3d.reflector")||$._picking)){var M=this.gv,A=this.shapeModel;if(R1(M,o),A)Jw(M,this.data,A,this,this.getBodyColor(),C);else for(var N=0;N<6;N++)U1(this,$,z,Mw[N],C);u1(M)}},validate:function($,z){var C,o,M,A,N,s=this,g=s.s,Y=s.data,v=Y._thickness/2,O=Y.isClosePath(),t=Y.getPoints(),c=Y.getSegments(),y=g(jf),_=$&&$.uv;if(s.invalidateUnstableWireframe(),s.clear(),s.dispatchBoundingBoxChanged(),s._updateAutoRotation(),Qd.extractShapeTranslation||Qd.extractVerticesTranslation?(o=new B.Vector3(Y.p3()),(t=U3(t)).forEach(function($){$.x-=o.x,$.y-=o.z}),s._vsTranslation=(new B.Matrix4).setPosition(o),M=Y.getShapeElevation,Y.getShapeElevation=function(){return-(this.getTall()||0)*(this._anchorElevation-.5)}):s._vsTranslation=null,v<0){s.s("shape3d.reflector")&&(s._reflectNormal=null);try{var P,Z,X=g("shape3d.image.projection");X&&X[4]&&(Z=(P=Y.p3())[0],p=P[2],X=[Z+X[0],X[1]+p,Z+X[2],X[3]+p]),C=s.shapeModel=xm(t,c,g(qf),g(Tf),y,g(rf),Y.getTall(),Y.getShapeElevation(),O,X)}catch($){C=s.shapeModel={}}g(Uf)||(delete C.vs,delete C.ns,delete C.uv),"shape"===s.s("3d.clipbox.shape")&&(P="__shapeTopToCanvas__",U.Default.getShaderMap()[P]||U.Default.setShader(P,["attribute vec3 aPosition;","uniform vec4 shapeProjectMatrix;","void main() {"," gl_Position = vec4((aPosition.x - shapeProjectMatrix.x) / shapeProjectMatrix.z, (aPosition.z - shapeProjectMatrix.y) / shapeProjectMatrix.w, 0.0, 1.0);","}","// FS","void main() {"," gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);","}"].join("\n")),Z=Y.getAnchor(),p=s.s("3d.clipbox.mask.size")||[1024,1024],X=new M4(s.gv,p[0],p[1]),s._vsTranslation?A=N=0:(A=Y.getX(),N=Y.getY()),A-=(Z.x-.5)*Y.getWidth(),N-=(Z.y-.5)*Y.getHeight(),s.gv.renderModel(X,{model3d:!0,mesh:{vs:C.top_vs},mat:{type:P,shapeProjectMatrix:[A,N,Y.getWidth()/2,Y.getHeight()/2]}}),s._clipboxMask={texture:!0,image:X.toCanvas()},X.releaseTexture())}else if(g(Ff)===pt)D=_x(t,c,y,O),(C=s.shapeModel={vs:[],uv:[]}).sum=g(rf)||CX(D)||1,C.len=0,g(qf)&&!O&&(C.top_vs=[],C.top_uv=[]),g(Tf)&&!O&&(C.bottom_vs=[],C.bottom_uv=[]),s._12O(D,v);else{var d,l,J,K,f,Q,W,V,e,D=_x(t,c,y,O),a=s.vf(ct,_,!1,z);if(v&&(f=s.vf(yt,_,!1,z),Q=O?fd:s.vf(_t,_,!1,z),W=O?fd:s.vf(Pt,_,!1,z),V=s.vf(Zt,_,!1,z),e=s.vf(Xt,_,!1,z)),v){for(var k=0,x=D.length;k<x;k++)D[k]=s._tryRemoveBezierPoints(D[k],v);s._12O(D,v)}else a&&D.forEach(function($){if(0<(K=$.length))for(d=$[0],J=1;J<K;J++)l=$[J],s.addV(a.vs,d,l),d=l});s._20Q(D),$||(a&&(a.ns=C1(a.vs),Vw(a,"vs"),Vw(a,Of)),v&&(f&&(f.ns=C1(f.vs),Vw(f,"vs"),Vw(f,Of)),Q&&(Q.ns=C1(Q.vs),Vw(Q,"vs"),Vw(Q,Of)),W&&(W.ns=C1(W.vs),Vw(W,"vs"),Vw(W,Of)),V&&(V.ns=C1(V.vs),Vw(V,"vs"),Vw(V,Of)),e&&(e.ns=C1(e.vs),Vw(e,"vs"),Vw(e,Of)))),delete this._shapeModelCacheForWf}var p=s.mat=Y.getPointsMatrix3d().getElements();Y._flipSide=ad.determinantOfArray(p)<0,s._vsTranslation?p=s._matWithExtraction=(new B.Matrix4).fromArray(p).multiply(s._vsTranslation).toArray():s._matWithExtraction=null,$&&(up(s,p,$,C,z),s.clear()),M!=fd&&(Y.getShapeElevation=M),sp(s.gv,Y,s.mat)},_20Q:function($){var z,C,o,M,A,N,s,g,Y,v,O,t,c,y=this,_=y.front,P=y.back,Z=y.top,X=y.bottom,_=_?_.tuv:fd,P=P?P.tuv:fd,Z=Z?Z.tuv:fd,X=X?X.tuv:fd,d=0,l={front:0,back:0,top:0,bottom:0};(_||P||Z||X)&&(c=y.s(rf),z=c||CX($)||1,O=y.s("all.uv.union"),$.forEach(function($){if(0<(C=$.length)){for(v in l)(!1===(t=y.s(v+".uv.union"))||t==fd&&!1===O)&&(l[v]=0,c||(z=CX([$])));for(N=$[0],o=1;o<C;o++){for(v in s=$[o],g=Y_(N,s),l)d=l[v],M=d/z,l[v]=d+=g,A=d/z,"back"===v&&(Y=M,M=1-A,A=1-Y),y._14O(y[v],M,A);N=s}}}))},_14O:function($,z,C){var o,M,A,N,s,g,Y,v;$&&(v=$.uv,($=$.tuv)&&(v=v?(o=v[0]+(v[6]-v[0])*z,M=v[1]+(v[7]-v[1])*z,A=v[2]+(v[4]-v[2])*z,N=v[3]+(v[5]-v[3])*z,s=v[2]+(v[4]-v[2])*C,g=v[3]+(v[5]-v[3])*C,Y=v[0]+(v[6]-v[0])*C,v[1]+(v[7]-v[1])*C):(A=o=z,g=N=1,Y=s=C,M=0),$.push(A,N,s,g,Y,v,Y,v,o,M,A,N)))},_13O:function($){var z=$.uv;($=$.tuv)&&(z?$.push(z[2],z[3],z[4],z[5],z[6],z[7],z[6],z[7],z[0],z[1],z[2],z[3]):$.push(0,1,1,1,1,0,1,0,0,0,0,1))},_tryRemoveBezierPoints:function(z,$){var C=z.length;if(C<4)return z;for(var o,M,A,N,s=!1,g=function($){return z[$]},Y=function($){return z[C-1-$]},v=0;v<=1;v++)for(o=(A=v?Y:g)(0),M=A(1),t=2;t<C-1;t++)(N=A(t)).remove||(N.b&&Hz(o,M,N,$).adjust?s=N.remove=!0:(o=M,M=N));if(!s)return z;for(var O=[],t=0;t<C;t++)z[t].remove||O.push(z[t]);return O},_12O:function($,z){var C,o,M,A,N,s=this.s("shape3d.point.epsilon"),g=this;$.forEach(function($){if(0<(N=$.length)){for(A=1;A<N;A++)o=$[A-1],M=$[A],Math.abs(o.x-M.x)<s&&Math.abs(o.y-M.y)<s&&($.splice(A,1),N--,A--);for(C={p:$[0],n:!0},A=1;A<N;A++)o=$[A],M=A<N-1?$[A+1]:fd,g.addPoint(C,o,M,z,$)}})},addPoint:function($,z,C,o,M){var A,N,s,g,Y,v,O=this,t=$.p,c=$.f,y=$.b,_=O.s("shape3d.side")||W_,P=O.s("shape3d.start.angle"),Z=O.s("shape3d.sweep.angle"),X=O.shapeModel,d=O.data.isClosePath();if($.n&&($.n=!1,c=d&&2<M.length?Hz(M[M.length-2],t,z,o):Hz(fd,t,z,o),y=Ez(t,c),X?X.top_vs&&O._10O(y,c,_,P,Z,X.top_vs,X.top_uv):(A=O.left)&&(O.addV(A.vs,y,c),O._13O(A))),d=C?Hz(t,z,C,o):d&&2<M.length?Hz(t,z,M[1],o):Hz(t,z,fd,o),M=Ez(z,d),X){var l,J,K=X.vs,f=X.uv,o=X.sum;for(f&&(l=X.len/o,X.len+=Y_(t,z),J=X.len/o),s=O._9O(y,c,_,P,Z),g=O._9O(M,d,_,P,Z),Y=0;Y<_;Y++)Iv(K,s[v=Y+1]),Iv(K,g[Y]),Iv(K,s[Y]),Iv(K,g[Y]),Iv(K,s[v]),Iv(K,g[v]),f&&f.push(l,v/=_,J,N=Y/_,l,N,J,N,l,v,J,v);!C&&X.bottom_vs&&O._10O(M,d,_,P,Z,X.bottom_vs,X.bottom_uv,!0)}else!C&&(A=O.right)&&(O.addV(A.vs,d,M),O._13O(A)),(A=O.front)&&O.addV(A.vs,c,d),(A=O.back)&&O.addV(A.vs,M,y),(A=O.top)&&O.addH(A.vs,c,d,M,y,!0),(A=O.bottom)&&O.addH(A.vs,y,M,d,c);$.p=z,$.f=d,$.b=M},_10O:function($,z,C,o,M,A,N,s){for(var g,Y,v=this.data,O=this._9O($,z,C,o,M),t=($.x+z.x)/2,c=($.y+z.y)/2,y=v.getShapeElevation(),_=0,_=0;_<C;_++)s?(Iv(A,O[_]),Iv(A,O[_+1])):(Iv(A,O[_+1]),Iv(A,O[_])),Iv(A,[t,y,c]),N&&(Y=s?(g=_d*(_+1)/C+o,_d*_/C+o):(g=_d*_/C+o,_d*(_+1)/C+o),N.push(.5-.5*Wd(Y),.5-.5*yd(Y),.5-.5*Wd(g),.5-.5*yd(g),.5,.5))},_9O:function($,z,C,o,M){var A,N,s=this.data,g=[],Y=($.x+z.x)/2,v=($.y+z.y)/2,O=s.getTall()/2,t=s.getShapeElevation(),c=0;for(M==fd&&(M=_d);c<=C;c++)N=Wd(A=M*c/C+o),g.push([Y+($.x-Y)*N,t+O*yd(A),v+($.y-v)*N]);return g},addV:function($,z,C){var o=z.x,z=z.y,M=C.x,C=C.y,A=(N=this.data).getShapeElevation(),N=N.getTall()/2;$.push(o,A-N,z,M,A-N,C,M,A+N,C,M,A+N,C,o,A+N,z,o,A-N,z)},addH:function($,z,C,o,M,A){var N=(s=this.data).getTall()/2,s=s.getShapeElevation()+(A?N:-N);$.push(z.x,s,z.y,C.x,s,C.y,o.x,s,o.y,o.x,s,o.y,M.x,s,M.y,z.x,s,z.y)},vf:function($,z,C,o){var M,A=this.gv.getFaceVisible(this.data,$);return(C||A)&&((M=j1(this,$,o)).vs=[],M.tuv=A?[]:fd,M.visible=A),M}}),w.Points3dUI=function($,z){Ev(a4,this,[$,z])}),k4={},x4=(V_(a4,W4,{validate:function(){var $=this,z=$.gv,C=$.data,o=$.s,M=Yx(o("points.color")),A=o("points.size"),R=o("points.uv.offset"),N=o("points.image"),s=(!N||/\.(png|jpg|gif|jpeg|bmp|svg)$/i.test(N)||qh.test(N)||(k4[N]||(k4[N]=$._createCachedImage(N)),N=k4[N]),C._modelDirty),g=o("points.model");if(g){if($._lastShapeModel!==g||!$.shapeModel){var Y=Qw($,g);if(!Y)return;var O=[],t={},c=B.requestVector3();$.eachShapeModel(function($,z,C,o,M){for(var A=0,N=$.length;A<N;A+=3){var s=$[A],g=$[A+1],Y=$[A+2],v=(M&&(c.set(s,g,Y).applyMatrix4(M),s=c.x,g=c.y,Y=c.z),s+"_"+g+"_"+Y);t[v]||(t[v]=!0,O.push(s,g,Y))}},Y),B.releaseVector3(c),$._setShapeModelPoints(new p_(O)),$._lastShapeModel=g,s=!0}y=$.shapeModel.vs.length/3}else{var v=C.getPoints(),y=v.length;if(s||C._pointsDirty||!$.shapeModel){for(var _=[],P=0;P<y;P++){var Z=v[P];Z&&_.push(Z.x,Z.e,Z.y)}$._setShapeModelPoints(new p_(_)),C._pointsDirty=!1,s=!($._lastShapeModel=null)}}if($.mat=L_(C),$._finalMat=z.createNodeFinalMatrix(C,$.mat),Y=o("points.transparent"),$.info={mat:$._finalMat,size:A,diffuse:M,opacity:o("points.opacity"),texture:N,transparent:Y,alphaTest:Y?0:o("alphaTest"),uvScale:o("points.uv.scale"),uvOffset:R,discardSelectable:o("points.discard.selectable"),highlightPickColor:z.getHighlightPickColor(C)},s||C._colorsDirty){var X=!1,d=C.getColors();if(ArrayBuffer.isView(d))$.shapeModel.cs=d;else{if(d&&0<d.length)for(var l=[],P=0;P<y;P++)for(var J=d[P],I=J?(X=!0,Yx(J)):M,h=4*P,K=0;K<4;K++)l[h+K]=I[K];$.shapeModel.cs=X?new p_(l):null}C._colorsDirty=!1}if(s||C._sizesDirty){var f=!1,Q=C.getSizes();if(Q&&0<Q.length)for(var W,V=[],P=0;P<y;P++)0<=(W=Q[P])?(V.push(W),f=!0):V.push(A);$.shapeModel.ss=f?new p_(V):null,C._sizesDirty=!1}if(s||C._offsetsDirty){var e=!1,D=C.getUvoffsets();if(D&&0<D.length)for(var a,k,x=[],P=0;P<y;P++)a=D[k=2*P],k=D[1+k],a!=Kd&&k!=Kd?(x.push(a,k),e=!0):x.push(0,0);$.shapeModel.os=e?new p_(x):null,C._offsetsDirty=!1}if(s||$._lastPointNumber!==y){this.dispose();for(var p=z.pickColorMap,b=$._startPickId=p._pickIdUsed,_=(p._pickIdUsed=b+y,[]),P=0;P<y;P++){var u=b+P,n=g4(u);_.push(n[0],n[1],n[2],n[3]),p[u]||(p[u]={data:C,part:P})}$.shapeModel.ps=new p_(_),$._lastPointNumber=y}C._modelDirty=!1,this.dispatchBoundingBoxChanged()},_setShapeModelPoints:function($){var z=this.shapeModel,C=this.shapeModel={vs:$};return z&&($=$.length,$=Math.round($/3),z.cs&&z.cs.length==4*$&&(C.cs=z.cs),z.ss&&z.ss.length==$&&(C.ss=z.ss),z.os&&z.os.length==2*$&&(C.os=z.os),z.ps&&z.ps.length==4*$&&(C.ps=z.ps)),C},_createCachedImage:function($){var z=sX(),C=z.getContext("2d"),C=(vX(z,128,128,1),tK(C,{width:128,height:128,comps:[{type:$,background:"white",borderWidth:0,rect:[0,0,128,128]}]},0,0,128,128),U.Math.generateUUID());return Gh[C]=z,C},drawBody:function($,z){var C,o,M,A,N,s=this.gv,g=this.data,Y=s._picking;Y&&!s.isSelectable(g)||(C=this.shapeModel,N=this.info,C&&C.vs&&C.vs.length&&((o=g.s("polygonOffset"))&&g1($,o),M={type:"points",renderMode:"points",renderPickMap:!0,transparent:N.transparent,modelMatrix:N.mat,modelViewMatrix:Uz([],s._viewMatrix,N.mat),projectionMatrix:s._projectMatrix,viewMatrix:s._viewMatrix,scale:s.getHeight()/2/Math.tan(s.getFovy()/2),size:N.size,diffuse:N.diffuse,opacity:N.opacity,map:s.getTexture(N.texture,g),alphaTest:N.alphaTest,resolution:s.getDevicePixelRatio(),discardSelectable:N.discardSelectable,uvScale:N.uvScale,blackout:$._blooming&&!g.s("bloom"),picking:Y,useColor:!Y&&C.cs!=fd,useSizeArray:C.ss!=fd,uUvOffset:N.uvOffset,useUvArray:!Y&&C.os!=fd,defines:s.getBoxClipperDefines()},A=null,Y&&(s.isHighlightDrawing()?(M.pickColor=N.highlightPickColor,M.defines.HIGHLIGHT=!0):A=C.ps),s._prefabRenderer.render($,{model3d:!0,mesh:{position:C.vs,pickColor:A,color:Y?null:C.cs,aUvOffset:!Y&&C.os?C.os:null,sizeArray:C.ss},mat:M},g),this._material=M,o&&Y1($),(N=kd.for($)).useProgram(z),N.directAttribs().disable(),s.shadowMap.enable&&s.shadowMap.createShadow(),s.rebindOITTexture(),s.flowMap.createFlow(null,!0),s.rebindClipperMaskTexture()))},dispose:function(){a4.superClass.dispose.call(this);var $=this._startPickId,z=this._lastPointNumber;if($&&z){for(var C=this.gv.pickColorMap,o=0;o<z;o++){var M=$+o;C[M]&&delete C[M]}delete this._startPickId,delete this._lastPointNumber}}}),w.Polyline3dUI=function($,z){Ev(x4,this,[$,z]),this._needRecoverPosition=!0}),p4=(V_(x4,Q4,{_25Q:1,needValidate:function($){return W4.prototype.needValidate.call(this,$)},_updateAutoRotation:function(){return W4.prototype._updateAutoRotation.call(this)},invalidateUnstableWireframe:function(){this.data._47Q&&this.invalidateWireframe()},validate:function($,z){var C,o,M,A,N,s=this,g=s.data,Y=s.s,v=g.getPoints(),O=v.size(),t=(s.dispatchBoundingBoxChanged(),s._updateAutoRotation(),s.invalidateUnstableWireframe(),g.p3()),c=s.mat=I_(),y=(Fz(c,t),tV(c,g.getFinalRotation3d(),g.getRotationMode()),g.getScale3d()),_=g._dynamicScale3d;_&&(y[0]*=_[0],y[1]*=_[1],y[2]*=_[2]),jz(c,y),Fz(c,n_(t)),g._flipSide=ad.determinantOfArray(c)<0,Y(Ff)===pt&&Y("batch")==fd&&s.shapeModel&&s._geometryVersion===g._geometryVersion?s._vsTranslation&&(s._matWithExtraction=(new B.Matrix4).fromArray(c).multiply(s._vsTranslation).toArray()):(s._geometryVersion=g._geometryVersion,s.shapeModel=s.info=s.lineShapeModel=fd,s._matWithExtraction=s._vsTranslation=null,1<O&&(_=s.info={},y=g.getSegments(),t=g.getThickness(),C=xz(v.get(0)),o=xz(v.get(O-1)),_.c1=xz(v.get((A=(O-(M=O%2))/2)-1)),_.c2=xz(v.get(A)),0!=M&&(_.p3=_.c2),_.s1=C,_.s2=xz(v.get(1)),_.t1=xz(v.get(O-2)),_.t2=o,Y(Ff)===pt?((Qd.extractPolylineTranslation||Qd.extractVerticesTranslation)&&(N=g.p3()),_.list=s.createTubeModel(v,y,t/2,$,N,c)):_.list=s.createLineModel(v,y,t,"shape.border","shape.dash"))),sp(s.gv,g,s.mat)},invalidateCachedGeometry:function(){this.shapeModel=this.info=this.lineShapeModel=fd}}),hi={s:a},function($){var z={vs:[],ns:[],uv:[]};return Dp(null,null,$,hi,!1,[],z),z}),b4=Qd.meshTypeMap={box:function(){return Qd.createBoxModel()},sphere:function($){return p4(Qd.createSphereModel($.side,$.sideFrom,$.sideTo,$.from,$.to,$.resolution,$.smooth))},cylinder:function($){return p4(Qd.createCylinderModel($.side,$.sideFrom,$.sideTo,$.from,$.to,$.top,$.bottom,$.smooth))},cone:function($){return p4(Qd.createConeModel($.side,$.sideFrom,$.sideTo,$.from,$.to,$.bottom,$.resolution,$.smooth))},torus:function($){return p4(Qd.createTorusModel($.side,$.sideFrom,$.sideTo,$.from,$.to,$.radius,$.resolution,$.smooth))}};for(Si in z(Qd,{invalidateMeshAttribute:function($){$&&$._bufId&&($._bufId=null)},setMeshStyle:function($,z,C){return $[z]!==C&&(C===Kd?delete $[z]:$[z]=C,delete $._geometry_,!0)},invalidateMesh:function($,z){if($){if(z)for(var C in $)Qd.invalidateMeshAttribute($[C]);delete $._4HQ,delete $._complete_}},invalidateSubMeshes:function($){$&&delete($.subMeshes||$)._drawRangeGroupByMat}}),z(Fi,{invalidateMeshAttribute:function($,z){z&&this.releaseGLBuffer($),Qd.invalidateMeshAttribute($),this.iv()},setMeshStyle:function($,z,C){Qd.setMeshStyle($,z,C)&&this.iv()},getMeshStyle:function($,z){return $[z]},invalidateMesh:function($,z,C){if(C)for(var o in $)this.releaseGLBuffer($[o]);Qd.invalidateMesh($,z),this.iv()},invalidateSubMeshes:function($){Qd.invalidateSubMeshes($),this.iv()}}),_w)b4[Si]=function(z){return function($){return p4(_w[z]($.top,$.bottom))}}(Si);b4.bone=(mi=new Array(5),function($){for(var z=$.ratio||.1,C=$.resolution||8,o=null,M=0;M<5;M++){if(mi[M])return mi[M].ratio==z&&mi[M].resolution==C&&(mi[M].active=Date.now()),mi[M].mesh;o=M}if(!o)for(var A=1/0,M=0;M<5;M++)mi[M].active<A&&(A=mi[M].active,o=M);var N=[],s=[];for(z*=.5,N.push(0,0,0,0,0,.5),M=0;M<C;M++){var g=M/C*Math.PI*2;N.push(Math.cos(g)*z,Math.sin(g)*z,z),0<M&&(s.push(0,M+2,M+1),s.push(M+1,M+2,1))}return s.push(0,2,C+1),s.push(C+1,2,1),mi[M]={active:Date.now(),resolution:C,ratio:z,mesh:{vs:N,is:s}},mi[M].mesh});var u4,n4,R4,I4,h4,m4=function($){if($)return S4($="string"==typeof $?{type:$}:$)},S4=function($,z,C){var o,M,A=$._geometry_;if(A)return A;if(C=C||$,(A=$.type)&&"raw"!==A){var N=Qd.meshTypeMap[A],s=(M=$)&&z?(Jd.assign(s={},M),Jd.assign(s,z),delete s.type,s):M||z;if(!N)return!!(o=Qd.getMesh(A))&&S4(o,s,C);if(!(o=N(s)))return!1;C._geometry_=o}else o=$;return o.func?o.func(o):o},G4=(u4={},{request:function($){var z;return(z=u4[$])?z.length?z.pop():new Float32Array($):(u4[$]=[],new Float32Array($))},release:function($){var z,C=$.length;(z=u4[C])?z.push($):u4[C]=[$]}}),E4=pA(),H4=(Jd.assign(w.Graph3dView.prototype,{initSkeletonDatas:function(){var $,z=this._updatedSkeletonDatas;for($ in z)G4.release(z[$]);this._updatedSkeletonDatas={},this._isSkeletonUpdated={},this._boneViewMatrices.length=0,this._boneViewMatrices._bufId=null},_renderBonesForDebug:function($,z){0<this._boneViewMatrices.length&&(z.depth.enabled=!1,z.depth.mask=!1,this._prefabRenderer.render($,{mesh:{type:"bone"},instances:{aMatrixInstanced:new Float32Array(this._boneViewMatrices)},mat:{type:"fixColor",color:"red",cullFace:!0}}))},queryBonePose:function($){var z;return $._recordBonePose||($._recordBonePose={},z=!0),this.updateSkeleton($,Kd,z,!0),$._recordBonePose},updateSkeleton:function($,z,C,o){var Y=this;if((z||(z=fz($.s("shape3d")))&&z.model3d)&&(z.lod?M=z.lod.group[0]:z.model&&(M=z.model),!M||(z=fz(M))&&z.model3d)){var M=$._animationId;if(M=fC.getAnimation(M)){var v=$._skeletonBinding;if(!v)return;var A=M.iteration,N=(A!==(N=$._lastAnimIteration||0)&&($._lastAnimIteration=A,$.fp("animationIteration",N,A)),M.time),s=$._lastAnimHashKey=$._id+"|"+M.animatable.clip.uuid+"|"+N;if(this._isSkeletonUpdated[s]&&!C)return;this._isSkeletonUpdated[s]=!0}else if(!o)return;var O,t,c,y,_,P=$.s("3d.bone.visible"),Z=(P&&(t=B.requestVector3(),c=B.requestVector3(),y=B.requestMatrix4()),B.requestMatrix4()),X=[],d={},l=$._recordBonePose;if((P||l)&&(_=B.requestMatrix4().fromArray($.mat)),Qd.traverse(z,function($,z){$.skeleton&&X.push($);var C,o,M,A,N,s=$.name,g=(s&&v&&(N=v[s])&&((A=N.position)!==Kd&&(C=A),(A=N.scale)!==Kd&&(M=A),(A=N.quaternion)!==Kd?o=A:(A=N.euler)!==Kd&&(o=B.eulerArrayToQuaternionArray(A,hA.sharedQuaternionArray))),(A=$.matrixWorld)||(A=$.matrixWorld=new ad),$.transformData);N&&g?w1(A,g,C||$.position,o||$.quaternion,M||$.scale):A.composeFromArray(C||$.position,o||$.quaternion,M||$.scale),z&&(A.premultiply(z.matrixWorld),P&&z.isBone&&(N=Y._boneViewMatrices,z.matrixWorld.getPosition(t),t.applyMatrix4(_),A.getPosition(c),c.applyMatrix4(_),O=2*t.distanceTo(c),y.lookAt(c,t).setPosition(c.set(0,0,0)).scale(c.set(O,O,O)).setPosition(t),N.push.apply(N,y.getElements()))),d[s]=A,l&&(l[s]||(l[s]=new ad)).multiplyMatrices(_,A),$.skeleton&&($.skeleton._tempMatrixInverse=Z.copy(A).invert().toArray())},null,"comps"),P&&(B.releaseVector3(t),B.releaseVector3(c),B.releaseMatrix4(y),B.releaseMatrix4(_)),B.releaseMatrix4(Z),M)for(var g,J,K,f,Q=Y._updatedSkeletonDatas,W=0,V=X.length;W<V;W++){var e,D,a,k,x=(k=(a=X[W]).skeleton.bones).length;for((g=Q[(K=(K=a._skeletonId)?K:a._skeletonId=E4.next())+"|"+s])||(e=Math.sqrt(4*x),(D=B.nearestPOT(e))<e&&(D<<=1),D=Math.max(D,4),g=Q[K+"|"+s]=G4.request(D*D*4)),J=a.skeleton.boneMatrixInverses,f=0;f<x;f++)ad.multiplyMatrixArray(g,d[k[f]],J,16*f,0,16*f);g.bindMatrixInverse=a.skeleton._tempMatrixInverse,delete a.skeleton._tempMatrixInverse}}}}),{cullFace:!1,flipSide:!1,transparent:!1,uvRotation:0,uvScale:[1,1],uvOffset:[0,0],uvAnchor:[0,0]}),st=function($,z){if($=i4(this,$),z===Kd||!$)return $;var C=$[z];return C===Kd&&(z in H4?C=U3(H4[z]):($=F4[$.type])&&(C=U3($[z]))),C},C=function($,z,C){var o,M,A=i4(this,$);if(A){if(Vd(z))o=A[z],M=A[z]=C;else if(Dv(z)){for(var N in o={},z)o[N]=A[N],A[N]=z[N];M=z}this.fp("material",fd,{material:A,materialName:$,property:z,oldValue:o,newValue:M})}},i4=function($,z){if(Dv(z))return z;var C,o,M=Vd(z),A=M&&/.*\.material/.test(z);return(C=(C=A?$.s(z):C)||(M&&(o=$.s("matDef"))?o[z]:C))||($=$.s("shape3d"),($=Vd($)?Qd.getShape3dModel($):$)&&$.model3d&&(M||(C=$.mat),(o=$.matDef)&&(!C&&M?C=o[z]:Vd(C)&&C in o&&(C=o[C])))),C||!M||A?C&&Vd(C)&&(C=Qd.getMaterial(C)):C=Qd.getMaterial(z),C},F4=(z(hK,{getMaterials:(n4={},["all","left","right","top","bottom","front","back"].forEach(function($){n4[$+".material"]=1}),R4={"shape3d.material":1},["top","bottom","from","to"].forEach(function($){R4["shape3d."+$+".material"]=1}),I4=[],function(){var $,z=[],C={},o={},M=this.getStyle("matDef");if(M)for($ in M)M[$]&&(o[$]=1,rE(M[$],z,C));var A,N=this.getStyle("shape3d");if(N?Vd(N)&&!(N=Qd.getShape3dModelFromMemory(N))&&(A=R4):A=n4,Dv(N))!N.model3d&&N.json&&"obj"===N.json.modelType?rE(this.getStyle("shape3d.material"),z,C):function o($,M,A,N){Qd.traverse($,function($){I4.push(N),N=U3(N);var z,C=$.matDef;if(C)for(z in C)!N[z]&&C[z]&&(N[z]=1,rE(C[z],M,A));!(z=$.mat)||!Dv(z)&&N[z]||rE(z,M,A),$.model&&($=Qd.getShape3dModelFromMemory($.model))&&o($,M,A,N)},function(){N=I4.pop()},"comps")}(N,z,C,o);else if(A)for(var s in A)$=this.getStyle(s),rE($,z,C);var g=Qd.getMaterialMap();for($ in C)($=g[$])&&z.push($);return z})}),z(NV,{getMaterial:st,setMaterial:C}),z(cV,{getMaterial:st,setMaterial:C}),{}),j4=(z(F4,{pbr:{diffuse:[1,1,1],emissive:[0,0,0],roughness:1,metalness:0,opacity:1,transparent:!1,cullFace:!1,map:null,alphaMap:null,alphaChannel:"A",alphaTest:0,roughnessMap:null,roughnessChannel:"R",metalnessMap:null,metalnessChannel:"G",emissiveMap:null,aoMap:null,aoMapIntensity:1,aoChannel:"B",aoUvChannel:1,normalMap:null,normalScale:[1,1],lightMap:null,lightMapIntensity:1,envMap:null,envMapIntensity:1,displacementMap:null,displacementScale:1,displacementBias:0,rimColor:[0,0,0],rimPower:0,fresnelIntensity:1,enableTransmission:!1,transmission:1,thickness:0,ior:1.5,specularIntensity:1,specularColor:[1,1,1]},phong:{diffuse:[1,1,1],emissive:[0,0,0],specular:[17/255,17/255,17/255],shininess:30,opacity:1,transparent:!1,cullFace:!1,map:null,alphaMap:null,alphaChannel:"A",alphaTest:0,specularMap:null,emissiveMap:null,aoMap:null,aoMapIntensity:1,aoChannel:"B",aoUvChannel:1,normalMap:null,normalScale:[1,1],lightMap:null,lightMapIntensity:1,envMap:null,envMapCombine:"add",envMapIntensity:1,refractionRatio:.98,displacementMap:null,displacementScale:1,displacementBias:0,fresnelIntensity:1},litePhong:{diffuse:[1,1,1],emissive:[0,0,0],map:null,opacity:1,alphaTest:.4,transparent:!1,useLighting:!0,roughness:0,completeHandler:function(){this.uTexture=!!this.map}}},!0),{}),U4={aoMap:["aoMapIntensity"],normalMap:["normalScale"],lightMap:["lightMapIntensity"],displacementMap:["displacementScale","displacementBias"],enableTransmission:["transmission","thickness","ior","specularIntensity","specularColor"]};for(h4 in F4){var L4,w4,q4=[],T4=[],r4=F4[h4],B4={},$C=[];for(w4 in r4)"envMap"!==w4&&"envMapIntensity"!==w4&&w4.indexOf("Channel")!==w4.length-7&&"enableTransmission"!==w4&&"envMapCombine"!==w4&&("map"===w4||w4.indexOf("Map")===w4.length-3?(L4=U4[w4])&&L4.length?(q4.push(w4,L4.length),L4.forEach(function($){B4[$]=!0,q4.push($,r4[$])})):q4.push(w4,0):(L4=U4[w4])&&L4.length?(B4[w4]=!0,T4.push(w4,L4.length),L4.forEach(function($){B4[$]=!0,T4.push($,r4[$])})):$C.push(w4));q4.push(-1),(q4=q4.concat(T4)).push(-2),$C.forEach(function($){B4[$]||q4.push($,r4[$])}),j4[h4]=q4}U.Default.getMaterialDefaultStyle=function(){return F4};var zC,CC,oC,MC,AC,NC,sC,gC,YC,vC,OC,tC,cC,yC,_C,PC,ZC,XC,dC,lC=U.graph3d.PostProcessing=function(O){var t,A,c=this,y={},_=!1,P=!1,Y={model3d:!0,mesh:{is:[0,2,1,1,2,3],pos:new p_([0,0,1,0,0,1,1,1])},mat:null},Z={type:"blitScreen"},X={type:"fxaa"},d=(A=UC,Jd.keys(lC).forEach(function(o){var $=y[o]=new lC[o](O),M=bA(o);($.resetProperties=function(){var $,z=this.serializeProperties;for($ in z)this[$]=z[$],function(C){A[M+uA(C)]={getter:function($){return $.getPostProcessingValue(o,C)},setter:function($,z){$.setPostProcessingValue(o,C,z)}}}($)}.bind($))()}),c.getModule=function($){return $?y[$]:c},c.getModuleList=function(){return Jd.keys(y)},c.resetModules=function(){for(var $ in y)y[$].resetProperties()},c._serializable=!0,c.handleDataModelChange=function($,z){$&&(c._serializable&&$.setPostProcessingData(c.serialize()),$.removeSerializeListener(c.onDataModelSerialize,c)),z&&(z.addSerializeListener(c.onDataModelSerialize,c),c.deserialize(z))},c.onDataModelSerialize=function($){"serialize"===$.type?c._serializable&&(O.dm()._postProcessingData=c.serialize()):"deserialize"===$.type&&c.deserialize(O.dm())},c.isDeserializeDisabled=function($){return!c._serializable||$.a("sceneBloom")!==Kd},c.isSerializable=function(){return c._serializable},c.setSerializable=function($){(c._serializable=$)||O.dm().setPostProcessingData(Kd)},c.serialize=function(){var $,z,C,o,M={};for(z in y)if(o=(C=y[z]).serializeProperties){for(var A in $={},C.enable&&($.enable=!0),o){var N=C[A];N!=o[A]&&($[A]=N)}Jd.keys($).length&&(M[z.toLowerCase()]=$)}return M},c.deserialize=function($){var z,C,o={},M={};for(z in y){var A,N,s=(A=y[z]).serializeProperties,g={},Y="scene"+z;for(N in(v=$.a(Y))!==Kd&&(g.enable=v),s)(v=$.a(Y+N[0].toUpperCase()+N.slice(1)))!==Kd&&v!==s[N]&&(g[N]=v);Hv(g)||(M[z[0].toLowerCase()+z.slice(1)]=g)}if(M=Hv(M)?$.getPostProcessingData():M)for(C in M)if(C&&(z=C[0].toUpperCase()+C.slice(1),A=y[z])){o[z]=!0;var v,O=!!(s=M[C]).enable;for(N in c.enableModule(z,O),$.a(z="scene"+z,O),A.resetProperties(),s)"enable"!==N&&(v=s[N],A[N]=v,$.a(z+N[0].toUpperCase()+N.slice(1),v))}for(z in y)o[z]||((A=y[z]).enable=!1,A.resetProperties())},c.getRenderTarget=function(){return t},null),l=(c.getLastFrameFinalRenderTarget=function(){return d},c.blitScreen=function($,z,C,o,M){var A,N,s=O.getGL();if(null==$)o=z,M=C;else{var g=$ instanceof M4;if(g){if(z&&(z.type||z.model3d)&&(o=z,M=C,C=z=null),0==z||0==C)return;z&&C&&$.setSize(s,z,C),$.bind(s),M&&M.viewport?O.setViewport(s,M.viewport[0],M.viewport[1],M.viewport[2],M.viewport[3]):O.setViewport(s,0,0,$.width,$.height)}else o=$,M=z}M&&!1===M.clear||s.clear(16640),M&&(M.preRender&&M.preRender(s),A=M.data,N=M.matrix),o&&o.model3d?O._prefabRenderer.render(s,o,A,N):(Y.mat=o||Z,O._prefabRenderer.render(s,Y,A,N)),M&&M.postRender&&M.postRender(s),g&&$.unbind(s)},c.enableModule=function($,z){for(var C,o=$.split(","),M=0,A=o.length;M<A;M++)C=o[M].trim(),y[C]&&(y[C].enable=z);for(C in _=!1,y)if(y[C].enable){_=!0;break}},c.isEnabled=function(){return _},c.dispose=function(){for(var $ in P=!1,t1(O,t),t=null,y)y[$].dispose&&y[$].dispose()},!(c.resetBlendState=function($){kd.for($).glState.blend.apply({enabled:!0,equation:32774,func:[770,771,1,771]})}));c.isRenderingScene=function(){return l},c.render=function($,z,C,o,M){if((_||M)&&(P||function(){var $;if(!P)return $=O.getGL(),$&&(t=new w.RenderTarget(O,$,null,null,{samples:xd.renderTextureSamples||1,minFilter:9729,magFilter:9729,depthFormat:O.isWebGL2()?36012:null}),P=!0)}())){t.setSize($,z,C),l=!0,t.bind($);(M=v1($,!0))&&0===M[0]&&0===M[1]&&0===M[2]&&0===M[3]?M=null:O1($,[0,0,0,0]),$.clear(16640),O.setViewport($,0,0,z,C);var A=!1!==(o=o||{}).renderAxis,N=!1!==o.renderEdit;o.renderAxis=o.renderEdit=!1,O.renderScene(o),l=!1,t.unbind($);for(var s,g=0,Y=O._glCapabilities.maxAttributes;g<Y;g++)$.disableVertexAttribArray(g);var v=t;for(s in y)v=y[s]._42($,v)||v;return d=v,O.setViewport($,0,0,z,C),M&&O1($,M),o=c.getModule("Fxaa"),M=O._attributes&&!1===O._attributes.autoClear?{clear:!1}:null,c.resetBlendState($),o&&o.enable?(X.resolution=[1/z,1/C],X.image=v.texture,c.blitScreen(X,M)):(Z.image=v.texture,c.blitScreen(Z,M)),(o=c.getModule("Bloom")).blendAtFinal&&o.composeFinalBloom($),$.useProgram(O._prg),O._renderAxisAndEditHelper(A,N)||(z=O.getGLState())&&(z.depth.enabled=!1,z.blend.enabled=!1),!0}}},JC=(U.graph3d.PostProcessing.HueSaturation=function(o){var M,A=!1,N=!1,s={type:"hueSaturation"},g=[],Y=[],v=[];this.serializeProperties={hue:[0,0,0,0,0,0,0],saturation:[0,0,0,0,0,0,0],lightness:[0,0,0,0,0,0,0]},Jd.defineProperties(this,{enable:{get:function(){return A},set:function($){!!A!=!!$&&(A=$,o.iv())}},hue:{get:function(){return g.map(function($){return md(180*$)})},set:function($){if(g!==$&&7===$.length){for(var z=0;z<7;z++)g[z]=$[z]/180;o.iv()}}},saturation:{get:function(){return Y.map(function($){return md(100*$)})},set:function($){if(Y!==$&&7===$.length){for(var z=0;z<7;z++)Y[z]=$[z]/100;o.iv()}}},lightness:{get:function(){return v.map(function($){return md(100*$)})},set:function($){if(v!==$&&7===$.length){for(var z=0;z<7;z++)v[z]=$[z]/100;o.iv()}}}}),this.dispose=function(){N=!1,t1(o,M),M=null},this._42=function($,z){var C;if(A&&(N||(C=o.getGL())&&(M=new w.RenderTarget(o,C),N=!0)))return s.image=z.texture,s.hue=g,s.saturation=Y,s.lightness=v,o._postProcessing.blitScreen(M,z.width,z.height,s),M}},U.graph3d.PostProcessing.Bloom=function(Y){var v,O,t,z,c,y,_,P,Z,X=this,d=!1,l=!1,J=(this.serializeProperties={strength:1.5,smoothWidth:.01,threshold:.55,radius:.4,overrideAlpha:!0,blendAtFinal:!1,selective:!1},Jd.defineProperties(X,{enable:{get:function(){return d},set:function($){!!d!=!!$&&(d=$,Y.iv())}},strength:{get:function(){return v},set:function($){v!==$&&(v=$,Y.iv())}},smoothWidth:{get:function(){return _},set:function($){_!==$&&(_=$,Y.iv())}},threshold:{get:function(){return O},set:function($){O!==$&&(O=$,Y.iv())}},radius:{get:function(){return t},set:function($){t!==$&&(t=$,Y.iv())}},overrideAlpha:{get:function(){return z},set:function($){!!z!=!!$&&(z=$,l&&V(),Y.iv())}},blendAtFinal:{get:function(){return y},set:function($){!!y!=!!$&&(y=!!$,Y.iv())}},selective:{get:function(){return c},set:function($){!!c!=!!$&&(c=!!$,Y.iv())}}}),[256,256]),K=[],f=[],Q=5,C=[3,5,7,9,11],W=[];function V(){for(var $=0;$<Q;$++)W[$]={type:"bloomBlur",defines:{KERNEL_RADIUS:C[$],SIGMA:C[$],OVERRIDE_ALPHA:!!z},internalDefines:!1}}X.dispose=function(){l=!1,t1(Y,P,Z,K,f),P=Z=K=f=null},X.composeFinalBloom=function($,z){var C,o,M;d&&l&&(C=Y._postProcessing,o=kd.for($).directState(),M=o.depth.enabled,C.blitScreen(z,{type:"blitScreen",image:K[0].texture},{clear:!1,preRender:function($){M&&(o.depth.enabled=!1),kd.for($).glState.blend.apply({enabled:!0,equation:32774,func:[770,1]})},postRender:function($){C.resetBlendState($),M&&(o.depth.enabled=!0)}}))},X._42=function($,z){if(d&&(l||function(){var $=Y.getWidth(),z=Y.getHeight();if($&&z){var C=Y.getGL();if(C){J=[$,z];var o,M=Math.round(J[0]/2),A=Math.round(J[1]/2);for(Z=new w.RenderTarget(Y,C,M,A),K=[],f=[],o=0;o<Q;o++)K.push(new w.RenderTarget(Y,C,M,A)),f.push(new w.RenderTarget(Y,C,M,A)),M=Math.round(M/2),A=Math.round(A/2);return V(),l=!0}}}())){var C,o=Y._postProcessing;c&&((P=P||new w.RenderTarget(Y,$)).setSize($,z.width,z.height),P.bind($),(C=v1($,!0))&&0===C[0]&&0===C[1]&&0===C[2]&&1===C[3]?C=null:O1($,[0,0,0,1]),$.clear(16640),Y.setViewport($,0,0,z.width,z.height),$._blooming=!0,Y.syncRenderState(),Y.renderScene({renderAxis:!1,renderGrid:!1,renderEdit:!1}),$._blooming=!1,C&&O1($,C),P.unbind($)),o.blitScreen(Z,{type:"bloomHighPass",smoothWidth:_,luminosityThreshold:O,tDiffuse:(c?P:z).texture});for(var M,A=Z,N=Math.round(J[0]/2),s=Math.round(J[1]/2),g=0;g<Q;g++)(M=W[g]).texSize=[N,s],M.colorTexture=A.texture,M.direction=[1,0],o.blitScreen(K[g],M),M.colorTexture=K[g].texture,M.direction=[0,1],o.blitScreen(f[g],M),N=Math.round(N/2),s=Math.round(s/2),A=f[g];return o.blitScreen(K[0],{type:"bloomComposite",blurTexture1:f[0].texture,blurTexture2:f[1].texture,blurTexture3:f[2].texture,blurTexture4:f[3].texture,blurTexture5:f[4].texture,bloomStrength:v,bloomRadius:t,bloomTintColor:[1,1,1]}),y||X.composeFinalBloom($,z),z}}},U.graph3d.PostProcessing.Dof=function(Y){var A,v,z,C,o,O,t,N,c,s,g,y,_,P=!1,Z=!1,X=0,d=!1,l=B.generateUUID();this.serializeProperties={useDepth:!1,aperture:.025,maxblur:1,overrideAlpha:!0,image:null,focus:1e3,range:100,density:10,densityInverse:.1},Jd.defineProperties(this,{enable:{get:function(){return P},set:function($){!!P!=!!$&&((P=$)||(d=!1),Y.iv())}},image:{get:function(){return z},set:function($){z!==$&&(z=$,d=!1,v&&(Y.deleteTexture(l),v=null),Y.iv())}},maxblur:{get:function(){return C},set:function($){C!==$&&(C=$,Y.iv())}},overrideAlpha:{get:function(){return N},set:function($){!!N!=!!$&&(N=$,Y.iv())}},aperture:{get:function(){return o},set:function($){o!==$&&(o=$,Y.iv())}},useDepth:{get:function(){return!!s},set:function($){!!s!=!!$&&((s=$)?Y.enableDepthGrabber("sceneDof"):Y.disableDepthGrabber("sceneDof"),v&&($&&Y.deleteTexture(l),v=null),Y.iv())}},focus:{get:function(){return g},set:function($){g!==$&&(g=$,Y.iv())}},range:{get:function(){return y},set:function($){y!==$&&(y=$,Y.iv())}},density:{get:function(){return _},set:function($){_!==$&&(_=$,Y.iv())}},densityInverse:{get:function(){return B.safeInvert(_)},set:function($){$=B.safeInvert($),_!==$&&(_=$,Y.iv())}}}),this.dispose=function(){Z=!1,v&&(Y.deleteTexture(l),v=null),t1(Y,A),A=null},this.setImageFromGraphView=function($,z,C){this.image=null,function $(z,C,o,M){c=null;var A=z.getCanvas(),N=A.width,s=A.height,g=(((o=o||1024)<N||o<s)&&(g=o/Math.max(N,s),N=Math.round(N*g),s=Math.round(s*g),O=O||sX(),A=Qd.resizeImage(A,N,s,O)),Y.getGL());t=t||g.createTexture(),v=o1(Y,g,A,t),X=C||.01,d=!0,Y.iv(),M--&&(c=c||Qd.callLater(function(){$(z,C,o,M)}))}($,z,C,2)},this._42=function($,z){if(P&&(Z||(C=Y.getGL())&&(A=new w.RenderTarget(Y,C),Z=!0))){var C=z.width,o=z.height;if(C&&o){if(s)v=Y.grabDepth();else if(!v){var M=j(this.image);if(!M||!M.comps&&!M.tagName)return z;U.Default.setImage(l,M),v=Y.getTexture(l)}return M={OVERRIDE_ALPHA:!!N},z={type:"bokeh",tColor:z.texture,tDepth:v,aspect:C/o,maxblur:this.maxblur,defines:M},s?(M.USE_DEPTH=!0,Y.isOrtho()&&(M.USE_ORTHO_CAMERA=!0),Y.isFloatDepthTexture(v)&&(M.USE_FLOAT_TEXTURE=!0),Jd.assign(z,{near:Y.getNear(),far:Y.getFar(),focus:g,range:y,density:_})):Jd.assign(z,{aperture:this.aperture,useG2d:d,threshold:X}),Y._postProcessing.blitScreen(A,C,o,z),A}}}},U.graph3d.PostProcessing.Lut=function(A){var N,s,g,Y=!1,v=!1;this.serializeProperties={texture:null,intensity:1},Jd.defineProperties(this,{enable:{get:function(){return Y},set:function($){!!Y!=!!$&&(Y=$,A.iv())}},texture:{get:function(){return N},set:function($){N!==$&&(N=$,A.iv())}},intensity:{get:function(){return s},set:function($){s!==$&&(s=$,A.iv())}}}),this.dispose=function(){v=!1,t1(A,g),g=null},this._42=function($,z){if(Y){var C,o,M=N?A.getTexture(N):null;if(M&&(C=M.width)&&(v||(o=A.getGL())&&(g=new w.RenderTarget(A,o),v=!0)))return A._postProcessing.blitScreen(g,z.width,z.height,{type:"lut",tDiffuse:z.texture,intensity:s,lutSize:C,lut:M}),g}}},U.graph3d.PostProcessing.Custom=function(s){function z($,z){return($.priority||0)-(z.priority||0)}var g,Y,v=!1,O=!1;this.serializeProperties={materials:[]},Jd.defineProperties(this,{enable:{get:function(){return v},set:function($){!!v!=!!$&&(v=$,s.iv())}},materials:{get:function(){return Y},set:function($){(Y=$)&&Y.sort(z),s.iv()}}}),this.dispose=function(){O=!1,t1(s,g),g=null},this._42=function($,z){if(v&&Y&&Y.length&&(O||(C=s.getGL())&&(g=new w.RenderTarget(s,C),O=!0))){for(var C,o,M=z,A=g,N=0;N<Y.length;N++)(o=Y[N]).image=M.texture,s._postProcessing.blitScreen(A,M.width,M.height,o),delete o.image,o=M,M=A,A=o;return M}}},U.graph3d.PostProcessing.Ssao=function(k){function C(){var $=!!(m.enable&&m.mainOpaqueOnly&&k.isWebGL2());M!==$&&((M=$)?k.addRenderLayerListener(z,m,k._depthGrabber.renderLayerPriority-100):k.removeRenderLayerListener(z,m))}function z($){"main"===$.layer&&"opaque"===$.phase&&!k._picking&&k.getPostProcessing().isRenderingScene()&&($=k.getPostProcessing().getRenderTarget())&&$.isBinding(k.getGL())&&($=k.getPostProcessing().getRenderTarget().grabDepth(),m.drawImpl(k.getGL(),$,k.getPostProcessing().getRenderTarget(),!0))}var x,p,b,$,u,n,R,I,h,m=this,S=!1,G=!1,o=this.serializeProperties={aoRadius:5,distanceFalloff:1,screenSpaceRadius:!1,quality:"high",aoSamples:16,denoiseSamples:8,denoiseRadius:12,denoiseIterations:2,intensity:5,mainOpaqueOnly:!0,renderMode:"combined",colorMultiply:!0},M=!(this.resetProperties=function(){for(var $ in o)this[$]=o[$]});for($ in Jd.defineProperties(m,{enable:{get:function(){return S},set:function($){!!S!=!!$&&((S=$)?k.enableDepthGrabber("sceneSsao"):k.disableDepthGrabber("sceneSsao"),C(),k.iv())}}}),o)!function(z){Jd.defineProperty(m,z,{get:function(){return m["_"+z]},set:function($){m["_"+z]!==$&&(m["_"+z]=$,"mainOpaqueOnly"===z&&C(),k.iv())}})}($);this.resetProperties(),m.dispose=function(){G=!1,t1(k,x,p,b),x=p=b=null};var E=new F,H={performance:[8,4,12],low:[16,4,12],medium:[16,8,12],high:[64,8,6],ultra:[64,16,6]};m._42=function($,z){return m.mainOpaqueOnly?z:m.drawImpl($,null,z)},m.drawImpl=function($,z,C,o){if(S&&k.isWebGL2()&&(z=z||k.grabDepth(),k.isFloatDepthTexture(z)&&(G||(s=k.getWidth(),g=k.getHeight(),s&&g&&((s=k.getGL())&&(x=new w.RenderTarget(k,s),p=new w.RenderTarget(k,s),g=Uint8Array.from(atob(JC),function($){return $.charCodeAt(0)}),b=k.createTexture({data:g,width:128,height:128,filter:9728,wrap:10497}),G=!0)))))){o&&((M=k.getGLState()).depth.enabled=!1,M.depth.mask=!1);var M,A=(s=C.getSize())[0],N=s[1],s=k.getNear(),g=k.getFar(),Y=k.getPostProcessing();l=m.quality;var v=(l=H[l]||[m.aoSamples,m.denoiseSamples,m.denoiseRadius])[0],O=l[1],t=l[2],c=v;if(n!==c){n=c,u=[];for(var y=0,_=Math.sqrt(c);y<c;y++){var P=2.399963*y,Z=(X=Math.sqrt(y+.5)/_)*Math.cos(P),X=X*Math.sin(P),P=Math.sqrt(1-(Z*Z+X*X));u.push([Z,X,P])}}var d={type:"ssao",sceneDepth:z,sceneNormal:null,projMat:k._projectMatrix,viewMat:k._viewMatrix,projViewMat:k._projScreenMatrix,projectionMatrixInv:iz(m_(k._projectMatrix)),viewMatrixInv:iz(m_(k._viewMatrix)),cameraPos:k.getEye(),resolution:[A,N],time:performance.now()/1e3,samples:u,blueNoise:b,distanceFalloff:m.distanceFalloff,near:s,far:g,ortho:!!k.isOrtho(),screenSpaceRadius:m.screenSpaceRadius,frame:0,internalDefines:!1},l=Jd.assign({},d,{radius:m.aoRadius,defines:{EFFECT_SHADER:!0,SAMPLES:v,FSAMPLES:v+".0",LOGDEPTH:!1,HALFRES:!1}}),J=(Y.blitScreen(x,A,N,l),O),s=11;if(I!==J||h!==s){I=J,h=s;for(var K=2*Math.PI*s/J,f=s=1/J,Q=(R=[],s),W=0,V=0;V<J;V++)R.push(E.set(Math.cos(W),Math.sin(W)).multiplyScalar(Math.pow(Q,.75)).toArray()),Q+=f,W+=K}for(var e=0;e<m.denoiseIterations;e++){var D=x,D=(x=p,p=D,Jd.assign({},d,{tDiffuse:p.texture,radius:t,worldRadius:m.aoRadius,index:e,poissonDisk:R,defines:{POISSION_BLUR:!0,NUM_SAMPLES:O,LOGDEPTH:!1}}));Y.blitScreen(x,A,N,D)}var a,g="ao"===(g=m.renderMode)?1:"split"===g?3:"splitAo"===g?4:0,v=o?(C.unbind($),Y.blitScreen(p,A,N,{type:"blitScreen",image:C.texture}),a=p.texture,C):(a=C.texture,p),l=Jd.assign({},d,{sceneDiffuse:a,downsampledDepth:z,intensity:m.intensity,radius:m.aoRadius,gammaCorrection:!1,tDiffuse:x.texture,color:[0,0,0],colorMultiply:m.colorMultiply,fog:!1,renderMode:g,defines:{EFFECT_COMPOSITER:!0,LOGDEPTH:!1,HALFRES:!1}});return Y.blitScreen(v,A,N,l),o&&(M.depth.enabled=!0,M.depth.mask=!0,C.bind($)),v}var s,g}},"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"),KC=(U.graph3d.PostProcessing.Blur=function(y){var _,P,Z,X,d,M,A=this,N=!1,l=!1,J={type:"blurDownSample"},K={type:"blurH"},f={type:"blurV"},z=(this.serializeProperties={value:0,downSample:!1,iterations:1,layer:"main"},Jd.defineProperties(A,{enable:{get:function(){return N},set:function($){!!N!=!!$&&((N=$)?y.addRenderLayerListener(z,this):y.removeRenderLayerListener(z,this),y.iv())}},downSample:{get:function(){return X},set:function($){X!==$&&(X=$,y.iv())}},value:{get:function(){return Z},set:function($){Z!==$&&(Z=$,y.iv())}},iterations:{get:function(){return d},set:function($){d!==$&&(d=$,y.iv())}},layer:{get:function(){return M},set:function($){M!==$&&(M=$,y.iv())}}}),function($){if(N&&$.layer===M&&"post"===$.phase){var z=y.getGL();if(!y._picking&&!y.isReflecting(z)){($=y._postProcessing.getRenderTarget()).unbind(z);for(var C=0,o=y._glCapabilities.maxAttributes;C<o;C++)z.disableVertexAttribArray(C);A.drawImpl(z,$),$.bind(z),z.useProgram(y._prg)}}});A._42=function(){},A.dispose=function(){l=!1,t1(y,_,P),_=P=null},A.drawImpl=function($,z,C,o,M){if(l||(Y=y.getGL())&&(_=new w.RenderTarget(y,Y),l=!0)){var A,N=z?(A=z.width,z.height):(A=y._viewport[2],y._viewport[3]);if(A&&N){for(var s,g=y._postProcessing,Y=("boolean"!=typeof o&&(o=X),C==fd&&(C=Z),M==fd&&(M=d),M=Math.max(1,Math.round(M)),kd.for($).glState.depth),v=Y.enabled,O=(Y.enabled=!1,o?(C/=2,s=[A,N],A/=2,N/=2,P=P||new w.RenderTarget(y,$),J.image=z.texture,J.texelSize=[1/s[0],1/s[1]],g.blitScreen(P,A,N,J),z.setSize($,A,N)):P&&P.setSize(0,0),_.setSize($,A,N),[]),t=0;t<M;t++)O.push(C),C=Math.max(1,Math.floor(C/2));for(t=0;t<M;t++){var c=O[M-t-1];K.image=(o&&0===t?P:z).texture,K.value=c/A,g.blitScreen(_,null,null,K),o&&t===M-1&&z.setSize($,s[0],s[1]),f.image=_.texture,f.value=c/N,g.blitScreen(z,null,null,f)}return Y.enabled=v,z}}}},U.graph3d.PostProcessing.Glitch=function(s){var g,C,Y,v,O,t,c,o,y,_=!1,P=!1,Z=B.randomFloat,X=B.randomInt,M=0,d={type:"glitch"};function l(){if(y&&o){Y=Date.now(),C=1e3*Z(o[v=0],o[1]),O=[];for(var $=1,z=y.length;$<z;$+=2)O.push((1<$?O[O.length-1]:0)+C*y[$]/M)}}function J(){s.redraw()}this.serializeProperties={onlyReflector:!1,period:[2,3],intensity:[3,.3,1,.1,0,.4]},Jd.defineProperties(this,{enable:{get:function(){return _},set:function($){!!_!=!!$&&((_=$)&&l(),s.iv())}},onlyReflector:{get:function(){return c},set:function($){!!c!=!!$&&(c=$,s.iv())}},period:{get:function(){return o},set:function($){o=$,l(),s.iv()}},intensity:{get:function(){return y},set:function($){M=0;for(var z=1,C=(y=$=$||[1,1]).length;z<C;z+=2)M+=$[z];l(),s.iv()}}}),this.dispose=function(){P=!1,t1(s,g),g=null},this._42=function($,z){if(_&&(P||function(){var $=s.getGL();if($){g=new w.RenderTarget(s,$);for(var z=Nx(64,64),C=z.getImageData(0,0,64,64),o=C.data,M=0;M<4096;M++)o[3*M+0]=X(256),o[3*M+1]=X(256),o[3*M+2]=X(256),o[3*M+3]=X(256);return z.putImageData(C,0,0),t=o1(s,$,Mx),P=!0}}())&&!!s.isReflecting($)==!!c){var C,o,M,A=z.width,N=z.height;if(A&&N)return C=s._postProcessing,o=($=kd.for($).glState.depth).enabled,$.enabled=!1,Date.now()-Y>O[v]&&++v>=O.length&&l(),M=y[2*v],d.seed=Math.random(),d.byp=M?0:1,d.tDisp=t,M&&(d.angle=Z(-Math.PI,Math.PI),d.distortion_x=Z(0,1),d.distortion_y=Z(0,1),d.amount=Math.random()/30*M,d.seed_x=Z(-1,1)*M,d.seed_y=Z(-1,1)*M),d.image=z.texture,C.blitScreen(g,A,N,d),$.enabled=o,requestAnimationFrame(J),g}}},U.graph3d.PostProcessing.Fxaa=function(z){var C=!1;this.serializeProperties={},Jd.defineProperties(this,{enable:{get:function(){return C},set:function($){!!C!=!!$&&(C=$,z.iv())}}}),this._42=function(){}},U.Animation=U.animation={});Jd.assign(KC,{makeTrack:function($,z,C,o){return new uC($,z,C,o?o.easings:Kd,o)},makeClip:function($,z,C,o){var M,z=$===Kd?[]:$ instanceof uC?[$]:Array.isArray($)?$:[KC.makeTrack($,z,C,o)];return o&&(M=o.name),new pC((M=M||"string"!=typeof $?M:$)||"clip",z)},play:function($,z,C){return z=new bC(z,$),C&&z.setAnimationPresets(C),z.play()},playMono:function($,z,C,o,M){return KC.play($,KC.makeClip(z,C,o,M),M)},stop:function($){return!!($=$ instanceof bC?$:fC.getAnimation($))&&$.stop()}});z(NV,o={playAnimation:function($,z,C,o,M){this._pendingAnimation&&delete this._pendingAnimation;var A,N=!1;do{if($){if($.tracks){A=$,N=!0;break}}else if(!$&&!($=this.getDefaultAnimationName()))break}while((A=this.getAnimation($))&&(N=!0,0));if(!N&&R(this))return s=this.s(Ff),Vd(s)&&Bh.test(s)&&(this._pendingAnimation={animationName:$,speed:z,start:C,loop:o}),!1;var s=function($){if(M=(P=P||new Map).get($))return M;for(var z=$.model3d,C=$.image,o=$.duration||1,M=new pC($.name),A=0,N=$.tracks,s=N.length;A<s;A++){var g,Y=N[A],v=Y.name;if(0<v.indexOf("@"))g=v;else if(z){for(var O,t,c=v.length-1;0<=c;c--)if("."===v[c]){O=v.substr(c+1),t=v.substr(0,c);break}g="state@"+t+"."+O}else g="state@"+v;var y=Y.times||[0,o],_=Y.type?{type:Y.type}:Kd,y=new uC(g,y,Y.values,Y.easings,_);M.addTrack(y)}return o&&(M.duration=o),$.additive?M.setAdditive(!0):M.exclusive=!0,$.phaseMatching!==Kd&&(M.phaseMatching=$.phaseMatching),M.animationType=z?1:C?2:0,P.set($,M),M}(A);if(!s)return!1;g=this;var g,Y,v,O=0===(O=s).animationType?g:1===O.animationType?g._skeletonBindingClipId===O.uuid?g._skeletonBinding:(g._skeletonBindingClipId=O.uuid,g._skeletonBindingShape3d===g.s("shape3d")?v=g._skeletonBinding:(v={},g._skeletonBindingShape3d=g.s("shape3d")),g._skeletonBinding=v):2===O.animationType?(v=O.uuid,g._imageStateUUID===v&&(Y=g._imageStateSource)||(Y=g._imageStateSource={animation:!0},g._imageStateUUID=v),"function"==typeof g.setImageState&&g.setImageState(Y),Y):void 0;return!!O&&((s=new bC(s,O)).stopWhenFinished=!1,s.setAnimationPresets({speed:A.speed,shiftTime:A.start,loop:A.loop||IC.Repeat}),s.play(z,C,o,M),this._lastAnimIteration=0,this.fp("animationStart",null,!0),O=s.id,A.additive||(this._animationId=O),O)},changeCurrentAnimationSpeed:function($){return fC.changeAnimationInfo(this._animationId,"speed",$)},forwardAnimation:function($){return this.invalidateView(),fC.changeAnimationInfo(this._animationId,"forwardTime",$)},backwardAnimation:function($){return this.forwardAnimation(-$)},stopAnimation:function(){var $=this._animationId;return $&&fC.stop($),this._animationId=Kd,this._lastAnimIteration=0,delete this._pendingAnimation,this.fp("animationStop",null,!0),$},pauseAnimation:function(){return!!fC.pause(this._animationId)&&(this.fp("animationPause",null,!0),!0)},resumeAnimation:function(){return!!fC.resume(this._animationId)&&(this.fp("animationResume",null,!0),!0)},isAnimationPlaying:function(){return fC.isPlaying(this._animationId)},isAnimationPaused:function(){return fC.isPaused(this._animationId)},getAnimationNames:function(){return Qd.getAnimationNameListFromAnimations(this.getAnimations())},getAnimation:function($){return Qd.getAnimationFromAnimations(this.getAnimations(),$)},getDefaultAnimationName:function(){return Qd.getDefaultAnimationNameFromAnimations(this.getAnimations())},getAnimations:function(){var $=this._animations;if(!R(this))return $;var z=Qd.getShapeModelAnimations(this.s("shape3d")),C=Qd.getImageAnimations(this._image),o=$?$.length:0,M=z?z.length:0,A=C?C.length:0;return M||A?o?(o=$,M&&(o=o.concat(z)),A?o.concat(C):o):M?A?z.concat(C):z:C:$},getCurrentAnimationState:function($){return fC.getAnimationInfo(this._animationId,$)}}),z(Pm.GraphView,o),z(w.Graph3dView,o),z(hK,{isAnimationPlaying:k}),z(Qd,{getShapeModelAnimations:function($){var z,C;if(!$||!(z=Kz($))||!z.model3d)return null;if(C=z.animations){var o=C.length;if(o&&!C[o-1].model3d)for(var M=0;M<o;M++)C[M].model3d=!0;return C}return z.lod?Qd.getShapeModelAnimations(z.lod.group[0]):z.model&&Vd(z.model)?Qd.getShapeModelAnimations(z.model):null},getImageAnimations:function($){if(!$||!($=j($)))return null;var z=$.animations;if(!z)return null;var C=z.length;if(!z[C-1].image)for(var o=0;o<C;o++)z[o].image=!0;return z},getShapeModelAnimation:function($,z){return Qd.getAnimationFromAnimations(Qd.getShapeModelAnimations($),z)},getShapeModelAnimationNameList:function($){return Qd.getAnimationNameListFromAnimations(Qd.getShapeModelAnimations($))},getShapeModelDefaultAnimationName:function($){return Qd.getDefaultAnimationNameFromAnimations(Qd.getShapeModelAnimations($))},getAnimationFromAnimations:function($,z){if($)for(var C=0,o=$.length;C<o;C++)if($[C].name===z)return $[C];return null},getAnimationNameListFromAnimations:function($){if(!$)return null;for(var z=$.length,C=new Array(z),o=0;o<z;o++)C[o]=$[o].name;return C},getDefaultAnimationNameFromAnimations:function($){if(!$)return null;for(var z,C=0,o=$.length;C<o;C++){if($[C].default)return $[C].name;!z&&0<=$[C].duration&&(z=$[C].name)}return z}});var fC=KC.Runtime=(CC=pA(),oC=!1,MC={},AC=null,NC=function($){var z,C,o=[];for(z in MC)if(!(C=MC[z]).paused){var M=C.speed,A=C.time+$*M;if(C.time=A,Y=C.interval){var N=C._accumulatedDelta+=$;if(N<Y)continue;Y<(N=C._accumulatedDelta=N-Y)&&(C._accumulatedDelta=N%Y)}if(0<(N=C.delay)){if(0<M&&A<N||M<0&&-N<A){$T(C,0,$);continue}A-=Math.sign(M)*N}var M,s,g,Y=C.duration,v=C.loop,O=!1,t=C.loopDelay,v=(0===Y?A=0:v===IC.Once?M<0&&A<=C.end||0<=M&&A>=C.end?(A=C.end,C.iteration=1,O=!0):A=B.modToPositive(A,Y):(M=Y+t,(g=Math.floor((Math.abs(A)+t)/M))!==C.iteration&&(C.iteration=g,C.iteration>=C.loopMax?(C.iteration=C.loopMax,A=Math.sign(A)*C.iteration*M-t,O=!0):s="loop",v===IC.PingPong&&(C.direction=C.baseDirection*(C.iteration%2?-1:1))),v===IC.PingPong?M<(A=B.modToPositive(A,2*M))&&(A=2*Y+t-A):A=B.modToPositive(A,M)),O&&!C.finishedFired&&(C.finishedFired=!0,s="finished",(g=C.animatable).stopWhenFinished&&o.push(g)),C.displayTime=B.clamp(B.roundFloat(A,3),0,Y));$T(C,v+=C.shiftTime,$),s&&C.animatable.fireEvent(s)}CT(),o.forEach(function($){$.stop()})},vC=!(YC={}),OC=[],tC=[],cC=function($){var z,C=1===$?OC:tC;return 0===C.length?(z=[KC.makeTrack("weight",[0,1],[0,1])],2===$&&($=KC.makeTrack("speed",[0,1],[0,1]),z.push($)),$=new pC("fade",z),new bC($)):C.pop()},yC=function($){(1===$.clip.tracks.length?OC:tC).push($)},{add:function($,z,C,o,M){z===Kd&&(z=$.speed),C===Kd&&(C=$.time),o===Kd&&(o=$.loop);var A,N,s,g,Y,v,O=CC.next(),t=$.interval,c=$.clip;return zT(o={id:O,time:C,start:C,loop:o,loopMax:$.loopMax||1/0,shiftTime:$.shiftTime||0,duration:(c||$).duration,animationName:(c||$).name,animatable:$,iteration:0,paused:!1,displayTime:C,weight:$.weight,delay:$.delay||0,loopDelay:$.loopDelay||0,interval:t=!t||t<1/60?Kd:t,_accumulatedDelta:0},z),MC[O]=o,oC||(oC=!0,Qd.registerHeartbeat(BE)),c?(C=0,$.isExclusive()&&((s=(s=(zC=zC||new Map).get($.target))&&MC[s])&&(s.quitFunc&&s.quitFunc(),function($,z){if(M){$=Math.abs($.speed);if(!($<.2)){var z=Math.abs(z.speed);if(!(z<.2))return z=z/$,!(Math.abs(z)<.01||100<Math.abs(z))}}}(s,o)?C=M:sC(s.id)),zC.set($.target,O)),gC($,1),0<C&&(t=C,N=o,z=(A=s).animatable.clip,c=N.animatable.clip,N.weight=0,z.phaseMatching&&c.phaseMatching?(v=[0,M=(A.duration-(A.displayTime||0))/Math.abs(A.speed),M+t],g=cC(2),Y=cC(2),C=z.duration,s=c.duration,o=A.speed,M=N.speed,g.setTarget(A).replaceTrackTimeValueSequence([{times:v,values:[1,1,0]},{times:v,values:[o,o,C/s*M]}]),Y.setTarget(N).replaceTrackTimeValueSequence([{times:v,values:[0,0,1]},{times:v,values:[1,s/C*o,M]}])):(g=cC(1),Y=cC(1),v=[0,t],g.setTarget(A).replaceTrackTimeValueSequence([{times:v,values:[1,0]}]),Y.setTarget(N).replaceTrackTimeValueSequence([{times:v,values:[0,1]}])),g.play(),Y.play(),t=N.quitFunc=function(){delete N.quitFunc,g.stop(),Y.stop(),g.clearEvents(),Y.clearEvents(),yC(g),yC(Y),sC(A.id)},Y.once("finished",t))):$ instanceof DC&&$.increaseBindingCount(),O},remove:function($){var z=MC[$];return!!z&&((z=z.animatable).clip?gC(z,-1):z instanceof DC&&z.decreaseBindingCount(),delete MC[$],!0)},stop:sC=function($){if(!($=MC[$]))return!1;$.animatable.stop()},pause:function($){return!!$&&(!(!($=MC[$])||$.paused)&&($.paused=!0))},resume:function($){return!(!($=MC[$])||!$.paused||($.paused=!1))},isPlaying:function($){return!!MC[$]},isRunning:function($){return!!MC[$]&&!MC[$].paused},isPaused:function($){return!!MC[$]&&MC[$].paused},changeAnimationInfo:function($,z,C){return!(!($=MC[$])||("speed"===z?(zT($,C),0):"time"===z?($.time=C+$.delay,0):"forwardTime"!==z||($.time+=C,0)))},evaluateAnimationAndResolve:function($,z,C){$T($,z,C),CT()},createBinding:function($){var z=$.clip;if(z&&$.getRootTarget()){for(var C=$.target,o=(AC=AC||new Map).get(C),M=(o||AC.set(C,o={}),z.tracks),A=0,N=M.length;A<N;A++){var s=M[A],g=s.getName();o[g]||(o[g]=new WC(C,g,s.getInterpolation()))}return!0}},addPendingBinding:function($){var z=$.id;YC[z]||(YC[z]=$,vC=!0)},getBinding:function($){return AC.get($)},getAnimation:function($){return MC[$]},getAnimationMap:function(){return MC},getAnimationInfo:function($,z){if($===Kd)return null;var C=MC[$];if(!C)return null;switch(z){case"time":return C.displayTime||0;case"name":return C.animationName;case"loop":return C.loop;case"speed":return C.speed;case"duration":return C.duration;case"direction":return C.direction;case"iteration":return C.iteration;default:return{time:C.displayTime||0,name:C.animationName,loop:C.loop,speed:C.speed,direction:C.direction,iteration:C.iteration,duration:C.duration}}},stopAll:function(){Jd.keys(MC).forEach(function($){MC[$].targetedAnimation.stop()})},addBindingCountRef:gC=function($,z){for(var C=AC.get($.target),o=$.clip.tracks,M=0,A=o.length;M<A;M++)C[o[M].getName()].addRef(z);return!0},resolvePendingBindings:CT}),QC=pA(),WC=KC.Binding=function(C,$,z){var o;this.target=C,this.name=$,this.id=QC.next(),this._assignValueGetterSetter(),this.ref=0,this.receiveValue=this.addValue,this.interpolation=z,"euler"!==this.interpolation&&"quaternion"!==this.interpolation||($=this.getValue(),o=this.setValue,"quaternion"===this.interpolation?$&&$.isQuaternion&&(this.setValue=function($){o(new hA($[0],$[1],$[2],$[3]))}):$&&$.isEuler?this.setValue=function($){var z=C&&C.getRotationMode?UA.ReverseOrder(C.getRotationMode()):Kd;o(B.quaternionArrayToEuler($,z))}:this.setValue=function($){var z=C&&C.getRotationMode?UA.ReverseOrder(C.getRotationMode()):Kd;o(B.quaternionArrayToEulerArray($,Kd,z))}),this.initBlend()},VC=[0,0,0,1],eC=(WC.prototype={constructor:WC,getValue:k,setValue:k,initBlend:function(){this.totalWeight=0,this.additiveWeight=0},initValue:function($,z){if(z=z===Kd||z,$){if("quaternion"===this.interpolation||"euler"===this.interpolation)return z&&(this.isArray=!0,this.assignMixFunc()),[0,0,0,1];if("color"===this.interpolation||"gradient"===this.interpolation)return z&&(this.isArray=!1,this.assignMixFunc()),[""];if(ed($)){z&&(this.isArray=!0,this.assignMixFunc());for(var C=new $.constructor($.length),o=0;o<$.length;o++)C[o]=0;return C}if(ArrayBuffer.isView($))return z&&(this.isArray=!0,this.assignMixFunc()),new $.constructor($.length)}return z&&(this.isArray=!1,this.assignMixFunc()),Vv($)?[0]:Vd($)?[""]:ev($)?[!1]:[0]},addValueToBuffer:function($,z,C){this.mixFunc($,z,C)},assignMixFunc:function(){var $=this.interpolation,z=this.isArray;this.mixFunc="discrete"===$?z?this.discreteMixArray:this.discreteMix:"quaternion"===$||"euler"===$?this.quaternionMixArray:"color"===$||"gradient"===$?this.discreteMix:z?this.defaultMixArrayFunc:this.defaultMixFunc},mixFunc:k,discreteMix:function($,z,C){$[0]=z},discreteMixArray:function($,z,C){for(var o=0,M=$.length;o<M;o++)$[o]=z[o]},defaultMixFunc:function($,z,C){$[0]+=z*C},defaultMixArrayFunc:function($,z,C){for(var o=0,M=$.length;o<M;o++)$[o]+=z[o]*C},quaternionMixArray:function($,z,C){hA.multiplyQuaternionsFlat(VC,0,$,0,z,0),hA.slerpFlat($,0,$,0,VC,0,C)},addValue:function($,z,C){z?(this.additiveWeight+=$,this.additiveBuffer||(this.additiveBuffer=this.initValue(C)),this.addValueToBuffer(this.additiveBuffer,C,$)):(this.totalWeight+=$,this.blendBuffer||(this.blendBuffer=this.initValue(C)),this.addValueToBuffer(this.blendBuffer,C,$)),fC.addPendingBinding(this)},_addInitialValueToFinalBuffer:function($){var z;(z=this.initialValue)||((z=this.getValue()).isEuler&&(z=B.eulerArrayToQuaternionArray(z.toArray())),this.initialValue=z),this.addValueToBuffer($,z,1)},resolve:function(){var $,z=this.blendBuffer,C=this.additiveBuffer,o=($=this.finalBuffer)?this.pongBuffer:($=this.finalBuffer=this.initValue(z||C,!1),this.pongBuffer=U3($));z?this.addValueToBuffer($,this.isArray?z:z[0],1/this.totalWeight):this._addInitialValueToFinalBuffer($),C&&this.addValueToBuffer($,this.isArray?C:C[0],1),this.applyFinalValueToTarget($,o,z,C)},setValueAndApplyImmediately:function($,z,C){if(1===$&&!z){if(!ed(C))return void this.setValue(C);var o=(o=this.finalBufferImmOri)||(this.finalBufferImmOri=this.initValue(C));return this.discreteMixArray(o,C),void this.setValue(o)}var M=(o=this.finalBufferImm)?this.pongBufferImm:(o=this.finalBufferImm=this.initValue(C),this.pongBufferImm=U3(o));z&&this._addInitialValueToFinalBuffer(o),this.addValueToBuffer(o,C,$),this.applyFinalValueToTarget(o,M,null,null)},applyFinalValueToTarget:function($,z,C,o){if(this.setValue(this.isArray?$:$[0]),this.pongBuffer=$,$=this.finalBuffer=z,this.initBlend(),"quaternion"===this.interpolation||"euler"===this.interpolation)return(M=$)&&(M[0]=M[1]=M[2]=0,M[3]=1),(M=C)&&(M[0]=M[1]=M[2]=0,M[3]=1),void((M=o)&&(M[0]=M[1]=M[2]=0,M[3]=1));for(var M,A=0,N=$.length;A<N;A++)M=Vv($[A])?0:!!Vd($[A])&&"",$[A]=M,C&&(C[A]=M),o&&(o[A]=M)},addRef:function($){return($=this.ref=this.ref+$)<=1?(this.receiveValue=this.setValueAndApplyImmediately,$||delete this.initialValue):this.receiveValue=this.addValue,this},_assignValueGetterSetter:function(){var $,z,o,M=this.target,C=this.name;M&&C&&($=ed(M),z=$?M[0]:M,(o=cK.findFinalRule(C,z))&&($?(this.getValue=function(){return o.getter(z)},this.setValue=function($){for(var z=0,C=M.length;z<C;z++)o.setter(M[z],$)}):(this.getValue=o.getter.bind(z,z),this.setValue=o.setter.bind(z,z))))}},WC._setTempBindingRule=function($){var z;return(_C=_C||new Map).get($)||(z=B.generateUUID(),_C.set($,z),cK.setBindingRule(z,{getter:k,setter:$}),z)},KC.Timer=function($){this._init($||{}),(this.autoPlay=!!$.autoPlay)&&this.play()}),DC=(eC.prototype={constructor:eC,_init:function($){var z=this.fps=$.fps||60,C=(this.interval=1/z,this.frames=$.frames);this.duration=C&&0<C?C/z:$.duration===Kd?1:$.duration,delete this.frames,this.loop=$.loop||IC.Default,this.loopMax=$.loopMax||1/0,this.delay=$.delay||0,this.loopDelay=$.loopDelay||0,this.stopWhenFinished=!0,this.speed=$.speed===Kd?1:$.speed,this.time=$.time||0,this.name=$.name||"Timer",$.onLoop&&(this.onLoop=$.onLoop),$.onUpdate&&(this.onUpdate=$.onUpdate),$.onFinished&&(this.onFinished=$.onFinished),$.onPause&&(this.onPause=$.onPause),$.onResume&&(this.onResume=$.onResume),$.onStart&&(this.onStart=$.onStart),$.onStop&&(this.onStop=$.onStop),this._events=Kd,this.fireEvent=this.fireEventSingle},isPlaying:function(){var $=this.id;return $!==Kd&&fC.isPlaying($)},play:function($,z,C){return this.id!==Kd&&this.stop(),this.id=fC.add(this,$,z,C),this.fireEvent("start"),this},start:function(){return this.play.apply(this,arguments)},stop:function(){return this.id!==Kd&&(fC.remove(this.id)&&this.fireEvent("stop"),delete this.id),this},shift:function($){return this.duration+=$,this},scale:function($){return this.duration*=$,this},scaleTo:function($){return this.duration=$,this},setSpeed:function($){return this.id!==Kd&&fC.changeAnimationInfo(this.id,"speed",$),this},getTime:function(){return this.getCurrentState("time")},setTime:function($){return this.id!==Kd&&fC.changeAnimationInfo(this.id,"time",$),this},seek:function($){return this.id!==Kd?fC.changeAnimationInfo(this.id,"time",$):this.play(0,$+this.delay),this},getSpeed:function(){var $=this.getCurrentState("speed");return null!==$?$:this.speed||1},forwardTime:function($){return this.id!==Kd&&fC.changeAnimationInfo(this.id,"forwardTime",$),this},backwardTime:function($){return this.forwardTime(-$)},getCurrentState:function($){return fC.getAnimationInfo(this.id,$)},evaluate:function(){this.fireEvent("update")},pause:function(){return fC.pause(this.id)&&this.fireEvent("pause"),this},resume:function(){return fC.resume(this.id)&&this.fireEvent("resume"),this},isRunning:function(){return fC.isRunning(this.id)},isPaused:function(){return fC.isPaused(this.id)},on:function($,z){this._events||(this.fireEvent=this.fireEventListners,this._events={});var C=this._events[$];return C||(this._events[$]=C=[]),C.push(z),this},once:function($,z){return z.once=!0,this.on($,z)},off:function($,z){var C=this._events;if(!C)return this;var o=C[$];if(!o)return this;for(var M=o.length-1;0<=M;M--)o[M]===z&&o.splice(M,1);return this},clearEvents:function(){return this._events=Kd,this.fireEvent=this.fireEventSingle,this},getEvents:function(){return this._events},_fireEventUsingKey:function($,z){var C,o=this._events[z];if(!o)return!1;for(var M=0;M<o.length;M++){var A=o[M];A(this,$),A.once&&(C=C||[]).push(z,A)}if(C)for(M=0;M<C.length;M+=2)this.off(C[M],C[M+1]);return!0},fireEventSingle:(PC={start:"onStart",stop:"onStop",pause:"onPause",resume:"onResume",loop:"onLoop",update:"onUpdate",finished:"onFinished"},function($){var z=this[PC[$]];z&&z(this,$)}),fireEventListners:function($){this.fireEventSingle($);var z=this._fireEventUsingKey($,$),$=this._fireEventUsingKey($,"*");return z||$},onStart:D,onStop:D,onLoop:D,onUpdate:D,onFinished:D,onPause:D,onResume:D},Jd.defineProperties(eC.prototype,{time:{get:function(){return this.getCurrentState("time")},set:function($){this.setTime($)}},frame:{get:function(){var $=this.getCurrentState("time");return Math.floor(($+1e-6)*this.fps)},set:function($){var $=$/this.fps,z=Math.floor(($-1e-6)/this.duration);this.setTime($+z*this.loopDelay)}},iteration:{get:function(){return this.getCurrentState("iteration")}}}),KC.Timeline=function($){eC.call(this,$)}),aC=(DC.prototype=Jd.create(eC.prototype),DC.prototype.constructor=DC,pA()),kC=(Jd.assign(DC.prototype,{_init:function($){eC.prototype._init.call(this,$),this.name=$.name||"Timeline",this._childrenEntries=[],this._callbacks=[],this._callbackLength=0,$&&$.easing!==Kd&&(this.easing=$.easing),$.frames===Kd&&$.duration===Kd&&(this.duration=0,this._autoCalculateDuration=!0)},add:function($,z,C,o,M){o===Kd&&M===Kd&&(o=z,M=C,z=0,C=$.duration);var A=aC.next();return z=z||0,C=C||$.duration-z,o=o||0,M===Kd?M=Math.abs(C):M<0&&(console.error("Timeline.add: timeline duration cannot be negative."),M=Math.abs(M)),this._childrenEntries.push({id:A,animatable:$,localPos:z,localDuration:C,pos:o,duration:M}),this._doSort(),this._autoCalculateDuration&&(this.duration=Math.max(this.duration,o+M),this._autoCalculateDuration=!0),this},remove:function($){for(var z=0;z<this._childrenEntries.length;z++)if(this._childrenEntries[z].animatable===$)return this._childrenEntries.splice(z,1),this._doSort(),!0;return!1},clear:function(){this._childrenEntries.length=0,this._doSort()},getChildren:function(){return this._childrenEntries},_doSort:function(){for(var C=this._childrenEntries,$=C.length,z=this._sortByStartInv=new Array($),o=this._sortByEnd=new Array($),M=0;M<$;M++)o[z[M]=M]=M;z.sort(function($,z){return C[z].pos-C[$].pos}),o.sort(function($,z){return C[$].pos+C[$].duration-(C[z].pos+C[z].duration)})},shift:function($){for(var z=0;z<this._childrenEntries.length;z++)this._childrenEntries[z].pos+=$;for(z=0;z<this._callbackLength;z++)this._callbacks[z].time+=$;return this.duration+=$,this},scale:function($){for(var z=0;z<this._childrenEntries.length;z++){var C=this._childrenEntries[z];C.pos*=$,C.duration*=$}for(z=0;z<this._callbackLength;z++)this._callbacks[z].time*=$;return this.duration*=$,this},scaleTo:function($){return 0===this.duration?(this.duration=$,this):($/=this.duration,this.scale($))},callAt:function($,z,C){if("function"!=typeof z)return console.warn("Timeline.callAt: callback is not a function."),-1;var o=aC.next();return this._callbacks[this._callbackLength++]={id:o,time:$,callback:z,once:!!C,_called:0},o},callAtOnce:function($,z){return this.callAt($,z,!0)},removeCallAt:function($){for(var z=0;z<this._callbackLength;z++)if(this._callbacks[z].id===$)return this._callbacks[z]=this._callbacks[this._callbackLength-1],this._callbackLength--,!0;return!1},removeCallBetween:function($,z){for(var C=0;C<this._callbackLength;C++)this._callbacks[C].time>=$&&this._callbacks[C].time<=z&&(this._callbacks[C]=this._callbacks[this._callbackLength-1],this._callbackLength--,C--);return this},removeCallAtTime:function($){return this.removeCallBetween($,$)},clearCalls:function(){return this._callbacks.length=0,this._callbackLength=0,this},deepDive:function($,z,C){for(var o=this._childrenEntries,M=0;M<o.length;M++){var A=o[M].animatable;$&&$(A),A instanceof DC?(z&&z(A),A.deepDive($,z,C)):A.clip&&C&&C(A)}},play:function(){this._lastIteration=-1,this.deepDive(function($){$._lastIteration=-1}),eC.prototype.play.apply(this,arguments)},seek:function($){this._lastIteration=-1,this.deepDive(function($){$._lastIteration=-1});var z=this._lastDisplayTime||0;this._pendingSeekDurationInfo={direction:z<$?1:-1,iteration:-1},eC.prototype.seek.apply(this,arguments)},addBindingCountRef:function($){for(var z=this._childrenEntries,C=0;C<z.length;C++){var o=z[C].animatable;o instanceof DC?o.addBindingCountRef($):o.clip&&fC.addBindingCountRef(o,$)}},increaseBindingCount:function(){this.addBindingCountRef(1)},decreaseBindingCount:function(){this.addBindingCountRef(-1)},evaluate:function($,z){var C,o;return(o=this._pendingSeekDurationInfo)?delete this._pendingSeekDurationInfo:o=fC.getAnimation(this.id),C=o.direction,o=o.iteration,this.evaluateImpl($,z,!1,C,o)},evaluateImpl:function($,z,C,o,M){for(var A,N=this.duration,s=(0<N?this.easing!==Kd?(A=$3(this.easing)($/N)*N,!isNaN(A)&&isFinite(A)||(A=$)):A=$:A=0,this._lastTime||0),g=(this._lastIteration!==M?(this._lastIteration=M,s=0<o?-1:N+1):(1===o&&A<s||-1===o&&s<A)&&(o=-o),0<o?this._sortByEnd:this._sortByStartInv),Y=this._childrenEntries,v=0;v<g.length;v++){var O=Y[g[v]],t=O.animatable,c=O.localPos,y=O.localDuration,_=P=O.pos,P=P+(O=O.duration),Z=0<y?o:-o;_<=A&&A<=P?oT(t,c+(A-_)/O*y,z,C,Z,M):1===o&&s<P&&P<=A?oT(t,c+y,z,!0,Z,M):-1===o&&_<s&&A<=_&&oT(t,c,z,!0,Z,M)}for(var X=0,d=this._callbackLength;X<d;X++){var l,J=this._callbacks[X];J._invalid||(l=!1,(l=1===o&&s<J.time&&A>=J.time||-1===o&&s>J.time&&A<=J.time||l)&&(J.once?J._called||(J.callback(this,A,J._called=1),J._invalid=!0):J.callback(this,A,++J._called)))}this._lastTime=A,this._lastDisplayTime=$,eC.prototype.evaluate.call(this,A,z),fC.resolvePendingBindings()},debugOn:function(){this._debug||(this._debug=!0,(xC=xC||new kC).add(this))},debugOff:function(){this._debug&&(this._debug=!1,xC&&xC.remove(this))}}),Jd.defineProperties(DC.prototype,{duration:{get:function(){return this._duration},set:function($){this._duration=$,delete this._autoCalculateDuration}}}),function(){var o,M=[];function $($,z,C){for(var o=[],M=0;M<$.length;M++){if(z instanceof RegExp){if(!z.test($[M].displayName))continue}else if($[M].displayName!==z)continue;var A=$[M];C&&C(A,M),o.push(A)}return o}var Y=Qd.parse("__ht__encode26Z4fiPRgJfQctO8snAgZwl1Fmm1YeOemwI+2W/jbMc5Gvc5TSs/2S7/rI4/rI452WDG6dC5Kc45YSIwkavyrS3oTS4y2eQeq+l1DwIeTIa5KSQeFzmhX+I+YeO5GVaRYnFhbwGhblmeTlkHq6mRYnlgqwmHFpT+imZ12eO+Dna124=jZUAHD5=omAxeqwuHiv=o=ns1X/ke=4=jFpThZ+sgN6f1YeOe=/Foiju1FV=RYnQjbmt+bweeTI=gi6F+Dnl1Zzke=4=gipugN6k6=eOeqwtHint+Dwtg2eQeqnmjNd=omQ4RKSQ/GS4RKV7/6aURDQ=+Dm412eOeqnt+XuMvF6T+YeQeFnzjZAqHFUagFd=o=eT1GmmjZ6Fe=4=jZUsgF6svFpMhb6reTlg/Y4kRKdQ/pkQeF7z8XUa+pj=o=nkgNS=RYnMhb/4gipuGFpA12eOemwlgXv=RYns1X/keTlg5rSQ5GeQ/Kd4RKz+RYntgMwsjXH=o=n0bZzkbaUF+XuT+imtg=zm+F6f+Y4c1ipkj24c+Fmm+s4cHiUlgqdQeD+l1DwIRYWI1XmqhDdleDAMjbwzRFVInNwlgX6QhXumRqWmHF/mgqwz1ZvqRYWI+Yu/jbwIRF/QjXa4yDWthXukRqccRsWNhXwkhY4c5Y4c52MloNk=027xeqwuHiv=o=nrhip412eQeFntHFwmHm+l1DwIeTI7RTvQeFntHFwmHM/tgiUseTI=eZ53jr+TjseQeF7z8XUa+pj=o=nkgNW=gNwkgZk=RYnMhb/4gipuGFpA12eOe=eQeFpfjZztHmM=oTSQeqWthXukHseOXrV4RK5NRTvQ5GSQ/Tef/6aURDQ=+Dm412eOeqwm8Dd=RYnk1bzkeTI=vawWvmd=RYnTgZ7tH=eOe=53jGzzoiv=RYnFgZukeTI=5Gn48YWrjXurRb/mHFmFe=4=gipugN6k6=eOeFnt+Dwtg2eQeFwlHNWQjbmojXameTI=e=4=jXuThiUsXYeO5Y4=HZ/zgi6jeTI4RTcr5r5rRYnrjZpQ16M=oTSfoK5r5r5QeqnmjNd=omQ7523aRKHuRTjZ/TjNRK5ZRKVZbbkQ8snk8bWmeTI=HZzzHiv=RYn=gNnM1bnbhXwkhYeO523aRYn=gNnM1bnKgZ7tH=eOe=/Toi5NjZ5=RYnQjbmt+bwXeTI=+iU4jFUk+iUAe=4=1imrHi7z8vuzgXv=o=e=RYnzgF/IgNn1eTI4RYn4gZmf+D5=omQkoGSQ5rHf/24koGSQ/Tef/6aURDQ=+Dm412eOeqwm8Dd=RYnk1bzkeTI=wvuVe=4=jZUQgNe=o=eToiV3jGzme=4=1FUf+YeOeTVsHDccHZpfHsar1bnl1=eQeF7z8XUa+pj=o=n=gNwkgZk=RYnMhb/4gipuGFpA12eOe=eQeFpfjZztHmc=oTSQeq/TjX7mXYeO5Y335r5r5s4=HZ/zgi61eTI4RTcr5r5rRYns1X/keTlg/KjNRTjZ/TjNRKHaRKeaRKVZbbkQ8snk8bWmeTI=HFUagFw21X/ke=4=jFpThZ+sgN6f1YeOe=/Moivs1Fj=RYnTgNnf1bn2jXwl+b5=omQkRKdQ/Y4kb24=gipugN6k2YeOeF/mgqwmH=eQeF7z8XUa+pj=o=nkgNS=RYnrhipMgNH=oqws+XvQeq/IjXwt+k/tgiUseTI=erj4dv/idseQeq/IjXwt+knQ+be=oT5Qeq/IjXwt+kUF1q/m+pc=oTVQeq/IjXwt+kUF1q/m+pM=oTVQeFwlHNWQjbmojXameTI=dZ7lHVnt1DM=RYnzgF/IgNnjeTI4RYnzgF/IgNn1eTI4RYns1X/keTlxeF1agF5=o=n0bZzkbaUF+XuT+imtg=zMjbwzRYWZhX6Ny2Wxbius1bwaHF3cXsSa5=4c5THQeKVN/=4c5TecbGAHgqk=RYnZjX7a12eOXrvsRKeNRKVN/=4s5maU027xeqwuHiv=o=nk1bzke=4=+i63+YeOeM/QhbScdX74hiV=RYnTgZ7tH=eOe=5r5T5s/Xd=RYnFgZukeTI=5Gn48YWrjXurRb/mHFmFe=4=gipugN6k2YeOeF/mgqwmH=eQeF7z8XUa+pj=o=nkgNS=RYnMhb/4gipuGFpA12eOeM/QhbWojXame=4=jXuThiUsXYeO5Y4=HZ/zgi6jeTI4RTM7/TjNRYnrjZpQ16M=oTSfoGVZ/THQeqnmjNd=omQa/=37/TjZ/s4r524ao247/maURDQ=+Dm412eOeqnt+XuMvF6T+YeQeFnzjZAqHFUagFd=o=eT1F1F1F1Fe=4=jZUsgF6svFpMhb6reTlg5TSQ5TSQ5TSQ5TW+RYnQjbmt+bwXeTI=jFUk+iUAe=4=1imrHi7z8vuzgXv=o=e=RYnzgF/IgNnjeTI4RYnzgF/IgNn1eTI4RYns1X/keTlg5GSkRTSs5TMsRKjrRKeu/Y3u/Gd7/s4k5paURDQ=+Dm412eOeqnt+XuMvF6T+YeQeFnzjZAqHFUagFd=o=eT1TWF5ij4e=4=jZUsgF6svFpMhb6reTlg5Gef/2475=3aRKVsRTvQ5Gef/6kQeF7z8XUa+pj=o=n=gNwkgZk=RYnMhb/4gipuGFpA12eOe=eQeFpfjZztHmc=oTSQeFpfjZztHmM=oTSQeqnmjNd=omQ75Tdf5KesoGeQ/rSf/24a/=3Z5KMQ5T6+RYntgM/QhX/CeTI=baUI+pU01q6fjNwlgZ3I1b1mgqdQeiwz+iVQeD1l1bHQeDWthXukRYWNhXwkhY4chi6l1Zzky2Wx1ipkj2uzyY+khXamgimf12us+XufhXuqns4ceXwz+iVfj2cq+imA1X7lgFvfHq6fgFmf1sHlyGAUeqkQ8snk8bWmeTI=HFUagFw21X/ke=4=jFUs1i6s6ZmM+ic=oTSf5KS7RYn=gNnM1bnKgZ7tH=eOe=/m5iv41GS=RYnTgNnf1bn2jXwl+b5=omQ75=3aRKVsRTvQ5Gef/2475=3ab24=gipugN6k6=eOeFnt+Dwtg2eQeFwlHNWQjbmojXameTI=e=4=jXuThiUsXYeO5Y4=jXuThiUsX2eO5Y4=HF6T+YeOXrVs/Y345Teu5=4N5Y3aRKH4RKeabbkQ8snk8bWmeTI=HZzzHiv=RYn=jX/C1Nnt+XuMeTI=er6m/rnm/YeQeq1lHZm=giv=oqQ=1q6fjseOemU0hDw0bZ1agF/khXUfyiwz+iVQeD1l1bHleDAHgqnm+D6sg=Sz1ipkj2uzyY+khXamgimf12us+XufhXuqnsMxbiuUeqkQeF7z8XUa+pj=o=n=gNwkgZk=RYnMhb/4gipuGFpA12eOeqWQjbMAhX/tg=eQeqWthXukHseOXrVko2345Teu5=4N/=37/TjZ/s47/KMf5KesoGeQoKMf5GjZ/THQ5GvuRTSs5TMsRKcsRTjZ/TjNb24=HZ6qgX6f+D5=omQ7RKeQ5=4abbkQ8snk8bWmeTI=HZzzHiv=RYn=jX/C1Nnt+XuMeTI=HF+=yKes/s4u5s4u5sM=RYnZhb/ljF7meTlxeF1agF5=o=n0bZzkbaUF+XuT+imtg=zMjbwzRYWZhX6Ny2Wxbius1bwaHF3ce2pMjbwzRFVInNwlgX6QhXumRqnagFulgFHqyGAHgqk=RYnZjX7a12eO1FpQHZ6URYnQjbmt+bwXeTI=jFUk+iUAe=4=1imrHi7z8vuzgXv=o=n4jb6r12aljZUfe=4=HiUlgqwreTlg5GduRTSs5TMsRKHZRTVZ/TjNRKVko2345Teu5=43o237/TjZ/s47/Gef5GMsoKdQoKMf5GjZ/THQ5GvsRTVu5TckRKHZRTVZ/TjNRKVa/s3u/GvZ/s4N/=37/TjZ/s47/GHfoGva/THQoKMf5GjZ/THQ5GvkRTM4oGVkRKcuRTVZ/TjNRKVa/Y3u5KM7/Y4N/=37/TjZ/s47/Gef5GMsoKdQ/rjf5GjZ/THQ5GduRTSs5TMsRKHZRTVZ/TjNbbkQ8snk8bWmeTI=HFUagFw21X/ke=4=jFUs1i6s6ZmM+ic=oTSf5KS7RYn=gNnM1bnKgZ7tH=eOe=/m5iv41GS=RYnTgNnf1bn2jXwl+b5=omQ75=3aRKVsRTvQ5Gef/2475=3ab24=gipugN6k6=eOeFnt+Dwtg2eQeFwlHNWQjbmojXameTI=e=4=jXuThiUsXYeO5Y4=jXuThiUsX2eO5Y4=HF6T+YeOXre7/Y345Teu5=4N5Y3aRKVs5Y4s/6aURDQ=+Dm412eOeqwm8Dd=RYnk1bzkeTlxeF1agF5=o=n0bZzkbaUF+XuT+imtg=zMjbwzRYWZhX6Ny2Wxbius1bwaHF3cna/41X6Mo=SqeYQcGXpkhYusgN6f1YcI1ipkj2uzyY+khXamgimf12urHi6m1YHleD7BeKVf5YMcy=S75YMcRsS75YSCeY+3nrAHgqk=RYnZjX7a12eOem/41X6Mo=S7RTW3eqkQeF/tgiUseTI=ervs/XjN1=eQeF1tgqd=o=e75qW3eD/zgq5AHZ6shXj=RYnQjbmt+bwXeTI=jFUk+iUAe=4=1imrHi7z8vuzgXv=o=e=RYnzgF/IgNnjeTI4RYnrjZpQ16c=oTSfoGVZ/THQeq/TjX7mX2eO5Y3u5GjZ/s4=HF6T+YeOXrVuoY37oKMaoY4N/=3aRKjaRKVZbbkQ8snk8bWmeTI=HFUagFw21X/ke=4=jFpThZ+sgN6f1YeOe=/moX6T1Xj=RYnTgNnf1bn2jXwl+b5=omQkRKdQ/Y4kb24=gipugN6k6=eOeFnt+Dwtg2eQeFwlHNWQjbmojXameTI=HZ/s+Xn=1beAjFpse=4=jXuThiUsXYeO5Y4=jXuThiUsX2eO5Y4=HF6T+YeOXreZ/s34/TdaoY4No23aRKV7/Y3Z/Gj75s43b24=gZuVHFpqeTI=baUI+pU01q6fjNwlgZ3I1b1mgqdQeiwz+iVQeD1l1bHQeDWthXukRYWNhXwkhY4chi6l1Zzky2Wx+FpseDccL2WI+Yu/jbwIRF/QjXa4yDWthXukRqccRsWNhXwkhY4c5Y4c52MxbDnHgFwz+iVfj2cq+imA1X7lgFvfHNWm1XdqRYS3eYIc8YSPeDcloNk=027xeqwuHiv=o=nsgN6f1pnmjNd=RYn=jX/C1Nnt+XuMeTI=eZ1F5Zer5YeQeF/tHFumHmnz1imaHseOXrVf/247RTvQ523aRKVf/6kQeF7z8XUa+pj=o=n=gNwkgZk=RYnMhb/4gipuGFpA12eOe=eQeFpfjZztHmc=oTSQeFpfjZztHmM=oTSQeqnmjNd=oqQ=1q6fjseOemU0hDw0bZ1agF/khXUfyiwz+iVQeD1l1bHleDAHgq1zH=W3eKkcyiwz+iVfj2cq+imA1X7lgFvfHNWm1Xdqy2WB0YS4yGAHHm7f+FpseDdcL2W/jbwIRq/7HqdIGXpkhYuzjq5I8YMcRsS3yGAHHm7fHF6k+bnfepQc5TjZeYQc+YSPeKV4oY4coKSQeKvf/=4c/=W+oa7f02eQeq1zgD6meTlg5rHkRTHs5KHsRKc4RTvQ/=4ZbbaURDQ=+Dm412eOeqnt+XuMvF6T+YeQeFnzjZAqHFUagFd=o=eT1FjrjT54e=4=jZUsgF6svFpMhb6reTlg523aRKVf/247RTvQ523ab24=gipugN6k6=eOeqwtHYeQeFwlHNWQjbmojXameTI=e=4=jXuThiUsXYeO5Y4=jXuThiUsX2eO5Y4=HF6T+YeO8snF+XuTeTI=baUI+pU01q6fjNwlgZ3I1ipkj24c+Fmm+sMc8a7fHF6k+bnfepQcyiwz+iVfj2cq+imA1X7lgFvfHi6sjZ6f+ipq12HleD7BeKSleYIc/Kd4eYQc5rSQeKVrRYSZRYSZepkxbiuUe=4=+FpQ+Xv=omQ7/GMQ5G5Q/=4ZbbaURDQ=+Dm412eOeq/IjbWme=4=jFUs1i6s6ZmM+ic=oTVf/24=jFUs1i6sdZUQgNe=o=eT1FjrjT54e=4=gipugN6k6=eOeqwtHint+Dwtg2eQeFwlHNWQjbmojXameTI=e=4=jXuThiUsX2eO5Y4=HF6T+YeO8snF+XuTeTI=baUI+pU01q6fjNwlgZ3I1ipkj24c+Fmm+sMc8a7fHF6k+bnfepQcyiwz+iVfj2cq+imA1X7lgFvfHi6sjZ6f+ipq12HleD7BeKSleYIc/Kd4eYQc5r5QeKe4RYS4RYSroYW+oa7f02eQeq1zgD6meTlg5GjsRKe4RKSQ5rz+024=HiUlgqwreTlg5GjsRKe4RKVZ5=4aopaUbbkE"),z=Y.comps,C=($(z,/(Time|scrubber-bar)/,function($){$.onDown=$.onDrag}),$(z,"Time")[0]),v=C.rect[0],O=C.rect[2],t=$(z,"ClipBody")[0],c=z.indexOf(t),y=(z.splice(c,1),$(z,"ClipName")[0]);function A($){o&&o.getDataAt($)&&$.stopPropagation()}z.splice(z.indexOf(y),1);var _={};function s(){for(var $=this.dm().getDatas().toArray(),z=0,C=$.length;z<C;z++){var o=$[z],M=function($){var z="__timelineDebugger$"+$;if(Qd.getImageMap()[z])return _[$];for(var C=U.Default.clone(Y),M=(o=(o=(o=t).rect)&&o.value?o.value:o)[3]+4,o=M*($-1),A=[c,0],N=0;N<$;N++){var s=Qd.clone(t),g=Qd.clone(y),s=(A.push(s,g),s.rect={func:function(C){return function($,z){return $=$.a("timeline.clips")[C]||[.5,.5],[v+$[0]*O,27+M*C,O*($[1]-$[0]),M-4]}}(N)},s.background={func:function(o){return function($,z){var C=$.a("timeline.clips")[o]||[.5,.5];return($=$.a("timeline.percentage")||0)>=C[0]&&$<=C[1]?"#ff9500":"#d8e2ff"}}(N)},g.text={func:function(C){return function($,z){return $.a("timeline.clipNames")[C]||""}}(N)},g.rect);g.rect={func:function(C,o){return function($,z){return $=$.a("timeline.clips")[C]||[.5,.5],[v+$[0]*O,30+M*C,o[2],o[3]]}}(N,s)}}return C.comps.splice.apply(C.comps,A),Qd.setImage(z,C),_[$]={name:z,height:C.height+o}}(o._timeline.getChildren().length);o.setImage(M.name),o.setSize(-1,M.height)}this.redraw()}return{add:function(N){if(M.push(N),!o){var $=U.Default.findView();if(!$)return;(o=new U.graph.GraphView).addToDOM($.getView()),o.getView().addEventListener("mousedown",A),o.addPreFrameListener(s),o.redraw()}($=new U.Node)._timeline=N,o.dm().add($),$.setPosition(0,0),$.setAnchor(0,0),$.setSize(-1,-1),$.s({"2d.movable":!1,interactive:!0,"select.width":0});var z={};Jd.defineProperties(z,{"timeline.percentage":{get:function(){return N.getTime()/(N.duration||1)},set:function($){N.play(0,$*(N.duration||1))}},"timeline.running":{get:function(){return N.isRunning()&&!N.isPaused()},set:function($){$?N.isPaused()?N.resume():N.play():N.pause()}},"timeline.speed":{get:function(){return N.getSpeed()},set:function($){N.setSpeed($)}},"timeline.clipNames":{get:function(){for(var $=[],z=N.getChildren(),C=0;C<z.length;C++)$.push(z[C].name||"");return $}},"timeline.clips":{get:function(){for(var $=[],z=N.duration||1,C=N.getChildren(),o=0;o<C.length;o++){var M=(A=C[o]).pos/z,A=(A.pos+A.duration)/z;$.push([M,A])}return $}}}),$.setAttrObject(z)},remove:function(z){var C,$=M.indexOf(z);-1!==$&&M.splice($,1),o&&(C=[],o.dm().each(function($){$._timeline===z&&C.push($)}),C.forEach(function($){o.dm().remove($)})),z.length||(o.getView().removeEventListener("mousedown",A),o.getView().parentElement.removeChild(o.getView()),o=null)}}}),xC=null,pC=U.Animation.Clip=function($,z,C,o){this.name=$,this.tracks=z||[],this.duration=C==Kd?-1:C,this.isAdditive=!!o,this.phaseMatching=!1,this.exclusive=!1,this.uuid=U.Math.generateUUID(),this.duration<0&&this.resetDuration()},bC=(pC.prototype={constructor:pC,resetDuration:function(){var $=this.tracks;if(!$.length)return this;for(var z=0,C=0,o=$.length;C<o;C++)var M=$[C],z=Math.max(z,M.getMaxTime());return this.duration=z,this},addTrack:function($){return this.tracks.push($),this.duration=Math.max(this.duration,$.getMaxTime()),this},shift:function($){for(var z=0,C=this.tracks,o=C.length;z<o;z++)C[z].shift($);return this.duration+=$,this},scale:function($){for(var z=0,C=this.tracks,o=C.length;z<o;z++)C[z].scale($);return this.duration*=$,this},scaleTo:function($){return 0===this.duration?(this.duration=$,this):($/=this.duration,this.scale($))},setAdditive:function($){this.isAdditive=$;for(var z=0,C=this.tracks,o=C.length;z<o;z++)C[z].setAdditive($);return this},setDuration:function($){return this.duration=$,this},isExclusive:function(){return!!this.exclusive},trim:function($,z){z===Kd&&($===Kd?($=0,z=this.duration):(z=$,$=0));for(var C=0,o=this.tracks,M=o.length;C<M;C++)o[C].trim($,z);return this.duration=z-$,this},evaluate:function($,z,C){if(z){for(var o=this.tracks,M=this.isAdditive,A=0,N=o.length;A<N;A++){var s=o[A],g=s.evaluate($);(s=C[s.getName()])&&s.receiveValue(z,M,g)}return this}},evaluateImmediately:function($,z,C){if(z){for(var o=this.tracks,M=this.isAdditive,A=0,N=o.length;A<N;A++){var s=o[A],g=s.evaluate($);(s=C[s.getName()])&&s.setValueAndApplyImmediately(z,M,g)}return this}},evaluateEasing:function($,z,C){$=$3(this.easing)($/this.duration)*this.duration,this._evaluateInternal($,z,C)},evaluateEasingImmediately:function($,z,C){$=$3(this.easing)($/this.duration)*this.duration,this._evaluateImmediatelyInternal($,z,C)}},Jd.defineProperties(pC.prototype,{easing:{get:function(){return this._easing},set:function($){(this._easing=$)?(this._evaluateInternal||(this._evaluateInternal=this.evaluate),this._evaluateImmediatelyInternal||(this._evaluateImmediatelyInternal=this.evaluateImmediately),this.evaluate=this.evaluateEasing,this.evaluateImmediately=this.evaluateEasingImmediately):(this._evaluateInternal&&(this.evaluate=this._evaluateInternal),this._evaluateImmediatelyInternal&&(this.evaluateImmediately=this._evaluateImmediatelyInternal))}}}),KC.TargetedAnimation=function($,z,C){eC.call(this,C?Jd.assign({clip:$,target:z},C):{clip:$,target:z})}),uC=(bC.prototype=Jd.create(eC.prototype),bC.prototype.constructor=bC,Jd.assign(bC.prototype,{_init:function($){eC.prototype._init.call(this,$),this.clip=$.clip,this.target=$.target,this.shiftTime=0,this.weight=1,this.enabled=!0,$&&$.easing!==Kd&&(this.easing=$.easing)},setTarget:function($){return this.target=$,this},setClip:function($){return this.clip=$,this},setAnimationPresets:function($){return $.speed!==Kd&&(this.speed=$.speed),$.shiftTime!==Kd&&(this.shiftTime=$.shiftTime),$.loop!==Kd&&(this.loop=$.loop),this},shift:function($){return this.clip&&this.clip.shift($),this},scale:function($){return this.clip&&this.clip.scale($),this},scaleTo:function($){return this.clip&&this.clip.scaleTo($),this},getRootTarget:function(){if(!this.target)return null;var $=this.target;return ed($)?$[0]:$},_createBindings:function(){return fC.createBinding(this),this},play:function($,z,C,o){return this.id!==Kd&&this.stop(),this.id=fC.add(this,$,z,C,o),this.fireEvent("start"),this},isExclusive:function(){return this.clip.isExclusive()},evaluate:function($,z,C){this.clip.evaluate($,C||1,fC.getBinding(this.target))},evaluateImmediately:function($,z,C){this.clip.evaluateImmediately($,C||1,fC.getBinding(this.target))},replaceTrackTimeValueSequence:function($){for(var z=this.clip.tracks,C=-1/0,o=0,M=z.length;o<M;o++){var A=z[o],N=$[o],s=N.times,g=s.length;A.times=s,A.values=N.values,A.length=g,C=Math.max(C,s[g-1])}this.clip.duration=C}}),Jd.defineProperties(bC.prototype,{target:{get:function(){return this._target},set:function($){this._target=$,this._createBindings()}},clip:{get:function(){return this._clip},set:function($){this._clip=$,this._createBindings()}},duration:{get:function(){return this.clip?Math.max(this.clip.duration,0):0},set:function($){this.clip&&(this.clip.duration=$)}},easing:{get:function(){return this.clip?this.clip.easing:null},set:function($){this.clip&&(this.clip.easing=$)}}}),U.Animation.Track=function($,z,C,o,M){if("string"==typeof $?this.name=$:(this._isRawBinding=!0,this.name=WC._setTempBindingRule($)),this.stride=0,this.times=z||[],this.easings=o||[],this.extraInfo=M||{},M&&M.type&&this.setInterpolation(M.type),this.values=[],C)if((ed(C)||ArrayBuffer.isView(C))&&C.length!==z.length)this.stride||(this.stride=C.length/z.length),this.values=C,this._interpolateTypeByValues="linear";else{this.stride||(this.stride=this._getStrideFromValue(C[0]));for(var A=0,N=C.length;A<N;A++)this._setValueImpl(A,C[A])}this.isAdditive=!1,this.sortKeyFrames(),this.updateTimeRange()}),nC=(uC.prototype={constructor:uC,isRawBinding:function(){return this._isRawBinding},_getStrideFromValue:function($){var z=1,C="linear";return $ instanceof hA?(z=4,C="quaternion"):$ instanceof mA?z=4:$ instanceof Dd?z=3:$ instanceof F?z=2:$ instanceof UA?(z=4,C="euler"):ed($)?z=$.length:"string"!=typeof $&&"bool"!=typeof $||(C="discrete",z=1),this._interpolateTypeByValues=C,z},_setValueImpl:function($,z){var C=this.values,o=this.stride;if(1<o&&ed(z))for(var M=0;M<o;M++)C[$*o+M]=z[M];else z&&z.toArray?z.toArray(C,$*o):(1<o&&console.error("Unknown value type: "+z),C[$]=z)},add:function($,z,C){for(var o=!1,M=this.stride,A=(0<M||(M=this.stride=this._getStrideFromValue(z)),this.times),N=this.values,s=0,g=A.length;s<g;s++)if(A[s]>$){A.splice(s,0,$);for(var Y=0;Y<M;Y++)N.push(0);for(Y=N.length;s*M<Y;Y--)N[Y]=N[Y-M];this._setValueImpl(s,z),this.easings.splice(s,0,C),o=!0;break}if(!o){for(A.push($),Y=0;Y<M;Y++)N.push(0);this._setValueImpl(A.length-1,z),this.easings.push(C)}return this.onValuesChange(),this.updateTimeRange()},updateTimeRange:function(){var $=this.times;return this.start=$[0],this.end=$[$.length-1],this.length=$.length,this},sortKeyFrames:function(){for(var $=[],z=0;z<this.times.length;z++)$.push(z);for(var C=this.times,o=this.values,M=this.easings,A=this.stride,N=($.sort(function($,z){return C[$]-C[z]}),[]),s=[],g=[],z=0;z<$.length;z++){N[z]=C[$[z]];for(var Y=0;Y<A;Y++)s[z*A+Y]=o[$[z]*A+Y];g[z]=M[$[z]]}return this.times=N,this.values=s,this.easings=g,this.onValuesChange(),this.updateTimeRange()},removeKeyAtTime:function($){return-1===($=this.times.indexOf($))?this:(this.times.splice($,1),this.values.splice($*this.stride,this.stride),this.easings.splice($,1),this.onValuesChange(),this.updateTimeRange())},clearKeys:function(){return this.times=[],this.values=[],this.easings=[],this.length=0,this},getMaxTime:function(){var $=this.times;return 0===$.length?0:$[$.length-1]},evaluate:function($){if(0===this.length)return null;if(1===this.length)return this.getValueAtIndex(0);var z,C=this.length,o=this.times;if($<=o[0])return this.getValueAtIndex(0);if($>=o[C-1])return this.getValueAtIndex(C-1);if(2===C)z=0;else for(var M,A=0,N=C-1;A<N;)if(o[M=Math.floor((A+N)/2)]<$){if($<=o[M+1]){z=M;break}A=M+1}else{if(o[M-1]<=$){z=M-1;break}N=M-1}var C=z+1,s=$3(this.easings[z])(($-this.times[z])/(this.times[C]-this.times[z])),g=this.stride,Y=this.values,Y=this._interpolate(this._result,0,Y,z*g,Y,C*g,s,g);return 1<g?Y:Y[0]},shift:function($){for(var z=this.times,C=0;C<z.length;C++)z[C]+=$;return this.updateTimeRange()},scale:function($){for(var z=this.times,C=0;C<z.length;C++)z[C]*=$;return this.updateTimeRange()},trim:function($,z){for(var C=this.times,o=C.length,M=0,A=o-1;M!==o&&C[M]<$;)M++;for(;-1!==A&&C[A]>z;)A--;if(++A,0===M&&A===o)return this;A<=M&&(M=(A=Math.max(A,1))-1);var N=this.stride;return this.times=C.slice(M,A),this.values=this.values.slice(M*N,A*N),this.easings=this.easings.slice(M,A),this.onValuesChange(),this.updateTimeRange()},evaluateTo:function($,z,C){var o=this.evaluate($),M=this.stride;C=C||0;for(var A=0;A<M;A++)z[C+A]=o[A]},getName:function(){return this.name},_interpolate:k,getInterpolation:function(){var $;return this._interpolateType||(this._guessedEulerFromName&&this._guessedEulerFromValue?"euler":($=this._interpolateTypeByValues)?$:"unknown")},setInterpolation:function($){return this._interpolateType=$,this.onValuesChange(),this},setAdditive:function($){if(this.isAdditive!==$){this.isAdditive=$;var z=this.values;if(z&&0!==z.length&&"number"==typeof z[0]){var C,o=this.stride;if($){for(var M=[],A=0;A<o;A++)M[A]=z[A];this._additiveAddon=M,C=-1}else{if(!(M=this._additiveAddon))return void console.error("additive back to false, but no addon found.");C=1}return this._addtiveAddonToValue(z,o,M,C),this.onValuesChange(),this}}},_addtiveAddonToValue:function($,z,C,o){var M=this.getInterpolation();if("quaternion"===M){o<0&&(C=(new hA).fromArray(C).normalize().inverse().toArray());for(var A=$.length-z;0<=A;A-=z)hA.multiplyQuaternionsFlat($,A,C,0,$,A)}else if("euler"===M)for(A=$.length-z;0<=A;A-=z)for(var N=0;N<z;N++){var s=C[N];"string"!=typeof s&&($[A+N]+=s*o)}else if("discrete"!==M)for(A=$.length-z;0<=A;A-=z)for(N=0;N<z;N++)$[A+N]+=C[N]*o},getValueAtIndex:k,pickAValueAt:function($){return this.values[$]},pickValuesAt:function($){for(var z=this._result,C=0,o=$*this.stride,M=this.stride;C<M;C++)z[C]=this.values[o+C];return z},onValuesChange:function(){var $=this.getInterpolation(),z=RC.getTrackParamsByType($);if(z)return z.valuesChangeHandler&&z.valuesChangeHandler.call(this),z.stride&&(this.stride=z.stride),this._interpolate=z.interpolation,void(z.pickValueAt?this.getValueAtIndex=z.pickValueAt:this.getValueAtIndex=1<this.stride?this.pickValuesAt:this.pickAValueAt);this._interpolate=RC.getInterpolationByType($),this.getValueAtIndex=1<this.stride?this.pickValuesAt:this.pickAValueAt}},/\b(r3|euler|rotation3d|rotation)\b/i),RC=(Jd.defineProperties(uC.prototype,{stride:{get:function(){return this._stride},set:function($){this._stride!==$&&(this._stride=$,this.values?this._result=this.values.constructor(this.stride):this._result=new Array(this.stride),this.values&&this.values[0]instanceof UA?this._guessedEulerFromValue=!0:this._guessedEulerFromValue=3<=$)}},name:{get:function(){return this._name},set:function($){this._name!==$&&("string"==typeof(this._name=$)&&nC.test($)?this._guessedEulerFromName=!0:this._guessedEulerFromName=!1)}}}),KC.Util=(t=[0,0,0,0],d=new UA,l=new UA,J=new hA,K=new hA,f=new hA,Q=[0,0,0,0],W=new Dd,A=new U.Math.Vector3,{discreteInterpolation:Ke,linearInterpolation:fe,quaternionInterpolation:We,getInterpolationByType:function($){return"discrete"===$?Ke:"quaternion"===$?We:fe},getTrackParamsByType:function($){return"path3d"===$?{interpolation:Ve,pickValueAt:xe,valuesChangeHandler:ae,stride:3}:"euler"===$?{interpolation:Qe,pickValueAt:ke,valuesChangeHandler:De}:"gradient"===$||"color"===$?{interpolation:ee,stride:1}:void 0},flatten:function($){var z=$[0];if("number"==typeof z)return new Float32Array($);var C=$.length,o=-1;if(z instanceof hA?o=4:z instanceof Dd?o=3:z instanceof F&&(o=2),0<o){for(var M=new Float32Array(C*o),A=0;A<C;A++)$[A].toArray(M,A*o);return M}return $}})),IC=KC.LoopMode={Once:"once",Repeat:"repeat",PingPong:"pingpong"},$=(KC.LoopMode.Default=KC.LoopMode.Once,function($,z){if($=$&&$.states)return $[z]}),wd=function($,z,C){return!(!$||!($=$.states)||($[z]=C,0))},hC=function($,z){if(!z)return MT(j($));j($,function($){z(MT($))})},mC=function($,z){return Dv(z)?z:z&&($=hC($))&&$[z]},SC=function($){return $?Jd.assign({},jC,$):jC},GC=function($,z,C,o){return(z&&z[$]!==Kd?z:C.hasOwnProperty($)?C:o)[$]},EC=function($,z){var C=Dv($),o=Dv(z);if(C&&$.toArray&&($=$.toArray()),o&&z.toArray&&(z=z.toArray()),ed($)&&ed(z)){if($.length!==z.length)return!1;for(var M=0;M<$.length;M++)if($[M]!==z[M])return!1;return!0}if(C&&o){if(Jd.keys($).length!==Jd.keys(z).length)return!1;for(var A in $)if($[A]!==z[A])return!1;return!0}return $===z},HC=function($,z){if(ed($)||!Dv($))return null;var C=Jd.keys($),o=C.length;if(!o)return null;var M=z.comps;if(!M||!M.length)return null;for(var A=SC(z.animatable),N={},s=0;s<o;s++)N[C[s]]={};for(var g=0;g<M.length;g++)for(var Y,v=(Y=M[g]).id,s=0;s<o;s++){var O=C[s],t=function($,z,C){var o=$[v];if(!o)return null;var M,A={},N=!1;for(M in o)EC(o[M],GC(M,Kd,z,C))||(N=!0,A[M]=o[M]);return N?A:null}($[O],Y,A);t&&(N[O][v]=t)}return N},iC=function($,z){var C=z.comps;if(!C||!C.length)return $;for(var o,M,A=SC(z.animatable),N=0;N<C.length;N++)for(var s in o=(M=C[N]).id,$){var g,Y,v=$[s];for(g in v[o]=v[o]||{},A)v[o][g]===Kd&&(M.hasOwnProperty(g)?v[o][g]=M[g]:(Y=A[g])!==Kd&&(v[o][g]=Y))}return $},FC=(Jd.assign(KC,{makeStateAnimation:(ZC=function($,z){if(!$&&!z)return[];if(!$)return Jd.keys(z);if(!z)return Jd.keys($);var C,o={},M=[];for(C in $)o[C]=!0,M.push(C);for(C in z)o[C]||M.push(C);return M},XC=function($){return"background"===$||0<$.indexOf("Color")},dC=function($,z,C,o,M,A){if($=$&&j($)){z=mC($,z),C=mC($,C);for(var N=$.comps,s=SC($.animatable),g=0,Y=N.length;g<Y;g++){var v=N[g],O=v.id,t=z&&z[O],c=C&&C[O];if(t||c)for(var y=M+O+".",_=ZC(t,c),P=0,Z=_.length;P<Z;P++){var X=_[P],d=GC(X,t,v,s),l=GC(X,c,v,s);EC(d,l)||("imageState"===X?"image"===v.type&&dC(v.name,d,l,o,y+"imageState.",A):A.push({name:y+X,type:XC(X)?"color":"linear",values:[d,l]}))}}}},function($,z,C){var o,M=[];return function($,z,C,o,M){var A,N,s,g=C&&C.image;if(g)return dC(g,$,z,C,o,M);var Y=$,v=z,O=M;if(Y&&v)for(var t in Y)v.hasOwnProperty(t)&&(A=Y[t],s=v[t],EC(A,s)||(A.toArray&&s.toArray?(A.toArray(N=[]),s.toArray(N,N.length)):N=[A,s],s=XC(t)?"color":A instanceof UA?"euler":A instanceof hA?"quaternion":"linear",O.push({name:t,type:s,values:N})))}($,z,C,"",M),($=C.easing)&&(o=[$],M.forEach(function($){$.easings=o})),{name:C&&C.name||B.generateUUID(),duration:C&&C.time||1,tracks:M}})}),z(Qd,{getState:$,setState:wd,getImageState:$,setImageState:wd,getModel3dState:$,setModel3dState:wd,getAnimatable:SC},!0),function(C,$){var o,M=C._state;if(M)return M;for(o in M=C._state={},$){var z=$[o];(z=cK.findFinalRule(z,C))&&!function($,z){Jd.defineProperty(M,o,{get:function(){return $(C)},set:function($){z(C,$)}})}(z.getter,z.setter)}return M}),st=function($,M,z){Jd.assign($,{getState:function($){var z=FC(this,M);return $===Kd?z:z[$]},setState:function($,z){var C=FC(this,M);if(Dv($))for(var o in $)C[o]=$[o];else C[$]=z},setSnapProperties:function($){this._stateSnapProperties=$},getSnapProperties:function(){return this._stateSnapProperties||z},snapState:function($){"string"==typeof $?$=$.split(","):ed($)||($=this.getSnapProperties().split(","));for(var z=this.getState(),C={},o=0,M=$.length;o<M;o++){var A=$[o].trim();A&&(C[A]=z[A])}return C},getStates:function(){return this._states},registerState:function($,z){var C=cK.findFinalRule(z=z===Kd?$:z,this);if(!C)return!1;var z=this.getState(),o=this;return Jd.defineProperty(z,$,{get:function(){return C.getter(o)},set:function($){C.setter(o,$)}}),!0}})},C=U.Default.NodeStateBindings||{},o=U.Default.NodeSnapProperties||"localPosition,scale,localEuler",jC=(z(C,{x:"func@x",y:"func@y",elevation:"func@elevation",position:"dcall@p3",localPosition:"func@localPosition3d",scale:"func@scale3d",scaleX:"func@scaleX",scaleY:"func@scaleY",scaleTall:"func@scaleTall",size:"func@size3d",width:"func@width",height:"func@height",tall:"func@tall",rotation:"dcall@r3",rotationMode:"func@rotationMode",quaternion:"func@quaternion",euler:"func@euler",localQuaternion:"func@localQuaternion",localEuler:"func@localEuler",rotationX:"func@rotationX",rotationY:"func@rotationY",rotationZ:"func@rotationZ",anchor:"func@anchor",anchorX:"func@anchorX",anchorY:"func@anchorY",anchorElevation:"func@anchorElevation",position2d:"funcFlatten@position",scale2d:"funcFlatten@scale",size2d:"funcFlatten@size",anchor2d:"funcFlatten@anchor"},!0),st(U.Node.prototype,C,o),{rect:[0,0,1,1],rotation:0,scaleX:1,scaleY:1,background:Kd,opacity:1,imageState:Kd}),D=(Jd.assign(U.Node.prototype,{setImageState:function($){var z=this._imageState;z!==$&&(this._imageState=$,this.fp("imageState",z,$))},getImageState:function(){return this._imageState},getImageStateProperties:function(){return mC(this._image,this._imageState)},getImageStates:function($){return hC(this._image,$)},getImageStateNames:function($){var z=this._image,C=$;if(!C)return AT(hC(z));hC(z,function($){C(AT($))})}}),U.Default.GraphViewStateBindings||{}),$=U.Default.GraphViewSnapProperties||"tx,ty,zoom",UC=(z(D,{tx:"dcall@tx",ty:"dcall@ty",zoom:"func@zoom"}),st(Pm.GraphView.prototype,D,$),U.Default.Graph3dViewStateBindings||{}),wd=U.Default.Graph3dViewSnapProperties||"eye,center",LC=(z(UC,{eye:"func@eye",center:"func@center",up:"func@up",orthoWidth:"func@orthoWidth",fovy:"func@fovy",near:"func@near",far:"func@far",shadowDegreeX:"func@shadowDegreeX",shadowDegreeZ:"func@shadowDegreeZ",shadowBounding:"func@shadowBounding",fogDensity:"func@fogDensity",fogColor:"func@fogColor",fogNear:"func@fogNear",fogFar:"func@fogFar"}),st(w.Graph3dView.prototype,UC,wd),w.Graph3dView.prototype.getState),wC=(w.Graph3dView.prototype.getState=function($){var z,C;return R($)?(C=(z=$).getState())!==fd||(C=z.s(Ef))?C:(C=j(z._image))?E(C[Ef],z,this)||null:void 0:LC.call(this,$)},z(Qd,{accordionViewExpandIcon:Jv(Lx),accordionViewCollapseIcon:Jv(Lx,!0),accordionViewLabelColor:Mr,accordionViewLabelFont:V3,accordionViewTitleBackground:q,accordionViewSelectBackground:or,accordionViewSelectWidth:3,accordionViewSeparatorColor:Kd,splitViewDividerSize:1,splitViewDividerBackground:q,splitViewDragOpacity:.5,splitViewToggleIcon:{width:16,height:16,comps:[{type:at,rect:[2,2,12,12],background:Lx}]},propertyViewLabelColor:W3,propertyViewLabelSelectColor:Mr,propertyViewLabelFont:V3,propertyViewExpandIcon:Jv(qx),propertyViewCollapseIcon:Jv(qx,!0),propertyViewBackground:wx,propertyViewRowLineVisible:!0,propertyViewColumnLineVisible:!0,propertyViewRowLineColor:$r,propertyViewColumnLineColor:$r,propertyViewSelectBackground:or,listViewLabelColor:W3,listViewLabelSelectColor:Mr,listViewLabelFont:V3,listViewRowLineVisible:!1,listViewRowLineColor:$r,listViewSelectBackground:or,treeViewLabelColor:W3,treeViewLabelSelectColor:Mr,treeViewLabelFont:V3,treeViewExpandIcon:Jv(Bx),treeViewCollapseIcon:Jv(Bx,!0),treeViewRowLineVisible:!1,treeViewRowLineColor:$r,treeViewSelectBackground:or,treeViewDoubleClickToToggle:!0,tableViewLabelColor:W3,tableViewLabelSelectColor:Mr,tableViewLabelFont:V3,tableViewRowLineVisible:!0,tableViewColumnLineVisible:!0,tableViewRowLineColor:$r,tableViewColumnLineColor:$r,tableViewSelectBackground:or,treeTableViewLabelColor:W3,treeTableViewLabelSelectColor:Mr,treeTableViewLabelFont:V3,treeTableViewExpandIcon:Jv(Bx),treeTableViewCollapseIcon:Jv(Bx,!0),treeTableViewRowLineVisible:!0,treeTableViewColumnLineVisible:!0,treeTableViewRowLineColor:$r,treeTableViewColumnLineColor:$r,treeTableViewSelectBackground:or,tableHeaderLabelColor:W3,tableHeaderLabelFont:V3,tableHeaderColumnLineVisible:!0,tableHeaderColumnLineColor:rx,tableHeaderBackground:wx,tableHeaderMoveBackground:X,tableHeaderInsertColor:or,tableHeaderSortDescIcon:Zh(qx,!0),tableHeaderSortAscIcon:Zh(qx),tabViewTabGap:1,tabViewLabelColor:Mr,tabViewLabelFont:V3,tabViewTabBackground:q,tabViewSelectWidth:3,tabViewSelectBackground:or,tabViewMoveBackground:X,tabViewInsertColor:or,toolbarLabelColor:W3,toolbarLabelSelectColor:Mr,toolbarLabelFont:V3,toolbarBackground:wx,toolbarSelectBackground:or,toolbarItemGap:8,toolbarSeparatorColor:Tx},!0),{translateX:1,sortColumn:1}),qC={sortable:1,sortOrder:1,sortFunc:1},TC={focusData:1},rC={dataModel:1,sortColumn:1,sortFunc:1,visibleFunc:1,rootData:1,rootVisible:1},BC={dataModel:1,sortFunc:1,visibleFunc:1,categorizable:1},$e=function($,z){z.add($),$.hasChildren()&&$.eachChild(function($){$e($,z)})},ze=function($,z,C,o,M,A,N,s,g,Y,v){var O,t,c,y,_,P,Z=C.getValueType(Y),X=C.getAlign(Y);if(C.getEnumValues(Y))return O=C.toEnumLabel(z,Y),t=e3||0,c=0,y=A,_=Qd.getTextSize(o,O).width,(P=j(C.toEnumIcon(z,Y)))&&(c=A+e3/2,"center"===X?c+=(s-(t+_))/2:"right"===X&&(c=c+s-(t+_)),G3($,P,c,N+g/2,Y,v),y=c+e3/2),void(O!=fd&&(P?r3($,O,o,M,y,N,s-(y-A),g):r3($,O,o,M,A,N,s,g,X)));if((z=C.formatValue(z))!=fd){if(Z!==sh)return Z===Nh||!Z&&ev(z)?(P=j(z?Gt:Et),void G3($,P,A+s/2,N+g/2,Y,v)):void r3($,z,o,M,A,N,s,g,X);Xx($,A,N,s,g,z)}},Ce=function(C,o){var M=o.view,A=xX(C),N=o.column||o.property;M.getDataModel().beginTransaction(),(o.editor=C).info=o,M.setCurrentEditor(C),M.getView().insertBefore(A,M._79O),pX(C,o.editorRect),C.setFocus?C.setFocus():kX(C),C.commitValue=function($,z){C._17Q&&(C=C._17Q),z||M.setValue(o.data,N,C.getValue?C.getValue():C.value),C.close&&C.close(),J_(A)},N.onEditorCreated&&N.onEditorCreated(o)},oe=function($,z,C,o,M){var A=K_($,C),N=z.value,s=z.view,C=M.getValueType(z.data);return A.onblur=A.onchange=function($){s.endEditing()},"input"===$?((N=M.formatValue(N))!=fd&&(A.value=N),A.onkeydown=function($){$x($)?s.endEditing():zx($)&&s.endEditing(!0)},C!==gh&&C!==Yh||Rd(A,Jh,Qd.numberListener)):$===yf&&o.forEach(function($){var z=c.createElement("option");z.innerHTML=M.toEnumLabel($),z.value=$,M.isEnumEqual(N,$)&&(z.selected=!0),OX(A,z)}),Ce(A,z),A},Me=U.widget={},C=function($,z,C){V_("ht.widget."+$,z,C)},Ae=(z(y3,{ms_value:function($,z){$.getValue=function($){var z=($=this.getItemById($)).element;return Vd(z)?z:z?z.getValue?z.getValue():z.value:$.selected},$.setValue=function($,z){var C;($=this.getItemById($))&&((C=$.element)&&!Vd(C)?C.setValue?C.setValue(z):C.value=z:(ev(z)?$.selected=z:$.element=z,this.iv()))},$.v=function($,z){if(2===arguments.length)this.setValue($,z);else{if(!Dv($))return this.getValue($);for(var C in $)this.setValue(C,$[C])}return this}},_46o:function($,z){$._icon=fd,$._accessType=fd,$._valueType=fd,$._editable=!1,$._batchEditable=!0,$._align=_t,$._nullable=!0,$._emptiable=!1,$.setParent=sv,$.formatValue=function($){var z=this._valueType;return this.getEnumValues()?this.toEnumLabel($):z===Nh?!!$:$!=fd&&z===gh?hd($):$},$.setEnum=function($,z,C,o,M,A,N){$&&!ed($)&&$.values&&(o=$.editable,C=$.icons,z=$.labels,M=$.strict,A=$.maxHeight,N=$.dropDownWidth,$=$.values),kv($)&&($=$._as),kv(z)&&(z=z._as),kv(C)&&(C=C._as),this._enumValues=$,this._enumLabels=z,this._enumIcons=C,this._enumEditable=o,this._enumStrict=M==fd||M,this._enumMaxHeight=A,this._enumDropDownWidth=N,$&&$.length&&Vv($[0])&&(this._valueType=Yh),this.fp("enum",!1,!0)},$.getEnumDropDownWidth=function(){return this._enumDropDownWidth},$.getEnumMaxHeight=function(){return this._enumMaxHeight},$.isEnumEditable=function(){return this._enumEditable},$.getEnumValues=function(){return this._enumValues},$.getEnumLabels=function(){return this._enumLabels},$.getEnumIcons=function(){return this._enumIcons},$.isEnumStrict=function(){return this._enumStrict},$.isEnumEqual=function($,z){return this._enumStrict?$===z:$==z},$.toEnumLabel=function($,z){var C=this.getEnumValues(z),o=this.getEnumLabels(z);if(C&&o)for(var M=0;M<C.length;M++)if(this.isEnumEqual($,C[M]))return o[M];return $},$.toEnumIcon=function($,z){var C=this.getEnumValues(z),o=this.getEnumIcons(z);if(C&&o)for(var M=0;M<C.length;M++)if(this.isEnumEqual($,C[M]))return o[M];return Kd}},_45o:function($,z){$._87o=function($,z,C,o,M,A){var N,s;$&&(N=this._90I,s=NX(1),this._columnLineVisible&&--M,this._rowLineVisible&&--A,M<=0||A<=0||((N=this._90I?N:this._90I={})[z]||(N[z]=new L),pX(s,this.tx()+C,this.ty()+o,M,A),OX(s,$),this._view.insertBefore(s,this._79O),$.onParentAdded&&$.onParentAdded(s),N[z].add(s)))},$._76o=function(){var $=this._90I;if($){for(var z in $)$[z].each(function($){J_($)});delete this._90I}},$._77o=function($){var z;this._90I&&(z=this._90I[$])&&(z.each(function($){J_($)}),delete this._90I[$])}},_47o:function($,z){$.getValue=function($,z){return z.getValue?z.getValue($,z,this):qv($,z.getAccessType(),z.getName())},$.setValue=function($,z,C){var o,M,A,N;z.isEmptiable($)||""!==C||(C=Kd),!z.isNullable($)&&C==fd||(o=this,M=z.getName($),A=z.getAccessType($),(N=z.getValueType($))===gh&&Vd(C)?C=qd(C):N===Yh&&Vd(C)?C=parseFloat(C):N===Nh&&Vd(C)&&(C="true"===C),o._batchEditable&&z._batchEditable&&o.isSelected($)?o.sm().each(function($){z.setValue?z.setValue($,z,C,o):Tv($,A,M,C)}):z.setValue?z.setValue($,z,C,o):Tv($,A,M,C))},$.setCurrentEditor=function($){this.endEditing(),this._currentEditor=$,this.redraw()},$.isEditing=function($,z){var C=this._currentEditor;return!!C&&(!z||!!(C=C.info)&&(C.column||C.property)===z&&C.data===$)},$.endEditing=function($){var z=this._currentEditor;z&&(delete this._currentEditor,z.commitValue&&z.commitValue(z.info,$),this.redraw(),this.getDataModel().endTransaction())},$.beginEditing=function($){this.endEditing();var C=this,o=$.column||$.property;if(o.beginEditing)o.beginEditing($);else{var z,M,A=$.data,N=$.value,s=C.getSelectBackground(A),g=o.getEnumValues(A),Y=o.getSlider(A),v=o.getColorPicker(A);if(Y)return(z=h3(Me.Slider,Y)).setValue(N),z.getView().onblur=function($){C.endEditing()},z.isInstant()&&(z.onValueChanged=function(){C.setValue(A,o,z.getValue())}),void Ce(z,$);if(v||o.getValueType(A)===sh)return(Y=h3(Me.ColorPicker,v)).setValue(N),M=Y.onClosed,Y.onClosed=function(){C.endEditing(),M&&M.call(this)},Y.isInstant()&&(Y.onValueChanged=function($,z){C.setValue(A,o,z)}),Ce(Y,$),void Y.open();if(g)Me.ComboBox?((v=new Me.ComboBox).setValue(N),v.setValues(g),v.setLabels(o.getEnumLabels(A)),v.setIcons(o.getEnumIcons(A)),v.setEditable(o.isEnumEditable(A)),v.setStrict(o.isEnumStrict(A)),v.setMaxHeight(o.getEnumMaxHeight(A)),v.setDropDownWidth(o.getEnumDropDownWidth(A)),v.onClosed=function(){C.endEditing()},Ce(v,$),v.open()):oe(yf,$,s,g,o);else{if(o.getValueType(A)!==Nh&&!ev(N))return o.getItemEditor(A)?(((v=(Y=new(L3(o.getItemEditor(A)))(A,o,C,$)).getView())._17Q=Y).setValue(N),YX(v),Ce(v,$),void(Y.editBeginning&&Y.editBeginning())):void oe("input",$,s,fd,o);C.setValue(A,o,!N)}}}},_44o:function($,z){$.init=function($){var z=this,C=z.th=new de($),o=z._view=AX(1,z);z.tv=z._tableView=$,OX(o,C.getView()),OX(o,$.getView()),C.mp(function($){$.property===mt&&z.iv()}),z.iv()},$.getTableView=function(){return this.tv},$.getTableHeader=function(){return this.th},$.getDataModel=function(){return this.tv.dm()},$.getColumnModel=function(){return this.tv.getColumnModel()},$.setColumns=function($){this.tv.setColumns($)},$.addColumns=function($){this.tv.addColumns($)},$.endEditing=function(){this.tv.endEditing()},$.validateImpl=function(){var $=this.th,z=dX($),C={x:0,y:0,width:this.getWidth(),height:z};pX($,C),C.y=z,C.height=Cd(0,this.getHeight()-z),pX(this.tv,C)}},ms_vs:function($,z){$._41o=function(){return this._29I.height<this._59I},$._43o=function(){var $=this;$._41o()&&($._58I||($t(function(){$._94O()},k3),$.iv()),$._58I=new Date)},$._94O=function(){var $=this;$._58I&&((new Date).getTime()-$._58I.getTime()>=k3?(delete $._58I,$.iv()):$t(function(){$._94O()},k3))},$._93I=function(){var $,z,C,o,M,A,N,s=this,g=s._27I;s._58I||!s._autoHideScrollBar?(g||OX(s._79O,g=s._27I=NX()),$=(o=s._29I).height,z=s._59I,C=s.getScrollBarSize(),o=o.width-C-2,M=$*(-s.ty()/z),A=$*($/z),N=g.style,$<z?(A<x3&&($<(M=(M=M+A/2-x3/2)<0?0:M)+x3&&(M=$-x3),A=x3),N.visibility=vf,N.background=s.getScrollBarColor(),N.borderRadius=C/2+Vt,pX(g,o,M,C,A)):N.visibility=Yf):g&&(g.style.visibility=Yf)}},ms_hs:function($,z){$._40o=function(){return this._29I.width<this._91I},$._42o=function(){var $=this;$._40o()&&($._95O||($t(function(){$._94I()},k3),$.iv()),$._95O=new Date)},$._94I=function(){var $=this;$._95O&&((new Date).getTime()-$._95O.getTime()>=k3?(delete $._95O,$.iv()):$t(function(){$._94I()},k3))},$._92I=function(){var $,z,C,o,M,A,N,s=this,g=s._28I;s._95O||!s._autoHideScrollBar?(g||OX(s._79O,g=s._28I=NX()),$=(o=s._29I).width,z=s._91I,C=s.getScrollBarSize(),o=o.height-C-2,M=$*(-s.tx()/z),A=$*($/z),N=g.style,$<z?(A<x3&&($<(M=(M=M+A/2-x3/2)<0?0:M)+x3&&(M=$-x3),A=x3),N.visibility=vf,N.background=s.getScrollBarColor(),N.borderRadius=C/2+Vt,pX(g,M,o,A,C)):N.visibility=Yf):g&&(g.style.visibility=Yf)}}}),sr(Gt,dv(16,16,[{type:kt,rect:[1,1,14,14],background:or},{type:Dt,rect:[1,1,14,14],width:1,color:zr},{type:bt,points:[13,3,7,12,4,8],borderWidth:2,borderColor:"#FFF"}])),sr(Et,dv(16,16,{type:Dt,rect:[1,1,14,14],width:1,color:zr})),sr(Ht,dv(16,16,[{type:xt,rect:[2,2,12,12],borderWidth:1,borderColor:zr,background:"#FFF"},{type:xt,rect:[4,4,8,8],background:or}])),sr(it,dv(16,16,{type:xt,rect:[2,2,12,12],borderWidth:1,borderColor:zr})),y3._15Q=function($,z){$._29I=Yv,$._59I=0,$._91I=0,$._5o=function($){var z=this;z._30I=new L,z._rows=new L,z._rowMap={},z._31I=0,z._14I=0,z._view=AX(1,z),z._canvas=sX(z._view),OX(z._view,z._79O=NX()),z.dm($||new mK)},$.getCheckIcon=function($){var z=this.sm(),$=z.co($);return z.sg()?j($?Ht:it):j($?Gt:Et)},$.checkData=function($){var z=this.sm(),C=z.co($);z.sg()&&C||(this._32o=1,C?z.rs($):z.as($),delete this._32o)},$.getDataAt=function($){$.target&&($=this.lp($));var $=md($.y/this._rowHeight),z=this._rows;return $<0||$>=z.size()?fd:z.get($)},$.onDataDoubleClicked=function($,z){},$.onDataClicked=function($,z){},$.adjustTranslateX=function($){return 0},$.adjustTranslateY=function($){var z=this.getHeight()-this._59I;return 0<($=$<z?z:$)?0:hd($)},$.onPropertyChanged=function($){$=$.property,rC[$]?this.ivm():TC[$]||this.redraw(),$===mf?this._42o():$===Sf&&this._43o()},$.getLabel=function($){return $.toLabel()},$.getLabelFont=function($){return this._labelFont},$.getLabelColor=function($){if(this.isCheckMode()){if(this._focusData===$)return this._labelSelectColor}else if(this.isSelected($))return this._labelSelectColor;return this._labelColor},$.getStartRowIndex=function(){return this._31I},$.getEndRowIndex=function(){return this._14I},$.getRowDatas=function(){return this._rows},$.getRowIndex=function($){return this._rowMap[$._id]},$.getRowSize=function(){return this._rows.size()},$.getViewRect=function(){return U3(this._29I)},$.isVisible=function($){return!this._visibleFunc||this._visibleFunc($)},$.getCurrentSortFunc=function(){return this._sortFunc},$.setDataModel=function($){var z=this,C=z._dataModel,o=z._selectionModel;C!==$&&(C&&(C.umm(z.handleDataModelChange,z),C.umd(z.handleDataPropertyChange,z),C.umh(z.handleHierarchyChange,z),o||C.sm().ums(z.handleSelectionChange,z)),(z._dataModel=$).mm(z.handleDataModelChange,z),$.md(z.handleDataPropertyChange,z),$.mh(z.handleHierarchyChange,z),o?o._21I($):$.sm().ms(z.handleSelectionChange,z),z.fp("dataModel",C,$))},$.validateModel=function(){var $=this,z=($._rows.empty(),$._rowMap={},$.buildChildren($._dataModel._roots),$._rows=$._rows.toList($.isVisible,$)),C=0,o=$.getCurrentSortFunc(),M=z.size();for(o&&z.sort(o);C<M;C++)$._rowMap[z.get(C)._id]=C},$.buildChildren=function($){var z=this;$.each(function($){z._rows.add($),z.buildChildren($._children)})},$.handleDataModelChange=function($){this.ivm()},$.handleDataPropertyChange=function($){"parent"===$.property?this.ivm():this.invalidateData($.data)},$.handleHierarchyChange=function($){this.ivm()},$.handleSelectionChange=function($){$.datas.each(this.invalidateData,this),this.onSelectionChanged($)},$.onSelectionChanged=function($){var z=this.sm();!this.isAutoMakeVisible()||1!==z.size()||"set"!==$.kind&&"append"!==$.kind||this._32o||this.makeVisible(z.ld())},$.handleBackgroundClick=function($){$_($)&&!this.isCheckMode()&&this.sm().cs()},$.makeVisible=function($){$&&(this._23I=$,this.iv())},$.scrollToIndex=function($){var z=this._29I,C=z.height,o=this._rowHeight,M=o*$;0<=$&&$<this._rows.size()&&0<C&&(M+o>z.y+C?this.ty(-M+C-o):M<z.y&&this.ty(-M))},$.autoScroll=function($,z){var C=this,o=C._rowHeight,M=o,A=o/4,N=C._29I,$=C.lp($),s={x:C.tx(),y:C.ty()};return 0<o&&N&&($.x-N.x<M?C.translate(A,0):N.x+N.width-$.x<M&&C.translate(-A,0),$.y-N.y<M?C.translate(0,A):N.y+N.height-$.y<M&&C.translate(0,-A)),s.x=C.tx()-s.x,s.y=C.ty()-s.y,z&&(z.x+=s.x,z.y+=s.y),s},$.getTopRowOrderSelection=function(){var $=this.sm().getTopSelection(),z={},C=new L;return $.each(function($){z[$._id]=$}),this._rows.each(function($){z[$._id]&&C.add($)}),C},$.getRowOrderSelection=function(){var z=new L;return this._rows.each(function($){this.isSelected($)&&z.add($)},this),z},$.ivm=function(){this.invalidateModel()},$.invalidateModel=function(){this._96I||(this._96I=1,this._32I=1,delete this._24I),this.iv()},$.redraw=function(){this._32I||(this._32I=1,delete this._24I,this.iv())},$.invalidateData=function($){At?this.redraw():this._32I||(this._24I||(this._24I={}),this._24I[$._id]=$,this.iv())},$.getFocusData=function(){return this._focusData},$.setFocusDataById=function($){this.setFocusData(this.dm().getDataById($))},$.setFocusData=function($){var z=this._focusData;z!==$&&(this._focusData=$,this.fp("focusData",z,$),z&&this.invalidateData(z),$&&(this.invalidateData($),this.isAutoMakeVisible()&&this.makeVisible($)))},$.drawRowBackground=function($,z,C,o,M,A,N){var s=this.isCheckMode();(z===this._focusData&&s||C&&!s)&&Xx($,o,M,A,N,this.getSelectBackground(z))},$.drawData=function($,z,C){var o=this._rowHeight,M=o*C,A=(N=this._29I).x,N=N.width;$.save(),$.beginPath(),$.rect(A,M,N,o),$.clip(),this._87o(this.drawRow($,z,this.isSelected(z),A,M,N,o),C,A,M,N,o),$.restore(),this._rowLineVisible&&Xx($,A,M+o-1,N,1,this._rowLineColor)},$._12I=function($){var z=this._31I,C=(A=this._29I).x,o=A.y,M=A.width,A=A.height;for($.beginPath(),$.rect(C,o,M,A),$.clip(),$.clearRect(C,o,M,A),this._76o(),this._93db($);z<this._14I;z++)this.drawData($,this._rows.get(z),z);this._92db($)},$._13I=function(z){for(var $,C=this,o=C._rowHeight,M=C._29I,A=M.x,N=M.width,s=C._31I,g=C._30I;s<C._14I;s++)$=C._rows.get(s),C._24I[$._id]&&g.add({data:$,index:s});g.isEmpty()||(z.beginPath(),g.each(function($){z.rect(A,$.index*o,N,o)}),z.clip(),g.each(function($){z.clearRect(A,$.index*o,N,o)}),g.each(function($){C._77o($.index)}),C._93db(z),g.each(function($){C.drawData(z,$.data,$.index)}),C._92db(z),g.empty())},$.preValidateModel=function(){this.endEditing&&this.endEditing()},$.validateImpl=function(){var $=this,z=$._canvas,C=$.getWidth(),o=$.getHeight(),M=$._rowHeight,A=$._32I,N=(C===z.clientWidth&&o===z.clientHeight||(vX(z,C,o),A=1),$._96I&&($.preValidateModel(),$.validateModel()),$._29I),C={x:-$.tx(),y:-$.ty(),width:C,height:o},o=$._rows.size(),z=KX(z),s=$._23I,N=(A||Fv(C,N)||(A=1),$._29I=C,$._59I=o*M,$._31I=md(C.y/M),$._14I=Sd((C.y+C.height)/M),$._31I<0&&($._31I=0),$._14I>o&&($._14I=o),$._99I&&A&&$._99I(),$.tx()),C=$.ty();($._40o()||$._41o())&&($._59I+=$.getScrollBarSize(),$._99I&&A&&($._91I+=$.getScrollBarSize())),fX(z,N,C,1),A?$._12I(z):$._24I&&$._13I(z),$._93I(),$._92I(),z.restore(),$._32I=$._24I=$._96I=fd,s&&($.scrollToIndex($.getRowIndex(s)),delete $._23I),$.tx($.tx()),$.ty($.ty())},$.canHandleSelectMode=function($,z){return!0},$.isDraggable=function($){return!0}},y3._48o=function($,z){$._rootVisible=!0,$._rootData=fd,$._35o=function(){this._expandMap={},this._levelMap={}},$.validateModel=function(){var $=this,z=$._rootData;$._rows.empty(),$._levelMap={},$._rowMap={},$._currentLevel=0,z?$._rootVisible?$.isVisible(z)&&$.buildData(z):$.buildChildren(z):$.buildChildren(),delete $._currentLevel},$.buildData=function($){var z=$._id,C=this._rows;this._rowMap[z]=C.size(),C.add($),this._levelMap[z]=this._currentLevel,this.isExpanded($)&&(this._currentLevel++,this.buildChildren($),this._currentLevel--)},$.buildChildren=function($){var z=this,C=$?$._children:z._dataModel._roots,o=z.getCurrentSortFunc();o&&z.isChildrenSortable($)?C.toList(z.isVisible,z).sort(o).each(z.buildData,z):C.each(function($){z.isVisible($)&&z.buildData($)})},$.getLevel=function($){return this._levelMap[$._id]},$.getToggleIcon=function($){var z=this._loader,C=this._collapseIcon;return z&&!z.isLoaded($)?C:$.hasChildren()?this.isExpanded($)?this._expandIcon:C:fd},$.isCheckMode=function(){return this._checkMode!=fd},$.isChildrenSortable=function($){return!0},$.handleDataModelChange=function($){$.kind===Rt?delete this._expandMap[$.data._id]:$.kind===It&&(this._expandMap={}),this.ivm()},$.toggle=function($){this.isExpanded($)?this.collapse($):this.expand($)},$.isExpanded=function($){return 1===this._expandMap[$._id]},$.expand=function($){var z=this._loader;this.isExpanded($)||(z&&!z.isLoaded($)&&z.load($),this._expandMap[$._id]=1,this.ivm(),this.onExpanded($))},$.onExpanded=function($){},$.collapse=function($){this.isExpanded($)&&(delete this._expandMap[$._id],this.ivm(),this.onCollapsed($))},$.onCollapsed=function($){},$.expandAll=function($){var z;$?(this.expand($),$.eachChild(function($){this.expandAll($)},this)):((z=this)._dataModel.each(function($){$.hasChildren()&&(z._expandMap[$._id]=1)}),z.ivm())},$.collapseAll=function(){this._expandMap={},this.ivm()},$.makeVisible=function($){if($&&(!this._rootData||$.isDescendantOf(this._rootData))){for(var z=$._parent;z;)this.expand(z),z=z._parent;this._23I=$,this.iv()}},$.checkData=function($){var z,C=this._checkMode,o=this.sm(),M=o.co($);if(!o.sg()||!M){if(this._32o=1,C===vt)M?o.rs($):o.as($);else if(C===hf)(z=new L($)).addAll($._children);else if("descendant"===C)z=new L,$e($,z);else if("all"===C&&(z=new L,$e($,z),!M))for(var A=$._parent;A;)z.add(A),A=A._parent;z&&(M?o.rs(z):o.as(z)),delete this._32o}},$.drawTree=function($,z,C,o,M,A,N){var s=this,g=s._indent,Y=s._levelMap[z._id],v=s.getIconWidth(z),O=j(s.getToggleIcon(z));O?(G3($,O,(o+=g*Y)+g/2,M+N/2,z,s),o+=g):o+=g*(Y+1),s._checkMode&&(G3($,s.getCheckIcon(z),o+g/2,M+N/2,z,s),o+=g),s.drawIcon($,z,o,M,v,N),s.drawLabel($,z,o+v,M,N)}},y3._14Q=function($,z){$.getIcon=function($){return $.getIcon()},$.getIconWidth=function($){return this.getIcon($)?this._indent:0},$._iconStretch=zh,$.getIconStretch=function($){return this._iconStretch},$.setIconStretch=function($){var z=this._iconStretch;this._iconStretch=$,this.fp("iconStretch",z,$)},$.drawIcon=function($,z,C,o,M,A){var N,s,g;M&&(N=this.getBodyColor(z),(s=j(this.getIcon(z),N))&&((g=this.getIconStretch(z))==fd&&(g=zh),A-=this.isRowLineVisible()?1:0,E3($,s,g,C,o,M,A,z,this,N),ex($,this.getBorderColor(z),C,o,M,A)))},$.drawLabel=function($,z,C,o,M){r3($,this.getLabel(z),this.getLabelFont(z),this.getLabelColor(z),C,o,0,M)}},y3._50o=function($,z){$._98I=function(){var $=this._39o=new mK;this._60I=new L,$.mm(this._17o,this),$.md(this._18o,this),$.mh(this._19o,this)},$.setColumns=function($){this._39o.clear(),this.addColumns($)},$.addColumns=function($){var C=this._39o;$.forEach(function($){var z;$ instanceof Ne||(z=L3($.className),$=h3(z||Ne,$)),C.add($)})},$.onColumnClicked=function($){},$.onCheckColumnClicked=function($){},$._3Q=function($){for(var z,C=0,o=this._60I,M=o.size();C<M;C++)if((z=o.get(C)).column===$)return z;return fd},$.getColumnAt=function($){return($=this._4Q($))?$.column:fd},$._4Q=function($){for(var z=($.target?this.lp($):$).x,C=this._60I,o=0;o<C.size();o++){var M=C.get(o),A=M.startX;if(A<=z&&z<A+M.column.getWidth())return M}return fd},$.getToolTip=function($){var z=this.getDataAt($),$=this.getColumnAt($);return z&&$?$.getToolTip(z,this):fd},$.adjustTranslateX=function($){var z=this.getWidth()-this._91I;return 0<($=$<z?z:$)?0:hd($)},$._99I=function(){var C=this,o=C._29I,M=C._60I;M.empty(),C._91I=0,C._39o._roots.each(function($){var z;$.isVisible()&&(z=C._91I+$.getWidth(),C._91I<=o.x+o.width&&z>=o.x&&M.add({column:$,startX:C._91I}),C._91I=z)})},$.drawData=function(o,M,A){var N=this,s=N._rowHeight,g=s*A,Y=N.isSelected(M),$=(z=N._29I).x,z=z.width;N.drawRowBackground(o,M,Y,$,g,z,s),N._60I.each(function($){var z=$.column,$=$.startX,C=z.getWidth();0<C&&!N.isEditing(M,z)&&(o.save(),o.beginPath(),o.rect($,g,C,s),o.clip(),N._87o(N.drawCell(o,M,Y,z,$,g,C,s),A,$,g,C,s),N._columnLineVisible&&Xx(o,$+C-1,g,1,s,N._columnLineColor),o.restore())}),N._rowLineVisible&&Xx(o,$,g+s-1,z,1,N._rowLineColor)},$.drawCell=function($,z,C,o,M,A,N,s){if(o.drawCell)return o.drawCell($,z,C,o,M,A,N,s,this);C=this.getValue(z,o),ze($,C,o,this.getLabelFont(z,o,C),this.getLabelColor(z,o,C),M,A,N,s,z,this)},$.getColumnModel=function(){return this._39o},$._17o=function($){this.redraw()},$._18o=function($){$.data===this._sortColumn&&qC[$.property]?this.ivm():(this._42o(),this.redraw())},$._19o=function($){this.redraw()},$.getCurrentSortFunc=function(){var C,o,M=this,A=M._sortColumn;return A&&A.isSortable()?(o=A.getSortFunc(),C=uf===A.getSortOrder()?1:-1,o=o||j3,function($,z){return o.call(M,M.getValue($,A),M.getValue(z,A),$,z)*C}):M._sortFunc},$.isCellEditable=function($,z,C){return!(!z.isEditable()||!this.isEditable())&&(!z.isCellEditable||z.isCellEditable($,z,C,this))},$._37O=function($,z){if($_(z))for(var C=this,o=C.lp(z),M=C._60I,A=C._rowHeight,N=C._29I,s=N.x,g=N.y,Y=N.width,v=N.height,O=0;O<M.size();O++){var t,c,y=M.get(O),_=y.startX,P=(y=y.column).getWidth();if(y!==C._31o&&y!==C._4o&&o.x>=_&&o.x<_+P&&C.isCellEditable($,y,z))return P={x:(_={x:_,y:C.getRowIndex($)*A,width:P,height:A}).x+C.tx(),y:_.y+C.ty(),width:_.width,height:_.height},c=t=0,_.x<s?t=_.x-s:s+Y<_.x+_.width&&(t=_.x+_.width-s-Y),t&&(C.tx(C.tx()-t),P.x-=t),_.y<g?c=_.y-g:g+v<_.y+A&&(c=_.y+A-g-v),c&&(C.ty(C.ty()-c),P.y-=c),void C.beginEditing({data:$,column:y,value:C.getValue($,y),event:z,rect:_,editorRect:P,view:C})}}},Me.BaseItemEditor=function($,z,C,o){this._data=$,this._column=z,this._master=C,this._editInfo=o},C("BaseItemEditor",Jd,{ms_ac:["data","column","master","editInfo"],editBeginning:function(){},getView:function(){},getValue:function(){},setValue:function(){}}),U.Tab=function(){Ev(Ae,this)}),Ne=(D_("Tab",hK,{ms_ac:["view","closable","disabled","visible"],_icon:fd,_closable:!1,_disabled:!1,_visible:!0,setParent:sv}),U.Column=function(){Ev(Ne,this)}),se=(D_("Column",hK,{_46o:1,ms_ac:["accessType","valueType",vf,xf,pf,ht,"align",sh,"sortOrder",kf,"sortable","clickable","nullable","emptiable","slider","colorPicker","itemEditor"],_visible:!0,_width:80,_sortOrder:uf,_sortFunc:fd,_sortable:!0,_clickable:!0,setWidth:function($){var z=this._width;this._width=$=$<16?16:$,this.fp(ht,z,$)},getToolTip:function($,z){return this.formatValue(z.getValue($,this))}}),U.Property=function(){Ev(se,this)}),ge=(D_("Property",hK,{_46o:1,ms_ac:["accessType","valueType",xf,pf,"categoryName",sh,"align","nullable","emptiable","slider","itemEditor","colorPicker"],_categoryName:fd,getToolTip:function($,z,C){return z?this.formatValue(C.getValue($,this)):C.getPropertyName(this)}}),Me.AccordionView=function(){this._20o={},this._21o=new L,this._10o=fd,this._9o=fd,this._11o=fd,this._view=AX(0,this),this.iv()},C("AccordionView",Jd,{ms_v:1,ms_fire:1,ms_ac:[ef,Df,"titleHeight",zf,$f,"titleBackground","selectWidth",rd,"orientation","separatorColor"],_expandIcon:Qd.accordionViewExpandIcon,_collapseIcon:Qd.accordionViewCollapseIcon,_titleHeight:a3,_labelColor:Qd.accordionViewLabelColor,_labelFont:Qd.accordionViewLabelFont,_titleBackground:Qd.accordionViewTitleBackground,_selectBackground:Qd.accordionViewSelectBackground,_selectWidth:Qd.accordionViewSelectWidth,_orientation:"v",_separatorColor:Qd.accordionViewSeparatorColor,onPropertyChanged:function($){this.iv()},getView:function(){return this._view},getTitles:function(){return this._21o},getCurrentTitle:function(){return this._10o},add:function(z,$,C,o){var M=this,A=NX(),$={content:$,div:A,canvas:sX(A),icon:o};if(M._20o[z])throw z+" already exists";var N=$.downEventFunc=function($){m3($)},s=$.upEventFunc=function($){m3($),$_($)&&(M._10o===z?M.collapse():M.expand(z))};[Xh,yh].forEach(function($){Rd(A,$,N)}),[lh,Ph].forEach(function($){Rd(A,$,s)}),A.style.cursor=th,OX(M._view,A),M._20o[z]=$,M._21o.add(z),C&&M.expand(z),M.iv()},remove:function($){var z,C=this._20o[$];C&&(z=C.div,J_(z),[Xh,yh].forEach(function($){Id(z,$,C.downEventFunc)}),[lh,Ph].forEach(function($){Id(z,$,C.upEventFunc)}),delete this._20o[$],this._21o.remove($),this.iv())},clear:function(){this._21o.toArray().forEach(this.remove,this),this._20o={},this._21o.empty(),this.iv()},isExpanded:function($){return this._10o===$},expand:function($){this._20o[$]&&this._10o!==$&&(this._10o=$,this.onExpanded($),this.iv())},onExpanded:function($){},collapse:function(){this._10o&&(this.onCollapsed(this._10o),delete this._10o,this.iv())},onCollapsed:function($){},initCanvas:function($,z,C){return vX($,z,C),$=KX($),fX($,0,0,1),$.clearRect(0,0,z,C),$},drawTitle:function($,z,C,o,M){var A=this,M=j(M.icon),N=A.isExpanded(z),s=A._titleHeight,g=A._titleBackground,Y=A._selectWidth,v=A._separatorColor,O=j(N?A._expandIcon:A._collapseIcon),t=Y+4;Xx($,0,0,C,o,g),N&&Y&&Xx($,0,0,Y,o,A._selectBackground),!N&&A._21o.get(A._21o.size()-1)===z||Xx($,0,o-1,C,1,v||q3(g)),M&&(G3($,M,t+vK(M)/2,s/2),t+=vK(M)+2),r3($,z,A.getLabelFont(z),A.getLabelColor(z),t,0,0,s),O&&G3($,O,C-vK(O)/2-4,s/2)},validateImpl:function(){var N=this,$=N._view,s=0,g=0,Y=N.getWidth(),v=N.getHeight(),O=N._titleHeight,t=N._21o.size()*O,z=N._11o,C=N._9o,o=(delete N._11o,delete N._9o,N._21o.each(function($){var z,C,o=N._20o[$],M=o.content,A=N._10o===$;Kv(N)?(pX(o.div,s,0,O,v),z=N.initCanvas(o.canvas,O,v),QX(z,0,v),WX(z,-Fd),N.drawTitle(z,$,v,O,o),z.restore(),A?(C=Cd(0,Y-t),M&&(N._11o=M,N._9o=xX(M),pX(M,s+O,0,C,v)),s+=O+C):s+=O):(pX(o.div,0,g,Y,O),z=N.initCanvas(o.canvas,Y,O),N.drawTitle(z,$,Y,O,o),z.restore(),A?(C=Cd(0,v-t),M&&(N._11o=M,N._9o=xX(M),pX(M,0,g+O,Y,C)),g+=O+C):g+=O)}),N._9o);z&&z!==N._11o&&z.endEditing&&z.endEditing(),o&&o!==C&&OX($,o),C&&C!==o&&J_(C)}}),Me.SplitView=function($,z,C,o){var M=this,A=M._dividerDiv=NX(),N=M._60O=sX(),s=M._61O=sX(),N=N.style,s=s.style;M._view=AX(1,M),OX(M._view,A),N.msTouchAction=ch,N.pointerEvents=ch,N.cursor=th,s.msTouchAction=ch,s.pointerEvents=ch,s.cursor=th,$&&M.setLeftView($),z&&M.setRightView(z),C&&M.setOrientation(C),o!=fd&&M.setPosition(o),M.setStatus(nt),new ge(M)},C("SplitView",Jd,{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:Qd.splitViewDividerSize,_dividerBackground:Qd.splitViewDividerBackground,_dragOpacity:Qd.splitViewDragOpacity,_toggleIcon:Qd.splitViewToggleIcon,onPropertyChanged:function($){this.iv()},getDividerDiv:function(){return this._dividerDiv},getPosition:function(){return this._position},setPosition:function($,z){var C=this._position;isNaN($)||(z||(this._82O=$<0?-1:1<$?1:0),this._position=$,this.fp(Rf,C,$))},getLeftView:function(){return this._leftView},setLeftView:function($){var z,C=this._leftView,o=this._view;this._leftView!==$&&(C&&C!==this._rightView&&(z=xX(C)).parentNode===o&&J_(z),(this._leftView=$)&&(z=xX($)).parentNode!==o&&o.insertBefore(z,this._dividerDiv),this.fp("leftView",C,$))},getRightView:function(){return this._rightView},setRightView:function($){var z,C=this._rightView,o=this._view;this._rightView!==$&&(C&&C!==this._leftView&&(z=xX(C)).parentNode===o&&J_(z),(this._rightView=$)&&(z=xX($)).parentNode!==o&&o.insertBefore(z,this._dividerDiv),this.fp("rightView",C,$))},validateImpl:function(){var $,z,C,o,M=this,A=M._draggable,N=M._position,s=M.getWidth(),g=M.getHeight(),Y=M._dividerSize,v=M._dividerBackground,O=Yt?18:8,t=M._dividerDiv,c=M._82O,y=M._60O,_=M._61O,P=M._toggleIcon,Z=M._status,X=t.style,d=null,l=Yt?20:4,J=P.comps[0],K=(O<=Y||0===Y?M._coverDiv&&(J_(M._coverDiv),delete M._coverDiv):M._coverDiv||(M._coverDiv=NX(),Mt&&(M._coverDiv.style.background=oh),OX(t,M._coverDiv)),M._togglable?y.parentNode||(OX(t,y),OX(t,_)):(J_(y),J_(_)),M._coverDiv),f=M._leftView,Q=M._rightView;Kv(M)?(s<Y&&(Y=s),Z===nt?1===c?(o=od(N,s),C=Cd(0,s-Y-o)):-1===c?(C=od(-N,s),o=Cd(0,s-Y-C)):(o=hd((s-Y)*N),C=Cd(0,s-Y-o)):"cl"===Z?C=Cd(o=0,s-Y):"cr"===Z&&(o=Cd(C=0,s-Y)),f&&pX(f,0,0,o,g),Q&&pX(Q,o+Y,0,C,g),pX(t,o,0,Y,g),M._22o=o,K&&(pX(K,Y/2-O/2,0,O,g),K.style.cursor=A?vh:""),t.style.cursor=A?vh:"",C=t.clientHeight/2,o=t.clientWidth,vX(y,o,o),pX(y,0,C-o-l,o,o),d=KX(y),fX(d,0,0,1),J.rotation=-Fd,tK(d,P,0,0,o,o),d.restore(),vX(_,o,o),pX(_,0,C+l,o,o),d=KX(_),fX(d,0,0,1),J.rotation=Fd):(g<Y&&(Y=g),Z===nt?1===c?($=od(N,g),z=Cd(0,g-Y-$)):-1===c?(z=od(-N,g),$=Cd(0,g-Y-z)):($=hd((g-Y)*N),z=Cd(0,g-Y-$)):"cl"===Z?z=Cd($=0,g-Y):"cr"===Z&&($=Cd(z=0,g-Y)),f&&pX(f,0,0,s,$),Q&&pX(Q,0,$+Y,s,z),pX(t,0,$,s,Y),M._22o=$,K&&(pX(K,0,Y/2-O/2,s,O),K.style.cursor=A?Oh:""),X.cursor=A?Oh:"",C=t.clientWidth/2,o=t.clientHeight,vX(y,o,o),pX(y,C-o-l,0,o,o),d=KX(y),fX(d,0,0,1),J.rotation=0,tK(d,P,0,0,o,o),d.restore(),vX(_,o,o),pX(_,C+l,0,o,o),d=KX(_),fX(d,0,0,1),J.rotation=x),tK(d,P,0,0,o,o),d.restore(),X.background=v}}),function($){this.sv=$,this.addListeners()}),Ye=(V_(ge,Jd,{ms_listener:1,getView:function(){return this.sv.getView()},handle_touchstart:function($){var z=this.sv,C=z._dividerDiv,o=z._60O,M=z._61O,A=z._status,N=$.target;N===o?A===nt?z.setStatus("cl"):"cr"===A&&z.setStatus(nt):N===M?A===nt?z.setStatus("cr"):"cl"===A&&z.setStatus(nt):!GX($)||N!==C&&N!==z._coverDiv||(m3($),z.isDraggable()&&(z.getLeftView(),z.getRightView(),(o=this.maskDiv=NX()).style.left=0,o.style.top=0,o.style.width=z.getWidth()+"px",o.style.height=z.getHeight()+"px",z.getView().appendChild(o),z.isContinuousLayout()||((M=this.resizeDiv=NX()).style.left=C.style.left,M.style.top=C.style.top,M.style.width=C.style.width,M.style.height=C.style.height,M.style.opacity=z.getDragOpacity(),M.style.background=z.getDividerBackground(),OX(this.getView(),M)),this._lastAbsPosition=z._22o,this._86o=Kv(z)?s_($).x:s_($).y,l_(this,$)))},handleWindowTouchMove:function($){GX($)&&this.update($,this.sv.isContinuousLayout())},handleWindowTouchEnd:function($){this.update($,!0),this.sv.setStatus(nt),this.maskDiv&&J_(this.maskDiv),this.resizeDiv&&J_(this.resizeDiv),this.maskDiv=this.resizeDiv=fd},handle_mousedown:function($){$_($)&&this.handle_touchstart($)},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},update:function($,z){var C=this.sv,o=Kv(C)?C.getWidth():C.getHeight(),M=C._dividerSize,A=this._lastAbsPosition-this._86o;Kv(C)?((A=o-M<(A+=s_($).x)?o-M:A)<0&&(A=0),this.resizeDiv&&(this.resizeDiv.style.left=A+Vt)):((A=o-M<(A+=s_($).y)?o-M:A)<0&&(A=0),this.resizeDiv&&(this.resizeDiv.style.top=A+Vt)),z&&o!==M&&(1===C._82O?C.setPosition(A,1):-1===C._82O?C.setPosition(A-o+M,1):C.setPosition(A/(o-M),1))}}),Me.TabView=function(){var $=this,z=$._view=AX(1,$),C=$._91O=NX(1),o=$._tabModel=new mK,M=o.sm(),A=$.invalidate;$._7o=new L,$._canvas=sX(C),OX(z,C),OX(z,$._92O=NX(1)),M.setSelectionMode(Ot),M.ms($.handleSelectionChange,$),o.mm(A,$),o.mh(A,$),o.md(A,$),$._interactor=new Ye($),$.iv()},C("TabView",Jd,{ms_v:1,ms_fire:1,ms_tx:1,ms_ty:1,ms_lp:1,ms_ac:["movable","tabGap","tabHeight","tabPosition",zf,$f,"tabHPadding","tabBackground","selectWidth",rd,"moveBackground","insertColor"],_tabHPadding:0,_tabPosition:Zt,_tabHeight:a3,_tabGap:Qd.tabViewTabGap,_labelColor:Qd.tabViewLabelColor,_labelFont:Qd.tabViewLabelFont,_tabBackground:Qd.tabViewTabBackground,_selectWidth:Qd.tabViewSelectWidth,_selectBackground:Qd.tabViewSelectBackground,_moveBackground:Qd.tabViewMoveBackground,_insertColor:Qd.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($,z,C){var o,M=this._tabModel;return $ instanceof Ae?(o=$,z&&o.setView(z)):((o=new Ae).setName($),o.setView(z)),M.add(o),C&&M.sm().ss(o),o},getLabel:function($){return $.toLabel()},onPropertyChanged:function($){this.iv()},_7Q:function($){this._23o=$,this.iv()},get:function(z){var C,o=this,$=o._tabModel;return Vv(z)?$._roots.get(z):Vd(z)?($.each(function($){z===o.getLabel($)&&(C=$)}),C):z instanceof Ae?z:fd},select:function($){this._tabModel.sm().ss(this.get($))},remove:function($){var z;($=this.get($))&&(z=this._tabModel._roots.indexOf($),this._tabModel.remove($),this.selectByIndex(--z))},getCurrentTab:function(){return this._8o},hideTabView:function($,z){z.parentNode===this._92O&&(nv(z)||Rv(z)?(z.style.display=Wt,z._tab_=$):J_(z),J3())},showTabView:function($,z){(nv(z)||Rv(z))&&(z.style.display="block",z._tab_=$),z.parentNode!==this._92O&&(OX(this._92O,z),J3())},_24o:function(){var $,z=this._8o,C=this._9o,o=this._tabModel.sm().ld();($=o?xX(o.getView()):$)!==C&&(C&&(z.getView()&&z.getView().endEditing&&z.getView().endEditing(),this.hideTabView(z,C)),$&&this.showTabView(o,$)),this._8o=o,this._9o=$,z!==o&&this.onTabChanged(z,o)},onTabClosing:function($){return!0},onTabChanged:function($,z){},onTabClosed:function($,z){this.selectByIndex(--z)},selectByIndex:function($){var z=this._tabModel,C=z.size();if(C&&!z.sm().ld()){for(var o=$=($=C<=($=$==fd?0:$)?C-1:$)<0?0:$;0<=o;o--){var M=this.get(o);if(!M.isDisabled())return this.select(M),M}for(o=$+1;o<C;o++)if(!(M=this.get(o)).isDisabled())return this.select(M),M}},getTabWidth:function($){var z=4+2*this.getTabHPadding(),C=j($.getIcon());return C&&(z+=vK(C,$)+4),(C=this.getLabel($))&&(z+=B3(this.getLabelFont($),C).width+4),$.isClosable()&&(z+=10),z},drawTab:function($,z,C,o,M,A,N){var s,g=this._tabPosition,Y=C+4+(d=this.getTabHPadding()),v=this._selectWidth,O=j(z.getIcon()),t=z.isDisabled(),c=this.getLabelColor(z),y=this.getLabelFont(z),_=this.getLabel(z),P=this._selectBackground,Z=g===_t+"-vertical",X=g===Pt+"-vertical",d=((Z||X)&&(Y=o+4+d),t&&($.globalAlpha=P3),Xx($,C,o,M,A,N),z===this._8o&&v&&(g===Zt?Xx($,C,o+A-v,M,v,P):g===_t?Xx($,C+M-v,o,v,A,P):g===Pt?Xx($,C,o,v,A,P):Z?Xx($,C+M-v,o,v,A,P):X?Xx($,C,o,v,A,P):Xx($,C,o,M,v,P)),M/2);return Z&&(QX($,d,o+A/2),WX($,x),QX($,-d,-o-A/2)),O&&(N=OK(O,z),g=vK(O,z),Z||X?(QX($,v=C+M/2,P=Y+N/2),WX($,Fd),QX($,-v,-P),G3($,O,C+M/2,Y+N/2,z,this),QX($,v,P),WX($,-Fd),QX($,-v,-P),Y+=N+4):(G3($,O,Y+g/2,o+A/2,z,this),Y+=g+4)),Z||X?(QX($,M/2,Y+M/2),WX($,Fd),QX($,-M/2,-Y-M/2),r3($,_,y,c,C,Y,A,M),QX($,M/2,Y+M/2),WX($,-Fd),QX($,-M/2,-Y-M/2)):r3($,_,y,c,Y,o,M,A),Z&&(QX($,d,o+A/2),WX($,-x),QX($,-d,-o-A/2)),z.isClosable()&&this.drawCloseIcon(z,$,c,s=X?{x:C+M-12,y:o+A-12,width:12,height:12}:{x:C+M-12,y:o+2,width:12,height:12}),t&&($.globalAlpha=1),s},drawCloseIcon:function($,z,C,o){var M=o.x,o=o.y;z.strokeStyle=C,z.lineWidth=1,z.beginPath(),z.moveTo(M+2,o+8),z.lineTo(M+8,o+2),z.moveTo(M+8,o+8),z.lineTo(M+2,o+2),z.stroke()},getTabAt:function($){return($=this._interactor._8Q($))?$.tab:null},validateImpl:function(){var o=this,$=(o._24o(),o._canvas),z=o._tabPosition,C=o._91O,M=o._92O,A=o._tabModel,N=o.getWidth(),s=o.getHeight(),g=o._tabHeight,Y=o._7o,v=o._tabGap,O=z===Zt,t=z===_t,c=z===Pt,y=z===_t+"-vertical",z=z===Pt+"-vertical",_=o._23o,P=0;if((t||c)&&A._roots.each(function($){P=Cd(o.getTabWidth($),P)}),O=O?(pX(C,0,0,N,g),{x:0,y:g,width:N,height:Cd(0,s-g)}):t?(pX(C,0,0,P,s),{x:P,y:0,width:Cd(0,N-P),height:s}):c?(pX(C,N-P,0,P,s),{x:0,y:0,width:Cd(0,N-P),height:s}):y?(pX(C,0,0,g,s),{x:g,y:0,width:Cd(0,N-g),height:s}):z?(pX(C,N-g,0,g,s),{x:0,y:0,width:Cd(0,N-g),height:s}):(pX(C,0,s-g,N,g),{x:0,y:0,width:N,height:Cd(0,s-g)}),pX(M,O),y||z){o._9o&&(O.x=0,pX(o._8o.getView(),O)),vX($,g,s);var Z=KX($),X=0;if(fX(Z,0,o.ty(),1),Z.clearRect(0,0,g,s),Y.empty(),A._roots.each(function($){var z,C;$.isVisible()&&(z=o.getTabWidth($),_&&_.tab===$||(C=o.getTabBackground($),C=o.drawTab(Z,$,0,X,g,z,C)),Y.add({_75o:C,tab:$,startY:X,endY:X+z,height:z}),X+=z+v)}),o._23Q=Cd(0,X-v),_&&(J=_.position,o.drawTab(Z,_.tab,0,_.startY,g,_.height,o._moveBackground),Xx(Z,0,J,g,1,o._insertColor)),Z.restore(),o._selectionChanged){o._selectionChanged=!1;for(var d=o.ty(),l=0;l<Y.size();l++)if((f=Y.get(l)).tab===o._8o){if(f.endY+d<0){o.ty(-f.startY);break}if(f.startY+d>s){o.ty(s-f.endY);break}}}o.ty(o.ty())}else if(t||c){if(o._9o&&(O.x=0,pX(o._8o.getView(),O)),vX($,P,s),Z=KX($),fX(Z,X=0,o.ty(),1),Z.clearRect(0,0,P,s),Y.empty(),A._roots.each(function($){var z;$.isVisible()&&(_&&_.tab===$||(z=o.getTabBackground($),z=o.drawTab(Z,$,0,X,P,g,z)),Y.add({_75o:z,tab:$,startY:X,endY:X+g,height:g}),X+=g+v)}),o._23Q=Cd(0,X-v),_&&(J=_.position,o.drawTab(Z,_.tab,0,_.startY,P,_.height,o._moveBackground),Xx(Z,0,J,P,1,o._insertColor)),Z.restore(),o._selectionChanged)for(o._selectionChanged=!1,d=o.ty(),l=0;l<Y.size();l++)if((f=Y.get(l)).tab===o._8o){if(f.endY+d<0){o.ty(-f.startY);break}if(f.startY+d>s){o.ty(s-f.endY);break}}o.ty(o.ty())}else{o._9o&&(O.y=0,pX(o._8o.getView(),O)),vX($,N,g);var J,Z=KX($),K=0;if(fX(Z,o.tx(),0,1),Z.clearRect(0,0,N,g),Y.empty(),A._roots.each(function($){var z,C;$.isVisible()&&(z=o.getTabWidth($),_&&_.tab===$||(C=o.getTabBackground($),C=o.drawTab(Z,$,K,0,z,g,C)),Y.add({_75o:C,tab:$,startX:K,endX:K+z,width:z}),K+=z+v)}),o._64I=Cd(0,K-v),_&&(J=_.position,o.drawTab(Z,_.tab,_.startX,0,_.width,g,o._moveBackground),Bv(Z,o._insertColor,J,0,g)),Z.restore(),o._selectionChanged){o._selectionChanged=!1;for(var f,Q=o.tx(),l=0;l<Y.size();l++)if((f=Y.get(l)).tab===o._8o){if(f.endX+Q<0){o.tx(-f.startX);break}if(f.startX+Q>N){o.tx(N-f.endX);break}}}o.tx(o.tx())}for(var W=[],V=M.children,l=0;l<V.length;l++){var e=V[l],D=e._tab_;D&&!A.contains(D)&&W.push(e)}W.forEach(function($){M.removeChild($)})}}),function($){this.tv=$,this.addListeners()}),ve=(V_(Ye,Jd,{ms_listener:1,getView:function(){return this.tv._91O},handle_mousewheel:function($){this.handleScroll($,$.wheelDelta/40*10)},handle_DOMMouseScroll:function($){this.handleScroll($,10*-$.detail)},handleScroll:function($,z){m3($);var C=($=this.tv)._tabPosition;!$._40o()||C!==Zt&&C!==Xt||$.tx(this.tv.tx()+z),!$._41o()||C!==_t&&C!==Pt&&C!==_t+"-vertical"&&C!==Pt+"-vertical"||$.ty(this.tv.ty()+z)},_8Q:function($){var z,C=this.tv,o=C._tabPosition,M=C._7o;if(o===Zt||o===Xt){for(var A=C.lp($).x,N=0;N<M.size();N++)if((z=M.get(N)).startX<=A&&A<=z.endX)return z}else if(o===_t||o===Pt||o===_t+"-vertical"||o===Pt+"-vertical")for(var s=C.lp($).y,N=0;N<M.size();N++)if((z=M.get(N)).startY<=s&&s<=z.endY)return z;return fd},isClickable:function($){var z=this.tv,C=z._tabPosition,$=this._73o=this._8Q($);return!(!z._40o()||C!==Zt&&C!==Xt)||!(!z._41o()||C!==_t&&C!==Pt&&C!==_t+"-vertical"&&C!==Pt+"-vertical")||$&&(!$.tab.isDisabled()||z.isMovable())},handle_mousemove:function($){RX?this._74o=this._8Q($):this.getView().style.cursor=this.isClickable($)?th:""},handle_mousedown:function($){this.handle_mousemove($),this.handle_touchstart($)},handle_touchstart:function($){var z=this.tv,C=z._tabPosition;m3($),$_($)&&this.isClickable($)&&(C===Zt||C===Xt?(this.x=s_($).x,this.lp=z.lp($),this.tx=z.tx()):(this.y=s_($).y,this.lp=z.lp($),this.ty=z.ty()),l_(this,$))},handle_mouseup:function($){this.handle_touchend($)},handle_touchend:function($){var z,C,o;z_($)&&($=this._73o)&&(z=this.tv,C=z.getTabModel(),!(o=$.tab).isDisabled()&&o.isClosable()&&z.onTabClosing(o,$=function(){var $=C._roots.indexOf(o);C.remove(o),z.onTabClosed(o,$)})&&$())},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){var o,M,A,N,z=this,s=z.tv,C=s._tabPosition,g=z._73o;C===Zt||C===Xt?(M=s_($).x-z.x,!z._25o&&!z.moving&&2<I(M)&&(s._40o()&&!N_($)?z._25o=1:g&&s.isMovable()&&(z.moving=1)),z._25o?s.tx(z.tx+M):z.moving&&(o=z.lp.x+M,N=s._tabGap/2,s._7o.each(function($){var z=$.endX,C=o-$.startX<z-o;o>=$.startX&&o<=z&&s._7Q({tab:g.tab,startX:g.startX+M,width:g.width,front:C,insertTab:$.tab,position:C?Cd(0,$.startX-N):od(s._64I,z+N)})}))):(M=s_($).y-z.y,!z._25o&&!z.moving&&2<I(M)&&(s._41o()&&!N_($)?z._25o=1:g&&s.isMovable()&&(z.moving=1)),z._25o?s.ty(z.ty+M):z.moving&&(A=z.lp.y+M,N=s._tabGap/2,s._7o.each(function($){var z=$.endY,C=A-$.startY<z-A;A>=$.startY&&A<=z&&s._7Q({tab:g.tab,startY:g.startY+M,height:g.height,front:C,insertTab:$.tab,position:C?Cd(0,$.startY-N):od(s._23Q,z+N)})})))},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},handleWindowTouchEnd:function($){var z,C,o,M,A=this,N=A.tv,s=N._tabPosition,g=N.getTabModel(),Y=g._roots,v=A._73o;A.moving?((o=N._23o)&&o.insertTab!==o.tab&&(C=o.tab,M=Y.remove(C),0<=(z=Y.indexOf(o.insertTab))&&(o.front||z++,z<=Y.size()&&(Y.add(C,z),g._38I(C,M,z)))),N._7Q(fd),delete A.moving):!A._25o&&v&&(C=v.tab,(o=A._74o)&&o.tab!==C||(!C.isDisabled()&&t_(v._75o,A.lp)?N.onTabClosing(C,M=function(){var $=Y.indexOf(C);g.remove(C),N.onTabClosed(C,$)})&&M():C.isDisabled()||N._8o===C||g.sm().ss(C))),A._25o=A._73o=A._74o=s===Zt||s===Xt?A.x=A.lp=A.tx=fd:A.y=A.lp=A.ty=fd}}),Me.PropertyView=function($){var z=this,C=(z._view=AX(1,z),z._canvas=sX(z._view),OX(z._view,z._79O=NX()),z._rows=new L,z._28o=new L,z._26o={},z._26Q={},z._propertyModel=new mK),o=z.ivm;C.mm(o,z),C.md(o,z),C.mh(o,z),z.dm($||new mK),new ve(z)},C("PropertyView",Jd,{ms_ac:[zf,Cf,$f,xf,pf,"categorizable",lf,kf,Vf,ef,Df,Xf,df,Zf,"selectRowIndex",rd,"background",Jf,Wf,ff,Qf,Kf],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:Yv,_59I:0,_9I:0,_selectRowIndex:-1,_editable:!0,_batchEditable:!0,_categorizable:!0,_indent:e3,_background:Qd.propertyViewBackground,_expandIcon:Qd.propertyViewExpandIcon,_collapseIcon:Qd.propertyViewCollapseIcon,_scrollBarColor:V,_scrollBarSize:mh,_autoHideScrollBar:Td,_selectBackground:Qd.propertyViewSelectBackground,_rowHeight:Ar,_rowLineVisible:Qd.propertyViewRowLineVisible,_rowLineColor:Qd.propertyViewRowLineColor,_10I:.5,_columnLineVisible:Qd.propertyViewColumnLineVisible,_columnLineColor:Qd.propertyViewColumnLineColor,_labelColor:Qd.propertyViewLabelColor,_labelSelectColor:Qd.propertyViewLabelSelectColor,_labelFont:Qd.propertyViewLabelFont,getRows:function(){return this._rows},getColumnPosition:function(){return this._10I},setColumnPosition:function($){var z=this._10I;this._10I=$=1<($=$<0?0:$)?1:$,this.fp("columnPosition",z,$)},getPropertyName:function($){return $.toLabel()},getLabelFont:function($,z,C){return this._labelFont},getLabelColor:function($,z,C){return C===this._selectRowIndex?this._labelSelectColor:this._labelColor},getPropertyFont:function($,z){return this._labelFont},getPropertyColor:function($,z){return z===this._selectRowIndex?this._labelSelectColor:$.getColor()||this._labelColor},getCategoryFont:function($){return this._labelFont},getCategoryColor:function($){return this._labelColor},adjustTranslateX:function($){return 0},adjustTranslateY:function($){var z=this.getHeight()-this._59I;return 0<($=$<z?z:$)?0:hd($)},isExpanded:function($){if(!$)return!0;var z=this._26o[$];return z?z.isExpanded:!(!1===this._26Q[$])},toggle:function($){this.isExpanded($)?this.collapse($):this.expand($)},expandAll:function(){for(var $ in this.validate(),this._26o)this.expand($)},expand:function($){var z;$&&$!==Wt&&(z=this._26o[$])&&!z.isExpanded&&(z.isExpanded=!0,this.onExpanded($),this.ivm())},onExpanded:function($){},collapseAll:function(){for(var $ in this.validate(),this._26o)this.collapse($)},collapse:function($){var z;$&&$!==Wt&&(z=this._26o[$])&&z.isExpanded&&(z.isExpanded=!1,this.onCollapsed($),this.ivm())},onCollapsed:function($){},getCategoryName:function($){return this.isCategorizable()&&($=$.getCategoryName())||Wt},getPropertyModel:function(){return this._propertyModel},handleSelectionChange:function(){this.ivm()},setDataModel:function($){var z=this,C=z._dataModel;C!==$&&(C&&(C.umd(z.handlePropertyChange,z),z._selectionModel||C.sm().ums(z.handleSelectionChange,z)),(z._dataModel=$).md(z.handlePropertyChange,z),z._selectionModel?z._selectionModel._21I($):$.sm().ms(z.handleSelectionChange,z),z.fp(Gf,C,$))},isVisible:function($){return!this._visibleFunc||this._visibleFunc($)},onPropertyChanged:function($){$=$.property,BC[$]?this.ivm():this.iv(),$===Sf&&this._43o()},getCurrentData:function(){return this._27o},updateCurrentData:function(){this._27o=this.sm().ld()},getRawProperties:function(){return this._27o?this._propertyModel._roots:nK},handlePropertyChange:function($){this._27o===$.data&&this.iv()},ivm:function(){this.invalidateModel()},invalidateModel:function(){this._96I||(this.setSelectRowIndex(-1),this._96I=1,this.iv())},redraw:function(){this.iv()},validateModel:function(){var $,o=this,M=o._rows,z=o._28o,A={},N=new L,C=o._27o;for($ in o.updateCurrentData(),C!==o._27o&&o.endEditing(),M.empty(),z.empty(),o.getRawProperties().each(function($){o.isVisible($)&&(N.add($),$=o.getCategoryName($),A[$]||(z.add($,$===Wt?0:Kd),A[$]={isExpanded:o.isExpanded($),properties:new L}))}),o._sortFunc&&N.sort(o._sortFunc),o._26o)o._26Q[$]=o.isExpanded($);o._26o=A,z.each(function(z){z!==Wt&&M.add(z);var C=A[z];C.isExpanded&&N.each(function($){o.getCategoryName($)===z&&(C.properties.add($),M.add({property:$,data:o._27o}))},o)})},validateImpl:function(){var $=this,z=($._76o(),$._96I&&($.validateModel(),delete $._96I),$._canvas),C=$.getWidth(),o=$.getHeight(),M=-$.ty(),A=$._rowHeight,N=$._indent,s=C-N,g=$._rows,Y=g.size(),v=$._9I=N+s*$._10I,O=$._59I=Y*A,t=(vX(z,C,o),$._29I={x:0,y:M,width:C,height:o},$._31I=md(M/A),$._14I=Sd((M+o)/A),$._31I<0&&($._31I=0),$._14I>Y&&($._14I=Y),KX(z)),c=$._background;fX(t,0,-M,1),t.beginPath(),t.rect(0,M,C,o),t.clip(),t.clearRect(0,M,C,o),$._93db(t),c&&Xx(t,0,0,N,O,c);for(var y=$._31I;y<$._14I;y++){var _,P,Z,X,d=g.get(y),M=A*y;Vd(d)?(c&&Xx(t,N,M,s,A,c),(P=j($.isExpanded(d)?$._expandIcon:$._collapseIcon))&&E3(t,P,zh,0,M,N,A),t.save(),t.beginPath(),t.rect(N,M,s,A),t.clip(),$.drawCategoryName(t,d,y,N,M,s,A),t.restore()):(_=d.property,d=d.data,P=j(_.getIcon()),Z=$._selectRowIndex===y?$.getSelectBackground():fd,P&&E3(t,P,zh,0,M,N,A),Z&&Xx(t,N,M,s,A,Z),t.save(),t.beginPath(),t.rect(N,M,v-N,A),t.clip(),$.drawPropertyName(t,_,y,N,M,v-N,A),t.restore(),$.isEditing(d,_)||(Z=v+1,X=C-v-1,t.save(),t.beginPath(),t.rect(Z,M,X,A),t.clip(),$._87o($.drawPropertyValue(t,_,$.getValue(d,_),y,Z,M,X,A,d),y,Z,M,X,A),t.restore())),$._rowLineVisible&&Xx(t,N,M+A-1,s,1,$._rowLineColor)}$._columnLineVisible&&(Xx(t,v,0,1,O,$._columnLineColor),Xx(t,C-1,0,1,O)),$._92db(t),$._93I(),t.restore(),$.ty($.ty())},drawCategoryName:function($,z,C,o,M,A,N){r3($,z,this.getCategoryFont(z),this.getCategoryColor(z),o,M,A,N)},drawPropertyName:function($,z,C,o,M,A,N){z.drawPropertyName?z.drawPropertyName($,z,C,o,M,A,N,this):r3($,this.getPropertyName(z),this.getPropertyFont(z,C),this.getPropertyColor(z,C),o,M,A,N)},drawPropertyValue:function($,z,C,o,M,A,N,s,g){if(z.drawPropertyValue)return z.drawPropertyValue($,z,C,o,M,A,N,s,g,this);ze($,C,z,this.getLabelFont(z,C,o),this.getLabelColor(z,C,o),M,A,N,s,g,this)},isPropertyEditable:function($,z){return $.isEditable()&&this.isEditable()},setProperties:function($){this._propertyModel.clear(),this.addProperties($)},addProperties:function($){var C;$&&(C=this._propertyModel,$.forEach(function($){var z;$ instanceof se||(z=L3($.className),$=h3(z||se,$)),C.add($)}))},getRowIndexAt:function($){return 0<=($=md(this.lp($).y/this._rowHeight))&&$<this._rows.size()?$:-1},getPropertyAt:function($){return 0<=($=this.getRowIndexAt($))?this._rows.get($).property:fd},getToolTip:function($){var z=this.getPropertyAt($),C=this._27o;return z&&C?z.getToolTip(C,this._9I<this.lp($).x,this):fd}}),function($){this.pv=$,this.addListeners()}),Oe=(V_(ve,Jd,{ms_listener:1,getView:function(){return this.pv._view},setCursor:function($){this.getView().style.cursor=$},clear:function(){this._62O=this.cp=this.ty=this.p=fd,this.setCursor(vt)},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function($){var z=this.pv;m3($),z.setFocus($)&&($_($)?(this.cp=s_($),this.ty=z.ty(),this.p=z.getColumnPosition(),this.handle_touchmove($)):z.setSelectRowIndex(z.getRowIndexAt($)))},handleWindowMouseUp:function($){this.clear()},handleWindowTouchEnd:function($){this.clear()},handle_mouseup:function($){this.handle_touchend($)},handle_touchend:function($){var z,C,o,M,A,N,s,g,Y,v;this.cp&&!this._62O&&(Y=(g=(z=this.pv).lp($)).x,g=g.y,s=z._indent,C=z.getRowIndexAt($),o=z._9I,0<=C&&(v=(M=z._rowHeight)*C,N=(A=z._rows.get(C)).property,Vd(A)?(j(z.isExpanded(A)?z._expandIcon:z._collapseIcon)&&0<=Y&&Y<=s&&v<=g&&g<=v+M||M_($))&&z.toggle(A):o<Y&&z.isPropertyEditable(N,$)&&(g={x:(s={x:o+1,y:v,width:z.getWidth()-o-1,height:M}).x+z.tx(),y:s.y+z.ty(),width:s.width,height:s.height},Y=0,v=z._29I,s.y<v.y?Y=s.y-v.y:s.y+M>v.y+v.height&&(Y=s.y+M-v.y-v.height),Y&&(z.ty(z.ty()-Y),g.y-=Y),z.beginEditing({data:A.data,property:N,value:z.getValue(A.data,N),event:$,rect:s,editorRect:g,view:z}))),z.setSelectRowIndex(C)),this.clear()},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){var z,C,o=this.pv,M=this.ty,A=this.cp,$=s_($),N=this._62O;"p"===N?o.setTranslateY(M+$.y-A.y):"c"===N?16<(C=o.getWidth()-o._indent)&&(z=this.p-(A.x-$.x)/C,o.setColumnPosition(z=1-(C=16/C)<(z=z<C?C:z)?1-C:z)):"s"===N&&o.setTranslateY(M+(A.y-$.y)*o._59I/o._29I.height)},handle_mousemove:function($){this.handle_touchmove($)},handle_touchmove:function($){var z,C,o;!RX&&$_($)&&(C=(z=this).pv,o=I(C.lp($).x-C._9I)<=(Yt?8:3),z.cp?z._62O||(o?(z._62O="c",l_(z,$)):2<=I(s_($).y-z.cp.y)&&(z._62O=z.isV($)?"s":"p",l_(z,$))):(o?z.setCursor(vh):z.setCursor(vt),z.isV($)&&C._43o()))},isV:function($){var z=this.pv,C=z._29I;return z._41o()&&C.x+C.width-z.lp($).x<p3},handle_mousewheel:function($){this.handleScroll($,$.wheelDelta/40)},handle_DOMMouseScroll:function($){2===$.axis&&this.handleScroll($,-$.detail)},handleScroll:function($,z){var C=this.pv;m3($),C.endEditing(),C.translate(0,z*C.getRowHeight())},handle_keydown:function($){var z=this.pv,C=z._rows.size(),o=z._selectRowIndex+(qX($)?-1:1);(qX($)||rX($))&&z.setSelectRowIndex(o=C<=(o=o<0?0:o)?C-1:o)}}),Me.ListView=function($){this._5o($),new Oe(this)},C("ListView",Jd,{ms_ac:[zf,Cf,$f,Jf,lf,Wf,ff,kf,Vf,Xf,df,Zf,Pf,rd],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:e3,_rowHeight:Ar,_rowLineVisible:Qd.listViewRowLineVisible,_rowLineColor:Qd.listViewRowLineColor,_scrollBarColor:V,_scrollBarSize:mh,_autoMakeVisible:LA,_autoHideScrollBar:Td,_selectBackground:Qd.listViewSelectBackground,_labelColor:Qd.listViewLabelColor,_labelSelectColor:Qd.listViewLabelSelectColor,_labelFont:Qd.listViewLabelFont,isCheckMode:function(){return this._checkMode},setCheckMode:function($){var z=this._checkMode;this._checkMode=$,this.fp(af,z,$)},drawRow:function($,z,C,o,M,A,N){var s=0,g=this._indent,Y=this.getIconWidth(z);this.drawRowBackground($,z,C,o,M,A,N),this._checkMode&&(G3($,j(this.getCheckIcon(z)),s+g/2,M+N/2,z,this),s+=g),this.drawIcon($,z,s,M,Y,N),this.drawLabel($,z,s+Y,M,N)}}),function($){this.list=$,this.addListeners()}),te=(V_(Oe,Jd,{ms_listener:1,getView:function(){return this.list._view},clear:function($){var z=this,C=z.list;$&&"d"===z._62O&&!z.dragCancel&&C.handleDragAndDrop($,"end"),C.draggingData&&(C.draggingData=null,C.redraw()),z.dragCancel=z._62O=z._isV=z._isH=z.cp=z.tx=z.ty=fd},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function($){var z,C=this.list;m3($),C.setFocus($)&&(z=C.getDataAt($),this.cp=s_($),this.tx=C.tx(),this.ty=C.ty(),$_($)?z&&C.handleDragAndDrop&&!this.isV($)&&!this.isH($)&&C.isDraggable(z)&&(C.draggingData=z,C.redraw(),C.handleDragAndDrop($,"prepare")):(z?this._33o($,z):this._cancelDataDoubleSelect(),this.clear($)))},handleWindowMouseUp:function($){this.clear($)},handleWindowTouchEnd:function($){this.clear($)},handle_mouseup:function($){this.handle_touchend($)},handle_touchend:function($){var z,C=this.list;this._isV||this._isH||!this.cp||this._62O||((z=C.getDataAt($))?(C.isCheckMode()?this._34o($,z):this._33o($,z),M_($)?C.onDataDoubleClicked(z,$):C.onDataClicked(z,$)):(this._cancelDataDoubleSelect(),C.handleBackgroundClick($))),this.clear($)},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){var z=this.list,C=this._62O,o=this.tx,M=this.ty,A=this.cp,N=s_($),s=z._29I;"p"===C?z.setTranslate(o+N.x-A.x,M+N.y-A.y):"v"===C?z.ty(M+(A.y-N.y)*z._59I/s.height):"h"===C?z.tx(o+(A.x-N.x)*z._91I/s.width):"d"!==C||this.dragCancel||z.handleDragAndDrop($,"between")},handle_mousemove:function($){this.handle_touchmove($)},handle_touchmove:function($){var z,C;!RX&&$_($)&&(C=(z=this).list,z._isV=z.isV($),z._isH=z.isH($),z.cp?z._62O||Y_(s_($),z.cp)<2||(z._isV?z._62O="v":z._isH?z._62O="h":C.draggingData&&!this.dragCancel?(z._62O="d",C.handleDragAndDrop($,"begin")):z._62O="p",z._62O&&"d"!==z._62O&&C.draggingData&&(C.draggingData=null,C.redraw()),l_(z,$)):(z._isV&&C._43o(),z._isH&&C._42o()))},isV:function($){var z=this.list,C=z._29I;return z._41o()&&C.x+C.width-z.lp($).x<p3},isH:function($){var z=this.list,C=z._29I;return z._40o()&&C.y+C.height-z.lp($).y<p3},handle_mousewheel:function($){this.handleScroll($,$.wheelDelta/40,$.wheelDelta!==$.wheelDeltaX)},handle_DOMMouseScroll:function($){this.handleScroll($,-$.detail,1)},handleScroll:function($,z,C){var o=this.list;m3($),o.endEditing&&o.endEditing(),C&&o._41o()?o.translate(0,z*o.getRowHeight()):o._40o()&&o.translate(10*z,0)},handle_keydown:function($){var z,C,o,M,A,N,s;Qd.isInput($.target)||(C=(z=this.list).sm(),M=(o=z._rows).size(),HX($)?z.selectAll():iX($)?z.handleDelete&&z.handleDelete($):zx($)?"d"!==this._62O||this.dragCancel||(z.handleDragAndDrop($,"cancel"),this.dragCancel=!0):BX($)?z.isCheckMode()&&(s=z.getFocusData())&&z.checkData(s):(qX($)||rX($))&&((s=(A=z.isCheckMode())?z.getFocusData():C.ld())?0<=(N=z.getRowIndex(s))&&(qX($)?0!==N&&(s=o.get(N-1),A?z.setFocusData(s):C.ss(s)):N!==M-1&&(s=o.get(N+1),A?z.setFocusData(s):C.ss(s))):0<M&&(s=o.get(0),A?z.setFocusData(s):C.ss(s))))},_34o:function($,z){var C=this.list;0<=($=C.lp($).x)&&$<=C._indent?C.checkData(z):C.setFocusData(z)},_33o:function($,z){var C=this.list,o=C.dm(),M=C.sm(),A=M.ld();if(C.canHandleSelectMode($,z)){if(o.beginTransaction(),N_($))C.isSelected(z)?M.rs(z):M.as(z);else if(A_($))if(A)for(var N=C.getRowIndex(A),s=C.getRowIndex(z);N!==s;)M.as(C._rows.get(N+=N<s?1:-1));else M.ss(z);else $_($)?(M.contains(z)?C.handleDataDoubleSelect&&(this._handleDataDoubleSelect($,z),M_($)&&this._cancelDataDoubleSelect()):this._cancelDataDoubleSelect(),M.ss(z)):M.contains(z)||M.ss(z);o.endTransaction()}else this._cancelDataDoubleSelect()},_handleDataDoubleSelect:function($,z){this._cancelDataDoubleSelect(),this._doubleSelectTimer=$t(function(){this.list.handleDataDoubleSelect($,z),this._doubleSelectTimer=Kd}.bind(this),Qd.doubleClickSpeed)},_cancelDataDoubleSelect:function(){this._doubleSelectTimer&&(zt(this._doubleSelectTimer),this._doubleSelectTimer=Kd)}}),Me.TreeView=function($){this._35o(),this._5o($),new te(this)},C("TreeView",Jd,{ms_ac:[zf,Cf,$f,"rootVisible",af,"rootData",kf,Vf,Xf,df,Zf,lf,Jf,Wf,ff,ef,Df,Pf,rd,"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:fd,_indent:e3,_rowHeight:Ar,_rowLineVisible:Qd.treeViewRowLineVisible,_rowLineColor:Qd.treeViewRowLineColor,_scrollBarColor:V,_scrollBarSize:mh,_autoHideScrollBar:Td,_expandIcon:Qd.treeViewExpandIcon,_collapseIcon:Qd.treeViewCollapseIcon,_autoMakeVisible:LA,_selectBackground:Qd.treeViewSelectBackground,_labelColor:Qd.treeViewLabelColor,_labelSelectColor:Qd.treeViewLabelSelectColor,_labelFont:Qd.treeViewLabelFont,_doubleClickToToggle:Qd.treeViewDoubleClickToToggle,drawRow:function($,z,C,o,M,A,N){this.drawRowBackground($,z,C,o,M,A,N),this.drawTree($,z,C,0,M,A,N)},isOnToggleIcon:function($){var z=this.getDataAt($);if(z){var C=this.getIndent(),$=this.lp($).x;if(j(this.getToggleIcon(z))&&(z=C*this.getLevel(z))<=$&&$<=z+C)return!0}return!1}}),function($){Ev(te,this,[$])}),ce=(V_(te,Oe,{toggle:function($,z,C,o){var M=this.list,A=M.lp($).x;return j(M.getToggleIcon(z))&&(o*=C)<=A&&A<=o+C?(M.toggle(z),!0):!(!M.isDoubleClickToToggle()||!M_($)||(M.toggle(z),0))},_34o:function($,z){var C=this.list,o=C.lp($).x,M=C._levelMap[z._id],A=C._indent,N=A*(M+1);N<=o&&o<=N+A?C.checkData(z):this.toggle($,z,A,M)||C.setFocusData(z)},_33o:function($,z){var C=this.list;if(!this.toggle($,z,C._indent,C.getLevel(z)))if(A_($)){var o=C.dm(),M=(o.beginTransaction(),C.sm());if(0<M.size()){for(var A=C._rows,N=null,s=0,g=A.size();s<g;s++)if(C.isSelected(A.get(s))){N=s;break}for(var Y=null,s=A.size()-1;0<=s;s--)if(C.isSelected(A.get(s))){Y=s;break}for(var v,O=C.getRowIndex(z),t=O<N?(v=O-1,N):Y<O?(v=Y,O):(v=N,Y);v!==t;)M.as(C._rows.get(++v))}else M.ss(z);o.endTransaction()}else te.superClass._33o.call(this,$,z)},handle_keydown:function($){var z,C,o,M,A;wX($)||TX($)?(C=(z=this.list)._rows,o=z.isCheckMode(),M=z.sm(),(A=o?z.getFocusData():M.ld())?A.hasChildren()&&(wX($)?z.collapse(A):z.expand(A)):0<C.size()&&(A=C.get(0),o?z.setFocusData(A):M.ss(A))):te.superClass.handle_keydown.call(this,$)}}),Me.TableView=function($){this._98I(),this._5o($),new ye(this)}),ye=(C("TableView",Jd,{ms_ac:[zf,Cf,$f,"sortMode",xf,pf,Jf,Wf,ff,Qf,Kf,"sortColumn",kf,Vf,Xf,df,Zf,Pf,rd],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:bf,_editable:!0,_batchEditable:!1,_rowHeight:Ar,_rowLineVisible:Qd.tableViewRowLineVisible,_rowLineColor:Qd.tableViewRowLineColor,_columnLineVisible:Qd.tableViewColumnLineVisible,_columnLineColor:Qd.tableViewColumnLineColor,_scrollBarColor:V,_scrollBarSize:mh,_autoHideScrollBar:Td,_autoMakeVisible:LA,_selectBackground:Qd.tableViewSelectBackground,_labelColor:Qd.tableViewLabelColor,_labelSelectColor:Qd.tableViewLabelSelectColor,_labelFont:Qd.tableViewLabelFont,getCheckColumn:function(){var $;return this._31o||(($=this._31o=new Ne).setEditable(!0),$.setWidth(40),$.getValue=this.getCheckColumValue,$.drawCell=this.drawCheckColumnCell),this._31o},isCheckMode:function(){return this._39o.contains(this._31o)},setCheckMode:function($){var z=this._39o,C=this.getCheckColumn();$!==this.isCheckMode()&&($?z.add(C,0):z.remove(C),this.fp(af,!$,$))},getCheckColumValue:function($,z,C){return C.isSelected($)},drawCheckColumnCell:function($,z,C,o,M,A,N,s,g){G3($,g.getCheckIcon(z),M+N/2,A+s/2,z,g)}}),function($){Ev(ye,this,[$])}),_e=(V_(ye,Oe,{_34o:function($,z){var C=this.list,o=C._31o;if(C.isCellEditable(z,o,$)){var M=C._3Q(o),A=C.lp($).x;if(M&&A>=M.startX&&A<M.startX+o.getWidth())return void C.checkData(z)}C._37O(z,$),C.setFocusData(z)},_33o:function($,z){this.list._37O(z,$),ye.superClass._33o.apply(this,arguments)}}),Me.TreeTableView=function($){var z=this._4o=new Ne;this._35o(),this._98I(),this._5o($),z.setDisplayName("Name"),z.setEditable(!0),z.setWidth(180),z.drawCell=Pe,z.getValue=Ze,this._39o.add(z),new Xe(this)}),Pe=function($,z,C,o,M,A,N,s,g){g.drawTree($,z,C,M,A,N,s)},Ze=function($,z,C){return C.getLabel($)},Xe=(C("TreeTableView",Jd,{ms_ac:[zf,Cf,$f,"sortMode",xf,pf,lf,af,"rootData","rootVisible",kf,Vf,"sortColumn",ef,Df,Xf,df,Zf,Pf,ff,Jf,Wf,Qf,Kf,rd,"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:bf,_checkMode:fd,_editable:!0,_batchEditable:!1,_indent:e3,_rowHeight:Ar,_rowLineVisible:Qd.treeTableViewRowLineVisible,_rowLineColor:Qd.treeTableViewRowLineColor,_columnLineVisible:Qd.treeTableViewColumnLineVisible,_columnLineColor:Qd.treeTableViewColumnLineColor,_expandIcon:Qd.treeTableViewExpandIcon,_collapseIcon:Qd.treeTableViewCollapseIcon,_scrollBarColor:V,_scrollBarSize:mh,_autoHideScrollBar:Td,_autoMakeVisible:LA,_selectBackground:Qd.treeTableViewSelectBackground,_labelColor:Qd.treeTableViewLabelColor,_labelSelectColor:Qd.treeTableViewLabelSelectColor,_labelFont:Qd.treeTableViewLabelFont,getTreeColumn:function(){return this._4o}}),function($){Ev(Xe,this,[$])}),de=(V_(Xe,Oe,{_34o:function($,z){var C=this.list,o=C._4o,M=C._3Q(o),A=C.lp($).x;if(M){var N=C._indent,M=M.startX+N*C.getLevel(z);if(j(C.getToggleIcon(z))&&M<=A&&A<=M+N)return void C.toggle(z);if(C.isCellEditable(z,o)&&(M+=N)<=A&&A<=M+N)return void C.checkData(z)}C._37O(z,$),C.setFocusData(z)},_33o:function($,z){var C=this.list,o=C.lp($).x;if(j(C.getToggleIcon(z))&&(M=C._3Q(C._4o))){var M,A=C._indent;if((M=M.startX+A*C.getLevel(z))<=o&&o<=M+A)return void C.toggle(z)}C._37O(z,$),Xe.superClass._33o.apply(this,arguments)}}),Me.TableHeader=function($){var z=this,C=z._view=AX(1,z),o=z._39o=$.getColumnModel(),M=z.iv;z.tv=z._tableView=$,z._60I=new L,z._canvas=sX(C),C.style.background=Qd.tableHeaderBackground||"",C.style.height=D3+Vt,o.mm(M,z),o.md(M,z),o.mh(M,z),$.mp(function($){wC[$.property]&&z.iv()},z),new le(z),z.iv()}),le=(C("TableHeader",Jd,{ms_v:1,ms_lp:1,ms_fire:1,ms_ac:["checkIcon","sortDescIcon","sortAscIcon",zf,$f,lf,"moveBackground","insertColor",Qf,Kf,"resizable","movable"],_checkIcon:Et,_movable:!0,_resizable:!0,_labelColor:Qd.tableHeaderLabelColor,_labelFont:Qd.tableHeaderLabelFont,_columnLineColor:Qd.tableHeaderColumnLineColor,_columnLineVisible:Qd.tableHeaderColumnLineVisible,_sortDescIcon:Qd.tableHeaderSortDescIcon,_sortAscIcon:Qd.tableHeaderSortAscIcon,_moveBackground:Qd.tableHeaderMoveBackground,_insertColor:Qd.tableHeaderInsertColor,_indent:e3,getCheckIcon:function(){return this._checkIcon},getTableView:function(){return this.tv},getLabel:function($){return $.toLabel()},getLabelFont:function($){return this._labelFont},getLabelColor:function($){return $.getColor()||this._labelColor},getLabelAlign:function($){return $._align},onPropertyChanged:function($){this.iv()},_5Q:function($){this._61I=$,this.iv()},getLogicalPoint:function($){return X_($,this._canvas,this.tv.tx())},validateImpl:function(){var $,o=this,z=o._canvas,C=o.getWidth(),M=o.getHeight(),A=o.tv,N=o._60I,s=o._61I,g=-A.tx(),Y=0,v=(C===z.clientWidth&&M===z.clientHeight||vX(z,C,M),N.empty(),o._39o._roots.each(function($){var z;$.isVisible()&&(z=Y+$.getWidth(),Y<=g+C&&g<=z&&N.add({column:$,startX:Y}),Y=z)}),KX(z));fX(v,-g,0,1),v.beginPath(),v.rect(g,0,C,M),v.clip(),v.clearRect(g,0,C,M),N.each(function($){var z=$.column,$=$.startX,C=z.getWidth();0<C&&(v.save(),v.beginPath(),v.rect($,0,C,M),v.clip(),s&&s.column===z||o.drawColumn(v,z,$,0,C,M),o._columnLineVisible&&Xx(v,$+C-1,0,1,M,o._columnLineColor),v.restore())}),s&&(A=s.column,Y=s.startX,z=s.position,$=A.getWidth(),v.save(),v.beginPath(),v.rect(Y,0,$,M),v.clip(),v.fillStyle=o._moveBackground,v.fill(),o.drawColumn(v,A,Y,0,$,M),v.restore(),Bv(v,o._insertColor,z,0,M)),v.restore()},_6Q:function($){var z=this.tv;return z._31o===$&&z.sm().getSelectionMode()===tt},drawColumn:function($,z,C,o,M,A){var N,s,g,Y,v,O=this,t=O.tv,c=j(z.getIcon()),y=O.getLabelAlign(z);O._6Q(z)?(v=j(O._checkIcon),G3($,v,C+M/2,o+A/2,z,O)):(v=O.getLabel(z),N=O.getLabelFont(z),s=O.getLabelColor(z),g=B3(N,v).width,Y=c?O._indent:0,y===_t?(c&&E3($,c,zh,C,o,Y,A),r3($,v,N,s,C+Y,o,M,A,_t)):y===Pt?(c&&E3($,c,zh,C+M-g-Y,o,Y,A),r3($,v,N,s,C,o,M,A,Pt)):(c&&E3($,c,zh,C+(M-g-Y)/2,o,Y,A),r3($,v,N,s,C+(M-g+Y)/2,o,0,A,_t))),z.isSortable()&&t.getSortColumn()===z&&(c=j(z.getSortOrder()===uf?O._sortAscIcon:O._sortDescIcon))&&(v=vK(c,z)/2+2,G3($,c,y===Pt?C+v:C+M-v,o+A/2,z,t))},isColumnMovable:function($){return!0},canColumnInsertBefore:function($){return!0}}),function($){this.th=$,this.tv=$._tableView,this.addListeners()}),Je=(V_(le,Jd,{ms_listener:1,getView:function(){return this.th.getView()},setCursor:function($){this.getView().style.cursor=$},handle_mousemove:function($){if(!RX){delete this._29o,this.setCursor(vt);for(var z=this.th,C=z._60I,o=z.lp($).x,M=C.size()-1;0<=M;M--){var A=C.get(M),N=A.column,s=A.startX+N.getWidth();if(z.isResizable()&&I(s-o)<=(Yt?10:3))return this._29o=A,void this.setCursor(vh);o>A.startX&&o<s&&(this._29o=A),(N.isClickable()||N.isSortable()||z.isMovable()&&z.isColumnMovable(N)||this.tv.getCheckColumn&&N===this.tv.getCheckColumn())&&o>A.startX&&o<s&&this.setCursor(th)}}},handle_mousedown:function($){this.handle_touchstart($)},handle_touchstart:function($){m3($),this.tv.endEditing(),this.handle_mousemove($),this._29o&&(this.x=s_($).x,this.lx=this.th.lp($).x,this.w=this._29o.column.getWidth(),l_(this,$))},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){var o,z=this,M=z.th,C=z.getView().style.cursor,A=z._29o,N=s_($).x-z.x;z.resizing||z.moving||(C===vh?z.resizing=1:M.isMovable()&&C===th&&2<I(N)&&(z.moving=1)),z.resizing?A.column.setWidth(z.w+N):z.moving&&(o=z.lx+N,M._60I.each(function($){var z=$.startX,C=z+$.column.getWidth();z<=o&&o<=C&&(($={column:A.column,startX:A.startX+N,front:M.canColumnInsertBefore($.column)&&o-z<C-o,insertColumn:$.column}).front?$.position=z:$.position=C,M._5Q($))}))},_16Q:function($,z){var C=this.tv,o=this.th,M=o._checkIcon;if(o._6Q($)){var A=j(M),N=this.lx,s=$.getWidth();if(z+s/2-(A=vK(A,$))<=N&&N<=z+s/2+A)return o.setCheckIcon(M===Gt?Et:Gt),N=C.sm(),z=C._rows,M===Gt?N.rs(z):N.ss(z),C.onCheckColumnClicked($),!0}return!1},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},handleWindowTouchEnd:function($){var z,C,o,M,A,N=this,s=N.tv,g=N.th,Y=N._29o;N.moving?((C=g._61I)&&C.insertColumn!==C.column&&(z=C.column,M=(o=s.getColumnModel()._roots).remove(z),0<=(A=o.indexOf(C.insertColumn))&&(C.front||A++,A<=o.size()&&(o.add(z,A),s.getColumnModel()._38I(z,M,A)))),g._5Q(fd),delete N.moving):!N.resizing&&Y&&(z=Y.column,C=g.lp($).x,o=Y.startX,M=!0,(M=(!g.onColumnClicked||!1!==g.onColumnClicked(z,$,o))&&M)&&o<=C&&C<=o+z.getWidth()&&(N._16Q(z,o)||(z.isSortable()&&(A=s.getSortMode(),Y=z.getSortOrder(),A===bf?s.getSortColumn()===z?(Y===nf&&s.setSortColumn(fd),z.setSortOrder(Y===uf?nf:uf)):s.setSortColumn(z):"bistate"===A&&(s.getSortColumn()===z?z.setSortOrder(Y===uf?nf:uf):s.setSortColumn(z))),s.onColumnClicked(z,$,o)))),N._29o=N.resizing=N.x=N.lx=N.w=fd}}),Me.TablePane=function($){this.init(new ce($))},C("TablePane",Jd,{ms_v:1,ms_fire:1,_44o:1}),Me.TreeTablePane=function($){this.init(new _e($))},C("TreeTablePane",Jd,{ms_v:1,_44o:1}),Me.Toolbar=function($){var o=this,z=o._view=AX(1,o),C=z.style;C.background=Qd.toolbarBackground||"",C.height=a3+Vt,o._canvas=sX(z),o._30o=new L,o._90I=new L,o.setItems($||[]),z.handleGroupSelectedChanged=function(z){var C;z.isSelected()&&null!=(C=z.getGroupId())&&o._items.forEach(function($){($=$.element)&&$!==z&&$.setSelected&&$.getGroupId&&$.getGroupId()===C&&$.setSelected(!1)})},new Je(o)},C("Toolbar",Jd,{ms_v:1,ms_fire:1,ms_tx:1,ms_lp:1,ms_tip:1,ms_value:1,ms_ac:[ut,zf,$f,Cf,rd,"itemGap","separatorColor","currentItem","stickToRight"],_labelColor:Qd.toolbarLabelColor,_labelSelectColor:Qd.toolbarLabelSelectColor,_labelFont:Qd.toolbarLabelFont,_selectBackground:Qd.toolbarSelectBackground,_itemGap:Qd.toolbarItemGap,_separatorColor:Qd.toolbarSeparatorColor,_stickToRight:!1,getSumWidth:function($){return this._64I},getToolTip:function($){return($=this.getItemInfoAt($))?$.item.toolTip:fd},getLabelColor:function($){return $&&$.selected&&$.type!==Gt&&"radio"!==$.type?this._labelSelectColor:this._labelColor},onPropertyChanged:function($){this.iv(),$.property===ut&&this._items.forEach(function($){MX($)})},redraw:function(){this.iv()},addItem:function($,z){var C=this._items;z==fd?C.push($):C.splice(z,0,$),this.fp(ut,fd,C)},removeItem:function($){if($)for(var z=this._items,C=0;C<z.length;C++)$===z[C]&&(z.splice(C,1),this.fp(ut,fd,z))},removeItemById:function($){if($!=fd)for(var z,C=this._items,o=0;o<C.length;o++)if($===C[o].id)return z=C.splice(o,1)[0],this.fp(ut,fd,C),z},getItemById:function($){if($!=fd)for(var z=this._items,C=0;C<z.length;C++){var o=z[C];if($===o.id)return o}},setItemVisible:function($,z){($=this.getItemById($))&&($.visible=z)},getItemInfos:function(){return this._30o},getItemInfoAt:function($){var z=0,C=this._30o,o=($=this.lp($)).x;if(0<=($=$.y)&&$<=this.getHeight())for(;z<C.size();z++){var M=C.get(z);if(M.startX<=o&&o<=M.endX)return M}return fd},drawItem:function($,z,C,o,M){if(!1===z.visible)return 0;if(av(z.visible)&&!z.visible())return 0;var A=z.disabled,M=(A&&($.globalAlpha=P3),this.drawItemImpl($,z,C,o,M)),N=this._itemGap;return A&&($.globalAlpha=1),this._currentItem!==z||"separator"===z||!0===z.separator||z.unfocusable||ex($,this._separatorColor,C-N/2,0,M+N,o),M},drawItemImpl:function($,z,C,o,M){var A,N,s=this,g=s._view,Y=s._itemGap,v=o/2,O=z.type,t=z.element,c=z.label,y=(Vd(t)&&(c=t,t=fd),s.getLabelFont(z)),_=s.getLabelColor(z),P=z.selected,Z=j(z.icon),X=vK(Z,z),d=X+(c?B3(y,c).width:0);return"separator"===z||!0===z.separator?(Bv($,s._separatorColor,C,o/4,v),1):t?(Z&&G3($,Z,C+X/2,v,z,s),r3($,c,y,_,C+X,0,0,o),N=xX(t),M||s._90I.add(N),N.parentNode!==g&&OX(g,N),t.iv&&t.iv(),t.validate&&t.validate(),g=(M=N.getBoundingClientRect()).width,t=N.style,YX(N),t.left=s.tx()+C+d+Vt,t.top=(o-M.height)/2+Vt,d+g):("radio"===O?A=j(P?Ht:it):O===Gt&&(A=j(P?Gt:Et)),A?(N=vK(A,z),G3($,A,C+N/2,v,z,s),C+=N,d+=N):P&&Xx($,C-Y/2,0,d+Y,o,s.getSelectBackground(z)),Z&&G3($,Z,C+X/2,v,z,s),r3($,c,y,_,C+X,0,0,o),d)},validateImpl:function(){var C=this,$=C._canvas,z=C.getWidth(),o=C.getHeight(),M=C._30o,A=C._items,N=(vX($,z,o),KX($)),s=C._itemGap,g=s/2,Y=(fX(N,C.tx(),0,1),N.clearRect(0,0,z,o),C._90I),Y=(C._90I=new L,M.empty(),A.forEach(function($){var z=C.drawItem(N,$,g,o);M.add({item:$,startX:g,endX:g+z,width:z}),z&&(g+=z+s)}),Y.each(function($){C._90I.contains($)||J_($)}),C._64I);C._64I=Cd(0,g-s/2),N.restore(),C._stickToRight?(C._65O=0,N=KX($),g=z-C._64I+s/2,fX(N,0,0,1),N.clearRect(0,0,z,o),M.empty(),A.forEach(function($){var z=C.drawItem(N,$,g,o,!0);M.add({item:$,startX:g,endX:g+z,width:z}),z&&(g+=z+s)}),N.restore()):C.tx(C.tx()),Y!==C._64I&&C.onSumWidthChanged(Y,C._64I)},onSumWidthChanged:function($,z){},handleClick:function(z,$){var C=z.type,o=z.action,M=z.groupId,A=z.selected;z.disabled||(M!=fd?A||(z.selected=!0,this._items.forEach(function($){$.groupId===M&&z!==$&&($.selected=!1)}),o&&z.action(z,this,$)):(C!==Gt&&"toggle"!==C||(z.selected=!A),o&&z.action(z,this,$))),J3(),this.iv()}}),function($){this.tb=$,this.addListeners()});V_(Je,Jd,{ms_listener:1,getView:function(){return this.tb._view},handle_mousewheel:function($){this.handleScroll($,$.wheelDelta/40*10)},handle_DOMMouseScroll:function($){this.handleScroll($,10*-$.detail)},handleScroll:function($,z){m3($),($=this.tb).isScrollable()&&!$._stickToRight&&($.tx($.tx()+z),nX())},handle_mousemove:function($){RX||this.setItem($)},handle_mouseout:function($){$.target===this.getView()?this.tb.setCurrentItem(fd):this.handle_mousemove($)},handle_mousedown:function($){this.handle_mousemove($),this.handle_touchstart($)},handle_touchstart:function($){var z=this.tb,C=$.target;!$_($)||C!==this.getView()&&C!==z._canvas||(m3($),z.setFocus($)&&(this.setItem($,!0),(z.isScrollable()||this.info&&!this.info.item.disabled)&&(this.x=s_($).x,this.tx=z.tx(),l_(this,$))))},handleWindowMouseMove:function($){this.handleWindowTouchMove($)},handleWindowTouchMove:function($){var z=this.tb;z._stickToRight||($=s_($).x-this.x,!this._25o&&2<I($)&&z.isScrollable()&&(this._25o=1),this._25o&&z.tx(this.tx+$))},handleWindowMouseUp:function($){this.handleWindowTouchEnd($)},handleWindowTouchEnd:function($){var z=this.tb,C=this.info,o=this.tb.getItemInfoAt($);!this._25o&&C&&(C=C.item,o&&o.item===C&&z.handleClick(C,$)),this._25o=this.x=this.tx=fd,this.setItem()},setItem:function($,z){var C=this.tb,o=(o=this.info=$?C.getItemInfoAt($):fd)?o.item:fd;C.setCurrentItem(o),z&&o&&av(o.onDown)&&o.onDown($)}}),Me.BorderPane=function(){this._view=AX(1,this),this.iv()},C("BorderPane",Jd,{ms_v:1,ms_ac:["topHeight","bottomHeight","leftWidth","rightWidth"],ms_fire:1,getLeftView:function(){return this._leftView},setLeftView:function($,z){this._12o("leftView",$),z!=fd&&this.setLeftWidth(z)},getRightView:function(){return this._rightView},setRightView:function($,z){this._12o("rightView",$),z!=fd&&this.setRightWidth(z)},getTopView:function(){return this._topView},setTopView:function($,z){this._12o("topView",$),z!=fd&&this.setTopHeight(z)},getBottomView:function(){return this._bottomView},setBottomView:function($,z){this._12o("bottomView",$),z!=fd&&this.setBottomHeight(z)},getCenterView:function(){return this._centerView},setCenterView:function($){this._12o("centerView",$)},_12o:function($,z){var C="_"+$,o=this._view,M=this[C];M!==z&&(M&&(M.getView?J_(M.getView()):J_(M)),(this[C]=z)&&(z.getView?OX(o,z.getView(),1):OX(o,z,1)),this.fp($,M,z))},onPropertyChanged:function($){this.iv()},validateImpl:function(){var $=(_=this)._topView,z=_._bottomView,C=_._leftView,o=_._rightView,M=_._centerView,A=_.getWidth(),N=0,s=0,g=A,Y=y=_.getHeight(),v=0,O=0,t=0,c=0,y=($&&(s=v=_._topHeight==fd?dX($):_._topHeight),z&&(Y=y-(O=_._bottomHeight==fd?dX(z):_._bottomHeight)),C&&(N=t=_._leftWidth==fd?XX(C):_._leftWidth),o&&(g=A-(c=_._rightWidth==fd?XX(o):_._rightWidth)),Cd(0,g-N)),_=Cd(0,Y-s);$&&pX($,0,0,A,v),z&&pX(z,0,Y,A,O),C&&pX(C,0,s,t,_),o&&pX(o,g,s,c,_),M&&pX(M,N,s,y,_)}})}function Ke($,z,C,o,M,A,N,s){for(var g=0;g<s;g++)$[z+g]=C[o+g];return $}function fe($,z,C,o,M,A,N,s){for(var g=0;g<s;g++)$[z+g]=C[o+g]+(M[A+g]-C[o+g])*N;return $}function Qe($,z,C,o,M,A,N,s){$=t;var g,Y,v=this._quatCache,o=v[o/s],N=N*(A=(v=v[A/s]).roundHalf),O=B.clamp(Math.floor(N),0,A-1),o=0==O?(g=o.quat,0):(g=v.internalQuat,O-1),A=++O==A?(Y=v.quat,0):(Y=v.internalQuat,O-1);return hA.slerpFlat($,z,g,o*(s=4),Y,A*s,N-Math.floor(N)),$}function We($,z,C,o,M,A,N,s){return hA.slerpFlat($,z,C,o,M,A,N),$}function Ve($,z,C,o,M,A,N,s){return Qd.getLineOffset(this._lineCache,N*this._lineLength).point.toArray($),$}function ee($,z,C,o,M,A,N,s){return $[0]=U.Default.getGradientOffset(C[o],M[A],N),$}function De(){this._quatCache=[];var $=this.values;if($)for(var z=this.times.length,C=this.stride,o=0;o<z;o++){1===C?$[o]instanceof UA?l.copy($[o]):$[o].x?l.setFromVector3($[o]):l.fromArray($[o]):4==C?l.fromArray($,o*C):l.set($[o*C],$[o*C+1],$[o*C+2]);var M={};if(M.quat=J.setFromEuler(l).toArray(),0!==o){var A=Math.max(Math.abs(l.x-d.x),Math.abs(l.y-d.y),Math.abs(l.z-d.z)),N=Math.floor(A/(Math.PI-.01))+1;if(1<(M.roundHalf=N)){if(M.internalQuat=[],K.fromArray(this._quatCache[this._quatCache.length-1].quat),A=K.dot(J),!(A=.999<Math.abs(A)||Math.abs(A)<.001)){f.copy(K).inverse().premultiply(J).normalize().toArray(Q);var s=Math.acos(Q[3]);if((Y=Math.sin(s))<.001)A=!0;else for(var g=W.fromArray(Q).multiplyScalar(1/Y),Y=B.angleMod(2*s),v=(N%2==0&&(Y-=2*Math.PI*Math.sign(Y)),Math.floor((N-1)/2)*Math.PI*2*Math.sign(Y)+Y),O=0;O<N-1;O++)J.setFromAxisAngle(g,v*(O+1)/N).multiply(K).toArray(M.internalQuat,4*O)}if(A)for(var t=d.x,c=d.y,y=d.z,_=l.x-t,P=l.y-c,Z=l.z-y,X=d,O=0;O<N-1;O++)J.setFromEuler(X.set(t+_*(O+1)/N,c+P*(O+1)/N,y+Z*(O+1)/N)).toArray(M.internalQuat,4*O)}}this._quatCache.push(M),d.copy(l)}}function ae(){var z,C,$,o=this.extraInfo;(o=o&&o.path)&&(z=o.getPointsMatrix3d(),C=new U.List,($=o.getPoints()).forEach(function($){A.set($.x,$.e,$.y),A.applyMatrix4(z),C.push({x:A.x,e:A.y,y:A.z})}),this._lineCache=Qd.getLineCacheInfo($,o.getSegments()),this._lineLength=Qd.getLineLength(this._lineCache))}function ke($){var z=this._quatCache;return z?z[$].quat:[0,0,0,1]}function xe($){return this._lineCache?Qd.getLineOffset(this._lineCache,$*this._lineLength).point.toArray():[0,0,0]}function pe($){m3($),$.stopPropagation()}function be($){m3($)}function ue($,z){var C=$.length,o=$[0];if(Vd($)||o&&1!==o.length)return $;for(var M=new Array(C),A=0;A<C;A++)M[A]=$[A];var N=M[o="L"===M[0]?5:7],s=M[1+o],g=M[2+o],Y=M[3+o],v=M[4+o],O=M[5+o],t=z[0],c=z[1],y=z[2],_=z[3],P=z[4],z=z[5];return M[o]=t*N+y*s,M[1+o]=c*N+_*s,M[2+o]=t*g+y*Y,M[3+o]=c*g+_*Y,M[4+o]=t*v+y*O+P,M[5+o]=c*v+_*O+z,M}function ne($,z){return z===$.substring(0,z.length)}function Re($){return parseFloat($)||0}function Ie($,z){z==Kd&&(z=new Dd),$=($=$.split(/\s+/)).map(Re),z.set($[0]||0,$[1]||0,$[2]||0)}function he($){try{var z=$.zoom;return z==Kd?1:+z}catch($){return 1}}function me($){var z,C="+",o=("+"!==(o=$[0])&&"-"!==o&&"*"!==o||($=$.substring(1),C=o),$.indexOf("(")),M=Kd;return-1!==o&&(z=$.substring(o+1,$.length-1).split(","),$=$.substring(0,o),M=z.map(function($){return parseFloat($.trim())})),(o=new(o=qA[$])((M=M||[])[0],M[1],M[2],M[3]).setEasingMode(tP[C])).ease.bind(o)}function Se($){return!!ed($)&&("linear"===($=$[0])||"radial"===$)}function Ge($){var z,C,o,M,A=_P[$];return!0===A||!0===(A=A||((M=$.match(PP))?(z=Number(M[1]),C=Number(M[2]),o=Number(M[3]),M=M[4],_P[$]=[z,C,o,255*(M===Kd?1:M)]):_P[$]=!0))?e_($):A}function Ee($,z,C){if(0===C)return $;if(1===C)return z;var o,M,A=($=Ge($))[3]/255,N=(z=Ge(z))[3]/255,s=0,g=0,Y=0,v=A+(N-A)*C;return 1e-5<v&&(o=$[0]*A,M=$[1]*A,$=$[2]*A,s=(o+(z[0]*N-o)*C)/v|0,g=(M+(z[1]*N-M)*C)/v|0,Y=($+(z[2]*N-$)*C)/v|0),"rgba("+s+","+g+","+Y+","+v.toFixed(2)+")"}function He($){return"linear"===$[0]?5:Vd($[5])?4:13}function ie($,z,C,o,M){o===Kd&&(o=0),M===Kd&&(M=C.length);for(var A=0;A<M;A++)$[z+A]=C[o+A]}function Fe($){var z=$.substr($.lastIndexOf(".")+1).toLowerCase(),C=($=Qd.beforeLoadURL($),fP[z]||z);return{postfix:z,url:"url("+$+') format("'+C+'")'}}function je($,z){return QP[$.postfix]-QP[z.postfix]}function Ue($,z,C){$.x=z.x,$.y=z.e||C,$.z=z.y}function Le($){var z;Dv($)&&(z=$.states)&&(z=z.__states)&&($.states=iC(z,$))}function we($){$.duration&&($.startTime=Xv()),$.timeId=i3($.tick,fd,fd,$.interval)}function qe($){$.details=0,$.timeout=null,$.lastPoint=null}function Te(){if(hP){var $,z=Date.now(),C=z-mP,o=z;try{for($=0;$<IP.length;$++)IP[$].callback(o,C)}catch(z){IP.splice($,1),console.error("Heartbeat error:",z)}mP=z,0<IP.length?requestAnimationFrame(Te):hP=!1}}function re(o,C){o.getValue&&o.getValue.compType===C||(o.getValue=function($){var z=i(o,$);return z===Kd&&C.properties&&($=C.properties[$])?$.defaultValue:z},o.getColor=function($,z,C){return!0===z?oU($,fd,C):(z=o.getValue($),C&&Jd.assign(C,{comp:o,name:$}),oU(z,fd,C))},o.getValue.compType=C)}function Be($,z){return oU($,fd,z)}function $E($,z){if(Qd.convertColor)return{comp:$,name:z}}function zE($){if(ed($)){for(var z=new L,C=$.length,o=0;o<C;o+=2)z.add({x:$[o],y:$[o+1]});$=z}return $}function CE($,z,C){if(z){var o,M,A,N={x:z.x,y:z.y,width:z.width,height:z.height},s=MU($),g=i($,"layoutH"),Y=i($,"layoutV"),v=1,O=1,t=0,c=0,y=1,_=1,P=N.x+s.x*N.width,Z=N.y+s.y*N.height;switch(g){case"left":break;case"right":P+=C.width-C.rw;break;case"center":P+=.5*(C.width-C.rw);break;default:(o=i($,gf)||0)&&(t=Math.abs(c=Math.sin(o)),y=Math.abs(_=Math.cos(o))),"leftright"!==g?(v+=y*(C.widthScale-1),O+=t*(C.widthScale-1),P*=C.widthScale):(M=i($,"scaleX")||1,A=i($,"scaleY")||1,v+=N.width?y*(C.width-C.rw)/N.width/M:0,O+=N.height?t*(C.width-C.rw)/N.height/A:0,P+=(C.rw-C.width)*Math.min(-s.x*_+s.y*c,-s.x*_-(1-s.y)*c,(1-s.x)*_+s.y*c,(1-s.x)*_-(1-s.y)*c))}switch(Y){case"top":break;case"bottom":Z+=C.height-C.rh;break;case"center":Z+=.5*(C.height-C.rh);break;default:o==fd&&(o=i($,gf))&&(t=Math.abs(c=Math.sin(o)),y=Math.abs(_=Math.cos(o))),"topbottom"!==Y?(v+=t*(C.heightScale-1),O+=y*(C.heightScale-1),Z*=C.heightScale):(M==fd&&(M=i($,"scaleX")||1,A=i($,"scaleY")||1),v+=N.width?t*(C.height-C.rh)/N.width/M:0,O+=N.height?y*(C.height-C.rh)/N.height/A:0,Z+=(C.rh-C.height)*Math.min(-s.x*c-s.y*_,-s.x*c+(1-s.y)*_,(1-s.x)*c-s.y*_,(1-s.x)*c+(1-s.y)*_))}return 1===v&&1===O||(N.width*=v,N.height*=O,N.width<0&&(N.width=0),N.height<0&&(N.height=0)),N.x=P-s.x*N.width,N.y=Z-s.y*N.height,N}}function oE($){return ed($)?new L($):$}function ME($,z,C,o,M,A,N,s){var g=H.interactiveInfo,Y=$.transform,v=CU();if(Y)return s||H.save(),H.setTransform(Y.a,Y.b,Y.c,Y.d,Y.tx,Y.ty),g&&AU(g,{comp:$,rect:z,matrix:Y.clone(),prefix:CK,refRect:g.refRect,exData:v}),!0;if(M===Kd&&(M=1),A===Kd&&(A=1),Y=i($,"clipPercentage"),Fv(C,z)&&!o&&1===M&&1===A&&Y==Kd)return g&&AU(g,{comp:$,rect:z,matrix:g.matrix.clone(),prefix:CK,refRect:g.refRect,exData:v}),!1;var O=z.x+z.width*(N=N||gK).x,t=z.y+z.height*N.y,c=C.x+C.width*N.x,N=C.y+C.height*N.y,M=C.width?M*(z.width/C.width):1,A=C.height?A*(z.height/C.height):1;return s||H.save(),g&&(g.matrix.appendTranslate(O,t).appendRotate(o).appendScale(M,A).appendTranslate(-c,-N),AU(g,{comp:$,rect:z,matrix:g.matrix.clone(),prefix:CK,refRect:g.refRect,exData:v})),QX(H,O,t),WX(H,o||0),VX(H,M,A),QX(H,-c,-N),Y!=Kd&&(s=rv(C,i($,"clipDirection"),Y),H.beginPath(),H.rect(s.x,s.y,s.width,s.height),H.clip()),!0}function AE(){H.restore()}function NE($,z,C,o){var M,A,N,s,g,R,I,Y=i($,Ft,zE),v=i($,"segments",oE),O=i($,gf),t=MU($),o=(Y&&o.fitSize&&(M=new L,o=CE($,c=v_(Y),o),A=c.x+t.x*c.width,N=c.y+t.y*c.height,s=o.x+t.x*o.width,g=o.y+t.y*o.height,R=c.width?o.width/c.width:1,I=c.height?o.height/c.height:1,Y.each(function($){M.add({x:s+($.x-A)*R,y:g+($.y-N)*I})}),Y=M,$.unionRect=null),i($,"scaleX")),c=i($,"scaleY"),y=z===bt,_="clip"===z,P=fd;if(C||!y&&!_||((C=$.unionRect)||(C=v_(Y),$.points.func||($.unionRect=C)),P=C),C){y||_?(P=P||$.unionRect)||(P=v_(Y),$.points.func||($.unionRect=P)):P=C;var Z=_&&H.getTransform(),C=ME($,C,P,O,o,c,t,_);if(_)return yx(H,Y,v,p),H.clip(),C&&H.setTransform(Z);var X,d,l,J,K,f,Q,W,V,O=i($,"borderPattern"),o=B_(H,O),c=oU($,"background"),_=j(i($,"repeatImage"),BP,$U),Z=i($,"gradientPack"),e=i($,"borderGradientPack"),D=oU($,"borderColor"),a=i($,"borderWidth"),k=j(i($,"borderRepeatImage"),BP,$U),x=i($,"gradient"),h=i($,"border3d"),m=oU($,"border3dColor"),S=i($,"border3dAccuracy"),p=i($,"closePath"),b=i($,"fillRule")||"nonzero",G=H.lineJoin,E=H.lineCap,u=i($,"shadow"),n=i($,"shadowInset");H.lineJoin=i($,"borderJoin")||Q3,H.lineCap=i($,"borderCap")||f3,y?c||_||Z?((K=i($,"fillClipPercentage"))!=Kd&&(W=rv(P,i($,"fillClipDirection"),K),H.save(),H.beginPath(),H.rect(W.x,W.y,W.width,W.height),H.clip()),yx(H,Y,v,p),Z?tx(H,Z,Be,!1,P,fd,$E($,"gradientPack")):_?Jx(H,_,BP,$U,qP,TP,i($,"repeatImageStretch"),P,i($,"repeatImageRotation"),t):(x&&(Q=oU($,"gradientColor")),lx(H,c,x,Q,P)),H.fill(b),Z&&H.restore(),K!=Kd&&H.restore(),o!==H&&yx(o,Y,v,p)):yx(o,Y,v,p):("roundRect"===z?X=i($,"cornerRadius"):"polygon"===z?(X=i($,"polygonSide"),d=i($,"cornerRadius"),l=i($,"regular")):"nStar"===z?(X=i($,"starSide"),d=i($,"cornerRadius"),l=i($,"starRatio"),J=i($,"regular")):"arc"===z&&(X=i($,"arcFrom"),d=i($,"arcTo"),l=i($,"arcClose"),J=i($,"arcOval")),c||_||Z?((K=i($,"fillClipPercentage"))!=Kd&&(W=rv(P,i($,"fillClipDirection"),K),H.save(),H.beginPath(),H.rect(W.x,W.y,W.width,W.height),H.clip()),dx(H,z,P,X,d,l,J),Z?tx(H,Z,Be,!1,P,fd,$E($,"gradientPack")):_?Jx(H,_,BP,$U,qP,TP,i($,"repeatImageStretch"),P,i($,"repeatImageRotation"),t):(x&&(Q=oU($,"gradientColor")),lx(H,c,x,Q,P)),H.fill(b),Z&&H.restore(),K!=Kd&&H.restore(),H!==o&&dx(o,z,P,X,d,l,J)):dx(o,z,P,X,d,l,J)),u&&n&&(H.save(),W=rP*Qd.devicePixelRatio,_=i($,"shadowOffsetX"),x=i($,"shadowOffsetY"),Q=i($,"shadowBlur"),b=oU($,"shadowColor"),H.shadowOffsetX=(_==fd?3:_)*W,H.shadowOffsetY=(x==fd?3:x)*W,H.shadowBlur=(Q==fd?6:Q)*W,H.shadowColor=b||oU(or),Z=P.x-50,K=P.y-50,u=P.width+100,n=P.height+100,_=!1,y?(yx(o,Y,v,p),H.clip(),yx(o,Y,v,p)):(dx(H,z,P,X,d,l,J),H.clip(),dx(H,z,P,X,d,l,J),["circle","star","hexagon","pentagon","diamond"].indexOf(z)<0&&(_=!0)),_?(H.moveTo(Z,K),H.lineTo(Z,K+n),H.lineTo(Z+u,K+n),H.lineTo(Z+u,K)):H.rect(Z,K,u,n),H.fillStyle=H.shadowColor,H.fill(),H.restore(),y?yx(o,Y,v,p):dx(o,z,P,X,d,l,J)),(x=i($,"borderWidthAbsolute"))&&eX(H,f=RA.TEMP_MATRIX),a&&(D||k||e)&&(H.lineWidth=a,e?((V=U3(P)).width<a?(V.width+=a,V.x-=.5*a):V.height<a&&(V.height+=a,V.y-=.5*a),tx(H,e,Be,!0,V,f,$E($,"borderGradientPack"))):k?Kx(H,k,BP,$U,qP,TP,i($,"borderRepeatImageStretch"),P,i($,"borderRepeatImageRotation"),t):H.strokeStyle=D,H.stroke(),e&&H.restore(),h&&Px(H,D,m,a,rP,S)),$K(H,O),i($,"dash")&&0<(Q=i($,"dashWidth")||a)&&(O=i($,"dashPattern")||K3,o=B_(H,O,i($,"dashOffset")),W=oU($,"dashColor")||oU(Ux),o!==H&&(y?yx(o,Y,v,p):dx(o,z,P,X,d,l,J)),H.lineWidth=Q,(b=i($,"dashGradientPack"))?((V=U3(P)).width<Q?(V.width+=Q,V.x-=.5*Q):V.height<Q&&(V.height+=Q,V.y-=.5*Q),tx(H,b,Be,!0,V,f,$E($,"dashGradientPack"))):H.strokeStyle=W,H.stroke(),b&&H.restore(),i($,"dash3d")&&Px(H,W,oU($,"dash3dColor"),Q,rP,i($,"dash3dAccuracy")),$K(H,O)),x&&H.restore(),z===kt&&Dx(H,c,i($,"depth"),P),H.lineJoin=G,H.lineCap=E,C&&AE()}}function sE($){H=$[0],qP=$[1],TP=$[2],rP=$[3],BP=$[4],$U=$[5],zU=$[6]}function gE($,z){if("function"!=typeof z&&null!==z)throw new TypeError("Super expression must either be null or a function");$.prototype=Jd.create(z&&z.prototype,{constructor:{value:$,writable:!0,configurable:!0}}),z&&XK($,z)}function YE($){return"Array]"===($=Jd.prototype.toString.call($)).substring($.length-6)}function vE($,z,C,o,M,A){z=z||[],C=C||[],o=o||[];try{z.push($);var N=Function.apply(0,z);return C[C.length]="return "+N,Function.apply(0,C).apply(0,o)}catch($){return A&&A($),M}}function OE($){return $}function tE($,z){return z}function cE($,z,C,o){var M=$?$.path.slice(0):[];z&&M.push(z),this.desc=C,this.name=z,this.path=lK(M),this.getter=KK(M),this.setter=fK(M),this.isLeaf=o,this.parent=$,this.children=[],this.childMap={}}function yE($){var z=[];return $.forEach(function($){z.push({x:$.x,y:$.y}),z.push({x:$.x+$.width,y:$.y+$.height}),z.push({x:$.x+$.width,y:$.y}),z.push({x:$.x,y:$.y+$.height})}),z}function _E($,z){return 0<$.dot(z)}function PE(){this._vertexMap={},this._lineMap={},this._lineList=[]}function ZE($,z,C,o,M,A,N){C=[C,M],$[0]===o&&C.reverse(),M=[C[0]._key,C[1]._key].join("|"),(o=$._triangles[M])||($._triangles[M]=o={}),o[C=[A._key,N._key].join("|")]||(o[C]=[A,N])}function XE($,z,C){var o=$._planes[C._key];if(!o)for(var M in $._planes)if((M=$._planes[M])._normal.angleTo(C)<.001){o=M;break}o?o._vertices.indexOf(z)<0&&o._vertices.push(z):$._planes[C._key]={_normal:C,_vertices:[z]}}function dE($,z){return 0===z?"0|0|0":(Math.abs(z)===1/0?[$.x,$.y,$.z]:[Math.round(JU.angleTo($)*z),Math.round(KU.angleTo($)*z),Math.round(fU.angleTo($)*z)]).join("|")}function lE($){for(var z=$.length,C=0,o=z-1,M=0;M<z;o=M++)C+=$[o].x*$[M].y-$[M].x*$[o].y;return.5*C}function JE($,z,C,o,M,A){z=new F(z.get(C)),A=A.apply(z),$.push({local:z,world:A,type:M,index:C,realIndex:o})}function KE(){var M={_calcShift:function($,z){var C=M.getBackup("_calcShift"),o=this.gv;return h.inEdit(o)&&o.getEditInteractor().getSubModule("Move").calcShift($,z,this)||C.call(this,$,z)},clear:function($){M.getBackup("clear").call(this,$);var z=this.gv;h.inEdit(z)&&z.getEditInteractor().getSubModule("Move").clear($)}};return M}function fE($,z){var C=$.x-z.x;return C*C+($=$.y-z.y)*$}function QE(z,C,$){return{def:z,getter:$?function($){return 1<cz.for($).version?$.getParameter(C):z}:function($){return $.getParameter(C)},setter:$?function($,z){1<cz.for($).version&&$.pixelStorei(C,z)}:function($,z){$.pixelStorei(C,z)}}}function WE($){return"string"==typeof $?Yx($):$.r!==Kd?(WS[0]=$.r,WS[1]=$.g,WS[2]=$.b,WS[3]=$.a,WS):$.red!==Kd?(WS[0]=$.red,WS[1]=$.green,WS[2]=$.blue,WS[3]=$.alpha,WS):$}function VE($){return YE($)?Array.prototype.slice.call($,0):$}function eE($,z,C){this.gl=z,this._record=C||{},this._branches={},this._leafSync={};for(var o=(this._struct=$).children,M=o.length;M--;){var A=o[M],N=A.name;A.isLeaf?(this._leafSync[N]=!1,this._record[N]=VE(A.desc.def)):this._record[N]={}}}function DE($,z){var C=$.duration,o=z.start,M=z.duration;o&&C<o||M&&C<M+(o||0)||(o&&($.start=o),C!==(M=M||C-(o||0))&&($.duration=M,$.rawDuration=C),z.default&&($.default=!0),z.speed!==Kd&&($.speed=z.speed),z.loop&&($.loop=z.loop))}function aE($,z,C){var o,M,A,N=z.name;if(eS[N]){do{if(DS=z.sourceShortName+"#"+N,!eS[DS])break;if(z.sources&&z.sources.length&&(DS+=z.sources.join("#")),!eS[DS])break;for(var N=DS,s=1;DS=N+"$"+s++,eS[DS];);}while(0);eS[DS]=!0,N=z.name=DS}else eS[N]=!0;if(C)for(o in(A=C[N])&&(A.invalid?z._toBeRemoved=!0:(A.name&&(z.rawName=N,z.name=A.name),DE(z,A))),C)(A=C[o]).source!==N||eS[o]||(eS[o]=!0,(M=Jd.assign({},z)).name=o,M.source=N,M.rawDuration&&(M.duration=M.rawDuration,delete M.rawDuration),DE(M,A),$.push(M))}function kE($,z,C,o,M,A){(N=$[z])||(N=$[z]={vs:[],ns:[],uv:[]});var N,o=o.toArray(),s=n1(o),g=C.vs,Y=C.uv,v=C.ns,O=C.is;if(M!==Kd){var t=new Array(A);if(O)for(var c=0;c<A;c++)t[c]=O[M+c];else for(c=0;c<A;c++)t[c]=M+c;O=t}if(!Y)for(var c=0,y=(Y=new Array(g.length/3*2)).length;c<y;c++)Y[c]=0;ap(o,N,g,Y,O,v,s),(N.vs&&N.vs.length>xS||N.is&&N.is.length>kS)&&(C=B.generateUUID(),N.material=z,$[C]=N,$[z]={vs:[],ns:[],uv:[]})}function xE($,z){if(!z)return-1;var C=$.indexOf(z);return-1===C?($.push(z),$.length-1):C}function pE($,z,C,o,M,A){var N=[],C=(N.push(xE(C,z.vs)),N.push(xE(o,z.uv)),N.push(xE(M,z.ns)),N.push(xE(A,z.is)),$.mat),s=(ed(C)?N.push(C.join("|")):Dv(C)&&N.push(Qd.stringify(C,0)),C&&N.push(C),$.subMeshes);if(s)for(var g=0,Y=s.length;g<Y;g++){var v=(t=s[g]).materialIndex,O=t.start,t=t.count;N.push("i"+v+"s"+O+"c"+t)}return N.join(",")}function bE($,z){return $&&($[0]!==(z=z?1:0)||$[1]!==z||$[2]!==z)}function uE($,z,C){if(C){var o=z.mesh,M=z.matrix;LS.multiplyMatrices(C.mi,M);for(var A=0,N=C.data,s=C.m,g=N.length;A<g;A+=16){var Y=(new ad).fromArray(N,A);Y.premultiply(s).multiply(LS),$.push({matrix:Y,mesh:o,model:z.model})}}else $.push(z)}function nE($,z){z&&(z.isRenderTarget?z.release():Wz(z)&&$.deleteTexture(z))}function RE($,z,C,o,M,A,N,s,g,Y,v,O,t){N=N||0;for(var c=[],y=s?new Dd:fd,_=0;_<=M;_++){var P=Nz($,z,C,_,v,O,o,t);c.push(P),A!=fd&&(P.uv=[A,1-_/M+N])}if(s){for(_=0;_<M;_++)y.subVectors(c[_],c[_+1]),0==y.lengthSq()&&y.copy(z),Y&&(g=c[_].clone().sub(Y[_])),y.cross(g).normalize(),c[_].ns=y.toArray();c[_].ns=c[_-1].ns}return c}function IE($,z,C,o,M,A,N,s,g,Y,v,O,t,c,y){if(!(O.length<3||0==g)){var _=z?$.top_vs:$.bottom_vs;if(_){var P,Z,X,d,l=z?$.top_uv:$.bottom_uv,J=im.triangulateShape(O,c),K=RE(C,o,M,Y,v,A,N,!1,s,null,O,t,y),f=c.length;for(l&&(Z=O.slice(0)),D=0;D<f;D++)if(P=RE(C,o,M,Y,c[D].length-1,A,N,!1,s,null,c[D],t,y))for(X=P.length,d=0;d<X;d++)K.push(P[d]),l&&Z.push(c[D][d]);for(var Q,W,V,e=J.length,D=0;D<e;D++)V=J[D],V=z?(Q=V[2],W=V[1],V[0]):(Q=V[0],W=V[1],V[2]),nw(_,K[Q],K[W],K[V]),l&&l.push(.5+Z[Q].x/g,.5+Z[Q].y/g,.5+Z[W].x/g,.5+Z[W].y/g,.5+Z[V].x/g,.5+Z[V].y/g)}}}function hE($,z){return $?(0!==z&&(z=z%1||1)<0&&(z+=1),.5-ew($,z).point.x):1}function mE(C){var o={};return{get:function($){if(o[$]!==Kd)return o[$];var z;switch($){case"WEBGL_depth_texture":z=C.getExtension("WEBGL_depth_texture")||C.getExtension("MOZ_WEBGL_depth_texture")||C.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":z=C.getExtension("EXT_texture_filter_anisotropic")||C.getExtension("MOZ_EXT_texture_filter_anisotropic")||C.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":z=C.getExtension("WEBGL_compressed_texture_s3tc")||C.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||C.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":z=C.getExtension("WEBGL_compressed_texture_pvrtc")||C.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;case"WEBGL_compressed_texture_etc1":z=C.getExtension("WEBGL_compressed_texture_etc1");break;default:z=C.getExtension($)}return o[$]=z}}}function SE(z,C,$){var o;function M($){if("highp"===$){if(0<z.getShaderPrecisionFormat(35633,36338).precision&&0<z.getShaderPrecisionFormat(35632,36338).precision)return"highp";$="mediump"}return"mediump"===$&&0<z.getShaderPrecisionFormat(35633,36337).precision&&0<z.getShaderPrecisionFormat(35632,36337).precision?"mediump":"lowp"}$=$||{};var A,N="undefined"!=typeof WebGL2RenderingContext&&z instanceof WebGL2RenderingContext,s=$.precision!==Kd?$.precision:"highp",g=((g=M(s))!==s&&(console.warn("WebGL:",s,"not supported, using",g,"instead."),s=g),!0===$.logarithmicDepthBuffer),$=z.getParameter(34930),Y=z.getParameter(35660),v=z.getParameter(3379),O=z.getParameter(34076),t=z.getParameter(34921),c=z.getParameter(36347),y=z.getParameter(36348),_=z.getParameter(36349),P=0<Y,Z=N||!!C.get("OES_texture_float"),X=(N||!!C.get("OES_element_index_uint"))&&"undefined"!=typeof Uint32Array,d=P&&Z,l=N?z.getParameter(36183):0,J=N||!!C.get("EXT_shader_texture_lod"),K=!1;return N?K=!0:(A=C.get("ANGLE_instanced_arrays"))&&(K=!0,z.vertexAttribDivisor=function($,z){return A.vertexAttribDivisorANGLE($,z)},z.drawElementsInstanced=function($,z,C,o,M){return A.drawElementsInstancedANGLE($,z,C,o,M)},z.drawArraysInstanced=function($,z,C,o){return A.drawArraysInstancedANGLE($,z,C,o)}),N?C.get("EXT_color_buffer_float"):(C.get("WEBGL_depth_texture"),C.get("OES_texture_half_float"),C.get("OES_texture_half_float_linear"),C.get("OES_standard_derivatives"),C.get("OES_vertex_array_object")),C.get("OES_texture_float_linear"),C.get("EXT_color_buffer_half_float"),C.get("WEBGL_multisampled_render_to_texture"),{isWebGL2:N,getMaxAnisotropy:function(){if(o!==Kd)return o;var $=C.get("EXT_texture_filter_anisotropic");return o=null!==$?z.getParameter($.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0},getMaxPrecision:M,precision:s,precisionString:"precision "+s+" float;\nprecision "+s+" int;\n",logarithmicDepthBuffer:g,maxTextures:$,maxVertexTextures:Y,maxTextureSize:v,maxCubemapSize:O,maxAttributes:t,maxVertexUniforms:c,maxVaryings:y,maxFragmentUniforms:_,vertexTextures:P,floatFragmentTextures:Z,elementTypeUint:X,floatVertexTextures:d,maxSamples:l,shaderTextureLod:J,instancedArray:K}}function GE(z,M,$,C){if(C||!$.isWebGL2||"undefined"==typeof WeakMap)return{supportsUbo:!1,setCurrentFrameRenderId:k};var o,A={},C=M.getParameter(35375),N=new WeakMap;return(o=A.scene=new A9(M,0,"scene","Scene")).addUniform("uProjectMatrix",16),o.addUniform("uViewMatrix",16),o.addUniform("uCameraPosition",3),o.addUniform("uTime",1),o.addUniform("toneMappingExposure",1),o.addUniform("uFogColor",4),o.addUniform("uFogDensity",1),o.addUniform("uFogNear",1),o.addUniform("uFogFar",1),o.attachSource(),["pbr","phong"].forEach(function($){(o=A[$]=new A9(M,1,$,"Material")).addUniform("aoMapIntensity",1),o.addUniform("lightMapIntensity",1),o.addUniform("displacementScale",1),o.addUniform("displacementBias",1),o.addUniform("diffuse",3),o.addUniform("emissive",3),o.addUniform("normalScale",2),o.addUniform("opacity",1),o.addUniform("alphaTest",1),o.addUniform("fresnelIntensity",1),o.addUniform("uUvMatrix",12),o.addUniform("uUv2Matrix",12),"pbr"===$?(o.addUniform("roughness",1),o.addUniform("metalness",1),o.addUniform("transmission",1),o.addUniform("thickness",1),o.addUniform("ior",1),o.addUniform("specularIntensity",1),o.addUniform("rimPower",1),o.addUniform("rimColor",3),o.addUniform("specularColor",3)):(o.addUniform("shininess",1),o.addUniform("refractionRatio",1),o.addUniform("specular",3))}),{supportsUbo:!0,maxBindingPoints:C,setCurrentFrameRenderId:function($){($=A.scene).attachSource(),$.uProjectMatrix=z._projectMatrix,$.uViewMatrix=z._viewMatrix,$.uCameraPosition=z._camera?z._camera.p3():z.getEye(),$.uTime=z.__uptime,$.toneMappingExposure=z.getToneMappingExposure(),$.uFogColor=Yx(z._fogColor),$.uFogDensity=z._fogDensity,$.uFogNear=z._fogNear,$.uFogFar=z._fogFar},updateAndBind:function($,z){var C,$=A[$],o=N.get(z);o===Kd&&(o=new WeakMap,N.set(z,o)),o.get($)===Kd&&(C=M.getUniformBlockIndex(z,$.name),M.uniformBlockBinding(z,C,$.bindingPointIndex),o.set($,C))},attachUbo:function($,z,C){return A[$].attachSource(z,C)}}}function EE($,z,C){if(C instanceof U.Node){var o=U.Default.getShape3dModel(C.s("shape3d")),M=[-.5,-.5,-.5],A=[.5,.5,.5],N=(o&&o.boundingBox&&(M=o.boundingBox.min,A=o.boundingBox.max),[M[0],M[1],M[2],M[0],M[1],A[2],M[0],A[1],M[2],M[0],A[1],A[2],A[0],M[1],M[2],A[0],M[1],A[2],A[0],A[1],M[2],A[0],A[1],A[2]]),s=(AZ.fromArray(L_(C,z.getMat(C))),C.getAnchor3d());s.x=s.x-.5,s.y=s.y-.5,s.z=s.z-.5;for(var g=0;g<24;g+=3)$.push((new Dd).set(N[g]-s.x,N[g+1]-s.y,N[g+2]-s.z).applyMatrix4(AZ))}}function HE($,z){var C=this._attrObject;return C&&$ in C||(C=this._textureAttrObject)&&$ in C?C[$]:this._getAttrBackupFunc($,z)}function iE($,z){if(eZ(z))return $.deleteTexture(z)}function FE($,z,C){var o=$[z];o&&o.releaseTexture(),C?$[z]=C:delete $[z]}function jE($,z){return $.z!==z.z?z.z-$.z:$.id-z.id}function UE($,z){var C=z>>24&255;if(C<128){var o=$._outside;if(o)return o(z>>16&255,z>>8&255,255&z,C)}return $[2147483647&z]}function LE($,z,C,o,M,A,N,s,g,Y,v){return!($<0||A<=$||z<0||M<=z)&&(!(g=UE(Y,M=(g[A=4*($*M+z)]<<16)+(g[1+A]<<8)+g[2+A]+(g[3+A]<<24)))||v&&!1===v(g,Math.round((C+z)/s),Math.round(N-1-(o+$))/s)?void 0:g)}function wE($,z,C,o,M,A,N,s){return N||(N=$._cacheIdx=$._cacheIdx+1&3,$._cacheQuery[N]=[z,C,o,M,A,s],$._cacheLength=Math.min($._cacheLength+1,4)),s}function qE(){var $=new Dd;return $.subVectors(BZ,rZ),oi.subVectors(TZ,rZ),$.cross(oi).normalize(),$}function TE($,z){z._reflecting=!1,$.getRenderState().useProgram($._prg)}function rE($,z,C){$&&(Dv($)?z.push($):qh.test($)&&(C[$]=1))}function BE($,z){return NC(z/1e3)}function $T($,z,C){$.animatable.evaluate(z,C,$.weight)}function zT($,z){var C,o;z=B.roundFloat(z,3),$.speed=z,$.baseDirection=$.direction=0<z?1:-1,$.loop===IC.Once&&(C=$.duration,o=$.start,z=0===z||0===C?o:(z<0?Math.floor((o-1e-8)/C):Math.ceil((o+1e-8)/C))*C,$.end=z),$.interval}function CT(){if(vC){for(var $ in YC)YC[$].resolve();vC=!(YC={})}}function oT($,z,C,o,M,A){$.clip?o?$.evaluateImmediately(z,C):$.evaluate(z,C):$ instanceof DC?$.evaluateImpl(z,C,o,M,A):$.evaluate(z,C)}function MT($){return $&&$.states||null}function AT($){return $?Jd.keys($):null}}("undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:(0,eval)("this"),Object); |