diff --git a/p__knowledgegraph__Detail__id.13fdeaf6.async.js b/p__knowledgegraph__Detail__id.6c55172a.async.js similarity index 96% rename from p__knowledgegraph__Detail__id.13fdeaf6.async.js rename to p__knowledgegraph__Detail__id.6c55172a.async.js index 105354262c..a2b8135f07 100644 --- a/p__knowledgegraph__Detail__id.13fdeaf6.async.js +++ b/p__knowledgegraph__Detail__id.6c55172a.async.js @@ -1,4 +1,4 @@ -!(function(){var ese=Object.defineProperty,tse=Object.defineProperties;var nse=Object.getOwnPropertyDescriptors;var Rk=Object.getOwnPropertySymbols,ise=Object.getPrototypeOf,rse=Object.prototype.hasOwnProperty,ose=Object.prototype.propertyIsEnumerable,sse=Reflect.get;var XL=Math.pow,Ok=(qt,xi,Je)=>xi in qt?ese(qt,xi,{enumerable:!0,configurable:!0,writable:!0,value:Je}):qt[xi]=Je,Sh=(qt,xi)=>{for(var Je in xi||(xi={}))rse.call(xi,Je)&&Ok(qt,Je,xi[Je]);if(Rk)for(var Je of Rk(xi))ose.call(xi,Je)&&Ok(qt,Je,xi[Je]);return qt},NA=(qt,xi)=>tse(qt,nse(xi));var kk=(qt,xi,Je)=>sse(ise(qt),Je,xi);var la=(qt,xi,Je)=>new Promise((Fe,xt)=>{var jt=zt=>{try{It(Je.next(zt))}catch(wt){xt(wt)}},kt=zt=>{try{It(Je.throw(zt))}catch(wt){xt(wt)}},It=zt=>zt.done?Fe(zt.value):Promise.resolve(zt.value).then(jt,kt);It((Je=Je.apply(qt,xi)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[8823],{8336:function(){"use strict"},12469:function(){"use strict"},99587:function(qt,xi){"use strict";xi.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},22982:function(qt,xi){"use strict";xi.Z={flex_box_center:"flex_box_center___IBr6x",flex_space_between:"flex_space_between___n2Iz0",flex_box_vertical_center:"flex_box_vertical_center___1umwO",flex_box_center_end:"flex_box_center_end___SRZYb",flex_box_column:"flex_box_column___b90Da",form:"form___V3fAH",title_icon:"title_icon____uDZy",title:"title___RxKwK",content:"content___vFT5m",pubColSty:"pubColSty___dfLkL",selectSty:"selectSty____Wuek",borderSty:"borderSty___EuFYV",delSty:"delSty___AdEeI",delBorder:"delBorder___vcTJc",copHover:"copHover___JVVXI",multiple_select:"multiple_select___ZMPhl",work_checkbox_group:"work_checkbox_group___sGLxY"}},87108:function(qt,xi){"use strict";xi.Z={flex_box_center:"flex_box_center___vhwFp",flex_space_between:"flex_space_between___rbHwE",flex_box_vertical_center:"flex_box_vertical_center___AF_yr",flex_box_center_end:"flex_box_center_end___FqGSd",flex_box_column:"flex_box_column___ujWr7",failedList:"failedList___KGsCg",name:"name___bbsWC",publish:"publish___mai8J",modal:"modal___t6wU6"}},63720:function(){"use strict";function qt(Ke,ue,ce,Ee){ce===void 0&&(ce=0),Ee===void 0&&(Ee=1/0),this._name=Ke,this._defaultValue=ue,this._minimum=ce,this._maximum=Ee}Object.defineProperty(qt.prototype,"name",{get:function(){return this._name},set:function(Ke){if(typeof Ke!="string"||Ke==="")throw new Error("Shape name must be a valid string.");this._name=Ke}}),Object.defineProperty(qt.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(Ke){if(typeof Ke!="number"||isNaN(Ke))throw new Error("The default value must be a real number, not: "+Ke);this._defaultValue=Ke}}),Object.defineProperty(qt.prototype,"minimum",{get:function(){return this._minimum},set:function(Ke){if(typeof Ke!="number"||isNaN(Ke))throw new Error("Minimum must be a real number, not: "+Ke);this._minimum=Ke}}),Object.defineProperty(qt.prototype,"maximum",{get:function(){return this._maximum},set:function(Ke){if(typeof Ke!="number"||isNaN(Ke))throw new Error("Maximum must be a real number, not: "+Ke);this._maximum=Ke}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(Ke,ue){var ce=go.Shape._FigureParameters[Ke];return ce?ce[ue]:null},go.Shape.setFigureParameter=function(Ke,ue,ce){if(!(ce instanceof qt))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+ce);if(ce.defaultValuece.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+ce.defaultValue);var Ee=go.Shape._FigureParameters[Ke];Ee||(Ee=[],go.Shape._FigureParameters[Ke]=Ee),Ee[ue]=ce};var xi=[];function Je(Ke,ue){var ce=xi.pop();return ce===void 0?new go.Point(Ke,ue):(ce.x=Ke,ce.y=ue,ce)}function Fe(){var Ke=xi.pop();return Ke===void 0?new go.Point:Ke}function xt(Ke){xi.push(Ke)}function jt(Ke,ue,ce,Ee,Ae,Be,Ne,Ue,nt){nt||(nt=new go.Point);var ft=Ke-ce,St=Ae-Ne,Nt=NaN,Bt=NaN;if(ft===0)if(St===0)Ke===ce&&(Nt=Ke,Bt=ue);else{var bt=(Be-Ue)/St,ln=Be-bt*Ae;Nt=Ke,Bt=bt*Nt+ln}else if(St===0){var Kt=(ue-Ee)/ft,ni=ue-Kt*Ke;Nt=Ae,Bt=Kt*Nt+ni}else{var Kt=(ue-Ee)/ft,bt=(Be-Ue)/St,ni=ue-Kt*Ke,ln=Be-bt*Ae;Nt=(ln-ni)/(Kt-bt),Bt=Kt*Nt+ni}return nt.x=Nt,nt.y=Bt,nt}function kt(Ke,ue,ce,Ee,Ae,Be,Ne,Ue,nt,ft,St,Nt,Bt,bt){var ln=1-nt,Kt=nt,ni=Ke*ln+ce*Kt,pn=ue*ln+Ee*Kt,ci=ce*ln+Ae*Kt,di=Ee*ln+Be*Kt,Ln=Ae*ln+Ne*Kt,si=Be*ln+Ue*Kt,gr=ni*ln+ci*Kt,Ht=pn*ln+di*Kt,Et=ci*ln+Ln*Kt,Si=di*ln+si*Kt,_r=gr*ln+Et*Kt,zr=Ht*ln+Si*Kt;ft.x=ni,ft.y=pn,St.x=gr,St.y=Ht,Nt.x=_r,Nt.y=zr,Bt.x=Et,Bt.y=Si,bt.x=Ln,bt.y=si}var It=new go.Spot(.156,.156),zt=new go.Spot(.844,.844),wt=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new qt("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=5),Ee=Math.min(Ee,ue/3),Ee=Math.min(Ee,ce/3);var Ae=Ee*wt,Be=new go.Geometry().add(new go.PathFigure(Ee,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0)).add(new go.PathSegment(go.PathSegment.Bezier,ue,Ee,ue-Ae,0,ue,Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ee)).add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue,ce-Ae,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ee,ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ee,Ae,ce,0,ce-Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ee)).add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,Ae,Ae,0).close()));return Ae>1&&(Be.spot1=new go.Spot(0,0,Ae,Ae),Be.spot2=new go.Spot(1,1,-Ae,-Ae)),Be}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,ce).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,ce).add(new go.PathSegment(go.PathSegment.Line,0,ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=0,Ee.startY=ce/2,Ee.endX=ue,Ee.endY=ce/2,Ee}),go.Shape.defineFigureGenerator("LineV",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=ue/2,Ee.startY=0,Ee.endX=ue/2,Ee.endY=ce,Ee}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce/2,!1).add(new go.PathSegment(go.PathSegment.Line,ue,ce/2)).add(new go.PathSegment(go.PathSegment.Move,ue/2,0)).add(new go.PathSegment(go.PathSegment.Line,ue/2,ce)))}),go.Shape.defineFigureGenerator("XLine",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)))}),go.Shape.defineFigureGenerator("LineRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.25*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.25*ue,ce)))}),go.Shape.defineFigureGenerator("LineDown",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,.25*ce,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.75*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)))}),go.Shape.defineFigureGenerator("LineLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.75*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.75*ue,ce)))}),go.Shape.defineFigureGenerator("LineUp",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,.75*ce,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(Ke,ue,ce){var Ee=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(Ee*ue,(1-Ee)*ce,!1).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Move,Ee*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,(1-Ee)*ce)).add(new go.PathSegment(go.PathSegment.Move,0,ce/2)).add(new go.PathSegment(go.PathSegment.Line,ue,ce/2)).add(new go.PathSegment(go.PathSegment.Move,ue/2,0)).add(new go.PathSegment(go.PathSegment.Line,ue/2,ce)))}),go.Shape.defineFigureGenerator("CircleLine",function(Ke,ue,ce){var Ee=ue/2,Ae=new go.Geometry().add(new go.PathFigure(ue,ue/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,Ee,Ee,Ee,Ee).close()));return Ae.spot1=It,Ae.spot2=zt,Ae.defaultStretch=go.GraphObject.Uniform,Ae}),go.Shape.defineFigureGenerator("Line1",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=0,Ee.startY=0,Ee.endX=ue,Ee.endY=ce,Ee}),go.Shape.defineFigureGenerator("Line2",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=ue,Ee.startY=0,Ee.endX=0,Ee.endY=ce,Ee}),go.Shape.defineFigureGenerator("Curve1",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,wt*ue,0,ue,(1-wt)*ce)))}),go.Shape.defineFigureGenerator("Curve2",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,0,wt*ce,(1-wt)*ue,ce)))}),go.Shape.defineFigureGenerator("Curve3",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,ue,wt*ce,wt*ue,ce)))}),go.Shape.defineFigureGenerator("Curve4",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,(1-wt)*ue,0,0,(1-wt)*ce)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new qt("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)?Ee=.1:Ee<-1?Ee=-1:Ee>1&&(Ee=1);var Ae=Math.abs(Ee)*ue;if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Aeue&&(Ee=ue);var Ae=Math.abs(Ee);if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Ae.5&&(Ee=.5);var Ae=Math.abs(Ee)*ue;if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Aeue&&(Ee=ue/2);var Ae=Math.abs(Ee);if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Aeue&&(Ee=ue/2);var Ae=Math.abs(Ee);if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())):Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())),Ae0&&(Ne.add(new go.PathSegment(go.PathSegment.Move,ue/2+Ue,ue/2)),Ne.add(new go.PathSegment(go.PathSegment.Arc,0,-360,Ae,Ae,Ue,Ue).close())),Be.spot1=It,Be.spot2=zt,Be.defaultStretch=go.GraphObject.Uniform,Be}),go.Shape.defineFigureGenerator("Cloud",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.08034461*ue,.1944299*ce,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*ue,.05349299*ce,-.09239631*ue,.07836421*ce,.1406031*ue,-.0542823*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*ue,.074219*ce,.2450511*ue,-.00697547*ce,.3776197*ue,-.01112067*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*ue,.07004196*ce,.4539471*ue,0,.6066018*ue,-.02526587*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*ue,.08370865*ce,.6914277*ue,-.01904177*ce,.8921095*ue,-.01220843*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*ue,.3194596*ce,1.036446*ue,.04105738*ce,1.020377*ue,.3022052*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*ue,.562044*ce,1.04448*ue,.360238*ce,.992256*ue,.5219009*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*ue,.8217117*ce,1.032337*ue,.5771781*ce,1.018411*ue,.8120651*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*ue,.9156953*ce,1.028411*ue,.9571472*ce,.8556702*ue,1.052487*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*ue,.9310455*ce,.7431877*ue,1.009325*ce,.5624123*ue,1.021761*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*ue,.9344623*ce,.4820677*ue,1.031761*ce,.3030112*ue,1.002796*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ue,.870098*ce,.2329994*ue,1.01518*ce,.03213784*ue,1.01518*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*ue,.6545475*ce,-.02812061*ue,.9032597*ce,-.01205169*ue,.6835638*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*ue,.4265613*ce,-.01812061*ue,.6089503*ce,-.00606892*ue,.4555777*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ue,.1944299*ce,-.01606892*ue,.3892545*ce,-.01205169*ue,.1944299*ce))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(Ke,ue,ce){var Ee=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(Ee*ue,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ee)*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,Ee*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,(1-Ee)*ce)).add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce).close())).setSpots(Ee/2,Ee/2,1-Ee/2,1-Ee/2)}),go.Shape.setFigureParameter("Pie",0,new qt("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new qt("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN,Ae=Ke?Ke.parameter2:NaN;isNaN(Ee)&&(Ee=0),isNaN(Ae)&&(Ae=315);var Be=Ee%360;Be<0&&(Be+=360);var Ne=Ae%360,Ue=Math.min(ue,ce)/2;return new go.Geometry().add(new go.PathFigure(Ue,Ue).add(new go.PathSegment(go.PathSegment.Arc,Be,Ne,Ue,Ue,Ue,Ue).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(Ke,ue,ce){var Ee=wt/Math.SQRT2*.5,Ae=Math.SQRT2/2,Be=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(ue,ce,!0).add(new go.PathSegment(go.PathSegment.Bezier,Ae*ue,Be*ce,ue,(1-Ee)*ce,(Ae+Ee)*ue,(Be+Ee)*ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close()))}),go.Shape.setFigureParameter("ThickCross",0,new qt("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=30);var Ae=Math.min(Ee,ue)/2,Be=ue/2,Ne=ce/2;return new go.Geometry().add(new go.PathFigure(Be-Ae,0,!0).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,0)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne-Ae).close()))}),go.Shape.setFigureParameter("ThinCross",0,new qt("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=10);var Ae=Math.min(Ee,ue)/2,Be=ue/2,Ne=ce/2;return new go.Geometry().add(new go.PathFigure(Be-Ae,0,!0).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,0)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne-Ae).close()))}),go.Shape.setFigureParameter("ThickX",0,new qt("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;if((isNaN(Ee)||Ee<0)&&(Ee=30),ue===0||ce===0){var Ae=new go.Geometry(go.Geometry.Rectangle);return Ae.startX=0,Ae.startY=0,Ae.endX=ue,Ae.endY=ce,Ae}else{var Be=ue/2,Ne=ce/2,Ue=Math.atan2(ce,ue),nt=Ee-Math.min(Math.cos(Ue)*Ee/2,Be),ft=Ee-Math.min(Math.sin(Ue)*Ee/2,Ne),Ae=new go.Geometry,St=new go.PathFigure(nt,0,!0);return Ae.add(St),St.add(new go.PathSegment(go.PathSegment.Line,Be,.2*ce)),St.add(new go.PathSegment(go.PathSegment.Line,ue-nt,0)),St.add(new go.PathSegment(go.PathSegment.Line,ue,ft)),St.add(new go.PathSegment(go.PathSegment.Line,.8*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,ue,ce-ft)),St.add(new go.PathSegment(go.PathSegment.Line,ue-nt,ce)),St.add(new go.PathSegment(go.PathSegment.Line,Be,.8*ce)),St.add(new go.PathSegment(go.PathSegment.Line,nt,ce)),St.add(new go.PathSegment(go.PathSegment.Line,0,ce-ft)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,0,ft).close()),Ae}}),go.Shape.setFigureParameter("ThinX",0,new qt("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=10);var Ae=new go.Geometry,Be=new go.PathFigure(.1*ue,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.9*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce).close()),Ae}),go.Shape.setFigureParameter("SquareIBeam",0,new qt("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.2);var Ae=new go.Geometry,Be=new go.PathFigure(0,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5+Ee/2)*ue,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5+Ee/2)*ue,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5-Ee/2)*ue,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5-Ee/2)*ue,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce).close()),Ae}),go.Shape.setFigureParameter("RoundedIBeam",0,new qt("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.5);var Ae=new go.Geometry,Be=new go.PathFigure(0,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,Math.abs(1-Ee)*ue,.25*ce,Math.abs(1-Ee)*ue,.75*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,0,0,Ee*ue,.75*ce,Ee*ue,.25*ce).close()),Ae}),go.Shape.defineFigureGenerator("HalfEllipse",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,wt*ue,0,ue,(.5-wt/2)*ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,ue,(.5+wt/2)*ce,wt*ue,ce).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,ue,0,ue,ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*ue,.75*ce,.5*ue,.25*ce).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,ce,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ce,.1*ue,.8*ce,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.3*ce,0,0,.45*ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,ue,.3*ce,.55*ue,0,ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,.5*ce,.9*ue,.8*ce).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*ue,.01*ce)).add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,.6*ue,.2*ce,ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ue,.7*ce,ue,.8*ce,.6*ue,.8*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,ce,.5*ue,.75*ce,.55*ue,.95*ce)).add(new go.PathSegment(go.PathSegment.Line,.25*ue,ce)).add(new go.PathSegment(go.PathSegment.Bezier,.45*ue,.7*ce,.45*ue,.95*ce,.5*ue,.75*ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,.4*ue,.8*ce,0,.8*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.49*ue,.01*ce,0,.25*ce,.4*ue,.2*ce).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.4*ue,.6*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.15*ue,ce,.5*ue,.75*ce,.45*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.6*ue,.6*ce,.55*ue,.95*ce,.5*ue,.75*ce));var Be=.2,Ne=.3,Ue=0,nt=Be*wt;return Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5+Be+Ue)*ce,(.5-Be+Ne)*ue,(.5+nt+Ue)*ce,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Be+Ne)*ue,(.5+Ue)*ce,(.5+nt+Ne)*ue,(.5+Be+Ue)*ce,(.5+Be+Ne)*ue,(.5+nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5-Be+Ue)*ce,(1-.5+Be+Ne)*ue,(.5-nt+Ue)*ce,(.5+nt+Ne)*ue,(.5-Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.65*ue,.36771243*ce,(.5-nt+Ne)*ue,(.5-Be+Ue)*ce,(.5-Be+Ne+.05)*ue,(.5-nt+Ue-.02)*ce)),Be=.2,Ne=0,Ue=-.3,nt=Be*wt,Ae.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Be+Ne)*ue,(.5+Ue)*ce,(.5+nt+Ne)*ue,(.5+Be+Ue)*ce,(.5+Be+Ne)*ue,(.5+nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5-Be+Ue)*ce,(1-.5+Be+Ne)*ue,(.5-nt+Ue)*ce,(.5+nt+Ne)*ue,(.5-Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Be+Ne)*ue,(.5+Ue)*ce,(.5-nt+Ne)*ue,(.5-Be+Ue)*ce,(.5-Be+Ne)*ue,(.5-nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce,(.5-Be+Ne)*ue,(.5+nt+Ue)*ce,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce)),Be=.2,Ne=-.3,Ue=0,nt=Be*wt,Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5-Be+Ue)*ce,(1-.5+Be+Ne-.05)*ue,(.5-nt+Ue-.02)*ce,(.5+nt+Ne)*ue,(.5-Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Be+Ne)*ue,(.5+Ue)*ce,(.5-nt+Ne)*ue,(.5-Be+Ue)*ce,(.5-Be+Ne)*ue,(.5-nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5+Be+Ue)*ce,(.5-Be+Ne)*ue,(.5+nt+Ue)*ce,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,.6*ce,(.5+nt+Ne)*ue,(.5+Be+Ue)*ce,(.5+Be+Ne)*ue,(.5+nt+Ue)*ce).close()),Ee.setSpots(.06,.33,.93,.68),Ee}),go.Shape.defineFigureGenerator("YinYang",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.5,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,180,ue*.5,ue*.5,ue*.5,ue*.5)),Ae.add(new go.PathSegment(go.PathSegment.Arc,90,-180,ue*.5,ue*.75,ue*.25,ue*.25)),Ae.add(new go.PathSegment(go.PathSegment.Arc,90,180,ue*.5,ue*.25,ue*.25,ue*.25));var Be=.1,Ne=.5,Ue=.25;return Ae.add(new go.PathSegment(go.PathSegment.Move,(Ne+Be)*ue,Ue*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,0,-360,ue*Ne,ce*Ue,Be*ue,Be*ue).close()),Ae=new go.PathFigure(ue*.5,0,!1),Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ue*.5,ue*.5,ue*.5,ue*.5)),Ue=.75,Ae=new go.PathFigure((Ne+Be)*ue,Ue*ce,!0),Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,0,360,ue*Ne,ce*Ue,Be*ue,Be*ue).close()),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("Peace",function(Ke,ue,ce){var Ee=.8535533905932737,Ae=.5*ue,Be=.5*ce;return new go.Geometry().add(new go.PathFigure(Ae,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,Ae,Be,Ae,Be)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce)).add(new go.PathSegment(go.PathSegment.Move,Ae,Be)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Move,Ae,Be)).add(new go.PathSegment(go.PathSegment.Line,Ee*ue,Ee*ce)))}),go.Shape.defineFigureGenerator("NotAllowed",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=.5,Ue=.5,nt=new go.PathFigure(Ne*ue,(Ue-Be)*ce);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),Be=.4,Ae=wt*.4;var ft=Fe(),St=Fe(),Nt=Fe(),Bt=Fe();kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.42,ft,St,Nt,Bt,Bt);var bt=Fe(),ln=Fe(),Kt=Fe();kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.58,Bt,Bt,Kt,bt,ln);var ni=Fe(),pn=Fe(),ci=Fe();kt(Ne,Ue+Be,Ne-Ae,Ue+Be,Ne-Be,Ue+Ae,Ne-Be,Ue,.42,ni,pn,ci,Bt,Bt);var di=Fe(),Ln=Fe(),si=Fe();return kt(Ne,Ue+Be,Ne-Ae,Ue+Be,Ne-Be,Ue+Ae,Ne-Be,Ue,.58,Bt,Bt,si,di,Ln),nt.add(new go.PathSegment(go.PathSegment.Move,si.x*ue,si.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,di.x*ue,di.y*ce,Ln.x*ue,Ln.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Nt.x*ue,Nt.y*ce,ft.x*ue,ft.y*ce,St.x*ue,St.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,si.x*ue,si.y*ce).close()),nt.add(new go.PathSegment(go.PathSegment.Move,ci.x*ue,ci.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,Kt.x*ue,Kt.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,bt.x*ue,bt.y*ce,ln.x*ue,ln.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,ci.x*ue,ci.y*ce,ni.x*ue,ni.y*ce,pn.x*ue,pn.y*ce).close()),xt(ft),xt(St),xt(Nt),xt(Bt),xt(bt),xt(ln),xt(Kt),xt(ni),xt(pn),xt(ci),xt(di),xt(Ln),xt(si),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("Fragile",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*ue,0)).add(new go.PathSegment(go.PathSegment.Line,.2*ue,.15*ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Line,.29*ue,.33*ce)).add(new go.PathSegment(go.PathSegment.Line,.35*ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.15*ce)).add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ue,.5*ce,ue,.25*ce,.75*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.55*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.45*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.45*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.5*ce,0,.25*ce).close()))}),go.Shape.setFigureParameter("HourGlass",0,new qt("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=30),Ee>ue&&(Ee=ue);var Ae=(ue-Ee)/2,Be=Ae+Ee;return new go.Geometry().add(new go.PathFigure(Be,.5*ce).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,ue,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,.55*ce).add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.45*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.45*ce)).add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.55*ce).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.4,Be=.4,Ne=.5,Ue=.5,nt=Fe(),ft=Fe(),St=Fe(),Nt=Fe(),Bt=new go.PathFigure((Ne-Be)*ue,Ue*ce,!1);Ee.add(Bt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.44,St,Nt,ft,nt,nt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,ft.x*ue,ft.y*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce));var bt=Je(ft.x,ft.y);kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.56,nt,nt,ft,St,Nt);var ln=Je(ft.x,ft.y);Bt.add(new go.PathSegment(go.PathSegment.Line,(bt.x*.1+.95*.9)*ue,bt.y*.1*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,bt.y*.1*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,0)),Bt.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Bt.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,(ln.x*.1+.9)*ue,.15*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,(ln.x*.1+.9)*ue,(ln.y*.1+.05*.9)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,ln.x*ue,ln.y*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),Be=.35,Ae=wt*.35;var Kt=new go.PathFigure(Ne*ue,(Ue-Be)*ce,!1);Ee.add(Kt),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce));var ni=new go.PathFigure((Ne-Be)*ue,Ue*ce,!1);return Ee.add(ni),xt(nt),xt(ft),xt(St),xt(Nt),xt(bt),xt(ln),Ee.spot1=new go.Spot(.202,.257),Ee.spot2=new go.Spot(.792,.739),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("GenderFemale",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.375,Be=0,Ne=-.125,Ue=Ae*wt,nt=new go.PathFigure((.525+Be)*ue,(.5+Ae+Ne)*ce,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Ae+Be)*ue,(.5+Ne)*ce,(.5+Ue+Be)*ue,(.5+Ae+Ne)*ce,(.5+Ae+Be)*ue,(.5+Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Be)*ue,(.5-Ae+Ne)*ce,(1-.5+Ae+Be)*ue,(.5-Ue+Ne)*ce,(.5+Ue+Be)*ue,(.5-Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Ae+Be)*ue,(.5+Ne)*ce,(.5-Ue+Be)*ue,(.5-Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5-Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.475+Be)*ue,(.5+Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5+Ue+Ne)*ce,(.5-Ue+Be)*ue,(.5+Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.475*ue,.85*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.425*ue,.85*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.425*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.475*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.475*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.525*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.85*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.85*ce).close()),Ae=.325,Be=0,Ne=-.125,Ue=Ae*wt;var nt=new go.PathFigure((1-.5+Ae+Be)*ue,(.5+Ne)*ce,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Be)*ue,(.5+Ae+Ne)*ce,(.5+Ae+Be)*ue,(.5+Ue+Ne)*ce,(.5+Ue+Be)*ue,(.5+Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Ae+Be)*ue,(.5+Ne)*ce,(.5-Ue+Be)*ue,(.5+Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5+Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Be)*ue,(.5-Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5-Ue+Ne)*ce,(.5-Ue+Be)*ue,(.5-Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Ae+Be)*ue,(.5+Ne)*ce,(.5+Ue+Be)*ue,(.5-Ae+Ne)*ce,(1-.5+Ae+Be)*ue,(.5-Ue+Ne)*ce));var nt=new go.PathFigure((.525+Be)*ue,(.5+Ae+Ne)*ce,!1);return Ee.add(nt),Ee.spot1=new go.Spot(.232,.136),Ee.spot2=new go.Spot(.682,.611),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("LogicImplies",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;return isNaN(Ee)&&(Ee=.2),new go.Geometry().add(new go.PathFigure((1-Ee)*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,ce)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;return isNaN(Ee)&&(Ee=.2),new go.Geometry().add(new go.PathFigure((1-Ee)*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,ce)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Move,Ee*ue,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,Ee*ue,ce))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)))}),go.Shape.defineFigureGenerator("LogicAnd",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(Ke,ue,ce){var Ee=new go.Geometry().add(new go.PathFigure(.5*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*ue,.5*ce,.5*ue,.5*ce)));return Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("LogicTruth",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,.5*ue,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Move,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Move,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce)))}),go.Shape.defineFigureGenerator("LogicForAll",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,.25*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.75*ue,.5*ce))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Move,0,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,ce))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(Ke,ue,ce){var Ee=.5;return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce)).add(new go.PathSegment(go.PathSegment.Arc,180,180,Ee*ue,Ee*ce,Ee*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,ce))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(Ke,ue,ce){var Ee=.5;return new go.Geometry().add(new go.PathFigure(ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Arc,0,180,Ee*ue,Ee*ce,Ee*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new qt("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new qt("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.3);var Be=(1-Ee)*ue,Ne=(.5-Ae/2)*ce,Ue=(.5+Ae/2)*ce,nt=new go.Geometry,ft=new go.PathFigure(0,Ne,!0);nt.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ne)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,0)),ft.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ue)),ft.add(new go.PathSegment(go.PathSegment.Line,0,Ue).close()),nt.spot1=new go.Spot(0,Ne/ce);var St=jt(0,Ue/ce,1,Ue/ce,Be/ue,1,1,.5,Fe());return nt.spot2=new go.Spot(St.x,St.y),xt(St),nt}),go.Shape.setFigureParameter("Arrow2",0,new qt("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new qt("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=30),Ee>ue&&(Ee=ue);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=30),Ae=Math.min(Ae,ce/2);var Be=ue-Ee,Ne=(ce-Ae)/2,Ue=Ne+Ae,nt=new go.Geometry,ft=new go.PathFigure(0,Ne,!0);nt.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ne)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,0)),ft.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ue)),ft.add(new go.PathSegment(go.PathSegment.Line,0,Ue).close()),nt.spot1=new go.Spot(0,Ne/ce);var St=jt(0,Ue/ce,1,Ue/ce,Be/ue,1,1,.5,Fe());return nt.spot2=new go.Spot(St.x,St.y),xt(St),nt}),go.Shape.defineFigureGenerator("Chevron",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("DoubleArrow",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.214*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,1*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.786*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,1*ce).close()),Ee}),go.Shape.setFigureParameter("DoubleEndArrow",0,new qt("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=(.5-Ee/2)*ce,Be=(.5+Ee/2)*ce,Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close());var nt=jt(0,.5,.3,0,0,Ae/ce,.1,Ae/ce,Fe());return Ne.spot1=new go.Spot(nt.x,nt.y),nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,nt),Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new qt("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new qt("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=40);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=100);var Be=(ce-Ee)/2,Ne=Be+Ee,Ue=(ce-Ae)/2,nt=Ue+Ae;(Ee>ce||Ae>ce)&&(Ae>Ee?(Ee=Ee*ce/Ae,Be=(ce-Ee)/2,Ne=Be+Ee,Ue=0,nt=ce):(Be=0,Ne=ce,Ue=0,nt=ce));var ft=new go.Geometry,St=new go.PathFigure(ue,.5*ce,!0);ft.add(St),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Ue)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ue).close());var Nt=jt(0,.5,.3,Ue/ce,0,Be/ce,1,Be/ce,Fe());return ft.spot1=new go.Spot(Nt.x,Nt.y),Nt=jt(.7,nt/ce,1,.5,0,Ne/ce,1,Ne/ce,Nt),ft.spot2=new go.Spot(Nt.x,Nt.y),xt(Nt),ft}),go.Shape.setFigureParameter("IBeamArrow",0,new qt("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=(.5-Ee/2)*ce,Be=(.5+Ee/2)*ce,Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close()),Ne.spot1=new go.Spot(0,Ae/ce);var nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,Fe());return Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("IBeamArrow2",0,new qt("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new qt("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=40);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=100);var Be=(ce-Ee)/2,Ne=Be+Ee,Ue=(ce-Ae)/2,nt=Ue+Ae;(Ee>ce||Ae>ce)&&(Ae>Ee?(Ee=Ee*ce/Ae,Be=(ce-Ee)/2,Ne=Be+Ee,Ue=0,nt=ce):(Be=0,Ne=ce,Ue=0,nt=ce));var ft=new go.Geometry,St=new go.PathFigure(ue,.5*ce,!0);ft.add(St),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,0,nt)),St.add(new go.PathSegment(go.PathSegment.Line,0,Ue)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ue)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ue).close()),ft.spot1=new go.Spot(0,Be/ce);var Nt=jt(.7,nt/ce,1,.5,0,Ne/ce,1,Ne/ce,Fe());return ft.spot2=new go.Spot(Nt.x,Nt.y),xt(Nt),ft}),go.Shape.setFigureParameter("Pointer",0,new qt("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.1);var Ae=new go.Geometry,Be=new go.PathFigure(ue,.5*ce,!0);Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),Ae.spot1=new go.Spot(Ee,.35);var Ne=jt(.2,.65,1,.65,0,1,1,.5,Fe());return Ae.spot2=new go.Spot(Ne.x,Ne.y),xt(Ne),Ae}),go.Shape.setFigureParameter("RoundedPointer",0,new qt("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=new go.Geometry,Be=new go.PathFigure(ue,.5*ce,!0);Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,0,0,Ee*ue,.75*ce,Ee*ue,.25*ce).close()),Ae.spot1=new go.Spot(Ee,.35);var Ne=jt(0,.65,1,.65,0,1,1,.5,Fe());return Ae.spot2=new go.Spot(Ne.x,Ne.y),xt(Ne),Ae}),go.Shape.setFigureParameter("SplitEndArrow",0,new qt("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.4);var Ae=(.5-Ee/2)*ce,Be=(.5+Ee/2)*ce,Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close()),Ne.spot1=new go.Spot(.2,.3);var nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,Fe());return Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("SplitEndArrow2",0,new qt("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=50);var Ae=(ce-Ee)/2,Be=Ae+Ee;Ee>ce&&(Ae=0,Be=ce);var Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close()),Ne.spot1=new go.Spot(.2,Ae/ce);var nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,Fe());return Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("SquareArrow",0,new qt("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.7);var Ae=new go.Geometry,Be=new go.PathFigure(ue,.5*ce,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,0)),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,0).close()),Ae.spot1=go.Spot.TopLeft,Ae.spot2=new go.Spot(Ee,1),Ae}),go.Shape.defineFigureGenerator("Cone1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.1,Ne=new go.PathFigure(0,.9*ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.9+Be)*ce,(.5+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,(.5-Ae)*ue,ce,0,(.9+Be)*ce).close()),Ee.spot1=new go.Spot(.25,.5),Ee.spot2=new go.Spot(.75,.97),Ee}),go.Shape.defineFigureGenerator("Cone2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.9*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.9*ce,(1-.85/.9)*ue,ce,.85/.9*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.9*ce).close());var Be=new go.PathFigure(0,.9*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,.9*ce,(1-.85/.9)*ue,.8*ce,.85/.9*ue,.8*ce)),Ee.spot1=new go.Spot(.25,.5),Ee.spot2=new go.Spot(.75,.82),Ee}),go.Shape.defineFigureGenerator("Cube1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.85*ce).close());var Be=new go.PathFigure(.5*ue,ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.15*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ee.spot1=new go.Spot(0,.3),Ee.spot2=new go.Spot(.5,.85),Ee}),go.Shape.defineFigureGenerator("Cube2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.3*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0).close());var Be=new go.PathFigure(0,.3*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Move,.7*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ee.spot1=new go.Spot(0,.3),Ee.spot2=new go.Spot(.7,1),Ee}),go.Shape.defineFigureGenerator("Cylinder1",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ce/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(0,Ee,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,wt*Ee,(.5-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,1*ue,Ee,(.5+Be)*ue,0,1*ue,wt*Ee)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ee)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,1*ce,1*ue,ce-wt*Ee,(.5+Be)*ue,1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ee,(.5-Be)*ue,1*ce,0,ce-wt*Ee)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ee));var Ue=new go.PathFigure(ue,Ee,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,2*Ee,1*ue,2*Ee-wt*Ee,(.5+Be)*ue,2*Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,Ee,(.5-Be)*ue,2*Ee,0,2*Ee-wt*Ee)),Ae.spot1=new go.Spot(0,0,0,2*Ee),Ae.spot2=new go.Spot(1,1),Ae}),go.Shape.defineFigureGenerator("Cylinder2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ce/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(0,ce-Ee,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ee)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,wt*Ee,(.5-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ee,(.5+Be)*ue,0,ue,wt*Ee)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ee)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,ce-wt*Ee,(.5+Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ee,(.5-Be)*ue,ce,0,ce-wt*Ee));var Ue=new go.PathFigure(0,ce-Ee,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce-2*Ee,0,ce-Ee-wt*Ee,(.5-Be)*ue,ce-2*Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue,ce-Ee,(.5+Be)*ue,ce-2*Ee,ue,ce-Ee-wt*Ee)),Ae.spot1=new go.Spot(0,0),Ae.spot2=new go.Spot(1,1,0,-2*Ee),Ae}),go.Shape.defineFigureGenerator("Cylinder3",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ue/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(Ee,0,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,ue-wt*Ee,0,ue,(.5-Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue,(.5+Be)*ce,ue-wt*Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,wt*Ee,ce,0,(.5+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,(.5-Be)*ce,wt*Ee,0));var Ue=new go.PathFigure(Ee,0,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,2*Ee,.5*ce,Ee+wt*Ee,0,2*Ee,(.5-Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Ee,ce,2*Ee,(.5+Be)*ce,Ee+wt*Ee,ce)),Ae.spot1=new go.Spot(0,0,2*Ee,0),Ae.spot2=new go.Spot(1,1),Ae}),go.Shape.defineFigureGenerator("Cylinder4",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ue/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(ue-Ee,0,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,ue-wt*Ee,0,ue,(.5-Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue,(.5+Be)*ce,ue-wt*Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,wt*Ee,ce,0,(.5+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,(.5-Be)*ce,wt*Ee,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0));var Ue=new go.PathFigure(ue-Ee,0,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue-2*Ee,.5*ce,ue-Ee-wt*Ee,0,ue-2*Ee,(.5-Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue-2*Ee,(.5+Be)*ce,ue-Ee-wt*Ee,ce)),Ae.spot1=new go.Spot(0,0),Ae.spot2=new go.Spot(1,1,-2*Ee,0),Ae}),go.Shape.defineFigureGenerator("Prism1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.25*ue,.25*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(.25*ue,.25*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ee.spot1=new go.Spot(.408,.172),Ee.spot2=new go.Spot(.833,.662),Ee}),go.Shape.defineFigureGenerator("Prism2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.25*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(0,ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,0,.25*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.5*ce)),Ee.spot1=new go.Spot(.25,.5),Ee.spot2=new go.Spot(.75,.75),Ee}),go.Shape.defineFigureGenerator("Pyramid1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.75*ce).close());var Be=new go.PathFigure(.5*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ee.spot1=new go.Spot(.25,.367),Ee.spot2=new go.Spot(.75,.875),Ee}),go.Shape.defineFigureGenerator("Pyramid2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.85*ce).close());var Be=new go.PathFigure(.5*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.7*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.85*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.7*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ee.spot1=new go.Spot(.25,.367),Ee.spot2=new go.Spot(.75,.875),Ee}),go.Shape.defineFigureGenerator("Actor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.2,Be=.1,Ne=wt*Ae,Ue=wt*Be,nt=.5,ft=.1,St=new go.PathFigure(nt*ue,(ft+Be)*ce,!0);Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ae)*ue,ft*ce,(nt-Ne)*ue,(ft+Be)*ce,(nt-Ae)*ue,(ft+Ue)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Be)*ce,(nt-Ae)*ue,(ft-Ue)*ce,(nt-Ne)*ue,(ft-Be)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ae)*ue,ft*ce,(nt+Ne)*ue,(ft-Be)*ce,(nt+Ae)*ue,(ft-Ue)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Be)*ce,(nt+Ae)*ue,(ft+Ue)*ce,(nt+Ne)*ue,(ft+Be)*ce));var Nt=.05,Bt=wt*Nt;nt=.05,ft=.25;var bt=new go.PathFigure(.5*ue,.2*ce,!0);return Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Line,.95*ue,.2*ce)),nt=.95,ft=.25,bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Nt)*ue,ft*ce,(nt+Bt)*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,ue,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.35*ce)),Nt=.025,Bt=wt*Nt,nt=.825,ft=.35,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce,(nt+Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Nt)*ue,ft*ce,(nt-Bt)*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.7*ce)),Nt=.05,Bt=wt*Nt,nt=.5,ft=.7,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce,(nt+Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Nt)*ue,ft*ce,(nt-Bt)*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.45*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.35*ce)),Nt=.025,Bt=wt*Nt,nt=.175,ft=.35,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce,(nt+Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Nt)*ue,ft*ce,(nt-Bt)*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,0,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Nt=.05,Bt=wt*Nt,nt=.05,ft=.25,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce,(nt-Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.2*ce)),Ee.spot1=new go.Spot(.2,.2),Ee.spot2=new go.Spot(.8,.65),Ee}),go.Shape.setFigureParameter("Card",0,new qt("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.2);var Ae=new go.Geometry,Be=new go.PathFigure(ue,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,0).close()),Ae.spot1=new go.Spot(0,Ee),Ae.spot2=go.Spot.BottomRight,Ae}),go.Shape.defineFigureGenerator("Collate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce));var Be=new go.PathFigure(.5*ue,.5*ce,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ee.spot1=new go.Spot(.25,0),Ee.spot2=new go.Spot(.75,.25),Ee}),go.Shape.defineFigureGenerator("CreateRequest",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(0,Ae*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,Ae*ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ae)*ce)),Ee}),go.Shape.defineFigureGenerator("Database",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.1,Ne=new go.PathFigure(ue,.1*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.9+Be)*ce,(.5+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,(.5-Ae)*ue,ce,0,(.9+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,(.1-Be)*ce,(.5-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.1*ce,(.5+Ae)*ue,0,ue,(.1-Be)*ce));var Ue=new go.PathFigure(ue,.1*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.2*ce,ue,(.1+Be)*ce,(.5+Ae)*ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ce,(.5-Ae)*ue,.2*ce,0,(.1+Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.3*ce,ue,(.2+Be)*ce,(.5+Ae)*ue,.3*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ce,(.5-Ae)*ue,.3*ce,0,(.2+Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,.3*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.4*ce,ue,(.3+Be)*ce,(.5+Ae)*ue,.4*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ce,(.5-Ae)*ue,.4*ce,0,(.3+Be)*ce)),Ee.spot1=new go.Spot(0,.4),Ee.spot2=new go.Spot(1,.9),Ee}),go.Shape.defineFigureGenerator("DataStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,ce,ue,0,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.9*ce,.25*ue,.1*ce).close()),Ee.spot1=new go.Spot(.226,0),Ee.spot2=new go.Spot(.81,1),Ee}),go.Shape.defineFigureGenerator("DiskStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.1,Ne=new go.PathFigure(ue,.1*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.9+Be)*ce,(.5+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,(.5-Ae)*ue,ce,0,(.9+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,(.1-Be)*ce,(.5-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.1*ce,(.5+Ae)*ue,0,ue,(.1-Be)*ce));var Ue=new go.PathFigure(ue,.1*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.2*ce,ue,(.1+Be)*ce,(.5+Ae)*ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ce,(.5-Ae)*ue,.2*ce,0,(.1+Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.3*ce,ue,(.2+Be)*ce,(.5+Ae)*ue,.3*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ce,(.5-Ae)*ue,.3*ce,0,(.2+Be)*ce)),Ee.spot1=new go.Spot(0,.3),Ee.spot2=new go.Spot(1,.9),Ee}),go.Shape.defineFigureGenerator("Display",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.25*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,ce,ue,0,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce).close()),Ee.spot1=new go.Spot(.25,0),Ee.spot2=new go.Spot(.75,1),Ee}),go.Shape.defineFigureGenerator("DividedEvent",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)?Ae=.2:Ae<.15&&(Ae=.15);var Be=wt*.2,Ne=new go.PathFigure(0,.2*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,0,0,(.2-Be)*ce,(.2-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,.8*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.2*ce,(.8+Be)*ue,0,ue,(.2-Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,ce,ue,(.8+Be)*ce,(.8+Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*ce,(.2-Be)*ue,ce,0,(.8+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce));var Ue=new go.PathFigure(0,Ae*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Ae*ce)),Ee}),go.Shape.defineFigureGenerator("DividedProcess",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;(isNaN(Ae)||Ae<.1)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(0,Ae*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,Ae*ce)),Ee}),go.Shape.defineFigureGenerator("Document",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(0,.7*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.5*ue,.4*ce,.5*ue,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee.spot2=new go.Spot(1,.6),Ee}),go.Shape.defineFigureGenerator("ExternalOrganization",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;(isNaN(Ae)||Ae<.2)&&(Ae=.2);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ae*ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,ue,Ae*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,(1-Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ae)*ce)),Ee}),go.Shape.defineFigureGenerator("ExternalProcess",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce).close());var Be=new go.PathFigure(.1*ue,.4*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.9*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.6*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.4*ue,.9*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.9*ce)),Ee.spot1=new go.Spot(.25,.25),Ee.spot2=new go.Spot(.75,.75),Ee}),go.Shape.defineFigureGenerator("File",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(.75*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.25*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("Interrupt",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce));var Be=new go.PathFigure(ue,.5*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce));var Ne=new go.PathFigure(ue,.5*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.5,.75),Ee}),go.Shape.defineFigureGenerator("InternalStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN,Be=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.1),isNaN(Be)&&(Be=.1);var Ne=new go.PathFigure(0,0,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ue=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,0,Be*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Be*ce)),Ee}),go.Shape.defineFigureGenerator("Junction",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=1/Math.SQRT2,Be=(1-1/Math.SQRT2)/2,Ne=wt*.5,Ue=.5,nt=new go.PathFigure(ue,Ue*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ue*ue,ce,ue,(Ue+Ne)*ce,(Ue+Ne)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,Ue*ce,(Ue-Ne)*ue,ce,0,(Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ue*ue,0,0,(Ue-Ne)*ce,(Ue-Ne)*ue,0)),nt.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ue*ce,(Ue+Ne)*ue,0,ue,(Ue-Ne)*ce));var ft=new go.PathFigure((Be+Ae)*ue,(Be+Ae)*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,Be*ue,Be*ce)),ft.add(new go.PathSegment(go.PathSegment.Move,Be*ue,(Be+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,(Be+Ae)*ue,Be*ce)),Ee}),go.Shape.defineFigureGenerator("LinedDocument",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(0,.7*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.5*ue,.4*ce,.5*ue,ce).close());var Be=new go.PathFigure(.1*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.75*ce)),Ee.spot1=new go.Spot(.1,0),Ee.spot2=new go.Spot(1,.6),Ee}),go.Shape.defineFigureGenerator("LoopLimit",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("MagneticTape",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=new go.PathFigure(.5*ue,ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Be*ce,(Be-Ae)*ue,ce,0,(Be+Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,0,0,(Be-Ae)*ce,(Be-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Be*ce,(Be+Ae)*ue,0,ue,(Be-Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(Be+.1)*ue,.9*ce,ue,(Be+Ae)*ce,(Be+Ae)*ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ee.spot1=new go.Spot(.15,.15),Ee.spot2=new go.Spot(.85,.8),Ee}),go.Shape.defineFigureGenerator("ManualInput",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("MessageFromUser",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.7);var Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee}),go.Shape.defineFigureGenerator("MicroformProcessing",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.25);var Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,Ae*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,(1-Ae)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("MicroformRecording",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(1,.75),Ee}),go.Shape.defineFigureGenerator("MultiDocument",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,.44*ce,.96*ue,.47*ce,.93*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.54*ce,.86*ue,.57*ce,.83*ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.4*ue,.4*ce,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,0).close());var Be=new go.PathFigure(.1*ue,.2*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.54*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.44*ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.8,.77),Ee}),go.Shape.defineFigureGenerator("MultiProcess",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,.1*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.2*ce).close());var Be=new go.PathFigure(.2*ue,.1*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.1*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.9*ce)),Ee.spot1=new go.Spot(0,.2),Ee.spot2=new go.Spot(.8,1),Ee}),go.Shape.defineFigureGenerator("OfflineStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=1-Ae,Ne=new go.PathFigure(0,0,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce).close());var Ue=new go.PathFigure(.5*Ae*ue,Ae*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,(1-.5*Ae)*ue,Ae*ce)),Ee}),go.Shape.defineFigureGenerator("OffPageConnector",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee.spot2=new go.Spot(.75,1),Ee}),go.Shape.defineFigureGenerator("Or",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=new go.PathFigure(ue,Be*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,ce,ue,(Be+Ae)*ce,(Be+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Be*ce,(Be-Ae)*ue,ce,0,(Be+Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,0,0,(Be-Ae)*ce,(Be-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Be*ce,(Be+Ae)*ue,0,ue,(Be-Ae)*ce));var Ue=new go.PathFigure(ue,.5*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.5*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ee}),go.Shape.defineFigureGenerator("PaperTape",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(0,.7*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.3*ce,.5*ue,.6*ce,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.5*ue,.4*ce,.5*ue,ce).close()),Ee.spot1=new go.Spot(0,.49),Ee.spot2=new go.Spot(1,.75),Ee}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN,Be=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.1),isNaN(Be)&&(Be=.3);var Ne=new go.PathFigure(0,0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Be)*ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN,Be=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.1),isNaN(Be)&&(Be=.3);var Ne=new go.PathFigure(0,0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("Procedure",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure((1-Ae)*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ee}),go.Shape.defineFigureGenerator("Process",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("Sort",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce).close());var Be=new go.PathFigure(0,.5*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ee.spot1=new go.Spot(.25,.25),Ee.spot2=new go.Spot(.75,.5),Ee}),go.Shape.defineFigureGenerator("Start",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.25);var Be=new go.PathFigure(Ae*ue,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ue,.5*ce,.25*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ue,.5*ce,.25*ue,.5*ce));var Ne=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,(1-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Ae)*ue,ce)),Ee.spot1=new go.Spot(Ae,0),Ee.spot2=new go.Spot(1-Ae,1),Ee}),go.Shape.defineFigureGenerator("Terminator",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.25*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ue,.5*ce,.25*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ue,.5*ce,.25*ue,.5*ce)),Ee.spot1=new go.Spot(.23,0),Ee.spot2=new go.Spot(.77,1),Ee}),go.Shape.defineFigureGenerator("TransmittalTape",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.75*ue,(1-Ae)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,(1-Ae)*ce).close()),Ee.spot1=go.Spot.TopLeft,Ee}),go.Shape.defineFigureGenerator("AndGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,(.5+Ae)*ue,0,ue,(.5-Ae)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.5+Ae)*ce,(.5+Ae)*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee.spot2=new go.Spot(.55,1),Ee}),go.Shape.defineFigureGenerator("Buffer",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.5,.75),Ee}),go.Shape.defineFigureGenerator("Clock",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=new go.PathFigure(ue,Be*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,ce,ue,(Be+Ae)*ce,(Be+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Be*ce,(Be-Ae)*ue,ce,0,(Be+Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,0,0,(Be-Ae)*ce,(Be-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Be*ce,(Be+Ae)*ue,0,ue,(Be-Ae)*ce));var Ue=new go.PathFigure(ue,Be*ce,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Be*ce));var nt=new go.PathFigure(.8*ue,.75*ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.75*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.75*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.75*ce)),Ee}),go.Shape.defineFigureGenerator("Ground",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.3*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,ce)),Ee}),go.Shape.defineFigureGenerator("Inverter",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.1,Be=.1,Ne=.9,Ue=.5,nt=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,0,ce)),nt.add(new go.PathSegment(go.PathSegment.Line,0,0)),nt.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.5*ce));var ft=new go.PathFigure((Ne+Be)*ue,Ue*ce,!0);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.4,.75),Ee}),go.Shape.defineFigureGenerator("NandGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.4,Ne=wt*.1,Ue=.1,nt=.9,ft=.5,St=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,ce,.8*ue,(.5+Be)*ce,(.4+Ae)*ue,ce)),St.add(new go.PathSegment(go.PathSegment.Line,0,ce)),St.add(new go.PathSegment(go.PathSegment.Line,0,0)),St.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),St.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.5*ce,(.4+Ae)*ue,0,.8*ue,(.5-Be)*ce));var Nt=new go.PathFigure((nt+Ue)*ue,ft*ce,!0);return Ee.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Ue)*ce,(nt+Ue)*ue,(ft+Ne)*ce,(nt+Ne)*ue,(ft+Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue,ft*ce,(nt-Ne)*ue,(ft+Ue)*ce,(nt-Ue)*ue,(ft+Ne)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Ue)*ce,(nt-Ue)*ue,(ft-Ne)*ce,(nt-Ne)*ue,(ft-Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue,ft*ce,(nt+Ne)*ue,(ft-Ue)*ce,(nt+Ue)*ue,(ft-Ne)*ce)),Ee.spot1=new go.Spot(0,.05),Ee.spot2=new go.Spot(.55,.95),Ee}),go.Shape.defineFigureGenerator("NorGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=0,Ue=.5,nt=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,ce,.7*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.75*ce,.25*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.5*ce,(Ne+Be)*ue,(Ue-Ae)*ce,.7*ue,(Ue-Be)*ce)),Ae=.1,Be=wt*.1,Ne=.9,Ue=.5;var ft=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),Ee.spot1=new go.Spot(.2,.25),Ee.spot2=new go.Spot(.6,.75),Ee}),go.Shape.defineFigureGenerator("OrGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=0,Ue=.5,nt=new go.PathFigure(0,0,!0);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,(Ne+Be+Be)*ue,(Ue-Ae)*ce,.8*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,ce,.8*ue,(Ue+Be)*ce,(Ne+Be+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.75*ce,.25*ue,.25*ce).close()),Ee.spot1=new go.Spot(.2,.25),Ee.spot2=new go.Spot(.75,.75),Ee}),go.Shape.defineFigureGenerator("XnorGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=.2,Ue=.5,nt=new go.PathFigure(.1*ue,0,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,ce,.35*ue,.25*ce,.35*ue,.75*ce));var ft=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,ce,.7*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,0,.45*ue,.75*ce,.45*ue,.25*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.5*ce,(Ne+Be)*ue,(Ue-Ae)*ce,.7*ue,(Ue-Be)*ce)),Ae=.1,Be=wt*.1,Ne=.9,Ue=.5;var St=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);return Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),Ee.spot1=new go.Spot(.4,.25),Ee.spot2=new go.Spot(.65,.75),Ee}),go.Shape.defineFigureGenerator("XorGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=.2,Ue=.5,nt=new go.PathFigure(.1*ue,0,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,ce,.35*ue,.25*ce,.35*ue,.75*ce));var ft=new go.PathFigure(.2*ue,0,!0);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,(Ne+Be)*ue,(Ue-Ae)*ce,.9*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,ce,.9*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,0,.45*ue,.75*ce,.45*ue,.25*ce).close()),Ee.spot1=new go.Spot(.4,.25),Ee.spot2=new go.Spot(.8,.75),Ee}),go.Shape.defineFigureGenerator("Capacitor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("Resistor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.5*ce)),Ee}),go.Shape.defineFigureGenerator("Inductor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.1,Be=.1,Ne=.1,Ue=.5,nt=new go.PathFigure((Ne-Ae*.5)*ue,ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.3,nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.5,nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.7,nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.9,nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae*.5)*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),Ee}),go.Shape.defineFigureGenerator("ACvoltageSource",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=.5,Ue=.5,nt=new go.PathFigure((Ne-Be)*ue,Ue*ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Move,(Ne-Be+.1)*ue,Ue*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be-.1)*ue,Ue*ce,Ne*ue,(Ue-Be)*ce,Ne*ue,(Ue+Be)*ce)),Ee}),go.Shape.defineFigureGenerator("DCvoltageSource",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.75*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("Diode",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.5,.75),Ee}),go.Shape.defineFigureGenerator("Wifi",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=ue,Be=ce;ue=ue*.38,ce=ce*.6;var Ne=wt*.8,Ue=.8,nt=0,ft=.5,St=(Ae-ue)/2,Nt=(Be-ce)/2,Bt=new go.PathFigure(nt*ue+St,(ft+Ue)*ce+Nt,!0);Ee.add(Bt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue+St,ft*ce+Nt,(nt-Ne)*ue+St,(ft+Ue)*ce+Nt,(nt-Ue)*ue+St,(ft+Ne)*ce+Nt)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue)*ue+St,(ft-Ne)*ce+Nt,(nt-Ne)*ue+St,(ft-Ue)*ce+Nt)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue+Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft-Ne)*ce+Nt)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft+Ne)*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt).close()),Ne=wt*.4,Ue=.4,nt=.2,ft=.5;var bt=new go.PathFigure(nt*ue+St,(ft+Ue)*ce+Nt,!0);Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue+St,ft*ce+Nt,(nt-Ne)*ue+St,(ft+Ue)*ce+Nt,(nt-Ue)*ue+St,(ft+Ne)*ce+Nt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue)*ue+St,(ft-Ne)*ce+Nt,(nt-Ne)*ue+St,(ft-Ue)*ce+Nt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue+Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft-Ne)*ce+Nt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft+Ne)*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt).close()),Ne=wt*.2,Ue=.2,nt=.5,ft=.5;var ln=new go.PathFigure((nt-Ue)*ue+St,ft*ce+Nt,!0);Ee.add(ln),ln.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue)*ue+St,(ft-Ne)*ce+Nt,(nt-Ne)*ue+St,(ft-Ue)*ce+Nt)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue+St,ft*ce+Nt,(nt+Ne)*ue+St,(ft-Ue)*ce+Nt,(nt+Ue)*ue+St,(ft-Ne)*ce+Nt)),ln.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue)*ue+St,(ft+Ne)*ce+Nt,(nt+Ne)*ue+St,(ft+Ue)*ce+Nt)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue+St,ft*ce+Nt,(nt-Ne)*ue+St,(ft+Ue)*ce+Nt,(nt-Ue)*ue+St,(ft+Ne)*ce+Nt)),Ne=wt*.4,Ue=.4,nt=.8,ft=.5;var Kt=new go.PathFigure(nt*ue+St,(ft-Ue)*ce+Nt,!0);Ee.add(Kt),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue+St,ft*ce+Nt,(nt+Ne)*ue+St,(ft-Ue)*ce+Nt,(nt+Ue)*ue+St,(ft-Ne)*ce+Nt)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue)*ue+St,(ft+Ne)*ce+Nt,(nt+Ne)*ue+St,(ft+Ue)*ce+Nt)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue-Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft+Ne)*ce+Nt)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft-Ne)*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt).close()),Ne=wt*.8,Ue=.8,nt=1,ft=.5;var ni=new go.PathFigure(nt*ue+St,(ft-Ue)*ce+Nt,!0);return Ee.add(ni),ni.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue+St,ft*ce+Nt,(nt+Ne)*ue+St,(ft-Ue)*ce+Nt,(nt+Ue)*ue+St,(ft-Ne)*ce+Nt)),ni.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue)*ue+St,(ft+Ne)*ce+Nt,(nt+Ne)*ue+St,(ft+Ue)*ce+Nt)),ni.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue-Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft+Ne)*ce+Nt)),ni.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft-Ne)*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt).close()),Ee}),go.Shape.defineFigureGenerator("Email",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(0,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Move,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.54*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.54*ce)),Ee}),go.Shape.defineFigureGenerator("Ethernet",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.35*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,0).close());var Be=new go.PathFigure(.1*ue,ce,!0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,ce).close());var Ne=new go.PathFigure(.6*ue,ce,!0,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.6*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.6*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.6*ue,ce).close());var Ue=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.4*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.75*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.6*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.25*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.6*ce)),Ee}),go.Shape.defineFigureGenerator("Power",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.4,Be=.4,Ne=.5,Ue=.5,nt=Fe(),ft=Fe(),St=Fe(),Nt=Fe();kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.5,nt,nt,ft,St,Nt);var Bt=Je(ft.x,ft.y),bt=new go.PathFigure(ft.x*ue,ft.y*ce,!0);Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),kt(Ne-Be,Ue,Ne-Be,Ue-Ae,Ne-Ae,Ue-Be,Ne,Ue-Be,.5,St,Nt,ft,nt,nt),bt.add(new go.PathSegment(go.PathSegment.Bezier,ft.x*ue,ft.y*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce)),Ae=wt*.3,Be=.3,kt(Ne-Be,Ue,Ne-Be,Ue-Ae,Ne-Ae,Ue-Be,Ne,Ue-Be,.5,St,Nt,ft,nt,nt),bt.add(new go.PathSegment(go.PathSegment.Line,ft.x*ue,ft.y*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,Nt.x*ue,Nt.y*ce,St.x*ue,St.y*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.5,nt,nt,ft,St,Nt),bt.add(new go.PathSegment(go.PathSegment.Bezier,ft.x*ue,ft.y*ce,Nt.x*ue,Nt.y*ce,St.x*ue,St.y*ce).close());var bt=new go.PathFigure(.45*ue,0,!0);return Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.5*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.5*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,0).close()),xt(nt),xt(ft),xt(St),xt(Nt),xt(Bt),Ee.spot1=new go.Spot(.25,.45),Ee.spot2=new go.Spot(.75,.8),Ee}),go.Shape.defineFigureGenerator("Fallout",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce/2,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,180,360,ue/2,ce/2,ue/2,ce/2));function Be(Ne,Ue,nt){Ne.add(new go.PathSegment(go.PathSegment.Move,(.3+Ue)*ue,(.8+nt)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(.5+Ue)*ue,(.5+nt)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(.1+Ue)*ue,(.5+nt)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(.3+Ue)*ue,(.8+nt)*ce).close())}return Be(Ae,0,0),Be(Ae,.4,0),Be(Ae,.2,-.3),Ee}),go.Shape.defineFigureGenerator("IrritationHazard",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.2*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce).close()),Ee.spot1=new go.Spot(.3,.3),Ee.spot2=new go.Spot(.7,.7),Ee}),go.Shape.defineFigureGenerator("ElectricalHazard",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.37*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.11*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.77*ue,.04*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,.49*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.37*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.63*ue,.86*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.77*ue,.91*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.34*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.34*ue,.78*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.44*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.56*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.68*ce).close()),Ee}),go.Shape.defineFigureGenerator("FireHazard",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.29*ue,0,-.25*ue,.63*ce,.45*ue,.44*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.51*ue,.42*ce,.48*ue,.17*ce,.54*ue,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.59*ue,.18*ce,.59*ue,.29*ce,.58*ue,.28*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,.6*ce,.8*ue,.34*ce,.88*ue,.43*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.88*ue,.31*ce,.87*ue,.48*ce,.88*ue,.43*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,ce,1.17*ue,.76*ce,.82*ue,.8*ce).close()),Ee.spot1=new go.Spot(.07,.445),Ee.spot2=new go.Spot(.884,.958),Ee}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=0,Ne=0,Ue=Ae*wt,nt=.4*Math.SQRT2/2+.5,ft=.5-.5*Math.SQRT2/2,St=1,Nt=.5,Bt=.5,bt=0,ln=new go.PathFigure(nt*ue,(1-ft)*ce,!1);return Ee.add(ln),ln.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,Nt*ce,St*ue,.7*ce,St*ue,Nt*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+Be)*ue,(bt+Be)*ce,(.5+Ae+Be)*ue,(.5-Ue+Be)*ce,(.5+Ue+Be)*ue,(.5-Ae+Be)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Ae+Be)*ue,(.5+Ne)*ce,(.5-Ue+Be)*ue,(.5-Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5-Ue+Ne)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(.35+Be)*ue,.9*ce,(.5-Ae+Be)*ue,(.5+Ue+Ne)*ce,(.5-Ue+Be)*ue,.9*ce)),ln.add(new go.PathSegment(go.PathSegment.Move,(.25+Be)*ue,.8*ce)),ln.add(new go.PathSegment(go.PathSegment.Line,(.35+Be)*ue,.9*ce)),ln.add(new go.PathSegment(go.PathSegment.Line,(.2+Be)*ue,.95*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae);var Be=new go.PathFigure(ue,ce,!1);Ee.add(Be);var Ne=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.5*ce,.2*ue,.35*ce,.3*ue,.35*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,.7*ue,.65*ce,.8*ue,.65*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.2*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce).close());var Ae=new go.PathFigure(0,.2*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.7*ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,0,.6*ue,.5*ce,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.7*ue,ce,.4*ue,.5*ce,ue,.5*ce).close());var Be=new go.PathFigure(.45*ue,.73*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.73*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.38*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.63*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.31*ue,.27*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.56*ue,.27*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae);var Be=new go.PathFigure(.335*ue,(1-.555)*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.335*ue,(1-.405)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.405)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.555)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,.68*ce,(1-.12)*ue,.46*ce,(1-.02)*ue,.54*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.68*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.335*ue,(1-.555)*ce,.02*ue,.54*ce,.12*ue,.46*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.365*ue,(1-.595)*ce));var Ne=.5-.285,Ue=.5,nt=Ne,ft=Math.PI/4,St=4*(1-Math.cos(ft))/(3*Math.sin(ft)),Nt=St*.5,Bt=Ne,bt=Ne,ln=St*Bt,Kt=St*bt;Be.add(new go.PathSegment(go.PathSegment.Bezier,(Ue-Bt)*ue,nt*ce,(Ue-(ln+Bt)/2)*ue,(nt+(bt+Kt)/2)*ce,(Ue-Bt)*ue,(nt+Kt)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Ue*ue,(nt-bt)*ce,(Ue-Bt)*ue,(nt-Kt)*ce,(Ue-ln)*ue,(nt-bt)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Ue+Bt)*ue,nt*ce,(Ue+ln)*ue,(nt-bt)*ce,(Ue+Bt)*ue,(nt-Kt)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*ue,(1-.595)*ce,(Ue+Bt)*ue,(nt+Kt)*ce,(Ue+(ln+Bt)/2)*ue,(nt+(bt+Kt)/2)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*ue,(1-.595)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.555)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.405)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.335*ue,(1-.405)*ce));var ni=new go.PathFigure(.2*ue,ce,!1);Ee.add(ni),ni.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.8*ce));var pn=new go.PathFigure(.8*ue,ce,!1);return Ee.add(pn),pn.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.8*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,ce).close());var Be=new go.PathFigure(.2*ue,.2*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.8*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnEventError",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae);var Be=new go.PathFigure(ue,ce,!1);Ee.add(Be);var Ne=new go.PathFigure(.1*ue,ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("Caution",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.05*ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,.8*ce,0,ce,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.55*ue,.1*ce,.5*ue,0,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.95*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,ce,ue,ce,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.05*ue,ce));var Be=.05;return Ae.add(new go.PathSegment(go.PathSegment.Move,(.5-Be)*ue,.875*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*ue,.875*ce,Be*ue,Be*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.325*ce,.575*ue,.725*ce,.625*ue,.375*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.75*ce,.375*ue,.375*ce,.425*ue,.725*ce)),Ee}),go.Shape.defineFigureGenerator("Recycle",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.45*ue,.95*ce,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.185*ue,.85*ce,.17*ue,.95*ce,.15*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.235*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.625*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.275*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.05*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.05*ue,.575*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.1875*ue,.95*ce,0,.675*ce,0,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.45*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.775*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.22*ue,.775*ce));var Be=new go.PathFigure(.475*ue,.2*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.225*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.275*ue,.175*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.325*ue,.05*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,.05*ce,.35*ue,0,.375*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.375*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.475*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.315*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.32*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.05*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.575*ue,0,.65*ue,.05*ce,.625*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.38*ue,.0105*ce));var Ne=new go.PathFigure(.675*ue,.575*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.875*ue,.525*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.85*ue,.95*ce,ue,.8*ce,ue,.85*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.95*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.85*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.725*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,.675*ue,.575*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.775*ue,.775*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*.5,Ne=new go.PathFigure(ue,Ae*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ae*ue,ce,ue,(Ae+Be)*ce,(Ae+Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Ae*ce,(Ae-Be)*ue,ce,0,(Ae+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ae*ue,0,0,(Ae-Be)*ce,(Ae-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ae*ce,(Ae+Be)*ue,0,ue,(Ae-Be)*ce));var Ue=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,.15*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,.85*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,0,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.15*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.85*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.58*ue,.1*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.78*ue,.54*ce)),Ee}),go.Shape.defineFigureGenerator("Package",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.15*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(0,.15*ce,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.15*ce).close()),Ee.spot1=new go.Spot(0,.1),Ee.spot2=new go.Spot(1,1),Ee}),go.Shape.defineFigureGenerator("Class",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(0,.2*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce).close());var Ne=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("Component",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close());var Be=new go.PathFigure(0,.2*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce).close());var Ne=new go.PathFigure(0,.6*ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.6*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.6*ce).close()),Ee}),go.Shape.defineFigureGenerator("Boat Shipment",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.15*ue,.6*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.6*ce));var Be=new go.PathFigure(.15*ue,.6*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.6*ce)),Ee}),go.Shape.defineFigureGenerator("Customer/Supplier",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("Workcell",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("Supermarket",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.66*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.66*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,.66*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ee}),go.Shape.defineFigureGenerator("TruckShipment",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(ue,.8*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce).close());var Ne=.1,Ue=wt*.1,nt=.2,ft=.9,St=new go.PathFigure((nt-Ne)*ue,ft*ce,!0);Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Ne)*ce,(nt-Ne)*ue,(ft-Ue)*ce,(nt-Ue)*ue,(ft-Ne)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ne)*ue,ft*ce,(nt+Ue)*ue,(ft-Ne)*ce,(nt+Ne)*ue,(ft-Ue)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Ne)*ce,(nt+Ne)*ue,(ft+Ue)*ce,(nt+Ue)*ue,(ft+Ne)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ne)*ue,ft*ce,(nt-Ue)*ue,(ft+Ne)*ce,(nt-Ne)*ue,(ft+Ue)*ce).close()),Ne=.1,Ue=wt*.1,nt=.8,ft=.9;var Nt=new go.PathFigure((nt-Ne)*ue,ft*ce,!0);return Ee.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Ne)*ce,(nt-Ne)*ue,(ft-Ue)*ce,(nt-Ue)*ue,(ft-Ne)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ne)*ue,ft*ce,(nt+Ue)*ue,(ft-Ne)*ce,(nt+Ne)*ue,(ft-Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Ne)*ce,(nt+Ne)*ue,(ft+Ue)*ce,(nt+Ue)*ue,(ft+Ne)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ne)*ue,ft*ce,(nt-Ue)*ue,(ft+Ne)*ce,(nt-Ne)*ue,(ft+Ue)*ce).close()),Ee}),go.Shape.defineFigureGenerator("KanbanPost",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.2*ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),Ee}),go.Shape.defineFigureGenerator("Forklift",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0));var Be=new go.PathFigure(0,.5*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce));var Ne=new go.PathFigure(.5*ue,.8*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.8*ce));var Ue=new go.PathFigure(.5*ue,.7*ce,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce));var nt=.1,ft=wt*.1,St=.1,Nt=.9,Bt=new go.PathFigure((St-nt)*ue,Nt*ce,!0);Ee.add(Bt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt-nt)*ce,(St-nt)*ue,(Nt-ft)*ce,(St-ft)*ue,(Nt-nt)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(St+nt)*ue,Nt*ce,(St+ft)*ue,(Nt-nt)*ce,(St+nt)*ue,(Nt-ft)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt+nt)*ce,(St+nt)*ue,(Nt+ft)*ce,(St+ft)*ue,(Nt+nt)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(St-nt)*ue,Nt*ce,(St-ft)*ue,(Nt+nt)*ce,(St-nt)*ue,(Nt+ft)*ce)),nt=.1,ft=wt*.1,St=.4,Nt=.9;var bt=new go.PathFigure((St-nt)*ue,Nt*ce,!0);return Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt-nt)*ce,(St-nt)*ue,(Nt-ft)*ce,(St-ft)*ue,(Nt-nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(St+nt)*ue,Nt*ce,(St+ft)*ue,(Nt-nt)*ce,(St+nt)*ue,(Nt-ft)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt+nt)*ce,(St+nt)*ue,(Nt+ft)*ce,(St+ft)*ue,(Nt+nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(St-nt)*ue,Nt*ce,(St-ft)*ue,(Nt+nt)*ce,(St-nt)*ue,(Nt+ft)*ce)),Ee}),go.Shape.defineFigureGenerator("RailShipment",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,.4*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.4*ce).close());var Be=new go.PathFigure(.45*ue,.7*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.7*ce));var Ne=new go.PathFigure(.55*ue,.4*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.4*ce).close());var St=.05,Nt=wt*.05,Bt=.175,bt=.95,Ue=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce));var St=.05,Nt=wt*.05,Bt=.375,bt=.95,nt=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce));var St=.05,Nt=wt*.05,Bt=.625,bt=.95,ft=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce));var St=.05,Nt=wt*.05,Bt=.825,bt=.95,ln=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(ln),ln.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce).close());var Kt=new go.PathFigure(0,ce,!1);return Ee.add(Kt),Kt.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("Warehouse",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(0,.2*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce).close());var Ne=new go.PathFigure(.15*ue,ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.15*ue,ce).close());var Ue=.05,nt=wt*.05,ft=.35,St=.775,Nt=new go.PathFigure((ft-Ue)*ue,St*ce,!0);return Ee.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Bezier,ft*ue,(St-Ue)*ce,(ft-Ue)*ue,(St-nt)*ce,(ft-nt)*ue,(St-Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(ft+Ue)*ue,St*ce,(ft+nt)*ue,(St-Ue)*ce,(ft+Ue)*ue,(St-nt)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,ft*ue,(St+Ue)*ce,(ft+Ue)*ue,(St+nt)*ce,(ft+nt)*ue,(St+Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(ft-Ue)*ue,St*ce,(ft-nt)*ue,(St+Ue)*ce,(ft-Ue)*ue,(St+nt)*ce).close()),Ee}),go.Shape.defineFigureGenerator("ControlCenter",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.1*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce).close()),Ee}),go.Shape.defineFigureGenerator("Bluetooth",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.75*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Ee}),go.Shape.defineFigureGenerator("Bookmark",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.4*ce)),Ee}),go.Shape.defineFigureGenerator("Bookmark",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.4*ce)),Ee}),go.Shape.defineFigureGenerator("Globe",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,.75*ue,0,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,.75*ce,.75*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,.25*ue,ce,0,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,.25*ce,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,.15*ue,.25*ce,.15*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,.85*ue,.75*ce,.85*ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.1675*ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ue,.15*ce,.35*ue,.3*ce,.65*ue,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.1675*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ue,.85*ce,.35*ue,.7*ce,.65*ue,.7*ce)),Ee}),go.Shape.defineFigureGenerator("Wave",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.25*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.25*ce,.1*ue,0,.2*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.7*ue,.25*ce,.425*ue,.5*ce,.575*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.25*ce,.8*ue,0,.9*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.75*ce,.1*ue,.5*ce,.2*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.7*ue,.75*ce,.425*ue,ce,.575*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.75*ce,.8*ue,.5*ce,.9*ue,.5*ce)),Ee}),go.Shape.defineFigureGenerator("Operator",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.3,Be=wt*.3,Ne=.5,Ue=.7,nt=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce));var ft=new go.PathFigure(0,.7*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,ue,.7*ce,0,0,ue,0)),Ee}),go.Shape.defineFigureGenerator("TripleFanBlades",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.65*ce,.65*ue,.3*ce,.65*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,.35*ue,.5*ce,.35*ue,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,ce,.3*ue,.6*ce,.1*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.65*ce,.2*ue,ce,.35*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,.7*ue,.6*ce,.9*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.65*ce,.8*ue,ce,.65*ue,.95*ce)),Ee}),go.Shape.defineFigureGenerator("CentrifugalPump",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,0,.075*ce,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,ce,0,ce,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.4*ce,.8*ue,ce,.85*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ee}),go.Shape.defineFigureGenerator("Battery",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.4*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.1*ce));var Be=new go.PathFigure(0,.6*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Move,0,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.4*ce)),Ee}),go.Shape.defineFigureGenerator("Delete",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*.5,Ne=.5,Ue=.5,nt=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce));var ft=new go.PathFigure(.15*ue,.5*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.5*ce)),Ee}),go.Shape.defineFigureGenerator("Flag",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.1*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.1*ce,.15*ue,0,.35*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.1*ce,.65*ue,.2*ce,.85*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.5*ce,.85*ue,.6*ce,.65*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,.35*ue,.4*ce,.15*ue,.4*ce).close()),Ee}),go.Shape.defineFigureGenerator("Help",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*.5,Ne=.5,Ue=.5,nt=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce).close()),Ae=.05,Be=wt*.05,Ne=.5,Ue=.8;var ft=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce).close()),ft.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.7*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.2*ce,.75*ue,.475*ce,.75*ue,.225*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.35*ce,.4*ue,.2*ce,.3*ue,.25*ce)),Ee}),go.Shape.defineFigureGenerator("Location",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,ce,!0).add(new go.PathSegment(go.PathSegment.Line,.75*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,.975*ue,.025*ce,.5*ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*ue,.5*ce,.5*ue,0,.025*ue,.025*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ue,.2*ce)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*ue,.3*ce,.1*ue,.1*ce).close()))}),go.Shape.defineFigureGenerator("Lock",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce));var Be=new go.PathFigure(.2*ue,.5*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.3*ce,.25*ue,0,.75*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.3*ce)),Ee}),go.Shape.defineFigureGenerator("Unlocked",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce));var Be=new go.PathFigure(.2*ue,.5*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.3*ce,.25*ue,0,.75*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.35*ce)),Ee}),go.Shape.defineFigureGenerator("Gear",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.9375*ue,.56246875*ce,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*ue,.4375*ce)).add(new go.PathSegment(go.PathSegment.Line,.80621875*ue,.4375*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.763*ue,.3316875*ce,.79840625*ue,.39915625*ce,.7834375*ue,.3635*ce)).add(new go.PathSegment(go.PathSegment.Line,.8566875*ue,.23796875*ce)).add(new go.PathSegment(go.PathSegment.Line,.76825*ue,.14959375*ce)).add(new go.PathSegment(go.PathSegment.Line,.67596875*ue,.24184375*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*ue,.19378125*ce,.64228125*ue,.2188125*ce,.603875*ue,.2021875*ce)).add(new go.PathSegment(go.PathSegment.Line,.5625*ue,.0625*ce)).add(new go.PathSegment(go.PathSegment.Line,.4375*ue,.0625*ce)).add(new go.PathSegment(go.PathSegment.Line,.4375*ue,.19378125*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*ue,.239375*ce,.39759375*ue,.20190625*ce,.36053125*ue,.2176875*ce)).add(new go.PathSegment(go.PathSegment.Line,.2379375*ue,.14959375*ce)).add(new go.PathSegment(go.PathSegment.Line,.14953125*ue,.2379375*ce)).add(new go.PathSegment(go.PathSegment.Line,.23934375*ue,.3278125*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*ue,.4375*ce,.21765625*ue,.36059375*ce,.201875*ue,.397625*ce)).add(new go.PathSegment(go.PathSegment.Line,.0625*ue,.4375*ce)).add(new go.PathSegment(go.PathSegment.Line,.0625*ue,.5625*ce)).add(new go.PathSegment(go.PathSegment.Line,.1938125*ue,.5625*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*ue,.67596875*ce,.20221875*ue,.603875*ce,.21884375*ue,.64228125*ce)).add(new go.PathSegment(go.PathSegment.Line,.1495625*ue,.76825*ce)).add(new go.PathSegment(go.PathSegment.Line,.238*ue,.8566875*ce)).add(new go.PathSegment(go.PathSegment.Line,.3316875*ue,.76296875*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*ue,.80621875*ce,.36353125*ue,.78340625*ce,.3991875*ue,.79840625*ce)).add(new go.PathSegment(go.PathSegment.Line,.43753125*ue,.9375*ce)).add(new go.PathSegment(go.PathSegment.Line,.5625*ue,.9375*ce)).add(new go.PathSegment(go.PathSegment.Line,.5625*ue,.80621875*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*ue,.760625*ce,.602375*ue,.79809375*ce,.63946875*ue,.78234375*ce)).add(new go.PathSegment(go.PathSegment.Line,.76828125*ue,.8566875*ce)).add(new go.PathSegment(go.PathSegment.Line,.85671875*ue,.76825*ce)).add(new go.PathSegment(go.PathSegment.Line,.76065625*ue,.67221875*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*ue,.56246875*ce,.78234375*ue,.63940625*ce,.798125*ue,.602375*ce)).add(new go.PathSegment(go.PathSegment.Line,.9375*ue,.56246875*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*ue,.5*ce,.1*ue,.1*ce).close()))}),go.Shape.defineFigureGenerator("Hand",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,.3*ce,0,.375*ce,.05*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.45*ue,.075*ce,.3*ue,.225*ce,.4*ue,.175*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.525*ue,.075*ce,.46*ue,.05*ce,.525*ue,.05*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.4*ce,.525*ue,.275*ce,.475*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,.55*ce,ue,.4*ce,ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.425*ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.6*ue,.7*ce,.675*ue,.55*ce,.675*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.575*ue,.85*ce,.65*ue,.7*ce,.65*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.535*ue,ce,.61*ue,.85*ce,.61*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,.435*ue,ce,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("Map",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.2*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ae.add(new go.PathSegment(go.PathSegment.Move,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.8*ce)),Ee}),go.Shape.defineFigureGenerator("Eject",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.7)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.7).close());var Be=new go.PathFigure(0,ce*.6,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0).close()),Ee}),go.Shape.defineFigureGenerator("Pencil",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*ue,.1*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.1*ue,.2*ce).close()))}),go.Shape.defineFigureGenerator("Building",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*1,ce*1,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.85)),Ae.add(new go.PathSegment(go.PathSegment.Line,.046*ue,ce*.85)),Ae.add(new go.PathSegment(go.PathSegment.Line,.046*ue,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,.046*ue,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ue,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ue,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ue,ce*.85)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.85).close());var Be=new go.PathFigure(.126*ue,.85*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.126*ue,.45*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.322*ue,.45*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.322*ue,.85*ce).close());var Ne=new go.PathFigure(.402*ue,.85*ce,!1);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.402*ue,.45*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.598*ue,.45*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.598*ue,.85*ce).close());var Ue=new go.PathFigure(.678*ue,.85*ce,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.678*ue,.45*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.874*ue,.45*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.874*ue,.85*ce).close());var nt=new go.PathFigure(.5*ue,.1*ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*ue,.3*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*ue,.3*ce).close()),Ee}),go.Shape.defineFigureGenerator("Staircase",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce*1,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*.8)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.8)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.6)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.6)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.4)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*.4)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*.2)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.2)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.15)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.15)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.95).close()),Ee}),go.Shape.defineFigureGenerator("5Bars",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce*1,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.184,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.184,ce*(1-.184)).close());var Be=new go.PathFigure(ue*.204,ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.204,ce*(1-.184))),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.388,ce*(1-.184*2))),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.388,ce*1).close());var Ne=new go.PathFigure(ue*.408,ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.408,ce*(1-.184*2))),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.592,ce*(1-.184*3))),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.592,ce*1).close());var Ue=new go.PathFigure(ue*.612,ce,!0);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.612,ce*(1-.184*3))),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.796,ce*(1-.184*4))),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.796,ce*1).close());var nt=new go.PathFigure(ue*.816,ce,!0);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.816,ce*(1-.184*4))),nt.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-.184*5))),nt.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1).close()),Ee}),go.Shape.defineFigureGenerator("PC",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,0).close());var Be=new go.PathFigure(ue*.055,.07*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.07)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.055,ce*.1).close());var Ne=new go.PathFigure(ue*.055,.13*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.13)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.16)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.055,ce*.16).close());var Ue=new go.PathFigure(ue*.055,.18*ce,!0);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.18)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.21)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.055,ce*.21).close());var nt=new go.PathFigure(ue*1,0,!0);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.4,0)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.65)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.65).close()),Ee}),go.Shape.defineFigureGenerator("Plane",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.55*ue,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.475*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.35*ue,.525*ce,0,.4*ce,.225*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.475*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,.2*ce,.975*ue,0,ue,.08*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.55*ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("Key",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*1,ce*.5,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.9,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.7,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.85,.575*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.9,.6*ce).close()),Ae.add(new go.PathSegment(go.PathSegment.Move,.17*ue,.425*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*ue,.5*ce,.075*ue,.075*ce).close()),Ee}),go.Shape.defineFigureGenerator("FilmTape",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,180,ue*0,ue*.3,ue*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.08,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.08,ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*1),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*1),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*2),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*2),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*3),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*3),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*4),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*4),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*5),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*5),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*6),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*6),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*7),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*7),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*8),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*8),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*9),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*9),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*10),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*10),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*11),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*11),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*12),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*12),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*13),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*13),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*14),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*14),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*15),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*15),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1));var Be=new go.PathFigure(0,0,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*0)),Be.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ue*1,ue*.3,ue*.055)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1));var Ne=new go.PathFigure(ue*.11,ce*.1,!1);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*1+.028*0),ce*.1)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*1+.028*0),ce*.8)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.11,ce*.8).close());var Ue=new go.PathFigure(ue*(.11+.24133333*1+.028*1),ce*.1,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*2+.028*1),ce*.1)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*2+.028*1),ce*.8)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*1+.028*1),ce*.8).close());var nt=new go.PathFigure(ue*(.11+.24133333*2+.028*2),ce*.1,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*3+.028*2),ce*.1)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*3+.028*2),ce*.8)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*2+.028*2),ce*.8).close()),Ee}),go.Shape.defineFigureGenerator("FloppyDisk",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=8,Be=Ae*wt,Ne=new go.PathFigure(Ae,0,!1);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.86,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.14)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ae)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ae,ce,ue,ce-Be,ue-Be,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ae,Be,ce,0,ce-Be)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ae)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ae,0,0,Be,Be,0).close());var Ue=new go.PathFigure(ue*.83,0,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.83,ce*.3)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*.3)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*0).close());var nt=new go.PathFigure(ue*.83,ce*1,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.83,ce*.5)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*.5)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*1).close());var ft=new go.PathFigure(ue*.78,ce*.05,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.05)),ft.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.25)),ft.add(new go.PathSegment(go.PathSegment.Line,ue*.78,ce*.25).close()),Ee}),go.Shape.defineFigureGenerator("SpeechBubble",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=15),Ee=Math.min(Ee,ue/3),Ee=Math.min(Ee,ce/3);var Ae=Ee*wt,Be=ce*.8,Ne=new go.Geometry,Ue=new go.PathFigure(Ee,0,!0);return Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ee,ue-Ae,0,ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Be-Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,Be,ue,Be-Ae,ue-Ae,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.7,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.55,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,Ee,Be)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,Be-Ee,Ae,Be,0,Be-Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,Ae,Ae,0).close()),Ae>1?(Ne.spot1=new go.Spot(0,0,Ae,Ae),Ne.spot2=new go.Spot(1,.8,-Ae,-Ae)):(Ne.spot1=go.Spot.TopLeft,Ne.spot2=new go.Spot(1,.8)),Ne}),go.Shape.defineFigureGenerator("Repeat",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*.45,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*.9)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.9)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*.45).close());var Be=new go.PathFigure(ue*1,ce*.55,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.55)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*.55)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*.1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*.55).close()),Ee}),go.Shape.defineFigureGenerator("Windows",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close()).add(new go.PathSegment(go.PathSegment.Move,.4*ue,.4*ce)).add(new go.PathSegment(go.PathSegment.Line,.4*ue,.8*ce)).add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)).add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.2*ue,.1*ce)).add(new go.PathSegment(go.PathSegment.Line,.2*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.1*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.1*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Line,.1*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce).close()))}),go.Shape.defineFigureGenerator("Terminal",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*.1,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.9)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*.9).close());var Be=new go.PathFigure(ue*.1,ce*.2,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.1,ce*.25)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.22,ce*.285)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.1,ce*.32)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.1,ce*.37)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.275,ce*.32)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.275,ce*.25).close());var Ne=new go.PathFigure(ue*.28,ce*.37,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.37)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.41)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.28,ce*.41).close()),Ee}),go.Shape.defineFigureGenerator("Beaker",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=15,Be=Ae*wt,Ne=new go.PathFigure(ue*.62,ce*.475,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ae)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ae,ce,ue,ce-Be,ue-Be,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ae,Be,ce,0,ce-Be)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.38,ce*.475)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.38,ce*.03)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.62,ce*.03).close()),Be>1?(Ee.spot1=new go.Spot(0,0,Be,Be),Ee.spot2=new go.Spot(1,1,-Be,-Be)):(Ee.spot1=go.Spot.TopLeft,Ee.spot2=go.Spot.BottomRight),Ee}),go.Shape.defineFigureGenerator("Download",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*1,!0);Ee.add(Ae);var Be=.1/.3;Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.755,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.93,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.61,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.39,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.07,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.755),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.8),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*(1-Be)).close());var Ne=new go.PathFigure(ue*.4,ce*0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.26,ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.66)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.26),ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*0).close()),Ee}),go.Shape.defineFigureGenerator("Bin",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*1,!0);Ee.add(Ae);var Be=.1/.3;return Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.755,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.93,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.61,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.39,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.07,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.755),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.8),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*(1-Be)).close()),Ee}),go.Shape.defineFigureGenerator("Upload",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*1,!0);Ee.add(Ae);var Be=.1/.3;Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.755,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.93,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.61,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.39,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.07,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.755),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.8),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*(1-Be)).close());var Ne=new go.PathFigure(ue*.5,ce*0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.26,ce*.25)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.25)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.63)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.63)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.25)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.74,ce*.25).close()),Ee}),go.Shape.defineFigureGenerator("EmptyDrink",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.15,ce*0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.85,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*1).close()),Ee}),go.Shape.defineFigureGenerator("Drink",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.15,ce*0,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.85,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*1).close());var Be=new go.PathFigure(ue*.235,ce*.28,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.765,ce*.28)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.655,ce*.97)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.345,ce*.97).close()),Ee}),go.Shape.defineFigureGenerator("4Arrows",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.5,ce*0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,ce*.25)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.25)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.5)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.65)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.65)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*.5)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.25)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.25).close()),Ee}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},43001:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var qt={},xi="5.0",Je={},Fe=null,xt=!1,jt=!1,kt=null,It=!1,zt=null,wt=null,en=0;en4?parseFloat(Fn):5};qt.setHTML5Codebase=function(Fn,An){wt=Fn,Si(Fn,An)},qt.setJavaCodebase=qt.setJavaCodebaseVersion=qt.isCompiledInstalled=qt.setPreCompiledScriptPath=qt.setPreCompiledResourcePath=function(){},qt.setHTML5CodebaseVersion=function(Fn,An){var Vn=parseFloat(Fn);if(Vn!==NaN&&Vn<5){console.log("The GeoGebra HTML5 codebase version "+Vn+" is deprecated. Using version latest instead.");return}zt=Fn,Et(Fn,An)},qt.getHTML5CodebaseVersion=function(){return Ke},qt.getParameters=function(){return Je},qt.setFontsCSSURL=function(Fn){Ne=Fn},qt.setGiacJSURL=function(Fn){},qt.setJNLPFile=function(Fn){$e=Fn},qt.setJNLPBaseDir=function(Fn){},qt.inject=function(){function Fn(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var An="auto",Vn=Je.id,zi,on=!1,Wt=0;Wt=5)return!0;var Fn=qt.getAppletObject();return Fn&&typeof Fn.recalculateEnvironments=="function"?(Fn.recalculateEnvironments(),!0):!1},qt.startAnimation=function(){var Fn=qt.getAppletObject();return Fn&&typeof Fn.startAnimation=="function"?(Fn.startAnimation(),!0):!1},qt.stopAnimation=function(){var Fn=qt.getAppletObject();return Fn&&typeof Fn.stopAnimation=="function"?(Fn.stopAnimation(),!0):!1},qt.getAppletObject=function(){var Fn=Je.id!==void 0?Je.id:"ggbApplet";return window[Fn]},qt.resize=function(){};var ln=function(Fn,An,Vn){var zi=document.createElement("param");zi.setAttribute("name",An),zi.setAttribute("value",Vn),Fn.appendChild(zi)},Kt=function(Fn){return Fn&&Fn!=="false"},ni=function(Fn,An,Vn){nt(Ke)<=4.2&&(Vn=!0);var zi=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==Ke||ggbHTML5LoadedCodebaseIsWebSimple&&!ce)&&(zi=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var on=document.createElement("div");on.classList.add("appletParameters","notranslate");var Wt=An.width,zn=An.height;if(An.disableAutoScale=An.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():An.disableAutoScale,An.width!==void 0)if(nt(Ke)<=4.4)Kt(An.showToolBar)&&(An.height-=7),Kt(An.showAlgebraInput)&&(An.height-=37),An.width<605&&Kt(An.showToolBar)&&(An.width=605,Wt=605);else{var br=100;(Kt(An.showToolBar)||Kt(An.showMenuBar))&&(An.hasOwnProperty("customToolBar")&&(An.customToolbar=An.customToolBar),br=Kt(An.showMenuBar)?245:155),Wt=5?(An.appletOnLoad=function(ws){var Gr=Fn.querySelector(".ggb_preview");Gr&&Gr.parentNode.removeChild(Gr),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(We),window.GGBT_wsf_view&&$(window).trigger("resize"),vt(ws)},je||We.appendChild(ct)):on.appendChild(ct),We.appendChild(on),je||Fn.appendChild(We),setTimeout(function(){qt.resize()},1)}else{var Pt=document.createElement("div");Pt.className="applet_scaler",Pt.style.position="relative",Pt.style.display="block",Pt.appendChild(on),Fn.appendChild(Pt),An.appletOnLoad=function(ws){qt.resize(),vt(ws)}}function qe(ws,Gr){Gr&&typeof Gr.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(ws,Gr.appletOnLoad):renderGGBElement(ws),_r("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",Gr)}function Hn(ws,Gr){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:ws,params:Gr}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(Ms){qe(Ms.article,Ms.params)}),html5AppletsToProcess=null)},nt(Ke)<5&&(ws.className+=" geogebraweb")):qe(ws,Gr)}if(zi){scriptLoadStarted=!0;for(var Ci=0;Ci0?(uo.remove(),We.attr("id","fullscreencontent").show(),jQuery(vt).append(We),window.dispatchEvent(new Event("resize"))):ni(uo,An,!1),window.GGBT_wsf_view.launchFullScreen(vt)}else gn=zi,ni(Fn,An,!1);if(!window.GGBT_wsf_view)for(zn=0;znFn/4*3&&(uo=Fn/4*3),vt=uo/5.8,br.setAttribute("src",Ae),br.setAttribute("width",uo),br.setAttribute("height",vt);var We=(Fn-uo)/2,je=(An-vt)/2;br.style.left=We+"px",br.style.top=je+"px",on.appendChild(br)}}return on.appendChild(zn),on},gr=function(Fn){return Fn=Fn.toLowerCase(),Fn==="html5"||Fn==="screenshot"?Fn:"html5"},Ht=["web","webSimple","web3d","tablet","tablet3d","phone"],Et=function(Fn,An){if(Ke=Fn,An){Si(Ke,!0);return}var Vn=!xt;if(Vn){var zi=nt(Ke);!isNaN(zi)&&zi<4.4&&(Vn=!1)}var on,Wt;window.location.protocol.substr(0,4)==="http"?on=window.location.protocol:on="http:";var zn=Ke.indexOf("//");zn>0?Wt=Ke:zn===0?Wt=on+Ke:Wt="https://www.geogebra.org/apps/5.2.814.0/";for(var br in Ht)if(Ke.slice(Ht[br].length*-1)===Ht[br]||Ke.slice((Ht[br].length+1)*-1)===Ht[br]+"/"){Si(Wt,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Vn&&!Fe.is3D&&!Fe.AV&&!Fe.SV&&!Fe.CV&&!Fe.EV2&&!Fe.CP&&!Fe.PC&&!Fe.DA&&!Fe.FI&&!Fe.PV&&!Kt(Je.showToolBar)&&!Kt(Je.showMenuBar)&&!Kt(Je.showAlgebraInput)&&!Kt(Je.enableRightClick)&&(!Je.appName||Je.appName=="classic")?Wt+="webSimple/":Wt+="web3d/",Si(Wt,!1)},Si=function(Fn,An){if(Fn.requirejs){Gt=Fn;return}Fn.slice(-1)!=="/"&&(Fn+="/"),Gt=Fn,An===null&&(An=Fn.indexOf("http")===-1),an=An,ue="web.nocache.js",ce=!1;var Vn=Gt.split("/");Vn.length>1&&(!An&&Vn[Vn.length-2]==="webSimple"?(ue="webSimple.nocache.js",ce=!0):Ht.indexOf(Vn[Vn.length-2])>=0&&(ue=Vn[Vn.length-2]+".nocache.js")),Vn=Fn.split("/"),Ke=Vn[Vn.length-3],Ke.substr(0,4)==="test"?Ke=Ke.substr(4,1)+"."+Ke.substr(5,1):(Ke.substr(0,3)==="war"||Ke.substr(0,4)==="beta")&&(Ke="5.0");var zi=parseFloat(Ke);zi!==NaN&&zi<5&&Fn.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+zi+" is deprecated. Using version latest instead."),Et("5.0",An))},_r=function(Fn,An){window.console&&window.console.log&&(!An||typeof An.showLogging=="undefined"||An.showLogging&&An.showLogging!=="false")&&console.log(Fn)};Je.material_id!==void 0?Nt(zr):zr();function zr(){var Fn=xi;zt!==null?Fn=zt:parseFloat(Fn)<5&&(Fn="5.0"),Et(Fn,!1),wt!==null&&Si(wt,an),It=!0}return qt},GGBAppletUtils=function(){"use strict";function qt(){return window.GGBT_wsf_edit!==void 0}function xi(It,zt){zt!=1?(It.style.transformOrigin="0% 0% 0px",It.style.webkitTransformOrigin="0% 0% 0px",It.style.transform="scale("+zt+","+zt+")",It.style.webkitTransform="scale("+zt+","+zt+")",It.style.maxWidth="initial",It.querySelector(".ggb_preview")!==null&&(It.querySelector(".ggb_preview").style.maxWidth="initial"),It.querySelectorAll(".ggb_preview img")[0]!==void 0&&(It.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),It.querySelectorAll(".ggb_preview img")[1]!==void 0&&(It.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(It.style.transform="none",It.style.webkitTransform="none")}function Je(It,zt,wt,en,$t,$e){var Gt=null;if($e!=null&&$e!="")for(var an=It.parentNode;an!=null;)if((" "+an.className+" ").indexOf(" "+$e+" ")>-1){Gt=an;break}else an=an.parentNode;var gn=0,Ke=0,ue=0,ce=0,Ee=0,Ae=0,Be=0;if(Gt)gn=Gt.offsetWidth,Ke=Math.max(en?Gt.offsetWidth:0,Gt.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(gn=Math.min(window.innerWidth,document.documentElement.clientWidth),Ke=Math.min(window.innerHeight,document.documentElement.clientHeight),ue=gn):(gn=window.innerWidth,Ke=window.innerHeight,ue=window.innerWidth),It){var Ne=It.getBoundingClientRect();Ne.left>0&&Ne.left<=gn&&($t===void 0||!$t)&&(document.dir==="rtl"?(Ee=gn-Ne.width-Ne.left,Ae=ue<=480?10:30):(Ae=Ne.left,Ee=ue<=480?10:30),ce=Ae+Ee)}if(It&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var Ue=It.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ce=40,Be=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ce=0,Be=40)}}return It&&((wt===void 0||!wt)&&zt>0&&zt+ce1&&($e=!0)),zt&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&($e=!0),!(It.hasOwnProperty("disableAutoScale")&&It.disableAutoScale))$t=Fe(It,zt,$e,wt,It.scaleContainerClass);else return en;return $e&&(!It.hasOwnProperty("scale")||en===1)?$t:Math.min(en,$t)}function jt(It){var zt=Math.min(window.innerWidth,document.documentElement.clientWidth),wt=Math.min(window.innerHeight,document.documentElement.clientHeight),en=It.getBoundingClientRect(),$t=(zt-en.width)/2,$e=(wt-en.height)/2;$e<0&&($e=0),It.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?($t<40?It.style.left="40px":It.style.left=$t+"px",It.style.top=$e+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&($e<40?It.style.top="40px":It.style.top=$e+"px",It.style.left=$t+"px")}function kt(It,zt){var wt=It.querySelector(".appletParameters");if(wt){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(zt.id!==wt.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(It)}if(wt.parentElement&&/fullscreen/.test(wt.parentElement.className))return;var en=xt(zt,It);qt()&&wt.setAttribute("data-param-scale",en);for(var $t=null,$e=0;$e=O)continue;if(j==jb){if(k=i.getAttribute(kb),k){var l,m=k.indexOf(lb);m>=O?(j=k.substring(O,m),l=k.substring(m+P)):(j=k,l=W),c[j]=l}}else if(j==mb){if(k=i.getAttribute(kb),k)try{d=eval(k)}catch(qt){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(qt){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(qt){var xi=c[qt];return xi==null?null:xi},r=d,webModule.__errFn=e}function B(){function qt(It){var zt=It.lastIndexOf(rb);zt==-1&&(zt=It.length);var wt=It.indexOf(sb);wt==-1&&(wt=It.length);var en=It.lastIndexOf(tb,Math.min(wt,zt));return en>=O?It.substring(O,en+P):W}function xi(It){if(!It.match(/^\w+:\/\//)){var zt=o.createElement(ub);zt.src=It+vb,It=qt(zt.src)}return It}function Je(){var It=__gwt_getMetaProperty(wb);return It!=null?It:W}function Fe(){for(var It=o.getElementsByTagName(_),zt=O;ztO?It[It.length-P].href:W}function jt(){var It=o.location;return It.href==It.protocol+zb+It.host+It.pathname+It.search+It.hash}var kt=Je();return kt==W&&(kt=Fe()),kt==W&&(kt=xt()),kt==W&&jt()&&(kt=qt(o.location.href)),kt=xi(kt),kt}function C(qt){return qt.match(/^\//)||qt.match(/^[a-zA-Z]+:\/\//)?qt:webModule.__moduleBase+qt}function D(){var qt=[],xi=O,Je=[],Fe=[];function xt(It){var zt=Fe[It](),wt=Je[It];if(zt in wt)return zt;var en=[];for(var $t in wt)en[wt[$t]]=$t;throw r&&r(It,en,zt),null}if(__gwt_isKnownPropertyValue=function(It,zt){return zt in Je[It]},webModule.__getPropMap=function(){var It={};for(var zt in Je)Je.hasOwnProperty(zt)&&(It[zt]=xt(zt));return It},webModule.__computePropValue=xt,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var jt;try{jt=Cb;var kt=jt.indexOf(Db);kt!=-1&&(xi=parseInt(jt.substring(kt+P),$),jt=jt.substring(O,kt))}catch(It){}return webModule.__softPermutationId=xi,C(jt+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase="/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},46699:function(qt,xi,Je){"use strict";Je.d(xi,{Ax:function(){return kt},Ds:function(){return It},KI:function(){return wt},SI:function(){return jt},f1:function(){return xt}});var Fe=Je(346);function xt(en){let $t=!0;if(en.length>0){for(let $e=0;$eue in Ke?wt(Ke,ue,{enumerable:!0,configurable:!0,writable:!0,value:ce}):Ke[ue]=ce,$t=(Ke,ue,ce)=>en(Ke,typeof ue!="symbol"?ue+"":ue,ce),$e=(Ke,ue,ce)=>new Promise((Ee,Ae)=>{var Be=nt=>{try{Ue(ce.next(nt))}catch(ft){Ae(ft)}},Ne=nt=>{try{Ue(ce.throw(nt))}catch(ft){Ae(ft)}},Ue=nt=>nt.done?Ee(nt.value):Promise.resolve(nt.value).then(Be,Ne);Ue((ce=ce.apply(Ke,ue)).next())});class Gt extends Fe.Component{constructor(ue){super(ue),$t(this,"canvas"),$t(this,"randomNum",(ce,Ee)=>Math.floor(Math.random()*(Ee-ce)+ce)),$t(this,"drawPic",()=>{this.randomCode()}),$t(this,"reloadPic",()=>{this.drawPic()}),$t(this,"changeCode",ce=>{console.log(ce.target.value,222),this.setState({value:ce.target.value,showError:!1})}),$t(this,"onVerify",()=>{let ce;return this.state.value.toLowerCase()!==""&&this.state.value.toLowerCase()!==this.state.code.toLowerCase()?(ce=!0,xt.ZP.error("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u9A8C\u8BC1\u7801"),this.reloadPic()):this.state.value.toLowerCase()===""?(ce=!0,xt.ZP.error("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801")):this.state.value.toLowerCase()===this.state.code.toLowerCase()&&(ce=!1),this.setState({showError:ce}),ce}),this.canvas=Fe.createRef(),this.state={value:"",code:"",codeLength:4,fontSizeMin:20,fontSizeMax:22,backgroundColorMin:240,backgroundColorMax:250,colorMin:10,colorMax:20,lineColorMin:40,lineColorMax:180,contentWidth:96,contentHeight:38,showError:!1}}componentDidMount(){this.drawPic()}randomColor(ue,ce){const Ee=this.randomNum(ue,ce),Ae=this.randomNum(ue,ce),Be=this.randomNum(ue,ce);return`rgb(${Ee}, ${Ae}, ${Be})`}drawText(ue,ce,Ee){ue.fillStyle=this.randomColor(this.state.colorMin,this.state.colorMax);const Ae=this.randomNum(this.state.fontSizeMin,this.state.fontSizeMax);ue.font=Ae+"px SimHei";const Be=10,Ne=(this.state.contentWidth-40)/(this.state.code.length-1);let Ue=Be;Ee>0&&(Ue=Be+Ee*Ne);let nt=this.randomNum(this.state.fontSizeMax,this.state.contentHeight-5);Ae>40&&(nt=40);const ft=this.randomNum(-10,10);ue.translate(Ue,nt),ue.rotate(ft*Math.PI/180),ue.fillText(ce,0,0),ue.rotate(-ft*Math.PI/180),ue.translate(-Ue,-nt)}drawLine(ue){for(let ce=0;ce<1;ce++)ue.strokeStyle=this.randomColor(this.state.lineColorMin,this.state.lineColorMax),ue.beginPath(),ue.moveTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),ue.lineTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),ue.stroke()}drawDot(ue){for(let ce=0;ce<100;ce++)ue.fillStyle=this.randomColor(0,255),ue.beginPath(),ue.arc(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight),1,0,2*Math.PI),ue.fill()}randomCode(){let ue="";const ce="QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm1234567890";for(let Ee=0;Ee{const Ae=this.canvas.current.getContext("2d");Ae.textBaseline="bottom",Ae.fillStyle=this.randomColor(this.state.backgroundColorMin,this.state.backgroundColorMax),Ae.fillRect(0,0,this.state.contentWidth,this.state.contentHeight);for(let Be=0;Be{let ce;Modal.confirm({centered:!0,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",content:React.createElement("div",null,React.createElement("p",null,ue),React.createElement(Gt,{ref:Ee=>ce=Ee})),onOk:()=>$e(void 0,null,function*(){if(ce.onVerify())return Promise.reject();Ke()})})};var gn=Gt},9507:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return Gt}});var Fe=Je(59301),xt={imageDimensions:"imageDimensions___a7crR",img:"img___Kroat",fullWidth:"fullWidth___c492T"},jt=Je(92310),kt=Je.n(jt),It=Je(29787),zt=Je(2859),wt=Je(38986),en=Je(51257),$t=(an,gn,Ke)=>new Promise((ue,ce)=>{var Ee=Ne=>{try{Be(Ke.next(Ne))}catch(Ue){ce(Ue)}},Ae=Ne=>{try{Be(Ke.throw(Ne))}catch(Ue){ce(Ue)}},Be=Ne=>Ne.done?ue(Ne.value):Promise.resolve(Ne.value).then(Ee,Ae);Be((Ke=Ke.apply(an,gn)).next())}),Gt=({data:an,className:gn,fullWidth:Ke,style:ue={},onClose:ce,onOk:Ee,showFullTools:Ae,noAssociationId:Be})=>{const Ne=(0,Fe.useRef)(null),Ue=(0,Fe.useRef)(null),nt=(0,Fe.useRef)(null),ft=(0,Fe.useRef)(null),[St,Nt]=(0,Fe.useState)(!1),[Bt,bt]=(0,Fe.useState)("\u6B63\u5728\u52A0\u8F7D\u4E2D");(0,Fe.useEffect)(()=>(nt.current||(nt.current=document.createElement("style"),document.head.appendChild(nt.current)),an!=null&&an.visible?(document.body.setAttribute("data-custom","y-hidden"),nt.current.innerHTML=" html { overflow-y: hidden; }",an!=null&&an.src&&ln()):(document.body.removeAttribute("data-custom"),nt.current&&(document.head.removeChild(nt.current),nt.current=null)),()=>{document.body.removeAttribute("data-custom"),nt.current&&(document.head.removeChild(nt.current),nt.current=null)}),[an==null?void 0:an.visible]);const ln=()=>$t(void 0,null,function*(){Nt(!0),bt("\u6B63\u5728\u52A0\u8F7D\u4E2D");const ci=yield(0,en.ZJ)(an==null?void 0:an.src);Ne.current.src="",Ne.current.src=ci,Ne.current.onload=function(){pn()},Nt(!1),bt("")}),Kt=ci=>$t(void 0,null,function*(){Nt(!0),bt("\u6B63\u5728\u4FDD\u5B58\u4E2D");const di=yield(0,wt.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:an.title,file:ci.dataUrl}});di!=null&&di.id&&!Be?(yield(0,wt.ZP)(`/api/attachments/${an.id}/add_subitem.json`,{method:"post",body:{subitem_id:di==null?void 0:di.id,settings:JSON.stringify(ci.state)}})).status===0&&Ee():di!=null&&di.id&&Ee(di),Nt(!1),bt("")}),ni=()=>{const ci=document.querySelector('a[href="https://markerjs.com/"]');ci&&ci.parentNode&&(ci.parentNode.style.display="none"),[{name:'[data-action="select"]',title:"\u9009\u62E9"},{name:'[data-action="delete"]',title:"\u5220\u9664\u5143\u7D20"},{name:'[data-action="undo"]',title:"\u64A4\u9500"},{name:'[data-type-name="FrameMarker"]',title:"\u77E9\u5F62"},{name:'[data-type-name="FreehandMarker"]',title:"\u753B\u7EBF"},{name:'[data-type-name="ArrowMarker"]',title:"\u7BAD\u5934"},{name:'[data-type-name="TextMarker"]',title:"\u6587\u672C"},{name:'[data-type-name="EllipseMarker"]',title:"\u692D\u5706"},{name:'[data-type-name="HighlightMarker"]',title:"\u65B9\u5757"},{name:'[data-type-name="CalloutMarker"]',title:"\u6CE8\u91CA"},{name:'[data-action="render"]',title:"\u4FDD\u5B58"},{name:'[data-action="close"]',title:"\u9000\u51FA"}].forEach(Ln=>{const si=document.querySelector(Ln.name);si&&si.setAttribute("title",Ln.title)})},pn=()=>{Ue.current=new zt.hP(Ne.current),Ue.current.targetRoot=ft.current,Ue.current.addEventListener("render",Kt),Ue.current.addEventListener("beforeclose",ce),Ae&&(Ue.current.availableMarkerTypes=Ue.current.ALL_MARKER_TYPES,Ue.current.uiStyleSettings.redoButtonVisible=!0,Ue.current.uiStyleSettings.notesButtonVisible=!0,Ue.current.uiStyleSettings.zoomButtonVisible=!0,Ue.current.uiStyleSettings.zoomOutButtonVisible=!0,Ue.current.uiStyleSettings.clearButtonVisible=!0),window.markerArea=Ue.current.uiStyleSettings,Ue.current.show(),an!=null&&an.snapshotData&&Ue.current.restoreState(an.snapshotData),setTimeout(()=>{window.scrollTo(0,0),ni()},300)};return Fe.createElement(Fe.Fragment,null,(an==null?void 0:an.visible)&&Fe.createElement(It.Z,{spinning:St,tip:Bt,style:{position:"absolute",width:"100vw"}},Fe.createElement("div",{ref:ft,className:kt()(xt.imageDimensions,gn,Ke?xt.fullWidth:""),style:ue},Fe.createElement("img",{className:xt.img,ref:Ne}))))}},76562:function(qt,xi,Je){"use strict";var Fe=Je(59301),xt=Je(77019),jt=Je(5269),kt=Je(20554),It=Je(99571),zt=Je(76902),wt=Je(99587),en=Je(48136),$t=Je(59301);const $e=(0,Fe.forwardRef)(({callback:Gt,showSaveButton:an,value:gn=""},Ke)=>{const ue=(0,Fe.useRef)(),ce=[{name:"\u5206\u6570\u5F97\u5206",value:"\\frac{x}{y}",children:[{name:"\u5206\u6570 Fractions",data:[{value:"\\frac{a}{b}"},{value:"x\\tfrac{x}{a} "},{value:"\\mathrm{d}t"},{value:"\\partial t"},{value:"\\frac{\\partial y}{\\partial x}"},{value:"\\nabla\\psi"},{value:"\\frac{\\partial^2}{\\partial x_1\\partial x_2}y"},{value:"\\cfrac{1}{a + \\cfrac{7}{b + \\cfrac{2}{9}}} = c"}]},{name:"\u5BFC\u6570 Derivative",data:[{value:"\\dot{a} "},{value:"\\ddot{a}"},{value:"{f}^{\\prime}"},{value:"{f}^{\\prime\\prime}"},{value:"{f}^{(n)}"}]},{name:"\u6A21\u7B97\u672F Modular arithmetic",data:[{value:"a \\bmod b"},{value:"a \\equiv b \\pmod{m} "},{value:"\\gcd(m, n) "},{value:"\\operatorname{lcm}(m, n) "}]}]},{name:"\u6839\u5F0F\u89D2\u6807",value:"\\sqrt{x}",children:[{name:"\u6839\u5F0F Radicals",data:[{value:"\\sqrt{x}"},{value:"\\sqrt[y]{x}"}]},{name:"\u4E0A\u4E0B\u6807 Sub&Super",data:[{value:"x^{a}"},{value:"x_{a}"},{value:"x_{a}^{b} "},{value:"_{a}^{b} x"},{value:"x_{a}^{b} "}]},{name:"\u91CD\u97F3\u7B26\u53CA\u5176\u4ED6 Accents and Others",data:[{value:"\\hat{a} "},{value:"\\sqrt[y]{x}"},{value:"\\check{} "},{value:"\\grave{a} "},{value:"\\acute{a}"},{value:"\\tilde{a}"},{value:"\\breve{a}"},{value:"\\bar{a}"},{value:"\\vec{a}"},{value:"\\not{a}"},{value:"\\widetilde{abc}"},{value:"\\widehat{abc}"},{value:"\\overleftarrow{abc} "},{value:"\\overrightarrow{abc}"},{value:"\\overline{abc}"},{value:"\\underline{abc}"},{value:"\\overbrace{abc}"},{value:"\\underbrace{abc}"},{value:"\\overset{a}{abc}"},{value:"\\underset{a}{abc} \\stackrel\\frown{ab}"},{value:"\\overline{ab} "},{value:"\\overleftrightarrow{ab}"},{value:"\\overset{a}{\\leftarrow}"},{value:"\\overset{a}{\\rightarrow}"},{value:"\\xleftarrow[abc]{a}"},{value:"\\xrightarrow[abc]{a} "}]}]},{name:"\u6781\u9650\u5BF9\u6570",value:"\\lim_{x \\to 0}",children:[{name:"\u6781\u9650 Limits",data:[{value:"\\lim a"},{value:"\\lim_{x \\to 0}"},{value:"\\lim_{x \\to \\infty}"},{value:"\\max_b{a}"},{value:"\\min_a{b}"}]},{name:"\u5BF9\u6570\u6307\u6570 Logarithms and exponentials",data:[{value:"\\log_{a}{b}"},{value:"\\lg_{a}{b}"},{value:"\\ln_{a}{b}"},{value:"\\exp a"}]},{name:"\u754C\u9650 Bounds",data:[{value:"\\min x"},{value:"\\sup t"},{value:"\\inf s"},{value:"\\lim u"},{value:"\\limsup w"},{value:"\\dim p"},{value:"\\ker\\phi "}]}]},{name:"\u4E09\u89D2\u51FD\u6570",value:"\\sin a",children:[{name:"\u4E09\u89D2\u51FD\u6570 Trigonometric functions",data:[{value:"\\sin a"},{value:"\\cos a"},{value:"\\tan a"},{value:"\\cot a "},{value:"\\sec a "},{value:"\\csc a "}]},{name:"\u53CD\u4E09\u89D2\u51FD\u6570 Inverse trigonometric functions",data:[{value:"\\sin^{-1}"},{value:"\\cos^{-1}"},{value:"\\tan^{-1}"},{value:"\\cot^{-1}"},{value:"\\sec^{-1}"},{value:"\\csc^{-1}"},{value:"\\arcsin a"},{value:"\\arccos a"},{value:"\\arctan a"},{value:"\\operatorname{arccot} a"},{value:"\\operatorname{arcsec} a"},{value:"\\operatorname{arccsc} a"}]},{name:"\u53CC\u66F2\u51FD\u6570 Hyperblic functions",data:[{value:"\\sinh a"},{value:"\\cosh a"},{value:"\\tanh a"},{value:"\\coth a"},{value:"\\operatorname{sech} a"},{value:"\\operatorname{csch} a"}]},{name:"\u53CD\u53CC\u66F2\u51FD\u6570 Inverse hyperbolic functions",data:[{value:"\\sinh^{-1}"},{value:"a\\cosh^{-1} a"},{value:"\\tanh^{-1} a"},{value:"\\coth^{-1} a"},{value:"\\operatorname{sech}^{-1} a"},{value:"\\operatorname{csch}^{-1} a"}]}]},{name:"\u79EF\u5206\u8FD0\u7B97",value:"\\int_{a}^{b}",children:[{name:"\u79EF\u5206 Integral",data:[{value:"\\int"},{value:"\\int_{a}^{b}"},{value:"\\int\\limits_{a}^{b}"}]},{name:"\u53CC\u91CD\u79EF\u5206 Double integral",data:[{value:"\\iint"},{value:"\\iint_{a}^{b} "},{value:"\\iint\\limits_{a}^{b} "}]},{name:"\u4E09\u91CD\u79EF\u5206 Triple integral",data:[{value:"\\iiint"},{value:"\\iiint_{a}^{b}"},{value:"\\iiint\\limits_{a}^{b} "}]},{name:"\u66F2\u7EBF\u79EF\u5206 Closed line or path integral",data:[{value:"\\oint"},{value:"\\oint_{a}^{b} "}]}]},{name:"\u5927\u578B\u8FD0\u7B97",value:"\\sum_{a}^{b}",children:[{name:"\u6C42\u548C Summation",data:[{value:"\\sum"},{value:"\\sum_{a}^{b}"},{value:"{\\textstyle \\sum_{a}^{b}} "}]},{name:"\u4E58\u79EF\u4F59\u79EF Product and coproduct",data:[{value:"\\prod"},{value:"\\prod_{a}^{b}"},{value:"{\\textstyle \\prod_{a}^{b}}"},{value:"\\coprod"},{value:"\\coprod_{a}^{b}"},{value:"{\\textstyle \\coprod_{a}^{b}} "}]},{name:"\u5E76\u96C6\u4EA4\u96C6 Union and intersection",data:[{value:"\\bigcup"},{value:"\\bigcup_{a}^{b}"},{value:"{\\textstyle \\bigcup_{a}^{b}}"},{value:"\\bigcap"},{value:"\\bigcap_{a}^{b}"}]},{name:"\u6790\u53D6\u5408\u53D6 Disjunction and conjunction",data:[{value:"\\bigvee"},{value:"\\bigvee_{a}^{b}"},{value:"\\bigwedge"},{value:"\\bigwedge_{a}^{b}"}]}]},{name:"\u62EC\u53F7\u53D6\u6574",value:"\\left [ \\left ( \\right ) \\right ] ",children:[{name:"\u62EC\u53F7 Brackets",data:[{value:"\\left ( \\right )"},{value:"\\left [ \\right ]"},{value:"\\left \\langle \\right \\rangle "},{value:"\\left | \\right | "},{value:"\\left \\lfloor \\right \\rfloor "},{value:"\\left \\lceil \\right \\rceil "}]}]}],Ee=[{name:"\u4EE3\u6570",value:"\\sqrt{a^2+b^2}",children:[{data:[{value:"\\left(x-1\\right)\\left(x+3\\right) "},{value:"\\sqrt{a^2+b^2}"},{value:"\\left ( \\frac{a}{b}\\right )^{n}= \\frac{a^{n}}{b^{n}}"},{value:"\\frac{a}{b}\\pm \\frac{c}{d}= \\frac{ad \\pm bc}{bd} "},{value:"\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 "},{value:"\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0 "},{value:"\\sqrt[n]{a^{n}}=\\left ( \\sqrt[n]{a}\\right )^{n} "},{value:"x ={-b \\pm \\sqrt{b^2-4ac}\\over 2a} "},{value:"y-y_{1}=k \\left( x-x_{1}\\right) "},{value:`\\left\\{\\begin{matrix} \r +!(function(){var tse=Object.defineProperty,nse=Object.defineProperties;var ise=Object.getOwnPropertyDescriptors;var Ok=Object.getOwnPropertySymbols,rse=Object.getPrototypeOf,ose=Object.prototype.hasOwnProperty,sse=Object.prototype.propertyIsEnumerable,ase=Reflect.get;var WL=Math.pow,kk=(qt,xi,Je)=>xi in qt?tse(qt,xi,{enumerable:!0,configurable:!0,writable:!0,value:Je}):qt[xi]=Je,Sh=(qt,xi)=>{for(var Je in xi||(xi={}))ose.call(xi,Je)&&kk(qt,Je,xi[Je]);if(Ok)for(var Je of Ok(xi))sse.call(xi,Je)&&kk(qt,Je,xi[Je]);return qt},NA=(qt,xi)=>nse(qt,ise(xi));var zk=(qt,xi,Je)=>ase(rse(qt),Je,xi);var la=(qt,xi,Je)=>new Promise((Fe,xt)=>{var jt=zt=>{try{It(Je.next(zt))}catch(wt){xt(wt)}},kt=zt=>{try{It(Je.throw(zt))}catch(wt){xt(wt)}},It=zt=>zt.done?Fe(zt.value):Promise.resolve(zt.value).then(jt,kt);It((Je=Je.apply(qt,xi)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[8823],{8336:function(){"use strict"},12469:function(){"use strict"},99587:function(qt,xi){"use strict";xi.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},22982:function(qt,xi){"use strict";xi.Z={flex_box_center:"flex_box_center___IBr6x",flex_space_between:"flex_space_between___n2Iz0",flex_box_vertical_center:"flex_box_vertical_center___1umwO",flex_box_center_end:"flex_box_center_end___SRZYb",flex_box_column:"flex_box_column___b90Da",form:"form___V3fAH",title_icon:"title_icon____uDZy",title:"title___RxKwK",content:"content___vFT5m",pubColSty:"pubColSty___dfLkL",selectSty:"selectSty____Wuek",borderSty:"borderSty___EuFYV",delSty:"delSty___AdEeI",delBorder:"delBorder___vcTJc",copHover:"copHover___JVVXI",multiple_select:"multiple_select___ZMPhl",work_checkbox_group:"work_checkbox_group___sGLxY"}},87108:function(qt,xi){"use strict";xi.Z={flex_box_center:"flex_box_center___vhwFp",flex_space_between:"flex_space_between___rbHwE",flex_box_vertical_center:"flex_box_vertical_center___AF_yr",flex_box_center_end:"flex_box_center_end___FqGSd",flex_box_column:"flex_box_column___ujWr7",failedList:"failedList___KGsCg",name:"name___bbsWC",publish:"publish___mai8J",modal:"modal___t6wU6"}},63720:function(){"use strict";function qt(Ke,ue,ce,Ee){ce===void 0&&(ce=0),Ee===void 0&&(Ee=1/0),this._name=Ke,this._defaultValue=ue,this._minimum=ce,this._maximum=Ee}Object.defineProperty(qt.prototype,"name",{get:function(){return this._name},set:function(Ke){if(typeof Ke!="string"||Ke==="")throw new Error("Shape name must be a valid string.");this._name=Ke}}),Object.defineProperty(qt.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(Ke){if(typeof Ke!="number"||isNaN(Ke))throw new Error("The default value must be a real number, not: "+Ke);this._defaultValue=Ke}}),Object.defineProperty(qt.prototype,"minimum",{get:function(){return this._minimum},set:function(Ke){if(typeof Ke!="number"||isNaN(Ke))throw new Error("Minimum must be a real number, not: "+Ke);this._minimum=Ke}}),Object.defineProperty(qt.prototype,"maximum",{get:function(){return this._maximum},set:function(Ke){if(typeof Ke!="number"||isNaN(Ke))throw new Error("Maximum must be a real number, not: "+Ke);this._maximum=Ke}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(Ke,ue){var ce=go.Shape._FigureParameters[Ke];return ce?ce[ue]:null},go.Shape.setFigureParameter=function(Ke,ue,ce){if(!(ce instanceof qt))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+ce);if(ce.defaultValuece.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+ce.defaultValue);var Ee=go.Shape._FigureParameters[Ke];Ee||(Ee=[],go.Shape._FigureParameters[Ke]=Ee),Ee[ue]=ce};var xi=[];function Je(Ke,ue){var ce=xi.pop();return ce===void 0?new go.Point(Ke,ue):(ce.x=Ke,ce.y=ue,ce)}function Fe(){var Ke=xi.pop();return Ke===void 0?new go.Point:Ke}function xt(Ke){xi.push(Ke)}function jt(Ke,ue,ce,Ee,Ae,Be,Ne,Ue,nt){nt||(nt=new go.Point);var ft=Ke-ce,St=Ae-Ne,Nt=NaN,Bt=NaN;if(ft===0)if(St===0)Ke===ce&&(Nt=Ke,Bt=ue);else{var bt=(Be-Ue)/St,ln=Be-bt*Ae;Nt=Ke,Bt=bt*Nt+ln}else if(St===0){var Kt=(ue-Ee)/ft,ni=ue-Kt*Ke;Nt=Ae,Bt=Kt*Nt+ni}else{var Kt=(ue-Ee)/ft,bt=(Be-Ue)/St,ni=ue-Kt*Ke,ln=Be-bt*Ae;Nt=(ln-ni)/(Kt-bt),Bt=Kt*Nt+ni}return nt.x=Nt,nt.y=Bt,nt}function kt(Ke,ue,ce,Ee,Ae,Be,Ne,Ue,nt,ft,St,Nt,Bt,bt){var ln=1-nt,Kt=nt,ni=Ke*ln+ce*Kt,pn=ue*ln+Ee*Kt,ci=ce*ln+Ae*Kt,di=Ee*ln+Be*Kt,Ln=Ae*ln+Ne*Kt,si=Be*ln+Ue*Kt,gr=ni*ln+ci*Kt,Ht=pn*ln+di*Kt,Et=ci*ln+Ln*Kt,Si=di*ln+si*Kt,_r=gr*ln+Et*Kt,zr=Ht*ln+Si*Kt;ft.x=ni,ft.y=pn,St.x=gr,St.y=Ht,Nt.x=_r,Nt.y=zr,Bt.x=Et,Bt.y=Si,bt.x=Ln,bt.y=si}var It=new go.Spot(.156,.156),zt=new go.Spot(.844,.844),wt=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new qt("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=5),Ee=Math.min(Ee,ue/3),Ee=Math.min(Ee,ce/3);var Ae=Ee*wt,Be=new go.Geometry().add(new go.PathFigure(Ee,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0)).add(new go.PathSegment(go.PathSegment.Bezier,ue,Ee,ue-Ae,0,ue,Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ee)).add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue,ce-Ae,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ee,ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ee,Ae,ce,0,ce-Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ee)).add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,Ae,Ae,0).close()));return Ae>1&&(Be.spot1=new go.Spot(0,0,Ae,Ae),Be.spot2=new go.Spot(1,1,-Ae,-Ae)),Be}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,ce).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,ce).add(new go.PathSegment(go.PathSegment.Line,0,ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=0,Ee.startY=ce/2,Ee.endX=ue,Ee.endY=ce/2,Ee}),go.Shape.defineFigureGenerator("LineV",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=ue/2,Ee.startY=0,Ee.endX=ue/2,Ee.endY=ce,Ee}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce/2,!1).add(new go.PathSegment(go.PathSegment.Line,ue,ce/2)).add(new go.PathSegment(go.PathSegment.Move,ue/2,0)).add(new go.PathSegment(go.PathSegment.Line,ue/2,ce)))}),go.Shape.defineFigureGenerator("XLine",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)))}),go.Shape.defineFigureGenerator("LineRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.25*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.25*ue,ce)))}),go.Shape.defineFigureGenerator("LineDown",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,.25*ce,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.75*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)))}),go.Shape.defineFigureGenerator("LineLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.75*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.75*ue,ce)))}),go.Shape.defineFigureGenerator("LineUp",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,.75*ce,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(Ke,ue,ce){var Ee=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(Ee*ue,(1-Ee)*ce,!1).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Move,Ee*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,(1-Ee)*ce)).add(new go.PathSegment(go.PathSegment.Move,0,ce/2)).add(new go.PathSegment(go.PathSegment.Line,ue,ce/2)).add(new go.PathSegment(go.PathSegment.Move,ue/2,0)).add(new go.PathSegment(go.PathSegment.Line,ue/2,ce)))}),go.Shape.defineFigureGenerator("CircleLine",function(Ke,ue,ce){var Ee=ue/2,Ae=new go.Geometry().add(new go.PathFigure(ue,ue/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,Ee,Ee,Ee,Ee).close()));return Ae.spot1=It,Ae.spot2=zt,Ae.defaultStretch=go.GraphObject.Uniform,Ae}),go.Shape.defineFigureGenerator("Line1",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=0,Ee.startY=0,Ee.endX=ue,Ee.endY=ce,Ee}),go.Shape.defineFigureGenerator("Line2",function(Ke,ue,ce){var Ee=new go.Geometry(go.Geometry.Line);return Ee.startX=ue,Ee.startY=0,Ee.endX=0,Ee.endY=ce,Ee}),go.Shape.defineFigureGenerator("Curve1",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,wt*ue,0,ue,(1-wt)*ce)))}),go.Shape.defineFigureGenerator("Curve2",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,0,wt*ce,(1-wt)*ue,ce)))}),go.Shape.defineFigureGenerator("Curve3",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,ue,wt*ce,wt*ue,ce)))}),go.Shape.defineFigureGenerator("Curve4",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,(1-wt)*ue,0,0,(1-wt)*ce)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(ue,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new qt("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)?Ee=.1:Ee<-1?Ee=-1:Ee>1&&(Ee=1);var Ae=Math.abs(Ee)*ue;if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Aeue&&(Ee=ue);var Ae=Math.abs(Ee);if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Ae.5&&(Ee=.5);var Ae=Math.abs(Ee)*ue;if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Aeue&&(Ee=ue/2);var Ae=Math.abs(Ee);if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())):Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())),Aeue&&(Ee=ue/2);var Ae=Math.abs(Ee);if(Ee===0){var Be=new go.Geometry(go.Geometry.Rectangle);return Be.startX=0,Be.startY=0,Be.endX=ue,Be.endY=ce,Be}else{var Be=new go.Geometry;return Ee>0?Be.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce).close())):Be.add(new go.PathFigure(Ae,0).add(new go.PathSegment(go.PathSegment.Line,ue-Ae,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close())),Ae0&&(Ne.add(new go.PathSegment(go.PathSegment.Move,ue/2+Ue,ue/2)),Ne.add(new go.PathSegment(go.PathSegment.Arc,0,-360,Ae,Ae,Ue,Ue).close())),Be.spot1=It,Be.spot2=zt,Be.defaultStretch=go.GraphObject.Uniform,Be}),go.Shape.defineFigureGenerator("Cloud",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.08034461*ue,.1944299*ce,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*ue,.05349299*ce,-.09239631*ue,.07836421*ce,.1406031*ue,-.0542823*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*ue,.074219*ce,.2450511*ue,-.00697547*ce,.3776197*ue,-.01112067*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*ue,.07004196*ce,.4539471*ue,0,.6066018*ue,-.02526587*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*ue,.08370865*ce,.6914277*ue,-.01904177*ce,.8921095*ue,-.01220843*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*ue,.3194596*ce,1.036446*ue,.04105738*ce,1.020377*ue,.3022052*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*ue,.562044*ce,1.04448*ue,.360238*ce,.992256*ue,.5219009*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*ue,.8217117*ce,1.032337*ue,.5771781*ce,1.018411*ue,.8120651*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*ue,.9156953*ce,1.028411*ue,.9571472*ce,.8556702*ue,1.052487*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*ue,.9310455*ce,.7431877*ue,1.009325*ce,.5624123*ue,1.021761*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*ue,.9344623*ce,.4820677*ue,1.031761*ce,.3030112*ue,1.002796*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ue,.870098*ce,.2329994*ue,1.01518*ce,.03213784*ue,1.01518*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*ue,.6545475*ce,-.02812061*ue,.9032597*ce,-.01205169*ue,.6835638*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*ue,.4265613*ce,-.01812061*ue,.6089503*ce,-.00606892*ue,.4555777*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ue,.1944299*ce,-.01606892*ue,.3892545*ce,-.01205169*ue,.1944299*ce))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(Ke,ue,ce){var Ee=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(Ee*ue,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ee)*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,Ee*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,(1-Ee)*ce)).add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce).close())).setSpots(Ee/2,Ee/2,1-Ee/2,1-Ee/2)}),go.Shape.setFigureParameter("Pie",0,new qt("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new qt("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN,Ae=Ke?Ke.parameter2:NaN;isNaN(Ee)&&(Ee=0),isNaN(Ae)&&(Ae=315);var Be=Ee%360;Be<0&&(Be+=360);var Ne=Ae%360,Ue=Math.min(ue,ce)/2;return new go.Geometry().add(new go.PathFigure(Ue,Ue).add(new go.PathSegment(go.PathSegment.Arc,Be,Ne,Ue,Ue,Ue,Ue).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(Ke,ue,ce){var Ee=wt/Math.SQRT2*.5,Ae=Math.SQRT2/2,Be=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(ue,ce,!0).add(new go.PathSegment(go.PathSegment.Bezier,Ae*ue,Be*ce,ue,(1-Ee)*ce,(Ae+Ee)*ue,(Be+Ee)*ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close()))}),go.Shape.setFigureParameter("ThickCross",0,new qt("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=30);var Ae=Math.min(Ee,ue)/2,Be=ue/2,Ne=ce/2;return new go.Geometry().add(new go.PathFigure(Be-Ae,0,!0).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,0)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne-Ae).close()))}),go.Shape.setFigureParameter("ThinCross",0,new qt("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=10);var Ae=Math.min(Ee,ue)/2,Be=ue/2,Ne=ce/2;return new go.Geometry().add(new go.PathFigure(Be-Ae,0,!0).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,0)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,ue,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,Be+Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,ce)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne+Ae)).add(new go.PathSegment(go.PathSegment.Line,0,Ne-Ae)).add(new go.PathSegment(go.PathSegment.Line,Be-Ae,Ne-Ae).close()))}),go.Shape.setFigureParameter("ThickX",0,new qt("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;if((isNaN(Ee)||Ee<0)&&(Ee=30),ue===0||ce===0){var Ae=new go.Geometry(go.Geometry.Rectangle);return Ae.startX=0,Ae.startY=0,Ae.endX=ue,Ae.endY=ce,Ae}else{var Be=ue/2,Ne=ce/2,Ue=Math.atan2(ce,ue),nt=Ee-Math.min(Math.cos(Ue)*Ee/2,Be),ft=Ee-Math.min(Math.sin(Ue)*Ee/2,Ne),Ae=new go.Geometry,St=new go.PathFigure(nt,0,!0);return Ae.add(St),St.add(new go.PathSegment(go.PathSegment.Line,Be,.2*ce)),St.add(new go.PathSegment(go.PathSegment.Line,ue-nt,0)),St.add(new go.PathSegment(go.PathSegment.Line,ue,ft)),St.add(new go.PathSegment(go.PathSegment.Line,.8*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,ue,ce-ft)),St.add(new go.PathSegment(go.PathSegment.Line,ue-nt,ce)),St.add(new go.PathSegment(go.PathSegment.Line,Be,.8*ce)),St.add(new go.PathSegment(go.PathSegment.Line,nt,ce)),St.add(new go.PathSegment(go.PathSegment.Line,0,ce-ft)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,0,ft).close()),Ae}}),go.Shape.setFigureParameter("ThinX",0,new qt("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=10);var Ae=new go.Geometry,Be=new go.PathFigure(.1*ue,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.9*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce).close()),Ae}),go.Shape.setFigureParameter("SquareIBeam",0,new qt("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.2);var Ae=new go.Geometry,Be=new go.PathFigure(0,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5+Ee/2)*ue,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5+Ee/2)*ue,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5-Ee/2)*ue,(1-Ee)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(.5-Ee/2)*ue,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce).close()),Ae}),go.Shape.setFigureParameter("RoundedIBeam",0,new qt("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.5);var Ae=new go.Geometry,Be=new go.PathFigure(0,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,Math.abs(1-Ee)*ue,.25*ce,Math.abs(1-Ee)*ue,.75*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,0,0,Ee*ue,.75*ce,Ee*ue,.25*ce).close()),Ae}),go.Shape.defineFigureGenerator("HalfEllipse",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,wt*ue,0,ue,(.5-wt/2)*ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,ue,(.5+wt/2)*ce,wt*ue,ce).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,ce,ue,0,ue,ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*ue,.75*ce,.5*ue,.25*ce).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,ce,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ce,.1*ue,.8*ce,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.3*ce,0,0,.45*ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,ue,.3*ce,.55*ue,0,ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,.5*ce,.9*ue,.8*ce).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*ue,.01*ce)).add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,.6*ue,.2*ce,ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ue,.7*ce,ue,.8*ce,.6*ue,.8*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,ce,.5*ue,.75*ce,.55*ue,.95*ce)).add(new go.PathSegment(go.PathSegment.Line,.25*ue,ce)).add(new go.PathSegment(go.PathSegment.Bezier,.45*ue,.7*ce,.45*ue,.95*ce,.5*ue,.75*ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,.4*ue,.8*ce,0,.8*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.49*ue,.01*ce,0,.25*ce,.4*ue,.2*ce).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.4*ue,.6*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.15*ue,ce,.5*ue,.75*ce,.45*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.6*ue,.6*ce,.55*ue,.95*ce,.5*ue,.75*ce));var Be=.2,Ne=.3,Ue=0,nt=Be*wt;return Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5+Be+Ue)*ce,(.5-Be+Ne)*ue,(.5+nt+Ue)*ce,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Be+Ne)*ue,(.5+Ue)*ce,(.5+nt+Ne)*ue,(.5+Be+Ue)*ce,(.5+Be+Ne)*ue,(.5+nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5-Be+Ue)*ce,(1-.5+Be+Ne)*ue,(.5-nt+Ue)*ce,(.5+nt+Ne)*ue,(.5-Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.65*ue,.36771243*ce,(.5-nt+Ne)*ue,(.5-Be+Ue)*ce,(.5-Be+Ne+.05)*ue,(.5-nt+Ue-.02)*ce)),Be=.2,Ne=0,Ue=-.3,nt=Be*wt,Ae.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Be+Ne)*ue,(.5+Ue)*ce,(.5+nt+Ne)*ue,(.5+Be+Ue)*ce,(.5+Be+Ne)*ue,(.5+nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5-Be+Ue)*ce,(1-.5+Be+Ne)*ue,(.5-nt+Ue)*ce,(.5+nt+Ne)*ue,(.5-Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Be+Ne)*ue,(.5+Ue)*ce,(.5-nt+Ne)*ue,(.5-Be+Ue)*ce,(.5-Be+Ne)*ue,(.5-nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce,(.5-Be+Ne)*ue,(.5+nt+Ue)*ce,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce)),Be=.2,Ne=-.3,Ue=0,nt=Be*wt,Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5-Be+Ue)*ce,(1-.5+Be+Ne-.05)*ue,(.5-nt+Ue-.02)*ce,(.5+nt+Ne)*ue,(.5-Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Be+Ne)*ue,(.5+Ue)*ce,(.5-nt+Ne)*ue,(.5-Be+Ue)*ce,(.5-Be+Ne)*ue,(.5-nt+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Ne)*ue,(.5+Be+Ue)*ce,(.5-Be+Ne)*ue,(.5+nt+Ue)*ce,(.5-nt+Ne)*ue,(.5+Be+Ue)*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,.6*ce,(.5+nt+Ne)*ue,(.5+Be+Ue)*ce,(.5+Be+Ne)*ue,(.5+nt+Ue)*ce).close()),Ee.setSpots(.06,.33,.93,.68),Ee}),go.Shape.defineFigureGenerator("YinYang",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.5,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,180,ue*.5,ue*.5,ue*.5,ue*.5)),Ae.add(new go.PathSegment(go.PathSegment.Arc,90,-180,ue*.5,ue*.75,ue*.25,ue*.25)),Ae.add(new go.PathSegment(go.PathSegment.Arc,90,180,ue*.5,ue*.25,ue*.25,ue*.25));var Be=.1,Ne=.5,Ue=.25;return Ae.add(new go.PathSegment(go.PathSegment.Move,(Ne+Be)*ue,Ue*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,0,-360,ue*Ne,ce*Ue,Be*ue,Be*ue).close()),Ae=new go.PathFigure(ue*.5,0,!1),Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ue*.5,ue*.5,ue*.5,ue*.5)),Ue=.75,Ae=new go.PathFigure((Ne+Be)*ue,Ue*ce,!0),Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,0,360,ue*Ne,ce*Ue,Be*ue,Be*ue).close()),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("Peace",function(Ke,ue,ce){var Ee=.8535533905932737,Ae=.5*ue,Be=.5*ce;return new go.Geometry().add(new go.PathFigure(Ae,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,Ae,Be,Ae,Be)).add(new go.PathSegment(go.PathSegment.Line,Ae,ce)).add(new go.PathSegment(go.PathSegment.Move,Ae,Be)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Move,Ae,Be)).add(new go.PathSegment(go.PathSegment.Line,Ee*ue,Ee*ce)))}),go.Shape.defineFigureGenerator("NotAllowed",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=.5,Ue=.5,nt=new go.PathFigure(Ne*ue,(Ue-Be)*ce);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),Be=.4,Ae=wt*.4;var ft=Fe(),St=Fe(),Nt=Fe(),Bt=Fe();kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.42,ft,St,Nt,Bt,Bt);var bt=Fe(),ln=Fe(),Kt=Fe();kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.58,Bt,Bt,Kt,bt,ln);var ni=Fe(),pn=Fe(),ci=Fe();kt(Ne,Ue+Be,Ne-Ae,Ue+Be,Ne-Be,Ue+Ae,Ne-Be,Ue,.42,ni,pn,ci,Bt,Bt);var di=Fe(),Ln=Fe(),si=Fe();return kt(Ne,Ue+Be,Ne-Ae,Ue+Be,Ne-Be,Ue+Ae,Ne-Be,Ue,.58,Bt,Bt,si,di,Ln),nt.add(new go.PathSegment(go.PathSegment.Move,si.x*ue,si.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,di.x*ue,di.y*ce,Ln.x*ue,Ln.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Nt.x*ue,Nt.y*ce,ft.x*ue,ft.y*ce,St.x*ue,St.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,si.x*ue,si.y*ce).close()),nt.add(new go.PathSegment(go.PathSegment.Move,ci.x*ue,ci.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,Kt.x*ue,Kt.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,bt.x*ue,bt.y*ce,ln.x*ue,ln.y*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,ci.x*ue,ci.y*ce,ni.x*ue,ni.y*ce,pn.x*ue,pn.y*ce).close()),xt(ft),xt(St),xt(Nt),xt(Bt),xt(bt),xt(ln),xt(Kt),xt(ni),xt(pn),xt(ci),xt(di),xt(Ln),xt(si),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("Fragile",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*ue,0)).add(new go.PathSegment(go.PathSegment.Line,.2*ue,.15*ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Line,.29*ue,.33*ce)).add(new go.PathSegment(go.PathSegment.Line,.35*ue,.25*ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.15*ce)).add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ue,.5*ce,ue,.25*ce,.75*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.55*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.45*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.45*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.5*ce,0,.25*ce).close()))}),go.Shape.setFigureParameter("HourGlass",0,new qt("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=30),Ee>ue&&(Ee=ue);var Ae=(ue-Ee)/2,Be=Ae+Ee;return new go.Geometry().add(new go.PathFigure(Be,.5*ce).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce)).add(new go.PathSegment(go.PathSegment.Line,Ae,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,ue,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,.55*ce).add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)).add(new go.PathSegment(go.PathSegment.Line,.3*ue,.45*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.45*ce)).add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.55*ce).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.4,Be=.4,Ne=.5,Ue=.5,nt=Fe(),ft=Fe(),St=Fe(),Nt=Fe(),Bt=new go.PathFigure((Ne-Be)*ue,Ue*ce,!1);Ee.add(Bt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.44,St,Nt,ft,nt,nt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,ft.x*ue,ft.y*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce));var bt=Je(ft.x,ft.y);kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.56,nt,nt,ft,St,Nt);var ln=Je(ft.x,ft.y);Bt.add(new go.PathSegment(go.PathSegment.Line,(bt.x*.1+.95*.9)*ue,bt.y*.1*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,bt.y*.1*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,0)),Bt.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Bt.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,(ln.x*.1+.9)*ue,.15*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,(ln.x*.1+.9)*ue,(ln.y*.1+.05*.9)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Line,ln.x*ue,ln.y*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),Be=.35,Ae=wt*.35;var Kt=new go.PathFigure(Ne*ue,(Ue-Be)*ce,!1);Ee.add(Kt),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce));var ni=new go.PathFigure((Ne-Be)*ue,Ue*ce,!1);return Ee.add(ni),xt(nt),xt(ft),xt(St),xt(Nt),xt(bt),xt(ln),Ee.spot1=new go.Spot(.202,.257),Ee.spot2=new go.Spot(.792,.739),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("GenderFemale",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.375,Be=0,Ne=-.125,Ue=Ae*wt,nt=new go.PathFigure((.525+Be)*ue,(.5+Ae+Ne)*ce,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Ae+Be)*ue,(.5+Ne)*ce,(.5+Ue+Be)*ue,(.5+Ae+Ne)*ce,(.5+Ae+Be)*ue,(.5+Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Be)*ue,(.5-Ae+Ne)*ce,(1-.5+Ae+Be)*ue,(.5-Ue+Ne)*ce,(.5+Ue+Be)*ue,(.5-Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Ae+Be)*ue,(.5+Ne)*ce,(.5-Ue+Be)*ue,(.5-Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5-Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.475+Be)*ue,(.5+Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5+Ue+Ne)*ce,(.5-Ue+Be)*ue,(.5+Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.475*ue,.85*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.425*ue,.85*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.425*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.475*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.475*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.525*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.9*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.85*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.85*ce).close()),Ae=.325,Be=0,Ne=-.125,Ue=Ae*wt;var nt=new go.PathFigure((1-.5+Ae+Be)*ue,(.5+Ne)*ce,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Be)*ue,(.5+Ae+Ne)*ce,(.5+Ae+Be)*ue,(.5+Ue+Ne)*ce,(.5+Ue+Be)*ue,(.5+Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Ae+Be)*ue,(.5+Ne)*ce,(.5-Ue+Be)*ue,(.5+Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5+Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(.5+Be)*ue,(.5-Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5-Ue+Ne)*ce,(.5-Ue+Be)*ue,(.5-Ae+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+Ae+Be)*ue,(.5+Ne)*ce,(.5+Ue+Be)*ue,(.5-Ae+Ne)*ce,(1-.5+Ae+Be)*ue,(.5-Ue+Ne)*ce));var nt=new go.PathFigure((.525+Be)*ue,(.5+Ae+Ne)*ce,!1);return Ee.add(nt),Ee.spot1=new go.Spot(.232,.136),Ee.spot2=new go.Spot(.682,.611),Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("LogicImplies",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;return isNaN(Ee)&&(Ee=.2),new go.Geometry().add(new go.PathFigure((1-Ee)*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,ce)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;return isNaN(Ee)&&(Ee=.2),new go.Geometry().add(new go.PathFigure((1-Ee)*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,(1-Ee)*ue,ce)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Move,Ee*ue,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,Ee*ue,ce))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)))}),go.Shape.defineFigureGenerator("LogicAnd",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(Ke,ue,ce){var Ee=new go.Geometry().add(new go.PathFigure(.5*ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*ue,.5*ce,.5*ue,.5*ce)));return Ee.defaultStretch=go.GraphObject.Uniform,Ee}),go.Shape.defineFigureGenerator("LogicTruth",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,.5*ue,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Move,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Move,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce)))}),go.Shape.defineFigureGenerator("LogicForAll",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,.25*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,.75*ue,.5*ce))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Move,0,ce)).add(new go.PathSegment(go.PathSegment.Line,ue,ce))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(Ke,ue,ce){var Ee=.5;return new go.Geometry().add(new go.PathFigure(0,ce,!1).add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce)).add(new go.PathSegment(go.PathSegment.Arc,180,180,Ee*ue,Ee*ce,Ee*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,ce))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(Ke,ue,ce){var Ee=.5;return new go.Geometry().add(new go.PathFigure(ue,0,!1).add(new go.PathSegment(go.PathSegment.Line,ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Arc,0,180,Ee*ue,Ee*ce,Ee*ue,Ee*ce)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new qt("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new qt("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.3);var Be=(1-Ee)*ue,Ne=(.5-Ae/2)*ce,Ue=(.5+Ae/2)*ce,nt=new go.Geometry,ft=new go.PathFigure(0,Ne,!0);nt.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ne)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,0)),ft.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ue)),ft.add(new go.PathSegment(go.PathSegment.Line,0,Ue).close()),nt.spot1=new go.Spot(0,Ne/ce);var St=jt(0,Ue/ce,1,Ue/ce,Be/ue,1,1,.5,Fe());return nt.spot2=new go.Spot(St.x,St.y),xt(St),nt}),go.Shape.setFigureParameter("Arrow2",0,new qt("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new qt("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=30),Ee>ue&&(Ee=ue);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=30),Ae=Math.min(Ae,ce/2);var Be=ue-Ee,Ne=(ce-Ae)/2,Ue=Ne+Ae,nt=new go.Geometry,ft=new go.PathFigure(0,Ne,!0);nt.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ne)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,0)),ft.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,ce)),ft.add(new go.PathSegment(go.PathSegment.Line,Be,Ue)),ft.add(new go.PathSegment(go.PathSegment.Line,0,Ue).close()),nt.spot1=new go.Spot(0,Ne/ce);var St=jt(0,Ue/ce,1,Ue/ce,Be/ue,1,1,.5,Fe());return nt.spot2=new go.Spot(St.x,St.y),xt(St),nt}),go.Shape.defineFigureGenerator("Chevron",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("DoubleArrow",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.214*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,1*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.786*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,1*ce).close()),Ee}),go.Shape.setFigureParameter("DoubleEndArrow",0,new qt("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=(.5-Ee/2)*ce,Be=(.5+Ee/2)*ce,Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close());var nt=jt(0,.5,.3,0,0,Ae/ce,.1,Ae/ce,Fe());return Ne.spot1=new go.Spot(nt.x,nt.y),nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,nt),Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new qt("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new qt("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=40);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=100);var Be=(ce-Ee)/2,Ne=Be+Ee,Ue=(ce-Ae)/2,nt=Ue+Ae;(Ee>ce||Ae>ce)&&(Ae>Ee?(Ee=Ee*ce/Ae,Be=(ce-Ee)/2,Ne=Be+Ee,Ue=0,nt=ce):(Be=0,Ne=ce,Ue=0,nt=ce));var ft=new go.Geometry,St=new go.PathFigure(ue,.5*ce,!0);ft.add(St),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Ue)),St.add(new go.PathSegment(go.PathSegment.Line,.3*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ue).close());var Nt=jt(0,.5,.3,Ue/ce,0,Be/ce,1,Be/ce,Fe());return ft.spot1=new go.Spot(Nt.x,Nt.y),Nt=jt(.7,nt/ce,1,.5,0,Ne/ce,1,Ne/ce,Nt),ft.spot2=new go.Spot(Nt.x,Nt.y),xt(Nt),ft}),go.Shape.setFigureParameter("IBeamArrow",0,new qt("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=(.5-Ee/2)*ce,Be=(.5+Ee/2)*ce,Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,0)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close()),Ne.spot1=new go.Spot(0,Ae/ce);var nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,Fe());return Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("IBeamArrow2",0,new qt("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new qt("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=40);var Ae=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=100);var Be=(ce-Ee)/2,Ne=Be+Ee,Ue=(ce-Ae)/2,nt=Ue+Ae;(Ee>ce||Ae>ce)&&(Ae>Ee?(Ee=Ee*ce/Ae,Be=(ce-Ee)/2,Ne=Be+Ee,Ue=0,nt=ce):(Be=0,Ne=ce,Ue=0,nt=ce));var ft=new go.Geometry,St=new go.PathFigure(ue,.5*ce,!0);ft.add(St),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ne)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,nt)),St.add(new go.PathSegment(go.PathSegment.Line,0,nt)),St.add(new go.PathSegment(go.PathSegment.Line,0,Ue)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Ue)),St.add(new go.PathSegment(go.PathSegment.Line,.2*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),St.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ue).close()),ft.spot1=new go.Spot(0,Be/ce);var Nt=jt(.7,nt/ce,1,.5,0,Ne/ce,1,Ne/ce,Fe());return ft.spot2=new go.Spot(Nt.x,Nt.y),xt(Nt),ft}),go.Shape.setFigureParameter("Pointer",0,new qt("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.1);var Ae=new go.Geometry,Be=new go.PathFigure(ue,.5*ce,!0);Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),Ae.spot1=new go.Spot(Ee,.35);var Ne=jt(.2,.65,1,.65,0,1,1,.5,Fe());return Ae.spot2=new go.Spot(Ne.x,Ne.y),xt(Ne),Ae}),go.Shape.setFigureParameter("RoundedPointer",0,new qt("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.3);var Ae=new go.Geometry,Be=new go.PathFigure(ue,.5*ce,!0);Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,0,0,Ee*ue,.75*ce,Ee*ue,.25*ce).close()),Ae.spot1=new go.Spot(Ee,.35);var Ne=jt(0,.65,1,.65,0,1,1,.5,Fe());return Ae.spot2=new go.Spot(Ne.x,Ne.y),xt(Ne),Ae}),go.Shape.setFigureParameter("SplitEndArrow",0,new qt("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.4);var Ae=(.5-Ee/2)*ce,Be=(.5+Ee/2)*ce,Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close()),Ne.spot1=new go.Spot(.2,.3);var nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,Fe());return Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("SplitEndArrow2",0,new qt("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=50);var Ae=(ce-Ee)/2,Be=Ae+Ee;Ee>ce&&(Ae=0,Be=ce);var Ne=new go.Geometry,Ue=new go.PathFigure(ue,.5*ce,!0);Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0).close()),Ne.spot1=new go.Spot(.2,Ae/ce);var nt=jt(.7,1,1,.5,0,Be/ce,1,Be/ce,Fe());return Ne.spot2=new go.Spot(nt.x,nt.y),xt(nt),Ne}),go.Shape.setFigureParameter("SquareArrow",0,new qt("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.7);var Ae=new go.Geometry,Be=new go.PathFigure(ue,.5*ce,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,0)),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,0).close()),Ae.spot1=go.Spot.TopLeft,Ae.spot2=new go.Spot(Ee,1),Ae}),go.Shape.defineFigureGenerator("Cone1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.1,Ne=new go.PathFigure(0,.9*ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.9+Be)*ce,(.5+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,(.5-Ae)*ue,ce,0,(.9+Be)*ce).close()),Ee.spot1=new go.Spot(.25,.5),Ee.spot2=new go.Spot(.75,.97),Ee}),go.Shape.defineFigureGenerator("Cone2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.9*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.9*ce,(1-.85/.9)*ue,ce,.85/.9*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.9*ce).close());var Be=new go.PathFigure(0,.9*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,.9*ce,(1-.85/.9)*ue,.8*ce,.85/.9*ue,.8*ce)),Ee.spot1=new go.Spot(.25,.5),Ee.spot2=new go.Spot(.75,.82),Ee}),go.Shape.defineFigureGenerator("Cube1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.85*ce).close());var Be=new go.PathFigure(.5*ue,ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.15*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ee.spot1=new go.Spot(0,.3),Ee.spot2=new go.Spot(.5,.85),Ee}),go.Shape.defineFigureGenerator("Cube2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.3*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0).close());var Be=new go.PathFigure(0,.3*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Move,.7*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.7*ue,ce)),Ee.spot1=new go.Spot(0,.3),Ee.spot2=new go.Spot(.7,1),Ee}),go.Shape.defineFigureGenerator("Cylinder1",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ce/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(0,Ee,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,wt*Ee,(.5-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,1*ue,Ee,(.5+Be)*ue,0,1*ue,wt*Ee)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ee)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,1*ce,1*ue,ce-wt*Ee,(.5+Be)*ue,1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ee,(.5-Be)*ue,1*ce,0,ce-wt*Ee)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ee));var Ue=new go.PathFigure(ue,Ee,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,2*Ee,1*ue,2*Ee-wt*Ee,(.5+Be)*ue,2*Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,Ee,(.5-Be)*ue,2*Ee,0,2*Ee-wt*Ee)),Ae.spot1=new go.Spot(0,0,0,2*Ee),Ae.spot2=new go.Spot(1,1),Ae}),go.Shape.defineFigureGenerator("Cylinder2",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ce/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(0,ce-Ee,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ee)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,wt*Ee,(.5-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ee,(.5+Be)*ue,0,ue,wt*Ee)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ee)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,ce-wt*Ee,(.5+Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ee,(.5-Be)*ue,ce,0,ce-wt*Ee));var Ue=new go.PathFigure(0,ce-Ee,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce-2*Ee,0,ce-Ee-wt*Ee,(.5-Be)*ue,ce-2*Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue,ce-Ee,(.5+Be)*ue,ce-2*Ee,ue,ce-Ee-wt*Ee)),Ae.spot1=new go.Spot(0,0),Ae.spot2=new go.Spot(1,1,0,-2*Ee),Ae}),go.Shape.defineFigureGenerator("Cylinder3",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ue/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(Ee,0,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,ue-wt*Ee,0,ue,(.5-Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue,(.5+Be)*ce,ue-wt*Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,wt*Ee,ce,0,(.5+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,(.5-Be)*ce,wt*Ee,0));var Ue=new go.PathFigure(Ee,0,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,2*Ee,.5*ce,Ee+wt*Ee,0,2*Ee,(.5-Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Ee,ce,2*Ee,(.5+Be)*ce,Ee+wt*Ee,ce)),Ae.spot1=new go.Spot(0,0,2*Ee,0),Ae.spot2=new go.Spot(1,1),Ae}),go.Shape.defineFigureGenerator("Cylinder4",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=5),Ee=Math.min(Ee,ue/3);var Ae=new go.Geometry,Be=wt*.5,Ne=new go.PathFigure(ue-Ee,0,!0);Ae.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,ue-wt*Ee,0,ue,(.5-Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue,(.5+Be)*ce,ue-wt*Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ee,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,wt*Ee,ce,0,(.5+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,(.5-Be)*ce,wt*Ee,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0));var Ue=new go.PathFigure(ue-Ee,0,!1);return Ae.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue-2*Ee,.5*ce,ue-Ee-wt*Ee,0,ue-2*Ee,(.5-Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,ce,ue-2*Ee,(.5+Be)*ce,ue-Ee-wt*Ee,ce)),Ae.spot1=new go.Spot(0,0),Ae.spot2=new go.Spot(1,1,-2*Ee,0),Ae}),go.Shape.defineFigureGenerator("Prism1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.25*ue,.25*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(.25*ue,.25*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ee.spot1=new go.Spot(.408,.172),Ee.spot2=new go.Spot(.833,.662),Ee}),go.Shape.defineFigureGenerator("Prism2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.25*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(0,ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,0,.25*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.5*ce)),Ee.spot1=new go.Spot(.25,.5),Ee.spot2=new go.Spot(.75,.75),Ee}),go.Shape.defineFigureGenerator("Pyramid1",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.75*ce).close());var Be=new go.PathFigure(.5*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ee.spot1=new go.Spot(.25,.367),Ee.spot2=new go.Spot(.75,.875),Ee}),go.Shape.defineFigureGenerator("Pyramid2",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.85*ce).close());var Be=new go.PathFigure(.5*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.7*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.85*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.7*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ee.spot1=new go.Spot(.25,.367),Ee.spot2=new go.Spot(.75,.875),Ee}),go.Shape.defineFigureGenerator("Actor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.2,Be=.1,Ne=wt*Ae,Ue=wt*Be,nt=.5,ft=.1,St=new go.PathFigure(nt*ue,(ft+Be)*ce,!0);Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ae)*ue,ft*ce,(nt-Ne)*ue,(ft+Be)*ce,(nt-Ae)*ue,(ft+Ue)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Be)*ce,(nt-Ae)*ue,(ft-Ue)*ce,(nt-Ne)*ue,(ft-Be)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ae)*ue,ft*ce,(nt+Ne)*ue,(ft-Be)*ce,(nt+Ae)*ue,(ft-Ue)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Be)*ce,(nt+Ae)*ue,(ft+Ue)*ce,(nt+Ne)*ue,(ft+Be)*ce));var Nt=.05,Bt=wt*Nt;nt=.05,ft=.25;var bt=new go.PathFigure(.5*ue,.2*ce,!0);return Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Line,.95*ue,.2*ce)),nt=.95,ft=.25,bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Nt)*ue,ft*ce,(nt+Bt)*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,ue,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.35*ce)),Nt=.025,Bt=wt*Nt,nt=.825,ft=.35,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce,(nt+Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Nt)*ue,ft*ce,(nt-Bt)*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.7*ce)),Nt=.05,Bt=wt*Nt,nt=.5,ft=.7,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce,(nt+Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Nt)*ue,ft*ce,(nt-Bt)*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.45*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.35*ce)),Nt=.025,Bt=wt*Nt,nt=.175,ft=.35,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt+Nt)*ue,(ft-Bt)*ce,(nt+Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Nt)*ue,ft*ce,(nt-Bt)*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,0,.6*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Nt=.05,Bt=wt*Nt,nt=.05,ft=.25,bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Nt)*ce,(nt-Nt)*ue,(ft-Bt)*ce,(nt-Bt)*ue,(ft-Nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.2*ce)),Ee.spot1=new go.Spot(.2,.2),Ee.spot2=new go.Spot(.8,.65),Ee}),go.Shape.setFigureParameter("Card",0,new qt("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;isNaN(Ee)&&(Ee=.2);var Ae=new go.Geometry,Be=new go.PathFigure(ue,0,!0);return Ae.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,Ee*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,Ee*ue,0).close()),Ae.spot1=new go.Spot(0,Ee),Ae.spot2=go.Spot.BottomRight,Ae}),go.Shape.defineFigureGenerator("Collate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce));var Be=new go.PathFigure(.5*ue,.5*ce,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ee.spot1=new go.Spot(.25,0),Ee.spot2=new go.Spot(.75,.25),Ee}),go.Shape.defineFigureGenerator("CreateRequest",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(0,Ae*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,Ae*ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ae)*ce)),Ee}),go.Shape.defineFigureGenerator("Database",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.1,Ne=new go.PathFigure(ue,.1*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.9+Be)*ce,(.5+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,(.5-Ae)*ue,ce,0,(.9+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,(.1-Be)*ce,(.5-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.1*ce,(.5+Ae)*ue,0,ue,(.1-Be)*ce));var Ue=new go.PathFigure(ue,.1*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.2*ce,ue,(.1+Be)*ce,(.5+Ae)*ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ce,(.5-Ae)*ue,.2*ce,0,(.1+Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.3*ce,ue,(.2+Be)*ce,(.5+Ae)*ue,.3*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ce,(.5-Ae)*ue,.3*ce,0,(.2+Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,.3*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.4*ce,ue,(.3+Be)*ce,(.5+Ae)*ue,.4*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ce,(.5-Ae)*ue,.4*ce,0,(.3+Be)*ce)),Ee.spot1=new go.Spot(0,.4),Ee.spot2=new go.Spot(1,.9),Ee}),go.Shape.defineFigureGenerator("DataStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,ce,ue,0,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.9*ce,.25*ue,.1*ce).close()),Ee.spot1=new go.Spot(.226,0),Ee.spot2=new go.Spot(.81,1),Ee}),go.Shape.defineFigureGenerator("DiskStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.1,Ne=new go.PathFigure(ue,.1*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.9+Be)*ce,(.5+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,(.5-Ae)*ue,ce,0,(.9+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,(.1-Be)*ce,(.5-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.1*ce,(.5+Ae)*ue,0,ue,(.1-Be)*ce));var Ue=new go.PathFigure(ue,.1*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.2*ce,ue,(.1+Be)*ce,(.5+Ae)*ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ce,(.5-Ae)*ue,.2*ce,0,(.1+Be)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,.2*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.3*ce,ue,(.2+Be)*ce,(.5+Ae)*ue,.3*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ce,(.5-Ae)*ue,.3*ce,0,(.2+Be)*ce)),Ee.spot1=new go.Spot(0,.3),Ee.spot2=new go.Spot(1,.9),Ee}),go.Shape.defineFigureGenerator("Display",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.25*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,ce,ue,0,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce).close()),Ee.spot1=new go.Spot(.25,0),Ee.spot2=new go.Spot(.75,1),Ee}),go.Shape.defineFigureGenerator("DividedEvent",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)?Ae=.2:Ae<.15&&(Ae=.15);var Be=wt*.2,Ne=new go.PathFigure(0,.2*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,0,0,(.2-Be)*ce,(.2-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,.8*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.2*ce,(.8+Be)*ue,0,ue,(.2-Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,ce,ue,(.8+Be)*ce,(.8+Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*ce,(.2-Be)*ue,ce,0,(.8+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce));var Ue=new go.PathFigure(0,Ae*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Ae*ce)),Ee}),go.Shape.defineFigureGenerator("DividedProcess",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;(isNaN(Ae)||Ae<.1)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(0,Ae*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,Ae*ce)),Ee}),go.Shape.defineFigureGenerator("Document",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(0,.7*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.5*ue,.4*ce,.5*ue,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee.spot2=new go.Spot(1,.6),Ee}),go.Shape.defineFigureGenerator("ExternalOrganization",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;(isNaN(Ae)||Ae<.2)&&(Ae=.2);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ae*ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,ue,Ae*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Move,0,(1-Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,(1-Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,(1-Ae)*ce)),Ee}),go.Shape.defineFigureGenerator("ExternalProcess",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce).close());var Be=new go.PathFigure(.1*ue,.4*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.9*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.6*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.4*ue,.9*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.9*ce)),Ee.spot1=new go.Spot(.25,.25),Ee.spot2=new go.Spot(.75,.75),Ee}),go.Shape.defineFigureGenerator("File",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(.75*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.25*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("Interrupt",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce));var Be=new go.PathFigure(ue,.5*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce));var Ne=new go.PathFigure(ue,.5*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.5,.75),Ee}),go.Shape.defineFigureGenerator("InternalStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN,Be=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.1),isNaN(Be)&&(Be=.1);var Ne=new go.PathFigure(0,0,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ue=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,0,Be*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Be*ce)),Ee}),go.Shape.defineFigureGenerator("Junction",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=1/Math.SQRT2,Be=(1-1/Math.SQRT2)/2,Ne=wt*.5,Ue=.5,nt=new go.PathFigure(ue,Ue*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ue*ue,ce,ue,(Ue+Ne)*ce,(Ue+Ne)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,Ue*ce,(Ue-Ne)*ue,ce,0,(Ue+Ne)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ue*ue,0,0,(Ue-Ne)*ce,(Ue-Ne)*ue,0)),nt.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ue*ce,(Ue+Ne)*ue,0,ue,(Ue-Ne)*ce));var ft=new go.PathFigure((Be+Ae)*ue,(Be+Ae)*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,Be*ue,Be*ce)),ft.add(new go.PathSegment(go.PathSegment.Move,Be*ue,(Be+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,(Be+Ae)*ue,Be*ce)),Ee}),go.Shape.defineFigureGenerator("LinedDocument",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(0,.7*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.5*ue,.4*ce,.5*ue,ce).close());var Be=new go.PathFigure(.1*ue,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.75*ce)),Ee.spot1=new go.Spot(.1,0),Ee.spot2=new go.Spot(1,.6),Ee}),go.Shape.defineFigureGenerator("LoopLimit",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("MagneticTape",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=new go.PathFigure(.5*ue,ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Be*ce,(Be-Ae)*ue,ce,0,(Be+Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,0,0,(Be-Ae)*ce,(Be-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Be*ce,(Be+Ae)*ue,0,ue,(Be-Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(Be+.1)*ue,.9*ce,ue,(Be+Ae)*ce,(Be+Ae)*ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ee.spot1=new go.Spot(.15,.15),Ee.spot2=new go.Spot(.85,.8),Ee}),go.Shape.defineFigureGenerator("ManualInput",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("MessageFromUser",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.7);var Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee}),go.Shape.defineFigureGenerator("MicroformProcessing",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.25);var Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,Ae*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,(1-Ae)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("MicroformRecording",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(1,.75),Ee}),go.Shape.defineFigureGenerator("MultiDocument",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,.44*ce,.96*ue,.47*ce,.93*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.54*ce,.86*ue,.57*ce,.83*ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.4*ue,.4*ce,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,0).close());var Be=new go.PathFigure(.1*ue,.2*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.54*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.44*ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.8,.77),Ee}),go.Shape.defineFigureGenerator("MultiProcess",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,.1*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.2*ce).close());var Be=new go.PathFigure(.2*ue,.1*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.1*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.1*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.9*ce)),Ee.spot1=new go.Spot(0,.2),Ee.spot2=new go.Spot(.8,1),Ee}),go.Shape.defineFigureGenerator("OfflineStorage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=1-Ae,Ne=new go.PathFigure(0,0,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce).close());var Ue=new go.PathFigure(.5*Ae*ue,Ae*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,(1-.5*Ae)*ue,Ae*ce)),Ee}),go.Shape.defineFigureGenerator("OffPageConnector",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee.spot2=new go.Spot(.75,1),Ee}),go.Shape.defineFigureGenerator("Or",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=new go.PathFigure(ue,Be*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,ce,ue,(Be+Ae)*ce,(Be+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Be*ce,(Be-Ae)*ue,ce,0,(Be+Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,0,0,(Be-Ae)*ce,(Be-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Be*ce,(Be+Ae)*ue,0,ue,(Be-Ae)*ce));var Ue=new go.PathFigure(ue,.5*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.5*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ee}),go.Shape.defineFigureGenerator("PaperTape",function(Ke,ue,ce){var Ee=new go.Geometry;ce=ce/.8;var Ae=new go.PathFigure(0,.7*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.3*ce,.5*ue,.6*ce,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ce,.5*ue,.4*ce,.5*ue,ce).close()),Ee.spot1=new go.Spot(0,.49),Ee.spot2=new go.Spot(1,.75),Ee}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN,Be=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.1),isNaN(Be)&&(Be=.3);var Ne=new go.PathFigure(0,0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Be)*ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN,Be=Ke?Ke.parameter2:NaN;isNaN(Ae)&&(Ae=.1),isNaN(Be)&&(Be=.3);var Ne=new go.PathFigure(0,0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("Procedure",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure((1-Ae)*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ee}),go.Shape.defineFigureGenerator("Process",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Ne=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ee.spot2=go.Spot.BottomRight,Ee}),go.Shape.defineFigureGenerator("Sort",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce).close());var Be=new go.PathFigure(0,.5*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ee.spot1=new go.Spot(.25,.25),Ee.spot2=new go.Spot(.75,.5),Ee}),go.Shape.defineFigureGenerator("Start",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.25);var Be=new go.PathFigure(Ae*ue,0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ue,.5*ce,.25*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ue,.5*ce,.25*ue,.5*ce));var Ne=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,(1-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,(1-Ae)*ue,ce)),Ee.spot1=new go.Spot(Ae,0),Ee.spot2=new go.Spot(1-Ae,1),Ee}),go.Shape.defineFigureGenerator("Terminator",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.25*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ue,.5*ce,.25*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ue,.5*ce,.25*ue,.5*ce)),Ee.spot1=new go.Spot(.23,0),Ee.spot2=new go.Spot(.77,1),Ee}),go.Shape.defineFigureGenerator("TransmittalTape",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=Ke?Ke.parameter1:NaN;isNaN(Ae)&&(Ae=.1);var Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.75*ue,(1-Ae)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,(1-Ae)*ce).close()),Ee.spot1=go.Spot.TopLeft,Ee}),go.Shape.defineFigureGenerator("AndGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=new go.PathFigure(0,0,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,(.5+Ae)*ue,0,ue,(.5-Ae)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,(.5+Ae)*ce,(.5+Ae)*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=go.Spot.TopLeft,Ee.spot2=new go.Spot(.55,1),Ee}),go.Shape.defineFigureGenerator("Buffer",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.5,.75),Ee}),go.Shape.defineFigureGenerator("Clock",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=new go.PathFigure(ue,Be*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,ce,ue,(Be+Ae)*ce,(Be+Ae)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Be*ce,(Be-Ae)*ue,ce,0,(Be+Ae)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Be*ue,0,0,(Be-Ae)*ce,(Be-Ae)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Be*ce,(Be+Ae)*ue,0,ue,(Be-Ae)*ce));var Ue=new go.PathFigure(ue,Be*ce,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Be*ce));var nt=new go.PathFigure(.8*ue,.75*ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.75*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.75*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.75*ce)),Ee}),go.Shape.defineFigureGenerator("Ground",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.3*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,ce)),Ee}),go.Shape.defineFigureGenerator("Inverter",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.1,Be=.1,Ne=.9,Ue=.5,nt=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,0,ce)),nt.add(new go.PathSegment(go.PathSegment.Line,0,0)),nt.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.5*ce));var ft=new go.PathFigure((Ne+Be)*ue,Ue*ce,!0);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.4,.75),Ee}),go.Shape.defineFigureGenerator("NandGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=wt*.4,Ne=wt*.1,Ue=.1,nt=.9,ft=.5,St=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,ce,.8*ue,(.5+Be)*ce,(.4+Ae)*ue,ce)),St.add(new go.PathSegment(go.PathSegment.Line,0,ce)),St.add(new go.PathSegment(go.PathSegment.Line,0,0)),St.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),St.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.5*ce,(.4+Ae)*ue,0,.8*ue,(.5-Be)*ce));var Nt=new go.PathFigure((nt+Ue)*ue,ft*ce,!0);return Ee.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Ue)*ce,(nt+Ue)*ue,(ft+Ne)*ce,(nt+Ne)*ue,(ft+Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue,ft*ce,(nt-Ne)*ue,(ft+Ue)*ce,(nt-Ue)*ue,(ft+Ne)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Ue)*ce,(nt-Ue)*ue,(ft-Ne)*ce,(nt-Ne)*ue,(ft-Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue,ft*ce,(nt+Ne)*ue,(ft-Ue)*ce,(nt+Ue)*ue,(ft-Ne)*ce)),Ee.spot1=new go.Spot(0,.05),Ee.spot2=new go.Spot(.55,.95),Ee}),go.Shape.defineFigureGenerator("NorGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=0,Ue=.5,nt=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,ce,.7*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.75*ce,.25*ue,.25*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.5*ce,(Ne+Be)*ue,(Ue-Ae)*ce,.7*ue,(Ue-Be)*ce)),Ae=.1,Be=wt*.1,Ne=.9,Ue=.5;var ft=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),Ee.spot1=new go.Spot(.2,.25),Ee.spot2=new go.Spot(.6,.75),Ee}),go.Shape.defineFigureGenerator("OrGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=0,Ue=.5,nt=new go.PathFigure(0,0,!0);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,(Ne+Be+Be)*ue,(Ue-Ae)*ce,.8*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,ce,.8*ue,(Ue+Be)*ce,(Ne+Be+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ue,.75*ce,.25*ue,.25*ce).close()),Ee.spot1=new go.Spot(.2,.25),Ee.spot2=new go.Spot(.75,.75),Ee}),go.Shape.defineFigureGenerator("XnorGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=.2,Ue=.5,nt=new go.PathFigure(.1*ue,0,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,ce,.35*ue,.25*ce,.35*ue,.75*ce));var ft=new go.PathFigure(.8*ue,.5*ce,!0);Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,ce,.7*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,0,.45*ue,.75*ce,.45*ue,.25*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.5*ce,(Ne+Be)*ue,(Ue-Ae)*ce,.7*ue,(Ue-Be)*ce)),Ae=.1,Be=wt*.1,Ne=.9,Ue=.5;var St=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);return Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),Ee.spot1=new go.Spot(.4,.25),Ee.spot2=new go.Spot(.65,.75),Ee}),go.Shape.defineFigureGenerator("XorGate",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*Ae,Ne=.2,Ue=.5,nt=new go.PathFigure(.1*ue,0,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,ce,.35*ue,.25*ce,.35*ue,.75*ce));var ft=new go.PathFigure(.2*ue,0,!0);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,(Ne+Be)*ue,(Ue-Ae)*ce,.9*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,ce,.9*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.2*ue,0,.45*ue,.75*ce,.45*ue,.25*ce).close()),Ee.spot1=new go.Spot(.4,.25),Ee.spot2=new go.Spot(.8,.75),Ee}),go.Shape.defineFigureGenerator("Capacitor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("Resistor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.5*ce)),Ee}),go.Shape.defineFigureGenerator("Inductor",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.1,Be=.1,Ne=.1,Ue=.5,nt=new go.PathFigure((Ne-Ae*.5)*ue,ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.3,nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.5,nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.7,nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,0,(Ne-Ae)*ue,ce,(Ne-Be)*ue,0)),Ne=.9,nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae*.5)*ue,ce,(Ne+Be)*ue,0,(Ne+Ae)*ue,ce)),Ee}),go.Shape.defineFigureGenerator("ACvoltageSource",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.5,Be=.5,Ne=.5,Ue=.5,nt=new go.PathFigure((Ne-Be)*ue,Ue*ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue-Be)*ce,(Ne+Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Move,(Ne-Be+.1)*ue,Ue*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be-.1)*ue,Ue*ce,Ne*ue,(Ue-Be)*ce,Ne*ue,(Ue+Be)*ce)),Ee}),go.Shape.defineFigureGenerator("DCvoltageSource",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.75*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("Diode",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee.spot1=new go.Spot(0,.25),Ee.spot2=new go.Spot(.5,.75),Ee}),go.Shape.defineFigureGenerator("Wifi",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=ue,Be=ce;ue=ue*.38,ce=ce*.6;var Ne=wt*.8,Ue=.8,nt=0,ft=.5,St=(Ae-ue)/2,Nt=(Be-ce)/2,Bt=new go.PathFigure(nt*ue+St,(ft+Ue)*ce+Nt,!0);Ee.add(Bt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue+St,ft*ce+Nt,(nt-Ne)*ue+St,(ft+Ue)*ce+Nt,(nt-Ue)*ue+St,(ft+Ne)*ce+Nt)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue)*ue+St,(ft-Ne)*ce+Nt,(nt-Ne)*ue+St,(ft-Ue)*ce+Nt)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue+Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft-Ne)*ce+Nt)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft+Ne)*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt).close()),Ne=wt*.4,Ue=.4,nt=.2,ft=.5;var bt=new go.PathFigure(nt*ue+St,(ft+Ue)*ce+Nt,!0);Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue+St,ft*ce+Nt,(nt-Ne)*ue+St,(ft+Ue)*ce+Nt,(nt-Ue)*ue+St,(ft+Ne)*ce+Nt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue)*ue+St,(ft-Ne)*ce+Nt,(nt-Ne)*ue+St,(ft-Ue)*ce+Nt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue+Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft-Ne)*ce+Nt)),bt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt-Ue+Ne*.5)*ue+St,(ft+Ne)*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt).close()),Ne=wt*.2,Ue=.2,nt=.5,ft=.5;var ln=new go.PathFigure((nt-Ue)*ue+St,ft*ce+Nt,!0);Ee.add(ln),ln.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt-Ue)*ue+St,(ft-Ne)*ce+Nt,(nt-Ne)*ue+St,(ft-Ue)*ce+Nt)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue+St,ft*ce+Nt,(nt+Ne)*ue+St,(ft-Ue)*ce+Nt,(nt+Ue)*ue+St,(ft-Ne)*ce+Nt)),ln.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue)*ue+St,(ft+Ne)*ce+Nt,(nt+Ne)*ue+St,(ft+Ue)*ce+Nt)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ue)*ue+St,ft*ce+Nt,(nt-Ne)*ue+St,(ft+Ue)*ce+Nt,(nt-Ue)*ue+St,(ft+Ne)*ce+Nt)),Ne=wt*.4,Ue=.4,nt=.8,ft=.5;var Kt=new go.PathFigure(nt*ue+St,(ft-Ue)*ce+Nt,!0);Ee.add(Kt),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue+St,ft*ce+Nt,(nt+Ne)*ue+St,(ft-Ue)*ce+Nt,(nt+Ue)*ue+St,(ft-Ne)*ce+Nt)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue)*ue+St,(ft+Ne)*ce+Nt,(nt+Ne)*ue+St,(ft+Ue)*ce+Nt)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue-Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft+Ne)*ce+Nt)),Kt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft-Ne)*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt).close()),Ne=wt*.8,Ue=.8,nt=1,ft=.5;var ni=new go.PathFigure(nt*ue+St,(ft-Ue)*ce+Nt,!0);return Ee.add(ni),ni.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue)*ue+St,ft*ce+Nt,(nt+Ne)*ue+St,(ft-Ue)*ce+Nt,(nt+Ue)*ue+St,(ft-Ne)*ce+Nt)),ni.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue)*ue+St,(ft+Ne)*ce+Nt,(nt+Ne)*ue+St,(ft+Ue)*ce+Nt)),ni.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ue-Ne*.5)*ue+St,ft*ce+Nt,nt*ue+St,(ft+Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft+Ne)*ce+Nt)),ni.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue+St,(ft-Ue)*ce+Nt,(nt+Ue-Ne*.5)*ue+St,(ft-Ne)*ce+Nt,nt*ue+St,(ft-Ue)*ce+Nt).close()),Ee}),go.Shape.defineFigureGenerator("Email",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(0,0,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Be.add(new go.PathSegment(go.PathSegment.Move,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.54*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.54*ce)),Ee}),go.Shape.defineFigureGenerator("Ethernet",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.35*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,0).close());var Be=new go.PathFigure(.1*ue,ce,!0,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.1*ue,ce).close());var Ne=new go.PathFigure(.6*ue,ce,!0,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.6*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.6*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.6*ue,ce).close());var Ue=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.4*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.75*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.6*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,.25*ue,.5*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.6*ce)),Ee}),go.Shape.defineFigureGenerator("Power",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=wt*.4,Be=.4,Ne=.5,Ue=.5,nt=Fe(),ft=Fe(),St=Fe(),Nt=Fe();kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.5,nt,nt,ft,St,Nt);var Bt=Je(ft.x,ft.y),bt=new go.PathFigure(ft.x*ue,ft.y*ce,!0);Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,(Ne-Ae)*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce)),kt(Ne-Be,Ue,Ne-Be,Ue-Ae,Ne-Ae,Ue-Be,Ne,Ue-Be,.5,St,Nt,ft,nt,nt),bt.add(new go.PathSegment(go.PathSegment.Bezier,ft.x*ue,ft.y*ce,St.x*ue,St.y*ce,Nt.x*ue,Nt.y*ce)),Ae=wt*.3,Be=.3,kt(Ne-Be,Ue,Ne-Be,Ue-Ae,Ne-Ae,Ue-Be,Ne,Ue-Be,.5,St,Nt,ft,nt,nt),bt.add(new go.PathSegment(go.PathSegment.Line,ft.x*ue,ft.y*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Be)*ue,Ue*ce,Nt.x*ue,Nt.y*ce,St.x*ue,St.y*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Be)*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Be)*ue,Ue*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),kt(Ne,Ue-Be,Ne+Ae,Ue-Be,Ne+Be,Ue-Ae,Ne+Be,Ue,.5,nt,nt,ft,St,Nt),bt.add(new go.PathSegment(go.PathSegment.Bezier,ft.x*ue,ft.y*ce,Nt.x*ue,Nt.y*ce,St.x*ue,St.y*ce).close());var bt=new go.PathFigure(.45*ue,0,!0);return Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.5*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.5*ce)),bt.add(new go.PathSegment(go.PathSegment.Line,.55*ue,0).close()),xt(nt),xt(ft),xt(St),xt(Nt),xt(Bt),Ee.spot1=new go.Spot(.25,.45),Ee.spot2=new go.Spot(.75,.8),Ee}),go.Shape.defineFigureGenerator("Fallout",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce/2,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,180,360,ue/2,ce/2,ue/2,ce/2));function Be(Ne,Ue,nt){Ne.add(new go.PathSegment(go.PathSegment.Move,(.3+Ue)*ue,(.8+nt)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(.5+Ue)*ue,(.5+nt)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(.1+Ue)*ue,(.5+nt)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,(.3+Ue)*ue,(.8+nt)*ce).close())}return Be(Ae,0,0),Be(Ae,.4,0),Be(Ae,.2,-.3),Ee}),go.Shape.defineFigureGenerator("IrritationHazard",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.2*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce).close()),Ee.spot1=new go.Spot(.3,.3),Ee.spot2=new go.Spot(.7,.7),Ee}),go.Shape.defineFigureGenerator("ElectricalHazard",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.37*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.11*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.77*ue,.04*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,.49*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.37*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.63*ue,.86*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.77*ue,.91*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.34*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.34*ue,.78*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.44*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.56*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.68*ce).close()),Ee}),go.Shape.defineFigureGenerator("FireHazard",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.29*ue,0,-.25*ue,.63*ce,.45*ue,.44*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.51*ue,.42*ce,.48*ue,.17*ce,.54*ue,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.59*ue,.18*ce,.59*ue,.29*ce,.58*ue,.28*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.75*ue,.6*ce,.8*ue,.34*ce,.88*ue,.43*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.88*ue,.31*ce,.87*ue,.48*ce,.88*ue,.43*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,ce,1.17*ue,.76*ce,.82*ue,.8*ce).close()),Ee.spot1=new go.Spot(.07,.445),Ee.spot2=new go.Spot(.884,.958),Ee}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=0,Ne=0,Ue=Ae*wt,nt=.4*Math.SQRT2/2+.5,ft=.5-.5*Math.SQRT2/2,St=1,Nt=.5,Bt=.5,bt=0,ln=new go.PathFigure(nt*ue,(1-ft)*ce,!1);return Ee.add(ln),ln.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,Nt*ce,St*ue,.7*ce,St*ue,Nt*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+Be)*ue,(bt+Be)*ce,(.5+Ae+Be)*ue,(.5-Ue+Be)*ce,(.5+Ue+Be)*ue,(.5-Ae+Be)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(.5-Ae+Be)*ue,(.5+Ne)*ce,(.5-Ue+Be)*ue,(.5-Ae+Ne)*ce,(.5-Ae+Be)*ue,(.5-Ue+Ne)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(.35+Be)*ue,.9*ce,(.5-Ae+Be)*ue,(.5+Ue+Ne)*ce,(.5-Ue+Be)*ue,.9*ce)),ln.add(new go.PathSegment(go.PathSegment.Move,(.25+Be)*ue,.8*ce)),ln.add(new go.PathSegment(go.PathSegment.Line,(.35+Be)*ue,.9*ce)),ln.add(new go.PathSegment(go.PathSegment.Line,(.2+Be)*ue,.95*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae);var Be=new go.PathFigure(ue,ce,!1);Ee.add(Be);var Ne=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.5*ce,.2*ue,.35*ce,.3*ue,.35*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,.7*ue,.65*ce,.8*ue,.65*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.2*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce).close());var Ae=new go.PathFigure(0,.2*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.7*ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,0,.6*ue,.5*ce,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.7*ue,ce,.4*ue,.5*ce,ue,.5*ce).close());var Be=new go.PathFigure(.45*ue,.73*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.73*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.38*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.63*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.31*ue,.27*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.56*ue,.27*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae);var Be=new go.PathFigure(.335*ue,(1-.555)*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.335*ue,(1-.405)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.405)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.555)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue,.68*ce,(1-.12)*ue,.46*ce,(1-.02)*ue,.54*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.68*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.335*ue,(1-.555)*ce,.02*ue,.54*ce,.12*ue,.46*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.365*ue,(1-.595)*ce));var Ne=.5-.285,Ue=.5,nt=Ne,ft=Math.PI/4,St=4*(1-Math.cos(ft))/(3*Math.sin(ft)),Nt=St*.5,Bt=Ne,bt=Ne,ln=St*Bt,Kt=St*bt;Be.add(new go.PathSegment(go.PathSegment.Bezier,(Ue-Bt)*ue,nt*ce,(Ue-(ln+Bt)/2)*ue,(nt+(bt+Kt)/2)*ce,(Ue-Bt)*ue,(nt+Kt)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,Ue*ue,(nt-bt)*ce,(Ue-Bt)*ue,(nt-Kt)*ce,(Ue-ln)*ue,(nt-bt)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(Ue+Bt)*ue,nt*ce,(Ue+ln)*ue,(nt-bt)*ce,(Ue+Bt)*ue,(nt-Kt)*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*ue,(1-.595)*ce,(Ue+Bt)*ue,(nt+Kt)*ce,(Ue+(ln+Bt)/2)*ue,(nt+(bt+Kt)/2)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*ue,(1-.595)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.555)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ue,(1-.405)*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.335*ue,(1-.405)*ce));var ni=new go.PathFigure(.2*ue,ce,!1);Ee.add(ni),ni.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.8*ce));var pn=new go.PathFigure(.8*ue,ce,!1);return Ee.add(pn),pn.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.8*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,ce).close());var Be=new go.PathFigure(.2*ue,.2*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.8*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnEventError",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae);var Be=new go.PathFigure(ue,ce,!1);Ee.add(Be);var Ne=new go.PathFigure(.1*ue,ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("Caution",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.05*ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,.8*ce,0,ce,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.55*ue,.1*ce,.5*ue,0,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.95*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,ce,ue,ce,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.05*ue,ce));var Be=.05;return Ae.add(new go.PathSegment(go.PathSegment.Move,(.5-Be)*ue,.875*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*ue,.875*ce,Be*ue,Be*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.325*ce,.575*ue,.725*ce,.625*ue,.375*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.75*ce,.375*ue,.375*ce,.425*ue,.725*ce)),Ee}),go.Shape.defineFigureGenerator("Recycle",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.45*ue,.95*ce,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.185*ue,.85*ce,.17*ue,.95*ce,.15*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.235*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.3*ue,.625*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.275*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.05*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.05*ue,.575*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.1875*ue,.95*ce,0,.675*ce,0,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.45*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.775*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.22*ue,.775*ce));var Be=new go.PathFigure(.475*ue,.2*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.225*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.275*ue,.175*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.325*ue,.05*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,.05*ce,.35*ue,0,.375*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.375*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.475*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.315*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.32*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.05*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.575*ue,0,.65*ue,.05*ce,.625*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.38*ue,.0105*ce));var Ne=new go.PathFigure(.675*ue,.575*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.875*ue,.525*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,.85*ue,.95*ce,ue,.8*ce,ue,.85*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.95*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.85*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.725*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.775*ce)),Ne.add(new go.PathSegment(go.PathSegment.Move,.675*ue,.575*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.775*ue,.775*ce)),Ee}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*.5,Ne=new go.PathFigure(ue,Ae*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ae*ue,ce,ue,(Ae+Be)*ce,(Ae+Be)*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,Ae*ce,(Ae-Be)*ue,ce,0,(Ae+Be)*ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ae*ue,0,0,(Ae-Be)*ce,(Ae-Be)*ue,0)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ae*ce,(Ae+Be)*ue,0,ue,(Ae-Be)*ce));var Ue=new go.PathFigure(Ae*ue,0,!1);return Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,.15*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,Ae*ue,.85*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,0,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.15*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.85*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.58*ue,.1*ce)),Ue.add(new go.PathSegment(go.PathSegment.Move,Ae*ue,Ae*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.78*ue,.54*ce)),Ee}),go.Shape.defineFigureGenerator("Package",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.15*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close());var Be=new go.PathFigure(0,.15*ce,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.15*ce).close()),Ee.spot1=new go.Spot(0,.1),Ee.spot2=new go.Spot(1,1),Ee}),go.Shape.defineFigureGenerator("Class",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(0,.2*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce).close());var Ne=new go.PathFigure(0,.5*ce,!1);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce).close()),Ee}),go.Shape.defineFigureGenerator("Component",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close());var Be=new go.PathFigure(0,.2*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.2*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.2*ce).close());var Ne=new go.PathFigure(0,.6*ce,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.6*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.6*ce).close()),Ee}),go.Shape.defineFigureGenerator("Boat Shipment",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.15*ue,.6*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.6*ce));var Be=new go.PathFigure(.15*ue,.6*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.6*ce)),Ee}),go.Shape.defineFigureGenerator("Customer/Supplier",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.66*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.33*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("Workcell",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.65*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.35*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("Supermarket",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,.33*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.66*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.66*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,ue,.66*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ee}),go.Shape.defineFigureGenerator("TruckShipment",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(ue,.8*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce).close());var Ne=.1,Ue=wt*.1,nt=.2,ft=.9,St=new go.PathFigure((nt-Ne)*ue,ft*ce,!0);Ee.add(St),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Ne)*ce,(nt-Ne)*ue,(ft-Ue)*ce,(nt-Ue)*ue,(ft-Ne)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ne)*ue,ft*ce,(nt+Ue)*ue,(ft-Ne)*ce,(nt+Ne)*ue,(ft-Ue)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Ne)*ce,(nt+Ne)*ue,(ft+Ue)*ce,(nt+Ue)*ue,(ft+Ne)*ce)),St.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ne)*ue,ft*ce,(nt-Ue)*ue,(ft+Ne)*ce,(nt-Ne)*ue,(ft+Ue)*ce).close()),Ne=.1,Ue=wt*.1,nt=.8,ft=.9;var Nt=new go.PathFigure((nt-Ne)*ue,ft*ce,!0);return Ee.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft-Ne)*ce,(nt-Ne)*ue,(ft-Ue)*ce,(nt-Ue)*ue,(ft-Ne)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt+Ne)*ue,ft*ce,(nt+Ue)*ue,(ft-Ne)*ce,(nt+Ne)*ue,(ft-Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,nt*ue,(ft+Ne)*ce,(nt+Ne)*ue,(ft+Ue)*ce,(nt+Ue)*ue,(ft+Ne)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(nt-Ne)*ue,ft*ce,(nt-Ue)*ue,(ft+Ne)*ce,(nt-Ne)*ue,(ft+Ue)*ce).close()),Ee}),go.Shape.defineFigureGenerator("KanbanPost",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.2*ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,ce)),Ee}),go.Shape.defineFigureGenerator("Forklift",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0));var Be=new go.PathFigure(0,.5*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.8*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce));var Ne=new go.PathFigure(.5*ue,.8*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.1*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.8*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.8*ce));var Ue=new go.PathFigure(.5*ue,.7*ce,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,.7*ce));var nt=.1,ft=wt*.1,St=.1,Nt=.9,Bt=new go.PathFigure((St-nt)*ue,Nt*ce,!0);Ee.add(Bt),Bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt-nt)*ce,(St-nt)*ue,(Nt-ft)*ce,(St-ft)*ue,(Nt-nt)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(St+nt)*ue,Nt*ce,(St+ft)*ue,(Nt-nt)*ce,(St+nt)*ue,(Nt-ft)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt+nt)*ce,(St+nt)*ue,(Nt+ft)*ce,(St+ft)*ue,(Nt+nt)*ce)),Bt.add(new go.PathSegment(go.PathSegment.Bezier,(St-nt)*ue,Nt*ce,(St-ft)*ue,(Nt+nt)*ce,(St-nt)*ue,(Nt+ft)*ce)),nt=.1,ft=wt*.1,St=.4,Nt=.9;var bt=new go.PathFigure((St-nt)*ue,Nt*ce,!0);return Ee.add(bt),bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt-nt)*ce,(St-nt)*ue,(Nt-ft)*ce,(St-ft)*ue,(Nt-nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(St+nt)*ue,Nt*ce,(St+ft)*ue,(Nt-nt)*ce,(St+nt)*ue,(Nt-ft)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,St*ue,(Nt+nt)*ce,(St+nt)*ue,(Nt+ft)*ce,(St+ft)*ue,(Nt+nt)*ce)),bt.add(new go.PathSegment(go.PathSegment.Bezier,(St-nt)*ue,Nt*ce,(St-ft)*ue,(Nt+nt)*ce,(St-nt)*ue,(Nt+ft)*ce)),Ee}),go.Shape.defineFigureGenerator("RailShipment",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.1*ue,.4*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.45*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.9*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.4*ce).close());var Be=new go.PathFigure(.45*ue,.7*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.7*ce));var Ne=new go.PathFigure(.55*ue,.4*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.9*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ue,.4*ce).close());var St=.05,Nt=wt*.05,Bt=.175,bt=.95,Ue=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce));var St=.05,Nt=wt*.05,Bt=.375,bt=.95,nt=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce));var St=.05,Nt=wt*.05,Bt=.625,bt=.95,ft=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce));var St=.05,Nt=wt*.05,Bt=.825,bt=.95,ln=new go.PathFigure((Bt-St)*ue,bt*ce,!0);Ee.add(ln),ln.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt-St)*ce,(Bt-St)*ue,(bt-Nt)*ce,(Bt-Nt)*ue,(bt-St)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(Bt+St)*ue,bt*ce,(Bt+Nt)*ue,(bt-St)*ce,(Bt+St)*ue,(bt-Nt)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,Bt*ue,(bt+St)*ce,(Bt+St)*ue,(bt+Nt)*ce,(Bt+Nt)*ue,(bt+St)*ce)),ln.add(new go.PathSegment(go.PathSegment.Bezier,(Bt-St)*ue,bt*ce,(Bt-Nt)*ue,(bt+St)*ce,(Bt-St)*ue,(bt+Nt)*ce).close());var Kt=new go.PathFigure(0,ce,!1);return Ee.add(Kt),Kt.add(new go.PathSegment(go.PathSegment.Line,ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("Warehouse",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var Be=new go.PathFigure(0,.2*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce).close());var Ne=new go.PathFigure(.15*ue,ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.5*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.4*ue,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.15*ue,ce).close());var Ue=.05,nt=wt*.05,ft=.35,St=.775,Nt=new go.PathFigure((ft-Ue)*ue,St*ce,!0);return Ee.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Bezier,ft*ue,(St-Ue)*ce,(ft-Ue)*ue,(St-nt)*ce,(ft-nt)*ue,(St-Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(ft+Ue)*ue,St*ce,(ft+nt)*ue,(St-Ue)*ce,(ft+Ue)*ue,(St-nt)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,ft*ue,(St+Ue)*ce,(ft+Ue)*ue,(St+nt)*ce,(ft+nt)*ue,(St+Ue)*ce)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(ft-Ue)*ue,St*ce,(ft-nt)*ue,(St+Ue)*ce,(ft-Ue)*ue,(St+nt)*ce).close()),Ee}),go.Shape.defineFigureGenerator("ControlCenter",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.1*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce).close()),Ee}),go.Shape.defineFigureGenerator("Bluetooth",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.75*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.25*ce)),Ee}),go.Shape.defineFigureGenerator("Bookmark",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.4*ce)),Ee}),go.Shape.defineFigureGenerator("Bookmark",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.4*ce)),Ee}),go.Shape.defineFigureGenerator("Globe",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.5*ce,.75*ue,0,ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,ue,.75*ce,.75*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,.25*ue,ce,0,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,0,.25*ce,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,ce,.15*ue,.25*ce,.15*ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,.85*ue,.75*ce,.85*ue,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.1675*ue,.15*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ue,.15*ce,.35*ue,.3*ce,.65*ue,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.1675*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ue,.85*ce,.35*ue,.7*ce,.65*ue,.7*ce)),Ee}),go.Shape.defineFigureGenerator("Wave",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.25*ce,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.25*ce,.1*ue,0,.2*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.7*ue,.25*ce,.425*ue,.5*ce,.575*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.25*ce,.8*ue,0,.9*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.25*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.75*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.75*ce,.1*ue,.5*ce,.2*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.7*ue,.75*ce,.425*ue,ce,.575*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.75*ce,.8*ue,.5*ce,.9*ue,.5*ce)),Ee}),go.Shape.defineFigureGenerator("Operator",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.3,Be=wt*.3,Ne=.5,Ue=.7,nt=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce));var ft=new go.PathFigure(0,.7*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,ue,.7*ce,0,0,ue,0)),Ee}),go.Shape.defineFigureGenerator("TripleFanBlades",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.5*ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.65*ce,.65*ue,.3*ce,.65*ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,.35*ue,.5*ce,.35*ue,.3*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,ce,.3*ue,.6*ce,.1*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.65*ce,.2*ue,ce,.35*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,ce,.7*ue,.6*ce,.9*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.65*ce,.8*ue,ce,.65*ue,.95*ce)),Ee}),go.Shape.defineFigureGenerator("CentrifugalPump",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue,0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,0,.075*ce,0,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.4*ue,ce,0,ce,.4*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.4*ce,.8*ue,ce,.85*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,0)),Ee}),go.Shape.defineFigureGenerator("Battery",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.4*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.1*ce));var Be=new go.PathFigure(0,.6*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Move,0,.4*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.4*ce)),Ee}),go.Shape.defineFigureGenerator("Delete",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*.5,Ne=.5,Ue=.5,nt=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!0);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce));var ft=new go.PathFigure(.15*ue,.5*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.5*ce)),Ee}),go.Shape.defineFigureGenerator("Flag",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.1*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,0,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.1*ce,.15*ue,0,.35*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,ue,.1*ce,.65*ue,.2*ce,.85*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.5*ce,.85*ue,.6*ce,.65*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ce,.35*ue,.4*ce,.15*ue,.4*ce).close()),Ee}),go.Shape.defineFigureGenerator("Help",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=.5,Be=wt*.5,Ne=.5,Ue=.5,nt=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),nt.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce).close()),Ae=.05,Be=wt*.05,Ne=.5,Ue=.8;var ft=new go.PathFigure((Ne-Ae)*ue,Ue*ce,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue-Ae)*ce,(Ne-Ae)*ue,(Ue-Be)*ce,(Ne-Be)*ue,(Ue-Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne+Ae)*ue,Ue*ce,(Ne+Be)*ue,(Ue-Ae)*ce,(Ne+Ae)*ue,(Ue-Be)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ne*ue,(Ue+Ae)*ce,(Ne+Ae)*ue,(Ue+Be)*ce,(Ne+Be)*ue,(Ue+Ae)*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(Ne-Ae)*ue,Ue*ce,(Ne-Be)*ue,(Ue+Ae)*ce,(Ne-Ae)*ue,(Ue+Be)*ce).close()),ft.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.7*ce)),ft.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.5*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,.2*ce,.75*ue,.475*ce,.75*ue,.225*ce)),ft.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.35*ce,.4*ue,.2*ce,.3*ue,.25*ce)),Ee}),go.Shape.defineFigureGenerator("Location",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.5*ue,ce,!0).add(new go.PathSegment(go.PathSegment.Line,.75*ue,.5*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ue,0,.975*ue,.025*ce,.5*ue,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*ue,.5*ce,.5*ue,0,.025*ue,.025*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ue,.2*ce)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*ue,.3*ce,.1*ue,.1*ce).close()))}),go.Shape.defineFigureGenerator("Lock",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce));var Be=new go.PathFigure(.2*ue,.5*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.3*ce,.25*ue,0,.75*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.3*ce)),Ee}),go.Shape.defineFigureGenerator("Unlocked",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.5*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.5*ce));var Be=new go.PathFigure(.2*ue,.5*ce,!1);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Move,.2*ue,.5*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.3*ce)),Be.add(new go.PathSegment(go.PathSegment.Bezier,.8*ue,.3*ce,.25*ue,0,.75*ue,0)),Be.add(new go.PathSegment(go.PathSegment.Line,.8*ue,.35*ce)),Ee}),go.Shape.defineFigureGenerator("Gear",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(.9375*ue,.56246875*ce,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*ue,.4375*ce)).add(new go.PathSegment(go.PathSegment.Line,.80621875*ue,.4375*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.763*ue,.3316875*ce,.79840625*ue,.39915625*ce,.7834375*ue,.3635*ce)).add(new go.PathSegment(go.PathSegment.Line,.8566875*ue,.23796875*ce)).add(new go.PathSegment(go.PathSegment.Line,.76825*ue,.14959375*ce)).add(new go.PathSegment(go.PathSegment.Line,.67596875*ue,.24184375*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*ue,.19378125*ce,.64228125*ue,.2188125*ce,.603875*ue,.2021875*ce)).add(new go.PathSegment(go.PathSegment.Line,.5625*ue,.0625*ce)).add(new go.PathSegment(go.PathSegment.Line,.4375*ue,.0625*ce)).add(new go.PathSegment(go.PathSegment.Line,.4375*ue,.19378125*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*ue,.239375*ce,.39759375*ue,.20190625*ce,.36053125*ue,.2176875*ce)).add(new go.PathSegment(go.PathSegment.Line,.2379375*ue,.14959375*ce)).add(new go.PathSegment(go.PathSegment.Line,.14953125*ue,.2379375*ce)).add(new go.PathSegment(go.PathSegment.Line,.23934375*ue,.3278125*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*ue,.4375*ce,.21765625*ue,.36059375*ce,.201875*ue,.397625*ce)).add(new go.PathSegment(go.PathSegment.Line,.0625*ue,.4375*ce)).add(new go.PathSegment(go.PathSegment.Line,.0625*ue,.5625*ce)).add(new go.PathSegment(go.PathSegment.Line,.1938125*ue,.5625*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*ue,.67596875*ce,.20221875*ue,.603875*ce,.21884375*ue,.64228125*ce)).add(new go.PathSegment(go.PathSegment.Line,.1495625*ue,.76825*ce)).add(new go.PathSegment(go.PathSegment.Line,.238*ue,.8566875*ce)).add(new go.PathSegment(go.PathSegment.Line,.3316875*ue,.76296875*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*ue,.80621875*ce,.36353125*ue,.78340625*ce,.3991875*ue,.79840625*ce)).add(new go.PathSegment(go.PathSegment.Line,.43753125*ue,.9375*ce)).add(new go.PathSegment(go.PathSegment.Line,.5625*ue,.9375*ce)).add(new go.PathSegment(go.PathSegment.Line,.5625*ue,.80621875*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*ue,.760625*ce,.602375*ue,.79809375*ce,.63946875*ue,.78234375*ce)).add(new go.PathSegment(go.PathSegment.Line,.76828125*ue,.8566875*ce)).add(new go.PathSegment(go.PathSegment.Line,.85671875*ue,.76825*ce)).add(new go.PathSegment(go.PathSegment.Line,.76065625*ue,.67221875*ce)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*ue,.56246875*ce,.78234375*ue,.63940625*ce,.798125*ue,.602375*ce)).add(new go.PathSegment(go.PathSegment.Line,.9375*ue,.56246875*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*ue,.5*ce,.1*ue,.1*ce).close()))}),go.Shape.defineFigureGenerator("Hand",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.5*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.1*ue,.3*ce,0,.375*ce,.05*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.45*ue,.075*ce,.3*ue,.225*ce,.4*ue,.175*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.525*ue,.075*ce,.46*ue,.05*ce,.525*ue,.05*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.3*ue,.4*ce,.525*ue,.275*ce,.475*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,.55*ce,ue,.4*ce,ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.425*ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.6*ue,.7*ce,.675*ue,.55*ce,.675*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.575*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.575*ue,.85*ce,.65*ue,.7*ce,.65*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.525*ue,.85*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.535*ue,ce,.61*ue,.85*ce,.61*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ce,.435*ue,ce,0,ce).close()),Ee}),go.Shape.defineFigureGenerator("Map",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,.2*ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),Ae.add(new go.PathSegment(go.PathSegment.Move,.25*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.25*ue,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.5*ue,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Move,.75*ue,0)),Ae.add(new go.PathSegment(go.PathSegment.Line,.75*ue,.8*ce)),Ee}),go.Shape.defineFigureGenerator("Eject",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.7)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.7).close());var Be=new go.PathFigure(0,ce*.6,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue,.6*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.5*ue,0).close()),Ee}),go.Shape.defineFigureGenerator("Pencil",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*ue,.1*ce)).add(new go.PathSegment(go.PathSegment.Line,ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.9*ue,ce)).add(new go.PathSegment(go.PathSegment.Line,.1*ue,.2*ce).close()))}),go.Shape.defineFigureGenerator("Building",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*1,ce*1,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.85)),Ae.add(new go.PathSegment(go.PathSegment.Line,.046*ue,ce*.85)),Ae.add(new go.PathSegment(go.PathSegment.Line,.046*ue,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,.046*ue,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ue,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.3)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ue,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ue,ce*.85)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue,ce*.85).close());var Be=new go.PathFigure(.126*ue,.85*ce,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,.126*ue,.45*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.322*ue,.45*ce)),Be.add(new go.PathSegment(go.PathSegment.Line,.322*ue,.85*ce).close());var Ne=new go.PathFigure(.402*ue,.85*ce,!1);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.402*ue,.45*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.598*ue,.45*ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,.598*ue,.85*ce).close());var Ue=new go.PathFigure(.678*ue,.85*ce,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,.678*ue,.45*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.874*ue,.45*ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,.874*ue,.85*ce).close());var nt=new go.PathFigure(.5*ue,.1*ce,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*ue,.3*ce)),nt.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*ue,.3*ce).close()),Ee}),go.Shape.defineFigureGenerator("Staircase",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce*1,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*.8)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.8)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.6)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.6)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.4)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*.4)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*.2)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.2)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.15)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.15)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*.95).close()),Ee}),go.Shape.defineFigureGenerator("5Bars",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,ce*1,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.184,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.184,ce*(1-.184)).close());var Be=new go.PathFigure(ue*.204,ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.204,ce*(1-.184))),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.388,ce*(1-.184*2))),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.388,ce*1).close());var Ne=new go.PathFigure(ue*.408,ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.408,ce*(1-.184*2))),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.592,ce*(1-.184*3))),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.592,ce*1).close());var Ue=new go.PathFigure(ue*.612,ce,!0);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.612,ce*(1-.184*3))),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.796,ce*(1-.184*4))),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.796,ce*1).close());var nt=new go.PathFigure(ue*.816,ce,!0);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.816,ce*(1-.184*4))),nt.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-.184*5))),nt.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1).close()),Ee}),go.Shape.defineFigureGenerator("PC",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,0).close());var Be=new go.PathFigure(ue*.055,.07*ce,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.07)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.055,ce*.1).close());var Ne=new go.PathFigure(ue*.055,.13*ce,!0);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.13)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.16)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.055,ce*.16).close());var Ue=new go.PathFigure(ue*.055,.18*ce,!0);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.18)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.245,ce*.21)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.055,ce*.21).close());var nt=new go.PathFigure(ue*1,0,!0);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.4,0)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.65)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.65).close()),Ee}),go.Shape.defineFigureGenerator("Plane",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(.55*ue,ce,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.7*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.1*ue,.475*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.35*ue,.525*ce,0,.4*ce,.225*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.4*ue,.475*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.15*ue,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.2*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.325*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.85*ue,.1*ce)),Ae.add(new go.PathSegment(go.PathSegment.Bezier,.9*ue,.2*ce,.975*ue,0,ue,.08*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.7*ue,.45*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.6*ue,.95*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,.55*ue,ce).close()),Ee}),go.Shape.defineFigureGenerator("Key",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*1,ce*.5,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.9,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.4*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,.2*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.35*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.15,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,.8*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.65*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.7,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,.55*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,.6*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.85,.575*ce)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.9,.6*ce).close()),Ae.add(new go.PathSegment(go.PathSegment.Move,.17*ue,.425*ce)),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*ue,.5*ce,.075*ue,.075*ce).close()),Ee}),go.Shape.defineFigureGenerator("FilmTape",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(0,0,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Arc,270,180,ue*0,ue*.3,ue*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,0,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.08,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.08,ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*1),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*1),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*2),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*2),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*3),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*3),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*4),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*4),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*5),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*5),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*6),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*6),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*7),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*7),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*8),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*8),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*9),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*9),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*10),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*10),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*11),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*11),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*12),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*12),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*13),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*13),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*14),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*14),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*15),ce*.95)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(.08+.056*15),ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1));var Be=new go.PathFigure(0,0,!1);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*0)),Be.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ue*1,ue*.3,ue*.055)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1));var Ne=new go.PathFigure(ue*.11,ce*.1,!1);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*1+.028*0),ce*.1)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*1+.028*0),ce*.8)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.11,ce*.8).close());var Ue=new go.PathFigure(ue*(.11+.24133333*1+.028*1),ce*.1,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*2+.028*1),ce*.1)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*2+.028*1),ce*.8)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*1+.028*1),ce*.8).close());var nt=new go.PathFigure(ue*(.11+.24133333*2+.028*2),ce*.1,!1);return Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*3+.028*2),ce*.1)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*3+.028*2),ce*.8)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*(.11+.24133333*2+.028*2),ce*.8).close()),Ee}),go.Shape.defineFigureGenerator("FloppyDisk",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=8,Be=Ae*wt,Ne=new go.PathFigure(Ae,0,!1);Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.86,0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.14)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ae)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ae,ce,ue,ce-Be,ue-Be,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ae,Be,ce,0,ce-Be)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,Ae)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,Ae,0,0,Be,Be,0).close());var Ue=new go.PathFigure(ue*.83,0,!1);Ee.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.83,ce*.3)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*.3)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*0).close());var nt=new go.PathFigure(ue*.83,ce*1,!1);Ee.add(nt),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.83,ce*.5)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*.5)),nt.add(new go.PathSegment(go.PathSegment.Line,ue*.17,ce*1).close());var ft=new go.PathFigure(ue*.78,ce*.05,!1);return Ee.add(ft),ft.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.05)),ft.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.25)),ft.add(new go.PathSegment(go.PathSegment.Line,ue*.78,ce*.25).close()),Ee}),go.Shape.defineFigureGenerator("SpeechBubble",function(Ke,ue,ce){var Ee=Ke?Ke.parameter1:NaN;(isNaN(Ee)||Ee<0)&&(Ee=15),Ee=Math.min(Ee,ue/3),Ee=Math.min(Ee,ce/3);var Ae=Ee*wt,Be=ce*.8,Ne=new go.Geometry,Ue=new go.PathFigure(Ee,0,!0);return Ne.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Line,ue-Ee,0)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue,Ee,ue-Ae,0,ue,Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue,Be-Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ee,Be,ue,Be-Ae,ue-Ae,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.7,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce)),Ue.add(new go.PathSegment(go.PathSegment.Line,ue*.55,Be)),Ue.add(new go.PathSegment(go.PathSegment.Line,Ee,Be)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,0,Be-Ee,Ae,Be,0,Be-Ae)),Ue.add(new go.PathSegment(go.PathSegment.Line,0,Ee)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Ee,0,0,Ae,Ae,0).close()),Ae>1?(Ne.spot1=new go.Spot(0,0,Ae,Ae),Ne.spot2=new go.Spot(1,.8,-Ae,-Ae)):(Ne.spot1=go.Spot.TopLeft,Ne.spot2=new go.Spot(1,.8)),Ne}),go.Shape.defineFigureGenerator("Repeat",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*.45,!0);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*.9)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.9)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.2,ce*.45).close());var Be=new go.PathFigure(ue*1,ce*.55,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.55)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*.55)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*.1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.1)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*.55).close()),Ee}),go.Shape.defineFigureGenerator("Windows",function(Ke,ue,ce){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ue,0)).add(new go.PathSegment(go.PathSegment.Line,ue,ce)).add(new go.PathSegment(go.PathSegment.Line,0,ce).close()).add(new go.PathSegment(go.PathSegment.Move,.4*ue,.4*ce)).add(new go.PathSegment(go.PathSegment.Line,.4*ue,.8*ce)).add(new go.PathSegment(go.PathSegment.Line,.9*ue,.8*ce)).add(new go.PathSegment(go.PathSegment.Line,.9*ue,.4*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.2*ue,.1*ce)).add(new go.PathSegment(go.PathSegment.Line,.2*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Line,.7*ue,.1*ce).close()).add(new go.PathSegment(go.PathSegment.Move,.1*ue,.6*ce)).add(new go.PathSegment(go.PathSegment.Line,.1*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.9*ce)).add(new go.PathSegment(go.PathSegment.Line,.5*ue,.6*ce).close()))}),go.Shape.defineFigureGenerator("Terminal",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*.1,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.9)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*.9).close());var Be=new go.PathFigure(ue*.1,ce*.2,!0);Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.1,ce*.25)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.22,ce*.285)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.1,ce*.32)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.1,ce*.37)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.275,ce*.32)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.275,ce*.25).close());var Ne=new go.PathFigure(ue*.28,ce*.37,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.37)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.41)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.28,ce*.41).close()),Ee}),go.Shape.defineFigureGenerator("Beaker",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=15,Be=Ae*wt,Ne=new go.PathFigure(ue*.62,ce*.475,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue,ce-Ae)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue-Ae,ce,ue,ce-Be,ue-Be,ce)),Ne.add(new go.PathSegment(go.PathSegment.Line,Ae,ce)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-Ae,Be,ce,0,ce-Be)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.38,ce*.475)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.38,ce*.03)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*0)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.62,ce*.03).close()),Be>1?(Ee.spot1=new go.Spot(0,0,Be,Be),Ee.spot2=new go.Spot(1,1,-Be,-Be)):(Ee.spot1=go.Spot.TopLeft,Ee.spot2=go.Spot.BottomRight),Ee}),go.Shape.defineFigureGenerator("Download",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*1,!0);Ee.add(Ae);var Be=.1/.3;Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.755,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.93,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.61,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.39,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.07,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.755),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.8),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*(1-Be)).close());var Ne=new go.PathFigure(ue*.4,ce*0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.26,ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.66)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.26),ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.44)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*0).close()),Ee}),go.Shape.defineFigureGenerator("Bin",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*1,!0);Ee.add(Ae);var Be=.1/.3;return Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.755,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.93,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.61,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.39,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.07,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.755),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.8),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*(1-Be)).close()),Ee}),go.Shape.defineFigureGenerator("Upload",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*0,ce*1,!0);Ee.add(Ae);var Be=.1/.3;Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.8,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.66,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.755,ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.93,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.64,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.61,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.39,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.36,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.07,ce*(1-Be))),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.755),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*.055)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.66),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*(1-.8),ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*(1-Be)).close());var Ne=new go.PathFigure(ue*.5,ce*0,!0);return Ee.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.26,ce*.25)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.25)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.4,ce*.63)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.63)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.6,ce*.25)),Ne.add(new go.PathSegment(go.PathSegment.Line,ue*.74,ce*.25).close()),Ee}),go.Shape.defineFigureGenerator("EmptyDrink",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.15,ce*0,!1);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.85,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*1).close()),Ee}),go.Shape.defineFigureGenerator("Drink",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.15,ce*0,!1);Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.85,ce*0)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.7,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.3,ce*1).close());var Be=new go.PathFigure(ue*.235,ce*.28,!0);return Ee.add(Be),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.765,ce*.28)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.655,ce*.97)),Be.add(new go.PathSegment(go.PathSegment.Line,ue*.345,ce*.97).close()),Ee}),go.Shape.defineFigureGenerator("4Arrows",function(Ke,ue,ce){var Ee=new go.Geometry,Ae=new go.PathFigure(ue*.5,ce*0,!0);return Ee.add(Ae),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,ce*.25)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.25)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*1,ce*.5)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.65)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.75,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.55,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.65,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.5,ce*1)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.75)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.55)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.65)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*0,ce*.5)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.35)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.25,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.45)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.45,ce*.25)),Ae.add(new go.PathSegment(go.PathSegment.Line,ue*.35,ce*.25).close()),Ee}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},43001:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var qt={},xi="5.0",Je={},Fe=null,xt=!1,jt=!1,kt=null,It=!1,zt=null,wt=null,en=0;en4?parseFloat(Fn):5};qt.setHTML5Codebase=function(Fn,An){wt=Fn,Si(Fn,An)},qt.setJavaCodebase=qt.setJavaCodebaseVersion=qt.isCompiledInstalled=qt.setPreCompiledScriptPath=qt.setPreCompiledResourcePath=function(){},qt.setHTML5CodebaseVersion=function(Fn,An){var Vn=parseFloat(Fn);if(Vn!==NaN&&Vn<5){console.log("The GeoGebra HTML5 codebase version "+Vn+" is deprecated. Using version latest instead.");return}zt=Fn,Et(Fn,An)},qt.getHTML5CodebaseVersion=function(){return Ke},qt.getParameters=function(){return Je},qt.setFontsCSSURL=function(Fn){Ne=Fn},qt.setGiacJSURL=function(Fn){},qt.setJNLPFile=function(Fn){$e=Fn},qt.setJNLPBaseDir=function(Fn){},qt.inject=function(){function Fn(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var An="auto",Vn=Je.id,zi,on=!1,Wt=0;Wt=5)return!0;var Fn=qt.getAppletObject();return Fn&&typeof Fn.recalculateEnvironments=="function"?(Fn.recalculateEnvironments(),!0):!1},qt.startAnimation=function(){var Fn=qt.getAppletObject();return Fn&&typeof Fn.startAnimation=="function"?(Fn.startAnimation(),!0):!1},qt.stopAnimation=function(){var Fn=qt.getAppletObject();return Fn&&typeof Fn.stopAnimation=="function"?(Fn.stopAnimation(),!0):!1},qt.getAppletObject=function(){var Fn=Je.id!==void 0?Je.id:"ggbApplet";return window[Fn]},qt.resize=function(){};var ln=function(Fn,An,Vn){var zi=document.createElement("param");zi.setAttribute("name",An),zi.setAttribute("value",Vn),Fn.appendChild(zi)},Kt=function(Fn){return Fn&&Fn!=="false"},ni=function(Fn,An,Vn){nt(Ke)<=4.2&&(Vn=!0);var zi=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==Ke||ggbHTML5LoadedCodebaseIsWebSimple&&!ce)&&(zi=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var on=document.createElement("div");on.classList.add("appletParameters","notranslate");var Wt=An.width,zn=An.height;if(An.disableAutoScale=An.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():An.disableAutoScale,An.width!==void 0)if(nt(Ke)<=4.4)Kt(An.showToolBar)&&(An.height-=7),Kt(An.showAlgebraInput)&&(An.height-=37),An.width<605&&Kt(An.showToolBar)&&(An.width=605,Wt=605);else{var br=100;(Kt(An.showToolBar)||Kt(An.showMenuBar))&&(An.hasOwnProperty("customToolBar")&&(An.customToolbar=An.customToolBar),br=Kt(An.showMenuBar)?245:155),Wt=5?(An.appletOnLoad=function(ws){var Gr=Fn.querySelector(".ggb_preview");Gr&&Gr.parentNode.removeChild(Gr),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(We),window.GGBT_wsf_view&&$(window).trigger("resize"),vt(ws)},je||We.appendChild(ct)):on.appendChild(ct),We.appendChild(on),je||Fn.appendChild(We),setTimeout(function(){qt.resize()},1)}else{var Pt=document.createElement("div");Pt.className="applet_scaler",Pt.style.position="relative",Pt.style.display="block",Pt.appendChild(on),Fn.appendChild(Pt),An.appletOnLoad=function(ws){qt.resize(),vt(ws)}}function qe(ws,Gr){Gr&&typeof Gr.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(ws,Gr.appletOnLoad):renderGGBElement(ws),_r("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",Gr)}function Hn(ws,Gr){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:ws,params:Gr}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(Ms){qe(Ms.article,Ms.params)}),html5AppletsToProcess=null)},nt(Ke)<5&&(ws.className+=" geogebraweb")):qe(ws,Gr)}if(zi){scriptLoadStarted=!0;for(var Ci=0;Ci0?(uo.remove(),We.attr("id","fullscreencontent").show(),jQuery(vt).append(We),window.dispatchEvent(new Event("resize"))):ni(uo,An,!1),window.GGBT_wsf_view.launchFullScreen(vt)}else gn=zi,ni(Fn,An,!1);if(!window.GGBT_wsf_view)for(zn=0;znFn/4*3&&(uo=Fn/4*3),vt=uo/5.8,br.setAttribute("src",Ae),br.setAttribute("width",uo),br.setAttribute("height",vt);var We=(Fn-uo)/2,je=(An-vt)/2;br.style.left=We+"px",br.style.top=je+"px",on.appendChild(br)}}return on.appendChild(zn),on},gr=function(Fn){return Fn=Fn.toLowerCase(),Fn==="html5"||Fn==="screenshot"?Fn:"html5"},Ht=["web","webSimple","web3d","tablet","tablet3d","phone"],Et=function(Fn,An){if(Ke=Fn,An){Si(Ke,!0);return}var Vn=!xt;if(Vn){var zi=nt(Ke);!isNaN(zi)&&zi<4.4&&(Vn=!1)}var on,Wt;window.location.protocol.substr(0,4)==="http"?on=window.location.protocol:on="http:";var zn=Ke.indexOf("//");zn>0?Wt=Ke:zn===0?Wt=on+Ke:Wt="https://www.geogebra.org/apps/5.2.814.0/";for(var br in Ht)if(Ke.slice(Ht[br].length*-1)===Ht[br]||Ke.slice((Ht[br].length+1)*-1)===Ht[br]+"/"){Si(Wt,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Vn&&!Fe.is3D&&!Fe.AV&&!Fe.SV&&!Fe.CV&&!Fe.EV2&&!Fe.CP&&!Fe.PC&&!Fe.DA&&!Fe.FI&&!Fe.PV&&!Kt(Je.showToolBar)&&!Kt(Je.showMenuBar)&&!Kt(Je.showAlgebraInput)&&!Kt(Je.enableRightClick)&&(!Je.appName||Je.appName=="classic")?Wt+="webSimple/":Wt+="web3d/",Si(Wt,!1)},Si=function(Fn,An){if(Fn.requirejs){Gt=Fn;return}Fn.slice(-1)!=="/"&&(Fn+="/"),Gt=Fn,An===null&&(An=Fn.indexOf("http")===-1),an=An,ue="web.nocache.js",ce=!1;var Vn=Gt.split("/");Vn.length>1&&(!An&&Vn[Vn.length-2]==="webSimple"?(ue="webSimple.nocache.js",ce=!0):Ht.indexOf(Vn[Vn.length-2])>=0&&(ue=Vn[Vn.length-2]+".nocache.js")),Vn=Fn.split("/"),Ke=Vn[Vn.length-3],Ke.substr(0,4)==="test"?Ke=Ke.substr(4,1)+"."+Ke.substr(5,1):(Ke.substr(0,3)==="war"||Ke.substr(0,4)==="beta")&&(Ke="5.0");var zi=parseFloat(Ke);zi!==NaN&&zi<5&&Fn.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+zi+" is deprecated. Using version latest instead."),Et("5.0",An))},_r=function(Fn,An){window.console&&window.console.log&&(!An||typeof An.showLogging=="undefined"||An.showLogging&&An.showLogging!=="false")&&console.log(Fn)};Je.material_id!==void 0?Nt(zr):zr();function zr(){var Fn=xi;zt!==null?Fn=zt:parseFloat(Fn)<5&&(Fn="5.0"),Et(Fn,!1),wt!==null&&Si(wt,an),It=!0}return qt},GGBAppletUtils=function(){"use strict";function qt(){return window.GGBT_wsf_edit!==void 0}function xi(It,zt){zt!=1?(It.style.transformOrigin="0% 0% 0px",It.style.webkitTransformOrigin="0% 0% 0px",It.style.transform="scale("+zt+","+zt+")",It.style.webkitTransform="scale("+zt+","+zt+")",It.style.maxWidth="initial",It.querySelector(".ggb_preview")!==null&&(It.querySelector(".ggb_preview").style.maxWidth="initial"),It.querySelectorAll(".ggb_preview img")[0]!==void 0&&(It.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),It.querySelectorAll(".ggb_preview img")[1]!==void 0&&(It.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(It.style.transform="none",It.style.webkitTransform="none")}function Je(It,zt,wt,en,$t,$e){var Gt=null;if($e!=null&&$e!="")for(var an=It.parentNode;an!=null;)if((" "+an.className+" ").indexOf(" "+$e+" ")>-1){Gt=an;break}else an=an.parentNode;var gn=0,Ke=0,ue=0,ce=0,Ee=0,Ae=0,Be=0;if(Gt)gn=Gt.offsetWidth,Ke=Math.max(en?Gt.offsetWidth:0,Gt.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(gn=Math.min(window.innerWidth,document.documentElement.clientWidth),Ke=Math.min(window.innerHeight,document.documentElement.clientHeight),ue=gn):(gn=window.innerWidth,Ke=window.innerHeight,ue=window.innerWidth),It){var Ne=It.getBoundingClientRect();Ne.left>0&&Ne.left<=gn&&($t===void 0||!$t)&&(document.dir==="rtl"?(Ee=gn-Ne.width-Ne.left,Ae=ue<=480?10:30):(Ae=Ne.left,Ee=ue<=480?10:30),ce=Ae+Ee)}if(It&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var Ue=It.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ce=40,Be=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ce=0,Be=40)}}return It&&((wt===void 0||!wt)&&zt>0&&zt+ce1&&($e=!0)),zt&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&($e=!0),!(It.hasOwnProperty("disableAutoScale")&&It.disableAutoScale))$t=Fe(It,zt,$e,wt,It.scaleContainerClass);else return en;return $e&&(!It.hasOwnProperty("scale")||en===1)?$t:Math.min(en,$t)}function jt(It){var zt=Math.min(window.innerWidth,document.documentElement.clientWidth),wt=Math.min(window.innerHeight,document.documentElement.clientHeight),en=It.getBoundingClientRect(),$t=(zt-en.width)/2,$e=(wt-en.height)/2;$e<0&&($e=0),It.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?($t<40?It.style.left="40px":It.style.left=$t+"px",It.style.top=$e+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&($e<40?It.style.top="40px":It.style.top=$e+"px",It.style.left=$t+"px")}function kt(It,zt){var wt=It.querySelector(".appletParameters");if(wt){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(zt.id!==wt.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(It)}if(wt.parentElement&&/fullscreen/.test(wt.parentElement.className))return;var en=xt(zt,It);qt()&&wt.setAttribute("data-param-scale",en);for(var $t=null,$e=0;$e=O)continue;if(j==jb){if(k=i.getAttribute(kb),k){var l,m=k.indexOf(lb);m>=O?(j=k.substring(O,m),l=k.substring(m+P)):(j=k,l=W),c[j]=l}}else if(j==mb){if(k=i.getAttribute(kb),k)try{d=eval(k)}catch(qt){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(qt){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(qt){var xi=c[qt];return xi==null?null:xi},r=d,webModule.__errFn=e}function B(){function qt(It){var zt=It.lastIndexOf(rb);zt==-1&&(zt=It.length);var wt=It.indexOf(sb);wt==-1&&(wt=It.length);var en=It.lastIndexOf(tb,Math.min(wt,zt));return en>=O?It.substring(O,en+P):W}function xi(It){if(!It.match(/^\w+:\/\//)){var zt=o.createElement(ub);zt.src=It+vb,It=qt(zt.src)}return It}function Je(){var It=__gwt_getMetaProperty(wb);return It!=null?It:W}function Fe(){for(var It=o.getElementsByTagName(_),zt=O;ztO?It[It.length-P].href:W}function jt(){var It=o.location;return It.href==It.protocol+zb+It.host+It.pathname+It.search+It.hash}var kt=Je();return kt==W&&(kt=Fe()),kt==W&&(kt=xt()),kt==W&&jt()&&(kt=qt(o.location.href)),kt=xi(kt),kt}function C(qt){return qt.match(/^\//)||qt.match(/^[a-zA-Z]+:\/\//)?qt:webModule.__moduleBase+qt}function D(){var qt=[],xi=O,Je=[],Fe=[];function xt(It){var zt=Fe[It](),wt=Je[It];if(zt in wt)return zt;var en=[];for(var $t in wt)en[wt[$t]]=$t;throw r&&r(It,en,zt),null}if(__gwt_isKnownPropertyValue=function(It,zt){return zt in Je[It]},webModule.__getPropMap=function(){var It={};for(var zt in Je)Je.hasOwnProperty(zt)&&(It[zt]=xt(zt));return It},webModule.__computePropValue=xt,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var jt;try{jt=Cb;var kt=jt.indexOf(Db);kt!=-1&&(xi=parseInt(jt.substring(kt+P),$),jt=jt.substring(O,kt))}catch(It){}return webModule.__softPermutationId=xi,C(jt+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase="/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},46699:function(qt,xi,Je){"use strict";Je.d(xi,{Ax:function(){return kt},Ds:function(){return It},KI:function(){return wt},SI:function(){return jt},f1:function(){return xt}});var Fe=Je(346);function xt(en){let $t=!0;if(en.length>0){for(let $e=0;$eue in Ke?wt(Ke,ue,{enumerable:!0,configurable:!0,writable:!0,value:ce}):Ke[ue]=ce,$t=(Ke,ue,ce)=>en(Ke,typeof ue!="symbol"?ue+"":ue,ce),$e=(Ke,ue,ce)=>new Promise((Ee,Ae)=>{var Be=nt=>{try{Ue(ce.next(nt))}catch(ft){Ae(ft)}},Ne=nt=>{try{Ue(ce.throw(nt))}catch(ft){Ae(ft)}},Ue=nt=>nt.done?Ee(nt.value):Promise.resolve(nt.value).then(Be,Ne);Ue((ce=ce.apply(Ke,ue)).next())});class Gt extends Fe.Component{constructor(ue){super(ue),$t(this,"canvas"),$t(this,"randomNum",(ce,Ee)=>Math.floor(Math.random()*(Ee-ce)+ce)),$t(this,"drawPic",()=>{this.randomCode()}),$t(this,"reloadPic",()=>{this.drawPic()}),$t(this,"changeCode",ce=>{console.log(ce.target.value,222),this.setState({value:ce.target.value,showError:!1})}),$t(this,"onVerify",()=>{let ce;return this.state.value.toLowerCase()!==""&&this.state.value.toLowerCase()!==this.state.code.toLowerCase()?(ce=!0,xt.ZP.error("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u9A8C\u8BC1\u7801"),this.reloadPic()):this.state.value.toLowerCase()===""?(ce=!0,xt.ZP.error("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801")):this.state.value.toLowerCase()===this.state.code.toLowerCase()&&(ce=!1),this.setState({showError:ce}),ce}),this.canvas=Fe.createRef(),this.state={value:"",code:"",codeLength:4,fontSizeMin:20,fontSizeMax:22,backgroundColorMin:240,backgroundColorMax:250,colorMin:10,colorMax:20,lineColorMin:40,lineColorMax:180,contentWidth:96,contentHeight:38,showError:!1}}componentDidMount(){this.drawPic()}randomColor(ue,ce){const Ee=this.randomNum(ue,ce),Ae=this.randomNum(ue,ce),Be=this.randomNum(ue,ce);return`rgb(${Ee}, ${Ae}, ${Be})`}drawText(ue,ce,Ee){ue.fillStyle=this.randomColor(this.state.colorMin,this.state.colorMax);const Ae=this.randomNum(this.state.fontSizeMin,this.state.fontSizeMax);ue.font=Ae+"px SimHei";const Be=10,Ne=(this.state.contentWidth-40)/(this.state.code.length-1);let Ue=Be;Ee>0&&(Ue=Be+Ee*Ne);let nt=this.randomNum(this.state.fontSizeMax,this.state.contentHeight-5);Ae>40&&(nt=40);const ft=this.randomNum(-10,10);ue.translate(Ue,nt),ue.rotate(ft*Math.PI/180),ue.fillText(ce,0,0),ue.rotate(-ft*Math.PI/180),ue.translate(-Ue,-nt)}drawLine(ue){for(let ce=0;ce<1;ce++)ue.strokeStyle=this.randomColor(this.state.lineColorMin,this.state.lineColorMax),ue.beginPath(),ue.moveTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),ue.lineTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),ue.stroke()}drawDot(ue){for(let ce=0;ce<100;ce++)ue.fillStyle=this.randomColor(0,255),ue.beginPath(),ue.arc(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight),1,0,2*Math.PI),ue.fill()}randomCode(){let ue="";const ce="QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm1234567890";for(let Ee=0;Ee{const Ae=this.canvas.current.getContext("2d");Ae.textBaseline="bottom",Ae.fillStyle=this.randomColor(this.state.backgroundColorMin,this.state.backgroundColorMax),Ae.fillRect(0,0,this.state.contentWidth,this.state.contentHeight);for(let Be=0;Be{let ce;Modal.confirm({centered:!0,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",content:React.createElement("div",null,React.createElement("p",null,ue),React.createElement(Gt,{ref:Ee=>ce=Ee})),onOk:()=>$e(void 0,null,function*(){if(ce.onVerify())return Promise.reject();Ke()})})};var gn=Gt},9507:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return Gt}});var Fe=Je(59301),xt={imageDimensions:"imageDimensions___a7crR",img:"img___Kroat",fullWidth:"fullWidth___c492T"},jt=Je(92310),kt=Je.n(jt),It=Je(29787),zt=Je(2859),wt=Je(38986),en=Je(51257),$t=(an,gn,Ke)=>new Promise((ue,ce)=>{var Ee=Ne=>{try{Be(Ke.next(Ne))}catch(Ue){ce(Ue)}},Ae=Ne=>{try{Be(Ke.throw(Ne))}catch(Ue){ce(Ue)}},Be=Ne=>Ne.done?ue(Ne.value):Promise.resolve(Ne.value).then(Ee,Ae);Be((Ke=Ke.apply(an,gn)).next())}),Gt=({data:an,className:gn,fullWidth:Ke,style:ue={},onClose:ce,onOk:Ee,showFullTools:Ae,noAssociationId:Be})=>{const Ne=(0,Fe.useRef)(null),Ue=(0,Fe.useRef)(null),nt=(0,Fe.useRef)(null),ft=(0,Fe.useRef)(null),[St,Nt]=(0,Fe.useState)(!1),[Bt,bt]=(0,Fe.useState)("\u6B63\u5728\u52A0\u8F7D\u4E2D");(0,Fe.useEffect)(()=>(nt.current||(nt.current=document.createElement("style"),document.head.appendChild(nt.current)),an!=null&&an.visible?(document.body.setAttribute("data-custom","y-hidden"),nt.current.innerHTML=" html { overflow-y: hidden; }",an!=null&&an.src&&ln()):(document.body.removeAttribute("data-custom"),nt.current&&(document.head.removeChild(nt.current),nt.current=null)),()=>{document.body.removeAttribute("data-custom"),nt.current&&(document.head.removeChild(nt.current),nt.current=null)}),[an==null?void 0:an.visible]);const ln=()=>$t(void 0,null,function*(){Nt(!0),bt("\u6B63\u5728\u52A0\u8F7D\u4E2D");const ci=yield(0,en.ZJ)(an==null?void 0:an.src);Ne.current.src="",Ne.current.src=ci,Ne.current.onload=function(){pn()},Nt(!1),bt("")}),Kt=ci=>$t(void 0,null,function*(){Nt(!0),bt("\u6B63\u5728\u4FDD\u5B58\u4E2D");const di=yield(0,wt.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:an.title,file:ci.dataUrl}});di!=null&&di.id&&!Be?(yield(0,wt.ZP)(`/api/attachments/${an.id}/add_subitem.json`,{method:"post",body:{subitem_id:di==null?void 0:di.id,settings:JSON.stringify(ci.state)}})).status===0&&Ee():di!=null&&di.id&&Ee(di),Nt(!1),bt("")}),ni=()=>{const ci=document.querySelector('a[href="https://markerjs.com/"]');ci&&ci.parentNode&&(ci.parentNode.style.display="none"),[{name:'[data-action="select"]',title:"\u9009\u62E9"},{name:'[data-action="delete"]',title:"\u5220\u9664\u5143\u7D20"},{name:'[data-action="undo"]',title:"\u64A4\u9500"},{name:'[data-type-name="FrameMarker"]',title:"\u77E9\u5F62"},{name:'[data-type-name="FreehandMarker"]',title:"\u753B\u7EBF"},{name:'[data-type-name="ArrowMarker"]',title:"\u7BAD\u5934"},{name:'[data-type-name="TextMarker"]',title:"\u6587\u672C"},{name:'[data-type-name="EllipseMarker"]',title:"\u692D\u5706"},{name:'[data-type-name="HighlightMarker"]',title:"\u65B9\u5757"},{name:'[data-type-name="CalloutMarker"]',title:"\u6CE8\u91CA"},{name:'[data-action="render"]',title:"\u4FDD\u5B58"},{name:'[data-action="close"]',title:"\u9000\u51FA"}].forEach(Ln=>{const si=document.querySelector(Ln.name);si&&si.setAttribute("title",Ln.title)})},pn=()=>{Ue.current=new zt.hP(Ne.current),Ue.current.targetRoot=ft.current,Ue.current.addEventListener("render",Kt),Ue.current.addEventListener("beforeclose",ce),Ae&&(Ue.current.availableMarkerTypes=Ue.current.ALL_MARKER_TYPES,Ue.current.uiStyleSettings.redoButtonVisible=!0,Ue.current.uiStyleSettings.notesButtonVisible=!0,Ue.current.uiStyleSettings.zoomButtonVisible=!0,Ue.current.uiStyleSettings.zoomOutButtonVisible=!0,Ue.current.uiStyleSettings.clearButtonVisible=!0),window.markerArea=Ue.current.uiStyleSettings,Ue.current.show(),an!=null&&an.snapshotData&&Ue.current.restoreState(an.snapshotData),setTimeout(()=>{window.scrollTo(0,0),ni()},300)};return Fe.createElement(Fe.Fragment,null,(an==null?void 0:an.visible)&&Fe.createElement(It.Z,{spinning:St,tip:Bt,style:{position:"absolute",width:"100vw"}},Fe.createElement("div",{ref:ft,className:kt()(xt.imageDimensions,gn,Ke?xt.fullWidth:""),style:ue},Fe.createElement("img",{className:xt.img,ref:Ne}))))}},76562:function(qt,xi,Je){"use strict";var Fe=Je(59301),xt=Je(77019),jt=Je(5269),kt=Je(20554),It=Je(99571),zt=Je(76902),wt=Je(99587),en=Je(48136),$t=Je(59301);const $e=(0,Fe.forwardRef)(({callback:Gt,showSaveButton:an,value:gn=""},Ke)=>{const ue=(0,Fe.useRef)(),ce=[{name:"\u5206\u6570\u5F97\u5206",value:"\\frac{x}{y}",children:[{name:"\u5206\u6570 Fractions",data:[{value:"\\frac{a}{b}"},{value:"x\\tfrac{x}{a} "},{value:"\\mathrm{d}t"},{value:"\\partial t"},{value:"\\frac{\\partial y}{\\partial x}"},{value:"\\nabla\\psi"},{value:"\\frac{\\partial^2}{\\partial x_1\\partial x_2}y"},{value:"\\cfrac{1}{a + \\cfrac{7}{b + \\cfrac{2}{9}}} = c"}]},{name:"\u5BFC\u6570 Derivative",data:[{value:"\\dot{a} "},{value:"\\ddot{a}"},{value:"{f}^{\\prime}"},{value:"{f}^{\\prime\\prime}"},{value:"{f}^{(n)}"}]},{name:"\u6A21\u7B97\u672F Modular arithmetic",data:[{value:"a \\bmod b"},{value:"a \\equiv b \\pmod{m} "},{value:"\\gcd(m, n) "},{value:"\\operatorname{lcm}(m, n) "}]}]},{name:"\u6839\u5F0F\u89D2\u6807",value:"\\sqrt{x}",children:[{name:"\u6839\u5F0F Radicals",data:[{value:"\\sqrt{x}"},{value:"\\sqrt[y]{x}"}]},{name:"\u4E0A\u4E0B\u6807 Sub&Super",data:[{value:"x^{a}"},{value:"x_{a}"},{value:"x_{a}^{b} "},{value:"_{a}^{b} x"},{value:"x_{a}^{b} "}]},{name:"\u91CD\u97F3\u7B26\u53CA\u5176\u4ED6 Accents and Others",data:[{value:"\\hat{a} "},{value:"\\sqrt[y]{x}"},{value:"\\check{} "},{value:"\\grave{a} "},{value:"\\acute{a}"},{value:"\\tilde{a}"},{value:"\\breve{a}"},{value:"\\bar{a}"},{value:"\\vec{a}"},{value:"\\not{a}"},{value:"\\widetilde{abc}"},{value:"\\widehat{abc}"},{value:"\\overleftarrow{abc} "},{value:"\\overrightarrow{abc}"},{value:"\\overline{abc}"},{value:"\\underline{abc}"},{value:"\\overbrace{abc}"},{value:"\\underbrace{abc}"},{value:"\\overset{a}{abc}"},{value:"\\underset{a}{abc} \\stackrel\\frown{ab}"},{value:"\\overline{ab} "},{value:"\\overleftrightarrow{ab}"},{value:"\\overset{a}{\\leftarrow}"},{value:"\\overset{a}{\\rightarrow}"},{value:"\\xleftarrow[abc]{a}"},{value:"\\xrightarrow[abc]{a} "}]}]},{name:"\u6781\u9650\u5BF9\u6570",value:"\\lim_{x \\to 0}",children:[{name:"\u6781\u9650 Limits",data:[{value:"\\lim a"},{value:"\\lim_{x \\to 0}"},{value:"\\lim_{x \\to \\infty}"},{value:"\\max_b{a}"},{value:"\\min_a{b}"}]},{name:"\u5BF9\u6570\u6307\u6570 Logarithms and exponentials",data:[{value:"\\log_{a}{b}"},{value:"\\lg_{a}{b}"},{value:"\\ln_{a}{b}"},{value:"\\exp a"}]},{name:"\u754C\u9650 Bounds",data:[{value:"\\min x"},{value:"\\sup t"},{value:"\\inf s"},{value:"\\lim u"},{value:"\\limsup w"},{value:"\\dim p"},{value:"\\ker\\phi "}]}]},{name:"\u4E09\u89D2\u51FD\u6570",value:"\\sin a",children:[{name:"\u4E09\u89D2\u51FD\u6570 Trigonometric functions",data:[{value:"\\sin a"},{value:"\\cos a"},{value:"\\tan a"},{value:"\\cot a "},{value:"\\sec a "},{value:"\\csc a "}]},{name:"\u53CD\u4E09\u89D2\u51FD\u6570 Inverse trigonometric functions",data:[{value:"\\sin^{-1}"},{value:"\\cos^{-1}"},{value:"\\tan^{-1}"},{value:"\\cot^{-1}"},{value:"\\sec^{-1}"},{value:"\\csc^{-1}"},{value:"\\arcsin a"},{value:"\\arccos a"},{value:"\\arctan a"},{value:"\\operatorname{arccot} a"},{value:"\\operatorname{arcsec} a"},{value:"\\operatorname{arccsc} a"}]},{name:"\u53CC\u66F2\u51FD\u6570 Hyperblic functions",data:[{value:"\\sinh a"},{value:"\\cosh a"},{value:"\\tanh a"},{value:"\\coth a"},{value:"\\operatorname{sech} a"},{value:"\\operatorname{csch} a"}]},{name:"\u53CD\u53CC\u66F2\u51FD\u6570 Inverse hyperbolic functions",data:[{value:"\\sinh^{-1}"},{value:"a\\cosh^{-1} a"},{value:"\\tanh^{-1} a"},{value:"\\coth^{-1} a"},{value:"\\operatorname{sech}^{-1} a"},{value:"\\operatorname{csch}^{-1} a"}]}]},{name:"\u79EF\u5206\u8FD0\u7B97",value:"\\int_{a}^{b}",children:[{name:"\u79EF\u5206 Integral",data:[{value:"\\int"},{value:"\\int_{a}^{b}"},{value:"\\int\\limits_{a}^{b}"}]},{name:"\u53CC\u91CD\u79EF\u5206 Double integral",data:[{value:"\\iint"},{value:"\\iint_{a}^{b} "},{value:"\\iint\\limits_{a}^{b} "}]},{name:"\u4E09\u91CD\u79EF\u5206 Triple integral",data:[{value:"\\iiint"},{value:"\\iiint_{a}^{b}"},{value:"\\iiint\\limits_{a}^{b} "}]},{name:"\u66F2\u7EBF\u79EF\u5206 Closed line or path integral",data:[{value:"\\oint"},{value:"\\oint_{a}^{b} "}]}]},{name:"\u5927\u578B\u8FD0\u7B97",value:"\\sum_{a}^{b}",children:[{name:"\u6C42\u548C Summation",data:[{value:"\\sum"},{value:"\\sum_{a}^{b}"},{value:"{\\textstyle \\sum_{a}^{b}} "}]},{name:"\u4E58\u79EF\u4F59\u79EF Product and coproduct",data:[{value:"\\prod"},{value:"\\prod_{a}^{b}"},{value:"{\\textstyle \\prod_{a}^{b}}"},{value:"\\coprod"},{value:"\\coprod_{a}^{b}"},{value:"{\\textstyle \\coprod_{a}^{b}} "}]},{name:"\u5E76\u96C6\u4EA4\u96C6 Union and intersection",data:[{value:"\\bigcup"},{value:"\\bigcup_{a}^{b}"},{value:"{\\textstyle \\bigcup_{a}^{b}}"},{value:"\\bigcap"},{value:"\\bigcap_{a}^{b}"}]},{name:"\u6790\u53D6\u5408\u53D6 Disjunction and conjunction",data:[{value:"\\bigvee"},{value:"\\bigvee_{a}^{b}"},{value:"\\bigwedge"},{value:"\\bigwedge_{a}^{b}"}]}]},{name:"\u62EC\u53F7\u53D6\u6574",value:"\\left [ \\left ( \\right ) \\right ] ",children:[{name:"\u62EC\u53F7 Brackets",data:[{value:"\\left ( \\right )"},{value:"\\left [ \\right ]"},{value:"\\left \\langle \\right \\rangle "},{value:"\\left | \\right | "},{value:"\\left \\lfloor \\right \\rfloor "},{value:"\\left \\lceil \\right \\rceil "}]}]}],Ee=[{name:"\u4EE3\u6570",value:"\\sqrt{a^2+b^2}",children:[{data:[{value:"\\left(x-1\\right)\\left(x+3\\right) "},{value:"\\sqrt{a^2+b^2}"},{value:"\\left ( \\frac{a}{b}\\right )^{n}= \\frac{a^{n}}{b^{n}}"},{value:"\\frac{a}{b}\\pm \\frac{c}{d}= \\frac{ad \\pm bc}{bd} "},{value:"\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 "},{value:"\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0 "},{value:"\\sqrt[n]{a^{n}}=\\left ( \\sqrt[n]{a}\\right )^{n} "},{value:"x ={-b \\pm \\sqrt{b^2-4ac}\\over 2a} "},{value:"y-y_{1}=k \\left( x-x_{1}\\right) "},{value:`\\left\\{\\begin{matrix} \r x=a + r\\text{cos}\\theta \\ \r y=b + r\\text{sin}\\theta \r \\end{matrix}\\right. `},{value:`\\begin{array}{l} \r @@ -946,14 +946,14 @@ `;for(let Mr=0;Mr{switch(ao){case Di:return Fe.createElement(Si,{callback:Sr,onCancel:ou});case ts:return Fe.createElement(_r.Z,{callback:Sr,onCancel:ou});case Ei:return Fe.createElement(zr.Z,{callback:Sr,onCancel:ou});case Kr:return Fe.createElement(Ci,{callback:Sr,onCancel:ou});case Bs:return Fe.createElement(ws,{callback:Sr,onCancel:ou});case"maths-latex":return Fe.createElement(Ss,{showSaveButton:!0,callback:Sr});case"inline-latex":return Fe.createElement(Sn.Z,{showSaveButton:!0,callback:Sr});default:return null}},[ao]);function ou(){ul("")}(0,Fe.useEffect)(()=>{if(Gl.current){let Ro=function(mn){Ut=!0,Qt=mn.pageY},Ye=function(){Ut=!1},Ft=function(mn){if(Ut){let Bn=mn.pageY-Qt;Bn<0&&(Bn=0),Bn>300&&(Bn=300);let Rn=wn+Bn+"px";Ma(Rn)}},pt=Gl.current,Ut=!1,Qt=0;return pt.addEventListener("mousedown",Ro),document.addEventListener("mousemove",Ft),document.addEventListener("mouseup",Ye),()=>{pt.removeEventListener("mousedown",Ro),document.removeEventListener("mousemove",Ft),document.removeEventListener("mouseup",Ye)}}},[Ii,Gl]),(0,Fe.useEffect)(()=>{Ma(wn)},[wn]);const hc=Li(_t),Yu=Li(js),ed={width:hc,height:Yu},Ud=(0,Fe.useMemo)(()=>{if(Qs){let Ro=new Date(Qs),Ye=Ro.getHours(),Ft=Ro.getMinutes(),pt=Ro.getSeconds();return Ye=Ye<10?"0"+Ye:Ye,Ft=Ft<10?"0"+Ft:Ft,pt=pt<10?"0"+pt:pt,`${Ye}:${Ft}:${pt}`}return 0},[Qs]),Af=Ro=>{const Ye=[];if(Ki){let Ft=-1;Ro=Ro.replace(/(@▁▁@|@▁@)/g,function(pt,Ut,Qt){Ye.push({multiLine:pt!==gl})})}return Ye};function pv(){window.sessionStorage.removeItem(na),$n(!1),ml(0)}function _p(){$n(!1),ml(0),Ii.setValue(window.sessionStorage.getItem(na))}(0,Fe.useEffect)(()=>{Nn[ao]&&ao!==oo&&ao!==Kr&&setTimeout(()=>{const Ro=document.getElementsByClassName("markdown-popup-form")[0],Ye=window.innerWidth/2-Ro.offsetWidth/2,Ft=window.innerHeight/2-Ro.offsetHeight/2;ei(Ye),Dc(Ft)},0)},[ao]);const Cl=Ro=>{Ro.preventDefault();const Ye=Ro.clientX-Pl,Ft=Ro.clientY-el;document.body.onmousemove=pt=>{let Ut=pt.clientX-Ye,Qt=pt.clientY-Ft;const mn=document.getElementsByClassName("markdown-popup-form")[0],Bn=window.innerWidth-mn.offsetWidth,Rn=window.innerHeight-mn.offsetHeight;Ut=Math.max(0,Math.min(Ut,Bn)),Qt=Math.max(0,Math.min(Qt,Rn)),Mu(pt.clientX,pt.clientY,Ye,Ft)&&(ei(Ut),Dc(Qt))},document.body.onmouseup=function(){document.body.onmousemove=null}},Mu=(Ro,Ye,Ft,pt)=>{const Ut=document.body.clientHeight,Qt=document.body.clientWidth;return Ro<20&&Ft>Ro||Ro>Qt-20&&FtYe||Ye>Ut-20&&ptbt in Bt?Gt(Bt,bt,{enumerable:!0,configurable:!0,writable:!0,value:ln}):Bt[bt]=ln,Ae=(Bt,bt)=>{for(var ln in bt||(bt={}))ue.call(bt,ln)&&Ee(Bt,ln,bt[ln]);if(Ke)for(var ln of Ke(bt))ce.call(bt,ln)&&Ee(Bt,ln,bt[ln]);return Bt},Be=(Bt,bt)=>an(Bt,gn(bt));const{useForm:Ne}=Fe.default,Ue={width:280,marginRight:10},nt={labelCol:{span:5},wrapperCol:{span:19}};var ft=({callback:Bt,onCancel:bt})=>{const[ln]=Ne();let Kt=(0,$t.useRef)();function ni(di){Kt.current.width=ln.getFieldValue("width"),Kt.current.align=ln.getFieldValue("align"),Bt(di,Kt.current)}function pn(di,Ln){if(di.status===-1){xt.ZP.error(di.message);return}ln.setFieldsValue({src:`/api/attachments/${di.id}`,type:Ln.type})}function ci(di){let Ln=di.target.files[0];Kt.current=Ln,Nt(Ln,pn)}return $e.createElement(Fe.default,Be(Ae({form:ln},nt),{className:"upload-image-panel",onFinish:ni,style:{width:470,overflow:"hidden"}}),$e.createElement(Fe.default.Item,{label:"\u56FE\u7247\u5730\u5740",required:!0},$e.createElement("div",{className:"flex-container"},$e.createElement(Fe.default.Item,{noStyle:!0,name:"src",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u56FE\u7247\u5730\u5740"}]},$e.createElement(jt.default,{style:Ue})),$e.createElement(St,{onFileChange:ci}))),$e.createElement(Fe.default.Item,{label:"\u56FE\u7247\u63CF\u8FF0",name:"alt"},$e.createElement(jt.default,{style:{width:264}})),$e.createElement(Fe.default.Item,{label:"\u56FE\u7247\u5BBD\u5EA6",name:"width"},$e.createElement(kt.Z,null,$e.createElement(Fe.default.Item,{name:"width",style:{margin:0}},$e.createElement(It.Z,{style:{width:264}})),$e.createElement("span",{className:"ml8"},"%"))),$e.createElement(Fe.default.Item,{label:"\u5BF9\u9F50\u65B9\u5F0F",name:"align"},$e.createElement(zt.ZP.Group,{name:"align",defaultValue:1,options:[{value:"left",label:"\u5DE6\u5BF9\u9F50"},{value:"center",label:"\u5C45\u4E2D\u5BF9\u9F50"},{value:"right",label:"\u53F3\u5BF9\u9F50"}]})),$e.createElement("aside",null,$e.createElement(Fe.default.Item,{style:{textAlign:"right",position:"relative",right:-98}},$e.createElement(wt.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),$e.createElement(wt.ZP,{type:"default",onClick:bt},"\u53D6\u6D88"))))};function St({onFileChange:Bt}){return $e.createElement("label",{className:"upload-button",style:{cursor:"pointer"}},"\u672C\u5730\u4E0A\u4F20",$e.createElement("input",{type:"file",onChange:Bt}))}function Nt(Bt,bt){if(!Bt)throw new String("\u6CA1\u6709\u6587\u4EF6");let ln=new FormData;ln.append("editormd-image-file",Bt),ln.append("file_param_name","editormd-image-file"),ln.append("byxhr","true");var Kt=new window.XMLHttpRequest;Kt.withCredentials=!0,Kt.addEventListener("load",function(ni){bt(JSON.parse(ni.target.responseText),Bt)},!1),Kt.addEventListener("error",function(ni){console.error(ni)},!1),Kt.open("POST",`${en.KI}/api/attachments.json`),Kt.send(ln)}},91558:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return jt}});var Fe=Je(59301),xt=Je(4676);class jt extends Fe.Component{constructor(It){super(It);const zt=window.document;this.node=zt.createElement("div"),zt.body.appendChild(this.node)}render(){const{children:It}=this.props;return(0,xt.createPortal)(It,this.node)}componentWillUnmount(){window.document.body.removeChild(this.node)}}},37808:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return xt}});var Fe=Je(59301);function xt(jt,kt){const It=(0,Fe.useRef)();(0,Fe.useEffect)(()=>{It.current=jt}),(0,Fe.useEffect)(()=>{function zt(){It.current()}if(kt!==null){let wt=setInterval(zt,kt);return()=>clearInterval(wt)}},[kt])}},48716:function(qt,xi,Je){"use strict";Je.d(xi,{Q8:function(){return Et},d0:function(){return Si},w6:function(){return Ht}});var Fe=Je(59301),xt=Je(16326),jt=Je(82326),kt=Je(6767),It=Je(62957),zt=Je(47889),wt=Je(77019),en=Je(5269),$t=Je(25399),$e=Je(62673),Gt=Je(99571),an=Je(61186),gn=Je.n(an),Ke=Je(48790),ue=Je(38986),ce=Je(89392),Ee=Je.n(ce),Ae=Je(51257),Be=Je(22982),Ne=Je(25690),Ue=Je(43155),nt=Je(40197),ft=Je(59229),St=Je(3039),Nt=Je(75736),Bt=Je(59301),bt=Object.defineProperty,ln=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,ni=Object.getOwnPropertySymbols,pn=Object.prototype.hasOwnProperty,ci=Object.prototype.propertyIsEnumerable,di=(Vn,zi,on)=>zi in Vn?bt(Vn,zi,{enumerable:!0,configurable:!0,writable:!0,value:on}):Vn[zi]=on,Ln=(Vn,zi)=>{for(var on in zi||(zi={}))pn.call(zi,on)&&di(Vn,on,zi[on]);if(ni)for(var on of ni(zi))ci.call(zi,on)&&di(Vn,on,zi[on]);return Vn},si=(Vn,zi)=>ln(Vn,Kt(zi)),gr=(Vn,zi,on)=>new Promise((Wt,zn)=>{var br=We=>{try{vt(on.next(We))}catch(je){zn(je)}},uo=We=>{try{vt(on.throw(We))}catch(je){zn(je)}},vt=We=>We.done?Wt(We.value):Promise.resolve(We.value).then(br,uo);vt((on=on.apply(Vn,zi)).next())});function Ht(Vn,zi){const on=[];for(let Wt=Vn;Wt{const Wt=Vngn()(zi).endOf("day"),br=Vn{const on=parseInt(gn()(Vn).format("HH")),Wt=parseInt(gn()().format("HH")),zn=parseInt(gn()().format("mm"));if(!Vn)return{disabledHours:()=>Ht(0,Wt),disabledMinutes:()=>Ht(0,zn)};if(zi){const br=parseInt(gn()(zi).format("HH")),uo=parseInt(gn()(zi).format("mm"));return gn()(Vn).isSame(gn()(zi),"day")?{disabledHours:()=>Ht(0,br),disabledMinutes:()=>on<=br?Ht(0,uo):[]}:void 0}if(gn()(Vn).isSame(gn()(),"day"))return{disabledHours:()=>Ht(0,Wt),disabledMinutes:()=>gn()(Vn).isSame(gn()(),"hour")&&on<=Wt?Ht(0,zn):[]}},_r=(Vn,zi)=>Vn==null?void 0:Vn.map(on=>{var Wt;return(Wt=zi==null?void 0:zi.find(zn=>zn.value===on))==null?void 0:Wt.id}),{RangePicker:zr}=xt.default,{Option:Fn}=jt.default,An=({shixunHomeworks:Vn,loading:zi,dispatch:on,classroomList:Wt,user:zn})=>{var br,uo,vt,We,je,ct,Pt,qe,Hn;const Ci=(0,Ne.useParams)(),{workSetting:gi,workList:ps,shixunWorkList:$r,headerInfo:Ji,changeData:ws}=Vn,[Gr,Ms]=(0,Fe.useState)(!1),[$a,mo]=(0,Fe.useState)(!1);let[Ss,Sn]=(0,Fe.useState)([]),[wi,Di]=(0,Fe.useState)([]),[Ei,Kr]=(0,Fe.useState)({unified_setting:!1,publish_time:"",end_time:"",allow_late:!1,unified_late:!0,late_time:"",late_penalty:0,penalty_type:Ue.Q.Percent,challenge_settings:[],work_efficiency:!1,shixun_evaluation:"",answer_open_evaluation:!1,answer_public:!1,score_open:!1,comment_public:!0,total_score:"",eff_score:0,action_analysis:!1,work_end_forbid_evaluate:!1});const[oo,vo]=(0,Fe.useState)({}),[ts,Bs]=(0,Fe.useState)({});(0,Fe.useEffect)(()=>()=>{Sn([])},[]),(0,Fe.useEffect)(()=>{Ms(!(0,Ke.GJ)())},[(0,Ke.GJ)()]);const vr=()=>{on({type:"shixunHomeworks/getWorkSetting",payload:Ln({},Ci)})};(0,Fe.useEffect)(()=>{if(!(gi!=null&&gi.course_id))return;Object.keys(Ei).map(function(Li){Ei[Li]=gi[Li]}),(!Ei.allow_late||!Ei.unified_late)&&(Ei.late_penalty=20,Ei.penalty_type=Ue.Q.Percent),Ei.unified_setting||(Ei.unified_late=!1,Ei.unified_anonymous_comment=!1,Ei.unified_anonymous_appeal=!1),Ss=JSON.parse(JSON.stringify(gi.group_settings.map(Li=>si(Ln({},Li),{group_name:[Li.group_name]})).filter(Li=>Li.publish_time!==null))),wi=JSON.parse(JSON.stringify(gi.allow_late_settings.map(Li=>si(Ln({},Li),{group_name:[Li.group_name]})).filter(Li=>Li.late_time!==null))),Kr(Ln({},Ei));const Fi=(0,Ae.QE)((Ss==null?void 0:Ss.length)>0?Ss:[]);Sn([...Fi]),(wi==null?void 0:wi.length)<=0?Di([{penalty_type:Ue.Q.Percent,late_penalty:20}]):Di([...wi])},[gi]);const ta=()=>gr(void 0,null,function*(){var Fi,Li;if(((Fi=zn==null?void 0:zn.userInfo)==null?void 0:Fi.user_status)===2){(0,nt.Rd)();return}const Ws=JSON.parse(JSON.stringify(Ei));if(Ws.challenge_settings.filter(hr=>!hr.hide),Ws.categoryId=Ci.categoryId,(Li=Ws.challenge_settings)!=null&&Li.every(hr=>!hr.checked)){kt.ZP.warning("\u5173\u5361\u4E0D\u80FD\u5168\u90E8\u8BBE\u7F6E\u4E3A\u53EF\u4E0D\u505A");return}if(console.log(Ss),!Ei.unified_setting)Ss=Ss==null?void 0:Ss.map(hr=>{var Nn;if(!hr.publish_time||!hr.end_time)throw kt.ZP.error("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!hr.group_name)throw kt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return hr.group_name=typeof(hr==null?void 0:hr.group_name)=="string"?[hr==null?void 0:hr.group_name]:hr==null?void 0:hr.group_name,hr.group_id=(Nn=gi.group_settings)==null?void 0:Nn.filter(ri=>{var fn;return(fn=hr==null?void 0:hr.group_name)==null?void 0:fn.includes(ri.group_name)}).map(ri=>ri.group_id||ri.id).toString().split(","),hr});else if(!Ei.publish_time||!Ei.end_time)throw kt.ZP.error("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A"),new String("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A");if(Ws.group_settings=Ss,Ei.allow_late)if(Ei.unified_late){if(Ei.late_penalty===null||Ei.late_penalty===void 0||Ei.late_penalty<0||Ei.late_penalty>100)throw kt.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!Ei.late_time)throw kt.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574")}else wi=wi==null?void 0:wi.map(hr=>{var Nn,ri;if(hr.late_penalty===null||hr.late_penalty===void 0||hr.late_penalty<0||hr.late_penalty>100)throw kt.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!hr.late_time)throw kt.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!hr.group_name)throw kt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return hr.group_name=typeof(hr==null?void 0:hr.group_name)=="string"?[hr==null?void 0:hr.group_name]:hr==null?void 0:hr.group_name,hr.group_id=(ri=(Nn=hr==null?void 0:hr.group_name)==null?void 0:Nn.map(fn=>{var yn,_t;let wn=(_t=(yn=gi.group_settings)==null?void 0:yn.filter(pr=>(pr==null?void 0:pr.group_name)===fn))==null?void 0:_t[0];return wn==null?void 0:wn.group_id}))==null?void 0:ri.toString().split(","),hr}),Ws.allow_late_settings=wi;let co=yield(0,Nt.Tr)({homework_common_ids:[parseInt(Ci.categoryId)],course_id:Ci.coursesId,type:"homework_common"});(co==null?void 0:co.student_count)===0?ba(Ws):(Bs(Ws),vo(co))}),ba=Fi=>{var Li;if(Fi.total_score===null){kt.ZP.warning("\u603B\u5206\u503C\u4E0D\u80FD\u4E3A\u7A7A");return}if(Fi!=null&&Fi.work_efficiency&&Fi.eff_score===null){kt.ZP.warning("\u6548\u7387\u5206\u4E0D\u80FD\u4E3A\u7A7A");return}const Ws=Fi.challenge_settings.reduce((Nn,ri)=>Nn+Number(ri.challenge_score),0);if((Ws==null?void 0:Ws.toFixed(10))!==((Li=Fi.total_score-Fi.eff_score)==null?void 0:Li.toFixed(10))){kt.ZP.warning(`\u6548\u7387\u5206\u52A0\u5173\u5361\u4EFB\u52A1\u603B\u5206\u5FC5\u987B\u7B49\u4E8E\u603B\u5206\u503C\uFF1A${Fi.total_score}\u5206`);return}const co={shixun_evaluation:Fi.shixun_evaluation,challenge_settings:Fi.challenge_settings};let hr=()=>{var Nn;const ri=()=>gr(void 0,null,function*(){mo(!0),(yield(0,ue.ZP)(`/api/homework_commons/${Ci.categoryId}/publish_setting.json`,{method:"post",body:Ln({},Fi)})).status===0&&(kt.ZP.success("\u66F4\u65B0\u6210\u529F"),vr(),on({type:"shixunHomeworks/getShixunWorkHeadInfo",payload:Ln({},Ci)})),mo(!1)});!(0,ce.isEqual)(ws,co)&&!((Nn=Ji==null?void 0:Ji.homework_status)!=null&&Nn.includes("\u672A\u53D1\u5E03"))?It.default.confirm({title:"\u66F4\u65B0\u6210\u7EE9",content:"\u60A8\u6539\u52A8\u4E86\u672C\u6B21\u4F5C\u4E1A\u7684\u5173\u5361\u5F97\u5206\u8BBE\u7F6E\uFF0C\u8FD9\u53EF\u80FD\u5BFC\u81F4\u5DF2\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\u7684\u6210\u7EE9\u4EA7\u751F\u9519\u8BEF\u3002\u70B9\u51FB\u201C\u786E\u5B9A\u201D\u6309\u94AE\u5C06\u4FDD\u5B58\u6700\u65B0\u8BBE\u7F6E\u5E76\u6309\u6700\u65B0\u8BBE\u7F6E\u66F4\u65B0\u5168\u73ED\u6210\u7EE9\u3002",okText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88",onOk:ri}):ri()};gi!=null&&gi.high_resources_consume&&!(gi!=null&&gi.high_resources_consume_permission)?on({type:"classroomList/setActionTabs",payload:{key:"\u6388\u6743\u4F7F\u7528",id:Ci.coursesId,type:"shixun",type_id:Ci.categoryId,name:gi.homework_name,fn:()=>{hr()}}}):hr()},ua=(Fi,Li,Ws="group_id")=>{var co;return Li?Li.find(hr=>hr[Ws]===Fi):(co=gi==null?void 0:gi.group_settings)==null?void 0:co.find(hr=>hr.group_id[0]===Fi)},Ps=(gi==null?void 0:gi.allow_late)||(gi==null?void 0:gi.anonymous_comment),Na=Fi=>{var Li,Ws;const co=ua(Fi,gi==null?void 0:gi.allow_late_settings,"id"),hr=ua(Fi,gi==null?void 0:gi.anonymous_comment_settings),Nn=ua(Fi);return(gi==null?void 0:gi.allow_late)&&co&&gn()(co==null?void 0:co.late_time)<=gn()()||(gi==null?void 0:gi.anonymous_comment)&&hr&&(hr==null?void 0:hr.evaluation_start)!==null||((Ws=(gn()(Nn==null?void 0:Nn.end_time)<=gn()()&&((Li=gi==null?void 0:gi.allow_late_settings)==null?void 0:Li.filter(ri=>ri.group_id.includes(Fi))))[0])==null?void 0:Ws.late_time)!=null},Xs=(0,Fe.useMemo)(()=>(gi==null?void 0:gi.allow_late)||(gi==null?void 0:gi.all_group_late),[gi,Ji]),os=gi==null?void 0:gi.anonymous_comment,gl=Fi=>{if(!Fi)return!1;const Li=ua(Fi,gi==null?void 0:gi.anonymous_comment_settings);return(gi==null?void 0:gi.anonymous_comment)&&Li&&(Li==null?void 0:Li.evaluation_start)!==null},Ve=(Fi,Li)=>{var Ws,co,hr,Nn,ri;Fi!=null&&Fi.group_id||(Fi.group_id=_r(Fi==null?void 0:Fi.group_name,gi==null?void 0:gi.group_settings)),on({type:"classroomList/setActionTabs",payload:{key:"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",data:Fi,index:Li,rangePickerDisabled:(co=(Ws=Fi==null?void 0:Fi.group_id)==null?void 0:Ws[0])!=null&&co.publish_time?Gr||(gn()()<=gn()((Nn=ua((hr=Fi==null?void 0:Fi.group_id)==null?void 0:hr[0]))==null?void 0:Nn.publish_time)?!1:[!0,Na((ri=Fi==null?void 0:Fi.group_id)==null?void 0:ri[0])]):!1,disabledDate:gi==null?void 0:gi.course_end_date}})};return Bt.createElement("section",{className:Be.Z.form},Bt.createElement("div",{className:Be.Z.title},"\u4F5C\u4E1A\u53D1\u5E03",Bt.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u4F5C\u4E1A\u4E00\u65E6\u53D1\u5E03\u540E\u4E0D\u53EF\u53D8\u66F4\u8BD5\u9898\u53D1\u5E03\u6A21\u5F0F\uFF09")),Bt.createElement("div",null,Bt.createElement("div",{style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Bt.createElement(zt.ZP.Group,{disabled:Gr||!((br=Ji==null?void 0:Ji.homework_status)!=null&&br.includes("\u672A\u53D1\u5E03"))||(0,Ke.Rm)()&&!((uo=Wt.AssistantObject.practice)!=null&&uo.can_publish),value:Ei.unified_setting,onChange:Fi=>{var Li;if(!((Li=Ji==null?void 0:Ji.homework_status)!=null&&Li.includes("\u672A\u53D1\u5E03"))){kt.ZP.error("\u5DF2\u53D1\u5E03\uFF0C\u4E0D\u80FD\u518D\u4FEE\u6539\u7EDF\u4E00\u8BBE\u7F6E");return}if(Ei.unified_setting=!Ei.unified_setting,Ei.unified_setting||(Ei.unified_late=!1,Di([{late_penalty:5}])),Kr(Object.assign({},Ei)),Ei.unified_setting===!1&&Ss==""){Sn(Ss.concat({}));return}Ei.unified_setting&&(Sn([]),Di([{late_penalty:5}]))}},Bt.createElement(zt.ZP,{value:!0,disabled:Gr||!(gi!=null&&gi.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u53D1\u5E03"),Bt.createElement(zt.ZP,{disabled:Gr||!((vt=gi==null?void 0:gi.group_settings)!=null&&vt.length),value:!1},"\u5206\u73ED\u53D1\u5E03")),((We=gi==null?void 0:gi.group_settings)==null?void 0:We.length)===0&&Bt.createElement("div",{style:{color:"rgba(0, 0, 0, 0.25)",height:"22px"}},"\uFF08\u672C\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03\u201C\uFF09")),Ei.unified_setting&&Bt.createElement("div",{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",height:"50px",marginTop:"1px"}},Bt.createElement(wt.Z,{align:"middle"},Bt.createElement(en.Z,{style:{marginLeft:"23px"}},"\u53D1\u5E03\u65F6\u95F4"),Bt.createElement(en.Z,{className:"ml10"},Bt.createElement(xt.default,{size:"large",disabled:Gr||!((je=Ji==null?void 0:Ji.homework_status)!=null&&je.includes("\u672A\u53D1\u5E03")||(ct=Ji==null?void 0:Ji.homework_status)!=null&&ct.includes("\u672A\u5F00\u59CB"))||(0,Ke.Rm)()&&!((Pt=Wt.AssistantObject.practice)!=null&&Pt.can_publish),style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm"},allowClear:!1,format:"YYYY-MM-DD HH:mm",disabledDate:Fi=>Et(Fi,gi==null?void 0:gi.course_end_date),disabledTime:Fi=>Si(Fi),value:Ei.publish_time?gn()(Ei.publish_time):"",onChange:(Fi,Li)=>{Ei.publish_time=Li,(Ei.end_time==""||!Ei.end_time)&&Ei.unified_setting&&(Ei.end_time=gn()(Fi).add(7,"days").format("YYYY-MM-DD HH:mm:ss")),Kr(Object.assign({},Ei))}}))),Bt.createElement(wt.Z,{align:"middle",className:"pl30"},Bt.createElement(en.Z,null,"\u622A\u6B62\u65F6\u95F4"),Bt.createElement(en.Z,{className:"ml10"},Bt.createElement(xt.default,{size:"large",style:{width:170},allowClear:!1,placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:gn()((0,Ae.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:(gi==null?void 0:gi.allow_late)&&(gi==null?void 0:gi.homework_status.includes("\u5DF2\u622A\u6B62"))||Gr||(gi==null?void 0:gi.allow_late)&&gn()()>=gn()(gi==null?void 0:gi.end_time)||(0,Ke.Rm)()&&!((qe=Wt.AssistantObject.practice)!=null&&qe.can_publish),disabledDate:Fi=>Et(Fi,gi==null?void 0:gi.course_end_date,Ei.publish_time),disabledTime:Fi=>Si(Fi,Ei.publish_time),value:Ei.end_time?gn()(Ei.end_time):"",onChange:(Fi,Li)=>{Ei.end_time=Li,Kr(Object.assign({},Ei))}})))),!Ei.unified_setting&&(Ss==null?void 0:Ss.length)>0&&Bt.createElement(wt.Z,{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",marginTop:"1px"}},Ss&&Ss.map(function(Fi,Li){var Ws,co,hr,Nn,ri,fn,yn;return Bt.createElement(en.Z,{span:24,key:Li},Bt.createElement(wt.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:Li==(Ss==null?void 0:Ss.length)-1?"0px":"10px"}},Bt.createElement("div",{style:{minWidth:85,marginRight:"15px",textAlign:"right"}},"\u53D1\u5E03\u89C4\u5219",Li+1),Bt.createElement(jt.default,{disabled:Gr||((Ws=Ji==null?void 0:Ji.homework_status)!=null&&Ws.includes("\u672A\u53D1\u5E03")&&Fi.id||gn()(){var wn;if((0,Ke.Rm)()&&!((wn=Wt.AssistantObject.practice)!=null&&wn.can_publish)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ss[Li].group_name=_t,Ss[Li].group_id=Fi.group_id;const pr=(0,ce.flattenDeep)(Ss.map(yo=>yo.group_name)),Lr=wi.map(yo=>{let Jn=(yo==null?void 0:yo.group_name)||[];return si(Ln({},yo),{group_name:(0,ce.remove)(Jn,xr=>pr.includes(xr))})});Di(Lr),Sn(Ss.slice())},maxTagCount:4,maxTagPlaceholder:_t=>Bt.createElement("div",{style:{cursor:"pointer"},onClick:()=>Ve(Fi,Li)},"+",_t==null?void 0:_t.length)},gi.group_settings&&gi.group_settings.map(function(_t){if(!Ss.map(pr=>pr.group_name).flat().includes(_t.group_name))return Bt.createElement(Fn,{value:_t.group_name,key:_t.id},_t.group_name)})),Bt.createElement("div",{className:"ml20"},Bt.createElement(zr,{size:"large",ranges:{\u6B64\u523B:[Fi.publish_time?gn()(Fi.publish_time):gn()(),gn()()]},allowClear:!1,disabled:Gr||(gn()()<=gn()((Nn=ua((hr=Fi==null?void 0:Fi.group_id)==null?void 0:hr[0]))==null?void 0:Nn.publish_time)?!1:[!0,Na((ri=Fi==null?void 0:Fi.group_id)==null?void 0:ri[0])]),style:{width:605},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:_t=>Et(_t,gi==null?void 0:gi.course_end_date),disabledTime:_t=>Si(_t),showTime:{showNow:!0,format:"HH:mm",defaultValue:[gn()((0,Ae.U6)(),"HH:mm"),gn()((0,Ae.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:[Fi.publish_time?gn()(Fi.publish_time):void 0,Fi.end_time?gn()(Fi.end_time):void 0],onChange:(_t,wn)=>{var pr;if((0,Ke.Rm)()&&!((pr=Wt.AssistantObject.practice)!=null&&pr.can_publish)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ss[Li].publish_time=wn[0],!Fi.end_time&&wn[0]?Ss[Li].end_time=gn()(wn[0]).add(7,"days"):Ss[Li].end_time=wn[1],Sn([...Ss])},onCalendarChange:(_t,wn,pr)=>{if(wn!=null&&wn[0]&&!wn[1]){const Lr=gn()(wn[0]).add(7,"days");Ss[Li].publish_time=wn[0],Ss[Li].end_time=Lr,Sn([...Ss])}}})),!Gr&&Bt.createElement("div",{style:{display:"flex",width:"50px"}},((fn=Fi==null?void 0:Fi.group_id)==null?void 0:fn.length)>1&&Bt.createElement($t.Z,{title:"\u89C4\u5219\u62C6\u5206"},Bt.createElement("i",{className:"iconfont icon-chaifen ml10",style:{cursor:"pointer",color:"#3061d0"},onClick:()=>Ve(Fi,Li)})),Ss.length<((yn=gi==null?void 0:gi.group_settings)==null?void 0:yn.length)&&Bt.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var _t;if((0,Ke.Rm)()&&!((_t=Wt.AssistantObject.practice)!=null&&_t.can_publish)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Sn(Ss.concat({}))}}),((Fi==null?void 0:Fi.publish_time)&&gn()(){const _t=(0,ce.cloneDeep)(wi);_t.forEach((wn,pr)=>{wn.group_name&&(wn.group_name=wn.group_name.filter(Lr=>{var yo;return!((yo=Ss[Li].group_name)!=null&&yo.includes(Lr))}))}),Ss=Ss.filter((wn,pr)=>Li!==pr),Di(_t),Sn(Ss.slice()),setTimeout(()=>Sn(Ss.slice()),10)}}))))}))),Bt.createElement(wt.Z,null,Bt.createElement(en.Z,null,Bt.createElement("div",{className:Be.Z.title,style:{marginTop:"30px"}},"\u8865\u4EA4\u8BBE\u7F6E",Bt.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u53EF\u5BF9\u5728\u4F5C\u4E1A\u53D1\u5E03\u65F6\u95F4\u8303\u56F4\u5185\u672A\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\uFF0C\u5EF6\u957F\u65F6\u95F4\u8FDB\u884C\u8865\u4EA4\uFF09"))),Bt.createElement(en.Z,{span:24,style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Bt.createElement($e.default,{checked:Ei.allow_late,disabled:Gr||Xs,onChange:Fi=>{var Li;if((0,Ke.Rm)()&&!((Li=Wt.AssistantObject.practice)!=null&&Li.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Fi.target.checked&&It.default.warning({title:"\u5F00\u542F\u8865\u4EA4\u63D0\u793A",centered:!0,width:480,content:Bt.createElement("div",{style:{padding:10,background:"#f5f6f9"}},Bt.createElement("div",null,"1.\u5F00\u542F\u8865\u4EA4\u540E\u4E0D\u53EF\u5173\u95ED\uFF0C\u8865\u4EA4\u65B9\u5F0F\u63D0\u4EA4\u4FDD\u5B58\u540E\u4E0D\u53EF\u4FEE\u6539\uFF1B"),Bt.createElement("div",null,"2.\u8865\u4EA4\u622A\u6B62\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\uFF1B"),Bt.createElement("div",null,"3.\u73ED\u7EA7\u9636\u6BB5\u8FDB\u5165\u201C\u8865\u4EA4\u4E2D\u201D\u5219\u4E0D\u53EF\u53D8\u66F4\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\u3002"))}),Ei.allow_late=!Ei.allow_late,wi==""&&Di([{late_penalty:5}]),Kr(Object.assign({},Ei))}},Bt.createElement("strong",null,"\u5F00\u542F\u8865\u4EA4")))),(Ei==null?void 0:Ei.allow_late)&&Bt.createElement("div",{style:{background:"#F6F7F9",padding:"10px 30px",marginTop:"1px",color:"#666666"}},Bt.createElement("div",{style:{display:"flex"}},Bt.createElement("div",{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u65B9\u5F0F"),Bt.createElement(zt.ZP.Group,{style:{marginLeft:"20px"},disabled:Gr||(gi==null?void 0:gi.anonymous_comment)||(gi==null?void 0:gi.allow_late),value:Ei.unified_late,onChange:Fi=>{var Li;if((0,Ke.Rm)()&&!((Li=Wt.AssistantObject.practice)!=null&&Li.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ei.unified_late=Fi.target.value,wi==""&&!Fi.target.value&&Di([{penalty_type:Ue.Q.Percent,late_penalty:20}]),Kr(Ln({},Ei))}},(Ei==null?void 0:Ei.unified_setting)&&Bt.createElement(zt.ZP,{value:!0,disabled:!(gi!=null&&gi.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u8865\u4EA4"),((Hn=gi==null?void 0:gi.group_settings)==null?void 0:Hn.length)>0&&Bt.createElement(zt.ZP,{value:!1},"\u5206\u73ED\u8865\u4EA4"))),Ei!=null&&Ei.unified_late?Bt.createElement(Bt.Fragment,null,Bt.createElement(wt.Z,{align:"middle",style:{marginTop:"10px"}},Bt.createElement(en.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u6263\u5206"),Bt.createElement(en.Z,{className:"ml20"},Bt.createElement(Ue.Z,{disabled:Gr||os,value:{type:Ei.penalty_type,inputValue:Ei.late_penalty},onChange:Fi=>{var Li;if((0,Ke.Rm)()&&!((Li=Wt.AssistantObject.practice)!=null&&Li.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Kr(si(Ln({},Ei),{late_penalty:Fi.inputValue,penalty_type:Fi.type}))}})),Bt.createElement(en.Z,{flex:"1",className:"ml5"},Bt.createElement("span",{className:"c-grey-c ml10"},Ei.penalty_type===Ue.Q.Number?"(\u8865\u4EA4\u65F6\u6309\u7167\u5B66\u751F\u603B\u6210\u7EE9\u6263\u5206)":"(\u5B66\u751F\u6700\u7EC8\u5F97\u5206=\u8865\u4EA4\u524D\u5F97\u5206+\u8865\u4EA4\u9636\u6BB5\u589E\u52A0\u7684\u5206\u503C*\uFF08100%-\u767E\u5206\u6BD4%\uFF09)"))),Bt.createElement(wt.Z,{align:"middle",style:{marginTop:"15px"}},Bt.createElement(en.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Bt.createElement(en.Z,{className:"ml20"},Bt.createElement(xt.default,{size:"large",allowClear:!1,style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:gn()((0,Ae.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:Gr||os,value:Ei.late_time?gn()(Ei.late_time):"",disabledDate:Fi=>Et(Fi,gi==null?void 0:gi.course_end_date),onChange:(Fi,Li)=>{var Ws;if((0,Ke.Rm)()&&!((Ws=Wt.AssistantObject.practice)!=null&&Ws.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ei.late_time=Li,Kr(Object.assign({},Ei))}})))):wi.map(function(Fi,Li){var Ws;return Bt.createElement(en.Z,{span:24,key:Li},Bt.createElement(wt.Z,{style:{display:"flex",alignItems:"center",marginTop:"10px"}},Bt.createElement("div",{style:{width:"85px",marginLeft:"27px",textAlign:"right"}},"\u8865\u4EA4\u89C4\u5219",Li+1),Bt.createElement(jt.default,{disabled:Gr||!((Ws=Ji==null?void 0:Ji.homework_status)!=null&&Ws.includes("\u672A\u53D1\u5E03"))&&Fi.id||(gi==null?void 0:gi.anonymous_comment),mode:"multiple",className:Be.Z.multiple_select,style:{width:"212px",marginLeft:"18px"},value:typeof Fi.group_name=="string"?[Fi.group_name]:Fi.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:co=>{var hr;if((0,Ke.Rm)()&&!((hr=Wt.AssistantObject.practice)!=null&&hr.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi[Li].group_name=co,wi[Li].group_id=Fi.group_id,Di(wi.slice())}},gi.group_settings&&gi.group_settings.map(function(co){const hr=wi.map(ri=>ri.group_name).flat(),Nn=Ss.map(ri=>ri.group_name).flat();if(Ei!=null&&Ei.unified_setting){if(!hr.includes(co.group_name))return Bt.createElement(Fn,{value:co.group_name,key:co.id},co.group_name)}else if(Nn.includes(co.group_name)&&!hr.includes(co.group_name))return Bt.createElement(Fn,{value:co.group_name,key:co.id},co.group_name)})),Bt.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u6263\u5206"),Bt.createElement(Ue.Z,{disabled:Gr||gl(Fi.id),value:{type:Fi.penalty_type,inputValue:Fi.late_penalty},onChange:co=>{var hr;if((0,Ke.Rm)()&&!((hr=Wt.AssistantObject.practice)!=null&&hr.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi[Li].late_penalty=co.inputValue,wi[Li].penalty_type=co.type,Di([...wi])}}),Bt.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Bt.createElement(xt.default,{size:"large",disabled:Gr||gl(Fi.id),style:{width:225},showTime:{format:"HH:mm",defaultValue:gn()((0,Ae.U6)(),"HH:mm")},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",disabledDate:co=>Et(co,gi==null?void 0:gi.course_end_date),format:"YYYY-MM-DD HH:mm",value:Fi!=null&&Fi.late_time?gn()(Fi.late_time):void 0,onChange:(co,hr)=>{var Nn;if((0,Ke.Rm)()&&!((Nn=Wt.AssistantObject.practice)!=null&&Nn.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi[Li].late_time=hr,Di([...wi])}}),!Gr&&Bt.createElement("div",{style:{display:"flex",width:"50px"}},Bt.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var co;if((0,Ke.Rm)()&&!((co=Wt.AssistantObject.practice)!=null&&co.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Di(wi.concat({penalty_type:Ue.Q.Percent,late_penalty:20}))}}),Li>0&&!Fi.id&&Bt.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{var co;if((0,Ke.Rm)()&&!((co=Wt.AssistantObject.practice)!=null&&co.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi=wi.filter((hr,Nn)=>Li!==Nn),Di(wi.slice()),setTimeout(()=>Di(wi.slice()),10)}}))))})),!Gr&&Bt.createElement(Bt.Fragment,null,Bt.createElement(Gt.ZP,{type:"primary",size:"large",loading:$a,style:{width:"138px",marginTop:"30px"},onClick:()=>ta()},"\u4FDD\u5B58")),Bt.createElement(ft.Z,{onConfirm:(Fi,Li)=>{Ss.splice(Fi,0,...Li),Ss.splice(Fi+Li.length,1);const Ws=(0,Ae.QE)([...Ss]);Sn([...Ws])}}),Bt.createElement(St.Z,{resdata:oo,type:"shixun",okloading:$a,oktext:(oo==null?void 0:oo.can_copy_num)===0?"\u786E\u5B9A":"\u4E00\u952E\u590D\u5236\u5E76\u66FF\u6362",onok:Fi=>gr(void 0,null,function*(){mo(!0);let Li=yield(0,ue.ZP)(`/api/courses/${Ci.coursesId}/batch_copy_shixuns.json`,{method:"post",body:{type:"homework_common",ids:[parseInt(Ci.categoryId)]}});mo(!1),(Li==null?void 0:Li.status)===0&&ba(ts)})}))};xi.ZP=(0,Ne.connect)(({shixunHomeworks:Vn,classroomList:zi,loading:on,user:Wt})=>({shixunHomeworks:Vn,classroomList:zi,loading:on.effects,user:Wt}))(An)},73410:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return $e}});var Fe=Je(59301),xt=Je(37568),jt=Je(62673),kt=Je(77019),It={leftdiv:"leftdiv___aBzsX",listClass:"listClass___bxIEW",spantitle:"spantitle___v_Vc4",rightdiv:"rightdiv___xWu4M"},zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAbVJREFUOE+Nk79rFUEUhb+zE4OFwUD+CyGKKQQbSaMikQQ7C1tBBIsUQaJvl2Fn/cWDpAiIYJsi7YOIaCUWFoKKRhG0sbEzEImFGnev7G6yyXsxeU5159yZb87l3hG9q2WLiBO79FIwXpLp0s6cwITnQCMWrGDM43jdBckZQ0wTMdrong2R2Bxm0/98sZ8ozdcOEm5hjOC41u9Olc9ZQKySclOVkNhljCmCzjeAJM/4FbW5p+8k5tlggTtarfKxLSM6pHq4BTiL0SboaAOIi284jeP1nti+ApMEvdoEvEPMkOpJDZi1IwzwgqDh/wSsYZwk08ca4O0Qua3zW8OV5crmHg6u22EGbQ2nIbx+1IC6rrK+cYJW9gXEVrbxGUEj5bltQGJvgBapHu0LSGwCyEh1vBsQWwd4TNCDPg6uAOcImuoFlL1dJ9WNPg5uYwwRVM3MzhJmKIpjZK6e9bj4jNNpvL4QFx9wuoDXJ1r5IlH0llTtXgcXwa4SolObnYnwKnbFcfEcdJ+gpW6AtzFynuIop/Fn053u4CA5yzjO4FV9tu0Syl2S38WiSWBgD8AfoEPQ7Fb+LwIiyhxWwe2KAAAAAElFTkSuQmCC",wt=Je(28426),en=(Gt,an,gn)=>new Promise((Ke,ue)=>{var ce=Be=>{try{Ae(gn.next(Be))}catch(Ne){ue(Ne)}},Ee=Be=>{try{Ae(gn.throw(Be))}catch(Ne){ue(Ne)}},Ae=Be=>Be.done?Ke(Be.value):Promise.resolve(Be.value).then(ce,Ee);Ae((gn=gn.apply(Gt,an)).next())}),$e=({data:Gt,value:an=[],handleChangePage:gn,className:Ke="",setSelectedRowKeys:ue,selectedRowKeys:ce,onChange:Ee=()=>{}})=>{const[Ae,Be]=(0,Fe.useState)([]),[Ne,Ue]=(0,Fe.useState)([]),[nt,ft]=(0,Fe.useState)([]);let[St,Nt]=(0,Fe.useState)(1),[Bt,bt]=(0,Fe.useState)();return(0,Fe.useEffect)(()=>{Be(Gt),Ue([]),ft([])},[Gt]),(0,Fe.useEffect)(()=>{ue&&(Ue(ce),ft(ce))},[ce]),Fe.createElement("div",{className:`flex justify-between w-full ${Ke}`},Fe.createElement("div",{className:It.leftdiv},Fe.createElement(xt.default.Search,{size:"middle",style:{marginBottom:"10rem"},onChange:ln=>en(void 0,null,function*(){Be(Gt.filter(Kt=>{var ni;return(ni=Kt==null?void 0:Kt.name)==null?void 0:ni.includes(ln.target.value)}))}),placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),Ae.length===0&&Fe.createElement(wt.Z,{styles:{margin:"70rem auto"},customText:"\u6682\u65E0\u5206\u73ED"}),Fe.createElement("div",{style:{height:"85%",overflow:"auto",overflowX:"hidden"}},Fe.createElement(jt.default.Group,{value:Ne.map(ln=>`${ln.id}`),onChange:ln=>{ue(Ae.filter(Kt=>ln.includes(`${Kt.id}`)))},style:{marginTop:"10px",flexDirection:"column"}},Ae.map((ln,Kt)=>Fe.createElement(kt.Z,{key:ln.id,style:{marginTop:"10rem",lineHeight:"24rem",display:"flex",width:"200rem"}},Fe.createElement(jt.default,{style:{display:"flex",height:"24px",alignItems:"center"},disabled:ln.is_published,value:`${ln.id}`},Fe.createElement("div",{className:It.listClass},Fe.createElement("span",{className:It.spantitle,style:{width:ln.is_published?"108px":"170px"}},ln.name),ln.is_published&&Fe.createElement("span",{style:{width:"52px",height:"24px",background:"#B8B8B8",borderRadius:"13px",color:"white",lineHeight:"24px",textAlign:"center",display:"inline-block"}},"\u5DF2\u53D1\u5E03")))))))),Fe.createElement("div",{className:It.rightdiv},Fe.createElement(xt.default.Search,{onChange:ln=>{ft(Ne.filter(Kt=>Kt.name.includes(ln.target.value)))},size:"middle",placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),nt.length===0&&Fe.createElement(wt.Z,{imgStyles:{width:"200rem"},styles:{margin:"70rem auto"},customText:"\u6682\u672A\u9009\u62E9\u5206\u73ED"}),nt.length>0&&Fe.createElement("div",{style:{marginTop:"10px",height:"85%",overflow:"hidden",position:"relative"}},Fe.createElement("div",{style:{overflowX:"hidden",overflowY:"scroll",position:"absolute",left:0,top:0,right:-17,bottom:0}},nt.map((ln,Kt)=>Fe.createElement("div",{className:"flex justify-between item-center",style:{marginTop:"10rem"},key:ln.id},Fe.createElement("div",{className:"multi_ellipsis1 flex-1 minW-0",style:{margin:"0 5rem"}},ln.name),Fe.createElement("img",{src:zt,className:"current",style:{height:"16rem",marginRight:"17rem"},onClick:()=>{ue(Ne.filter(ni=>`${ni.id}`!=`${ln.id}`))}})))))))}},59229:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return Ee}});var Fe=Je(59301),xt=Je(25690),jt=Je(16326),kt=Je(62957),It=Je(37568),zt=Je(6767),wt=Je(77019),en=Je(5269),$t={title_tooltip:"title_tooltip___LLdrn",multiple_select:"multiple_select___kDXUm",modal_con:"modal_con___ERnkW"},$e=Je(61186),Gt=Je.n($e),an=Je(51257),gn=Je(28426),Ke=Je(59301);const{RangePicker:ue}=jt.default,ce=({dispatch:Ae,classroomList:Be,onConfirm:Ne})=>{const[Ue,nt]=(0,Fe.useState)([]),[ft,St]=(0,Fe.useState)([]),[Nt,Bt]=(0,Fe.useState)(""),[bt,ln]=(0,Fe.useState)([!1,!1]);(0,Fe.useEffect)(()=>{var pn,ci,di,Ln;if(Be.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206"){console.log((pn=Be.actionTabs)==null?void 0:pn.rangePickerDisabled),(ci=Be.actionTabs)!=null&&ci.rangePickerDisabled?ln((di=Be.actionTabs)==null?void 0:di.rangePickerDisabled):ln([!1,!1]);let si=Be.actionTabs.data,gr=(Ln=si==null?void 0:si.group_name)==null?void 0:Ln.map((Ht,Et)=>{var Si;return{group_id:si==null?void 0:si.group_id[Et],group_name:si==null?void 0:si.group_name[Et],is_admin:si==null?void 0:si.is_admin,end_time:si==null?void 0:si.end_time,publish_time:Array.isArray(si==null?void 0:si.publish_time)?(Si=si==null?void 0:si.publish_time)==null?void 0:Si[0]:si==null?void 0:si.publish_time}});gr&&(nt([...gr]),St([...gr]))}},[Be.actionTabs]);const Kt=()=>{Ae({type:"classroomList/setActionTabs",payload:{}}),Bt("")},ni=pn=>{if(pn){const ci=ft==null?void 0:ft.filter(di=>{var Ln,si;return(si=(Ln=di==null?void 0:di.group_name)==null?void 0:Ln.toLowerCase())==null?void 0:si.includes(pn==null?void 0:pn.toLowerCase())});nt(ci)}else nt(ft)};return Ke.createElement(kt.default,{width:980,title:Ke.createElement("div",{style:{fontWeight:"bold",display:"flex"}},Ke.createElement("div",null,"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",Ke.createElement("span",{className:$t.title_tooltip},"\uFF08\u5F53\u5206\u73ED\u53D1\u5E03\u65F6\u95F4\u548C\u622A\u6B62\u65F6\u95F4\u4E0D\u76F8\u540C\u65F6\u5019\uFF0C\u73ED\u7EA7\u81EA\u52A8\u62C6\u5206\u51FA\u53BB\u65B0\u8D77\u89C4\u5219\uFF09")),Ke.createElement(It.default.Search,{allowClear:!0,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",style:{width:220,marginLeft:"60px"},value:Nt,onChange:pn=>{Bt(pn.target.value.trim()),ni(pn.target.value.trim())}})),centered:!0,maskClosable:!1,open:Be.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",onCancel:()=>Kt(),onOk:()=>{var pn;if(ft.some(di=>!di.end_time||!di.publish_time)){zt.ZP.warning("\u8BF7\u5C06\u5217\u8868\u6570\u636E\u4E2D\u7684\u53D1\u5E03\u65F6\u95F4\u548C\u622A\u6B62\u65F6\u95F4\u8865\u5145\u5B8C\u6574\uFF01");return}Ne((pn=Be.actionTabs)==null?void 0:pn.index,ft),Kt()}},Ke.createElement("div",{className:$t.modal_con},Ke.createElement(wt.Z,{style:{display:"flex",color:"#666666",padding:"5px",marginTop:"1px"}},(Ue==null?void 0:Ue.length)>0?Ue.map(function(pn,ci){return Ke.createElement(en.Z,{span:24,key:ci},Ke.createElement(wt.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:ci==(Ue==null?void 0:Ue.length)-1?"0px":"10px"}},Ke.createElement("div",{className:$t.multiple_select,title:pn==null?void 0:pn.group_name},pn==null?void 0:pn.group_name),Ke.createElement("div",{className:"ml20"},Ke.createElement(ue,{size:"large",allowClear:!1,disabled:bt,style:{width:600},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:di=>{var Ln;return(0,an.Q8)(di,(Ln=Be.actionTabs)==null?void 0:Ln.disabledDate)},disabledTime:di=>(0,an.d0)(di),showTime:{showNow:!0,format:"HH:mm",defaultValue:[Gt()((0,an.U6)(),"HH:mm"),Gt()((0,an.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:(pn==null?void 0:pn.publish_time)&&[Gt()(pn==null?void 0:pn.publish_time),pn!=null&&pn.end_time?Gt()(pn==null?void 0:pn.end_time):void 0],onChange:(di,Ln)=>{Ue[ci].publish_time=Ln[0],Ue[ci].end_time=Ln[1],nt([...Ue]),ft.forEach(si=>{si.group_id===(pn==null?void 0:pn.group_id)&&(si.publish_time=Ln[0],si.end_time=Ln[1])}),St([...ft])},onCalendarChange:(di,Ln,si)=>{if(Ln!=null&&Ln[0]&&!Ln[1]){const gr=Gt()(Ln[0]).add(7,"days");Ue[ci].publish_time=Ln[0],Ue[ci].end_time=gr,nt([...Ue]),ft.forEach(Ht=>{Ht.group_id===(pn==null?void 0:pn.group_id)&&(Ht.publish_time=Ln[0],Ht.end_time=gr)}),St([...ft])}}})),bt[0]?Ke.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{color:"#E30000",opacity:"0.2",cursor:"not-allowed"}}):Ke.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{Ue.splice(ci,1),nt([...Ue]),ft.forEach((di,Ln)=>{di.group_id===(pn==null?void 0:pn.group_id)&&ft.splice(Ln,1)}),St([...ft])}})))}):Ke.createElement(gn.Z,null))))};var Ee=(0,xt.connect)(({classroomList:Ae})=>({classroomList:Ae}))(ce)},48848:function(qt,xi,Je){"use strict";Je.r(xi),Je.d(xi,{default:function(){return $oe}});var Fe=Je(59301),xt=Je(25690),jt=Je(62957),kt=Je(6767),It=Je(99571),zt={flex_box_center:"flex_box_center___wc3oP",flex_space_between:"flex_space_between___YV6tt",flex_box_vertical_center:"flex_box_vertical_center___DBgDc",flex_box_center_end:"flex_box_center_end___uIUDS",flex_box_column:"flex_box_column___kQEdA",banner:"banner____Henj",wrp:"wrp___PZhnF",titleWrap:"titleWrap___GqIYn",titleFlexEnd:"titleFlexEnd___yQ3st",title:"title___djFnh",titleName:"titleName___o55kJ",titleIcon:"titleIcon___iO27M",contentWrap:"contentWrap___EkBTW",verticalLine:"verticalLine___aj4o0",contentLeftWrap:"contentLeftWrap___O08fb",openCourseTag:"openCourseTag___M35c8",tagsWrap:"tagsWrap____zRBh",ratingWrap:"ratingWrap___FD4BS",ratingTitle:"ratingTitle___sKXr7",rating:"rating___pPcWF",popoverWrap:"popoverWrap___XLvdy",popverLeft:"popverLeft___JghVb",popoverRight:"popoverRight___iN5hL",popverScore:"popverScore___LpP2e",popoverRateWrap:"popoverRateWrap___y3lUU",popoverProgress:"popoverProgress___SPsPq",button:"button___w71Iu",operationWrap:"operationWrap___xfwLx",forkWrap:"forkWrap___PUfTF",fork:"fork___SPjy6",forkNum:"forkNum___fwVaA",buttonTransparent:"buttonTransparent___V0ey6",buttonLearnStatistics:"buttonLearnStatistics___sWuSx",publishPopverWrap:"publishPopverWrap___maOAE",colorFF6802:"colorFF6802___Gb0xJ",w140:"w140___XOi_m",nav:"nav___j9ULg",navLeft:"navLeft___EEDpJ",navContent:"navContent___p8ZjQ",flexRow:"flexRow___cGkPG",navRight:"navRight____bBx2",navLeftIcon:"navLeftIcon___yRiiz",colorOrange:"colorOrange___isY7L",contentItem:"contentItem___OdKIu",contentItemTitle:"contentItemTitle___MBdkH",contentItemText:"contentItemText___YDgQC",classButton:"classButton___gidYF",bg28e:"bg28e___AuhUg",bgGray:"bgGray___zHFT7",btn:"btn___n_xyk",name:"name___AkijA",titleright:"titleright___AQpHe",edits:"edits___h0Etp",edit:"edit___YwQgI",deletes:"deletes___AEqz3",delete:"delete___C4ZUp",content:"content___urv2c",go:"go___BHrT0",goicon:"goicon___b33d6",tabs:"tabs___bmtXw"},wt=Je(36714),en=Je(28284),$t=Je(47889),$e=Je(17149),Gt=Je(37568),an=Je(29787),gn=Je(38986),Ke={applyPublicContainer:"applyPublicContainer___pImhb",applyPublicContent:"applyPublicContent____dPHq",spin:"spin___bBN3v",tips:"tips___uXmwo",action:"action___D3zVt"},ue=Je(87169),ce=Je(59301),Ee=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),Be=({type:ee,onCancel:y,onOk:E})=>{const[z]=en.default.useForm(),[ne,ie]=(0,Fe.useState)(1),[se,le]=(0,Fe.useState)(!1),[de,ge]=(0,Fe.useState)([]);(0,Fe.useEffect)(()=>{z.setFieldValue("type",1),ve()},[]);const ve=()=>Ee(void 0,null,function*(){if(ee){le(!0);const Se=yield(0,gn.ZP)("/api/disciplines.json",{method:"get",params:{source:ee}});ge(Se.disciplines||[]),le(!1)}}),xe=()=>{const{sub_discipline_id:Se,discipline_name:Me,sub_discipline_name:De,type:Oe}=z.getFieldsValue();if((!Se||Se&&Se.length===0)&&(!Me||!De))return kt.ZP.warning("\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),!1;E({user_customize:Oe==2,sub_discipline_id:Oe==1?[Se[1]]:null,discipline_name:Me,sub_discipline_name:De})};return ce.createElement(jt.default,{width:640,className:Ke.applyPublicContainer,centered:!0,title:"\u516C\u5F00\u8BFE\u7A0B",okText:"\u7533\u8BF7\u516C\u5F00",open:!0,onCancel:()=>{y(),z.resetFields()},onOk:()=>{z.validateFields().then(Se=>{if(ne==2&&(Se.discipline_name.replaceAll(" ","").length<=0||Se.sub_discipline_name.replaceAll(" ","").length<=0)){kt.ZP.info("\u65B9\u5411\u6216\u8BFE\u7A0B\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\u540E\u518D\u63D0\u4EA4\uFF01");return}xe(),z.resetFields()})}},ce.createElement("div",{className:Ke.applyPublicContent},ce.createElement("div",{className:Ke.tips},ce.createElement(ue.Z,{style:{color:"#FF8C29",marginRight:10}}),"\u586B\u5199\u5B9E\u8DF5\u8BFE\u7A0B\u7684\u65B9\u5411&\u8BFE\u7A0B\u4E4B\u540E\uFF0C\u65B9\u53EF\u7533\u8BF7\u516C\u5F00"),ce.createElement(en.default,{labelAlign:"left",form:z},ce.createElement(en.default.Item,{name:"type"},ce.createElement($t.ZP.Group,{onChange:Se=>{ie(Se.target.value),Se.target.value==1?z.setFieldsValue({discipline_name:"",sub_discipline_name:""}):z.setFieldsValue({sub_discipline_id:[]})}},ce.createElement($t.ZP,{value:1},"\u5FEB\u901F\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),ce.createElement($t.ZP,{value:2,style:{marginLeft:40}},"\u81EA\u5B9A\u4E49\u65B9\u5411&\u8BFE\u7A0B"))),ne==1&&ce.createElement(en.default.Item,{label:"\u65B9\u5411&\u8BFE\u7A0B",name:"sub_discipline_id",rules:[{required:!0}]},ce.createElement($e.Z,{expandTrigger:"hover",placeholder:"\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",options:de,fieldNames:{label:"name",value:"id",children:"sub_disciplines"},onChange:(Se,Me)=>z.setFieldsValue({sub_discipline_id:Se})})),ne==2&&ce.createElement(ce.Fragment,null,ce.createElement(en.default.Item,{label:"\u65B9\u5411",name:"discipline_name",rules:[{required:!0}]},ce.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u65B9\u5411",autoComplete:"off"})),ce.createElement(en.default.Item,{label:"\u8BFE\u7A0B",name:"sub_discipline_name",rules:[{required:!0}]},ce.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u8BFE\u7A0B",autoComplete:"off"})))),se&&ce.createElement("div",{className:Ke.spin},ce.createElement(an.Z,null))))},Ne=Je(76902),Ue="data:image/png;base64,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",nt="data:image/png;base64,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",ft=Je(25399),St=Je(37639),Nt={flex_box_center:"flex_box_center___HlHga",flex_space_between:"flex_space_between___ZXfWh",flex_box_vertical_center:"flex_box_vertical_center___B_34d",flex_box_center_end:"flex_box_center_end___XaWUl",flex_box_column:"flex_box_column___dfD_W",ClassDesc:"ClassDesc___hvKGJ",LeftTitle:"LeftTitle___GVStZ",textname:"textname___KypkX"},Bt=Je(346),bt=Je(51257),ln=Je(45937),Kt=Je(20554),ni=Object.defineProperty,pn=Object.defineProperties,ci=Object.getOwnPropertyDescriptors,di=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,si=Object.prototype.propertyIsEnumerable,gr=(ee,y,E)=>y in ee?ni(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Ht=(ee,y)=>{for(var E in y||(y={}))Ln.call(y,E)&&gr(ee,E,y[E]);if(di)for(var E of di(y))si.call(y,E)&&gr(ee,E,y[E]);return ee},Et=(ee,y)=>pn(ee,ci(y)),Si=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const _r=({value:ee=[],onChange:y})=>{const[E,z]=(0,Fe.useState)(null);return Fe.createElement(Fe.Fragment,null,Fe.createElement(Gt.default,{value:E,placeholder:"\u8BF7\u8F93\u5165\u6807\u7B7E",maxLength:6,showCount:!0,addonAfter:"\u56DE\u8F66\u521B\u5EFA\u6807\u7B7E",onChange:ne=>{z(ne.target.value)},onPressEnter:ne=>{E&&(y==null||y([...ee,E]),z(null))}}),Fe.createElement("div",{className:"flex flex-wrap gap-14px-rem mt-12px-rem"},ee==null?void 0:ee.map((ne,ie)=>Fe.createElement("div",{key:ie,className:"p-8px-rem flex item-center gap-8px-rem rounded-2px-rem",style:{background:"#EAF0F7"}},Fe.createElement("div",{className:"c-black"},ne),Fe.createElement("span",{className:"iconfont icon-guanbi10 c-grey-999 current",style:{fontSize:"10rem"},onClick:()=>{y==null||y(ee==null?void 0:ee.filter(se=>se!=ne))}})))))},zr=({pathsDetail:ee,dispatch:y,DataProps:E,onFinish:z})=>{const ne=(0,xt.useParams)(),{actionTabs:ie,detail:se}=ee,[le]=en.default.useForm(),[de,ge]=(0,Fe.useState)("0"),[,ve,xe]=(0,ln.U)(wt.j_,{subject_id:ne==null?void 0:ne.pathId}),Se=[{title:"\u667A\u6167\u8D44\u6E90",node_types:["\u5B9E\u8BAD","\u89C6\u9891","\u8BFE\u4EF6","\u8BD5\u5377","\u95EE\u5377","\u7F16\u7A0B","\u865A\u4EFF","\u5206\u7EC4"],relation:"\u5173\u8054"},{title:"\u77E5\u8BC6\u56FE\u8C31",node_types:["\u8BFE\u7A0B\u56FE\u8C31","\u5927\u7EB2\u56FE\u8C31","\u601D\u653F\u56FE\u8C31","\u601D\u7EF4\u56FE\u8C31","\u80FD\u529B\u56FE\u8C31"],relation:"\u5173\u8054"},{title:"\u5B66\u4E60\u8DEF\u5F84",node_types:["\u521D\u59CB\u8DEF\u5F84","\u590D\u4E60\u8DEF\u5F84","\u8003\u524D\u8DEF\u5F84","\u8D44\u6E90\u63A8\u8350"],relation:"\u5173\u8054"},{title:"\u5B66\u60C5\u5206\u6790",node_types:["\u5B66\u60C5\u7EDF\u8BA1","\u80FD\u529B\u5206\u6790","\u638C\u63E1\u5206\u6790"],relation:"\u5173\u8054"}];return(0,Fe.useEffect)(()=>{E&&le.setFieldsValue(Et(Ht({},E),{knowledge_statistics:Se==null?void 0:Se.map((Me,De)=>{var Oe;return Ht(Ht({},Me),((Oe=E==null?void 0:E.knowledge_statistics)==null?void 0:Oe.at(-(De+1)))||{})})}))},[E]),Fe.createElement(jt.default,{title:"\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",open:ie.key==="\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",centered:!0,width:656,onCancel:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{}}})},okText:"\u4FDD\u5B58",confirmLoading:ve,onOk:()=>{le.validateFields(["knowledge_statistics"],{recursive:!0}).then(()=>{le.submit()}).catch(Me=>{var De,Oe;const Re=(De=Me==null?void 0:Me.errorFields)==null?void 0:De.at(-1);Re&&ge(`${(Oe=Re==null?void 0:Re.name)==null?void 0:Oe[1]}`)})}},Fe.createElement(en.default,{form:le,colon:!1,labelAlign:"right",labelCol:{span:5},size:"large",onFinish:Me=>Si(void 0,null,function*(){const De=yield xe(Et(Ht({},Me),{subject_id:ne==null?void 0:ne.pathId}));(De==null?void 0:De.status)==0&&(kt.ZP.success("\u4FDD\u5B58\u6210\u529F"),z==null||z())})},Fe.createElement(en.default.List,{name:"knowledge_statistics"},(Me,{add:De,remove:Oe})=>Fe.createElement(Fe.Fragment,null,Fe.createElement(Kt.default,{defaultActiveKey:"1",activeKey:de,onTabClick:Re=>{ge(Re)},items:Me.map((Re,Le)=>({forceRender:!0,key:`${Le}`,label:`\u7B2C${(0,bt.EM)(Le+1)}\u5C42`,children:Fe.createElement(Fe.Fragment,null,Fe.createElement(en.default.Item,{name:[Re.name,"title"],label:"\u6807\u9898",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6807\u9898"},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u6807\u9898",maxLength:6,showCount:!0})),Fe.createElement(en.default.Item,{name:[Re.name,"node_types"],label:"\u6807\u7B7E",rules:[{required:!0,validator(Qe,Xe){const Ze=[8,6,5,5][Le];return(Xe==null?void 0:Xe.length)==0?Promise.reject(new Error("\u8BF7\u6DFB\u52A0\u6807\u7B7E")):(Xe==null?void 0:Xe.length)>Ze?Promise.reject(new Error(`\u6700\u591A${Ze}\u4E2A\u6807\u7B7E`)):Promise.resolve()}}]},Fe.createElement(_r,null)),Le!==3&&Fe.createElement(en.default.Item,{name:[Re.name,"relation"],label:`\u4E0E\u7B2C${(0,bt.EM)(Le+2)}\u5C42\u5173\u7CFB`,rules:[{required:!0,message:`\u8BF7\u8F93\u5165\u4E0E\u7B2C${(0,bt.EM)(Le+2)}\u5C42\u5173\u7CFB`},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default,{placeholder:`\u4E0E\u7B2C${(0,bt.EM)(Le+2)}\u5C42\u5173\u7CFB`,maxLength:6,showCount:!0})),Fe.createElement(en.default.Item,{label:"\u7EDF\u8BA1\u6570\u636E"},Fe.createElement("div",{style:{color:"#232B40"}},Fe.createElement("span",null,["\u5168\u90E8\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8D44\u6E90\u8282\u70B9","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u6240\u6709\u77E5\u8BC6\u56FE\u8C31\uFF0C\u5305\u62EC\u80FD\u529B\u56FE\u8C31","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u5B66\u4E60\u8DEF\u5F84","\u83B7\u53D6\u5F53\u524D\u5DF2\u7ECF\u4E0A\u7EBF\u7684\u5B66\u60C5\u5206\u6790\u80FD\u529B\uFF0C\u5F53\u524D\u4E3A0"][Le]))))}))})))))};var Fn=(0,xt.connect)(({pathsDetail:ee})=>({pathsDetail:ee}))(zr),An="data:image/png;base64,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",Vn="data:image/png;base64,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",zi="data:image/png;base64,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",on=Je(59301),Wt=Object.defineProperty,zn=Object.getOwnPropertySymbols,br=Object.prototype.hasOwnProperty,uo=Object.prototype.propertyIsEnumerable,vt=(ee,y,E)=>y in ee?Wt(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,We=(ee,y)=>{for(var E in y||(y={}))br.call(y,E)&&vt(ee,E,y[E]);if(zn)for(var E of zn(y))uo.call(y,E)&&vt(ee,E,y[E]);return ee},je=(ee,y)=>{var E={};for(var z in ee)br.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&zn)for(var z of zn(ee))y.indexOf(z)<0&&uo.call(ee,z)&&(E[z]=ee[z]);return E};const ct=({title:ee,className:y="",style:E={}})=>on.createElement("div",{className:`absolute ${y}`,style:E},on.createElement("img",{src:Vn,width:"187rem",style:{width:"187rem"}}),on.createElement("div",{className:"absolute",style:{top:"32rem",right:"65rem",color:"#FFCF1B",fontSize:"30rem"}},ee)),Pt=({title:ee,className:y="",style:E={}})=>on.createElement("div",{className:`flex item-center justify-center absolute ${y}`,style:We({width:"200rem",height:"54rem",fontSize:"24rem",left:"50%",transform:"translateX(-50%)",bottom:"10rem",background:`url(${Je(11862)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",color:"#59F7FF"},E)}," ",ee," "),qe=({DataProps:ee=[],angleStep:y=.2,radius:E=500,top:z=0,verticalRadius:ne=E})=>{const ie=(0,Fe.useRef)(null),se=Math.PI+(Math.PI-((ee==null?void 0:ee.length)-1)*y)/2,le=({DataProps:de={},style:ge={}})=>on.createElement("div",{className:"flex flex-col item-center c-white absolute",style:We({fontSize:"14rem"},ge)},on.createElement(ft.Z,{title:de,placement:"topLeft"},on.createElement("div",{className:"multi_ellipsis1"},de)),on.createElement("img",{src:zi,width:"97rem",height:"97rem",style:{width:"97rem",height:"97rem"}}));return on.createElement("div",{ref:ie,className:"relative"},ee==null?void 0:ee.map((de,ge)=>{const ve=se+ge*y,xe=E*Math.cos(ve),Se=ne*Math.sin(ve);return on.createElement(le,{key:ge,DataProps:de,style:{left:`calc(50% + ${xe}rem)`,bottom:`${Se+ne+z}rem`,transform:"translateX(-50%)"}})}))},Hn=({DataProps:ee={}})=>{var y;return on.createElement("div",{className:"flex flex-col item-center justify-center w-full h-full",style:{gap:"125rem"}},(y=ee==null?void 0:ee.knowledge_statistics)==null?void 0:y.map((E,z)=>on.createElement(on.Fragment,null,z==0&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-center justify-center",style:{background:`url(${Je(47444)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"296rem",height:"100rem",marginTop:"82rem",zIndex:4}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-120rem",top:"-64rem"}}),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:1.35,radius:100,top:-60,verticalRadius:30}),on.createElement(Pt,{title:E==null?void 0:E.title}))),z==1&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${Je(425)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"404rem",height:"168rem",marginTop:"10rem",zIndex:3}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-134rem",top:"-10rem"}}),on.createElement("div",{className:"absolute",style:{left:"-30rem",top:"0rem"}},on.createElement("img",{src:An,width:"93rem",style:{width:"93rem"}}),on.createElement("div",{className:"absolute",style:{top:"5rem",left:"-25rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},E==null?void 0:E.relation)),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:.15}),on.createElement(Pt,{title:E==null?void 0:E.title}))),z==2&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${Je(49260)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"542rem",height:"228rem",marginTop:"-85rem",zIndex:2}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-135rem",top:"24rem"}}),on.createElement("div",{className:"absolute",style:{left:"-40rem",top:"40rem"}},on.createElement("img",{src:An,width:"114rem",style:{width:"114rem"}}),on.createElement("div",{className:"absolute",style:{top:"20rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},E==null?void 0:E.relation)),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:.16}),on.createElement(Pt,{title:E==null?void 0:E.title}))),z==3&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${Je(24219)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"764rem",height:"257rem",marginTop:"-70rem",zIndex:1}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-115rem",top:"20rem"}}),on.createElement("div",{className:"absolute",style:{left:"-15rem",top:"34rem"}},on.createElement("img",{src:An,width:"123rem",style:{width:"123rem"}}),on.createElement("div",{className:"absolute",style:{top:"25rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},E==null?void 0:E.relation)),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:.16}),on.createElement(Pt,{title:E==null?void 0:E.title}))))),on.createElement("div",{className:"flex item-center justify-center",style:{height:0}},on.createElement("img",{src:Je(32682),width:"600rem",height:"465rem",style:{width:"600rem",height:"465rem",marginTop:"-260rem"}})))},Ci=({DataProps:ee,className:y="",style:E={}})=>on.createElement("div",{className:`flex flex-col item-center w-full h-full ${y}`,style:We({padding:"20rem 30rem",background:"#162442",borderRadius:"8rem",gap:"10rem"},E)},(ee==null?void 0:ee.AvatarDom)||on.createElement("img",{src:Bt.Z.API_SERVER+"/images/"+((ee==null?void 0:ee.image_url)||(ee==null?void 0:ee.avatar)),width:"60rem",height:"60rem",style:{borderRadius:"50%",width:"60rem",height:"60rem"}}),on.createElement(ft.Z,{title:(ee==null?void 0:ee.username)||""},on.createElement("div",{className:"multi_ellipsis1"},(ee==null?void 0:ee.username)||""))),gi=ee=>{var y=ee,{pathsDetail:E,dispatch:z}=y,ne=je(y,["pathsDetail","dispatch"]),ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re,Le,Qe,Xe,Ze,it,et,ht,lt,ot,rt,Mt,Xt,cn,Cn,En;const Zn=(0,xt.useParams)(),{actionTabs:ti,detail:bn}=E,rn=(0,Fe.useRef)(null),[li,Dn]=(0,Fe.useState)(0),[,Wn,hi,On]=(0,ln.U)(wt.dX,{subject_id:Zn.pathId});return(0,Fe.useEffect)(()=>{rn.current&&setTimeout(()=>{const dn=(0,bt.ZR)(rn.current,"rem",1);Dn(dn)},500)},[rn.current,(ie=E==null?void 0:E.detail)==null?void 0:ie.description]),(0,Fe.useEffect)(()=>{hi({subject_id:Zn.pathId})},[]),on.createElement(an.Z,{spinning:Wn},on.createElement("section",null,on.createElement("div",{className:"w-full relative c-white flex flex-col",style:{background:`url(${Je(12175)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center"}},on.createElement("div",{className:"w-full flex justify-center item-center absolute blod text-center",style:{background:`url(${Je(93148)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",height:"282rem",letterSpacing:"5rem",lineHeight:"32rem",top:0,left:0,fontSize:"32rem",padding:"0 500rem 173rem"}},on.createElement(ft.Z,{title:(le=(se=E.detail)==null?void 0:se.name)==null?void 0:le.split(` +`),Ii.focus();default:throw new Error}},[Ii,ao]),dt=(0,Fe.useMemo)(()=>{switch(ao){case Di:return Fe.createElement(Si,{callback:Sr,onCancel:ou});case ts:return Fe.createElement(_r.Z,{callback:Sr,onCancel:ou});case Ei:return Fe.createElement(zr.Z,{callback:Sr,onCancel:ou});case Kr:return Fe.createElement(Ci,{callback:Sr,onCancel:ou});case Bs:return Fe.createElement(ws,{callback:Sr,onCancel:ou});case"maths-latex":return Fe.createElement(Ss,{showSaveButton:!0,callback:Sr});case"inline-latex":return Fe.createElement(Sn.Z,{showSaveButton:!0,callback:Sr});default:return null}},[ao]);function ou(){ul("")}(0,Fe.useEffect)(()=>{if(Gl.current){let Ro=function(mn){Ut=!0,Qt=mn.pageY},Ye=function(){Ut=!1},Ft=function(mn){if(Ut){let Bn=mn.pageY-Qt;Bn<0&&(Bn=0),Bn>300&&(Bn=300);let Rn=wn+Bn+"px";Ma(Rn)}},pt=Gl.current,Ut=!1,Qt=0;return pt.addEventListener("mousedown",Ro),document.addEventListener("mousemove",Ft),document.addEventListener("mouseup",Ye),()=>{pt.removeEventListener("mousedown",Ro),document.removeEventListener("mousemove",Ft),document.removeEventListener("mouseup",Ye)}}},[Ii,Gl]),(0,Fe.useEffect)(()=>{Ma(wn)},[wn]);const hc=Li(_t),Yu=Li(js),ed={width:hc,height:Yu},Ud=(0,Fe.useMemo)(()=>{if(Qs){let Ro=new Date(Qs),Ye=Ro.getHours(),Ft=Ro.getMinutes(),pt=Ro.getSeconds();return Ye=Ye<10?"0"+Ye:Ye,Ft=Ft<10?"0"+Ft:Ft,pt=pt<10?"0"+pt:pt,`${Ye}:${Ft}:${pt}`}return 0},[Qs]),Af=Ro=>{const Ye=[];if(Ki){let Ft=-1;Ro=Ro.replace(/(@▁▁@|@▁@)/g,function(pt,Ut,Qt){Ye.push({multiLine:pt!==gl})})}return Ye};function pv(){window.sessionStorage.removeItem(na),$n(!1),ml(0)}function _p(){$n(!1),ml(0),Ii.setValue(window.sessionStorage.getItem(na))}(0,Fe.useEffect)(()=>{Nn[ao]&&ao!==oo&&ao!==Kr&&setTimeout(()=>{const Ro=document.getElementsByClassName("markdown-popup-form")[0],Ye=window.innerWidth/2-Ro.offsetWidth/2,Ft=window.innerHeight/2-Ro.offsetHeight/2;ei(Ye),Dc(Ft)},0)},[ao]);const Cl=Ro=>{Ro.preventDefault();const Ye=Ro.clientX-Pl,Ft=Ro.clientY-el;document.body.onmousemove=pt=>{let Ut=pt.clientX-Ye,Qt=pt.clientY-Ft;const mn=document.getElementsByClassName("markdown-popup-form")[0],Bn=window.innerWidth-mn.offsetWidth,Rn=window.innerHeight-mn.offsetHeight;Ut=Math.max(0,Math.min(Ut,Bn)),Qt=Math.max(0,Math.min(Qt,Rn)),Mu(pt.clientX,pt.clientY,Ye,Ft)&&(ei(Ut),Dc(Qt))},document.body.onmouseup=function(){document.body.onmousemove=null}},Mu=(Ro,Ye,Ft,pt)=>{const Ut=document.body.clientHeight,Qt=document.body.clientWidth;return Ro<20&&Ft>Ro||Ro>Qt-20&&FtYe||Ye>Ut-20&&ptbt in Bt?Gt(Bt,bt,{enumerable:!0,configurable:!0,writable:!0,value:ln}):Bt[bt]=ln,Ae=(Bt,bt)=>{for(var ln in bt||(bt={}))ue.call(bt,ln)&&Ee(Bt,ln,bt[ln]);if(Ke)for(var ln of Ke(bt))ce.call(bt,ln)&&Ee(Bt,ln,bt[ln]);return Bt},Be=(Bt,bt)=>an(Bt,gn(bt));const{useForm:Ne}=Fe.default,Ue={width:280,marginRight:10},nt={labelCol:{span:5},wrapperCol:{span:19}};var ft=({callback:Bt,onCancel:bt})=>{const[ln]=Ne();let Kt=(0,$t.useRef)();function ni(di){Kt.current.width=ln.getFieldValue("width"),Kt.current.align=ln.getFieldValue("align"),Bt(di,Kt.current)}function pn(di,Ln){if(di.status===-1){xt.ZP.error(di.message);return}ln.setFieldsValue({src:`/api/attachments/${di.id}`,type:Ln.type})}function ci(di){let Ln=di.target.files[0];Kt.current=Ln,Nt(Ln,pn)}return $e.createElement(Fe.default,Be(Ae({form:ln},nt),{className:"upload-image-panel",onFinish:ni,style:{width:470,overflow:"hidden"}}),$e.createElement(Fe.default.Item,{label:"\u56FE\u7247\u5730\u5740",required:!0},$e.createElement("div",{className:"flex-container"},$e.createElement(Fe.default.Item,{noStyle:!0,name:"src",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u56FE\u7247\u5730\u5740"}]},$e.createElement(jt.default,{style:Ue})),$e.createElement(St,{onFileChange:ci}))),$e.createElement(Fe.default.Item,{label:"\u56FE\u7247\u63CF\u8FF0",name:"alt"},$e.createElement(jt.default,{style:{width:264}})),$e.createElement(Fe.default.Item,{label:"\u56FE\u7247\u5BBD\u5EA6",name:"width"},$e.createElement(kt.Z,null,$e.createElement(Fe.default.Item,{name:"width",style:{margin:0}},$e.createElement(It.Z,{style:{width:264}})),$e.createElement("span",{className:"ml8"},"%"))),$e.createElement(Fe.default.Item,{label:"\u5BF9\u9F50\u65B9\u5F0F",name:"align"},$e.createElement(zt.ZP.Group,{name:"align",defaultValue:1,options:[{value:"left",label:"\u5DE6\u5BF9\u9F50"},{value:"center",label:"\u5C45\u4E2D\u5BF9\u9F50"},{value:"right",label:"\u53F3\u5BF9\u9F50"}]})),$e.createElement("aside",null,$e.createElement(Fe.default.Item,{style:{textAlign:"right",position:"relative",right:-98}},$e.createElement(wt.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),$e.createElement(wt.ZP,{type:"default",onClick:bt},"\u53D6\u6D88"))))};function St({onFileChange:Bt}){return $e.createElement("label",{className:"upload-button",style:{cursor:"pointer"}},"\u672C\u5730\u4E0A\u4F20",$e.createElement("input",{type:"file",onChange:Bt}))}function Nt(Bt,bt){if(!Bt)throw new String("\u6CA1\u6709\u6587\u4EF6");let ln=new FormData;ln.append("editormd-image-file",Bt),ln.append("file_param_name","editormd-image-file"),ln.append("byxhr","true");var Kt=new window.XMLHttpRequest;Kt.withCredentials=!0,Kt.addEventListener("load",function(ni){bt(JSON.parse(ni.target.responseText),Bt)},!1),Kt.addEventListener("error",function(ni){console.error(ni)},!1),Kt.open("POST",`${en.KI}/api/attachments.json`),Kt.send(ln)}},91558:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return jt}});var Fe=Je(59301),xt=Je(4676);class jt extends Fe.Component{constructor(It){super(It);const zt=window.document;this.node=zt.createElement("div"),zt.body.appendChild(this.node)}render(){const{children:It}=this.props;return(0,xt.createPortal)(It,this.node)}componentWillUnmount(){window.document.body.removeChild(this.node)}}},37808:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return xt}});var Fe=Je(59301);function xt(jt,kt){const It=(0,Fe.useRef)();(0,Fe.useEffect)(()=>{It.current=jt}),(0,Fe.useEffect)(()=>{function zt(){It.current()}if(kt!==null){let wt=setInterval(zt,kt);return()=>clearInterval(wt)}},[kt])}},48716:function(qt,xi,Je){"use strict";Je.d(xi,{Q8:function(){return Et},d0:function(){return Si},w6:function(){return Ht}});var Fe=Je(59301),xt=Je(16326),jt=Je(82326),kt=Je(6767),It=Je(62957),zt=Je(47889),wt=Je(77019),en=Je(5269),$t=Je(25399),$e=Je(62673),Gt=Je(99571),an=Je(61186),gn=Je.n(an),Ke=Je(48790),ue=Je(38986),ce=Je(89392),Ee=Je.n(ce),Ae=Je(51257),Be=Je(22982),Ne=Je(25690),Ue=Je(43155),nt=Je(40197),ft=Je(59229),St=Je(3039),Nt=Je(75736),Bt=Je(59301),bt=Object.defineProperty,ln=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,ni=Object.getOwnPropertySymbols,pn=Object.prototype.hasOwnProperty,ci=Object.prototype.propertyIsEnumerable,di=(Vn,zi,on)=>zi in Vn?bt(Vn,zi,{enumerable:!0,configurable:!0,writable:!0,value:on}):Vn[zi]=on,Ln=(Vn,zi)=>{for(var on in zi||(zi={}))pn.call(zi,on)&&di(Vn,on,zi[on]);if(ni)for(var on of ni(zi))ci.call(zi,on)&&di(Vn,on,zi[on]);return Vn},si=(Vn,zi)=>ln(Vn,Kt(zi)),gr=(Vn,zi,on)=>new Promise((Wt,zn)=>{var br=We=>{try{vt(on.next(We))}catch(je){zn(je)}},uo=We=>{try{vt(on.throw(We))}catch(je){zn(je)}},vt=We=>We.done?Wt(We.value):Promise.resolve(We.value).then(br,uo);vt((on=on.apply(Vn,zi)).next())});function Ht(Vn,zi){const on=[];for(let Wt=Vn;Wt{const Wt=Vngn()(zi).endOf("day"),br=Vn{const on=parseInt(gn()(Vn).format("HH")),Wt=parseInt(gn()().format("HH")),zn=parseInt(gn()().format("mm"));if(!Vn)return{disabledHours:()=>Ht(0,Wt),disabledMinutes:()=>Ht(0,zn)};if(zi){const br=parseInt(gn()(zi).format("HH")),uo=parseInt(gn()(zi).format("mm"));return gn()(Vn).isSame(gn()(zi),"day")?{disabledHours:()=>Ht(0,br),disabledMinutes:()=>on<=br?Ht(0,uo):[]}:void 0}if(gn()(Vn).isSame(gn()(),"day"))return{disabledHours:()=>Ht(0,Wt),disabledMinutes:()=>gn()(Vn).isSame(gn()(),"hour")&&on<=Wt?Ht(0,zn):[]}},_r=(Vn,zi)=>Vn==null?void 0:Vn.map(on=>{var Wt;return(Wt=zi==null?void 0:zi.find(zn=>zn.value===on))==null?void 0:Wt.id}),{RangePicker:zr}=xt.default,{Option:Fn}=jt.default,An=({shixunHomeworks:Vn,loading:zi,dispatch:on,classroomList:Wt,user:zn})=>{var br,uo,vt,We,je,ct,Pt,qe,Hn;const Ci=(0,Ne.useParams)(),{workSetting:gi,workList:ps,shixunWorkList:$r,headerInfo:Ji,changeData:ws}=Vn,[Gr,Ms]=(0,Fe.useState)(!1),[$a,mo]=(0,Fe.useState)(!1);let[Ss,Sn]=(0,Fe.useState)([]),[wi,Di]=(0,Fe.useState)([]),[Ei,Kr]=(0,Fe.useState)({unified_setting:!1,publish_time:"",end_time:"",allow_late:!1,unified_late:!0,late_time:"",late_penalty:0,penalty_type:Ue.Q.Percent,challenge_settings:[],work_efficiency:!1,shixun_evaluation:"",answer_open_evaluation:!1,answer_public:!1,score_open:!1,comment_public:!0,total_score:"",eff_score:0,action_analysis:!1,work_end_forbid_evaluate:!1});const[oo,vo]=(0,Fe.useState)({}),[ts,Bs]=(0,Fe.useState)({});(0,Fe.useEffect)(()=>()=>{Sn([])},[]),(0,Fe.useEffect)(()=>{Ms(!(0,Ke.GJ)())},[(0,Ke.GJ)()]);const vr=()=>{on({type:"shixunHomeworks/getWorkSetting",payload:Ln({},Ci)})};(0,Fe.useEffect)(()=>{if(!(gi!=null&&gi.course_id))return;Object.keys(Ei).map(function(Li){Ei[Li]=gi[Li]}),(!Ei.allow_late||!Ei.unified_late)&&(Ei.late_penalty=20,Ei.penalty_type=Ue.Q.Percent),Ei.unified_setting||(Ei.unified_late=!1,Ei.unified_anonymous_comment=!1,Ei.unified_anonymous_appeal=!1),Ss=JSON.parse(JSON.stringify(gi.group_settings.map(Li=>si(Ln({},Li),{group_name:[Li.group_name]})).filter(Li=>Li.publish_time!==null))),wi=JSON.parse(JSON.stringify(gi.allow_late_settings.map(Li=>si(Ln({},Li),{group_name:[Li.group_name]})).filter(Li=>Li.late_time!==null))),Kr(Ln({},Ei));const Fi=(0,Ae.QE)((Ss==null?void 0:Ss.length)>0?Ss:[]);Sn([...Fi]),(wi==null?void 0:wi.length)<=0?Di([{penalty_type:Ue.Q.Percent,late_penalty:20}]):Di([...wi])},[gi]);const ta=()=>gr(void 0,null,function*(){var Fi,Li;if(((Fi=zn==null?void 0:zn.userInfo)==null?void 0:Fi.user_status)===2){(0,nt.Rd)();return}const Ws=JSON.parse(JSON.stringify(Ei));if(Ws.challenge_settings.filter(hr=>!hr.hide),Ws.categoryId=Ci.categoryId,(Li=Ws.challenge_settings)!=null&&Li.every(hr=>!hr.checked)){kt.ZP.warning("\u5173\u5361\u4E0D\u80FD\u5168\u90E8\u8BBE\u7F6E\u4E3A\u53EF\u4E0D\u505A");return}if(console.log(Ss),!Ei.unified_setting)Ss=Ss==null?void 0:Ss.map(hr=>{var Nn;if(!hr.publish_time||!hr.end_time)throw kt.ZP.error("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!hr.group_name)throw kt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return hr.group_name=typeof(hr==null?void 0:hr.group_name)=="string"?[hr==null?void 0:hr.group_name]:hr==null?void 0:hr.group_name,hr.group_id=(Nn=gi.group_settings)==null?void 0:Nn.filter(ri=>{var fn;return(fn=hr==null?void 0:hr.group_name)==null?void 0:fn.includes(ri.group_name)}).map(ri=>ri.group_id||ri.id).toString().split(","),hr});else if(!Ei.publish_time||!Ei.end_time)throw kt.ZP.error("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A"),new String("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A");if(Ws.group_settings=Ss,Ei.allow_late)if(Ei.unified_late){if(Ei.late_penalty===null||Ei.late_penalty===void 0||Ei.late_penalty<0||Ei.late_penalty>100)throw kt.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!Ei.late_time)throw kt.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574")}else wi=wi==null?void 0:wi.map(hr=>{var Nn,ri;if(hr.late_penalty===null||hr.late_penalty===void 0||hr.late_penalty<0||hr.late_penalty>100)throw kt.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!hr.late_time)throw kt.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!hr.group_name)throw kt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return hr.group_name=typeof(hr==null?void 0:hr.group_name)=="string"?[hr==null?void 0:hr.group_name]:hr==null?void 0:hr.group_name,hr.group_id=(ri=(Nn=hr==null?void 0:hr.group_name)==null?void 0:Nn.map(fn=>{var yn,_t;let wn=(_t=(yn=gi.group_settings)==null?void 0:yn.filter(pr=>(pr==null?void 0:pr.group_name)===fn))==null?void 0:_t[0];return wn==null?void 0:wn.group_id}))==null?void 0:ri.toString().split(","),hr}),Ws.allow_late_settings=wi;let co=yield(0,Nt.Tr)({homework_common_ids:[parseInt(Ci.categoryId)],course_id:Ci.coursesId,type:"homework_common"});(co==null?void 0:co.student_count)===0?ba(Ws):(Bs(Ws),vo(co))}),ba=Fi=>{var Li;if(Fi.total_score===null){kt.ZP.warning("\u603B\u5206\u503C\u4E0D\u80FD\u4E3A\u7A7A");return}if(Fi!=null&&Fi.work_efficiency&&Fi.eff_score===null){kt.ZP.warning("\u6548\u7387\u5206\u4E0D\u80FD\u4E3A\u7A7A");return}const Ws=Fi.challenge_settings.reduce((Nn,ri)=>Nn+Number(ri.challenge_score),0);if((Ws==null?void 0:Ws.toFixed(10))!==((Li=Fi.total_score-Fi.eff_score)==null?void 0:Li.toFixed(10))){kt.ZP.warning(`\u6548\u7387\u5206\u52A0\u5173\u5361\u4EFB\u52A1\u603B\u5206\u5FC5\u987B\u7B49\u4E8E\u603B\u5206\u503C\uFF1A${Fi.total_score}\u5206`);return}const co={shixun_evaluation:Fi.shixun_evaluation,challenge_settings:Fi.challenge_settings};let hr=()=>{var Nn;const ri=()=>gr(void 0,null,function*(){mo(!0),(yield(0,ue.ZP)(`/api/homework_commons/${Ci.categoryId}/publish_setting.json`,{method:"post",body:Ln({},Fi)})).status===0&&(kt.ZP.success("\u66F4\u65B0\u6210\u529F"),vr(),on({type:"shixunHomeworks/getShixunWorkHeadInfo",payload:Ln({},Ci)})),mo(!1)});!(0,ce.isEqual)(ws,co)&&!((Nn=Ji==null?void 0:Ji.homework_status)!=null&&Nn.includes("\u672A\u53D1\u5E03"))?It.default.confirm({title:"\u66F4\u65B0\u6210\u7EE9",content:"\u60A8\u6539\u52A8\u4E86\u672C\u6B21\u4F5C\u4E1A\u7684\u5173\u5361\u5F97\u5206\u8BBE\u7F6E\uFF0C\u8FD9\u53EF\u80FD\u5BFC\u81F4\u5DF2\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\u7684\u6210\u7EE9\u4EA7\u751F\u9519\u8BEF\u3002\u70B9\u51FB\u201C\u786E\u5B9A\u201D\u6309\u94AE\u5C06\u4FDD\u5B58\u6700\u65B0\u8BBE\u7F6E\u5E76\u6309\u6700\u65B0\u8BBE\u7F6E\u66F4\u65B0\u5168\u73ED\u6210\u7EE9\u3002",okText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88",onOk:ri}):ri()};gi!=null&&gi.high_resources_consume&&!(gi!=null&&gi.high_resources_consume_permission)?on({type:"classroomList/setActionTabs",payload:{key:"\u6388\u6743\u4F7F\u7528",id:Ci.coursesId,type:"shixun",type_id:Ci.categoryId,name:gi.homework_name,fn:()=>{hr()}}}):hr()},ua=(Fi,Li,Ws="group_id")=>{var co;return Li?Li.find(hr=>hr[Ws]===Fi):(co=gi==null?void 0:gi.group_settings)==null?void 0:co.find(hr=>hr.group_id[0]===Fi)},Ps=(gi==null?void 0:gi.allow_late)||(gi==null?void 0:gi.anonymous_comment),Na=Fi=>{var Li,Ws;const co=ua(Fi,gi==null?void 0:gi.allow_late_settings,"id"),hr=ua(Fi,gi==null?void 0:gi.anonymous_comment_settings),Nn=ua(Fi);return(gi==null?void 0:gi.allow_late)&&co&&gn()(co==null?void 0:co.late_time)<=gn()()||(gi==null?void 0:gi.anonymous_comment)&&hr&&(hr==null?void 0:hr.evaluation_start)!==null||((Ws=(gn()(Nn==null?void 0:Nn.end_time)<=gn()()&&((Li=gi==null?void 0:gi.allow_late_settings)==null?void 0:Li.filter(ri=>ri.group_id.includes(Fi))))[0])==null?void 0:Ws.late_time)!=null},Xs=(0,Fe.useMemo)(()=>(gi==null?void 0:gi.allow_late)||(gi==null?void 0:gi.all_group_late),[gi,Ji]),os=gi==null?void 0:gi.anonymous_comment,gl=Fi=>{if(!Fi)return!1;const Li=ua(Fi,gi==null?void 0:gi.anonymous_comment_settings);return(gi==null?void 0:gi.anonymous_comment)&&Li&&(Li==null?void 0:Li.evaluation_start)!==null},Ve=(Fi,Li)=>{var Ws,co,hr,Nn,ri;Fi!=null&&Fi.group_id||(Fi.group_id=_r(Fi==null?void 0:Fi.group_name,gi==null?void 0:gi.group_settings)),on({type:"classroomList/setActionTabs",payload:{key:"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",data:Fi,index:Li,rangePickerDisabled:(co=(Ws=Fi==null?void 0:Fi.group_id)==null?void 0:Ws[0])!=null&&co.publish_time?Gr||(gn()()<=gn()((Nn=ua((hr=Fi==null?void 0:Fi.group_id)==null?void 0:hr[0]))==null?void 0:Nn.publish_time)?!1:[!0,Na((ri=Fi==null?void 0:Fi.group_id)==null?void 0:ri[0])]):!1,disabledDate:gi==null?void 0:gi.course_end_date}})};return Bt.createElement("section",{className:Be.Z.form},Bt.createElement("div",{className:Be.Z.title},"\u4F5C\u4E1A\u53D1\u5E03",Bt.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u4F5C\u4E1A\u4E00\u65E6\u53D1\u5E03\u540E\u4E0D\u53EF\u53D8\u66F4\u8BD5\u9898\u53D1\u5E03\u6A21\u5F0F\uFF09")),Bt.createElement("div",null,Bt.createElement("div",{style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Bt.createElement(zt.ZP.Group,{disabled:Gr||!((br=Ji==null?void 0:Ji.homework_status)!=null&&br.includes("\u672A\u53D1\u5E03"))||(0,Ke.Rm)()&&!((uo=Wt.AssistantObject.practice)!=null&&uo.can_publish),value:Ei.unified_setting,onChange:Fi=>{var Li;if(!((Li=Ji==null?void 0:Ji.homework_status)!=null&&Li.includes("\u672A\u53D1\u5E03"))){kt.ZP.error("\u5DF2\u53D1\u5E03\uFF0C\u4E0D\u80FD\u518D\u4FEE\u6539\u7EDF\u4E00\u8BBE\u7F6E");return}if(Ei.unified_setting=!Ei.unified_setting,Ei.unified_setting||(Ei.unified_late=!1,Di([{late_penalty:5}])),Kr(Object.assign({},Ei)),Ei.unified_setting===!1&&Ss==""){Sn(Ss.concat({}));return}Ei.unified_setting&&(Sn([]),Di([{late_penalty:5}]))}},Bt.createElement(zt.ZP,{value:!0,disabled:Gr||!(gi!=null&&gi.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u53D1\u5E03"),Bt.createElement(zt.ZP,{disabled:Gr||!((vt=gi==null?void 0:gi.group_settings)!=null&&vt.length),value:!1},"\u5206\u73ED\u53D1\u5E03")),((We=gi==null?void 0:gi.group_settings)==null?void 0:We.length)===0&&Bt.createElement("div",{style:{color:"rgba(0, 0, 0, 0.25)",height:"22px"}},"\uFF08\u672C\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03\u201C\uFF09")),Ei.unified_setting&&Bt.createElement("div",{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",height:"50px",marginTop:"1px"}},Bt.createElement(wt.Z,{align:"middle"},Bt.createElement(en.Z,{style:{marginLeft:"23px"}},"\u53D1\u5E03\u65F6\u95F4"),Bt.createElement(en.Z,{className:"ml10"},Bt.createElement(xt.default,{size:"large",disabled:Gr||!((je=Ji==null?void 0:Ji.homework_status)!=null&&je.includes("\u672A\u53D1\u5E03")||(ct=Ji==null?void 0:Ji.homework_status)!=null&&ct.includes("\u672A\u5F00\u59CB"))||(0,Ke.Rm)()&&!((Pt=Wt.AssistantObject.practice)!=null&&Pt.can_publish),style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm"},allowClear:!1,format:"YYYY-MM-DD HH:mm",disabledDate:Fi=>Et(Fi,gi==null?void 0:gi.course_end_date),disabledTime:Fi=>Si(Fi),value:Ei.publish_time?gn()(Ei.publish_time):"",onChange:(Fi,Li)=>{Ei.publish_time=Li,(Ei.end_time==""||!Ei.end_time)&&Ei.unified_setting&&(Ei.end_time=gn()(Fi).add(7,"days").format("YYYY-MM-DD HH:mm:ss")),Kr(Object.assign({},Ei))}}))),Bt.createElement(wt.Z,{align:"middle",className:"pl30"},Bt.createElement(en.Z,null,"\u622A\u6B62\u65F6\u95F4"),Bt.createElement(en.Z,{className:"ml10"},Bt.createElement(xt.default,{size:"large",style:{width:170},allowClear:!1,placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:gn()((0,Ae.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:(gi==null?void 0:gi.allow_late)&&(gi==null?void 0:gi.homework_status.includes("\u5DF2\u622A\u6B62"))||Gr||(gi==null?void 0:gi.allow_late)&&gn()()>=gn()(gi==null?void 0:gi.end_time)||(0,Ke.Rm)()&&!((qe=Wt.AssistantObject.practice)!=null&&qe.can_publish),disabledDate:Fi=>Et(Fi,gi==null?void 0:gi.course_end_date,Ei.publish_time),disabledTime:Fi=>Si(Fi,Ei.publish_time),value:Ei.end_time?gn()(Ei.end_time):"",onChange:(Fi,Li)=>{Ei.end_time=Li,Kr(Object.assign({},Ei))}})))),!Ei.unified_setting&&(Ss==null?void 0:Ss.length)>0&&Bt.createElement(wt.Z,{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",marginTop:"1px"}},Ss&&Ss.map(function(Fi,Li){var Ws,co,hr,Nn,ri,fn,yn;return Bt.createElement(en.Z,{span:24,key:Li},Bt.createElement(wt.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:Li==(Ss==null?void 0:Ss.length)-1?"0px":"10px"}},Bt.createElement("div",{style:{minWidth:85,marginRight:"15px",textAlign:"right"}},"\u53D1\u5E03\u89C4\u5219",Li+1),Bt.createElement(jt.default,{disabled:Gr||((Ws=Ji==null?void 0:Ji.homework_status)!=null&&Ws.includes("\u672A\u53D1\u5E03")&&Fi.id||gn()(){var wn;if((0,Ke.Rm)()&&!((wn=Wt.AssistantObject.practice)!=null&&wn.can_publish)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ss[Li].group_name=_t,Ss[Li].group_id=Fi.group_id;const pr=(0,ce.flattenDeep)(Ss.map(yo=>yo.group_name)),Lr=wi.map(yo=>{let Jn=(yo==null?void 0:yo.group_name)||[];return si(Ln({},yo),{group_name:(0,ce.remove)(Jn,xr=>pr.includes(xr))})});Di(Lr),Sn(Ss.slice())},maxTagCount:4,maxTagPlaceholder:_t=>Bt.createElement("div",{style:{cursor:"pointer"},onClick:()=>Ve(Fi,Li)},"+",_t==null?void 0:_t.length)},gi.group_settings&&gi.group_settings.map(function(_t){if(!Ss.map(pr=>pr.group_name).flat().includes(_t.group_name))return Bt.createElement(Fn,{value:_t.group_name,key:_t.id},_t.group_name)})),Bt.createElement("div",{className:"ml20"},Bt.createElement(zr,{size:"large",ranges:{\u6B64\u523B:[Fi.publish_time?gn()(Fi.publish_time):gn()(),gn()()]},allowClear:!1,disabled:Gr||(gn()()<=gn()((Nn=ua((hr=Fi==null?void 0:Fi.group_id)==null?void 0:hr[0]))==null?void 0:Nn.publish_time)?!1:[!0,Na((ri=Fi==null?void 0:Fi.group_id)==null?void 0:ri[0])]),style:{width:605},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:_t=>Et(_t,gi==null?void 0:gi.course_end_date),disabledTime:_t=>Si(_t),showTime:{showNow:!0,format:"HH:mm",defaultValue:[gn()((0,Ae.U6)(),"HH:mm"),gn()((0,Ae.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:[Fi.publish_time?gn()(Fi.publish_time):void 0,Fi.end_time?gn()(Fi.end_time):void 0],onChange:(_t,wn)=>{var pr;if((0,Ke.Rm)()&&!((pr=Wt.AssistantObject.practice)!=null&&pr.can_publish)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ss[Li].publish_time=wn[0],!Fi.end_time&&wn[0]?Ss[Li].end_time=gn()(wn[0]).add(7,"days"):Ss[Li].end_time=wn[1],Sn([...Ss])},onCalendarChange:(_t,wn,pr)=>{if(wn!=null&&wn[0]&&!wn[1]){const Lr=gn()(wn[0]).add(7,"days");Ss[Li].publish_time=wn[0],Ss[Li].end_time=Lr,Sn([...Ss])}}})),!Gr&&Bt.createElement("div",{style:{display:"flex",width:"50px"}},((fn=Fi==null?void 0:Fi.group_id)==null?void 0:fn.length)>1&&Bt.createElement($t.Z,{title:"\u89C4\u5219\u62C6\u5206"},Bt.createElement("i",{className:"iconfont icon-chaifen ml10",style:{cursor:"pointer",color:"#3061d0"},onClick:()=>Ve(Fi,Li)})),Ss.length<((yn=gi==null?void 0:gi.group_settings)==null?void 0:yn.length)&&Bt.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var _t;if((0,Ke.Rm)()&&!((_t=Wt.AssistantObject.practice)!=null&&_t.can_publish)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Sn(Ss.concat({}))}}),((Fi==null?void 0:Fi.publish_time)&&gn()(){const _t=(0,ce.cloneDeep)(wi);_t.forEach((wn,pr)=>{wn.group_name&&(wn.group_name=wn.group_name.filter(Lr=>{var yo;return!((yo=Ss[Li].group_name)!=null&&yo.includes(Lr))}))}),Ss=Ss.filter((wn,pr)=>Li!==pr),Di(_t),Sn(Ss.slice()),setTimeout(()=>Sn(Ss.slice()),10)}}))))}))),Bt.createElement(wt.Z,null,Bt.createElement(en.Z,null,Bt.createElement("div",{className:Be.Z.title,style:{marginTop:"30px"}},"\u8865\u4EA4\u8BBE\u7F6E",Bt.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u53EF\u5BF9\u5728\u4F5C\u4E1A\u53D1\u5E03\u65F6\u95F4\u8303\u56F4\u5185\u672A\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\uFF0C\u5EF6\u957F\u65F6\u95F4\u8FDB\u884C\u8865\u4EA4\uFF09"))),Bt.createElement(en.Z,{span:24,style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Bt.createElement($e.default,{checked:Ei.allow_late,disabled:Gr||Xs,onChange:Fi=>{var Li;if((0,Ke.Rm)()&&!((Li=Wt.AssistantObject.practice)!=null&&Li.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Fi.target.checked&&It.default.warning({title:"\u5F00\u542F\u8865\u4EA4\u63D0\u793A",centered:!0,width:480,content:Bt.createElement("div",{style:{padding:10,background:"#f5f6f9"}},Bt.createElement("div",null,"1.\u5F00\u542F\u8865\u4EA4\u540E\u4E0D\u53EF\u5173\u95ED\uFF0C\u8865\u4EA4\u65B9\u5F0F\u63D0\u4EA4\u4FDD\u5B58\u540E\u4E0D\u53EF\u4FEE\u6539\uFF1B"),Bt.createElement("div",null,"2.\u8865\u4EA4\u622A\u6B62\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\uFF1B"),Bt.createElement("div",null,"3.\u73ED\u7EA7\u9636\u6BB5\u8FDB\u5165\u201C\u8865\u4EA4\u4E2D\u201D\u5219\u4E0D\u53EF\u53D8\u66F4\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\u3002"))}),Ei.allow_late=!Ei.allow_late,wi==""&&Di([{late_penalty:5}]),Kr(Object.assign({},Ei))}},Bt.createElement("strong",null,"\u5F00\u542F\u8865\u4EA4")))),(Ei==null?void 0:Ei.allow_late)&&Bt.createElement("div",{style:{background:"#F6F7F9",padding:"10px 30px",marginTop:"1px",color:"#666666"}},Bt.createElement("div",{style:{display:"flex"}},Bt.createElement("div",{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u65B9\u5F0F"),Bt.createElement(zt.ZP.Group,{style:{marginLeft:"20px"},disabled:Gr||(gi==null?void 0:gi.anonymous_comment)||(gi==null?void 0:gi.allow_late),value:Ei.unified_late,onChange:Fi=>{var Li;if((0,Ke.Rm)()&&!((Li=Wt.AssistantObject.practice)!=null&&Li.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ei.unified_late=Fi.target.value,wi==""&&!Fi.target.value&&Di([{penalty_type:Ue.Q.Percent,late_penalty:20}]),Kr(Ln({},Ei))}},(Ei==null?void 0:Ei.unified_setting)&&Bt.createElement(zt.ZP,{value:!0,disabled:!(gi!=null&&gi.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u8865\u4EA4"),((Hn=gi==null?void 0:gi.group_settings)==null?void 0:Hn.length)>0&&Bt.createElement(zt.ZP,{value:!1},"\u5206\u73ED\u8865\u4EA4"))),Ei!=null&&Ei.unified_late?Bt.createElement(Bt.Fragment,null,Bt.createElement(wt.Z,{align:"middle",style:{marginTop:"10px"}},Bt.createElement(en.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u6263\u5206"),Bt.createElement(en.Z,{className:"ml20"},Bt.createElement(Ue.Z,{disabled:Gr||os,value:{type:Ei.penalty_type,inputValue:Ei.late_penalty},onChange:Fi=>{var Li;if((0,Ke.Rm)()&&!((Li=Wt.AssistantObject.practice)!=null&&Li.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Kr(si(Ln({},Ei),{late_penalty:Fi.inputValue,penalty_type:Fi.type}))}})),Bt.createElement(en.Z,{flex:"1",className:"ml5"},Bt.createElement("span",{className:"c-grey-c ml10"},Ei.penalty_type===Ue.Q.Number?"(\u8865\u4EA4\u65F6\u6309\u7167\u5B66\u751F\u603B\u6210\u7EE9\u6263\u5206)":"(\u5B66\u751F\u6700\u7EC8\u5F97\u5206=\u8865\u4EA4\u524D\u5F97\u5206+\u8865\u4EA4\u9636\u6BB5\u589E\u52A0\u7684\u5206\u503C*\uFF08100%-\u767E\u5206\u6BD4%\uFF09)"))),Bt.createElement(wt.Z,{align:"middle",style:{marginTop:"15px"}},Bt.createElement(en.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Bt.createElement(en.Z,{className:"ml20"},Bt.createElement(xt.default,{size:"large",allowClear:!1,style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:gn()((0,Ae.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:Gr||os,value:Ei.late_time?gn()(Ei.late_time):"",disabledDate:Fi=>Et(Fi,gi==null?void 0:gi.course_end_date),onChange:(Fi,Li)=>{var Ws;if((0,Ke.Rm)()&&!((Ws=Wt.AssistantObject.practice)!=null&&Ws.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ei.late_time=Li,Kr(Object.assign({},Ei))}})))):wi.map(function(Fi,Li){var Ws;return Bt.createElement(en.Z,{span:24,key:Li},Bt.createElement(wt.Z,{style:{display:"flex",alignItems:"center",marginTop:"10px"}},Bt.createElement("div",{style:{width:"85px",marginLeft:"27px",textAlign:"right"}},"\u8865\u4EA4\u89C4\u5219",Li+1),Bt.createElement(jt.default,{disabled:Gr||!((Ws=Ji==null?void 0:Ji.homework_status)!=null&&Ws.includes("\u672A\u53D1\u5E03"))&&Fi.id||(gi==null?void 0:gi.anonymous_comment),mode:"multiple",className:Be.Z.multiple_select,style:{width:"212px",marginLeft:"18px"},value:typeof Fi.group_name=="string"?[Fi.group_name]:Fi.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:co=>{var hr;if((0,Ke.Rm)()&&!((hr=Wt.AssistantObject.practice)!=null&&hr.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi[Li].group_name=co,wi[Li].group_id=Fi.group_id,Di(wi.slice())}},gi.group_settings&&gi.group_settings.map(function(co){const hr=wi.map(ri=>ri.group_name).flat(),Nn=Ss.map(ri=>ri.group_name).flat();if(Ei!=null&&Ei.unified_setting){if(!hr.includes(co.group_name))return Bt.createElement(Fn,{value:co.group_name,key:co.id},co.group_name)}else if(Nn.includes(co.group_name)&&!hr.includes(co.group_name))return Bt.createElement(Fn,{value:co.group_name,key:co.id},co.group_name)})),Bt.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u6263\u5206"),Bt.createElement(Ue.Z,{disabled:Gr||gl(Fi.id),value:{type:Fi.penalty_type,inputValue:Fi.late_penalty},onChange:co=>{var hr;if((0,Ke.Rm)()&&!((hr=Wt.AssistantObject.practice)!=null&&hr.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi[Li].late_penalty=co.inputValue,wi[Li].penalty_type=co.type,Di([...wi])}}),Bt.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Bt.createElement(xt.default,{size:"large",disabled:Gr||gl(Fi.id),style:{width:225},showTime:{format:"HH:mm",defaultValue:gn()((0,Ae.U6)(),"HH:mm")},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",disabledDate:co=>Et(co,gi==null?void 0:gi.course_end_date),format:"YYYY-MM-DD HH:mm",value:Fi!=null&&Fi.late_time?gn()(Fi.late_time):void 0,onChange:(co,hr)=>{var Nn;if((0,Ke.Rm)()&&!((Nn=Wt.AssistantObject.practice)!=null&&Nn.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi[Li].late_time=hr,Di([...wi])}}),!Gr&&Bt.createElement("div",{style:{display:"flex",width:"50px"}},Bt.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var co;if((0,Ke.Rm)()&&!((co=Wt.AssistantObject.practice)!=null&&co.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Di(wi.concat({penalty_type:Ue.Q.Percent,late_penalty:20}))}}),Li>0&&!Fi.id&&Bt.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{var co;if((0,Ke.Rm)()&&!((co=Wt.AssistantObject.practice)!=null&&co.can_late)){kt.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}wi=wi.filter((hr,Nn)=>Li!==Nn),Di(wi.slice()),setTimeout(()=>Di(wi.slice()),10)}}))))})),!Gr&&Bt.createElement(Bt.Fragment,null,Bt.createElement(Gt.ZP,{type:"primary",size:"large",loading:$a,style:{width:"138px",marginTop:"30px"},onClick:()=>ta()},"\u4FDD\u5B58")),Bt.createElement(ft.Z,{onConfirm:(Fi,Li)=>{Ss.splice(Fi,0,...Li),Ss.splice(Fi+Li.length,1);const Ws=(0,Ae.QE)([...Ss]);Sn([...Ws])}}),Bt.createElement(St.Z,{resdata:oo,type:"shixun",okloading:$a,oktext:(oo==null?void 0:oo.can_copy_num)===0?"\u786E\u5B9A":"\u4E00\u952E\u590D\u5236\u5E76\u66FF\u6362",onok:Fi=>gr(void 0,null,function*(){mo(!0);let Li=yield(0,ue.ZP)(`/api/courses/${Ci.coursesId}/batch_copy_shixuns.json`,{method:"post",body:{type:"homework_common",ids:[parseInt(Ci.categoryId)]}});mo(!1),(Li==null?void 0:Li.status)===0&&ba(ts)})}))};xi.ZP=(0,Ne.connect)(({shixunHomeworks:Vn,classroomList:zi,loading:on,user:Wt})=>({shixunHomeworks:Vn,classroomList:zi,loading:on.effects,user:Wt}))(An)},73410:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return $e}});var Fe=Je(59301),xt=Je(37568),jt=Je(62673),kt=Je(77019),It={leftdiv:"leftdiv___aBzsX",listClass:"listClass___bxIEW",spantitle:"spantitle___v_Vc4",rightdiv:"rightdiv___xWu4M"},zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAbVJREFUOE+Nk79rFUEUhb+zE4OFwUD+CyGKKQQbSaMikQQ7C1tBBIsUQaJvl2Fn/cWDpAiIYJsi7YOIaCUWFoKKRhG0sbEzEImFGnev7G6yyXsxeU5159yZb87l3hG9q2WLiBO79FIwXpLp0s6cwITnQCMWrGDM43jdBckZQ0wTMdrong2R2Bxm0/98sZ8ozdcOEm5hjOC41u9Olc9ZQKySclOVkNhljCmCzjeAJM/4FbW5p+8k5tlggTtarfKxLSM6pHq4BTiL0SboaAOIi284jeP1nti+ApMEvdoEvEPMkOpJDZi1IwzwgqDh/wSsYZwk08ca4O0Qua3zW8OV5crmHg6u22EGbQ2nIbx+1IC6rrK+cYJW9gXEVrbxGUEj5bltQGJvgBapHu0LSGwCyEh1vBsQWwd4TNCDPg6uAOcImuoFlL1dJ9WNPg5uYwwRVM3MzhJmKIpjZK6e9bj4jNNpvL4QFx9wuoDXJ1r5IlH0llTtXgcXwa4SolObnYnwKnbFcfEcdJ+gpW6AtzFynuIop/Fn053u4CA5yzjO4FV9tu0Syl2S38WiSWBgD8AfoEPQ7Fb+LwIiyhxWwe2KAAAAAElFTkSuQmCC",wt=Je(28426),en=(Gt,an,gn)=>new Promise((Ke,ue)=>{var ce=Be=>{try{Ae(gn.next(Be))}catch(Ne){ue(Ne)}},Ee=Be=>{try{Ae(gn.throw(Be))}catch(Ne){ue(Ne)}},Ae=Be=>Be.done?Ke(Be.value):Promise.resolve(Be.value).then(ce,Ee);Ae((gn=gn.apply(Gt,an)).next())}),$e=({data:Gt,value:an=[],handleChangePage:gn,className:Ke="",setSelectedRowKeys:ue,selectedRowKeys:ce,onChange:Ee=()=>{}})=>{const[Ae,Be]=(0,Fe.useState)([]),[Ne,Ue]=(0,Fe.useState)([]),[nt,ft]=(0,Fe.useState)([]);let[St,Nt]=(0,Fe.useState)(1),[Bt,bt]=(0,Fe.useState)();return(0,Fe.useEffect)(()=>{Be(Gt),Ue([]),ft([])},[Gt]),(0,Fe.useEffect)(()=>{ue&&(Ue(ce),ft(ce))},[ce]),Fe.createElement("div",{className:`flex justify-between w-full ${Ke}`},Fe.createElement("div",{className:It.leftdiv},Fe.createElement(xt.default.Search,{size:"middle",style:{marginBottom:"10rem"},onChange:ln=>en(void 0,null,function*(){Be(Gt.filter(Kt=>{var ni;return(ni=Kt==null?void 0:Kt.name)==null?void 0:ni.includes(ln.target.value)}))}),placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),Ae.length===0&&Fe.createElement(wt.Z,{styles:{margin:"70rem auto"},customText:"\u6682\u65E0\u5206\u73ED"}),Fe.createElement("div",{style:{height:"85%",overflow:"auto",overflowX:"hidden"}},Fe.createElement(jt.default.Group,{value:Ne.map(ln=>`${ln.id}`),onChange:ln=>{ue(Ae.filter(Kt=>ln.includes(`${Kt.id}`)))},style:{marginTop:"10px",flexDirection:"column"}},Ae.map((ln,Kt)=>Fe.createElement(kt.Z,{key:ln.id,style:{marginTop:"10rem",lineHeight:"24rem",display:"flex",width:"200rem"}},Fe.createElement(jt.default,{style:{display:"flex",height:"24px",alignItems:"center"},disabled:ln.is_published,value:`${ln.id}`},Fe.createElement("div",{className:It.listClass},Fe.createElement("span",{className:It.spantitle,style:{width:ln.is_published?"108px":"170px"}},ln.name),ln.is_published&&Fe.createElement("span",{style:{width:"52px",height:"24px",background:"#B8B8B8",borderRadius:"13px",color:"white",lineHeight:"24px",textAlign:"center",display:"inline-block"}},"\u5DF2\u53D1\u5E03")))))))),Fe.createElement("div",{className:It.rightdiv},Fe.createElement(xt.default.Search,{onChange:ln=>{ft(Ne.filter(Kt=>Kt.name.includes(ln.target.value)))},size:"middle",placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),nt.length===0&&Fe.createElement(wt.Z,{imgStyles:{width:"200rem"},styles:{margin:"70rem auto"},customText:"\u6682\u672A\u9009\u62E9\u5206\u73ED"}),nt.length>0&&Fe.createElement("div",{style:{marginTop:"10px",height:"85%",overflow:"hidden",position:"relative"}},Fe.createElement("div",{style:{overflowX:"hidden",overflowY:"scroll",position:"absolute",left:0,top:0,right:-17,bottom:0}},nt.map((ln,Kt)=>Fe.createElement("div",{className:"flex justify-between item-center",style:{marginTop:"10rem"},key:ln.id},Fe.createElement("div",{className:"multi_ellipsis1 flex-1 minW-0",style:{margin:"0 5rem"}},ln.name),Fe.createElement("img",{src:zt,className:"current",style:{height:"16rem",marginRight:"17rem"},onClick:()=>{ue(Ne.filter(ni=>`${ni.id}`!=`${ln.id}`))}})))))))}},59229:function(qt,xi,Je){"use strict";Je.d(xi,{Z:function(){return Ee}});var Fe=Je(59301),xt=Je(25690),jt=Je(16326),kt=Je(62957),It=Je(37568),zt=Je(6767),wt=Je(77019),en=Je(5269),$t={title_tooltip:"title_tooltip___LLdrn",multiple_select:"multiple_select___kDXUm",modal_con:"modal_con___ERnkW"},$e=Je(61186),Gt=Je.n($e),an=Je(51257),gn=Je(28426),Ke=Je(59301);const{RangePicker:ue}=jt.default,ce=({dispatch:Ae,classroomList:Be,onConfirm:Ne})=>{const[Ue,nt]=(0,Fe.useState)([]),[ft,St]=(0,Fe.useState)([]),[Nt,Bt]=(0,Fe.useState)(""),[bt,ln]=(0,Fe.useState)([!1,!1]);(0,Fe.useEffect)(()=>{var pn,ci,di,Ln;if(Be.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206"){console.log((pn=Be.actionTabs)==null?void 0:pn.rangePickerDisabled),(ci=Be.actionTabs)!=null&&ci.rangePickerDisabled?ln((di=Be.actionTabs)==null?void 0:di.rangePickerDisabled):ln([!1,!1]);let si=Be.actionTabs.data,gr=(Ln=si==null?void 0:si.group_name)==null?void 0:Ln.map((Ht,Et)=>{var Si;return{group_id:si==null?void 0:si.group_id[Et],group_name:si==null?void 0:si.group_name[Et],is_admin:si==null?void 0:si.is_admin,end_time:si==null?void 0:si.end_time,publish_time:Array.isArray(si==null?void 0:si.publish_time)?(Si=si==null?void 0:si.publish_time)==null?void 0:Si[0]:si==null?void 0:si.publish_time}});gr&&(nt([...gr]),St([...gr]))}},[Be.actionTabs]);const Kt=()=>{Ae({type:"classroomList/setActionTabs",payload:{}}),Bt("")},ni=pn=>{if(pn){const ci=ft==null?void 0:ft.filter(di=>{var Ln,si;return(si=(Ln=di==null?void 0:di.group_name)==null?void 0:Ln.toLowerCase())==null?void 0:si.includes(pn==null?void 0:pn.toLowerCase())});nt(ci)}else nt(ft)};return Ke.createElement(kt.default,{width:980,title:Ke.createElement("div",{style:{fontWeight:"bold",display:"flex"}},Ke.createElement("div",null,"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",Ke.createElement("span",{className:$t.title_tooltip},"\uFF08\u5F53\u5206\u73ED\u53D1\u5E03\u65F6\u95F4\u548C\u622A\u6B62\u65F6\u95F4\u4E0D\u76F8\u540C\u65F6\u5019\uFF0C\u73ED\u7EA7\u81EA\u52A8\u62C6\u5206\u51FA\u53BB\u65B0\u8D77\u89C4\u5219\uFF09")),Ke.createElement(It.default.Search,{allowClear:!0,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",style:{width:220,marginLeft:"60px"},value:Nt,onChange:pn=>{Bt(pn.target.value.trim()),ni(pn.target.value.trim())}})),centered:!0,maskClosable:!1,open:Be.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",onCancel:()=>Kt(),onOk:()=>{var pn;if(ft.some(di=>!di.end_time||!di.publish_time)){zt.ZP.warning("\u8BF7\u5C06\u5217\u8868\u6570\u636E\u4E2D\u7684\u53D1\u5E03\u65F6\u95F4\u548C\u622A\u6B62\u65F6\u95F4\u8865\u5145\u5B8C\u6574\uFF01");return}Ne((pn=Be.actionTabs)==null?void 0:pn.index,ft),Kt()}},Ke.createElement("div",{className:$t.modal_con},Ke.createElement(wt.Z,{style:{display:"flex",color:"#666666",padding:"5px",marginTop:"1px"}},(Ue==null?void 0:Ue.length)>0?Ue.map(function(pn,ci){return Ke.createElement(en.Z,{span:24,key:ci},Ke.createElement(wt.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:ci==(Ue==null?void 0:Ue.length)-1?"0px":"10px"}},Ke.createElement("div",{className:$t.multiple_select,title:pn==null?void 0:pn.group_name},pn==null?void 0:pn.group_name),Ke.createElement("div",{className:"ml20"},Ke.createElement(ue,{size:"large",allowClear:!1,disabled:bt,style:{width:600},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:di=>{var Ln;return(0,an.Q8)(di,(Ln=Be.actionTabs)==null?void 0:Ln.disabledDate)},disabledTime:di=>(0,an.d0)(di),showTime:{showNow:!0,format:"HH:mm",defaultValue:[Gt()((0,an.U6)(),"HH:mm"),Gt()((0,an.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:(pn==null?void 0:pn.publish_time)&&[Gt()(pn==null?void 0:pn.publish_time),pn!=null&&pn.end_time?Gt()(pn==null?void 0:pn.end_time):void 0],onChange:(di,Ln)=>{Ue[ci].publish_time=Ln[0],Ue[ci].end_time=Ln[1],nt([...Ue]),ft.forEach(si=>{si.group_id===(pn==null?void 0:pn.group_id)&&(si.publish_time=Ln[0],si.end_time=Ln[1])}),St([...ft])},onCalendarChange:(di,Ln,si)=>{if(Ln!=null&&Ln[0]&&!Ln[1]){const gr=Gt()(Ln[0]).add(7,"days");Ue[ci].publish_time=Ln[0],Ue[ci].end_time=gr,nt([...Ue]),ft.forEach(Ht=>{Ht.group_id===(pn==null?void 0:pn.group_id)&&(Ht.publish_time=Ln[0],Ht.end_time=gr)}),St([...ft])}}})),bt[0]?Ke.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{color:"#E30000",opacity:"0.2",cursor:"not-allowed"}}):Ke.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{Ue.splice(ci,1),nt([...Ue]),ft.forEach((di,Ln)=>{di.group_id===(pn==null?void 0:pn.group_id)&&ft.splice(Ln,1)}),St([...ft])}})))}):Ke.createElement(gn.Z,null))))};var Ee=(0,xt.connect)(({classroomList:Ae})=>({classroomList:Ae}))(ce)},18437:function(qt,xi,Je){"use strict";Je.r(xi),Je.d(xi,{default:function(){return ese}});var Fe=Je(59301),xt=Je(25690),jt=Je(62957),kt=Je(6767),It=Je(99571),zt={flex_box_center:"flex_box_center___wc3oP",flex_space_between:"flex_space_between___YV6tt",flex_box_vertical_center:"flex_box_vertical_center___DBgDc",flex_box_center_end:"flex_box_center_end___uIUDS",flex_box_column:"flex_box_column___kQEdA",banner:"banner____Henj",wrp:"wrp___PZhnF",titleWrap:"titleWrap___GqIYn",titleFlexEnd:"titleFlexEnd___yQ3st",title:"title___djFnh",titleName:"titleName___o55kJ",titleIcon:"titleIcon___iO27M",contentWrap:"contentWrap___EkBTW",verticalLine:"verticalLine___aj4o0",contentLeftWrap:"contentLeftWrap___O08fb",openCourseTag:"openCourseTag___M35c8",tagsWrap:"tagsWrap____zRBh",ratingWrap:"ratingWrap___FD4BS",ratingTitle:"ratingTitle___sKXr7",rating:"rating___pPcWF",popoverWrap:"popoverWrap___XLvdy",popverLeft:"popverLeft___JghVb",popoverRight:"popoverRight___iN5hL",popverScore:"popverScore___LpP2e",popoverRateWrap:"popoverRateWrap___y3lUU",popoverProgress:"popoverProgress___SPsPq",button:"button___w71Iu",operationWrap:"operationWrap___xfwLx",forkWrap:"forkWrap___PUfTF",fork:"fork___SPjy6",forkNum:"forkNum___fwVaA",buttonTransparent:"buttonTransparent___V0ey6",buttonLearnStatistics:"buttonLearnStatistics___sWuSx",publishPopverWrap:"publishPopverWrap___maOAE",colorFF6802:"colorFF6802___Gb0xJ",w140:"w140___XOi_m",nav:"nav___j9ULg",navLeft:"navLeft___EEDpJ",navContent:"navContent___p8ZjQ",flexRow:"flexRow___cGkPG",navRight:"navRight____bBx2",navLeftIcon:"navLeftIcon___yRiiz",colorOrange:"colorOrange___isY7L",contentItem:"contentItem___OdKIu",contentItemTitle:"contentItemTitle___MBdkH",contentItemText:"contentItemText___YDgQC",classButton:"classButton___gidYF",bg28e:"bg28e___AuhUg",bgGray:"bgGray___zHFT7",btn:"btn___n_xyk",name:"name___AkijA",titleright:"titleright___AQpHe",edits:"edits___h0Etp",edit:"edit___YwQgI",deletes:"deletes___AEqz3",delete:"delete___C4ZUp",content:"content___urv2c",go:"go___BHrT0",goicon:"goicon___b33d6",tabs:"tabs___bmtXw"},wt=Je(36714),en=Je(28284),$t=Je(47889),$e=Je(17149),Gt=Je(37568),an=Je(29787),gn=Je(38986),Ke={applyPublicContainer:"applyPublicContainer___pImhb",applyPublicContent:"applyPublicContent____dPHq",spin:"spin___bBN3v",tips:"tips___uXmwo",action:"action___D3zVt"},ue=Je(87169),ce=Je(59301),Ee=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),Be=({type:ee,onCancel:y,onOk:E})=>{const[z]=en.default.useForm(),[ne,ie]=(0,Fe.useState)(1),[se,le]=(0,Fe.useState)(!1),[de,ge]=(0,Fe.useState)([]);(0,Fe.useEffect)(()=>{z.setFieldValue("type",1),ve()},[]);const ve=()=>Ee(void 0,null,function*(){if(ee){le(!0);const Se=yield(0,gn.ZP)("/api/disciplines.json",{method:"get",params:{source:ee}});ge(Se.disciplines||[]),le(!1)}}),xe=()=>{const{sub_discipline_id:Se,discipline_name:Me,sub_discipline_name:De,type:Oe}=z.getFieldsValue();if((!Se||Se&&Se.length===0)&&(!Me||!De))return kt.ZP.warning("\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),!1;E({user_customize:Oe==2,sub_discipline_id:Oe==1?[Se[1]]:null,discipline_name:Me,sub_discipline_name:De})};return ce.createElement(jt.default,{width:640,className:Ke.applyPublicContainer,centered:!0,title:"\u516C\u5F00\u8BFE\u7A0B",okText:"\u7533\u8BF7\u516C\u5F00",open:!0,onCancel:()=>{y(),z.resetFields()},onOk:()=>{z.validateFields().then(Se=>{if(ne==2&&(Se.discipline_name.replaceAll(" ","").length<=0||Se.sub_discipline_name.replaceAll(" ","").length<=0)){kt.ZP.info("\u65B9\u5411\u6216\u8BFE\u7A0B\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\u540E\u518D\u63D0\u4EA4\uFF01");return}xe(),z.resetFields()})}},ce.createElement("div",{className:Ke.applyPublicContent},ce.createElement("div",{className:Ke.tips},ce.createElement(ue.Z,{style:{color:"#FF8C29",marginRight:10}}),"\u586B\u5199\u5B9E\u8DF5\u8BFE\u7A0B\u7684\u65B9\u5411&\u8BFE\u7A0B\u4E4B\u540E\uFF0C\u65B9\u53EF\u7533\u8BF7\u516C\u5F00"),ce.createElement(en.default,{labelAlign:"left",form:z},ce.createElement(en.default.Item,{name:"type"},ce.createElement($t.ZP.Group,{onChange:Se=>{ie(Se.target.value),Se.target.value==1?z.setFieldsValue({discipline_name:"",sub_discipline_name:""}):z.setFieldsValue({sub_discipline_id:[]})}},ce.createElement($t.ZP,{value:1},"\u5FEB\u901F\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),ce.createElement($t.ZP,{value:2,style:{marginLeft:40}},"\u81EA\u5B9A\u4E49\u65B9\u5411&\u8BFE\u7A0B"))),ne==1&&ce.createElement(en.default.Item,{label:"\u65B9\u5411&\u8BFE\u7A0B",name:"sub_discipline_id",rules:[{required:!0}]},ce.createElement($e.Z,{expandTrigger:"hover",placeholder:"\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",options:de,fieldNames:{label:"name",value:"id",children:"sub_disciplines"},onChange:(Se,Me)=>z.setFieldsValue({sub_discipline_id:Se})})),ne==2&&ce.createElement(ce.Fragment,null,ce.createElement(en.default.Item,{label:"\u65B9\u5411",name:"discipline_name",rules:[{required:!0}]},ce.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u65B9\u5411",autoComplete:"off"})),ce.createElement(en.default.Item,{label:"\u8BFE\u7A0B",name:"sub_discipline_name",rules:[{required:!0}]},ce.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u8BFE\u7A0B",autoComplete:"off"})))),se&&ce.createElement("div",{className:Ke.spin},ce.createElement(an.Z,null))))},Ne=Je(76902),Ue="data:image/png;base64,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",nt="data:image/png;base64,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",ft=Je(25399),St=Je(37639),Nt={flex_box_center:"flex_box_center___HlHga",flex_space_between:"flex_space_between___ZXfWh",flex_box_vertical_center:"flex_box_vertical_center___B_34d",flex_box_center_end:"flex_box_center_end___XaWUl",flex_box_column:"flex_box_column___dfD_W",ClassDesc:"ClassDesc___hvKGJ",LeftTitle:"LeftTitle___GVStZ",textname:"textname___KypkX"},Bt=Je(346),bt=Je(51257),ln=Je(45937),Kt=Je(20554),ni=Object.defineProperty,pn=Object.defineProperties,ci=Object.getOwnPropertyDescriptors,di=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,si=Object.prototype.propertyIsEnumerable,gr=(ee,y,E)=>y in ee?ni(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Ht=(ee,y)=>{for(var E in y||(y={}))Ln.call(y,E)&&gr(ee,E,y[E]);if(di)for(var E of di(y))si.call(y,E)&&gr(ee,E,y[E]);return ee},Et=(ee,y)=>pn(ee,ci(y)),Si=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const _r=({value:ee=[],onChange:y})=>{const[E,z]=(0,Fe.useState)(null);return Fe.createElement(Fe.Fragment,null,Fe.createElement(Gt.default,{value:E,placeholder:"\u8BF7\u8F93\u5165\u6807\u7B7E",maxLength:6,showCount:!0,addonAfter:"\u56DE\u8F66\u521B\u5EFA\u6807\u7B7E",onChange:ne=>{z(ne.target.value)},onPressEnter:ne=>{E&&(y==null||y([...ee,E]),z(null))}}),Fe.createElement("div",{className:"flex flex-wrap gap-14px-rem mt-12px-rem"},ee==null?void 0:ee.map((ne,ie)=>Fe.createElement("div",{key:ie,className:"p-8px-rem flex item-center gap-8px-rem rounded-2px-rem",style:{background:"#EAF0F7"}},Fe.createElement("div",{className:"c-black"},ne),Fe.createElement("span",{className:"iconfont icon-guanbi10 c-grey-999 current",style:{fontSize:"10rem"},onClick:()=>{y==null||y(ee==null?void 0:ee.filter(se=>se!=ne))}})))))},zr=({pathsDetail:ee,dispatch:y,DataProps:E,onFinish:z})=>{const ne=(0,xt.useParams)(),{actionTabs:ie,detail:se}=ee,[le]=en.default.useForm(),[de,ge]=(0,Fe.useState)("0"),[,ve,xe]=(0,ln.U)(wt.j_,{subject_id:ne==null?void 0:ne.pathId}),Se=[{title:"\u667A\u6167\u8D44\u6E90",node_types:["\u5B9E\u8BAD","\u89C6\u9891","\u8BFE\u4EF6","\u8BD5\u5377","\u95EE\u5377","\u7F16\u7A0B","\u865A\u4EFF","\u5206\u7EC4"],relation:"\u5173\u8054"},{title:"\u77E5\u8BC6\u56FE\u8C31",node_types:["\u8BFE\u7A0B\u56FE\u8C31","\u5927\u7EB2\u56FE\u8C31","\u601D\u653F\u56FE\u8C31","\u601D\u7EF4\u56FE\u8C31","\u80FD\u529B\u56FE\u8C31"],relation:"\u5173\u8054"},{title:"\u5B66\u4E60\u8DEF\u5F84",node_types:["\u521D\u59CB\u8DEF\u5F84","\u590D\u4E60\u8DEF\u5F84","\u8003\u524D\u8DEF\u5F84","\u8D44\u6E90\u63A8\u8350"],relation:"\u5173\u8054"},{title:"\u5B66\u60C5\u5206\u6790",node_types:["\u5B66\u60C5\u7EDF\u8BA1","\u80FD\u529B\u5206\u6790","\u638C\u63E1\u5206\u6790"],relation:"\u5173\u8054"}];return(0,Fe.useEffect)(()=>{E&&le.setFieldsValue(Et(Ht({},E),{knowledge_statistics:Se==null?void 0:Se.map((Me,De)=>{var Oe;return Ht(Ht({},Me),((Oe=E==null?void 0:E.knowledge_statistics)==null?void 0:Oe.at(-(De+1)))||{})})}))},[E]),Fe.createElement(jt.default,{title:"\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",open:ie.key==="\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",centered:!0,width:656,onCancel:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{}}})},okText:"\u4FDD\u5B58",confirmLoading:ve,onOk:()=>{le.validateFields(["knowledge_statistics"],{recursive:!0}).then(()=>{le.submit()}).catch(Me=>{var De,Oe;const Re=(De=Me==null?void 0:Me.errorFields)==null?void 0:De.at(-1);Re&&ge(`${(Oe=Re==null?void 0:Re.name)==null?void 0:Oe[1]}`)})}},Fe.createElement(en.default,{form:le,colon:!1,labelAlign:"right",labelCol:{span:5},size:"large",onFinish:Me=>Si(void 0,null,function*(){const De=yield xe(Et(Ht({},Me),{subject_id:ne==null?void 0:ne.pathId}));(De==null?void 0:De.status)==0&&(kt.ZP.success("\u4FDD\u5B58\u6210\u529F"),z==null||z())})},Fe.createElement(en.default.List,{name:"knowledge_statistics"},(Me,{add:De,remove:Oe})=>Fe.createElement(Fe.Fragment,null,Fe.createElement(Kt.default,{defaultActiveKey:"1",activeKey:de,onTabClick:Re=>{ge(Re)},items:Me.map((Re,Le)=>({forceRender:!0,key:`${Le}`,label:`\u7B2C${(0,bt.EM)(Le+1)}\u5C42`,children:Fe.createElement(Fe.Fragment,null,Fe.createElement(en.default.Item,{name:[Re.name,"title"],label:"\u6807\u9898",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6807\u9898"},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u6807\u9898",maxLength:6,showCount:!0})),Fe.createElement(en.default.Item,{name:[Re.name,"node_types"],label:"\u6807\u7B7E",rules:[{required:!0,validator(Qe,Xe){const Ze=[8,6,5,5][Le];return(Xe==null?void 0:Xe.length)==0?Promise.reject(new Error("\u8BF7\u6DFB\u52A0\u6807\u7B7E")):(Xe==null?void 0:Xe.length)>Ze?Promise.reject(new Error(`\u6700\u591A${Ze}\u4E2A\u6807\u7B7E`)):Promise.resolve()}}]},Fe.createElement(_r,null)),Le!==3&&Fe.createElement(en.default.Item,{name:[Re.name,"relation"],label:`\u4E0E\u7B2C${(0,bt.EM)(Le+2)}\u5C42\u5173\u7CFB`,rules:[{required:!0,message:`\u8BF7\u8F93\u5165\u4E0E\u7B2C${(0,bt.EM)(Le+2)}\u5C42\u5173\u7CFB`},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default,{placeholder:`\u4E0E\u7B2C${(0,bt.EM)(Le+2)}\u5C42\u5173\u7CFB`,maxLength:6,showCount:!0})),Fe.createElement(en.default.Item,{label:"\u7EDF\u8BA1\u6570\u636E"},Fe.createElement("div",{style:{color:"#232B40"}},Fe.createElement("span",null,["\u5168\u90E8\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8D44\u6E90\u8282\u70B9","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u6240\u6709\u77E5\u8BC6\u56FE\u8C31\uFF0C\u5305\u62EC\u80FD\u529B\u56FE\u8C31","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u5B66\u4E60\u8DEF\u5F84","\u83B7\u53D6\u5F53\u524D\u5DF2\u7ECF\u4E0A\u7EBF\u7684\u5B66\u60C5\u5206\u6790\u80FD\u529B\uFF0C\u5F53\u524D\u4E3A0"][Le]))))}))})))))};var Fn=(0,xt.connect)(({pathsDetail:ee})=>({pathsDetail:ee}))(zr),An="data:image/png;base64,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",Vn="data:image/png;base64,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",zi="data:image/png;base64,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",on=Je(59301),Wt=Object.defineProperty,zn=Object.getOwnPropertySymbols,br=Object.prototype.hasOwnProperty,uo=Object.prototype.propertyIsEnumerable,vt=(ee,y,E)=>y in ee?Wt(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,We=(ee,y)=>{for(var E in y||(y={}))br.call(y,E)&&vt(ee,E,y[E]);if(zn)for(var E of zn(y))uo.call(y,E)&&vt(ee,E,y[E]);return ee},je=(ee,y)=>{var E={};for(var z in ee)br.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&zn)for(var z of zn(ee))y.indexOf(z)<0&&uo.call(ee,z)&&(E[z]=ee[z]);return E};const ct=({title:ee,className:y="",style:E={}})=>on.createElement("div",{className:`absolute ${y}`,style:E},on.createElement("img",{src:Vn,width:"187rem",style:{width:"187rem"}}),on.createElement("div",{className:"absolute",style:{top:"32rem",right:"65rem",color:"#FFCF1B",fontSize:"30rem"}},ee)),Pt=({title:ee,className:y="",style:E={}})=>on.createElement("div",{className:`flex item-center justify-center absolute ${y}`,style:We({width:"200rem",height:"54rem",fontSize:"24rem",left:"50%",transform:"translateX(-50%)",bottom:"10rem",background:`url(${Je(11862)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",color:"#59F7FF"},E)}," ",ee," "),qe=({DataProps:ee=[],angleStep:y=.2,radius:E=500,top:z=0,verticalRadius:ne=E})=>{const ie=(0,Fe.useRef)(null),se=Math.PI+(Math.PI-((ee==null?void 0:ee.length)-1)*y)/2,le=({DataProps:de={},style:ge={}})=>on.createElement("div",{className:"flex flex-col item-center c-white absolute",style:We({fontSize:"14rem"},ge)},on.createElement(ft.Z,{title:de,placement:"topLeft"},on.createElement("div",{className:"multi_ellipsis1"},de)),on.createElement("img",{src:zi,width:"97rem",height:"97rem",style:{width:"97rem",height:"97rem"}}));return on.createElement("div",{ref:ie,className:"relative"},ee==null?void 0:ee.map((de,ge)=>{const ve=se+ge*y,xe=E*Math.cos(ve),Se=ne*Math.sin(ve);return on.createElement(le,{key:ge,DataProps:de,style:{left:`calc(50% + ${xe}rem)`,bottom:`${Se+ne+z}rem`,transform:"translateX(-50%)"}})}))},Hn=({DataProps:ee={}})=>{var y;return on.createElement("div",{className:"flex flex-col item-center justify-center w-full h-full",style:{gap:"125rem"}},(y=ee==null?void 0:ee.knowledge_statistics)==null?void 0:y.map((E,z)=>on.createElement(on.Fragment,null,z==0&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-center justify-center",style:{background:`url(${Je(47444)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"296rem",height:"100rem",marginTop:"82rem",zIndex:4}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-120rem",top:"-64rem"}}),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:1.35,radius:100,top:-60,verticalRadius:30}),on.createElement(Pt,{title:E==null?void 0:E.title}))),z==1&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${Je(425)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"404rem",height:"168rem",marginTop:"10rem",zIndex:3}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-134rem",top:"-10rem"}}),on.createElement("div",{className:"absolute",style:{left:"-30rem",top:"0rem"}},on.createElement("img",{src:An,width:"93rem",style:{width:"93rem"}}),on.createElement("div",{className:"absolute",style:{top:"5rem",left:"-25rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},E==null?void 0:E.relation)),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:.15}),on.createElement(Pt,{title:E==null?void 0:E.title}))),z==2&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${Je(49260)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"542rem",height:"228rem",marginTop:"-85rem",zIndex:2}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-135rem",top:"24rem"}}),on.createElement("div",{className:"absolute",style:{left:"-40rem",top:"40rem"}},on.createElement("img",{src:An,width:"114rem",style:{width:"114rem"}}),on.createElement("div",{className:"absolute",style:{top:"20rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},E==null?void 0:E.relation)),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:.16}),on.createElement(Pt,{title:E==null?void 0:E.title}))),z==3&&on.createElement("div",{key:z,className:"flex item-center justify-center",style:{height:0}},on.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${Je(24219)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"764rem",height:"257rem",marginTop:"-70rem",zIndex:1}},on.createElement(ct,{title:E==null?void 0:E.knowledge_graph_count,style:{right:"-115rem",top:"20rem"}}),on.createElement("div",{className:"absolute",style:{left:"-15rem",top:"34rem"}},on.createElement("img",{src:An,width:"123rem",style:{width:"123rem"}}),on.createElement("div",{className:"absolute",style:{top:"25rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},E==null?void 0:E.relation)),on.createElement(qe,{DataProps:E==null?void 0:E.node_types,angleStep:.16}),on.createElement(Pt,{title:E==null?void 0:E.title}))))),on.createElement("div",{className:"flex item-center justify-center",style:{height:0}},on.createElement("img",{src:Je(32682),width:"600rem",height:"465rem",style:{width:"600rem",height:"465rem",marginTop:"-260rem"}})))},Ci=({DataProps:ee,className:y="",style:E={}})=>on.createElement("div",{className:`flex flex-col item-center w-full h-full ${y}`,style:We({padding:"20rem 30rem",background:"#162442",borderRadius:"8rem",gap:"10rem"},E)},(ee==null?void 0:ee.AvatarDom)||on.createElement("img",{src:Bt.Z.API_SERVER+"/images/"+((ee==null?void 0:ee.image_url)||(ee==null?void 0:ee.avatar)),width:"60rem",height:"60rem",style:{borderRadius:"50%",width:"60rem",height:"60rem"}}),on.createElement(ft.Z,{title:(ee==null?void 0:ee.username)||""},on.createElement("div",{className:"multi_ellipsis1"},(ee==null?void 0:ee.username)||""))),gi=ee=>{var y=ee,{pathsDetail:E,dispatch:z}=y,ne=je(y,["pathsDetail","dispatch"]),ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re,Le,Qe,Xe,Ze,it,et,ht,lt,ot,rt,Mt,Xt,cn,Cn,En;const Zn=(0,xt.useParams)(),{actionTabs:ti,detail:bn}=E,rn=(0,Fe.useRef)(null),[li,Dn]=(0,Fe.useState)(0),[,Wn,hi,On]=(0,ln.U)(wt.dX,{subject_id:Zn.pathId});return(0,Fe.useEffect)(()=>{rn.current&&setTimeout(()=>{const dn=(0,bt.ZR)(rn.current,"rem",1);Dn(dn)},500)},[rn.current,(ie=E==null?void 0:E.detail)==null?void 0:ie.description]),(0,Fe.useEffect)(()=>{hi({subject_id:Zn.pathId})},[]),on.createElement(an.Z,{spinning:Wn},on.createElement("section",null,on.createElement("div",{className:"w-full relative c-white flex flex-col",style:{background:`url(${Je(12175)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center"}},on.createElement("div",{className:"w-full flex justify-center item-center absolute blod text-center",style:{background:`url(${Je(93148)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",height:"282rem",letterSpacing:"5rem",lineHeight:"32rem",top:0,left:0,fontSize:"32rem",padding:"0 500rem 173rem"}},on.createElement(ft.Z,{title:(le=(se=E.detail)==null?void 0:se.name)==null?void 0:le.split(` `)[0]},on.createElement("div",{className:"multi_ellipsis2"},(ge=(de=E.detail)==null?void 0:de.name)==null?void 0:ge.split(` `)[0]))),on.createElement("div",{className:"flex flex-1 minW-0",style:{paddingTop:"140rem",paddingLeft:"40rem",paddingRight:"40rem"}},on.createElement("div",{className:"flex-1 flex flex-col minW-0 relative",style:{padding:"50rem",borderRadius:"8rem",background:"rgba(32,47,79,0.3)",backdropFilter:"blur(10rem)",gap:"50rem"}},on.createElement("div",{className:`absolute flex flex-col item-center justify-center ${Nt.ClassDesc}`},"\u8BFE\u7A0B\u7B80\u4ECB"),on.createElement("div",{className:"relative"},on.createElement("div",{style:{height:"110rem",overflow:"hidden"}},on.createElement("div",{ref:rn},on.createElement(Ne.Z,{className:"c-white",value:((ve=E==null?void 0:E.detail)==null?void 0:ve.description)||""}))),li>=110&&on.createElement("div",{className:"flex item-center justify-center current",style:{padding:"0 220rem",color:"#3061D0",marginTop:"10rem"},onClick:()=>{var dn;jt.default.confirm({title:"\u8BFE\u7A0B\u7B80\u4ECB",centered:!0,icon:null,width:900,closable:!0,cancelButtonProps:{style:{display:"none"}},content:on.createElement("div",{style:{maxHeight:"70vh",overflow:"auto"}},on.createElement(Ne.Z,{value:((dn=E==null?void 0:E.detail)==null?void 0:dn.description)||""}))})}},"\u67E5\u770B\u5168\u90E8")),on.createElement("div",{className:"flex w-full minW-0"},on.createElement("div",{className:"flex flex-col item-center"}," ",on.createElement("img",{src:Je(12260),width:"20rem",height:"17rem"})," \u5B66\u6821 "),on.createElement("div",{style:{padding:"12rem 38rem",background:"#162442",borderRadius:"8rem",marginLeft:"20rem"}},((xe=E==null?void 0:E.detail)==null?void 0:xe.school)||"")),on.createElement("div",{className:"flex w-full minW-0"},on.createElement("div",{className:"flex flex-col item-center",style:{marginTop:"25rem"}}," ",on.createElement("img",{src:Je(69303),width:"20rem"})," \u6559\u5E08 "),on.createElement("div",{className:"flex-1 minW-0",style:{gap:"10rem",marginLeft:"20rem",display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr 1fr"}},(Le=((Me=(Se=E==null?void 0:E.detail)==null?void 0:Se.subject_members)==null?void 0:Me.length)>10?(Oe=(De=E==null?void 0:E.detail)==null?void 0:De.subject_members)==null?void 0:Oe.slice(0,9):(Re=E==null?void 0:E.detail)==null?void 0:Re.subject_members)==null?void 0:Le.map((dn,mi)=>on.createElement(Ci,{key:mi,DataProps:dn})),((Xe=(Qe=E==null?void 0:E.detail)==null?void 0:Qe.subject_members)==null?void 0:Xe.length)>10&&on.createElement(St.Z,{content:on.createElement("div",{className:"c-white",style:{gap:"10rem",maxWidth:"515rem",maxHeight:"425rem",display:"grid",overflow:"auto",gridTemplateColumns:"repeat(auto-fit, minmax(120rem, 1fr))"}},(et=(it=(Ze=E==null?void 0:E.detail)==null?void 0:Ze.subject_members)==null?void 0:it.slice(9))==null?void 0:et.map((dn,mi)=>on.createElement(Ci,{key:mi,DataProps:dn}))),title:null,trigger:"click",color:"rgba(32, 47, 79, 1)",className:"c-white"},on.createElement("div",null,on.createElement(Ci,{className:"current",DataProps:{AvatarDom:on.createElement("div",{className:"flex item-center justify-center",style:{borderRadius:"50%",width:"60rem",height:"60rem",background:"#202F4F"}},"+",((lt=(ht=E==null?void 0:E.detail)==null?void 0:ht.subject_members)==null?void 0:lt.slice(11)).length),username:"\u66F4\u591A"}})))))),on.createElement("div",{className:"flex-1 minW-0 relative",style:{padding:"50rem"}},(bn==null?void 0:bn.can_managed)&&on.createElement("div",{className:"current absolute flex item-center rounded-full",style:{padding:"5rem 10rem",top:0,right:0,gap:"10rem",background:"#202F4F"},onClick:()=>{z({type:"pathsDetail/save",payload:{actionTabs:{key:"\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91"}}})}},on.createElement("span",{className:"iconfont icon-bianji14",style:{color:"#82A8FF"}})," \u7F16\u8F91"),on.createElement(Hn,{DataProps:(On==null?void 0:On.data)||{}}))),on.createElement("div",{className:"w-full flex",style:{marginTop:"20rem",paddingLeft:"40rem",paddingRight:"40rem",height:"168rem"}},on.createElement("div",{className:"flex flex-1 minW-0 relative",style:{borderRadius:"8rem 0 0 8rem",background:"rgba(32,47,79,0.5)",backdropFilter:"blur(10px)",padding:"22rem 20rem 22rem 36rem",borderRight:"1rem solid rgba(79,151,255,0.34)",gap:"10rem"}},on.createElement("div",{className:`absolute flex flex-col item-center justify-center ${Nt.LeftTitle}`},"\u5B66\u4E60\u7EDF\u8BA1"),[{value:(ot=bn==null?void 0:bn.knowledge_statistics)==null?void 0:ot.course_count,title:"\u5E94\u7528\u8BFE\u5802\uFF08\u4E2A\uFF09"},{value:(rt=bn==null?void 0:bn.knowledge_statistics)==null?void 0:rt.school_count,title:"\u5E94\u7528\u9662\u6821\uFF08\u4E2A\uFF09"},{value:(Mt=bn==null?void 0:bn.knowledge_statistics)==null?void 0:Mt.initiative_study_count,title:"\u81EA\u4E3B\u5B66\u4E60\u4EBA\u6570\uFF08\u4EBA\uFF09"},{value:(Xt=bn==null?void 0:bn.knowledge_statistics)==null?void 0:Xt.course_study_count,title:"\u8BFE\u5802\u5B66\u4E60\u4EBA\u6570\uFF08\u4EBA\uFF09"},{value:(cn=bn==null?void 0:bn.knowledge_statistics)==null?void 0:cn.knowledge_visits,title:"\u7D2F\u8BA1\u6D4F\u89C8\u6B21\u6570\uFF08\u6B21\uFF09"}].map((dn,mi)=>on.createElement("div",{key:mi,className:"flex flex-col item-center justify-center c-white flex-1 minW-0",style:{gap:"10rem",background:"#162442",borderRadius:"8rem"}},on.createElement("div",{style:{fontSize:"30rem",lineHeight:"30rem"}},dn==null?void 0:dn.value),on.createElement("div",{style:{fontSize:"14rem",lineHeight:"14rem"}},dn==null?void 0:dn.title)))),on.createElement("div",{className:"flex flex-1 minW-0 relative",style:{borderRadius:"0 8rem 8rem 0",background:"rgba(32,47,79,0.5)",backdropFilter:"blur(10px)",padding:"22rem 20rem 22rem 36rem",gap:"10rem"}},on.createElement("div",{className:`absolute flex flex-col item-center justify-center ${Nt.LeftTitle}`},"\u8D44\u6E90\u7EDF\u8BA1"),(En=(Cn=bn==null?void 0:bn.knowledge_statistics)==null?void 0:Cn.resource_data)==null?void 0:En.map((dn,mi)=>on.createElement("div",{key:mi,className:"flex flex-col item-center justify-center c-white flex-1 minW-0",style:{gap:"10rem",background:"#162442",borderRadius:"8rem"}},on.createElement("div",{style:{fontSize:"30rem",lineHeight:"30rem"}},dn==null?void 0:dn.num),on.createElement("div",{style:{fontSize:"14rem",lineHeight:"14rem"}},dn==null?void 0:dn.node_type,"\uFF08\u4E2A\uFF09")))))),(ti==null?void 0:ti.key)==="\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91"&&on.createElement(Fn,{DataProps:(On==null?void 0:On.data)||{},onFinish:()=>{hi({subject_id:Zn.pathId}),z({type:"pathsDetail/save",payload:{actionTabs:{}}})}})))};var ps=(0,xt.connect)(({pathsDetail:ee})=>({pathsDetail:ee}))(gi),$r=Je(59301),Ji=Object.defineProperty,ws=Object.defineProperties,Gr=Object.getOwnPropertyDescriptors,Ms=Object.getOwnPropertySymbols,$a=Object.prototype.hasOwnProperty,mo=Object.prototype.propertyIsEnumerable,Ss=(ee,y,E)=>y in ee?Ji(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Sn=(ee,y)=>{for(var E in y||(y={}))$a.call(y,E)&&Ss(ee,E,y[E]);if(Ms)for(var E of Ms(y))mo.call(y,E)&&Ss(ee,E,y[E]);return ee},wi=(ee,y)=>ws(ee,Gr(y)),Di=(ee,y)=>{var E={};for(var z in ee)$a.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&Ms)for(var z of Ms(ee))y.indexOf(z)<0&&mo.call(ee,z)&&(E[z]=ee[z]);return E},Ei=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Kr=[{name:"\u672A\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u6B63\u5728\u5F00\u53D1\u4E2D\uFF0C\u4E0D\u53EF\u88AB\u4ED6\u4EBA\u4F7F\u7528",bkcolor:"#D8D8D8",txcolor:"#FFFFFF"},{name:"\u9759\u9ED8\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u53EF\u4EE5\u901A\u8FC7\u5206\u4EAB\u94FE\u63A5\u4F7F\u7528\uFF0C\u4F46\u4E0D\u80FD\u88AB\u5F00\u653E\u68C0\u7D22",bkcolor:"#7B92C7",txcolor:"#FFFFFF"},{name:"\u516C\u5F00\u5BA1\u6838",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u7533\u8BF7\u7EB3\u5165\u5F00\u653E\u68C0\u7D22\uFF0C\u76EE\u524D\u5E73\u53F0\u6B63\u5728\u5BA1\u6838\u4E2D",bkcolor:"#F9AF7E",txcolor:"#A44C11"},{name:"\u516C\u5F00\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u4E14\u53EF\u88AB\u5F00\u653E\u68C0\u7D22",bkcolor:"#FFE9C1",txcolor:"#A45204"}],oo=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se}=y,le=Di(y,["pathsDetail","user","globalSetting","loading","dispatch"]),de,ge,ve,xe,Se,Me,De,Oe,Re,Le,Qe,Xe,Ze,it,et,ht,lt;const[ot]=(0,xt.useSearchParams)(),rt=(0,xt.useParams)(),[Mt,Xt]=(0,Fe.useState)({}),cn=(0,Fe.useRef)(1),[Cn,En]=(0,Fe.useState)(),[Zn,ti]=(0,Fe.useState)(!1),[bn,rn]=(0,Fe.useState)(!1),li=(0,Fe.useRef)(null),Dn=!((de=E.detail)!=null&&de.can_managed),[Wn,hi]=(0,Fe.useState)({status:!1}),On=((ge=E.detail)==null?void 0:ge.is_free)||((ve=E.detail)==null?void 0:ve.can_learning);(0,Fe.useEffect)(()=>{hi({status:!1})},[]),(0,Fe.useEffect)(()=>{function Mi(){return Ei(this,null,function*(){var Qi,rr,Ir,to,Jo,Ot,Pr;if((Qi=E.detail)!=null&&Qi.courses){const sr=(rr=E.detail)==null?void 0:rr.courses;if((Ir=sr==null?void 0:sr.toast)!=null&&Ir.is_open&&((to=sr.toast)==null?void 0:to.open_num)===-1)rn(!0);else if((Jo=sr==null?void 0:sr.toast)!=null&&Jo.is_open&&((Ot=sr==null?void 0:sr.toast)==null?void 0:Ot.open_num)===1){let Fr=JSON.parse(localStorage.getItem("pathsshow"))||[];((Pr=Fr.filter(_i=>_i===(rt==null?void 0:rt.pathId)))==null?void 0:Pr.length)>0?rn(!1):(rn(!0),Fr.push(rt==null?void 0:rt.pathId),localStorage.setItem("pathsshow",JSON.stringify(Fr)))}else rn(!1)}})}Mi()},[(xe=E.detail)==null?void 0:xe.courses]),(0,Fe.useEffect)(()=>{var Mi,Qi,rr,Ir,to,Jo,Ot,Pr,sr,Fr,_i;if(!((Qi=(Mi=E.detail)==null?void 0:Mi.courses)==null?void 0:Qi.length))return;let Rr;if((rr=E.detail)!=null&&rr.has_start){const po=(to=(Ir=E.detail)==null?void 0:Ir.courses)==null?void 0:to.findIndex(Js=>{var hn;return((hn=Js.course_status)==null?void 0:hn.status)===1});Rr=po>-1?po:0}else{let po=(Pr=(Ot=(Jo=E.detail)==null?void 0:Jo.courses)==null?void 0:Ot.map(Js=>{var hn;return(hn=Js.course_status)==null?void 0:hn.status}))==null?void 0:Pr.lastIndexOf(2);Rr=po>-1?po:0,po=(Fr=(sr=E.detail)==null?void 0:sr.courses)==null?void 0:Fr.findIndex(Js=>{var hn;return((hn=Js.course_status)==null?void 0:hn.status)===0}),Rr=po>-1?po:Rr}Xt(((_i=E.detail)==null?void 0:_i.courses[Rr])||{})},[E.detail]);const dn=Mi=>{hi({status:Mi})},mi=Mi=>{jt.default.confirm({centered:!0,width:590,title:"\u63D0\u793A",okText:"\u786E\u5B9A\u7533\u8BF7",cancelText:"\u53D6\u6D88\u7533\u8BF7",icon:null,content:$r.createElement("div",{className:"tc",style:{color:"#5F6367",textAlign:"left"}},"\u516C\u5F00\u8BFE\u7A0B\u9700\u7ECF\u8FC7\u5E73\u53F0\u6807\u51C6\u5316\u5BA1\u6838\uFF0C\u5BA1\u6838\u5468\u671F\u4E3A1-2\u5929\uFF0C\u516C\u5F00\u7684\u8BFE\u7A0B\u5C06\u5BF9\u5E73\u53F0\u6240\u6709\u4EBA\u53EF\u89C1\u3002",$r.createElement("br",null),"\u82E5\u4EC5\u672C\u4EBA\u6559\u5B66\u4F7F\u7528\u5219\u65E0\u9700\u7533\u8BF7\u516C\u5F00\uFF0C\u76F4\u63A5\u53D1\u9001\u5230\u8BFE\u5802\u5373\u53EF",$r.createElement("br",null)),onOk:()=>Ei(void 0,null,function*(){let Qi={user_customize:Mi.user_customize,type:Mi.type};Mi.user_customize?Qi=wi(Sn({},Qi),{discipline_name:Mi.discipline_name,sub_discipline_name:Mi.sub_discipline_name}):Mi.sub_discipline_id&&(Qi=wi(Sn({},Qi),{sub_discipline_id:Mi.sub_discipline_id}));const rr=yield(0,wt.WO)(Sn({id:rt.pathId},Qi));((rr==null?void 0:rr.status)===0||(rr==null?void 0:rr.status)===1)&&(ui(),kt.ZP.success("\u516C\u5F00\u7533\u8BF7\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u7B49\u5F85\u7BA1\u7406\u5458\u7684\u5BA1\u6838"))})})},ui=()=>{se({type:"pathsDetail/getPathsDetail",payload:{id:rt.pathId,knowledge:!0}}),se({type:"pathsDetail/getRightData",payload:{id:rt.pathId}})};return $r.createElement("section",null,ot.get("type")!=="classrooms"?$r.createElement(ps,null):$r.createElement("aside",{className:zt.banner,style:{backgroundImage:(De=(Me=(Se=E==null?void 0:E.detail)==null?void 0:Se.attachments)==null?void 0:Me[0])!=null&&De.url?`url(${(Le=(Re=(Oe=E==null?void 0:E.detail)==null?void 0:Oe.attachments)==null?void 0:Re[0])==null?void 0:Le.url})`:`url(${Ue})`}},$r.createElement("aside",{className:zt.wrp},$r.createElement("div",{className:zt.name},(Xe=(Qe=E.detail)==null?void 0:Qe.name)==null?void 0:Xe.split(` `)[0]),$r.createElement("div",{className:zt.content},(it=(Ze=E==null?void 0:E.detail)==null?void 0:Ze.resource_data)==null?void 0:it.map((Mi,Qi)=>$r.createElement("span",{key:Qi},Mi==null?void 0:Mi.node_type,"\uFF1A",Mi==null?void 0:Mi.num)),((et=E.detail)==null?void 0:et.origin_subject_identifier)&&$r.createElement("div",{onClick:()=>{var Mi;window.open(`/paths/${(Mi=E.detail)==null?void 0:Mi.origin_subject_identifier}`)},className:zt.go},$r.createElement("img",{src:nt,className:zt.goicon})," ",$r.createElement("div",{style:{cursor:"pointer"}},"\u524D\u5F80\u8BFE\u7A0B\u5B66\u4E60"))))),Wn.status&&$r.createElement(Be,{type:"subject",onCancel:()=>dn(!1),onOk:Mi=>{dn(!1),mi(Mi)}}),$r.createElement(jt.default,{open:bn,title:"\u8BFE\u7A0B\u516C\u544A",width:593,maskClosable:!1,onCancel:()=>{rn(!1)},centered:!0,footer:$r.createElement("div",null,$r.createElement(It.ZP,{type:"primary",onClick:()=>{rn(!1)}},"\u6211\u77E5\u9053\u4E86"))},$r.createElement(Ne.Z,{style:{maxHeight:378,overflow:"auto"},value:(lt=(ht=E==null?void 0:E.detail)==null?void 0:ht.toast)==null?void 0:lt.content})))};var vo=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(oo),ts=Je(49535),Bs={flex_box_center:"flex_box_center___gyNAa",flex_space_between:"flex_space_between___zekzh",flex_box_vertical_center:"flex_box_vertical_center___GQtHt",flex_box_center_end:"flex_box_center_end___P3hWY",flex_box_column:"flex_box_column___YRmML",bg:"bg___w3m29",wrap:"wrap___DQAaW",content:"content___ISSC7",wrapTabs:"wrapTabs___UH3jY",intro:"intro___GxOgI",introTitle:"introTitle___LyPY5"},vr={flex_box_center:"flex_box_center___FSHWz",flex_space_between:"flex_space_between___xMj_8",flex_box_vertical_center:"flex_box_vertical_center___TftIO",flex_box_center_end:"flex_box_center_end___KM3sc",flex_box_column:"flex_box_column___o0txR",tabs:"tabs___kpTFv",activied:"activied___IE4FQ",tab:"tab___JSx4b",placeholder:"placeholder___xpvd2",content:"content___I7f9K",nametext:"nametext___E8ley",modal:"modal___oIdtc",mHead:"mHead___tmQjG",form:"form___q76Kb",mType:"mType___zss8M",dropdownst:"dropdownst___NZ0IN",dropnametext:"dropnametext___v6FZZ"},ta={information:"information___cwV7S",body:"body___1JINN",title:"title___b5sMx",left:"left___yeFML",right:"right___uofAp",listWarp:"listWarp___mIMgF",li:"li___fF9zA",imgTitle:"imgTitle___HGcli",box:"box___pdLe8"},ba="data:image/png;base64,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",ua="data:image/png;base64,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",Ps="data:image/png;base64,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",Na="data:image/png;base64,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",Xs=Je(41333),os=Je(59301),gl=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),Fi=({})=>{var ee;const[y,E]=(0,Fe.useState)(!0),[z,ne]=(0,Fe.useState)({}),ie=(0,xt.useSelector)(de=>de),{pathsDetail:{detail:se}}=ie;(0,Fe.useEffect)(()=>{se!=null&&se.id&&le()},[se==null?void 0:se.id]);const le=()=>gl(void 0,null,function*(){ne(se),E(!1)});return os.createElement(Xs.Z,null,os.createElement("div",{className:ta.information},y&&os.createElement(an.Z,{style:{width:"100%",marginTop:"300rem"},spinning:!0}),!y&&os.createElement("div",{className:ta.body},os.createElement("div",{className:ta.left},os.createElement("div",{className:ta.box,style:{marginBottom:"20rem"}},os.createElement("img",{className:ta.imgTitle,src:ba,style:{width:"453rem"}}),os.createElement(Ne.Z,{value:(z==null?void 0:z.description)||""})),!!(z!=null&&z.learning_notes)&&os.createElement("div",{className:ta.box},os.createElement("img",{className:ta.imgTitle,src:Ps,style:{width:"453rem"}}),os.createElement(Ne.Z,{value:(z==null?void 0:z.learning_notes)||""}))),os.createElement("div",{className:ta.right},os.createElement("img",{className:ta.imgTitle,src:ua,style:{width:"323rem"}}),os.createElement("div",{className:ta.listWarp},(ee=z==null?void 0:z.subject_members)==null?void 0:ee.map(de=>os.createElement("div",{key:de==null?void 0:de.login,className:ta.li},os.createElement("img",{src:`${Bt.Z.IMG_SERVER}/images/${de==null?void 0:de.avatar}`}),(de==null?void 0:de.role)===1&&os.createElement("img",{src:Na,style:{width:"68rem",position:"absolute",right:"-1rem",top:"-1rem"}}),os.createElement("div",null,os.createElement(ft.Z,{title:de==null?void 0:de.username},os.createElement("b",{className:"c-grey-333"},(0,bt.Pq)(de==null?void 0:de.username,7))),os.createElement(ft.Z,{title:de==null?void 0:de.school_name},os.createElement("span",{className:"c-grey-999"},(0,bt.Pq)(de==null?void 0:de.school_name,7)))))))))))},Li={exchange:"exchange___eh7R3",body:"body___oRT9t",liWarp:"liWarp___QSKqk",li:"li___qd10l",head:"head___X7rTk",btns:"btns___JOV8d",reply:"reply___FAse7",delete:"delete___cv2H_",praise:"praise___O_5sJ",active:"active____gfgF",num:"num___Vv9Co",secondWrap:"secondWrap___S4NT9",secondLi:"secondLi___KiwQK",secondHead:"secondHead___xyIHf",secondBtns:"secondBtns____BxwD",md:"md____p6F5",comment:"comment___YPf7o",addBtn:"addBtn___S8KeD",pagination:"pagination___iRtcm"},Ws=Je(13747),co=Je(92310),hr=Je.n(co),Nn=Je(39793),ri={md:"md___NMHUA",dark:"dark___hYBxG"},fn=Je(59301),yn=Object.defineProperty,_t=Object.defineProperties,wn=Object.getOwnPropertyDescriptors,pr=Object.getOwnPropertySymbols,Lr=Object.prototype.hasOwnProperty,yo=Object.prototype.propertyIsEnumerable,Jn=(ee,y,E)=>y in ee?yn(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,xr=(ee,y)=>{for(var E in y||(y={}))Lr.call(y,E)&&Jn(ee,E,y[E]);if(pr)for(var E of pr(y))yo.call(y,E)&&Jn(ee,E,y[E]);return ee},na=(ee,y)=>_t(ee,wn(y)),zs=(ee,y)=>{var E={};for(var z in ee)Lr.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&pr)for(var z of pr(ee))y.indexOf(z)<0&&yo.call(ee,z)&&(E[z]=ee[z]);return E},tn=ee=>{var y=ee,{value:E,onChange:z,theme:ne}=y,ie=zs(y,["value","onChange","theme"]);const se={dark:ri.dark};return fn.createElement(Xs.Z,{prefixCls:"md"},fn.createElement("div",{className:hr()(ri.md,se[ne])},fn.createElement(Nn.Z,na(xr({},ie),{defaultValue:E,onChange:(le,de)=>{console.log("a:",le,de),de!=null&&de.length?z(le,de):z(le)}}))))},Ki={noData:"noData___Luxe1"},Zr="data:image/png;base64,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",qs=Je(61485),qn=Je(59301),Fl=({style:ee={},className:y,text:E="\u6682\u65E0\u6570\u636E",textColor:z="#666",buttonText:ne,buttonTexttow:ie,ontwoClick:se,onClick:le})=>qn.createElement("div",{className:hr()(Ki.noData,y),style:ee},qn.createElement("img",{src:Zr}),!!E&&qn.createElement("span",{style:{color:z}},E),qn.createElement("span",{style:{display:"flex"}},!!ne&&qn.createElement("div",{onClick:le},ne),!!ie&&qn.createElement("div",{style:{marginLeft:"20rem",display:"flex",alignItems:"center",justifyContent:"center"},onClick:se},ie," ",qn.createElement(ft.Z,{title:"\u6839\u636E\u65E7\u7248\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u6216\u8BFE\u7A0B\u7AE0\u8282\u53CA\u8D44\u6E90\u5185\u5BB9\u81EA\u52A8\u751F\u6210\u77E5\u8BC6\u56FE\u8C31"},qn.createElement(qs.Z,{style:{color:"#fff",marginLeft:5,marginTop:0}}))))),jo=Je(59301),Qu=Object.defineProperty,Co=Object.getOwnPropertySymbols,Ao=Object.prototype.hasOwnProperty,so=Object.prototype.propertyIsEnumerable,ms=(ee,y,E)=>y in ee?Qu(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,pl=(ee,y)=>{for(var E in y||(y={}))Ao.call(y,E)&&ms(ee,E,y[E]);if(Co)for(var E of Co(y))so.call(y,E)&&ms(ee,E,y[E]);return ee},Ii=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Yr=({type:ee,onEnter:y})=>{const[E,z]=(0,Fe.useState)("");return jo.createElement("div",{className:Li.comment},jo.createElement(tn,{theme:"dark",height:ee===1?"264rem":"134rem",value:E,onChange:ne=>z(ne)}),jo.createElement(It.ZP,{size:"large",shape:"round",onClick:()=>y(E,ee),type:"primary",style:{width:"100rem",marginBottom:"12rem",float:"right"}},"\u53D1\u9001"),jo.createElement("div",{style:{clear:"both"}}))};var Ll=({})=>{const ee=(0,xt.useParams)(),[y,E]=(0,Fe.useState)(!0),[z,ne]=(0,Fe.useState)({page:1}),[ie,se]=(0,Fe.useState)(0),[le,de]=(0,Fe.useState)(!1),[ge,ve]=(0,Fe.useState)([]);(0,Fe.useEffect)(()=>{xe(z)},[]);const xe=Re=>Ii(void 0,null,function*(){E(!0);const Le=yield(0,gn.ZP)(`/api/paths/${ee==null?void 0:ee.pathId}/discusses.json`,{method:"get",params:Re});Le!=null&&Le.comments&&(ve(Le==null?void 0:Le.comments),se(Le==null?void 0:Le.disscuss_count)),E(!1)}),Se=(Re,Le)=>Ii(void 0,null,function*(){E(!0);const Qe=yield(0,gn.ZP)(`/api/paths/${ee==null?void 0:ee.pathId}/post_discuss.json`,{method:"post",body:{content:Re}});(Qe==null?void 0:Qe.status)===0&&(z.page=Le===1?1:z.page,ne(pl({},z)),xe(z),de(!1))}),Me=(Re,Le)=>Ii(void 0,null,function*(){E(!0);const Qe=yield(0,gn.ZP)(`/api/discusses/${le}/reply.json`,{method:"post",body:{container_type:"Shixun",content:Re}});Qe!=null&&Qe.discuss&&(de(!1),xe(z))}),De=(Re,Le)=>Ii(void 0,null,function*(){E(!0);const Qe=yield(0,gn.ZP)(`/api/discusses/${Re}/plus.json`,{method:"post",body:{container_type:"Discuss",type:Le}});(Qe==null?void 0:Qe.status)!==-1&&xe(z)}),Oe=(Re,Le)=>Ii(void 0,null,function*(){E(!0);const Qe=yield(0,gn.ZP)(`/api/discusses/${Re}.json`,{method:"delete",body:{}});(Qe==null?void 0:Qe.status)===1&&(z.page=Le===1&&ge.length===1&&z.page!==1?z.page-1:z.page,ne(pl({},z)),xe(z))});return jo.createElement(Xs.Z,null,jo.createElement(jo.Fragment,null,jo.createElement("span",{className:"relative",style:{float:"right"}},jo.createElement("div",{className:Li.addBtn,onClick:()=>de(!0)},"\u53D1\u5E03\u8BA8\u8BBA")),jo.createElement("div",{className:Li.exchange},jo.createElement("div",{className:Li.body},jo.createElement(an.Z,{spinning:y},le===!0&&jo.createElement(Yr,{type:1,onEnter:Se}),ie?jo.createElement(jo.Fragment,null,jo.createElement("div",{className:Li.liWarp},ge==null?void 0:ge.map(Re=>{var Le,Qe,Xe,Ze;return jo.createElement("div",{key:Re==null?void 0:Re.id,className:Li.li},jo.createElement("img",{src:`${Bt.Z.IMG_SERVER}/images/${(Le=Re==null?void 0:Re.author)==null?void 0:Le.image_url}`}),jo.createElement("aside",{style:{flex:1}},jo.createElement("div",{className:Li.head},jo.createElement("b",null,(Qe=Re==null?void 0:Re.author)==null?void 0:Qe.name),jo.createElement("span",null,Re==null?void 0:Re.time),jo.createElement("div",{className:Li.btns},jo.createElement(ft.Z,{placement:"top",title:"\u56DE\u590D",color:"#434B64"},jo.createElement("div",{onClick:()=>de(Re.id),className:Li.reply},jo.createElement("i",{className:"iconfont icon-a-huifupinglun"}))),(Re==null?void 0:Re.manage)&&jo.createElement(ft.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},jo.createElement("div",{onClick:()=>Oe(Re.id,1),className:Li.delete},jo.createElement("i",{className:"iconfont icon-shanchu17"}))),jo.createElement(ft.Z,{placement:"top",title:"\u70B9\u8D5E",color:"#434B64"},jo.createElement("div",{onClick:()=>De(Re==null?void 0:Re.id,Re!=null&&Re.user_praise?0:1),className:hr()(Li.praise,(Re==null?void 0:Re.user_praise)&&Li.active)},jo.createElement("i",{className:"iconfont icon-dianzan7"}))),!!(Re!=null&&Re.praise_count)&&jo.createElement("aside",{className:Li.num},Re==null?void 0:Re.praise_count))),jo.createElement(Ne.Z,{className:Li.md,value:(Re==null?void 0:Re.content)||""}),!!((Xe=Re==null?void 0:Re.children)!=null&&Xe.length)&&jo.createElement("div",{className:Li.secondWrap},(Ze=Re==null?void 0:Re.children)==null?void 0:Ze.map(it=>{var et;return jo.createElement("div",{className:Li.secondLi},jo.createElement("div",{className:Li.secondHead},jo.createElement("b",null,(et=it==null?void 0:it.author)==null?void 0:et.name),jo.createElement("span",null,it==null?void 0:it.time),jo.createElement("div",{className:Li.secondBtns},(it==null?void 0:it.manage)&&jo.createElement(ft.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},jo.createElement("div",{onClick:()=>Oe(it.id,2),className:Li.secondDelete},jo.createElement("i",{className:"iconfont icon-shanchu17"}))))),jo.createElement(Ne.Z,{className:Li.md,value:(it==null?void 0:it.content)||""}))})),le===Re.id&&jo.createElement(Yr,{type:2,onEnter:Me})))})),jo.createElement("div",{className:Li.pagination},jo.createElement(Ws.Z,{onChange:Re=>{z.page=Re,ne(pl({},z)),xe(z)},total:ie,current:z==null?void 0:z.page,pageSize:10,hideOnSinglePage:!0,showSizeChanger:!1,showQuickJumper:!1,style:{marginTop:"20rem",marginBottom:"40rem"},showTotal:Re=>jo.createElement("span",{style:{marginLeft:"10rem",color:"#fff"}},"\u5171",jo.createElement("span",{style:{color:"#37AD83",margin:"0 5rem"}},Re),"\u6761\u6570\u636E")}))):!le&&jo.createElement(Fl,{textColor:"#fff",style:{visibility:y?"hidden":"visible"}}))))))},Va={learning:"learning___axerA",body:"body___xn5Fa",tabs:"tabs___C2Adc",name:"name___VKGdS",tabWrap:"tabWrap___EnXyi",tab:"tab___EBO0d",active:"active___XXAsu",head:"head___XDru2",numerical:"numerical___APDFZ",action:"action___V6i8x",studentHead:"studentHead___I1em7",headLi:"headLi___UsDfK",btn:"btn___SXQTV",disabledBtn:"disabledBtn___gfcug",addBtn:"addBtn___oYSpZ",ChangeBut:"ChangeBut___XjMr5",PublishBut:"PublishBut___r0ltL",SwitchStyle:"SwitchStyle___ioClp"},un=Je(71411),Po="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABDCAYAAAALU4KYAAAAAXNSR0IArs4c6QAAGrRJREFUeF7NfFmMXceZ3vdX1dnu0rf3ZjebFElRG9siTTUtavF4qPGi2GNjJkaoPAwmT1mQBHkJkLwkiGgjQIDBPATIvIwRPwUIMmIw8YwdK7HhUc+MR0tEikPKTVFki2uz2ft2l7NW/XGde2/zkmwusluYPiTQ55yqU8tX//5XXcJncTHTZ9HslrVJxFvV1tZPlJmOA+LkyQcM8TiAiYm872MAqhfLVH6yujEp+3y649nWsddm9dq9nO4ZN+3748eBB/b/GultDSAA2TlAC8BEx4vx06CXKhDV6atUHt3DU62y/fsBtB9a7zbKOr7f7N1/WTttMD6+KWXd3T+Isu0L4AkWY8eh2gOc7BjpWOt+twsaa8xt1GkoQYU+szH5xpKgQtbxbMs7njHUbMjWazf/E3cgnUqQt9Hux95v1v/kGFJga9j4s2BhsX8Kjh18Ng1So81JdV4DPsTXCnCWt4oMAHy4jmQ6u7Ov+/U/tR8JtkgOfiYAjk7Dw40OdHYBnc+9+yC+nK57nuEc3LhG+TgqAKJSFwNr+VNcW+9436x7d31b014/mw7j5fJQUw7e1d/dz9MvItq+AL7BcuSL8DYjLr0AkgPgveuQX6rUfNTuQ4Il4L5lnZ901HsnKYUXe7ChSB7U/8wwwu0LILMcO49gfpMZ9K4s0nJPPx/yIZ+XjUJLkm1S0xY1Ot4/7Bn4v4uycS3SOYBDPf28Wf+DAOz7hQOob1sAj73F6tYwgqWO6fe17ku1FWFv9w31yEMiLG6ZCAyBv47T+qLfpbGyglqpx2zWf7u/j59CbVsDeH03ili5F56hZD03b3YMCvV8UeUUGFtlE4OK3m0FUI/jDdmsPI+tPGjWi6n9bL9t1muWnl2sVBeT9ZwC54YskPdfnsvjWN++ADKrq1dhpdPGZaogUQYPOpCFepUGXKEOKl22oCh0aM42Uq0vswSk3NvlGUD31G/VPbvetb6iq0YWy/xJijsM5Xb/7QFd3YO1bQvg+Cl25gKUN1v/3R5UENZpp1tUu72kC0g+HRfb6u7mn5yLxFqkCpnVS9djPNBQnj6JVZygByqcRx3YlpsxFsDZIrrsAFiAUG0OhYrgJ3w4OmzQDi92noZb0U7TNNEpkWzddw78Ud/rNKVLxl9ZSFnLoMAXl6oZFct8d//ttm/+yS8ZfNsCyOzcnEL3Zit4wDTpp48j93E/6kZqH++kQqGcDXvPZOnGAjffpwAcdL5v93Mu9ZcbKWvhB3xePJi0Z/djCbRNKXBskt1Fb3MAn41C306wgtjb6+ruHI+NK7XYIHDLXxRE3yDQQQA9YLZRhouG+adJFv9YJ4nOKyKF0/xj7/BRKpZi5WcRgAthPaGgeI8HxNb6C8Bzj2NxWwM4D/RuRoGHsyiIPGDIJfexuN4rlNqYJDleT+C73xVER+4nfxi4GifRv8ui5PLdQm6KvMXVjLVV1+cdPyK+14Vst7twAPPbFsD9l9hbraIP/u0JWIOvLkBHRezD81DixBuN47Z5CM+TFT8I/hignXeD5xDwlAd8FKGtWutRFP2LOAov22hEE0iF6WJ5Pg5jXWPwx8aLQnNX/x0NLz6DuW0NYGTQ3x5vGDbvmEDjZj2wAPYi9UYc9DFp6QulgmLhOwR6YTPKq0jgH/cADQP891Vgrak7b8ZR458nOo21kak2Sl+Ps4WadDLhgn9R9yJqLWC7/862lw7h1rYFcM9b7K+PNgEMWqPmCGQf9lEc7DS61EOmu2x0jyaR+r77lO96f/Ags8En4HgFKAnge8tNStRG/9F6vf6/pSBHGa2qwl9a0qY6Iwq1KUYUMbiz/6iDI5b3Y2ZbAxgPwLqdd1wHVNK9F0l/lUQ11dA7He63DNhdKv0rR8hvPgjAfDEI+Jd9wF/UgQ9CgBmTi9W1f93+7opRc12Z8HxPF6+ntDipi+1AzT1N3zqPm9iiqPSW24F7rrAfRdjROepn3UY/tJNlKaeWlbtE5u8kDNg6Q13BfxaCnnwYgLb8m2WgIIA3mtAkt6qN320Lxmvk3GpknFnl4VLm2X7OobDhEncqlVu/wPS2BXD0bQ7S3g4ABehwEo6cMcHMk25Scl0XpTAMdrjZYJYBu3vL3yPcCfj9wDwcNBXK/1ht1phbr/3DKONcyl7P5C1TLCRJkuDjlOvPkxl+XwU3N2tr7hyub18Ab3CQhhhuD5zjmMYVj14gf3ZYp4HrAKUoCvoVhoQE7a6U/lAQ7XsUCuysw0B2a732e4nhlBlmRqtbITg1yjFz5CRPZNHAaeVP3/FNjJzj5j/C1W0NYLyOO8wRR0KOxfVRV7IxSia9gnsKmvshtB4sFf+Rp+RXPi2A2vDF6fX668SkjE5V6Dmzq5momkYSpFKaC3BupsrbNPu2cABXQFuTmdtyGThyigtJEaNtmcMJyEacntSNyijM7tRokTK4DFEEOBko+/v7i+53Py2AtST9r7fW45+AIXWa+VWhqlJAegrZJXjXbrCzbtts928NbGpFdhaeweXtC+AMF7COXZ0e7jNZ2J9opR2V2ZQ7dbEuVDTvTtPMTkk+vaP8TzxHHX5UEFNjbl2cWf0DzZSQEplSIp4TdCWGTIgVS0F54HaS1O28lY2dta7Fg5jatgAOneViJrC7PVhHgA4g2nEe/uw+N6twBiqZLOgzyQhgQBDsSOXv6wtOiE08kbtBZeb6dDX6D+uJmWPoDQ5aEO6NCMpGH/hybNafccyOc8afsd/fHbJY+hwubmsASeGx9sSTNKExpKOXlTs7iqysNJEndNDHZoSNJklSgkj6DpVGK4Xf9yQduh8lZoavzVTj79fibAECBoa1tiiy4EUlb8QZUi2VWcy4MSKTgYuiON3JCe1Q4uw8LuKVrUmub7kMtBQIB3s7QXAExN60sYs1yPVkUmbT42k9BIbWBhrMGso6F8Dh4fIfW+e2KADrB9v0ejNQD1yvJv9+JYxv5bLNQAgmKQSUIYhIyFtVI9ZgtJ+R1Ndcbzo1m2fp5uZwYdsCODDJJWI8ns+4FW6ytzso69pJ8d4ss7oX8HXaJZRKhOXjXGLloNAXhkt/5BDUvx1A+zW+vwLMpMDUcnRiNc1yANvQGECwgdOQtCYJUkmZ3mB1ZQGq1tl/53jmFzC5bQHsv8BlMJ7sjPWNqriXIC2dkQSowKYQpNFeNuxohiBjiIVgsOFje3r+o6XAXtn0OlIG5lqxq18s1v9wsZYtEhsB0URdkNAkdLrqBpc0pA0WspJAImFmYtU0uTsW0j4uPouzW7U/ZstZuPcSd7kJnu6IldJu6KGZzMyPCtNnDTNPUFBO0lGZE8/t1AQD9PJw8bu+QPnf9AOyNbrvLwMzGXBqvnGikfGaVRRtEWGploTgNSmvWRtTc8Yz5K3sEnrwipaznaJEAVbw8VKIMzhCd4RzH9UCuLvelgPYc4orjtexv0cBO00yMktifoCpW2hNnkBQTNNRNPPgd1xjA8FXBnz1arcEPGpGXpY0uJqYD0/N1v9b5xctzs+/Xw8KVzOtUyOkWWauDhD13WTZZPeNbUzNAOJ8jPe3LYDdZ7jbkbDh+OYlwdJA7uBkhIhkCq4HQCGwAFrqyxFpQSHss8BjFfeJbk/sk4BjwKaamJnL1fQs6xbl2Xrtb1qIVn3nqmGZqMyUteR0ltwZzTC2/7sXaSHEu9sWwMo57nFcfP7uxCJTRjuzbJcyZHPGjmt0tyDY/VS8AQebnCM64Nlg8E5qA4nboBDIaKhUymUmaE1i/abvTD8osbk4hp+DtikLd01yb0B4LteqGqRbFMA6E8NMeaBVaFMMMv2YNqmyOkSwIcOwRonFjoltulMw8keLaA4fMTGBbQHs3xxsIhgSlDUc5xMSItZC8zKLJZLKdPbfHo/9Oyzwl5Nj9CmT0ptLyS2XgaM3uDdex/ObdEf9pPut8yEzU/B1uuEvt+tyExQLk1XMBPsvR8mmmJlb/jVTDmOLCk2TahuOc81IkWg2vCKcRbsQm08ZNtr7F9sWwJ0fcV+c4cVOGdikIohuTgfs5hilTcHNzKjFiokEkZDERjEJkZsoFjJrprQ1hn1j8gdmEobYGCZknHshTUUeu/KaJqSGYHIA21m5ThmoQVYmDjF+um0BHPmY++MML9+z+gTqztJBy5oOc8VN070slbITFWwyG9/LASGY3Lixcq4lE5ttCQsrGEYS2z3YQhE19asxSJPAmcrAdVtlRcjbAG5Chj0u/s/UE9QRXrgfrT78/Zaz8I5LPGBifOnuvK0kUI82QwHMDoLoSZPUJZjQgpaDk1NZi2U7FPPGFO60X9iiZj9hEpKBwHOdOIVZCVnMrikxrzfJC7fToL0efrRtARya4kET56cXckCEgFQMRwmobjbPKKBouTGKU85Vg2i6cPYfGZB9mSuJnGFzZm6ZLDm63NLAOYAkwE3OBnxPWQEADVNbgvrIENKMYLemN2tYg1I05WLFxZ9tLwCZ6dgE5MBuFK8ajM6n+M18cvk0YYyBFoDqM/o5IUgRIONYy4xBlEOW75Hm5n+rQ1r3d3CQ1RwWZlvcVMC5SGQygmA8T1pFrtkgWVTyTN6ngFIGvpWNdjWZhTXds/4Mf3LuIBpbscXtV2Rhpn96CioqoksRvMxOSyLlBPJsllQWSR1zhcg3UHoCFY/QldMBQ0qje1mQsaZKkhmjDdt/1hY01mppGiqbyB5bZrV0U8VAMAvKg2FCKAl73kFQblhihYSwEoRTY2qxEOs2ZxJrhHZJpRTOsy5+sMuBThicCMQzl1GdeMXS6Kc/+vApAGQ69ha8PXvQrTKomJDIKpJEgqKk4UvDLHuLzrUYw7PAV3wyFatdY8ZqohG5hEADKZERrjGDxFSwgDSxMrChrDa3tS3pnPdaLNqKHbRoVUDke11bSBuDTKCeCTlPKtfSTsYidIQpKIOKIZEmjDUGEiPAT2n8zx5CLZ1fNb3D3TpVCEjDSRNkqz5W33zC7u56NDAfCuDxN1jiMHr9GAE0ohtdWO+K4aDRKHswKbySdbBKnkBqMkRzDl6+aczXGiSmG4zVMplBB6K0anDdTjdr7lGzm9SKjjbdLlCRds+UyTVqS/YZKxPvsuNyLWPNmzxqAxaZJg4TiLVUYjWFqNt2FeBYUqpIjMTGrIQQ6yU2vT5hZwZRrRvMjTF+2CPCDEGwljE8PwTV4lvVYQynKxV0ywi+q9DY9zRWTjxkG9x9AbSbxQd6wiFZCkR9FUvVKhIr45JG2OUKkwLFZaRhnhw/+YPg1re+iV7f00eXCeVzQvZZ7aoMShVhHq8ZXI+kWBUMux3rniiINZwV4JIxnuQ8jqqapoqF0YIprN1n5Vtm5RmTiDOJZLMdWGT9ZxvqprYb0xQHts1uwn5iIwek+E8j5zCnn8KwVMhOjtEdURtb//fPcjEVYa8uBSnex8LJ++xkuBdAZvr7n2BAEXxEmD05RoltbE03KqkksVpfWnrnpV3htz8IH5Nedenk2GDt+CS7GbLfMpkp3QjcyWspvpxTgzHlMvNeDYrrUlzTyCctrTZkbe0QYVXrbUpruWf36o7WG1u+eX1rgFvb0MrQXP7dI0UJrAzKFTL7n9T8pyOJ/On3jlD6e5e4qxaFlT97ttB5NGjj869fYq8UYwhJLTz5XGnxbta+A0ALhNHxqJDe/Mkxqlkld/w8eupxVI4THf3shdKcbfl3z3A3JVX5v4525VsnXj1VH/aVesGQFjHogzOO/1sazY3mBWOGHUZfLuGYqjGwmskmu+WmsXXFpA3di6YIzE2N/OYuEKyP0fJQbGnLhTO2noIxuT3ZvCzpbpYQDozp7zKmuB/mL4nSd//82eZ8vv5BdQDlUvzmE5SnQje7LND1DL036rh5uiOWuAHgt2w6cgFD4wdxrc33v32Oe0iE5TjhLF37f/MTr7yS28ffPtsY/dNDhY2s/6tvr/WKwP+SlXBsFM0omrmpnKOWnXKgtLGnGKwbVxAGwgiLJcWGERkSkSaTshCp0TY/YqwWzsFr6g+R54+aV24kWnNPEoxj2T0lhIZE56mcTQFwjOkpEgZHtP55QZtVn7y/+sFhyiPWx5llfKYx9OfPFfMs3v0uK9bKw9Euf9mfPfkS5VtKcgDtttx9Ejt/+DRdaX98/G0OskGU6/UakuWwMfHK4MbBrC+/WxvSYaO+8Y6Z/t7fNo4YkkMi5ZrxZHWJoWaF81wk8w3nOSA2T2TlojSmJBg+wE5Ohe1Dl02r1wYLmoi1DwTmcQQ71tyKyY1utktgbfBcStJarMRsJxW25kGKUfbYDPgwtYE0+6AIU4fBjZ+MF0+35/r1d7lLKbg/PEI2CPHgi5m+dQ57ZlJMW0rMAfzW2XDv+EF/g/LsO0t9IoFs6Cqv/u3F9dP/7Mht4X+CxVd/J348XfWuTLTTg8xi7Px5NTk2thEmOnZmpXtZe0+tee7nEsgdaZ4YgW5TmKUignCs2SENHOvbkmFlg/R5VMZKtHyVLX5sg1wGgjLNyEjkyiTVjKQl93LPh6zxDFOUBmWXIX1j5rqQXS5lZoWkbdC51n3J+bCtFCzxjFTjx3561LPJ9g55zHR8ErvqEr6JoqRary39zRcH8jMH9iTCUAEjPz5A1+jYW+wXBtH940000YOWwjbSK+M9quTNPUh2tNs49haXlsrJaCTFrox5WEvZkwIFFvC0gGLOFUrT3G6GAJtecvvothVqzeCC1cqCGErCuNJq7KbCYseYzAHqLnjVM7xYMKYqbGisGWtcUTK78JND5dYxOqbfPofuRMf9dxDCxqSZvn0JO1ODUqNeEzqj5YnnSxva+qsX6iPq8swSfe1sddBLS7UfHqGHypHNAP2NU/VhSbIYpt78e0dR/TTukV394XAlyIwbVIUqpkyBkZmfwXUEZ4pABZfE3tz+a4lBK/zIilGtMyVFIoyOpGGdmzSy5VdblIVi5jQ2RHOOKVz/2fNYzsd24oQ49juvdzmIB9I0q3aC0jk/a/+mh7En0lBxNUbseitvH6KNM4zHJrmEsOrT187y4FKK2ulfEcC8U+sLv18fMkaVtTJxhGDx9Pivf6T082e4u5w0jrVZ/o5oTd6xJcsmiVrFRMwJaVOVjCUpyws/u4bVfBvbCRbHjqOAJOrPEnKN762+fRAL911sZnr1I+xgiUoaxZwmSMu6vvjmC30bWjoHUMGnF9/mwKvUKxNjt8nzYXL0QeWWqrrjRr/hLPeFTepEQLj+3vXeOo63IXg0N+nZv17tKbvOSyYPD0ojODNQMkPGKQuOQSZURtVj1o1a2KhPLgyEOP8dPv7663RpYrVcLHtdpIVvN55r1vVVr7D40EAqM33lMrrcGN2hgI84ho5NY+nqlbnJ127L969+UB9J1+aXcyH9xfejfT8/4l3dqo3XnQC/eIOD7BYqxGsBsa/syUomN9MJa+GZpJHpBHFXMgBk1TJ0uXrbCK6WT9PafEV4j+1nPwTbsmoZ5F6eVssjvqo4nuuk0uOCcGBIJZwoLwYiMlnBcxpZUlh9p2VuPApRjM9woRzDVQZdWYYCasgaWXWlr7dce7MjAGvlf9GJRv/qUHAlB3DPW1f80b7hkZ8/69mNh1v2myr3HTQz7X9zyq04fb5XcDwm6SQ6kqkrpJNBuL5POrO7PlyYNCHhNBNNUnkm02y0ZO0qG70O0jhdidfml6Kpb+x/5ADAHeOyG+5OQrz6OQwuNrBW9NDHaVJmxVF4bXm2vG9YTFinon29wfKlffGetcC7Yal5w5Aem+RSJYyH3r7sbdn210dZ9b+zOvYoIsDHLuCxMKuHblo0UiV9mWGzTt7N3mXoq7iKq6/stafH8ssa0nFXvCdhb6atM+5w5ewO+6HVeJeqV2fbNs/f2QQ/g47H3mB38jWk46egCgGeyLA++87JrtXfeK0xpOumb13TApeLK0KvFT882N1xZJtp/BS6lIwHl0re9c5o9qbBhKPvhTs5IGe54M9sVeh7A48Tv1z5LTpq+gARIdry/KWzPPj2wfx0pj52iUfTRlyMUu/y6R9Bv/wPMJolSWlp1v1k6hsUHzzLxXOHKPfT25dVsokbj2SJic6+FMw8MJjQ+aFdLXc/hpVek4Yqs6d/9J0IJ078WoeUX5zk3no1LJx7oelHWy1bzSrh1VcoZxPLAVf3Nu/bLNP2dCz7TByDbsvoOyZrzairGJrY2wxLvXyBR+xvVvzNczTz8gUuG8aepI5PLNuNvTVfCnorexK4V3Kwftlu/stGnRsumz8eVPCieAcTp8L4lmU33Yz00ICqHfhKD4akjgNiXY8uX12aPH4g/bTKxh5CrITJk6cPeh/m6DDTkXPJ2KlD7mTTa2P6wtnkwPuf95o/NsRM4x8mT50+6F2wj+OneNgNEL8zRvm+5y98yLsiXqu1We35s+Feqfy1dvnh8/yYTqHPHaJpqzWB5PFy1Z3aAOpuTrCKbQpusR72I98A79XPrkzMoRVAuR+1PxTAzg+PvrvUlbiFHmJytPTCpQaWp6eR4DXrJzxYe1uK0Qpp2w6zSsuV6DrzNOURELtQ4RD2vneALrUBfO4XydMfPOt9ZJ/tAgRhvPPDg/7lvPwNlof3154681z5fHOMTIfeqz5x9mj5Unss46e4cvoI3efIVzP7cvAcfCcN+zIlfAo5CXv8pY+fptY5+/sKiY2CTwVgZ3Pjp7iQJWGPdoVv3wvHxI0wXB8NexsTCycZrx1/KKh3DK/1m1udhu7Rd7nrvRdux+ieusDlzslZUB9NRjPhjZNifN8+oeXjRam7uzIV+0269xoqu7Vy+sjIr+TK/soA3r02FtDI1Lscp+jHiB17LoM9TmWqo9jEDe96bzQwMGEmFhYY588zXn/dJjW3xua0ttx3QDgAOjYAmg6npBnc7zuiUXSV9MnmcJpRijQjHRZQWPu1XNeOyW8ZgJsRu5U9Wq4WY90dQESuNKQyBWlzIEgSCOUaqWGEwyatRSaVnk0WG+WykV7R1Gs12MPaRubZY8oUCS0LQjVWlaMCweRRpmJpMhJuChIFNmkIY6MI7JkkoKQhdXf9fgrg4Qz68BqfKYAP7z5XFnL/FFShAVVLV1TR7RFxUpVGEBVkM+Db0CUWpspOwiZ0tS45PVmjgGxqekI/TMg/0hh+jUr/HxQyzAyn02DWAAAAAElFTkSuQmCC",Vs="data:image/png;base64,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",ao="data:image/png;base64,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",ul="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABDCAYAAAALU4KYAAAAAXNSR0IArs4c6QAAGn9JREFUeF7NfGtwXdd13rf23uece+7FxZMACD4sSq4km6qduqO4GuUh0c/Yki23HTHpJDO2/9j9406Tuo4jx+blWG9l4qn1o5Ez02Q6TTpDTeQolBTJGQ2VsRs7iajYcsla1ItvgARAXgD3cV57r2qdcy9wAQIEKcEZnD/Aee3Hd9bjW2uvfQkbfTATd9okAN3/r6QbIoBXeWFlO3LePS7X/lr9Ey0O8UqGddlnesfyjhuTBpiZHn8car3Gjo6C8LfA2QksjmHbJHjZ+Q0d/Nd5TvqSd3fvvrLvtXcv2fXGd6X3fy4A7n8B+rbOCI4dWwJo8gawXD9WBfkL0N1BjrfBuH75kM+dBuE4gF3A+A5wft455HzlBE/Nwd2wUFz/WwCX63/PHsquFKD1nttwAGs1VtgNs7un56MrR9GE2r0LZr3BXc39qTbSrY0CQOnvcv3X9iIFNkaNNx5AZoU/hS+Ss3iIJPUcu28EwYefDICHe65fACDnjblC2uR+97bfuda93vuePH86QTL/So9kXqb/2ucQY4Ps4IYDeOAA69M74OcTP726DAWAHr0JPuaW3+/vnM5fjeh1nj2xgFjPwWFHz8tr9P87dyPa1ACeiFC6BIPxpSuBhd6xHSU0imulEBy1l2zcyndX3l/t+Vdn0FYluPzdc6t8gZ7+v/wxtDbKE/9cJPDNAGWZQjsGj3bm0ghArQVQuQoe64ce9lBuobWqrPmuzIlqLY7NL5U5iZbOV74knU21y83XT8KNbFm6u7L/7p2vfBqNTQtg7RCb4XYB4GzXqHVGTjHUAICygZmYQBntt6Grq70SAudn0FhoFxKog+Lvyv7l2shb17/0CSxsagBRR99q8/S5oC6j/U0zPlopRxGgk3hR0qwfcO+55we5E4kElLWe6xiLM9PBQiMqgEsIl+V5+z6DuU0L4BceY+/a7asDWFEFdRnqg6kEqHZBdgwOgiXI4xjI0iWbaDyw6jl33vLn00ZMk/PBvO0A13S4LM+LX8RcrUaFvXyHx4bbwMceY292FF2Humx4JoBXARAaeH2jqCJ5h6PveX22iTkXwTYBtOaQ+aW1o5LkZVzcvAC+yN7sGxhcDZpSWNCb/jLMYCUZSATAgvDkh3HgTPV44x6AyZCevKDeX/L0+cEwOSPvGQPOMpA0Mbtg6wmHueQt1IUor30kRzG7aQGsHWC/YgoARRpE4rqHqiBX1CENr1xJF0GW2Xo9z6U9F+R6q03VMxf0o5mj9zFgK777g2vG7YHuK/J4o+5daCnYUhuot5CIBK7sX87z42XMbGoAOwHFJSKwZaQA0Fj4g4NLADJ7TJSuak4UefT6KfxplOG93QYlaROW8PA1W9O/kGsZPFyYwQXFhe07ewGJH1wmsXAU5zctgF96hoPhuZwtwPeXJpEkoPHRgmBrDb+sst5obFHnROK0AdsMFKWo/PJ7zX/NLD76xN8DrieFICCWPPfI9mH3pLQ5l5qZVLCMgLpFJBRzZf+LH+A3MFWjTepEvv0MB/MN9NDZYtipBo1VUBIRjPwkGPDVMgDlGcemA1EGdqZ8Zgb/TWu857O3AdPzwBP/sDxfyABXSu7hbcPu6VZqpjWQiQc/30Tk2bUlMLsbk5sWwNqfcMkMoQhAeoiyADhaQSlTMYVl8o12W7QyigFPaTJEIGc7DsSiNDmt743SIslV9oHP3g5M1YG//MdLkq6uUnL7y372F1nMmTEBTwuAIv0riLqchiGQ3YUzmxpArmCsqy5hh+gKrxvoQ+j5aZ8yNGg8GiThaw6Js1lGTjvAIoMpzdb1w1G6ZPNyEAPgc7cBZy8CT764HERFOLlta/ZZx2beNtG80EKUdiSw23/+PSNAzg9HOPP4BiVVN5wH/vYBDgc89ITuRShRHsFgn8q2OMULJoM1IW1BtjxgYKZgZt6/P0qKdJ6ngbTnkYqAeDtwagY4eHhpuUARHx0azH4LQKA0VRoJz0RtbynXI6FM9ygBR1Kc2twAakz0uuBwEFt0llp2XqqylDwPQbmsRm2WLaalnTL+hbq+t90B75brC/AOv7HcmfeVChCPnweefgkwGnak6u5JWD2fJWnmjMeUpoHwokbLm72ECkiy1eLERqX1N1wC//AAh00P27oDjy3UYBhNNJqlswODnRDPZmFfxY0x69xpOAe/Pq/3t+NC8m69ofC4P3p1tekD1Q6Ir02h+dJx97AJ+MdpqicThxRpikbba4bVbKLdMmdWa+HGFMc3LYC1x7isR7C9O3ChI8FQtoPbZso3aSg0RSkqqZIbh7NKe1o35ryvL0R0k7zzSzcWkvcPr60OXvfqcB/sTddl97xyOn3DMhxSc5YdUomrL7Q5LZXVFheZVVOqNzq8sXkBPMhl3cZOmag1BZXQgFZBvMPXYI904ns06OC2KIIdq+rw2En13+MM+JX3AO0UePH1y4MnajvYlz2sdHaENYwiKOe8cy7hhWYSh0KHnA1OW/FKnUNnSyHijcBrmxbAL/9PrvSVCwB7j0qIAVVK3hUlVnMG9jVXPK3iD73X/wA79V/aCXB+DnjpzcuDpxVcteweMX72T2RBKcR9uyCKqaEDrQIgi2L/RJxgYa2Wdju8umkBfOQ5rjTncE3v4EsVbFGUWY+McyojxbacEr8ryZz/m/8muHvXiP6QiOq3ngLmL5NkFfB0EP+PjNzLxJYUtFOardEq1inehGdiCWlSbfJ16WgBktK99DiKY7XaxixtbrgTEQDbC0trcqmD6qtkW7PYTAZhNpiTZYUw0DxhYfEfby99I/RxncxS7N4z/7S63GiCK5ezR0nFP9ZGu1w5tYZzNp+DteaU2EAo41yCeQqxNV7A2dVacyN4pbZBa8MbDmDtAPexKgDJ7Z8CmdBuzyJ9zjNZVTkQKRuS4Ql26oZP/YL35fdsp8VKhv97CvjH14HTs4DtpDyVYg7L/Meeb1+WNp1zUgLC5GBZRJHgbEyniXTCWhaoTMv48WgcB5c4EZeB9DiObFoAv/IkV8vt5XUGCqmmCm83FmSMTsi4YVZuNGubj6Sp/sSv3wrcsIw5An/0N0XopggchPY7RruXik/ixDMRM5ToMImPEpl2NOWg57LElhxpi0SfySTOWe0Yx8ubFsB9/4v7tcGNMu7ePJ9XRlUHdldsnWYLVsj6bVT6nGN6n1bAb/wScP3Wpdn+8Bjww2NoJ7D/W6sl8AoIAVISRkPSNjpjeJbNHCmnQ2PSJNbHbRuNS/KMnebPzeHH3/kiXTbpenlXtnR3w1X4wQM80NadOLYzg8DHsKgcOFYaObcpO5XsSqLwP4ML0m008B9uBa4bB0/Nu1d/fDL7P4eP21eIwUx5HQYxE1lyylmnFBSYHSljMp84VdZ/jQiJ8ECVP69t1EZ9Waa2M+/JGRzetADWvsuDnOJfLtpAAnmBHUtjfd6YZERpnxm2zCrbnqXqA1nq/ToBskg2GZZwYnww/cGpi/aC48Iudo0ji9ISnCLlJBdYyKECO0ekwMr6J8UGCoAuQ93zk7FW259aTZK2XcTff3GzSuBX/4yHyh7ev6jCBlAm2ZbE/nnf2EFZ12Ttyg6ZuA52rEMSFJSKe3jv+hrUtW6qKPJip0+qFLJ251LwAmkaSWM9ubIhiYTGr8PfffHmTarCDzzFQ3ELH+gduBh6CtMJskoTbIuUDpnTHUxXVs+3PpoAWX2StBc7m1aZVMqJnpT1kzXe/UFtL23ImuCG28DaAR5mh5tz9cs1rAihxC4pP93h4PqY4DnHg4qQKSo8Za6gV3EQFU7EsVOOYRTMBSK2IDVvYz5LbLi3/2UfVOGFTQvg/U/wSJTgg0vlk8JyATIgbWyR6idXTrJsl2OlHDlF7IhY5TaOSLBUTGLzwOiucooDEUfinFNiM8WxCPIGcEpR5ilPIuhEnJVL9CyrHunOSfcShIrx/KYFsPbnvAUebrlEmBhK+3aEHYiVCx3sjtwzC56kWDyqlAcTVA6OSCTD5fIplEWAzT0yHIvHyQFXOaHOJdcj/wRnnApwnOlZ+RhrCjTje5sWwPsP8GhKuFWA6k5AnIUIE+l0VESBlQ0tue0yRRYHrEjy+bKiJHKSC51IpVv0wXn4IrIlt8ULWwVk7NjmmOaL8uqkIp2IO2GrZ7sfJ/9AOeNZGs9sFX/96CcpvgqLseajV2V3rqRDATBi/OrKZ8UGknKjos9WUX8Gu0tsYQ6McxkxMipqWxxBsRN0e2SoUFtHREakU0saCw4mv+aQBKLC1rYcNJNTM0Jn1hrvliqe+k+bFcDaEzyGFLevHLysupFx4zAYd2yH48x5itEWacrVUBCSoFcYzSozz1U6dxyuiEJcIZ+WINIbhoGJydFFl+Icp2r6cio8XMWTmxbA+57k8bSFDy8abcoTngYaxunsvURUEU2Mk0xUscuUxUPkti8nx7kQ9sDoClEUycydjNAfyTTI34JPw/eNUkTsGA2K1c/AkA5ScnDSUhH+FVLJC/hu7fPUu9R0Jcq16jMbosJi/GVrQ6mKip3FThvh9mLEEE10nGdN4MG3/4oUGeGFUWZFT4WCSFRWAJSHezml4YKmLOmwSKBIsXjiHtMo9Eg+hCv5Ou8HzIlN9E+UgMfwSCNwyM2DtO0sI6tW8OcbVeb79gBkpscOw8xa9GsPgReB2gqZyVo6qZsBjv09TK6S+wMP/UoV5W4sBgpuKJcghsusZeeUdVZ4jrjh5aCtLhZK8ljikxUpIq2htFJK5/DmW6PqUEpsKjNjgTM0cjPh0JY0GBE8XVVPVEaQtVp5qV08H2O+djvs2yk8vwoAmWqHEJQrGNRteFGApBwgjhog10QpDcDVCrzmNLYhwUdBboCUkmW3urMuIiB0pEQqlIOVhfeyUJdFQpwLm9ASzse00gP0DpRIC0kubGCnDSJuEptpkcjcOTm0JWmhPPQ7Wa9nSA1/In3oIDlQHiotzMd1F3qDNoua5bBcMe0WsqkE9Uc/Kc9d2T6SdQG8+wDrD2zFsCoj1DGiZoL50IOHFqq2hBTJglNBtULUyhyX27Zlf9lF+mOwOGNT1LXnxlipPk5wMoeIpExG1NRVHGGQBWhQCBIaU5jFtY/CmuXJBBIaQ21iNacYdSKVV6/l4Ik9laVV6y5ypuZh3LAyahtb13BOnVODeLIUtLMoC+c92wyk7ASNyvzEBNL5GEPKQxAzWskHcXG9EpA1ByzF4sZhPDRQCxXMYkG+Sr3PqMFqq93K/PnyrBlp5zUw2YfCSbyAYR/xLS411WROb1HC1RT6nHLvVk6d4EICDBPSIh2/BBMJJhq+cy4QAJiR28lcKVXHJhbeWlQzVaxi6CLqyFvptCfwsuQGFTJhjYs9yH0DQ8b9C2bWxuj7f9LG1M2jmCAg+8oe2RixXOIe+QlXVL09bMMwbT3zwkyttmfVsuFLAWSm+55vjumgEkTDmKrdRImsczQqrYGsSbo1F858ay+ie5/HuzKF2doeakhRJY3EH1ZsKrahj7oUHy68Jqrw7LVEOkIGWbNIhCwrlghWWWXFkoFXi/h78F2GwyX8sohsFFHhtp04klWiEGnPKVRJuXdTX/rE1qHge5KR+d2/4YGqj/7fv41OrSb5tUNvlkpm15jjRvueX+mbWWknlwEopWlNH9tVE9O/exctiD361g8x1GqjOjc7HT+ydyzPr9UO8aBvF/Q9H+nPSyfue7Y5wZ65xToo5fyX7Dw+zEBfntgktxWqqBd8a/lygZybc1yom2SilycRxGUXjkQteuElOuMkgUoSCufrIqTyrHQnOiHYy5FniUSUhxHorGLK7gUi/0df+wjlW3Luf2ZhdM5Lk4c+Orxi79QSpN/+Efc3GcPxKZztDQMXAfzyc1wZKGHM/ipOdPX+ge/zUBShCm5l5JXPd9cR9h3iHfv34ExX7GvPzg2DSnn0kRPmFp3lxLtF1Cm/plBxym0hcCWnLUI9mGKwi0AmInYpQaWZ8GInsW6RaVl55FRG5bom2HtMzkPuLFR7mcqueDGnP+QGoTGGEn8fJqtHSfT9B+8cvNgRCMNpa2z/xyqrruJ1mxOzphV2VjxM/c6tlC/A5gDWjrAfTMY7fu8jpcVSnj/8Ow4to5rMNCntrzRFVbsN3fNkY9yPK83a3s41Zvr6s+nNWkm5Bjes0gsqzjyKw3/NjP6ctrg8veVBuT7HUiPDUvgm2x4WRUwSLpJRECqYJwyENLPgX0hqTg87iYYejKSMZoGcnhLy3Itd8azrVxpb2LiG8rPDrFXTIjv1zY+XX+oKwL5nuD9BI3jgk9Xp5dgLI1huG0UrH3w+vvbNweDUd27O65KZvvlctOvluYMnH9+7d9EcifR5GfTsxQWena7O964hyJZWfWv8busFb3alUrz1TW+5hl7xlvS+pfRGWLxPO72VRekchPXlPkQkSAoshfDmRDv3xNCSpqYOrysyNPkkxNXkiQQBisQZQSUivWCVF8opltvKsHIVoryQSWLmc2zsG07zRZFS5dGJ3XXvp93KBBEe/UZ8ze/fGby2bPONAPUD7HQxSkmKJEwwK2ZNAH7sRfYmp6PttU+Ex6l2KJeEwdoeWnX9YDVVkmtfeJG9nZPxrka7df6hvUPz6/EmWS+Gwg6nsp0KNMHWDTN0qKCCHDgrqyBKAjTuOhCxaUV4t3SoQmskaBbAxUR4edBD+SpKSoQma647tjOsXK41klhl6+qW6Wf339VXbEV8qxjxgacxmHG8xfYtCcJiT8z00AvYnmRJ1cpCQSO9UNvbt4jRvu/xtpEMs1R7jseQoFH7FK2+828tBDvX73m2OeFDV9gF52tXuQdNvHdpCOH8fKvsrK4oQyVyVFKKPKicypQd2+tyJe9GtLKoxI7ZqJTBCRgRUSYUJ99IllOi7uF05JQ978OerN1ZnRUPKtoT3Tw3UErUKAI1X7tjCZTeqcq23ddH42s5IWMdczvJ6ovgi9k7xH1oLJQot2eqsvB2AcxtqOxS/8XmWOZMVbOLicIZHEb0TrcSfPXP6kOmP7yNOWMxl85ml9Au3dn3zmkurQkrmofKZgNg5ki7elEqUfPx3YYyomhLlqSBg6rf9+nK+bX2y8nzfCu2Bh76bRSztUhZBTP7P0mLW5lzjRpFiaQgcr6CgdodV6fCawnml779ajB8zbaRGLostqGVuajdbs9P+cPNm46Ca7WisGAdwc5vf/Wp+pCy3q2SkDCedpmFUza1bHSiwLFVpq2cazq2rXrcak5jtC194DYo1Ot9rIN+0qoUxwl8rRsUl2fWy0TnYP8C+k0/BrIsCTPHnC64dohwqvfdrx1sbff6wtncidSeiq890gpObFTdcC84tYNny0kyMKA8VZKMIBAD7Gcp2OqUU79Sjs/PIxlrIkPlqMPo7sUUzNljoGCnKPBrGGkknN+bPqrmJIcR7DDaLvi+1kFmlCeZVqSJyfeOOWQuDFpb+lHv0o0r+WBC5UbSOZ8GBqpplFTiiDObJheCudlm7fPXLqa/ageO+NnAddvv/Xj4ZkFj/oRLGMW2fXfgzY3aBnrZATPTl/4afrlxsRQaL0g97WVtaA+k4ZGCjZUtMi2dyiufkSRgSYBpdoHnZ+0UzsQutaYStfoQPfoJJG8nmyKKf+BxqFe3Yiydw5zpx0jWTKpZzLExFyZbztMP3zW6WGsobOP9ffEu2whOiUQu2hQxilk9Hn8lDY7/PCTxSiTgn/MZUdXaPvADL+AaN482DcEl7WREUhQNE5zp82HlZ1d6E6+ylXfbVlwDhbNdn7HMKP/2gVPhcDi6Y8EFUw/fJb9ocGW26p9z4u+kL/H6tbuRfuEwzI6Z5AYHfxIfR917DuNplowkNp3248rFqIzKg3dSHqV0KU/tL+sD4HBsuBSc6F0OWDWZsO+J9nbjkWdnpyZrn98VbySQ+ZffoM3Oa4EpalZoEdN9T2Ls+hgze/fCPXQI25Morpw6GbyxbRI2/cVop5eqyqzvvy45wNqB6Upt79hixJX7h4OTodYTE5FtR/fdGZ69bDJhmfF/62vBi7bBkWo06+f63hhvv9OJ157lYW62y/v/fTkvfJQ6mtg7HX1r7848rhQN6P6f2+ZDbLqRjvy/73bYro0Wg/8HH6ciB8hM9z/X2vq1X6vktTD3HuTtkuDd/zE6+9APuBq3sctFeF3ULqcf5WRXw/PflPel3bPHDtN3vnjzYrnbIu2Zj7caE6QnT+PsWtVc6yZUv/DYi97Elt3jllXoyDZ8e3wWR3dnVwum7OIc5eSGb9wR/LQ76f1P46baHTgiX1VA+MbBZPc3Px0cWbz/FG6sfYp+Juf3PcsT6VsuvPZrlNc97/ur1rtiFS50Ve2bf9W+Vmfp/D3/TjJETLXvRtekxPa+z5RP5bZrJHk3RvzXFj/ICk0Q0GY/CG+43R4lUpItb9FwOLVeIea6APZK5b5nZvuzdnnIM+Rx5iLy6xd2tydiUY/11LxTfJ52uZQ4LU7RL1LSlTa04utqd5SOdQG892m85+t30v+Tc/kAIw7ba3dSnvCQSOGon9xY+0xQ/LIUM/3ed+PrH/i3wauFmjE9eAD9X91La6SomGq1FzR231TiUt8wZUKzOGmp0uzDnZj3SuztVQG4TMUPcjlFe8i2VVjxwJlzMcJQirtbR6Yf58f33r0uqMvaEwJ7N4wkcLvXJUuyxP6ZHnoSfd2AXp6R/OWVre8y3X0Aaugi1LaxeiV1pQGPKMg8sE5cm/zwwtuNxN42gCu/Tu0gl6HQnzWjEEoIs1Sdcpo4F3thuUkNRBiFOzINlmhh374iZXUlX3m9Z/Jl1f2g3btB8rN6sz+FHtlZD1kNlknHpcx26lSFYDvb8v3y3NsFbOVYNgzA1SYpjB3e7nJLtcpepjxrySsZKPmhCMgSi/IdtCyTsWMhxpLdT9iRZgdTcej8NlSiifwYxAGprEU54Y58UiUrKYdAxS5RshtA2oG0o6XIyCXkyq2JnWhuVDHlanP8uQK4nuTkxr4GjWuOG1Qqpg2jQ9n8EfaruA0KTBGJNNBAnycru+za6Lchpi2azQy7dmW1PXnx3IZI8vrjvfSJ/w8tE40m/y3h+QAAAABJRU5ErkJggg==",Qs=Je(82326),ml=Je(18287),js={flex_box_center:"flex_box_center___g95QO",flex_space_between:"flex_space_between___DdZrd",flex_box_vertical_center:"flex_box_vertical_center___XptQo",flex_box_center_end:"flex_box_center_end___OeRyD",flex_box_column:"flex_box_column___GCZDS",addModal:"addModal___rkVQM",contentWrap:"contentWrap___hdqno",boxTitle:"boxTitle___messp",tip:"tip___w9Tak",leftBox:"leftBox___kDArQ",formSty:"formSty___RXRPG",rightBox:"rightBox___BUv9Q",nodeData:"nodeData___FbbqZ",yc:"yc___lhz8B",yclj:"yclj___Z6AKQ",nametitle:"nametitle___lR1nK",treeheight:"treeheight___RZ8Gb"},Ma=Je(89489),Al=Je(28426),$n=Je(9148),Pl={contentWrap:"contentWrap___ni2IK",titleSty:"titleSty___EglCE",leftBox:"leftBox___s2Tog",rightBox:"rightBox___UXF7P",tipSty:"tipSty___tamqo"},ei=Je(16326),el=Je(62673),Dc=Je(61186),Ia=Je.n(Dc),Lh=Je(73410),Gl=Je(82264),ia=Je(48716),$l=Je(49840),xl=Je(59301),Yl=Object.defineProperty,Sr=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,ou=Object.getOwnPropertySymbols,hc=Object.prototype.hasOwnProperty,Yu=Object.prototype.propertyIsEnumerable,ed=(ee,y,E)=>y in ee?Yl(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Ud=(ee,y)=>{for(var E in y||(y={}))hc.call(y,E)&&ed(ee,E,y[E]);if(ou)for(var E of ou(y))Yu.call(y,E)&&ed(ee,E,y[E]);return ee},Af=(ee,y)=>Sr(ee,dt(y)),pv=(ee,y)=>{var E={};for(var z in ee)hc.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&ou)for(var z of ou(ee))y.indexOf(z)<0&&Yu.call(ee,z)&&(E[z]=ee[z]);return E},_p=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Cl={\u8BD5\u5377:"#F65160",\u89C6\u9891:"#4237E7",\u5B9E\u8BAD:"#145DFF",\u8BFE\u4EF6:"#1B8565",\u4F5C\u4E1A:"#21B292",\u5176\u4ED6:"#B96B18",\u6559\u6750:"#B96B18",\u56FE\u6587:"#B96B18",\u5206\u7EC4:"#21B292",\u7AE0\u8282:"#B16514"},Mu={\u8BD5\u5377:"#FEEDEF",\u89C6\u9891:"#ECEAFC",\u5B9E\u8BAD:"#E7EEFF",\u8BFE\u4EF6:"#EBF6F2",\u4F5C\u4E1A:"#ECFBF7",\u5176\u4ED6:"#FFF7EF",\u6559\u6750:"#FFF7EF",\u5206\u7EC4:"#ECFBF7",\u56FE\u6587:"#FFF7EF",\u7AE0\u8282:"#FFF3EC"},Ro=ee=>{var y=ee,{pathsDetail:E,classroomList:z,user:ne,globalSetting:ie,dispatch:se,visible:le,setVisible:de,detail:ge,uuid:ve,treeList:xe,onOk:Se}=y,Me=pv(y,["pathsDetail","classroomList","user","globalSetting","dispatch","visible","setVisible","detail","uuid","treeList","onOk"]),De;const Oe=(0,xt.useParams)(),[Re,Le]=(0,Fe.useState)([]),[Qe,Xe]=(0,Fe.useState)([]),[Ze]=en.default.useForm(),[it,et]=(0,Fe.useState)(1),[ht,lt]=(0,Fe.useState)([]),[ot,rt]=(0,Fe.useState)(0),[Mt,Xt]=(0,Fe.useState)([]),[cn,Cn]=(0,Fe.useState)(!0),[En,Zn]=(0,Fe.useState)(!1),[ti,bn]=(0,Fe.useState)(!1),[rn,li]=(0,Fe.useState)(!1),[Dn,Wn]=(0,Fe.useState)({});Oe.coursesId=Oe.pathId,Oe.id=Oe.coursesId,(0,Fe.useEffect)(()=>{if(le){if(Mi(),On(),z.actionTabs.type===2){const rr=z.actionTabs.selectArrsAll[0];Cn(rr.unified_setting)}else Cn(!1);const Qi=hi(xe);Xe(Qi),Le([])}},[le]);const hi=Qi=>Qi==null?void 0:Qi.map(rr=>{const{id:Ir,node_type:to,name:Jo,children:Ot,position:Pr}=rr;return{key:Ir,title:"has_children"in rr?`${Jo}`:xl.createElement(xl.Fragment,null,xl.createElement("span",{style:{color:Cl[to],backgroundColor:Mu[to],padding:"2px 4px",marginRight:"5px"}},to),xl.createElement("span",null,Jo)),children:(Ot==null?void 0:Ot.length)>0?hi(Ot):[],tag:"has_children"in rr?"":to}}),On=Qi=>_p(void 0,null,function*(){Zn(!0);const rr=yield(0,Gl.c_)(Af(Ud({},Oe),{page:Qi||it,limit:2e4}));rr==null||rr.course_groups.map((Ir,to)=>{Ir.key=Ir.id,Ir.title=Ir.name,Ir.disabled=Ir.is_published}),rr&&(lt([...rr==null?void 0:rr.course_groups]),rt(rr==null?void 0:rr.course_groups_count),Zn(!1),Qi||Ze.setFieldsValue({publish_time:Ia()(Ia()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:Ia()(Ia()(new Date((0,bt.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),dn=Qi=>{console.log("onCheck",Qi),Le(Qi)},mi=()=>_p(void 0,null,function*(){var Qi,rr,Ir;const to=Ud({},Ze.getFieldsValue());if(to.end_time<=to.publish_time){kt.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),bn(!1);return}if((Mt==null?void 0:Mt.length)<=0&&!cn&&ht.length>0){kt.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),bn(!1);return}let Jo={ids:[...Re],group_ids:Mt.length>0?Mt.map(Pr=>Pr.id):(Qi=z.detailShixunsList)==null?void 0:Qi.course_groups,end_time:Ia()(to.end_time).format("YYYY-MM-DD HH:mm"),publish_time:Ia()(to.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!Mt.length,subject_id:Oe.pathId};bn(!0);const Ot=yield(0,gn.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:Ud({},Jo)});Ot.status===0&&(((rr=Ot==null?void 0:Ot.examination_bank_ids)==null?void 0:rr.length)>0||((Ir=Ot==null?void 0:Ot.shixun_info)==null?void 0:Ir.length)>0?(Wn(Af(Ud({},Ot),{courseId:Oe==null?void 0:Oe.coursesId})),de(!1),li(!0)):ui()),bn(!1)}),ui=()=>{Se(ve,""),se({type:"classroomList/setActionTabs",payload:{}}),se({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),Zn(!1),Mi(),(0,bt.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),kt.ZP.success("\u53D1\u5E03\u6210\u529F")},Mi=()=>{et(1),lt([]),Xt([])};return xl.createElement(jt.default,{title:"\u53D1\u5E03\u5B66\u4E60\u8D44\u6E90",open:le,confirmLoading:ti,width:"1200rem",centered:!0,onOk:mi,onCancel:()=>{de(!1)},maskClosable:!1},xl.createElement(an.Z,{spinning:En},xl.createElement("div",{className:`flex w-full ${Pl.contentWrap}`},xl.createElement("div",{className:`p-10px-rem flex-1 minW-0 ${Pl.leftBox}`},xl.createElement("div",{className:Pl.titleSty},"\u9009\u62E9\u8D44\u6E90"),xl.createElement(ml.default,{checkable:!0,onCheck:dn,checkedKeys:Re,treeData:Qe,defaultExpandedKeys:[(De=xe==null?void 0:xe[0])==null?void 0:De.id]})),xl.createElement("div",{className:`flex flex-col flex-1 minW-0 ${Pl.rightBox}`},xl.createElement("div",{className:Pl.titleSty},"\u53D1\u5E03\u89C4\u5219"),xl.createElement("p",{className:Pl.tipSty},"\u5230\u8FBE\u53D1\u5E03\u65F6\u95F4\u540E\uFF0C\u5B66\u751F\u5C06\u5728\u5404\u6559\u5B66\u6A21\u5757\u4E2D\u67E5\u770B\u5230\u5B66\u4E60\u8DEF\u5F84\u7684\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u3001\u8D44\u6E90\u7B49 \u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),xl.createElement(en.default,{className:"flex flex-col",form:Ze},xl.createElement("div",{className:"flex item-center gap-10px-rem"},xl.createElement(en.default.Item,{className:"flex-1 minW-0",name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},xl.createElement(ei.default,{disabledDate:Qi=>(0,ia.Q8)(Qi,null),disabledTime:Qi=>(0,ia.d0)(Qi),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ia()((0,bt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1})),xl.createElement(en.default.Item,{className:"flex-1 minW-0",name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},xl.createElement(ei.default,{placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ia()((0,bt.U6)(),"HH:mm")},disabledDate:Qi=>(0,ia.Q8)(Qi,null,Ze.getFieldValue("publish_time")),disabledTime:Qi=>(0,ia.d0)(Qi,Ze.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1}))),ht.length<=0&&z.actionTabs.type===2&&xl.createElement("span",{style:{marginLeft:"65px",color:"rgba(0, 0, 0, 0.25)"}},'\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03"'),ht.length>0&&xl.createElement("div",{className:"flex justify-between ",style:{marginBottom:"10rem"}},xl.createElement(el.default,{className:"flex-1 minW-0",checked:Mt.length===ht.length,onChange:Qi=>{Mt.length===ht.length?Xt([]):Xt(ht)}},"\u5168\u9009"),xl.createElement("div",{className:"flex-1 minW-0"},"\u5DF2\u9009\u62E9",Mt.length||0,"\u4E2A\u5206\u73ED")),(z.actionTabs.type===1||!cn)&&ht.length>0&&xl.createElement(Lh.Z,{className:"flex-1 minW-0",data:ht,selectedRowKeys:Mt,setSelectedRowKeys:Xt,handleChangePage:()=>{}}))))),xl.createElement($l.Z,{source:"\u5B9E\u8BAD\u548C\u8BD5\u5377",showModal:rn,onCancel:()=>li(!1),info:Dn,onOk:ui}))};var Ye=(0,xt.connect)(({pathsDetail:ee,classroomList:y,user:E,globalSetting:z})=>({pathsDetail:ee,classroomList:y,user:E,globalSetting:z}))(Ro),Ft=Je(59301),pt=Object.defineProperty,Ut=Object.defineProperties,Qt=Object.getOwnPropertyDescriptors,mn=Object.getOwnPropertySymbols,Bn=Object.prototype.hasOwnProperty,Rn=Object.prototype.propertyIsEnumerable,bi=(ee,y,E)=>y in ee?pt(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Oi=(ee,y)=>{for(var E in y||(y={}))Bn.call(y,E)&&bi(ee,E,y[E]);if(mn)for(var E of mn(y))Rn.call(y,E)&&bi(ee,E,y[E]);return ee},Yn=(ee,y)=>Ut(ee,Qt(y)),er=(ee,y)=>{var E={};for(var z in ee)Bn.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&mn)for(var z of mn(ee))y.indexOf(z)<0&&Rn.call(ee,z)&&(E[z]=ee[z]);return E},dr=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Lt=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,addmodal:le,setaddmodal:de,uuid:ge,onOk:ve}=y,xe=er(y,["pathsDetail","user","globalSetting","loading","dispatch","addmodal","setaddmodal","uuid","onOk"]),Se,Me,De,Oe,Re,Le,Qe,Xe,Ze,it,et;const ht=(0,xt.useParams)(),[lt,ot]=(0,Fe.useState)([]),[rt,Mt]=(0,Fe.useState)(!1),[Xt,cn]=(0,Fe.useState)([]),[Cn]=en.default.useForm(),En=en.default.useWatch("uuid",Cn),[Zn,ti]=(0,Fe.useState)(!1);(0,Fe.useEffect)(()=>{var hi,On;if(le){if(rn(),ge){const dn=((On=(hi=E==null?void 0:E.detail)==null?void 0:hi.route_nodes)==null?void 0:On.find(mi=>(mi==null?void 0:mi.id)==ge))||{};(dn==null?void 0:dn.knowledge_labels)=="--"&&(dn.knowledge_labels=""),Cn.setFieldsValue(Oi({},dn))}li()}},[le]);function bn(hi,On){for(let dn of hi)On.push(dn),dn.children&&dn.children.length>0&&bn(dn.children,On)}const rn=()=>dr(void 0,null,function*(){Mt(!0);let hi=yield(0,gn.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:ht==null?void 0:ht.pathId}});(hi==null?void 0:hi.status)===0&&cn([{id:1,name:"\u5168\u90E8"},...(hi==null?void 0:hi.data)||[]]),Mt(!1)}),li=()=>dr(void 0,null,function*(){const hi=Cn.getFieldValue("knowledge_labels")||[],On=Cn.getFieldValue("resource_labels")||[],dn=(hi==null?void 0:hi.length)>0?hi:["\u5168\u90E8"],mi=Cn.getFieldValue("uuid")||ge;if(!mi){kt.ZP.info("\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31");return}Mt(!0);let ui=yield(0,gn.ZP)("/api/subject_knowledge/tree.json",{method:"post",body:{uuid:mi,subject_id:ht==null?void 0:ht.pathId,knowledge_labels:dn,resource_labels:On,id:ge,is_edit:!!ge}});(ui==null?void 0:ui.status)===0&&ot(ui==null?void 0:ui.data),Mt(!1)}),Dn=hi=>{console.log(hi);const On=hi.node.id,dn=hi.dragNode.id,mi=hi.node.pos.split("-"),ui=hi.dropPosition-Number(mi[mi.length-1]),Mi=(Ir,to,Jo)=>{for(let Ot=0;Ot{Jo.splice(to,1),rr=Ir}),!hi.dropToGap)Mi(Qi,On,Ir=>{Ir.children=Ir.children||[],Ir.children.unshift(rr)});else{let Ir=[],to;Mi(Qi,On,(Jo,Ot,Pr)=>{Ir=Pr,to=Ot}),ui===-1?Ir.splice(to,0,rr):Ir.splice(to+1,0,rr)}ot(Qi)},Wn=hi=>dr(void 0,null,function*(){var On,dn,mi,ui,Mi;let Qi=[];if(bn(lt,Qi),(lt==null?void 0:lt.length)<=0||((On=Qi==null?void 0:Qi.filter(to=>!(to!=null&&to.is_out)))==null?void 0:On.length)===0||((dn=lt==null?void 0:lt.filter(to=>!(to!=null&&to.is_out)))==null?void 0:dn.length)===0){kt.ZP.info("\u5B66\u4E60\u8DEF\u5F84\u4E0D\u53EF\u4E3A\u7A7A");return}ti(!0);const rr=Yn(Oi({},hi),{uuid:hi.uuid||ge,subject_id:ht==null?void 0:ht.pathId,routes:lt});ge&&(rr.id=(Mi=(ui=(mi=E==null?void 0:E.detail)==null?void 0:mi.route_nodes)==null?void 0:ui.find(to=>to==null?void 0:to.is_choice))==null?void 0:Mi.id);const Ir=yield(0,gn.ZP)("/api/subject_knowledge.json",{method:"post",body:Oi({},rr)});(Ir==null?void 0:Ir.status)===0&&(kt.ZP.success(ge?"\u7F16\u8F91\u6210\u529F":"\u65B0\u589E\u6210\u529F"),ve(Ir==null?void 0:Ir.id,""),de(!1)),ti(!1)});return Ft.createElement(jt.default,{title:ge?"\u7F16\u8F91\u5B66\u4E60\u8DEF\u5F84":"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84",open:le,width:"1140rem",className:js.addModal,centered:!0,onOk:()=>dr(void 0,null,function*(){Cn.submit()}),okButtonProps:{loading:Zn},okText:ge?"\u5B8C\u6210\u7F16\u8F91":"\u5B8C\u6210\u521B\u5EFA",onCancel:()=>{de(!1)},maskClosable:!1},Ft.createElement(an.Z,{spinning:rt},Ft.createElement("div",{className:js.contentWrap},Ft.createElement("div",{className:js.leftBox},Ft.createElement("div",{className:`flex item-center gap-10px-rem ${js.boxTitle}`},"\u57FA\u672C\u4FE1\u606F",Ft.createElement(ft.Z,{title:Ft.createElement(Ft.Fragment,null,"\u8DEF\u5F84\u540D\u79F0\uFF1A\u586B\u5199\u672C\u5B66\u4E60\u8DEF\u5F84\u540D\u79F0\uFF0C\u5982\uFF1A\u6587\u79D1\u5B66\u4E60\u8DEF\u5F84\u3001\u57FA\u7840\u5B66\u4E60\u8DEF\u5F84\u7B49",Ft.createElement("br",null),"\u9002\u7528\u4EBA\u7FA4\uFF1A\u586B\u5199\u9002\u5408\u9002\u7528\u672C\u5B66\u4E60\u8DEF\u5F84\u7684\u7528\u6237\uFF0C\u5982\uFF1A\u6587\u79D1\u4E13\u4E1A\u5B66\u751F\u7B49",Ft.createElement("br",null),"\u7B80\u4ECB\uFF1A\u5BF9\u672C\u5B66\u4E60\u8DEF\u5F84\u505A\u57FA\u672C\u4ECB\u7ECD\uFF0C\u5982\uFF1A\u4ECB\u7ECD\u8D44\u6E90\u7C7B\u578B\u7B49",Ft.createElement("br",null),"\u77E5\u8BC6\u56FE\u8C31\uFF1A\u9009\u62E9\u672C\u8BFE\u7A0B\u4E2D\u5DF2\u7ECF\u521B\u5EFA\u7684\u77E5\u8BC6\u56FE\u8C31",Ft.createElement("br",null),"\u8D44\u6E90\u7C7B\u578B\uFF1A\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8D44\u6E90\u7C7B\u578B",Ft.createElement("br",null),"\u56FE\u8C31\u6807\u7B7E\uFF1A\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u6807\u7B7E",Ft.createElement("br",null),"\u6CE8\u610F\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8D44\u6E90\u7C7B\u578B\u548C\u56FE\u8C31\u6807\u7B7E\u7B5B\u9009\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u5185\u5BB9\uFF0C\u66F4\u5FEB\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84")},Ft.createElement("span",{className:"iconfont icon-tishi7 current",style:{color:"#FF8C29"}}))),Ft.createElement(en.default,{className:js.formSty,form:Cn,layout:"horizontal",onFinish:Wn,scrollToFirstError:!0,size:"large",colon:!1,labelAlign:"right",initialValues:{knowledge_labels:["\u5168\u90E8"],uuid:((Me=(Se=E==null?void 0:E.detail)==null?void 0:Se.nodes)==null?void 0:Me.length)>1?(Re=(Oe=(De=E==null?void 0:E.detail)==null?void 0:De.nodes.slice(1))==null?void 0:Oe[0])==null?void 0:Re.uuid:""}},Ft.createElement(en.default.Item,{label:"\u8DEF\u5F84\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8DEF\u5F84\u540D\u79F0"}]},Ft.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u8DEF\u5F84\u540D\u79F0",maxLength:20})),Ft.createElement(en.default.Item,{label:"\u9002\u7528\u4EBA\u7FA4",name:"applicable_people"},Ft.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u9002\u7528\u4EBA\u7FA4",maxLength:50})),Ft.createElement(en.default.Item,{label:"\u7B80\u4ECB",name:"description"},Ft.createElement(Gt.default.TextArea,{placeholder:"\u8BF7\u8F93\u5165\u7B80\u4ECB",rows:3,maxLength:200})),Ft.createElement(en.default.Item,{label:"\u77E5\u8BC6\u56FE\u8C31",name:"uuid",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31"}]},Ft.createElement(Qs.default,{placeholder:"\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31",options:((Qe=(Le=E==null?void 0:E.detail)==null?void 0:Le.nodes)==null?void 0:Qe.length)>1?(Xe=E==null?void 0:E.detail)==null?void 0:Xe.nodes.slice(1):[],fieldNames:{label:"name",value:"uuid"}})),Ft.createElement(en.default.Item,{label:"\u8D44\u6E90\u7C7B\u578B",name:"resource_labels",initialValue:["\u5168\u90E8"]},Ft.createElement(Qs.default,{placeholder:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B",mode:"multiple",showSearch:!0,optionFilterProp:"node_type",options:((et=(it=(Ze=E==null?void 0:E.detail)==null?void 0:Ze.nodes)==null?void 0:it.find(hi=>(hi==null?void 0:hi.uuid)==En))==null?void 0:et.resource_labels)||[],fieldNames:{label:"node_type",value:"node_type"}})),Ft.createElement(en.default.Item,{label:"\u56FE\u8C31\u6807\u7B7E",name:"knowledge_labels"},Ft.createElement(Qs.default,{allowClear:!0,mode:"multiple",placeholder:"\u8BF7\u9009\u62E9\u56FE\u8C31\u6807\u7B7E",options:Xt,fieldNames:{label:"name",value:"name"}}))),Ft.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},Ft.createElement($n.op,{shape:"default",onClick:li},"\u67E5\u8BE2"))),Ft.createElement("div",{className:js.rightBox},Ft.createElement("div",{className:js.boxTitle},"\u5B66\u4E60\u8DEF\u5F84",Ft.createElement("span",{className:js.tip},"\uFF08\u62D6\u52A8\u53EF\u8C03\u6574\u8DEF\u5F84\u987A\u5E8F\uFF09")),Ft.createElement("div",{style:{maxHeight:"500rem",overflow:"auto"}},(lt==null?void 0:lt.length)>0?Ft.createElement(ml.default,{style:{background:"#FAFAFA"},treeData:lt,showLine:!0,blockNode:!0,fieldNames:{key:"id"},className:js.treeheight,draggable:!0,onDrop:Dn,switcherIcon:Ft.createElement(Ma.Z,null),titleRender:hi=>Ft.createElement("div",{className:js.nodeData,style:{color:hi!=null&&hi.is_out?"#999999":"#000000"}},Ft.createElement("span",{style:{color:Cl[hi==null?void 0:hi.node_type],backgroundColor:Mu[hi==null?void 0:hi.node_type],padding:"2px 4px",marginRight:"5px"}},hi==null?void 0:hi.node_type),Ft.createElement("div",{className:js.nametitle,title:hi==null?void 0:hi.name,style:{flex:1}},(hi==null?void 0:hi.is_out)&&Ft.createElement("span",{className:js.yc},"\u5DF2\u79FB\u51FA")," ",hi==null?void 0:hi.name),Ft.createElement("span",{className:js.yclj,style:{color:hi!=null&&hi.is_out?"#37AD83":"#E30000",fontSize:"14rem"},onClick:()=>{const On=(mi,ui)=>{var Mi;mi.is_out=ui,((Mi=mi==null?void 0:mi.children)==null?void 0:Mi.length)>0&&mi.children.forEach(Qi=>On(Qi,ui))},dn=!hi.is_out;hi.is_out=dn,On(hi,dn)}},hi!=null&&hi.is_out?"\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84":"\u79FB\u51FA\u5B66\u4E60\u8DEF\u5F84")," ")}):Ft.createElement(Al.Z,{styles:{margin:"20rem auto"}}))))))};var Wi=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(Lt),tr=Je(65490),Ui={tree:"tree___nmqFN",center:"center___zS18i",head:"head___VcDyA",del:"del___VM4Mh",body:"body___YCIVW",tabs:"tabs___SW1M6",active:"active___p1mR9",scrollBox:"scrollBox___reAJO",treeWarp:"treeWarp___oNJ2m",treeNode:"treeNode___qHtQK",node:"node___AIr0l",info:"info___FnWMG",resource:"resource___WYrQp",action:"action___gQRZY",tags:"tags___iMesf",tag:"tag___ImQuD",leftLine:"leftLine___KCWcy",rightLine:"rightLine____XB16",icon:"icon___QEn9F",nodeWrap:"nodeWrap___CLyJX",line:"line___njEbX",statusbutton:"statusbutton___yMqes",checkbox:"checkbox___jNN_4",loading:"loading___zOI_x",allTreeNode:"allTreeNode___csU65"},Gi=Je(42959),Tr=Je(77019),Dr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA1lJREFUWEfFl09oXFUUxn/nvTEpbXXRos4bgwgGRYtZCIILhQSFtgEjgnShCNJV05pMqQstpV1UjW6seY1pFERB6EYEJVJbRMmALgqCixTFlgoupjOjUhdNo0068z65w0ycmcxMJmbk3e39zne+d/69c40Oz45P1PPnbwxZxEgkHjQjJUg5c4OcRM4zfpLH7LY7mftxjy13Qm1rge6ZVnK5yLEInkfctha+fG9c8+B0T4Ljvx6wQjublgL6T6r3L3EkEoeALR05Xg1a9IwTm403Lo/bUjOOpgLcV98o8hni0f/ouN7MOL8pwTPNorFKQN+kBkrGGYm+rjivkJiR9T2Gs2N2oZa3ToD78qUi33fbedWhE9Gb4JHaSKwIcDm/LjJdC3ur8BnntxqD1ZpYEZAKdTwSR7sZ9lZcnvFaLm3HKi0M5aK7yeUNVPt6dS9uuoV+l4pyBFKhTkVidL0sG8F7xkwubfvNTbiref7oeMhsxGt9+V/bHnC7BVPaqRLnusW7Hh7z2WWpUNOR2N/W0Jj3jBcRd0fi8zqsMW/iKYzDEvs8n6cxslGJjxAD7Xg945QlJzUHDLbuGj72U+zL7rG/g0k9Jvi2FpvwGcqOWSYI9abEqwaP5w/ad6n3tVk3eE/ihTYiMhaEuihx3yqQIYwDhXGbcXfJk3qWiA+BW1ewxheFtI3cO6M7FpfKXeTuFvDYWxi3Tyt2o4jpMlvDMeOSJUMtILY2EfBNIW1PDs4pcfECbyni5QZM0fN5KDdmPwehZlz462rMOHH/AK9khqyYDPU14okmPq63FGDGuXzadt/1rrZHRU4LdtYSVNsomNYDusk8kGgQ8JXn89yVl+xqEOqsxK4mqVhonQIo4jNSGLOzkiwIOWQwIehxYd7SS/8vo/Z7MtQsrggrx2BZxpH8OG+bmZJT2k2J2UaB5SlYTkG7IjRk8M62gMNuw0mGGkacMXg9f9CO9k1psFjCFfG/x2fYiS5vUAUm5PaJJvmvGGRcG645BQ1+8Dz2lowUJb40mJTHBMLltr7VfIY9UVDEB4KH12zD2AdR7KPYhaiTNKxnxHaCXfkZOXDsv+NKFOJbSJyA2FeyaipiW0qrhRPrWl4VEevDpCoi1qdZbR/H9jhtHCb/1/P8H/hZr0qiHgOCAAAAAElFTkSuQmCC",yr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA/1JREFUWEe1l19oW2UYxp/nNMmWdO1cZmcSW3TYKWwKoh3MmdBVUOmEDSeINvNGGEwRLwRR0Y12FHF44c2qTvEuCaNCRS+KiJiQP512eOFFB3XzX7FNXVnLlrRL8+e8ck6XmS45OUc9O5fnfO/7/L7n/b7vvB9h8dk1OuVaLF3po1QOqMBOEgGBBLRwgnMimFOA88KWr7zOzfGpZ3cVraSm2aC7Ryd9xVLxuCoSBqTdbPzad14lJeba6DnxxzM92WYxhgDd4xc2rCxl31YFrwFotSZcN2qZ5AetW3zDF/fvWG2UoyGANutCcfULQPb8R+GbwvjDBrf76UZu1AF0RiYeqKA8LkCnPeLXiwLOKg48Nftc6KfavOsAtJmvFgvn7BavChKcdbndu2uduAGg1Ty/OJ+wz3YD/4jJjYGu3t/7thfWdtD1JxBNnlAFx+y03SgXyeFsOKRr6QBri65w0Wi1EyiAvGaUUASbAVGswhNccbnd3VopdIBANP2hKupLBtuk0N6mbJs+GMwZCfijqXEAPSLS8S8gTmcPh45SO+EuFxcXjA4ZkkvZcMjbLLE/kvrY4VBOlSvqd9YhmNvq8t5Of3TiSZHy103qZQ4QTUYgzAO4SyiPQ9BixQkq7GcgkhpRIS//H4DaWF8kqR29PisACpWP6Iuk4oDsu0UAywQ+BRkUkZ56DSboj6amReReKwAyiV4Qz9eNJcbYg2+09zccIPIk+7MDoXTgzNmH1HLpx5vjSP5MXzSZg2CTFQArtuoAxKaquA4VTb0HkTcagOe1ElwFpM0OgEER5XQ0dQkKD2cHQvrC9kfSbwnUdxvnZ862Egw9LN9+EsucEshZCPo7OtqPLCzkXjUW1xuZaVsWoTZzXZwS02reOTrRXSlVPheRB5uWjYzbsg190fSxFiA9Gw7GzW2vQSJHbDmIfJHUZ0fDwSODpNq85uv9UBTlCVuOYl8sdZICHwTXBHgREKfpjiGu3Hmfp8P8Z0SsOkH/TDi0ZJRUWwOJBJRf59JtJcGfAvGYA3BkPhx6xdLvGESZgrJZUiEcEDjMxoHIu+nq/m1gz1//NCSR9JAK9bhpsB0DyMH5cGhIS7W+JVvKxiF4xA6NJgdbxuv0Pla9uKxrSrfHvr+jIMVzIui6FRAEZzweZfcvhx69VM1f15Z3ncncX65Uxu2G0MSdCvfPDASnaifX8GKiO6EWxwTYa4cTJDMet3KoduaGDlQ/6K1a+fKbELze7G/ZHJA5kO9vdW45aXRZNb2c3jOW2ba8Iu8Q6gsC3GbFEa2PFGGk1cPhRrM2LUEjkX1xcVyYT/WqKg8A2CmAn4B+PRdgjoDWip1XqHy5w783meij6bmhxf4NftTdgSGLQUwAAAAASUVORK5CYII=",wr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAsVJREFUWEfFl0tIVGEUx39nZsxoKpGISlqmC42gxwxCEApBUhC0iR7bMLRyhrZRC6Ntecc0CtoVRRshkbKN0iJ0RmtRBj0WLUKLoEAz0po5cWe4zdWZO/czJuauzz3n9/3P6/sE02/qwSp+fm5FM4dRbUSlDqEu+7syjeg0Iq+RwENWbxqh6eiiiWvxNZrq28z870vASdD1vvZZA5kF7hIOddN05lOpf7wB3iWq+aYXED2PEjYLvMxKmEflKrVyhfquhWI+igPkTj0A2vxPgQt+kjHCoSPF1CgEmOzZQVqGQLeWJ7jjRT4SCBxkz7mXbr9LAXInT5U/uAsiHIq4lcgD5HI+Wj7ZvfSTMWqlxamJPEDS6ga9WF7ZPSEuE43ZnUUOwJb+x6/3ntUujBOqPsbOjg+egBNWK6qDRh1jd8eaqm12KnIASasftMPTuXCKSPy2rzrPr+8jnR5Cda2vLXKDaKxTsCfc/MyXkkNGAieIdN3zdwqkevei6UfAutL2Mkt4y0ZhsvcA6fTjksYrAbAdTSaaSeuw7+QMBtuECauPjHaWFcB2lkrE0cy1kn4D0i+kekZQWsoOMJHoIJPpL+2XUSFpvQFtMAZIWneA7Xl7HSQaL2xfEwDkrZCy5nyr1l0DKasdJT+mg7xgd2yg4AAmACLfVw4wcbMGqCqqWM3CIvVd9ioGEwCYM0yBHCcSu591nLLGUY16pGyYaLzNHCCbApMidAMkdqIUv5gE5OvfbWeigNhFaNSGSwD2o7KhqAIhmWHX2afGCmTb0GgQuQCSPc+ASFEAkSdEYoeMAbKDyGgUuwCM5rFJETqj2GgZyWkisVumsXPF6jcJnWVkG/uuY3lFMNhOpsp7HbvpMgsNoPaGbSyequXrOKdCBS8kNkDFr2ROKip2KXWSVdFruQNR0YeJA1HRp5m7dyr2OF3ewP/pef4HW7pxo3nDj9QAAAAASUVORK5CYII=",cr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA75JREFUWEe1l19sU2UYxn9v2dwGzmSoEZJtRhY1StAQtN2YkEUiYOL/C6LhQtPWLQwXwXAlRKsXcjMUJQzFrUaCesGFjptBREJ0iXQmXOGCIQKJZDH4Z2Jm6UZ7HnNqCx30z2ktJ2lz8p3ned7ne8/7ft/5DI9Xb5dunonzJLDSgWVAi0GTjGlgIvM76RPDzXP5NnLMkl6krRSoe7naUileF7yAaCiFd5+bMYn4pL6Rd3Z/Y38U4xQ0EInId/4QbzhiG2KOl8DXYgwu4mP7mhb61x2wVD6NvAb6Vuj2+AyfSTxWSeDrOMaRulrW7Rm1yTwmZw+FOrQUh4MSzVUJnhUxTtfVsnbPqJ3J1Z2Vge4u3ZaMc8ItsKoGv2riVE0j7XuP2MWrQ5k7953/MsKIxOobEjwjanBozZ08ka2JKxkItyviOLx5I4NntX3GK4Mx253uGPfPbbVkip8qrfayTRsX6htoGzhmU2kDoYCGJIJehAx+NzgsuF+w1AunACYSHbO3zF3hEpe44GWRMWPKxAODY3Y2bdyvZ4B+QVu5Rsw4OxSzRRYK6HmJLzwKHI6O2dpcbN/jqotPsgmxVaLRo04a5jMedA18KNHjkfhldMyey4ft7dKC6Utsl3gxW1ulNH0+tlnQrzHg4VLgzPOCBrL8YKce4jLvA8tLaZqx383ArxJ3lAJ7NXDFSLtew2FHUV3jqIX8Sgjqqm0g013jEvcV1DZOWTCguJcOKDcDLj7o18/AokIGDH50MzAhWFjNDLid8c+f7EBsLKZrxtduDYxKdFbLwMsdejaVor/YzLOxDD61sF8fOND3fw10d2hJ0mEn4lGPWu46sMXCAT3tiK88kYyj0ZitysVuXKVbE1O8Legpdy+pNe6xzPtyl+JbSpowEjVG597jdiLSpZrzCXolIhJNJbnXAozxaMwWpzejYEDvITZ5EjESBj9I3A0s8MTJA/IZmwdjtvO/7XiFFiZnOIOor1SwLJ5xrrWVeyMHbCb3g2SD4zBQllCFYJvD+qHv7XOXPuubMOzXfgfWV6jrjWbsi8bM3bDS1ywDW1Zr3uRfxASLvamVhzLj+Nz5dO0aMfc0db0BdyTs112OMYxYUp58cXQ6+E08tes7+y0XmfdgsrlDDX87DEi8VBUTxr558+nOnXnBDOQGDPsVcox3Pa0R+Zwa58zH1mzB5YeUmOKGR9R0OcmrEiHPpyVj3AcfN7cy4LZasRAlT8dZsiTraaczKVaasUyixYwmxDTGBGIC42QNDH8Us9NeX92/T9xk1NzUiXsAAAAASUVORK5CYII=",Mr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA9tJREFUWEe9l11sFFUUx///3ZmyrVWMCQsWig+1Kr6w2wZM/CwaP/CBByM8mOhrQyBYt2pMwGD8NmG7tX7yZEx8gsTAg2J4sDUBjJKy1QSjQiNF0WA3tdDalp3Z+ZvZ6W637W5nt906bzNz7v/8zrnnnnsvUeajQ9tr7D8GH6S0TdQGCQ0kGiBIxJ8E/qJwVkEcNWqDfWzvt8qRpp+REq03Z+Dsl6OnBFzvZ+/+J3iF0GfB4IrX2PHd5YXGlATQJ20h+58rewHEJNWV43iuDYlxEAeMtc1vccfhdDGNogBu1LYyRyRsXozjIiAnjdq6J7jz1N/z/s39oHh0o019IWFtNZznNciLpoGt3JP8qVB3VgamIz9ddeczFEOmiU3ckxzOfcoDeHM++k210l4qewROGI3ND+VqIg9gxSOvC3CLbtkfBgL7zOfOvOGtGABe6p3zi632SolJXjWuCzSxvT+VBbAT0Y8dR+2VCi3Fngy8a8bOdDDb4X4/l/JrMqbJcGHx6KO7w9bExGWSGQOhMGPfjuSA9MGmRmvKurhgAyJGjHXNYVpdLY9JzjG/aGo6B+b1jHQ8IhLXzNhAqHC8W9DWyOiknyYDxhba8eiHDrTTz3gugCRaXVFnSQBEwhXpk/RApQCu/ZIzQH7FdDzyC4Db/AAqqoHu1vVWJjPkpwnyR1pdkTEJ9b7Gy2BAMEUrHrnqtwKmG8YYiIk8h1A3axxxIcDAPjk6IGhNObwkh5nuivwM4Xa/AeaqcD2fOf7vzFJrq7emRsey78QFs4Zt3J0c0nutd9hpp7csCPIHdwp6JbT5AZRahoXO83BlQpA8Rjseed8BdlUKkFuGAJ+t6Uz2zB1vJaIvy9GrCzcjxml1Rx5WBscrBShYhuMIBLeaHf0nchpWd8ujyOiIoFkNaq4PMnA/dbDVtMedYUErF4Iwg4GNMIMzJ5ope7UFDWRLwD16TUOU7RxMGY23rvE2ozKnwae3jwM8CGGXX+QeNONmLPm8tx1337Xadq6d/7/6AYlRA7VN7gY2cyBJRPbLwSt+tVCN/wRfMjuT70z3F0/Su3ic+1rCPdVwUkqDRK8RvfERbumzZwFkIdw9fnLyNKT1ywPBQZOhzYVnh3l7vHqid1oWvgR0S3UhOGiuMB/n7u9/LdQtfjHpia6yLX0u4N5qQGTTjtonCyPP6Za+mrk1cWnwBUgvSrphMSButUN822hZGc/N+bxm5CcsNxs29wLO0xJu8rP3CospEJ8aCL1ZLGrfKSjmRIe2B+1Lv90H2dsAbhDQQKEBhATveg7gLMCjxrqmU9xxOFMO7H8KhNHxXAeU2AAAAABJRU5ErkJggg==",ns="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAA05JREFUSEvFl1+IVHUUxz/n3jvOH92HfFpWEi2tWAwLIvChh+1lc9bY7EFS8iGKtIdeCnwxREmEXgyfEoRktdIgKrLdQqRFLURQ0lr/ryy02QwLK9u67uzsvfd39I6uzNyZO3PHQZzH+Z1zvp/f9/x+Z34jNPG5NUCn4/MigmMpkz7kxSGXSpGXLmaaKPUgVOImTfXT7kBvVLwxTIhFTiCf9MhJL7fi1C4B6CCp2QJbjNKDsAxlYZzkqBiB/zVwB/rF5sviNPm2tdwUQcM5EogXC5xVpbMV0Tow54C9CrMi5D0lNz/DsHQxFeRIcYBtRtnxKMTnaorwBcr5cg2x+T35Ghek0M9p4OVHCgAnga/LNdRgUgX6pDDAeKs9bwRvCVdU+Twcl5zH4cCBqoPRqGCz6yL8i7KzIs9Ch/5h/2MDMIbxzOt81zKA1bGRxLOfov407tAH6M3jVQbVcsAIQ5ksf7QEYD+1hcRznz0Q1MIoxcHFsQAQjqWyXG8AYAN+zZY7z+zEWba1Yk292xSPtgWjreL7Wg5MOHzV3s3tSAB76UcEIniTuH+/jxn76X5Rwencg7Pkwyow98pW/Ou7GjpgYDLTw6HSIKp5C5IdJF8dRcQqFVPj4Z57C5P/Eef5fThPvlMl4l3bgXdte023wg6ocjW9hsFIAEkvIdk1Ummv8dCJU1gLX6ne+aWP8Ud2R97OMIA4HE92cznaAcBZsRdn8aa6V17V4A1txh/dVzcuDFCY5dsn1jJRFwAsEiv7sBe9XbN4qS3nN2JyhxvOpXIAVWbSa+ibS2p4CxIrD2Av2lDZDn8G9891mLEjDcVLuyyfhMJIKsvRmABBmE3ihYPYHevvHUhvCvdsL2b8t1jiYQDP4tSC1fzVBECpBFbHBiTzNOa/b9Dp4djiYQC3yA9tbzLWJEBTepFzQBUvdYb9sh3zWAB8uDG/h5/LCVv6LYjry9whdIWTbVkuhgFyd99s7XGLPUycCBeMYdvFGxx5aRNuGOAEUD3eHkYpKkc4kErzrnThhUOCFrwH1B9lLcAET3HLZtW87tLbs/qAqiLFX/helTda0KmZGogr7Epn+STanPsrxV/pVUPP3dfrcmjtjwmQQxi2LA5G7XwO6A7Rr2QOpC6bTgAAAABJRU5ErkJggg==",Eo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAAg1JREFUSEvtl09IFFEcx7/fN6hhQS5FiOShEjwUFIWt00FPdYlw25BO/YOOC0XQHmT35EgYHYJOQacugrC7eDa7iLbbpWutWUSGJR1WpSLZfb8YYWtWZ5gZkT3EzPV9v7/vh++8ebxhPGctAnIUQR5ymZBZ1cb0/MXMp7rFLFhntWCEkD4RdAUYpUnOsLN9iPHcqAQwNEhIrktL65nSpfSCWbBSovFYIEboOUpdbQAg+BaUdbdBAhyHoL2+RnJakemalteAtFzoPoHLR07j4J59vhzp4iQ+rn2HUrj9D4BYKiWz3V5uMz92X4t+6AD4DcGEQG4OdvVivH/YN7guuP7yGcqVr1sBWC4lM72eAAUrpbU8ca4bSlVqWnfY4TZE0McVgERVwKyCxysQXBMg7hbydPAGTh7wLG+bxb2BoPguuv8GYEMR9wD19ysQkT6BpPzK2Z0GuH0TmlMPenS1utAUAIJfilcyh51h5wpjp2pav2kKwGYIsUTAcRCxU0RizQPwS/JY3509sMNw2xYBRA1EDUQNRA3YDcTa9uJdZRmrG798z9Tn5Xms/Fzbcif0tXkLevYfwvvVldATaOA8zZx1V4BjgdxETIABiLheAEkuAvgQYFaNwMyrZOYRA4gbJMMyaXzOl+0fEcdNiT9oSKKYyL4IOy80QD2gPz9qAbgFwTfDMO7MJUZmw4bb+j/0UVXnXVodrAAAAABJRU5ErkJggg==",Oo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABSZJREFUaEPlWltMHFUY/v+ZWWCBliJbhAopIgaEgsAu0CoJ1jYpaYyJ4UFNrKlPFNrSGl9MBDoFTEyMsaVye2vERF+IL8bQhFpJaGRhuShQt0lBCFgQ2CAU2GV3Zo45S5YsuzPsLCypo/N6/tt3/us5ZxA0/mEo7Od5wtng13yn5DyBwDyPhBwlhBwkiFFUPhKyhogrBHGKgPRHGBP2Sxy8PMjzKOxV/64BtLVZdMOzTAkRXK8BYjEARgdnDFkFQnqQ0/2cmyh1l5ebXMHxb1IHDYAQghevD54RRbESAY/sRqkvDwHymGXZ5qZr+XcQkQQjMygAl/nhQpcgVAGSjGCUqKYlaNVxXOMtPrdPLY8qADxPmL9ESxUBeE+t4L3QIcA3z7KmRp5HKZCcgAAq+bFoIPZPJYm8GkhYKNcZBu8D6j9p5rNWd5K7I4BL1waPCJLQCIApgYwTXBuwtPgIbHNWsK8tgnNjFRz2ZTdbhD4GwsKjQR9lgLiEDIg1pAGnCw8kEgDIJMdwVV9dz3+sRKwIgO68JK7dDmT8k+U/YdL6E9jmrUBEdVURWQ7i4jMgJeN1OBDzXAAgZJJho84reUIWAI35eTLw5U5hY19fgonf78D89JCKnVQmiU/Og9SXzoA+MlaRiIZTPBo/lMsJWQAVNf1Xd0pY29xDeDDwLQgu+56M9zBzOj1kGt+FuIR0RXk0sVvqC274EvgBuFhnKRJdpElJ0vR4Nzwa6QSAgAUiSHAMpGWXQvILJYp8OlZX6VtitwGgTaqiZqBdqc5vGv9jkIYFR56WfVYZBEFrS73xnHez2wagkh8olUSpQU4lDZvfem/vw877amMg5/h5xXBiWKa6mTfSEHB/WwDobDM4I3XIjQc0YS33boYs5gP5hOaE6eQV2cSmY0d+ElPmmZ22AFTwg6eJKH4mJ3xs4DvV1UYfFad7MefNZDk5G/YV58PhjplAAOg6rU5ZxndkSZFlP27h87u2eeBCtbkBkCn15aB13nKvUY1ON030oaQIU8mlLDkGx5rN3tv1+QO1wkwnq+T7BJE6WxuKqrcA0Hl+TuzvkhuJR83tsDA7qlZnSAEYEo9BdtE5Gd1kNYEtOE3PE+4Qck+ZoqvZl5KOBz2ddao7bKg9QDt2cWmt7NjhKaluAEqNa2F2DEbNX6ve/VADoPKOFb0PhxP9I5IgaW+rK7zpBnCh1nIDCCn2tdQ61AGzU8qjOU1YVqdnvfkiow+HZxrfTpNNYseyY8TcPu675lhfcgrONdnOmHi0EDLyyvzFIfa01pmuejzwPQHwqxxDPW3w9+KEogdyTnyQ+kx8uvIQo9J31uGOibmp/iU58kOGVMgrLvdbQoDplvqCtzY9UN13FxBjfKnMd7+A9SfzTxVA5IF4KDr1kb8NhCy3NhSecgMor+nvRQDOl6r7h1qQhI2nCoDhwqHkjTo/GwiA0FZfcPy/AUDzIVRR06/xJN5lGU3PLUuKNaQe9A5QZDkMj4iJkE0cSZIc9iW/pBof65xZmB1ZkeNRVUbLa/uuIEG/nq2ZRqb5UWKnYW7E3A6L//ZhbrOZaXicdg90ITrQhOo8EPSBJlRHSi4sijEkZvqNJXSTRKdDVKo23hVoV0dKKkDTh3oKQPPXKhSEpi+2PHGo6atFCkLzl7ubCa3h63VPKGn6gcMDQtNPTB4Qmn7k8+6Q7hLrhMv7+czKhsGtplqTWeWFxv/sodt7VzT7q4Gcaz0/ewii6xWCmKKJnz3Uxuh+0/0DF9aFXrFDGJoAAAAASUVORK5CYII=",Xi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABL5JREFUaEPdWntMW1UY/53b0s4sQAfDPeKWza1kPDIFCjHRRBM3p0xDnG7Z2PxHjVCn0fjYoqF4bYlmmxqNTkp8/OMeuk0N0REnmmiiiYECZgFmaJDFmT1kkDKyzEJ7PnMKl8Dtvb0trY/r/fd8r9/5vvM9zrkMJv9YJuyXZbIO857bI4huAqGYgQpByCPGsoV8RjQOhlECGwBDvxWWUwVS2feyzCLp6p83AFnus13i12qI8xpibDOIHCkZw1iIEZ1kktS6RLquVZZLJlLinyZOGQARsccbu3Zw4k0AVs9HqQbPkMSkhne9FUcZY5SKzJQA7G7svjPCo/sBKk9FSfK0rNsqWfYc9JZ/myxPUgBkmaRL0a59nPhzyQpOh05i0mtLLBV7ZZlxIzmGAJ58KZgzyUNHiajaSFgm1xljbVmSY8fbLzuvJJKbEEC93LMK0UgbERUZGWe3WVDszEVpYS4K8uxwZNuQm50VYxsbn0RofALDo2H0DoyhPziG8ETUSCQYY2dgsVb75bKzesS6AKZ3/icj41cuX4jqO5aj1JkLq9XQoTE7IhFCb3AMbd+dx2/nryYEIkBkSY5b9DyhqVHE/MVo4ItEYZPvsKNm4w2oWp9nuJOJCDpOj6K1/XeMhMK6ZCKcllpc92mdCU0Abk/gQKIDW1rowKPbbsQCuyUt4xXmP8NRvH/sV/QOhHTliYPd7HM9ryaIA+CWOzfwCLXrSdp421JsuWsFWHLRkjRAIuCzr8+h/YeLujxWybpBnWLnmCGKVL0nENDL88L4BzatSNqo+RB+eioRCNbt97lcs4vdHABuT6CWEz+spViEze5dzozvvFqX8MTBQ0HdcJKYtLPZ5zqi8M0AEL3NhcjVX7TaA3FgPU+UZCzmjTwjzoTvnT69gz20zLpwndI7zQBwNwa2cs6PaQl/eOuatLONkdHqdZGdPjw+qMkmSdK2Zq/ruFicAVDf0HGIgJ1qDpHnX3QXp6o/I/SvNPdr1gkGHPY3Ve2aASD6+QvRwLBWS+yudeKmotQ65YxYD+DnMyH4jwTjxTEWWmZxFYh5IuaBqS4z8o2aUrQHr79QlnSFzZThihxRsZ99tUez7VBSagyAXuEqK8lD3fY1mbYrJXktHw+ip280nkdiB1q8lXtiAOo8nV+CaLOa6qH7V+PW8sW6CkNXJnEtbNyUGVm8KMeGBXZJk+zH7sv46PMhrTA62eKrvDcGoN7TMUAEp5rqmUfWoXBVbKzV/N77ZBBdvRq7Y2Sxav2x7WtRXrJIk2vg7Dje+EBk97kfYwj6fVWFUwAaOi4TkK8m8j69Htfn2/9VAH+MhNH45ul4AMCIv6lqsRJCYRDZ1FRveSpgt2m7VtD+Ex4IT3A85evSCqGJFl+l/f8BwPQhZPpDPN80euKrc7H5Nt3vwXtWonhtzvzTaF1j535wipt2TFPITN9KJGrm6muduPm/3sxNFzPzttMCgOkHGtOPlDEvmHmoFwBMf60S84KZL7aUUmjqq0UBwvSXuwKEqa/XlVAy9QOHAsLUT0wKCFM/8s1u0qdSLPb9nc+skhV7m+XKuEs2vZkj5WcKUz90z94F0/5qoOVK5WcPTvxuDioyxc8e6c7BmeL/C6MjFF4PO1ITAAAAAElFTkSuQmCC",vs=Je(5269),ko=Je(87108),jr=Je(59301),Xo=Object.defineProperty,ss=Object.defineProperties,ai=Object.getOwnPropertyDescriptors,bo=Object.getOwnPropertySymbols,Fo=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,Bo=(ee,y,E)=>y in ee?Xo(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Jr=(ee,y)=>{for(var E in y||(y={}))Fo.call(y,E)&&Bo(ee,E,y[E]);if(bo)for(var E of bo(y))hs.call(y,E)&&Bo(ee,E,y[E]);return ee},nr=(ee,y)=>ss(ee,ai(y)),Mo=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Ns=({classroomList:ee,dispatch:y,courseEndTime:E})=>{const z=(0,xt.useParams)(),[ne]=en.default.useForm(),[ie,se]=(0,Fe.useState)(1),[le,de]=(0,Fe.useState)([]),[ge,ve]=(0,Fe.useState)(0),[xe,Se]=(0,Fe.useState)(20),[Me,De]=(0,Fe.useState)(!0),[Oe,Re]=(0,Fe.useState)([]),[Le,Qe]=(0,Fe.useState)(!0);z.coursesId=z.pathId,z.id=z.coursesId,(0,Fe.useEffect)(()=>{if(ee.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03")if(it(),Xe(),ee.actionTabs.type===2){const rt=ee.actionTabs.selectArrsAll[0];Qe(rt.unified_setting)}else Qe(!1)},[ee.actionTabs]);const Xe=rt=>Mo(void 0,null,function*(){De(!0);const Mt=yield(0,Gl.c_)(nr(Jr({},z),{page:rt||ie,limit:2e4}));Mt==null||Mt.course_groups.map((Xt,cn)=>{Xt.key=Xt.id,Xt.title=Xt.name,Xt.disabled=Xt.is_published}),Mt&&(de([...Mt==null?void 0:Mt.course_groups]),ve(Mt==null?void 0:Mt.course_groups_count),De(!1),rt||ne.setFieldsValue({publish_time:Ia()(Ia()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:Ia()(Ia()(new Date((0,bt.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),Ze=()=>Mo(void 0,null,function*(){var rt;const Mt=Jr({},ne.getFieldsValue());if(Mt.end_time<=Mt.publish_time){kt.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),ot(!1);return}if((Oe==null?void 0:Oe.length)<=0&&!Le&&le.length>0){kt.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),ot(!1);return}let Xt={ids:[...ee.actionTabs.selectArrs],group_ids:Oe.length>0?Oe.map(Cn=>Cn.id):(rt=ee.detailShixunsList)==null?void 0:rt.course_groups,end_time:Ia()(Mt.end_time).format("YYYY-MM-DD HH:mm"),publish_time:Ia()(Mt.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!Oe.length,subject_id:z.pathId};ot(!0),(yield(0,gn.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:Jr({},Xt)})).status===0?(y({type:"classroomList/setActionTabs",payload:{}}),y({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),ot(!1),it(),(0,bt.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),kt.ZP.success("\u53D1\u5E03\u6210\u529F")):ot(!1)}),it=()=>{se(1),de([]),Re([])},et=ge>ie*xe,{detailShixunsList:ht}=ee,[lt,ot]=(0,Fe.useState)(!1);return jr.createElement(jt.default,{width:600,centered:!0,confirmLoading:lt,title:"\u53D1\u5E03\u8282\u70B9",open:ee.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03",okText:"\u786E\u8BA4\u53D1\u5E03",cancelText:"\u53D6\u6D88",className:ko.Z.modal,onOk:()=>Ze(),onCancel:()=>{it(),y({type:"classroomList/setActionTabs",payload:{}})}},jr.createElement("p",null,"\u5230\u8FBE\u53D1\u5E03\u65F6\u95F4\u540E\uFF0C\u5B66\u751F\u5C06\u5728\u5404\u6559\u5B66\u6A21\u5757\u4E2D\u67E5\u770B\u5230\u5B66\u4E60\u8DEF\u5F84\u7684\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u3001\u8D44\u6E90\u7B49",jr.createElement("br",null),"\u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),jr.createElement(en.default,{form:ne},jr.createElement("div",{style:{paddingLeft:0}},jr.createElement(Tr.Z,{className:"mt30",align:"middle"},jr.createElement(vs.Z,null,jr.createElement(en.default.Item,{name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},jr.createElement(ei.default,{style:{width:170,marginRight:"25px"},disabledDate:rt=>(0,ia.Q8)(rt,E),disabledTime:rt=>(0,ia.d0)(rt),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ia()((0,bt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1}))),jr.createElement(vs.Z,{className:"ml20"},jr.createElement(en.default.Item,{name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},jr.createElement(ei.default,{style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ia()((0,bt.U6)(),"HH:mm")},disabledDate:rt=>(0,ia.Q8)(rt,E,ne.getFieldValue("publish_time")),disabledTime:rt=>(0,ia.d0)(rt,ne.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1})))),ee.actionTabs.type===2&&jr.createElement(Tr.Z,{style:{marginBottom:"10px"}},jr.createElement("span",{className:"mr5"},"\u53D1\u5E03\u8BBE\u7F6E:"),jr.createElement($t.ZP.Group,{value:Le,onChange:rt=>{Qe(rt.target.value),Re([])}},jr.createElement($t.ZP,{value:!0,disabled:!ee.actionTabs.manage_all_group},"\u7EDF\u4E00\u53D1\u5E03"),jr.createElement($t.ZP,{className:"ml20",disabled:le.length<=0,value:!1},"\u5206\u73ED\u53D1\u5E03"))),le.length<=0&&ee.actionTabs.type===2&&jr.createElement("span",{style:{marginLeft:"65px",color:"rgba(0, 0, 0, 0.25)"}},'\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03"')),(ee.actionTabs.type===1||!Le)&&le.length>0&&jr.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"10px"}},jr.createElement("span",{style:{flex:1}},jr.createElement(el.default,{checked:Oe.length===le.length,onChange:rt=>{Oe.length===le.length?Re([]):Re(le)}},"\u5168\u9009")),jr.createElement("span",{style:{width:16}}),jr.createElement("span",{style:{flex:1}},"\u5DF2\u9009\u62E9",Oe.length||0,"\u4E2A\u5206\u73ED")),(ee.actionTabs.type===1||!Le)&&le.length>0&&jr.createElement(Lh.Z,{data:le,selectedRowKeys:Oe,setSelectedRowKeys:Re})))};var Ts=(0,xt.connect)(({classroomList:ee})=>({classroomList:ee}))(Ns),or=Je(59301),ca=Object.defineProperty,Ds=Object.defineProperties,Gs=Object.getOwnPropertyDescriptors,_s=Object.getOwnPropertySymbols,Ra=Object.prototype.hasOwnProperty,cl=Object.prototype.propertyIsEnumerable,Ba=(ee,y,E)=>y in ee?ca(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,hl=(ee,y)=>{for(var E in y||(y={}))Ra.call(y,E)&&Ba(ee,E,y[E]);if(_s)for(var E of _s(y))cl.call(y,E)&&Ba(ee,E,y[E]);return ee},fa=(ee,y)=>Ds(ee,Gs(y)),dl=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Ca=[{name:"\u672A\u53D1\u5E03",color:"#9AA4B3"},{name:"\u5DF2\u53D1\u5E03",color:"#37AD83"},{name:"\u672A\u5F00\u542F",color:"#92D2B7"},{name:"\u672A\u901A\u5173",color:"#EE5D5D"},{name:"\u6309\u65F6\u901A\u5173",color:"#37AD83"},{name:"\u8865\u4EA4\u901A\u5173",color:"#288A67"},{name:"\u622A\u6B62\u540E\u901A\u5173",color:"#929628"},{name:"\u672A\u5F00\u59CB",color:"#92D2B7"},{name:"\u8003\u8BD5\u4E2D",color:"#FFC86B"},{name:"\u5DF2\u4EA4\u5377",color:"#37AD83"},{name:"\u5DF2\u4EA4\u5377/\u672A\u7B54",color:"#929628"},{name:"\u672A\u770B\u5B8C",color:"#FFC86B"},{name:"\u5DF2\u770B\u5B8C",color:"#37AD83"},{name:"\u672A\u67E5\u770B",color:"#9AA4B3"},{name:"\u5DF2\u67E5\u770B",color:"#37AD83"},{name:"\u5DF2\u4E0B\u8F7D",color:"#377DFF"}],Za=({pathsDetail:ee,setselectitems:y,publishshow:E,node:z,index:ne,onExpandClick:ie,onClickDetails:se,selectitems:le})=>{var de,ge,ve;const[xe,Se]=(0,Fe.useState)(!1),Me=(0,Fe.useRef)(null),{name:De,complete_rate:Oe,node_type:Re,resource_info:Le,grasp_rate:Qe,has_children:Xe,children:Ze,expand:it,key:et,is_publish:ht,status:lt,id:ot,url:rt}=z||{};(0,Fe.useEffect)(()=>{var bn;Mt();const rn=(bn=Me.current)==null?void 0:bn.parentElement;if(!rn)return;const li=new ResizeObserver(()=>{Mt()});return li.observe(rn),()=>{li.disconnect()}},[it]);const Mt=()=>{if(!Me.current)return;const bn=Me.current,rn=bn.parentElement,li=bn.previousElementSibling,Dn=rn==null?void 0:rn.firstElementChild;if(rn&&li&&Dn){const Wn=li.getBoundingClientRect().height,hi=rn.getBoundingClientRect().height,On=Dn.getBoundingClientRect().height,dn=Wn/2,mi=hi-(On+Wn)/2;bn.style.bottom=`${dn}px`,bn.style.height=`${mi}px`}},Xt=(de=Number(Oe))==null?void 0:de.toFixed(0),cn=Xt==="100",Cn=cn?Re==="\u5B9E\u8BAD"?"\u5DF2\u901A\u5173":"\u5DF2\u5B8C\u6210":`${Xt}%`,En=Le==null?void 0:Le.reduce((bn,rn)=>bn+rn.value,0),Zn={\u5B9E\u8BAD:Dr,\u8BD5\u5377:yr,\u8BFE\u4EF6:wr,\u89C6\u9891:cr},ti=()=>{ie(et)};return or.createElement("div",{className:Ui.treeNode,"data-index":ne},or.createElement("div",{className:Ui.node,style:cn?{background:"#EDF7EE"}:{}},!ht&&!((ge=ee==null?void 0:ee.detail)!=null&&ge.can_managed)&&or.createElement("div",{style:{background:"rgba(0, 0, 0, 0.5)",width:"100%",height:"100%",position:"absolute",zIndex:5,left:"50%",bottom:0,transform:"translateX(-50%)",textAlign:"center",paddingTop:"30rem",borderRadius:"10rem"}},or.createElement("div",null,or.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),or.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03"))),or.createElement("div",{className:Ui.statusbutton,style:{background:(ve=Ca.find(bn=>bn.name===lt))==null?void 0:ve.color}},lt),E&&or.createElement(el.default,{checked:le==null?void 0:le.map(bn=>bn.id).includes(ot),onChange:()=>{if(le!=null&&le.map(bn=>bn.id).includes(ot))y(le.filter(bn=>bn.id!==ot));else{let bn=[...le];bn.push(z),y(bn)}},className:Ui.checkbox}),or.createElement(Tr.Z,{style:{padding:Xe?"initial":"3rem 0"}},or.createElement(ft.Z,{title:"\u5B8C\u6210\u7387"},or.createElement("div",{style:{flexShrink:0,marginLeft:"24rem",marginTop:"17rem"}},or.createElement(Gi.Z,{strokeColor:"#60C059",percentage:Oe,startAngle:270,trackColor:"#E3E8EF",text:Cn,textSize:"12rem",textColor:"#60C059",outerDiameter:"62rem",innerDiameter:"46rem",textPadding:"3rem",hoverEffect:!1}))),or.createElement("div",{className:Ui.info},or.createElement(Tr.Z,{align:"middle"},or.createElement(ft.Z,{title:Re},or.createElement("img",{src:Zn[Re]||Mr,style:{marginRight:"10rem",width:"16rem"}})),or.createElement(ft.Z,{title:De},or.createElement("b",{onClick:()=>{se(z)},className:"c-grey-333 current",style:{fontSize:"16rem"}},(0,bt.Pq)(De,19)))),or.createElement(Tr.Z,{align:"middle",style:{marginTop:"5rem",marginLeft:"26rem",marginBottom:Xe?"0":"30rem"}},or.createElement(Tr.Z,{align:"middle"},or.createElement(ft.Z,{title:"\u638C\u63E1\u7387"},or.createElement("img",{src:ns,style:{marginRight:"4rem",width:"16rem"}})),or.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},Qe,"%")),or.createElement(Tr.Z,{align:"middle",style:{marginLeft:"55rem"}},or.createElement(ft.Z,{title:"\u5B8C\u6210\u7387"},or.createElement("img",{src:Eo,style:{marginRight:"4rem",width:"16rem"}})),or.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},Oe,"%"))),Xe&&or.createElement(Tr.Z,{className:Ui.resource},or.createElement("span",{style:{color:"#666",fontSize:"14rem"}},"\u8D44\u6E90\u6570\uFF1A",En),or.createElement("div",{onClick:()=>Se(!xe),className:Ui.action},xe?or.createElement(or.Fragment,null,"\u6536\u8D77",or.createElement("i",{className:"iconfont icon-xialajiantou1",style:{transform:"scale(0.6)"}})):or.createElement(or.Fragment,null,"\u5C55\u5F00",or.createElement("i",{className:"iconfont icon-xialajiantoubeifen",style:{transform:"scale(0.6)"}})))))),xe&&or.createElement("div",{className:Ui.tags},Le==null?void 0:Le.map((bn,rn)=>or.createElement(ft.Z,{title:bn.name},or.createElement("div",{className:Ui.tag,key:rn},(0,bt.Pq)(bn.name,5),"\uFF1A",bn.value)))),ne.length>1&&or.createElement("div",{className:Ui.leftLine}),it&&or.createElement("div",{className:Ui.rightLine}),Xe&&or.createElement("img",{onClick:ti,className:Ui.icon,src:it?Xi:Oo})),Ze&&Ze.length>0&&it&&or.createElement("div",{className:Ui.nodeWrap},Ze.map((bn,rn)=>or.createElement(Za,{key:bn.key,onExpandClick:ie,onClickDetails:se,publishshow:E,setselectitems:y,pathsDetail:ee,selectitems:le,node:bn,index:ne+"-"+(rn+1)})),Ze.length>1&&or.createElement("div",{ref:Me,className:Ui.line})))},Rl=({data:ee,onExpandClick:y,selectitems:E,onClickDetails:z,pathsDetail:ne,setselectitems:ie,publishshow:se})=>or.createElement("div",{className:Ui.treeNode},or.createElement("div",{className:Ui.nodeWrap},ee.map((le,de)=>or.createElement(Za,{key:le.key,onExpandClick:y,onClickDetails:z,pathsDetail:ne,publishshow:se,selectitems:E,setselectitems:ie,node:le,index:String(de+1)}))));var ja=({visible:ee,onCancel:y,subjectId:E,onClickDetails:z,pathsDetail:ne,dispatch:ie})=>{var se;const[le,de]=(0,Fe.useState)([]),[ge,ve]=(0,Fe.useState)(!0),[xe,Se]=(0,Fe.useState)("\u5168\u90E8"),[Me,De]=(0,Fe.useState)([]),[Oe]=(0,xt.useSearchParams)(),[Re,Le]=(0,Fe.useState)(!1),[Qe,Xe]=(0,Fe.useState)([]);(0,Fe.useEffect)(()=>{it()},[xe]),(0,Fe.useEffect)(()=>{ne.actionTabs.key==="\u66F4\u65B0\u6570\u636E"&&(ie({type:"pathsDetail/setActionTabs",payload:{key:""}}),it())},[ne.actionTabs.key]);const Ze=(rt,Mt)=>dl(void 0,null,function*(){const Xt=yield(0,gn.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:rt,subject_id:E,node_type:xe}});if((Xt==null?void 0:Xt.status)===0)return Mt&&De((Xt==null?void 0:Xt.node_types)||[]),(Xt==null?void 0:Xt.data)||[];ve(!1)}),it=()=>dl(void 0,null,function*(){ve(!0);const rt=yield Ze(ee,!0);de(rt),ve(!1)}),et=(rt,Mt,Xt)=>dl(void 0,null,function*(){return yield Promise.all(rt.map(Cn=>dl(void 0,null,function*(){return Cn.key===Mt?yield Xt(Cn):Cn.children&&Cn.children.length>0?fa(hl({},Cn),{children:yield et(Cn.children,Mt,Xt)}):Cn})))}),ht=rt=>dl(void 0,null,function*(){ve(!0);const Mt=yield et(le,rt,Xt=>dl(void 0,null,function*(){var cn,Cn;const En=fa(hl({},Xt),{expand:!(Xt!=null&&Xt.expand)});return!(Xt!=null&&Xt.expand)&&!((cn=Xt==null?void 0:Xt.children)!=null&&cn.length)&&(En.children=yield Ze(rt),((Cn=En.children)==null?void 0:Cn.length)===0&&(En.has_children=!1,En.expand=!1)),En}));de(Mt),ve(!1)}),lt=rt=>dl(void 0,null,function*(){ve(!0),yield z(rt,!1),ve(!1)});return or.createElement("div",{className:Ui.tree},or.createElement("div",{className:Ui.center},or.createElement("div",{className:Ui.head},or.createElement("div",{className:Ui.del},or.createElement("i",{onClick:y,className:"iconfont icon-shanchuhuanjing"}),or.createElement("b",null))),or.createElement("div",{className:Ui.body},ge&&or.createElement("div",{className:Ui.loading},or.createElement(an.Z,{spinning:!0})),or.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},or.createElement("div",{className:Ui.tabs,style:{flex:1}},Me==null?void 0:Me.map(rt=>or.createElement("div",{onClick:()=>Se(rt.node_type),className:rt.node_type===xe?Ui.active:void 0,key:rt.node_type},rt.node_type,"\uFF08",rt.count,"\uFF09"))),Oe.get("type")==="classrooms"&&((se=ne==null?void 0:ne.detail)==null?void 0:se.can_managed)&&or.createElement("div",null,Re&&or.createElement(el.default,{style:{color:"#fff"},checked:(Qe==null?void 0:Qe.length)===(le==null?void 0:le.length),onChange:()=>{if((Qe==null?void 0:Qe.length)===(le==null?void 0:le.length))Xe([]);else{Le(!0);let rt=[...le];Xe(rt)}}},(Qe==null?void 0:Qe.length)===(le==null?void 0:le.length)?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009","\uFF08\u5F53\u524D\u9009\u4E2D",Qe==null?void 0:Qe.length,"\uFF09"),Re&&or.createElement(It.ZP,{style:{marginRight:"20rem",borderRadius:"24rem"},onClick:()=>Le(!1)},"\u53D6\u6D88"),or.createElement(It.ZP,{type:"primary",onClick:()=>dl(void 0,null,function*(){if(Re)ie({type:"classroomList/setActionTabs",payload:{key:"\u7ACB\u5373\u53D1\u5E03",selectArrs:Qe==null?void 0:Qe.map(rt=>rt.id)}});else{Le(!0);let rt=[...le];Xe(rt)}}),style:{borderRadius:"24rem"}},Re?"\u6279\u91CF\u53D1\u5E03":"\u53D1\u5E03\u8282\u70B9"))),or.createElement("div",{className:Ui.scrollBox},or.createElement("div",{className:hr()(Ui.treeWarp,!0&&Ui.allTreeNode)},or.createElement(Rl,{pathsDetail:ne,selectitems:Qe,setselectitems:Xe,publishshow:Re,data:le,onClickDetails:lt,onExpandClick:ht}))))),or.createElement(Ts,null))},va=Je(45677),Zl=Je(44203),uu=Je(48790),Go={ItemDom:"ItemDom___Xq2Xn",Arrow:"Arrow___Ulbfi",Title:"Title___RNBAc",Node:"Node___XTXfD",Direction:"Direction___QoIf0",UP:"UP___SeZ0o",DOWN:"DOWN___F5Bx1",ItemDom100:"ItemDom100___n_HZz",ItemDom79:"ItemDom79___o5fGp",ItemDom59:"ItemDom59___JfdjC",waveDom:"waveDom___Wc261",wave:"wave___hTeV6",waveDom100:"waveDom100___HxeAE",waveDom79:"waveDom79___BryDl",waveDom59:"waveDom59___Nw1Dv",ArrowLeft:"ArrowLeft___hSXT2",ArrowRight:"ArrowRight___v1_qH",ArrowDownLeft:"ArrowDownLeft___HwtjS",ArrowDownRight:"ArrowDownRight___r0H2C",ArrowDisable:"ArrowDisable___U1ckU",HeightItem:"HeightItem___x_c8h",NodeUp:"NodeUp___e6Mr3",NodeShowDirection:"NodeShowDirection___Zuy0X"},Ju=Object.defineProperty,ga=Object.getOwnPropertySymbols,$s=Object.prototype.hasOwnProperty,ea=Object.prototype.propertyIsEnumerable,ol=(ee,y,E)=>y in ee?Ju(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,wa=(ee,y)=>{for(var E in y||(y={}))$s.call(y,E)&&ol(ee,E,y[E]);if(ga)for(var E of ga(y))ea.call(y,E)&&ol(ee,E,y[E]);return ee};const md=ee=>React.createElement("svg",wa({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},ee),React.createElement("title",null,"\u8BFE\u4EF6"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("path",{fill:"#FFF",d:"M50 41h115v115H50z"}),React.createElement("path",{d:"M100 0c55.228 0 100 44.772 100 100l-.044 2.944c-1.63 54.616-46.794 97.813-101.428 97.009C43.893 199.148.02 154.64 0 100l.044-2.944C1.637 42.998 45.92 0 100 0ZM67.367 50.011a8.889 8.889 0 0 0-8.911 8.845l-.045 81.677a8.89 8.89 0 0 0 8.922 8.834h64.878a8.934 8.934 0 0 0 8.978-8.834V76.511l-26.911-26.489-46.911-.01Zm55.889 72.856v8.289H76.333v-8.29h46.923Zm0-17.111v8.288H76.333v-8.288h46.923Zm-19.334-17.112v8.29H76.344v-8.278h27.578v-.012Zm7.19-33.088 22.221 22.222h-22.222V55.556Z",fill:"#44D7B6",fillRule:"nonzero"})));var io="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01MCA0MWgxMTV2MTE1SDUweiIvPjxwYXRoIGQ9Ik0xMDAgMGM1NS4yMjggMCAxMDAgNDQuNzcyIDEwMCAxMDBsLS4wNDQgMi45NDRjLTEuNjMgNTQuNjE2LTQ2Ljc5NCA5Ny44MTMtMTAxLjQyOCA5Ny4wMDlDNDMuODkzIDE5OS4xNDguMDIgMTU0LjY0IDAgMTAwbC4wNDQtMi45NDRDMS42MzcgNDIuOTk4IDQ1LjkyIDAgMTAwIDBaTTY3LjM2NyA1MC4wMTFhOC44ODkgOC44ODkgMCAwIDAtOC45MTEgOC44NDVsLS4wNDUgODEuNjc3YTguODkgOC44OSAwIDAgMCA4LjkyMiA4LjgzNGg2NC44NzhhOC45MzQgOC45MzQgMCAwIDAgOC45NzgtOC44MzRWNzYuNTExbC0yNi45MTEtMjYuNDg5LTQ2LjkxMS0uMDFabTU1Ljg4OSA3Mi44NTZ2OC4yODlINzYuMzMzdi04LjI5aDQ2LjkyM1ptMC0xNy4xMTF2OC4yODhINzYuMzMzdi04LjI4OGg0Ni45MjNabS0xOS4zMzQtMTcuMTEydjguMjlINzYuMzQ0di04LjI3OGgyNy41Nzh2LS4wMTJabTcuMTktMzMuMDg4IDIyLjIyMSAyMi4yMjJoLTIyLjIyMlY1NS41NTZaIiBmaWxsPSIjNDREN0I2IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+",Lo=Object.defineProperty,Ga=Object.getOwnPropertySymbols,xo=Object.prototype.hasOwnProperty,Ni=Object.prototype.propertyIsEnumerable,cu=(ee,y,E)=>y in ee?Lo(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Dt=(ee,y)=>{for(var E in y||(y={}))xo.call(y,E)&&cu(ee,E,y[E]);if(Ga)for(var E of Ga(y))Ni.call(y,E)&&cu(ee,E,y[E]);return ee};const In=ee=>React.createElement("svg",Dt({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},ee),React.createElement("title",null,"\u4EFB\u52A1\u5173\u5361"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("circle",{fill:"#FFF",cx:100,cy:100,r:82}),React.createElement("path",{d:"M100 0c55.23 0 100 44.77 100 100s-44.77 100-100 100S0 155.23 0 100 44.77 0 100 0ZM84.63 43.55l-2.5.09-.78.09a7.96 7.96 0 0 0-6.12 5.4l-.25.8-13.01 53.12-9 35.92c-.45 1.83.45 3.71 2.07 4.35 1.63.65 3.43-.17 4.15-1.87l.19-.55 9.72-38.81.82-.05a55.82 55.82 0 0 1 18.85 1.62c4.42 1.2 7.67 3.2 12.17 7.13l3.78 3.4c5.96 5.36 10.18 8.03 16.53 9.65 7.66 1.93 13.44 1.58 17.34-1l.42-.3 13.84-56.38c-5.1 1.18-10.35 1.3-15.47.34l-1.93-.4-1.92-.51c-4.02-1.15-7.2-3.03-11.44-6.43l-4.84-4.04c-5.83-4.9-10.03-7.52-15.85-9.24a56.04 56.04 0 0 0-16.77-2.33Z",fill:"#39B97E",fillRule:"nonzero"})));var Vd="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxjaXJjbGUgZmlsbD0iI0ZGRiIgY3g9IjEwMCIgY3k9IjEwMCIgcj0iODIiLz48cGF0aCBkPSJNMTAwIDBjNTUuMjMgMCAxMDAgNDQuNzcgMTAwIDEwMHMtNDQuNzcgMTAwLTEwMCAxMDBTMCAxNTUuMjMgMCAxMDAgNDQuNzcgMCAxMDAgMFpNODQuNjMgNDMuNTVsLTIuNS4wOS0uNzguMDlhNy45NiA3Ljk2IDAgMCAwLTYuMTIgNS40bC0uMjUuOC0xMy4wMSA1My4xMi05IDM1LjkyYy0uNDUgMS44My40NSAzLjcxIDIuMDcgNC4zNSAxLjYzLjY1IDMuNDMtLjE3IDQuMTUtMS44N2wuMTktLjU1IDkuNzItMzguODEuODItLjA1YTU1LjgyIDU1LjgyIDAgMCAxIDE4Ljg1IDEuNjJjNC40MiAxLjIgNy42NyAzLjIgMTIuMTcgNy4xM2wzLjc4IDMuNGM1Ljk2IDUuMzYgMTAuMTggOC4wMyAxNi41MyA5LjY1IDcuNjYgMS45MyAxMy40NCAxLjU4IDE3LjM0LTFsLjQyLS4zIDEzLjg0LTU2LjM4Yy01LjEgMS4xOC0xMC4zNSAxLjMtMTUuNDcuMzRsLTEuOTMtLjQtMS45Mi0uNTFjLTQuMDItMS4xNS03LjItMy4wMy0xMS40NC02LjQzbC00Ljg0LTQuMDRjLTUuODMtNC45LTEwLjAzLTcuNTItMTUuODUtOS4yNGE1Ni4wNCA1Ni4wNCAwIDAgMC0xNi43Ny0yLjMzWiIgZmlsbD0iIzM5Qjk3RSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvc3ZnPg==",Nh=Object.defineProperty,Ph=Object.getOwnPropertySymbols,dc=Object.prototype.hasOwnProperty,Ih=Object.prototype.propertyIsEnumerable,Zc=(ee,y,E)=>y in ee?Nh(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,xf=(ee,y)=>{for(var E in y||(y={}))dc.call(y,E)&&Zc(ee,E,y[E]);if(Ph)for(var E of Ph(y))Ih.call(y,E)&&Zc(ee,E,y[E]);return ee};const Nl=ee=>React.createElement("svg",xf({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},ee),React.createElement("title",null,"\u89C6\u9891"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("path",{fill:"#FFF",d:"M59 45h98v106H59z"}),React.createElement("path",{d:"M99.733.1c-35.6 0-68.493 18.996-86.292 49.827a99.644 99.644 0 0 0 86.303 149.462c55.03-.003 99.64-44.614 99.64-99.645 0-55.03-44.61-99.642-99.64-99.644h-.01Zm44.111 105.822a12.401 12.401 0 0 1-4.588 4.6h-.056l-47.433 27.39A12.444 12.444 0 0 1 73.1 127.132v-54.8a12.445 12.445 0 0 1 18.667-10.777L139.2 88.933c5.989 3.411 8.044 11 4.633 17l.011-.01Z",fill:"#6236FF",fillRule:"nonzero"})));var wo="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01OSA0NWg5OHYxMDZINTl6Ii8+PHBhdGggZD0iTTk5LjczMy4xYy0zNS42IDAtNjguNDkzIDE4Ljk5Ni04Ni4yOTIgNDkuODI3YTk5LjY0NCA5OS42NDQgMCAwIDAgODYuMzAzIDE0OS40NjJjNTUuMDMtLjAwMyA5OS42NC00NC42MTQgOTkuNjQtOTkuNjQ1IDAtNTUuMDMtNDQuNjEtOTkuNjQyLTk5LjY0LTk5LjY0NGgtLjAxWm00NC4xMTEgMTA1LjgyMmExMi40MDEgMTIuNDAxIDAgMCAxLTQuNTg4IDQuNmgtLjA1NmwtNDcuNDMzIDI3LjM5QTEyLjQ0NCAxMi40NDQgMCAwIDEgNzMuMSAxMjcuMTMydi01NC44YTEyLjQ0NSAxMi40NDUgMCAwIDEgMTguNjY3LTEwLjc3N0wxMzkuMiA4OC45MzNjNS45ODkgMy40MTEgOC4wNDQgMTEgNC42MzMgMTdsLjAxMS0uMDFaIiBmaWxsPSIjNjIzNkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+",qu=Object.defineProperty,_u=Object.getOwnPropertySymbols,El=Object.prototype.hasOwnProperty,Ys=Object.prototype.propertyIsEnumerable,su=(ee,y,E)=>y in ee?qu(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Kc=(ee,y)=>{for(var E in y||(y={}))El.call(y,E)&&su(ee,E,y[E]);if(_u)for(var E of _u(y))Ys.call(y,E)&&su(ee,E,y[E]);return ee};const bl=ee=>React.createElement("svg",Kc({className:"cs_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},ee),React.createElement("path",{d:"M0 512a512 512 0 1 0 1024 0A512 512 0 1 0 0 512Z",fill:"#ECAD19"}),React.createElement("path",{d:"M710.554 256c27.648 0 50.739 21.248 54.118 48.64l.41 5.888v21.811a19.712 19.712 0 0 1-15.77 19.354l-3.942.41h-66.56a1.536 1.536 0 0 0-1.332.921l-.204.614v326.759c0 27.033-20.736 49.357-47.258 52.48a27.443 27.443 0 0 1-5.12.512h-314.88c-27.648 0-50.74-20.787-53.709-48.077l-.307-5.94v-19.2c0-11.11 8.192-20.53 18.79-22.527l4.096-.359h43.623a1.536 1.536 0 0 0 1.382-.921l.154-.615V310.016c0-27.648 20.838-50.74 48.128-53.709l5.837-.307h332.492zm-160 412.467H293.376a6.554 6.554 0 0 0-6.4 4.455l-.358 2.304v4.147c0 11.11 8.192 20.48 18.79 22.528l4.045.358h243.66c1.025 0 1.537-1.024 1.537-1.536a90.266 90.266 0 0 1-2.56-20.326c-.717-7.936-1.23-11.93-1.588-11.93zM578.56 532.48h-153.6v30.72h153.6v-30.72zm0-87.04h-153.6v30.72h153.6v-30.72zm0-87.04h-153.6v30.72h153.6V358.4zm130.97-71.22h-11.981a22.63 22.63 0 0 0-20.275 22.836v9.37c0 1.024 1.024 1.536 1.536 1.536h47.82c3.636 0 6.759-2.56 6.759-6.759l-1.024-4.096a23.04 23.04 0 0 0-22.835-22.886z",fill:"#FFF"}));var Jc="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTAgNTEyYTUxMiA1MTIgMCAxIDAgMTAyNCAwQTUxMiA1MTIgMCAxIDAgMCA1MTJaIiBmaWxsPSIjRUNBRDE5Ii8+PHBhdGggZD0iTTcxMC41NTQgMjU2YzI3LjY0OCAwIDUwLjczOSAyMS4yNDggNTQuMTE4IDQ4LjY0bC40MSA1Ljg4OHYyMS44MTFhMTkuNzEyIDE5LjcxMiAwIDAgMS0xNS43NyAxOS4zNTRsLTMuOTQyLjQxaC02Ni41NmExLjUzNiAxLjUzNiAwIDAgMC0xLjMzMi45MjFsLS4yMDQuNjE0djMyNi43NTljMCAyNy4wMzMtMjAuNzM2IDQ5LjM1Ny00Ny4yNTggNTIuNDhhMjcuNDQzIDI3LjQ0MyAwIDAgMS01LjEyLjUxMmgtMzE0Ljg4Yy0yNy42NDggMC01MC43NC0yMC43ODctNTMuNzA5LTQ4LjA3N2wtLjMwNy01Ljk0di0xOS4yYzAtMTEuMTEgOC4xOTItMjAuNTMgMTguNzktMjIuNTI3bDQuMDk2LS4zNTloNDMuNjIzYTEuNTM2IDEuNTM2IDAgMCAwIDEuMzgyLS45MjFsLjE1NC0uNjE1VjMxMC4wMTZjMC0yNy42NDggMjAuODM4LTUwLjc0IDQ4LjEyOC01My43MDlsNS44MzctLjMwN2gzMzIuNDkyem0tMTYwIDQxMi40NjdIMjkzLjM3NmE2LjU1NCA2LjU1NCAwIDAgMC02LjQgNC40NTVsLS4zNTggMi4zMDR2NC4xNDdjMCAxMS4xMSA4LjE5MiAyMC40OCAxOC43OSAyMi41MjhsNC4wNDUuMzU4aDI0My42NmMxLjAyNSAwIDEuNTM3LTEuMDI0IDEuNTM3LTEuNTM2YTkwLjI2NiA5MC4yNjYgMCAwIDEtMi41Ni0yMC4zMjZjLS43MTctNy45MzYtMS4yMy0xMS45My0xLjU4OC0xMS45M3pNNTc4LjU2IDUzMi40OGgtMTUzLjZ2MzAuNzJoMTUzLjZ2LTMwLjcyem0wLTg3LjA0aC0xNTMuNnYzMC43MmgxNTMuNnYtMzAuNzJ6bTAtODcuMDRoLTE1My42djMwLjcyaDE1My42VjM1OC40em0xMzAuOTctNzEuMjJoLTExLjk4MWEyMi42MyAyMi42MyAwIDAgMC0yMC4yNzUgMjIuODM2djkuMzdjMCAxLjAyNCAxLjAyNCAxLjUzNiAxLjUzNiAxLjUzNmg0Ny44MmMzLjYzNiAwIDYuNzU5LTIuNTYgNi43NTktNi43NTlsLTEuMDI0LTQuMDk2YTIzLjA0IDIzLjA0IDAgMCAwLTIyLjgzNS0yMi44ODZ6IiBmaWxsPSIjRkZGIi8+PC9zdmc+",Vu=Object.defineProperty,Xf=Object.getOwnPropertySymbols,Ta=Object.prototype.hasOwnProperty,Bu=Object.prototype.propertyIsEnumerable,Sa=(ee,y,E)=>y in ee?Vu(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Xa=(ee,y)=>{for(var E in y||(y={}))Ta.call(y,E)&&Sa(ee,E,y[E]);if(Xf)for(var E of Xf(y))Bu.call(y,E)&&Sa(ee,E,y[E]);return ee};const Ol=ee=>React.createElement("svg",Xa({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},ee),React.createElement("title",null,"\u4F5C\u4E1A"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M100 0c55.23 0 100 44.77 100 100s-44.77 100-100 100S0 155.23 0 100 44.77 0 100 0Z",fill:"#2544AA"}),React.createElement("path",{d:"M107.5 50H65c-8.284 0-15 6.716-15 15v70c0 8.284 6.716 15 15 15h42.5c8.284 0 15-6.716 15-15V65c0-8.284-6.716-15-15-15Zm-44 54h38a3.5 3.5 0 1 1 0 7h-38a3.5 3.5 0 1 1 0-7ZM60 90.5a3.5 3.5 0 0 1 3.5-3.5H94a3.5 3.5 0 0 1 0 7H63.5a3.5 3.5 0 0 1-3.5-3.5ZM84 128H63.5a3.5 3.5 0 1 1 0-7H84a3.5 3.5 0 1 1 0 7Zm20 0h-4.5a3.5 3.5 0 1 1 0-7h4.5a3.5 3.5 0 1 1 0 7Zm5-51H63.5a3.5 3.5 0 0 1 0-7H109a3.5 3.5 0 1 1 0 7Zm26-27h10a5 5 0 0 1 5 5v15h-20V55a5 5 0 0 1 5-5Zm-5 87.28V77.5h20v59.78L140 150",fill:"#FFF"})));var Xl="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMDAgMGM1NS4yMyAwIDEwMCA0NC43NyAxMDAgMTAwcy00NC43NyAxMDAtMTAwIDEwMFMwIDE1NS4yMyAwIDEwMCA0NC43NyAwIDEwMCAwWiIgZmlsbD0iIzI1NDRBQSIvPjxwYXRoIGQ9Ik0xMDcuNSA1MEg2NWMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXY3MGMwIDguMjg0IDYuNzE2IDE1IDE1IDE1aDQyLjVjOC4yODQgMCAxNS02LjcxNiAxNS0xNVY2NWMwLTguMjg0LTYuNzE2LTE1LTE1LTE1Wm0tNDQgNTRoMzhhMy41IDMuNSAwIDEgMSAwIDdoLTM4YTMuNSAzLjUgMCAxIDEgMC03Wk02MCA5MC41YTMuNSAzLjUgMCAwIDEgMy41LTMuNUg5NGEzLjUgMy41IDAgMCAxIDAgN0g2My41YTMuNSAzLjUgMCAwIDEtMy41LTMuNVpNODQgMTI4SDYzLjVhMy41IDMuNSAwIDEgMSAwLTdIODRhMy41IDMuNSAwIDEgMSAwIDdabTIwIDBoLTQuNWEzLjUgMy41IDAgMSAxIDAtN2g0LjVhMy41IDMuNSAwIDEgMSAwIDdabTUtNTFINjMuNWEzLjUgMy41IDAgMCAxIDAtN0gxMDlhMy41IDMuNSAwIDEgMSAwIDdabTI2LTI3aDEwYTUgNSAwIDAgMSA1IDV2MTVoLTIwVjU1YTUgNSAwIDAgMSA1LTVabS01IDg3LjI4Vjc3LjVoMjB2NTkuNzhMMTQwIDE1MCIgZmlsbD0iI0ZGRiIvPjwvZz48L3N2Zz4=",Wf=({type:ee})=>{const y=(0,Fe.useMemo)(()=>{switch(ee){case"\u8BFE\u4EF6":return Fe.createElement("img",{src:io,style:{width:"16rem",height:"16rem"}});case"\u5B9E\u8BAD":return Fe.createElement("img",{src:Vd,style:{width:"16rem",height:"16rem"}});case"\u89C6\u9891":return Fe.createElement("img",{src:wo,style:{width:"16rem",height:"16rem"}});case"\u8BD5\u5377":return Fe.createElement("img",{src:Jc,style:{width:"16rem",height:"16rem"}});case"\u4F5C\u4E1A":return Fe.createElement("img",{src:Xl,style:{width:"16rem",height:"16rem"}});default:return""}},[ee]);return Fe.createElement(Fe.Fragment,null,y)},No="data:image/png;base64,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",Zm="data:image/png;base64,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";const ra=({className:ee="",style:y={},direction:E,DataProps:z,pathsDetail:ne,isOne:ie,handleClickDetails:se})=>{const{detail:le}=ne,[de]=(0,xt.useSearchParams)(),ge=(z==null?void 0:z.status)=="\u672A\u53D1\u5E03"&&de.get("type")=="classrooms",ve=(0,Fe.useMemo)(()=>(z==null?void 0:z.grasp_rate)>=80&&(z==null?void 0:z.grasp_rate)<=100?Go.waveDom100:(z==null?void 0:z.grasp_rate)>=60&&(z==null?void 0:z.grasp_rate)<=79?Go.waveDom79:(z==null?void 0:z.grasp_rate)>0&&(z==null?void 0:z.grasp_rate)<=59?Go.waveDom59:"",[z==null?void 0:z.grasp_rate]);return Fe.createElement("div",{className:`flex flex-col item-center text-500 text-16px-rem relative current ${Go.Node} ${ee}`,style:y,onClick:()=>{ge&&!le.can_managed||se(z)}},Fe.createElement("img",{src:E=="up"?No:Zm,className:`${Go.Direction} ${E=="up"?Go.UP:Go.DOWN}`}),Fe.createElement("div",{className:"relative",style:{width:"30rem",height:"30rem"}},Fe.createElement(ft.Z,{title:`${z!=null&&z.node_type?`${z==null?void 0:z.node_type}\uFF1A`:""}${z==null?void 0:z.name}`},Fe.createElement("div",{className:"flex item-center text-center gap-4px-rem absolute multi_ellipsis1 text-16px-rem",style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:"120rem"}},Fe.createElement(Wf,{type:z==null?void 0:z.node_type})," ",z==null?void 0:z.name))),Fe.createElement("div",{className:`relative rounded-full flex item-center justify-center ${Go.waveDom} ${ve}`},ge?Fe.createElement(ft.Z,{title:"\u8D44\u6E90\u672A\u53D1\u5E03"},Fe.createElement("span",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"14rem"}})):Fe.createElement("div",{className:`${Go.wave}`,style:{top:`calc(100% - ${(z==null?void 0:z.grasp_rate)||0}%)`}})),Fe.createElement("div",{className:`${ie?Go.HeightItem:""}`,style:{height:"82rem"}}))},$p=({DataProps:ee={},className:y="",currentIndex:E=1,pathsDetail:z,handleClickDetails:ne})=>{var ie,se,le;const de=(0,Fe.useMemo)(()=>(ee==null?void 0:ee.grasp_rate)>=80&&(ee==null?void 0:ee.grasp_rate)<=100?Go.ItemDom100:(ee==null?void 0:ee.grasp_rate)>=60&&(ee==null?void 0:ee.grasp_rate)<=79?Go.ItemDom79:(ee==null?void 0:ee.grasp_rate)>0&&(ee==null?void 0:ee.grasp_rate)<=59?Go.ItemDom59:"",[ee==null?void 0:ee.grasp_rate]),ge=(0,Fe.useRef)(null);return(0,Fe.useEffect)(()=>{if(ge.current){const ve=ge.current.offsetWidth,xe=ge.current.children;if(ve<1200){for(const Re of xe)Re.classList.remove(Go.NodeShowDirection);return}let Se=ve;const Me=[];let De=[];const Oe=55*parseFloat(getComputedStyle(document.documentElement).fontSize);for(const Re of xe)Re.removeAttribute("style"),Re.classList.remove(Go.NodeShowDirection),Se-((Re==null?void 0:Re.offsetWidth)+Oe)>0?(De.push(Re),Se-=(Re==null?void 0:Re.offsetWidth)+Oe):(Se=ve-(Re==null?void 0:Re.offsetWidth)-Oe,Me.push(De),De=[],De.push(Re));Me.push(De),Me.forEach(Re=>{Re.forEach((Le,Qe)=>{Qe==(Re==null?void 0:Re.length)-1&&Le.classList.add(Go.NodeShowDirection)})})}},[ge,ee==null?void 0:ee.children]),Fe.createElement("div",{id:"learning_path_chapter",className:`flex flex-col minW-0 rounded-10px-rem relative ${Go.ItemDom} ${de} ${y}`},Fe.createElement("div",{className:`absolute ${Go.Arrow}`}),Fe.createElement("div",{className:`flex item-center gap-10px-rem rounded-10px-rem px-20px-rem py-6px-rem ${Go.Title}`},Fe.createElement(ft.Z,{title:""},Fe.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 text-22px-rem text-500"},ee==null?void 0:ee.name)),Fe.createElement("div",{className:"text-14px-rem"},(ie=ee==null?void 0:ee.children)==null?void 0:ie.length,"\u4E2A\u8D44\u6E90")),((se=ee==null?void 0:ee.children)==null?void 0:se.length)>0?Fe.createElement("div",{className:"flex-1 minW-0 p-40px-rem px-64px-rem flex item-center justify-center"},Fe.createElement("div",{ref:ge,className:"w-full flex item-center justify-center flex-wrap",style:{gap:"20rem 55rem"}},(le=ee==null?void 0:ee.children)==null?void 0:le.map((ve,xe)=>{var Se,Me;return Fe.createElement(ra,{key:xe,handleClickDetails:ne,pathsDetail:z,isOne:((Se=ee==null?void 0:ee.children)==null?void 0:Se.length)==1,DataProps:ve,direction:xe%2==0?"up":"down",className:xe%2==0&&((Me=ee==null?void 0:ee.children)==null?void 0:Me.length)!=1?Go.NodeUp:"flex-col"})}))):Fe.createElement("div",{className:"flex-1 minW-0 p-40px-rem px-64px-rem flex item-center justify-center flex-wrap"},Fe.createElement(Al.Z,{img:Je(11051),styles:{margin:"auto"},imgStyles:{width:"200rem",height:"155rem"},customText:"\u6682\u65E0\u5B66\u4E60\u8D44\u6E90"})))};var Hg=({pathsDetail:ee,handleClickDetails:y,dataSource:E})=>{const z=(0,Fe.useRef)(null);return(0,Fe.useEffect)(()=>{if(z.current){const ne=z.current.offsetWidth,ie=document.querySelectorAll("#learning_path_chapter");let se=ne;const le=[];let de=[];const ge=90*parseFloat(getComputedStyle(document.documentElement).fontSize);for(const ve of ie)if(ve.removeAttribute("style"),ve.classList.remove(Go.ArrowDisable,Go.ArrowDownLeft,Go.ArrowLeft,Go.ArrowDownRight,Go.ArrowRight),se-((ve==null?void 0:ve.offsetWidth)+ge)>0)de.push(ve),se-=(ve==null?void 0:ve.offsetWidth)+ge;else{const xe=(se+ge-10)/(de==null?void 0:de.length);de.forEach(Se=>{Se.style.width=`${(Se.offsetWidth+xe)/ne*100}%`}),se=ne-(ve==null?void 0:ve.offsetWidth)-ge,le.push(de),de=[],de.push(ve)}le.push(de),le.forEach((ve,xe)=>{var Se;xe%2===1?[...ve||[]].reverse().forEach((De,Oe)=>{De.style.order=(xe+1)*10+Oe,Oe==0?(De.style["margin-left"]="auto",De.classList.add((le==null?void 0:le.length)-1==xe?Go.ArrowDisable:Go.ArrowDownLeft)):De.classList.add(Go.ArrowLeft)}):ve.forEach((Me,De)=>{Me.style.order=(xe+1)*10+De,De==(ve==null?void 0:ve.length)-1?Me.classList.add((le==null?void 0:le.length)-1==xe?Go.ArrowDisable:Go.ArrowDownRight):Me.classList.add(Go.ArrowRight)}),(ve==null?void 0:ve.length)==1&&(ve[0].style.width="100%"),((Se=ve==null?void 0:ve[0])==null?void 0:Se.offsetWidth)Fe.createElement($p,{key:ie,handleClickDetails:y,pathsDetail:ee,currentIndex:ie+1,DataProps:ne}))))},Ug=Je(47125),ji=Je(59301),jd=Object.defineProperty,Vg=Object.defineProperties,za=Object.getOwnPropertyDescriptors,Gd=Object.getOwnPropertySymbols,Km=Object.prototype.hasOwnProperty,jg=Object.prototype.propertyIsEnumerable,Jm=(ee,y,E)=>y in ee?jd(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,vd=(ee,y)=>{for(var E in y||(y={}))Km.call(y,E)&&Jm(ee,E,y[E]);if(Gd)for(var E of Gd(y))jg.call(y,E)&&Jm(ee,E,y[E]);return ee},Ch=(ee,y)=>Vg(ee,za(y)),yd=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Xd=[3,2,1],dg=({xxljac:ee,pathsDetail:y,dispatch:E,setxxljac:z})=>{var ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re;const Le=(0,xt.useParams)(),Qe=(0,xt.useSelector)(ii=>ii),{pathsDetail:{detail:Xe={},actionTabs:Ze}}=Qe,[it,et]=(0,Fe.useState)(!1),[ht,lt]=(0,Fe.useState)(!1),[ot,rt]=(0,Fe.useState)(""),[Mt,Xt]=(0,Fe.useState)(!1),[cn,Cn]=(0,Fe.useState)(!1),[En,Zn]=(0,Fe.useState)(!1),[ti,bn]=(0,Fe.useState)(""),[rn,li]=(0,Fe.useState)({}),[Dn,Wn]=(0,Fe.useState)([]),[hi,On]=(0,Fe.useState)([]),[dn,mi]=(0,Fe.useState)([]),[ui,Mi]=(0,Fe.useState)(!1),[Qi,rr]=(0,Fe.useState)(1),[Ir,to]=(0,Fe.useState)({});let[Jo,Ot]=(0,Fe.useState)({});const Pr=Xe==null?void 0:Xe.can_managed,[sr]=(0,xt.useSearchParams)(),[Fr,_i]=(0,Fe.useState)(!1),Io=new URLSearchParams(window.location.search);Io.set("tabs","2");const Rr=(ii={})=>{E({type:"pathsDetail/getKnowledgeGraphs",payload:vd({graphable_type:sr.get("type")==="classrooms"?"course":"subject",graphable_id:Le==null?void 0:Le.pathId},ii)})};function po(){return yd(this,null,function*(){var ii;let Ti=[...(ii=y==null?void 0:y.detail)==null?void 0:ii.nodes];mi(Ti==null?void 0:Ti.splice(1))})}(0,Fe.useEffect)(()=>{var ii;(ii=y==null?void 0:y.detail)!=null&&ii.nodes&&Qi===1&&(po(),rr(2))},[(ne=y==null?void 0:y.detail)==null?void 0:ne.nodes]),(0,Fe.useEffect)(()=>{var ii,Ti,qo,ro,us,cs,Or,Yo,Ls,gs;let fr=!1;((Ti=(ii=y==null?void 0:y.detail)==null?void 0:ii.route_nodes)==null?void 0:Ti.length)>0&&(fr=!((ro=(qo=y==null?void 0:y.detail)==null?void 0:qo.route_nodes)!=null&&ro.some(sa=>sa==null?void 0:sa.is_choice))),(Or=(cs=(us=y==null?void 0:y.detail)==null?void 0:us.route_nodes)==null?void 0:cs.find(sa=>sa==null?void 0:sa.is_choice))!=null&&Or.id&&z((gs=(Ls=(Yo=y==null?void 0:y.detail)==null?void 0:Yo.route_nodes)==null?void 0:Ls.find(sa=>sa==null?void 0:sa.is_choice))==null?void 0:gs.id),!Pr&&fr&&(0,uu.bg)()&&E({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"}}})},[(ie=y==null?void 0:y.detail)==null?void 0:ie.route_nodes]),(0,Fe.useEffect)(()=>{ee&&Js(ee)},[ee]);const Js=(ii=null)=>yd(void 0,null,function*(){et(!0);const Ti=yield(0,gn.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:ii,subject_id:Le==null?void 0:Le.pathId}});if((Ti==null?void 0:Ti.status)===0){li(Ti||{});const qo=(Ti==null?void 0:Ti.parent_knowledges)||[];On(qo)}et(!1)});(0,Fe.useEffect)(()=>{rn!=null&&rn.data&&Wn((rn==null?void 0:rn.data)||[])},[rn]);const hn=()=>yd(void 0,null,function*(){if(!ti){kt.ZP.warning("\u8BF7\u8F93\u5165\u6587\u672C");return}if(ti!=="\u786E\u8BA4\u5220\u9664"){kt.ZP.warning("\u6587\u672C\u8F93\u5165\u6709\u8BEF");return}Zn(!0);const ii=yield(0,gn.ZP)("/api/subject_knowledge.json",{method:"delete",body:{id:ee,subject_id:Le==null?void 0:Le.pathId}});(ii==null?void 0:ii.status)===0&&(kt.ZP.success("\u5220\u9664\u6210\u529F"),Xt(!1),Rr({graphable_id:Le==null?void 0:Le.pathId})),Zn(!1)}),Rt=(...ii)=>yd(void 0,[...ii],function*(Ti={}){yield(0,gn.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:Ch(vd({},Ti),{subject_id:Le==null?void 0:Le.pathId})})}),yi=(ii,Ti=!0)=>yd(void 0,null,function*(){var qo,ro,us,cs,Or,Yo;if((ii==null?void 0:ii.container_type)==="Attachment"&&!((qo=y==null?void 0:y.detail)!=null&&qo.can_managed)){if((0,Zl.fc)({id:ii==null?void 0:ii.container_id,watch_type:2,course_id:Le==null?void 0:Le.pathId}),ii!=null&&ii.is_link){Rt({uuid:(ii==null?void 0:ii.knowledge_uuid)||(ii==null?void 0:ii.key)}),(0,bt.xg)(ii==null?void 0:ii.url);return}to({url:Bt.Z.API_SERVER+(ii==null?void 0:ii.url),file_type:ii==null?void 0:ii.file_type});return}if(ii!=null&&ii.url){Rt({uuid:(ii==null?void 0:ii.knowledge_uuid)||(ii==null?void 0:ii.key)}),window.open(ii==null?void 0:ii.url);return}Ti&&et(!0);let Ls=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:0,subject_id:Le==null?void 0:Le.pathId,nodeUuid:(ii==null?void 0:ii.knowledge_uuid)||(ii==null?void 0:ii.key)}});if((Ls==null?void 0:Ls.status)===0){if(((us=(ro=Ls==null?void 0:Ls.data)==null?void 0:ro.nodes)==null?void 0:us.length)>0){let gs=(Yo=(Or=(cs=Ls==null?void 0:Ls.data)==null?void 0:cs.nodes)==null?void 0:Or.map(fr=>{var sa,_n,Zo,Wr,As,Vr,Br,bs,lr,Uo,is,aa,Os;const Xm=(sa=Ls==null?void 0:Ls.data)==null?void 0:sa.resource_count;return Ch(vd({},fr==null?void 0:fr.properties),{rootNodeUuid:(_n=fr==null?void 0:fr.properties)==null?void 0:_n.rootNodeUuid,id:(Zo=fr==null?void 0:fr.properties)==null?void 0:Zo.uuid,name:(Wr=fr==null?void 0:fr.properties)==null?void 0:Wr.name,description:(As=fr==null?void 0:fr.properties)==null?void 0:As.description,nodeType:(Vr=fr==null?void 0:fr.properties)==null?void 0:Vr.nodeType,tags:((Br=fr==null?void 0:fr.properties)==null?void 0:Br.tags)&&((Uo=(lr=(bs=fr==null?void 0:fr.properties)==null?void 0:bs.tags)==null?void 0:lr.split("\uFF0C"))==null?void 0:Uo.map(hv=>({name:hv})))||[],colorType:parseInt((is=fr==null?void 0:fr.properties)==null?void 0:is.color)>3?"3":(aa=fr==null?void 0:fr.properties)==null?void 0:aa.color,activeColor:"#FA6400",size:Xd[((Os=fr==null?void 0:fr.properties)==null?void 0:Os.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0,currentResourceTotal:Xm})}))==null?void 0:Yo[0];gs.resourceid=ii==null?void 0:ii.id,Ot(gs),Mi(!0)}et(!1)}}),$i=()=>ji.createElement("div",{className:Va.studentHead},ji.createElement("div",{className:"flex item-center w-full"},ji.createElement("div",{className:Va.headLi},ji.createElement("img",{src:Po}),ji.createElement("aside",null,ji.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),ji.createElement("b",null,rn==null?void 0:rn.resource_count))),ji.createElement("div",{className:Va.headLi},ji.createElement("img",{src:Vs}),ji.createElement("aside",null,ji.createElement("span",null,"\u5B66\u4E60\u5B8C\u6210\u7387"),ji.createElement("b",{style:{color:"#F7B500"}},rn==null?void 0:rn.complete_rate,"%"))),ji.createElement("div",{className:Va.headLi},ji.createElement("img",{src:ao}),ji.createElement("aside",null,ji.createElement("span",null,"\u5B66\u4E60\u638C\u63E1\u7387"),ji.createElement("b",{style:{color:"#3AFFC8"}},rn==null?void 0:rn.grasp_rate,"%"))),ji.createElement("div",{className:Va.headLi},ji.createElement("img",{src:ul}),ji.createElement("aside",null,ji.createElement("span",{style:{marginBottom:"10rem"}},"\u4E0A\u6B21\u5B66\u5230"),ji.createElement(ft.Z,{title:rn==null?void 0:rn.last_knowledge_name},ji.createElement("b",{style:{color:"#7FAAFF",fontSize:"16rem"}},(0,bt.Pq)(rn==null?void 0:rn.last_knowledge_name,13))))),ji.createElement("div",{onClick:()=>{rn!=null&&rn.last_knowledge_name&&yi({knowledge_uuid:rn==null?void 0:rn.last_knowledge_uuid,id:rn==null?void 0:rn.last_knowledge_uuid})},className:rn!=null&&rn.last_knowledge_name?Va.btn:`${Va.btn} ${Va.disabledBtn}`},"\u7EE7\u7EED\u5B66\u4E60")));return ji.createElement(ji.Fragment,null,!((le=(se=y==null?void 0:y.detail)==null?void 0:se.route_nodes)!=null&&le.length)&&ji.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},ji.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},Pr&&ji.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{rt(null),lt(!0)}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84")),ji.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}},"\u8BFE\u7A0B\u5B66\u4E60\u8DEF\u5F84\u662F\u4EC0\u4E48\uFF1F"),ji.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u8BFE\u7A0B\u5B66\u4E60\u8DEF\u5F84\u662F\u4E00\u6761\u57FA\u4E8E\u8BFE\u7A0B\u76EE\u6807\u5BFC\u822A\u8DEF\u7EBF\uFF0C\u901A\u8FC7\u89C4\u5212\u6700\u4F18\u5B66\u4E60\u987A\u5E8F\uFF0C\u53EF\u914D\u5408\u591A\u79CD\u7C7B\u8D44\u6E90\uFF08\u89C6\u9891\u3001\u8BFE\u4EF6\u3001\u4E60\u9898\u3001\u8BFE\u4EF6\u7B49\uFF09\uFF0C\u52A9\u529B\u5B66\u751F\u4EE5\u6700\u7701\u529B\u3001\u6700\u9AD8\u6548\u3001\u6700\u6E05\u6670\u7684\u65B9\u5F0F\u638C\u63E1\u8BFE\u7A0B\u6838\u5FC3\u77E5\u8BC6\u5185\u5BB9",ji.createElement("img",{className:"absolute",src:Je(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),ji.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},ji.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},ji.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(23852)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u5B66\u4E60\u8DEF\u5F84\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),ji.createElement("div",{className:"w-full flex justify-between gap-32px-rem relative"},ji.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",left:"200rem",top:"80rem"},src:Je(79989)}),ji.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",right:"210rem",top:"80rem"},src:Je(73486)}),[{title:"\u591A\u7EF4\u5B66\u4E60\u8DEF\u5F84",desc:"\u4E00\u4E2A\u8BFE\u7A0B\u4E0B\u652F\u6301\u6784\u5EFA\u591A\u6761\u5B66\u4E60\u8DEF\u5F84\uFF0C\u5B66\u751F\u53EF\u4EE5\u6839\u636E\u4E2A\u4EBA\u4E13\u4E1A\u3001\u5B66\u4E60\u60C5\u51B5\u7B49\u56E0\u7D20\uFF0C\u9009\u62E9\u4E0D\u540C\u7684\u5B66\u4E60\u8DEF\u5F84\u8FDB\u884C\u5B66\u4E60\u3002",img:Je(49747)},{title:"\u8BFE\u5802\u5B66\u60C5\u7EDF\u8BA1",desc:sr.get("type")=="classrooms"?"\u652F\u6301\u4ECE\u5B9E\u8DF5\u8BFE\u7A0B\u5C06\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u5230\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u5728\u6559\u5B66\u8BFE\u5802\u53EF\u4EE5\u5C06\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B9E\u8BAD\u3001\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u7B49\u8D44\u6E90\u53D1\u9001\u5230\u5404\u4E2A\u4EFB\u52A1\u6A21\u5757\uFF0C\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1":"\u652F\u6301\u4E00\u952E\u5C06\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u53EF\u4EE5\u5C06\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B9E\u8BAD\u3001\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u7B49\u8D44\u6E90\u53D1\u9001\u5230\u5404\u4E2A\u4EFB\u52A1\u6A21\u5757\uFF0C\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1\u3002",img:Je(7875)},{title:"\u5B66\u60C5\u5206\u6790+\u5B66\u60C5\u9884\u8B66+\u8D44\u6E90\u63A8\u8350",desc:"\u652F\u6301\u6839\u636E\u5B66\u751F\u5728\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u60C5\u5206\u6790\uFF0C\u7ECF\u8FC7\u7CFB\u7EDF\u5B66\u60C5\u9884\u8B66\u60C5\u51B5\uFF0C\u4E3A\u5B66\u751F\u63A8\u8350\u4E0D\u540C\u7684\u5B66\u4E60\u8D44\u6E90\uFF0C\u5B9E\u73B0\u5343\u4EBA\u5343\u9762\u7684\u5B66\u4E60\u573A\u666F\u3002",img:Je(14813)}].map((ii,Ti)=>ji.createElement("div",{key:Ti,className:`flex flex-col item-center ${Ti!=1?"pt-56px-rem":""}`},ji.createElement("img",{src:ii==null?void 0:ii.img,style:{width:"127rem",height:"119rem"}}),ji.createElement("div",{className:"px-20px-rem pb-20px-rem mt-10px-rem",style:{background:`url(${Je(14760)}) 0 0 / 100% 100% no-repeat`}},ii==null?void 0:ii.title),ji.createElement("div",{className:"mt-6px-rem",style:{width:"20rem",height:"10rem",background:"#7A99DD",clipPath:"polygon(100% 0, 0 0, 50% 100%)",WebkitClipPath:"polygon(100% 0, 0 0, 50% 100%)"}}),ji.createElement("div",{className:"px-20px-rem py-10px-rem mt-6px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",color:"rgba(255,255,255,0.8)",width:"236rem",height:"152rem"}},ii==null?void 0:ii.desc))))),ji.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},ji.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u6CE8\u610F\u4E8B\u9879 "),ji.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:ji.createElement("div",{className:"flex flex-col gap-4px-rem"},ji.createElement("div",{className:"text-16px-rem"},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84"),ji.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u5B66\u4E60\u8DEF\u5F84\u57FA\u4E8E\u77E5\u8BC6\u56FE\u8C31\u521B\u5EFA\uFF0C\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u524D\uFF0C\u9700\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u3002",ji.createElement("br",null),ji.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u65F6\uFF0C\u540C\u6B65\u5EFA\u7ACB\u8282\u70B9\u6807\u7B7E\u548C\u8282\u70B9\u5173\u7CFB\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E\u77E5\u8BC6\u56FE\u8C31\u7684\u8282\u70B9\u6807\u7B7E\u548C\u8282\u70B9\u5173\u7CFB\u81EA\u52A8\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84")))},{desc:ji.createElement("div",{className:"flex flex-col gap-4px-rem"},ji.createElement("div",{className:"text-16px-rem"},"\u5B66\u4E60\u8DEF\u5F84\u751F\u6210"),ji.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u540E\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E",ji.createElement("span",{style:{color:"#FFE698"}},"\u77E5\u8BC6\u8282\u70B9\u7684\u524D\u5E8F/\u540E\u5E8F\u5173\u7CFB"),"\u81EA\u52A8\u751F\u6210\u5B66\u4E60\u8DEF\u5F84\u3002"))},{desc:ji.createElement("div",{className:"flex flex-col gap-4px-rem"},ji.createElement("div",{className:"text-16px-rem"},"\u5B66\u4E60\u8DEF\u5F84\u8C03\u6574"),ji.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u5728\u751F\u6210\u7684\u5B66\u4E60\u8DEF\u5F84\u4E2D\uFF0C\u53EF\u4EE5\u70B9\u51FB",ji.createElement("span",{style:{color:"#FFE698"}},"\u201C\u79FB\u9664\u5B66\u4E60\u8DEF\u5F84\u201D"),"\u548C",ji.createElement("span",{style:{color:"#FFE698"}},"\u201C\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84\u201D"),"\u8C03\u6574\u8DEF\u5F84\u4E2D\u5B66\u4E60\u5185\u5BB9\uFF0C\u4E5F\u53EF\u4EE5",ji.createElement("span",{style:{color:"#FFE698"}},"\u62D6\u52A8\u5B66\u4E60\u8DEF\u5F84\u8282\u70B9"),"\u8C03\u6574\u5B66\u4E60\u987A\u5E8F\u3002"))}].map((ii,Ti)=>ji.createElement("div",{key:Ti,className:"py-20px-rem px-16px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},ji.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(Ti+1).toString().padStart(2,"0")),ji.createElement("div",{className:"flex-1 minW-0"},ii==null?void 0:ii.desc))))))),((ge=(de=y==null?void 0:y.detail)==null?void 0:de.route_nodes)==null?void 0:ge.length)&&ji.createElement(Xs.Z,null,ji.createElement(ji.Fragment,null,ji.createElement("div",{className:Va.learning},ji.createElement(an.Z,{spinning:it},ji.createElement("div",{className:Va.body},Pr?ji.createElement("div",{className:`${Va.head}`}," ",ji.createElement("div",{className:"w-full flex item-center justify-between"},ji.createElement("div",{className:Va.numerical},ji.createElement("div",null,ji.createElement("img",{src:Po}),ji.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),ji.createElement("b",null,rn==null?void 0:rn.resource_count)),ji.createElement("div",null,ji.createElement("img",{src:Vs}),ji.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u5B8C\u6210\u7387"),ji.createElement("b",{style:{color:"#F7B500"}},rn==null?void 0:rn.complete_rate,"%")),ji.createElement("div",null,ji.createElement("img",{src:ao}),ji.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u638C\u63E1\u7387"),ji.createElement("b",{style:{color:"#3AFFC8"}},rn==null?void 0:rn.grasp_rate,"%"))),ji.createElement("div",{className:Va.action},sr.get("type")!=="classrooms"&&!(0,uu.JA)()&&ji.createElement("div",{onClick:()=>{E({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"route"}}}})}},ji.createElement("span",null,ji.createElement("i",{className:"iconfont icon-guanlianketang"})),ji.createElement("span",null,"\u53D1\u9001\u81F3\u8BFE\u5802")),Pr&&ji.createElement("div",{onClick:()=>{rt(null),lt(!0)}},ji.createElement("span",null,ji.createElement("i",{className:"iconfont icon-tianjia4"})),ji.createElement("span",null,"\u521B\u5EFA")),ji.createElement("div",{onClick:()=>{rt(ee),lt(!0)}},ji.createElement("span",null,ji.createElement("i",{className:"iconfont icon-bianji13"})),ji.createElement("span",null,"\u7F16\u8F91")),ji.createElement("div",{onClick:()=>Xt(!0)},ji.createElement("span",null,ji.createElement("i",{className:"iconfont icon-shanchu17"})),ji.createElement("span",null,"\u5220\u9664"))))):$i(),ji.createElement("div",{className:"flex item-center gap-16px-rem px-40px-rem c-white py-20px-rem"},sr.get("type")=="classrooms"&&Pr&&ji.createElement("div",{className:`current flex item-center ${Va.PublishBut}`,onClick:()=>{_i(!0)}},ji.createElement("span",{className:"iconfont icon-weifabu"}),"\u53D1\u5E03\u5B66\u4E60\u8D44\u6E90"),ji.createElement("div",{className:"flex item-center rounded-full",style:{background:"#101C39",padding:"0 0 0 20rem",gap:"10rem"}},ji.createElement("div",{className:"c-grey-eee text-nowrap"},"\u5F53\u524D\u8DEF\u5F84"),ji.createElement(ft.Z,{title:((xe=(ve=Xe==null?void 0:Xe.route_nodes)==null?void 0:ve.find(ii=>ii==null?void 0:ii.is_choice))==null?void 0:xe.name)||""},ji.createElement("div",{className:"multi_ellipsis1"},((Me=(Se=Xe==null?void 0:Xe.route_nodes)==null?void 0:Se.find(ii=>ii==null?void 0:ii.is_choice))==null?void 0:Me.name)||"")),ji.createElement("div",{className:`current flex item-center ${Va.ChangeBut}`,onClick:()=>{E({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"}}})}},ji.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),!Pr&&ji.createElement("div",{className:`text-nowrap rounded-full flex item-center h-full ${Va.SwitchStyle}`,style:{background:"#101C39",padding:"0 5rem 0 20rem",gap:"10rem",lineHeight:"40rem"}},"\u4EC5\u67E5\u770B\u672A\u638C\u63E1\u77E5\u8BC6\u70B9",ji.createElement(un.Z,{onChange:ii=>{Wn(ii?(qo=>qo==null?void 0:qo.filter(ro=>(ro==null?void 0:ro.grasp_rate)!=100).map(ro=>{var us;return Ch(vd({},ro),{children:(us=ro==null?void 0:ro.children)==null?void 0:us.filter(cs=>(cs==null?void 0:cs.grasp_rate)!=100)})}))(rn==null?void 0:rn.data):(rn==null?void 0:rn.data)||[])},checkedChildren:"\u5F00\u542F",unCheckedChildren:"\u5173\u95ED"})),Pr&&sr.get("type")==="classrooms"&&ji.createElement(ji.Fragment,null,ji.createElement("div",{className:`current flex item-center ${Va.ChangeBut}`,onClick:()=>{var ii,Ti;xt.history.push(`/knowledgegraph/${Le==null?void 0:Le.pathId}/statistics/learningpath/${(Ti=(ii=Xe==null?void 0:Xe.route_nodes)==null?void 0:ii.find(qo=>qo==null?void 0:qo.is_choice))==null?void 0:Ti.id}?${Io}`)}}," \u6570\u636E\u7EDF\u8BA1 ")),ji.createElement("div",{className:"ml-auto flex item-center rounded-full text-nowrap",style:{background:"rgba(48,58,76,0.5)",padding:"10rem 20rem",gap:"8rem"}},ji.createElement("div",null,"\u638C\u63E1\u7387\uFF1A"),ji.createElement("div",{className:"rounded-full",style:{background:"#60C059",width:"16rem",height:"16rem"}}),ji.createElement("div",null,"100% ~ 80%"),ji.createElement("div",{className:"rounded-full",style:{background:"#FFB15F",width:"16rem",height:"16rem",marginLeft:"30rem"}}),ji.createElement("div",null,"79% ~ 60%"),ji.createElement("div",{className:"rounded-full",style:{background:"#FF9090",width:"16rem",height:"16rem",marginLeft:"30rem"}}),ji.createElement("div",null,"59% ~ 0%"),ji.createElement("div",{className:"rounded-full",style:{background:"#5E6A80",width:"16rem",height:"16rem",marginLeft:"30rem"}}),ji.createElement("div",null,"\u672A\u5B66\u4E60"))),(De=rn==null?void 0:rn.data)!=null&&De.length?ji.createElement(Hg,{pathsDetail:y,dataSource:Dn||[],handleClickDetails:yi}):ji.createElement(Al.Z,{img:Zr,className:"flex flex-col item-center justify-center",styles:{height:"80vh"},imgStyles:{width:"200rem"},customText:"\u6682\u65E0\u5B66\u4E60\u8DEF\u5F84\u6570\u636E"}))),cn&&ji.createElement(ja,{pathsDetail:y,subjectId:Le==null?void 0:Le.pathId,dispatch:E,visible:cn,onCancel:()=>Cn(!1),onClickDetails:yi}),ji.createElement(jt.default,{title:"\u786E\u8BA4\u5220\u9664\u63D0\u793A",open:Mt,centered:!0,confirmLoading:En,okButtonProps:{danger:!0},width:"600rem",okText:"\u786E\u8BA4\u5220\u9664",onCancel:()=>Xt(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{bn("")},onOk:hn},ji.createElement("div",{style:{background:"#fff",boxShadow:"0 3rem 4rem 0 #F3F3F3",borderRadius:"2rem",padding:"20rem"}},ji.createElement("div",{style:{fontSize:"16rem",color:"#000"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u5220\u9664\u300A",(Oe=hi==null?void 0:hi.find(ii=>ii.id===ee))==null?void 0:Oe.name,"\u300B\u7684\u5B66\u4E60\u8DEF\u5F84\uFF1F\u82E5\u5DF2\u786E\u8BA4\u9700\u8981\u5220\u9664\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u5728\u4E0B\u65B9\u6587\u672C\u6846\u4E2D\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C\u540E\uFF0C\u70B9\u51FB\u201C\u786E\u8BA4\u5220\u9664\u201D\u6309\u94AE"),ji.createElement("div",{style:{fontSize:"16rem",color:"#E30000",margin:"20rem 0"}},"\u63D0\u793A\uFF1A\u5220\u9664\u540E\u5C06\u65E0\u6CD5\u6062\u590D\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),ji.createElement(Gt.default,{size:"large",placeholder:"\u8BF7\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C",value:ti,onChange:ii=>bn(ii.target.value)})))))),ht&&ji.createElement(Wi,{onOk:()=>{Rr({graphable_id:Le==null?void 0:Le.pathId})},setaddmodal:lt,addmodal:ht,uuid:ot}),ji.createElement(tr.Z,{initdata:()=>{},uuid:"\u5B66\u4E60\u8DEF\u5F84",Tabsdatas:dn,setshow:()=>{},getData:Js,buildTree:()=>{},containerRef:()=>{},showdetail:ui,setshowdetail:Mi,items:Jo}),ji.createElement(va.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Ir==null?void 0:Ir.url,type:Ir==null?void 0:Ir.file_type,disabledDownload:!0,onClose:()=>to({})}),(Ze==null?void 0:Ze.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"&&ji.createElement(Ug.E_,{type:"route",open:(Ze==null?void 0:Ze.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84",title:"\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",currentSeleteData:(Re=Xe==null?void 0:Xe.route_nodes)==null?void 0:Re.find(ii=>ii.id===ee),onFinish:()=>{Rr({graphable_id:Le==null?void 0:Le.pathId})}}),ji.createElement(Ye,{visible:Fr,setVisible:_i,treeList:rn==null?void 0:rn.data,uuid:ee,detail:Xe,onOk:ii=>{_i(!1),Js(ii)}}))};var qm=(0,xt.connect)(({pathsDetail:ee,user:y})=>({pathsDetail:ee,user:y}))(dg),td={tag:"tag___aFk2e",active:"active___xFrif",tagsModal:"tagsModal___PRPSO",btn:"btn___IfO8v",modal:"modal___X3fUd",mHead:"mHead___IvIZN",body:"body___FhLrG",add:"add___YJGg_",error:"error___JoLGM"},Ml=Je(59301),Qa=Object.defineProperty,Zs=Object.getOwnPropertySymbols,fc=Object.prototype.hasOwnProperty,fg=Object.prototype.propertyIsEnumerable,mv=(ee,y,E)=>y in ee?Qa(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Iw=(ee,y)=>{for(var E in y||(y={}))fc.call(y,E)&&mv(ee,E,y[E]);if(Zs)for(var E of Zs(y))fg.call(y,E)&&mv(ee,E,y[E]);return ee},my=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),hp=({value:ee=[],onChange:y,type:E,subjectId:z})=>{const[ne,ie]=(0,Fe.useState)(!1),[se,le]=(0,Fe.useState)([]),[de,ge]=(0,Fe.useState)([]),[ve,xe]=(0,Fe.useState)([]),[Se,Me]=(0,Fe.useState)(""),[De,Oe]=(0,Fe.useState)(""),[Re,Le]=(0,Fe.useState)(!1),[Qe,Xe]=(0,Fe.useState)(!1),Ze=[{background:"#6236FF",borderColor:"#9D82FF"},{background:"#6DB9FF",borderColor:"#6DB9FF"},{background:"rgba(27,175,234,0.8)",borderColor:"#68D5FF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"rgba(29,94,255,0.8)",borderColor:"#6D97FE"},{background:"#E75454",borderColor:"#FE8383"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"},{background:"rgba(224,32,32,0.8)",borderColor:"#E02020"},{background:"rgba(255,126,15,0.8)",borderColor:"#FF7E0F"},{background:"rgba(29,94,255,0.8)",borderColor:"#1D5EFF"},{background:"#2BAC8E",borderColor:"#30CB9D"},{background:"#EE5D5D",borderColor:"#FF8181"},{background:"#7E5AFE",borderColor:"#9173FA"},{background:"#3ABCEF",borderColor:"#6FD6FF"},{background:"#B132C2",borderColor:"#C57AF6"},{background:"#46A4FB",borderColor:"#72BBFF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"#1D5EFF",borderColor:"#6D97FE"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"}],it=E===1?"\u7C7B\u578B":"\u6807\u7B7E",et=E===1?"0":"4";(0,Fe.useEffect)(()=>{ne&&(xe(ee),ht())},[ne]);const ht=()=>my(void 0,null,function*(){var Xt;Xe(!0);const cn=yield(0,gn.ZP)("/api/knowledge_items.json",{method:"get",params:{subject_id:z,item_type:et}});(cn==null?void 0:cn.status)===0&&(le((Xt=cn==null?void 0:cn.data)==null?void 0:Xt.map(Cn=>Cn.name)),ge((cn==null?void 0:cn.data)||[])),Xe(!1)}),lt=Xt=>my(void 0,null,function*(){var cn;Xe(!0);const Cn=(cn=de==null?void 0:de.find(Zn=>Zn.name===Xt))==null?void 0:cn.id,En=yield(0,gn.ZP)(`/api/knowledge_items/${Cn}.json`,{method:"delete",body:{subject_id:z}});if((En==null?void 0:En.status)===0){ht(),kt.ZP.success("\u5220\u9664\u6210\u529F");return}Xe(!1)}),ot=({title:Xt="",style:cn={},showDelete:Cn=!0,modal:En=!1,active:Zn=!1})=>{const bn=(Dn=>Dn.split("").reduce((Wn,hi)=>Wn+hi.charCodeAt(0),0))(Xt)%Ze.length,{background:rn,borderColor:li}=Ze[bn];return Ml.createElement("div",{className:hr()(td.tag,Zn?td.active:""),onClick:()=>{En&&(ne===1&&xe([Xt]),ne===2&&(ve.includes(Xt)?xe(ve.filter(Dn=>Dn!==Xt)):xe([...ve,Xt])))},style:Iw({background:rn,borderColor:li},cn)},Ml.createElement("span",null,Xt),Cn&&Ml.createElement("i",{onClick:Dn=>{Dn.stopPropagation(),En?lt(Xt):y(ee.filter(Wn=>Wn!==Xt))},className:"iconfont icon-shanchu5"}))},rt=()=>{y([...ve]),ie(!1)},Mt=()=>my(void 0,null,function*(){if(!Se.replace(/\s+/g,"")){Oe(`${it}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(se.includes(Se)){Oe(`\u8BE5${it}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}Xe(!0);const Xt=yield(0,gn.ZP)("/api/knowledge_items.json",{method:"post",body:{subject_id:z,item_type:et,name:Se}});if((Xt==null?void 0:Xt.status)===0){yield ht(),Le(!1),kt.ZP.success("\u6DFB\u52A0\u6210\u529F");return}Xe(!1)});return Ml.createElement("div",{className:td.tagsModal},E===1&&Ml.createElement(Ml.Fragment,null,ee==null?void 0:ee.map((Xt,cn)=>Ml.createElement(ot,{key:cn,title:Xt,showDelete:!1,style:{marginRight:"20rem"}})),Ml.createElement("div",{onClick:()=>ie(1),style:{marginBottom:"20rem"},className:td.btn},Ml.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),ee!=null&&ee.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),E===2&&Ml.createElement(Ml.Fragment,null,ee==null?void 0:ee.map((Xt,cn)=>Ml.createElement(ot,{key:cn,title:Xt})),Ml.createElement("div",{onClick:()=>ie(2),className:td.btn,style:{marginBottom:"10rem"}},Ml.createElement("i",{className:"iconfont icon-tianjiatixing"}),ee!=null&&ee.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),Ml.createElement(jt.default,{open:!!ne,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ie(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Le(!1),Oe(""),Me("")},onOk:rt,title:`\u9009\u62E9${it}`},Ml.createElement("div",{className:td.modal},Ml.createElement(an.Z,{spinning:Qe},Ml.createElement("div",{className:td.mHead},Ml.createElement("b",null),Ml.createElement("span",null,`\u8282\u70B9${it}`,"\uFF08",se.length,"\uFF09"),Ml.createElement("div",{onClick:()=>{Re||(Le(!0),Oe(""),Me(""))},className:td.btn},Ml.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),Ml.createElement("div",{className:td.body},!(se!=null&&se.length)&&!Re&&Ml.createElement(Fl,{style:{height:"230rem"}}),se==null?void 0:se.map((Xt,cn)=>Ml.createElement(ot,{showDelete:!(ve!=null&&ve.includes(Xt)),modal:!0,style:{cursor:"pointer",verticalAlign:"center",marginTop:"10rem",marginBottom:"10rem"},active:ve.includes(Xt),key:cn,title:Xt})),Re&&Ml.createElement("div",{className:td.add},Ml.createElement(Gt.default,{style:{width:"rem"},size:"large",value:Se,onChange:Xt=>{Oe(""),Me(Xt.target.value)}}),Ml.createElement("i",{onClick:Mt,className:"iconfont icon-dui",style:{color:"#1B8565"}}),Ml.createElement("i",{onClick:()=>Le(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!De&&Ml.createElement("div",{className:td.error},De)))))))},Ko={flex_box_center:"flex_box_center___X1Bk6",flex_space_between:"flex_space_between___uybt7",flex_box_vertical_center:"flex_box_vertical_center___eRrsT",flex_box_center_end:"flex_box_center_end___twuIC",flex_box_column:"flex_box_column___GZ7ID",tabs:"tabs___lQRiO",activied:"activied___xuukl",tab:"tab___BDDdU",content:"content___Njpry"},as=Je(1560),Is=Je(75727),Ka=Je(14566),$u=Je(54172),Au=Je(26803),em=Je(59301),DP=Object.defineProperty,FP=Object.defineProperties,Ad=Object.getOwnPropertyDescriptors,IA=Object.getOwnPropertySymbols,kl=Object.prototype.hasOwnProperty,_m=Object.prototype.propertyIsEnumerable,o1=(ee,y,E)=>y in ee?DP(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,dp=(ee,y)=>{for(var E in y||(y={}))kl.call(y,E)&&o1(ee,E,y[E]);if(IA)for(var E of IA(y))_m.call(y,E)&&o1(ee,E,y[E]);return ee},fp=(ee,y)=>FP(ee,Ad(y)),s1=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const gc=(ee,y)=>{const E=ee.getParentData(y.id,"tree");return E?y.style.x>E.style.x?"right":"left":"center"},qc=[3,2,1];let gp=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C"}];const wf=(ee,y)=>{const E={};let z=null;return ee.forEach(ne=>{E[ne.properties.uuid]=fp(dp({},ne),{id:ne.properties.uuid,children:[]})}),y.forEach(ne=>{const ie=E[ne.startNodeUuid],se=E[ne.endNodeUuid];ie&&(ie.id=ie.properties.uuid),ie&&se&&ie.children.push(se)}),ee.forEach(ne=>{!y.some(se=>se.endNodeUuid===ne.properties.uuid)&&(z=E[ne.properties.uuid])}),z};var Wd=(0,Fe.forwardRef)(({nodeUuid:ee,subject_id:y,setshowdetail:E,setitems:z,setzoomsize:ne},ie)=>{const[se,le]=(0,Fe.useState)(!1),de=(0,Fe.useRef)(0),ge=(0,Fe.useRef)(null),ve=(0,Fe.useRef)();(0,Fe.useEffect)(()=>{Re()},[]);function xe(Qe){ve.current.zoomBy(Qe)}function Se(){setTimeout(()=>{var Qe;ne((((Qe=ve==null?void 0:ve.current)==null?void 0:Qe.getZoom())*100).toFixed(0))},300)}function Me(Qe){var Xe;let Ze=ve.current.getElementDataByState("node","selected");(Ze==null?void 0:Ze.length)>0&&ve.current.setElementState((Xe=Ze==null?void 0:Ze[0])==null?void 0:Xe.id,[""]),ve.current.setElementState(Qe,["selected"])}function De(Qe,Xe){try{const Ze={},it={};ve.current.getEdgeData().map(et=>{Ze[et.id]=Qe==="Enter"?"inactive":"active"}),ve.current.getNodeData().map(et=>{Qe==="Enter"?it[et.id]=et.colornodeType===Xe?"highlight":"inactive":it[et.id]="active"}),ve.current.setElementState(Ze),ve.current.setElementState(it)}catch(Ze){}}function Oe(Qe,Xe){var Ze;(Ze=ve==null?void 0:ve.current)==null||Ze.fitView(Qe,Xe)}(0,Fe.useImperativeHandle)(ie,()=>({zoomBy:xe,getData:Re,selectall:Me,onMouse:De,fitView:Oe,getZooms:Se}));const Re=()=>s1(void 0,null,function*(){var Qe,Xe,Ze,it,et,ht,lt,ot,rt;le(!0);let Mt=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:ee,subject_id:y,depth:-1,relationshipFilter:"\u5305\u542B>"}});le(!1);let Xt=(Xe=(Qe=Mt==null?void 0:Mt.data)==null?void 0:Qe.nodes)==null?void 0:Xe.map(ti=>{var bn,rn,li,Dn,Wn,hi,On,dn,mi,ui,Mi,Qi;return fp(dp({},ti==null?void 0:ti.properties),{rootNodeUuid:(bn=ti==null?void 0:ti.properties)==null?void 0:bn.rootNodeUuid,id:(rn=ti==null?void 0:ti.properties)==null?void 0:rn.uuid,name:(li=ti==null?void 0:ti.properties)==null?void 0:li.name,description:(Dn=ti==null?void 0:ti.properties)==null?void 0:Dn.description,nodeType:(Wn=ti==null?void 0:ti.properties)==null?void 0:Wn.nodeType,tags:((hi=ti==null?void 0:ti.properties)==null?void 0:hi.tags)&&((mi=(dn=(On=ti==null?void 0:ti.properties)==null?void 0:On.tags)==null?void 0:dn.split("\uFF0C"))==null?void 0:mi.map(rr=>({name:rr})))||[],colorType:parseInt((ui=ti==null?void 0:ti.properties)==null?void 0:ui.color)>3?"3":(Mi=ti==null?void 0:ti.properties)==null?void 0:Mi.color,activeColor:"#FA6400",size:qc[((Qi=ti==null?void 0:ti.properties)==null?void 0:Qi.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0})}),cn=wf((it=(Ze=Mt==null?void 0:Mt.data)==null?void 0:Ze.nodes)==null?void 0:it.map((ti,bn)=>{var rn,li,Dn,Wn,hi;return fp(dp({},ti),{key:bn,title:(rn=ti==null?void 0:ti.properties)==null?void 0:rn.name,newcolor:parseInt((li=ti==null?void 0:ti.properties)==null?void 0:li.color)===1?"#CC7CF5":((Dn=gp==null?void 0:gp.find(On=>{var dn;return(On==null?void 0:On.name)===((dn=ti==null?void 0:ti.properties)==null?void 0:dn.nodeType)}))==null?void 0:Dn.color)||"#2D947C",colornodeType:parseInt((Wn=ti==null?void 0:ti.properties)==null?void 0:Wn.color)===1?"\u6839\u8282\u70B9":((hi=gp==null?void 0:gp.find(On=>{var dn;return(On==null?void 0:On.name)===((dn=ti==null?void 0:ti.properties)==null?void 0:dn.nodeType)}))==null?void 0:hi.name)||"\u5176\u4ED6"})}),(ht=(et=Mt==null?void 0:Mt.data)==null?void 0:et.relationships)==null?void 0:ht.filter(ti=>ti.type==="\u5305\u542B"));ve!=null&&ve.current&&((lt=ve==null?void 0:ve.current)==null||lt.destroy());let Cn=(0,Au.RN)(cn),En=(ot=Cn.nodes)==null?void 0:ot.filter((ti,bn,rn)=>bn===rn.findIndex(li=>li.id===ti.id)),Zn=(rt=Cn.edges)==null?void 0:rt.filter((ti,bn,rn)=>bn===rn.findIndex(li=>li.source===ti.source&&li.target===ti.target));Le({nodes:En,edges:Zn},Xt)}),Le=(Qe,Xe)=>{var Ze,it;ve.current=null,ve.current=new Au.kJ({container:ge.current,autoResize:!0,autoFit:{type:((Ze=Qe==null?void 0:Qe.nodes)==null?void 0:Ze.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((it=Qe==null?void 0:Qe.nodes)==null?void 0:it.length)>300),data:Qe,node:{style:{labelText:et=>et.title,labelFill:"#ffffff",fill:et=>et.newcolor,labelBackground:!1,labelPlacement:function(et){const ht=gc(this,et);return ht==="center"?"right":ht},halo:!0,haloStrokeOpacity:.5,haloLineWidth:10,ports:[{placement:"right"},{placement:"left"}]},animation:{enter:!1}},edge:{type:"cubic-horizontal",animation:{enter:!1}},layout:{type:"mindmap",direction:"H",getHeight:()=>32,getWidth:()=>32,getVGap:()=>4,getHGap:()=>64,getSide:et=>(de.current++,de.current%2==0?"left":"right")},behaviors:["drag-element",{type:"zoom-canvas",onFinish:()=>{setTimeout(()=>{var et;ne((((et=ve==null?void 0:ve.current)==null?void 0:et.getZoom())*100).toFixed(0))},300)}},"collapse-expand","drag-canvas",{type:"click-select",state:"selected",onClick:et=>{let ht=Xe.filter(lt=>{var ot,rt;return(lt==null?void 0:lt.id)===((rt=(ot=et.target)==null?void 0:ot.config)==null?void 0:rt.id)});if((ht==null?void 0:ht.length)===0){E(!1);return}z(ht==null?void 0:ht[0]),E(!0),et.view.setCursor("pointer")},multiple:!1}]}),ve.current.render(),setTimeout(()=>{var et;ne((((et=ve==null?void 0:ve.current)==null?void 0:et.getZoom())*100).toFixed(0))},300)};return em.createElement("div",{style:{height:"100%"}},em.createElement(an.Z,{spinning:se,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),em.createElement("div",{style:{height:"100%"},ref:ge}))});function ec(ee,y){var E=ee==null?null:typeof Symbol!="undefined"&&ee[Symbol.iterator]||ee["@@iterator"];if(E!=null){var z,ne,ie,se,le=[],de=!0,ge=!1;try{if(ie=(E=E.call(ee)).next,y===0){if(Object(E)!==E)return;de=!1}else for(;!(de=(z=ie.call(E)).done)&&(le.push(z.value),le.length!==y);de=!0);}catch(ve){ge=!0,ne=ve}finally{try{if(!de&&E.return!=null&&(se=E.return(),Object(se)!==se))return}finally{if(ge)throw ne}}return le}}function gg(ee,y,E){return y=OA(y),y in ee?Object.defineProperty(ee,y,{value:E,enumerable:!0,configurable:!0,writable:!0}):ee[y]=E,ee}function Qd(ee,y){return zl(ee)||ec(ee,y)||pp(ee,y)||RA()}function Fc(ee){return Qf(ee)||pg(ee)||pp(ee)||yv()}function Qf(ee){if(Array.isArray(ee))return mp(ee)}function zl(ee){if(Array.isArray(ee))return ee}function pg(ee){if(typeof Symbol!="undefined"&&ee[Symbol.iterator]!=null||ee["@@iterator"]!=null)return Array.from(ee)}function pp(ee,y){if(ee){if(typeof ee=="string")return mp(ee,y);var E=Object.prototype.toString.call(ee).slice(8,-1);if(E==="Object"&&ee.constructor&&(E=ee.constructor.name),E==="Map"||E==="Set")return Array.from(ee);if(E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E))return mp(ee,y)}}function mp(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=new Array(y);Eee.length)&&(y=ee.length);for(var E=0,z=Array(y);E1&&arguments[1]!==void 0?arguments[1]:{},E=y.wrapperElementType,z=E===void 0?"div":E,ne=y.nodeMapper,ie=ne===void 0?function(ve){return ve}:ne,se=y.methodNames,le=se===void 0?[]:se,de=y.initPropNames,ge=de===void 0?[]:de;return(0,Fe.forwardRef)(function(ve,xe){var Se=(0,Fe.useRef)(),Me=(0,Fe.useMemo)(function(){var Re=Object.fromEntries(ge.filter(function(Le){return ve.hasOwnProperty(Le)}).map(function(Le){return[Le,ve[Le]]}));return ee(Re)},[]);c1(function(){Me(ie(Se.current))},Fe.useLayoutEffect),c1(function(){return Me._destructor instanceof Function?Me._destructor:void 0});var De=(0,Fe.useCallback)(function(Re){for(var Le=arguments.length,Qe=new Array(Le>1?Le-1:0),Xe=1;Xe1&&arguments[1]!==void 0?arguments[1]:Fe.useEffect,E=(0,Fe.useRef)(),z=(0,Fe.useRef)(!1),ne=(0,Fe.useRef)(!1),ie=(0,Fe.useState)(0),se=u1(ie,2);se[0];var le=se[1];z.current&&(ne.current=!0),y(function(){return z.current||(E.current=ee(),z.current=!0),le(function(de){return de+1}),function(){ne.current&&E.current&&E.current()}},[])}const vp="178",Pc={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},xd={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Rh=0,mg=1,VA=2,$m=3,h1=0,xy=1,LP=2,_c=3,$c=0,au=1,eh=2,eu=0,Eh=1,e0=2,yp=3,Ap=4,Sf=5,th=100,jA=101,ju=102,wy=103,tm=104,Yd=200,xv=201,GA=202,t0=203,Sy=204,Xg=205,Zd=206,d1=207,XA=208,nm=209,n0=210,Du=211,im=212,NP=213,f1=214,Py=0,Yt=1,Wg=2,nd=3,Cy=4,wv=5,Ey=6,Sv=7,WA=0,nh=1,by=2,wd=0,Rw=1,Ow=2,kw=3,zw=4,Hw=5,Kd=6,Pv=7,g1="attached",xp="detached",i0=300,Jd=301,qd=302,Lc=303,rm=304,wp=306,ih=1e3,bh=1001,Sp=1002,xu=1003,Pp=1004,Pf=1004,vg=1005,pc=1005,tu=1006,Cp=1007,Cv=1007,Nc=1008,My=1008,Zu=1009,yg=1010,om=1011,rh=1012,tc=1013,nu=1014,wu=1015,mc=1016,Ep=1017,By=1018,_d=1020,Ty=35902,Yf=1021,Dy=1022,Fu=1023,Oh=1026,Mh=1027,r0=1028,id=1029,Qg=1030,sm=1031,IP=1032,o0=1033,am=33776,s0=33777,lm=33778,Yg=33779,a0=35840,l0=35841,Fy=35842,u0=35843,Ag=36196,c0=37492,bp=37496,Ev=37808,um=37809,bv=37810,Ja=37811,Zg=37812,xg=37813,Gu=37814,Ic=37815,wg=37816,Mp=37817,h0=37818,d0=37819,f0=37820,g0=37821,cm=36492,Bp=36494,Mv=36495,Tp=36283,Bl=36284,p0=36285,Bv=36286,Ly=2200,Ny=2201,QA=2202,YA=2300,nc=2301,p1=2302,Kg=2400,Cf=2401,m0=2402,he=2500,me=2501,Ce=0,Pe=1,Te=2,He=3200,_e=3201,ut=3202,at=3203,At=0,sn=1,Tt="",Pn="srgb",vn="srgb-linear",Ri="linear",kn="srgb",mr=0,Nr=7680,So=7681,eo=7682,zo=7683,Hs=34055,qr=34056,Ea=5386,hu=512,Rc=513,Lu=514,Sd=515,kh=516,Cc=517,$d=518,Oc=519,ic=512,sl=513,Su=514,vc=515,kc=516,Ef=517,du=518,ef=519,fu=35044,Dp=35048,Zf=35040,bf=35045,tf=35049,iu=35041,Bh=35046,hm=35050,ZA=35042,ST="100",Pd="300 es",Cd=2e3,rd=2001,JE={COMPUTE:"compute",RENDER:"render"},Uw={PERSPECTIVE:"perspective",LINEAR:"linear",FLAT:"flat"},m1={NORMAL:"normal",CENTROID:"centroid",SAMPLE:"sample",FIRST:"first",EITHER:"either"};class Ed{addEventListener(y,E){this._listeners===void 0&&(this._listeners={});const z=this._listeners;z[y]===void 0&&(z[y]=[]),z[y].indexOf(E)===-1&&z[y].push(E)}hasEventListener(y,E){const z=this._listeners;return z===void 0?!1:z[y]!==void 0&&z[y].indexOf(E)!==-1}removeEventListener(y,E){const z=this._listeners;if(z===void 0)return;const ne=z[y];if(ne!==void 0){const ie=ne.indexOf(E);ie!==-1&&ne.splice(ie,1)}}dispatchEvent(y){const E=this._listeners;if(E===void 0)return;const z=E[y.type];if(z!==void 0){y.target=this;const ne=z.slice(0);for(let ie=0,se=ne.length;ie>8&255]+zh[ee>>16&255]+zh[ee>>24&255]+"-"+zh[y&255]+zh[y>>8&255]+"-"+zh[y>>16&15|64]+zh[y>>24&255]+"-"+zh[E&63|128]+zh[E>>8&255]+"-"+zh[E>>16&255]+zh[E>>24&255]+zh[z&255]+zh[z>>8&255]+zh[z>>16&255]+zh[z>>24&255]).toLowerCase()}function _a(ee,y,E){return Math.max(y,Math.min(E,ee))}function RP(ee,y){return(ee%y+y)%y}function jM(ee,y,E,z,ne){return z+(ee-y)*(ne-z)/(E-y)}function v1(ee,y,E){return ee!==y?(E-ee)/(y-ee):0}function KA(ee,y,E){return(1-E)*ee+E*y}function GM(ee,y,E,z){return KA(ee,y,1-Math.exp(-E*z))}function XM(ee,y=1){return y-Math.abs(RP(ee,y*2)-y)}function qE(ee,y,E){return ee<=y?0:ee>=E?1:(ee=(ee-y)/(E-y),ee*ee*(3-2*ee))}function Vw(ee,y,E){return ee<=y?0:ee>=E?1:(ee=(ee-y)/(E-y),ee*ee*ee*(ee*(ee*6-15)+10))}function OP(ee,y){return ee+Math.floor(Math.random()*(y-ee+1))}function Fp(ee,y){return ee+Math.random()*(y-ee)}function dm(ee){return ee*(.5-Math.random())}function kP(ee){ee!==void 0&&(Tv=ee);let y=Tv+=1831565813;return y=Math.imul(y^y>>>15,y|1),y^=y+Math.imul(y^y>>>7,y|61),((y^y>>>14)>>>0)/4294967296}function Mf(ee){return ee*Jg}function Iy(ee){return ee*od}function PT(ee){return(ee&ee-1)===0&&ee!==0}function jw(ee){return Math.pow(2,Math.ceil(Math.log(ee)/Math.LN2))}function Fs(ee){return Math.pow(2,Math.floor(Math.log(ee)/Math.LN2))}function WM(ee,y,E,z,ne){const ie=Math.cos,se=Math.sin,le=ie(E/2),de=se(E/2),ge=ie((y+z)/2),ve=se((y+z)/2),xe=ie((y-z)/2),Se=se((y-z)/2),Me=ie((z-y)/2),De=se((z-y)/2);switch(ne){case"XYX":ee.set(le*ve,de*xe,de*Se,le*ge);break;case"YZY":ee.set(de*Se,le*ve,de*xe,le*ge);break;case"ZXZ":ee.set(de*xe,de*Se,le*ve,le*ge);break;case"XZX":ee.set(le*ve,de*De,de*Me,le*ge);break;case"YXY":ee.set(de*Me,le*ve,de*De,le*ge);break;case"ZYZ":ee.set(de*De,de*Me,le*ve,le*ge);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+ne)}}function Bf(ee,y){switch(y.constructor){case Float32Array:return ee;case Uint32Array:return ee/4294967295;case Uint16Array:return ee/65535;case Uint8Array:return ee/255;case Int32Array:return Math.max(ee/2147483647,-1);case Int16Array:return Math.max(ee/32767,-1);case Int8Array:return Math.max(ee/127,-1);default:throw new Error("Invalid component type.")}}function tl(ee,y){switch(y.constructor){case Float32Array:return ee;case Uint32Array:return Math.round(ee*4294967295);case Uint16Array:return Math.round(ee*65535);case Uint8Array:return Math.round(ee*255);case Int32Array:return Math.round(ee*2147483647);case Int16Array:return Math.round(ee*32767);case Int8Array:return Math.round(ee*127);default:throw new Error("Invalid component type.")}}const v0={DEG2RAD:Jg,RAD2DEG:od,generateUUID:gu,clamp:_a,euclideanModulo:RP,mapLinear:jM,inverseLerp:v1,lerp:KA,damp:GM,pingpong:XM,smoothstep:qE,smootherstep:Vw,randInt:OP,randFloat:Fp,randFloatSpread:dm,seededRandom:kP,degToRad:Mf,radToDeg:Iy,isPowerOfTwo:PT,ceilPowerOfTwo:jw,floorPowerOfTwo:Fs,setQuaternionFromProperEuler:WM,normalize:tl,denormalize:Bf};class ki{constructor(y=0,E=0){ki.prototype.isVector2=!0,this.x=y,this.y=E}get width(){return this.x}set width(y){this.x=y}get height(){return this.y}set height(y){this.y=y}set(y,E){return this.x=y,this.y=E,this}setScalar(y){return this.x=y,this.y=y,this}setX(y){return this.x=y,this}setY(y){return this.y=y,this}setComponent(y,E){switch(y){case 0:this.x=E;break;case 1:this.y=E;break;default:throw new Error("index is out of range: "+y)}return this}getComponent(y){switch(y){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+y)}}clone(){return new this.constructor(this.x,this.y)}copy(y){return this.x=y.x,this.y=y.y,this}add(y){return this.x+=y.x,this.y+=y.y,this}addScalar(y){return this.x+=y,this.y+=y,this}addVectors(y,E){return this.x=y.x+E.x,this.y=y.y+E.y,this}addScaledVector(y,E){return this.x+=y.x*E,this.y+=y.y*E,this}sub(y){return this.x-=y.x,this.y-=y.y,this}subScalar(y){return this.x-=y,this.y-=y,this}subVectors(y,E){return this.x=y.x-E.x,this.y=y.y-E.y,this}multiply(y){return this.x*=y.x,this.y*=y.y,this}multiplyScalar(y){return this.x*=y,this.y*=y,this}divide(y){return this.x/=y.x,this.y/=y.y,this}divideScalar(y){return this.multiplyScalar(1/y)}applyMatrix3(y){const E=this.x,z=this.y,ne=y.elements;return this.x=ne[0]*E+ne[3]*z+ne[6],this.y=ne[1]*E+ne[4]*z+ne[7],this}min(y){return this.x=Math.min(this.x,y.x),this.y=Math.min(this.y,y.y),this}max(y){return this.x=Math.max(this.x,y.x),this.y=Math.max(this.y,y.y),this}clamp(y,E){return this.x=_a(this.x,y.x,E.x),this.y=_a(this.y,y.y,E.y),this}clampScalar(y,E){return this.x=_a(this.x,y,E),this.y=_a(this.y,y,E),this}clampLength(y,E){const z=this.length();return this.divideScalar(z||1).multiplyScalar(_a(z,y,E))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(y){return this.x*y.x+this.y*y.y}cross(y){return this.x*y.y-this.y*y.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(y){const E=Math.sqrt(this.lengthSq()*y.lengthSq());if(E===0)return Math.PI/2;const z=this.dot(y)/E;return Math.acos(_a(z,-1,1))}distanceTo(y){return Math.sqrt(this.distanceToSquared(y))}distanceToSquared(y){const E=this.x-y.x,z=this.y-y.y;return E*E+z*z}manhattanDistanceTo(y){return Math.abs(this.x-y.x)+Math.abs(this.y-y.y)}setLength(y){return this.normalize().multiplyScalar(y)}lerp(y,E){return this.x+=(y.x-this.x)*E,this.y+=(y.y-this.y)*E,this}lerpVectors(y,E,z){return this.x=y.x+(E.x-y.x)*z,this.y=y.y+(E.y-y.y)*z,this}equals(y){return y.x===this.x&&y.y===this.y}fromArray(y,E=0){return this.x=y[E],this.y=y[E+1],this}toArray(y=[],E=0){return y[E]=this.x,y[E+1]=this.y,y}fromBufferAttribute(y,E){return this.x=y.getX(E),this.y=y.getY(E),this}rotateAround(y,E){const z=Math.cos(E),ne=Math.sin(E),ie=this.x-y.x,se=this.y-y.y;return this.x=ie*z-se*ne+y.x,this.y=ie*ne+se*z+y.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Nu{constructor(y=0,E=0,z=0,ne=1){this.isQuaternion=!0,this._x=y,this._y=E,this._z=z,this._w=ne}static slerpFlat(y,E,z,ne,ie,se,le){let de=z[ne+0],ge=z[ne+1],ve=z[ne+2],xe=z[ne+3];const Se=ie[se+0],Me=ie[se+1],De=ie[se+2],Oe=ie[se+3];if(le===0){y[E+0]=de,y[E+1]=ge,y[E+2]=ve,y[E+3]=xe;return}if(le===1){y[E+0]=Se,y[E+1]=Me,y[E+2]=De,y[E+3]=Oe;return}if(xe!==Oe||de!==Se||ge!==Me||ve!==De){let Re=1-le;const Le=de*Se+ge*Me+ve*De+xe*Oe,Qe=Le>=0?1:-1,Xe=1-Le*Le;if(Xe>Number.EPSILON){const it=Math.sqrt(Xe),et=Math.atan2(it,Le*Qe);Re=Math.sin(Re*et)/it,le=Math.sin(le*et)/it}const Ze=le*Qe;if(de=de*Re+Se*Ze,ge=ge*Re+Me*Ze,ve=ve*Re+De*Ze,xe=xe*Re+Oe*Ze,Re===1-le){const it=1/Math.sqrt(de*de+ge*ge+ve*ve+xe*xe);de*=it,ge*=it,ve*=it,xe*=it}}y[E]=de,y[E+1]=ge,y[E+2]=ve,y[E+3]=xe}static multiplyQuaternionsFlat(y,E,z,ne,ie,se){const le=z[ne],de=z[ne+1],ge=z[ne+2],ve=z[ne+3],xe=ie[se],Se=ie[se+1],Me=ie[se+2],De=ie[se+3];return y[E]=le*De+ve*xe+de*Me-ge*Se,y[E+1]=de*De+ve*Se+ge*xe-le*Me,y[E+2]=ge*De+ve*Me+le*Se-de*xe,y[E+3]=ve*De-le*xe-de*Se-ge*Me,y}get x(){return this._x}set x(y){this._x=y,this._onChangeCallback()}get y(){return this._y}set y(y){this._y=y,this._onChangeCallback()}get z(){return this._z}set z(y){this._z=y,this._onChangeCallback()}get w(){return this._w}set w(y){this._w=y,this._onChangeCallback()}set(y,E,z,ne){return this._x=y,this._y=E,this._z=z,this._w=ne,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(y){return this._x=y.x,this._y=y.y,this._z=y.z,this._w=y.w,this._onChangeCallback(),this}setFromEuler(y,E=!0){const z=y._x,ne=y._y,ie=y._z,se=y._order,le=Math.cos,de=Math.sin,ge=le(z/2),ve=le(ne/2),xe=le(ie/2),Se=de(z/2),Me=de(ne/2),De=de(ie/2);switch(se){case"XYZ":this._x=Se*ve*xe+ge*Me*De,this._y=ge*Me*xe-Se*ve*De,this._z=ge*ve*De+Se*Me*xe,this._w=ge*ve*xe-Se*Me*De;break;case"YXZ":this._x=Se*ve*xe+ge*Me*De,this._y=ge*Me*xe-Se*ve*De,this._z=ge*ve*De-Se*Me*xe,this._w=ge*ve*xe+Se*Me*De;break;case"ZXY":this._x=Se*ve*xe-ge*Me*De,this._y=ge*Me*xe+Se*ve*De,this._z=ge*ve*De+Se*Me*xe,this._w=ge*ve*xe-Se*Me*De;break;case"ZYX":this._x=Se*ve*xe-ge*Me*De,this._y=ge*Me*xe+Se*ve*De,this._z=ge*ve*De-Se*Me*xe,this._w=ge*ve*xe+Se*Me*De;break;case"YZX":this._x=Se*ve*xe+ge*Me*De,this._y=ge*Me*xe+Se*ve*De,this._z=ge*ve*De-Se*Me*xe,this._w=ge*ve*xe-Se*Me*De;break;case"XZY":this._x=Se*ve*xe-ge*Me*De,this._y=ge*Me*xe-Se*ve*De,this._z=ge*ve*De+Se*Me*xe,this._w=ge*ve*xe+Se*Me*De;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+se)}return E===!0&&this._onChangeCallback(),this}setFromAxisAngle(y,E){const z=E/2,ne=Math.sin(z);return this._x=y.x*ne,this._y=y.y*ne,this._z=y.z*ne,this._w=Math.cos(z),this._onChangeCallback(),this}setFromRotationMatrix(y){const E=y.elements,z=E[0],ne=E[4],ie=E[8],se=E[1],le=E[5],de=E[9],ge=E[2],ve=E[6],xe=E[10],Se=z+le+xe;if(Se>0){const Me=.5/Math.sqrt(Se+1);this._w=.25/Me,this._x=(ve-de)*Me,this._y=(ie-ge)*Me,this._z=(se-ne)*Me}else if(z>le&&z>xe){const Me=2*Math.sqrt(1+z-le-xe);this._w=(ve-de)/Me,this._x=.25*Me,this._y=(ne+se)/Me,this._z=(ie+ge)/Me}else if(le>xe){const Me=2*Math.sqrt(1+le-z-xe);this._w=(ie-ge)/Me,this._x=(ne+se)/Me,this._y=.25*Me,this._z=(de+ve)/Me}else{const Me=2*Math.sqrt(1+xe-z-le);this._w=(se-ne)/Me,this._x=(ie+ge)/Me,this._y=(de+ve)/Me,this._z=.25*Me}return this._onChangeCallback(),this}setFromUnitVectors(y,E){let z=y.dot(E)+1;return z<1e-8?(z=0,Math.abs(y.x)>Math.abs(y.z)?(this._x=-y.y,this._y=y.x,this._z=0,this._w=z):(this._x=0,this._y=-y.z,this._z=y.y,this._w=z)):(this._x=y.y*E.z-y.z*E.y,this._y=y.z*E.x-y.x*E.z,this._z=y.x*E.y-y.y*E.x,this._w=z),this.normalize()}angleTo(y){return 2*Math.acos(Math.abs(_a(this.dot(y),-1,1)))}rotateTowards(y,E){const z=this.angleTo(y);if(z===0)return this;const ne=Math.min(1,E/z);return this.slerp(y,ne),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(y){return this._x*y._x+this._y*y._y+this._z*y._z+this._w*y._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let y=this.length();return y===0?(this._x=0,this._y=0,this._z=0,this._w=1):(y=1/y,this._x=this._x*y,this._y=this._y*y,this._z=this._z*y,this._w=this._w*y),this._onChangeCallback(),this}multiply(y){return this.multiplyQuaternions(this,y)}premultiply(y){return this.multiplyQuaternions(y,this)}multiplyQuaternions(y,E){const z=y._x,ne=y._y,ie=y._z,se=y._w,le=E._x,de=E._y,ge=E._z,ve=E._w;return this._x=z*ve+se*le+ne*ge-ie*de,this._y=ne*ve+se*de+ie*le-z*ge,this._z=ie*ve+se*ge+z*de-ne*le,this._w=se*ve-z*le-ne*de-ie*ge,this._onChangeCallback(),this}slerp(y,E){if(E===0)return this;if(E===1)return this.copy(y);const z=this._x,ne=this._y,ie=this._z,se=this._w;let le=se*y._w+z*y._x+ne*y._y+ie*y._z;if(le<0?(this._w=-y._w,this._x=-y._x,this._y=-y._y,this._z=-y._z,le=-le):this.copy(y),le>=1)return this._w=se,this._x=z,this._y=ne,this._z=ie,this;const de=1-le*le;if(de<=Number.EPSILON){const Me=1-E;return this._w=Me*se+E*this._w,this._x=Me*z+E*this._x,this._y=Me*ne+E*this._y,this._z=Me*ie+E*this._z,this.normalize(),this}const ge=Math.sqrt(de),ve=Math.atan2(ge,le),xe=Math.sin((1-E)*ve)/ge,Se=Math.sin(E*ve)/ge;return this._w=se*xe+this._w*Se,this._x=z*xe+this._x*Se,this._y=ne*xe+this._y*Se,this._z=ie*xe+this._z*Se,this._onChangeCallback(),this}slerpQuaternions(y,E,z){return this.copy(y).slerp(E,z)}random(){const y=2*Math.PI*Math.random(),E=2*Math.PI*Math.random(),z=Math.random(),ne=Math.sqrt(1-z),ie=Math.sqrt(z);return this.set(ne*Math.sin(y),ne*Math.cos(y),ie*Math.sin(E),ie*Math.cos(E))}equals(y){return y._x===this._x&&y._y===this._y&&y._z===this._z&&y._w===this._w}fromArray(y,E=0){return this._x=y[E],this._y=y[E+1],this._z=y[E+2],this._w=y[E+3],this._onChangeCallback(),this}toArray(y=[],E=0){return y[E]=this._x,y[E+1]=this._y,y[E+2]=this._z,y[E+3]=this._w,y}fromBufferAttribute(y,E){return this._x=y.getX(E),this._y=y.getY(E),this._z=y.getZ(E),this._w=y.getW(E),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(y){return this._onChangeCallback=y,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Vt{constructor(y=0,E=0,z=0){Vt.prototype.isVector3=!0,this.x=y,this.y=E,this.z=z}set(y,E,z){return z===void 0&&(z=this.z),this.x=y,this.y=E,this.z=z,this}setScalar(y){return this.x=y,this.y=y,this.z=y,this}setX(y){return this.x=y,this}setY(y){return this.y=y,this}setZ(y){return this.z=y,this}setComponent(y,E){switch(y){case 0:this.x=E;break;case 1:this.y=E;break;case 2:this.z=E;break;default:throw new Error("index is out of range: "+y)}return this}getComponent(y){switch(y){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+y)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(y){return this.x=y.x,this.y=y.y,this.z=y.z,this}add(y){return this.x+=y.x,this.y+=y.y,this.z+=y.z,this}addScalar(y){return this.x+=y,this.y+=y,this.z+=y,this}addVectors(y,E){return this.x=y.x+E.x,this.y=y.y+E.y,this.z=y.z+E.z,this}addScaledVector(y,E){return this.x+=y.x*E,this.y+=y.y*E,this.z+=y.z*E,this}sub(y){return this.x-=y.x,this.y-=y.y,this.z-=y.z,this}subScalar(y){return this.x-=y,this.y-=y,this.z-=y,this}subVectors(y,E){return this.x=y.x-E.x,this.y=y.y-E.y,this.z=y.z-E.z,this}multiply(y){return this.x*=y.x,this.y*=y.y,this.z*=y.z,this}multiplyScalar(y){return this.x*=y,this.y*=y,this.z*=y,this}multiplyVectors(y,E){return this.x=y.x*E.x,this.y=y.y*E.y,this.z=y.z*E.z,this}applyEuler(y){return this.applyQuaternion(zP.setFromEuler(y))}applyAxisAngle(y,E){return this.applyQuaternion(zP.setFromAxisAngle(y,E))}applyMatrix3(y){const E=this.x,z=this.y,ne=this.z,ie=y.elements;return this.x=ie[0]*E+ie[3]*z+ie[6]*ne,this.y=ie[1]*E+ie[4]*z+ie[7]*ne,this.z=ie[2]*E+ie[5]*z+ie[8]*ne,this}applyNormalMatrix(y){return this.applyMatrix3(y).normalize()}applyMatrix4(y){const E=this.x,z=this.y,ne=this.z,ie=y.elements,se=1/(ie[3]*E+ie[7]*z+ie[11]*ne+ie[15]);return this.x=(ie[0]*E+ie[4]*z+ie[8]*ne+ie[12])*se,this.y=(ie[1]*E+ie[5]*z+ie[9]*ne+ie[13])*se,this.z=(ie[2]*E+ie[6]*z+ie[10]*ne+ie[14])*se,this}applyQuaternion(y){const E=this.x,z=this.y,ne=this.z,ie=y.x,se=y.y,le=y.z,de=y.w,ge=2*(se*ne-le*z),ve=2*(le*E-ie*ne),xe=2*(ie*z-se*E);return this.x=E+de*ge+se*xe-le*ve,this.y=z+de*ve+le*ge-ie*xe,this.z=ne+de*xe+ie*ve-se*ge,this}project(y){return this.applyMatrix4(y.matrixWorldInverse).applyMatrix4(y.projectionMatrix)}unproject(y){return this.applyMatrix4(y.projectionMatrixInverse).applyMatrix4(y.matrixWorld)}transformDirection(y){const E=this.x,z=this.y,ne=this.z,ie=y.elements;return this.x=ie[0]*E+ie[4]*z+ie[8]*ne,this.y=ie[1]*E+ie[5]*z+ie[9]*ne,this.z=ie[2]*E+ie[6]*z+ie[10]*ne,this.normalize()}divide(y){return this.x/=y.x,this.y/=y.y,this.z/=y.z,this}divideScalar(y){return this.multiplyScalar(1/y)}min(y){return this.x=Math.min(this.x,y.x),this.y=Math.min(this.y,y.y),this.z=Math.min(this.z,y.z),this}max(y){return this.x=Math.max(this.x,y.x),this.y=Math.max(this.y,y.y),this.z=Math.max(this.z,y.z),this}clamp(y,E){return this.x=_a(this.x,y.x,E.x),this.y=_a(this.y,y.y,E.y),this.z=_a(this.z,y.z,E.z),this}clampScalar(y,E){return this.x=_a(this.x,y,E),this.y=_a(this.y,y,E),this.z=_a(this.z,y,E),this}clampLength(y,E){const z=this.length();return this.divideScalar(z||1).multiplyScalar(_a(z,y,E))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(y){return this.x*y.x+this.y*y.y+this.z*y.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(y){return this.normalize().multiplyScalar(y)}lerp(y,E){return this.x+=(y.x-this.x)*E,this.y+=(y.y-this.y)*E,this.z+=(y.z-this.z)*E,this}lerpVectors(y,E,z){return this.x=y.x+(E.x-y.x)*z,this.y=y.y+(E.y-y.y)*z,this.z=y.z+(E.z-y.z)*z,this}cross(y){return this.crossVectors(this,y)}crossVectors(y,E){const z=y.x,ne=y.y,ie=y.z,se=E.x,le=E.y,de=E.z;return this.x=ne*de-ie*le,this.y=ie*se-z*de,this.z=z*le-ne*se,this}projectOnVector(y){const E=y.lengthSq();if(E===0)return this.set(0,0,0);const z=y.dot(this)/E;return this.copy(y).multiplyScalar(z)}projectOnPlane(y){return Gw.copy(this).projectOnVector(y),this.sub(Gw)}reflect(y){return this.sub(Gw.copy(y).multiplyScalar(2*this.dot(y)))}angleTo(y){const E=Math.sqrt(this.lengthSq()*y.lengthSq());if(E===0)return Math.PI/2;const z=this.dot(y)/E;return Math.acos(_a(z,-1,1))}distanceTo(y){return Math.sqrt(this.distanceToSquared(y))}distanceToSquared(y){const E=this.x-y.x,z=this.y-y.y,ne=this.z-y.z;return E*E+z*z+ne*ne}manhattanDistanceTo(y){return Math.abs(this.x-y.x)+Math.abs(this.y-y.y)+Math.abs(this.z-y.z)}setFromSpherical(y){return this.setFromSphericalCoords(y.radius,y.phi,y.theta)}setFromSphericalCoords(y,E,z){const ne=Math.sin(E)*y;return this.x=ne*Math.sin(z),this.y=Math.cos(E)*y,this.z=ne*Math.cos(z),this}setFromCylindrical(y){return this.setFromCylindricalCoords(y.radius,y.theta,y.y)}setFromCylindricalCoords(y,E,z){return this.x=y*Math.sin(E),this.y=z,this.z=y*Math.cos(E),this}setFromMatrixPosition(y){const E=y.elements;return this.x=E[12],this.y=E[13],this.z=E[14],this}setFromMatrixScale(y){const E=this.setFromMatrixColumn(y,0).length(),z=this.setFromMatrixColumn(y,1).length(),ne=this.setFromMatrixColumn(y,2).length();return this.x=E,this.y=z,this.z=ne,this}setFromMatrixColumn(y,E){return this.fromArray(y.elements,E*4)}setFromMatrix3Column(y,E){return this.fromArray(y.elements,E*3)}setFromEuler(y){return this.x=y._x,this.y=y._y,this.z=y._z,this}setFromColor(y){return this.x=y.r,this.y=y.g,this.z=y.b,this}equals(y){return y.x===this.x&&y.y===this.y&&y.z===this.z}fromArray(y,E=0){return this.x=y[E],this.y=y[E+1],this.z=y[E+2],this}toArray(y=[],E=0){return y[E]=this.x,y[E+1]=this.y,y[E+2]=this.z,y}fromBufferAttribute(y,E){return this.x=y.getX(E),this.y=y.getY(E),this.z=y.getZ(E),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const y=Math.random()*Math.PI*2,E=Math.random()*2-1,z=Math.sqrt(1-E*E);return this.x=z*Math.cos(y),this.y=E,this.z=z*Math.sin(y),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Gw=new Vt,zP=new Nu;class Oa{constructor(y,E,z,ne,ie,se,le,de,ge){Oa.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],y!==void 0&&this.set(y,E,z,ne,ie,se,le,de,ge)}set(y,E,z,ne,ie,se,le,de,ge){const ve=this.elements;return ve[0]=y,ve[1]=ne,ve[2]=le,ve[3]=E,ve[4]=ie,ve[5]=de,ve[6]=z,ve[7]=se,ve[8]=ge,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(y){const E=this.elements,z=y.elements;return E[0]=z[0],E[1]=z[1],E[2]=z[2],E[3]=z[3],E[4]=z[4],E[5]=z[5],E[6]=z[6],E[7]=z[7],E[8]=z[8],this}extractBasis(y,E,z){return y.setFromMatrix3Column(this,0),E.setFromMatrix3Column(this,1),z.setFromMatrix3Column(this,2),this}setFromMatrix4(y){const E=y.elements;return this.set(E[0],E[4],E[8],E[1],E[5],E[9],E[2],E[6],E[10]),this}multiply(y){return this.multiplyMatrices(this,y)}premultiply(y){return this.multiplyMatrices(y,this)}multiplyMatrices(y,E){const z=y.elements,ne=E.elements,ie=this.elements,se=z[0],le=z[3],de=z[6],ge=z[1],ve=z[4],xe=z[7],Se=z[2],Me=z[5],De=z[8],Oe=ne[0],Re=ne[3],Le=ne[6],Qe=ne[1],Xe=ne[4],Ze=ne[7],it=ne[2],et=ne[5],ht=ne[8];return ie[0]=se*Oe+le*Qe+de*it,ie[3]=se*Re+le*Xe+de*et,ie[6]=se*Le+le*Ze+de*ht,ie[1]=ge*Oe+ve*Qe+xe*it,ie[4]=ge*Re+ve*Xe+xe*et,ie[7]=ge*Le+ve*Ze+xe*ht,ie[2]=Se*Oe+Me*Qe+De*it,ie[5]=Se*Re+Me*Xe+De*et,ie[8]=Se*Le+Me*Ze+De*ht,this}multiplyScalar(y){const E=this.elements;return E[0]*=y,E[3]*=y,E[6]*=y,E[1]*=y,E[4]*=y,E[7]*=y,E[2]*=y,E[5]*=y,E[8]*=y,this}determinant(){const y=this.elements,E=y[0],z=y[1],ne=y[2],ie=y[3],se=y[4],le=y[5],de=y[6],ge=y[7],ve=y[8];return E*se*ve-E*le*ge-z*ie*ve+z*le*de+ne*ie*ge-ne*se*de}invert(){const y=this.elements,E=y[0],z=y[1],ne=y[2],ie=y[3],se=y[4],le=y[5],de=y[6],ge=y[7],ve=y[8],xe=ve*se-le*ge,Se=le*de-ve*ie,Me=ge*ie-se*de,De=E*xe+z*Se+ne*Me;if(De===0)return this.set(0,0,0,0,0,0,0,0,0);const Oe=1/De;return y[0]=xe*Oe,y[1]=(ne*ge-ve*z)*Oe,y[2]=(le*z-ne*se)*Oe,y[3]=Se*Oe,y[4]=(ve*E-ne*de)*Oe,y[5]=(ne*ie-le*E)*Oe,y[6]=Me*Oe,y[7]=(z*de-ge*E)*Oe,y[8]=(se*E-z*ie)*Oe,this}transpose(){let y;const E=this.elements;return y=E[1],E[1]=E[3],E[3]=y,y=E[2],E[2]=E[6],E[6]=y,y=E[5],E[5]=E[7],E[7]=y,this}getNormalMatrix(y){return this.setFromMatrix4(y).invert().transpose()}transposeIntoArray(y){const E=this.elements;return y[0]=E[0],y[1]=E[3],y[2]=E[6],y[3]=E[1],y[4]=E[4],y[5]=E[7],y[6]=E[2],y[7]=E[5],y[8]=E[8],this}setUvTransform(y,E,z,ne,ie,se,le){const de=Math.cos(ie),ge=Math.sin(ie);return this.set(z*de,z*ge,-z*(de*se+ge*le)+se+y,-ne*ge,ne*de,-ne*(-ge*se+de*le)+le+E,0,0,1),this}scale(y,E){return this.premultiply(HP.makeScale(y,E)),this}rotate(y){return this.premultiply(HP.makeRotation(-y)),this}translate(y,E){return this.premultiply(HP.makeTranslation(y,E)),this}makeTranslation(y,E){return y.isVector2?this.set(1,0,y.x,0,1,y.y,0,0,1):this.set(1,0,y,0,1,E,0,0,1),this}makeRotation(y){const E=Math.cos(y),z=Math.sin(y);return this.set(E,-z,0,z,E,0,0,0,1),this}makeScale(y,E){return this.set(y,0,0,0,E,0,0,0,1),this}equals(y){const E=this.elements,z=y.elements;for(let ne=0;ne<9;ne++)if(E[ne]!==z[ne])return!1;return!0}fromArray(y,E=0){for(let z=0;z<9;z++)this.elements[z]=y[z+E];return this}toArray(y=[],E=0){const z=this.elements;return y[E]=z[0],y[E+1]=z[1],y[E+2]=z[2],y[E+3]=z[3],y[E+4]=z[4],y[E+5]=z[5],y[E+6]=z[6],y[E+7]=z[7],y[E+8]=z[8],y}clone(){return new this.constructor().fromArray(this.elements)}}const HP=new Oa;function Dv(ee){for(let y=ee.length-1;y>=0;--y)if(ee[y]>=65535)return!0;return!1}const _E={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Ry(ee,y){return new _E[ee](y)}function Oy(ee){return document.createElementNS("http://www.w3.org/1999/xhtml",ee)}function JA(){const ee=Oy("canvas");return ee.style.display="block",ee}const UP={};function Cs(ee){ee in UP||(UP[ee]=!0,console.warn(ee))}function bd(ee,y,E){return new Promise(function(z,ne){function ie(){switch(ee.clientWaitSync(y,ee.SYNC_FLUSH_COMMANDS_BIT,0)){case ee.WAIT_FAILED:ne();break;case ee.TIMEOUT_EXPIRED:setTimeout(ie,E);break;default:z()}}setTimeout(ie,E)})}function oh(ee){const y=ee.elements;y[2]=.5*y[2]+.5*y[3],y[6]=.5*y[6]+.5*y[7],y[10]=.5*y[10]+.5*y[11],y[14]=.5*y[14]+.5*y[15]}function Lp(ee){const y=ee.elements;y[11]===-1?(y[10]=-y[10]-1,y[14]=-y[14]):(y[10]=-y[10],y[14]=-y[14]+1)}const qA=new Oa().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),fm=new Oa().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function gm(){const ee={enabled:!0,workingColorSpace:vn,spaces:{},convert:function(ne,ie,se){return this.enabled===!1||ie===se||!ie||!se||(this.spaces[ie].transfer===kn&&(ne.r=Sg(ne.r),ne.g=Sg(ne.g),ne.b=Sg(ne.b)),this.spaces[ie].primaries!==this.spaces[se].primaries&&(ne.applyMatrix3(this.spaces[ie].toXYZ),ne.applyMatrix3(this.spaces[se].fromXYZ)),this.spaces[se].transfer===kn&&(ne.r=pm(ne.r),ne.g=pm(ne.g),ne.b=pm(ne.b))),ne},workingToColorSpace:function(ne,ie){return this.convert(ne,this.workingColorSpace,ie)},colorSpaceToWorking:function(ne,ie){return this.convert(ne,ie,this.workingColorSpace)},getPrimaries:function(ne){return this.spaces[ne].primaries},getTransfer:function(ne){return ne===Tt?Ri:this.spaces[ne].transfer},getLuminanceCoefficients:function(ne,ie=this.workingColorSpace){return ne.fromArray(this.spaces[ie].luminanceCoefficients)},define:function(ne){Object.assign(this.spaces,ne)},_getMatrix:function(ne,ie,se){return ne.copy(this.spaces[ie].toXYZ).multiply(this.spaces[se].fromXYZ)},_getDrawingBufferColorSpace:function(ne){return this.spaces[ne].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(ne=this.workingColorSpace){return this.spaces[ne].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(ne,ie){return Cs("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),ee.workingToColorSpace(ne,ie)},toWorkingColorSpace:function(ne,ie){return Cs("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),ee.colorSpaceToWorking(ne,ie)}},y=[.64,.33,.3,.6,.15,.06],E=[.2126,.7152,.0722],z=[.3127,.329];return ee.define({[vn]:{primaries:y,whitePoint:z,transfer:Ri,toXYZ:qA,fromXYZ:fm,luminanceCoefficients:E,workingColorSpaceConfig:{unpackColorSpace:Pn},outputColorSpaceConfig:{drawingBufferColorSpace:Pn}},[Pn]:{primaries:y,whitePoint:z,transfer:kn,toXYZ:qA,fromXYZ:fm,luminanceCoefficients:E,outputColorSpaceConfig:{drawingBufferColorSpace:Pn}}}),ee}const ys=gm();function Sg(ee){return ee<.04045?ee*.0773993808:Math.pow(ee*.9478672986+.0521327014,2.4)}function pm(ee){return ee<.0031308?ee*12.92:1.055*Math.pow(ee,.41666)-.055}let _A;class ru{static getDataURL(y,E="image/png"){if(/^data:/i.test(y.src)||typeof HTMLCanvasElement=="undefined")return y.src;let z;if(y instanceof HTMLCanvasElement)z=y;else{_A===void 0&&(_A=Oy("canvas")),_A.width=y.width,_A.height=y.height;const ne=_A.getContext("2d");y instanceof ImageData?ne.putImageData(y,0,0):ne.drawImage(y,0,0,y.width,y.height),z=_A}return z.toDataURL(E)}static sRGBToLinear(y){if(typeof HTMLImageElement!="undefined"&&y instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&y instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&y instanceof ImageBitmap){const E=Oy("canvas");E.width=y.width,E.height=y.height;const z=E.getContext("2d");z.drawImage(y,0,0,y.width,y.height);const ne=z.getImageData(0,0,y.width,y.height),ie=ne.data;for(let se=0;se1),this.pmremVersion=0}get width(){return this.source.getSize(Xw).x}get height(){return this.source.getSize(Xw).y}get depth(){return this.source.getSize(Xw).z}get image(){return this.source.data}set image(y=null){this.source.data=y}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(y,E){this.updateRanges.push({start:y,count:E})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(y){return this.name=y.name,this.source=y.source,this.mipmaps=y.mipmaps.slice(0),this.mapping=y.mapping,this.channel=y.channel,this.wrapS=y.wrapS,this.wrapT=y.wrapT,this.magFilter=y.magFilter,this.minFilter=y.minFilter,this.anisotropy=y.anisotropy,this.format=y.format,this.internalFormat=y.internalFormat,this.type=y.type,this.offset.copy(y.offset),this.repeat.copy(y.repeat),this.center.copy(y.center),this.rotation=y.rotation,this.matrixAutoUpdate=y.matrixAutoUpdate,this.matrix.copy(y.matrix),this.generateMipmaps=y.generateMipmaps,this.premultiplyAlpha=y.premultiplyAlpha,this.flipY=y.flipY,this.unpackAlignment=y.unpackAlignment,this.colorSpace=y.colorSpace,this.renderTarget=y.renderTarget,this.isRenderTargetTexture=y.isRenderTargetTexture,this.isArrayTexture=y.isArrayTexture,this.userData=JSON.parse(JSON.stringify(y.userData)),this.needsUpdate=!0,this}setValues(y){for(const E in y){const z=y[E];if(z===void 0){console.warn(`THREE.Texture.setValues(): parameter '${E}' has value of undefined.`);continue}const ne=this[E];if(ne===void 0){console.warn(`THREE.Texture.setValues(): property '${E}' does not exist.`);continue}ne&&z&&ne.isVector2&&z.isVector2||ne&&z&&ne.isVector3&&z.isVector3||ne&&z&&ne.isMatrix3&&z.isMatrix3?ne.copy(z):this[E]=z}}toJSON(y){const E=y===void 0||typeof y=="string";if(!E&&y.textures[this.uuid]!==void 0)return y.textures[this.uuid];const z={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(y).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(z.userData=this.userData),E||(y.textures[this.uuid]=z),z}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(y){if(this.mapping!==i0)return y;if(y.applyMatrix3(this.matrix),y.x<0||y.x>1)switch(this.wrapS){case ih:y.x=y.x-Math.floor(y.x);break;case bh:y.x=y.x<0?0:1;break;case Sp:Math.abs(Math.floor(y.x)%2)===1?y.x=Math.ceil(y.x)-y.x:y.x=y.x-Math.floor(y.x);break}if(y.y<0||y.y>1)switch(this.wrapT){case ih:y.y=y.y-Math.floor(y.y);break;case bh:y.y=y.y<0?0:1;break;case Sp:Math.abs(Math.floor(y.y)%2)===1?y.y=Math.ceil(y.y)-y.y:y.y=y.y-Math.floor(y.y);break}return this.flipY&&(y.y=1-y.y),y}set needsUpdate(y){y===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(y){y===!0&&this.pmremVersion++}}Ec.DEFAULT_IMAGE=null,Ec.DEFAULT_MAPPING=i0,Ec.DEFAULT_ANISOTROPY=1;class Ks{constructor(y=0,E=0,z=0,ne=1){Ks.prototype.isVector4=!0,this.x=y,this.y=E,this.z=z,this.w=ne}get width(){return this.z}set width(y){this.z=y}get height(){return this.w}set height(y){this.w=y}set(y,E,z,ne){return this.x=y,this.y=E,this.z=z,this.w=ne,this}setScalar(y){return this.x=y,this.y=y,this.z=y,this.w=y,this}setX(y){return this.x=y,this}setY(y){return this.y=y,this}setZ(y){return this.z=y,this}setW(y){return this.w=y,this}setComponent(y,E){switch(y){case 0:this.x=E;break;case 1:this.y=E;break;case 2:this.z=E;break;case 3:this.w=E;break;default:throw new Error("index is out of range: "+y)}return this}getComponent(y){switch(y){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: "+y)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(y){return this.x=y.x,this.y=y.y,this.z=y.z,this.w=y.w!==void 0?y.w:1,this}add(y){return this.x+=y.x,this.y+=y.y,this.z+=y.z,this.w+=y.w,this}addScalar(y){return this.x+=y,this.y+=y,this.z+=y,this.w+=y,this}addVectors(y,E){return this.x=y.x+E.x,this.y=y.y+E.y,this.z=y.z+E.z,this.w=y.w+E.w,this}addScaledVector(y,E){return this.x+=y.x*E,this.y+=y.y*E,this.z+=y.z*E,this.w+=y.w*E,this}sub(y){return this.x-=y.x,this.y-=y.y,this.z-=y.z,this.w-=y.w,this}subScalar(y){return this.x-=y,this.y-=y,this.z-=y,this.w-=y,this}subVectors(y,E){return this.x=y.x-E.x,this.y=y.y-E.y,this.z=y.z-E.z,this.w=y.w-E.w,this}multiply(y){return this.x*=y.x,this.y*=y.y,this.z*=y.z,this.w*=y.w,this}multiplyScalar(y){return this.x*=y,this.y*=y,this.z*=y,this.w*=y,this}applyMatrix4(y){const E=this.x,z=this.y,ne=this.z,ie=this.w,se=y.elements;return this.x=se[0]*E+se[4]*z+se[8]*ne+se[12]*ie,this.y=se[1]*E+se[5]*z+se[9]*ne+se[13]*ie,this.z=se[2]*E+se[6]*z+se[10]*ne+se[14]*ie,this.w=se[3]*E+se[7]*z+se[11]*ne+se[15]*ie,this}divide(y){return this.x/=y.x,this.y/=y.y,this.z/=y.z,this.w/=y.w,this}divideScalar(y){return this.multiplyScalar(1/y)}setAxisAngleFromQuaternion(y){this.w=2*Math.acos(y.w);const E=Math.sqrt(1-y.w*y.w);return E<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=y.x/E,this.y=y.y/E,this.z=y.z/E),this}setAxisAngleFromRotationMatrix(y){let E,z,ne,ie;const de=y.elements,ge=de[0],ve=de[4],xe=de[8],Se=de[1],Me=de[5],De=de[9],Oe=de[2],Re=de[6],Le=de[10];if(Math.abs(ve-Se)<.01&&Math.abs(xe-Oe)<.01&&Math.abs(De-Re)<.01){if(Math.abs(ve+Se)<.1&&Math.abs(xe+Oe)<.1&&Math.abs(De+Re)<.1&&Math.abs(ge+Me+Le-3)<.1)return this.set(1,0,0,0),this;E=Math.PI;const Xe=(ge+1)/2,Ze=(Me+1)/2,it=(Le+1)/2,et=(ve+Se)/4,ht=(xe+Oe)/4,lt=(De+Re)/4;return Xe>Ze&&Xe>it?Xe<.01?(z=0,ne=.707106781,ie=.707106781):(z=Math.sqrt(Xe),ne=et/z,ie=ht/z):Ze>it?Ze<.01?(z=.707106781,ne=0,ie=.707106781):(ne=Math.sqrt(Ze),z=et/ne,ie=lt/ne):it<.01?(z=.707106781,ne=.707106781,ie=0):(ie=Math.sqrt(it),z=ht/ie,ne=lt/ie),this.set(z,ne,ie,E),this}let Qe=Math.sqrt((Re-De)*(Re-De)+(xe-Oe)*(xe-Oe)+(Se-ve)*(Se-ve));return Math.abs(Qe)<.001&&(Qe=1),this.x=(Re-De)/Qe,this.y=(xe-Oe)/Qe,this.z=(Se-ve)/Qe,this.w=Math.acos((ge+Me+Le-1)/2),this}setFromMatrixPosition(y){const E=y.elements;return this.x=E[12],this.y=E[13],this.z=E[14],this.w=E[15],this}min(y){return this.x=Math.min(this.x,y.x),this.y=Math.min(this.y,y.y),this.z=Math.min(this.z,y.z),this.w=Math.min(this.w,y.w),this}max(y){return this.x=Math.max(this.x,y.x),this.y=Math.max(this.y,y.y),this.z=Math.max(this.z,y.z),this.w=Math.max(this.w,y.w),this}clamp(y,E){return this.x=_a(this.x,y.x,E.x),this.y=_a(this.y,y.y,E.y),this.z=_a(this.z,y.z,E.z),this.w=_a(this.w,y.w,E.w),this}clampScalar(y,E){return this.x=_a(this.x,y,E),this.y=_a(this.y,y,E),this.z=_a(this.z,y,E),this.w=_a(this.w,y,E),this}clampLength(y,E){const z=this.length();return this.divideScalar(z||1).multiplyScalar(_a(z,y,E))}floor(){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(){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(){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(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(y){return this.x*y.x+this.y*y.y+this.z*y.z+this.w*y.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(y){return this.normalize().multiplyScalar(y)}lerp(y,E){return this.x+=(y.x-this.x)*E,this.y+=(y.y-this.y)*E,this.z+=(y.z-this.z)*E,this.w+=(y.w-this.w)*E,this}lerpVectors(y,E,z){return this.x=y.x+(E.x-y.x)*z,this.y=y.y+(E.y-y.y)*z,this.z=y.z+(E.z-y.z)*z,this.w=y.w+(E.w-y.w)*z,this}equals(y){return y.x===this.x&&y.y===this.y&&y.z===this.z&&y.w===this.w}fromArray(y,E=0){return this.x=y[E],this.y=y[E+1],this.z=y[E+2],this.w=y[E+3],this}toArray(y=[],E=0){return y[E]=this.x,y[E+1]=this.y,y[E+2]=this.z,y[E+3]=this.w,y}fromBufferAttribute(y,E){return this.x=y.getX(E),this.y=y.getY(E),this.z=y.getZ(E),this.w=y.getW(E),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class Np extends Ed{constructor(y=1,E=1,z={}){super(),z=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:tu,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},z),this.isRenderTarget=!0,this.width=y,this.height=E,this.depth=z.depth,this.scissor=new Ks(0,0,y,E),this.scissorTest=!1,this.viewport=new Ks(0,0,y,E);const ne={width:y,height:E,depth:z.depth},ie=new Ec(ne);this.textures=[];const se=z.count;for(let le=0;le1;this.dispose()}this.viewport.set(0,0,y,E),this.scissor.set(0,0,y,E)}clone(){return new this.constructor().copy(this)}copy(y){this.width=y.width,this.height=y.height,this.depth=y.depth,this.scissor.copy(y.scissor),this.scissorTest=y.scissorTest,this.viewport.copy(y.viewport),this.textures.length=0;for(let E=0,z=y.textures.length;E=this.min.x&&y.x<=this.max.x&&y.y>=this.min.y&&y.y<=this.max.y&&y.z>=this.min.z&&y.z<=this.max.z}containsBox(y){return this.min.x<=y.min.x&&y.max.x<=this.max.x&&this.min.y<=y.min.y&&y.max.y<=this.max.y&&this.min.z<=y.min.z&&y.max.z<=this.max.z}getParameter(y,E){return E.set((y.x-this.min.x)/(this.max.x-this.min.x),(y.y-this.min.y)/(this.max.y-this.min.y),(y.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(y){return y.max.x>=this.min.x&&y.min.x<=this.max.x&&y.max.y>=this.min.y&&y.min.y<=this.max.y&&y.max.z>=this.min.z&&y.min.z<=this.max.z}intersectsSphere(y){return this.clampPoint(y.center,Tn),Tn.distanceToSquared(y.center)<=y.radius*y.radius}intersectsPlane(y){let E,z;return y.normal.x>0?(E=y.normal.x*this.min.x,z=y.normal.x*this.max.x):(E=y.normal.x*this.max.x,z=y.normal.x*this.min.x),y.normal.y>0?(E+=y.normal.y*this.min.y,z+=y.normal.y*this.max.y):(E+=y.normal.y*this.max.y,z+=y.normal.y*this.min.y),y.normal.z>0?(E+=y.normal.z*this.min.z,z+=y.normal.z*this.max.z):(E+=y.normal.z*this.max.z,z+=y.normal.z*this.min.z),E<=-y.constant&&z>=-y.constant}intersectsTriangle(y){if(this.isEmpty())return!1;this.getCenter(w1),XP.subVectors(this.max,w1),ex.subVectors(y.a,w1),Fv.subVectors(y.b,w1),tx.subVectors(y.c,w1),A0.subVectors(Fv,ex),Bd.subVectors(tx,Fv),Pg.subVectors(ex,tx);let E=[0,-A0.z,A0.y,0,-Bd.z,Bd.y,0,-Pg.z,Pg.y,A0.z,0,-A0.x,Bd.z,0,-Bd.x,Pg.z,0,-Pg.x,-A0.y,A0.x,0,-Bd.y,Bd.x,0,-Pg.y,Pg.x,0];return!WP(E,ex,Fv,tx,XP)||(E=[1,0,0,0,1,0,0,0,1],!WP(E,ex,Fv,tx,XP))?!1:(Ww.crossVectors(A0,Bd),E=[Ww.x,Ww.y,Ww.z],WP(E,ex,Fv,tx,XP))}clampPoint(y,E){return E.copy(y).clamp(this.min,this.max)}distanceToPoint(y){return this.clampPoint(y,Tn).distanceTo(y)}getBoundingSphere(y){return this.isEmpty()?y.makeEmpty():(this.getCenter(y.center),y.radius=this.getSize(Tn).length()*.5),y}intersect(y){return this.min.max(y.min),this.max.min(y.max),this.isEmpty()&&this.makeEmpty(),this}union(y){return this.min.min(y.min),this.max.max(y.max),this}applyMatrix4(y){return this.isEmpty()?this:(qg[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(y),qg[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(y),qg[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(y),qg[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(y),qg[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(y),qg[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(y),qg[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(y),qg[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(y),this.setFromPoints(qg),this)}translate(y){return this.min.add(y),this.max.add(y),this}equals(y){return y.min.equals(this.min)&&y.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(y){return this.min.fromArray(y.min),this.max.fromArray(y.max),this}}const qg=[new Vt,new Vt,new Vt,new Vt,new Vt,new Vt,new Vt,new Vt],Tn=new Vt,x1=new Md,ex=new Vt,Fv=new Vt,tx=new Vt,A0=new Vt,Bd=new Vt,Pg=new Vt,w1=new Vt,XP=new Vt,Ww=new Vt,ky=new Vt;function WP(ee,y,E,z,ne){for(let ie=0,se=ee.length-3;ie<=se;ie+=3){ky.fromArray(ee,ie);const le=ne.x*Math.abs(ky.x)+ne.y*Math.abs(ky.y)+ne.z*Math.abs(ky.z),de=y.dot(ky),ge=E.dot(ky),ve=z.dot(ky);if(Math.max(-Math.max(de,ge,ve),Math.min(de,ge,ve))>le)return!1}return!0}const x0=new Md,nx=new Vt,Qw=new Vt;class sd{constructor(y=new Vt,E=-1){this.isSphere=!0,this.center=y,this.radius=E}set(y,E){return this.center.copy(y),this.radius=E,this}setFromPoints(y,E){const z=this.center;E!==void 0?z.copy(E):x0.setFromPoints(y).getCenter(z);let ne=0;for(let ie=0,se=y.length;iethis.radius*this.radius&&(E.sub(this.center).normalize(),E.multiplyScalar(this.radius).add(this.center)),E}getBoundingBox(y){return this.isEmpty()?(y.makeEmpty(),y):(y.set(this.center,this.center),y.expandByScalar(this.radius),y)}applyMatrix4(y){return this.center.applyMatrix4(y),this.radius=this.radius*y.getMaxScaleOnAxis(),this}translate(y){return this.center.add(y),this}expandByPoint(y){if(this.isEmpty())return this.center.copy(y),this.radius=0,this;nx.subVectors(y,this.center);const E=nx.lengthSq();if(E>this.radius*this.radius){const z=Math.sqrt(E),ne=(z-this.radius)*.5;this.center.addScaledVector(nx,ne/z),this.radius+=ne}return this}union(y){return y.isEmpty()?this:this.isEmpty()?(this.copy(y),this):(this.center.equals(y.center)===!0?this.radius=Math.max(this.radius,y.radius):(Qw.subVectors(y.center,this.center).setLength(y.radius),this.expandByPoint(nx.copy(y.center).add(Qw)),this.expandByPoint(nx.copy(y.center).sub(Qw))),this)}equals(y){return y.center.equals(this.center)&&y.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(y){return this.radius=y.radius,this.center.fromArray(y.center),this}}const vm=new Vt,QP=new Vt,Yw=new Vt,Lv=new Vt,Td=new Vt,YP=new Vt,ix=new Vt;class rx{constructor(y=new Vt,E=new Vt(0,0,-1)){this.origin=y,this.direction=E}set(y,E){return this.origin.copy(y),this.direction.copy(E),this}copy(y){return this.origin.copy(y.origin),this.direction.copy(y.direction),this}at(y,E){return E.copy(this.origin).addScaledVector(this.direction,y)}lookAt(y){return this.direction.copy(y).sub(this.origin).normalize(),this}recast(y){return this.origin.copy(this.at(y,vm)),this}closestPointToPoint(y,E){E.subVectors(y,this.origin);const z=E.dot(this.direction);return z<0?E.copy(this.origin):E.copy(this.origin).addScaledVector(this.direction,z)}distanceToPoint(y){return Math.sqrt(this.distanceSqToPoint(y))}distanceSqToPoint(y){const E=vm.subVectors(y,this.origin).dot(this.direction);return E<0?this.origin.distanceToSquared(y):(vm.copy(this.origin).addScaledVector(this.direction,E),vm.distanceToSquared(y))}distanceSqToSegment(y,E,z,ne){QP.copy(y).add(E).multiplyScalar(.5),Yw.copy(E).sub(y).normalize(),Lv.copy(this.origin).sub(QP);const ie=y.distanceTo(E)*.5,se=-this.direction.dot(Yw),le=Lv.dot(this.direction),de=-Lv.dot(Yw),ge=Lv.lengthSq(),ve=Math.abs(1-se*se);let xe,Se,Me,De;if(ve>0)if(xe=se*de-le,Se=se*le-de,De=ie*ve,xe>=0)if(Se>=-De)if(Se<=De){const Oe=1/ve;xe*=Oe,Se*=Oe,Me=xe*(xe+se*Se+2*le)+Se*(se*xe+Se+2*de)+ge}else Se=ie,xe=Math.max(0,-(se*Se+le)),Me=-xe*xe+Se*(Se+2*de)+ge;else Se=-ie,xe=Math.max(0,-(se*Se+le)),Me=-xe*xe+Se*(Se+2*de)+ge;else Se<=-De?(xe=Math.max(0,-(-se*ie+le)),Se=xe>0?-ie:Math.min(Math.max(-ie,-de),ie),Me=-xe*xe+Se*(Se+2*de)+ge):Se<=De?(xe=0,Se=Math.min(Math.max(-ie,-de),ie),Me=Se*(Se+2*de)+ge):(xe=Math.max(0,-(se*ie+le)),Se=xe>0?ie:Math.min(Math.max(-ie,-de),ie),Me=-xe*xe+Se*(Se+2*de)+ge);else Se=se>0?-ie:ie,xe=Math.max(0,-(se*Se+le)),Me=-xe*xe+Se*(Se+2*de)+ge;return z&&z.copy(this.origin).addScaledVector(this.direction,xe),ne&&ne.copy(QP).addScaledVector(Yw,Se),Me}intersectSphere(y,E){vm.subVectors(y.center,this.origin);const z=vm.dot(this.direction),ne=vm.dot(vm)-z*z,ie=y.radius*y.radius;if(ne>ie)return null;const se=Math.sqrt(ie-ne),le=z-se,de=z+se;return de<0?null:le<0?this.at(de,E):this.at(le,E)}intersectsSphere(y){return y.radius<0?!1:this.distanceSqToPoint(y.center)<=y.radius*y.radius}distanceToPlane(y){const E=y.normal.dot(this.direction);if(E===0)return y.distanceToPoint(this.origin)===0?0:null;const z=-(this.origin.dot(y.normal)+y.constant)/E;return z>=0?z:null}intersectPlane(y,E){const z=this.distanceToPlane(y);return z===null?null:this.at(z,E)}intersectsPlane(y){const E=y.distanceToPoint(this.origin);return E===0||y.normal.dot(this.direction)*E<0}intersectBox(y,E){let z,ne,ie,se,le,de;const ge=1/this.direction.x,ve=1/this.direction.y,xe=1/this.direction.z,Se=this.origin;return ge>=0?(z=(y.min.x-Se.x)*ge,ne=(y.max.x-Se.x)*ge):(z=(y.max.x-Se.x)*ge,ne=(y.min.x-Se.x)*ge),ve>=0?(ie=(y.min.y-Se.y)*ve,se=(y.max.y-Se.y)*ve):(ie=(y.max.y-Se.y)*ve,se=(y.min.y-Se.y)*ve),z>se||ie>ne||((ie>z||isNaN(z))&&(z=ie),(se=0?(le=(y.min.z-Se.z)*xe,de=(y.max.z-Se.z)*xe):(le=(y.max.z-Se.z)*xe,de=(y.min.z-Se.z)*xe),z>de||le>ne)||((le>z||z!==z)&&(z=le),(de=0?z:ne,E)}intersectsBox(y){return this.intersectBox(y,vm)!==null}intersectTriangle(y,E,z,ne,ie){Td.subVectors(E,y),YP.subVectors(z,y),ix.crossVectors(Td,YP);let se=this.direction.dot(ix),le;if(se>0){if(ne)return null;le=1}else if(se<0)le=-1,se=-se;else return null;Lv.subVectors(this.origin,y);const de=le*this.direction.dot(YP.crossVectors(Lv,YP));if(de<0)return null;const ge=le*this.direction.dot(Td.cross(Lv));if(ge<0||de+ge>se)return null;const ve=-le*Lv.dot(ix);return ve<0?null:this.at(ve/se,ie)}applyMatrix4(y){return this.origin.applyMatrix4(y),this.direction.transformDirection(y),this}equals(y){return y.origin.equals(this.origin)&&y.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class rs{constructor(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re){rs.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],y!==void 0&&this.set(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re)}set(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re){const Le=this.elements;return Le[0]=y,Le[4]=E,Le[8]=z,Le[12]=ne,Le[1]=ie,Le[5]=se,Le[9]=le,Le[13]=de,Le[2]=ge,Le[6]=ve,Le[10]=xe,Le[14]=Se,Le[3]=Me,Le[7]=De,Le[11]=Oe,Le[15]=Re,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new rs().fromArray(this.elements)}copy(y){const E=this.elements,z=y.elements;return E[0]=z[0],E[1]=z[1],E[2]=z[2],E[3]=z[3],E[4]=z[4],E[5]=z[5],E[6]=z[6],E[7]=z[7],E[8]=z[8],E[9]=z[9],E[10]=z[10],E[11]=z[11],E[12]=z[12],E[13]=z[13],E[14]=z[14],E[15]=z[15],this}copyPosition(y){const E=this.elements,z=y.elements;return E[12]=z[12],E[13]=z[13],E[14]=z[14],this}setFromMatrix3(y){const E=y.elements;return this.set(E[0],E[3],E[6],0,E[1],E[4],E[7],0,E[2],E[5],E[8],0,0,0,0,1),this}extractBasis(y,E,z){return y.setFromMatrixColumn(this,0),E.setFromMatrixColumn(this,1),z.setFromMatrixColumn(this,2),this}makeBasis(y,E,z){return this.set(y.x,E.x,z.x,0,y.y,E.y,z.y,0,y.z,E.z,z.z,0,0,0,0,1),this}extractRotation(y){const E=this.elements,z=y.elements,ne=1/zy.setFromMatrixColumn(y,0).length(),ie=1/zy.setFromMatrixColumn(y,1).length(),se=1/zy.setFromMatrixColumn(y,2).length();return E[0]=z[0]*ne,E[1]=z[1]*ne,E[2]=z[2]*ne,E[3]=0,E[4]=z[4]*ie,E[5]=z[5]*ie,E[6]=z[6]*ie,E[7]=0,E[8]=z[8]*se,E[9]=z[9]*se,E[10]=z[10]*se,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,this}makeRotationFromEuler(y){const E=this.elements,z=y.x,ne=y.y,ie=y.z,se=Math.cos(z),le=Math.sin(z),de=Math.cos(ne),ge=Math.sin(ne),ve=Math.cos(ie),xe=Math.sin(ie);if(y.order==="XYZ"){const Se=se*ve,Me=se*xe,De=le*ve,Oe=le*xe;E[0]=de*ve,E[4]=-de*xe,E[8]=ge,E[1]=Me+De*ge,E[5]=Se-Oe*ge,E[9]=-le*de,E[2]=Oe-Se*ge,E[6]=De+Me*ge,E[10]=se*de}else if(y.order==="YXZ"){const Se=de*ve,Me=de*xe,De=ge*ve,Oe=ge*xe;E[0]=Se+Oe*le,E[4]=De*le-Me,E[8]=se*ge,E[1]=se*xe,E[5]=se*ve,E[9]=-le,E[2]=Me*le-De,E[6]=Oe+Se*le,E[10]=se*de}else if(y.order==="ZXY"){const Se=de*ve,Me=de*xe,De=ge*ve,Oe=ge*xe;E[0]=Se-Oe*le,E[4]=-se*xe,E[8]=De+Me*le,E[1]=Me+De*le,E[5]=se*ve,E[9]=Oe-Se*le,E[2]=-se*ge,E[6]=le,E[10]=se*de}else if(y.order==="ZYX"){const Se=se*ve,Me=se*xe,De=le*ve,Oe=le*xe;E[0]=de*ve,E[4]=De*ge-Me,E[8]=Se*ge+Oe,E[1]=de*xe,E[5]=Oe*ge+Se,E[9]=Me*ge-De,E[2]=-ge,E[6]=le*de,E[10]=se*de}else if(y.order==="YZX"){const Se=se*de,Me=se*ge,De=le*de,Oe=le*ge;E[0]=de*ve,E[4]=Oe-Se*xe,E[8]=De*xe+Me,E[1]=xe,E[5]=se*ve,E[9]=-le*ve,E[2]=-ge*ve,E[6]=Me*xe+De,E[10]=Se-Oe*xe}else if(y.order==="XZY"){const Se=se*de,Me=se*ge,De=le*de,Oe=le*ge;E[0]=de*ve,E[4]=-xe,E[8]=ge*ve,E[1]=Se*xe+Oe,E[5]=se*ve,E[9]=Me*xe-De,E[2]=De*xe-Me,E[6]=le*ve,E[10]=Oe*xe+Se}return E[3]=0,E[7]=0,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,this}makeRotationFromQuaternion(y){return this.compose(Sb,y,ZP)}lookAt(y,E,z){const ne=this.elements;return Cg.subVectors(y,E),Cg.lengthSq()===0&&(Cg.z=1),Cg.normalize(),Hh.crossVectors(z,Cg),Hh.lengthSq()===0&&(Math.abs(z.z)===1?Cg.x+=1e-4:Cg.z+=1e-4,Cg.normalize(),Hh.crossVectors(z,Cg)),Hh.normalize(),Zw.crossVectors(Cg,Hh),ne[0]=Hh.x,ne[4]=Zw.x,ne[8]=Cg.x,ne[1]=Hh.y,ne[5]=Zw.y,ne[9]=Cg.y,ne[2]=Hh.z,ne[6]=Zw.z,ne[10]=Cg.z,this}multiply(y){return this.multiplyMatrices(this,y)}premultiply(y){return this.multiplyMatrices(y,this)}multiplyMatrices(y,E){const z=y.elements,ne=E.elements,ie=this.elements,se=z[0],le=z[4],de=z[8],ge=z[12],ve=z[1],xe=z[5],Se=z[9],Me=z[13],De=z[2],Oe=z[6],Re=z[10],Le=z[14],Qe=z[3],Xe=z[7],Ze=z[11],it=z[15],et=ne[0],ht=ne[4],lt=ne[8],ot=ne[12],rt=ne[1],Mt=ne[5],Xt=ne[9],cn=ne[13],Cn=ne[2],En=ne[6],Zn=ne[10],ti=ne[14],bn=ne[3],rn=ne[7],li=ne[11],Dn=ne[15];return ie[0]=se*et+le*rt+de*Cn+ge*bn,ie[4]=se*ht+le*Mt+de*En+ge*rn,ie[8]=se*lt+le*Xt+de*Zn+ge*li,ie[12]=se*ot+le*cn+de*ti+ge*Dn,ie[1]=ve*et+xe*rt+Se*Cn+Me*bn,ie[5]=ve*ht+xe*Mt+Se*En+Me*rn,ie[9]=ve*lt+xe*Xt+Se*Zn+Me*li,ie[13]=ve*ot+xe*cn+Se*ti+Me*Dn,ie[2]=De*et+Oe*rt+Re*Cn+Le*bn,ie[6]=De*ht+Oe*Mt+Re*En+Le*rn,ie[10]=De*lt+Oe*Xt+Re*Zn+Le*li,ie[14]=De*ot+Oe*cn+Re*ti+Le*Dn,ie[3]=Qe*et+Xe*rt+Ze*Cn+it*bn,ie[7]=Qe*ht+Xe*Mt+Ze*En+it*rn,ie[11]=Qe*lt+Xe*Xt+Ze*Zn+it*li,ie[15]=Qe*ot+Xe*cn+Ze*ti+it*Dn,this}multiplyScalar(y){const E=this.elements;return E[0]*=y,E[4]*=y,E[8]*=y,E[12]*=y,E[1]*=y,E[5]*=y,E[9]*=y,E[13]*=y,E[2]*=y,E[6]*=y,E[10]*=y,E[14]*=y,E[3]*=y,E[7]*=y,E[11]*=y,E[15]*=y,this}determinant(){const y=this.elements,E=y[0],z=y[4],ne=y[8],ie=y[12],se=y[1],le=y[5],de=y[9],ge=y[13],ve=y[2],xe=y[6],Se=y[10],Me=y[14],De=y[3],Oe=y[7],Re=y[11],Le=y[15];return De*(+ie*de*xe-ne*ge*xe-ie*le*Se+z*ge*Se+ne*le*Me-z*de*Me)+Oe*(+E*de*Me-E*ge*Se+ie*se*Se-ne*se*Me+ne*ge*ve-ie*de*ve)+Re*(+E*ge*xe-E*le*Me-ie*se*xe+z*se*Me+ie*le*ve-z*ge*ve)+Le*(-ne*le*ve-E*de*xe+E*le*Se+ne*se*xe-z*se*Se+z*de*ve)}transpose(){const y=this.elements;let E;return E=y[1],y[1]=y[4],y[4]=E,E=y[2],y[2]=y[8],y[8]=E,E=y[6],y[6]=y[9],y[9]=E,E=y[3],y[3]=y[12],y[12]=E,E=y[7],y[7]=y[13],y[13]=E,E=y[11],y[11]=y[14],y[14]=E,this}setPosition(y,E,z){const ne=this.elements;return y.isVector3?(ne[12]=y.x,ne[13]=y.y,ne[14]=y.z):(ne[12]=y,ne[13]=E,ne[14]=z),this}invert(){const y=this.elements,E=y[0],z=y[1],ne=y[2],ie=y[3],se=y[4],le=y[5],de=y[6],ge=y[7],ve=y[8],xe=y[9],Se=y[10],Me=y[11],De=y[12],Oe=y[13],Re=y[14],Le=y[15],Qe=xe*Re*ge-Oe*Se*ge+Oe*de*Me-le*Re*Me-xe*de*Le+le*Se*Le,Xe=De*Se*ge-ve*Re*ge-De*de*Me+se*Re*Me+ve*de*Le-se*Se*Le,Ze=ve*Oe*ge-De*xe*ge+De*le*Me-se*Oe*Me-ve*le*Le+se*xe*Le,it=De*xe*de-ve*Oe*de-De*le*Se+se*Oe*Se+ve*le*Re-se*xe*Re,et=E*Qe+z*Xe+ne*Ze+ie*it;if(et===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const ht=1/et;return y[0]=Qe*ht,y[1]=(Oe*Se*ie-xe*Re*ie-Oe*ne*Me+z*Re*Me+xe*ne*Le-z*Se*Le)*ht,y[2]=(le*Re*ie-Oe*de*ie+Oe*ne*ge-z*Re*ge-le*ne*Le+z*de*Le)*ht,y[3]=(xe*de*ie-le*Se*ie-xe*ne*ge+z*Se*ge+le*ne*Me-z*de*Me)*ht,y[4]=Xe*ht,y[5]=(ve*Re*ie-De*Se*ie+De*ne*Me-E*Re*Me-ve*ne*Le+E*Se*Le)*ht,y[6]=(De*de*ie-se*Re*ie-De*ne*ge+E*Re*ge+se*ne*Le-E*de*Le)*ht,y[7]=(se*Se*ie-ve*de*ie+ve*ne*ge-E*Se*ge-se*ne*Me+E*de*Me)*ht,y[8]=Ze*ht,y[9]=(De*xe*ie-ve*Oe*ie-De*z*Me+E*Oe*Me+ve*z*Le-E*xe*Le)*ht,y[10]=(se*Oe*ie-De*le*ie+De*z*ge-E*Oe*ge-se*z*Le+E*le*Le)*ht,y[11]=(ve*le*ie-se*xe*ie-ve*z*ge+E*xe*ge+se*z*Me-E*le*Me)*ht,y[12]=it*ht,y[13]=(ve*Oe*ne-De*xe*ne+De*z*Se-E*Oe*Se-ve*z*Re+E*xe*Re)*ht,y[14]=(De*le*ne-se*Oe*ne-De*z*de+E*Oe*de+se*z*Re-E*le*Re)*ht,y[15]=(se*xe*ne-ve*le*ne+ve*z*de-E*xe*de-se*z*Se+E*le*Se)*ht,this}scale(y){const E=this.elements,z=y.x,ne=y.y,ie=y.z;return E[0]*=z,E[4]*=ne,E[8]*=ie,E[1]*=z,E[5]*=ne,E[9]*=ie,E[2]*=z,E[6]*=ne,E[10]*=ie,E[3]*=z,E[7]*=ne,E[11]*=ie,this}getMaxScaleOnAxis(){const y=this.elements,E=y[0]*y[0]+y[1]*y[1]+y[2]*y[2],z=y[4]*y[4]+y[5]*y[5]+y[6]*y[6],ne=y[8]*y[8]+y[9]*y[9]+y[10]*y[10];return Math.sqrt(Math.max(E,z,ne))}makeTranslation(y,E,z){return y.isVector3?this.set(1,0,0,y.x,0,1,0,y.y,0,0,1,y.z,0,0,0,1):this.set(1,0,0,y,0,1,0,E,0,0,1,z,0,0,0,1),this}makeRotationX(y){const E=Math.cos(y),z=Math.sin(y);return this.set(1,0,0,0,0,E,-z,0,0,z,E,0,0,0,0,1),this}makeRotationY(y){const E=Math.cos(y),z=Math.sin(y);return this.set(E,0,z,0,0,1,0,0,-z,0,E,0,0,0,0,1),this}makeRotationZ(y){const E=Math.cos(y),z=Math.sin(y);return this.set(E,-z,0,0,z,E,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(y,E){const z=Math.cos(E),ne=Math.sin(E),ie=1-z,se=y.x,le=y.y,de=y.z,ge=ie*se,ve=ie*le;return this.set(ge*se+z,ge*le-ne*de,ge*de+ne*le,0,ge*le+ne*de,ve*le+z,ve*de-ne*se,0,ge*de-ne*le,ve*de+ne*se,ie*de*de+z,0,0,0,0,1),this}makeScale(y,E,z){return this.set(y,0,0,0,0,E,0,0,0,0,z,0,0,0,0,1),this}makeShear(y,E,z,ne,ie,se){return this.set(1,z,ie,0,y,1,se,0,E,ne,1,0,0,0,0,1),this}compose(y,E,z){const ne=this.elements,ie=E._x,se=E._y,le=E._z,de=E._w,ge=ie+ie,ve=se+se,xe=le+le,Se=ie*ge,Me=ie*ve,De=ie*xe,Oe=se*ve,Re=se*xe,Le=le*xe,Qe=de*ge,Xe=de*ve,Ze=de*xe,it=z.x,et=z.y,ht=z.z;return ne[0]=(1-(Oe+Le))*it,ne[1]=(Me+Ze)*it,ne[2]=(De-Xe)*it,ne[3]=0,ne[4]=(Me-Ze)*et,ne[5]=(1-(Se+Le))*et,ne[6]=(Re+Qe)*et,ne[7]=0,ne[8]=(De+Xe)*ht,ne[9]=(Re-Qe)*ht,ne[10]=(1-(Se+Oe))*ht,ne[11]=0,ne[12]=y.x,ne[13]=y.y,ne[14]=y.z,ne[15]=1,this}decompose(y,E,z){const ne=this.elements;let ie=zy.set(ne[0],ne[1],ne[2]).length();const se=zy.set(ne[4],ne[5],ne[6]).length(),le=zy.set(ne[8],ne[9],ne[10]).length();this.determinant()<0&&(ie=-ie),y.x=ne[12],y.y=ne[13],y.z=ne[14],_g.copy(this);const ge=1/ie,ve=1/se,xe=1/le;return _g.elements[0]*=ge,_g.elements[1]*=ge,_g.elements[2]*=ge,_g.elements[4]*=ve,_g.elements[5]*=ve,_g.elements[6]*=ve,_g.elements[8]*=xe,_g.elements[9]*=xe,_g.elements[10]*=xe,E.setFromRotationMatrix(_g),z.x=ie,z.y=se,z.z=le,this}makePerspective(y,E,z,ne,ie,se,le=Cd){const de=this.elements,ge=2*ie/(E-y),ve=2*ie/(z-ne),xe=(E+y)/(E-y),Se=(z+ne)/(z-ne);let Me,De;if(le===Cd)Me=-(se+ie)/(se-ie),De=-2*se*ie/(se-ie);else if(le===rd)Me=-se/(se-ie),De=-se*ie/(se-ie);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+le);return de[0]=ge,de[4]=0,de[8]=xe,de[12]=0,de[1]=0,de[5]=ve,de[9]=Se,de[13]=0,de[2]=0,de[6]=0,de[10]=Me,de[14]=De,de[3]=0,de[7]=0,de[11]=-1,de[15]=0,this}makeOrthographic(y,E,z,ne,ie,se,le=Cd){const de=this.elements,ge=1/(E-y),ve=1/(z-ne),xe=1/(se-ie),Se=(E+y)*ge,Me=(z+ne)*ve;let De,Oe;if(le===Cd)De=(se+ie)*xe,Oe=-2*xe;else if(le===rd)De=ie*xe,Oe=-1*xe;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+le);return de[0]=2*ge,de[4]=0,de[8]=0,de[12]=-Se,de[1]=0,de[5]=2*ve,de[9]=0,de[13]=-Me,de[2]=0,de[6]=0,de[10]=Oe,de[14]=-De,de[3]=0,de[7]=0,de[11]=0,de[15]=1,this}equals(y){const E=this.elements,z=y.elements;for(let ne=0;ne<16;ne++)if(E[ne]!==z[ne])return!1;return!0}fromArray(y,E=0){for(let z=0;z<16;z++)this.elements[z]=y[z+E];return this}toArray(y=[],E=0){const z=this.elements;return y[E]=z[0],y[E+1]=z[1],y[E+2]=z[2],y[E+3]=z[3],y[E+4]=z[4],y[E+5]=z[5],y[E+6]=z[6],y[E+7]=z[7],y[E+8]=z[8],y[E+9]=z[9],y[E+10]=z[10],y[E+11]=z[11],y[E+12]=z[12],y[E+13]=z[13],y[E+14]=z[14],y[E+15]=z[15],y}}const zy=new Vt,_g=new rs,Sb=new Vt(0,0,0),ZP=new Vt(1,1,1),Hh=new Vt,Zw=new Vt,Cg=new Vt,Tf=new rs,Ip=new Nu;class Pu{constructor(y=0,E=0,z=0,ne=Pu.DEFAULT_ORDER){this.isEuler=!0,this._x=y,this._y=E,this._z=z,this._order=ne}get x(){return this._x}set x(y){this._x=y,this._onChangeCallback()}get y(){return this._y}set y(y){this._y=y,this._onChangeCallback()}get z(){return this._z}set z(y){this._z=y,this._onChangeCallback()}get order(){return this._order}set order(y){this._order=y,this._onChangeCallback()}set(y,E,z,ne=this._order){return this._x=y,this._y=E,this._z=z,this._order=ne,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(y){return this._x=y._x,this._y=y._y,this._z=y._z,this._order=y._order,this._onChangeCallback(),this}setFromRotationMatrix(y,E=this._order,z=!0){const ne=y.elements,ie=ne[0],se=ne[4],le=ne[8],de=ne[1],ge=ne[5],ve=ne[9],xe=ne[2],Se=ne[6],Me=ne[10];switch(E){case"XYZ":this._y=Math.asin(_a(le,-1,1)),Math.abs(le)<.9999999?(this._x=Math.atan2(-ve,Me),this._z=Math.atan2(-se,ie)):(this._x=Math.atan2(Se,ge),this._z=0);break;case"YXZ":this._x=Math.asin(-_a(ve,-1,1)),Math.abs(ve)<.9999999?(this._y=Math.atan2(le,Me),this._z=Math.atan2(de,ge)):(this._y=Math.atan2(-xe,ie),this._z=0);break;case"ZXY":this._x=Math.asin(_a(Se,-1,1)),Math.abs(Se)<.9999999?(this._y=Math.atan2(-xe,Me),this._z=Math.atan2(-se,ge)):(this._y=0,this._z=Math.atan2(de,ie));break;case"ZYX":this._y=Math.asin(-_a(xe,-1,1)),Math.abs(xe)<.9999999?(this._x=Math.atan2(Se,Me),this._z=Math.atan2(de,ie)):(this._x=0,this._z=Math.atan2(-se,ge));break;case"YZX":this._z=Math.asin(_a(de,-1,1)),Math.abs(de)<.9999999?(this._x=Math.atan2(-ve,ge),this._y=Math.atan2(-xe,ie)):(this._x=0,this._y=Math.atan2(le,Me));break;case"XZY":this._z=Math.asin(-_a(se,-1,1)),Math.abs(se)<.9999999?(this._x=Math.atan2(Se,ge),this._y=Math.atan2(le,ie)):(this._x=Math.atan2(-ve,Me),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+E)}return this._order=E,z===!0&&this._onChangeCallback(),this}setFromQuaternion(y,E,z){return Tf.makeRotationFromQuaternion(y),this.setFromRotationMatrix(Tf,E,z)}setFromVector3(y,E=this._order){return this.set(y.x,y.y,y.z,E)}reorder(y){return Ip.setFromEuler(this),this.setFromQuaternion(Ip,y)}equals(y){return y._x===this._x&&y._y===this._y&&y._z===this._z&&y._order===this._order}fromArray(y){return this._x=y[0],this._y=y[1],this._z=y[2],y[3]!==void 0&&(this._order=y[3]),this._onChangeCallback(),this}toArray(y=[],E=0){return y[E]=this._x,y[E+1]=this._y,y[E+2]=this._z,y[E+3]=this._order,y}_onChange(y){return this._onChangeCallback=y,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Pu.DEFAULT_ORDER="XYZ";class Hl{constructor(){this.mask=1}set(y){this.mask=(1<>>0}enable(y){this.mask|=1<1){for(let E=0;E1){for(let z=0;z0&&(ne.userData=this.userData),ne.layers=this.layers.mask,ne.matrix=this.matrix.toArray(),ne.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(ne.matrixAutoUpdate=!1),this.isInstancedMesh&&(ne.type="InstancedMesh",ne.count=this.count,ne.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(ne.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(ne.type="BatchedMesh",ne.perObjectFrustumCulled=this.perObjectFrustumCulled,ne.sortObjects=this.sortObjects,ne.drawRanges=this._drawRanges,ne.reservedRanges=this._reservedRanges,ne.geometryInfo=this._geometryInfo.map(le=>NA(Sh({},le),{boundingBox:le.boundingBox?le.boundingBox.toJSON():void 0,boundingSphere:le.boundingSphere?le.boundingSphere.toJSON():void 0})),ne.instanceInfo=this._instanceInfo.map(le=>Sh({},le)),ne.availableInstanceIds=this._availableInstanceIds.slice(),ne.availableGeometryIds=this._availableGeometryIds.slice(),ne.nextIndexStart=this._nextIndexStart,ne.nextVertexStart=this._nextVertexStart,ne.geometryCount=this._geometryCount,ne.maxInstanceCount=this._maxInstanceCount,ne.maxVertexCount=this._maxVertexCount,ne.maxIndexCount=this._maxIndexCount,ne.geometryInitialized=this._geometryInitialized,ne.matricesTexture=this._matricesTexture.toJSON(y),ne.indirectTexture=this._indirectTexture.toJSON(y),this._colorsTexture!==null&&(ne.colorsTexture=this._colorsTexture.toJSON(y)),this.boundingSphere!==null&&(ne.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(ne.boundingBox=this.boundingBox.toJSON()));function ie(le,de){return le[de.uuid]===void 0&&(le[de.uuid]=de.toJSON(y)),de.uuid}if(this.isScene)this.background&&(this.background.isColor?ne.background=this.background.toJSON():this.background.isTexture&&(ne.background=this.background.toJSON(y).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(ne.environment=this.environment.toJSON(y).uuid);else if(this.isMesh||this.isLine||this.isPoints){ne.geometry=ie(y.geometries,this.geometry);const le=this.geometry.parameters;if(le!==void 0&&le.shapes!==void 0){const de=le.shapes;if(Array.isArray(de))for(let ge=0,ve=de.length;ge0){ne.children=[];for(let le=0;le0){ne.animations=[];for(let le=0;le0&&(z.geometries=le),de.length>0&&(z.materials=de),ge.length>0&&(z.textures=ge),ve.length>0&&(z.images=ve),xe.length>0&&(z.shapes=xe),Se.length>0&&(z.skeletons=Se),Me.length>0&&(z.animations=Me),De.length>0&&(z.nodes=De)}return z.object=ne,z;function se(le){const de=[];for(const ge in le){const ve=le[ge];delete ve.metadata,de.push(ve)}return de}}clone(y){return new this.constructor().copy(this,y)}copy(y,E=!0){if(this.name=y.name,this.up.copy(y.up),this.position.copy(y.position),this.rotation.order=y.rotation.order,this.quaternion.copy(y.quaternion),this.scale.copy(y.scale),this.matrix.copy(y.matrix),this.matrixWorld.copy(y.matrixWorld),this.matrixAutoUpdate=y.matrixAutoUpdate,this.matrixWorldAutoUpdate=y.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=y.matrixWorldNeedsUpdate,this.layers.mask=y.layers.mask,this.visible=y.visible,this.castShadow=y.castShadow,this.receiveShadow=y.receiveShadow,this.frustumCulled=y.frustumCulled,this.renderOrder=y.renderOrder,this.animations=y.animations.slice(),this.userData=JSON.parse(JSON.stringify(y.userData)),E===!0)for(let z=0;z0?ne.multiplyScalar(1/Math.sqrt(ie)):ne.set(0,0,0)}static getBarycoord(y,E,z,ne,ie){ep.subVectors(ne,E),Rs.subVectors(z,E),Kf.subVectors(y,E);const se=ep.dot(ep),le=ep.dot(Rs),de=ep.dot(Kf),ge=Rs.dot(Rs),ve=Rs.dot(Kf),xe=se*ge-le*le;if(xe===0)return ie.set(0,0,0),null;const Se=1/xe,Me=(ge*de-le*ve)*Se,De=(se*ve-le*de)*Se;return ie.set(1-Me-De,De,Me)}static containsPoint(y,E,z,ne){return this.getBarycoord(y,E,z,ne,w0)===null?!1:w0.x>=0&&w0.y>=0&&w0.x+w0.y<=1}static getInterpolation(y,E,z,ne,ie,se,le,de){return this.getBarycoord(y,E,z,ne,w0)===null?(de.x=0,de.y=0,"z"in de&&(de.z=0),"w"in de&&(de.w=0),null):(de.setScalar(0),de.addScaledVector(ie,w0.x),de.addScaledVector(se,w0.y),de.addScaledVector(le,w0.z),de)}static getInterpolatedAttribute(y,E,z,ne,ie,se){return _P.setScalar(0),P1.setScalar(0),C1.setScalar(0),_P.fromBufferAttribute(y,E),P1.fromBufferAttribute(y,z),C1.fromBufferAttribute(y,ne),se.setScalar(0),se.addScaledVector(_P,ie.x),se.addScaledVector(P1,ie.y),se.addScaledVector(C1,ie.z),se}static isFrontFacing(y,E,z,ne){return ep.subVectors(z,E),Rs.subVectors(y,E),ep.cross(Rs).dot(ne)<0}set(y,E,z){return this.a.copy(y),this.b.copy(E),this.c.copy(z),this}setFromPointsAndIndices(y,E,z,ne){return this.a.copy(y[E]),this.b.copy(y[z]),this.c.copy(y[ne]),this}setFromAttributeAndIndices(y,E,z,ne){return this.a.fromBufferAttribute(y,E),this.b.fromBufferAttribute(y,z),this.c.fromBufferAttribute(y,ne),this}clone(){return new this.constructor().copy(this)}copy(y){return this.a.copy(y.a),this.b.copy(y.b),this.c.copy(y.c),this}getArea(){return ep.subVectors(this.c,this.b),Rs.subVectors(this.a,this.b),ep.cross(Rs).length()*.5}getMidpoint(y){return y.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(y){return Jf.getNormal(this.a,this.b,this.c,y)}getPlane(y){return y.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(y,E){return Jf.getBarycoord(y,this.a,this.b,this.c,E)}getInterpolation(y,E,z,ne,ie){return Jf.getInterpolation(y,this.a,this.b,this.c,E,z,ne,ie)}containsPoint(y){return Jf.containsPoint(y,this.a,this.b,this.c)}isFrontFacing(y){return Jf.isFrontFacing(this.a,this.b,this.c,y)}intersectsBox(y){return y.intersectsTriangle(this)}closestPointToPoint(y,E){const z=this.a,ne=this.b,ie=this.c;let se,le;S0.subVectors(ne,z),Vy.subVectors(ie,z),nf.subVectors(y,z);const de=S0.dot(nf),ge=Vy.dot(nf);if(de<=0&&ge<=0)return E.copy(z);lx.subVectors(y,ne);const ve=S0.dot(lx),xe=Vy.dot(lx);if(ve>=0&&xe<=ve)return E.copy(ne);const Se=de*xe-ve*ge;if(Se<=0&&de>=0&&ve<=0)return se=de/(de-ve),E.copy(z).addScaledVector(S0,se);qP.subVectors(y,ie);const Me=S0.dot(qP),De=Vy.dot(qP);if(De>=0&&Me<=De)return E.copy(ie);const Oe=Me*ge-de*De;if(Oe<=0&&ge>=0&&De<=0)return le=ge/(ge-De),E.copy(z).addScaledVector(Vy,le);const Re=ve*De-Me*xe;if(Re<=0&&xe-ve>=0&&Me-De>=0)return ax.subVectors(ie,ne),le=(xe-ve)/(xe-ve+(Me-De)),E.copy(ne).addScaledVector(ax,le);const Le=1/(Re+Oe+Se);return se=Oe*Le,le=Se*Le,E.copy(z).addScaledVector(S0,se).addScaledVector(Vy,le)}equals(y){return y.a.equals(this.a)&&y.b.equals(this.b)&&y.c.equals(this.c)}}const Pb={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},P0={h:0,s:0,l:0},_w={h:0,s:0,l:0};function $w(ee,y,E){return E<0&&(E+=1),E>1&&(E-=1),E<1/6?ee+(y-ee)*6*E:E<1/2?y:E<2/3?ee+(y-ee)*6*(2/3-E):ee}class fo{constructor(y,E,z){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(y,E,z)}set(y,E,z){if(E===void 0&&z===void 0){const ne=y;ne&&ne.isColor?this.copy(ne):typeof ne=="number"?this.setHex(ne):typeof ne=="string"&&this.setStyle(ne)}else this.setRGB(y,E,z);return this}setScalar(y){return this.r=y,this.g=y,this.b=y,this}setHex(y,E=Pn){return y=Math.floor(y),this.r=(y>>16&255)/255,this.g=(y>>8&255)/255,this.b=(y&255)/255,ys.colorSpaceToWorking(this,E),this}setRGB(y,E,z,ne=ys.workingColorSpace){return this.r=y,this.g=E,this.b=z,ys.colorSpaceToWorking(this,ne),this}setHSL(y,E,z,ne=ys.workingColorSpace){if(y=RP(y,1),E=_a(E,0,1),z=_a(z,0,1),E===0)this.r=this.g=this.b=z;else{const ie=z<=.5?z*(1+E):z+E-z*E,se=2*z-ie;this.r=$w(se,ie,y+1/3),this.g=$w(se,ie,y),this.b=$w(se,ie,y-1/3)}return ys.colorSpaceToWorking(this,ne),this}setStyle(y,E=Pn){function z(ie){ie!==void 0&&parseFloat(ie)<1&&console.warn("THREE.Color: Alpha component of "+y+" will be ignored.")}let ne;if(ne=/^(\w+)\(([^\)]*)\)/.exec(y)){let ie;const se=ne[1],le=ne[2];switch(se){case"rgb":case"rgba":if(ie=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(le))return z(ie[4]),this.setRGB(Math.min(255,parseInt(ie[1],10))/255,Math.min(255,parseInt(ie[2],10))/255,Math.min(255,parseInt(ie[3],10))/255,E);if(ie=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(le))return z(ie[4]),this.setRGB(Math.min(100,parseInt(ie[1],10))/100,Math.min(100,parseInt(ie[2],10))/100,Math.min(100,parseInt(ie[3],10))/100,E);break;case"hsl":case"hsla":if(ie=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(le))return z(ie[4]),this.setHSL(parseFloat(ie[1])/360,parseFloat(ie[2])/100,parseFloat(ie[3])/100,E);break;default:console.warn("THREE.Color: Unknown color model "+y)}}else if(ne=/^\#([A-Fa-f\d]+)$/.exec(y)){const ie=ne[1],se=ie.length;if(se===3)return this.setRGB(parseInt(ie.charAt(0),16)/15,parseInt(ie.charAt(1),16)/15,parseInt(ie.charAt(2),16)/15,E);if(se===6)return this.setHex(parseInt(ie,16),E);console.warn("THREE.Color: Invalid hex color "+y)}else if(y&&y.length>0)return this.setColorName(y,E);return this}setColorName(y,E=Pn){const z=Pb[y.toLowerCase()];return z!==void 0?this.setHex(z,E):console.warn("THREE.Color: Unknown color "+y),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(y){return this.r=y.r,this.g=y.g,this.b=y.b,this}copySRGBToLinear(y){return this.r=Sg(y.r),this.g=Sg(y.g),this.b=Sg(y.b),this}copyLinearToSRGB(y){return this.r=pm(y.r),this.g=pm(y.g),this.b=pm(y.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(y=Pn){return ys.workingToColorSpace(Uh.copy(this),y),Math.round(_a(Uh.r*255,0,255))*65536+Math.round(_a(Uh.g*255,0,255))*256+Math.round(_a(Uh.b*255,0,255))}getHexString(y=Pn){return("000000"+this.getHex(y).toString(16)).slice(-6)}getHSL(y,E=ys.workingColorSpace){ys.workingToColorSpace(Uh.copy(this),E);const z=Uh.r,ne=Uh.g,ie=Uh.b,se=Math.max(z,ne,ie),le=Math.min(z,ne,ie);let de,ge;const ve=(le+se)/2;if(le===se)de=0,ge=0;else{const xe=se-le;switch(ge=ve<=.5?xe/(se+le):xe/(2-se-le),se){case z:de=(ne-ie)/xe+(ne0!=y>0&&this.version++,this._alphaTest=y}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(y){if(y!==void 0)for(const E in y){const z=y[E];if(z===void 0){console.warn(`THREE.Material: parameter '${E}' has value of undefined.`);continue}const ne=this[E];if(ne===void 0){console.warn(`THREE.Material: '${E}' is not a property of THREE.${this.type}.`);continue}ne&&ne.isColor?ne.set(z):ne&&ne.isVector3&&z&&z.isVector3?ne.copy(z):this[E]=z}}toJSON(y){const E=y===void 0||typeof y=="string";E&&(y={textures:{},images:{}});const z={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};z.uuid=this.uuid,z.type=this.type,this.name!==""&&(z.name=this.name),this.color&&this.color.isColor&&(z.color=this.color.getHex()),this.roughness!==void 0&&(z.roughness=this.roughness),this.metalness!==void 0&&(z.metalness=this.metalness),this.sheen!==void 0&&(z.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(z.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(z.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(z.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(z.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(z.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(z.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(z.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(z.shininess=this.shininess),this.clearcoat!==void 0&&(z.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(z.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(z.clearcoatMap=this.clearcoatMap.toJSON(y).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(z.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(y).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(z.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(y).uuid,z.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(z.dispersion=this.dispersion),this.iridescence!==void 0&&(z.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(z.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(z.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(z.iridescenceMap=this.iridescenceMap.toJSON(y).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(z.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(y).uuid),this.anisotropy!==void 0&&(z.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(z.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(z.anisotropyMap=this.anisotropyMap.toJSON(y).uuid),this.map&&this.map.isTexture&&(z.map=this.map.toJSON(y).uuid),this.matcap&&this.matcap.isTexture&&(z.matcap=this.matcap.toJSON(y).uuid),this.alphaMap&&this.alphaMap.isTexture&&(z.alphaMap=this.alphaMap.toJSON(y).uuid),this.lightMap&&this.lightMap.isTexture&&(z.lightMap=this.lightMap.toJSON(y).uuid,z.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(z.aoMap=this.aoMap.toJSON(y).uuid,z.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(z.bumpMap=this.bumpMap.toJSON(y).uuid,z.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(z.normalMap=this.normalMap.toJSON(y).uuid,z.normalMapType=this.normalMapType,z.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(z.displacementMap=this.displacementMap.toJSON(y).uuid,z.displacementScale=this.displacementScale,z.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(z.roughnessMap=this.roughnessMap.toJSON(y).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(z.metalnessMap=this.metalnessMap.toJSON(y).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(z.emissiveMap=this.emissiveMap.toJSON(y).uuid),this.specularMap&&this.specularMap.isTexture&&(z.specularMap=this.specularMap.toJSON(y).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(z.specularIntensityMap=this.specularIntensityMap.toJSON(y).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(z.specularColorMap=this.specularColorMap.toJSON(y).uuid),this.envMap&&this.envMap.isTexture&&(z.envMap=this.envMap.toJSON(y).uuid,this.combine!==void 0&&(z.combine=this.combine)),this.envMapRotation!==void 0&&(z.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(z.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(z.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(z.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(z.gradientMap=this.gradientMap.toJSON(y).uuid),this.transmission!==void 0&&(z.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(z.transmissionMap=this.transmissionMap.toJSON(y).uuid),this.thickness!==void 0&&(z.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(z.thicknessMap=this.thicknessMap.toJSON(y).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(z.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(z.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(z.size=this.size),this.shadowSide!==null&&(z.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(z.sizeAttenuation=this.sizeAttenuation),this.blending!==Eh&&(z.blending=this.blending),this.side!==$c&&(z.side=this.side),this.vertexColors===!0&&(z.vertexColors=!0),this.opacity<1&&(z.opacity=this.opacity),this.transparent===!0&&(z.transparent=!0),this.blendSrc!==Sy&&(z.blendSrc=this.blendSrc),this.blendDst!==Xg&&(z.blendDst=this.blendDst),this.blendEquation!==th&&(z.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(z.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(z.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(z.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(z.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(z.blendAlpha=this.blendAlpha),this.depthFunc!==nd&&(z.depthFunc=this.depthFunc),this.depthTest===!1&&(z.depthTest=this.depthTest),this.depthWrite===!1&&(z.depthWrite=this.depthWrite),this.colorWrite===!1&&(z.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(z.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Oc&&(z.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(z.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(z.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Nr&&(z.stencilFail=this.stencilFail),this.stencilZFail!==Nr&&(z.stencilZFail=this.stencilZFail),this.stencilZPass!==Nr&&(z.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(z.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(z.rotation=this.rotation),this.polygonOffset===!0&&(z.polygonOffset=!0),this.polygonOffsetFactor!==0&&(z.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(z.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(z.linewidth=this.linewidth),this.dashSize!==void 0&&(z.dashSize=this.dashSize),this.gapSize!==void 0&&(z.gapSize=this.gapSize),this.scale!==void 0&&(z.scale=this.scale),this.dithering===!0&&(z.dithering=!0),this.alphaTest>0&&(z.alphaTest=this.alphaTest),this.alphaHash===!0&&(z.alphaHash=!0),this.alphaToCoverage===!0&&(z.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(z.premultipliedAlpha=!0),this.forceSinglePass===!0&&(z.forceSinglePass=!0),this.wireframe===!0&&(z.wireframe=!0),this.wireframeLinewidth>1&&(z.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(z.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(z.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(z.flatShading=!0),this.visible===!1&&(z.visible=!1),this.toneMapped===!1&&(z.toneMapped=!1),this.fog===!1&&(z.fog=!1),Object.keys(this.userData).length>0&&(z.userData=this.userData);function ne(ie){const se=[];for(const le in ie){const de=ie[le];delete de.metadata,se.push(de)}return se}if(E){const ie=ne(y.textures),se=ne(y.images);ie.length>0&&(z.textures=ie),se.length>0&&(z.images=se)}return z}clone(){return new this.constructor().copy(this)}copy(y){this.name=y.name,this.blending=y.blending,this.side=y.side,this.vertexColors=y.vertexColors,this.opacity=y.opacity,this.transparent=y.transparent,this.blendSrc=y.blendSrc,this.blendDst=y.blendDst,this.blendEquation=y.blendEquation,this.blendSrcAlpha=y.blendSrcAlpha,this.blendDstAlpha=y.blendDstAlpha,this.blendEquationAlpha=y.blendEquationAlpha,this.blendColor.copy(y.blendColor),this.blendAlpha=y.blendAlpha,this.depthFunc=y.depthFunc,this.depthTest=y.depthTest,this.depthWrite=y.depthWrite,this.stencilWriteMask=y.stencilWriteMask,this.stencilFunc=y.stencilFunc,this.stencilRef=y.stencilRef,this.stencilFuncMask=y.stencilFuncMask,this.stencilFail=y.stencilFail,this.stencilZFail=y.stencilZFail,this.stencilZPass=y.stencilZPass,this.stencilWrite=y.stencilWrite;const E=y.clippingPlanes;let z=null;if(E!==null){const ne=E.length;z=new Array(ne);for(let ie=0;ie!==ne;++ie)z[ie]=E[ie].clone()}return this.clippingPlanes=z,this.clipIntersection=y.clipIntersection,this.clipShadows=y.clipShadows,this.shadowSide=y.shadowSide,this.colorWrite=y.colorWrite,this.precision=y.precision,this.polygonOffset=y.polygonOffset,this.polygonOffsetFactor=y.polygonOffsetFactor,this.polygonOffsetUnits=y.polygonOffsetUnits,this.dithering=y.dithering,this.alphaTest=y.alphaTest,this.alphaHash=y.alphaHash,this.alphaToCoverage=y.alphaToCoverage,this.premultipliedAlpha=y.premultipliedAlpha,this.forceSinglePass=y.forceSinglePass,this.visible=y.visible,this.toneMapped=y.toneMapped,this.userData=JSON.parse(JSON.stringify(y.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(y){y===!0&&this.version++}}class Vh extends rf{constructor(y){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new fo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pu,this.combine=WA,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.map=y.map,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.specularMap=y.specularMap,this.alphaMap=y.alphaMap,this.envMap=y.envMap,this.envMapRotation.copy(y.envMapRotation),this.combine=y.combine,this.reflectivity=y.reflectivity,this.refractionRatio=y.refractionRatio,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.fog=y.fog,this}}const C0=$P();function $P(){const ee=new ArrayBuffer(4),y=new Float32Array(ee),E=new Uint32Array(ee),z=new Uint32Array(512),ne=new Uint32Array(512);for(let de=0;de<256;++de){const ge=de-127;ge<-27?(z[de]=0,z[de|256]=32768,ne[de]=24,ne[de|256]=24):ge<-14?(z[de]=1024>>-ge-14,z[de|256]=1024>>-ge-14|32768,ne[de]=-ge-1,ne[de|256]=-ge-1):ge<=15?(z[de]=ge+15<<10,z[de|256]=ge+15<<10|32768,ne[de]=13,ne[de|256]=13):ge<128?(z[de]=31744,z[de|256]=64512,ne[de]=24,ne[de|256]=24):(z[de]=31744,z[de|256]=64512,ne[de]=13,ne[de|256]=13)}const ie=new Uint32Array(2048),se=new Uint32Array(64),le=new Uint32Array(64);for(let de=1;de<1024;++de){let ge=de<<13,ve=0;for(;!(ge&8388608);)ge<<=1,ve-=8388608;ge&=-8388609,ve+=947912704,ie[de]=ge|ve}for(let de=1024;de<2048;++de)ie[de]=939524096+(de-1024<<13);for(let de=1;de<31;++de)se[de]=de<<23;se[31]=1199570944,se[32]=2147483648;for(let de=33;de<63;++de)se[de]=2147483648+(de-32<<23);se[63]=3347054592;for(let de=1;de<64;++de)de!==32&&(le[de]=1024);return{floatView:y,uint32View:E,baseTable:z,shiftTable:ne,mantissaTable:ie,exponentTable:se,offsetTable:le}}function Df(ee){Math.abs(ee)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),ee=_a(ee,-65504,65504),C0.floatView[0]=ee;const y=C0.uint32View[0],E=y>>23&511;return C0.baseTable[E]+((y&8388607)>>C0.shiftTable[E])}function Iv(ee){const y=ee>>10;return C0.uint32View[0]=C0.mantissaTable[C0.offsetTable[y]+(ee&1023)]+C0.exponentTable[y],C0.floatView[0]}class CT{static toHalfFloat(y){return Df(y)}static fromHalfFloat(y){return Iv(y)}}const vl=new Vt,ux=new ki;let Mb=0;class wl{constructor(y,E,z=!1){if(Array.isArray(y))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:Mb++}),this.name="",this.array=y,this.itemSize=E,this.count=y!==void 0?y.length/E:0,this.normalized=z,this.usage=fu,this.updateRanges=[],this.gpuType=wu,this.version=0}onUploadCallback(){}set needsUpdate(y){y===!0&&this.version++}setUsage(y){return this.usage=y,this}addUpdateRange(y,E){this.updateRanges.push({start:y,count:E})}clearUpdateRanges(){this.updateRanges.length=0}copy(y){return this.name=y.name,this.array=new y.array.constructor(y.array),this.itemSize=y.itemSize,this.count=y.count,this.normalized=y.normalized,this.usage=y.usage,this.gpuType=y.gpuType,this}copyAt(y,E,z){y*=this.itemSize,z*=E.itemSize;for(let ne=0,ie=this.itemSize;neE.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),E.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Md);const y=this.attributes.position,E=this.morphAttributes.position;if(y&&y.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new Vt(-1/0,-1/0,-1/0),new Vt(1/0,1/0,1/0));return}if(y!==void 0){if(this.boundingBox.setFromBufferAttribute(y),E)for(let z=0,ne=E.length;z0&&(y.userData=this.userData),this.parameters!==void 0){const de=this.parameters;for(const ge in de)de[ge]!==void 0&&(y[ge]=de[ge]);return y}y.data={attributes:{}};const E=this.index;E!==null&&(y.data.index={type:E.array.constructor.name,array:Array.prototype.slice.call(E.array)});const z=this.attributes;for(const de in z){const ge=z[de];y.data.attributes[de]=ge.toJSON(y.data)}const ne={};let ie=!1;for(const de in this.morphAttributes){const ge=this.morphAttributes[de],ve=[];for(let xe=0,Se=ge.length;xe0&&(ne[de]=ve,ie=!0)}ie&&(y.data.morphAttributes=ne,y.data.morphTargetsRelative=this.morphTargetsRelative);const se=this.groups;se.length>0&&(y.data.groups=JSON.parse(JSON.stringify(se)));const le=this.boundingSphere;return le!==null&&(y.data.boundingSphere=le.toJSON()),y}clone(){return new this.constructor().copy(this)}copy(y){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const E={};this.name=y.name;const z=y.index;z!==null&&this.setIndex(z.clone());const ne=y.attributes;for(const ge in ne){const ve=ne[ge];this.setAttribute(ge,ve.clone(E))}const ie=y.morphAttributes;for(const ge in ie){const ve=[],xe=ie[ge];for(let Se=0,Me=xe.length;Se0){const ne=E[z[0]];if(ne!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let ie=0,se=ne.length;ieXL(y.far-y.near,2)))&&(Ac.copy(ie).invert(),Rv.copy(y.ray).applyMatrix4(Ac),!(z.boundingBox!==null&&Rv.intersectsBox(z.boundingBox)===!1)&&this._computeIntersections(y,E,Rv)))}_computeIntersections(y,E,z){let ne;const ie=this.geometry,se=this.material,le=ie.index,de=ie.attributes.position,ge=ie.attributes.uv,ve=ie.attributes.uv1,xe=ie.attributes.normal,Se=ie.groups,Me=ie.drawRange;if(le!==null)if(Array.isArray(se))for(let De=0,Oe=Se.length;DeE.far?null:{distance:ge,point:ym.clone(),object:ee}}function iS(ee,y,E,z,ne,ie,se,le,de,ge){ee.getVertexPosition(le,M1),ee.getVertexPosition(de,tC),ee.getVertexPosition(ge,cx);const ve=ZM(ee,y,E,z,M1,tC,cx,Nb);if(ve){const xe=new Vt;Jf.getBarycoord(Nb,M1,tC,cx,xe),ne&&(ve.uv=Jf.getInterpolatedAttribute(ne,le,de,ge,xe,new ki)),ie&&(ve.uv1=Jf.getInterpolatedAttribute(ie,le,de,ge,xe,new ki)),se&&(ve.normal=Jf.getInterpolatedAttribute(se,le,de,ge,xe,new Vt),ve.normal.dot(z.direction)>0&&ve.normal.multiplyScalar(-1));const Se={a:le,b:de,c:ge,normal:new Vt,materialIndex:0};Jf.getNormal(M1,tC,cx,Se.normal),ve.face=Se,ve.barycoord=xe}return ve}class Ov extends Ha{constructor(y=1,E=1,z=1,ne=1,ie=1,se=1){super(),this.type="BoxGeometry",this.parameters={width:y,height:E,depth:z,widthSegments:ne,heightSegments:ie,depthSegments:se};const le=this;ne=Math.floor(ne),ie=Math.floor(ie),se=Math.floor(se);const de=[],ge=[],ve=[],xe=[];let Se=0,Me=0;De("z","y","x",-1,-1,z,E,y,se,ie,0),De("z","y","x",1,-1,z,E,-y,se,ie,1),De("x","z","y",1,1,y,z,E,ne,se,2),De("x","z","y",1,-1,y,z,-E,ne,se,3),De("x","y","z",1,-1,y,E,z,ne,ie,4),De("x","y","z",-1,-1,y,E,-z,ne,ie,5),this.setIndex(de),this.setAttribute("position",new ds(ge,3)),this.setAttribute("normal",new ds(ve,3)),this.setAttribute("uv",new ds(xe,2));function De(Oe,Re,Le,Qe,Xe,Ze,it,et,ht,lt,ot){const rt=Ze/ht,Mt=it/lt,Xt=Ze/2,cn=it/2,Cn=et/2,En=ht+1,Zn=lt+1;let ti=0,bn=0;const rn=new Vt;for(let li=0;li0?1:-1,ve.push(rn.x,rn.y,rn.z),xe.push(Wn/ht),xe.push(1-li/lt),ti+=1}}for(let li=0;li1&&arguments[1]!==void 0?arguments[1]:{},E=y.wrapperElementType,z=E===void 0?"div":E,ne=y.nodeMapper,ie=ne===void 0?function(ve){return ve}:ne,se=y.methodNames,le=se===void 0?[]:se,de=y.initPropNames,ge=de===void 0?[]:de;return(0,Fe.forwardRef)(function(ve,xe){var Se=(0,Fe.useRef)(),Me=(0,Fe.useMemo)(function(){var Re=Object.fromEntries(ge.filter(function(Le){return ve.hasOwnProperty(Le)}).map(function(Le){return[Le,ve[Le]]}));return ee(Re)},[]);c1(function(){Me(ie(Se.current))},Fe.useLayoutEffect),c1(function(){return Me._destructor instanceof Function?Me._destructor:void 0});var De=(0,Fe.useCallback)(function(Re){for(var Le=arguments.length,Qe=new Array(Le>1?Le-1:0),Xe=1;Xe1&&arguments[1]!==void 0?arguments[1]:Fe.useEffect,E=(0,Fe.useRef)(),z=(0,Fe.useRef)(!1),ne=(0,Fe.useRef)(!1),ie=(0,Fe.useState)(0),se=u1(ie,2);se[0];var le=se[1];z.current&&(ne.current=!0),y(function(){return z.current||(E.current=ee(),z.current=!0),le(function(de){return de+1}),function(){ne.current&&E.current&&E.current()}},[])}const vp="178",Pc={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},xd={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Rh=0,mg=1,VA=2,$m=3,h1=0,xy=1,LP=2,_c=3,$c=0,au=1,eh=2,eu=0,Eh=1,e0=2,yp=3,Ap=4,Sf=5,th=100,jA=101,ju=102,wy=103,tm=104,Yd=200,xv=201,GA=202,t0=203,Sy=204,Xg=205,Zd=206,d1=207,XA=208,nm=209,n0=210,Du=211,im=212,NP=213,f1=214,Py=0,Yt=1,Wg=2,nd=3,Cy=4,wv=5,Ey=6,Sv=7,WA=0,nh=1,by=2,wd=0,Rw=1,Ow=2,kw=3,zw=4,Hw=5,Kd=6,Pv=7,g1="attached",xp="detached",i0=300,Jd=301,qd=302,Lc=303,rm=304,wp=306,ih=1e3,bh=1001,Sp=1002,xu=1003,Pp=1004,Pf=1004,vg=1005,pc=1005,tu=1006,Cp=1007,Cv=1007,Nc=1008,My=1008,Zu=1009,yg=1010,om=1011,rh=1012,tc=1013,nu=1014,wu=1015,mc=1016,Ep=1017,By=1018,_d=1020,Ty=35902,Yf=1021,Dy=1022,Fu=1023,Oh=1026,Mh=1027,r0=1028,id=1029,Qg=1030,sm=1031,IP=1032,o0=1033,am=33776,s0=33777,lm=33778,Yg=33779,a0=35840,l0=35841,Fy=35842,u0=35843,Ag=36196,c0=37492,bp=37496,Ev=37808,um=37809,bv=37810,Ja=37811,Zg=37812,xg=37813,Gu=37814,Ic=37815,wg=37816,Mp=37817,h0=37818,d0=37819,f0=37820,g0=37821,cm=36492,Bp=36494,Mv=36495,Tp=36283,Bl=36284,p0=36285,Bv=36286,Ly=2200,Ny=2201,QA=2202,YA=2300,nc=2301,p1=2302,Kg=2400,Cf=2401,m0=2402,he=2500,me=2501,Ce=0,Pe=1,Te=2,He=3200,_e=3201,ut=3202,at=3203,At=0,sn=1,Tt="",Pn="srgb",vn="srgb-linear",Ri="linear",kn="srgb",mr=0,Nr=7680,So=7681,eo=7682,zo=7683,Hs=34055,qr=34056,Ea=5386,hu=512,Rc=513,Lu=514,Sd=515,kh=516,Cc=517,$d=518,Oc=519,ic=512,sl=513,Su=514,vc=515,kc=516,Ef=517,du=518,ef=519,fu=35044,Dp=35048,Zf=35040,bf=35045,tf=35049,iu=35041,Bh=35046,hm=35050,ZA=35042,ST="100",Pd="300 es",Cd=2e3,rd=2001,JE={COMPUTE:"compute",RENDER:"render"},Uw={PERSPECTIVE:"perspective",LINEAR:"linear",FLAT:"flat"},m1={NORMAL:"normal",CENTROID:"centroid",SAMPLE:"sample",FIRST:"first",EITHER:"either"};class Ed{addEventListener(y,E){this._listeners===void 0&&(this._listeners={});const z=this._listeners;z[y]===void 0&&(z[y]=[]),z[y].indexOf(E)===-1&&z[y].push(E)}hasEventListener(y,E){const z=this._listeners;return z===void 0?!1:z[y]!==void 0&&z[y].indexOf(E)!==-1}removeEventListener(y,E){const z=this._listeners;if(z===void 0)return;const ne=z[y];if(ne!==void 0){const ie=ne.indexOf(E);ie!==-1&&ne.splice(ie,1)}}dispatchEvent(y){const E=this._listeners;if(E===void 0)return;const z=E[y.type];if(z!==void 0){y.target=this;const ne=z.slice(0);for(let ie=0,se=ne.length;ie>8&255]+zh[ee>>16&255]+zh[ee>>24&255]+"-"+zh[y&255]+zh[y>>8&255]+"-"+zh[y>>16&15|64]+zh[y>>24&255]+"-"+zh[E&63|128]+zh[E>>8&255]+"-"+zh[E>>16&255]+zh[E>>24&255]+zh[z&255]+zh[z>>8&255]+zh[z>>16&255]+zh[z>>24&255]).toLowerCase()}function _a(ee,y,E){return Math.max(y,Math.min(E,ee))}function RP(ee,y){return(ee%y+y)%y}function jM(ee,y,E,z,ne){return z+(ee-y)*(ne-z)/(E-y)}function v1(ee,y,E){return ee!==y?(E-ee)/(y-ee):0}function KA(ee,y,E){return(1-E)*ee+E*y}function GM(ee,y,E,z){return KA(ee,y,1-Math.exp(-E*z))}function XM(ee,y=1){return y-Math.abs(RP(ee,y*2)-y)}function qE(ee,y,E){return ee<=y?0:ee>=E?1:(ee=(ee-y)/(E-y),ee*ee*(3-2*ee))}function Vw(ee,y,E){return ee<=y?0:ee>=E?1:(ee=(ee-y)/(E-y),ee*ee*ee*(ee*(ee*6-15)+10))}function OP(ee,y){return ee+Math.floor(Math.random()*(y-ee+1))}function Fp(ee,y){return ee+Math.random()*(y-ee)}function dm(ee){return ee*(.5-Math.random())}function kP(ee){ee!==void 0&&(Tv=ee);let y=Tv+=1831565813;return y=Math.imul(y^y>>>15,y|1),y^=y+Math.imul(y^y>>>7,y|61),((y^y>>>14)>>>0)/4294967296}function Mf(ee){return ee*Jg}function Iy(ee){return ee*od}function PT(ee){return(ee&ee-1)===0&&ee!==0}function jw(ee){return Math.pow(2,Math.ceil(Math.log(ee)/Math.LN2))}function Fs(ee){return Math.pow(2,Math.floor(Math.log(ee)/Math.LN2))}function WM(ee,y,E,z,ne){const ie=Math.cos,se=Math.sin,le=ie(E/2),de=se(E/2),ge=ie((y+z)/2),ve=se((y+z)/2),xe=ie((y-z)/2),Se=se((y-z)/2),Me=ie((z-y)/2),De=se((z-y)/2);switch(ne){case"XYX":ee.set(le*ve,de*xe,de*Se,le*ge);break;case"YZY":ee.set(de*Se,le*ve,de*xe,le*ge);break;case"ZXZ":ee.set(de*xe,de*Se,le*ve,le*ge);break;case"XZX":ee.set(le*ve,de*De,de*Me,le*ge);break;case"YXY":ee.set(de*Me,le*ve,de*De,le*ge);break;case"ZYZ":ee.set(de*De,de*Me,le*ve,le*ge);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+ne)}}function Bf(ee,y){switch(y.constructor){case Float32Array:return ee;case Uint32Array:return ee/4294967295;case Uint16Array:return ee/65535;case Uint8Array:return ee/255;case Int32Array:return Math.max(ee/2147483647,-1);case Int16Array:return Math.max(ee/32767,-1);case Int8Array:return Math.max(ee/127,-1);default:throw new Error("Invalid component type.")}}function tl(ee,y){switch(y.constructor){case Float32Array:return ee;case Uint32Array:return Math.round(ee*4294967295);case Uint16Array:return Math.round(ee*65535);case Uint8Array:return Math.round(ee*255);case Int32Array:return Math.round(ee*2147483647);case Int16Array:return Math.round(ee*32767);case Int8Array:return Math.round(ee*127);default:throw new Error("Invalid component type.")}}const v0={DEG2RAD:Jg,RAD2DEG:od,generateUUID:gu,clamp:_a,euclideanModulo:RP,mapLinear:jM,inverseLerp:v1,lerp:KA,damp:GM,pingpong:XM,smoothstep:qE,smootherstep:Vw,randInt:OP,randFloat:Fp,randFloatSpread:dm,seededRandom:kP,degToRad:Mf,radToDeg:Iy,isPowerOfTwo:PT,ceilPowerOfTwo:jw,floorPowerOfTwo:Fs,setQuaternionFromProperEuler:WM,normalize:tl,denormalize:Bf};class ki{constructor(y=0,E=0){ki.prototype.isVector2=!0,this.x=y,this.y=E}get width(){return this.x}set width(y){this.x=y}get height(){return this.y}set height(y){this.y=y}set(y,E){return this.x=y,this.y=E,this}setScalar(y){return this.x=y,this.y=y,this}setX(y){return this.x=y,this}setY(y){return this.y=y,this}setComponent(y,E){switch(y){case 0:this.x=E;break;case 1:this.y=E;break;default:throw new Error("index is out of range: "+y)}return this}getComponent(y){switch(y){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+y)}}clone(){return new this.constructor(this.x,this.y)}copy(y){return this.x=y.x,this.y=y.y,this}add(y){return this.x+=y.x,this.y+=y.y,this}addScalar(y){return this.x+=y,this.y+=y,this}addVectors(y,E){return this.x=y.x+E.x,this.y=y.y+E.y,this}addScaledVector(y,E){return this.x+=y.x*E,this.y+=y.y*E,this}sub(y){return this.x-=y.x,this.y-=y.y,this}subScalar(y){return this.x-=y,this.y-=y,this}subVectors(y,E){return this.x=y.x-E.x,this.y=y.y-E.y,this}multiply(y){return this.x*=y.x,this.y*=y.y,this}multiplyScalar(y){return this.x*=y,this.y*=y,this}divide(y){return this.x/=y.x,this.y/=y.y,this}divideScalar(y){return this.multiplyScalar(1/y)}applyMatrix3(y){const E=this.x,z=this.y,ne=y.elements;return this.x=ne[0]*E+ne[3]*z+ne[6],this.y=ne[1]*E+ne[4]*z+ne[7],this}min(y){return this.x=Math.min(this.x,y.x),this.y=Math.min(this.y,y.y),this}max(y){return this.x=Math.max(this.x,y.x),this.y=Math.max(this.y,y.y),this}clamp(y,E){return this.x=_a(this.x,y.x,E.x),this.y=_a(this.y,y.y,E.y),this}clampScalar(y,E){return this.x=_a(this.x,y,E),this.y=_a(this.y,y,E),this}clampLength(y,E){const z=this.length();return this.divideScalar(z||1).multiplyScalar(_a(z,y,E))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(y){return this.x*y.x+this.y*y.y}cross(y){return this.x*y.y-this.y*y.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(y){const E=Math.sqrt(this.lengthSq()*y.lengthSq());if(E===0)return Math.PI/2;const z=this.dot(y)/E;return Math.acos(_a(z,-1,1))}distanceTo(y){return Math.sqrt(this.distanceToSquared(y))}distanceToSquared(y){const E=this.x-y.x,z=this.y-y.y;return E*E+z*z}manhattanDistanceTo(y){return Math.abs(this.x-y.x)+Math.abs(this.y-y.y)}setLength(y){return this.normalize().multiplyScalar(y)}lerp(y,E){return this.x+=(y.x-this.x)*E,this.y+=(y.y-this.y)*E,this}lerpVectors(y,E,z){return this.x=y.x+(E.x-y.x)*z,this.y=y.y+(E.y-y.y)*z,this}equals(y){return y.x===this.x&&y.y===this.y}fromArray(y,E=0){return this.x=y[E],this.y=y[E+1],this}toArray(y=[],E=0){return y[E]=this.x,y[E+1]=this.y,y}fromBufferAttribute(y,E){return this.x=y.getX(E),this.y=y.getY(E),this}rotateAround(y,E){const z=Math.cos(E),ne=Math.sin(E),ie=this.x-y.x,se=this.y-y.y;return this.x=ie*z-se*ne+y.x,this.y=ie*ne+se*z+y.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Nu{constructor(y=0,E=0,z=0,ne=1){this.isQuaternion=!0,this._x=y,this._y=E,this._z=z,this._w=ne}static slerpFlat(y,E,z,ne,ie,se,le){let de=z[ne+0],ge=z[ne+1],ve=z[ne+2],xe=z[ne+3];const Se=ie[se+0],Me=ie[se+1],De=ie[se+2],Oe=ie[se+3];if(le===0){y[E+0]=de,y[E+1]=ge,y[E+2]=ve,y[E+3]=xe;return}if(le===1){y[E+0]=Se,y[E+1]=Me,y[E+2]=De,y[E+3]=Oe;return}if(xe!==Oe||de!==Se||ge!==Me||ve!==De){let Re=1-le;const Le=de*Se+ge*Me+ve*De+xe*Oe,Qe=Le>=0?1:-1,Xe=1-Le*Le;if(Xe>Number.EPSILON){const it=Math.sqrt(Xe),et=Math.atan2(it,Le*Qe);Re=Math.sin(Re*et)/it,le=Math.sin(le*et)/it}const Ze=le*Qe;if(de=de*Re+Se*Ze,ge=ge*Re+Me*Ze,ve=ve*Re+De*Ze,xe=xe*Re+Oe*Ze,Re===1-le){const it=1/Math.sqrt(de*de+ge*ge+ve*ve+xe*xe);de*=it,ge*=it,ve*=it,xe*=it}}y[E]=de,y[E+1]=ge,y[E+2]=ve,y[E+3]=xe}static multiplyQuaternionsFlat(y,E,z,ne,ie,se){const le=z[ne],de=z[ne+1],ge=z[ne+2],ve=z[ne+3],xe=ie[se],Se=ie[se+1],Me=ie[se+2],De=ie[se+3];return y[E]=le*De+ve*xe+de*Me-ge*Se,y[E+1]=de*De+ve*Se+ge*xe-le*Me,y[E+2]=ge*De+ve*Me+le*Se-de*xe,y[E+3]=ve*De-le*xe-de*Se-ge*Me,y}get x(){return this._x}set x(y){this._x=y,this._onChangeCallback()}get y(){return this._y}set y(y){this._y=y,this._onChangeCallback()}get z(){return this._z}set z(y){this._z=y,this._onChangeCallback()}get w(){return this._w}set w(y){this._w=y,this._onChangeCallback()}set(y,E,z,ne){return this._x=y,this._y=E,this._z=z,this._w=ne,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(y){return this._x=y.x,this._y=y.y,this._z=y.z,this._w=y.w,this._onChangeCallback(),this}setFromEuler(y,E=!0){const z=y._x,ne=y._y,ie=y._z,se=y._order,le=Math.cos,de=Math.sin,ge=le(z/2),ve=le(ne/2),xe=le(ie/2),Se=de(z/2),Me=de(ne/2),De=de(ie/2);switch(se){case"XYZ":this._x=Se*ve*xe+ge*Me*De,this._y=ge*Me*xe-Se*ve*De,this._z=ge*ve*De+Se*Me*xe,this._w=ge*ve*xe-Se*Me*De;break;case"YXZ":this._x=Se*ve*xe+ge*Me*De,this._y=ge*Me*xe-Se*ve*De,this._z=ge*ve*De-Se*Me*xe,this._w=ge*ve*xe+Se*Me*De;break;case"ZXY":this._x=Se*ve*xe-ge*Me*De,this._y=ge*Me*xe+Se*ve*De,this._z=ge*ve*De+Se*Me*xe,this._w=ge*ve*xe-Se*Me*De;break;case"ZYX":this._x=Se*ve*xe-ge*Me*De,this._y=ge*Me*xe+Se*ve*De,this._z=ge*ve*De-Se*Me*xe,this._w=ge*ve*xe+Se*Me*De;break;case"YZX":this._x=Se*ve*xe+ge*Me*De,this._y=ge*Me*xe+Se*ve*De,this._z=ge*ve*De-Se*Me*xe,this._w=ge*ve*xe-Se*Me*De;break;case"XZY":this._x=Se*ve*xe-ge*Me*De,this._y=ge*Me*xe-Se*ve*De,this._z=ge*ve*De+Se*Me*xe,this._w=ge*ve*xe+Se*Me*De;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+se)}return E===!0&&this._onChangeCallback(),this}setFromAxisAngle(y,E){const z=E/2,ne=Math.sin(z);return this._x=y.x*ne,this._y=y.y*ne,this._z=y.z*ne,this._w=Math.cos(z),this._onChangeCallback(),this}setFromRotationMatrix(y){const E=y.elements,z=E[0],ne=E[4],ie=E[8],se=E[1],le=E[5],de=E[9],ge=E[2],ve=E[6],xe=E[10],Se=z+le+xe;if(Se>0){const Me=.5/Math.sqrt(Se+1);this._w=.25/Me,this._x=(ve-de)*Me,this._y=(ie-ge)*Me,this._z=(se-ne)*Me}else if(z>le&&z>xe){const Me=2*Math.sqrt(1+z-le-xe);this._w=(ve-de)/Me,this._x=.25*Me,this._y=(ne+se)/Me,this._z=(ie+ge)/Me}else if(le>xe){const Me=2*Math.sqrt(1+le-z-xe);this._w=(ie-ge)/Me,this._x=(ne+se)/Me,this._y=.25*Me,this._z=(de+ve)/Me}else{const Me=2*Math.sqrt(1+xe-z-le);this._w=(se-ne)/Me,this._x=(ie+ge)/Me,this._y=(de+ve)/Me,this._z=.25*Me}return this._onChangeCallback(),this}setFromUnitVectors(y,E){let z=y.dot(E)+1;return z<1e-8?(z=0,Math.abs(y.x)>Math.abs(y.z)?(this._x=-y.y,this._y=y.x,this._z=0,this._w=z):(this._x=0,this._y=-y.z,this._z=y.y,this._w=z)):(this._x=y.y*E.z-y.z*E.y,this._y=y.z*E.x-y.x*E.z,this._z=y.x*E.y-y.y*E.x,this._w=z),this.normalize()}angleTo(y){return 2*Math.acos(Math.abs(_a(this.dot(y),-1,1)))}rotateTowards(y,E){const z=this.angleTo(y);if(z===0)return this;const ne=Math.min(1,E/z);return this.slerp(y,ne),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(y){return this._x*y._x+this._y*y._y+this._z*y._z+this._w*y._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let y=this.length();return y===0?(this._x=0,this._y=0,this._z=0,this._w=1):(y=1/y,this._x=this._x*y,this._y=this._y*y,this._z=this._z*y,this._w=this._w*y),this._onChangeCallback(),this}multiply(y){return this.multiplyQuaternions(this,y)}premultiply(y){return this.multiplyQuaternions(y,this)}multiplyQuaternions(y,E){const z=y._x,ne=y._y,ie=y._z,se=y._w,le=E._x,de=E._y,ge=E._z,ve=E._w;return this._x=z*ve+se*le+ne*ge-ie*de,this._y=ne*ve+se*de+ie*le-z*ge,this._z=ie*ve+se*ge+z*de-ne*le,this._w=se*ve-z*le-ne*de-ie*ge,this._onChangeCallback(),this}slerp(y,E){if(E===0)return this;if(E===1)return this.copy(y);const z=this._x,ne=this._y,ie=this._z,se=this._w;let le=se*y._w+z*y._x+ne*y._y+ie*y._z;if(le<0?(this._w=-y._w,this._x=-y._x,this._y=-y._y,this._z=-y._z,le=-le):this.copy(y),le>=1)return this._w=se,this._x=z,this._y=ne,this._z=ie,this;const de=1-le*le;if(de<=Number.EPSILON){const Me=1-E;return this._w=Me*se+E*this._w,this._x=Me*z+E*this._x,this._y=Me*ne+E*this._y,this._z=Me*ie+E*this._z,this.normalize(),this}const ge=Math.sqrt(de),ve=Math.atan2(ge,le),xe=Math.sin((1-E)*ve)/ge,Se=Math.sin(E*ve)/ge;return this._w=se*xe+this._w*Se,this._x=z*xe+this._x*Se,this._y=ne*xe+this._y*Se,this._z=ie*xe+this._z*Se,this._onChangeCallback(),this}slerpQuaternions(y,E,z){return this.copy(y).slerp(E,z)}random(){const y=2*Math.PI*Math.random(),E=2*Math.PI*Math.random(),z=Math.random(),ne=Math.sqrt(1-z),ie=Math.sqrt(z);return this.set(ne*Math.sin(y),ne*Math.cos(y),ie*Math.sin(E),ie*Math.cos(E))}equals(y){return y._x===this._x&&y._y===this._y&&y._z===this._z&&y._w===this._w}fromArray(y,E=0){return this._x=y[E],this._y=y[E+1],this._z=y[E+2],this._w=y[E+3],this._onChangeCallback(),this}toArray(y=[],E=0){return y[E]=this._x,y[E+1]=this._y,y[E+2]=this._z,y[E+3]=this._w,y}fromBufferAttribute(y,E){return this._x=y.getX(E),this._y=y.getY(E),this._z=y.getZ(E),this._w=y.getW(E),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(y){return this._onChangeCallback=y,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Vt{constructor(y=0,E=0,z=0){Vt.prototype.isVector3=!0,this.x=y,this.y=E,this.z=z}set(y,E,z){return z===void 0&&(z=this.z),this.x=y,this.y=E,this.z=z,this}setScalar(y){return this.x=y,this.y=y,this.z=y,this}setX(y){return this.x=y,this}setY(y){return this.y=y,this}setZ(y){return this.z=y,this}setComponent(y,E){switch(y){case 0:this.x=E;break;case 1:this.y=E;break;case 2:this.z=E;break;default:throw new Error("index is out of range: "+y)}return this}getComponent(y){switch(y){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+y)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(y){return this.x=y.x,this.y=y.y,this.z=y.z,this}add(y){return this.x+=y.x,this.y+=y.y,this.z+=y.z,this}addScalar(y){return this.x+=y,this.y+=y,this.z+=y,this}addVectors(y,E){return this.x=y.x+E.x,this.y=y.y+E.y,this.z=y.z+E.z,this}addScaledVector(y,E){return this.x+=y.x*E,this.y+=y.y*E,this.z+=y.z*E,this}sub(y){return this.x-=y.x,this.y-=y.y,this.z-=y.z,this}subScalar(y){return this.x-=y,this.y-=y,this.z-=y,this}subVectors(y,E){return this.x=y.x-E.x,this.y=y.y-E.y,this.z=y.z-E.z,this}multiply(y){return this.x*=y.x,this.y*=y.y,this.z*=y.z,this}multiplyScalar(y){return this.x*=y,this.y*=y,this.z*=y,this}multiplyVectors(y,E){return this.x=y.x*E.x,this.y=y.y*E.y,this.z=y.z*E.z,this}applyEuler(y){return this.applyQuaternion(zP.setFromEuler(y))}applyAxisAngle(y,E){return this.applyQuaternion(zP.setFromAxisAngle(y,E))}applyMatrix3(y){const E=this.x,z=this.y,ne=this.z,ie=y.elements;return this.x=ie[0]*E+ie[3]*z+ie[6]*ne,this.y=ie[1]*E+ie[4]*z+ie[7]*ne,this.z=ie[2]*E+ie[5]*z+ie[8]*ne,this}applyNormalMatrix(y){return this.applyMatrix3(y).normalize()}applyMatrix4(y){const E=this.x,z=this.y,ne=this.z,ie=y.elements,se=1/(ie[3]*E+ie[7]*z+ie[11]*ne+ie[15]);return this.x=(ie[0]*E+ie[4]*z+ie[8]*ne+ie[12])*se,this.y=(ie[1]*E+ie[5]*z+ie[9]*ne+ie[13])*se,this.z=(ie[2]*E+ie[6]*z+ie[10]*ne+ie[14])*se,this}applyQuaternion(y){const E=this.x,z=this.y,ne=this.z,ie=y.x,se=y.y,le=y.z,de=y.w,ge=2*(se*ne-le*z),ve=2*(le*E-ie*ne),xe=2*(ie*z-se*E);return this.x=E+de*ge+se*xe-le*ve,this.y=z+de*ve+le*ge-ie*xe,this.z=ne+de*xe+ie*ve-se*ge,this}project(y){return this.applyMatrix4(y.matrixWorldInverse).applyMatrix4(y.projectionMatrix)}unproject(y){return this.applyMatrix4(y.projectionMatrixInverse).applyMatrix4(y.matrixWorld)}transformDirection(y){const E=this.x,z=this.y,ne=this.z,ie=y.elements;return this.x=ie[0]*E+ie[4]*z+ie[8]*ne,this.y=ie[1]*E+ie[5]*z+ie[9]*ne,this.z=ie[2]*E+ie[6]*z+ie[10]*ne,this.normalize()}divide(y){return this.x/=y.x,this.y/=y.y,this.z/=y.z,this}divideScalar(y){return this.multiplyScalar(1/y)}min(y){return this.x=Math.min(this.x,y.x),this.y=Math.min(this.y,y.y),this.z=Math.min(this.z,y.z),this}max(y){return this.x=Math.max(this.x,y.x),this.y=Math.max(this.y,y.y),this.z=Math.max(this.z,y.z),this}clamp(y,E){return this.x=_a(this.x,y.x,E.x),this.y=_a(this.y,y.y,E.y),this.z=_a(this.z,y.z,E.z),this}clampScalar(y,E){return this.x=_a(this.x,y,E),this.y=_a(this.y,y,E),this.z=_a(this.z,y,E),this}clampLength(y,E){const z=this.length();return this.divideScalar(z||1).multiplyScalar(_a(z,y,E))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(y){return this.x*y.x+this.y*y.y+this.z*y.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(y){return this.normalize().multiplyScalar(y)}lerp(y,E){return this.x+=(y.x-this.x)*E,this.y+=(y.y-this.y)*E,this.z+=(y.z-this.z)*E,this}lerpVectors(y,E,z){return this.x=y.x+(E.x-y.x)*z,this.y=y.y+(E.y-y.y)*z,this.z=y.z+(E.z-y.z)*z,this}cross(y){return this.crossVectors(this,y)}crossVectors(y,E){const z=y.x,ne=y.y,ie=y.z,se=E.x,le=E.y,de=E.z;return this.x=ne*de-ie*le,this.y=ie*se-z*de,this.z=z*le-ne*se,this}projectOnVector(y){const E=y.lengthSq();if(E===0)return this.set(0,0,0);const z=y.dot(this)/E;return this.copy(y).multiplyScalar(z)}projectOnPlane(y){return Gw.copy(this).projectOnVector(y),this.sub(Gw)}reflect(y){return this.sub(Gw.copy(y).multiplyScalar(2*this.dot(y)))}angleTo(y){const E=Math.sqrt(this.lengthSq()*y.lengthSq());if(E===0)return Math.PI/2;const z=this.dot(y)/E;return Math.acos(_a(z,-1,1))}distanceTo(y){return Math.sqrt(this.distanceToSquared(y))}distanceToSquared(y){const E=this.x-y.x,z=this.y-y.y,ne=this.z-y.z;return E*E+z*z+ne*ne}manhattanDistanceTo(y){return Math.abs(this.x-y.x)+Math.abs(this.y-y.y)+Math.abs(this.z-y.z)}setFromSpherical(y){return this.setFromSphericalCoords(y.radius,y.phi,y.theta)}setFromSphericalCoords(y,E,z){const ne=Math.sin(E)*y;return this.x=ne*Math.sin(z),this.y=Math.cos(E)*y,this.z=ne*Math.cos(z),this}setFromCylindrical(y){return this.setFromCylindricalCoords(y.radius,y.theta,y.y)}setFromCylindricalCoords(y,E,z){return this.x=y*Math.sin(E),this.y=z,this.z=y*Math.cos(E),this}setFromMatrixPosition(y){const E=y.elements;return this.x=E[12],this.y=E[13],this.z=E[14],this}setFromMatrixScale(y){const E=this.setFromMatrixColumn(y,0).length(),z=this.setFromMatrixColumn(y,1).length(),ne=this.setFromMatrixColumn(y,2).length();return this.x=E,this.y=z,this.z=ne,this}setFromMatrixColumn(y,E){return this.fromArray(y.elements,E*4)}setFromMatrix3Column(y,E){return this.fromArray(y.elements,E*3)}setFromEuler(y){return this.x=y._x,this.y=y._y,this.z=y._z,this}setFromColor(y){return this.x=y.r,this.y=y.g,this.z=y.b,this}equals(y){return y.x===this.x&&y.y===this.y&&y.z===this.z}fromArray(y,E=0){return this.x=y[E],this.y=y[E+1],this.z=y[E+2],this}toArray(y=[],E=0){return y[E]=this.x,y[E+1]=this.y,y[E+2]=this.z,y}fromBufferAttribute(y,E){return this.x=y.getX(E),this.y=y.getY(E),this.z=y.getZ(E),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const y=Math.random()*Math.PI*2,E=Math.random()*2-1,z=Math.sqrt(1-E*E);return this.x=z*Math.cos(y),this.y=E,this.z=z*Math.sin(y),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Gw=new Vt,zP=new Nu;class Oa{constructor(y,E,z,ne,ie,se,le,de,ge){Oa.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],y!==void 0&&this.set(y,E,z,ne,ie,se,le,de,ge)}set(y,E,z,ne,ie,se,le,de,ge){const ve=this.elements;return ve[0]=y,ve[1]=ne,ve[2]=le,ve[3]=E,ve[4]=ie,ve[5]=de,ve[6]=z,ve[7]=se,ve[8]=ge,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(y){const E=this.elements,z=y.elements;return E[0]=z[0],E[1]=z[1],E[2]=z[2],E[3]=z[3],E[4]=z[4],E[5]=z[5],E[6]=z[6],E[7]=z[7],E[8]=z[8],this}extractBasis(y,E,z){return y.setFromMatrix3Column(this,0),E.setFromMatrix3Column(this,1),z.setFromMatrix3Column(this,2),this}setFromMatrix4(y){const E=y.elements;return this.set(E[0],E[4],E[8],E[1],E[5],E[9],E[2],E[6],E[10]),this}multiply(y){return this.multiplyMatrices(this,y)}premultiply(y){return this.multiplyMatrices(y,this)}multiplyMatrices(y,E){const z=y.elements,ne=E.elements,ie=this.elements,se=z[0],le=z[3],de=z[6],ge=z[1],ve=z[4],xe=z[7],Se=z[2],Me=z[5],De=z[8],Oe=ne[0],Re=ne[3],Le=ne[6],Qe=ne[1],Xe=ne[4],Ze=ne[7],it=ne[2],et=ne[5],ht=ne[8];return ie[0]=se*Oe+le*Qe+de*it,ie[3]=se*Re+le*Xe+de*et,ie[6]=se*Le+le*Ze+de*ht,ie[1]=ge*Oe+ve*Qe+xe*it,ie[4]=ge*Re+ve*Xe+xe*et,ie[7]=ge*Le+ve*Ze+xe*ht,ie[2]=Se*Oe+Me*Qe+De*it,ie[5]=Se*Re+Me*Xe+De*et,ie[8]=Se*Le+Me*Ze+De*ht,this}multiplyScalar(y){const E=this.elements;return E[0]*=y,E[3]*=y,E[6]*=y,E[1]*=y,E[4]*=y,E[7]*=y,E[2]*=y,E[5]*=y,E[8]*=y,this}determinant(){const y=this.elements,E=y[0],z=y[1],ne=y[2],ie=y[3],se=y[4],le=y[5],de=y[6],ge=y[7],ve=y[8];return E*se*ve-E*le*ge-z*ie*ve+z*le*de+ne*ie*ge-ne*se*de}invert(){const y=this.elements,E=y[0],z=y[1],ne=y[2],ie=y[3],se=y[4],le=y[5],de=y[6],ge=y[7],ve=y[8],xe=ve*se-le*ge,Se=le*de-ve*ie,Me=ge*ie-se*de,De=E*xe+z*Se+ne*Me;if(De===0)return this.set(0,0,0,0,0,0,0,0,0);const Oe=1/De;return y[0]=xe*Oe,y[1]=(ne*ge-ve*z)*Oe,y[2]=(le*z-ne*se)*Oe,y[3]=Se*Oe,y[4]=(ve*E-ne*de)*Oe,y[5]=(ne*ie-le*E)*Oe,y[6]=Me*Oe,y[7]=(z*de-ge*E)*Oe,y[8]=(se*E-z*ie)*Oe,this}transpose(){let y;const E=this.elements;return y=E[1],E[1]=E[3],E[3]=y,y=E[2],E[2]=E[6],E[6]=y,y=E[5],E[5]=E[7],E[7]=y,this}getNormalMatrix(y){return this.setFromMatrix4(y).invert().transpose()}transposeIntoArray(y){const E=this.elements;return y[0]=E[0],y[1]=E[3],y[2]=E[6],y[3]=E[1],y[4]=E[4],y[5]=E[7],y[6]=E[2],y[7]=E[5],y[8]=E[8],this}setUvTransform(y,E,z,ne,ie,se,le){const de=Math.cos(ie),ge=Math.sin(ie);return this.set(z*de,z*ge,-z*(de*se+ge*le)+se+y,-ne*ge,ne*de,-ne*(-ge*se+de*le)+le+E,0,0,1),this}scale(y,E){return this.premultiply(HP.makeScale(y,E)),this}rotate(y){return this.premultiply(HP.makeRotation(-y)),this}translate(y,E){return this.premultiply(HP.makeTranslation(y,E)),this}makeTranslation(y,E){return y.isVector2?this.set(1,0,y.x,0,1,y.y,0,0,1):this.set(1,0,y,0,1,E,0,0,1),this}makeRotation(y){const E=Math.cos(y),z=Math.sin(y);return this.set(E,-z,0,z,E,0,0,0,1),this}makeScale(y,E){return this.set(y,0,0,0,E,0,0,0,1),this}equals(y){const E=this.elements,z=y.elements;for(let ne=0;ne<9;ne++)if(E[ne]!==z[ne])return!1;return!0}fromArray(y,E=0){for(let z=0;z<9;z++)this.elements[z]=y[z+E];return this}toArray(y=[],E=0){const z=this.elements;return y[E]=z[0],y[E+1]=z[1],y[E+2]=z[2],y[E+3]=z[3],y[E+4]=z[4],y[E+5]=z[5],y[E+6]=z[6],y[E+7]=z[7],y[E+8]=z[8],y}clone(){return new this.constructor().fromArray(this.elements)}}const HP=new Oa;function Dv(ee){for(let y=ee.length-1;y>=0;--y)if(ee[y]>=65535)return!0;return!1}const _E={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Ry(ee,y){return new _E[ee](y)}function Oy(ee){return document.createElementNS("http://www.w3.org/1999/xhtml",ee)}function JA(){const ee=Oy("canvas");return ee.style.display="block",ee}const UP={};function Cs(ee){ee in UP||(UP[ee]=!0,console.warn(ee))}function bd(ee,y,E){return new Promise(function(z,ne){function ie(){switch(ee.clientWaitSync(y,ee.SYNC_FLUSH_COMMANDS_BIT,0)){case ee.WAIT_FAILED:ne();break;case ee.TIMEOUT_EXPIRED:setTimeout(ie,E);break;default:z()}}setTimeout(ie,E)})}function oh(ee){const y=ee.elements;y[2]=.5*y[2]+.5*y[3],y[6]=.5*y[6]+.5*y[7],y[10]=.5*y[10]+.5*y[11],y[14]=.5*y[14]+.5*y[15]}function Lp(ee){const y=ee.elements;y[11]===-1?(y[10]=-y[10]-1,y[14]=-y[14]):(y[10]=-y[10],y[14]=-y[14]+1)}const qA=new Oa().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),fm=new Oa().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function gm(){const ee={enabled:!0,workingColorSpace:vn,spaces:{},convert:function(ne,ie,se){return this.enabled===!1||ie===se||!ie||!se||(this.spaces[ie].transfer===kn&&(ne.r=Sg(ne.r),ne.g=Sg(ne.g),ne.b=Sg(ne.b)),this.spaces[ie].primaries!==this.spaces[se].primaries&&(ne.applyMatrix3(this.spaces[ie].toXYZ),ne.applyMatrix3(this.spaces[se].fromXYZ)),this.spaces[se].transfer===kn&&(ne.r=pm(ne.r),ne.g=pm(ne.g),ne.b=pm(ne.b))),ne},workingToColorSpace:function(ne,ie){return this.convert(ne,this.workingColorSpace,ie)},colorSpaceToWorking:function(ne,ie){return this.convert(ne,ie,this.workingColorSpace)},getPrimaries:function(ne){return this.spaces[ne].primaries},getTransfer:function(ne){return ne===Tt?Ri:this.spaces[ne].transfer},getLuminanceCoefficients:function(ne,ie=this.workingColorSpace){return ne.fromArray(this.spaces[ie].luminanceCoefficients)},define:function(ne){Object.assign(this.spaces,ne)},_getMatrix:function(ne,ie,se){return ne.copy(this.spaces[ie].toXYZ).multiply(this.spaces[se].fromXYZ)},_getDrawingBufferColorSpace:function(ne){return this.spaces[ne].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(ne=this.workingColorSpace){return this.spaces[ne].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(ne,ie){return Cs("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),ee.workingToColorSpace(ne,ie)},toWorkingColorSpace:function(ne,ie){return Cs("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),ee.colorSpaceToWorking(ne,ie)}},y=[.64,.33,.3,.6,.15,.06],E=[.2126,.7152,.0722],z=[.3127,.329];return ee.define({[vn]:{primaries:y,whitePoint:z,transfer:Ri,toXYZ:qA,fromXYZ:fm,luminanceCoefficients:E,workingColorSpaceConfig:{unpackColorSpace:Pn},outputColorSpaceConfig:{drawingBufferColorSpace:Pn}},[Pn]:{primaries:y,whitePoint:z,transfer:kn,toXYZ:qA,fromXYZ:fm,luminanceCoefficients:E,outputColorSpaceConfig:{drawingBufferColorSpace:Pn}}}),ee}const ys=gm();function Sg(ee){return ee<.04045?ee*.0773993808:Math.pow(ee*.9478672986+.0521327014,2.4)}function pm(ee){return ee<.0031308?ee*12.92:1.055*Math.pow(ee,.41666)-.055}let _A;class ru{static getDataURL(y,E="image/png"){if(/^data:/i.test(y.src)||typeof HTMLCanvasElement=="undefined")return y.src;let z;if(y instanceof HTMLCanvasElement)z=y;else{_A===void 0&&(_A=Oy("canvas")),_A.width=y.width,_A.height=y.height;const ne=_A.getContext("2d");y instanceof ImageData?ne.putImageData(y,0,0):ne.drawImage(y,0,0,y.width,y.height),z=_A}return z.toDataURL(E)}static sRGBToLinear(y){if(typeof HTMLImageElement!="undefined"&&y instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&y instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&y instanceof ImageBitmap){const E=Oy("canvas");E.width=y.width,E.height=y.height;const z=E.getContext("2d");z.drawImage(y,0,0,y.width,y.height);const ne=z.getImageData(0,0,y.width,y.height),ie=ne.data;for(let se=0;se1),this.pmremVersion=0}get width(){return this.source.getSize(Xw).x}get height(){return this.source.getSize(Xw).y}get depth(){return this.source.getSize(Xw).z}get image(){return this.source.data}set image(y=null){this.source.data=y}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(y,E){this.updateRanges.push({start:y,count:E})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(y){return this.name=y.name,this.source=y.source,this.mipmaps=y.mipmaps.slice(0),this.mapping=y.mapping,this.channel=y.channel,this.wrapS=y.wrapS,this.wrapT=y.wrapT,this.magFilter=y.magFilter,this.minFilter=y.minFilter,this.anisotropy=y.anisotropy,this.format=y.format,this.internalFormat=y.internalFormat,this.type=y.type,this.offset.copy(y.offset),this.repeat.copy(y.repeat),this.center.copy(y.center),this.rotation=y.rotation,this.matrixAutoUpdate=y.matrixAutoUpdate,this.matrix.copy(y.matrix),this.generateMipmaps=y.generateMipmaps,this.premultiplyAlpha=y.premultiplyAlpha,this.flipY=y.flipY,this.unpackAlignment=y.unpackAlignment,this.colorSpace=y.colorSpace,this.renderTarget=y.renderTarget,this.isRenderTargetTexture=y.isRenderTargetTexture,this.isArrayTexture=y.isArrayTexture,this.userData=JSON.parse(JSON.stringify(y.userData)),this.needsUpdate=!0,this}setValues(y){for(const E in y){const z=y[E];if(z===void 0){console.warn(`THREE.Texture.setValues(): parameter '${E}' has value of undefined.`);continue}const ne=this[E];if(ne===void 0){console.warn(`THREE.Texture.setValues(): property '${E}' does not exist.`);continue}ne&&z&&ne.isVector2&&z.isVector2||ne&&z&&ne.isVector3&&z.isVector3||ne&&z&&ne.isMatrix3&&z.isMatrix3?ne.copy(z):this[E]=z}}toJSON(y){const E=y===void 0||typeof y=="string";if(!E&&y.textures[this.uuid]!==void 0)return y.textures[this.uuid];const z={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(y).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(z.userData=this.userData),E||(y.textures[this.uuid]=z),z}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(y){if(this.mapping!==i0)return y;if(y.applyMatrix3(this.matrix),y.x<0||y.x>1)switch(this.wrapS){case ih:y.x=y.x-Math.floor(y.x);break;case bh:y.x=y.x<0?0:1;break;case Sp:Math.abs(Math.floor(y.x)%2)===1?y.x=Math.ceil(y.x)-y.x:y.x=y.x-Math.floor(y.x);break}if(y.y<0||y.y>1)switch(this.wrapT){case ih:y.y=y.y-Math.floor(y.y);break;case bh:y.y=y.y<0?0:1;break;case Sp:Math.abs(Math.floor(y.y)%2)===1?y.y=Math.ceil(y.y)-y.y:y.y=y.y-Math.floor(y.y);break}return this.flipY&&(y.y=1-y.y),y}set needsUpdate(y){y===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(y){y===!0&&this.pmremVersion++}}Ec.DEFAULT_IMAGE=null,Ec.DEFAULT_MAPPING=i0,Ec.DEFAULT_ANISOTROPY=1;class Ks{constructor(y=0,E=0,z=0,ne=1){Ks.prototype.isVector4=!0,this.x=y,this.y=E,this.z=z,this.w=ne}get width(){return this.z}set width(y){this.z=y}get height(){return this.w}set height(y){this.w=y}set(y,E,z,ne){return this.x=y,this.y=E,this.z=z,this.w=ne,this}setScalar(y){return this.x=y,this.y=y,this.z=y,this.w=y,this}setX(y){return this.x=y,this}setY(y){return this.y=y,this}setZ(y){return this.z=y,this}setW(y){return this.w=y,this}setComponent(y,E){switch(y){case 0:this.x=E;break;case 1:this.y=E;break;case 2:this.z=E;break;case 3:this.w=E;break;default:throw new Error("index is out of range: "+y)}return this}getComponent(y){switch(y){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: "+y)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(y){return this.x=y.x,this.y=y.y,this.z=y.z,this.w=y.w!==void 0?y.w:1,this}add(y){return this.x+=y.x,this.y+=y.y,this.z+=y.z,this.w+=y.w,this}addScalar(y){return this.x+=y,this.y+=y,this.z+=y,this.w+=y,this}addVectors(y,E){return this.x=y.x+E.x,this.y=y.y+E.y,this.z=y.z+E.z,this.w=y.w+E.w,this}addScaledVector(y,E){return this.x+=y.x*E,this.y+=y.y*E,this.z+=y.z*E,this.w+=y.w*E,this}sub(y){return this.x-=y.x,this.y-=y.y,this.z-=y.z,this.w-=y.w,this}subScalar(y){return this.x-=y,this.y-=y,this.z-=y,this.w-=y,this}subVectors(y,E){return this.x=y.x-E.x,this.y=y.y-E.y,this.z=y.z-E.z,this.w=y.w-E.w,this}multiply(y){return this.x*=y.x,this.y*=y.y,this.z*=y.z,this.w*=y.w,this}multiplyScalar(y){return this.x*=y,this.y*=y,this.z*=y,this.w*=y,this}applyMatrix4(y){const E=this.x,z=this.y,ne=this.z,ie=this.w,se=y.elements;return this.x=se[0]*E+se[4]*z+se[8]*ne+se[12]*ie,this.y=se[1]*E+se[5]*z+se[9]*ne+se[13]*ie,this.z=se[2]*E+se[6]*z+se[10]*ne+se[14]*ie,this.w=se[3]*E+se[7]*z+se[11]*ne+se[15]*ie,this}divide(y){return this.x/=y.x,this.y/=y.y,this.z/=y.z,this.w/=y.w,this}divideScalar(y){return this.multiplyScalar(1/y)}setAxisAngleFromQuaternion(y){this.w=2*Math.acos(y.w);const E=Math.sqrt(1-y.w*y.w);return E<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=y.x/E,this.y=y.y/E,this.z=y.z/E),this}setAxisAngleFromRotationMatrix(y){let E,z,ne,ie;const de=y.elements,ge=de[0],ve=de[4],xe=de[8],Se=de[1],Me=de[5],De=de[9],Oe=de[2],Re=de[6],Le=de[10];if(Math.abs(ve-Se)<.01&&Math.abs(xe-Oe)<.01&&Math.abs(De-Re)<.01){if(Math.abs(ve+Se)<.1&&Math.abs(xe+Oe)<.1&&Math.abs(De+Re)<.1&&Math.abs(ge+Me+Le-3)<.1)return this.set(1,0,0,0),this;E=Math.PI;const Xe=(ge+1)/2,Ze=(Me+1)/2,it=(Le+1)/2,et=(ve+Se)/4,ht=(xe+Oe)/4,lt=(De+Re)/4;return Xe>Ze&&Xe>it?Xe<.01?(z=0,ne=.707106781,ie=.707106781):(z=Math.sqrt(Xe),ne=et/z,ie=ht/z):Ze>it?Ze<.01?(z=.707106781,ne=0,ie=.707106781):(ne=Math.sqrt(Ze),z=et/ne,ie=lt/ne):it<.01?(z=.707106781,ne=.707106781,ie=0):(ie=Math.sqrt(it),z=ht/ie,ne=lt/ie),this.set(z,ne,ie,E),this}let Qe=Math.sqrt((Re-De)*(Re-De)+(xe-Oe)*(xe-Oe)+(Se-ve)*(Se-ve));return Math.abs(Qe)<.001&&(Qe=1),this.x=(Re-De)/Qe,this.y=(xe-Oe)/Qe,this.z=(Se-ve)/Qe,this.w=Math.acos((ge+Me+Le-1)/2),this}setFromMatrixPosition(y){const E=y.elements;return this.x=E[12],this.y=E[13],this.z=E[14],this.w=E[15],this}min(y){return this.x=Math.min(this.x,y.x),this.y=Math.min(this.y,y.y),this.z=Math.min(this.z,y.z),this.w=Math.min(this.w,y.w),this}max(y){return this.x=Math.max(this.x,y.x),this.y=Math.max(this.y,y.y),this.z=Math.max(this.z,y.z),this.w=Math.max(this.w,y.w),this}clamp(y,E){return this.x=_a(this.x,y.x,E.x),this.y=_a(this.y,y.y,E.y),this.z=_a(this.z,y.z,E.z),this.w=_a(this.w,y.w,E.w),this}clampScalar(y,E){return this.x=_a(this.x,y,E),this.y=_a(this.y,y,E),this.z=_a(this.z,y,E),this.w=_a(this.w,y,E),this}clampLength(y,E){const z=this.length();return this.divideScalar(z||1).multiplyScalar(_a(z,y,E))}floor(){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(){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(){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(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(y){return this.x*y.x+this.y*y.y+this.z*y.z+this.w*y.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(y){return this.normalize().multiplyScalar(y)}lerp(y,E){return this.x+=(y.x-this.x)*E,this.y+=(y.y-this.y)*E,this.z+=(y.z-this.z)*E,this.w+=(y.w-this.w)*E,this}lerpVectors(y,E,z){return this.x=y.x+(E.x-y.x)*z,this.y=y.y+(E.y-y.y)*z,this.z=y.z+(E.z-y.z)*z,this.w=y.w+(E.w-y.w)*z,this}equals(y){return y.x===this.x&&y.y===this.y&&y.z===this.z&&y.w===this.w}fromArray(y,E=0){return this.x=y[E],this.y=y[E+1],this.z=y[E+2],this.w=y[E+3],this}toArray(y=[],E=0){return y[E]=this.x,y[E+1]=this.y,y[E+2]=this.z,y[E+3]=this.w,y}fromBufferAttribute(y,E){return this.x=y.getX(E),this.y=y.getY(E),this.z=y.getZ(E),this.w=y.getW(E),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class Np extends Ed{constructor(y=1,E=1,z={}){super(),z=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:tu,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},z),this.isRenderTarget=!0,this.width=y,this.height=E,this.depth=z.depth,this.scissor=new Ks(0,0,y,E),this.scissorTest=!1,this.viewport=new Ks(0,0,y,E);const ne={width:y,height:E,depth:z.depth},ie=new Ec(ne);this.textures=[];const se=z.count;for(let le=0;le1;this.dispose()}this.viewport.set(0,0,y,E),this.scissor.set(0,0,y,E)}clone(){return new this.constructor().copy(this)}copy(y){this.width=y.width,this.height=y.height,this.depth=y.depth,this.scissor.copy(y.scissor),this.scissorTest=y.scissorTest,this.viewport.copy(y.viewport),this.textures.length=0;for(let E=0,z=y.textures.length;E=this.min.x&&y.x<=this.max.x&&y.y>=this.min.y&&y.y<=this.max.y&&y.z>=this.min.z&&y.z<=this.max.z}containsBox(y){return this.min.x<=y.min.x&&y.max.x<=this.max.x&&this.min.y<=y.min.y&&y.max.y<=this.max.y&&this.min.z<=y.min.z&&y.max.z<=this.max.z}getParameter(y,E){return E.set((y.x-this.min.x)/(this.max.x-this.min.x),(y.y-this.min.y)/(this.max.y-this.min.y),(y.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(y){return y.max.x>=this.min.x&&y.min.x<=this.max.x&&y.max.y>=this.min.y&&y.min.y<=this.max.y&&y.max.z>=this.min.z&&y.min.z<=this.max.z}intersectsSphere(y){return this.clampPoint(y.center,Tn),Tn.distanceToSquared(y.center)<=y.radius*y.radius}intersectsPlane(y){let E,z;return y.normal.x>0?(E=y.normal.x*this.min.x,z=y.normal.x*this.max.x):(E=y.normal.x*this.max.x,z=y.normal.x*this.min.x),y.normal.y>0?(E+=y.normal.y*this.min.y,z+=y.normal.y*this.max.y):(E+=y.normal.y*this.max.y,z+=y.normal.y*this.min.y),y.normal.z>0?(E+=y.normal.z*this.min.z,z+=y.normal.z*this.max.z):(E+=y.normal.z*this.max.z,z+=y.normal.z*this.min.z),E<=-y.constant&&z>=-y.constant}intersectsTriangle(y){if(this.isEmpty())return!1;this.getCenter(w1),XP.subVectors(this.max,w1),ex.subVectors(y.a,w1),Fv.subVectors(y.b,w1),tx.subVectors(y.c,w1),A0.subVectors(Fv,ex),Bd.subVectors(tx,Fv),Pg.subVectors(ex,tx);let E=[0,-A0.z,A0.y,0,-Bd.z,Bd.y,0,-Pg.z,Pg.y,A0.z,0,-A0.x,Bd.z,0,-Bd.x,Pg.z,0,-Pg.x,-A0.y,A0.x,0,-Bd.y,Bd.x,0,-Pg.y,Pg.x,0];return!WP(E,ex,Fv,tx,XP)||(E=[1,0,0,0,1,0,0,0,1],!WP(E,ex,Fv,tx,XP))?!1:(Ww.crossVectors(A0,Bd),E=[Ww.x,Ww.y,Ww.z],WP(E,ex,Fv,tx,XP))}clampPoint(y,E){return E.copy(y).clamp(this.min,this.max)}distanceToPoint(y){return this.clampPoint(y,Tn).distanceTo(y)}getBoundingSphere(y){return this.isEmpty()?y.makeEmpty():(this.getCenter(y.center),y.radius=this.getSize(Tn).length()*.5),y}intersect(y){return this.min.max(y.min),this.max.min(y.max),this.isEmpty()&&this.makeEmpty(),this}union(y){return this.min.min(y.min),this.max.max(y.max),this}applyMatrix4(y){return this.isEmpty()?this:(qg[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(y),qg[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(y),qg[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(y),qg[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(y),qg[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(y),qg[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(y),qg[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(y),qg[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(y),this.setFromPoints(qg),this)}translate(y){return this.min.add(y),this.max.add(y),this}equals(y){return y.min.equals(this.min)&&y.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(y){return this.min.fromArray(y.min),this.max.fromArray(y.max),this}}const qg=[new Vt,new Vt,new Vt,new Vt,new Vt,new Vt,new Vt,new Vt],Tn=new Vt,x1=new Md,ex=new Vt,Fv=new Vt,tx=new Vt,A0=new Vt,Bd=new Vt,Pg=new Vt,w1=new Vt,XP=new Vt,Ww=new Vt,ky=new Vt;function WP(ee,y,E,z,ne){for(let ie=0,se=ee.length-3;ie<=se;ie+=3){ky.fromArray(ee,ie);const le=ne.x*Math.abs(ky.x)+ne.y*Math.abs(ky.y)+ne.z*Math.abs(ky.z),de=y.dot(ky),ge=E.dot(ky),ve=z.dot(ky);if(Math.max(-Math.max(de,ge,ve),Math.min(de,ge,ve))>le)return!1}return!0}const x0=new Md,nx=new Vt,Qw=new Vt;class sd{constructor(y=new Vt,E=-1){this.isSphere=!0,this.center=y,this.radius=E}set(y,E){return this.center.copy(y),this.radius=E,this}setFromPoints(y,E){const z=this.center;E!==void 0?z.copy(E):x0.setFromPoints(y).getCenter(z);let ne=0;for(let ie=0,se=y.length;iethis.radius*this.radius&&(E.sub(this.center).normalize(),E.multiplyScalar(this.radius).add(this.center)),E}getBoundingBox(y){return this.isEmpty()?(y.makeEmpty(),y):(y.set(this.center,this.center),y.expandByScalar(this.radius),y)}applyMatrix4(y){return this.center.applyMatrix4(y),this.radius=this.radius*y.getMaxScaleOnAxis(),this}translate(y){return this.center.add(y),this}expandByPoint(y){if(this.isEmpty())return this.center.copy(y),this.radius=0,this;nx.subVectors(y,this.center);const E=nx.lengthSq();if(E>this.radius*this.radius){const z=Math.sqrt(E),ne=(z-this.radius)*.5;this.center.addScaledVector(nx,ne/z),this.radius+=ne}return this}union(y){return y.isEmpty()?this:this.isEmpty()?(this.copy(y),this):(this.center.equals(y.center)===!0?this.radius=Math.max(this.radius,y.radius):(Qw.subVectors(y.center,this.center).setLength(y.radius),this.expandByPoint(nx.copy(y.center).add(Qw)),this.expandByPoint(nx.copy(y.center).sub(Qw))),this)}equals(y){return y.center.equals(this.center)&&y.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(y){return this.radius=y.radius,this.center.fromArray(y.center),this}}const vm=new Vt,QP=new Vt,Yw=new Vt,Lv=new Vt,Td=new Vt,YP=new Vt,ix=new Vt;class rx{constructor(y=new Vt,E=new Vt(0,0,-1)){this.origin=y,this.direction=E}set(y,E){return this.origin.copy(y),this.direction.copy(E),this}copy(y){return this.origin.copy(y.origin),this.direction.copy(y.direction),this}at(y,E){return E.copy(this.origin).addScaledVector(this.direction,y)}lookAt(y){return this.direction.copy(y).sub(this.origin).normalize(),this}recast(y){return this.origin.copy(this.at(y,vm)),this}closestPointToPoint(y,E){E.subVectors(y,this.origin);const z=E.dot(this.direction);return z<0?E.copy(this.origin):E.copy(this.origin).addScaledVector(this.direction,z)}distanceToPoint(y){return Math.sqrt(this.distanceSqToPoint(y))}distanceSqToPoint(y){const E=vm.subVectors(y,this.origin).dot(this.direction);return E<0?this.origin.distanceToSquared(y):(vm.copy(this.origin).addScaledVector(this.direction,E),vm.distanceToSquared(y))}distanceSqToSegment(y,E,z,ne){QP.copy(y).add(E).multiplyScalar(.5),Yw.copy(E).sub(y).normalize(),Lv.copy(this.origin).sub(QP);const ie=y.distanceTo(E)*.5,se=-this.direction.dot(Yw),le=Lv.dot(this.direction),de=-Lv.dot(Yw),ge=Lv.lengthSq(),ve=Math.abs(1-se*se);let xe,Se,Me,De;if(ve>0)if(xe=se*de-le,Se=se*le-de,De=ie*ve,xe>=0)if(Se>=-De)if(Se<=De){const Oe=1/ve;xe*=Oe,Se*=Oe,Me=xe*(xe+se*Se+2*le)+Se*(se*xe+Se+2*de)+ge}else Se=ie,xe=Math.max(0,-(se*Se+le)),Me=-xe*xe+Se*(Se+2*de)+ge;else Se=-ie,xe=Math.max(0,-(se*Se+le)),Me=-xe*xe+Se*(Se+2*de)+ge;else Se<=-De?(xe=Math.max(0,-(-se*ie+le)),Se=xe>0?-ie:Math.min(Math.max(-ie,-de),ie),Me=-xe*xe+Se*(Se+2*de)+ge):Se<=De?(xe=0,Se=Math.min(Math.max(-ie,-de),ie),Me=Se*(Se+2*de)+ge):(xe=Math.max(0,-(se*ie+le)),Se=xe>0?ie:Math.min(Math.max(-ie,-de),ie),Me=-xe*xe+Se*(Se+2*de)+ge);else Se=se>0?-ie:ie,xe=Math.max(0,-(se*Se+le)),Me=-xe*xe+Se*(Se+2*de)+ge;return z&&z.copy(this.origin).addScaledVector(this.direction,xe),ne&&ne.copy(QP).addScaledVector(Yw,Se),Me}intersectSphere(y,E){vm.subVectors(y.center,this.origin);const z=vm.dot(this.direction),ne=vm.dot(vm)-z*z,ie=y.radius*y.radius;if(ne>ie)return null;const se=Math.sqrt(ie-ne),le=z-se,de=z+se;return de<0?null:le<0?this.at(de,E):this.at(le,E)}intersectsSphere(y){return y.radius<0?!1:this.distanceSqToPoint(y.center)<=y.radius*y.radius}distanceToPlane(y){const E=y.normal.dot(this.direction);if(E===0)return y.distanceToPoint(this.origin)===0?0:null;const z=-(this.origin.dot(y.normal)+y.constant)/E;return z>=0?z:null}intersectPlane(y,E){const z=this.distanceToPlane(y);return z===null?null:this.at(z,E)}intersectsPlane(y){const E=y.distanceToPoint(this.origin);return E===0||y.normal.dot(this.direction)*E<0}intersectBox(y,E){let z,ne,ie,se,le,de;const ge=1/this.direction.x,ve=1/this.direction.y,xe=1/this.direction.z,Se=this.origin;return ge>=0?(z=(y.min.x-Se.x)*ge,ne=(y.max.x-Se.x)*ge):(z=(y.max.x-Se.x)*ge,ne=(y.min.x-Se.x)*ge),ve>=0?(ie=(y.min.y-Se.y)*ve,se=(y.max.y-Se.y)*ve):(ie=(y.max.y-Se.y)*ve,se=(y.min.y-Se.y)*ve),z>se||ie>ne||((ie>z||isNaN(z))&&(z=ie),(se=0?(le=(y.min.z-Se.z)*xe,de=(y.max.z-Se.z)*xe):(le=(y.max.z-Se.z)*xe,de=(y.min.z-Se.z)*xe),z>de||le>ne)||((le>z||z!==z)&&(z=le),(de=0?z:ne,E)}intersectsBox(y){return this.intersectBox(y,vm)!==null}intersectTriangle(y,E,z,ne,ie){Td.subVectors(E,y),YP.subVectors(z,y),ix.crossVectors(Td,YP);let se=this.direction.dot(ix),le;if(se>0){if(ne)return null;le=1}else if(se<0)le=-1,se=-se;else return null;Lv.subVectors(this.origin,y);const de=le*this.direction.dot(YP.crossVectors(Lv,YP));if(de<0)return null;const ge=le*this.direction.dot(Td.cross(Lv));if(ge<0||de+ge>se)return null;const ve=-le*Lv.dot(ix);return ve<0?null:this.at(ve/se,ie)}applyMatrix4(y){return this.origin.applyMatrix4(y),this.direction.transformDirection(y),this}equals(y){return y.origin.equals(this.origin)&&y.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class rs{constructor(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re){rs.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],y!==void 0&&this.set(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re)}set(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re){const Le=this.elements;return Le[0]=y,Le[4]=E,Le[8]=z,Le[12]=ne,Le[1]=ie,Le[5]=se,Le[9]=le,Le[13]=de,Le[2]=ge,Le[6]=ve,Le[10]=xe,Le[14]=Se,Le[3]=Me,Le[7]=De,Le[11]=Oe,Le[15]=Re,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new rs().fromArray(this.elements)}copy(y){const E=this.elements,z=y.elements;return E[0]=z[0],E[1]=z[1],E[2]=z[2],E[3]=z[3],E[4]=z[4],E[5]=z[5],E[6]=z[6],E[7]=z[7],E[8]=z[8],E[9]=z[9],E[10]=z[10],E[11]=z[11],E[12]=z[12],E[13]=z[13],E[14]=z[14],E[15]=z[15],this}copyPosition(y){const E=this.elements,z=y.elements;return E[12]=z[12],E[13]=z[13],E[14]=z[14],this}setFromMatrix3(y){const E=y.elements;return this.set(E[0],E[3],E[6],0,E[1],E[4],E[7],0,E[2],E[5],E[8],0,0,0,0,1),this}extractBasis(y,E,z){return y.setFromMatrixColumn(this,0),E.setFromMatrixColumn(this,1),z.setFromMatrixColumn(this,2),this}makeBasis(y,E,z){return this.set(y.x,E.x,z.x,0,y.y,E.y,z.y,0,y.z,E.z,z.z,0,0,0,0,1),this}extractRotation(y){const E=this.elements,z=y.elements,ne=1/zy.setFromMatrixColumn(y,0).length(),ie=1/zy.setFromMatrixColumn(y,1).length(),se=1/zy.setFromMatrixColumn(y,2).length();return E[0]=z[0]*ne,E[1]=z[1]*ne,E[2]=z[2]*ne,E[3]=0,E[4]=z[4]*ie,E[5]=z[5]*ie,E[6]=z[6]*ie,E[7]=0,E[8]=z[8]*se,E[9]=z[9]*se,E[10]=z[10]*se,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,this}makeRotationFromEuler(y){const E=this.elements,z=y.x,ne=y.y,ie=y.z,se=Math.cos(z),le=Math.sin(z),de=Math.cos(ne),ge=Math.sin(ne),ve=Math.cos(ie),xe=Math.sin(ie);if(y.order==="XYZ"){const Se=se*ve,Me=se*xe,De=le*ve,Oe=le*xe;E[0]=de*ve,E[4]=-de*xe,E[8]=ge,E[1]=Me+De*ge,E[5]=Se-Oe*ge,E[9]=-le*de,E[2]=Oe-Se*ge,E[6]=De+Me*ge,E[10]=se*de}else if(y.order==="YXZ"){const Se=de*ve,Me=de*xe,De=ge*ve,Oe=ge*xe;E[0]=Se+Oe*le,E[4]=De*le-Me,E[8]=se*ge,E[1]=se*xe,E[5]=se*ve,E[9]=-le,E[2]=Me*le-De,E[6]=Oe+Se*le,E[10]=se*de}else if(y.order==="ZXY"){const Se=de*ve,Me=de*xe,De=ge*ve,Oe=ge*xe;E[0]=Se-Oe*le,E[4]=-se*xe,E[8]=De+Me*le,E[1]=Me+De*le,E[5]=se*ve,E[9]=Oe-Se*le,E[2]=-se*ge,E[6]=le,E[10]=se*de}else if(y.order==="ZYX"){const Se=se*ve,Me=se*xe,De=le*ve,Oe=le*xe;E[0]=de*ve,E[4]=De*ge-Me,E[8]=Se*ge+Oe,E[1]=de*xe,E[5]=Oe*ge+Se,E[9]=Me*ge-De,E[2]=-ge,E[6]=le*de,E[10]=se*de}else if(y.order==="YZX"){const Se=se*de,Me=se*ge,De=le*de,Oe=le*ge;E[0]=de*ve,E[4]=Oe-Se*xe,E[8]=De*xe+Me,E[1]=xe,E[5]=se*ve,E[9]=-le*ve,E[2]=-ge*ve,E[6]=Me*xe+De,E[10]=Se-Oe*xe}else if(y.order==="XZY"){const Se=se*de,Me=se*ge,De=le*de,Oe=le*ge;E[0]=de*ve,E[4]=-xe,E[8]=ge*ve,E[1]=Se*xe+Oe,E[5]=se*ve,E[9]=Me*xe-De,E[2]=De*xe-Me,E[6]=le*ve,E[10]=Oe*xe+Se}return E[3]=0,E[7]=0,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,this}makeRotationFromQuaternion(y){return this.compose(Sb,y,ZP)}lookAt(y,E,z){const ne=this.elements;return Cg.subVectors(y,E),Cg.lengthSq()===0&&(Cg.z=1),Cg.normalize(),Hh.crossVectors(z,Cg),Hh.lengthSq()===0&&(Math.abs(z.z)===1?Cg.x+=1e-4:Cg.z+=1e-4,Cg.normalize(),Hh.crossVectors(z,Cg)),Hh.normalize(),Zw.crossVectors(Cg,Hh),ne[0]=Hh.x,ne[4]=Zw.x,ne[8]=Cg.x,ne[1]=Hh.y,ne[5]=Zw.y,ne[9]=Cg.y,ne[2]=Hh.z,ne[6]=Zw.z,ne[10]=Cg.z,this}multiply(y){return this.multiplyMatrices(this,y)}premultiply(y){return this.multiplyMatrices(y,this)}multiplyMatrices(y,E){const z=y.elements,ne=E.elements,ie=this.elements,se=z[0],le=z[4],de=z[8],ge=z[12],ve=z[1],xe=z[5],Se=z[9],Me=z[13],De=z[2],Oe=z[6],Re=z[10],Le=z[14],Qe=z[3],Xe=z[7],Ze=z[11],it=z[15],et=ne[0],ht=ne[4],lt=ne[8],ot=ne[12],rt=ne[1],Mt=ne[5],Xt=ne[9],cn=ne[13],Cn=ne[2],En=ne[6],Zn=ne[10],ti=ne[14],bn=ne[3],rn=ne[7],li=ne[11],Dn=ne[15];return ie[0]=se*et+le*rt+de*Cn+ge*bn,ie[4]=se*ht+le*Mt+de*En+ge*rn,ie[8]=se*lt+le*Xt+de*Zn+ge*li,ie[12]=se*ot+le*cn+de*ti+ge*Dn,ie[1]=ve*et+xe*rt+Se*Cn+Me*bn,ie[5]=ve*ht+xe*Mt+Se*En+Me*rn,ie[9]=ve*lt+xe*Xt+Se*Zn+Me*li,ie[13]=ve*ot+xe*cn+Se*ti+Me*Dn,ie[2]=De*et+Oe*rt+Re*Cn+Le*bn,ie[6]=De*ht+Oe*Mt+Re*En+Le*rn,ie[10]=De*lt+Oe*Xt+Re*Zn+Le*li,ie[14]=De*ot+Oe*cn+Re*ti+Le*Dn,ie[3]=Qe*et+Xe*rt+Ze*Cn+it*bn,ie[7]=Qe*ht+Xe*Mt+Ze*En+it*rn,ie[11]=Qe*lt+Xe*Xt+Ze*Zn+it*li,ie[15]=Qe*ot+Xe*cn+Ze*ti+it*Dn,this}multiplyScalar(y){const E=this.elements;return E[0]*=y,E[4]*=y,E[8]*=y,E[12]*=y,E[1]*=y,E[5]*=y,E[9]*=y,E[13]*=y,E[2]*=y,E[6]*=y,E[10]*=y,E[14]*=y,E[3]*=y,E[7]*=y,E[11]*=y,E[15]*=y,this}determinant(){const y=this.elements,E=y[0],z=y[4],ne=y[8],ie=y[12],se=y[1],le=y[5],de=y[9],ge=y[13],ve=y[2],xe=y[6],Se=y[10],Me=y[14],De=y[3],Oe=y[7],Re=y[11],Le=y[15];return De*(+ie*de*xe-ne*ge*xe-ie*le*Se+z*ge*Se+ne*le*Me-z*de*Me)+Oe*(+E*de*Me-E*ge*Se+ie*se*Se-ne*se*Me+ne*ge*ve-ie*de*ve)+Re*(+E*ge*xe-E*le*Me-ie*se*xe+z*se*Me+ie*le*ve-z*ge*ve)+Le*(-ne*le*ve-E*de*xe+E*le*Se+ne*se*xe-z*se*Se+z*de*ve)}transpose(){const y=this.elements;let E;return E=y[1],y[1]=y[4],y[4]=E,E=y[2],y[2]=y[8],y[8]=E,E=y[6],y[6]=y[9],y[9]=E,E=y[3],y[3]=y[12],y[12]=E,E=y[7],y[7]=y[13],y[13]=E,E=y[11],y[11]=y[14],y[14]=E,this}setPosition(y,E,z){const ne=this.elements;return y.isVector3?(ne[12]=y.x,ne[13]=y.y,ne[14]=y.z):(ne[12]=y,ne[13]=E,ne[14]=z),this}invert(){const y=this.elements,E=y[0],z=y[1],ne=y[2],ie=y[3],se=y[4],le=y[5],de=y[6],ge=y[7],ve=y[8],xe=y[9],Se=y[10],Me=y[11],De=y[12],Oe=y[13],Re=y[14],Le=y[15],Qe=xe*Re*ge-Oe*Se*ge+Oe*de*Me-le*Re*Me-xe*de*Le+le*Se*Le,Xe=De*Se*ge-ve*Re*ge-De*de*Me+se*Re*Me+ve*de*Le-se*Se*Le,Ze=ve*Oe*ge-De*xe*ge+De*le*Me-se*Oe*Me-ve*le*Le+se*xe*Le,it=De*xe*de-ve*Oe*de-De*le*Se+se*Oe*Se+ve*le*Re-se*xe*Re,et=E*Qe+z*Xe+ne*Ze+ie*it;if(et===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const ht=1/et;return y[0]=Qe*ht,y[1]=(Oe*Se*ie-xe*Re*ie-Oe*ne*Me+z*Re*Me+xe*ne*Le-z*Se*Le)*ht,y[2]=(le*Re*ie-Oe*de*ie+Oe*ne*ge-z*Re*ge-le*ne*Le+z*de*Le)*ht,y[3]=(xe*de*ie-le*Se*ie-xe*ne*ge+z*Se*ge+le*ne*Me-z*de*Me)*ht,y[4]=Xe*ht,y[5]=(ve*Re*ie-De*Se*ie+De*ne*Me-E*Re*Me-ve*ne*Le+E*Se*Le)*ht,y[6]=(De*de*ie-se*Re*ie-De*ne*ge+E*Re*ge+se*ne*Le-E*de*Le)*ht,y[7]=(se*Se*ie-ve*de*ie+ve*ne*ge-E*Se*ge-se*ne*Me+E*de*Me)*ht,y[8]=Ze*ht,y[9]=(De*xe*ie-ve*Oe*ie-De*z*Me+E*Oe*Me+ve*z*Le-E*xe*Le)*ht,y[10]=(se*Oe*ie-De*le*ie+De*z*ge-E*Oe*ge-se*z*Le+E*le*Le)*ht,y[11]=(ve*le*ie-se*xe*ie-ve*z*ge+E*xe*ge+se*z*Me-E*le*Me)*ht,y[12]=it*ht,y[13]=(ve*Oe*ne-De*xe*ne+De*z*Se-E*Oe*Se-ve*z*Re+E*xe*Re)*ht,y[14]=(De*le*ne-se*Oe*ne-De*z*de+E*Oe*de+se*z*Re-E*le*Re)*ht,y[15]=(se*xe*ne-ve*le*ne+ve*z*de-E*xe*de-se*z*Se+E*le*Se)*ht,this}scale(y){const E=this.elements,z=y.x,ne=y.y,ie=y.z;return E[0]*=z,E[4]*=ne,E[8]*=ie,E[1]*=z,E[5]*=ne,E[9]*=ie,E[2]*=z,E[6]*=ne,E[10]*=ie,E[3]*=z,E[7]*=ne,E[11]*=ie,this}getMaxScaleOnAxis(){const y=this.elements,E=y[0]*y[0]+y[1]*y[1]+y[2]*y[2],z=y[4]*y[4]+y[5]*y[5]+y[6]*y[6],ne=y[8]*y[8]+y[9]*y[9]+y[10]*y[10];return Math.sqrt(Math.max(E,z,ne))}makeTranslation(y,E,z){return y.isVector3?this.set(1,0,0,y.x,0,1,0,y.y,0,0,1,y.z,0,0,0,1):this.set(1,0,0,y,0,1,0,E,0,0,1,z,0,0,0,1),this}makeRotationX(y){const E=Math.cos(y),z=Math.sin(y);return this.set(1,0,0,0,0,E,-z,0,0,z,E,0,0,0,0,1),this}makeRotationY(y){const E=Math.cos(y),z=Math.sin(y);return this.set(E,0,z,0,0,1,0,0,-z,0,E,0,0,0,0,1),this}makeRotationZ(y){const E=Math.cos(y),z=Math.sin(y);return this.set(E,-z,0,0,z,E,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(y,E){const z=Math.cos(E),ne=Math.sin(E),ie=1-z,se=y.x,le=y.y,de=y.z,ge=ie*se,ve=ie*le;return this.set(ge*se+z,ge*le-ne*de,ge*de+ne*le,0,ge*le+ne*de,ve*le+z,ve*de-ne*se,0,ge*de-ne*le,ve*de+ne*se,ie*de*de+z,0,0,0,0,1),this}makeScale(y,E,z){return this.set(y,0,0,0,0,E,0,0,0,0,z,0,0,0,0,1),this}makeShear(y,E,z,ne,ie,se){return this.set(1,z,ie,0,y,1,se,0,E,ne,1,0,0,0,0,1),this}compose(y,E,z){const ne=this.elements,ie=E._x,se=E._y,le=E._z,de=E._w,ge=ie+ie,ve=se+se,xe=le+le,Se=ie*ge,Me=ie*ve,De=ie*xe,Oe=se*ve,Re=se*xe,Le=le*xe,Qe=de*ge,Xe=de*ve,Ze=de*xe,it=z.x,et=z.y,ht=z.z;return ne[0]=(1-(Oe+Le))*it,ne[1]=(Me+Ze)*it,ne[2]=(De-Xe)*it,ne[3]=0,ne[4]=(Me-Ze)*et,ne[5]=(1-(Se+Le))*et,ne[6]=(Re+Qe)*et,ne[7]=0,ne[8]=(De+Xe)*ht,ne[9]=(Re-Qe)*ht,ne[10]=(1-(Se+Oe))*ht,ne[11]=0,ne[12]=y.x,ne[13]=y.y,ne[14]=y.z,ne[15]=1,this}decompose(y,E,z){const ne=this.elements;let ie=zy.set(ne[0],ne[1],ne[2]).length();const se=zy.set(ne[4],ne[5],ne[6]).length(),le=zy.set(ne[8],ne[9],ne[10]).length();this.determinant()<0&&(ie=-ie),y.x=ne[12],y.y=ne[13],y.z=ne[14],_g.copy(this);const ge=1/ie,ve=1/se,xe=1/le;return _g.elements[0]*=ge,_g.elements[1]*=ge,_g.elements[2]*=ge,_g.elements[4]*=ve,_g.elements[5]*=ve,_g.elements[6]*=ve,_g.elements[8]*=xe,_g.elements[9]*=xe,_g.elements[10]*=xe,E.setFromRotationMatrix(_g),z.x=ie,z.y=se,z.z=le,this}makePerspective(y,E,z,ne,ie,se,le=Cd){const de=this.elements,ge=2*ie/(E-y),ve=2*ie/(z-ne),xe=(E+y)/(E-y),Se=(z+ne)/(z-ne);let Me,De;if(le===Cd)Me=-(se+ie)/(se-ie),De=-2*se*ie/(se-ie);else if(le===rd)Me=-se/(se-ie),De=-se*ie/(se-ie);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+le);return de[0]=ge,de[4]=0,de[8]=xe,de[12]=0,de[1]=0,de[5]=ve,de[9]=Se,de[13]=0,de[2]=0,de[6]=0,de[10]=Me,de[14]=De,de[3]=0,de[7]=0,de[11]=-1,de[15]=0,this}makeOrthographic(y,E,z,ne,ie,se,le=Cd){const de=this.elements,ge=1/(E-y),ve=1/(z-ne),xe=1/(se-ie),Se=(E+y)*ge,Me=(z+ne)*ve;let De,Oe;if(le===Cd)De=(se+ie)*xe,Oe=-2*xe;else if(le===rd)De=ie*xe,Oe=-1*xe;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+le);return de[0]=2*ge,de[4]=0,de[8]=0,de[12]=-Se,de[1]=0,de[5]=2*ve,de[9]=0,de[13]=-Me,de[2]=0,de[6]=0,de[10]=Oe,de[14]=-De,de[3]=0,de[7]=0,de[11]=0,de[15]=1,this}equals(y){const E=this.elements,z=y.elements;for(let ne=0;ne<16;ne++)if(E[ne]!==z[ne])return!1;return!0}fromArray(y,E=0){for(let z=0;z<16;z++)this.elements[z]=y[z+E];return this}toArray(y=[],E=0){const z=this.elements;return y[E]=z[0],y[E+1]=z[1],y[E+2]=z[2],y[E+3]=z[3],y[E+4]=z[4],y[E+5]=z[5],y[E+6]=z[6],y[E+7]=z[7],y[E+8]=z[8],y[E+9]=z[9],y[E+10]=z[10],y[E+11]=z[11],y[E+12]=z[12],y[E+13]=z[13],y[E+14]=z[14],y[E+15]=z[15],y}}const zy=new Vt,_g=new rs,Sb=new Vt(0,0,0),ZP=new Vt(1,1,1),Hh=new Vt,Zw=new Vt,Cg=new Vt,Tf=new rs,Ip=new Nu;class Pu{constructor(y=0,E=0,z=0,ne=Pu.DEFAULT_ORDER){this.isEuler=!0,this._x=y,this._y=E,this._z=z,this._order=ne}get x(){return this._x}set x(y){this._x=y,this._onChangeCallback()}get y(){return this._y}set y(y){this._y=y,this._onChangeCallback()}get z(){return this._z}set z(y){this._z=y,this._onChangeCallback()}get order(){return this._order}set order(y){this._order=y,this._onChangeCallback()}set(y,E,z,ne=this._order){return this._x=y,this._y=E,this._z=z,this._order=ne,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(y){return this._x=y._x,this._y=y._y,this._z=y._z,this._order=y._order,this._onChangeCallback(),this}setFromRotationMatrix(y,E=this._order,z=!0){const ne=y.elements,ie=ne[0],se=ne[4],le=ne[8],de=ne[1],ge=ne[5],ve=ne[9],xe=ne[2],Se=ne[6],Me=ne[10];switch(E){case"XYZ":this._y=Math.asin(_a(le,-1,1)),Math.abs(le)<.9999999?(this._x=Math.atan2(-ve,Me),this._z=Math.atan2(-se,ie)):(this._x=Math.atan2(Se,ge),this._z=0);break;case"YXZ":this._x=Math.asin(-_a(ve,-1,1)),Math.abs(ve)<.9999999?(this._y=Math.atan2(le,Me),this._z=Math.atan2(de,ge)):(this._y=Math.atan2(-xe,ie),this._z=0);break;case"ZXY":this._x=Math.asin(_a(Se,-1,1)),Math.abs(Se)<.9999999?(this._y=Math.atan2(-xe,Me),this._z=Math.atan2(-se,ge)):(this._y=0,this._z=Math.atan2(de,ie));break;case"ZYX":this._y=Math.asin(-_a(xe,-1,1)),Math.abs(xe)<.9999999?(this._x=Math.atan2(Se,Me),this._z=Math.atan2(de,ie)):(this._x=0,this._z=Math.atan2(-se,ge));break;case"YZX":this._z=Math.asin(_a(de,-1,1)),Math.abs(de)<.9999999?(this._x=Math.atan2(-ve,ge),this._y=Math.atan2(-xe,ie)):(this._x=0,this._y=Math.atan2(le,Me));break;case"XZY":this._z=Math.asin(-_a(se,-1,1)),Math.abs(se)<.9999999?(this._x=Math.atan2(Se,ge),this._y=Math.atan2(le,ie)):(this._x=Math.atan2(-ve,Me),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+E)}return this._order=E,z===!0&&this._onChangeCallback(),this}setFromQuaternion(y,E,z){return Tf.makeRotationFromQuaternion(y),this.setFromRotationMatrix(Tf,E,z)}setFromVector3(y,E=this._order){return this.set(y.x,y.y,y.z,E)}reorder(y){return Ip.setFromEuler(this),this.setFromQuaternion(Ip,y)}equals(y){return y._x===this._x&&y._y===this._y&&y._z===this._z&&y._order===this._order}fromArray(y){return this._x=y[0],this._y=y[1],this._z=y[2],y[3]!==void 0&&(this._order=y[3]),this._onChangeCallback(),this}toArray(y=[],E=0){return y[E]=this._x,y[E+1]=this._y,y[E+2]=this._z,y[E+3]=this._order,y}_onChange(y){return this._onChangeCallback=y,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Pu.DEFAULT_ORDER="XYZ";class Hl{constructor(){this.mask=1}set(y){this.mask=(1<>>0}enable(y){this.mask|=1<1){for(let E=0;E1){for(let z=0;z0&&(ne.userData=this.userData),ne.layers=this.layers.mask,ne.matrix=this.matrix.toArray(),ne.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(ne.matrixAutoUpdate=!1),this.isInstancedMesh&&(ne.type="InstancedMesh",ne.count=this.count,ne.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(ne.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(ne.type="BatchedMesh",ne.perObjectFrustumCulled=this.perObjectFrustumCulled,ne.sortObjects=this.sortObjects,ne.drawRanges=this._drawRanges,ne.reservedRanges=this._reservedRanges,ne.geometryInfo=this._geometryInfo.map(le=>NA(Sh({},le),{boundingBox:le.boundingBox?le.boundingBox.toJSON():void 0,boundingSphere:le.boundingSphere?le.boundingSphere.toJSON():void 0})),ne.instanceInfo=this._instanceInfo.map(le=>Sh({},le)),ne.availableInstanceIds=this._availableInstanceIds.slice(),ne.availableGeometryIds=this._availableGeometryIds.slice(),ne.nextIndexStart=this._nextIndexStart,ne.nextVertexStart=this._nextVertexStart,ne.geometryCount=this._geometryCount,ne.maxInstanceCount=this._maxInstanceCount,ne.maxVertexCount=this._maxVertexCount,ne.maxIndexCount=this._maxIndexCount,ne.geometryInitialized=this._geometryInitialized,ne.matricesTexture=this._matricesTexture.toJSON(y),ne.indirectTexture=this._indirectTexture.toJSON(y),this._colorsTexture!==null&&(ne.colorsTexture=this._colorsTexture.toJSON(y)),this.boundingSphere!==null&&(ne.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(ne.boundingBox=this.boundingBox.toJSON()));function ie(le,de){return le[de.uuid]===void 0&&(le[de.uuid]=de.toJSON(y)),de.uuid}if(this.isScene)this.background&&(this.background.isColor?ne.background=this.background.toJSON():this.background.isTexture&&(ne.background=this.background.toJSON(y).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(ne.environment=this.environment.toJSON(y).uuid);else if(this.isMesh||this.isLine||this.isPoints){ne.geometry=ie(y.geometries,this.geometry);const le=this.geometry.parameters;if(le!==void 0&&le.shapes!==void 0){const de=le.shapes;if(Array.isArray(de))for(let ge=0,ve=de.length;ge0){ne.children=[];for(let le=0;le0){ne.animations=[];for(let le=0;le0&&(z.geometries=le),de.length>0&&(z.materials=de),ge.length>0&&(z.textures=ge),ve.length>0&&(z.images=ve),xe.length>0&&(z.shapes=xe),Se.length>0&&(z.skeletons=Se),Me.length>0&&(z.animations=Me),De.length>0&&(z.nodes=De)}return z.object=ne,z;function se(le){const de=[];for(const ge in le){const ve=le[ge];delete ve.metadata,de.push(ve)}return de}}clone(y){return new this.constructor().copy(this,y)}copy(y,E=!0){if(this.name=y.name,this.up.copy(y.up),this.position.copy(y.position),this.rotation.order=y.rotation.order,this.quaternion.copy(y.quaternion),this.scale.copy(y.scale),this.matrix.copy(y.matrix),this.matrixWorld.copy(y.matrixWorld),this.matrixAutoUpdate=y.matrixAutoUpdate,this.matrixWorldAutoUpdate=y.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=y.matrixWorldNeedsUpdate,this.layers.mask=y.layers.mask,this.visible=y.visible,this.castShadow=y.castShadow,this.receiveShadow=y.receiveShadow,this.frustumCulled=y.frustumCulled,this.renderOrder=y.renderOrder,this.animations=y.animations.slice(),this.userData=JSON.parse(JSON.stringify(y.userData)),E===!0)for(let z=0;z0?ne.multiplyScalar(1/Math.sqrt(ie)):ne.set(0,0,0)}static getBarycoord(y,E,z,ne,ie){ep.subVectors(ne,E),Rs.subVectors(z,E),Kf.subVectors(y,E);const se=ep.dot(ep),le=ep.dot(Rs),de=ep.dot(Kf),ge=Rs.dot(Rs),ve=Rs.dot(Kf),xe=se*ge-le*le;if(xe===0)return ie.set(0,0,0),null;const Se=1/xe,Me=(ge*de-le*ve)*Se,De=(se*ve-le*de)*Se;return ie.set(1-Me-De,De,Me)}static containsPoint(y,E,z,ne){return this.getBarycoord(y,E,z,ne,w0)===null?!1:w0.x>=0&&w0.y>=0&&w0.x+w0.y<=1}static getInterpolation(y,E,z,ne,ie,se,le,de){return this.getBarycoord(y,E,z,ne,w0)===null?(de.x=0,de.y=0,"z"in de&&(de.z=0),"w"in de&&(de.w=0),null):(de.setScalar(0),de.addScaledVector(ie,w0.x),de.addScaledVector(se,w0.y),de.addScaledVector(le,w0.z),de)}static getInterpolatedAttribute(y,E,z,ne,ie,se){return _P.setScalar(0),P1.setScalar(0),C1.setScalar(0),_P.fromBufferAttribute(y,E),P1.fromBufferAttribute(y,z),C1.fromBufferAttribute(y,ne),se.setScalar(0),se.addScaledVector(_P,ie.x),se.addScaledVector(P1,ie.y),se.addScaledVector(C1,ie.z),se}static isFrontFacing(y,E,z,ne){return ep.subVectors(z,E),Rs.subVectors(y,E),ep.cross(Rs).dot(ne)<0}set(y,E,z){return this.a.copy(y),this.b.copy(E),this.c.copy(z),this}setFromPointsAndIndices(y,E,z,ne){return this.a.copy(y[E]),this.b.copy(y[z]),this.c.copy(y[ne]),this}setFromAttributeAndIndices(y,E,z,ne){return this.a.fromBufferAttribute(y,E),this.b.fromBufferAttribute(y,z),this.c.fromBufferAttribute(y,ne),this}clone(){return new this.constructor().copy(this)}copy(y){return this.a.copy(y.a),this.b.copy(y.b),this.c.copy(y.c),this}getArea(){return ep.subVectors(this.c,this.b),Rs.subVectors(this.a,this.b),ep.cross(Rs).length()*.5}getMidpoint(y){return y.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(y){return Jf.getNormal(this.a,this.b,this.c,y)}getPlane(y){return y.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(y,E){return Jf.getBarycoord(y,this.a,this.b,this.c,E)}getInterpolation(y,E,z,ne,ie){return Jf.getInterpolation(y,this.a,this.b,this.c,E,z,ne,ie)}containsPoint(y){return Jf.containsPoint(y,this.a,this.b,this.c)}isFrontFacing(y){return Jf.isFrontFacing(this.a,this.b,this.c,y)}intersectsBox(y){return y.intersectsTriangle(this)}closestPointToPoint(y,E){const z=this.a,ne=this.b,ie=this.c;let se,le;S0.subVectors(ne,z),Vy.subVectors(ie,z),nf.subVectors(y,z);const de=S0.dot(nf),ge=Vy.dot(nf);if(de<=0&&ge<=0)return E.copy(z);lx.subVectors(y,ne);const ve=S0.dot(lx),xe=Vy.dot(lx);if(ve>=0&&xe<=ve)return E.copy(ne);const Se=de*xe-ve*ge;if(Se<=0&&de>=0&&ve<=0)return se=de/(de-ve),E.copy(z).addScaledVector(S0,se);qP.subVectors(y,ie);const Me=S0.dot(qP),De=Vy.dot(qP);if(De>=0&&Me<=De)return E.copy(ie);const Oe=Me*ge-de*De;if(Oe<=0&&ge>=0&&De<=0)return le=ge/(ge-De),E.copy(z).addScaledVector(Vy,le);const Re=ve*De-Me*xe;if(Re<=0&&xe-ve>=0&&Me-De>=0)return ax.subVectors(ie,ne),le=(xe-ve)/(xe-ve+(Me-De)),E.copy(ne).addScaledVector(ax,le);const Le=1/(Re+Oe+Se);return se=Oe*Le,le=Se*Le,E.copy(z).addScaledVector(S0,se).addScaledVector(Vy,le)}equals(y){return y.a.equals(this.a)&&y.b.equals(this.b)&&y.c.equals(this.c)}}const Pb={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},P0={h:0,s:0,l:0},_w={h:0,s:0,l:0};function $w(ee,y,E){return E<0&&(E+=1),E>1&&(E-=1),E<1/6?ee+(y-ee)*6*E:E<1/2?y:E<2/3?ee+(y-ee)*6*(2/3-E):ee}class fo{constructor(y,E,z){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(y,E,z)}set(y,E,z){if(E===void 0&&z===void 0){const ne=y;ne&&ne.isColor?this.copy(ne):typeof ne=="number"?this.setHex(ne):typeof ne=="string"&&this.setStyle(ne)}else this.setRGB(y,E,z);return this}setScalar(y){return this.r=y,this.g=y,this.b=y,this}setHex(y,E=Pn){return y=Math.floor(y),this.r=(y>>16&255)/255,this.g=(y>>8&255)/255,this.b=(y&255)/255,ys.colorSpaceToWorking(this,E),this}setRGB(y,E,z,ne=ys.workingColorSpace){return this.r=y,this.g=E,this.b=z,ys.colorSpaceToWorking(this,ne),this}setHSL(y,E,z,ne=ys.workingColorSpace){if(y=RP(y,1),E=_a(E,0,1),z=_a(z,0,1),E===0)this.r=this.g=this.b=z;else{const ie=z<=.5?z*(1+E):z+E-z*E,se=2*z-ie;this.r=$w(se,ie,y+1/3),this.g=$w(se,ie,y),this.b=$w(se,ie,y-1/3)}return ys.colorSpaceToWorking(this,ne),this}setStyle(y,E=Pn){function z(ie){ie!==void 0&&parseFloat(ie)<1&&console.warn("THREE.Color: Alpha component of "+y+" will be ignored.")}let ne;if(ne=/^(\w+)\(([^\)]*)\)/.exec(y)){let ie;const se=ne[1],le=ne[2];switch(se){case"rgb":case"rgba":if(ie=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(le))return z(ie[4]),this.setRGB(Math.min(255,parseInt(ie[1],10))/255,Math.min(255,parseInt(ie[2],10))/255,Math.min(255,parseInt(ie[3],10))/255,E);if(ie=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(le))return z(ie[4]),this.setRGB(Math.min(100,parseInt(ie[1],10))/100,Math.min(100,parseInt(ie[2],10))/100,Math.min(100,parseInt(ie[3],10))/100,E);break;case"hsl":case"hsla":if(ie=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(le))return z(ie[4]),this.setHSL(parseFloat(ie[1])/360,parseFloat(ie[2])/100,parseFloat(ie[3])/100,E);break;default:console.warn("THREE.Color: Unknown color model "+y)}}else if(ne=/^\#([A-Fa-f\d]+)$/.exec(y)){const ie=ne[1],se=ie.length;if(se===3)return this.setRGB(parseInt(ie.charAt(0),16)/15,parseInt(ie.charAt(1),16)/15,parseInt(ie.charAt(2),16)/15,E);if(se===6)return this.setHex(parseInt(ie,16),E);console.warn("THREE.Color: Invalid hex color "+y)}else if(y&&y.length>0)return this.setColorName(y,E);return this}setColorName(y,E=Pn){const z=Pb[y.toLowerCase()];return z!==void 0?this.setHex(z,E):console.warn("THREE.Color: Unknown color "+y),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(y){return this.r=y.r,this.g=y.g,this.b=y.b,this}copySRGBToLinear(y){return this.r=Sg(y.r),this.g=Sg(y.g),this.b=Sg(y.b),this}copyLinearToSRGB(y){return this.r=pm(y.r),this.g=pm(y.g),this.b=pm(y.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(y=Pn){return ys.workingToColorSpace(Uh.copy(this),y),Math.round(_a(Uh.r*255,0,255))*65536+Math.round(_a(Uh.g*255,0,255))*256+Math.round(_a(Uh.b*255,0,255))}getHexString(y=Pn){return("000000"+this.getHex(y).toString(16)).slice(-6)}getHSL(y,E=ys.workingColorSpace){ys.workingToColorSpace(Uh.copy(this),E);const z=Uh.r,ne=Uh.g,ie=Uh.b,se=Math.max(z,ne,ie),le=Math.min(z,ne,ie);let de,ge;const ve=(le+se)/2;if(le===se)de=0,ge=0;else{const xe=se-le;switch(ge=ve<=.5?xe/(se+le):xe/(2-se-le),se){case z:de=(ne-ie)/xe+(ne0!=y>0&&this.version++,this._alphaTest=y}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(y){if(y!==void 0)for(const E in y){const z=y[E];if(z===void 0){console.warn(`THREE.Material: parameter '${E}' has value of undefined.`);continue}const ne=this[E];if(ne===void 0){console.warn(`THREE.Material: '${E}' is not a property of THREE.${this.type}.`);continue}ne&&ne.isColor?ne.set(z):ne&&ne.isVector3&&z&&z.isVector3?ne.copy(z):this[E]=z}}toJSON(y){const E=y===void 0||typeof y=="string";E&&(y={textures:{},images:{}});const z={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};z.uuid=this.uuid,z.type=this.type,this.name!==""&&(z.name=this.name),this.color&&this.color.isColor&&(z.color=this.color.getHex()),this.roughness!==void 0&&(z.roughness=this.roughness),this.metalness!==void 0&&(z.metalness=this.metalness),this.sheen!==void 0&&(z.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(z.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(z.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(z.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(z.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(z.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(z.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(z.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(z.shininess=this.shininess),this.clearcoat!==void 0&&(z.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(z.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(z.clearcoatMap=this.clearcoatMap.toJSON(y).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(z.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(y).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(z.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(y).uuid,z.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(z.dispersion=this.dispersion),this.iridescence!==void 0&&(z.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(z.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(z.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(z.iridescenceMap=this.iridescenceMap.toJSON(y).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(z.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(y).uuid),this.anisotropy!==void 0&&(z.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(z.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(z.anisotropyMap=this.anisotropyMap.toJSON(y).uuid),this.map&&this.map.isTexture&&(z.map=this.map.toJSON(y).uuid),this.matcap&&this.matcap.isTexture&&(z.matcap=this.matcap.toJSON(y).uuid),this.alphaMap&&this.alphaMap.isTexture&&(z.alphaMap=this.alphaMap.toJSON(y).uuid),this.lightMap&&this.lightMap.isTexture&&(z.lightMap=this.lightMap.toJSON(y).uuid,z.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(z.aoMap=this.aoMap.toJSON(y).uuid,z.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(z.bumpMap=this.bumpMap.toJSON(y).uuid,z.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(z.normalMap=this.normalMap.toJSON(y).uuid,z.normalMapType=this.normalMapType,z.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(z.displacementMap=this.displacementMap.toJSON(y).uuid,z.displacementScale=this.displacementScale,z.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(z.roughnessMap=this.roughnessMap.toJSON(y).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(z.metalnessMap=this.metalnessMap.toJSON(y).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(z.emissiveMap=this.emissiveMap.toJSON(y).uuid),this.specularMap&&this.specularMap.isTexture&&(z.specularMap=this.specularMap.toJSON(y).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(z.specularIntensityMap=this.specularIntensityMap.toJSON(y).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(z.specularColorMap=this.specularColorMap.toJSON(y).uuid),this.envMap&&this.envMap.isTexture&&(z.envMap=this.envMap.toJSON(y).uuid,this.combine!==void 0&&(z.combine=this.combine)),this.envMapRotation!==void 0&&(z.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(z.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(z.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(z.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(z.gradientMap=this.gradientMap.toJSON(y).uuid),this.transmission!==void 0&&(z.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(z.transmissionMap=this.transmissionMap.toJSON(y).uuid),this.thickness!==void 0&&(z.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(z.thicknessMap=this.thicknessMap.toJSON(y).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(z.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(z.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(z.size=this.size),this.shadowSide!==null&&(z.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(z.sizeAttenuation=this.sizeAttenuation),this.blending!==Eh&&(z.blending=this.blending),this.side!==$c&&(z.side=this.side),this.vertexColors===!0&&(z.vertexColors=!0),this.opacity<1&&(z.opacity=this.opacity),this.transparent===!0&&(z.transparent=!0),this.blendSrc!==Sy&&(z.blendSrc=this.blendSrc),this.blendDst!==Xg&&(z.blendDst=this.blendDst),this.blendEquation!==th&&(z.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(z.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(z.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(z.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(z.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(z.blendAlpha=this.blendAlpha),this.depthFunc!==nd&&(z.depthFunc=this.depthFunc),this.depthTest===!1&&(z.depthTest=this.depthTest),this.depthWrite===!1&&(z.depthWrite=this.depthWrite),this.colorWrite===!1&&(z.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(z.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Oc&&(z.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(z.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(z.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Nr&&(z.stencilFail=this.stencilFail),this.stencilZFail!==Nr&&(z.stencilZFail=this.stencilZFail),this.stencilZPass!==Nr&&(z.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(z.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(z.rotation=this.rotation),this.polygonOffset===!0&&(z.polygonOffset=!0),this.polygonOffsetFactor!==0&&(z.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(z.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(z.linewidth=this.linewidth),this.dashSize!==void 0&&(z.dashSize=this.dashSize),this.gapSize!==void 0&&(z.gapSize=this.gapSize),this.scale!==void 0&&(z.scale=this.scale),this.dithering===!0&&(z.dithering=!0),this.alphaTest>0&&(z.alphaTest=this.alphaTest),this.alphaHash===!0&&(z.alphaHash=!0),this.alphaToCoverage===!0&&(z.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(z.premultipliedAlpha=!0),this.forceSinglePass===!0&&(z.forceSinglePass=!0),this.wireframe===!0&&(z.wireframe=!0),this.wireframeLinewidth>1&&(z.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(z.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(z.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(z.flatShading=!0),this.visible===!1&&(z.visible=!1),this.toneMapped===!1&&(z.toneMapped=!1),this.fog===!1&&(z.fog=!1),Object.keys(this.userData).length>0&&(z.userData=this.userData);function ne(ie){const se=[];for(const le in ie){const de=ie[le];delete de.metadata,se.push(de)}return se}if(E){const ie=ne(y.textures),se=ne(y.images);ie.length>0&&(z.textures=ie),se.length>0&&(z.images=se)}return z}clone(){return new this.constructor().copy(this)}copy(y){this.name=y.name,this.blending=y.blending,this.side=y.side,this.vertexColors=y.vertexColors,this.opacity=y.opacity,this.transparent=y.transparent,this.blendSrc=y.blendSrc,this.blendDst=y.blendDst,this.blendEquation=y.blendEquation,this.blendSrcAlpha=y.blendSrcAlpha,this.blendDstAlpha=y.blendDstAlpha,this.blendEquationAlpha=y.blendEquationAlpha,this.blendColor.copy(y.blendColor),this.blendAlpha=y.blendAlpha,this.depthFunc=y.depthFunc,this.depthTest=y.depthTest,this.depthWrite=y.depthWrite,this.stencilWriteMask=y.stencilWriteMask,this.stencilFunc=y.stencilFunc,this.stencilRef=y.stencilRef,this.stencilFuncMask=y.stencilFuncMask,this.stencilFail=y.stencilFail,this.stencilZFail=y.stencilZFail,this.stencilZPass=y.stencilZPass,this.stencilWrite=y.stencilWrite;const E=y.clippingPlanes;let z=null;if(E!==null){const ne=E.length;z=new Array(ne);for(let ie=0;ie!==ne;++ie)z[ie]=E[ie].clone()}return this.clippingPlanes=z,this.clipIntersection=y.clipIntersection,this.clipShadows=y.clipShadows,this.shadowSide=y.shadowSide,this.colorWrite=y.colorWrite,this.precision=y.precision,this.polygonOffset=y.polygonOffset,this.polygonOffsetFactor=y.polygonOffsetFactor,this.polygonOffsetUnits=y.polygonOffsetUnits,this.dithering=y.dithering,this.alphaTest=y.alphaTest,this.alphaHash=y.alphaHash,this.alphaToCoverage=y.alphaToCoverage,this.premultipliedAlpha=y.premultipliedAlpha,this.forceSinglePass=y.forceSinglePass,this.visible=y.visible,this.toneMapped=y.toneMapped,this.userData=JSON.parse(JSON.stringify(y.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(y){y===!0&&this.version++}}class Vh extends rf{constructor(y){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new fo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pu,this.combine=WA,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.map=y.map,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.specularMap=y.specularMap,this.alphaMap=y.alphaMap,this.envMap=y.envMap,this.envMapRotation.copy(y.envMapRotation),this.combine=y.combine,this.reflectivity=y.reflectivity,this.refractionRatio=y.refractionRatio,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.fog=y.fog,this}}const C0=$P();function $P(){const ee=new ArrayBuffer(4),y=new Float32Array(ee),E=new Uint32Array(ee),z=new Uint32Array(512),ne=new Uint32Array(512);for(let de=0;de<256;++de){const ge=de-127;ge<-27?(z[de]=0,z[de|256]=32768,ne[de]=24,ne[de|256]=24):ge<-14?(z[de]=1024>>-ge-14,z[de|256]=1024>>-ge-14|32768,ne[de]=-ge-1,ne[de|256]=-ge-1):ge<=15?(z[de]=ge+15<<10,z[de|256]=ge+15<<10|32768,ne[de]=13,ne[de|256]=13):ge<128?(z[de]=31744,z[de|256]=64512,ne[de]=24,ne[de|256]=24):(z[de]=31744,z[de|256]=64512,ne[de]=13,ne[de|256]=13)}const ie=new Uint32Array(2048),se=new Uint32Array(64),le=new Uint32Array(64);for(let de=1;de<1024;++de){let ge=de<<13,ve=0;for(;!(ge&8388608);)ge<<=1,ve-=8388608;ge&=-8388609,ve+=947912704,ie[de]=ge|ve}for(let de=1024;de<2048;++de)ie[de]=939524096+(de-1024<<13);for(let de=1;de<31;++de)se[de]=de<<23;se[31]=1199570944,se[32]=2147483648;for(let de=33;de<63;++de)se[de]=2147483648+(de-32<<23);se[63]=3347054592;for(let de=1;de<64;++de)de!==32&&(le[de]=1024);return{floatView:y,uint32View:E,baseTable:z,shiftTable:ne,mantissaTable:ie,exponentTable:se,offsetTable:le}}function Df(ee){Math.abs(ee)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),ee=_a(ee,-65504,65504),C0.floatView[0]=ee;const y=C0.uint32View[0],E=y>>23&511;return C0.baseTable[E]+((y&8388607)>>C0.shiftTable[E])}function Iv(ee){const y=ee>>10;return C0.uint32View[0]=C0.mantissaTable[C0.offsetTable[y]+(ee&1023)]+C0.exponentTable[y],C0.floatView[0]}class CT{static toHalfFloat(y){return Df(y)}static fromHalfFloat(y){return Iv(y)}}const vl=new Vt,ux=new ki;let Mb=0;class wl{constructor(y,E,z=!1){if(Array.isArray(y))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:Mb++}),this.name="",this.array=y,this.itemSize=E,this.count=y!==void 0?y.length/E:0,this.normalized=z,this.usage=fu,this.updateRanges=[],this.gpuType=wu,this.version=0}onUploadCallback(){}set needsUpdate(y){y===!0&&this.version++}setUsage(y){return this.usage=y,this}addUpdateRange(y,E){this.updateRanges.push({start:y,count:E})}clearUpdateRanges(){this.updateRanges.length=0}copy(y){return this.name=y.name,this.array=new y.array.constructor(y.array),this.itemSize=y.itemSize,this.count=y.count,this.normalized=y.normalized,this.usage=y.usage,this.gpuType=y.gpuType,this}copyAt(y,E,z){y*=this.itemSize,z*=E.itemSize;for(let ne=0,ie=this.itemSize;neE.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),E.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Md);const y=this.attributes.position,E=this.morphAttributes.position;if(y&&y.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new Vt(-1/0,-1/0,-1/0),new Vt(1/0,1/0,1/0));return}if(y!==void 0){if(this.boundingBox.setFromBufferAttribute(y),E)for(let z=0,ne=E.length;z0&&(y.userData=this.userData),this.parameters!==void 0){const de=this.parameters;for(const ge in de)de[ge]!==void 0&&(y[ge]=de[ge]);return y}y.data={attributes:{}};const E=this.index;E!==null&&(y.data.index={type:E.array.constructor.name,array:Array.prototype.slice.call(E.array)});const z=this.attributes;for(const de in z){const ge=z[de];y.data.attributes[de]=ge.toJSON(y.data)}const ne={};let ie=!1;for(const de in this.morphAttributes){const ge=this.morphAttributes[de],ve=[];for(let xe=0,Se=ge.length;xe0&&(ne[de]=ve,ie=!0)}ie&&(y.data.morphAttributes=ne,y.data.morphTargetsRelative=this.morphTargetsRelative);const se=this.groups;se.length>0&&(y.data.groups=JSON.parse(JSON.stringify(se)));const le=this.boundingSphere;return le!==null&&(y.data.boundingSphere=le.toJSON()),y}clone(){return new this.constructor().copy(this)}copy(y){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const E={};this.name=y.name;const z=y.index;z!==null&&this.setIndex(z.clone());const ne=y.attributes;for(const ge in ne){const ve=ne[ge];this.setAttribute(ge,ve.clone(E))}const ie=y.morphAttributes;for(const ge in ie){const ve=[],xe=ie[ge];for(let Se=0,Me=xe.length;Se0){const ne=E[z[0]];if(ne!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let ie=0,se=ne.length;ieWL(y.far-y.near,2)))&&(Ac.copy(ie).invert(),Rv.copy(y.ray).applyMatrix4(Ac),!(z.boundingBox!==null&&Rv.intersectsBox(z.boundingBox)===!1)&&this._computeIntersections(y,E,Rv)))}_computeIntersections(y,E,z){let ne;const ie=this.geometry,se=this.material,le=ie.index,de=ie.attributes.position,ge=ie.attributes.uv,ve=ie.attributes.uv1,xe=ie.attributes.normal,Se=ie.groups,Me=ie.drawRange;if(le!==null)if(Array.isArray(se))for(let De=0,Oe=Se.length;DeE.far?null:{distance:ge,point:ym.clone(),object:ee}}function iS(ee,y,E,z,ne,ie,se,le,de,ge){ee.getVertexPosition(le,M1),ee.getVertexPosition(de,tC),ee.getVertexPosition(ge,cx);const ve=ZM(ee,y,E,z,M1,tC,cx,Nb);if(ve){const xe=new Vt;Jf.getBarycoord(Nb,M1,tC,cx,xe),ne&&(ve.uv=Jf.getInterpolatedAttribute(ne,le,de,ge,xe,new ki)),ie&&(ve.uv1=Jf.getInterpolatedAttribute(ie,le,de,ge,xe,new ki)),se&&(ve.normal=Jf.getInterpolatedAttribute(se,le,de,ge,xe,new Vt),ve.normal.dot(z.direction)>0&&ve.normal.multiplyScalar(-1));const Se={a:le,b:de,c:ge,normal:new Vt,materialIndex:0};Jf.getNormal(M1,tC,cx,Se.normal),ve.face=Se,ve.barycoord=xe}return ve}class Ov extends Ha{constructor(y=1,E=1,z=1,ne=1,ie=1,se=1){super(),this.type="BoxGeometry",this.parameters={width:y,height:E,depth:z,widthSegments:ne,heightSegments:ie,depthSegments:se};const le=this;ne=Math.floor(ne),ie=Math.floor(ie),se=Math.floor(se);const de=[],ge=[],ve=[],xe=[];let Se=0,Me=0;De("z","y","x",-1,-1,z,E,y,se,ie,0),De("z","y","x",1,-1,z,E,-y,se,ie,1),De("x","z","y",1,1,y,z,E,ne,se,2),De("x","z","y",1,-1,y,z,-E,ne,se,3),De("x","y","z",1,-1,y,E,z,ne,ie,4),De("x","y","z",-1,-1,y,E,-z,ne,ie,5),this.setIndex(de),this.setAttribute("position",new ds(ge,3)),this.setAttribute("normal",new ds(ve,3)),this.setAttribute("uv",new ds(xe,2));function De(Oe,Re,Le,Qe,Xe,Ze,it,et,ht,lt,ot){const rt=Ze/ht,Mt=it/lt,Xt=Ze/2,cn=it/2,Cn=et/2,En=ht+1,Zn=lt+1;let ti=0,bn=0;const rn=new Vt;for(let li=0;li0?1:-1,ve.push(rn.x,rn.y,rn.z),xe.push(Wn/ht),xe.push(1-li/lt),ti+=1}}for(let li=0;liMe+De?(ge.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:y.handedness,target:this})):!ge.inputState.pinching&&Se<=Me-De&&(ge.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:y.handedness,target:this}))}else de!==null&&y.gripSpace&&(ie=E.getPose(y.gripSpace,z),ie!==null&&(de.matrix.fromArray(ie.transform.matrix),de.matrix.decompose(de.position,de.rotation,de.scale),de.matrixWorldNeedsUpdate=!0,ie.linearVelocity?(de.hasLinearVelocity=!0,de.linearVelocity.copy(ie.linearVelocity)):de.hasLinearVelocity=!1,ie.angularVelocity?(de.hasAngularVelocity=!0,de.angularVelocity.copy(ie.angularVelocity)):de.hasAngularVelocity=!1));le!==null&&(ne=E.getPose(y.targetRaySpace,z),ne===null&&ie!==null&&(ne=ie),ne!==null&&(le.matrix.fromArray(ne.transform.matrix),le.matrix.decompose(le.position,le.rotation,le.scale),le.matrixWorldNeedsUpdate=!0,ne.linearVelocity?(le.hasLinearVelocity=!0,le.linearVelocity.copy(ne.linearVelocity)):le.hasLinearVelocity=!1,ne.angularVelocity?(le.hasAngularVelocity=!0,le.angularVelocity.copy(ne.angularVelocity)):le.hasAngularVelocity=!1,this.dispatchEvent(KM)))}return le!==null&&(le.visible=ne!==null),de!==null&&(de.visible=ie!==null),ge!==null&&(ge.visible=se!==null),this}_getHandJoint(y,E){if(y.joints[E.jointName]===void 0){const z=new Gy;z.matrixAutoUpdate=!1,z.visible=!1,y.joints[E.jointName]=z,y.add(z)}return y.joints[E.jointName]}}class sC{constructor(y,E=25e-5){this.isFogExp2=!0,this.name="",this.color=new fo(y),this.density=E}clone(){return new sC(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class B1{constructor(y,E=1,z=1e3){this.isFog=!0,this.name="",this.color=new fo(y),this.near=E,this.far=z}clone(){return new B1(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Xy extends yc{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Pu,this.environmentIntensity=1,this.environmentRotation=new Pu,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(y,E){return super.copy(y,E),y.background!==null&&(this.background=y.background.clone()),y.environment!==null&&(this.environment=y.environment.clone()),y.fog!==null&&(this.fog=y.fog.clone()),this.backgroundBlurriness=y.backgroundBlurriness,this.backgroundIntensity=y.backgroundIntensity,this.backgroundRotation.copy(y.backgroundRotation),this.environmentIntensity=y.environmentIntensity,this.environmentRotation.copy(y.environmentRotation),y.overrideMaterial!==null&&(this.overrideMaterial=y.overrideMaterial.clone()),this.matrixAutoUpdate=y.matrixAutoUpdate,this}toJSON(y){const E=super.toJSON(y);return this.fog!==null&&(E.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(E.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(E.object.backgroundIntensity=this.backgroundIntensity),E.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(E.object.environmentIntensity=this.environmentIntensity),E.object.environmentRotation=this.environmentRotation.toArray(),E}}class Wy{constructor(y,E){this.isInterleavedBuffer=!0,this.array=y,this.stride=E,this.count=y!==void 0?y.length/E:0,this.usage=fu,this.updateRanges=[],this.version=0,this.uuid=gu()}onUploadCallback(){}set needsUpdate(y){y===!0&&this.version++}setUsage(y){return this.usage=y,this}addUpdateRange(y,E){this.updateRanges.push({start:y,count:E})}clearUpdateRanges(){this.updateRanges.length=0}copy(y){return this.array=new y.array.constructor(y.array),this.count=y.count,this.stride=y.stride,this.usage=y.usage,this}copyAt(y,E,z){y*=this.stride,z*=E.stride;for(let ne=0,ie=this.stride;ney.far||E.push({distance:de,point:T1.clone(),uv:Jf.getInterpolation(T1,kr,px,F1,Ob,lC,zc,new ki),face:null,object:this})}copy(y,E){return super.copy(y,E),y.center!==void 0&&this.center.copy(y.center),this.material=y.material,this}}function Hv(ee,y,E,z,ne,ie){D1.subVectors(ee,E).addScalar(.5).multiply(z),ne!==void 0?(Yy.x=ie*D1.x-ne*D1.y,Yy.y=ne*D1.x+ie*D1.y):Yy.copy(D1),ee.copy(y),ee.x+=Yy.x,ee.y+=Yy.y,ee.applyMatrix4(aC)}const sS=new Vt,Am=new Vt;class uC extends null{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(y){super.copy(y,!1);const E=y.levels;for(let z=0,ne=E.length;z0){let z,ne;for(z=1,ne=E.length;z0){sS.setFromMatrixPosition(this.matrixWorld);const ne=y.ray.origin.distanceTo(sS);this.getObjectForDistance(ne).raycast(y,E)}}update(y){const E=this.levels;if(E.length>1){sS.setFromMatrixPosition(y.matrixWorld),Am.setFromMatrixPosition(this.matrixWorld);const z=sS.distanceTo(Am)/y.zoom;E[0].object.visible=!0;let ne,ie;for(ne=1,ie=E.length;ne=se)E[ne-1].object.visible=!1,E[ne].object.visible=!0;else break}for(this._currentLevel=ne-1;ne1?null:E.copy(y.start).addScaledVector(z,ie)}intersectsLine(y){const E=this.distanceToPoint(y.start),z=this.distanceToPoint(y.end);return E<0&&z>0||z<0&&E>0}intersectsBox(y){return y.intersectsPlane(this)}intersectsSphere(y){return y.intersectsPlane(this)}coplanarPoint(y){return y.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(y,E){const z=E||R1.getNormalMatrix(y),ne=this.coplanarPoint(Gh).applyMatrix4(y),ie=this.normal.applyMatrix3(z).normalize();return this.constant=-ne.dot(ie),this}translate(y){return this.constant-=y.dot(this.normal),this}equals(y){return y.normal.equals(this.normal)&&y.constant===this.constant}clone(){return new this.constructor().copy(this)}}const F0=new sd,mC=new ki(.5,.5),Jy=new Vt;class L0{constructor(y=new $f,E=new $f,z=new $f,ne=new $f,ie=new $f,se=new $f){this.planes=[y,E,z,ne,ie,se]}set(y,E,z,ne,ie,se){const le=this.planes;return le[0].copy(y),le[1].copy(E),le[2].copy(z),le[3].copy(ne),le[4].copy(ie),le[5].copy(se),this}copy(y){const E=this.planes;for(let z=0;z<6;z++)E[z].copy(y.planes[z]);return this}setFromProjectionMatrix(y,E=Cd){const z=this.planes,ne=y.elements,ie=ne[0],se=ne[1],le=ne[2],de=ne[3],ge=ne[4],ve=ne[5],xe=ne[6],Se=ne[7],Me=ne[8],De=ne[9],Oe=ne[10],Re=ne[11],Le=ne[12],Qe=ne[13],Xe=ne[14],Ze=ne[15];if(z[0].setComponents(de-ie,Se-ge,Re-Me,Ze-Le).normalize(),z[1].setComponents(de+ie,Se+ge,Re+Me,Ze+Le).normalize(),z[2].setComponents(de+se,Se+ve,Re+De,Ze+Qe).normalize(),z[3].setComponents(de-se,Se-ve,Re-De,Ze-Qe).normalize(),z[4].setComponents(de-le,Se-xe,Re-Oe,Ze-Xe).normalize(),E===Cd)z[5].setComponents(de+le,Se+xe,Re+Oe,Ze+Xe).normalize();else if(E===rd)z[5].setComponents(le,xe,Oe,Xe).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+E);return this}intersectsObject(y){if(y.boundingSphere!==void 0)y.boundingSphere===null&&y.computeBoundingSphere(),F0.copy(y.boundingSphere).applyMatrix4(y.matrixWorld);else{const E=y.geometry;E.boundingSphere===null&&E.computeBoundingSphere(),F0.copy(E.boundingSphere).applyMatrix4(y.matrixWorld)}return this.intersectsSphere(F0)}intersectsSprite(y){F0.center.set(0,0,0);const E=mC.distanceTo(y.center);return F0.radius=.7071067811865476+E,F0.applyMatrix4(y.matrixWorld),this.intersectsSphere(F0)}intersectsSphere(y){const E=this.planes,z=y.center,ne=-y.radius;for(let ie=0;ie<6;ie++)if(E[ie].distanceToPoint(z)0?y.max.x:y.min.x,Jy.y=ne.normal.y>0?y.max.y:y.min.y,Jy.z=ne.normal.z>0?y.max.z:y.min.z,ne.distanceToPoint(Jy)<0)return!1}return!0}containsPoint(y){const E=this.planes;for(let z=0;z<6;z++)if(E[z].distanceToPoint(y)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const bg=new rs,Rp=new L0;class yx{constructor(){this.coordinateSystem=Cd}intersectsObject(y,E){if(!E.isArrayCamera||E.cameras.length===0)return!1;for(let z=0;z=ie.length&&ie.push({start:-1,count:-1,z:-1,index:-1});const le=ie[this.index];se.push(le),this.index++,le.start=y,le.count=E,le.z=z,le.index=ne}reset(){this.list.length=0,this.index=0}}const eg=new rs,hS=new fo(1,1,1),dS=new L0,fS=new yx,Vv=new Md,Dd=new sd,O1=new Vt,ip=new Vt,yC=new Vt,k1=new qM,af=new lu,gS=null;function N0(ee,y,E=0){const z=y.itemSize;if(ee.isInterleavedBufferAttribute||ee.array.constructor!==y.array.constructor){const ne=ee.count;for(let ie=0;ie65535?new Uint32Array(ne):new Uint16Array(ne);E.setIndex(new wl(ie,1))}this._geometryInitialized=!0}}_validateGeometry(y){const E=this.geometry;if(!!y.getIndex()!=!!E.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const z in E.attributes){if(!y.hasAttribute(z))throw new Error(`THREE.BatchedMesh: Added geometry missing "${z}". All geometries must have consistent attributes.`);const ne=y.getAttribute(z),ie=E.getAttribute(z);if(ne.itemSize!==ie.itemSize||ne.normalized!==ie.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(y){const E=this._instanceInfo;if(y<0||y>=E.length||E[y].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${y}. Instance is either out of range or has been deleted.`)}validateGeometryId(y){const E=this._geometryInfo;if(y<0||y>=E.length||E[y].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${y}. Geometry is either out of range or has been deleted.`)}setCustomSort(y){return this.customSort=y,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Md);const y=this.boundingBox,E=this._instanceInfo;y.makeEmpty();for(let z=0,ne=E.length;z=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const z={visible:!0,active:!0,geometryIndex:y};let ne=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(Ax),ne=this._availableInstanceIds.shift(),this._instanceInfo[ne]=z):(ne=this._instanceInfo.length,this._instanceInfo.push(z));const ie=this._matricesTexture;eg.identity().toArray(ie.image.data,ne*16),ie.needsUpdate=!0;const se=this._colorsTexture;return se&&(hS.toArray(se.image.data,ne*4),se.needsUpdate=!0),this._visibilityChanged=!0,ne}addGeometry(y,E=-1,z=-1){this._initializeGeometry(y),this._validateGeometry(y);const ne={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},ie=this._geometryInfo;ne.vertexStart=this._nextVertexStart,ne.reservedVertexCount=E===-1?y.getAttribute("position").count:E;const se=y.getIndex();if(se!==null&&(ne.indexStart=this._nextIndexStart,ne.reservedIndexCount=z===-1?se.count:z),ne.indexStart!==-1&&ne.indexStart+ne.reservedIndexCount>this._maxIndexCount||ne.vertexStart+ne.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let de;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(Ax),de=this._availableGeometryIds.shift(),ie[de]=ne):(de=this._geometryCount,this._geometryCount++,ie.push(ne)),this.setGeometryAt(de,y),this._nextIndexStart=ne.indexStart+ne.reservedIndexCount,this._nextVertexStart=ne.vertexStart+ne.reservedVertexCount,de}setGeometryAt(y,E){if(y>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(E);const z=this.geometry,ne=z.getIndex()!==null,ie=z.getIndex(),se=E.getIndex(),le=this._geometryInfo[y];if(ne&&se.count>le.reservedIndexCount||E.attributes.position.count>le.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const de=le.vertexStart,ge=le.reservedVertexCount;le.vertexCount=E.getAttribute("position").count;for(const ve in z.attributes){const xe=E.getAttribute(ve),Se=z.getAttribute(ve);N0(xe,Se,de);const Me=xe.itemSize;for(let De=xe.count,Oe=ge;De=E.length||E[y].active===!1)return this;const z=this._instanceInfo;for(let ne=0,ie=z.length;nele).sort((se,le)=>z[se].vertexStart-z[le].vertexStart),ie=this.geometry;for(let se=0,le=z.length;se=this._geometryCount)return null;const z=this.geometry,ne=this._geometryInfo[y];if(ne.boundingBox===null){const ie=new Md,se=z.index,le=z.attributes.position;for(let de=ne.start,ge=ne.start+ne.count;de=this._geometryCount)return null;const z=this.geometry,ne=this._geometryInfo[y];if(ne.boundingSphere===null){const ie=new sd;this.getBoundingBoxAt(y,Vv),Vv.getCenter(ie.center);const se=z.index,le=z.attributes.position;let de=0;for(let ge=ne.start,ve=ne.start+ne.count;gele.active);if(Math.max(...z.map(le=>le.vertexStart+le.reservedVertexCount))>y)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${E}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...z.map(de=>de.indexStart+de.reservedIndexCount))>E)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${E}. Cannot shrink further.`);const ie=this.geometry;ie.dispose(),this._maxVertexCount=y,this._maxIndexCount=E,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new Ha,this._initializeGeometry(ie));const se=this.geometry;ie.index&&Mg(ie.index.array,se.index.array);for(const le in ie.attributes)Mg(ie.attributes[le].array,se.attributes[le].array)}raycast(y,E){const z=this._instanceInfo,ne=this._geometryInfo,ie=this.matrixWorld,se=this.geometry;af.material=this.material,af.geometry.index=se.index,af.geometry.attributes=se.attributes,af.geometry.boundingBox===null&&(af.geometry.boundingBox=new Md),af.geometry.boundingSphere===null&&(af.geometry.boundingSphere=new sd);for(let le=0,de=z.length;leNA(Sh({},E),{boundingBox:E.boundingBox!==null?E.boundingBox.clone():null,boundingSphere:E.boundingSphere!==null?E.boundingSphere.clone():null})),this._instanceInfo=y._instanceInfo.map(E=>Sh({},E)),this._availableInstanceIds=y._availableInstanceIds.slice(),this._availableGeometryIds=y._availableGeometryIds.slice(),this._nextIndexStart=y._nextIndexStart,this._nextVertexStart=y._nextVertexStart,this._geometryCount=y._geometryCount,this._maxInstanceCount=y._maxInstanceCount,this._maxVertexCount=y._maxVertexCount,this._maxIndexCount=y._maxIndexCount,this._geometryInitialized=y._geometryInitialized,this._multiDrawCounts=y._multiDrawCounts.slice(),this._multiDrawStarts=y._multiDrawStarts.slice(),this._indirectTexture=y._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=y._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=y._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(y,E,z,ne,ie){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const se=ne.getIndex(),le=se===null?1:se.array.BYTES_PER_ELEMENT,de=this._instanceInfo,ge=this._multiDrawStarts,ve=this._multiDrawCounts,xe=this._geometryInfo,Se=this.perObjectFrustumCulled,Me=this._indirectTexture,De=Me.image.data,Oe=z.isArrayCamera?fS:dS;Se&&!z.isArrayCamera&&(eg.multiplyMatrices(z.projectionMatrix,z.matrixWorldInverse).multiply(this.matrixWorld),dS.setFromProjectionMatrix(eg,y.coordinateSystem));let Re=0;if(this.sortObjects){eg.copy(this.matrixWorld).invert(),O1.setFromMatrixPosition(z.matrixWorld).applyMatrix4(eg),ip.set(0,0,-1).transformDirection(z.matrixWorld).transformDirection(eg);for(let Xe=0,Ze=de.length;Xe0){const ne=E[z[0]];if(ne!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let ie=0,se=ne.length;iez)return;Fa.applyMatrix4(ee.matrixWorld);const ge=y.ray.origin.distanceTo(Fa);if(!(gey.far))return{distance:ge,point:R0.clone().applyMatrix4(ee.matrixWorld),index:se,face:null,faceIndex:null,barycoord:null,object:ee}}const Hb=new Vt,AC=new Vt;class xC extends null{constructor(y,E){super(y,E),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const y=this.geometry;if(y.index===null){const E=y.attributes.position,z=[];for(let ne=0,ie=E.count;ne0){const ne=E[z[0]];if(ne!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let ie=0,se=ne.length;iene.far)return;ie.push({distance:ge,distanceToRay:Math.sqrt(le),point:de,index:y,face:null,faceIndex:null,barycoord:null,object:se})}}class wC extends null{constructor(y,E,z,ne,ie=tu,se=tu,le,de,ge){super(y,E,z,ne,ie,se,le,de,ge),this.isVideoTexture=!0,this.generateMipmaps=!1;const ve=this;function xe(){ve.needsUpdate=!0,y.requestVideoFrameCallback(xe)}"requestVideoFrameCallback"in y&&y.requestVideoFrameCallback(xe)}clone(){return new this.constructor(this.image).copy(this)}update(){const y=this.image;"requestVideoFrameCallback"in y===!1&&y.readyState>=y.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Ub extends null{constructor(y,E,z,ne,ie,se,le,de){super({},y,E,z,ne,ie,se,le,de),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(y){this.image=y,this.needsUpdate=!0}}class tg extends Ec{constructor(y,E){super({width:y,height:E}),this.isFramebufferTexture=!0,this.magFilter=xu,this.minFilter=xu,this.generateMipmaps=!1,this.needsUpdate=!0}}class Vb extends null{constructor(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se){super(null,se,le,de,ge,ve,ne,ie,xe,Se),this.isCompressedTexture=!0,this.image={width:E,height:z},this.mipmaps=y,this.flipY=!1,this.generateMipmaps=!1}}class Xb extends null{constructor(y,E,z,ne,ie,se){super(y,E,z,ie,se),this.isCompressedArrayTexture=!0,this.image.depth=ne,this.wrapR=bh,this.layerUpdates=new Set}addLayerUpdate(y){this.layerUpdates.add(y)}clearLayerUpdates(){this.layerUpdates.clear()}}class SC extends null{constructor(y,E,z){super(void 0,y[0].width,y[0].height,E,z,Jd),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=y}}class Wb extends null{constructor(y,E,z,ne,ie,se,le,de,ge){super(y,E,z,ne,ie,se,le,de,ge),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Wo extends Ec{constructor(y,E,z=nu,ne,ie,se,le=xu,de=xu,ge,ve=Oh,xe=1){if(ve!==Oh&&ve!==Mh)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const Se={width:y,height:E,depth:xe};super(Se,ne,ie,se,le,de,ve,z,ge),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(y){return super.copy(y),this.source=new y0(Object.assign({},y.image)),this.compareFunction=y.compareFunction,this}toJSON(y){const E=super.toJSON(y);return this.compareFunction!==null&&(E.compareFunction=this.compareFunction),E}}class PC extends Ha{constructor(y=1,E=1,z=4,ne=8,ie=1){super(),this.type="CapsuleGeometry",this.parameters={radius:y,height:E,capSegments:z,radialSegments:ne,heightSegments:ie},E=Math.max(0,E),z=Math.max(1,Math.floor(z)),ne=Math.max(3,Math.floor(ne)),ie=Math.max(1,Math.floor(ie));const se=[],le=[],de=[],ge=[],ve=E/2,xe=Math.PI/2*y,Se=E,Me=2*xe+Se,De=z*2+ie,Oe=ne+1,Re=new Vt,Le=new Vt;for(let Qe=0;Qe<=De;Qe++){let Xe=0,Ze=0,it=0,et=0;if(Qe<=z){const ot=Qe/z,rt=ot*Math.PI/2;Ze=-ve-y*Math.cos(rt),it=y*Math.sin(rt),et=-y*Math.cos(rt),Xe=ot*xe}else if(Qe<=z+ie){const ot=(Qe-z)/ie;Ze=-ve+ot*E,it=y,et=0,Xe=xe+ot*Se}else{const ot=(Qe-z-ie)/z,rt=ot*Math.PI/2;Ze=ve+y*Math.sin(rt),it=y*Math.cos(rt),et=y*Math.sin(rt),Xe=xe+Se+ot*xe}const ht=Math.max(0,Math.min(1,Xe/Me));let lt=0;Qe===0?lt=.5/ne:Qe===De&&(lt=-.5/ne);for(let ot=0;ot<=ne;ot++){const rt=ot/ne,Mt=rt*Math.PI*2,Xt=Math.sin(Mt),cn=Math.cos(Mt);Le.x=-it*cn,Le.y=Ze,Le.z=it*Xt,le.push(Le.x,Le.y,Le.z),Re.set(-it*cn,et,it*Xt),Re.normalize(),de.push(Re.x,Re.y,Re.z),ge.push(rt+lt,ht)}if(Qe>0){const ot=(Qe-1)*Oe;for(let rt=0;rt0&&Xe(!0),E>0&&Xe(!1)),this.setIndex(ve),this.setAttribute("position",new ds(xe,3)),this.setAttribute("normal",new ds(Se,3)),this.setAttribute("uv",new ds(Me,2));function Qe(){const Ze=new Vt,it=new Vt;let et=0;const ht=(E-y)/z;for(let lt=0;lt<=ie;lt++){const ot=[],rt=lt/ie,Mt=rt*(E-y)+y;for(let Xt=0;Xt<=ne;Xt++){const cn=Xt/ne,Cn=cn*de+le,En=Math.sin(Cn),Zn=Math.cos(Cn);it.x=Mt*En,it.y=-rt*z+Re,it.z=Mt*Zn,xe.push(it.x,it.y,it.z),Ze.set(En,ht,Zn).normalize(),Se.push(Ze.x,Ze.y,Ze.z),Me.push(cn,1-rt),ot.push(De++)}Oe.push(ot)}for(let lt=0;lt0||ot!==0)&&(ve.push(rt,Mt,cn),et+=3),(E>0||ot!==ie-1)&&(ve.push(Mt,Xt,cn),et+=3)}ge.addGroup(Le,et,0),Le+=et}function Xe(Ze){const it=De,et=new ki,ht=new Vt;let lt=0;const ot=Ze===!0?y:E,rt=Ze===!0?1:-1;for(let Xt=1;Xt<=ne;Xt++)xe.push(0,Re*rt,0),Se.push(0,rt,0),Me.push(.5,.5),De++;const Mt=De;for(let Xt=0;Xt<=ne;Xt++){const Cn=Xt/ne*de+le,En=Math.cos(Cn),Zn=Math.sin(Cn);ht.x=ot*Zn,ht.y=Re*rt,ht.z=ot*En,xe.push(ht.x,ht.y,ht.z),Se.push(0,rt,0),et.x=En*.5+.5,et.y=Zn*.5*rt+.5,Me.push(et.x,et.y),De++}for(let Xt=0;Xt.9&&ht<.1&&(Xe<.2&&(se[Qe+0]+=1),Ze<.2&&(se[Qe+2]+=1),it<.2&&(se[Qe+4]+=1))}}function Se(Qe){ie.push(Qe.x,Qe.y,Qe.z)}function Me(Qe,Xe){const Ze=Qe*3;Xe.x=y[Ze+0],Xe.y=y[Ze+1],Xe.z=y[Ze+2]}function De(){const Qe=new Vt,Xe=new Vt,Ze=new Vt,it=new Vt,et=new ki,ht=new ki,lt=new ki;for(let ot=0,rt=0;ot0)de=ne-1;else{de=ne;break}if(ne=de,z[ne]===se)return ne/(ie-1);const ve=z[ne],Se=z[ne+1]-ve,Me=(se-ve)/Se;return(ne+Me)/(ie-1)}getTangent(y,E){let ne=y-1e-4,ie=y+1e-4;ne<0&&(ne=0),ie>1&&(ie=1);const se=this.getPoint(ne),le=this.getPoint(ie),de=E||(se.isVector2?new ki:new Vt);return de.copy(le).sub(se).normalize(),de}getTangentAt(y,E){const z=this.getUtoTmapping(y);return this.getTangent(z,E)}computeFrenetFrames(y,E=!1){const z=new Vt,ne=[],ie=[],se=[],le=new Vt,de=new rs;for(let Me=0;Me<=y;Me++){const De=Me/y;ne[Me]=this.getTangentAt(De,new Vt)}ie[0]=new Vt,se[0]=new Vt;let ge=Number.MAX_VALUE;const ve=Math.abs(ne[0].x),xe=Math.abs(ne[0].y),Se=Math.abs(ne[0].z);ve<=ge&&(ge=ve,z.set(1,0,0)),xe<=ge&&(ge=xe,z.set(0,1,0)),Se<=ge&&z.set(0,0,1),le.crossVectors(ne[0],z).normalize(),ie[0].crossVectors(ne[0],le),se[0].crossVectors(ne[0],ie[0]);for(let Me=1;Me<=y;Me++){if(ie[Me]=ie[Me-1].clone(),se[Me]=se[Me-1].clone(),le.crossVectors(ne[Me-1],ne[Me]),le.length()>Number.EPSILON){le.normalize();const De=Math.acos(_a(ne[Me-1].dot(ne[Me]),-1,1));ie[Me].applyMatrix4(de.makeRotationAxis(le,De))}se[Me].crossVectors(ne[Me],ie[Me])}if(E===!0){let Me=Math.acos(_a(ie[0].dot(ie[y]),-1,1));Me/=y,ne[0].dot(le.crossVectors(ie[0],ie[y]))>0&&(Me=-Me);for(let De=1;De<=y;De++)ie[De].applyMatrix4(de.makeRotationAxis(ne[De],Me*De)),se[De].crossVectors(ne[De],ie[De])}return{tangents:ne,normals:ie,binormals:se}}clone(){return new this.constructor().copy(this)}copy(y){return this.arcLengthDivisions=y.arcLengthDivisions,this}toJSON(){const y={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return y.arcLengthDivisions=this.arcLengthDivisions,y.type=this.type,y}fromJSON(y){return this.arcLengthDivisions=y.arcLengthDivisions,this}}class bC extends xm{constructor(y=0,E=0,z=1,ne=1,ie=0,se=Math.PI*2,le=!1,de=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=y,this.aY=E,this.xRadius=z,this.yRadius=ne,this.aStartAngle=ie,this.aEndAngle=se,this.aClockwise=le,this.aRotation=de}getPoint(y,E=new ki){const z=E,ne=Math.PI*2;let ie=this.aEndAngle-this.aStartAngle;const se=Math.abs(ie)ne;)ie-=ne;ie0?0:(Math.floor(Math.abs(le)/ie)+1)*ie:de===0&&le===ie-1&&(le=ie-2,de=1);let ge,ve;this.closed||le>0?ge=ne[(le-1)%ie]:(wx.subVectors(ne[0],ne[1]).add(ne[0]),ge=wx);const xe=ne[le%ie],Se=ne[(le+1)%ie];if(this.closed||le+2ne.length-2?ne.length-1:se+1],xe=ne[se>ne.length-3?ne.length-1:se+2];return z.set(Qb(le,de.x,ge.x,ve.x,xe.x),Qb(le,de.y,ge.y,ve.y,xe.y)),z}copy(y){super.copy(y),this.points=[];for(let E=0,z=y.points.length;E=z){const se=ne[ie]-z,le=this.curves[ie],de=le.getLength(),ge=de===0?0:1-se/de;return le.getPointAt(ge,E)}ie++}return null}getLength(){const y=this.getCurveLengths();return y[y.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const y=[];let E=0;for(let z=0,ne=this.curves.length;z1&&!E[E.length-1].equals(E[0])&&E.push(E[0]),E}copy(y){super.copy(y),this.curves=[];for(let E=0,z=y.curves.length;E0){const xe=ge.getPoint(0);xe.equals(this.currentPoint)||this.lineTo(xe.x,xe.y)}this.curves.push(ge);const ve=ge.getPoint(1);return this.currentPoint.copy(ve),this}copy(y){return super.copy(y),this.currentPoint.copy(y.currentPoint),this}toJSON(){const y=super.toJSON();return y.currentPoint=this.currentPoint.toArray(),y}fromJSON(y){return super.fromJSON(y),this.currentPoint.fromArray(y.currentPoint),this}}class ya extends Sl{constructor(y){super(y),this.uuid=gu(),this.type="Shape",this.holes=[]}getPointsHoles(y){const E=[];for(let z=0,ne=this.holes.length;z80*E){le=1/0,de=1/0;let ve=-1/0,xe=-1/0;for(let Se=E;Seve&&(ve=Me),De>xe&&(xe=De)}ge=Math.max(ve-le,xe-de),ge=ge!==0?32767/ge:0}return W1(ie,se,E,le,de,ge,0),se}function If(ee,y,E,z,ne){let ie;if(ne===ig(ee,y,E,z)>0)for(let se=y;se=y;se-=z)ie=bS(se/z|0,ee[se],ee[se+1],ie);return ie&&O0(ie,ie.next)&&(eA(ie),ie=ie.next),ie}function ll(ee,y){if(!ee)return ee;y||(y=ee);let E=ee,z;do if(z=!1,!E.steiner&&(O0(E,E.next)||Ku(E.prev,E,E.next)===0)){if(eA(E),E=y=E.prev,E===E.next)break;z=!0}else E=E.next;while(z||E!==y);return y}function W1(ee,y,E,z,ne,ie,se){if(!ee)return;!se&&ie&&s5(ee,z,ne,ie);let le=ee;for(;ee.prev!==ee.next;){const de=ee.prev,ge=ee.next;if(ie?r5(ee,z,ne,ie):TT(ee)){y.push(de.i,ee.i,ge.i),eA(ee),ee=ge.next,le=ge.next;continue}if(ee=ge,ee===le){se?se===1?(ee=wS(ll(ee),y),W1(ee,y,E,z,ne,ie,2)):se===2&&Do(ee,y,E,z,ne,ie):W1(ll(ee),y,E,z,ne,ie,1);break}}}function TT(ee){const y=ee.prev,E=ee,z=ee.next;if(Ku(y,E,z)>=0)return!1;const ne=y.x,ie=E.x,se=z.x,le=y.y,de=E.y,ge=z.y,ve=Math.min(ne,ie,se),xe=Math.min(le,de,ge),Se=Math.max(ne,ie,se),Me=Math.max(le,de,ge);let De=z.next;for(;De!==y;){if(De.x>=ve&&De.x<=Se&&De.y>=xe&&De.y<=Me&&oc(ne,le,ie,de,se,ge,De.x,De.y)&&Ku(De.prev,De,De.next)>=0)return!1;De=De.next}return!0}function r5(ee,y,E,z){const ne=ee.prev,ie=ee,se=ee.next;if(Ku(ne,ie,se)>=0)return!1;const le=ne.x,de=ie.x,ge=se.x,ve=ne.y,xe=ie.y,Se=se.y,Me=Math.min(le,de,ge),De=Math.min(ve,xe,Se),Oe=Math.max(le,de,ge),Re=Math.max(ve,xe,Se),Le=SS(Me,De,y,E,z),Qe=SS(Oe,Re,y,E,z);let Xe=ee.prevZ,Ze=ee.nextZ;for(;Xe&&Xe.z>=Le&&Ze&&Ze.z<=Qe;){if(Xe.x>=Me&&Xe.x<=Oe&&Xe.y>=De&&Xe.y<=Re&&Xe!==ne&&Xe!==se&&oc(le,ve,de,xe,ge,Se,Xe.x,Xe.y)&&Ku(Xe.prev,Xe,Xe.next)>=0||(Xe=Xe.prevZ,Ze.x>=Me&&Ze.x<=Oe&&Ze.y>=De&&Ze.y<=Re&&Ze!==ne&&Ze!==se&&oc(le,ve,de,xe,ge,Se,Ze.x,Ze.y)&&Ku(Ze.prev,Ze,Ze.next)>=0))return!1;Ze=Ze.nextZ}for(;Xe&&Xe.z>=Le;){if(Xe.x>=Me&&Xe.x<=Oe&&Xe.y>=De&&Xe.y<=Re&&Xe!==ne&&Xe!==se&&oc(le,ve,de,xe,ge,Se,Xe.x,Xe.y)&&Ku(Xe.prev,Xe,Xe.next)>=0)return!1;Xe=Xe.prevZ}for(;Ze&&Ze.z<=Qe;){if(Ze.x>=Me&&Ze.x<=Oe&&Ze.y>=De&&Ze.y<=Re&&Ze!==ne&&Ze!==se&&oc(le,ve,de,xe,ge,Se,Ze.x,Ze.y)&&Ku(Ze.prev,Ze,Ze.next)>=0)return!1;Ze=Ze.nextZ}return!0}function wS(ee,y){let E=ee;do{const z=E.prev,ne=E.next.next;!O0(z,ne)&&Z1(z,E,E.next,ne)&&K1(z,ne)&&K1(ne,z)&&(y.push(z.i,E.i,ne.i),eA(E),eA(E.next),E=ee=ne),E=E.next}while(E!==ee);return ll(E)}function Do(ee,y,E,z,ne,ie){let se=ee;do{let le=se.next.next;for(;le!==se.prev;){if(se.i!==le.i&&nl(se,le)){let de=FC(se,le);se=ll(se,se.next),de=ll(de,de.next),W1(se,y,E,z,ne,ie,0),W1(de,y,E,z,ne,ie,0);return}le=le.next}se=se.next}while(se!==ee)}function o5(ee,y,E,z){const ne=[];for(let ie=0,se=y.length;ie=E.next.y&&E.next.y!==E.y){const xe=E.x+(ne-E.y)*(E.next.x-E.x)/(E.next.y-E.y);if(xe<=z&&xe>ie&&(ie=xe,se=E.x=E.x&&E.x>=de&&z!==E.x&&PS(nese.x||E.x===se.x&&Y1(se,E)))&&(se=E,ve=xe)}E=E.next}while(E!==le);return se}function Y1(ee,y){return Ku(ee.prev,ee,y.prev)<0&&Ku(y.next,ee,ee.next)<0}function s5(ee,y,E,z){let ne=ee;do ne.z===0&&(ne.z=SS(ne.x,ne.y,y,E,z)),ne.prevZ=ne.prev,ne.nextZ=ne.next,ne=ne.next;while(ne!==ee);ne.prevZ.nextZ=null,ne.prevZ=null,a5(ne)}function a5(ee){let y,E=1;do{let z=ee,ne;ee=null;let ie=null;for(y=0;z;){y++;let se=z,le=0;for(let ge=0;ge0||de>0&&se;)le!==0&&(de===0||!se||z.z<=se.z)?(ne=z,z=z.nextZ,le--):(ne=se,se=se.nextZ,de--),ie?ie.nextZ=ne:ee=ne,ne.prevZ=ie,ie=ne;z=se}ie.nextZ=null,E*=2}while(y>1);return ee}function SS(ee,y,E,z,ne){return ee=(ee-E)*ne|0,y=(y-z)*ne|0,ee=(ee|ee<<8)&16711935,ee=(ee|ee<<4)&252645135,ee=(ee|ee<<2)&858993459,ee=(ee|ee<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,ee|y<<1}function l5(ee){let y=ee,E=ee;do(y.x=(ee-se)*(ie-le)&&(ee-se)*(z-le)>=(E-se)*(y-le)&&(E-se)*(ie-le)>=(ne-se)*(z-le)}function oc(ee,y,E,z,ne,ie,se,le){return!(ee===se&&y===le)&&PS(ee,y,E,z,ne,ie,se,le)}function nl(ee,y){return ee.next.i!==y.i&&ee.prev.i!==y.i&&!u5(ee,y)&&(K1(ee,y)&&K1(y,ee)&&c5(ee,y)&&(Ku(ee.prev,ee,y.prev)||Ku(ee,y.prev,y))||O0(ee,y)&&Ku(ee.prev,ee,ee.next)>0&&Ku(y.prev,y,y.next)>0)}function Ku(ee,y,E){return(y.y-ee.y)*(E.x-y.x)-(y.x-ee.x)*(E.y-y.y)}function O0(ee,y){return ee.x===y.x&&ee.y===y.y}function Z1(ee,y,E,z){const ne=ES(Ku(ee,y,E)),ie=ES(Ku(ee,y,z)),se=ES(Ku(E,z,ee)),le=ES(Ku(E,z,y));return!!(ne!==ie&&se!==le||ne===0&&CS(ee,E,y)||ie===0&&CS(ee,z,y)||se===0&&CS(E,ee,z)||le===0&&CS(E,y,z))}function CS(ee,y,E){return y.x<=Math.max(ee.x,E.x)&&y.x>=Math.min(ee.x,E.x)&&y.y<=Math.max(ee.y,E.y)&&y.y>=Math.min(ee.y,E.y)}function ES(ee){return ee>0?1:ee<0?-1:0}function u5(ee,y){let E=ee;do{if(E.i!==ee.i&&E.next.i!==ee.i&&E.i!==y.i&&E.next.i!==y.i&&Z1(E,E.next,ee,y))return!0;E=E.next}while(E!==ee);return!1}function K1(ee,y){return Ku(ee.prev,ee,ee.next)<0?Ku(ee,y,ee.next)>=0&&Ku(ee,ee.prev,y)>=0:Ku(ee,y,ee.prev)<0||Ku(ee,ee.next,y)<0}function c5(ee,y){let E=ee,z=!1;const ne=(ee.x+y.x)/2,ie=(ee.y+y.y)/2;do E.y>ie!=E.next.y>ie&&E.next.y!==E.y&&ne<(E.next.x-E.x)*(ie-E.y)/(E.next.y-E.y)+E.x&&(z=!z),E=E.next;while(E!==ee);return z}function FC(ee,y){const E=_b(ee.i,ee.x,ee.y),z=_b(y.i,y.x,y.y),ne=ee.next,ie=y.prev;return ee.next=y,y.prev=ee,E.next=ne,ne.prev=E,z.next=E,E.prev=z,ie.next=z,z.prev=ie,z}function bS(ee,y,E,z){const ne=_b(ee,y,E);return z?(ne.next=z.next,ne.prev=z,z.next.prev=ne,z.next=ne):(ne.prev=ne,ne.next=ne),ne}function eA(ee){ee.next.prev=ee.prev,ee.prev.next=ee.next,ee.prevZ&&(ee.prevZ.nextZ=ee.nextZ),ee.nextZ&&(ee.nextZ.prevZ=ee.prevZ)}function _b(ee,y,E){return{i:ee,x:y,y:E,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function ig(ee,y,E,z){let ne=0;for(let ie=y,se=E-z;ie2&&ee[y-1].equals(ee[0])&&ee.pop()}function Hc(ee,y){for(let E=0;ENumber.EPSILON){const $i=Math.sqrt(Rt),ii=Math.sqrt(Js*Js+hn*hn),Ti=Pr.x-po/$i,qo=Pr.y+Rr/$i,ro=sr.x-hn/ii,us=sr.y+Js/ii,cs=((ro-Ti)*hn-(us-qo)*Js)/(Rr*hn-po*Js);Fr=Ti+Rr*cs-Ot.x,_i=qo+po*cs-Ot.y;const Or=Fr*Fr+_i*_i;if(Or<=2)return new ki(Fr,_i);Io=Math.sqrt(Or/2)}else{let $i=!1;Rr>Number.EPSILON?Js>Number.EPSILON&&($i=!0):Rr<-Number.EPSILON?Js<-Number.EPSILON&&($i=!0):Math.sign(po)===Math.sign(hn)&&($i=!0),$i?(Fr=-po,_i=Rr,Io=Math.sqrt(Rt)):(Fr=Rr,_i=po,Io=Math.sqrt(Rt/2))}return new ki(Fr/Io,_i/Io)}const rn=[];for(let Ot=0,Pr=En.length,sr=Pr-1,Fr=Ot+1;Ot=0;Ot--){const Pr=Ot/Re,sr=Me*Math.cos(Pr*Math.PI/2),Fr=De*Math.sin(Pr*Math.PI/2)+Oe;for(let _i=0,Io=En.length;_i=0;){const Fr=sr;let _i=sr-1;_i<0&&(_i=Ot.length-1);for(let Io=0,Rr=ve+Re*2;Io0)&&Me.push(Xe,Ze,et),(Le!==z-1||de0!=y>0&&this.version++,this._anisotropy=y}get clearcoat(){return this._clearcoat}set clearcoat(y){this._clearcoat>0!=y>0&&this.version++,this._clearcoat=y}get iridescence(){return this._iridescence}set iridescence(y){this._iridescence>0!=y>0&&this.version++,this._iridescence=y}get dispersion(){return this._dispersion}set dispersion(y){this._dispersion>0!=y>0&&this.version++,this._dispersion=y}get sheen(){return this._sheen}set sheen(y){this._sheen>0!=y>0&&this.version++,this._sheen=y}get transmission(){return this._transmission}set transmission(y){this._transmission>0!=y>0&&this.version++,this._transmission=y}copy(y){return super.copy(y),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=y.anisotropy,this.anisotropyRotation=y.anisotropyRotation,this.anisotropyMap=y.anisotropyMap,this.clearcoat=y.clearcoat,this.clearcoatMap=y.clearcoatMap,this.clearcoatRoughness=y.clearcoatRoughness,this.clearcoatRoughnessMap=y.clearcoatRoughnessMap,this.clearcoatNormalMap=y.clearcoatNormalMap,this.clearcoatNormalScale.copy(y.clearcoatNormalScale),this.dispersion=y.dispersion,this.ior=y.ior,this.iridescence=y.iridescence,this.iridescenceMap=y.iridescenceMap,this.iridescenceIOR=y.iridescenceIOR,this.iridescenceThicknessRange=[...y.iridescenceThicknessRange],this.iridescenceThicknessMap=y.iridescenceThicknessMap,this.sheen=y.sheen,this.sheenColor.copy(y.sheenColor),this.sheenColorMap=y.sheenColorMap,this.sheenRoughness=y.sheenRoughness,this.sheenRoughnessMap=y.sheenRoughnessMap,this.transmission=y.transmission,this.transmissionMap=y.transmissionMap,this.thickness=y.thickness,this.thicknessMap=y.thicknessMap,this.attenuationDistance=y.attenuationDistance,this.attenuationColor.copy(y.attenuationColor),this.specularIntensity=y.specularIntensity,this.specularIntensityMap=y.specularIntensityMap,this.specularColor.copy(y.specularColor),this.specularColorMap=y.specularColorMap,this}}class LC extends rf{constructor(y){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new fo(16777215),this.specular=new fo(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new fo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pu,this.combine=WA,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.specular.copy(y.specular),this.shininess=y.shininess,this.map=y.map,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.emissive.copy(y.emissive),this.emissiveMap=y.emissiveMap,this.emissiveIntensity=y.emissiveIntensity,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.specularMap=y.specularMap,this.alphaMap=y.alphaMap,this.envMap=y.envMap,this.envMapRotation.copy(y.envMapRotation),this.combine=y.combine,this.reflectivity=y.reflectivity,this.refractionRatio=y.refractionRatio,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.flatShading=y.flatShading,this.fog=y.fog,this}}class n2 extends rf{constructor(y){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new fo(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new fo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.map=y.map,this.gradientMap=y.gradientMap,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.emissive.copy(y.emissive),this.emissiveMap=y.emissiveMap,this.emissiveIntensity=y.emissiveIntensity,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.alphaMap=y.alphaMap,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.fog=y.fog,this}}class f5 extends rf{constructor(y){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(y)}copy(y){return super.copy(y),this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.flatShading=y.flatShading,this}}class NC extends rf{constructor(y){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new fo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new fo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pu,this.combine=WA,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.map=y.map,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.emissive.copy(y.emissive),this.emissiveMap=y.emissiveMap,this.emissiveIntensity=y.emissiveIntensity,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.specularMap=y.specularMap,this.alphaMap=y.alphaMap,this.envMap=y.envMap,this.envMapRotation.copy(y.envMapRotation),this.combine=y.combine,this.reflectivity=y.reflectivity,this.refractionRatio=y.refractionRatio,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.flatShading=y.flatShading,this.fog=y.fog,this}}class rA extends rf{constructor(y){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=He,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(y)}copy(y){return super.copy(y),this.depthPacking=y.depthPacking,this.map=y.map,this.alphaMap=y.alphaMap,this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this}}class ew extends rf{constructor(y){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(y)}copy(y){return super.copy(y),this.map=y.map,this.alphaMap=y.alphaMap,this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this}}class tw extends rf{constructor(y){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new fo(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.defines={MATCAP:""},this.color.copy(y.color),this.matcap=y.matcap,this.map=y.map,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.alphaMap=y.alphaMap,this.flatShading=y.flatShading,this.fog=y.fog,this}}class nw extends Fd{constructor(y){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(y)}copy(y){return super.copy(y),this.scale=y.scale,this.dashSize=y.dashSize,this.gapSize=y.gapSize,this}}function ls(ee,y){return!ee||ee.constructor===y?ee:typeof y.BYTES_PER_ELEMENT=="number"?new y(ee):Array.prototype.slice.call(ee)}function IC(ee){return ArrayBuffer.isView(ee)&&!(ee instanceof DataView)}function dh(ee){function y(ne,ie){return ee[ne]-ee[ie]}const E=ee.length,z=new Array(E);for(let ne=0;ne!==E;++ne)z[ne]=ne;return z.sort(y),z}function cd(ee,y,E){const z=ee.length,ne=new ee.constructor(z);for(let ie=0,se=0;se!==z;++ie){const le=E[ie]*y;for(let de=0;de!==y;++de)ne[se++]=ee[le+de]}return ne}function RC(ee,y,E,z){let ne=1,ie=ee[0];for(;ie!==void 0&&ie[z]===void 0;)ie=ee[ne++];if(ie===void 0)return;let se=ie[z];if(se!==void 0)if(Array.isArray(se))do se=ie[z],se!==void 0&&(y.push(ie.time),E.push(...se)),ie=ee[ne++];while(ie!==void 0);else if(se.toArray!==void 0)do se=ie[z],se!==void 0&&(y.push(ie.time),se.toArray(E,E.length)),ie=ee[ne++];while(ie!==void 0);else do se=ie[z],se!==void 0&&(y.push(ie.time),E.push(se)),ie=ee[ne++];while(ie!==void 0)}function OC(ee,y,E,z,ne=30){const ie=ee.clone();ie.name=y;const se=[];for(let de=0;de=z)){xe.push(ge.times[Me]);for(let Oe=0;Oeie.tracks[de].times[0]&&(le=ie.tracks[de].times[0]);for(let de=0;de=le.times[De]){const Le=De*xe+ve,Qe=Le+xe-ve;Oe=le.values.slice(Le,Qe)}else{const Le=le.createInterpolant(),Qe=ve,Xe=xe-ve;Le.evaluate(ie),Oe=Le.resultBuffer.slice(Qe,Xe)}de==="quaternion"&&new Nu().fromArray(Oe).normalize().conjugate().toArray(Oe);const Re=ge.times.length;for(let Le=0;Le=ie)){const le=E[1];y=ie)break t}se=z,z=0;break n}break e}for(;z>>1;yE;)--se;if(++se,ie!==0||se!==ne){ie>=se&&(se=Math.max(se,1),ie=se-1);const le=this.getValueSize();this.times=z.slice(ie,se),this.values=this.values.slice(ie*le,se*le)}return this}validate(){let y=!0;const E=this.getValueSize();E-Math.floor(E)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),y=!1);const z=this.times,ne=this.values,ie=z.length;ie===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),y=!1);let se=null;for(let le=0;le!==ie;le++){const de=z[le];if(typeof de=="number"&&isNaN(de)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,le,de),y=!1;break}if(se!==null&&se>de){console.error("THREE.KeyframeTrack: Out of order keys.",this,le,de,se),y=!1;break}se=de}if(ne!==void 0&&IC(ne))for(let le=0,de=ne.length;le!==de;++le){const ge=ne[le];if(isNaN(ge)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,le,ge),y=!1;break}}return y}optimize(){const y=this.times.slice(),E=this.values.slice(),z=this.getValueSize(),ne=this.getInterpolation()===p1,ie=y.length-1;let se=1;for(let le=1;le0){y[se]=y[ie];for(let le=ie*z,de=se*z,ge=0;ge!==z;++ge)E[de+ge]=E[le+ge];++se}return se!==y.length?(this.times=y.slice(0,se),this.values=E.slice(0,se*z)):(this.times=y,this.values=E),this}clone(){const y=this.times.slice(),E=this.values.slice(),z=this.constructor,ne=new z(this.name,y,E);return ne.createInterpolant=this.createInterpolant,ne}}Op.prototype.ValueTypeName="",Op.prototype.TimeBufferType=Float32Array,Op.prototype.ValueBufferType=Float32Array,Op.prototype.DefaultInterpolation=nc;class sA extends Op{constructor(y,E,z){super(y,E,z)}}sA.prototype.ValueTypeName="bool",sA.prototype.ValueBufferType=Array,sA.prototype.DefaultInterpolation=YA,sA.prototype.InterpolantFactoryMethodLinear=void 0,sA.prototype.InterpolantFactoryMethodSmooth=void 0;class o2 extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}}o2.prototype.ValueTypeName="color";class MS extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}}MS.prototype.ValueTypeName="number";class m5 extends oA{constructor(y,E,z,ne){super(y,E,z,ne)}interpolate_(y,E,z,ne){const ie=this.resultBuffer,se=this.sampleValues,le=this.valueSize,de=(z-E)/(ne-E);let ge=y*le;for(let ve=ge+le;ge!==ve;ge+=4)Nu.slerpFlat(ie,0,se,ge-le,se,ge,de);return ie}}class BS extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}InterpolantFactoryMethodLinear(y){return new m5(this.times,this.values,this.getValueSize(),y)}}BS.prototype.ValueTypeName="quaternion",BS.prototype.InterpolantFactoryMethodSmooth=void 0;class bx extends Op{constructor(y,E,z){super(y,E,z)}}bx.prototype.ValueTypeName="string",bx.prototype.ValueBufferType=Array,bx.prototype.DefaultInterpolation=YA,bx.prototype.InterpolantFactoryMethodLinear=void 0,bx.prototype.InterpolantFactoryMethodSmooth=void 0;class TS extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}}TS.prototype.ValueTypeName="vector";class DS{constructor(y="",E=-1,z=[],ne=he){this.name=y,this.tracks=z,this.duration=E,this.blendMode=ne,this.uuid=gu(),this.duration<0&&this.resetDuration()}static parse(y){const E=[],z=y.tracks,ne=1/(y.fps||1);for(let se=0,le=z.length;se!==le;++se)E.push(Of(z[se]).scale(ne));const ie=new this(y.name,y.duration,E,y.blendMode);return ie.uuid=y.uuid,ie}static toJSON(y){const E=[],z=y.tracks,ne={name:y.name,duration:y.duration,tracks:E,uuid:y.uuid,blendMode:y.blendMode};for(let ie=0,se=z.length;ie!==se;++ie)E.push(Op.toJSON(z[ie]));return ne}static CreateFromMorphTargetSequence(y,E,z,ne){const ie=E.length,se=[];for(let le=0;le1){const xe=ve[1];let Se=ne[xe];Se||(ne[xe]=Se=[]),Se.push(ge)}}const se=[];for(const le in ne)se.push(this.CreateFromMorphTargetSequence(le,ne[le],E,z));return se}static parseAnimation(y,E){if(console.warn("THREE.AnimationClip: parseAnimation() is deprecated and will be removed with r185"),!y)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const z=function(xe,Se,Me,De,Oe){if(Me.length!==0){const Re=[],Le=[];RC(Me,Re,Le,De),Re.length!==0&&Oe.push(new xe(Se,Re,Le))}},ne=[],ie=y.name||"default",se=y.fps||30,le=y.blendMode;let de=y.length||-1;const ge=y.hierarchy||[];for(let xe=0;xe{E&&E(ie),this.manager.itemEnd(y)},0),ie;if(Yv[y]!==void 0){Yv[y].push({onLoad:E,onProgress:z,onError:ne});return}Yv[y]=[],Yv[y].push({onLoad:E,onProgress:z,onError:ne});const se=new Request(y,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),le=this.mimeType,de=this.responseType;fetch(se).then(ge=>{if(ge.status===200||ge.status===0){if(ge.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||ge.body===void 0||ge.body.getReader===void 0)return ge;const ve=Yv[y],xe=ge.body.getReader(),Se=ge.headers.get("X-File-Size")||ge.headers.get("Content-Length"),Me=Se?parseInt(Se):0,De=Me!==0;let Oe=0;const Re=new ReadableStream({start(Le){Qe();function Qe(){xe.read().then(({done:Xe,value:Ze})=>{if(Xe)Le.close();else{Oe+=Ze.byteLength;const it=new ProgressEvent("progress",{lengthComputable:De,loaded:Oe,total:Me});for(let et=0,ht=ve.length;et{Le.error(Xe)})}}});return new Response(Re)}else throw new y5(`fetch for "${ge.url}" responded with ${ge.status}: ${ge.statusText}`,ge)}).then(ge=>{switch(de){case"arraybuffer":return ge.arrayBuffer();case"blob":return ge.blob();case"document":return ge.text().then(ve=>new DOMParser().parseFromString(ve,le));case"json":return ge.json();default:if(le==="")return ge.text();{const xe=/charset="?([^;"\s]*)"?/i.exec(le),Se=xe&&xe[1]?xe[1].toLowerCase():void 0,Me=new TextDecoder(Se);return ge.arrayBuffer().then(De=>Me.decode(De))}}}).then(ge=>{Tg.add(`file:${y}`,ge);const ve=Yv[y];delete Yv[y];for(let xe=0,Se=ve.length;xe{const ve=Yv[y];if(ve===void 0)throw this.manager.itemError(y),ge;delete Yv[y];for(let xe=0,Se=ve.length;xe{this.manager.itemEnd(y)}),this.manager.itemStart(y)}setResponseType(y){return this.responseType=y,this}setMimeType(y){return this.mimeType=y,this}}class QL extends null{constructor(y){super(y)}load(y,E,z,ne){const ie=this,se=new Zv(this.manager);se.setPath(this.path),se.setRequestHeader(this.requestHeader),se.setWithCredentials(this.withCredentials),se.load(y,function(le){try{E(ie.parse(JSON.parse(le)))}catch(de){ne?ne(de):console.error(de),ie.manager.itemError(y)}},z,ne)}parse(y){const E=[];for(let z=0;z0:ne.vertexColors=y.vertexColors),y.uniforms!==void 0)for(const ie in y.uniforms){const se=y.uniforms[ie];switch(ne.uniforms[ie]={},se.type){case"t":ne.uniforms[ie].value=z(se.value);break;case"c":ne.uniforms[ie].value=new fo().setHex(se.value);break;case"v2":ne.uniforms[ie].value=new ki().fromArray(se.value);break;case"v3":ne.uniforms[ie].value=new Vt().fromArray(se.value);break;case"v4":ne.uniforms[ie].value=new Ks().fromArray(se.value);break;case"m3":ne.uniforms[ie].value=new Oa().fromArray(se.value);break;case"m4":ne.uniforms[ie].value=new rs().fromArray(se.value);break;default:ne.uniforms[ie].value=se.value}}if(y.defines!==void 0&&(ne.defines=y.defines),y.vertexShader!==void 0&&(ne.vertexShader=y.vertexShader),y.fragmentShader!==void 0&&(ne.fragmentShader=y.fragmentShader),y.glslVersion!==void 0&&(ne.glslVersion=y.glslVersion),y.extensions!==void 0)for(const ie in y.extensions)ne.extensions[ie]=y.extensions[ie];if(y.lights!==void 0&&(ne.lights=y.lights),y.clipping!==void 0&&(ne.clipping=y.clipping),y.size!==void 0&&(ne.size=y.size),y.sizeAttenuation!==void 0&&(ne.sizeAttenuation=y.sizeAttenuation),y.map!==void 0&&(ne.map=z(y.map)),y.matcap!==void 0&&(ne.matcap=z(y.matcap)),y.alphaMap!==void 0&&(ne.alphaMap=z(y.alphaMap)),y.bumpMap!==void 0&&(ne.bumpMap=z(y.bumpMap)),y.bumpScale!==void 0&&(ne.bumpScale=y.bumpScale),y.normalMap!==void 0&&(ne.normalMap=z(y.normalMap)),y.normalMapType!==void 0&&(ne.normalMapType=y.normalMapType),y.normalScale!==void 0){let ie=y.normalScale;Array.isArray(ie)===!1&&(ie=[ie,ie]),ne.normalScale=new ki().fromArray(ie)}return y.displacementMap!==void 0&&(ne.displacementMap=z(y.displacementMap)),y.displacementScale!==void 0&&(ne.displacementScale=y.displacementScale),y.displacementBias!==void 0&&(ne.displacementBias=y.displacementBias),y.roughnessMap!==void 0&&(ne.roughnessMap=z(y.roughnessMap)),y.metalnessMap!==void 0&&(ne.metalnessMap=z(y.metalnessMap)),y.emissiveMap!==void 0&&(ne.emissiveMap=z(y.emissiveMap)),y.emissiveIntensity!==void 0&&(ne.emissiveIntensity=y.emissiveIntensity),y.specularMap!==void 0&&(ne.specularMap=z(y.specularMap)),y.specularIntensityMap!==void 0&&(ne.specularIntensityMap=z(y.specularIntensityMap)),y.specularColorMap!==void 0&&(ne.specularColorMap=z(y.specularColorMap)),y.envMap!==void 0&&(ne.envMap=z(y.envMap)),y.envMapRotation!==void 0&&ne.envMapRotation.fromArray(y.envMapRotation),y.envMapIntensity!==void 0&&(ne.envMapIntensity=y.envMapIntensity),y.reflectivity!==void 0&&(ne.reflectivity=y.reflectivity),y.refractionRatio!==void 0&&(ne.refractionRatio=y.refractionRatio),y.lightMap!==void 0&&(ne.lightMap=z(y.lightMap)),y.lightMapIntensity!==void 0&&(ne.lightMapIntensity=y.lightMapIntensity),y.aoMap!==void 0&&(ne.aoMap=z(y.aoMap)),y.aoMapIntensity!==void 0&&(ne.aoMapIntensity=y.aoMapIntensity),y.gradientMap!==void 0&&(ne.gradientMap=z(y.gradientMap)),y.clearcoatMap!==void 0&&(ne.clearcoatMap=z(y.clearcoatMap)),y.clearcoatRoughnessMap!==void 0&&(ne.clearcoatRoughnessMap=z(y.clearcoatRoughnessMap)),y.clearcoatNormalMap!==void 0&&(ne.clearcoatNormalMap=z(y.clearcoatNormalMap)),y.clearcoatNormalScale!==void 0&&(ne.clearcoatNormalScale=new ki().fromArray(y.clearcoatNormalScale)),y.iridescenceMap!==void 0&&(ne.iridescenceMap=z(y.iridescenceMap)),y.iridescenceThicknessMap!==void 0&&(ne.iridescenceThicknessMap=z(y.iridescenceThicknessMap)),y.transmissionMap!==void 0&&(ne.transmissionMap=z(y.transmissionMap)),y.thicknessMap!==void 0&&(ne.thicknessMap=z(y.thicknessMap)),y.anisotropyMap!==void 0&&(ne.anisotropyMap=z(y.anisotropyMap)),y.sheenColorMap!==void 0&&(ne.sheenColorMap=z(y.sheenColorMap)),y.sheenRoughnessMap!==void 0&&(ne.sheenRoughnessMap=z(y.sheenRoughnessMap)),ne}setTextures(y){return this.textures=y,this}createMaterialFromType(y){return ow.createMaterialFromType(y)}static createMaterialFromType(y){const E={ShadowMaterial:d5,SpriteMaterial:oS,RawShaderMaterial:DT,ShaderMaterial:np,PointsMaterial:pS,MeshPhysicalMaterial:t2,MeshStandardMaterial:e2,MeshPhongMaterial:LC,MeshToonMaterial:n2,MeshNormalMaterial:f5,MeshLambertMaterial:NC,MeshDepthMaterial:rA,MeshDistanceMaterial:ew,MeshBasicMaterial:Vh,MeshMatcapMaterial:tw,LineDashedMaterial:nw,LineBasicMaterial:Fd,Material:rf};return new E[y]}}class jC{static extractUrlBase(y){const E=y.lastIndexOf("/");return E===-1?"./":y.slice(0,E+1)}static resolveURL(y,E){return typeof y!="string"||y===""?"":(/^https?:\/\//i.test(E)&&/^\//.test(y)&&(E=E.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(y)||/^data:.*,.*$/i.test(y)||/^blob:.*$/i.test(y)?y:E+y)}}class RT extends null{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(y){return super.copy(y),this.instanceCount=y.instanceCount,this}toJSON(){const y=super.toJSON();return y.instanceCount=this.instanceCount,y.isInstancedBufferGeometry=!0,y}}class NS extends null{constructor(y){super(y)}load(y,E,z,ne){const ie=this,se=new Zv(ie.manager);se.setPath(ie.path),se.setRequestHeader(ie.requestHeader),se.setWithCredentials(ie.withCredentials),se.load(y,function(le){try{E(ie.parse(JSON.parse(le)))}catch(de){ne?ne(de):console.error(de),ie.manager.itemError(y)}},z,ne)}parse(y){const E={},z={};function ne(Me,De){if(E[De]!==void 0)return E[De];const Re=Me.interleavedBuffers[De],Le=ie(Me,Re.buffer),Qe=Ry(Re.type,Le),Xe=new Wy(Qe,Re.stride);return Xe.uuid=Re.uuid,E[De]=Xe,Xe}function ie(Me,De){if(z[De]!==void 0)return z[De];const Re=Me.arrayBuffers[De],Le=new Uint32Array(Re).buffer;return z[De]=Le,Le}const se=y.isInstancedBufferGeometry?new RT:new Ha,le=y.data.index;if(le!==void 0){const Me=Ry(le.type,le.array);se.setIndex(new wl(Me,1))}const de=y.data.attributes;for(const Me in de){const De=de[Me];let Oe;if(De.isInterleavedBufferAttribute){const Re=ne(y.data,De.data);Oe=new Qy(Re,De.itemSize,De.offset,De.normalized)}else{const Re=Ry(De.type,De.array),Le=De.isInstancedBufferAttribute?_f:wl;Oe=new Le(Re,De.itemSize,De.normalized)}De.name!==void 0&&(Oe.name=De.name),De.usage!==void 0&&Oe.setUsage(De.usage),se.setAttribute(Me,Oe)}const ge=y.data.morphAttributes;if(ge)for(const Me in ge){const De=ge[Me],Oe=[];for(let Re=0,Le=De.length;Re0){const de=new v5(E);ie=new Mx(de),ie.setCrossOrigin(this.crossOrigin);for(let ge=0,ve=y.length;ge0){ne=new Mx(this.manager),ne.setCrossOrigin(this.crossOrigin);for(let se=0,le=y.length;se{let Re=null,Le=null;return Oe.boundingBox!==void 0&&(Re=new Md().fromJSON(Oe.boundingBox)),Oe.boundingSphere!==void 0&&(Le=new sd().fromJSON(Oe.boundingSphere)),NA(Sh({},Oe),{boundingBox:Re,boundingSphere:Le})}),se._instanceInfo=y.instanceInfo,se._availableInstanceIds=y._availableInstanceIds,se._availableGeometryIds=y._availableGeometryIds,se._nextIndexStart=y.nextIndexStart,se._nextVertexStart=y.nextVertexStart,se._geometryCount=y.geometryCount,se._maxInstanceCount=y.maxInstanceCount,se._maxVertexCount=y.maxVertexCount,se._maxIndexCount=y.maxIndexCount,se._geometryInitialized=y.geometryInitialized,se._matricesTexture=ge(y.matricesTexture.uuid),se._indirectTexture=ge(y.indirectTexture.uuid),y.colorsTexture!==void 0&&(se._colorsTexture=ge(y.colorsTexture.uuid)),y.boundingSphere!==void 0&&(se.boundingSphere=new sd().fromJSON(y.boundingSphere)),y.boundingBox!==void 0&&(se.boundingBox=new Md().fromJSON(y.boundingBox));break;case"LOD":se=new uC;break;case"Line":se=new jv(le(y.geometry),de(y.material));break;case"LineLoop":se=new MT(le(y.geometry),de(y.material));break;case"LineSegments":se=new xC(le(y.geometry),de(y.material));break;case"PointCloud":case"Points":se=new $M(le(y.geometry),de(y.material));break;case"Sprite":se=new jn(de(y.material));break;case"Group":se=new Gy;break;case"Bone":se=new JM;break;default:se=new yc}if(se.uuid=y.uuid,y.name!==void 0&&(se.name=y.name),y.matrix!==void 0?(se.matrix.fromArray(y.matrix),y.matrixAutoUpdate!==void 0&&(se.matrixAutoUpdate=y.matrixAutoUpdate),se.matrixAutoUpdate&&se.matrix.decompose(se.position,se.quaternion,se.scale)):(y.position!==void 0&&se.position.fromArray(y.position),y.rotation!==void 0&&se.rotation.fromArray(y.rotation),y.quaternion!==void 0&&se.quaternion.fromArray(y.quaternion),y.scale!==void 0&&se.scale.fromArray(y.scale)),y.up!==void 0&&se.up.fromArray(y.up),y.castShadow!==void 0&&(se.castShadow=y.castShadow),y.receiveShadow!==void 0&&(se.receiveShadow=y.receiveShadow),y.shadow&&(y.shadow.intensity!==void 0&&(se.shadow.intensity=y.shadow.intensity),y.shadow.bias!==void 0&&(se.shadow.bias=y.shadow.bias),y.shadow.normalBias!==void 0&&(se.shadow.normalBias=y.shadow.normalBias),y.shadow.radius!==void 0&&(se.shadow.radius=y.shadow.radius),y.shadow.mapSize!==void 0&&se.shadow.mapSize.fromArray(y.shadow.mapSize),y.shadow.camera!==void 0&&(se.shadow.camera=this.parseObject(y.shadow.camera))),y.visible!==void 0&&(se.visible=y.visible),y.frustumCulled!==void 0&&(se.frustumCulled=y.frustumCulled),y.renderOrder!==void 0&&(se.renderOrder=y.renderOrder),y.userData!==void 0&&(se.userData=y.userData),y.layers!==void 0&&(se.layers.mask=y.layers),y.children!==void 0){const Se=y.children;for(let Me=0;Me{if(XC.has(se)===!0)ne&&ne(XC.get(se)),ie.manager.itemError(y),ie.manager.itemEnd(y);else return E&&E(ge),ie.manager.itemEnd(y),ge});return}return setTimeout(function(){E&&E(se),ie.manager.itemEnd(y)},0),se}const le={};le.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",le.headers=this.requestHeader;const de=fetch(y,le).then(function(ge){return ge.blob()}).then(function(ge){return createImageBitmap(ge,Object.assign(ie.options,{colorSpaceConversion:"none"}))}).then(function(ge){return Tg.add(`image-bitmap:${y}`,ge),E&&E(ge),ie.manager.itemEnd(y),ge}).catch(function(ge){ne&&ne(ge),XC.set(de,ge),Tg.remove(`image-bitmap:${y}`),ie.manager.itemError(y),ie.manager.itemEnd(y)});Tg.add(`image-bitmap:${y}`,de),ie.manager.itemStart(y)}}let WC;class f2{static getContext(){return WC===void 0&&(WC=new(window.AudioContext||window.webkitAudioContext)),WC}static setContext(y){WC=y}}class zT extends null{constructor(y){super(y)}load(y,E,z,ne){const ie=this,se=new Zv(this.manager);se.setResponseType("arraybuffer"),se.setPath(this.path),se.setRequestHeader(this.requestHeader),se.setWithCredentials(this.withCredentials),se.load(y,function(de){try{const ge=de.slice(0);f2.getContext().decodeAudioData(ge,function(xe){E(xe)}).catch(le)}catch(ge){le(ge)}},z,ne);function le(de){ne?ne(de):console.error(de),ie.manager.itemError(y)}}}const H0=new rs,sw=new rs,Jv=new rs;class HT{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new ah,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new ah,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(y){const E=this._cache;if(E.focus!==y.focus||E.fov!==y.fov||E.aspect!==y.aspect*this.aspect||E.near!==y.near||E.far!==y.far||E.zoom!==y.zoom||E.eyeSep!==this.eyeSep){E.focus=y.focus,E.fov=y.fov,E.aspect=y.aspect*this.aspect,E.near=y.near,E.far=y.far,E.zoom=y.zoom,E.eyeSep=this.eyeSep,Jv.copy(y.projectionMatrix);const ne=E.eyeSep/2,ie=ne*E.near/E.focus,se=E.near*Math.tan(Jg*E.fov*.5)/E.zoom;let le,de;sw.elements[12]=-ne,H0.elements[12]=ne,le=-se*E.aspect+ie,de=se*E.aspect+ie,Jv.elements[0]=2*E.near/(de-le),Jv.elements[8]=(de+le)/(de-le),this.cameraL.projectionMatrix.copy(Jv),le=-se*E.aspect-ie,de=se*E.aspect-ie,Jv.elements[0]=2*E.near/(de-le),Jv.elements[8]=(de+le)/(de-le),this.cameraR.projectionMatrix.copy(Jv)}this.cameraL.matrixWorld.copy(y.matrixWorld).multiply(sw),this.cameraR.matrixWorld.copy(y.matrixWorld).multiply(H0)}}class g2 extends ah{constructor(y=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=y}}class QC{constructor(y=!0){this.autoStart=y,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let y=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const E=performance.now();y=(E-this.oldTime)/1e3,this.oldTime=E,this.elapsedTime+=y}return y}}const U0=new Vt,IS=new Nu,p2=new Vt,qv=new Vt,Dg=new Vt;class aw extends null{constructor(){super(),this.type="AudioListener",this.context=f2.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new QC}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(y){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=y,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(y){return this.gain.gain.setTargetAtTime(y,this.context.currentTime,.01),this}updateMatrixWorld(y){super.updateMatrixWorld(y);const E=this.context.listener;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(U0,IS,p2),qv.set(0,0,-1).applyQuaternion(IS),Dg.set(0,1,0).applyQuaternion(IS),E.positionX){const z=this.context.currentTime+this.timeDelta;E.positionX.linearRampToValueAtTime(U0.x,z),E.positionY.linearRampToValueAtTime(U0.y,z),E.positionZ.linearRampToValueAtTime(U0.z,z),E.forwardX.linearRampToValueAtTime(qv.x,z),E.forwardY.linearRampToValueAtTime(qv.y,z),E.forwardZ.linearRampToValueAtTime(qv.z,z),E.upX.linearRampToValueAtTime(Dg.x,z),E.upY.linearRampToValueAtTime(Dg.y,z),E.upZ.linearRampToValueAtTime(Dg.z,z)}else E.setPosition(U0.x,U0.y,U0.z),E.setOrientation(qv.x,qv.y,qv.z,Dg.x,Dg.y,Dg.z)}}class m2 extends null{constructor(y){super(),this.type="Audio",this.listener=y,this.context=y.context,this.gain=this.context.createGain(),this.gain.connect(y.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(y){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=y,this.connect(),this}setMediaElementSource(y){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(y),this.connect(),this}setMediaStreamSource(y){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(y),this.connect(),this}setBuffer(y){return this.buffer=y,this.sourceType="buffer",this.autoplay&&this.play(),this}play(y=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+y;const E=this.context.createBufferSource();return E.buffer=this.buffer,E.loop=this.loop,E.loopStart=this.loopStart,E.loopEnd=this.loopEnd,E.onended=this.onEnded.bind(this),E.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=E,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(y=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+y),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let y=1,E=this.filters.length;y0){this.source.disconnect(this.filters[0]);for(let y=1,E=this.filters.length;y0&&this._mixBufferRegionAdditive(z,ne,this._addIndex*E,1,E);for(let de=E,ge=E+E;de!==ge;++de)if(z[de]!==z[de+E]){le.setValue(z,ne);break}}saveOriginalState(){const y=this.binding,E=this.buffer,z=this.valueSize,ne=z*this._origIndex;y.getValue(E,ne);for(let ie=z,se=ne;ie!==se;++ie)E[ie]=E[ne+ie%z];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const y=this.valueSize*3;this.binding.setValue(this.buffer,y)}_setAdditiveIdentityNumeric(){const y=this._addIndex*this.valueSize,E=y+this.valueSize;for(let z=y;z=.5)for(let se=0;se!==ie;++se)y[E+se]=y[z+se]}_slerp(y,E,z,ne){Nu.slerpFlat(y,E,y,E,y,z,ne)}_slerpAdditive(y,E,z,ne,ie){const se=this._workIndex*ie;Nu.multiplyQuaternionsFlat(y,se,y,E,y,z),Nu.slerpFlat(y,E,y,E,y,se,ne)}_lerp(y,E,z,ne,ie){const se=1-ne;for(let le=0;le!==ie;++le){const de=E+le;y[de]=y[de]*se+y[z+le]*ne}}_lerpAdditive(y,E,z,ne,ie){for(let se=0;se!==ie;++se){const le=E+se;y[le]=y[le]+y[z+se]*ne}}}const lw="\\[\\]\\.:\\/",kp=new RegExp("["+lw+"]","g"),_v="[^"+lw+"]",uw="[^"+lw.replace("\\.","")+"]",RS=/((?:WC+[\/:])*)/.source.replace("WC",_v),OS=/(WCOD+)?/.source.replace("WCOD",uw),kS=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",_v),cw=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",_v),Dx=new RegExp("^"+RS+OS+kS+cw+"$"),zp=["material","materials","bones","map"];class Hp{constructor(y,E,z){const ne=z||fl.parseTrackName(E);this._targetGroup=y,this._bindings=y.subscribe_(E,ne)}getValue(y,E){this.bind();const z=this._targetGroup.nCachedObjects_,ne=this._bindings[z];ne!==void 0&&ne.getValue(y,E)}setValue(y,E){const z=this._bindings;for(let ne=this._targetGroup.nCachedObjects_,ie=z.length;ne!==ie;++ne)z[ne].setValue(y,E)}bind(){const y=this._bindings;for(let E=this._targetGroup.nCachedObjects_,z=y.length;E!==z;++E)y[E].bind()}unbind(){const y=this._bindings;for(let E=this._targetGroup.nCachedObjects_,z=y.length;E!==z;++E)y[E].unbind()}}class fl{constructor(y,E,z){this.path=E,this.parsedPath=z||fl.parseTrackName(E),this.node=fl.findNode(y,this.parsedPath.nodeName),this.rootNode=y,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(y,E,z){return y&&y.isAnimationObjectGroup?new fl.Composite(y,E,z):new fl(y,E,z)}static sanitizeNodeName(y){return y.replace(/\s/g,"_").replace(kp,"")}static parseTrackName(y){const E=Dx.exec(y);if(E===null)throw new Error("PropertyBinding: Cannot parse trackName: "+y);const z={nodeName:E[2],objectName:E[3],objectIndex:E[4],propertyName:E[5],propertyIndex:E[6]},ne=z.nodeName&&z.nodeName.lastIndexOf(".");if(ne!==void 0&&ne!==-1){const ie=z.nodeName.substring(ne+1);zp.indexOf(ie)!==-1&&(z.nodeName=z.nodeName.substring(0,ne),z.objectName=ie)}if(z.propertyName===null||z.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+y);return z}static findNode(y,E){if(E===void 0||E===""||E==="."||E===-1||E===y.name||E===y.uuid)return y;if(y.skeleton){const z=y.skeleton.getBoneByName(E);if(z!==void 0)return z}if(y.children){const z=function(ie){for(let se=0;se=ie){const xe=ie++,Se=y[xe];E[Se.uuid]=ve,y[ve]=Se,E[ge]=xe,y[xe]=de;for(let Me=0,De=ne;Me!==De;++Me){const Oe=z[Me],Re=Oe[xe],Le=Oe[ve];Oe[ve]=Re,Oe[xe]=Le}}}this.nCachedObjects_=ie}uncache(){const y=this._objects,E=this._indicesByUUID,z=this._bindings,ne=z.length;let ie=this.nCachedObjects_,se=y.length;for(let le=0,de=arguments.length;le!==de;++le){const ge=arguments[le],ve=ge.uuid,xe=E[ve];if(xe!==void 0)if(delete E[ve],xe0&&(E[Me.uuid]=xe),y[xe]=Me,y.pop();for(let De=0,Oe=ne;De!==Oe;++De){const Re=z[De];Re[xe]=Re[Se],Re.pop()}}}this.nCachedObjects_=ie}subscribe_(y,E){const z=this._bindingsIndicesByPath;let ne=z[y];const ie=this._bindings;if(ne!==void 0)return ie[ne];const se=this._paths,le=this._parsedPaths,de=this._objects,ge=de.length,ve=this.nCachedObjects_,xe=new Array(ge);ne=ie.length,z[y]=ne,se.push(y),le.push(E),ie.push(xe);for(let Se=ve,Me=de.length;Se!==Me;++Se){const De=de[Se];xe[Se]=new fl(De,y,E)}return xe}unsubscribe_(y){const E=this._bindingsIndicesByPath,z=E[y];if(z!==void 0){const ne=this._paths,ie=this._parsedPaths,se=this._bindings,le=se.length-1,de=se[le],ge=y[le];E[ge]=z,se[z]=de,se.pop(),ie[z]=ie[le],ie.pop(),ne[z]=ne[le],ne.pop()}}}class j0{constructor(y,E,z=null,ne=E.blendMode){this._mixer=y,this._clip=E,this._localRoot=z,this.blendMode=ne;const ie=E.tracks,se=ie.length,le=new Array(se),de={endingStart:Kg,endingEnd:Kg};for(let ge=0;ge!==se;++ge){const ve=ie[ge].createInterpolant(null);le[ge]=ve,ve.settings=de}this._interpolantSettings=de,this._interpolants=le,this._propertyBindings=new Array(se),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ny,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(y){return this._startTime=y,this}setLoop(y,E){return this.loop=y,this.repetitions=E,this}setEffectiveWeight(y){return this.weight=y,this._effectiveWeight=this.enabled?y:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(y){return this._scheduleFading(y,0,1)}fadeOut(y){return this._scheduleFading(y,1,0)}crossFadeFrom(y,E,z=!1){if(y.fadeOut(E),this.fadeIn(E),z===!0){const ne=this._clip.duration,ie=y._clip.duration,se=ie/ne,le=ne/ie;y.warp(1,se,E),this.warp(le,1,E)}return this}crossFadeTo(y,E,z=!1){return y.crossFadeFrom(this,E,z)}stopFading(){const y=this._weightInterpolant;return y!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(y)),this}setEffectiveTimeScale(y){return this.timeScale=y,this._effectiveTimeScale=this.paused?0:y,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(y){return this.timeScale=this._clip.duration/y,this.stopWarping()}syncWith(y){return this.time=y.time,this.timeScale=y.timeScale,this.stopWarping()}halt(y){return this.warp(this._effectiveTimeScale,0,y)}warp(y,E,z){const ne=this._mixer,ie=ne.time,se=this.timeScale;let le=this._timeScaleInterpolant;le===null&&(le=ne._lendControlInterpolant(),this._timeScaleInterpolant=le);const de=le.parameterPositions,ge=le.sampleValues;return de[0]=ie,de[1]=ie+z,ge[0]=y/se,ge[1]=E/se,this}stopWarping(){const y=this._timeScaleInterpolant;return y!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(y)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(y,E,z,ne){if(!this.enabled){this._updateWeight(y);return}const ie=this._startTime;if(ie!==null){const de=(y-ie)*z;de<0||z===0?E=0:(this._startTime=null,E=z*de)}E*=this._updateTimeScale(y);const se=this._updateTime(E),le=this._updateWeight(y);if(le>0){const de=this._interpolants,ge=this._propertyBindings;switch(this.blendMode){case me:for(let ve=0,xe=de.length;ve!==xe;++ve)de[ve].evaluate(se),ge[ve].accumulateAdditive(le);break;case he:default:for(let ve=0,xe=de.length;ve!==xe;++ve)de[ve].evaluate(se),ge[ve].accumulate(ne,le)}}}_updateWeight(y){let E=0;if(this.enabled){E=this.weight;const z=this._weightInterpolant;if(z!==null){const ne=z.evaluate(y)[0];E*=ne,y>z.parameterPositions[1]&&(this.stopFading(),ne===0&&(this.enabled=!1))}}return this._effectiveWeight=E,E}_updateTimeScale(y){let E=0;if(!this.paused){E=this.timeScale;const z=this._timeScaleInterpolant;if(z!==null){const ne=z.evaluate(y)[0];E*=ne,y>z.parameterPositions[1]&&(this.stopWarping(),E===0?this.paused=!0:this.timeScale=E)}}return this._effectiveTimeScale=E,E}_updateTime(y){const E=this._clip.duration,z=this.loop;let ne=this.time+y,ie=this._loopCount;const se=z===QA;if(y===0)return ie===-1?ne:se&&(ie&1)===1?E-ne:ne;if(z===Ly){ie===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(ne>=E)ne=E;else if(ne<0)ne=0;else{this.time=ne;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=ne,this._mixer.dispatchEvent({type:"finished",action:this,direction:y<0?-1:1})}}else{if(ie===-1&&(y>=0?(ie=0,this._setEndings(!0,this.repetitions===0,se)):this._setEndings(this.repetitions===0,!0,se)),ne>=E||ne<0){const le=Math.floor(ne/E);ne-=E*le,ie+=Math.abs(le);const de=this.repetitions-ie;if(de<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,ne=y>0?E:0,this.time=ne,this._mixer.dispatchEvent({type:"finished",action:this,direction:y>0?1:-1});else{if(de===1){const ge=y<0;this._setEndings(ge,!ge,se)}else this._setEndings(!1,!1,se);this._loopCount=ie,this.time=ne,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:le})}}else this.time=ne;if(se&&(ie&1)===1)return E-ne}return ne}_setEndings(y,E,z){const ne=this._interpolantSettings;z?(ne.endingStart=Cf,ne.endingEnd=Cf):(y?ne.endingStart=this.zeroSlopeAtStart?Cf:Kg:ne.endingStart=m0,E?ne.endingEnd=this.zeroSlopeAtEnd?Cf:Kg:ne.endingEnd=m0)}_scheduleFading(y,E,z){const ne=this._mixer,ie=ne.time;let se=this._weightInterpolant;se===null&&(se=ne._lendControlInterpolant(),this._weightInterpolant=se);const le=se.parameterPositions,de=se.sampleValues;return le[0]=ie,de[0]=E,le[1]=ie+y,de[1]=z,this}}const bm=new Float32Array(1);class y2 extends null{constructor(y){super(),this._root=y,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(y,E){const z=y._localRoot||this._root,ne=y._clip.tracks,ie=ne.length,se=y._propertyBindings,le=y._interpolants,de=z.uuid,ge=this._bindingsByRootAndName;let ve=ge[de];ve===void 0&&(ve={},ge[de]=ve);for(let xe=0;xe!==ie;++xe){const Se=ne[xe],Me=Se.name;let De=ve[Me];if(De!==void 0)++De.referenceCount,se[xe]=De;else{if(De=se[xe],De!==void 0){De._cacheIndex===null&&(++De.referenceCount,this._addInactiveBinding(De,de,Me));continue}const Oe=E&&E._propertyBindings[xe].binding.parsedPath;De=new og(fl.create(z,Me,Oe),Se.ValueTypeName,Se.getValueSize()),++De.referenceCount,this._addInactiveBinding(De,de,Me),se[xe]=De}le[xe].resultBuffer=De.buffer}}_activateAction(y){if(!this._isActiveAction(y)){if(y._cacheIndex===null){const z=(y._localRoot||this._root).uuid,ne=y._clip.uuid,ie=this._actionsByClip[ne];this._bindAction(y,ie&&ie.knownActions[0]),this._addInactiveAction(y,ne,z)}const E=y._propertyBindings;for(let z=0,ne=E.length;z!==ne;++z){const ie=E[z];ie.useCount++===0&&(this._lendBinding(ie),ie.saveOriginalState())}this._lendAction(y)}}_deactivateAction(y){if(this._isActiveAction(y)){const E=y._propertyBindings;for(let z=0,ne=E.length;z!==ne;++z){const ie=E[z];--ie.useCount===0&&(ie.restoreOriginalState(),this._takeBackBinding(ie))}this._takeBackAction(y)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const y=this;this.stats={actions:{get total(){return y._actions.length},get inUse(){return y._nActiveActions}},bindings:{get total(){return y._bindings.length},get inUse(){return y._nActiveBindings}},controlInterpolants:{get total(){return y._controlInterpolants.length},get inUse(){return y._nActiveControlInterpolants}}}}_isActiveAction(y){const E=y._cacheIndex;return E!==null&&E=0;--z)y[z].stop();return this}update(y){y*=this.timeScale;const E=this._actions,z=this._nActiveActions,ne=this.time+=y,ie=Math.sign(y),se=this._accuIndex^=1;for(let ge=0;ge!==z;++ge)E[ge]._update(ne,y,ie,se);const le=this._bindings,de=this._nActiveBindings;for(let ge=0;ge!==de;++ge)le[ge].apply(se);return this}setTime(y){this.time=0;for(let E=0;E=this.min.x&&y.x<=this.max.x&&y.y>=this.min.y&&y.y<=this.max.y}containsBox(y){return this.min.x<=y.min.x&&y.max.x<=this.max.x&&this.min.y<=y.min.y&&y.max.y<=this.max.y}getParameter(y,E){return E.set((y.x-this.min.x)/(this.max.x-this.min.x),(y.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(y){return y.max.x>=this.min.x&&y.min.x<=this.max.x&&y.max.y>=this.min.y&&y.min.y<=this.max.y}clampPoint(y,E){return E.copy(y).clamp(this.min,this.max)}distanceToPoint(y){return this.clampPoint(y,Fx).distanceTo(y)}intersect(y){return this.min.max(y.min),this.max.min(y.max),this.isEmpty()&&this.makeEmpty(),this}union(y){return this.min.min(y.min),this.max.max(y.max),this}translate(y){return this.min.add(y),this.max.add(y),this}equals(y){return y.min.equals(this.min)&&y.max.equals(this.max)}}const JC=new Vt,a=new Vt;class x{constructor(y=new Vt,E=new Vt){this.start=y,this.end=E}set(y,E){return this.start.copy(y),this.end.copy(E),this}copy(y){return this.start.copy(y.start),this.end.copy(y.end),this}getCenter(y){return y.addVectors(this.start,this.end).multiplyScalar(.5)}delta(y){return y.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(y,E){return this.delta(E).multiplyScalar(y).add(this.start)}closestPointToPointParameter(y,E){JC.subVectors(y,this.start),a.subVectors(this.end,this.start);const z=a.dot(a);let ie=a.dot(JC)/z;return E&&(ie=_a(ie,0,1)),ie}closestPointToPoint(y,E,z){const ne=this.closestPointToPointParameter(y,E);return this.delta(z).multiplyScalar(ne).add(this.start)}applyMatrix4(y){return this.start.applyMatrix4(y),this.end.applyMatrix4(y),this}equals(y){return y.start.equals(this.start)&&y.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const b=new Vt;class te extends null{constructor(y,E){super(),this.light=y,this.matrixAutoUpdate=!1,this.color=E,this.type="SpotLightHelper";const z=new Ha,ne=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let se=0,le=1,de=32;se1)for(let xe=0;xe.99999)this.quaternion.set(0,0,0,1);else if(y.y<-.99999)this.quaternion.set(1,0,0,0);else{Hr.set(y.z,0,-y.x).normalize();const E=Math.acos(y.y);this.quaternion.setFromAxisAngle(Hr,E)}}setLength(y,E=y*.2,z=E*.2){this.line.scale.set(1,Math.max(1e-4,y-E),1),this.line.updateMatrix(),this.cone.scale.set(z,E,z),this.cone.position.y=y,this.cone.updateMatrix()}setColor(y){this.line.material.color.set(y),this.cone.material.color.set(y)}copy(y){return super.copy(y,!1),this.line.copy(y.line),this.cone.copy(y.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Eu extends null{constructor(y=1){const E=[0,0,0,y,0,0,0,0,0,0,y,0,0,0,0,0,0,y],z=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],ne=new Ha;ne.setAttribute("position",new ds(E,3)),ne.setAttribute("color",new ds(z,3));const ie=new Fd({vertexColors:!0,toneMapped:!1});super(ne,ie),this.type="AxesHelper"}setColors(y,E,z){const ne=new fo,ie=this.geometry.attributes.color.array;return ne.set(y),ne.toArray(ie,0),ne.toArray(ie,3),ne.set(E),ne.toArray(ie,6),ne.toArray(ie,9),ne.set(z),ne.toArray(ie,12),ne.toArray(ie,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Iu{constructor(){this.type="ShapePath",this.color=new fo,this.subPaths=[],this.currentPath=null}moveTo(y,E){return this.currentPath=new Sl,this.subPaths.push(this.currentPath),this.currentPath.moveTo(y,E),this}lineTo(y,E){return this.currentPath.lineTo(y,E),this}quadraticCurveTo(y,E,z,ne){return this.currentPath.quadraticCurveTo(y,E,z,ne),this}bezierCurveTo(y,E,z,ne,ie,se){return this.currentPath.bezierCurveTo(y,E,z,ne,ie,se),this}splineThru(y){return this.currentPath.splineThru(y),this}toShapes(y){function E(Le){const Qe=[];for(let Xe=0,Ze=Le.length;XeNumber.EPSILON){if(rt<0&&(ht=Qe[et],ot=-ot,lt=Qe[it],rt=-rt),Le.ylt.y)continue;if(Le.y===ht.y){if(Le.x===ht.x)return!0}else{const Mt=rt*(Le.x-ht.x)-ot*(Le.y-ht.y);if(Mt===0)return!0;if(Mt<0)continue;Ze=!Ze}}else{if(Le.y!==ht.y)continue;if(lt.x<=Le.x&&Le.x<=ht.x||ht.x<=Le.x&&Le.x<=lt.x)return!0}}return Ze}const ne=ud.isClockWise,ie=this.subPaths;if(ie.length===0)return[];let se,le,de;const ge=[];if(ie.length===1)return le=ie[0],de=new ya,de.curves=le.curves,ge.push(de),ge;let ve=!ne(ie[0].getPoints());ve=y?!ve:ve;const xe=[],Se=[];let Me=[],De=0,Oe;Se[De]=void 0,Me[De]=[];for(let Le=0,Qe=ie.length;Le1){let Le=!1,Qe=0;for(let Xe=0,Ze=Se.length;Xe0&&Le===!1&&(Me=xe)}let Re;for(let Le=0,Qe=Se.length;Ley?(ee.repeat.x=1,ee.repeat.y=E/y,ee.offset.x=0,ee.offset.y=(1-ee.repeat.y)/2):(ee.repeat.x=y/E,ee.repeat.y=1,ee.offset.x=(1-ee.repeat.x)/2,ee.offset.y=0),ee}function G0(ee,y){const E=ee.image&&ee.image.width?ee.image.width/ee.image.height:1;return E>y?(ee.repeat.x=y/E,ee.repeat.y=1,ee.offset.x=(1-ee.repeat.x)/2,ee.offset.y=0):(ee.repeat.x=1,ee.repeat.y=E/y,ee.offset.x=0,ee.offset.y=(1-ee.repeat.y)/2),ee}function Ul(ee){return ee.repeat.x=1,ee.repeat.y=1,ee.offset.x=0,ee.offset.y=0,ee}function kf(ee,y,E,z){const ne=Uc(z);switch(E){case Yf:return ee*y;case r0:return ee*y/ne.components*ne.byteLength;case id:return ee*y/ne.components*ne.byteLength;case Qg:return ee*y*2/ne.components*ne.byteLength;case sm:return ee*y*2/ne.components*ne.byteLength;case Dy:return ee*y*3/ne.components*ne.byteLength;case Fu:return ee*y*4/ne.components*ne.byteLength;case o0:return ee*y*4/ne.components*ne.byteLength;case am:case s0:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*8;case lm:case Yg:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*16;case l0:case u0:return Math.max(ee,16)*Math.max(y,8)/4;case a0:case Fy:return Math.max(ee,8)*Math.max(y,8)/2;case Ag:case c0:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*8;case bp:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*16;case Ev:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*16;case um:return Math.floor((ee+4)/5)*Math.floor((y+3)/4)*16;case bv:return Math.floor((ee+4)/5)*Math.floor((y+4)/5)*16;case Ja:return Math.floor((ee+5)/6)*Math.floor((y+4)/5)*16;case Zg:return Math.floor((ee+5)/6)*Math.floor((y+5)/6)*16;case xg:return Math.floor((ee+7)/8)*Math.floor((y+4)/5)*16;case Gu:return Math.floor((ee+7)/8)*Math.floor((y+5)/6)*16;case Ic:return Math.floor((ee+7)/8)*Math.floor((y+7)/8)*16;case wg:return Math.floor((ee+9)/10)*Math.floor((y+4)/5)*16;case Mp:return Math.floor((ee+9)/10)*Math.floor((y+5)/6)*16;case h0:return Math.floor((ee+9)/10)*Math.floor((y+7)/8)*16;case d0:return Math.floor((ee+9)/10)*Math.floor((y+9)/10)*16;case f0:return Math.floor((ee+11)/12)*Math.floor((y+9)/10)*16;case g0:return Math.floor((ee+11)/12)*Math.floor((y+11)/12)*16;case cm:case Bp:case Mv:return Math.ceil(ee/4)*Math.ceil(y/4)*16;case Tp:case Bl:return Math.ceil(ee/4)*Math.ceil(y/4)*8;case p0:case Bv:return Math.ceil(ee/4)*Math.ceil(y/4)*16}throw new Error(`Unable to determine texture byte length for ${E} format.`)}function Uc(ee){switch(ee){case Zu:case yg:return{byteLength:1,components:1};case rh:case om:case mc:return{byteLength:2,components:1};case Ep:case By:return{byteLength:2,components:4};case nu:case tc:case wu:return{byteLength:4,components:1};case Ty:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${ee}.`)}class $v{static contain(y,E){return mu(y,E)}static cover(y,E){return G0(y,E)}static fill(y){return Ul(y)}static getByteLength(y,E,z,ne){return kf(y,E,z,ne)}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:vp}})),typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=vp);const Vc=new $f,bc=new ki,Qh=new Vt,fh=new ki,Up=new ki,uf=new Vt,lA=new Vt,Yh=new rs,Mc=new Vt,dw=new Vt;let Zh=null,gh=null;const Xu=[],sg={NONE:-1,PAN:0,ROTATE:1};class dd extends ac{constructor(y,E,z=null){super(E,z),this.objects=y,this.recursive=!0,this.transformGroup=!1,this.rotateSpeed=1,this.raycaster=new HS,this.mouseButtons={LEFT:Pc.PAN,MIDDLE:Pc.PAN,RIGHT:Pc.ROTATE},this.touches={ONE:xd.PAN},this._onPointerMove=ey.bind(this),this._onPointerDown=qC.bind(this),this._onPointerCancel=jS.bind(this),this._onContextMenu=P2.bind(this),z!==null&&this.connect(z)}connect(y){super.connect(y),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerCancel),this.domElement.addEventListener("pointerleave",this._onPointerCancel),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerCancel),this.domElement.removeEventListener("pointerleave",this._onPointerCancel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="auto",this.domElement.style.cursor=""}dispose(){this.disconnect()}_updatePointer(y){const E=this.domElement.getBoundingClientRect();bc.x=(y.clientX-E.left)/E.width*2-1,bc.y=-(y.clientY-E.top)/E.height*2+1}_updateState(y){let E;if(y.pointerType==="touch")E=this.touches.ONE;else switch(y.button){case 0:E=this.mouseButtons.LEFT;break;case 1:E=this.mouseButtons.MIDDLE;break;case 2:E=this.mouseButtons.RIGHT;break;default:E=null}switch(E){case Pc.PAN:case xd.PAN:this.state=sg.PAN;break;case Pc.ROTATE:case xd.ROTATE:this.state=sg.ROTATE;break;default:this.state=sg.NONE}}getRaycaster(){return console.warn("THREE.DragControls: getRaycaster() has been deprecated. Use controls.raycaster instead."),this.raycaster}setObjects(y){console.warn("THREE.DragControls: setObjects() has been deprecated. Use controls.objects instead."),this.objects=y}getObjects(){return console.warn("THREE.DragControls: getObjects() has been deprecated. Use controls.objects instead."),this.objects}activate(){console.warn("THREE.DragControls: activate() has been renamed to connect()."),this.connect()}deactivate(){console.warn("THREE.DragControls: deactivate() has been renamed to disconnect()."),this.disconnect()}set mode(y){console.warn("THREE.DragControls: The .mode property has been removed. Define the type of transformation via the .mouseButtons or .touches properties.")}get mode(){console.warn("THREE.DragControls: The .mode property has been removed. Define the type of transformation via the .mouseButtons or .touches properties.")}}function ey(ee){const y=this.object,E=this.domElement,z=this.raycaster;if(this.enabled!==!1){if(this._updatePointer(ee),z.setFromCamera(bc,y),Zh)this.state===sg.PAN?z.ray.intersectPlane(Vc,uf)&&Zh.position.copy(uf.sub(Qh).applyMatrix4(Yh)):this.state===sg.ROTATE&&(fh.subVectors(bc,Up).multiplyScalar(this.rotateSpeed),Zh.rotateOnWorldAxis(Mc,fh.x),Zh.rotateOnWorldAxis(dw.normalize(),-fh.y)),this.dispatchEvent({type:"drag",object:Zh}),Up.copy(bc);else if(ee.pointerType==="mouse"||ee.pointerType==="pen")if(Xu.length=0,z.setFromCamera(bc,y),z.intersectObjects(this.objects,this.recursive,Xu),Xu.length>0){const ne=Xu[0].object;Vc.setFromNormalAndCoplanarPoint(y.getWorldDirection(Vc.normal),lA.setFromMatrixPosition(ne.matrixWorld)),gh!==ne&&gh!==null&&(this.dispatchEvent({type:"hoveroff",object:gh}),E.style.cursor="auto",gh=null),gh!==ne&&(this.dispatchEvent({type:"hoveron",object:ne}),E.style.cursor="pointer",gh=ne)}else gh!==null&&(this.dispatchEvent({type:"hoveroff",object:gh}),E.style.cursor="auto",gh=null);Up.copy(bc)}}function qC(ee){const y=this.object,E=this.domElement,z=this.raycaster;this.enabled!==!1&&(this._updatePointer(ee),this._updateState(ee),Xu.length=0,z.setFromCamera(bc,y),z.intersectObjects(this.objects,this.recursive,Xu),Xu.length>0&&(this.transformGroup===!0?Zh=op(Xu[0].object):Zh=Xu[0].object,Vc.setFromNormalAndCoplanarPoint(y.getWorldDirection(Vc.normal),lA.setFromMatrixPosition(Zh.matrixWorld)),z.ray.intersectPlane(Vc,uf)&&(this.state===sg.PAN?(Yh.copy(Zh.parent.matrixWorld).invert(),Qh.copy(uf).sub(lA.setFromMatrixPosition(Zh.matrixWorld))):this.state===sg.ROTATE&&(Mc.set(0,1,0).applyQuaternion(y.quaternion).normalize(),dw.set(1,0,0).applyQuaternion(y.quaternion).normalize())),E.style.cursor="move",this.dispatchEvent({type:"dragstart",object:Zh})),Up.copy(bc))}function jS(){this.enabled!==!1&&(Zh&&(this.dispatchEvent({type:"dragend",object:Zh}),Zh=null),this.domElement.style.cursor=gh?"pointer":"auto",this.state=sg.NONE)}function P2(ee){this.enabled!==!1&&ee.preventDefault()}function op(ee,y=null){return ee.isGroup&&(y=ee),ee.parent===null?y:op(ee.parent,y)}var Mm=Je(18609),Lx=Je(83833);const ty=1664525,fw=1013904223,X0=4294967296;function Vp(){let ee=1;return()=>(ee=(ty*ee+fw)%X0)/X0}var Bm=3;function ph(ee){return ee.x}function Fg(ee){return ee.y}function _C(ee){return ee.z}var Tm=10,gw=Math.PI*(3-Math.sqrt(5)),Lg=Math.PI*20/(9+Math.sqrt(221));function ny(ee,y){y=y||2;var E=Math.min(Bm,Math.max(1,Math.round(y))),z,ne=1,ie=.001,se=1-Math.pow(ie,1/300),le=0,de=.6,ge=new Map,ve=(0,Lx.HT)(Me),xe=(0,Mm.Z)("tick","end"),Se=Vp();ee==null&&(ee=[]);function Me(){De(),xe.call("tick",z),ne1&&(Ze.fy==null?Ze.y+=Ze.vy*=de:(Ze.y=Ze.fy,Ze.vy=0)),E>2&&(Ze.fz==null?Ze.z+=Ze.vz*=de:(Ze.z=Ze.fz,Ze.vz=0));return z}function Oe(){for(var Le=0,Qe=ee.length,Xe;Le1&&isNaN(Xe.y)||E>2&&isNaN(Xe.z)){var Ze=Tm*(E>2?Math.cbrt(.5+Le):E>1?Math.sqrt(.5+Le):Le),it=Le*gw,et=Le*Lg;E===1?Xe.x=Ze:E===2?(Xe.x=Ze*Math.cos(it),Xe.y=Ze*Math.sin(it)):(Xe.x=Ze*Math.sin(it)*Math.cos(et),Xe.y=Ze*Math.cos(it),Xe.z=Ze*Math.sin(it)*Math.sin(et))}(isNaN(Xe.vx)||E>1&&isNaN(Xe.vy)||E>2&&isNaN(Xe.vz))&&(Xe.vx=0,E>1&&(Xe.vy=0),E>2&&(Xe.vz=0))}}function Re(Le){return Le.initialize&&Le.initialize(ee,Se,E),Le}return Oe(),z={tick:De,restart:function(){return ve.restart(Me),z},stop:function(){return ve.stop(),z},numDimensions:function(Le){return arguments.length?(E=Math.min(Bm,Math.max(1,Math.round(Le))),ge.forEach(Re),z):E},nodes:function(Le){return arguments.length?(ee=Le,Oe(),ge.forEach(Re),z):ee},alpha:function(Le){return arguments.length?(ne=+Le,z):ne},alphaMin:function(Le){return arguments.length?(ie=+Le,z):ie},alphaDecay:function(Le){return arguments.length?(se=+Le,z):+se},alphaTarget:function(Le){return arguments.length?(le=+Le,z):le},velocityDecay:function(Le){return arguments.length?(de=1-Le,z):1-de},randomSource:function(Le){return arguments.length?(Se=Le,ge.forEach(Re),z):Se},force:function(Le,Qe){return arguments.length>1?(Qe==null?ge.delete(Le):ge.set(Le,Re(Qe)),z):ge.get(Le)},find:function(){var Le=Array.prototype.slice.call(arguments),Qe=Le.shift()||0,Xe=(E>1?Le.shift():null)||0,Ze=(E>2?Le.shift():null)||0,it=Le.shift()||1/0,et=0,ht=ee.length,lt,ot,rt,Mt,Xt,cn;for(it*=it,et=0;et1?(xe.on(Le,Qe),z):xe.on(Le)}}}function jc(ee){return function(){return ee}}function Nd(ee){return(ee()-.5)*1e-6}function pw(ee){return ee.index}function zf(ee,y){var E=ee.get(y);if(!E)throw new Error("node not found: "+y);return E}function Ru(ee){var y=pw,E=Se,z,ne=jc(30),ie,se,le,de,ge,ve,xe=1;ee==null&&(ee=[]);function Se(Le){return 1/Math.min(de[Le.source.index],de[Le.target.index])}function Me(Le){for(var Qe=0,Xe=ee.length;Qe1&&(ot=ht.y+ht.vy-et.y-et.vy||Nd(ve)),le>2&&(rt=ht.z+ht.vz-et.z-et.vz||Nd(ve)),Mt=Math.sqrt(lt*lt+ot*ot+rt*rt),Mt=(Mt-ie[Ze])/Mt*Le*z[Ze],lt*=Mt,ot*=Mt,rt*=Mt,ht.vx-=lt*(Xt=ge[Ze]),le>1&&(ht.vy-=ot*Xt),le>2&&(ht.vz-=rt*Xt),et.vx+=lt*(Xt=1-Xt),le>1&&(et.vy+=ot*Xt),le>2&&(et.vz+=rt*Xt)}function De(){if(se){var Le,Qe=se.length,Xe=ee.length,Ze=new Map(se.map((et,ht)=>[y(et,ht,se),et])),it;for(Le=0,de=new Array(Qe);Letypeof Xe=="function")||Math.random,le=Qe.find(Xe=>[1,2,3].includes(Xe))||2,De()},Me.links=function(Le){return arguments.length?(ee=Le,De(),Me):ee},Me.id=function(Le){return arguments.length?(y=Le,Me):y},Me.iterations=function(Le){return arguments.length?(xe=+Le,Me):xe},Me.strength=function(Le){return arguments.length?(E=typeof Le=="function"?Le:jc(+Le),Oe(),Me):E},Me.distance=function(Le){return arguments.length?(ne=typeof Le=="function"?Le:jc(+Le),Re(),Me):ne},Me}function GS(ee){const y=+this._x.call(null,ee);return Gc(this.cover(y),y,ee)}function Gc(ee,y,E){if(isNaN(y))return ee;var z,ne=ee._root,ie={data:E},se=ee._x0,le=ee._x1,de,ge,ve,xe,Se;if(!ne)return ee._root=ie,ee;for(;ne.length;)if((ve=y>=(de=(se+le)/2))?se=de:le=de,z=ne,!(ne=ne[xe=+ve]))return z[xe]=ie,ee;if(ge=+ee._x.call(null,ne.data),y===ge)return ie.next=ne,z?z[xe]=ie:ee._root=ie,ee;do z=z?z[xe]=new Array(2):ee._root=new Array(2),(ve=y>=(de=(se+le)/2))?se=de:le=de;while((xe=+ve)==(Se=+(ge>=de)));return z[Se]=ne,z[xe]=ie,ee}function Vl(ee){Array.isArray(ee)||(ee=Array.from(ee));const y=ee.length,E=new Float64Array(y);let z=1/0,ne=-1/0;for(let ie=0,se;iene&&(ne=se));if(z>ne)return this;this.cover(z).cover(ne);for(let ie=0;ieee||ee>=E;)switch(se=+(eese||(ie=ge.x1)=xe))&&(ge=le[le.length-1],le[le.length-1]=le[le.length-1-ve],le[le.length-1-ve]=ge)}else{var Se=Math.abs(ee-+this._x.call(null,de.data));Se=(ge=(se+le)/2))?se=ge:le=ge,y=E,!(E=E[xe=+ve]))return this;if(!E.length)break;y[xe+1&1]&&(z=y,Se=xe)}for(;E.data!==ee;)if(ne=E,!(E=E.next))return this;return(ie=E.next)&&delete E.next,ne?(ie?ne.next=ie:delete ne.next,this):y?(ie?y[xe]=ie:delete y[xe],(E=y[0]||y[1])&&E===(y[1]||y[0])&&!E.length&&(z?z[Se]=E:this._root=E),this):(this._root=ie,this)}function mw(ee){for(var y=0,E=ee.length;y1&&(De.y=Ze/Qe),y>2&&(De.z=it/Qe)}else{Re=De,Re.x=Re.data.x,y>1&&(Re.y=Re.data.y),y>2&&(Re.z=Re.data.z);do Oe+=se[Re.data.index];while(Re=Re.next)}De.value=Oe}function Me(De,Oe,Re,Le,Qe){if(!De.value)return!0;var Xe=[Re,Le,Qe][y-1],Ze=De.x-E.x,it=y>1?De.y-E.y:0,et=y>2?De.z-E.z:0,ht=Xe-Oe,lt=Ze*Ze+it*it+et*et;if(ht*ht/ge1&&it===0&&(it=Nd(z),lt+=it*it),y>2&&et===0&&(et=Nd(z),lt+=et*et),lt1&&(E.vy+=it*De.value*ne/lt),y>2&&(E.vz+=et*De.value*ne/lt)),!0;if(De.length||lt>=de)return;(De.data!==E||De.next)&&(Ze===0&&(Ze=Nd(z),lt+=Ze*Ze),y>1&&it===0&&(it=Nd(z),lt+=it*it),y>2&&et===0&&(et=Nd(z),lt+=et*et),lt1&&(E.vy+=it*ht),y>2&&(E.vz+=et*ht));while(De=De.next)}return ve.initialize=function(De,...Oe){ee=De,z=Oe.find(Re=>typeof Re=="function")||Math.random,y=Oe.find(Re=>[1,2,3].includes(Re))||2,xe()},ve.strength=function(De){return arguments.length?(ie=typeof De=="function"?De:jc(+De),xe(),ve):ie},ve.distanceMin=function(De){return arguments.length?(le=De*De,ve):Math.sqrt(le)},ve.distanceMax=function(De){return arguments.length?(de=De*De,ve):Math.sqrt(de)},ve.theta=function(De){return arguments.length?(ge=De*De,ve):Math.sqrt(ge)},ve}function df(ee,y,E){var z,ne=1;ee==null&&(ee=0),y==null&&(y=0),E==null&&(E=0);function ie(){var se,le=z.length,de,ge=0,ve=0,xe=0;for(se=0;se1&&(De.vy+=Re*Xe),ie>2&&(De.vz+=Le*Xe)}}function ve(){if(ne){var xe,Se=ne.length;for(le=new Array(Se),de=new Array(Se),xe=0;xe[1,2,3].includes(Me))||2,ve()},ge.strength=function(xe){return arguments.length?(se=typeof xe=="function"?xe:jc(+xe),ve(),ge):se},ge.radius=function(xe){return arguments.length?(ee=typeof xe=="function"?xe:jc(+xe),ve(),ge):ee},ge.x=function(xe){return arguments.length?(y=+xe,ge):y},ge.y=function(xe){return arguments.length?(E=+xe,ge):E},ge.z=function(xe){return arguments.length?(z=+xe,ge):z},ge}var fd=Je(45174),Y0=Je(91998);function Vf(ee){var y=typeof ee;return ee!=null&&(y=="object"||y=="function")}var hA=Vf,iy=typeof global=="object"&&global&&global.Object===Object&&global,XS=iy,vw=typeof self=="object"&&self&&self.Object===Object&&self,sp=XS||vw||Function("return this")(),ry=sp,oy=function(){return ry.Date.now()},dA=oy,Z0=/\s/;function jp(ee){for(var y=ee.length;y--&&Z0.test(ee.charAt(y)););return y}var K0=jp,Nm=/^\s+/;function J0(ee){return ee&&ee.slice(0,K0(ee)+1).replace(Nm,"")}var fA=J0,Ig=ry.Symbol,q0=Ig,Im=Object.prototype,Rx=Im.hasOwnProperty,E2=Im.toString,ag=q0?q0.toStringTag:void 0;function gA(ee){var y=Rx.call(ee,ag),E=ee[ag];try{ee[ag]=void 0;var z=!0}catch(ie){}var ne=E2.call(ee);return z&&(y?ee[ag]=E:delete ee[ag]),ne}var WS=gA,b2=Object.prototype,tE=b2.toString;function Ox(ee){return tE.call(ee)}var kx=Ox,nE="[object Null]",w5="[object Undefined]",yw=q0?q0.toStringTag:void 0;function QS(ee){return ee==null?ee===void 0?w5:nE:yw&&yw in Object(ee)?WS(ee):kx(ee)}var iE=QS;function VT(ee){return ee!=null&&typeof ee=="object"}var rE=VT,oE="[object Symbol]";function jT(ee){return typeof ee=="symbol"||rE(ee)&&iE(ee)==oE}var sE=jT,aE=NaN,YS=/^[-+]0x[0-9a-f]+$/i,M2=/^0b[01]+$/i,B2=/^0o[0-7]+$/i,zk=parseInt;function Hk(ee){if(typeof ee=="number")return ee;if(sE(ee))return aE;if(hA(ee)){var y=typeof ee.valueOf=="function"?ee.valueOf():ee;ee=hA(y)?y+"":y}if(typeof ee!="string")return ee===0?ee:+ee;ee=fA(ee);var E=M2.test(ee);return E||B2.test(ee)?zk(ee.slice(2),E?2:8):YS.test(ee)?aE:+ee}var ZL=Hk,Uk="Expected a function",Vk=Math.max,jk=Math.min;function Gk(ee,y,E){var z,ne,ie,se,le,de,ge=0,ve=!1,xe=!1,Se=!0;if(typeof ee!="function")throw new TypeError(Uk);y=ZL(y)||0,hA(E)&&(ve=!!E.leading,xe="maxWait"in E,ie=xe?Vk(ZL(E.maxWait)||0,y):ie,Se="trailing"in E?!!E.trailing:Se);function Me(et){var ht=z,lt=ne;return z=ne=void 0,ge=et,se=ee.apply(lt,ht),se}function De(et){return ge=et,le=setTimeout(Le,y),ve?Me(et):se}function Oe(et){var ht=et-de,lt=et-ge,ot=y-ht;return xe?jk(ot,ie-lt):ot}function Re(et){var ht=et-de,lt=et-ge;return de===void 0||ht>=y||ht<0||xe&<>=ie}function Le(){var et=dA();if(Re(et))return Qe(et);le=setTimeout(Le,Oe(et))}function Qe(et){return le=void 0,Se&&z?Me(et):(z=ne=void 0,se)}function Xe(){le!==void 0&&clearTimeout(le),ge=0,z=de=ne=le=void 0}function Ze(){return le===void 0?se:Qe(dA())}function it(){var et=dA(),ht=Re(et);if(z=arguments,ne=this,de=et,ht){if(le===void 0)return De(de);if(xe)return clearTimeout(le),le=setTimeout(Le,y),Me(de)}return le===void 0&&(le=setTimeout(Le,y)),se}return it.cancel=Xe,it.flush=Ze,it}var Xk=Gk;function KL(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);Ez||E===void 0&&z>=z)&&(E=z);else{let z=-1;for(let ne of ee)(ne=y(ne,++z,ee))!=null&&(E>ne||E===void 0&&ne>=ne)&&(E=ne)}return E}function ez(ee,y){let E;if(y===void 0)for(const z of ee)z!=null&&(E=z)&&(E=z);else{let z=-1;for(let ne of ee)(ne=y(ne,++z,ee))!=null&&(E=ne)&&(E=ne)}return E}function GT(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E=0,ie=!E&&ne&&(y==="hex"||y==="hex6"||y==="hex3"||y==="hex4"||y==="hex8"||y==="name");return ie?y==="name"&&this._a===0?this.toName():this.toRgbString():(y==="rgb"&&(z=this.toRgbString()),y==="prgb"&&(z=this.toPercentageRgbString()),(y==="hex"||y==="hex6")&&(z=this.toHexString()),y==="hex3"&&(z=this.toHexString(!0)),y==="hex4"&&(z=this.toHex8String(!0)),y==="hex8"&&(z=this.toHex8String()),y==="name"&&(z=this.toName()),y==="hsl"&&(z=this.toHslString()),y==="hsv"&&(z=this.toHsvString()),z||this.toHexString())},clone:function(){return ha(this.toString())},_applyModification:function(y,E){var z=y.apply(null,[this].concat([].slice.call(E)));return this._r=z._r,this._g=z._g,this._b=z._b,this.setAlpha(z._a),this},lighten:function(){return this._applyModification(Tz,arguments)},brighten:function(){return this._applyModification(Dz,arguments)},darken:function(){return this._applyModification(Fz,arguments)},desaturate:function(){return this._applyModification(bz,arguments)},saturate:function(){return this._applyModification(Mz,arguments)},greyscale:function(){return this._applyModification(Bz,arguments)},spin:function(){return this._applyModification(Lz,arguments)},_applyCombination:function(y,E){return y.apply(null,[this].concat([].slice.call(E)))},analogous:function(){return this._applyCombination(Rz,arguments)},complement:function(){return this._applyCombination(Nz,arguments)},monochromatic:function(){return this._applyCombination(Oz,arguments)},splitcomplement:function(){return this._applyCombination(Iz,arguments)},triad:function(){return this._applyCombination(lN,[3])},tetrad:function(){return this._applyCombination(lN,[4])}},ha.fromRatio=function(ee,y){if(C5(ee)=="object"){var E={};for(var z in ee)ee.hasOwnProperty(z)&&(z==="a"?E[z]=ee[z]:E[z]=D2(ee[z]));ee=E}return ha(ee,y)};function wz(ee){var y={r:0,g:0,b:0},E=1,z=null,ne=null,ie=null,se=!1,le=!1;return typeof ee=="string"&&(ee=Vz(ee)),C5(ee)=="object"&&(zx(ee.r)&&zx(ee.g)&&zx(ee.b)?(y=Sz(ee.r,ee.g,ee.b),se=!0,le=String(ee.r).substr(-1)==="%"?"prgb":"rgb"):zx(ee.h)&&zx(ee.s)&&zx(ee.v)?(z=D2(ee.s),ne=D2(ee.v),y=Cz(ee.h,z,ne),se=!0,le="hsv"):zx(ee.h)&&zx(ee.s)&&zx(ee.l)&&(z=D2(ee.s),ie=D2(ee.l),y=Pz(ee.h,z,ie),se=!0,le="hsl"),ee.hasOwnProperty("a")&&(E=ee.a)),E=uN(E),{ok:se,format:ee.format||le,r:Math.min(255,Math.max(y.r,0)),g:Math.min(255,Math.max(y.g,0)),b:Math.min(255,Math.max(y.b,0)),a:E}}function Sz(ee,y,E){return{r:vh(ee,255)*255,g:vh(y,255)*255,b:vh(E,255)*255}}function rN(ee,y,E){ee=vh(ee,255),y=vh(y,255),E=vh(E,255);var z=Math.max(ee,y,E),ne=Math.min(ee,y,E),ie,se,le=(z+ne)/2;if(z==ne)ie=se=0;else{var de=z-ne;switch(se=le>.5?de/(2-z-ne):de/(z+ne),z){case ee:ie=(y-E)/de+(y1&&(xe-=1),xe<1/6?ge+(ve-ge)*6*xe:xe<1/2?ve:xe<2/3?ge+(ve-ge)*(2/3-xe)*6:ge}if(y===0)z=ne=ie=E;else{var le=E<.5?E*(1+y):E+y-E*y,de=2*E-le;z=se(de,le,ee+1/3),ne=se(de,le,ee),ie=se(de,le,ee-1/3)}return{r:z*255,g:ne*255,b:ie*255}}function oN(ee,y,E){ee=vh(ee,255),y=vh(y,255),E=vh(E,255);var z=Math.max(ee,y,E),ne=Math.min(ee,y,E),ie,se,le=z,de=z-ne;if(se=z===0?0:de/z,z==ne)ie=0;else{switch(z){case ee:ie=(y-E)/de+(y>1)+720)%360;--y;)z.h=(z.h+ne)%360,ie.push(ha(z));return ie}function Oz(ee,y){y=y||6;for(var E=ha(ee).toHsv(),z=E.h,ne=E.s,ie=E.v,se=[],le=1/y;y--;)se.push(ha({h:z,s:ne,v:ie})),ie=(ie+le)%1;return se}ha.mix=function(ee,y,E){E=E===0?0:E||50;var z=ha(ee).toRgb(),ne=ha(y).toRgb(),ie=E/100,se={r:(ne.r-z.r)*ie+z.r,g:(ne.g-z.g)*ie+z.g,b:(ne.b-z.b)*ie+z.b,a:(ne.a-z.a)*ie+z.a};return ha(se)},ha.readability=function(ee,y){var E=ha(ee),z=ha(y);return(Math.max(E.getLuminance(),z.getLuminance())+.05)/(Math.min(E.getLuminance(),z.getLuminance())+.05)},ha.isReadable=function(ee,y,E){var z=ha.readability(ee,y),ne,ie;switch(ie=!1,ne=jz(E),ne.level+ne.size){case"AAsmall":case"AAAlarge":ie=z>=4.5;break;case"AAlarge":ie=z>=3;break;case"AAAsmall":ie=z>=7;break}return ie},ha.mostReadable=function(ee,y,E){var z=null,ne=0,ie,se,le,de;E=E||{},se=E.includeFallbackColors,le=E.level,de=E.size;for(var ge=0;gene&&(ne=ie,z=ha(y[ge]));return ha.isReadable(ee,z,{level:le,size:de})||!se?z:(E.includeFallbackColors=!1,ha.mostReadable(ee,["#fff","#000"],E))};var ZT=ha.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},kz=ha.hexNames=zz(ZT);function zz(ee){var y={};for(var E in ee)ee.hasOwnProperty(E)&&(y[ee[E]]=E);return y}function uN(ee){return ee=parseFloat(ee),(isNaN(ee)||ee<0||ee>1)&&(ee=1),ee}function vh(ee,y){Hz(ee)&&(ee="100%");var E=Uz(ee);return ee=Math.min(y,Math.max(0,parseFloat(ee))),E&&(ee=parseInt(ee*y,10)/100),Math.abs(ee-y)<1e-6?1:ee%y/parseFloat(y)}function E5(ee){return Math.min(1,Math.max(0,ee))}function Rm(ee){return parseInt(ee,16)}function Hz(ee){return typeof ee=="string"&&ee.indexOf(".")!=-1&&parseFloat(ee)===1}function Uz(ee){return typeof ee=="string"&&ee.indexOf("%")!=-1}function sy(ee){return ee.length==1?"0"+ee:""+ee}function D2(ee){return ee<=1&&(ee=ee*100+"%"),ee}function cN(ee){return Math.round(parseFloat(ee)*255).toString(16)}function hN(ee){return Rm(ee)/255}var ay=function(){var ee="[-\\+]?\\d+%?",y="[-\\+]?\\d*\\.\\d+%?",E="(?:"+y+")|(?:"+ee+")",z="[\\s|\\(]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?",ne="[\\s|\\(]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?";return{CSS_UNIT:new RegExp(E),rgb:new RegExp("rgb"+z),rgba:new RegExp("rgba"+ne),hsl:new RegExp("hsl"+z),hsla:new RegExp("hsla"+ne),hsv:new RegExp("hsv"+z),hsva:new RegExp("hsva"+ne),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function zx(ee){return!!ay.CSS_UNIT.exec(ee)}function Vz(ee){ee=ee.replace(Az,"").replace(xz,"").toLowerCase();var y=!1;if(ZT[ee])ee=ZT[ee],y=!0;else if(ee=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var E;return(E=ay.rgb.exec(ee))?{r:E[1],g:E[2],b:E[3]}:(E=ay.rgba.exec(ee))?{r:E[1],g:E[2],b:E[3],a:E[4]}:(E=ay.hsl.exec(ee))?{h:E[1],s:E[2],l:E[3]}:(E=ay.hsla.exec(ee))?{h:E[1],s:E[2],l:E[3],a:E[4]}:(E=ay.hsv.exec(ee))?{h:E[1],s:E[2],v:E[3]}:(E=ay.hsva.exec(ee))?{h:E[1],s:E[2],v:E[3],a:E[4]}:(E=ay.hex8.exec(ee))?{r:Rm(E[1]),g:Rm(E[2]),b:Rm(E[3]),a:hN(E[4]),format:y?"name":"hex8"}:(E=ay.hex6.exec(ee))?{r:Rm(E[1]),g:Rm(E[2]),b:Rm(E[3]),format:y?"name":"hex"}:(E=ay.hex4.exec(ee))?{r:Rm(E[1]+""+E[1]),g:Rm(E[2]+""+E[2]),b:Rm(E[3]+""+E[3]),a:hN(E[4]+""+E[4]),format:y?"name":"hex8"}:(E=ay.hex3.exec(ee))?{r:Rm(E[1]+""+E[1]),g:Rm(E[2]+""+E[2]),b:Rm(E[3]+""+E[3]),format:y?"name":"hex"}:!1}function jz(ee){var y,E;return ee=ee||{level:"AA",size:"small"},y=(ee.level||"AA").toUpperCase(),E=(ee.size||"small").toLowerCase(),y!=="AA"&&y!=="AAA"&&(y="AA"),E!=="small"&&E!=="large"&&(E="small"),{level:y,size:E}}function KT(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E1&&arguments[1]!==void 0?arguments[1]:{},ie=ne.dataBindAttr,se=ie===void 0?"__data":ie,le=ne.objBindAttr,de=le===void 0?"__threeObj":le;return gN(this,y),z=fN(this,y),b5(z,"scene",void 0),pN(z,i3,void 0),pN(z,M5,void 0),z.scene=E,mN(i3,z,se),mN(M5,z,de),z.onRemoveObj(function(){}),z}return AN(y,ee),yN(y,[{key:"onCreateObj",value:function(z){var ne=this;return e3(y,"onCreateObj",this)([function(ie){var se=z(ie);return ie[JT(M5,ne)]=se,se[JT(i3,ne)]=ie,ne.scene.add(se),se}]),this}},{key:"onRemoveObj",value:function(z){var ne=this;return e3(y,"onRemoveObj",this)([function(ie,se){var le=e3(y,"getData",ne)([ie]);z(ie,se),ne.scene.remove(ie),n3(ie),delete le[JT(M5,ne)]}]),this}}])}(pz),N2=function(y){return isNaN(y)?parseInt(ha(y).toHex(),16):y},r3=function(y){return isNaN(y)?ha(y).getAlpha():1},nH=iN(yz);function EN(ee,y,E){!y||typeof E!="string"||ee.filter(function(z){return!z[E]}).forEach(function(z){z[E]=nH(y(z))})}function iH(ee,y){var E=ee.nodes,z=ee.links,ne=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ie=ne.nodeFilter,se=ie===void 0?function(){return!0}:ie,le=ne.onLoopError,de=le===void 0?function(Me){throw"Invalid DAG structure! Found cycle in node path: ".concat(Me.join(" -> "),".")}:le,ge={};E.forEach(function(Me){return ge[y(Me)]={data:Me,out:[],depth:-1,skip:!se(Me)}}),z.forEach(function(Me){var De=Me.source,Oe=Me.target,Re=Ze(De),Le=Ze(Oe);if(!ge.hasOwnProperty(Re))throw"Missing source node with id: ".concat(Re);if(!ge.hasOwnProperty(Le))throw"Missing target node with id: ".concat(Le);var Qe=ge[Re],Xe=ge[Le];Qe.out.push(Xe);function Ze(it){return t3(it)==="object"?y(it):it}});var ve=[];Se(Object.values(ge));var xe=Object.assign.apply(Object,[{}].concat(ly(Object.entries(ge).filter(function(Me){var De=F2(Me,2),Oe=De[1];return!Oe.skip}).map(function(Me){var De=F2(Me,2),Oe=De[0],Re=De[1];return b5({},Oe,Re.depth)}))));return xe;function Se(Me){for(var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Oe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Re=function(){var Ze=Me[Le];if(De.indexOf(Ze)!==-1){var it=[].concat(ly(De.slice(De.indexOf(Ze))),[Ze]).map(function(et){return y(et.data)});return ve.some(function(et){return et.length===it.length&&et.every(function(ht,lt){return ht===it[lt]})})||(ve.push(it),de(it)),1}Oe>Ze.depth&&(Ze.depth=Oe,Se(Ze.out,[].concat(ly(De),[Ze]),Oe+(Ze.skip?0:1)))},Le=0,Qe=Me.length;Le2?-60:-30),y<3&&ne(E.graphData.nodes,"z"),y<2&&ne(E.graphData.nodes,"y");function ne(ie,se){ie.forEach(function(le){delete le[se],delete le["v".concat(se)]})}}},dagMode:{onChange:function(y,E){!y&&E.forceEngine==="d3"&&(E.graphData.nodes||[]).forEach(function(z){return z.fx=z.fy=z.fz=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(y){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeVisibility:{default:!0},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},nodePositionUpdate:{triggerUpdate:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{},linkResolution:{default:6},linkCurvature:{default:0,triggerUpdate:!1},linkCurveRotation:{default:0,triggerUpdate:!1},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{triggerUpdate:!1},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},linkDirectionalParticleThreeObject:{},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(y,E){E.d3ForceLayout.alphaDecay(y)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(y,E){E.d3ForceLayout.alphaTarget(y)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(y,E){E.d3ForceLayout.velocityDecay(y)}},ngraphPhysics:{default:{timeStep:20,gravity:-1.2,theta:.8,springLength:30,springCoefficient:8e-4,dragCoefficient:.02}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onLoading:{default:function(){},triggerUpdate:!1},onFinishLoading:{default:function(){},triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1}},methods:{refresh:function(y){return y._flushObjects=!0,y._rerender(),this},d3Force:function(y,E,z){return z===void 0?y.d3ForceLayout.force(E):(y.d3ForceLayout.force(E,z),this)},d3ReheatSimulation:function(y){return y.d3ForceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(y){return y.cntTicks=0,y.startTickTime=new Date,y.engineRunning=!0,this},tickFrame:function(y){var E=y.forceEngine!=="ngraph";return y.engineRunning&&z(),ne(),ie(),this;function z(){++y.cntTicks>y.cooldownTicks||new Date-y.startTickTime>y.cooldownTime||E&&y.d3AlphaMin>0&&y.d3ForceLayout.alpha()0){var et=Oe.x-De.x,ht=Oe.y-De.y||0,lt=new Ua.Vector3().subVectors(Qe,Le),ot=lt.clone().multiplyScalar(Re).cross(et!==0||ht!==0?new Ua.Vector3(0,0,1):new Ua.Vector3(0,1,0)).applyAxisAngle(lt.normalize(),it).add(new Ua.Vector3().addVectors(Le,Qe).divideScalar(2));Ze=new Ua.QuadraticBezierCurve3(Le,ot,Qe)}else{var rt=Re*70,Mt=-it,Xt=Mt+Math.PI/2;Ze=new Ua.CubicBezierCurve3(Le,new Ua.Vector3(rt*Math.cos(Xt),rt*Math.sin(Xt),0).add(Le),new Ua.Vector3(rt*Math.cos(Mt),rt*Math.sin(Mt),0).add(Le),Qe)}Se.__curve=Ze}}}}function ne(){var se=ql(y.linkDirectionalArrowRelPos),le=ql(y.linkDirectionalArrowLength),de=ql(y.nodeVal);y.arrowDataMapper.entries().forEach(function(ge){var ve=F2(ge,2),xe=ve[0],Se=ve[1];if(Se){var Me=E?xe:y.layout.getLinkPosition(y.layout.graph.getLink(xe.source,xe.target).id),De=Me[E?"source":"from"],Oe=Me[E?"target":"to"];if(!(!De||!Oe||!De.hasOwnProperty("x")||!Oe.hasOwnProperty("x"))){var Re=Math.cbrt(Math.max(0,de(De)||1))*y.nodeRelSize,Le=Math.cbrt(Math.max(0,de(Oe)||1))*y.nodeRelSize,Qe=le(xe),Xe=se(xe),Ze=xe.__curve?function(rt){return xe.__curve.getPoint(rt)}:function(rt){var Mt=function(cn,Cn,En,Zn){return Cn[cn]+(En[cn]-Cn[cn])*Zn||0};return{x:Mt("x",De,Oe,rt),y:Mt("y",De,Oe,rt),z:Mt("z",De,Oe,rt)}},it=xe.__curve?xe.__curve.getLength():Math.sqrt(["x","y","z"].map(function(rt){return Math.pow((Oe[rt]||0)-(De[rt]||0),2)}).reduce(function(rt,Mt){return rt+Mt},0)),et=Re+Qe+(it-Re-Le-Qe)*Xe,ht=Ze(et/it),lt=Ze((et-Qe)/it);["x","y","z"].forEach(function(rt){return Se.position[rt]=lt[rt]});var ot=vN(Ua.Vector3,ly(["x","y","z"].map(function(rt){return ht[rt]})));Se.parent.localToWorld(ot),Se.lookAt(ot)}}})}function ie(){var se=ql(y.linkDirectionalParticleSpeed),le=ql(y.linkDirectionalParticleOffset);y.graphData.links.forEach(function(de){var ge=y.particlesDataMapper.getObj(de),ve=ge&&ge.children,xe=de.__singleHopPhotonsObj&&de.__singleHopPhotonsObj.children;if(!((!xe||!xe.length)&&(!ve||!ve.length))){var Se=E?de:y.layout.getLinkPosition(y.layout.graph.getLink(de.source,de.target).id),Me=Se[E?"source":"from"],De=Se[E?"target":"to"];if(!(!Me||!De||!Me.hasOwnProperty("x")||!De.hasOwnProperty("x"))){var Oe=se(de),Re=Math.abs(le(de)),Le=de.__curve?function(Xe){return de.__curve.getPoint(Xe)}:function(Xe){var Ze=function(et,ht,lt,ot){return ht[et]+(lt[et]-ht[et])*ot||0};return{x:Ze("x",Me,De,Xe),y:Ze("y",Me,De,Xe),z:Ze("z",Me,De,Xe)}},Qe=[].concat(ly(ve||[]),ly(xe||[]));Qe.forEach(function(Xe,Ze){var it=Xe.parent.__linkThreeObjType==="singleHopPhotons";if(Xe.hasOwnProperty("__progressRatio")||(Xe.__progressRatio=it?0:(Ze+Re)/ve.length),Xe.__progressRatio+=Oe,Xe.__progressRatio>=1)if(!it)Xe.__progressRatio=Xe.__progressRatio%1;else{Xe.parent.remove(Xe),n3(Xe);return}var et=Xe.__progressRatio,ht=Le(et);Xe.geometry.type!=="SphereGeometry"&&Xe.lookAt(ht.x,ht.y,ht.z),["x","y","z"].forEach(function(lt){return Xe.position[lt]=ht[lt]})})}}})}},emitParticle:function(y,E){if(E&&y.graphData.links.includes(E)){if(!E.__singleHopPhotonsObj){var z=new Ua.Group;z.__linkThreeObjType="singleHopPhotons",E.__singleHopPhotonsObj=z,y.graphScene.add(z)}var ne=ql(y.linkDirectionalParticleThreeObject)(E);if(ne&&y.linkDirectionalParticleThreeObject===ne&&(ne=ne.clone()),!ne){var ie=ql(y.linkDirectionalParticleWidth),se=Math.ceil(ie(E)*10)/10/2,le=y.linkDirectionalParticleResolution,de=new Ua.SphereGeometry(se,le,le),ge=ql(y.linkColor),ve=ql(y.linkDirectionalParticleColor),xe=ve(E)||ge(E)||"#f0f0f0",Se=new Ua.Color(N2(xe)),Me=y.linkOpacity*3,De=new Ua.MeshLambertMaterial({color:Se,transparent:!0,opacity:Me});ne=new Ua.Mesh(de,De)}E.__singleHopPhotonsObj.add(ne)}return this},getGraphBbox:function(y){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0};if(!y.initialised)return null;var z=function ne(ie){var se=[];if(ie.geometry){ie.geometry.computeBoundingBox();var le=new Ua.Box3;le.copy(ie.geometry.boundingBox).applyMatrix4(ie.matrixWorld),se.push(le)}return se.concat.apply(se,ly((ie.children||[]).filter(function(de){return!de.hasOwnProperty("__graphObjType")||de.__graphObjType==="node"&&E(de.__data)}).map(ne)))}(y.graphScene);return z.length?Object.assign.apply(Object,ly(["x","y","z"].map(function(ne){return b5({},ne,[$k(z,function(ie){return ie.min[ne]}),ez(z,function(ie){return ie.max[ne]})])}))):null}},stateInit:function(){return{d3ForceLayout:ny().force("link",Ru()).force("charge",Uf()).force("center",df()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(y,E){E.graphScene=y,E.nodeDataMapper=new L2(y,{objBindAttr:"__threeObj"}),E.linkDataMapper=new L2(y,{objBindAttr:"__lineObj"}),E.arrowDataMapper=new L2(y,{objBindAttr:"__arrowObj"}),E.particlesDataMapper=new L2(y,{objBindAttr:"__photonsObj"})},update:function(y,E){var z=function(mi){return mi.some(function(ui){return E.hasOwnProperty(ui)})};if(y.engineRunning=!1,typeof y.onUpdate=="function"&&y.onUpdate(),y.nodeAutoColorBy!==null&&z(["nodeAutoColorBy","graphData","nodeColor"])&&EN(y.graphData.nodes,ql(y.nodeAutoColorBy),y.nodeColor),y.linkAutoColorBy!==null&&z(["linkAutoColorBy","graphData","linkColor"])&&EN(y.graphData.links,ql(y.linkAutoColorBy),y.linkColor),y._flushObjects||z(["graphData","nodeThreeObject","nodeThreeObjectExtend","nodeVal","nodeColor","nodeVisibility","nodeRelSize","nodeResolution","nodeOpacity"])){var ne=ql(y.nodeThreeObject),ie=ql(y.nodeThreeObjectExtend),se=ql(y.nodeVal),le=ql(y.nodeColor),de=ql(y.nodeVisibility),ge={},ve={};(y._flushObjects||z(["nodeThreeObject","nodeThreeObjectExtend"]))&&y.nodeDataMapper.clear(),y.nodeDataMapper.onCreateObj(function(dn){var mi=ne(dn),ui=ie(dn);mi&&y.nodeThreeObject===mi&&(mi=mi.clone());var Mi;return mi&&!ui?Mi=mi:(Mi=new Ua.Mesh,Mi.__graphDefaultObj=!0,mi&&ui&&Mi.add(mi)),Mi.__graphObjType="node",Mi}).onUpdateObj(function(dn,mi){if(dn.__graphDefaultObj){var ui=se(mi)||1,Mi=Math.cbrt(ui)*y.nodeRelSize,Qi=y.nodeResolution;(!dn.geometry.type.match(/^Sphere(Buffer)?Geometry$/)||dn.geometry.parameters.radius!==Mi||dn.geometry.parameters.widthSegments!==Qi)&&(ge.hasOwnProperty(ui)||(ge[ui]=new Ua.SphereGeometry(Mi,Qi,Qi)),dn.geometry.dispose(),dn.geometry=ge[ui]);var rr=le(mi),Ir=new Ua.Color(N2(rr||"#ffffaa")),to=y.nodeOpacity*r3(rr);(dn.material.type!=="MeshLambertMaterial"||!dn.material.color.equals(Ir)||dn.material.opacity!==to)&&(ve.hasOwnProperty(rr)||(ve[rr]=new Ua.MeshLambertMaterial({color:Ir,transparent:!0,opacity:to})),dn.material.dispose(),dn.material=ve[rr])}}).digest(y.graphData.nodes.filter(de))}if(y._flushObjects||z(["graphData","linkThreeObject","linkThreeObjectExtend","linkMaterial","linkColor","linkWidth","linkVisibility","linkResolution","linkOpacity","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","linkDirectionalParticleThreeObject"])){var xe=ql(y.linkThreeObject),Se=ql(y.linkThreeObjectExtend),Me=ql(y.linkMaterial),De=ql(y.linkVisibility),Oe=ql(y.linkColor),Re=ql(y.linkWidth),Le={},Qe={},Xe={},Ze=y.graphData.links.filter(De);if((y._flushObjects||z(["linkThreeObject","linkThreeObjectExtend","linkWidth"]))&&y.linkDataMapper.clear(),y.linkDataMapper.onRemoveObj(function(dn){var mi=dn.__data&&dn.__data.__singleHopPhotonsObj;mi&&(mi.parent.remove(mi),n3(mi),delete dn.__data.__singleHopPhotonsObj)}).onCreateObj(function(dn){var mi=xe(dn),ui=Se(dn);mi&&y.linkThreeObject===mi&&(mi=mi.clone());var Mi;if(!mi||ui){var Qi=!!Re(dn);if(Qi)Mi=new Ua.Mesh;else{var rr=new Ua.BufferGeometry;rr[o3]("position",new Ua.BufferAttribute(new Float32Array(2*3),3)),Mi=new Ua.Line(rr)}}var Ir;return mi?ui?(Ir=new Ua.Group,Ir.__graphDefaultObj=!0,Ir.add(Mi),Ir.add(mi)):Ir=mi:(Ir=Mi,Ir.__graphDefaultObj=!0),Ir.renderOrder=10,Ir.__graphObjType="link",Ir}).onUpdateObj(function(dn,mi){if(dn.__graphDefaultObj){var ui=dn.children.length?dn.children[0]:dn,Mi=Math.ceil(Re(mi)*10)/10,Qi=!!Mi;if(Qi){var rr=Mi/2,Ir=y.linkResolution;if(!ui.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)||ui.geometry.parameters.radiusTop!==rr||ui.geometry.parameters.radialSegments!==Ir){if(!Le.hasOwnProperty(Mi)){var to=new Ua.CylinderGeometry(rr,rr,1,Ir,1,!1);to[B5](new Ua.Matrix4().makeTranslation(0,1/2,0)),to[B5](new Ua.Matrix4().makeRotationX(Math.PI/2)),Le[Mi]=to}ui.geometry.dispose(),ui.geometry=Le[Mi]}}var Jo=Me(mi);if(Jo)ui.material=Jo;else{var Ot=Oe(mi),Pr=new Ua.Color(N2(Ot||"#f0f0f0")),sr=y.linkOpacity*r3(Ot),Fr=Qi?"MeshLambertMaterial":"LineBasicMaterial";if(ui.material.type!==Fr||!ui.material.color.equals(Pr)||ui.material.opacity!==sr){var _i=Qi?Qe:Xe;_i.hasOwnProperty(Ot)||(_i[Ot]=new Ua[Fr]({color:Pr,transparent:sr<1,opacity:sr,depthWrite:sr>=1})),ui.material.dispose(),ui.material=_i[Ot]}}}}).digest(Ze),y.linkDirectionalArrowLength||E.hasOwnProperty("linkDirectionalArrowLength")){var it=ql(y.linkDirectionalArrowLength),et=ql(y.linkDirectionalArrowColor);y.arrowDataMapper.onCreateObj(function(){var dn=new Ua.Mesh(void 0,new Ua.MeshLambertMaterial({transparent:!0}));return dn.__linkThreeObjType="arrow",dn}).onUpdateObj(function(dn,mi){var ui=it(mi),Mi=y.linkDirectionalArrowResolution;if(!dn.geometry.type.match(/^Cone(Buffer)?Geometry$/)||dn.geometry.parameters.height!==ui||dn.geometry.parameters.radialSegments!==Mi){var Qi=new Ua.ConeGeometry(ui*.25,ui,Mi);Qi.translate(0,ui/2,0),Qi.rotateX(Math.PI/2),dn.geometry.dispose(),dn.geometry=Qi}var rr=et(mi)||Oe(mi)||"#f0f0f0";dn.material.color=new Ua.Color(N2(rr)),dn.material.opacity=y.linkOpacity*3*r3(rr)}).digest(Ze.filter(it))}if(y.linkDirectionalParticles||E.hasOwnProperty("linkDirectionalParticles")){var ht=ql(y.linkDirectionalParticles),lt=ql(y.linkDirectionalParticleWidth),ot=ql(y.linkDirectionalParticleColor),rt=ql(y.linkDirectionalParticleThreeObject),Mt={},Xt={};y.particlesDataMapper.onCreateObj(function(){var dn=new Ua.Group;return dn.__linkThreeObjType="photons",dn.__photonDataMapper=new L2(dn),dn}).onUpdateObj(function(dn,mi){var ui=!!dn.children.length&&dn.children[0],Mi=rt(mi),Qi,rr;if(Mi)Qi=Mi.geometry,rr=Mi.material;else{var Ir=Math.ceil(lt(mi)*10)/10/2,to=y.linkDirectionalParticleResolution;ui&&ui.geometry.parameters.radius===Ir&&ui.geometry.parameters.widthSegments===to?Qi=ui.geometry:(Xt.hasOwnProperty(Ir)||(Xt[Ir]=new Ua.SphereGeometry(Ir,to,to)),Qi=Xt[Ir]);var Jo=ot(mi)||Oe(mi)||"#f0f0f0",Ot=new Ua.Color(N2(Jo)),Pr=y.linkOpacity*3;ui&&ui.material.color.equals(Ot)&&ui.material.opacity===Pr?rr=ui.material:(Mt.hasOwnProperty(Jo)||(Mt[Jo]=new Ua.MeshLambertMaterial({color:Ot,transparent:!0,opacity:Pr})),rr=Mt[Jo])}ui&&(ui.geometry!==Qi&&ui.geometry.dispose(),ui.material!==rr&&ui.material.dispose());var sr=Math.round(Math.abs(ht(mi)));dn.__photonDataMapper.id(function(Fr){return Fr.idx}).onCreateObj(function(){return new Ua.Mesh(Qi,rr)}).onUpdateObj(function(Fr){Fr.geometry=Qi,Fr.material=rr}).digest(ly(new Array(sr)).map(function(Fr,_i){return{idx:_i}}))}).digest(Ze.filter(ht))}}if(y._flushObjects=!1,z(["graphData","nodeId","linkSource","linkTarget","numDimensions","forceEngine","dagMode","dagNodeFilter","dagLevelDistance"])){y.engineRunning=!1,y.graphData.links.forEach(function(dn){dn.source=dn[y.linkSource],dn.target=dn[y.linkTarget]});var cn=y.forceEngine!=="ngraph",Cn;if(cn){(Cn=y.d3ForceLayout).stop().alpha(1).numDimensions(y.numDimensions).nodes(y.graphData.nodes);var En=y.d3ForceLayout.force("link");En&&En.id(function(dn){return dn[y.nodeId]}).links(y.graphData.links);var Zn=y.dagMode&&iH(y.graphData,function(dn){return dn[y.nodeId]},{nodeFilter:y.dagNodeFilter,onLoopError:y.onDagError||void 0}),ti=Math.max.apply(Math,ly(Object.values(Zn||[]))),bn=y.dagLevelDistance||y.graphData.nodes.length/(ti||1)*rH*(["radialin","radialout"].indexOf(y.dagMode)!==-1?.7:1);if(["lr","rl","td","bu","zin","zout"].includes(E.dagMode)){var rn=["lr","rl"].includes(E.dagMode)?"fx":["td","bu"].includes(E.dagMode)?"fy":"fz";y.graphData.nodes.filter(y.dagNodeFilter).forEach(function(dn){return delete dn[rn]})}if(["lr","rl","td","bu","zin","zout"].includes(y.dagMode)){var li=["rl","td","zout"].includes(y.dagMode),Dn=function(mi){return(Zn[mi[y.nodeId]]-ti/2)*bn*(li?-1:1)},Wn=["lr","rl"].includes(y.dagMode)?"fx":["td","bu"].includes(y.dagMode)?"fy":"fz";y.graphData.nodes.filter(y.dagNodeFilter).forEach(function(dn){return dn[Wn]=Dn(dn)})}y.d3ForceLayout.force("dagRadial",["radialin","radialout"].indexOf(y.dagMode)!==-1?eE(function(dn){var mi=Zn[dn[y.nodeId]]||-1;return(y.dagMode==="radialin"?ti-mi:mi)*bn}).strength(function(dn){return y.dagNodeFilter(dn)?1:0}):null)}else{var hi=bN.graph();y.graphData.nodes.forEach(function(dn){hi.addNode(dn[y.nodeId])}),y.graphData.links.forEach(function(dn){hi.addLink(dn.source,dn.target)}),Cn=bN.forcelayout(hi,_z({dimensions:y.numDimensions},y.ngraphPhysics)),Cn.graph=hi}for(var On=0;On0&&y.d3ForceLayout.alpha()1&&arguments[1]!==void 0?arguments[1]:Object,E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,z=function(ne){function ie(){var se;gN(this,ie);for(var le=arguments.length,de=new Array(le),ge=0;geMe.start-De.start);let Se=0;for(let Me=1;MeMe+De?(ge.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:y.handedness,target:this})):!ge.inputState.pinching&&Se<=Me-De&&(ge.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:y.handedness,target:this}))}else de!==null&&y.gripSpace&&(ie=E.getPose(y.gripSpace,z),ie!==null&&(de.matrix.fromArray(ie.transform.matrix),de.matrix.decompose(de.position,de.rotation,de.scale),de.matrixWorldNeedsUpdate=!0,ie.linearVelocity?(de.hasLinearVelocity=!0,de.linearVelocity.copy(ie.linearVelocity)):de.hasLinearVelocity=!1,ie.angularVelocity?(de.hasAngularVelocity=!0,de.angularVelocity.copy(ie.angularVelocity)):de.hasAngularVelocity=!1));le!==null&&(ne=E.getPose(y.targetRaySpace,z),ne===null&&ie!==null&&(ne=ie),ne!==null&&(le.matrix.fromArray(ne.transform.matrix),le.matrix.decompose(le.position,le.rotation,le.scale),le.matrixWorldNeedsUpdate=!0,ne.linearVelocity?(le.hasLinearVelocity=!0,le.linearVelocity.copy(ne.linearVelocity)):le.hasLinearVelocity=!1,ne.angularVelocity?(le.hasAngularVelocity=!0,le.angularVelocity.copy(ne.angularVelocity)):le.hasAngularVelocity=!1,this.dispatchEvent(KM)))}return le!==null&&(le.visible=ne!==null),de!==null&&(de.visible=ie!==null),ge!==null&&(ge.visible=se!==null),this}_getHandJoint(y,E){if(y.joints[E.jointName]===void 0){const z=new Gy;z.matrixAutoUpdate=!1,z.visible=!1,y.joints[E.jointName]=z,y.add(z)}return y.joints[E.jointName]}}class sC{constructor(y,E=25e-5){this.isFogExp2=!0,this.name="",this.color=new fo(y),this.density=E}clone(){return new sC(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class B1{constructor(y,E=1,z=1e3){this.isFog=!0,this.name="",this.color=new fo(y),this.near=E,this.far=z}clone(){return new B1(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Xy extends yc{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Pu,this.environmentIntensity=1,this.environmentRotation=new Pu,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(y,E){return super.copy(y,E),y.background!==null&&(this.background=y.background.clone()),y.environment!==null&&(this.environment=y.environment.clone()),y.fog!==null&&(this.fog=y.fog.clone()),this.backgroundBlurriness=y.backgroundBlurriness,this.backgroundIntensity=y.backgroundIntensity,this.backgroundRotation.copy(y.backgroundRotation),this.environmentIntensity=y.environmentIntensity,this.environmentRotation.copy(y.environmentRotation),y.overrideMaterial!==null&&(this.overrideMaterial=y.overrideMaterial.clone()),this.matrixAutoUpdate=y.matrixAutoUpdate,this}toJSON(y){const E=super.toJSON(y);return this.fog!==null&&(E.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(E.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(E.object.backgroundIntensity=this.backgroundIntensity),E.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(E.object.environmentIntensity=this.environmentIntensity),E.object.environmentRotation=this.environmentRotation.toArray(),E}}class Wy{constructor(y,E){this.isInterleavedBuffer=!0,this.array=y,this.stride=E,this.count=y!==void 0?y.length/E:0,this.usage=fu,this.updateRanges=[],this.version=0,this.uuid=gu()}onUploadCallback(){}set needsUpdate(y){y===!0&&this.version++}setUsage(y){return this.usage=y,this}addUpdateRange(y,E){this.updateRanges.push({start:y,count:E})}clearUpdateRanges(){this.updateRanges.length=0}copy(y){return this.array=new y.array.constructor(y.array),this.count=y.count,this.stride=y.stride,this.usage=y.usage,this}copyAt(y,E,z){y*=this.stride,z*=E.stride;for(let ne=0,ie=this.stride;ney.far||E.push({distance:de,point:T1.clone(),uv:Jf.getInterpolation(T1,kr,px,F1,Ob,lC,zc,new ki),face:null,object:this})}copy(y,E){return super.copy(y,E),y.center!==void 0&&this.center.copy(y.center),this.material=y.material,this}}function Hv(ee,y,E,z,ne,ie){D1.subVectors(ee,E).addScalar(.5).multiply(z),ne!==void 0?(Yy.x=ie*D1.x-ne*D1.y,Yy.y=ne*D1.x+ie*D1.y):Yy.copy(D1),ee.copy(y),ee.x+=Yy.x,ee.y+=Yy.y,ee.applyMatrix4(aC)}const sS=new Vt,Am=new Vt;class uC extends null{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(y){super.copy(y,!1);const E=y.levels;for(let z=0,ne=E.length;z0){let z,ne;for(z=1,ne=E.length;z0){sS.setFromMatrixPosition(this.matrixWorld);const ne=y.ray.origin.distanceTo(sS);this.getObjectForDistance(ne).raycast(y,E)}}update(y){const E=this.levels;if(E.length>1){sS.setFromMatrixPosition(y.matrixWorld),Am.setFromMatrixPosition(this.matrixWorld);const z=sS.distanceTo(Am)/y.zoom;E[0].object.visible=!0;let ne,ie;for(ne=1,ie=E.length;ne=se)E[ne-1].object.visible=!1,E[ne].object.visible=!0;else break}for(this._currentLevel=ne-1;ne1?null:E.copy(y.start).addScaledVector(z,ie)}intersectsLine(y){const E=this.distanceToPoint(y.start),z=this.distanceToPoint(y.end);return E<0&&z>0||z<0&&E>0}intersectsBox(y){return y.intersectsPlane(this)}intersectsSphere(y){return y.intersectsPlane(this)}coplanarPoint(y){return y.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(y,E){const z=E||R1.getNormalMatrix(y),ne=this.coplanarPoint(Gh).applyMatrix4(y),ie=this.normal.applyMatrix3(z).normalize();return this.constant=-ne.dot(ie),this}translate(y){return this.constant-=y.dot(this.normal),this}equals(y){return y.normal.equals(this.normal)&&y.constant===this.constant}clone(){return new this.constructor().copy(this)}}const F0=new sd,mC=new ki(.5,.5),Jy=new Vt;class L0{constructor(y=new $f,E=new $f,z=new $f,ne=new $f,ie=new $f,se=new $f){this.planes=[y,E,z,ne,ie,se]}set(y,E,z,ne,ie,se){const le=this.planes;return le[0].copy(y),le[1].copy(E),le[2].copy(z),le[3].copy(ne),le[4].copy(ie),le[5].copy(se),this}copy(y){const E=this.planes;for(let z=0;z<6;z++)E[z].copy(y.planes[z]);return this}setFromProjectionMatrix(y,E=Cd){const z=this.planes,ne=y.elements,ie=ne[0],se=ne[1],le=ne[2],de=ne[3],ge=ne[4],ve=ne[5],xe=ne[6],Se=ne[7],Me=ne[8],De=ne[9],Oe=ne[10],Re=ne[11],Le=ne[12],Qe=ne[13],Xe=ne[14],Ze=ne[15];if(z[0].setComponents(de-ie,Se-ge,Re-Me,Ze-Le).normalize(),z[1].setComponents(de+ie,Se+ge,Re+Me,Ze+Le).normalize(),z[2].setComponents(de+se,Se+ve,Re+De,Ze+Qe).normalize(),z[3].setComponents(de-se,Se-ve,Re-De,Ze-Qe).normalize(),z[4].setComponents(de-le,Se-xe,Re-Oe,Ze-Xe).normalize(),E===Cd)z[5].setComponents(de+le,Se+xe,Re+Oe,Ze+Xe).normalize();else if(E===rd)z[5].setComponents(le,xe,Oe,Xe).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+E);return this}intersectsObject(y){if(y.boundingSphere!==void 0)y.boundingSphere===null&&y.computeBoundingSphere(),F0.copy(y.boundingSphere).applyMatrix4(y.matrixWorld);else{const E=y.geometry;E.boundingSphere===null&&E.computeBoundingSphere(),F0.copy(E.boundingSphere).applyMatrix4(y.matrixWorld)}return this.intersectsSphere(F0)}intersectsSprite(y){F0.center.set(0,0,0);const E=mC.distanceTo(y.center);return F0.radius=.7071067811865476+E,F0.applyMatrix4(y.matrixWorld),this.intersectsSphere(F0)}intersectsSphere(y){const E=this.planes,z=y.center,ne=-y.radius;for(let ie=0;ie<6;ie++)if(E[ie].distanceToPoint(z)0?y.max.x:y.min.x,Jy.y=ne.normal.y>0?y.max.y:y.min.y,Jy.z=ne.normal.z>0?y.max.z:y.min.z,ne.distanceToPoint(Jy)<0)return!1}return!0}containsPoint(y){const E=this.planes;for(let z=0;z<6;z++)if(E[z].distanceToPoint(y)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const bg=new rs,Rp=new L0;class yx{constructor(){this.coordinateSystem=Cd}intersectsObject(y,E){if(!E.isArrayCamera||E.cameras.length===0)return!1;for(let z=0;z=ie.length&&ie.push({start:-1,count:-1,z:-1,index:-1});const le=ie[this.index];se.push(le),this.index++,le.start=y,le.count=E,le.z=z,le.index=ne}reset(){this.list.length=0,this.index=0}}const eg=new rs,hS=new fo(1,1,1),dS=new L0,fS=new yx,Vv=new Md,Dd=new sd,O1=new Vt,ip=new Vt,yC=new Vt,k1=new qM,af=new lu,gS=null;function N0(ee,y,E=0){const z=y.itemSize;if(ee.isInterleavedBufferAttribute||ee.array.constructor!==y.array.constructor){const ne=ee.count;for(let ie=0;ie65535?new Uint32Array(ne):new Uint16Array(ne);E.setIndex(new wl(ie,1))}this._geometryInitialized=!0}}_validateGeometry(y){const E=this.geometry;if(!!y.getIndex()!=!!E.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const z in E.attributes){if(!y.hasAttribute(z))throw new Error(`THREE.BatchedMesh: Added geometry missing "${z}". All geometries must have consistent attributes.`);const ne=y.getAttribute(z),ie=E.getAttribute(z);if(ne.itemSize!==ie.itemSize||ne.normalized!==ie.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(y){const E=this._instanceInfo;if(y<0||y>=E.length||E[y].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${y}. Instance is either out of range or has been deleted.`)}validateGeometryId(y){const E=this._geometryInfo;if(y<0||y>=E.length||E[y].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${y}. Geometry is either out of range or has been deleted.`)}setCustomSort(y){return this.customSort=y,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Md);const y=this.boundingBox,E=this._instanceInfo;y.makeEmpty();for(let z=0,ne=E.length;z=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const z={visible:!0,active:!0,geometryIndex:y};let ne=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(Ax),ne=this._availableInstanceIds.shift(),this._instanceInfo[ne]=z):(ne=this._instanceInfo.length,this._instanceInfo.push(z));const ie=this._matricesTexture;eg.identity().toArray(ie.image.data,ne*16),ie.needsUpdate=!0;const se=this._colorsTexture;return se&&(hS.toArray(se.image.data,ne*4),se.needsUpdate=!0),this._visibilityChanged=!0,ne}addGeometry(y,E=-1,z=-1){this._initializeGeometry(y),this._validateGeometry(y);const ne={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},ie=this._geometryInfo;ne.vertexStart=this._nextVertexStart,ne.reservedVertexCount=E===-1?y.getAttribute("position").count:E;const se=y.getIndex();if(se!==null&&(ne.indexStart=this._nextIndexStart,ne.reservedIndexCount=z===-1?se.count:z),ne.indexStart!==-1&&ne.indexStart+ne.reservedIndexCount>this._maxIndexCount||ne.vertexStart+ne.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let de;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(Ax),de=this._availableGeometryIds.shift(),ie[de]=ne):(de=this._geometryCount,this._geometryCount++,ie.push(ne)),this.setGeometryAt(de,y),this._nextIndexStart=ne.indexStart+ne.reservedIndexCount,this._nextVertexStart=ne.vertexStart+ne.reservedVertexCount,de}setGeometryAt(y,E){if(y>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(E);const z=this.geometry,ne=z.getIndex()!==null,ie=z.getIndex(),se=E.getIndex(),le=this._geometryInfo[y];if(ne&&se.count>le.reservedIndexCount||E.attributes.position.count>le.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const de=le.vertexStart,ge=le.reservedVertexCount;le.vertexCount=E.getAttribute("position").count;for(const ve in z.attributes){const xe=E.getAttribute(ve),Se=z.getAttribute(ve);N0(xe,Se,de);const Me=xe.itemSize;for(let De=xe.count,Oe=ge;De=E.length||E[y].active===!1)return this;const z=this._instanceInfo;for(let ne=0,ie=z.length;nele).sort((se,le)=>z[se].vertexStart-z[le].vertexStart),ie=this.geometry;for(let se=0,le=z.length;se=this._geometryCount)return null;const z=this.geometry,ne=this._geometryInfo[y];if(ne.boundingBox===null){const ie=new Md,se=z.index,le=z.attributes.position;for(let de=ne.start,ge=ne.start+ne.count;de=this._geometryCount)return null;const z=this.geometry,ne=this._geometryInfo[y];if(ne.boundingSphere===null){const ie=new sd;this.getBoundingBoxAt(y,Vv),Vv.getCenter(ie.center);const se=z.index,le=z.attributes.position;let de=0;for(let ge=ne.start,ve=ne.start+ne.count;gele.active);if(Math.max(...z.map(le=>le.vertexStart+le.reservedVertexCount))>y)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${E}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...z.map(de=>de.indexStart+de.reservedIndexCount))>E)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${E}. Cannot shrink further.`);const ie=this.geometry;ie.dispose(),this._maxVertexCount=y,this._maxIndexCount=E,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new Ha,this._initializeGeometry(ie));const se=this.geometry;ie.index&&Mg(ie.index.array,se.index.array);for(const le in ie.attributes)Mg(ie.attributes[le].array,se.attributes[le].array)}raycast(y,E){const z=this._instanceInfo,ne=this._geometryInfo,ie=this.matrixWorld,se=this.geometry;af.material=this.material,af.geometry.index=se.index,af.geometry.attributes=se.attributes,af.geometry.boundingBox===null&&(af.geometry.boundingBox=new Md),af.geometry.boundingSphere===null&&(af.geometry.boundingSphere=new sd);for(let le=0,de=z.length;leNA(Sh({},E),{boundingBox:E.boundingBox!==null?E.boundingBox.clone():null,boundingSphere:E.boundingSphere!==null?E.boundingSphere.clone():null})),this._instanceInfo=y._instanceInfo.map(E=>Sh({},E)),this._availableInstanceIds=y._availableInstanceIds.slice(),this._availableGeometryIds=y._availableGeometryIds.slice(),this._nextIndexStart=y._nextIndexStart,this._nextVertexStart=y._nextVertexStart,this._geometryCount=y._geometryCount,this._maxInstanceCount=y._maxInstanceCount,this._maxVertexCount=y._maxVertexCount,this._maxIndexCount=y._maxIndexCount,this._geometryInitialized=y._geometryInitialized,this._multiDrawCounts=y._multiDrawCounts.slice(),this._multiDrawStarts=y._multiDrawStarts.slice(),this._indirectTexture=y._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=y._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=y._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(y,E,z,ne,ie){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const se=ne.getIndex(),le=se===null?1:se.array.BYTES_PER_ELEMENT,de=this._instanceInfo,ge=this._multiDrawStarts,ve=this._multiDrawCounts,xe=this._geometryInfo,Se=this.perObjectFrustumCulled,Me=this._indirectTexture,De=Me.image.data,Oe=z.isArrayCamera?fS:dS;Se&&!z.isArrayCamera&&(eg.multiplyMatrices(z.projectionMatrix,z.matrixWorldInverse).multiply(this.matrixWorld),dS.setFromProjectionMatrix(eg,y.coordinateSystem));let Re=0;if(this.sortObjects){eg.copy(this.matrixWorld).invert(),O1.setFromMatrixPosition(z.matrixWorld).applyMatrix4(eg),ip.set(0,0,-1).transformDirection(z.matrixWorld).transformDirection(eg);for(let Xe=0,Ze=de.length;Xe0){const ne=E[z[0]];if(ne!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let ie=0,se=ne.length;iez)return;Fa.applyMatrix4(ee.matrixWorld);const ge=y.ray.origin.distanceTo(Fa);if(!(gey.far))return{distance:ge,point:R0.clone().applyMatrix4(ee.matrixWorld),index:se,face:null,faceIndex:null,barycoord:null,object:ee}}const Hb=new Vt,AC=new Vt;class xC extends null{constructor(y,E){super(y,E),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const y=this.geometry;if(y.index===null){const E=y.attributes.position,z=[];for(let ne=0,ie=E.count;ne0){const ne=E[z[0]];if(ne!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let ie=0,se=ne.length;iene.far)return;ie.push({distance:ge,distanceToRay:Math.sqrt(le),point:de,index:y,face:null,faceIndex:null,barycoord:null,object:se})}}class wC extends null{constructor(y,E,z,ne,ie=tu,se=tu,le,de,ge){super(y,E,z,ne,ie,se,le,de,ge),this.isVideoTexture=!0,this.generateMipmaps=!1;const ve=this;function xe(){ve.needsUpdate=!0,y.requestVideoFrameCallback(xe)}"requestVideoFrameCallback"in y&&y.requestVideoFrameCallback(xe)}clone(){return new this.constructor(this.image).copy(this)}update(){const y=this.image;"requestVideoFrameCallback"in y===!1&&y.readyState>=y.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Ub extends null{constructor(y,E,z,ne,ie,se,le,de){super({},y,E,z,ne,ie,se,le,de),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(y){this.image=y,this.needsUpdate=!0}}class tg extends Ec{constructor(y,E){super({width:y,height:E}),this.isFramebufferTexture=!0,this.magFilter=xu,this.minFilter=xu,this.generateMipmaps=!1,this.needsUpdate=!0}}class Vb extends null{constructor(y,E,z,ne,ie,se,le,de,ge,ve,xe,Se){super(null,se,le,de,ge,ve,ne,ie,xe,Se),this.isCompressedTexture=!0,this.image={width:E,height:z},this.mipmaps=y,this.flipY=!1,this.generateMipmaps=!1}}class Xb extends null{constructor(y,E,z,ne,ie,se){super(y,E,z,ie,se),this.isCompressedArrayTexture=!0,this.image.depth=ne,this.wrapR=bh,this.layerUpdates=new Set}addLayerUpdate(y){this.layerUpdates.add(y)}clearLayerUpdates(){this.layerUpdates.clear()}}class SC extends null{constructor(y,E,z){super(void 0,y[0].width,y[0].height,E,z,Jd),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=y}}class Wb extends null{constructor(y,E,z,ne,ie,se,le,de,ge){super(y,E,z,ne,ie,se,le,de,ge),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Wo extends Ec{constructor(y,E,z=nu,ne,ie,se,le=xu,de=xu,ge,ve=Oh,xe=1){if(ve!==Oh&&ve!==Mh)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const Se={width:y,height:E,depth:xe};super(Se,ne,ie,se,le,de,ve,z,ge),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(y){return super.copy(y),this.source=new y0(Object.assign({},y.image)),this.compareFunction=y.compareFunction,this}toJSON(y){const E=super.toJSON(y);return this.compareFunction!==null&&(E.compareFunction=this.compareFunction),E}}class PC extends Ha{constructor(y=1,E=1,z=4,ne=8,ie=1){super(),this.type="CapsuleGeometry",this.parameters={radius:y,height:E,capSegments:z,radialSegments:ne,heightSegments:ie},E=Math.max(0,E),z=Math.max(1,Math.floor(z)),ne=Math.max(3,Math.floor(ne)),ie=Math.max(1,Math.floor(ie));const se=[],le=[],de=[],ge=[],ve=E/2,xe=Math.PI/2*y,Se=E,Me=2*xe+Se,De=z*2+ie,Oe=ne+1,Re=new Vt,Le=new Vt;for(let Qe=0;Qe<=De;Qe++){let Xe=0,Ze=0,it=0,et=0;if(Qe<=z){const ot=Qe/z,rt=ot*Math.PI/2;Ze=-ve-y*Math.cos(rt),it=y*Math.sin(rt),et=-y*Math.cos(rt),Xe=ot*xe}else if(Qe<=z+ie){const ot=(Qe-z)/ie;Ze=-ve+ot*E,it=y,et=0,Xe=xe+ot*Se}else{const ot=(Qe-z-ie)/z,rt=ot*Math.PI/2;Ze=ve+y*Math.sin(rt),it=y*Math.cos(rt),et=y*Math.sin(rt),Xe=xe+Se+ot*xe}const ht=Math.max(0,Math.min(1,Xe/Me));let lt=0;Qe===0?lt=.5/ne:Qe===De&&(lt=-.5/ne);for(let ot=0;ot<=ne;ot++){const rt=ot/ne,Mt=rt*Math.PI*2,Xt=Math.sin(Mt),cn=Math.cos(Mt);Le.x=-it*cn,Le.y=Ze,Le.z=it*Xt,le.push(Le.x,Le.y,Le.z),Re.set(-it*cn,et,it*Xt),Re.normalize(),de.push(Re.x,Re.y,Re.z),ge.push(rt+lt,ht)}if(Qe>0){const ot=(Qe-1)*Oe;for(let rt=0;rt0&&Xe(!0),E>0&&Xe(!1)),this.setIndex(ve),this.setAttribute("position",new ds(xe,3)),this.setAttribute("normal",new ds(Se,3)),this.setAttribute("uv",new ds(Me,2));function Qe(){const Ze=new Vt,it=new Vt;let et=0;const ht=(E-y)/z;for(let lt=0;lt<=ie;lt++){const ot=[],rt=lt/ie,Mt=rt*(E-y)+y;for(let Xt=0;Xt<=ne;Xt++){const cn=Xt/ne,Cn=cn*de+le,En=Math.sin(Cn),Zn=Math.cos(Cn);it.x=Mt*En,it.y=-rt*z+Re,it.z=Mt*Zn,xe.push(it.x,it.y,it.z),Ze.set(En,ht,Zn).normalize(),Se.push(Ze.x,Ze.y,Ze.z),Me.push(cn,1-rt),ot.push(De++)}Oe.push(ot)}for(let lt=0;lt0||ot!==0)&&(ve.push(rt,Mt,cn),et+=3),(E>0||ot!==ie-1)&&(ve.push(Mt,Xt,cn),et+=3)}ge.addGroup(Le,et,0),Le+=et}function Xe(Ze){const it=De,et=new ki,ht=new Vt;let lt=0;const ot=Ze===!0?y:E,rt=Ze===!0?1:-1;for(let Xt=1;Xt<=ne;Xt++)xe.push(0,Re*rt,0),Se.push(0,rt,0),Me.push(.5,.5),De++;const Mt=De;for(let Xt=0;Xt<=ne;Xt++){const Cn=Xt/ne*de+le,En=Math.cos(Cn),Zn=Math.sin(Cn);ht.x=ot*Zn,ht.y=Re*rt,ht.z=ot*En,xe.push(ht.x,ht.y,ht.z),Se.push(0,rt,0),et.x=En*.5+.5,et.y=Zn*.5*rt+.5,Me.push(et.x,et.y),De++}for(let Xt=0;Xt.9&&ht<.1&&(Xe<.2&&(se[Qe+0]+=1),Ze<.2&&(se[Qe+2]+=1),it<.2&&(se[Qe+4]+=1))}}function Se(Qe){ie.push(Qe.x,Qe.y,Qe.z)}function Me(Qe,Xe){const Ze=Qe*3;Xe.x=y[Ze+0],Xe.y=y[Ze+1],Xe.z=y[Ze+2]}function De(){const Qe=new Vt,Xe=new Vt,Ze=new Vt,it=new Vt,et=new ki,ht=new ki,lt=new ki;for(let ot=0,rt=0;ot0)de=ne-1;else{de=ne;break}if(ne=de,z[ne]===se)return ne/(ie-1);const ve=z[ne],Se=z[ne+1]-ve,Me=(se-ve)/Se;return(ne+Me)/(ie-1)}getTangent(y,E){let ne=y-1e-4,ie=y+1e-4;ne<0&&(ne=0),ie>1&&(ie=1);const se=this.getPoint(ne),le=this.getPoint(ie),de=E||(se.isVector2?new ki:new Vt);return de.copy(le).sub(se).normalize(),de}getTangentAt(y,E){const z=this.getUtoTmapping(y);return this.getTangent(z,E)}computeFrenetFrames(y,E=!1){const z=new Vt,ne=[],ie=[],se=[],le=new Vt,de=new rs;for(let Me=0;Me<=y;Me++){const De=Me/y;ne[Me]=this.getTangentAt(De,new Vt)}ie[0]=new Vt,se[0]=new Vt;let ge=Number.MAX_VALUE;const ve=Math.abs(ne[0].x),xe=Math.abs(ne[0].y),Se=Math.abs(ne[0].z);ve<=ge&&(ge=ve,z.set(1,0,0)),xe<=ge&&(ge=xe,z.set(0,1,0)),Se<=ge&&z.set(0,0,1),le.crossVectors(ne[0],z).normalize(),ie[0].crossVectors(ne[0],le),se[0].crossVectors(ne[0],ie[0]);for(let Me=1;Me<=y;Me++){if(ie[Me]=ie[Me-1].clone(),se[Me]=se[Me-1].clone(),le.crossVectors(ne[Me-1],ne[Me]),le.length()>Number.EPSILON){le.normalize();const De=Math.acos(_a(ne[Me-1].dot(ne[Me]),-1,1));ie[Me].applyMatrix4(de.makeRotationAxis(le,De))}se[Me].crossVectors(ne[Me],ie[Me])}if(E===!0){let Me=Math.acos(_a(ie[0].dot(ie[y]),-1,1));Me/=y,ne[0].dot(le.crossVectors(ie[0],ie[y]))>0&&(Me=-Me);for(let De=1;De<=y;De++)ie[De].applyMatrix4(de.makeRotationAxis(ne[De],Me*De)),se[De].crossVectors(ne[De],ie[De])}return{tangents:ne,normals:ie,binormals:se}}clone(){return new this.constructor().copy(this)}copy(y){return this.arcLengthDivisions=y.arcLengthDivisions,this}toJSON(){const y={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return y.arcLengthDivisions=this.arcLengthDivisions,y.type=this.type,y}fromJSON(y){return this.arcLengthDivisions=y.arcLengthDivisions,this}}class bC extends xm{constructor(y=0,E=0,z=1,ne=1,ie=0,se=Math.PI*2,le=!1,de=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=y,this.aY=E,this.xRadius=z,this.yRadius=ne,this.aStartAngle=ie,this.aEndAngle=se,this.aClockwise=le,this.aRotation=de}getPoint(y,E=new ki){const z=E,ne=Math.PI*2;let ie=this.aEndAngle-this.aStartAngle;const se=Math.abs(ie)ne;)ie-=ne;ie0?0:(Math.floor(Math.abs(le)/ie)+1)*ie:de===0&&le===ie-1&&(le=ie-2,de=1);let ge,ve;this.closed||le>0?ge=ne[(le-1)%ie]:(wx.subVectors(ne[0],ne[1]).add(ne[0]),ge=wx);const xe=ne[le%ie],Se=ne[(le+1)%ie];if(this.closed||le+2ne.length-2?ne.length-1:se+1],xe=ne[se>ne.length-3?ne.length-1:se+2];return z.set(Qb(le,de.x,ge.x,ve.x,xe.x),Qb(le,de.y,ge.y,ve.y,xe.y)),z}copy(y){super.copy(y),this.points=[];for(let E=0,z=y.points.length;E=z){const se=ne[ie]-z,le=this.curves[ie],de=le.getLength(),ge=de===0?0:1-se/de;return le.getPointAt(ge,E)}ie++}return null}getLength(){const y=this.getCurveLengths();return y[y.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const y=[];let E=0;for(let z=0,ne=this.curves.length;z1&&!E[E.length-1].equals(E[0])&&E.push(E[0]),E}copy(y){super.copy(y),this.curves=[];for(let E=0,z=y.curves.length;E0){const xe=ge.getPoint(0);xe.equals(this.currentPoint)||this.lineTo(xe.x,xe.y)}this.curves.push(ge);const ve=ge.getPoint(1);return this.currentPoint.copy(ve),this}copy(y){return super.copy(y),this.currentPoint.copy(y.currentPoint),this}toJSON(){const y=super.toJSON();return y.currentPoint=this.currentPoint.toArray(),y}fromJSON(y){return super.fromJSON(y),this.currentPoint.fromArray(y.currentPoint),this}}class ya extends Sl{constructor(y){super(y),this.uuid=gu(),this.type="Shape",this.holes=[]}getPointsHoles(y){const E=[];for(let z=0,ne=this.holes.length;z80*E){le=1/0,de=1/0;let ve=-1/0,xe=-1/0;for(let Se=E;Seve&&(ve=Me),De>xe&&(xe=De)}ge=Math.max(ve-le,xe-de),ge=ge!==0?32767/ge:0}return W1(ie,se,E,le,de,ge,0),se}function If(ee,y,E,z,ne){let ie;if(ne===ig(ee,y,E,z)>0)for(let se=y;se=y;se-=z)ie=bS(se/z|0,ee[se],ee[se+1],ie);return ie&&O0(ie,ie.next)&&(eA(ie),ie=ie.next),ie}function ll(ee,y){if(!ee)return ee;y||(y=ee);let E=ee,z;do if(z=!1,!E.steiner&&(O0(E,E.next)||Ku(E.prev,E,E.next)===0)){if(eA(E),E=y=E.prev,E===E.next)break;z=!0}else E=E.next;while(z||E!==y);return y}function W1(ee,y,E,z,ne,ie,se){if(!ee)return;!se&&ie&&s5(ee,z,ne,ie);let le=ee;for(;ee.prev!==ee.next;){const de=ee.prev,ge=ee.next;if(ie?r5(ee,z,ne,ie):TT(ee)){y.push(de.i,ee.i,ge.i),eA(ee),ee=ge.next,le=ge.next;continue}if(ee=ge,ee===le){se?se===1?(ee=wS(ll(ee),y),W1(ee,y,E,z,ne,ie,2)):se===2&&Do(ee,y,E,z,ne,ie):W1(ll(ee),y,E,z,ne,ie,1);break}}}function TT(ee){const y=ee.prev,E=ee,z=ee.next;if(Ku(y,E,z)>=0)return!1;const ne=y.x,ie=E.x,se=z.x,le=y.y,de=E.y,ge=z.y,ve=Math.min(ne,ie,se),xe=Math.min(le,de,ge),Se=Math.max(ne,ie,se),Me=Math.max(le,de,ge);let De=z.next;for(;De!==y;){if(De.x>=ve&&De.x<=Se&&De.y>=xe&&De.y<=Me&&oc(ne,le,ie,de,se,ge,De.x,De.y)&&Ku(De.prev,De,De.next)>=0)return!1;De=De.next}return!0}function r5(ee,y,E,z){const ne=ee.prev,ie=ee,se=ee.next;if(Ku(ne,ie,se)>=0)return!1;const le=ne.x,de=ie.x,ge=se.x,ve=ne.y,xe=ie.y,Se=se.y,Me=Math.min(le,de,ge),De=Math.min(ve,xe,Se),Oe=Math.max(le,de,ge),Re=Math.max(ve,xe,Se),Le=SS(Me,De,y,E,z),Qe=SS(Oe,Re,y,E,z);let Xe=ee.prevZ,Ze=ee.nextZ;for(;Xe&&Xe.z>=Le&&Ze&&Ze.z<=Qe;){if(Xe.x>=Me&&Xe.x<=Oe&&Xe.y>=De&&Xe.y<=Re&&Xe!==ne&&Xe!==se&&oc(le,ve,de,xe,ge,Se,Xe.x,Xe.y)&&Ku(Xe.prev,Xe,Xe.next)>=0||(Xe=Xe.prevZ,Ze.x>=Me&&Ze.x<=Oe&&Ze.y>=De&&Ze.y<=Re&&Ze!==ne&&Ze!==se&&oc(le,ve,de,xe,ge,Se,Ze.x,Ze.y)&&Ku(Ze.prev,Ze,Ze.next)>=0))return!1;Ze=Ze.nextZ}for(;Xe&&Xe.z>=Le;){if(Xe.x>=Me&&Xe.x<=Oe&&Xe.y>=De&&Xe.y<=Re&&Xe!==ne&&Xe!==se&&oc(le,ve,de,xe,ge,Se,Xe.x,Xe.y)&&Ku(Xe.prev,Xe,Xe.next)>=0)return!1;Xe=Xe.prevZ}for(;Ze&&Ze.z<=Qe;){if(Ze.x>=Me&&Ze.x<=Oe&&Ze.y>=De&&Ze.y<=Re&&Ze!==ne&&Ze!==se&&oc(le,ve,de,xe,ge,Se,Ze.x,Ze.y)&&Ku(Ze.prev,Ze,Ze.next)>=0)return!1;Ze=Ze.nextZ}return!0}function wS(ee,y){let E=ee;do{const z=E.prev,ne=E.next.next;!O0(z,ne)&&Z1(z,E,E.next,ne)&&K1(z,ne)&&K1(ne,z)&&(y.push(z.i,E.i,ne.i),eA(E),eA(E.next),E=ee=ne),E=E.next}while(E!==ee);return ll(E)}function Do(ee,y,E,z,ne,ie){let se=ee;do{let le=se.next.next;for(;le!==se.prev;){if(se.i!==le.i&&nl(se,le)){let de=FC(se,le);se=ll(se,se.next),de=ll(de,de.next),W1(se,y,E,z,ne,ie,0),W1(de,y,E,z,ne,ie,0);return}le=le.next}se=se.next}while(se!==ee)}function o5(ee,y,E,z){const ne=[];for(let ie=0,se=y.length;ie=E.next.y&&E.next.y!==E.y){const xe=E.x+(ne-E.y)*(E.next.x-E.x)/(E.next.y-E.y);if(xe<=z&&xe>ie&&(ie=xe,se=E.x=E.x&&E.x>=de&&z!==E.x&&PS(nese.x||E.x===se.x&&Y1(se,E)))&&(se=E,ve=xe)}E=E.next}while(E!==le);return se}function Y1(ee,y){return Ku(ee.prev,ee,y.prev)<0&&Ku(y.next,ee,ee.next)<0}function s5(ee,y,E,z){let ne=ee;do ne.z===0&&(ne.z=SS(ne.x,ne.y,y,E,z)),ne.prevZ=ne.prev,ne.nextZ=ne.next,ne=ne.next;while(ne!==ee);ne.prevZ.nextZ=null,ne.prevZ=null,a5(ne)}function a5(ee){let y,E=1;do{let z=ee,ne;ee=null;let ie=null;for(y=0;z;){y++;let se=z,le=0;for(let ge=0;ge0||de>0&&se;)le!==0&&(de===0||!se||z.z<=se.z)?(ne=z,z=z.nextZ,le--):(ne=se,se=se.nextZ,de--),ie?ie.nextZ=ne:ee=ne,ne.prevZ=ie,ie=ne;z=se}ie.nextZ=null,E*=2}while(y>1);return ee}function SS(ee,y,E,z,ne){return ee=(ee-E)*ne|0,y=(y-z)*ne|0,ee=(ee|ee<<8)&16711935,ee=(ee|ee<<4)&252645135,ee=(ee|ee<<2)&858993459,ee=(ee|ee<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,ee|y<<1}function l5(ee){let y=ee,E=ee;do(y.x=(ee-se)*(ie-le)&&(ee-se)*(z-le)>=(E-se)*(y-le)&&(E-se)*(ie-le)>=(ne-se)*(z-le)}function oc(ee,y,E,z,ne,ie,se,le){return!(ee===se&&y===le)&&PS(ee,y,E,z,ne,ie,se,le)}function nl(ee,y){return ee.next.i!==y.i&&ee.prev.i!==y.i&&!u5(ee,y)&&(K1(ee,y)&&K1(y,ee)&&c5(ee,y)&&(Ku(ee.prev,ee,y.prev)||Ku(ee,y.prev,y))||O0(ee,y)&&Ku(ee.prev,ee,ee.next)>0&&Ku(y.prev,y,y.next)>0)}function Ku(ee,y,E){return(y.y-ee.y)*(E.x-y.x)-(y.x-ee.x)*(E.y-y.y)}function O0(ee,y){return ee.x===y.x&&ee.y===y.y}function Z1(ee,y,E,z){const ne=ES(Ku(ee,y,E)),ie=ES(Ku(ee,y,z)),se=ES(Ku(E,z,ee)),le=ES(Ku(E,z,y));return!!(ne!==ie&&se!==le||ne===0&&CS(ee,E,y)||ie===0&&CS(ee,z,y)||se===0&&CS(E,ee,z)||le===0&&CS(E,y,z))}function CS(ee,y,E){return y.x<=Math.max(ee.x,E.x)&&y.x>=Math.min(ee.x,E.x)&&y.y<=Math.max(ee.y,E.y)&&y.y>=Math.min(ee.y,E.y)}function ES(ee){return ee>0?1:ee<0?-1:0}function u5(ee,y){let E=ee;do{if(E.i!==ee.i&&E.next.i!==ee.i&&E.i!==y.i&&E.next.i!==y.i&&Z1(E,E.next,ee,y))return!0;E=E.next}while(E!==ee);return!1}function K1(ee,y){return Ku(ee.prev,ee,ee.next)<0?Ku(ee,y,ee.next)>=0&&Ku(ee,ee.prev,y)>=0:Ku(ee,y,ee.prev)<0||Ku(ee,ee.next,y)<0}function c5(ee,y){let E=ee,z=!1;const ne=(ee.x+y.x)/2,ie=(ee.y+y.y)/2;do E.y>ie!=E.next.y>ie&&E.next.y!==E.y&&ne<(E.next.x-E.x)*(ie-E.y)/(E.next.y-E.y)+E.x&&(z=!z),E=E.next;while(E!==ee);return z}function FC(ee,y){const E=_b(ee.i,ee.x,ee.y),z=_b(y.i,y.x,y.y),ne=ee.next,ie=y.prev;return ee.next=y,y.prev=ee,E.next=ne,ne.prev=E,z.next=E,E.prev=z,ie.next=z,z.prev=ie,z}function bS(ee,y,E,z){const ne=_b(ee,y,E);return z?(ne.next=z.next,ne.prev=z,z.next.prev=ne,z.next=ne):(ne.prev=ne,ne.next=ne),ne}function eA(ee){ee.next.prev=ee.prev,ee.prev.next=ee.next,ee.prevZ&&(ee.prevZ.nextZ=ee.nextZ),ee.nextZ&&(ee.nextZ.prevZ=ee.prevZ)}function _b(ee,y,E){return{i:ee,x:y,y:E,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function ig(ee,y,E,z){let ne=0;for(let ie=y,se=E-z;ie2&&ee[y-1].equals(ee[0])&&ee.pop()}function Hc(ee,y){for(let E=0;ENumber.EPSILON){const $i=Math.sqrt(Rt),ii=Math.sqrt(Js*Js+hn*hn),Ti=Pr.x-po/$i,qo=Pr.y+Rr/$i,ro=sr.x-hn/ii,us=sr.y+Js/ii,cs=((ro-Ti)*hn-(us-qo)*Js)/(Rr*hn-po*Js);Fr=Ti+Rr*cs-Ot.x,_i=qo+po*cs-Ot.y;const Or=Fr*Fr+_i*_i;if(Or<=2)return new ki(Fr,_i);Io=Math.sqrt(Or/2)}else{let $i=!1;Rr>Number.EPSILON?Js>Number.EPSILON&&($i=!0):Rr<-Number.EPSILON?Js<-Number.EPSILON&&($i=!0):Math.sign(po)===Math.sign(hn)&&($i=!0),$i?(Fr=-po,_i=Rr,Io=Math.sqrt(Rt)):(Fr=Rr,_i=po,Io=Math.sqrt(Rt/2))}return new ki(Fr/Io,_i/Io)}const rn=[];for(let Ot=0,Pr=En.length,sr=Pr-1,Fr=Ot+1;Ot=0;Ot--){const Pr=Ot/Re,sr=Me*Math.cos(Pr*Math.PI/2),Fr=De*Math.sin(Pr*Math.PI/2)+Oe;for(let _i=0,Io=En.length;_i=0;){const Fr=sr;let _i=sr-1;_i<0&&(_i=Ot.length-1);for(let Io=0,Rr=ve+Re*2;Io0)&&Me.push(Xe,Ze,et),(Le!==z-1||de0!=y>0&&this.version++,this._anisotropy=y}get clearcoat(){return this._clearcoat}set clearcoat(y){this._clearcoat>0!=y>0&&this.version++,this._clearcoat=y}get iridescence(){return this._iridescence}set iridescence(y){this._iridescence>0!=y>0&&this.version++,this._iridescence=y}get dispersion(){return this._dispersion}set dispersion(y){this._dispersion>0!=y>0&&this.version++,this._dispersion=y}get sheen(){return this._sheen}set sheen(y){this._sheen>0!=y>0&&this.version++,this._sheen=y}get transmission(){return this._transmission}set transmission(y){this._transmission>0!=y>0&&this.version++,this._transmission=y}copy(y){return super.copy(y),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=y.anisotropy,this.anisotropyRotation=y.anisotropyRotation,this.anisotropyMap=y.anisotropyMap,this.clearcoat=y.clearcoat,this.clearcoatMap=y.clearcoatMap,this.clearcoatRoughness=y.clearcoatRoughness,this.clearcoatRoughnessMap=y.clearcoatRoughnessMap,this.clearcoatNormalMap=y.clearcoatNormalMap,this.clearcoatNormalScale.copy(y.clearcoatNormalScale),this.dispersion=y.dispersion,this.ior=y.ior,this.iridescence=y.iridescence,this.iridescenceMap=y.iridescenceMap,this.iridescenceIOR=y.iridescenceIOR,this.iridescenceThicknessRange=[...y.iridescenceThicknessRange],this.iridescenceThicknessMap=y.iridescenceThicknessMap,this.sheen=y.sheen,this.sheenColor.copy(y.sheenColor),this.sheenColorMap=y.sheenColorMap,this.sheenRoughness=y.sheenRoughness,this.sheenRoughnessMap=y.sheenRoughnessMap,this.transmission=y.transmission,this.transmissionMap=y.transmissionMap,this.thickness=y.thickness,this.thicknessMap=y.thicknessMap,this.attenuationDistance=y.attenuationDistance,this.attenuationColor.copy(y.attenuationColor),this.specularIntensity=y.specularIntensity,this.specularIntensityMap=y.specularIntensityMap,this.specularColor.copy(y.specularColor),this.specularColorMap=y.specularColorMap,this}}class LC extends rf{constructor(y){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new fo(16777215),this.specular=new fo(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new fo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pu,this.combine=WA,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.specular.copy(y.specular),this.shininess=y.shininess,this.map=y.map,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.emissive.copy(y.emissive),this.emissiveMap=y.emissiveMap,this.emissiveIntensity=y.emissiveIntensity,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.specularMap=y.specularMap,this.alphaMap=y.alphaMap,this.envMap=y.envMap,this.envMapRotation.copy(y.envMapRotation),this.combine=y.combine,this.reflectivity=y.reflectivity,this.refractionRatio=y.refractionRatio,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.flatShading=y.flatShading,this.fog=y.fog,this}}class n2 extends rf{constructor(y){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new fo(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new fo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.map=y.map,this.gradientMap=y.gradientMap,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.emissive.copy(y.emissive),this.emissiveMap=y.emissiveMap,this.emissiveIntensity=y.emissiveIntensity,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.alphaMap=y.alphaMap,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.fog=y.fog,this}}class f5 extends rf{constructor(y){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(y)}copy(y){return super.copy(y),this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.flatShading=y.flatShading,this}}class NC extends rf{constructor(y){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new fo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new fo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pu,this.combine=WA,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.color.copy(y.color),this.map=y.map,this.lightMap=y.lightMap,this.lightMapIntensity=y.lightMapIntensity,this.aoMap=y.aoMap,this.aoMapIntensity=y.aoMapIntensity,this.emissive.copy(y.emissive),this.emissiveMap=y.emissiveMap,this.emissiveIntensity=y.emissiveIntensity,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.specularMap=y.specularMap,this.alphaMap=y.alphaMap,this.envMap=y.envMap,this.envMapRotation.copy(y.envMapRotation),this.combine=y.combine,this.reflectivity=y.reflectivity,this.refractionRatio=y.refractionRatio,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this.wireframeLinecap=y.wireframeLinecap,this.wireframeLinejoin=y.wireframeLinejoin,this.flatShading=y.flatShading,this.fog=y.fog,this}}class rA extends rf{constructor(y){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=He,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(y)}copy(y){return super.copy(y),this.depthPacking=y.depthPacking,this.map=y.map,this.alphaMap=y.alphaMap,this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.wireframe=y.wireframe,this.wireframeLinewidth=y.wireframeLinewidth,this}}class ew extends rf{constructor(y){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(y)}copy(y){return super.copy(y),this.map=y.map,this.alphaMap=y.alphaMap,this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this}}class tw extends rf{constructor(y){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new fo(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=At,this.normalScale=new ki(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(y)}copy(y){return super.copy(y),this.defines={MATCAP:""},this.color.copy(y.color),this.matcap=y.matcap,this.map=y.map,this.bumpMap=y.bumpMap,this.bumpScale=y.bumpScale,this.normalMap=y.normalMap,this.normalMapType=y.normalMapType,this.normalScale.copy(y.normalScale),this.displacementMap=y.displacementMap,this.displacementScale=y.displacementScale,this.displacementBias=y.displacementBias,this.alphaMap=y.alphaMap,this.flatShading=y.flatShading,this.fog=y.fog,this}}class nw extends Fd{constructor(y){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(y)}copy(y){return super.copy(y),this.scale=y.scale,this.dashSize=y.dashSize,this.gapSize=y.gapSize,this}}function ls(ee,y){return!ee||ee.constructor===y?ee:typeof y.BYTES_PER_ELEMENT=="number"?new y(ee):Array.prototype.slice.call(ee)}function IC(ee){return ArrayBuffer.isView(ee)&&!(ee instanceof DataView)}function dh(ee){function y(ne,ie){return ee[ne]-ee[ie]}const E=ee.length,z=new Array(E);for(let ne=0;ne!==E;++ne)z[ne]=ne;return z.sort(y),z}function cd(ee,y,E){const z=ee.length,ne=new ee.constructor(z);for(let ie=0,se=0;se!==z;++ie){const le=E[ie]*y;for(let de=0;de!==y;++de)ne[se++]=ee[le+de]}return ne}function RC(ee,y,E,z){let ne=1,ie=ee[0];for(;ie!==void 0&&ie[z]===void 0;)ie=ee[ne++];if(ie===void 0)return;let se=ie[z];if(se!==void 0)if(Array.isArray(se))do se=ie[z],se!==void 0&&(y.push(ie.time),E.push(...se)),ie=ee[ne++];while(ie!==void 0);else if(se.toArray!==void 0)do se=ie[z],se!==void 0&&(y.push(ie.time),se.toArray(E,E.length)),ie=ee[ne++];while(ie!==void 0);else do se=ie[z],se!==void 0&&(y.push(ie.time),E.push(se)),ie=ee[ne++];while(ie!==void 0)}function OC(ee,y,E,z,ne=30){const ie=ee.clone();ie.name=y;const se=[];for(let de=0;de=z)){xe.push(ge.times[Me]);for(let Oe=0;Oeie.tracks[de].times[0]&&(le=ie.tracks[de].times[0]);for(let de=0;de=le.times[De]){const Le=De*xe+ve,Qe=Le+xe-ve;Oe=le.values.slice(Le,Qe)}else{const Le=le.createInterpolant(),Qe=ve,Xe=xe-ve;Le.evaluate(ie),Oe=Le.resultBuffer.slice(Qe,Xe)}de==="quaternion"&&new Nu().fromArray(Oe).normalize().conjugate().toArray(Oe);const Re=ge.times.length;for(let Le=0;Le=ie)){const le=E[1];y=ie)break t}se=z,z=0;break n}break e}for(;z>>1;yE;)--se;if(++se,ie!==0||se!==ne){ie>=se&&(se=Math.max(se,1),ie=se-1);const le=this.getValueSize();this.times=z.slice(ie,se),this.values=this.values.slice(ie*le,se*le)}return this}validate(){let y=!0;const E=this.getValueSize();E-Math.floor(E)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),y=!1);const z=this.times,ne=this.values,ie=z.length;ie===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),y=!1);let se=null;for(let le=0;le!==ie;le++){const de=z[le];if(typeof de=="number"&&isNaN(de)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,le,de),y=!1;break}if(se!==null&&se>de){console.error("THREE.KeyframeTrack: Out of order keys.",this,le,de,se),y=!1;break}se=de}if(ne!==void 0&&IC(ne))for(let le=0,de=ne.length;le!==de;++le){const ge=ne[le];if(isNaN(ge)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,le,ge),y=!1;break}}return y}optimize(){const y=this.times.slice(),E=this.values.slice(),z=this.getValueSize(),ne=this.getInterpolation()===p1,ie=y.length-1;let se=1;for(let le=1;le0){y[se]=y[ie];for(let le=ie*z,de=se*z,ge=0;ge!==z;++ge)E[de+ge]=E[le+ge];++se}return se!==y.length?(this.times=y.slice(0,se),this.values=E.slice(0,se*z)):(this.times=y,this.values=E),this}clone(){const y=this.times.slice(),E=this.values.slice(),z=this.constructor,ne=new z(this.name,y,E);return ne.createInterpolant=this.createInterpolant,ne}}Op.prototype.ValueTypeName="",Op.prototype.TimeBufferType=Float32Array,Op.prototype.ValueBufferType=Float32Array,Op.prototype.DefaultInterpolation=nc;class sA extends Op{constructor(y,E,z){super(y,E,z)}}sA.prototype.ValueTypeName="bool",sA.prototype.ValueBufferType=Array,sA.prototype.DefaultInterpolation=YA,sA.prototype.InterpolantFactoryMethodLinear=void 0,sA.prototype.InterpolantFactoryMethodSmooth=void 0;class o2 extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}}o2.prototype.ValueTypeName="color";class MS extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}}MS.prototype.ValueTypeName="number";class m5 extends oA{constructor(y,E,z,ne){super(y,E,z,ne)}interpolate_(y,E,z,ne){const ie=this.resultBuffer,se=this.sampleValues,le=this.valueSize,de=(z-E)/(ne-E);let ge=y*le;for(let ve=ge+le;ge!==ve;ge+=4)Nu.slerpFlat(ie,0,se,ge-le,se,ge,de);return ie}}class BS extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}InterpolantFactoryMethodLinear(y){return new m5(this.times,this.values,this.getValueSize(),y)}}BS.prototype.ValueTypeName="quaternion",BS.prototype.InterpolantFactoryMethodSmooth=void 0;class bx extends Op{constructor(y,E,z){super(y,E,z)}}bx.prototype.ValueTypeName="string",bx.prototype.ValueBufferType=Array,bx.prototype.DefaultInterpolation=YA,bx.prototype.InterpolantFactoryMethodLinear=void 0,bx.prototype.InterpolantFactoryMethodSmooth=void 0;class TS extends Op{constructor(y,E,z,ne){super(y,E,z,ne)}}TS.prototype.ValueTypeName="vector";class DS{constructor(y="",E=-1,z=[],ne=he){this.name=y,this.tracks=z,this.duration=E,this.blendMode=ne,this.uuid=gu(),this.duration<0&&this.resetDuration()}static parse(y){const E=[],z=y.tracks,ne=1/(y.fps||1);for(let se=0,le=z.length;se!==le;++se)E.push(Of(z[se]).scale(ne));const ie=new this(y.name,y.duration,E,y.blendMode);return ie.uuid=y.uuid,ie}static toJSON(y){const E=[],z=y.tracks,ne={name:y.name,duration:y.duration,tracks:E,uuid:y.uuid,blendMode:y.blendMode};for(let ie=0,se=z.length;ie!==se;++ie)E.push(Op.toJSON(z[ie]));return ne}static CreateFromMorphTargetSequence(y,E,z,ne){const ie=E.length,se=[];for(let le=0;le1){const xe=ve[1];let Se=ne[xe];Se||(ne[xe]=Se=[]),Se.push(ge)}}const se=[];for(const le in ne)se.push(this.CreateFromMorphTargetSequence(le,ne[le],E,z));return se}static parseAnimation(y,E){if(console.warn("THREE.AnimationClip: parseAnimation() is deprecated and will be removed with r185"),!y)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const z=function(xe,Se,Me,De,Oe){if(Me.length!==0){const Re=[],Le=[];RC(Me,Re,Le,De),Re.length!==0&&Oe.push(new xe(Se,Re,Le))}},ne=[],ie=y.name||"default",se=y.fps||30,le=y.blendMode;let de=y.length||-1;const ge=y.hierarchy||[];for(let xe=0;xe{E&&E(ie),this.manager.itemEnd(y)},0),ie;if(Yv[y]!==void 0){Yv[y].push({onLoad:E,onProgress:z,onError:ne});return}Yv[y]=[],Yv[y].push({onLoad:E,onProgress:z,onError:ne});const se=new Request(y,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),le=this.mimeType,de=this.responseType;fetch(se).then(ge=>{if(ge.status===200||ge.status===0){if(ge.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||ge.body===void 0||ge.body.getReader===void 0)return ge;const ve=Yv[y],xe=ge.body.getReader(),Se=ge.headers.get("X-File-Size")||ge.headers.get("Content-Length"),Me=Se?parseInt(Se):0,De=Me!==0;let Oe=0;const Re=new ReadableStream({start(Le){Qe();function Qe(){xe.read().then(({done:Xe,value:Ze})=>{if(Xe)Le.close();else{Oe+=Ze.byteLength;const it=new ProgressEvent("progress",{lengthComputable:De,loaded:Oe,total:Me});for(let et=0,ht=ve.length;et{Le.error(Xe)})}}});return new Response(Re)}else throw new y5(`fetch for "${ge.url}" responded with ${ge.status}: ${ge.statusText}`,ge)}).then(ge=>{switch(de){case"arraybuffer":return ge.arrayBuffer();case"blob":return ge.blob();case"document":return ge.text().then(ve=>new DOMParser().parseFromString(ve,le));case"json":return ge.json();default:if(le==="")return ge.text();{const xe=/charset="?([^;"\s]*)"?/i.exec(le),Se=xe&&xe[1]?xe[1].toLowerCase():void 0,Me=new TextDecoder(Se);return ge.arrayBuffer().then(De=>Me.decode(De))}}}).then(ge=>{Tg.add(`file:${y}`,ge);const ve=Yv[y];delete Yv[y];for(let xe=0,Se=ve.length;xe{const ve=Yv[y];if(ve===void 0)throw this.manager.itemError(y),ge;delete Yv[y];for(let xe=0,Se=ve.length;xe{this.manager.itemEnd(y)}),this.manager.itemStart(y)}setResponseType(y){return this.responseType=y,this}setMimeType(y){return this.mimeType=y,this}}class YL extends null{constructor(y){super(y)}load(y,E,z,ne){const ie=this,se=new Zv(this.manager);se.setPath(this.path),se.setRequestHeader(this.requestHeader),se.setWithCredentials(this.withCredentials),se.load(y,function(le){try{E(ie.parse(JSON.parse(le)))}catch(de){ne?ne(de):console.error(de),ie.manager.itemError(y)}},z,ne)}parse(y){const E=[];for(let z=0;z0:ne.vertexColors=y.vertexColors),y.uniforms!==void 0)for(const ie in y.uniforms){const se=y.uniforms[ie];switch(ne.uniforms[ie]={},se.type){case"t":ne.uniforms[ie].value=z(se.value);break;case"c":ne.uniforms[ie].value=new fo().setHex(se.value);break;case"v2":ne.uniforms[ie].value=new ki().fromArray(se.value);break;case"v3":ne.uniforms[ie].value=new Vt().fromArray(se.value);break;case"v4":ne.uniforms[ie].value=new Ks().fromArray(se.value);break;case"m3":ne.uniforms[ie].value=new Oa().fromArray(se.value);break;case"m4":ne.uniforms[ie].value=new rs().fromArray(se.value);break;default:ne.uniforms[ie].value=se.value}}if(y.defines!==void 0&&(ne.defines=y.defines),y.vertexShader!==void 0&&(ne.vertexShader=y.vertexShader),y.fragmentShader!==void 0&&(ne.fragmentShader=y.fragmentShader),y.glslVersion!==void 0&&(ne.glslVersion=y.glslVersion),y.extensions!==void 0)for(const ie in y.extensions)ne.extensions[ie]=y.extensions[ie];if(y.lights!==void 0&&(ne.lights=y.lights),y.clipping!==void 0&&(ne.clipping=y.clipping),y.size!==void 0&&(ne.size=y.size),y.sizeAttenuation!==void 0&&(ne.sizeAttenuation=y.sizeAttenuation),y.map!==void 0&&(ne.map=z(y.map)),y.matcap!==void 0&&(ne.matcap=z(y.matcap)),y.alphaMap!==void 0&&(ne.alphaMap=z(y.alphaMap)),y.bumpMap!==void 0&&(ne.bumpMap=z(y.bumpMap)),y.bumpScale!==void 0&&(ne.bumpScale=y.bumpScale),y.normalMap!==void 0&&(ne.normalMap=z(y.normalMap)),y.normalMapType!==void 0&&(ne.normalMapType=y.normalMapType),y.normalScale!==void 0){let ie=y.normalScale;Array.isArray(ie)===!1&&(ie=[ie,ie]),ne.normalScale=new ki().fromArray(ie)}return y.displacementMap!==void 0&&(ne.displacementMap=z(y.displacementMap)),y.displacementScale!==void 0&&(ne.displacementScale=y.displacementScale),y.displacementBias!==void 0&&(ne.displacementBias=y.displacementBias),y.roughnessMap!==void 0&&(ne.roughnessMap=z(y.roughnessMap)),y.metalnessMap!==void 0&&(ne.metalnessMap=z(y.metalnessMap)),y.emissiveMap!==void 0&&(ne.emissiveMap=z(y.emissiveMap)),y.emissiveIntensity!==void 0&&(ne.emissiveIntensity=y.emissiveIntensity),y.specularMap!==void 0&&(ne.specularMap=z(y.specularMap)),y.specularIntensityMap!==void 0&&(ne.specularIntensityMap=z(y.specularIntensityMap)),y.specularColorMap!==void 0&&(ne.specularColorMap=z(y.specularColorMap)),y.envMap!==void 0&&(ne.envMap=z(y.envMap)),y.envMapRotation!==void 0&&ne.envMapRotation.fromArray(y.envMapRotation),y.envMapIntensity!==void 0&&(ne.envMapIntensity=y.envMapIntensity),y.reflectivity!==void 0&&(ne.reflectivity=y.reflectivity),y.refractionRatio!==void 0&&(ne.refractionRatio=y.refractionRatio),y.lightMap!==void 0&&(ne.lightMap=z(y.lightMap)),y.lightMapIntensity!==void 0&&(ne.lightMapIntensity=y.lightMapIntensity),y.aoMap!==void 0&&(ne.aoMap=z(y.aoMap)),y.aoMapIntensity!==void 0&&(ne.aoMapIntensity=y.aoMapIntensity),y.gradientMap!==void 0&&(ne.gradientMap=z(y.gradientMap)),y.clearcoatMap!==void 0&&(ne.clearcoatMap=z(y.clearcoatMap)),y.clearcoatRoughnessMap!==void 0&&(ne.clearcoatRoughnessMap=z(y.clearcoatRoughnessMap)),y.clearcoatNormalMap!==void 0&&(ne.clearcoatNormalMap=z(y.clearcoatNormalMap)),y.clearcoatNormalScale!==void 0&&(ne.clearcoatNormalScale=new ki().fromArray(y.clearcoatNormalScale)),y.iridescenceMap!==void 0&&(ne.iridescenceMap=z(y.iridescenceMap)),y.iridescenceThicknessMap!==void 0&&(ne.iridescenceThicknessMap=z(y.iridescenceThicknessMap)),y.transmissionMap!==void 0&&(ne.transmissionMap=z(y.transmissionMap)),y.thicknessMap!==void 0&&(ne.thicknessMap=z(y.thicknessMap)),y.anisotropyMap!==void 0&&(ne.anisotropyMap=z(y.anisotropyMap)),y.sheenColorMap!==void 0&&(ne.sheenColorMap=z(y.sheenColorMap)),y.sheenRoughnessMap!==void 0&&(ne.sheenRoughnessMap=z(y.sheenRoughnessMap)),ne}setTextures(y){return this.textures=y,this}createMaterialFromType(y){return ow.createMaterialFromType(y)}static createMaterialFromType(y){const E={ShadowMaterial:d5,SpriteMaterial:oS,RawShaderMaterial:DT,ShaderMaterial:np,PointsMaterial:pS,MeshPhysicalMaterial:t2,MeshStandardMaterial:e2,MeshPhongMaterial:LC,MeshToonMaterial:n2,MeshNormalMaterial:f5,MeshLambertMaterial:NC,MeshDepthMaterial:rA,MeshDistanceMaterial:ew,MeshBasicMaterial:Vh,MeshMatcapMaterial:tw,LineDashedMaterial:nw,LineBasicMaterial:Fd,Material:rf};return new E[y]}}class jC{static extractUrlBase(y){const E=y.lastIndexOf("/");return E===-1?"./":y.slice(0,E+1)}static resolveURL(y,E){return typeof y!="string"||y===""?"":(/^https?:\/\//i.test(E)&&/^\//.test(y)&&(E=E.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(y)||/^data:.*,.*$/i.test(y)||/^blob:.*$/i.test(y)?y:E+y)}}class RT extends null{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(y){return super.copy(y),this.instanceCount=y.instanceCount,this}toJSON(){const y=super.toJSON();return y.instanceCount=this.instanceCount,y.isInstancedBufferGeometry=!0,y}}class NS extends null{constructor(y){super(y)}load(y,E,z,ne){const ie=this,se=new Zv(ie.manager);se.setPath(ie.path),se.setRequestHeader(ie.requestHeader),se.setWithCredentials(ie.withCredentials),se.load(y,function(le){try{E(ie.parse(JSON.parse(le)))}catch(de){ne?ne(de):console.error(de),ie.manager.itemError(y)}},z,ne)}parse(y){const E={},z={};function ne(Me,De){if(E[De]!==void 0)return E[De];const Re=Me.interleavedBuffers[De],Le=ie(Me,Re.buffer),Qe=Ry(Re.type,Le),Xe=new Wy(Qe,Re.stride);return Xe.uuid=Re.uuid,E[De]=Xe,Xe}function ie(Me,De){if(z[De]!==void 0)return z[De];const Re=Me.arrayBuffers[De],Le=new Uint32Array(Re).buffer;return z[De]=Le,Le}const se=y.isInstancedBufferGeometry?new RT:new Ha,le=y.data.index;if(le!==void 0){const Me=Ry(le.type,le.array);se.setIndex(new wl(Me,1))}const de=y.data.attributes;for(const Me in de){const De=de[Me];let Oe;if(De.isInterleavedBufferAttribute){const Re=ne(y.data,De.data);Oe=new Qy(Re,De.itemSize,De.offset,De.normalized)}else{const Re=Ry(De.type,De.array),Le=De.isInstancedBufferAttribute?_f:wl;Oe=new Le(Re,De.itemSize,De.normalized)}De.name!==void 0&&(Oe.name=De.name),De.usage!==void 0&&Oe.setUsage(De.usage),se.setAttribute(Me,Oe)}const ge=y.data.morphAttributes;if(ge)for(const Me in ge){const De=ge[Me],Oe=[];for(let Re=0,Le=De.length;Re0){const de=new v5(E);ie=new Mx(de),ie.setCrossOrigin(this.crossOrigin);for(let ge=0,ve=y.length;ge0){ne=new Mx(this.manager),ne.setCrossOrigin(this.crossOrigin);for(let se=0,le=y.length;se{let Re=null,Le=null;return Oe.boundingBox!==void 0&&(Re=new Md().fromJSON(Oe.boundingBox)),Oe.boundingSphere!==void 0&&(Le=new sd().fromJSON(Oe.boundingSphere)),NA(Sh({},Oe),{boundingBox:Re,boundingSphere:Le})}),se._instanceInfo=y.instanceInfo,se._availableInstanceIds=y._availableInstanceIds,se._availableGeometryIds=y._availableGeometryIds,se._nextIndexStart=y.nextIndexStart,se._nextVertexStart=y.nextVertexStart,se._geometryCount=y.geometryCount,se._maxInstanceCount=y.maxInstanceCount,se._maxVertexCount=y.maxVertexCount,se._maxIndexCount=y.maxIndexCount,se._geometryInitialized=y.geometryInitialized,se._matricesTexture=ge(y.matricesTexture.uuid),se._indirectTexture=ge(y.indirectTexture.uuid),y.colorsTexture!==void 0&&(se._colorsTexture=ge(y.colorsTexture.uuid)),y.boundingSphere!==void 0&&(se.boundingSphere=new sd().fromJSON(y.boundingSphere)),y.boundingBox!==void 0&&(se.boundingBox=new Md().fromJSON(y.boundingBox));break;case"LOD":se=new uC;break;case"Line":se=new jv(le(y.geometry),de(y.material));break;case"LineLoop":se=new MT(le(y.geometry),de(y.material));break;case"LineSegments":se=new xC(le(y.geometry),de(y.material));break;case"PointCloud":case"Points":se=new $M(le(y.geometry),de(y.material));break;case"Sprite":se=new jn(de(y.material));break;case"Group":se=new Gy;break;case"Bone":se=new JM;break;default:se=new yc}if(se.uuid=y.uuid,y.name!==void 0&&(se.name=y.name),y.matrix!==void 0?(se.matrix.fromArray(y.matrix),y.matrixAutoUpdate!==void 0&&(se.matrixAutoUpdate=y.matrixAutoUpdate),se.matrixAutoUpdate&&se.matrix.decompose(se.position,se.quaternion,se.scale)):(y.position!==void 0&&se.position.fromArray(y.position),y.rotation!==void 0&&se.rotation.fromArray(y.rotation),y.quaternion!==void 0&&se.quaternion.fromArray(y.quaternion),y.scale!==void 0&&se.scale.fromArray(y.scale)),y.up!==void 0&&se.up.fromArray(y.up),y.castShadow!==void 0&&(se.castShadow=y.castShadow),y.receiveShadow!==void 0&&(se.receiveShadow=y.receiveShadow),y.shadow&&(y.shadow.intensity!==void 0&&(se.shadow.intensity=y.shadow.intensity),y.shadow.bias!==void 0&&(se.shadow.bias=y.shadow.bias),y.shadow.normalBias!==void 0&&(se.shadow.normalBias=y.shadow.normalBias),y.shadow.radius!==void 0&&(se.shadow.radius=y.shadow.radius),y.shadow.mapSize!==void 0&&se.shadow.mapSize.fromArray(y.shadow.mapSize),y.shadow.camera!==void 0&&(se.shadow.camera=this.parseObject(y.shadow.camera))),y.visible!==void 0&&(se.visible=y.visible),y.frustumCulled!==void 0&&(se.frustumCulled=y.frustumCulled),y.renderOrder!==void 0&&(se.renderOrder=y.renderOrder),y.userData!==void 0&&(se.userData=y.userData),y.layers!==void 0&&(se.layers.mask=y.layers),y.children!==void 0){const Se=y.children;for(let Me=0;Me{if(XC.has(se)===!0)ne&&ne(XC.get(se)),ie.manager.itemError(y),ie.manager.itemEnd(y);else return E&&E(ge),ie.manager.itemEnd(y),ge});return}return setTimeout(function(){E&&E(se),ie.manager.itemEnd(y)},0),se}const le={};le.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",le.headers=this.requestHeader;const de=fetch(y,le).then(function(ge){return ge.blob()}).then(function(ge){return createImageBitmap(ge,Object.assign(ie.options,{colorSpaceConversion:"none"}))}).then(function(ge){return Tg.add(`image-bitmap:${y}`,ge),E&&E(ge),ie.manager.itemEnd(y),ge}).catch(function(ge){ne&&ne(ge),XC.set(de,ge),Tg.remove(`image-bitmap:${y}`),ie.manager.itemError(y),ie.manager.itemEnd(y)});Tg.add(`image-bitmap:${y}`,de),ie.manager.itemStart(y)}}let WC;class f2{static getContext(){return WC===void 0&&(WC=new(window.AudioContext||window.webkitAudioContext)),WC}static setContext(y){WC=y}}class zT extends null{constructor(y){super(y)}load(y,E,z,ne){const ie=this,se=new Zv(this.manager);se.setResponseType("arraybuffer"),se.setPath(this.path),se.setRequestHeader(this.requestHeader),se.setWithCredentials(this.withCredentials),se.load(y,function(de){try{const ge=de.slice(0);f2.getContext().decodeAudioData(ge,function(xe){E(xe)}).catch(le)}catch(ge){le(ge)}},z,ne);function le(de){ne?ne(de):console.error(de),ie.manager.itemError(y)}}}const H0=new rs,sw=new rs,Jv=new rs;class HT{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new ah,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new ah,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(y){const E=this._cache;if(E.focus!==y.focus||E.fov!==y.fov||E.aspect!==y.aspect*this.aspect||E.near!==y.near||E.far!==y.far||E.zoom!==y.zoom||E.eyeSep!==this.eyeSep){E.focus=y.focus,E.fov=y.fov,E.aspect=y.aspect*this.aspect,E.near=y.near,E.far=y.far,E.zoom=y.zoom,E.eyeSep=this.eyeSep,Jv.copy(y.projectionMatrix);const ne=E.eyeSep/2,ie=ne*E.near/E.focus,se=E.near*Math.tan(Jg*E.fov*.5)/E.zoom;let le,de;sw.elements[12]=-ne,H0.elements[12]=ne,le=-se*E.aspect+ie,de=se*E.aspect+ie,Jv.elements[0]=2*E.near/(de-le),Jv.elements[8]=(de+le)/(de-le),this.cameraL.projectionMatrix.copy(Jv),le=-se*E.aspect-ie,de=se*E.aspect-ie,Jv.elements[0]=2*E.near/(de-le),Jv.elements[8]=(de+le)/(de-le),this.cameraR.projectionMatrix.copy(Jv)}this.cameraL.matrixWorld.copy(y.matrixWorld).multiply(sw),this.cameraR.matrixWorld.copy(y.matrixWorld).multiply(H0)}}class g2 extends ah{constructor(y=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=y}}class QC{constructor(y=!0){this.autoStart=y,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let y=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const E=performance.now();y=(E-this.oldTime)/1e3,this.oldTime=E,this.elapsedTime+=y}return y}}const U0=new Vt,IS=new Nu,p2=new Vt,qv=new Vt,Dg=new Vt;class aw extends null{constructor(){super(),this.type="AudioListener",this.context=f2.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new QC}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(y){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=y,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(y){return this.gain.gain.setTargetAtTime(y,this.context.currentTime,.01),this}updateMatrixWorld(y){super.updateMatrixWorld(y);const E=this.context.listener;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(U0,IS,p2),qv.set(0,0,-1).applyQuaternion(IS),Dg.set(0,1,0).applyQuaternion(IS),E.positionX){const z=this.context.currentTime+this.timeDelta;E.positionX.linearRampToValueAtTime(U0.x,z),E.positionY.linearRampToValueAtTime(U0.y,z),E.positionZ.linearRampToValueAtTime(U0.z,z),E.forwardX.linearRampToValueAtTime(qv.x,z),E.forwardY.linearRampToValueAtTime(qv.y,z),E.forwardZ.linearRampToValueAtTime(qv.z,z),E.upX.linearRampToValueAtTime(Dg.x,z),E.upY.linearRampToValueAtTime(Dg.y,z),E.upZ.linearRampToValueAtTime(Dg.z,z)}else E.setPosition(U0.x,U0.y,U0.z),E.setOrientation(qv.x,qv.y,qv.z,Dg.x,Dg.y,Dg.z)}}class m2 extends null{constructor(y){super(),this.type="Audio",this.listener=y,this.context=y.context,this.gain=this.context.createGain(),this.gain.connect(y.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(y){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=y,this.connect(),this}setMediaElementSource(y){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(y),this.connect(),this}setMediaStreamSource(y){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(y),this.connect(),this}setBuffer(y){return this.buffer=y,this.sourceType="buffer",this.autoplay&&this.play(),this}play(y=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+y;const E=this.context.createBufferSource();return E.buffer=this.buffer,E.loop=this.loop,E.loopStart=this.loopStart,E.loopEnd=this.loopEnd,E.onended=this.onEnded.bind(this),E.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=E,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(y=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+y),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let y=1,E=this.filters.length;y0){this.source.disconnect(this.filters[0]);for(let y=1,E=this.filters.length;y0&&this._mixBufferRegionAdditive(z,ne,this._addIndex*E,1,E);for(let de=E,ge=E+E;de!==ge;++de)if(z[de]!==z[de+E]){le.setValue(z,ne);break}}saveOriginalState(){const y=this.binding,E=this.buffer,z=this.valueSize,ne=z*this._origIndex;y.getValue(E,ne);for(let ie=z,se=ne;ie!==se;++ie)E[ie]=E[ne+ie%z];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const y=this.valueSize*3;this.binding.setValue(this.buffer,y)}_setAdditiveIdentityNumeric(){const y=this._addIndex*this.valueSize,E=y+this.valueSize;for(let z=y;z=.5)for(let se=0;se!==ie;++se)y[E+se]=y[z+se]}_slerp(y,E,z,ne){Nu.slerpFlat(y,E,y,E,y,z,ne)}_slerpAdditive(y,E,z,ne,ie){const se=this._workIndex*ie;Nu.multiplyQuaternionsFlat(y,se,y,E,y,z),Nu.slerpFlat(y,E,y,E,y,se,ne)}_lerp(y,E,z,ne,ie){const se=1-ne;for(let le=0;le!==ie;++le){const de=E+le;y[de]=y[de]*se+y[z+le]*ne}}_lerpAdditive(y,E,z,ne,ie){for(let se=0;se!==ie;++se){const le=E+se;y[le]=y[le]+y[z+se]*ne}}}const lw="\\[\\]\\.:\\/",kp=new RegExp("["+lw+"]","g"),_v="[^"+lw+"]",uw="[^"+lw.replace("\\.","")+"]",RS=/((?:WC+[\/:])*)/.source.replace("WC",_v),OS=/(WCOD+)?/.source.replace("WCOD",uw),kS=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",_v),cw=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",_v),Dx=new RegExp("^"+RS+OS+kS+cw+"$"),zp=["material","materials","bones","map"];class Hp{constructor(y,E,z){const ne=z||fl.parseTrackName(E);this._targetGroup=y,this._bindings=y.subscribe_(E,ne)}getValue(y,E){this.bind();const z=this._targetGroup.nCachedObjects_,ne=this._bindings[z];ne!==void 0&&ne.getValue(y,E)}setValue(y,E){const z=this._bindings;for(let ne=this._targetGroup.nCachedObjects_,ie=z.length;ne!==ie;++ne)z[ne].setValue(y,E)}bind(){const y=this._bindings;for(let E=this._targetGroup.nCachedObjects_,z=y.length;E!==z;++E)y[E].bind()}unbind(){const y=this._bindings;for(let E=this._targetGroup.nCachedObjects_,z=y.length;E!==z;++E)y[E].unbind()}}class fl{constructor(y,E,z){this.path=E,this.parsedPath=z||fl.parseTrackName(E),this.node=fl.findNode(y,this.parsedPath.nodeName),this.rootNode=y,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(y,E,z){return y&&y.isAnimationObjectGroup?new fl.Composite(y,E,z):new fl(y,E,z)}static sanitizeNodeName(y){return y.replace(/\s/g,"_").replace(kp,"")}static parseTrackName(y){const E=Dx.exec(y);if(E===null)throw new Error("PropertyBinding: Cannot parse trackName: "+y);const z={nodeName:E[2],objectName:E[3],objectIndex:E[4],propertyName:E[5],propertyIndex:E[6]},ne=z.nodeName&&z.nodeName.lastIndexOf(".");if(ne!==void 0&&ne!==-1){const ie=z.nodeName.substring(ne+1);zp.indexOf(ie)!==-1&&(z.nodeName=z.nodeName.substring(0,ne),z.objectName=ie)}if(z.propertyName===null||z.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+y);return z}static findNode(y,E){if(E===void 0||E===""||E==="."||E===-1||E===y.name||E===y.uuid)return y;if(y.skeleton){const z=y.skeleton.getBoneByName(E);if(z!==void 0)return z}if(y.children){const z=function(ie){for(let se=0;se=ie){const xe=ie++,Se=y[xe];E[Se.uuid]=ve,y[ve]=Se,E[ge]=xe,y[xe]=de;for(let Me=0,De=ne;Me!==De;++Me){const Oe=z[Me],Re=Oe[xe],Le=Oe[ve];Oe[ve]=Re,Oe[xe]=Le}}}this.nCachedObjects_=ie}uncache(){const y=this._objects,E=this._indicesByUUID,z=this._bindings,ne=z.length;let ie=this.nCachedObjects_,se=y.length;for(let le=0,de=arguments.length;le!==de;++le){const ge=arguments[le],ve=ge.uuid,xe=E[ve];if(xe!==void 0)if(delete E[ve],xe0&&(E[Me.uuid]=xe),y[xe]=Me,y.pop();for(let De=0,Oe=ne;De!==Oe;++De){const Re=z[De];Re[xe]=Re[Se],Re.pop()}}}this.nCachedObjects_=ie}subscribe_(y,E){const z=this._bindingsIndicesByPath;let ne=z[y];const ie=this._bindings;if(ne!==void 0)return ie[ne];const se=this._paths,le=this._parsedPaths,de=this._objects,ge=de.length,ve=this.nCachedObjects_,xe=new Array(ge);ne=ie.length,z[y]=ne,se.push(y),le.push(E),ie.push(xe);for(let Se=ve,Me=de.length;Se!==Me;++Se){const De=de[Se];xe[Se]=new fl(De,y,E)}return xe}unsubscribe_(y){const E=this._bindingsIndicesByPath,z=E[y];if(z!==void 0){const ne=this._paths,ie=this._parsedPaths,se=this._bindings,le=se.length-1,de=se[le],ge=y[le];E[ge]=z,se[z]=de,se.pop(),ie[z]=ie[le],ie.pop(),ne[z]=ne[le],ne.pop()}}}class j0{constructor(y,E,z=null,ne=E.blendMode){this._mixer=y,this._clip=E,this._localRoot=z,this.blendMode=ne;const ie=E.tracks,se=ie.length,le=new Array(se),de={endingStart:Kg,endingEnd:Kg};for(let ge=0;ge!==se;++ge){const ve=ie[ge].createInterpolant(null);le[ge]=ve,ve.settings=de}this._interpolantSettings=de,this._interpolants=le,this._propertyBindings=new Array(se),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ny,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(y){return this._startTime=y,this}setLoop(y,E){return this.loop=y,this.repetitions=E,this}setEffectiveWeight(y){return this.weight=y,this._effectiveWeight=this.enabled?y:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(y){return this._scheduleFading(y,0,1)}fadeOut(y){return this._scheduleFading(y,1,0)}crossFadeFrom(y,E,z=!1){if(y.fadeOut(E),this.fadeIn(E),z===!0){const ne=this._clip.duration,ie=y._clip.duration,se=ie/ne,le=ne/ie;y.warp(1,se,E),this.warp(le,1,E)}return this}crossFadeTo(y,E,z=!1){return y.crossFadeFrom(this,E,z)}stopFading(){const y=this._weightInterpolant;return y!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(y)),this}setEffectiveTimeScale(y){return this.timeScale=y,this._effectiveTimeScale=this.paused?0:y,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(y){return this.timeScale=this._clip.duration/y,this.stopWarping()}syncWith(y){return this.time=y.time,this.timeScale=y.timeScale,this.stopWarping()}halt(y){return this.warp(this._effectiveTimeScale,0,y)}warp(y,E,z){const ne=this._mixer,ie=ne.time,se=this.timeScale;let le=this._timeScaleInterpolant;le===null&&(le=ne._lendControlInterpolant(),this._timeScaleInterpolant=le);const de=le.parameterPositions,ge=le.sampleValues;return de[0]=ie,de[1]=ie+z,ge[0]=y/se,ge[1]=E/se,this}stopWarping(){const y=this._timeScaleInterpolant;return y!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(y)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(y,E,z,ne){if(!this.enabled){this._updateWeight(y);return}const ie=this._startTime;if(ie!==null){const de=(y-ie)*z;de<0||z===0?E=0:(this._startTime=null,E=z*de)}E*=this._updateTimeScale(y);const se=this._updateTime(E),le=this._updateWeight(y);if(le>0){const de=this._interpolants,ge=this._propertyBindings;switch(this.blendMode){case me:for(let ve=0,xe=de.length;ve!==xe;++ve)de[ve].evaluate(se),ge[ve].accumulateAdditive(le);break;case he:default:for(let ve=0,xe=de.length;ve!==xe;++ve)de[ve].evaluate(se),ge[ve].accumulate(ne,le)}}}_updateWeight(y){let E=0;if(this.enabled){E=this.weight;const z=this._weightInterpolant;if(z!==null){const ne=z.evaluate(y)[0];E*=ne,y>z.parameterPositions[1]&&(this.stopFading(),ne===0&&(this.enabled=!1))}}return this._effectiveWeight=E,E}_updateTimeScale(y){let E=0;if(!this.paused){E=this.timeScale;const z=this._timeScaleInterpolant;if(z!==null){const ne=z.evaluate(y)[0];E*=ne,y>z.parameterPositions[1]&&(this.stopWarping(),E===0?this.paused=!0:this.timeScale=E)}}return this._effectiveTimeScale=E,E}_updateTime(y){const E=this._clip.duration,z=this.loop;let ne=this.time+y,ie=this._loopCount;const se=z===QA;if(y===0)return ie===-1?ne:se&&(ie&1)===1?E-ne:ne;if(z===Ly){ie===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(ne>=E)ne=E;else if(ne<0)ne=0;else{this.time=ne;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=ne,this._mixer.dispatchEvent({type:"finished",action:this,direction:y<0?-1:1})}}else{if(ie===-1&&(y>=0?(ie=0,this._setEndings(!0,this.repetitions===0,se)):this._setEndings(this.repetitions===0,!0,se)),ne>=E||ne<0){const le=Math.floor(ne/E);ne-=E*le,ie+=Math.abs(le);const de=this.repetitions-ie;if(de<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,ne=y>0?E:0,this.time=ne,this._mixer.dispatchEvent({type:"finished",action:this,direction:y>0?1:-1});else{if(de===1){const ge=y<0;this._setEndings(ge,!ge,se)}else this._setEndings(!1,!1,se);this._loopCount=ie,this.time=ne,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:le})}}else this.time=ne;if(se&&(ie&1)===1)return E-ne}return ne}_setEndings(y,E,z){const ne=this._interpolantSettings;z?(ne.endingStart=Cf,ne.endingEnd=Cf):(y?ne.endingStart=this.zeroSlopeAtStart?Cf:Kg:ne.endingStart=m0,E?ne.endingEnd=this.zeroSlopeAtEnd?Cf:Kg:ne.endingEnd=m0)}_scheduleFading(y,E,z){const ne=this._mixer,ie=ne.time;let se=this._weightInterpolant;se===null&&(se=ne._lendControlInterpolant(),this._weightInterpolant=se);const le=se.parameterPositions,de=se.sampleValues;return le[0]=ie,de[0]=E,le[1]=ie+y,de[1]=z,this}}const bm=new Float32Array(1);class y2 extends null{constructor(y){super(),this._root=y,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(y,E){const z=y._localRoot||this._root,ne=y._clip.tracks,ie=ne.length,se=y._propertyBindings,le=y._interpolants,de=z.uuid,ge=this._bindingsByRootAndName;let ve=ge[de];ve===void 0&&(ve={},ge[de]=ve);for(let xe=0;xe!==ie;++xe){const Se=ne[xe],Me=Se.name;let De=ve[Me];if(De!==void 0)++De.referenceCount,se[xe]=De;else{if(De=se[xe],De!==void 0){De._cacheIndex===null&&(++De.referenceCount,this._addInactiveBinding(De,de,Me));continue}const Oe=E&&E._propertyBindings[xe].binding.parsedPath;De=new og(fl.create(z,Me,Oe),Se.ValueTypeName,Se.getValueSize()),++De.referenceCount,this._addInactiveBinding(De,de,Me),se[xe]=De}le[xe].resultBuffer=De.buffer}}_activateAction(y){if(!this._isActiveAction(y)){if(y._cacheIndex===null){const z=(y._localRoot||this._root).uuid,ne=y._clip.uuid,ie=this._actionsByClip[ne];this._bindAction(y,ie&&ie.knownActions[0]),this._addInactiveAction(y,ne,z)}const E=y._propertyBindings;for(let z=0,ne=E.length;z!==ne;++z){const ie=E[z];ie.useCount++===0&&(this._lendBinding(ie),ie.saveOriginalState())}this._lendAction(y)}}_deactivateAction(y){if(this._isActiveAction(y)){const E=y._propertyBindings;for(let z=0,ne=E.length;z!==ne;++z){const ie=E[z];--ie.useCount===0&&(ie.restoreOriginalState(),this._takeBackBinding(ie))}this._takeBackAction(y)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const y=this;this.stats={actions:{get total(){return y._actions.length},get inUse(){return y._nActiveActions}},bindings:{get total(){return y._bindings.length},get inUse(){return y._nActiveBindings}},controlInterpolants:{get total(){return y._controlInterpolants.length},get inUse(){return y._nActiveControlInterpolants}}}}_isActiveAction(y){const E=y._cacheIndex;return E!==null&&E=0;--z)y[z].stop();return this}update(y){y*=this.timeScale;const E=this._actions,z=this._nActiveActions,ne=this.time+=y,ie=Math.sign(y),se=this._accuIndex^=1;for(let ge=0;ge!==z;++ge)E[ge]._update(ne,y,ie,se);const le=this._bindings,de=this._nActiveBindings;for(let ge=0;ge!==de;++ge)le[ge].apply(se);return this}setTime(y){this.time=0;for(let E=0;E=this.min.x&&y.x<=this.max.x&&y.y>=this.min.y&&y.y<=this.max.y}containsBox(y){return this.min.x<=y.min.x&&y.max.x<=this.max.x&&this.min.y<=y.min.y&&y.max.y<=this.max.y}getParameter(y,E){return E.set((y.x-this.min.x)/(this.max.x-this.min.x),(y.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(y){return y.max.x>=this.min.x&&y.min.x<=this.max.x&&y.max.y>=this.min.y&&y.min.y<=this.max.y}clampPoint(y,E){return E.copy(y).clamp(this.min,this.max)}distanceToPoint(y){return this.clampPoint(y,Fx).distanceTo(y)}intersect(y){return this.min.max(y.min),this.max.min(y.max),this.isEmpty()&&this.makeEmpty(),this}union(y){return this.min.min(y.min),this.max.max(y.max),this}translate(y){return this.min.add(y),this.max.add(y),this}equals(y){return y.min.equals(this.min)&&y.max.equals(this.max)}}const JC=new Vt,a=new Vt;class x{constructor(y=new Vt,E=new Vt){this.start=y,this.end=E}set(y,E){return this.start.copy(y),this.end.copy(E),this}copy(y){return this.start.copy(y.start),this.end.copy(y.end),this}getCenter(y){return y.addVectors(this.start,this.end).multiplyScalar(.5)}delta(y){return y.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(y,E){return this.delta(E).multiplyScalar(y).add(this.start)}closestPointToPointParameter(y,E){JC.subVectors(y,this.start),a.subVectors(this.end,this.start);const z=a.dot(a);let ie=a.dot(JC)/z;return E&&(ie=_a(ie,0,1)),ie}closestPointToPoint(y,E,z){const ne=this.closestPointToPointParameter(y,E);return this.delta(z).multiplyScalar(ne).add(this.start)}applyMatrix4(y){return this.start.applyMatrix4(y),this.end.applyMatrix4(y),this}equals(y){return y.start.equals(this.start)&&y.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const b=new Vt;class te extends null{constructor(y,E){super(),this.light=y,this.matrixAutoUpdate=!1,this.color=E,this.type="SpotLightHelper";const z=new Ha,ne=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let se=0,le=1,de=32;se1)for(let xe=0;xe.99999)this.quaternion.set(0,0,0,1);else if(y.y<-.99999)this.quaternion.set(1,0,0,0);else{Hr.set(y.z,0,-y.x).normalize();const E=Math.acos(y.y);this.quaternion.setFromAxisAngle(Hr,E)}}setLength(y,E=y*.2,z=E*.2){this.line.scale.set(1,Math.max(1e-4,y-E),1),this.line.updateMatrix(),this.cone.scale.set(z,E,z),this.cone.position.y=y,this.cone.updateMatrix()}setColor(y){this.line.material.color.set(y),this.cone.material.color.set(y)}copy(y){return super.copy(y,!1),this.line.copy(y.line),this.cone.copy(y.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Eu extends null{constructor(y=1){const E=[0,0,0,y,0,0,0,0,0,0,y,0,0,0,0,0,0,y],z=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],ne=new Ha;ne.setAttribute("position",new ds(E,3)),ne.setAttribute("color",new ds(z,3));const ie=new Fd({vertexColors:!0,toneMapped:!1});super(ne,ie),this.type="AxesHelper"}setColors(y,E,z){const ne=new fo,ie=this.geometry.attributes.color.array;return ne.set(y),ne.toArray(ie,0),ne.toArray(ie,3),ne.set(E),ne.toArray(ie,6),ne.toArray(ie,9),ne.set(z),ne.toArray(ie,12),ne.toArray(ie,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Iu{constructor(){this.type="ShapePath",this.color=new fo,this.subPaths=[],this.currentPath=null}moveTo(y,E){return this.currentPath=new Sl,this.subPaths.push(this.currentPath),this.currentPath.moveTo(y,E),this}lineTo(y,E){return this.currentPath.lineTo(y,E),this}quadraticCurveTo(y,E,z,ne){return this.currentPath.quadraticCurveTo(y,E,z,ne),this}bezierCurveTo(y,E,z,ne,ie,se){return this.currentPath.bezierCurveTo(y,E,z,ne,ie,se),this}splineThru(y){return this.currentPath.splineThru(y),this}toShapes(y){function E(Le){const Qe=[];for(let Xe=0,Ze=Le.length;XeNumber.EPSILON){if(rt<0&&(ht=Qe[et],ot=-ot,lt=Qe[it],rt=-rt),Le.ylt.y)continue;if(Le.y===ht.y){if(Le.x===ht.x)return!0}else{const Mt=rt*(Le.x-ht.x)-ot*(Le.y-ht.y);if(Mt===0)return!0;if(Mt<0)continue;Ze=!Ze}}else{if(Le.y!==ht.y)continue;if(lt.x<=Le.x&&Le.x<=ht.x||ht.x<=Le.x&&Le.x<=lt.x)return!0}}return Ze}const ne=ud.isClockWise,ie=this.subPaths;if(ie.length===0)return[];let se,le,de;const ge=[];if(ie.length===1)return le=ie[0],de=new ya,de.curves=le.curves,ge.push(de),ge;let ve=!ne(ie[0].getPoints());ve=y?!ve:ve;const xe=[],Se=[];let Me=[],De=0,Oe;Se[De]=void 0,Me[De]=[];for(let Le=0,Qe=ie.length;Le1){let Le=!1,Qe=0;for(let Xe=0,Ze=Se.length;Xe0&&Le===!1&&(Me=xe)}let Re;for(let Le=0,Qe=Se.length;Ley?(ee.repeat.x=1,ee.repeat.y=E/y,ee.offset.x=0,ee.offset.y=(1-ee.repeat.y)/2):(ee.repeat.x=y/E,ee.repeat.y=1,ee.offset.x=(1-ee.repeat.x)/2,ee.offset.y=0),ee}function G0(ee,y){const E=ee.image&&ee.image.width?ee.image.width/ee.image.height:1;return E>y?(ee.repeat.x=y/E,ee.repeat.y=1,ee.offset.x=(1-ee.repeat.x)/2,ee.offset.y=0):(ee.repeat.x=1,ee.repeat.y=E/y,ee.offset.x=0,ee.offset.y=(1-ee.repeat.y)/2),ee}function Ul(ee){return ee.repeat.x=1,ee.repeat.y=1,ee.offset.x=0,ee.offset.y=0,ee}function kf(ee,y,E,z){const ne=Uc(z);switch(E){case Yf:return ee*y;case r0:return ee*y/ne.components*ne.byteLength;case id:return ee*y/ne.components*ne.byteLength;case Qg:return ee*y*2/ne.components*ne.byteLength;case sm:return ee*y*2/ne.components*ne.byteLength;case Dy:return ee*y*3/ne.components*ne.byteLength;case Fu:return ee*y*4/ne.components*ne.byteLength;case o0:return ee*y*4/ne.components*ne.byteLength;case am:case s0:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*8;case lm:case Yg:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*16;case l0:case u0:return Math.max(ee,16)*Math.max(y,8)/4;case a0:case Fy:return Math.max(ee,8)*Math.max(y,8)/2;case Ag:case c0:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*8;case bp:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*16;case Ev:return Math.floor((ee+3)/4)*Math.floor((y+3)/4)*16;case um:return Math.floor((ee+4)/5)*Math.floor((y+3)/4)*16;case bv:return Math.floor((ee+4)/5)*Math.floor((y+4)/5)*16;case Ja:return Math.floor((ee+5)/6)*Math.floor((y+4)/5)*16;case Zg:return Math.floor((ee+5)/6)*Math.floor((y+5)/6)*16;case xg:return Math.floor((ee+7)/8)*Math.floor((y+4)/5)*16;case Gu:return Math.floor((ee+7)/8)*Math.floor((y+5)/6)*16;case Ic:return Math.floor((ee+7)/8)*Math.floor((y+7)/8)*16;case wg:return Math.floor((ee+9)/10)*Math.floor((y+4)/5)*16;case Mp:return Math.floor((ee+9)/10)*Math.floor((y+5)/6)*16;case h0:return Math.floor((ee+9)/10)*Math.floor((y+7)/8)*16;case d0:return Math.floor((ee+9)/10)*Math.floor((y+9)/10)*16;case f0:return Math.floor((ee+11)/12)*Math.floor((y+9)/10)*16;case g0:return Math.floor((ee+11)/12)*Math.floor((y+11)/12)*16;case cm:case Bp:case Mv:return Math.ceil(ee/4)*Math.ceil(y/4)*16;case Tp:case Bl:return Math.ceil(ee/4)*Math.ceil(y/4)*8;case p0:case Bv:return Math.ceil(ee/4)*Math.ceil(y/4)*16}throw new Error(`Unable to determine texture byte length for ${E} format.`)}function Uc(ee){switch(ee){case Zu:case yg:return{byteLength:1,components:1};case rh:case om:case mc:return{byteLength:2,components:1};case Ep:case By:return{byteLength:2,components:4};case nu:case tc:case wu:return{byteLength:4,components:1};case Ty:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${ee}.`)}class $v{static contain(y,E){return mu(y,E)}static cover(y,E){return G0(y,E)}static fill(y){return Ul(y)}static getByteLength(y,E,z,ne){return kf(y,E,z,ne)}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:vp}})),typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=vp);const Vc=new $f,bc=new ki,Qh=new Vt,fh=new ki,Up=new ki,uf=new Vt,lA=new Vt,Yh=new rs,Mc=new Vt,dw=new Vt;let Zh=null,gh=null;const Xu=[],sg={NONE:-1,PAN:0,ROTATE:1};class dd extends ac{constructor(y,E,z=null){super(E,z),this.objects=y,this.recursive=!0,this.transformGroup=!1,this.rotateSpeed=1,this.raycaster=new HS,this.mouseButtons={LEFT:Pc.PAN,MIDDLE:Pc.PAN,RIGHT:Pc.ROTATE},this.touches={ONE:xd.PAN},this._onPointerMove=ey.bind(this),this._onPointerDown=qC.bind(this),this._onPointerCancel=jS.bind(this),this._onContextMenu=P2.bind(this),z!==null&&this.connect(z)}connect(y){super.connect(y),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerCancel),this.domElement.addEventListener("pointerleave",this._onPointerCancel),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerCancel),this.domElement.removeEventListener("pointerleave",this._onPointerCancel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="auto",this.domElement.style.cursor=""}dispose(){this.disconnect()}_updatePointer(y){const E=this.domElement.getBoundingClientRect();bc.x=(y.clientX-E.left)/E.width*2-1,bc.y=-(y.clientY-E.top)/E.height*2+1}_updateState(y){let E;if(y.pointerType==="touch")E=this.touches.ONE;else switch(y.button){case 0:E=this.mouseButtons.LEFT;break;case 1:E=this.mouseButtons.MIDDLE;break;case 2:E=this.mouseButtons.RIGHT;break;default:E=null}switch(E){case Pc.PAN:case xd.PAN:this.state=sg.PAN;break;case Pc.ROTATE:case xd.ROTATE:this.state=sg.ROTATE;break;default:this.state=sg.NONE}}getRaycaster(){return console.warn("THREE.DragControls: getRaycaster() has been deprecated. Use controls.raycaster instead."),this.raycaster}setObjects(y){console.warn("THREE.DragControls: setObjects() has been deprecated. Use controls.objects instead."),this.objects=y}getObjects(){return console.warn("THREE.DragControls: getObjects() has been deprecated. Use controls.objects instead."),this.objects}activate(){console.warn("THREE.DragControls: activate() has been renamed to connect()."),this.connect()}deactivate(){console.warn("THREE.DragControls: deactivate() has been renamed to disconnect()."),this.disconnect()}set mode(y){console.warn("THREE.DragControls: The .mode property has been removed. Define the type of transformation via the .mouseButtons or .touches properties.")}get mode(){console.warn("THREE.DragControls: The .mode property has been removed. Define the type of transformation via the .mouseButtons or .touches properties.")}}function ey(ee){const y=this.object,E=this.domElement,z=this.raycaster;if(this.enabled!==!1){if(this._updatePointer(ee),z.setFromCamera(bc,y),Zh)this.state===sg.PAN?z.ray.intersectPlane(Vc,uf)&&Zh.position.copy(uf.sub(Qh).applyMatrix4(Yh)):this.state===sg.ROTATE&&(fh.subVectors(bc,Up).multiplyScalar(this.rotateSpeed),Zh.rotateOnWorldAxis(Mc,fh.x),Zh.rotateOnWorldAxis(dw.normalize(),-fh.y)),this.dispatchEvent({type:"drag",object:Zh}),Up.copy(bc);else if(ee.pointerType==="mouse"||ee.pointerType==="pen")if(Xu.length=0,z.setFromCamera(bc,y),z.intersectObjects(this.objects,this.recursive,Xu),Xu.length>0){const ne=Xu[0].object;Vc.setFromNormalAndCoplanarPoint(y.getWorldDirection(Vc.normal),lA.setFromMatrixPosition(ne.matrixWorld)),gh!==ne&&gh!==null&&(this.dispatchEvent({type:"hoveroff",object:gh}),E.style.cursor="auto",gh=null),gh!==ne&&(this.dispatchEvent({type:"hoveron",object:ne}),E.style.cursor="pointer",gh=ne)}else gh!==null&&(this.dispatchEvent({type:"hoveroff",object:gh}),E.style.cursor="auto",gh=null);Up.copy(bc)}}function qC(ee){const y=this.object,E=this.domElement,z=this.raycaster;this.enabled!==!1&&(this._updatePointer(ee),this._updateState(ee),Xu.length=0,z.setFromCamera(bc,y),z.intersectObjects(this.objects,this.recursive,Xu),Xu.length>0&&(this.transformGroup===!0?Zh=op(Xu[0].object):Zh=Xu[0].object,Vc.setFromNormalAndCoplanarPoint(y.getWorldDirection(Vc.normal),lA.setFromMatrixPosition(Zh.matrixWorld)),z.ray.intersectPlane(Vc,uf)&&(this.state===sg.PAN?(Yh.copy(Zh.parent.matrixWorld).invert(),Qh.copy(uf).sub(lA.setFromMatrixPosition(Zh.matrixWorld))):this.state===sg.ROTATE&&(Mc.set(0,1,0).applyQuaternion(y.quaternion).normalize(),dw.set(1,0,0).applyQuaternion(y.quaternion).normalize())),E.style.cursor="move",this.dispatchEvent({type:"dragstart",object:Zh})),Up.copy(bc))}function jS(){this.enabled!==!1&&(Zh&&(this.dispatchEvent({type:"dragend",object:Zh}),Zh=null),this.domElement.style.cursor=gh?"pointer":"auto",this.state=sg.NONE)}function P2(ee){this.enabled!==!1&&ee.preventDefault()}function op(ee,y=null){return ee.isGroup&&(y=ee),ee.parent===null?y:op(ee.parent,y)}var Mm=Je(18609),Lx=Je(83833);const ty=1664525,fw=1013904223,X0=4294967296;function Vp(){let ee=1;return()=>(ee=(ty*ee+fw)%X0)/X0}var Bm=3;function ph(ee){return ee.x}function Fg(ee){return ee.y}function _C(ee){return ee.z}var Tm=10,gw=Math.PI*(3-Math.sqrt(5)),Lg=Math.PI*20/(9+Math.sqrt(221));function ny(ee,y){y=y||2;var E=Math.min(Bm,Math.max(1,Math.round(y))),z,ne=1,ie=.001,se=1-Math.pow(ie,1/300),le=0,de=.6,ge=new Map,ve=(0,Lx.HT)(Me),xe=(0,Mm.Z)("tick","end"),Se=Vp();ee==null&&(ee=[]);function Me(){De(),xe.call("tick",z),ne1&&(Ze.fy==null?Ze.y+=Ze.vy*=de:(Ze.y=Ze.fy,Ze.vy=0)),E>2&&(Ze.fz==null?Ze.z+=Ze.vz*=de:(Ze.z=Ze.fz,Ze.vz=0));return z}function Oe(){for(var Le=0,Qe=ee.length,Xe;Le1&&isNaN(Xe.y)||E>2&&isNaN(Xe.z)){var Ze=Tm*(E>2?Math.cbrt(.5+Le):E>1?Math.sqrt(.5+Le):Le),it=Le*gw,et=Le*Lg;E===1?Xe.x=Ze:E===2?(Xe.x=Ze*Math.cos(it),Xe.y=Ze*Math.sin(it)):(Xe.x=Ze*Math.sin(it)*Math.cos(et),Xe.y=Ze*Math.cos(it),Xe.z=Ze*Math.sin(it)*Math.sin(et))}(isNaN(Xe.vx)||E>1&&isNaN(Xe.vy)||E>2&&isNaN(Xe.vz))&&(Xe.vx=0,E>1&&(Xe.vy=0),E>2&&(Xe.vz=0))}}function Re(Le){return Le.initialize&&Le.initialize(ee,Se,E),Le}return Oe(),z={tick:De,restart:function(){return ve.restart(Me),z},stop:function(){return ve.stop(),z},numDimensions:function(Le){return arguments.length?(E=Math.min(Bm,Math.max(1,Math.round(Le))),ge.forEach(Re),z):E},nodes:function(Le){return arguments.length?(ee=Le,Oe(),ge.forEach(Re),z):ee},alpha:function(Le){return arguments.length?(ne=+Le,z):ne},alphaMin:function(Le){return arguments.length?(ie=+Le,z):ie},alphaDecay:function(Le){return arguments.length?(se=+Le,z):+se},alphaTarget:function(Le){return arguments.length?(le=+Le,z):le},velocityDecay:function(Le){return arguments.length?(de=1-Le,z):1-de},randomSource:function(Le){return arguments.length?(Se=Le,ge.forEach(Re),z):Se},force:function(Le,Qe){return arguments.length>1?(Qe==null?ge.delete(Le):ge.set(Le,Re(Qe)),z):ge.get(Le)},find:function(){var Le=Array.prototype.slice.call(arguments),Qe=Le.shift()||0,Xe=(E>1?Le.shift():null)||0,Ze=(E>2?Le.shift():null)||0,it=Le.shift()||1/0,et=0,ht=ee.length,lt,ot,rt,Mt,Xt,cn;for(it*=it,et=0;et1?(xe.on(Le,Qe),z):xe.on(Le)}}}function jc(ee){return function(){return ee}}function Nd(ee){return(ee()-.5)*1e-6}function pw(ee){return ee.index}function zf(ee,y){var E=ee.get(y);if(!E)throw new Error("node not found: "+y);return E}function Ru(ee){var y=pw,E=Se,z,ne=jc(30),ie,se,le,de,ge,ve,xe=1;ee==null&&(ee=[]);function Se(Le){return 1/Math.min(de[Le.source.index],de[Le.target.index])}function Me(Le){for(var Qe=0,Xe=ee.length;Qe1&&(ot=ht.y+ht.vy-et.y-et.vy||Nd(ve)),le>2&&(rt=ht.z+ht.vz-et.z-et.vz||Nd(ve)),Mt=Math.sqrt(lt*lt+ot*ot+rt*rt),Mt=(Mt-ie[Ze])/Mt*Le*z[Ze],lt*=Mt,ot*=Mt,rt*=Mt,ht.vx-=lt*(Xt=ge[Ze]),le>1&&(ht.vy-=ot*Xt),le>2&&(ht.vz-=rt*Xt),et.vx+=lt*(Xt=1-Xt),le>1&&(et.vy+=ot*Xt),le>2&&(et.vz+=rt*Xt)}function De(){if(se){var Le,Qe=se.length,Xe=ee.length,Ze=new Map(se.map((et,ht)=>[y(et,ht,se),et])),it;for(Le=0,de=new Array(Qe);Letypeof Xe=="function")||Math.random,le=Qe.find(Xe=>[1,2,3].includes(Xe))||2,De()},Me.links=function(Le){return arguments.length?(ee=Le,De(),Me):ee},Me.id=function(Le){return arguments.length?(y=Le,Me):y},Me.iterations=function(Le){return arguments.length?(xe=+Le,Me):xe},Me.strength=function(Le){return arguments.length?(E=typeof Le=="function"?Le:jc(+Le),Oe(),Me):E},Me.distance=function(Le){return arguments.length?(ne=typeof Le=="function"?Le:jc(+Le),Re(),Me):ne},Me}function GS(ee){const y=+this._x.call(null,ee);return Gc(this.cover(y),y,ee)}function Gc(ee,y,E){if(isNaN(y))return ee;var z,ne=ee._root,ie={data:E},se=ee._x0,le=ee._x1,de,ge,ve,xe,Se;if(!ne)return ee._root=ie,ee;for(;ne.length;)if((ve=y>=(de=(se+le)/2))?se=de:le=de,z=ne,!(ne=ne[xe=+ve]))return z[xe]=ie,ee;if(ge=+ee._x.call(null,ne.data),y===ge)return ie.next=ne,z?z[xe]=ie:ee._root=ie,ee;do z=z?z[xe]=new Array(2):ee._root=new Array(2),(ve=y>=(de=(se+le)/2))?se=de:le=de;while((xe=+ve)==(Se=+(ge>=de)));return z[Se]=ne,z[xe]=ie,ee}function Vl(ee){Array.isArray(ee)||(ee=Array.from(ee));const y=ee.length,E=new Float64Array(y);let z=1/0,ne=-1/0;for(let ie=0,se;iene&&(ne=se));if(z>ne)return this;this.cover(z).cover(ne);for(let ie=0;ieee||ee>=E;)switch(se=+(eese||(ie=ge.x1)=xe))&&(ge=le[le.length-1],le[le.length-1]=le[le.length-1-ve],le[le.length-1-ve]=ge)}else{var Se=Math.abs(ee-+this._x.call(null,de.data));Se=(ge=(se+le)/2))?se=ge:le=ge,y=E,!(E=E[xe=+ve]))return this;if(!E.length)break;y[xe+1&1]&&(z=y,Se=xe)}for(;E.data!==ee;)if(ne=E,!(E=E.next))return this;return(ie=E.next)&&delete E.next,ne?(ie?ne.next=ie:delete ne.next,this):y?(ie?y[xe]=ie:delete y[xe],(E=y[0]||y[1])&&E===(y[1]||y[0])&&!E.length&&(z?z[Se]=E:this._root=E),this):(this._root=ie,this)}function mw(ee){for(var y=0,E=ee.length;y1&&(De.y=Ze/Qe),y>2&&(De.z=it/Qe)}else{Re=De,Re.x=Re.data.x,y>1&&(Re.y=Re.data.y),y>2&&(Re.z=Re.data.z);do Oe+=se[Re.data.index];while(Re=Re.next)}De.value=Oe}function Me(De,Oe,Re,Le,Qe){if(!De.value)return!0;var Xe=[Re,Le,Qe][y-1],Ze=De.x-E.x,it=y>1?De.y-E.y:0,et=y>2?De.z-E.z:0,ht=Xe-Oe,lt=Ze*Ze+it*it+et*et;if(ht*ht/ge1&&it===0&&(it=Nd(z),lt+=it*it),y>2&&et===0&&(et=Nd(z),lt+=et*et),lt1&&(E.vy+=it*De.value*ne/lt),y>2&&(E.vz+=et*De.value*ne/lt)),!0;if(De.length||lt>=de)return;(De.data!==E||De.next)&&(Ze===0&&(Ze=Nd(z),lt+=Ze*Ze),y>1&&it===0&&(it=Nd(z),lt+=it*it),y>2&&et===0&&(et=Nd(z),lt+=et*et),lt1&&(E.vy+=it*ht),y>2&&(E.vz+=et*ht));while(De=De.next)}return ve.initialize=function(De,...Oe){ee=De,z=Oe.find(Re=>typeof Re=="function")||Math.random,y=Oe.find(Re=>[1,2,3].includes(Re))||2,xe()},ve.strength=function(De){return arguments.length?(ie=typeof De=="function"?De:jc(+De),xe(),ve):ie},ve.distanceMin=function(De){return arguments.length?(le=De*De,ve):Math.sqrt(le)},ve.distanceMax=function(De){return arguments.length?(de=De*De,ve):Math.sqrt(de)},ve.theta=function(De){return arguments.length?(ge=De*De,ve):Math.sqrt(ge)},ve}function df(ee,y,E){var z,ne=1;ee==null&&(ee=0),y==null&&(y=0),E==null&&(E=0);function ie(){var se,le=z.length,de,ge=0,ve=0,xe=0;for(se=0;se1&&(De.vy+=Re*Xe),ie>2&&(De.vz+=Le*Xe)}}function ve(){if(ne){var xe,Se=ne.length;for(le=new Array(Se),de=new Array(Se),xe=0;xe[1,2,3].includes(Me))||2,ve()},ge.strength=function(xe){return arguments.length?(se=typeof xe=="function"?xe:jc(+xe),ve(),ge):se},ge.radius=function(xe){return arguments.length?(ee=typeof xe=="function"?xe:jc(+xe),ve(),ge):ee},ge.x=function(xe){return arguments.length?(y=+xe,ge):y},ge.y=function(xe){return arguments.length?(E=+xe,ge):E},ge.z=function(xe){return arguments.length?(z=+xe,ge):z},ge}var fd=Je(45174),Y0=Je(91998);function Vf(ee){var y=typeof ee;return ee!=null&&(y=="object"||y=="function")}var hA=Vf,iy=typeof global=="object"&&global&&global.Object===Object&&global,XS=iy,vw=typeof self=="object"&&self&&self.Object===Object&&self,sp=XS||vw||Function("return this")(),ry=sp,oy=function(){return ry.Date.now()},dA=oy,Z0=/\s/;function jp(ee){for(var y=ee.length;y--&&Z0.test(ee.charAt(y)););return y}var K0=jp,Nm=/^\s+/;function J0(ee){return ee&&ee.slice(0,K0(ee)+1).replace(Nm,"")}var fA=J0,Ig=ry.Symbol,q0=Ig,Im=Object.prototype,Rx=Im.hasOwnProperty,E2=Im.toString,ag=q0?q0.toStringTag:void 0;function gA(ee){var y=Rx.call(ee,ag),E=ee[ag];try{ee[ag]=void 0;var z=!0}catch(ie){}var ne=E2.call(ee);return z&&(y?ee[ag]=E:delete ee[ag]),ne}var WS=gA,b2=Object.prototype,tE=b2.toString;function Ox(ee){return tE.call(ee)}var kx=Ox,nE="[object Null]",w5="[object Undefined]",yw=q0?q0.toStringTag:void 0;function QS(ee){return ee==null?ee===void 0?w5:nE:yw&&yw in Object(ee)?WS(ee):kx(ee)}var iE=QS;function VT(ee){return ee!=null&&typeof ee=="object"}var rE=VT,oE="[object Symbol]";function jT(ee){return typeof ee=="symbol"||rE(ee)&&iE(ee)==oE}var sE=jT,aE=NaN,YS=/^[-+]0x[0-9a-f]+$/i,M2=/^0b[01]+$/i,B2=/^0o[0-7]+$/i,Hk=parseInt;function Uk(ee){if(typeof ee=="number")return ee;if(sE(ee))return aE;if(hA(ee)){var y=typeof ee.valueOf=="function"?ee.valueOf():ee;ee=hA(y)?y+"":y}if(typeof ee!="string")return ee===0?ee:+ee;ee=fA(ee);var E=M2.test(ee);return E||B2.test(ee)?Hk(ee.slice(2),E?2:8):YS.test(ee)?aE:+ee}var KL=Uk,Vk="Expected a function",jk=Math.max,Gk=Math.min;function Xk(ee,y,E){var z,ne,ie,se,le,de,ge=0,ve=!1,xe=!1,Se=!0;if(typeof ee!="function")throw new TypeError(Vk);y=KL(y)||0,hA(E)&&(ve=!!E.leading,xe="maxWait"in E,ie=xe?jk(KL(E.maxWait)||0,y):ie,Se="trailing"in E?!!E.trailing:Se);function Me(et){var ht=z,lt=ne;return z=ne=void 0,ge=et,se=ee.apply(lt,ht),se}function De(et){return ge=et,le=setTimeout(Le,y),ve?Me(et):se}function Oe(et){var ht=et-de,lt=et-ge,ot=y-ht;return xe?Gk(ot,ie-lt):ot}function Re(et){var ht=et-de,lt=et-ge;return de===void 0||ht>=y||ht<0||xe&<>=ie}function Le(){var et=dA();if(Re(et))return Qe(et);le=setTimeout(Le,Oe(et))}function Qe(et){return le=void 0,Se&&z?Me(et):(z=ne=void 0,se)}function Xe(){le!==void 0&&clearTimeout(le),ge=0,z=de=ne=le=void 0}function Ze(){return le===void 0?se:Qe(dA())}function it(){var et=dA(),ht=Re(et);if(z=arguments,ne=this,de=et,ht){if(le===void 0)return De(de);if(xe)return clearTimeout(le),le=setTimeout(Le,y),Me(de)}return le===void 0&&(le=setTimeout(Le,y)),se}return it.cancel=Xe,it.flush=Ze,it}var Wk=Xk;function JL(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);Ez||E===void 0&&z>=z)&&(E=z);else{let z=-1;for(let ne of ee)(ne=y(ne,++z,ee))!=null&&(E>ne||E===void 0&&ne>=ne)&&(E=ne)}return E}function tz(ee,y){let E;if(y===void 0)for(const z of ee)z!=null&&(E=z)&&(E=z);else{let z=-1;for(let ne of ee)(ne=y(ne,++z,ee))!=null&&(E=ne)&&(E=ne)}return E}function GT(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E=0,ie=!E&&ne&&(y==="hex"||y==="hex6"||y==="hex3"||y==="hex4"||y==="hex8"||y==="name");return ie?y==="name"&&this._a===0?this.toName():this.toRgbString():(y==="rgb"&&(z=this.toRgbString()),y==="prgb"&&(z=this.toPercentageRgbString()),(y==="hex"||y==="hex6")&&(z=this.toHexString()),y==="hex3"&&(z=this.toHexString(!0)),y==="hex4"&&(z=this.toHex8String(!0)),y==="hex8"&&(z=this.toHex8String()),y==="name"&&(z=this.toName()),y==="hsl"&&(z=this.toHslString()),y==="hsv"&&(z=this.toHsvString()),z||this.toHexString())},clone:function(){return ha(this.toString())},_applyModification:function(y,E){var z=y.apply(null,[this].concat([].slice.call(E)));return this._r=z._r,this._g=z._g,this._b=z._b,this.setAlpha(z._a),this},lighten:function(){return this._applyModification(Dz,arguments)},brighten:function(){return this._applyModification(Fz,arguments)},darken:function(){return this._applyModification(Lz,arguments)},desaturate:function(){return this._applyModification(Mz,arguments)},saturate:function(){return this._applyModification(Bz,arguments)},greyscale:function(){return this._applyModification(Tz,arguments)},spin:function(){return this._applyModification(Nz,arguments)},_applyCombination:function(y,E){return y.apply(null,[this].concat([].slice.call(E)))},analogous:function(){return this._applyCombination(Oz,arguments)},complement:function(){return this._applyCombination(Iz,arguments)},monochromatic:function(){return this._applyCombination(kz,arguments)},splitcomplement:function(){return this._applyCombination(Rz,arguments)},triad:function(){return this._applyCombination(uN,[3])},tetrad:function(){return this._applyCombination(uN,[4])}},ha.fromRatio=function(ee,y){if(C5(ee)=="object"){var E={};for(var z in ee)ee.hasOwnProperty(z)&&(z==="a"?E[z]=ee[z]:E[z]=D2(ee[z]));ee=E}return ha(ee,y)};function Sz(ee){var y={r:0,g:0,b:0},E=1,z=null,ne=null,ie=null,se=!1,le=!1;return typeof ee=="string"&&(ee=jz(ee)),C5(ee)=="object"&&(zx(ee.r)&&zx(ee.g)&&zx(ee.b)?(y=Pz(ee.r,ee.g,ee.b),se=!0,le=String(ee.r).substr(-1)==="%"?"prgb":"rgb"):zx(ee.h)&&zx(ee.s)&&zx(ee.v)?(z=D2(ee.s),ne=D2(ee.v),y=Ez(ee.h,z,ne),se=!0,le="hsv"):zx(ee.h)&&zx(ee.s)&&zx(ee.l)&&(z=D2(ee.s),ie=D2(ee.l),y=Cz(ee.h,z,ie),se=!0,le="hsl"),ee.hasOwnProperty("a")&&(E=ee.a)),E=cN(E),{ok:se,format:ee.format||le,r:Math.min(255,Math.max(y.r,0)),g:Math.min(255,Math.max(y.g,0)),b:Math.min(255,Math.max(y.b,0)),a:E}}function Pz(ee,y,E){return{r:vh(ee,255)*255,g:vh(y,255)*255,b:vh(E,255)*255}}function oN(ee,y,E){ee=vh(ee,255),y=vh(y,255),E=vh(E,255);var z=Math.max(ee,y,E),ne=Math.min(ee,y,E),ie,se,le=(z+ne)/2;if(z==ne)ie=se=0;else{var de=z-ne;switch(se=le>.5?de/(2-z-ne):de/(z+ne),z){case ee:ie=(y-E)/de+(y1&&(xe-=1),xe<1/6?ge+(ve-ge)*6*xe:xe<1/2?ve:xe<2/3?ge+(ve-ge)*(2/3-xe)*6:ge}if(y===0)z=ne=ie=E;else{var le=E<.5?E*(1+y):E+y-E*y,de=2*E-le;z=se(de,le,ee+1/3),ne=se(de,le,ee),ie=se(de,le,ee-1/3)}return{r:z*255,g:ne*255,b:ie*255}}function sN(ee,y,E){ee=vh(ee,255),y=vh(y,255),E=vh(E,255);var z=Math.max(ee,y,E),ne=Math.min(ee,y,E),ie,se,le=z,de=z-ne;if(se=z===0?0:de/z,z==ne)ie=0;else{switch(z){case ee:ie=(y-E)/de+(y>1)+720)%360;--y;)z.h=(z.h+ne)%360,ie.push(ha(z));return ie}function kz(ee,y){y=y||6;for(var E=ha(ee).toHsv(),z=E.h,ne=E.s,ie=E.v,se=[],le=1/y;y--;)se.push(ha({h:z,s:ne,v:ie})),ie=(ie+le)%1;return se}ha.mix=function(ee,y,E){E=E===0?0:E||50;var z=ha(ee).toRgb(),ne=ha(y).toRgb(),ie=E/100,se={r:(ne.r-z.r)*ie+z.r,g:(ne.g-z.g)*ie+z.g,b:(ne.b-z.b)*ie+z.b,a:(ne.a-z.a)*ie+z.a};return ha(se)},ha.readability=function(ee,y){var E=ha(ee),z=ha(y);return(Math.max(E.getLuminance(),z.getLuminance())+.05)/(Math.min(E.getLuminance(),z.getLuminance())+.05)},ha.isReadable=function(ee,y,E){var z=ha.readability(ee,y),ne,ie;switch(ie=!1,ne=Gz(E),ne.level+ne.size){case"AAsmall":case"AAAlarge":ie=z>=4.5;break;case"AAlarge":ie=z>=3;break;case"AAAsmall":ie=z>=7;break}return ie},ha.mostReadable=function(ee,y,E){var z=null,ne=0,ie,se,le,de;E=E||{},se=E.includeFallbackColors,le=E.level,de=E.size;for(var ge=0;gene&&(ne=ie,z=ha(y[ge]));return ha.isReadable(ee,z,{level:le,size:de})||!se?z:(E.includeFallbackColors=!1,ha.mostReadable(ee,["#fff","#000"],E))};var ZT=ha.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},zz=ha.hexNames=Hz(ZT);function Hz(ee){var y={};for(var E in ee)ee.hasOwnProperty(E)&&(y[ee[E]]=E);return y}function cN(ee){return ee=parseFloat(ee),(isNaN(ee)||ee<0||ee>1)&&(ee=1),ee}function vh(ee,y){Uz(ee)&&(ee="100%");var E=Vz(ee);return ee=Math.min(y,Math.max(0,parseFloat(ee))),E&&(ee=parseInt(ee*y,10)/100),Math.abs(ee-y)<1e-6?1:ee%y/parseFloat(y)}function E5(ee){return Math.min(1,Math.max(0,ee))}function Rm(ee){return parseInt(ee,16)}function Uz(ee){return typeof ee=="string"&&ee.indexOf(".")!=-1&&parseFloat(ee)===1}function Vz(ee){return typeof ee=="string"&&ee.indexOf("%")!=-1}function sy(ee){return ee.length==1?"0"+ee:""+ee}function D2(ee){return ee<=1&&(ee=ee*100+"%"),ee}function hN(ee){return Math.round(parseFloat(ee)*255).toString(16)}function dN(ee){return Rm(ee)/255}var ay=function(){var ee="[-\\+]?\\d+%?",y="[-\\+]?\\d*\\.\\d+%?",E="(?:"+y+")|(?:"+ee+")",z="[\\s|\\(]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?",ne="[\\s|\\(]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?";return{CSS_UNIT:new RegExp(E),rgb:new RegExp("rgb"+z),rgba:new RegExp("rgba"+ne),hsl:new RegExp("hsl"+z),hsla:new RegExp("hsla"+ne),hsv:new RegExp("hsv"+z),hsva:new RegExp("hsva"+ne),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function zx(ee){return!!ay.CSS_UNIT.exec(ee)}function jz(ee){ee=ee.replace(xz,"").replace(wz,"").toLowerCase();var y=!1;if(ZT[ee])ee=ZT[ee],y=!0;else if(ee=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var E;return(E=ay.rgb.exec(ee))?{r:E[1],g:E[2],b:E[3]}:(E=ay.rgba.exec(ee))?{r:E[1],g:E[2],b:E[3],a:E[4]}:(E=ay.hsl.exec(ee))?{h:E[1],s:E[2],l:E[3]}:(E=ay.hsla.exec(ee))?{h:E[1],s:E[2],l:E[3],a:E[4]}:(E=ay.hsv.exec(ee))?{h:E[1],s:E[2],v:E[3]}:(E=ay.hsva.exec(ee))?{h:E[1],s:E[2],v:E[3],a:E[4]}:(E=ay.hex8.exec(ee))?{r:Rm(E[1]),g:Rm(E[2]),b:Rm(E[3]),a:dN(E[4]),format:y?"name":"hex8"}:(E=ay.hex6.exec(ee))?{r:Rm(E[1]),g:Rm(E[2]),b:Rm(E[3]),format:y?"name":"hex"}:(E=ay.hex4.exec(ee))?{r:Rm(E[1]+""+E[1]),g:Rm(E[2]+""+E[2]),b:Rm(E[3]+""+E[3]),a:dN(E[4]+""+E[4]),format:y?"name":"hex8"}:(E=ay.hex3.exec(ee))?{r:Rm(E[1]+""+E[1]),g:Rm(E[2]+""+E[2]),b:Rm(E[3]+""+E[3]),format:y?"name":"hex"}:!1}function Gz(ee){var y,E;return ee=ee||{level:"AA",size:"small"},y=(ee.level||"AA").toUpperCase(),E=(ee.size||"small").toLowerCase(),y!=="AA"&&y!=="AAA"&&(y="AA"),E!=="small"&&E!=="large"&&(E="small"),{level:y,size:E}}function KT(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E1&&arguments[1]!==void 0?arguments[1]:{},ie=ne.dataBindAttr,se=ie===void 0?"__data":ie,le=ne.objBindAttr,de=le===void 0?"__threeObj":le;return pN(this,y),z=gN(this,y),b5(z,"scene",void 0),mN(z,i3,void 0),mN(z,M5,void 0),z.scene=E,vN(i3,z,se),vN(M5,z,de),z.onRemoveObj(function(){}),z}return xN(y,ee),AN(y,[{key:"onCreateObj",value:function(z){var ne=this;return e3(y,"onCreateObj",this)([function(ie){var se=z(ie);return ie[JT(M5,ne)]=se,se[JT(i3,ne)]=ie,ne.scene.add(se),se}]),this}},{key:"onRemoveObj",value:function(z){var ne=this;return e3(y,"onRemoveObj",this)([function(ie,se){var le=e3(y,"getData",ne)([ie]);z(ie,se),ne.scene.remove(ie),n3(ie),delete le[JT(M5,ne)]}]),this}}])}(mz),N2=function(y){return isNaN(y)?parseInt(ha(y).toHex(),16):y},r3=function(y){return isNaN(y)?ha(y).getAlpha():1},iH=rN(Az);function bN(ee,y,E){!y||typeof E!="string"||ee.filter(function(z){return!z[E]}).forEach(function(z){z[E]=iH(y(z))})}function rH(ee,y){var E=ee.nodes,z=ee.links,ne=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ie=ne.nodeFilter,se=ie===void 0?function(){return!0}:ie,le=ne.onLoopError,de=le===void 0?function(Me){throw"Invalid DAG structure! Found cycle in node path: ".concat(Me.join(" -> "),".")}:le,ge={};E.forEach(function(Me){return ge[y(Me)]={data:Me,out:[],depth:-1,skip:!se(Me)}}),z.forEach(function(Me){var De=Me.source,Oe=Me.target,Re=Ze(De),Le=Ze(Oe);if(!ge.hasOwnProperty(Re))throw"Missing source node with id: ".concat(Re);if(!ge.hasOwnProperty(Le))throw"Missing target node with id: ".concat(Le);var Qe=ge[Re],Xe=ge[Le];Qe.out.push(Xe);function Ze(it){return t3(it)==="object"?y(it):it}});var ve=[];Se(Object.values(ge));var xe=Object.assign.apply(Object,[{}].concat(ly(Object.entries(ge).filter(function(Me){var De=F2(Me,2),Oe=De[1];return!Oe.skip}).map(function(Me){var De=F2(Me,2),Oe=De[0],Re=De[1];return b5({},Oe,Re.depth)}))));return xe;function Se(Me){for(var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Oe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Re=function(){var Ze=Me[Le];if(De.indexOf(Ze)!==-1){var it=[].concat(ly(De.slice(De.indexOf(Ze))),[Ze]).map(function(et){return y(et.data)});return ve.some(function(et){return et.length===it.length&&et.every(function(ht,lt){return ht===it[lt]})})||(ve.push(it),de(it)),1}Oe>Ze.depth&&(Ze.depth=Oe,Se(Ze.out,[].concat(ly(De),[Ze]),Oe+(Ze.skip?0:1)))},Le=0,Qe=Me.length;Le2?-60:-30),y<3&&ne(E.graphData.nodes,"z"),y<2&&ne(E.graphData.nodes,"y");function ne(ie,se){ie.forEach(function(le){delete le[se],delete le["v".concat(se)]})}}},dagMode:{onChange:function(y,E){!y&&E.forceEngine==="d3"&&(E.graphData.nodes||[]).forEach(function(z){return z.fx=z.fy=z.fz=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(y){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeVisibility:{default:!0},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},nodePositionUpdate:{triggerUpdate:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{},linkResolution:{default:6},linkCurvature:{default:0,triggerUpdate:!1},linkCurveRotation:{default:0,triggerUpdate:!1},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{triggerUpdate:!1},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},linkDirectionalParticleThreeObject:{},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(y,E){E.d3ForceLayout.alphaDecay(y)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(y,E){E.d3ForceLayout.alphaTarget(y)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(y,E){E.d3ForceLayout.velocityDecay(y)}},ngraphPhysics:{default:{timeStep:20,gravity:-1.2,theta:.8,springLength:30,springCoefficient:8e-4,dragCoefficient:.02}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onLoading:{default:function(){},triggerUpdate:!1},onFinishLoading:{default:function(){},triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1}},methods:{refresh:function(y){return y._flushObjects=!0,y._rerender(),this},d3Force:function(y,E,z){return z===void 0?y.d3ForceLayout.force(E):(y.d3ForceLayout.force(E,z),this)},d3ReheatSimulation:function(y){return y.d3ForceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(y){return y.cntTicks=0,y.startTickTime=new Date,y.engineRunning=!0,this},tickFrame:function(y){var E=y.forceEngine!=="ngraph";return y.engineRunning&&z(),ne(),ie(),this;function z(){++y.cntTicks>y.cooldownTicks||new Date-y.startTickTime>y.cooldownTime||E&&y.d3AlphaMin>0&&y.d3ForceLayout.alpha()0){var et=Oe.x-De.x,ht=Oe.y-De.y||0,lt=new Ua.Vector3().subVectors(Qe,Le),ot=lt.clone().multiplyScalar(Re).cross(et!==0||ht!==0?new Ua.Vector3(0,0,1):new Ua.Vector3(0,1,0)).applyAxisAngle(lt.normalize(),it).add(new Ua.Vector3().addVectors(Le,Qe).divideScalar(2));Ze=new Ua.QuadraticBezierCurve3(Le,ot,Qe)}else{var rt=Re*70,Mt=-it,Xt=Mt+Math.PI/2;Ze=new Ua.CubicBezierCurve3(Le,new Ua.Vector3(rt*Math.cos(Xt),rt*Math.sin(Xt),0).add(Le),new Ua.Vector3(rt*Math.cos(Mt),rt*Math.sin(Mt),0).add(Le),Qe)}Se.__curve=Ze}}}}function ne(){var se=ql(y.linkDirectionalArrowRelPos),le=ql(y.linkDirectionalArrowLength),de=ql(y.nodeVal);y.arrowDataMapper.entries().forEach(function(ge){var ve=F2(ge,2),xe=ve[0],Se=ve[1];if(Se){var Me=E?xe:y.layout.getLinkPosition(y.layout.graph.getLink(xe.source,xe.target).id),De=Me[E?"source":"from"],Oe=Me[E?"target":"to"];if(!(!De||!Oe||!De.hasOwnProperty("x")||!Oe.hasOwnProperty("x"))){var Re=Math.cbrt(Math.max(0,de(De)||1))*y.nodeRelSize,Le=Math.cbrt(Math.max(0,de(Oe)||1))*y.nodeRelSize,Qe=le(xe),Xe=se(xe),Ze=xe.__curve?function(rt){return xe.__curve.getPoint(rt)}:function(rt){var Mt=function(cn,Cn,En,Zn){return Cn[cn]+(En[cn]-Cn[cn])*Zn||0};return{x:Mt("x",De,Oe,rt),y:Mt("y",De,Oe,rt),z:Mt("z",De,Oe,rt)}},it=xe.__curve?xe.__curve.getLength():Math.sqrt(["x","y","z"].map(function(rt){return Math.pow((Oe[rt]||0)-(De[rt]||0),2)}).reduce(function(rt,Mt){return rt+Mt},0)),et=Re+Qe+(it-Re-Le-Qe)*Xe,ht=Ze(et/it),lt=Ze((et-Qe)/it);["x","y","z"].forEach(function(rt){return Se.position[rt]=lt[rt]});var ot=yN(Ua.Vector3,ly(["x","y","z"].map(function(rt){return ht[rt]})));Se.parent.localToWorld(ot),Se.lookAt(ot)}}})}function ie(){var se=ql(y.linkDirectionalParticleSpeed),le=ql(y.linkDirectionalParticleOffset);y.graphData.links.forEach(function(de){var ge=y.particlesDataMapper.getObj(de),ve=ge&&ge.children,xe=de.__singleHopPhotonsObj&&de.__singleHopPhotonsObj.children;if(!((!xe||!xe.length)&&(!ve||!ve.length))){var Se=E?de:y.layout.getLinkPosition(y.layout.graph.getLink(de.source,de.target).id),Me=Se[E?"source":"from"],De=Se[E?"target":"to"];if(!(!Me||!De||!Me.hasOwnProperty("x")||!De.hasOwnProperty("x"))){var Oe=se(de),Re=Math.abs(le(de)),Le=de.__curve?function(Xe){return de.__curve.getPoint(Xe)}:function(Xe){var Ze=function(et,ht,lt,ot){return ht[et]+(lt[et]-ht[et])*ot||0};return{x:Ze("x",Me,De,Xe),y:Ze("y",Me,De,Xe),z:Ze("z",Me,De,Xe)}},Qe=[].concat(ly(ve||[]),ly(xe||[]));Qe.forEach(function(Xe,Ze){var it=Xe.parent.__linkThreeObjType==="singleHopPhotons";if(Xe.hasOwnProperty("__progressRatio")||(Xe.__progressRatio=it?0:(Ze+Re)/ve.length),Xe.__progressRatio+=Oe,Xe.__progressRatio>=1)if(!it)Xe.__progressRatio=Xe.__progressRatio%1;else{Xe.parent.remove(Xe),n3(Xe);return}var et=Xe.__progressRatio,ht=Le(et);Xe.geometry.type!=="SphereGeometry"&&Xe.lookAt(ht.x,ht.y,ht.z),["x","y","z"].forEach(function(lt){return Xe.position[lt]=ht[lt]})})}}})}},emitParticle:function(y,E){if(E&&y.graphData.links.includes(E)){if(!E.__singleHopPhotonsObj){var z=new Ua.Group;z.__linkThreeObjType="singleHopPhotons",E.__singleHopPhotonsObj=z,y.graphScene.add(z)}var ne=ql(y.linkDirectionalParticleThreeObject)(E);if(ne&&y.linkDirectionalParticleThreeObject===ne&&(ne=ne.clone()),!ne){var ie=ql(y.linkDirectionalParticleWidth),se=Math.ceil(ie(E)*10)/10/2,le=y.linkDirectionalParticleResolution,de=new Ua.SphereGeometry(se,le,le),ge=ql(y.linkColor),ve=ql(y.linkDirectionalParticleColor),xe=ve(E)||ge(E)||"#f0f0f0",Se=new Ua.Color(N2(xe)),Me=y.linkOpacity*3,De=new Ua.MeshLambertMaterial({color:Se,transparent:!0,opacity:Me});ne=new Ua.Mesh(de,De)}E.__singleHopPhotonsObj.add(ne)}return this},getGraphBbox:function(y){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0};if(!y.initialised)return null;var z=function ne(ie){var se=[];if(ie.geometry){ie.geometry.computeBoundingBox();var le=new Ua.Box3;le.copy(ie.geometry.boundingBox).applyMatrix4(ie.matrixWorld),se.push(le)}return se.concat.apply(se,ly((ie.children||[]).filter(function(de){return!de.hasOwnProperty("__graphObjType")||de.__graphObjType==="node"&&E(de.__data)}).map(ne)))}(y.graphScene);return z.length?Object.assign.apply(Object,ly(["x","y","z"].map(function(ne){return b5({},ne,[ez(z,function(ie){return ie.min[ne]}),tz(z,function(ie){return ie.max[ne]})])}))):null}},stateInit:function(){return{d3ForceLayout:ny().force("link",Ru()).force("charge",Uf()).force("center",df()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(y,E){E.graphScene=y,E.nodeDataMapper=new L2(y,{objBindAttr:"__threeObj"}),E.linkDataMapper=new L2(y,{objBindAttr:"__lineObj"}),E.arrowDataMapper=new L2(y,{objBindAttr:"__arrowObj"}),E.particlesDataMapper=new L2(y,{objBindAttr:"__photonsObj"})},update:function(y,E){var z=function(mi){return mi.some(function(ui){return E.hasOwnProperty(ui)})};if(y.engineRunning=!1,typeof y.onUpdate=="function"&&y.onUpdate(),y.nodeAutoColorBy!==null&&z(["nodeAutoColorBy","graphData","nodeColor"])&&bN(y.graphData.nodes,ql(y.nodeAutoColorBy),y.nodeColor),y.linkAutoColorBy!==null&&z(["linkAutoColorBy","graphData","linkColor"])&&bN(y.graphData.links,ql(y.linkAutoColorBy),y.linkColor),y._flushObjects||z(["graphData","nodeThreeObject","nodeThreeObjectExtend","nodeVal","nodeColor","nodeVisibility","nodeRelSize","nodeResolution","nodeOpacity"])){var ne=ql(y.nodeThreeObject),ie=ql(y.nodeThreeObjectExtend),se=ql(y.nodeVal),le=ql(y.nodeColor),de=ql(y.nodeVisibility),ge={},ve={};(y._flushObjects||z(["nodeThreeObject","nodeThreeObjectExtend"]))&&y.nodeDataMapper.clear(),y.nodeDataMapper.onCreateObj(function(dn){var mi=ne(dn),ui=ie(dn);mi&&y.nodeThreeObject===mi&&(mi=mi.clone());var Mi;return mi&&!ui?Mi=mi:(Mi=new Ua.Mesh,Mi.__graphDefaultObj=!0,mi&&ui&&Mi.add(mi)),Mi.__graphObjType="node",Mi}).onUpdateObj(function(dn,mi){if(dn.__graphDefaultObj){var ui=se(mi)||1,Mi=Math.cbrt(ui)*y.nodeRelSize,Qi=y.nodeResolution;(!dn.geometry.type.match(/^Sphere(Buffer)?Geometry$/)||dn.geometry.parameters.radius!==Mi||dn.geometry.parameters.widthSegments!==Qi)&&(ge.hasOwnProperty(ui)||(ge[ui]=new Ua.SphereGeometry(Mi,Qi,Qi)),dn.geometry.dispose(),dn.geometry=ge[ui]);var rr=le(mi),Ir=new Ua.Color(N2(rr||"#ffffaa")),to=y.nodeOpacity*r3(rr);(dn.material.type!=="MeshLambertMaterial"||!dn.material.color.equals(Ir)||dn.material.opacity!==to)&&(ve.hasOwnProperty(rr)||(ve[rr]=new Ua.MeshLambertMaterial({color:Ir,transparent:!0,opacity:to})),dn.material.dispose(),dn.material=ve[rr])}}).digest(y.graphData.nodes.filter(de))}if(y._flushObjects||z(["graphData","linkThreeObject","linkThreeObjectExtend","linkMaterial","linkColor","linkWidth","linkVisibility","linkResolution","linkOpacity","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","linkDirectionalParticleThreeObject"])){var xe=ql(y.linkThreeObject),Se=ql(y.linkThreeObjectExtend),Me=ql(y.linkMaterial),De=ql(y.linkVisibility),Oe=ql(y.linkColor),Re=ql(y.linkWidth),Le={},Qe={},Xe={},Ze=y.graphData.links.filter(De);if((y._flushObjects||z(["linkThreeObject","linkThreeObjectExtend","linkWidth"]))&&y.linkDataMapper.clear(),y.linkDataMapper.onRemoveObj(function(dn){var mi=dn.__data&&dn.__data.__singleHopPhotonsObj;mi&&(mi.parent.remove(mi),n3(mi),delete dn.__data.__singleHopPhotonsObj)}).onCreateObj(function(dn){var mi=xe(dn),ui=Se(dn);mi&&y.linkThreeObject===mi&&(mi=mi.clone());var Mi;if(!mi||ui){var Qi=!!Re(dn);if(Qi)Mi=new Ua.Mesh;else{var rr=new Ua.BufferGeometry;rr[o3]("position",new Ua.BufferAttribute(new Float32Array(2*3),3)),Mi=new Ua.Line(rr)}}var Ir;return mi?ui?(Ir=new Ua.Group,Ir.__graphDefaultObj=!0,Ir.add(Mi),Ir.add(mi)):Ir=mi:(Ir=Mi,Ir.__graphDefaultObj=!0),Ir.renderOrder=10,Ir.__graphObjType="link",Ir}).onUpdateObj(function(dn,mi){if(dn.__graphDefaultObj){var ui=dn.children.length?dn.children[0]:dn,Mi=Math.ceil(Re(mi)*10)/10,Qi=!!Mi;if(Qi){var rr=Mi/2,Ir=y.linkResolution;if(!ui.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)||ui.geometry.parameters.radiusTop!==rr||ui.geometry.parameters.radialSegments!==Ir){if(!Le.hasOwnProperty(Mi)){var to=new Ua.CylinderGeometry(rr,rr,1,Ir,1,!1);to[B5](new Ua.Matrix4().makeTranslation(0,1/2,0)),to[B5](new Ua.Matrix4().makeRotationX(Math.PI/2)),Le[Mi]=to}ui.geometry.dispose(),ui.geometry=Le[Mi]}}var Jo=Me(mi);if(Jo)ui.material=Jo;else{var Ot=Oe(mi),Pr=new Ua.Color(N2(Ot||"#f0f0f0")),sr=y.linkOpacity*r3(Ot),Fr=Qi?"MeshLambertMaterial":"LineBasicMaterial";if(ui.material.type!==Fr||!ui.material.color.equals(Pr)||ui.material.opacity!==sr){var _i=Qi?Qe:Xe;_i.hasOwnProperty(Ot)||(_i[Ot]=new Ua[Fr]({color:Pr,transparent:sr<1,opacity:sr,depthWrite:sr>=1})),ui.material.dispose(),ui.material=_i[Ot]}}}}).digest(Ze),y.linkDirectionalArrowLength||E.hasOwnProperty("linkDirectionalArrowLength")){var it=ql(y.linkDirectionalArrowLength),et=ql(y.linkDirectionalArrowColor);y.arrowDataMapper.onCreateObj(function(){var dn=new Ua.Mesh(void 0,new Ua.MeshLambertMaterial({transparent:!0}));return dn.__linkThreeObjType="arrow",dn}).onUpdateObj(function(dn,mi){var ui=it(mi),Mi=y.linkDirectionalArrowResolution;if(!dn.geometry.type.match(/^Cone(Buffer)?Geometry$/)||dn.geometry.parameters.height!==ui||dn.geometry.parameters.radialSegments!==Mi){var Qi=new Ua.ConeGeometry(ui*.25,ui,Mi);Qi.translate(0,ui/2,0),Qi.rotateX(Math.PI/2),dn.geometry.dispose(),dn.geometry=Qi}var rr=et(mi)||Oe(mi)||"#f0f0f0";dn.material.color=new Ua.Color(N2(rr)),dn.material.opacity=y.linkOpacity*3*r3(rr)}).digest(Ze.filter(it))}if(y.linkDirectionalParticles||E.hasOwnProperty("linkDirectionalParticles")){var ht=ql(y.linkDirectionalParticles),lt=ql(y.linkDirectionalParticleWidth),ot=ql(y.linkDirectionalParticleColor),rt=ql(y.linkDirectionalParticleThreeObject),Mt={},Xt={};y.particlesDataMapper.onCreateObj(function(){var dn=new Ua.Group;return dn.__linkThreeObjType="photons",dn.__photonDataMapper=new L2(dn),dn}).onUpdateObj(function(dn,mi){var ui=!!dn.children.length&&dn.children[0],Mi=rt(mi),Qi,rr;if(Mi)Qi=Mi.geometry,rr=Mi.material;else{var Ir=Math.ceil(lt(mi)*10)/10/2,to=y.linkDirectionalParticleResolution;ui&&ui.geometry.parameters.radius===Ir&&ui.geometry.parameters.widthSegments===to?Qi=ui.geometry:(Xt.hasOwnProperty(Ir)||(Xt[Ir]=new Ua.SphereGeometry(Ir,to,to)),Qi=Xt[Ir]);var Jo=ot(mi)||Oe(mi)||"#f0f0f0",Ot=new Ua.Color(N2(Jo)),Pr=y.linkOpacity*3;ui&&ui.material.color.equals(Ot)&&ui.material.opacity===Pr?rr=ui.material:(Mt.hasOwnProperty(Jo)||(Mt[Jo]=new Ua.MeshLambertMaterial({color:Ot,transparent:!0,opacity:Pr})),rr=Mt[Jo])}ui&&(ui.geometry!==Qi&&ui.geometry.dispose(),ui.material!==rr&&ui.material.dispose());var sr=Math.round(Math.abs(ht(mi)));dn.__photonDataMapper.id(function(Fr){return Fr.idx}).onCreateObj(function(){return new Ua.Mesh(Qi,rr)}).onUpdateObj(function(Fr){Fr.geometry=Qi,Fr.material=rr}).digest(ly(new Array(sr)).map(function(Fr,_i){return{idx:_i}}))}).digest(Ze.filter(ht))}}if(y._flushObjects=!1,z(["graphData","nodeId","linkSource","linkTarget","numDimensions","forceEngine","dagMode","dagNodeFilter","dagLevelDistance"])){y.engineRunning=!1,y.graphData.links.forEach(function(dn){dn.source=dn[y.linkSource],dn.target=dn[y.linkTarget]});var cn=y.forceEngine!=="ngraph",Cn;if(cn){(Cn=y.d3ForceLayout).stop().alpha(1).numDimensions(y.numDimensions).nodes(y.graphData.nodes);var En=y.d3ForceLayout.force("link");En&&En.id(function(dn){return dn[y.nodeId]}).links(y.graphData.links);var Zn=y.dagMode&&rH(y.graphData,function(dn){return dn[y.nodeId]},{nodeFilter:y.dagNodeFilter,onLoopError:y.onDagError||void 0}),ti=Math.max.apply(Math,ly(Object.values(Zn||[]))),bn=y.dagLevelDistance||y.graphData.nodes.length/(ti||1)*oH*(["radialin","radialout"].indexOf(y.dagMode)!==-1?.7:1);if(["lr","rl","td","bu","zin","zout"].includes(E.dagMode)){var rn=["lr","rl"].includes(E.dagMode)?"fx":["td","bu"].includes(E.dagMode)?"fy":"fz";y.graphData.nodes.filter(y.dagNodeFilter).forEach(function(dn){return delete dn[rn]})}if(["lr","rl","td","bu","zin","zout"].includes(y.dagMode)){var li=["rl","td","zout"].includes(y.dagMode),Dn=function(mi){return(Zn[mi[y.nodeId]]-ti/2)*bn*(li?-1:1)},Wn=["lr","rl"].includes(y.dagMode)?"fx":["td","bu"].includes(y.dagMode)?"fy":"fz";y.graphData.nodes.filter(y.dagNodeFilter).forEach(function(dn){return dn[Wn]=Dn(dn)})}y.d3ForceLayout.force("dagRadial",["radialin","radialout"].indexOf(y.dagMode)!==-1?eE(function(dn){var mi=Zn[dn[y.nodeId]]||-1;return(y.dagMode==="radialin"?ti-mi:mi)*bn}).strength(function(dn){return y.dagNodeFilter(dn)?1:0}):null)}else{var hi=MN.graph();y.graphData.nodes.forEach(function(dn){hi.addNode(dn[y.nodeId])}),y.graphData.links.forEach(function(dn){hi.addLink(dn.source,dn.target)}),Cn=MN.forcelayout(hi,$z({dimensions:y.numDimensions},y.ngraphPhysics)),Cn.graph=hi}for(var On=0;On0&&y.d3ForceLayout.alpha()1&&arguments[1]!==void 0?arguments[1]:Object,E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,z=function(ne){function ie(){var se;pN(this,ie);for(var le=arguments.length,de=new Array(le),ge=0;geMe.start-De.start);let Se=0;for(let Me=1;Me 0 +#endif`,EH=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -1249,26 +1249,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,EH=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,bH=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,MH=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,BH=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,BH=`#if defined( USE_COLOR_ALPHA ) +#endif`,TH=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,TH=`#if defined( USE_COLOR_ALPHA ) +#endif`,DH=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,DH=`#if defined( USE_COLOR_ALPHA ) +#endif`,FH=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) varying vec3 vColor; -#endif`,FH=`#if defined( USE_COLOR_ALPHA ) +#endif`,LH=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) vColor = vec3( 1.0 ); @@ -1282,7 +1282,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #ifdef USE_BATCHING_COLOR vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) ); vColor.xyz *= batchingColor.xyz; -#endif`,LH=`#define PI 3.141592653589793 +#endif`,NH=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -1356,7 +1356,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,NH=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,IH=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -1449,7 +1449,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,IH=`vec3 transformedNormal = objectNormal; +#endif`,RH=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -1478,21 +1478,21 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,RH=`#ifdef USE_DISPLACEMENTMAP +#endif`,OH=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,OH=`#ifdef USE_DISPLACEMENTMAP +#endif`,kH=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,kH=`#ifdef USE_EMISSIVEMAP +#endif`,zH=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE emissiveColor = sRGBTransferEOTF( emissiveColor ); #endif totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,zH=`#ifdef USE_EMISSIVEMAP +#endif`,HH=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,HH="gl_FragColor = linearToOutputTexel( gl_FragColor );",UH=`vec4 LinearTransferOETF( in vec4 value ) { +#endif`,UH="gl_FragColor = linearToOutputTexel( gl_FragColor );",VH=`vec4 LinearTransferOETF( in vec4 value ) { return value; } vec4 sRGBTransferEOTF( in vec4 value ) { @@ -1500,7 +1500,7 @@ vec4 sRGBTransferEOTF( in vec4 value ) { } vec4 sRGBTransferOETF( in vec4 value ) { return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); -}`,VH=`#ifdef USE_ENVMAP +}`,jH=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -1529,7 +1529,7 @@ vec4 sRGBTransferOETF( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,jH=`#ifdef USE_ENVMAP +#endif`,GH=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; uniform mat3 envMapRotation; @@ -1539,7 +1539,7 @@ vec4 sRGBTransferOETF( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,GH=`#ifdef USE_ENVMAP +#endif`,XH=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -1550,7 +1550,7 @@ vec4 sRGBTransferOETF( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,XH=`#ifdef USE_ENVMAP +#endif`,WH=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -1561,7 +1561,7 @@ vec4 sRGBTransferOETF( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,WH=`#ifdef USE_ENVMAP +#endif`,QH=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -1578,18 +1578,18 @@ vec4 sRGBTransferOETF( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,QH=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; #endif`,YH=`#ifdef USE_FOG - varying float vFogDepth; + vFogDepth = - mvPosition.z; #endif`,ZH=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,KH=`#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,KH=`#ifdef USE_FOG +#endif`,JH=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -1598,7 +1598,7 @@ vec4 sRGBTransferOETF( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,JH=`#ifdef USE_GRADIENTMAP +#endif`,qH=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -1610,12 +1610,12 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { vec2 fw = fwidth( coord ) * 0.5; return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); #endif -}`,qH=`#ifdef USE_LIGHTMAP +}`,_H=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,_H=`LambertMaterial material; +#endif`,$H=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,$H=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,eU=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -1629,7 +1629,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,eU=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,tU=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -1745,7 +1745,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,tU=`#ifdef USE_ENVMAP +#endif`,nU=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -1778,8 +1778,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,nU=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,iU=`varying vec3 vViewPosition; +#endif`,iU=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,rU=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -1791,11 +1791,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,rU=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,oU=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,oU=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,sU=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -1812,7 +1812,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,sU=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,aU=`PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); @@ -1898,7 +1898,7 @@ material.roughness = min( material.roughness, 1.0 ); material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,aU=`struct PhysicalMaterial { +#endif`,lU=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -2199,7 +2199,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,lU=` +}`,uU=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -2314,7 +2314,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,uU=`#if defined( RE_IndirectDiffuse ) +#endif`,cU=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -2333,32 +2333,32 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,cU=`#if defined( RE_IndirectDiffuse ) +#endif`,hU=`#if defined( RE_IndirectDiffuse ) RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,hU=`#if defined( USE_LOGDEPTHBUF ) - gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; #endif`,dU=`#if defined( USE_LOGDEPTHBUF ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,fU=`#if defined( USE_LOGDEPTHBUF ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,fU=`#ifdef USE_LOGDEPTHBUF +#endif`,gU=`#ifdef USE_LOGDEPTHBUF varying float vFragDepth; varying float vIsPerspective; -#endif`,gU=`#ifdef USE_LOGDEPTHBUF +#endif`,pU=`#ifdef USE_LOGDEPTHBUF vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); -#endif`,pU=`#ifdef USE_MAP +#endif`,mU=`#ifdef USE_MAP vec4 sampledDiffuseColor = texture2D( map, vMapUv ); #ifdef DECODE_VIDEO_TEXTURE sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); #endif diffuseColor *= sampledDiffuseColor; -#endif`,mU=`#ifdef USE_MAP +#endif`,vU=`#ifdef USE_MAP uniform sampler2D map; -#endif`,vU=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,yU=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -2370,7 +2370,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,yU=`#if defined( USE_POINTS_UV ) +#endif`,AU=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -2382,19 +2382,19 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,AU=`float metalnessFactor = metalness; +#endif`,xU=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,xU=`#ifdef USE_METALNESSMAP +#endif`,wU=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,wU=`#ifdef USE_INSTANCING_MORPH +#endif`,SU=`#ifdef USE_INSTANCING_MORPH float morphTargetInfluences[ MORPHTARGETS_COUNT ]; float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; } -#endif`,SU=`#if defined( USE_MORPHCOLORS ) +#endif`,PU=`#if defined( USE_MORPHCOLORS ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -2403,12 +2403,12 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,PU=`#ifdef USE_MORPHNORMALS +#endif`,CU=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; } -#endif`,CU=`#ifdef USE_MORPHTARGETS +#endif`,EU=`#ifdef USE_MORPHTARGETS #ifndef USE_INSTANCING_MORPH uniform float morphTargetBaseInfluence; uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -2422,12 +2422,12 @@ IncidentLight directLight; ivec3 morphUV = ivec3( x, y, morphTargetIndex ); return texelFetch( morphTargetsTexture, morphUV, 0 ); } -#endif`,EU=`#ifdef USE_MORPHTARGETS +#endif`,bU=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; } -#endif`,bU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,MU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -2468,7 +2468,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,MU=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,BU=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -2483,25 +2483,25 @@ vec3 nonPerturbedNormal = normal;`,MU=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,BU=`#ifndef FLAT_SHADED +#endif`,TU=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,TU=`#ifndef FLAT_SHADED +#endif`,DU=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,DU=`#ifndef FLAT_SHADED +#endif`,FU=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,FU=`#ifdef USE_NORMALMAP +#endif`,LU=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -2523,13 +2523,13 @@ vec3 nonPerturbedNormal = normal;`,MU=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,LU=`#ifdef USE_CLEARCOAT +#endif`,NU=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,NU=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,IU=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,IU=`#ifdef USE_CLEARCOATMAP +#endif`,RU=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -2538,18 +2538,18 @@ vec3 nonPerturbedNormal = normal;`,MU=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,RU=`#ifdef USE_IRIDESCENCEMAP +#endif`,OU=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,OU=`#ifdef OPAQUE +#endif`,kU=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,kU=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,zU=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -2618,9 +2618,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,zU=`#ifdef PREMULTIPLIED_ALPHA +}`,HU=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,HU=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,UU=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -2628,22 +2628,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,VU=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,VU=`#ifdef DITHERING +#endif`,jU=`#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } -#endif`,jU=`float roughnessFactor = roughness; +#endif`,GU=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,GU=`#ifdef USE_ROUGHNESSMAP +#endif`,XU=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,XU=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,WU=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -2829,7 +2829,7 @@ gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING } return mix( 1.0, shadow, shadowIntensity ); } -#endif`,WU=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,QU=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -2870,7 +2870,7 @@ gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,QU=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,YU=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); vec4 shadowWorldPosition; #endif @@ -2902,7 +2902,7 @@ gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,YU=`float getShadowMask() { +#endif`,ZU=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2934,12 +2934,12 @@ gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING #endif #endif return shadow; -}`,ZU=`#ifdef USE_SKINNING +}`,KU=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,KU=`#ifdef USE_SKINNING +#endif`,JU=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2954,7 +2954,7 @@ gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,JU=`#ifdef USE_SKINNING +#endif`,qU=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2962,7 +2962,7 @@ gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,qU=`#ifdef USE_SKINNING +#endif`,_U=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2973,17 +2973,17 @@ gl_Position = projectionMatrix * mvPosition;`,UU=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,_U=`float specularStrength; +#endif`,$U=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,$U=`#ifdef USE_SPECULARMAP +#endif`,eV=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,eV=`#if defined( TONE_MAPPING ) +#endif`,tV=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,tV=`#ifndef saturate +#endif`,nV=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -3080,7 +3080,7 @@ vec3 NeutralToneMapping( vec3 color ) { float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); return mix( color, vec3( newPeak ), g ); } -vec3 CustomToneMapping( vec3 color ) { return color; }`,nV=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,iV=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -3101,7 +3101,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,nV=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,iV=`#ifdef USE_TRANSMISSION +#endif`,rV=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -3227,7 +3227,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,nV=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,rV=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,oV=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -3297,7 +3297,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,nV=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,oV=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,sV=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -3391,7 +3391,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,nV=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,sV=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,aV=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -3462,7 +3462,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,nV=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,aV=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,lV=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING worldPosition = batchingMatrix * worldPosition; @@ -3471,7 +3471,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,nV=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const Tl={alphahash_fragment:uH,alphahash_pars_fragment:cH,alphamap_fragment:hH,alphamap_pars_fragment:dH,alphatest_fragment:fH,alphatest_pars_fragment:gH,aomap_fragment:pH,aomap_pars_fragment:mH,batching_pars_vertex:vH,batching_vertex:yH,begin_vertex:AH,beginnormal_vertex:xH,bsdfs:wH,iridescence_fragment:SH,bumpmap_pars_fragment:PH,clipping_planes_fragment:CH,clipping_planes_pars_fragment:EH,clipping_planes_pars_vertex:bH,clipping_planes_vertex:MH,color_fragment:BH,color_pars_fragment:TH,color_pars_vertex:DH,color_vertex:FH,common:LH,cube_uv_reflection_fragment:NH,defaultnormal_vertex:IH,displacementmap_pars_vertex:RH,displacementmap_vertex:OH,emissivemap_fragment:kH,emissivemap_pars_fragment:zH,colorspace_fragment:HH,colorspace_pars_fragment:UH,envmap_fragment:VH,envmap_common_pars_fragment:jH,envmap_pars_fragment:GH,envmap_pars_vertex:XH,envmap_physical_pars_fragment:tU,envmap_vertex:WH,fog_vertex:QH,fog_pars_vertex:YH,fog_fragment:ZH,fog_pars_fragment:KH,gradientmap_pars_fragment:JH,lightmap_pars_fragment:qH,lights_lambert_fragment:_H,lights_lambert_pars_fragment:$H,lights_pars_begin:eU,lights_toon_fragment:nU,lights_toon_pars_fragment:iU,lights_phong_fragment:rU,lights_phong_pars_fragment:oU,lights_physical_fragment:sU,lights_physical_pars_fragment:aU,lights_fragment_begin:lU,lights_fragment_maps:uU,lights_fragment_end:cU,logdepthbuf_fragment:hU,logdepthbuf_pars_fragment:dU,logdepthbuf_pars_vertex:fU,logdepthbuf_vertex:gU,map_fragment:pU,map_pars_fragment:mU,map_particle_fragment:vU,map_particle_pars_fragment:yU,metalnessmap_fragment:AU,metalnessmap_pars_fragment:xU,morphinstance_vertex:wU,morphcolor_vertex:SU,morphnormal_vertex:PU,morphtarget_pars_vertex:CU,morphtarget_vertex:EU,normal_fragment_begin:bU,normal_fragment_maps:MU,normal_pars_fragment:BU,normal_pars_vertex:TU,normal_vertex:DU,normalmap_pars_fragment:FU,clearcoat_normal_fragment_begin:LU,clearcoat_normal_fragment_maps:NU,clearcoat_pars_fragment:IU,iridescence_pars_fragment:RU,opaque_fragment:OU,packing:kU,premultiplied_alpha_fragment:zU,project_vertex:HU,dithering_fragment:UU,dithering_pars_fragment:VU,roughnessmap_fragment:jU,roughnessmap_pars_fragment:GU,shadowmap_pars_fragment:XU,shadowmap_pars_vertex:WU,shadowmap_vertex:QU,shadowmask_pars_fragment:YU,skinbase_vertex:ZU,skinning_pars_vertex:KU,skinning_vertex:JU,skinnormal_vertex:qU,specularmap_fragment:_U,specularmap_pars_fragment:$U,tonemapping_fragment:eV,tonemapping_pars_fragment:tV,transmission_fragment:nV,transmission_pars_fragment:iV,uv_pars_fragment:rV,uv_pars_vertex:oV,uv_vertex:sV,worldpos_vertex:aV,background_vert:`varying vec2 vUv; +#endif`;const Tl={alphahash_fragment:cH,alphahash_pars_fragment:hH,alphamap_fragment:dH,alphamap_pars_fragment:fH,alphatest_fragment:gH,alphatest_pars_fragment:pH,aomap_fragment:mH,aomap_pars_fragment:vH,batching_pars_vertex:yH,batching_vertex:AH,begin_vertex:xH,beginnormal_vertex:wH,bsdfs:SH,iridescence_fragment:PH,bumpmap_pars_fragment:CH,clipping_planes_fragment:EH,clipping_planes_pars_fragment:bH,clipping_planes_pars_vertex:MH,clipping_planes_vertex:BH,color_fragment:TH,color_pars_fragment:DH,color_pars_vertex:FH,color_vertex:LH,common:NH,cube_uv_reflection_fragment:IH,defaultnormal_vertex:RH,displacementmap_pars_vertex:OH,displacementmap_vertex:kH,emissivemap_fragment:zH,emissivemap_pars_fragment:HH,colorspace_fragment:UH,colorspace_pars_fragment:VH,envmap_fragment:jH,envmap_common_pars_fragment:GH,envmap_pars_fragment:XH,envmap_pars_vertex:WH,envmap_physical_pars_fragment:nU,envmap_vertex:QH,fog_vertex:YH,fog_pars_vertex:ZH,fog_fragment:KH,fog_pars_fragment:JH,gradientmap_pars_fragment:qH,lightmap_pars_fragment:_H,lights_lambert_fragment:$H,lights_lambert_pars_fragment:eU,lights_pars_begin:tU,lights_toon_fragment:iU,lights_toon_pars_fragment:rU,lights_phong_fragment:oU,lights_phong_pars_fragment:sU,lights_physical_fragment:aU,lights_physical_pars_fragment:lU,lights_fragment_begin:uU,lights_fragment_maps:cU,lights_fragment_end:hU,logdepthbuf_fragment:dU,logdepthbuf_pars_fragment:fU,logdepthbuf_pars_vertex:gU,logdepthbuf_vertex:pU,map_fragment:mU,map_pars_fragment:vU,map_particle_fragment:yU,map_particle_pars_fragment:AU,metalnessmap_fragment:xU,metalnessmap_pars_fragment:wU,morphinstance_vertex:SU,morphcolor_vertex:PU,morphnormal_vertex:CU,morphtarget_pars_vertex:EU,morphtarget_vertex:bU,normal_fragment_begin:MU,normal_fragment_maps:BU,normal_pars_fragment:TU,normal_pars_vertex:DU,normal_vertex:FU,normalmap_pars_fragment:LU,clearcoat_normal_fragment_begin:NU,clearcoat_normal_fragment_maps:IU,clearcoat_pars_fragment:RU,iridescence_pars_fragment:OU,opaque_fragment:kU,packing:zU,premultiplied_alpha_fragment:HU,project_vertex:UU,dithering_fragment:VU,dithering_pars_fragment:jU,roughnessmap_fragment:GU,roughnessmap_pars_fragment:XU,shadowmap_pars_fragment:WU,shadowmap_pars_vertex:QU,shadowmap_vertex:YU,shadowmask_pars_fragment:ZU,skinbase_vertex:KU,skinning_pars_vertex:JU,skinning_vertex:qU,skinnormal_vertex:_U,specularmap_fragment:$U,specularmap_pars_fragment:eV,tonemapping_fragment:tV,tonemapping_pars_fragment:nV,transmission_fragment:iV,transmission_pars_fragment:rV,uv_pars_fragment:oV,uv_pars_vertex:sV,uv_vertex:aV,worldpos_vertex:lV,background_vert:`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; @@ -4523,7 +4523,7 @@ void main() { #include #include #include -}`},$o={common:{diffuse:{value:new fo(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Oa},alphaMap:{value:null},alphaMapTransform:{value:new Oa},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Oa}},envmap:{envMap:{value:null},envMapRotation:{value:new Oa},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Oa}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Oa}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Oa},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Oa},normalScale:{value:new ki(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Oa},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Oa}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Oa}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Oa}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new fo(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new fo(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Oa},alphaTest:{value:0},uvTransform:{value:new Oa}},sprite:{diffuse:{value:new fo(16777215)},opacity:{value:1},center:{value:new ki(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Oa},alphaMap:{value:null},alphaMapTransform:{value:new Oa},alphaTest:{value:0}}},pA={basic:{uniforms:sf([$o.common,$o.specularmap,$o.envmap,$o.aomap,$o.lightmap,$o.fog]),vertexShader:Tl.meshbasic_vert,fragmentShader:Tl.meshbasic_frag},lambert:{uniforms:sf([$o.common,$o.specularmap,$o.envmap,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.fog,$o.lights,{emissive:{value:new fo(0)}}]),vertexShader:Tl.meshlambert_vert,fragmentShader:Tl.meshlambert_frag},phong:{uniforms:sf([$o.common,$o.specularmap,$o.envmap,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.fog,$o.lights,{emissive:{value:new fo(0)},specular:{value:new fo(1118481)},shininess:{value:30}}]),vertexShader:Tl.meshphong_vert,fragmentShader:Tl.meshphong_frag},standard:{uniforms:sf([$o.common,$o.envmap,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.roughnessmap,$o.metalnessmap,$o.fog,$o.lights,{emissive:{value:new fo(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Tl.meshphysical_vert,fragmentShader:Tl.meshphysical_frag},toon:{uniforms:sf([$o.common,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.gradientmap,$o.fog,$o.lights,{emissive:{value:new fo(0)}}]),vertexShader:Tl.meshtoon_vert,fragmentShader:Tl.meshtoon_frag},matcap:{uniforms:sf([$o.common,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.fog,{matcap:{value:null}}]),vertexShader:Tl.meshmatcap_vert,fragmentShader:Tl.meshmatcap_frag},points:{uniforms:sf([$o.points,$o.fog]),vertexShader:Tl.points_vert,fragmentShader:Tl.points_frag},dashed:{uniforms:sf([$o.common,$o.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Tl.linedashed_vert,fragmentShader:Tl.linedashed_frag},depth:{uniforms:sf([$o.common,$o.displacementmap]),vertexShader:Tl.depth_vert,fragmentShader:Tl.depth_frag},normal:{uniforms:sf([$o.common,$o.bumpmap,$o.normalmap,$o.displacementmap,{opacity:{value:1}}]),vertexShader:Tl.meshnormal_vert,fragmentShader:Tl.meshnormal_frag},sprite:{uniforms:sf([$o.sprite,$o.fog]),vertexShader:Tl.sprite_vert,fragmentShader:Tl.sprite_frag},background:{uniforms:{uvTransform:{value:new Oa},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Tl.background_vert,fragmentShader:Tl.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Oa}},vertexShader:Tl.backgroundCube_vert,fragmentShader:Tl.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Tl.cube_vert,fragmentShader:Tl.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Tl.equirect_vert,fragmentShader:Tl.equirect_frag},distanceRGBA:{uniforms:sf([$o.common,$o.displacementmap,{referencePosition:{value:new Vt},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Tl.distanceRGBA_vert,fragmentShader:Tl.distanceRGBA_frag},shadow:{uniforms:sf([$o.lights,$o.fog,{color:{value:new fo(0)},opacity:{value:1}}]),vertexShader:Tl.shadow_vert,fragmentShader:Tl.shadow_frag}};pA.physical={uniforms:sf([pA.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Oa},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Oa},clearcoatNormalScale:{value:new ki(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Oa},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Oa},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Oa},sheen:{value:0},sheenColor:{value:new fo(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Oa},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Oa},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Oa},transmissionSamplerSize:{value:new ki},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Oa},attenuationDistance:{value:0},attenuationColor:{value:new fo(0)},specularColor:{value:new fo(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Oa},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Oa},anisotropyVector:{value:new ki},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Oa}}]),vertexShader:Tl.meshphysical_vert,fragmentShader:Tl.meshphysical_frag};const T5={r:0,b:0,g:0},ZS=new Pu,lV=new rs;function uV(ee,y,E,z,ne,ie,se){const le=new fo(0);let de=ie===!0?0:1,ge,ve,xe=null,Se=0,Me=null;function De(Xe){let Ze=Xe.isScene===!0?Xe.background:null;return Ze&&Ze.isTexture&&(Ze=(Xe.backgroundBlurriness>0?E:y).get(Ze)),Ze}function Oe(Xe){let Ze=!1;const it=De(Xe);it===null?Le(le,de):it&&it.isColor&&(Le(it,1),Ze=!0);const et=ee.xr.getEnvironmentBlendMode();et==="additive"?z.buffers.color.setClear(0,0,0,1,se):et==="alpha-blend"&&z.buffers.color.setClear(0,0,0,0,se),(ee.autoClear||Ze)&&(z.buffers.depth.setTest(!0),z.buffers.depth.setMask(!0),z.buffers.color.setMask(!0),ee.clear(ee.autoClearColor,ee.autoClearDepth,ee.autoClearStencil))}function Re(Xe,Ze){const it=De(Ze);it&&(it.isCubeTexture||it.mapping===wp)?(ve===void 0&&(ve=new lu(new Ov(1,1,1),new np({name:"BackgroundCubeMaterial",uniforms:hx(pA.backgroundCube.uniforms),vertexShader:pA.backgroundCube.vertexShader,fragmentShader:pA.backgroundCube.fragmentShader,side:au,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),ve.geometry.deleteAttribute("normal"),ve.geometry.deleteAttribute("uv"),ve.onBeforeRender=function(et,ht,lt){this.matrixWorld.copyPosition(lt.matrixWorld)},Object.defineProperty(ve.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),ne.update(ve)),ZS.copy(Ze.backgroundRotation),ZS.x*=-1,ZS.y*=-1,ZS.z*=-1,it.isCubeTexture&&it.isRenderTargetTexture===!1&&(ZS.y*=-1,ZS.z*=-1),ve.material.uniforms.envMap.value=it,ve.material.uniforms.flipEnvMap.value=it.isCubeTexture&&it.isRenderTargetTexture===!1?-1:1,ve.material.uniforms.backgroundBlurriness.value=Ze.backgroundBlurriness,ve.material.uniforms.backgroundIntensity.value=Ze.backgroundIntensity,ve.material.uniforms.backgroundRotation.value.setFromMatrix4(lV.makeRotationFromEuler(ZS)),ve.material.toneMapped=ys.getTransfer(it.colorSpace)!==kn,(xe!==it||Se!==it.version||Me!==ee.toneMapping)&&(ve.material.needsUpdate=!0,xe=it,Se=it.version,Me=ee.toneMapping),ve.layers.enableAll(),Xe.unshift(ve,ve.geometry,ve.material,0,0,null)):it&&it.isTexture&&(ge===void 0&&(ge=new lu(new Qv(2,2),new np({name:"BackgroundMaterial",uniforms:hx(pA.background.uniforms),vertexShader:pA.background.vertexShader,fragmentShader:pA.background.fragmentShader,side:$c,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),ge.geometry.deleteAttribute("normal"),Object.defineProperty(ge.material,"map",{get:function(){return this.uniforms.t2D.value}}),ne.update(ge)),ge.material.uniforms.t2D.value=it,ge.material.uniforms.backgroundIntensity.value=Ze.backgroundIntensity,ge.material.toneMapped=ys.getTransfer(it.colorSpace)!==kn,it.matrixAutoUpdate===!0&&it.updateMatrix(),ge.material.uniforms.uvTransform.value.copy(it.matrix),(xe!==it||Se!==it.version||Me!==ee.toneMapping)&&(ge.material.needsUpdate=!0,xe=it,Se=it.version,Me=ee.toneMapping),ge.layers.enableAll(),Xe.unshift(ge,ge.geometry,ge.material,0,0,null))}function Le(Xe,Ze){Xe.getRGB(T5,iC(ee)),z.buffers.color.setClear(T5.r,T5.g,T5.b,Ze,se)}function Qe(){ve!==void 0&&(ve.geometry.dispose(),ve.material.dispose(),ve=void 0),ge!==void 0&&(ge.geometry.dispose(),ge.material.dispose(),ge=void 0)}return{getClearColor:function(){return le},setClearColor:function(Xe,Ze=1){le.set(Xe),de=Ze,Le(le,de)},getClearAlpha:function(){return de},setClearAlpha:function(Xe){de=Xe,Le(le,de)},render:Oe,addToRenderList:Re,dispose:Qe}}function cV(ee,y){const E=ee.getParameter(ee.MAX_VERTEX_ATTRIBS),z={},ne=Se(null);let ie=ne,se=!1;function le(rt,Mt,Xt,cn,Cn){let En=!1;const Zn=xe(cn,Xt,Mt);ie!==Zn&&(ie=Zn,ge(ie.object)),En=Me(rt,cn,Xt,Cn),En&&De(rt,cn,Xt,Cn),Cn!==null&&y.update(Cn,ee.ELEMENT_ARRAY_BUFFER),(En||se)&&(se=!1,Ze(rt,Mt,Xt,cn),Cn!==null&&ee.bindBuffer(ee.ELEMENT_ARRAY_BUFFER,y.get(Cn).buffer))}function de(){return ee.createVertexArray()}function ge(rt){return ee.bindVertexArray(rt)}function ve(rt){return ee.deleteVertexArray(rt)}function xe(rt,Mt,Xt){const cn=Xt.wireframe===!0;let Cn=z[rt.id];Cn===void 0&&(Cn={},z[rt.id]=Cn);let En=Cn[Mt.id];En===void 0&&(En={},Cn[Mt.id]=En);let Zn=En[cn];return Zn===void 0&&(Zn=Se(de()),En[cn]=Zn),Zn}function Se(rt){const Mt=[],Xt=[],cn=[];for(let Cn=0;Cn=0){const li=Cn[bn];let Dn=En[bn];if(Dn===void 0&&(bn==="instanceMatrix"&&rt.instanceMatrix&&(Dn=rt.instanceMatrix),bn==="instanceColor"&&rt.instanceColor&&(Dn=rt.instanceColor)),li===void 0||li.attribute!==Dn||Dn&&li.data!==Dn.data)return!0;Zn++}return ie.attributesNum!==Zn||ie.index!==cn}function De(rt,Mt,Xt,cn){const Cn={},En=Mt.attributes;let Zn=0;const ti=Xt.getAttributes();for(const bn in ti)if(ti[bn].location>=0){let li=En[bn];li===void 0&&(bn==="instanceMatrix"&&rt.instanceMatrix&&(li=rt.instanceMatrix),bn==="instanceColor"&&rt.instanceColor&&(li=rt.instanceColor));const Dn={};Dn.attribute=li,li&&li.data&&(Dn.data=li.data),Cn[bn]=Dn,Zn++}ie.attributes=Cn,ie.attributesNum=Zn,ie.index=cn}function Oe(){const rt=ie.newAttributes;for(let Mt=0,Xt=rt.length;Mt=0){let rn=Cn[ti];if(rn===void 0&&(ti==="instanceMatrix"&&rt.instanceMatrix&&(rn=rt.instanceMatrix),ti==="instanceColor"&&rt.instanceColor&&(rn=rt.instanceColor)),rn!==void 0){const li=rn.normalized,Dn=rn.itemSize,Wn=y.get(rn);if(Wn===void 0)continue;const hi=Wn.buffer,On=Wn.type,dn=Wn.bytesPerElement,mi=On===ee.INT||On===ee.UNSIGNED_INT||rn.gpuType===tc;if(rn.isInterleavedBufferAttribute){const ui=rn.data,Mi=ui.stride,Qi=rn.offset;if(ui.isInstancedInterleavedBuffer){for(let rr=0;rr0&&ee.getShaderPrecisionFormat(ee.FRAGMENT_SHADER,ee.HIGH_FLOAT).precision>0)return"highp";ht="mediump"}return ht==="mediump"&&ee.getShaderPrecisionFormat(ee.VERTEX_SHADER,ee.MEDIUM_FLOAT).precision>0&&ee.getShaderPrecisionFormat(ee.FRAGMENT_SHADER,ee.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let ge=E.precision!==void 0?E.precision:"highp";const ve=de(ge);ve!==ge&&(console.warn("THREE.WebGLRenderer:",ge,"not supported, using",ve,"instead."),ge=ve);const xe=E.logarithmicDepthBuffer===!0,Se=E.reverseDepthBuffer===!0&&y.has("EXT_clip_control"),Me=ee.getParameter(ee.MAX_TEXTURE_IMAGE_UNITS),De=ee.getParameter(ee.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Oe=ee.getParameter(ee.MAX_TEXTURE_SIZE),Re=ee.getParameter(ee.MAX_CUBE_MAP_TEXTURE_SIZE),Le=ee.getParameter(ee.MAX_VERTEX_ATTRIBS),Qe=ee.getParameter(ee.MAX_VERTEX_UNIFORM_VECTORS),Xe=ee.getParameter(ee.MAX_VARYING_VECTORS),Ze=ee.getParameter(ee.MAX_FRAGMENT_UNIFORM_VECTORS),it=De>0,et=ee.getParameter(ee.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:ie,getMaxPrecision:de,textureFormatReadable:se,textureTypeReadable:le,precision:ge,logarithmicDepthBuffer:xe,reverseDepthBuffer:Se,maxTextures:Me,maxVertexTextures:De,maxTextureSize:Oe,maxCubemapSize:Re,maxAttributes:Le,maxVertexUniforms:Qe,maxVaryings:Xe,maxFragmentUniforms:Ze,vertexTextures:it,maxSamples:et}}function fV(ee){const y=this;let E=null,z=0,ne=!1,ie=!1;const se=new $f,le=new Oa,de={value:null,needsUpdate:!1};this.uniform=de,this.numPlanes=0,this.numIntersection=0,this.init=function(xe,Se){const Me=xe.length!==0||Se||z!==0||ne;return ne=Se,z=xe.length,Me},this.beginShadows=function(){ie=!0,ve(null)},this.endShadows=function(){ie=!1},this.setGlobalState=function(xe,Se){E=ve(xe,Se,0)},this.setState=function(xe,Se,Me){const De=xe.clippingPlanes,Oe=xe.clipIntersection,Re=xe.clipShadows,Le=ee.get(xe);if(!ne||De===null||De.length===0||ie&&!Re)ie?ve(null):ge();else{const Qe=ie?0:z,Xe=Qe*4;let Ze=Le.clippingState||null;de.value=Ze,Ze=ve(De,Se,Xe,Me);for(let it=0;it!==Xe;++it)Ze[it]=E[it];Le.clippingState=Ze,this.numIntersection=Oe?this.numPlanes:0,this.numPlanes+=Qe}};function ge(){de.value!==E&&(de.value=E,de.needsUpdate=z>0),y.numPlanes=z,y.numIntersection=0}function ve(xe,Se,Me,De){const Oe=xe!==null?xe.length:0;let Re=null;if(Oe!==0){if(Re=de.value,De!==!0||Re===null){const Le=Me+Oe*4,Qe=Se.matrixWorldInverse;le.getNormalMatrix(Qe),(Re===null||Re.length0){const ge=new Rb(de.height);return ge.fromEquirectangularTexture(ee,se),y.set(se,ge),se.addEventListener("dispose",ne),E(ge.texture,se.mapping)}else return null}}return se}function ne(se){const le=se.target;le.removeEventListener("dispose",ne);const de=y.get(le);de!==void 0&&(y.delete(le),de.dispose())}function ie(){y=new WeakMap}return{get:z,dispose:ie}}const dE=4,TN=[.125,.215,.35,.446,.526,.582],KS=20,s3=new Kv,DN=new fo;let a3=null,l3=0,u3=0,c3=!1;const JS=(1+Math.sqrt(5))/2,fE=1/JS,FN=[new Vt(-JS,fE,0),new Vt(JS,fE,0),new Vt(-fE,0,JS),new Vt(fE,0,JS),new Vt(0,JS,-fE),new Vt(0,JS,fE),new Vt(-1,1,-1),new Vt(1,1,-1),new Vt(-1,1,1),new Vt(1,1,1)],pV=new Vt;class LN{constructor(y){this._renderer=y,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(y,E=0,z=.1,ne=100,ie={}){const{size:se=256,position:le=pV}=ie;a3=this._renderer.getRenderTarget(),l3=this._renderer.getActiveCubeFace(),u3=this._renderer.getActiveMipmapLevel(),c3=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(se);const de=this._allocateTargets();return de.depthBuffer=!0,this._sceneToCubeUV(y,z,ne,de,le),E>0&&this._blur(de,0,0,E),this._applyPMREM(de),this._cleanup(de),de}fromEquirectangular(y,E=null){return this._fromTexture(y,E)}fromCubemap(y,E=null){return this._fromTexture(y,E)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=RN(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=IN(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(y){this._lodMax=Math.floor(Math.log2(y)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let y=0;y2?Ze:0,Ze,Ze),xe.setRenderTarget(ne),Re&&xe.render(Oe,de),xe.render(y,de)}Oe.geometry.dispose(),Oe.material.dispose(),xe.toneMapping=Me,xe.autoClear=Se,y.background=Le}_textureToCubeUV(y,E){const z=this._renderer,ne=y.mapping===Jd||y.mapping===qd;ne?(this._cubemapMaterial===null&&(this._cubemapMaterial=RN()),this._cubemapMaterial.uniforms.flipEnvMap.value=y.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=IN());const ie=ne?this._cubemapMaterial:this._equirectMaterial,se=new lu(this._lodPlanes[0],ie),le=ie.uniforms;le.envMap.value=y;const de=this._cubeSize;D5(E,0,0,3*de,2*de),z.setRenderTarget(E),z.render(se,s3)}_applyPMREM(y){const E=this._renderer,z=E.autoClear;E.autoClear=!1;const ne=this._lodPlanes.length;for(let ie=1;ieKS&&console.warn(`sigmaRadians, ${ie}, is too large and will clip, as it requested ${Re} samples when the maximum is set to ${KS}`);const Le=[];let Qe=0;for(let ht=0;htXe-dE?ne-Xe+dE:0),et=4*(this._cubeSize-Ze);D5(E,it,et,3*Ze,2*Ze),de.setRenderTarget(E),de.render(xe,s3)}}function mV(ee){const y=[],E=[],z=[];let ne=ee;const ie=ee-dE+1+TN.length;for(let se=0;seee-dE?de=TN[se-ee+dE-1]:se===0&&(de=0),z.push(de);const ge=1/(le-2),ve=-ge,xe=1+ge,Se=[ve,ve,xe,ve,xe,xe,ve,ve,xe,xe,ve,xe],Me=6,De=6,Oe=3,Re=2,Le=1,Qe=new Float32Array(Oe*De*Me),Xe=new Float32Array(Re*De*Me),Ze=new Float32Array(Le*De*Me);for(let et=0;et2?0:-1,ot=[ht,lt,0,ht+2/3,lt,0,ht+2/3,lt+1,0,ht,lt,0,ht+2/3,lt+1,0,ht,lt+1,0];Qe.set(ot,Oe*De*et),Xe.set(Se,Re*De*et);const rt=[et,et,et,et,et,et];Ze.set(rt,Le*De*et)}const it=new Ha;it.setAttribute("position",new wl(Qe,Oe)),it.setAttribute("uv",new wl(Xe,Re)),it.setAttribute("faceIndex",new wl(Ze,Le)),y.push(it),ne>dE&&ne--}return{lodPlanes:y,sizeLods:E,sigmas:z}}function NN(ee,y,E){const z=new mm(ee,y,E);return z.texture.mapping=wp,z.texture.name="PMREM.cubeUv",z.scissorTest=!0,z}function D5(ee,y,E,z,ne){ee.viewport.set(y,E,z,ne),ee.scissor.set(y,E,z,ne)}function vV(ee,y,E){const z=new Float32Array(KS),ne=new Vt(0,1,0);return new np({name:"SphericalGaussianBlur",defines:{n:KS,CUBEUV_TEXEL_WIDTH:1/y,CUBEUV_TEXEL_HEIGHT:1/E,CUBEUV_MAX_MIP:`${ee}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:z},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:ne}},vertexShader:h3(),fragmentShader:` +}`},$o={common:{diffuse:{value:new fo(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Oa},alphaMap:{value:null},alphaMapTransform:{value:new Oa},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Oa}},envmap:{envMap:{value:null},envMapRotation:{value:new Oa},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Oa}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Oa}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Oa},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Oa},normalScale:{value:new ki(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Oa},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Oa}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Oa}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Oa}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new fo(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new fo(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Oa},alphaTest:{value:0},uvTransform:{value:new Oa}},sprite:{diffuse:{value:new fo(16777215)},opacity:{value:1},center:{value:new ki(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Oa},alphaMap:{value:null},alphaMapTransform:{value:new Oa},alphaTest:{value:0}}},pA={basic:{uniforms:sf([$o.common,$o.specularmap,$o.envmap,$o.aomap,$o.lightmap,$o.fog]),vertexShader:Tl.meshbasic_vert,fragmentShader:Tl.meshbasic_frag},lambert:{uniforms:sf([$o.common,$o.specularmap,$o.envmap,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.fog,$o.lights,{emissive:{value:new fo(0)}}]),vertexShader:Tl.meshlambert_vert,fragmentShader:Tl.meshlambert_frag},phong:{uniforms:sf([$o.common,$o.specularmap,$o.envmap,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.fog,$o.lights,{emissive:{value:new fo(0)},specular:{value:new fo(1118481)},shininess:{value:30}}]),vertexShader:Tl.meshphong_vert,fragmentShader:Tl.meshphong_frag},standard:{uniforms:sf([$o.common,$o.envmap,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.roughnessmap,$o.metalnessmap,$o.fog,$o.lights,{emissive:{value:new fo(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Tl.meshphysical_vert,fragmentShader:Tl.meshphysical_frag},toon:{uniforms:sf([$o.common,$o.aomap,$o.lightmap,$o.emissivemap,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.gradientmap,$o.fog,$o.lights,{emissive:{value:new fo(0)}}]),vertexShader:Tl.meshtoon_vert,fragmentShader:Tl.meshtoon_frag},matcap:{uniforms:sf([$o.common,$o.bumpmap,$o.normalmap,$o.displacementmap,$o.fog,{matcap:{value:null}}]),vertexShader:Tl.meshmatcap_vert,fragmentShader:Tl.meshmatcap_frag},points:{uniforms:sf([$o.points,$o.fog]),vertexShader:Tl.points_vert,fragmentShader:Tl.points_frag},dashed:{uniforms:sf([$o.common,$o.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Tl.linedashed_vert,fragmentShader:Tl.linedashed_frag},depth:{uniforms:sf([$o.common,$o.displacementmap]),vertexShader:Tl.depth_vert,fragmentShader:Tl.depth_frag},normal:{uniforms:sf([$o.common,$o.bumpmap,$o.normalmap,$o.displacementmap,{opacity:{value:1}}]),vertexShader:Tl.meshnormal_vert,fragmentShader:Tl.meshnormal_frag},sprite:{uniforms:sf([$o.sprite,$o.fog]),vertexShader:Tl.sprite_vert,fragmentShader:Tl.sprite_frag},background:{uniforms:{uvTransform:{value:new Oa},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Tl.background_vert,fragmentShader:Tl.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Oa}},vertexShader:Tl.backgroundCube_vert,fragmentShader:Tl.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Tl.cube_vert,fragmentShader:Tl.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Tl.equirect_vert,fragmentShader:Tl.equirect_frag},distanceRGBA:{uniforms:sf([$o.common,$o.displacementmap,{referencePosition:{value:new Vt},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Tl.distanceRGBA_vert,fragmentShader:Tl.distanceRGBA_frag},shadow:{uniforms:sf([$o.lights,$o.fog,{color:{value:new fo(0)},opacity:{value:1}}]),vertexShader:Tl.shadow_vert,fragmentShader:Tl.shadow_frag}};pA.physical={uniforms:sf([pA.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Oa},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Oa},clearcoatNormalScale:{value:new ki(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Oa},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Oa},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Oa},sheen:{value:0},sheenColor:{value:new fo(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Oa},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Oa},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Oa},transmissionSamplerSize:{value:new ki},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Oa},attenuationDistance:{value:0},attenuationColor:{value:new fo(0)},specularColor:{value:new fo(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Oa},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Oa},anisotropyVector:{value:new ki},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Oa}}]),vertexShader:Tl.meshphysical_vert,fragmentShader:Tl.meshphysical_frag};const T5={r:0,b:0,g:0},ZS=new Pu,uV=new rs;function cV(ee,y,E,z,ne,ie,se){const le=new fo(0);let de=ie===!0?0:1,ge,ve,xe=null,Se=0,Me=null;function De(Xe){let Ze=Xe.isScene===!0?Xe.background:null;return Ze&&Ze.isTexture&&(Ze=(Xe.backgroundBlurriness>0?E:y).get(Ze)),Ze}function Oe(Xe){let Ze=!1;const it=De(Xe);it===null?Le(le,de):it&&it.isColor&&(Le(it,1),Ze=!0);const et=ee.xr.getEnvironmentBlendMode();et==="additive"?z.buffers.color.setClear(0,0,0,1,se):et==="alpha-blend"&&z.buffers.color.setClear(0,0,0,0,se),(ee.autoClear||Ze)&&(z.buffers.depth.setTest(!0),z.buffers.depth.setMask(!0),z.buffers.color.setMask(!0),ee.clear(ee.autoClearColor,ee.autoClearDepth,ee.autoClearStencil))}function Re(Xe,Ze){const it=De(Ze);it&&(it.isCubeTexture||it.mapping===wp)?(ve===void 0&&(ve=new lu(new Ov(1,1,1),new np({name:"BackgroundCubeMaterial",uniforms:hx(pA.backgroundCube.uniforms),vertexShader:pA.backgroundCube.vertexShader,fragmentShader:pA.backgroundCube.fragmentShader,side:au,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),ve.geometry.deleteAttribute("normal"),ve.geometry.deleteAttribute("uv"),ve.onBeforeRender=function(et,ht,lt){this.matrixWorld.copyPosition(lt.matrixWorld)},Object.defineProperty(ve.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),ne.update(ve)),ZS.copy(Ze.backgroundRotation),ZS.x*=-1,ZS.y*=-1,ZS.z*=-1,it.isCubeTexture&&it.isRenderTargetTexture===!1&&(ZS.y*=-1,ZS.z*=-1),ve.material.uniforms.envMap.value=it,ve.material.uniforms.flipEnvMap.value=it.isCubeTexture&&it.isRenderTargetTexture===!1?-1:1,ve.material.uniforms.backgroundBlurriness.value=Ze.backgroundBlurriness,ve.material.uniforms.backgroundIntensity.value=Ze.backgroundIntensity,ve.material.uniforms.backgroundRotation.value.setFromMatrix4(uV.makeRotationFromEuler(ZS)),ve.material.toneMapped=ys.getTransfer(it.colorSpace)!==kn,(xe!==it||Se!==it.version||Me!==ee.toneMapping)&&(ve.material.needsUpdate=!0,xe=it,Se=it.version,Me=ee.toneMapping),ve.layers.enableAll(),Xe.unshift(ve,ve.geometry,ve.material,0,0,null)):it&&it.isTexture&&(ge===void 0&&(ge=new lu(new Qv(2,2),new np({name:"BackgroundMaterial",uniforms:hx(pA.background.uniforms),vertexShader:pA.background.vertexShader,fragmentShader:pA.background.fragmentShader,side:$c,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),ge.geometry.deleteAttribute("normal"),Object.defineProperty(ge.material,"map",{get:function(){return this.uniforms.t2D.value}}),ne.update(ge)),ge.material.uniforms.t2D.value=it,ge.material.uniforms.backgroundIntensity.value=Ze.backgroundIntensity,ge.material.toneMapped=ys.getTransfer(it.colorSpace)!==kn,it.matrixAutoUpdate===!0&&it.updateMatrix(),ge.material.uniforms.uvTransform.value.copy(it.matrix),(xe!==it||Se!==it.version||Me!==ee.toneMapping)&&(ge.material.needsUpdate=!0,xe=it,Se=it.version,Me=ee.toneMapping),ge.layers.enableAll(),Xe.unshift(ge,ge.geometry,ge.material,0,0,null))}function Le(Xe,Ze){Xe.getRGB(T5,iC(ee)),z.buffers.color.setClear(T5.r,T5.g,T5.b,Ze,se)}function Qe(){ve!==void 0&&(ve.geometry.dispose(),ve.material.dispose(),ve=void 0),ge!==void 0&&(ge.geometry.dispose(),ge.material.dispose(),ge=void 0)}return{getClearColor:function(){return le},setClearColor:function(Xe,Ze=1){le.set(Xe),de=Ze,Le(le,de)},getClearAlpha:function(){return de},setClearAlpha:function(Xe){de=Xe,Le(le,de)},render:Oe,addToRenderList:Re,dispose:Qe}}function hV(ee,y){const E=ee.getParameter(ee.MAX_VERTEX_ATTRIBS),z={},ne=Se(null);let ie=ne,se=!1;function le(rt,Mt,Xt,cn,Cn){let En=!1;const Zn=xe(cn,Xt,Mt);ie!==Zn&&(ie=Zn,ge(ie.object)),En=Me(rt,cn,Xt,Cn),En&&De(rt,cn,Xt,Cn),Cn!==null&&y.update(Cn,ee.ELEMENT_ARRAY_BUFFER),(En||se)&&(se=!1,Ze(rt,Mt,Xt,cn),Cn!==null&&ee.bindBuffer(ee.ELEMENT_ARRAY_BUFFER,y.get(Cn).buffer))}function de(){return ee.createVertexArray()}function ge(rt){return ee.bindVertexArray(rt)}function ve(rt){return ee.deleteVertexArray(rt)}function xe(rt,Mt,Xt){const cn=Xt.wireframe===!0;let Cn=z[rt.id];Cn===void 0&&(Cn={},z[rt.id]=Cn);let En=Cn[Mt.id];En===void 0&&(En={},Cn[Mt.id]=En);let Zn=En[cn];return Zn===void 0&&(Zn=Se(de()),En[cn]=Zn),Zn}function Se(rt){const Mt=[],Xt=[],cn=[];for(let Cn=0;Cn=0){const li=Cn[bn];let Dn=En[bn];if(Dn===void 0&&(bn==="instanceMatrix"&&rt.instanceMatrix&&(Dn=rt.instanceMatrix),bn==="instanceColor"&&rt.instanceColor&&(Dn=rt.instanceColor)),li===void 0||li.attribute!==Dn||Dn&&li.data!==Dn.data)return!0;Zn++}return ie.attributesNum!==Zn||ie.index!==cn}function De(rt,Mt,Xt,cn){const Cn={},En=Mt.attributes;let Zn=0;const ti=Xt.getAttributes();for(const bn in ti)if(ti[bn].location>=0){let li=En[bn];li===void 0&&(bn==="instanceMatrix"&&rt.instanceMatrix&&(li=rt.instanceMatrix),bn==="instanceColor"&&rt.instanceColor&&(li=rt.instanceColor));const Dn={};Dn.attribute=li,li&&li.data&&(Dn.data=li.data),Cn[bn]=Dn,Zn++}ie.attributes=Cn,ie.attributesNum=Zn,ie.index=cn}function Oe(){const rt=ie.newAttributes;for(let Mt=0,Xt=rt.length;Mt=0){let rn=Cn[ti];if(rn===void 0&&(ti==="instanceMatrix"&&rt.instanceMatrix&&(rn=rt.instanceMatrix),ti==="instanceColor"&&rt.instanceColor&&(rn=rt.instanceColor)),rn!==void 0){const li=rn.normalized,Dn=rn.itemSize,Wn=y.get(rn);if(Wn===void 0)continue;const hi=Wn.buffer,On=Wn.type,dn=Wn.bytesPerElement,mi=On===ee.INT||On===ee.UNSIGNED_INT||rn.gpuType===tc;if(rn.isInterleavedBufferAttribute){const ui=rn.data,Mi=ui.stride,Qi=rn.offset;if(ui.isInstancedInterleavedBuffer){for(let rr=0;rr0&&ee.getShaderPrecisionFormat(ee.FRAGMENT_SHADER,ee.HIGH_FLOAT).precision>0)return"highp";ht="mediump"}return ht==="mediump"&&ee.getShaderPrecisionFormat(ee.VERTEX_SHADER,ee.MEDIUM_FLOAT).precision>0&&ee.getShaderPrecisionFormat(ee.FRAGMENT_SHADER,ee.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let ge=E.precision!==void 0?E.precision:"highp";const ve=de(ge);ve!==ge&&(console.warn("THREE.WebGLRenderer:",ge,"not supported, using",ve,"instead."),ge=ve);const xe=E.logarithmicDepthBuffer===!0,Se=E.reverseDepthBuffer===!0&&y.has("EXT_clip_control"),Me=ee.getParameter(ee.MAX_TEXTURE_IMAGE_UNITS),De=ee.getParameter(ee.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Oe=ee.getParameter(ee.MAX_TEXTURE_SIZE),Re=ee.getParameter(ee.MAX_CUBE_MAP_TEXTURE_SIZE),Le=ee.getParameter(ee.MAX_VERTEX_ATTRIBS),Qe=ee.getParameter(ee.MAX_VERTEX_UNIFORM_VECTORS),Xe=ee.getParameter(ee.MAX_VARYING_VECTORS),Ze=ee.getParameter(ee.MAX_FRAGMENT_UNIFORM_VECTORS),it=De>0,et=ee.getParameter(ee.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:ie,getMaxPrecision:de,textureFormatReadable:se,textureTypeReadable:le,precision:ge,logarithmicDepthBuffer:xe,reverseDepthBuffer:Se,maxTextures:Me,maxVertexTextures:De,maxTextureSize:Oe,maxCubemapSize:Re,maxAttributes:Le,maxVertexUniforms:Qe,maxVaryings:Xe,maxFragmentUniforms:Ze,vertexTextures:it,maxSamples:et}}function gV(ee){const y=this;let E=null,z=0,ne=!1,ie=!1;const se=new $f,le=new Oa,de={value:null,needsUpdate:!1};this.uniform=de,this.numPlanes=0,this.numIntersection=0,this.init=function(xe,Se){const Me=xe.length!==0||Se||z!==0||ne;return ne=Se,z=xe.length,Me},this.beginShadows=function(){ie=!0,ve(null)},this.endShadows=function(){ie=!1},this.setGlobalState=function(xe,Se){E=ve(xe,Se,0)},this.setState=function(xe,Se,Me){const De=xe.clippingPlanes,Oe=xe.clipIntersection,Re=xe.clipShadows,Le=ee.get(xe);if(!ne||De===null||De.length===0||ie&&!Re)ie?ve(null):ge();else{const Qe=ie?0:z,Xe=Qe*4;let Ze=Le.clippingState||null;de.value=Ze,Ze=ve(De,Se,Xe,Me);for(let it=0;it!==Xe;++it)Ze[it]=E[it];Le.clippingState=Ze,this.numIntersection=Oe?this.numPlanes:0,this.numPlanes+=Qe}};function ge(){de.value!==E&&(de.value=E,de.needsUpdate=z>0),y.numPlanes=z,y.numIntersection=0}function ve(xe,Se,Me,De){const Oe=xe!==null?xe.length:0;let Re=null;if(Oe!==0){if(Re=de.value,De!==!0||Re===null){const Le=Me+Oe*4,Qe=Se.matrixWorldInverse;le.getNormalMatrix(Qe),(Re===null||Re.length0){const ge=new Rb(de.height);return ge.fromEquirectangularTexture(ee,se),y.set(se,ge),se.addEventListener("dispose",ne),E(ge.texture,se.mapping)}else return null}}return se}function ne(se){const le=se.target;le.removeEventListener("dispose",ne);const de=y.get(le);de!==void 0&&(y.delete(le),de.dispose())}function ie(){y=new WeakMap}return{get:z,dispose:ie}}const dE=4,DN=[.125,.215,.35,.446,.526,.582],KS=20,s3=new Kv,FN=new fo;let a3=null,l3=0,u3=0,c3=!1;const JS=(1+Math.sqrt(5))/2,fE=1/JS,LN=[new Vt(-JS,fE,0),new Vt(JS,fE,0),new Vt(-fE,0,JS),new Vt(fE,0,JS),new Vt(0,JS,-fE),new Vt(0,JS,fE),new Vt(-1,1,-1),new Vt(1,1,-1),new Vt(-1,1,1),new Vt(1,1,1)],mV=new Vt;class NN{constructor(y){this._renderer=y,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(y,E=0,z=.1,ne=100,ie={}){const{size:se=256,position:le=mV}=ie;a3=this._renderer.getRenderTarget(),l3=this._renderer.getActiveCubeFace(),u3=this._renderer.getActiveMipmapLevel(),c3=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(se);const de=this._allocateTargets();return de.depthBuffer=!0,this._sceneToCubeUV(y,z,ne,de,le),E>0&&this._blur(de,0,0,E),this._applyPMREM(de),this._cleanup(de),de}fromEquirectangular(y,E=null){return this._fromTexture(y,E)}fromCubemap(y,E=null){return this._fromTexture(y,E)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=ON(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=RN(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(y){this._lodMax=Math.floor(Math.log2(y)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let y=0;y2?Ze:0,Ze,Ze),xe.setRenderTarget(ne),Re&&xe.render(Oe,de),xe.render(y,de)}Oe.geometry.dispose(),Oe.material.dispose(),xe.toneMapping=Me,xe.autoClear=Se,y.background=Le}_textureToCubeUV(y,E){const z=this._renderer,ne=y.mapping===Jd||y.mapping===qd;ne?(this._cubemapMaterial===null&&(this._cubemapMaterial=ON()),this._cubemapMaterial.uniforms.flipEnvMap.value=y.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=RN());const ie=ne?this._cubemapMaterial:this._equirectMaterial,se=new lu(this._lodPlanes[0],ie),le=ie.uniforms;le.envMap.value=y;const de=this._cubeSize;D5(E,0,0,3*de,2*de),z.setRenderTarget(E),z.render(se,s3)}_applyPMREM(y){const E=this._renderer,z=E.autoClear;E.autoClear=!1;const ne=this._lodPlanes.length;for(let ie=1;ieKS&&console.warn(`sigmaRadians, ${ie}, is too large and will clip, as it requested ${Re} samples when the maximum is set to ${KS}`);const Le=[];let Qe=0;for(let ht=0;htXe-dE?ne-Xe+dE:0),et=4*(this._cubeSize-Ze);D5(E,it,et,3*Ze,2*Ze),de.setRenderTarget(E),de.render(xe,s3)}}function vV(ee){const y=[],E=[],z=[];let ne=ee;const ie=ee-dE+1+DN.length;for(let se=0;seee-dE?de=DN[se-ee+dE-1]:se===0&&(de=0),z.push(de);const ge=1/(le-2),ve=-ge,xe=1+ge,Se=[ve,ve,xe,ve,xe,xe,ve,ve,xe,xe,ve,xe],Me=6,De=6,Oe=3,Re=2,Le=1,Qe=new Float32Array(Oe*De*Me),Xe=new Float32Array(Re*De*Me),Ze=new Float32Array(Le*De*Me);for(let et=0;et2?0:-1,ot=[ht,lt,0,ht+2/3,lt,0,ht+2/3,lt+1,0,ht,lt,0,ht+2/3,lt+1,0,ht,lt+1,0];Qe.set(ot,Oe*De*et),Xe.set(Se,Re*De*et);const rt=[et,et,et,et,et,et];Ze.set(rt,Le*De*et)}const it=new Ha;it.setAttribute("position",new wl(Qe,Oe)),it.setAttribute("uv",new wl(Xe,Re)),it.setAttribute("faceIndex",new wl(Ze,Le)),y.push(it),ne>dE&&ne--}return{lodPlanes:y,sizeLods:E,sigmas:z}}function IN(ee,y,E){const z=new mm(ee,y,E);return z.texture.mapping=wp,z.texture.name="PMREM.cubeUv",z.scissorTest=!0,z}function D5(ee,y,E,z,ne){ee.viewport.set(y,E,z,ne),ee.scissor.set(y,E,z,ne)}function yV(ee,y,E){const z=new Float32Array(KS),ne=new Vt(0,1,0);return new np({name:"SphericalGaussianBlur",defines:{n:KS,CUBEUV_TEXEL_WIDTH:1/y,CUBEUV_TEXEL_HEIGHT:1/E,CUBEUV_MAX_MIP:`${ee}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:z},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:ne}},vertexShader:h3(),fragmentShader:` precision mediump float; precision mediump int; @@ -4583,7 +4583,7 @@ void main() { } } - `,blending:eu,depthTest:!1,depthWrite:!1})}function IN(){return new np({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:h3(),fragmentShader:` + `,blending:eu,depthTest:!1,depthWrite:!1})}function RN(){return new np({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:h3(),fragmentShader:` precision mediump float; precision mediump int; @@ -4602,7 +4602,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:eu,depthTest:!1,depthWrite:!1})}function RN(){return new np({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:h3(),fragmentShader:` + `,blending:eu,depthTest:!1,depthWrite:!1})}function ON(){return new np({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:h3(),fragmentShader:` precision mediump float; precision mediump int; @@ -4673,17 +4673,17 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function yV(ee){let y=new WeakMap,E=null;function z(le){if(le&&le.isTexture){const de=le.mapping,ge=de===Lc||de===rm,ve=de===Jd||de===qd;if(ge||ve){let xe=y.get(le);const Se=xe!==void 0?xe.texture.pmremVersion:0;if(le.isRenderTargetTexture&&le.pmremVersion!==Se)return E===null&&(E=new LN(ee)),xe=ge?E.fromEquirectangular(le,xe):E.fromCubemap(le,xe),xe.texture.pmremVersion=le.pmremVersion,y.set(le,xe),xe.texture;if(xe!==void 0)return xe.texture;{const Me=le.image;return ge&&Me&&Me.height>0||ve&&Me&&ne(Me)?(E===null&&(E=new LN(ee)),xe=ge?E.fromEquirectangular(le):E.fromCubemap(le),xe.texture.pmremVersion=le.pmremVersion,y.set(le,xe),le.addEventListener("dispose",ie),xe.texture):null}}}return le}function ne(le){let de=0;const ge=6;for(let ve=0;vey.maxTextureSize&&(it=Math.ceil(Ze/y.maxTextureSize),Ze=y.maxTextureSize);const et=new Float32Array(Ze*it*4*xe),ht=new $A(et,Ze,it,xe);ht.type=wu,ht.needsUpdate=!0;const lt=Xe*4;for(let rt=0;rt0)return ee;const ne=y*E;let ie=VN[ne];if(ie===void 0&&(ie=new Float32Array(ne),VN[ne]=ie),y!==0){z.toArray(ie,0);for(let se=1,le=0;se!==y;++se)le+=E,ee[se].toArray(ie,le)}return ie}function ff(ee,y){if(ee.length!==y.length)return!1;for(let E=0,z=ee.length;E0||ve&&Me&&ne(Me)?(E===null&&(E=new NN(ee)),xe=ge?E.fromEquirectangular(le):E.fromCubemap(le),xe.texture.pmremVersion=le.pmremVersion,y.set(le,xe),le.addEventListener("dispose",ie),xe.texture):null}}}return le}function ne(le){let de=0;const ge=6;for(let ve=0;vey.maxTextureSize&&(it=Math.ceil(Ze/y.maxTextureSize),Ze=y.maxTextureSize);const et=new Float32Array(Ze*it*4*xe),ht=new $A(et,Ze,it,xe);ht.type=wu,ht.needsUpdate=!0;const lt=Xe*4;for(let rt=0;rt0)return ee;const ne=y*E;let ie=jN[ne];if(ie===void 0&&(ie=new Float32Array(ne),jN[ne]=ie),y!==0){z.toArray(ie,0);for(let se=1,le=0;se!==y;++se)le+=E,ee[se].toArray(ie,le)}return ie}function ff(ee,y){if(ee.length!==y.length)return!1;for(let E=0,z=ee.length;E":" "} ${le}: ${E[se]}`)}return z.join(` -`)}const ZN=new Oa;function yj(ee){ys._getMatrix(ZN,ys.workingColorSpace,ee);const y=`mat3( ${ZN.elements.map(E=>E.toFixed(4))} )`;switch(ys.getTransfer(ee)){case Ri:return[y,"LinearTransferOETF"];case kn:return[y,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",ee),[y,"LinearTransferOETF"]}}function KN(ee,y,E){const z=ee.getShaderParameter(y,ee.COMPILE_STATUS),ne=ee.getShaderInfoLog(y).trim();if(z&&ne==="")return"";const ie=/ERROR: 0:(\d+)/.exec(ne);if(ie){const se=parseInt(ie[1]);return E.toUpperCase()+` +`)}const KN=new Oa;function Aj(ee){ys._getMatrix(KN,ys.workingColorSpace,ee);const y=`mat3( ${KN.elements.map(E=>E.toFixed(4))} )`;switch(ys.getTransfer(ee)){case Ri:return[y,"LinearTransferOETF"];case kn:return[y,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",ee),[y,"LinearTransferOETF"]}}function JN(ee,y,E){const z=ee.getShaderParameter(y,ee.COMPILE_STATUS),ne=ee.getShaderInfoLog(y).trim();if(z&&ne==="")return"";const ie=/ERROR: 0:(\d+)/.exec(ne);if(ie){const se=parseInt(ie[1]);return E.toUpperCase()+` `+ne+` -`+vj(ee.getShaderSource(y),se)}else return ne}function Aj(ee,y){const E=yj(y);return[`vec4 ${ee}( vec4 value ) {`,` return ${E[1]}( vec4( value.rgb * ${E[0]}, value.a ) );`,"}"].join(` -`)}function xj(ee,y){let E;switch(y){case Rw:E="Linear";break;case Ow:E="Reinhard";break;case kw:E="Cineon";break;case zw:E="ACESFilmic";break;case Kd:E="AgX";break;case Pv:E="Neutral";break;case Hw:E="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",y),E="Linear"}return"vec3 "+ee+"( vec3 color ) { return "+E+"ToneMapping( color ); }"}const N5=new Vt;function wj(){ys.getLuminanceCoefficients(N5);const ee=N5.x.toFixed(4),y=N5.y.toFixed(4),E=N5.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${ee}, ${y}, ${E} );`," return dot( weights, rgb );","}"].join(` -`)}function Sj(ee){return[ee.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",ee.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(I2).join(` -`)}function Pj(ee){const y=[];for(const E in ee){const z=ee[E];z!==!1&&y.push("#define "+E+" "+z)}return y.join(` -`)}function Cj(ee,y){const E={},z=ee.getProgramParameter(y,ee.ACTIVE_ATTRIBUTES);for(let ne=0;ne/gm;function f3(ee){return ee.replace(Ej,Mj)}const bj=new Map;function Mj(ee,y){let E=Tl[y];if(E===void 0){const z=bj.get(y);if(z!==void 0)E=Tl[z],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',y,z);else throw new Error("Can not resolve #include <"+y+">")}return f3(E)}const Bj=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function _N(ee){return ee.replace(Bj,Tj)}function Tj(ee,y,E,z){let ne="";for(let ie=parseInt(y);ie/gm;function f3(ee){return ee.replace(bj,Bj)}const Mj=new Map;function Bj(ee,y){let E=Tl[y];if(E===void 0){const z=Mj.get(y);if(z!==void 0)E=Tl[z],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',y,z);else throw new Error("Can not resolve #include <"+y+">")}return f3(E)}const Tj=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function $N(ee){return ee.replace(Tj,Dj)}function Dj(ee,y,E,z){let ne="";for(let ie=parseInt(y);ie0&&(Re+=` `),Le=["#define SHADER_TYPE "+E.shaderType,"#define SHADER_NAME "+E.shaderName,De].filter(I2).join(` `),Le.length>0&&(Le+=` -`)):(Re=[$N(E),"#define SHADER_TYPE "+E.shaderType,"#define SHADER_NAME "+E.shaderName,De,E.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",E.batching?"#define USE_BATCHING":"",E.batchingColor?"#define USE_BATCHING_COLOR":"",E.instancing?"#define USE_INSTANCING":"",E.instancingColor?"#define USE_INSTANCING_COLOR":"",E.instancingMorph?"#define USE_INSTANCING_MORPH":"",E.useFog&&E.fog?"#define USE_FOG":"",E.useFog&&E.fogExp2?"#define FOG_EXP2":"",E.map?"#define USE_MAP":"",E.envMap?"#define USE_ENVMAP":"",E.envMap?"#define "+ve:"",E.lightMap?"#define USE_LIGHTMAP":"",E.aoMap?"#define USE_AOMAP":"",E.bumpMap?"#define USE_BUMPMAP":"",E.normalMap?"#define USE_NORMALMAP":"",E.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",E.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",E.displacementMap?"#define USE_DISPLACEMENTMAP":"",E.emissiveMap?"#define USE_EMISSIVEMAP":"",E.anisotropy?"#define USE_ANISOTROPY":"",E.anisotropyMap?"#define USE_ANISOTROPYMAP":"",E.clearcoatMap?"#define USE_CLEARCOATMAP":"",E.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",E.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",E.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",E.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",E.specularMap?"#define USE_SPECULARMAP":"",E.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",E.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",E.roughnessMap?"#define USE_ROUGHNESSMAP":"",E.metalnessMap?"#define USE_METALNESSMAP":"",E.alphaMap?"#define USE_ALPHAMAP":"",E.alphaHash?"#define USE_ALPHAHASH":"",E.transmission?"#define USE_TRANSMISSION":"",E.transmissionMap?"#define USE_TRANSMISSIONMAP":"",E.thicknessMap?"#define USE_THICKNESSMAP":"",E.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",E.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",E.mapUv?"#define MAP_UV "+E.mapUv:"",E.alphaMapUv?"#define ALPHAMAP_UV "+E.alphaMapUv:"",E.lightMapUv?"#define LIGHTMAP_UV "+E.lightMapUv:"",E.aoMapUv?"#define AOMAP_UV "+E.aoMapUv:"",E.emissiveMapUv?"#define EMISSIVEMAP_UV "+E.emissiveMapUv:"",E.bumpMapUv?"#define BUMPMAP_UV "+E.bumpMapUv:"",E.normalMapUv?"#define NORMALMAP_UV "+E.normalMapUv:"",E.displacementMapUv?"#define DISPLACEMENTMAP_UV "+E.displacementMapUv:"",E.metalnessMapUv?"#define METALNESSMAP_UV "+E.metalnessMapUv:"",E.roughnessMapUv?"#define ROUGHNESSMAP_UV "+E.roughnessMapUv:"",E.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+E.anisotropyMapUv:"",E.clearcoatMapUv?"#define CLEARCOATMAP_UV "+E.clearcoatMapUv:"",E.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+E.clearcoatNormalMapUv:"",E.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+E.clearcoatRoughnessMapUv:"",E.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+E.iridescenceMapUv:"",E.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+E.iridescenceThicknessMapUv:"",E.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+E.sheenColorMapUv:"",E.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+E.sheenRoughnessMapUv:"",E.specularMapUv?"#define SPECULARMAP_UV "+E.specularMapUv:"",E.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+E.specularColorMapUv:"",E.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+E.specularIntensityMapUv:"",E.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+E.transmissionMapUv:"",E.thicknessMapUv?"#define THICKNESSMAP_UV "+E.thicknessMapUv:"",E.vertexTangents&&E.flatShading===!1?"#define USE_TANGENT":"",E.vertexColors?"#define USE_COLOR":"",E.vertexAlphas?"#define USE_COLOR_ALPHA":"",E.vertexUv1s?"#define USE_UV1":"",E.vertexUv2s?"#define USE_UV2":"",E.vertexUv3s?"#define USE_UV3":"",E.pointsUvs?"#define USE_POINTS_UV":"",E.flatShading?"#define FLAT_SHADED":"",E.skinning?"#define USE_SKINNING":"",E.morphTargets?"#define USE_MORPHTARGETS":"",E.morphNormals&&E.flatShading===!1?"#define USE_MORPHNORMALS":"",E.morphColors?"#define USE_MORPHCOLORS":"",E.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+E.morphTextureStride:"",E.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+E.morphTargetsCount:"",E.doubleSided?"#define DOUBLE_SIDED":"",E.flipSided?"#define FLIP_SIDED":"",E.shadowMapEnabled?"#define USE_SHADOWMAP":"",E.shadowMapEnabled?"#define "+de:"",E.sizeAttenuation?"#define USE_SIZEATTENUATION":"",E.numLightProbes>0?"#define USE_LIGHT_PROBES":"",E.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",E.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` +`)):(Re=[e8(E),"#define SHADER_TYPE "+E.shaderType,"#define SHADER_NAME "+E.shaderName,De,E.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",E.batching?"#define USE_BATCHING":"",E.batchingColor?"#define USE_BATCHING_COLOR":"",E.instancing?"#define USE_INSTANCING":"",E.instancingColor?"#define USE_INSTANCING_COLOR":"",E.instancingMorph?"#define USE_INSTANCING_MORPH":"",E.useFog&&E.fog?"#define USE_FOG":"",E.useFog&&E.fogExp2?"#define FOG_EXP2":"",E.map?"#define USE_MAP":"",E.envMap?"#define USE_ENVMAP":"",E.envMap?"#define "+ve:"",E.lightMap?"#define USE_LIGHTMAP":"",E.aoMap?"#define USE_AOMAP":"",E.bumpMap?"#define USE_BUMPMAP":"",E.normalMap?"#define USE_NORMALMAP":"",E.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",E.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",E.displacementMap?"#define USE_DISPLACEMENTMAP":"",E.emissiveMap?"#define USE_EMISSIVEMAP":"",E.anisotropy?"#define USE_ANISOTROPY":"",E.anisotropyMap?"#define USE_ANISOTROPYMAP":"",E.clearcoatMap?"#define USE_CLEARCOATMAP":"",E.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",E.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",E.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",E.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",E.specularMap?"#define USE_SPECULARMAP":"",E.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",E.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",E.roughnessMap?"#define USE_ROUGHNESSMAP":"",E.metalnessMap?"#define USE_METALNESSMAP":"",E.alphaMap?"#define USE_ALPHAMAP":"",E.alphaHash?"#define USE_ALPHAHASH":"",E.transmission?"#define USE_TRANSMISSION":"",E.transmissionMap?"#define USE_TRANSMISSIONMAP":"",E.thicknessMap?"#define USE_THICKNESSMAP":"",E.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",E.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",E.mapUv?"#define MAP_UV "+E.mapUv:"",E.alphaMapUv?"#define ALPHAMAP_UV "+E.alphaMapUv:"",E.lightMapUv?"#define LIGHTMAP_UV "+E.lightMapUv:"",E.aoMapUv?"#define AOMAP_UV "+E.aoMapUv:"",E.emissiveMapUv?"#define EMISSIVEMAP_UV "+E.emissiveMapUv:"",E.bumpMapUv?"#define BUMPMAP_UV "+E.bumpMapUv:"",E.normalMapUv?"#define NORMALMAP_UV "+E.normalMapUv:"",E.displacementMapUv?"#define DISPLACEMENTMAP_UV "+E.displacementMapUv:"",E.metalnessMapUv?"#define METALNESSMAP_UV "+E.metalnessMapUv:"",E.roughnessMapUv?"#define ROUGHNESSMAP_UV "+E.roughnessMapUv:"",E.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+E.anisotropyMapUv:"",E.clearcoatMapUv?"#define CLEARCOATMAP_UV "+E.clearcoatMapUv:"",E.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+E.clearcoatNormalMapUv:"",E.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+E.clearcoatRoughnessMapUv:"",E.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+E.iridescenceMapUv:"",E.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+E.iridescenceThicknessMapUv:"",E.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+E.sheenColorMapUv:"",E.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+E.sheenRoughnessMapUv:"",E.specularMapUv?"#define SPECULARMAP_UV "+E.specularMapUv:"",E.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+E.specularColorMapUv:"",E.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+E.specularIntensityMapUv:"",E.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+E.transmissionMapUv:"",E.thicknessMapUv?"#define THICKNESSMAP_UV "+E.thicknessMapUv:"",E.vertexTangents&&E.flatShading===!1?"#define USE_TANGENT":"",E.vertexColors?"#define USE_COLOR":"",E.vertexAlphas?"#define USE_COLOR_ALPHA":"",E.vertexUv1s?"#define USE_UV1":"",E.vertexUv2s?"#define USE_UV2":"",E.vertexUv3s?"#define USE_UV3":"",E.pointsUvs?"#define USE_POINTS_UV":"",E.flatShading?"#define FLAT_SHADED":"",E.skinning?"#define USE_SKINNING":"",E.morphTargets?"#define USE_MORPHTARGETS":"",E.morphNormals&&E.flatShading===!1?"#define USE_MORPHNORMALS":"",E.morphColors?"#define USE_MORPHCOLORS":"",E.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+E.morphTextureStride:"",E.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+E.morphTargetsCount:"",E.doubleSided?"#define DOUBLE_SIDED":"",E.flipSided?"#define FLIP_SIDED":"",E.shadowMapEnabled?"#define USE_SHADOWMAP":"",E.shadowMapEnabled?"#define "+de:"",E.sizeAttenuation?"#define USE_SIZEATTENUATION":"",E.numLightProbes>0?"#define USE_LIGHT_PROBES":"",E.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",E.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` `].filter(I2).join(` -`),Le=[$N(E),"#define SHADER_TYPE "+E.shaderType,"#define SHADER_NAME "+E.shaderName,De,E.useFog&&E.fog?"#define USE_FOG":"",E.useFog&&E.fogExp2?"#define FOG_EXP2":"",E.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",E.map?"#define USE_MAP":"",E.matcap?"#define USE_MATCAP":"",E.envMap?"#define USE_ENVMAP":"",E.envMap?"#define "+ge:"",E.envMap?"#define "+ve:"",E.envMap?"#define "+xe:"",Se?"#define CUBEUV_TEXEL_WIDTH "+Se.texelWidth:"",Se?"#define CUBEUV_TEXEL_HEIGHT "+Se.texelHeight:"",Se?"#define CUBEUV_MAX_MIP "+Se.maxMip+".0":"",E.lightMap?"#define USE_LIGHTMAP":"",E.aoMap?"#define USE_AOMAP":"",E.bumpMap?"#define USE_BUMPMAP":"",E.normalMap?"#define USE_NORMALMAP":"",E.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",E.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",E.emissiveMap?"#define USE_EMISSIVEMAP":"",E.anisotropy?"#define USE_ANISOTROPY":"",E.anisotropyMap?"#define USE_ANISOTROPYMAP":"",E.clearcoat?"#define USE_CLEARCOAT":"",E.clearcoatMap?"#define USE_CLEARCOATMAP":"",E.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",E.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",E.dispersion?"#define USE_DISPERSION":"",E.iridescence?"#define USE_IRIDESCENCE":"",E.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",E.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",E.specularMap?"#define USE_SPECULARMAP":"",E.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",E.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",E.roughnessMap?"#define USE_ROUGHNESSMAP":"",E.metalnessMap?"#define USE_METALNESSMAP":"",E.alphaMap?"#define USE_ALPHAMAP":"",E.alphaTest?"#define USE_ALPHATEST":"",E.alphaHash?"#define USE_ALPHAHASH":"",E.sheen?"#define USE_SHEEN":"",E.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",E.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",E.transmission?"#define USE_TRANSMISSION":"",E.transmissionMap?"#define USE_TRANSMISSIONMAP":"",E.thicknessMap?"#define USE_THICKNESSMAP":"",E.vertexTangents&&E.flatShading===!1?"#define USE_TANGENT":"",E.vertexColors||E.instancingColor||E.batchingColor?"#define USE_COLOR":"",E.vertexAlphas?"#define USE_COLOR_ALPHA":"",E.vertexUv1s?"#define USE_UV1":"",E.vertexUv2s?"#define USE_UV2":"",E.vertexUv3s?"#define USE_UV3":"",E.pointsUvs?"#define USE_POINTS_UV":"",E.gradientMap?"#define USE_GRADIENTMAP":"",E.flatShading?"#define FLAT_SHADED":"",E.doubleSided?"#define DOUBLE_SIDED":"",E.flipSided?"#define FLIP_SIDED":"",E.shadowMapEnabled?"#define USE_SHADOWMAP":"",E.shadowMapEnabled?"#define "+de:"",E.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",E.numLightProbes>0?"#define USE_LIGHT_PROBES":"",E.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",E.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",E.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",E.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",E.toneMapping!==wd?"#define TONE_MAPPING":"",E.toneMapping!==wd?Tl.tonemapping_pars_fragment:"",E.toneMapping!==wd?xj("toneMapping",E.toneMapping):"",E.dithering?"#define DITHERING":"",E.opaque?"#define OPAQUE":"",Tl.colorspace_pars_fragment,Aj("linearToOutputTexel",E.outputColorSpace),wj(),E.useDepthPacking?"#define DEPTH_PACKING "+E.depthPacking:"",` +`),Le=[e8(E),"#define SHADER_TYPE "+E.shaderType,"#define SHADER_NAME "+E.shaderName,De,E.useFog&&E.fog?"#define USE_FOG":"",E.useFog&&E.fogExp2?"#define FOG_EXP2":"",E.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",E.map?"#define USE_MAP":"",E.matcap?"#define USE_MATCAP":"",E.envMap?"#define USE_ENVMAP":"",E.envMap?"#define "+ge:"",E.envMap?"#define "+ve:"",E.envMap?"#define "+xe:"",Se?"#define CUBEUV_TEXEL_WIDTH "+Se.texelWidth:"",Se?"#define CUBEUV_TEXEL_HEIGHT "+Se.texelHeight:"",Se?"#define CUBEUV_MAX_MIP "+Se.maxMip+".0":"",E.lightMap?"#define USE_LIGHTMAP":"",E.aoMap?"#define USE_AOMAP":"",E.bumpMap?"#define USE_BUMPMAP":"",E.normalMap?"#define USE_NORMALMAP":"",E.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",E.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",E.emissiveMap?"#define USE_EMISSIVEMAP":"",E.anisotropy?"#define USE_ANISOTROPY":"",E.anisotropyMap?"#define USE_ANISOTROPYMAP":"",E.clearcoat?"#define USE_CLEARCOAT":"",E.clearcoatMap?"#define USE_CLEARCOATMAP":"",E.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",E.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",E.dispersion?"#define USE_DISPERSION":"",E.iridescence?"#define USE_IRIDESCENCE":"",E.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",E.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",E.specularMap?"#define USE_SPECULARMAP":"",E.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",E.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",E.roughnessMap?"#define USE_ROUGHNESSMAP":"",E.metalnessMap?"#define USE_METALNESSMAP":"",E.alphaMap?"#define USE_ALPHAMAP":"",E.alphaTest?"#define USE_ALPHATEST":"",E.alphaHash?"#define USE_ALPHAHASH":"",E.sheen?"#define USE_SHEEN":"",E.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",E.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",E.transmission?"#define USE_TRANSMISSION":"",E.transmissionMap?"#define USE_TRANSMISSIONMAP":"",E.thicknessMap?"#define USE_THICKNESSMAP":"",E.vertexTangents&&E.flatShading===!1?"#define USE_TANGENT":"",E.vertexColors||E.instancingColor||E.batchingColor?"#define USE_COLOR":"",E.vertexAlphas?"#define USE_COLOR_ALPHA":"",E.vertexUv1s?"#define USE_UV1":"",E.vertexUv2s?"#define USE_UV2":"",E.vertexUv3s?"#define USE_UV3":"",E.pointsUvs?"#define USE_POINTS_UV":"",E.gradientMap?"#define USE_GRADIENTMAP":"",E.flatShading?"#define FLAT_SHADED":"",E.doubleSided?"#define DOUBLE_SIDED":"",E.flipSided?"#define FLIP_SIDED":"",E.shadowMapEnabled?"#define USE_SHADOWMAP":"",E.shadowMapEnabled?"#define "+de:"",E.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",E.numLightProbes>0?"#define USE_LIGHT_PROBES":"",E.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",E.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",E.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",E.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",E.toneMapping!==wd?"#define TONE_MAPPING":"",E.toneMapping!==wd?Tl.tonemapping_pars_fragment:"",E.toneMapping!==wd?wj("toneMapping",E.toneMapping):"",E.dithering?"#define DITHERING":"",E.opaque?"#define OPAQUE":"",Tl.colorspace_pars_fragment,xj("linearToOutputTexel",E.outputColorSpace),Sj(),E.useDepthPacking?"#define DEPTH_PACKING "+E.depthPacking:"",` `].filter(I2).join(` -`)),se=f3(se),se=JN(se,E),se=qN(se,E),le=f3(le),le=JN(le,E),le=qN(le,E),se=_N(se),le=_N(le),E.isRawShaderMaterial!==!0&&(Qe=`#version 300 es +`)),se=f3(se),se=qN(se,E),se=_N(se,E),le=f3(le),le=qN(le,E),le=_N(le,E),se=$N(se),le=$N(le),E.isRawShaderMaterial!==!0&&(Qe=`#version 300 es `,Re=[Me,"#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+Re,Le=["#define varying in",E.glslVersion===Pd?"":"layout(location = 0) out highp vec4 pc_fragColor;",E.glslVersion===Pd?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` `)+` -`+Le);const Xe=Qe+Re+se,Ze=Qe+Le+le,it=YN(ne,ne.VERTEX_SHADER,Xe),et=YN(ne,ne.FRAGMENT_SHADER,Ze);ne.attachShader(Oe,it),ne.attachShader(Oe,et),E.index0AttributeName!==void 0?ne.bindAttribLocation(Oe,0,E.index0AttributeName):E.morphTargets===!0&&ne.bindAttribLocation(Oe,0,"position"),ne.linkProgram(Oe);function ht(Mt){if(ee.debug.checkShaderErrors){const Xt=ne.getProgramInfoLog(Oe).trim(),cn=ne.getShaderInfoLog(it).trim(),Cn=ne.getShaderInfoLog(et).trim();let En=!0,Zn=!0;if(ne.getProgramParameter(Oe,ne.LINK_STATUS)===!1)if(En=!1,typeof ee.debug.onShaderError=="function")ee.debug.onShaderError(ne,Oe,it,et);else{const ti=KN(ne,it,"vertex"),bn=KN(ne,et,"fragment");console.error("THREE.WebGLProgram: Shader Error "+ne.getError()+" - VALIDATE_STATUS "+ne.getProgramParameter(Oe,ne.VALIDATE_STATUS)+` +`+Le);const Xe=Qe+Re+se,Ze=Qe+Le+le,it=ZN(ne,ne.VERTEX_SHADER,Xe),et=ZN(ne,ne.FRAGMENT_SHADER,Ze);ne.attachShader(Oe,it),ne.attachShader(Oe,et),E.index0AttributeName!==void 0?ne.bindAttribLocation(Oe,0,E.index0AttributeName):E.morphTargets===!0&&ne.bindAttribLocation(Oe,0,"position"),ne.linkProgram(Oe);function ht(Mt){if(ee.debug.checkShaderErrors){const Xt=ne.getProgramInfoLog(Oe).trim(),cn=ne.getShaderInfoLog(it).trim(),Cn=ne.getShaderInfoLog(et).trim();let En=!0,Zn=!0;if(ne.getProgramParameter(Oe,ne.LINK_STATUS)===!1)if(En=!1,typeof ee.debug.onShaderError=="function")ee.debug.onShaderError(ne,Oe,it,et);else{const ti=JN(ne,it,"vertex"),bn=JN(ne,et,"fragment");console.error("THREE.WebGLProgram: Shader Error "+ne.getError()+" - VALIDATE_STATUS "+ne.getProgramParameter(Oe,ne.VALIDATE_STATUS)+` Material Name: `+Mt.name+` Material Type: `+Mt.type+` Program Info Log: `+Xt+` `+ti+` -`+bn)}else Xt!==""?console.warn("THREE.WebGLProgram: Program Info Log:",Xt):(cn===""||Cn==="")&&(Zn=!1);Zn&&(Mt.diagnostics={runnable:En,programLog:Xt,vertexShader:{log:cn,prefix:Re},fragmentShader:{log:Cn,prefix:Le}})}ne.deleteShader(it),ne.deleteShader(et),lt=new L5(ne,Oe),ot=Cj(ne,Oe)}let lt;this.getUniforms=function(){return lt===void 0&&ht(this),lt};let ot;this.getAttributes=function(){return ot===void 0&&ht(this),ot};let rt=E.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return rt===!1&&(rt=ne.getProgramParameter(Oe,pj)),rt},this.destroy=function(){z.releaseStatesOfProgram(this),ne.deleteProgram(Oe),this.program=void 0},this.type=E.shaderType,this.name=E.shaderName,this.id=mj++,this.cacheKey=y,this.usedTimes=1,this.program=Oe,this.vertexShader=it,this.fragmentShader=et,this}let Oj=0;class kj{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(y){const E=y.vertexShader,z=y.fragmentShader,ne=this._getShaderStage(E),ie=this._getShaderStage(z),se=this._getShaderCacheForMaterial(y);return se.has(ne)===!1&&(se.add(ne),ne.usedTimes++),se.has(ie)===!1&&(se.add(ie),ie.usedTimes++),this}remove(y){const E=this.materialCache.get(y);for(const z of E)z.usedTimes--,z.usedTimes===0&&this.shaderCache.delete(z.code);return this.materialCache.delete(y),this}getVertexShaderID(y){return this._getShaderStage(y.vertexShader).id}getFragmentShaderID(y){return this._getShaderStage(y.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(y){const E=this.materialCache;let z=E.get(y);return z===void 0&&(z=new Set,E.set(y,z)),z}_getShaderStage(y){const E=this.shaderCache;let z=E.get(y);return z===void 0&&(z=new zj(y),E.set(y,z)),z}}class zj{constructor(y){this.id=Oj++,this.code=y,this.usedTimes=0}}function Hj(ee,y,E,z,ne,ie,se){const le=new Hl,de=new kj,ge=new Set,ve=[],xe=ne.logarithmicDepthBuffer,Se=ne.vertexTextures;let Me=ne.precision;const De={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function Oe(ot){return ge.add(ot),ot===0?"uv":`uv${ot}`}function Re(ot,rt,Mt,Xt,cn){const Cn=Xt.fog,En=cn.geometry,Zn=ot.isMeshStandardMaterial?Xt.environment:null,ti=(ot.isMeshStandardMaterial?E:y).get(ot.envMap||Zn),bn=ti&&ti.mapping===wp?ti.image.height:null,rn=De[ot.type];ot.precision!==null&&(Me=ne.getMaxPrecision(ot.precision),Me!==ot.precision&&console.warn("THREE.WebGLProgram.getParameters:",ot.precision,"not supported, using",Me,"instead."));const li=En.morphAttributes.position||En.morphAttributes.normal||En.morphAttributes.color,Dn=li!==void 0?li.length:0;let Wn=0;En.morphAttributes.position!==void 0&&(Wn=1),En.morphAttributes.normal!==void 0&&(Wn=2),En.morphAttributes.color!==void 0&&(Wn=3);let hi,On,dn,mi;if(rn){const is=pA[rn];hi=is.vertexShader,On=is.fragmentShader}else hi=ot.vertexShader,On=ot.fragmentShader,de.update(ot),dn=de.getVertexShaderID(ot),mi=de.getFragmentShaderID(ot);const ui=ee.getRenderTarget(),Mi=ee.state.buffers.depth.getReversed(),Qi=cn.isInstancedMesh===!0,rr=cn.isBatchedMesh===!0,Ir=!!ot.map,to=!!ot.matcap,Jo=!!ti,Ot=!!ot.aoMap,Pr=!!ot.lightMap,sr=!!ot.bumpMap,Fr=!!ot.normalMap,_i=!!ot.displacementMap,Io=!!ot.emissiveMap,Rr=!!ot.metalnessMap,po=!!ot.roughnessMap,Js=ot.anisotropy>0,hn=ot.clearcoat>0,Rt=ot.dispersion>0,yi=ot.iridescence>0,$i=ot.sheen>0,ii=ot.transmission>0,Ti=Js&&!!ot.anisotropyMap,qo=hn&&!!ot.clearcoatMap,ro=hn&&!!ot.clearcoatNormalMap,us=hn&&!!ot.clearcoatRoughnessMap,cs=yi&&!!ot.iridescenceMap,Or=yi&&!!ot.iridescenceThicknessMap,Yo=$i&&!!ot.sheenColorMap,Ls=$i&&!!ot.sheenRoughnessMap,gs=!!ot.specularMap,fr=!!ot.specularColorMap,sa=!!ot.specularIntensityMap,_n=ii&&!!ot.transmissionMap,Zo=ii&&!!ot.thicknessMap,Wr=!!ot.gradientMap,As=!!ot.alphaMap,Vr=ot.alphaTest>0,Br=!!ot.alphaHash,bs=!!ot.extensions;let lr=wd;ot.toneMapped&&(ui===null||ui.isXRRenderTarget===!0)&&(lr=ee.toneMapping);const Uo={shaderID:rn,shaderType:ot.type,shaderName:ot.name,vertexShader:hi,fragmentShader:On,defines:ot.defines,customVertexShaderID:dn,customFragmentShaderID:mi,isRawShaderMaterial:ot.isRawShaderMaterial===!0,glslVersion:ot.glslVersion,precision:Me,batching:rr,batchingColor:rr&&cn._colorsTexture!==null,instancing:Qi,instancingColor:Qi&&cn.instanceColor!==null,instancingMorph:Qi&&cn.morphTexture!==null,supportsVertexTextures:Se,outputColorSpace:ui===null?ee.outputColorSpace:ui.isXRRenderTarget===!0?ui.texture.colorSpace:vn,alphaToCoverage:!!ot.alphaToCoverage,map:Ir,matcap:to,envMap:Jo,envMapMode:Jo&&ti.mapping,envMapCubeUVHeight:bn,aoMap:Ot,lightMap:Pr,bumpMap:sr,normalMap:Fr,displacementMap:Se&&_i,emissiveMap:Io,normalMapObjectSpace:Fr&&ot.normalMapType===sn,normalMapTangentSpace:Fr&&ot.normalMapType===At,metalnessMap:Rr,roughnessMap:po,anisotropy:Js,anisotropyMap:Ti,clearcoat:hn,clearcoatMap:qo,clearcoatNormalMap:ro,clearcoatRoughnessMap:us,dispersion:Rt,iridescence:yi,iridescenceMap:cs,iridescenceThicknessMap:Or,sheen:$i,sheenColorMap:Yo,sheenRoughnessMap:Ls,specularMap:gs,specularColorMap:fr,specularIntensityMap:sa,transmission:ii,transmissionMap:_n,thicknessMap:Zo,gradientMap:Wr,opaque:ot.transparent===!1&&ot.blending===Eh&&ot.alphaToCoverage===!1,alphaMap:As,alphaTest:Vr,alphaHash:Br,combine:ot.combine,mapUv:Ir&&Oe(ot.map.channel),aoMapUv:Ot&&Oe(ot.aoMap.channel),lightMapUv:Pr&&Oe(ot.lightMap.channel),bumpMapUv:sr&&Oe(ot.bumpMap.channel),normalMapUv:Fr&&Oe(ot.normalMap.channel),displacementMapUv:_i&&Oe(ot.displacementMap.channel),emissiveMapUv:Io&&Oe(ot.emissiveMap.channel),metalnessMapUv:Rr&&Oe(ot.metalnessMap.channel),roughnessMapUv:po&&Oe(ot.roughnessMap.channel),anisotropyMapUv:Ti&&Oe(ot.anisotropyMap.channel),clearcoatMapUv:qo&&Oe(ot.clearcoatMap.channel),clearcoatNormalMapUv:ro&&Oe(ot.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:us&&Oe(ot.clearcoatRoughnessMap.channel),iridescenceMapUv:cs&&Oe(ot.iridescenceMap.channel),iridescenceThicknessMapUv:Or&&Oe(ot.iridescenceThicknessMap.channel),sheenColorMapUv:Yo&&Oe(ot.sheenColorMap.channel),sheenRoughnessMapUv:Ls&&Oe(ot.sheenRoughnessMap.channel),specularMapUv:gs&&Oe(ot.specularMap.channel),specularColorMapUv:fr&&Oe(ot.specularColorMap.channel),specularIntensityMapUv:sa&&Oe(ot.specularIntensityMap.channel),transmissionMapUv:_n&&Oe(ot.transmissionMap.channel),thicknessMapUv:Zo&&Oe(ot.thicknessMap.channel),alphaMapUv:As&&Oe(ot.alphaMap.channel),vertexTangents:!!En.attributes.tangent&&(Fr||Js),vertexColors:ot.vertexColors,vertexAlphas:ot.vertexColors===!0&&!!En.attributes.color&&En.attributes.color.itemSize===4,pointsUvs:cn.isPoints===!0&&!!En.attributes.uv&&(Ir||As),fog:!!Cn,useFog:ot.fog===!0,fogExp2:!!Cn&&Cn.isFogExp2,flatShading:ot.flatShading===!0&&ot.wireframe===!1,sizeAttenuation:ot.sizeAttenuation===!0,logarithmicDepthBuffer:xe,reverseDepthBuffer:Mi,skinning:cn.isSkinnedMesh===!0,morphTargets:En.morphAttributes.position!==void 0,morphNormals:En.morphAttributes.normal!==void 0,morphColors:En.morphAttributes.color!==void 0,morphTargetsCount:Dn,morphTextureStride:Wn,numDirLights:rt.directional.length,numPointLights:rt.point.length,numSpotLights:rt.spot.length,numSpotLightMaps:rt.spotLightMap.length,numRectAreaLights:rt.rectArea.length,numHemiLights:rt.hemi.length,numDirLightShadows:rt.directionalShadowMap.length,numPointLightShadows:rt.pointShadowMap.length,numSpotLightShadows:rt.spotShadowMap.length,numSpotLightShadowsWithMaps:rt.numSpotLightShadowsWithMaps,numLightProbes:rt.numLightProbes,numClippingPlanes:se.numPlanes,numClipIntersection:se.numIntersection,dithering:ot.dithering,shadowMapEnabled:ee.shadowMap.enabled&&Mt.length>0,shadowMapType:ee.shadowMap.type,toneMapping:lr,decodeVideoTexture:Ir&&ot.map.isVideoTexture===!0&&ys.getTransfer(ot.map.colorSpace)===kn,decodeVideoTextureEmissive:Io&&ot.emissiveMap.isVideoTexture===!0&&ys.getTransfer(ot.emissiveMap.colorSpace)===kn,premultipliedAlpha:ot.premultipliedAlpha,doubleSided:ot.side===eh,flipSided:ot.side===au,useDepthPacking:ot.depthPacking>=0,depthPacking:ot.depthPacking||0,index0AttributeName:ot.index0AttributeName,extensionClipCullDistance:bs&&ot.extensions.clipCullDistance===!0&&z.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(bs&&ot.extensions.multiDraw===!0||rr)&&z.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:z.has("KHR_parallel_shader_compile"),customProgramCacheKey:ot.customProgramCacheKey()};return Uo.vertexUv1s=ge.has(1),Uo.vertexUv2s=ge.has(2),Uo.vertexUv3s=ge.has(3),ge.clear(),Uo}function Le(ot){const rt=[];if(ot.shaderID?rt.push(ot.shaderID):(rt.push(ot.customVertexShaderID),rt.push(ot.customFragmentShaderID)),ot.defines!==void 0)for(const Mt in ot.defines)rt.push(Mt),rt.push(ot.defines[Mt]);return ot.isRawShaderMaterial===!1&&(Qe(rt,ot),Xe(rt,ot),rt.push(ee.outputColorSpace)),rt.push(ot.customProgramCacheKey),rt.join()}function Qe(ot,rt){ot.push(rt.precision),ot.push(rt.outputColorSpace),ot.push(rt.envMapMode),ot.push(rt.envMapCubeUVHeight),ot.push(rt.mapUv),ot.push(rt.alphaMapUv),ot.push(rt.lightMapUv),ot.push(rt.aoMapUv),ot.push(rt.bumpMapUv),ot.push(rt.normalMapUv),ot.push(rt.displacementMapUv),ot.push(rt.emissiveMapUv),ot.push(rt.metalnessMapUv),ot.push(rt.roughnessMapUv),ot.push(rt.anisotropyMapUv),ot.push(rt.clearcoatMapUv),ot.push(rt.clearcoatNormalMapUv),ot.push(rt.clearcoatRoughnessMapUv),ot.push(rt.iridescenceMapUv),ot.push(rt.iridescenceThicknessMapUv),ot.push(rt.sheenColorMapUv),ot.push(rt.sheenRoughnessMapUv),ot.push(rt.specularMapUv),ot.push(rt.specularColorMapUv),ot.push(rt.specularIntensityMapUv),ot.push(rt.transmissionMapUv),ot.push(rt.thicknessMapUv),ot.push(rt.combine),ot.push(rt.fogExp2),ot.push(rt.sizeAttenuation),ot.push(rt.morphTargetsCount),ot.push(rt.morphAttributeCount),ot.push(rt.numDirLights),ot.push(rt.numPointLights),ot.push(rt.numSpotLights),ot.push(rt.numSpotLightMaps),ot.push(rt.numHemiLights),ot.push(rt.numRectAreaLights),ot.push(rt.numDirLightShadows),ot.push(rt.numPointLightShadows),ot.push(rt.numSpotLightShadows),ot.push(rt.numSpotLightShadowsWithMaps),ot.push(rt.numLightProbes),ot.push(rt.shadowMapType),ot.push(rt.toneMapping),ot.push(rt.numClippingPlanes),ot.push(rt.numClipIntersection),ot.push(rt.depthPacking)}function Xe(ot,rt){le.disableAll(),rt.supportsVertexTextures&&le.enable(0),rt.instancing&&le.enable(1),rt.instancingColor&&le.enable(2),rt.instancingMorph&&le.enable(3),rt.matcap&&le.enable(4),rt.envMap&&le.enable(5),rt.normalMapObjectSpace&&le.enable(6),rt.normalMapTangentSpace&&le.enable(7),rt.clearcoat&&le.enable(8),rt.iridescence&&le.enable(9),rt.alphaTest&&le.enable(10),rt.vertexColors&&le.enable(11),rt.vertexAlphas&&le.enable(12),rt.vertexUv1s&&le.enable(13),rt.vertexUv2s&&le.enable(14),rt.vertexUv3s&&le.enable(15),rt.vertexTangents&&le.enable(16),rt.anisotropy&&le.enable(17),rt.alphaHash&&le.enable(18),rt.batching&&le.enable(19),rt.dispersion&&le.enable(20),rt.batchingColor&&le.enable(21),rt.gradientMap&&le.enable(22),ot.push(le.mask),le.disableAll(),rt.fog&&le.enable(0),rt.useFog&&le.enable(1),rt.flatShading&&le.enable(2),rt.logarithmicDepthBuffer&&le.enable(3),rt.reverseDepthBuffer&&le.enable(4),rt.skinning&&le.enable(5),rt.morphTargets&&le.enable(6),rt.morphNormals&&le.enable(7),rt.morphColors&&le.enable(8),rt.premultipliedAlpha&&le.enable(9),rt.shadowMapEnabled&&le.enable(10),rt.doubleSided&&le.enable(11),rt.flipSided&&le.enable(12),rt.useDepthPacking&&le.enable(13),rt.dithering&&le.enable(14),rt.transmission&&le.enable(15),rt.sheen&&le.enable(16),rt.opaque&&le.enable(17),rt.pointsUvs&&le.enable(18),rt.decodeVideoTexture&&le.enable(19),rt.decodeVideoTextureEmissive&&le.enable(20),rt.alphaToCoverage&&le.enable(21),ot.push(le.mask)}function Ze(ot){const rt=De[ot.type];let Mt;if(rt){const Xt=pA[rt];Mt=rC.clone(Xt.uniforms)}else Mt=ot.uniforms;return Mt}function it(ot,rt){let Mt;for(let Xt=0,cn=ve.length;Xt0?z.push(Le):Me.transparent===!0?ne.push(Le):E.push(Le)}function de(xe,Se,Me,De,Oe,Re){const Le=se(xe,Se,Me,De,Oe,Re);Me.transmission>0?z.unshift(Le):Me.transparent===!0?ne.unshift(Le):E.unshift(Le)}function ge(xe,Se){E.length>1&&E.sort(xe||Vj),z.length>1&&z.sort(Se||e8),ne.length>1&&ne.sort(Se||e8)}function ve(){for(let xe=y,Se=ee.length;xe=ie.length?(se=new t8,ie.push(se)):se=ie[ne],se}function E(){ee=new WeakMap}return{get:y,dispose:E}}function Gj(){const ee={};return{get:function(y){if(ee[y.id]!==void 0)return ee[y.id];let E;switch(y.type){case"DirectionalLight":E={direction:new Vt,color:new fo};break;case"SpotLight":E={position:new Vt,direction:new Vt,color:new fo,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":E={position:new Vt,color:new fo,distance:0,decay:0};break;case"HemisphereLight":E={direction:new Vt,skyColor:new fo,groundColor:new fo};break;case"RectAreaLight":E={color:new fo,position:new Vt,halfWidth:new Vt,halfHeight:new Vt};break}return ee[y.id]=E,E}}}function Xj(){const ee={};return{get:function(y){if(ee[y.id]!==void 0)return ee[y.id];let E;switch(y.type){case"DirectionalLight":E={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ki};break;case"SpotLight":E={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ki};break;case"PointLight":E={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ki,shadowCameraNear:1,shadowCameraFar:1e3};break}return ee[y.id]=E,E}}}let Wj=0;function Qj(ee,y){return(y.castShadow?2:0)-(ee.castShadow?2:0)+(y.map?1:0)-(ee.map?1:0)}function Yj(ee){const y=new Gj,E=Xj(),z={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let ge=0;ge<9;ge++)z.probe.push(new Vt);const ne=new Vt,ie=new rs,se=new rs;function le(ge){let ve=0,xe=0,Se=0;for(let ot=0;ot<9;ot++)z.probe[ot].set(0,0,0);let Me=0,De=0,Oe=0,Re=0,Le=0,Qe=0,Xe=0,Ze=0,it=0,et=0,ht=0;ge.sort(Qj);for(let ot=0,rt=ge.length;ot0&&(ee.has("OES_texture_float_linear")===!0?(z.rectAreaLTC1=$o.LTC_FLOAT_1,z.rectAreaLTC2=$o.LTC_FLOAT_2):(z.rectAreaLTC1=$o.LTC_HALF_1,z.rectAreaLTC2=$o.LTC_HALF_2)),z.ambient[0]=ve,z.ambient[1]=xe,z.ambient[2]=Se;const lt=z.hash;(lt.directionalLength!==Me||lt.pointLength!==De||lt.spotLength!==Oe||lt.rectAreaLength!==Re||lt.hemiLength!==Le||lt.numDirectionalShadows!==Qe||lt.numPointShadows!==Xe||lt.numSpotShadows!==Ze||lt.numSpotMaps!==it||lt.numLightProbes!==ht)&&(z.directional.length=Me,z.spot.length=Oe,z.rectArea.length=Re,z.point.length=De,z.hemi.length=Le,z.directionalShadow.length=Qe,z.directionalShadowMap.length=Qe,z.pointShadow.length=Xe,z.pointShadowMap.length=Xe,z.spotShadow.length=Ze,z.spotShadowMap.length=Ze,z.directionalShadowMatrix.length=Qe,z.pointShadowMatrix.length=Xe,z.spotLightMatrix.length=Ze+it-et,z.spotLightMap.length=it,z.numSpotLightShadowsWithMaps=et,z.numLightProbes=ht,lt.directionalLength=Me,lt.pointLength=De,lt.spotLength=Oe,lt.rectAreaLength=Re,lt.hemiLength=Le,lt.numDirectionalShadows=Qe,lt.numPointShadows=Xe,lt.numSpotShadows=Ze,lt.numSpotMaps=it,lt.numLightProbes=ht,z.version=Wj++)}function de(ge,ve){let xe=0,Se=0,Me=0,De=0,Oe=0;const Re=ve.matrixWorldInverse;for(let Le=0,Qe=ge.length;Le=se.length?(le=new n8(ee),se.push(le)):le=se[ie],le}function z(){y=new WeakMap}return{get:E,dispose:z}}const Kj=`void main() { +`+bn)}else Xt!==""?console.warn("THREE.WebGLProgram: Program Info Log:",Xt):(cn===""||Cn==="")&&(Zn=!1);Zn&&(Mt.diagnostics={runnable:En,programLog:Xt,vertexShader:{log:cn,prefix:Re},fragmentShader:{log:Cn,prefix:Le}})}ne.deleteShader(it),ne.deleteShader(et),lt=new L5(ne,Oe),ot=Ej(ne,Oe)}let lt;this.getUniforms=function(){return lt===void 0&&ht(this),lt};let ot;this.getAttributes=function(){return ot===void 0&&ht(this),ot};let rt=E.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return rt===!1&&(rt=ne.getProgramParameter(Oe,mj)),rt},this.destroy=function(){z.releaseStatesOfProgram(this),ne.deleteProgram(Oe),this.program=void 0},this.type=E.shaderType,this.name=E.shaderName,this.id=vj++,this.cacheKey=y,this.usedTimes=1,this.program=Oe,this.vertexShader=it,this.fragmentShader=et,this}let kj=0;class zj{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(y){const E=y.vertexShader,z=y.fragmentShader,ne=this._getShaderStage(E),ie=this._getShaderStage(z),se=this._getShaderCacheForMaterial(y);return se.has(ne)===!1&&(se.add(ne),ne.usedTimes++),se.has(ie)===!1&&(se.add(ie),ie.usedTimes++),this}remove(y){const E=this.materialCache.get(y);for(const z of E)z.usedTimes--,z.usedTimes===0&&this.shaderCache.delete(z.code);return this.materialCache.delete(y),this}getVertexShaderID(y){return this._getShaderStage(y.vertexShader).id}getFragmentShaderID(y){return this._getShaderStage(y.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(y){const E=this.materialCache;let z=E.get(y);return z===void 0&&(z=new Set,E.set(y,z)),z}_getShaderStage(y){const E=this.shaderCache;let z=E.get(y);return z===void 0&&(z=new Hj(y),E.set(y,z)),z}}class Hj{constructor(y){this.id=kj++,this.code=y,this.usedTimes=0}}function Uj(ee,y,E,z,ne,ie,se){const le=new Hl,de=new zj,ge=new Set,ve=[],xe=ne.logarithmicDepthBuffer,Se=ne.vertexTextures;let Me=ne.precision;const De={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function Oe(ot){return ge.add(ot),ot===0?"uv":`uv${ot}`}function Re(ot,rt,Mt,Xt,cn){const Cn=Xt.fog,En=cn.geometry,Zn=ot.isMeshStandardMaterial?Xt.environment:null,ti=(ot.isMeshStandardMaterial?E:y).get(ot.envMap||Zn),bn=ti&&ti.mapping===wp?ti.image.height:null,rn=De[ot.type];ot.precision!==null&&(Me=ne.getMaxPrecision(ot.precision),Me!==ot.precision&&console.warn("THREE.WebGLProgram.getParameters:",ot.precision,"not supported, using",Me,"instead."));const li=En.morphAttributes.position||En.morphAttributes.normal||En.morphAttributes.color,Dn=li!==void 0?li.length:0;let Wn=0;En.morphAttributes.position!==void 0&&(Wn=1),En.morphAttributes.normal!==void 0&&(Wn=2),En.morphAttributes.color!==void 0&&(Wn=3);let hi,On,dn,mi;if(rn){const is=pA[rn];hi=is.vertexShader,On=is.fragmentShader}else hi=ot.vertexShader,On=ot.fragmentShader,de.update(ot),dn=de.getVertexShaderID(ot),mi=de.getFragmentShaderID(ot);const ui=ee.getRenderTarget(),Mi=ee.state.buffers.depth.getReversed(),Qi=cn.isInstancedMesh===!0,rr=cn.isBatchedMesh===!0,Ir=!!ot.map,to=!!ot.matcap,Jo=!!ti,Ot=!!ot.aoMap,Pr=!!ot.lightMap,sr=!!ot.bumpMap,Fr=!!ot.normalMap,_i=!!ot.displacementMap,Io=!!ot.emissiveMap,Rr=!!ot.metalnessMap,po=!!ot.roughnessMap,Js=ot.anisotropy>0,hn=ot.clearcoat>0,Rt=ot.dispersion>0,yi=ot.iridescence>0,$i=ot.sheen>0,ii=ot.transmission>0,Ti=Js&&!!ot.anisotropyMap,qo=hn&&!!ot.clearcoatMap,ro=hn&&!!ot.clearcoatNormalMap,us=hn&&!!ot.clearcoatRoughnessMap,cs=yi&&!!ot.iridescenceMap,Or=yi&&!!ot.iridescenceThicknessMap,Yo=$i&&!!ot.sheenColorMap,Ls=$i&&!!ot.sheenRoughnessMap,gs=!!ot.specularMap,fr=!!ot.specularColorMap,sa=!!ot.specularIntensityMap,_n=ii&&!!ot.transmissionMap,Zo=ii&&!!ot.thicknessMap,Wr=!!ot.gradientMap,As=!!ot.alphaMap,Vr=ot.alphaTest>0,Br=!!ot.alphaHash,bs=!!ot.extensions;let lr=wd;ot.toneMapped&&(ui===null||ui.isXRRenderTarget===!0)&&(lr=ee.toneMapping);const Uo={shaderID:rn,shaderType:ot.type,shaderName:ot.name,vertexShader:hi,fragmentShader:On,defines:ot.defines,customVertexShaderID:dn,customFragmentShaderID:mi,isRawShaderMaterial:ot.isRawShaderMaterial===!0,glslVersion:ot.glslVersion,precision:Me,batching:rr,batchingColor:rr&&cn._colorsTexture!==null,instancing:Qi,instancingColor:Qi&&cn.instanceColor!==null,instancingMorph:Qi&&cn.morphTexture!==null,supportsVertexTextures:Se,outputColorSpace:ui===null?ee.outputColorSpace:ui.isXRRenderTarget===!0?ui.texture.colorSpace:vn,alphaToCoverage:!!ot.alphaToCoverage,map:Ir,matcap:to,envMap:Jo,envMapMode:Jo&&ti.mapping,envMapCubeUVHeight:bn,aoMap:Ot,lightMap:Pr,bumpMap:sr,normalMap:Fr,displacementMap:Se&&_i,emissiveMap:Io,normalMapObjectSpace:Fr&&ot.normalMapType===sn,normalMapTangentSpace:Fr&&ot.normalMapType===At,metalnessMap:Rr,roughnessMap:po,anisotropy:Js,anisotropyMap:Ti,clearcoat:hn,clearcoatMap:qo,clearcoatNormalMap:ro,clearcoatRoughnessMap:us,dispersion:Rt,iridescence:yi,iridescenceMap:cs,iridescenceThicknessMap:Or,sheen:$i,sheenColorMap:Yo,sheenRoughnessMap:Ls,specularMap:gs,specularColorMap:fr,specularIntensityMap:sa,transmission:ii,transmissionMap:_n,thicknessMap:Zo,gradientMap:Wr,opaque:ot.transparent===!1&&ot.blending===Eh&&ot.alphaToCoverage===!1,alphaMap:As,alphaTest:Vr,alphaHash:Br,combine:ot.combine,mapUv:Ir&&Oe(ot.map.channel),aoMapUv:Ot&&Oe(ot.aoMap.channel),lightMapUv:Pr&&Oe(ot.lightMap.channel),bumpMapUv:sr&&Oe(ot.bumpMap.channel),normalMapUv:Fr&&Oe(ot.normalMap.channel),displacementMapUv:_i&&Oe(ot.displacementMap.channel),emissiveMapUv:Io&&Oe(ot.emissiveMap.channel),metalnessMapUv:Rr&&Oe(ot.metalnessMap.channel),roughnessMapUv:po&&Oe(ot.roughnessMap.channel),anisotropyMapUv:Ti&&Oe(ot.anisotropyMap.channel),clearcoatMapUv:qo&&Oe(ot.clearcoatMap.channel),clearcoatNormalMapUv:ro&&Oe(ot.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:us&&Oe(ot.clearcoatRoughnessMap.channel),iridescenceMapUv:cs&&Oe(ot.iridescenceMap.channel),iridescenceThicknessMapUv:Or&&Oe(ot.iridescenceThicknessMap.channel),sheenColorMapUv:Yo&&Oe(ot.sheenColorMap.channel),sheenRoughnessMapUv:Ls&&Oe(ot.sheenRoughnessMap.channel),specularMapUv:gs&&Oe(ot.specularMap.channel),specularColorMapUv:fr&&Oe(ot.specularColorMap.channel),specularIntensityMapUv:sa&&Oe(ot.specularIntensityMap.channel),transmissionMapUv:_n&&Oe(ot.transmissionMap.channel),thicknessMapUv:Zo&&Oe(ot.thicknessMap.channel),alphaMapUv:As&&Oe(ot.alphaMap.channel),vertexTangents:!!En.attributes.tangent&&(Fr||Js),vertexColors:ot.vertexColors,vertexAlphas:ot.vertexColors===!0&&!!En.attributes.color&&En.attributes.color.itemSize===4,pointsUvs:cn.isPoints===!0&&!!En.attributes.uv&&(Ir||As),fog:!!Cn,useFog:ot.fog===!0,fogExp2:!!Cn&&Cn.isFogExp2,flatShading:ot.flatShading===!0&&ot.wireframe===!1,sizeAttenuation:ot.sizeAttenuation===!0,logarithmicDepthBuffer:xe,reverseDepthBuffer:Mi,skinning:cn.isSkinnedMesh===!0,morphTargets:En.morphAttributes.position!==void 0,morphNormals:En.morphAttributes.normal!==void 0,morphColors:En.morphAttributes.color!==void 0,morphTargetsCount:Dn,morphTextureStride:Wn,numDirLights:rt.directional.length,numPointLights:rt.point.length,numSpotLights:rt.spot.length,numSpotLightMaps:rt.spotLightMap.length,numRectAreaLights:rt.rectArea.length,numHemiLights:rt.hemi.length,numDirLightShadows:rt.directionalShadowMap.length,numPointLightShadows:rt.pointShadowMap.length,numSpotLightShadows:rt.spotShadowMap.length,numSpotLightShadowsWithMaps:rt.numSpotLightShadowsWithMaps,numLightProbes:rt.numLightProbes,numClippingPlanes:se.numPlanes,numClipIntersection:se.numIntersection,dithering:ot.dithering,shadowMapEnabled:ee.shadowMap.enabled&&Mt.length>0,shadowMapType:ee.shadowMap.type,toneMapping:lr,decodeVideoTexture:Ir&&ot.map.isVideoTexture===!0&&ys.getTransfer(ot.map.colorSpace)===kn,decodeVideoTextureEmissive:Io&&ot.emissiveMap.isVideoTexture===!0&&ys.getTransfer(ot.emissiveMap.colorSpace)===kn,premultipliedAlpha:ot.premultipliedAlpha,doubleSided:ot.side===eh,flipSided:ot.side===au,useDepthPacking:ot.depthPacking>=0,depthPacking:ot.depthPacking||0,index0AttributeName:ot.index0AttributeName,extensionClipCullDistance:bs&&ot.extensions.clipCullDistance===!0&&z.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(bs&&ot.extensions.multiDraw===!0||rr)&&z.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:z.has("KHR_parallel_shader_compile"),customProgramCacheKey:ot.customProgramCacheKey()};return Uo.vertexUv1s=ge.has(1),Uo.vertexUv2s=ge.has(2),Uo.vertexUv3s=ge.has(3),ge.clear(),Uo}function Le(ot){const rt=[];if(ot.shaderID?rt.push(ot.shaderID):(rt.push(ot.customVertexShaderID),rt.push(ot.customFragmentShaderID)),ot.defines!==void 0)for(const Mt in ot.defines)rt.push(Mt),rt.push(ot.defines[Mt]);return ot.isRawShaderMaterial===!1&&(Qe(rt,ot),Xe(rt,ot),rt.push(ee.outputColorSpace)),rt.push(ot.customProgramCacheKey),rt.join()}function Qe(ot,rt){ot.push(rt.precision),ot.push(rt.outputColorSpace),ot.push(rt.envMapMode),ot.push(rt.envMapCubeUVHeight),ot.push(rt.mapUv),ot.push(rt.alphaMapUv),ot.push(rt.lightMapUv),ot.push(rt.aoMapUv),ot.push(rt.bumpMapUv),ot.push(rt.normalMapUv),ot.push(rt.displacementMapUv),ot.push(rt.emissiveMapUv),ot.push(rt.metalnessMapUv),ot.push(rt.roughnessMapUv),ot.push(rt.anisotropyMapUv),ot.push(rt.clearcoatMapUv),ot.push(rt.clearcoatNormalMapUv),ot.push(rt.clearcoatRoughnessMapUv),ot.push(rt.iridescenceMapUv),ot.push(rt.iridescenceThicknessMapUv),ot.push(rt.sheenColorMapUv),ot.push(rt.sheenRoughnessMapUv),ot.push(rt.specularMapUv),ot.push(rt.specularColorMapUv),ot.push(rt.specularIntensityMapUv),ot.push(rt.transmissionMapUv),ot.push(rt.thicknessMapUv),ot.push(rt.combine),ot.push(rt.fogExp2),ot.push(rt.sizeAttenuation),ot.push(rt.morphTargetsCount),ot.push(rt.morphAttributeCount),ot.push(rt.numDirLights),ot.push(rt.numPointLights),ot.push(rt.numSpotLights),ot.push(rt.numSpotLightMaps),ot.push(rt.numHemiLights),ot.push(rt.numRectAreaLights),ot.push(rt.numDirLightShadows),ot.push(rt.numPointLightShadows),ot.push(rt.numSpotLightShadows),ot.push(rt.numSpotLightShadowsWithMaps),ot.push(rt.numLightProbes),ot.push(rt.shadowMapType),ot.push(rt.toneMapping),ot.push(rt.numClippingPlanes),ot.push(rt.numClipIntersection),ot.push(rt.depthPacking)}function Xe(ot,rt){le.disableAll(),rt.supportsVertexTextures&&le.enable(0),rt.instancing&&le.enable(1),rt.instancingColor&&le.enable(2),rt.instancingMorph&&le.enable(3),rt.matcap&&le.enable(4),rt.envMap&&le.enable(5),rt.normalMapObjectSpace&&le.enable(6),rt.normalMapTangentSpace&&le.enable(7),rt.clearcoat&&le.enable(8),rt.iridescence&&le.enable(9),rt.alphaTest&&le.enable(10),rt.vertexColors&&le.enable(11),rt.vertexAlphas&&le.enable(12),rt.vertexUv1s&&le.enable(13),rt.vertexUv2s&&le.enable(14),rt.vertexUv3s&&le.enable(15),rt.vertexTangents&&le.enable(16),rt.anisotropy&&le.enable(17),rt.alphaHash&&le.enable(18),rt.batching&&le.enable(19),rt.dispersion&&le.enable(20),rt.batchingColor&&le.enable(21),rt.gradientMap&&le.enable(22),ot.push(le.mask),le.disableAll(),rt.fog&&le.enable(0),rt.useFog&&le.enable(1),rt.flatShading&&le.enable(2),rt.logarithmicDepthBuffer&&le.enable(3),rt.reverseDepthBuffer&&le.enable(4),rt.skinning&&le.enable(5),rt.morphTargets&&le.enable(6),rt.morphNormals&&le.enable(7),rt.morphColors&&le.enable(8),rt.premultipliedAlpha&&le.enable(9),rt.shadowMapEnabled&&le.enable(10),rt.doubleSided&&le.enable(11),rt.flipSided&&le.enable(12),rt.useDepthPacking&&le.enable(13),rt.dithering&&le.enable(14),rt.transmission&&le.enable(15),rt.sheen&&le.enable(16),rt.opaque&&le.enable(17),rt.pointsUvs&&le.enable(18),rt.decodeVideoTexture&&le.enable(19),rt.decodeVideoTextureEmissive&&le.enable(20),rt.alphaToCoverage&&le.enable(21),ot.push(le.mask)}function Ze(ot){const rt=De[ot.type];let Mt;if(rt){const Xt=pA[rt];Mt=rC.clone(Xt.uniforms)}else Mt=ot.uniforms;return Mt}function it(ot,rt){let Mt;for(let Xt=0,cn=ve.length;Xt0?z.push(Le):Me.transparent===!0?ne.push(Le):E.push(Le)}function de(xe,Se,Me,De,Oe,Re){const Le=se(xe,Se,Me,De,Oe,Re);Me.transmission>0?z.unshift(Le):Me.transparent===!0?ne.unshift(Le):E.unshift(Le)}function ge(xe,Se){E.length>1&&E.sort(xe||jj),z.length>1&&z.sort(Se||t8),ne.length>1&&ne.sort(Se||t8)}function ve(){for(let xe=y,Se=ee.length;xe=ie.length?(se=new n8,ie.push(se)):se=ie[ne],se}function E(){ee=new WeakMap}return{get:y,dispose:E}}function Xj(){const ee={};return{get:function(y){if(ee[y.id]!==void 0)return ee[y.id];let E;switch(y.type){case"DirectionalLight":E={direction:new Vt,color:new fo};break;case"SpotLight":E={position:new Vt,direction:new Vt,color:new fo,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":E={position:new Vt,color:new fo,distance:0,decay:0};break;case"HemisphereLight":E={direction:new Vt,skyColor:new fo,groundColor:new fo};break;case"RectAreaLight":E={color:new fo,position:new Vt,halfWidth:new Vt,halfHeight:new Vt};break}return ee[y.id]=E,E}}}function Wj(){const ee={};return{get:function(y){if(ee[y.id]!==void 0)return ee[y.id];let E;switch(y.type){case"DirectionalLight":E={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ki};break;case"SpotLight":E={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ki};break;case"PointLight":E={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ki,shadowCameraNear:1,shadowCameraFar:1e3};break}return ee[y.id]=E,E}}}let Qj=0;function Yj(ee,y){return(y.castShadow?2:0)-(ee.castShadow?2:0)+(y.map?1:0)-(ee.map?1:0)}function Zj(ee){const y=new Xj,E=Wj(),z={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let ge=0;ge<9;ge++)z.probe.push(new Vt);const ne=new Vt,ie=new rs,se=new rs;function le(ge){let ve=0,xe=0,Se=0;for(let ot=0;ot<9;ot++)z.probe[ot].set(0,0,0);let Me=0,De=0,Oe=0,Re=0,Le=0,Qe=0,Xe=0,Ze=0,it=0,et=0,ht=0;ge.sort(Yj);for(let ot=0,rt=ge.length;ot0&&(ee.has("OES_texture_float_linear")===!0?(z.rectAreaLTC1=$o.LTC_FLOAT_1,z.rectAreaLTC2=$o.LTC_FLOAT_2):(z.rectAreaLTC1=$o.LTC_HALF_1,z.rectAreaLTC2=$o.LTC_HALF_2)),z.ambient[0]=ve,z.ambient[1]=xe,z.ambient[2]=Se;const lt=z.hash;(lt.directionalLength!==Me||lt.pointLength!==De||lt.spotLength!==Oe||lt.rectAreaLength!==Re||lt.hemiLength!==Le||lt.numDirectionalShadows!==Qe||lt.numPointShadows!==Xe||lt.numSpotShadows!==Ze||lt.numSpotMaps!==it||lt.numLightProbes!==ht)&&(z.directional.length=Me,z.spot.length=Oe,z.rectArea.length=Re,z.point.length=De,z.hemi.length=Le,z.directionalShadow.length=Qe,z.directionalShadowMap.length=Qe,z.pointShadow.length=Xe,z.pointShadowMap.length=Xe,z.spotShadow.length=Ze,z.spotShadowMap.length=Ze,z.directionalShadowMatrix.length=Qe,z.pointShadowMatrix.length=Xe,z.spotLightMatrix.length=Ze+it-et,z.spotLightMap.length=it,z.numSpotLightShadowsWithMaps=et,z.numLightProbes=ht,lt.directionalLength=Me,lt.pointLength=De,lt.spotLength=Oe,lt.rectAreaLength=Re,lt.hemiLength=Le,lt.numDirectionalShadows=Qe,lt.numPointShadows=Xe,lt.numSpotShadows=Ze,lt.numSpotMaps=it,lt.numLightProbes=ht,z.version=Qj++)}function de(ge,ve){let xe=0,Se=0,Me=0,De=0,Oe=0;const Re=ve.matrixWorldInverse;for(let Le=0,Qe=ge.length;Le=se.length?(le=new i8(ee),se.push(le)):le=se[ie],le}function z(){y=new WeakMap}return{get:E,dispose:z}}const Jj=`void main() { gl_Position = vec4( position, 1.0 ); -}`,Jj=`uniform sampler2D shadow_pass; +}`,qj=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -4752,12 +4752,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function qj(ee,y,E){let z=new L0;const ne=new ki,ie=new ki,se=new Ks,le=new rA({depthPacking:_e}),de=new ew,ge={},ve=E.maxTextureSize,xe={[$c]:au,[au]:$c,[eh]:eh},Se=new np({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ki},radius:{value:4}},vertexShader:Kj,fragmentShader:Jj}),Me=Se.clone();Me.defines.HORIZONTAL_PASS=1;const De=new Ha;De.setAttribute("position",new wl(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const Oe=new lu(De,Se),Re=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=xy;let Le=this.type;this.render=function(et,ht,lt){if(Re.enabled===!1||Re.autoUpdate===!1&&Re.needsUpdate===!1||et.length===0)return;const ot=ee.getRenderTarget(),rt=ee.getActiveCubeFace(),Mt=ee.getActiveMipmapLevel(),Xt=ee.state;Xt.setBlending(eu),Xt.buffers.color.setClear(1,1,1,1),Xt.buffers.depth.setTest(!0),Xt.setScissorTest(!1);const cn=Le!==_c&&this.type===_c,Cn=Le===_c&&this.type!==_c;for(let En=0,Zn=et.length;Enve||ne.y>ve)&&(ne.x>ve&&(ie.x=Math.floor(ve/rn.x),ne.x=ie.x*rn.x,bn.mapSize.x=ie.x),ne.y>ve&&(ie.y=Math.floor(ve/rn.y),ne.y=ie.y*rn.y,bn.mapSize.y=ie.y)),bn.map===null||cn===!0||Cn===!0){const Dn=this.type!==_c?{minFilter:xu,magFilter:xu}:{};bn.map!==null&&bn.map.dispose(),bn.map=new mm(ne.x,ne.y,Dn),bn.map.texture.name=ti.name+".shadowMap",bn.camera.updateProjectionMatrix()}ee.setRenderTarget(bn.map),ee.clear();const li=bn.getViewportCount();for(let Dn=0;Dn0||ht.map&&ht.alphaTest>0||ht.alphaToCoverage===!0){const Xt=rt.uuid,cn=ht.uuid;let Cn=ge[Xt];Cn===void 0&&(Cn={},ge[Xt]=Cn);let En=Cn[cn];En===void 0&&(En=rt.clone(),Cn[cn]=En,ht.addEventListener("dispose",it)),rt=En}if(rt.visible=ht.visible,rt.wireframe=ht.wireframe,ot===_c?rt.side=ht.shadowSide!==null?ht.shadowSide:ht.side:rt.side=ht.shadowSide!==null?ht.shadowSide:xe[ht.side],rt.alphaMap=ht.alphaMap,rt.alphaTest=ht.alphaToCoverage===!0?.5:ht.alphaTest,rt.map=ht.map,rt.clipShadows=ht.clipShadows,rt.clippingPlanes=ht.clippingPlanes,rt.clipIntersection=ht.clipIntersection,rt.displacementMap=ht.displacementMap,rt.displacementScale=ht.displacementScale,rt.displacementBias=ht.displacementBias,rt.wireframeLinewidth=ht.wireframeLinewidth,rt.linewidth=ht.linewidth,lt.isPointLight===!0&&rt.isMeshDistanceMaterial===!0){const Xt=ee.properties.get(rt);Xt.light=lt}return rt}function Ze(et,ht,lt,ot,rt){if(et.visible===!1)return;if(et.layers.test(ht.layers)&&(et.isMesh||et.isLine||et.isPoints)&&(et.castShadow||et.receiveShadow&&rt===_c)&&(!et.frustumCulled||z.intersectsObject(et))){et.modelViewMatrix.multiplyMatrices(lt.matrixWorldInverse,et.matrixWorld);const cn=y.update(et),Cn=et.material;if(Array.isArray(Cn)){const En=cn.groups;for(let Zn=0,ti=En.length;Zn=1):bn.indexOf("OpenGL ES")!==-1&&(ti=parseFloat(/^OpenGL ES (\d)/.exec(bn)[1]),Zn=ti>=2);let rn=null,li={};const Dn=ee.getParameter(ee.SCISSOR_BOX),Wn=ee.getParameter(ee.VIEWPORT),hi=new Ks().fromArray(Dn),On=new Ks().fromArray(Wn);function dn(_n,Zo,Wr,As){const Vr=new Uint8Array(4),Br=ee.createTexture();ee.bindTexture(_n,Br),ee.texParameteri(_n,ee.TEXTURE_MIN_FILTER,ee.NEAREST),ee.texParameteri(_n,ee.TEXTURE_MAG_FILTER,ee.NEAREST);for(let bs=0;bsyi||ii.height>yi)&&($i=yi/Math.max(ii.width,ii.height)),$i<1)if(typeof HTMLImageElement!="undefined"&&hn instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&hn instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&hn instanceof ImageBitmap||typeof VideoFrame!="undefined"&&hn instanceof VideoFrame){const Ti=Math.floor($i*ii.width),qo=Math.floor($i*ii.height);xe===void 0&&(xe=De(Ti,qo));const ro=Rt?De(Ti,qo):xe;return ro.width=Ti,ro.height=qo,ro.getContext("2d").drawImage(hn,0,0,Ti,qo),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+ii.width+"x"+ii.height+") to ("+Ti+"x"+qo+")."),ro}else return"data"in hn&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+ii.width+"x"+ii.height+")."),hn;return hn}function Re(hn){return hn.generateMipmaps}function Le(hn){ee.generateMipmap(hn)}function Qe(hn){return hn.isWebGLCubeRenderTarget?ee.TEXTURE_CUBE_MAP:hn.isWebGL3DRenderTarget?ee.TEXTURE_3D:hn.isWebGLArrayRenderTarget||hn.isCompressedArrayTexture?ee.TEXTURE_2D_ARRAY:ee.TEXTURE_2D}function Xe(hn,Rt,yi,$i,ii=!1){if(hn!==null){if(ee[hn]!==void 0)return ee[hn];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+hn+"'")}let Ti=Rt;if(Rt===ee.RED&&(yi===ee.FLOAT&&(Ti=ee.R32F),yi===ee.HALF_FLOAT&&(Ti=ee.R16F),yi===ee.UNSIGNED_BYTE&&(Ti=ee.R8)),Rt===ee.RED_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.R8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.R16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.R32UI),yi===ee.BYTE&&(Ti=ee.R8I),yi===ee.SHORT&&(Ti=ee.R16I),yi===ee.INT&&(Ti=ee.R32I)),Rt===ee.RG&&(yi===ee.FLOAT&&(Ti=ee.RG32F),yi===ee.HALF_FLOAT&&(Ti=ee.RG16F),yi===ee.UNSIGNED_BYTE&&(Ti=ee.RG8)),Rt===ee.RG_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.RG8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.RG16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.RG32UI),yi===ee.BYTE&&(Ti=ee.RG8I),yi===ee.SHORT&&(Ti=ee.RG16I),yi===ee.INT&&(Ti=ee.RG32I)),Rt===ee.RGB_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.RGB8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.RGB16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.RGB32UI),yi===ee.BYTE&&(Ti=ee.RGB8I),yi===ee.SHORT&&(Ti=ee.RGB16I),yi===ee.INT&&(Ti=ee.RGB32I)),Rt===ee.RGBA_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.RGBA8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.RGBA16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.RGBA32UI),yi===ee.BYTE&&(Ti=ee.RGBA8I),yi===ee.SHORT&&(Ti=ee.RGBA16I),yi===ee.INT&&(Ti=ee.RGBA32I)),Rt===ee.RGB&&yi===ee.UNSIGNED_INT_5_9_9_9_REV&&(Ti=ee.RGB9_E5),Rt===ee.RGBA){const qo=ii?Ri:ys.getTransfer($i);yi===ee.FLOAT&&(Ti=ee.RGBA32F),yi===ee.HALF_FLOAT&&(Ti=ee.RGBA16F),yi===ee.UNSIGNED_BYTE&&(Ti=qo===kn?ee.SRGB8_ALPHA8:ee.RGBA8),yi===ee.UNSIGNED_SHORT_4_4_4_4&&(Ti=ee.RGBA4),yi===ee.UNSIGNED_SHORT_5_5_5_1&&(Ti=ee.RGB5_A1)}return(Ti===ee.R16F||Ti===ee.R32F||Ti===ee.RG16F||Ti===ee.RG32F||Ti===ee.RGBA16F||Ti===ee.RGBA32F)&&y.get("EXT_color_buffer_float"),Ti}function Ze(hn,Rt){let yi;return hn?Rt===null||Rt===nu||Rt===_d?yi=ee.DEPTH24_STENCIL8:Rt===wu?yi=ee.DEPTH32F_STENCIL8:Rt===rh&&(yi=ee.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):Rt===null||Rt===nu||Rt===_d?yi=ee.DEPTH_COMPONENT24:Rt===wu?yi=ee.DEPTH_COMPONENT32F:Rt===rh&&(yi=ee.DEPTH_COMPONENT16),yi}function it(hn,Rt){return Re(hn)===!0||hn.isFramebufferTexture&&hn.minFilter!==xu&&hn.minFilter!==tu?Math.log2(Math.max(Rt.width,Rt.height))+1:hn.mipmaps!==void 0&&hn.mipmaps.length>0?hn.mipmaps.length:hn.isCompressedTexture&&Array.isArray(hn.image)?Rt.mipmaps.length:1}function et(hn){const Rt=hn.target;Rt.removeEventListener("dispose",et),lt(Rt),Rt.isVideoTexture&&ve.delete(Rt)}function ht(hn){const Rt=hn.target;Rt.removeEventListener("dispose",ht),rt(Rt)}function lt(hn){const Rt=z.get(hn);if(Rt.__webglInit===void 0)return;const yi=hn.source,$i=Se.get(yi);if($i){const ii=$i[Rt.__cacheKey];ii.usedTimes--,ii.usedTimes===0&&ot(hn),Object.keys($i).length===0&&Se.delete(yi)}z.remove(hn)}function ot(hn){const Rt=z.get(hn);ee.deleteTexture(Rt.__webglTexture);const yi=hn.source,$i=Se.get(yi);delete $i[Rt.__cacheKey],se.memory.textures--}function rt(hn){const Rt=z.get(hn);if(hn.depthTexture&&(hn.depthTexture.dispose(),z.remove(hn.depthTexture)),hn.isWebGLCubeRenderTarget)for(let $i=0;$i<6;$i++){if(Array.isArray(Rt.__webglFramebuffer[$i]))for(let ii=0;ii=ne.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+hn+" texture units while this GPU supports only "+ne.maxTextures),Mt+=1,hn}function Cn(hn){const Rt=[];return Rt.push(hn.wrapS),Rt.push(hn.wrapT),Rt.push(hn.wrapR||0),Rt.push(hn.magFilter),Rt.push(hn.minFilter),Rt.push(hn.anisotropy),Rt.push(hn.internalFormat),Rt.push(hn.format),Rt.push(hn.type),Rt.push(hn.generateMipmaps),Rt.push(hn.premultiplyAlpha),Rt.push(hn.flipY),Rt.push(hn.unpackAlignment),Rt.push(hn.colorSpace),Rt.join()}function En(hn,Rt){const yi=z.get(hn);if(hn.isVideoTexture&&Rr(hn),hn.isRenderTargetTexture===!1&&hn.version>0&&yi.__version!==hn.version){const $i=hn.image;if($i===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if($i.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{mi(yi,hn,Rt);return}}E.bindTexture(ee.TEXTURE_2D,yi.__webglTexture,ee.TEXTURE0+Rt)}function Zn(hn,Rt){const yi=z.get(hn);if(hn.version>0&&yi.__version!==hn.version){mi(yi,hn,Rt);return}E.bindTexture(ee.TEXTURE_2D_ARRAY,yi.__webglTexture,ee.TEXTURE0+Rt)}function ti(hn,Rt){const yi=z.get(hn);if(hn.version>0&&yi.__version!==hn.version){mi(yi,hn,Rt);return}E.bindTexture(ee.TEXTURE_3D,yi.__webglTexture,ee.TEXTURE0+Rt)}function bn(hn,Rt){const yi=z.get(hn);if(hn.version>0&&yi.__version!==hn.version){ui(yi,hn,Rt);return}E.bindTexture(ee.TEXTURE_CUBE_MAP,yi.__webglTexture,ee.TEXTURE0+Rt)}const rn={[ih]:ee.REPEAT,[bh]:ee.CLAMP_TO_EDGE,[Sp]:ee.MIRRORED_REPEAT},li={[xu]:ee.NEAREST,[Pp]:ee.NEAREST_MIPMAP_NEAREST,[vg]:ee.NEAREST_MIPMAP_LINEAR,[tu]:ee.LINEAR,[Cp]:ee.LINEAR_MIPMAP_NEAREST,[Nc]:ee.LINEAR_MIPMAP_LINEAR},Dn={[ic]:ee.NEVER,[ef]:ee.ALWAYS,[sl]:ee.LESS,[vc]:ee.LEQUAL,[Su]:ee.EQUAL,[du]:ee.GEQUAL,[kc]:ee.GREATER,[Ef]:ee.NOTEQUAL};function Wn(hn,Rt){if(Rt.type===wu&&y.has("OES_texture_float_linear")===!1&&(Rt.magFilter===tu||Rt.magFilter===Cp||Rt.magFilter===vg||Rt.magFilter===Nc||Rt.minFilter===tu||Rt.minFilter===Cp||Rt.minFilter===vg||Rt.minFilter===Nc)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ee.texParameteri(hn,ee.TEXTURE_WRAP_S,rn[Rt.wrapS]),ee.texParameteri(hn,ee.TEXTURE_WRAP_T,rn[Rt.wrapT]),(hn===ee.TEXTURE_3D||hn===ee.TEXTURE_2D_ARRAY)&&ee.texParameteri(hn,ee.TEXTURE_WRAP_R,rn[Rt.wrapR]),ee.texParameteri(hn,ee.TEXTURE_MAG_FILTER,li[Rt.magFilter]),ee.texParameteri(hn,ee.TEXTURE_MIN_FILTER,li[Rt.minFilter]),Rt.compareFunction&&(ee.texParameteri(hn,ee.TEXTURE_COMPARE_MODE,ee.COMPARE_REF_TO_TEXTURE),ee.texParameteri(hn,ee.TEXTURE_COMPARE_FUNC,Dn[Rt.compareFunction])),y.has("EXT_texture_filter_anisotropic")===!0){if(Rt.magFilter===xu||Rt.minFilter!==vg&&Rt.minFilter!==Nc||Rt.type===wu&&y.has("OES_texture_float_linear")===!1)return;if(Rt.anisotropy>1||z.get(Rt).__currentAnisotropy){const yi=y.get("EXT_texture_filter_anisotropic");ee.texParameterf(hn,yi.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(Rt.anisotropy,ne.getMaxAnisotropy())),z.get(Rt).__currentAnisotropy=Rt.anisotropy}}}function hi(hn,Rt){let yi=!1;hn.__webglInit===void 0&&(hn.__webglInit=!0,Rt.addEventListener("dispose",et));const $i=Rt.source;let ii=Se.get($i);ii===void 0&&(ii={},Se.set($i,ii));const Ti=Cn(Rt);if(Ti!==hn.__cacheKey){ii[Ti]===void 0&&(ii[Ti]={texture:ee.createTexture(),usedTimes:0},se.memory.textures++,yi=!0),ii[Ti].usedTimes++;const qo=ii[hn.__cacheKey];qo!==void 0&&(ii[hn.__cacheKey].usedTimes--,qo.usedTimes===0&&ot(Rt)),hn.__cacheKey=Ti,hn.__webglTexture=ii[Ti].texture}return yi}function On(hn,Rt,yi){return Math.floor(Math.floor(hn/yi)/Rt)}function dn(hn,Rt,yi,$i){const Ti=hn.updateRanges;if(Ti.length===0)E.texSubImage2D(ee.TEXTURE_2D,0,0,0,Rt.width,Rt.height,yi,$i,Rt.data);else{Ti.sort((Or,Yo)=>Or.start-Yo.start);let qo=0;for(let Or=1;Or0){_n&&Zo&&E.texStorage2D(ee.TEXTURE_2D,As,gs,sa[0].width,sa[0].height);for(let Vr=0,Br=sa.length;Vr0){const bs=kf(fr.width,fr.height,Rt.format,Rt.type);for(const lr of Rt.layerUpdates){const Uo=fr.data.subarray(lr*bs/fr.data.BYTES_PER_ELEMENT,(lr+1)*bs/fr.data.BYTES_PER_ELEMENT);E.compressedTexSubImage3D(ee.TEXTURE_2D_ARRAY,Vr,0,0,lr,fr.width,fr.height,1,Yo,Uo)}Rt.clearLayerUpdates()}else E.compressedTexSubImage3D(ee.TEXTURE_2D_ARRAY,Vr,0,0,0,fr.width,fr.height,Or.depth,Yo,fr.data)}else E.compressedTexImage3D(ee.TEXTURE_2D_ARRAY,Vr,gs,fr.width,fr.height,Or.depth,0,fr.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else _n?Wr&&E.texSubImage3D(ee.TEXTURE_2D_ARRAY,Vr,0,0,0,fr.width,fr.height,Or.depth,Yo,Ls,fr.data):E.texImage3D(ee.TEXTURE_2D_ARRAY,Vr,gs,fr.width,fr.height,Or.depth,0,Yo,Ls,fr.data)}else{_n&&Zo&&E.texStorage2D(ee.TEXTURE_2D,As,gs,sa[0].width,sa[0].height);for(let Vr=0,Br=sa.length;Vr0){const Vr=kf(Or.width,Or.height,Rt.format,Rt.type);for(const Br of Rt.layerUpdates){const bs=Or.data.subarray(Br*Vr/Or.data.BYTES_PER_ELEMENT,(Br+1)*Vr/Or.data.BYTES_PER_ELEMENT);E.texSubImage3D(ee.TEXTURE_2D_ARRAY,0,0,0,Br,Or.width,Or.height,1,Yo,Ls,bs)}Rt.clearLayerUpdates()}else E.texSubImage3D(ee.TEXTURE_2D_ARRAY,0,0,0,0,Or.width,Or.height,Or.depth,Yo,Ls,Or.data)}else E.texImage3D(ee.TEXTURE_2D_ARRAY,0,gs,Or.width,Or.height,Or.depth,0,Yo,Ls,Or.data);else if(Rt.isData3DTexture)_n?(Zo&&E.texStorage3D(ee.TEXTURE_3D,As,gs,Or.width,Or.height,Or.depth),Wr&&E.texSubImage3D(ee.TEXTURE_3D,0,0,0,0,Or.width,Or.height,Or.depth,Yo,Ls,Or.data)):E.texImage3D(ee.TEXTURE_3D,0,gs,Or.width,Or.height,Or.depth,0,Yo,Ls,Or.data);else if(Rt.isFramebufferTexture){if(Zo)if(_n)E.texStorage2D(ee.TEXTURE_2D,As,gs,Or.width,Or.height);else{let Vr=Or.width,Br=Or.height;for(let bs=0;bs>=1,Br>>=1}}else if(sa.length>0){if(_n&&Zo){const Vr=Js(sa[0]);E.texStorage2D(ee.TEXTURE_2D,As,gs,Vr.width,Vr.height)}for(let Vr=0,Br=sa.length;Vr0&&As++;const Br=Js(Yo[0]);E.texStorage2D(ee.TEXTURE_CUBE_MAP,As,sa,Br.width,Br.height)}for(let Br=0;Br<6;Br++)if(Or){_n?Wr&&E.texSubImage2D(ee.TEXTURE_CUBE_MAP_POSITIVE_X+Br,0,0,0,Yo[Br].width,Yo[Br].height,gs,fr,Yo[Br].data):E.texImage2D(ee.TEXTURE_CUBE_MAP_POSITIVE_X+Br,0,sa,Yo[Br].width,Yo[Br].height,0,gs,fr,Yo[Br].data);for(let bs=0;bs>Ti),Ls=Math.max(1,Rt.height>>Ti);ii===ee.TEXTURE_3D||ii===ee.TEXTURE_2D_ARRAY?E.texImage3D(ii,Ti,us,Yo,Ls,Rt.depth,0,qo,ro,null):E.texImage2D(ii,Ti,us,Yo,Ls,0,qo,ro,null)}E.bindFramebuffer(ee.FRAMEBUFFER,hn),Io(Rt)?le.framebufferTexture2DMultisampleEXT(ee.FRAMEBUFFER,$i,ii,Or.__webglTexture,0,_i(Rt)):(ii===ee.TEXTURE_2D||ii>=ee.TEXTURE_CUBE_MAP_POSITIVE_X&&ii<=ee.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&ee.framebufferTexture2D(ee.FRAMEBUFFER,$i,ii,Or.__webglTexture,Ti),E.bindFramebuffer(ee.FRAMEBUFFER,null)}function Qi(hn,Rt,yi){if(ee.bindRenderbuffer(ee.RENDERBUFFER,hn),Rt.depthBuffer){const $i=Rt.depthTexture,ii=$i&&$i.isDepthTexture?$i.type:null,Ti=Ze(Rt.stencilBuffer,ii),qo=Rt.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,ro=_i(Rt);Io(Rt)?le.renderbufferStorageMultisampleEXT(ee.RENDERBUFFER,ro,Ti,Rt.width,Rt.height):yi?ee.renderbufferStorageMultisample(ee.RENDERBUFFER,ro,Ti,Rt.width,Rt.height):ee.renderbufferStorage(ee.RENDERBUFFER,Ti,Rt.width,Rt.height),ee.framebufferRenderbuffer(ee.FRAMEBUFFER,qo,ee.RENDERBUFFER,hn)}else{const $i=Rt.textures;for(let ii=0;ii<$i.length;ii++){const Ti=$i[ii],qo=ie.convert(Ti.format,Ti.colorSpace),ro=ie.convert(Ti.type),us=Xe(Ti.internalFormat,qo,ro,Ti.colorSpace),cs=_i(Rt);yi&&Io(Rt)===!1?ee.renderbufferStorageMultisample(ee.RENDERBUFFER,cs,us,Rt.width,Rt.height):Io(Rt)?le.renderbufferStorageMultisampleEXT(ee.RENDERBUFFER,cs,us,Rt.width,Rt.height):ee.renderbufferStorage(ee.RENDERBUFFER,us,Rt.width,Rt.height)}}ee.bindRenderbuffer(ee.RENDERBUFFER,null)}function rr(hn,Rt){if(Rt&&Rt.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(E.bindFramebuffer(ee.FRAMEBUFFER,hn),!(Rt.depthTexture&&Rt.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");const $i=z.get(Rt.depthTexture);$i.__renderTarget=Rt,(!$i.__webglTexture||Rt.depthTexture.image.width!==Rt.width||Rt.depthTexture.image.height!==Rt.height)&&(Rt.depthTexture.image.width=Rt.width,Rt.depthTexture.image.height=Rt.height,Rt.depthTexture.needsUpdate=!0),En(Rt.depthTexture,0);const ii=$i.__webglTexture,Ti=_i(Rt);if(Rt.depthTexture.format===Oh)Io(Rt)?le.framebufferTexture2DMultisampleEXT(ee.FRAMEBUFFER,ee.DEPTH_ATTACHMENT,ee.TEXTURE_2D,ii,0,Ti):ee.framebufferTexture2D(ee.FRAMEBUFFER,ee.DEPTH_ATTACHMENT,ee.TEXTURE_2D,ii,0);else if(Rt.depthTexture.format===Mh)Io(Rt)?le.framebufferTexture2DMultisampleEXT(ee.FRAMEBUFFER,ee.DEPTH_STENCIL_ATTACHMENT,ee.TEXTURE_2D,ii,0,Ti):ee.framebufferTexture2D(ee.FRAMEBUFFER,ee.DEPTH_STENCIL_ATTACHMENT,ee.TEXTURE_2D,ii,0);else throw new Error("Unknown depthTexture format")}function Ir(hn){const Rt=z.get(hn),yi=hn.isWebGLCubeRenderTarget===!0;if(Rt.__boundDepthTexture!==hn.depthTexture){const $i=hn.depthTexture;if(Rt.__depthDisposeCallback&&Rt.__depthDisposeCallback(),$i){const ii=()=>{delete Rt.__boundDepthTexture,delete Rt.__depthDisposeCallback,$i.removeEventListener("dispose",ii)};$i.addEventListener("dispose",ii),Rt.__depthDisposeCallback=ii}Rt.__boundDepthTexture=$i}if(hn.depthTexture&&!Rt.__autoAllocateDepthBuffer){if(yi)throw new Error("target.depthTexture not supported in Cube render targets");const $i=hn.texture.mipmaps;$i&&$i.length>0?rr(Rt.__webglFramebuffer[0],hn):rr(Rt.__webglFramebuffer,hn)}else if(yi){Rt.__webglDepthbuffer=[];for(let $i=0;$i<6;$i++)if(E.bindFramebuffer(ee.FRAMEBUFFER,Rt.__webglFramebuffer[$i]),Rt.__webglDepthbuffer[$i]===void 0)Rt.__webglDepthbuffer[$i]=ee.createRenderbuffer(),Qi(Rt.__webglDepthbuffer[$i],hn,!1);else{const ii=hn.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,Ti=Rt.__webglDepthbuffer[$i];ee.bindRenderbuffer(ee.RENDERBUFFER,Ti),ee.framebufferRenderbuffer(ee.FRAMEBUFFER,ii,ee.RENDERBUFFER,Ti)}}else{const $i=hn.texture.mipmaps;if($i&&$i.length>0?E.bindFramebuffer(ee.FRAMEBUFFER,Rt.__webglFramebuffer[0]):E.bindFramebuffer(ee.FRAMEBUFFER,Rt.__webglFramebuffer),Rt.__webglDepthbuffer===void 0)Rt.__webglDepthbuffer=ee.createRenderbuffer(),Qi(Rt.__webglDepthbuffer,hn,!1);else{const ii=hn.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,Ti=Rt.__webglDepthbuffer;ee.bindRenderbuffer(ee.RENDERBUFFER,Ti),ee.framebufferRenderbuffer(ee.FRAMEBUFFER,ii,ee.RENDERBUFFER,Ti)}}E.bindFramebuffer(ee.FRAMEBUFFER,null)}function to(hn,Rt,yi){const $i=z.get(hn);Rt!==void 0&&Mi($i.__webglFramebuffer,hn,hn.texture,ee.COLOR_ATTACHMENT0,ee.TEXTURE_2D,0),yi!==void 0&&Ir(hn)}function Jo(hn){const Rt=hn.texture,yi=z.get(hn),$i=z.get(Rt);hn.addEventListener("dispose",ht);const ii=hn.textures,Ti=hn.isWebGLCubeRenderTarget===!0,qo=ii.length>1;if(qo||($i.__webglTexture===void 0&&($i.__webglTexture=ee.createTexture()),$i.__version=Rt.version,se.memory.textures++),Ti){yi.__webglFramebuffer=[];for(let ro=0;ro<6;ro++)if(Rt.mipmaps&&Rt.mipmaps.length>0){yi.__webglFramebuffer[ro]=[];for(let us=0;us0){yi.__webglFramebuffer=[];for(let ro=0;ro0&&Io(hn)===!1){yi.__webglMultisampledFramebuffer=ee.createFramebuffer(),yi.__webglColorRenderbuffer=[],E.bindFramebuffer(ee.FRAMEBUFFER,yi.__webglMultisampledFramebuffer);for(let ro=0;ro0)for(let us=0;us0)for(let us=0;us0){if(Io(hn)===!1){const Rt=hn.textures,yi=hn.width,$i=hn.height;let ii=ee.COLOR_BUFFER_BIT;const Ti=hn.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,qo=z.get(hn),ro=Rt.length>1;if(ro)for(let cs=0;cs0?E.bindFramebuffer(ee.DRAW_FRAMEBUFFER,qo.__webglFramebuffer[0]):E.bindFramebuffer(ee.DRAW_FRAMEBUFFER,qo.__webglFramebuffer);for(let cs=0;cs0&&y.has("WEBGL_multisampled_render_to_texture")===!0&&Rt.__useRenderToTexture!==!1}function Rr(hn){const Rt=se.render.frame;ve.get(hn)!==Rt&&(ve.set(hn,Rt),hn.update())}function po(hn,Rt){const yi=hn.colorSpace,$i=hn.format,ii=hn.type;return hn.isCompressedTexture===!0||hn.isVideoTexture===!0||yi!==vn&&yi!==Tt&&(ys.getTransfer(yi)===kn?($i!==Fu||ii!==Zu)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",yi)),Rt}function Js(hn){return typeof HTMLImageElement!="undefined"&&hn instanceof HTMLImageElement?(ge.width=hn.naturalWidth||hn.width,ge.height=hn.naturalHeight||hn.height):typeof VideoFrame!="undefined"&&hn instanceof VideoFrame?(ge.width=hn.displayWidth,ge.height=hn.displayHeight):(ge.width=hn.width,ge.height=hn.height),ge}this.allocateTextureUnit=cn,this.resetTextureUnits=Xt,this.setTexture2D=En,this.setTexture2DArray=Zn,this.setTexture3D=ti,this.setTextureCube=bn,this.rebindTextures=to,this.setupRenderTarget=Jo,this.updateRenderTargetMipmap=Ot,this.updateMultisampleRenderTarget=Fr,this.setupDepthRenderbuffer=Ir,this.setupFrameBufferTexture=Mi,this.useMultisampledRTT=Io}function tG(ee,y){function E(z,ne=Tt){let ie;const se=ys.getTransfer(ne);if(z===Zu)return ee.UNSIGNED_BYTE;if(z===Ep)return ee.UNSIGNED_SHORT_4_4_4_4;if(z===By)return ee.UNSIGNED_SHORT_5_5_5_1;if(z===Ty)return ee.UNSIGNED_INT_5_9_9_9_REV;if(z===yg)return ee.BYTE;if(z===om)return ee.SHORT;if(z===rh)return ee.UNSIGNED_SHORT;if(z===tc)return ee.INT;if(z===nu)return ee.UNSIGNED_INT;if(z===wu)return ee.FLOAT;if(z===mc)return ee.HALF_FLOAT;if(z===Yf)return ee.ALPHA;if(z===Dy)return ee.RGB;if(z===Fu)return ee.RGBA;if(z===Oh)return ee.DEPTH_COMPONENT;if(z===Mh)return ee.DEPTH_STENCIL;if(z===r0)return ee.RED;if(z===id)return ee.RED_INTEGER;if(z===Qg)return ee.RG;if(z===sm)return ee.RG_INTEGER;if(z===o0)return ee.RGBA_INTEGER;if(z===am||z===s0||z===lm||z===Yg)if(se===kn)if(ie=y.get("WEBGL_compressed_texture_s3tc_srgb"),ie!==null){if(z===am)return ie.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(z===s0)return ie.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(z===lm)return ie.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(z===Yg)return ie.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(ie=y.get("WEBGL_compressed_texture_s3tc"),ie!==null){if(z===am)return ie.COMPRESSED_RGB_S3TC_DXT1_EXT;if(z===s0)return ie.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(z===lm)return ie.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(z===Yg)return ie.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(z===a0||z===l0||z===Fy||z===u0)if(ie=y.get("WEBGL_compressed_texture_pvrtc"),ie!==null){if(z===a0)return ie.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(z===l0)return ie.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(z===Fy)return ie.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(z===u0)return ie.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(z===Ag||z===c0||z===bp)if(ie=y.get("WEBGL_compressed_texture_etc"),ie!==null){if(z===Ag||z===c0)return se===kn?ie.COMPRESSED_SRGB8_ETC2:ie.COMPRESSED_RGB8_ETC2;if(z===bp)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:ie.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(z===Ev||z===um||z===bv||z===Ja||z===Zg||z===xg||z===Gu||z===Ic||z===wg||z===Mp||z===h0||z===d0||z===f0||z===g0)if(ie=y.get("WEBGL_compressed_texture_astc"),ie!==null){if(z===Ev)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:ie.COMPRESSED_RGBA_ASTC_4x4_KHR;if(z===um)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:ie.COMPRESSED_RGBA_ASTC_5x4_KHR;if(z===bv)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:ie.COMPRESSED_RGBA_ASTC_5x5_KHR;if(z===Ja)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:ie.COMPRESSED_RGBA_ASTC_6x5_KHR;if(z===Zg)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:ie.COMPRESSED_RGBA_ASTC_6x6_KHR;if(z===xg)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:ie.COMPRESSED_RGBA_ASTC_8x5_KHR;if(z===Gu)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:ie.COMPRESSED_RGBA_ASTC_8x6_KHR;if(z===Ic)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:ie.COMPRESSED_RGBA_ASTC_8x8_KHR;if(z===wg)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:ie.COMPRESSED_RGBA_ASTC_10x5_KHR;if(z===Mp)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:ie.COMPRESSED_RGBA_ASTC_10x6_KHR;if(z===h0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:ie.COMPRESSED_RGBA_ASTC_10x8_KHR;if(z===d0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:ie.COMPRESSED_RGBA_ASTC_10x10_KHR;if(z===f0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:ie.COMPRESSED_RGBA_ASTC_12x10_KHR;if(z===g0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:ie.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(z===cm||z===Bp||z===Mv)if(ie=y.get("EXT_texture_compression_bptc"),ie!==null){if(z===cm)return se===kn?ie.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:ie.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(z===Bp)return ie.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(z===Mv)return ie.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(z===Tp||z===Bl||z===p0||z===Bv)if(ie=y.get("EXT_texture_compression_rgtc"),ie!==null){if(z===cm)return ie.COMPRESSED_RED_RGTC1_EXT;if(z===Bl)return ie.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(z===p0)return ie.COMPRESSED_RED_GREEN_RGTC2_EXT;if(z===Bv)return ie.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return z===_d?ee.UNSIGNED_INT_24_8:ee[z]!==void 0?ee[z]:null}return{convert:E}}const nG=` +}`;function _j(ee,y,E){let z=new L0;const ne=new ki,ie=new ki,se=new Ks,le=new rA({depthPacking:_e}),de=new ew,ge={},ve=E.maxTextureSize,xe={[$c]:au,[au]:$c,[eh]:eh},Se=new np({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ki},radius:{value:4}},vertexShader:Jj,fragmentShader:qj}),Me=Se.clone();Me.defines.HORIZONTAL_PASS=1;const De=new Ha;De.setAttribute("position",new wl(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const Oe=new lu(De,Se),Re=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=xy;let Le=this.type;this.render=function(et,ht,lt){if(Re.enabled===!1||Re.autoUpdate===!1&&Re.needsUpdate===!1||et.length===0)return;const ot=ee.getRenderTarget(),rt=ee.getActiveCubeFace(),Mt=ee.getActiveMipmapLevel(),Xt=ee.state;Xt.setBlending(eu),Xt.buffers.color.setClear(1,1,1,1),Xt.buffers.depth.setTest(!0),Xt.setScissorTest(!1);const cn=Le!==_c&&this.type===_c,Cn=Le===_c&&this.type!==_c;for(let En=0,Zn=et.length;Enve||ne.y>ve)&&(ne.x>ve&&(ie.x=Math.floor(ve/rn.x),ne.x=ie.x*rn.x,bn.mapSize.x=ie.x),ne.y>ve&&(ie.y=Math.floor(ve/rn.y),ne.y=ie.y*rn.y,bn.mapSize.y=ie.y)),bn.map===null||cn===!0||Cn===!0){const Dn=this.type!==_c?{minFilter:xu,magFilter:xu}:{};bn.map!==null&&bn.map.dispose(),bn.map=new mm(ne.x,ne.y,Dn),bn.map.texture.name=ti.name+".shadowMap",bn.camera.updateProjectionMatrix()}ee.setRenderTarget(bn.map),ee.clear();const li=bn.getViewportCount();for(let Dn=0;Dn0||ht.map&&ht.alphaTest>0||ht.alphaToCoverage===!0){const Xt=rt.uuid,cn=ht.uuid;let Cn=ge[Xt];Cn===void 0&&(Cn={},ge[Xt]=Cn);let En=Cn[cn];En===void 0&&(En=rt.clone(),Cn[cn]=En,ht.addEventListener("dispose",it)),rt=En}if(rt.visible=ht.visible,rt.wireframe=ht.wireframe,ot===_c?rt.side=ht.shadowSide!==null?ht.shadowSide:ht.side:rt.side=ht.shadowSide!==null?ht.shadowSide:xe[ht.side],rt.alphaMap=ht.alphaMap,rt.alphaTest=ht.alphaToCoverage===!0?.5:ht.alphaTest,rt.map=ht.map,rt.clipShadows=ht.clipShadows,rt.clippingPlanes=ht.clippingPlanes,rt.clipIntersection=ht.clipIntersection,rt.displacementMap=ht.displacementMap,rt.displacementScale=ht.displacementScale,rt.displacementBias=ht.displacementBias,rt.wireframeLinewidth=ht.wireframeLinewidth,rt.linewidth=ht.linewidth,lt.isPointLight===!0&&rt.isMeshDistanceMaterial===!0){const Xt=ee.properties.get(rt);Xt.light=lt}return rt}function Ze(et,ht,lt,ot,rt){if(et.visible===!1)return;if(et.layers.test(ht.layers)&&(et.isMesh||et.isLine||et.isPoints)&&(et.castShadow||et.receiveShadow&&rt===_c)&&(!et.frustumCulled||z.intersectsObject(et))){et.modelViewMatrix.multiplyMatrices(lt.matrixWorldInverse,et.matrixWorld);const cn=y.update(et),Cn=et.material;if(Array.isArray(Cn)){const En=cn.groups;for(let Zn=0,ti=En.length;Zn=1):bn.indexOf("OpenGL ES")!==-1&&(ti=parseFloat(/^OpenGL ES (\d)/.exec(bn)[1]),Zn=ti>=2);let rn=null,li={};const Dn=ee.getParameter(ee.SCISSOR_BOX),Wn=ee.getParameter(ee.VIEWPORT),hi=new Ks().fromArray(Dn),On=new Ks().fromArray(Wn);function dn(_n,Zo,Wr,As){const Vr=new Uint8Array(4),Br=ee.createTexture();ee.bindTexture(_n,Br),ee.texParameteri(_n,ee.TEXTURE_MIN_FILTER,ee.NEAREST),ee.texParameteri(_n,ee.TEXTURE_MAG_FILTER,ee.NEAREST);for(let bs=0;bsyi||ii.height>yi)&&($i=yi/Math.max(ii.width,ii.height)),$i<1)if(typeof HTMLImageElement!="undefined"&&hn instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&hn instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&hn instanceof ImageBitmap||typeof VideoFrame!="undefined"&&hn instanceof VideoFrame){const Ti=Math.floor($i*ii.width),qo=Math.floor($i*ii.height);xe===void 0&&(xe=De(Ti,qo));const ro=Rt?De(Ti,qo):xe;return ro.width=Ti,ro.height=qo,ro.getContext("2d").drawImage(hn,0,0,Ti,qo),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+ii.width+"x"+ii.height+") to ("+Ti+"x"+qo+")."),ro}else return"data"in hn&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+ii.width+"x"+ii.height+")."),hn;return hn}function Re(hn){return hn.generateMipmaps}function Le(hn){ee.generateMipmap(hn)}function Qe(hn){return hn.isWebGLCubeRenderTarget?ee.TEXTURE_CUBE_MAP:hn.isWebGL3DRenderTarget?ee.TEXTURE_3D:hn.isWebGLArrayRenderTarget||hn.isCompressedArrayTexture?ee.TEXTURE_2D_ARRAY:ee.TEXTURE_2D}function Xe(hn,Rt,yi,$i,ii=!1){if(hn!==null){if(ee[hn]!==void 0)return ee[hn];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+hn+"'")}let Ti=Rt;if(Rt===ee.RED&&(yi===ee.FLOAT&&(Ti=ee.R32F),yi===ee.HALF_FLOAT&&(Ti=ee.R16F),yi===ee.UNSIGNED_BYTE&&(Ti=ee.R8)),Rt===ee.RED_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.R8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.R16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.R32UI),yi===ee.BYTE&&(Ti=ee.R8I),yi===ee.SHORT&&(Ti=ee.R16I),yi===ee.INT&&(Ti=ee.R32I)),Rt===ee.RG&&(yi===ee.FLOAT&&(Ti=ee.RG32F),yi===ee.HALF_FLOAT&&(Ti=ee.RG16F),yi===ee.UNSIGNED_BYTE&&(Ti=ee.RG8)),Rt===ee.RG_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.RG8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.RG16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.RG32UI),yi===ee.BYTE&&(Ti=ee.RG8I),yi===ee.SHORT&&(Ti=ee.RG16I),yi===ee.INT&&(Ti=ee.RG32I)),Rt===ee.RGB_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.RGB8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.RGB16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.RGB32UI),yi===ee.BYTE&&(Ti=ee.RGB8I),yi===ee.SHORT&&(Ti=ee.RGB16I),yi===ee.INT&&(Ti=ee.RGB32I)),Rt===ee.RGBA_INTEGER&&(yi===ee.UNSIGNED_BYTE&&(Ti=ee.RGBA8UI),yi===ee.UNSIGNED_SHORT&&(Ti=ee.RGBA16UI),yi===ee.UNSIGNED_INT&&(Ti=ee.RGBA32UI),yi===ee.BYTE&&(Ti=ee.RGBA8I),yi===ee.SHORT&&(Ti=ee.RGBA16I),yi===ee.INT&&(Ti=ee.RGBA32I)),Rt===ee.RGB&&yi===ee.UNSIGNED_INT_5_9_9_9_REV&&(Ti=ee.RGB9_E5),Rt===ee.RGBA){const qo=ii?Ri:ys.getTransfer($i);yi===ee.FLOAT&&(Ti=ee.RGBA32F),yi===ee.HALF_FLOAT&&(Ti=ee.RGBA16F),yi===ee.UNSIGNED_BYTE&&(Ti=qo===kn?ee.SRGB8_ALPHA8:ee.RGBA8),yi===ee.UNSIGNED_SHORT_4_4_4_4&&(Ti=ee.RGBA4),yi===ee.UNSIGNED_SHORT_5_5_5_1&&(Ti=ee.RGB5_A1)}return(Ti===ee.R16F||Ti===ee.R32F||Ti===ee.RG16F||Ti===ee.RG32F||Ti===ee.RGBA16F||Ti===ee.RGBA32F)&&y.get("EXT_color_buffer_float"),Ti}function Ze(hn,Rt){let yi;return hn?Rt===null||Rt===nu||Rt===_d?yi=ee.DEPTH24_STENCIL8:Rt===wu?yi=ee.DEPTH32F_STENCIL8:Rt===rh&&(yi=ee.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):Rt===null||Rt===nu||Rt===_d?yi=ee.DEPTH_COMPONENT24:Rt===wu?yi=ee.DEPTH_COMPONENT32F:Rt===rh&&(yi=ee.DEPTH_COMPONENT16),yi}function it(hn,Rt){return Re(hn)===!0||hn.isFramebufferTexture&&hn.minFilter!==xu&&hn.minFilter!==tu?Math.log2(Math.max(Rt.width,Rt.height))+1:hn.mipmaps!==void 0&&hn.mipmaps.length>0?hn.mipmaps.length:hn.isCompressedTexture&&Array.isArray(hn.image)?Rt.mipmaps.length:1}function et(hn){const Rt=hn.target;Rt.removeEventListener("dispose",et),lt(Rt),Rt.isVideoTexture&&ve.delete(Rt)}function ht(hn){const Rt=hn.target;Rt.removeEventListener("dispose",ht),rt(Rt)}function lt(hn){const Rt=z.get(hn);if(Rt.__webglInit===void 0)return;const yi=hn.source,$i=Se.get(yi);if($i){const ii=$i[Rt.__cacheKey];ii.usedTimes--,ii.usedTimes===0&&ot(hn),Object.keys($i).length===0&&Se.delete(yi)}z.remove(hn)}function ot(hn){const Rt=z.get(hn);ee.deleteTexture(Rt.__webglTexture);const yi=hn.source,$i=Se.get(yi);delete $i[Rt.__cacheKey],se.memory.textures--}function rt(hn){const Rt=z.get(hn);if(hn.depthTexture&&(hn.depthTexture.dispose(),z.remove(hn.depthTexture)),hn.isWebGLCubeRenderTarget)for(let $i=0;$i<6;$i++){if(Array.isArray(Rt.__webglFramebuffer[$i]))for(let ii=0;ii=ne.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+hn+" texture units while this GPU supports only "+ne.maxTextures),Mt+=1,hn}function Cn(hn){const Rt=[];return Rt.push(hn.wrapS),Rt.push(hn.wrapT),Rt.push(hn.wrapR||0),Rt.push(hn.magFilter),Rt.push(hn.minFilter),Rt.push(hn.anisotropy),Rt.push(hn.internalFormat),Rt.push(hn.format),Rt.push(hn.type),Rt.push(hn.generateMipmaps),Rt.push(hn.premultiplyAlpha),Rt.push(hn.flipY),Rt.push(hn.unpackAlignment),Rt.push(hn.colorSpace),Rt.join()}function En(hn,Rt){const yi=z.get(hn);if(hn.isVideoTexture&&Rr(hn),hn.isRenderTargetTexture===!1&&hn.version>0&&yi.__version!==hn.version){const $i=hn.image;if($i===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if($i.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{mi(yi,hn,Rt);return}}E.bindTexture(ee.TEXTURE_2D,yi.__webglTexture,ee.TEXTURE0+Rt)}function Zn(hn,Rt){const yi=z.get(hn);if(hn.version>0&&yi.__version!==hn.version){mi(yi,hn,Rt);return}E.bindTexture(ee.TEXTURE_2D_ARRAY,yi.__webglTexture,ee.TEXTURE0+Rt)}function ti(hn,Rt){const yi=z.get(hn);if(hn.version>0&&yi.__version!==hn.version){mi(yi,hn,Rt);return}E.bindTexture(ee.TEXTURE_3D,yi.__webglTexture,ee.TEXTURE0+Rt)}function bn(hn,Rt){const yi=z.get(hn);if(hn.version>0&&yi.__version!==hn.version){ui(yi,hn,Rt);return}E.bindTexture(ee.TEXTURE_CUBE_MAP,yi.__webglTexture,ee.TEXTURE0+Rt)}const rn={[ih]:ee.REPEAT,[bh]:ee.CLAMP_TO_EDGE,[Sp]:ee.MIRRORED_REPEAT},li={[xu]:ee.NEAREST,[Pp]:ee.NEAREST_MIPMAP_NEAREST,[vg]:ee.NEAREST_MIPMAP_LINEAR,[tu]:ee.LINEAR,[Cp]:ee.LINEAR_MIPMAP_NEAREST,[Nc]:ee.LINEAR_MIPMAP_LINEAR},Dn={[ic]:ee.NEVER,[ef]:ee.ALWAYS,[sl]:ee.LESS,[vc]:ee.LEQUAL,[Su]:ee.EQUAL,[du]:ee.GEQUAL,[kc]:ee.GREATER,[Ef]:ee.NOTEQUAL};function Wn(hn,Rt){if(Rt.type===wu&&y.has("OES_texture_float_linear")===!1&&(Rt.magFilter===tu||Rt.magFilter===Cp||Rt.magFilter===vg||Rt.magFilter===Nc||Rt.minFilter===tu||Rt.minFilter===Cp||Rt.minFilter===vg||Rt.minFilter===Nc)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ee.texParameteri(hn,ee.TEXTURE_WRAP_S,rn[Rt.wrapS]),ee.texParameteri(hn,ee.TEXTURE_WRAP_T,rn[Rt.wrapT]),(hn===ee.TEXTURE_3D||hn===ee.TEXTURE_2D_ARRAY)&&ee.texParameteri(hn,ee.TEXTURE_WRAP_R,rn[Rt.wrapR]),ee.texParameteri(hn,ee.TEXTURE_MAG_FILTER,li[Rt.magFilter]),ee.texParameteri(hn,ee.TEXTURE_MIN_FILTER,li[Rt.minFilter]),Rt.compareFunction&&(ee.texParameteri(hn,ee.TEXTURE_COMPARE_MODE,ee.COMPARE_REF_TO_TEXTURE),ee.texParameteri(hn,ee.TEXTURE_COMPARE_FUNC,Dn[Rt.compareFunction])),y.has("EXT_texture_filter_anisotropic")===!0){if(Rt.magFilter===xu||Rt.minFilter!==vg&&Rt.minFilter!==Nc||Rt.type===wu&&y.has("OES_texture_float_linear")===!1)return;if(Rt.anisotropy>1||z.get(Rt).__currentAnisotropy){const yi=y.get("EXT_texture_filter_anisotropic");ee.texParameterf(hn,yi.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(Rt.anisotropy,ne.getMaxAnisotropy())),z.get(Rt).__currentAnisotropy=Rt.anisotropy}}}function hi(hn,Rt){let yi=!1;hn.__webglInit===void 0&&(hn.__webglInit=!0,Rt.addEventListener("dispose",et));const $i=Rt.source;let ii=Se.get($i);ii===void 0&&(ii={},Se.set($i,ii));const Ti=Cn(Rt);if(Ti!==hn.__cacheKey){ii[Ti]===void 0&&(ii[Ti]={texture:ee.createTexture(),usedTimes:0},se.memory.textures++,yi=!0),ii[Ti].usedTimes++;const qo=ii[hn.__cacheKey];qo!==void 0&&(ii[hn.__cacheKey].usedTimes--,qo.usedTimes===0&&ot(Rt)),hn.__cacheKey=Ti,hn.__webglTexture=ii[Ti].texture}return yi}function On(hn,Rt,yi){return Math.floor(Math.floor(hn/yi)/Rt)}function dn(hn,Rt,yi,$i){const Ti=hn.updateRanges;if(Ti.length===0)E.texSubImage2D(ee.TEXTURE_2D,0,0,0,Rt.width,Rt.height,yi,$i,Rt.data);else{Ti.sort((Or,Yo)=>Or.start-Yo.start);let qo=0;for(let Or=1;Or0){_n&&Zo&&E.texStorage2D(ee.TEXTURE_2D,As,gs,sa[0].width,sa[0].height);for(let Vr=0,Br=sa.length;Vr0){const bs=kf(fr.width,fr.height,Rt.format,Rt.type);for(const lr of Rt.layerUpdates){const Uo=fr.data.subarray(lr*bs/fr.data.BYTES_PER_ELEMENT,(lr+1)*bs/fr.data.BYTES_PER_ELEMENT);E.compressedTexSubImage3D(ee.TEXTURE_2D_ARRAY,Vr,0,0,lr,fr.width,fr.height,1,Yo,Uo)}Rt.clearLayerUpdates()}else E.compressedTexSubImage3D(ee.TEXTURE_2D_ARRAY,Vr,0,0,0,fr.width,fr.height,Or.depth,Yo,fr.data)}else E.compressedTexImage3D(ee.TEXTURE_2D_ARRAY,Vr,gs,fr.width,fr.height,Or.depth,0,fr.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else _n?Wr&&E.texSubImage3D(ee.TEXTURE_2D_ARRAY,Vr,0,0,0,fr.width,fr.height,Or.depth,Yo,Ls,fr.data):E.texImage3D(ee.TEXTURE_2D_ARRAY,Vr,gs,fr.width,fr.height,Or.depth,0,Yo,Ls,fr.data)}else{_n&&Zo&&E.texStorage2D(ee.TEXTURE_2D,As,gs,sa[0].width,sa[0].height);for(let Vr=0,Br=sa.length;Vr0){const Vr=kf(Or.width,Or.height,Rt.format,Rt.type);for(const Br of Rt.layerUpdates){const bs=Or.data.subarray(Br*Vr/Or.data.BYTES_PER_ELEMENT,(Br+1)*Vr/Or.data.BYTES_PER_ELEMENT);E.texSubImage3D(ee.TEXTURE_2D_ARRAY,0,0,0,Br,Or.width,Or.height,1,Yo,Ls,bs)}Rt.clearLayerUpdates()}else E.texSubImage3D(ee.TEXTURE_2D_ARRAY,0,0,0,0,Or.width,Or.height,Or.depth,Yo,Ls,Or.data)}else E.texImage3D(ee.TEXTURE_2D_ARRAY,0,gs,Or.width,Or.height,Or.depth,0,Yo,Ls,Or.data);else if(Rt.isData3DTexture)_n?(Zo&&E.texStorage3D(ee.TEXTURE_3D,As,gs,Or.width,Or.height,Or.depth),Wr&&E.texSubImage3D(ee.TEXTURE_3D,0,0,0,0,Or.width,Or.height,Or.depth,Yo,Ls,Or.data)):E.texImage3D(ee.TEXTURE_3D,0,gs,Or.width,Or.height,Or.depth,0,Yo,Ls,Or.data);else if(Rt.isFramebufferTexture){if(Zo)if(_n)E.texStorage2D(ee.TEXTURE_2D,As,gs,Or.width,Or.height);else{let Vr=Or.width,Br=Or.height;for(let bs=0;bs>=1,Br>>=1}}else if(sa.length>0){if(_n&&Zo){const Vr=Js(sa[0]);E.texStorage2D(ee.TEXTURE_2D,As,gs,Vr.width,Vr.height)}for(let Vr=0,Br=sa.length;Vr0&&As++;const Br=Js(Yo[0]);E.texStorage2D(ee.TEXTURE_CUBE_MAP,As,sa,Br.width,Br.height)}for(let Br=0;Br<6;Br++)if(Or){_n?Wr&&E.texSubImage2D(ee.TEXTURE_CUBE_MAP_POSITIVE_X+Br,0,0,0,Yo[Br].width,Yo[Br].height,gs,fr,Yo[Br].data):E.texImage2D(ee.TEXTURE_CUBE_MAP_POSITIVE_X+Br,0,sa,Yo[Br].width,Yo[Br].height,0,gs,fr,Yo[Br].data);for(let bs=0;bs>Ti),Ls=Math.max(1,Rt.height>>Ti);ii===ee.TEXTURE_3D||ii===ee.TEXTURE_2D_ARRAY?E.texImage3D(ii,Ti,us,Yo,Ls,Rt.depth,0,qo,ro,null):E.texImage2D(ii,Ti,us,Yo,Ls,0,qo,ro,null)}E.bindFramebuffer(ee.FRAMEBUFFER,hn),Io(Rt)?le.framebufferTexture2DMultisampleEXT(ee.FRAMEBUFFER,$i,ii,Or.__webglTexture,0,_i(Rt)):(ii===ee.TEXTURE_2D||ii>=ee.TEXTURE_CUBE_MAP_POSITIVE_X&&ii<=ee.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&ee.framebufferTexture2D(ee.FRAMEBUFFER,$i,ii,Or.__webglTexture,Ti),E.bindFramebuffer(ee.FRAMEBUFFER,null)}function Qi(hn,Rt,yi){if(ee.bindRenderbuffer(ee.RENDERBUFFER,hn),Rt.depthBuffer){const $i=Rt.depthTexture,ii=$i&&$i.isDepthTexture?$i.type:null,Ti=Ze(Rt.stencilBuffer,ii),qo=Rt.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,ro=_i(Rt);Io(Rt)?le.renderbufferStorageMultisampleEXT(ee.RENDERBUFFER,ro,Ti,Rt.width,Rt.height):yi?ee.renderbufferStorageMultisample(ee.RENDERBUFFER,ro,Ti,Rt.width,Rt.height):ee.renderbufferStorage(ee.RENDERBUFFER,Ti,Rt.width,Rt.height),ee.framebufferRenderbuffer(ee.FRAMEBUFFER,qo,ee.RENDERBUFFER,hn)}else{const $i=Rt.textures;for(let ii=0;ii<$i.length;ii++){const Ti=$i[ii],qo=ie.convert(Ti.format,Ti.colorSpace),ro=ie.convert(Ti.type),us=Xe(Ti.internalFormat,qo,ro,Ti.colorSpace),cs=_i(Rt);yi&&Io(Rt)===!1?ee.renderbufferStorageMultisample(ee.RENDERBUFFER,cs,us,Rt.width,Rt.height):Io(Rt)?le.renderbufferStorageMultisampleEXT(ee.RENDERBUFFER,cs,us,Rt.width,Rt.height):ee.renderbufferStorage(ee.RENDERBUFFER,us,Rt.width,Rt.height)}}ee.bindRenderbuffer(ee.RENDERBUFFER,null)}function rr(hn,Rt){if(Rt&&Rt.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(E.bindFramebuffer(ee.FRAMEBUFFER,hn),!(Rt.depthTexture&&Rt.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");const $i=z.get(Rt.depthTexture);$i.__renderTarget=Rt,(!$i.__webglTexture||Rt.depthTexture.image.width!==Rt.width||Rt.depthTexture.image.height!==Rt.height)&&(Rt.depthTexture.image.width=Rt.width,Rt.depthTexture.image.height=Rt.height,Rt.depthTexture.needsUpdate=!0),En(Rt.depthTexture,0);const ii=$i.__webglTexture,Ti=_i(Rt);if(Rt.depthTexture.format===Oh)Io(Rt)?le.framebufferTexture2DMultisampleEXT(ee.FRAMEBUFFER,ee.DEPTH_ATTACHMENT,ee.TEXTURE_2D,ii,0,Ti):ee.framebufferTexture2D(ee.FRAMEBUFFER,ee.DEPTH_ATTACHMENT,ee.TEXTURE_2D,ii,0);else if(Rt.depthTexture.format===Mh)Io(Rt)?le.framebufferTexture2DMultisampleEXT(ee.FRAMEBUFFER,ee.DEPTH_STENCIL_ATTACHMENT,ee.TEXTURE_2D,ii,0,Ti):ee.framebufferTexture2D(ee.FRAMEBUFFER,ee.DEPTH_STENCIL_ATTACHMENT,ee.TEXTURE_2D,ii,0);else throw new Error("Unknown depthTexture format")}function Ir(hn){const Rt=z.get(hn),yi=hn.isWebGLCubeRenderTarget===!0;if(Rt.__boundDepthTexture!==hn.depthTexture){const $i=hn.depthTexture;if(Rt.__depthDisposeCallback&&Rt.__depthDisposeCallback(),$i){const ii=()=>{delete Rt.__boundDepthTexture,delete Rt.__depthDisposeCallback,$i.removeEventListener("dispose",ii)};$i.addEventListener("dispose",ii),Rt.__depthDisposeCallback=ii}Rt.__boundDepthTexture=$i}if(hn.depthTexture&&!Rt.__autoAllocateDepthBuffer){if(yi)throw new Error("target.depthTexture not supported in Cube render targets");const $i=hn.texture.mipmaps;$i&&$i.length>0?rr(Rt.__webglFramebuffer[0],hn):rr(Rt.__webglFramebuffer,hn)}else if(yi){Rt.__webglDepthbuffer=[];for(let $i=0;$i<6;$i++)if(E.bindFramebuffer(ee.FRAMEBUFFER,Rt.__webglFramebuffer[$i]),Rt.__webglDepthbuffer[$i]===void 0)Rt.__webglDepthbuffer[$i]=ee.createRenderbuffer(),Qi(Rt.__webglDepthbuffer[$i],hn,!1);else{const ii=hn.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,Ti=Rt.__webglDepthbuffer[$i];ee.bindRenderbuffer(ee.RENDERBUFFER,Ti),ee.framebufferRenderbuffer(ee.FRAMEBUFFER,ii,ee.RENDERBUFFER,Ti)}}else{const $i=hn.texture.mipmaps;if($i&&$i.length>0?E.bindFramebuffer(ee.FRAMEBUFFER,Rt.__webglFramebuffer[0]):E.bindFramebuffer(ee.FRAMEBUFFER,Rt.__webglFramebuffer),Rt.__webglDepthbuffer===void 0)Rt.__webglDepthbuffer=ee.createRenderbuffer(),Qi(Rt.__webglDepthbuffer,hn,!1);else{const ii=hn.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,Ti=Rt.__webglDepthbuffer;ee.bindRenderbuffer(ee.RENDERBUFFER,Ti),ee.framebufferRenderbuffer(ee.FRAMEBUFFER,ii,ee.RENDERBUFFER,Ti)}}E.bindFramebuffer(ee.FRAMEBUFFER,null)}function to(hn,Rt,yi){const $i=z.get(hn);Rt!==void 0&&Mi($i.__webglFramebuffer,hn,hn.texture,ee.COLOR_ATTACHMENT0,ee.TEXTURE_2D,0),yi!==void 0&&Ir(hn)}function Jo(hn){const Rt=hn.texture,yi=z.get(hn),$i=z.get(Rt);hn.addEventListener("dispose",ht);const ii=hn.textures,Ti=hn.isWebGLCubeRenderTarget===!0,qo=ii.length>1;if(qo||($i.__webglTexture===void 0&&($i.__webglTexture=ee.createTexture()),$i.__version=Rt.version,se.memory.textures++),Ti){yi.__webglFramebuffer=[];for(let ro=0;ro<6;ro++)if(Rt.mipmaps&&Rt.mipmaps.length>0){yi.__webglFramebuffer[ro]=[];for(let us=0;us0){yi.__webglFramebuffer=[];for(let ro=0;ro0&&Io(hn)===!1){yi.__webglMultisampledFramebuffer=ee.createFramebuffer(),yi.__webglColorRenderbuffer=[],E.bindFramebuffer(ee.FRAMEBUFFER,yi.__webglMultisampledFramebuffer);for(let ro=0;ro0)for(let us=0;us0)for(let us=0;us0){if(Io(hn)===!1){const Rt=hn.textures,yi=hn.width,$i=hn.height;let ii=ee.COLOR_BUFFER_BIT;const Ti=hn.stencilBuffer?ee.DEPTH_STENCIL_ATTACHMENT:ee.DEPTH_ATTACHMENT,qo=z.get(hn),ro=Rt.length>1;if(ro)for(let cs=0;cs0?E.bindFramebuffer(ee.DRAW_FRAMEBUFFER,qo.__webglFramebuffer[0]):E.bindFramebuffer(ee.DRAW_FRAMEBUFFER,qo.__webglFramebuffer);for(let cs=0;cs0&&y.has("WEBGL_multisampled_render_to_texture")===!0&&Rt.__useRenderToTexture!==!1}function Rr(hn){const Rt=se.render.frame;ve.get(hn)!==Rt&&(ve.set(hn,Rt),hn.update())}function po(hn,Rt){const yi=hn.colorSpace,$i=hn.format,ii=hn.type;return hn.isCompressedTexture===!0||hn.isVideoTexture===!0||yi!==vn&&yi!==Tt&&(ys.getTransfer(yi)===kn?($i!==Fu||ii!==Zu)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",yi)),Rt}function Js(hn){return typeof HTMLImageElement!="undefined"&&hn instanceof HTMLImageElement?(ge.width=hn.naturalWidth||hn.width,ge.height=hn.naturalHeight||hn.height):typeof VideoFrame!="undefined"&&hn instanceof VideoFrame?(ge.width=hn.displayWidth,ge.height=hn.displayHeight):(ge.width=hn.width,ge.height=hn.height),ge}this.allocateTextureUnit=cn,this.resetTextureUnits=Xt,this.setTexture2D=En,this.setTexture2DArray=Zn,this.setTexture3D=ti,this.setTextureCube=bn,this.rebindTextures=to,this.setupRenderTarget=Jo,this.updateRenderTargetMipmap=Ot,this.updateMultisampleRenderTarget=Fr,this.setupDepthRenderbuffer=Ir,this.setupFrameBufferTexture=Mi,this.useMultisampledRTT=Io}function nG(ee,y){function E(z,ne=Tt){let ie;const se=ys.getTransfer(ne);if(z===Zu)return ee.UNSIGNED_BYTE;if(z===Ep)return ee.UNSIGNED_SHORT_4_4_4_4;if(z===By)return ee.UNSIGNED_SHORT_5_5_5_1;if(z===Ty)return ee.UNSIGNED_INT_5_9_9_9_REV;if(z===yg)return ee.BYTE;if(z===om)return ee.SHORT;if(z===rh)return ee.UNSIGNED_SHORT;if(z===tc)return ee.INT;if(z===nu)return ee.UNSIGNED_INT;if(z===wu)return ee.FLOAT;if(z===mc)return ee.HALF_FLOAT;if(z===Yf)return ee.ALPHA;if(z===Dy)return ee.RGB;if(z===Fu)return ee.RGBA;if(z===Oh)return ee.DEPTH_COMPONENT;if(z===Mh)return ee.DEPTH_STENCIL;if(z===r0)return ee.RED;if(z===id)return ee.RED_INTEGER;if(z===Qg)return ee.RG;if(z===sm)return ee.RG_INTEGER;if(z===o0)return ee.RGBA_INTEGER;if(z===am||z===s0||z===lm||z===Yg)if(se===kn)if(ie=y.get("WEBGL_compressed_texture_s3tc_srgb"),ie!==null){if(z===am)return ie.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(z===s0)return ie.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(z===lm)return ie.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(z===Yg)return ie.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(ie=y.get("WEBGL_compressed_texture_s3tc"),ie!==null){if(z===am)return ie.COMPRESSED_RGB_S3TC_DXT1_EXT;if(z===s0)return ie.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(z===lm)return ie.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(z===Yg)return ie.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(z===a0||z===l0||z===Fy||z===u0)if(ie=y.get("WEBGL_compressed_texture_pvrtc"),ie!==null){if(z===a0)return ie.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(z===l0)return ie.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(z===Fy)return ie.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(z===u0)return ie.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(z===Ag||z===c0||z===bp)if(ie=y.get("WEBGL_compressed_texture_etc"),ie!==null){if(z===Ag||z===c0)return se===kn?ie.COMPRESSED_SRGB8_ETC2:ie.COMPRESSED_RGB8_ETC2;if(z===bp)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:ie.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(z===Ev||z===um||z===bv||z===Ja||z===Zg||z===xg||z===Gu||z===Ic||z===wg||z===Mp||z===h0||z===d0||z===f0||z===g0)if(ie=y.get("WEBGL_compressed_texture_astc"),ie!==null){if(z===Ev)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:ie.COMPRESSED_RGBA_ASTC_4x4_KHR;if(z===um)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:ie.COMPRESSED_RGBA_ASTC_5x4_KHR;if(z===bv)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:ie.COMPRESSED_RGBA_ASTC_5x5_KHR;if(z===Ja)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:ie.COMPRESSED_RGBA_ASTC_6x5_KHR;if(z===Zg)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:ie.COMPRESSED_RGBA_ASTC_6x6_KHR;if(z===xg)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:ie.COMPRESSED_RGBA_ASTC_8x5_KHR;if(z===Gu)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:ie.COMPRESSED_RGBA_ASTC_8x6_KHR;if(z===Ic)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:ie.COMPRESSED_RGBA_ASTC_8x8_KHR;if(z===wg)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:ie.COMPRESSED_RGBA_ASTC_10x5_KHR;if(z===Mp)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:ie.COMPRESSED_RGBA_ASTC_10x6_KHR;if(z===h0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:ie.COMPRESSED_RGBA_ASTC_10x8_KHR;if(z===d0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:ie.COMPRESSED_RGBA_ASTC_10x10_KHR;if(z===f0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:ie.COMPRESSED_RGBA_ASTC_12x10_KHR;if(z===g0)return se===kn?ie.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:ie.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(z===cm||z===Bp||z===Mv)if(ie=y.get("EXT_texture_compression_bptc"),ie!==null){if(z===cm)return se===kn?ie.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:ie.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(z===Bp)return ie.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(z===Mv)return ie.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(z===Tp||z===Bl||z===p0||z===Bv)if(ie=y.get("EXT_texture_compression_rgtc"),ie!==null){if(z===cm)return ie.COMPRESSED_RED_RGTC1_EXT;if(z===Bl)return ie.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(z===p0)return ie.COMPRESSED_RED_GREEN_RGTC2_EXT;if(z===Bv)return ie.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return z===_d?ee.UNSIGNED_INT_24_8:ee[z]!==void 0?ee[z]:null}return{convert:E}}const iG=` void main() { gl_Position = vec4( position, 1.0 ); -}`,iG=` +}`,rG=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -4776,7 +4776,7 @@ void main() { } -}`;class rG{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(y,E,z){if(this.texture===null){const ne=new Ec,ie=y.properties.get(ne);ie.__webglTexture=E.texture,(E.depthNear!==z.depthNear||E.depthFar!==z.depthFar)&&(this.depthNear=E.depthNear,this.depthFar=E.depthFar),this.texture=ne}}getMesh(y){if(this.texture!==null&&this.mesh===null){const E=y.cameras[0].viewport,z=new np({vertexShader:nG,fragmentShader:iG,uniforms:{depthColor:{value:this.texture},depthWidth:{value:E.z},depthHeight:{value:E.w}}});this.mesh=new lu(new Qv(20,20),z)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class oG extends Ed{constructor(y,E){super();const z=this;let ne=null,ie=1,se=null,le="local-floor",de=1,ge=null,ve=null,xe=null,Se=null,Me=null,De=null;const Oe=new rG,Re=E.getContextAttributes();let Le=null,Qe=null;const Xe=[],Ze=[],it=new ki;let et=null;const ht=new ah;ht.viewport=new Ks;const lt=new ah;lt.viewport=new Ks;const ot=[ht,lt],rt=new g2;let Mt=null,Xt=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(On){let dn=Xe[On];return dn===void 0&&(dn=new lh,Xe[On]=dn),dn.getTargetRaySpace()},this.getControllerGrip=function(On){let dn=Xe[On];return dn===void 0&&(dn=new lh,Xe[On]=dn),dn.getGripSpace()},this.getHand=function(On){let dn=Xe[On];return dn===void 0&&(dn=new lh,Xe[On]=dn),dn.getHandSpace()};function cn(On){const dn=Ze.indexOf(On.inputSource);if(dn===-1)return;const mi=Xe[dn];mi!==void 0&&(mi.update(On.inputSource,On.frame,ge||se),mi.dispatchEvent({type:On.type,data:On.inputSource}))}function Cn(){ne.removeEventListener("select",cn),ne.removeEventListener("selectstart",cn),ne.removeEventListener("selectend",cn),ne.removeEventListener("squeeze",cn),ne.removeEventListener("squeezestart",cn),ne.removeEventListener("squeezeend",cn),ne.removeEventListener("end",Cn),ne.removeEventListener("inputsourceschange",En);for(let On=0;On=0&&(Ze[ui]=null,Xe[ui].disconnect(mi))}for(let dn=0;dn=Ze.length){Ze.push(mi),ui=Qi;break}else if(Ze[Qi]===null){Ze[Qi]=mi,ui=Qi;break}if(ui===-1)break}const Mi=Xe[ui];Mi&&Mi.connect(mi)}}const Zn=new Vt,ti=new Vt;function bn(On,dn,mi){Zn.setFromMatrixPosition(dn.matrixWorld),ti.setFromMatrixPosition(mi.matrixWorld);const ui=Zn.distanceTo(ti),Mi=dn.projectionMatrix.elements,Qi=mi.projectionMatrix.elements,rr=Mi[14]/(Mi[10]-1),Ir=Mi[14]/(Mi[10]+1),to=(Mi[9]+1)/Mi[5],Jo=(Mi[9]-1)/Mi[5],Ot=(Mi[8]-1)/Mi[0],Pr=(Qi[8]+1)/Qi[0],sr=rr*Ot,Fr=rr*Pr,_i=ui/(-Ot+Pr),Io=_i*-Ot;if(dn.matrixWorld.decompose(On.position,On.quaternion,On.scale),On.translateX(Io),On.translateZ(_i),On.matrixWorld.compose(On.position,On.quaternion,On.scale),On.matrixWorldInverse.copy(On.matrixWorld).invert(),Mi[10]===-1)On.projectionMatrix.copy(dn.projectionMatrix),On.projectionMatrixInverse.copy(dn.projectionMatrixInverse);else{const Rr=rr+_i,po=Ir+_i,Js=sr-Io,hn=Fr+(ui-Io),Rt=to*Ir/po*Rr,yi=Jo*Ir/po*Rr;On.projectionMatrix.makePerspective(Js,hn,Rt,yi,Rr,po),On.projectionMatrixInverse.copy(On.projectionMatrix).invert()}}function rn(On,dn){dn===null?On.matrixWorld.copy(On.matrix):On.matrixWorld.multiplyMatrices(dn.matrixWorld,On.matrix),On.matrixWorldInverse.copy(On.matrixWorld).invert()}this.updateCamera=function(On){if(ne===null)return;let dn=On.near,mi=On.far;Oe.texture!==null&&(Oe.depthNear>0&&(dn=Oe.depthNear),Oe.depthFar>0&&(mi=Oe.depthFar)),rt.near=lt.near=ht.near=dn,rt.far=lt.far=ht.far=mi,(Mt!==rt.near||Xt!==rt.far)&&(ne.updateRenderState({depthNear:rt.near,depthFar:rt.far}),Mt=rt.near,Xt=rt.far),ht.layers.mask=On.layers.mask|2,lt.layers.mask=On.layers.mask|4,rt.layers.mask=ht.layers.mask|lt.layers.mask;const ui=On.parent,Mi=rt.cameras;rn(rt,ui);for(let Qi=0;Qi0&&(Re.alphaTest.value=Le.alphaTest);const Qe=y.get(Le),Xe=Qe.envMap,Ze=Qe.envMapRotation;Xe&&(Re.envMap.value=Xe,qS.copy(Ze),qS.x*=-1,qS.y*=-1,qS.z*=-1,Xe.isCubeTexture&&Xe.isRenderTargetTexture===!1&&(qS.y*=-1,qS.z*=-1),Re.envMapRotation.value.setFromMatrix4(sG.makeRotationFromEuler(qS)),Re.flipEnvMap.value=Xe.isCubeTexture&&Xe.isRenderTargetTexture===!1?-1:1,Re.reflectivity.value=Le.reflectivity,Re.ior.value=Le.ior,Re.refractionRatio.value=Le.refractionRatio),Le.lightMap&&(Re.lightMap.value=Le.lightMap,Re.lightMapIntensity.value=Le.lightMapIntensity,E(Le.lightMap,Re.lightMapTransform)),Le.aoMap&&(Re.aoMap.value=Le.aoMap,Re.aoMapIntensity.value=Le.aoMapIntensity,E(Le.aoMap,Re.aoMapTransform))}function se(Re,Le){Re.diffuse.value.copy(Le.color),Re.opacity.value=Le.opacity,Le.map&&(Re.map.value=Le.map,E(Le.map,Re.mapTransform))}function le(Re,Le){Re.dashSize.value=Le.dashSize,Re.totalSize.value=Le.dashSize+Le.gapSize,Re.scale.value=Le.scale}function de(Re,Le,Qe,Xe){Re.diffuse.value.copy(Le.color),Re.opacity.value=Le.opacity,Re.size.value=Le.size*Qe,Re.scale.value=Xe*.5,Le.map&&(Re.map.value=Le.map,E(Le.map,Re.uvTransform)),Le.alphaMap&&(Re.alphaMap.value=Le.alphaMap,E(Le.alphaMap,Re.alphaMapTransform)),Le.alphaTest>0&&(Re.alphaTest.value=Le.alphaTest)}function ge(Re,Le){Re.diffuse.value.copy(Le.color),Re.opacity.value=Le.opacity,Re.rotation.value=Le.rotation,Le.map&&(Re.map.value=Le.map,E(Le.map,Re.mapTransform)),Le.alphaMap&&(Re.alphaMap.value=Le.alphaMap,E(Le.alphaMap,Re.alphaMapTransform)),Le.alphaTest>0&&(Re.alphaTest.value=Le.alphaTest)}function ve(Re,Le){Re.specular.value.copy(Le.specular),Re.shininess.value=Math.max(Le.shininess,1e-4)}function xe(Re,Le){Le.gradientMap&&(Re.gradientMap.value=Le.gradientMap)}function Se(Re,Le){Re.metalness.value=Le.metalness,Le.metalnessMap&&(Re.metalnessMap.value=Le.metalnessMap,E(Le.metalnessMap,Re.metalnessMapTransform)),Re.roughness.value=Le.roughness,Le.roughnessMap&&(Re.roughnessMap.value=Le.roughnessMap,E(Le.roughnessMap,Re.roughnessMapTransform)),Le.envMap&&(Re.envMapIntensity.value=Le.envMapIntensity)}function Me(Re,Le,Qe){Re.ior.value=Le.ior,Le.sheen>0&&(Re.sheenColor.value.copy(Le.sheenColor).multiplyScalar(Le.sheen),Re.sheenRoughness.value=Le.sheenRoughness,Le.sheenColorMap&&(Re.sheenColorMap.value=Le.sheenColorMap,E(Le.sheenColorMap,Re.sheenColorMapTransform)),Le.sheenRoughnessMap&&(Re.sheenRoughnessMap.value=Le.sheenRoughnessMap,E(Le.sheenRoughnessMap,Re.sheenRoughnessMapTransform))),Le.clearcoat>0&&(Re.clearcoat.value=Le.clearcoat,Re.clearcoatRoughness.value=Le.clearcoatRoughness,Le.clearcoatMap&&(Re.clearcoatMap.value=Le.clearcoatMap,E(Le.clearcoatMap,Re.clearcoatMapTransform)),Le.clearcoatRoughnessMap&&(Re.clearcoatRoughnessMap.value=Le.clearcoatRoughnessMap,E(Le.clearcoatRoughnessMap,Re.clearcoatRoughnessMapTransform)),Le.clearcoatNormalMap&&(Re.clearcoatNormalMap.value=Le.clearcoatNormalMap,E(Le.clearcoatNormalMap,Re.clearcoatNormalMapTransform),Re.clearcoatNormalScale.value.copy(Le.clearcoatNormalScale),Le.side===au&&Re.clearcoatNormalScale.value.negate())),Le.dispersion>0&&(Re.dispersion.value=Le.dispersion),Le.iridescence>0&&(Re.iridescence.value=Le.iridescence,Re.iridescenceIOR.value=Le.iridescenceIOR,Re.iridescenceThicknessMinimum.value=Le.iridescenceThicknessRange[0],Re.iridescenceThicknessMaximum.value=Le.iridescenceThicknessRange[1],Le.iridescenceMap&&(Re.iridescenceMap.value=Le.iridescenceMap,E(Le.iridescenceMap,Re.iridescenceMapTransform)),Le.iridescenceThicknessMap&&(Re.iridescenceThicknessMap.value=Le.iridescenceThicknessMap,E(Le.iridescenceThicknessMap,Re.iridescenceThicknessMapTransform))),Le.transmission>0&&(Re.transmission.value=Le.transmission,Re.transmissionSamplerMap.value=Qe.texture,Re.transmissionSamplerSize.value.set(Qe.width,Qe.height),Le.transmissionMap&&(Re.transmissionMap.value=Le.transmissionMap,E(Le.transmissionMap,Re.transmissionMapTransform)),Re.thickness.value=Le.thickness,Le.thicknessMap&&(Re.thicknessMap.value=Le.thicknessMap,E(Le.thicknessMap,Re.thicknessMapTransform)),Re.attenuationDistance.value=Le.attenuationDistance,Re.attenuationColor.value.copy(Le.attenuationColor)),Le.anisotropy>0&&(Re.anisotropyVector.value.set(Le.anisotropy*Math.cos(Le.anisotropyRotation),Le.anisotropy*Math.sin(Le.anisotropyRotation)),Le.anisotropyMap&&(Re.anisotropyMap.value=Le.anisotropyMap,E(Le.anisotropyMap,Re.anisotropyMapTransform))),Re.specularIntensity.value=Le.specularIntensity,Re.specularColor.value.copy(Le.specularColor),Le.specularColorMap&&(Re.specularColorMap.value=Le.specularColorMap,E(Le.specularColorMap,Re.specularColorMapTransform)),Le.specularIntensityMap&&(Re.specularIntensityMap.value=Le.specularIntensityMap,E(Le.specularIntensityMap,Re.specularIntensityMapTransform))}function De(Re,Le){Le.matcap&&(Re.matcap.value=Le.matcap)}function Oe(Re,Le){const Qe=y.get(Le).light;Re.referencePosition.value.setFromMatrixPosition(Qe.matrixWorld),Re.nearDistance.value=Qe.shadow.camera.near,Re.farDistance.value=Qe.shadow.camera.far}return{refreshFogUniforms:z,refreshMaterialUniforms:ne}}function lG(ee,y,E,z){let ne={},ie={},se=[];const le=ee.getParameter(ee.MAX_UNIFORM_BUFFER_BINDINGS);function de(Qe,Xe){const Ze=Xe.program;z.uniformBlockBinding(Qe,Ze)}function ge(Qe,Xe){let Ze=ne[Qe.id];Ze===void 0&&(De(Qe),Ze=ve(Qe),ne[Qe.id]=Ze,Qe.addEventListener("dispose",Re));const it=Xe.program;z.updateUBOMapping(Qe,it);const et=y.render.frame;ie[Qe.id]!==et&&(Se(Qe),ie[Qe.id]=et)}function ve(Qe){const Xe=xe();Qe.__bindingPointIndex=Xe;const Ze=ee.createBuffer(),it=Qe.__size,et=Qe.usage;return ee.bindBuffer(ee.UNIFORM_BUFFER,Ze),ee.bufferData(ee.UNIFORM_BUFFER,it,et),ee.bindBuffer(ee.UNIFORM_BUFFER,null),ee.bindBufferBase(ee.UNIFORM_BUFFER,Xe,Ze),Ze}function xe(){for(let Qe=0;Qe0&&(Ze+=it-et),Qe.__size=Ze,Qe.__cache={},this}function Oe(Qe){const Xe={boundary:0,storage:0};return typeof Qe=="number"||typeof Qe=="boolean"?(Xe.boundary=4,Xe.storage=4):Qe.isVector2?(Xe.boundary=8,Xe.storage=8):Qe.isVector3||Qe.isColor?(Xe.boundary=16,Xe.storage=12):Qe.isVector4?(Xe.boundary=16,Xe.storage=16):Qe.isMatrix3?(Xe.boundary=48,Xe.storage=48):Qe.isMatrix4?(Xe.boundary=64,Xe.storage=64):Qe.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",Qe),Xe}function Re(Qe){const Xe=Qe.target;Xe.removeEventListener("dispose",Re);const Ze=se.indexOf(Xe.__bindingPointIndex);se.splice(Ze,1),ee.deleteBuffer(ne[Xe.id]),delete ne[Xe.id],delete ie[Xe.id]}function Le(){for(const Qe in ne)ee.deleteBuffer(ne[Qe]);se=[],ne={},ie={}}return{bind:de,update:ge,dispose:Le}}class uG{constructor(y={}){const{canvas:E=JA(),context:z=null,depth:ne=!0,stencil:ie=!1,alpha:se=!1,antialias:le=!1,premultipliedAlpha:de=!0,preserveDrawingBuffer:ge=!1,powerPreference:ve="default",failIfMajorPerformanceCaveat:xe=!1,reverseDepthBuffer:Se=!1}=y;this.isWebGLRenderer=!0;let Me;if(z!==null){if(typeof WebGLRenderingContext!="undefined"&&z instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");Me=z.getContextAttributes().alpha}else Me=se;const De=new Uint32Array(4),Oe=new Int32Array(4);let Re=null,Le=null;const Qe=[],Xe=[];this.domElement=E,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=wd,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const Ze=this;let it=!1;this._outputColorSpace=Pn;let et=0,ht=0,lt=null,ot=-1,rt=null;const Mt=new Ks,Xt=new Ks;let cn=null;const Cn=new fo(0);let En=0,Zn=E.width,ti=E.height,bn=1,rn=null,li=null;const Dn=new Ks(0,0,Zn,ti),Wn=new Ks(0,0,Zn,ti);let hi=!1;const On=new L0;let dn=!1,mi=!1;const ui=new rs,Mi=new rs,Qi=new Vt,rr=new Ks,Ir={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let to=!1;function Jo(){return lt===null?bn:1}let Ot=z;function Pr(Jt,vi){return E.getContext(Jt,vi)}try{const Jt={alpha:!0,depth:ne,stencil:ie,antialias:le,premultipliedAlpha:de,preserveDrawingBuffer:ge,powerPreference:ve,failIfMajorPerformanceCaveat:xe};if("setAttribute"in E&&E.setAttribute("data-engine",`three.js r${vp}`),E.addEventListener("webglcontextlost",As,!1),E.addEventListener("webglcontextrestored",Vr,!1),E.addEventListener("webglcontextcreationerror",Br,!1),Ot===null){const vi="webgl2";if(Ot=Pr(vi,Jt),Ot===null)throw Pr(vi)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(Jt){throw console.error("THREE.WebGLRenderer: "+Jt.message),Jt}let sr,Fr,_i,Io,Rr,po,Js,hn,Rt,yi,$i,ii,Ti,qo,ro,us,cs,Or,Yo,Ls,gs,fr,sa,_n;function Zo(){sr=new AV(Ot),sr.init(),fr=new tG(Ot,sr),Fr=new dV(Ot,sr,y,fr),_i=new $j(Ot,sr),Fr.reverseDepthBuffer&&Se&&_i.buffers.depth.setReversed(!0),Io=new SV(Ot),Rr=new Uj,po=new eG(Ot,sr,_i,Rr,Fr,fr,Io),Js=new gV(Ze),hn=new yV(Ze),Rt=new lH(Ot),sa=new cV(Ot,Rt),yi=new xV(Ot,Rt,Io,sa),$i=new CV(Ot,yi,Rt,Io),Yo=new PV(Ot,Fr,po),us=new fV(Rr),ii=new Hj(Ze,Js,hn,sr,Fr,sa,us),Ti=new aG(Ze,Rr),qo=new jj,ro=new Zj(sr),Or=new uV(Ze,Js,hn,_i,$i,Me,de),cs=new qj(Ze,$i,Fr),_n=new lG(Ot,Io,Fr,_i),Ls=new hV(Ot,sr,Io),gs=new wV(Ot,sr,Io),Io.programs=ii.programs,Ze.capabilities=Fr,Ze.extensions=sr,Ze.properties=Rr,Ze.renderLists=qo,Ze.shadowMap=cs,Ze.state=_i,Ze.info=Io}Zo();const Wr=new oG(Ze,Ot);this.xr=Wr,this.getContext=function(){return Ot},this.getContextAttributes=function(){return Ot.getContextAttributes()},this.forceContextLoss=function(){const Jt=sr.get("WEBGL_lose_context");Jt&&Jt.loseContext()},this.forceContextRestore=function(){const Jt=sr.get("WEBGL_lose_context");Jt&&Jt.restoreContext()},this.getPixelRatio=function(){return bn},this.setPixelRatio=function(Jt){Jt!==void 0&&(bn=Jt,this.setSize(Zn,ti,!1))},this.getSize=function(Jt){return Jt.set(Zn,ti)},this.setSize=function(Jt,vi,Yi=!0){if(Wr.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}Zn=Jt,ti=vi,E.width=Math.floor(Jt*bn),E.height=Math.floor(vi*bn),Yi===!0&&(E.style.width=Jt+"px",E.style.height=vi+"px"),this.setViewport(0,0,Jt,vi)},this.getDrawingBufferSize=function(Jt){return Jt.set(Zn*bn,ti*bn).floor()},this.setDrawingBufferSize=function(Jt,vi,Yi){Zn=Jt,ti=vi,bn=Yi,E.width=Math.floor(Jt*Yi),E.height=Math.floor(vi*Yi),this.setViewport(0,0,Jt,vi)},this.getCurrentViewport=function(Jt){return Jt.copy(Mt)},this.getViewport=function(Jt){return Jt.copy(Dn)},this.setViewport=function(Jt,vi,Yi,Zi){Jt.isVector4?Dn.set(Jt.x,Jt.y,Jt.z,Jt.w):Dn.set(Jt,vi,Yi,Zi),_i.viewport(Mt.copy(Dn).multiplyScalar(bn).round())},this.getScissor=function(Jt){return Jt.copy(Wn)},this.setScissor=function(Jt,vi,Yi,Zi){Jt.isVector4?Wn.set(Jt.x,Jt.y,Jt.z,Jt.w):Wn.set(Jt,vi,Yi,Zi),_i.scissor(Xt.copy(Wn).multiplyScalar(bn).round())},this.getScissorTest=function(){return hi},this.setScissorTest=function(Jt){_i.setScissorTest(hi=Jt)},this.setOpaqueSort=function(Jt){rn=Jt},this.setTransparentSort=function(Jt){li=Jt},this.getClearColor=function(Jt){return Jt.copy(Or.getClearColor())},this.setClearColor=function(){Or.setClearColor(...arguments)},this.getClearAlpha=function(){return Or.getClearAlpha()},this.setClearAlpha=function(){Or.setClearAlpha(...arguments)},this.clear=function(Jt=!0,vi=!0,Yi=!0){let Zi=0;if(Jt){let Ai=!1;if(lt!==null){const no=lt.texture.format;Ai=no===o0||no===sm||no===id}if(Ai){const no=lt.texture.type,es=no===Zu||no===nu||no===rh||no===_d||no===Ep||no===By,ks=Or.getClearColor(),xs=Or.getClearAlpha(),Ya=ks.r,qa=ks.g,xa=ks.b;es?(De[0]=Ya,De[1]=qa,De[2]=xa,De[3]=xs,Ot.clearBufferuiv(Ot.COLOR,0,De)):(Oe[0]=Ya,Oe[1]=qa,Oe[2]=xa,Oe[3]=xs,Ot.clearBufferiv(Ot.COLOR,0,Oe))}else Zi|=Ot.COLOR_BUFFER_BIT}vi&&(Zi|=Ot.DEPTH_BUFFER_BIT),Yi&&(Zi|=Ot.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Ot.clear(Zi)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){E.removeEventListener("webglcontextlost",As,!1),E.removeEventListener("webglcontextrestored",Vr,!1),E.removeEventListener("webglcontextcreationerror",Br,!1),Or.dispose(),qo.dispose(),ro.dispose(),Rr.dispose(),Js.dispose(),hn.dispose(),$i.dispose(),sa.dispose(),_n.dispose(),ii.dispose(),Wr.dispose(),Wr.removeEventListener("sessionstart",Xm),Wr.removeEventListener("sessionend",hv),Wm.stop()};function As(Jt){Jt.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),it=!0}function Vr(){console.log("THREE.WebGLRenderer: Context Restored."),it=!1;const Jt=Io.autoReset,vi=cs.enabled,Yi=cs.autoUpdate,Zi=cs.needsUpdate,Ai=cs.type;Zo(),Io.autoReset=Jt,cs.enabled=vi,cs.autoUpdate=Yi,cs.needsUpdate=Zi,cs.type=Ai}function Br(Jt){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",Jt.statusMessage)}function bs(Jt){const vi=Jt.target;vi.removeEventListener("dispose",bs),lr(vi)}function lr(Jt){Uo(Jt),Rr.remove(Jt)}function Uo(Jt){const vi=Rr.get(Jt).programs;vi!==void 0&&(vi.forEach(function(Yi){ii.releaseProgram(Yi)}),Jt.isShaderMaterial&&ii.releaseShaderCache(Jt))}this.renderBufferDirect=function(Jt,vi,Yi,Zi,Ai,no){vi===null&&(vi=Ir);const es=Ai.isMesh&&Ai.matrixWorld.determinant()<0,ks=jL(Jt,vi,Yi,Zi,Ai);_i.setMaterial(Zi,es);let xs=Yi.index,Ya=1;if(Zi.wireframe===!0){if(xs=yi.getWireframeAttribute(Yi),xs===void 0)return;Ya=2}const qa=Yi.drawRange,xa=Yi.attributes.position;let Il=qa.start*Ya,_l=(qa.start+qa.count)*Ya;no!==null&&(Il=Math.max(Il,no.start*Ya),_l=Math.min(_l,(no.start+no.count)*Ya)),xs!==null?(Il=Math.max(Il,0),_l=Math.min(_l,xs.count)):xa!=null&&(Il=Math.max(Il,0),_l=Math.min(_l,xa.count));const cc=_l-Il;if(cc<0||cc===1/0)return;sa.setup(Ai,Zi,ks,Yi,xs);let Yc,Sc=Ls;if(xs!==null&&(Yc=Rt.get(xs),Sc=gs,Sc.setIndex(Yc)),Ai.isMesh)Zi.wireframe===!0?(_i.setLineWidth(Zi.wireframeLinewidth*Jo()),Sc.setMode(Ot.LINES)):Sc.setMode(Ot.TRIANGLES);else if(Ai.isLine){let ka=Zi.linewidth;ka===void 0&&(ka=1),_i.setLineWidth(ka*Jo()),Ai.isLineSegments?Sc.setMode(Ot.LINES):Ai.isLineLoop?Sc.setMode(Ot.LINE_LOOP):Sc.setMode(Ot.LINE_STRIP)}else Ai.isPoints?Sc.setMode(Ot.POINTS):Ai.isSprite&&Sc.setMode(Ot.TRIANGLES);if(Ai.isBatchedMesh)if(Ai._multiDrawInstances!==null)Cs("THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),Sc.renderMultiDrawInstances(Ai._multiDrawStarts,Ai._multiDrawCounts,Ai._multiDrawCount,Ai._multiDrawInstances);else if(sr.get("WEBGL_multi_draw"))Sc.renderMultiDraw(Ai._multiDrawStarts,Ai._multiDrawCounts,Ai._multiDrawCount);else{const ka=Ai._multiDrawStarts,Fh=Ai._multiDrawCounts,bu=Ai._multiDrawCount,Qm=xs?Rt.get(xs).bytesPerElement:1,ZE=Rr.get(Zi).currentProgram.getUniforms();for(let Ym=0;Ym{function no(){if(Zi.forEach(function(es){Rr.get(es).currentProgram.isReady()&&Zi.delete(es)}),Zi.size===0){Ai(Jt);return}setTimeout(no,10)}sr.get("KHR_parallel_shader_compile")!==null?no():setTimeout(no,10)})};let aa=null;function Os(Jt){aa&&aa(Jt)}function Xm(){Wm.stop()}function hv(){Wm.start()}const Wm=new BN;Wm.setAnimationLoop(Os),typeof self!="undefined"&&Wm.setContext(self),this.setAnimationLoop=function(Jt){aa=Jt,Wr.setAnimationLoop(Jt),Jt===null?Wm.stop():Wm.start()},Wr.addEventListener("sessionstart",Xm),Wr.addEventListener("sessionend",hv),this.render=function(Jt,vi){if(vi!==void 0&&vi.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(it===!0)return;if(Jt.matrixWorldAutoUpdate===!0&&Jt.updateMatrixWorld(),vi.parent===null&&vi.matrixWorldAutoUpdate===!0&&vi.updateMatrixWorld(),Wr.enabled===!0&&Wr.isPresenting===!0&&(Wr.cameraAutoUpdate===!0&&Wr.updateCamera(vi),vi=Wr.getCamera()),Jt.isScene===!0&&Jt.onBeforeRender(Ze,Jt,vi,lt),Le=ro.get(Jt,Xe.length),Le.init(vi),Xe.push(Le),Mi.multiplyMatrices(vi.projectionMatrix,vi.matrixWorldInverse),On.setFromProjectionMatrix(Mi),mi=this.localClippingEnabled,dn=us.init(this.clippingPlanes,mi),Re=qo.get(Jt,Qe.length),Re.init(),Qe.push(Re),Wr.enabled===!0&&Wr.isPresenting===!0){const no=Ze.xr.getDepthSensingMesh();no!==null&&YE(no,vi,-1/0,Ze.sortObjects)}YE(Jt,vi,0,Ze.sortObjects),Re.finish(),Ze.sortObjects===!0&&Re.sort(rn,li),to=Wr.enabled===!1||Wr.isPresenting===!1||Wr.hasDepthSensing()===!1,to&&Or.addToRenderList(Re,Jt),this.info.render.frame++,dn===!0&&us.beginShadows();const Yi=Le.state.shadowsArray;cs.render(Yi,Jt,vi),dn===!0&&us.endShadows(),this.info.autoReset===!0&&this.info.reset();const Zi=Re.opaque,Ai=Re.transmissive;if(Le.setupLights(),vi.isArrayCamera){const no=vi.cameras;if(Ai.length>0)for(let es=0,ks=no.length;es0&&UM(Zi,Ai,Jt,vi),to&&Or.render(Jt),i1(Re,Jt,vi);lt!==null&&ht===0&&(po.updateMultisampleRenderTarget(lt),po.updateRenderTargetMipmap(lt)),Jt.isScene===!0&&Jt.onAfterRender(Ze,Jt,vi),sa.resetDefaultState(),ot=-1,rt=null,Xe.pop(),Xe.length>0?(Le=Xe[Xe.length-1],dn===!0&&us.setGlobalState(Ze.clippingPlanes,Le.state.camera)):Le=null,Qe.pop(),Qe.length>0?Re=Qe[Qe.length-1]:Re=null};function YE(Jt,vi,Yi,Zi){if(Jt.visible===!1)return;if(Jt.layers.test(vi.layers)){if(Jt.isGroup)Yi=Jt.renderOrder;else if(Jt.isLOD)Jt.autoUpdate===!0&&Jt.update(vi);else if(Jt.isLight)Le.pushLight(Jt),Jt.castShadow&&Le.pushShadow(Jt);else if(Jt.isSprite){if(!Jt.frustumCulled||On.intersectsSprite(Jt)){Zi&&rr.setFromMatrixPosition(Jt.matrixWorld).applyMatrix4(Mi);const es=$i.update(Jt),ks=Jt.material;ks.visible&&Re.push(Jt,es,ks,Yi,rr.z,null)}}else if((Jt.isMesh||Jt.isLine||Jt.isPoints)&&(!Jt.frustumCulled||On.intersectsObject(Jt))){const es=$i.update(Jt),ks=Jt.material;if(Zi&&(Jt.boundingSphere!==void 0?(Jt.boundingSphere===null&&Jt.computeBoundingSphere(),rr.copy(Jt.boundingSphere.center)):(es.boundingSphere===null&&es.computeBoundingSphere(),rr.copy(es.boundingSphere.center)),rr.applyMatrix4(Jt.matrixWorld).applyMatrix4(Mi)),Array.isArray(ks)){const xs=es.groups;for(let Ya=0,qa=xs.length;Ya0&&r1(Ai,vi,Yi),no.length>0&&r1(no,vi,Yi),es.length>0&&r1(es,vi,Yi),_i.buffers.depth.setTest(!0),_i.buffers.depth.setMask(!0),_i.buffers.color.setMask(!0),_i.setPolygonOffset(!1)}function UM(Jt,vi,Yi,Zi){if((Yi.isScene===!0?Yi.overrideMaterial:null)!==null)return;Le.state.transmissionRenderTarget[Zi.id]===void 0&&(Le.state.transmissionRenderTarget[Zi.id]=new mm(1,1,{generateMipmaps:!0,type:sr.has("EXT_color_buffer_half_float")||sr.has("EXT_color_buffer_float")?mc:Zu,minFilter:Nc,samples:4,stencilBuffer:ie,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:ys.workingColorSpace}));const no=Le.state.transmissionRenderTarget[Zi.id],es=Zi.viewport||Mt;no.setSize(es.z*Ze.transmissionResolutionScale,es.w*Ze.transmissionResolutionScale);const ks=Ze.getRenderTarget(),xs=Ze.getActiveCubeFace(),Ya=Ze.getActiveMipmapLevel();Ze.setRenderTarget(no),Ze.getClearColor(Cn),En=Ze.getClearAlpha(),En<1&&Ze.setClearColor(16777215,.5),Ze.clear(),to&&Or.render(Yi);const qa=Ze.toneMapping;Ze.toneMapping=wd;const xa=Zi.viewport;if(Zi.viewport!==void 0&&(Zi.viewport=void 0),Le.setupLightsView(Zi),dn===!0&&us.setGlobalState(Ze.clippingPlanes,Zi),r1(Jt,Yi,Zi),po.updateMultisampleRenderTarget(no),po.updateRenderTargetMipmap(no),sr.has("WEBGL_multisampled_render_to_texture")===!1){let Il=!1;for(let _l=0,cc=vi.length;_l0),xa=!!Yi.morphAttributes.position,Il=!!Yi.morphAttributes.normal,_l=!!Yi.morphAttributes.color;let cc=wd;Zi.toneMapped&&(lt===null||lt.isXRRenderTarget===!0)&&(cc=Ze.toneMapping);const Yc=Yi.morphAttributes.position||Yi.morphAttributes.normal||Yi.morphAttributes.color,Sc=Yc!==void 0?Yc.length:0,ka=Rr.get(Zi),Fh=Le.state.lights;if(dn===!0&&(mi===!0||Jt!==rt)){const cp=Jt===rt&&Zi.id===ot;us.setState(Zi,Jt,cp)}let bu=!1;Zi.version===ka.__version?(ka.needsLights&&ka.lightsStateVersion!==Fh.state.version||ka.outputColorSpace!==ks||Ai.isBatchedMesh&&ka.batching===!1||!Ai.isBatchedMesh&&ka.batching===!0||Ai.isBatchedMesh&&ka.batchingColor===!0&&Ai.colorTexture===null||Ai.isBatchedMesh&&ka.batchingColor===!1&&Ai.colorTexture!==null||Ai.isInstancedMesh&&ka.instancing===!1||!Ai.isInstancedMesh&&ka.instancing===!0||Ai.isSkinnedMesh&&ka.skinning===!1||!Ai.isSkinnedMesh&&ka.skinning===!0||Ai.isInstancedMesh&&ka.instancingColor===!0&&Ai.instanceColor===null||Ai.isInstancedMesh&&ka.instancingColor===!1&&Ai.instanceColor!==null||Ai.isInstancedMesh&&ka.instancingMorph===!0&&Ai.morphTexture===null||Ai.isInstancedMesh&&ka.instancingMorph===!1&&Ai.morphTexture!==null||ka.envMap!==xs||Zi.fog===!0&&ka.fog!==no||ka.numClippingPlanes!==void 0&&(ka.numClippingPlanes!==us.numPlanes||ka.numIntersection!==us.numIntersection)||ka.vertexAlphas!==Ya||ka.vertexTangents!==qa||ka.morphTargets!==xa||ka.morphNormals!==Il||ka.morphColors!==_l||ka.toneMapping!==cc||ka.morphTargetsCount!==Sc)&&(bu=!0):(bu=!0,ka.__version=Zi.version);let Qm=ka.currentProgram;bu===!0&&(Qm=MP(Zi,vi,Ai));let ZE=!1,Ym=!1,VM=!1;const wh=Qm.getUniforms(),fv=ka.uniforms;if(_i.useProgram(Qm.program)&&(ZE=!0,Ym=!0,VM=!0),Zi.id!==ot&&(ot=Zi.id,Ym=!0),ZE||rt!==Jt){_i.buffers.depth.getReversed()?(ui.copy(Jt.projectionMatrix),oh(ui),Lp(ui),wh.setValue(Ot,"projectionMatrix",ui)):wh.setValue(Ot,"projectionMatrix",Jt.projectionMatrix),wh.setValue(Ot,"viewMatrix",Jt.matrixWorldInverse);const qp=wh.map.cameraPosition;qp!==void 0&&qp.setValue(Ot,Qi.setFromMatrixPosition(Jt.matrixWorld)),Fr.logarithmicDepthBuffer&&wh.setValue(Ot,"logDepthBufFC",2/(Math.log(Jt.far+1)/Math.LN2)),(Zi.isMeshPhongMaterial||Zi.isMeshToonMaterial||Zi.isMeshLambertMaterial||Zi.isMeshBasicMaterial||Zi.isMeshStandardMaterial||Zi.isShaderMaterial)&&wh.setValue(Ot,"isOrthographic",Jt.isOrthographicCamera===!0),rt!==Jt&&(rt=Jt,Ym=!0,VM=!0)}if(Ai.isSkinnedMesh){wh.setOptional(Ot,Ai,"bindMatrix"),wh.setOptional(Ot,Ai,"bindMatrixInverse");const cp=Ai.skeleton;cp&&(cp.boneTexture===null&&cp.computeBoneTexture(),wh.setValue(Ot,"boneTexture",cp.boneTexture,po))}Ai.isBatchedMesh&&(wh.setOptional(Ot,Ai,"batchingTexture"),wh.setValue(Ot,"batchingTexture",Ai._matricesTexture,po),wh.setOptional(Ot,Ai,"batchingIdTexture"),wh.setValue(Ot,"batchingIdTexture",Ai._indirectTexture,po),wh.setOptional(Ot,Ai,"batchingColorTexture"),Ai._colorsTexture!==null&&wh.setValue(Ot,"batchingColorTexture",Ai._colorsTexture,po));const gv=Yi.morphAttributes;if((gv.position!==void 0||gv.normal!==void 0||gv.color!==void 0)&&Yo.update(Ai,Yi,Qm),(Ym||ka.receiveShadow!==Ai.receiveShadow)&&(ka.receiveShadow=Ai.receiveShadow,wh.setValue(Ot,"receiveShadow",Ai.receiveShadow)),Zi.isMeshGouraudMaterial&&Zi.envMap!==null&&(fv.envMap.value=xs,fv.flipEnvMap.value=xs.isCubeTexture&&xs.isRenderTargetTexture===!1?-1:1),Zi.isMeshStandardMaterial&&Zi.envMap===null&&vi.environment!==null&&(fv.envMapIntensity.value=vi.environmentIntensity),Ym&&(wh.setValue(Ot,"toneMappingExposure",Ze.toneMappingExposure),ka.needsLights&&Vo(fv,VM),no&&Zi.fog===!0&&Ti.refreshFogUniforms(fv,no),Ti.refreshMaterialUniforms(fv,Zi,bn,ti,Le.state.transmissionRenderTarget[Jt.id]),L5.upload(Ot,dv(ka),fv,po)),Zi.isShaderMaterial&&Zi.uniformsNeedUpdate===!0&&(L5.upload(Ot,dv(ka),fv,po),Zi.uniformsNeedUpdate=!1),Zi.isSpriteMaterial&&wh.setValue(Ot,"center",Ai.center),wh.setValue(Ot,"modelViewMatrix",Ai.modelViewMatrix),wh.setValue(Ot,"normalMatrix",Ai.normalMatrix),wh.setValue(Ot,"modelMatrix",Ai.matrixWorld),Zi.isShaderMaterial||Zi.isRawShaderMaterial){const cp=Zi.uniformsGroups;for(let qp=0,GL=cp.length;qp0&&po.useMultisampledRTT(Jt)===!1?Ai=Rr.get(Jt).__webglMultisampledFramebuffer:Array.isArray(qa)?Ai=qa[Yi]:Ai=qa,Mt.copy(Jt.viewport),Xt.copy(Jt.scissor),cn=Jt.scissorTest}else Mt.copy(Dn).multiplyScalar(bn).floor(),Xt.copy(Wn).multiplyScalar(bn).floor(),cn=hi;if(Yi!==0&&(Ai=Kp),_i.bindFramebuffer(Ot.FRAMEBUFFER,Ai)&&Zi&&_i.drawBuffers(Jt,Ai),_i.viewport(Mt),_i.scissor(Xt),_i.setScissorTest(cn),no){const xs=Rr.get(Jt.texture);Ot.framebufferTexture2D(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,Ot.TEXTURE_CUBE_MAP_POSITIVE_X+vi,xs.__webglTexture,Yi)}else if(es){const xs=Rr.get(Jt.texture),Ya=vi;Ot.framebufferTextureLayer(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,xs.__webglTexture,Yi,Ya)}else if(Jt!==null&&Yi!==0){const xs=Rr.get(Jt.texture);Ot.framebufferTexture2D(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,Ot.TEXTURE_2D,xs.__webglTexture,Yi)}ot=-1},this.readRenderTargetPixels=function(Jt,vi,Yi,Zi,Ai,no,es,ks=0){if(!(Jt&&Jt.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let xs=Rr.get(Jt).__webglFramebuffer;if(Jt.isWebGLCubeRenderTarget&&es!==void 0&&(xs=xs[es]),xs){_i.bindFramebuffer(Ot.FRAMEBUFFER,xs);try{const Ya=Jt.textures[ks],qa=Ya.format,xa=Ya.type;if(!Fr.textureFormatReadable(qa)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Fr.textureTypeReadable(xa)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}vi>=0&&vi<=Jt.width-Zi&&Yi>=0&&Yi<=Jt.height-Ai&&(Jt.textures.length>1&&Ot.readBuffer(Ot.COLOR_ATTACHMENT0+ks),Ot.readPixels(vi,Yi,Zi,Ai,fr.convert(qa),fr.convert(xa),no))}finally{const Ya=lt!==null?Rr.get(lt).__webglFramebuffer:null;_i.bindFramebuffer(Ot.FRAMEBUFFER,Ya)}}},this.readRenderTargetPixelsAsync=function(Jt,vi,Yi,Zi,Ai,no,es,ks=0){return la(this,null,function*(){if(!(Jt&&Jt.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let xs=Rr.get(Jt).__webglFramebuffer;if(Jt.isWebGLCubeRenderTarget&&es!==void 0&&(xs=xs[es]),xs)if(vi>=0&&vi<=Jt.width-Zi&&Yi>=0&&Yi<=Jt.height-Ai){_i.bindFramebuffer(Ot.FRAMEBUFFER,xs);const Ya=Jt.textures[ks],qa=Ya.format,xa=Ya.type;if(!Fr.textureFormatReadable(qa))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Fr.textureTypeReadable(xa))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const Il=Ot.createBuffer();Ot.bindBuffer(Ot.PIXEL_PACK_BUFFER,Il),Ot.bufferData(Ot.PIXEL_PACK_BUFFER,no.byteLength,Ot.STREAM_READ),Jt.textures.length>1&&Ot.readBuffer(Ot.COLOR_ATTACHMENT0+ks),Ot.readPixels(vi,Yi,Zi,Ai,fr.convert(qa),fr.convert(xa),0);const _l=lt!==null?Rr.get(lt).__webglFramebuffer:null;_i.bindFramebuffer(Ot.FRAMEBUFFER,_l);const cc=Ot.fenceSync(Ot.SYNC_GPU_COMMANDS_COMPLETE,0);return Ot.flush(),yield bd(Ot,cc,4),Ot.bindBuffer(Ot.PIXEL_PACK_BUFFER,Il),Ot.getBufferSubData(Ot.PIXEL_PACK_BUFFER,0,no),Ot.deleteBuffer(Il),Ot.deleteSync(cc),no}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")})},this.copyFramebufferToTexture=function(Jt,vi=null,Yi=0){const Zi=Math.pow(2,-Yi),Ai=Math.floor(Jt.image.width*Zi),no=Math.floor(Jt.image.height*Zi),es=vi!==null?vi.x:0,ks=vi!==null?vi.y:0;po.setTexture2D(Jt,0),Ot.copyTexSubImage2D(Ot.TEXTURE_2D,Yi,0,0,es,ks,Ai,no),_i.unbindTexture()};const Jp=Ot.createFramebuffer(),BP=Ot.createFramebuffer();this.copyTextureToTexture=function(Jt,vi,Yi=null,Zi=null,Ai=0,no=null){no===null&&(Ai!==0?(Cs("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),no=Ai,Ai=0):no=0);let es,ks,xs,Ya,qa,xa,Il,_l,cc;const Yc=Jt.isCompressedTexture?Jt.mipmaps[no]:Jt.image;if(Yi!==null)es=Yi.max.x-Yi.min.x,ks=Yi.max.y-Yi.min.y,xs=Yi.isBox3?Yi.max.z-Yi.min.z:1,Ya=Yi.min.x,qa=Yi.min.y,xa=Yi.isBox3?Yi.min.z:0;else{const gv=Math.pow(2,-Ai);es=Math.floor(Yc.width*gv),ks=Math.floor(Yc.height*gv),Jt.isDataArrayTexture?xs=Yc.depth:Jt.isData3DTexture?xs=Math.floor(Yc.depth*gv):xs=1,Ya=0,qa=0,xa=0}Zi!==null?(Il=Zi.x,_l=Zi.y,cc=Zi.z):(Il=0,_l=0,cc=0);const Sc=fr.convert(vi.format),ka=fr.convert(vi.type);let Fh;vi.isData3DTexture?(po.setTexture3D(vi,0),Fh=Ot.TEXTURE_3D):vi.isDataArrayTexture||vi.isCompressedArrayTexture?(po.setTexture2DArray(vi,0),Fh=Ot.TEXTURE_2D_ARRAY):(po.setTexture2D(vi,0),Fh=Ot.TEXTURE_2D),Ot.pixelStorei(Ot.UNPACK_FLIP_Y_WEBGL,vi.flipY),Ot.pixelStorei(Ot.UNPACK_PREMULTIPLY_ALPHA_WEBGL,vi.premultiplyAlpha),Ot.pixelStorei(Ot.UNPACK_ALIGNMENT,vi.unpackAlignment);const bu=Ot.getParameter(Ot.UNPACK_ROW_LENGTH),Qm=Ot.getParameter(Ot.UNPACK_IMAGE_HEIGHT),ZE=Ot.getParameter(Ot.UNPACK_SKIP_PIXELS),Ym=Ot.getParameter(Ot.UNPACK_SKIP_ROWS),VM=Ot.getParameter(Ot.UNPACK_SKIP_IMAGES);Ot.pixelStorei(Ot.UNPACK_ROW_LENGTH,Yc.width),Ot.pixelStorei(Ot.UNPACK_IMAGE_HEIGHT,Yc.height),Ot.pixelStorei(Ot.UNPACK_SKIP_PIXELS,Ya),Ot.pixelStorei(Ot.UNPACK_SKIP_ROWS,qa),Ot.pixelStorei(Ot.UNPACK_SKIP_IMAGES,xa);const wh=Jt.isDataArrayTexture||Jt.isData3DTexture,fv=vi.isDataArrayTexture||vi.isData3DTexture;if(Jt.isDepthTexture){const gv=Rr.get(Jt),cp=Rr.get(vi),qp=Rr.get(gv.__renderTarget),GL=Rr.get(cp.__renderTarget);_i.bindFramebuffer(Ot.READ_FRAMEBUFFER,qp.__webglFramebuffer),_i.bindFramebuffer(Ot.DRAW_FRAMEBUFFER,GL.__webglFramebuffer);for(let TP=0;TP0){const{width:se,height:le}=y.context;E.bufferWidth=se,E.bufferHeight=le}this.renderObjects.set(y,E)}return E}getAttributesData(y){const E={};for(const z in y){const ne=y[z];E[z]={version:ne.version}}return E}containsNode(y){const E=y.material;for(const z in E)if(E[z]&&E[z].isNode)return!0;return y.renderer.overrideNodes.modelViewMatrix!==null||y.renderer.overrideNodes.modelNormalViewMatrix!==null}getMaterialData(y){const E={};for(const z of this.refreshUniforms){const ne=y[z];ne!=null&&(typeof ne=="object"&&ne.clone!==void 0?ne.isTexture===!0?E[z]={id:ne.id,version:ne.version}:E[z]=ne.clone():E[z]=ne)}return E}equals(y){const{object:E,material:z,geometry:ne}=y,ie=this.getRenderObjectData(y);if(ie.worldMatrix.equals(E.matrixWorld)!==!0)return ie.worldMatrix.copy(E.matrixWorld),!1;const se=ie.material;for(const Oe in se){const Re=se[Oe],Le=z[Oe];if(Re.equals!==void 0){if(Re.equals(Le)===!1)return Re.copy(Le),!1}else if(Le.isTexture===!0){if(Re.id!==Le.id||Re.version!==Le.version)return Re.id=Le.id,Re.version=Le.version,!1}else if(Re!==Le)return se[Oe]=Le,!1}if(se.transmission>0){const{width:Oe,height:Re}=y.context;if(ie.bufferWidth!==Oe||ie.bufferHeight!==Re)return ie.bufferWidth=Oe,ie.bufferHeight=Re,!1}const le=ie.geometry,de=ne.attributes,ge=le.attributes,ve=Object.keys(ge),xe=Object.keys(de);if(le.id!==ne.id)return le.id=ne.id,!1;if(ve.length!==xe.length)return ie.geometry.attributes=this.getAttributesData(de),!1;for(const Oe of ve){const Re=ge[Oe],Le=de[Oe];if(Le===void 0)return delete ge[Oe],!1;if(Re.version!==Le.version)return Re.version=Le.version,!1}const Se=ne.index,Me=le.indexVersion,De=Se?Se.version:null;if(Me!==De)return le.indexVersion=De,!1;if(le.drawRange.start!==ne.drawRange.start||le.drawRange.count!==ne.drawRange.count)return le.drawRange.start=ne.drawRange.start,le.drawRange.count=ne.drawRange.count,!1;if(ie.morphTargetInfluences){let Oe=!1;for(let Re=0;Re>>16,2246822507),E^=Math.imul(z^z>>>13,3266489909),z=Math.imul(z^z>>>16,2246822507),z^=Math.imul(E^E>>>13,3266489909),4294967296*(2097151&z)+(E>>>0)}const g3=ee=>R2(ee),O2=ee=>R2(ee),k2=(...ee)=>R2(ee);function p3(ee,y=!1){const E=[];ee.isNode===!0&&(E.push(ee.id),ee=ee.getSelf());for(const{property:z,childNode:ne}of z2(ee))E.push(R2(z.slice(0,-4)),ne.getCacheKey(y));return R2(E)}function*z2(ee,y=!1){for(const E in ee){if(E.startsWith("_")===!0)continue;const z=ee[E];if(Array.isArray(z)===!0)for(let ne=0;ney.charCodeAt(0)).buffer}var Gse=Object.freeze({__proto__:null,arrayBufferToBase64:x3,base64ToArrayBuffer:w3,getByteBoundaryFromType:o8,getCacheKey:p3,getDataFromObject:A3,getLengthFromType:v3,getMemoryLengthFromType:r8,getNodeChildren:z2,getTypeFromLength:m3,getTypedArrayFromType:H2,getValueFromType:y3,getValueType:Hx,hash:k2,hashArray:O2,hashString:g3});const U2={VERTEX:"vertex",FRAGMENT:"fragment"},al={NONE:"none",FRAME:"frame",RENDER:"render",OBJECT:"object"},fG={BOOLEAN:"bool",INTEGER:"int",FLOAT:"float",VECTOR2:"vec2",VECTOR3:"vec3",VECTOR4:"vec4",MATRIX2:"mat2",MATRIX3:"mat3",MATRIX4:"mat4"},Og={READ_ONLY:"readOnly",WRITE_ONLY:"writeOnly",READ_WRITE:"readWrite"},s8=["fragment","vertex"],S3=["setup","analyze","generate"],P3=[...s8,"compute"],_S=["x","y","z","w"],gG={analyze:"setup",generate:"analyze"};let pG=0;class da extends Ed{static get type(){return"Node"}constructor(y=null){super(),this.nodeType=y,this.updateType=al.NONE,this.updateBeforeType=al.NONE,this.updateAfterType=al.NONE,this.uuid=v0.generateUUID(),this.version=0,this.global=!1,this.parents=!1,this.isNode=!0,this._cacheKey=null,this._cacheKeyVersion=0,Object.defineProperty(this,"id",{value:pG++})}set needsUpdate(y){y===!0&&this.version++}get type(){return this.constructor.type}onUpdate(y,E){return this.updateType=E,this.update=y.bind(this.getSelf()),this}onFrameUpdate(y){return this.onUpdate(y,al.FRAME)}onRenderUpdate(y){return this.onUpdate(y,al.RENDER)}onObjectUpdate(y){return this.onUpdate(y,al.OBJECT)}onReference(y){return this.updateReference=y.bind(this.getSelf()),this}getSelf(){return this.self||this}updateReference(){return this}isGlobal(){return this.global}*getChildren(){for(const{childNode:y}of z2(this))yield y}dispose(){this.dispatchEvent({type:"dispose"})}traverse(y){y(this);for(const E of this.getChildren())E.traverse(y)}getCacheKey(y=!1){return y=y||this.version!==this._cacheKeyVersion,(y===!0||this._cacheKey===null)&&(this._cacheKey=k2(p3(this,y),this.customCacheKey()),this._cacheKeyVersion=this.version),this._cacheKey}customCacheKey(){return 0}getScope(){return this}getHash(){return this.uuid}getUpdateType(){return this.updateType}getUpdateBeforeType(){return this.updateBeforeType}getUpdateAfterType(){return this.updateAfterType}getElementType(y){const E=this.getNodeType(y);return y.getElementType(E)}getMemberType(){return"void"}getNodeType(y){const E=y.getNodeProperties(this);return E.outputNode?E.outputNode.getNodeType(y):this.nodeType}getShared(y){const E=this.getHash(y);return y.getNodeFromHash(E)||this}setup(y){const E=y.getNodeProperties(this);let z=0;for(const ne of this.getChildren())E["node"+z++]=ne;return E.outputNode||null}analyze(y,E=null){const z=y.increaseUsage(this);if(this.parents===!0){const ne=y.getDataFromNode(this,"any");ne.stages=ne.stages||{},ne.stages[y.shaderStage]=ne.stages[y.shaderStage]||[],ne.stages[y.shaderStage].push(E)}if(z===1){const ne=y.getNodeProperties(this);for(const ie of Object.values(ne))ie&&ie.isNode===!0&&ie.build(y,this)}}generate(y,E){const{outputNode:z}=y.getNodeProperties(this);if(z&&z.isNode===!0)return z.build(y,E)}updateBefore(){console.warn("Abstract function.")}updateAfter(){console.warn("Abstract function.")}update(){console.warn("Abstract function.")}build(y,E=null){const z=this.getShared(y);if(this!==z)return z.build(y,E);const ne=y.getDataFromNode(this);ne.buildStages=ne.buildStages||{},ne.buildStages[y.buildStage]=!0;const ie=gG[y.buildStage];if(ie&&ne.buildStages[ie]!==!0){const de=y.getBuildStage();y.setBuildStage(ie),this.build(y),y.setBuildStage(de)}y.addNode(this),y.addChain(this);let se=null;const le=y.getBuildStage();if(le==="setup"){this.updateReference(y);const de=y.getNodeProperties(this);if(de.initialized!==!0){de.initialized=!0,de.outputNode=this.setup(y)||de.outputNode||null;for(const ge of Object.values(de))if(ge&&ge.isNode===!0){if(ge.parents===!0){const ve=y.getNodeProperties(ge);ve.parents=ve.parents||[],ve.parents.push(this)}ge.build(y)}}se=de.outputNode}else if(le==="analyze")this.analyze(y,E);else if(le==="generate")if(this.generate.length===1){const ge=this.getNodeType(y),ve=y.getDataFromNode(this);se=ve.snippet,se===void 0?ve.generated===void 0?(ve.generated=!0,se=this.generate(y)||"",ve.snippet=se):(console.warn("THREE.Node: Recursion detected.",this),se="/* Recursion detected. */"):ve.flowCodes!==void 0&&y.context.nodeBlock!==void 0&&y.addFlowCodeHierarchy(this,y.context.nodeBlock),se=y.format(se,ge,E)}else se=this.generate(y,E)||"";return y.removeChain(this),y.addSequentialNode(this),se}getSerializeChildren(){return z2(this)}serialize(y){const E=this.getSerializeChildren(),z={};for(const{property:ne,index:ie,childNode:se}of E)ie!==void 0?(z[ne]===void 0&&(z[ne]=Number.isInteger(ie)?[]:{}),z[ne][ie]=se.toJSON(y.meta).uuid):z[ne]=se.toJSON(y.meta).uuid;Object.keys(z).length>0&&(y.inputNodes=z)}deserialize(y){if(y.inputNodes!==void 0){const E=y.meta.nodes;for(const z in y.inputNodes)if(Array.isArray(y.inputNodes[z])){const ne=[];for(const ie of y.inputNodes[z])ne.push(E[ie]);this[z]=ne}else if(typeof y.inputNodes[z]=="object"){const ne={};for(const ie in y.inputNodes[z]){const se=y.inputNodes[z][ie];ne[ie]=E[se]}this[z]=ne}else{const ne=y.inputNodes[z];this[z]=E[ne]}}}toJSON(y){const{uuid:E,type:z}=this,ne=y===void 0||typeof y=="string";ne&&(y={textures:{},images:{},nodes:{}});let ie=y.nodes[E];ie===void 0&&(ie={uuid:E,type:z,meta:y,metadata:{version:4.7,type:"Node",generator:"Node.toJSON"}},ne!==!0&&(y.nodes[ie.uuid]=ie),this.serialize(ie),delete ie.meta);function se(le){const de=[];for(const ge in le){const ve=le[ge];delete ve.metadata,de.push(ve)}return de}if(ne){const le=se(y.textures),de=se(y.images),ge=se(y.nodes);le.length>0&&(ie.textures=le),de.length>0&&(ie.images=de),ge.length>0&&(ie.nodes=ge)}return ie}}class $S extends da{static get type(){return"ArrayElementNode"}constructor(y,E){super(),this.node=y,this.indexNode=E,this.isArrayElementNode=!0}getNodeType(y){return this.node.getElementType(y)}generate(y){const E=this.indexNode.getNodeType(y),z=this.node.build(y),ne=this.indexNode.build(y,!y.isVector(E)&&y.isInteger(E)?E:"uint");return`${z}[ ${ne} ]`}}class a8 extends da{static get type(){return"ConvertNode"}constructor(y,E){super(),this.node=y,this.convertTo=E}getNodeType(y){const E=this.node.getNodeType(y);let z=null;for(const ne of this.convertTo.split("|"))(z===null||y.getTypeLength(E)===y.getTypeLength(ne))&&(z=ne);return z}serialize(y){super.serialize(y),y.convertTo=this.convertTo}deserialize(y){super.deserialize(y),this.convertTo=y.convertTo}generate(y,E){const z=this.node,ne=this.getNodeType(y),ie=z.build(y,ne);return y.format(ie,ne,E)}}class Id extends da{static get type(){return"TempNode"}constructor(y=null){super(y),this.isTempNode=!0}hasDependencies(y){return y.getDataFromNode(this).usageCount>1}build(y,E){if(y.getBuildStage()==="generate"){const ne=y.getVectorType(this.getNodeType(y,E)),ie=y.getDataFromNode(this);if(ie.propertyName!==void 0)return y.format(ie.propertyName,ne,E);if(ne!=="void"&&E!=="void"&&this.hasDependencies(y)){const se=super.build(y,ne),le=y.getVarFromNode(this,null,ne),de=y.getPropertyName(le);return y.addLineFlowCode(`${de} = ${se}`,this),ie.snippet=se,ie.propertyName=de,y.format(ie.propertyName,ne,E)}}return super.build(y,E)}}class mG extends Id{static get type(){return"JoinNode"}constructor(y=[],E=null){super(E),this.nodes=y}getNodeType(y){return this.nodeType!==null?y.getVectorType(this.nodeType):y.getTypeFromLength(this.nodes.reduce((E,z)=>E+y.getTypeLength(z.getNodeType(y)),0))}generate(y,E){const z=this.getNodeType(y),ne=y.getTypeLength(z),ie=this.nodes,se=y.getComponentType(z),le=[];let de=0;for(const ve of ie){if(de>=ne){console.error(`THREE.TSL: Length of parameters exceeds maximum length of function '${z}()' type.`);break}let xe=ve.getNodeType(y),Se=y.getTypeLength(xe),Me;de+Se>ne&&(console.error(`THREE.TSL: Length of '${z}()' data exceeds maximum length of output type.`),Se=ne-de,xe=y.getTypeFromLength(Se)),de+=Se,Me=ve.build(y,xe);const De=y.getComponentType(xe);De!==se&&(Me=y.format(Me,De,se)),le.push(Me)}const ge=`${y.getType(z)}( ${le.join(", ")} )`;return y.format(ge,z,E)}}const vG=_S.join("");class C3 extends da{static get type(){return"SplitNode"}constructor(y,E="x"){super(),this.node=y,this.components=E,this.isSplitNode=!0}getVectorLength(){let y=this.components.length;for(const E of this.components)y=Math.max(_S.indexOf(E)+1,y);return y}getComponentType(y){return y.getComponentType(this.node.getNodeType(y))}getNodeType(y){return y.getTypeFromLength(this.components.length,this.getComponentType(y))}generate(y,E){const z=this.node,ne=y.getTypeLength(z.getNodeType(y));let ie=null;if(ne>1){let se=null;this.getVectorLength()>=ne&&(se=y.getTypeFromLength(this.getVectorLength(),this.getComponentType(y)));const de=z.build(y,se);this.components.length===ne&&this.components===vG.slice(0,this.components.length)?ie=y.format(de,se,E):ie=y.format(`${de}.${this.components}`,this.getNodeType(y),E)}else ie=z.build(y,E);return ie}serialize(y){super.serialize(y),y.components=this.components}deserialize(y){super.deserialize(y),this.components=y.components}}class yG extends Id{static get type(){return"SetNode"}constructor(y,E,z){super(),this.sourceNode=y,this.components=E,this.targetNode=z}getNodeType(y){return this.sourceNode.getNodeType(y)}generate(y){const{sourceNode:E,components:z,targetNode:ne}=this,ie=this.getNodeType(y),se=y.getComponentType(ne.getNodeType(y)),le=y.getTypeFromLength(z.length,se),de=ne.build(y,le),ge=E.build(y,ie),ve=y.getTypeLength(ie),xe=[];for(let Se=0;Seee.replace(/r|s/g,"x").replace(/g|t/g,"y").replace(/b|p/g,"z").replace(/a|q/g,"w"),c8=ee=>u8(ee).split("").sort().join(""),h8={setup(ee,y){const E=y.shift();return ee(j2(E),...y)},get(ee,y,E){if(typeof y=="string"&&ee[y]===void 0){if(ee.isStackNode!==!0&&y==="assign")return(...z)=>(eP.assign(E,...z),E);if(pE.has(y)){const z=pE.get(y);return ee.isStackNode?(...ne)=>E.add(z(...ne)):(...ne)=>z(E,...ne)}else{if(y==="self")return ee;if(y.endsWith("Assign")&&pE.has(y.slice(0,y.length-6))){const z=pE.get(y.slice(0,y.length-6));return ee.isStackNode?(...ne)=>E.assign(ne[0],z(...ne)):(...ne)=>E.assign(z(E,...ne))}else{if(/^[xyzwrgbastpq]{1,4}$/.test(y)===!0)return y=u8(y),ir(new C3(E,y));if(/^set[XYZWRGBASTPQ]{1,4}$/.test(y)===!0)return y=c8(y.slice(3).toLowerCase()),z=>ir(new yG(ee,y,ir(z)));if(/^flip[XYZWRGBASTPQ]{1,4}$/.test(y)===!0)return y=c8(y.slice(4).toLowerCase()),()=>ir(new AG(ir(ee),y));if(y==="width"||y==="height"||y==="depth")return y==="width"?y="x":y==="height"?y="y":y==="depth"&&(y="z"),ir(new C3(ee,y));if(/^\d+$/.test(y)===!0)return ir(new $S(E,new uy(Number(y),"uint")));if(/^get$/.test(y)===!0)return z=>ir(new xG(E,z))}}}return Reflect.get(ee,y,E)},set(ee,y,E,z){return typeof y=="string"&&ee[y]===void 0&&(/^[xyzwrgbastpq]{1,4}$/.test(y)===!0||y==="width"||y==="height"||y==="depth"||/^\d+$/.test(y)===!0)?(z[y].assign(E),!0):Reflect.set(ee,y,E,z)}},b3=new WeakMap,d8=new WeakMap,wG=function(ee,y=null){const E=Hx(ee);if(E==="node"){let z=b3.get(ee);return z===void 0&&(z=new Proxy(ee,h8),b3.set(ee,z),b3.set(z,z)),z}else{if(y===null&&(E==="float"||E==="boolean")||E&&E!=="shader"&&E!=="string")return ir(D3(ee,y));if(E==="shader")return ee.isFn?ee:Kn(ee)}return ee},SG=function(ee,y=null){for(const E in ee)ee[E]=ir(ee[E],y);return ee},PG=function(ee,y=null){const E=ee.length;for(let z=0;zir(z!==null?Object.assign(ve,z):ve);let ie,se=y,le,de;function ge(ve){let xe;return se?xe=/[a-z]/i.test(se)?se+"()":se:xe=ee.type,le!==void 0&&ve.lengthde?(console.error(`THREE.TSL: "${xe}" parameter length exceeds limit.`),ve.slice(0,de)):ve}return y===null?ie=(...ve)=>ne(new ee(...tP(ge(ve)))):E!==null?(E=ir(E),ie=(...ve)=>ne(new ee(y,...tP(ge(ve)),E))):ie=(...ve)=>ne(new ee(y,...tP(ge(ve)))),ie.setParameterLength=(...ve)=>(ve.length===1?le=de=ve[0]:ve.length===2&&([le,de]=ve),ie),ie.setName=ve=>(se=ve,ie),ie},EG=function(ee,...y){return ir(new ee(...tP(y)))};class bG extends da{constructor(y,E){super(),this.shaderNode=y,this.inputNodes=E,this.isShaderCallNodeInternal=!0}getNodeType(y){return this.shaderNode.nodeType||this.getOutputNode(y).getNodeType(y)}getMemberType(y,E){return this.getOutputNode(y).getMemberType(y,E)}call(y){const{shaderNode:E,inputNodes:z}=this,ne=y.getNodeProperties(E),ie=y.getClosestSubBuild(E.subBuilds)||"",se=ie||"default";if(ne[se])return ne[se];const le=y.subBuildFn;y.subBuildFn=ie;let de=null;if(E.layout){let ge=d8.get(y.constructor);ge===void 0&&(ge=new WeakMap,d8.set(y.constructor,ge));let ve=ge.get(E);ve===void 0&&(ve=ir(y.buildFunctionNode(E)),ge.set(E,ve)),y.addInclude(ve),de=ir(ve.call(z))}else{const ge=E.jsFunc,ve=z!==null||ge.length>1?ge(z||[],y):ge(y);de=ir(ve)}return y.subBuildFn=le,E.once&&(ne[se]=de),de}setupOutput(y){return y.addStack(),y.stack.outputNode=this.call(y),y.removeStack()}getOutputNode(y){const E=y.getNodeProperties(this),z=y.getSubBuildOutput(this);return E[z]=E[z]||this.setupOutput(y),E[z].subBuild=y.getClosestSubBuild(this),E[z]}build(y,E=null){let z=null;const ne=y.getBuildStage(),ie=y.getNodeProperties(this),se=y.getSubBuildOutput(this),le=this.getOutputNode(y);if(ne==="setup"){const de=y.getSubBuildProperty("initialized",this);if(ie[de]!==!0&&(ie[de]=!0,ie[se]=this.getOutputNode(y),ie[se].build(y),this.shaderNode.subBuilds))for(const ge of y.chaining){const ve=y.getDataFromNode(ge,"any");ve.subBuilds=ve.subBuilds||new Set;for(const xe of this.shaderNode.subBuilds)ve.subBuilds.add(xe)}z=ie[se]}else ne==="analyze"?le.build(y,E):ne==="generate"&&(z=le.build(y,E)||"");return z}}class MG extends da{constructor(y,E){super(E),this.jsFunc=y,this.layout=null,this.global=!0,this.once=!1}setLayout(y){return this.layout=y,this}call(y=null){return j2(y),ir(new bG(this,y))}setup(){return this.call()}}const BG=[!1,!0],TG=[0,1,2,3],DG=[-1,-2],f8=[.5,1.5,1/3,1e-6,1e6,Math.PI,Math.PI*2,1/Math.PI,2/Math.PI,1/(Math.PI*2),Math.PI/2],M3=new Map;for(const ee of BG)M3.set(ee,new uy(ee));const B3=new Map;for(const ee of TG)B3.set(ee,new uy(ee,"uint"));const T3=new Map([...B3].map(ee=>new uy(ee.value,"int")));for(const ee of DG)T3.set(ee,new uy(ee,"int"));const I5=new Map([...T3].map(ee=>new uy(ee.value)));for(const ee of f8)I5.set(ee,new uy(ee));for(const ee of f8)I5.set(-ee,new uy(-ee));const R5={bool:M3,uint:B3,ints:T3,float:I5},g8=new Map([...M3,...I5]),D3=(ee,y)=>g8.has(ee)?g8.get(ee):ee.isNode===!0?ee:new uy(ee,y),Rd=function(ee,y=null){return(...E)=>{if((E.length===0||!["bool","float","int","uint"].includes(ee)&&E.every(ne=>typeof ne!="object"))&&(E=[y3(ee,...E)]),E.length===1&&y!==null&&y.has(E[0]))return ir(y.get(E[0]));if(E.length===1){const ne=D3(E[0],ee);return ne.nodeType===ee?ir(ne):ir(new a8(ne,ee))}const z=E.map(ne=>D3(ne));return ir(new mG(z,ee))}},V2=ee=>typeof ee=="object"&&ee!==null?ee.value:ee,p8=ee=>ee!=null?ee.nodeType||ee.convertTo||(typeof ee=="string"?ee:null):null;function mE(ee,y){return new Proxy(new MG(ee,y),h8)}const ir=(ee,y=null)=>wG(ee,y),j2=(ee,y=null)=>new SG(ee,y),tP=(ee,y=null)=>new PG(ee,y),Ar=(...ee)=>new CG(...ee),lo=(...ee)=>new EG(...ee);let FG=0;const Kn=(ee,y=null)=>{let E=null;y!==null&&(typeof y=="object"?E=y.return:(typeof y=="string"?E=y:console.error("THREE.TSL: Invalid layout type."),y=null));const z=new mE(ee,E),ne=(...ie)=>{let se;j2(ie),ie[0]&&(ie[0].isNode||Object.getPrototypeOf(ie[0])!==Object.prototype)?se=[...ie]:se=ie[0];const de=z.call(se);return E==="void"&&de.toStack(),de};if(ne.shaderNode=z,ne.id=z.id,ne.isFn=!0,ne.getNodeType=(...ie)=>z.getNodeType(...ie),ne.getCacheKey=(...ie)=>z.getCacheKey(...ie),ne.setLayout=ie=>(z.setLayout(ie),ne),ne.once=(ie=null)=>(z.once=!0,z.subBuilds=ie,ne),y!==null){if(typeof y.inputs!="object"){const ie={name:"fn"+FG++,type:E,inputs:[]};for(const se in y)se!=="return"&&ie.inputs.push({name:se,type:y[se]});y=ie}ne.setLayout(y)}return ne},G2=ee=>{eP=ee},F3=()=>eP,Pa=(...ee)=>eP.If(...ee),LG=(...ee)=>eP.Switch(...ee);function O5(ee){return eP&&eP.add(ee),ee}ur("toStack",O5);const m8=new Rd("color"),nn=new Rd("float",R5.float),Mn=new Rd("int",R5.ints),Ho=new Rd("uint",R5.uint),mA=new Rd("bool",R5.bool),Er=new Rd("vec2"),pf=new Rd("ivec2"),v8=new Rd("uvec2"),y8=new Rd("bvec2"),Xn=new Rd("vec3"),A8=new Rd("ivec3"),vE=new Rd("uvec3"),L3=new Rd("bvec3"),Qo=new Rd("vec4"),x8=new Rd("ivec4"),w8=new Rd("uvec4"),S8=new Rd("bvec4"),k5=new Rd("mat2"),kg=new Rd("mat3"),nP=new Rd("mat4"),NG=(ee="")=>ir(new uy(ee,"string")),IG=ee=>ir(new uy(ee,"ArrayBuffer"));ur("toColor",m8),ur("toFloat",nn),ur("toInt",Mn),ur("toUint",Ho),ur("toBool",mA),ur("toVec2",Er),ur("toIVec2",pf),ur("toUVec2",v8),ur("toBVec2",y8),ur("toVec3",Xn),ur("toIVec3",A8),ur("toUVec3",vE),ur("toBVec3",L3),ur("toVec4",Qo),ur("toIVec4",x8),ur("toUVec4",w8),ur("toBVec4",S8),ur("toMat2",k5),ur("toMat3",kg),ur("toMat4",nP);const P8=Ar($S).setParameterLength(2),C8=(ee,y)=>ir(new a8(ir(ee),y)),RG=(ee,y)=>ir(new C3(ir(ee),y));ur("element",P8),ur("convert",C8);const OG=ee=>(console.warn("THREE.TSL: append() has been renamed to Stack()."),O5(ee));ur("append",ee=>(console.warn("THREE.TSL: .append() has been renamed to .toStack()."),O5(ee)));class Ou extends da{static get type(){return"PropertyNode"}constructor(y,E=null,z=!1){super(y),this.name=E,this.varying=z,this.isPropertyNode=!0,this.global=!0}getHash(y){return this.name||super.getHash(y)}generate(y){let E;return this.varying===!0?(E=y.getVaryingFromNode(this,this.name),E.needsInterpolation=!0):E=y.getVarFromNode(this,this.name),y.getPropertyName(E)}}const cy=(ee,y)=>ir(new Ou(ee,y)),Om=(ee,y)=>ir(new Ou(ee,y,!0)),vu=lo(Ou,"vec4","DiffuseColor"),N3=lo(Ou,"vec3","EmissiveColor"),vA=lo(Ou,"float","Roughness"),X2=lo(Ou,"float","Metalness"),z5=lo(Ou,"float","Clearcoat"),W2=lo(Ou,"float","ClearcoatRoughness"),iP=lo(Ou,"vec3","Sheen"),H5=lo(Ou,"float","SheenRoughness"),U5=lo(Ou,"float","Iridescence"),I3=lo(Ou,"float","IridescenceIOR"),R3=lo(Ou,"float","IridescenceThickness"),V5=lo(Ou,"float","AlphaT"),Aw=lo(Ou,"float","Anisotropy"),Q2=lo(Ou,"vec3","AnisotropyT"),rP=lo(Ou,"vec3","AnisotropyB"),Gp=lo(Ou,"color","SpecularColor"),Y2=lo(Ou,"float","SpecularF90"),j5=lo(Ou,"float","Shininess"),yE=lo(Ou,"vec4","Output"),oP=lo(Ou,"float","dashSize"),Z2=lo(Ou,"float","gapSize"),kG=lo(Ou,"float","pointWidth"),K2=lo(Ou,"float","IOR"),G5=lo(Ou,"float","Transmission"),O3=lo(Ou,"float","Thickness"),k3=lo(Ou,"float","AttenuationDistance"),z3=lo(Ou,"color","AttenuationColor"),H3=lo(Ou,"float","Dispersion");class E8 extends da{static get type(){return"UniformGroupNode"}constructor(y,E=!1,z=1){super("string"),this.name=y,this.shared=E,this.order=z,this.isUniformGroup=!0}serialize(y){super.serialize(y),y.name=this.name,y.version=this.version,y.shared=this.shared}deserialize(y){super.deserialize(y),this.name=y.name,this.version=y.version,this.shared=y.shared}}const b8=ee=>new E8(ee),X5=(ee,y=0)=>new E8(ee,!0,y),M8=X5("frame"),pa=X5("render"),U3=b8("object");class J2 extends E3{static get type(){return"UniformNode"}constructor(y,E=null){super(y,E),this.isUniformNode=!0,this.name="",this.groupNode=U3}label(y){return this.name=y,this}setGroup(y){return this.groupNode=y,this}getGroup(){return this.groupNode}getUniformHash(y){return this.getHash(y)}onUpdate(y,E){const z=this.getSelf();return y=y.bind(z),super.onUpdate(ne=>{const ie=y(ne,z);ie!==void 0&&(this.value=ie)},E)}generate(y,E){const z=this.getNodeType(y),ne=this.getUniformHash(y);let ie=y.getNodeFromHash(ne);ie===void 0&&(y.setHashNode(this,ne),ie=this);const se=ie.getInputType(y),le=y.getUniformFromNode(ie,se,y.shaderStage,this.name||y.context.label),de=y.getPropertyName(le);return y.context.label!==void 0&&delete y.context.label,y.format(de,z,E)}}const Us=(ee,y)=>{const E=p8(y||ee),z=ee&&ee.isNode===!0?ee.node&&ee.node.value||ee.value:ee;return ir(new J2(z,E))};class B8 extends Id{static get type(){return"ArrayNode"}constructor(y,E,z=null){super(y),this.count=E,this.values=z,this.isArrayNode=!0}getNodeType(y){return this.nodeType===null&&(this.nodeType=this.values[0].getNodeType(y)),this.nodeType}getElementType(y){return this.getNodeType(y)}generate(y){const E=this.getNodeType(y);return y.generateArray(E,this.count,this.values)}}const T8=(...ee)=>{let y;if(ee.length===1){const E=ee[0];y=new B8(null,E.length,E)}else{const E=ee[0],z=ee[1];y=new B8(E,z)}return ir(y)};ur("toArray",(ee,y)=>T8(Array(y).fill(ee)));class zG extends Id{static get type(){return"AssignNode"}constructor(y,E){super(),this.targetNode=y,this.sourceNode=E,this.isAssignNode=!0}hasDependencies(){return!1}getNodeType(y,E){return E!=="void"?this.targetNode.getNodeType(y):"void"}needsSplitAssign(y){const{targetNode:E}=this;if(y.isAvailable("swizzleAssign")===!1&&E.isSplitNode&&E.components.length>1){const z=y.getTypeLength(E.node.getNodeType(y));return _S.join("").slice(0,z)!==E.components}return!1}setup(y){const{targetNode:E,sourceNode:z}=this,ne=y.getNodeProperties(this);ne.sourceNode=z,ne.targetNode=E.context({assign:!0})}generate(y,E){const{targetNode:z,sourceNode:ne}=y.getNodeProperties(this),ie=this.needsSplitAssign(y),se=z.getNodeType(y),le=z.build(y),de=ne.build(y,se),ge=ne.getNodeType(y),ve=y.getDataFromNode(this);let xe;if(ve.initialized===!0)E!=="void"&&(xe=le);else if(ie){const Se=y.getVarFromNode(this,null,se),Me=y.getPropertyName(Se);y.addLineFlowCode(`${Me} = ${de}`,this);const De=z.node,Re=De.node.context({assign:!0}).build(y);for(let Le=0;Le{const ve=ge.type,xe=ve==="pointer";let Se;return xe?Se="&"+de.build(y):Se=de.build(y,ve),Se};if(Array.isArray(ie)){if(ie.length>ne.length)console.error("THREE.TSL: The number of provided parameters exceeds the expected number of inputs in 'Fn()'."),ie.length=ne.length;else if(ie.length(y=y.length>1||y[0]&&y[0].isNode===!0?tP(y):j2(y[0]),ir(new HG(ir(ee),y)));ur("call",F8);const UG={"==":"equal","!=":"notEqual","<":"lessThan",">":"greaterThan","<=":"lessThanEqual",">=":"greaterThanEqual","%":"mod"};class yh extends Id{static get type(){return"OperatorNode"}constructor(y,E,z,...ne){if(super(),ne.length>0){let ie=new yh(y,E,z);for(let se=0;se>"||E==="<<")return y.getIntegerType(ie);if(E==="!"||E==="&&"||E==="||"||E==="^^")return"bool";if(E==="=="||E==="!="||E==="<"||E===">"||E==="<="||E===">="){const le=Math.max(y.getTypeLength(ie),y.getTypeLength(se));return le>1?`bvec${le}`:"bool"}else{if(y.isMatrix(ie)){if(se==="float")return ie;if(y.isVector(se))return y.getVectorFromMatrix(ie);if(y.isMatrix(se))return ie}else if(y.isMatrix(se)){if(ie==="float")return se;if(y.isVector(ie))return y.getVectorFromMatrix(se)}return y.getTypeLength(se)>y.getTypeLength(ie)?se:ie}}generate(y,E){const z=this.op,{aNode:ne,bNode:ie}=this,se=this.getNodeType(y);let le=null,de=null;se!=="void"?(le=ne.getNodeType(y),de=ie?ie.getNodeType(y):null,z==="<"||z===">"||z==="<="||z===">="||z==="=="||z==="!="?y.isVector(le)?de=le:y.isVector(de)?le=de:le!==de&&(le=de="float"):z===">>"||z==="<<"?(le=se,de=y.changeComponentType(de,"uint")):z==="%"?(le=se,de=y.isInteger(le)&&y.isInteger(de)?de:le):y.isMatrix(le)?de==="float"?de="float":y.isVector(de)?de=y.getVectorFromMatrix(le):y.isMatrix(de)||(le=de=se):y.isMatrix(de)?le==="float"?le="float":y.isVector(le)?le=y.getVectorFromMatrix(de):le=de=se:le=de=se):le=de=se;const ge=ne.build(y,le),ve=ie?ie.build(y,de):null,xe=y.getFunctionOperator(z);if(E!=="void"){const Se=y.renderer.coordinateSystem===Cd;if(z==="=="||z==="!="||z==="<"||z===">"||z==="<="||z===">=")return Se?y.isVector(le)?y.format(`${this.getOperatorMethod(y,E)}( ${ge}, ${ve} )`,se,E):y.format(`( ${ge} ${z} ${ve} )`,se,E):y.format(`( ${ge} ${z} ${ve} )`,se,E);if(z==="%")return y.isInteger(de)?y.format(`( ${ge} % ${ve} )`,se,E):y.format(`${this.getOperatorMethod(y,se)}( ${ge}, ${ve} )`,se,E);if(z==="!"||z==="~")return y.format(`(${z}${ge})`,le,E);if(xe)return y.format(`${xe}( ${ge}, ${ve} )`,se,E);if(y.isMatrix(le)&&de==="float")return y.format(`( ${ve} ${z} ${ge} )`,se,E);if(le==="float"&&y.isMatrix(de))return y.format(`${ge} ${z} ${ve}`,se,E);{let Me=`( ${ge} ${z} ${ve} )`;return!Se&&se==="bool"&&y.isVector(le)&&y.isVector(de)&&(Me=`all${Me}`),y.format(Me,se,E)}}else if(le!=="void")return xe?y.format(`${xe}( ${ge}, ${ve} )`,se,E):y.isMatrix(le)&&de==="float"?y.format(`${ve} ${z} ${ge}`,se,E):y.format(`${ge} ${z} ${ve}`,se,E)}serialize(y){super.serialize(y),y.op=this.op}deserialize(y){super.deserialize(y),this.op=y.op}}const Od=Ar(yh,"+").setParameterLength(2,1/0).setName("add"),Wl=Ar(yh,"-").setParameterLength(2,1/0).setName("sub"),il=Ar(yh,"*").setParameterLength(2,1/0).setName("mul"),_0=Ar(yh,"/").setParameterLength(2,1/0).setName("div"),W5=Ar(yh,"%").setParameterLength(2).setName("mod"),V3=Ar(yh,"==").setParameterLength(2).setName("equal"),L8=Ar(yh,"!=").setParameterLength(2).setName("notEqual"),N8=Ar(yh,"<").setParameterLength(2).setName("lessThan"),j3=Ar(yh,">").setParameterLength(2).setName("greaterThan"),I8=Ar(yh,"<=").setParameterLength(2).setName("lessThanEqual"),R8=Ar(yh,">=").setParameterLength(2).setName("greaterThanEqual"),O8=Ar(yh,"&&").setParameterLength(2,1/0).setName("and"),k8=Ar(yh,"||").setParameterLength(2,1/0).setName("or"),z8=Ar(yh,"!").setParameterLength(1).setName("not"),H8=Ar(yh,"^^").setParameterLength(2).setName("xor"),U8=Ar(yh,"&").setParameterLength(2).setName("bitAnd"),V8=Ar(yh,"~").setParameterLength(2).setName("bitNot"),j8=Ar(yh,"|").setParameterLength(2).setName("bitOr"),G8=Ar(yh,"^").setParameterLength(2).setName("bitXor"),X8=Ar(yh,"<<").setParameterLength(2).setName("shiftLeft"),W8=Ar(yh,">>").setParameterLength(2).setName("shiftRight"),Q8=Kn(([ee])=>(ee.addAssign(1),ee)),Y8=Kn(([ee])=>(ee.subAssign(1),ee)),Z8=Kn(([ee])=>{const y=Mn(ee).toConst();return ee.addAssign(1),y}),K8=Kn(([ee])=>{const y=Mn(ee).toConst();return ee.subAssign(1),y});ur("add",Od),ur("sub",Wl),ur("mul",il),ur("div",_0),ur("mod",W5),ur("equal",V3),ur("notEqual",L8),ur("lessThan",N8),ur("greaterThan",j3),ur("lessThanEqual",I8),ur("greaterThanEqual",R8),ur("and",O8),ur("or",k8),ur("not",z8),ur("xor",H8),ur("bitAnd",U8),ur("bitNot",V8),ur("bitOr",j8),ur("bitXor",G8),ur("shiftLeft",X8),ur("shiftRight",W8),ur("incrementBefore",Q8),ur("decrementBefore",Y8),ur("increment",Z8),ur("decrement",K8);const J8=(ee,y)=>(console.warn('THREE.TSL: "modInt()" is deprecated. Use "mod( int( ... ) )" instead.'),W5(Mn(ee),Mn(y)));ur("modInt",J8);class pi extends Id{static get type(){return"MathNode"}constructor(y,E,z=null,ne=null){if(super(),(y===pi.MAX||y===pi.MIN)&&arguments.length>3){let ie=new pi(y,E,z);for(let se=2;sese&&ie>le?E:se>le?z:le>ie?ne:E}getNodeType(y){const E=this.method;return E===pi.LENGTH||E===pi.DISTANCE||E===pi.DOT?"float":E===pi.CROSS?"vec3":E===pi.ALL||E===pi.ANY?"bool":E===pi.EQUALS?y.changeComponentType(this.aNode.getNodeType(y),"bool"):this.getInputType(y)}setup(y){const{aNode:E,bNode:z,method:ne}=this;let ie=null;if(ne===pi.ONE_MINUS)ie=Wl(1,E);else if(ne===pi.RECIPROCAL)ie=_0(1,E);else if(ne===pi.DIFFERENCE)ie=xc(Wl(E,z));else if(ne===pi.TRANSFORM_DIRECTION){let se=E,le=z;y.isMatrix(se.getNodeType(y))?le=Qo(Xn(le),0):se=Qo(Xn(se),0);const de=il(se,le).xyz;ie=Ux(de)}return ie!==null?ie:super.setup(y)}generate(y,E){if(y.getNodeProperties(this).outputNode)return super.generate(y,E);let ne=this.method;const ie=this.getNodeType(y),se=this.getInputType(y),le=this.aNode,de=this.bNode,ge=this.cNode,ve=y.renderer.coordinateSystem;if(ne===pi.NEGATE)return y.format("( - "+le.build(y,se)+" )",ie,E);{const xe=[];return ne===pi.CROSS?xe.push(le.build(y,ie),de.build(y,ie)):ve===Cd&&ne===pi.STEP?xe.push(le.build(y,y.getTypeLength(le.getNodeType(y))===1?"float":se),de.build(y,se)):ve===Cd&&(ne===pi.MIN||ne===pi.MAX)?xe.push(le.build(y,se),de.build(y,y.getTypeLength(de.getNodeType(y))===1?"float":se)):ne===pi.REFRACT?xe.push(le.build(y,se),de.build(y,se),ge.build(y,"float")):ne===pi.MIX?xe.push(le.build(y,se),de.build(y,se),ge.build(y,y.getTypeLength(ge.getNodeType(y))===1?"float":se)):(ve===rd&&ne===pi.ATAN&&de!==null&&(ne="atan2"),y.shaderStage!=="fragment"&&(ne===pi.DFDX||ne===pi.DFDY)&&(console.warn(`THREE.TSL: '${ne}' is not supported in the ${y.shaderStage} stage.`),ne="/*"+ne+"*/"),xe.push(le.build(y,se)),de!==null&&xe.push(de.build(y,se)),ge!==null&&xe.push(ge.build(y,se))),y.format(`${y.getMethod(ne,ie)}( ${xe.join(", ")} )`,ie,E)}}serialize(y){super.serialize(y),y.method=this.method}deserialize(y){super.deserialize(y),this.method=y.method}}pi.ALL="all",pi.ANY="any",pi.RADIANS="radians",pi.DEGREES="degrees",pi.EXP="exp",pi.EXP2="exp2",pi.LOG="log",pi.LOG2="log2",pi.SQRT="sqrt",pi.INVERSE_SQRT="inversesqrt",pi.FLOOR="floor",pi.CEIL="ceil",pi.NORMALIZE="normalize",pi.FRACT="fract",pi.SIN="sin",pi.COS="cos",pi.TAN="tan",pi.ASIN="asin",pi.ACOS="acos",pi.ATAN="atan",pi.ABS="abs",pi.SIGN="sign",pi.LENGTH="length",pi.NEGATE="negate",pi.ONE_MINUS="oneMinus",pi.DFDX="dFdx",pi.DFDY="dFdy",pi.ROUND="round",pi.RECIPROCAL="reciprocal",pi.TRUNC="trunc",pi.FWIDTH="fwidth",pi.TRANSPOSE="transpose",pi.BITCAST="bitcast",pi.EQUALS="equals",pi.MIN="min",pi.MAX="max",pi.STEP="step",pi.REFLECT="reflect",pi.DISTANCE="distance",pi.DIFFERENCE="difference",pi.DOT="dot",pi.CROSS="cross",pi.POW="pow",pi.TRANSFORM_DIRECTION="transformDirection",pi.MIX="mix",pi.CLAMP="clamp",pi.REFRACT="refract",pi.SMOOTHSTEP="smoothstep",pi.FACEFORWARD="faceforward";const q8=nn(1e-6),VG=nn(1e6),Q5=nn(Math.PI),jG=nn(Math.PI*2),_8=Ar(pi,pi.ALL).setParameterLength(1),$8=Ar(pi,pi.ANY).setParameterLength(1),eI=Ar(pi,pi.RADIANS).setParameterLength(1),tI=Ar(pi,pi.DEGREES).setParameterLength(1),G3=Ar(pi,pi.EXP).setParameterLength(1),AE=Ar(pi,pi.EXP2).setParameterLength(1),Y5=Ar(pi,pi.LOG).setParameterLength(1),yA=Ar(pi,pi.LOG2).setParameterLength(1),AA=Ar(pi,pi.SQRT).setParameterLength(1),X3=Ar(pi,pi.INVERSE_SQRT).setParameterLength(1),xA=Ar(pi,pi.FLOOR).setParameterLength(1),Z5=Ar(pi,pi.CEIL).setParameterLength(1),Ux=Ar(pi,pi.NORMALIZE).setParameterLength(1),Vx=Ar(pi,pi.FRACT).setParameterLength(1),km=Ar(pi,pi.SIN).setParameterLength(1),jx=Ar(pi,pi.COS).setParameterLength(1),nI=Ar(pi,pi.TAN).setParameterLength(1),iI=Ar(pi,pi.ASIN).setParameterLength(1),W3=Ar(pi,pi.ACOS).setParameterLength(1),Q3=Ar(pi,pi.ATAN).setParameterLength(1,2),xc=Ar(pi,pi.ABS).setParameterLength(1),q2=Ar(pi,pi.SIGN).setParameterLength(1),wA=Ar(pi,pi.LENGTH).setParameterLength(1),rI=Ar(pi,pi.NEGATE).setParameterLength(1),oI=Ar(pi,pi.ONE_MINUS).setParameterLength(1),Y3=Ar(pi,pi.DFDX).setParameterLength(1),Z3=Ar(pi,pi.DFDY).setParameterLength(1),sI=Ar(pi,pi.ROUND).setParameterLength(1),aI=Ar(pi,pi.RECIPROCAL).setParameterLength(1),K3=Ar(pi,pi.TRUNC).setParameterLength(1),lI=Ar(pi,pi.FWIDTH).setParameterLength(1),uI=Ar(pi,pi.TRANSPOSE).setParameterLength(1),GG=Ar(pi,pi.BITCAST).setParameterLength(2),cI=(ee,y)=>(console.warn('THREE.TSL: "equals" is deprecated. Use "equal" inside a vector instead, like: "bvec*( equal( ... ) )"'),V3(ee,y)),Xp=Ar(pi,pi.MIN).setParameterLength(2,1/0),Th=Ar(pi,pi.MAX).setParameterLength(2,1/0),K5=Ar(pi,pi.STEP).setParameterLength(2),hI=Ar(pi,pi.REFLECT).setParameterLength(2),dI=Ar(pi,pi.DISTANCE).setParameterLength(2),fI=Ar(pi,pi.DIFFERENCE).setParameterLength(2),xw=Ar(pi,pi.DOT).setParameterLength(2),J5=Ar(pi,pi.CROSS).setParameterLength(2),hy=Ar(pi,pi.POW).setParameterLength(2),J3=Ar(pi,pi.POW,2).setParameterLength(1),gI=Ar(pi,pi.POW,3).setParameterLength(1),pI=Ar(pi,pi.POW,4).setParameterLength(1),mI=Ar(pi,pi.TRANSFORM_DIRECTION).setParameterLength(2),vI=ee=>il(q2(ee),hy(xc(ee),1/3)),q3=ee=>xw(ee,ee),yu=Ar(pi,pi.MIX).setParameterLength(3),SA=(ee,y=0,E=1)=>ir(new pi(pi.CLAMP,ir(ee),ir(y),ir(E))),_3=ee=>SA(ee),$3=Ar(pi,pi.REFRACT).setParameterLength(3),$0=Ar(pi,pi.SMOOTHSTEP).setParameterLength(3),eD=Ar(pi,pi.FACEFORWARD).setParameterLength(3),yI=Kn(([ee])=>{const z=43758.5453,ne=xw(ee.xy,Er(12.9898,78.233)),ie=W5(ne,Q5);return Vx(km(ie).mul(z))}),AI=(ee,y,E)=>yu(y,E,ee),xI=(ee,y,E)=>$0(y,E,ee),wI=(ee,y)=>K5(y,ee),SI=(ee,y)=>(console.warn('THREE.TSL: "atan2" is overloaded. Use "atan" instead.'),Q3(ee,y)),XG=eD,WG=X3;ur("all",_8),ur("any",$8),ur("equals",cI),ur("radians",eI),ur("degrees",tI),ur("exp",G3),ur("exp2",AE),ur("log",Y5),ur("log2",yA),ur("sqrt",AA),ur("inverseSqrt",X3),ur("floor",xA),ur("ceil",Z5),ur("normalize",Ux),ur("fract",Vx),ur("sin",km),ur("cos",jx),ur("tan",nI),ur("asin",iI),ur("acos",W3),ur("atan",Q3),ur("abs",xc),ur("sign",q2),ur("length",wA),ur("lengthSq",q3),ur("negate",rI),ur("oneMinus",oI),ur("dFdx",Y3),ur("dFdy",Z3),ur("round",sI),ur("reciprocal",aI),ur("trunc",K3),ur("fwidth",lI),ur("atan2",SI),ur("min",Xp),ur("max",Th),ur("step",wI),ur("reflect",hI),ur("distance",dI),ur("dot",xw),ur("cross",J5),ur("pow",hy),ur("pow2",J3),ur("pow3",gI),ur("pow4",pI),ur("transformDirection",mI),ur("mix",AI),ur("clamp",SA),ur("refract",$3),ur("smoothstep",xI),ur("faceForward",eD),ur("difference",fI),ur("saturate",_3),ur("cbrt",vI),ur("transpose",uI),ur("rand",yI);class QG extends da{static get type(){return"ConditionalNode"}constructor(y,E,z=null){super(),this.condNode=y,this.ifNode=E,this.elseNode=z}getNodeType(y){const{ifNode:E,elseNode:z}=y.getNodeProperties(this);if(E===void 0)return this.setup(y),this.getNodeType(y);const ne=E.getNodeType(y);if(z!==null){const ie=z.getNodeType(y);if(y.getTypeLength(ie)>y.getTypeLength(ne))return ie}return ne}setup(y){const E=this.condNode.cache(),z=this.ifNode.cache(),ne=this.elseNode?this.elseNode.cache():null,ie=y.context.nodeBlock;y.getDataFromNode(z).parentNodeBlock=ie,ne!==null&&(y.getDataFromNode(ne).parentNodeBlock=ie);const se=y.getNodeProperties(this);se.condNode=E,se.ifNode=z.context({nodeBlock:z}),se.elseNode=ne?ne.context({nodeBlock:ne}):null}generate(y,E){const z=this.getNodeType(y),ne=y.getDataFromNode(this);if(ne.nodeProperty!==void 0)return ne.nodeProperty;const{condNode:ie,ifNode:se,elseNode:le}=y.getNodeProperties(this),de=y.currentFunctionNode,ge=E!=="void",ve=ge?cy(z).build(y):"";ne.nodeProperty=ve;const xe=ie.build(y,"bool");y.addFlowCode(` +}`;class oG{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(y,E,z){if(this.texture===null){const ne=new Ec,ie=y.properties.get(ne);ie.__webglTexture=E.texture,(E.depthNear!==z.depthNear||E.depthFar!==z.depthFar)&&(this.depthNear=E.depthNear,this.depthFar=E.depthFar),this.texture=ne}}getMesh(y){if(this.texture!==null&&this.mesh===null){const E=y.cameras[0].viewport,z=new np({vertexShader:iG,fragmentShader:rG,uniforms:{depthColor:{value:this.texture},depthWidth:{value:E.z},depthHeight:{value:E.w}}});this.mesh=new lu(new Qv(20,20),z)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class sG extends Ed{constructor(y,E){super();const z=this;let ne=null,ie=1,se=null,le="local-floor",de=1,ge=null,ve=null,xe=null,Se=null,Me=null,De=null;const Oe=new oG,Re=E.getContextAttributes();let Le=null,Qe=null;const Xe=[],Ze=[],it=new ki;let et=null;const ht=new ah;ht.viewport=new Ks;const lt=new ah;lt.viewport=new Ks;const ot=[ht,lt],rt=new g2;let Mt=null,Xt=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(On){let dn=Xe[On];return dn===void 0&&(dn=new lh,Xe[On]=dn),dn.getTargetRaySpace()},this.getControllerGrip=function(On){let dn=Xe[On];return dn===void 0&&(dn=new lh,Xe[On]=dn),dn.getGripSpace()},this.getHand=function(On){let dn=Xe[On];return dn===void 0&&(dn=new lh,Xe[On]=dn),dn.getHandSpace()};function cn(On){const dn=Ze.indexOf(On.inputSource);if(dn===-1)return;const mi=Xe[dn];mi!==void 0&&(mi.update(On.inputSource,On.frame,ge||se),mi.dispatchEvent({type:On.type,data:On.inputSource}))}function Cn(){ne.removeEventListener("select",cn),ne.removeEventListener("selectstart",cn),ne.removeEventListener("selectend",cn),ne.removeEventListener("squeeze",cn),ne.removeEventListener("squeezestart",cn),ne.removeEventListener("squeezeend",cn),ne.removeEventListener("end",Cn),ne.removeEventListener("inputsourceschange",En);for(let On=0;On=0&&(Ze[ui]=null,Xe[ui].disconnect(mi))}for(let dn=0;dn=Ze.length){Ze.push(mi),ui=Qi;break}else if(Ze[Qi]===null){Ze[Qi]=mi,ui=Qi;break}if(ui===-1)break}const Mi=Xe[ui];Mi&&Mi.connect(mi)}}const Zn=new Vt,ti=new Vt;function bn(On,dn,mi){Zn.setFromMatrixPosition(dn.matrixWorld),ti.setFromMatrixPosition(mi.matrixWorld);const ui=Zn.distanceTo(ti),Mi=dn.projectionMatrix.elements,Qi=mi.projectionMatrix.elements,rr=Mi[14]/(Mi[10]-1),Ir=Mi[14]/(Mi[10]+1),to=(Mi[9]+1)/Mi[5],Jo=(Mi[9]-1)/Mi[5],Ot=(Mi[8]-1)/Mi[0],Pr=(Qi[8]+1)/Qi[0],sr=rr*Ot,Fr=rr*Pr,_i=ui/(-Ot+Pr),Io=_i*-Ot;if(dn.matrixWorld.decompose(On.position,On.quaternion,On.scale),On.translateX(Io),On.translateZ(_i),On.matrixWorld.compose(On.position,On.quaternion,On.scale),On.matrixWorldInverse.copy(On.matrixWorld).invert(),Mi[10]===-1)On.projectionMatrix.copy(dn.projectionMatrix),On.projectionMatrixInverse.copy(dn.projectionMatrixInverse);else{const Rr=rr+_i,po=Ir+_i,Js=sr-Io,hn=Fr+(ui-Io),Rt=to*Ir/po*Rr,yi=Jo*Ir/po*Rr;On.projectionMatrix.makePerspective(Js,hn,Rt,yi,Rr,po),On.projectionMatrixInverse.copy(On.projectionMatrix).invert()}}function rn(On,dn){dn===null?On.matrixWorld.copy(On.matrix):On.matrixWorld.multiplyMatrices(dn.matrixWorld,On.matrix),On.matrixWorldInverse.copy(On.matrixWorld).invert()}this.updateCamera=function(On){if(ne===null)return;let dn=On.near,mi=On.far;Oe.texture!==null&&(Oe.depthNear>0&&(dn=Oe.depthNear),Oe.depthFar>0&&(mi=Oe.depthFar)),rt.near=lt.near=ht.near=dn,rt.far=lt.far=ht.far=mi,(Mt!==rt.near||Xt!==rt.far)&&(ne.updateRenderState({depthNear:rt.near,depthFar:rt.far}),Mt=rt.near,Xt=rt.far),ht.layers.mask=On.layers.mask|2,lt.layers.mask=On.layers.mask|4,rt.layers.mask=ht.layers.mask|lt.layers.mask;const ui=On.parent,Mi=rt.cameras;rn(rt,ui);for(let Qi=0;Qi0&&(Re.alphaTest.value=Le.alphaTest);const Qe=y.get(Le),Xe=Qe.envMap,Ze=Qe.envMapRotation;Xe&&(Re.envMap.value=Xe,qS.copy(Ze),qS.x*=-1,qS.y*=-1,qS.z*=-1,Xe.isCubeTexture&&Xe.isRenderTargetTexture===!1&&(qS.y*=-1,qS.z*=-1),Re.envMapRotation.value.setFromMatrix4(aG.makeRotationFromEuler(qS)),Re.flipEnvMap.value=Xe.isCubeTexture&&Xe.isRenderTargetTexture===!1?-1:1,Re.reflectivity.value=Le.reflectivity,Re.ior.value=Le.ior,Re.refractionRatio.value=Le.refractionRatio),Le.lightMap&&(Re.lightMap.value=Le.lightMap,Re.lightMapIntensity.value=Le.lightMapIntensity,E(Le.lightMap,Re.lightMapTransform)),Le.aoMap&&(Re.aoMap.value=Le.aoMap,Re.aoMapIntensity.value=Le.aoMapIntensity,E(Le.aoMap,Re.aoMapTransform))}function se(Re,Le){Re.diffuse.value.copy(Le.color),Re.opacity.value=Le.opacity,Le.map&&(Re.map.value=Le.map,E(Le.map,Re.mapTransform))}function le(Re,Le){Re.dashSize.value=Le.dashSize,Re.totalSize.value=Le.dashSize+Le.gapSize,Re.scale.value=Le.scale}function de(Re,Le,Qe,Xe){Re.diffuse.value.copy(Le.color),Re.opacity.value=Le.opacity,Re.size.value=Le.size*Qe,Re.scale.value=Xe*.5,Le.map&&(Re.map.value=Le.map,E(Le.map,Re.uvTransform)),Le.alphaMap&&(Re.alphaMap.value=Le.alphaMap,E(Le.alphaMap,Re.alphaMapTransform)),Le.alphaTest>0&&(Re.alphaTest.value=Le.alphaTest)}function ge(Re,Le){Re.diffuse.value.copy(Le.color),Re.opacity.value=Le.opacity,Re.rotation.value=Le.rotation,Le.map&&(Re.map.value=Le.map,E(Le.map,Re.mapTransform)),Le.alphaMap&&(Re.alphaMap.value=Le.alphaMap,E(Le.alphaMap,Re.alphaMapTransform)),Le.alphaTest>0&&(Re.alphaTest.value=Le.alphaTest)}function ve(Re,Le){Re.specular.value.copy(Le.specular),Re.shininess.value=Math.max(Le.shininess,1e-4)}function xe(Re,Le){Le.gradientMap&&(Re.gradientMap.value=Le.gradientMap)}function Se(Re,Le){Re.metalness.value=Le.metalness,Le.metalnessMap&&(Re.metalnessMap.value=Le.metalnessMap,E(Le.metalnessMap,Re.metalnessMapTransform)),Re.roughness.value=Le.roughness,Le.roughnessMap&&(Re.roughnessMap.value=Le.roughnessMap,E(Le.roughnessMap,Re.roughnessMapTransform)),Le.envMap&&(Re.envMapIntensity.value=Le.envMapIntensity)}function Me(Re,Le,Qe){Re.ior.value=Le.ior,Le.sheen>0&&(Re.sheenColor.value.copy(Le.sheenColor).multiplyScalar(Le.sheen),Re.sheenRoughness.value=Le.sheenRoughness,Le.sheenColorMap&&(Re.sheenColorMap.value=Le.sheenColorMap,E(Le.sheenColorMap,Re.sheenColorMapTransform)),Le.sheenRoughnessMap&&(Re.sheenRoughnessMap.value=Le.sheenRoughnessMap,E(Le.sheenRoughnessMap,Re.sheenRoughnessMapTransform))),Le.clearcoat>0&&(Re.clearcoat.value=Le.clearcoat,Re.clearcoatRoughness.value=Le.clearcoatRoughness,Le.clearcoatMap&&(Re.clearcoatMap.value=Le.clearcoatMap,E(Le.clearcoatMap,Re.clearcoatMapTransform)),Le.clearcoatRoughnessMap&&(Re.clearcoatRoughnessMap.value=Le.clearcoatRoughnessMap,E(Le.clearcoatRoughnessMap,Re.clearcoatRoughnessMapTransform)),Le.clearcoatNormalMap&&(Re.clearcoatNormalMap.value=Le.clearcoatNormalMap,E(Le.clearcoatNormalMap,Re.clearcoatNormalMapTransform),Re.clearcoatNormalScale.value.copy(Le.clearcoatNormalScale),Le.side===au&&Re.clearcoatNormalScale.value.negate())),Le.dispersion>0&&(Re.dispersion.value=Le.dispersion),Le.iridescence>0&&(Re.iridescence.value=Le.iridescence,Re.iridescenceIOR.value=Le.iridescenceIOR,Re.iridescenceThicknessMinimum.value=Le.iridescenceThicknessRange[0],Re.iridescenceThicknessMaximum.value=Le.iridescenceThicknessRange[1],Le.iridescenceMap&&(Re.iridescenceMap.value=Le.iridescenceMap,E(Le.iridescenceMap,Re.iridescenceMapTransform)),Le.iridescenceThicknessMap&&(Re.iridescenceThicknessMap.value=Le.iridescenceThicknessMap,E(Le.iridescenceThicknessMap,Re.iridescenceThicknessMapTransform))),Le.transmission>0&&(Re.transmission.value=Le.transmission,Re.transmissionSamplerMap.value=Qe.texture,Re.transmissionSamplerSize.value.set(Qe.width,Qe.height),Le.transmissionMap&&(Re.transmissionMap.value=Le.transmissionMap,E(Le.transmissionMap,Re.transmissionMapTransform)),Re.thickness.value=Le.thickness,Le.thicknessMap&&(Re.thicknessMap.value=Le.thicknessMap,E(Le.thicknessMap,Re.thicknessMapTransform)),Re.attenuationDistance.value=Le.attenuationDistance,Re.attenuationColor.value.copy(Le.attenuationColor)),Le.anisotropy>0&&(Re.anisotropyVector.value.set(Le.anisotropy*Math.cos(Le.anisotropyRotation),Le.anisotropy*Math.sin(Le.anisotropyRotation)),Le.anisotropyMap&&(Re.anisotropyMap.value=Le.anisotropyMap,E(Le.anisotropyMap,Re.anisotropyMapTransform))),Re.specularIntensity.value=Le.specularIntensity,Re.specularColor.value.copy(Le.specularColor),Le.specularColorMap&&(Re.specularColorMap.value=Le.specularColorMap,E(Le.specularColorMap,Re.specularColorMapTransform)),Le.specularIntensityMap&&(Re.specularIntensityMap.value=Le.specularIntensityMap,E(Le.specularIntensityMap,Re.specularIntensityMapTransform))}function De(Re,Le){Le.matcap&&(Re.matcap.value=Le.matcap)}function Oe(Re,Le){const Qe=y.get(Le).light;Re.referencePosition.value.setFromMatrixPosition(Qe.matrixWorld),Re.nearDistance.value=Qe.shadow.camera.near,Re.farDistance.value=Qe.shadow.camera.far}return{refreshFogUniforms:z,refreshMaterialUniforms:ne}}function uG(ee,y,E,z){let ne={},ie={},se=[];const le=ee.getParameter(ee.MAX_UNIFORM_BUFFER_BINDINGS);function de(Qe,Xe){const Ze=Xe.program;z.uniformBlockBinding(Qe,Ze)}function ge(Qe,Xe){let Ze=ne[Qe.id];Ze===void 0&&(De(Qe),Ze=ve(Qe),ne[Qe.id]=Ze,Qe.addEventListener("dispose",Re));const it=Xe.program;z.updateUBOMapping(Qe,it);const et=y.render.frame;ie[Qe.id]!==et&&(Se(Qe),ie[Qe.id]=et)}function ve(Qe){const Xe=xe();Qe.__bindingPointIndex=Xe;const Ze=ee.createBuffer(),it=Qe.__size,et=Qe.usage;return ee.bindBuffer(ee.UNIFORM_BUFFER,Ze),ee.bufferData(ee.UNIFORM_BUFFER,it,et),ee.bindBuffer(ee.UNIFORM_BUFFER,null),ee.bindBufferBase(ee.UNIFORM_BUFFER,Xe,Ze),Ze}function xe(){for(let Qe=0;Qe0&&(Ze+=it-et),Qe.__size=Ze,Qe.__cache={},this}function Oe(Qe){const Xe={boundary:0,storage:0};return typeof Qe=="number"||typeof Qe=="boolean"?(Xe.boundary=4,Xe.storage=4):Qe.isVector2?(Xe.boundary=8,Xe.storage=8):Qe.isVector3||Qe.isColor?(Xe.boundary=16,Xe.storage=12):Qe.isVector4?(Xe.boundary=16,Xe.storage=16):Qe.isMatrix3?(Xe.boundary=48,Xe.storage=48):Qe.isMatrix4?(Xe.boundary=64,Xe.storage=64):Qe.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",Qe),Xe}function Re(Qe){const Xe=Qe.target;Xe.removeEventListener("dispose",Re);const Ze=se.indexOf(Xe.__bindingPointIndex);se.splice(Ze,1),ee.deleteBuffer(ne[Xe.id]),delete ne[Xe.id],delete ie[Xe.id]}function Le(){for(const Qe in ne)ee.deleteBuffer(ne[Qe]);se=[],ne={},ie={}}return{bind:de,update:ge,dispose:Le}}class cG{constructor(y={}){const{canvas:E=JA(),context:z=null,depth:ne=!0,stencil:ie=!1,alpha:se=!1,antialias:le=!1,premultipliedAlpha:de=!0,preserveDrawingBuffer:ge=!1,powerPreference:ve="default",failIfMajorPerformanceCaveat:xe=!1,reverseDepthBuffer:Se=!1}=y;this.isWebGLRenderer=!0;let Me;if(z!==null){if(typeof WebGLRenderingContext!="undefined"&&z instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");Me=z.getContextAttributes().alpha}else Me=se;const De=new Uint32Array(4),Oe=new Int32Array(4);let Re=null,Le=null;const Qe=[],Xe=[];this.domElement=E,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=wd,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const Ze=this;let it=!1;this._outputColorSpace=Pn;let et=0,ht=0,lt=null,ot=-1,rt=null;const Mt=new Ks,Xt=new Ks;let cn=null;const Cn=new fo(0);let En=0,Zn=E.width,ti=E.height,bn=1,rn=null,li=null;const Dn=new Ks(0,0,Zn,ti),Wn=new Ks(0,0,Zn,ti);let hi=!1;const On=new L0;let dn=!1,mi=!1;const ui=new rs,Mi=new rs,Qi=new Vt,rr=new Ks,Ir={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let to=!1;function Jo(){return lt===null?bn:1}let Ot=z;function Pr(Jt,vi){return E.getContext(Jt,vi)}try{const Jt={alpha:!0,depth:ne,stencil:ie,antialias:le,premultipliedAlpha:de,preserveDrawingBuffer:ge,powerPreference:ve,failIfMajorPerformanceCaveat:xe};if("setAttribute"in E&&E.setAttribute("data-engine",`three.js r${vp}`),E.addEventListener("webglcontextlost",As,!1),E.addEventListener("webglcontextrestored",Vr,!1),E.addEventListener("webglcontextcreationerror",Br,!1),Ot===null){const vi="webgl2";if(Ot=Pr(vi,Jt),Ot===null)throw Pr(vi)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(Jt){throw console.error("THREE.WebGLRenderer: "+Jt.message),Jt}let sr,Fr,_i,Io,Rr,po,Js,hn,Rt,yi,$i,ii,Ti,qo,ro,us,cs,Or,Yo,Ls,gs,fr,sa,_n;function Zo(){sr=new xV(Ot),sr.init(),fr=new nG(Ot,sr),Fr=new fV(Ot,sr,y,fr),_i=new eG(Ot,sr),Fr.reverseDepthBuffer&&Se&&_i.buffers.depth.setReversed(!0),Io=new PV(Ot),Rr=new Vj,po=new tG(Ot,sr,_i,Rr,Fr,fr,Io),Js=new pV(Ze),hn=new AV(Ze),Rt=new uH(Ot),sa=new hV(Ot,Rt),yi=new wV(Ot,Rt,Io,sa),$i=new EV(Ot,yi,Rt,Io),Yo=new CV(Ot,Fr,po),us=new gV(Rr),ii=new Uj(Ze,Js,hn,sr,Fr,sa,us),Ti=new lG(Ze,Rr),qo=new Gj,ro=new Kj(sr),Or=new cV(Ze,Js,hn,_i,$i,Me,de),cs=new _j(Ze,$i,Fr),_n=new uG(Ot,Io,Fr,_i),Ls=new dV(Ot,sr,Io),gs=new SV(Ot,sr,Io),Io.programs=ii.programs,Ze.capabilities=Fr,Ze.extensions=sr,Ze.properties=Rr,Ze.renderLists=qo,Ze.shadowMap=cs,Ze.state=_i,Ze.info=Io}Zo();const Wr=new sG(Ze,Ot);this.xr=Wr,this.getContext=function(){return Ot},this.getContextAttributes=function(){return Ot.getContextAttributes()},this.forceContextLoss=function(){const Jt=sr.get("WEBGL_lose_context");Jt&&Jt.loseContext()},this.forceContextRestore=function(){const Jt=sr.get("WEBGL_lose_context");Jt&&Jt.restoreContext()},this.getPixelRatio=function(){return bn},this.setPixelRatio=function(Jt){Jt!==void 0&&(bn=Jt,this.setSize(Zn,ti,!1))},this.getSize=function(Jt){return Jt.set(Zn,ti)},this.setSize=function(Jt,vi,Yi=!0){if(Wr.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}Zn=Jt,ti=vi,E.width=Math.floor(Jt*bn),E.height=Math.floor(vi*bn),Yi===!0&&(E.style.width=Jt+"px",E.style.height=vi+"px"),this.setViewport(0,0,Jt,vi)},this.getDrawingBufferSize=function(Jt){return Jt.set(Zn*bn,ti*bn).floor()},this.setDrawingBufferSize=function(Jt,vi,Yi){Zn=Jt,ti=vi,bn=Yi,E.width=Math.floor(Jt*Yi),E.height=Math.floor(vi*Yi),this.setViewport(0,0,Jt,vi)},this.getCurrentViewport=function(Jt){return Jt.copy(Mt)},this.getViewport=function(Jt){return Jt.copy(Dn)},this.setViewport=function(Jt,vi,Yi,Zi){Jt.isVector4?Dn.set(Jt.x,Jt.y,Jt.z,Jt.w):Dn.set(Jt,vi,Yi,Zi),_i.viewport(Mt.copy(Dn).multiplyScalar(bn).round())},this.getScissor=function(Jt){return Jt.copy(Wn)},this.setScissor=function(Jt,vi,Yi,Zi){Jt.isVector4?Wn.set(Jt.x,Jt.y,Jt.z,Jt.w):Wn.set(Jt,vi,Yi,Zi),_i.scissor(Xt.copy(Wn).multiplyScalar(bn).round())},this.getScissorTest=function(){return hi},this.setScissorTest=function(Jt){_i.setScissorTest(hi=Jt)},this.setOpaqueSort=function(Jt){rn=Jt},this.setTransparentSort=function(Jt){li=Jt},this.getClearColor=function(Jt){return Jt.copy(Or.getClearColor())},this.setClearColor=function(){Or.setClearColor(...arguments)},this.getClearAlpha=function(){return Or.getClearAlpha()},this.setClearAlpha=function(){Or.setClearAlpha(...arguments)},this.clear=function(Jt=!0,vi=!0,Yi=!0){let Zi=0;if(Jt){let Ai=!1;if(lt!==null){const no=lt.texture.format;Ai=no===o0||no===sm||no===id}if(Ai){const no=lt.texture.type,es=no===Zu||no===nu||no===rh||no===_d||no===Ep||no===By,ks=Or.getClearColor(),xs=Or.getClearAlpha(),Ya=ks.r,qa=ks.g,xa=ks.b;es?(De[0]=Ya,De[1]=qa,De[2]=xa,De[3]=xs,Ot.clearBufferuiv(Ot.COLOR,0,De)):(Oe[0]=Ya,Oe[1]=qa,Oe[2]=xa,Oe[3]=xs,Ot.clearBufferiv(Ot.COLOR,0,Oe))}else Zi|=Ot.COLOR_BUFFER_BIT}vi&&(Zi|=Ot.DEPTH_BUFFER_BIT),Yi&&(Zi|=Ot.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Ot.clear(Zi)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){E.removeEventListener("webglcontextlost",As,!1),E.removeEventListener("webglcontextrestored",Vr,!1),E.removeEventListener("webglcontextcreationerror",Br,!1),Or.dispose(),qo.dispose(),ro.dispose(),Rr.dispose(),Js.dispose(),hn.dispose(),$i.dispose(),sa.dispose(),_n.dispose(),ii.dispose(),Wr.dispose(),Wr.removeEventListener("sessionstart",Xm),Wr.removeEventListener("sessionend",hv),Wm.stop()};function As(Jt){Jt.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),it=!0}function Vr(){console.log("THREE.WebGLRenderer: Context Restored."),it=!1;const Jt=Io.autoReset,vi=cs.enabled,Yi=cs.autoUpdate,Zi=cs.needsUpdate,Ai=cs.type;Zo(),Io.autoReset=Jt,cs.enabled=vi,cs.autoUpdate=Yi,cs.needsUpdate=Zi,cs.type=Ai}function Br(Jt){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",Jt.statusMessage)}function bs(Jt){const vi=Jt.target;vi.removeEventListener("dispose",bs),lr(vi)}function lr(Jt){Uo(Jt),Rr.remove(Jt)}function Uo(Jt){const vi=Rr.get(Jt).programs;vi!==void 0&&(vi.forEach(function(Yi){ii.releaseProgram(Yi)}),Jt.isShaderMaterial&&ii.releaseShaderCache(Jt))}this.renderBufferDirect=function(Jt,vi,Yi,Zi,Ai,no){vi===null&&(vi=Ir);const es=Ai.isMesh&&Ai.matrixWorld.determinant()<0,ks=GL(Jt,vi,Yi,Zi,Ai);_i.setMaterial(Zi,es);let xs=Yi.index,Ya=1;if(Zi.wireframe===!0){if(xs=yi.getWireframeAttribute(Yi),xs===void 0)return;Ya=2}const qa=Yi.drawRange,xa=Yi.attributes.position;let Il=qa.start*Ya,_l=(qa.start+qa.count)*Ya;no!==null&&(Il=Math.max(Il,no.start*Ya),_l=Math.min(_l,(no.start+no.count)*Ya)),xs!==null?(Il=Math.max(Il,0),_l=Math.min(_l,xs.count)):xa!=null&&(Il=Math.max(Il,0),_l=Math.min(_l,xa.count));const cc=_l-Il;if(cc<0||cc===1/0)return;sa.setup(Ai,Zi,ks,Yi,xs);let Yc,Sc=Ls;if(xs!==null&&(Yc=Rt.get(xs),Sc=gs,Sc.setIndex(Yc)),Ai.isMesh)Zi.wireframe===!0?(_i.setLineWidth(Zi.wireframeLinewidth*Jo()),Sc.setMode(Ot.LINES)):Sc.setMode(Ot.TRIANGLES);else if(Ai.isLine){let ka=Zi.linewidth;ka===void 0&&(ka=1),_i.setLineWidth(ka*Jo()),Ai.isLineSegments?Sc.setMode(Ot.LINES):Ai.isLineLoop?Sc.setMode(Ot.LINE_LOOP):Sc.setMode(Ot.LINE_STRIP)}else Ai.isPoints?Sc.setMode(Ot.POINTS):Ai.isSprite&&Sc.setMode(Ot.TRIANGLES);if(Ai.isBatchedMesh)if(Ai._multiDrawInstances!==null)Cs("THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),Sc.renderMultiDrawInstances(Ai._multiDrawStarts,Ai._multiDrawCounts,Ai._multiDrawCount,Ai._multiDrawInstances);else if(sr.get("WEBGL_multi_draw"))Sc.renderMultiDraw(Ai._multiDrawStarts,Ai._multiDrawCounts,Ai._multiDrawCount);else{const ka=Ai._multiDrawStarts,Fh=Ai._multiDrawCounts,bu=Ai._multiDrawCount,Qm=xs?Rt.get(xs).bytesPerElement:1,ZE=Rr.get(Zi).currentProgram.getUniforms();for(let Ym=0;Ym{function no(){if(Zi.forEach(function(es){Rr.get(es).currentProgram.isReady()&&Zi.delete(es)}),Zi.size===0){Ai(Jt);return}setTimeout(no,10)}sr.get("KHR_parallel_shader_compile")!==null?no():setTimeout(no,10)})};let aa=null;function Os(Jt){aa&&aa(Jt)}function Xm(){Wm.stop()}function hv(){Wm.start()}const Wm=new TN;Wm.setAnimationLoop(Os),typeof self!="undefined"&&Wm.setContext(self),this.setAnimationLoop=function(Jt){aa=Jt,Wr.setAnimationLoop(Jt),Jt===null?Wm.stop():Wm.start()},Wr.addEventListener("sessionstart",Xm),Wr.addEventListener("sessionend",hv),this.render=function(Jt,vi){if(vi!==void 0&&vi.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(it===!0)return;if(Jt.matrixWorldAutoUpdate===!0&&Jt.updateMatrixWorld(),vi.parent===null&&vi.matrixWorldAutoUpdate===!0&&vi.updateMatrixWorld(),Wr.enabled===!0&&Wr.isPresenting===!0&&(Wr.cameraAutoUpdate===!0&&Wr.updateCamera(vi),vi=Wr.getCamera()),Jt.isScene===!0&&Jt.onBeforeRender(Ze,Jt,vi,lt),Le=ro.get(Jt,Xe.length),Le.init(vi),Xe.push(Le),Mi.multiplyMatrices(vi.projectionMatrix,vi.matrixWorldInverse),On.setFromProjectionMatrix(Mi),mi=this.localClippingEnabled,dn=us.init(this.clippingPlanes,mi),Re=qo.get(Jt,Qe.length),Re.init(),Qe.push(Re),Wr.enabled===!0&&Wr.isPresenting===!0){const no=Ze.xr.getDepthSensingMesh();no!==null&&YE(no,vi,-1/0,Ze.sortObjects)}YE(Jt,vi,0,Ze.sortObjects),Re.finish(),Ze.sortObjects===!0&&Re.sort(rn,li),to=Wr.enabled===!1||Wr.isPresenting===!1||Wr.hasDepthSensing()===!1,to&&Or.addToRenderList(Re,Jt),this.info.render.frame++,dn===!0&&us.beginShadows();const Yi=Le.state.shadowsArray;cs.render(Yi,Jt,vi),dn===!0&&us.endShadows(),this.info.autoReset===!0&&this.info.reset();const Zi=Re.opaque,Ai=Re.transmissive;if(Le.setupLights(),vi.isArrayCamera){const no=vi.cameras;if(Ai.length>0)for(let es=0,ks=no.length;es0&&UM(Zi,Ai,Jt,vi),to&&Or.render(Jt),i1(Re,Jt,vi);lt!==null&&ht===0&&(po.updateMultisampleRenderTarget(lt),po.updateRenderTargetMipmap(lt)),Jt.isScene===!0&&Jt.onAfterRender(Ze,Jt,vi),sa.resetDefaultState(),ot=-1,rt=null,Xe.pop(),Xe.length>0?(Le=Xe[Xe.length-1],dn===!0&&us.setGlobalState(Ze.clippingPlanes,Le.state.camera)):Le=null,Qe.pop(),Qe.length>0?Re=Qe[Qe.length-1]:Re=null};function YE(Jt,vi,Yi,Zi){if(Jt.visible===!1)return;if(Jt.layers.test(vi.layers)){if(Jt.isGroup)Yi=Jt.renderOrder;else if(Jt.isLOD)Jt.autoUpdate===!0&&Jt.update(vi);else if(Jt.isLight)Le.pushLight(Jt),Jt.castShadow&&Le.pushShadow(Jt);else if(Jt.isSprite){if(!Jt.frustumCulled||On.intersectsSprite(Jt)){Zi&&rr.setFromMatrixPosition(Jt.matrixWorld).applyMatrix4(Mi);const es=$i.update(Jt),ks=Jt.material;ks.visible&&Re.push(Jt,es,ks,Yi,rr.z,null)}}else if((Jt.isMesh||Jt.isLine||Jt.isPoints)&&(!Jt.frustumCulled||On.intersectsObject(Jt))){const es=$i.update(Jt),ks=Jt.material;if(Zi&&(Jt.boundingSphere!==void 0?(Jt.boundingSphere===null&&Jt.computeBoundingSphere(),rr.copy(Jt.boundingSphere.center)):(es.boundingSphere===null&&es.computeBoundingSphere(),rr.copy(es.boundingSphere.center)),rr.applyMatrix4(Jt.matrixWorld).applyMatrix4(Mi)),Array.isArray(ks)){const xs=es.groups;for(let Ya=0,qa=xs.length;Ya0&&r1(Ai,vi,Yi),no.length>0&&r1(no,vi,Yi),es.length>0&&r1(es,vi,Yi),_i.buffers.depth.setTest(!0),_i.buffers.depth.setMask(!0),_i.buffers.color.setMask(!0),_i.setPolygonOffset(!1)}function UM(Jt,vi,Yi,Zi){if((Yi.isScene===!0?Yi.overrideMaterial:null)!==null)return;Le.state.transmissionRenderTarget[Zi.id]===void 0&&(Le.state.transmissionRenderTarget[Zi.id]=new mm(1,1,{generateMipmaps:!0,type:sr.has("EXT_color_buffer_half_float")||sr.has("EXT_color_buffer_float")?mc:Zu,minFilter:Nc,samples:4,stencilBuffer:ie,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:ys.workingColorSpace}));const no=Le.state.transmissionRenderTarget[Zi.id],es=Zi.viewport||Mt;no.setSize(es.z*Ze.transmissionResolutionScale,es.w*Ze.transmissionResolutionScale);const ks=Ze.getRenderTarget(),xs=Ze.getActiveCubeFace(),Ya=Ze.getActiveMipmapLevel();Ze.setRenderTarget(no),Ze.getClearColor(Cn),En=Ze.getClearAlpha(),En<1&&Ze.setClearColor(16777215,.5),Ze.clear(),to&&Or.render(Yi);const qa=Ze.toneMapping;Ze.toneMapping=wd;const xa=Zi.viewport;if(Zi.viewport!==void 0&&(Zi.viewport=void 0),Le.setupLightsView(Zi),dn===!0&&us.setGlobalState(Ze.clippingPlanes,Zi),r1(Jt,Yi,Zi),po.updateMultisampleRenderTarget(no),po.updateRenderTargetMipmap(no),sr.has("WEBGL_multisampled_render_to_texture")===!1){let Il=!1;for(let _l=0,cc=vi.length;_l0),xa=!!Yi.morphAttributes.position,Il=!!Yi.morphAttributes.normal,_l=!!Yi.morphAttributes.color;let cc=wd;Zi.toneMapped&&(lt===null||lt.isXRRenderTarget===!0)&&(cc=Ze.toneMapping);const Yc=Yi.morphAttributes.position||Yi.morphAttributes.normal||Yi.morphAttributes.color,Sc=Yc!==void 0?Yc.length:0,ka=Rr.get(Zi),Fh=Le.state.lights;if(dn===!0&&(mi===!0||Jt!==rt)){const cp=Jt===rt&&Zi.id===ot;us.setState(Zi,Jt,cp)}let bu=!1;Zi.version===ka.__version?(ka.needsLights&&ka.lightsStateVersion!==Fh.state.version||ka.outputColorSpace!==ks||Ai.isBatchedMesh&&ka.batching===!1||!Ai.isBatchedMesh&&ka.batching===!0||Ai.isBatchedMesh&&ka.batchingColor===!0&&Ai.colorTexture===null||Ai.isBatchedMesh&&ka.batchingColor===!1&&Ai.colorTexture!==null||Ai.isInstancedMesh&&ka.instancing===!1||!Ai.isInstancedMesh&&ka.instancing===!0||Ai.isSkinnedMesh&&ka.skinning===!1||!Ai.isSkinnedMesh&&ka.skinning===!0||Ai.isInstancedMesh&&ka.instancingColor===!0&&Ai.instanceColor===null||Ai.isInstancedMesh&&ka.instancingColor===!1&&Ai.instanceColor!==null||Ai.isInstancedMesh&&ka.instancingMorph===!0&&Ai.morphTexture===null||Ai.isInstancedMesh&&ka.instancingMorph===!1&&Ai.morphTexture!==null||ka.envMap!==xs||Zi.fog===!0&&ka.fog!==no||ka.numClippingPlanes!==void 0&&(ka.numClippingPlanes!==us.numPlanes||ka.numIntersection!==us.numIntersection)||ka.vertexAlphas!==Ya||ka.vertexTangents!==qa||ka.morphTargets!==xa||ka.morphNormals!==Il||ka.morphColors!==_l||ka.toneMapping!==cc||ka.morphTargetsCount!==Sc)&&(bu=!0):(bu=!0,ka.__version=Zi.version);let Qm=ka.currentProgram;bu===!0&&(Qm=MP(Zi,vi,Ai));let ZE=!1,Ym=!1,VM=!1;const wh=Qm.getUniforms(),fv=ka.uniforms;if(_i.useProgram(Qm.program)&&(ZE=!0,Ym=!0,VM=!0),Zi.id!==ot&&(ot=Zi.id,Ym=!0),ZE||rt!==Jt){_i.buffers.depth.getReversed()?(ui.copy(Jt.projectionMatrix),oh(ui),Lp(ui),wh.setValue(Ot,"projectionMatrix",ui)):wh.setValue(Ot,"projectionMatrix",Jt.projectionMatrix),wh.setValue(Ot,"viewMatrix",Jt.matrixWorldInverse);const qp=wh.map.cameraPosition;qp!==void 0&&qp.setValue(Ot,Qi.setFromMatrixPosition(Jt.matrixWorld)),Fr.logarithmicDepthBuffer&&wh.setValue(Ot,"logDepthBufFC",2/(Math.log(Jt.far+1)/Math.LN2)),(Zi.isMeshPhongMaterial||Zi.isMeshToonMaterial||Zi.isMeshLambertMaterial||Zi.isMeshBasicMaterial||Zi.isMeshStandardMaterial||Zi.isShaderMaterial)&&wh.setValue(Ot,"isOrthographic",Jt.isOrthographicCamera===!0),rt!==Jt&&(rt=Jt,Ym=!0,VM=!0)}if(Ai.isSkinnedMesh){wh.setOptional(Ot,Ai,"bindMatrix"),wh.setOptional(Ot,Ai,"bindMatrixInverse");const cp=Ai.skeleton;cp&&(cp.boneTexture===null&&cp.computeBoneTexture(),wh.setValue(Ot,"boneTexture",cp.boneTexture,po))}Ai.isBatchedMesh&&(wh.setOptional(Ot,Ai,"batchingTexture"),wh.setValue(Ot,"batchingTexture",Ai._matricesTexture,po),wh.setOptional(Ot,Ai,"batchingIdTexture"),wh.setValue(Ot,"batchingIdTexture",Ai._indirectTexture,po),wh.setOptional(Ot,Ai,"batchingColorTexture"),Ai._colorsTexture!==null&&wh.setValue(Ot,"batchingColorTexture",Ai._colorsTexture,po));const gv=Yi.morphAttributes;if((gv.position!==void 0||gv.normal!==void 0||gv.color!==void 0)&&Yo.update(Ai,Yi,Qm),(Ym||ka.receiveShadow!==Ai.receiveShadow)&&(ka.receiveShadow=Ai.receiveShadow,wh.setValue(Ot,"receiveShadow",Ai.receiveShadow)),Zi.isMeshGouraudMaterial&&Zi.envMap!==null&&(fv.envMap.value=xs,fv.flipEnvMap.value=xs.isCubeTexture&&xs.isRenderTargetTexture===!1?-1:1),Zi.isMeshStandardMaterial&&Zi.envMap===null&&vi.environment!==null&&(fv.envMapIntensity.value=vi.environmentIntensity),Ym&&(wh.setValue(Ot,"toneMappingExposure",Ze.toneMappingExposure),ka.needsLights&&Vo(fv,VM),no&&Zi.fog===!0&&Ti.refreshFogUniforms(fv,no),Ti.refreshMaterialUniforms(fv,Zi,bn,ti,Le.state.transmissionRenderTarget[Jt.id]),L5.upload(Ot,dv(ka),fv,po)),Zi.isShaderMaterial&&Zi.uniformsNeedUpdate===!0&&(L5.upload(Ot,dv(ka),fv,po),Zi.uniformsNeedUpdate=!1),Zi.isSpriteMaterial&&wh.setValue(Ot,"center",Ai.center),wh.setValue(Ot,"modelViewMatrix",Ai.modelViewMatrix),wh.setValue(Ot,"normalMatrix",Ai.normalMatrix),wh.setValue(Ot,"modelMatrix",Ai.matrixWorld),Zi.isShaderMaterial||Zi.isRawShaderMaterial){const cp=Zi.uniformsGroups;for(let qp=0,XL=cp.length;qp0&&po.useMultisampledRTT(Jt)===!1?Ai=Rr.get(Jt).__webglMultisampledFramebuffer:Array.isArray(qa)?Ai=qa[Yi]:Ai=qa,Mt.copy(Jt.viewport),Xt.copy(Jt.scissor),cn=Jt.scissorTest}else Mt.copy(Dn).multiplyScalar(bn).floor(),Xt.copy(Wn).multiplyScalar(bn).floor(),cn=hi;if(Yi!==0&&(Ai=Kp),_i.bindFramebuffer(Ot.FRAMEBUFFER,Ai)&&Zi&&_i.drawBuffers(Jt,Ai),_i.viewport(Mt),_i.scissor(Xt),_i.setScissorTest(cn),no){const xs=Rr.get(Jt.texture);Ot.framebufferTexture2D(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,Ot.TEXTURE_CUBE_MAP_POSITIVE_X+vi,xs.__webglTexture,Yi)}else if(es){const xs=Rr.get(Jt.texture),Ya=vi;Ot.framebufferTextureLayer(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,xs.__webglTexture,Yi,Ya)}else if(Jt!==null&&Yi!==0){const xs=Rr.get(Jt.texture);Ot.framebufferTexture2D(Ot.FRAMEBUFFER,Ot.COLOR_ATTACHMENT0,Ot.TEXTURE_2D,xs.__webglTexture,Yi)}ot=-1},this.readRenderTargetPixels=function(Jt,vi,Yi,Zi,Ai,no,es,ks=0){if(!(Jt&&Jt.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let xs=Rr.get(Jt).__webglFramebuffer;if(Jt.isWebGLCubeRenderTarget&&es!==void 0&&(xs=xs[es]),xs){_i.bindFramebuffer(Ot.FRAMEBUFFER,xs);try{const Ya=Jt.textures[ks],qa=Ya.format,xa=Ya.type;if(!Fr.textureFormatReadable(qa)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Fr.textureTypeReadable(xa)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}vi>=0&&vi<=Jt.width-Zi&&Yi>=0&&Yi<=Jt.height-Ai&&(Jt.textures.length>1&&Ot.readBuffer(Ot.COLOR_ATTACHMENT0+ks),Ot.readPixels(vi,Yi,Zi,Ai,fr.convert(qa),fr.convert(xa),no))}finally{const Ya=lt!==null?Rr.get(lt).__webglFramebuffer:null;_i.bindFramebuffer(Ot.FRAMEBUFFER,Ya)}}},this.readRenderTargetPixelsAsync=function(Jt,vi,Yi,Zi,Ai,no,es,ks=0){return la(this,null,function*(){if(!(Jt&&Jt.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let xs=Rr.get(Jt).__webglFramebuffer;if(Jt.isWebGLCubeRenderTarget&&es!==void 0&&(xs=xs[es]),xs)if(vi>=0&&vi<=Jt.width-Zi&&Yi>=0&&Yi<=Jt.height-Ai){_i.bindFramebuffer(Ot.FRAMEBUFFER,xs);const Ya=Jt.textures[ks],qa=Ya.format,xa=Ya.type;if(!Fr.textureFormatReadable(qa))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Fr.textureTypeReadable(xa))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const Il=Ot.createBuffer();Ot.bindBuffer(Ot.PIXEL_PACK_BUFFER,Il),Ot.bufferData(Ot.PIXEL_PACK_BUFFER,no.byteLength,Ot.STREAM_READ),Jt.textures.length>1&&Ot.readBuffer(Ot.COLOR_ATTACHMENT0+ks),Ot.readPixels(vi,Yi,Zi,Ai,fr.convert(qa),fr.convert(xa),0);const _l=lt!==null?Rr.get(lt).__webglFramebuffer:null;_i.bindFramebuffer(Ot.FRAMEBUFFER,_l);const cc=Ot.fenceSync(Ot.SYNC_GPU_COMMANDS_COMPLETE,0);return Ot.flush(),yield bd(Ot,cc,4),Ot.bindBuffer(Ot.PIXEL_PACK_BUFFER,Il),Ot.getBufferSubData(Ot.PIXEL_PACK_BUFFER,0,no),Ot.deleteBuffer(Il),Ot.deleteSync(cc),no}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")})},this.copyFramebufferToTexture=function(Jt,vi=null,Yi=0){const Zi=Math.pow(2,-Yi),Ai=Math.floor(Jt.image.width*Zi),no=Math.floor(Jt.image.height*Zi),es=vi!==null?vi.x:0,ks=vi!==null?vi.y:0;po.setTexture2D(Jt,0),Ot.copyTexSubImage2D(Ot.TEXTURE_2D,Yi,0,0,es,ks,Ai,no),_i.unbindTexture()};const Jp=Ot.createFramebuffer(),BP=Ot.createFramebuffer();this.copyTextureToTexture=function(Jt,vi,Yi=null,Zi=null,Ai=0,no=null){no===null&&(Ai!==0?(Cs("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),no=Ai,Ai=0):no=0);let es,ks,xs,Ya,qa,xa,Il,_l,cc;const Yc=Jt.isCompressedTexture?Jt.mipmaps[no]:Jt.image;if(Yi!==null)es=Yi.max.x-Yi.min.x,ks=Yi.max.y-Yi.min.y,xs=Yi.isBox3?Yi.max.z-Yi.min.z:1,Ya=Yi.min.x,qa=Yi.min.y,xa=Yi.isBox3?Yi.min.z:0;else{const gv=Math.pow(2,-Ai);es=Math.floor(Yc.width*gv),ks=Math.floor(Yc.height*gv),Jt.isDataArrayTexture?xs=Yc.depth:Jt.isData3DTexture?xs=Math.floor(Yc.depth*gv):xs=1,Ya=0,qa=0,xa=0}Zi!==null?(Il=Zi.x,_l=Zi.y,cc=Zi.z):(Il=0,_l=0,cc=0);const Sc=fr.convert(vi.format),ka=fr.convert(vi.type);let Fh;vi.isData3DTexture?(po.setTexture3D(vi,0),Fh=Ot.TEXTURE_3D):vi.isDataArrayTexture||vi.isCompressedArrayTexture?(po.setTexture2DArray(vi,0),Fh=Ot.TEXTURE_2D_ARRAY):(po.setTexture2D(vi,0),Fh=Ot.TEXTURE_2D),Ot.pixelStorei(Ot.UNPACK_FLIP_Y_WEBGL,vi.flipY),Ot.pixelStorei(Ot.UNPACK_PREMULTIPLY_ALPHA_WEBGL,vi.premultiplyAlpha),Ot.pixelStorei(Ot.UNPACK_ALIGNMENT,vi.unpackAlignment);const bu=Ot.getParameter(Ot.UNPACK_ROW_LENGTH),Qm=Ot.getParameter(Ot.UNPACK_IMAGE_HEIGHT),ZE=Ot.getParameter(Ot.UNPACK_SKIP_PIXELS),Ym=Ot.getParameter(Ot.UNPACK_SKIP_ROWS),VM=Ot.getParameter(Ot.UNPACK_SKIP_IMAGES);Ot.pixelStorei(Ot.UNPACK_ROW_LENGTH,Yc.width),Ot.pixelStorei(Ot.UNPACK_IMAGE_HEIGHT,Yc.height),Ot.pixelStorei(Ot.UNPACK_SKIP_PIXELS,Ya),Ot.pixelStorei(Ot.UNPACK_SKIP_ROWS,qa),Ot.pixelStorei(Ot.UNPACK_SKIP_IMAGES,xa);const wh=Jt.isDataArrayTexture||Jt.isData3DTexture,fv=vi.isDataArrayTexture||vi.isData3DTexture;if(Jt.isDepthTexture){const gv=Rr.get(Jt),cp=Rr.get(vi),qp=Rr.get(gv.__renderTarget),XL=Rr.get(cp.__renderTarget);_i.bindFramebuffer(Ot.READ_FRAMEBUFFER,qp.__webglFramebuffer),_i.bindFramebuffer(Ot.DRAW_FRAMEBUFFER,XL.__webglFramebuffer);for(let TP=0;TP0){const{width:se,height:le}=y.context;E.bufferWidth=se,E.bufferHeight=le}this.renderObjects.set(y,E)}return E}getAttributesData(y){const E={};for(const z in y){const ne=y[z];E[z]={version:ne.version}}return E}containsNode(y){const E=y.material;for(const z in E)if(E[z]&&E[z].isNode)return!0;return y.renderer.overrideNodes.modelViewMatrix!==null||y.renderer.overrideNodes.modelNormalViewMatrix!==null}getMaterialData(y){const E={};for(const z of this.refreshUniforms){const ne=y[z];ne!=null&&(typeof ne=="object"&&ne.clone!==void 0?ne.isTexture===!0?E[z]={id:ne.id,version:ne.version}:E[z]=ne.clone():E[z]=ne)}return E}equals(y){const{object:E,material:z,geometry:ne}=y,ie=this.getRenderObjectData(y);if(ie.worldMatrix.equals(E.matrixWorld)!==!0)return ie.worldMatrix.copy(E.matrixWorld),!1;const se=ie.material;for(const Oe in se){const Re=se[Oe],Le=z[Oe];if(Re.equals!==void 0){if(Re.equals(Le)===!1)return Re.copy(Le),!1}else if(Le.isTexture===!0){if(Re.id!==Le.id||Re.version!==Le.version)return Re.id=Le.id,Re.version=Le.version,!1}else if(Re!==Le)return se[Oe]=Le,!1}if(se.transmission>0){const{width:Oe,height:Re}=y.context;if(ie.bufferWidth!==Oe||ie.bufferHeight!==Re)return ie.bufferWidth=Oe,ie.bufferHeight=Re,!1}const le=ie.geometry,de=ne.attributes,ge=le.attributes,ve=Object.keys(ge),xe=Object.keys(de);if(le.id!==ne.id)return le.id=ne.id,!1;if(ve.length!==xe.length)return ie.geometry.attributes=this.getAttributesData(de),!1;for(const Oe of ve){const Re=ge[Oe],Le=de[Oe];if(Le===void 0)return delete ge[Oe],!1;if(Re.version!==Le.version)return Re.version=Le.version,!1}const Se=ne.index,Me=le.indexVersion,De=Se?Se.version:null;if(Me!==De)return le.indexVersion=De,!1;if(le.drawRange.start!==ne.drawRange.start||le.drawRange.count!==ne.drawRange.count)return le.drawRange.start=ne.drawRange.start,le.drawRange.count=ne.drawRange.count,!1;if(ie.morphTargetInfluences){let Oe=!1;for(let Re=0;Re>>16,2246822507),E^=Math.imul(z^z>>>13,3266489909),z=Math.imul(z^z>>>16,2246822507),z^=Math.imul(E^E>>>13,3266489909),4294967296*(2097151&z)+(E>>>0)}const g3=ee=>R2(ee),O2=ee=>R2(ee),k2=(...ee)=>R2(ee);function p3(ee,y=!1){const E=[];ee.isNode===!0&&(E.push(ee.id),ee=ee.getSelf());for(const{property:z,childNode:ne}of z2(ee))E.push(R2(z.slice(0,-4)),ne.getCacheKey(y));return R2(E)}function*z2(ee,y=!1){for(const E in ee){if(E.startsWith("_")===!0)continue;const z=ee[E];if(Array.isArray(z)===!0)for(let ne=0;ney.charCodeAt(0)).buffer}var Xse=Object.freeze({__proto__:null,arrayBufferToBase64:x3,base64ToArrayBuffer:w3,getByteBoundaryFromType:s8,getCacheKey:p3,getDataFromObject:A3,getLengthFromType:v3,getMemoryLengthFromType:o8,getNodeChildren:z2,getTypeFromLength:m3,getTypedArrayFromType:H2,getValueFromType:y3,getValueType:Hx,hash:k2,hashArray:O2,hashString:g3});const U2={VERTEX:"vertex",FRAGMENT:"fragment"},al={NONE:"none",FRAME:"frame",RENDER:"render",OBJECT:"object"},gG={BOOLEAN:"bool",INTEGER:"int",FLOAT:"float",VECTOR2:"vec2",VECTOR3:"vec3",VECTOR4:"vec4",MATRIX2:"mat2",MATRIX3:"mat3",MATRIX4:"mat4"},Og={READ_ONLY:"readOnly",WRITE_ONLY:"writeOnly",READ_WRITE:"readWrite"},a8=["fragment","vertex"],S3=["setup","analyze","generate"],P3=[...a8,"compute"],_S=["x","y","z","w"],pG={analyze:"setup",generate:"analyze"};let mG=0;class da extends Ed{static get type(){return"Node"}constructor(y=null){super(),this.nodeType=y,this.updateType=al.NONE,this.updateBeforeType=al.NONE,this.updateAfterType=al.NONE,this.uuid=v0.generateUUID(),this.version=0,this.global=!1,this.parents=!1,this.isNode=!0,this._cacheKey=null,this._cacheKeyVersion=0,Object.defineProperty(this,"id",{value:mG++})}set needsUpdate(y){y===!0&&this.version++}get type(){return this.constructor.type}onUpdate(y,E){return this.updateType=E,this.update=y.bind(this.getSelf()),this}onFrameUpdate(y){return this.onUpdate(y,al.FRAME)}onRenderUpdate(y){return this.onUpdate(y,al.RENDER)}onObjectUpdate(y){return this.onUpdate(y,al.OBJECT)}onReference(y){return this.updateReference=y.bind(this.getSelf()),this}getSelf(){return this.self||this}updateReference(){return this}isGlobal(){return this.global}*getChildren(){for(const{childNode:y}of z2(this))yield y}dispose(){this.dispatchEvent({type:"dispose"})}traverse(y){y(this);for(const E of this.getChildren())E.traverse(y)}getCacheKey(y=!1){return y=y||this.version!==this._cacheKeyVersion,(y===!0||this._cacheKey===null)&&(this._cacheKey=k2(p3(this,y),this.customCacheKey()),this._cacheKeyVersion=this.version),this._cacheKey}customCacheKey(){return 0}getScope(){return this}getHash(){return this.uuid}getUpdateType(){return this.updateType}getUpdateBeforeType(){return this.updateBeforeType}getUpdateAfterType(){return this.updateAfterType}getElementType(y){const E=this.getNodeType(y);return y.getElementType(E)}getMemberType(){return"void"}getNodeType(y){const E=y.getNodeProperties(this);return E.outputNode?E.outputNode.getNodeType(y):this.nodeType}getShared(y){const E=this.getHash(y);return y.getNodeFromHash(E)||this}setup(y){const E=y.getNodeProperties(this);let z=0;for(const ne of this.getChildren())E["node"+z++]=ne;return E.outputNode||null}analyze(y,E=null){const z=y.increaseUsage(this);if(this.parents===!0){const ne=y.getDataFromNode(this,"any");ne.stages=ne.stages||{},ne.stages[y.shaderStage]=ne.stages[y.shaderStage]||[],ne.stages[y.shaderStage].push(E)}if(z===1){const ne=y.getNodeProperties(this);for(const ie of Object.values(ne))ie&&ie.isNode===!0&&ie.build(y,this)}}generate(y,E){const{outputNode:z}=y.getNodeProperties(this);if(z&&z.isNode===!0)return z.build(y,E)}updateBefore(){console.warn("Abstract function.")}updateAfter(){console.warn("Abstract function.")}update(){console.warn("Abstract function.")}build(y,E=null){const z=this.getShared(y);if(this!==z)return z.build(y,E);const ne=y.getDataFromNode(this);ne.buildStages=ne.buildStages||{},ne.buildStages[y.buildStage]=!0;const ie=pG[y.buildStage];if(ie&&ne.buildStages[ie]!==!0){const de=y.getBuildStage();y.setBuildStage(ie),this.build(y),y.setBuildStage(de)}y.addNode(this),y.addChain(this);let se=null;const le=y.getBuildStage();if(le==="setup"){this.updateReference(y);const de=y.getNodeProperties(this);if(de.initialized!==!0){de.initialized=!0,de.outputNode=this.setup(y)||de.outputNode||null;for(const ge of Object.values(de))if(ge&&ge.isNode===!0){if(ge.parents===!0){const ve=y.getNodeProperties(ge);ve.parents=ve.parents||[],ve.parents.push(this)}ge.build(y)}}se=de.outputNode}else if(le==="analyze")this.analyze(y,E);else if(le==="generate")if(this.generate.length===1){const ge=this.getNodeType(y),ve=y.getDataFromNode(this);se=ve.snippet,se===void 0?ve.generated===void 0?(ve.generated=!0,se=this.generate(y)||"",ve.snippet=se):(console.warn("THREE.Node: Recursion detected.",this),se="/* Recursion detected. */"):ve.flowCodes!==void 0&&y.context.nodeBlock!==void 0&&y.addFlowCodeHierarchy(this,y.context.nodeBlock),se=y.format(se,ge,E)}else se=this.generate(y,E)||"";return y.removeChain(this),y.addSequentialNode(this),se}getSerializeChildren(){return z2(this)}serialize(y){const E=this.getSerializeChildren(),z={};for(const{property:ne,index:ie,childNode:se}of E)ie!==void 0?(z[ne]===void 0&&(z[ne]=Number.isInteger(ie)?[]:{}),z[ne][ie]=se.toJSON(y.meta).uuid):z[ne]=se.toJSON(y.meta).uuid;Object.keys(z).length>0&&(y.inputNodes=z)}deserialize(y){if(y.inputNodes!==void 0){const E=y.meta.nodes;for(const z in y.inputNodes)if(Array.isArray(y.inputNodes[z])){const ne=[];for(const ie of y.inputNodes[z])ne.push(E[ie]);this[z]=ne}else if(typeof y.inputNodes[z]=="object"){const ne={};for(const ie in y.inputNodes[z]){const se=y.inputNodes[z][ie];ne[ie]=E[se]}this[z]=ne}else{const ne=y.inputNodes[z];this[z]=E[ne]}}}toJSON(y){const{uuid:E,type:z}=this,ne=y===void 0||typeof y=="string";ne&&(y={textures:{},images:{},nodes:{}});let ie=y.nodes[E];ie===void 0&&(ie={uuid:E,type:z,meta:y,metadata:{version:4.7,type:"Node",generator:"Node.toJSON"}},ne!==!0&&(y.nodes[ie.uuid]=ie),this.serialize(ie),delete ie.meta);function se(le){const de=[];for(const ge in le){const ve=le[ge];delete ve.metadata,de.push(ve)}return de}if(ne){const le=se(y.textures),de=se(y.images),ge=se(y.nodes);le.length>0&&(ie.textures=le),de.length>0&&(ie.images=de),ge.length>0&&(ie.nodes=ge)}return ie}}class $S extends da{static get type(){return"ArrayElementNode"}constructor(y,E){super(),this.node=y,this.indexNode=E,this.isArrayElementNode=!0}getNodeType(y){return this.node.getElementType(y)}generate(y){const E=this.indexNode.getNodeType(y),z=this.node.build(y),ne=this.indexNode.build(y,!y.isVector(E)&&y.isInteger(E)?E:"uint");return`${z}[ ${ne} ]`}}class l8 extends da{static get type(){return"ConvertNode"}constructor(y,E){super(),this.node=y,this.convertTo=E}getNodeType(y){const E=this.node.getNodeType(y);let z=null;for(const ne of this.convertTo.split("|"))(z===null||y.getTypeLength(E)===y.getTypeLength(ne))&&(z=ne);return z}serialize(y){super.serialize(y),y.convertTo=this.convertTo}deserialize(y){super.deserialize(y),this.convertTo=y.convertTo}generate(y,E){const z=this.node,ne=this.getNodeType(y),ie=z.build(y,ne);return y.format(ie,ne,E)}}class Id extends da{static get type(){return"TempNode"}constructor(y=null){super(y),this.isTempNode=!0}hasDependencies(y){return y.getDataFromNode(this).usageCount>1}build(y,E){if(y.getBuildStage()==="generate"){const ne=y.getVectorType(this.getNodeType(y,E)),ie=y.getDataFromNode(this);if(ie.propertyName!==void 0)return y.format(ie.propertyName,ne,E);if(ne!=="void"&&E!=="void"&&this.hasDependencies(y)){const se=super.build(y,ne),le=y.getVarFromNode(this,null,ne),de=y.getPropertyName(le);return y.addLineFlowCode(`${de} = ${se}`,this),ie.snippet=se,ie.propertyName=de,y.format(ie.propertyName,ne,E)}}return super.build(y,E)}}class vG extends Id{static get type(){return"JoinNode"}constructor(y=[],E=null){super(E),this.nodes=y}getNodeType(y){return this.nodeType!==null?y.getVectorType(this.nodeType):y.getTypeFromLength(this.nodes.reduce((E,z)=>E+y.getTypeLength(z.getNodeType(y)),0))}generate(y,E){const z=this.getNodeType(y),ne=y.getTypeLength(z),ie=this.nodes,se=y.getComponentType(z),le=[];let de=0;for(const ve of ie){if(de>=ne){console.error(`THREE.TSL: Length of parameters exceeds maximum length of function '${z}()' type.`);break}let xe=ve.getNodeType(y),Se=y.getTypeLength(xe),Me;de+Se>ne&&(console.error(`THREE.TSL: Length of '${z}()' data exceeds maximum length of output type.`),Se=ne-de,xe=y.getTypeFromLength(Se)),de+=Se,Me=ve.build(y,xe);const De=y.getComponentType(xe);De!==se&&(Me=y.format(Me,De,se)),le.push(Me)}const ge=`${y.getType(z)}( ${le.join(", ")} )`;return y.format(ge,z,E)}}const yG=_S.join("");class C3 extends da{static get type(){return"SplitNode"}constructor(y,E="x"){super(),this.node=y,this.components=E,this.isSplitNode=!0}getVectorLength(){let y=this.components.length;for(const E of this.components)y=Math.max(_S.indexOf(E)+1,y);return y}getComponentType(y){return y.getComponentType(this.node.getNodeType(y))}getNodeType(y){return y.getTypeFromLength(this.components.length,this.getComponentType(y))}generate(y,E){const z=this.node,ne=y.getTypeLength(z.getNodeType(y));let ie=null;if(ne>1){let se=null;this.getVectorLength()>=ne&&(se=y.getTypeFromLength(this.getVectorLength(),this.getComponentType(y)));const de=z.build(y,se);this.components.length===ne&&this.components===yG.slice(0,this.components.length)?ie=y.format(de,se,E):ie=y.format(`${de}.${this.components}`,this.getNodeType(y),E)}else ie=z.build(y,E);return ie}serialize(y){super.serialize(y),y.components=this.components}deserialize(y){super.deserialize(y),this.components=y.components}}class AG extends Id{static get type(){return"SetNode"}constructor(y,E,z){super(),this.sourceNode=y,this.components=E,this.targetNode=z}getNodeType(y){return this.sourceNode.getNodeType(y)}generate(y){const{sourceNode:E,components:z,targetNode:ne}=this,ie=this.getNodeType(y),se=y.getComponentType(ne.getNodeType(y)),le=y.getTypeFromLength(z.length,se),de=ne.build(y,le),ge=E.build(y,ie),ve=y.getTypeLength(ie),xe=[];for(let Se=0;Seee.replace(/r|s/g,"x").replace(/g|t/g,"y").replace(/b|p/g,"z").replace(/a|q/g,"w"),h8=ee=>c8(ee).split("").sort().join(""),d8={setup(ee,y){const E=y.shift();return ee(j2(E),...y)},get(ee,y,E){if(typeof y=="string"&&ee[y]===void 0){if(ee.isStackNode!==!0&&y==="assign")return(...z)=>(eP.assign(E,...z),E);if(pE.has(y)){const z=pE.get(y);return ee.isStackNode?(...ne)=>E.add(z(...ne)):(...ne)=>z(E,...ne)}else{if(y==="self")return ee;if(y.endsWith("Assign")&&pE.has(y.slice(0,y.length-6))){const z=pE.get(y.slice(0,y.length-6));return ee.isStackNode?(...ne)=>E.assign(ne[0],z(...ne)):(...ne)=>E.assign(z(E,...ne))}else{if(/^[xyzwrgbastpq]{1,4}$/.test(y)===!0)return y=c8(y),ir(new C3(E,y));if(/^set[XYZWRGBASTPQ]{1,4}$/.test(y)===!0)return y=h8(y.slice(3).toLowerCase()),z=>ir(new AG(ee,y,ir(z)));if(/^flip[XYZWRGBASTPQ]{1,4}$/.test(y)===!0)return y=h8(y.slice(4).toLowerCase()),()=>ir(new xG(ir(ee),y));if(y==="width"||y==="height"||y==="depth")return y==="width"?y="x":y==="height"?y="y":y==="depth"&&(y="z"),ir(new C3(ee,y));if(/^\d+$/.test(y)===!0)return ir(new $S(E,new uy(Number(y),"uint")));if(/^get$/.test(y)===!0)return z=>ir(new wG(E,z))}}}return Reflect.get(ee,y,E)},set(ee,y,E,z){return typeof y=="string"&&ee[y]===void 0&&(/^[xyzwrgbastpq]{1,4}$/.test(y)===!0||y==="width"||y==="height"||y==="depth"||/^\d+$/.test(y)===!0)?(z[y].assign(E),!0):Reflect.set(ee,y,E,z)}},b3=new WeakMap,f8=new WeakMap,SG=function(ee,y=null){const E=Hx(ee);if(E==="node"){let z=b3.get(ee);return z===void 0&&(z=new Proxy(ee,d8),b3.set(ee,z),b3.set(z,z)),z}else{if(y===null&&(E==="float"||E==="boolean")||E&&E!=="shader"&&E!=="string")return ir(D3(ee,y));if(E==="shader")return ee.isFn?ee:Kn(ee)}return ee},PG=function(ee,y=null){for(const E in ee)ee[E]=ir(ee[E],y);return ee},CG=function(ee,y=null){const E=ee.length;for(let z=0;zir(z!==null?Object.assign(ve,z):ve);let ie,se=y,le,de;function ge(ve){let xe;return se?xe=/[a-z]/i.test(se)?se+"()":se:xe=ee.type,le!==void 0&&ve.lengthde?(console.error(`THREE.TSL: "${xe}" parameter length exceeds limit.`),ve.slice(0,de)):ve}return y===null?ie=(...ve)=>ne(new ee(...tP(ge(ve)))):E!==null?(E=ir(E),ie=(...ve)=>ne(new ee(y,...tP(ge(ve)),E))):ie=(...ve)=>ne(new ee(y,...tP(ge(ve)))),ie.setParameterLength=(...ve)=>(ve.length===1?le=de=ve[0]:ve.length===2&&([le,de]=ve),ie),ie.setName=ve=>(se=ve,ie),ie},bG=function(ee,...y){return ir(new ee(...tP(y)))};class MG extends da{constructor(y,E){super(),this.shaderNode=y,this.inputNodes=E,this.isShaderCallNodeInternal=!0}getNodeType(y){return this.shaderNode.nodeType||this.getOutputNode(y).getNodeType(y)}getMemberType(y,E){return this.getOutputNode(y).getMemberType(y,E)}call(y){const{shaderNode:E,inputNodes:z}=this,ne=y.getNodeProperties(E),ie=y.getClosestSubBuild(E.subBuilds)||"",se=ie||"default";if(ne[se])return ne[se];const le=y.subBuildFn;y.subBuildFn=ie;let de=null;if(E.layout){let ge=f8.get(y.constructor);ge===void 0&&(ge=new WeakMap,f8.set(y.constructor,ge));let ve=ge.get(E);ve===void 0&&(ve=ir(y.buildFunctionNode(E)),ge.set(E,ve)),y.addInclude(ve),de=ir(ve.call(z))}else{const ge=E.jsFunc,ve=z!==null||ge.length>1?ge(z||[],y):ge(y);de=ir(ve)}return y.subBuildFn=le,E.once&&(ne[se]=de),de}setupOutput(y){return y.addStack(),y.stack.outputNode=this.call(y),y.removeStack()}getOutputNode(y){const E=y.getNodeProperties(this),z=y.getSubBuildOutput(this);return E[z]=E[z]||this.setupOutput(y),E[z].subBuild=y.getClosestSubBuild(this),E[z]}build(y,E=null){let z=null;const ne=y.getBuildStage(),ie=y.getNodeProperties(this),se=y.getSubBuildOutput(this),le=this.getOutputNode(y);if(ne==="setup"){const de=y.getSubBuildProperty("initialized",this);if(ie[de]!==!0&&(ie[de]=!0,ie[se]=this.getOutputNode(y),ie[se].build(y),this.shaderNode.subBuilds))for(const ge of y.chaining){const ve=y.getDataFromNode(ge,"any");ve.subBuilds=ve.subBuilds||new Set;for(const xe of this.shaderNode.subBuilds)ve.subBuilds.add(xe)}z=ie[se]}else ne==="analyze"?le.build(y,E):ne==="generate"&&(z=le.build(y,E)||"");return z}}class BG extends da{constructor(y,E){super(E),this.jsFunc=y,this.layout=null,this.global=!0,this.once=!1}setLayout(y){return this.layout=y,this}call(y=null){return j2(y),ir(new MG(this,y))}setup(){return this.call()}}const TG=[!1,!0],DG=[0,1,2,3],FG=[-1,-2],g8=[.5,1.5,1/3,1e-6,1e6,Math.PI,Math.PI*2,1/Math.PI,2/Math.PI,1/(Math.PI*2),Math.PI/2],M3=new Map;for(const ee of TG)M3.set(ee,new uy(ee));const B3=new Map;for(const ee of DG)B3.set(ee,new uy(ee,"uint"));const T3=new Map([...B3].map(ee=>new uy(ee.value,"int")));for(const ee of FG)T3.set(ee,new uy(ee,"int"));const I5=new Map([...T3].map(ee=>new uy(ee.value)));for(const ee of g8)I5.set(ee,new uy(ee));for(const ee of g8)I5.set(-ee,new uy(-ee));const R5={bool:M3,uint:B3,ints:T3,float:I5},p8=new Map([...M3,...I5]),D3=(ee,y)=>p8.has(ee)?p8.get(ee):ee.isNode===!0?ee:new uy(ee,y),Rd=function(ee,y=null){return(...E)=>{if((E.length===0||!["bool","float","int","uint"].includes(ee)&&E.every(ne=>typeof ne!="object"))&&(E=[y3(ee,...E)]),E.length===1&&y!==null&&y.has(E[0]))return ir(y.get(E[0]));if(E.length===1){const ne=D3(E[0],ee);return ne.nodeType===ee?ir(ne):ir(new l8(ne,ee))}const z=E.map(ne=>D3(ne));return ir(new vG(z,ee))}},V2=ee=>typeof ee=="object"&&ee!==null?ee.value:ee,m8=ee=>ee!=null?ee.nodeType||ee.convertTo||(typeof ee=="string"?ee:null):null;function mE(ee,y){return new Proxy(new BG(ee,y),d8)}const ir=(ee,y=null)=>SG(ee,y),j2=(ee,y=null)=>new PG(ee,y),tP=(ee,y=null)=>new CG(ee,y),Ar=(...ee)=>new EG(...ee),lo=(...ee)=>new bG(...ee);let LG=0;const Kn=(ee,y=null)=>{let E=null;y!==null&&(typeof y=="object"?E=y.return:(typeof y=="string"?E=y:console.error("THREE.TSL: Invalid layout type."),y=null));const z=new mE(ee,E),ne=(...ie)=>{let se;j2(ie),ie[0]&&(ie[0].isNode||Object.getPrototypeOf(ie[0])!==Object.prototype)?se=[...ie]:se=ie[0];const de=z.call(se);return E==="void"&&de.toStack(),de};if(ne.shaderNode=z,ne.id=z.id,ne.isFn=!0,ne.getNodeType=(...ie)=>z.getNodeType(...ie),ne.getCacheKey=(...ie)=>z.getCacheKey(...ie),ne.setLayout=ie=>(z.setLayout(ie),ne),ne.once=(ie=null)=>(z.once=!0,z.subBuilds=ie,ne),y!==null){if(typeof y.inputs!="object"){const ie={name:"fn"+LG++,type:E,inputs:[]};for(const se in y)se!=="return"&&ie.inputs.push({name:se,type:y[se]});y=ie}ne.setLayout(y)}return ne},G2=ee=>{eP=ee},F3=()=>eP,Pa=(...ee)=>eP.If(...ee),NG=(...ee)=>eP.Switch(...ee);function O5(ee){return eP&&eP.add(ee),ee}ur("toStack",O5);const v8=new Rd("color"),nn=new Rd("float",R5.float),Mn=new Rd("int",R5.ints),Ho=new Rd("uint",R5.uint),mA=new Rd("bool",R5.bool),Er=new Rd("vec2"),pf=new Rd("ivec2"),y8=new Rd("uvec2"),A8=new Rd("bvec2"),Xn=new Rd("vec3"),x8=new Rd("ivec3"),vE=new Rd("uvec3"),L3=new Rd("bvec3"),Qo=new Rd("vec4"),w8=new Rd("ivec4"),S8=new Rd("uvec4"),P8=new Rd("bvec4"),k5=new Rd("mat2"),kg=new Rd("mat3"),nP=new Rd("mat4"),IG=(ee="")=>ir(new uy(ee,"string")),RG=ee=>ir(new uy(ee,"ArrayBuffer"));ur("toColor",v8),ur("toFloat",nn),ur("toInt",Mn),ur("toUint",Ho),ur("toBool",mA),ur("toVec2",Er),ur("toIVec2",pf),ur("toUVec2",y8),ur("toBVec2",A8),ur("toVec3",Xn),ur("toIVec3",x8),ur("toUVec3",vE),ur("toBVec3",L3),ur("toVec4",Qo),ur("toIVec4",w8),ur("toUVec4",S8),ur("toBVec4",P8),ur("toMat2",k5),ur("toMat3",kg),ur("toMat4",nP);const C8=Ar($S).setParameterLength(2),E8=(ee,y)=>ir(new l8(ir(ee),y)),OG=(ee,y)=>ir(new C3(ir(ee),y));ur("element",C8),ur("convert",E8);const kG=ee=>(console.warn("THREE.TSL: append() has been renamed to Stack()."),O5(ee));ur("append",ee=>(console.warn("THREE.TSL: .append() has been renamed to .toStack()."),O5(ee)));class Ou extends da{static get type(){return"PropertyNode"}constructor(y,E=null,z=!1){super(y),this.name=E,this.varying=z,this.isPropertyNode=!0,this.global=!0}getHash(y){return this.name||super.getHash(y)}generate(y){let E;return this.varying===!0?(E=y.getVaryingFromNode(this,this.name),E.needsInterpolation=!0):E=y.getVarFromNode(this,this.name),y.getPropertyName(E)}}const cy=(ee,y)=>ir(new Ou(ee,y)),Om=(ee,y)=>ir(new Ou(ee,y,!0)),vu=lo(Ou,"vec4","DiffuseColor"),N3=lo(Ou,"vec3","EmissiveColor"),vA=lo(Ou,"float","Roughness"),X2=lo(Ou,"float","Metalness"),z5=lo(Ou,"float","Clearcoat"),W2=lo(Ou,"float","ClearcoatRoughness"),iP=lo(Ou,"vec3","Sheen"),H5=lo(Ou,"float","SheenRoughness"),U5=lo(Ou,"float","Iridescence"),I3=lo(Ou,"float","IridescenceIOR"),R3=lo(Ou,"float","IridescenceThickness"),V5=lo(Ou,"float","AlphaT"),Aw=lo(Ou,"float","Anisotropy"),Q2=lo(Ou,"vec3","AnisotropyT"),rP=lo(Ou,"vec3","AnisotropyB"),Gp=lo(Ou,"color","SpecularColor"),Y2=lo(Ou,"float","SpecularF90"),j5=lo(Ou,"float","Shininess"),yE=lo(Ou,"vec4","Output"),oP=lo(Ou,"float","dashSize"),Z2=lo(Ou,"float","gapSize"),zG=lo(Ou,"float","pointWidth"),K2=lo(Ou,"float","IOR"),G5=lo(Ou,"float","Transmission"),O3=lo(Ou,"float","Thickness"),k3=lo(Ou,"float","AttenuationDistance"),z3=lo(Ou,"color","AttenuationColor"),H3=lo(Ou,"float","Dispersion");class b8 extends da{static get type(){return"UniformGroupNode"}constructor(y,E=!1,z=1){super("string"),this.name=y,this.shared=E,this.order=z,this.isUniformGroup=!0}serialize(y){super.serialize(y),y.name=this.name,y.version=this.version,y.shared=this.shared}deserialize(y){super.deserialize(y),this.name=y.name,this.version=y.version,this.shared=y.shared}}const M8=ee=>new b8(ee),X5=(ee,y=0)=>new b8(ee,!0,y),B8=X5("frame"),pa=X5("render"),U3=M8("object");class J2 extends E3{static get type(){return"UniformNode"}constructor(y,E=null){super(y,E),this.isUniformNode=!0,this.name="",this.groupNode=U3}label(y){return this.name=y,this}setGroup(y){return this.groupNode=y,this}getGroup(){return this.groupNode}getUniformHash(y){return this.getHash(y)}onUpdate(y,E){const z=this.getSelf();return y=y.bind(z),super.onUpdate(ne=>{const ie=y(ne,z);ie!==void 0&&(this.value=ie)},E)}generate(y,E){const z=this.getNodeType(y),ne=this.getUniformHash(y);let ie=y.getNodeFromHash(ne);ie===void 0&&(y.setHashNode(this,ne),ie=this);const se=ie.getInputType(y),le=y.getUniformFromNode(ie,se,y.shaderStage,this.name||y.context.label),de=y.getPropertyName(le);return y.context.label!==void 0&&delete y.context.label,y.format(de,z,E)}}const Us=(ee,y)=>{const E=m8(y||ee),z=ee&&ee.isNode===!0?ee.node&&ee.node.value||ee.value:ee;return ir(new J2(z,E))};class T8 extends Id{static get type(){return"ArrayNode"}constructor(y,E,z=null){super(y),this.count=E,this.values=z,this.isArrayNode=!0}getNodeType(y){return this.nodeType===null&&(this.nodeType=this.values[0].getNodeType(y)),this.nodeType}getElementType(y){return this.getNodeType(y)}generate(y){const E=this.getNodeType(y);return y.generateArray(E,this.count,this.values)}}const D8=(...ee)=>{let y;if(ee.length===1){const E=ee[0];y=new T8(null,E.length,E)}else{const E=ee[0],z=ee[1];y=new T8(E,z)}return ir(y)};ur("toArray",(ee,y)=>D8(Array(y).fill(ee)));class HG extends Id{static get type(){return"AssignNode"}constructor(y,E){super(),this.targetNode=y,this.sourceNode=E,this.isAssignNode=!0}hasDependencies(){return!1}getNodeType(y,E){return E!=="void"?this.targetNode.getNodeType(y):"void"}needsSplitAssign(y){const{targetNode:E}=this;if(y.isAvailable("swizzleAssign")===!1&&E.isSplitNode&&E.components.length>1){const z=y.getTypeLength(E.node.getNodeType(y));return _S.join("").slice(0,z)!==E.components}return!1}setup(y){const{targetNode:E,sourceNode:z}=this,ne=y.getNodeProperties(this);ne.sourceNode=z,ne.targetNode=E.context({assign:!0})}generate(y,E){const{targetNode:z,sourceNode:ne}=y.getNodeProperties(this),ie=this.needsSplitAssign(y),se=z.getNodeType(y),le=z.build(y),de=ne.build(y,se),ge=ne.getNodeType(y),ve=y.getDataFromNode(this);let xe;if(ve.initialized===!0)E!=="void"&&(xe=le);else if(ie){const Se=y.getVarFromNode(this,null,se),Me=y.getPropertyName(Se);y.addLineFlowCode(`${Me} = ${de}`,this);const De=z.node,Re=De.node.context({assign:!0}).build(y);for(let Le=0;Le{const ve=ge.type,xe=ve==="pointer";let Se;return xe?Se="&"+de.build(y):Se=de.build(y,ve),Se};if(Array.isArray(ie)){if(ie.length>ne.length)console.error("THREE.TSL: The number of provided parameters exceeds the expected number of inputs in 'Fn()'."),ie.length=ne.length;else if(ie.length(y=y.length>1||y[0]&&y[0].isNode===!0?tP(y):j2(y[0]),ir(new UG(ir(ee),y)));ur("call",L8);const VG={"==":"equal","!=":"notEqual","<":"lessThan",">":"greaterThan","<=":"lessThanEqual",">=":"greaterThanEqual","%":"mod"};class yh extends Id{static get type(){return"OperatorNode"}constructor(y,E,z,...ne){if(super(),ne.length>0){let ie=new yh(y,E,z);for(let se=0;se>"||E==="<<")return y.getIntegerType(ie);if(E==="!"||E==="&&"||E==="||"||E==="^^")return"bool";if(E==="=="||E==="!="||E==="<"||E===">"||E==="<="||E===">="){const le=Math.max(y.getTypeLength(ie),y.getTypeLength(se));return le>1?`bvec${le}`:"bool"}else{if(y.isMatrix(ie)){if(se==="float")return ie;if(y.isVector(se))return y.getVectorFromMatrix(ie);if(y.isMatrix(se))return ie}else if(y.isMatrix(se)){if(ie==="float")return se;if(y.isVector(ie))return y.getVectorFromMatrix(se)}return y.getTypeLength(se)>y.getTypeLength(ie)?se:ie}}generate(y,E){const z=this.op,{aNode:ne,bNode:ie}=this,se=this.getNodeType(y);let le=null,de=null;se!=="void"?(le=ne.getNodeType(y),de=ie?ie.getNodeType(y):null,z==="<"||z===">"||z==="<="||z===">="||z==="=="||z==="!="?y.isVector(le)?de=le:y.isVector(de)?le=de:le!==de&&(le=de="float"):z===">>"||z==="<<"?(le=se,de=y.changeComponentType(de,"uint")):z==="%"?(le=se,de=y.isInteger(le)&&y.isInteger(de)?de:le):y.isMatrix(le)?de==="float"?de="float":y.isVector(de)?de=y.getVectorFromMatrix(le):y.isMatrix(de)||(le=de=se):y.isMatrix(de)?le==="float"?le="float":y.isVector(le)?le=y.getVectorFromMatrix(de):le=de=se:le=de=se):le=de=se;const ge=ne.build(y,le),ve=ie?ie.build(y,de):null,xe=y.getFunctionOperator(z);if(E!=="void"){const Se=y.renderer.coordinateSystem===Cd;if(z==="=="||z==="!="||z==="<"||z===">"||z==="<="||z===">=")return Se?y.isVector(le)?y.format(`${this.getOperatorMethod(y,E)}( ${ge}, ${ve} )`,se,E):y.format(`( ${ge} ${z} ${ve} )`,se,E):y.format(`( ${ge} ${z} ${ve} )`,se,E);if(z==="%")return y.isInteger(de)?y.format(`( ${ge} % ${ve} )`,se,E):y.format(`${this.getOperatorMethod(y,se)}( ${ge}, ${ve} )`,se,E);if(z==="!"||z==="~")return y.format(`(${z}${ge})`,le,E);if(xe)return y.format(`${xe}( ${ge}, ${ve} )`,se,E);if(y.isMatrix(le)&&de==="float")return y.format(`( ${ve} ${z} ${ge} )`,se,E);if(le==="float"&&y.isMatrix(de))return y.format(`${ge} ${z} ${ve}`,se,E);{let Me=`( ${ge} ${z} ${ve} )`;return!Se&&se==="bool"&&y.isVector(le)&&y.isVector(de)&&(Me=`all${Me}`),y.format(Me,se,E)}}else if(le!=="void")return xe?y.format(`${xe}( ${ge}, ${ve} )`,se,E):y.isMatrix(le)&&de==="float"?y.format(`${ve} ${z} ${ge}`,se,E):y.format(`${ge} ${z} ${ve}`,se,E)}serialize(y){super.serialize(y),y.op=this.op}deserialize(y){super.deserialize(y),this.op=y.op}}const Od=Ar(yh,"+").setParameterLength(2,1/0).setName("add"),Wl=Ar(yh,"-").setParameterLength(2,1/0).setName("sub"),il=Ar(yh,"*").setParameterLength(2,1/0).setName("mul"),_0=Ar(yh,"/").setParameterLength(2,1/0).setName("div"),W5=Ar(yh,"%").setParameterLength(2).setName("mod"),V3=Ar(yh,"==").setParameterLength(2).setName("equal"),N8=Ar(yh,"!=").setParameterLength(2).setName("notEqual"),I8=Ar(yh,"<").setParameterLength(2).setName("lessThan"),j3=Ar(yh,">").setParameterLength(2).setName("greaterThan"),R8=Ar(yh,"<=").setParameterLength(2).setName("lessThanEqual"),O8=Ar(yh,">=").setParameterLength(2).setName("greaterThanEqual"),k8=Ar(yh,"&&").setParameterLength(2,1/0).setName("and"),z8=Ar(yh,"||").setParameterLength(2,1/0).setName("or"),H8=Ar(yh,"!").setParameterLength(1).setName("not"),U8=Ar(yh,"^^").setParameterLength(2).setName("xor"),V8=Ar(yh,"&").setParameterLength(2).setName("bitAnd"),j8=Ar(yh,"~").setParameterLength(2).setName("bitNot"),G8=Ar(yh,"|").setParameterLength(2).setName("bitOr"),X8=Ar(yh,"^").setParameterLength(2).setName("bitXor"),W8=Ar(yh,"<<").setParameterLength(2).setName("shiftLeft"),Q8=Ar(yh,">>").setParameterLength(2).setName("shiftRight"),Y8=Kn(([ee])=>(ee.addAssign(1),ee)),Z8=Kn(([ee])=>(ee.subAssign(1),ee)),K8=Kn(([ee])=>{const y=Mn(ee).toConst();return ee.addAssign(1),y}),J8=Kn(([ee])=>{const y=Mn(ee).toConst();return ee.subAssign(1),y});ur("add",Od),ur("sub",Wl),ur("mul",il),ur("div",_0),ur("mod",W5),ur("equal",V3),ur("notEqual",N8),ur("lessThan",I8),ur("greaterThan",j3),ur("lessThanEqual",R8),ur("greaterThanEqual",O8),ur("and",k8),ur("or",z8),ur("not",H8),ur("xor",U8),ur("bitAnd",V8),ur("bitNot",j8),ur("bitOr",G8),ur("bitXor",X8),ur("shiftLeft",W8),ur("shiftRight",Q8),ur("incrementBefore",Y8),ur("decrementBefore",Z8),ur("increment",K8),ur("decrement",J8);const q8=(ee,y)=>(console.warn('THREE.TSL: "modInt()" is deprecated. Use "mod( int( ... ) )" instead.'),W5(Mn(ee),Mn(y)));ur("modInt",q8);class pi extends Id{static get type(){return"MathNode"}constructor(y,E,z=null,ne=null){if(super(),(y===pi.MAX||y===pi.MIN)&&arguments.length>3){let ie=new pi(y,E,z);for(let se=2;sese&&ie>le?E:se>le?z:le>ie?ne:E}getNodeType(y){const E=this.method;return E===pi.LENGTH||E===pi.DISTANCE||E===pi.DOT?"float":E===pi.CROSS?"vec3":E===pi.ALL||E===pi.ANY?"bool":E===pi.EQUALS?y.changeComponentType(this.aNode.getNodeType(y),"bool"):this.getInputType(y)}setup(y){const{aNode:E,bNode:z,method:ne}=this;let ie=null;if(ne===pi.ONE_MINUS)ie=Wl(1,E);else if(ne===pi.RECIPROCAL)ie=_0(1,E);else if(ne===pi.DIFFERENCE)ie=xc(Wl(E,z));else if(ne===pi.TRANSFORM_DIRECTION){let se=E,le=z;y.isMatrix(se.getNodeType(y))?le=Qo(Xn(le),0):se=Qo(Xn(se),0);const de=il(se,le).xyz;ie=Ux(de)}return ie!==null?ie:super.setup(y)}generate(y,E){if(y.getNodeProperties(this).outputNode)return super.generate(y,E);let ne=this.method;const ie=this.getNodeType(y),se=this.getInputType(y),le=this.aNode,de=this.bNode,ge=this.cNode,ve=y.renderer.coordinateSystem;if(ne===pi.NEGATE)return y.format("( - "+le.build(y,se)+" )",ie,E);{const xe=[];return ne===pi.CROSS?xe.push(le.build(y,ie),de.build(y,ie)):ve===Cd&&ne===pi.STEP?xe.push(le.build(y,y.getTypeLength(le.getNodeType(y))===1?"float":se),de.build(y,se)):ve===Cd&&(ne===pi.MIN||ne===pi.MAX)?xe.push(le.build(y,se),de.build(y,y.getTypeLength(de.getNodeType(y))===1?"float":se)):ne===pi.REFRACT?xe.push(le.build(y,se),de.build(y,se),ge.build(y,"float")):ne===pi.MIX?xe.push(le.build(y,se),de.build(y,se),ge.build(y,y.getTypeLength(ge.getNodeType(y))===1?"float":se)):(ve===rd&&ne===pi.ATAN&&de!==null&&(ne="atan2"),y.shaderStage!=="fragment"&&(ne===pi.DFDX||ne===pi.DFDY)&&(console.warn(`THREE.TSL: '${ne}' is not supported in the ${y.shaderStage} stage.`),ne="/*"+ne+"*/"),xe.push(le.build(y,se)),de!==null&&xe.push(de.build(y,se)),ge!==null&&xe.push(ge.build(y,se))),y.format(`${y.getMethod(ne,ie)}( ${xe.join(", ")} )`,ie,E)}}serialize(y){super.serialize(y),y.method=this.method}deserialize(y){super.deserialize(y),this.method=y.method}}pi.ALL="all",pi.ANY="any",pi.RADIANS="radians",pi.DEGREES="degrees",pi.EXP="exp",pi.EXP2="exp2",pi.LOG="log",pi.LOG2="log2",pi.SQRT="sqrt",pi.INVERSE_SQRT="inversesqrt",pi.FLOOR="floor",pi.CEIL="ceil",pi.NORMALIZE="normalize",pi.FRACT="fract",pi.SIN="sin",pi.COS="cos",pi.TAN="tan",pi.ASIN="asin",pi.ACOS="acos",pi.ATAN="atan",pi.ABS="abs",pi.SIGN="sign",pi.LENGTH="length",pi.NEGATE="negate",pi.ONE_MINUS="oneMinus",pi.DFDX="dFdx",pi.DFDY="dFdy",pi.ROUND="round",pi.RECIPROCAL="reciprocal",pi.TRUNC="trunc",pi.FWIDTH="fwidth",pi.TRANSPOSE="transpose",pi.BITCAST="bitcast",pi.EQUALS="equals",pi.MIN="min",pi.MAX="max",pi.STEP="step",pi.REFLECT="reflect",pi.DISTANCE="distance",pi.DIFFERENCE="difference",pi.DOT="dot",pi.CROSS="cross",pi.POW="pow",pi.TRANSFORM_DIRECTION="transformDirection",pi.MIX="mix",pi.CLAMP="clamp",pi.REFRACT="refract",pi.SMOOTHSTEP="smoothstep",pi.FACEFORWARD="faceforward";const _8=nn(1e-6),jG=nn(1e6),Q5=nn(Math.PI),GG=nn(Math.PI*2),$8=Ar(pi,pi.ALL).setParameterLength(1),eI=Ar(pi,pi.ANY).setParameterLength(1),tI=Ar(pi,pi.RADIANS).setParameterLength(1),nI=Ar(pi,pi.DEGREES).setParameterLength(1),G3=Ar(pi,pi.EXP).setParameterLength(1),AE=Ar(pi,pi.EXP2).setParameterLength(1),Y5=Ar(pi,pi.LOG).setParameterLength(1),yA=Ar(pi,pi.LOG2).setParameterLength(1),AA=Ar(pi,pi.SQRT).setParameterLength(1),X3=Ar(pi,pi.INVERSE_SQRT).setParameterLength(1),xA=Ar(pi,pi.FLOOR).setParameterLength(1),Z5=Ar(pi,pi.CEIL).setParameterLength(1),Ux=Ar(pi,pi.NORMALIZE).setParameterLength(1),Vx=Ar(pi,pi.FRACT).setParameterLength(1),km=Ar(pi,pi.SIN).setParameterLength(1),jx=Ar(pi,pi.COS).setParameterLength(1),iI=Ar(pi,pi.TAN).setParameterLength(1),rI=Ar(pi,pi.ASIN).setParameterLength(1),W3=Ar(pi,pi.ACOS).setParameterLength(1),Q3=Ar(pi,pi.ATAN).setParameterLength(1,2),xc=Ar(pi,pi.ABS).setParameterLength(1),q2=Ar(pi,pi.SIGN).setParameterLength(1),wA=Ar(pi,pi.LENGTH).setParameterLength(1),oI=Ar(pi,pi.NEGATE).setParameterLength(1),sI=Ar(pi,pi.ONE_MINUS).setParameterLength(1),Y3=Ar(pi,pi.DFDX).setParameterLength(1),Z3=Ar(pi,pi.DFDY).setParameterLength(1),aI=Ar(pi,pi.ROUND).setParameterLength(1),lI=Ar(pi,pi.RECIPROCAL).setParameterLength(1),K3=Ar(pi,pi.TRUNC).setParameterLength(1),uI=Ar(pi,pi.FWIDTH).setParameterLength(1),cI=Ar(pi,pi.TRANSPOSE).setParameterLength(1),XG=Ar(pi,pi.BITCAST).setParameterLength(2),hI=(ee,y)=>(console.warn('THREE.TSL: "equals" is deprecated. Use "equal" inside a vector instead, like: "bvec*( equal( ... ) )"'),V3(ee,y)),Xp=Ar(pi,pi.MIN).setParameterLength(2,1/0),Th=Ar(pi,pi.MAX).setParameterLength(2,1/0),K5=Ar(pi,pi.STEP).setParameterLength(2),dI=Ar(pi,pi.REFLECT).setParameterLength(2),fI=Ar(pi,pi.DISTANCE).setParameterLength(2),gI=Ar(pi,pi.DIFFERENCE).setParameterLength(2),xw=Ar(pi,pi.DOT).setParameterLength(2),J5=Ar(pi,pi.CROSS).setParameterLength(2),hy=Ar(pi,pi.POW).setParameterLength(2),J3=Ar(pi,pi.POW,2).setParameterLength(1),pI=Ar(pi,pi.POW,3).setParameterLength(1),mI=Ar(pi,pi.POW,4).setParameterLength(1),vI=Ar(pi,pi.TRANSFORM_DIRECTION).setParameterLength(2),yI=ee=>il(q2(ee),hy(xc(ee),1/3)),q3=ee=>xw(ee,ee),yu=Ar(pi,pi.MIX).setParameterLength(3),SA=(ee,y=0,E=1)=>ir(new pi(pi.CLAMP,ir(ee),ir(y),ir(E))),_3=ee=>SA(ee),$3=Ar(pi,pi.REFRACT).setParameterLength(3),$0=Ar(pi,pi.SMOOTHSTEP).setParameterLength(3),eD=Ar(pi,pi.FACEFORWARD).setParameterLength(3),AI=Kn(([ee])=>{const z=43758.5453,ne=xw(ee.xy,Er(12.9898,78.233)),ie=W5(ne,Q5);return Vx(km(ie).mul(z))}),xI=(ee,y,E)=>yu(y,E,ee),wI=(ee,y,E)=>$0(y,E,ee),SI=(ee,y)=>K5(y,ee),PI=(ee,y)=>(console.warn('THREE.TSL: "atan2" is overloaded. Use "atan" instead.'),Q3(ee,y)),WG=eD,QG=X3;ur("all",$8),ur("any",eI),ur("equals",hI),ur("radians",tI),ur("degrees",nI),ur("exp",G3),ur("exp2",AE),ur("log",Y5),ur("log2",yA),ur("sqrt",AA),ur("inverseSqrt",X3),ur("floor",xA),ur("ceil",Z5),ur("normalize",Ux),ur("fract",Vx),ur("sin",km),ur("cos",jx),ur("tan",iI),ur("asin",rI),ur("acos",W3),ur("atan",Q3),ur("abs",xc),ur("sign",q2),ur("length",wA),ur("lengthSq",q3),ur("negate",oI),ur("oneMinus",sI),ur("dFdx",Y3),ur("dFdy",Z3),ur("round",aI),ur("reciprocal",lI),ur("trunc",K3),ur("fwidth",uI),ur("atan2",PI),ur("min",Xp),ur("max",Th),ur("step",SI),ur("reflect",dI),ur("distance",fI),ur("dot",xw),ur("cross",J5),ur("pow",hy),ur("pow2",J3),ur("pow3",pI),ur("pow4",mI),ur("transformDirection",vI),ur("mix",xI),ur("clamp",SA),ur("refract",$3),ur("smoothstep",wI),ur("faceForward",eD),ur("difference",gI),ur("saturate",_3),ur("cbrt",yI),ur("transpose",cI),ur("rand",AI);class YG extends da{static get type(){return"ConditionalNode"}constructor(y,E,z=null){super(),this.condNode=y,this.ifNode=E,this.elseNode=z}getNodeType(y){const{ifNode:E,elseNode:z}=y.getNodeProperties(this);if(E===void 0)return this.setup(y),this.getNodeType(y);const ne=E.getNodeType(y);if(z!==null){const ie=z.getNodeType(y);if(y.getTypeLength(ie)>y.getTypeLength(ne))return ie}return ne}setup(y){const E=this.condNode.cache(),z=this.ifNode.cache(),ne=this.elseNode?this.elseNode.cache():null,ie=y.context.nodeBlock;y.getDataFromNode(z).parentNodeBlock=ie,ne!==null&&(y.getDataFromNode(ne).parentNodeBlock=ie);const se=y.getNodeProperties(this);se.condNode=E,se.ifNode=z.context({nodeBlock:z}),se.elseNode=ne?ne.context({nodeBlock:ne}):null}generate(y,E){const z=this.getNodeType(y),ne=y.getDataFromNode(this);if(ne.nodeProperty!==void 0)return ne.nodeProperty;const{condNode:ie,ifNode:se,elseNode:le}=y.getNodeProperties(this),de=y.currentFunctionNode,ge=E!=="void",ve=ge?cy(z).build(y):"";ne.nodeProperty=ve;const xe=ie.build(y,"bool");y.addFlowCode(` ${y.tab}if ( ${xe} ) { `).addFlowTab();let Se=se.build(y,z);if(Se&&(ge?Se=ve+" = "+Se+";":(Se="return "+Se+";",de===null&&(console.warn("THREE.TSL: Return statement used in an inline 'Fn()'. Define a layout struct to allow return values."),Se="// "+Se))),y.removeFlowTab().addFlowCode(y.tab+" "+Se+` @@ -4789,28 +4789,28 @@ ${y.tab}if ( ${xe} ) { `)}else y.addFlowCode(` -`);return y.format(ve,z,E)}}const jf=Ar(QG).setParameterLength(2,3);ur("select",jf);class PI extends da{static get type(){return"ContextNode"}constructor(y,E={}){super(),this.isContextNode=!0,this.node=y,this.value=E}getScope(){return this.node.getScope()}getNodeType(y){return this.node.getNodeType(y)}analyze(y){const E=y.getContext();y.setContext(Sh(Sh({},y.context),this.value)),this.node.build(y),y.setContext(E)}setup(y){const E=y.getContext();y.setContext(Sh(Sh({},y.context),this.value)),this.node.build(y),y.setContext(E)}generate(y,E){const z=y.getContext();y.setContext(Sh(Sh({},y.context),this.value));const ne=this.node.build(y,E);return y.setContext(z),ne}}const q5=Ar(PI).setParameterLength(1,2),CI=(ee,y)=>q5(ee,{label:y});ur("context",q5),ur("label",CI);class _5 extends da{static get type(){return"VarNode"}constructor(y,E=null,z=!1){super(),this.node=y,this.name=E,this.global=!0,this.isVarNode=!0,this.readOnly=z,this.parents=!0}getMemberType(y,E){return this.node.getMemberType(y,E)}getElementType(y){return this.node.getElementType(y)}getNodeType(y){return this.node.getNodeType(y)}generate(y){const{node:E,name:z,readOnly:ne}=this,{renderer:ie}=y,se=ie.backend.isWebGPUBackend===!0;let le=!1,de=!1;ne&&(le=y.isDeterministic(E),de=se?ne:le);const ge=y.getVectorType(this.getNodeType(y)),ve=E.build(y,ge),xe=y.getVarFromNode(this,z,ge,void 0,de),Se=y.getPropertyName(xe);let Me=Se;if(de)if(se)Me=le?`const ${Se}`:`let ${Se}`;else{const De=y.getArrayCount(E);Me=`const ${y.getVar(xe.type,Se,De)}`}return y.addLineFlowCode(`${Me} = ${ve}`,this),Se}}const tD=Ar(_5),EI=(ee,y=null)=>tD(ee,y).toStack(),bI=(ee,y=null)=>tD(ee,y,!0).toStack();ur("toVar",EI),ur("toConst",bI);const MI=ee=>(console.warn('TSL: "temp( node )" is deprecated. Use "Var( node )" or "node.toVar()" instead.'),tD(ee));ur("temp",MI);class YG extends da{static get type(){return"SubBuild"}constructor(y,E,z=null){super(z),this.node=y,this.name=E,this.isSubBuildNode=!0}getNodeType(y){if(this.nodeType!==null)return this.nodeType;y.addSubBuild(this.name);const E=this.node.getNodeType(y);return y.removeSubBuild(),E}build(y,...E){y.addSubBuild(this.name);const z=this.node.build(y,...E);return y.removeSubBuild(),z}}const xE=(ee,y,E=null)=>ir(new YG(ir(ee),y,E));class ZG extends da{static get type(){return"VaryingNode"}constructor(y,E=null){super(),this.node=y,this.name=E,this.isVaryingNode=!0,this.interpolationType=null,this.interpolationSampling=null,this.global=!0}setInterpolation(y,E=null){return this.interpolationType=y,this.interpolationSampling=E,this}getHash(y){return this.name||super.getHash(y)}getNodeType(y){return this.node.getNodeType(y)}setupVarying(y){const E=y.getNodeProperties(this);let z=E.varying;if(z===void 0){const ne=this.name,ie=this.getNodeType(y),se=this.interpolationType,le=this.interpolationSampling;E.varying=z=y.getVaryingFromNode(this,ne,ie,se,le),E.node=xE(this.node,"VERTEX")}return z.needsInterpolation||(z.needsInterpolation=y.shaderStage==="fragment"),z}setup(y){this.setupVarying(y),y.flowNodeFromShaderStage(U2.VERTEX,this.node)}analyze(y){this.setupVarying(y),y.flowNodeFromShaderStage(U2.VERTEX,this.node)}generate(y){const E=y.getSubBuildProperty("property",y.currentStack),z=y.getNodeProperties(this),ne=this.setupVarying(y);if(z[E]===void 0){const ie=this.getNodeType(y),se=y.getPropertyName(ne,U2.VERTEX);y.flowNodeFromShaderStage(U2.VERTEX,z.node,ie,se),z[E]=se}return y.getPropertyName(ne)}}const PA=Ar(ZG).setParameterLength(1,2),BI=ee=>PA(ee);ur("toVarying",PA),ur("toVertexStage",BI),ur("varying",(...ee)=>(console.warn("THREE.TSL: .varying() has been renamed to .toVarying()."),PA(...ee))),ur("vertexStage",(...ee)=>(console.warn("THREE.TSL: .vertexStage() has been renamed to .toVertexStage()."),PA(...ee)));const TI=Kn(([ee])=>{const y=ee.mul(.9478672986).add(.0521327014).pow(2.4),E=ee.mul(.0773993808),z=ee.lessThanEqual(.04045);return yu(y,E,z)}).setLayout({name:"sRGBTransferEOTF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),DI=Kn(([ee])=>{const y=ee.pow(.41666).mul(1.055).sub(.055),E=ee.mul(12.92),z=ee.lessThanEqual(.0031308);return yu(y,E,z)}).setLayout({name:"sRGBTransferOETF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),nD="WorkingColorSpace",KG="OutputColorSpace";class iD extends Id{static get type(){return"ColorSpaceNode"}constructor(y,E,z){super("vec4"),this.colorNode=y,this.source=E,this.target=z}resolveColorSpace(y,E){return E===nD?ys.workingColorSpace:E===KG?y.context.outputColorSpace||y.renderer.outputColorSpace:E}setup(y){const{colorNode:E}=this,z=this.resolveColorSpace(y,this.source),ne=this.resolveColorSpace(y,this.target);let ie=E;return ys.enabled===!1||z===ne||!z||!ne||(ys.getTransfer(z)===kn&&(ie=Qo(TI(ie.rgb),ie.a)),ys.getPrimaries(z)!==ys.getPrimaries(ne)&&(ie=Qo(kg(ys._getMatrix(new Oa,z,ne)).mul(ie.rgb),ie.a)),ys.getTransfer(ne)===kn&&(ie=Qo(DI(ie.rgb),ie.a))),ie}}const FI=(ee,y)=>ir(new iD(ir(ee),nD,y)),$5=(ee,y)=>ir(new iD(ir(ee),y,nD)),JG=(ee,y,E)=>ir(new iD(ir(ee),y,E));ur("workingToColorSpace",FI),ur("colorSpaceToWorking",$5);let qG=class extends $S{static get type(){return"ReferenceElementNode"}constructor(y,E){super(y,E),this.referenceNode=y,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(y){const E=super.generate(y),z=this.referenceNode.getNodeType(),ne=this.getNodeType();return y.format(E,z,ne)}};class LI extends da{static get type(){return"ReferenceBaseNode"}constructor(y,E,z=null,ne=null){super(),this.property=y,this.uniformType=E,this.object=z,this.count=ne,this.properties=y.split("."),this.reference=z,this.node=null,this.group=null,this.updateType=al.OBJECT}setGroup(y){return this.group=y,this}element(y){return ir(new qG(this,ir(y)))}setNodeType(y){const E=Us(null,y).getSelf();this.group!==null&&E.setGroup(this.group),this.node=E}getNodeType(y){return this.node===null&&(this.updateReference(y),this.updateValue()),this.node.getNodeType(y)}getValueFromReference(y=this.reference){const{properties:E}=this;let z=y[E[0]];for(let ne=1;neir(new LI(ee,y,E));class $G extends LI{static get type(){return"RendererReferenceNode"}constructor(y,E,z=null){super(y,E,z),this.renderer=z,this.setGroup(pa)}updateReference(y){return this.reference=this.renderer!==null?this.renderer:y.renderer,this.reference}}const NI=(ee,y,E=null)=>ir(new $G(ee,y,E));class eX extends Id{static get type(){return"ToneMappingNode"}constructor(y,E=RI,z=null){super("vec3"),this.toneMapping=y,this.exposureNode=E,this.colorNode=z}customCacheKey(){return k2(this.toneMapping)}setup(y){const E=this.colorNode||y.context.color,z=this.toneMapping;if(z===wd)return E;let ne=null;const ie=y.renderer.library.getToneMappingFunction(z);return ie!==null?ne=Qo(ie(E.rgb,this.exposureNode),E.a):(console.error("ToneMappingNode: Unsupported Tone Mapping configuration.",z),ne=E),ne}}const II=(ee,y,E)=>ir(new eX(ee,ir(y),ir(E))),RI=NI("toneMappingExposure","float");ur("toneMapping",(ee,y,E)=>II(y,E,ee));class tX extends E3{static get type(){return"BufferAttributeNode"}constructor(y,E=null,z=0,ne=0){super(y,E),this.isBufferNode=!0,this.bufferType=E,this.bufferStride=z,this.bufferOffset=ne,this.usage=fu,this.instanced=!1,this.attribute=null,this.global=!0,y&&y.isBufferAttribute===!0&&(this.attribute=y,this.usage=y.usage,this.instanced=y.isInstancedBufferAttribute)}getHash(y){if(this.bufferStride===0&&this.bufferOffset===0){let E=y.globalCache.getData(this.value);return E===void 0&&(E={node:this},y.globalCache.setData(this.value,E)),E.node.uuid}return this.uuid}getNodeType(y){return this.bufferType===null&&(this.bufferType=y.getTypeFromAttribute(this.attribute)),this.bufferType}setup(y){if(this.attribute!==null)return;const E=this.getNodeType(y),z=this.value,ne=y.getTypeLength(E),ie=this.bufferStride||ne,se=this.bufferOffset,le=z.isInterleavedBuffer===!0?z:new Wy(z,ie),de=new Qy(le,ne,se);le.setUsage(this.usage),this.attribute=de,this.attribute.isInstancedBufferAttribute=this.instanced}generate(y){const E=this.getNodeType(y),z=y.getBufferAttributeFromNode(this,E),ne=y.getPropertyName(z);let ie=null;return y.shaderStage==="vertex"||y.shaderStage==="compute"?(this.name=ne,ie=ne):ie=PA(this).build(y,E),ie}getInputType(){return"bufferAttribute"}setUsage(y){return this.usage=y,this.attribute&&this.attribute.isBufferAttribute===!0&&(this.attribute.usage=y),this}setInstanced(y){return this.instanced=y,this}}const _2=(ee,y=null,E=0,z=0)=>ir(new tX(ee,y,E,z)),OI=(ee,y=null,E=0,z=0)=>_2(ee,y,E,z).setUsage(Dp),eB=(ee,y=null,E=0,z=0)=>_2(ee,y,E,z).setInstanced(!0),rD=(ee,y=null,E=0,z=0)=>OI(ee,y,E,z).setInstanced(!0);ur("toAttribute",ee=>_2(ee.value));class nX extends da{static get type(){return"ComputeNode"}constructor(y,E,z=[64]){super("void"),this.isComputeNode=!0,this.computeNode=y,this.count=E,this.workgroupSize=z,this.dispatchCount=0,this.version=1,this.name="",this.updateBeforeType=al.OBJECT,this.onInitFunction=null,this.updateDispatchCount()}dispose(){this.dispatchEvent({type:"dispose"})}label(y){return this.name=y,this}updateDispatchCount(){const{count:y,workgroupSize:E}=this;let z=E[0];for(let ne=1;neir(new nX(ir(ee),y,E));ur("compute",kI);class iX extends da{static get type(){return"CacheNode"}constructor(y,E=!0){super(),this.node=y,this.parent=E,this.isCacheNode=!0}getNodeType(y){const E=y.getCache(),z=y.getCacheFromNode(this,this.parent);y.setCache(z);const ne=this.node.getNodeType(y);return y.setCache(E),ne}build(y,...E){const z=y.getCache(),ne=y.getCacheFromNode(this,this.parent);y.setCache(ne);const ie=this.node.build(y,...E);return y.setCache(z),ie}}const $2=(ee,y)=>ir(new iX(ir(ee),y));ur("cache",$2);class rX extends da{static get type(){return"BypassNode"}constructor(y,E){super(),this.isBypassNode=!0,this.outputNode=y,this.callNode=E}getNodeType(y){return this.outputNode.getNodeType(y)}generate(y){const E=this.callNode.build(y,"void");return E!==""&&y.addLineFlowCode(E,this),this.outputNode.build(y)}}const zI=Ar(rX).setParameterLength(2);ur("bypass",zI);class HI extends da{static get type(){return"RemapNode"}constructor(y,E,z,ne=nn(0),ie=nn(1)){super(),this.node=y,this.inLowNode=E,this.inHighNode=z,this.outLowNode=ne,this.outHighNode=ie,this.doClamp=!0}setup(){const{node:y,inLowNode:E,inHighNode:z,outLowNode:ne,outHighNode:ie,doClamp:se}=this;let le=y.sub(E).div(z.sub(E));return se===!0&&(le=le.clamp()),le.mul(ie.sub(ne)).add(ne)}}const UI=Ar(HI,null,null,{doClamp:!1}).setParameterLength(3,5),VI=Ar(HI).setParameterLength(3,5);ur("remap",UI),ur("remapClamp",VI);class tB extends da{static get type(){return"ExpressionNode"}constructor(y="",E="void"){super(E),this.snippet=y}generate(y,E){const z=this.getNodeType(y),ne=this.snippet;if(z==="void")y.addLineFlowCode(ne,this);else return y.format(ne,z,E)}}const Gx=Ar(tB).setParameterLength(1,2),jI=ee=>(ee?jf(ee,Gx("discard")):Gx("discard")).toStack(),oX=()=>Gx("return").toStack();ur("discard",jI);class sX extends Id{static get type(){return"RenderOutputNode"}constructor(y,E,z){super("vec4"),this.colorNode=y,this.toneMapping=E,this.outputColorSpace=z,this.isRenderOutputNode=!0}setup({context:y}){let E=this.colorNode||y.color;const z=(this.toneMapping!==null?this.toneMapping:y.toneMapping)||wd,ne=(this.outputColorSpace!==null?this.outputColorSpace:y.outputColorSpace)||Tt;return z!==wd&&(E=E.toneMapping(z)),ne!==Tt&&ne!==ys.workingColorSpace&&(E=E.workingToColorSpace(ne)),E}}const oD=(ee,y=null,E=null)=>ir(new sX(ir(ee),y,E));ur("renderOutput",oD);class aX extends Id{static get type(){return"DebugNode"}constructor(y,E=null){super(),this.node=y,this.callback=E}getNodeType(y){return this.node.getNodeType(y)}setup(y){return this.node.build(y)}analyze(y){return this.node.build(y)}generate(y){const E=this.callback,z=this.node.build(y),ne="--- TSL debug - "+y.shaderStage+" shader ---",ie="-".repeat(ne.length);let se="";return se+="// #"+ne+`# +`);return y.format(ve,z,E)}}const jf=Ar(YG).setParameterLength(2,3);ur("select",jf);class CI extends da{static get type(){return"ContextNode"}constructor(y,E={}){super(),this.isContextNode=!0,this.node=y,this.value=E}getScope(){return this.node.getScope()}getNodeType(y){return this.node.getNodeType(y)}analyze(y){const E=y.getContext();y.setContext(Sh(Sh({},y.context),this.value)),this.node.build(y),y.setContext(E)}setup(y){const E=y.getContext();y.setContext(Sh(Sh({},y.context),this.value)),this.node.build(y),y.setContext(E)}generate(y,E){const z=y.getContext();y.setContext(Sh(Sh({},y.context),this.value));const ne=this.node.build(y,E);return y.setContext(z),ne}}const q5=Ar(CI).setParameterLength(1,2),EI=(ee,y)=>q5(ee,{label:y});ur("context",q5),ur("label",EI);class _5 extends da{static get type(){return"VarNode"}constructor(y,E=null,z=!1){super(),this.node=y,this.name=E,this.global=!0,this.isVarNode=!0,this.readOnly=z,this.parents=!0}getMemberType(y,E){return this.node.getMemberType(y,E)}getElementType(y){return this.node.getElementType(y)}getNodeType(y){return this.node.getNodeType(y)}generate(y){const{node:E,name:z,readOnly:ne}=this,{renderer:ie}=y,se=ie.backend.isWebGPUBackend===!0;let le=!1,de=!1;ne&&(le=y.isDeterministic(E),de=se?ne:le);const ge=y.getVectorType(this.getNodeType(y)),ve=E.build(y,ge),xe=y.getVarFromNode(this,z,ge,void 0,de),Se=y.getPropertyName(xe);let Me=Se;if(de)if(se)Me=le?`const ${Se}`:`let ${Se}`;else{const De=y.getArrayCount(E);Me=`const ${y.getVar(xe.type,Se,De)}`}return y.addLineFlowCode(`${Me} = ${ve}`,this),Se}}const tD=Ar(_5),bI=(ee,y=null)=>tD(ee,y).toStack(),MI=(ee,y=null)=>tD(ee,y,!0).toStack();ur("toVar",bI),ur("toConst",MI);const BI=ee=>(console.warn('TSL: "temp( node )" is deprecated. Use "Var( node )" or "node.toVar()" instead.'),tD(ee));ur("temp",BI);class ZG extends da{static get type(){return"SubBuild"}constructor(y,E,z=null){super(z),this.node=y,this.name=E,this.isSubBuildNode=!0}getNodeType(y){if(this.nodeType!==null)return this.nodeType;y.addSubBuild(this.name);const E=this.node.getNodeType(y);return y.removeSubBuild(),E}build(y,...E){y.addSubBuild(this.name);const z=this.node.build(y,...E);return y.removeSubBuild(),z}}const xE=(ee,y,E=null)=>ir(new ZG(ir(ee),y,E));class KG extends da{static get type(){return"VaryingNode"}constructor(y,E=null){super(),this.node=y,this.name=E,this.isVaryingNode=!0,this.interpolationType=null,this.interpolationSampling=null,this.global=!0}setInterpolation(y,E=null){return this.interpolationType=y,this.interpolationSampling=E,this}getHash(y){return this.name||super.getHash(y)}getNodeType(y){return this.node.getNodeType(y)}setupVarying(y){const E=y.getNodeProperties(this);let z=E.varying;if(z===void 0){const ne=this.name,ie=this.getNodeType(y),se=this.interpolationType,le=this.interpolationSampling;E.varying=z=y.getVaryingFromNode(this,ne,ie,se,le),E.node=xE(this.node,"VERTEX")}return z.needsInterpolation||(z.needsInterpolation=y.shaderStage==="fragment"),z}setup(y){this.setupVarying(y),y.flowNodeFromShaderStage(U2.VERTEX,this.node)}analyze(y){this.setupVarying(y),y.flowNodeFromShaderStage(U2.VERTEX,this.node)}generate(y){const E=y.getSubBuildProperty("property",y.currentStack),z=y.getNodeProperties(this),ne=this.setupVarying(y);if(z[E]===void 0){const ie=this.getNodeType(y),se=y.getPropertyName(ne,U2.VERTEX);y.flowNodeFromShaderStage(U2.VERTEX,z.node,ie,se),z[E]=se}return y.getPropertyName(ne)}}const PA=Ar(KG).setParameterLength(1,2),TI=ee=>PA(ee);ur("toVarying",PA),ur("toVertexStage",TI),ur("varying",(...ee)=>(console.warn("THREE.TSL: .varying() has been renamed to .toVarying()."),PA(...ee))),ur("vertexStage",(...ee)=>(console.warn("THREE.TSL: .vertexStage() has been renamed to .toVertexStage()."),PA(...ee)));const DI=Kn(([ee])=>{const y=ee.mul(.9478672986).add(.0521327014).pow(2.4),E=ee.mul(.0773993808),z=ee.lessThanEqual(.04045);return yu(y,E,z)}).setLayout({name:"sRGBTransferEOTF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),FI=Kn(([ee])=>{const y=ee.pow(.41666).mul(1.055).sub(.055),E=ee.mul(12.92),z=ee.lessThanEqual(.0031308);return yu(y,E,z)}).setLayout({name:"sRGBTransferOETF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),nD="WorkingColorSpace",JG="OutputColorSpace";class iD extends Id{static get type(){return"ColorSpaceNode"}constructor(y,E,z){super("vec4"),this.colorNode=y,this.source=E,this.target=z}resolveColorSpace(y,E){return E===nD?ys.workingColorSpace:E===JG?y.context.outputColorSpace||y.renderer.outputColorSpace:E}setup(y){const{colorNode:E}=this,z=this.resolveColorSpace(y,this.source),ne=this.resolveColorSpace(y,this.target);let ie=E;return ys.enabled===!1||z===ne||!z||!ne||(ys.getTransfer(z)===kn&&(ie=Qo(DI(ie.rgb),ie.a)),ys.getPrimaries(z)!==ys.getPrimaries(ne)&&(ie=Qo(kg(ys._getMatrix(new Oa,z,ne)).mul(ie.rgb),ie.a)),ys.getTransfer(ne)===kn&&(ie=Qo(FI(ie.rgb),ie.a))),ie}}const LI=(ee,y)=>ir(new iD(ir(ee),nD,y)),$5=(ee,y)=>ir(new iD(ir(ee),y,nD)),qG=(ee,y,E)=>ir(new iD(ir(ee),y,E));ur("workingToColorSpace",LI),ur("colorSpaceToWorking",$5);let _G=class extends $S{static get type(){return"ReferenceElementNode"}constructor(y,E){super(y,E),this.referenceNode=y,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(y){const E=super.generate(y),z=this.referenceNode.getNodeType(),ne=this.getNodeType();return y.format(E,z,ne)}};class NI extends da{static get type(){return"ReferenceBaseNode"}constructor(y,E,z=null,ne=null){super(),this.property=y,this.uniformType=E,this.object=z,this.count=ne,this.properties=y.split("."),this.reference=z,this.node=null,this.group=null,this.updateType=al.OBJECT}setGroup(y){return this.group=y,this}element(y){return ir(new _G(this,ir(y)))}setNodeType(y){const E=Us(null,y).getSelf();this.group!==null&&E.setGroup(this.group),this.node=E}getNodeType(y){return this.node===null&&(this.updateReference(y),this.updateValue()),this.node.getNodeType(y)}getValueFromReference(y=this.reference){const{properties:E}=this;let z=y[E[0]];for(let ne=1;neir(new NI(ee,y,E));class eX extends NI{static get type(){return"RendererReferenceNode"}constructor(y,E,z=null){super(y,E,z),this.renderer=z,this.setGroup(pa)}updateReference(y){return this.reference=this.renderer!==null?this.renderer:y.renderer,this.reference}}const II=(ee,y,E=null)=>ir(new eX(ee,y,E));class tX extends Id{static get type(){return"ToneMappingNode"}constructor(y,E=OI,z=null){super("vec3"),this.toneMapping=y,this.exposureNode=E,this.colorNode=z}customCacheKey(){return k2(this.toneMapping)}setup(y){const E=this.colorNode||y.context.color,z=this.toneMapping;if(z===wd)return E;let ne=null;const ie=y.renderer.library.getToneMappingFunction(z);return ie!==null?ne=Qo(ie(E.rgb,this.exposureNode),E.a):(console.error("ToneMappingNode: Unsupported Tone Mapping configuration.",z),ne=E),ne}}const RI=(ee,y,E)=>ir(new tX(ee,ir(y),ir(E))),OI=II("toneMappingExposure","float");ur("toneMapping",(ee,y,E)=>RI(y,E,ee));class nX extends E3{static get type(){return"BufferAttributeNode"}constructor(y,E=null,z=0,ne=0){super(y,E),this.isBufferNode=!0,this.bufferType=E,this.bufferStride=z,this.bufferOffset=ne,this.usage=fu,this.instanced=!1,this.attribute=null,this.global=!0,y&&y.isBufferAttribute===!0&&(this.attribute=y,this.usage=y.usage,this.instanced=y.isInstancedBufferAttribute)}getHash(y){if(this.bufferStride===0&&this.bufferOffset===0){let E=y.globalCache.getData(this.value);return E===void 0&&(E={node:this},y.globalCache.setData(this.value,E)),E.node.uuid}return this.uuid}getNodeType(y){return this.bufferType===null&&(this.bufferType=y.getTypeFromAttribute(this.attribute)),this.bufferType}setup(y){if(this.attribute!==null)return;const E=this.getNodeType(y),z=this.value,ne=y.getTypeLength(E),ie=this.bufferStride||ne,se=this.bufferOffset,le=z.isInterleavedBuffer===!0?z:new Wy(z,ie),de=new Qy(le,ne,se);le.setUsage(this.usage),this.attribute=de,this.attribute.isInstancedBufferAttribute=this.instanced}generate(y){const E=this.getNodeType(y),z=y.getBufferAttributeFromNode(this,E),ne=y.getPropertyName(z);let ie=null;return y.shaderStage==="vertex"||y.shaderStage==="compute"?(this.name=ne,ie=ne):ie=PA(this).build(y,E),ie}getInputType(){return"bufferAttribute"}setUsage(y){return this.usage=y,this.attribute&&this.attribute.isBufferAttribute===!0&&(this.attribute.usage=y),this}setInstanced(y){return this.instanced=y,this}}const _2=(ee,y=null,E=0,z=0)=>ir(new nX(ee,y,E,z)),kI=(ee,y=null,E=0,z=0)=>_2(ee,y,E,z).setUsage(Dp),eB=(ee,y=null,E=0,z=0)=>_2(ee,y,E,z).setInstanced(!0),rD=(ee,y=null,E=0,z=0)=>kI(ee,y,E,z).setInstanced(!0);ur("toAttribute",ee=>_2(ee.value));class iX extends da{static get type(){return"ComputeNode"}constructor(y,E,z=[64]){super("void"),this.isComputeNode=!0,this.computeNode=y,this.count=E,this.workgroupSize=z,this.dispatchCount=0,this.version=1,this.name="",this.updateBeforeType=al.OBJECT,this.onInitFunction=null,this.updateDispatchCount()}dispose(){this.dispatchEvent({type:"dispose"})}label(y){return this.name=y,this}updateDispatchCount(){const{count:y,workgroupSize:E}=this;let z=E[0];for(let ne=1;neir(new iX(ir(ee),y,E));ur("compute",zI);class rX extends da{static get type(){return"CacheNode"}constructor(y,E=!0){super(),this.node=y,this.parent=E,this.isCacheNode=!0}getNodeType(y){const E=y.getCache(),z=y.getCacheFromNode(this,this.parent);y.setCache(z);const ne=this.node.getNodeType(y);return y.setCache(E),ne}build(y,...E){const z=y.getCache(),ne=y.getCacheFromNode(this,this.parent);y.setCache(ne);const ie=this.node.build(y,...E);return y.setCache(z),ie}}const $2=(ee,y)=>ir(new rX(ir(ee),y));ur("cache",$2);class oX extends da{static get type(){return"BypassNode"}constructor(y,E){super(),this.isBypassNode=!0,this.outputNode=y,this.callNode=E}getNodeType(y){return this.outputNode.getNodeType(y)}generate(y){const E=this.callNode.build(y,"void");return E!==""&&y.addLineFlowCode(E,this),this.outputNode.build(y)}}const HI=Ar(oX).setParameterLength(2);ur("bypass",HI);class UI extends da{static get type(){return"RemapNode"}constructor(y,E,z,ne=nn(0),ie=nn(1)){super(),this.node=y,this.inLowNode=E,this.inHighNode=z,this.outLowNode=ne,this.outHighNode=ie,this.doClamp=!0}setup(){const{node:y,inLowNode:E,inHighNode:z,outLowNode:ne,outHighNode:ie,doClamp:se}=this;let le=y.sub(E).div(z.sub(E));return se===!0&&(le=le.clamp()),le.mul(ie.sub(ne)).add(ne)}}const VI=Ar(UI,null,null,{doClamp:!1}).setParameterLength(3,5),jI=Ar(UI).setParameterLength(3,5);ur("remap",VI),ur("remapClamp",jI);class tB extends da{static get type(){return"ExpressionNode"}constructor(y="",E="void"){super(E),this.snippet=y}generate(y,E){const z=this.getNodeType(y),ne=this.snippet;if(z==="void")y.addLineFlowCode(ne,this);else return y.format(ne,z,E)}}const Gx=Ar(tB).setParameterLength(1,2),GI=ee=>(ee?jf(ee,Gx("discard")):Gx("discard")).toStack(),sX=()=>Gx("return").toStack();ur("discard",GI);class aX extends Id{static get type(){return"RenderOutputNode"}constructor(y,E,z){super("vec4"),this.colorNode=y,this.toneMapping=E,this.outputColorSpace=z,this.isRenderOutputNode=!0}setup({context:y}){let E=this.colorNode||y.color;const z=(this.toneMapping!==null?this.toneMapping:y.toneMapping)||wd,ne=(this.outputColorSpace!==null?this.outputColorSpace:y.outputColorSpace)||Tt;return z!==wd&&(E=E.toneMapping(z)),ne!==Tt&&ne!==ys.workingColorSpace&&(E=E.workingToColorSpace(ne)),E}}const oD=(ee,y=null,E=null)=>ir(new aX(ir(ee),y,E));ur("renderOutput",oD);class lX extends Id{static get type(){return"DebugNode"}constructor(y,E=null){super(),this.node=y,this.callback=E}getNodeType(y){return this.node.getNodeType(y)}setup(y){return this.node.build(y)}analyze(y){return this.node.build(y)}generate(y){const E=this.callback,z=this.node.build(y),ne="--- TSL debug - "+y.shaderStage+" shader ---",ie="-".repeat(ne.length);let se="";return se+="// #"+ne+`# `,se+=y.flow.code.replace(/^\t/mg,"")+` `,se+="/* ... */ "+z+` /* ... */ `,se+="// #"+ie+`# -`,E!==null?E(y,se):console.log(se),z}}const GI=(ee,y=null)=>ir(new aX(ir(ee),y));ur("debug",GI);function lX(ee){console.warn("THREE.TSL: AddNodeElement has been removed in favor of tree-shaking. Trying add",ee)}class XI extends da{static get type(){return"AttributeNode"}constructor(y,E=null){super(E),this.global=!0,this._attributeName=y}getHash(y){return this.getAttributeName(y)}getNodeType(y){let E=this.nodeType;if(E===null){const z=this.getAttributeName(y);if(y.hasGeometryAttribute(z)){const ne=y.geometry.getAttribute(z);E=y.getTypeFromAttribute(ne)}else E="float"}return E}setAttributeName(y){return this._attributeName=y,this}getAttributeName(){return this._attributeName}generate(y){const E=this.getAttributeName(y),z=this.getNodeType(y);if(y.hasGeometryAttribute(E)===!0){const ie=y.geometry.getAttribute(E),se=y.getTypeFromAttribute(ie),le=y.getAttribute(E,se);return y.shaderStage==="vertex"?y.format(le.name,se,z):PA(this).build(y,z)}else return console.warn(`AttributeNode: Vertex attribute "${E}" not found on geometry.`),y.generateConst(z)}serialize(y){super.serialize(y),y.global=this.global,y._attributeName=this._attributeName}deserialize(y){super.deserialize(y),this.global=y.global,this._attributeName=y._attributeName}}const ap=(ee,y=null)=>ir(new XI(ee,y)),wc=(ee=0)=>ap("uv"+(ee>0?ee:""),"vec2");class uX extends da{static get type(){return"TextureSizeNode"}constructor(y,E=null){super("uvec2"),this.isTextureSizeNode=!0,this.textureNode=y,this.levelNode=E}generate(y,E){const z=this.textureNode.build(y,"property"),ne=this.levelNode===null?"0":this.levelNode.build(y,"int");return y.format(`${y.getMethod("textureDimensions")}( ${z}, ${ne} )`,this.getNodeType(y),E)}}const ww=Ar(uX).setParameterLength(1,2);class cX extends J2{static get type(){return"MaxMipLevelNode"}constructor(y){super(0),this._textureNode=y,this.updateType=al.FRAME}get textureNode(){return this._textureNode}get texture(){return this._textureNode.value}update(){const y=this.texture,E=y.images,z=E&&E.length>0?E[0]&&E[0].image||E[0]:y.image;if(z&&z.width!==void 0){const{width:ne,height:ie}=z;this.value=Math.log2(Math.max(ne,ie))}}}const sD=Ar(cX).setParameterLength(1),aD=new Ec;class CA extends J2{static get type(){return"TextureNode"}constructor(y=aD,E=null,z=null,ne=null){super(y),this.isTextureNode=!0,this.uvNode=E,this.levelNode=z,this.biasNode=ne,this.compareNode=null,this.depthNode=null,this.gradNode=null,this.sampler=!0,this.updateMatrix=!1,this.updateType=al.NONE,this.referenceNode=null,this._value=y,this._matrixUniform=null,this.setUpdateMatrix(E===null)}set value(y){this.referenceNode?this.referenceNode.value=y:this._value=y}get value(){return this.referenceNode?this.referenceNode.value:this._value}getUniformHash(){return this.value.uuid}getNodeType(){return this.value.isDepthTexture===!0?"float":this.value.type===nu?"uvec4":this.value.type===tc?"ivec4":"vec4"}getInputType(){return"texture"}getDefaultUV(){return wc(this.value.channel)}updateReference(){return this.value}getTransformedUV(y){return this._matrixUniform===null&&(this._matrixUniform=Us(this.value.matrix)),this._matrixUniform.mul(Xn(y,1)).xy}setUpdateMatrix(y){return this.updateMatrix=y,this.updateType=y?al.OBJECT:al.NONE,this}setupUV(y,E){const z=this.value;return y.isFlipY()&&(z.image instanceof ImageBitmap&&z.flipY===!0||z.isRenderTargetTexture===!0||z.isFramebufferTexture===!0||z.isDepthTexture===!0)&&(this.sampler?E=E.flipY():E=E.setY(Mn(ww(this,this.levelNode).y).sub(E.y).sub(1))),E}setup(y){const E=y.getNodeProperties(this);E.referenceNode=this.referenceNode;const z=this.value;if(!z||z.isTexture!==!0)throw new Error("THREE.TSL: `texture( value )` function expects a valid instance of THREE.Texture().");let ne=this.uvNode;(ne===null||y.context.forceUVContext===!0)&&y.context.getUV&&(ne=y.context.getUV(this,y)),ne||(ne=this.getDefaultUV()),this.updateMatrix===!0&&(ne=this.getTransformedUV(ne)),ne=this.setupUV(y,ne);let ie=this.levelNode;ie===null&&y.context.getTextureLevel&&(ie=y.context.getTextureLevel(this)),E.uvNode=ne,E.levelNode=ie,E.biasNode=this.biasNode,E.compareNode=this.compareNode,E.gradNode=this.gradNode,E.depthNode=this.depthNode}generateUV(y,E){return E.build(y,this.sampler===!0?"vec2":"ivec2")}generateSnippet(y,E,z,ne,ie,se,le,de){const ge=this.value;let ve;return ne?ve=y.generateTextureLevel(ge,E,z,ne,se):ie?ve=y.generateTextureBias(ge,E,z,ie,se):de?ve=y.generateTextureGrad(ge,E,z,de,se):le?ve=y.generateTextureCompare(ge,E,z,le,se):this.sampler===!1?ve=y.generateTextureLoad(ge,E,z,se):ve=y.generateTexture(ge,E,z,se),ve}generate(y,E){const z=this.value,ne=y.getNodeProperties(this),ie=super.generate(y,"property");if(/^sampler/.test(E))return ie+"_sampler";if(y.isReference(E))return ie;{const se=y.getDataFromNode(this);let le=se.propertyName;if(le===void 0){const{uvNode:ve,levelNode:xe,biasNode:Se,compareNode:Me,depthNode:De,gradNode:Oe}=ne,Re=this.generateUV(y,ve),Le=xe?xe.build(y,"float"):null,Qe=Se?Se.build(y,"float"):null,Xe=De?De.build(y,"int"):null,Ze=Me?Me.build(y,"float"):null,it=Oe?[Oe[0].build(y,"vec2"),Oe[1].build(y,"vec2")]:null,et=y.getVarFromNode(this);le=y.getPropertyName(et);const ht=this.generateSnippet(y,ie,Re,Le,Qe,Xe,Ze,it);y.addLineFlowCode(`${le} = ${ht}`,this),se.snippet=ht,se.propertyName=le}let de=le;const ge=this.getNodeType(y);return y.needsToWorkingColorSpace(z)&&(de=$5(Gx(de,ge),z.colorSpace).setup(y).build(y,ge)),y.format(de,ge,E)}}setSampler(y){return this.sampler=y,this}getSampler(){return this.sampler}uv(y){return console.warn("THREE.TextureNode: .uv() has been renamed. Use .sample() instead."),this.sample(y)}sample(y){const E=this.clone();return E.uvNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}blur(y){const E=this.clone();E.biasNode=ir(y).mul(sD(E)),E.referenceNode=this.getSelf();const z=E.value;return E.generateMipmaps===!1&&(z&&z.generateMipmaps===!1||z.minFilter===xu||z.magFilter===xu)&&(console.warn("THREE.TSL: texture().blur() requires mipmaps and sampling. Use .generateMipmaps=true and .minFilter/.magFilter=THREE.LinearFilter in the Texture."),E.biasNode=null),ir(E)}level(y){const E=this.clone();return E.levelNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}size(y){return ww(this,y)}bias(y){const E=this.clone();return E.biasNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}compare(y){const E=this.clone();return E.compareNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}grad(y,E){const z=this.clone();return z.gradNode=[ir(y),ir(E)],z.referenceNode=this.getSelf(),ir(z)}depth(y){const E=this.clone();return E.depthNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}serialize(y){super.serialize(y),y.value=this.value.toJSON(y.meta).uuid,y.sampler=this.sampler,y.updateMatrix=this.updateMatrix,y.updateType=this.updateType}deserialize(y){super.deserialize(y),this.value=y.meta.textures[y.value],this.sampler=y.sampler,this.updateMatrix=y.updateMatrix,this.updateType=y.updateType}update(){const y=this.value,E=this._matrixUniform;E!==null&&(E.value=y.matrix),y.matrixAutoUpdate===!0&&y.updateMatrix()}clone(){const y=new this.constructor(this.value,this.uvNode,this.levelNode,this.biasNode);return y.sampler=this.sampler,y.depthNode=this.depthNode,y.compareNode=this.compareNode,y.gradNode=this.gradNode,y}}const hX=Ar(CA).setParameterLength(1,4).setName("texture"),Dl=(ee=aD,y=null,E=null,z=null)=>{let ne;return ee&&ee.isTextureNode===!0?(ne=ir(ee.clone()),ne.referenceNode=ee.getSelf(),y!==null&&(ne.uvNode=ir(y)),E!==null&&(ne.levelNode=ir(E)),z!==null&&(ne.biasNode=ir(z))):ne=hX(ee,y,E,z),ne},dX=(ee=aD)=>Dl(ee),Jh=(...ee)=>Dl(...ee).setSampler(!1),fX=ee=>(ee.isNode===!0?ee:Dl(ee)).convert("sampler"),gX=ee=>(ee.isNode===!0?ee:Dl(ee)).convert("samplerComparison");class lD extends J2{static get type(){return"BufferNode"}constructor(y,E,z=0){super(y,E),this.isBufferNode=!0,this.bufferType=E,this.bufferCount=z}getElementType(y){return this.getNodeType(y)}getInputType(){return"buffer"}}const eM=(ee,y,E)=>ir(new lD(ee,y,E));class pX extends $S{static get type(){return"UniformArrayElementNode"}constructor(y,E){super(y,E),this.isArrayBufferElementNode=!0}generate(y){const E=super.generate(y),z=this.getNodeType(),ne=this.node.getPaddedType();return y.format(E,ne,z)}}class mX extends lD{static get type(){return"UniformArrayNode"}constructor(y,E=null){super(null),this.array=y,this.elementType=E===null?Hx(y[0]):E,this.paddedType=this.getPaddedType(),this.updateType=al.RENDER,this.isArrayBufferNode=!0}getNodeType(){return this.paddedType}getElementType(){return this.elementType}getPaddedType(){const y=this.elementType;let E="vec4";return y==="mat2"?E="mat2":/mat/.test(y)===!0?E="mat4":y.charAt(0)==="i"?E="ivec4":y.charAt(0)==="u"&&(E="uvec4"),E}update(){const{array:y,value:E}=this,z=this.elementType;if(z==="float"||z==="int"||z==="uint")for(let ne=0;neir(new mX(ee,y));class vX extends da{constructor(y){super("float"),this.name=y,this.isBuiltinNode=!0}generate(){return this.name}}const tM=Ar(vX).setParameterLength(1),nB=Us(0,"uint").label("u_cameraIndex").setGroup(X5("cameraIndex")).toVarying("v_cameraIndex"),Xx=Us("float").label("cameraNear").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.near),Wx=Us("float").label("cameraFar").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.far),zm=Kn(({camera:ee})=>{let y;if(ee.isArrayCamera&&ee.cameras.length>0){const E=[];for(const ne of ee.cameras)E.push(ne.projectionMatrix);y=ev(E).setGroup(pa).label("cameraProjectionMatrices").element(ee.isMultiViewCamera?tM("gl_ViewID_OVR"):nB).toVar("cameraProjectionMatrix")}else y=Us("mat4").label("cameraProjectionMatrix").setGroup(pa).onRenderUpdate(({camera:E})=>E.projectionMatrix);return y}).once()(),yX=Kn(({camera:ee})=>{let y;if(ee.isArrayCamera&&ee.cameras.length>0){const E=[];for(const ne of ee.cameras)E.push(ne.projectionMatrixInverse);y=ev(E).setGroup(pa).label("cameraProjectionMatricesInverse").element(ee.isMultiViewCamera?tM("gl_ViewID_OVR"):nB).toVar("cameraProjectionMatrixInverse")}else y=Us("mat4").label("cameraProjectionMatrixInverse").setGroup(pa).onRenderUpdate(({camera:E})=>E.projectionMatrixInverse);return y}).once()(),Hm=Kn(({camera:ee})=>{let y;if(ee.isArrayCamera&&ee.cameras.length>0){const E=[];for(const ne of ee.cameras)E.push(ne.matrixWorldInverse);y=ev(E).setGroup(pa).label("cameraViewMatrices").element(ee.isMultiViewCamera?tM("gl_ViewID_OVR"):nB).toVar("cameraViewMatrix")}else y=Us("mat4").label("cameraViewMatrix").setGroup(pa).onRenderUpdate(({camera:E})=>E.matrixWorldInverse);return y}).once()(),AX=Us("mat4").label("cameraWorldMatrix").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.matrixWorld),xX=Us("mat3").label("cameraNormalMatrix").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.normalMatrix),nM=Us(new Vt).label("cameraPosition").setGroup(pa).onRenderUpdate(({camera:ee},y)=>y.value.setFromMatrixPosition(ee.matrixWorld)),WI=new sd;class jl extends da{static get type(){return"Object3DNode"}constructor(y,E=null){super(),this.scope=y,this.object3d=E,this.updateType=al.OBJECT,this.uniformNode=new J2(null)}getNodeType(){const y=this.scope;if(y===jl.WORLD_MATRIX)return"mat4";if(y===jl.POSITION||y===jl.VIEW_POSITION||y===jl.DIRECTION||y===jl.SCALE)return"vec3";if(y===jl.RADIUS)return"float"}update(y){const E=this.object3d,z=this.uniformNode,ne=this.scope;if(ne===jl.WORLD_MATRIX)z.value=E.matrixWorld;else if(ne===jl.POSITION)z.value=z.value||new Vt,z.value.setFromMatrixPosition(E.matrixWorld);else if(ne===jl.SCALE)z.value=z.value||new Vt,z.value.setFromMatrixScale(E.matrixWorld);else if(ne===jl.DIRECTION)z.value=z.value||new Vt,E.getWorldDirection(z.value);else if(ne===jl.VIEW_POSITION){const ie=y.camera;z.value=z.value||new Vt,z.value.setFromMatrixPosition(E.matrixWorld),z.value.applyMatrix4(ie.matrixWorldInverse)}else if(ne===jl.RADIUS){const ie=y.object.geometry;ie.boundingSphere===null&&ie.computeBoundingSphere(),WI.copy(ie.boundingSphere).applyMatrix4(E.matrixWorld),z.value=WI.radius}}generate(y){const E=this.scope;return E===jl.WORLD_MATRIX?this.uniformNode.nodeType="mat4":E===jl.POSITION||E===jl.VIEW_POSITION||E===jl.DIRECTION||E===jl.SCALE?this.uniformNode.nodeType="vec3":E===jl.RADIUS&&(this.uniformNode.nodeType="float"),this.uniformNode.build(y)}serialize(y){super.serialize(y),y.scope=this.scope}deserialize(y){super.deserialize(y),this.scope=y.scope}}jl.WORLD_MATRIX="worldMatrix",jl.POSITION="position",jl.SCALE="scale",jl.VIEW_POSITION="viewPosition",jl.DIRECTION="direction",jl.RADIUS="radius";const wX=Ar(jl,jl.DIRECTION).setParameterLength(1),SX=Ar(jl,jl.WORLD_MATRIX).setParameterLength(1),QI=Ar(jl,jl.POSITION).setParameterLength(1),PX=Ar(jl,jl.SCALE).setParameterLength(1),CX=Ar(jl,jl.VIEW_POSITION).setParameterLength(1),EX=Ar(jl,jl.RADIUS).setParameterLength(1);class tv extends jl{static get type(){return"ModelNode"}constructor(y){super(y)}update(y){this.object3d=y.object,super.update(y)}}const bX=lo(tv,tv.DIRECTION),nv=lo(tv,tv.WORLD_MATRIX),MX=lo(tv,tv.POSITION),BX=lo(tv,tv.SCALE),TX=lo(tv,tv.VIEW_POSITION),YI=lo(tv,tv.RADIUS),ZI=Us(new Oa).onObjectUpdate(({object:ee},y)=>y.value.getNormalMatrix(ee.matrixWorld)),DX=Us(new rs).onObjectUpdate(({object:ee},y)=>y.value.copy(ee.matrixWorld).invert()),Qx=Kn(ee=>ee.renderer.overrideNodes.modelViewMatrix||KI).once()().toVar("modelViewMatrix"),KI=Hm.mul(nv),uD=Kn(ee=>(ee.context.isHighPrecisionModelViewMatrix=!0,Us("mat4").onObjectUpdate(({object:y,camera:E})=>y.modelViewMatrix.multiplyMatrices(E.matrixWorldInverse,y.matrixWorld)))).once()().toVar("highpModelViewMatrix"),cD=Kn(ee=>{const y=ee.context.isHighPrecisionModelViewMatrix;return Us("mat3").onObjectUpdate(({object:E,camera:z})=>(y!==!0&&E.modelViewMatrix.multiplyMatrices(z.matrixWorldInverse,E.matrixWorld),E.normalMatrix.getNormalMatrix(E.modelViewMatrix)))}).once()().toVar("highpModelNormalViewMatrix"),lg=ap("position","vec3"),qh=lg.toVarying("positionLocal"),iB=lg.toVarying("positionPrevious"),iv=Kn(ee=>nv.mul(qh).xyz.toVarying(ee.getSubBuildProperty("v_positionWorld")),"vec3").once(["POSITION"])(),hD=Kn(()=>qh.transformDirection(nv).toVarying("v_positionWorldDirection").normalize().toVar("positionWorldDirection"),"vec3").once(["POSITION"])(),_h=Kn(ee=>ee.context.setupPositionView().toVarying("v_positionView"),"vec3").once(["POSITION"])(),Bc=_h.negate().toVarying("v_positionViewDirection").normalize().toVar("positionViewDirection");class FX extends da{static get type(){return"FrontFacingNode"}constructor(){super("bool"),this.isFrontFacingNode=!0}generate(y){if(y.shaderStage!=="fragment")return"true";const{renderer:E,material:z}=y;return E.coordinateSystem===Cd&&z.side===au?"false":y.getFrontFacing()}}const JI=lo(FX),dD=nn(JI).mul(2).sub(1),wE=Kn(([ee],{material:y})=>{const E=y.side;return E===au?ee=ee.mul(-1):E===eh&&(ee=ee.mul(dD)),ee}),rB=ap("normal","vec3"),Wp=Kn(ee=>ee.geometry.hasAttribute("normal")===!1?(console.warn('THREE.TSL: Vertex attribute "normal" not found on geometry.'),Xn(0,1,0)):rB,"vec3").once()().toVar("normalLocal"),qI=_h.dFdx().cross(_h.dFdy()).normalize().toVar("normalFlat"),SE=Kn(ee=>{let y;return ee.material.flatShading===!0?y=qI:y=fD(Wp).toVarying("v_normalViewGeometry").normalize(),y},"vec3").once()().toVar("normalViewGeometry"),_I=Kn(ee=>{let y=SE.transformDirection(Hm);return ee.material.flatShading!==!0&&(y=y.toVarying("v_normalWorldGeometry")),y.normalize().toVar("normalWorldGeometry")},"vec3").once()(),ku=Kn(({subBuildFn:ee,material:y,context:E})=>{let z;return ee==="NORMAL"||ee==="VERTEX"?(z=SE,y.flatShading!==!0&&(z=wE(z))):z=E.setupNormal().context({getUV:null}),z},"vec3").once(["NORMAL","VERTEX"])().toVar("normalView"),Sw=ku.transformDirection(Hm).toVar("normalWorld"),sP=Kn(({subBuildFn:ee,context:y})=>{let E;return ee==="NORMAL"||ee==="VERTEX"?E=ku:E=y.setupClearcoatNormal().context({getUV:null}),E},"vec3").once(["NORMAL","VERTEX"])().toVar("clearcoatNormalView"),$I=Kn(([ee,y=nv])=>{const E=kg(y),z=ee.div(Xn(E[0].dot(E[0]),E[1].dot(E[1]),E[2].dot(E[2])));return E.mul(z).xyz}),fD=Kn(([ee],y)=>{const E=y.renderer.overrideNodes.modelNormalViewMatrix;if(E!==null)return E.transformDirection(ee);const z=ZI.mul(ee);return Hm.transformDirection(z)}),LX=Kn(()=>(console.warn('THREE.TSL: "transformedNormalView" is deprecated. Use "normalView" instead.'),ku)).once(["NORMAL","VERTEX"])(),NX=Kn(()=>(console.warn('THREE.TSL: "transformedNormalWorld" is deprecated. Use "normalWorld" instead.'),Sw)).once(["NORMAL","VERTEX"])(),IX=Kn(()=>(console.warn('THREE.TSL: "transformedClearcoatNormalView" is deprecated. Use "clearcoatNormalView" instead.'),sP)).once(["NORMAL","VERTEX"])(),e4=new Pu,gD=new rs,t4=Us(0).onReference(({material:ee})=>ee).onObjectUpdate(({material:ee})=>ee.refractionRatio),oB=Us(1).onReference(({material:ee})=>ee).onObjectUpdate(function({material:ee,scene:y}){return ee.envMap?ee.envMapIntensity:y.environmentIntensity}),pD=Us(new rs).onReference(function(ee){return ee.material}).onObjectUpdate(function({material:ee,scene:y}){const E=y.environment!==null&&ee.envMap===null?y.environmentRotation:ee.envMapRotation;return E?(e4.copy(E),gD.makeRotationFromEuler(e4)):gD.identity(),gD}),n4=Bc.negate().reflect(ku),i4=Bc.negate().refract(ku,t4),r4=n4.transformDirection(Hm).toVar("reflectVector"),o4=i4.transformDirection(Hm).toVar("reflectVector"),s4=new Lf;class RX extends CA{static get type(){return"CubeTextureNode"}constructor(y,E=null,z=null,ne=null){super(y,E,z,ne),this.isCubeTextureNode=!0}getInputType(){return"cubeTexture"}getDefaultUV(){const y=this.value;return y.mapping===Jd?r4:y.mapping===qd?o4:(console.error('THREE.CubeTextureNode: Mapping "%s" not supported.',y.mapping),Xn(0,0,0))}setUpdateMatrix(){}setupUV(y,E){const z=this.value;return(y.renderer.coordinateSystem===rd||!z.isRenderTargetTexture)&&(E=Xn(E.x.negate(),E.yz)),pD.mul(E)}generateUV(y,E){return E.build(y,"vec3")}}const mD=Ar(RX).setParameterLength(1,4).setName("cubeTexture"),PE=(ee=s4,y=null,E=null,z=null)=>{let ne;return ee&&ee.isCubeTextureNode===!0?(ne=ir(ee.clone()),ne.referenceNode=ee.getSelf(),y!==null&&(ne.uvNode=ir(y)),E!==null&&(ne.levelNode=ir(E)),z!==null&&(ne.biasNode=ir(z))):ne=mD(ee,y,E,z),ne},OX=(ee=s4)=>mD(ee);class kX extends $S{static get type(){return"ReferenceElementNode"}constructor(y,E){super(y,E),this.referenceNode=y,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(y){const E=super.generate(y),z=this.referenceNode.getNodeType(),ne=this.getNodeType();return y.format(E,z,ne)}}class sB extends da{static get type(){return"ReferenceNode"}constructor(y,E,z=null,ne=null){super(),this.property=y,this.uniformType=E,this.object=z,this.count=ne,this.properties=y.split("."),this.reference=z,this.node=null,this.group=null,this.name=null,this.updateType=al.OBJECT}element(y){return ir(new kX(this,ir(y)))}setGroup(y){return this.group=y,this}label(y){return this.name=y,this}setNodeType(y){let E=null;this.count!==null?E=eM(null,y,this.count):Array.isArray(this.getValueFromReference())?E=ev(null,y):y==="texture"?E=Dl(null):y==="cubeTexture"?E=PE(null):E=Us(null,y),this.group!==null&&E.setGroup(this.group),this.name!==null&&E.label(this.name),this.node=E.getSelf()}getNodeType(y){return this.node===null&&(this.updateReference(y),this.updateValue()),this.node.getNodeType(y)}getValueFromReference(y=this.reference){const{properties:E}=this;let z=y[E[0]];for(let ne=1;neir(new sB(ee,y,E)),vD=(ee,y,E,z)=>ir(new sB(ee,y,z,E));class zX extends sB{static get type(){return"MaterialReferenceNode"}constructor(y,E,z=null){super(y,E,z),this.material=z,this.isMaterialReferenceNode=!0}updateReference(y){return this.reference=this.material!==null?this.material:y.material,this.reference}}const Yx=(ee,y,E=null)=>ir(new zX(ee,y,E)),a4=wc(),HX=_h.dFdx(),UX=_h.dFdy(),l4=a4.dFdx(),u4=a4.dFdy(),c4=ku,h4=UX.cross(c4),d4=c4.cross(HX),yD=h4.mul(l4.x).add(d4.mul(u4.x)),AD=h4.mul(l4.y).add(d4.mul(u4.y)),f4=yD.dot(yD).max(AD.dot(AD)),g4=f4.equal(0).select(0,f4.inverseSqrt()),VX=yD.mul(g4).toVar("tangentViewFrame"),jX=AD.mul(g4).toVar("bitangentViewFrame"),aB=Kn(ee=>(ee.geometry.hasAttribute("tangent")===!1&&ee.geometry.computeTangents(),ap("tangent","vec4")))(),iM=aB.xyz.toVar("tangentLocal"),lB=Kn(({subBuildFn:ee,geometry:y,material:E})=>{let z;return ee==="VERTEX"||y.hasAttribute("tangent")?z=Qx.mul(Qo(iM,0)).xyz.toVarying("v_tangentView").normalize():z=VX,E.flatShading!==!0&&(z=wE(z)),z},"vec3").once(["NORMAL","VERTEX"])().toVar("tangentView"),p4=lB.transformDirection(Hm).toVarying("v_tangentWorld").normalize().toVar("tangentWorld"),uB=Kn(([ee,y],{subBuildFn:E,material:z})=>{let ne=ee.mul(aB.w).xyz;return E==="NORMAL"&&z.flatShading!==!0&&(ne=ne.toVarying(y)),ne}).once(["NORMAL"]),GX=uB(rB.cross(aB),"v_bitangentGeometry").normalize().toVar("bitangentGeometry"),XX=uB(Wp.cross(iM),"v_bitangentLocal").normalize().toVar("bitangentLocal"),m4=Kn(({subBuildFn:ee,geometry:y,material:E})=>{let z;return ee==="VERTEX"||y.hasAttribute("tangent")?z=uB(ku.cross(lB),"v_bitangentView").normalize():z=jX,E.flatShading!==!0&&(z=wE(z)),z},"vec3").once(["NORMAL","VERTEX"])().toVar("bitangentView"),WX=uB(Sw.cross(p4),"v_bitangentWorld").normalize().toVar("bitangentWorld"),aP=kg(lB,m4,ku).toVar("TBNViewMatrix"),v4=Bc.mul(aP),QX=(ee,y)=>ee.sub(v4.mul(y)),y4=Kn(()=>{let ee=rP.cross(Bc);return ee=ee.cross(rP).normalize(),ee=yu(ee,ku,Aw.mul(vA.oneMinus()).oneMinus().pow2().pow2()).normalize(),ee}).once()();class YX extends Id{static get type(){return"NormalMapNode"}constructor(y,E=null){super("vec3"),this.node=y,this.scaleNode=E,this.normalMapType=At}setup({material:y}){const{normalMapType:E,scaleNode:z}=this;let ne=this.node.mul(2).sub(1);if(z!==null){let se=z;y.flatShading===!0&&(se=wE(se)),ne=Xn(ne.xy.mul(se),ne.z)}let ie=null;return E===sn?ie=fD(ne):E===At?ie=aP.mul(ne).normalize():(console.error(`THREE.NodeMaterial: Unsupported normal map type: ${E}`),ie=ku),ie}}const xD=Ar(YX).setParameterLength(1,2),ZX=Kn(({textureNode:ee,bumpScale:y})=>{const E=ne=>ee.cache().context({getUV:ie=>ne(ie.uvNode||wc()),forceUVContext:!0}),z=nn(E(ne=>ne));return Er(nn(E(ne=>ne.add(ne.dFdx()))).sub(z),nn(E(ne=>ne.add(ne.dFdy()))).sub(z)).mul(y)}),KX=Kn(ee=>{const{surf_pos:y,surf_norm:E,dHdxy:z}=ee,ne=y.dFdx().normalize(),ie=y.dFdy().normalize(),se=E,le=ie.cross(se),de=se.cross(ne),ge=ne.dot(le).mul(dD),ve=ge.sign().mul(z.x.mul(le).add(z.y.mul(de)));return ge.abs().mul(E).sub(ve).normalize()});class JX extends Id{static get type(){return"BumpMapNode"}constructor(y,E=null){super("vec3"),this.textureNode=y,this.scaleNode=E}setup(){const y=this.scaleNode!==null?this.scaleNode:1,E=ZX({textureNode:this.textureNode,bumpScale:y});return KX({surf_pos:_h,surf_norm:ku,dHdxy:E})}}const A4=Ar(JX).setParameterLength(1,2),x4=new Map;class ar extends da{static get type(){return"MaterialNode"}constructor(y){super(),this.scope=y}getCache(y,E){let z=x4.get(y);return z===void 0&&(z=Yx(y,E),x4.set(y,z)),z}getFloat(y){return this.getCache(y,"float")}getColor(y){return this.getCache(y,"color")}getTexture(y){return this.getCache(y==="map"?"map":y+"Map","texture")}setup(y){const E=y.context.material,z=this.scope;let ne=null;if(z===ar.COLOR){const ie=E.color!==void 0?this.getColor(z):Xn();E.map&&E.map.isTexture===!0?ne=ie.mul(this.getTexture("map")):ne=ie}else if(z===ar.OPACITY){const ie=this.getFloat(z);E.alphaMap&&E.alphaMap.isTexture===!0?ne=ie.mul(this.getTexture("alpha")):ne=ie}else if(z===ar.SPECULAR_STRENGTH)E.specularMap&&E.specularMap.isTexture===!0?ne=this.getTexture("specular").r:ne=nn(1);else if(z===ar.SPECULAR_INTENSITY){const ie=this.getFloat(z);E.specularIntensityMap&&E.specularIntensityMap.isTexture===!0?ne=ie.mul(this.getTexture(z).a):ne=ie}else if(z===ar.SPECULAR_COLOR){const ie=this.getColor(z);E.specularColorMap&&E.specularColorMap.isTexture===!0?ne=ie.mul(this.getTexture(z).rgb):ne=ie}else if(z===ar.ROUGHNESS){const ie=this.getFloat(z);E.roughnessMap&&E.roughnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).g):ne=ie}else if(z===ar.METALNESS){const ie=this.getFloat(z);E.metalnessMap&&E.metalnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).b):ne=ie}else if(z===ar.EMISSIVE){const ie=this.getFloat("emissiveIntensity"),se=this.getColor(z).mul(ie);E.emissiveMap&&E.emissiveMap.isTexture===!0?ne=se.mul(this.getTexture(z)):ne=se}else if(z===ar.NORMAL)E.normalMap?(ne=xD(this.getTexture("normal"),this.getCache("normalScale","vec2")),ne.normalMapType=E.normalMapType):E.bumpMap?ne=A4(this.getTexture("bump").r,this.getFloat("bumpScale")):ne=ku;else if(z===ar.CLEARCOAT){const ie=this.getFloat(z);E.clearcoatMap&&E.clearcoatMap.isTexture===!0?ne=ie.mul(this.getTexture(z).r):ne=ie}else if(z===ar.CLEARCOAT_ROUGHNESS){const ie=this.getFloat(z);E.clearcoatRoughnessMap&&E.clearcoatRoughnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).r):ne=ie}else if(z===ar.CLEARCOAT_NORMAL)E.clearcoatNormalMap?ne=xD(this.getTexture(z),this.getCache(z+"Scale","vec2")):ne=ku;else if(z===ar.SHEEN){const ie=this.getColor("sheenColor").mul(this.getFloat("sheen"));E.sheenColorMap&&E.sheenColorMap.isTexture===!0?ne=ie.mul(this.getTexture("sheenColor").rgb):ne=ie}else if(z===ar.SHEEN_ROUGHNESS){const ie=this.getFloat(z);E.sheenRoughnessMap&&E.sheenRoughnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).a):ne=ie,ne=ne.clamp(.07,1)}else if(z===ar.ANISOTROPY)if(E.anisotropyMap&&E.anisotropyMap.isTexture===!0){const ie=this.getTexture(z);ne=k5(CE.x,CE.y,CE.y.negate(),CE.x).mul(ie.rg.mul(2).sub(Er(1)).normalize().mul(ie.b))}else ne=CE;else if(z===ar.IRIDESCENCE_THICKNESS){const ie=lc("1","float",E.iridescenceThicknessRange);if(E.iridescenceThicknessMap){const se=lc("0","float",E.iridescenceThicknessRange);ne=ie.sub(se).mul(this.getTexture(z).g).add(se)}else ne=ie}else if(z===ar.TRANSMISSION){const ie=this.getFloat(z);E.transmissionMap?ne=ie.mul(this.getTexture(z).r):ne=ie}else if(z===ar.THICKNESS){const ie=this.getFloat(z);E.thicknessMap?ne=ie.mul(this.getTexture(z).g):ne=ie}else if(z===ar.IOR)ne=this.getFloat(z);else if(z===ar.LIGHT_MAP)ne=this.getTexture(z).rgb.mul(this.getFloat("lightMapIntensity"));else if(z===ar.AO)ne=this.getTexture(z).r.sub(1).mul(this.getFloat("aoMapIntensity")).add(1);else if(z===ar.LINE_DASH_OFFSET)ne=E.dashOffset?this.getFloat(z):nn(0);else{const ie=this.getNodeType(y);ne=this.getCache(z,ie)}return ne}}ar.ALPHA_TEST="alphaTest",ar.COLOR="color",ar.OPACITY="opacity",ar.SHININESS="shininess",ar.SPECULAR="specular",ar.SPECULAR_STRENGTH="specularStrength",ar.SPECULAR_INTENSITY="specularIntensity",ar.SPECULAR_COLOR="specularColor",ar.REFLECTIVITY="reflectivity",ar.ROUGHNESS="roughness",ar.METALNESS="metalness",ar.NORMAL="normal",ar.CLEARCOAT="clearcoat",ar.CLEARCOAT_ROUGHNESS="clearcoatRoughness",ar.CLEARCOAT_NORMAL="clearcoatNormal",ar.EMISSIVE="emissive",ar.ROTATION="rotation",ar.SHEEN="sheen",ar.SHEEN_ROUGHNESS="sheenRoughness",ar.ANISOTROPY="anisotropy",ar.IRIDESCENCE="iridescence",ar.IRIDESCENCE_IOR="iridescenceIOR",ar.IRIDESCENCE_THICKNESS="iridescenceThickness",ar.IOR="ior",ar.TRANSMISSION="transmission",ar.THICKNESS="thickness",ar.ATTENUATION_DISTANCE="attenuationDistance",ar.ATTENUATION_COLOR="attenuationColor",ar.LINE_SCALE="scale",ar.LINE_DASH_SIZE="dashSize",ar.LINE_GAP_SIZE="gapSize",ar.LINE_WIDTH="linewidth",ar.LINE_DASH_OFFSET="dashOffset",ar.POINT_SIZE="size",ar.DISPERSION="dispersion",ar.LIGHT_MAP="light",ar.AO="ao";const w4=lo(ar,ar.ALPHA_TEST),cB=lo(ar,ar.COLOR),S4=lo(ar,ar.SHININESS),P4=lo(ar,ar.EMISSIVE),hB=lo(ar,ar.OPACITY),C4=lo(ar,ar.SPECULAR),wD=lo(ar,ar.SPECULAR_INTENSITY),E4=lo(ar,ar.SPECULAR_COLOR),rM=lo(ar,ar.SPECULAR_STRENGTH),dB=lo(ar,ar.REFLECTIVITY),b4=lo(ar,ar.ROUGHNESS),M4=lo(ar,ar.METALNESS),B4=lo(ar,ar.NORMAL),T4=lo(ar,ar.CLEARCOAT),D4=lo(ar,ar.CLEARCOAT_ROUGHNESS),F4=lo(ar,ar.CLEARCOAT_NORMAL),L4=lo(ar,ar.ROTATION),N4=lo(ar,ar.SHEEN),I4=lo(ar,ar.SHEEN_ROUGHNESS),R4=lo(ar,ar.ANISOTROPY),O4=lo(ar,ar.IRIDESCENCE),k4=lo(ar,ar.IRIDESCENCE_IOR),z4=lo(ar,ar.IRIDESCENCE_THICKNESS),H4=lo(ar,ar.TRANSMISSION),U4=lo(ar,ar.THICKNESS),V4=lo(ar,ar.IOR),j4=lo(ar,ar.ATTENUATION_DISTANCE),G4=lo(ar,ar.ATTENUATION_COLOR),SD=lo(ar,ar.LINE_SCALE),PD=lo(ar,ar.LINE_DASH_SIZE),CD=lo(ar,ar.LINE_GAP_SIZE),fB=lo(ar,ar.LINE_WIDTH),ED=lo(ar,ar.LINE_DASH_OFFSET),X4=lo(ar,ar.POINT_SIZE),W4=lo(ar,ar.DISPERSION),bD=lo(ar,ar.LIGHT_MAP),Q4=lo(ar,ar.AO),CE=Us(new ki).onReference(function(ee){return ee.material}).onRenderUpdate(function({material:ee}){this.value.set(ee.anisotropy*Math.cos(ee.anisotropyRotation),ee.anisotropy*Math.sin(ee.anisotropyRotation))}),MD=Kn(ee=>ee.context.setupModelViewProjection(),"vec4").once()().toVarying("v_modelViewProjection");class Xc extends da{static get type(){return"IndexNode"}constructor(y){super("uint"),this.scope=y,this.isIndexNode=!0}generate(y){const E=this.getNodeType(y),z=this.scope;let ne;if(z===Xc.VERTEX)ne=y.getVertexIndex();else if(z===Xc.INSTANCE)ne=y.getInstanceIndex();else if(z===Xc.DRAW)ne=y.getDrawIndex();else if(z===Xc.INVOCATION_LOCAL)ne=y.getInvocationLocalIndex();else if(z===Xc.INVOCATION_SUBGROUP)ne=y.getInvocationSubgroupIndex();else if(z===Xc.SUBGROUP)ne=y.getSubgroupIndex();else throw new Error("THREE.IndexNode: Unknown scope: "+z);let ie;return y.shaderStage==="vertex"||y.shaderStage==="compute"?ie=ne:ie=PA(this).build(y,E),ie}}Xc.VERTEX="vertex",Xc.INSTANCE="instance",Xc.SUBGROUP="subgroup",Xc.INVOCATION_LOCAL="invocationLocal",Xc.INVOCATION_SUBGROUP="invocationSubgroup",Xc.DRAW="draw";const Y4=lo(Xc,Xc.VERTEX),Pw=lo(Xc,Xc.INSTANCE),qX=lo(Xc,Xc.SUBGROUP),_X=lo(Xc,Xc.INVOCATION_SUBGROUP),$X=lo(Xc,Xc.INVOCATION_LOCAL),Z4=lo(Xc,Xc.DRAW);class K4 extends da{static get type(){return"InstanceNode"}constructor(y,E,z=null){super("void"),this.count=y,this.instanceMatrix=E,this.instanceColor=z,this.instanceMatrixNode=null,this.instanceColorNode=null,this.updateType=al.FRAME,this.buffer=null,this.bufferColor=null}setup(y){const{count:E,instanceMatrix:z,instanceColor:ne}=this;let{instanceMatrixNode:ie,instanceColorNode:se}=this;if(ie===null){if(E<=1e3)ie=eM(z.array,"mat4",Math.max(E,1)).element(Pw);else{const de=new x2(z.array,16,1);this.buffer=de;const ge=z.usage===Dp?rD:eB,ve=[ge(de,"vec4",16,0),ge(de,"vec4",16,4),ge(de,"vec4",16,8),ge(de,"vec4",16,12)];ie=nP(...ve)}this.instanceMatrixNode=ie}if(ne&&se===null){const de=new _f(ne.array,3),ge=ne.usage===Dp?rD:eB;this.bufferColor=de,se=Xn(ge(de,"vec3",3,0)),this.instanceColorNode=se}const le=ie.mul(qh).xyz;if(qh.assign(le),y.hasGeometryAttribute("normal")){const de=$I(Wp,ie);Wp.assign(de)}this.instanceColorNode!==null&&Om("vec3","vInstanceColor").assign(this.instanceColorNode)}update(){this.instanceMatrix.usage!==Dp&&this.buffer!==null&&this.instanceMatrix.version!==this.buffer.version&&(this.buffer.version=this.instanceMatrix.version),this.instanceColor&&this.instanceColor.usage!==Dp&&this.bufferColor!==null&&this.instanceColor.version!==this.bufferColor.version&&(this.bufferColor.version=this.instanceColor.version)}}const eW=Ar(K4).setParameterLength(2,3);class tW extends K4{static get type(){return"InstancedMeshNode"}constructor(y){const{count:E,instanceMatrix:z,instanceColor:ne}=y;super(E,z,ne),this.instancedMesh=y}}const J4=Ar(tW).setParameterLength(1);class nW extends da{static get type(){return"BatchNode"}constructor(y){super("void"),this.batchMesh=y,this.batchingIdNode=null}setup(y){this.batchingIdNode===null&&(y.getDrawIndex()===null?this.batchingIdNode=Pw:this.batchingIdNode=Z4);const z=Kn(([De])=>{const Oe=Mn(ww(Jh(this.batchMesh._indirectTexture),0).x),Re=Mn(De).mod(Oe),Le=Mn(De).div(Oe);return Jh(this.batchMesh._indirectTexture,pf(Re,Le)).x}).setLayout({name:"getIndirectIndex",type:"uint",inputs:[{name:"id",type:"int"}]})(Mn(this.batchingIdNode)),ne=this.batchMesh._matricesTexture,ie=Mn(ww(Jh(ne),0).x),se=nn(z).mul(4).toInt().toVar(),le=se.mod(ie),de=se.div(ie),ge=nP(Jh(ne,pf(le,de)),Jh(ne,pf(le.add(1),de)),Jh(ne,pf(le.add(2),de)),Jh(ne,pf(le.add(3),de))),ve=this.batchMesh._colorsTexture;if(ve!==null){const Oe=Kn(([Re])=>{const Le=Mn(ww(Jh(ve),0).x),Qe=Re,Xe=Qe.mod(Le),Ze=Qe.div(Le);return Jh(ve,pf(Xe,Ze)).rgb}).setLayout({name:"getBatchingColor",type:"vec3",inputs:[{name:"id",type:"int"}]})(z);Om("vec3","vBatchColor").assign(Oe)}const xe=kg(ge);qh.assign(ge.mul(qh));const Se=Wp.div(Xn(xe[0].dot(xe[0]),xe[1].dot(xe[1]),xe[2].dot(xe[2]))),Me=xe.mul(Se).xyz;Wp.assign(Me),y.hasGeometryAttribute("tangent")&&iM.mulAssign(xe)}}const q4=Ar(nW).setParameterLength(1);class iW extends $S{static get type(){return"StorageArrayElementNode"}constructor(y,E){super(y,E),this.isStorageArrayElementNode=!0}set storageBufferNode(y){this.node=y}get storageBufferNode(){return this.node}getMemberType(y,E){const z=this.storageBufferNode.structTypeNode;return z?z.getMemberType(y,E):"void"}setup(y){return y.isAvailable("storageBuffer")===!1&&this.node.isPBO===!0&&y.setupPBO(this.node),super.setup(y)}generate(y,E){let z;const ne=y.context.assign;if(y.isAvailable("storageBuffer")===!1?this.node.isPBO===!0&&ne!==!0&&(this.node.value.isInstancedBufferAttribute||y.shaderStage!=="compute")?z=y.generatePBO(this):z=this.node.build(y):z=super.generate(y),ne!==!0){const ie=this.getNodeType(y);z=y.format(z,ie,E)}return z}}const rW=Ar(iW).setParameterLength(2);class oW extends lD{static get type(){return"StorageBufferNode"}constructor(y,E=null,z=0){let ne,ie=null;E&&E.isStruct?(ne="struct",ie=E.layout,(y.isStorageBufferAttribute||y.isStorageInstancedBufferAttribute)&&(z=y.count)):E===null&&(y.isStorageBufferAttribute||y.isStorageInstancedBufferAttribute)?(ne=m3(y.itemSize),z=y.count):ne=E,super(y,ne,z),this.isStorageBufferNode=!0,this.structTypeNode=ie,this.access=Og.READ_WRITE,this.isAtomic=!1,this.isPBO=!1,this._attribute=null,this._varying=null,this.global=!0,y.isStorageBufferAttribute!==!0&&y.isStorageInstancedBufferAttribute!==!0&&(y.isInstancedBufferAttribute?y.isStorageInstancedBufferAttribute=!0:y.isStorageBufferAttribute=!0)}getHash(y){if(this.bufferCount===0){let E=y.globalCache.getData(this.value);return E===void 0&&(E={node:this},y.globalCache.setData(this.value,E)),E.node.uuid}return this.uuid}getInputType(){return this.value.isIndirectStorageBufferAttribute?"indirectStorageBuffer":"storageBuffer"}element(y){return rW(this,y)}setPBO(y){return this.isPBO=y,this}getPBO(){return this.isPBO}setAccess(y){return this.access=y,this}toReadOnly(){return this.setAccess(Og.READ_ONLY)}setAtomic(y){return this.isAtomic=y,this}toAtomic(){return this.setAtomic(!0)}getAttributeData(){return this._attribute===null&&(this._attribute=_2(this.value),this._varying=PA(this._attribute)),{attribute:this._attribute,varying:this._varying}}getNodeType(y){if(this.structTypeNode!==null)return this.structTypeNode.getNodeType(y);if(y.isAvailable("storageBuffer")||y.isAvailable("indirectStorageBuffer"))return super.getNodeType(y);const{attribute:E}=this.getAttributeData();return E.getNodeType(y)}getMemberType(y,E){return this.structTypeNode!==null?this.structTypeNode.getMemberType(y,E):"void"}generate(y){if(this.structTypeNode!==null&&this.structTypeNode.build(y),y.isAvailable("storageBuffer")||y.isAvailable("indirectStorageBuffer"))return super.generate(y);const{attribute:E,varying:z}=this.getAttributeData(),ne=z.build(y);return y.registerTransform(ne,E),ne}}const lP=(ee,y=null,E=0)=>ir(new oW(ee,y,E)),sW=(ee,y,E)=>(console.warn('THREE.TSL: "storageObject()" is deprecated. Use "storage().setPBO( true )" instead.'),lP(ee,y,E).setPBO(!0)),_4=new WeakMap;class $4 extends da{static get type(){return"SkinningNode"}constructor(y){super("void"),this.skinnedMesh=y,this.updateType=al.OBJECT,this.skinIndexNode=ap("skinIndex","uvec4"),this.skinWeightNode=ap("skinWeight","vec4"),this.bindMatrixNode=lc("bindMatrix","mat4"),this.bindMatrixInverseNode=lc("bindMatrixInverse","mat4"),this.boneMatricesNode=vD("skeleton.boneMatrices","mat4",y.skeleton.bones.length),this.positionNode=qh,this.toPositionNode=qh,this.previousBoneMatricesNode=null}getSkinnedPosition(y=this.boneMatricesNode,E=this.positionNode){const{skinIndexNode:z,skinWeightNode:ne,bindMatrixNode:ie,bindMatrixInverseNode:se}=this,le=y.element(z.x),de=y.element(z.y),ge=y.element(z.z),ve=y.element(z.w),xe=ie.mul(E),Se=Od(le.mul(ne.x).mul(xe),de.mul(ne.y).mul(xe),ge.mul(ne.z).mul(xe),ve.mul(ne.w).mul(xe));return se.mul(Se).xyz}getSkinnedNormal(y=this.boneMatricesNode,E=Wp){const{skinIndexNode:z,skinWeightNode:ne,bindMatrixNode:ie,bindMatrixInverseNode:se}=this,le=y.element(z.x),de=y.element(z.y),ge=y.element(z.z),ve=y.element(z.w);let xe=Od(ne.x.mul(le),ne.y.mul(de),ne.z.mul(ge),ne.w.mul(ve));return xe=se.mul(xe).mul(ie),xe.transformDirection(E).xyz}getPreviousSkinnedPosition(y){const E=y.object;return this.previousBoneMatricesNode===null&&(E.skeleton.previousBoneMatrices=new Float32Array(E.skeleton.boneMatrices),this.previousBoneMatricesNode=vD("skeleton.previousBoneMatrices","mat4",E.skeleton.bones.length)),this.getSkinnedPosition(this.previousBoneMatricesNode,iB)}needsPreviousBoneMatrices(y){const E=y.renderer.getMRT();return E&&E.has("velocity")||A3(y.object).useVelocity===!0}setup(y){this.needsPreviousBoneMatrices(y)&&iB.assign(this.getPreviousSkinnedPosition(y));const E=this.getSkinnedPosition();if(this.toPositionNode&&this.toPositionNode.assign(E),y.hasGeometryAttribute("normal")){const z=this.getSkinnedNormal();Wp.assign(z),y.hasGeometryAttribute("tangent")&&iM.assign(z)}return E}generate(y,E){if(E!=="void")return super.generate(y,E)}update(y){const E=y.object&&y.object.skeleton?y.object.skeleton:this.skinnedMesh.skeleton;_4.get(E)!==y.frameId&&(_4.set(E,y.frameId),this.previousBoneMatricesNode!==null&&E.previousBoneMatrices.set(E.boneMatrices),E.update())}}const e6=ee=>ir(new $4(ee)),aW=(ee,y=null)=>{const E=new $4(ee);return E.positionNode=lP(new _f(ee.geometry.getAttribute("position").array,3),"vec3").setPBO(!0).toReadOnly().element(Pw).toVar(),E.skinIndexNode=lP(new _f(new Uint32Array(ee.geometry.getAttribute("skinIndex").array),4),"uvec4").setPBO(!0).toReadOnly().element(Pw).toVar(),E.skinWeightNode=lP(new _f(ee.geometry.getAttribute("skinWeight").array,4),"vec4").setPBO(!0).toReadOnly().element(Pw).toVar(),E.bindMatrixNode=Us(ee.bindMatrix,"mat4"),E.bindMatrixInverseNode=Us(ee.bindMatrixInverse,"mat4"),E.boneMatricesNode=eM(ee.skeleton.boneMatrices,"mat4",ee.skeleton.bones.length),E.toPositionNode=y,ir(E)};class lW extends da{static get type(){return"LoopNode"}constructor(y=[]){super(),this.params=y}getVarName(y){return String.fromCharCode(105+y)}getProperties(y){const E=y.getNodeProperties(this);if(E.stackNode!==void 0)return E;const z={};for(let se=0,le=this.params.length-1;seNumber(Se)?Oe=">=":Oe="<"));let Le;if(ve)Le=`while ( ${Se} )`;else{const Qe={start:xe,end:Se},Xe=Qe.start,Ze=Qe.end;let it;const et=()=>Oe.includes("<")?"+=":"-=";if(Re!=null)switch(typeof Re){case"function":it=y.flowStagesNode(E.updateNode,"void").code.replace(/\t|;/g,"");break;case"number":it=Me+" "+et()+" "+y.generateConst(De,Re);break;case"string":it=Me+" "+Re;break;default:Re.isNode?it=Me+" "+et()+" "+Re.build(y):(console.error("THREE.TSL: 'Loop( { update: ... } )' is not a function, string or number."),it="break /* invalid update */")}else De==="int"||De==="uint"?Re=Oe.includes("<")?"++":"--":Re=et()+" 1.",it=Me+" "+Re;const ht=y.getVar(De,Me)+" = "+Xe,lt=Me+" "+Oe+" "+Ze;Le=`for ( ${ht}; ${lt}; ${it} )`}y.addFlowCode((le===0?` +`,E!==null?E(y,se):console.log(se),z}}const XI=(ee,y=null)=>ir(new lX(ir(ee),y));ur("debug",XI);function uX(ee){console.warn("THREE.TSL: AddNodeElement has been removed in favor of tree-shaking. Trying add",ee)}class WI extends da{static get type(){return"AttributeNode"}constructor(y,E=null){super(E),this.global=!0,this._attributeName=y}getHash(y){return this.getAttributeName(y)}getNodeType(y){let E=this.nodeType;if(E===null){const z=this.getAttributeName(y);if(y.hasGeometryAttribute(z)){const ne=y.geometry.getAttribute(z);E=y.getTypeFromAttribute(ne)}else E="float"}return E}setAttributeName(y){return this._attributeName=y,this}getAttributeName(){return this._attributeName}generate(y){const E=this.getAttributeName(y),z=this.getNodeType(y);if(y.hasGeometryAttribute(E)===!0){const ie=y.geometry.getAttribute(E),se=y.getTypeFromAttribute(ie),le=y.getAttribute(E,se);return y.shaderStage==="vertex"?y.format(le.name,se,z):PA(this).build(y,z)}else return console.warn(`AttributeNode: Vertex attribute "${E}" not found on geometry.`),y.generateConst(z)}serialize(y){super.serialize(y),y.global=this.global,y._attributeName=this._attributeName}deserialize(y){super.deserialize(y),this.global=y.global,this._attributeName=y._attributeName}}const ap=(ee,y=null)=>ir(new WI(ee,y)),wc=(ee=0)=>ap("uv"+(ee>0?ee:""),"vec2");class cX extends da{static get type(){return"TextureSizeNode"}constructor(y,E=null){super("uvec2"),this.isTextureSizeNode=!0,this.textureNode=y,this.levelNode=E}generate(y,E){const z=this.textureNode.build(y,"property"),ne=this.levelNode===null?"0":this.levelNode.build(y,"int");return y.format(`${y.getMethod("textureDimensions")}( ${z}, ${ne} )`,this.getNodeType(y),E)}}const ww=Ar(cX).setParameterLength(1,2);class hX extends J2{static get type(){return"MaxMipLevelNode"}constructor(y){super(0),this._textureNode=y,this.updateType=al.FRAME}get textureNode(){return this._textureNode}get texture(){return this._textureNode.value}update(){const y=this.texture,E=y.images,z=E&&E.length>0?E[0]&&E[0].image||E[0]:y.image;if(z&&z.width!==void 0){const{width:ne,height:ie}=z;this.value=Math.log2(Math.max(ne,ie))}}}const sD=Ar(hX).setParameterLength(1),aD=new Ec;class CA extends J2{static get type(){return"TextureNode"}constructor(y=aD,E=null,z=null,ne=null){super(y),this.isTextureNode=!0,this.uvNode=E,this.levelNode=z,this.biasNode=ne,this.compareNode=null,this.depthNode=null,this.gradNode=null,this.sampler=!0,this.updateMatrix=!1,this.updateType=al.NONE,this.referenceNode=null,this._value=y,this._matrixUniform=null,this.setUpdateMatrix(E===null)}set value(y){this.referenceNode?this.referenceNode.value=y:this._value=y}get value(){return this.referenceNode?this.referenceNode.value:this._value}getUniformHash(){return this.value.uuid}getNodeType(){return this.value.isDepthTexture===!0?"float":this.value.type===nu?"uvec4":this.value.type===tc?"ivec4":"vec4"}getInputType(){return"texture"}getDefaultUV(){return wc(this.value.channel)}updateReference(){return this.value}getTransformedUV(y){return this._matrixUniform===null&&(this._matrixUniform=Us(this.value.matrix)),this._matrixUniform.mul(Xn(y,1)).xy}setUpdateMatrix(y){return this.updateMatrix=y,this.updateType=y?al.OBJECT:al.NONE,this}setupUV(y,E){const z=this.value;return y.isFlipY()&&(z.image instanceof ImageBitmap&&z.flipY===!0||z.isRenderTargetTexture===!0||z.isFramebufferTexture===!0||z.isDepthTexture===!0)&&(this.sampler?E=E.flipY():E=E.setY(Mn(ww(this,this.levelNode).y).sub(E.y).sub(1))),E}setup(y){const E=y.getNodeProperties(this);E.referenceNode=this.referenceNode;const z=this.value;if(!z||z.isTexture!==!0)throw new Error("THREE.TSL: `texture( value )` function expects a valid instance of THREE.Texture().");let ne=this.uvNode;(ne===null||y.context.forceUVContext===!0)&&y.context.getUV&&(ne=y.context.getUV(this,y)),ne||(ne=this.getDefaultUV()),this.updateMatrix===!0&&(ne=this.getTransformedUV(ne)),ne=this.setupUV(y,ne);let ie=this.levelNode;ie===null&&y.context.getTextureLevel&&(ie=y.context.getTextureLevel(this)),E.uvNode=ne,E.levelNode=ie,E.biasNode=this.biasNode,E.compareNode=this.compareNode,E.gradNode=this.gradNode,E.depthNode=this.depthNode}generateUV(y,E){return E.build(y,this.sampler===!0?"vec2":"ivec2")}generateSnippet(y,E,z,ne,ie,se,le,de){const ge=this.value;let ve;return ne?ve=y.generateTextureLevel(ge,E,z,ne,se):ie?ve=y.generateTextureBias(ge,E,z,ie,se):de?ve=y.generateTextureGrad(ge,E,z,de,se):le?ve=y.generateTextureCompare(ge,E,z,le,se):this.sampler===!1?ve=y.generateTextureLoad(ge,E,z,se):ve=y.generateTexture(ge,E,z,se),ve}generate(y,E){const z=this.value,ne=y.getNodeProperties(this),ie=super.generate(y,"property");if(/^sampler/.test(E))return ie+"_sampler";if(y.isReference(E))return ie;{const se=y.getDataFromNode(this);let le=se.propertyName;if(le===void 0){const{uvNode:ve,levelNode:xe,biasNode:Se,compareNode:Me,depthNode:De,gradNode:Oe}=ne,Re=this.generateUV(y,ve),Le=xe?xe.build(y,"float"):null,Qe=Se?Se.build(y,"float"):null,Xe=De?De.build(y,"int"):null,Ze=Me?Me.build(y,"float"):null,it=Oe?[Oe[0].build(y,"vec2"),Oe[1].build(y,"vec2")]:null,et=y.getVarFromNode(this);le=y.getPropertyName(et);const ht=this.generateSnippet(y,ie,Re,Le,Qe,Xe,Ze,it);y.addLineFlowCode(`${le} = ${ht}`,this),se.snippet=ht,se.propertyName=le}let de=le;const ge=this.getNodeType(y);return y.needsToWorkingColorSpace(z)&&(de=$5(Gx(de,ge),z.colorSpace).setup(y).build(y,ge)),y.format(de,ge,E)}}setSampler(y){return this.sampler=y,this}getSampler(){return this.sampler}uv(y){return console.warn("THREE.TextureNode: .uv() has been renamed. Use .sample() instead."),this.sample(y)}sample(y){const E=this.clone();return E.uvNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}blur(y){const E=this.clone();E.biasNode=ir(y).mul(sD(E)),E.referenceNode=this.getSelf();const z=E.value;return E.generateMipmaps===!1&&(z&&z.generateMipmaps===!1||z.minFilter===xu||z.magFilter===xu)&&(console.warn("THREE.TSL: texture().blur() requires mipmaps and sampling. Use .generateMipmaps=true and .minFilter/.magFilter=THREE.LinearFilter in the Texture."),E.biasNode=null),ir(E)}level(y){const E=this.clone();return E.levelNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}size(y){return ww(this,y)}bias(y){const E=this.clone();return E.biasNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}compare(y){const E=this.clone();return E.compareNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}grad(y,E){const z=this.clone();return z.gradNode=[ir(y),ir(E)],z.referenceNode=this.getSelf(),ir(z)}depth(y){const E=this.clone();return E.depthNode=ir(y),E.referenceNode=this.getSelf(),ir(E)}serialize(y){super.serialize(y),y.value=this.value.toJSON(y.meta).uuid,y.sampler=this.sampler,y.updateMatrix=this.updateMatrix,y.updateType=this.updateType}deserialize(y){super.deserialize(y),this.value=y.meta.textures[y.value],this.sampler=y.sampler,this.updateMatrix=y.updateMatrix,this.updateType=y.updateType}update(){const y=this.value,E=this._matrixUniform;E!==null&&(E.value=y.matrix),y.matrixAutoUpdate===!0&&y.updateMatrix()}clone(){const y=new this.constructor(this.value,this.uvNode,this.levelNode,this.biasNode);return y.sampler=this.sampler,y.depthNode=this.depthNode,y.compareNode=this.compareNode,y.gradNode=this.gradNode,y}}const dX=Ar(CA).setParameterLength(1,4).setName("texture"),Dl=(ee=aD,y=null,E=null,z=null)=>{let ne;return ee&&ee.isTextureNode===!0?(ne=ir(ee.clone()),ne.referenceNode=ee.getSelf(),y!==null&&(ne.uvNode=ir(y)),E!==null&&(ne.levelNode=ir(E)),z!==null&&(ne.biasNode=ir(z))):ne=dX(ee,y,E,z),ne},fX=(ee=aD)=>Dl(ee),Jh=(...ee)=>Dl(...ee).setSampler(!1),gX=ee=>(ee.isNode===!0?ee:Dl(ee)).convert("sampler"),pX=ee=>(ee.isNode===!0?ee:Dl(ee)).convert("samplerComparison");class lD extends J2{static get type(){return"BufferNode"}constructor(y,E,z=0){super(y,E),this.isBufferNode=!0,this.bufferType=E,this.bufferCount=z}getElementType(y){return this.getNodeType(y)}getInputType(){return"buffer"}}const eM=(ee,y,E)=>ir(new lD(ee,y,E));class mX extends $S{static get type(){return"UniformArrayElementNode"}constructor(y,E){super(y,E),this.isArrayBufferElementNode=!0}generate(y){const E=super.generate(y),z=this.getNodeType(),ne=this.node.getPaddedType();return y.format(E,ne,z)}}class vX extends lD{static get type(){return"UniformArrayNode"}constructor(y,E=null){super(null),this.array=y,this.elementType=E===null?Hx(y[0]):E,this.paddedType=this.getPaddedType(),this.updateType=al.RENDER,this.isArrayBufferNode=!0}getNodeType(){return this.paddedType}getElementType(){return this.elementType}getPaddedType(){const y=this.elementType;let E="vec4";return y==="mat2"?E="mat2":/mat/.test(y)===!0?E="mat4":y.charAt(0)==="i"?E="ivec4":y.charAt(0)==="u"&&(E="uvec4"),E}update(){const{array:y,value:E}=this,z=this.elementType;if(z==="float"||z==="int"||z==="uint")for(let ne=0;neir(new vX(ee,y));class yX extends da{constructor(y){super("float"),this.name=y,this.isBuiltinNode=!0}generate(){return this.name}}const tM=Ar(yX).setParameterLength(1),nB=Us(0,"uint").label("u_cameraIndex").setGroup(X5("cameraIndex")).toVarying("v_cameraIndex"),Xx=Us("float").label("cameraNear").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.near),Wx=Us("float").label("cameraFar").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.far),zm=Kn(({camera:ee})=>{let y;if(ee.isArrayCamera&&ee.cameras.length>0){const E=[];for(const ne of ee.cameras)E.push(ne.projectionMatrix);y=ev(E).setGroup(pa).label("cameraProjectionMatrices").element(ee.isMultiViewCamera?tM("gl_ViewID_OVR"):nB).toVar("cameraProjectionMatrix")}else y=Us("mat4").label("cameraProjectionMatrix").setGroup(pa).onRenderUpdate(({camera:E})=>E.projectionMatrix);return y}).once()(),AX=Kn(({camera:ee})=>{let y;if(ee.isArrayCamera&&ee.cameras.length>0){const E=[];for(const ne of ee.cameras)E.push(ne.projectionMatrixInverse);y=ev(E).setGroup(pa).label("cameraProjectionMatricesInverse").element(ee.isMultiViewCamera?tM("gl_ViewID_OVR"):nB).toVar("cameraProjectionMatrixInverse")}else y=Us("mat4").label("cameraProjectionMatrixInverse").setGroup(pa).onRenderUpdate(({camera:E})=>E.projectionMatrixInverse);return y}).once()(),Hm=Kn(({camera:ee})=>{let y;if(ee.isArrayCamera&&ee.cameras.length>0){const E=[];for(const ne of ee.cameras)E.push(ne.matrixWorldInverse);y=ev(E).setGroup(pa).label("cameraViewMatrices").element(ee.isMultiViewCamera?tM("gl_ViewID_OVR"):nB).toVar("cameraViewMatrix")}else y=Us("mat4").label("cameraViewMatrix").setGroup(pa).onRenderUpdate(({camera:E})=>E.matrixWorldInverse);return y}).once()(),xX=Us("mat4").label("cameraWorldMatrix").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.matrixWorld),wX=Us("mat3").label("cameraNormalMatrix").setGroup(pa).onRenderUpdate(({camera:ee})=>ee.normalMatrix),nM=Us(new Vt).label("cameraPosition").setGroup(pa).onRenderUpdate(({camera:ee},y)=>y.value.setFromMatrixPosition(ee.matrixWorld)),QI=new sd;class jl extends da{static get type(){return"Object3DNode"}constructor(y,E=null){super(),this.scope=y,this.object3d=E,this.updateType=al.OBJECT,this.uniformNode=new J2(null)}getNodeType(){const y=this.scope;if(y===jl.WORLD_MATRIX)return"mat4";if(y===jl.POSITION||y===jl.VIEW_POSITION||y===jl.DIRECTION||y===jl.SCALE)return"vec3";if(y===jl.RADIUS)return"float"}update(y){const E=this.object3d,z=this.uniformNode,ne=this.scope;if(ne===jl.WORLD_MATRIX)z.value=E.matrixWorld;else if(ne===jl.POSITION)z.value=z.value||new Vt,z.value.setFromMatrixPosition(E.matrixWorld);else if(ne===jl.SCALE)z.value=z.value||new Vt,z.value.setFromMatrixScale(E.matrixWorld);else if(ne===jl.DIRECTION)z.value=z.value||new Vt,E.getWorldDirection(z.value);else if(ne===jl.VIEW_POSITION){const ie=y.camera;z.value=z.value||new Vt,z.value.setFromMatrixPosition(E.matrixWorld),z.value.applyMatrix4(ie.matrixWorldInverse)}else if(ne===jl.RADIUS){const ie=y.object.geometry;ie.boundingSphere===null&&ie.computeBoundingSphere(),QI.copy(ie.boundingSphere).applyMatrix4(E.matrixWorld),z.value=QI.radius}}generate(y){const E=this.scope;return E===jl.WORLD_MATRIX?this.uniformNode.nodeType="mat4":E===jl.POSITION||E===jl.VIEW_POSITION||E===jl.DIRECTION||E===jl.SCALE?this.uniformNode.nodeType="vec3":E===jl.RADIUS&&(this.uniformNode.nodeType="float"),this.uniformNode.build(y)}serialize(y){super.serialize(y),y.scope=this.scope}deserialize(y){super.deserialize(y),this.scope=y.scope}}jl.WORLD_MATRIX="worldMatrix",jl.POSITION="position",jl.SCALE="scale",jl.VIEW_POSITION="viewPosition",jl.DIRECTION="direction",jl.RADIUS="radius";const SX=Ar(jl,jl.DIRECTION).setParameterLength(1),PX=Ar(jl,jl.WORLD_MATRIX).setParameterLength(1),YI=Ar(jl,jl.POSITION).setParameterLength(1),CX=Ar(jl,jl.SCALE).setParameterLength(1),EX=Ar(jl,jl.VIEW_POSITION).setParameterLength(1),bX=Ar(jl,jl.RADIUS).setParameterLength(1);class tv extends jl{static get type(){return"ModelNode"}constructor(y){super(y)}update(y){this.object3d=y.object,super.update(y)}}const MX=lo(tv,tv.DIRECTION),nv=lo(tv,tv.WORLD_MATRIX),BX=lo(tv,tv.POSITION),TX=lo(tv,tv.SCALE),DX=lo(tv,tv.VIEW_POSITION),ZI=lo(tv,tv.RADIUS),KI=Us(new Oa).onObjectUpdate(({object:ee},y)=>y.value.getNormalMatrix(ee.matrixWorld)),FX=Us(new rs).onObjectUpdate(({object:ee},y)=>y.value.copy(ee.matrixWorld).invert()),Qx=Kn(ee=>ee.renderer.overrideNodes.modelViewMatrix||JI).once()().toVar("modelViewMatrix"),JI=Hm.mul(nv),uD=Kn(ee=>(ee.context.isHighPrecisionModelViewMatrix=!0,Us("mat4").onObjectUpdate(({object:y,camera:E})=>y.modelViewMatrix.multiplyMatrices(E.matrixWorldInverse,y.matrixWorld)))).once()().toVar("highpModelViewMatrix"),cD=Kn(ee=>{const y=ee.context.isHighPrecisionModelViewMatrix;return Us("mat3").onObjectUpdate(({object:E,camera:z})=>(y!==!0&&E.modelViewMatrix.multiplyMatrices(z.matrixWorldInverse,E.matrixWorld),E.normalMatrix.getNormalMatrix(E.modelViewMatrix)))}).once()().toVar("highpModelNormalViewMatrix"),lg=ap("position","vec3"),qh=lg.toVarying("positionLocal"),iB=lg.toVarying("positionPrevious"),iv=Kn(ee=>nv.mul(qh).xyz.toVarying(ee.getSubBuildProperty("v_positionWorld")),"vec3").once(["POSITION"])(),hD=Kn(()=>qh.transformDirection(nv).toVarying("v_positionWorldDirection").normalize().toVar("positionWorldDirection"),"vec3").once(["POSITION"])(),_h=Kn(ee=>ee.context.setupPositionView().toVarying("v_positionView"),"vec3").once(["POSITION"])(),Bc=_h.negate().toVarying("v_positionViewDirection").normalize().toVar("positionViewDirection");class LX extends da{static get type(){return"FrontFacingNode"}constructor(){super("bool"),this.isFrontFacingNode=!0}generate(y){if(y.shaderStage!=="fragment")return"true";const{renderer:E,material:z}=y;return E.coordinateSystem===Cd&&z.side===au?"false":y.getFrontFacing()}}const qI=lo(LX),dD=nn(qI).mul(2).sub(1),wE=Kn(([ee],{material:y})=>{const E=y.side;return E===au?ee=ee.mul(-1):E===eh&&(ee=ee.mul(dD)),ee}),rB=ap("normal","vec3"),Wp=Kn(ee=>ee.geometry.hasAttribute("normal")===!1?(console.warn('THREE.TSL: Vertex attribute "normal" not found on geometry.'),Xn(0,1,0)):rB,"vec3").once()().toVar("normalLocal"),_I=_h.dFdx().cross(_h.dFdy()).normalize().toVar("normalFlat"),SE=Kn(ee=>{let y;return ee.material.flatShading===!0?y=_I:y=fD(Wp).toVarying("v_normalViewGeometry").normalize(),y},"vec3").once()().toVar("normalViewGeometry"),$I=Kn(ee=>{let y=SE.transformDirection(Hm);return ee.material.flatShading!==!0&&(y=y.toVarying("v_normalWorldGeometry")),y.normalize().toVar("normalWorldGeometry")},"vec3").once()(),ku=Kn(({subBuildFn:ee,material:y,context:E})=>{let z;return ee==="NORMAL"||ee==="VERTEX"?(z=SE,y.flatShading!==!0&&(z=wE(z))):z=E.setupNormal().context({getUV:null}),z},"vec3").once(["NORMAL","VERTEX"])().toVar("normalView"),Sw=ku.transformDirection(Hm).toVar("normalWorld"),sP=Kn(({subBuildFn:ee,context:y})=>{let E;return ee==="NORMAL"||ee==="VERTEX"?E=ku:E=y.setupClearcoatNormal().context({getUV:null}),E},"vec3").once(["NORMAL","VERTEX"])().toVar("clearcoatNormalView"),e4=Kn(([ee,y=nv])=>{const E=kg(y),z=ee.div(Xn(E[0].dot(E[0]),E[1].dot(E[1]),E[2].dot(E[2])));return E.mul(z).xyz}),fD=Kn(([ee],y)=>{const E=y.renderer.overrideNodes.modelNormalViewMatrix;if(E!==null)return E.transformDirection(ee);const z=KI.mul(ee);return Hm.transformDirection(z)}),NX=Kn(()=>(console.warn('THREE.TSL: "transformedNormalView" is deprecated. Use "normalView" instead.'),ku)).once(["NORMAL","VERTEX"])(),IX=Kn(()=>(console.warn('THREE.TSL: "transformedNormalWorld" is deprecated. Use "normalWorld" instead.'),Sw)).once(["NORMAL","VERTEX"])(),RX=Kn(()=>(console.warn('THREE.TSL: "transformedClearcoatNormalView" is deprecated. Use "clearcoatNormalView" instead.'),sP)).once(["NORMAL","VERTEX"])(),t4=new Pu,gD=new rs,n4=Us(0).onReference(({material:ee})=>ee).onObjectUpdate(({material:ee})=>ee.refractionRatio),oB=Us(1).onReference(({material:ee})=>ee).onObjectUpdate(function({material:ee,scene:y}){return ee.envMap?ee.envMapIntensity:y.environmentIntensity}),pD=Us(new rs).onReference(function(ee){return ee.material}).onObjectUpdate(function({material:ee,scene:y}){const E=y.environment!==null&&ee.envMap===null?y.environmentRotation:ee.envMapRotation;return E?(t4.copy(E),gD.makeRotationFromEuler(t4)):gD.identity(),gD}),i4=Bc.negate().reflect(ku),r4=Bc.negate().refract(ku,n4),o4=i4.transformDirection(Hm).toVar("reflectVector"),s4=r4.transformDirection(Hm).toVar("reflectVector"),a4=new Lf;class OX extends CA{static get type(){return"CubeTextureNode"}constructor(y,E=null,z=null,ne=null){super(y,E,z,ne),this.isCubeTextureNode=!0}getInputType(){return"cubeTexture"}getDefaultUV(){const y=this.value;return y.mapping===Jd?o4:y.mapping===qd?s4:(console.error('THREE.CubeTextureNode: Mapping "%s" not supported.',y.mapping),Xn(0,0,0))}setUpdateMatrix(){}setupUV(y,E){const z=this.value;return(y.renderer.coordinateSystem===rd||!z.isRenderTargetTexture)&&(E=Xn(E.x.negate(),E.yz)),pD.mul(E)}generateUV(y,E){return E.build(y,"vec3")}}const mD=Ar(OX).setParameterLength(1,4).setName("cubeTexture"),PE=(ee=a4,y=null,E=null,z=null)=>{let ne;return ee&&ee.isCubeTextureNode===!0?(ne=ir(ee.clone()),ne.referenceNode=ee.getSelf(),y!==null&&(ne.uvNode=ir(y)),E!==null&&(ne.levelNode=ir(E)),z!==null&&(ne.biasNode=ir(z))):ne=mD(ee,y,E,z),ne},kX=(ee=a4)=>mD(ee);class zX extends $S{static get type(){return"ReferenceElementNode"}constructor(y,E){super(y,E),this.referenceNode=y,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(y){const E=super.generate(y),z=this.referenceNode.getNodeType(),ne=this.getNodeType();return y.format(E,z,ne)}}class sB extends da{static get type(){return"ReferenceNode"}constructor(y,E,z=null,ne=null){super(),this.property=y,this.uniformType=E,this.object=z,this.count=ne,this.properties=y.split("."),this.reference=z,this.node=null,this.group=null,this.name=null,this.updateType=al.OBJECT}element(y){return ir(new zX(this,ir(y)))}setGroup(y){return this.group=y,this}label(y){return this.name=y,this}setNodeType(y){let E=null;this.count!==null?E=eM(null,y,this.count):Array.isArray(this.getValueFromReference())?E=ev(null,y):y==="texture"?E=Dl(null):y==="cubeTexture"?E=PE(null):E=Us(null,y),this.group!==null&&E.setGroup(this.group),this.name!==null&&E.label(this.name),this.node=E.getSelf()}getNodeType(y){return this.node===null&&(this.updateReference(y),this.updateValue()),this.node.getNodeType(y)}getValueFromReference(y=this.reference){const{properties:E}=this;let z=y[E[0]];for(let ne=1;neir(new sB(ee,y,E)),vD=(ee,y,E,z)=>ir(new sB(ee,y,z,E));class HX extends sB{static get type(){return"MaterialReferenceNode"}constructor(y,E,z=null){super(y,E,z),this.material=z,this.isMaterialReferenceNode=!0}updateReference(y){return this.reference=this.material!==null?this.material:y.material,this.reference}}const Yx=(ee,y,E=null)=>ir(new HX(ee,y,E)),l4=wc(),UX=_h.dFdx(),VX=_h.dFdy(),u4=l4.dFdx(),c4=l4.dFdy(),h4=ku,d4=VX.cross(h4),f4=h4.cross(UX),yD=d4.mul(u4.x).add(f4.mul(c4.x)),AD=d4.mul(u4.y).add(f4.mul(c4.y)),g4=yD.dot(yD).max(AD.dot(AD)),p4=g4.equal(0).select(0,g4.inverseSqrt()),jX=yD.mul(p4).toVar("tangentViewFrame"),GX=AD.mul(p4).toVar("bitangentViewFrame"),aB=Kn(ee=>(ee.geometry.hasAttribute("tangent")===!1&&ee.geometry.computeTangents(),ap("tangent","vec4")))(),iM=aB.xyz.toVar("tangentLocal"),lB=Kn(({subBuildFn:ee,geometry:y,material:E})=>{let z;return ee==="VERTEX"||y.hasAttribute("tangent")?z=Qx.mul(Qo(iM,0)).xyz.toVarying("v_tangentView").normalize():z=jX,E.flatShading!==!0&&(z=wE(z)),z},"vec3").once(["NORMAL","VERTEX"])().toVar("tangentView"),m4=lB.transformDirection(Hm).toVarying("v_tangentWorld").normalize().toVar("tangentWorld"),uB=Kn(([ee,y],{subBuildFn:E,material:z})=>{let ne=ee.mul(aB.w).xyz;return E==="NORMAL"&&z.flatShading!==!0&&(ne=ne.toVarying(y)),ne}).once(["NORMAL"]),XX=uB(rB.cross(aB),"v_bitangentGeometry").normalize().toVar("bitangentGeometry"),WX=uB(Wp.cross(iM),"v_bitangentLocal").normalize().toVar("bitangentLocal"),v4=Kn(({subBuildFn:ee,geometry:y,material:E})=>{let z;return ee==="VERTEX"||y.hasAttribute("tangent")?z=uB(ku.cross(lB),"v_bitangentView").normalize():z=GX,E.flatShading!==!0&&(z=wE(z)),z},"vec3").once(["NORMAL","VERTEX"])().toVar("bitangentView"),QX=uB(Sw.cross(m4),"v_bitangentWorld").normalize().toVar("bitangentWorld"),aP=kg(lB,v4,ku).toVar("TBNViewMatrix"),y4=Bc.mul(aP),YX=(ee,y)=>ee.sub(y4.mul(y)),A4=Kn(()=>{let ee=rP.cross(Bc);return ee=ee.cross(rP).normalize(),ee=yu(ee,ku,Aw.mul(vA.oneMinus()).oneMinus().pow2().pow2()).normalize(),ee}).once()();class ZX extends Id{static get type(){return"NormalMapNode"}constructor(y,E=null){super("vec3"),this.node=y,this.scaleNode=E,this.normalMapType=At}setup({material:y}){const{normalMapType:E,scaleNode:z}=this;let ne=this.node.mul(2).sub(1);if(z!==null){let se=z;y.flatShading===!0&&(se=wE(se)),ne=Xn(ne.xy.mul(se),ne.z)}let ie=null;return E===sn?ie=fD(ne):E===At?ie=aP.mul(ne).normalize():(console.error(`THREE.NodeMaterial: Unsupported normal map type: ${E}`),ie=ku),ie}}const xD=Ar(ZX).setParameterLength(1,2),KX=Kn(({textureNode:ee,bumpScale:y})=>{const E=ne=>ee.cache().context({getUV:ie=>ne(ie.uvNode||wc()),forceUVContext:!0}),z=nn(E(ne=>ne));return Er(nn(E(ne=>ne.add(ne.dFdx()))).sub(z),nn(E(ne=>ne.add(ne.dFdy()))).sub(z)).mul(y)}),JX=Kn(ee=>{const{surf_pos:y,surf_norm:E,dHdxy:z}=ee,ne=y.dFdx().normalize(),ie=y.dFdy().normalize(),se=E,le=ie.cross(se),de=se.cross(ne),ge=ne.dot(le).mul(dD),ve=ge.sign().mul(z.x.mul(le).add(z.y.mul(de)));return ge.abs().mul(E).sub(ve).normalize()});class qX extends Id{static get type(){return"BumpMapNode"}constructor(y,E=null){super("vec3"),this.textureNode=y,this.scaleNode=E}setup(){const y=this.scaleNode!==null?this.scaleNode:1,E=KX({textureNode:this.textureNode,bumpScale:y});return JX({surf_pos:_h,surf_norm:ku,dHdxy:E})}}const x4=Ar(qX).setParameterLength(1,2),w4=new Map;class ar extends da{static get type(){return"MaterialNode"}constructor(y){super(),this.scope=y}getCache(y,E){let z=w4.get(y);return z===void 0&&(z=Yx(y,E),w4.set(y,z)),z}getFloat(y){return this.getCache(y,"float")}getColor(y){return this.getCache(y,"color")}getTexture(y){return this.getCache(y==="map"?"map":y+"Map","texture")}setup(y){const E=y.context.material,z=this.scope;let ne=null;if(z===ar.COLOR){const ie=E.color!==void 0?this.getColor(z):Xn();E.map&&E.map.isTexture===!0?ne=ie.mul(this.getTexture("map")):ne=ie}else if(z===ar.OPACITY){const ie=this.getFloat(z);E.alphaMap&&E.alphaMap.isTexture===!0?ne=ie.mul(this.getTexture("alpha")):ne=ie}else if(z===ar.SPECULAR_STRENGTH)E.specularMap&&E.specularMap.isTexture===!0?ne=this.getTexture("specular").r:ne=nn(1);else if(z===ar.SPECULAR_INTENSITY){const ie=this.getFloat(z);E.specularIntensityMap&&E.specularIntensityMap.isTexture===!0?ne=ie.mul(this.getTexture(z).a):ne=ie}else if(z===ar.SPECULAR_COLOR){const ie=this.getColor(z);E.specularColorMap&&E.specularColorMap.isTexture===!0?ne=ie.mul(this.getTexture(z).rgb):ne=ie}else if(z===ar.ROUGHNESS){const ie=this.getFloat(z);E.roughnessMap&&E.roughnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).g):ne=ie}else if(z===ar.METALNESS){const ie=this.getFloat(z);E.metalnessMap&&E.metalnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).b):ne=ie}else if(z===ar.EMISSIVE){const ie=this.getFloat("emissiveIntensity"),se=this.getColor(z).mul(ie);E.emissiveMap&&E.emissiveMap.isTexture===!0?ne=se.mul(this.getTexture(z)):ne=se}else if(z===ar.NORMAL)E.normalMap?(ne=xD(this.getTexture("normal"),this.getCache("normalScale","vec2")),ne.normalMapType=E.normalMapType):E.bumpMap?ne=x4(this.getTexture("bump").r,this.getFloat("bumpScale")):ne=ku;else if(z===ar.CLEARCOAT){const ie=this.getFloat(z);E.clearcoatMap&&E.clearcoatMap.isTexture===!0?ne=ie.mul(this.getTexture(z).r):ne=ie}else if(z===ar.CLEARCOAT_ROUGHNESS){const ie=this.getFloat(z);E.clearcoatRoughnessMap&&E.clearcoatRoughnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).r):ne=ie}else if(z===ar.CLEARCOAT_NORMAL)E.clearcoatNormalMap?ne=xD(this.getTexture(z),this.getCache(z+"Scale","vec2")):ne=ku;else if(z===ar.SHEEN){const ie=this.getColor("sheenColor").mul(this.getFloat("sheen"));E.sheenColorMap&&E.sheenColorMap.isTexture===!0?ne=ie.mul(this.getTexture("sheenColor").rgb):ne=ie}else if(z===ar.SHEEN_ROUGHNESS){const ie=this.getFloat(z);E.sheenRoughnessMap&&E.sheenRoughnessMap.isTexture===!0?ne=ie.mul(this.getTexture(z).a):ne=ie,ne=ne.clamp(.07,1)}else if(z===ar.ANISOTROPY)if(E.anisotropyMap&&E.anisotropyMap.isTexture===!0){const ie=this.getTexture(z);ne=k5(CE.x,CE.y,CE.y.negate(),CE.x).mul(ie.rg.mul(2).sub(Er(1)).normalize().mul(ie.b))}else ne=CE;else if(z===ar.IRIDESCENCE_THICKNESS){const ie=lc("1","float",E.iridescenceThicknessRange);if(E.iridescenceThicknessMap){const se=lc("0","float",E.iridescenceThicknessRange);ne=ie.sub(se).mul(this.getTexture(z).g).add(se)}else ne=ie}else if(z===ar.TRANSMISSION){const ie=this.getFloat(z);E.transmissionMap?ne=ie.mul(this.getTexture(z).r):ne=ie}else if(z===ar.THICKNESS){const ie=this.getFloat(z);E.thicknessMap?ne=ie.mul(this.getTexture(z).g):ne=ie}else if(z===ar.IOR)ne=this.getFloat(z);else if(z===ar.LIGHT_MAP)ne=this.getTexture(z).rgb.mul(this.getFloat("lightMapIntensity"));else if(z===ar.AO)ne=this.getTexture(z).r.sub(1).mul(this.getFloat("aoMapIntensity")).add(1);else if(z===ar.LINE_DASH_OFFSET)ne=E.dashOffset?this.getFloat(z):nn(0);else{const ie=this.getNodeType(y);ne=this.getCache(z,ie)}return ne}}ar.ALPHA_TEST="alphaTest",ar.COLOR="color",ar.OPACITY="opacity",ar.SHININESS="shininess",ar.SPECULAR="specular",ar.SPECULAR_STRENGTH="specularStrength",ar.SPECULAR_INTENSITY="specularIntensity",ar.SPECULAR_COLOR="specularColor",ar.REFLECTIVITY="reflectivity",ar.ROUGHNESS="roughness",ar.METALNESS="metalness",ar.NORMAL="normal",ar.CLEARCOAT="clearcoat",ar.CLEARCOAT_ROUGHNESS="clearcoatRoughness",ar.CLEARCOAT_NORMAL="clearcoatNormal",ar.EMISSIVE="emissive",ar.ROTATION="rotation",ar.SHEEN="sheen",ar.SHEEN_ROUGHNESS="sheenRoughness",ar.ANISOTROPY="anisotropy",ar.IRIDESCENCE="iridescence",ar.IRIDESCENCE_IOR="iridescenceIOR",ar.IRIDESCENCE_THICKNESS="iridescenceThickness",ar.IOR="ior",ar.TRANSMISSION="transmission",ar.THICKNESS="thickness",ar.ATTENUATION_DISTANCE="attenuationDistance",ar.ATTENUATION_COLOR="attenuationColor",ar.LINE_SCALE="scale",ar.LINE_DASH_SIZE="dashSize",ar.LINE_GAP_SIZE="gapSize",ar.LINE_WIDTH="linewidth",ar.LINE_DASH_OFFSET="dashOffset",ar.POINT_SIZE="size",ar.DISPERSION="dispersion",ar.LIGHT_MAP="light",ar.AO="ao";const S4=lo(ar,ar.ALPHA_TEST),cB=lo(ar,ar.COLOR),P4=lo(ar,ar.SHININESS),C4=lo(ar,ar.EMISSIVE),hB=lo(ar,ar.OPACITY),E4=lo(ar,ar.SPECULAR),wD=lo(ar,ar.SPECULAR_INTENSITY),b4=lo(ar,ar.SPECULAR_COLOR),rM=lo(ar,ar.SPECULAR_STRENGTH),dB=lo(ar,ar.REFLECTIVITY),M4=lo(ar,ar.ROUGHNESS),B4=lo(ar,ar.METALNESS),T4=lo(ar,ar.NORMAL),D4=lo(ar,ar.CLEARCOAT),F4=lo(ar,ar.CLEARCOAT_ROUGHNESS),L4=lo(ar,ar.CLEARCOAT_NORMAL),N4=lo(ar,ar.ROTATION),I4=lo(ar,ar.SHEEN),R4=lo(ar,ar.SHEEN_ROUGHNESS),O4=lo(ar,ar.ANISOTROPY),k4=lo(ar,ar.IRIDESCENCE),z4=lo(ar,ar.IRIDESCENCE_IOR),H4=lo(ar,ar.IRIDESCENCE_THICKNESS),U4=lo(ar,ar.TRANSMISSION),V4=lo(ar,ar.THICKNESS),j4=lo(ar,ar.IOR),G4=lo(ar,ar.ATTENUATION_DISTANCE),X4=lo(ar,ar.ATTENUATION_COLOR),SD=lo(ar,ar.LINE_SCALE),PD=lo(ar,ar.LINE_DASH_SIZE),CD=lo(ar,ar.LINE_GAP_SIZE),fB=lo(ar,ar.LINE_WIDTH),ED=lo(ar,ar.LINE_DASH_OFFSET),W4=lo(ar,ar.POINT_SIZE),Q4=lo(ar,ar.DISPERSION),bD=lo(ar,ar.LIGHT_MAP),Y4=lo(ar,ar.AO),CE=Us(new ki).onReference(function(ee){return ee.material}).onRenderUpdate(function({material:ee}){this.value.set(ee.anisotropy*Math.cos(ee.anisotropyRotation),ee.anisotropy*Math.sin(ee.anisotropyRotation))}),MD=Kn(ee=>ee.context.setupModelViewProjection(),"vec4").once()().toVarying("v_modelViewProjection");class Xc extends da{static get type(){return"IndexNode"}constructor(y){super("uint"),this.scope=y,this.isIndexNode=!0}generate(y){const E=this.getNodeType(y),z=this.scope;let ne;if(z===Xc.VERTEX)ne=y.getVertexIndex();else if(z===Xc.INSTANCE)ne=y.getInstanceIndex();else if(z===Xc.DRAW)ne=y.getDrawIndex();else if(z===Xc.INVOCATION_LOCAL)ne=y.getInvocationLocalIndex();else if(z===Xc.INVOCATION_SUBGROUP)ne=y.getInvocationSubgroupIndex();else if(z===Xc.SUBGROUP)ne=y.getSubgroupIndex();else throw new Error("THREE.IndexNode: Unknown scope: "+z);let ie;return y.shaderStage==="vertex"||y.shaderStage==="compute"?ie=ne:ie=PA(this).build(y,E),ie}}Xc.VERTEX="vertex",Xc.INSTANCE="instance",Xc.SUBGROUP="subgroup",Xc.INVOCATION_LOCAL="invocationLocal",Xc.INVOCATION_SUBGROUP="invocationSubgroup",Xc.DRAW="draw";const Z4=lo(Xc,Xc.VERTEX),Pw=lo(Xc,Xc.INSTANCE),_X=lo(Xc,Xc.SUBGROUP),$X=lo(Xc,Xc.INVOCATION_SUBGROUP),eW=lo(Xc,Xc.INVOCATION_LOCAL),K4=lo(Xc,Xc.DRAW);class J4 extends da{static get type(){return"InstanceNode"}constructor(y,E,z=null){super("void"),this.count=y,this.instanceMatrix=E,this.instanceColor=z,this.instanceMatrixNode=null,this.instanceColorNode=null,this.updateType=al.FRAME,this.buffer=null,this.bufferColor=null}setup(y){const{count:E,instanceMatrix:z,instanceColor:ne}=this;let{instanceMatrixNode:ie,instanceColorNode:se}=this;if(ie===null){if(E<=1e3)ie=eM(z.array,"mat4",Math.max(E,1)).element(Pw);else{const de=new x2(z.array,16,1);this.buffer=de;const ge=z.usage===Dp?rD:eB,ve=[ge(de,"vec4",16,0),ge(de,"vec4",16,4),ge(de,"vec4",16,8),ge(de,"vec4",16,12)];ie=nP(...ve)}this.instanceMatrixNode=ie}if(ne&&se===null){const de=new _f(ne.array,3),ge=ne.usage===Dp?rD:eB;this.bufferColor=de,se=Xn(ge(de,"vec3",3,0)),this.instanceColorNode=se}const le=ie.mul(qh).xyz;if(qh.assign(le),y.hasGeometryAttribute("normal")){const de=e4(Wp,ie);Wp.assign(de)}this.instanceColorNode!==null&&Om("vec3","vInstanceColor").assign(this.instanceColorNode)}update(){this.instanceMatrix.usage!==Dp&&this.buffer!==null&&this.instanceMatrix.version!==this.buffer.version&&(this.buffer.version=this.instanceMatrix.version),this.instanceColor&&this.instanceColor.usage!==Dp&&this.bufferColor!==null&&this.instanceColor.version!==this.bufferColor.version&&(this.bufferColor.version=this.instanceColor.version)}}const tW=Ar(J4).setParameterLength(2,3);class nW extends J4{static get type(){return"InstancedMeshNode"}constructor(y){const{count:E,instanceMatrix:z,instanceColor:ne}=y;super(E,z,ne),this.instancedMesh=y}}const q4=Ar(nW).setParameterLength(1);class iW extends da{static get type(){return"BatchNode"}constructor(y){super("void"),this.batchMesh=y,this.batchingIdNode=null}setup(y){this.batchingIdNode===null&&(y.getDrawIndex()===null?this.batchingIdNode=Pw:this.batchingIdNode=K4);const z=Kn(([De])=>{const Oe=Mn(ww(Jh(this.batchMesh._indirectTexture),0).x),Re=Mn(De).mod(Oe),Le=Mn(De).div(Oe);return Jh(this.batchMesh._indirectTexture,pf(Re,Le)).x}).setLayout({name:"getIndirectIndex",type:"uint",inputs:[{name:"id",type:"int"}]})(Mn(this.batchingIdNode)),ne=this.batchMesh._matricesTexture,ie=Mn(ww(Jh(ne),0).x),se=nn(z).mul(4).toInt().toVar(),le=se.mod(ie),de=se.div(ie),ge=nP(Jh(ne,pf(le,de)),Jh(ne,pf(le.add(1),de)),Jh(ne,pf(le.add(2),de)),Jh(ne,pf(le.add(3),de))),ve=this.batchMesh._colorsTexture;if(ve!==null){const Oe=Kn(([Re])=>{const Le=Mn(ww(Jh(ve),0).x),Qe=Re,Xe=Qe.mod(Le),Ze=Qe.div(Le);return Jh(ve,pf(Xe,Ze)).rgb}).setLayout({name:"getBatchingColor",type:"vec3",inputs:[{name:"id",type:"int"}]})(z);Om("vec3","vBatchColor").assign(Oe)}const xe=kg(ge);qh.assign(ge.mul(qh));const Se=Wp.div(Xn(xe[0].dot(xe[0]),xe[1].dot(xe[1]),xe[2].dot(xe[2]))),Me=xe.mul(Se).xyz;Wp.assign(Me),y.hasGeometryAttribute("tangent")&&iM.mulAssign(xe)}}const _4=Ar(iW).setParameterLength(1);class rW extends $S{static get type(){return"StorageArrayElementNode"}constructor(y,E){super(y,E),this.isStorageArrayElementNode=!0}set storageBufferNode(y){this.node=y}get storageBufferNode(){return this.node}getMemberType(y,E){const z=this.storageBufferNode.structTypeNode;return z?z.getMemberType(y,E):"void"}setup(y){return y.isAvailable("storageBuffer")===!1&&this.node.isPBO===!0&&y.setupPBO(this.node),super.setup(y)}generate(y,E){let z;const ne=y.context.assign;if(y.isAvailable("storageBuffer")===!1?this.node.isPBO===!0&&ne!==!0&&(this.node.value.isInstancedBufferAttribute||y.shaderStage!=="compute")?z=y.generatePBO(this):z=this.node.build(y):z=super.generate(y),ne!==!0){const ie=this.getNodeType(y);z=y.format(z,ie,E)}return z}}const oW=Ar(rW).setParameterLength(2);class sW extends lD{static get type(){return"StorageBufferNode"}constructor(y,E=null,z=0){let ne,ie=null;E&&E.isStruct?(ne="struct",ie=E.layout,(y.isStorageBufferAttribute||y.isStorageInstancedBufferAttribute)&&(z=y.count)):E===null&&(y.isStorageBufferAttribute||y.isStorageInstancedBufferAttribute)?(ne=m3(y.itemSize),z=y.count):ne=E,super(y,ne,z),this.isStorageBufferNode=!0,this.structTypeNode=ie,this.access=Og.READ_WRITE,this.isAtomic=!1,this.isPBO=!1,this._attribute=null,this._varying=null,this.global=!0,y.isStorageBufferAttribute!==!0&&y.isStorageInstancedBufferAttribute!==!0&&(y.isInstancedBufferAttribute?y.isStorageInstancedBufferAttribute=!0:y.isStorageBufferAttribute=!0)}getHash(y){if(this.bufferCount===0){let E=y.globalCache.getData(this.value);return E===void 0&&(E={node:this},y.globalCache.setData(this.value,E)),E.node.uuid}return this.uuid}getInputType(){return this.value.isIndirectStorageBufferAttribute?"indirectStorageBuffer":"storageBuffer"}element(y){return oW(this,y)}setPBO(y){return this.isPBO=y,this}getPBO(){return this.isPBO}setAccess(y){return this.access=y,this}toReadOnly(){return this.setAccess(Og.READ_ONLY)}setAtomic(y){return this.isAtomic=y,this}toAtomic(){return this.setAtomic(!0)}getAttributeData(){return this._attribute===null&&(this._attribute=_2(this.value),this._varying=PA(this._attribute)),{attribute:this._attribute,varying:this._varying}}getNodeType(y){if(this.structTypeNode!==null)return this.structTypeNode.getNodeType(y);if(y.isAvailable("storageBuffer")||y.isAvailable("indirectStorageBuffer"))return super.getNodeType(y);const{attribute:E}=this.getAttributeData();return E.getNodeType(y)}getMemberType(y,E){return this.structTypeNode!==null?this.structTypeNode.getMemberType(y,E):"void"}generate(y){if(this.structTypeNode!==null&&this.structTypeNode.build(y),y.isAvailable("storageBuffer")||y.isAvailable("indirectStorageBuffer"))return super.generate(y);const{attribute:E,varying:z}=this.getAttributeData(),ne=z.build(y);return y.registerTransform(ne,E),ne}}const lP=(ee,y=null,E=0)=>ir(new sW(ee,y,E)),aW=(ee,y,E)=>(console.warn('THREE.TSL: "storageObject()" is deprecated. Use "storage().setPBO( true )" instead.'),lP(ee,y,E).setPBO(!0)),$4=new WeakMap;class e6 extends da{static get type(){return"SkinningNode"}constructor(y){super("void"),this.skinnedMesh=y,this.updateType=al.OBJECT,this.skinIndexNode=ap("skinIndex","uvec4"),this.skinWeightNode=ap("skinWeight","vec4"),this.bindMatrixNode=lc("bindMatrix","mat4"),this.bindMatrixInverseNode=lc("bindMatrixInverse","mat4"),this.boneMatricesNode=vD("skeleton.boneMatrices","mat4",y.skeleton.bones.length),this.positionNode=qh,this.toPositionNode=qh,this.previousBoneMatricesNode=null}getSkinnedPosition(y=this.boneMatricesNode,E=this.positionNode){const{skinIndexNode:z,skinWeightNode:ne,bindMatrixNode:ie,bindMatrixInverseNode:se}=this,le=y.element(z.x),de=y.element(z.y),ge=y.element(z.z),ve=y.element(z.w),xe=ie.mul(E),Se=Od(le.mul(ne.x).mul(xe),de.mul(ne.y).mul(xe),ge.mul(ne.z).mul(xe),ve.mul(ne.w).mul(xe));return se.mul(Se).xyz}getSkinnedNormal(y=this.boneMatricesNode,E=Wp){const{skinIndexNode:z,skinWeightNode:ne,bindMatrixNode:ie,bindMatrixInverseNode:se}=this,le=y.element(z.x),de=y.element(z.y),ge=y.element(z.z),ve=y.element(z.w);let xe=Od(ne.x.mul(le),ne.y.mul(de),ne.z.mul(ge),ne.w.mul(ve));return xe=se.mul(xe).mul(ie),xe.transformDirection(E).xyz}getPreviousSkinnedPosition(y){const E=y.object;return this.previousBoneMatricesNode===null&&(E.skeleton.previousBoneMatrices=new Float32Array(E.skeleton.boneMatrices),this.previousBoneMatricesNode=vD("skeleton.previousBoneMatrices","mat4",E.skeleton.bones.length)),this.getSkinnedPosition(this.previousBoneMatricesNode,iB)}needsPreviousBoneMatrices(y){const E=y.renderer.getMRT();return E&&E.has("velocity")||A3(y.object).useVelocity===!0}setup(y){this.needsPreviousBoneMatrices(y)&&iB.assign(this.getPreviousSkinnedPosition(y));const E=this.getSkinnedPosition();if(this.toPositionNode&&this.toPositionNode.assign(E),y.hasGeometryAttribute("normal")){const z=this.getSkinnedNormal();Wp.assign(z),y.hasGeometryAttribute("tangent")&&iM.assign(z)}return E}generate(y,E){if(E!=="void")return super.generate(y,E)}update(y){const E=y.object&&y.object.skeleton?y.object.skeleton:this.skinnedMesh.skeleton;$4.get(E)!==y.frameId&&($4.set(E,y.frameId),this.previousBoneMatricesNode!==null&&E.previousBoneMatrices.set(E.boneMatrices),E.update())}}const t6=ee=>ir(new e6(ee)),lW=(ee,y=null)=>{const E=new e6(ee);return E.positionNode=lP(new _f(ee.geometry.getAttribute("position").array,3),"vec3").setPBO(!0).toReadOnly().element(Pw).toVar(),E.skinIndexNode=lP(new _f(new Uint32Array(ee.geometry.getAttribute("skinIndex").array),4),"uvec4").setPBO(!0).toReadOnly().element(Pw).toVar(),E.skinWeightNode=lP(new _f(ee.geometry.getAttribute("skinWeight").array,4),"vec4").setPBO(!0).toReadOnly().element(Pw).toVar(),E.bindMatrixNode=Us(ee.bindMatrix,"mat4"),E.bindMatrixInverseNode=Us(ee.bindMatrixInverse,"mat4"),E.boneMatricesNode=eM(ee.skeleton.boneMatrices,"mat4",ee.skeleton.bones.length),E.toPositionNode=y,ir(E)};class uW extends da{static get type(){return"LoopNode"}constructor(y=[]){super(),this.params=y}getVarName(y){return String.fromCharCode(105+y)}getProperties(y){const E=y.getNodeProperties(this);if(E.stackNode!==void 0)return E;const z={};for(let se=0,le=this.params.length-1;seNumber(Se)?Oe=">=":Oe="<"));let Le;if(ve)Le=`while ( ${Se} )`;else{const Qe={start:xe,end:Se},Xe=Qe.start,Ze=Qe.end;let it;const et=()=>Oe.includes("<")?"+=":"-=";if(Re!=null)switch(typeof Re){case"function":it=y.flowStagesNode(E.updateNode,"void").code.replace(/\t|;/g,"");break;case"number":it=Me+" "+et()+" "+y.generateConst(De,Re);break;case"string":it=Me+" "+Re;break;default:Re.isNode?it=Me+" "+et()+" "+Re.build(y):(console.error("THREE.TSL: 'Loop( { update: ... } )' is not a function, string or number."),it="break /* invalid update */")}else De==="int"||De==="uint"?Re=Oe.includes("<")?"++":"--":Re=et()+" 1.",it=Me+" "+Re;const ht=y.getVar(De,Me)+" = "+Xe,lt=Me+" "+Oe+" "+Ze;Le=`for ( ${ht}; ${lt}; ${it} )`}y.addFlowCode((le===0?` `:"")+y.tab+Le+` { `).addFlowTab()}const ie=ne.build(y,"void"),se=E.returnsNode?E.returnsNode.build(y):"";y.removeFlowTab().addFlowCode(` `+y.tab+ie);for(let le=0,de=this.params.length-1;leir(new lW(tP(ee,"int"))).toStack(),uW=()=>Gx("continue").toStack(),t6=()=>Gx("break").toStack(),BD=new WeakMap,Um=new Ks,n6=Kn(({bufferMap:ee,influence:y,stride:E,width:z,depth:ne,offset:ie})=>{const se=Mn(Y4).mul(E).add(ie),le=se.div(z),de=se.sub(le.mul(z));return Jh(ee,pf(de,le)).depth(ne).xyz.mul(y)});function cW(ee){const y=ee.morphAttributes.position!==void 0,E=ee.morphAttributes.normal!==void 0,z=ee.morphAttributes.color!==void 0,ne=ee.morphAttributes.position||ee.morphAttributes.normal||ee.morphAttributes.color,ie=ne!==void 0?ne.length:0;let se=BD.get(ee);if(se===void 0||se.count!==ie){let Le=function(){Oe.dispose(),BD.delete(ee),ee.removeEventListener("dispose",Le)};se!==void 0&&se.texture.dispose();const le=ee.morphAttributes.position||[],de=ee.morphAttributes.normal||[],ge=ee.morphAttributes.color||[];let ve=0;y===!0&&(ve=1),E===!0&&(ve=2),z===!0&&(ve=3);let xe=ee.attributes.position.count*ve,Se=1;const Me=4096;xe>Me&&(Se=Math.ceil(xe/Me),xe=Me);const De=new Float32Array(xe*Se*4*ie),Oe=new $A(De,xe,Se,ie);Oe.type=wu,Oe.needsUpdate=!0;const Re=ve*4;for(let Qe=0;Qe{const Se=nn(0).toVar();this.mesh.count>1&&this.mesh.morphTexture!==null&&this.mesh.morphTexture!==void 0?Se.assign(Jh(this.mesh.morphTexture,pf(Mn(xe).add(1),Mn(Pw))).r):Se.assign(lc("morphTargetInfluences","float").element(xe).toVar()),Pa(Se.notEqual(0),()=>{z===!0&&qh.addAssign(n6({bufferMap:le,influence:Se,stride:de,width:ve,depth:xe,offset:Mn(0)})),ne===!0&&Wp.addAssign(n6({bufferMap:le,influence:Se,stride:de,width:ve,depth:xe,offset:Mn(1)}))})})}update(){const y=this.morphBaseInfluence;this.mesh.geometry.morphTargetsRelative?y.value=1:y.value=1-this.mesh.morphTargetInfluences.reduce((E,z)=>E+z,0)}}const i6=Ar(hW).setParameterLength(1);class EE extends da{static get type(){return"LightingNode"}constructor(){super("vec3"),this.isLightingNode=!0}}class dW extends EE{static get type(){return"AONode"}constructor(y=null){super(),this.aoNode=y}setup(y){y.context.ambientOcclusion.mulAssign(this.aoNode)}}class fW extends PI{static get type(){return"LightingContextNode"}constructor(y,E=null,z=null,ne=null){super(y),this.lightingModel=E,this.backdropNode=z,this.backdropAlphaNode=ne,this._value=null}getContext(){const{backdropNode:y,backdropAlphaNode:E}=this,z=Xn().toVar("directDiffuse"),ne=Xn().toVar("directSpecular"),ie=Xn().toVar("indirectDiffuse"),se=Xn().toVar("indirectSpecular"),le={directDiffuse:z,directSpecular:ne,indirectDiffuse:ie,indirectSpecular:se};return{radiance:Xn().toVar("radiance"),irradiance:Xn().toVar("irradiance"),iblIrradiance:Xn().toVar("iblIrradiance"),ambientOcclusion:nn(1).toVar("ambientOcclusion"),reflectedLight:le,backdrop:y,backdropAlpha:E}}setup(y){return this.value=this._value||(this._value=this.getContext()),this.value.lightingModel=this.lightingModel||y.context.lightingModel,super.setup(y)}}const r6=Ar(fW);class gW extends EE{static get type(){return"IrradianceNode"}constructor(y){super(),this.node=y}setup(y){y.context.irradiance.addAssign(this.node)}}let oM,sM;class kd extends da{static get type(){return"ScreenNode"}constructor(y){super(),this.scope=y,this.isViewportNode=!0}getNodeType(){return this.scope===kd.VIEWPORT?"vec4":"vec2"}getUpdateType(){let y=al.NONE;return(this.scope===kd.SIZE||this.scope===kd.VIEWPORT)&&(y=al.RENDER),this.updateType=y,y}update({renderer:y}){const E=y.getRenderTarget();this.scope===kd.VIEWPORT?E!==null?sM.copy(E.viewport):(y.getViewport(sM),sM.multiplyScalar(y.getPixelRatio())):E!==null?(oM.width=E.width,oM.height=E.height):y.getDrawingBufferSize(oM)}setup(){const y=this.scope;let E=null;return y===kd.SIZE?E=Us(oM||(oM=new ki)):y===kd.VIEWPORT?E=Us(sM||(sM=new Ks)):E=Er(lM.div(aM)),E}generate(y){if(this.scope===kd.COORDINATE){let E=y.getFragCoord();if(y.isFlipY()){const z=y.getNodeProperties(aM).outputNode.build(y);E=`${y.getType("vec2")}( ${E}.x, ${z}.y - ${E}.y )`}return E}return super.generate(y)}}kd.COORDINATE="coordinate",kd.VIEWPORT="viewport",kd.SIZE="size",kd.UV="uv";const Zx=lo(kd,kd.UV),aM=lo(kd,kd.SIZE),lM=lo(kd,kd.COORDINATE),Kx=lo(kd,kd.VIEWPORT),o6=Kx.zw,s6=lM.sub(Kx.xy),pW=s6.div(o6),mW=Kn(()=>(console.warn('THREE.TSL: "viewportResolution" is deprecated. Use "screenSize" instead.'),aM),"vec2").once()(),uM=new ki;class gB extends CA{static get type(){return"ViewportTextureNode"}constructor(y=Zx,E=null,z=null){z===null&&(z=new tg,z.minFilter=Nc),super(z,y,E),this.generateMipmaps=!1,this.isOutputTextureNode=!0,this.updateBeforeType=al.FRAME}updateBefore(y){const E=y.renderer;E.getDrawingBufferSize(uM);const z=this.value;(z.image.width!==uM.width||z.image.height!==uM.height)&&(z.image.width=uM.width,z.image.height=uM.height,z.needsUpdate=!0);const ne=z.generateMipmaps;z.generateMipmaps=this.generateMipmaps,E.copyFramebufferToTexture(z),z.generateMipmaps=ne}clone(){const y=new this.constructor(this.uvNode,this.levelNode,this.value);return y.generateMipmaps=this.generateMipmaps,y}}const vW=Ar(gB).setParameterLength(0,3),TD=Ar(gB,null,null,{generateMipmaps:!0}).setParameterLength(0,3);let DD=null;class yW extends gB{static get type(){return"ViewportDepthTextureNode"}constructor(y=Zx,E=null){DD===null&&(DD=new Wo),super(y,E,DD)}}const FD=Ar(yW).setParameterLength(0,2);class Qp extends da{static get type(){return"ViewportDepthNode"}constructor(y,E=null){super("float"),this.scope=y,this.valueNode=E,this.isViewportDepthNode=!0}generate(y){const{scope:E}=this;return E===Qp.DEPTH_BASE?y.getFragDepth():super.generate(y)}setup({camera:y}){const{scope:E}=this,z=this.valueNode;let ne=null;if(E===Qp.DEPTH_BASE)z!==null&&(ne=a6().assign(z));else if(E===Qp.DEPTH)y.isPerspectiveCamera?ne=LD(_h.z,Xx,Wx):ne=bE(_h.z,Xx,Wx);else if(E===Qp.LINEAR_DEPTH)if(z!==null)if(y.isPerspectiveCamera){const ie=ND(z,Xx,Wx);ne=bE(ie,Xx,Wx)}else ne=z;else ne=bE(_h.z,Xx,Wx);return ne}}Qp.DEPTH_BASE="depthBase",Qp.DEPTH="depth",Qp.LINEAR_DEPTH="linearDepth";const bE=(ee,y,E)=>ee.add(y).div(y.sub(E)),AW=(ee,y,E)=>y.sub(E).mul(ee).sub(y),LD=(ee,y,E)=>y.add(ee).mul(E).div(E.sub(y).mul(ee)),ND=(ee,y,E)=>y.mul(E).div(E.sub(y).mul(ee).sub(E)),ID=(ee,y,E)=>{y=y.max(1e-6).toVar();const z=yA(ee.negate().div(y)),ne=yA(E.div(y));return z.div(ne)},xW=(ee,y,E)=>{const z=ee.mul(Y5(E.div(y)));return nn(Math.E).pow(z).mul(y).negate()},a6=Ar(Qp,Qp.DEPTH_BASE),RD=lo(Qp,Qp.DEPTH),ME=Ar(Qp,Qp.LINEAR_DEPTH).setParameterLength(0,1),wW=ME(FD());RD.assign=ee=>a6(ee);class rv extends da{static get type(){return"ClippingNode"}constructor(y=rv.DEFAULT){super(),this.scope=y}setup(y){super.setup(y);const E=y.clippingContext,{intersectionPlanes:z,unionPlanes:ne}=E;return this.hardwareClipping=y.material.hardwareClipping,this.scope===rv.ALPHA_TO_COVERAGE?this.setupAlphaToCoverage(z,ne):this.scope===rv.HARDWARE?this.setupHardwareClipping(ne,y):this.setupDefault(z,ne)}setupAlphaToCoverage(y,E){return Kn(()=>{const z=nn().toVar("distanceToPlane"),ne=nn().toVar("distanceToGradient"),ie=nn(1).toVar("clipOpacity"),se=E.length;if(this.hardwareClipping===!1&&se>0){const de=ev(E);zu(se,({i:ge})=>{const ve=de.element(ge);z.assign(_h.dot(ve.xyz).negate().add(ve.w)),ne.assign(z.fwidth().div(2)),ie.mulAssign($0(ne.negate(),ne,z))})}const le=y.length;if(le>0){const de=ev(y),ge=nn(1).toVar("intersectionClipOpacity");zu(le,({i:ve})=>{const xe=de.element(ve);z.assign(_h.dot(xe.xyz).negate().add(xe.w)),ne.assign(z.fwidth().div(2)),ge.mulAssign($0(ne.negate(),ne,z).oneMinus())}),ie.mulAssign(ge.oneMinus())}vu.a.mulAssign(ie),vu.a.equal(0).discard()})()}setupDefault(y,E){return Kn(()=>{const z=E.length;if(this.hardwareClipping===!1&&z>0){const ie=ev(E);zu(z,({i:se})=>{const le=ie.element(se);_h.dot(le.xyz).greaterThan(le.w).discard()})}const ne=y.length;if(ne>0){const ie=ev(y),se=mA(!0).toVar("clipped");zu(ne,({i:le})=>{const de=ie.element(le);se.assign(_h.dot(de.xyz).greaterThan(de.w).and(se))}),se.discard()}})()}setupHardwareClipping(y,E){const z=y.length;return E.enableHardwareClipping(z),Kn(()=>{const ne=ev(y),ie=tM(E.getClipDistance());zu(z,({i:se})=>{const le=ne.element(se),de=_h.dot(le.xyz).sub(le.w).negate();ie.element(se).assign(de)})})()}}rv.ALPHA_TO_COVERAGE="alphaToCoverage",rv.DEFAULT="default",rv.HARDWARE="hardware";const SW=()=>ir(new rv),PW=()=>ir(new rv(rv.ALPHA_TO_COVERAGE)),CW=()=>ir(new rv(rv.HARDWARE)),EW=.05,l6=Kn(([ee])=>Vx(il(1e4,km(il(17,ee.x).add(il(.1,ee.y)))).mul(Od(.1,xc(km(il(13,ee.y).add(ee.x))))))),u6=Kn(([ee])=>l6(Er(l6(ee.xy),ee.z))),bW=Kn(([ee])=>{const y=Th(wA(Y3(ee.xyz)),wA(Z3(ee.xyz))),E=nn(1).div(nn(EW).mul(y)).toVar("pixScale"),z=Er(AE(xA(yA(E))),AE(Z5(yA(E)))),ne=Er(u6(xA(z.x.mul(ee.xyz))),u6(xA(z.y.mul(ee.xyz)))),ie=Vx(yA(E)),se=Od(il(ie.oneMinus(),ne.x),il(ie,ne.y)),le=Xp(ie,ie.oneMinus()),de=Xn(se.mul(se).div(il(2,le).mul(Wl(1,le))),se.sub(il(.5,le)).div(Wl(1,le)),Wl(1,Wl(1,se).mul(Wl(1,se)).div(il(2,le).mul(Wl(1,le))))),ge=se.lessThan(le.oneMinus()).select(se.lessThan(le).select(de.x,de.y),de.z);return SA(ge,1e-6,1)}).setLayout({name:"getAlphaHashThreshold",type:"float",inputs:[{name:"position",type:"vec3"}]});class MW extends XI{static get type(){return"VertexColorNode"}constructor(y){super(null,"vec4"),this.isVertexColorNode=!0,this.index=y}getAttributeName(){const y=this.index;return"color"+(y>0?y:"")}generate(y){const E=this.getAttributeName(y),z=y.hasGeometryAttribute(E);let ne;return z===!0?ne=super.generate(y):ne=y.generateConst(this.nodeType,new Ks(1,1,1,1)),ne}serialize(y){super.serialize(y),y.index=this.index}deserialize(y){super.deserialize(y),this.index=y.index}}const c6=(ee=0)=>ir(new MW(ee)),h6=Kn(([ee,y])=>Xp(1,ee.oneMinus().div(y)).oneMinus()).setLayout({name:"blendBurn",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),d6=Kn(([ee,y])=>Xp(ee.div(y.oneMinus()),1)).setLayout({name:"blendDodge",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),f6=Kn(([ee,y])=>ee.oneMinus().mul(y.oneMinus()).oneMinus()).setLayout({name:"blendScreen",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),g6=Kn(([ee,y])=>yu(ee.mul(2).mul(y),ee.oneMinus().mul(2).mul(y.oneMinus()).oneMinus(),K5(.5,ee))).setLayout({name:"blendOverlay",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),BW=Kn(([ee,y])=>{const E=y.a.add(ee.a.mul(y.a.oneMinus()));return Qo(y.rgb.mul(y.a).add(ee.rgb.mul(ee.a).mul(y.a.oneMinus())).div(E),E)}).setLayout({name:"blendColor",type:"vec4",inputs:[{name:"base",type:"vec4"},{name:"blend",type:"vec4"}]}),p6=Kn(([ee])=>Qo(ee.rgb.mul(ee.a),ee.a),{color:"vec4",return:"vec4"}),TW=Kn(([ee])=>(Pa(ee.a.equal(0),()=>Qo(0)),Qo(ee.rgb.div(ee.a),ee.a)),{color:"vec4",return:"vec4"}),DW=(...ee)=>(console.warn('THREE.TSL: "burn" has been renamed. Use "blendBurn" instead.'),h6(ee)),FW=(...ee)=>(console.warn('THREE.TSL: "dodge" has been renamed. Use "blendDodge" instead.'),d6(ee)),LW=(...ee)=>(console.warn('THREE.TSL: "screen" has been renamed. Use "blendScreen" instead.'),f6(ee)),NW=(...ee)=>(console.warn('THREE.TSL: "overlay" has been renamed. Use "blendOverlay" instead.'),g6(ee));class Dh extends rf{static get type(){return"NodeMaterial"}get type(){return this.constructor.type}set type(y){}constructor(){super(),this.isNodeMaterial=!0,this.fog=!0,this.lights=!1,this.hardwareClipping=!1,this.lightsNode=null,this.envNode=null,this.aoNode=null,this.colorNode=null,this.normalNode=null,this.opacityNode=null,this.backdropNode=null,this.backdropAlphaNode=null,this.alphaTestNode=null,this.maskNode=null,this.positionNode=null,this.geometryNode=null,this.depthNode=null,this.receivedShadowPositionNode=null,this.castShadowPositionNode=null,this.receivedShadowNode=null,this.castShadowNode=null,this.outputNode=null,this.mrtNode=null,this.fragmentNode=null,this.vertexNode=null,Object.defineProperty(this,"shadowPositionNode",{get:()=>this.receivedShadowPositionNode,set:y=>{console.warn('THREE.NodeMaterial: ".shadowPositionNode" was renamed to ".receivedShadowPositionNode".'),this.receivedShadowPositionNode=y}})}customProgramCacheKey(){return this.type+p3(this)}build(y){this.setup(y)}setupObserver(y){return new hG(y)}setup(y){y.context.setupNormal=()=>xE(this.setupNormal(y),"NORMAL","vec3"),y.context.setupPositionView=()=>this.setupPositionView(y),y.context.setupModelViewProjection=()=>this.setupModelViewProjection(y);const E=y.renderer,z=E.getRenderTarget();y.addStack();const ne=xE(this.setupVertex(y),"VERTEX"),ie=this.vertexNode||ne;y.stack.outputNode=ie,this.setupHardwareClipping(y),this.geometryNode!==null&&(y.stack.outputNode=y.stack.outputNode.bypass(this.geometryNode)),y.addFlow("vertex",y.removeStack()),y.addStack();let se;const le=this.setupClipping(y);if((this.depthWrite===!0||this.depthTest===!0)&&(z!==null?z.depthBuffer===!0&&this.setupDepth(y):E.depth===!0&&this.setupDepth(y)),this.fragmentNode===null){this.setupDiffuseColor(y),this.setupVariants(y);const de=this.setupLighting(y);le!==null&&y.stack.add(le);const ge=Qo(de,vu.a).max(0);se=this.setupOutput(y,ge),yE.assign(se);const ve=this.outputNode!==null;if(ve&&(se=this.outputNode),z!==null){const xe=E.getMRT(),Se=this.mrtNode;xe!==null?(ve&&yE.assign(se),se=xe,Se!==null&&(se=xe.merge(Se))):Se!==null&&(se=Se)}}else{let de=this.fragmentNode;de.isOutputStructNode!==!0&&(de=Qo(de)),se=this.setupOutput(y,de)}y.stack.outputNode=se,y.addFlow("fragment",y.removeStack()),y.observer=this.setupObserver(y)}setupClipping(y){if(y.clippingContext===null)return null;const{unionPlanes:E,intersectionPlanes:z}=y.clippingContext;let ne=null;if(E.length>0||z.length>0){const ie=y.renderer.samples;this.alphaToCoverage&&ie>1?ne=PW():y.stack.add(SW())}return ne}setupHardwareClipping(y){if(this.hardwareClipping=!1,y.clippingContext===null)return;const E=y.clippingContext.unionPlanes.length;E>0&&E<=8&&y.isAvailable("clipDistance")&&(y.stack.add(CW()),this.hardwareClipping=!0)}setupDepth(y){const{renderer:E,camera:z}=y;let ne=this.depthNode;if(ne===null){const ie=E.getMRT();ie&&ie.has("depth")?ne=ie.get("depth"):E.logarithmicDepthBuffer===!0&&(z.isPerspectiveCamera?ne=ID(_h.z,Xx,Wx):ne=bE(_h.z,Xx,Wx))}ne!==null&&RD.assign(ne).toStack()}setupPositionView(){return Qx.mul(qh).xyz}setupModelViewProjection(){return zm.mul(_h)}setupVertex(y){return y.addStack(),this.setupPosition(y),y.context.vertex=y.removeStack(),MD}setupPosition(y){const{object:E,geometry:z}=y;if((z.morphAttributes.position||z.morphAttributes.normal||z.morphAttributes.color)&&i6(E).toStack(),E.isSkinnedMesh===!0&&e6(E).toStack(),this.displacementMap){const ne=Yx("displacementMap","texture"),ie=Yx("displacementScale","float"),se=Yx("displacementBias","float");qh.addAssign(Wp.normalize().mul(ne.x.mul(ie).add(se)))}return E.isBatchedMesh&&q4(E).toStack(),E.isInstancedMesh&&E.instanceMatrix&&E.instanceMatrix.isInstancedBufferAttribute===!0&&J4(E).toStack(),this.positionNode!==null&&qh.assign(xE(this.positionNode,"POSITION","vec3")),qh}setupDiffuseColor({object:y,geometry:E}){this.maskNode!==null&&mA(this.maskNode).not().discard();let z=this.colorNode?Qo(this.colorNode):cB;this.vertexColors===!0&&E.hasAttribute("color")&&(z=z.mul(c6())),y.instanceColor&&(z=Om("vec3","vInstanceColor").mul(z)),y.isBatchedMesh&&y._colorsTexture&&(z=Om("vec3","vBatchColor").mul(z)),vu.assign(z);const ne=this.opacityNode?nn(this.opacityNode):hB;vu.a.assign(vu.a.mul(ne));let ie=null;(this.alphaTestNode!==null||this.alphaTest>0)&&(ie=this.alphaTestNode!==null?nn(this.alphaTestNode):w4,vu.a.lessThanEqual(ie).discard()),this.alphaHash===!0&&vu.a.lessThan(bW(qh)).discard(),this.transparent===!1&&this.blending===Eh&&this.alphaToCoverage===!1?vu.a.assign(1):ie===null&&vu.a.lessThanEqual(0).discard()}setupVariants(){}setupOutgoingLight(){return this.lights===!0?Xn(0):vu.rgb}setupNormal(){return this.normalNode?Xn(this.normalNode):B4}setupEnvironment(){let y=null;return this.envNode?y=this.envNode:this.envMap&&(y=this.envMap.isCubeTexture?Yx("envMap","cubeTexture"):Yx("envMap","texture")),y}setupLightMap(y){let E=null;return y.material.lightMap&&(E=new gW(bD)),E}setupLights(y){const E=[],z=this.setupEnvironment(y);z&&z.isLightingNode&&E.push(z);const ne=this.setupLightMap(y);if(ne&&ne.isLightingNode&&E.push(ne),this.aoNode!==null||y.material.aoMap){const se=this.aoNode!==null?this.aoNode:Q4;E.push(new dW(se))}let ie=this.lightsNode||y.lightsNode;return E.length>0&&(ie=y.renderer.lighting.createNode([...ie.getLights(),...E])),ie}setupLightingModel(){}setupLighting(y){const{material:E}=y,{backdropNode:z,backdropAlphaNode:ne,emissiveNode:ie}=this,le=this.lights===!0||this.lightsNode!==null?this.setupLights(y):null;let de=this.setupOutgoingLight(y);if(le&&le.getScope().hasLights){const ge=this.setupLightingModel(y)||null;de=r6(le,ge,z,ne)}else z!==null&&(de=Xn(ne!==null?yu(de,z,ne):z));return(ie&&ie.isNode===!0||E.emissive&&E.emissive.isColor===!0)&&(N3.assign(Xn(ie||P4)),de=de.add(N3)),de}setupFog(y,E){const z=y.fogNode;return z&&(yE.assign(E),E=Qo(z)),E}setupPremultipliedAlpha(y,E){return p6(E)}setupOutput(y,E){return this.fog===!0&&(E=this.setupFog(y,E)),this.premultipliedAlpha===!0&&(E=this.setupPremultipliedAlpha(y,E)),E}setDefaultValues(y){for(const z in y){const ne=y[z];this[z]===void 0&&(this[z]=ne,ne&&ne.clone&&(this[z]=ne.clone()))}const E=Object.getOwnPropertyDescriptors(y.constructor.prototype);for(const z in E)Object.getOwnPropertyDescriptor(this.constructor.prototype,z)===void 0&&E[z].get!==void 0&&Object.defineProperty(this.constructor.prototype,z,E[z])}toJSON(y){const E=y===void 0||typeof y=="string";E&&(y={textures:{},images:{},nodes:{}});const z=rf.prototype.toJSON.call(this,y),ne=z2(this);z.inputNodes={};for(const{property:se,childNode:le}of ne)z.inputNodes[se]=le.toJSON(y).uuid;function ie(se){const le=[];for(const de in se){const ge=se[de];delete ge.metadata,le.push(ge)}return le}if(E){const se=ie(y.textures),le=ie(y.images),de=ie(y.nodes);se.length>0&&(z.textures=se),le.length>0&&(z.images=le),de.length>0&&(z.nodes=de)}return z}copy(y){return this.lightsNode=y.lightsNode,this.envNode=y.envNode,this.colorNode=y.colorNode,this.normalNode=y.normalNode,this.opacityNode=y.opacityNode,this.backdropNode=y.backdropNode,this.backdropAlphaNode=y.backdropAlphaNode,this.alphaTestNode=y.alphaTestNode,this.maskNode=y.maskNode,this.positionNode=y.positionNode,this.geometryNode=y.geometryNode,this.depthNode=y.depthNode,this.receivedShadowPositionNode=y.receivedShadowPositionNode,this.castShadowPositionNode=y.castShadowPositionNode,this.receivedShadowNode=y.receivedShadowNode,this.castShadowNode=y.castShadowNode,this.outputNode=y.outputNode,this.mrtNode=y.mrtNode,this.fragmentNode=y.fragmentNode,this.vertexNode=y.vertexNode,super.copy(y)}}const IW=new Fd;class RW extends Dh{static get type(){return"LineBasicNodeMaterial"}constructor(y){super(),this.isLineBasicNodeMaterial=!0,this.setDefaultValues(IW),this.setValues(y)}}const OW=new nw;class kW extends Dh{static get type(){return"LineDashedNodeMaterial"}constructor(y){super(),this.isLineDashedNodeMaterial=!0,this.setDefaultValues(OW),this.dashOffset=0,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.setValues(y)}setupVariants(){const y=this.offsetNode?nn(this.offsetNode):ED,E=this.dashScaleNode?nn(this.dashScaleNode):SD,z=this.dashSizeNode?nn(this.dashSizeNode):PD,ne=this.gapSizeNode?nn(this.gapSizeNode):CD;oP.assign(z),Z2.assign(ne);const ie=PA(ap("lineDistance").mul(E));(y?ie.add(y):ie).mod(oP.add(Z2)).greaterThan(oP).discard()}}let OD=null;class zW extends gB{static get type(){return"ViewportSharedTextureNode"}constructor(y=Zx,E=null){OD===null&&(OD=new tg),super(y,E,OD)}updateReference(){return this}}const m6=Ar(zW).setParameterLength(0,2),HW=new nw;class Xse extends null{static get type(){return"Line2NodeMaterial"}constructor(y={}){super(),this.isLine2NodeMaterial=!0,this.setDefaultValues(HW),this.useColor=y.vertexColors,this.dashOffset=0,this.lineWidth=1,this.lineColorNode=null,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.blending=NoBlending,this._useDash=y.dashed,this._useAlphaToCoverage=!0,this._useWorldUnits=!1,this.setValues(y)}setup(y){const{renderer:E}=y,z=this._useAlphaToCoverage,ne=this.useColor,ie=this._useDash,se=this._useWorldUnits,le=Kn(({start:ge,end:ve})=>{const xe=zm.element(2).element(2),De=zm.element(3).element(2).mul(-.5).div(xe).sub(ge.z).div(ve.z.sub(ge.z));return Qo(yu(ge.xyz,ve.xyz,De),ve.w)}).setLayout({name:"trimSegment",type:"vec4",inputs:[{name:"start",type:"vec4"},{name:"end",type:"vec4"}]});this.vertexNode=Kn(()=>{const ge=ap("instanceStart"),ve=ap("instanceEnd"),xe=Qo(Qx.mul(Qo(ge,1))).toVar("start"),Se=Qo(Qx.mul(Qo(ve,1))).toVar("end");if(ie){const it=this.dashScaleNode?nn(this.dashScaleNode):SD,et=this.offsetNode?nn(this.offsetNode):ED,ht=ap("instanceDistanceStart"),lt=ap("instanceDistanceEnd");let ot=lg.y.lessThan(.5).select(it.mul(ht),it.mul(lt));ot=ot.add(et),Om("float","lineDistance").assign(ot)}se&&(Om("vec3","worldStart").assign(xe.xyz),Om("vec3","worldEnd").assign(Se.xyz));const Me=Kx.z.div(Kx.w),De=zm.element(2).element(3).equal(-1);Pa(De,()=>{Pa(xe.z.lessThan(0).and(Se.z.greaterThan(0)),()=>{Se.assign(le({start:xe,end:Se}))}).ElseIf(Se.z.lessThan(0).and(xe.z.greaterThanEqual(0)),()=>{xe.assign(le({start:Se,end:xe}))})});const Oe=zm.mul(xe),Re=zm.mul(Se),Le=Oe.xyz.div(Oe.w),Qe=Re.xyz.div(Re.w),Xe=Qe.xy.sub(Le.xy).toVar();Xe.x.assign(Xe.x.mul(Me)),Xe.assign(Xe.normalize());const Ze=Qo().toVar();if(se){const it=Se.xyz.sub(xe.xyz).normalize(),et=yu(xe.xyz,Se.xyz,.5).normalize(),ht=it.cross(et).normalize(),lt=it.cross(ht),ot=Om("vec4","worldPos");ot.assign(lg.y.lessThan(.5).select(xe,Se));const rt=fB.mul(.5);ot.addAssign(Qo(lg.x.lessThan(0).select(ht.mul(rt),ht.mul(rt).negate()),0)),ie||(ot.addAssign(Qo(lg.y.lessThan(.5).select(it.mul(rt).negate(),it.mul(rt)),0)),ot.addAssign(Qo(lt.mul(rt),0)),Pa(lg.y.greaterThan(1).or(lg.y.lessThan(0)),()=>{ot.subAssign(Qo(lt.mul(2).mul(rt),0))})),Ze.assign(zm.mul(ot));const Mt=Xn().toVar();Mt.assign(lg.y.lessThan(.5).select(Le,Qe)),Ze.z.assign(Mt.z.mul(Ze.w))}else{const it=Er(Xe.y,Xe.x.negate()).toVar("offset");Xe.x.assign(Xe.x.div(Me)),it.x.assign(it.x.div(Me)),it.assign(lg.x.lessThan(0).select(it.negate(),it)),Pa(lg.y.lessThan(0),()=>{it.assign(it.sub(Xe))}).ElseIf(lg.y.greaterThan(1),()=>{it.assign(it.add(Xe))}),it.assign(it.mul(fB)),it.assign(it.div(Kx.w)),Ze.assign(lg.y.lessThan(.5).select(Oe,Re)),it.assign(it.mul(Ze.w)),Ze.assign(Ze.add(Qo(it,0,0)))}return Ze})();const de=Kn(({p1:ge,p2:ve,p3:xe,p4:Se})=>{const Me=ge.sub(xe),De=Se.sub(xe),Oe=ve.sub(ge),Re=Me.dot(De),Le=De.dot(Oe),Qe=Me.dot(Oe),Xe=De.dot(De),it=Oe.dot(Oe).mul(Xe).sub(Le.mul(Le)),ht=Re.mul(Le).sub(Qe.mul(Xe)).div(it).clamp(),lt=Re.add(Le.mul(ht)).div(Xe).clamp();return Er(ht,lt)});if(this.colorNode=Kn(()=>{const ge=wc();if(ie){const Se=this.dashSizeNode?nn(this.dashSizeNode):PD,Me=this.gapSizeNode?nn(this.gapSizeNode):CD;oP.assign(Se),Z2.assign(Me);const De=Om("float","lineDistance");ge.y.lessThan(-1).or(ge.y.greaterThan(1)).discard(),De.mod(oP.add(Z2)).greaterThan(oP).discard()}const ve=nn(1).toVar("alpha");if(se){const Se=Om("vec3","worldStart"),Me=Om("vec3","worldEnd"),De=Om("vec4","worldPos").xyz.normalize().mul(1e5),Oe=Me.sub(Se),Re=de({p1:Se,p2:Me,p3:Xn(0,0,0),p4:De}),Le=Se.add(Oe.mul(Re.x)),Qe=De.mul(Re.y),it=Le.sub(Qe).length().div(fB);if(!ie)if(z&&E.samples>1){const et=it.fwidth();ve.assign($0(et.negate().add(.5),et.add(.5),it).oneMinus())}else it.greaterThan(.5).discard()}else if(z&&E.samples>1){const Se=ge.x,Me=ge.y.greaterThan(0).select(ge.y.sub(1),ge.y.add(1)),De=Se.mul(Se).add(Me.mul(Me)),Oe=nn(De.fwidth()).toVar("dlen");Pa(ge.y.abs().greaterThan(1),()=>{ve.assign($0(Oe.oneMinus(),Oe.add(1),De).oneMinus())})}else Pa(ge.y.abs().greaterThan(1),()=>{const Se=ge.x,Me=ge.y.greaterThan(0).select(ge.y.sub(1),ge.y.add(1));Se.mul(Se).add(Me.mul(Me)).greaterThan(1).discard()});let xe;if(this.lineColorNode)xe=this.lineColorNode;else if(ne){const Se=ap("instanceColorStart"),Me=ap("instanceColorEnd");xe=lg.y.lessThan(.5).select(Se,Me).mul(cB)}else xe=cB;return Qo(xe,ve)})(),this.transparent){const ge=this.opacityNode?nn(this.opacityNode):hB;this.outputNode=Qo(this.colorNode.rgb.mul(ge).add(m6().rgb.mul(ge.oneMinus())),this.colorNode.a)}super.setup(y)}get worldUnits(){return this._useWorldUnits}set worldUnits(y){this._useWorldUnits!==y&&(this._useWorldUnits=y,this.needsUpdate=!0)}get dashed(){return this._useDash}set dashed(y){this._useDash!==y&&(this._useDash=y,this.needsUpdate=!0)}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(y){this._useAlphaToCoverage!==y&&(this._useAlphaToCoverage=y,this.needsUpdate=!0)}}const v6=ee=>ir(ee).mul(.5).add(.5),UW=ee=>ir(ee).mul(2).sub(1),VW=new f5;class jW extends Dh{static get type(){return"MeshNormalNodeMaterial"}constructor(y){super(),this.isMeshNormalNodeMaterial=!0,this.setDefaultValues(VW),this.setValues(y)}setupDiffuseColor(){const y=this.opacityNode?nn(this.opacityNode):hB;vu.assign($5(Qo(v6(ku),y),Pn))}}const kD=Kn(([ee=hD])=>{const y=ee.z.atan(ee.x).mul(1/(Math.PI*2)).add(.5),E=ee.y.clamp(-1,1).asin().mul(1/Math.PI).add(.5);return Er(y,E)});class y6 extends Rb{constructor(y=1,E={}){super(y,E),this.isCubeRenderTarget=!0}fromEquirectangularTexture(y,E){const z=E.minFilter,ne=E.generateMipmaps;E.generateMipmaps=!0,this.texture.type=E.type,this.texture.colorSpace=E.colorSpace,this.texture.generateMipmaps=E.generateMipmaps,this.texture.minFilter=E.minFilter,this.texture.magFilter=E.magFilter;const ie=new Ov(5,5,5),se=kD(hD),le=new Dh;le.colorNode=Dl(E,se,0),le.side=au,le.blending=eu;const de=new lu(ie,le),ge=new Xy;ge.add(de),E.minFilter===Nc&&(E.minFilter=tu);const ve=new fi(1,10,this),xe=y.getMRT();return y.setMRT(null),ve.update(y,ge),y.setMRT(xe),E.minFilter=z,E.currentGenerateMipmaps=ne,de.geometry.dispose(),de.material.dispose(),this}}const cM=new WeakMap;class GW extends Id{static get type(){return"CubeMapNode"}constructor(y){super("vec3"),this.envNode=y,this._cubeTexture=null,this._cubeTextureNode=PE(null);const E=new Lf;E.isRenderTargetTexture=!0,this._defaultTexture=E,this.updateBeforeType=al.RENDER}updateBefore(y){const{renderer:E,material:z}=y,ne=this.envNode;if(ne.isTextureNode||ne.isMaterialReferenceNode){const ie=ne.isTextureNode?ne.value:z[ne.property];if(ie&&ie.isTexture){const se=ie.mapping;if(se===Lc||se===rm){if(cM.has(ie)){const le=cM.get(ie);x6(le,ie.mapping),this._cubeTexture=le}else{const le=ie.image;if(XW(le)){const de=new y6(le.height);de.fromEquirectangularTexture(E,ie),x6(de.texture,ie.mapping),this._cubeTexture=de.texture,cM.set(ie,de.texture),ie.addEventListener("dispose",A6)}else this._cubeTexture=this._defaultTexture}this._cubeTextureNode.value=this._cubeTexture}else this._cubeTextureNode=this.envNode}}}setup(y){return this.updateBefore(y),this._cubeTextureNode}}function XW(ee){return ee==null?!1:ee.height>0}function A6(ee){const y=ee.target;y.removeEventListener("dispose",A6);const E=cM.get(y);E!==void 0&&(cM.delete(y),E.dispose())}function x6(ee,y){y===Lc?ee.mapping=Jd:y===rm&&(ee.mapping=qd)}const w6=Ar(GW).setParameterLength(1);class zD extends EE{static get type(){return"BasicEnvironmentNode"}constructor(y=null){super(),this.envNode=y}setup(y){y.context.environment=w6(this.envNode)}}class WW extends EE{static get type(){return"BasicLightMapNode"}constructor(y=null){super(),this.lightMapNode=y}setup(y){const E=nn(1/Math.PI);y.context.irradianceLightMap=this.lightMapNode.mul(E)}}class pB{start(y){y.lightsNode.setupLights(y,y.lightsNode.getLightNodes(y)),this.indirect(y)}finish(){}direct(){}directRectArea(){}indirect(){}ambientOcclusion(){}}class S6 extends pB{constructor(){super()}indirect({context:y}){const E=y.ambientOcclusion,z=y.reflectedLight,ne=y.irradianceLightMap;z.indirectDiffuse.assign(Qo(0)),ne?z.indirectDiffuse.addAssign(ne):z.indirectDiffuse.addAssign(Qo(1,1,1,0)),z.indirectDiffuse.mulAssign(E),z.indirectDiffuse.mulAssign(vu.rgb)}finish(y){const{material:E,context:z}=y,ne=z.outgoingLight,ie=y.context.environment;if(ie)switch(E.combine){case WA:ne.rgb.assign(yu(ne.rgb,ne.rgb.mul(ie.rgb),rM.mul(dB)));break;case nh:ne.rgb.assign(yu(ne.rgb,ie.rgb,rM.mul(dB)));break;case by:ne.rgb.addAssign(ie.rgb.mul(rM.mul(dB)));break;default:console.warn("THREE.BasicLightingModel: Unsupported .combine value:",E.combine);break}}}const QW=new Vh;class YW extends Dh{static get type(){return"MeshBasicNodeMaterial"}constructor(y){super(),this.isMeshBasicNodeMaterial=!0,this.lights=!0,this.setDefaultValues(QW),this.setValues(y)}setupNormal(){return wE(SE)}setupEnvironment(y){const E=super.setupEnvironment(y);return E?new zD(E):null}setupLightMap(y){let E=null;return y.material.lightMap&&(E=new WW(bD)),E}setupOutgoingLight(){return vu.rgb}setupLightingModel(){return new S6}}const BE=Kn(({f0:ee,f90:y,dotVH:E})=>{const z=E.mul(-5.55473).sub(6.98316).mul(E).exp2();return ee.mul(z.oneMinus()).add(y.mul(z))}),uP=Kn(ee=>ee.diffuseColor.mul(1/Math.PI)),ZW=()=>nn(.25),KW=Kn(({dotNH:ee})=>j5.mul(nn(.5)).add(1).mul(nn(1/Math.PI)).mul(ee.pow(j5))),JW=Kn(({lightDirection:ee})=>{const y=ee.add(Bc).normalize(),E=ku.dot(y).clamp(),z=Bc.dot(y).clamp(),ne=BE({f0:Gp,f90:1,dotVH:z}),ie=ZW(),se=KW({dotNH:E});return ne.mul(ie).mul(se)});class P6 extends S6{constructor(y=!0){super(),this.specular=y}direct({lightDirection:y,lightColor:E,reflectedLight:z}){const ie=ku.dot(y).clamp().mul(E);z.directDiffuse.addAssign(ie.mul(uP({diffuseColor:vu.rgb}))),this.specular===!0&&z.directSpecular.addAssign(ie.mul(JW({lightDirection:y})).mul(rM))}indirect(y){const{ambientOcclusion:E,irradiance:z,reflectedLight:ne}=y.context;ne.indirectDiffuse.addAssign(z.mul(uP({diffuseColor:vu}))),ne.indirectDiffuse.mulAssign(E)}}const qW=new NC;class _W extends Dh{static get type(){return"MeshLambertNodeMaterial"}constructor(y){super(),this.isMeshLambertNodeMaterial=!0,this.lights=!0,this.setDefaultValues(qW),this.setValues(y)}setupEnvironment(y){const E=super.setupEnvironment(y);return E?new zD(E):null}setupLightingModel(){return new P6(!1)}}const $W=new LC;class eQ extends Dh{static get type(){return"MeshPhongNodeMaterial"}constructor(y){super(),this.isMeshPhongNodeMaterial=!0,this.lights=!0,this.shininessNode=null,this.specularNode=null,this.setDefaultValues($W),this.setValues(y)}setupEnvironment(y){const E=super.setupEnvironment(y);return E?new zD(E):null}setupLightingModel(){return new P6}setupVariants(){const y=(this.shininessNode?nn(this.shininessNode):S4).max(1e-4);j5.assign(y);const E=this.specularNode||C4;Gp.assign(E)}copy(y){return this.shininessNode=y.shininessNode,this.specularNode=y.specularNode,super.copy(y)}}const C6=Kn(ee=>{if(ee.geometry.hasAttribute("normal")===!1)return nn(0);const y=SE.dFdx().abs().max(SE.dFdy().abs());return y.x.max(y.y).max(y.z)}),HD=Kn(ee=>{const{roughness:y}=ee,E=C6();let z=y.max(.0525);return z=z.add(E),z=z.min(1),z}),E6=Kn(({alpha:ee,dotNL:y,dotNV:E})=>{const z=ee.pow2(),ne=y.mul(z.add(z.oneMinus().mul(E.pow2())).sqrt()),ie=E.mul(z.add(z.oneMinus().mul(y.pow2())).sqrt());return _0(.5,ne.add(ie).max(q8))}).setLayout({name:"V_GGX_SmithCorrelated",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNL",type:"float"},{name:"dotNV",type:"float"}]}),tQ=Kn(({alphaT:ee,alphaB:y,dotTV:E,dotBV:z,dotTL:ne,dotBL:ie,dotNV:se,dotNL:le})=>{const de=le.mul(Xn(ee.mul(E),y.mul(z),se).length()),ge=se.mul(Xn(ee.mul(ne),y.mul(ie),le).length());return _0(.5,de.add(ge)).saturate()}).setLayout({name:"V_GGX_SmithCorrelated_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotTV",type:"float",qualifier:"in"},{name:"dotBV",type:"float",qualifier:"in"},{name:"dotTL",type:"float",qualifier:"in"},{name:"dotBL",type:"float",qualifier:"in"},{name:"dotNV",type:"float",qualifier:"in"},{name:"dotNL",type:"float",qualifier:"in"}]}),b6=Kn(({alpha:ee,dotNH:y})=>{const E=ee.pow2(),z=y.pow2().mul(E.oneMinus()).oneMinus();return E.div(z.pow2()).mul(1/Math.PI)}).setLayout({name:"D_GGX",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNH",type:"float"}]}),nQ=nn(1/Math.PI),iQ=Kn(({alphaT:ee,alphaB:y,dotNH:E,dotTH:z,dotBH:ne})=>{const ie=ee.mul(y),se=Xn(y.mul(z),ee.mul(ne),ie.mul(E)),le=se.dot(se),de=ie.div(le);return nQ.mul(ie.mul(de.pow2()))}).setLayout({name:"D_GGX_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotNH",type:"float",qualifier:"in"},{name:"dotTH",type:"float",qualifier:"in"},{name:"dotBH",type:"float",qualifier:"in"}]}),UD=Kn(({lightDirection:ee,f0:y,f90:E,roughness:z,f:ne,normalView:ie=ku,USE_IRIDESCENCE:se,USE_ANISOTROPY:le})=>{const de=z.pow2(),ge=ee.add(Bc).normalize(),ve=ie.dot(ee).clamp(),xe=ie.dot(Bc).clamp(),Se=ie.dot(ge).clamp(),Me=Bc.dot(ge).clamp();let De=BE({f0:y,f90:E,dotVH:Me}),Oe,Re;if(V2(se)&&(De=U5.mix(De,ne)),V2(le)){const Le=Q2.dot(ee),Qe=Q2.dot(Bc),Xe=Q2.dot(ge),Ze=rP.dot(ee),it=rP.dot(Bc),et=rP.dot(ge);Oe=tQ({alphaT:V5,alphaB:de,dotTV:Qe,dotBV:it,dotTL:Le,dotBL:Ze,dotNV:xe,dotNL:ve}),Re=iQ({alphaT:V5,alphaB:de,dotNH:Se,dotTH:Xe,dotBH:et})}else Oe=E6({alpha:de,dotNL:ve,dotNV:xe}),Re=b6({alpha:de,dotNH:Se});return De.mul(Oe).mul(Re)}),VD=Kn(({roughness:ee,dotNV:y})=>{const E=Qo(-1,-.0275,-.572,.022),z=Qo(1,.0425,1.04,-.04),ne=ee.mul(E).add(z),ie=ne.x.mul(ne.x).min(y.mul(-9.28).exp2()).mul(ne.x).add(ne.y);return Er(-1.04,1.04).mul(ie).add(ne.zw)}).setLayout({name:"DFGApprox",type:"vec2",inputs:[{name:"roughness",type:"float"},{name:"dotNV",type:"vec3"}]}),M6=Kn(ee=>{const{dotNV:y,specularColor:E,specularF90:z,roughness:ne}=ee,ie=VD({dotNV:y,roughness:ne});return E.mul(ie.x).add(z.mul(ie.y))}),B6=Kn(({f:ee,f90:y,dotVH:E})=>{const z=E.oneMinus().saturate(),ne=z.mul(z),ie=z.mul(ne,ne).clamp(0,.9999);return ee.sub(Xn(y).mul(ie)).div(ie.oneMinus())}).setLayout({name:"Schlick_to_F0",type:"vec3",inputs:[{name:"f",type:"vec3"},{name:"f90",type:"float"},{name:"dotVH",type:"float"}]}),rQ=Kn(({roughness:ee,dotNH:y})=>{const E=ee.pow2(),z=nn(1).div(E),ie=y.pow2().oneMinus().max(.0078125);return nn(2).add(z).mul(ie.pow(z.mul(.5))).div(2*Math.PI)}).setLayout({name:"D_Charlie",type:"float",inputs:[{name:"roughness",type:"float"},{name:"dotNH",type:"float"}]}),oQ=Kn(({dotNV:ee,dotNL:y})=>nn(1).div(nn(4).mul(y.add(ee).sub(y.mul(ee))))).setLayout({name:"V_Neubelt",type:"float",inputs:[{name:"dotNV",type:"float"},{name:"dotNL",type:"float"}]}),sQ=Kn(({lightDirection:ee})=>{const y=ee.add(Bc).normalize(),E=ku.dot(ee).clamp(),z=ku.dot(Bc).clamp(),ne=ku.dot(y).clamp(),ie=rQ({roughness:H5,dotNH:ne}),se=oQ({dotNV:z,dotNL:E});return iP.mul(ie).mul(se)}),aQ=Kn(({N:ee,V:y,roughness:E})=>{const ie=.0078125,se=ee.dot(y).saturate(),le=Er(E,se.oneMinus().sqrt());return le.assign(le.mul(.984375).add(ie)),le}).setLayout({name:"LTC_Uv",type:"vec2",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"roughness",type:"float"}]}),T6=Kn(({f:ee})=>{const y=ee.length();return Th(y.mul(y).add(ee.z).div(y.add(1)),0)}).setLayout({name:"LTC_ClippedSphereFormFactor",type:"float",inputs:[{name:"f",type:"vec3"}]}),Cw=Kn(({v1:ee,v2:y})=>{const E=ee.dot(y),z=E.abs().toVar(),ne=z.mul(.0145206).add(.4965155).mul(z).add(.8543985).toVar(),ie=z.add(4.1616724).mul(z).add(3.417594).toVar(),se=ne.div(ie),le=E.greaterThan(0).select(se,Th(E.mul(E).oneMinus(),1e-7).inverseSqrt().mul(.5).sub(se));return ee.cross(y).mul(le)}).setLayout({name:"LTC_EdgeVectorFormFactor",type:"vec3",inputs:[{name:"v1",type:"vec3"},{name:"v2",type:"vec3"}]}),D6=Kn(({N:ee,V:y,P:E,mInv:z,p0:ne,p1:ie,p2:se,p3:le})=>{const de=ie.sub(ne).toVar(),ge=le.sub(ne).toVar(),ve=de.cross(ge),xe=Xn().toVar();return Pa(ve.dot(E.sub(ne)).greaterThanEqual(0),()=>{const Se=y.sub(ee.mul(y.dot(ee))).normalize(),Me=ee.cross(Se).negate(),De=z.mul(kg(Se,Me,ee).transpose()).toVar(),Oe=De.mul(ne.sub(E)).normalize().toVar(),Re=De.mul(ie.sub(E)).normalize().toVar(),Le=De.mul(se.sub(E)).normalize().toVar(),Qe=De.mul(le.sub(E)).normalize().toVar(),Xe=Xn(0).toVar();Xe.addAssign(Cw({v1:Oe,v2:Re})),Xe.addAssign(Cw({v1:Re,v2:Le})),Xe.addAssign(Cw({v1:Le,v2:Qe})),Xe.addAssign(Cw({v1:Qe,v2:Oe})),xe.assign(Xn(T6({f:Xe})))}),xe}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"P",type:"vec3"},{name:"mInv",type:"mat3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),lQ=Kn(({P:ee,p0:y,p1:E,p2:z,p3:ne})=>{const ie=E.sub(y).toVar(),se=ne.sub(y).toVar(),le=ie.cross(se),de=Xn().toVar();return Pa(le.dot(ee.sub(y)).greaterThanEqual(0),()=>{const ge=y.sub(ee).normalize().toVar(),ve=E.sub(ee).normalize().toVar(),xe=z.sub(ee).normalize().toVar(),Se=ne.sub(ee).normalize().toVar(),Me=Xn(0).toVar();Me.addAssign(Cw({v1:ge,v2:ve})),Me.addAssign(Cw({v1:ve,v2:xe})),Me.addAssign(Cw({v1:xe,v2:Se})),Me.addAssign(Cw({v1:Se,v2:ge})),de.assign(Xn(T6({f:Me.abs()})))}),de}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"P",type:"vec3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),mB=1/6,F6=ee=>il(mB,il(ee,il(ee,ee.negate().add(3)).sub(3)).add(1)),jD=ee=>il(mB,il(ee,il(ee,il(3,ee).sub(6))).add(4)),L6=ee=>il(mB,il(ee,il(ee,il(-3,ee).add(3)).add(3)).add(1)),GD=ee=>il(mB,hy(ee,3)),N6=ee=>F6(ee).add(jD(ee)),I6=ee=>L6(ee).add(GD(ee)),R6=ee=>Od(-1,jD(ee).div(F6(ee).add(jD(ee)))),O6=ee=>Od(1,GD(ee).div(L6(ee).add(GD(ee)))),k6=(ee,y,E)=>{const z=ee.uvNode,ne=il(z,y.zw).add(.5),ie=xA(ne),se=Vx(ne),le=N6(se.x),de=I6(se.x),ge=R6(se.x),ve=O6(se.x),xe=R6(se.y),Se=O6(se.y),Me=Er(ie.x.add(ge),ie.y.add(xe)).sub(.5).mul(y.xy),De=Er(ie.x.add(ve),ie.y.add(xe)).sub(.5).mul(y.xy),Oe=Er(ie.x.add(ge),ie.y.add(Se)).sub(.5).mul(y.xy),Re=Er(ie.x.add(ve),ie.y.add(Se)).sub(.5).mul(y.xy),Le=N6(se.y).mul(Od(le.mul(ee.sample(Me).level(E)),de.mul(ee.sample(De).level(E)))),Qe=I6(se.y).mul(Od(le.mul(ee.sample(Oe).level(E)),de.mul(ee.sample(Re).level(E))));return Le.add(Qe)},XD=Kn(([ee,y])=>{const E=Er(ee.size(Mn(y))),z=Er(ee.size(Mn(y.add(1)))),ne=_0(1,E),ie=_0(1,z),se=k6(ee,Qo(ne,E),xA(y)),le=k6(ee,Qo(ie,z),Z5(y));return Vx(y).mix(se,le)}),uQ=Kn(([ee,y])=>{const E=y.mul(sD(ee));return XD(ee,E)}),z6=Kn(([ee,y,E,z,ne])=>{const ie=Xn($3(y.negate(),Ux(ee),_0(1,z))),se=Xn(wA(ne[0].xyz),wA(ne[1].xyz),wA(ne[2].xyz));return Ux(ie).mul(E.mul(se))}).setLayout({name:"getVolumeTransmissionRay",type:"vec3",inputs:[{name:"n",type:"vec3"},{name:"v",type:"vec3"},{name:"thickness",type:"float"},{name:"ior",type:"float"},{name:"modelMatrix",type:"mat4"}]}),cQ=Kn(([ee,y])=>ee.mul(SA(y.mul(2).sub(2),0,1))).setLayout({name:"applyIorToRoughness",type:"float",inputs:[{name:"roughness",type:"float"},{name:"ior",type:"float"}]}),hQ=TD(),dQ=TD(),H6=Kn(([ee,y,E],{material:z})=>{const ie=(z.side===au?hQ:dQ).sample(ee),se=yA(aM.x).mul(cQ(y,E));return XD(ie,se)}),U6=Kn(([ee,y,E])=>(Pa(E.notEqual(0),()=>{const z=Y5(y).negate().div(E);return G3(z.negate().mul(ee))}),Xn(1))).setLayout({name:"volumeAttenuation",type:"vec3",inputs:[{name:"transmissionDistance",type:"float"},{name:"attenuationColor",type:"vec3"},{name:"attenuationDistance",type:"float"}]}),fQ=Kn(([ee,y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De])=>{let Oe,Re;if(De){Oe=Qo().toVar(),Re=Xn().toVar();const it=ve.sub(1).mul(De.mul(.025)),et=Xn(ve.sub(it),ve,ve.add(it));zu({start:0,end:3},({i:ht})=>{const lt=et.element(ht),ot=z6(ee,y,xe,lt,le),rt=se.add(ot),Mt=ge.mul(de.mul(Qo(rt,1))),Xt=Er(Mt.xy.div(Mt.w)).toVar();Xt.addAssign(1),Xt.divAssign(2),Xt.assign(Er(Xt.x,Xt.y.oneMinus()));const cn=H6(Xt,E,lt);Oe.element(ht).assign(cn.element(ht)),Oe.a.addAssign(cn.a),Re.element(ht).assign(z.element(ht).mul(U6(wA(ot),Se,Me).element(ht)))}),Oe.a.divAssign(3)}else{const it=z6(ee,y,xe,ve,le),et=se.add(it),ht=ge.mul(de.mul(Qo(et,1))),lt=Er(ht.xy.div(ht.w)).toVar();lt.addAssign(1),lt.divAssign(2),lt.assign(Er(lt.x,lt.y.oneMinus())),Oe=H6(lt,E,ve),Re=z.mul(U6(wA(it),Se,Me))}const Le=Re.rgb.mul(Oe.rgb),Qe=ee.dot(y).clamp(),Xe=Xn(M6({dotNV:Qe,specularColor:ne,specularF90:ie,roughness:E})),Ze=Re.r.add(Re.g,Re.b).div(3);return Qo(Xe.oneMinus().mul(Le),Oe.a.oneMinus().mul(Ze).oneMinus())}),gQ=kg(3.2404542,-.969266,.0556434,-1.5371385,1.8760108,-.2040259,-.4985314,.041556,1.0572252),pQ=ee=>{const y=ee.sqrt();return Xn(1).add(y).div(Xn(1).sub(y))},V6=(ee,y)=>ee.sub(y).div(ee.add(y)).pow2(),mQ=(ee,y)=>{const E=ee.mul(2*Math.PI*1e-9),z=Xn(54856e-17,44201e-17,52481e-17),ne=Xn(1681e3,1795300,2208400),ie=Xn(43278e5,93046e5,66121e5),se=nn(9747e-17*Math.sqrt(2*Math.PI*45282e5)).mul(E.mul(2239900).add(y.x).cos()).mul(E.pow2().mul(-45282e5).exp());let le=z.mul(ie.mul(2*Math.PI).sqrt()).mul(ne.mul(E).add(y).cos()).mul(E.pow2().negate().mul(ie).exp());return le=Xn(le.x.add(se),le.y,le.z).div(10685e-11),gQ.mul(le)},vQ=Kn(({outsideIOR:ee,eta2:y,cosTheta1:E,thinFilmThickness:z,baseF0:ne})=>{const ie=yu(ee,y,$0(0,.03,z)),le=ee.div(ie).pow2().mul(E.pow2().oneMinus()).oneMinus();Pa(le.lessThan(0),()=>Xn(1));const de=le.sqrt(),ge=V6(ie,ee),ve=BE({f0:ge,f90:1,dotVH:E}),xe=ve.oneMinus(),Se=ie.lessThan(ee).select(Math.PI,0),Me=nn(Math.PI).sub(Se),De=pQ(ne.clamp(0,.9999)),Oe=V6(De,ie.toVec3()),Re=BE({f0:Oe,f90:1,dotVH:de}),Le=Xn(De.x.lessThan(ie).select(Math.PI,0),De.y.lessThan(ie).select(Math.PI,0),De.z.lessThan(ie).select(Math.PI,0)),Qe=ie.mul(z,de,2),Xe=Xn(Me).add(Le),Ze=ve.mul(Re).clamp(1e-5,.9999),it=Ze.sqrt(),et=xe.pow2().mul(Re).div(Xn(1).sub(Ze)),lt=ve.add(et).toVar(),ot=et.sub(xe).toVar();return zu({start:1,end:2,condition:"<=",name:"m"},({m:rt})=>{ot.mulAssign(it);const Mt=mQ(nn(rt).mul(Qe),nn(rt).mul(Xe)).mul(2);lt.addAssign(ot.mul(Mt))}),lt.max(Xn(0))}).setLayout({name:"evalIridescence",type:"vec3",inputs:[{name:"outsideIOR",type:"float"},{name:"eta2",type:"float"},{name:"cosTheta1",type:"float"},{name:"thinFilmThickness",type:"float"},{name:"baseF0",type:"vec3"}]}),yQ=Kn(({normal:ee,viewDir:y,roughness:E})=>{const z=ee.dot(y).saturate(),ne=E.pow2(),ie=jf(E.lessThan(.25),nn(-339.2).mul(ne).add(nn(161.4).mul(E)).sub(25.9),nn(-8.48).mul(ne).add(nn(14.3).mul(E)).sub(9.95)),se=jf(E.lessThan(.25),nn(44).mul(ne).sub(nn(23.7).mul(E)).add(3.26),nn(1.97).mul(ne).sub(nn(3.27).mul(E)).add(.72));return jf(E.lessThan(.25),0,nn(.1).mul(E).sub(.025)).add(ie.mul(z).add(se).exp()).mul(1/Math.PI).saturate()}),WD=Xn(.04),QD=nn(1);class j6 extends pB{constructor(y=!1,E=!1,z=!1,ne=!1,ie=!1,se=!1){super(),this.clearcoat=y,this.sheen=E,this.iridescence=z,this.anisotropy=ne,this.transmission=ie,this.dispersion=se,this.clearcoatRadiance=null,this.clearcoatSpecularDirect=null,this.clearcoatSpecularIndirect=null,this.sheenSpecularDirect=null,this.sheenSpecularIndirect=null,this.iridescenceFresnel=null,this.iridescenceF0=null}start(y){if(this.clearcoat===!0&&(this.clearcoatRadiance=Xn().toVar("clearcoatRadiance"),this.clearcoatSpecularDirect=Xn().toVar("clearcoatSpecularDirect"),this.clearcoatSpecularIndirect=Xn().toVar("clearcoatSpecularIndirect")),this.sheen===!0&&(this.sheenSpecularDirect=Xn().toVar("sheenSpecularDirect"),this.sheenSpecularIndirect=Xn().toVar("sheenSpecularIndirect")),this.iridescence===!0){const E=ku.dot(Bc).clamp();this.iridescenceFresnel=vQ({outsideIOR:nn(1),eta2:I3,cosTheta1:E,thinFilmThickness:R3,baseF0:Gp}),this.iridescenceF0=B6({f:this.iridescenceFresnel,f90:1,dotVH:E})}if(this.transmission===!0){const E=iv,z=nM.sub(iv).normalize(),ne=Sw,ie=y.context;ie.backdrop=fQ(ne,z,vA,vu,Gp,Y2,E,nv,Hm,zm,K2,O3,z3,k3,this.dispersion?H3:null),ie.backdropAlpha=G5,vu.a.mulAssign(yu(1,ie.backdrop.a,G5))}super.start(y)}computeMultiscattering(y,E,z){const ne=ku.dot(Bc).clamp(),ie=VD({roughness:vA,dotNV:ne}),le=(this.iridescenceF0?U5.mix(Gp,this.iridescenceF0):Gp).mul(ie.x).add(z.mul(ie.y)),ge=ie.x.add(ie.y).oneMinus(),ve=Gp.add(Gp.oneMinus().mul(.047619)),xe=le.mul(ve).div(ge.mul(ve).oneMinus());y.addAssign(le),E.addAssign(xe.mul(ge))}direct({lightDirection:y,lightColor:E,reflectedLight:z}){const ie=ku.dot(y).clamp().mul(E);if(this.sheen===!0&&this.sheenSpecularDirect.addAssign(ie.mul(sQ({lightDirection:y}))),this.clearcoat===!0){const le=sP.dot(y).clamp().mul(E);this.clearcoatSpecularDirect.addAssign(le.mul(UD({lightDirection:y,f0:WD,f90:QD,roughness:W2,normalView:sP})))}z.directDiffuse.addAssign(ie.mul(uP({diffuseColor:vu.rgb}))),z.directSpecular.addAssign(ie.mul(UD({lightDirection:y,f0:Gp,f90:1,roughness:vA,iridescence:this.iridescence,f:this.iridescenceFresnel,USE_IRIDESCENCE:this.iridescence,USE_ANISOTROPY:this.anisotropy})))}directRectArea({lightColor:y,lightPosition:E,halfWidth:z,halfHeight:ne,reflectedLight:ie,ltc_1:se,ltc_2:le}){const de=E.add(z).sub(ne),ge=E.sub(z).sub(ne),ve=E.sub(z).add(ne),xe=E.add(z).add(ne),Se=ku,Me=Bc,De=_h.toVar(),Oe=aQ({N:Se,V:Me,roughness:vA}),Re=se.sample(Oe).toVar(),Le=le.sample(Oe).toVar(),Qe=kg(Xn(Re.x,0,Re.y),Xn(0,1,0),Xn(Re.z,0,Re.w)).toVar(),Xe=Gp.mul(Le.x).add(Gp.oneMinus().mul(Le.y)).toVar();ie.directSpecular.addAssign(y.mul(Xe).mul(D6({N:Se,V:Me,P:De,mInv:Qe,p0:de,p1:ge,p2:ve,p3:xe}))),ie.directDiffuse.addAssign(y.mul(vu).mul(D6({N:Se,V:Me,P:De,mInv:kg(1,0,0,0,1,0,0,0,1),p0:de,p1:ge,p2:ve,p3:xe})))}indirect(y){this.indirectDiffuse(y),this.indirectSpecular(y),this.ambientOcclusion(y)}indirectDiffuse(y){const{irradiance:E,reflectedLight:z}=y.context;z.indirectDiffuse.addAssign(E.mul(uP({diffuseColor:vu})))}indirectSpecular(y){const{radiance:E,iblIrradiance:z,reflectedLight:ne}=y.context;if(this.sheen===!0&&this.sheenSpecularIndirect.addAssign(z.mul(iP,yQ({normal:ku,viewDir:Bc,roughness:H5}))),this.clearcoat===!0){const ve=sP.dot(Bc).clamp(),xe=M6({dotNV:ve,specularColor:WD,specularF90:QD,roughness:W2});this.clearcoatSpecularIndirect.addAssign(this.clearcoatRadiance.mul(xe))}const ie=Xn().toVar("singleScattering"),se=Xn().toVar("multiScattering"),le=z.mul(1/Math.PI);this.computeMultiscattering(ie,se,Y2);const de=ie.add(se),ge=vu.mul(de.r.max(de.g).max(de.b).oneMinus());ne.indirectSpecular.addAssign(E.mul(ie)),ne.indirectSpecular.addAssign(se.mul(le)),ne.indirectDiffuse.addAssign(ge.mul(le))}ambientOcclusion(y){const{ambientOcclusion:E,reflectedLight:z}=y.context,ie=ku.dot(Bc).clamp().add(E),se=vA.mul(-16).oneMinus().negate().exp2(),le=E.sub(ie.pow(se).oneMinus()).clamp();this.clearcoat===!0&&this.clearcoatSpecularIndirect.mulAssign(E),this.sheen===!0&&this.sheenSpecularIndirect.mulAssign(E),z.indirectDiffuse.mulAssign(E),z.indirectSpecular.mulAssign(le)}finish({context:y}){const{outgoingLight:E}=y;if(this.clearcoat===!0){const z=sP.dot(Bc).clamp(),ne=BE({dotVH:z,f0:WD,f90:QD}),ie=E.mul(z5.mul(ne).oneMinus()).add(this.clearcoatSpecularDirect.add(this.clearcoatSpecularIndirect).mul(z5));E.assign(ie)}if(this.sheen===!0){const z=iP.r.max(iP.g).max(iP.b).mul(.157).oneMinus(),ne=E.mul(z).add(this.sheenSpecularDirect,this.sheenSpecularIndirect);E.assign(ne)}}}const G6=nn(1),YD=nn(-2),vB=nn(.8),ZD=nn(-1),yB=nn(.4),KD=nn(2),AB=nn(.305),JD=nn(3),X6=nn(.21),AQ=nn(4),W6=nn(4),xQ=nn(16),wQ=Kn(([ee])=>{const y=Xn(xc(ee)).toVar(),E=nn(-1).toVar();return Pa(y.x.greaterThan(y.z),()=>{Pa(y.x.greaterThan(y.y),()=>{E.assign(jf(ee.x.greaterThan(0),0,3))}).Else(()=>{E.assign(jf(ee.y.greaterThan(0),1,4))})}).Else(()=>{Pa(y.z.greaterThan(y.y),()=>{E.assign(jf(ee.z.greaterThan(0),2,5))}).Else(()=>{E.assign(jf(ee.y.greaterThan(0),1,4))})}),E}).setLayout({name:"getFace",type:"float",inputs:[{name:"direction",type:"vec3"}]}),SQ=Kn(([ee,y])=>{const E=Er().toVar();return Pa(y.equal(0),()=>{E.assign(Er(ee.z,ee.y).div(xc(ee.x)))}).ElseIf(y.equal(1),()=>{E.assign(Er(ee.x.negate(),ee.z.negate()).div(xc(ee.y)))}).ElseIf(y.equal(2),()=>{E.assign(Er(ee.x.negate(),ee.y).div(xc(ee.z)))}).ElseIf(y.equal(3),()=>{E.assign(Er(ee.z.negate(),ee.y).div(xc(ee.x)))}).ElseIf(y.equal(4),()=>{E.assign(Er(ee.x.negate(),ee.z).div(xc(ee.y)))}).Else(()=>{E.assign(Er(ee.x,ee.y).div(xc(ee.z)))}),il(.5,E.add(1))}).setLayout({name:"getUV",type:"vec2",inputs:[{name:"direction",type:"vec3"},{name:"face",type:"float"}]}),PQ=Kn(([ee])=>{const y=nn(0).toVar();return Pa(ee.greaterThanEqual(vB),()=>{y.assign(G6.sub(ee).mul(ZD.sub(YD)).div(G6.sub(vB)).add(YD))}).ElseIf(ee.greaterThanEqual(yB),()=>{y.assign(vB.sub(ee).mul(KD.sub(ZD)).div(vB.sub(yB)).add(ZD))}).ElseIf(ee.greaterThanEqual(AB),()=>{y.assign(yB.sub(ee).mul(JD.sub(KD)).div(yB.sub(AB)).add(KD))}).ElseIf(ee.greaterThanEqual(X6),()=>{y.assign(AB.sub(ee).mul(AQ.sub(JD)).div(AB.sub(X6)).add(JD))}).Else(()=>{y.assign(nn(-2).mul(yA(il(1.16,ee))))}),y}).setLayout({name:"roughnessToMip",type:"float",inputs:[{name:"roughness",type:"float"}]}),Q6=Kn(([ee,y])=>{const E=ee.toVar();E.assign(il(2,E).sub(1));const z=Xn(E,1).toVar();return Pa(y.equal(0),()=>{z.assign(z.zyx)}).ElseIf(y.equal(1),()=>{z.assign(z.xzy),z.xz.mulAssign(-1)}).ElseIf(y.equal(2),()=>{z.x.mulAssign(-1)}).ElseIf(y.equal(3),()=>{z.assign(z.zyx),z.xz.mulAssign(-1)}).ElseIf(y.equal(4),()=>{z.assign(z.xzy),z.xy.mulAssign(-1)}).ElseIf(y.equal(5),()=>{z.z.mulAssign(-1)}),z}).setLayout({name:"getDirection",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"face",type:"float"}]}),Y6=Kn(([ee,y,E,z,ne,ie])=>{const se=nn(E),le=Xn(y),de=SA(PQ(se),YD,ie),ge=Vx(de),ve=xA(de),xe=Xn(qD(ee,le,ve,z,ne,ie)).toVar();return Pa(ge.notEqual(0),()=>{const Se=Xn(qD(ee,le,ve.add(1),z,ne,ie)).toVar();xe.assign(yu(xe,Se,ge))}),xe}),qD=Kn(([ee,y,E,z,ne,ie])=>{const se=nn(E).toVar(),le=Xn(y),de=nn(wQ(le)).toVar(),ge=nn(Th(W6.sub(se),0)).toVar();se.assign(Th(se,W6));const ve=nn(AE(se)).toVar(),xe=Er(SQ(le,de).mul(ve.sub(2)).add(1)).toVar();return Pa(de.greaterThan(2),()=>{xe.y.addAssign(ve),de.subAssign(3)}),xe.x.addAssign(de.mul(ve)),xe.x.addAssign(ge.mul(il(3,xQ))),xe.y.addAssign(il(4,AE(ie).sub(ve))),xe.x.mulAssign(z),xe.y.mulAssign(ne),ee.sample(xe).grad(Er(),Er())}),_D=Kn(({envMap:ee,mipInt:y,outputDirection:E,theta:z,axis:ne,CUBEUV_TEXEL_WIDTH:ie,CUBEUV_TEXEL_HEIGHT:se,CUBEUV_MAX_MIP:le})=>{const de=jx(z),ge=E.mul(de).add(ne.cross(E).mul(km(z))).add(ne.mul(ne.dot(E).mul(de.oneMinus())));return qD(ee,ge,y,ie,se,le)}),Z6=Kn(({n:ee,latitudinal:y,poleAxis:E,outputDirection:z,weights:ne,samples:ie,dTheta:se,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe})=>{const Se=Xn(jf(y,E,J5(E,z))).toVar();Pa(Se.equal(Xn(0)),()=>{Se.assign(Xn(z.z,0,z.x.negate()))}),Se.assign(Ux(Se));const Me=Xn().toVar();return Me.addAssign(ne.element(0).mul(_D({theta:0,axis:Se,outputDirection:z,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe}))),zu({start:Mn(1),end:ee},({i:De})=>{Pa(De.greaterThanEqual(ie),()=>{t6()});const Oe=nn(se.mul(nn(De))).toVar();Me.addAssign(ne.element(De).mul(_D({theta:Oe.mul(-1),axis:Se,outputDirection:z,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe}))),Me.addAssign(ne.element(De).mul(_D({theta:Oe,axis:Se,outputDirection:z,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe})))}),Qo(Me,1)}),TE=4,K6=[.125,.215,.35,.446,.526,.582],cP=20,$D=new Kv(-1,1,1,-1,0,1),CQ=new ah(90,1),J6=new fo;let eF=null,tF=0,nF=0;const hP=(1+Math.sqrt(5))/2,DE=1/hP,q6=[new Vt(-hP,DE,0),new Vt(hP,DE,0),new Vt(-DE,0,hP),new Vt(DE,0,hP),new Vt(0,hP,-DE),new Vt(0,hP,DE),new Vt(-1,1,-1),new Vt(1,1,-1),new Vt(-1,1,1),new Vt(1,1,1)],EQ=new Vt,_6=new WeakMap,bQ=[3,1,5,0,4,2],iF=Q6(wc(),ap("faceIndex")).normalize(),rF=Xn(iF.x,iF.y,iF.z);class MQ{constructor(y){this._renderer=y,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._backgroundBox=null}get _hasInitialized(){return this._renderer.hasInitialized()}fromScene(y,E=0,z=.1,ne=100,ie={}){const{size:se=256,position:le=EQ,renderTarget:de=null}=ie;if(this._setSize(se),this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromScene() called before the backend is initialized. Try using .fromSceneAsync() instead.");const ve=de||this._allocateTarget();return ie.renderTarget=ve,this.fromSceneAsync(y,E,z,ne,ie),ve}eF=this._renderer.getRenderTarget(),tF=this._renderer.getActiveCubeFace(),nF=this._renderer.getActiveMipmapLevel();const ge=de||this._allocateTarget();return ge.depthBuffer=!0,this._init(ge),this._sceneToCubeUV(y,z,ne,ge,le),E>0&&this._blur(ge,0,0,E),this._applyPMREM(ge),this._cleanup(ge),ge}fromSceneAsync(se){return la(this,arguments,function*(y,E=0,z=.1,ne=100,ie={}){return this._hasInitialized===!1&&(yield this._renderer.init()),this.fromScene(y,E,z,ne,ie)})}fromEquirectangular(y,E=null){if(this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromEquirectangular() called before the backend is initialized. Try using .fromEquirectangularAsync() instead."),this._setSizeFromTexture(y);const z=E||this._allocateTarget();return this.fromEquirectangularAsync(y,z),z}return this._fromTexture(y,E)}fromEquirectangularAsync(y,E=null){return la(this,null,function*(){return this._hasInitialized===!1&&(yield this._renderer.init()),this._fromTexture(y,E)})}fromCubemap(y,E=null){if(this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromCubemap() called before the backend is initialized. Try using .fromCubemapAsync() instead."),this._setSizeFromTexture(y);const z=E||this._allocateTarget();return this.fromCubemapAsync(y,E),z}return this._fromTexture(y,E)}fromCubemapAsync(y,E=null){return la(this,null,function*(){return this._hasInitialized===!1&&(yield this._renderer.init()),this._fromTexture(y,E)})}compileCubemapShader(){return la(this,null,function*(){this._cubemapMaterial===null&&(this._cubemapMaterial=e7(),yield this._compileMaterial(this._cubemapMaterial))})}compileEquirectangularShader(){return la(this,null,function*(){this._equirectMaterial===null&&(this._equirectMaterial=t7(),yield this._compileMaterial(this._equirectMaterial))})}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSizeFromTexture(y){y.mapping===Jd||y.mapping===qd?this._setSize(y.image.length===0?16:y.image[0].width||y.image[0].image.width):this._setSize(y.image.width/4)}_setSize(y){this._lodMax=Math.floor(Math.log2(y)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let y=0;y2?Re:0,Re,Re),ge.render(y,se)}ge.autoClear=ve,y.background=Me}_textureToCubeUV(y,E){const z=this._renderer,ne=y.mapping===Jd||y.mapping===qd;ne?this._cubemapMaterial===null&&(this._cubemapMaterial=e7(y)):this._equirectMaterial===null&&(this._equirectMaterial=t7(y));const ie=ne?this._cubemapMaterial:this._equirectMaterial;ie.fragmentNode.value=y;const se=this._lodMeshes[0];se.material=ie;const le=this._cubeSize;xB(E,0,0,3*le,2*le),z.setRenderTarget(E),z.render(se,$D)}_applyPMREM(y){const E=this._renderer,z=E.autoClear;E.autoClear=!1;const ne=this._lodPlanes.length;for(let ie=1;iecP&&console.warn(`sigmaRadians, ${ie}, is too large and will clip, as it requested ${Re} samples when the maximum is set to ${cP}`);const Le=[];let Qe=0;for(let ht=0;htXe-TE?ne-Xe+TE:0),et=4*(this._cubeSize-Ze);xB(E,it,et,3*Ze,2*Ze),de.setRenderTarget(E),de.render(xe,$D)}}function BQ(ee){const y=[],E=[],z=[],ne=[];let ie=ee;const se=ee-TE+1+K6.length;for(let le=0;leee-TE?ge=K6[le-ee+TE-1]:le===0&&(ge=0),z.push(ge);const ve=1/(de-2),xe=-ve,Se=1+ve,Me=[xe,xe,Se,xe,Se,Se,xe,xe,Se,Se,xe,Se],De=6,Oe=6,Re=3,Le=2,Qe=1,Xe=new Float32Array(Re*Oe*De),Ze=new Float32Array(Le*Oe*De),it=new Float32Array(Qe*Oe*De);for(let ht=0;ht2?0:-1,rt=[lt,ot,0,lt+2/3,ot,0,lt+2/3,ot+1,0,lt,ot,0,lt+2/3,ot+1,0,lt,ot+1,0],Mt=bQ[ht];Xe.set(rt,Re*Oe*Mt),Ze.set(Me,Le*Oe*Mt);const Xt=[Mt,Mt,Mt,Mt,Mt,Mt];it.set(Xt,Qe*Oe*Mt)}const et=new Ha;et.setAttribute("position",new wl(Xe,Re)),et.setAttribute("uv",new wl(Ze,Le)),et.setAttribute("faceIndex",new wl(it,Qe)),y.push(et),ne.push(new lu(et,null)),ie>TE&&ie--}return{lodPlanes:y,sizeLods:E,sigmas:z,lodMeshes:ne}}function $6(ee,y){const E={magFilter:tu,minFilter:tu,generateMipmaps:!1,type:mc,format:Fu,colorSpace:vn},z=new Np(ee,y,E);return z.texture.mapping=wp,z.texture.name="PMREM.cubeUv",z.texture.isPMREMTexture=!0,z.scissorTest=!0,z}function xB(ee,y,E,z,ne){ee.viewport.set(y,E,z,ne),ee.scissor.set(y,E,z,ne)}function oF(ee){const y=new Dh;return y.depthTest=!1,y.depthWrite=!1,y.blending=eu,y.name=`PMREM_${ee}`,y}function TQ(ee,y,E){const z=ev(new Array(cP).fill(0)),ne=Us(new Vt(0,1,0)),ie=Us(0),se=nn(cP),le=Us(0),de=Us(1),ge=Dl(null),ve=Us(0),xe=nn(1/y),Se=nn(1/E),Me=nn(ee),De={n:se,latitudinal:le,weights:z,poleAxis:ne,outputDirection:rF,dTheta:ie,samples:de,envMap:ge,mipInt:ve,CUBEUV_TEXEL_WIDTH:xe,CUBEUV_TEXEL_HEIGHT:Se,CUBEUV_MAX_MIP:Me},Oe=oF("blur");return Oe.fragmentNode=Z6(NA(Sh({},De),{latitudinal:le.equal(1)})),_6.set(Oe,De),Oe}function e7(ee){const y=oF("cubemap");return y.fragmentNode=PE(ee,rF),y}function t7(ee){const y=oF("equirect");return y.fragmentNode=Dl(ee,kD(rF),0),y}const n7=new WeakMap;function DQ(ee){const y=Math.log2(ee)-2,E=1/ee;return{texelWidth:1/(3*Math.max(Math.pow(2,y),7*16)),texelHeight:E,maxMip:y}}function FQ(ee,y,E){const z=LQ(y);let ne=z.get(ee);if((ne!==void 0?ne.pmremVersion:-1)!==ee.pmremVersion){const se=ee.image;if(ee.isCubeTexture)if(IQ(se))ne=E.fromCubemap(ee,ne);else return null;else if(RQ(se))ne=E.fromEquirectangular(ee,ne);else return null;ne.pmremVersion=ee.pmremVersion,z.set(ee,ne)}return ne.texture}function LQ(ee){let y=n7.get(ee);return y===void 0&&(y=new WeakMap,n7.set(ee,y)),y}class NQ extends Id{static get type(){return"PMREMNode"}constructor(y,E=null,z=null){super("vec3"),this._value=y,this._pmrem=null,this.uvNode=E,this.levelNode=z,this._generator=null;const ne=new Ec;ne.isRenderTargetTexture=!0,this._texture=Dl(ne),this._width=Us(0),this._height=Us(0),this._maxMip=Us(0),this.updateBeforeType=al.RENDER}set value(y){this._value=y,this._pmrem=null}get value(){return this._value}updateFromTexture(y){const E=DQ(y.image.height);this._texture.value=y,this._width.value=E.texelWidth,this._height.value=E.texelHeight,this._maxMip.value=E.maxMip}updateBefore(y){let E=this._pmrem;const z=E?E.pmremVersion:-1,ne=this._value;z!==ne.pmremVersion&&(ne.isPMREMTexture===!0?E=ne:E=FQ(ne,y.renderer,this._generator),E!==null&&(this._pmrem=E,this.updateFromTexture(E)))}setup(y){this._generator===null&&(this._generator=new MQ(y.renderer)),this.updateBefore(y);let E=this.uvNode;E===null&&y.context.getUV&&(E=y.context.getUV(this)),E=pD.mul(Xn(E.x,E.y.negate(),E.z));let z=this.levelNode;return z===null&&y.context.getTextureLevel&&(z=y.context.getTextureLevel(this)),Y6(this._texture,E,z,this._width,this._height,this._maxMip)}dispose(){super.dispose(),this._generator!==null&&this._generator.dispose()}}function IQ(ee){if(ee==null)return!1;let y=0;const E=6;for(let z=0;z0}const sF=Ar(NQ).setParameterLength(1,3),i7=new WeakMap;class OQ extends EE{static get type(){return"EnvironmentNode"}constructor(y=null){super(),this.envNode=y}setup(y){const{material:E}=y;let z=this.envNode;if(z.isTextureNode||z.isMaterialReferenceNode){const xe=z.isTextureNode?z.value:E[z.property];let Se=i7.get(xe);Se===void 0&&(Se=sF(xe),i7.set(xe,Se)),z=Se}const ie=E.useAnisotropy===!0||E.anisotropy>0?y4:ku,se=z.context(r7(vA,ie)).mul(oB),le=z.context(kQ(Sw)).mul(Math.PI).mul(oB),de=$2(se),ge=$2(le);y.context.radiance.addAssign(de),y.context.iblIrradiance.addAssign(ge);const ve=y.context.lightingModel.clearcoatRadiance;if(ve){const xe=z.context(r7(W2,sP)).mul(oB),Se=$2(xe);ve.addAssign(Se)}}}const r7=(ee,y)=>{let E=null;return{getUV:()=>(E===null&&(E=Bc.negate().reflect(y),E=ee.mul(ee).mix(E,y).normalize(),E=E.transformDirection(Hm)),E),getTextureLevel:()=>ee}},kQ=ee=>({getUV:()=>ee,getTextureLevel:()=>nn(1)}),zQ=new e2;class o7 extends Dh{static get type(){return"MeshStandardNodeMaterial"}constructor(y){super(),this.isMeshStandardNodeMaterial=!0,this.lights=!0,this.emissiveNode=null,this.metalnessNode=null,this.roughnessNode=null,this.setDefaultValues(zQ),this.setValues(y)}setupEnvironment(y){let E=super.setupEnvironment(y);return E===null&&y.environmentNode&&(E=y.environmentNode),E?new OQ(E):null}setupLightingModel(){return new j6}setupSpecular(){const y=yu(Xn(.04),vu.rgb,X2);Gp.assign(y),Y2.assign(1)}setupVariants(){const y=this.metalnessNode?nn(this.metalnessNode):M4;X2.assign(y);let E=this.roughnessNode?nn(this.roughnessNode):b4;E=HD({roughness:E}),vA.assign(E),this.setupSpecular(),vu.assign(Qo(vu.rgb.mul(y.oneMinus()),vu.a))}copy(y){return this.emissiveNode=y.emissiveNode,this.metalnessNode=y.metalnessNode,this.roughnessNode=y.roughnessNode,super.copy(y)}}const HQ=new t2;class UQ extends o7{static get type(){return"MeshPhysicalNodeMaterial"}constructor(y){super(),this.isMeshPhysicalNodeMaterial=!0,this.clearcoatNode=null,this.clearcoatRoughnessNode=null,this.clearcoatNormalNode=null,this.sheenNode=null,this.sheenRoughnessNode=null,this.iridescenceNode=null,this.iridescenceIORNode=null,this.iridescenceThicknessNode=null,this.specularIntensityNode=null,this.specularColorNode=null,this.iorNode=null,this.transmissionNode=null,this.thicknessNode=null,this.attenuationDistanceNode=null,this.attenuationColorNode=null,this.dispersionNode=null,this.anisotropyNode=null,this.setDefaultValues(HQ),this.setValues(y)}get useClearcoat(){return this.clearcoat>0||this.clearcoatNode!==null}get useIridescence(){return this.iridescence>0||this.iridescenceNode!==null}get useSheen(){return this.sheen>0||this.sheenNode!==null}get useAnisotropy(){return this.anisotropy>0||this.anisotropyNode!==null}get useTransmission(){return this.transmission>0||this.transmissionNode!==null}get useDispersion(){return this.dispersion>0||this.dispersionNode!==null}setupSpecular(){const y=this.iorNode?nn(this.iorNode):V4;K2.assign(y),Gp.assign(yu(Xp(J3(K2.sub(1).div(K2.add(1))).mul(E4),Xn(1)).mul(wD),vu.rgb,X2)),Y2.assign(yu(wD,1,X2))}setupLightingModel(){return new j6(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion)}setupVariants(y){if(super.setupVariants(y),this.useClearcoat){const E=this.clearcoatNode?nn(this.clearcoatNode):T4,z=this.clearcoatRoughnessNode?nn(this.clearcoatRoughnessNode):D4;z5.assign(E),W2.assign(HD({roughness:z}))}if(this.useSheen){const E=this.sheenNode?Xn(this.sheenNode):N4,z=this.sheenRoughnessNode?nn(this.sheenRoughnessNode):I4;iP.assign(E),H5.assign(z)}if(this.useIridescence){const E=this.iridescenceNode?nn(this.iridescenceNode):O4,z=this.iridescenceIORNode?nn(this.iridescenceIORNode):k4,ne=this.iridescenceThicknessNode?nn(this.iridescenceThicknessNode):z4;U5.assign(E),I3.assign(z),R3.assign(ne)}if(this.useAnisotropy){const E=(this.anisotropyNode?Er(this.anisotropyNode):R4).toVar();Aw.assign(E.length()),Pa(Aw.equal(0),()=>{E.assign(Er(1,0))}).Else(()=>{E.divAssign(Er(Aw)),Aw.assign(Aw.saturate())}),V5.assign(Aw.pow2().mix(vA.pow2(),1)),Q2.assign(aP[0].mul(E.x).add(aP[1].mul(E.y))),rP.assign(aP[1].mul(E.x).sub(aP[0].mul(E.y)))}if(this.useTransmission){const E=this.transmissionNode?nn(this.transmissionNode):H4,z=this.thicknessNode?nn(this.thicknessNode):U4,ne=this.attenuationDistanceNode?nn(this.attenuationDistanceNode):j4,ie=this.attenuationColorNode?Xn(this.attenuationColorNode):G4;if(G5.assign(E),O3.assign(z),k3.assign(ne),z3.assign(ie),this.useDispersion){const se=this.dispersionNode?nn(this.dispersionNode):W4;H3.assign(se)}}}setupClearcoatNormal(){return this.clearcoatNormalNode?Xn(this.clearcoatNormalNode):F4}setup(y){y.context.setupClearcoatNormal=()=>xE(this.setupClearcoatNormal(y),"NORMAL","vec3"),super.setup(y)}copy(y){return this.clearcoatNode=y.clearcoatNode,this.clearcoatRoughnessNode=y.clearcoatRoughnessNode,this.clearcoatNormalNode=y.clearcoatNormalNode,this.sheenNode=y.sheenNode,this.sheenRoughnessNode=y.sheenRoughnessNode,this.iridescenceNode=y.iridescenceNode,this.iridescenceIORNode=y.iridescenceIORNode,this.iridescenceThicknessNode=y.iridescenceThicknessNode,this.specularIntensityNode=y.specularIntensityNode,this.specularColorNode=y.specularColorNode,this.transmissionNode=y.transmissionNode,this.thicknessNode=y.thicknessNode,this.attenuationDistanceNode=y.attenuationDistanceNode,this.attenuationColorNode=y.attenuationColorNode,this.dispersionNode=y.dispersionNode,this.anisotropyNode=y.anisotropyNode,super.copy(y)}}class VQ extends null{constructor(y=!1,E=!1,z=!1,ne=!1,ie=!1,se=!1,le=!1){super(y,E,z,ne,ie,se),this.useSSS=le}direct({lightDirection:y,lightColor:E,reflectedLight:z},ne){if(this.useSSS===!0){const ie=ne.material,{thicknessColorNode:se,thicknessDistortionNode:le,thicknessAmbientNode:de,thicknessAttenuationNode:ge,thicknessPowerNode:ve,thicknessScaleNode:xe}=ie,Se=y.add(ku.mul(le)).normalize(),Me=nn(Bc.dot(Se.negate()).saturate().pow(ve).mul(xe)),De=Xn(Me.add(de).mul(se));z.directDiffuse.addAssign(De.mul(ge.mul(E)))}super.direct({lightDirection:y,lightColor:E,reflectedLight:z},ne)}}class Wse extends null{static get type(){return"MeshSSSNodeMaterial"}constructor(y){super(y),this.thicknessColorNode=null,this.thicknessDistortionNode=nn(.1),this.thicknessAmbientNode=nn(0),this.thicknessAttenuationNode=nn(.1),this.thicknessPowerNode=nn(2),this.thicknessScaleNode=nn(10)}get useSSS(){return this.thicknessColorNode!==null}setupLightingModel(){return new VQ(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion,this.useSSS)}copy(y){return this.thicknessColorNode=y.thicknessColorNode,this.thicknessDistortionNode=y.thicknessDistortionNode,this.thicknessAmbientNode=y.thicknessAmbientNode,this.thicknessAttenuationNode=y.thicknessAttenuationNode,this.thicknessPowerNode=y.thicknessPowerNode,this.thicknessScaleNode=y.thicknessScaleNode,super.copy(y)}}const jQ=Kn(({normal:ee,lightDirection:y,builder:E})=>{const z=ee.dot(y),ne=Er(z.mul(.5).add(.5),0);if(E.material.gradientMap){const ie=Yx("gradientMap","texture").context({getUV:()=>ne});return Xn(ie.r)}else{const ie=ne.fwidth().mul(.5);return yu(Xn(.7),Xn(1),$0(nn(.7).sub(ie.x),nn(.7).add(ie.x),ne.x))}});class GQ extends pB{direct({lightDirection:y,lightColor:E,reflectedLight:z},ne){const ie=jQ({normal:rB,lightDirection:y,builder:ne}).mul(E);z.directDiffuse.addAssign(ie.mul(uP({diffuseColor:vu.rgb})))}indirect(y){const{ambientOcclusion:E,irradiance:z,reflectedLight:ne}=y.context;ne.indirectDiffuse.addAssign(z.mul(uP({diffuseColor:vu}))),ne.indirectDiffuse.mulAssign(E)}}const XQ=new n2;class WQ extends Dh{static get type(){return"MeshToonNodeMaterial"}constructor(y){super(),this.isMeshToonNodeMaterial=!0,this.lights=!0,this.setDefaultValues(XQ),this.setValues(y)}setupLightingModel(){return new GQ}}const s7=Kn(()=>{const ee=Xn(Bc.z,0,Bc.x.negate()).normalize(),y=Bc.cross(ee);return Er(ee.dot(ku),y.dot(ku)).mul(.495).add(.5)}).once(["NORMAL","VERTEX"])().toVar("matcapUV"),QQ=new tw;class YQ extends Dh{static get type(){return"MeshMatcapNodeMaterial"}constructor(y){super(),this.isMeshMatcapNodeMaterial=!0,this.setDefaultValues(QQ),this.setValues(y)}setupVariants(y){const E=s7;let z;y.material.matcap?z=Yx("matcap","texture").context({getUV:()=>E}):z=Xn(yu(.2,.8,E.y)),vu.rgb.mulAssign(z.rgb)}}class ZQ extends Id{static get type(){return"RotateNode"}constructor(y,E){super(),this.positionNode=y,this.rotationNode=E}getNodeType(y){return this.positionNode.getNodeType(y)}setup(y){const{rotationNode:E,positionNode:z}=this;if(this.getNodeType(y)==="vec2"){const ie=E.cos(),se=E.sin();return k5(ie,se,se.negate(),ie).mul(z)}else{const ie=E,se=nP(Qo(1,0,0,0),Qo(0,jx(ie.x),km(ie.x).negate(),0),Qo(0,km(ie.x),jx(ie.x),0),Qo(0,0,0,1)),le=nP(Qo(jx(ie.y),0,km(ie.y),0),Qo(0,1,0,0),Qo(km(ie.y).negate(),0,jx(ie.y),0),Qo(0,0,0,1)),de=nP(Qo(jx(ie.z),km(ie.z).negate(),0,0),Qo(km(ie.z),jx(ie.z),0,0),Qo(0,0,1,0),Qo(0,0,0,1));return se.mul(le).mul(de).mul(Qo(z,1)).xyz}}}const wB=Ar(ZQ).setParameterLength(2),KQ=new oS;class a7 extends Dh{static get type(){return"SpriteNodeMaterial"}constructor(y){super(),this.isSpriteNodeMaterial=!0,this._useSizeAttenuation=!0,this.positionNode=null,this.rotationNode=null,this.scaleNode=null,this.transparent=!0,this.setDefaultValues(KQ),this.setValues(y)}setupPositionView(y){const{object:E,camera:z}=y,ne=this.sizeAttenuation,{positionNode:ie,rotationNode:se,scaleNode:le}=this,de=Qx.mul(Xn(ie||0));let ge=Er(nv[0].xyz.length(),nv[1].xyz.length());if(le!==null&&(ge=ge.mul(Er(le))),ne===!1)if(z.isPerspectiveCamera)ge=ge.mul(de.z.negate());else{const Me=nn(2).div(zm.element(1).element(1));ge=ge.mul(Me.mul(2))}let ve=lg.xy;if(E.center&&E.center.isVector2===!0){const Me=_G("center","vec2",E);ve=ve.sub(Me.sub(.5))}ve=ve.mul(ge);const xe=nn(se||L4),Se=wB(ve,xe);return Qo(de.xy.add(Se),de.zw)}copy(y){return this.positionNode=y.positionNode,this.rotationNode=y.rotationNode,this.scaleNode=y.scaleNode,super.copy(y)}get sizeAttenuation(){return this._useSizeAttenuation}set sizeAttenuation(y){this._useSizeAttenuation!==y&&(this._useSizeAttenuation=y,this.needsUpdate=!0)}}const JQ=new pS;class qQ extends a7{static get type(){return"PointsNodeMaterial"}constructor(y){super(),this.sizeNode=null,this.isPointsNodeMaterial=!0,this.setDefaultValues(JQ),this.setValues(y)}setupPositionView(){const{positionNode:y}=this;return Qx.mul(Xn(y||qh)).xyz}setupVertex(y){const E=super.setupVertex(y);if(y.material.isNodeMaterial!==!0)return E;const{rotationNode:z,scaleNode:ne,sizeNode:ie}=this,se=lg.xy.toVar(),le=Kx.z.div(Kx.w);if(z&&z.isNode){const ge=nn(z);se.assign(wB(se,ge))}let de=ie!==null?Er(ie):X4;return this.sizeAttenuation===!0&&(de=de.mul(de.div(_h.z.negate()))),ne&&ne.isNode&&(de=de.mul(Er(ne))),se.mulAssign(de.mul(2)),se.assign(se.div(Kx.z)),se.y.assign(se.y.mul(le)),se.assign(se.mul(E.w)),E.addAssign(Qo(se,0,0)),E}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(y){this._useAlphaToCoverage!==y&&(this._useAlphaToCoverage=y,this.needsUpdate=!0)}}class _Q extends pB{constructor(){super(),this.shadowNode=nn(1).toVar("shadowMask")}direct({lightNode:y}){y.shadowNode!==null&&this.shadowNode.mulAssign(y.shadowNode)}finish({context:y}){vu.a.mulAssign(this.shadowNode.oneMinus()),y.outgoingLight.rgb.assign(vu.rgb)}}const $Q=new d5;class eY extends Dh{static get type(){return"ShadowNodeMaterial"}constructor(y){super(),this.isShadowNodeMaterial=!0,this.lights=!0,this.transparent=!0,this.setDefaultValues($Q),this.setValues(y)}setupLightingModel(){return new _Q}}const hM=cy("vec3"),l7=cy("vec3"),u7=cy("vec3");class tY extends null{constructor(){super()}start(y){const{material:E,context:z}=y,ne=cy("vec3"),ie=cy("vec3");Pa(nM.sub(iv).length().greaterThan(YI.mul(2)),()=>{ne.assign(nM),ie.assign(iv)}).Else(()=>{ne.assign(iv),ie.assign(nM)});const se=ie.sub(ne),le=Us("int").onRenderUpdate(({material:Se})=>Se.steps),de=se.length().div(le).toVar(),ge=se.normalize().toVar(),ve=nn(0).toVar(),xe=Xn(1).toVar();E.offsetNode&&ve.addAssign(E.offsetNode.mul(de)),zu(le,()=>{const Se=ne.add(ge.mul(ve)),Me=Hm.mul(Qo(Se,1)).xyz;E.depthNode!==null&&(l7.assign(ME(LD(Me.z,Xx,Wx))),z.sceneDepthNode=ME(E.depthNode).toVar()),z.positionWorld=Se,z.shadowPositionWorld=Se,z.positionView=Me,hM.assign(0);let De;E.scatteringNode&&(De=E.scatteringNode({positionRay:Se})),super.start(y),De&&hM.mulAssign(De);const Oe=hM.mul(.01).negate().mul(de).exp();xe.mulAssign(Oe),ve.addAssign(de)}),u7.addAssign(xe.saturate().oneMinus())}scatteringLight(y,E){const z=E.context.sceneDepthNode;z?Pa(z.greaterThanEqual(l7),()=>{hM.addAssign(y)}):hM.addAssign(y)}direct({lightNode:y,lightColor:E},z){if(y.light.distance===void 0)return;const ne=E.xyz.toVar();ne.mulAssign(y.shadowNode),this.scatteringLight(ne,z)}directRectArea({lightColor:y,lightPosition:E,halfWidth:z,halfHeight:ne},ie){const se=E.add(z).sub(ne),le=E.sub(z).sub(ne),de=E.sub(z).add(ne),ge=E.add(z).add(ne),ve=ie.context.positionView,xe=y.xyz.mul(lQ({P:ve,p0:se,p1:le,p2:de,p3:ge})).pow(1.5);this.scatteringLight(xe,ie)}finish(y){y.context.outgoingLight.assign(u7)}}class Qse extends null{static get type(){return"VolumeNodeMaterial"}constructor(y){super(),this.isVolumeNodeMaterial=!0,this.steps=25,this.offsetNode=null,this.scatteringNode=null,this.lights=!0,this.transparent=!0,this.side=BackSide,this.depthTest=!1,this.depthWrite=!1,this.setValues(y)}setupLightingModel(){return new tY}}class nY{constructor(y,E){this.nodes=y,this.info=E,this._context=typeof self!="undefined"?self:null,this._animationLoop=null,this._requestId=null}start(){const y=(E,z)=>{this._requestId=this._context.requestAnimationFrame(y),this.info.autoReset===!0&&this.info.reset(),this.nodes.nodeFrame.update(),this.info.frame=this.nodes.nodeFrame.frameId,this._animationLoop!==null&&this._animationLoop(E,z)};y()}stop(){this._context.cancelAnimationFrame(this._requestId),this._requestId=null}getAnimationLoop(){return this._animationLoop}setAnimationLoop(y){this._animationLoop=y}getContext(){return this._context}setContext(y){this._context=y}dispose(){this.stop()}}class dy{constructor(){this.weakMap=new WeakMap}get(y){let E=this.weakMap;for(let z=0;z{this.dispose()},this.onGeometryDispose=()=>{this.attributes=null,this.attributesId=null},this.material.addEventListener("dispose",this.onMaterialDispose),this.geometry.addEventListener("dispose",this.onGeometryDispose)}updateClipping(y){this.clippingContext=y}get clippingNeedsUpdate(){return this.clippingContext===null||this.clippingContext.cacheKey===this.clippingContextCacheKey?!1:(this.clippingContextCacheKey=this.clippingContext.cacheKey,!0)}get hardwareClippingPlanes(){return this.material.hardwareClipping===!0?this.clippingContext.unionClippingCount:0}getNodeBuilderState(){return this._nodeBuilderState||(this._nodeBuilderState=this._nodes.getForRender(this))}getMonitor(){return this._monitor||(this._monitor=this.getNodeBuilderState().observer)}getBindings(){return this._bindings||(this._bindings=this.getNodeBuilderState().createBindings())}getBindingGroup(y){for(const E of this.getBindings())if(E.name===y)return E}getIndex(){return this._geometries.getIndex(this)}getIndirect(){return this._geometries.getIndirect(this)}getChainArray(){return[this.object,this.material,this.context,this.lightsNode]}setGeometry(y){this.geometry=y,this.attributes=null,this.attributesId=null}getAttributes(){if(this.attributes!==null)return this.attributes;const y=this.getNodeBuilderState().nodeAttributes,E=this.geometry,z=[],ne=new Set,ie={};for(const se of y){let le;if(se.node&&se.node.attribute?le=se.node.attribute:(le=E.getAttribute(se.name),ie[se.name]=le.version),le===void 0)continue;z.push(le);const de=le.isInterleavedBufferAttribute?le.data:le;ne.add(de)}return this.attributes=z,this.attributesId=ie,this.vertexBuffers=Array.from(ne.values()),z}getVertexBuffers(){return this.vertexBuffers===null&&this.getAttributes(),this.vertexBuffers}getDrawParameters(){const{object:y,material:E,geometry:z,group:ne,drawRange:ie}=this,se=this.drawParams||(this.drawParams={vertexCount:0,firstVertex:0,instanceCount:0,firstInstance:0}),le=this.getIndex(),de=le!==null;let ge=1;if(z.isInstancedBufferGeometry===!0?ge=z.instanceCount:y.count!==void 0&&(ge=Math.max(0,y.count)),ge===0)return null;if(se.instanceCount=ge,y.isBatchedMesh===!0)return se;let ve=1;E.wireframe===!0&&!y.isPoints&&!y.isLineSegments&&!y.isLine&&!y.isLineLoop&&(ve=2);let xe=ie.start*ve,Se=(ie.start+ie.count)*ve;ne!==null&&(xe=Math.max(xe,ne.start*ve),Se=Math.min(Se,(ne.start+ne.count)*ve));const Me=z.attributes.position;let De=1/0;de?De=le.count:Me!=null&&(De=Me.count),xe=Math.max(xe,0),Se=Math.min(Se,De);const Oe=Se-xe;return Oe<0||Oe===1/0?null:(se.vertexCount=Oe,se.firstVertex=xe,se)}getGeometryCacheKey(){const{geometry:y}=this;let E="";for(const z of Object.keys(y.attributes).sort()){const ne=y.attributes[z];E+=z+",",ne.data&&(E+=ne.data.stride+","),ne.offset&&(E+=ne.offset+","),ne.itemSize&&(E+=ne.itemSize+","),ne.normalized&&(E+="n,")}for(const z of Object.keys(y.morphAttributes).sort()){const ne=y.morphAttributes[z];E+="morph-"+z+",";for(let ie=0,se=ne.length;ie1&&(z+=y.uuid+","),z+=y.receiveShadow+",",g3(z)}get needsGeometryUpdate(){if(this.geometry.id!==this.object.geometry.id)return!0;if(this.attributes!==null){const y=this.attributesId;for(const E in y){const z=this.geometry.getAttribute(E);if(z===void 0||y[E]!==z.id)return!0}}return!1}get needsUpdate(){return this.initialNodesCacheKey!==this.getDynamicCacheKey()||this.clippingNeedsUpdate}getDynamicCacheKey(){let y=0;return this.material.isShadowPassMaterial!==!0&&(y=this._nodes.getCacheKey(this.scene,this.lightsNode)),this.camera.isArrayCamera&&(y=k2(y,this.camera.cameras.length)),this.object.receiveShadow&&(y=k2(y,1)),y}getCacheKey(){return this.getMaterialCacheKey()+this.getDynamicCacheKey()}dispose(){this.material.removeEventListener("dispose",this.onMaterialDispose),this.geometry.removeEventListener("dispose",this.onGeometryDispose),this.onDispose()}}const dP=[];class sY{constructor(y,E,z,ne,ie,se){this.renderer=y,this.nodes=E,this.geometries=z,this.pipelines=ne,this.bindings=ie,this.info=se,this.chainMaps={}}get(y,E,z,ne,ie,se,le,de){const ge=this.getChainMap(de);dP[0]=y,dP[1]=E,dP[2]=se,dP[3]=ie;let ve=ge.get(dP);return ve===void 0?(ve=this.createRenderObject(this.nodes,this.geometries,this.renderer,y,E,z,ne,ie,se,le,de),ge.set(dP,ve)):(ve.updateClipping(le),ve.needsGeometryUpdate&&ve.setGeometry(y.geometry),(ve.version!==E.version||ve.needsUpdate)&&(ve.initialCacheKey!==ve.getCacheKey()?(ve.dispose(),ve=this.get(y,E,z,ne,ie,se,le,de)):ve.version=E.version)),dP.length=0,ve}getChainMap(y="default"){return this.chainMaps[y]||(this.chainMaps[y]=new dy)}dispose(){this.chainMaps={}}createRenderObject(y,E,z,ne,ie,se,le,de,ge,ve,xe){const Se=this.getChainMap(xe),Me=new oY(y,E,z,ne,ie,se,le,de,ge,ve);return Me.onDispose=()=>{this.pipelines.delete(Me),this.bindings.delete(Me),this.nodes.delete(Me),Se.delete(Me.getChainArray())},Me}}class Ew{constructor(){this.data=new WeakMap}get(y){let E=this.data.get(y);return E===void 0&&(E={},this.data.set(y,E)),E}delete(y){let E=null;return this.data.has(y)&&(E=this.data.get(y),this.data.delete(y)),E}has(y){return this.data.has(y)}dispose(){this.data=new WeakMap}}const ov={VERTEX:1,INDEX:2,STORAGE:3,INDIRECT:4},bw=16,aY=211,lY=212;class uY extends Ew{constructor(y){super(),this.backend=y}delete(y){const E=super.delete(y);return E!==null&&this.backend.destroyAttribute(y),E}update(y,E){const z=this.get(y);if(z.version===void 0)E===ov.VERTEX?this.backend.createAttribute(y):E===ov.INDEX?this.backend.createIndexAttribute(y):E===ov.STORAGE?this.backend.createStorageAttribute(y):E===ov.INDIRECT&&this.backend.createIndirectStorageAttribute(y),z.version=this._getBufferAttribute(y).version;else{const ne=this._getBufferAttribute(y);(z.version{this.info.memory.geometries--;const ie=E.index,se=y.getAttributes();ie!==null&&this.attributes.delete(ie);for(const de of se)this.attributes.delete(de);const le=this.wireframes.get(E);le!==void 0&&this.attributes.delete(le),E.removeEventListener("dispose",ne)};E.addEventListener("dispose",ne)}updateAttributes(y){const E=y.getAttributes();for(const ie of E)ie.isStorageBufferAttribute||ie.isStorageInstancedBufferAttribute?this.updateAttribute(ie,ov.STORAGE):this.updateAttribute(ie,ov.VERTEX);const z=this.getIndex(y);z!==null&&this.updateAttribute(z,ov.INDEX);const ne=y.geometry.indirect;ne!==null&&this.updateAttribute(ne,ov.INDIRECT)}updateAttribute(y,E){const z=this.info.render.calls;y.isInterleavedBufferAttribute?this.attributeCall.get(y)===void 0?(this.attributes.update(y,E),this.attributeCall.set(y,z)):this.attributeCall.get(y.data)!==z&&(this.attributes.update(y,E),this.attributeCall.set(y.data,z),this.attributeCall.set(y,z)):this.attributeCall.get(y)!==z&&(this.attributes.update(y,E),this.attributeCall.set(y,z))}getIndirect(y){return y.geometry.indirect}getIndex(y){const{geometry:E,material:z}=y;let ne=E.index;if(z.wireframe===!0){const ie=this.wireframes;let se=ie.get(E);se===void 0?(se=h7(E),ie.set(E,se)):se.version!==c7(E)&&(this.attributes.delete(se),se=h7(E),ie.set(E,se)),ne=se}return ne}}class hY{constructor(){this.autoReset=!0,this.frame=0,this.calls=0,this.render={calls:0,frameCalls:0,drawCalls:0,triangles:0,points:0,lines:0,timestamp:0},this.compute={calls:0,frameCalls:0,timestamp:0},this.memory={geometries:0,textures:0}}update(y,E,z){this.render.drawCalls++,y.isMesh||y.isSprite?this.render.triangles+=z*(E/3):y.isPoints?this.render.points+=z*E:y.isLineSegments?this.render.lines+=z*(E/2):y.isLine?this.render.lines+=z*(E-1):console.error("THREE.WebGPUInfo: Unknown object type.")}reset(){this.render.drawCalls=0,this.render.frameCalls=0,this.compute.frameCalls=0,this.render.triangles=0,this.render.points=0,this.render.lines=0}dispose(){this.reset(),this.calls=0,this.render.calls=0,this.compute.calls=0,this.render.timestamp=0,this.compute.timestamp=0,this.memory.geometries=0,this.memory.textures=0}}class d7{constructor(y){this.cacheKey=y,this.usedTimes=0}}class dY extends d7{constructor(y,E,z){super(y),this.vertexProgram=E,this.fragmentProgram=z}}class fY extends d7{constructor(y,E){super(y),this.computeProgram=E,this.isComputePipeline=!0}}let gY=0;class aF{constructor(y,E,z,ne=null,ie=null){this.id=gY++,this.code=y,this.stage=E,this.name=z,this.transforms=ne,this.attributes=ie,this.usedTimes=0}}class pY extends Ew{constructor(y,E){super(),this.backend=y,this.nodes=E,this.bindings=null,this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}getForCompute(y,E){const{backend:z}=this,ne=this.get(y);if(this._needsComputeUpdate(y)){const ie=ne.pipeline;ie&&(ie.usedTimes--,ie.computeProgram.usedTimes--);const se=this.nodes.getForCompute(y);let le=this.programs.compute.get(se.computeShader);le===void 0&&(ie&&ie.computeProgram.usedTimes===0&&this._releaseProgram(ie.computeProgram),le=new aF(se.computeShader,"compute",y.name,se.transforms,se.nodeAttributes),this.programs.compute.set(se.computeShader,le),z.createProgram(le));const de=this._getComputeCacheKey(y,le);let ge=this.caches.get(de);ge===void 0&&(ie&&ie.usedTimes===0&&this._releasePipeline(ie),ge=this._getComputePipeline(y,le,de,E)),ge.usedTimes++,le.usedTimes++,ne.version=y.version,ne.pipeline=ge}return ne.pipeline}getForRender(y,E=null){const{backend:z}=this,ne=this.get(y);if(this._needsRenderUpdate(y)){const ie=ne.pipeline;ie&&(ie.usedTimes--,ie.vertexProgram.usedTimes--,ie.fragmentProgram.usedTimes--);const se=y.getNodeBuilderState(),le=y.material?y.material.name:"";let de=this.programs.vertex.get(se.vertexShader);de===void 0&&(ie&&ie.vertexProgram.usedTimes===0&&this._releaseProgram(ie.vertexProgram),de=new aF(se.vertexShader,"vertex",le),this.programs.vertex.set(se.vertexShader,de),z.createProgram(de));let ge=this.programs.fragment.get(se.fragmentShader);ge===void 0&&(ie&&ie.fragmentProgram.usedTimes===0&&this._releaseProgram(ie.fragmentProgram),ge=new aF(se.fragmentShader,"fragment",le),this.programs.fragment.set(se.fragmentShader,ge),z.createProgram(ge));const ve=this._getRenderCacheKey(y,de,ge);let xe=this.caches.get(ve);xe===void 0?(ie&&ie.usedTimes===0&&this._releasePipeline(ie),xe=this._getRenderPipeline(y,de,ge,ve,E)):y.pipeline=xe,xe.usedTimes++,de.usedTimes++,ge.usedTimes++,ne.pipeline=xe}return ne.pipeline}delete(y){const E=this.get(y).pipeline;return E&&(E.usedTimes--,E.usedTimes===0&&this._releasePipeline(E),E.isComputePipeline?(E.computeProgram.usedTimes--,E.computeProgram.usedTimes===0&&this._releaseProgram(E.computeProgram)):(E.fragmentProgram.usedTimes--,E.vertexProgram.usedTimes--,E.vertexProgram.usedTimes===0&&this._releaseProgram(E.vertexProgram),E.fragmentProgram.usedTimes===0&&this._releaseProgram(E.fragmentProgram))),super.delete(y)}dispose(){super.dispose(),this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}updateForRender(y){this.getForRender(y)}_getComputePipeline(y,E,z,ne){z=z||this._getComputeCacheKey(y,E);let ie=this.caches.get(z);return ie===void 0&&(ie=new fY(z,E),this.caches.set(z,ie),this.backend.createComputePipeline(ie,ne)),ie}_getRenderPipeline(y,E,z,ne,ie){ne=ne||this._getRenderCacheKey(y,E,z);let se=this.caches.get(ne);return se===void 0&&(se=new dY(ne,E,z),this.caches.set(ne,se),y.pipeline=se,this.backend.createRenderPipeline(y,ie)),se}_getComputeCacheKey(y,E){return y.id+","+E.id}_getRenderCacheKey(y,E,z){return E.id+","+z.id+","+this.backend.getRenderCacheKey(y)}_releasePipeline(y){this.caches.delete(y.cacheKey)}_releaseProgram(y){const E=y.code,z=y.stage;this.programs[z].delete(E)}_needsComputeUpdate(y){const E=this.get(y);return E.pipeline===void 0||E.version!==y.version}_needsRenderUpdate(y){return this.get(y).pipeline===void 0||this.backend.needsRenderUpdate(y)}}class mY extends Ew{constructor(y,E,z,ne,ie,se){super(),this.backend=y,this.textures=z,this.pipelines=ie,this.attributes=ne,this.nodes=E,this.info=se,this.pipelines.bindings=this}getForRender(y){const E=y.getBindings();for(const z of E){const ne=this.get(z);ne.bindGroup===void 0&&(this._init(z),this.backend.createBindings(z,E,0),ne.bindGroup=z)}return E}getForCompute(y){const E=this.nodes.getForCompute(y).bindings;for(const z of E){const ne=this.get(z);ne.bindGroup===void 0&&(this._init(z),this.backend.createBindings(z,E,0),ne.bindGroup=z)}return E}updateForCompute(y){this._updateBindings(this.getForCompute(y))}updateForRender(y){this._updateBindings(this.getForRender(y))}_updateBindings(y){for(const E of y)this._update(E,y)}_init(y){for(const E of y.bindings)if(E.isSampledTexture)this.textures.updateTexture(E.texture);else if(E.isStorageBuffer){const z=E.attribute,ne=z.isIndirectStorageBufferAttribute?ov.INDIRECT:ov.STORAGE;this.attributes.update(z,ne)}}_update(y,E){const{backend:z}=this;let ne=!1,ie=!0,se=0,le=0;for(const de of y.bindings)if(!(de.isNodeUniformsGroup&&this.nodes.updateGroup(de)===!1)){if(de.isStorageBuffer){const ge=de.attribute,ve=ge.isIndirectStorageBufferAttribute?ov.INDIRECT:ov.STORAGE;this.attributes.update(ge,ve)}if(de.isUniformBuffer)de.update()&&z.updateBinding(de);else if(de.isSampler)de.update();else if(de.isSampledTexture){const ge=this.textures.get(de.texture);de.needsBindingsUpdate(ge.generation)&&(ne=!0);const ve=de.update(),xe=de.texture;ve&&this.textures.updateTexture(xe);const Se=z.get(xe);if(Se.externalTexture!==void 0||ge.isDefaultTexture?ie=!1:(se=se*10+xe.id,le+=xe.version),z.isWebGPUBackend===!0&&Se.texture===void 0&&Se.externalTexture===void 0&&(console.error("Bindings._update: binding should be available:",de,ve,xe,de.textureNode.value,ne),this.textures.updateTexture(xe),ne=!0),xe.isStorageTexture===!0){const Me=this.get(xe);de.store===!0?Me.needsMipmap=!0:this.textures.needsMipmaps(xe)&&Me.needsMipmap===!0&&(this.backend.generateMipmaps(xe),Me.needsMipmap=!1)}}}ne===!0&&this.backend.updateBindings(y,E,ie?se:0,le)}}function vY(ee,y){return ee.groupOrder!==y.groupOrder?ee.groupOrder-y.groupOrder:ee.renderOrder!==y.renderOrder?ee.renderOrder-y.renderOrder:ee.z!==y.z?ee.z-y.z:ee.id-y.id}function f7(ee,y){return ee.groupOrder!==y.groupOrder?ee.groupOrder-y.groupOrder:ee.renderOrder!==y.renderOrder?ee.renderOrder-y.renderOrder:ee.z!==y.z?y.z-ee.z:ee.id-y.id}function g7(ee){return(ee.transmission>0||ee.transmissionNode)&&ee.side===eh&&ee.forceSinglePass===!1}class yY{constructor(y,E,z){this.renderItems=[],this.renderItemsIndex=0,this.opaque=[],this.transparentDoublePass=[],this.transparent=[],this.bundles=[],this.lightsNode=y.getNode(E,z),this.lightsArray=[],this.scene=E,this.camera=z,this.occlusionQueryCount=0}begin(){return this.renderItemsIndex=0,this.opaque.length=0,this.transparentDoublePass.length=0,this.transparent.length=0,this.bundles.length=0,this.lightsArray.length=0,this.occlusionQueryCount=0,this}getNextRenderItem(y,E,z,ne,ie,se,le){let de=this.renderItems[this.renderItemsIndex];return de===void 0?(de={id:y.id,object:y,geometry:E,material:z,groupOrder:ne,renderOrder:y.renderOrder,z:ie,group:se,clippingContext:le},this.renderItems[this.renderItemsIndex]=de):(de.id=y.id,de.object=y,de.geometry=E,de.material=z,de.groupOrder=ne,de.renderOrder=y.renderOrder,de.z=ie,de.group=se,de.clippingContext=le),this.renderItemsIndex++,de}push(y,E,z,ne,ie,se,le){const de=this.getNextRenderItem(y,E,z,ne,ie,se,le);y.occlusionTest===!0&&this.occlusionQueryCount++,z.transparent===!0||z.transmission>0?(g7(z)&&this.transparentDoublePass.push(de),this.transparent.push(de)):this.opaque.push(de)}unshift(y,E,z,ne,ie,se,le){const de=this.getNextRenderItem(y,E,z,ne,ie,se,le);z.transparent===!0||z.transmission>0?(g7(z)&&this.transparentDoublePass.unshift(de),this.transparent.unshift(de)):this.opaque.unshift(de)}pushBundle(y){this.bundles.push(y)}pushLight(y){this.lightsArray.push(y)}sort(y,E){this.opaque.length>1&&this.opaque.sort(y||vY),this.transparentDoublePass.length>1&&this.transparentDoublePass.sort(E||f7),this.transparent.length>1&&this.transparent.sort(E||f7)}finish(){this.lightsNode.setLights(this.lightsArray);for(let y=this.renderItemsIndex,E=this.renderItems.length;y>E,ge=le.height>>E;let ve=y.depthTexture||ie[E];const xe=y.depthBuffer===!0||y.stencilBuffer===!0;let Se=!1;ve===void 0&&xe&&(ve=new Wo,ve.format=y.stencilBuffer?Mh:Oh,ve.type=y.stencilBuffer?_d:nu,ve.image.width=de,ve.image.height=ge,ve.image.depth=le.depth,ve.isArrayTexture=y.multiview===!0&&le.depth>1,ie[E]=ve),(z.width!==le.width||le.height!==z.height)&&(Se=!0,ve&&(ve.needsUpdate=!0,ve.image.width=de,ve.image.height=ge,ve.image.depth=ve.isArrayTexture?ve.image.depth:1)),z.width=le.width,z.height=le.height,z.textures=se,z.depthTexture=ve||null,z.depth=y.depthBuffer,z.stencil=y.stencilBuffer,z.renderTarget=y,z.sampleCount!==ne&&(Se=!0,ve&&(ve.needsUpdate=!0),z.sampleCount=ne);const Me={sampleCount:ne};if(y.isXRRenderTarget!==!0){for(let De=0;De{y.removeEventListener("dispose",De);for(let Oe=0;Oe0){const ve=y.image;if(ve===void 0)console.warn("THREE.Renderer: Texture marked for update but image is undefined.");else if(ve.complete===!1)console.warn("THREE.Renderer: Texture marked for update but image is incomplete.");else{if(y.images){const xe=[];for(const Se of y.images)xe.push(Se);E.images=xe}else E.image=ve;(z.isDefaultTexture===void 0||z.isDefaultTexture===!0)&&(ie.createTexture(y,E),z.isDefaultTexture=!1,z.generation=y.version),y.source.dataReady===!0&&ie.updateTexture(y,E),E.needsMipmaps&&y.mipmaps.length===0&&ie.generateMipmaps(y)}}else ie.createDefaultTexture(y),z.isDefaultTexture=!0,z.generation=y.version;if(z.initialized!==!0){z.initialized=!0,z.generation=y.version,this.info.memory.textures++;const ge=()=>{y.removeEventListener("dispose",ge),this._destroyTexture(y)};y.addEventListener("dispose",ge)}z.version=y.version}getSize(y,E=EY){let z=y.images?y.images[0]:y.image;return z?(z.image!==void 0&&(z=z.image),E.width=z.width||1,E.height=z.height||1,E.depth=y.isCubeTexture?6:z.depth||1):E.width=E.height=E.depth=1,E}getMipLevels(y,E,z){let ne;return y.isCompressedTexture?y.mipmaps?ne=y.mipmaps.length:ne=1:ne=Math.floor(Math.log2(Math.max(E,z)))+1,ne}needsMipmaps(y){return y.isCompressedTexture===!0||y.generateMipmaps}_destroyTexture(y){this.has(y)===!0&&(this.backend.destroySampler(y),this.backend.destroyTexture(y),this.delete(y),this.info.memory.textures--)}}class lF extends fo{constructor(y,E,z,ne=1){super(y,E,z),this.a=ne}set(y,E,z,ne=1){return this.a=ne,super.set(y,E,z)}copy(y){return y.a!==void 0&&(this.a=y.a),super.copy(y)}clone(){return new this.constructor(this.r,this.g,this.b,this.a)}}class m7 extends Ou{static get type(){return"ParameterNode"}constructor(y,E=null){super(y,E),this.isParameterNode=!0}getHash(){return this.uuid}generate(){return this.name}}const MY=(ee,y)=>ir(new m7(ee,y));class BY extends da{static get type(){return"StackNode"}constructor(y=null){super(),this.nodes=[],this.outputNode=null,this.parent=y,this._currentCond=null,this._expressionNode=null,this.isStackNode=!0}getNodeType(y){return this.outputNode?this.outputNode.getNodeType(y):"void"}getMemberType(y,E){return this.outputNode?this.outputNode.getMemberType(y,E):"void"}add(y){return this.nodes.push(y),this}If(y,E){const z=new mE(E);return this._currentCond=jf(y,z),this.add(this._currentCond)}ElseIf(y,E){const z=new mE(E),ne=jf(y,z);return this._currentCond.elseNode=ne,this._currentCond=ne,this}Else(y){return this._currentCond.elseNode=new mE(y),this}Switch(y){return this._expressionNode=ir(y),this}Case(...y){const E=[];if(y.length>=2)for(let le=0;letypeof E=="string"?{name:y,type:E,atomic:!1}:{name:y,type:E.type,atomic:E.atomic||!1})}class DY extends da{static get type(){return"StructTypeNode"}constructor(y,E=null){super("struct"),this.membersLayout=TY(y),this.name=E,this.isStructLayoutNode=!0}getLength(){const E=Float32Array.BYTES_PER_ELEMENT;let z=0;for(const ne of this.membersLayout){const ie=ne.type,se=r8(ie)*E,le=o8(ie),de=z%8,ge=de%le,ve=de+ge;z+=ge,ve!==0&&8-vene.name===E);return z?z.type:"void"}getNodeType(y){return y.getStructTypeFromNode(this,this.membersLayout,this.name).name}setup(y){y.addInclude(this)}generate(y){return this.getNodeType(y)}}class FY extends da{static get type(){return"StructNode"}constructor(y,E){super("vec3"),this.structLayoutNode=y,this.values=E,this.isStructNode=!0}getNodeType(y){return this.structLayoutNode.getNodeType(y)}getMemberType(y,E){return this.structLayoutNode.getMemberType(y,E)}generate(y){const E=y.getVarFromNode(this),z=E.type,ne=y.getPropertyName(E);return y.addLineFlowCode(`${ne} = ${y.generateStruct(z,this.structLayoutNode.membersLayout,this.values)}`,this),E.name}}const LY=(ee,y=null)=>{const E=new DY(ee,y),z=(...ne)=>{let ie=null;if(ne.length>0)if(ne[0].isNode){ie={};const se=Object.keys(ee);for(let le=0;le{const y=ee.toUint().mul(747796405).add(2891336453),E=y.shiftRight(y.shiftRight(28).add(4)).bitXor(y).mul(277803737);return E.shiftRight(22).bitXor(E).toFloat().mul(1/XL(2,32))}),uF=(ee,y)=>hy(il(4,ee.mul(Wl(1,ee))),y),OY=(ee,y)=>ee.lessThan(.5)?uF(ee.mul(2),y).div(2):Wl(1,uF(il(Wl(1,ee),2),y).div(2)),kY=(ee,y,E)=>hy(_0(hy(ee,y),Od(hy(ee,y),hy(Wl(1,ee),E))),1/y),zY=(ee,y)=>km(Q5.mul(y.mul(ee).sub(1))).div(Q5.mul(y.mul(ee).sub(1))),Jx=Kn(([ee])=>ee.fract().sub(.5).abs()).setLayout({name:"tri",type:"float",inputs:[{name:"x",type:"float"}]}),HY=Kn(([ee])=>Xn(Jx(ee.z.add(Jx(ee.y.mul(1)))),Jx(ee.z.add(Jx(ee.x.mul(1)))),Jx(ee.y.add(Jx(ee.x.mul(1)))))).setLayout({name:"tri3",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),UY=Kn(([ee,y,E])=>{const z=Xn(ee).toVar(),ne=nn(1.4).toVar(),ie=nn(0).toVar(),se=Xn(z).toVar();return zu({start:nn(0),end:nn(3),type:"float",condition:"<="},()=>{const le=Xn(HY(se.mul(2))).toVar();z.addAssign(le.add(E.mul(nn(.1).mul(y)))),se.mulAssign(1.8),ne.mulAssign(1.5),z.mulAssign(1.2);const de=nn(Jx(z.z.add(Jx(z.x.add(Jx(z.y)))))).toVar();ie.addAssign(de.div(ne)),se.addAssign(.14)}),ie}).setLayout({name:"triNoise3D",type:"float",inputs:[{name:"position",type:"vec3"},{name:"speed",type:"float"},{name:"time",type:"float"}]});class VY extends da{static get type(){return"FunctionOverloadingNode"}constructor(y=[],...E){super(),this.functionNodes=y,this.parametersNodes=E,this._candidateFnCall=null,this.global=!0}getNodeType(){return this.functionNodes[0].shaderNode.layout.type}setup(y){const E=this.parametersNodes;let z=this._candidateFnCall;if(z===null){let ne=null,ie=-1;for(const se of this.functionNodes){const de=se.shaderNode.layout;if(de===null)throw new Error("FunctionOverloadingNode: FunctionNode must be a layout.");const ge=de.inputs;if(E.length===ge.length){let ve=0;for(let xe=0;xeie&&(ne=se,ie=ve)}}this._candidateFnCall=z=ne(...E)}return z}}const jY=Ar(VY),ug=ee=>(...y)=>jY(ee,...y),fP=Us(0).setGroup(pa).onRenderUpdate(ee=>ee.time),x7=Us(0).setGroup(pa).onRenderUpdate(ee=>ee.deltaTime),GY=Us(0,"uint").setGroup(pa).onRenderUpdate(ee=>ee.frameId),XY=(ee=1)=>(console.warn('TSL: timerLocal() is deprecated. Use "time" instead.'),fP.mul(ee)),WY=(ee=1)=>(console.warn('TSL: timerGlobal() is deprecated. Use "time" instead.'),fP.mul(ee)),QY=(ee=1)=>(console.warn('TSL: timerDelta() is deprecated. Use "deltaTime" instead.'),x7.mul(ee)),YY=(ee=fP)=>ee.add(.75).mul(Math.PI*2).sin().mul(.5).add(.5),ZY=(ee=fP)=>ee.fract().round(),KY=(ee=fP)=>ee.add(.5).fract().mul(2).sub(1).abs(),JY=(ee=fP)=>ee.fract(),qY=Kn(([ee,y,E=Er(.5)])=>wB(ee.sub(E),y).add(E)),_Y=Kn(([ee,y,E=Er(.5)])=>{const z=ee.sub(E),ne=z.dot(z),se=ne.mul(ne).mul(y);return ee.add(z.mul(se))}),$Y=Kn(({position:ee=null,horizontal:y=!0,vertical:E=!1})=>{let z;ee!==null?(z=nv.toVar(),z[3][0]=ee.x,z[3][1]=ee.y,z[3][2]=ee.z):z=nv;const ne=Hm.mul(z);return V2(y)&&(ne[0][0]=nv[0].length(),ne[0][1]=0,ne[0][2]=0),V2(E)&&(ne[1][0]=0,ne[1][1]=nv[1].length(),ne[1][2]=0),ne[2][0]=0,ne[2][1]=0,ne[2][2]=1,zm.mul(ne).mul(qh)}),eZ=Kn(([ee=null])=>{const y=ME();return ME(FD(ee)).sub(y).lessThan(0).select(Zx,ee)});class tZ extends da{static get type(){return"SpriteSheetUVNode"}constructor(y,E=wc(),z=nn(0)){super("vec2"),this.countNode=y,this.uvNode=E,this.frameNode=z}setup(){const{frameNode:y,uvNode:E,countNode:z}=this,{width:ne,height:ie}=z,se=y.mod(ne.mul(ie)).floor(),le=se.mod(ne),de=ie.sub(se.add(1).div(ne).ceil()),ge=z.reciprocal(),ve=Er(le,de);return E.add(ve).mul(ge)}}const nZ=Ar(tZ).setParameterLength(3),w7=Kn(([ee,y=null,E=null,z=nn(1),ne=qh,ie=Wp])=>{let se=ie.abs().normalize();se=se.div(se.dot(Xn(1)));const le=ne.yz.mul(z),de=ne.zx.mul(z),ge=ne.xy.mul(z),ve=ee.value,xe=y!==null?y.value:ve,Se=E!==null?E.value:ve,Me=Dl(ve,le).mul(se.x),De=Dl(xe,de).mul(se.y),Oe=Dl(Se,ge).mul(se.z);return Od(Me,De,Oe)}),iZ=(...ee)=>w7(...ee),FE=new $f,gP=new Vt,LE=new Vt,cF=new Vt,gM=new rs,PB=new Vt(0,0,-1),EA=new Ks,pM=new Vt,CB=new Vt,mM=new Ks,EB=new ki,bB=new Np,rZ=Zx.flipX();bB.depthTexture=new Wo(1,1);let MB=!1;class hF extends CA{static get type(){return"ReflectorNode"}constructor(y={}){super(y.defaultTexture||bB.texture,rZ),this._reflectorBaseNode=y.reflector||new oZ(this,y),this._depthNode=null,this.setUpdateMatrix(!1)}get reflector(){return this._reflectorBaseNode}get target(){return this._reflectorBaseNode.target}getDepthNode(){if(this._depthNode===null){if(this._reflectorBaseNode.depth!==!0)throw new Error("THREE.ReflectorNode: Depth node can only be requested when the reflector is created with { depth: true }. ");this._depthNode=ir(new hF({defaultTexture:bB.depthTexture,reflector:this._reflectorBaseNode}))}return this._depthNode}setup(y){return y.object.isQuadMesh||this._reflectorBaseNode.build(y),super.setup(y)}clone(){const y=new this.constructor(this.reflectorNode);return y.uvNode=this.uvNode,y.levelNode=this.levelNode,y.biasNode=this.biasNode,y.sampler=this.sampler,y.depthNode=this.depthNode,y.compareNode=this.compareNode,y.gradNode=this.gradNode,y._reflectorBaseNode=this._reflectorBaseNode,y}dispose(){super.dispose(),this._reflectorBaseNode.dispose()}}class oZ extends da{static get type(){return"ReflectorBaseNode"}constructor(y,E={}){super();const{target:z=new yc,resolution:ne=1,generateMipmaps:ie=!1,bounces:se=!0,depth:le=!1}=E;this.textureNode=y,this.target=z,this.resolution=ne,this.generateMipmaps=ie,this.bounces=se,this.depth=le,this.updateBeforeType=se?al.RENDER:al.FRAME,this.virtualCameras=new WeakMap,this.renderTargets=new Map,this.forceUpdate=!1,this.hasOutput=!1}_updateResolution(y,E){const z=this.resolution;E.getDrawingBufferSize(EB),y.setSize(Math.round(EB.width*z),Math.round(EB.height*z))}setup(y){return this._updateResolution(bB,y.renderer),super.setup(y)}dispose(){super.dispose();for(const y of this.renderTargets.values())y.dispose()}getVirtualCamera(y){let E=this.virtualCameras.get(y);return E===void 0&&(E=y.clone(),this.virtualCameras.set(y,E)),E}getRenderTarget(y){let E=this.renderTargets.get(y);return E===void 0&&(E=new Np(0,0,{type:mc}),this.generateMipmaps===!0&&(E.texture.minFilter=My,E.texture.generateMipmaps=!0),this.depth===!0&&(E.depthTexture=new Wo),this.renderTargets.set(y,E)),E}updateBefore(y){if(this.bounces===!1&&MB)return!1;MB=!0;const{scene:E,camera:z,renderer:ne,material:ie}=y,{target:se}=this,le=this.getVirtualCamera(z),de=this.getRenderTarget(le);ne.getDrawingBufferSize(EB),this._updateResolution(de,ne),LE.setFromMatrixPosition(se.matrixWorld),cF.setFromMatrixPosition(z.matrixWorld),gM.extractRotation(se.matrixWorld),gP.set(0,0,1),gP.applyMatrix4(gM),pM.subVectors(LE,cF);const ge=pM.dot(gP)>0;let ve=!1;if(ge===!0&&this.forceUpdate===!1){if(this.hasOutput===!1){MB=!1;return}ve=!0}pM.reflect(gP).negate(),pM.add(LE),gM.extractRotation(z.matrixWorld),PB.set(0,0,-1),PB.applyMatrix4(gM),PB.add(cF),CB.subVectors(LE,PB),CB.reflect(gP).negate(),CB.add(LE),le.coordinateSystem=z.coordinateSystem,le.position.copy(pM),le.up.set(0,1,0),le.up.applyMatrix4(gM),le.up.reflect(gP),le.lookAt(CB),le.near=z.near,le.far=z.far,le.updateMatrixWorld(),le.projectionMatrix.copy(z.projectionMatrix),FE.setFromNormalAndCoplanarPoint(gP,LE),FE.applyMatrix4(le.matrixWorldInverse),EA.set(FE.normal.x,FE.normal.y,FE.normal.z,FE.constant);const xe=le.projectionMatrix;mM.x=(Math.sign(EA.x)+xe.elements[8])/xe.elements[0],mM.y=(Math.sign(EA.y)+xe.elements[9])/xe.elements[5],mM.z=-1,mM.w=(1+xe.elements[10])/xe.elements[14],EA.multiplyScalar(1/EA.dot(mM));const Se=0;xe.elements[2]=EA.x,xe.elements[6]=EA.y,xe.elements[10]=ne.coordinateSystem===rd?EA.z-Se:EA.z+1-Se,xe.elements[14]=EA.w,this.textureNode.value=de.texture,this.depth===!0&&(this.textureNode.getDepthNode().value=de.depthTexture),ie.visible=!1;const Me=ne.getRenderTarget(),De=ne.getMRT(),Oe=ne.autoClear;ne.setMRT(null),ne.setRenderTarget(de),ne.autoClear=!0,ve?(ne.clear(),this.hasOutput=!1):(ne.render(E,le),this.hasOutput=!0),ne.setMRT(De),ne.setRenderTarget(Me),ne.autoClear=Oe,ie.visible=!0,MB=!1,this.forceUpdate=!1}}const sZ=ee=>ir(new hF(ee)),dF=new Kv(-1,1,1,-1,0,1);class aZ extends Ha{constructor(y=!1){super();const E=y===!1?[0,-1,0,1,2,1]:[0,2,0,0,2,0];this.setAttribute("position",new ds([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new ds(E,2))}}const lZ=new aZ;class vM extends lu{constructor(y=null){super(lZ,y),this.camera=dF,this.isQuadMesh=!0}renderAsync(y){return la(this,null,function*(){return y.renderAsync(this,dF)})}render(y){y.render(this,dF)}}const uZ=new ki;class cZ extends CA{static get type(){return"RTTNode"}constructor(y,E=null,z=null,ne={type:mc}){const ie=new Np(E,z,ne);super(ie.texture,wc()),this.node=y,this.width=E,this.height=z,this.pixelRatio=1,this.renderTarget=ie,this.textureNeedsUpdate=!0,this.autoUpdate=!0,this._rttNode=null,this._quadMesh=new vM(new Dh),this.updateBeforeType=al.RENDER}get autoResize(){return this.width===null}setup(y){return this._rttNode=this.node.context(y.getSharedContext()),this._quadMesh.material.name="RTT",this._quadMesh.material.needsUpdate=!0,super.setup(y)}setSize(y,E){this.width=y,this.height=E;const z=y*this.pixelRatio,ne=E*this.pixelRatio;this.renderTarget.setSize(z,ne),this.textureNeedsUpdate=!0}setPixelRatio(y){this.pixelRatio=y,this.setSize(this.width,this.height)}updateBefore({renderer:y}){if(this.textureNeedsUpdate===!1&&this.autoUpdate===!1)return;if(this.textureNeedsUpdate=!1,this.autoResize===!0){const z=y.getPixelRatio(),ne=y.getSize(uZ),ie=ne.width*z,se=ne.height*z;(ie!==this.renderTarget.width||se!==this.renderTarget.height)&&(this.renderTarget.setSize(ie,se),this.textureNeedsUpdate=!0)}this._quadMesh.material.fragmentNode=this._rttNode;const E=y.getRenderTarget();y.setRenderTarget(this.renderTarget),this._quadMesh.render(y),y.setRenderTarget(E)}clone(){const y=new CA(this.value,this.uvNode,this.levelNode);return y.sampler=this.sampler,y.referenceNode=this,y}}const S7=(ee,...y)=>ir(new cZ(ir(ee),...y)),hZ=(ee,...y)=>ee.isTextureNode?ee:ee.isPassNode?ee.getTextureNode():S7(ee,...y),NE=Kn(([ee,y,E],z)=>{let ne;z.renderer.coordinateSystem===rd?(ee=Er(ee.x,ee.y.oneMinus()).mul(2).sub(1),ne=Qo(Xn(ee,y),1)):ne=Qo(Xn(ee.x,ee.y.oneMinus(),y).mul(2).sub(1),1);const ie=Qo(E.mul(ne));return ie.xyz.div(ie.w)}),dZ=Kn(([ee,y])=>{const E=y.mul(Qo(ee,1)),z=E.xy.div(E.w).mul(.5).add(.5).toVar();return Er(z.x,z.y.oneMinus())}),fZ=Kn(([ee,y,E])=>{const z=ww(Jh(y)),ne=pf(ee.mul(z)).toVar(),ie=Jh(y,ne).toVar(),se=Jh(y,ne.sub(pf(2,0))).toVar(),le=Jh(y,ne.sub(pf(1,0))).toVar(),de=Jh(y,ne.add(pf(1,0))).toVar(),ge=Jh(y,ne.add(pf(2,0))).toVar(),ve=Jh(y,ne.add(pf(0,2))).toVar(),xe=Jh(y,ne.add(pf(0,1))).toVar(),Se=Jh(y,ne.sub(pf(0,1))).toVar(),Me=Jh(y,ne.sub(pf(0,2))).toVar(),De=xc(Wl(nn(2).mul(le).sub(se),ie)).toVar(),Oe=xc(Wl(nn(2).mul(de).sub(ge),ie)).toVar(),Re=xc(Wl(nn(2).mul(xe).sub(ve),ie)).toVar(),Le=xc(Wl(nn(2).mul(Se).sub(Me),ie)).toVar(),Qe=NE(ee,ie,E).toVar(),Xe=De.lessThan(Oe).select(Qe.sub(NE(ee.sub(Er(nn(1).div(z.x),0)),le,E)),Qe.negate().add(NE(ee.add(Er(nn(1).div(z.x),0)),de,E))),Ze=Re.lessThan(Le).select(Qe.sub(NE(ee.add(Er(0,nn(1).div(z.y))),xe,E)),Qe.negate().add(NE(ee.sub(Er(0,nn(1).div(z.y))),Se,E)));return Ux(J5(Xe,Ze))});class gZ extends da{static get type(){return"SampleNode"}constructor(y){super(),this.callback=y,this.isSampleNode=!0}setup(){return this.sample(wc())}sample(y){return this.callback(y)}}const pZ=ee=>ir(new gZ(ee));class mZ extends _f{constructor(y,E,z=Float32Array){const ne=ArrayBuffer.isView(y)?y:new z(y*E);super(ne,E),this.isStorageInstancedBufferAttribute=!0}}class vZ extends wl{constructor(y,E,z=Float32Array){const ne=ArrayBuffer.isView(y)?y:new z(y*E);super(ne,E),this.isStorageBufferAttribute=!0}}const yZ=(ee,y="float")=>{let E,z;y.isStruct===!0?(E=y.layout.getLength(),z=H2("float")):(E=v3(y),z=H2(y));const ne=new vZ(ee,E,z);return lP(ne,y,ee)},AZ=(ee,y="float")=>{let E,z;y.isStruct===!0?(E=y.layout.getLength(),z=H2("float")):(E=v3(y),z=H2(y));const ne=new mZ(ee,E,z);return lP(ne,y,ee)};class xZ extends da{static get type(){return"PointUVNode"}constructor(){super("vec2"),this.isPointUVNode=!0}generate(){return"vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y )"}}const wZ=lo(xZ),yM=new Pu,fF=new rs;class Yp extends da{static get type(){return"SceneNode"}constructor(y=Yp.BACKGROUND_BLURRINESS,E=null){super(),this.scope=y,this.scene=E}setup(y){const E=this.scope,z=this.scene!==null?this.scene:y.scene;let ne;return E===Yp.BACKGROUND_BLURRINESS?ne=lc("backgroundBlurriness","float",z):E===Yp.BACKGROUND_INTENSITY?ne=lc("backgroundIntensity","float",z):E===Yp.BACKGROUND_ROTATION?ne=Us("mat4").label("backgroundRotation").setGroup(pa).onRenderUpdate(()=>{const ie=z.background;return ie!==null&&ie.isTexture&&ie.mapping!==i0?(yM.copy(z.backgroundRotation),yM.x*=-1,yM.y*=-1,yM.z*=-1,fF.makeRotationFromEuler(yM)):fF.identity(),fF}):console.error("THREE.SceneNode: Unknown scope:",E),ne}}Yp.BACKGROUND_BLURRINESS="backgroundBlurriness",Yp.BACKGROUND_INTENSITY="backgroundIntensity",Yp.BACKGROUND_ROTATION="backgroundRotation";const P7=lo(Yp,Yp.BACKGROUND_BLURRINESS),gF=lo(Yp,Yp.BACKGROUND_INTENSITY),C7=lo(Yp,Yp.BACKGROUND_ROTATION);class SZ extends CA{static get type(){return"StorageTextureNode"}constructor(y,E,z=null){super(y,E),this.storeNode=z,this.isStorageTextureNode=!0,this.access=Og.WRITE_ONLY}getInputType(){return"storageTexture"}setup(y){super.setup(y);const E=y.getNodeProperties(this);return E.storeNode=this.storeNode,E}setAccess(y){return this.access=y,this}generate(y,E){let z;return this.storeNode!==null?z=this.generateStore(y):z=super.generate(y,E),z}toReadWrite(){return this.setAccess(Og.READ_WRITE)}toReadOnly(){return this.setAccess(Og.READ_ONLY)}toWriteOnly(){return this.setAccess(Og.WRITE_ONLY)}generateStore(y){const E=y.getNodeProperties(this),{uvNode:z,storeNode:ne,depthNode:ie}=E,se=super.generate(y,"property"),le=z.build(y,"uvec2"),de=ne.build(y,"vec4"),ge=ie?ie.build(y,"int"):null,ve=y.generateTextureStore(y,se,le,ge,de);y.addLineFlowCode(ve,this)}clone(){const y=super.clone();return y.storeNode=this.storeNode,y}}const E7=Ar(SZ).setParameterLength(1,3),PZ=(ee,y,E)=>{const z=E7(ee,y,E);return E!==null&&z.toStack(),z},CZ=Kn(({texture:ee,uv:y})=>{const z=Xn().toVar();return Pa(y.x.lessThan(1e-4),()=>{z.assign(Xn(1,0,0))}).ElseIf(y.y.lessThan(1e-4),()=>{z.assign(Xn(0,1,0))}).ElseIf(y.z.lessThan(1e-4),()=>{z.assign(Xn(0,0,1))}).ElseIf(y.x.greaterThan(1-1e-4),()=>{z.assign(Xn(-1,0,0))}).ElseIf(y.y.greaterThan(1-1e-4),()=>{z.assign(Xn(0,-1,0))}).ElseIf(y.z.greaterThan(1-1e-4),()=>{z.assign(Xn(0,0,-1))}).Else(()=>{const ie=ee.sample(y.add(Xn(-.01,0,0))).r.sub(ee.sample(y.add(Xn(.01,0,0))).r),se=ee.sample(y.add(Xn(0,-.01,0))).r.sub(ee.sample(y.add(Xn(0,.01,0))).r),le=ee.sample(y.add(Xn(0,0,-.01))).r.sub(ee.sample(y.add(Xn(0,0,.01))).r);z.assign(Xn(ie,se,le))}),z.normalize()});class EZ extends CA{static get type(){return"Texture3DNode"}constructor(y,E=null,z=null){super(y,E,z),this.isTexture3DNode=!0}getInputType(){return"texture3D"}getDefaultUV(){return Xn(.5,.5,.5)}setUpdateMatrix(){}setupUV(y,E){const z=this.value;return y.isFlipY()&&(z.isRenderTargetTexture===!0||z.isFramebufferTexture===!0)&&(this.sampler?E=E.flipY():E=E.setY(Mn(ww(this,this.levelNode).y).sub(E.y).sub(1))),E}generateUV(y,E){return E.build(y,"vec3")}normal(y){return CZ({texture:this,uv:y})}}const b7=Ar(EZ).setParameterLength(1,3);class bZ extends sB{static get type(){return"UserDataNode"}constructor(y,E,z=null){super(y,E,z),this.userData=z}updateReference(y){return this.reference=this.userData!==null?this.userData:y.object.userData,this.reference}}const MZ=(ee,y,E)=>ir(new bZ(ee,y,E)),M7=new WeakMap;class BZ extends Id{static get type(){return"VelocityNode"}constructor(){super("vec2"),this.projectionMatrix=null,this.updateType=al.OBJECT,this.updateAfterType=al.OBJECT,this.previousModelWorldMatrix=Us(new rs),this.previousProjectionMatrix=Us(new rs).setGroup(pa),this.previousCameraViewMatrix=Us(new rs)}setProjectionMatrix(y){this.projectionMatrix=y}update({frameId:y,camera:E,object:z}){const ne=T7(z);this.previousModelWorldMatrix.value.copy(ne);const ie=B7(E);ie.frameId!==y&&(ie.frameId=y,ie.previousProjectionMatrix===void 0?(ie.previousProjectionMatrix=new rs,ie.previousCameraViewMatrix=new rs,ie.currentProjectionMatrix=new rs,ie.currentCameraViewMatrix=new rs,ie.previousProjectionMatrix.copy(this.projectionMatrix||E.projectionMatrix),ie.previousCameraViewMatrix.copy(E.matrixWorldInverse)):(ie.previousProjectionMatrix.copy(ie.currentProjectionMatrix),ie.previousCameraViewMatrix.copy(ie.currentCameraViewMatrix)),ie.currentProjectionMatrix.copy(this.projectionMatrix||E.projectionMatrix),ie.currentCameraViewMatrix.copy(E.matrixWorldInverse),this.previousProjectionMatrix.value.copy(ie.previousProjectionMatrix),this.previousCameraViewMatrix.value.copy(ie.previousCameraViewMatrix))}updateAfter({object:y}){T7(y).copy(y.matrixWorld)}setup(){const y=this.projectionMatrix===null?zm:Us(this.projectionMatrix),E=this.previousCameraViewMatrix.mul(this.previousModelWorldMatrix),z=y.mul(Qx).mul(qh),ne=this.previousProjectionMatrix.mul(E).mul(iB),ie=z.xy.div(z.w),se=ne.xy.div(ne.w);return Wl(ie,se)}}function B7(ee){let y=M7.get(ee);return y===void 0&&(y={},M7.set(ee,y)),y}function T7(ee,y=0){const E=B7(ee);let z=E[y];return z===void 0&&(E[y]=z=new rs,E[y].copy(ee.matrixWorld)),z}const TZ=lo(BZ),DZ=Kn(([ee])=>pF(ee.rgb)),FZ=Kn(([ee,y=nn(1)])=>y.mix(pF(ee.rgb),ee.rgb)),LZ=Kn(([ee,y=nn(1)])=>{const E=Od(ee.r,ee.g,ee.b).div(3),z=ee.r.max(ee.g.max(ee.b)),ne=z.sub(E).mul(y).mul(-3);return yu(ee.rgb,z,ne)}),NZ=Kn(([ee,y=nn(1)])=>{const E=Xn(.57735,.57735,.57735),z=y.cos();return Xn(ee.rgb.mul(z).add(E.cross(ee.rgb).mul(y.sin()).add(E.mul(xw(E,ee.rgb).mul(z.oneMinus())))))}),pF=(ee,y=Xn(ys.getLuminanceCoefficients(new Vt)))=>xw(ee,y),IZ=Kn(([ee,y=Xn(1),E=Xn(0),z=Xn(1),ne=nn(1),ie=Xn(ys.getLuminanceCoefficients(new Vt,vn))])=>{const se=ee.rgb.dot(Xn(ie)),le=Th(ee.rgb.mul(y).add(E),0).toVar(),de=le.pow(z).toVar();return Pa(le.r.greaterThan(0),()=>{le.r.assign(de.r)}),Pa(le.g.greaterThan(0),()=>{le.g.assign(de.g)}),Pa(le.b.greaterThan(0),()=>{le.b.assign(de.b)}),le.assign(se.add(le.sub(se).mul(ne))),Qo(le.rgb,ee.a)});class RZ extends Id{static get type(){return"PosterizeNode"}constructor(y,E){super(),this.sourceNode=y,this.stepsNode=E}setup(){const{sourceNode:y,stepsNode:E}=this;return y.mul(E).floor().div(E)}}const OZ=Ar(RZ).setParameterLength(2),BB=new ki;class D7 extends CA{static get type(){return"PassTextureNode"}constructor(y,E){super(E),this.passNode=y,this.setUpdateMatrix(!1)}setup(y){return y.object.isQuadMesh&&this.passNode.build(y),super.setup(y)}clone(){return new this.constructor(this.passNode,this.value)}}class F7 extends D7{static get type(){return"PassMultipleTextureNode"}constructor(y,E,z=!1){super(y,null),this.textureName=E,this.previousTexture=z}updateTexture(){this.value=this.previousTexture?this.passNode.getPreviousTexture(this.textureName):this.passNode.getTexture(this.textureName)}setup(y){return this.updateTexture(),super.setup(y)}clone(){const y=new this.constructor(this.passNode,this.textureName,this.previousTexture);return y.uvNode=this.uvNode,y.levelNode=this.levelNode,y.biasNode=this.biasNode,y.sampler=this.sampler,y.depthNode=this.depthNode,y.compareNode=this.compareNode,y.gradNode=this.gradNode,y}}class bA extends Id{static get type(){return"PassNode"}constructor(y,E,z,ne={}){super("vec4"),this.scope=y,this.scene=E,this.camera=z,this.options=ne,this._pixelRatio=1,this._width=1,this._height=1;const ie=new Wo;ie.isRenderTargetTexture=!0,ie.name="depth";const se=new Np(this._width*this._pixelRatio,this._height*this._pixelRatio,Sh({type:mc},ne));se.texture.name="output",se.depthTexture=ie,this.renderTarget=se,this._textures={output:se.texture,depth:ie},this._textureNodes={},this._linearDepthNodes={},this._viewZNodes={},this._previousTextures={},this._previousTextureNodes={},this._cameraNear=Us(0),this._cameraFar=Us(0),this._mrt=null,this._layers=null,this._resolution=1,this.isPassNode=!0,this.updateBeforeType=al.FRAME,this.global=!0}setResolution(y){return this._resolution=y,this}getResolution(){return this._resolution}setLayers(y){return this._layers=y,this}getLayers(){return this._layers}setMRT(y){return this._mrt=y,this}getMRT(){return this._mrt}getTexture(y){let E=this._textures[y];return E===void 0&&(E=this.renderTarget.texture.clone(),E.name=y,this._textures[y]=E,this.renderTarget.textures.push(E)),E}getPreviousTexture(y){let E=this._previousTextures[y];return E===void 0&&(E=this.getTexture(y).clone(),this._previousTextures[y]=E),E}toggleTexture(y){const E=this._previousTextures[y];if(E!==void 0){const z=this._textures[y],ne=this.renderTarget.textures.indexOf(z);this.renderTarget.textures[ne]=E,this._textures[y]=E,this._previousTextures[y]=z,this._textureNodes[y].updateTexture(),this._previousTextureNodes[y].updateTexture()}}getTextureNode(y="output"){let E=this._textureNodes[y];return E===void 0&&(E=ir(new F7(this,y)),E.updateTexture(),this._textureNodes[y]=E),E}getPreviousTextureNode(y="output"){let E=this._previousTextureNodes[y];return E===void 0&&(this._textureNodes[y]===void 0&&this.getTextureNode(y),E=ir(new F7(this,y,!0)),E.updateTexture(),this._previousTextureNodes[y]=E),E}getViewZNode(y="depth"){let E=this._viewZNodes[y];if(E===void 0){const z=this._cameraNear,ne=this._cameraFar;this._viewZNodes[y]=E=ND(this.getTextureNode(y),z,ne)}return E}getLinearDepthNode(y="depth"){let E=this._linearDepthNodes[y];if(E===void 0){const z=this._cameraNear,ne=this._cameraFar,ie=this.getViewZNode(y);this._linearDepthNodes[y]=E=bE(ie,z,ne)}return E}setup({renderer:y}){return this.renderTarget.samples=this.options.samples===void 0?y.samples:this.options.samples,this.renderTarget.texture.type=y.getColorBufferType(),this.scope===bA.COLOR?this.getTextureNode():this.getLinearDepthNode()}updateBefore(y){const{renderer:E}=y,{scene:z}=this;let ne,ie;const se=E.getOutputRenderTarget();se&&se.isXRRenderTarget===!0?(ie=1,ne=E.xr.getCamera(),E.xr.updateCamera(ne),BB.set(se.width,se.height)):(ne=this.camera,ie=E.getPixelRatio(),E.getSize(BB)),this._pixelRatio=ie,this.setSize(BB.width,BB.height);const le=E.getRenderTarget(),de=E.getMRT(),ge=ne.layers.mask;this._cameraNear.value=ne.near,this._cameraFar.value=ne.far,this._layers!==null&&(ne.layers.mask=this._layers.mask);for(const ve in this._previousTextures)this.toggleTexture(ve);E.setRenderTarget(this.renderTarget),E.setMRT(this._mrt),E.render(z,ne),E.setRenderTarget(le),E.setMRT(de),ne.layers.mask=ge}setSize(y,E){this._width=y,this._height=E;const z=this._width*this._pixelRatio*this._resolution,ne=this._height*this._pixelRatio*this._resolution;this.renderTarget.setSize(z,ne)}setPixelRatio(y){this._pixelRatio=y,this.setSize(this._width,this._height)}dispose(){this.renderTarget.dispose()}}bA.COLOR="color",bA.DEPTH="depth";const kZ=(ee,y,E)=>ir(new bA(bA.COLOR,ee,y,E)),zZ=(ee,y)=>ir(new D7(ee,y)),HZ=(ee,y,E)=>ir(new bA(bA.DEPTH,ee,y,E));class UZ extends bA{static get type(){return"ToonOutlinePassNode"}constructor(y,E,z,ne,ie){super(bA.COLOR,y,E),this.colorNode=z,this.thicknessNode=ne,this.alphaNode=ie,this._materialCache=new WeakMap}updateBefore(y){const{renderer:E}=y,z=E.getRenderObjectFunction();E.setRenderObjectFunction((ne,ie,se,le,de,ge,ve,xe)=>{if((de.isMeshToonMaterial||de.isMeshToonNodeMaterial)&&de.wireframe===!1){const Se=this._getOutlineMaterial(de);E.renderObject(ne,ie,se,le,Se,ge,ve,xe)}E.renderObject(ne,ie,se,le,de,ge,ve,xe)}),super.updateBefore(y),E.setRenderObjectFunction(z)}_createMaterial(){const y=new Dh;y.isMeshToonOutlineMaterial=!0,y.name="Toon_Outline",y.side=au;const E=Wp.negate(),z=zm.mul(Qx),ne=nn(1),ie=z.mul(Qo(qh,1)),se=z.mul(Qo(qh.add(E),1)),le=Ux(ie.sub(se));return y.vertexNode=ie.add(le.mul(this.thicknessNode).mul(ie.w).mul(ne)),y.colorNode=Qo(this.colorNode,this.alphaNode),y}_getOutlineMaterial(y){let E=this._materialCache.get(y);return E===void 0&&(E=this._createMaterial(),this._materialCache.set(y,E)),E}}const VZ=(ee,y,E=new fo(0,0,0),z=.003,ne=1)=>ir(new UZ(ee,y,ir(E),ir(z),ir(ne))),L7=Kn(([ee,y])=>ee.mul(y).clamp()).setLayout({name:"linearToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),N7=Kn(([ee,y])=>(ee=ee.mul(y),ee.div(ee.add(1)).clamp())).setLayout({name:"reinhardToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),I7=Kn(([ee,y])=>{ee=ee.mul(y),ee=ee.sub(.004).max(0);const E=ee.mul(ee.mul(6.2).add(.5)),z=ee.mul(ee.mul(6.2).add(1.7)).add(.06);return E.div(z).pow(2.2)}).setLayout({name:"cineonToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),jZ=Kn(([ee])=>{const y=ee.mul(ee.add(.0245786)).sub(90537e-9),E=ee.mul(ee.add(.432951).mul(.983729)).add(.238081);return y.div(E)}),R7=Kn(([ee,y])=>{const E=kg(.59719,.35458,.04823,.076,.90834,.01566,.0284,.13383,.83777),z=kg(1.60475,-.53108,-.07367,-.10208,1.10813,-.00605,-.00327,-.07276,1.07602);return ee=ee.mul(y).div(.6),ee=E.mul(ee),ee=jZ(ee),ee=z.mul(ee),ee.clamp()}).setLayout({name:"acesFilmicToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),GZ=kg(Xn(1.6605,-.1246,-.0182),Xn(-.5876,1.1329,-.1006),Xn(-.0728,-.0083,1.1187)),XZ=kg(Xn(.6274,.0691,.0164),Xn(.3293,.9195,.088),Xn(.0433,.0113,.8956)),WZ=Kn(([ee])=>{const y=Xn(ee).toVar(),E=Xn(y.mul(y)).toVar(),z=Xn(E.mul(E)).toVar();return nn(15.5).mul(z.mul(E)).sub(il(40.14,z.mul(y))).add(il(31.96,z).sub(il(6.868,E.mul(y))).add(il(.4298,E).add(il(.1191,y).sub(.00232))))}),O7=Kn(([ee,y])=>{const E=Xn(ee).toVar(),z=kg(Xn(.856627153315983,.137318972929847,.11189821299995),Xn(.0951212405381588,.761241990602591,.0767994186031903),Xn(.0482516061458583,.101439036467562,.811302368396859)),ne=kg(Xn(1.1271005818144368,-.1413297634984383,-.14132976349843826),Xn(-.11060664309660323,1.157823702216272,-.11060664309660294),Xn(-.016493938717834573,-.016493938717834257,1.2519364065950405)),ie=nn(-12.47393),se=nn(4.026069);return E.mulAssign(y),E.assign(XZ.mul(E)),E.assign(z.mul(E)),E.assign(Th(E,1e-10)),E.assign(yA(E)),E.assign(E.sub(ie).div(se.sub(ie))),E.assign(SA(E,0,1)),E.assign(WZ(E)),E.assign(ne.mul(E)),E.assign(hy(Th(Xn(0),E),Xn(2.2))),E.assign(GZ.mul(E)),E.assign(SA(E,0,1)),E}).setLayout({name:"agxToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),k7=Kn(([ee,y])=>{const E=nn(.76),z=nn(.15);ee=ee.mul(y);const ne=Xp(ee.r,Xp(ee.g,ee.b)),ie=jf(ne.lessThan(.08),ne.sub(il(6.25,ne.mul(ne))),.04);ee.subAssign(ie);const se=Th(ee.r,Th(ee.g,ee.b));Pa(se.lessThan(E),()=>ee);const le=Wl(1,E),de=Wl(1,le.mul(le).div(se.add(le.sub(E))));ee.mulAssign(de.div(se));const ge=Wl(1,_0(1,z.mul(se.sub(de)).add(1)));return yu(ee,Xn(de),ge)}).setLayout({name:"neutralToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]});class zd extends da{static get type(){return"CodeNode"}constructor(y="",E=[],z=""){super("code"),this.isCodeNode=!0,this.global=!0,this.code=y,this.includes=E,this.language=z}setIncludes(y){return this.includes=y,this}getIncludes(){return this.includes}generate(y){const E=this.getIncludes(y);for(const ne of E)ne.build(y);const z=y.getCodeFromNode(this,this.getNodeType(y));return z.code=this.code,z.code}serialize(y){super.serialize(y),y.code=this.code,y.language=this.language}deserialize(y){super.deserialize(y),this.code=y.code,this.language=y.language}}const TB=Ar(zd).setParameterLength(1,3),QZ=(ee,y)=>TB(ee,y,"js"),YZ=(ee,y)=>TB(ee,y,"wgsl"),ZZ=(ee,y)=>TB(ee,y,"glsl");class z7 extends zd{static get type(){return"FunctionNode"}constructor(y="",E=[],z=""){super(y,E,z)}getNodeType(y){return this.getNodeFunction(y).type}getInputs(y){return this.getNodeFunction(y).inputs}getNodeFunction(y){const E=y.getDataFromNode(this);let z=E.nodeFunction;return z===void 0&&(z=y.parser.parseFunction(this.code),E.nodeFunction=z),z}generate(y,E){super.generate(y);const z=this.getNodeFunction(y),ne=z.name,ie=z.type,se=y.getCodeFromNode(this,ie);ne!==""&&(se.name=ne);const le=y.getPropertyName(se),de=this.getNodeFunction(y).getCode(le);return se.code=de+` -`,E==="property"?le:y.format(`${le}()`,ie,E)}}const H7=(ee,y=[],E="")=>{for(let ie=0;iez.call(...ie);return ne.functionNode=z,ne},KZ=(ee,y)=>H7(ee,y,"glsl"),JZ=(ee,y)=>H7(ee,y,"wgsl");class qZ extends da{static get type(){return"ScriptableValueNode"}constructor(y=null){super(),this._value=y,this._cache=null,this.inputType=null,this.outputType=null,this.events=new Ed,this.isScriptableValueNode=!0}get isScriptableOutputNode(){return this.outputType!==null}set value(y){this._value!==y&&(this._cache&&this.inputType==="URL"&&this.value.value instanceof ArrayBuffer&&(URL.revokeObjectURL(this._cache),this._cache=null),this._value=y,this.events.dispatchEvent({type:"change"}),this.refresh())}get value(){return this._value}refresh(){this.events.dispatchEvent({type:"refresh"})}getValue(){const y=this.value;if(y&&this._cache===null&&this.inputType==="URL"&&y.value instanceof ArrayBuffer)this._cache=URL.createObjectURL(new Blob([y.value]));else if(y&&y.value!==null&&y.value!==void 0&&((this.inputType==="URL"||this.inputType==="String")&&typeof y.value=="string"||this.inputType==="Number"&&typeof y.value=="number"||this.inputType==="Vector2"&&y.value.isVector2||this.inputType==="Vector3"&&y.value.isVector3||this.inputType==="Vector4"&&y.value.isVector4||this.inputType==="Color"&&y.value.isColor||this.inputType==="Matrix3"&&y.value.isMatrix3||this.inputType==="Matrix4"&&y.value.isMatrix4))return y.value;return this._cache||y}getNodeType(y){return this.value&&this.value.isNode?this.value.getNodeType(y):"float"}setup(){return this.value&&this.value.isNode?this.value:nn()}serialize(y){super.serialize(y),this.value!==null?this.inputType==="ArrayBuffer"?y.value=x3(this.value):y.value=this.value?this.value.toJSON(y.meta).uuid:null:y.value=null,y.inputType=this.inputType,y.outputType=this.outputType}deserialize(y){super.deserialize(y);let E=null;y.value!==null&&(y.inputType==="ArrayBuffer"?E=w3(y.value):y.inputType==="Texture"?E=y.meta.textures[y.value]:E=y.meta.nodes[y.value]||null),this.value=E,this.inputType=y.inputType,this.outputType=y.outputType}}const DB=Ar(qZ).setParameterLength(1);class U7 extends Map{get(y,E=null,...z){if(this.has(y))return super.get(y);if(E!==null){const ne=E(...z);return this.set(y,ne),ne}}}class _Z{constructor(y){this.scriptableNode=y}get parameters(){return this.scriptableNode.parameters}get layout(){return this.scriptableNode.getLayout()}getInputLayout(y){return this.scriptableNode.getInputLayout(y)}get(y){const E=this.parameters[y];return E?E.getValue():null}}const FB=new U7;class $Z extends da{static get type(){return"ScriptableNode"}constructor(y=null,E={}){super(),this.codeNode=y,this.parameters=E,this._local=new U7,this._output=DB(null),this._outputs={},this._source=this.source,this._method=null,this._object=null,this._value=null,this._needsOutputUpdate=!0,this.onRefresh=this.onRefresh.bind(this),this.isScriptableNode=!0}get source(){return this.codeNode?this.codeNode.code:""}setLocal(y,E){return this._local.set(y,E)}getLocal(y){return this._local.get(y)}onRefresh(){this._refresh()}getInputLayout(y){for(const E of this.getLayout())if(E.inputType&&(E.id===y||E.name===y))return E}getOutputLayout(y){for(const E of this.getLayout())if(E.outputType&&(E.id===y||E.name===y))return E}setOutput(y,E){const z=this._outputs;return z[y]===void 0?z[y]=DB(E):z[y].value=E,this}getOutput(y){return this._outputs[y]}getParameter(y){return this.parameters[y]}setParameter(y,E){const z=this.parameters;return E&&E.isScriptableNode?(this.deleteParameter(y),z[y]=E,z[y].getDefaultOutput().events.addEventListener("refresh",this.onRefresh)):E&&E.isScriptableValueNode?(this.deleteParameter(y),z[y]=E,z[y].events.addEventListener("refresh",this.onRefresh)):z[y]===void 0?(z[y]=DB(E),z[y].events.addEventListener("refresh",this.onRefresh)):z[y].value=E,this}getValue(){return this.getDefaultOutput().getValue()}deleteParameter(y){let E=this.parameters[y];return E&&(E.isScriptableNode&&(E=E.getDefaultOutput()),E.events.removeEventListener("refresh",this.onRefresh)),this}clearParameters(){for(const y of Object.keys(this.parameters))this.deleteParameter(y);return this.needsUpdate=!0,this}call(y,...E){const ne=this.getObject()[y];if(typeof ne=="function")return ne(...E)}callAsync(y,...E){return la(this,null,function*(){const ne=this.getObject()[y];if(typeof ne=="function")return ne.constructor.name==="AsyncFunction"?yield ne(...E):ne(...E)})}getNodeType(y){return this.getDefaultOutputNode().getNodeType(y)}refresh(y=null){y!==null?this.getOutput(y).refresh():this._refresh()}getObject(){if(this.needsUpdate&&this.dispose(),this._object!==null)return this._object;const y=()=>this.refresh(),E=(ge,ve)=>this.setOutput(ge,ve),z=new _Z(this),ne=FB.get("THREE"),ie=FB.get("TSL"),se=this.getMethod(),le=[z,this._local,FB,y,E,ne,ie];this._object=se(...le);const de=this._object.layout;if(de&&(de.cache===!1&&this._local.clear(),this._output.outputType=de.outputType||null,Array.isArray(de.elements)))for(const ge of de.elements){const ve=ge.id||ge.name;ge.inputType&&(this.getParameter(ve)===void 0&&this.setParameter(ve,null),this.getParameter(ve).inputType=ge.inputType),ge.outputType&&(this.getOutput(ve)===void 0&&this.setOutput(ve,null),this.getOutput(ve).outputType=ge.outputType)}return this._object}deserialize(y){super.deserialize(y);for(const E in this.parameters){let z=this.parameters[E];z.isScriptableNode&&(z=z.getDefaultOutput()),z.events.addEventListener("refresh",this.onRefresh)}}getLayout(){return this.getObject().layout}getDefaultOutputNode(){const y=this.getDefaultOutput().value;return y&&y.isNode?y:nn()}getDefaultOutput(){return this._exec()._output}getMethod(){if(this.needsUpdate&&this.dispose(),this._method!==null)return this._method;const y=["parameters","local","global","refresh","setOutput","THREE","TSL"],z=["layout","init","main","dispose"].join(", "),ne="var "+z+`; var output = {}; +`).removeFlowTab();return y.addFlowTab(),se}}const zu=(...ee)=>ir(new uW(tP(ee,"int"))).toStack(),cW=()=>Gx("continue").toStack(),n6=()=>Gx("break").toStack(),BD=new WeakMap,Um=new Ks,i6=Kn(({bufferMap:ee,influence:y,stride:E,width:z,depth:ne,offset:ie})=>{const se=Mn(Z4).mul(E).add(ie),le=se.div(z),de=se.sub(le.mul(z));return Jh(ee,pf(de,le)).depth(ne).xyz.mul(y)});function hW(ee){const y=ee.morphAttributes.position!==void 0,E=ee.morphAttributes.normal!==void 0,z=ee.morphAttributes.color!==void 0,ne=ee.morphAttributes.position||ee.morphAttributes.normal||ee.morphAttributes.color,ie=ne!==void 0?ne.length:0;let se=BD.get(ee);if(se===void 0||se.count!==ie){let Le=function(){Oe.dispose(),BD.delete(ee),ee.removeEventListener("dispose",Le)};se!==void 0&&se.texture.dispose();const le=ee.morphAttributes.position||[],de=ee.morphAttributes.normal||[],ge=ee.morphAttributes.color||[];let ve=0;y===!0&&(ve=1),E===!0&&(ve=2),z===!0&&(ve=3);let xe=ee.attributes.position.count*ve,Se=1;const Me=4096;xe>Me&&(Se=Math.ceil(xe/Me),xe=Me);const De=new Float32Array(xe*Se*4*ie),Oe=new $A(De,xe,Se,ie);Oe.type=wu,Oe.needsUpdate=!0;const Re=ve*4;for(let Qe=0;Qe{const Se=nn(0).toVar();this.mesh.count>1&&this.mesh.morphTexture!==null&&this.mesh.morphTexture!==void 0?Se.assign(Jh(this.mesh.morphTexture,pf(Mn(xe).add(1),Mn(Pw))).r):Se.assign(lc("morphTargetInfluences","float").element(xe).toVar()),Pa(Se.notEqual(0),()=>{z===!0&&qh.addAssign(i6({bufferMap:le,influence:Se,stride:de,width:ve,depth:xe,offset:Mn(0)})),ne===!0&&Wp.addAssign(i6({bufferMap:le,influence:Se,stride:de,width:ve,depth:xe,offset:Mn(1)}))})})}update(){const y=this.morphBaseInfluence;this.mesh.geometry.morphTargetsRelative?y.value=1:y.value=1-this.mesh.morphTargetInfluences.reduce((E,z)=>E+z,0)}}const r6=Ar(dW).setParameterLength(1);class EE extends da{static get type(){return"LightingNode"}constructor(){super("vec3"),this.isLightingNode=!0}}class fW extends EE{static get type(){return"AONode"}constructor(y=null){super(),this.aoNode=y}setup(y){y.context.ambientOcclusion.mulAssign(this.aoNode)}}class gW extends CI{static get type(){return"LightingContextNode"}constructor(y,E=null,z=null,ne=null){super(y),this.lightingModel=E,this.backdropNode=z,this.backdropAlphaNode=ne,this._value=null}getContext(){const{backdropNode:y,backdropAlphaNode:E}=this,z=Xn().toVar("directDiffuse"),ne=Xn().toVar("directSpecular"),ie=Xn().toVar("indirectDiffuse"),se=Xn().toVar("indirectSpecular"),le={directDiffuse:z,directSpecular:ne,indirectDiffuse:ie,indirectSpecular:se};return{radiance:Xn().toVar("radiance"),irradiance:Xn().toVar("irradiance"),iblIrradiance:Xn().toVar("iblIrradiance"),ambientOcclusion:nn(1).toVar("ambientOcclusion"),reflectedLight:le,backdrop:y,backdropAlpha:E}}setup(y){return this.value=this._value||(this._value=this.getContext()),this.value.lightingModel=this.lightingModel||y.context.lightingModel,super.setup(y)}}const o6=Ar(gW);class pW extends EE{static get type(){return"IrradianceNode"}constructor(y){super(),this.node=y}setup(y){y.context.irradiance.addAssign(this.node)}}let oM,sM;class kd extends da{static get type(){return"ScreenNode"}constructor(y){super(),this.scope=y,this.isViewportNode=!0}getNodeType(){return this.scope===kd.VIEWPORT?"vec4":"vec2"}getUpdateType(){let y=al.NONE;return(this.scope===kd.SIZE||this.scope===kd.VIEWPORT)&&(y=al.RENDER),this.updateType=y,y}update({renderer:y}){const E=y.getRenderTarget();this.scope===kd.VIEWPORT?E!==null?sM.copy(E.viewport):(y.getViewport(sM),sM.multiplyScalar(y.getPixelRatio())):E!==null?(oM.width=E.width,oM.height=E.height):y.getDrawingBufferSize(oM)}setup(){const y=this.scope;let E=null;return y===kd.SIZE?E=Us(oM||(oM=new ki)):y===kd.VIEWPORT?E=Us(sM||(sM=new Ks)):E=Er(lM.div(aM)),E}generate(y){if(this.scope===kd.COORDINATE){let E=y.getFragCoord();if(y.isFlipY()){const z=y.getNodeProperties(aM).outputNode.build(y);E=`${y.getType("vec2")}( ${E}.x, ${z}.y - ${E}.y )`}return E}return super.generate(y)}}kd.COORDINATE="coordinate",kd.VIEWPORT="viewport",kd.SIZE="size",kd.UV="uv";const Zx=lo(kd,kd.UV),aM=lo(kd,kd.SIZE),lM=lo(kd,kd.COORDINATE),Kx=lo(kd,kd.VIEWPORT),s6=Kx.zw,a6=lM.sub(Kx.xy),mW=a6.div(s6),vW=Kn(()=>(console.warn('THREE.TSL: "viewportResolution" is deprecated. Use "screenSize" instead.'),aM),"vec2").once()(),uM=new ki;class gB extends CA{static get type(){return"ViewportTextureNode"}constructor(y=Zx,E=null,z=null){z===null&&(z=new tg,z.minFilter=Nc),super(z,y,E),this.generateMipmaps=!1,this.isOutputTextureNode=!0,this.updateBeforeType=al.FRAME}updateBefore(y){const E=y.renderer;E.getDrawingBufferSize(uM);const z=this.value;(z.image.width!==uM.width||z.image.height!==uM.height)&&(z.image.width=uM.width,z.image.height=uM.height,z.needsUpdate=!0);const ne=z.generateMipmaps;z.generateMipmaps=this.generateMipmaps,E.copyFramebufferToTexture(z),z.generateMipmaps=ne}clone(){const y=new this.constructor(this.uvNode,this.levelNode,this.value);return y.generateMipmaps=this.generateMipmaps,y}}const yW=Ar(gB).setParameterLength(0,3),TD=Ar(gB,null,null,{generateMipmaps:!0}).setParameterLength(0,3);let DD=null;class AW extends gB{static get type(){return"ViewportDepthTextureNode"}constructor(y=Zx,E=null){DD===null&&(DD=new Wo),super(y,E,DD)}}const FD=Ar(AW).setParameterLength(0,2);class Qp extends da{static get type(){return"ViewportDepthNode"}constructor(y,E=null){super("float"),this.scope=y,this.valueNode=E,this.isViewportDepthNode=!0}generate(y){const{scope:E}=this;return E===Qp.DEPTH_BASE?y.getFragDepth():super.generate(y)}setup({camera:y}){const{scope:E}=this,z=this.valueNode;let ne=null;if(E===Qp.DEPTH_BASE)z!==null&&(ne=l6().assign(z));else if(E===Qp.DEPTH)y.isPerspectiveCamera?ne=LD(_h.z,Xx,Wx):ne=bE(_h.z,Xx,Wx);else if(E===Qp.LINEAR_DEPTH)if(z!==null)if(y.isPerspectiveCamera){const ie=ND(z,Xx,Wx);ne=bE(ie,Xx,Wx)}else ne=z;else ne=bE(_h.z,Xx,Wx);return ne}}Qp.DEPTH_BASE="depthBase",Qp.DEPTH="depth",Qp.LINEAR_DEPTH="linearDepth";const bE=(ee,y,E)=>ee.add(y).div(y.sub(E)),xW=(ee,y,E)=>y.sub(E).mul(ee).sub(y),LD=(ee,y,E)=>y.add(ee).mul(E).div(E.sub(y).mul(ee)),ND=(ee,y,E)=>y.mul(E).div(E.sub(y).mul(ee).sub(E)),ID=(ee,y,E)=>{y=y.max(1e-6).toVar();const z=yA(ee.negate().div(y)),ne=yA(E.div(y));return z.div(ne)},wW=(ee,y,E)=>{const z=ee.mul(Y5(E.div(y)));return nn(Math.E).pow(z).mul(y).negate()},l6=Ar(Qp,Qp.DEPTH_BASE),RD=lo(Qp,Qp.DEPTH),ME=Ar(Qp,Qp.LINEAR_DEPTH).setParameterLength(0,1),SW=ME(FD());RD.assign=ee=>l6(ee);class rv extends da{static get type(){return"ClippingNode"}constructor(y=rv.DEFAULT){super(),this.scope=y}setup(y){super.setup(y);const E=y.clippingContext,{intersectionPlanes:z,unionPlanes:ne}=E;return this.hardwareClipping=y.material.hardwareClipping,this.scope===rv.ALPHA_TO_COVERAGE?this.setupAlphaToCoverage(z,ne):this.scope===rv.HARDWARE?this.setupHardwareClipping(ne,y):this.setupDefault(z,ne)}setupAlphaToCoverage(y,E){return Kn(()=>{const z=nn().toVar("distanceToPlane"),ne=nn().toVar("distanceToGradient"),ie=nn(1).toVar("clipOpacity"),se=E.length;if(this.hardwareClipping===!1&&se>0){const de=ev(E);zu(se,({i:ge})=>{const ve=de.element(ge);z.assign(_h.dot(ve.xyz).negate().add(ve.w)),ne.assign(z.fwidth().div(2)),ie.mulAssign($0(ne.negate(),ne,z))})}const le=y.length;if(le>0){const de=ev(y),ge=nn(1).toVar("intersectionClipOpacity");zu(le,({i:ve})=>{const xe=de.element(ve);z.assign(_h.dot(xe.xyz).negate().add(xe.w)),ne.assign(z.fwidth().div(2)),ge.mulAssign($0(ne.negate(),ne,z).oneMinus())}),ie.mulAssign(ge.oneMinus())}vu.a.mulAssign(ie),vu.a.equal(0).discard()})()}setupDefault(y,E){return Kn(()=>{const z=E.length;if(this.hardwareClipping===!1&&z>0){const ie=ev(E);zu(z,({i:se})=>{const le=ie.element(se);_h.dot(le.xyz).greaterThan(le.w).discard()})}const ne=y.length;if(ne>0){const ie=ev(y),se=mA(!0).toVar("clipped");zu(ne,({i:le})=>{const de=ie.element(le);se.assign(_h.dot(de.xyz).greaterThan(de.w).and(se))}),se.discard()}})()}setupHardwareClipping(y,E){const z=y.length;return E.enableHardwareClipping(z),Kn(()=>{const ne=ev(y),ie=tM(E.getClipDistance());zu(z,({i:se})=>{const le=ne.element(se),de=_h.dot(le.xyz).sub(le.w).negate();ie.element(se).assign(de)})})()}}rv.ALPHA_TO_COVERAGE="alphaToCoverage",rv.DEFAULT="default",rv.HARDWARE="hardware";const PW=()=>ir(new rv),CW=()=>ir(new rv(rv.ALPHA_TO_COVERAGE)),EW=()=>ir(new rv(rv.HARDWARE)),bW=.05,u6=Kn(([ee])=>Vx(il(1e4,km(il(17,ee.x).add(il(.1,ee.y)))).mul(Od(.1,xc(km(il(13,ee.y).add(ee.x))))))),c6=Kn(([ee])=>u6(Er(u6(ee.xy),ee.z))),MW=Kn(([ee])=>{const y=Th(wA(Y3(ee.xyz)),wA(Z3(ee.xyz))),E=nn(1).div(nn(bW).mul(y)).toVar("pixScale"),z=Er(AE(xA(yA(E))),AE(Z5(yA(E)))),ne=Er(c6(xA(z.x.mul(ee.xyz))),c6(xA(z.y.mul(ee.xyz)))),ie=Vx(yA(E)),se=Od(il(ie.oneMinus(),ne.x),il(ie,ne.y)),le=Xp(ie,ie.oneMinus()),de=Xn(se.mul(se).div(il(2,le).mul(Wl(1,le))),se.sub(il(.5,le)).div(Wl(1,le)),Wl(1,Wl(1,se).mul(Wl(1,se)).div(il(2,le).mul(Wl(1,le))))),ge=se.lessThan(le.oneMinus()).select(se.lessThan(le).select(de.x,de.y),de.z);return SA(ge,1e-6,1)}).setLayout({name:"getAlphaHashThreshold",type:"float",inputs:[{name:"position",type:"vec3"}]});class BW extends WI{static get type(){return"VertexColorNode"}constructor(y){super(null,"vec4"),this.isVertexColorNode=!0,this.index=y}getAttributeName(){const y=this.index;return"color"+(y>0?y:"")}generate(y){const E=this.getAttributeName(y),z=y.hasGeometryAttribute(E);let ne;return z===!0?ne=super.generate(y):ne=y.generateConst(this.nodeType,new Ks(1,1,1,1)),ne}serialize(y){super.serialize(y),y.index=this.index}deserialize(y){super.deserialize(y),this.index=y.index}}const h6=(ee=0)=>ir(new BW(ee)),d6=Kn(([ee,y])=>Xp(1,ee.oneMinus().div(y)).oneMinus()).setLayout({name:"blendBurn",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),f6=Kn(([ee,y])=>Xp(ee.div(y.oneMinus()),1)).setLayout({name:"blendDodge",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),g6=Kn(([ee,y])=>ee.oneMinus().mul(y.oneMinus()).oneMinus()).setLayout({name:"blendScreen",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),p6=Kn(([ee,y])=>yu(ee.mul(2).mul(y),ee.oneMinus().mul(2).mul(y.oneMinus()).oneMinus(),K5(.5,ee))).setLayout({name:"blendOverlay",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),TW=Kn(([ee,y])=>{const E=y.a.add(ee.a.mul(y.a.oneMinus()));return Qo(y.rgb.mul(y.a).add(ee.rgb.mul(ee.a).mul(y.a.oneMinus())).div(E),E)}).setLayout({name:"blendColor",type:"vec4",inputs:[{name:"base",type:"vec4"},{name:"blend",type:"vec4"}]}),m6=Kn(([ee])=>Qo(ee.rgb.mul(ee.a),ee.a),{color:"vec4",return:"vec4"}),DW=Kn(([ee])=>(Pa(ee.a.equal(0),()=>Qo(0)),Qo(ee.rgb.div(ee.a),ee.a)),{color:"vec4",return:"vec4"}),FW=(...ee)=>(console.warn('THREE.TSL: "burn" has been renamed. Use "blendBurn" instead.'),d6(ee)),LW=(...ee)=>(console.warn('THREE.TSL: "dodge" has been renamed. Use "blendDodge" instead.'),f6(ee)),NW=(...ee)=>(console.warn('THREE.TSL: "screen" has been renamed. Use "blendScreen" instead.'),g6(ee)),IW=(...ee)=>(console.warn('THREE.TSL: "overlay" has been renamed. Use "blendOverlay" instead.'),p6(ee));class Dh extends rf{static get type(){return"NodeMaterial"}get type(){return this.constructor.type}set type(y){}constructor(){super(),this.isNodeMaterial=!0,this.fog=!0,this.lights=!1,this.hardwareClipping=!1,this.lightsNode=null,this.envNode=null,this.aoNode=null,this.colorNode=null,this.normalNode=null,this.opacityNode=null,this.backdropNode=null,this.backdropAlphaNode=null,this.alphaTestNode=null,this.maskNode=null,this.positionNode=null,this.geometryNode=null,this.depthNode=null,this.receivedShadowPositionNode=null,this.castShadowPositionNode=null,this.receivedShadowNode=null,this.castShadowNode=null,this.outputNode=null,this.mrtNode=null,this.fragmentNode=null,this.vertexNode=null,Object.defineProperty(this,"shadowPositionNode",{get:()=>this.receivedShadowPositionNode,set:y=>{console.warn('THREE.NodeMaterial: ".shadowPositionNode" was renamed to ".receivedShadowPositionNode".'),this.receivedShadowPositionNode=y}})}customProgramCacheKey(){return this.type+p3(this)}build(y){this.setup(y)}setupObserver(y){return new dG(y)}setup(y){y.context.setupNormal=()=>xE(this.setupNormal(y),"NORMAL","vec3"),y.context.setupPositionView=()=>this.setupPositionView(y),y.context.setupModelViewProjection=()=>this.setupModelViewProjection(y);const E=y.renderer,z=E.getRenderTarget();y.addStack();const ne=xE(this.setupVertex(y),"VERTEX"),ie=this.vertexNode||ne;y.stack.outputNode=ie,this.setupHardwareClipping(y),this.geometryNode!==null&&(y.stack.outputNode=y.stack.outputNode.bypass(this.geometryNode)),y.addFlow("vertex",y.removeStack()),y.addStack();let se;const le=this.setupClipping(y);if((this.depthWrite===!0||this.depthTest===!0)&&(z!==null?z.depthBuffer===!0&&this.setupDepth(y):E.depth===!0&&this.setupDepth(y)),this.fragmentNode===null){this.setupDiffuseColor(y),this.setupVariants(y);const de=this.setupLighting(y);le!==null&&y.stack.add(le);const ge=Qo(de,vu.a).max(0);se=this.setupOutput(y,ge),yE.assign(se);const ve=this.outputNode!==null;if(ve&&(se=this.outputNode),z!==null){const xe=E.getMRT(),Se=this.mrtNode;xe!==null?(ve&&yE.assign(se),se=xe,Se!==null&&(se=xe.merge(Se))):Se!==null&&(se=Se)}}else{let de=this.fragmentNode;de.isOutputStructNode!==!0&&(de=Qo(de)),se=this.setupOutput(y,de)}y.stack.outputNode=se,y.addFlow("fragment",y.removeStack()),y.observer=this.setupObserver(y)}setupClipping(y){if(y.clippingContext===null)return null;const{unionPlanes:E,intersectionPlanes:z}=y.clippingContext;let ne=null;if(E.length>0||z.length>0){const ie=y.renderer.samples;this.alphaToCoverage&&ie>1?ne=CW():y.stack.add(PW())}return ne}setupHardwareClipping(y){if(this.hardwareClipping=!1,y.clippingContext===null)return;const E=y.clippingContext.unionPlanes.length;E>0&&E<=8&&y.isAvailable("clipDistance")&&(y.stack.add(EW()),this.hardwareClipping=!0)}setupDepth(y){const{renderer:E,camera:z}=y;let ne=this.depthNode;if(ne===null){const ie=E.getMRT();ie&&ie.has("depth")?ne=ie.get("depth"):E.logarithmicDepthBuffer===!0&&(z.isPerspectiveCamera?ne=ID(_h.z,Xx,Wx):ne=bE(_h.z,Xx,Wx))}ne!==null&&RD.assign(ne).toStack()}setupPositionView(){return Qx.mul(qh).xyz}setupModelViewProjection(){return zm.mul(_h)}setupVertex(y){return y.addStack(),this.setupPosition(y),y.context.vertex=y.removeStack(),MD}setupPosition(y){const{object:E,geometry:z}=y;if((z.morphAttributes.position||z.morphAttributes.normal||z.morphAttributes.color)&&r6(E).toStack(),E.isSkinnedMesh===!0&&t6(E).toStack(),this.displacementMap){const ne=Yx("displacementMap","texture"),ie=Yx("displacementScale","float"),se=Yx("displacementBias","float");qh.addAssign(Wp.normalize().mul(ne.x.mul(ie).add(se)))}return E.isBatchedMesh&&_4(E).toStack(),E.isInstancedMesh&&E.instanceMatrix&&E.instanceMatrix.isInstancedBufferAttribute===!0&&q4(E).toStack(),this.positionNode!==null&&qh.assign(xE(this.positionNode,"POSITION","vec3")),qh}setupDiffuseColor({object:y,geometry:E}){this.maskNode!==null&&mA(this.maskNode).not().discard();let z=this.colorNode?Qo(this.colorNode):cB;this.vertexColors===!0&&E.hasAttribute("color")&&(z=z.mul(h6())),y.instanceColor&&(z=Om("vec3","vInstanceColor").mul(z)),y.isBatchedMesh&&y._colorsTexture&&(z=Om("vec3","vBatchColor").mul(z)),vu.assign(z);const ne=this.opacityNode?nn(this.opacityNode):hB;vu.a.assign(vu.a.mul(ne));let ie=null;(this.alphaTestNode!==null||this.alphaTest>0)&&(ie=this.alphaTestNode!==null?nn(this.alphaTestNode):S4,vu.a.lessThanEqual(ie).discard()),this.alphaHash===!0&&vu.a.lessThan(MW(qh)).discard(),this.transparent===!1&&this.blending===Eh&&this.alphaToCoverage===!1?vu.a.assign(1):ie===null&&vu.a.lessThanEqual(0).discard()}setupVariants(){}setupOutgoingLight(){return this.lights===!0?Xn(0):vu.rgb}setupNormal(){return this.normalNode?Xn(this.normalNode):T4}setupEnvironment(){let y=null;return this.envNode?y=this.envNode:this.envMap&&(y=this.envMap.isCubeTexture?Yx("envMap","cubeTexture"):Yx("envMap","texture")),y}setupLightMap(y){let E=null;return y.material.lightMap&&(E=new pW(bD)),E}setupLights(y){const E=[],z=this.setupEnvironment(y);z&&z.isLightingNode&&E.push(z);const ne=this.setupLightMap(y);if(ne&&ne.isLightingNode&&E.push(ne),this.aoNode!==null||y.material.aoMap){const se=this.aoNode!==null?this.aoNode:Y4;E.push(new fW(se))}let ie=this.lightsNode||y.lightsNode;return E.length>0&&(ie=y.renderer.lighting.createNode([...ie.getLights(),...E])),ie}setupLightingModel(){}setupLighting(y){const{material:E}=y,{backdropNode:z,backdropAlphaNode:ne,emissiveNode:ie}=this,le=this.lights===!0||this.lightsNode!==null?this.setupLights(y):null;let de=this.setupOutgoingLight(y);if(le&&le.getScope().hasLights){const ge=this.setupLightingModel(y)||null;de=o6(le,ge,z,ne)}else z!==null&&(de=Xn(ne!==null?yu(de,z,ne):z));return(ie&&ie.isNode===!0||E.emissive&&E.emissive.isColor===!0)&&(N3.assign(Xn(ie||C4)),de=de.add(N3)),de}setupFog(y,E){const z=y.fogNode;return z&&(yE.assign(E),E=Qo(z)),E}setupPremultipliedAlpha(y,E){return m6(E)}setupOutput(y,E){return this.fog===!0&&(E=this.setupFog(y,E)),this.premultipliedAlpha===!0&&(E=this.setupPremultipliedAlpha(y,E)),E}setDefaultValues(y){for(const z in y){const ne=y[z];this[z]===void 0&&(this[z]=ne,ne&&ne.clone&&(this[z]=ne.clone()))}const E=Object.getOwnPropertyDescriptors(y.constructor.prototype);for(const z in E)Object.getOwnPropertyDescriptor(this.constructor.prototype,z)===void 0&&E[z].get!==void 0&&Object.defineProperty(this.constructor.prototype,z,E[z])}toJSON(y){const E=y===void 0||typeof y=="string";E&&(y={textures:{},images:{},nodes:{}});const z=rf.prototype.toJSON.call(this,y),ne=z2(this);z.inputNodes={};for(const{property:se,childNode:le}of ne)z.inputNodes[se]=le.toJSON(y).uuid;function ie(se){const le=[];for(const de in se){const ge=se[de];delete ge.metadata,le.push(ge)}return le}if(E){const se=ie(y.textures),le=ie(y.images),de=ie(y.nodes);se.length>0&&(z.textures=se),le.length>0&&(z.images=le),de.length>0&&(z.nodes=de)}return z}copy(y){return this.lightsNode=y.lightsNode,this.envNode=y.envNode,this.colorNode=y.colorNode,this.normalNode=y.normalNode,this.opacityNode=y.opacityNode,this.backdropNode=y.backdropNode,this.backdropAlphaNode=y.backdropAlphaNode,this.alphaTestNode=y.alphaTestNode,this.maskNode=y.maskNode,this.positionNode=y.positionNode,this.geometryNode=y.geometryNode,this.depthNode=y.depthNode,this.receivedShadowPositionNode=y.receivedShadowPositionNode,this.castShadowPositionNode=y.castShadowPositionNode,this.receivedShadowNode=y.receivedShadowNode,this.castShadowNode=y.castShadowNode,this.outputNode=y.outputNode,this.mrtNode=y.mrtNode,this.fragmentNode=y.fragmentNode,this.vertexNode=y.vertexNode,super.copy(y)}}const RW=new Fd;class OW extends Dh{static get type(){return"LineBasicNodeMaterial"}constructor(y){super(),this.isLineBasicNodeMaterial=!0,this.setDefaultValues(RW),this.setValues(y)}}const kW=new nw;class zW extends Dh{static get type(){return"LineDashedNodeMaterial"}constructor(y){super(),this.isLineDashedNodeMaterial=!0,this.setDefaultValues(kW),this.dashOffset=0,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.setValues(y)}setupVariants(){const y=this.offsetNode?nn(this.offsetNode):ED,E=this.dashScaleNode?nn(this.dashScaleNode):SD,z=this.dashSizeNode?nn(this.dashSizeNode):PD,ne=this.gapSizeNode?nn(this.gapSizeNode):CD;oP.assign(z),Z2.assign(ne);const ie=PA(ap("lineDistance").mul(E));(y?ie.add(y):ie).mod(oP.add(Z2)).greaterThan(oP).discard()}}let OD=null;class HW extends gB{static get type(){return"ViewportSharedTextureNode"}constructor(y=Zx,E=null){OD===null&&(OD=new tg),super(y,E,OD)}updateReference(){return this}}const v6=Ar(HW).setParameterLength(0,2),UW=new nw;class Wse extends null{static get type(){return"Line2NodeMaterial"}constructor(y={}){super(),this.isLine2NodeMaterial=!0,this.setDefaultValues(UW),this.useColor=y.vertexColors,this.dashOffset=0,this.lineWidth=1,this.lineColorNode=null,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.blending=NoBlending,this._useDash=y.dashed,this._useAlphaToCoverage=!0,this._useWorldUnits=!1,this.setValues(y)}setup(y){const{renderer:E}=y,z=this._useAlphaToCoverage,ne=this.useColor,ie=this._useDash,se=this._useWorldUnits,le=Kn(({start:ge,end:ve})=>{const xe=zm.element(2).element(2),De=zm.element(3).element(2).mul(-.5).div(xe).sub(ge.z).div(ve.z.sub(ge.z));return Qo(yu(ge.xyz,ve.xyz,De),ve.w)}).setLayout({name:"trimSegment",type:"vec4",inputs:[{name:"start",type:"vec4"},{name:"end",type:"vec4"}]});this.vertexNode=Kn(()=>{const ge=ap("instanceStart"),ve=ap("instanceEnd"),xe=Qo(Qx.mul(Qo(ge,1))).toVar("start"),Se=Qo(Qx.mul(Qo(ve,1))).toVar("end");if(ie){const it=this.dashScaleNode?nn(this.dashScaleNode):SD,et=this.offsetNode?nn(this.offsetNode):ED,ht=ap("instanceDistanceStart"),lt=ap("instanceDistanceEnd");let ot=lg.y.lessThan(.5).select(it.mul(ht),it.mul(lt));ot=ot.add(et),Om("float","lineDistance").assign(ot)}se&&(Om("vec3","worldStart").assign(xe.xyz),Om("vec3","worldEnd").assign(Se.xyz));const Me=Kx.z.div(Kx.w),De=zm.element(2).element(3).equal(-1);Pa(De,()=>{Pa(xe.z.lessThan(0).and(Se.z.greaterThan(0)),()=>{Se.assign(le({start:xe,end:Se}))}).ElseIf(Se.z.lessThan(0).and(xe.z.greaterThanEqual(0)),()=>{xe.assign(le({start:Se,end:xe}))})});const Oe=zm.mul(xe),Re=zm.mul(Se),Le=Oe.xyz.div(Oe.w),Qe=Re.xyz.div(Re.w),Xe=Qe.xy.sub(Le.xy).toVar();Xe.x.assign(Xe.x.mul(Me)),Xe.assign(Xe.normalize());const Ze=Qo().toVar();if(se){const it=Se.xyz.sub(xe.xyz).normalize(),et=yu(xe.xyz,Se.xyz,.5).normalize(),ht=it.cross(et).normalize(),lt=it.cross(ht),ot=Om("vec4","worldPos");ot.assign(lg.y.lessThan(.5).select(xe,Se));const rt=fB.mul(.5);ot.addAssign(Qo(lg.x.lessThan(0).select(ht.mul(rt),ht.mul(rt).negate()),0)),ie||(ot.addAssign(Qo(lg.y.lessThan(.5).select(it.mul(rt).negate(),it.mul(rt)),0)),ot.addAssign(Qo(lt.mul(rt),0)),Pa(lg.y.greaterThan(1).or(lg.y.lessThan(0)),()=>{ot.subAssign(Qo(lt.mul(2).mul(rt),0))})),Ze.assign(zm.mul(ot));const Mt=Xn().toVar();Mt.assign(lg.y.lessThan(.5).select(Le,Qe)),Ze.z.assign(Mt.z.mul(Ze.w))}else{const it=Er(Xe.y,Xe.x.negate()).toVar("offset");Xe.x.assign(Xe.x.div(Me)),it.x.assign(it.x.div(Me)),it.assign(lg.x.lessThan(0).select(it.negate(),it)),Pa(lg.y.lessThan(0),()=>{it.assign(it.sub(Xe))}).ElseIf(lg.y.greaterThan(1),()=>{it.assign(it.add(Xe))}),it.assign(it.mul(fB)),it.assign(it.div(Kx.w)),Ze.assign(lg.y.lessThan(.5).select(Oe,Re)),it.assign(it.mul(Ze.w)),Ze.assign(Ze.add(Qo(it,0,0)))}return Ze})();const de=Kn(({p1:ge,p2:ve,p3:xe,p4:Se})=>{const Me=ge.sub(xe),De=Se.sub(xe),Oe=ve.sub(ge),Re=Me.dot(De),Le=De.dot(Oe),Qe=Me.dot(Oe),Xe=De.dot(De),it=Oe.dot(Oe).mul(Xe).sub(Le.mul(Le)),ht=Re.mul(Le).sub(Qe.mul(Xe)).div(it).clamp(),lt=Re.add(Le.mul(ht)).div(Xe).clamp();return Er(ht,lt)});if(this.colorNode=Kn(()=>{const ge=wc();if(ie){const Se=this.dashSizeNode?nn(this.dashSizeNode):PD,Me=this.gapSizeNode?nn(this.gapSizeNode):CD;oP.assign(Se),Z2.assign(Me);const De=Om("float","lineDistance");ge.y.lessThan(-1).or(ge.y.greaterThan(1)).discard(),De.mod(oP.add(Z2)).greaterThan(oP).discard()}const ve=nn(1).toVar("alpha");if(se){const Se=Om("vec3","worldStart"),Me=Om("vec3","worldEnd"),De=Om("vec4","worldPos").xyz.normalize().mul(1e5),Oe=Me.sub(Se),Re=de({p1:Se,p2:Me,p3:Xn(0,0,0),p4:De}),Le=Se.add(Oe.mul(Re.x)),Qe=De.mul(Re.y),it=Le.sub(Qe).length().div(fB);if(!ie)if(z&&E.samples>1){const et=it.fwidth();ve.assign($0(et.negate().add(.5),et.add(.5),it).oneMinus())}else it.greaterThan(.5).discard()}else if(z&&E.samples>1){const Se=ge.x,Me=ge.y.greaterThan(0).select(ge.y.sub(1),ge.y.add(1)),De=Se.mul(Se).add(Me.mul(Me)),Oe=nn(De.fwidth()).toVar("dlen");Pa(ge.y.abs().greaterThan(1),()=>{ve.assign($0(Oe.oneMinus(),Oe.add(1),De).oneMinus())})}else Pa(ge.y.abs().greaterThan(1),()=>{const Se=ge.x,Me=ge.y.greaterThan(0).select(ge.y.sub(1),ge.y.add(1));Se.mul(Se).add(Me.mul(Me)).greaterThan(1).discard()});let xe;if(this.lineColorNode)xe=this.lineColorNode;else if(ne){const Se=ap("instanceColorStart"),Me=ap("instanceColorEnd");xe=lg.y.lessThan(.5).select(Se,Me).mul(cB)}else xe=cB;return Qo(xe,ve)})(),this.transparent){const ge=this.opacityNode?nn(this.opacityNode):hB;this.outputNode=Qo(this.colorNode.rgb.mul(ge).add(v6().rgb.mul(ge.oneMinus())),this.colorNode.a)}super.setup(y)}get worldUnits(){return this._useWorldUnits}set worldUnits(y){this._useWorldUnits!==y&&(this._useWorldUnits=y,this.needsUpdate=!0)}get dashed(){return this._useDash}set dashed(y){this._useDash!==y&&(this._useDash=y,this.needsUpdate=!0)}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(y){this._useAlphaToCoverage!==y&&(this._useAlphaToCoverage=y,this.needsUpdate=!0)}}const y6=ee=>ir(ee).mul(.5).add(.5),VW=ee=>ir(ee).mul(2).sub(1),jW=new f5;class GW extends Dh{static get type(){return"MeshNormalNodeMaterial"}constructor(y){super(),this.isMeshNormalNodeMaterial=!0,this.setDefaultValues(jW),this.setValues(y)}setupDiffuseColor(){const y=this.opacityNode?nn(this.opacityNode):hB;vu.assign($5(Qo(y6(ku),y),Pn))}}const kD=Kn(([ee=hD])=>{const y=ee.z.atan(ee.x).mul(1/(Math.PI*2)).add(.5),E=ee.y.clamp(-1,1).asin().mul(1/Math.PI).add(.5);return Er(y,E)});class A6 extends Rb{constructor(y=1,E={}){super(y,E),this.isCubeRenderTarget=!0}fromEquirectangularTexture(y,E){const z=E.minFilter,ne=E.generateMipmaps;E.generateMipmaps=!0,this.texture.type=E.type,this.texture.colorSpace=E.colorSpace,this.texture.generateMipmaps=E.generateMipmaps,this.texture.minFilter=E.minFilter,this.texture.magFilter=E.magFilter;const ie=new Ov(5,5,5),se=kD(hD),le=new Dh;le.colorNode=Dl(E,se,0),le.side=au,le.blending=eu;const de=new lu(ie,le),ge=new Xy;ge.add(de),E.minFilter===Nc&&(E.minFilter=tu);const ve=new fi(1,10,this),xe=y.getMRT();return y.setMRT(null),ve.update(y,ge),y.setMRT(xe),E.minFilter=z,E.currentGenerateMipmaps=ne,de.geometry.dispose(),de.material.dispose(),this}}const cM=new WeakMap;class XW extends Id{static get type(){return"CubeMapNode"}constructor(y){super("vec3"),this.envNode=y,this._cubeTexture=null,this._cubeTextureNode=PE(null);const E=new Lf;E.isRenderTargetTexture=!0,this._defaultTexture=E,this.updateBeforeType=al.RENDER}updateBefore(y){const{renderer:E,material:z}=y,ne=this.envNode;if(ne.isTextureNode||ne.isMaterialReferenceNode){const ie=ne.isTextureNode?ne.value:z[ne.property];if(ie&&ie.isTexture){const se=ie.mapping;if(se===Lc||se===rm){if(cM.has(ie)){const le=cM.get(ie);w6(le,ie.mapping),this._cubeTexture=le}else{const le=ie.image;if(WW(le)){const de=new A6(le.height);de.fromEquirectangularTexture(E,ie),w6(de.texture,ie.mapping),this._cubeTexture=de.texture,cM.set(ie,de.texture),ie.addEventListener("dispose",x6)}else this._cubeTexture=this._defaultTexture}this._cubeTextureNode.value=this._cubeTexture}else this._cubeTextureNode=this.envNode}}}setup(y){return this.updateBefore(y),this._cubeTextureNode}}function WW(ee){return ee==null?!1:ee.height>0}function x6(ee){const y=ee.target;y.removeEventListener("dispose",x6);const E=cM.get(y);E!==void 0&&(cM.delete(y),E.dispose())}function w6(ee,y){y===Lc?ee.mapping=Jd:y===rm&&(ee.mapping=qd)}const S6=Ar(XW).setParameterLength(1);class zD extends EE{static get type(){return"BasicEnvironmentNode"}constructor(y=null){super(),this.envNode=y}setup(y){y.context.environment=S6(this.envNode)}}class QW extends EE{static get type(){return"BasicLightMapNode"}constructor(y=null){super(),this.lightMapNode=y}setup(y){const E=nn(1/Math.PI);y.context.irradianceLightMap=this.lightMapNode.mul(E)}}class pB{start(y){y.lightsNode.setupLights(y,y.lightsNode.getLightNodes(y)),this.indirect(y)}finish(){}direct(){}directRectArea(){}indirect(){}ambientOcclusion(){}}class P6 extends pB{constructor(){super()}indirect({context:y}){const E=y.ambientOcclusion,z=y.reflectedLight,ne=y.irradianceLightMap;z.indirectDiffuse.assign(Qo(0)),ne?z.indirectDiffuse.addAssign(ne):z.indirectDiffuse.addAssign(Qo(1,1,1,0)),z.indirectDiffuse.mulAssign(E),z.indirectDiffuse.mulAssign(vu.rgb)}finish(y){const{material:E,context:z}=y,ne=z.outgoingLight,ie=y.context.environment;if(ie)switch(E.combine){case WA:ne.rgb.assign(yu(ne.rgb,ne.rgb.mul(ie.rgb),rM.mul(dB)));break;case nh:ne.rgb.assign(yu(ne.rgb,ie.rgb,rM.mul(dB)));break;case by:ne.rgb.addAssign(ie.rgb.mul(rM.mul(dB)));break;default:console.warn("THREE.BasicLightingModel: Unsupported .combine value:",E.combine);break}}}const YW=new Vh;class ZW extends Dh{static get type(){return"MeshBasicNodeMaterial"}constructor(y){super(),this.isMeshBasicNodeMaterial=!0,this.lights=!0,this.setDefaultValues(YW),this.setValues(y)}setupNormal(){return wE(SE)}setupEnvironment(y){const E=super.setupEnvironment(y);return E?new zD(E):null}setupLightMap(y){let E=null;return y.material.lightMap&&(E=new QW(bD)),E}setupOutgoingLight(){return vu.rgb}setupLightingModel(){return new P6}}const BE=Kn(({f0:ee,f90:y,dotVH:E})=>{const z=E.mul(-5.55473).sub(6.98316).mul(E).exp2();return ee.mul(z.oneMinus()).add(y.mul(z))}),uP=Kn(ee=>ee.diffuseColor.mul(1/Math.PI)),KW=()=>nn(.25),JW=Kn(({dotNH:ee})=>j5.mul(nn(.5)).add(1).mul(nn(1/Math.PI)).mul(ee.pow(j5))),qW=Kn(({lightDirection:ee})=>{const y=ee.add(Bc).normalize(),E=ku.dot(y).clamp(),z=Bc.dot(y).clamp(),ne=BE({f0:Gp,f90:1,dotVH:z}),ie=KW(),se=JW({dotNH:E});return ne.mul(ie).mul(se)});class C6 extends P6{constructor(y=!0){super(),this.specular=y}direct({lightDirection:y,lightColor:E,reflectedLight:z}){const ie=ku.dot(y).clamp().mul(E);z.directDiffuse.addAssign(ie.mul(uP({diffuseColor:vu.rgb}))),this.specular===!0&&z.directSpecular.addAssign(ie.mul(qW({lightDirection:y})).mul(rM))}indirect(y){const{ambientOcclusion:E,irradiance:z,reflectedLight:ne}=y.context;ne.indirectDiffuse.addAssign(z.mul(uP({diffuseColor:vu}))),ne.indirectDiffuse.mulAssign(E)}}const _W=new NC;class $W extends Dh{static get type(){return"MeshLambertNodeMaterial"}constructor(y){super(),this.isMeshLambertNodeMaterial=!0,this.lights=!0,this.setDefaultValues(_W),this.setValues(y)}setupEnvironment(y){const E=super.setupEnvironment(y);return E?new zD(E):null}setupLightingModel(){return new C6(!1)}}const eQ=new LC;class tQ extends Dh{static get type(){return"MeshPhongNodeMaterial"}constructor(y){super(),this.isMeshPhongNodeMaterial=!0,this.lights=!0,this.shininessNode=null,this.specularNode=null,this.setDefaultValues(eQ),this.setValues(y)}setupEnvironment(y){const E=super.setupEnvironment(y);return E?new zD(E):null}setupLightingModel(){return new C6}setupVariants(){const y=(this.shininessNode?nn(this.shininessNode):P4).max(1e-4);j5.assign(y);const E=this.specularNode||E4;Gp.assign(E)}copy(y){return this.shininessNode=y.shininessNode,this.specularNode=y.specularNode,super.copy(y)}}const E6=Kn(ee=>{if(ee.geometry.hasAttribute("normal")===!1)return nn(0);const y=SE.dFdx().abs().max(SE.dFdy().abs());return y.x.max(y.y).max(y.z)}),HD=Kn(ee=>{const{roughness:y}=ee,E=E6();let z=y.max(.0525);return z=z.add(E),z=z.min(1),z}),b6=Kn(({alpha:ee,dotNL:y,dotNV:E})=>{const z=ee.pow2(),ne=y.mul(z.add(z.oneMinus().mul(E.pow2())).sqrt()),ie=E.mul(z.add(z.oneMinus().mul(y.pow2())).sqrt());return _0(.5,ne.add(ie).max(_8))}).setLayout({name:"V_GGX_SmithCorrelated",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNL",type:"float"},{name:"dotNV",type:"float"}]}),nQ=Kn(({alphaT:ee,alphaB:y,dotTV:E,dotBV:z,dotTL:ne,dotBL:ie,dotNV:se,dotNL:le})=>{const de=le.mul(Xn(ee.mul(E),y.mul(z),se).length()),ge=se.mul(Xn(ee.mul(ne),y.mul(ie),le).length());return _0(.5,de.add(ge)).saturate()}).setLayout({name:"V_GGX_SmithCorrelated_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotTV",type:"float",qualifier:"in"},{name:"dotBV",type:"float",qualifier:"in"},{name:"dotTL",type:"float",qualifier:"in"},{name:"dotBL",type:"float",qualifier:"in"},{name:"dotNV",type:"float",qualifier:"in"},{name:"dotNL",type:"float",qualifier:"in"}]}),M6=Kn(({alpha:ee,dotNH:y})=>{const E=ee.pow2(),z=y.pow2().mul(E.oneMinus()).oneMinus();return E.div(z.pow2()).mul(1/Math.PI)}).setLayout({name:"D_GGX",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNH",type:"float"}]}),iQ=nn(1/Math.PI),rQ=Kn(({alphaT:ee,alphaB:y,dotNH:E,dotTH:z,dotBH:ne})=>{const ie=ee.mul(y),se=Xn(y.mul(z),ee.mul(ne),ie.mul(E)),le=se.dot(se),de=ie.div(le);return iQ.mul(ie.mul(de.pow2()))}).setLayout({name:"D_GGX_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotNH",type:"float",qualifier:"in"},{name:"dotTH",type:"float",qualifier:"in"},{name:"dotBH",type:"float",qualifier:"in"}]}),UD=Kn(({lightDirection:ee,f0:y,f90:E,roughness:z,f:ne,normalView:ie=ku,USE_IRIDESCENCE:se,USE_ANISOTROPY:le})=>{const de=z.pow2(),ge=ee.add(Bc).normalize(),ve=ie.dot(ee).clamp(),xe=ie.dot(Bc).clamp(),Se=ie.dot(ge).clamp(),Me=Bc.dot(ge).clamp();let De=BE({f0:y,f90:E,dotVH:Me}),Oe,Re;if(V2(se)&&(De=U5.mix(De,ne)),V2(le)){const Le=Q2.dot(ee),Qe=Q2.dot(Bc),Xe=Q2.dot(ge),Ze=rP.dot(ee),it=rP.dot(Bc),et=rP.dot(ge);Oe=nQ({alphaT:V5,alphaB:de,dotTV:Qe,dotBV:it,dotTL:Le,dotBL:Ze,dotNV:xe,dotNL:ve}),Re=rQ({alphaT:V5,alphaB:de,dotNH:Se,dotTH:Xe,dotBH:et})}else Oe=b6({alpha:de,dotNL:ve,dotNV:xe}),Re=M6({alpha:de,dotNH:Se});return De.mul(Oe).mul(Re)}),VD=Kn(({roughness:ee,dotNV:y})=>{const E=Qo(-1,-.0275,-.572,.022),z=Qo(1,.0425,1.04,-.04),ne=ee.mul(E).add(z),ie=ne.x.mul(ne.x).min(y.mul(-9.28).exp2()).mul(ne.x).add(ne.y);return Er(-1.04,1.04).mul(ie).add(ne.zw)}).setLayout({name:"DFGApprox",type:"vec2",inputs:[{name:"roughness",type:"float"},{name:"dotNV",type:"vec3"}]}),B6=Kn(ee=>{const{dotNV:y,specularColor:E,specularF90:z,roughness:ne}=ee,ie=VD({dotNV:y,roughness:ne});return E.mul(ie.x).add(z.mul(ie.y))}),T6=Kn(({f:ee,f90:y,dotVH:E})=>{const z=E.oneMinus().saturate(),ne=z.mul(z),ie=z.mul(ne,ne).clamp(0,.9999);return ee.sub(Xn(y).mul(ie)).div(ie.oneMinus())}).setLayout({name:"Schlick_to_F0",type:"vec3",inputs:[{name:"f",type:"vec3"},{name:"f90",type:"float"},{name:"dotVH",type:"float"}]}),oQ=Kn(({roughness:ee,dotNH:y})=>{const E=ee.pow2(),z=nn(1).div(E),ie=y.pow2().oneMinus().max(.0078125);return nn(2).add(z).mul(ie.pow(z.mul(.5))).div(2*Math.PI)}).setLayout({name:"D_Charlie",type:"float",inputs:[{name:"roughness",type:"float"},{name:"dotNH",type:"float"}]}),sQ=Kn(({dotNV:ee,dotNL:y})=>nn(1).div(nn(4).mul(y.add(ee).sub(y.mul(ee))))).setLayout({name:"V_Neubelt",type:"float",inputs:[{name:"dotNV",type:"float"},{name:"dotNL",type:"float"}]}),aQ=Kn(({lightDirection:ee})=>{const y=ee.add(Bc).normalize(),E=ku.dot(ee).clamp(),z=ku.dot(Bc).clamp(),ne=ku.dot(y).clamp(),ie=oQ({roughness:H5,dotNH:ne}),se=sQ({dotNV:z,dotNL:E});return iP.mul(ie).mul(se)}),lQ=Kn(({N:ee,V:y,roughness:E})=>{const ie=.0078125,se=ee.dot(y).saturate(),le=Er(E,se.oneMinus().sqrt());return le.assign(le.mul(.984375).add(ie)),le}).setLayout({name:"LTC_Uv",type:"vec2",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"roughness",type:"float"}]}),D6=Kn(({f:ee})=>{const y=ee.length();return Th(y.mul(y).add(ee.z).div(y.add(1)),0)}).setLayout({name:"LTC_ClippedSphereFormFactor",type:"float",inputs:[{name:"f",type:"vec3"}]}),Cw=Kn(({v1:ee,v2:y})=>{const E=ee.dot(y),z=E.abs().toVar(),ne=z.mul(.0145206).add(.4965155).mul(z).add(.8543985).toVar(),ie=z.add(4.1616724).mul(z).add(3.417594).toVar(),se=ne.div(ie),le=E.greaterThan(0).select(se,Th(E.mul(E).oneMinus(),1e-7).inverseSqrt().mul(.5).sub(se));return ee.cross(y).mul(le)}).setLayout({name:"LTC_EdgeVectorFormFactor",type:"vec3",inputs:[{name:"v1",type:"vec3"},{name:"v2",type:"vec3"}]}),F6=Kn(({N:ee,V:y,P:E,mInv:z,p0:ne,p1:ie,p2:se,p3:le})=>{const de=ie.sub(ne).toVar(),ge=le.sub(ne).toVar(),ve=de.cross(ge),xe=Xn().toVar();return Pa(ve.dot(E.sub(ne)).greaterThanEqual(0),()=>{const Se=y.sub(ee.mul(y.dot(ee))).normalize(),Me=ee.cross(Se).negate(),De=z.mul(kg(Se,Me,ee).transpose()).toVar(),Oe=De.mul(ne.sub(E)).normalize().toVar(),Re=De.mul(ie.sub(E)).normalize().toVar(),Le=De.mul(se.sub(E)).normalize().toVar(),Qe=De.mul(le.sub(E)).normalize().toVar(),Xe=Xn(0).toVar();Xe.addAssign(Cw({v1:Oe,v2:Re})),Xe.addAssign(Cw({v1:Re,v2:Le})),Xe.addAssign(Cw({v1:Le,v2:Qe})),Xe.addAssign(Cw({v1:Qe,v2:Oe})),xe.assign(Xn(D6({f:Xe})))}),xe}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"P",type:"vec3"},{name:"mInv",type:"mat3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),uQ=Kn(({P:ee,p0:y,p1:E,p2:z,p3:ne})=>{const ie=E.sub(y).toVar(),se=ne.sub(y).toVar(),le=ie.cross(se),de=Xn().toVar();return Pa(le.dot(ee.sub(y)).greaterThanEqual(0),()=>{const ge=y.sub(ee).normalize().toVar(),ve=E.sub(ee).normalize().toVar(),xe=z.sub(ee).normalize().toVar(),Se=ne.sub(ee).normalize().toVar(),Me=Xn(0).toVar();Me.addAssign(Cw({v1:ge,v2:ve})),Me.addAssign(Cw({v1:ve,v2:xe})),Me.addAssign(Cw({v1:xe,v2:Se})),Me.addAssign(Cw({v1:Se,v2:ge})),de.assign(Xn(D6({f:Me.abs()})))}),de}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"P",type:"vec3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),mB=1/6,L6=ee=>il(mB,il(ee,il(ee,ee.negate().add(3)).sub(3)).add(1)),jD=ee=>il(mB,il(ee,il(ee,il(3,ee).sub(6))).add(4)),N6=ee=>il(mB,il(ee,il(ee,il(-3,ee).add(3)).add(3)).add(1)),GD=ee=>il(mB,hy(ee,3)),I6=ee=>L6(ee).add(jD(ee)),R6=ee=>N6(ee).add(GD(ee)),O6=ee=>Od(-1,jD(ee).div(L6(ee).add(jD(ee)))),k6=ee=>Od(1,GD(ee).div(N6(ee).add(GD(ee)))),z6=(ee,y,E)=>{const z=ee.uvNode,ne=il(z,y.zw).add(.5),ie=xA(ne),se=Vx(ne),le=I6(se.x),de=R6(se.x),ge=O6(se.x),ve=k6(se.x),xe=O6(se.y),Se=k6(se.y),Me=Er(ie.x.add(ge),ie.y.add(xe)).sub(.5).mul(y.xy),De=Er(ie.x.add(ve),ie.y.add(xe)).sub(.5).mul(y.xy),Oe=Er(ie.x.add(ge),ie.y.add(Se)).sub(.5).mul(y.xy),Re=Er(ie.x.add(ve),ie.y.add(Se)).sub(.5).mul(y.xy),Le=I6(se.y).mul(Od(le.mul(ee.sample(Me).level(E)),de.mul(ee.sample(De).level(E)))),Qe=R6(se.y).mul(Od(le.mul(ee.sample(Oe).level(E)),de.mul(ee.sample(Re).level(E))));return Le.add(Qe)},XD=Kn(([ee,y])=>{const E=Er(ee.size(Mn(y))),z=Er(ee.size(Mn(y.add(1)))),ne=_0(1,E),ie=_0(1,z),se=z6(ee,Qo(ne,E),xA(y)),le=z6(ee,Qo(ie,z),Z5(y));return Vx(y).mix(se,le)}),cQ=Kn(([ee,y])=>{const E=y.mul(sD(ee));return XD(ee,E)}),H6=Kn(([ee,y,E,z,ne])=>{const ie=Xn($3(y.negate(),Ux(ee),_0(1,z))),se=Xn(wA(ne[0].xyz),wA(ne[1].xyz),wA(ne[2].xyz));return Ux(ie).mul(E.mul(se))}).setLayout({name:"getVolumeTransmissionRay",type:"vec3",inputs:[{name:"n",type:"vec3"},{name:"v",type:"vec3"},{name:"thickness",type:"float"},{name:"ior",type:"float"},{name:"modelMatrix",type:"mat4"}]}),hQ=Kn(([ee,y])=>ee.mul(SA(y.mul(2).sub(2),0,1))).setLayout({name:"applyIorToRoughness",type:"float",inputs:[{name:"roughness",type:"float"},{name:"ior",type:"float"}]}),dQ=TD(),fQ=TD(),U6=Kn(([ee,y,E],{material:z})=>{const ie=(z.side===au?dQ:fQ).sample(ee),se=yA(aM.x).mul(hQ(y,E));return XD(ie,se)}),V6=Kn(([ee,y,E])=>(Pa(E.notEqual(0),()=>{const z=Y5(y).negate().div(E);return G3(z.negate().mul(ee))}),Xn(1))).setLayout({name:"volumeAttenuation",type:"vec3",inputs:[{name:"transmissionDistance",type:"float"},{name:"attenuationColor",type:"vec3"},{name:"attenuationDistance",type:"float"}]}),gQ=Kn(([ee,y,E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De])=>{let Oe,Re;if(De){Oe=Qo().toVar(),Re=Xn().toVar();const it=ve.sub(1).mul(De.mul(.025)),et=Xn(ve.sub(it),ve,ve.add(it));zu({start:0,end:3},({i:ht})=>{const lt=et.element(ht),ot=H6(ee,y,xe,lt,le),rt=se.add(ot),Mt=ge.mul(de.mul(Qo(rt,1))),Xt=Er(Mt.xy.div(Mt.w)).toVar();Xt.addAssign(1),Xt.divAssign(2),Xt.assign(Er(Xt.x,Xt.y.oneMinus()));const cn=U6(Xt,E,lt);Oe.element(ht).assign(cn.element(ht)),Oe.a.addAssign(cn.a),Re.element(ht).assign(z.element(ht).mul(V6(wA(ot),Se,Me).element(ht)))}),Oe.a.divAssign(3)}else{const it=H6(ee,y,xe,ve,le),et=se.add(it),ht=ge.mul(de.mul(Qo(et,1))),lt=Er(ht.xy.div(ht.w)).toVar();lt.addAssign(1),lt.divAssign(2),lt.assign(Er(lt.x,lt.y.oneMinus())),Oe=U6(lt,E,ve),Re=z.mul(V6(wA(it),Se,Me))}const Le=Re.rgb.mul(Oe.rgb),Qe=ee.dot(y).clamp(),Xe=Xn(B6({dotNV:Qe,specularColor:ne,specularF90:ie,roughness:E})),Ze=Re.r.add(Re.g,Re.b).div(3);return Qo(Xe.oneMinus().mul(Le),Oe.a.oneMinus().mul(Ze).oneMinus())}),pQ=kg(3.2404542,-.969266,.0556434,-1.5371385,1.8760108,-.2040259,-.4985314,.041556,1.0572252),mQ=ee=>{const y=ee.sqrt();return Xn(1).add(y).div(Xn(1).sub(y))},j6=(ee,y)=>ee.sub(y).div(ee.add(y)).pow2(),vQ=(ee,y)=>{const E=ee.mul(2*Math.PI*1e-9),z=Xn(54856e-17,44201e-17,52481e-17),ne=Xn(1681e3,1795300,2208400),ie=Xn(43278e5,93046e5,66121e5),se=nn(9747e-17*Math.sqrt(2*Math.PI*45282e5)).mul(E.mul(2239900).add(y.x).cos()).mul(E.pow2().mul(-45282e5).exp());let le=z.mul(ie.mul(2*Math.PI).sqrt()).mul(ne.mul(E).add(y).cos()).mul(E.pow2().negate().mul(ie).exp());return le=Xn(le.x.add(se),le.y,le.z).div(10685e-11),pQ.mul(le)},yQ=Kn(({outsideIOR:ee,eta2:y,cosTheta1:E,thinFilmThickness:z,baseF0:ne})=>{const ie=yu(ee,y,$0(0,.03,z)),le=ee.div(ie).pow2().mul(E.pow2().oneMinus()).oneMinus();Pa(le.lessThan(0),()=>Xn(1));const de=le.sqrt(),ge=j6(ie,ee),ve=BE({f0:ge,f90:1,dotVH:E}),xe=ve.oneMinus(),Se=ie.lessThan(ee).select(Math.PI,0),Me=nn(Math.PI).sub(Se),De=mQ(ne.clamp(0,.9999)),Oe=j6(De,ie.toVec3()),Re=BE({f0:Oe,f90:1,dotVH:de}),Le=Xn(De.x.lessThan(ie).select(Math.PI,0),De.y.lessThan(ie).select(Math.PI,0),De.z.lessThan(ie).select(Math.PI,0)),Qe=ie.mul(z,de,2),Xe=Xn(Me).add(Le),Ze=ve.mul(Re).clamp(1e-5,.9999),it=Ze.sqrt(),et=xe.pow2().mul(Re).div(Xn(1).sub(Ze)),lt=ve.add(et).toVar(),ot=et.sub(xe).toVar();return zu({start:1,end:2,condition:"<=",name:"m"},({m:rt})=>{ot.mulAssign(it);const Mt=vQ(nn(rt).mul(Qe),nn(rt).mul(Xe)).mul(2);lt.addAssign(ot.mul(Mt))}),lt.max(Xn(0))}).setLayout({name:"evalIridescence",type:"vec3",inputs:[{name:"outsideIOR",type:"float"},{name:"eta2",type:"float"},{name:"cosTheta1",type:"float"},{name:"thinFilmThickness",type:"float"},{name:"baseF0",type:"vec3"}]}),AQ=Kn(({normal:ee,viewDir:y,roughness:E})=>{const z=ee.dot(y).saturate(),ne=E.pow2(),ie=jf(E.lessThan(.25),nn(-339.2).mul(ne).add(nn(161.4).mul(E)).sub(25.9),nn(-8.48).mul(ne).add(nn(14.3).mul(E)).sub(9.95)),se=jf(E.lessThan(.25),nn(44).mul(ne).sub(nn(23.7).mul(E)).add(3.26),nn(1.97).mul(ne).sub(nn(3.27).mul(E)).add(.72));return jf(E.lessThan(.25),0,nn(.1).mul(E).sub(.025)).add(ie.mul(z).add(se).exp()).mul(1/Math.PI).saturate()}),WD=Xn(.04),QD=nn(1);class G6 extends pB{constructor(y=!1,E=!1,z=!1,ne=!1,ie=!1,se=!1){super(),this.clearcoat=y,this.sheen=E,this.iridescence=z,this.anisotropy=ne,this.transmission=ie,this.dispersion=se,this.clearcoatRadiance=null,this.clearcoatSpecularDirect=null,this.clearcoatSpecularIndirect=null,this.sheenSpecularDirect=null,this.sheenSpecularIndirect=null,this.iridescenceFresnel=null,this.iridescenceF0=null}start(y){if(this.clearcoat===!0&&(this.clearcoatRadiance=Xn().toVar("clearcoatRadiance"),this.clearcoatSpecularDirect=Xn().toVar("clearcoatSpecularDirect"),this.clearcoatSpecularIndirect=Xn().toVar("clearcoatSpecularIndirect")),this.sheen===!0&&(this.sheenSpecularDirect=Xn().toVar("sheenSpecularDirect"),this.sheenSpecularIndirect=Xn().toVar("sheenSpecularIndirect")),this.iridescence===!0){const E=ku.dot(Bc).clamp();this.iridescenceFresnel=yQ({outsideIOR:nn(1),eta2:I3,cosTheta1:E,thinFilmThickness:R3,baseF0:Gp}),this.iridescenceF0=T6({f:this.iridescenceFresnel,f90:1,dotVH:E})}if(this.transmission===!0){const E=iv,z=nM.sub(iv).normalize(),ne=Sw,ie=y.context;ie.backdrop=gQ(ne,z,vA,vu,Gp,Y2,E,nv,Hm,zm,K2,O3,z3,k3,this.dispersion?H3:null),ie.backdropAlpha=G5,vu.a.mulAssign(yu(1,ie.backdrop.a,G5))}super.start(y)}computeMultiscattering(y,E,z){const ne=ku.dot(Bc).clamp(),ie=VD({roughness:vA,dotNV:ne}),le=(this.iridescenceF0?U5.mix(Gp,this.iridescenceF0):Gp).mul(ie.x).add(z.mul(ie.y)),ge=ie.x.add(ie.y).oneMinus(),ve=Gp.add(Gp.oneMinus().mul(.047619)),xe=le.mul(ve).div(ge.mul(ve).oneMinus());y.addAssign(le),E.addAssign(xe.mul(ge))}direct({lightDirection:y,lightColor:E,reflectedLight:z}){const ie=ku.dot(y).clamp().mul(E);if(this.sheen===!0&&this.sheenSpecularDirect.addAssign(ie.mul(aQ({lightDirection:y}))),this.clearcoat===!0){const le=sP.dot(y).clamp().mul(E);this.clearcoatSpecularDirect.addAssign(le.mul(UD({lightDirection:y,f0:WD,f90:QD,roughness:W2,normalView:sP})))}z.directDiffuse.addAssign(ie.mul(uP({diffuseColor:vu.rgb}))),z.directSpecular.addAssign(ie.mul(UD({lightDirection:y,f0:Gp,f90:1,roughness:vA,iridescence:this.iridescence,f:this.iridescenceFresnel,USE_IRIDESCENCE:this.iridescence,USE_ANISOTROPY:this.anisotropy})))}directRectArea({lightColor:y,lightPosition:E,halfWidth:z,halfHeight:ne,reflectedLight:ie,ltc_1:se,ltc_2:le}){const de=E.add(z).sub(ne),ge=E.sub(z).sub(ne),ve=E.sub(z).add(ne),xe=E.add(z).add(ne),Se=ku,Me=Bc,De=_h.toVar(),Oe=lQ({N:Se,V:Me,roughness:vA}),Re=se.sample(Oe).toVar(),Le=le.sample(Oe).toVar(),Qe=kg(Xn(Re.x,0,Re.y),Xn(0,1,0),Xn(Re.z,0,Re.w)).toVar(),Xe=Gp.mul(Le.x).add(Gp.oneMinus().mul(Le.y)).toVar();ie.directSpecular.addAssign(y.mul(Xe).mul(F6({N:Se,V:Me,P:De,mInv:Qe,p0:de,p1:ge,p2:ve,p3:xe}))),ie.directDiffuse.addAssign(y.mul(vu).mul(F6({N:Se,V:Me,P:De,mInv:kg(1,0,0,0,1,0,0,0,1),p0:de,p1:ge,p2:ve,p3:xe})))}indirect(y){this.indirectDiffuse(y),this.indirectSpecular(y),this.ambientOcclusion(y)}indirectDiffuse(y){const{irradiance:E,reflectedLight:z}=y.context;z.indirectDiffuse.addAssign(E.mul(uP({diffuseColor:vu})))}indirectSpecular(y){const{radiance:E,iblIrradiance:z,reflectedLight:ne}=y.context;if(this.sheen===!0&&this.sheenSpecularIndirect.addAssign(z.mul(iP,AQ({normal:ku,viewDir:Bc,roughness:H5}))),this.clearcoat===!0){const ve=sP.dot(Bc).clamp(),xe=B6({dotNV:ve,specularColor:WD,specularF90:QD,roughness:W2});this.clearcoatSpecularIndirect.addAssign(this.clearcoatRadiance.mul(xe))}const ie=Xn().toVar("singleScattering"),se=Xn().toVar("multiScattering"),le=z.mul(1/Math.PI);this.computeMultiscattering(ie,se,Y2);const de=ie.add(se),ge=vu.mul(de.r.max(de.g).max(de.b).oneMinus());ne.indirectSpecular.addAssign(E.mul(ie)),ne.indirectSpecular.addAssign(se.mul(le)),ne.indirectDiffuse.addAssign(ge.mul(le))}ambientOcclusion(y){const{ambientOcclusion:E,reflectedLight:z}=y.context,ie=ku.dot(Bc).clamp().add(E),se=vA.mul(-16).oneMinus().negate().exp2(),le=E.sub(ie.pow(se).oneMinus()).clamp();this.clearcoat===!0&&this.clearcoatSpecularIndirect.mulAssign(E),this.sheen===!0&&this.sheenSpecularIndirect.mulAssign(E),z.indirectDiffuse.mulAssign(E),z.indirectSpecular.mulAssign(le)}finish({context:y}){const{outgoingLight:E}=y;if(this.clearcoat===!0){const z=sP.dot(Bc).clamp(),ne=BE({dotVH:z,f0:WD,f90:QD}),ie=E.mul(z5.mul(ne).oneMinus()).add(this.clearcoatSpecularDirect.add(this.clearcoatSpecularIndirect).mul(z5));E.assign(ie)}if(this.sheen===!0){const z=iP.r.max(iP.g).max(iP.b).mul(.157).oneMinus(),ne=E.mul(z).add(this.sheenSpecularDirect,this.sheenSpecularIndirect);E.assign(ne)}}}const X6=nn(1),YD=nn(-2),vB=nn(.8),ZD=nn(-1),yB=nn(.4),KD=nn(2),AB=nn(.305),JD=nn(3),W6=nn(.21),xQ=nn(4),Q6=nn(4),wQ=nn(16),SQ=Kn(([ee])=>{const y=Xn(xc(ee)).toVar(),E=nn(-1).toVar();return Pa(y.x.greaterThan(y.z),()=>{Pa(y.x.greaterThan(y.y),()=>{E.assign(jf(ee.x.greaterThan(0),0,3))}).Else(()=>{E.assign(jf(ee.y.greaterThan(0),1,4))})}).Else(()=>{Pa(y.z.greaterThan(y.y),()=>{E.assign(jf(ee.z.greaterThan(0),2,5))}).Else(()=>{E.assign(jf(ee.y.greaterThan(0),1,4))})}),E}).setLayout({name:"getFace",type:"float",inputs:[{name:"direction",type:"vec3"}]}),PQ=Kn(([ee,y])=>{const E=Er().toVar();return Pa(y.equal(0),()=>{E.assign(Er(ee.z,ee.y).div(xc(ee.x)))}).ElseIf(y.equal(1),()=>{E.assign(Er(ee.x.negate(),ee.z.negate()).div(xc(ee.y)))}).ElseIf(y.equal(2),()=>{E.assign(Er(ee.x.negate(),ee.y).div(xc(ee.z)))}).ElseIf(y.equal(3),()=>{E.assign(Er(ee.z.negate(),ee.y).div(xc(ee.x)))}).ElseIf(y.equal(4),()=>{E.assign(Er(ee.x.negate(),ee.z).div(xc(ee.y)))}).Else(()=>{E.assign(Er(ee.x,ee.y).div(xc(ee.z)))}),il(.5,E.add(1))}).setLayout({name:"getUV",type:"vec2",inputs:[{name:"direction",type:"vec3"},{name:"face",type:"float"}]}),CQ=Kn(([ee])=>{const y=nn(0).toVar();return Pa(ee.greaterThanEqual(vB),()=>{y.assign(X6.sub(ee).mul(ZD.sub(YD)).div(X6.sub(vB)).add(YD))}).ElseIf(ee.greaterThanEqual(yB),()=>{y.assign(vB.sub(ee).mul(KD.sub(ZD)).div(vB.sub(yB)).add(ZD))}).ElseIf(ee.greaterThanEqual(AB),()=>{y.assign(yB.sub(ee).mul(JD.sub(KD)).div(yB.sub(AB)).add(KD))}).ElseIf(ee.greaterThanEqual(W6),()=>{y.assign(AB.sub(ee).mul(xQ.sub(JD)).div(AB.sub(W6)).add(JD))}).Else(()=>{y.assign(nn(-2).mul(yA(il(1.16,ee))))}),y}).setLayout({name:"roughnessToMip",type:"float",inputs:[{name:"roughness",type:"float"}]}),Y6=Kn(([ee,y])=>{const E=ee.toVar();E.assign(il(2,E).sub(1));const z=Xn(E,1).toVar();return Pa(y.equal(0),()=>{z.assign(z.zyx)}).ElseIf(y.equal(1),()=>{z.assign(z.xzy),z.xz.mulAssign(-1)}).ElseIf(y.equal(2),()=>{z.x.mulAssign(-1)}).ElseIf(y.equal(3),()=>{z.assign(z.zyx),z.xz.mulAssign(-1)}).ElseIf(y.equal(4),()=>{z.assign(z.xzy),z.xy.mulAssign(-1)}).ElseIf(y.equal(5),()=>{z.z.mulAssign(-1)}),z}).setLayout({name:"getDirection",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"face",type:"float"}]}),Z6=Kn(([ee,y,E,z,ne,ie])=>{const se=nn(E),le=Xn(y),de=SA(CQ(se),YD,ie),ge=Vx(de),ve=xA(de),xe=Xn(qD(ee,le,ve,z,ne,ie)).toVar();return Pa(ge.notEqual(0),()=>{const Se=Xn(qD(ee,le,ve.add(1),z,ne,ie)).toVar();xe.assign(yu(xe,Se,ge))}),xe}),qD=Kn(([ee,y,E,z,ne,ie])=>{const se=nn(E).toVar(),le=Xn(y),de=nn(SQ(le)).toVar(),ge=nn(Th(Q6.sub(se),0)).toVar();se.assign(Th(se,Q6));const ve=nn(AE(se)).toVar(),xe=Er(PQ(le,de).mul(ve.sub(2)).add(1)).toVar();return Pa(de.greaterThan(2),()=>{xe.y.addAssign(ve),de.subAssign(3)}),xe.x.addAssign(de.mul(ve)),xe.x.addAssign(ge.mul(il(3,wQ))),xe.y.addAssign(il(4,AE(ie).sub(ve))),xe.x.mulAssign(z),xe.y.mulAssign(ne),ee.sample(xe).grad(Er(),Er())}),_D=Kn(({envMap:ee,mipInt:y,outputDirection:E,theta:z,axis:ne,CUBEUV_TEXEL_WIDTH:ie,CUBEUV_TEXEL_HEIGHT:se,CUBEUV_MAX_MIP:le})=>{const de=jx(z),ge=E.mul(de).add(ne.cross(E).mul(km(z))).add(ne.mul(ne.dot(E).mul(de.oneMinus())));return qD(ee,ge,y,ie,se,le)}),K6=Kn(({n:ee,latitudinal:y,poleAxis:E,outputDirection:z,weights:ne,samples:ie,dTheta:se,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe})=>{const Se=Xn(jf(y,E,J5(E,z))).toVar();Pa(Se.equal(Xn(0)),()=>{Se.assign(Xn(z.z,0,z.x.negate()))}),Se.assign(Ux(Se));const Me=Xn().toVar();return Me.addAssign(ne.element(0).mul(_D({theta:0,axis:Se,outputDirection:z,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe}))),zu({start:Mn(1),end:ee},({i:De})=>{Pa(De.greaterThanEqual(ie),()=>{n6()});const Oe=nn(se.mul(nn(De))).toVar();Me.addAssign(ne.element(De).mul(_D({theta:Oe.mul(-1),axis:Se,outputDirection:z,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe}))),Me.addAssign(ne.element(De).mul(_D({theta:Oe,axis:Se,outputDirection:z,mipInt:le,envMap:de,CUBEUV_TEXEL_WIDTH:ge,CUBEUV_TEXEL_HEIGHT:ve,CUBEUV_MAX_MIP:xe})))}),Qo(Me,1)}),TE=4,J6=[.125,.215,.35,.446,.526,.582],cP=20,$D=new Kv(-1,1,1,-1,0,1),EQ=new ah(90,1),q6=new fo;let eF=null,tF=0,nF=0;const hP=(1+Math.sqrt(5))/2,DE=1/hP,_6=[new Vt(-hP,DE,0),new Vt(hP,DE,0),new Vt(-DE,0,hP),new Vt(DE,0,hP),new Vt(0,hP,-DE),new Vt(0,hP,DE),new Vt(-1,1,-1),new Vt(1,1,-1),new Vt(-1,1,1),new Vt(1,1,1)],bQ=new Vt,$6=new WeakMap,MQ=[3,1,5,0,4,2],iF=Y6(wc(),ap("faceIndex")).normalize(),rF=Xn(iF.x,iF.y,iF.z);class BQ{constructor(y){this._renderer=y,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._backgroundBox=null}get _hasInitialized(){return this._renderer.hasInitialized()}fromScene(y,E=0,z=.1,ne=100,ie={}){const{size:se=256,position:le=bQ,renderTarget:de=null}=ie;if(this._setSize(se),this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromScene() called before the backend is initialized. Try using .fromSceneAsync() instead.");const ve=de||this._allocateTarget();return ie.renderTarget=ve,this.fromSceneAsync(y,E,z,ne,ie),ve}eF=this._renderer.getRenderTarget(),tF=this._renderer.getActiveCubeFace(),nF=this._renderer.getActiveMipmapLevel();const ge=de||this._allocateTarget();return ge.depthBuffer=!0,this._init(ge),this._sceneToCubeUV(y,z,ne,ge,le),E>0&&this._blur(ge,0,0,E),this._applyPMREM(ge),this._cleanup(ge),ge}fromSceneAsync(se){return la(this,arguments,function*(y,E=0,z=.1,ne=100,ie={}){return this._hasInitialized===!1&&(yield this._renderer.init()),this.fromScene(y,E,z,ne,ie)})}fromEquirectangular(y,E=null){if(this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromEquirectangular() called before the backend is initialized. Try using .fromEquirectangularAsync() instead."),this._setSizeFromTexture(y);const z=E||this._allocateTarget();return this.fromEquirectangularAsync(y,z),z}return this._fromTexture(y,E)}fromEquirectangularAsync(y,E=null){return la(this,null,function*(){return this._hasInitialized===!1&&(yield this._renderer.init()),this._fromTexture(y,E)})}fromCubemap(y,E=null){if(this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromCubemap() called before the backend is initialized. Try using .fromCubemapAsync() instead."),this._setSizeFromTexture(y);const z=E||this._allocateTarget();return this.fromCubemapAsync(y,E),z}return this._fromTexture(y,E)}fromCubemapAsync(y,E=null){return la(this,null,function*(){return this._hasInitialized===!1&&(yield this._renderer.init()),this._fromTexture(y,E)})}compileCubemapShader(){return la(this,null,function*(){this._cubemapMaterial===null&&(this._cubemapMaterial=t7(),yield this._compileMaterial(this._cubemapMaterial))})}compileEquirectangularShader(){return la(this,null,function*(){this._equirectMaterial===null&&(this._equirectMaterial=n7(),yield this._compileMaterial(this._equirectMaterial))})}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSizeFromTexture(y){y.mapping===Jd||y.mapping===qd?this._setSize(y.image.length===0?16:y.image[0].width||y.image[0].image.width):this._setSize(y.image.width/4)}_setSize(y){this._lodMax=Math.floor(Math.log2(y)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let y=0;y2?Re:0,Re,Re),ge.render(y,se)}ge.autoClear=ve,y.background=Me}_textureToCubeUV(y,E){const z=this._renderer,ne=y.mapping===Jd||y.mapping===qd;ne?this._cubemapMaterial===null&&(this._cubemapMaterial=t7(y)):this._equirectMaterial===null&&(this._equirectMaterial=n7(y));const ie=ne?this._cubemapMaterial:this._equirectMaterial;ie.fragmentNode.value=y;const se=this._lodMeshes[0];se.material=ie;const le=this._cubeSize;xB(E,0,0,3*le,2*le),z.setRenderTarget(E),z.render(se,$D)}_applyPMREM(y){const E=this._renderer,z=E.autoClear;E.autoClear=!1;const ne=this._lodPlanes.length;for(let ie=1;iecP&&console.warn(`sigmaRadians, ${ie}, is too large and will clip, as it requested ${Re} samples when the maximum is set to ${cP}`);const Le=[];let Qe=0;for(let ht=0;htXe-TE?ne-Xe+TE:0),et=4*(this._cubeSize-Ze);xB(E,it,et,3*Ze,2*Ze),de.setRenderTarget(E),de.render(xe,$D)}}function TQ(ee){const y=[],E=[],z=[],ne=[];let ie=ee;const se=ee-TE+1+J6.length;for(let le=0;leee-TE?ge=J6[le-ee+TE-1]:le===0&&(ge=0),z.push(ge);const ve=1/(de-2),xe=-ve,Se=1+ve,Me=[xe,xe,Se,xe,Se,Se,xe,xe,Se,Se,xe,Se],De=6,Oe=6,Re=3,Le=2,Qe=1,Xe=new Float32Array(Re*Oe*De),Ze=new Float32Array(Le*Oe*De),it=new Float32Array(Qe*Oe*De);for(let ht=0;ht2?0:-1,rt=[lt,ot,0,lt+2/3,ot,0,lt+2/3,ot+1,0,lt,ot,0,lt+2/3,ot+1,0,lt,ot+1,0],Mt=MQ[ht];Xe.set(rt,Re*Oe*Mt),Ze.set(Me,Le*Oe*Mt);const Xt=[Mt,Mt,Mt,Mt,Mt,Mt];it.set(Xt,Qe*Oe*Mt)}const et=new Ha;et.setAttribute("position",new wl(Xe,Re)),et.setAttribute("uv",new wl(Ze,Le)),et.setAttribute("faceIndex",new wl(it,Qe)),y.push(et),ne.push(new lu(et,null)),ie>TE&&ie--}return{lodPlanes:y,sizeLods:E,sigmas:z,lodMeshes:ne}}function e7(ee,y){const E={magFilter:tu,minFilter:tu,generateMipmaps:!1,type:mc,format:Fu,colorSpace:vn},z=new Np(ee,y,E);return z.texture.mapping=wp,z.texture.name="PMREM.cubeUv",z.texture.isPMREMTexture=!0,z.scissorTest=!0,z}function xB(ee,y,E,z,ne){ee.viewport.set(y,E,z,ne),ee.scissor.set(y,E,z,ne)}function oF(ee){const y=new Dh;return y.depthTest=!1,y.depthWrite=!1,y.blending=eu,y.name=`PMREM_${ee}`,y}function DQ(ee,y,E){const z=ev(new Array(cP).fill(0)),ne=Us(new Vt(0,1,0)),ie=Us(0),se=nn(cP),le=Us(0),de=Us(1),ge=Dl(null),ve=Us(0),xe=nn(1/y),Se=nn(1/E),Me=nn(ee),De={n:se,latitudinal:le,weights:z,poleAxis:ne,outputDirection:rF,dTheta:ie,samples:de,envMap:ge,mipInt:ve,CUBEUV_TEXEL_WIDTH:xe,CUBEUV_TEXEL_HEIGHT:Se,CUBEUV_MAX_MIP:Me},Oe=oF("blur");return Oe.fragmentNode=K6(NA(Sh({},De),{latitudinal:le.equal(1)})),$6.set(Oe,De),Oe}function t7(ee){const y=oF("cubemap");return y.fragmentNode=PE(ee,rF),y}function n7(ee){const y=oF("equirect");return y.fragmentNode=Dl(ee,kD(rF),0),y}const i7=new WeakMap;function FQ(ee){const y=Math.log2(ee)-2,E=1/ee;return{texelWidth:1/(3*Math.max(Math.pow(2,y),7*16)),texelHeight:E,maxMip:y}}function LQ(ee,y,E){const z=NQ(y);let ne=z.get(ee);if((ne!==void 0?ne.pmremVersion:-1)!==ee.pmremVersion){const se=ee.image;if(ee.isCubeTexture)if(RQ(se))ne=E.fromCubemap(ee,ne);else return null;else if(OQ(se))ne=E.fromEquirectangular(ee,ne);else return null;ne.pmremVersion=ee.pmremVersion,z.set(ee,ne)}return ne.texture}function NQ(ee){let y=i7.get(ee);return y===void 0&&(y=new WeakMap,i7.set(ee,y)),y}class IQ extends Id{static get type(){return"PMREMNode"}constructor(y,E=null,z=null){super("vec3"),this._value=y,this._pmrem=null,this.uvNode=E,this.levelNode=z,this._generator=null;const ne=new Ec;ne.isRenderTargetTexture=!0,this._texture=Dl(ne),this._width=Us(0),this._height=Us(0),this._maxMip=Us(0),this.updateBeforeType=al.RENDER}set value(y){this._value=y,this._pmrem=null}get value(){return this._value}updateFromTexture(y){const E=FQ(y.image.height);this._texture.value=y,this._width.value=E.texelWidth,this._height.value=E.texelHeight,this._maxMip.value=E.maxMip}updateBefore(y){let E=this._pmrem;const z=E?E.pmremVersion:-1,ne=this._value;z!==ne.pmremVersion&&(ne.isPMREMTexture===!0?E=ne:E=LQ(ne,y.renderer,this._generator),E!==null&&(this._pmrem=E,this.updateFromTexture(E)))}setup(y){this._generator===null&&(this._generator=new BQ(y.renderer)),this.updateBefore(y);let E=this.uvNode;E===null&&y.context.getUV&&(E=y.context.getUV(this)),E=pD.mul(Xn(E.x,E.y.negate(),E.z));let z=this.levelNode;return z===null&&y.context.getTextureLevel&&(z=y.context.getTextureLevel(this)),Z6(this._texture,E,z,this._width,this._height,this._maxMip)}dispose(){super.dispose(),this._generator!==null&&this._generator.dispose()}}function RQ(ee){if(ee==null)return!1;let y=0;const E=6;for(let z=0;z0}const sF=Ar(IQ).setParameterLength(1,3),r7=new WeakMap;class kQ extends EE{static get type(){return"EnvironmentNode"}constructor(y=null){super(),this.envNode=y}setup(y){const{material:E}=y;let z=this.envNode;if(z.isTextureNode||z.isMaterialReferenceNode){const xe=z.isTextureNode?z.value:E[z.property];let Se=r7.get(xe);Se===void 0&&(Se=sF(xe),r7.set(xe,Se)),z=Se}const ie=E.useAnisotropy===!0||E.anisotropy>0?A4:ku,se=z.context(o7(vA,ie)).mul(oB),le=z.context(zQ(Sw)).mul(Math.PI).mul(oB),de=$2(se),ge=$2(le);y.context.radiance.addAssign(de),y.context.iblIrradiance.addAssign(ge);const ve=y.context.lightingModel.clearcoatRadiance;if(ve){const xe=z.context(o7(W2,sP)).mul(oB),Se=$2(xe);ve.addAssign(Se)}}}const o7=(ee,y)=>{let E=null;return{getUV:()=>(E===null&&(E=Bc.negate().reflect(y),E=ee.mul(ee).mix(E,y).normalize(),E=E.transformDirection(Hm)),E),getTextureLevel:()=>ee}},zQ=ee=>({getUV:()=>ee,getTextureLevel:()=>nn(1)}),HQ=new e2;class s7 extends Dh{static get type(){return"MeshStandardNodeMaterial"}constructor(y){super(),this.isMeshStandardNodeMaterial=!0,this.lights=!0,this.emissiveNode=null,this.metalnessNode=null,this.roughnessNode=null,this.setDefaultValues(HQ),this.setValues(y)}setupEnvironment(y){let E=super.setupEnvironment(y);return E===null&&y.environmentNode&&(E=y.environmentNode),E?new kQ(E):null}setupLightingModel(){return new G6}setupSpecular(){const y=yu(Xn(.04),vu.rgb,X2);Gp.assign(y),Y2.assign(1)}setupVariants(){const y=this.metalnessNode?nn(this.metalnessNode):B4;X2.assign(y);let E=this.roughnessNode?nn(this.roughnessNode):M4;E=HD({roughness:E}),vA.assign(E),this.setupSpecular(),vu.assign(Qo(vu.rgb.mul(y.oneMinus()),vu.a))}copy(y){return this.emissiveNode=y.emissiveNode,this.metalnessNode=y.metalnessNode,this.roughnessNode=y.roughnessNode,super.copy(y)}}const UQ=new t2;class VQ extends s7{static get type(){return"MeshPhysicalNodeMaterial"}constructor(y){super(),this.isMeshPhysicalNodeMaterial=!0,this.clearcoatNode=null,this.clearcoatRoughnessNode=null,this.clearcoatNormalNode=null,this.sheenNode=null,this.sheenRoughnessNode=null,this.iridescenceNode=null,this.iridescenceIORNode=null,this.iridescenceThicknessNode=null,this.specularIntensityNode=null,this.specularColorNode=null,this.iorNode=null,this.transmissionNode=null,this.thicknessNode=null,this.attenuationDistanceNode=null,this.attenuationColorNode=null,this.dispersionNode=null,this.anisotropyNode=null,this.setDefaultValues(UQ),this.setValues(y)}get useClearcoat(){return this.clearcoat>0||this.clearcoatNode!==null}get useIridescence(){return this.iridescence>0||this.iridescenceNode!==null}get useSheen(){return this.sheen>0||this.sheenNode!==null}get useAnisotropy(){return this.anisotropy>0||this.anisotropyNode!==null}get useTransmission(){return this.transmission>0||this.transmissionNode!==null}get useDispersion(){return this.dispersion>0||this.dispersionNode!==null}setupSpecular(){const y=this.iorNode?nn(this.iorNode):j4;K2.assign(y),Gp.assign(yu(Xp(J3(K2.sub(1).div(K2.add(1))).mul(b4),Xn(1)).mul(wD),vu.rgb,X2)),Y2.assign(yu(wD,1,X2))}setupLightingModel(){return new G6(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion)}setupVariants(y){if(super.setupVariants(y),this.useClearcoat){const E=this.clearcoatNode?nn(this.clearcoatNode):D4,z=this.clearcoatRoughnessNode?nn(this.clearcoatRoughnessNode):F4;z5.assign(E),W2.assign(HD({roughness:z}))}if(this.useSheen){const E=this.sheenNode?Xn(this.sheenNode):I4,z=this.sheenRoughnessNode?nn(this.sheenRoughnessNode):R4;iP.assign(E),H5.assign(z)}if(this.useIridescence){const E=this.iridescenceNode?nn(this.iridescenceNode):k4,z=this.iridescenceIORNode?nn(this.iridescenceIORNode):z4,ne=this.iridescenceThicknessNode?nn(this.iridescenceThicknessNode):H4;U5.assign(E),I3.assign(z),R3.assign(ne)}if(this.useAnisotropy){const E=(this.anisotropyNode?Er(this.anisotropyNode):O4).toVar();Aw.assign(E.length()),Pa(Aw.equal(0),()=>{E.assign(Er(1,0))}).Else(()=>{E.divAssign(Er(Aw)),Aw.assign(Aw.saturate())}),V5.assign(Aw.pow2().mix(vA.pow2(),1)),Q2.assign(aP[0].mul(E.x).add(aP[1].mul(E.y))),rP.assign(aP[1].mul(E.x).sub(aP[0].mul(E.y)))}if(this.useTransmission){const E=this.transmissionNode?nn(this.transmissionNode):U4,z=this.thicknessNode?nn(this.thicknessNode):V4,ne=this.attenuationDistanceNode?nn(this.attenuationDistanceNode):G4,ie=this.attenuationColorNode?Xn(this.attenuationColorNode):X4;if(G5.assign(E),O3.assign(z),k3.assign(ne),z3.assign(ie),this.useDispersion){const se=this.dispersionNode?nn(this.dispersionNode):Q4;H3.assign(se)}}}setupClearcoatNormal(){return this.clearcoatNormalNode?Xn(this.clearcoatNormalNode):L4}setup(y){y.context.setupClearcoatNormal=()=>xE(this.setupClearcoatNormal(y),"NORMAL","vec3"),super.setup(y)}copy(y){return this.clearcoatNode=y.clearcoatNode,this.clearcoatRoughnessNode=y.clearcoatRoughnessNode,this.clearcoatNormalNode=y.clearcoatNormalNode,this.sheenNode=y.sheenNode,this.sheenRoughnessNode=y.sheenRoughnessNode,this.iridescenceNode=y.iridescenceNode,this.iridescenceIORNode=y.iridescenceIORNode,this.iridescenceThicknessNode=y.iridescenceThicknessNode,this.specularIntensityNode=y.specularIntensityNode,this.specularColorNode=y.specularColorNode,this.transmissionNode=y.transmissionNode,this.thicknessNode=y.thicknessNode,this.attenuationDistanceNode=y.attenuationDistanceNode,this.attenuationColorNode=y.attenuationColorNode,this.dispersionNode=y.dispersionNode,this.anisotropyNode=y.anisotropyNode,super.copy(y)}}class jQ extends null{constructor(y=!1,E=!1,z=!1,ne=!1,ie=!1,se=!1,le=!1){super(y,E,z,ne,ie,se),this.useSSS=le}direct({lightDirection:y,lightColor:E,reflectedLight:z},ne){if(this.useSSS===!0){const ie=ne.material,{thicknessColorNode:se,thicknessDistortionNode:le,thicknessAmbientNode:de,thicknessAttenuationNode:ge,thicknessPowerNode:ve,thicknessScaleNode:xe}=ie,Se=y.add(ku.mul(le)).normalize(),Me=nn(Bc.dot(Se.negate()).saturate().pow(ve).mul(xe)),De=Xn(Me.add(de).mul(se));z.directDiffuse.addAssign(De.mul(ge.mul(E)))}super.direct({lightDirection:y,lightColor:E,reflectedLight:z},ne)}}class Qse extends null{static get type(){return"MeshSSSNodeMaterial"}constructor(y){super(y),this.thicknessColorNode=null,this.thicknessDistortionNode=nn(.1),this.thicknessAmbientNode=nn(0),this.thicknessAttenuationNode=nn(.1),this.thicknessPowerNode=nn(2),this.thicknessScaleNode=nn(10)}get useSSS(){return this.thicknessColorNode!==null}setupLightingModel(){return new jQ(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion,this.useSSS)}copy(y){return this.thicknessColorNode=y.thicknessColorNode,this.thicknessDistortionNode=y.thicknessDistortionNode,this.thicknessAmbientNode=y.thicknessAmbientNode,this.thicknessAttenuationNode=y.thicknessAttenuationNode,this.thicknessPowerNode=y.thicknessPowerNode,this.thicknessScaleNode=y.thicknessScaleNode,super.copy(y)}}const GQ=Kn(({normal:ee,lightDirection:y,builder:E})=>{const z=ee.dot(y),ne=Er(z.mul(.5).add(.5),0);if(E.material.gradientMap){const ie=Yx("gradientMap","texture").context({getUV:()=>ne});return Xn(ie.r)}else{const ie=ne.fwidth().mul(.5);return yu(Xn(.7),Xn(1),$0(nn(.7).sub(ie.x),nn(.7).add(ie.x),ne.x))}});class XQ extends pB{direct({lightDirection:y,lightColor:E,reflectedLight:z},ne){const ie=GQ({normal:rB,lightDirection:y,builder:ne}).mul(E);z.directDiffuse.addAssign(ie.mul(uP({diffuseColor:vu.rgb})))}indirect(y){const{ambientOcclusion:E,irradiance:z,reflectedLight:ne}=y.context;ne.indirectDiffuse.addAssign(z.mul(uP({diffuseColor:vu}))),ne.indirectDiffuse.mulAssign(E)}}const WQ=new n2;class QQ extends Dh{static get type(){return"MeshToonNodeMaterial"}constructor(y){super(),this.isMeshToonNodeMaterial=!0,this.lights=!0,this.setDefaultValues(WQ),this.setValues(y)}setupLightingModel(){return new XQ}}const a7=Kn(()=>{const ee=Xn(Bc.z,0,Bc.x.negate()).normalize(),y=Bc.cross(ee);return Er(ee.dot(ku),y.dot(ku)).mul(.495).add(.5)}).once(["NORMAL","VERTEX"])().toVar("matcapUV"),YQ=new tw;class ZQ extends Dh{static get type(){return"MeshMatcapNodeMaterial"}constructor(y){super(),this.isMeshMatcapNodeMaterial=!0,this.setDefaultValues(YQ),this.setValues(y)}setupVariants(y){const E=a7;let z;y.material.matcap?z=Yx("matcap","texture").context({getUV:()=>E}):z=Xn(yu(.2,.8,E.y)),vu.rgb.mulAssign(z.rgb)}}class KQ extends Id{static get type(){return"RotateNode"}constructor(y,E){super(),this.positionNode=y,this.rotationNode=E}getNodeType(y){return this.positionNode.getNodeType(y)}setup(y){const{rotationNode:E,positionNode:z}=this;if(this.getNodeType(y)==="vec2"){const ie=E.cos(),se=E.sin();return k5(ie,se,se.negate(),ie).mul(z)}else{const ie=E,se=nP(Qo(1,0,0,0),Qo(0,jx(ie.x),km(ie.x).negate(),0),Qo(0,km(ie.x),jx(ie.x),0),Qo(0,0,0,1)),le=nP(Qo(jx(ie.y),0,km(ie.y),0),Qo(0,1,0,0),Qo(km(ie.y).negate(),0,jx(ie.y),0),Qo(0,0,0,1)),de=nP(Qo(jx(ie.z),km(ie.z).negate(),0,0),Qo(km(ie.z),jx(ie.z),0,0),Qo(0,0,1,0),Qo(0,0,0,1));return se.mul(le).mul(de).mul(Qo(z,1)).xyz}}}const wB=Ar(KQ).setParameterLength(2),JQ=new oS;class l7 extends Dh{static get type(){return"SpriteNodeMaterial"}constructor(y){super(),this.isSpriteNodeMaterial=!0,this._useSizeAttenuation=!0,this.positionNode=null,this.rotationNode=null,this.scaleNode=null,this.transparent=!0,this.setDefaultValues(JQ),this.setValues(y)}setupPositionView(y){const{object:E,camera:z}=y,ne=this.sizeAttenuation,{positionNode:ie,rotationNode:se,scaleNode:le}=this,de=Qx.mul(Xn(ie||0));let ge=Er(nv[0].xyz.length(),nv[1].xyz.length());if(le!==null&&(ge=ge.mul(Er(le))),ne===!1)if(z.isPerspectiveCamera)ge=ge.mul(de.z.negate());else{const Me=nn(2).div(zm.element(1).element(1));ge=ge.mul(Me.mul(2))}let ve=lg.xy;if(E.center&&E.center.isVector2===!0){const Me=$G("center","vec2",E);ve=ve.sub(Me.sub(.5))}ve=ve.mul(ge);const xe=nn(se||N4),Se=wB(ve,xe);return Qo(de.xy.add(Se),de.zw)}copy(y){return this.positionNode=y.positionNode,this.rotationNode=y.rotationNode,this.scaleNode=y.scaleNode,super.copy(y)}get sizeAttenuation(){return this._useSizeAttenuation}set sizeAttenuation(y){this._useSizeAttenuation!==y&&(this._useSizeAttenuation=y,this.needsUpdate=!0)}}const qQ=new pS;class _Q extends l7{static get type(){return"PointsNodeMaterial"}constructor(y){super(),this.sizeNode=null,this.isPointsNodeMaterial=!0,this.setDefaultValues(qQ),this.setValues(y)}setupPositionView(){const{positionNode:y}=this;return Qx.mul(Xn(y||qh)).xyz}setupVertex(y){const E=super.setupVertex(y);if(y.material.isNodeMaterial!==!0)return E;const{rotationNode:z,scaleNode:ne,sizeNode:ie}=this,se=lg.xy.toVar(),le=Kx.z.div(Kx.w);if(z&&z.isNode){const ge=nn(z);se.assign(wB(se,ge))}let de=ie!==null?Er(ie):W4;return this.sizeAttenuation===!0&&(de=de.mul(de.div(_h.z.negate()))),ne&&ne.isNode&&(de=de.mul(Er(ne))),se.mulAssign(de.mul(2)),se.assign(se.div(Kx.z)),se.y.assign(se.y.mul(le)),se.assign(se.mul(E.w)),E.addAssign(Qo(se,0,0)),E}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(y){this._useAlphaToCoverage!==y&&(this._useAlphaToCoverage=y,this.needsUpdate=!0)}}class $Q extends pB{constructor(){super(),this.shadowNode=nn(1).toVar("shadowMask")}direct({lightNode:y}){y.shadowNode!==null&&this.shadowNode.mulAssign(y.shadowNode)}finish({context:y}){vu.a.mulAssign(this.shadowNode.oneMinus()),y.outgoingLight.rgb.assign(vu.rgb)}}const eY=new d5;class tY extends Dh{static get type(){return"ShadowNodeMaterial"}constructor(y){super(),this.isShadowNodeMaterial=!0,this.lights=!0,this.transparent=!0,this.setDefaultValues(eY),this.setValues(y)}setupLightingModel(){return new $Q}}const hM=cy("vec3"),u7=cy("vec3"),c7=cy("vec3");class nY extends null{constructor(){super()}start(y){const{material:E,context:z}=y,ne=cy("vec3"),ie=cy("vec3");Pa(nM.sub(iv).length().greaterThan(ZI.mul(2)),()=>{ne.assign(nM),ie.assign(iv)}).Else(()=>{ne.assign(iv),ie.assign(nM)});const se=ie.sub(ne),le=Us("int").onRenderUpdate(({material:Se})=>Se.steps),de=se.length().div(le).toVar(),ge=se.normalize().toVar(),ve=nn(0).toVar(),xe=Xn(1).toVar();E.offsetNode&&ve.addAssign(E.offsetNode.mul(de)),zu(le,()=>{const Se=ne.add(ge.mul(ve)),Me=Hm.mul(Qo(Se,1)).xyz;E.depthNode!==null&&(u7.assign(ME(LD(Me.z,Xx,Wx))),z.sceneDepthNode=ME(E.depthNode).toVar()),z.positionWorld=Se,z.shadowPositionWorld=Se,z.positionView=Me,hM.assign(0);let De;E.scatteringNode&&(De=E.scatteringNode({positionRay:Se})),super.start(y),De&&hM.mulAssign(De);const Oe=hM.mul(.01).negate().mul(de).exp();xe.mulAssign(Oe),ve.addAssign(de)}),c7.addAssign(xe.saturate().oneMinus())}scatteringLight(y,E){const z=E.context.sceneDepthNode;z?Pa(z.greaterThanEqual(u7),()=>{hM.addAssign(y)}):hM.addAssign(y)}direct({lightNode:y,lightColor:E},z){if(y.light.distance===void 0)return;const ne=E.xyz.toVar();ne.mulAssign(y.shadowNode),this.scatteringLight(ne,z)}directRectArea({lightColor:y,lightPosition:E,halfWidth:z,halfHeight:ne},ie){const se=E.add(z).sub(ne),le=E.sub(z).sub(ne),de=E.sub(z).add(ne),ge=E.add(z).add(ne),ve=ie.context.positionView,xe=y.xyz.mul(uQ({P:ve,p0:se,p1:le,p2:de,p3:ge})).pow(1.5);this.scatteringLight(xe,ie)}finish(y){y.context.outgoingLight.assign(c7)}}class Yse extends null{static get type(){return"VolumeNodeMaterial"}constructor(y){super(),this.isVolumeNodeMaterial=!0,this.steps=25,this.offsetNode=null,this.scatteringNode=null,this.lights=!0,this.transparent=!0,this.side=BackSide,this.depthTest=!1,this.depthWrite=!1,this.setValues(y)}setupLightingModel(){return new nY}}class iY{constructor(y,E){this.nodes=y,this.info=E,this._context=typeof self!="undefined"?self:null,this._animationLoop=null,this._requestId=null}start(){const y=(E,z)=>{this._requestId=this._context.requestAnimationFrame(y),this.info.autoReset===!0&&this.info.reset(),this.nodes.nodeFrame.update(),this.info.frame=this.nodes.nodeFrame.frameId,this._animationLoop!==null&&this._animationLoop(E,z)};y()}stop(){this._context.cancelAnimationFrame(this._requestId),this._requestId=null}getAnimationLoop(){return this._animationLoop}setAnimationLoop(y){this._animationLoop=y}getContext(){return this._context}setContext(y){this._context=y}dispose(){this.stop()}}class dy{constructor(){this.weakMap=new WeakMap}get(y){let E=this.weakMap;for(let z=0;z{this.dispose()},this.onGeometryDispose=()=>{this.attributes=null,this.attributesId=null},this.material.addEventListener("dispose",this.onMaterialDispose),this.geometry.addEventListener("dispose",this.onGeometryDispose)}updateClipping(y){this.clippingContext=y}get clippingNeedsUpdate(){return this.clippingContext===null||this.clippingContext.cacheKey===this.clippingContextCacheKey?!1:(this.clippingContextCacheKey=this.clippingContext.cacheKey,!0)}get hardwareClippingPlanes(){return this.material.hardwareClipping===!0?this.clippingContext.unionClippingCount:0}getNodeBuilderState(){return this._nodeBuilderState||(this._nodeBuilderState=this._nodes.getForRender(this))}getMonitor(){return this._monitor||(this._monitor=this.getNodeBuilderState().observer)}getBindings(){return this._bindings||(this._bindings=this.getNodeBuilderState().createBindings())}getBindingGroup(y){for(const E of this.getBindings())if(E.name===y)return E}getIndex(){return this._geometries.getIndex(this)}getIndirect(){return this._geometries.getIndirect(this)}getChainArray(){return[this.object,this.material,this.context,this.lightsNode]}setGeometry(y){this.geometry=y,this.attributes=null,this.attributesId=null}getAttributes(){if(this.attributes!==null)return this.attributes;const y=this.getNodeBuilderState().nodeAttributes,E=this.geometry,z=[],ne=new Set,ie={};for(const se of y){let le;if(se.node&&se.node.attribute?le=se.node.attribute:(le=E.getAttribute(se.name),ie[se.name]=le.version),le===void 0)continue;z.push(le);const de=le.isInterleavedBufferAttribute?le.data:le;ne.add(de)}return this.attributes=z,this.attributesId=ie,this.vertexBuffers=Array.from(ne.values()),z}getVertexBuffers(){return this.vertexBuffers===null&&this.getAttributes(),this.vertexBuffers}getDrawParameters(){const{object:y,material:E,geometry:z,group:ne,drawRange:ie}=this,se=this.drawParams||(this.drawParams={vertexCount:0,firstVertex:0,instanceCount:0,firstInstance:0}),le=this.getIndex(),de=le!==null;let ge=1;if(z.isInstancedBufferGeometry===!0?ge=z.instanceCount:y.count!==void 0&&(ge=Math.max(0,y.count)),ge===0)return null;if(se.instanceCount=ge,y.isBatchedMesh===!0)return se;let ve=1;E.wireframe===!0&&!y.isPoints&&!y.isLineSegments&&!y.isLine&&!y.isLineLoop&&(ve=2);let xe=ie.start*ve,Se=(ie.start+ie.count)*ve;ne!==null&&(xe=Math.max(xe,ne.start*ve),Se=Math.min(Se,(ne.start+ne.count)*ve));const Me=z.attributes.position;let De=1/0;de?De=le.count:Me!=null&&(De=Me.count),xe=Math.max(xe,0),Se=Math.min(Se,De);const Oe=Se-xe;return Oe<0||Oe===1/0?null:(se.vertexCount=Oe,se.firstVertex=xe,se)}getGeometryCacheKey(){const{geometry:y}=this;let E="";for(const z of Object.keys(y.attributes).sort()){const ne=y.attributes[z];E+=z+",",ne.data&&(E+=ne.data.stride+","),ne.offset&&(E+=ne.offset+","),ne.itemSize&&(E+=ne.itemSize+","),ne.normalized&&(E+="n,")}for(const z of Object.keys(y.morphAttributes).sort()){const ne=y.morphAttributes[z];E+="morph-"+z+",";for(let ie=0,se=ne.length;ie1&&(z+=y.uuid+","),z+=y.receiveShadow+",",g3(z)}get needsGeometryUpdate(){if(this.geometry.id!==this.object.geometry.id)return!0;if(this.attributes!==null){const y=this.attributesId;for(const E in y){const z=this.geometry.getAttribute(E);if(z===void 0||y[E]!==z.id)return!0}}return!1}get needsUpdate(){return this.initialNodesCacheKey!==this.getDynamicCacheKey()||this.clippingNeedsUpdate}getDynamicCacheKey(){let y=0;return this.material.isShadowPassMaterial!==!0&&(y=this._nodes.getCacheKey(this.scene,this.lightsNode)),this.camera.isArrayCamera&&(y=k2(y,this.camera.cameras.length)),this.object.receiveShadow&&(y=k2(y,1)),y}getCacheKey(){return this.getMaterialCacheKey()+this.getDynamicCacheKey()}dispose(){this.material.removeEventListener("dispose",this.onMaterialDispose),this.geometry.removeEventListener("dispose",this.onGeometryDispose),this.onDispose()}}const dP=[];class aY{constructor(y,E,z,ne,ie,se){this.renderer=y,this.nodes=E,this.geometries=z,this.pipelines=ne,this.bindings=ie,this.info=se,this.chainMaps={}}get(y,E,z,ne,ie,se,le,de){const ge=this.getChainMap(de);dP[0]=y,dP[1]=E,dP[2]=se,dP[3]=ie;let ve=ge.get(dP);return ve===void 0?(ve=this.createRenderObject(this.nodes,this.geometries,this.renderer,y,E,z,ne,ie,se,le,de),ge.set(dP,ve)):(ve.updateClipping(le),ve.needsGeometryUpdate&&ve.setGeometry(y.geometry),(ve.version!==E.version||ve.needsUpdate)&&(ve.initialCacheKey!==ve.getCacheKey()?(ve.dispose(),ve=this.get(y,E,z,ne,ie,se,le,de)):ve.version=E.version)),dP.length=0,ve}getChainMap(y="default"){return this.chainMaps[y]||(this.chainMaps[y]=new dy)}dispose(){this.chainMaps={}}createRenderObject(y,E,z,ne,ie,se,le,de,ge,ve,xe){const Se=this.getChainMap(xe),Me=new sY(y,E,z,ne,ie,se,le,de,ge,ve);return Me.onDispose=()=>{this.pipelines.delete(Me),this.bindings.delete(Me),this.nodes.delete(Me),Se.delete(Me.getChainArray())},Me}}class Ew{constructor(){this.data=new WeakMap}get(y){let E=this.data.get(y);return E===void 0&&(E={},this.data.set(y,E)),E}delete(y){let E=null;return this.data.has(y)&&(E=this.data.get(y),this.data.delete(y)),E}has(y){return this.data.has(y)}dispose(){this.data=new WeakMap}}const ov={VERTEX:1,INDEX:2,STORAGE:3,INDIRECT:4},bw=16,lY=211,uY=212;class cY extends Ew{constructor(y){super(),this.backend=y}delete(y){const E=super.delete(y);return E!==null&&this.backend.destroyAttribute(y),E}update(y,E){const z=this.get(y);if(z.version===void 0)E===ov.VERTEX?this.backend.createAttribute(y):E===ov.INDEX?this.backend.createIndexAttribute(y):E===ov.STORAGE?this.backend.createStorageAttribute(y):E===ov.INDIRECT&&this.backend.createIndirectStorageAttribute(y),z.version=this._getBufferAttribute(y).version;else{const ne=this._getBufferAttribute(y);(z.version{this.info.memory.geometries--;const ie=E.index,se=y.getAttributes();ie!==null&&this.attributes.delete(ie);for(const de of se)this.attributes.delete(de);const le=this.wireframes.get(E);le!==void 0&&this.attributes.delete(le),E.removeEventListener("dispose",ne)};E.addEventListener("dispose",ne)}updateAttributes(y){const E=y.getAttributes();for(const ie of E)ie.isStorageBufferAttribute||ie.isStorageInstancedBufferAttribute?this.updateAttribute(ie,ov.STORAGE):this.updateAttribute(ie,ov.VERTEX);const z=this.getIndex(y);z!==null&&this.updateAttribute(z,ov.INDEX);const ne=y.geometry.indirect;ne!==null&&this.updateAttribute(ne,ov.INDIRECT)}updateAttribute(y,E){const z=this.info.render.calls;y.isInterleavedBufferAttribute?this.attributeCall.get(y)===void 0?(this.attributes.update(y,E),this.attributeCall.set(y,z)):this.attributeCall.get(y.data)!==z&&(this.attributes.update(y,E),this.attributeCall.set(y.data,z),this.attributeCall.set(y,z)):this.attributeCall.get(y)!==z&&(this.attributes.update(y,E),this.attributeCall.set(y,z))}getIndirect(y){return y.geometry.indirect}getIndex(y){const{geometry:E,material:z}=y;let ne=E.index;if(z.wireframe===!0){const ie=this.wireframes;let se=ie.get(E);se===void 0?(se=d7(E),ie.set(E,se)):se.version!==h7(E)&&(this.attributes.delete(se),se=d7(E),ie.set(E,se)),ne=se}return ne}}class dY{constructor(){this.autoReset=!0,this.frame=0,this.calls=0,this.render={calls:0,frameCalls:0,drawCalls:0,triangles:0,points:0,lines:0,timestamp:0},this.compute={calls:0,frameCalls:0,timestamp:0},this.memory={geometries:0,textures:0}}update(y,E,z){this.render.drawCalls++,y.isMesh||y.isSprite?this.render.triangles+=z*(E/3):y.isPoints?this.render.points+=z*E:y.isLineSegments?this.render.lines+=z*(E/2):y.isLine?this.render.lines+=z*(E-1):console.error("THREE.WebGPUInfo: Unknown object type.")}reset(){this.render.drawCalls=0,this.render.frameCalls=0,this.compute.frameCalls=0,this.render.triangles=0,this.render.points=0,this.render.lines=0}dispose(){this.reset(),this.calls=0,this.render.calls=0,this.compute.calls=0,this.render.timestamp=0,this.compute.timestamp=0,this.memory.geometries=0,this.memory.textures=0}}class f7{constructor(y){this.cacheKey=y,this.usedTimes=0}}class fY extends f7{constructor(y,E,z){super(y),this.vertexProgram=E,this.fragmentProgram=z}}class gY extends f7{constructor(y,E){super(y),this.computeProgram=E,this.isComputePipeline=!0}}let pY=0;class aF{constructor(y,E,z,ne=null,ie=null){this.id=pY++,this.code=y,this.stage=E,this.name=z,this.transforms=ne,this.attributes=ie,this.usedTimes=0}}class mY extends Ew{constructor(y,E){super(),this.backend=y,this.nodes=E,this.bindings=null,this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}getForCompute(y,E){const{backend:z}=this,ne=this.get(y);if(this._needsComputeUpdate(y)){const ie=ne.pipeline;ie&&(ie.usedTimes--,ie.computeProgram.usedTimes--);const se=this.nodes.getForCompute(y);let le=this.programs.compute.get(se.computeShader);le===void 0&&(ie&&ie.computeProgram.usedTimes===0&&this._releaseProgram(ie.computeProgram),le=new aF(se.computeShader,"compute",y.name,se.transforms,se.nodeAttributes),this.programs.compute.set(se.computeShader,le),z.createProgram(le));const de=this._getComputeCacheKey(y,le);let ge=this.caches.get(de);ge===void 0&&(ie&&ie.usedTimes===0&&this._releasePipeline(ie),ge=this._getComputePipeline(y,le,de,E)),ge.usedTimes++,le.usedTimes++,ne.version=y.version,ne.pipeline=ge}return ne.pipeline}getForRender(y,E=null){const{backend:z}=this,ne=this.get(y);if(this._needsRenderUpdate(y)){const ie=ne.pipeline;ie&&(ie.usedTimes--,ie.vertexProgram.usedTimes--,ie.fragmentProgram.usedTimes--);const se=y.getNodeBuilderState(),le=y.material?y.material.name:"";let de=this.programs.vertex.get(se.vertexShader);de===void 0&&(ie&&ie.vertexProgram.usedTimes===0&&this._releaseProgram(ie.vertexProgram),de=new aF(se.vertexShader,"vertex",le),this.programs.vertex.set(se.vertexShader,de),z.createProgram(de));let ge=this.programs.fragment.get(se.fragmentShader);ge===void 0&&(ie&&ie.fragmentProgram.usedTimes===0&&this._releaseProgram(ie.fragmentProgram),ge=new aF(se.fragmentShader,"fragment",le),this.programs.fragment.set(se.fragmentShader,ge),z.createProgram(ge));const ve=this._getRenderCacheKey(y,de,ge);let xe=this.caches.get(ve);xe===void 0?(ie&&ie.usedTimes===0&&this._releasePipeline(ie),xe=this._getRenderPipeline(y,de,ge,ve,E)):y.pipeline=xe,xe.usedTimes++,de.usedTimes++,ge.usedTimes++,ne.pipeline=xe}return ne.pipeline}delete(y){const E=this.get(y).pipeline;return E&&(E.usedTimes--,E.usedTimes===0&&this._releasePipeline(E),E.isComputePipeline?(E.computeProgram.usedTimes--,E.computeProgram.usedTimes===0&&this._releaseProgram(E.computeProgram)):(E.fragmentProgram.usedTimes--,E.vertexProgram.usedTimes--,E.vertexProgram.usedTimes===0&&this._releaseProgram(E.vertexProgram),E.fragmentProgram.usedTimes===0&&this._releaseProgram(E.fragmentProgram))),super.delete(y)}dispose(){super.dispose(),this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}updateForRender(y){this.getForRender(y)}_getComputePipeline(y,E,z,ne){z=z||this._getComputeCacheKey(y,E);let ie=this.caches.get(z);return ie===void 0&&(ie=new gY(z,E),this.caches.set(z,ie),this.backend.createComputePipeline(ie,ne)),ie}_getRenderPipeline(y,E,z,ne,ie){ne=ne||this._getRenderCacheKey(y,E,z);let se=this.caches.get(ne);return se===void 0&&(se=new fY(ne,E,z),this.caches.set(ne,se),y.pipeline=se,this.backend.createRenderPipeline(y,ie)),se}_getComputeCacheKey(y,E){return y.id+","+E.id}_getRenderCacheKey(y,E,z){return E.id+","+z.id+","+this.backend.getRenderCacheKey(y)}_releasePipeline(y){this.caches.delete(y.cacheKey)}_releaseProgram(y){const E=y.code,z=y.stage;this.programs[z].delete(E)}_needsComputeUpdate(y){const E=this.get(y);return E.pipeline===void 0||E.version!==y.version}_needsRenderUpdate(y){return this.get(y).pipeline===void 0||this.backend.needsRenderUpdate(y)}}class vY extends Ew{constructor(y,E,z,ne,ie,se){super(),this.backend=y,this.textures=z,this.pipelines=ie,this.attributes=ne,this.nodes=E,this.info=se,this.pipelines.bindings=this}getForRender(y){const E=y.getBindings();for(const z of E){const ne=this.get(z);ne.bindGroup===void 0&&(this._init(z),this.backend.createBindings(z,E,0),ne.bindGroup=z)}return E}getForCompute(y){const E=this.nodes.getForCompute(y).bindings;for(const z of E){const ne=this.get(z);ne.bindGroup===void 0&&(this._init(z),this.backend.createBindings(z,E,0),ne.bindGroup=z)}return E}updateForCompute(y){this._updateBindings(this.getForCompute(y))}updateForRender(y){this._updateBindings(this.getForRender(y))}_updateBindings(y){for(const E of y)this._update(E,y)}_init(y){for(const E of y.bindings)if(E.isSampledTexture)this.textures.updateTexture(E.texture);else if(E.isStorageBuffer){const z=E.attribute,ne=z.isIndirectStorageBufferAttribute?ov.INDIRECT:ov.STORAGE;this.attributes.update(z,ne)}}_update(y,E){const{backend:z}=this;let ne=!1,ie=!0,se=0,le=0;for(const de of y.bindings)if(!(de.isNodeUniformsGroup&&this.nodes.updateGroup(de)===!1)){if(de.isStorageBuffer){const ge=de.attribute,ve=ge.isIndirectStorageBufferAttribute?ov.INDIRECT:ov.STORAGE;this.attributes.update(ge,ve)}if(de.isUniformBuffer)de.update()&&z.updateBinding(de);else if(de.isSampler)de.update();else if(de.isSampledTexture){const ge=this.textures.get(de.texture);de.needsBindingsUpdate(ge.generation)&&(ne=!0);const ve=de.update(),xe=de.texture;ve&&this.textures.updateTexture(xe);const Se=z.get(xe);if(Se.externalTexture!==void 0||ge.isDefaultTexture?ie=!1:(se=se*10+xe.id,le+=xe.version),z.isWebGPUBackend===!0&&Se.texture===void 0&&Se.externalTexture===void 0&&(console.error("Bindings._update: binding should be available:",de,ve,xe,de.textureNode.value,ne),this.textures.updateTexture(xe),ne=!0),xe.isStorageTexture===!0){const Me=this.get(xe);de.store===!0?Me.needsMipmap=!0:this.textures.needsMipmaps(xe)&&Me.needsMipmap===!0&&(this.backend.generateMipmaps(xe),Me.needsMipmap=!1)}}}ne===!0&&this.backend.updateBindings(y,E,ie?se:0,le)}}function yY(ee,y){return ee.groupOrder!==y.groupOrder?ee.groupOrder-y.groupOrder:ee.renderOrder!==y.renderOrder?ee.renderOrder-y.renderOrder:ee.z!==y.z?ee.z-y.z:ee.id-y.id}function g7(ee,y){return ee.groupOrder!==y.groupOrder?ee.groupOrder-y.groupOrder:ee.renderOrder!==y.renderOrder?ee.renderOrder-y.renderOrder:ee.z!==y.z?y.z-ee.z:ee.id-y.id}function p7(ee){return(ee.transmission>0||ee.transmissionNode)&&ee.side===eh&&ee.forceSinglePass===!1}class AY{constructor(y,E,z){this.renderItems=[],this.renderItemsIndex=0,this.opaque=[],this.transparentDoublePass=[],this.transparent=[],this.bundles=[],this.lightsNode=y.getNode(E,z),this.lightsArray=[],this.scene=E,this.camera=z,this.occlusionQueryCount=0}begin(){return this.renderItemsIndex=0,this.opaque.length=0,this.transparentDoublePass.length=0,this.transparent.length=0,this.bundles.length=0,this.lightsArray.length=0,this.occlusionQueryCount=0,this}getNextRenderItem(y,E,z,ne,ie,se,le){let de=this.renderItems[this.renderItemsIndex];return de===void 0?(de={id:y.id,object:y,geometry:E,material:z,groupOrder:ne,renderOrder:y.renderOrder,z:ie,group:se,clippingContext:le},this.renderItems[this.renderItemsIndex]=de):(de.id=y.id,de.object=y,de.geometry=E,de.material=z,de.groupOrder=ne,de.renderOrder=y.renderOrder,de.z=ie,de.group=se,de.clippingContext=le),this.renderItemsIndex++,de}push(y,E,z,ne,ie,se,le){const de=this.getNextRenderItem(y,E,z,ne,ie,se,le);y.occlusionTest===!0&&this.occlusionQueryCount++,z.transparent===!0||z.transmission>0?(p7(z)&&this.transparentDoublePass.push(de),this.transparent.push(de)):this.opaque.push(de)}unshift(y,E,z,ne,ie,se,le){const de=this.getNextRenderItem(y,E,z,ne,ie,se,le);z.transparent===!0||z.transmission>0?(p7(z)&&this.transparentDoublePass.unshift(de),this.transparent.unshift(de)):this.opaque.unshift(de)}pushBundle(y){this.bundles.push(y)}pushLight(y){this.lightsArray.push(y)}sort(y,E){this.opaque.length>1&&this.opaque.sort(y||yY),this.transparentDoublePass.length>1&&this.transparentDoublePass.sort(E||g7),this.transparent.length>1&&this.transparent.sort(E||g7)}finish(){this.lightsNode.setLights(this.lightsArray);for(let y=this.renderItemsIndex,E=this.renderItems.length;y>E,ge=le.height>>E;let ve=y.depthTexture||ie[E];const xe=y.depthBuffer===!0||y.stencilBuffer===!0;let Se=!1;ve===void 0&&xe&&(ve=new Wo,ve.format=y.stencilBuffer?Mh:Oh,ve.type=y.stencilBuffer?_d:nu,ve.image.width=de,ve.image.height=ge,ve.image.depth=le.depth,ve.isArrayTexture=y.multiview===!0&&le.depth>1,ie[E]=ve),(z.width!==le.width||le.height!==z.height)&&(Se=!0,ve&&(ve.needsUpdate=!0,ve.image.width=de,ve.image.height=ge,ve.image.depth=ve.isArrayTexture?ve.image.depth:1)),z.width=le.width,z.height=le.height,z.textures=se,z.depthTexture=ve||null,z.depth=y.depthBuffer,z.stencil=y.stencilBuffer,z.renderTarget=y,z.sampleCount!==ne&&(Se=!0,ve&&(ve.needsUpdate=!0),z.sampleCount=ne);const Me={sampleCount:ne};if(y.isXRRenderTarget!==!0){for(let De=0;De{y.removeEventListener("dispose",De);for(let Oe=0;Oe0){const ve=y.image;if(ve===void 0)console.warn("THREE.Renderer: Texture marked for update but image is undefined.");else if(ve.complete===!1)console.warn("THREE.Renderer: Texture marked for update but image is incomplete.");else{if(y.images){const xe=[];for(const Se of y.images)xe.push(Se);E.images=xe}else E.image=ve;(z.isDefaultTexture===void 0||z.isDefaultTexture===!0)&&(ie.createTexture(y,E),z.isDefaultTexture=!1,z.generation=y.version),y.source.dataReady===!0&&ie.updateTexture(y,E),E.needsMipmaps&&y.mipmaps.length===0&&ie.generateMipmaps(y)}}else ie.createDefaultTexture(y),z.isDefaultTexture=!0,z.generation=y.version;if(z.initialized!==!0){z.initialized=!0,z.generation=y.version,this.info.memory.textures++;const ge=()=>{y.removeEventListener("dispose",ge),this._destroyTexture(y)};y.addEventListener("dispose",ge)}z.version=y.version}getSize(y,E=bY){let z=y.images?y.images[0]:y.image;return z?(z.image!==void 0&&(z=z.image),E.width=z.width||1,E.height=z.height||1,E.depth=y.isCubeTexture?6:z.depth||1):E.width=E.height=E.depth=1,E}getMipLevels(y,E,z){let ne;return y.isCompressedTexture?y.mipmaps?ne=y.mipmaps.length:ne=1:ne=Math.floor(Math.log2(Math.max(E,z)))+1,ne}needsMipmaps(y){return y.isCompressedTexture===!0||y.generateMipmaps}_destroyTexture(y){this.has(y)===!0&&(this.backend.destroySampler(y),this.backend.destroyTexture(y),this.delete(y),this.info.memory.textures--)}}class lF extends fo{constructor(y,E,z,ne=1){super(y,E,z),this.a=ne}set(y,E,z,ne=1){return this.a=ne,super.set(y,E,z)}copy(y){return y.a!==void 0&&(this.a=y.a),super.copy(y)}clone(){return new this.constructor(this.r,this.g,this.b,this.a)}}class v7 extends Ou{static get type(){return"ParameterNode"}constructor(y,E=null){super(y,E),this.isParameterNode=!0}getHash(){return this.uuid}generate(){return this.name}}const BY=(ee,y)=>ir(new v7(ee,y));class TY extends da{static get type(){return"StackNode"}constructor(y=null){super(),this.nodes=[],this.outputNode=null,this.parent=y,this._currentCond=null,this._expressionNode=null,this.isStackNode=!0}getNodeType(y){return this.outputNode?this.outputNode.getNodeType(y):"void"}getMemberType(y,E){return this.outputNode?this.outputNode.getMemberType(y,E):"void"}add(y){return this.nodes.push(y),this}If(y,E){const z=new mE(E);return this._currentCond=jf(y,z),this.add(this._currentCond)}ElseIf(y,E){const z=new mE(E),ne=jf(y,z);return this._currentCond.elseNode=ne,this._currentCond=ne,this}Else(y){return this._currentCond.elseNode=new mE(y),this}Switch(y){return this._expressionNode=ir(y),this}Case(...y){const E=[];if(y.length>=2)for(let le=0;letypeof E=="string"?{name:y,type:E,atomic:!1}:{name:y,type:E.type,atomic:E.atomic||!1})}class FY extends da{static get type(){return"StructTypeNode"}constructor(y,E=null){super("struct"),this.membersLayout=DY(y),this.name=E,this.isStructLayoutNode=!0}getLength(){const E=Float32Array.BYTES_PER_ELEMENT;let z=0;for(const ne of this.membersLayout){const ie=ne.type,se=o8(ie)*E,le=s8(ie),de=z%8,ge=de%le,ve=de+ge;z+=ge,ve!==0&&8-vene.name===E);return z?z.type:"void"}getNodeType(y){return y.getStructTypeFromNode(this,this.membersLayout,this.name).name}setup(y){y.addInclude(this)}generate(y){return this.getNodeType(y)}}class LY extends da{static get type(){return"StructNode"}constructor(y,E){super("vec3"),this.structLayoutNode=y,this.values=E,this.isStructNode=!0}getNodeType(y){return this.structLayoutNode.getNodeType(y)}getMemberType(y,E){return this.structLayoutNode.getMemberType(y,E)}generate(y){const E=y.getVarFromNode(this),z=E.type,ne=y.getPropertyName(E);return y.addLineFlowCode(`${ne} = ${y.generateStruct(z,this.structLayoutNode.membersLayout,this.values)}`,this),E.name}}const NY=(ee,y=null)=>{const E=new FY(ee,y),z=(...ne)=>{let ie=null;if(ne.length>0)if(ne[0].isNode){ie={};const se=Object.keys(ee);for(let le=0;le{const y=ee.toUint().mul(747796405).add(2891336453),E=y.shiftRight(y.shiftRight(28).add(4)).bitXor(y).mul(277803737);return E.shiftRight(22).bitXor(E).toFloat().mul(1/WL(2,32))}),uF=(ee,y)=>hy(il(4,ee.mul(Wl(1,ee))),y),kY=(ee,y)=>ee.lessThan(.5)?uF(ee.mul(2),y).div(2):Wl(1,uF(il(Wl(1,ee),2),y).div(2)),zY=(ee,y,E)=>hy(_0(hy(ee,y),Od(hy(ee,y),hy(Wl(1,ee),E))),1/y),HY=(ee,y)=>km(Q5.mul(y.mul(ee).sub(1))).div(Q5.mul(y.mul(ee).sub(1))),Jx=Kn(([ee])=>ee.fract().sub(.5).abs()).setLayout({name:"tri",type:"float",inputs:[{name:"x",type:"float"}]}),UY=Kn(([ee])=>Xn(Jx(ee.z.add(Jx(ee.y.mul(1)))),Jx(ee.z.add(Jx(ee.x.mul(1)))),Jx(ee.y.add(Jx(ee.x.mul(1)))))).setLayout({name:"tri3",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),VY=Kn(([ee,y,E])=>{const z=Xn(ee).toVar(),ne=nn(1.4).toVar(),ie=nn(0).toVar(),se=Xn(z).toVar();return zu({start:nn(0),end:nn(3),type:"float",condition:"<="},()=>{const le=Xn(UY(se.mul(2))).toVar();z.addAssign(le.add(E.mul(nn(.1).mul(y)))),se.mulAssign(1.8),ne.mulAssign(1.5),z.mulAssign(1.2);const de=nn(Jx(z.z.add(Jx(z.x.add(Jx(z.y)))))).toVar();ie.addAssign(de.div(ne)),se.addAssign(.14)}),ie}).setLayout({name:"triNoise3D",type:"float",inputs:[{name:"position",type:"vec3"},{name:"speed",type:"float"},{name:"time",type:"float"}]});class jY extends da{static get type(){return"FunctionOverloadingNode"}constructor(y=[],...E){super(),this.functionNodes=y,this.parametersNodes=E,this._candidateFnCall=null,this.global=!0}getNodeType(){return this.functionNodes[0].shaderNode.layout.type}setup(y){const E=this.parametersNodes;let z=this._candidateFnCall;if(z===null){let ne=null,ie=-1;for(const se of this.functionNodes){const de=se.shaderNode.layout;if(de===null)throw new Error("FunctionOverloadingNode: FunctionNode must be a layout.");const ge=de.inputs;if(E.length===ge.length){let ve=0;for(let xe=0;xeie&&(ne=se,ie=ve)}}this._candidateFnCall=z=ne(...E)}return z}}const GY=Ar(jY),ug=ee=>(...y)=>GY(ee,...y),fP=Us(0).setGroup(pa).onRenderUpdate(ee=>ee.time),w7=Us(0).setGroup(pa).onRenderUpdate(ee=>ee.deltaTime),XY=Us(0,"uint").setGroup(pa).onRenderUpdate(ee=>ee.frameId),WY=(ee=1)=>(console.warn('TSL: timerLocal() is deprecated. Use "time" instead.'),fP.mul(ee)),QY=(ee=1)=>(console.warn('TSL: timerGlobal() is deprecated. Use "time" instead.'),fP.mul(ee)),YY=(ee=1)=>(console.warn('TSL: timerDelta() is deprecated. Use "deltaTime" instead.'),w7.mul(ee)),ZY=(ee=fP)=>ee.add(.75).mul(Math.PI*2).sin().mul(.5).add(.5),KY=(ee=fP)=>ee.fract().round(),JY=(ee=fP)=>ee.add(.5).fract().mul(2).sub(1).abs(),qY=(ee=fP)=>ee.fract(),_Y=Kn(([ee,y,E=Er(.5)])=>wB(ee.sub(E),y).add(E)),$Y=Kn(([ee,y,E=Er(.5)])=>{const z=ee.sub(E),ne=z.dot(z),se=ne.mul(ne).mul(y);return ee.add(z.mul(se))}),eZ=Kn(({position:ee=null,horizontal:y=!0,vertical:E=!1})=>{let z;ee!==null?(z=nv.toVar(),z[3][0]=ee.x,z[3][1]=ee.y,z[3][2]=ee.z):z=nv;const ne=Hm.mul(z);return V2(y)&&(ne[0][0]=nv[0].length(),ne[0][1]=0,ne[0][2]=0),V2(E)&&(ne[1][0]=0,ne[1][1]=nv[1].length(),ne[1][2]=0),ne[2][0]=0,ne[2][1]=0,ne[2][2]=1,zm.mul(ne).mul(qh)}),tZ=Kn(([ee=null])=>{const y=ME();return ME(FD(ee)).sub(y).lessThan(0).select(Zx,ee)});class nZ extends da{static get type(){return"SpriteSheetUVNode"}constructor(y,E=wc(),z=nn(0)){super("vec2"),this.countNode=y,this.uvNode=E,this.frameNode=z}setup(){const{frameNode:y,uvNode:E,countNode:z}=this,{width:ne,height:ie}=z,se=y.mod(ne.mul(ie)).floor(),le=se.mod(ne),de=ie.sub(se.add(1).div(ne).ceil()),ge=z.reciprocal(),ve=Er(le,de);return E.add(ve).mul(ge)}}const iZ=Ar(nZ).setParameterLength(3),S7=Kn(([ee,y=null,E=null,z=nn(1),ne=qh,ie=Wp])=>{let se=ie.abs().normalize();se=se.div(se.dot(Xn(1)));const le=ne.yz.mul(z),de=ne.zx.mul(z),ge=ne.xy.mul(z),ve=ee.value,xe=y!==null?y.value:ve,Se=E!==null?E.value:ve,Me=Dl(ve,le).mul(se.x),De=Dl(xe,de).mul(se.y),Oe=Dl(Se,ge).mul(se.z);return Od(Me,De,Oe)}),rZ=(...ee)=>S7(...ee),FE=new $f,gP=new Vt,LE=new Vt,cF=new Vt,gM=new rs,PB=new Vt(0,0,-1),EA=new Ks,pM=new Vt,CB=new Vt,mM=new Ks,EB=new ki,bB=new Np,oZ=Zx.flipX();bB.depthTexture=new Wo(1,1);let MB=!1;class hF extends CA{static get type(){return"ReflectorNode"}constructor(y={}){super(y.defaultTexture||bB.texture,oZ),this._reflectorBaseNode=y.reflector||new sZ(this,y),this._depthNode=null,this.setUpdateMatrix(!1)}get reflector(){return this._reflectorBaseNode}get target(){return this._reflectorBaseNode.target}getDepthNode(){if(this._depthNode===null){if(this._reflectorBaseNode.depth!==!0)throw new Error("THREE.ReflectorNode: Depth node can only be requested when the reflector is created with { depth: true }. ");this._depthNode=ir(new hF({defaultTexture:bB.depthTexture,reflector:this._reflectorBaseNode}))}return this._depthNode}setup(y){return y.object.isQuadMesh||this._reflectorBaseNode.build(y),super.setup(y)}clone(){const y=new this.constructor(this.reflectorNode);return y.uvNode=this.uvNode,y.levelNode=this.levelNode,y.biasNode=this.biasNode,y.sampler=this.sampler,y.depthNode=this.depthNode,y.compareNode=this.compareNode,y.gradNode=this.gradNode,y._reflectorBaseNode=this._reflectorBaseNode,y}dispose(){super.dispose(),this._reflectorBaseNode.dispose()}}class sZ extends da{static get type(){return"ReflectorBaseNode"}constructor(y,E={}){super();const{target:z=new yc,resolution:ne=1,generateMipmaps:ie=!1,bounces:se=!0,depth:le=!1}=E;this.textureNode=y,this.target=z,this.resolution=ne,this.generateMipmaps=ie,this.bounces=se,this.depth=le,this.updateBeforeType=se?al.RENDER:al.FRAME,this.virtualCameras=new WeakMap,this.renderTargets=new Map,this.forceUpdate=!1,this.hasOutput=!1}_updateResolution(y,E){const z=this.resolution;E.getDrawingBufferSize(EB),y.setSize(Math.round(EB.width*z),Math.round(EB.height*z))}setup(y){return this._updateResolution(bB,y.renderer),super.setup(y)}dispose(){super.dispose();for(const y of this.renderTargets.values())y.dispose()}getVirtualCamera(y){let E=this.virtualCameras.get(y);return E===void 0&&(E=y.clone(),this.virtualCameras.set(y,E)),E}getRenderTarget(y){let E=this.renderTargets.get(y);return E===void 0&&(E=new Np(0,0,{type:mc}),this.generateMipmaps===!0&&(E.texture.minFilter=My,E.texture.generateMipmaps=!0),this.depth===!0&&(E.depthTexture=new Wo),this.renderTargets.set(y,E)),E}updateBefore(y){if(this.bounces===!1&&MB)return!1;MB=!0;const{scene:E,camera:z,renderer:ne,material:ie}=y,{target:se}=this,le=this.getVirtualCamera(z),de=this.getRenderTarget(le);ne.getDrawingBufferSize(EB),this._updateResolution(de,ne),LE.setFromMatrixPosition(se.matrixWorld),cF.setFromMatrixPosition(z.matrixWorld),gM.extractRotation(se.matrixWorld),gP.set(0,0,1),gP.applyMatrix4(gM),pM.subVectors(LE,cF);const ge=pM.dot(gP)>0;let ve=!1;if(ge===!0&&this.forceUpdate===!1){if(this.hasOutput===!1){MB=!1;return}ve=!0}pM.reflect(gP).negate(),pM.add(LE),gM.extractRotation(z.matrixWorld),PB.set(0,0,-1),PB.applyMatrix4(gM),PB.add(cF),CB.subVectors(LE,PB),CB.reflect(gP).negate(),CB.add(LE),le.coordinateSystem=z.coordinateSystem,le.position.copy(pM),le.up.set(0,1,0),le.up.applyMatrix4(gM),le.up.reflect(gP),le.lookAt(CB),le.near=z.near,le.far=z.far,le.updateMatrixWorld(),le.projectionMatrix.copy(z.projectionMatrix),FE.setFromNormalAndCoplanarPoint(gP,LE),FE.applyMatrix4(le.matrixWorldInverse),EA.set(FE.normal.x,FE.normal.y,FE.normal.z,FE.constant);const xe=le.projectionMatrix;mM.x=(Math.sign(EA.x)+xe.elements[8])/xe.elements[0],mM.y=(Math.sign(EA.y)+xe.elements[9])/xe.elements[5],mM.z=-1,mM.w=(1+xe.elements[10])/xe.elements[14],EA.multiplyScalar(1/EA.dot(mM));const Se=0;xe.elements[2]=EA.x,xe.elements[6]=EA.y,xe.elements[10]=ne.coordinateSystem===rd?EA.z-Se:EA.z+1-Se,xe.elements[14]=EA.w,this.textureNode.value=de.texture,this.depth===!0&&(this.textureNode.getDepthNode().value=de.depthTexture),ie.visible=!1;const Me=ne.getRenderTarget(),De=ne.getMRT(),Oe=ne.autoClear;ne.setMRT(null),ne.setRenderTarget(de),ne.autoClear=!0,ve?(ne.clear(),this.hasOutput=!1):(ne.render(E,le),this.hasOutput=!0),ne.setMRT(De),ne.setRenderTarget(Me),ne.autoClear=Oe,ie.visible=!0,MB=!1,this.forceUpdate=!1}}const aZ=ee=>ir(new hF(ee)),dF=new Kv(-1,1,1,-1,0,1);class lZ extends Ha{constructor(y=!1){super();const E=y===!1?[0,-1,0,1,2,1]:[0,2,0,0,2,0];this.setAttribute("position",new ds([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new ds(E,2))}}const uZ=new lZ;class vM extends lu{constructor(y=null){super(uZ,y),this.camera=dF,this.isQuadMesh=!0}renderAsync(y){return la(this,null,function*(){return y.renderAsync(this,dF)})}render(y){y.render(this,dF)}}const cZ=new ki;class hZ extends CA{static get type(){return"RTTNode"}constructor(y,E=null,z=null,ne={type:mc}){const ie=new Np(E,z,ne);super(ie.texture,wc()),this.node=y,this.width=E,this.height=z,this.pixelRatio=1,this.renderTarget=ie,this.textureNeedsUpdate=!0,this.autoUpdate=!0,this._rttNode=null,this._quadMesh=new vM(new Dh),this.updateBeforeType=al.RENDER}get autoResize(){return this.width===null}setup(y){return this._rttNode=this.node.context(y.getSharedContext()),this._quadMesh.material.name="RTT",this._quadMesh.material.needsUpdate=!0,super.setup(y)}setSize(y,E){this.width=y,this.height=E;const z=y*this.pixelRatio,ne=E*this.pixelRatio;this.renderTarget.setSize(z,ne),this.textureNeedsUpdate=!0}setPixelRatio(y){this.pixelRatio=y,this.setSize(this.width,this.height)}updateBefore({renderer:y}){if(this.textureNeedsUpdate===!1&&this.autoUpdate===!1)return;if(this.textureNeedsUpdate=!1,this.autoResize===!0){const z=y.getPixelRatio(),ne=y.getSize(cZ),ie=ne.width*z,se=ne.height*z;(ie!==this.renderTarget.width||se!==this.renderTarget.height)&&(this.renderTarget.setSize(ie,se),this.textureNeedsUpdate=!0)}this._quadMesh.material.fragmentNode=this._rttNode;const E=y.getRenderTarget();y.setRenderTarget(this.renderTarget),this._quadMesh.render(y),y.setRenderTarget(E)}clone(){const y=new CA(this.value,this.uvNode,this.levelNode);return y.sampler=this.sampler,y.referenceNode=this,y}}const P7=(ee,...y)=>ir(new hZ(ir(ee),...y)),dZ=(ee,...y)=>ee.isTextureNode?ee:ee.isPassNode?ee.getTextureNode():P7(ee,...y),NE=Kn(([ee,y,E],z)=>{let ne;z.renderer.coordinateSystem===rd?(ee=Er(ee.x,ee.y.oneMinus()).mul(2).sub(1),ne=Qo(Xn(ee,y),1)):ne=Qo(Xn(ee.x,ee.y.oneMinus(),y).mul(2).sub(1),1);const ie=Qo(E.mul(ne));return ie.xyz.div(ie.w)}),fZ=Kn(([ee,y])=>{const E=y.mul(Qo(ee,1)),z=E.xy.div(E.w).mul(.5).add(.5).toVar();return Er(z.x,z.y.oneMinus())}),gZ=Kn(([ee,y,E])=>{const z=ww(Jh(y)),ne=pf(ee.mul(z)).toVar(),ie=Jh(y,ne).toVar(),se=Jh(y,ne.sub(pf(2,0))).toVar(),le=Jh(y,ne.sub(pf(1,0))).toVar(),de=Jh(y,ne.add(pf(1,0))).toVar(),ge=Jh(y,ne.add(pf(2,0))).toVar(),ve=Jh(y,ne.add(pf(0,2))).toVar(),xe=Jh(y,ne.add(pf(0,1))).toVar(),Se=Jh(y,ne.sub(pf(0,1))).toVar(),Me=Jh(y,ne.sub(pf(0,2))).toVar(),De=xc(Wl(nn(2).mul(le).sub(se),ie)).toVar(),Oe=xc(Wl(nn(2).mul(de).sub(ge),ie)).toVar(),Re=xc(Wl(nn(2).mul(xe).sub(ve),ie)).toVar(),Le=xc(Wl(nn(2).mul(Se).sub(Me),ie)).toVar(),Qe=NE(ee,ie,E).toVar(),Xe=De.lessThan(Oe).select(Qe.sub(NE(ee.sub(Er(nn(1).div(z.x),0)),le,E)),Qe.negate().add(NE(ee.add(Er(nn(1).div(z.x),0)),de,E))),Ze=Re.lessThan(Le).select(Qe.sub(NE(ee.add(Er(0,nn(1).div(z.y))),xe,E)),Qe.negate().add(NE(ee.sub(Er(0,nn(1).div(z.y))),Se,E)));return Ux(J5(Xe,Ze))});class pZ extends da{static get type(){return"SampleNode"}constructor(y){super(),this.callback=y,this.isSampleNode=!0}setup(){return this.sample(wc())}sample(y){return this.callback(y)}}const mZ=ee=>ir(new pZ(ee));class vZ extends _f{constructor(y,E,z=Float32Array){const ne=ArrayBuffer.isView(y)?y:new z(y*E);super(ne,E),this.isStorageInstancedBufferAttribute=!0}}class yZ extends wl{constructor(y,E,z=Float32Array){const ne=ArrayBuffer.isView(y)?y:new z(y*E);super(ne,E),this.isStorageBufferAttribute=!0}}const AZ=(ee,y="float")=>{let E,z;y.isStruct===!0?(E=y.layout.getLength(),z=H2("float")):(E=v3(y),z=H2(y));const ne=new yZ(ee,E,z);return lP(ne,y,ee)},xZ=(ee,y="float")=>{let E,z;y.isStruct===!0?(E=y.layout.getLength(),z=H2("float")):(E=v3(y),z=H2(y));const ne=new vZ(ee,E,z);return lP(ne,y,ee)};class wZ extends da{static get type(){return"PointUVNode"}constructor(){super("vec2"),this.isPointUVNode=!0}generate(){return"vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y )"}}const SZ=lo(wZ),yM=new Pu,fF=new rs;class Yp extends da{static get type(){return"SceneNode"}constructor(y=Yp.BACKGROUND_BLURRINESS,E=null){super(),this.scope=y,this.scene=E}setup(y){const E=this.scope,z=this.scene!==null?this.scene:y.scene;let ne;return E===Yp.BACKGROUND_BLURRINESS?ne=lc("backgroundBlurriness","float",z):E===Yp.BACKGROUND_INTENSITY?ne=lc("backgroundIntensity","float",z):E===Yp.BACKGROUND_ROTATION?ne=Us("mat4").label("backgroundRotation").setGroup(pa).onRenderUpdate(()=>{const ie=z.background;return ie!==null&&ie.isTexture&&ie.mapping!==i0?(yM.copy(z.backgroundRotation),yM.x*=-1,yM.y*=-1,yM.z*=-1,fF.makeRotationFromEuler(yM)):fF.identity(),fF}):console.error("THREE.SceneNode: Unknown scope:",E),ne}}Yp.BACKGROUND_BLURRINESS="backgroundBlurriness",Yp.BACKGROUND_INTENSITY="backgroundIntensity",Yp.BACKGROUND_ROTATION="backgroundRotation";const C7=lo(Yp,Yp.BACKGROUND_BLURRINESS),gF=lo(Yp,Yp.BACKGROUND_INTENSITY),E7=lo(Yp,Yp.BACKGROUND_ROTATION);class PZ extends CA{static get type(){return"StorageTextureNode"}constructor(y,E,z=null){super(y,E),this.storeNode=z,this.isStorageTextureNode=!0,this.access=Og.WRITE_ONLY}getInputType(){return"storageTexture"}setup(y){super.setup(y);const E=y.getNodeProperties(this);return E.storeNode=this.storeNode,E}setAccess(y){return this.access=y,this}generate(y,E){let z;return this.storeNode!==null?z=this.generateStore(y):z=super.generate(y,E),z}toReadWrite(){return this.setAccess(Og.READ_WRITE)}toReadOnly(){return this.setAccess(Og.READ_ONLY)}toWriteOnly(){return this.setAccess(Og.WRITE_ONLY)}generateStore(y){const E=y.getNodeProperties(this),{uvNode:z,storeNode:ne,depthNode:ie}=E,se=super.generate(y,"property"),le=z.build(y,"uvec2"),de=ne.build(y,"vec4"),ge=ie?ie.build(y,"int"):null,ve=y.generateTextureStore(y,se,le,ge,de);y.addLineFlowCode(ve,this)}clone(){const y=super.clone();return y.storeNode=this.storeNode,y}}const b7=Ar(PZ).setParameterLength(1,3),CZ=(ee,y,E)=>{const z=b7(ee,y,E);return E!==null&&z.toStack(),z},EZ=Kn(({texture:ee,uv:y})=>{const z=Xn().toVar();return Pa(y.x.lessThan(1e-4),()=>{z.assign(Xn(1,0,0))}).ElseIf(y.y.lessThan(1e-4),()=>{z.assign(Xn(0,1,0))}).ElseIf(y.z.lessThan(1e-4),()=>{z.assign(Xn(0,0,1))}).ElseIf(y.x.greaterThan(1-1e-4),()=>{z.assign(Xn(-1,0,0))}).ElseIf(y.y.greaterThan(1-1e-4),()=>{z.assign(Xn(0,-1,0))}).ElseIf(y.z.greaterThan(1-1e-4),()=>{z.assign(Xn(0,0,-1))}).Else(()=>{const ie=ee.sample(y.add(Xn(-.01,0,0))).r.sub(ee.sample(y.add(Xn(.01,0,0))).r),se=ee.sample(y.add(Xn(0,-.01,0))).r.sub(ee.sample(y.add(Xn(0,.01,0))).r),le=ee.sample(y.add(Xn(0,0,-.01))).r.sub(ee.sample(y.add(Xn(0,0,.01))).r);z.assign(Xn(ie,se,le))}),z.normalize()});class bZ extends CA{static get type(){return"Texture3DNode"}constructor(y,E=null,z=null){super(y,E,z),this.isTexture3DNode=!0}getInputType(){return"texture3D"}getDefaultUV(){return Xn(.5,.5,.5)}setUpdateMatrix(){}setupUV(y,E){const z=this.value;return y.isFlipY()&&(z.isRenderTargetTexture===!0||z.isFramebufferTexture===!0)&&(this.sampler?E=E.flipY():E=E.setY(Mn(ww(this,this.levelNode).y).sub(E.y).sub(1))),E}generateUV(y,E){return E.build(y,"vec3")}normal(y){return EZ({texture:this,uv:y})}}const M7=Ar(bZ).setParameterLength(1,3);class MZ extends sB{static get type(){return"UserDataNode"}constructor(y,E,z=null){super(y,E,z),this.userData=z}updateReference(y){return this.reference=this.userData!==null?this.userData:y.object.userData,this.reference}}const BZ=(ee,y,E)=>ir(new MZ(ee,y,E)),B7=new WeakMap;class TZ extends Id{static get type(){return"VelocityNode"}constructor(){super("vec2"),this.projectionMatrix=null,this.updateType=al.OBJECT,this.updateAfterType=al.OBJECT,this.previousModelWorldMatrix=Us(new rs),this.previousProjectionMatrix=Us(new rs).setGroup(pa),this.previousCameraViewMatrix=Us(new rs)}setProjectionMatrix(y){this.projectionMatrix=y}update({frameId:y,camera:E,object:z}){const ne=D7(z);this.previousModelWorldMatrix.value.copy(ne);const ie=T7(E);ie.frameId!==y&&(ie.frameId=y,ie.previousProjectionMatrix===void 0?(ie.previousProjectionMatrix=new rs,ie.previousCameraViewMatrix=new rs,ie.currentProjectionMatrix=new rs,ie.currentCameraViewMatrix=new rs,ie.previousProjectionMatrix.copy(this.projectionMatrix||E.projectionMatrix),ie.previousCameraViewMatrix.copy(E.matrixWorldInverse)):(ie.previousProjectionMatrix.copy(ie.currentProjectionMatrix),ie.previousCameraViewMatrix.copy(ie.currentCameraViewMatrix)),ie.currentProjectionMatrix.copy(this.projectionMatrix||E.projectionMatrix),ie.currentCameraViewMatrix.copy(E.matrixWorldInverse),this.previousProjectionMatrix.value.copy(ie.previousProjectionMatrix),this.previousCameraViewMatrix.value.copy(ie.previousCameraViewMatrix))}updateAfter({object:y}){D7(y).copy(y.matrixWorld)}setup(){const y=this.projectionMatrix===null?zm:Us(this.projectionMatrix),E=this.previousCameraViewMatrix.mul(this.previousModelWorldMatrix),z=y.mul(Qx).mul(qh),ne=this.previousProjectionMatrix.mul(E).mul(iB),ie=z.xy.div(z.w),se=ne.xy.div(ne.w);return Wl(ie,se)}}function T7(ee){let y=B7.get(ee);return y===void 0&&(y={},B7.set(ee,y)),y}function D7(ee,y=0){const E=T7(ee);let z=E[y];return z===void 0&&(E[y]=z=new rs,E[y].copy(ee.matrixWorld)),z}const DZ=lo(TZ),FZ=Kn(([ee])=>pF(ee.rgb)),LZ=Kn(([ee,y=nn(1)])=>y.mix(pF(ee.rgb),ee.rgb)),NZ=Kn(([ee,y=nn(1)])=>{const E=Od(ee.r,ee.g,ee.b).div(3),z=ee.r.max(ee.g.max(ee.b)),ne=z.sub(E).mul(y).mul(-3);return yu(ee.rgb,z,ne)}),IZ=Kn(([ee,y=nn(1)])=>{const E=Xn(.57735,.57735,.57735),z=y.cos();return Xn(ee.rgb.mul(z).add(E.cross(ee.rgb).mul(y.sin()).add(E.mul(xw(E,ee.rgb).mul(z.oneMinus())))))}),pF=(ee,y=Xn(ys.getLuminanceCoefficients(new Vt)))=>xw(ee,y),RZ=Kn(([ee,y=Xn(1),E=Xn(0),z=Xn(1),ne=nn(1),ie=Xn(ys.getLuminanceCoefficients(new Vt,vn))])=>{const se=ee.rgb.dot(Xn(ie)),le=Th(ee.rgb.mul(y).add(E),0).toVar(),de=le.pow(z).toVar();return Pa(le.r.greaterThan(0),()=>{le.r.assign(de.r)}),Pa(le.g.greaterThan(0),()=>{le.g.assign(de.g)}),Pa(le.b.greaterThan(0),()=>{le.b.assign(de.b)}),le.assign(se.add(le.sub(se).mul(ne))),Qo(le.rgb,ee.a)});class OZ extends Id{static get type(){return"PosterizeNode"}constructor(y,E){super(),this.sourceNode=y,this.stepsNode=E}setup(){const{sourceNode:y,stepsNode:E}=this;return y.mul(E).floor().div(E)}}const kZ=Ar(OZ).setParameterLength(2),BB=new ki;class F7 extends CA{static get type(){return"PassTextureNode"}constructor(y,E){super(E),this.passNode=y,this.setUpdateMatrix(!1)}setup(y){return y.object.isQuadMesh&&this.passNode.build(y),super.setup(y)}clone(){return new this.constructor(this.passNode,this.value)}}class L7 extends F7{static get type(){return"PassMultipleTextureNode"}constructor(y,E,z=!1){super(y,null),this.textureName=E,this.previousTexture=z}updateTexture(){this.value=this.previousTexture?this.passNode.getPreviousTexture(this.textureName):this.passNode.getTexture(this.textureName)}setup(y){return this.updateTexture(),super.setup(y)}clone(){const y=new this.constructor(this.passNode,this.textureName,this.previousTexture);return y.uvNode=this.uvNode,y.levelNode=this.levelNode,y.biasNode=this.biasNode,y.sampler=this.sampler,y.depthNode=this.depthNode,y.compareNode=this.compareNode,y.gradNode=this.gradNode,y}}class bA extends Id{static get type(){return"PassNode"}constructor(y,E,z,ne={}){super("vec4"),this.scope=y,this.scene=E,this.camera=z,this.options=ne,this._pixelRatio=1,this._width=1,this._height=1;const ie=new Wo;ie.isRenderTargetTexture=!0,ie.name="depth";const se=new Np(this._width*this._pixelRatio,this._height*this._pixelRatio,Sh({type:mc},ne));se.texture.name="output",se.depthTexture=ie,this.renderTarget=se,this._textures={output:se.texture,depth:ie},this._textureNodes={},this._linearDepthNodes={},this._viewZNodes={},this._previousTextures={},this._previousTextureNodes={},this._cameraNear=Us(0),this._cameraFar=Us(0),this._mrt=null,this._layers=null,this._resolution=1,this.isPassNode=!0,this.updateBeforeType=al.FRAME,this.global=!0}setResolution(y){return this._resolution=y,this}getResolution(){return this._resolution}setLayers(y){return this._layers=y,this}getLayers(){return this._layers}setMRT(y){return this._mrt=y,this}getMRT(){return this._mrt}getTexture(y){let E=this._textures[y];return E===void 0&&(E=this.renderTarget.texture.clone(),E.name=y,this._textures[y]=E,this.renderTarget.textures.push(E)),E}getPreviousTexture(y){let E=this._previousTextures[y];return E===void 0&&(E=this.getTexture(y).clone(),this._previousTextures[y]=E),E}toggleTexture(y){const E=this._previousTextures[y];if(E!==void 0){const z=this._textures[y],ne=this.renderTarget.textures.indexOf(z);this.renderTarget.textures[ne]=E,this._textures[y]=E,this._previousTextures[y]=z,this._textureNodes[y].updateTexture(),this._previousTextureNodes[y].updateTexture()}}getTextureNode(y="output"){let E=this._textureNodes[y];return E===void 0&&(E=ir(new L7(this,y)),E.updateTexture(),this._textureNodes[y]=E),E}getPreviousTextureNode(y="output"){let E=this._previousTextureNodes[y];return E===void 0&&(this._textureNodes[y]===void 0&&this.getTextureNode(y),E=ir(new L7(this,y,!0)),E.updateTexture(),this._previousTextureNodes[y]=E),E}getViewZNode(y="depth"){let E=this._viewZNodes[y];if(E===void 0){const z=this._cameraNear,ne=this._cameraFar;this._viewZNodes[y]=E=ND(this.getTextureNode(y),z,ne)}return E}getLinearDepthNode(y="depth"){let E=this._linearDepthNodes[y];if(E===void 0){const z=this._cameraNear,ne=this._cameraFar,ie=this.getViewZNode(y);this._linearDepthNodes[y]=E=bE(ie,z,ne)}return E}setup({renderer:y}){return this.renderTarget.samples=this.options.samples===void 0?y.samples:this.options.samples,this.renderTarget.texture.type=y.getColorBufferType(),this.scope===bA.COLOR?this.getTextureNode():this.getLinearDepthNode()}updateBefore(y){const{renderer:E}=y,{scene:z}=this;let ne,ie;const se=E.getOutputRenderTarget();se&&se.isXRRenderTarget===!0?(ie=1,ne=E.xr.getCamera(),E.xr.updateCamera(ne),BB.set(se.width,se.height)):(ne=this.camera,ie=E.getPixelRatio(),E.getSize(BB)),this._pixelRatio=ie,this.setSize(BB.width,BB.height);const le=E.getRenderTarget(),de=E.getMRT(),ge=ne.layers.mask;this._cameraNear.value=ne.near,this._cameraFar.value=ne.far,this._layers!==null&&(ne.layers.mask=this._layers.mask);for(const ve in this._previousTextures)this.toggleTexture(ve);E.setRenderTarget(this.renderTarget),E.setMRT(this._mrt),E.render(z,ne),E.setRenderTarget(le),E.setMRT(de),ne.layers.mask=ge}setSize(y,E){this._width=y,this._height=E;const z=this._width*this._pixelRatio*this._resolution,ne=this._height*this._pixelRatio*this._resolution;this.renderTarget.setSize(z,ne)}setPixelRatio(y){this._pixelRatio=y,this.setSize(this._width,this._height)}dispose(){this.renderTarget.dispose()}}bA.COLOR="color",bA.DEPTH="depth";const zZ=(ee,y,E)=>ir(new bA(bA.COLOR,ee,y,E)),HZ=(ee,y)=>ir(new F7(ee,y)),UZ=(ee,y,E)=>ir(new bA(bA.DEPTH,ee,y,E));class VZ extends bA{static get type(){return"ToonOutlinePassNode"}constructor(y,E,z,ne,ie){super(bA.COLOR,y,E),this.colorNode=z,this.thicknessNode=ne,this.alphaNode=ie,this._materialCache=new WeakMap}updateBefore(y){const{renderer:E}=y,z=E.getRenderObjectFunction();E.setRenderObjectFunction((ne,ie,se,le,de,ge,ve,xe)=>{if((de.isMeshToonMaterial||de.isMeshToonNodeMaterial)&&de.wireframe===!1){const Se=this._getOutlineMaterial(de);E.renderObject(ne,ie,se,le,Se,ge,ve,xe)}E.renderObject(ne,ie,se,le,de,ge,ve,xe)}),super.updateBefore(y),E.setRenderObjectFunction(z)}_createMaterial(){const y=new Dh;y.isMeshToonOutlineMaterial=!0,y.name="Toon_Outline",y.side=au;const E=Wp.negate(),z=zm.mul(Qx),ne=nn(1),ie=z.mul(Qo(qh,1)),se=z.mul(Qo(qh.add(E),1)),le=Ux(ie.sub(se));return y.vertexNode=ie.add(le.mul(this.thicknessNode).mul(ie.w).mul(ne)),y.colorNode=Qo(this.colorNode,this.alphaNode),y}_getOutlineMaterial(y){let E=this._materialCache.get(y);return E===void 0&&(E=this._createMaterial(),this._materialCache.set(y,E)),E}}const jZ=(ee,y,E=new fo(0,0,0),z=.003,ne=1)=>ir(new VZ(ee,y,ir(E),ir(z),ir(ne))),N7=Kn(([ee,y])=>ee.mul(y).clamp()).setLayout({name:"linearToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),I7=Kn(([ee,y])=>(ee=ee.mul(y),ee.div(ee.add(1)).clamp())).setLayout({name:"reinhardToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),R7=Kn(([ee,y])=>{ee=ee.mul(y),ee=ee.sub(.004).max(0);const E=ee.mul(ee.mul(6.2).add(.5)),z=ee.mul(ee.mul(6.2).add(1.7)).add(.06);return E.div(z).pow(2.2)}).setLayout({name:"cineonToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),GZ=Kn(([ee])=>{const y=ee.mul(ee.add(.0245786)).sub(90537e-9),E=ee.mul(ee.add(.432951).mul(.983729)).add(.238081);return y.div(E)}),O7=Kn(([ee,y])=>{const E=kg(.59719,.35458,.04823,.076,.90834,.01566,.0284,.13383,.83777),z=kg(1.60475,-.53108,-.07367,-.10208,1.10813,-.00605,-.00327,-.07276,1.07602);return ee=ee.mul(y).div(.6),ee=E.mul(ee),ee=GZ(ee),ee=z.mul(ee),ee.clamp()}).setLayout({name:"acesFilmicToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),XZ=kg(Xn(1.6605,-.1246,-.0182),Xn(-.5876,1.1329,-.1006),Xn(-.0728,-.0083,1.1187)),WZ=kg(Xn(.6274,.0691,.0164),Xn(.3293,.9195,.088),Xn(.0433,.0113,.8956)),QZ=Kn(([ee])=>{const y=Xn(ee).toVar(),E=Xn(y.mul(y)).toVar(),z=Xn(E.mul(E)).toVar();return nn(15.5).mul(z.mul(E)).sub(il(40.14,z.mul(y))).add(il(31.96,z).sub(il(6.868,E.mul(y))).add(il(.4298,E).add(il(.1191,y).sub(.00232))))}),k7=Kn(([ee,y])=>{const E=Xn(ee).toVar(),z=kg(Xn(.856627153315983,.137318972929847,.11189821299995),Xn(.0951212405381588,.761241990602591,.0767994186031903),Xn(.0482516061458583,.101439036467562,.811302368396859)),ne=kg(Xn(1.1271005818144368,-.1413297634984383,-.14132976349843826),Xn(-.11060664309660323,1.157823702216272,-.11060664309660294),Xn(-.016493938717834573,-.016493938717834257,1.2519364065950405)),ie=nn(-12.47393),se=nn(4.026069);return E.mulAssign(y),E.assign(WZ.mul(E)),E.assign(z.mul(E)),E.assign(Th(E,1e-10)),E.assign(yA(E)),E.assign(E.sub(ie).div(se.sub(ie))),E.assign(SA(E,0,1)),E.assign(QZ(E)),E.assign(ne.mul(E)),E.assign(hy(Th(Xn(0),E),Xn(2.2))),E.assign(XZ.mul(E)),E.assign(SA(E,0,1)),E}).setLayout({name:"agxToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),z7=Kn(([ee,y])=>{const E=nn(.76),z=nn(.15);ee=ee.mul(y);const ne=Xp(ee.r,Xp(ee.g,ee.b)),ie=jf(ne.lessThan(.08),ne.sub(il(6.25,ne.mul(ne))),.04);ee.subAssign(ie);const se=Th(ee.r,Th(ee.g,ee.b));Pa(se.lessThan(E),()=>ee);const le=Wl(1,E),de=Wl(1,le.mul(le).div(se.add(le.sub(E))));ee.mulAssign(de.div(se));const ge=Wl(1,_0(1,z.mul(se.sub(de)).add(1)));return yu(ee,Xn(de),ge)}).setLayout({name:"neutralToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]});class zd extends da{static get type(){return"CodeNode"}constructor(y="",E=[],z=""){super("code"),this.isCodeNode=!0,this.global=!0,this.code=y,this.includes=E,this.language=z}setIncludes(y){return this.includes=y,this}getIncludes(){return this.includes}generate(y){const E=this.getIncludes(y);for(const ne of E)ne.build(y);const z=y.getCodeFromNode(this,this.getNodeType(y));return z.code=this.code,z.code}serialize(y){super.serialize(y),y.code=this.code,y.language=this.language}deserialize(y){super.deserialize(y),this.code=y.code,this.language=y.language}}const TB=Ar(zd).setParameterLength(1,3),YZ=(ee,y)=>TB(ee,y,"js"),ZZ=(ee,y)=>TB(ee,y,"wgsl"),KZ=(ee,y)=>TB(ee,y,"glsl");class H7 extends zd{static get type(){return"FunctionNode"}constructor(y="",E=[],z=""){super(y,E,z)}getNodeType(y){return this.getNodeFunction(y).type}getInputs(y){return this.getNodeFunction(y).inputs}getNodeFunction(y){const E=y.getDataFromNode(this);let z=E.nodeFunction;return z===void 0&&(z=y.parser.parseFunction(this.code),E.nodeFunction=z),z}generate(y,E){super.generate(y);const z=this.getNodeFunction(y),ne=z.name,ie=z.type,se=y.getCodeFromNode(this,ie);ne!==""&&(se.name=ne);const le=y.getPropertyName(se),de=this.getNodeFunction(y).getCode(le);return se.code=de+` +`,E==="property"?le:y.format(`${le}()`,ie,E)}}const U7=(ee,y=[],E="")=>{for(let ie=0;iez.call(...ie);return ne.functionNode=z,ne},JZ=(ee,y)=>U7(ee,y,"glsl"),qZ=(ee,y)=>U7(ee,y,"wgsl");class _Z extends da{static get type(){return"ScriptableValueNode"}constructor(y=null){super(),this._value=y,this._cache=null,this.inputType=null,this.outputType=null,this.events=new Ed,this.isScriptableValueNode=!0}get isScriptableOutputNode(){return this.outputType!==null}set value(y){this._value!==y&&(this._cache&&this.inputType==="URL"&&this.value.value instanceof ArrayBuffer&&(URL.revokeObjectURL(this._cache),this._cache=null),this._value=y,this.events.dispatchEvent({type:"change"}),this.refresh())}get value(){return this._value}refresh(){this.events.dispatchEvent({type:"refresh"})}getValue(){const y=this.value;if(y&&this._cache===null&&this.inputType==="URL"&&y.value instanceof ArrayBuffer)this._cache=URL.createObjectURL(new Blob([y.value]));else if(y&&y.value!==null&&y.value!==void 0&&((this.inputType==="URL"||this.inputType==="String")&&typeof y.value=="string"||this.inputType==="Number"&&typeof y.value=="number"||this.inputType==="Vector2"&&y.value.isVector2||this.inputType==="Vector3"&&y.value.isVector3||this.inputType==="Vector4"&&y.value.isVector4||this.inputType==="Color"&&y.value.isColor||this.inputType==="Matrix3"&&y.value.isMatrix3||this.inputType==="Matrix4"&&y.value.isMatrix4))return y.value;return this._cache||y}getNodeType(y){return this.value&&this.value.isNode?this.value.getNodeType(y):"float"}setup(){return this.value&&this.value.isNode?this.value:nn()}serialize(y){super.serialize(y),this.value!==null?this.inputType==="ArrayBuffer"?y.value=x3(this.value):y.value=this.value?this.value.toJSON(y.meta).uuid:null:y.value=null,y.inputType=this.inputType,y.outputType=this.outputType}deserialize(y){super.deserialize(y);let E=null;y.value!==null&&(y.inputType==="ArrayBuffer"?E=w3(y.value):y.inputType==="Texture"?E=y.meta.textures[y.value]:E=y.meta.nodes[y.value]||null),this.value=E,this.inputType=y.inputType,this.outputType=y.outputType}}const DB=Ar(_Z).setParameterLength(1);class V7 extends Map{get(y,E=null,...z){if(this.has(y))return super.get(y);if(E!==null){const ne=E(...z);return this.set(y,ne),ne}}}class $Z{constructor(y){this.scriptableNode=y}get parameters(){return this.scriptableNode.parameters}get layout(){return this.scriptableNode.getLayout()}getInputLayout(y){return this.scriptableNode.getInputLayout(y)}get(y){const E=this.parameters[y];return E?E.getValue():null}}const FB=new V7;class eK extends da{static get type(){return"ScriptableNode"}constructor(y=null,E={}){super(),this.codeNode=y,this.parameters=E,this._local=new V7,this._output=DB(null),this._outputs={},this._source=this.source,this._method=null,this._object=null,this._value=null,this._needsOutputUpdate=!0,this.onRefresh=this.onRefresh.bind(this),this.isScriptableNode=!0}get source(){return this.codeNode?this.codeNode.code:""}setLocal(y,E){return this._local.set(y,E)}getLocal(y){return this._local.get(y)}onRefresh(){this._refresh()}getInputLayout(y){for(const E of this.getLayout())if(E.inputType&&(E.id===y||E.name===y))return E}getOutputLayout(y){for(const E of this.getLayout())if(E.outputType&&(E.id===y||E.name===y))return E}setOutput(y,E){const z=this._outputs;return z[y]===void 0?z[y]=DB(E):z[y].value=E,this}getOutput(y){return this._outputs[y]}getParameter(y){return this.parameters[y]}setParameter(y,E){const z=this.parameters;return E&&E.isScriptableNode?(this.deleteParameter(y),z[y]=E,z[y].getDefaultOutput().events.addEventListener("refresh",this.onRefresh)):E&&E.isScriptableValueNode?(this.deleteParameter(y),z[y]=E,z[y].events.addEventListener("refresh",this.onRefresh)):z[y]===void 0?(z[y]=DB(E),z[y].events.addEventListener("refresh",this.onRefresh)):z[y].value=E,this}getValue(){return this.getDefaultOutput().getValue()}deleteParameter(y){let E=this.parameters[y];return E&&(E.isScriptableNode&&(E=E.getDefaultOutput()),E.events.removeEventListener("refresh",this.onRefresh)),this}clearParameters(){for(const y of Object.keys(this.parameters))this.deleteParameter(y);return this.needsUpdate=!0,this}call(y,...E){const ne=this.getObject()[y];if(typeof ne=="function")return ne(...E)}callAsync(y,...E){return la(this,null,function*(){const ne=this.getObject()[y];if(typeof ne=="function")return ne.constructor.name==="AsyncFunction"?yield ne(...E):ne(...E)})}getNodeType(y){return this.getDefaultOutputNode().getNodeType(y)}refresh(y=null){y!==null?this.getOutput(y).refresh():this._refresh()}getObject(){if(this.needsUpdate&&this.dispose(),this._object!==null)return this._object;const y=()=>this.refresh(),E=(ge,ve)=>this.setOutput(ge,ve),z=new $Z(this),ne=FB.get("THREE"),ie=FB.get("TSL"),se=this.getMethod(),le=[z,this._local,FB,y,E,ne,ie];this._object=se(...le);const de=this._object.layout;if(de&&(de.cache===!1&&this._local.clear(),this._output.outputType=de.outputType||null,Array.isArray(de.elements)))for(const ge of de.elements){const ve=ge.id||ge.name;ge.inputType&&(this.getParameter(ve)===void 0&&this.setParameter(ve,null),this.getParameter(ve).inputType=ge.inputType),ge.outputType&&(this.getOutput(ve)===void 0&&this.setOutput(ve,null),this.getOutput(ve).outputType=ge.outputType)}return this._object}deserialize(y){super.deserialize(y);for(const E in this.parameters){let z=this.parameters[E];z.isScriptableNode&&(z=z.getDefaultOutput()),z.events.addEventListener("refresh",this.onRefresh)}}getLayout(){return this.getObject().layout}getDefaultOutputNode(){const y=this.getDefaultOutput().value;return y&&y.isNode?y:nn()}getDefaultOutput(){return this._exec()._output}getMethod(){if(this.needsUpdate&&this.dispose(),this._method!==null)return this._method;const y=["parameters","local","global","refresh","setOutput","THREE","TSL"],z=["layout","init","main","dispose"].join(", "),ne="var "+z+`; var output = {}; `,ie=` -return { ...output, `+z+" };",se=ne+this.codeNode.code+ie;return this._method=new Function(...y,se),this._method}dispose(){this._method!==null&&(this._object&&typeof this._object.dispose=="function"&&this._object.dispose(),this._method=null,this._object=null,this._source=null,this._value=null,this._needsOutputUpdate=!0,this._output.value=null,this._outputs={})}setup(){return this.getDefaultOutputNode()}getCacheKey(y){const E=[g3(this.source),this.getDefaultOutputNode().getCacheKey(y)];for(const z in this.parameters)E.push(this.parameters[z].getCacheKey(y));return O2(E)}set needsUpdate(y){y===!0&&this.dispose()}get needsUpdate(){return this.source!==this._source}_exec(){return this.codeNode===null?this:(this._needsOutputUpdate===!0&&(this._value=this.call("main"),this._needsOutputUpdate=!1),this._output.value=this._value,this)}_refresh(){this.needsUpdate=!0,this._exec(),this._output.refresh()}}const eK=Ar($Z).setParameterLength(1,2);function V7(ee){let y;const E=ee.context.getViewZ;return E!==void 0&&(y=E(this)),(y||_h.z).negate()}const mF=Kn(([ee,y],E)=>{const z=V7(E);return $0(ee,y,z)}),vF=Kn(([ee],y)=>{const E=V7(y);return ee.mul(ee,E,E).negate().exp().oneMinus()}),AM=Kn(([ee,y])=>Qo(y.toFloat().mix(yE.rgb,ee.toVec3()),yE.a));function tK(ee,y,E){return console.warn('THREE.TSL: "rangeFog( color, near, far )" is deprecated. Use "fog( color, rangeFogFactor( near, far ) )" instead.'),AM(ee,mF(y,E))}function nK(ee,y){return console.warn('THREE.TSL: "densityFog( color, density )" is deprecated. Use "fog( color, densityFogFactor( density ) )" instead.'),AM(ee,vF(y))}let pP=null,mP=null;class iK extends da{static get type(){return"RangeNode"}constructor(y=nn(),E=nn()){super(),this.minNode=y,this.maxNode=E}getVectorLength(y){const E=y.getTypeLength(Hx(this.minNode.value)),z=y.getTypeLength(Hx(this.maxNode.value));return E>z?E:z}getNodeType(y){return y.object.count>1?y.getTypeFromLength(this.getVectorLength(y)):"float"}setup(y){const E=y.object;let z=null;if(E.count>1){const ne=this.minNode.value,ie=this.maxNode.value,se=y.getTypeLength(Hx(ne)),le=y.getTypeLength(Hx(ie));pP=pP||new Ks,mP=mP||new Ks,pP.setScalar(0),mP.setScalar(0),se===1?pP.setScalar(ne):ne.isColor?pP.set(ne.r,ne.g,ne.b,1):pP.set(ne.x,ne.y,ne.z||0,ne.w||0),le===1?mP.setScalar(ie):ie.isColor?mP.set(ie.r,ie.g,ie.b,1):mP.set(ie.x,ie.y,ie.z||0,ie.w||0);const de=4,ge=de*E.count,ve=new Float32Array(ge);for(let Se=0;Seir(new oK(ee,y)),sK=xM("numWorkgroups","uvec3"),aK=xM("workgroupId","uvec3"),lK=xM("globalId","uvec3"),uK=xM("localId","uvec3"),cK=xM("subgroupSize","uint");class hK extends da{constructor(y){super(),this.scope=y}generate(y){const{scope:E}=this,{renderer:z}=y;z.backend.isWebGLBackend===!0?y.addFlowCode(` // ${E}Barrier -`):y.addLineFlowCode(`${E}Barrier()`,this)}}const yF=Ar(hK),dK=()=>yF("workgroup").toStack(),fK=()=>yF("storage").toStack(),gK=()=>yF("texture").toStack();class pK extends $S{constructor(y,E){super(y,E),this.isWorkgroupInfoElementNode=!0}generate(y,E){let z;const ne=y.context.assign;if(z=super.generate(y),ne!==!0){const ie=this.getNodeType(y);z=y.format(z,ie,E)}return z}}class mK extends da{constructor(y,E,z=0){super(E),this.bufferType=E,this.bufferCount=z,this.isWorkgroupInfoNode=!0,this.elementType=E,this.scope=y}label(y){return this.name=y,this}setScope(y){return this.scope=y,this}getElementType(){return this.elementType}getInputType(){return`${this.scope}Array`}element(y){return ir(new pK(this,y))}generate(y){return y.getScopedArray(this.name||`${this.scope}Array_${this.id}`,this.scope.toLowerCase(),this.bufferType,this.bufferCount)}}const vK=(ee,y)=>ir(new mK("Workgroup",ee,y));class mf extends da{static get type(){return"AtomicFunctionNode"}constructor(y,E,z){super("uint"),this.method=y,this.pointerNode=E,this.valueNode=z,this.parents=!0}getInputType(y){return this.pointerNode.getNodeType(y)}getNodeType(y){return this.getInputType(y)}generate(y){const E=y.getNodeProperties(this),z=E.parents,ne=this.method,ie=this.getNodeType(y),se=this.getInputType(y),le=this.pointerNode,de=this.valueNode,ge=[];ge.push(`&${le.build(y,se)}`),de!==null&&ge.push(de.build(y,se));const ve=`${y.getMethod(ne,ie)}( ${ge.join(", ")} )`;if(z.length===1&&z[0].isStackNode===!0)y.addLineFlowCode(ve,this);else return E.constNode===void 0&&(E.constNode=Gx(ve,ie).toConst()),E.constNode.build(y)}}mf.ATOMIC_LOAD="atomicLoad",mf.ATOMIC_STORE="atomicStore",mf.ATOMIC_ADD="atomicAdd",mf.ATOMIC_SUB="atomicSub",mf.ATOMIC_MAX="atomicMax",mf.ATOMIC_MIN="atomicMin",mf.ATOMIC_AND="atomicAnd",mf.ATOMIC_OR="atomicOr",mf.ATOMIC_XOR="atomicXor";const yK=Ar(mf),MA=(ee,y,E)=>yK(ee,y,E).toStack(),AK=ee=>MA(mf.ATOMIC_LOAD,ee,null),xK=(ee,y)=>MA(mf.ATOMIC_STORE,ee,y),wK=(ee,y)=>MA(mf.ATOMIC_ADD,ee,y),SK=(ee,y)=>MA(mf.ATOMIC_SUB,ee,y),PK=(ee,y)=>MA(mf.ATOMIC_MAX,ee,y),CK=(ee,y)=>MA(mf.ATOMIC_MIN,ee,y),EK=(ee,y)=>MA(mf.ATOMIC_AND,ee,y),bK=(ee,y)=>MA(mf.ATOMIC_OR,ee,y),MK=(ee,y)=>MA(mf.ATOMIC_XOR,ee,y);let LB;function NB(ee){LB=LB||new WeakMap;let y=LB.get(ee);return y===void 0&&LB.set(ee,y={}),y}function AF(ee){const y=NB(ee);return y.shadowMatrix||(y.shadowMatrix=Us("mat4").setGroup(pa).onRenderUpdate(E=>((ee.castShadow!==!0||E.renderer.shadowMap.enabled===!1)&&ee.shadow.updateMatrices(ee),ee.shadow.matrix)))}function j7(ee,y=iv){const E=AF(ee).mul(y);return E.xyz.div(E.w)}function xF(ee){const y=NB(ee);return y.position||(y.position=Us(new Vt).setGroup(pa).onRenderUpdate((E,z)=>z.value.setFromMatrixPosition(ee.matrixWorld)))}function G7(ee){const y=NB(ee);return y.targetPosition||(y.targetPosition=Us(new Vt).setGroup(pa).onRenderUpdate((E,z)=>z.value.setFromMatrixPosition(ee.target.matrixWorld)))}function wF(ee){const y=NB(ee);return y.viewPosition||(y.viewPosition=Us(new Vt).setGroup(pa).onRenderUpdate(({camera:E},z)=>{z.value=z.value||new Vt,z.value.setFromMatrixPosition(ee.matrixWorld),z.value.applyMatrix4(E.matrixWorldInverse)}))}const SF=ee=>Hm.transformDirection(xF(ee).sub(G7(ee))),BK=ee=>ee.sort((y,E)=>y.id-E.id),TK=(ee,y)=>{for(const E of y)if(E.isAnalyticLightNode&&E.light.id===ee)return E;return null},PF=new WeakMap,wM=[];class CF extends da{static get type(){return"LightsNode"}constructor(){super("vec3"),this.totalDiffuseNode=cy("vec3","totalDiffuse"),this.totalSpecularNode=cy("vec3","totalSpecular"),this.outgoingLightNode=cy("vec3","outgoingLight"),this._lights=[],this._lightNodes=null,this._lightNodesHash=null,this.global=!0}customCacheKey(){const y=this._lights;for(let z=0;z0}}const DK=(ee=[])=>ir(new CF).setLights(ee);class FK extends da{static get type(){return"ShadowBaseNode"}constructor(y){super(),this.light=y,this.updateBeforeType=al.RENDER,this.isShadowBaseNode=!0}setupShadowPosition({context:y,material:E}){EF.assign(E.receivedShadowPositionNode||y.shadowPositionWorld||iv)}}const EF=cy("vec3","shadowPositionWorld");function bF(ee,y={}){return y.toneMapping=ee.toneMapping,y.toneMappingExposure=ee.toneMappingExposure,y.outputColorSpace=ee.outputColorSpace,y.renderTarget=ee.getRenderTarget(),y.activeCubeFace=ee.getActiveCubeFace(),y.activeMipmapLevel=ee.getActiveMipmapLevel(),y.renderObjectFunction=ee.getRenderObjectFunction(),y.pixelRatio=ee.getPixelRatio(),y.mrt=ee.getMRT(),y.clearColor=ee.getClearColor(y.clearColor||new fo),y.clearAlpha=ee.getClearAlpha(),y.autoClear=ee.autoClear,y.scissorTest=ee.getScissorTest(),y}function X7(ee,y){return y=bF(ee,y),ee.setMRT(null),ee.setRenderObjectFunction(null),ee.setClearColor(0,1),ee.autoClear=!0,y}function W7(ee,y){ee.toneMapping=y.toneMapping,ee.toneMappingExposure=y.toneMappingExposure,ee.outputColorSpace=y.outputColorSpace,ee.setRenderTarget(y.renderTarget,y.activeCubeFace,y.activeMipmapLevel),ee.setRenderObjectFunction(y.renderObjectFunction),ee.setPixelRatio(y.pixelRatio),ee.setMRT(y.mrt),ee.setClearColor(y.clearColor,y.clearAlpha),ee.autoClear=y.autoClear,ee.setScissorTest(y.scissorTest)}function MF(ee,y={}){return y.background=ee.background,y.backgroundNode=ee.backgroundNode,y.overrideMaterial=ee.overrideMaterial,y}function Q7(ee,y){return y=MF(ee,y),ee.background=null,ee.backgroundNode=null,ee.overrideMaterial=null,y}function Y7(ee,y){ee.background=y.background,ee.backgroundNode=y.backgroundNode,ee.overrideMaterial=y.overrideMaterial}function LK(ee,y,E={}){return E=bF(ee,E),E=MF(y,E),E}function Z7(ee,y,E){return E=X7(ee,E),E=Q7(y,E),E}function K7(ee,y,E){W7(ee,E),Y7(y,E)}var Yse=Object.freeze({__proto__:null,resetRendererAndSceneState:Z7,resetRendererState:X7,resetSceneState:Q7,restoreRendererAndSceneState:K7,restoreRendererState:W7,restoreSceneState:Y7,saveRendererAndSceneState:LK,saveRendererState:bF,saveSceneState:MF});const J7=new WeakMap,q7=Kn(({depthTexture:ee,shadowCoord:y,depthLayer:E})=>{let z=Dl(ee,y.xy).label("t_basic");return ee.isArrayTexture&&(z=z.depth(E)),z.compare(y.z)}),_7=Kn(({depthTexture:ee,shadowCoord:y,shadow:E,depthLayer:z})=>{const ne=(Re,Le)=>{let Qe=Dl(ee,Re);return ee.isArrayTexture&&(Qe=Qe.depth(z)),Qe.compare(Le)},ie=lc("mapSize","vec2",E).setGroup(pa),se=lc("radius","float",E).setGroup(pa),le=Er(1).div(ie),de=le.x.negate().mul(se),ge=le.y.negate().mul(se),ve=le.x.mul(se),xe=le.y.mul(se),Se=de.div(2),Me=ge.div(2),De=ve.div(2),Oe=xe.div(2);return Od(ne(y.xy.add(Er(de,ge)),y.z),ne(y.xy.add(Er(0,ge)),y.z),ne(y.xy.add(Er(ve,ge)),y.z),ne(y.xy.add(Er(Se,Me)),y.z),ne(y.xy.add(Er(0,Me)),y.z),ne(y.xy.add(Er(De,Me)),y.z),ne(y.xy.add(Er(de,0)),y.z),ne(y.xy.add(Er(Se,0)),y.z),ne(y.xy,y.z),ne(y.xy.add(Er(De,0)),y.z),ne(y.xy.add(Er(ve,0)),y.z),ne(y.xy.add(Er(Se,Oe)),y.z),ne(y.xy.add(Er(0,Oe)),y.z),ne(y.xy.add(Er(De,Oe)),y.z),ne(y.xy.add(Er(de,xe)),y.z),ne(y.xy.add(Er(0,xe)),y.z),ne(y.xy.add(Er(ve,xe)),y.z)).mul(1/17)}),$7=Kn(({depthTexture:ee,shadowCoord:y,shadow:E,depthLayer:z})=>{const ne=(xe,Se)=>{let Me=Dl(ee,xe);return ee.isArrayTexture&&(Me=Me.depth(z)),Me.compare(Se)},ie=lc("mapSize","vec2",E).setGroup(pa),se=Er(1).div(ie),le=se.x,de=se.y,ge=y.xy,ve=Vx(ge.mul(ie).add(.5));return ge.subAssign(ve.mul(se)),Od(ne(ge,y.z),ne(ge.add(Er(le,0)),y.z),ne(ge.add(Er(0,de)),y.z),ne(ge.add(se),y.z),yu(ne(ge.add(Er(le.negate(),0)),y.z),ne(ge.add(Er(le.mul(2),0)),y.z),ve.x),yu(ne(ge.add(Er(le.negate(),de)),y.z),ne(ge.add(Er(le.mul(2),de)),y.z),ve.x),yu(ne(ge.add(Er(0,de.negate())),y.z),ne(ge.add(Er(0,de.mul(2))),y.z),ve.y),yu(ne(ge.add(Er(le,de.negate())),y.z),ne(ge.add(Er(le,de.mul(2))),y.z),ve.y),yu(yu(ne(ge.add(Er(le.negate(),de.negate())),y.z),ne(ge.add(Er(le.mul(2),de.negate())),y.z),ve.x),yu(ne(ge.add(Er(le.negate(),de.mul(2))),y.z),ne(ge.add(Er(le.mul(2),de.mul(2))),y.z),ve.x),ve.y)).mul(1/9)}),e9=Kn(({depthTexture:ee,shadowCoord:y,depthLayer:E})=>{const z=nn(1).toVar();let ne=Dl(ee).sample(y.xy);ee.isArrayTexture&&(ne=ne.depth(E)),ne=ne.rg;const ie=K5(y.z,ne.x);return Pa(ie.notEqual(nn(1)),()=>{const se=y.z.sub(ne.x),le=Th(0,ne.y.mul(ne.y));let de=le.div(le.add(se.mul(se)));de=SA(Wl(de,.3).div(.95-.3)),z.assign(SA(Th(ie,de)))}),z}),NK=Kn(([ee,y,E])=>{let z=iv.sub(ee).length();return z=z.sub(y).div(E.sub(y)),z=z.saturate(),z}),IK=ee=>{const y=ee.shadow.camera,E=lc("near","float",y).setGroup(pa),z=lc("far","float",y).setGroup(pa),ne=QI(ee);return NK(ne,E,z)},t9=ee=>{let y=J7.get(ee);if(y===void 0){const E=ee.isPointLight?IK(ee):null;y=new Dh,y.colorNode=Qo(0,0,0,1),y.depthNode=E,y.isShadowPassMaterial=!0,y.name="ShadowMaterial",y.fog=!1,J7.set(ee,y)}return y},n9=new dy,IE=[],i9=(ee,y,E,z)=>{IE[0]=ee,IE[1]=y;let ne=n9.get(IE);return(ne===void 0||ne.shadowType!==E||ne.useVelocity!==z)&&(ne=(ie,se,le,de,ge,ve,...xe)=>{(ie.castShadow===!0||ie.receiveShadow&&E===_c)&&(z&&(A3(ie).useVelocity=!0),ie.onBeforeShadow(ee,ie,le,y.camera,de,se.overrideMaterial,ve),ee.renderObject(ie,se,le,de,ge,ve,...xe),ie.onAfterShadow(ee,ie,le,y.camera,de,se.overrideMaterial,ve))},ne.shadowType=E,ne.useVelocity=z,n9.set(IE,ne)),IE[0]=null,IE[1]=null,ne},RK=Kn(({samples:ee,radius:y,size:E,shadowPass:z,depthLayer:ne})=>{const ie=nn(0).toVar("meanVertical"),se=nn(0).toVar("squareMeanVertical"),le=ee.lessThanEqual(nn(1)).select(nn(0),nn(2).div(ee.sub(1))),de=ee.lessThanEqual(nn(1)).select(nn(0),nn(-1));zu({start:Mn(0),end:Mn(ee),type:"int",condition:"<"},({i:ve})=>{const xe=de.add(nn(ve).mul(le));let Se=z.sample(Od(lM.xy,Er(0,xe).mul(y)).div(E));z.value.isArrayTexture&&(Se=Se.depth(ne)),Se=Se.x,ie.addAssign(Se),se.addAssign(Se.mul(Se))}),ie.divAssign(ee),se.divAssign(ee);const ge=AA(se.sub(ie.mul(ie)));return Er(ie,ge)}),OK=Kn(({samples:ee,radius:y,size:E,shadowPass:z,depthLayer:ne})=>{const ie=nn(0).toVar("meanHorizontal"),se=nn(0).toVar("squareMeanHorizontal"),le=ee.lessThanEqual(nn(1)).select(nn(0),nn(2).div(ee.sub(1))),de=ee.lessThanEqual(nn(1)).select(nn(0),nn(-1));zu({start:Mn(0),end:Mn(ee),type:"int",condition:"<"},({i:ve})=>{const xe=de.add(nn(ve).mul(le));let Se=z.sample(Od(lM.xy,Er(xe,0).mul(y)).div(E));z.value.isArrayTexture&&(Se=Se.depth(ne)),ie.addAssign(Se.x),se.addAssign(Od(Se.y.mul(Se.y),Se.x.mul(Se.x)))}),ie.divAssign(ee),se.divAssign(ee);const ge=AA(se.sub(ie.mul(ie)));return Er(ie,ge)}),kK=[q7,_7,$7,e9];let BF;const IB=new vM;class r9 extends FK{static get type(){return"ShadowNode"}constructor(y,E=null){super(y),this.shadow=E||y.shadow,this.shadowMap=null,this.vsmShadowMapVertical=null,this.vsmShadowMapHorizontal=null,this.vsmMaterialVertical=null,this.vsmMaterialHorizontal=null,this._node=null,this._cameraFrameId=new WeakMap,this.isShadowNode=!0,this.depthLayer=0}setupShadowFilter(y,{filterFn:E,depthTexture:z,shadowCoord:ne,shadow:ie,depthLayer:se}){const le=ne.x.greaterThanEqual(0).and(ne.x.lessThanEqual(1)).and(ne.y.greaterThanEqual(0)).and(ne.y.lessThanEqual(1)).and(ne.z.lessThanEqual(1)),de=E({depthTexture:z,shadowCoord:ne,shadow:ie,depthLayer:se});return le.select(de,nn(1))}setupShadowCoord(y,E){const{shadow:z}=this,{renderer:ne}=y,ie=lc("bias","float",z).setGroup(pa);let se=E,le;if(z.camera.isOrthographicCamera||ne.logarithmicDepthBuffer!==!0)se=se.xyz.div(se.w),le=se.z,ne.coordinateSystem===rd&&(le=le.mul(2).sub(1));else{const de=se.w;se=se.xy.div(de);const ge=lc("near","float",z.camera).setGroup(pa),ve=lc("far","float",z.camera).setGroup(pa);le=ID(de.negate(),ge,ve)}return se=Xn(se.x,se.y.oneMinus(),le.add(ie)),se}getShadowFilterFn(y){return kK[y]}setupRenderTarget(y,E){const z=new Wo(y.mapSize.width,y.mapSize.height);z.name="ShadowDepthTexture",z.compareFunction=sl;const ne=E.createRenderTarget(y.mapSize.width,y.mapSize.height);return ne.texture.name="ShadowMap",ne.texture.type=y.mapType,ne.depthTexture=z,{shadowMap:ne,depthTexture:z}}setupShadow(y){const{renderer:E}=y,{light:z,shadow:ne}=this,ie=E.shadowMap.type,{depthTexture:se,shadowMap:le}=this.setupRenderTarget(ne,y);if(ne.camera.updateProjectionMatrix(),ie===_c&&ne.isPointLightShadow!==!0){se.compareFunction=null,le.depth>1?(le._vsmShadowMapVertical||(le._vsmShadowMapVertical=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depth:le.depth,depthBuffer:!1}),le._vsmShadowMapVertical.texture.name="VSMVertical"),this.vsmShadowMapVertical=le._vsmShadowMapVertical,le._vsmShadowMapHorizontal||(le._vsmShadowMapHorizontal=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depth:le.depth,depthBuffer:!1}),le._vsmShadowMapHorizontal.texture.name="VSMHorizontal"),this.vsmShadowMapHorizontal=le._vsmShadowMapHorizontal):(this.vsmShadowMapVertical=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depthBuffer:!1}),this.vsmShadowMapHorizontal=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depthBuffer:!1}));let Le=Dl(se);se.isArrayTexture&&(Le=Le.depth(this.depthLayer));let Qe=Dl(this.vsmShadowMapVertical.texture);se.isArrayTexture&&(Qe=Qe.depth(this.depthLayer));const Xe=lc("blurSamples","float",ne).setGroup(pa),Ze=lc("radius","float",ne).setGroup(pa),it=lc("mapSize","vec2",ne).setGroup(pa);let et=this.vsmMaterialVertical||(this.vsmMaterialVertical=new Dh);et.fragmentNode=RK({samples:Xe,radius:Ze,size:it,shadowPass:Le,depthLayer:this.depthLayer}).context(y.getSharedContext()),et.name="VSMVertical",et=this.vsmMaterialHorizontal||(this.vsmMaterialHorizontal=new Dh),et.fragmentNode=OK({samples:Xe,radius:Ze,size:it,shadowPass:Qe,depthLayer:this.depthLayer}).context(y.getSharedContext()),et.name="VSMHorizontal"}const de=lc("intensity","float",ne).setGroup(pa),ge=lc("normalBias","float",ne).setGroup(pa),ve=AF(z).mul(EF.add(Sw.mul(ge))),xe=this.setupShadowCoord(y,ve),Se=ne.filterNode||this.getShadowFilterFn(E.shadowMap.type)||null;if(Se===null)throw new Error("THREE.WebGPURenderer: Shadow map type not supported yet.");const Me=ie===_c&&ne.isPointLightShadow!==!0?this.vsmShadowMapHorizontal.texture:se,De=this.setupShadowFilter(y,{filterFn:Se,shadowTexture:le.texture,depthTexture:Me,shadowCoord:xe,shadow:ne,depthLayer:this.depthLayer});let Oe=Dl(le.texture,xe);se.isArrayTexture&&(Oe=Oe.depth(this.depthLayer));const Re=yu(1,De.rgb.mix(Oe,1),de.mul(Oe.a)).toVar();return this.shadowMap=le,this.shadow.map=le,Re}setup(y){if(y.renderer.shadowMap.enabled!==!1)return Kn(()=>{let E=this._node;return this.setupShadowPosition(y),E===null&&(this._node=E=this.setupShadow(y)),y.material.shadowNode&&console.warn('THREE.NodeMaterial: ".shadowNode" is deprecated. Use ".castShadowNode" instead.'),y.material.receivedShadowNode&&(E=y.material.receivedShadowNode(E)),E})()}renderShadow(y){const{shadow:E,shadowMap:z,light:ne}=this,{renderer:ie,scene:se}=y;E.updateMatrices(ne),z.setSize(E.mapSize.width,E.mapSize.height,z.depth),ie.render(se,E.camera)}updateShadow(y){const{shadowMap:E,light:z,shadow:ne}=this,{renderer:ie,scene:se,camera:le}=y,de=ie.shadowMap.type,ge=E.depthTexture.version;this._depthVersionCached=ge;const ve=ne.camera.layers.mask;ne.camera.layers.mask&4294967294||(ne.camera.layers.mask=le.layers.mask);const xe=ie.getRenderObjectFunction(),Se=ie.getMRT(),Me=Se?Se.has("velocity"):!1;BF=Z7(ie,se,BF),se.overrideMaterial=t9(z),ie.setRenderObjectFunction(i9(ie,ne,de,Me)),ie.setClearColor(0,0),ie.setRenderTarget(E),this.renderShadow(y),ie.setRenderObjectFunction(xe),de===_c&&ne.isPointLightShadow!==!0&&this.vsmPass(ie),ne.camera.layers.mask=ve,K7(ie,se,BF)}vsmPass(y){const{shadow:E}=this,z=this.shadowMap.depth;this.vsmShadowMapVertical.setSize(E.mapSize.width,E.mapSize.height,z),this.vsmShadowMapHorizontal.setSize(E.mapSize.width,E.mapSize.height,z),y.setRenderTarget(this.vsmShadowMapVertical),IB.material=this.vsmMaterialVertical,IB.render(y),y.setRenderTarget(this.vsmShadowMapHorizontal),IB.material=this.vsmMaterialHorizontal,IB.render(y)}dispose(){this.shadowMap.dispose(),this.shadowMap=null,this.vsmShadowMapVertical!==null&&(this.vsmShadowMapVertical.dispose(),this.vsmShadowMapVertical=null,this.vsmMaterialVertical.dispose(),this.vsmMaterialVertical=null),this.vsmShadowMapHorizontal!==null&&(this.vsmShadowMapHorizontal.dispose(),this.vsmShadowMapHorizontal=null,this.vsmMaterialHorizontal.dispose(),this.vsmMaterialHorizontal=null),super.dispose()}updateBefore(y){const{shadow:E}=this;let z=E.needsUpdate||E.autoUpdate;z&&(this._cameraFrameId[y.camera]===y.frameId&&(z=!1),this._cameraFrameId[y.camera]=y.frameId),z&&(this.updateShadow(y),this.shadowMap.depthTexture.version===this._depthVersionCached&&(E.needsUpdate=!1))}}const o9=(ee,y)=>ir(new r9(ee,y)),zK=new fo,fy=Kn(([ee,y])=>{const E=ee.toVar(),z=xc(E),ne=_0(1,Th(z.x,Th(z.y,z.z)));z.mulAssign(ne),E.mulAssign(ne.mul(y.mul(2).oneMinus()));const ie=Er(E.xy).toVar(),le=y.mul(1.5).oneMinus();return Pa(z.z.greaterThanEqual(le),()=>{Pa(E.z.greaterThan(0),()=>{ie.x.assign(Wl(4,E.x))})}).ElseIf(z.x.greaterThanEqual(le),()=>{const de=q2(E.x);ie.x.assign(E.z.mul(de).add(de.mul(2)))}).ElseIf(z.y.greaterThanEqual(le),()=>{const de=q2(E.y);ie.x.assign(E.x.add(de.mul(2)).add(2)),ie.y.assign(E.z.mul(de).sub(2))}),Er(.125,.25).mul(ie).add(Er(.375,.75)).flipY()}).setLayout({name:"cubeToUV",type:"vec2",inputs:[{name:"pos",type:"vec3"},{name:"texelSizeY",type:"float"}]}),s9=Kn(({depthTexture:ee,bd3D:y,dp:E,texelSize:z})=>Dl(ee,fy(y,z.y)).compare(E)),a9=Kn(({depthTexture:ee,bd3D:y,dp:E,texelSize:z,shadow:ne})=>{const ie=lc("radius","float",ne).setGroup(pa),se=Er(-1,1).mul(ie).mul(z.y);return Dl(ee,fy(y.add(se.xyy),z.y)).compare(E).add(Dl(ee,fy(y.add(se.yyy),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.xyx),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.yyx),z.y)).compare(E)).add(Dl(ee,fy(y,z.y)).compare(E)).add(Dl(ee,fy(y.add(se.xxy),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.yxy),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.xxx),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.yxx),z.y)).compare(E)).mul(1/9)}),HK=Kn(({filterFn:ee,depthTexture:y,shadowCoord:E,shadow:z})=>{const ne=E.xyz.toVar(),ie=ne.length(),se=Us("float").setGroup(pa).onRenderUpdate(()=>z.camera.near),le=Us("float").setGroup(pa).onRenderUpdate(()=>z.camera.far),de=lc("bias","float",z).setGroup(pa),ge=Us(z.mapSize).setGroup(pa),ve=nn(1).toVar();return Pa(ie.sub(le).lessThanEqual(0).and(ie.sub(se).greaterThanEqual(0)),()=>{const xe=ie.sub(se).div(le.sub(se)).toVar();xe.addAssign(de);const Se=ne.normalize(),Me=Er(1).div(ge.mul(Er(4,2)));ve.assign(ee({depthTexture:y,bd3D:Se,dp:xe,texelSize:Me,shadow:z}))}),ve}),l9=new Ks,RE=new ki,SM=new ki;class UK extends r9{static get type(){return"PointShadowNode"}constructor(y,E=null){super(y,E)}getShadowFilterFn(y){return y===h1?s9:a9}setupShadowCoord(y,E){return E}setupShadowFilter(y,{filterFn:E,shadowTexture:z,depthTexture:ne,shadowCoord:ie,shadow:se}){return HK({filterFn:E,shadowTexture:z,depthTexture:ne,shadowCoord:ie,shadow:se})}renderShadow(y){const{shadow:E,shadowMap:z,light:ne}=this,{renderer:ie,scene:se}=y,le=E.getFrameExtents();SM.copy(E.mapSize),SM.multiply(le),z.setSize(SM.width,SM.height),RE.copy(E.mapSize);const de=ie.autoClear,ge=ie.getClearColor(zK),ve=ie.getClearAlpha();ie.autoClear=!1,ie.setClearColor(E.clearColor,E.clearAlpha),ie.clear();const xe=E.getViewportCount();for(let Se=0;Seir(new UK(ee,y));class vP extends EE{static get type(){return"AnalyticLightNode"}constructor(y=null){super(),this.light=y,this.color=new fo,this.colorNode=y&&y.colorNode||Us(this.color).setGroup(pa),this.baseColorNode=null,this.shadowNode=null,this.shadowColorNode=null,this.isAnalyticLightNode=!0,this.updateType=al.FRAME}getHash(){return this.light.uuid}getLightVector(y){return wF(this.light).sub(y.context.positionView||_h)}setupDirect(){}setupDirectRectArea(){}setupShadowNode(){return o9(this.light)}setupShadow(y){const{renderer:E}=y;if(E.shadowMap.enabled===!1)return;let z=this.shadowColorNode;if(z===null){const ne=this.light.shadow.shadowNode;let ie;ne!==void 0?ie=ir(ne):ie=this.setupShadowNode(),this.shadowNode=ie,this.shadowColorNode=z=this.colorNode.mul(ie),this.baseColorNode=this.colorNode}this.colorNode=z}setup(y){this.colorNode=this.baseColorNode||this.colorNode,this.light.castShadow?y.object.receiveShadow&&this.setupShadow(y):this.shadowNode!==null&&(this.shadowNode.dispose(),this.shadowNode=null,this.shadowColorNode=null);const E=this.setupDirect(y),z=this.setupDirectRectArea(y);E&&y.lightsNode.setupDirectLight(y,this,E),z&&y.lightsNode.setupDirectRectAreaLight(y,this,z)}update(){const{light:y}=this;this.color.copy(y.color).multiplyScalar(y.intensity)}}const TF=Kn(({lightDistance:ee,cutoffDistance:y,decayExponent:E})=>{const z=ee.pow(E).max(.01).reciprocal();return y.greaterThan(0).select(z.mul(ee.div(y).pow4().oneMinus().clamp().pow2()),z)}),c9=({color:ee,lightVector:y,cutoffDistance:E,decayExponent:z})=>{const ne=y.normalize(),ie=y.length(),se=TF({lightDistance:ie,cutoffDistance:E,decayExponent:z}),le=ee.mul(se);return{lightDirection:ne,lightColor:le}};class VK extends vP{static get type(){return"PointLightNode"}constructor(y=null){super(y),this.cutoffDistanceNode=Us(0).setGroup(pa),this.decayExponentNode=Us(2).setGroup(pa)}update(y){const{light:E}=this;super.update(y),this.cutoffDistanceNode.value=E.distance,this.decayExponentNode.value=E.decay}setupShadowNode(){return u9(this.light)}setupDirect(y){return c9({color:this.colorNode,lightVector:this.getLightVector(y),cutoffDistance:this.cutoffDistanceNode,decayExponent:this.decayExponentNode})}}const jK=Kn(([ee=wc()])=>{const y=ee.mul(2),E=y.x.floor(),z=y.y.floor();return E.add(z).mod(2).sign()}),GK=Kn(([ee=wc()],{renderer:y,material:E})=>{const z=q3(ee.mul(2).sub(1));let ne;if(E.alphaToCoverage&&y.samples>1){const ie=nn(z.fwidth()).toVar();ne=$0(ie.oneMinus(),ie.add(1),z).oneMinus()}else ne=jf(z.greaterThan(1),0,1);return ne}),PM=Kn(([ee,y,E])=>{const z=nn(E).toVar(),ne=nn(y).toVar(),ie=mA(ee).toVar();return jf(ie,ne,z)}).setLayout({name:"mx_select",type:"float",inputs:[{name:"b",type:"bool"},{name:"t",type:"float"},{name:"f",type:"float"}]}),RB=Kn(([ee,y])=>{const E=mA(y).toVar(),z=nn(ee).toVar();return jf(E,z.negate(),z)}).setLayout({name:"mx_negate_if",type:"float",inputs:[{name:"val",type:"float"},{name:"b",type:"bool"}]}),gd=Kn(([ee])=>{const y=nn(ee).toVar();return Mn(xA(y))}).setLayout({name:"mx_floor",type:"int",inputs:[{name:"x",type:"float"}]}),Wc=Kn(([ee,y])=>{const E=nn(ee).toVar();return y.assign(gd(E)),E.sub(nn(y))}),h9=ug([Kn(([ee,y,E,z,ne,ie])=>{const se=nn(ie).toVar(),le=nn(ne).toVar(),de=nn(z).toVar(),ge=nn(E).toVar(),ve=nn(y).toVar(),xe=nn(ee).toVar(),Se=nn(Wl(1,le)).toVar();return Wl(1,se).mul(xe.mul(Se).add(ve.mul(le))).add(se.mul(ge.mul(Se).add(de.mul(le))))}).setLayout({name:"mx_bilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"}]}),Kn(([ee,y,E,z,ne,ie])=>{const se=nn(ie).toVar(),le=nn(ne).toVar(),de=Xn(z).toVar(),ge=Xn(E).toVar(),ve=Xn(y).toVar(),xe=Xn(ee).toVar(),Se=nn(Wl(1,le)).toVar();return Wl(1,se).mul(xe.mul(Se).add(ve.mul(le))).add(se.mul(ge.mul(Se).add(de.mul(le))))}).setLayout({name:"mx_bilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"}]})]),d9=ug([Kn(([ee,y,E,z,ne,ie,se,le,de,ge,ve])=>{const xe=nn(ve).toVar(),Se=nn(ge).toVar(),Me=nn(de).toVar(),De=nn(le).toVar(),Oe=nn(se).toVar(),Re=nn(ie).toVar(),Le=nn(ne).toVar(),Qe=nn(z).toVar(),Xe=nn(E).toVar(),Ze=nn(y).toVar(),it=nn(ee).toVar(),et=nn(Wl(1,Me)).toVar(),ht=nn(Wl(1,Se)).toVar();return nn(Wl(1,xe)).toVar().mul(ht.mul(it.mul(et).add(Ze.mul(Me))).add(Se.mul(Xe.mul(et).add(Qe.mul(Me))))).add(xe.mul(ht.mul(Le.mul(et).add(Re.mul(Me))).add(Se.mul(Oe.mul(et).add(De.mul(Me))))))}).setLayout({name:"mx_trilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"v4",type:"float"},{name:"v5",type:"float"},{name:"v6",type:"float"},{name:"v7",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),Kn(([ee,y,E,z,ne,ie,se,le,de,ge,ve])=>{const xe=nn(ve).toVar(),Se=nn(ge).toVar(),Me=nn(de).toVar(),De=Xn(le).toVar(),Oe=Xn(se).toVar(),Re=Xn(ie).toVar(),Le=Xn(ne).toVar(),Qe=Xn(z).toVar(),Xe=Xn(E).toVar(),Ze=Xn(y).toVar(),it=Xn(ee).toVar(),et=nn(Wl(1,Me)).toVar(),ht=nn(Wl(1,Se)).toVar();return nn(Wl(1,xe)).toVar().mul(ht.mul(it.mul(et).add(Ze.mul(Me))).add(Se.mul(Xe.mul(et).add(Qe.mul(Me))))).add(xe.mul(ht.mul(Le.mul(et).add(Re.mul(Me))).add(Se.mul(Oe.mul(et).add(De.mul(Me))))))}).setLayout({name:"mx_trilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"v4",type:"vec3"},{name:"v5",type:"vec3"},{name:"v6",type:"vec3"},{name:"v7",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]})]),Gf=ug([Kn(([ee,y,E])=>{const z=nn(E).toVar(),ne=nn(y).toVar(),ie=Ho(ee).toVar(),se=Ho(ie.bitAnd(Ho(7))).toVar(),le=nn(PM(se.lessThan(Ho(4)),ne,z)).toVar(),de=nn(il(2,PM(se.lessThan(Ho(4)),z,ne))).toVar();return RB(le,mA(se.bitAnd(Ho(1)))).add(RB(de,mA(se.bitAnd(Ho(2)))))}).setLayout({name:"mx_gradient_float_0",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"}]}),Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=nn(y).toVar(),le=Ho(ee).toVar(),de=Ho(le.bitAnd(Ho(15))).toVar(),ge=nn(PM(de.lessThan(Ho(8)),se,ie)).toVar(),ve=nn(PM(de.lessThan(Ho(4)),ie,PM(de.equal(Ho(12)).or(de.equal(Ho(14))),se,ne))).toVar();return RB(ge,mA(de.bitAnd(Ho(1)))).add(RB(ve,mA(de.bitAnd(Ho(2)))))}).setLayout({name:"mx_gradient_float_1",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),sv=ug([Kn(([ee,y,E])=>{const z=nn(E).toVar(),ne=nn(y).toVar(),ie=vE(ee).toVar();return Xn(Gf(ie.x,ne,z),Gf(ie.y,ne,z),Gf(ie.z,ne,z))}).setLayout({name:"mx_gradient_vec3_0",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"}]}),Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=nn(y).toVar(),le=vE(ee).toVar();return Xn(Gf(le.x,se,ie,ne),Gf(le.y,se,ie,ne),Gf(le.z,se,ie,ne))}).setLayout({name:"mx_gradient_vec3_1",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),XK=Kn(([ee])=>{const y=nn(ee).toVar();return il(.6616,y)}).setLayout({name:"mx_gradient_scale2d_0",type:"float",inputs:[{name:"v",type:"float"}]}),WK=Kn(([ee])=>{const y=nn(ee).toVar();return il(.982,y)}).setLayout({name:"mx_gradient_scale3d_0",type:"float",inputs:[{name:"v",type:"float"}]}),f9=ug([XK,Kn(([ee])=>{const y=Xn(ee).toVar();return il(.6616,y)}).setLayout({name:"mx_gradient_scale2d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),g9=ug([WK,Kn(([ee])=>{const y=Xn(ee).toVar();return il(.982,y)}).setLayout({name:"mx_gradient_scale3d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),Vm=Kn(([ee,y])=>{const E=Mn(y).toVar(),z=Ho(ee).toVar();return z.shiftLeft(E).bitOr(z.shiftRight(Mn(32).sub(E)))}).setLayout({name:"mx_rotl32",type:"uint",inputs:[{name:"x",type:"uint"},{name:"k",type:"int"}]}),p9=Kn(([ee,y,E])=>{ee.subAssign(E),ee.bitXorAssign(Vm(E,Mn(4))),E.addAssign(y),y.subAssign(ee),y.bitXorAssign(Vm(ee,Mn(6))),ee.addAssign(E),E.subAssign(y),E.bitXorAssign(Vm(y,Mn(8))),y.addAssign(ee),ee.subAssign(E),ee.bitXorAssign(Vm(E,Mn(16))),E.addAssign(y),y.subAssign(ee),y.bitXorAssign(Vm(ee,Mn(19))),ee.addAssign(E),E.subAssign(y),E.bitXorAssign(Vm(y,Mn(4))),y.addAssign(ee)}),CM=Kn(([ee,y,E])=>{const z=Ho(E).toVar(),ne=Ho(y).toVar(),ie=Ho(ee).toVar();return z.bitXorAssign(ne),z.subAssign(Vm(ne,Mn(14))),ie.bitXorAssign(z),ie.subAssign(Vm(z,Mn(11))),ne.bitXorAssign(ie),ne.subAssign(Vm(ie,Mn(25))),z.bitXorAssign(ne),z.subAssign(Vm(ne,Mn(16))),ie.bitXorAssign(z),ie.subAssign(Vm(z,Mn(4))),ne.bitXorAssign(ie),ne.subAssign(Vm(ie,Mn(14))),z.bitXorAssign(ne),z.subAssign(Vm(ne,Mn(24))),z}).setLayout({name:"mx_bjfinal",type:"uint",inputs:[{name:"a",type:"uint"},{name:"b",type:"uint"},{name:"c",type:"uint"}]}),zg=Kn(([ee])=>{const y=Ho(ee).toVar();return nn(y).div(nn(Ho(Mn(4294967295))))}).setLayout({name:"mx_bits_to_01",type:"float",inputs:[{name:"bits",type:"uint"}]}),BA=Kn(([ee])=>{const y=nn(ee).toVar();return y.mul(y).mul(y).mul(y.mul(y.mul(6).sub(15)).add(10))}).setLayout({name:"mx_fade",type:"float",inputs:[{name:"t",type:"float"}]}),Wu=ug([Kn(([ee])=>{const y=Mn(ee).toVar(),E=Ho(Ho(1)).toVar(),z=Ho(Ho(Mn(3735928559)).add(E.shiftLeft(Ho(2))).add(Ho(13))).toVar();return CM(z.add(Ho(y)),z,z)}).setLayout({name:"mx_hash_int_0",type:"uint",inputs:[{name:"x",type:"int"}]}),Kn(([ee,y])=>{const E=Mn(y).toVar(),z=Mn(ee).toVar(),ne=Ho(Ho(2)).toVar(),ie=Ho().toVar(),se=Ho().toVar(),le=Ho().toVar();return ie.assign(se.assign(le.assign(Ho(Mn(3735928559)).add(ne.shiftLeft(Ho(2))).add(Ho(13))))),ie.addAssign(Ho(z)),se.addAssign(Ho(E)),CM(ie,se,le)}).setLayout({name:"mx_hash_int_1",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=Mn(y).toVar(),ie=Mn(ee).toVar(),se=Ho(Ho(3)).toVar(),le=Ho().toVar(),de=Ho().toVar(),ge=Ho().toVar();return le.assign(de.assign(ge.assign(Ho(Mn(3735928559)).add(se.shiftLeft(Ho(2))).add(Ho(13))))),le.addAssign(Ho(ie)),de.addAssign(Ho(ne)),ge.addAssign(Ho(z)),CM(le,de,ge)}).setLayout({name:"mx_hash_int_2",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),Kn(([ee,y,E,z])=>{const ne=Mn(z).toVar(),ie=Mn(E).toVar(),se=Mn(y).toVar(),le=Mn(ee).toVar(),de=Ho(Ho(4)).toVar(),ge=Ho().toVar(),ve=Ho().toVar(),xe=Ho().toVar();return ge.assign(ve.assign(xe.assign(Ho(Mn(3735928559)).add(de.shiftLeft(Ho(2))).add(Ho(13))))),ge.addAssign(Ho(le)),ve.addAssign(Ho(se)),xe.addAssign(Ho(ie)),p9(ge,ve,xe),ge.addAssign(Ho(ne)),CM(ge,ve,xe)}).setLayout({name:"mx_hash_int_3",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"}]}),Kn(([ee,y,E,z,ne])=>{const ie=Mn(ne).toVar(),se=Mn(z).toVar(),le=Mn(E).toVar(),de=Mn(y).toVar(),ge=Mn(ee).toVar(),ve=Ho(Ho(5)).toVar(),xe=Ho().toVar(),Se=Ho().toVar(),Me=Ho().toVar();return xe.assign(Se.assign(Me.assign(Ho(Mn(3735928559)).add(ve.shiftLeft(Ho(2))).add(Ho(13))))),xe.addAssign(Ho(ge)),Se.addAssign(Ho(de)),Me.addAssign(Ho(le)),p9(xe,Se,Me),xe.addAssign(Ho(se)),Se.addAssign(Ho(ie)),CM(xe,Se,Me)}).setLayout({name:"mx_hash_int_4",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"},{name:"yy",type:"int"}]})]),av=ug([Kn(([ee,y])=>{const E=Mn(y).toVar(),z=Mn(ee).toVar(),ne=Ho(Wu(z,E)).toVar(),ie=vE().toVar();return ie.x.assign(ne.bitAnd(Mn(255))),ie.y.assign(ne.shiftRight(Mn(8)).bitAnd(Mn(255))),ie.z.assign(ne.shiftRight(Mn(16)).bitAnd(Mn(255))),ie}).setLayout({name:"mx_hash_vec3_0",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=Mn(y).toVar(),ie=Mn(ee).toVar(),se=Ho(Wu(ie,ne,z)).toVar(),le=vE().toVar();return le.x.assign(se.bitAnd(Mn(255))),le.y.assign(se.shiftRight(Mn(8)).bitAnd(Mn(255))),le.z.assign(se.shiftRight(Mn(16)).bitAnd(Mn(255))),le}).setLayout({name:"mx_hash_vec3_1",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]})]),DF=ug([Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=nn(Wc(y.x,E)).toVar(),ie=nn(Wc(y.y,z)).toVar(),se=nn(BA(ne)).toVar(),le=nn(BA(ie)).toVar(),de=nn(h9(Gf(Wu(E,z),ne,ie),Gf(Wu(E.add(Mn(1)),z),ne.sub(1),ie),Gf(Wu(E,z.add(Mn(1))),ne,ie.sub(1)),Gf(Wu(E.add(Mn(1)),z.add(Mn(1))),ne.sub(1),ie.sub(1)),se,le)).toVar();return f9(de)}).setLayout({name:"mx_perlin_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=Mn().toVar(),ie=nn(Wc(y.x,E)).toVar(),se=nn(Wc(y.y,z)).toVar(),le=nn(Wc(y.z,ne)).toVar(),de=nn(BA(ie)).toVar(),ge=nn(BA(se)).toVar(),ve=nn(BA(le)).toVar(),xe=nn(d9(Gf(Wu(E,z,ne),ie,se,le),Gf(Wu(E.add(Mn(1)),z,ne),ie.sub(1),se,le),Gf(Wu(E,z.add(Mn(1)),ne),ie,se.sub(1),le),Gf(Wu(E.add(Mn(1)),z.add(Mn(1)),ne),ie.sub(1),se.sub(1),le),Gf(Wu(E,z,ne.add(Mn(1))),ie,se,le.sub(1)),Gf(Wu(E.add(Mn(1)),z,ne.add(Mn(1))),ie.sub(1),se,le.sub(1)),Gf(Wu(E,z.add(Mn(1)),ne.add(Mn(1))),ie,se.sub(1),le.sub(1)),Gf(Wu(E.add(Mn(1)),z.add(Mn(1)),ne.add(Mn(1))),ie.sub(1),se.sub(1),le.sub(1)),de,ge,ve)).toVar();return g9(xe)}).setLayout({name:"mx_perlin_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"}]})]),FF=ug([Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=nn(Wc(y.x,E)).toVar(),ie=nn(Wc(y.y,z)).toVar(),se=nn(BA(ne)).toVar(),le=nn(BA(ie)).toVar(),de=Xn(h9(sv(av(E,z),ne,ie),sv(av(E.add(Mn(1)),z),ne.sub(1),ie),sv(av(E,z.add(Mn(1))),ne,ie.sub(1)),sv(av(E.add(Mn(1)),z.add(Mn(1))),ne.sub(1),ie.sub(1)),se,le)).toVar();return f9(de)}).setLayout({name:"mx_perlin_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=Mn().toVar(),ie=nn(Wc(y.x,E)).toVar(),se=nn(Wc(y.y,z)).toVar(),le=nn(Wc(y.z,ne)).toVar(),de=nn(BA(ie)).toVar(),ge=nn(BA(se)).toVar(),ve=nn(BA(le)).toVar(),xe=Xn(d9(sv(av(E,z,ne),ie,se,le),sv(av(E.add(Mn(1)),z,ne),ie.sub(1),se,le),sv(av(E,z.add(Mn(1)),ne),ie,se.sub(1),le),sv(av(E.add(Mn(1)),z.add(Mn(1)),ne),ie.sub(1),se.sub(1),le),sv(av(E,z,ne.add(Mn(1))),ie,se,le.sub(1)),sv(av(E.add(Mn(1)),z,ne.add(Mn(1))),ie.sub(1),se,le.sub(1)),sv(av(E,z.add(Mn(1)),ne.add(Mn(1))),ie,se.sub(1),le.sub(1)),sv(av(E.add(Mn(1)),z.add(Mn(1)),ne.add(Mn(1))),ie.sub(1),se.sub(1),le.sub(1)),de,ge,ve)).toVar();return g9(xe)}).setLayout({name:"mx_perlin_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"}]})]),QK=ug([Kn(([ee])=>{const y=nn(ee).toVar(),E=Mn(gd(y)).toVar();return zg(Wu(E))}).setLayout({name:"mx_cell_noise_float_0",type:"float",inputs:[{name:"p",type:"float"}]}),Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar();return zg(Wu(E,z))}).setLayout({name:"mx_cell_noise_float_1",type:"float",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar();return zg(Wu(E,z,ne))}).setLayout({name:"mx_cell_noise_float_2",type:"float",inputs:[{name:"p",type:"vec3"}]}),Kn(([ee])=>{const y=Qo(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar(),ie=Mn(gd(y.w)).toVar();return zg(Wu(E,z,ne,ie))}).setLayout({name:"mx_cell_noise_float_3",type:"float",inputs:[{name:"p",type:"vec4"}]})]),m9=ug([Kn(([ee])=>{const y=nn(ee).toVar(),E=Mn(gd(y)).toVar();return Xn(zg(Wu(E,Mn(0))),zg(Wu(E,Mn(1))),zg(Wu(E,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"float"}]}),Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar();return Xn(zg(Wu(E,z,Mn(0))),zg(Wu(E,z,Mn(1))),zg(Wu(E,z,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar();return Xn(zg(Wu(E,z,ne,Mn(0))),zg(Wu(E,z,ne,Mn(1))),zg(Wu(E,z,ne,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_2",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),Kn(([ee])=>{const y=Qo(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar(),ie=Mn(gd(y.w)).toVar();return Xn(zg(Wu(E,z,ne,ie,Mn(0))),zg(Wu(E,z,ne,ie,Mn(1))),zg(Wu(E,z,ne,ie,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_3",type:"vec3",inputs:[{name:"p",type:"vec4"}]})]),OB=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar(),de=nn(0).toVar(),ge=nn(1).toVar();return zu(se,()=>{de.addAssign(ge.mul(DF(le))),ge.mulAssign(ne),le.mulAssign(ie)}),de}).setLayout({name:"mx_fractal_noise_float",type:"float",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),v9=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar(),de=Xn(0).toVar(),ge=nn(1).toVar();return zu(se,()=>{de.addAssign(ge.mul(FF(le))),ge.mulAssign(ne),le.mulAssign(ie)}),de}).setLayout({name:"mx_fractal_noise_vec3",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),YK=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar();return Er(OB(le,se,ie,ne),OB(le.add(Xn(Mn(19),Mn(193),Mn(17))),se,ie,ne))}).setLayout({name:"mx_fractal_noise_vec2",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),ZK=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar(),de=Xn(v9(le,se,ie,ne)).toVar(),ge=nn(OB(le.add(Xn(Mn(19),Mn(193),Mn(17))),se,ie,ne)).toVar();return Qo(de,ge)}).setLayout({name:"mx_fractal_noise_vec4",type:"vec4",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),OE=ug([Kn(([ee,y,E,z,ne,ie,se])=>{const le=Mn(se).toVar(),de=nn(ie).toVar(),ge=Mn(ne).toVar(),ve=Mn(z).toVar(),xe=Mn(E).toVar(),Se=Mn(y).toVar(),Me=Er(ee).toVar(),De=Xn(m9(Er(Se.add(ve),xe.add(ge)))).toVar(),Oe=Er(De.x,De.y).toVar();Oe.subAssign(.5),Oe.mulAssign(de),Oe.addAssign(.5);const Re=Er(Er(nn(Se),nn(xe)).add(Oe)).toVar(),Le=Er(Re.sub(Me)).toVar();return Pa(le.equal(Mn(2)),()=>xc(Le.x).add(xc(Le.y))),Pa(le.equal(Mn(3)),()=>Th(xc(Le.x),xc(Le.y))),xw(Le,Le)}).setLayout({name:"mx_worley_distance_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Kn(([ee,y,E,z,ne,ie,se,le,de])=>{const ge=Mn(de).toVar(),ve=nn(le).toVar(),xe=Mn(se).toVar(),Se=Mn(ie).toVar(),Me=Mn(ne).toVar(),De=Mn(z).toVar(),Oe=Mn(E).toVar(),Re=Mn(y).toVar(),Le=Xn(ee).toVar(),Qe=Xn(m9(Xn(Re.add(Me),Oe.add(Se),De.add(xe)))).toVar();Qe.subAssign(.5),Qe.mulAssign(ve),Qe.addAssign(.5);const Xe=Xn(Xn(nn(Re),nn(Oe),nn(De)).add(Qe)).toVar(),Ze=Xn(Xe.sub(Le)).toVar();return Pa(ge.equal(Mn(2)),()=>xc(Ze.x).add(xc(Ze.y)).add(xc(Ze.z))),Pa(ge.equal(Mn(3)),()=>Th(xc(Ze.x),xc(Ze.y),xc(Ze.z))),xw(Ze,Ze)}).setLayout({name:"mx_worley_distance_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"zoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),KK=Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Er(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Er(Wc(ie.x,se),Wc(ie.y,le)).toVar(),ge=nn(1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:ve})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:xe})=>{const Se=nn(OE(de,ve,xe,se,le,ne,z)).toVar();ge.assign(Xp(ge,Se))})}),Pa(z.equal(Mn(0)),()=>{ge.assign(AA(ge))}),ge}).setLayout({name:"mx_worley_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),JK=Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Er(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Er(Wc(ie.x,se),Wc(ie.y,le)).toVar(),ge=Er(1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:ve})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:xe})=>{const Se=nn(OE(de,ve,xe,se,le,ne,z)).toVar();Pa(Se.lessThan(ge.x),()=>{ge.y.assign(ge.x),ge.x.assign(Se)}).ElseIf(Se.lessThan(ge.y),()=>{ge.y.assign(Se)})})}),Pa(z.equal(Mn(0)),()=>{ge.assign(AA(ge))}),ge}).setLayout({name:"mx_worley_noise_vec2_0",type:"vec2",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),qK=Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Er(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Er(Wc(ie.x,se),Wc(ie.y,le)).toVar(),ge=Xn(1e6,1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:ve})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:xe})=>{const Se=nn(OE(de,ve,xe,se,le,ne,z)).toVar();Pa(Se.lessThan(ge.x),()=>{ge.z.assign(ge.y),ge.y.assign(ge.x),ge.x.assign(Se)}).ElseIf(Se.lessThan(ge.y),()=>{ge.z.assign(ge.y),ge.y.assign(Se)}).ElseIf(Se.lessThan(ge.z),()=>{ge.z.assign(Se)})})}),Pa(z.equal(Mn(0)),()=>{ge.assign(AA(ge))}),ge}).setLayout({name:"mx_worley_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),_K=ug([KK,Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Xn(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Mn().toVar(),ge=Xn(Wc(ie.x,se),Wc(ie.y,le),Wc(ie.z,de)).toVar(),ve=nn(1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:xe})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:Se})=>{zu({start:-1,end:Mn(1),name:"z",condition:"<="},({z:Me})=>{const De=nn(OE(ge,xe,Se,Me,se,le,de,ne,z)).toVar();ve.assign(Xp(ve,De))})})}),Pa(z.equal(Mn(0)),()=>{ve.assign(AA(ve))}),ve}).setLayout({name:"mx_worley_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),$K=ug([JK,Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Xn(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Mn().toVar(),ge=Xn(Wc(ie.x,se),Wc(ie.y,le),Wc(ie.z,de)).toVar(),ve=Er(1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:xe})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:Se})=>{zu({start:-1,end:Mn(1),name:"z",condition:"<="},({z:Me})=>{const De=nn(OE(ge,xe,Se,Me,se,le,de,ne,z)).toVar();Pa(De.lessThan(ve.x),()=>{ve.y.assign(ve.x),ve.x.assign(De)}).ElseIf(De.lessThan(ve.y),()=>{ve.y.assign(De)})})})}),Pa(z.equal(Mn(0)),()=>{ve.assign(AA(ve))}),ve}).setLayout({name:"mx_worley_noise_vec2_1",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),eJ=ug([qK,Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Xn(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Mn().toVar(),ge=Xn(Wc(ie.x,se),Wc(ie.y,le),Wc(ie.z,de)).toVar(),ve=Xn(1e6,1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:xe})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:Se})=>{zu({start:-1,end:Mn(1),name:"z",condition:"<="},({z:Me})=>{const De=nn(OE(ge,xe,Se,Me,se,le,de,ne,z)).toVar();Pa(De.lessThan(ve.x),()=>{ve.z.assign(ve.y),ve.y.assign(ve.x),ve.x.assign(De)}).ElseIf(De.lessThan(ve.y),()=>{ve.z.assign(ve.y),ve.y.assign(De)}).ElseIf(De.lessThan(ve.z),()=>{ve.z.assign(De)})})})}),Pa(z.equal(Mn(0)),()=>{ve.assign(AA(ve))}),ve}).setLayout({name:"mx_worley_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),tJ=Kn(([ee])=>{const y=ee.y,E=ee.z,z=Xn().toVar();return Pa(y.lessThan(1e-4),()=>{z.assign(Xn(E,E,E))}).Else(()=>{let ne=ee.x;ne=ne.sub(xA(ne)).mul(6).toVar();const ie=Mn(K3(ne)),se=ne.sub(nn(ie)),le=E.mul(y.oneMinus()),de=E.mul(y.mul(se).oneMinus()),ge=E.mul(y.mul(se.oneMinus()).oneMinus());Pa(ie.equal(Mn(0)),()=>{z.assign(Xn(E,ge,le))}).ElseIf(ie.equal(Mn(1)),()=>{z.assign(Xn(de,E,le))}).ElseIf(ie.equal(Mn(2)),()=>{z.assign(Xn(le,E,ge))}).ElseIf(ie.equal(Mn(3)),()=>{z.assign(Xn(le,de,E))}).ElseIf(ie.equal(Mn(4)),()=>{z.assign(Xn(ge,le,E))}).Else(()=>{z.assign(Xn(E,le,de))})}),z}).setLayout({name:"mx_hsvtorgb",type:"vec3",inputs:[{name:"hsv",type:"vec3"}]}),nJ=Kn(([ee])=>{const y=Xn(ee).toVar(),E=nn(y.x).toVar(),z=nn(y.y).toVar(),ne=nn(y.z).toVar(),ie=nn(Xp(E,Xp(z,ne))).toVar(),se=nn(Th(E,Th(z,ne))).toVar(),le=nn(se.sub(ie)).toVar(),de=nn().toVar(),ge=nn().toVar(),ve=nn().toVar();return ve.assign(se),Pa(se.greaterThan(0),()=>{ge.assign(le.div(se))}).Else(()=>{ge.assign(0)}),Pa(ge.lessThanEqual(0),()=>{de.assign(0)}).Else(()=>{Pa(E.greaterThanEqual(se),()=>{de.assign(z.sub(ne).div(le))}).ElseIf(z.greaterThanEqual(se),()=>{de.assign(Od(2,ne.sub(E).div(le)))}).Else(()=>{de.assign(Od(4,E.sub(z).div(le)))}),de.mulAssign(1/6),Pa(de.lessThan(0),()=>{de.addAssign(1)})}),Xn(de,ge,ve)}).setLayout({name:"mx_rgbtohsv",type:"vec3",inputs:[{name:"c",type:"vec3"}]}),iJ=Kn(([ee])=>{const y=Xn(ee).toVar(),E=L3(j3(y,Xn(.04045))).toVar(),z=Xn(y.div(12.92)).toVar(),ne=Xn(hy(Th(y.add(Xn(.055)),Xn(0)).div(1.055),Xn(2.4))).toVar();return yu(z,ne,E)}).setLayout({name:"mx_srgb_texture_to_lin_rec709",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),y9=(ee,y)=>{ee=nn(ee),y=nn(y);const E=Er(y.dFdx(),y.dFdy()).length().mul(.7071067811865476);return $0(ee.sub(E),ee.add(E),y)},A9=(ee,y,E,z)=>yu(ee,y,E[z].clamp()),rJ=(ee,y,E=wc())=>A9(ee,y,E,"x"),oJ=(ee,y,E=wc())=>A9(ee,y,E,"y"),x9=(ee,y,E,z,ne)=>yu(ee,y,y9(E,z[ne])),sJ=(ee,y,E,z=wc())=>x9(ee,y,E,z,"x"),aJ=(ee,y,E,z=wc())=>x9(ee,y,E,z,"y"),lJ=(ee=1,y=0,E=wc())=>E.mul(ee).add(y),uJ=(ee,y=1)=>(ee=nn(ee),ee.abs().pow(y).mul(ee.sign())),cJ=(ee,y=1,E=.5)=>nn(ee).sub(E).mul(y).add(E),hJ=(ee=wc(),y=1,E=0)=>DF(ee.convert("vec2|vec3")).mul(y).add(E),dJ=(ee=wc(),y=1,E=0)=>FF(ee.convert("vec2|vec3")).mul(y).add(E),fJ=(ee=wc(),y=1,E=0)=>(ee=ee.convert("vec2|vec3"),Qo(FF(ee),DF(ee.add(Er(19,73)))).mul(y).add(E)),gJ=(ee=wc(),y=1)=>_K(ee.convert("vec2|vec3"),y,Mn(1)),pJ=(ee=wc(),y=1)=>$K(ee.convert("vec2|vec3"),y,Mn(1)),mJ=(ee=wc(),y=1)=>eJ(ee.convert("vec2|vec3"),y,Mn(1)),vJ=(ee=wc())=>QK(ee.convert("vec2|vec3")),yJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>OB(ee,Mn(y),E,z).mul(ne),AJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>YK(ee,Mn(y),E,z).mul(ne),xJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>v9(ee,Mn(y),E,z).mul(ne),wJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>ZK(ee,Mn(y),E,z).mul(ne),SJ=Kn(([ee,y,E])=>{const z=Ux(ee).toVar(),ne=Wl(nn(.5).mul(y.sub(E)),iv).div(z).toVar(),ie=Wl(nn(-.5).mul(y.sub(E)),iv).div(z).toVar(),se=Xn().toVar();se.x=z.x.greaterThan(nn(0)).select(ne.x,ie.x),se.y=z.y.greaterThan(nn(0)).select(ne.y,ie.y),se.z=z.z.greaterThan(nn(0)).select(ne.z,ie.z);const le=Xp(se.x,se.y,se.z).toVar();return iv.add(z.mul(le)).toVar().sub(E)}),w9=Kn(([ee,y])=>{const E=ee.x,z=ee.y,ne=ee.z;let ie=y.element(0).mul(.886227);return ie=ie.add(y.element(1).mul(2*.511664).mul(z)),ie=ie.add(y.element(2).mul(2*.511664).mul(ne)),ie=ie.add(y.element(3).mul(2*.511664).mul(E)),ie=ie.add(y.element(4).mul(2*.429043).mul(E).mul(z)),ie=ie.add(y.element(5).mul(2*.429043).mul(z).mul(ne)),ie=ie.add(y.element(6).mul(ne.mul(ne).mul(.743125).sub(.247708))),ie=ie.add(y.element(7).mul(2*.429043).mul(E).mul(ne)),ie=ie.add(y.element(8).mul(.429043).mul(il(E,E).sub(il(z,z)))),ie});var Bae=Object.freeze({__proto__:null,BRDF_GGX:UD,BRDF_Lambert:uP,BasicPointShadowFilter:s9,BasicShadowFilter:q7,Break:t6,Const:bI,Continue:uW,DFGApprox:VD,D_GGX:b6,Discard:jI,EPSILON:q8,F_Schlick:BE,Fn:Kn,INFINITY:VG,If:Pa,Loop:zu,NodeAccess:Og,NodeShaderStage:U2,NodeType:fG,NodeUpdateType:al,PCFShadowFilter:_7,PCFSoftShadowFilter:$7,PI:Q5,PI2:jG,PointShadowFilter:a9,Return:oX,Schlick_to_F0:B6,ScriptableNodeResources:FB,ShaderNode:mE,Stack:O5,Switch:LG,TBNViewMatrix:aP,VSMShadowFilter:e9,V_GGX_SmithCorrelated:E6,Var:EI,abs:xc,acesFilmicToneMapping:R7,acos:W3,add:Od,addMethodChaining:ur,addNodeElement:lX,agxToneMapping:O7,all:_8,alphaT:V5,and:O8,anisotropy:Aw,anisotropyB:rP,anisotropyT:Q2,any:$8,append:OG,array:T8,arrayBuffer:IG,asin:iI,assign:D8,atan:Q3,atan2:SI,atomicAdd:wK,atomicAnd:EK,atomicFunc:MA,atomicLoad:AK,atomicMax:PK,atomicMin:CK,atomicOr:bK,atomicStore:xK,atomicSub:SK,atomicXor:MK,attenuationColor:z3,attenuationDistance:k3,attribute:ap,attributeArray:yZ,backgroundBlurriness:P7,backgroundIntensity:gF,backgroundRotation:C7,batch:q4,bentNormalView:y4,billboarding:$Y,bitAnd:U8,bitNot:V8,bitOr:j8,bitXor:G8,bitangentGeometry:GX,bitangentLocal:XX,bitangentView:m4,bitangentWorld:WX,bitcast:GG,blendBurn:h6,blendColor:BW,blendDodge:d6,blendOverlay:g6,blendScreen:f6,blur:Z6,bool:mA,buffer:eM,bufferAttribute:_2,bumpMap:A4,burn:DW,bvec2:y8,bvec3:L3,bvec4:S8,bypass:zI,cache:$2,call:F8,cameraFar:Wx,cameraIndex:nB,cameraNear:Xx,cameraNormalMatrix:xX,cameraPosition:nM,cameraProjectionMatrix:zm,cameraProjectionMatrixInverse:yX,cameraViewMatrix:Hm,cameraWorldMatrix:AX,cbrt:vI,cdl:IZ,ceil:Z5,checker:jK,cineonToneMapping:I7,clamp:SA,clearcoat:z5,clearcoatNormalView:sP,clearcoatRoughness:W2,code:TB,color:m8,colorSpaceToWorking:$5,colorToDirection:UW,compute:kI,computeSkinning:aW,context:q5,convert:C8,convertColorSpace:JG,convertToTexture:hZ,cos:jx,cross:J5,cubeTexture:PE,cubeTextureBase:mD,cubeToUV:fy,dFdx:Y3,dFdy:Z3,dashSize:oP,debug:GI,decrement:K8,decrementBefore:Y8,defaultBuildStages:S3,defaultShaderStages:s8,defined:V2,degrees:tI,deltaTime:x7,densityFog:nK,densityFogFactor:vF,depth:RD,depthPass:HZ,difference:fI,diffuseColor:vu,directPointLight:c9,directionToColor:v6,directionToFaceDirection:wE,dispersion:H3,distance:dI,div:_0,dodge:FW,dot:xw,drawIndex:Z4,dynamicBufferAttribute:OI,element:P8,emissive:N3,equal:V3,equals:cI,equirectUV:kD,exp:G3,exp2:AE,expression:Gx,faceDirection:dD,faceForward:eD,faceforward:XG,float:nn,floor:xA,fog:AM,fract:Vx,frameGroup:M8,frameId:GY,frontFacing:JI,fwidth:lI,gain:OY,gapSize:Z2,getConstNodeType:p8,getCurrentStack:F3,getDirection:Q6,getDistanceAttenuation:TF,getGeometryRoughness:C6,getNormalFromDepth:fZ,getParallaxCorrectNormal:SJ,getRoughness:HD,getScreenPosition:dZ,getShIrradianceAt:w9,getShadowMaterial:t9,getShadowRenderObjectFunction:i9,getTextureIndex:y7,getViewPosition:NE,globalId:lK,glsl:ZZ,glslFn:KZ,grayscale:DZ,greaterThan:j3,greaterThanEqual:R8,hash:RY,highpModelNormalViewMatrix:cD,highpModelViewMatrix:uD,hue:NZ,increment:Z8,incrementBefore:Q8,instance:eW,instanceIndex:Pw,instancedArray:AZ,instancedBufferAttribute:eB,instancedDynamicBufferAttribute:rD,instancedMesh:J4,int:Mn,inverseSqrt:X3,inversesqrt:WG,invocationLocalIndex:$X,invocationSubgroupIndex:_X,ior:K2,iridescence:U5,iridescenceIOR:I3,iridescenceThickness:R3,ivec2:pf,ivec3:A8,ivec4:x8,js:QZ,label:CI,length:wA,lengthSq:q3,lessThan:N8,lessThanEqual:I8,lightPosition:xF,lightProjectionUV:j7,lightShadowMatrix:AF,lightTargetDirection:SF,lightTargetPosition:G7,lightViewPosition:wF,lightingContext:r6,lights:DK,linearDepth:ME,linearToneMapping:L7,localId:uK,log:Y5,log2:yA,logarithmicDepthToViewZ:xW,luminance:pF,mat2:k5,mat3:kg,mat4:nP,matcapUV:s7,materialAO:Q4,materialAlphaTest:w4,materialAnisotropy:R4,materialAnisotropyVector:CE,materialAttenuationColor:G4,materialAttenuationDistance:j4,materialClearcoat:T4,materialClearcoatNormal:F4,materialClearcoatRoughness:D4,materialColor:cB,materialDispersion:W4,materialEmissive:P4,materialEnvIntensity:oB,materialEnvRotation:pD,materialIOR:V4,materialIridescence:O4,materialIridescenceIOR:k4,materialIridescenceThickness:z4,materialLightMap:bD,materialLineDashOffset:ED,materialLineDashSize:PD,materialLineGapSize:CD,materialLineScale:SD,materialLineWidth:fB,materialMetalness:M4,materialNormal:B4,materialOpacity:hB,materialPointSize:X4,materialReference:Yx,materialReflectivity:dB,materialRefractionRatio:t4,materialRotation:L4,materialRoughness:b4,materialSheen:N4,materialSheenRoughness:I4,materialShininess:S4,materialSpecular:C4,materialSpecularColor:E4,materialSpecularIntensity:wD,materialSpecularStrength:rM,materialThickness:U4,materialTransmission:H4,max:Th,maxMipLevel:sD,mediumpModelViewMatrix:KI,metalness:X2,min:Xp,mix:yu,mixElement:AI,mod:W5,modInt:J8,modelDirection:bX,modelNormalMatrix:ZI,modelPosition:MX,modelRadius:YI,modelScale:BX,modelViewMatrix:Qx,modelViewPosition:TX,modelViewProjection:MD,modelWorldMatrix:nv,modelWorldMatrixInverse:DX,morphReference:i6,mrt:A7,mul:il,mx_aastep:y9,mx_cell_noise_float:vJ,mx_contrast:cJ,mx_fractal_noise_float:yJ,mx_fractal_noise_vec2:AJ,mx_fractal_noise_vec3:xJ,mx_fractal_noise_vec4:wJ,mx_hsvtorgb:tJ,mx_noise_float:hJ,mx_noise_vec3:dJ,mx_noise_vec4:fJ,mx_ramplr:rJ,mx_ramptb:oJ,mx_rgbtohsv:nJ,mx_safepower:uJ,mx_splitlr:sJ,mx_splittb:aJ,mx_srgb_texture_to_lin_rec709:iJ,mx_transform_uv:lJ,mx_worley_noise_float:gJ,mx_worley_noise_vec2:pJ,mx_worley_noise_vec3:mJ,negate:rI,neutralToneMapping:k7,nodeArray:tP,nodeImmutable:lo,nodeObject:ir,nodeObjects:j2,nodeProxy:Ar,normalFlat:qI,normalGeometry:rB,normalLocal:Wp,normalMap:xD,normalView:ku,normalViewGeometry:SE,normalWorld:Sw,normalWorldGeometry:_I,normalize:Ux,not:z8,notEqual:L8,numWorkgroups:sK,objectDirection:wX,objectGroup:U3,objectPosition:QI,objectRadius:EX,objectScale:PX,objectViewPosition:CX,objectWorldMatrix:SX,oneMinus:oI,or:k8,orthographicDepthToViewZ:AW,oscSawtooth:JY,oscSine:YY,oscSquare:ZY,oscTriangle:KY,output:yE,outputStruct:NY,overlay:NW,overloadingFn:ug,parabola:uF,parallaxDirection:v4,parallaxUV:QX,parameter:MY,pass:kZ,passTexture:zZ,pcurve:kY,perspectiveDepthToViewZ:ND,pmremTexture:sF,pointShadow:u9,pointUV:wZ,pointWidth:kG,positionGeometry:lg,positionLocal:qh,positionPrevious:iB,positionView:_h,positionViewDirection:Bc,positionWorld:iv,positionWorldDirection:hD,posterize:OZ,pow:hy,pow2:J3,pow3:gI,pow4:pI,premultiplyAlpha:p6,property:cy,radians:eI,rand:yI,range:rK,rangeFog:tK,rangeFogFactor:mF,reciprocal:aI,reference:lc,referenceBuffer:vD,reflect:hI,reflectVector:r4,reflectView:n4,reflector:sZ,refract:$3,refractVector:o4,refractView:i4,reinhardToneMapping:N7,remap:UI,remapClamp:VI,renderGroup:pa,renderOutput:oD,rendererReference:NI,rotate:wB,rotateUV:qY,roughness:vA,round:sI,rtt:S7,sRGBTransferEOTF:TI,sRGBTransferOETF:DI,sample:pZ,sampler:fX,samplerComparison:gX,saturate:_3,saturation:FZ,screen:LW,screenCoordinate:lM,screenSize:aM,screenUV:Zx,scriptable:eK,scriptableValue:DB,select:jf,setCurrentStack:G2,shaderStages:P3,shadow:o9,shadowPositionWorld:EF,shapeCircle:GK,sharedUniformGroup:X5,sheen:iP,sheenRoughness:H5,shiftLeft:X8,shiftRight:W8,shininess:j5,sign:q2,sin:km,sinc:zY,skinning:e6,smoothstep:$0,smoothstepElement:xI,specularColor:Gp,specularF90:Y2,spherizeUV:_Y,split:RG,spritesheetUV:nZ,sqrt:AA,stack:SB,step:K5,stepElement:wI,storage:lP,storageBarrier:fK,storageObject:sW,storageTexture:E7,string:NG,struct:LY,sub:Wl,subBuild:xE,subgroupIndex:qX,subgroupSize:cK,tan:nI,tangentGeometry:aB,tangentLocal:iM,tangentView:lB,tangentWorld:p4,temp:MI,texture:Dl,texture3D:b7,textureBarrier:gK,textureBicubic:uQ,textureBicubicLevel:XD,textureCubeUV:Y6,textureLoad:Jh,textureSize:ww,textureStore:PZ,thickness:O3,time:fP,timerDelta:QY,timerGlobal:WY,timerLocal:XY,toneMapping:II,toneMappingExposure:RI,toonOutlinePass:VZ,transformDirection:mI,transformNormal:$I,transformNormalToView:fD,transformedClearcoatNormalView:IX,transformedNormalView:LX,transformedNormalWorld:NX,transmission:G5,transpose:uI,triNoise3D:UY,triplanarTexture:iZ,triplanarTextures:w7,trunc:K3,uint:Ho,uniform:Us,uniformArray:ev,uniformCubeTexture:OX,uniformGroup:b8,uniformTexture:dX,unpremultiplyAlpha:TW,userData:MZ,uv:wc,uvec2:v8,uvec3:vE,uvec4:w8,varying:PA,varyingProperty:Om,vec2:Er,vec3:Xn,vec4:Qo,vectorComponents:_S,velocity:TZ,vertexColor:c6,vertexIndex:Y4,vertexStage:BI,vibrance:LZ,viewZToLogarithmicDepth:ID,viewZToOrthographicDepth:bE,viewZToPerspectiveDepth:LD,viewport:Kx,viewportCoordinate:s6,viewportDepthTexture:FD,viewportLinearDepth:wW,viewportMipTexture:TD,viewportResolution:mW,viewportSafeUV:eZ,viewportSharedTexture:m6,viewportSize:o6,viewportTexture:vW,viewportUV:pW,wgsl:YZ,wgslFn:JZ,workgroupArray:vK,workgroupBarrier:dK,workgroupId:aK,workingToColorSpace:FI,xor:H8});const gy=new lF;class PJ extends Ew{constructor(y,E){super(),this.renderer=y,this.nodes=E}update(y,E,z){const ne=this.renderer,ie=this.nodes.getBackgroundNode(y)||y.background;let se=!1;if(ie===null)ne._clearColor.getRGB(gy),gy.a=ne._clearColor.a;else if(ie.isColor===!0)ie.getRGB(gy),gy.a=1,se=!0;else if(ie.isNode===!0){const de=this.get(y),ge=ie;gy.copy(ne._clearColor);let ve=de.backgroundMesh;if(ve===void 0){let Oe=function(){ie.removeEventListener("dispose",Oe),ve.material.dispose(),ve.geometry.dispose()};const Se=q5(Qo(ge).mul(gF),{getUV:()=>C7.mul(_I),getTextureLevel:()=>P7});let Me=MD;Me=Me.setZ(Me.w);const De=new Dh;De.name="Background.material",De.side=au,De.depthTest=!1,De.depthWrite=!1,De.allowOverride=!1,De.fog=!1,De.lights=!1,De.vertexNode=Me,De.colorNode=Se,de.backgroundMeshNode=Se,de.backgroundMesh=ve=new lu(new rg(1,32,32),De),ve.frustumCulled=!1,ve.name="Background.mesh",ve.onBeforeRender=function(Re,Le,Qe){this.matrixWorld.copyPosition(Qe.matrixWorld)},ie.addEventListener("dispose",Oe)}const xe=ge.getCacheKey();de.backgroundCacheKey!==xe&&(de.backgroundMeshNode.node=Qo(ge).mul(gF),de.backgroundMeshNode.needsUpdate=!0,ve.material.needsUpdate=!0,de.backgroundCacheKey=xe),E.unshift(ve,ve.geometry,ve.material,0,0,null,null)}else console.error("THREE.Renderer: Unsupported background configuration.",ie);const le=ne.xr.getEnvironmentBlendMode();if(le==="additive"?gy.set(0,0,0,1):le==="alpha-blend"&&gy.set(0,0,0,0),ne.autoClear===!0||se===!0){const de=z.clearColorValue;de.r=gy.r,de.g=gy.g,de.b=gy.b,de.a=gy.a,(ne.backend.isWebGLBackend===!0||ne.alpha===!0)&&(de.r*=de.a,de.g*=de.a,de.b*=de.a),z.depthClearValue=ne._clearDepth,z.stencilClearValue=ne._clearStencil,z.clearColor=ne.autoClearColor===!0,z.clearDepth=ne.autoClearDepth===!0,z.clearStencil=ne.autoClearStencil===!0}else z.clearColor=!1,z.clearDepth=!1,z.clearStencil=!1}}let CJ=0;class LF{constructor(y="",E=[],z=0,ne=[]){this.name=y,this.bindings=E,this.index=z,this.bindingsReference=ne,this.id=CJ++}}class EJ{constructor(y,E,z,ne,ie,se,le,de,ge,ve=[]){this.vertexShader=y,this.fragmentShader=E,this.computeShader=z,this.transforms=ve,this.nodeAttributes=ne,this.bindings=ie,this.updateNodes=se,this.updateBeforeNodes=le,this.updateAfterNodes=de,this.observer=ge,this.usedTimes=0}createBindings(){const y=[];for(const E of this.bindings)if(E.bindings[0].groupNode.shared!==!0){const ne=new LF(E.name,[],E.index,E);y.push(ne);for(const ie of E.bindings)ne.bindings.push(ie.clone())}else y.push(E);return y}}class S9{constructor(y,E,z=null){this.isNodeAttribute=!0,this.name=y,this.type=E,this.node=z}}class bJ{constructor(y,E,z){this.isNodeUniform=!0,this.name=y,this.type=E,this.node=z.getSelf()}get value(){return this.node.value}set value(y){this.node.value=y}get id(){return this.node.id}get groupNode(){return this.node.groupNode}}class P9{constructor(y,E,z=!1,ne=null){this.isNodeVar=!0,this.name=y,this.type=E,this.readOnly=z,this.count=ne}}class MJ extends P9{constructor(y,E,z=null,ne=null){super(y,E),this.needsInterpolation=!1,this.isNodeVarying=!0,this.interpolationType=z,this.interpolationSampling=ne}}class BJ{constructor(y,E,z=""){this.name=y,this.type=E,this.code=z,Object.defineProperty(this,"isNodeCode",{value:!0})}}let TJ=0;class NF{constructor(y=null){this.id=TJ++,this.nodesData=new WeakMap,this.parent=y}getData(y){let E=this.nodesData.get(y);return E===void 0&&this.parent!==null&&(E=this.parent.getData(y)),E}setData(y,E){this.nodesData.set(y,E)}}class DJ{constructor(y,E){this.name=y,this.members=E,this.output=!1}}class Mw{constructor(y,E){this.name=y,this.value=E,this.boundary=0,this.itemSize=0,this.offset=0}setValue(y){this.value=y}getValue(){return this.value}}class FJ extends Mw{constructor(y,E=0){super(y,E),this.isNumberUniform=!0,this.boundary=4,this.itemSize=1}}class LJ extends Mw{constructor(y,E=new ki){super(y,E),this.isVector2Uniform=!0,this.boundary=8,this.itemSize=2}}class NJ extends Mw{constructor(y,E=new Vt){super(y,E),this.isVector3Uniform=!0,this.boundary=16,this.itemSize=3}}class IJ extends Mw{constructor(y,E=new Ks){super(y,E),this.isVector4Uniform=!0,this.boundary=16,this.itemSize=4}}class RJ extends Mw{constructor(y,E=new fo){super(y,E),this.isColorUniform=!0,this.boundary=16,this.itemSize=3}}class OJ extends Mw{constructor(y,E=new hd){super(y,E),this.isMatrix2Uniform=!0,this.boundary=8,this.itemSize=4}}class kJ extends Mw{constructor(y,E=new Oa){super(y,E),this.isMatrix3Uniform=!0,this.boundary=48,this.itemSize=12}}class zJ extends Mw{constructor(y,E=new rs){super(y,E),this.isMatrix4Uniform=!0,this.boundary=64,this.itemSize=16}}class HJ extends FJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class UJ extends LJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class VJ extends NJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class jJ extends IJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class GJ extends RJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class XJ extends OJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class WJ extends kJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class QJ extends zJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}const C9=new WeakMap,YJ=new Map([[Int8Array,"int"],[Int16Array,"int"],[Int32Array,"int"],[Uint8Array,"uint"],[Uint16Array,"uint"],[Uint32Array,"uint"],[Float32Array,"float"]]),kB=ee=>/e/g.test(ee)?String(ee).replace(/\+/g,""):(ee=Number(ee),ee+(ee%1?"":".0"));class E9{constructor(y,E,z){this.object=y,this.material=y&&y.material||null,this.geometry=y&&y.geometry||null,this.renderer=E,this.parser=z,this.scene=null,this.camera=null,this.nodes=[],this.sequentialNodes=[],this.updateNodes=[],this.updateBeforeNodes=[],this.updateAfterNodes=[],this.hashNodes={},this.observer=null,this.lightsNode=null,this.environmentNode=null,this.fogNode=null,this.clippingContext=null,this.vertexShader=null,this.fragmentShader=null,this.computeShader=null,this.flowNodes={vertex:[],fragment:[],compute:[]},this.flowCode={vertex:"",fragment:"",compute:""},this.uniforms={vertex:[],fragment:[],compute:[],index:0},this.structs={vertex:[],fragment:[],compute:[],index:0},this.bindings={vertex:{},fragment:{},compute:{}},this.bindingsIndexes={},this.bindGroups=null,this.attributes=[],this.bufferAttributes=[],this.varyings=[],this.codes={},this.vars={},this.declarations={},this.flow={code:""},this.chaining=[],this.stack=SB(),this.stacks=[],this.tab=" ",this.currentFunctionNode=null,this.context={material:this.material},this.cache=new NF,this.globalCache=this.cache,this.flowsData=new WeakMap,this.shaderStage=null,this.buildStage=null,this.subBuildLayers=[],this.currentStack=null,this.subBuildFn=null}getBindGroupsCache(){let y=C9.get(this.renderer);return y===void 0&&(y=new dy,C9.set(this.renderer,y)),y}createRenderTarget(y,E,z){return new Np(y,E,z)}createCubeRenderTarget(y,E){return new y6(y,E)}includes(y){return this.nodes.includes(y)}getOutputStructName(){}_getBindGroup(y,E){const z=this.getBindGroupsCache(),ne=[];let ie=!0;for(const le of E)ne.push(le),ie=ie&&le.groupNode.shared!==!0;let se;return ie?(se=z.get(ne),se===void 0&&(se=new LF(y,ne,this.bindingsIndexes[y].group,ne),z.set(ne,se))):se=new LF(y,ne,this.bindingsIndexes[y].group,ne),se}getBindGroupArray(y,E){const z=this.bindings[E];let ne=z[y];return ne===void 0&&(this.bindingsIndexes[y]===void 0&&(this.bindingsIndexes[y]={binding:0,group:Object.keys(this.bindingsIndexes).length}),z[y]=ne=[]),ne}getBindings(){let y=this.bindGroups;if(y===null){const E={},z=this.bindings;for(const ne of P3)for(const ie in z[ne]){const se=z[ne][ie];(E[ie]||(E[ie]=[])).push(...se)}y=[];for(const ne in E){const ie=E[ne],se=this._getBindGroup(ne,ie);y.push(se)}this.bindGroups=y}return y}sortBindingGroups(){const y=this.getBindings();y.sort((E,z)=>E.bindings[0].groupNode.order-z.bindings[0].groupNode.order);for(let E=0;E=0?`${Math.round(E)}u`:"0u";if(y==="bool")return E?"true":"false";if(y==="color")return`${this.getType("vec3")}( ${kB(E.r)}, ${kB(E.g)}, ${kB(E.b)} )`;const z=this.getTypeLength(y),ne=this.getComponentType(y),ie=se=>this.generateConst(ne,se);if(z===2)return`${this.getType(y)}( ${ie(E.x)}, ${ie(E.y)} )`;if(z===3)return`${this.getType(y)}( ${ie(E.x)}, ${ie(E.y)}, ${ie(E.z)} )`;if(z===4&&y!=="mat2")return`${this.getType(y)}( ${ie(E.x)}, ${ie(E.y)}, ${ie(E.z)}, ${ie(E.w)} )`;if(z>=4&&E&&(E.isMatrix2||E.isMatrix3||E.isMatrix4))return`${this.getType(y)}( ${E.elements.map(ie).join(", ")} )`;if(z>4)return`${this.getType(y)}()`;throw new Error(`NodeBuilder: Type '${y}' not found in generate constant attempt.`)}getType(y){return y==="color"?"vec3":y}hasGeometryAttribute(y){return this.geometry&&this.geometry.getAttribute(y)!==void 0}getAttribute(y,E){const z=this.attributes;for(const ie of z)if(ie.name===y)return ie;const ne=new S9(y,E);return this.registerDeclaration(ne),z.push(ne),ne}getPropertyName(y){return y.name}isVector(y){return/vec\d/.test(y)}isMatrix(y){return/mat\d/.test(y)}isReference(y){return y==="void"||y==="property"||y==="sampler"||y==="samplerComparison"||y==="texture"||y==="cubeTexture"||y==="storageTexture"||y==="depthTexture"||y==="texture3D"}needsToWorkingColorSpace(){return!1}getComponentTypeFromTexture(y){const E=y.type;if(y.isDataTexture){if(E===tc)return"int";if(E===nu)return"uint"}return"float"}getElementType(y){return y==="mat2"?"vec2":y==="mat3"?"vec3":y==="mat4"?"vec4":this.getComponentType(y)}getComponentType(y){if(y=this.getVectorType(y),y==="float"||y==="bool"||y==="int"||y==="uint")return y;const E=/(b|i|u|)(vec|mat)([2-4])/.exec(y);return E===null?null:E[1]==="b"?"bool":E[1]==="i"?"int":E[1]==="u"?"uint":"float"}getVectorType(y){return y==="color"?"vec3":y==="texture"||y==="cubeTexture"||y==="storageTexture"||y==="texture3D"?"vec4":y}getTypeFromLength(y,E="float"){if(y===1)return E;let z=m3(y);const ne=E==="float"?"":E[0];return/mat2/.test(E)===!0&&(z=z.replace("vec","mat")),ne+z}getTypeFromArray(y){return YJ.get(y.constructor)}isInteger(y){return/int|uint|(i|u)vec/.test(y)}getTypeFromAttribute(y){let E=y;y.isInterleavedBufferAttribute&&(E=y.data);const z=E.array,ne=y.itemSize,ie=y.normalized;let se;return!(y instanceof Tb)&&ie!==!0&&(se=this.getTypeFromArray(z)),this.getTypeFromLength(ne,se)}getTypeLength(y){const E=this.getVectorType(y),z=/vec([2-4])/.exec(E);return z!==null?Number(z[1]):E==="float"||E==="bool"||E==="int"||E==="uint"?1:/mat2/.test(y)===!0?4:/mat3/.test(y)===!0?9:/mat4/.test(y)===!0?16:0}getVectorFromMatrix(y){return y.replace("mat","vec")}changeComponentType(y,E){return this.getTypeFromLength(this.getTypeLength(y),E)}getIntegerType(y){const E=this.getComponentType(y);return E==="int"||E==="uint"?y:this.changeComponentType(y,"int")}addStack(){return this.stack=SB(this.stack),this.stacks.push(F3()||this.stack),G2(this.stack),this.stack}removeStack(){const y=this.stack;return this.stack=y.parent,G2(this.stacks.pop()),y}getDataFromNode(y,E=this.shaderStage,z=null){z=z===null?y.isGlobal(this)?this.globalCache:this.cache:z;let ne=z.getData(y);ne===void 0&&(ne={},z.setData(y,ne)),ne[E]===void 0&&(ne[E]={});let ie=ne[E];const se=ne.any?ne.any.subBuilds:null,le=this.getClosestSubBuild(se);return le&&(ie.subBuildsCache===void 0&&(ie.subBuildsCache={}),ie=ie.subBuildsCache[le]||(ie.subBuildsCache[le]={}),ie.subBuilds=se),ie}getNodeProperties(y,E="any"){const z=this.getDataFromNode(y,E);return z.properties||(z.properties={outputNode:null})}getBufferAttributeFromNode(y,E){const z=this.getDataFromNode(y);let ne=z.bufferAttribute;if(ne===void 0){const ie=this.uniforms.index++;ne=new S9("nodeAttribute"+ie,E,y),this.bufferAttributes.push(ne),z.bufferAttribute=ne}return ne}getStructTypeFromNode(y,E,z=null,ne=this.shaderStage){const ie=this.getDataFromNode(y,ne,this.globalCache);let se=ie.structType;if(se===void 0){const le=this.structs.index++;z===null&&(z="StructType"+le),se=new DJ(z,E),this.structs[ne].push(se),ie.structType=se}return se}getOutputStructTypeFromNode(y,E){const z=this.getStructTypeFromNode(y,E,"OutputType","fragment");return z.output=!0,z}getUniformFromNode(y,E,z=this.shaderStage,ne=null){const ie=this.getDataFromNode(y,z,this.globalCache);let se=ie.uniform;if(se===void 0){const le=this.uniforms.index++;se=new bJ(ne||"nodeUniform"+le,E,y),this.uniforms[z].push(se),this.registerDeclaration(se),ie.uniform=se}return se}getArrayCount(y){let E=null;return y.isArrayNode?E=y.count:y.isVarNode&&y.node.isArrayNode&&(E=y.node.count),E}getVarFromNode(y,E=null,z=y.getNodeType(this),ne=this.shaderStage,ie=!1){const se=this.getDataFromNode(y,ne),le=this.getSubBuildProperty("variable",se.subBuilds);let de=se[le];if(de===void 0){const ge=ie?"_const":"_var",ve=this.vars[ne]||(this.vars[ne]=[]),xe=this.vars[ge]||(this.vars[ge]=0);E===null&&(E=(ie?"nodeConst":"nodeVar")+xe,this.vars[ge]++),le!=="variable"&&(E=this.getSubBuildProperty(E,se.subBuilds));const Se=this.getArrayCount(y);de=new P9(E,z,ie,Se),ie||ve.push(de),this.registerDeclaration(de),se[le]=de}return de}isDeterministic(y){if(y.isMathNode)return this.isDeterministic(y.aNode)&&(y.bNode?this.isDeterministic(y.bNode):!0)&&(y.cNode?this.isDeterministic(y.cNode):!0);if(y.isOperatorNode)return this.isDeterministic(y.aNode)&&(y.bNode?this.isDeterministic(y.bNode):!0);if(y.isArrayNode){if(y.values!==null){for(const E of y.values)if(!this.isDeterministic(E))return!1}return!0}else if(y.isConstNode)return!0;return!1}getVaryingFromNode(y,E=null,z=y.getNodeType(this),ne=null,ie=null){const se=this.getDataFromNode(y,"any"),le=this.getSubBuildProperty("varying",se.subBuilds);let de=se[le];if(de===void 0){const ge=this.varyings,ve=ge.length;E===null&&(E="nodeVarying"+ve),le!=="varying"&&(E=this.getSubBuildProperty(E,se.subBuilds)),de=new MJ(E,z,ne,ie),ge.push(de),this.registerDeclaration(de),se[le]=de}return de}registerDeclaration(y){const E=this.shaderStage,z=this.declarations[E]||(this.declarations[E]={}),ne=this.getPropertyName(y);let ie=1,se=ne;for(;z[se]!==void 0;)se=ne+"_"+ie++;ie>1&&(y.name=se,console.warn(`THREE.TSL: Declaration name '${ne}' of '${y.type}' already in use. Renamed to '${se}'.`)),z[se]=y}getCodeFromNode(y,E,z=this.shaderStage){const ne=this.getDataFromNode(y);let ie=ne.code;if(ie===void 0){const se=this.codes[z]||(this.codes[z]=[]),le=se.length;ie=new BJ("nodeCode"+le,E),se.push(ie),ne.code=ie}return ie}addFlowCodeHierarchy(y,E){const{flowCodes:z,flowCodeBlock:ne}=this.getDataFromNode(y);let ie=!0,se=E;for(;se;){if(ne.get(se)===!0){ie=!1;break}se=this.getDataFromNode(se).parentNodeBlock}if(ie)for(const le of z)this.addLineFlowCode(le)}addLineFlowCodeBlock(y,E,z){const ne=this.getDataFromNode(y),ie=ne.flowCodes||(ne.flowCodes=[]),se=ne.flowCodeBlock||(ne.flowCodeBlock=new WeakMap);ie.push(E),se.set(z,!0)}addLineFlowCode(y,E=null){return y===""?this:(E!==null&&this.context.nodeBlock&&this.addLineFlowCodeBlock(E,y,this.context.nodeBlock),y=this.tab+y,/;\s*$/.test(y)||(y=y+`; -`),this.flow.code+=y,this)}addFlowCode(y){return this.flow.code+=y,this}addFlowTab(){return this.tab+=" ",this}removeFlowTab(){return this.tab=this.tab.slice(0,-1),this}getFlowData(y){return this.flowsData.get(y)}flowNode(y){const E=y.getNodeType(this),z=this.flowChildNode(y,E);return this.flowsData.set(y,z),z}addInclude(y){this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(y)}buildFunctionNode(y){const E=new z7,z=this.currentFunctionNode;return this.currentFunctionNode=E,E.code=this.buildFunctionCode(y),this.currentFunctionNode=z,E}flowShaderNode(y){const E=y.layout,z={[Symbol.iterator](){let se=0;const le=Object.values(this);return{next:()=>({value:le[se],done:se++>=le.length})}}};for(const se of E.inputs)z[se.name]=new m7(se.type,se.name);y.layout=null;const ne=y.call(z),ie=this.flowStagesNode(ne,E.type);return y.layout=E,ie}flowStagesNode(y,E=null){const z=this.flow,ne=this.vars,ie=this.declarations,se=this.cache,le=this.buildStage,de=this.stack,ge={code:""};this.flow=ge,this.vars={},this.declarations={},this.cache=new NF,this.stack=SB();for(const ve of S3)this.setBuildStage(ve),ge.result=y.build(this,E);return ge.vars=this.getVars(this.shaderStage),this.flow=z,this.vars=ne,this.declarations=ie,this.cache=se,this.stack=de,this.setBuildStage(le),ge}getFunctionOperator(){return null}buildFunctionCode(){console.warn("Abstract function.")}flowChildNode(y,E=null){const z=this.flow,ne={code:""};return this.flow=ne,ne.result=y.build(this,E),this.flow=z,ne}flowNodeFromShaderStage(y,E,z=null,ne=null){const ie=this.tab,se=this.cache,le=this.shaderStage,de=this.context;this.setShaderStage(y);const ge=Sh({},this.context);delete ge.nodeBlock,this.cache=this.globalCache,this.tab=" ",this.context=ge;let ve=null;if(this.buildStage==="generate"){const xe=this.flowChildNode(E,z);ne!==null&&(xe.code+=`${this.tab+ne} = ${xe.result}; +return { ...output, `+z+" };",se=ne+this.codeNode.code+ie;return this._method=new Function(...y,se),this._method}dispose(){this._method!==null&&(this._object&&typeof this._object.dispose=="function"&&this._object.dispose(),this._method=null,this._object=null,this._source=null,this._value=null,this._needsOutputUpdate=!0,this._output.value=null,this._outputs={})}setup(){return this.getDefaultOutputNode()}getCacheKey(y){const E=[g3(this.source),this.getDefaultOutputNode().getCacheKey(y)];for(const z in this.parameters)E.push(this.parameters[z].getCacheKey(y));return O2(E)}set needsUpdate(y){y===!0&&this.dispose()}get needsUpdate(){return this.source!==this._source}_exec(){return this.codeNode===null?this:(this._needsOutputUpdate===!0&&(this._value=this.call("main"),this._needsOutputUpdate=!1),this._output.value=this._value,this)}_refresh(){this.needsUpdate=!0,this._exec(),this._output.refresh()}}const tK=Ar(eK).setParameterLength(1,2);function j7(ee){let y;const E=ee.context.getViewZ;return E!==void 0&&(y=E(this)),(y||_h.z).negate()}const mF=Kn(([ee,y],E)=>{const z=j7(E);return $0(ee,y,z)}),vF=Kn(([ee],y)=>{const E=j7(y);return ee.mul(ee,E,E).negate().exp().oneMinus()}),AM=Kn(([ee,y])=>Qo(y.toFloat().mix(yE.rgb,ee.toVec3()),yE.a));function nK(ee,y,E){return console.warn('THREE.TSL: "rangeFog( color, near, far )" is deprecated. Use "fog( color, rangeFogFactor( near, far ) )" instead.'),AM(ee,mF(y,E))}function iK(ee,y){return console.warn('THREE.TSL: "densityFog( color, density )" is deprecated. Use "fog( color, densityFogFactor( density ) )" instead.'),AM(ee,vF(y))}let pP=null,mP=null;class rK extends da{static get type(){return"RangeNode"}constructor(y=nn(),E=nn()){super(),this.minNode=y,this.maxNode=E}getVectorLength(y){const E=y.getTypeLength(Hx(this.minNode.value)),z=y.getTypeLength(Hx(this.maxNode.value));return E>z?E:z}getNodeType(y){return y.object.count>1?y.getTypeFromLength(this.getVectorLength(y)):"float"}setup(y){const E=y.object;let z=null;if(E.count>1){const ne=this.minNode.value,ie=this.maxNode.value,se=y.getTypeLength(Hx(ne)),le=y.getTypeLength(Hx(ie));pP=pP||new Ks,mP=mP||new Ks,pP.setScalar(0),mP.setScalar(0),se===1?pP.setScalar(ne):ne.isColor?pP.set(ne.r,ne.g,ne.b,1):pP.set(ne.x,ne.y,ne.z||0,ne.w||0),le===1?mP.setScalar(ie):ie.isColor?mP.set(ie.r,ie.g,ie.b,1):mP.set(ie.x,ie.y,ie.z||0,ie.w||0);const de=4,ge=de*E.count,ve=new Float32Array(ge);for(let Se=0;Seir(new sK(ee,y)),aK=xM("numWorkgroups","uvec3"),lK=xM("workgroupId","uvec3"),uK=xM("globalId","uvec3"),cK=xM("localId","uvec3"),hK=xM("subgroupSize","uint");class dK extends da{constructor(y){super(),this.scope=y}generate(y){const{scope:E}=this,{renderer:z}=y;z.backend.isWebGLBackend===!0?y.addFlowCode(` // ${E}Barrier +`):y.addLineFlowCode(`${E}Barrier()`,this)}}const yF=Ar(dK),fK=()=>yF("workgroup").toStack(),gK=()=>yF("storage").toStack(),pK=()=>yF("texture").toStack();class mK extends $S{constructor(y,E){super(y,E),this.isWorkgroupInfoElementNode=!0}generate(y,E){let z;const ne=y.context.assign;if(z=super.generate(y),ne!==!0){const ie=this.getNodeType(y);z=y.format(z,ie,E)}return z}}class vK extends da{constructor(y,E,z=0){super(E),this.bufferType=E,this.bufferCount=z,this.isWorkgroupInfoNode=!0,this.elementType=E,this.scope=y}label(y){return this.name=y,this}setScope(y){return this.scope=y,this}getElementType(){return this.elementType}getInputType(){return`${this.scope}Array`}element(y){return ir(new mK(this,y))}generate(y){return y.getScopedArray(this.name||`${this.scope}Array_${this.id}`,this.scope.toLowerCase(),this.bufferType,this.bufferCount)}}const yK=(ee,y)=>ir(new vK("Workgroup",ee,y));class mf extends da{static get type(){return"AtomicFunctionNode"}constructor(y,E,z){super("uint"),this.method=y,this.pointerNode=E,this.valueNode=z,this.parents=!0}getInputType(y){return this.pointerNode.getNodeType(y)}getNodeType(y){return this.getInputType(y)}generate(y){const E=y.getNodeProperties(this),z=E.parents,ne=this.method,ie=this.getNodeType(y),se=this.getInputType(y),le=this.pointerNode,de=this.valueNode,ge=[];ge.push(`&${le.build(y,se)}`),de!==null&&ge.push(de.build(y,se));const ve=`${y.getMethod(ne,ie)}( ${ge.join(", ")} )`;if(z.length===1&&z[0].isStackNode===!0)y.addLineFlowCode(ve,this);else return E.constNode===void 0&&(E.constNode=Gx(ve,ie).toConst()),E.constNode.build(y)}}mf.ATOMIC_LOAD="atomicLoad",mf.ATOMIC_STORE="atomicStore",mf.ATOMIC_ADD="atomicAdd",mf.ATOMIC_SUB="atomicSub",mf.ATOMIC_MAX="atomicMax",mf.ATOMIC_MIN="atomicMin",mf.ATOMIC_AND="atomicAnd",mf.ATOMIC_OR="atomicOr",mf.ATOMIC_XOR="atomicXor";const AK=Ar(mf),MA=(ee,y,E)=>AK(ee,y,E).toStack(),xK=ee=>MA(mf.ATOMIC_LOAD,ee,null),wK=(ee,y)=>MA(mf.ATOMIC_STORE,ee,y),SK=(ee,y)=>MA(mf.ATOMIC_ADD,ee,y),PK=(ee,y)=>MA(mf.ATOMIC_SUB,ee,y),CK=(ee,y)=>MA(mf.ATOMIC_MAX,ee,y),EK=(ee,y)=>MA(mf.ATOMIC_MIN,ee,y),bK=(ee,y)=>MA(mf.ATOMIC_AND,ee,y),MK=(ee,y)=>MA(mf.ATOMIC_OR,ee,y),BK=(ee,y)=>MA(mf.ATOMIC_XOR,ee,y);let LB;function NB(ee){LB=LB||new WeakMap;let y=LB.get(ee);return y===void 0&&LB.set(ee,y={}),y}function AF(ee){const y=NB(ee);return y.shadowMatrix||(y.shadowMatrix=Us("mat4").setGroup(pa).onRenderUpdate(E=>((ee.castShadow!==!0||E.renderer.shadowMap.enabled===!1)&&ee.shadow.updateMatrices(ee),ee.shadow.matrix)))}function G7(ee,y=iv){const E=AF(ee).mul(y);return E.xyz.div(E.w)}function xF(ee){const y=NB(ee);return y.position||(y.position=Us(new Vt).setGroup(pa).onRenderUpdate((E,z)=>z.value.setFromMatrixPosition(ee.matrixWorld)))}function X7(ee){const y=NB(ee);return y.targetPosition||(y.targetPosition=Us(new Vt).setGroup(pa).onRenderUpdate((E,z)=>z.value.setFromMatrixPosition(ee.target.matrixWorld)))}function wF(ee){const y=NB(ee);return y.viewPosition||(y.viewPosition=Us(new Vt).setGroup(pa).onRenderUpdate(({camera:E},z)=>{z.value=z.value||new Vt,z.value.setFromMatrixPosition(ee.matrixWorld),z.value.applyMatrix4(E.matrixWorldInverse)}))}const SF=ee=>Hm.transformDirection(xF(ee).sub(X7(ee))),TK=ee=>ee.sort((y,E)=>y.id-E.id),DK=(ee,y)=>{for(const E of y)if(E.isAnalyticLightNode&&E.light.id===ee)return E;return null},PF=new WeakMap,wM=[];class CF extends da{static get type(){return"LightsNode"}constructor(){super("vec3"),this.totalDiffuseNode=cy("vec3","totalDiffuse"),this.totalSpecularNode=cy("vec3","totalSpecular"),this.outgoingLightNode=cy("vec3","outgoingLight"),this._lights=[],this._lightNodes=null,this._lightNodesHash=null,this.global=!0}customCacheKey(){const y=this._lights;for(let z=0;z0}}const FK=(ee=[])=>ir(new CF).setLights(ee);class LK extends da{static get type(){return"ShadowBaseNode"}constructor(y){super(),this.light=y,this.updateBeforeType=al.RENDER,this.isShadowBaseNode=!0}setupShadowPosition({context:y,material:E}){EF.assign(E.receivedShadowPositionNode||y.shadowPositionWorld||iv)}}const EF=cy("vec3","shadowPositionWorld");function bF(ee,y={}){return y.toneMapping=ee.toneMapping,y.toneMappingExposure=ee.toneMappingExposure,y.outputColorSpace=ee.outputColorSpace,y.renderTarget=ee.getRenderTarget(),y.activeCubeFace=ee.getActiveCubeFace(),y.activeMipmapLevel=ee.getActiveMipmapLevel(),y.renderObjectFunction=ee.getRenderObjectFunction(),y.pixelRatio=ee.getPixelRatio(),y.mrt=ee.getMRT(),y.clearColor=ee.getClearColor(y.clearColor||new fo),y.clearAlpha=ee.getClearAlpha(),y.autoClear=ee.autoClear,y.scissorTest=ee.getScissorTest(),y}function W7(ee,y){return y=bF(ee,y),ee.setMRT(null),ee.setRenderObjectFunction(null),ee.setClearColor(0,1),ee.autoClear=!0,y}function Q7(ee,y){ee.toneMapping=y.toneMapping,ee.toneMappingExposure=y.toneMappingExposure,ee.outputColorSpace=y.outputColorSpace,ee.setRenderTarget(y.renderTarget,y.activeCubeFace,y.activeMipmapLevel),ee.setRenderObjectFunction(y.renderObjectFunction),ee.setPixelRatio(y.pixelRatio),ee.setMRT(y.mrt),ee.setClearColor(y.clearColor,y.clearAlpha),ee.autoClear=y.autoClear,ee.setScissorTest(y.scissorTest)}function MF(ee,y={}){return y.background=ee.background,y.backgroundNode=ee.backgroundNode,y.overrideMaterial=ee.overrideMaterial,y}function Y7(ee,y){return y=MF(ee,y),ee.background=null,ee.backgroundNode=null,ee.overrideMaterial=null,y}function Z7(ee,y){ee.background=y.background,ee.backgroundNode=y.backgroundNode,ee.overrideMaterial=y.overrideMaterial}function NK(ee,y,E={}){return E=bF(ee,E),E=MF(y,E),E}function K7(ee,y,E){return E=W7(ee,E),E=Y7(y,E),E}function J7(ee,y,E){Q7(ee,E),Z7(y,E)}var Zse=Object.freeze({__proto__:null,resetRendererAndSceneState:K7,resetRendererState:W7,resetSceneState:Y7,restoreRendererAndSceneState:J7,restoreRendererState:Q7,restoreSceneState:Z7,saveRendererAndSceneState:NK,saveRendererState:bF,saveSceneState:MF});const q7=new WeakMap,_7=Kn(({depthTexture:ee,shadowCoord:y,depthLayer:E})=>{let z=Dl(ee,y.xy).label("t_basic");return ee.isArrayTexture&&(z=z.depth(E)),z.compare(y.z)}),$7=Kn(({depthTexture:ee,shadowCoord:y,shadow:E,depthLayer:z})=>{const ne=(Re,Le)=>{let Qe=Dl(ee,Re);return ee.isArrayTexture&&(Qe=Qe.depth(z)),Qe.compare(Le)},ie=lc("mapSize","vec2",E).setGroup(pa),se=lc("radius","float",E).setGroup(pa),le=Er(1).div(ie),de=le.x.negate().mul(se),ge=le.y.negate().mul(se),ve=le.x.mul(se),xe=le.y.mul(se),Se=de.div(2),Me=ge.div(2),De=ve.div(2),Oe=xe.div(2);return Od(ne(y.xy.add(Er(de,ge)),y.z),ne(y.xy.add(Er(0,ge)),y.z),ne(y.xy.add(Er(ve,ge)),y.z),ne(y.xy.add(Er(Se,Me)),y.z),ne(y.xy.add(Er(0,Me)),y.z),ne(y.xy.add(Er(De,Me)),y.z),ne(y.xy.add(Er(de,0)),y.z),ne(y.xy.add(Er(Se,0)),y.z),ne(y.xy,y.z),ne(y.xy.add(Er(De,0)),y.z),ne(y.xy.add(Er(ve,0)),y.z),ne(y.xy.add(Er(Se,Oe)),y.z),ne(y.xy.add(Er(0,Oe)),y.z),ne(y.xy.add(Er(De,Oe)),y.z),ne(y.xy.add(Er(de,xe)),y.z),ne(y.xy.add(Er(0,xe)),y.z),ne(y.xy.add(Er(ve,xe)),y.z)).mul(1/17)}),e9=Kn(({depthTexture:ee,shadowCoord:y,shadow:E,depthLayer:z})=>{const ne=(xe,Se)=>{let Me=Dl(ee,xe);return ee.isArrayTexture&&(Me=Me.depth(z)),Me.compare(Se)},ie=lc("mapSize","vec2",E).setGroup(pa),se=Er(1).div(ie),le=se.x,de=se.y,ge=y.xy,ve=Vx(ge.mul(ie).add(.5));return ge.subAssign(ve.mul(se)),Od(ne(ge,y.z),ne(ge.add(Er(le,0)),y.z),ne(ge.add(Er(0,de)),y.z),ne(ge.add(se),y.z),yu(ne(ge.add(Er(le.negate(),0)),y.z),ne(ge.add(Er(le.mul(2),0)),y.z),ve.x),yu(ne(ge.add(Er(le.negate(),de)),y.z),ne(ge.add(Er(le.mul(2),de)),y.z),ve.x),yu(ne(ge.add(Er(0,de.negate())),y.z),ne(ge.add(Er(0,de.mul(2))),y.z),ve.y),yu(ne(ge.add(Er(le,de.negate())),y.z),ne(ge.add(Er(le,de.mul(2))),y.z),ve.y),yu(yu(ne(ge.add(Er(le.negate(),de.negate())),y.z),ne(ge.add(Er(le.mul(2),de.negate())),y.z),ve.x),yu(ne(ge.add(Er(le.negate(),de.mul(2))),y.z),ne(ge.add(Er(le.mul(2),de.mul(2))),y.z),ve.x),ve.y)).mul(1/9)}),t9=Kn(({depthTexture:ee,shadowCoord:y,depthLayer:E})=>{const z=nn(1).toVar();let ne=Dl(ee).sample(y.xy);ee.isArrayTexture&&(ne=ne.depth(E)),ne=ne.rg;const ie=K5(y.z,ne.x);return Pa(ie.notEqual(nn(1)),()=>{const se=y.z.sub(ne.x),le=Th(0,ne.y.mul(ne.y));let de=le.div(le.add(se.mul(se)));de=SA(Wl(de,.3).div(.95-.3)),z.assign(SA(Th(ie,de)))}),z}),IK=Kn(([ee,y,E])=>{let z=iv.sub(ee).length();return z=z.sub(y).div(E.sub(y)),z=z.saturate(),z}),RK=ee=>{const y=ee.shadow.camera,E=lc("near","float",y).setGroup(pa),z=lc("far","float",y).setGroup(pa),ne=YI(ee);return IK(ne,E,z)},n9=ee=>{let y=q7.get(ee);if(y===void 0){const E=ee.isPointLight?RK(ee):null;y=new Dh,y.colorNode=Qo(0,0,0,1),y.depthNode=E,y.isShadowPassMaterial=!0,y.name="ShadowMaterial",y.fog=!1,q7.set(ee,y)}return y},i9=new dy,IE=[],r9=(ee,y,E,z)=>{IE[0]=ee,IE[1]=y;let ne=i9.get(IE);return(ne===void 0||ne.shadowType!==E||ne.useVelocity!==z)&&(ne=(ie,se,le,de,ge,ve,...xe)=>{(ie.castShadow===!0||ie.receiveShadow&&E===_c)&&(z&&(A3(ie).useVelocity=!0),ie.onBeforeShadow(ee,ie,le,y.camera,de,se.overrideMaterial,ve),ee.renderObject(ie,se,le,de,ge,ve,...xe),ie.onAfterShadow(ee,ie,le,y.camera,de,se.overrideMaterial,ve))},ne.shadowType=E,ne.useVelocity=z,i9.set(IE,ne)),IE[0]=null,IE[1]=null,ne},OK=Kn(({samples:ee,radius:y,size:E,shadowPass:z,depthLayer:ne})=>{const ie=nn(0).toVar("meanVertical"),se=nn(0).toVar("squareMeanVertical"),le=ee.lessThanEqual(nn(1)).select(nn(0),nn(2).div(ee.sub(1))),de=ee.lessThanEqual(nn(1)).select(nn(0),nn(-1));zu({start:Mn(0),end:Mn(ee),type:"int",condition:"<"},({i:ve})=>{const xe=de.add(nn(ve).mul(le));let Se=z.sample(Od(lM.xy,Er(0,xe).mul(y)).div(E));z.value.isArrayTexture&&(Se=Se.depth(ne)),Se=Se.x,ie.addAssign(Se),se.addAssign(Se.mul(Se))}),ie.divAssign(ee),se.divAssign(ee);const ge=AA(se.sub(ie.mul(ie)));return Er(ie,ge)}),kK=Kn(({samples:ee,radius:y,size:E,shadowPass:z,depthLayer:ne})=>{const ie=nn(0).toVar("meanHorizontal"),se=nn(0).toVar("squareMeanHorizontal"),le=ee.lessThanEqual(nn(1)).select(nn(0),nn(2).div(ee.sub(1))),de=ee.lessThanEqual(nn(1)).select(nn(0),nn(-1));zu({start:Mn(0),end:Mn(ee),type:"int",condition:"<"},({i:ve})=>{const xe=de.add(nn(ve).mul(le));let Se=z.sample(Od(lM.xy,Er(xe,0).mul(y)).div(E));z.value.isArrayTexture&&(Se=Se.depth(ne)),ie.addAssign(Se.x),se.addAssign(Od(Se.y.mul(Se.y),Se.x.mul(Se.x)))}),ie.divAssign(ee),se.divAssign(ee);const ge=AA(se.sub(ie.mul(ie)));return Er(ie,ge)}),zK=[_7,$7,e9,t9];let BF;const IB=new vM;class o9 extends LK{static get type(){return"ShadowNode"}constructor(y,E=null){super(y),this.shadow=E||y.shadow,this.shadowMap=null,this.vsmShadowMapVertical=null,this.vsmShadowMapHorizontal=null,this.vsmMaterialVertical=null,this.vsmMaterialHorizontal=null,this._node=null,this._cameraFrameId=new WeakMap,this.isShadowNode=!0,this.depthLayer=0}setupShadowFilter(y,{filterFn:E,depthTexture:z,shadowCoord:ne,shadow:ie,depthLayer:se}){const le=ne.x.greaterThanEqual(0).and(ne.x.lessThanEqual(1)).and(ne.y.greaterThanEqual(0)).and(ne.y.lessThanEqual(1)).and(ne.z.lessThanEqual(1)),de=E({depthTexture:z,shadowCoord:ne,shadow:ie,depthLayer:se});return le.select(de,nn(1))}setupShadowCoord(y,E){const{shadow:z}=this,{renderer:ne}=y,ie=lc("bias","float",z).setGroup(pa);let se=E,le;if(z.camera.isOrthographicCamera||ne.logarithmicDepthBuffer!==!0)se=se.xyz.div(se.w),le=se.z,ne.coordinateSystem===rd&&(le=le.mul(2).sub(1));else{const de=se.w;se=se.xy.div(de);const ge=lc("near","float",z.camera).setGroup(pa),ve=lc("far","float",z.camera).setGroup(pa);le=ID(de.negate(),ge,ve)}return se=Xn(se.x,se.y.oneMinus(),le.add(ie)),se}getShadowFilterFn(y){return zK[y]}setupRenderTarget(y,E){const z=new Wo(y.mapSize.width,y.mapSize.height);z.name="ShadowDepthTexture",z.compareFunction=sl;const ne=E.createRenderTarget(y.mapSize.width,y.mapSize.height);return ne.texture.name="ShadowMap",ne.texture.type=y.mapType,ne.depthTexture=z,{shadowMap:ne,depthTexture:z}}setupShadow(y){const{renderer:E}=y,{light:z,shadow:ne}=this,ie=E.shadowMap.type,{depthTexture:se,shadowMap:le}=this.setupRenderTarget(ne,y);if(ne.camera.updateProjectionMatrix(),ie===_c&&ne.isPointLightShadow!==!0){se.compareFunction=null,le.depth>1?(le._vsmShadowMapVertical||(le._vsmShadowMapVertical=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depth:le.depth,depthBuffer:!1}),le._vsmShadowMapVertical.texture.name="VSMVertical"),this.vsmShadowMapVertical=le._vsmShadowMapVertical,le._vsmShadowMapHorizontal||(le._vsmShadowMapHorizontal=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depth:le.depth,depthBuffer:!1}),le._vsmShadowMapHorizontal.texture.name="VSMHorizontal"),this.vsmShadowMapHorizontal=le._vsmShadowMapHorizontal):(this.vsmShadowMapVertical=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depthBuffer:!1}),this.vsmShadowMapHorizontal=y.createRenderTarget(ne.mapSize.width,ne.mapSize.height,{format:Qg,type:mc,depthBuffer:!1}));let Le=Dl(se);se.isArrayTexture&&(Le=Le.depth(this.depthLayer));let Qe=Dl(this.vsmShadowMapVertical.texture);se.isArrayTexture&&(Qe=Qe.depth(this.depthLayer));const Xe=lc("blurSamples","float",ne).setGroup(pa),Ze=lc("radius","float",ne).setGroup(pa),it=lc("mapSize","vec2",ne).setGroup(pa);let et=this.vsmMaterialVertical||(this.vsmMaterialVertical=new Dh);et.fragmentNode=OK({samples:Xe,radius:Ze,size:it,shadowPass:Le,depthLayer:this.depthLayer}).context(y.getSharedContext()),et.name="VSMVertical",et=this.vsmMaterialHorizontal||(this.vsmMaterialHorizontal=new Dh),et.fragmentNode=kK({samples:Xe,radius:Ze,size:it,shadowPass:Qe,depthLayer:this.depthLayer}).context(y.getSharedContext()),et.name="VSMHorizontal"}const de=lc("intensity","float",ne).setGroup(pa),ge=lc("normalBias","float",ne).setGroup(pa),ve=AF(z).mul(EF.add(Sw.mul(ge))),xe=this.setupShadowCoord(y,ve),Se=ne.filterNode||this.getShadowFilterFn(E.shadowMap.type)||null;if(Se===null)throw new Error("THREE.WebGPURenderer: Shadow map type not supported yet.");const Me=ie===_c&&ne.isPointLightShadow!==!0?this.vsmShadowMapHorizontal.texture:se,De=this.setupShadowFilter(y,{filterFn:Se,shadowTexture:le.texture,depthTexture:Me,shadowCoord:xe,shadow:ne,depthLayer:this.depthLayer});let Oe=Dl(le.texture,xe);se.isArrayTexture&&(Oe=Oe.depth(this.depthLayer));const Re=yu(1,De.rgb.mix(Oe,1),de.mul(Oe.a)).toVar();return this.shadowMap=le,this.shadow.map=le,Re}setup(y){if(y.renderer.shadowMap.enabled!==!1)return Kn(()=>{let E=this._node;return this.setupShadowPosition(y),E===null&&(this._node=E=this.setupShadow(y)),y.material.shadowNode&&console.warn('THREE.NodeMaterial: ".shadowNode" is deprecated. Use ".castShadowNode" instead.'),y.material.receivedShadowNode&&(E=y.material.receivedShadowNode(E)),E})()}renderShadow(y){const{shadow:E,shadowMap:z,light:ne}=this,{renderer:ie,scene:se}=y;E.updateMatrices(ne),z.setSize(E.mapSize.width,E.mapSize.height,z.depth),ie.render(se,E.camera)}updateShadow(y){const{shadowMap:E,light:z,shadow:ne}=this,{renderer:ie,scene:se,camera:le}=y,de=ie.shadowMap.type,ge=E.depthTexture.version;this._depthVersionCached=ge;const ve=ne.camera.layers.mask;ne.camera.layers.mask&4294967294||(ne.camera.layers.mask=le.layers.mask);const xe=ie.getRenderObjectFunction(),Se=ie.getMRT(),Me=Se?Se.has("velocity"):!1;BF=K7(ie,se,BF),se.overrideMaterial=n9(z),ie.setRenderObjectFunction(r9(ie,ne,de,Me)),ie.setClearColor(0,0),ie.setRenderTarget(E),this.renderShadow(y),ie.setRenderObjectFunction(xe),de===_c&&ne.isPointLightShadow!==!0&&this.vsmPass(ie),ne.camera.layers.mask=ve,J7(ie,se,BF)}vsmPass(y){const{shadow:E}=this,z=this.shadowMap.depth;this.vsmShadowMapVertical.setSize(E.mapSize.width,E.mapSize.height,z),this.vsmShadowMapHorizontal.setSize(E.mapSize.width,E.mapSize.height,z),y.setRenderTarget(this.vsmShadowMapVertical),IB.material=this.vsmMaterialVertical,IB.render(y),y.setRenderTarget(this.vsmShadowMapHorizontal),IB.material=this.vsmMaterialHorizontal,IB.render(y)}dispose(){this.shadowMap.dispose(),this.shadowMap=null,this.vsmShadowMapVertical!==null&&(this.vsmShadowMapVertical.dispose(),this.vsmShadowMapVertical=null,this.vsmMaterialVertical.dispose(),this.vsmMaterialVertical=null),this.vsmShadowMapHorizontal!==null&&(this.vsmShadowMapHorizontal.dispose(),this.vsmShadowMapHorizontal=null,this.vsmMaterialHorizontal.dispose(),this.vsmMaterialHorizontal=null),super.dispose()}updateBefore(y){const{shadow:E}=this;let z=E.needsUpdate||E.autoUpdate;z&&(this._cameraFrameId[y.camera]===y.frameId&&(z=!1),this._cameraFrameId[y.camera]=y.frameId),z&&(this.updateShadow(y),this.shadowMap.depthTexture.version===this._depthVersionCached&&(E.needsUpdate=!1))}}const s9=(ee,y)=>ir(new o9(ee,y)),HK=new fo,fy=Kn(([ee,y])=>{const E=ee.toVar(),z=xc(E),ne=_0(1,Th(z.x,Th(z.y,z.z)));z.mulAssign(ne),E.mulAssign(ne.mul(y.mul(2).oneMinus()));const ie=Er(E.xy).toVar(),le=y.mul(1.5).oneMinus();return Pa(z.z.greaterThanEqual(le),()=>{Pa(E.z.greaterThan(0),()=>{ie.x.assign(Wl(4,E.x))})}).ElseIf(z.x.greaterThanEqual(le),()=>{const de=q2(E.x);ie.x.assign(E.z.mul(de).add(de.mul(2)))}).ElseIf(z.y.greaterThanEqual(le),()=>{const de=q2(E.y);ie.x.assign(E.x.add(de.mul(2)).add(2)),ie.y.assign(E.z.mul(de).sub(2))}),Er(.125,.25).mul(ie).add(Er(.375,.75)).flipY()}).setLayout({name:"cubeToUV",type:"vec2",inputs:[{name:"pos",type:"vec3"},{name:"texelSizeY",type:"float"}]}),a9=Kn(({depthTexture:ee,bd3D:y,dp:E,texelSize:z})=>Dl(ee,fy(y,z.y)).compare(E)),l9=Kn(({depthTexture:ee,bd3D:y,dp:E,texelSize:z,shadow:ne})=>{const ie=lc("radius","float",ne).setGroup(pa),se=Er(-1,1).mul(ie).mul(z.y);return Dl(ee,fy(y.add(se.xyy),z.y)).compare(E).add(Dl(ee,fy(y.add(se.yyy),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.xyx),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.yyx),z.y)).compare(E)).add(Dl(ee,fy(y,z.y)).compare(E)).add(Dl(ee,fy(y.add(se.xxy),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.yxy),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.xxx),z.y)).compare(E)).add(Dl(ee,fy(y.add(se.yxx),z.y)).compare(E)).mul(1/9)}),UK=Kn(({filterFn:ee,depthTexture:y,shadowCoord:E,shadow:z})=>{const ne=E.xyz.toVar(),ie=ne.length(),se=Us("float").setGroup(pa).onRenderUpdate(()=>z.camera.near),le=Us("float").setGroup(pa).onRenderUpdate(()=>z.camera.far),de=lc("bias","float",z).setGroup(pa),ge=Us(z.mapSize).setGroup(pa),ve=nn(1).toVar();return Pa(ie.sub(le).lessThanEqual(0).and(ie.sub(se).greaterThanEqual(0)),()=>{const xe=ie.sub(se).div(le.sub(se)).toVar();xe.addAssign(de);const Se=ne.normalize(),Me=Er(1).div(ge.mul(Er(4,2)));ve.assign(ee({depthTexture:y,bd3D:Se,dp:xe,texelSize:Me,shadow:z}))}),ve}),u9=new Ks,RE=new ki,SM=new ki;class VK extends o9{static get type(){return"PointShadowNode"}constructor(y,E=null){super(y,E)}getShadowFilterFn(y){return y===h1?a9:l9}setupShadowCoord(y,E){return E}setupShadowFilter(y,{filterFn:E,shadowTexture:z,depthTexture:ne,shadowCoord:ie,shadow:se}){return UK({filterFn:E,shadowTexture:z,depthTexture:ne,shadowCoord:ie,shadow:se})}renderShadow(y){const{shadow:E,shadowMap:z,light:ne}=this,{renderer:ie,scene:se}=y,le=E.getFrameExtents();SM.copy(E.mapSize),SM.multiply(le),z.setSize(SM.width,SM.height),RE.copy(E.mapSize);const de=ie.autoClear,ge=ie.getClearColor(HK),ve=ie.getClearAlpha();ie.autoClear=!1,ie.setClearColor(E.clearColor,E.clearAlpha),ie.clear();const xe=E.getViewportCount();for(let Se=0;Seir(new VK(ee,y));class vP extends EE{static get type(){return"AnalyticLightNode"}constructor(y=null){super(),this.light=y,this.color=new fo,this.colorNode=y&&y.colorNode||Us(this.color).setGroup(pa),this.baseColorNode=null,this.shadowNode=null,this.shadowColorNode=null,this.isAnalyticLightNode=!0,this.updateType=al.FRAME}getHash(){return this.light.uuid}getLightVector(y){return wF(this.light).sub(y.context.positionView||_h)}setupDirect(){}setupDirectRectArea(){}setupShadowNode(){return s9(this.light)}setupShadow(y){const{renderer:E}=y;if(E.shadowMap.enabled===!1)return;let z=this.shadowColorNode;if(z===null){const ne=this.light.shadow.shadowNode;let ie;ne!==void 0?ie=ir(ne):ie=this.setupShadowNode(),this.shadowNode=ie,this.shadowColorNode=z=this.colorNode.mul(ie),this.baseColorNode=this.colorNode}this.colorNode=z}setup(y){this.colorNode=this.baseColorNode||this.colorNode,this.light.castShadow?y.object.receiveShadow&&this.setupShadow(y):this.shadowNode!==null&&(this.shadowNode.dispose(),this.shadowNode=null,this.shadowColorNode=null);const E=this.setupDirect(y),z=this.setupDirectRectArea(y);E&&y.lightsNode.setupDirectLight(y,this,E),z&&y.lightsNode.setupDirectRectAreaLight(y,this,z)}update(){const{light:y}=this;this.color.copy(y.color).multiplyScalar(y.intensity)}}const TF=Kn(({lightDistance:ee,cutoffDistance:y,decayExponent:E})=>{const z=ee.pow(E).max(.01).reciprocal();return y.greaterThan(0).select(z.mul(ee.div(y).pow4().oneMinus().clamp().pow2()),z)}),h9=({color:ee,lightVector:y,cutoffDistance:E,decayExponent:z})=>{const ne=y.normalize(),ie=y.length(),se=TF({lightDistance:ie,cutoffDistance:E,decayExponent:z}),le=ee.mul(se);return{lightDirection:ne,lightColor:le}};class jK extends vP{static get type(){return"PointLightNode"}constructor(y=null){super(y),this.cutoffDistanceNode=Us(0).setGroup(pa),this.decayExponentNode=Us(2).setGroup(pa)}update(y){const{light:E}=this;super.update(y),this.cutoffDistanceNode.value=E.distance,this.decayExponentNode.value=E.decay}setupShadowNode(){return c9(this.light)}setupDirect(y){return h9({color:this.colorNode,lightVector:this.getLightVector(y),cutoffDistance:this.cutoffDistanceNode,decayExponent:this.decayExponentNode})}}const GK=Kn(([ee=wc()])=>{const y=ee.mul(2),E=y.x.floor(),z=y.y.floor();return E.add(z).mod(2).sign()}),XK=Kn(([ee=wc()],{renderer:y,material:E})=>{const z=q3(ee.mul(2).sub(1));let ne;if(E.alphaToCoverage&&y.samples>1){const ie=nn(z.fwidth()).toVar();ne=$0(ie.oneMinus(),ie.add(1),z).oneMinus()}else ne=jf(z.greaterThan(1),0,1);return ne}),PM=Kn(([ee,y,E])=>{const z=nn(E).toVar(),ne=nn(y).toVar(),ie=mA(ee).toVar();return jf(ie,ne,z)}).setLayout({name:"mx_select",type:"float",inputs:[{name:"b",type:"bool"},{name:"t",type:"float"},{name:"f",type:"float"}]}),RB=Kn(([ee,y])=>{const E=mA(y).toVar(),z=nn(ee).toVar();return jf(E,z.negate(),z)}).setLayout({name:"mx_negate_if",type:"float",inputs:[{name:"val",type:"float"},{name:"b",type:"bool"}]}),gd=Kn(([ee])=>{const y=nn(ee).toVar();return Mn(xA(y))}).setLayout({name:"mx_floor",type:"int",inputs:[{name:"x",type:"float"}]}),Wc=Kn(([ee,y])=>{const E=nn(ee).toVar();return y.assign(gd(E)),E.sub(nn(y))}),d9=ug([Kn(([ee,y,E,z,ne,ie])=>{const se=nn(ie).toVar(),le=nn(ne).toVar(),de=nn(z).toVar(),ge=nn(E).toVar(),ve=nn(y).toVar(),xe=nn(ee).toVar(),Se=nn(Wl(1,le)).toVar();return Wl(1,se).mul(xe.mul(Se).add(ve.mul(le))).add(se.mul(ge.mul(Se).add(de.mul(le))))}).setLayout({name:"mx_bilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"}]}),Kn(([ee,y,E,z,ne,ie])=>{const se=nn(ie).toVar(),le=nn(ne).toVar(),de=Xn(z).toVar(),ge=Xn(E).toVar(),ve=Xn(y).toVar(),xe=Xn(ee).toVar(),Se=nn(Wl(1,le)).toVar();return Wl(1,se).mul(xe.mul(Se).add(ve.mul(le))).add(se.mul(ge.mul(Se).add(de.mul(le))))}).setLayout({name:"mx_bilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"}]})]),f9=ug([Kn(([ee,y,E,z,ne,ie,se,le,de,ge,ve])=>{const xe=nn(ve).toVar(),Se=nn(ge).toVar(),Me=nn(de).toVar(),De=nn(le).toVar(),Oe=nn(se).toVar(),Re=nn(ie).toVar(),Le=nn(ne).toVar(),Qe=nn(z).toVar(),Xe=nn(E).toVar(),Ze=nn(y).toVar(),it=nn(ee).toVar(),et=nn(Wl(1,Me)).toVar(),ht=nn(Wl(1,Se)).toVar();return nn(Wl(1,xe)).toVar().mul(ht.mul(it.mul(et).add(Ze.mul(Me))).add(Se.mul(Xe.mul(et).add(Qe.mul(Me))))).add(xe.mul(ht.mul(Le.mul(et).add(Re.mul(Me))).add(Se.mul(Oe.mul(et).add(De.mul(Me))))))}).setLayout({name:"mx_trilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"v4",type:"float"},{name:"v5",type:"float"},{name:"v6",type:"float"},{name:"v7",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),Kn(([ee,y,E,z,ne,ie,se,le,de,ge,ve])=>{const xe=nn(ve).toVar(),Se=nn(ge).toVar(),Me=nn(de).toVar(),De=Xn(le).toVar(),Oe=Xn(se).toVar(),Re=Xn(ie).toVar(),Le=Xn(ne).toVar(),Qe=Xn(z).toVar(),Xe=Xn(E).toVar(),Ze=Xn(y).toVar(),it=Xn(ee).toVar(),et=nn(Wl(1,Me)).toVar(),ht=nn(Wl(1,Se)).toVar();return nn(Wl(1,xe)).toVar().mul(ht.mul(it.mul(et).add(Ze.mul(Me))).add(Se.mul(Xe.mul(et).add(Qe.mul(Me))))).add(xe.mul(ht.mul(Le.mul(et).add(Re.mul(Me))).add(Se.mul(Oe.mul(et).add(De.mul(Me))))))}).setLayout({name:"mx_trilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"v4",type:"vec3"},{name:"v5",type:"vec3"},{name:"v6",type:"vec3"},{name:"v7",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]})]),Gf=ug([Kn(([ee,y,E])=>{const z=nn(E).toVar(),ne=nn(y).toVar(),ie=Ho(ee).toVar(),se=Ho(ie.bitAnd(Ho(7))).toVar(),le=nn(PM(se.lessThan(Ho(4)),ne,z)).toVar(),de=nn(il(2,PM(se.lessThan(Ho(4)),z,ne))).toVar();return RB(le,mA(se.bitAnd(Ho(1)))).add(RB(de,mA(se.bitAnd(Ho(2)))))}).setLayout({name:"mx_gradient_float_0",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"}]}),Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=nn(y).toVar(),le=Ho(ee).toVar(),de=Ho(le.bitAnd(Ho(15))).toVar(),ge=nn(PM(de.lessThan(Ho(8)),se,ie)).toVar(),ve=nn(PM(de.lessThan(Ho(4)),ie,PM(de.equal(Ho(12)).or(de.equal(Ho(14))),se,ne))).toVar();return RB(ge,mA(de.bitAnd(Ho(1)))).add(RB(ve,mA(de.bitAnd(Ho(2)))))}).setLayout({name:"mx_gradient_float_1",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),sv=ug([Kn(([ee,y,E])=>{const z=nn(E).toVar(),ne=nn(y).toVar(),ie=vE(ee).toVar();return Xn(Gf(ie.x,ne,z),Gf(ie.y,ne,z),Gf(ie.z,ne,z))}).setLayout({name:"mx_gradient_vec3_0",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"}]}),Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=nn(y).toVar(),le=vE(ee).toVar();return Xn(Gf(le.x,se,ie,ne),Gf(le.y,se,ie,ne),Gf(le.z,se,ie,ne))}).setLayout({name:"mx_gradient_vec3_1",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),WK=Kn(([ee])=>{const y=nn(ee).toVar();return il(.6616,y)}).setLayout({name:"mx_gradient_scale2d_0",type:"float",inputs:[{name:"v",type:"float"}]}),QK=Kn(([ee])=>{const y=nn(ee).toVar();return il(.982,y)}).setLayout({name:"mx_gradient_scale3d_0",type:"float",inputs:[{name:"v",type:"float"}]}),g9=ug([WK,Kn(([ee])=>{const y=Xn(ee).toVar();return il(.6616,y)}).setLayout({name:"mx_gradient_scale2d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),p9=ug([QK,Kn(([ee])=>{const y=Xn(ee).toVar();return il(.982,y)}).setLayout({name:"mx_gradient_scale3d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),Vm=Kn(([ee,y])=>{const E=Mn(y).toVar(),z=Ho(ee).toVar();return z.shiftLeft(E).bitOr(z.shiftRight(Mn(32).sub(E)))}).setLayout({name:"mx_rotl32",type:"uint",inputs:[{name:"x",type:"uint"},{name:"k",type:"int"}]}),m9=Kn(([ee,y,E])=>{ee.subAssign(E),ee.bitXorAssign(Vm(E,Mn(4))),E.addAssign(y),y.subAssign(ee),y.bitXorAssign(Vm(ee,Mn(6))),ee.addAssign(E),E.subAssign(y),E.bitXorAssign(Vm(y,Mn(8))),y.addAssign(ee),ee.subAssign(E),ee.bitXorAssign(Vm(E,Mn(16))),E.addAssign(y),y.subAssign(ee),y.bitXorAssign(Vm(ee,Mn(19))),ee.addAssign(E),E.subAssign(y),E.bitXorAssign(Vm(y,Mn(4))),y.addAssign(ee)}),CM=Kn(([ee,y,E])=>{const z=Ho(E).toVar(),ne=Ho(y).toVar(),ie=Ho(ee).toVar();return z.bitXorAssign(ne),z.subAssign(Vm(ne,Mn(14))),ie.bitXorAssign(z),ie.subAssign(Vm(z,Mn(11))),ne.bitXorAssign(ie),ne.subAssign(Vm(ie,Mn(25))),z.bitXorAssign(ne),z.subAssign(Vm(ne,Mn(16))),ie.bitXorAssign(z),ie.subAssign(Vm(z,Mn(4))),ne.bitXorAssign(ie),ne.subAssign(Vm(ie,Mn(14))),z.bitXorAssign(ne),z.subAssign(Vm(ne,Mn(24))),z}).setLayout({name:"mx_bjfinal",type:"uint",inputs:[{name:"a",type:"uint"},{name:"b",type:"uint"},{name:"c",type:"uint"}]}),zg=Kn(([ee])=>{const y=Ho(ee).toVar();return nn(y).div(nn(Ho(Mn(4294967295))))}).setLayout({name:"mx_bits_to_01",type:"float",inputs:[{name:"bits",type:"uint"}]}),BA=Kn(([ee])=>{const y=nn(ee).toVar();return y.mul(y).mul(y).mul(y.mul(y.mul(6).sub(15)).add(10))}).setLayout({name:"mx_fade",type:"float",inputs:[{name:"t",type:"float"}]}),Wu=ug([Kn(([ee])=>{const y=Mn(ee).toVar(),E=Ho(Ho(1)).toVar(),z=Ho(Ho(Mn(3735928559)).add(E.shiftLeft(Ho(2))).add(Ho(13))).toVar();return CM(z.add(Ho(y)),z,z)}).setLayout({name:"mx_hash_int_0",type:"uint",inputs:[{name:"x",type:"int"}]}),Kn(([ee,y])=>{const E=Mn(y).toVar(),z=Mn(ee).toVar(),ne=Ho(Ho(2)).toVar(),ie=Ho().toVar(),se=Ho().toVar(),le=Ho().toVar();return ie.assign(se.assign(le.assign(Ho(Mn(3735928559)).add(ne.shiftLeft(Ho(2))).add(Ho(13))))),ie.addAssign(Ho(z)),se.addAssign(Ho(E)),CM(ie,se,le)}).setLayout({name:"mx_hash_int_1",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=Mn(y).toVar(),ie=Mn(ee).toVar(),se=Ho(Ho(3)).toVar(),le=Ho().toVar(),de=Ho().toVar(),ge=Ho().toVar();return le.assign(de.assign(ge.assign(Ho(Mn(3735928559)).add(se.shiftLeft(Ho(2))).add(Ho(13))))),le.addAssign(Ho(ie)),de.addAssign(Ho(ne)),ge.addAssign(Ho(z)),CM(le,de,ge)}).setLayout({name:"mx_hash_int_2",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),Kn(([ee,y,E,z])=>{const ne=Mn(z).toVar(),ie=Mn(E).toVar(),se=Mn(y).toVar(),le=Mn(ee).toVar(),de=Ho(Ho(4)).toVar(),ge=Ho().toVar(),ve=Ho().toVar(),xe=Ho().toVar();return ge.assign(ve.assign(xe.assign(Ho(Mn(3735928559)).add(de.shiftLeft(Ho(2))).add(Ho(13))))),ge.addAssign(Ho(le)),ve.addAssign(Ho(se)),xe.addAssign(Ho(ie)),m9(ge,ve,xe),ge.addAssign(Ho(ne)),CM(ge,ve,xe)}).setLayout({name:"mx_hash_int_3",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"}]}),Kn(([ee,y,E,z,ne])=>{const ie=Mn(ne).toVar(),se=Mn(z).toVar(),le=Mn(E).toVar(),de=Mn(y).toVar(),ge=Mn(ee).toVar(),ve=Ho(Ho(5)).toVar(),xe=Ho().toVar(),Se=Ho().toVar(),Me=Ho().toVar();return xe.assign(Se.assign(Me.assign(Ho(Mn(3735928559)).add(ve.shiftLeft(Ho(2))).add(Ho(13))))),xe.addAssign(Ho(ge)),Se.addAssign(Ho(de)),Me.addAssign(Ho(le)),m9(xe,Se,Me),xe.addAssign(Ho(se)),Se.addAssign(Ho(ie)),CM(xe,Se,Me)}).setLayout({name:"mx_hash_int_4",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"},{name:"yy",type:"int"}]})]),av=ug([Kn(([ee,y])=>{const E=Mn(y).toVar(),z=Mn(ee).toVar(),ne=Ho(Wu(z,E)).toVar(),ie=vE().toVar();return ie.x.assign(ne.bitAnd(Mn(255))),ie.y.assign(ne.shiftRight(Mn(8)).bitAnd(Mn(255))),ie.z.assign(ne.shiftRight(Mn(16)).bitAnd(Mn(255))),ie}).setLayout({name:"mx_hash_vec3_0",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=Mn(y).toVar(),ie=Mn(ee).toVar(),se=Ho(Wu(ie,ne,z)).toVar(),le=vE().toVar();return le.x.assign(se.bitAnd(Mn(255))),le.y.assign(se.shiftRight(Mn(8)).bitAnd(Mn(255))),le.z.assign(se.shiftRight(Mn(16)).bitAnd(Mn(255))),le}).setLayout({name:"mx_hash_vec3_1",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]})]),DF=ug([Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=nn(Wc(y.x,E)).toVar(),ie=nn(Wc(y.y,z)).toVar(),se=nn(BA(ne)).toVar(),le=nn(BA(ie)).toVar(),de=nn(d9(Gf(Wu(E,z),ne,ie),Gf(Wu(E.add(Mn(1)),z),ne.sub(1),ie),Gf(Wu(E,z.add(Mn(1))),ne,ie.sub(1)),Gf(Wu(E.add(Mn(1)),z.add(Mn(1))),ne.sub(1),ie.sub(1)),se,le)).toVar();return g9(de)}).setLayout({name:"mx_perlin_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=Mn().toVar(),ie=nn(Wc(y.x,E)).toVar(),se=nn(Wc(y.y,z)).toVar(),le=nn(Wc(y.z,ne)).toVar(),de=nn(BA(ie)).toVar(),ge=nn(BA(se)).toVar(),ve=nn(BA(le)).toVar(),xe=nn(f9(Gf(Wu(E,z,ne),ie,se,le),Gf(Wu(E.add(Mn(1)),z,ne),ie.sub(1),se,le),Gf(Wu(E,z.add(Mn(1)),ne),ie,se.sub(1),le),Gf(Wu(E.add(Mn(1)),z.add(Mn(1)),ne),ie.sub(1),se.sub(1),le),Gf(Wu(E,z,ne.add(Mn(1))),ie,se,le.sub(1)),Gf(Wu(E.add(Mn(1)),z,ne.add(Mn(1))),ie.sub(1),se,le.sub(1)),Gf(Wu(E,z.add(Mn(1)),ne.add(Mn(1))),ie,se.sub(1),le.sub(1)),Gf(Wu(E.add(Mn(1)),z.add(Mn(1)),ne.add(Mn(1))),ie.sub(1),se.sub(1),le.sub(1)),de,ge,ve)).toVar();return p9(xe)}).setLayout({name:"mx_perlin_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"}]})]),FF=ug([Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=nn(Wc(y.x,E)).toVar(),ie=nn(Wc(y.y,z)).toVar(),se=nn(BA(ne)).toVar(),le=nn(BA(ie)).toVar(),de=Xn(d9(sv(av(E,z),ne,ie),sv(av(E.add(Mn(1)),z),ne.sub(1),ie),sv(av(E,z.add(Mn(1))),ne,ie.sub(1)),sv(av(E.add(Mn(1)),z.add(Mn(1))),ne.sub(1),ie.sub(1)),se,le)).toVar();return g9(de)}).setLayout({name:"mx_perlin_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn().toVar(),z=Mn().toVar(),ne=Mn().toVar(),ie=nn(Wc(y.x,E)).toVar(),se=nn(Wc(y.y,z)).toVar(),le=nn(Wc(y.z,ne)).toVar(),de=nn(BA(ie)).toVar(),ge=nn(BA(se)).toVar(),ve=nn(BA(le)).toVar(),xe=Xn(f9(sv(av(E,z,ne),ie,se,le),sv(av(E.add(Mn(1)),z,ne),ie.sub(1),se,le),sv(av(E,z.add(Mn(1)),ne),ie,se.sub(1),le),sv(av(E.add(Mn(1)),z.add(Mn(1)),ne),ie.sub(1),se.sub(1),le),sv(av(E,z,ne.add(Mn(1))),ie,se,le.sub(1)),sv(av(E.add(Mn(1)),z,ne.add(Mn(1))),ie.sub(1),se,le.sub(1)),sv(av(E,z.add(Mn(1)),ne.add(Mn(1))),ie,se.sub(1),le.sub(1)),sv(av(E.add(Mn(1)),z.add(Mn(1)),ne.add(Mn(1))),ie.sub(1),se.sub(1),le.sub(1)),de,ge,ve)).toVar();return p9(xe)}).setLayout({name:"mx_perlin_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"}]})]),YK=ug([Kn(([ee])=>{const y=nn(ee).toVar(),E=Mn(gd(y)).toVar();return zg(Wu(E))}).setLayout({name:"mx_cell_noise_float_0",type:"float",inputs:[{name:"p",type:"float"}]}),Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar();return zg(Wu(E,z))}).setLayout({name:"mx_cell_noise_float_1",type:"float",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar();return zg(Wu(E,z,ne))}).setLayout({name:"mx_cell_noise_float_2",type:"float",inputs:[{name:"p",type:"vec3"}]}),Kn(([ee])=>{const y=Qo(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar(),ie=Mn(gd(y.w)).toVar();return zg(Wu(E,z,ne,ie))}).setLayout({name:"mx_cell_noise_float_3",type:"float",inputs:[{name:"p",type:"vec4"}]})]),v9=ug([Kn(([ee])=>{const y=nn(ee).toVar(),E=Mn(gd(y)).toVar();return Xn(zg(Wu(E,Mn(0))),zg(Wu(E,Mn(1))),zg(Wu(E,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"float"}]}),Kn(([ee])=>{const y=Er(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar();return Xn(zg(Wu(E,z,Mn(0))),zg(Wu(E,z,Mn(1))),zg(Wu(E,z,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),Kn(([ee])=>{const y=Xn(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar();return Xn(zg(Wu(E,z,ne,Mn(0))),zg(Wu(E,z,ne,Mn(1))),zg(Wu(E,z,ne,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_2",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),Kn(([ee])=>{const y=Qo(ee).toVar(),E=Mn(gd(y.x)).toVar(),z=Mn(gd(y.y)).toVar(),ne=Mn(gd(y.z)).toVar(),ie=Mn(gd(y.w)).toVar();return Xn(zg(Wu(E,z,ne,ie,Mn(0))),zg(Wu(E,z,ne,ie,Mn(1))),zg(Wu(E,z,ne,ie,Mn(2))))}).setLayout({name:"mx_cell_noise_vec3_3",type:"vec3",inputs:[{name:"p",type:"vec4"}]})]),OB=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar(),de=nn(0).toVar(),ge=nn(1).toVar();return zu(se,()=>{de.addAssign(ge.mul(DF(le))),ge.mulAssign(ne),le.mulAssign(ie)}),de}).setLayout({name:"mx_fractal_noise_float",type:"float",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),y9=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar(),de=Xn(0).toVar(),ge=nn(1).toVar();return zu(se,()=>{de.addAssign(ge.mul(FF(le))),ge.mulAssign(ne),le.mulAssign(ie)}),de}).setLayout({name:"mx_fractal_noise_vec3",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),ZK=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar();return Er(OB(le,se,ie,ne),OB(le.add(Xn(Mn(19),Mn(193),Mn(17))),se,ie,ne))}).setLayout({name:"mx_fractal_noise_vec2",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),KK=Kn(([ee,y,E,z])=>{const ne=nn(z).toVar(),ie=nn(E).toVar(),se=Mn(y).toVar(),le=Xn(ee).toVar(),de=Xn(y9(le,se,ie,ne)).toVar(),ge=nn(OB(le.add(Xn(Mn(19),Mn(193),Mn(17))),se,ie,ne)).toVar();return Qo(de,ge)}).setLayout({name:"mx_fractal_noise_vec4",type:"vec4",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),OE=ug([Kn(([ee,y,E,z,ne,ie,se])=>{const le=Mn(se).toVar(),de=nn(ie).toVar(),ge=Mn(ne).toVar(),ve=Mn(z).toVar(),xe=Mn(E).toVar(),Se=Mn(y).toVar(),Me=Er(ee).toVar(),De=Xn(v9(Er(Se.add(ve),xe.add(ge)))).toVar(),Oe=Er(De.x,De.y).toVar();Oe.subAssign(.5),Oe.mulAssign(de),Oe.addAssign(.5);const Re=Er(Er(nn(Se),nn(xe)).add(Oe)).toVar(),Le=Er(Re.sub(Me)).toVar();return Pa(le.equal(Mn(2)),()=>xc(Le.x).add(xc(Le.y))),Pa(le.equal(Mn(3)),()=>Th(xc(Le.x),xc(Le.y))),xw(Le,Le)}).setLayout({name:"mx_worley_distance_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Kn(([ee,y,E,z,ne,ie,se,le,de])=>{const ge=Mn(de).toVar(),ve=nn(le).toVar(),xe=Mn(se).toVar(),Se=Mn(ie).toVar(),Me=Mn(ne).toVar(),De=Mn(z).toVar(),Oe=Mn(E).toVar(),Re=Mn(y).toVar(),Le=Xn(ee).toVar(),Qe=Xn(v9(Xn(Re.add(Me),Oe.add(Se),De.add(xe)))).toVar();Qe.subAssign(.5),Qe.mulAssign(ve),Qe.addAssign(.5);const Xe=Xn(Xn(nn(Re),nn(Oe),nn(De)).add(Qe)).toVar(),Ze=Xn(Xe.sub(Le)).toVar();return Pa(ge.equal(Mn(2)),()=>xc(Ze.x).add(xc(Ze.y)).add(xc(Ze.z))),Pa(ge.equal(Mn(3)),()=>Th(xc(Ze.x),xc(Ze.y),xc(Ze.z))),xw(Ze,Ze)}).setLayout({name:"mx_worley_distance_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"zoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),JK=Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Er(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Er(Wc(ie.x,se),Wc(ie.y,le)).toVar(),ge=nn(1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:ve})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:xe})=>{const Se=nn(OE(de,ve,xe,se,le,ne,z)).toVar();ge.assign(Xp(ge,Se))})}),Pa(z.equal(Mn(0)),()=>{ge.assign(AA(ge))}),ge}).setLayout({name:"mx_worley_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),qK=Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Er(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Er(Wc(ie.x,se),Wc(ie.y,le)).toVar(),ge=Er(1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:ve})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:xe})=>{const Se=nn(OE(de,ve,xe,se,le,ne,z)).toVar();Pa(Se.lessThan(ge.x),()=>{ge.y.assign(ge.x),ge.x.assign(Se)}).ElseIf(Se.lessThan(ge.y),()=>{ge.y.assign(Se)})})}),Pa(z.equal(Mn(0)),()=>{ge.assign(AA(ge))}),ge}).setLayout({name:"mx_worley_noise_vec2_0",type:"vec2",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),_K=Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Er(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Er(Wc(ie.x,se),Wc(ie.y,le)).toVar(),ge=Xn(1e6,1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:ve})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:xe})=>{const Se=nn(OE(de,ve,xe,se,le,ne,z)).toVar();Pa(Se.lessThan(ge.x),()=>{ge.z.assign(ge.y),ge.y.assign(ge.x),ge.x.assign(Se)}).ElseIf(Se.lessThan(ge.y),()=>{ge.z.assign(ge.y),ge.y.assign(Se)}).ElseIf(Se.lessThan(ge.z),()=>{ge.z.assign(Se)})})}),Pa(z.equal(Mn(0)),()=>{ge.assign(AA(ge))}),ge}).setLayout({name:"mx_worley_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),$K=ug([JK,Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Xn(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Mn().toVar(),ge=Xn(Wc(ie.x,se),Wc(ie.y,le),Wc(ie.z,de)).toVar(),ve=nn(1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:xe})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:Se})=>{zu({start:-1,end:Mn(1),name:"z",condition:"<="},({z:Me})=>{const De=nn(OE(ge,xe,Se,Me,se,le,de,ne,z)).toVar();ve.assign(Xp(ve,De))})})}),Pa(z.equal(Mn(0)),()=>{ve.assign(AA(ve))}),ve}).setLayout({name:"mx_worley_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),eJ=ug([qK,Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Xn(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Mn().toVar(),ge=Xn(Wc(ie.x,se),Wc(ie.y,le),Wc(ie.z,de)).toVar(),ve=Er(1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:xe})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:Se})=>{zu({start:-1,end:Mn(1),name:"z",condition:"<="},({z:Me})=>{const De=nn(OE(ge,xe,Se,Me,se,le,de,ne,z)).toVar();Pa(De.lessThan(ve.x),()=>{ve.y.assign(ve.x),ve.x.assign(De)}).ElseIf(De.lessThan(ve.y),()=>{ve.y.assign(De)})})})}),Pa(z.equal(Mn(0)),()=>{ve.assign(AA(ve))}),ve}).setLayout({name:"mx_worley_noise_vec2_1",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),tJ=ug([_K,Kn(([ee,y,E])=>{const z=Mn(E).toVar(),ne=nn(y).toVar(),ie=Xn(ee).toVar(),se=Mn().toVar(),le=Mn().toVar(),de=Mn().toVar(),ge=Xn(Wc(ie.x,se),Wc(ie.y,le),Wc(ie.z,de)).toVar(),ve=Xn(1e6,1e6,1e6).toVar();return zu({start:-1,end:Mn(1),name:"x",condition:"<="},({x:xe})=>{zu({start:-1,end:Mn(1),name:"y",condition:"<="},({y:Se})=>{zu({start:-1,end:Mn(1),name:"z",condition:"<="},({z:Me})=>{const De=nn(OE(ge,xe,Se,Me,se,le,de,ne,z)).toVar();Pa(De.lessThan(ve.x),()=>{ve.z.assign(ve.y),ve.y.assign(ve.x),ve.x.assign(De)}).ElseIf(De.lessThan(ve.y),()=>{ve.z.assign(ve.y),ve.y.assign(De)}).ElseIf(De.lessThan(ve.z),()=>{ve.z.assign(De)})})})}),Pa(z.equal(Mn(0)),()=>{ve.assign(AA(ve))}),ve}).setLayout({name:"mx_worley_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),nJ=Kn(([ee])=>{const y=ee.y,E=ee.z,z=Xn().toVar();return Pa(y.lessThan(1e-4),()=>{z.assign(Xn(E,E,E))}).Else(()=>{let ne=ee.x;ne=ne.sub(xA(ne)).mul(6).toVar();const ie=Mn(K3(ne)),se=ne.sub(nn(ie)),le=E.mul(y.oneMinus()),de=E.mul(y.mul(se).oneMinus()),ge=E.mul(y.mul(se.oneMinus()).oneMinus());Pa(ie.equal(Mn(0)),()=>{z.assign(Xn(E,ge,le))}).ElseIf(ie.equal(Mn(1)),()=>{z.assign(Xn(de,E,le))}).ElseIf(ie.equal(Mn(2)),()=>{z.assign(Xn(le,E,ge))}).ElseIf(ie.equal(Mn(3)),()=>{z.assign(Xn(le,de,E))}).ElseIf(ie.equal(Mn(4)),()=>{z.assign(Xn(ge,le,E))}).Else(()=>{z.assign(Xn(E,le,de))})}),z}).setLayout({name:"mx_hsvtorgb",type:"vec3",inputs:[{name:"hsv",type:"vec3"}]}),iJ=Kn(([ee])=>{const y=Xn(ee).toVar(),E=nn(y.x).toVar(),z=nn(y.y).toVar(),ne=nn(y.z).toVar(),ie=nn(Xp(E,Xp(z,ne))).toVar(),se=nn(Th(E,Th(z,ne))).toVar(),le=nn(se.sub(ie)).toVar(),de=nn().toVar(),ge=nn().toVar(),ve=nn().toVar();return ve.assign(se),Pa(se.greaterThan(0),()=>{ge.assign(le.div(se))}).Else(()=>{ge.assign(0)}),Pa(ge.lessThanEqual(0),()=>{de.assign(0)}).Else(()=>{Pa(E.greaterThanEqual(se),()=>{de.assign(z.sub(ne).div(le))}).ElseIf(z.greaterThanEqual(se),()=>{de.assign(Od(2,ne.sub(E).div(le)))}).Else(()=>{de.assign(Od(4,E.sub(z).div(le)))}),de.mulAssign(1/6),Pa(de.lessThan(0),()=>{de.addAssign(1)})}),Xn(de,ge,ve)}).setLayout({name:"mx_rgbtohsv",type:"vec3",inputs:[{name:"c",type:"vec3"}]}),rJ=Kn(([ee])=>{const y=Xn(ee).toVar(),E=L3(j3(y,Xn(.04045))).toVar(),z=Xn(y.div(12.92)).toVar(),ne=Xn(hy(Th(y.add(Xn(.055)),Xn(0)).div(1.055),Xn(2.4))).toVar();return yu(z,ne,E)}).setLayout({name:"mx_srgb_texture_to_lin_rec709",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),A9=(ee,y)=>{ee=nn(ee),y=nn(y);const E=Er(y.dFdx(),y.dFdy()).length().mul(.7071067811865476);return $0(ee.sub(E),ee.add(E),y)},x9=(ee,y,E,z)=>yu(ee,y,E[z].clamp()),oJ=(ee,y,E=wc())=>x9(ee,y,E,"x"),sJ=(ee,y,E=wc())=>x9(ee,y,E,"y"),w9=(ee,y,E,z,ne)=>yu(ee,y,A9(E,z[ne])),aJ=(ee,y,E,z=wc())=>w9(ee,y,E,z,"x"),lJ=(ee,y,E,z=wc())=>w9(ee,y,E,z,"y"),uJ=(ee=1,y=0,E=wc())=>E.mul(ee).add(y),cJ=(ee,y=1)=>(ee=nn(ee),ee.abs().pow(y).mul(ee.sign())),hJ=(ee,y=1,E=.5)=>nn(ee).sub(E).mul(y).add(E),dJ=(ee=wc(),y=1,E=0)=>DF(ee.convert("vec2|vec3")).mul(y).add(E),fJ=(ee=wc(),y=1,E=0)=>FF(ee.convert("vec2|vec3")).mul(y).add(E),gJ=(ee=wc(),y=1,E=0)=>(ee=ee.convert("vec2|vec3"),Qo(FF(ee),DF(ee.add(Er(19,73)))).mul(y).add(E)),pJ=(ee=wc(),y=1)=>$K(ee.convert("vec2|vec3"),y,Mn(1)),mJ=(ee=wc(),y=1)=>eJ(ee.convert("vec2|vec3"),y,Mn(1)),vJ=(ee=wc(),y=1)=>tJ(ee.convert("vec2|vec3"),y,Mn(1)),yJ=(ee=wc())=>YK(ee.convert("vec2|vec3")),AJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>OB(ee,Mn(y),E,z).mul(ne),xJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>ZK(ee,Mn(y),E,z).mul(ne),wJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>y9(ee,Mn(y),E,z).mul(ne),SJ=(ee=wc(),y=3,E=2,z=.5,ne=1)=>KK(ee,Mn(y),E,z).mul(ne),PJ=Kn(([ee,y,E])=>{const z=Ux(ee).toVar(),ne=Wl(nn(.5).mul(y.sub(E)),iv).div(z).toVar(),ie=Wl(nn(-.5).mul(y.sub(E)),iv).div(z).toVar(),se=Xn().toVar();se.x=z.x.greaterThan(nn(0)).select(ne.x,ie.x),se.y=z.y.greaterThan(nn(0)).select(ne.y,ie.y),se.z=z.z.greaterThan(nn(0)).select(ne.z,ie.z);const le=Xp(se.x,se.y,se.z).toVar();return iv.add(z.mul(le)).toVar().sub(E)}),S9=Kn(([ee,y])=>{const E=ee.x,z=ee.y,ne=ee.z;let ie=y.element(0).mul(.886227);return ie=ie.add(y.element(1).mul(2*.511664).mul(z)),ie=ie.add(y.element(2).mul(2*.511664).mul(ne)),ie=ie.add(y.element(3).mul(2*.511664).mul(E)),ie=ie.add(y.element(4).mul(2*.429043).mul(E).mul(z)),ie=ie.add(y.element(5).mul(2*.429043).mul(z).mul(ne)),ie=ie.add(y.element(6).mul(ne.mul(ne).mul(.743125).sub(.247708))),ie=ie.add(y.element(7).mul(2*.429043).mul(E).mul(ne)),ie=ie.add(y.element(8).mul(.429043).mul(il(E,E).sub(il(z,z)))),ie});var Tae=Object.freeze({__proto__:null,BRDF_GGX:UD,BRDF_Lambert:uP,BasicPointShadowFilter:a9,BasicShadowFilter:_7,Break:n6,Const:MI,Continue:cW,DFGApprox:VD,D_GGX:M6,Discard:GI,EPSILON:_8,F_Schlick:BE,Fn:Kn,INFINITY:jG,If:Pa,Loop:zu,NodeAccess:Og,NodeShaderStage:U2,NodeType:gG,NodeUpdateType:al,PCFShadowFilter:$7,PCFSoftShadowFilter:e9,PI:Q5,PI2:GG,PointShadowFilter:l9,Return:sX,Schlick_to_F0:T6,ScriptableNodeResources:FB,ShaderNode:mE,Stack:O5,Switch:NG,TBNViewMatrix:aP,VSMShadowFilter:t9,V_GGX_SmithCorrelated:b6,Var:bI,abs:xc,acesFilmicToneMapping:O7,acos:W3,add:Od,addMethodChaining:ur,addNodeElement:uX,agxToneMapping:k7,all:$8,alphaT:V5,and:k8,anisotropy:Aw,anisotropyB:rP,anisotropyT:Q2,any:eI,append:kG,array:D8,arrayBuffer:RG,asin:rI,assign:F8,atan:Q3,atan2:PI,atomicAdd:SK,atomicAnd:bK,atomicFunc:MA,atomicLoad:xK,atomicMax:CK,atomicMin:EK,atomicOr:MK,atomicStore:wK,atomicSub:PK,atomicXor:BK,attenuationColor:z3,attenuationDistance:k3,attribute:ap,attributeArray:AZ,backgroundBlurriness:C7,backgroundIntensity:gF,backgroundRotation:E7,batch:_4,bentNormalView:A4,billboarding:eZ,bitAnd:V8,bitNot:j8,bitOr:G8,bitXor:X8,bitangentGeometry:XX,bitangentLocal:WX,bitangentView:v4,bitangentWorld:QX,bitcast:XG,blendBurn:d6,blendColor:TW,blendDodge:f6,blendOverlay:p6,blendScreen:g6,blur:K6,bool:mA,buffer:eM,bufferAttribute:_2,bumpMap:x4,burn:FW,bvec2:A8,bvec3:L3,bvec4:P8,bypass:HI,cache:$2,call:L8,cameraFar:Wx,cameraIndex:nB,cameraNear:Xx,cameraNormalMatrix:wX,cameraPosition:nM,cameraProjectionMatrix:zm,cameraProjectionMatrixInverse:AX,cameraViewMatrix:Hm,cameraWorldMatrix:xX,cbrt:yI,cdl:RZ,ceil:Z5,checker:GK,cineonToneMapping:R7,clamp:SA,clearcoat:z5,clearcoatNormalView:sP,clearcoatRoughness:W2,code:TB,color:v8,colorSpaceToWorking:$5,colorToDirection:VW,compute:zI,computeSkinning:lW,context:q5,convert:E8,convertColorSpace:qG,convertToTexture:dZ,cos:jx,cross:J5,cubeTexture:PE,cubeTextureBase:mD,cubeToUV:fy,dFdx:Y3,dFdy:Z3,dashSize:oP,debug:XI,decrement:J8,decrementBefore:Z8,defaultBuildStages:S3,defaultShaderStages:a8,defined:V2,degrees:nI,deltaTime:w7,densityFog:iK,densityFogFactor:vF,depth:RD,depthPass:UZ,difference:gI,diffuseColor:vu,directPointLight:h9,directionToColor:y6,directionToFaceDirection:wE,dispersion:H3,distance:fI,div:_0,dodge:LW,dot:xw,drawIndex:K4,dynamicBufferAttribute:kI,element:C8,emissive:N3,equal:V3,equals:hI,equirectUV:kD,exp:G3,exp2:AE,expression:Gx,faceDirection:dD,faceForward:eD,faceforward:WG,float:nn,floor:xA,fog:AM,fract:Vx,frameGroup:B8,frameId:XY,frontFacing:qI,fwidth:uI,gain:kY,gapSize:Z2,getConstNodeType:m8,getCurrentStack:F3,getDirection:Y6,getDistanceAttenuation:TF,getGeometryRoughness:E6,getNormalFromDepth:gZ,getParallaxCorrectNormal:PJ,getRoughness:HD,getScreenPosition:fZ,getShIrradianceAt:S9,getShadowMaterial:n9,getShadowRenderObjectFunction:r9,getTextureIndex:A7,getViewPosition:NE,globalId:uK,glsl:KZ,glslFn:JZ,grayscale:FZ,greaterThan:j3,greaterThanEqual:O8,hash:OY,highpModelNormalViewMatrix:cD,highpModelViewMatrix:uD,hue:IZ,increment:K8,incrementBefore:Y8,instance:tW,instanceIndex:Pw,instancedArray:xZ,instancedBufferAttribute:eB,instancedDynamicBufferAttribute:rD,instancedMesh:q4,int:Mn,inverseSqrt:X3,inversesqrt:QG,invocationLocalIndex:eW,invocationSubgroupIndex:$X,ior:K2,iridescence:U5,iridescenceIOR:I3,iridescenceThickness:R3,ivec2:pf,ivec3:x8,ivec4:w8,js:YZ,label:EI,length:wA,lengthSq:q3,lessThan:I8,lessThanEqual:R8,lightPosition:xF,lightProjectionUV:G7,lightShadowMatrix:AF,lightTargetDirection:SF,lightTargetPosition:X7,lightViewPosition:wF,lightingContext:o6,lights:FK,linearDepth:ME,linearToneMapping:N7,localId:cK,log:Y5,log2:yA,logarithmicDepthToViewZ:wW,luminance:pF,mat2:k5,mat3:kg,mat4:nP,matcapUV:a7,materialAO:Y4,materialAlphaTest:S4,materialAnisotropy:O4,materialAnisotropyVector:CE,materialAttenuationColor:X4,materialAttenuationDistance:G4,materialClearcoat:D4,materialClearcoatNormal:L4,materialClearcoatRoughness:F4,materialColor:cB,materialDispersion:Q4,materialEmissive:C4,materialEnvIntensity:oB,materialEnvRotation:pD,materialIOR:j4,materialIridescence:k4,materialIridescenceIOR:z4,materialIridescenceThickness:H4,materialLightMap:bD,materialLineDashOffset:ED,materialLineDashSize:PD,materialLineGapSize:CD,materialLineScale:SD,materialLineWidth:fB,materialMetalness:B4,materialNormal:T4,materialOpacity:hB,materialPointSize:W4,materialReference:Yx,materialReflectivity:dB,materialRefractionRatio:n4,materialRotation:N4,materialRoughness:M4,materialSheen:I4,materialSheenRoughness:R4,materialShininess:P4,materialSpecular:E4,materialSpecularColor:b4,materialSpecularIntensity:wD,materialSpecularStrength:rM,materialThickness:V4,materialTransmission:U4,max:Th,maxMipLevel:sD,mediumpModelViewMatrix:JI,metalness:X2,min:Xp,mix:yu,mixElement:xI,mod:W5,modInt:q8,modelDirection:MX,modelNormalMatrix:KI,modelPosition:BX,modelRadius:ZI,modelScale:TX,modelViewMatrix:Qx,modelViewPosition:DX,modelViewProjection:MD,modelWorldMatrix:nv,modelWorldMatrixInverse:FX,morphReference:r6,mrt:x7,mul:il,mx_aastep:A9,mx_cell_noise_float:yJ,mx_contrast:hJ,mx_fractal_noise_float:AJ,mx_fractal_noise_vec2:xJ,mx_fractal_noise_vec3:wJ,mx_fractal_noise_vec4:SJ,mx_hsvtorgb:nJ,mx_noise_float:dJ,mx_noise_vec3:fJ,mx_noise_vec4:gJ,mx_ramplr:oJ,mx_ramptb:sJ,mx_rgbtohsv:iJ,mx_safepower:cJ,mx_splitlr:aJ,mx_splittb:lJ,mx_srgb_texture_to_lin_rec709:rJ,mx_transform_uv:uJ,mx_worley_noise_float:pJ,mx_worley_noise_vec2:mJ,mx_worley_noise_vec3:vJ,negate:oI,neutralToneMapping:z7,nodeArray:tP,nodeImmutable:lo,nodeObject:ir,nodeObjects:j2,nodeProxy:Ar,normalFlat:_I,normalGeometry:rB,normalLocal:Wp,normalMap:xD,normalView:ku,normalViewGeometry:SE,normalWorld:Sw,normalWorldGeometry:$I,normalize:Ux,not:H8,notEqual:N8,numWorkgroups:aK,objectDirection:SX,objectGroup:U3,objectPosition:YI,objectRadius:bX,objectScale:CX,objectViewPosition:EX,objectWorldMatrix:PX,oneMinus:sI,or:z8,orthographicDepthToViewZ:xW,oscSawtooth:qY,oscSine:ZY,oscSquare:KY,oscTriangle:JY,output:yE,outputStruct:IY,overlay:IW,overloadingFn:ug,parabola:uF,parallaxDirection:y4,parallaxUV:YX,parameter:BY,pass:zZ,passTexture:HZ,pcurve:zY,perspectiveDepthToViewZ:ND,pmremTexture:sF,pointShadow:c9,pointUV:SZ,pointWidth:zG,positionGeometry:lg,positionLocal:qh,positionPrevious:iB,positionView:_h,positionViewDirection:Bc,positionWorld:iv,positionWorldDirection:hD,posterize:kZ,pow:hy,pow2:J3,pow3:pI,pow4:mI,premultiplyAlpha:m6,property:cy,radians:tI,rand:AI,range:oK,rangeFog:nK,rangeFogFactor:mF,reciprocal:lI,reference:lc,referenceBuffer:vD,reflect:dI,reflectVector:o4,reflectView:i4,reflector:aZ,refract:$3,refractVector:s4,refractView:r4,reinhardToneMapping:I7,remap:VI,remapClamp:jI,renderGroup:pa,renderOutput:oD,rendererReference:II,rotate:wB,rotateUV:_Y,roughness:vA,round:aI,rtt:P7,sRGBTransferEOTF:DI,sRGBTransferOETF:FI,sample:mZ,sampler:gX,samplerComparison:pX,saturate:_3,saturation:LZ,screen:NW,screenCoordinate:lM,screenSize:aM,screenUV:Zx,scriptable:tK,scriptableValue:DB,select:jf,setCurrentStack:G2,shaderStages:P3,shadow:s9,shadowPositionWorld:EF,shapeCircle:XK,sharedUniformGroup:X5,sheen:iP,sheenRoughness:H5,shiftLeft:W8,shiftRight:Q8,shininess:j5,sign:q2,sin:km,sinc:HY,skinning:t6,smoothstep:$0,smoothstepElement:wI,specularColor:Gp,specularF90:Y2,spherizeUV:$Y,split:OG,spritesheetUV:iZ,sqrt:AA,stack:SB,step:K5,stepElement:SI,storage:lP,storageBarrier:gK,storageObject:aW,storageTexture:b7,string:IG,struct:NY,sub:Wl,subBuild:xE,subgroupIndex:_X,subgroupSize:hK,tan:iI,tangentGeometry:aB,tangentLocal:iM,tangentView:lB,tangentWorld:m4,temp:BI,texture:Dl,texture3D:M7,textureBarrier:pK,textureBicubic:cQ,textureBicubicLevel:XD,textureCubeUV:Z6,textureLoad:Jh,textureSize:ww,textureStore:CZ,thickness:O3,time:fP,timerDelta:YY,timerGlobal:QY,timerLocal:WY,toneMapping:RI,toneMappingExposure:OI,toonOutlinePass:jZ,transformDirection:vI,transformNormal:e4,transformNormalToView:fD,transformedClearcoatNormalView:RX,transformedNormalView:NX,transformedNormalWorld:IX,transmission:G5,transpose:cI,triNoise3D:VY,triplanarTexture:rZ,triplanarTextures:S7,trunc:K3,uint:Ho,uniform:Us,uniformArray:ev,uniformCubeTexture:kX,uniformGroup:M8,uniformTexture:fX,unpremultiplyAlpha:DW,userData:BZ,uv:wc,uvec2:y8,uvec3:vE,uvec4:S8,varying:PA,varyingProperty:Om,vec2:Er,vec3:Xn,vec4:Qo,vectorComponents:_S,velocity:DZ,vertexColor:h6,vertexIndex:Z4,vertexStage:TI,vibrance:NZ,viewZToLogarithmicDepth:ID,viewZToOrthographicDepth:bE,viewZToPerspectiveDepth:LD,viewport:Kx,viewportCoordinate:a6,viewportDepthTexture:FD,viewportLinearDepth:SW,viewportMipTexture:TD,viewportResolution:vW,viewportSafeUV:tZ,viewportSharedTexture:v6,viewportSize:s6,viewportTexture:yW,viewportUV:mW,wgsl:ZZ,wgslFn:qZ,workgroupArray:yK,workgroupBarrier:fK,workgroupId:lK,workingToColorSpace:LI,xor:U8});const gy=new lF;class CJ extends Ew{constructor(y,E){super(),this.renderer=y,this.nodes=E}update(y,E,z){const ne=this.renderer,ie=this.nodes.getBackgroundNode(y)||y.background;let se=!1;if(ie===null)ne._clearColor.getRGB(gy),gy.a=ne._clearColor.a;else if(ie.isColor===!0)ie.getRGB(gy),gy.a=1,se=!0;else if(ie.isNode===!0){const de=this.get(y),ge=ie;gy.copy(ne._clearColor);let ve=de.backgroundMesh;if(ve===void 0){let Oe=function(){ie.removeEventListener("dispose",Oe),ve.material.dispose(),ve.geometry.dispose()};const Se=q5(Qo(ge).mul(gF),{getUV:()=>E7.mul($I),getTextureLevel:()=>C7});let Me=MD;Me=Me.setZ(Me.w);const De=new Dh;De.name="Background.material",De.side=au,De.depthTest=!1,De.depthWrite=!1,De.allowOverride=!1,De.fog=!1,De.lights=!1,De.vertexNode=Me,De.colorNode=Se,de.backgroundMeshNode=Se,de.backgroundMesh=ve=new lu(new rg(1,32,32),De),ve.frustumCulled=!1,ve.name="Background.mesh",ve.onBeforeRender=function(Re,Le,Qe){this.matrixWorld.copyPosition(Qe.matrixWorld)},ie.addEventListener("dispose",Oe)}const xe=ge.getCacheKey();de.backgroundCacheKey!==xe&&(de.backgroundMeshNode.node=Qo(ge).mul(gF),de.backgroundMeshNode.needsUpdate=!0,ve.material.needsUpdate=!0,de.backgroundCacheKey=xe),E.unshift(ve,ve.geometry,ve.material,0,0,null,null)}else console.error("THREE.Renderer: Unsupported background configuration.",ie);const le=ne.xr.getEnvironmentBlendMode();if(le==="additive"?gy.set(0,0,0,1):le==="alpha-blend"&&gy.set(0,0,0,0),ne.autoClear===!0||se===!0){const de=z.clearColorValue;de.r=gy.r,de.g=gy.g,de.b=gy.b,de.a=gy.a,(ne.backend.isWebGLBackend===!0||ne.alpha===!0)&&(de.r*=de.a,de.g*=de.a,de.b*=de.a),z.depthClearValue=ne._clearDepth,z.stencilClearValue=ne._clearStencil,z.clearColor=ne.autoClearColor===!0,z.clearDepth=ne.autoClearDepth===!0,z.clearStencil=ne.autoClearStencil===!0}else z.clearColor=!1,z.clearDepth=!1,z.clearStencil=!1}}let EJ=0;class LF{constructor(y="",E=[],z=0,ne=[]){this.name=y,this.bindings=E,this.index=z,this.bindingsReference=ne,this.id=EJ++}}class bJ{constructor(y,E,z,ne,ie,se,le,de,ge,ve=[]){this.vertexShader=y,this.fragmentShader=E,this.computeShader=z,this.transforms=ve,this.nodeAttributes=ne,this.bindings=ie,this.updateNodes=se,this.updateBeforeNodes=le,this.updateAfterNodes=de,this.observer=ge,this.usedTimes=0}createBindings(){const y=[];for(const E of this.bindings)if(E.bindings[0].groupNode.shared!==!0){const ne=new LF(E.name,[],E.index,E);y.push(ne);for(const ie of E.bindings)ne.bindings.push(ie.clone())}else y.push(E);return y}}class P9{constructor(y,E,z=null){this.isNodeAttribute=!0,this.name=y,this.type=E,this.node=z}}class MJ{constructor(y,E,z){this.isNodeUniform=!0,this.name=y,this.type=E,this.node=z.getSelf()}get value(){return this.node.value}set value(y){this.node.value=y}get id(){return this.node.id}get groupNode(){return this.node.groupNode}}class C9{constructor(y,E,z=!1,ne=null){this.isNodeVar=!0,this.name=y,this.type=E,this.readOnly=z,this.count=ne}}class BJ extends C9{constructor(y,E,z=null,ne=null){super(y,E),this.needsInterpolation=!1,this.isNodeVarying=!0,this.interpolationType=z,this.interpolationSampling=ne}}class TJ{constructor(y,E,z=""){this.name=y,this.type=E,this.code=z,Object.defineProperty(this,"isNodeCode",{value:!0})}}let DJ=0;class NF{constructor(y=null){this.id=DJ++,this.nodesData=new WeakMap,this.parent=y}getData(y){let E=this.nodesData.get(y);return E===void 0&&this.parent!==null&&(E=this.parent.getData(y)),E}setData(y,E){this.nodesData.set(y,E)}}class FJ{constructor(y,E){this.name=y,this.members=E,this.output=!1}}class Mw{constructor(y,E){this.name=y,this.value=E,this.boundary=0,this.itemSize=0,this.offset=0}setValue(y){this.value=y}getValue(){return this.value}}class LJ extends Mw{constructor(y,E=0){super(y,E),this.isNumberUniform=!0,this.boundary=4,this.itemSize=1}}class NJ extends Mw{constructor(y,E=new ki){super(y,E),this.isVector2Uniform=!0,this.boundary=8,this.itemSize=2}}class IJ extends Mw{constructor(y,E=new Vt){super(y,E),this.isVector3Uniform=!0,this.boundary=16,this.itemSize=3}}class RJ extends Mw{constructor(y,E=new Ks){super(y,E),this.isVector4Uniform=!0,this.boundary=16,this.itemSize=4}}class OJ extends Mw{constructor(y,E=new fo){super(y,E),this.isColorUniform=!0,this.boundary=16,this.itemSize=3}}class kJ extends Mw{constructor(y,E=new hd){super(y,E),this.isMatrix2Uniform=!0,this.boundary=8,this.itemSize=4}}class zJ extends Mw{constructor(y,E=new Oa){super(y,E),this.isMatrix3Uniform=!0,this.boundary=48,this.itemSize=12}}class HJ extends Mw{constructor(y,E=new rs){super(y,E),this.isMatrix4Uniform=!0,this.boundary=64,this.itemSize=16}}class UJ extends LJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class VJ extends NJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class jJ extends IJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class GJ extends RJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class XJ extends OJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class WJ extends kJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class QJ extends zJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class YJ extends HJ{constructor(y){super(y.name,y.value),this.nodeUniform=y}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}const E9=new WeakMap,ZJ=new Map([[Int8Array,"int"],[Int16Array,"int"],[Int32Array,"int"],[Uint8Array,"uint"],[Uint16Array,"uint"],[Uint32Array,"uint"],[Float32Array,"float"]]),kB=ee=>/e/g.test(ee)?String(ee).replace(/\+/g,""):(ee=Number(ee),ee+(ee%1?"":".0"));class b9{constructor(y,E,z){this.object=y,this.material=y&&y.material||null,this.geometry=y&&y.geometry||null,this.renderer=E,this.parser=z,this.scene=null,this.camera=null,this.nodes=[],this.sequentialNodes=[],this.updateNodes=[],this.updateBeforeNodes=[],this.updateAfterNodes=[],this.hashNodes={},this.observer=null,this.lightsNode=null,this.environmentNode=null,this.fogNode=null,this.clippingContext=null,this.vertexShader=null,this.fragmentShader=null,this.computeShader=null,this.flowNodes={vertex:[],fragment:[],compute:[]},this.flowCode={vertex:"",fragment:"",compute:""},this.uniforms={vertex:[],fragment:[],compute:[],index:0},this.structs={vertex:[],fragment:[],compute:[],index:0},this.bindings={vertex:{},fragment:{},compute:{}},this.bindingsIndexes={},this.bindGroups=null,this.attributes=[],this.bufferAttributes=[],this.varyings=[],this.codes={},this.vars={},this.declarations={},this.flow={code:""},this.chaining=[],this.stack=SB(),this.stacks=[],this.tab=" ",this.currentFunctionNode=null,this.context={material:this.material},this.cache=new NF,this.globalCache=this.cache,this.flowsData=new WeakMap,this.shaderStage=null,this.buildStage=null,this.subBuildLayers=[],this.currentStack=null,this.subBuildFn=null}getBindGroupsCache(){let y=E9.get(this.renderer);return y===void 0&&(y=new dy,E9.set(this.renderer,y)),y}createRenderTarget(y,E,z){return new Np(y,E,z)}createCubeRenderTarget(y,E){return new A6(y,E)}includes(y){return this.nodes.includes(y)}getOutputStructName(){}_getBindGroup(y,E){const z=this.getBindGroupsCache(),ne=[];let ie=!0;for(const le of E)ne.push(le),ie=ie&&le.groupNode.shared!==!0;let se;return ie?(se=z.get(ne),se===void 0&&(se=new LF(y,ne,this.bindingsIndexes[y].group,ne),z.set(ne,se))):se=new LF(y,ne,this.bindingsIndexes[y].group,ne),se}getBindGroupArray(y,E){const z=this.bindings[E];let ne=z[y];return ne===void 0&&(this.bindingsIndexes[y]===void 0&&(this.bindingsIndexes[y]={binding:0,group:Object.keys(this.bindingsIndexes).length}),z[y]=ne=[]),ne}getBindings(){let y=this.bindGroups;if(y===null){const E={},z=this.bindings;for(const ne of P3)for(const ie in z[ne]){const se=z[ne][ie];(E[ie]||(E[ie]=[])).push(...se)}y=[];for(const ne in E){const ie=E[ne],se=this._getBindGroup(ne,ie);y.push(se)}this.bindGroups=y}return y}sortBindingGroups(){const y=this.getBindings();y.sort((E,z)=>E.bindings[0].groupNode.order-z.bindings[0].groupNode.order);for(let E=0;E=0?`${Math.round(E)}u`:"0u";if(y==="bool")return E?"true":"false";if(y==="color")return`${this.getType("vec3")}( ${kB(E.r)}, ${kB(E.g)}, ${kB(E.b)} )`;const z=this.getTypeLength(y),ne=this.getComponentType(y),ie=se=>this.generateConst(ne,se);if(z===2)return`${this.getType(y)}( ${ie(E.x)}, ${ie(E.y)} )`;if(z===3)return`${this.getType(y)}( ${ie(E.x)}, ${ie(E.y)}, ${ie(E.z)} )`;if(z===4&&y!=="mat2")return`${this.getType(y)}( ${ie(E.x)}, ${ie(E.y)}, ${ie(E.z)}, ${ie(E.w)} )`;if(z>=4&&E&&(E.isMatrix2||E.isMatrix3||E.isMatrix4))return`${this.getType(y)}( ${E.elements.map(ie).join(", ")} )`;if(z>4)return`${this.getType(y)}()`;throw new Error(`NodeBuilder: Type '${y}' not found in generate constant attempt.`)}getType(y){return y==="color"?"vec3":y}hasGeometryAttribute(y){return this.geometry&&this.geometry.getAttribute(y)!==void 0}getAttribute(y,E){const z=this.attributes;for(const ie of z)if(ie.name===y)return ie;const ne=new P9(y,E);return this.registerDeclaration(ne),z.push(ne),ne}getPropertyName(y){return y.name}isVector(y){return/vec\d/.test(y)}isMatrix(y){return/mat\d/.test(y)}isReference(y){return y==="void"||y==="property"||y==="sampler"||y==="samplerComparison"||y==="texture"||y==="cubeTexture"||y==="storageTexture"||y==="depthTexture"||y==="texture3D"}needsToWorkingColorSpace(){return!1}getComponentTypeFromTexture(y){const E=y.type;if(y.isDataTexture){if(E===tc)return"int";if(E===nu)return"uint"}return"float"}getElementType(y){return y==="mat2"?"vec2":y==="mat3"?"vec3":y==="mat4"?"vec4":this.getComponentType(y)}getComponentType(y){if(y=this.getVectorType(y),y==="float"||y==="bool"||y==="int"||y==="uint")return y;const E=/(b|i|u|)(vec|mat)([2-4])/.exec(y);return E===null?null:E[1]==="b"?"bool":E[1]==="i"?"int":E[1]==="u"?"uint":"float"}getVectorType(y){return y==="color"?"vec3":y==="texture"||y==="cubeTexture"||y==="storageTexture"||y==="texture3D"?"vec4":y}getTypeFromLength(y,E="float"){if(y===1)return E;let z=m3(y);const ne=E==="float"?"":E[0];return/mat2/.test(E)===!0&&(z=z.replace("vec","mat")),ne+z}getTypeFromArray(y){return ZJ.get(y.constructor)}isInteger(y){return/int|uint|(i|u)vec/.test(y)}getTypeFromAttribute(y){let E=y;y.isInterleavedBufferAttribute&&(E=y.data);const z=E.array,ne=y.itemSize,ie=y.normalized;let se;return!(y instanceof Tb)&&ie!==!0&&(se=this.getTypeFromArray(z)),this.getTypeFromLength(ne,se)}getTypeLength(y){const E=this.getVectorType(y),z=/vec([2-4])/.exec(E);return z!==null?Number(z[1]):E==="float"||E==="bool"||E==="int"||E==="uint"?1:/mat2/.test(y)===!0?4:/mat3/.test(y)===!0?9:/mat4/.test(y)===!0?16:0}getVectorFromMatrix(y){return y.replace("mat","vec")}changeComponentType(y,E){return this.getTypeFromLength(this.getTypeLength(y),E)}getIntegerType(y){const E=this.getComponentType(y);return E==="int"||E==="uint"?y:this.changeComponentType(y,"int")}addStack(){return this.stack=SB(this.stack),this.stacks.push(F3()||this.stack),G2(this.stack),this.stack}removeStack(){const y=this.stack;return this.stack=y.parent,G2(this.stacks.pop()),y}getDataFromNode(y,E=this.shaderStage,z=null){z=z===null?y.isGlobal(this)?this.globalCache:this.cache:z;let ne=z.getData(y);ne===void 0&&(ne={},z.setData(y,ne)),ne[E]===void 0&&(ne[E]={});let ie=ne[E];const se=ne.any?ne.any.subBuilds:null,le=this.getClosestSubBuild(se);return le&&(ie.subBuildsCache===void 0&&(ie.subBuildsCache={}),ie=ie.subBuildsCache[le]||(ie.subBuildsCache[le]={}),ie.subBuilds=se),ie}getNodeProperties(y,E="any"){const z=this.getDataFromNode(y,E);return z.properties||(z.properties={outputNode:null})}getBufferAttributeFromNode(y,E){const z=this.getDataFromNode(y);let ne=z.bufferAttribute;if(ne===void 0){const ie=this.uniforms.index++;ne=new P9("nodeAttribute"+ie,E,y),this.bufferAttributes.push(ne),z.bufferAttribute=ne}return ne}getStructTypeFromNode(y,E,z=null,ne=this.shaderStage){const ie=this.getDataFromNode(y,ne,this.globalCache);let se=ie.structType;if(se===void 0){const le=this.structs.index++;z===null&&(z="StructType"+le),se=new FJ(z,E),this.structs[ne].push(se),ie.structType=se}return se}getOutputStructTypeFromNode(y,E){const z=this.getStructTypeFromNode(y,E,"OutputType","fragment");return z.output=!0,z}getUniformFromNode(y,E,z=this.shaderStage,ne=null){const ie=this.getDataFromNode(y,z,this.globalCache);let se=ie.uniform;if(se===void 0){const le=this.uniforms.index++;se=new MJ(ne||"nodeUniform"+le,E,y),this.uniforms[z].push(se),this.registerDeclaration(se),ie.uniform=se}return se}getArrayCount(y){let E=null;return y.isArrayNode?E=y.count:y.isVarNode&&y.node.isArrayNode&&(E=y.node.count),E}getVarFromNode(y,E=null,z=y.getNodeType(this),ne=this.shaderStage,ie=!1){const se=this.getDataFromNode(y,ne),le=this.getSubBuildProperty("variable",se.subBuilds);let de=se[le];if(de===void 0){const ge=ie?"_const":"_var",ve=this.vars[ne]||(this.vars[ne]=[]),xe=this.vars[ge]||(this.vars[ge]=0);E===null&&(E=(ie?"nodeConst":"nodeVar")+xe,this.vars[ge]++),le!=="variable"&&(E=this.getSubBuildProperty(E,se.subBuilds));const Se=this.getArrayCount(y);de=new C9(E,z,ie,Se),ie||ve.push(de),this.registerDeclaration(de),se[le]=de}return de}isDeterministic(y){if(y.isMathNode)return this.isDeterministic(y.aNode)&&(y.bNode?this.isDeterministic(y.bNode):!0)&&(y.cNode?this.isDeterministic(y.cNode):!0);if(y.isOperatorNode)return this.isDeterministic(y.aNode)&&(y.bNode?this.isDeterministic(y.bNode):!0);if(y.isArrayNode){if(y.values!==null){for(const E of y.values)if(!this.isDeterministic(E))return!1}return!0}else if(y.isConstNode)return!0;return!1}getVaryingFromNode(y,E=null,z=y.getNodeType(this),ne=null,ie=null){const se=this.getDataFromNode(y,"any"),le=this.getSubBuildProperty("varying",se.subBuilds);let de=se[le];if(de===void 0){const ge=this.varyings,ve=ge.length;E===null&&(E="nodeVarying"+ve),le!=="varying"&&(E=this.getSubBuildProperty(E,se.subBuilds)),de=new BJ(E,z,ne,ie),ge.push(de),this.registerDeclaration(de),se[le]=de}return de}registerDeclaration(y){const E=this.shaderStage,z=this.declarations[E]||(this.declarations[E]={}),ne=this.getPropertyName(y);let ie=1,se=ne;for(;z[se]!==void 0;)se=ne+"_"+ie++;ie>1&&(y.name=se,console.warn(`THREE.TSL: Declaration name '${ne}' of '${y.type}' already in use. Renamed to '${se}'.`)),z[se]=y}getCodeFromNode(y,E,z=this.shaderStage){const ne=this.getDataFromNode(y);let ie=ne.code;if(ie===void 0){const se=this.codes[z]||(this.codes[z]=[]),le=se.length;ie=new TJ("nodeCode"+le,E),se.push(ie),ne.code=ie}return ie}addFlowCodeHierarchy(y,E){const{flowCodes:z,flowCodeBlock:ne}=this.getDataFromNode(y);let ie=!0,se=E;for(;se;){if(ne.get(se)===!0){ie=!1;break}se=this.getDataFromNode(se).parentNodeBlock}if(ie)for(const le of z)this.addLineFlowCode(le)}addLineFlowCodeBlock(y,E,z){const ne=this.getDataFromNode(y),ie=ne.flowCodes||(ne.flowCodes=[]),se=ne.flowCodeBlock||(ne.flowCodeBlock=new WeakMap);ie.push(E),se.set(z,!0)}addLineFlowCode(y,E=null){return y===""?this:(E!==null&&this.context.nodeBlock&&this.addLineFlowCodeBlock(E,y,this.context.nodeBlock),y=this.tab+y,/;\s*$/.test(y)||(y=y+`; +`),this.flow.code+=y,this)}addFlowCode(y){return this.flow.code+=y,this}addFlowTab(){return this.tab+=" ",this}removeFlowTab(){return this.tab=this.tab.slice(0,-1),this}getFlowData(y){return this.flowsData.get(y)}flowNode(y){const E=y.getNodeType(this),z=this.flowChildNode(y,E);return this.flowsData.set(y,z),z}addInclude(y){this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(y)}buildFunctionNode(y){const E=new H7,z=this.currentFunctionNode;return this.currentFunctionNode=E,E.code=this.buildFunctionCode(y),this.currentFunctionNode=z,E}flowShaderNode(y){const E=y.layout,z={[Symbol.iterator](){let se=0;const le=Object.values(this);return{next:()=>({value:le[se],done:se++>=le.length})}}};for(const se of E.inputs)z[se.name]=new v7(se.type,se.name);y.layout=null;const ne=y.call(z),ie=this.flowStagesNode(ne,E.type);return y.layout=E,ie}flowStagesNode(y,E=null){const z=this.flow,ne=this.vars,ie=this.declarations,se=this.cache,le=this.buildStage,de=this.stack,ge={code:""};this.flow=ge,this.vars={},this.declarations={},this.cache=new NF,this.stack=SB();for(const ve of S3)this.setBuildStage(ve),ge.result=y.build(this,E);return ge.vars=this.getVars(this.shaderStage),this.flow=z,this.vars=ne,this.declarations=ie,this.cache=se,this.stack=de,this.setBuildStage(le),ge}getFunctionOperator(){return null}buildFunctionCode(){console.warn("Abstract function.")}flowChildNode(y,E=null){const z=this.flow,ne={code:""};return this.flow=ne,ne.result=y.build(this,E),this.flow=z,ne}flowNodeFromShaderStage(y,E,z=null,ne=null){const ie=this.tab,se=this.cache,le=this.shaderStage,de=this.context;this.setShaderStage(y);const ge=Sh({},this.context);delete ge.nodeBlock,this.cache=this.globalCache,this.tab=" ",this.context=ge;let ve=null;if(this.buildStage==="generate"){const xe=this.flowChildNode(E,z);ne!==null&&(xe.code+=`${this.tab+ne} = ${xe.result}; `),this.flowCode[y]=this.flowCode[y]+xe.code,ve=xe}else ve=E.build(this);return this.setShaderStage(le),this.cache=se,this.tab=ie,this.context=de,ve}getAttributesArray(){return this.attributes.concat(this.bufferAttributes)}getAttributes(){console.warn("Abstract function.")}getVaryings(){console.warn("Abstract function.")}getVar(y,E,z=null){return`${z!==null?this.generateArrayDeclaration(y,z):this.getType(y)} ${E}`}getVars(y){let E="";const z=this.vars[y];if(z!==void 0)for(const ne of z)E+=`${this.getVar(ne.type,ne.name)}; `;return E}getUniforms(){console.warn("Abstract function.")}getCodes(y){const E=this.codes[y];let z="";if(E!==void 0)for(const ne of E)z+=ne.code+` -`;return z}getHash(){return this.vertexShader+this.fragmentShader+this.computeShader}setShaderStage(y){this.shaderStage=y}getShaderStage(){return this.shaderStage}setBuildStage(y){this.buildStage=y}getBuildStage(){return this.buildStage}buildCode(){console.warn("Abstract function.")}get subBuild(){return this.subBuildLayers[this.subBuildLayers.length-1]||null}addSubBuild(y){this.subBuildLayers.push(y)}removeSubBuild(){return this.subBuildLayers.pop()}getClosestSubBuild(y){let E;if(y&&y.isNode?y.isShaderCallNodeInternal?E=y.shaderNode.subBuilds:y.isStackNode?E=[y.subBuild]:E=this.getDataFromNode(y,"any").subBuilds:y instanceof Set?E=[...y]:E=y,!E)return null;const z=this.subBuildLayers;for(let ne=E.length-1;ne>=0;ne--){const ie=E[ne];if(z.includes(ie))return ie}return null}getSubBuildOutput(y){return this.getSubBuildProperty("outputNode",y)}getSubBuildProperty(y="",E=null){let z;E!==null?z=this.getClosestSubBuild(E):z=this.subBuildFn;let ne;return z?ne=y?z+"_"+y:z:ne=y,ne}build(){const{object:y,material:E,renderer:z}=this;if(E!==null){let ne=z.library.fromMaterial(E);ne===null&&(console.error(`NodeMaterial: Material "${E.type}" is not compatible.`),ne=new Dh),ne.build(this)}else this.addFlow("compute",y);for(const ne of S3){this.setBuildStage(ne),this.context.vertex&&this.context.vertex.isNode&&this.flowNodeFromShaderStage("vertex",this.context.vertex);for(const ie of P3){this.setShaderStage(ie);const se=this.flowNodes[ie];for(const le of se)ne==="generate"?this.flowNode(le):le.build(this)}}return this.setBuildStage(null),this.setShaderStage(null),this.buildCode(),this.buildUpdateNodes(),this}getNodeUniform(y,E){if(E==="float"||E==="int"||E==="uint")return new HJ(y);if(E==="vec2"||E==="ivec2"||E==="uvec2")return new UJ(y);if(E==="vec3"||E==="ivec3"||E==="uvec3")return new VJ(y);if(E==="vec4"||E==="ivec4"||E==="uvec4")return new jJ(y);if(E==="color")return new GJ(y);if(E==="mat2")return new XJ(y);if(E==="mat3")return new WJ(y);if(E==="mat4")return new QJ(y);throw new Error(`Uniform "${E}" not declared.`)}format(y,E,z){if(E=this.getVectorType(E),z=this.getVectorType(z),E===z||z===null||this.isReference(z))return y;const ne=this.getTypeLength(E),ie=this.getTypeLength(z);return ne===16&&ie===9?`${this.getType(z)}( ${y}[ 0 ].xyz, ${y}[ 1 ].xyz, ${y}[ 2 ].xyz )`:ne===9&&ie===4?`${this.getType(z)}( ${y}[ 0 ].xy, ${y}[ 1 ].xy )`:ne>4||ie>4||ie===0?y:ne===ie?`${this.getType(z)}( ${y} )`:ne>ie?(y=z==="bool"?`all( ${y} )`:`${y}.${"xyz".slice(0,ie)}`,this.format(y,this.getTypeFromLength(ie,this.getComponentType(E)),z)):ie===4&&ne>1?`${this.getType(z)}( ${this.format(y,E,"vec3")}, 1.0 )`:ne===2?`${this.getType(z)}( ${this.format(y,E,"vec2")}, 0.0 )`:(ne===1&&ie>1&&E!==this.getComponentType(z)&&(y=`${this.getType(this.getComponentType(z))}( ${y} )`),`${this.getType(z)}( ${y} )`)}getSignature(){return`// Three.js r${vp} - Node System -`}*[Symbol.iterator](){}}class b9{constructor(){this.time=0,this.deltaTime=0,this.frameId=0,this.renderId=0,this.updateMap=new WeakMap,this.updateBeforeMap=new WeakMap,this.updateAfterMap=new WeakMap,this.renderer=null,this.material=null,this.camera=null,this.object=null,this.scene=null}_getMaps(y,E){let z=y.get(E);return z===void 0&&(z={renderMap:new WeakMap,frameMap:new WeakMap},y.set(E,z)),z}updateBeforeNode(y){const E=y.getUpdateBeforeType(),z=y.updateReference(this);if(E===al.FRAME){const{frameMap:ne}=this._getMaps(this.updateBeforeMap,z);ne.get(z)!==this.frameId&&y.updateBefore(this)!==!1&&ne.set(z,this.frameId)}else if(E===al.RENDER){const{renderMap:ne}=this._getMaps(this.updateBeforeMap,z);ne.get(z)!==this.renderId&&y.updateBefore(this)!==!1&&ne.set(z,this.renderId)}else E===al.OBJECT&&y.updateBefore(this)}updateAfterNode(y){const E=y.getUpdateAfterType(),z=y.updateReference(this);if(E===al.FRAME){const{frameMap:ne}=this._getMaps(this.updateAfterMap,z);ne.get(z)!==this.frameId&&y.updateAfter(this)!==!1&&ne.set(z,this.frameId)}else if(E===al.RENDER){const{renderMap:ne}=this._getMaps(this.updateAfterMap,z);ne.get(z)!==this.renderId&&y.updateAfter(this)!==!1&&ne.set(z,this.renderId)}else E===al.OBJECT&&y.updateAfter(this)}updateNode(y){const E=y.getUpdateType(),z=y.updateReference(this);if(E===al.FRAME){const{frameMap:ne}=this._getMaps(this.updateMap,z);ne.get(z)!==this.frameId&&y.update(this)!==!1&&ne.set(z,this.frameId)}else if(E===al.RENDER){const{renderMap:ne}=this._getMaps(this.updateMap,z);ne.get(z)!==this.renderId&&y.update(this)!==!1&&ne.set(z,this.renderId)}else E===al.OBJECT&&y.update(this)}update(){this.frameId++,this.lastTime===void 0&&(this.lastTime=performance.now()),this.deltaTime=(performance.now()-this.lastTime)/1e3,this.lastTime=performance.now(),this.time+=this.deltaTime}}class IF{constructor(y,E,z=null,ne="",ie=!1){this.type=y,this.name=E,this.count=z,this.qualifier=ne,this.isConst=ie}}IF.isNodeFunctionInput=!0;class ZJ extends vP{static get type(){return"DirectionalLightNode"}constructor(y=null){super(y)}setupDirect(){const y=this.colorNode;return{lightDirection:SF(this.light),lightColor:y}}}const RF=new rs,zB=new rs;let EM=null;class KJ extends vP{static get type(){return"RectAreaLightNode"}constructor(y=null){super(y),this.halfHeight=Us(new Vt).setGroup(pa),this.halfWidth=Us(new Vt).setGroup(pa),this.updateType=al.RENDER}update(y){super.update(y);const{light:E}=this,z=y.camera.matrixWorldInverse;zB.identity(),RF.copy(E.matrixWorld),RF.premultiply(z),zB.extractRotation(RF),this.halfWidth.value.set(E.width*.5,0,0),this.halfHeight.value.set(0,E.height*.5,0),this.halfWidth.value.applyMatrix4(zB),this.halfHeight.value.applyMatrix4(zB)}setupDirectRectArea(y){let E,z;y.isAvailable("float32Filterable")?(E=Dl(EM.LTC_FLOAT_1),z=Dl(EM.LTC_FLOAT_2)):(E=Dl(EM.LTC_HALF_1),z=Dl(EM.LTC_HALF_2));const{colorNode:ne,light:ie}=this,se=wF(ie);return{lightColor:ne,lightPosition:se,halfWidth:this.halfWidth,halfHeight:this.halfHeight,ltc_1:E,ltc_2:z}}static setLTC(y){EM=y}}class OF extends vP{static get type(){return"SpotLightNode"}constructor(y=null){super(y),this.coneCosNode=Us(0).setGroup(pa),this.penumbraCosNode=Us(0).setGroup(pa),this.cutoffDistanceNode=Us(0).setGroup(pa),this.decayExponentNode=Us(0).setGroup(pa),this.colorNode=Us(this.color).setGroup(pa)}update(y){super.update(y);const{light:E}=this;this.coneCosNode.value=Math.cos(E.angle),this.penumbraCosNode.value=Math.cos(E.angle*(1-E.penumbra)),this.cutoffDistanceNode.value=E.distance,this.decayExponentNode.value=E.decay}getSpotAttenuation(y,E){const{coneCosNode:z,penumbraCosNode:ne}=this;return $0(z,ne,E)}getLightCoord(y){const E=y.getNodeProperties(this);let z=E.projectionUV;return z===void 0&&(z=j7(this.light,y.context.positionWorld),E.projectionUV=z),z}setupDirect(y){const{colorNode:E,cutoffDistanceNode:z,decayExponentNode:ne,light:ie}=this,se=this.getLightVector(y),le=se.normalize(),de=le.dot(SF(ie)),ge=this.getSpotAttenuation(y,de),ve=se.length(),xe=TF({lightDistance:ve,cutoffDistance:z,decayExponent:ne});let Se=E.mul(ge).mul(xe),Me,De;return ie.colorNode?(De=this.getLightCoord(y),Me=ie.colorNode(De)):ie.map&&(De=this.getLightCoord(y),Me=Dl(ie.map,De.xy).onRenderUpdate(()=>ie.map)),Me&&(Se=De.mul(2).sub(1).abs().lessThan(1).all().select(Se.mul(Me),Se)),{lightColor:Se,lightDirection:le}}}class JJ extends OF{static get type(){return"IESSpotLightNode"}getSpotAttenuation(y,E){const z=this.light.iesMap;let ne=null;if(z&&z.isTexture===!0){const ie=E.acos().mul(1/Math.PI);ne=Dl(z,Er(ie,0),0).r}else ne=super.getSpotAttenuation(E);return ne}}const qJ=Kn(([ee,y])=>{const E=ee.abs().sub(y);return wA(Th(E,0)).add(Xp(Th(E.x,E.y),0))});class _J extends OF{static get type(){return"ProjectorLightNode"}update(y){super.update(y);const E=this.light;if(this.penumbraCosNode.value=Math.min(Math.cos(E.angle*(1-E.penumbra)),.99999),E.aspect===null){let z=1;E.map!==null&&(z=E.map.width/E.map.height),E.shadow.aspect=z}else E.shadow.aspect=E.aspect}getSpotAttenuation(y){const E=this.penumbraCosNode,z=this.getLightCoord(y),ne=z.xyz.div(z.w),ie=qJ(ne.xy.sub(Er(.5)),Er(.5)),se=_0(-1,Wl(1,W3(E)).sub(1));return _3(ie.mul(-2).mul(se))}}class $J extends vP{static get type(){return"AmbientLightNode"}constructor(y=null){super(y)}setup({context:y}){y.irradiance.addAssign(this.colorNode)}}class eq extends vP{static get type(){return"HemisphereLightNode"}constructor(y=null){super(y),this.lightPositionNode=xF(y),this.lightDirectionNode=this.lightPositionNode.normalize(),this.groundColorNode=Us(new fo).setGroup(pa)}update(y){const{light:E}=this;super.update(y),this.lightPositionNode.object3d=E,this.groundColorNode.value.copy(E.groundColor).multiplyScalar(E.intensity)}setup(y){const{colorNode:E,groundColorNode:z,lightDirectionNode:ne}=this,se=Sw.dot(ne).mul(.5).add(.5),le=yu(z,E,se);y.context.irradiance.addAssign(le)}}class tq extends vP{static get type(){return"LightProbeNode"}constructor(y=null){super(y);const E=[];for(let z=0;z<9;z++)E.push(new Vt);this.lightProbe=ev(E)}update(y){const{light:E}=this;super.update(y);for(let z=0;z<9;z++)this.lightProbe.array[z].copy(E.sh.coefficients[z]).multiplyScalar(E.intensity)}setup(y){const E=w9(Sw,this.lightProbe);y.context.irradiance.addAssign(E)}}class M9{parseFunction(){console.warn("Abstract function.")}}class kF{constructor(y,E,z="",ne=""){this.type=y,this.inputs=E,this.name=z,this.precision=ne}getCode(){console.warn("Abstract function.")}}kF.isNodeFunction=!0;const nq=/^\s*(highp|mediump|lowp)?\s*([a-z_0-9]+)\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)/i,iq=/[a-z_0-9]+/ig,B9="#pragma main",rq=ee=>{ee=ee.trim();const y=ee.indexOf(B9),E=y!==-1?ee.slice(y+B9.length):ee,z=E.match(nq);if(z!==null&&z.length===5){const ne=z[4],ie=[];let se=null;for(;(se=iq.exec(ne))!==null;)ie.push(se);const le=[];let de=0;for(;de0||y.backgroundBlurriness>0&&E.backgroundBlurriness===0;if(E.background!==z||ne){const ie=this.getCacheNode("background",z,()=>{if(z.isCubeTexture===!0||z.mapping===Lc||z.mapping===rm||z.mapping===wp){if(y.backgroundBlurriness>0||z.mapping===wp)return sF(z);{let se;return z.isCubeTexture===!0?se=PE(z):se=Dl(z),w6(se)}}else{if(z.isTexture===!0)return Dl(z,Zx.flipY()).setUpdateMatrix(!0);z.isColor!==!0&&console.error("WebGPUNodes: Unsupported background configuration.",z)}},ne);E.backgroundNode=ie,E.background=z,E.backgroundBlurriness=y.backgroundBlurriness}}else E.backgroundNode&&(delete E.backgroundNode,delete E.background)}getCacheNode(y,E,z,ne=!1){const ie=this.cacheLib[y]||(this.cacheLib[y]=new WeakMap);let se=ie.get(E);return(se===void 0||ne)&&(se=z(),ie.set(E,se)),se}updateFog(y){const E=this.get(y),z=y.fog;if(z){if(E.fog!==z){const ne=this.getCacheNode("fog",z,()=>{if(z.isFogExp2){const ie=lc("color","color",z).setGroup(pa),se=lc("density","float",z).setGroup(pa);return AM(ie,vF(se))}else if(z.isFog){const ie=lc("color","color",z).setGroup(pa),se=lc("near","float",z).setGroup(pa),le=lc("far","float",z).setGroup(pa);return AM(ie,mF(se,le))}else console.error("THREE.Renderer: Unsupported fog configuration.",z)});E.fogNode=ne,E.fog=z}}else delete E.fogNode,delete E.fog}updateEnvironment(y){const E=this.get(y),z=y.environment;if(z){if(E.environment!==z){const ne=this.getCacheNode("environment",z,()=>{if(z.isCubeTexture===!0)return PE(z);if(z.isTexture===!0)return Dl(z);console.error("Nodes: Unsupported environment configuration.",z)});E.environmentNode=ne,E.environment=z}}else E.environmentNode&&(delete E.environmentNode,delete E.environment)}getNodeFrame(y=this.renderer,E=null,z=null,ne=null,ie=null){const se=this.nodeFrame;return se.renderer=y,se.scene=E,se.object=z,se.camera=ne,se.material=ie,se}getNodeFrameForRender(y){return this.getNodeFrame(y.renderer,y.scene,y.object,y.camera,y.material)}getOutputCacheKey(){const y=this.renderer;return y.toneMapping+","+y.currentColorSpace+","+y.xr.isPresenting}hasOutputChange(y){return T9.get(y)!==this.getOutputCacheKey()}getOutputNode(y){const E=this.renderer,z=this.getOutputCacheKey(),ne=y.isArrayTexture?b7(y,Xn(Zx,tM("gl_ViewID_OVR"))).renderOutput(E.toneMapping,E.currentColorSpace):Dl(y,Zx).renderOutput(E.toneMapping,E.currentColorSpace);return T9.set(y,z),ne}updateBefore(y){const E=y.getNodeBuilderState();for(const z of E.updateBeforeNodes)this.getNodeFrameForRender(y).updateBeforeNode(z)}updateAfter(y){const E=y.getNodeBuilderState();for(const z of E.updateAfterNodes)this.getNodeFrameForRender(y).updateAfterNode(z)}updateForCompute(y){const E=this.getNodeFrame(),z=this.getForCompute(y);for(const ne of z.updateNodes)E.updateNode(ne)}updateForRender(y){const E=this.getNodeFrameForRender(y),z=y.getNodeBuilderState();for(const ne of z.updateNodes)E.updateNode(ne)}needsRefresh(y){const E=this.getNodeFrameForRender(y);return y.getMonitor().needsRefresh(y,E)}dispose(){super.dispose(),this.nodeFrame=new b9,this.nodeBuilderCache=new Map,this.cacheLib={}}}const zF=new $f;class HB{constructor(y=null){this.version=0,this.clipIntersection=null,this.cacheKey="",this.shadowPass=!1,this.viewNormalMatrix=new Oa,this.clippingGroupContexts=new WeakMap,this.intersectionPlanes=[],this.unionPlanes=[],this.parentVersion=null,y!==null&&(this.viewNormalMatrix=y.viewNormalMatrix,this.clippingGroupContexts=y.clippingGroupContexts,this.shadowPass=y.shadowPass,this.viewMatrix=y.viewMatrix)}projectPlanes(y,E,z){const ne=y.length;for(let ie=0;ie0,alpha:!0,depth:E.depth,stencil:E.stencil,framebufferScaleFactor:this.getFramebufferScaleFactor()},le=new XRWebGLLayer(y,ne,se);this._glBaseLayer=le,y.updateRenderState({baseLayer:le}),E.setPixelRatio(1),E._setXRLayerSize(le.framebufferWidth,le.framebufferHeight),this._xrRenderTarget=new BM(le.framebufferWidth,le.framebufferHeight,{format:Fu,type:Zu,colorSpace:E.outputColorSpace,stencilBuffer:E.stencil,resolveDepthBuffer:le.ignoreDepthValues===!1,resolveStencilBuffer:le.ignoreDepthValues===!1}),this._xrRenderTarget._isOpaqueFramebuffer=!0,this._referenceSpace=yield y.requestReferenceSpace(this.getReferenceSpaceType())}this.setFoveation(this.getFoveation()),E._animation.setAnimationLoop(this._onAnimationFrame),E._animation.setContext(y),E._animation.start(),this.isPresenting=!0,this.dispatchEvent({type:"sessionstart"})}})}updateCamera(y){const E=this._session;if(E===null)return;const z=y.near,ne=y.far,ie=this._cameraXR,se=this._cameraL,le=this._cameraR;ie.near=le.near=se.near=z,ie.far=le.far=se.far=ne,ie.isMultiViewCamera=this._useMultiview,(this._currentDepthNear!==ie.near||this._currentDepthFar!==ie.far)&&(E.updateRenderState({depthNear:ie.near,depthFar:ie.far}),this._currentDepthNear=ie.near,this._currentDepthFar=ie.far),se.layers.mask=y.layers.mask|2,le.layers.mask=y.layers.mask|4,ie.layers.mask=se.layers.mask|le.layers.mask;const de=y.parent,ge=ie.cameras;N9(ie,de);for(let ve=0;ve=0&&(E[ie]=null,y[ie].disconnect(ne))}for(let z=0;z=E.length){E.push(ne),ie=le;break}else if(E[le]===null){E[le]=ne,ie=le;break}if(ie===-1)break}const se=y[ie];se&&se.connect(ne)}}function yq(ee){return ee.type==="quad"?this._glBinding.createQuadLayer({transform:new XRRigidTransform(ee.translation,ee.quaternion),width:ee.width/2,height:ee.height/2,space:this._referenceSpace,viewPixelWidth:ee.pixelwidth,viewPixelHeight:ee.pixelheight,clearOnAccess:!1}):this._glBinding.createCylinderLayer({transform:new XRRigidTransform(ee.translation,ee.quaternion),radius:ee.radius,centralAngle:ee.centralAngle,aspectRatio:ee.aspectRatio,space:this._referenceSpace,viewPixelWidth:ee.pixelwidth,viewPixelHeight:ee.pixelheight,clearOnAccess:!1})}function Aq(ee,y){if(y===void 0)return;const E=this._cameraXR,z=this._renderer,ne=z.backend,ie=this._glBaseLayer,se=this.getReferenceSpace(),le=y.getViewerPose(se);if(this._xrFrame=y,le!==null){const de=le.views;this._glBaseLayer!==null&&ne.setXRTarget(ie.framebuffer);let ge=!1;de.length!==E.cameras.length&&(E.cameras.length=0,ge=!0);for(let ve=0;vela(this,null,function*(){yield this.compileAsync(Me,De);const Re=this._renderLists.get(Me,De),Le=this._renderContexts.get(Me,De,this._renderTarget),Qe=Me.overrideMaterial||Oe.material,Xe=this._objects.get(Oe,Qe,Me,De,Re.lightsNode,Le,Le.clippingContext),{fragmentShader:Ze,vertexShader:it}=Xe.getNodeBuilderState();return{fragmentShader:Ze,vertexShader:it}})}}init(){return la(this,null,function*(){if(this._initialized)throw new Error("Renderer: Backend has already been initialized.");return this._initPromise!==null?this._initPromise:(this._initPromise=new Promise((y,E)=>la(this,null,function*(){let z=this.backend;try{yield z.init(this)}catch(ne){if(this._getFallback!==null)try{this.backend=z=this._getFallback(ne),yield z.init(this)}catch(ie){E(ie);return}else{E(ne);return}}this._nodes=new aq(this,z),this._animation=new nY(this._nodes,this.info),this._attributes=new uY(z),this._background=new PJ(this,this._nodes),this._geometries=new cY(this._attributes,this.info),this._textures=new bY(this,z,this.info),this._pipelines=new pY(z,this._nodes),this._bindings=new mY(z,this._nodes,this._textures,this._attributes,this._pipelines,this.info),this._objects=new sY(this,this._nodes,this._geometries,this._pipelines,this._bindings,this.info),this._renderLists=new AY(this.lighting),this._bundles=new uq,this._renderContexts=new CY,this._animation.start(),this._initialized=!0,y(this)})),this._initPromise)})}get coordinateSystem(){return this.backend.coordinateSystem}compileAsync(y,E,z=null){return la(this,null,function*(){if(this._isDeviceLost===!0)return;this._initialized===!1&&(yield this.init());const ne=this._nodes.nodeFrame,ie=ne.renderId,se=this._currentRenderContext,le=this._currentRenderObjectFunction,de=this._compilationPromises,ge=y.isScene===!0?y:I9;z===null&&(z=y);const ve=this._renderTarget,xe=this._renderContexts.get(z,E,ve),Se=this._activeMipmapLevel,Me=[];this._currentRenderContext=xe,this._currentRenderObjectFunction=this.renderObject,this._handleObjectFunction=this._createObjectPipeline,this._compilationPromises=Me,ne.renderId++,ne.update(),xe.depth=this.depth,xe.stencil=this.stencil,xe.clippingContext||(xe.clippingContext=new HB),xe.clippingContext.updateGlobal(ge,E),ge.onBeforeRender(this,y,E,ve);const De=this._renderLists.get(y,E);if(De.begin(),this._projectObject(y,E,0,De,xe.clippingContext),z!==y&&z.traverseVisible(function(Xe){Xe.isLight&&Xe.layers.test(E.layers)&&De.pushLight(Xe)}),De.finish(),ve!==null){this._textures.updateRenderTarget(ve,Se);const Xe=this._textures.get(ve);xe.textures=Xe.textures,xe.depthTexture=Xe.depthTexture}else xe.textures=null,xe.depthTexture=null;this._background.update(ge,De,xe);const Oe=De.opaque,Re=De.transparent,Le=De.transparentDoublePass,Qe=De.lightsNode;this.opaque===!0&&Oe.length>0&&this._renderObjects(Oe,E,ge,Qe),this.transparent===!0&&Re.length>0&&this._renderTransparents(Re,Le,E,ge,Qe),ne.renderId=ie,this._currentRenderContext=se,this._currentRenderObjectFunction=le,this._compilationPromises=de,this._handleObjectFunction=this._renderObjectDirect,yield Promise.all(Me)})}renderAsync(y,E){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this._renderScene(y,E)})}waitForGPU(){return la(this,null,function*(){yield this.backend.waitForGPU()})}set highPrecision(y){y===!0?(this.overrideNodes.modelViewMatrix=uD,this.overrideNodes.modelNormalViewMatrix=cD):this.highPrecision&&(this.overrideNodes.modelViewMatrix=null,this.overrideNodes.modelNormalViewMatrix=null)}get highPrecision(){return this.overrideNodes.modelViewMatrix===uD&&this.overrideNodes.modelNormalViewMatrix===cD}setMRT(y){return this._mrt=y,this}getMRT(){return this._mrt}getColorBufferType(){return this._colorBufferType}_onDeviceLost(y){let E=`THREE.WebGPURenderer: ${y.api} Device Lost: +`;return z}getHash(){return this.vertexShader+this.fragmentShader+this.computeShader}setShaderStage(y){this.shaderStage=y}getShaderStage(){return this.shaderStage}setBuildStage(y){this.buildStage=y}getBuildStage(){return this.buildStage}buildCode(){console.warn("Abstract function.")}get subBuild(){return this.subBuildLayers[this.subBuildLayers.length-1]||null}addSubBuild(y){this.subBuildLayers.push(y)}removeSubBuild(){return this.subBuildLayers.pop()}getClosestSubBuild(y){let E;if(y&&y.isNode?y.isShaderCallNodeInternal?E=y.shaderNode.subBuilds:y.isStackNode?E=[y.subBuild]:E=this.getDataFromNode(y,"any").subBuilds:y instanceof Set?E=[...y]:E=y,!E)return null;const z=this.subBuildLayers;for(let ne=E.length-1;ne>=0;ne--){const ie=E[ne];if(z.includes(ie))return ie}return null}getSubBuildOutput(y){return this.getSubBuildProperty("outputNode",y)}getSubBuildProperty(y="",E=null){let z;E!==null?z=this.getClosestSubBuild(E):z=this.subBuildFn;let ne;return z?ne=y?z+"_"+y:z:ne=y,ne}build(){const{object:y,material:E,renderer:z}=this;if(E!==null){let ne=z.library.fromMaterial(E);ne===null&&(console.error(`NodeMaterial: Material "${E.type}" is not compatible.`),ne=new Dh),ne.build(this)}else this.addFlow("compute",y);for(const ne of S3){this.setBuildStage(ne),this.context.vertex&&this.context.vertex.isNode&&this.flowNodeFromShaderStage("vertex",this.context.vertex);for(const ie of P3){this.setShaderStage(ie);const se=this.flowNodes[ie];for(const le of se)ne==="generate"?this.flowNode(le):le.build(this)}}return this.setBuildStage(null),this.setShaderStage(null),this.buildCode(),this.buildUpdateNodes(),this}getNodeUniform(y,E){if(E==="float"||E==="int"||E==="uint")return new UJ(y);if(E==="vec2"||E==="ivec2"||E==="uvec2")return new VJ(y);if(E==="vec3"||E==="ivec3"||E==="uvec3")return new jJ(y);if(E==="vec4"||E==="ivec4"||E==="uvec4")return new GJ(y);if(E==="color")return new XJ(y);if(E==="mat2")return new WJ(y);if(E==="mat3")return new QJ(y);if(E==="mat4")return new YJ(y);throw new Error(`Uniform "${E}" not declared.`)}format(y,E,z){if(E=this.getVectorType(E),z=this.getVectorType(z),E===z||z===null||this.isReference(z))return y;const ne=this.getTypeLength(E),ie=this.getTypeLength(z);return ne===16&&ie===9?`${this.getType(z)}( ${y}[ 0 ].xyz, ${y}[ 1 ].xyz, ${y}[ 2 ].xyz )`:ne===9&&ie===4?`${this.getType(z)}( ${y}[ 0 ].xy, ${y}[ 1 ].xy )`:ne>4||ie>4||ie===0?y:ne===ie?`${this.getType(z)}( ${y} )`:ne>ie?(y=z==="bool"?`all( ${y} )`:`${y}.${"xyz".slice(0,ie)}`,this.format(y,this.getTypeFromLength(ie,this.getComponentType(E)),z)):ie===4&&ne>1?`${this.getType(z)}( ${this.format(y,E,"vec3")}, 1.0 )`:ne===2?`${this.getType(z)}( ${this.format(y,E,"vec2")}, 0.0 )`:(ne===1&&ie>1&&E!==this.getComponentType(z)&&(y=`${this.getType(this.getComponentType(z))}( ${y} )`),`${this.getType(z)}( ${y} )`)}getSignature(){return`// Three.js r${vp} - Node System +`}*[Symbol.iterator](){}}class M9{constructor(){this.time=0,this.deltaTime=0,this.frameId=0,this.renderId=0,this.updateMap=new WeakMap,this.updateBeforeMap=new WeakMap,this.updateAfterMap=new WeakMap,this.renderer=null,this.material=null,this.camera=null,this.object=null,this.scene=null}_getMaps(y,E){let z=y.get(E);return z===void 0&&(z={renderMap:new WeakMap,frameMap:new WeakMap},y.set(E,z)),z}updateBeforeNode(y){const E=y.getUpdateBeforeType(),z=y.updateReference(this);if(E===al.FRAME){const{frameMap:ne}=this._getMaps(this.updateBeforeMap,z);ne.get(z)!==this.frameId&&y.updateBefore(this)!==!1&&ne.set(z,this.frameId)}else if(E===al.RENDER){const{renderMap:ne}=this._getMaps(this.updateBeforeMap,z);ne.get(z)!==this.renderId&&y.updateBefore(this)!==!1&&ne.set(z,this.renderId)}else E===al.OBJECT&&y.updateBefore(this)}updateAfterNode(y){const E=y.getUpdateAfterType(),z=y.updateReference(this);if(E===al.FRAME){const{frameMap:ne}=this._getMaps(this.updateAfterMap,z);ne.get(z)!==this.frameId&&y.updateAfter(this)!==!1&&ne.set(z,this.frameId)}else if(E===al.RENDER){const{renderMap:ne}=this._getMaps(this.updateAfterMap,z);ne.get(z)!==this.renderId&&y.updateAfter(this)!==!1&&ne.set(z,this.renderId)}else E===al.OBJECT&&y.updateAfter(this)}updateNode(y){const E=y.getUpdateType(),z=y.updateReference(this);if(E===al.FRAME){const{frameMap:ne}=this._getMaps(this.updateMap,z);ne.get(z)!==this.frameId&&y.update(this)!==!1&&ne.set(z,this.frameId)}else if(E===al.RENDER){const{renderMap:ne}=this._getMaps(this.updateMap,z);ne.get(z)!==this.renderId&&y.update(this)!==!1&&ne.set(z,this.renderId)}else E===al.OBJECT&&y.update(this)}update(){this.frameId++,this.lastTime===void 0&&(this.lastTime=performance.now()),this.deltaTime=(performance.now()-this.lastTime)/1e3,this.lastTime=performance.now(),this.time+=this.deltaTime}}class IF{constructor(y,E,z=null,ne="",ie=!1){this.type=y,this.name=E,this.count=z,this.qualifier=ne,this.isConst=ie}}IF.isNodeFunctionInput=!0;class KJ extends vP{static get type(){return"DirectionalLightNode"}constructor(y=null){super(y)}setupDirect(){const y=this.colorNode;return{lightDirection:SF(this.light),lightColor:y}}}const RF=new rs,zB=new rs;let EM=null;class JJ extends vP{static get type(){return"RectAreaLightNode"}constructor(y=null){super(y),this.halfHeight=Us(new Vt).setGroup(pa),this.halfWidth=Us(new Vt).setGroup(pa),this.updateType=al.RENDER}update(y){super.update(y);const{light:E}=this,z=y.camera.matrixWorldInverse;zB.identity(),RF.copy(E.matrixWorld),RF.premultiply(z),zB.extractRotation(RF),this.halfWidth.value.set(E.width*.5,0,0),this.halfHeight.value.set(0,E.height*.5,0),this.halfWidth.value.applyMatrix4(zB),this.halfHeight.value.applyMatrix4(zB)}setupDirectRectArea(y){let E,z;y.isAvailable("float32Filterable")?(E=Dl(EM.LTC_FLOAT_1),z=Dl(EM.LTC_FLOAT_2)):(E=Dl(EM.LTC_HALF_1),z=Dl(EM.LTC_HALF_2));const{colorNode:ne,light:ie}=this,se=wF(ie);return{lightColor:ne,lightPosition:se,halfWidth:this.halfWidth,halfHeight:this.halfHeight,ltc_1:E,ltc_2:z}}static setLTC(y){EM=y}}class OF extends vP{static get type(){return"SpotLightNode"}constructor(y=null){super(y),this.coneCosNode=Us(0).setGroup(pa),this.penumbraCosNode=Us(0).setGroup(pa),this.cutoffDistanceNode=Us(0).setGroup(pa),this.decayExponentNode=Us(0).setGroup(pa),this.colorNode=Us(this.color).setGroup(pa)}update(y){super.update(y);const{light:E}=this;this.coneCosNode.value=Math.cos(E.angle),this.penumbraCosNode.value=Math.cos(E.angle*(1-E.penumbra)),this.cutoffDistanceNode.value=E.distance,this.decayExponentNode.value=E.decay}getSpotAttenuation(y,E){const{coneCosNode:z,penumbraCosNode:ne}=this;return $0(z,ne,E)}getLightCoord(y){const E=y.getNodeProperties(this);let z=E.projectionUV;return z===void 0&&(z=G7(this.light,y.context.positionWorld),E.projectionUV=z),z}setupDirect(y){const{colorNode:E,cutoffDistanceNode:z,decayExponentNode:ne,light:ie}=this,se=this.getLightVector(y),le=se.normalize(),de=le.dot(SF(ie)),ge=this.getSpotAttenuation(y,de),ve=se.length(),xe=TF({lightDistance:ve,cutoffDistance:z,decayExponent:ne});let Se=E.mul(ge).mul(xe),Me,De;return ie.colorNode?(De=this.getLightCoord(y),Me=ie.colorNode(De)):ie.map&&(De=this.getLightCoord(y),Me=Dl(ie.map,De.xy).onRenderUpdate(()=>ie.map)),Me&&(Se=De.mul(2).sub(1).abs().lessThan(1).all().select(Se.mul(Me),Se)),{lightColor:Se,lightDirection:le}}}class qJ extends OF{static get type(){return"IESSpotLightNode"}getSpotAttenuation(y,E){const z=this.light.iesMap;let ne=null;if(z&&z.isTexture===!0){const ie=E.acos().mul(1/Math.PI);ne=Dl(z,Er(ie,0),0).r}else ne=super.getSpotAttenuation(E);return ne}}const _J=Kn(([ee,y])=>{const E=ee.abs().sub(y);return wA(Th(E,0)).add(Xp(Th(E.x,E.y),0))});class $J extends OF{static get type(){return"ProjectorLightNode"}update(y){super.update(y);const E=this.light;if(this.penumbraCosNode.value=Math.min(Math.cos(E.angle*(1-E.penumbra)),.99999),E.aspect===null){let z=1;E.map!==null&&(z=E.map.width/E.map.height),E.shadow.aspect=z}else E.shadow.aspect=E.aspect}getSpotAttenuation(y){const E=this.penumbraCosNode,z=this.getLightCoord(y),ne=z.xyz.div(z.w),ie=_J(ne.xy.sub(Er(.5)),Er(.5)),se=_0(-1,Wl(1,W3(E)).sub(1));return _3(ie.mul(-2).mul(se))}}class eq extends vP{static get type(){return"AmbientLightNode"}constructor(y=null){super(y)}setup({context:y}){y.irradiance.addAssign(this.colorNode)}}class tq extends vP{static get type(){return"HemisphereLightNode"}constructor(y=null){super(y),this.lightPositionNode=xF(y),this.lightDirectionNode=this.lightPositionNode.normalize(),this.groundColorNode=Us(new fo).setGroup(pa)}update(y){const{light:E}=this;super.update(y),this.lightPositionNode.object3d=E,this.groundColorNode.value.copy(E.groundColor).multiplyScalar(E.intensity)}setup(y){const{colorNode:E,groundColorNode:z,lightDirectionNode:ne}=this,se=Sw.dot(ne).mul(.5).add(.5),le=yu(z,E,se);y.context.irradiance.addAssign(le)}}class nq extends vP{static get type(){return"LightProbeNode"}constructor(y=null){super(y);const E=[];for(let z=0;z<9;z++)E.push(new Vt);this.lightProbe=ev(E)}update(y){const{light:E}=this;super.update(y);for(let z=0;z<9;z++)this.lightProbe.array[z].copy(E.sh.coefficients[z]).multiplyScalar(E.intensity)}setup(y){const E=S9(Sw,this.lightProbe);y.context.irradiance.addAssign(E)}}class B9{parseFunction(){console.warn("Abstract function.")}}class kF{constructor(y,E,z="",ne=""){this.type=y,this.inputs=E,this.name=z,this.precision=ne}getCode(){console.warn("Abstract function.")}}kF.isNodeFunction=!0;const iq=/^\s*(highp|mediump|lowp)?\s*([a-z_0-9]+)\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)/i,rq=/[a-z_0-9]+/ig,T9="#pragma main",oq=ee=>{ee=ee.trim();const y=ee.indexOf(T9),E=y!==-1?ee.slice(y+T9.length):ee,z=E.match(iq);if(z!==null&&z.length===5){const ne=z[4],ie=[];let se=null;for(;(se=rq.exec(ne))!==null;)ie.push(se);const le=[];let de=0;for(;de0||y.backgroundBlurriness>0&&E.backgroundBlurriness===0;if(E.background!==z||ne){const ie=this.getCacheNode("background",z,()=>{if(z.isCubeTexture===!0||z.mapping===Lc||z.mapping===rm||z.mapping===wp){if(y.backgroundBlurriness>0||z.mapping===wp)return sF(z);{let se;return z.isCubeTexture===!0?se=PE(z):se=Dl(z),S6(se)}}else{if(z.isTexture===!0)return Dl(z,Zx.flipY()).setUpdateMatrix(!0);z.isColor!==!0&&console.error("WebGPUNodes: Unsupported background configuration.",z)}},ne);E.backgroundNode=ie,E.background=z,E.backgroundBlurriness=y.backgroundBlurriness}}else E.backgroundNode&&(delete E.backgroundNode,delete E.background)}getCacheNode(y,E,z,ne=!1){const ie=this.cacheLib[y]||(this.cacheLib[y]=new WeakMap);let se=ie.get(E);return(se===void 0||ne)&&(se=z(),ie.set(E,se)),se}updateFog(y){const E=this.get(y),z=y.fog;if(z){if(E.fog!==z){const ne=this.getCacheNode("fog",z,()=>{if(z.isFogExp2){const ie=lc("color","color",z).setGroup(pa),se=lc("density","float",z).setGroup(pa);return AM(ie,vF(se))}else if(z.isFog){const ie=lc("color","color",z).setGroup(pa),se=lc("near","float",z).setGroup(pa),le=lc("far","float",z).setGroup(pa);return AM(ie,mF(se,le))}else console.error("THREE.Renderer: Unsupported fog configuration.",z)});E.fogNode=ne,E.fog=z}}else delete E.fogNode,delete E.fog}updateEnvironment(y){const E=this.get(y),z=y.environment;if(z){if(E.environment!==z){const ne=this.getCacheNode("environment",z,()=>{if(z.isCubeTexture===!0)return PE(z);if(z.isTexture===!0)return Dl(z);console.error("Nodes: Unsupported environment configuration.",z)});E.environmentNode=ne,E.environment=z}}else E.environmentNode&&(delete E.environmentNode,delete E.environment)}getNodeFrame(y=this.renderer,E=null,z=null,ne=null,ie=null){const se=this.nodeFrame;return se.renderer=y,se.scene=E,se.object=z,se.camera=ne,se.material=ie,se}getNodeFrameForRender(y){return this.getNodeFrame(y.renderer,y.scene,y.object,y.camera,y.material)}getOutputCacheKey(){const y=this.renderer;return y.toneMapping+","+y.currentColorSpace+","+y.xr.isPresenting}hasOutputChange(y){return D9.get(y)!==this.getOutputCacheKey()}getOutputNode(y){const E=this.renderer,z=this.getOutputCacheKey(),ne=y.isArrayTexture?M7(y,Xn(Zx,tM("gl_ViewID_OVR"))).renderOutput(E.toneMapping,E.currentColorSpace):Dl(y,Zx).renderOutput(E.toneMapping,E.currentColorSpace);return D9.set(y,z),ne}updateBefore(y){const E=y.getNodeBuilderState();for(const z of E.updateBeforeNodes)this.getNodeFrameForRender(y).updateBeforeNode(z)}updateAfter(y){const E=y.getNodeBuilderState();for(const z of E.updateAfterNodes)this.getNodeFrameForRender(y).updateAfterNode(z)}updateForCompute(y){const E=this.getNodeFrame(),z=this.getForCompute(y);for(const ne of z.updateNodes)E.updateNode(ne)}updateForRender(y){const E=this.getNodeFrameForRender(y),z=y.getNodeBuilderState();for(const ne of z.updateNodes)E.updateNode(ne)}needsRefresh(y){const E=this.getNodeFrameForRender(y);return y.getMonitor().needsRefresh(y,E)}dispose(){super.dispose(),this.nodeFrame=new M9,this.nodeBuilderCache=new Map,this.cacheLib={}}}const zF=new $f;class HB{constructor(y=null){this.version=0,this.clipIntersection=null,this.cacheKey="",this.shadowPass=!1,this.viewNormalMatrix=new Oa,this.clippingGroupContexts=new WeakMap,this.intersectionPlanes=[],this.unionPlanes=[],this.parentVersion=null,y!==null&&(this.viewNormalMatrix=y.viewNormalMatrix,this.clippingGroupContexts=y.clippingGroupContexts,this.shadowPass=y.shadowPass,this.viewMatrix=y.viewMatrix)}projectPlanes(y,E,z){const ne=y.length;for(let ie=0;ie0,alpha:!0,depth:E.depth,stencil:E.stencil,framebufferScaleFactor:this.getFramebufferScaleFactor()},le=new XRWebGLLayer(y,ne,se);this._glBaseLayer=le,y.updateRenderState({baseLayer:le}),E.setPixelRatio(1),E._setXRLayerSize(le.framebufferWidth,le.framebufferHeight),this._xrRenderTarget=new BM(le.framebufferWidth,le.framebufferHeight,{format:Fu,type:Zu,colorSpace:E.outputColorSpace,stencilBuffer:E.stencil,resolveDepthBuffer:le.ignoreDepthValues===!1,resolveStencilBuffer:le.ignoreDepthValues===!1}),this._xrRenderTarget._isOpaqueFramebuffer=!0,this._referenceSpace=yield y.requestReferenceSpace(this.getReferenceSpaceType())}this.setFoveation(this.getFoveation()),E._animation.setAnimationLoop(this._onAnimationFrame),E._animation.setContext(y),E._animation.start(),this.isPresenting=!0,this.dispatchEvent({type:"sessionstart"})}})}updateCamera(y){const E=this._session;if(E===null)return;const z=y.near,ne=y.far,ie=this._cameraXR,se=this._cameraL,le=this._cameraR;ie.near=le.near=se.near=z,ie.far=le.far=se.far=ne,ie.isMultiViewCamera=this._useMultiview,(this._currentDepthNear!==ie.near||this._currentDepthFar!==ie.far)&&(E.updateRenderState({depthNear:ie.near,depthFar:ie.far}),this._currentDepthNear=ie.near,this._currentDepthFar=ie.far),se.layers.mask=y.layers.mask|2,le.layers.mask=y.layers.mask|4,ie.layers.mask=se.layers.mask|le.layers.mask;const de=y.parent,ge=ie.cameras;I9(ie,de);for(let ve=0;ve=0&&(E[ie]=null,y[ie].disconnect(ne))}for(let z=0;z=E.length){E.push(ne),ie=le;break}else if(E[le]===null){E[le]=ne,ie=le;break}if(ie===-1)break}const se=y[ie];se&&se.connect(ne)}}function Aq(ee){return ee.type==="quad"?this._glBinding.createQuadLayer({transform:new XRRigidTransform(ee.translation,ee.quaternion),width:ee.width/2,height:ee.height/2,space:this._referenceSpace,viewPixelWidth:ee.pixelwidth,viewPixelHeight:ee.pixelheight,clearOnAccess:!1}):this._glBinding.createCylinderLayer({transform:new XRRigidTransform(ee.translation,ee.quaternion),radius:ee.radius,centralAngle:ee.centralAngle,aspectRatio:ee.aspectRatio,space:this._referenceSpace,viewPixelWidth:ee.pixelwidth,viewPixelHeight:ee.pixelheight,clearOnAccess:!1})}function xq(ee,y){if(y===void 0)return;const E=this._cameraXR,z=this._renderer,ne=z.backend,ie=this._glBaseLayer,se=this.getReferenceSpace(),le=y.getViewerPose(se);if(this._xrFrame=y,le!==null){const de=le.views;this._glBaseLayer!==null&&ne.setXRTarget(ie.framebuffer);let ge=!1;de.length!==E.cameras.length&&(E.cameras.length=0,ge=!0);for(let ve=0;vela(this,null,function*(){yield this.compileAsync(Me,De);const Re=this._renderLists.get(Me,De),Le=this._renderContexts.get(Me,De,this._renderTarget),Qe=Me.overrideMaterial||Oe.material,Xe=this._objects.get(Oe,Qe,Me,De,Re.lightsNode,Le,Le.clippingContext),{fragmentShader:Ze,vertexShader:it}=Xe.getNodeBuilderState();return{fragmentShader:Ze,vertexShader:it}})}}init(){return la(this,null,function*(){if(this._initialized)throw new Error("Renderer: Backend has already been initialized.");return this._initPromise!==null?this._initPromise:(this._initPromise=new Promise((y,E)=>la(this,null,function*(){let z=this.backend;try{yield z.init(this)}catch(ne){if(this._getFallback!==null)try{this.backend=z=this._getFallback(ne),yield z.init(this)}catch(ie){E(ie);return}else{E(ne);return}}this._nodes=new lq(this,z),this._animation=new iY(this._nodes,this.info),this._attributes=new cY(z),this._background=new CJ(this,this._nodes),this._geometries=new hY(this._attributes,this.info),this._textures=new MY(this,z,this.info),this._pipelines=new mY(z,this._nodes),this._bindings=new vY(z,this._nodes,this._textures,this._attributes,this._pipelines,this.info),this._objects=new aY(this,this._nodes,this._geometries,this._pipelines,this._bindings,this.info),this._renderLists=new xY(this.lighting),this._bundles=new cq,this._renderContexts=new EY,this._animation.start(),this._initialized=!0,y(this)})),this._initPromise)})}get coordinateSystem(){return this.backend.coordinateSystem}compileAsync(y,E,z=null){return la(this,null,function*(){if(this._isDeviceLost===!0)return;this._initialized===!1&&(yield this.init());const ne=this._nodes.nodeFrame,ie=ne.renderId,se=this._currentRenderContext,le=this._currentRenderObjectFunction,de=this._compilationPromises,ge=y.isScene===!0?y:R9;z===null&&(z=y);const ve=this._renderTarget,xe=this._renderContexts.get(z,E,ve),Se=this._activeMipmapLevel,Me=[];this._currentRenderContext=xe,this._currentRenderObjectFunction=this.renderObject,this._handleObjectFunction=this._createObjectPipeline,this._compilationPromises=Me,ne.renderId++,ne.update(),xe.depth=this.depth,xe.stencil=this.stencil,xe.clippingContext||(xe.clippingContext=new HB),xe.clippingContext.updateGlobal(ge,E),ge.onBeforeRender(this,y,E,ve);const De=this._renderLists.get(y,E);if(De.begin(),this._projectObject(y,E,0,De,xe.clippingContext),z!==y&&z.traverseVisible(function(Xe){Xe.isLight&&Xe.layers.test(E.layers)&&De.pushLight(Xe)}),De.finish(),ve!==null){this._textures.updateRenderTarget(ve,Se);const Xe=this._textures.get(ve);xe.textures=Xe.textures,xe.depthTexture=Xe.depthTexture}else xe.textures=null,xe.depthTexture=null;this._background.update(ge,De,xe);const Oe=De.opaque,Re=De.transparent,Le=De.transparentDoublePass,Qe=De.lightsNode;this.opaque===!0&&Oe.length>0&&this._renderObjects(Oe,E,ge,Qe),this.transparent===!0&&Re.length>0&&this._renderTransparents(Re,Le,E,ge,Qe),ne.renderId=ie,this._currentRenderContext=se,this._currentRenderObjectFunction=le,this._compilationPromises=de,this._handleObjectFunction=this._renderObjectDirect,yield Promise.all(Me)})}renderAsync(y,E){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this._renderScene(y,E)})}waitForGPU(){return la(this,null,function*(){yield this.backend.waitForGPU()})}set highPrecision(y){y===!0?(this.overrideNodes.modelViewMatrix=uD,this.overrideNodes.modelNormalViewMatrix=cD):this.highPrecision&&(this.overrideNodes.modelViewMatrix=null,this.overrideNodes.modelNormalViewMatrix=null)}get highPrecision(){return this.overrideNodes.modelViewMatrix===uD&&this.overrideNodes.modelNormalViewMatrix===cD}setMRT(y){return this._mrt=y,this}getMRT(){return this._mrt}getColorBufferType(){return this._colorBufferType}_onDeviceLost(y){let E=`THREE.WebGPURenderer: ${y.api} Device Lost: Message: ${y.message}`;y.reason&&(E+=` -Reason: ${y.reason}`),console.error(E),this._isDeviceLost=!0}_renderBundle(y,E,z){const{bundleGroup:ne,camera:ie,renderList:se}=y,le=this._currentRenderContext,de=this._bundles.get(ne,ie),ge=this.backend.get(de);ge.renderContexts===void 0&&(ge.renderContexts=new Set);const ve=ne.version!==ge.version,xe=ge.renderContexts.has(le)===!1||ve;if(ge.renderContexts.add(le),xe){this.backend.beginBundle(le),(ge.renderObjects===void 0||ve)&&(ge.renderObjects=[]),this._currentRenderBundle=de;const{transparentDoublePass:Se,transparent:Me,opaque:De}=se;this.opaque===!0&&De.length>0&&this._renderObjects(De,ie,E,z),this.transparent===!0&&Me.length>0&&this._renderTransparents(Me,Se,ie,E,z),this._currentRenderBundle=null,this.backend.finishBundle(le,de),ge.version=ne.version}else{const{renderObjects:Se}=ge;for(let Me=0,De=Se.length;Me>=Se,De.viewportValue.height>>=Se,De.viewportValue.minDepth=Ze,De.viewportValue.maxDepth=it,De.viewport=De.viewportValue.equals(HF)===!1,De.scissorValue.copy(Qe).multiplyScalar(Xe).floor(),De.scissor=this._scissorTest&&De.scissorValue.equals(HF)===!1,De.scissorValue.width>>=Se,De.scissorValue.height>>=Se,De.clippingContext||(De.clippingContext=new HB),De.clippingContext.updateGlobal(ge,E),ge.onBeforeRender(this,y,E,Me);const et=E.isArrayCamera?VF:UF;E.isArrayCamera||(VB.multiplyMatrices(E.projectionMatrix,E.matrixWorldInverse),et.setFromProjectionMatrix(VB,Oe));const ht=this._renderLists.get(y,E);if(ht.begin(),this._projectObject(y,E,0,ht,De.clippingContext),ht.finish(),this.sortObjects===!0&&ht.sort(this._opaqueSort,this._transparentSort),Me!==null){this._textures.updateRenderTarget(Me,Se);const cn=this._textures.get(Me);De.textures=cn.textures,De.depthTexture=cn.depthTexture,De.width=cn.width,De.height=cn.height,De.renderTarget=Me,De.depth=Me.depthBuffer,De.stencil=Me.stencilBuffer}else De.textures=null,De.depthTexture=null,De.width=this.domElement.width,De.height=this.domElement.height,De.depth=this.depth,De.stencil=this.stencil;De.width>>=Se,De.height>>=Se,De.activeCubeFace=xe,De.activeMipmapLevel=Se,De.occlusionQueryCount=ht.occlusionQueryCount,this._background.update(ge,ht,De),De.camera=E,this.backend.beginRender(De);const{bundles:lt,lightsNode:ot,transparentDoublePass:rt,transparent:Mt,opaque:Xt}=ht;return lt.length>0&&this._renderBundles(lt,ge,ot),this.opaque===!0&&Xt.length>0&&this._renderObjects(Xt,E,ge,ot),this.transparent===!0&&Mt.length>0&&this._renderTransparents(Mt,rt,E,ge,ot),this.backend.finishRender(De),ie.renderId=se,this._currentRenderContext=le,this._currentRenderObjectFunction=de,ne!==null&&(this.setRenderTarget(ve,xe,Se),this._renderOutput(Me)),ge.onAfterRender(this,y,E,Me),De}_setXRLayerSize(y,E){this._width=y,this._height=E,this.setViewport(0,0,y,E)}_renderOutput(y){const E=this._quad;this._nodes.hasOutputChange(y.texture)&&(E.material.fragmentNode=this._nodes.getOutputNode(y.texture),E.material.needsUpdate=!0);const z=this.autoClear,ne=this.xr.enabled;this.autoClear=!1,this.xr.enabled=!1,this._renderScene(E,E.camera,!1),this.autoClear=z,this.xr.enabled=ne}getMaxAnisotropy(){return this.backend.getMaxAnisotropy()}getActiveCubeFace(){return this._activeCubeFace}getActiveMipmapLevel(){return this._activeMipmapLevel}setAnimationLoop(y){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this._animation.setAnimationLoop(y)})}getArrayBufferAsync(y){return la(this,null,function*(){return yield this.backend.getArrayBufferAsync(y)})}getContext(){return this.backend.getContext()}getPixelRatio(){return this._pixelRatio}getDrawingBufferSize(y){return y.set(this._width*this._pixelRatio,this._height*this._pixelRatio).floor()}getSize(y){return y.set(this._width,this._height)}setPixelRatio(y=1){this._pixelRatio!==y&&(this._pixelRatio=y,this.setSize(this._width,this._height,!1))}setDrawingBufferSize(y,E,z){this.xr&&this.xr.isPresenting||(this._width=y,this._height=E,this._pixelRatio=z,this.domElement.width=Math.floor(y*z),this.domElement.height=Math.floor(E*z),this.setViewport(0,0,y,E),this._initialized&&this.backend.updateSize())}setSize(y,E,z=!0){this.xr&&this.xr.isPresenting||(this._width=y,this._height=E,this.domElement.width=Math.floor(y*this._pixelRatio),this.domElement.height=Math.floor(E*this._pixelRatio),z===!0&&(this.domElement.style.width=y+"px",this.domElement.style.height=E+"px"),this.setViewport(0,0,y,E),this._initialized&&this.backend.updateSize())}setOpaqueSort(y){this._opaqueSort=y}setTransparentSort(y){this._transparentSort=y}getScissor(y){const E=this._scissor;return y.x=E.x,y.y=E.y,y.width=E.width,y.height=E.height,y}setScissor(y,E,z,ne){const ie=this._scissor;y.isVector4?ie.copy(y):ie.set(y,E,z,ne)}getScissorTest(){return this._scissorTest}setScissorTest(y){this._scissorTest=y,this.backend.setScissorTest(y)}getViewport(y){return y.copy(this._viewport)}setViewport(y,E,z,ne,ie=0,se=1){const le=this._viewport;y.isVector4?le.copy(y):le.set(y,E,z,ne),le.minDepth=ie,le.maxDepth=se}getClearColor(y){return y.copy(this._clearColor)}setClearColor(y,E=1){this._clearColor.set(y),this._clearColor.a=E}getClearAlpha(){return this._clearColor.a}setClearAlpha(y){this._clearColor.a=y}getClearDepth(){return this._clearDepth}setClearDepth(y){this._clearDepth=y}getClearStencil(){return this._clearStencil}setClearStencil(y){this._clearStencil=y}isOccluded(y){const E=this._currentRenderContext;return E&&this.backend.isOccluded(E,y)}clear(y=!0,E=!0,z=!0){if(this._initialized===!1)return console.warn("THREE.Renderer: .clear() called before the backend is initialized. Try using .clearAsync() instead."),this.clearAsync(y,E,z);const ne=this._renderTarget||this._getFrameBufferTarget();let ie=null;if(ne!==null){this._textures.updateRenderTarget(ne);const se=this._textures.get(ne);ie=this._renderContexts.getForClear(ne),ie.textures=se.textures,ie.depthTexture=se.depthTexture,ie.width=se.width,ie.height=se.height,ie.renderTarget=ne,ie.depth=ne.depthBuffer,ie.stencil=ne.stencilBuffer,ie.clearColorValue=this.backend.getClearColor(),ie.activeCubeFace=this.getActiveCubeFace(),ie.activeMipmapLevel=this.getActiveMipmapLevel()}this.backend.clear(y,E,z,ie),ne!==null&&this._renderTarget===null&&this._renderOutput(ne)}clearColor(){return this.clear(!0,!1,!1)}clearDepth(){return this.clear(!1,!0,!1)}clearStencil(){return this.clear(!1,!1,!0)}clearAsync(y=!0,E=!0,z=!0){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this.clear(y,E,z)})}clearColorAsync(){return la(this,null,function*(){this.clearAsync(!0,!1,!1)})}clearDepthAsync(){return la(this,null,function*(){this.clearAsync(!1,!0,!1)})}clearStencilAsync(){return la(this,null,function*(){this.clearAsync(!1,!1,!0)})}get currentToneMapping(){return this.isOutputTarget?this.toneMapping:wd}get currentColorSpace(){return this.isOutputTarget?this.outputColorSpace:vn}get isOutputTarget(){return this._renderTarget===this._outputRenderTarget||this._renderTarget===null}dispose(){this.info.dispose(),this.backend.dispose(),this._animation.dispose(),this._objects.dispose(),this._pipelines.dispose(),this._nodes.dispose(),this._bindings.dispose(),this._renderLists.dispose(),this._renderContexts.dispose(),this._textures.dispose(),this._frameBufferTarget!==null&&this._frameBufferTarget.dispose(),Object.values(this.backend.timestampQueryPool).forEach(y=>{y!==null&&y.dispose()}),this.setRenderTarget(null),this.setAnimationLoop(null)}setRenderTarget(y,E=0,z=0){this._renderTarget=y,this._activeCubeFace=E,this._activeMipmapLevel=z}getRenderTarget(){return this._renderTarget}setOutputRenderTarget(y){this._outputRenderTarget=y}getOutputRenderTarget(){return this._outputRenderTarget}_resetXRState(){this.backend.setXRTarget(null),this.setOutputRenderTarget(null),this.setRenderTarget(null),this._frameBufferTarget.dispose(),this._frameBufferTarget=null}setRenderObjectFunction(y){this._renderObjectFunction=y}getRenderObjectFunction(){return this._renderObjectFunction}compute(y){if(this._isDeviceLost===!0)return;if(this._initialized===!1)return console.warn("THREE.Renderer: .compute() called before the backend is initialized. Try using .computeAsync() instead."),this.computeAsync(y);const E=this._nodes.nodeFrame,z=E.renderId;this.info.calls++,this.info.compute.calls++,this.info.compute.frameCalls++,E.renderId=this.info.calls;const ne=this.backend,ie=this._pipelines,se=this._bindings,le=this._nodes,de=Array.isArray(y)?y:[y];if(de[0]===void 0||de[0].isComputeNode!==!0)throw new Error("THREE.Renderer: .compute() expects a ComputeNode.");ne.beginCompute(y);for(const ge of de){if(ie.has(ge)===!1){const Se=()=>{ge.removeEventListener("dispose",Se),ie.delete(ge),se.delete(ge),le.delete(ge)};ge.addEventListener("dispose",Se);const Me=ge.onInitFunction;Me!==null&&Me.call(ge,{renderer:this})}le.updateForCompute(ge),se.updateForCompute(ge);const ve=se.getForCompute(ge),xe=ie.getForCompute(ge,ve);ne.compute(y,ge,ve,xe)}ne.finishCompute(y),E.renderId=z}computeAsync(y){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this.compute(y)})}hasFeatureAsync(y){return la(this,null,function*(){return this._initialized===!1&&(yield this.init()),this.backend.hasFeature(y)})}resolveTimestampsAsync(y="render"){return la(this,null,function*(){return this._initialized===!1&&(yield this.init()),this.backend.resolveTimestampsAsync(y)})}hasFeature(y){return this._initialized===!1?(console.warn("THREE.Renderer: .hasFeature() called before the backend is initialized. Try using .hasFeatureAsync() instead."),!1):this.backend.hasFeature(y)}hasInitialized(){return this._initialized}initTextureAsync(y){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this._textures.updateTexture(y)})}initTexture(y){this._initialized===!1&&console.warn("THREE.Renderer: .initTexture() called before the backend is initialized. Try using .initTextureAsync() instead."),this._textures.updateTexture(y)}copyFramebufferToTexture(y,E=null){if(E!==null)if(E.isVector2)E=Bw.set(E.x,E.y,y.image.width,y.image.height).floor();else if(E.isVector4)E=Bw.copy(E).floor();else{console.error("THREE.Renderer.copyFramebufferToTexture: Invalid rectangle.");return}else E=Bw.set(0,0,y.image.width,y.image.height);let z=this._currentRenderContext,ne;z!==null?ne=z.renderTarget:(ne=this._renderTarget||this._getFrameBufferTarget(),ne!==null&&(this._textures.updateRenderTarget(ne),z=this._textures.get(ne))),this._textures.updateTexture(y,{renderTarget:ne}),this.backend.copyFramebufferToTexture(y,z,E)}copyTextureToTexture(y,E,z=null,ne=null,ie=0,se=0){this._textures.updateTexture(y),this._textures.updateTexture(E),this.backend.copyTextureToTexture(y,E,z,ne,ie,se)}readRenderTargetPixelsAsync(y,E,z,ne,ie,se=0,le=0){return la(this,null,function*(){return this.backend.copyTextureToBuffer(y.textures[se],E,z,ne,ie,le)})}_projectObject(y,E,z,ne,ie){if(y.visible===!1)return;if(y.layers.test(E.layers)){if(y.isGroup)z=y.renderOrder,y.isClippingGroup&&y.enabled&&(ie=ie.getGroupContext(y));else if(y.isLOD)y.autoUpdate===!0&&y.update(E);else if(y.isLight)ne.pushLight(y);else if(y.isSprite){const de=E.isArrayCamera?VF:UF;if(!y.frustumCulled||de.intersectsSprite(y,E)){this.sortObjects===!0&&Bw.setFromMatrixPosition(y.matrixWorld).applyMatrix4(VB);const{geometry:ge,material:ve}=y;ve.visible&&ne.push(y,ge,ve,z,Bw.z,null,ie)}}else if(y.isLineLoop)console.error("THREE.Renderer: Objects of type THREE.LineLoop are not supported. Please use THREE.Line or THREE.LineSegments.");else if(y.isMesh||y.isLine||y.isPoints){const de=E.isArrayCamera?VF:UF;if(!y.frustumCulled||de.intersectsObject(y,E)){const{geometry:ge,material:ve}=y;if(this.sortObjects===!0&&(ge.boundingSphere===null&&ge.computeBoundingSphere(),Bw.copy(ge.boundingSphere.center).applyMatrix4(y.matrixWorld).applyMatrix4(VB)),Array.isArray(ve)){const xe=ge.groups;for(let Se=0,Me=xe.length;Se0){for(const{material:se}of E)se.side=au;this._renderObjects(E,z,ne,ie,"backSide");for(const{material:se}of E)se.side=$c;this._renderObjects(y,z,ne,ie);for(const{material:se}of E)se.side=eh}else this._renderObjects(y,z,ne,ie)}_renderObjects(y,E,z,ne,ie=null){for(let se=0,le=y.length;se0,Me.isShadowPassMaterial&&(Me.side=ie.shadowSide===null?ie.side:ie.shadowSide,ie.depthNode&&ie.depthNode.isNode&&(Se=Me.depthNode,Me.depthNode=ie.depthNode),ie.castShadowNode&&ie.castShadowNode.isNode&&(xe=Me.colorNode,Me.colorNode=ie.castShadowNode),ie.castShadowPositionNode&&ie.castShadowPositionNode.isNode&&(ve=Me.positionNode,Me.positionNode=ie.castShadowPositionNode)),ie=Me}ie.transparent===!0&&ie.side===eh&&ie.forceSinglePass===!1?(ie.side=au,this._handleObjectFunction(y,ie,E,z,le,se,de,"backSide"),ie.side=$c,this._handleObjectFunction(y,ie,E,z,le,se,de,ge),ie.side=eh):this._handleObjectFunction(y,ie,E,z,le,se,de,ge),ve!==void 0&&(E.overrideMaterial.positionNode=ve),Se!==void 0&&(E.overrideMaterial.depthNode=Se),xe!==void 0&&(E.overrideMaterial.colorNode=xe),y.onAfterRender(this,E,z,ne,ie,se)}_renderObjectDirect(y,E,z,ne,ie,se,le,de){const ge=this._objects.get(y,E,z,ne,ie,this._currentRenderContext,le,de);ge.drawRange=y.geometry.drawRange,ge.group=se;const ve=this._nodes.needsRefresh(ge);ve&&(this._nodes.updateBefore(ge),this._geometries.updateForRender(ge),this._nodes.updateForRender(ge),this._bindings.updateForRender(ge)),this._pipelines.updateForRender(ge),this._currentRenderBundle!==null&&(this.backend.get(this._currentRenderBundle).renderObjects.push(ge),ge.bundle=this._currentRenderBundle.bundleGroup),this.backend.draw(ge,this.info),ve&&this._nodes.updateAfter(ge)}_createObjectPipeline(y,E,z,ne,ie,se,le,de){const ge=this._objects.get(y,E,z,ne,ie,this._currentRenderContext,le,de);ge.drawRange=y.geometry.drawRange,ge.group=se,this._nodes.updateBefore(ge),this._geometries.updateForRender(ge),this._nodes.updateForRender(ge),this._bindings.updateForRender(ge),this._pipelines.getForRender(ge,this._compilationPromises),this._nodes.updateAfter(ge)}get compile(){return this.compileAsync}}class jF{constructor(y=""){this.name=y,this.visibility=0}setVisibility(y){this.visibility|=y}clone(){return Object.assign(new this.constructor,this)}}function wq(ee){return ee+(bw-ee%bw)%bw}class R9 extends jF{constructor(y,E=null){super(y),this.isBuffer=!0,this.bytesPerElement=Float32Array.BYTES_PER_ELEMENT,this._buffer=E}get byteLength(){return wq(this._buffer.byteLength)}get buffer(){return this._buffer}update(){return!0}}class O9 extends R9{constructor(y,E=null){super(y,E),this.isUniformBuffer=!0}}let Sq=0;class k9 extends O9{constructor(y,E){super("UniformBuffer_"+Sq++,y?y.value:null),this.nodeUniform=y,this.groupNode=E}get buffer(){return this.nodeUniform.value}}class Pq extends O9{constructor(y){super(y),this.isUniformsGroup=!0,this._values=null,this.uniforms=[]}addUniform(y){return this.uniforms.push(y),this}removeUniform(y){const E=this.uniforms.indexOf(y);return E!==-1&&this.uniforms.splice(E,1),this}get values(){return this._values===null&&(this._values=Array.from(this.buffer)),this._values}get buffer(){let y=this._buffer;if(y===null){const E=this.byteLength;y=new Float32Array(new ArrayBuffer(E)),this._buffer=y}return y}get byteLength(){const y=this.bytesPerElement;let E=0;for(let z=0,ne=this.uniforms.length;z0&&this._renderObjects(De,ie,E,z),this.transparent===!0&&Me.length>0&&this._renderTransparents(Me,Se,ie,E,z),this._currentRenderBundle=null,this.backend.finishBundle(le,de),ge.version=ne.version}else{const{renderObjects:Se}=ge;for(let Me=0,De=Se.length;Me>=Se,De.viewportValue.height>>=Se,De.viewportValue.minDepth=Ze,De.viewportValue.maxDepth=it,De.viewport=De.viewportValue.equals(HF)===!1,De.scissorValue.copy(Qe).multiplyScalar(Xe).floor(),De.scissor=this._scissorTest&&De.scissorValue.equals(HF)===!1,De.scissorValue.width>>=Se,De.scissorValue.height>>=Se,De.clippingContext||(De.clippingContext=new HB),De.clippingContext.updateGlobal(ge,E),ge.onBeforeRender(this,y,E,Me);const et=E.isArrayCamera?VF:UF;E.isArrayCamera||(VB.multiplyMatrices(E.projectionMatrix,E.matrixWorldInverse),et.setFromProjectionMatrix(VB,Oe));const ht=this._renderLists.get(y,E);if(ht.begin(),this._projectObject(y,E,0,ht,De.clippingContext),ht.finish(),this.sortObjects===!0&&ht.sort(this._opaqueSort,this._transparentSort),Me!==null){this._textures.updateRenderTarget(Me,Se);const cn=this._textures.get(Me);De.textures=cn.textures,De.depthTexture=cn.depthTexture,De.width=cn.width,De.height=cn.height,De.renderTarget=Me,De.depth=Me.depthBuffer,De.stencil=Me.stencilBuffer}else De.textures=null,De.depthTexture=null,De.width=this.domElement.width,De.height=this.domElement.height,De.depth=this.depth,De.stencil=this.stencil;De.width>>=Se,De.height>>=Se,De.activeCubeFace=xe,De.activeMipmapLevel=Se,De.occlusionQueryCount=ht.occlusionQueryCount,this._background.update(ge,ht,De),De.camera=E,this.backend.beginRender(De);const{bundles:lt,lightsNode:ot,transparentDoublePass:rt,transparent:Mt,opaque:Xt}=ht;return lt.length>0&&this._renderBundles(lt,ge,ot),this.opaque===!0&&Xt.length>0&&this._renderObjects(Xt,E,ge,ot),this.transparent===!0&&Mt.length>0&&this._renderTransparents(Mt,rt,E,ge,ot),this.backend.finishRender(De),ie.renderId=se,this._currentRenderContext=le,this._currentRenderObjectFunction=de,ne!==null&&(this.setRenderTarget(ve,xe,Se),this._renderOutput(Me)),ge.onAfterRender(this,y,E,Me),De}_setXRLayerSize(y,E){this._width=y,this._height=E,this.setViewport(0,0,y,E)}_renderOutput(y){const E=this._quad;this._nodes.hasOutputChange(y.texture)&&(E.material.fragmentNode=this._nodes.getOutputNode(y.texture),E.material.needsUpdate=!0);const z=this.autoClear,ne=this.xr.enabled;this.autoClear=!1,this.xr.enabled=!1,this._renderScene(E,E.camera,!1),this.autoClear=z,this.xr.enabled=ne}getMaxAnisotropy(){return this.backend.getMaxAnisotropy()}getActiveCubeFace(){return this._activeCubeFace}getActiveMipmapLevel(){return this._activeMipmapLevel}setAnimationLoop(y){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this._animation.setAnimationLoop(y)})}getArrayBufferAsync(y){return la(this,null,function*(){return yield this.backend.getArrayBufferAsync(y)})}getContext(){return this.backend.getContext()}getPixelRatio(){return this._pixelRatio}getDrawingBufferSize(y){return y.set(this._width*this._pixelRatio,this._height*this._pixelRatio).floor()}getSize(y){return y.set(this._width,this._height)}setPixelRatio(y=1){this._pixelRatio!==y&&(this._pixelRatio=y,this.setSize(this._width,this._height,!1))}setDrawingBufferSize(y,E,z){this.xr&&this.xr.isPresenting||(this._width=y,this._height=E,this._pixelRatio=z,this.domElement.width=Math.floor(y*z),this.domElement.height=Math.floor(E*z),this.setViewport(0,0,y,E),this._initialized&&this.backend.updateSize())}setSize(y,E,z=!0){this.xr&&this.xr.isPresenting||(this._width=y,this._height=E,this.domElement.width=Math.floor(y*this._pixelRatio),this.domElement.height=Math.floor(E*this._pixelRatio),z===!0&&(this.domElement.style.width=y+"px",this.domElement.style.height=E+"px"),this.setViewport(0,0,y,E),this._initialized&&this.backend.updateSize())}setOpaqueSort(y){this._opaqueSort=y}setTransparentSort(y){this._transparentSort=y}getScissor(y){const E=this._scissor;return y.x=E.x,y.y=E.y,y.width=E.width,y.height=E.height,y}setScissor(y,E,z,ne){const ie=this._scissor;y.isVector4?ie.copy(y):ie.set(y,E,z,ne)}getScissorTest(){return this._scissorTest}setScissorTest(y){this._scissorTest=y,this.backend.setScissorTest(y)}getViewport(y){return y.copy(this._viewport)}setViewport(y,E,z,ne,ie=0,se=1){const le=this._viewport;y.isVector4?le.copy(y):le.set(y,E,z,ne),le.minDepth=ie,le.maxDepth=se}getClearColor(y){return y.copy(this._clearColor)}setClearColor(y,E=1){this._clearColor.set(y),this._clearColor.a=E}getClearAlpha(){return this._clearColor.a}setClearAlpha(y){this._clearColor.a=y}getClearDepth(){return this._clearDepth}setClearDepth(y){this._clearDepth=y}getClearStencil(){return this._clearStencil}setClearStencil(y){this._clearStencil=y}isOccluded(y){const E=this._currentRenderContext;return E&&this.backend.isOccluded(E,y)}clear(y=!0,E=!0,z=!0){if(this._initialized===!1)return console.warn("THREE.Renderer: .clear() called before the backend is initialized. Try using .clearAsync() instead."),this.clearAsync(y,E,z);const ne=this._renderTarget||this._getFrameBufferTarget();let ie=null;if(ne!==null){this._textures.updateRenderTarget(ne);const se=this._textures.get(ne);ie=this._renderContexts.getForClear(ne),ie.textures=se.textures,ie.depthTexture=se.depthTexture,ie.width=se.width,ie.height=se.height,ie.renderTarget=ne,ie.depth=ne.depthBuffer,ie.stencil=ne.stencilBuffer,ie.clearColorValue=this.backend.getClearColor(),ie.activeCubeFace=this.getActiveCubeFace(),ie.activeMipmapLevel=this.getActiveMipmapLevel()}this.backend.clear(y,E,z,ie),ne!==null&&this._renderTarget===null&&this._renderOutput(ne)}clearColor(){return this.clear(!0,!1,!1)}clearDepth(){return this.clear(!1,!0,!1)}clearStencil(){return this.clear(!1,!1,!0)}clearAsync(y=!0,E=!0,z=!0){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this.clear(y,E,z)})}clearColorAsync(){return la(this,null,function*(){this.clearAsync(!0,!1,!1)})}clearDepthAsync(){return la(this,null,function*(){this.clearAsync(!1,!0,!1)})}clearStencilAsync(){return la(this,null,function*(){this.clearAsync(!1,!1,!0)})}get currentToneMapping(){return this.isOutputTarget?this.toneMapping:wd}get currentColorSpace(){return this.isOutputTarget?this.outputColorSpace:vn}get isOutputTarget(){return this._renderTarget===this._outputRenderTarget||this._renderTarget===null}dispose(){this.info.dispose(),this.backend.dispose(),this._animation.dispose(),this._objects.dispose(),this._pipelines.dispose(),this._nodes.dispose(),this._bindings.dispose(),this._renderLists.dispose(),this._renderContexts.dispose(),this._textures.dispose(),this._frameBufferTarget!==null&&this._frameBufferTarget.dispose(),Object.values(this.backend.timestampQueryPool).forEach(y=>{y!==null&&y.dispose()}),this.setRenderTarget(null),this.setAnimationLoop(null)}setRenderTarget(y,E=0,z=0){this._renderTarget=y,this._activeCubeFace=E,this._activeMipmapLevel=z}getRenderTarget(){return this._renderTarget}setOutputRenderTarget(y){this._outputRenderTarget=y}getOutputRenderTarget(){return this._outputRenderTarget}_resetXRState(){this.backend.setXRTarget(null),this.setOutputRenderTarget(null),this.setRenderTarget(null),this._frameBufferTarget.dispose(),this._frameBufferTarget=null}setRenderObjectFunction(y){this._renderObjectFunction=y}getRenderObjectFunction(){return this._renderObjectFunction}compute(y){if(this._isDeviceLost===!0)return;if(this._initialized===!1)return console.warn("THREE.Renderer: .compute() called before the backend is initialized. Try using .computeAsync() instead."),this.computeAsync(y);const E=this._nodes.nodeFrame,z=E.renderId;this.info.calls++,this.info.compute.calls++,this.info.compute.frameCalls++,E.renderId=this.info.calls;const ne=this.backend,ie=this._pipelines,se=this._bindings,le=this._nodes,de=Array.isArray(y)?y:[y];if(de[0]===void 0||de[0].isComputeNode!==!0)throw new Error("THREE.Renderer: .compute() expects a ComputeNode.");ne.beginCompute(y);for(const ge of de){if(ie.has(ge)===!1){const Se=()=>{ge.removeEventListener("dispose",Se),ie.delete(ge),se.delete(ge),le.delete(ge)};ge.addEventListener("dispose",Se);const Me=ge.onInitFunction;Me!==null&&Me.call(ge,{renderer:this})}le.updateForCompute(ge),se.updateForCompute(ge);const ve=se.getForCompute(ge),xe=ie.getForCompute(ge,ve);ne.compute(y,ge,ve,xe)}ne.finishCompute(y),E.renderId=z}computeAsync(y){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this.compute(y)})}hasFeatureAsync(y){return la(this,null,function*(){return this._initialized===!1&&(yield this.init()),this.backend.hasFeature(y)})}resolveTimestampsAsync(y="render"){return la(this,null,function*(){return this._initialized===!1&&(yield this.init()),this.backend.resolveTimestampsAsync(y)})}hasFeature(y){return this._initialized===!1?(console.warn("THREE.Renderer: .hasFeature() called before the backend is initialized. Try using .hasFeatureAsync() instead."),!1):this.backend.hasFeature(y)}hasInitialized(){return this._initialized}initTextureAsync(y){return la(this,null,function*(){this._initialized===!1&&(yield this.init()),this._textures.updateTexture(y)})}initTexture(y){this._initialized===!1&&console.warn("THREE.Renderer: .initTexture() called before the backend is initialized. Try using .initTextureAsync() instead."),this._textures.updateTexture(y)}copyFramebufferToTexture(y,E=null){if(E!==null)if(E.isVector2)E=Bw.set(E.x,E.y,y.image.width,y.image.height).floor();else if(E.isVector4)E=Bw.copy(E).floor();else{console.error("THREE.Renderer.copyFramebufferToTexture: Invalid rectangle.");return}else E=Bw.set(0,0,y.image.width,y.image.height);let z=this._currentRenderContext,ne;z!==null?ne=z.renderTarget:(ne=this._renderTarget||this._getFrameBufferTarget(),ne!==null&&(this._textures.updateRenderTarget(ne),z=this._textures.get(ne))),this._textures.updateTexture(y,{renderTarget:ne}),this.backend.copyFramebufferToTexture(y,z,E)}copyTextureToTexture(y,E,z=null,ne=null,ie=0,se=0){this._textures.updateTexture(y),this._textures.updateTexture(E),this.backend.copyTextureToTexture(y,E,z,ne,ie,se)}readRenderTargetPixelsAsync(y,E,z,ne,ie,se=0,le=0){return la(this,null,function*(){return this.backend.copyTextureToBuffer(y.textures[se],E,z,ne,ie,le)})}_projectObject(y,E,z,ne,ie){if(y.visible===!1)return;if(y.layers.test(E.layers)){if(y.isGroup)z=y.renderOrder,y.isClippingGroup&&y.enabled&&(ie=ie.getGroupContext(y));else if(y.isLOD)y.autoUpdate===!0&&y.update(E);else if(y.isLight)ne.pushLight(y);else if(y.isSprite){const de=E.isArrayCamera?VF:UF;if(!y.frustumCulled||de.intersectsSprite(y,E)){this.sortObjects===!0&&Bw.setFromMatrixPosition(y.matrixWorld).applyMatrix4(VB);const{geometry:ge,material:ve}=y;ve.visible&&ne.push(y,ge,ve,z,Bw.z,null,ie)}}else if(y.isLineLoop)console.error("THREE.Renderer: Objects of type THREE.LineLoop are not supported. Please use THREE.Line or THREE.LineSegments.");else if(y.isMesh||y.isLine||y.isPoints){const de=E.isArrayCamera?VF:UF;if(!y.frustumCulled||de.intersectsObject(y,E)){const{geometry:ge,material:ve}=y;if(this.sortObjects===!0&&(ge.boundingSphere===null&&ge.computeBoundingSphere(),Bw.copy(ge.boundingSphere.center).applyMatrix4(y.matrixWorld).applyMatrix4(VB)),Array.isArray(ve)){const xe=ge.groups;for(let Se=0,Me=xe.length;Se0){for(const{material:se}of E)se.side=au;this._renderObjects(E,z,ne,ie,"backSide");for(const{material:se}of E)se.side=$c;this._renderObjects(y,z,ne,ie);for(const{material:se}of E)se.side=eh}else this._renderObjects(y,z,ne,ie)}_renderObjects(y,E,z,ne,ie=null){for(let se=0,le=y.length;se0,Me.isShadowPassMaterial&&(Me.side=ie.shadowSide===null?ie.side:ie.shadowSide,ie.depthNode&&ie.depthNode.isNode&&(Se=Me.depthNode,Me.depthNode=ie.depthNode),ie.castShadowNode&&ie.castShadowNode.isNode&&(xe=Me.colorNode,Me.colorNode=ie.castShadowNode),ie.castShadowPositionNode&&ie.castShadowPositionNode.isNode&&(ve=Me.positionNode,Me.positionNode=ie.castShadowPositionNode)),ie=Me}ie.transparent===!0&&ie.side===eh&&ie.forceSinglePass===!1?(ie.side=au,this._handleObjectFunction(y,ie,E,z,le,se,de,"backSide"),ie.side=$c,this._handleObjectFunction(y,ie,E,z,le,se,de,ge),ie.side=eh):this._handleObjectFunction(y,ie,E,z,le,se,de,ge),ve!==void 0&&(E.overrideMaterial.positionNode=ve),Se!==void 0&&(E.overrideMaterial.depthNode=Se),xe!==void 0&&(E.overrideMaterial.colorNode=xe),y.onAfterRender(this,E,z,ne,ie,se)}_renderObjectDirect(y,E,z,ne,ie,se,le,de){const ge=this._objects.get(y,E,z,ne,ie,this._currentRenderContext,le,de);ge.drawRange=y.geometry.drawRange,ge.group=se;const ve=this._nodes.needsRefresh(ge);ve&&(this._nodes.updateBefore(ge),this._geometries.updateForRender(ge),this._nodes.updateForRender(ge),this._bindings.updateForRender(ge)),this._pipelines.updateForRender(ge),this._currentRenderBundle!==null&&(this.backend.get(this._currentRenderBundle).renderObjects.push(ge),ge.bundle=this._currentRenderBundle.bundleGroup),this.backend.draw(ge,this.info),ve&&this._nodes.updateAfter(ge)}_createObjectPipeline(y,E,z,ne,ie,se,le,de){const ge=this._objects.get(y,E,z,ne,ie,this._currentRenderContext,le,de);ge.drawRange=y.geometry.drawRange,ge.group=se,this._nodes.updateBefore(ge),this._geometries.updateForRender(ge),this._nodes.updateForRender(ge),this._bindings.updateForRender(ge),this._pipelines.getForRender(ge,this._compilationPromises),this._nodes.updateAfter(ge)}get compile(){return this.compileAsync}}class jF{constructor(y=""){this.name=y,this.visibility=0}setVisibility(y){this.visibility|=y}clone(){return Object.assign(new this.constructor,this)}}function Sq(ee){return ee+(bw-ee%bw)%bw}class O9 extends jF{constructor(y,E=null){super(y),this.isBuffer=!0,this.bytesPerElement=Float32Array.BYTES_PER_ELEMENT,this._buffer=E}get byteLength(){return Sq(this._buffer.byteLength)}get buffer(){return this._buffer}update(){return!0}}class k9 extends O9{constructor(y,E=null){super(y,E),this.isUniformBuffer=!0}}let Pq=0;class z9 extends k9{constructor(y,E){super("UniformBuffer_"+Pq++,y?y.value:null),this.nodeUniform=y,this.groupNode=E}get buffer(){return this.nodeUniform.value}}class Cq extends k9{constructor(y){super(y),this.isUniformsGroup=!0,this._values=null,this.uniforms=[]}addUniform(y){return this.uniforms.push(y),this}removeUniform(y){const E=this.uniforms.indexOf(y);return E!==-1&&this.uniforms.splice(E,1),this}get values(){return this._values===null&&(this._values=Array.from(this.buffer)),this._values}get buffer(){let y=this._buffer;if(y===null){const E=this.byteLength;y=new Float32Array(new ArrayBuffer(E)),this._buffer=y}return y}get byteLength(){const y=this.bytesPerElement;let E=0;for(let z=0,ne=this.uniforms.length;z0?Se:"";le=`${ve.name} { ${xe} ${se.name}[${Me}]; }; -`}else le=`${this.getVectorType(se.type)} ${this.getPropertyName(se,y)};`,de=!0;const ge=se.node.precision;if(ge!==null&&(le=Dq[ge]+" "+le),de){le=" "+le;const ve=se.groupNode.name;(ne[ve]||(ne[ve]=[])).push(le)}else le="uniform "+le,z.push(le)}let ie="";for(const se in ne){const le=ne[se];ie+=this._getGLSLUniformStruct(y+"_"+se,le.join(` +`}else le=`${this.getVectorType(se.type)} ${this.getPropertyName(se,y)};`,de=!0;const ge=se.node.precision;if(ge!==null&&(le=Fq[ge]+" "+le),de){le=" "+le;const ve=se.groupNode.name;(ne[ve]||(ne[ve]=[])).push(le)}else le="uniform "+le,z.push(le)}let ie="";for(const se in ne){const le=ne[se];ie+=this._getGLSLUniformStruct(y+"_"+se,le.join(` `))+` `}return ie+=z.join(` `),ie}getTypeFromAttribute(y){let E=super.getTypeFromAttribute(y);if(/^[iu]/.test(E)&&y.gpuType!==tc){let z=y;y.isInterleavedBufferAttribute&&(z=y.data);const ne=z.array;ne instanceof Uint32Array||ne instanceof Int32Array||(E=E.slice(1))}return E}getAttributes(y){let E="";if(y==="vertex"||y==="compute"){const z=this.getAttributesArray();let ne=0;for(const ie of z)E+=`layout( location = ${ne++} ) in ${ie.type} ${ie.name}; @@ -4855,14 +4855,14 @@ ${z.code} `)+` `+E.join(` -`)}getVaryings(y){let E="";const z=this.varyings;if(y==="vertex"||y==="compute")for(const ne of z){y==="compute"&&(ne.needsInterpolation=!0);const ie=this.getType(ne.type);if(ne.needsInterpolation)if(ne.interpolationType){const se=j9[ne.interpolationType]||ne.interpolationType,le=G9[ne.interpolationSampling]||"";E+=`${se} ${le} out ${ie} ${ne.name}; +`)}getVaryings(y){let E="";const z=this.varyings;if(y==="vertex"||y==="compute")for(const ne of z){y==="compute"&&(ne.needsInterpolation=!0);const ie=this.getType(ne.type);if(ne.needsInterpolation)if(ne.interpolationType){const se=G9[ne.interpolationType]||ne.interpolationType,le=X9[ne.interpolationSampling]||"";E+=`${se} ${le} out ${ie} ${ne.name}; `}else{const se=ie.includes("int")||ie.includes("uv")||ie.includes("iv")?"flat ":"";E+=`${se}out ${ie} ${ne.name}; `}else E+=`${ie} ${ne.name}; -`}else if(y==="fragment"){for(const ne of z)if(ne.needsInterpolation){const ie=this.getType(ne.type);if(ne.interpolationType){const se=j9[ne.interpolationType]||ne.interpolationType,le=G9[ne.interpolationSampling]||"";E+=`${se} ${le} in ${ie} ${ne.name}; +`}else if(y==="fragment"){for(const ne of z)if(ne.needsInterpolation){const ie=this.getType(ne.type);if(ne.interpolationType){const se=G9[ne.interpolationType]||ne.interpolationType,le=X9[ne.interpolationSampling]||"";E+=`${se} ${le} in ${ie} ${ne.name}; `}else{const se=ie.includes("int")||ie.includes("uv")||ie.includes("iv")?"flat ":"";E+=`${se}in ${ie} ${ne.name}; `}}}for(const ne of this.builtins[y])E+=`${ne}; `;return E}getVertexIndex(){return"uint( gl_VertexID )"}getInstanceIndex(){return"uint( gl_InstanceID )"}getInvocationLocalIndex(){return`uint( gl_InstanceID ) % ${this.object.workgroupSize.reduce((z,ne)=>z*ne,1)}u`}getDrawIndex(){return this.renderer.backend.extensions.has("WEBGL_multi_draw")?"uint( gl_DrawID )":null}getFrontFacing(){return"gl_FrontFacing"}getFragCoord(){return"gl_FragCoord.xy"}getFragDepth(){return"gl_FragDepth"}enableExtension(y,E,z=this.shaderStage){const ne=this.extensions[z]||(this.extensions[z]=new Map);ne.has(y)===!1&&ne.set(y,{name:y,behavior:E})}getExtensions(y){const E=[];if(y==="vertex"){const ne=this.renderer.backend.extensions;this.object.isBatchedMesh&&ne.has("WEBGL_multi_draw")&&this.enableExtension("GL_ANGLE_multi_draw","require",y)}const z=this.extensions[y];if(z!==void 0)for(const{name:ne,behavior:ie}of z.values())E.push(`#extension ${ne} : ${ie}`);return E.join(` -`)}getClipDistance(){return"gl_ClipDistance"}isAvailable(y){let E=V9[y];if(E===void 0){let z;switch(E=!1,y){case"float32Filterable":z="OES_texture_float_linear";break;case"clipDistance":z="WEBGL_clip_cull_distance";break}if(z!==void 0){const ne=this.renderer.backend.extensions;ne.has(z)&&(ne.get(z),E=!0)}V9[y]=E}return E}isFlipY(){return!0}enableHardwareClipping(y){this.enableExtension("GL_ANGLE_clip_cull_distance","require"),this.builtins.vertex.push(`out float gl_ClipDistance[ ${y} ]`)}enableMultiview(){this.enableExtension("GL_OVR_multiview2","require","fragment"),this.enableExtension("GL_OVR_multiview2","require","vertex"),this.builtins.vertex.push("layout(num_views = 2) in")}registerTransform(y,E){this.transforms.push({varyingName:y,attributeNode:E})}getTransforms(){const y=this.transforms;let E="";for(let z=0;z ${ge} `),z+=`${de.code} `,le===ie&&E!=="compute"&&(z+=`// result - `,E==="vertex"?(z+="gl_Position = ",z+=`${de.result};`):E==="fragment"&&(le.outputNode.isOutputStructNode||(z+="fragColor = ",z+=`${de.result};`)))}const se=y[E];se.extensions=this.getExtensions(E),se.uniforms=this.getUniforms(E),se.attributes=this.getAttributes(E),se.varyings=this.getVaryings(E),se.vars=this.getVars(E),se.structs=this.getStructs(E),se.codes=this.getCodes(E),se.transforms=this.getTransforms(E),se.flow=z}this.material!==null?(this.vertexShader=this._getGLSLVertexCode(y.vertex),this.fragmentShader=this._getGLSLFragmentCode(y.fragment)):this.computeShader=this._getGLSLVertexCode(y.compute)}getUniformFromNode(y,E,z,ne=null){const ie=super.getUniformFromNode(y,E,z,ne),se=this.getDataFromNode(y,z,this.globalCache);let le=se.uniformGPU;if(le===void 0){const de=y.groupNode,ge=de.name,ve=this.getBindGroupArray(ge,z);if(E==="texture")le=new jB(ie.name,ie.node,de),ve.push(le);else if(E==="cubeTexture")le=new H9(ie.name,ie.node,de),ve.push(le);else if(E==="texture3D")le=new U9(ie.name,ie.node,de),ve.push(le);else if(E==="buffer"){y.name=`NodeBuffer_${y.id}`,ie.name=`buffer${y.id}`;const xe=new k9(y,de);xe.name=y.name,ve.push(xe),le=xe}else{const xe=this.uniformGroups[z]||(this.uniformGroups[z]={});let Se=xe[ge];Se===void 0&&(Se=new z9(z+"_"+ge,de),xe[ge]=Se,ve.push(Se)),le=this.getNodeUniform(ie,E),Se.addUniform(le)}se.uniformGPU=le}return ie}}let GF=null,kE=null;class W9{constructor(y={}){this.parameters=Object.assign({},y),this.data=new WeakMap,this.renderer=null,this.domElement=null,this.timestampQueryPool={render:null,compute:null},this.trackTimestamp=y.trackTimestamp===!0}init(y){return la(this,null,function*(){this.renderer=y})}get coordinateSystem(){}beginRender(){}finishRender(){}beginCompute(){}finishCompute(){}draw(){}compute(){}createProgram(){}destroyProgram(){}createBindings(){}updateBindings(){}updateBinding(){}createRenderPipeline(){}createComputePipeline(){}needsRenderUpdate(){}getRenderCacheKey(){}createNodeBuilder(){}createSampler(){}destroySampler(){}createDefaultTexture(){}createTexture(){}updateTexture(){}generateMipmaps(){}destroyTexture(){}copyTextureToBuffer(){return la(this,null,function*(){})}copyTextureToTexture(){}copyFramebufferToTexture(){}createAttribute(){}createIndexAttribute(){}createStorageAttribute(){}updateAttribute(){}destroyAttribute(){}getContext(){}updateSize(){}updateViewport(){}isOccluded(){}resolveTimestampsAsync(y="render"){return la(this,null,function*(){if(!this.trackTimestamp){Cs("WebGPURenderer: Timestamp tracking is disabled.");return}const E=this.timestampQueryPool[y];if(!E){Cs(`WebGPURenderer: No timestamp query pool for type '${y}' found.`);return}const z=yield E.resolveQueriesAsync();return this.renderer.info[y].timestamp=z,z})}waitForGPU(){return la(this,null,function*(){})}getArrayBufferAsync(){return la(this,null,function*(){})}hasFeatureAsync(){return la(this,null,function*(){})}hasFeature(){}getMaxAnisotropy(){}getDrawingBufferSize(){return GF=GF||new ki,this.renderer.getDrawingBufferSize(GF)}setScissorTest(){}getClearColor(){const y=this.renderer;return kE=kE||new lF,y.getClearColor(kE),kE.getRGB(kE),kE}getDomElement(){let y=this.domElement;return y===null&&(y=this.parameters.canvas!==void 0?this.parameters.canvas:JA(),"setAttribute"in y&&y.setAttribute("data-engine",`three.js r${vp} webgpu`),this.domElement=y),y}set(y,E){this.data.set(y,E)}get(y){let E=this.data.get(y);return E===void 0&&(E={},this.data.set(y,E)),E}has(y){return this.data.has(y)}delete(y){this.data.delete(y)}dispose(){}}let Lq=0;class Nq{constructor(y,E){this.buffers=[y.bufferGPU,E],this.type=y.type,this.bufferType=y.bufferType,this.pbo=y.pbo,this.byteLength=y.byteLength,this.bytesPerElement=y.BYTES_PER_ELEMENT,this.version=y.version,this.isInteger=y.isInteger,this.activeBufferIndex=0,this.baseId=y.id}get id(){return`${this.baseId}|${this.activeBufferIndex}`}get bufferGPU(){return this.buffers[this.activeBufferIndex]}get transformBuffer(){return this.buffers[this.activeBufferIndex^1]}switchBuffers(){this.activeBufferIndex^=1}}class Iq{constructor(y){this.backend=y}createAttribute(y,E){const z=this.backend,{gl:ne}=z,ie=y.array,se=y.usage||ne.STATIC_DRAW,le=y.isInterleavedBufferAttribute?y.data:y,de=z.get(le);let ge=de.bufferGPU;ge===void 0&&(ge=this._createBuffer(ne,E,ie,se),de.bufferGPU=ge,de.bufferType=E,de.version=le.version);let ve;if(ie instanceof Float32Array)ve=ne.FLOAT;else if(typeof Float16Array!="undefined"&&ie instanceof Float16Array)ve=ne.HALF_FLOAT;else if(ie instanceof Uint16Array)y.isFloat16BufferAttribute?ve=ne.HALF_FLOAT:ve=ne.UNSIGNED_SHORT;else if(ie instanceof Int16Array)ve=ne.SHORT;else if(ie instanceof Uint32Array)ve=ne.UNSIGNED_INT;else if(ie instanceof Int32Array)ve=ne.INT;else if(ie instanceof Int8Array)ve=ne.BYTE;else if(ie instanceof Uint8Array)ve=ne.UNSIGNED_BYTE;else if(ie instanceof Uint8ClampedArray)ve=ne.UNSIGNED_BYTE;else throw new Error("THREE.WebGLBackend: Unsupported buffer data format: "+ie);let xe={bufferGPU:ge,bufferType:E,type:ve,byteLength:ie.byteLength,bytesPerElement:ie.BYTES_PER_ELEMENT,version:y.version,pbo:y.pbo,isInteger:ve===ne.INT||ve===ne.UNSIGNED_INT||y.gpuType===tc,id:Lq++};if(y.isStorageBufferAttribute||y.isStorageInstancedBufferAttribute){const Se=this._createBuffer(ne,E,ie,se);xe=new Nq(xe,Se)}z.set(y,xe)}updateAttribute(y){const E=this.backend,{gl:z}=E,ne=y.array,ie=y.isInterleavedBufferAttribute?y.data:y,se=E.get(ie),le=se.bufferType,de=y.isInterleavedBufferAttribute?y.data.updateRanges:y.updateRanges;if(z.bindBuffer(le,se.bufferGPU),de.length===0)z.bufferSubData(le,0,ne);else{for(let ge=0,ve=de.length;ge1?this.enable(ne.SAMPLE_ALPHA_TO_COVERAGE):this.disable(ne.SAMPLE_ALPHA_TO_COVERAGE),z>0&&this.currentClippingPlanes!==z)for(let de=0;de<8;de++)de{function ie(){const se=y.clientWaitSync(E,y.SYNC_FLUSH_COMMANDS_BIT,0);if(se===y.WAIT_FAILED){y.deleteSync(E),ne();return}if(se===y.TIMEOUT_EXPIRED){requestAnimationFrame(ie);return}y.deleteSync(E),z()}ie()})}}let Q9=!1,GB,WF,Y9;class kq{constructor(y){this.backend=y,this.gl=y.gl,this.extensions=y.extensions,this.defaultTextures={},Q9===!1&&(this._init(),Q9=!0)}_init(){const y=this.gl;GB={[ih]:y.REPEAT,[bh]:y.CLAMP_TO_EDGE,[Sp]:y.MIRRORED_REPEAT},WF={[xu]:y.NEAREST,[Pp]:y.NEAREST_MIPMAP_NEAREST,[vg]:y.NEAREST_MIPMAP_LINEAR,[tu]:y.LINEAR,[Cp]:y.LINEAR_MIPMAP_NEAREST,[Nc]:y.LINEAR_MIPMAP_LINEAR},Y9={[ic]:y.NEVER,[ef]:y.ALWAYS,[sl]:y.LESS,[vc]:y.LEQUAL,[Su]:y.EQUAL,[du]:y.GEQUAL,[kc]:y.GREATER,[Ef]:y.NOTEQUAL}}getGLTextureType(y){const{gl:E}=this;let z;return y.isCubeTexture===!0?z=E.TEXTURE_CUBE_MAP:y.isArrayTexture===!0||y.isDataArrayTexture===!0||y.isCompressedArrayTexture===!0?z=E.TEXTURE_2D_ARRAY:y.isData3DTexture===!0?z=E.TEXTURE_3D:z=E.TEXTURE_2D,z}getInternalFormat(y,E,z,ne,ie=!1){const{gl:se,extensions:le}=this;if(y!==null){if(se[y]!==void 0)return se[y];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+y+"'")}let de=E;if(E===se.RED&&(z===se.FLOAT&&(de=se.R32F),z===se.HALF_FLOAT&&(de=se.R16F),z===se.UNSIGNED_BYTE&&(de=se.R8),z===se.UNSIGNED_SHORT&&(de=se.R16),z===se.UNSIGNED_INT&&(de=se.R32UI),z===se.BYTE&&(de=se.R8I),z===se.SHORT&&(de=se.R16I),z===se.INT&&(de=se.R32I)),E===se.RED_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.R8UI),z===se.UNSIGNED_SHORT&&(de=se.R16UI),z===se.UNSIGNED_INT&&(de=se.R32UI),z===se.BYTE&&(de=se.R8I),z===se.SHORT&&(de=se.R16I),z===se.INT&&(de=se.R32I)),E===se.RG&&(z===se.FLOAT&&(de=se.RG32F),z===se.HALF_FLOAT&&(de=se.RG16F),z===se.UNSIGNED_BYTE&&(de=se.RG8),z===se.UNSIGNED_SHORT&&(de=se.RG16),z===se.UNSIGNED_INT&&(de=se.RG32UI),z===se.BYTE&&(de=se.RG8I),z===se.SHORT&&(de=se.RG16I),z===se.INT&&(de=se.RG32I)),E===se.RG_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.RG8UI),z===se.UNSIGNED_SHORT&&(de=se.RG16UI),z===se.UNSIGNED_INT&&(de=se.RG32UI),z===se.BYTE&&(de=se.RG8I),z===se.SHORT&&(de=se.RG16I),z===se.INT&&(de=se.RG32I)),E===se.RGB){const ge=ie?Ri:ys.getTransfer(ne);z===se.FLOAT&&(de=se.RGB32F),z===se.HALF_FLOAT&&(de=se.RGB16F),z===se.UNSIGNED_BYTE&&(de=se.RGB8),z===se.UNSIGNED_SHORT&&(de=se.RGB16),z===se.UNSIGNED_INT&&(de=se.RGB32UI),z===se.BYTE&&(de=se.RGB8I),z===se.SHORT&&(de=se.RGB16I),z===se.INT&&(de=se.RGB32I),z===se.UNSIGNED_BYTE&&(de=ge===kn?se.SRGB8:se.RGB8),z===se.UNSIGNED_SHORT_5_6_5&&(de=se.RGB565),z===se.UNSIGNED_SHORT_5_5_5_1&&(de=se.RGB5_A1),z===se.UNSIGNED_SHORT_4_4_4_4&&(de=se.RGB4),z===se.UNSIGNED_INT_5_9_9_9_REV&&(de=se.RGB9_E5)}if(E===se.RGB_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.RGB8UI),z===se.UNSIGNED_SHORT&&(de=se.RGB16UI),z===se.UNSIGNED_INT&&(de=se.RGB32UI),z===se.BYTE&&(de=se.RGB8I),z===se.SHORT&&(de=se.RGB16I),z===se.INT&&(de=se.RGB32I)),E===se.RGBA){const ge=ie?Ri:ys.getTransfer(ne);z===se.FLOAT&&(de=se.RGBA32F),z===se.HALF_FLOAT&&(de=se.RGBA16F),z===se.UNSIGNED_BYTE&&(de=se.RGBA8),z===se.UNSIGNED_SHORT&&(de=se.RGBA16),z===se.UNSIGNED_INT&&(de=se.RGBA32UI),z===se.BYTE&&(de=se.RGBA8I),z===se.SHORT&&(de=se.RGBA16I),z===se.INT&&(de=se.RGBA32I),z===se.UNSIGNED_BYTE&&(de=ge===kn?se.SRGB8_ALPHA8:se.RGBA8),z===se.UNSIGNED_SHORT_4_4_4_4&&(de=se.RGBA4),z===se.UNSIGNED_SHORT_5_5_5_1&&(de=se.RGB5_A1)}return E===se.RGBA_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.RGBA8UI),z===se.UNSIGNED_SHORT&&(de=se.RGBA16UI),z===se.UNSIGNED_INT&&(de=se.RGBA32UI),z===se.BYTE&&(de=se.RGBA8I),z===se.SHORT&&(de=se.RGBA16I),z===se.INT&&(de=se.RGBA32I)),E===se.DEPTH_COMPONENT&&(z===se.UNSIGNED_SHORT&&(de=se.DEPTH_COMPONENT16),z===se.UNSIGNED_INT&&(de=se.DEPTH_COMPONENT24),z===se.FLOAT&&(de=se.DEPTH_COMPONENT32F)),E===se.DEPTH_STENCIL&&z===se.UNSIGNED_INT_24_8&&(de=se.DEPTH24_STENCIL8),(de===se.R16F||de===se.R32F||de===se.RG16F||de===se.RG32F||de===se.RGBA16F||de===se.RGBA32F)&&le.get("EXT_color_buffer_float"),de}setTextureParameters(y,E){const{gl:z,extensions:ne,backend:ie}=this,se=ys.getPrimaries(ys.workingColorSpace),le=E.colorSpace===Tt?null:ys.getPrimaries(E.colorSpace),de=E.colorSpace===Tt||se===le?z.NONE:z.BROWSER_DEFAULT_WEBGL;z.pixelStorei(z.UNPACK_FLIP_Y_WEBGL,E.flipY),z.pixelStorei(z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,E.premultiplyAlpha),z.pixelStorei(z.UNPACK_ALIGNMENT,E.unpackAlignment),z.pixelStorei(z.UNPACK_COLORSPACE_CONVERSION_WEBGL,de),z.texParameteri(y,z.TEXTURE_WRAP_S,GB[E.wrapS]),z.texParameteri(y,z.TEXTURE_WRAP_T,GB[E.wrapT]),(y===z.TEXTURE_3D||y===z.TEXTURE_2D_ARRAY)&&(E.isArrayTexture||z.texParameteri(y,z.TEXTURE_WRAP_R,GB[E.wrapR])),z.texParameteri(y,z.TEXTURE_MAG_FILTER,WF[E.magFilter]);const ge=E.mipmaps!==void 0&&E.mipmaps.length>0,ve=E.minFilter===tu&&ge?Nc:E.minFilter;if(z.texParameteri(y,z.TEXTURE_MIN_FILTER,WF[ve]),E.compareFunction&&(z.texParameteri(y,z.TEXTURE_COMPARE_MODE,z.COMPARE_REF_TO_TEXTURE),z.texParameteri(y,z.TEXTURE_COMPARE_FUNC,Y9[E.compareFunction])),ne.has("EXT_texture_filter_anisotropic")===!0){if(E.magFilter===xu||E.minFilter!==vg&&E.minFilter!==Nc||E.type===wu&&ne.has("OES_texture_float_linear")===!1)return;if(E.anisotropy>1){const xe=ne.get("EXT_texture_filter_anisotropic");z.texParameterf(y,xe.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(E.anisotropy,ie.getMaxAnisotropy()))}}}createDefaultTexture(y){const{gl:E,backend:z,defaultTextures:ne}=this,ie=this.getGLTextureType(y);let se=ne[ie];se===void 0&&(se=E.createTexture(),z.state.bindTexture(ie,se),E.texParameteri(ie,E.TEXTURE_MIN_FILTER,E.NEAREST),E.texParameteri(ie,E.TEXTURE_MAG_FILTER,E.NEAREST),ne[ie]=se),z.set(y,{textureGPU:se,glTextureType:ie,isDefault:!0})}createTexture(y,E){const{gl:z,backend:ne}=this,{levels:ie,width:se,height:le,depth:de}=E,ge=ne.utils.convert(y.format,y.colorSpace),ve=ne.utils.convert(y.type),xe=this.getInternalFormat(y.internalFormat,ge,ve,y.colorSpace,y.isVideoTexture),Se=z.createTexture(),Me=this.getGLTextureType(y);ne.state.bindTexture(Me,Se),this.setTextureParameters(Me,y),y.isArrayTexture||y.isDataArrayTexture||y.isCompressedArrayTexture?z.texStorage3D(z.TEXTURE_2D_ARRAY,ie,xe,se,le,de):y.isData3DTexture?z.texStorage3D(z.TEXTURE_3D,ie,xe,se,le,de):y.isVideoTexture||z.texStorage2D(Me,ie,xe,se,le),ne.set(y,{textureGPU:Se,glTextureType:Me,glFormat:ge,glType:ve,glInternalFormat:xe})}copyBufferToTexture(y,E){const{gl:z,backend:ne}=this,{textureGPU:ie,glTextureType:se,glFormat:le,glType:de}=ne.get(E),{width:ge,height:ve}=E.source.data;z.bindBuffer(z.PIXEL_UNPACK_BUFFER,y),ne.state.bindTexture(se,ie),z.pixelStorei(z.UNPACK_FLIP_Y_WEBGL,!1),z.pixelStorei(z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),z.texSubImage2D(se,0,0,0,ge,ve,le,de,0),z.bindBuffer(z.PIXEL_UNPACK_BUFFER,null),ne.state.unbindTexture()}updateTexture(y,E){const{gl:z}=this,{width:ne,height:ie}=E,{textureGPU:se,glTextureType:le,glFormat:de,glType:ge,glInternalFormat:ve}=this.backend.get(y);if(!(y.isRenderTargetTexture||se===void 0))if(this.backend.state.bindTexture(le,se),this.setTextureParameters(le,y),y.isCompressedTexture){const xe=y.mipmaps,Se=E.image;for(let Me=0;Me0,Se=E.renderTarget?E.renderTarget.height:this.backend.getDrawingBufferSize().y;if(xe){const Me=le!==0||de!==0;let De,Oe;if(y.isDepthTexture===!0?(De=ne.DEPTH_BUFFER_BIT,Oe=ne.DEPTH_ATTACHMENT,E.stencil&&(De|=ne.STENCIL_BUFFER_BIT)):(De=ne.COLOR_BUFFER_BIT,Oe=ne.COLOR_ATTACHMENT0),Me){const Re=this.backend.get(E.renderTarget),Le=Re.framebuffers[E.getCacheKey()],Qe=Re.msaaFrameBuffer;ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,Le),ie.bindFramebuffer(ne.READ_FRAMEBUFFER,Qe);const Xe=Se-de-ve;ne.blitFramebuffer(le,Xe,le+ge,Xe+ve,le,Xe,le+ge,Xe+ve,De,ne.NEAREST),ie.bindFramebuffer(ne.READ_FRAMEBUFFER,Le),ie.bindTexture(ne.TEXTURE_2D,se),ne.copyTexSubImage2D(ne.TEXTURE_2D,0,0,0,le,Xe,ge,ve),ie.unbindTexture()}else{const Re=ne.createFramebuffer();ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,Re),ne.framebufferTexture2D(ne.DRAW_FRAMEBUFFER,Oe,ne.TEXTURE_2D,se,0),ne.blitFramebuffer(0,0,ge,ve,0,0,ge,ve,De,ne.NEAREST),ne.deleteFramebuffer(Re)}}else ie.bindTexture(ne.TEXTURE_2D,se),ne.copyTexSubImage2D(ne.TEXTURE_2D,0,0,0,le,Se-ve-de,ge,ve),ie.unbindTexture();y.generateMipmaps&&this.generateMipmaps(y),this.backend._setFramebuffer(E)}setupRenderBufferStorage(y,E,z,ne=!1){const{gl:ie}=this,se=E.renderTarget,{depthTexture:le,depthBuffer:de,stencilBuffer:ge,width:ve,height:xe}=se;if(ie.bindRenderbuffer(ie.RENDERBUFFER,y),de&&!ge){let Se=ie.DEPTH_COMPONENT24;ne===!0?this.extensions.get("WEBGL_multisampled_render_to_texture").renderbufferStorageMultisampleEXT(ie.RENDERBUFFER,se.samples,Se,ve,xe):z>0?(le&&le.isDepthTexture&&le.type===ie.FLOAT&&(Se=ie.DEPTH_COMPONENT32F),ie.renderbufferStorageMultisample(ie.RENDERBUFFER,z,Se,ve,xe)):ie.renderbufferStorage(ie.RENDERBUFFER,Se,ve,xe),ie.framebufferRenderbuffer(ie.FRAMEBUFFER,ie.DEPTH_ATTACHMENT,ie.RENDERBUFFER,y)}else de&&ge&&(z>0?ie.renderbufferStorageMultisample(ie.RENDERBUFFER,z,ie.DEPTH24_STENCIL8,ve,xe):ie.renderbufferStorage(ie.RENDERBUFFER,ie.DEPTH_STENCIL,ve,xe),ie.framebufferRenderbuffer(ie.FRAMEBUFFER,ie.DEPTH_STENCIL_ATTACHMENT,ie.RENDERBUFFER,y));ie.bindRenderbuffer(ie.RENDERBUFFER,null)}copyTextureToBuffer(y,E,z,ne,ie,se){return la(this,null,function*(){const{backend:le,gl:de}=this,{textureGPU:ge,glFormat:ve,glType:xe}=this.backend.get(y),Se=de.createFramebuffer();de.bindFramebuffer(de.READ_FRAMEBUFFER,Se);const Me=y.isCubeTexture?de.TEXTURE_CUBE_MAP_POSITIVE_X+se:de.TEXTURE_2D;de.framebufferTexture2D(de.READ_FRAMEBUFFER,de.COLOR_ATTACHMENT0,Me,ge,0);const De=this._getTypedArrayType(xe),Oe=this._getBytesPerTexel(xe,ve),Le=ne*ie*Oe,Qe=de.createBuffer();de.bindBuffer(de.PIXEL_PACK_BUFFER,Qe),de.bufferData(de.PIXEL_PACK_BUFFER,Le,de.STREAM_READ),de.readPixels(E,z,ne,ie,ve,xe,0),de.bindBuffer(de.PIXEL_PACK_BUFFER,null),yield le.utils._clientWaitAsync();const Xe=new De(Le/De.BYTES_PER_ELEMENT);return de.bindBuffer(de.PIXEL_PACK_BUFFER,Qe),de.getBufferSubData(de.PIXEL_PACK_BUFFER,0,Xe),de.bindBuffer(de.PIXEL_PACK_BUFFER,null),de.deleteFramebuffer(Se),Xe})}_getTypedArrayType(y){const{gl:E}=this;if(y===E.UNSIGNED_BYTE)return Uint8Array;if(y===E.UNSIGNED_SHORT_4_4_4_4||y===E.UNSIGNED_SHORT_5_5_5_1||y===E.UNSIGNED_SHORT_5_6_5||y===E.UNSIGNED_SHORT)return Uint16Array;if(y===E.UNSIGNED_INT)return Uint32Array;if(y===E.HALF_FLOAT)return Uint16Array;if(y===E.FLOAT)return Float32Array;throw new Error(`Unsupported WebGL type: ${y}`)}_getBytesPerTexel(y,E){const{gl:z}=this;let ne=0;if(y===z.UNSIGNED_BYTE&&(ne=1),(y===z.UNSIGNED_SHORT_4_4_4_4||y===z.UNSIGNED_SHORT_5_5_5_1||y===z.UNSIGNED_SHORT_5_6_5||y===z.UNSIGNED_SHORT||y===z.HALF_FLOAT)&&(ne=2),(y===z.UNSIGNED_INT||y===z.FLOAT)&&(ne=4),E===z.RGBA)return ne*4;if(E===z.RGB)return ne*3;if(E===z.ALPHA)return ne}}function Z9(ee){return ee.isDataTexture?ee.image.data:typeof HTMLImageElement!="undefined"&&ee instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&ee instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&ee instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&ee instanceof OffscreenCanvas?ee:ee.data}class zq{constructor(y){this.backend=y,this.gl=this.backend.gl,this.availableExtensions=this.gl.getSupportedExtensions(),this.extensions={}}get(y){let E=this.extensions[y];return E===void 0&&(E=this.gl.getExtension(y),this.extensions[y]=E),E}has(y){return this.availableExtensions.includes(y)}}class Hq{constructor(y){this.backend=y,this.maxAnisotropy=null}getMaxAnisotropy(){if(this.maxAnisotropy!==null)return this.maxAnisotropy;const y=this.backend.gl,E=this.backend.extensions;if(E.has("EXT_texture_filter_anisotropic")===!0){const z=E.get("EXT_texture_filter_anisotropic");this.maxAnisotropy=y.getParameter(z.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else this.maxAnisotropy=0;return this.maxAnisotropy}}const K9={WEBGL_multi_draw:"WEBGL_multi_draw",WEBGL_compressed_texture_astc:"texture-compression-astc",WEBGL_compressed_texture_etc:"texture-compression-etc2",WEBGL_compressed_texture_etc1:"texture-compression-etc1",WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBKIT_WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBGL_compressed_texture_s3tc:"texture-compression-bc",EXT_texture_compression_bptc:"texture-compression-bptc",EXT_disjoint_timer_query_webgl2:"timestamp-query",OVR_multiview2:"OVR_multiview2"};class Uq{constructor(y){this.gl=y.gl,this.extensions=y.extensions,this.info=y.renderer.info,this.mode=null,this.index=0,this.type=null,this.object=null}render(y,E){const{gl:z,mode:ne,object:ie,type:se,info:le,index:de}=this;de!==0?z.drawElements(ne,E,se,y):z.drawArrays(ne,y,E),le.update(ie,E,1)}renderInstances(y,E,z){const{gl:ne,mode:ie,type:se,index:le,object:de,info:ge}=this;z!==0&&(le!==0?ne.drawElementsInstanced(ie,E,se,y,z):ne.drawArraysInstanced(ie,y,E,z),ge.update(de,E,z))}renderMultiDraw(y,E,z){const{extensions:ne,mode:ie,object:se,info:le}=this;if(z===0)return;const de=ne.get("WEBGL_multi_draw");if(de===null)for(let ge=0;gethis.maxQueries)return Cs(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const E=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryStates.set(E,"inactive"),this.queryOffsets.set(y.id,E),E}beginQuery(y){if(!this.trackTimestamp||this.isDisposed)return;const E=this.queryOffsets.get(y.id);if(E==null||this.activeQuery!==null)return;const z=this.queries[E];if(z)try{this.queryStates.get(E)==="inactive"&&(this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,z),this.activeQuery=E,this.queryStates.set(E,"started"))}catch(ne){console.error("Error in beginQuery:",ne),this.activeQuery=null,this.queryStates.set(E,"inactive")}}endQuery(y){if(!this.trackTimestamp||this.isDisposed)return;const E=this.queryOffsets.get(y.id);if(E!=null&&this.activeQuery===E)try{this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.queryStates.set(E,"ended"),this.activeQuery=null}catch(z){console.error("Error in endQuery:",z),this.queryStates.set(E,"inactive"),this.activeQuery=null}}resolveQueriesAsync(){return la(this,null,function*(){if(!this.trackTimestamp||this.pendingResolve)return this.lastValue;this.pendingResolve=!0;try{const y=[];for(const[ne,ie]of this.queryStates)if(ie==="ended"){const se=this.queries[ne];y.push(this.resolveQuery(se))}if(y.length===0)return this.lastValue;const z=(yield Promise.all(y)).reduce((ne,ie)=>ne+ie,0);return this.lastValue=z,this.currentQueryIndex=0,this.queryOffsets.clear(),this.queryStates.clear(),this.activeQuery=null,z}catch(y){return console.error("Error resolving queries:",y),this.lastValue}finally{this.pendingResolve=!1}})}resolveQuery(y){return la(this,null,function*(){return new Promise(E=>{if(this.isDisposed){E(this.lastValue);return}let z,ne=!1;const ie=()=>{z&&(clearTimeout(z),z=null)},se=de=>{ne||(ne=!0,ie(),E(de))},le=()=>{if(this.isDisposed){se(this.lastValue);return}try{if(this.gl.getParameter(this.ext.GPU_DISJOINT_EXT)){se(this.lastValue);return}if(!this.gl.getQueryParameter(y,this.gl.QUERY_RESULT_AVAILABLE)){z=setTimeout(le,1);return}const ve=this.gl.getQueryParameter(y,this.gl.QUERY_RESULT);E(Number(ve)/1e6)}catch(de){console.error("Error checking query:",de),E(this.lastValue)}};le()})})}dispose(){if(!this.isDisposed&&(this.isDisposed=!0,!!this.trackTimestamp)){for(const y of this.queries)this.gl.deleteQuery(y);this.queries=[],this.queryStates.clear(),this.queryOffsets.clear(),this.lastValue=0,this.activeQuery=null}}}const q9=new ki;class _9 extends W9{constructor(y={}){super(y),this.isWebGLBackend=!0,this.attributeUtils=null,this.extensions=null,this.capabilities=null,this.textureUtils=null,this.bufferRenderer=null,this.gl=null,this.state=null,this.utils=null,this.vaoCache={},this.transformFeedbackCache={},this.discard=!1,this.disjoint=null,this.parallel=null,this._currentContext=null,this._knownBindings=new WeakSet,this._supportsInvalidateFramebuffer=typeof navigator=="undefined"?!1:/OculusBrowser/g.test(navigator.userAgent),this._xrFramebuffer=null}init(y){super.init(y);const E=this.parameters,z={antialias:y.samples>0,alpha:!0,depth:y.depth,stencil:y.stencil},ne=E.context!==void 0?E.context:y.domElement.getContext("webgl2",z);function ie(se){se.preventDefault();const le={api:"WebGL",message:se.statusMessage||"Unknown reason",reason:null,originalEvent:se};y.onDeviceLost(le)}this._onContextLost=ie,y.domElement.addEventListener("webglcontextlost",ie,!1),this.gl=ne,this.extensions=new zq(this),this.capabilities=new Hq(this),this.attributeUtils=new Iq(this),this.textureUtils=new kq(this),this.bufferRenderer=new Uq(this),this.state=new Rq(this),this.utils=new Oq(this),this.extensions.get("EXT_color_buffer_float"),this.extensions.get("WEBGL_clip_cull_distance"),this.extensions.get("OES_texture_float_linear"),this.extensions.get("EXT_color_buffer_half_float"),this.extensions.get("WEBGL_multisampled_render_to_texture"),this.extensions.get("WEBGL_render_shared_exponent"),this.extensions.get("WEBGL_multi_draw"),this.extensions.get("OVR_multiview2"),this.disjoint=this.extensions.get("EXT_disjoint_timer_query_webgl2"),this.parallel=this.extensions.get("KHR_parallel_shader_compile")}get coordinateSystem(){return Cd}getArrayBufferAsync(y){return la(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(y)})}waitForGPU(){return la(this,null,function*(){yield this.utils._clientWaitAsync()})}makeXRCompatible(){return la(this,null,function*(){this.gl.getContextAttributes().xrCompatible!==!0&&(yield this.gl.makeXRCompatible())})}setXRTarget(y){this._xrFramebuffer=y}setXRRenderTargetTextures(y,E,z=null){const ne=this.gl;if(this.set(y.texture,{textureGPU:E,glInternalFormat:ne.RGBA8}),z!==null){const ie=y.stencilBuffer?ne.DEPTH24_STENCIL8:ne.DEPTH_COMPONENT24;this.set(y.depthTexture,{textureGPU:z,glInternalFormat:ie}),this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&y._autoAllocateDepthBuffer===!0&&y.multiview===!1&&console.warn("THREE.WebGLBackend: Render-to-texture extension was disabled because an external texture was provided"),y._autoAllocateDepthBuffer=!1}}initTimestampQuery(y){if(!this.disjoint||!this.trackTimestamp)return;const E=y.isComputeNode?"compute":"render";this.timestampQueryPool[E]||(this.timestampQueryPool[E]=new Vq(this.gl,E,2048));const z=this.timestampQueryPool[E];z.allocateQueriesForContext(y)!==null&&z.beginQuery(y)}prepareTimestampBuffer(y){if(!this.disjoint||!this.trackTimestamp)return;const E=y.isComputeNode?"compute":"render";this.timestampQueryPool[E].endQuery(y)}getContext(){return this.gl}beginRender(y){const{state:E}=this,z=this.get(y);if(y.viewport)this.updateViewport(y);else{const{width:ie,height:se}=this.getDrawingBufferSize(q9);E.viewport(0,0,ie,se)}if(y.scissor){const{x:ie,y:se,width:le,height:de}=y.scissorValue;E.scissor(ie,y.height-de-se,le,de)}this.initTimestampQuery(y),z.previousContext=this._currentContext,this._currentContext=y,this._setFramebuffer(y),this.clear(y.clearColor,y.clearDepth,y.clearStencil,y,!1);const ne=y.occlusionQueryCount;ne>0&&(z.currentOcclusionQueries=z.occlusionQueries,z.currentOcclusionQueryObjects=z.occlusionQueryObjects,z.lastOcclusionObject=null,z.occlusionQueries=new Array(ne),z.occlusionQueryObjects=new Array(ne),z.occlusionQueryIndex=0)}finishRender(y){const{gl:E,state:z}=this,ne=this.get(y),ie=ne.previousContext;z.resetVertexState();const se=y.occlusionQueryCount;se>0&&(se>ne.occlusionQueryIndex&&E.endQuery(E.ANY_SAMPLES_PASSED),this.resolveOccludedAsync(y));const le=y.textures;if(le!==null)for(let ge=0;ge0&&this._useMultisampledExtension(de)===!1){const ve=ge.framebuffers[y.getCacheKey()];let xe=E.COLOR_BUFFER_BIT;de.resolveDepthBuffer&&(de.depthBuffer&&(xe|=E.DEPTH_BUFFER_BIT),de.stencilBuffer&&de.resolveStencilBuffer&&(xe|=E.STENCIL_BUFFER_BIT));const Se=ge.msaaFrameBuffer,Me=ge.msaaRenderbuffers,De=y.textures,Oe=De.length>1;if(z.bindFramebuffer(E.READ_FRAMEBUFFER,Se),z.bindFramebuffer(E.DRAW_FRAMEBUFFER,ve),Oe)for(let Re=0;Re{let de=0;for(let ge=0;ge{E.isBatchedMesh?E._multiDrawInstances!==null?(Cs("THREE.WebGLBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),Xe.renderMultiDrawInstances(E._multiDrawStarts,E._multiDrawCounts,E._multiDrawCount,E._multiDrawInstances)):this.hasFeature("WEBGL_multi_draw")?Xe.renderMultiDraw(E._multiDrawStarts,E._multiDrawCounts,E._multiDrawCount):Cs("THREE.WebGLRenderer: WEBGL_multi_draw not supported."):it>1?Xe.renderInstances(et,Ze,it):Xe.render(et,Ze)};if(y.camera.isArrayCamera===!0&&y.camera.cameras.length>0&&y.camera.isMultiViewCamera===!1){const lt=this.get(y.camera),ot=y.camera.cameras,rt=y.getBindingGroup("cameraIndex").bindings[0];if(lt.indexesGPU===void 0||lt.indexesGPU.length!==ot.length){const Zn=new Uint32Array([0,0,0,0]),ti=[];for(let bn=0,rn=ot.length;bn{const Se=this.parallel,Me=()=>{z.getProgramParameter(le,Se.COMPLETION_STATUS_KHR)?(this._completeCompile(y,ne),xe()):requestAnimationFrame(Me)};Me()});E.push(ve);return}this._completeCompile(y,ne)}_handleSource(y,E){const z=y.split(` + `,E==="vertex"?(z+="gl_Position = ",z+=`${de.result};`):E==="fragment"&&(le.outputNode.isOutputStructNode||(z+="fragColor = ",z+=`${de.result};`)))}const se=y[E];se.extensions=this.getExtensions(E),se.uniforms=this.getUniforms(E),se.attributes=this.getAttributes(E),se.varyings=this.getVaryings(E),se.vars=this.getVars(E),se.structs=this.getStructs(E),se.codes=this.getCodes(E),se.transforms=this.getTransforms(E),se.flow=z}this.material!==null?(this.vertexShader=this._getGLSLVertexCode(y.vertex),this.fragmentShader=this._getGLSLFragmentCode(y.fragment)):this.computeShader=this._getGLSLVertexCode(y.compute)}getUniformFromNode(y,E,z,ne=null){const ie=super.getUniformFromNode(y,E,z,ne),se=this.getDataFromNode(y,z,this.globalCache);let le=se.uniformGPU;if(le===void 0){const de=y.groupNode,ge=de.name,ve=this.getBindGroupArray(ge,z);if(E==="texture")le=new jB(ie.name,ie.node,de),ve.push(le);else if(E==="cubeTexture")le=new U9(ie.name,ie.node,de),ve.push(le);else if(E==="texture3D")le=new V9(ie.name,ie.node,de),ve.push(le);else if(E==="buffer"){y.name=`NodeBuffer_${y.id}`,ie.name=`buffer${y.id}`;const xe=new z9(y,de);xe.name=y.name,ve.push(xe),le=xe}else{const xe=this.uniformGroups[z]||(this.uniformGroups[z]={});let Se=xe[ge];Se===void 0&&(Se=new H9(z+"_"+ge,de),xe[ge]=Se,ve.push(Se)),le=this.getNodeUniform(ie,E),Se.addUniform(le)}se.uniformGPU=le}return ie}}let GF=null,kE=null;class Q9{constructor(y={}){this.parameters=Object.assign({},y),this.data=new WeakMap,this.renderer=null,this.domElement=null,this.timestampQueryPool={render:null,compute:null},this.trackTimestamp=y.trackTimestamp===!0}init(y){return la(this,null,function*(){this.renderer=y})}get coordinateSystem(){}beginRender(){}finishRender(){}beginCompute(){}finishCompute(){}draw(){}compute(){}createProgram(){}destroyProgram(){}createBindings(){}updateBindings(){}updateBinding(){}createRenderPipeline(){}createComputePipeline(){}needsRenderUpdate(){}getRenderCacheKey(){}createNodeBuilder(){}createSampler(){}destroySampler(){}createDefaultTexture(){}createTexture(){}updateTexture(){}generateMipmaps(){}destroyTexture(){}copyTextureToBuffer(){return la(this,null,function*(){})}copyTextureToTexture(){}copyFramebufferToTexture(){}createAttribute(){}createIndexAttribute(){}createStorageAttribute(){}updateAttribute(){}destroyAttribute(){}getContext(){}updateSize(){}updateViewport(){}isOccluded(){}resolveTimestampsAsync(y="render"){return la(this,null,function*(){if(!this.trackTimestamp){Cs("WebGPURenderer: Timestamp tracking is disabled.");return}const E=this.timestampQueryPool[y];if(!E){Cs(`WebGPURenderer: No timestamp query pool for type '${y}' found.`);return}const z=yield E.resolveQueriesAsync();return this.renderer.info[y].timestamp=z,z})}waitForGPU(){return la(this,null,function*(){})}getArrayBufferAsync(){return la(this,null,function*(){})}hasFeatureAsync(){return la(this,null,function*(){})}hasFeature(){}getMaxAnisotropy(){}getDrawingBufferSize(){return GF=GF||new ki,this.renderer.getDrawingBufferSize(GF)}setScissorTest(){}getClearColor(){const y=this.renderer;return kE=kE||new lF,y.getClearColor(kE),kE.getRGB(kE),kE}getDomElement(){let y=this.domElement;return y===null&&(y=this.parameters.canvas!==void 0?this.parameters.canvas:JA(),"setAttribute"in y&&y.setAttribute("data-engine",`three.js r${vp} webgpu`),this.domElement=y),y}set(y,E){this.data.set(y,E)}get(y){let E=this.data.get(y);return E===void 0&&(E={},this.data.set(y,E)),E}has(y){return this.data.has(y)}delete(y){this.data.delete(y)}dispose(){}}let Nq=0;class Iq{constructor(y,E){this.buffers=[y.bufferGPU,E],this.type=y.type,this.bufferType=y.bufferType,this.pbo=y.pbo,this.byteLength=y.byteLength,this.bytesPerElement=y.BYTES_PER_ELEMENT,this.version=y.version,this.isInteger=y.isInteger,this.activeBufferIndex=0,this.baseId=y.id}get id(){return`${this.baseId}|${this.activeBufferIndex}`}get bufferGPU(){return this.buffers[this.activeBufferIndex]}get transformBuffer(){return this.buffers[this.activeBufferIndex^1]}switchBuffers(){this.activeBufferIndex^=1}}class Rq{constructor(y){this.backend=y}createAttribute(y,E){const z=this.backend,{gl:ne}=z,ie=y.array,se=y.usage||ne.STATIC_DRAW,le=y.isInterleavedBufferAttribute?y.data:y,de=z.get(le);let ge=de.bufferGPU;ge===void 0&&(ge=this._createBuffer(ne,E,ie,se),de.bufferGPU=ge,de.bufferType=E,de.version=le.version);let ve;if(ie instanceof Float32Array)ve=ne.FLOAT;else if(typeof Float16Array!="undefined"&&ie instanceof Float16Array)ve=ne.HALF_FLOAT;else if(ie instanceof Uint16Array)y.isFloat16BufferAttribute?ve=ne.HALF_FLOAT:ve=ne.UNSIGNED_SHORT;else if(ie instanceof Int16Array)ve=ne.SHORT;else if(ie instanceof Uint32Array)ve=ne.UNSIGNED_INT;else if(ie instanceof Int32Array)ve=ne.INT;else if(ie instanceof Int8Array)ve=ne.BYTE;else if(ie instanceof Uint8Array)ve=ne.UNSIGNED_BYTE;else if(ie instanceof Uint8ClampedArray)ve=ne.UNSIGNED_BYTE;else throw new Error("THREE.WebGLBackend: Unsupported buffer data format: "+ie);let xe={bufferGPU:ge,bufferType:E,type:ve,byteLength:ie.byteLength,bytesPerElement:ie.BYTES_PER_ELEMENT,version:y.version,pbo:y.pbo,isInteger:ve===ne.INT||ve===ne.UNSIGNED_INT||y.gpuType===tc,id:Nq++};if(y.isStorageBufferAttribute||y.isStorageInstancedBufferAttribute){const Se=this._createBuffer(ne,E,ie,se);xe=new Iq(xe,Se)}z.set(y,xe)}updateAttribute(y){const E=this.backend,{gl:z}=E,ne=y.array,ie=y.isInterleavedBufferAttribute?y.data:y,se=E.get(ie),le=se.bufferType,de=y.isInterleavedBufferAttribute?y.data.updateRanges:y.updateRanges;if(z.bindBuffer(le,se.bufferGPU),de.length===0)z.bufferSubData(le,0,ne);else{for(let ge=0,ve=de.length;ge1?this.enable(ne.SAMPLE_ALPHA_TO_COVERAGE):this.disable(ne.SAMPLE_ALPHA_TO_COVERAGE),z>0&&this.currentClippingPlanes!==z)for(let de=0;de<8;de++)de{function ie(){const se=y.clientWaitSync(E,y.SYNC_FLUSH_COMMANDS_BIT,0);if(se===y.WAIT_FAILED){y.deleteSync(E),ne();return}if(se===y.TIMEOUT_EXPIRED){requestAnimationFrame(ie);return}y.deleteSync(E),z()}ie()})}}let Y9=!1,GB,WF,Z9;class zq{constructor(y){this.backend=y,this.gl=y.gl,this.extensions=y.extensions,this.defaultTextures={},Y9===!1&&(this._init(),Y9=!0)}_init(){const y=this.gl;GB={[ih]:y.REPEAT,[bh]:y.CLAMP_TO_EDGE,[Sp]:y.MIRRORED_REPEAT},WF={[xu]:y.NEAREST,[Pp]:y.NEAREST_MIPMAP_NEAREST,[vg]:y.NEAREST_MIPMAP_LINEAR,[tu]:y.LINEAR,[Cp]:y.LINEAR_MIPMAP_NEAREST,[Nc]:y.LINEAR_MIPMAP_LINEAR},Z9={[ic]:y.NEVER,[ef]:y.ALWAYS,[sl]:y.LESS,[vc]:y.LEQUAL,[Su]:y.EQUAL,[du]:y.GEQUAL,[kc]:y.GREATER,[Ef]:y.NOTEQUAL}}getGLTextureType(y){const{gl:E}=this;let z;return y.isCubeTexture===!0?z=E.TEXTURE_CUBE_MAP:y.isArrayTexture===!0||y.isDataArrayTexture===!0||y.isCompressedArrayTexture===!0?z=E.TEXTURE_2D_ARRAY:y.isData3DTexture===!0?z=E.TEXTURE_3D:z=E.TEXTURE_2D,z}getInternalFormat(y,E,z,ne,ie=!1){const{gl:se,extensions:le}=this;if(y!==null){if(se[y]!==void 0)return se[y];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+y+"'")}let de=E;if(E===se.RED&&(z===se.FLOAT&&(de=se.R32F),z===se.HALF_FLOAT&&(de=se.R16F),z===se.UNSIGNED_BYTE&&(de=se.R8),z===se.UNSIGNED_SHORT&&(de=se.R16),z===se.UNSIGNED_INT&&(de=se.R32UI),z===se.BYTE&&(de=se.R8I),z===se.SHORT&&(de=se.R16I),z===se.INT&&(de=se.R32I)),E===se.RED_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.R8UI),z===se.UNSIGNED_SHORT&&(de=se.R16UI),z===se.UNSIGNED_INT&&(de=se.R32UI),z===se.BYTE&&(de=se.R8I),z===se.SHORT&&(de=se.R16I),z===se.INT&&(de=se.R32I)),E===se.RG&&(z===se.FLOAT&&(de=se.RG32F),z===se.HALF_FLOAT&&(de=se.RG16F),z===se.UNSIGNED_BYTE&&(de=se.RG8),z===se.UNSIGNED_SHORT&&(de=se.RG16),z===se.UNSIGNED_INT&&(de=se.RG32UI),z===se.BYTE&&(de=se.RG8I),z===se.SHORT&&(de=se.RG16I),z===se.INT&&(de=se.RG32I)),E===se.RG_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.RG8UI),z===se.UNSIGNED_SHORT&&(de=se.RG16UI),z===se.UNSIGNED_INT&&(de=se.RG32UI),z===se.BYTE&&(de=se.RG8I),z===se.SHORT&&(de=se.RG16I),z===se.INT&&(de=se.RG32I)),E===se.RGB){const ge=ie?Ri:ys.getTransfer(ne);z===se.FLOAT&&(de=se.RGB32F),z===se.HALF_FLOAT&&(de=se.RGB16F),z===se.UNSIGNED_BYTE&&(de=se.RGB8),z===se.UNSIGNED_SHORT&&(de=se.RGB16),z===se.UNSIGNED_INT&&(de=se.RGB32UI),z===se.BYTE&&(de=se.RGB8I),z===se.SHORT&&(de=se.RGB16I),z===se.INT&&(de=se.RGB32I),z===se.UNSIGNED_BYTE&&(de=ge===kn?se.SRGB8:se.RGB8),z===se.UNSIGNED_SHORT_5_6_5&&(de=se.RGB565),z===se.UNSIGNED_SHORT_5_5_5_1&&(de=se.RGB5_A1),z===se.UNSIGNED_SHORT_4_4_4_4&&(de=se.RGB4),z===se.UNSIGNED_INT_5_9_9_9_REV&&(de=se.RGB9_E5)}if(E===se.RGB_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.RGB8UI),z===se.UNSIGNED_SHORT&&(de=se.RGB16UI),z===se.UNSIGNED_INT&&(de=se.RGB32UI),z===se.BYTE&&(de=se.RGB8I),z===se.SHORT&&(de=se.RGB16I),z===se.INT&&(de=se.RGB32I)),E===se.RGBA){const ge=ie?Ri:ys.getTransfer(ne);z===se.FLOAT&&(de=se.RGBA32F),z===se.HALF_FLOAT&&(de=se.RGBA16F),z===se.UNSIGNED_BYTE&&(de=se.RGBA8),z===se.UNSIGNED_SHORT&&(de=se.RGBA16),z===se.UNSIGNED_INT&&(de=se.RGBA32UI),z===se.BYTE&&(de=se.RGBA8I),z===se.SHORT&&(de=se.RGBA16I),z===se.INT&&(de=se.RGBA32I),z===se.UNSIGNED_BYTE&&(de=ge===kn?se.SRGB8_ALPHA8:se.RGBA8),z===se.UNSIGNED_SHORT_4_4_4_4&&(de=se.RGBA4),z===se.UNSIGNED_SHORT_5_5_5_1&&(de=se.RGB5_A1)}return E===se.RGBA_INTEGER&&(z===se.UNSIGNED_BYTE&&(de=se.RGBA8UI),z===se.UNSIGNED_SHORT&&(de=se.RGBA16UI),z===se.UNSIGNED_INT&&(de=se.RGBA32UI),z===se.BYTE&&(de=se.RGBA8I),z===se.SHORT&&(de=se.RGBA16I),z===se.INT&&(de=se.RGBA32I)),E===se.DEPTH_COMPONENT&&(z===se.UNSIGNED_SHORT&&(de=se.DEPTH_COMPONENT16),z===se.UNSIGNED_INT&&(de=se.DEPTH_COMPONENT24),z===se.FLOAT&&(de=se.DEPTH_COMPONENT32F)),E===se.DEPTH_STENCIL&&z===se.UNSIGNED_INT_24_8&&(de=se.DEPTH24_STENCIL8),(de===se.R16F||de===se.R32F||de===se.RG16F||de===se.RG32F||de===se.RGBA16F||de===se.RGBA32F)&&le.get("EXT_color_buffer_float"),de}setTextureParameters(y,E){const{gl:z,extensions:ne,backend:ie}=this,se=ys.getPrimaries(ys.workingColorSpace),le=E.colorSpace===Tt?null:ys.getPrimaries(E.colorSpace),de=E.colorSpace===Tt||se===le?z.NONE:z.BROWSER_DEFAULT_WEBGL;z.pixelStorei(z.UNPACK_FLIP_Y_WEBGL,E.flipY),z.pixelStorei(z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,E.premultiplyAlpha),z.pixelStorei(z.UNPACK_ALIGNMENT,E.unpackAlignment),z.pixelStorei(z.UNPACK_COLORSPACE_CONVERSION_WEBGL,de),z.texParameteri(y,z.TEXTURE_WRAP_S,GB[E.wrapS]),z.texParameteri(y,z.TEXTURE_WRAP_T,GB[E.wrapT]),(y===z.TEXTURE_3D||y===z.TEXTURE_2D_ARRAY)&&(E.isArrayTexture||z.texParameteri(y,z.TEXTURE_WRAP_R,GB[E.wrapR])),z.texParameteri(y,z.TEXTURE_MAG_FILTER,WF[E.magFilter]);const ge=E.mipmaps!==void 0&&E.mipmaps.length>0,ve=E.minFilter===tu&&ge?Nc:E.minFilter;if(z.texParameteri(y,z.TEXTURE_MIN_FILTER,WF[ve]),E.compareFunction&&(z.texParameteri(y,z.TEXTURE_COMPARE_MODE,z.COMPARE_REF_TO_TEXTURE),z.texParameteri(y,z.TEXTURE_COMPARE_FUNC,Z9[E.compareFunction])),ne.has("EXT_texture_filter_anisotropic")===!0){if(E.magFilter===xu||E.minFilter!==vg&&E.minFilter!==Nc||E.type===wu&&ne.has("OES_texture_float_linear")===!1)return;if(E.anisotropy>1){const xe=ne.get("EXT_texture_filter_anisotropic");z.texParameterf(y,xe.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(E.anisotropy,ie.getMaxAnisotropy()))}}}createDefaultTexture(y){const{gl:E,backend:z,defaultTextures:ne}=this,ie=this.getGLTextureType(y);let se=ne[ie];se===void 0&&(se=E.createTexture(),z.state.bindTexture(ie,se),E.texParameteri(ie,E.TEXTURE_MIN_FILTER,E.NEAREST),E.texParameteri(ie,E.TEXTURE_MAG_FILTER,E.NEAREST),ne[ie]=se),z.set(y,{textureGPU:se,glTextureType:ie,isDefault:!0})}createTexture(y,E){const{gl:z,backend:ne}=this,{levels:ie,width:se,height:le,depth:de}=E,ge=ne.utils.convert(y.format,y.colorSpace),ve=ne.utils.convert(y.type),xe=this.getInternalFormat(y.internalFormat,ge,ve,y.colorSpace,y.isVideoTexture),Se=z.createTexture(),Me=this.getGLTextureType(y);ne.state.bindTexture(Me,Se),this.setTextureParameters(Me,y),y.isArrayTexture||y.isDataArrayTexture||y.isCompressedArrayTexture?z.texStorage3D(z.TEXTURE_2D_ARRAY,ie,xe,se,le,de):y.isData3DTexture?z.texStorage3D(z.TEXTURE_3D,ie,xe,se,le,de):y.isVideoTexture||z.texStorage2D(Me,ie,xe,se,le),ne.set(y,{textureGPU:Se,glTextureType:Me,glFormat:ge,glType:ve,glInternalFormat:xe})}copyBufferToTexture(y,E){const{gl:z,backend:ne}=this,{textureGPU:ie,glTextureType:se,glFormat:le,glType:de}=ne.get(E),{width:ge,height:ve}=E.source.data;z.bindBuffer(z.PIXEL_UNPACK_BUFFER,y),ne.state.bindTexture(se,ie),z.pixelStorei(z.UNPACK_FLIP_Y_WEBGL,!1),z.pixelStorei(z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),z.texSubImage2D(se,0,0,0,ge,ve,le,de,0),z.bindBuffer(z.PIXEL_UNPACK_BUFFER,null),ne.state.unbindTexture()}updateTexture(y,E){const{gl:z}=this,{width:ne,height:ie}=E,{textureGPU:se,glTextureType:le,glFormat:de,glType:ge,glInternalFormat:ve}=this.backend.get(y);if(!(y.isRenderTargetTexture||se===void 0))if(this.backend.state.bindTexture(le,se),this.setTextureParameters(le,y),y.isCompressedTexture){const xe=y.mipmaps,Se=E.image;for(let Me=0;Me0,Se=E.renderTarget?E.renderTarget.height:this.backend.getDrawingBufferSize().y;if(xe){const Me=le!==0||de!==0;let De,Oe;if(y.isDepthTexture===!0?(De=ne.DEPTH_BUFFER_BIT,Oe=ne.DEPTH_ATTACHMENT,E.stencil&&(De|=ne.STENCIL_BUFFER_BIT)):(De=ne.COLOR_BUFFER_BIT,Oe=ne.COLOR_ATTACHMENT0),Me){const Re=this.backend.get(E.renderTarget),Le=Re.framebuffers[E.getCacheKey()],Qe=Re.msaaFrameBuffer;ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,Le),ie.bindFramebuffer(ne.READ_FRAMEBUFFER,Qe);const Xe=Se-de-ve;ne.blitFramebuffer(le,Xe,le+ge,Xe+ve,le,Xe,le+ge,Xe+ve,De,ne.NEAREST),ie.bindFramebuffer(ne.READ_FRAMEBUFFER,Le),ie.bindTexture(ne.TEXTURE_2D,se),ne.copyTexSubImage2D(ne.TEXTURE_2D,0,0,0,le,Xe,ge,ve),ie.unbindTexture()}else{const Re=ne.createFramebuffer();ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,Re),ne.framebufferTexture2D(ne.DRAW_FRAMEBUFFER,Oe,ne.TEXTURE_2D,se,0),ne.blitFramebuffer(0,0,ge,ve,0,0,ge,ve,De,ne.NEAREST),ne.deleteFramebuffer(Re)}}else ie.bindTexture(ne.TEXTURE_2D,se),ne.copyTexSubImage2D(ne.TEXTURE_2D,0,0,0,le,Se-ve-de,ge,ve),ie.unbindTexture();y.generateMipmaps&&this.generateMipmaps(y),this.backend._setFramebuffer(E)}setupRenderBufferStorage(y,E,z,ne=!1){const{gl:ie}=this,se=E.renderTarget,{depthTexture:le,depthBuffer:de,stencilBuffer:ge,width:ve,height:xe}=se;if(ie.bindRenderbuffer(ie.RENDERBUFFER,y),de&&!ge){let Se=ie.DEPTH_COMPONENT24;ne===!0?this.extensions.get("WEBGL_multisampled_render_to_texture").renderbufferStorageMultisampleEXT(ie.RENDERBUFFER,se.samples,Se,ve,xe):z>0?(le&&le.isDepthTexture&&le.type===ie.FLOAT&&(Se=ie.DEPTH_COMPONENT32F),ie.renderbufferStorageMultisample(ie.RENDERBUFFER,z,Se,ve,xe)):ie.renderbufferStorage(ie.RENDERBUFFER,Se,ve,xe),ie.framebufferRenderbuffer(ie.FRAMEBUFFER,ie.DEPTH_ATTACHMENT,ie.RENDERBUFFER,y)}else de&&ge&&(z>0?ie.renderbufferStorageMultisample(ie.RENDERBUFFER,z,ie.DEPTH24_STENCIL8,ve,xe):ie.renderbufferStorage(ie.RENDERBUFFER,ie.DEPTH_STENCIL,ve,xe),ie.framebufferRenderbuffer(ie.FRAMEBUFFER,ie.DEPTH_STENCIL_ATTACHMENT,ie.RENDERBUFFER,y));ie.bindRenderbuffer(ie.RENDERBUFFER,null)}copyTextureToBuffer(y,E,z,ne,ie,se){return la(this,null,function*(){const{backend:le,gl:de}=this,{textureGPU:ge,glFormat:ve,glType:xe}=this.backend.get(y),Se=de.createFramebuffer();de.bindFramebuffer(de.READ_FRAMEBUFFER,Se);const Me=y.isCubeTexture?de.TEXTURE_CUBE_MAP_POSITIVE_X+se:de.TEXTURE_2D;de.framebufferTexture2D(de.READ_FRAMEBUFFER,de.COLOR_ATTACHMENT0,Me,ge,0);const De=this._getTypedArrayType(xe),Oe=this._getBytesPerTexel(xe,ve),Le=ne*ie*Oe,Qe=de.createBuffer();de.bindBuffer(de.PIXEL_PACK_BUFFER,Qe),de.bufferData(de.PIXEL_PACK_BUFFER,Le,de.STREAM_READ),de.readPixels(E,z,ne,ie,ve,xe,0),de.bindBuffer(de.PIXEL_PACK_BUFFER,null),yield le.utils._clientWaitAsync();const Xe=new De(Le/De.BYTES_PER_ELEMENT);return de.bindBuffer(de.PIXEL_PACK_BUFFER,Qe),de.getBufferSubData(de.PIXEL_PACK_BUFFER,0,Xe),de.bindBuffer(de.PIXEL_PACK_BUFFER,null),de.deleteFramebuffer(Se),Xe})}_getTypedArrayType(y){const{gl:E}=this;if(y===E.UNSIGNED_BYTE)return Uint8Array;if(y===E.UNSIGNED_SHORT_4_4_4_4||y===E.UNSIGNED_SHORT_5_5_5_1||y===E.UNSIGNED_SHORT_5_6_5||y===E.UNSIGNED_SHORT)return Uint16Array;if(y===E.UNSIGNED_INT)return Uint32Array;if(y===E.HALF_FLOAT)return Uint16Array;if(y===E.FLOAT)return Float32Array;throw new Error(`Unsupported WebGL type: ${y}`)}_getBytesPerTexel(y,E){const{gl:z}=this;let ne=0;if(y===z.UNSIGNED_BYTE&&(ne=1),(y===z.UNSIGNED_SHORT_4_4_4_4||y===z.UNSIGNED_SHORT_5_5_5_1||y===z.UNSIGNED_SHORT_5_6_5||y===z.UNSIGNED_SHORT||y===z.HALF_FLOAT)&&(ne=2),(y===z.UNSIGNED_INT||y===z.FLOAT)&&(ne=4),E===z.RGBA)return ne*4;if(E===z.RGB)return ne*3;if(E===z.ALPHA)return ne}}function K9(ee){return ee.isDataTexture?ee.image.data:typeof HTMLImageElement!="undefined"&&ee instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&ee instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&ee instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&ee instanceof OffscreenCanvas?ee:ee.data}class Hq{constructor(y){this.backend=y,this.gl=this.backend.gl,this.availableExtensions=this.gl.getSupportedExtensions(),this.extensions={}}get(y){let E=this.extensions[y];return E===void 0&&(E=this.gl.getExtension(y),this.extensions[y]=E),E}has(y){return this.availableExtensions.includes(y)}}class Uq{constructor(y){this.backend=y,this.maxAnisotropy=null}getMaxAnisotropy(){if(this.maxAnisotropy!==null)return this.maxAnisotropy;const y=this.backend.gl,E=this.backend.extensions;if(E.has("EXT_texture_filter_anisotropic")===!0){const z=E.get("EXT_texture_filter_anisotropic");this.maxAnisotropy=y.getParameter(z.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else this.maxAnisotropy=0;return this.maxAnisotropy}}const J9={WEBGL_multi_draw:"WEBGL_multi_draw",WEBGL_compressed_texture_astc:"texture-compression-astc",WEBGL_compressed_texture_etc:"texture-compression-etc2",WEBGL_compressed_texture_etc1:"texture-compression-etc1",WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBKIT_WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBGL_compressed_texture_s3tc:"texture-compression-bc",EXT_texture_compression_bptc:"texture-compression-bptc",EXT_disjoint_timer_query_webgl2:"timestamp-query",OVR_multiview2:"OVR_multiview2"};class Vq{constructor(y){this.gl=y.gl,this.extensions=y.extensions,this.info=y.renderer.info,this.mode=null,this.index=0,this.type=null,this.object=null}render(y,E){const{gl:z,mode:ne,object:ie,type:se,info:le,index:de}=this;de!==0?z.drawElements(ne,E,se,y):z.drawArrays(ne,y,E),le.update(ie,E,1)}renderInstances(y,E,z){const{gl:ne,mode:ie,type:se,index:le,object:de,info:ge}=this;z!==0&&(le!==0?ne.drawElementsInstanced(ie,E,se,y,z):ne.drawArraysInstanced(ie,y,E,z),ge.update(de,E,z))}renderMultiDraw(y,E,z){const{extensions:ne,mode:ie,object:se,info:le}=this;if(z===0)return;const de=ne.get("WEBGL_multi_draw");if(de===null)for(let ge=0;gethis.maxQueries)return Cs(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const E=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryStates.set(E,"inactive"),this.queryOffsets.set(y.id,E),E}beginQuery(y){if(!this.trackTimestamp||this.isDisposed)return;const E=this.queryOffsets.get(y.id);if(E==null||this.activeQuery!==null)return;const z=this.queries[E];if(z)try{this.queryStates.get(E)==="inactive"&&(this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,z),this.activeQuery=E,this.queryStates.set(E,"started"))}catch(ne){console.error("Error in beginQuery:",ne),this.activeQuery=null,this.queryStates.set(E,"inactive")}}endQuery(y){if(!this.trackTimestamp||this.isDisposed)return;const E=this.queryOffsets.get(y.id);if(E!=null&&this.activeQuery===E)try{this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.queryStates.set(E,"ended"),this.activeQuery=null}catch(z){console.error("Error in endQuery:",z),this.queryStates.set(E,"inactive"),this.activeQuery=null}}resolveQueriesAsync(){return la(this,null,function*(){if(!this.trackTimestamp||this.pendingResolve)return this.lastValue;this.pendingResolve=!0;try{const y=[];for(const[ne,ie]of this.queryStates)if(ie==="ended"){const se=this.queries[ne];y.push(this.resolveQuery(se))}if(y.length===0)return this.lastValue;const z=(yield Promise.all(y)).reduce((ne,ie)=>ne+ie,0);return this.lastValue=z,this.currentQueryIndex=0,this.queryOffsets.clear(),this.queryStates.clear(),this.activeQuery=null,z}catch(y){return console.error("Error resolving queries:",y),this.lastValue}finally{this.pendingResolve=!1}})}resolveQuery(y){return la(this,null,function*(){return new Promise(E=>{if(this.isDisposed){E(this.lastValue);return}let z,ne=!1;const ie=()=>{z&&(clearTimeout(z),z=null)},se=de=>{ne||(ne=!0,ie(),E(de))},le=()=>{if(this.isDisposed){se(this.lastValue);return}try{if(this.gl.getParameter(this.ext.GPU_DISJOINT_EXT)){se(this.lastValue);return}if(!this.gl.getQueryParameter(y,this.gl.QUERY_RESULT_AVAILABLE)){z=setTimeout(le,1);return}const ve=this.gl.getQueryParameter(y,this.gl.QUERY_RESULT);E(Number(ve)/1e6)}catch(de){console.error("Error checking query:",de),E(this.lastValue)}};le()})})}dispose(){if(!this.isDisposed&&(this.isDisposed=!0,!!this.trackTimestamp)){for(const y of this.queries)this.gl.deleteQuery(y);this.queries=[],this.queryStates.clear(),this.queryOffsets.clear(),this.lastValue=0,this.activeQuery=null}}}const _9=new ki;class $9 extends Q9{constructor(y={}){super(y),this.isWebGLBackend=!0,this.attributeUtils=null,this.extensions=null,this.capabilities=null,this.textureUtils=null,this.bufferRenderer=null,this.gl=null,this.state=null,this.utils=null,this.vaoCache={},this.transformFeedbackCache={},this.discard=!1,this.disjoint=null,this.parallel=null,this._currentContext=null,this._knownBindings=new WeakSet,this._supportsInvalidateFramebuffer=typeof navigator=="undefined"?!1:/OculusBrowser/g.test(navigator.userAgent),this._xrFramebuffer=null}init(y){super.init(y);const E=this.parameters,z={antialias:y.samples>0,alpha:!0,depth:y.depth,stencil:y.stencil},ne=E.context!==void 0?E.context:y.domElement.getContext("webgl2",z);function ie(se){se.preventDefault();const le={api:"WebGL",message:se.statusMessage||"Unknown reason",reason:null,originalEvent:se};y.onDeviceLost(le)}this._onContextLost=ie,y.domElement.addEventListener("webglcontextlost",ie,!1),this.gl=ne,this.extensions=new Hq(this),this.capabilities=new Uq(this),this.attributeUtils=new Rq(this),this.textureUtils=new zq(this),this.bufferRenderer=new Vq(this),this.state=new Oq(this),this.utils=new kq(this),this.extensions.get("EXT_color_buffer_float"),this.extensions.get("WEBGL_clip_cull_distance"),this.extensions.get("OES_texture_float_linear"),this.extensions.get("EXT_color_buffer_half_float"),this.extensions.get("WEBGL_multisampled_render_to_texture"),this.extensions.get("WEBGL_render_shared_exponent"),this.extensions.get("WEBGL_multi_draw"),this.extensions.get("OVR_multiview2"),this.disjoint=this.extensions.get("EXT_disjoint_timer_query_webgl2"),this.parallel=this.extensions.get("KHR_parallel_shader_compile")}get coordinateSystem(){return Cd}getArrayBufferAsync(y){return la(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(y)})}waitForGPU(){return la(this,null,function*(){yield this.utils._clientWaitAsync()})}makeXRCompatible(){return la(this,null,function*(){this.gl.getContextAttributes().xrCompatible!==!0&&(yield this.gl.makeXRCompatible())})}setXRTarget(y){this._xrFramebuffer=y}setXRRenderTargetTextures(y,E,z=null){const ne=this.gl;if(this.set(y.texture,{textureGPU:E,glInternalFormat:ne.RGBA8}),z!==null){const ie=y.stencilBuffer?ne.DEPTH24_STENCIL8:ne.DEPTH_COMPONENT24;this.set(y.depthTexture,{textureGPU:z,glInternalFormat:ie}),this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&y._autoAllocateDepthBuffer===!0&&y.multiview===!1&&console.warn("THREE.WebGLBackend: Render-to-texture extension was disabled because an external texture was provided"),y._autoAllocateDepthBuffer=!1}}initTimestampQuery(y){if(!this.disjoint||!this.trackTimestamp)return;const E=y.isComputeNode?"compute":"render";this.timestampQueryPool[E]||(this.timestampQueryPool[E]=new jq(this.gl,E,2048));const z=this.timestampQueryPool[E];z.allocateQueriesForContext(y)!==null&&z.beginQuery(y)}prepareTimestampBuffer(y){if(!this.disjoint||!this.trackTimestamp)return;const E=y.isComputeNode?"compute":"render";this.timestampQueryPool[E].endQuery(y)}getContext(){return this.gl}beginRender(y){const{state:E}=this,z=this.get(y);if(y.viewport)this.updateViewport(y);else{const{width:ie,height:se}=this.getDrawingBufferSize(_9);E.viewport(0,0,ie,se)}if(y.scissor){const{x:ie,y:se,width:le,height:de}=y.scissorValue;E.scissor(ie,y.height-de-se,le,de)}this.initTimestampQuery(y),z.previousContext=this._currentContext,this._currentContext=y,this._setFramebuffer(y),this.clear(y.clearColor,y.clearDepth,y.clearStencil,y,!1);const ne=y.occlusionQueryCount;ne>0&&(z.currentOcclusionQueries=z.occlusionQueries,z.currentOcclusionQueryObjects=z.occlusionQueryObjects,z.lastOcclusionObject=null,z.occlusionQueries=new Array(ne),z.occlusionQueryObjects=new Array(ne),z.occlusionQueryIndex=0)}finishRender(y){const{gl:E,state:z}=this,ne=this.get(y),ie=ne.previousContext;z.resetVertexState();const se=y.occlusionQueryCount;se>0&&(se>ne.occlusionQueryIndex&&E.endQuery(E.ANY_SAMPLES_PASSED),this.resolveOccludedAsync(y));const le=y.textures;if(le!==null)for(let ge=0;ge0&&this._useMultisampledExtension(de)===!1){const ve=ge.framebuffers[y.getCacheKey()];let xe=E.COLOR_BUFFER_BIT;de.resolveDepthBuffer&&(de.depthBuffer&&(xe|=E.DEPTH_BUFFER_BIT),de.stencilBuffer&&de.resolveStencilBuffer&&(xe|=E.STENCIL_BUFFER_BIT));const Se=ge.msaaFrameBuffer,Me=ge.msaaRenderbuffers,De=y.textures,Oe=De.length>1;if(z.bindFramebuffer(E.READ_FRAMEBUFFER,Se),z.bindFramebuffer(E.DRAW_FRAMEBUFFER,ve),Oe)for(let Re=0;Re{let de=0;for(let ge=0;ge{E.isBatchedMesh?E._multiDrawInstances!==null?(Cs("THREE.WebGLBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),Xe.renderMultiDrawInstances(E._multiDrawStarts,E._multiDrawCounts,E._multiDrawCount,E._multiDrawInstances)):this.hasFeature("WEBGL_multi_draw")?Xe.renderMultiDraw(E._multiDrawStarts,E._multiDrawCounts,E._multiDrawCount):Cs("THREE.WebGLRenderer: WEBGL_multi_draw not supported."):it>1?Xe.renderInstances(et,Ze,it):Xe.render(et,Ze)};if(y.camera.isArrayCamera===!0&&y.camera.cameras.length>0&&y.camera.isMultiViewCamera===!1){const lt=this.get(y.camera),ot=y.camera.cameras,rt=y.getBindingGroup("cameraIndex").bindings[0];if(lt.indexesGPU===void 0||lt.indexesGPU.length!==ot.length){const Zn=new Uint32Array([0,0,0,0]),ti=[];for(let bn=0,rn=ot.length;bn{const Se=this.parallel,Me=()=>{z.getProgramParameter(le,Se.COMPLETION_STATUS_KHR)?(this._completeCompile(y,ne),xe()):requestAnimationFrame(Me)};Me()});E.push(ve);return}this._completeCompile(y,ne)}_handleSource(y,E){const z=y.split(` `),ne=[],ie=Math.max(E-6,0),se=Math.min(E+6,z.length);for(let le=ie;le":" "} ${de}: ${z[le]}`)}return ne.join(` `)}_getShaderErrors(y,E,z){const ne=y.getShaderParameter(E,y.COMPILE_STATUS),ie=y.getShaderInfoLog(E).trim();if(ne&&ie==="")return"";const se=/ERROR: 0:(\d+)/.exec(ie);if(se){const le=parseInt(se[1]);return z.toUpperCase()+` @@ -4951,7 +4951,7 @@ Program Info Log: `+ie+` `+se+` `+le)}else ie!==""&&console.warn("THREE.WebGLProgram: Program Info Log:",ie)}}_completeCompile(y,E){const{state:z,gl:ne}=this,ie=this.get(E),{programGPU:se,fragmentShader:le,vertexShader:de}=ie;ne.getProgramParameter(se,ne.LINK_STATUS)===!1&&this._logProgramError(se,le,de),z.useProgram(se);const ge=y.getBindings();this._setupBindings(ge,se),this.set(E,{programGPU:se})}createComputePipeline(y,E){const{state:z,gl:ne}=this,ie={stage:"fragment",code:`#version 300 es precision highp float; -void main() {}`};this.createProgram(ie);const{computeProgram:se}=y,le=ne.createProgram(),de=this.get(ie).shaderGPU,ge=this.get(se).shaderGPU,ve=se.transforms,xe=[],Se=[];for(let Re=0;ReK9[ne]===y),z=this.extensions;for(let ne=0;ne1,Me=ie.isXRRenderTarget===!0,De=Me===!0&&ie._hasExternalTextures===!0;let Oe=se.msaaFrameBuffer,Re=se.depthRenderbuffer;const Le=this.extensions.get("WEBGL_multisampled_render_to_texture"),Qe=this.extensions.get("OVR_multiview2"),Xe=this._useMultisampledExtension(ie),Ze=p7(y);let it;if(ve?(se.cubeFramebuffers||(se.cubeFramebuffers={}),it=se.cubeFramebuffers[Ze]):Me&&De===!1?it=this._xrFramebuffer:(se.framebuffers||(se.framebuffers={}),it=se.framebuffers[Ze]),it===void 0){it=E.createFramebuffer(),z.bindFramebuffer(E.FRAMEBUFFER,it);const et=y.textures,ht=[];if(ve){se.cubeFramebuffers[Ze]=it;const{textureGPU:ot}=this.get(et[0]),rt=this.renderer._activeCubeFace;E.framebufferTexture2D(E.FRAMEBUFFER,E.COLOR_ATTACHMENT0,E.TEXTURE_CUBE_MAP_POSITIVE_X+rt,ot,0)}else{se.framebuffers[Ze]=it;for(let ot=0;ot0&&Xe===!1&&!ie.multiview){if(Oe===void 0){const et=[];Oe=E.createFramebuffer(),z.bindFramebuffer(E.FRAMEBUFFER,Oe);const ht=[],lt=y.textures;for(let ot=0;ot0&&this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&y._autoAllocateDepthBuffer!==!1}dispose(){const y=this.extensions.get("WEBGL_lose_context");y&&y.loseContext(),this.renderer.domElement.removeEventListener("webglcontextlost",this._onContextLost)}}const zE={PointList:"point-list",LineList:"line-list",LineStrip:"line-strip",TriangleList:"triangle-list",TriangleStrip:"triangle-strip"},cg={Never:"never",Less:"less",Equal:"equal",LessEqual:"less-equal",Greater:"greater",NotEqual:"not-equal",GreaterEqual:"greater-equal",Always:"always"},lp={Store:"store"},Hu={Load:"load",Clear:"clear"},QF={CCW:"ccw"},YF={None:"none",Front:"front",Back:"back"},HE={Uint16:"uint16",Uint32:"uint32"},Un={R8Unorm:"r8unorm",R8Snorm:"r8snorm",R8Uint:"r8uint",R8Sint:"r8sint",R16Uint:"r16uint",R16Sint:"r16sint",R16Float:"r16float",RG8Unorm:"rg8unorm",RG8Snorm:"rg8snorm",RG8Uint:"rg8uint",RG8Sint:"rg8sint",R32Uint:"r32uint",R32Sint:"r32sint",R32Float:"r32float",RG16Uint:"rg16uint",RG16Sint:"rg16sint",RG16Float:"rg16float",RGBA8Unorm:"rgba8unorm",RGBA8UnormSRGB:"rgba8unorm-srgb",RGBA8Snorm:"rgba8snorm",RGBA8Uint:"rgba8uint",RGBA8Sint:"rgba8sint",BGRA8Unorm:"bgra8unorm",BGRA8UnormSRGB:"bgra8unorm-srgb",RGB9E5UFloat:"rgb9e5ufloat",RGB10A2Unorm:"rgb10a2unorm",RG11B10UFloat:"rgb10a2unorm",RG32Uint:"rg32uint",RG32Sint:"rg32sint",RG32Float:"rg32float",RGBA16Uint:"rgba16uint",RGBA16Sint:"rgba16sint",RGBA16Float:"rgba16float",RGBA32Uint:"rgba32uint",RGBA32Sint:"rgba32sint",RGBA32Float:"rgba32float",Depth16Unorm:"depth16unorm",Depth24Plus:"depth24plus",Depth24PlusStencil8:"depth24plus-stencil8",Depth32Float:"depth32float",Depth32FloatStencil8:"depth32float-stencil8",BC1RGBAUnorm:"bc1-rgba-unorm",BC1RGBAUnormSRGB:"bc1-rgba-unorm-srgb",BC2RGBAUnorm:"bc2-rgba-unorm",BC2RGBAUnormSRGB:"bc2-rgba-unorm-srgb",BC3RGBAUnorm:"bc3-rgba-unorm",BC3RGBAUnormSRGB:"bc3-rgba-unorm-srgb",BC4RUnorm:"bc4-r-unorm",BC4RSnorm:"bc4-r-snorm",BC5RGUnorm:"bc5-rg-unorm",BC5RGSnorm:"bc5-rg-snorm",BC6HRGBUFloat:"bc6h-rgb-ufloat",BC6HRGBFloat:"bc6h-rgb-float",BC7RGBAUnorm:"bc7-rgba-unorm",BC7RGBAUnormSRGB:"bc7-rgba-srgb",ETC2RGB8Unorm:"etc2-rgb8unorm",ETC2RGB8UnormSRGB:"etc2-rgb8unorm-srgb",ETC2RGB8A1Unorm:"etc2-rgb8a1unorm",ETC2RGB8A1UnormSRGB:"etc2-rgb8a1unorm-srgb",ETC2RGBA8Unorm:"etc2-rgba8unorm",ETC2RGBA8UnormSRGB:"etc2-rgba8unorm-srgb",EACR11Unorm:"eac-r11unorm",EACR11Snorm:"eac-r11snorm",EACRG11Unorm:"eac-rg11unorm",EACRG11Snorm:"eac-rg11snorm",ASTC4x4Unorm:"astc-4x4-unorm",ASTC4x4UnormSRGB:"astc-4x4-unorm-srgb",ASTC5x4Unorm:"astc-5x4-unorm",ASTC5x4UnormSRGB:"astc-5x4-unorm-srgb",ASTC5x5Unorm:"astc-5x5-unorm",ASTC5x5UnormSRGB:"astc-5x5-unorm-srgb",ASTC6x5Unorm:"astc-6x5-unorm",ASTC6x5UnormSRGB:"astc-6x5-unorm-srgb",ASTC6x6Unorm:"astc-6x6-unorm",ASTC6x6UnormSRGB:"astc-6x6-unorm-srgb",ASTC8x5Unorm:"astc-8x5-unorm",ASTC8x5UnormSRGB:"astc-8x5-unorm-srgb",ASTC8x6Unorm:"astc-8x6-unorm",ASTC8x6UnormSRGB:"astc-8x6-unorm-srgb",ASTC8x8Unorm:"astc-8x8-unorm",ASTC8x8UnormSRGB:"astc-8x8-unorm-srgb",ASTC10x5Unorm:"astc-10x5-unorm",ASTC10x5UnormSRGB:"astc-10x5-unorm-srgb",ASTC10x6Unorm:"astc-10x6-unorm",ASTC10x6UnormSRGB:"astc-10x6-unorm-srgb",ASTC10x8Unorm:"astc-10x8-unorm",ASTC10x8UnormSRGB:"astc-10x8-unorm-srgb",ASTC10x10Unorm:"astc-10x10-unorm",ASTC10x10UnormSRGB:"astc-10x10-unorm-srgb",ASTC12x10Unorm:"astc-12x10-unorm",ASTC12x10UnormSRGB:"astc-12x10-unorm-srgb",ASTC12x12Unorm:"astc-12x12-unorm",ASTC12x12UnormSRGB:"astc-12x12-unorm-srgb"},ZF={ClampToEdge:"clamp-to-edge",Repeat:"repeat",MirrorRepeat:"mirror-repeat"},AP={Linear:"linear",Nearest:"nearest"},Ql={Zero:"zero",One:"one",Src:"src",OneMinusSrc:"one-minus-src",SrcAlpha:"src-alpha",OneMinusSrcAlpha:"one-minus-src-alpha",Dst:"dst",OneMinusDst:"one-minus-dst",DstAlpha:"dst-alpha",OneMinusDstAlpha:"one-minus-dst-alpha",SrcAlphaSaturated:"src-alpha-saturated",Constant:"constant",OneMinusConstant:"one-minus-constant"},xP={Add:"add",Subtract:"subtract",ReverseSubtract:"reverse-subtract",Min:"min",Max:"max"},$9={None:0,All:15},Tw={Keep:"keep",Zero:"zero",Replace:"replace",Invert:"invert",IncrementClamp:"increment-clamp",DecrementClamp:"decrement-clamp",IncrementWrap:"increment-wrap",DecrementWrap:"decrement-wrap"},KF={Storage:"storage",ReadOnlyStorage:"read-only-storage"},JF={WriteOnly:"write-only",ReadOnly:"read-only",ReadWrite:"read-write"},eR={NonFiltering:"non-filtering",Comparison:"comparison"},wP={Float:"float",UnfilterableFloat:"unfilterable-float",Depth:"depth",SInt:"sint",UInt:"uint"},tR={TwoD:"2d",ThreeD:"3d"},Hd={TwoD:"2d",TwoDArray:"2d-array",Cube:"cube",ThreeD:"3d"},jq={All:"all"},XB={Vertex:"vertex",Instance:"instance"},qF={CoreFeaturesAndLimits:"core-features-and-limits",DepthClipControl:"depth-clip-control",Depth32FloatStencil8:"depth32float-stencil8",TextureCompressionBC:"texture-compression-bc",TextureCompressionBCSliced3D:"texture-compression-bc-sliced-3d",TextureCompressionETC2:"texture-compression-etc2",TextureCompressionASTC:"texture-compression-astc",TextureCompressionASTCSliced3D:"texture-compression-astc-sliced-3d",TimestampQuery:"timestamp-query",IndirectFirstInstance:"indirect-first-instance",ShaderF16:"shader-f16",RG11B10UFloat:"rg11b10ufloat-renderable",BGRA8UNormStorage:"bgra8unorm-storage",Float32Filterable:"float32-filterable",Float32Blendable:"float32-blendable",ClipDistances:"clip-distances",DualSourceBlending:"dual-source-blending",Subgroups:"subgroups",TextureFormatsTier1:"texture-formats-tier1",TextureFormatsTier2:"texture-formats-tier2"};class Gq extends jF{constructor(y,E){super(y),this.texture=E,this.version=E?E.version:0,this.isSampler=!0}}class Xq extends Gq{constructor(y,E,z){super(y,E?E.value:null),this.textureNode=E,this.groupNode=z}update(){this.texture=this.textureNode.value}}class Wq extends R9{constructor(y,E){super(y,E?E.array:null),this.attribute=E,this.isStorageBuffer=!0}}let Qq=0;class Yq extends Wq{constructor(y,E){super("StorageBuffer_"+Qq++,y?y.value:null),this.nodeUniform=y,this.access=y?y.access:Og.READ_WRITE,this.groupNode=E}get buffer(){return this.nodeUniform.value}}class Zq extends Ew{constructor(y){super(),this.device=y;const E=` +void main() {}`};this.createProgram(ie);const{computeProgram:se}=y,le=ne.createProgram(),de=this.get(ie).shaderGPU,ge=this.get(se).shaderGPU,ve=se.transforms,xe=[],Se=[];for(let Re=0;ReJ9[ne]===y),z=this.extensions;for(let ne=0;ne1,Me=ie.isXRRenderTarget===!0,De=Me===!0&&ie._hasExternalTextures===!0;let Oe=se.msaaFrameBuffer,Re=se.depthRenderbuffer;const Le=this.extensions.get("WEBGL_multisampled_render_to_texture"),Qe=this.extensions.get("OVR_multiview2"),Xe=this._useMultisampledExtension(ie),Ze=m7(y);let it;if(ve?(se.cubeFramebuffers||(se.cubeFramebuffers={}),it=se.cubeFramebuffers[Ze]):Me&&De===!1?it=this._xrFramebuffer:(se.framebuffers||(se.framebuffers={}),it=se.framebuffers[Ze]),it===void 0){it=E.createFramebuffer(),z.bindFramebuffer(E.FRAMEBUFFER,it);const et=y.textures,ht=[];if(ve){se.cubeFramebuffers[Ze]=it;const{textureGPU:ot}=this.get(et[0]),rt=this.renderer._activeCubeFace;E.framebufferTexture2D(E.FRAMEBUFFER,E.COLOR_ATTACHMENT0,E.TEXTURE_CUBE_MAP_POSITIVE_X+rt,ot,0)}else{se.framebuffers[Ze]=it;for(let ot=0;ot0&&Xe===!1&&!ie.multiview){if(Oe===void 0){const et=[];Oe=E.createFramebuffer(),z.bindFramebuffer(E.FRAMEBUFFER,Oe);const ht=[],lt=y.textures;for(let ot=0;ot0&&this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&y._autoAllocateDepthBuffer!==!1}dispose(){const y=this.extensions.get("WEBGL_lose_context");y&&y.loseContext(),this.renderer.domElement.removeEventListener("webglcontextlost",this._onContextLost)}}const zE={PointList:"point-list",LineList:"line-list",LineStrip:"line-strip",TriangleList:"triangle-list",TriangleStrip:"triangle-strip"},cg={Never:"never",Less:"less",Equal:"equal",LessEqual:"less-equal",Greater:"greater",NotEqual:"not-equal",GreaterEqual:"greater-equal",Always:"always"},lp={Store:"store"},Hu={Load:"load",Clear:"clear"},QF={CCW:"ccw"},YF={None:"none",Front:"front",Back:"back"},HE={Uint16:"uint16",Uint32:"uint32"},Un={R8Unorm:"r8unorm",R8Snorm:"r8snorm",R8Uint:"r8uint",R8Sint:"r8sint",R16Uint:"r16uint",R16Sint:"r16sint",R16Float:"r16float",RG8Unorm:"rg8unorm",RG8Snorm:"rg8snorm",RG8Uint:"rg8uint",RG8Sint:"rg8sint",R32Uint:"r32uint",R32Sint:"r32sint",R32Float:"r32float",RG16Uint:"rg16uint",RG16Sint:"rg16sint",RG16Float:"rg16float",RGBA8Unorm:"rgba8unorm",RGBA8UnormSRGB:"rgba8unorm-srgb",RGBA8Snorm:"rgba8snorm",RGBA8Uint:"rgba8uint",RGBA8Sint:"rgba8sint",BGRA8Unorm:"bgra8unorm",BGRA8UnormSRGB:"bgra8unorm-srgb",RGB9E5UFloat:"rgb9e5ufloat",RGB10A2Unorm:"rgb10a2unorm",RG11B10UFloat:"rgb10a2unorm",RG32Uint:"rg32uint",RG32Sint:"rg32sint",RG32Float:"rg32float",RGBA16Uint:"rgba16uint",RGBA16Sint:"rgba16sint",RGBA16Float:"rgba16float",RGBA32Uint:"rgba32uint",RGBA32Sint:"rgba32sint",RGBA32Float:"rgba32float",Depth16Unorm:"depth16unorm",Depth24Plus:"depth24plus",Depth24PlusStencil8:"depth24plus-stencil8",Depth32Float:"depth32float",Depth32FloatStencil8:"depth32float-stencil8",BC1RGBAUnorm:"bc1-rgba-unorm",BC1RGBAUnormSRGB:"bc1-rgba-unorm-srgb",BC2RGBAUnorm:"bc2-rgba-unorm",BC2RGBAUnormSRGB:"bc2-rgba-unorm-srgb",BC3RGBAUnorm:"bc3-rgba-unorm",BC3RGBAUnormSRGB:"bc3-rgba-unorm-srgb",BC4RUnorm:"bc4-r-unorm",BC4RSnorm:"bc4-r-snorm",BC5RGUnorm:"bc5-rg-unorm",BC5RGSnorm:"bc5-rg-snorm",BC6HRGBUFloat:"bc6h-rgb-ufloat",BC6HRGBFloat:"bc6h-rgb-float",BC7RGBAUnorm:"bc7-rgba-unorm",BC7RGBAUnormSRGB:"bc7-rgba-srgb",ETC2RGB8Unorm:"etc2-rgb8unorm",ETC2RGB8UnormSRGB:"etc2-rgb8unorm-srgb",ETC2RGB8A1Unorm:"etc2-rgb8a1unorm",ETC2RGB8A1UnormSRGB:"etc2-rgb8a1unorm-srgb",ETC2RGBA8Unorm:"etc2-rgba8unorm",ETC2RGBA8UnormSRGB:"etc2-rgba8unorm-srgb",EACR11Unorm:"eac-r11unorm",EACR11Snorm:"eac-r11snorm",EACRG11Unorm:"eac-rg11unorm",EACRG11Snorm:"eac-rg11snorm",ASTC4x4Unorm:"astc-4x4-unorm",ASTC4x4UnormSRGB:"astc-4x4-unorm-srgb",ASTC5x4Unorm:"astc-5x4-unorm",ASTC5x4UnormSRGB:"astc-5x4-unorm-srgb",ASTC5x5Unorm:"astc-5x5-unorm",ASTC5x5UnormSRGB:"astc-5x5-unorm-srgb",ASTC6x5Unorm:"astc-6x5-unorm",ASTC6x5UnormSRGB:"astc-6x5-unorm-srgb",ASTC6x6Unorm:"astc-6x6-unorm",ASTC6x6UnormSRGB:"astc-6x6-unorm-srgb",ASTC8x5Unorm:"astc-8x5-unorm",ASTC8x5UnormSRGB:"astc-8x5-unorm-srgb",ASTC8x6Unorm:"astc-8x6-unorm",ASTC8x6UnormSRGB:"astc-8x6-unorm-srgb",ASTC8x8Unorm:"astc-8x8-unorm",ASTC8x8UnormSRGB:"astc-8x8-unorm-srgb",ASTC10x5Unorm:"astc-10x5-unorm",ASTC10x5UnormSRGB:"astc-10x5-unorm-srgb",ASTC10x6Unorm:"astc-10x6-unorm",ASTC10x6UnormSRGB:"astc-10x6-unorm-srgb",ASTC10x8Unorm:"astc-10x8-unorm",ASTC10x8UnormSRGB:"astc-10x8-unorm-srgb",ASTC10x10Unorm:"astc-10x10-unorm",ASTC10x10UnormSRGB:"astc-10x10-unorm-srgb",ASTC12x10Unorm:"astc-12x10-unorm",ASTC12x10UnormSRGB:"astc-12x10-unorm-srgb",ASTC12x12Unorm:"astc-12x12-unorm",ASTC12x12UnormSRGB:"astc-12x12-unorm-srgb"},ZF={ClampToEdge:"clamp-to-edge",Repeat:"repeat",MirrorRepeat:"mirror-repeat"},AP={Linear:"linear",Nearest:"nearest"},Ql={Zero:"zero",One:"one",Src:"src",OneMinusSrc:"one-minus-src",SrcAlpha:"src-alpha",OneMinusSrcAlpha:"one-minus-src-alpha",Dst:"dst",OneMinusDst:"one-minus-dst",DstAlpha:"dst-alpha",OneMinusDstAlpha:"one-minus-dst-alpha",SrcAlphaSaturated:"src-alpha-saturated",Constant:"constant",OneMinusConstant:"one-minus-constant"},xP={Add:"add",Subtract:"subtract",ReverseSubtract:"reverse-subtract",Min:"min",Max:"max"},eR={None:0,All:15},Tw={Keep:"keep",Zero:"zero",Replace:"replace",Invert:"invert",IncrementClamp:"increment-clamp",DecrementClamp:"decrement-clamp",IncrementWrap:"increment-wrap",DecrementWrap:"decrement-wrap"},KF={Storage:"storage",ReadOnlyStorage:"read-only-storage"},JF={WriteOnly:"write-only",ReadOnly:"read-only",ReadWrite:"read-write"},tR={NonFiltering:"non-filtering",Comparison:"comparison"},wP={Float:"float",UnfilterableFloat:"unfilterable-float",Depth:"depth",SInt:"sint",UInt:"uint"},nR={TwoD:"2d",ThreeD:"3d"},Hd={TwoD:"2d",TwoDArray:"2d-array",Cube:"cube",ThreeD:"3d"},Gq={All:"all"},XB={Vertex:"vertex",Instance:"instance"},qF={CoreFeaturesAndLimits:"core-features-and-limits",DepthClipControl:"depth-clip-control",Depth32FloatStencil8:"depth32float-stencil8",TextureCompressionBC:"texture-compression-bc",TextureCompressionBCSliced3D:"texture-compression-bc-sliced-3d",TextureCompressionETC2:"texture-compression-etc2",TextureCompressionASTC:"texture-compression-astc",TextureCompressionASTCSliced3D:"texture-compression-astc-sliced-3d",TimestampQuery:"timestamp-query",IndirectFirstInstance:"indirect-first-instance",ShaderF16:"shader-f16",RG11B10UFloat:"rg11b10ufloat-renderable",BGRA8UNormStorage:"bgra8unorm-storage",Float32Filterable:"float32-filterable",Float32Blendable:"float32-blendable",ClipDistances:"clip-distances",DualSourceBlending:"dual-source-blending",Subgroups:"subgroups",TextureFormatsTier1:"texture-formats-tier1",TextureFormatsTier2:"texture-formats-tier2"};class Xq extends jF{constructor(y,E){super(y),this.texture=E,this.version=E?E.version:0,this.isSampler=!0}}class Wq extends Xq{constructor(y,E,z){super(y,E?E.value:null),this.textureNode=E,this.groupNode=z}update(){this.texture=this.textureNode.value}}class Qq extends O9{constructor(y,E){super(y,E?E.array:null),this.attribute=E,this.isStorageBuffer=!0}}let Yq=0;class Zq extends Qq{constructor(y,E){super("StorageBuffer_"+Yq++,y?y.value:null),this.nodeUniform=y,this.access=y?y.access:Og.READ_WRITE,this.groupNode=E}get buffer(){return this.nodeUniform.value}}class Kq extends Ew{constructor(y){super(),this.device=y;const E=` struct VarysStruct { @builtin( position ) Position: vec4, @location( 0 ) vTex : vec2 @@ -5008,7 +5008,7 @@ fn main( @location( 0 ) vTex : vec2 ) -> @location( 0 ) vec4 { return textureSample( img, imgSampler, vec2( vTex.x, 1.0 - vTex.y ) ); } -`;this.mipmapSampler=y.createSampler({minFilter:AP.Linear}),this.flipYSampler=y.createSampler({minFilter:AP.Nearest}),this.transferPipelines={},this.flipYPipelines={},this.mipmapVertexShaderModule=y.createShaderModule({label:"mipmapVertex",code:E}),this.mipmapFragmentShaderModule=y.createShaderModule({label:"mipmapFragment",code:z}),this.flipYFragmentShaderModule=y.createShaderModule({label:"flipYFragment",code:ne})}getTransferPipeline(y){let E=this.transferPipelines[y];return E===void 0&&(E=this.device.createRenderPipeline({label:`mipmap-${y}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.mipmapFragmentShaderModule,entryPoint:"main",targets:[{format:y}]},primitive:{topology:zE.TriangleStrip,stripIndexFormat:HE.Uint32},layout:"auto"}),this.transferPipelines[y]=E),E}getFlipYPipeline(y){let E=this.flipYPipelines[y];return E===void 0&&(E=this.device.createRenderPipeline({label:`flipY-${y}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.flipYFragmentShaderModule,entryPoint:"main",targets:[{format:y}]},primitive:{topology:zE.TriangleStrip,stripIndexFormat:HE.Uint32},layout:"auto"}),this.flipYPipelines[y]=E),E}flipY(y,E,z=0){const ne=E.format,{width:ie,height:se}=E.size,le=this.getTransferPipeline(ne),de=this.getFlipYPipeline(ne),ge=this.device.createTexture({size:{width:ie,height:se,depthOrArrayLayers:1},format:ne,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),ve=y.createView({baseMipLevel:0,mipLevelCount:1,dimension:Hd.TwoD,baseArrayLayer:z}),xe=ge.createView({baseMipLevel:0,mipLevelCount:1,dimension:Hd.TwoD,baseArrayLayer:0}),Se=this.device.createCommandEncoder({}),Me=(De,Oe,Re)=>{const Le=De.getBindGroupLayout(0),Qe=this.device.createBindGroup({layout:Le,entries:[{binding:0,resource:this.flipYSampler},{binding:1,resource:Oe}]}),Xe=Se.beginRenderPass({colorAttachments:[{view:Re,loadOp:Hu.Clear,storeOp:lp.Store,clearValue:[0,0,0,0]}]});Xe.setPipeline(De),Xe.setBindGroup(0,Qe),Xe.draw(4,1,0,0),Xe.end()};Me(le,ve,xe),Me(de,xe,ve),this.device.queue.submit([Se.finish()]),ge.destroy()}generateMipmaps(y,E,z=0){const ne=this.get(y);ne.useCount===void 0&&(ne.useCount=0,ne.layers=[]);const ie=ne.layers[z]||this._mipmapCreateBundles(y,E,z),se=this.device.createCommandEncoder({});this._mipmapRunBundles(se,ie),this.device.queue.submit([se.finish()]),ne.useCount!==0&&(ne.layers[z]=ie),ne.useCount++}_mipmapCreateBundles(y,E,z){const ne=this.getTransferPipeline(E.format),ie=ne.getBindGroupLayout(0);let se=y.createView({baseMipLevel:0,mipLevelCount:1,dimension:Hd.TwoD,baseArrayLayer:z});const le=[];for(let de=1;de1;for(let le=0;le]*\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/i,$q=/([a-z_0-9]+)\s*:\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/ig,nR={f32:"float",i32:"int",u32:"uint",bool:"bool","vec2":"vec2","vec2":"ivec2","vec2":"uvec2","vec2":"bvec2",vec2f:"vec2",vec2i:"ivec2",vec2u:"uvec2",vec2b:"bvec2","vec3":"vec3","vec3":"ivec3","vec3":"uvec3","vec3":"bvec3",vec3f:"vec3",vec3i:"ivec3",vec3u:"uvec3",vec3b:"bvec3","vec4":"vec4","vec4":"ivec4","vec4":"uvec4","vec4":"bvec4",vec4f:"vec4",vec4i:"ivec4",vec4u:"uvec4",vec4b:"bvec4","mat2x2":"mat2",mat2x2f:"mat2","mat3x3":"mat3",mat3x3f:"mat3","mat4x4":"mat4",mat4x4f:"mat4",sampler:"sampler",texture_1d:"texture",texture_2d:"texture",texture_2d_array:"texture",texture_multisampled_2d:"cubeTexture",texture_depth_2d:"depthTexture",texture_depth_2d_array:"depthTexture",texture_depth_multisampled_2d:"depthTexture",texture_depth_cube:"depthTexture",texture_depth_cube_array:"depthTexture",texture_3d:"texture3D",texture_cube:"cubeTexture",texture_cube_array:"cubeTexture",texture_storage_1d:"storageTexture",texture_storage_2d:"storageTexture",texture_storage_2d_array:"storageTexture",texture_storage_3d:"storageTexture"},e_=ee=>{ee=ee.trim();const y=ee.match(_q);if(y!==null&&y.length===4){const E=y[2],z=[];let ne=null;for(;(ne=$q.exec(E))!==null;)z.push({name:ne[1],type:ne[2]});const ie=[];for(let ve=0;ve "+this.outputType:"";return`fn ${y} ( ${this.inputsCode.trim()} ) ${E}`+this.blockCode}}class n_ extends M9{parseFunction(y){return new t_(y)}}const UE=typeof self!="undefined"?self.GPUShaderStage:{VERTEX:1,FRAGMENT:2,COMPUTE:4},i_={[Og.READ_ONLY]:"read",[Og.WRITE_ONLY]:"write",[Og.READ_WRITE]:"read_write"},iR={[ih]:"repeat",[bh]:"clamp",[Sp]:"mirror"},WB={vertex:UE?UE.VERTEX:1,fragment:UE?UE.FRAGMENT:2,compute:UE?UE.COMPUTE:4},rR={instance:!0,swizzleAssign:!1,storageBuffer:!0},r_={"^^":"tsl_xor"},o_={float:"f32",int:"i32",uint:"u32",bool:"bool",color:"vec3",vec2:"vec2",ivec2:"vec2",uvec2:"vec2",bvec2:"vec2",vec3:"vec3",ivec3:"vec3",uvec3:"vec3",bvec3:"vec3",vec4:"vec4",ivec4:"vec4",uvec4:"vec4",bvec4:"vec4",mat2:"mat2x2",mat3:"mat3x3",mat4:"mat4x4"},oR={},lv={tsl_xor:new zd("fn tsl_xor( a : bool, b : bool ) -> bool { return ( a || b ) && !( a && b ); }"),mod_float:new zd("fn tsl_mod_float( x : f32, y : f32 ) -> f32 { return x - y * floor( x / y ); }"),mod_vec2:new zd("fn tsl_mod_vec2( x : vec2f, y : vec2f ) -> vec2f { return x - y * floor( x / y ); }"),mod_vec3:new zd("fn tsl_mod_vec3( x : vec3f, y : vec3f ) -> vec3f { return x - y * floor( x / y ); }"),mod_vec4:new zd("fn tsl_mod_vec4( x : vec4f, y : vec4f ) -> vec4f { return x - y * floor( x / y ); }"),equals_bool:new zd("fn tsl_equals_bool( a : bool, b : bool ) -> bool { return a == b; }"),equals_bvec2:new zd("fn tsl_equals_bvec2( a : vec2f, b : vec2f ) -> vec2 { return vec2( a.x == b.x, a.y == b.y ); }"),equals_bvec3:new zd("fn tsl_equals_bvec3( a : vec3f, b : vec3f ) -> vec3 { return vec3( a.x == b.x, a.y == b.y, a.z == b.z ); }"),equals_bvec4:new zd("fn tsl_equals_bvec4( a : vec4f, b : vec4f ) -> vec4 { return vec4( a.x == b.x, a.y == b.y, a.z == b.z, a.w == b.w ); }"),repeatWrapping_float:new zd("fn tsl_repeatWrapping_float( coord: f32 ) -> f32 { return fract( coord ); }"),mirrorWrapping_float:new zd("fn tsl_mirrorWrapping_float( coord: f32 ) -> f32 { let mirrored = fract( coord * 0.5 ) * 2.0; return 1.0 - abs( 1.0 - mirrored ); }"),clampWrapping_float:new zd("fn tsl_clampWrapping_float( coord: f32 ) -> f32 { return clamp( coord, 0.0, 1.0 ); }"),biquadraticTexture:new zd(` +`;this.mipmapSampler=y.createSampler({minFilter:AP.Linear}),this.flipYSampler=y.createSampler({minFilter:AP.Nearest}),this.transferPipelines={},this.flipYPipelines={},this.mipmapVertexShaderModule=y.createShaderModule({label:"mipmapVertex",code:E}),this.mipmapFragmentShaderModule=y.createShaderModule({label:"mipmapFragment",code:z}),this.flipYFragmentShaderModule=y.createShaderModule({label:"flipYFragment",code:ne})}getTransferPipeline(y){let E=this.transferPipelines[y];return E===void 0&&(E=this.device.createRenderPipeline({label:`mipmap-${y}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.mipmapFragmentShaderModule,entryPoint:"main",targets:[{format:y}]},primitive:{topology:zE.TriangleStrip,stripIndexFormat:HE.Uint32},layout:"auto"}),this.transferPipelines[y]=E),E}getFlipYPipeline(y){let E=this.flipYPipelines[y];return E===void 0&&(E=this.device.createRenderPipeline({label:`flipY-${y}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.flipYFragmentShaderModule,entryPoint:"main",targets:[{format:y}]},primitive:{topology:zE.TriangleStrip,stripIndexFormat:HE.Uint32},layout:"auto"}),this.flipYPipelines[y]=E),E}flipY(y,E,z=0){const ne=E.format,{width:ie,height:se}=E.size,le=this.getTransferPipeline(ne),de=this.getFlipYPipeline(ne),ge=this.device.createTexture({size:{width:ie,height:se,depthOrArrayLayers:1},format:ne,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),ve=y.createView({baseMipLevel:0,mipLevelCount:1,dimension:Hd.TwoD,baseArrayLayer:z}),xe=ge.createView({baseMipLevel:0,mipLevelCount:1,dimension:Hd.TwoD,baseArrayLayer:0}),Se=this.device.createCommandEncoder({}),Me=(De,Oe,Re)=>{const Le=De.getBindGroupLayout(0),Qe=this.device.createBindGroup({layout:Le,entries:[{binding:0,resource:this.flipYSampler},{binding:1,resource:Oe}]}),Xe=Se.beginRenderPass({colorAttachments:[{view:Re,loadOp:Hu.Clear,storeOp:lp.Store,clearValue:[0,0,0,0]}]});Xe.setPipeline(De),Xe.setBindGroup(0,Qe),Xe.draw(4,1,0,0),Xe.end()};Me(le,ve,xe),Me(de,xe,ve),this.device.queue.submit([Se.finish()]),ge.destroy()}generateMipmaps(y,E,z=0){const ne=this.get(y);ne.useCount===void 0&&(ne.useCount=0,ne.layers=[]);const ie=ne.layers[z]||this._mipmapCreateBundles(y,E,z),se=this.device.createCommandEncoder({});this._mipmapRunBundles(se,ie),this.device.queue.submit([se.finish()]),ne.useCount!==0&&(ne.layers[z]=ie),ne.useCount++}_mipmapCreateBundles(y,E,z){const ne=this.getTransferPipeline(E.format),ie=ne.getBindGroupLayout(0);let se=y.createView({baseMipLevel:0,mipLevelCount:1,dimension:Hd.TwoD,baseArrayLayer:z});const le=[];for(let de=1;de1;for(let le=0;le]*\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/i,e_=/([a-z_0-9]+)\s*:\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/ig,iR={f32:"float",i32:"int",u32:"uint",bool:"bool","vec2":"vec2","vec2":"ivec2","vec2":"uvec2","vec2":"bvec2",vec2f:"vec2",vec2i:"ivec2",vec2u:"uvec2",vec2b:"bvec2","vec3":"vec3","vec3":"ivec3","vec3":"uvec3","vec3":"bvec3",vec3f:"vec3",vec3i:"ivec3",vec3u:"uvec3",vec3b:"bvec3","vec4":"vec4","vec4":"ivec4","vec4":"uvec4","vec4":"bvec4",vec4f:"vec4",vec4i:"ivec4",vec4u:"uvec4",vec4b:"bvec4","mat2x2":"mat2",mat2x2f:"mat2","mat3x3":"mat3",mat3x3f:"mat3","mat4x4":"mat4",mat4x4f:"mat4",sampler:"sampler",texture_1d:"texture",texture_2d:"texture",texture_2d_array:"texture",texture_multisampled_2d:"cubeTexture",texture_depth_2d:"depthTexture",texture_depth_2d_array:"depthTexture",texture_depth_multisampled_2d:"depthTexture",texture_depth_cube:"depthTexture",texture_depth_cube_array:"depthTexture",texture_3d:"texture3D",texture_cube:"cubeTexture",texture_cube_array:"cubeTexture",texture_storage_1d:"storageTexture",texture_storage_2d:"storageTexture",texture_storage_2d_array:"storageTexture",texture_storage_3d:"storageTexture"},t_=ee=>{ee=ee.trim();const y=ee.match($q);if(y!==null&&y.length===4){const E=y[2],z=[];let ne=null;for(;(ne=e_.exec(E))!==null;)z.push({name:ne[1],type:ne[2]});const ie=[];for(let ve=0;ve "+this.outputType:"";return`fn ${y} ( ${this.inputsCode.trim()} ) ${E}`+this.blockCode}}class i_ extends B9{parseFunction(y){return new n_(y)}}const UE=typeof self!="undefined"?self.GPUShaderStage:{VERTEX:1,FRAGMENT:2,COMPUTE:4},r_={[Og.READ_ONLY]:"read",[Og.WRITE_ONLY]:"write",[Og.READ_WRITE]:"read_write"},rR={[ih]:"repeat",[bh]:"clamp",[Sp]:"mirror"},WB={vertex:UE?UE.VERTEX:1,fragment:UE?UE.FRAGMENT:2,compute:UE?UE.COMPUTE:4},oR={instance:!0,swizzleAssign:!1,storageBuffer:!0},o_={"^^":"tsl_xor"},s_={float:"f32",int:"i32",uint:"u32",bool:"bool",color:"vec3",vec2:"vec2",ivec2:"vec2",uvec2:"vec2",bvec2:"vec2",vec3:"vec3",ivec3:"vec3",uvec3:"vec3",bvec3:"vec3",vec4:"vec4",ivec4:"vec4",uvec4:"vec4",bvec4:"vec4",mat2:"mat2x2",mat3:"mat3x3",mat4:"mat4x4"},sR={},lv={tsl_xor:new zd("fn tsl_xor( a : bool, b : bool ) -> bool { return ( a || b ) && !( a && b ); }"),mod_float:new zd("fn tsl_mod_float( x : f32, y : f32 ) -> f32 { return x - y * floor( x / y ); }"),mod_vec2:new zd("fn tsl_mod_vec2( x : vec2f, y : vec2f ) -> vec2f { return x - y * floor( x / y ); }"),mod_vec3:new zd("fn tsl_mod_vec3( x : vec3f, y : vec3f ) -> vec3f { return x - y * floor( x / y ); }"),mod_vec4:new zd("fn tsl_mod_vec4( x : vec4f, y : vec4f ) -> vec4f { return x - y * floor( x / y ); }"),equals_bool:new zd("fn tsl_equals_bool( a : bool, b : bool ) -> bool { return a == b; }"),equals_bvec2:new zd("fn tsl_equals_bvec2( a : vec2f, b : vec2f ) -> vec2 { return vec2( a.x == b.x, a.y == b.y ); }"),equals_bvec3:new zd("fn tsl_equals_bvec3( a : vec3f, b : vec3f ) -> vec3 { return vec3( a.x == b.x, a.y == b.y, a.z == b.z ); }"),equals_bvec4:new zd("fn tsl_equals_bvec4( a : vec4f, b : vec4f ) -> vec4 { return vec4( a.x == b.x, a.y == b.y, a.z == b.z, a.w == b.w ); }"),repeatWrapping_float:new zd("fn tsl_repeatWrapping_float( coord: f32 ) -> f32 { return fract( coord ); }"),mirrorWrapping_float:new zd("fn tsl_mirrorWrapping_float( coord: f32 ) -> f32 { let mirrored = fract( coord * 0.5 ) * 2.0; return 1.0 - abs( 1.0 - mirrored ); }"),clampWrapping_float:new zd("fn tsl_clampWrapping_float( coord: f32 ) -> f32 { return clamp( coord, 0.0, 1.0 ); }"),biquadraticTexture:new zd(` fn tsl_biquadraticTexture( map : texture_2d, coord : vec2f, iRes : vec2u, level : u32 ) -> vec4f { let res = vec2f( iRes ); @@ -5030,8 +5030,8 @@ fn tsl_biquadraticTexture( map : texture_2d, coord : vec2f, iRes : vec2u, l return mix( mix( rg1, rg2, f.x ), mix( rg3, rg4, f.x ), f.y ); } -`)},DM={dFdx:"dpdx",dFdy:"- dpdy",mod_float:"tsl_mod_float",mod_vec2:"tsl_mod_vec2",mod_vec3:"tsl_mod_vec3",mod_vec4:"tsl_mod_vec4",equals_bool:"tsl_equals_bool",equals_bvec2:"tsl_equals_bvec2",equals_bvec3:"tsl_equals_bvec3",equals_bvec4:"tsl_equals_bvec4",inversesqrt:"inverseSqrt",bitcast:"bitcast"};typeof navigator!="undefined"&&/Windows/g.test(navigator.userAgent)&&(lv.pow_float=new zd("fn tsl_pow_float( a : f32, b : f32 ) -> f32 { return select( -pow( -a, b ), pow( a, b ), a > 0.0 ); }"),lv.pow_vec2=new zd("fn tsl_pow_vec2( a : vec2f, b : vec2f ) -> vec2f { return vec2f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ) ); }",[lv.pow_float]),lv.pow_vec3=new zd("fn tsl_pow_vec3( a : vec3f, b : vec3f ) -> vec3f { return vec3f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ), tsl_pow_float( a.z, b.z ) ); }",[lv.pow_float]),lv.pow_vec4=new zd("fn tsl_pow_vec4( a : vec4f, b : vec4f ) -> vec4f { return vec4f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ), tsl_pow_float( a.z, b.z ), tsl_pow_float( a.w, b.w ) ); }",[lv.pow_float]),DM.pow_float="tsl_pow_float",DM.pow_vec2="tsl_pow_vec2",DM.pow_vec3="tsl_pow_vec3",DM.pow_vec4="tsl_pow_vec4");let sR="";(typeof navigator!="undefined"&&/Firefox|Deno/g.test(navigator.userAgent))!==!0&&(sR+=`diagnostic( off, derivative_uniformity ); -`);class s_ extends E9{constructor(y,E){super(y,E,new n_),this.uniformGroups={},this.builtins={},this.directives={},this.scopedArrays=new Map}needsToWorkingColorSpace(y){return y.isVideoTexture===!0&&y.colorSpace!==Tt}_generateTextureSample(y,E,z,ne,ie=this.shaderStage){return ie==="fragment"?ne?`textureSample( ${E}, ${E}_sampler, ${z}, ${ne} )`:`textureSample( ${E}, ${E}_sampler, ${z} )`:this._generateTextureSampleLevel(y,E,z,"0",ne)}_generateVideoSample(y,E,z=this.shaderStage){if(z==="fragment")return`textureSampleBaseClampToEdge( ${y}, ${y}_sampler, vec2( ${E}.x, 1.0 - ${E}.y ) )`;console.error(`WebGPURenderer: THREE.VideoTexture does not support ${z} shader.`)}_generateTextureSampleLevel(y,E,z,ne,ie){return this.isUnfilterable(y)===!1?`textureSampleLevel( ${E}, ${E}_sampler, ${z}, ${ne} )`:this.isFilteredTexture(y)?this.generateFilteredTexture(y,E,z,ne):this.generateTextureLod(y,E,z,ie,ne)}generateWrapFunction(y){const E=`tsl_coord_${iR[y.wrapS]}S_${iR[y.wrapT]}_${y.isData3DTexture?"3d":"2d"}T`;let z=oR[E];if(z===void 0){const ne=[],ie=y.isData3DTexture?"vec3f":"vec2f";let se=`fn ${E}( coord : ${ie} ) -> ${ie} { +`)},DM={dFdx:"dpdx",dFdy:"- dpdy",mod_float:"tsl_mod_float",mod_vec2:"tsl_mod_vec2",mod_vec3:"tsl_mod_vec3",mod_vec4:"tsl_mod_vec4",equals_bool:"tsl_equals_bool",equals_bvec2:"tsl_equals_bvec2",equals_bvec3:"tsl_equals_bvec3",equals_bvec4:"tsl_equals_bvec4",inversesqrt:"inverseSqrt",bitcast:"bitcast"};typeof navigator!="undefined"&&/Windows/g.test(navigator.userAgent)&&(lv.pow_float=new zd("fn tsl_pow_float( a : f32, b : f32 ) -> f32 { return select( -pow( -a, b ), pow( a, b ), a > 0.0 ); }"),lv.pow_vec2=new zd("fn tsl_pow_vec2( a : vec2f, b : vec2f ) -> vec2f { return vec2f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ) ); }",[lv.pow_float]),lv.pow_vec3=new zd("fn tsl_pow_vec3( a : vec3f, b : vec3f ) -> vec3f { return vec3f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ), tsl_pow_float( a.z, b.z ) ); }",[lv.pow_float]),lv.pow_vec4=new zd("fn tsl_pow_vec4( a : vec4f, b : vec4f ) -> vec4f { return vec4f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ), tsl_pow_float( a.z, b.z ), tsl_pow_float( a.w, b.w ) ); }",[lv.pow_float]),DM.pow_float="tsl_pow_float",DM.pow_vec2="tsl_pow_vec2",DM.pow_vec3="tsl_pow_vec3",DM.pow_vec4="tsl_pow_vec4");let aR="";(typeof navigator!="undefined"&&/Firefox|Deno/g.test(navigator.userAgent))!==!0&&(aR+=`diagnostic( off, derivative_uniformity ); +`);class a_ extends b9{constructor(y,E){super(y,E,new i_),this.uniformGroups={},this.builtins={},this.directives={},this.scopedArrays=new Map}needsToWorkingColorSpace(y){return y.isVideoTexture===!0&&y.colorSpace!==Tt}_generateTextureSample(y,E,z,ne,ie=this.shaderStage){return ie==="fragment"?ne?`textureSample( ${E}, ${E}_sampler, ${z}, ${ne} )`:`textureSample( ${E}, ${E}_sampler, ${z} )`:this._generateTextureSampleLevel(y,E,z,"0",ne)}_generateVideoSample(y,E,z=this.shaderStage){if(z==="fragment")return`textureSampleBaseClampToEdge( ${y}, ${y}_sampler, vec2( ${E}.x, 1.0 - ${E}.y ) )`;console.error(`WebGPURenderer: THREE.VideoTexture does not support ${z} shader.`)}_generateTextureSampleLevel(y,E,z,ne,ie){return this.isUnfilterable(y)===!1?`textureSampleLevel( ${E}, ${E}_sampler, ${z}, ${ne} )`:this.isFilteredTexture(y)?this.generateFilteredTexture(y,E,z,ne):this.generateTextureLod(y,E,z,ie,ne)}generateWrapFunction(y){const E=`tsl_coord_${rR[y.wrapS]}S_${rR[y.wrapT]}_${y.isData3DTexture?"3d":"2d"}T`;let z=sR[E];if(z===void 0){const ne=[],ie=y.isData3DTexture?"vec3f":"vec2f";let se=`fn ${E}( coord : ${ie} ) -> ${ie} { return ${ie}( `;const le=(de,ge)=>{de===ih?(ne.push(lv.repeatWrapping_float),se+=` tsl_repeatWrapping_float( coord.${ge} )`):de===bh?(ne.push(lv.clampWrapping_float),se+=` tsl_clampWrapping_float( coord.${ge} )`):de===Sp?(ne.push(lv.mirrorWrapping_float),se+=` tsl_mirrorWrapping_float( coord.${ge} )`):(se+=` coord.${ge}`,console.warn(`WebGPURenderer: Unsupported texture wrap type "${de}" for vertex shader.`))};le(y.wrapS,"x"),se+=`, @@ -5040,7 +5040,7 @@ fn tsl_biquadraticTexture( map : texture_2d, coord : vec2f, iRes : vec2u, l ); } -`,oR[E]=z=new zd(se,ne)}return z.build(this),E}generateArrayDeclaration(y,E){return`array< ${this.getType(y)}, ${E} >`}generateTextureDimension(y,E,z){const ne=this.getDataFromNode(y,this.shaderStage,this.globalCache);ne.dimensionsSnippet===void 0&&(ne.dimensionsSnippet={});let ie=ne.dimensionsSnippet[z];if(ne.dimensionsSnippet[z]===void 0){let se,le;const{primarySamples:de}=this.renderer.backend.utils.getTextureSampleData(y),ge=de>1;y.isData3DTexture?le="vec3":le="vec2",ge||y.isVideoTexture||y.isStorageTexture?se=E:se=`${E}${z?`, u32( ${z} )`:""}`,ie=new _5(new tB(`textureDimensions( ${se} )`,le)),ne.dimensionsSnippet[z]=ie,(y.isArrayTexture||y.isDataArrayTexture||y.isData3DTexture)&&(ne.arrayLayerCount=new _5(new tB(`textureNumLayers(${E})`,"u32"))),y.isTextureCube&&(ne.cubeFaceCount=new _5(new tB("6u","u32")))}return ie.build(this)}generateFilteredTexture(y,E,z,ne="0u"){this._include("biquadraticTexture");const ie=this.generateWrapFunction(y),se=this.generateTextureDimension(y,E,ne);return`tsl_biquadraticTexture( ${E}, ${ie}( ${z} ), ${se}, u32( ${ne} ) )`}generateTextureLod(y,E,z,ne,ie="0u"){const se=this.generateWrapFunction(y),le=this.generateTextureDimension(y,E,ie),de=y.isData3DTexture?"vec3":"vec2",ge=`${de}( ${se}( ${z} ) * ${de}( ${le} ) )`;return this.generateTextureLoad(y,E,ge,ne,ie)}generateTextureLoad(y,E,z,ne,ie="0u"){let se;return y.isVideoTexture===!0?se=`textureLoad( ${E}, ${z} )`:ne?se=`textureLoad( ${E}, ${z}, ${ne}, u32( ${ie} ) )`:(se=`textureLoad( ${E}, ${z}, u32( ${ie} ) )`,this.renderer.backend.compatibilityMode&&y.isDepthTexture&&(se+=".x")),se}generateTextureStore(y,E,z,ne,ie){let se;return ne?se=`textureStore( ${E}, ${z}, ${ne}, ${ie} )`:se=`textureStore( ${E}, ${z}, ${ie} )`,se}isSampleCompare(y){return y.isDepthTexture===!0&&y.compareFunction!==null}isUnfilterable(y){return this.getComponentTypeFromTexture(y)!=="float"||!this.isAvailable("float32Filterable")&&y.isDataTexture===!0&&y.type===wu||this.isSampleCompare(y)===!1&&y.minFilter===xu&&y.magFilter===xu||this.renderer.backend.utils.getTextureSampleData(y).primarySamples>1}generateTexture(y,E,z,ne,ie=this.shaderStage){let se=null;return y.isVideoTexture===!0?se=this._generateVideoSample(E,z,ie):this.isUnfilterable(y)?se=this.generateTextureLod(y,E,z,ne,"0",ie):se=this._generateTextureSample(y,E,z,ne,ie),se}generateTextureGrad(y,E,z,ne,ie,se=this.shaderStage){if(se==="fragment")return`textureSampleGrad( ${E}, ${E}_sampler, ${z}, ${ne[0]}, ${ne[1]} )`;console.error(`WebGPURenderer: THREE.TextureNode.gradient() does not support ${se} shader.`)}generateTextureCompare(y,E,z,ne,ie,se=this.shaderStage){if(se==="fragment")return y.isDepthTexture===!0&&y.isArrayTexture===!0?`textureSampleCompare( ${E}, ${E}_sampler, ${z}, ${ie}, ${ne} )`:`textureSampleCompare( ${E}, ${E}_sampler, ${z}, ${ne} )`;console.error(`WebGPURenderer: THREE.DepthTexture.compareFunction() does not support ${se} shader.`)}generateTextureLevel(y,E,z,ne,ie,se=this.shaderStage){let le=null;return y.isVideoTexture===!0?le=this._generateVideoSample(E,z,se):le=this._generateTextureSampleLevel(y,E,z,ne,ie),le}generateTextureBias(y,E,z,ne,ie,se=this.shaderStage){if(se==="fragment")return`textureSampleBias( ${E}, ${E}_sampler, ${z}, ${ne} )`;console.error(`WebGPURenderer: THREE.TextureNode.biasNode does not support ${se} shader.`)}getPropertyName(y,E=this.shaderStage){if(y.isNodeVarying===!0&&y.needsInterpolation===!0){if(E==="vertex")return`varyings.${y.name}`}else if(y.isNodeUniform===!0){const z=y.name,ne=y.type;return ne==="texture"||ne==="cubeTexture"||ne==="storageTexture"||ne==="texture3D"?z:ne==="buffer"||ne==="storageBuffer"||ne==="indirectStorageBuffer"?this.isCustomStruct(y)?z:z+".value":y.groupNode.name+"."+z}return super.getPropertyName(y)}getOutputStructName(){return"output"}getFunctionOperator(y){const E=r_[y];return E!==void 0?(this._include(E),E):null}getNodeAccess(y,E){return E!=="compute"?Og.READ_ONLY:y.access}getStorageAccess(y,E){return i_[this.getNodeAccess(y,E)]}getUniformFromNode(y,E,z,ne=null){const ie=super.getUniformFromNode(y,E,z,ne),se=this.getDataFromNode(y,z,this.globalCache);if(se.uniformGPU===void 0){let le;const de=y.groupNode,ge=de.name,ve=this.getBindGroupArray(ge,z);if(E==="texture"||E==="cubeTexture"||E==="storageTexture"||E==="texture3D"){let xe=null;const Se=this.getNodeAccess(y,z);if(E==="texture"||E==="storageTexture"?xe=new jB(ie.name,ie.node,de,Se):E==="cubeTexture"?xe=new H9(ie.name,ie.node,de,Se):E==="texture3D"&&(xe=new U9(ie.name,ie.node,de,Se)),xe.store=y.isStorageTextureNode===!0,xe.setVisibility(WB[z]),this.isUnfilterable(y.value)===!1&&xe.store===!1){const Me=new Xq(`${ie.name}_sampler`,ie.node,de);Me.setVisibility(WB[z]),ve.push(Me,xe),le=[Me,xe]}else ve.push(xe),le=[xe]}else if(E==="buffer"||E==="storageBuffer"||E==="indirectStorageBuffer"){const xe=E==="buffer"?k9:Yq,Se=new xe(y,de);Se.setVisibility(WB[z]),ve.push(Se),le=Se,ie.name=ne||"NodeBuffer_"+ie.id}else{const xe=this.uniformGroups[z]||(this.uniformGroups[z]={});let Se=xe[ge];Se===void 0&&(Se=new z9(ge,de),Se.setVisibility(WB[z]),xe[ge]=Se,ve.push(Se)),le=this.getNodeUniform(ie,E),Se.addUniform(le)}se.uniformGPU=le}return ie}getBuiltin(y,E,z,ne=this.shaderStage){const ie=this.builtins[ne]||(this.builtins[ne]=new Map);return ie.has(y)===!1&&ie.set(y,{name:y,property:E,type:z}),E}hasBuiltin(y,E=this.shaderStage){return this.builtins[E]!==void 0&&this.builtins[E].has(y)}getVertexIndex(){return this.shaderStage==="vertex"?this.getBuiltin("vertex_index","vertexIndex","u32","attribute"):"vertexIndex"}buildFunctionCode(y){const E=y.layout,z=this.flowShaderNode(y),ne=[];for(const se of E.inputs)ne.push(se.name+" : "+this.getType(se.type));let ie=`fn ${E.name}( ${ne.join(", ")} ) -> ${this.getType(E.type)} { +`,sR[E]=z=new zd(se,ne)}return z.build(this),E}generateArrayDeclaration(y,E){return`array< ${this.getType(y)}, ${E} >`}generateTextureDimension(y,E,z){const ne=this.getDataFromNode(y,this.shaderStage,this.globalCache);ne.dimensionsSnippet===void 0&&(ne.dimensionsSnippet={});let ie=ne.dimensionsSnippet[z];if(ne.dimensionsSnippet[z]===void 0){let se,le;const{primarySamples:de}=this.renderer.backend.utils.getTextureSampleData(y),ge=de>1;y.isData3DTexture?le="vec3":le="vec2",ge||y.isVideoTexture||y.isStorageTexture?se=E:se=`${E}${z?`, u32( ${z} )`:""}`,ie=new _5(new tB(`textureDimensions( ${se} )`,le)),ne.dimensionsSnippet[z]=ie,(y.isArrayTexture||y.isDataArrayTexture||y.isData3DTexture)&&(ne.arrayLayerCount=new _5(new tB(`textureNumLayers(${E})`,"u32"))),y.isTextureCube&&(ne.cubeFaceCount=new _5(new tB("6u","u32")))}return ie.build(this)}generateFilteredTexture(y,E,z,ne="0u"){this._include("biquadraticTexture");const ie=this.generateWrapFunction(y),se=this.generateTextureDimension(y,E,ne);return`tsl_biquadraticTexture( ${E}, ${ie}( ${z} ), ${se}, u32( ${ne} ) )`}generateTextureLod(y,E,z,ne,ie="0u"){const se=this.generateWrapFunction(y),le=this.generateTextureDimension(y,E,ie),de=y.isData3DTexture?"vec3":"vec2",ge=`${de}( ${se}( ${z} ) * ${de}( ${le} ) )`;return this.generateTextureLoad(y,E,ge,ne,ie)}generateTextureLoad(y,E,z,ne,ie="0u"){let se;return y.isVideoTexture===!0?se=`textureLoad( ${E}, ${z} )`:ne?se=`textureLoad( ${E}, ${z}, ${ne}, u32( ${ie} ) )`:(se=`textureLoad( ${E}, ${z}, u32( ${ie} ) )`,this.renderer.backend.compatibilityMode&&y.isDepthTexture&&(se+=".x")),se}generateTextureStore(y,E,z,ne,ie){let se;return ne?se=`textureStore( ${E}, ${z}, ${ne}, ${ie} )`:se=`textureStore( ${E}, ${z}, ${ie} )`,se}isSampleCompare(y){return y.isDepthTexture===!0&&y.compareFunction!==null}isUnfilterable(y){return this.getComponentTypeFromTexture(y)!=="float"||!this.isAvailable("float32Filterable")&&y.isDataTexture===!0&&y.type===wu||this.isSampleCompare(y)===!1&&y.minFilter===xu&&y.magFilter===xu||this.renderer.backend.utils.getTextureSampleData(y).primarySamples>1}generateTexture(y,E,z,ne,ie=this.shaderStage){let se=null;return y.isVideoTexture===!0?se=this._generateVideoSample(E,z,ie):this.isUnfilterable(y)?se=this.generateTextureLod(y,E,z,ne,"0",ie):se=this._generateTextureSample(y,E,z,ne,ie),se}generateTextureGrad(y,E,z,ne,ie,se=this.shaderStage){if(se==="fragment")return`textureSampleGrad( ${E}, ${E}_sampler, ${z}, ${ne[0]}, ${ne[1]} )`;console.error(`WebGPURenderer: THREE.TextureNode.gradient() does not support ${se} shader.`)}generateTextureCompare(y,E,z,ne,ie,se=this.shaderStage){if(se==="fragment")return y.isDepthTexture===!0&&y.isArrayTexture===!0?`textureSampleCompare( ${E}, ${E}_sampler, ${z}, ${ie}, ${ne} )`:`textureSampleCompare( ${E}, ${E}_sampler, ${z}, ${ne} )`;console.error(`WebGPURenderer: THREE.DepthTexture.compareFunction() does not support ${se} shader.`)}generateTextureLevel(y,E,z,ne,ie,se=this.shaderStage){let le=null;return y.isVideoTexture===!0?le=this._generateVideoSample(E,z,se):le=this._generateTextureSampleLevel(y,E,z,ne,ie),le}generateTextureBias(y,E,z,ne,ie,se=this.shaderStage){if(se==="fragment")return`textureSampleBias( ${E}, ${E}_sampler, ${z}, ${ne} )`;console.error(`WebGPURenderer: THREE.TextureNode.biasNode does not support ${se} shader.`)}getPropertyName(y,E=this.shaderStage){if(y.isNodeVarying===!0&&y.needsInterpolation===!0){if(E==="vertex")return`varyings.${y.name}`}else if(y.isNodeUniform===!0){const z=y.name,ne=y.type;return ne==="texture"||ne==="cubeTexture"||ne==="storageTexture"||ne==="texture3D"?z:ne==="buffer"||ne==="storageBuffer"||ne==="indirectStorageBuffer"?this.isCustomStruct(y)?z:z+".value":y.groupNode.name+"."+z}return super.getPropertyName(y)}getOutputStructName(){return"output"}getFunctionOperator(y){const E=o_[y];return E!==void 0?(this._include(E),E):null}getNodeAccess(y,E){return E!=="compute"?Og.READ_ONLY:y.access}getStorageAccess(y,E){return r_[this.getNodeAccess(y,E)]}getUniformFromNode(y,E,z,ne=null){const ie=super.getUniformFromNode(y,E,z,ne),se=this.getDataFromNode(y,z,this.globalCache);if(se.uniformGPU===void 0){let le;const de=y.groupNode,ge=de.name,ve=this.getBindGroupArray(ge,z);if(E==="texture"||E==="cubeTexture"||E==="storageTexture"||E==="texture3D"){let xe=null;const Se=this.getNodeAccess(y,z);if(E==="texture"||E==="storageTexture"?xe=new jB(ie.name,ie.node,de,Se):E==="cubeTexture"?xe=new U9(ie.name,ie.node,de,Se):E==="texture3D"&&(xe=new V9(ie.name,ie.node,de,Se)),xe.store=y.isStorageTextureNode===!0,xe.setVisibility(WB[z]),this.isUnfilterable(y.value)===!1&&xe.store===!1){const Me=new Wq(`${ie.name}_sampler`,ie.node,de);Me.setVisibility(WB[z]),ve.push(Me,xe),le=[Me,xe]}else ve.push(xe),le=[xe]}else if(E==="buffer"||E==="storageBuffer"||E==="indirectStorageBuffer"){const xe=E==="buffer"?z9:Zq,Se=new xe(y,de);Se.setVisibility(WB[z]),ve.push(Se),le=Se,ie.name=ne||"NodeBuffer_"+ie.id}else{const xe=this.uniformGroups[z]||(this.uniformGroups[z]={});let Se=xe[ge];Se===void 0&&(Se=new H9(ge,de),Se.setVisibility(WB[z]),xe[ge]=Se,ve.push(Se)),le=this.getNodeUniform(ie,E),Se.addUniform(le)}se.uniformGPU=le}return ie}getBuiltin(y,E,z,ne=this.shaderStage){const ie=this.builtins[ne]||(this.builtins[ne]=new Map);return ie.has(y)===!1&&ie.set(y,{name:y,property:E,type:z}),E}hasBuiltin(y,E=this.shaderStage){return this.builtins[E]!==void 0&&this.builtins[E].has(y)}getVertexIndex(){return this.shaderStage==="vertex"?this.getBuiltin("vertex_index","vertexIndex","u32","attribute"):"vertexIndex"}buildFunctionCode(y){const E=y.layout,z=this.flowShaderNode(y),ne=[];for(const se of E.inputs)ne.push(se.name+" : "+this.getType(se.type));let ie=`fn ${E.name}( ${ne.join(", ")} ) -> ${this.getType(E.type)} { ${z.vars} ${z.code} `;return z.result&&(ie+=` return ${z.result}; @@ -5076,7 +5076,7 @@ ${E.join(` `+Me),z.returnType="OutputStruct",z.structs+=this._getWGSLStruct("OutputStruct",Se),z.structs+=` var output : OutputStruct;`,ne+=`output.color = ${ve.result}; - return output;`}}}z.flow=ne}this.shaderStage=null,this.material!==null?(this.vertexShader=this._getWGSLVertexCode(y.vertex),this.fragmentShader=this._getWGSLFragmentCode(y.fragment)):this.computeShader=this._getWGSLComputeCode(y.compute,(this.object.workgroupSize||[64]).join(", "))}getMethod(y,E=null){let z;return E!==null&&(z=this._getWGSLMethod(y+"_"+E)),z===void 0&&(z=this._getWGSLMethod(y)),z||y}getType(y){return o_[y]||y}isAvailable(y){let E=rR[y];return E===void 0&&(y==="float32Filterable"?E=this.renderer.hasFeature("float32-filterable"):y==="clipDistance"&&(E=this.renderer.hasFeature("clip-distances")),rR[y]=E),E}_getWGSLMethod(y){return lv[y]!==void 0&&this._include(y),DM[y]}_include(y){const E=lv[y];return E.build(this),this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(E),E}_getWGSLVertexCode(y){return`${this.getSignature()} + return output;`}}}z.flow=ne}this.shaderStage=null,this.material!==null?(this.vertexShader=this._getWGSLVertexCode(y.vertex),this.fragmentShader=this._getWGSLFragmentCode(y.fragment)):this.computeShader=this._getWGSLComputeCode(y.compute,(this.object.workgroupSize||[64]).join(", "))}getMethod(y,E=null){let z;return E!==null&&(z=this._getWGSLMethod(y+"_"+E)),z===void 0&&(z=this._getWGSLMethod(y)),z||y}getType(y){return s_[y]||y}isAvailable(y){let E=oR[y];return E===void 0&&(y==="float32Filterable"?E=this.renderer.hasFeature("float32-filterable"):y==="clipDistance"&&(E=this.renderer.hasFeature("clip-distances")),oR[y]=E),E}_getWGSLMethod(y){return lv[y]!==void 0&&this._include(y),DM[y]}_include(y){const E=lv[y];return E.build(this),this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(E),E}_getWGSLVertexCode(y){return`${this.getSignature()} // directives ${y.directives} @@ -5107,7 +5107,7 @@ fn main( ${y.attributes} ) -> VaryingsStruct { } `}_getWGSLFragmentCode(y){return`${this.getSignature()} // global -${sR} +${aR} // structs ${y.structs} @@ -5165,7 +5165,7 @@ struct ${y} { ${E} };`}_getWGSLStructBinding(y,E,z,ne=0,ie=0){const se=y+"Struct";return`${this._getWGSLStruct(se,E)} @binding( ${ne} ) @group( ${ie} ) -var<${z}> ${y} : ${se};`}}class a_{constructor(y){this.backend=y}getCurrentDepthStencilFormat(y){let E;return y.depthTexture!==null?E=this.getTextureFormatGPU(y.depthTexture):y.depth&&y.stencil?E=Un.Depth24PlusStencil8:y.depth&&(E=Un.Depth24Plus),E}getTextureFormatGPU(y){return this.backend.get(y).format}getTextureSampleData(y){let E;if(y.isFramebufferTexture)E=1;else if(y.isDepthTexture&&!y.renderTarget){const ie=this.backend.renderer,se=ie.getRenderTarget();E=se?se.samples:ie.samples}else y.renderTarget&&(E=y.renderTarget.samples);E=E||1;const z=E>1&&y.renderTarget!==null&&y.isDepthTexture!==!0&&y.isFramebufferTexture!==!0;return{samples:E,primarySamples:z?1:E,isMSAA:z}}getCurrentColorFormat(y){let E;return y.textures!==null?E=this.getTextureFormatGPU(y.textures[0]):E=this.getPreferredCanvasFormat(),E}getCurrentColorSpace(y){return y.textures!==null?y.textures[0].colorSpace:this.backend.renderer.outputColorSpace}getPrimitiveTopology(y,E){if(y.isPoints)return zE.PointList;if(y.isLineSegments||y.isMesh&&E.wireframe===!0)return zE.LineList;if(y.isLine)return zE.LineStrip;if(y.isMesh)return zE.TriangleList}getSampleCount(y){let E=1;return y>1&&(E=Math.pow(2,Math.floor(Math.log2(y))),E===2&&(E=4)),E}getSampleCountRenderContext(y){return y.textures!==null?this.getSampleCount(y.sampleCount):this.getSampleCount(this.backend.renderer.samples)}getPreferredCanvasFormat(){const y=this.backend.parameters.outputType;if(y===void 0)return navigator.gpu.getPreferredCanvasFormat();if(y===Zu)return Un.BGRA8Unorm;if(y===mc)return Un.RGBA16Float;throw new Error("Unsupported outputType")}}const aR=new Map([[Int8Array,["sint8","snorm8"]],[Uint8Array,["uint8","unorm8"]],[Int16Array,["sint16","snorm16"]],[Uint16Array,["uint16","unorm16"]],[Int32Array,["sint32","snorm32"]],[Uint32Array,["uint32","unorm32"]],[Float32Array,["float32"]]]);typeof Float16Array!="undefined"&&aR.set(Float16Array,["float16"]);const l_=new Map([[Tb,["float16"]]]),u_=new Map([[Int32Array,"sint32"],[Int16Array,"sint32"],[Uint32Array,"uint32"],[Uint16Array,"uint32"],[Float32Array,"float32"]]);class c_{constructor(y){this.backend=y}createAttribute(y,E){const z=this._getBufferAttribute(y),ne=this.backend,ie=ne.get(z);let se=ie.buffer;if(se===void 0){const le=ne.device;let de=z.array;if(y.normalized===!1){if(de.constructor===Int16Array||de.constructor===Int8Array)de=new Int32Array(de);else if((de.constructor===Uint16Array||de.constructor===Uint8Array)&&(de=new Uint32Array(de),E&GPUBufferUsage.INDEX))for(let xe=0;xe1&&(de.multisampled=!0,se.texture.isDepthTexture||(de.sampleType=wP.UnfilterableFloat)),se.texture.isDepthTexture)E.compatibilityMode&&se.texture.compareFunction===null?de.sampleType=wP.UnfilterableFloat:de.sampleType=wP.Depth;else if(se.texture.isDataTexture||se.texture.isDataArrayTexture||se.texture.isData3DTexture){const ve=se.texture.type;ve===tc?de.sampleType=wP.SInt:ve===nu?de.sampleType=wP.UInt:ve===wu&&(this.backend.hasFeature("float32-filterable")?de.sampleType=wP.Float:de.sampleType=wP.UnfilterableFloat)}se.isSampledCubeTexture?de.viewDimension=Hd.Cube:se.texture.isArrayTexture||se.texture.isDataArrayTexture||se.texture.isCompressedArrayTexture?de.viewDimension=Hd.TwoDArray:se.isSampledTexture3D&&(de.viewDimension=Hd.ThreeD),le.texture=de}else console.error(`WebGPUBindingUtils: Unsupported binding "${se}".`);ne.push(le)}return z.createBindGroupLayout({entries:ne})}createBindings(y,E,z,ne=0){const{backend:ie,bindGroupLayoutCache:se}=this,le=ie.get(y);let de=se.get(y.bindingsReference);de===void 0&&(de=this.createBindingsLayout(y),se.set(y.bindingsReference,de));let ge;z>0&&(le.groups===void 0&&(le.groups=[],le.versions=[]),le.versions[z]===ne&&(ge=le.groups[z])),ge===void 0&&(ge=this.createBindGroup(y,de),z>0&&(le.groups[z]=ge,le.versions[z]=ne)),le.group=ge,le.layout=de}updateBinding(y){const E=this.backend,z=E.device,ne=y.buffer,ie=E.get(y).buffer;z.queue.writeBuffer(ie,0,ne,0)}createBindGroupIndex(y,E){const ne=this.backend.device,ie=GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,se=y[0],le=ne.createBuffer({label:"bindingCameraIndex_"+se,size:16,usage:ie});ne.queue.writeBuffer(le,0,y,0);const de=[{binding:0,resource:{buffer:le}}];return ne.createBindGroup({label:"bindGroupCameraIndex_"+se,layout:E,entries:de})}createBindGroup(y,E){const z=this.backend,ne=z.device;let ie=0;const se=[];for(const le of y.bindings){if(le.isUniformBuffer){const de=z.get(le);if(de.buffer===void 0){const ge=le.byteLength,ve=GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,xe=ne.createBuffer({label:"bindingBuffer_"+le.name,size:ge,usage:ve});de.buffer=xe}se.push({binding:ie,resource:{buffer:de.buffer}})}else if(le.isStorageBuffer){const de=z.get(le);if(de.buffer===void 0){const ge=le.attribute;de.buffer=z.get(ge).buffer}se.push({binding:ie,resource:{buffer:de.buffer}})}else if(le.isSampler){const de=z.get(le.texture);se.push({binding:ie,resource:de.sampler})}else if(le.isSampledTexture){const de=z.get(le.texture);let ge;if(de.externalTexture!==void 0)ge=ne.importExternalTexture({source:de.externalTexture});else{const ve=le.store?1:de.texture.mipLevelCount,xe=`view-${de.texture.width}-${de.texture.height}-${ve}`;if(ge=de[xe],ge===void 0){const Se=jq.All;let Me;le.isSampledCubeTexture?Me=Hd.Cube:le.isSampledTexture3D?Me=Hd.ThreeD:le.texture.isArrayTexture||le.texture.isDataArrayTexture||le.texture.isCompressedArrayTexture?Me=Hd.TwoDArray:Me=Hd.TwoD,ge=de[xe]=de.texture.createView({aspect:Se,dimension:Me,mipLevelCount:ve})}}se.push({binding:ie,resource:ge})}ie++}return ne.createBindGroup({label:"bindGroup_"+y.name,layout:E,entries:se})}}class d_{constructor(y){this.backend=y,this._activePipelines=new WeakMap}setPipeline(y,E){this._activePipelines.get(y)!==E&&(y.setPipeline(E),this._activePipelines.set(y,E))}_getSampleCount(y){return this.backend.utils.getSampleCountRenderContext(y)}createRenderPipeline(y,E){const{object:z,material:ne,geometry:ie,pipeline:se}=y,{vertexProgram:le,fragmentProgram:de}=se,ge=this.backend,ve=ge.device,xe=ge.utils,Se=ge.get(se),Me=[];for(const cn of y.getBindings()){const Cn=ge.get(cn);Me.push(Cn.layout)}const De=ge.attributeUtils.createShaderVertexBuffers(y);let Oe;ne.blending!==eu&&(ne.blending!==Eh||ne.transparent!==!1)&&(Oe=this._getBlending(ne));let Re={};ne.stencilWrite===!0&&(Re={compare:this._getStencilCompare(ne),failOp:this._getStencilOperation(ne.stencilFail),depthFailOp:this._getStencilOperation(ne.stencilZFail),passOp:this._getStencilOperation(ne.stencilZPass)});const Le=this._getColorWriteMask(ne),Qe=[];if(y.context.textures!==null){const cn=y.context.textures;for(let Cn=0;Cn1},layout:ve.createPipelineLayout({bindGroupLayouts:Me})},rt={},Mt=y.context.depth,Xt=y.context.stencil;if((Mt===!0||Xt===!0)&&(Mt===!0&&(rt.format=ht,rt.depthWriteEnabled=ne.depthWrite,rt.depthCompare=et),Xt===!0&&(rt.stencilFront=Re,rt.stencilBack={},rt.stencilReadMask=ne.stencilFuncMask,rt.stencilWriteMask=ne.stencilWriteMask),ne.polygonOffset===!0&&(rt.depthBias=ne.polygonOffsetUnits,rt.depthBiasSlopeScale=ne.polygonOffsetFactor,rt.depthBiasClamp=0),ot.depthStencil=rt),E===null)Se.pipeline=ve.createRenderPipeline(ot);else{const cn=new Promise(Cn=>{ve.createRenderPipelineAsync(ot).then(En=>{Se.pipeline=En,Cn()})});E.push(cn)}}createBundleEncoder(y,E="renderBundleEncoder"){const z=this.backend,{utils:ne,device:ie}=z,se=ne.getCurrentDepthStencilFormat(y),le=ne.getCurrentColorFormat(y),de=this._getSampleCount(y),ge={label:E,colorFormats:[le],depthStencilFormat:se,sampleCount:de};return ie.createRenderBundleEncoder(ge)}createComputePipeline(y,E){const z=this.backend,ne=z.device,ie=z.get(y.computeProgram).module,se=z.get(y),le=[];for(const de of E){const ge=z.get(de);le.push(ge.layout)}se.pipeline=ne.createComputePipeline({compute:ie,layout:ne.createPipelineLayout({bindGroupLayouts:le})})}_getBlending(y){let E,z;const ne=y.blending,ie=y.blendSrc,se=y.blendDst,le=y.blendEquation;if(ne===Sf){const de=y.blendSrcAlpha!==null?y.blendSrcAlpha:ie,ge=y.blendDstAlpha!==null?y.blendDstAlpha:se,ve=y.blendEquationAlpha!==null?y.blendEquationAlpha:le;E={srcFactor:this._getBlendFactor(ie),dstFactor:this._getBlendFactor(se),operation:this._getBlendOperation(le)},z={srcFactor:this._getBlendFactor(de),dstFactor:this._getBlendFactor(ge),operation:this._getBlendOperation(ve)}}else{const de=y.premultipliedAlpha,ge=(ve,xe,Se,Me)=>{E={srcFactor:ve,dstFactor:xe,operation:xP.Add},z={srcFactor:Se,dstFactor:Me,operation:xP.Add}};if(de)switch(ne){case Eh:ge(Ql.One,Ql.OneMinusSrcAlpha,Ql.One,Ql.OneMinusSrcAlpha);break;case e0:ge(Ql.One,Ql.One,Ql.One,Ql.One);break;case yp:ge(Ql.Zero,Ql.OneMinusSrc,Ql.Zero,Ql.One);break;case Ap:ge(Ql.Dst,Ql.OneMinusSrcAlpha,Ql.Zero,Ql.One);break}else switch(ne){case Eh:ge(Ql.SrcAlpha,Ql.OneMinusSrcAlpha,Ql.One,Ql.OneMinusSrcAlpha);break;case e0:ge(Ql.SrcAlpha,Ql.One,Ql.One,Ql.One);break;case yp:console.error("THREE.WebGPURenderer: SubtractiveBlending requires material.premultipliedAlpha = true");break;case Ap:console.error("THREE.WebGPURenderer: MultiplyBlending requires material.premultipliedAlpha = true");break}}if(E!==void 0&&z!==void 0)return{color:E,alpha:z};console.error("THREE.WebGPURenderer: Invalid blending: ",ne)}_getBlendFactor(y){let E;switch(y){case Yd:E=Ql.Zero;break;case xv:E=Ql.One;break;case GA:E=Ql.Src;break;case t0:E=Ql.OneMinusSrc;break;case Sy:E=Ql.SrcAlpha;break;case Xg:E=Ql.OneMinusSrcAlpha;break;case XA:E=Ql.Dst;break;case nm:E=Ql.OneMinusDst;break;case Zd:E=Ql.DstAlpha;break;case d1:E=Ql.OneMinusDstAlpha;break;case n0:E=Ql.SrcAlphaSaturated;break;case aY:E=Ql.Constant;break;case lY:E=Ql.OneMinusConstant;break;default:console.error("THREE.WebGPURenderer: Blend factor not supported.",y)}return E}_getStencilCompare(y){let E;const z=y.stencilFunc;switch(z){case hu:E=cg.Never;break;case Oc:E=cg.Always;break;case Rc:E=cg.Less;break;case Sd:E=cg.LessEqual;break;case Lu:E=cg.Equal;break;case $d:E=cg.GreaterEqual;break;case kh:E=cg.Greater;break;case Cc:E=cg.NotEqual;break;default:console.error("THREE.WebGPURenderer: Invalid stencil function.",z)}return E}_getStencilOperation(y){let E;switch(y){case Nr:E=Tw.Keep;break;case mr:E=Tw.Zero;break;case So:E=Tw.Replace;break;case Ea:E=Tw.Invert;break;case eo:E=Tw.IncrementClamp;break;case zo:E=Tw.DecrementClamp;break;case Hs:E=Tw.IncrementWrap;break;case qr:E=Tw.DecrementWrap;break;default:console.error("THREE.WebGPURenderer: Invalid stencil operation.",E)}return E}_getBlendOperation(y){let E;switch(y){case th:E=xP.Add;break;case jA:E=xP.Subtract;break;case ju:E=xP.ReverseSubtract;break;case wy:E=xP.Min;break;case tm:E=xP.Max;break;default:console.error("THREE.WebGPUPipelineUtils: Blend equation not supported.",y)}return E}_getPrimitiveState(y,E,z){const ne={},ie=this.backend.utils;switch(ne.topology=ie.getPrimitiveTopology(y,z),E.index!==null&&y.isLine===!0&&y.isLineSegments!==!0&&(ne.stripIndexFormat=E.index.array instanceof Uint16Array?HE.Uint16:HE.Uint32),z.side){case $c:ne.frontFace=QF.CCW,ne.cullMode=YF.Back;break;case au:ne.frontFace=QF.CCW,ne.cullMode=YF.Front;break;case eh:ne.frontFace=QF.CCW,ne.cullMode=YF.None;break;default:console.error("THREE.WebGPUPipelineUtils: Unknown material.side value.",z.side);break}return ne}_getColorWriteMask(y){return y.colorWrite===!0?$9.All:$9.None}_getDepthCompare(y){let E;if(y.depthTest===!1)E=cg.Always;else{const z=y.depthFunc;switch(z){case Py:E=cg.Never;break;case Yt:E=cg.Always;break;case Wg:E=cg.Less;break;case nd:E=cg.LessEqual;break;case Cy:E=cg.Equal;break;case wv:E=cg.GreaterEqual;break;case Ey:E=cg.Greater;break;case Sv:E=cg.NotEqual;break;default:console.error("THREE.WebGPUPipelineUtils: Invalid depth function.",z)}}return E}}class f_ extends J9{constructor(y,E,z=2048){super(z),this.device=y,this.type=E,this.querySet=this.device.createQuerySet({type:"timestamp",count:this.maxQueries,label:`queryset_global_timestamp_${E}`});const ne=this.maxQueries*8;this.resolveBuffer=this.device.createBuffer({label:`buffer_timestamp_resolve_${E}`,size:ne,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.resultBuffer=this.device.createBuffer({label:`buffer_timestamp_result_${E}`,size:ne,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})}allocateQueriesForContext(y){if(!this.trackTimestamp||this.isDisposed)return null;if(this.currentQueryIndex+2>this.maxQueries)return Cs(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const E=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryOffsets.set(y.id,E),E}resolveQueriesAsync(){return la(this,null,function*(){if(!this.trackTimestamp||this.currentQueryIndex===0||this.isDisposed)return this.lastValue;if(this.pendingResolve)return this.pendingResolve;this.pendingResolve=this._resolveQueries();try{return yield this.pendingResolve}finally{this.pendingResolve=null}})}_resolveQueries(){return la(this,null,function*(){if(this.isDisposed)return this.lastValue;try{if(this.resultBuffer.mapState!=="unmapped")return this.lastValue;const y=new Map(this.queryOffsets),E=this.currentQueryIndex,z=E*8;this.currentQueryIndex=0,this.queryOffsets.clear();const ne=this.device.createCommandEncoder();ne.resolveQuerySet(this.querySet,0,E,this.resolveBuffer,0),ne.copyBufferToBuffer(this.resolveBuffer,0,this.resultBuffer,0,z);const ie=ne.finish();if(this.device.queue.submit([ie]),this.resultBuffer.mapState!=="unmapped")return this.lastValue;if(yield this.resultBuffer.mapAsync(GPUMapMode.READ,0,z),this.isDisposed)return this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue;const se=new BigUint64Array(this.resultBuffer.getMappedRange(0,z));let le=0;for(const[,de]of y){const ge=se[de],ve=se[de+1],xe=Number(ve-ge)/1e6;le+=xe}return this.resultBuffer.unmap(),this.lastValue=le,le}catch(y){return console.error("Error resolving queries:",y),this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue}})}dispose(){return la(this,null,function*(){if(!this.isDisposed){if(this.isDisposed=!0,this.pendingResolve)try{yield this.pendingResolve}catch(y){console.error("Error waiting for pending resolve:",y)}if(this.resultBuffer&&this.resultBuffer.mapState==="mapped")try{this.resultBuffer.unmap()}catch(y){console.error("Error unmapping buffer:",y)}this.querySet&&(this.querySet.destroy(),this.querySet=null),this.resolveBuffer&&(this.resolveBuffer.destroy(),this.resolveBuffer=null),this.resultBuffer&&(this.resultBuffer.destroy(),this.resultBuffer=null),this.queryOffsets.clear(),this.pendingResolve=null}})}}class $F extends W9{constructor(y={}){super(y),this.isWebGPUBackend=!0,this.parameters.alpha=y.alpha===void 0?!0:y.alpha,this.parameters.compatibilityMode=y.compatibilityMode===void 0?!1:y.compatibilityMode,this.parameters.requiredLimits=y.requiredLimits===void 0?{}:y.requiredLimits,this.compatibilityMode=this.parameters.compatibilityMode,this.device=null,this.context=null,this.colorBuffer=null,this.defaultRenderPassdescriptor=null,this.utils=new a_(this),this.attributeUtils=new c_(this),this.bindingUtils=new h_(this),this.pipelineUtils=new d_(this),this.textureUtils=new qq(this),this.occludedResolveCache=new Map}init(y){return la(this,null,function*(){yield kk($F.prototype,this,"init").call(this,y);const E=this.parameters;let z;if(E.device===void 0){const se={powerPreference:E.powerPreference,featureLevel:E.compatibilityMode?"compatibility":void 0},le=typeof navigator!="undefined"?yield navigator.gpu.requestAdapter(se):null;if(le===null)throw new Error("WebGPUBackend: Unable to create WebGPU adapter.");const de=Object.values(qF),ge=[];for(const xe of de)le.features.has(xe)&&ge.push(xe);const ve={requiredFeatures:ge,requiredLimits:E.requiredLimits};z=yield le.requestDevice(ve)}else z=E.device;z.lost.then(se=>{const le={api:"WebGPU",message:se.message||"Unknown reason",reason:se.reason||null,originalEvent:se};y.onDeviceLost(le)});const ne=E.context!==void 0?E.context:y.domElement.getContext("webgpu");this.device=z,this.context=ne;const ie=E.alpha?"premultiplied":"opaque";this.trackTimestamp=this.trackTimestamp&&this.hasFeature(qF.TimestampQuery),this.context.configure({device:this.device,format:this.utils.getPreferredCanvasFormat(),usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,alphaMode:ie}),this.updateSize()})}get coordinateSystem(){return rd}getArrayBufferAsync(y){return la(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(y)})}getContext(){return this.context}_getDefaultRenderPassDescriptor(){let y=this.defaultRenderPassdescriptor;if(y===null){const z=this.renderer;y={colorAttachments:[{view:null}]},(this.renderer.depth===!0||this.renderer.stencil===!0)&&(y.depthStencilAttachment={view:this.textureUtils.getDepthBuffer(z.depth,z.stencil).createView()});const ne=y.colorAttachments[0];this.renderer.samples>0?ne.view=this.colorBuffer.createView():ne.resolveTarget=void 0,this.defaultRenderPassdescriptor=y}const E=y.colorAttachments[0];return this.renderer.samples>0?E.resolveTarget=this.context.getCurrentTexture().createView():E.view=this.context.getCurrentTexture().createView(),y}_isRenderCameraDepthArray(y){return y.depthTexture&&y.depthTexture.image.depth>1&&y.camera.isArrayCamera}_getRenderPassDescriptor(y,E={}){const z=y.renderTarget,ne=this.get(z);let ie=ne.descriptors;if(ie===void 0||ne.width!==z.width||ne.height!==z.height||ne.dimensions!==z.dimensions||ne.activeMipmapLevel!==y.activeMipmapLevel||ne.activeCubeFace!==y.activeCubeFace||ne.samples!==z.samples){ie={},ne.descriptors=ie;const ge=()=>{z.removeEventListener("dispose",ge),this.delete(z)};z.hasEventListener("dispose",ge)===!1&&z.addEventListener("dispose",ge)}const se=y.getCacheKey();let le=ie[se];if(le===void 0){const ge=y.textures,ve=[];let xe;const Se=this._isRenderCameraDepthArray(y);for(let Me=0;Me1)if(Se===!0){const Re=y.camera.cameras;for(let Le=0;Le0&&(E.currentOcclusionQuerySet&&E.currentOcclusionQuerySet.destroy(),E.currentOcclusionQueryBuffer&&E.currentOcclusionQueryBuffer.destroy(),E.currentOcclusionQuerySet=E.occlusionQuerySet,E.currentOcclusionQueryBuffer=E.occlusionQueryBuffer,E.currentOcclusionQueryObjects=E.occlusionQueryObjects,ie=z.createQuerySet({type:"occlusion",count:ne,label:`occlusionQuerySet_${y.id}`}),E.occlusionQuerySet=ie,E.occlusionQueryIndex=0,E.occlusionQueryObjects=new Array(ne),E.lastOcclusionObject=null);let se;y.textures===null?se=this._getDefaultRenderPassDescriptor():se=this._getRenderPassDescriptor(y,{loadOp:Hu.Load}),this.initTimestampQuery(y,se),se.occlusionQuerySet=ie;const le=se.depthStencilAttachment;if(y.textures!==null){const ge=se.colorAttachments;for(let ve=0;ve0&&E.currentPass.executeBundles(E.renderBundles),z>E.occlusionQueryIndex&&E.currentPass.endOcclusionQuery();const ne=E.encoder;if(this._isRenderCameraDepthArray(y)===!0){const ie=[];for(let se=0;se0){const ie=z*8;let se=this.occludedResolveCache.get(ie);se===void 0&&(se=this.device.createBuffer({size:ie,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.occludedResolveCache.set(ie,se));const le=this.device.createBuffer({size:ie,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});E.encoder.resolveQuerySet(E.occlusionQuerySet,0,z,se,0),E.encoder.copyBufferToBuffer(se,0,le,0,ie),E.occlusionQueryBuffer=le,this.resolveOccludedAsync(y)}if(this.device.queue.submit([E.encoder.finish()]),y.textures!==null){const ie=y.textures;for(let se=0;sele?(ge.x=Math.min(E.dispatchCount,le),ge.y=Math.ceil(E.dispatchCount/le)):ge.x=E.dispatchCount,ie.dispatchWorkgroups(ge.x,ge.y,ge.z)}finishCompute(y){const E=this.get(y);E.passEncoderGPU.end(),this.device.queue.submit([E.cmdEncoderGPU.finish()])}waitForGPU(){return la(this,null,function*(){yield this.device.queue.onSubmittedWorkDone()})}draw(y,E){const{object:z,material:ne,context:ie,pipeline:se}=y,le=y.getBindings(),de=this.get(ie),ge=this.get(se).pipeline,ve=y.getIndex(),xe=ve!==null,Se=y.getDrawParameters();if(Se===null)return;const Me=(Oe,Re)=>{this.pipelineUtils.setPipeline(Oe,ge),Re.pipeline=ge;const Le=Re.bindingGroups;for(let Xe=0,Ze=le.length;Xe{if(Me(Oe,Re),z.isBatchedMesh===!0){const Le=z._multiDrawStarts,Qe=z._multiDrawCounts,Xe=z._multiDrawCount,Ze=z._multiDrawInstances;Ze!==null&&Cs("THREE.WebGPUBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.");for(let it=0;it1?0:it;xe===!0?Oe.drawIndexed(Qe[it],et,Le[it]/ve.array.BYTES_PER_ELEMENT,0,ht):Oe.draw(Qe[it],et,Le[it],ht),E.update(z,Qe[it],et)}}else if(xe===!0){const{vertexCount:Le,instanceCount:Qe,firstVertex:Xe}=Se,Ze=y.getIndirect();if(Ze!==null){const it=this.get(Ze).buffer;Oe.drawIndexedIndirect(it,0)}else Oe.drawIndexed(Le,Qe,Xe,0,0);E.update(z,Le,Qe)}else{const{vertexCount:Le,instanceCount:Qe,firstVertex:Xe}=Se,Ze=y.getIndirect();if(Ze!==null){const it=this.get(Ze).buffer;Oe.drawIndirect(it,0)}else Oe.draw(Le,Qe,Xe,0);E.update(z,Le,Qe)}};if(y.camera.isArrayCamera&&y.camera.cameras.length>0){const Oe=this.get(y.camera),Re=y.camera.cameras,Le=y.getBindingGroup("cameraIndex");if(Oe.indexesGPU===void 0||Oe.indexesGPU.length!==Re.length){const Xe=this.get(Le),Ze=[],it=new Uint32Array([0,0,0,0]);for(let et=0,ht=Re.length;et(console.warn("THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend."),new _9(y)));const z=new E(y);super(z,y),this.library=new m_,this.isWebGPURenderer=!0,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}}class Tae extends null{constructor(){super(),this.isBundleGroup=!0,this.type="BundleGroup",this.static=!0,this.version=0}set needsUpdate(y){y===!0&&this.version++}}class Dae{constructor(y,E=Qo(0,0,1,1)){this.renderer=y,this.outputNode=E,this.outputColorTransform=!0,this.needsUpdate=!0;const z=new Dh;z.name="PostProcessing",this._quadMesh=new vM(z)}render(){this._update();const y=this.renderer,E=y.toneMapping,z=y.outputColorSpace;y.toneMapping=NoToneMapping,y.outputColorSpace=LinearSRGBColorSpace;const ne=y.xr.enabled;y.xr.enabled=!1,this._quadMesh.render(y),y.xr.enabled=ne,y.toneMapping=E,y.outputColorSpace=z}dispose(){this._quadMesh.material.dispose()}_update(){if(this.needsUpdate===!0){const y=this.renderer,E=y.toneMapping,z=y.outputColorSpace;this._quadMesh.material.fragmentNode=this.outputColorTransform===!0?oD(this.outputNode,E,z):this.outputNode.context({toneMapping:E,outputColorSpace:z}),this._quadMesh.material.needsUpdate=!0,this.needsUpdate=!1}}renderAsync(){return la(this,null,function*(){this._update();const y=this.renderer,E=y.toneMapping,z=y.outputColorSpace;y.toneMapping=NoToneMapping,y.outputColorSpace=LinearSRGBColorSpace;const ne=y.xr.enabled;y.xr.enabled=!1,yield this._quadMesh.renderAsync(y),y.xr.enabled=ne,y.toneMapping=E,y.outputColorSpace=z})}}class Fae extends null{constructor(y=1,E=1){super(),this.image={width:y,height:E},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0}}class Lae extends null{constructor(y=1,E=1,z=1){super(),this.isArrayTexture=!1,this.image={width:y,height:E,depth:z},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.wrapR=ClampToEdgeWrapping,this.isStorageTexture=!0,this.is3DTexture=!0}}class Nae extends null{constructor(y=1,E=1,z=1){super(),this.isArrayTexture=!0,this.image={width:y,height:E,depth:z},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0}}class Iae extends null{constructor(y,E){super(y,E,Uint32Array),this.isIndirectStorageBufferAttribute=!0}}class y_ extends null{constructor(y){super(y),this.textures={},this.nodes={}}load(y,E,z,ne){const ie=new FileLoader(this.manager);ie.setPath(this.path),ie.setRequestHeader(this.requestHeader),ie.setWithCredentials(this.withCredentials),ie.load(y,se=>{try{E(this.parse(JSON.parse(se)))}catch(le){ne?ne(le):console.error(le),this.manager.itemError(y)}},z,ne)}parseNodes(y){const E={};if(y!==void 0){for(const ne of y){const{uuid:ie,type:se}=ne;E[ie]=this.createNodeFromType(se),E[ie].uuid=ie}const z={nodes:E,textures:this.textures};for(const ne of y)ne.meta=z,E[ne.uuid].deserialize(ne),delete ne.meta}return E}parse(y){const E=this.createNodeFromType(y.type);E.uuid=y.uuid;const ne={nodes:this.parseNodes(y.nodes),textures:this.textures};return y.meta=ne,E.deserialize(y),delete y.meta,E}setTextures(y){return this.textures=y,this}setNodes(y){return this.nodes=y,this}createNodeFromType(y){return this.nodes[y]===void 0?(console.error("THREE.NodeLoader: Node type not found:",y),nn()):ir(new this.nodes[y])}}class A_ extends null{constructor(y){super(y),this.nodes={},this.nodeMaterials={}}parse(y){const E=super.parse(y),z=this.nodes,ne=y.inputNodes;for(const ie in ne){const se=ne[ie];E[ie]=z[se]}return E}setNodes(y){return this.nodes=y,this}setNodeMaterials(y){return this.nodeMaterials=y,this}createMaterialFromType(y){const E=this.nodeMaterials[y];return E!==void 0?new E:super.createMaterialFromType(y)}}class Rae extends null{constructor(y){super(y),this.nodes={},this.nodeMaterials={},this._nodesJSON=null}setNodes(y){return this.nodes=y,this}setNodeMaterials(y){return this.nodeMaterials=y,this}parse(y,E){this._nodesJSON=y.nodes;const z=super.parse(y,E);return this._nodesJSON=null,z}parseNodes(y,E){if(y!==void 0){const z=new y_;return z.setNodes(this.nodes),z.setTextures(E),z.parseNodes(y)}return{}}parseMaterials(y,E){const z={};if(y!==void 0){const ne=this.parseNodes(this._nodesJSON,E),ie=new A_;ie.setTextures(E),ie.setNodes(ne),ie.setNodeMaterials(this.nodeMaterials);for(let se=0,le=y.length;selR&&(this.dispatchEvent(eL),this._lastPosition.copy(this.object.position))):this.object.isOrthographicCamera?(this.object.lookAt(this.target),(this._lastPosition.distanceToSquared(this.object.position)>lR||this._lastZoom!==this.object.zoom)&&(this.dispatchEvent(eL),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type.")}reset(){this.state=Uu.NONE,this.keyState=Uu.NONE,this.target.copy(this._target0),this.object.position.copy(this._position0),this.object.up.copy(this._up0),this.object.zoom=this._zoom0,this.object.updateProjectionMatrix(),this._eye.subVectors(this.object.position,this.target),this.object.lookAt(this.target),this.dispatchEvent(eL),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom}_panCamera(){if(Dw.copy(this._panEnd).sub(this._panStart),Dw.lengthSq()){if(this.object.isOrthographicCamera){const y=(this.object.right-this.object.left)/this.object.zoom/this.domElement.clientWidth,E=(this.object.top-this.object.bottom)/this.object.zoom/this.domElement.clientWidth;Dw.x*=y,Dw.y*=E}Dw.multiplyScalar(this._eye.length()*this.panSpeed),YB.copy(this._eye).cross(this.object.up).setLength(Dw.x),YB.add(x_.copy(this.object.up).setLength(Dw.y)),this.object.position.add(YB),this.target.add(YB),this.staticMoving?this._panStart.copy(this._panEnd):this._panStart.add(Dw.subVectors(this._panEnd,this._panStart).multiplyScalar(this.dynamicDampingFactor))}}_rotateCamera(){KB.set(this._moveCurr.x-this._movePrev.x,this._moveCurr.y-this._movePrev.y,0);let y=KB.length();y?(this._eye.copy(this.object.position).sub(this.target),uR.copy(this._eye).normalize(),ZB.copy(this.object.up).normalize(),rL.crossVectors(ZB,uR).normalize(),ZB.setLength(this._moveCurr.y-this._movePrev.y),rL.setLength(this._moveCurr.x-this._movePrev.x),KB.copy(ZB.add(rL)),iL.crossVectors(KB,this._eye).normalize(),y*=this.rotateSpeed,VE.setFromAxisAngle(iL,y),this._eye.applyQuaternion(VE),this.object.up.applyQuaternion(VE),this._lastAxis.copy(iL),this._lastAngle=y):!this.staticMoving&&this._lastAngle&&(this._lastAngle*=Math.sqrt(1-this.dynamicDampingFactor),this._eye.copy(this.object.position).sub(this.target),VE.setFromAxisAngle(this._lastAxis,this._lastAngle),this._eye.applyQuaternion(VE),this.object.up.applyQuaternion(VE)),this._movePrev.copy(this._moveCurr)}_zoomCamera(){let y;this.state===Uu.TOUCH_ZOOM_PAN?(y=this._touchZoomDistanceStart/this._touchZoomDistanceEnd,this._touchZoomDistanceStart=this._touchZoomDistanceEnd,this.object.isPerspectiveCamera?this._eye.multiplyScalar(y):this.object.isOrthographicCamera?(this.object.zoom=v0.clamp(this.object.zoom/y,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(y=1+(this._zoomEnd.y-this._zoomStart.y)*this.zoomSpeed,y!==1&&y>0&&(this.object.isPerspectiveCamera?this._eye.multiplyScalar(y):this.object.isOrthographicCamera?(this.object.zoom=v0.clamp(this.object.zoom/y,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),this.staticMoving?this._zoomStart.copy(this._zoomEnd):this._zoomStart.y+=(this._zoomEnd.y-this._zoomStart.y)*this.dynamicDampingFactor)}_getMouseOnScreen(y,E){return QB.set((y-this.screen.left)/this.screen.width,(E-this.screen.top)/this.screen.height),QB}_getMouseOnCircle(y,E){return QB.set((y-this.screen.width*.5-this.screen.left)/(this.screen.width*.5),(this.screen.height+2*(this.screen.top-E))/this.screen.width),QB}_addPointer(y){this._pointers.push(y)}_removePointer(y){delete this._pointerPositions[y.pointerId];for(let E=0;Ethis.maxDistance*this.maxDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.maxDistance)),this._zoomStart.copy(this._zoomEnd)),this._eye.lengthSq()Math.PI&&(z-=Zp),ne<-Math.PI?ne+=Zp:ne>Math.PI&&(ne-=Zp),z<=ne?this._spherical.theta=Math.max(z,Math.min(ne,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(z+ne)/2?Math.max(z,this._spherical.theta):Math.min(ne,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let ie=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const se=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),ie=se!=this._spherical.radius}if(vf.setFromSpherical(this._spherical),vf.applyQuaternion(this._quatInverse),E.copy(this.target).add(vf),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let se=null;if(this.object.isPerspectiveCamera){const le=vf.length();se=this._clampDistance(le*this._scale);const de=le-se;this.object.position.addScaledVector(this._dollyDirection,de),this.object.updateMatrixWorld(),ie=!!de}else if(this.object.isOrthographicCamera){const le=new Vt(this._mouse.x,this._mouse.y,0);le.unproject(this.object);const de=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),ie=de!==this.object.zoom;const ge=new Vt(this._mouse.x,this._mouse.y,0);ge.unproject(this.object),this.object.position.sub(ge).add(le),this.object.updateMatrixWorld(),se=vf.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;se!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(se).add(this.object.position):(JB.origin.copy(this.object.position),JB.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(JB.direction))sL||8*(1-this._lastQuaternion.dot(this.object.quaternion))>sL||this._lastTargetPosition.distanceToSquared(this.target)>sL?(this.dispatchEvent(cR),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(y){return y!==null?Zp/60*this.autoRotateSpeed*y:Zp/60/60*this.autoRotateSpeed}_getZoomScale(y){const E=Math.abs(y*.01);return Math.pow(.95,this.zoomSpeed*E)}_rotateLeft(y){this._sphericalDelta.theta-=y}_rotateUp(y){this._sphericalDelta.phi-=y}_panLeft(y,E){vf.setFromMatrixColumn(E,0),vf.multiplyScalar(-y),this._panOffset.add(vf)}_panUp(y,E){this.screenSpacePanning===!0?vf.setFromMatrixColumn(E,1):(vf.setFromMatrixColumn(E,0),vf.crossVectors(this.object.up,vf)),vf.multiplyScalar(y),this._panOffset.add(vf)}_pan(y,E){const z=this.domElement;if(this.object.isPerspectiveCamera){const ne=this.object.position;vf.copy(ne).sub(this.target);let ie=vf.length();ie*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*y*ie/z.clientHeight,this.object.matrix),this._panUp(2*E*ie/z.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(y*(this.object.right-this.object.left)/this.object.zoom/z.clientWidth,this.object.matrix),this._panUp(E*(this.object.top-this.object.bottom)/this.object.zoom/z.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(y){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=y:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(y){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=y:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(y,E){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const z=this.domElement.getBoundingClientRect(),ne=y-z.left,ie=E-z.top,se=z.width,le=z.height;this._mouse.x=ne/se*2-1,this._mouse.y=-(ie/le)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(y){return Math.max(this.minDistance,Math.min(this.maxDistance,y))}_handleMouseDownRotate(y){this._rotateStart.set(y.clientX,y.clientY)}_handleMouseDownDolly(y){this._updateZoomParameters(y.clientX,y.clientX),this._dollyStart.set(y.clientX,y.clientY)}_handleMouseDownPan(y){this._panStart.set(y.clientX,y.clientY)}_handleMouseMoveRotate(y){this._rotateEnd.set(y.clientX,y.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const E=this.domElement;this._rotateLeft(Zp*this._rotateDelta.x/E.clientHeight),this._rotateUp(Zp*this._rotateDelta.y/E.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(y){this._dollyEnd.set(y.clientX,y.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(y){this._panEnd.set(y.clientX,y.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(y){this._updateZoomParameters(y.clientX,y.clientY),y.deltaY<0?this._dollyIn(this._getZoomScale(y.deltaY)):y.deltaY>0&&this._dollyOut(this._getZoomScale(y.deltaY)),this.update()}_handleKeyDown(y){let E=!1;switch(y.code){case this.keys.UP:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateUp(Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),E=!0;break;case this.keys.BOTTOM:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateUp(-Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),E=!0;break;case this.keys.LEFT:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateLeft(Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),E=!0;break;case this.keys.RIGHT:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateLeft(-Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),E=!0;break}E&&(y.preventDefault(),this.update())}_handleTouchStartRotate(y){if(this._pointers.length===1)this._rotateStart.set(y.pageX,y.pageY);else{const E=this._getSecondPointerPosition(y),z=.5*(y.pageX+E.x),ne=.5*(y.pageY+E.y);this._rotateStart.set(z,ne)}}_handleTouchStartPan(y){if(this._pointers.length===1)this._panStart.set(y.pageX,y.pageY);else{const E=this._getSecondPointerPosition(y),z=.5*(y.pageX+E.x),ne=.5*(y.pageY+E.y);this._panStart.set(z,ne)}}_handleTouchStartDolly(y){const E=this._getSecondPointerPosition(y),z=y.pageX-E.x,ne=y.pageY-E.y,ie=Math.sqrt(z*z+ne*ne);this._dollyStart.set(0,ie)}_handleTouchStartDollyPan(y){this.enableZoom&&this._handleTouchStartDolly(y),this.enablePan&&this._handleTouchStartPan(y)}_handleTouchStartDollyRotate(y){this.enableZoom&&this._handleTouchStartDolly(y),this.enableRotate&&this._handleTouchStartRotate(y)}_handleTouchMoveRotate(y){if(this._pointers.length==1)this._rotateEnd.set(y.pageX,y.pageY);else{const z=this._getSecondPointerPosition(y),ne=.5*(y.pageX+z.x),ie=.5*(y.pageY+z.y);this._rotateEnd.set(ne,ie)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const E=this.domElement;this._rotateLeft(Zp*this._rotateDelta.x/E.clientHeight),this._rotateUp(Zp*this._rotateDelta.y/E.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(y){if(this._pointers.length===1)this._panEnd.set(y.pageX,y.pageY);else{const E=this._getSecondPointerPosition(y),z=.5*(y.pageX+E.x),ne=.5*(y.pageY+E.y);this._panEnd.set(z,ne)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(y){const E=this._getSecondPointerPosition(y),z=y.pageX-E.x,ne=y.pageY-E.y,ie=Math.sqrt(z*z+ne*ne);this._dollyEnd.set(0,ie),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const se=(y.pageX+E.x)*.5,le=(y.pageY+E.y)*.5;this._updateZoomParameters(se,le)}_handleTouchMoveDollyPan(y){this.enableZoom&&this._handleTouchMoveDolly(y),this.enablePan&&this._handleTouchMovePan(y)}_handleTouchMoveDollyRotate(y){this.enableZoom&&this._handleTouchMoveDolly(y),this.enableRotate&&this._handleTouchMoveRotate(y)}_addPointer(y){this._pointers.push(y.pointerId)}_removePointer(y){delete this._pointerPositions[y.pointerId];for(let E=0;EfR||8*(1-this._lastQuaternion.dot(E.quaternion))>fR)&&(this.dispatchEvent(J_),this._lastQuaternion.copy(E.quaternion),this._lastPosition.copy(E.position))}_updateMovementVector(){const y=this._moveState.forward||this.autoForward&&!this._moveState.back?1:0;this._moveVector.x=-this._moveState.left+this._moveState.right,this._moveVector.y=-this._moveState.down+this._moveState.up,this._moveVector.z=-y+this._moveState.back}_updateRotationVector(){this._rotationVector.x=-this._moveState.pitchDown+this._moveState.pitchUp,this._rotationVector.y=-this._moveState.yawRight+this._moveState.yawLeft,this._rotationVector.z=-this._moveState.rollRight+this._moveState.rollLeft}_getContainerDimensions(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}}}function __(ee){if(!(ee.altKey||this.enabled===!1)){switch(ee.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this._moveState.forward=1;break;case"KeyS":this._moveState.back=1;break;case"KeyA":this._moveState.left=1;break;case"KeyD":this._moveState.right=1;break;case"KeyR":this._moveState.up=1;break;case"KeyF":this._moveState.down=1;break;case"ArrowUp":this._moveState.pitchUp=1;break;case"ArrowDown":this._moveState.pitchDown=1;break;case"ArrowLeft":this._moveState.yawLeft=1;break;case"ArrowRight":this._moveState.yawRight=1;break;case"KeyQ":this._moveState.rollLeft=1;break;case"KeyE":this._moveState.rollRight=1;break}this._updateMovementVector(),this._updateRotationVector()}}function $_(ee){if(this.enabled!==!1){switch(ee.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this._moveState.forward=0;break;case"KeyS":this._moveState.back=0;break;case"KeyA":this._moveState.left=0;break;case"KeyD":this._moveState.right=0;break;case"KeyR":this._moveState.up=0;break;case"KeyF":this._moveState.down=0;break;case"ArrowUp":this._moveState.pitchUp=0;break;case"ArrowDown":this._moveState.pitchDown=0;break;case"ArrowLeft":this._moveState.yawLeft=0;break;case"ArrowRight":this._moveState.yawRight=0;break;case"KeyQ":this._moveState.rollLeft=0;break;case"KeyE":this._moveState.rollRight=0;break}this._updateMovementVector(),this._updateRotationVector()}}function e$(ee){if(this.enabled!==!1)if(this.dragToLook)this._status++;else{switch(ee.button){case 0:this._moveState.forward=1;break;case 2:this._moveState.back=1;break}this._updateMovementVector()}}function t$(ee){if(this.enabled!==!1&&(!this.dragToLook||this._status>0)){const y=this._getContainerDimensions(),E=y.size[0]/2,z=y.size[1]/2;this._moveState.yawLeft=-(ee.pageX-y.offset[0]-E)/E,this._moveState.pitchDown=(ee.pageY-y.offset[1]-z)/z,this._updateRotationVector()}}function n$(ee){if(this.enabled!==!1){if(this.dragToLook)this._status--,this._moveState.yawLeft=this._moveState.pitchDown=0;else{switch(ee.button){case 0:this._moveState.forward=0;break;case 2:this._moveState.back=0;break}this._updateMovementVector()}this._updateRotationVector()}}function i$(){this.enabled!==!1&&(this.dragToLook?(this._status=0,this._moveState.yawLeft=this._moveState.pitchDown=0):(this._moveState.forward=0,this._moveState.back=0,this._updateMovementVector()),this._updateRotationVector())}function r$(ee){this.enabled!==!1&&ee.preventDefault()}const o$={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` +var<${z}> ${y} : ${se};`}}class l_{constructor(y){this.backend=y}getCurrentDepthStencilFormat(y){let E;return y.depthTexture!==null?E=this.getTextureFormatGPU(y.depthTexture):y.depth&&y.stencil?E=Un.Depth24PlusStencil8:y.depth&&(E=Un.Depth24Plus),E}getTextureFormatGPU(y){return this.backend.get(y).format}getTextureSampleData(y){let E;if(y.isFramebufferTexture)E=1;else if(y.isDepthTexture&&!y.renderTarget){const ie=this.backend.renderer,se=ie.getRenderTarget();E=se?se.samples:ie.samples}else y.renderTarget&&(E=y.renderTarget.samples);E=E||1;const z=E>1&&y.renderTarget!==null&&y.isDepthTexture!==!0&&y.isFramebufferTexture!==!0;return{samples:E,primarySamples:z?1:E,isMSAA:z}}getCurrentColorFormat(y){let E;return y.textures!==null?E=this.getTextureFormatGPU(y.textures[0]):E=this.getPreferredCanvasFormat(),E}getCurrentColorSpace(y){return y.textures!==null?y.textures[0].colorSpace:this.backend.renderer.outputColorSpace}getPrimitiveTopology(y,E){if(y.isPoints)return zE.PointList;if(y.isLineSegments||y.isMesh&&E.wireframe===!0)return zE.LineList;if(y.isLine)return zE.LineStrip;if(y.isMesh)return zE.TriangleList}getSampleCount(y){let E=1;return y>1&&(E=Math.pow(2,Math.floor(Math.log2(y))),E===2&&(E=4)),E}getSampleCountRenderContext(y){return y.textures!==null?this.getSampleCount(y.sampleCount):this.getSampleCount(this.backend.renderer.samples)}getPreferredCanvasFormat(){const y=this.backend.parameters.outputType;if(y===void 0)return navigator.gpu.getPreferredCanvasFormat();if(y===Zu)return Un.BGRA8Unorm;if(y===mc)return Un.RGBA16Float;throw new Error("Unsupported outputType")}}const lR=new Map([[Int8Array,["sint8","snorm8"]],[Uint8Array,["uint8","unorm8"]],[Int16Array,["sint16","snorm16"]],[Uint16Array,["uint16","unorm16"]],[Int32Array,["sint32","snorm32"]],[Uint32Array,["uint32","unorm32"]],[Float32Array,["float32"]]]);typeof Float16Array!="undefined"&&lR.set(Float16Array,["float16"]);const u_=new Map([[Tb,["float16"]]]),c_=new Map([[Int32Array,"sint32"],[Int16Array,"sint32"],[Uint32Array,"uint32"],[Uint16Array,"uint32"],[Float32Array,"float32"]]);class h_{constructor(y){this.backend=y}createAttribute(y,E){const z=this._getBufferAttribute(y),ne=this.backend,ie=ne.get(z);let se=ie.buffer;if(se===void 0){const le=ne.device;let de=z.array;if(y.normalized===!1){if(de.constructor===Int16Array||de.constructor===Int8Array)de=new Int32Array(de);else if((de.constructor===Uint16Array||de.constructor===Uint8Array)&&(de=new Uint32Array(de),E&GPUBufferUsage.INDEX))for(let xe=0;xe1&&(de.multisampled=!0,se.texture.isDepthTexture||(de.sampleType=wP.UnfilterableFloat)),se.texture.isDepthTexture)E.compatibilityMode&&se.texture.compareFunction===null?de.sampleType=wP.UnfilterableFloat:de.sampleType=wP.Depth;else if(se.texture.isDataTexture||se.texture.isDataArrayTexture||se.texture.isData3DTexture){const ve=se.texture.type;ve===tc?de.sampleType=wP.SInt:ve===nu?de.sampleType=wP.UInt:ve===wu&&(this.backend.hasFeature("float32-filterable")?de.sampleType=wP.Float:de.sampleType=wP.UnfilterableFloat)}se.isSampledCubeTexture?de.viewDimension=Hd.Cube:se.texture.isArrayTexture||se.texture.isDataArrayTexture||se.texture.isCompressedArrayTexture?de.viewDimension=Hd.TwoDArray:se.isSampledTexture3D&&(de.viewDimension=Hd.ThreeD),le.texture=de}else console.error(`WebGPUBindingUtils: Unsupported binding "${se}".`);ne.push(le)}return z.createBindGroupLayout({entries:ne})}createBindings(y,E,z,ne=0){const{backend:ie,bindGroupLayoutCache:se}=this,le=ie.get(y);let de=se.get(y.bindingsReference);de===void 0&&(de=this.createBindingsLayout(y),se.set(y.bindingsReference,de));let ge;z>0&&(le.groups===void 0&&(le.groups=[],le.versions=[]),le.versions[z]===ne&&(ge=le.groups[z])),ge===void 0&&(ge=this.createBindGroup(y,de),z>0&&(le.groups[z]=ge,le.versions[z]=ne)),le.group=ge,le.layout=de}updateBinding(y){const E=this.backend,z=E.device,ne=y.buffer,ie=E.get(y).buffer;z.queue.writeBuffer(ie,0,ne,0)}createBindGroupIndex(y,E){const ne=this.backend.device,ie=GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,se=y[0],le=ne.createBuffer({label:"bindingCameraIndex_"+se,size:16,usage:ie});ne.queue.writeBuffer(le,0,y,0);const de=[{binding:0,resource:{buffer:le}}];return ne.createBindGroup({label:"bindGroupCameraIndex_"+se,layout:E,entries:de})}createBindGroup(y,E){const z=this.backend,ne=z.device;let ie=0;const se=[];for(const le of y.bindings){if(le.isUniformBuffer){const de=z.get(le);if(de.buffer===void 0){const ge=le.byteLength,ve=GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,xe=ne.createBuffer({label:"bindingBuffer_"+le.name,size:ge,usage:ve});de.buffer=xe}se.push({binding:ie,resource:{buffer:de.buffer}})}else if(le.isStorageBuffer){const de=z.get(le);if(de.buffer===void 0){const ge=le.attribute;de.buffer=z.get(ge).buffer}se.push({binding:ie,resource:{buffer:de.buffer}})}else if(le.isSampler){const de=z.get(le.texture);se.push({binding:ie,resource:de.sampler})}else if(le.isSampledTexture){const de=z.get(le.texture);let ge;if(de.externalTexture!==void 0)ge=ne.importExternalTexture({source:de.externalTexture});else{const ve=le.store?1:de.texture.mipLevelCount,xe=`view-${de.texture.width}-${de.texture.height}-${ve}`;if(ge=de[xe],ge===void 0){const Se=Gq.All;let Me;le.isSampledCubeTexture?Me=Hd.Cube:le.isSampledTexture3D?Me=Hd.ThreeD:le.texture.isArrayTexture||le.texture.isDataArrayTexture||le.texture.isCompressedArrayTexture?Me=Hd.TwoDArray:Me=Hd.TwoD,ge=de[xe]=de.texture.createView({aspect:Se,dimension:Me,mipLevelCount:ve})}}se.push({binding:ie,resource:ge})}ie++}return ne.createBindGroup({label:"bindGroup_"+y.name,layout:E,entries:se})}}class f_{constructor(y){this.backend=y,this._activePipelines=new WeakMap}setPipeline(y,E){this._activePipelines.get(y)!==E&&(y.setPipeline(E),this._activePipelines.set(y,E))}_getSampleCount(y){return this.backend.utils.getSampleCountRenderContext(y)}createRenderPipeline(y,E){const{object:z,material:ne,geometry:ie,pipeline:se}=y,{vertexProgram:le,fragmentProgram:de}=se,ge=this.backend,ve=ge.device,xe=ge.utils,Se=ge.get(se),Me=[];for(const cn of y.getBindings()){const Cn=ge.get(cn);Me.push(Cn.layout)}const De=ge.attributeUtils.createShaderVertexBuffers(y);let Oe;ne.blending!==eu&&(ne.blending!==Eh||ne.transparent!==!1)&&(Oe=this._getBlending(ne));let Re={};ne.stencilWrite===!0&&(Re={compare:this._getStencilCompare(ne),failOp:this._getStencilOperation(ne.stencilFail),depthFailOp:this._getStencilOperation(ne.stencilZFail),passOp:this._getStencilOperation(ne.stencilZPass)});const Le=this._getColorWriteMask(ne),Qe=[];if(y.context.textures!==null){const cn=y.context.textures;for(let Cn=0;Cn1},layout:ve.createPipelineLayout({bindGroupLayouts:Me})},rt={},Mt=y.context.depth,Xt=y.context.stencil;if((Mt===!0||Xt===!0)&&(Mt===!0&&(rt.format=ht,rt.depthWriteEnabled=ne.depthWrite,rt.depthCompare=et),Xt===!0&&(rt.stencilFront=Re,rt.stencilBack={},rt.stencilReadMask=ne.stencilFuncMask,rt.stencilWriteMask=ne.stencilWriteMask),ne.polygonOffset===!0&&(rt.depthBias=ne.polygonOffsetUnits,rt.depthBiasSlopeScale=ne.polygonOffsetFactor,rt.depthBiasClamp=0),ot.depthStencil=rt),E===null)Se.pipeline=ve.createRenderPipeline(ot);else{const cn=new Promise(Cn=>{ve.createRenderPipelineAsync(ot).then(En=>{Se.pipeline=En,Cn()})});E.push(cn)}}createBundleEncoder(y,E="renderBundleEncoder"){const z=this.backend,{utils:ne,device:ie}=z,se=ne.getCurrentDepthStencilFormat(y),le=ne.getCurrentColorFormat(y),de=this._getSampleCount(y),ge={label:E,colorFormats:[le],depthStencilFormat:se,sampleCount:de};return ie.createRenderBundleEncoder(ge)}createComputePipeline(y,E){const z=this.backend,ne=z.device,ie=z.get(y.computeProgram).module,se=z.get(y),le=[];for(const de of E){const ge=z.get(de);le.push(ge.layout)}se.pipeline=ne.createComputePipeline({compute:ie,layout:ne.createPipelineLayout({bindGroupLayouts:le})})}_getBlending(y){let E,z;const ne=y.blending,ie=y.blendSrc,se=y.blendDst,le=y.blendEquation;if(ne===Sf){const de=y.blendSrcAlpha!==null?y.blendSrcAlpha:ie,ge=y.blendDstAlpha!==null?y.blendDstAlpha:se,ve=y.blendEquationAlpha!==null?y.blendEquationAlpha:le;E={srcFactor:this._getBlendFactor(ie),dstFactor:this._getBlendFactor(se),operation:this._getBlendOperation(le)},z={srcFactor:this._getBlendFactor(de),dstFactor:this._getBlendFactor(ge),operation:this._getBlendOperation(ve)}}else{const de=y.premultipliedAlpha,ge=(ve,xe,Se,Me)=>{E={srcFactor:ve,dstFactor:xe,operation:xP.Add},z={srcFactor:Se,dstFactor:Me,operation:xP.Add}};if(de)switch(ne){case Eh:ge(Ql.One,Ql.OneMinusSrcAlpha,Ql.One,Ql.OneMinusSrcAlpha);break;case e0:ge(Ql.One,Ql.One,Ql.One,Ql.One);break;case yp:ge(Ql.Zero,Ql.OneMinusSrc,Ql.Zero,Ql.One);break;case Ap:ge(Ql.Dst,Ql.OneMinusSrcAlpha,Ql.Zero,Ql.One);break}else switch(ne){case Eh:ge(Ql.SrcAlpha,Ql.OneMinusSrcAlpha,Ql.One,Ql.OneMinusSrcAlpha);break;case e0:ge(Ql.SrcAlpha,Ql.One,Ql.One,Ql.One);break;case yp:console.error("THREE.WebGPURenderer: SubtractiveBlending requires material.premultipliedAlpha = true");break;case Ap:console.error("THREE.WebGPURenderer: MultiplyBlending requires material.premultipliedAlpha = true");break}}if(E!==void 0&&z!==void 0)return{color:E,alpha:z};console.error("THREE.WebGPURenderer: Invalid blending: ",ne)}_getBlendFactor(y){let E;switch(y){case Yd:E=Ql.Zero;break;case xv:E=Ql.One;break;case GA:E=Ql.Src;break;case t0:E=Ql.OneMinusSrc;break;case Sy:E=Ql.SrcAlpha;break;case Xg:E=Ql.OneMinusSrcAlpha;break;case XA:E=Ql.Dst;break;case nm:E=Ql.OneMinusDst;break;case Zd:E=Ql.DstAlpha;break;case d1:E=Ql.OneMinusDstAlpha;break;case n0:E=Ql.SrcAlphaSaturated;break;case lY:E=Ql.Constant;break;case uY:E=Ql.OneMinusConstant;break;default:console.error("THREE.WebGPURenderer: Blend factor not supported.",y)}return E}_getStencilCompare(y){let E;const z=y.stencilFunc;switch(z){case hu:E=cg.Never;break;case Oc:E=cg.Always;break;case Rc:E=cg.Less;break;case Sd:E=cg.LessEqual;break;case Lu:E=cg.Equal;break;case $d:E=cg.GreaterEqual;break;case kh:E=cg.Greater;break;case Cc:E=cg.NotEqual;break;default:console.error("THREE.WebGPURenderer: Invalid stencil function.",z)}return E}_getStencilOperation(y){let E;switch(y){case Nr:E=Tw.Keep;break;case mr:E=Tw.Zero;break;case So:E=Tw.Replace;break;case Ea:E=Tw.Invert;break;case eo:E=Tw.IncrementClamp;break;case zo:E=Tw.DecrementClamp;break;case Hs:E=Tw.IncrementWrap;break;case qr:E=Tw.DecrementWrap;break;default:console.error("THREE.WebGPURenderer: Invalid stencil operation.",E)}return E}_getBlendOperation(y){let E;switch(y){case th:E=xP.Add;break;case jA:E=xP.Subtract;break;case ju:E=xP.ReverseSubtract;break;case wy:E=xP.Min;break;case tm:E=xP.Max;break;default:console.error("THREE.WebGPUPipelineUtils: Blend equation not supported.",y)}return E}_getPrimitiveState(y,E,z){const ne={},ie=this.backend.utils;switch(ne.topology=ie.getPrimitiveTopology(y,z),E.index!==null&&y.isLine===!0&&y.isLineSegments!==!0&&(ne.stripIndexFormat=E.index.array instanceof Uint16Array?HE.Uint16:HE.Uint32),z.side){case $c:ne.frontFace=QF.CCW,ne.cullMode=YF.Back;break;case au:ne.frontFace=QF.CCW,ne.cullMode=YF.Front;break;case eh:ne.frontFace=QF.CCW,ne.cullMode=YF.None;break;default:console.error("THREE.WebGPUPipelineUtils: Unknown material.side value.",z.side);break}return ne}_getColorWriteMask(y){return y.colorWrite===!0?eR.All:eR.None}_getDepthCompare(y){let E;if(y.depthTest===!1)E=cg.Always;else{const z=y.depthFunc;switch(z){case Py:E=cg.Never;break;case Yt:E=cg.Always;break;case Wg:E=cg.Less;break;case nd:E=cg.LessEqual;break;case Cy:E=cg.Equal;break;case wv:E=cg.GreaterEqual;break;case Ey:E=cg.Greater;break;case Sv:E=cg.NotEqual;break;default:console.error("THREE.WebGPUPipelineUtils: Invalid depth function.",z)}}return E}}class g_ extends q9{constructor(y,E,z=2048){super(z),this.device=y,this.type=E,this.querySet=this.device.createQuerySet({type:"timestamp",count:this.maxQueries,label:`queryset_global_timestamp_${E}`});const ne=this.maxQueries*8;this.resolveBuffer=this.device.createBuffer({label:`buffer_timestamp_resolve_${E}`,size:ne,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.resultBuffer=this.device.createBuffer({label:`buffer_timestamp_result_${E}`,size:ne,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})}allocateQueriesForContext(y){if(!this.trackTimestamp||this.isDisposed)return null;if(this.currentQueryIndex+2>this.maxQueries)return Cs(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const E=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryOffsets.set(y.id,E),E}resolveQueriesAsync(){return la(this,null,function*(){if(!this.trackTimestamp||this.currentQueryIndex===0||this.isDisposed)return this.lastValue;if(this.pendingResolve)return this.pendingResolve;this.pendingResolve=this._resolveQueries();try{return yield this.pendingResolve}finally{this.pendingResolve=null}})}_resolveQueries(){return la(this,null,function*(){if(this.isDisposed)return this.lastValue;try{if(this.resultBuffer.mapState!=="unmapped")return this.lastValue;const y=new Map(this.queryOffsets),E=this.currentQueryIndex,z=E*8;this.currentQueryIndex=0,this.queryOffsets.clear();const ne=this.device.createCommandEncoder();ne.resolveQuerySet(this.querySet,0,E,this.resolveBuffer,0),ne.copyBufferToBuffer(this.resolveBuffer,0,this.resultBuffer,0,z);const ie=ne.finish();if(this.device.queue.submit([ie]),this.resultBuffer.mapState!=="unmapped")return this.lastValue;if(yield this.resultBuffer.mapAsync(GPUMapMode.READ,0,z),this.isDisposed)return this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue;const se=new BigUint64Array(this.resultBuffer.getMappedRange(0,z));let le=0;for(const[,de]of y){const ge=se[de],ve=se[de+1],xe=Number(ve-ge)/1e6;le+=xe}return this.resultBuffer.unmap(),this.lastValue=le,le}catch(y){return console.error("Error resolving queries:",y),this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue}})}dispose(){return la(this,null,function*(){if(!this.isDisposed){if(this.isDisposed=!0,this.pendingResolve)try{yield this.pendingResolve}catch(y){console.error("Error waiting for pending resolve:",y)}if(this.resultBuffer&&this.resultBuffer.mapState==="mapped")try{this.resultBuffer.unmap()}catch(y){console.error("Error unmapping buffer:",y)}this.querySet&&(this.querySet.destroy(),this.querySet=null),this.resolveBuffer&&(this.resolveBuffer.destroy(),this.resolveBuffer=null),this.resultBuffer&&(this.resultBuffer.destroy(),this.resultBuffer=null),this.queryOffsets.clear(),this.pendingResolve=null}})}}class $F extends Q9{constructor(y={}){super(y),this.isWebGPUBackend=!0,this.parameters.alpha=y.alpha===void 0?!0:y.alpha,this.parameters.compatibilityMode=y.compatibilityMode===void 0?!1:y.compatibilityMode,this.parameters.requiredLimits=y.requiredLimits===void 0?{}:y.requiredLimits,this.compatibilityMode=this.parameters.compatibilityMode,this.device=null,this.context=null,this.colorBuffer=null,this.defaultRenderPassdescriptor=null,this.utils=new l_(this),this.attributeUtils=new h_(this),this.bindingUtils=new d_(this),this.pipelineUtils=new f_(this),this.textureUtils=new _q(this),this.occludedResolveCache=new Map}init(y){return la(this,null,function*(){yield zk($F.prototype,this,"init").call(this,y);const E=this.parameters;let z;if(E.device===void 0){const se={powerPreference:E.powerPreference,featureLevel:E.compatibilityMode?"compatibility":void 0},le=typeof navigator!="undefined"?yield navigator.gpu.requestAdapter(se):null;if(le===null)throw new Error("WebGPUBackend: Unable to create WebGPU adapter.");const de=Object.values(qF),ge=[];for(const xe of de)le.features.has(xe)&&ge.push(xe);const ve={requiredFeatures:ge,requiredLimits:E.requiredLimits};z=yield le.requestDevice(ve)}else z=E.device;z.lost.then(se=>{const le={api:"WebGPU",message:se.message||"Unknown reason",reason:se.reason||null,originalEvent:se};y.onDeviceLost(le)});const ne=E.context!==void 0?E.context:y.domElement.getContext("webgpu");this.device=z,this.context=ne;const ie=E.alpha?"premultiplied":"opaque";this.trackTimestamp=this.trackTimestamp&&this.hasFeature(qF.TimestampQuery),this.context.configure({device:this.device,format:this.utils.getPreferredCanvasFormat(),usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,alphaMode:ie}),this.updateSize()})}get coordinateSystem(){return rd}getArrayBufferAsync(y){return la(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(y)})}getContext(){return this.context}_getDefaultRenderPassDescriptor(){let y=this.defaultRenderPassdescriptor;if(y===null){const z=this.renderer;y={colorAttachments:[{view:null}]},(this.renderer.depth===!0||this.renderer.stencil===!0)&&(y.depthStencilAttachment={view:this.textureUtils.getDepthBuffer(z.depth,z.stencil).createView()});const ne=y.colorAttachments[0];this.renderer.samples>0?ne.view=this.colorBuffer.createView():ne.resolveTarget=void 0,this.defaultRenderPassdescriptor=y}const E=y.colorAttachments[0];return this.renderer.samples>0?E.resolveTarget=this.context.getCurrentTexture().createView():E.view=this.context.getCurrentTexture().createView(),y}_isRenderCameraDepthArray(y){return y.depthTexture&&y.depthTexture.image.depth>1&&y.camera.isArrayCamera}_getRenderPassDescriptor(y,E={}){const z=y.renderTarget,ne=this.get(z);let ie=ne.descriptors;if(ie===void 0||ne.width!==z.width||ne.height!==z.height||ne.dimensions!==z.dimensions||ne.activeMipmapLevel!==y.activeMipmapLevel||ne.activeCubeFace!==y.activeCubeFace||ne.samples!==z.samples){ie={},ne.descriptors=ie;const ge=()=>{z.removeEventListener("dispose",ge),this.delete(z)};z.hasEventListener("dispose",ge)===!1&&z.addEventListener("dispose",ge)}const se=y.getCacheKey();let le=ie[se];if(le===void 0){const ge=y.textures,ve=[];let xe;const Se=this._isRenderCameraDepthArray(y);for(let Me=0;Me1)if(Se===!0){const Re=y.camera.cameras;for(let Le=0;Le0&&(E.currentOcclusionQuerySet&&E.currentOcclusionQuerySet.destroy(),E.currentOcclusionQueryBuffer&&E.currentOcclusionQueryBuffer.destroy(),E.currentOcclusionQuerySet=E.occlusionQuerySet,E.currentOcclusionQueryBuffer=E.occlusionQueryBuffer,E.currentOcclusionQueryObjects=E.occlusionQueryObjects,ie=z.createQuerySet({type:"occlusion",count:ne,label:`occlusionQuerySet_${y.id}`}),E.occlusionQuerySet=ie,E.occlusionQueryIndex=0,E.occlusionQueryObjects=new Array(ne),E.lastOcclusionObject=null);let se;y.textures===null?se=this._getDefaultRenderPassDescriptor():se=this._getRenderPassDescriptor(y,{loadOp:Hu.Load}),this.initTimestampQuery(y,se),se.occlusionQuerySet=ie;const le=se.depthStencilAttachment;if(y.textures!==null){const ge=se.colorAttachments;for(let ve=0;ve0&&E.currentPass.executeBundles(E.renderBundles),z>E.occlusionQueryIndex&&E.currentPass.endOcclusionQuery();const ne=E.encoder;if(this._isRenderCameraDepthArray(y)===!0){const ie=[];for(let se=0;se0){const ie=z*8;let se=this.occludedResolveCache.get(ie);se===void 0&&(se=this.device.createBuffer({size:ie,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.occludedResolveCache.set(ie,se));const le=this.device.createBuffer({size:ie,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});E.encoder.resolveQuerySet(E.occlusionQuerySet,0,z,se,0),E.encoder.copyBufferToBuffer(se,0,le,0,ie),E.occlusionQueryBuffer=le,this.resolveOccludedAsync(y)}if(this.device.queue.submit([E.encoder.finish()]),y.textures!==null){const ie=y.textures;for(let se=0;sele?(ge.x=Math.min(E.dispatchCount,le),ge.y=Math.ceil(E.dispatchCount/le)):ge.x=E.dispatchCount,ie.dispatchWorkgroups(ge.x,ge.y,ge.z)}finishCompute(y){const E=this.get(y);E.passEncoderGPU.end(),this.device.queue.submit([E.cmdEncoderGPU.finish()])}waitForGPU(){return la(this,null,function*(){yield this.device.queue.onSubmittedWorkDone()})}draw(y,E){const{object:z,material:ne,context:ie,pipeline:se}=y,le=y.getBindings(),de=this.get(ie),ge=this.get(se).pipeline,ve=y.getIndex(),xe=ve!==null,Se=y.getDrawParameters();if(Se===null)return;const Me=(Oe,Re)=>{this.pipelineUtils.setPipeline(Oe,ge),Re.pipeline=ge;const Le=Re.bindingGroups;for(let Xe=0,Ze=le.length;Xe{if(Me(Oe,Re),z.isBatchedMesh===!0){const Le=z._multiDrawStarts,Qe=z._multiDrawCounts,Xe=z._multiDrawCount,Ze=z._multiDrawInstances;Ze!==null&&Cs("THREE.WebGPUBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.");for(let it=0;it1?0:it;xe===!0?Oe.drawIndexed(Qe[it],et,Le[it]/ve.array.BYTES_PER_ELEMENT,0,ht):Oe.draw(Qe[it],et,Le[it],ht),E.update(z,Qe[it],et)}}else if(xe===!0){const{vertexCount:Le,instanceCount:Qe,firstVertex:Xe}=Se,Ze=y.getIndirect();if(Ze!==null){const it=this.get(Ze).buffer;Oe.drawIndexedIndirect(it,0)}else Oe.drawIndexed(Le,Qe,Xe,0,0);E.update(z,Le,Qe)}else{const{vertexCount:Le,instanceCount:Qe,firstVertex:Xe}=Se,Ze=y.getIndirect();if(Ze!==null){const it=this.get(Ze).buffer;Oe.drawIndirect(it,0)}else Oe.draw(Le,Qe,Xe,0);E.update(z,Le,Qe)}};if(y.camera.isArrayCamera&&y.camera.cameras.length>0){const Oe=this.get(y.camera),Re=y.camera.cameras,Le=y.getBindingGroup("cameraIndex");if(Oe.indexesGPU===void 0||Oe.indexesGPU.length!==Re.length){const Xe=this.get(Le),Ze=[],it=new Uint32Array([0,0,0,0]);for(let et=0,ht=Re.length;et(console.warn("THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend."),new $9(y)));const z=new E(y);super(z,y),this.library=new v_,this.isWebGPURenderer=!0,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}}class Dae extends null{constructor(){super(),this.isBundleGroup=!0,this.type="BundleGroup",this.static=!0,this.version=0}set needsUpdate(y){y===!0&&this.version++}}class Fae{constructor(y,E=Qo(0,0,1,1)){this.renderer=y,this.outputNode=E,this.outputColorTransform=!0,this.needsUpdate=!0;const z=new Dh;z.name="PostProcessing",this._quadMesh=new vM(z)}render(){this._update();const y=this.renderer,E=y.toneMapping,z=y.outputColorSpace;y.toneMapping=NoToneMapping,y.outputColorSpace=LinearSRGBColorSpace;const ne=y.xr.enabled;y.xr.enabled=!1,this._quadMesh.render(y),y.xr.enabled=ne,y.toneMapping=E,y.outputColorSpace=z}dispose(){this._quadMesh.material.dispose()}_update(){if(this.needsUpdate===!0){const y=this.renderer,E=y.toneMapping,z=y.outputColorSpace;this._quadMesh.material.fragmentNode=this.outputColorTransform===!0?oD(this.outputNode,E,z):this.outputNode.context({toneMapping:E,outputColorSpace:z}),this._quadMesh.material.needsUpdate=!0,this.needsUpdate=!1}}renderAsync(){return la(this,null,function*(){this._update();const y=this.renderer,E=y.toneMapping,z=y.outputColorSpace;y.toneMapping=NoToneMapping,y.outputColorSpace=LinearSRGBColorSpace;const ne=y.xr.enabled;y.xr.enabled=!1,yield this._quadMesh.renderAsync(y),y.xr.enabled=ne,y.toneMapping=E,y.outputColorSpace=z})}}class Lae extends null{constructor(y=1,E=1){super(),this.image={width:y,height:E},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0}}class Nae extends null{constructor(y=1,E=1,z=1){super(),this.isArrayTexture=!1,this.image={width:y,height:E,depth:z},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.wrapR=ClampToEdgeWrapping,this.isStorageTexture=!0,this.is3DTexture=!0}}class Iae extends null{constructor(y=1,E=1,z=1){super(),this.isArrayTexture=!0,this.image={width:y,height:E,depth:z},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0}}class Rae extends null{constructor(y,E){super(y,E,Uint32Array),this.isIndirectStorageBufferAttribute=!0}}class A_ extends null{constructor(y){super(y),this.textures={},this.nodes={}}load(y,E,z,ne){const ie=new FileLoader(this.manager);ie.setPath(this.path),ie.setRequestHeader(this.requestHeader),ie.setWithCredentials(this.withCredentials),ie.load(y,se=>{try{E(this.parse(JSON.parse(se)))}catch(le){ne?ne(le):console.error(le),this.manager.itemError(y)}},z,ne)}parseNodes(y){const E={};if(y!==void 0){for(const ne of y){const{uuid:ie,type:se}=ne;E[ie]=this.createNodeFromType(se),E[ie].uuid=ie}const z={nodes:E,textures:this.textures};for(const ne of y)ne.meta=z,E[ne.uuid].deserialize(ne),delete ne.meta}return E}parse(y){const E=this.createNodeFromType(y.type);E.uuid=y.uuid;const ne={nodes:this.parseNodes(y.nodes),textures:this.textures};return y.meta=ne,E.deserialize(y),delete y.meta,E}setTextures(y){return this.textures=y,this}setNodes(y){return this.nodes=y,this}createNodeFromType(y){return this.nodes[y]===void 0?(console.error("THREE.NodeLoader: Node type not found:",y),nn()):ir(new this.nodes[y])}}class x_ extends null{constructor(y){super(y),this.nodes={},this.nodeMaterials={}}parse(y){const E=super.parse(y),z=this.nodes,ne=y.inputNodes;for(const ie in ne){const se=ne[ie];E[ie]=z[se]}return E}setNodes(y){return this.nodes=y,this}setNodeMaterials(y){return this.nodeMaterials=y,this}createMaterialFromType(y){const E=this.nodeMaterials[y];return E!==void 0?new E:super.createMaterialFromType(y)}}class Oae extends null{constructor(y){super(y),this.nodes={},this.nodeMaterials={},this._nodesJSON=null}setNodes(y){return this.nodes=y,this}setNodeMaterials(y){return this.nodeMaterials=y,this}parse(y,E){this._nodesJSON=y.nodes;const z=super.parse(y,E);return this._nodesJSON=null,z}parseNodes(y,E){if(y!==void 0){const z=new A_;return z.setNodes(this.nodes),z.setTextures(E),z.parseNodes(y)}return{}}parseMaterials(y,E){const z={};if(y!==void 0){const ne=this.parseNodes(this._nodesJSON,E),ie=new x_;ie.setTextures(E),ie.setNodes(ne),ie.setNodeMaterials(this.nodeMaterials);for(let se=0,le=y.length;seuR&&(this.dispatchEvent(eL),this._lastPosition.copy(this.object.position))):this.object.isOrthographicCamera?(this.object.lookAt(this.target),(this._lastPosition.distanceToSquared(this.object.position)>uR||this._lastZoom!==this.object.zoom)&&(this.dispatchEvent(eL),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type.")}reset(){this.state=Uu.NONE,this.keyState=Uu.NONE,this.target.copy(this._target0),this.object.position.copy(this._position0),this.object.up.copy(this._up0),this.object.zoom=this._zoom0,this.object.updateProjectionMatrix(),this._eye.subVectors(this.object.position,this.target),this.object.lookAt(this.target),this.dispatchEvent(eL),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom}_panCamera(){if(Dw.copy(this._panEnd).sub(this._panStart),Dw.lengthSq()){if(this.object.isOrthographicCamera){const y=(this.object.right-this.object.left)/this.object.zoom/this.domElement.clientWidth,E=(this.object.top-this.object.bottom)/this.object.zoom/this.domElement.clientWidth;Dw.x*=y,Dw.y*=E}Dw.multiplyScalar(this._eye.length()*this.panSpeed),YB.copy(this._eye).cross(this.object.up).setLength(Dw.x),YB.add(w_.copy(this.object.up).setLength(Dw.y)),this.object.position.add(YB),this.target.add(YB),this.staticMoving?this._panStart.copy(this._panEnd):this._panStart.add(Dw.subVectors(this._panEnd,this._panStart).multiplyScalar(this.dynamicDampingFactor))}}_rotateCamera(){KB.set(this._moveCurr.x-this._movePrev.x,this._moveCurr.y-this._movePrev.y,0);let y=KB.length();y?(this._eye.copy(this.object.position).sub(this.target),cR.copy(this._eye).normalize(),ZB.copy(this.object.up).normalize(),rL.crossVectors(ZB,cR).normalize(),ZB.setLength(this._moveCurr.y-this._movePrev.y),rL.setLength(this._moveCurr.x-this._movePrev.x),KB.copy(ZB.add(rL)),iL.crossVectors(KB,this._eye).normalize(),y*=this.rotateSpeed,VE.setFromAxisAngle(iL,y),this._eye.applyQuaternion(VE),this.object.up.applyQuaternion(VE),this._lastAxis.copy(iL),this._lastAngle=y):!this.staticMoving&&this._lastAngle&&(this._lastAngle*=Math.sqrt(1-this.dynamicDampingFactor),this._eye.copy(this.object.position).sub(this.target),VE.setFromAxisAngle(this._lastAxis,this._lastAngle),this._eye.applyQuaternion(VE),this.object.up.applyQuaternion(VE)),this._movePrev.copy(this._moveCurr)}_zoomCamera(){let y;this.state===Uu.TOUCH_ZOOM_PAN?(y=this._touchZoomDistanceStart/this._touchZoomDistanceEnd,this._touchZoomDistanceStart=this._touchZoomDistanceEnd,this.object.isPerspectiveCamera?this._eye.multiplyScalar(y):this.object.isOrthographicCamera?(this.object.zoom=v0.clamp(this.object.zoom/y,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(y=1+(this._zoomEnd.y-this._zoomStart.y)*this.zoomSpeed,y!==1&&y>0&&(this.object.isPerspectiveCamera?this._eye.multiplyScalar(y):this.object.isOrthographicCamera?(this.object.zoom=v0.clamp(this.object.zoom/y,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),this.staticMoving?this._zoomStart.copy(this._zoomEnd):this._zoomStart.y+=(this._zoomEnd.y-this._zoomStart.y)*this.dynamicDampingFactor)}_getMouseOnScreen(y,E){return QB.set((y-this.screen.left)/this.screen.width,(E-this.screen.top)/this.screen.height),QB}_getMouseOnCircle(y,E){return QB.set((y-this.screen.width*.5-this.screen.left)/(this.screen.width*.5),(this.screen.height+2*(this.screen.top-E))/this.screen.width),QB}_addPointer(y){this._pointers.push(y)}_removePointer(y){delete this._pointerPositions[y.pointerId];for(let E=0;Ethis.maxDistance*this.maxDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.maxDistance)),this._zoomStart.copy(this._zoomEnd)),this._eye.lengthSq()Math.PI&&(z-=Zp),ne<-Math.PI?ne+=Zp:ne>Math.PI&&(ne-=Zp),z<=ne?this._spherical.theta=Math.max(z,Math.min(ne,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(z+ne)/2?Math.max(z,this._spherical.theta):Math.min(ne,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let ie=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const se=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),ie=se!=this._spherical.radius}if(vf.setFromSpherical(this._spherical),vf.applyQuaternion(this._quatInverse),E.copy(this.target).add(vf),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let se=null;if(this.object.isPerspectiveCamera){const le=vf.length();se=this._clampDistance(le*this._scale);const de=le-se;this.object.position.addScaledVector(this._dollyDirection,de),this.object.updateMatrixWorld(),ie=!!de}else if(this.object.isOrthographicCamera){const le=new Vt(this._mouse.x,this._mouse.y,0);le.unproject(this.object);const de=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),ie=de!==this.object.zoom;const ge=new Vt(this._mouse.x,this._mouse.y,0);ge.unproject(this.object),this.object.position.sub(ge).add(le),this.object.updateMatrixWorld(),se=vf.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;se!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(se).add(this.object.position):(JB.origin.copy(this.object.position),JB.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(JB.direction))sL||8*(1-this._lastQuaternion.dot(this.object.quaternion))>sL||this._lastTargetPosition.distanceToSquared(this.target)>sL?(this.dispatchEvent(hR),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(y){return y!==null?Zp/60*this.autoRotateSpeed*y:Zp/60/60*this.autoRotateSpeed}_getZoomScale(y){const E=Math.abs(y*.01);return Math.pow(.95,this.zoomSpeed*E)}_rotateLeft(y){this._sphericalDelta.theta-=y}_rotateUp(y){this._sphericalDelta.phi-=y}_panLeft(y,E){vf.setFromMatrixColumn(E,0),vf.multiplyScalar(-y),this._panOffset.add(vf)}_panUp(y,E){this.screenSpacePanning===!0?vf.setFromMatrixColumn(E,1):(vf.setFromMatrixColumn(E,0),vf.crossVectors(this.object.up,vf)),vf.multiplyScalar(y),this._panOffset.add(vf)}_pan(y,E){const z=this.domElement;if(this.object.isPerspectiveCamera){const ne=this.object.position;vf.copy(ne).sub(this.target);let ie=vf.length();ie*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*y*ie/z.clientHeight,this.object.matrix),this._panUp(2*E*ie/z.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(y*(this.object.right-this.object.left)/this.object.zoom/z.clientWidth,this.object.matrix),this._panUp(E*(this.object.top-this.object.bottom)/this.object.zoom/z.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(y){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=y:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(y){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=y:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(y,E){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const z=this.domElement.getBoundingClientRect(),ne=y-z.left,ie=E-z.top,se=z.width,le=z.height;this._mouse.x=ne/se*2-1,this._mouse.y=-(ie/le)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(y){return Math.max(this.minDistance,Math.min(this.maxDistance,y))}_handleMouseDownRotate(y){this._rotateStart.set(y.clientX,y.clientY)}_handleMouseDownDolly(y){this._updateZoomParameters(y.clientX,y.clientX),this._dollyStart.set(y.clientX,y.clientY)}_handleMouseDownPan(y){this._panStart.set(y.clientX,y.clientY)}_handleMouseMoveRotate(y){this._rotateEnd.set(y.clientX,y.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const E=this.domElement;this._rotateLeft(Zp*this._rotateDelta.x/E.clientHeight),this._rotateUp(Zp*this._rotateDelta.y/E.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(y){this._dollyEnd.set(y.clientX,y.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(y){this._panEnd.set(y.clientX,y.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(y){this._updateZoomParameters(y.clientX,y.clientY),y.deltaY<0?this._dollyIn(this._getZoomScale(y.deltaY)):y.deltaY>0&&this._dollyOut(this._getZoomScale(y.deltaY)),this.update()}_handleKeyDown(y){let E=!1;switch(y.code){case this.keys.UP:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateUp(Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),E=!0;break;case this.keys.BOTTOM:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateUp(-Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),E=!0;break;case this.keys.LEFT:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateLeft(Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),E=!0;break;case this.keys.RIGHT:y.ctrlKey||y.metaKey||y.shiftKey?this.enableRotate&&this._rotateLeft(-Zp*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),E=!0;break}E&&(y.preventDefault(),this.update())}_handleTouchStartRotate(y){if(this._pointers.length===1)this._rotateStart.set(y.pageX,y.pageY);else{const E=this._getSecondPointerPosition(y),z=.5*(y.pageX+E.x),ne=.5*(y.pageY+E.y);this._rotateStart.set(z,ne)}}_handleTouchStartPan(y){if(this._pointers.length===1)this._panStart.set(y.pageX,y.pageY);else{const E=this._getSecondPointerPosition(y),z=.5*(y.pageX+E.x),ne=.5*(y.pageY+E.y);this._panStart.set(z,ne)}}_handleTouchStartDolly(y){const E=this._getSecondPointerPosition(y),z=y.pageX-E.x,ne=y.pageY-E.y,ie=Math.sqrt(z*z+ne*ne);this._dollyStart.set(0,ie)}_handleTouchStartDollyPan(y){this.enableZoom&&this._handleTouchStartDolly(y),this.enablePan&&this._handleTouchStartPan(y)}_handleTouchStartDollyRotate(y){this.enableZoom&&this._handleTouchStartDolly(y),this.enableRotate&&this._handleTouchStartRotate(y)}_handleTouchMoveRotate(y){if(this._pointers.length==1)this._rotateEnd.set(y.pageX,y.pageY);else{const z=this._getSecondPointerPosition(y),ne=.5*(y.pageX+z.x),ie=.5*(y.pageY+z.y);this._rotateEnd.set(ne,ie)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const E=this.domElement;this._rotateLeft(Zp*this._rotateDelta.x/E.clientHeight),this._rotateUp(Zp*this._rotateDelta.y/E.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(y){if(this._pointers.length===1)this._panEnd.set(y.pageX,y.pageY);else{const E=this._getSecondPointerPosition(y),z=.5*(y.pageX+E.x),ne=.5*(y.pageY+E.y);this._panEnd.set(z,ne)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(y){const E=this._getSecondPointerPosition(y),z=y.pageX-E.x,ne=y.pageY-E.y,ie=Math.sqrt(z*z+ne*ne);this._dollyEnd.set(0,ie),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const se=(y.pageX+E.x)*.5,le=(y.pageY+E.y)*.5;this._updateZoomParameters(se,le)}_handleTouchMoveDollyPan(y){this.enableZoom&&this._handleTouchMoveDolly(y),this.enablePan&&this._handleTouchMovePan(y)}_handleTouchMoveDollyRotate(y){this.enableZoom&&this._handleTouchMoveDolly(y),this.enableRotate&&this._handleTouchMoveRotate(y)}_addPointer(y){this._pointers.push(y.pointerId)}_removePointer(y){delete this._pointerPositions[y.pointerId];for(let E=0;EgR||8*(1-this._lastQuaternion.dot(E.quaternion))>gR)&&(this.dispatchEvent(q_),this._lastQuaternion.copy(E.quaternion),this._lastPosition.copy(E.position))}_updateMovementVector(){const y=this._moveState.forward||this.autoForward&&!this._moveState.back?1:0;this._moveVector.x=-this._moveState.left+this._moveState.right,this._moveVector.y=-this._moveState.down+this._moveState.up,this._moveVector.z=-y+this._moveState.back}_updateRotationVector(){this._rotationVector.x=-this._moveState.pitchDown+this._moveState.pitchUp,this._rotationVector.y=-this._moveState.yawRight+this._moveState.yawLeft,this._rotationVector.z=-this._moveState.rollRight+this._moveState.rollLeft}_getContainerDimensions(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}}}function $_(ee){if(!(ee.altKey||this.enabled===!1)){switch(ee.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this._moveState.forward=1;break;case"KeyS":this._moveState.back=1;break;case"KeyA":this._moveState.left=1;break;case"KeyD":this._moveState.right=1;break;case"KeyR":this._moveState.up=1;break;case"KeyF":this._moveState.down=1;break;case"ArrowUp":this._moveState.pitchUp=1;break;case"ArrowDown":this._moveState.pitchDown=1;break;case"ArrowLeft":this._moveState.yawLeft=1;break;case"ArrowRight":this._moveState.yawRight=1;break;case"KeyQ":this._moveState.rollLeft=1;break;case"KeyE":this._moveState.rollRight=1;break}this._updateMovementVector(),this._updateRotationVector()}}function e$(ee){if(this.enabled!==!1){switch(ee.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this._moveState.forward=0;break;case"KeyS":this._moveState.back=0;break;case"KeyA":this._moveState.left=0;break;case"KeyD":this._moveState.right=0;break;case"KeyR":this._moveState.up=0;break;case"KeyF":this._moveState.down=0;break;case"ArrowUp":this._moveState.pitchUp=0;break;case"ArrowDown":this._moveState.pitchDown=0;break;case"ArrowLeft":this._moveState.yawLeft=0;break;case"ArrowRight":this._moveState.yawRight=0;break;case"KeyQ":this._moveState.rollLeft=0;break;case"KeyE":this._moveState.rollRight=0;break}this._updateMovementVector(),this._updateRotationVector()}}function t$(ee){if(this.enabled!==!1)if(this.dragToLook)this._status++;else{switch(ee.button){case 0:this._moveState.forward=1;break;case 2:this._moveState.back=1;break}this._updateMovementVector()}}function n$(ee){if(this.enabled!==!1&&(!this.dragToLook||this._status>0)){const y=this._getContainerDimensions(),E=y.size[0]/2,z=y.size[1]/2;this._moveState.yawLeft=-(ee.pageX-y.offset[0]-E)/E,this._moveState.pitchDown=(ee.pageY-y.offset[1]-z)/z,this._updateRotationVector()}}function i$(ee){if(this.enabled!==!1){if(this.dragToLook)this._status--,this._moveState.yawLeft=this._moveState.pitchDown=0;else{switch(ee.button){case 0:this._moveState.forward=0;break;case 2:this._moveState.back=0;break}this._updateMovementVector()}this._updateRotationVector()}}function r$(){this.enabled!==!1&&(this.dragToLook?(this._status=0,this._moveState.yawLeft=this._moveState.pitchDown=0):(this._moveState.forward=0,this._moveState.back=0,this._updateMovementVector()),this._updateRotationVector())}function o$(ee){this.enabled!==!1&&ee.preventDefault()}const s$={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` varying vec2 vUv; @@ -5188,7 +5188,7 @@ var<${z}> ${y} : ${se};`}}class a_{constructor(y){this.backend=y}getCurrentDepth gl_FragColor = opacity * texel; - }`};class qB{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const s$=new Kv(-1,1,1,-1,0,1);class a$ extends Ha{constructor(){super(),this.setAttribute("position",new ds([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new ds([0,2,0,0,2,0],2))}}const l$=new a$;class u${constructor(y){this._mesh=new lu(l$,y)}dispose(){this._mesh.geometry.dispose()}render(y){y.render(this._mesh,s$)}get material(){return this._mesh.material}set material(y){this._mesh.material=y}}class c$ extends qB{constructor(y,E="tDiffuse"){super(),this.textureID=E,this.uniforms=null,this.material=null,y instanceof np?(this.uniforms=y.uniforms,this.material=y):y&&(this.uniforms=rC.clone(y.uniforms),this.material=new np({name:y.name!==void 0?y.name:"unspecified",defines:Object.assign({},y.defines),uniforms:this.uniforms,vertexShader:y.vertexShader,fragmentShader:y.fragmentShader})),this._fsQuad=new u$(this.material)}render(y,E,z){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=z.texture),this._fsQuad.material=this.material,this.renderToScreen?(y.setRenderTarget(null),this._fsQuad.render(y)):(y.setRenderTarget(E),this.clear&&y.clear(y.autoClearColor,y.autoClearDepth,y.autoClearStencil),this._fsQuad.render(y))}dispose(){this.material.dispose(),this._fsQuad.dispose()}}class pR extends qB{constructor(y,E){super(),this.scene=y,this.camera=E,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(y,E,z){const ne=y.getContext(),ie=y.state;ie.buffers.color.setMask(!1),ie.buffers.depth.setMask(!1),ie.buffers.color.setLocked(!0),ie.buffers.depth.setLocked(!0);let se,le;this.inverse?(se=0,le=1):(se=1,le=0),ie.buffers.stencil.setTest(!0),ie.buffers.stencil.setOp(ne.REPLACE,ne.REPLACE,ne.REPLACE),ie.buffers.stencil.setFunc(ne.ALWAYS,se,4294967295),ie.buffers.stencil.setClear(le),ie.buffers.stencil.setLocked(!0),y.setRenderTarget(z),this.clear&&y.clear(),y.render(this.scene,this.camera),y.setRenderTarget(E),this.clear&&y.clear(),y.render(this.scene,this.camera),ie.buffers.color.setLocked(!1),ie.buffers.depth.setLocked(!1),ie.buffers.color.setMask(!0),ie.buffers.depth.setMask(!0),ie.buffers.stencil.setLocked(!1),ie.buffers.stencil.setFunc(ne.EQUAL,1,4294967295),ie.buffers.stencil.setOp(ne.KEEP,ne.KEEP,ne.KEEP),ie.buffers.stencil.setLocked(!0)}}class h$ extends qB{constructor(){super(),this.needsSwap=!1}render(y){y.state.buffers.stencil.setLocked(!1),y.state.buffers.stencil.setTest(!1)}}class d${constructor(y,E){if(this.renderer=y,this._pixelRatio=y.getPixelRatio(),E===void 0){const z=y.getSize(new ki);this._width=z.width,this._height=z.height,E=new mm(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:mc}),E.texture.name="EffectComposer.rt1"}else this._width=E.width,this._height=E.height;this.renderTarget1=E,this.renderTarget2=E.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new c$(o$),this.copyPass.material.blending=eu,this.clock=new QC}swapBuffers(){const y=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=y}addPass(y){this.passes.push(y),y.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(y,E){this.passes.splice(E,0,y),y.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(y){const E=this.passes.indexOf(y);E!==-1&&this.passes.splice(E,1)}isLastEnabledPass(y){for(let E=y+1;E0)break}while(AR(ne,ie));le=De.notation==="postfix",De.symbol!==")"&&(ne.push(De),le&&AR(ne,ie))}else if(xe){if(ne.push(xe.prefix||xe.func),xe.func&&(z=se.exec(ee),!z||z[0]!=="("))throw new La(38,z?z.index:ee.length,ee)}else ie.push(+ge),le=!0}while(z&&ne.length);if(ne.length)throw new La(39,z?z.index:ee.length,ee);if(z)throw new La(40,z?z.index:ee.length,ee);return ie.pop()}function aL(ee){return ee.split("").reverse().join("")}function Uae(ee,y){var E=aL(ee),z=E.match(yR);if(z&&!z.every(function(ie){return ie===z[0]}))throw new La(41);var ne=aL(E.replace(yR,""));return""+b$(ne,y)+(z?aL(z[0]):"")}var M$=/--[\S]*/g;function Vae(ee,y){if(!ee||!ee.match(M$))throw new La(73);var E;if(typeof document!="undefined"&&document.documentElement!==null&&(E=getComputedStyle(document.documentElement).getPropertyValue(ee)),E)return E.trim();if(y)return y;throw new La(74)}function FM(ee){return ee.charAt(0).toUpperCase()+ee.slice(1)}var B$=null;function T$(ee,y){if(!ee)return y.toLowerCase();var E=ee.split("-");if(E.length>1)return E.splice(1,0,y),E.reduce(function(ne,ie){return""+ne+FM(ie)});var z=ee.replace(/([a-z])([A-Z])/g,"$1"+y+"$2");return ee===z?""+ee+y:z}function D$(ee,y){for(var E={},z=0;z1?y-1:0),z=1;z=0)?E[z]=ee[z]+" !important":E[z]=ee[z]}),E}var PR={minorSecond:1.067,majorSecond:1.125,minorThird:1.2,majorThird:1.25,perfectFourth:1.333,augFourth:1.414,perfectFifth:1.5,minorSixth:1.6,goldenSection:1.618,majorSixth:1.667,minorSeventh:1.778,majorSeventh:1.875,octave:2,majorTenth:2.5,majorEleventh:2.667,majorTwelfth:3,doubleOctave:4};function R$(ee){return PR[ee]}function Xae(ee,y,E){if(y===void 0&&(y="1em"),E===void 0&&(E=1.333),typeof ee!="number")throw new La(42);if(typeof E=="string"&&!PR[E])throw new La(43);var z=typeof y=="string"?qx(y):[y,""],ne=z[0],ie=z[1],se=typeof E=="string"?R$(E):E;if(typeof ne=="string")throw new La(44,y);return""+ne*Math.pow(se,ee)+(ie||"")}var Wae=SR("rem"),Qae=null,lL=16;function CR(ee){var y=qx(ee);if(y[1]==="px")return parseFloat(ee);if(y[1]==="%")return parseFloat(ee)/100*lL;throw new La(78,y[1])}function O$(){if(typeof document!="undefined"&&document.documentElement!==null){var ee=getComputedStyle(document.documentElement).fontSize;return ee?CR(ee):lL}return lL}function Yae(ee,y){var E=qx(ee);if(E[1]!=="rem"&&E[1]!=="")throw new La(77,E[1]);var z=y?CR(y):O$();return E[0]*z+"px"}var k$={back:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",circ:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",cubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",expo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",quad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",quart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",quint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",sine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)"};function Zae(ee){return k$[ee.toLowerCase().trim()]}var z$={back:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",circ:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",cubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",expo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",quad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",quart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",quint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",sine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)"};function Kae(ee){return z$[ee.toLowerCase().trim()]}var H$={back:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",cubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)",circ:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",expo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",quad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",quart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",quint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",sine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};function Jae(ee){return H$[ee.toLowerCase().trim()]}function ER(ee,y,E,z){E===void 0&&(E="320px"),z===void 0&&(z="1200px");var ne=qx(ee),ie=ne[0],se=ne[1],le=qx(y),de=le[0],ge=le[1],ve=qx(E),xe=ve[0],Se=ve[1],Me=qx(z),De=Me[0],Oe=Me[1];if(typeof xe!="number"||typeof De!="number"||!Se||!Oe||Se!==Oe)throw new La(47);if(typeof ie!="number"||typeof de!="number"||se!==ge)throw new La(48);if(se!==Se||ge!==Oe)throw new La(76);var Re=(ie-de)/(xe-De),Le=de-Re*De;return"calc("+Le.toFixed(2)+(se||"")+" + "+(100*Re).toFixed(2)+"vw)"}function qae(ee){var y;ee===void 0&&(ee="&");var E=ee+"::after";return y={},y[E]={clear:"both",content:'""',display:"table"},y}function _ae(ee){return ee===void 0&&(ee=0),{position:"absolute",top:ee,right:ee,bottom:ee,left:ee}}function $ae(ee,y){y===void 0&&(y=1);var E={display:"inline-block",maxWidth:ee||"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",wordWrap:"normal"};return y>1?_extends({},E,{WebkitBoxOrient:"vertical",WebkitLineClamp:y,display:"-webkit-box",whiteSpace:"normal"}):E}function U$(ee,y){var E=typeof Symbol!="undefined"&&ee[Symbol.iterator]||ee["@@iterator"];if(E)return(E=E.call(ee)).next.bind(E);if(Array.isArray(ee)||(E=V$(ee))||y&&ee&&typeof ee.length=="number"){E&&(ee=E);var z=0;return function(){return z>=ee.length?{done:!0}:{done:!1,value:ee[z++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function V$(ee,y){if(ee){if(typeof ee=="string")return bR(ee,y);var E=Object.prototype.toString.call(ee).slice(8,-1);if(E==="Object"&&ee.constructor&&(E=ee.constructor.name),E==="Map"||E==="Set")return Array.from(ee);if(E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E))return bR(ee,y)}}function bR(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=new Array(y);E0)break}while(xR(ne,ie));le=De.notation==="postfix",De.symbol!==")"&&(ne.push(De),le&&xR(ne,ie))}else if(xe){if(ne.push(xe.prefix||xe.func),xe.func&&(z=se.exec(ee),!z||z[0]!=="("))throw new La(38,z?z.index:ee.length,ee)}else ie.push(+ge),le=!0}while(z&&ne.length);if(ne.length)throw new La(39,z?z.index:ee.length,ee);if(z)throw new La(40,z?z.index:ee.length,ee);return ie.pop()}function aL(ee){return ee.split("").reverse().join("")}function Vae(ee,y){var E=aL(ee),z=E.match(AR);if(z&&!z.every(function(ie){return ie===z[0]}))throw new La(41);var ne=aL(E.replace(AR,""));return""+M$(ne,y)+(z?aL(z[0]):"")}var B$=/--[\S]*/g;function jae(ee,y){if(!ee||!ee.match(B$))throw new La(73);var E;if(typeof document!="undefined"&&document.documentElement!==null&&(E=getComputedStyle(document.documentElement).getPropertyValue(ee)),E)return E.trim();if(y)return y;throw new La(74)}function FM(ee){return ee.charAt(0).toUpperCase()+ee.slice(1)}var T$=null;function D$(ee,y){if(!ee)return y.toLowerCase();var E=ee.split("-");if(E.length>1)return E.splice(1,0,y),E.reduce(function(ne,ie){return""+ne+FM(ie)});var z=ee.replace(/([a-z])([A-Z])/g,"$1"+y+"$2");return ee===z?""+ee+y:z}function F$(ee,y){for(var E={},z=0;z1?y-1:0),z=1;z=0)?E[z]=ee[z]+" !important":E[z]=ee[z]}),E}var CR={minorSecond:1.067,majorSecond:1.125,minorThird:1.2,majorThird:1.25,perfectFourth:1.333,augFourth:1.414,perfectFifth:1.5,minorSixth:1.6,goldenSection:1.618,majorSixth:1.667,minorSeventh:1.778,majorSeventh:1.875,octave:2,majorTenth:2.5,majorEleventh:2.667,majorTwelfth:3,doubleOctave:4};function O$(ee){return CR[ee]}function Wae(ee,y,E){if(y===void 0&&(y="1em"),E===void 0&&(E=1.333),typeof ee!="number")throw new La(42);if(typeof E=="string"&&!CR[E])throw new La(43);var z=typeof y=="string"?qx(y):[y,""],ne=z[0],ie=z[1],se=typeof E=="string"?O$(E):E;if(typeof ne=="string")throw new La(44,y);return""+ne*Math.pow(se,ee)+(ie||"")}var Qae=PR("rem"),Yae=null,lL=16;function ER(ee){var y=qx(ee);if(y[1]==="px")return parseFloat(ee);if(y[1]==="%")return parseFloat(ee)/100*lL;throw new La(78,y[1])}function k$(){if(typeof document!="undefined"&&document.documentElement!==null){var ee=getComputedStyle(document.documentElement).fontSize;return ee?ER(ee):lL}return lL}function Zae(ee,y){var E=qx(ee);if(E[1]!=="rem"&&E[1]!=="")throw new La(77,E[1]);var z=y?ER(y):k$();return E[0]*z+"px"}var z$={back:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",circ:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",cubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",expo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",quad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",quart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",quint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",sine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)"};function Kae(ee){return z$[ee.toLowerCase().trim()]}var H$={back:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",circ:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",cubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",expo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",quad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",quart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",quint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",sine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)"};function Jae(ee){return H$[ee.toLowerCase().trim()]}var U$={back:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",cubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)",circ:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",expo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",quad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",quart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",quint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",sine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};function qae(ee){return U$[ee.toLowerCase().trim()]}function bR(ee,y,E,z){E===void 0&&(E="320px"),z===void 0&&(z="1200px");var ne=qx(ee),ie=ne[0],se=ne[1],le=qx(y),de=le[0],ge=le[1],ve=qx(E),xe=ve[0],Se=ve[1],Me=qx(z),De=Me[0],Oe=Me[1];if(typeof xe!="number"||typeof De!="number"||!Se||!Oe||Se!==Oe)throw new La(47);if(typeof ie!="number"||typeof de!="number"||se!==ge)throw new La(48);if(se!==Se||ge!==Oe)throw new La(76);var Re=(ie-de)/(xe-De),Le=de-Re*De;return"calc("+Le.toFixed(2)+(se||"")+" + "+(100*Re).toFixed(2)+"vw)"}function _ae(ee){var y;ee===void 0&&(ee="&");var E=ee+"::after";return y={},y[E]={clear:"both",content:'""',display:"table"},y}function $ae(ee){return ee===void 0&&(ee=0),{position:"absolute",top:ee,right:ee,bottom:ee,left:ee}}function ele(ee,y){y===void 0&&(y=1);var E={display:"inline-block",maxWidth:ee||"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",wordWrap:"normal"};return y>1?_extends({},E,{WebkitBoxOrient:"vertical",WebkitLineClamp:y,display:"-webkit-box",whiteSpace:"normal"}):E}function V$(ee,y){var E=typeof Symbol!="undefined"&&ee[Symbol.iterator]||ee["@@iterator"];if(E)return(E=E.call(ee)).next.bind(E);if(Array.isArray(ee)||(E=j$(ee))||y&&ee&&typeof ee.length=="number"){E&&(ee=E);var z=0;return function(){return z>=ee.length?{done:!0}:{done:!1,value:ee[z++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function j$(ee,y){if(ee){if(typeof ee=="string")return MR(ee,y);var E=Object.prototype.toString.call(ee).slice(8,-1);if(E==="Object"&&ee.constructor&&(E=ee.constructor.name),E==="Map"||E==="Set")return Array.from(ee);if(E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E))return MR(ee,y)}}function MR(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=new Array(y);E1?E-1:0),ne=1;ne1?(y=y.slice(0,-1),y+=", "+z[ie]):se.length===1&&(y+=""+z[ie])}else z[ie]&&(y+=z[ie]+" ");return y.trim()}var TR;function rle(ee){var y=ee.colorStops,E=ee.fallback,z=ee.toDirection,ne=z===void 0?"":z;if(!y||y.length<2)throw new La(56);return{backgroundColor:E||y[0].replace(/,\s+/g,",").split(" ")[0].replace(/,(?=\S)/g,", "),backgroundImage:BR(TR||(TR=_taggedTemplateLiteralLoose(["linear-gradient(","",")"])),ne,y.join(", ").replace(/,(?=\S)/g,", "))}}function ole(){var ee;return[(ee={html:{lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:"0"},main:{display:"block"},h1:{fontSize:"2em",margin:"0.67em 0"},hr:{boxSizing:"content-box",height:"0",overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{backgroundColor:"transparent"},"abbr[title]":{borderBottom:"none",textDecoration:"underline"}},ee[`b, + `}function TR(ee){for(var y="",E=arguments.length,z=new Array(E>1?E-1:0),ne=1;ne1?(y=y.slice(0,-1),y+=", "+z[ie]):se.length===1&&(y+=""+z[ie])}else z[ie]&&(y+=z[ie]+" ");return y.trim()}var DR;function ole(ee){var y=ee.colorStops,E=ee.fallback,z=ee.toDirection,ne=z===void 0?"":z;if(!y||y.length<2)throw new La(56);return{backgroundColor:E||y[0].replace(/,\s+/g,",").split(" ")[0].replace(/,(?=\S)/g,", "),backgroundImage:TR(DR||(DR=_taggedTemplateLiteralLoose(["linear-gradient(","",")"])),ne,y.join(", ").replace(/,(?=\S)/g,", "))}}function sle(){var ee;return[(ee={html:{lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:"0"},main:{display:"block"},h1:{fontSize:"2em",margin:"0.67em 0"},hr:{boxSizing:"content-box",height:"0",overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{backgroundColor:"transparent"},"abbr[title]":{borderBottom:"none",textDecoration:"underline"}},ee[`b, strong`]={fontWeight:"bolder"},ee[`code, kbd, samp`]={fontFamily:"monospace, monospace",fontSize:"1em"},ee.small={fontSize:"80%"},ee[`sub, @@ -5364,10 +5364,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring`]={outline:"1px dotted ButtonText"},ee.fieldset={padding:"0.35em 0.625em 0.75em"},ee.legend={boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:"0",whiteSpace:"normal"},ee.progress={verticalAlign:"baseline"},ee.textarea={overflow:"auto"},ee[`[type="checkbox"], [type="radio"]`]={boxSizing:"border-box",padding:"0"},ee[`[type="number"]::-webkit-inner-spin-button, - [type="number"]::-webkit-outer-spin-button`]={height:"auto"},ee['[type="search"]']={WebkitAppearance:"textfield",outlineOffset:"-2px"},ee['[type="search"]::-webkit-search-decoration']={WebkitAppearance:"none"},ee["::-webkit-file-upload-button"]={WebkitAppearance:"button",font:"inherit"},ee.details={display:"block"},ee.summary={display:"list-item"},ee.template={display:"none"},ee["[hidden]"]={display:"none"},ee),{"abbr[title]":{textDecoration:"underline dotted"}}]}var DR;function sle(ee){var y=ee.colorStops,E=ee.extent,z=E===void 0?"":E,ne=ee.fallback,ie=ee.position,se=ie===void 0?"":ie,le=ee.shape,de=le===void 0?"":le;if(!y||y.length<2)throw new La(57);return{backgroundColor:ne||y[0].split(" ")[0],backgroundImage:BR(DR||(DR=_taggedTemplateLiteralLoose(["radial-gradient(","","","",")"])),se,de,z,y.join(", "))}}function ale(ee,y,E,z,ne){var ie;if(E===void 0&&(E="png"),ne===void 0&&(ne="_2x"),!ee)throw new La(58);var se=E.replace(/^\./,""),le=z?z+"."+se:""+ee+ne+"."+se;return ie={backgroundImage:"url("+ee+"."+se+")"},ie[Z$()]=_extends({backgroundImage:"url("+le+")"},y?{backgroundSize:y}:{}),ie}var K$={easeInBack:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",easeInCirc:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",easeInCubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",easeInExpo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",easeInQuad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",easeInQuart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",easeInQuint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",easeInSine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)",easeOutBack:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",easeOutCubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)",easeOutCirc:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",easeOutExpo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",easeOutQuad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",easeOutQuart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",easeOutQuint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",easeOutSine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)",easeInOutBack:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",easeInOutCirc:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",easeInOutCubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",easeInOutExpo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",easeInOutQuad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",easeInOutQuart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",easeInOutQuint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",easeInOutSine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)"};function J$(ee){return K$[ee]}function lle(ee){return J$(ee)}var q$=function(y,E,z){var ne=""+z[0]+(z[1]||""),ie=""+z[0]/2+(z[1]||""),se=""+E[0]+(E[1]||""),le=""+E[0]/2+(E[1]||"");switch(y){case"top":return"0 "+ie+" "+se+" "+ie;case"topLeft":return ne+" "+se+" 0 0";case"left":return le+" "+ne+" "+le+" 0";case"bottomLeft":return ne+" 0 0 "+se;case"bottom":return se+" "+ie+" 0 "+ie;case"bottomRight":return"0 0 "+ne+" "+se;case"right":return le+" 0 "+le+" "+ne;case"topRight":default:return"0 "+ne+" "+se+" 0"}},_$=function(y,E){switch(y){case"top":case"bottomRight":return{borderBottomColor:E};case"right":case"bottomLeft":return{borderLeftColor:E};case"bottom":case"topLeft":return{borderTopColor:E};case"left":case"topRight":return{borderRightColor:E};default:throw new La(59)}};function ule(ee){var y=ee.pointingDirection,E=ee.height,z=ee.width,ne=ee.foregroundColor,ie=ee.backgroundColor,se=ie===void 0?"transparent":ie,le=qx(z),de=qx(E);if(isNaN(de[0])||isNaN(le[0]))throw new La(60);return _extends({width:"0",height:"0",borderColor:se},_$(y,ne),{borderStyle:"solid",borderWidth:q$(y,de,le)})}function cle(ee){ee===void 0&&(ee="break-word");var y=ee==="break-word"?"break-all":ee;return{overflowWrap:ee,wordWrap:ee,wordBreak:y}}function uL(ee){return Math.round(ee*255)}function $$(ee,y,E){return uL(ee)+","+uL(y)+","+uL(E)}function LM(ee,y,E,z){if(z===void 0&&(z=$$),y===0)return z(E,E,E);var ne=(ee%360+360)%360/60,ie=(1-Math.abs(2*E-1))*y,se=ie*(1-Math.abs(ne%2-1)),le=0,de=0,ge=0;ne>=0&&ne<1?(le=ie,de=se):ne>=1&&ne<2?(le=se,de=ie):ne>=2&&ne<3?(de=ie,ge=se):ne>=3&&ne<4?(de=se,ge=ie):ne>=4&&ne<5?(le=se,ge=ie):ne>=5&&ne<6&&(le=ie,ge=se);var ve=E-ie/2,xe=le+ve,Se=de+ve,Me=ge+ve;return z(xe,Se,Me)}var FR={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function eee(ee){if(typeof ee!="string")return ee;var y=ee.toLowerCase();return FR[y]?"#"+FR[y]:ee}var tee=/^#[a-fA-F0-9]{6}$/,nee=/^#[a-fA-F0-9]{8}$/,iee=/^#[a-fA-F0-9]{3}$/,ree=/^#[a-fA-F0-9]{4}$/,cL=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,oee=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,see=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,aee=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function _x(ee){if(typeof ee!="string")throw new La(3);var y=eee(ee);if(y.match(tee))return{red:parseInt(""+y[1]+y[2],16),green:parseInt(""+y[3]+y[4],16),blue:parseInt(""+y[5]+y[6],16)};if(y.match(nee)){var E=parseFloat((parseInt(""+y[7]+y[8],16)/255).toFixed(2));return{red:parseInt(""+y[1]+y[2],16),green:parseInt(""+y[3]+y[4],16),blue:parseInt(""+y[5]+y[6],16),alpha:E}}if(y.match(iee))return{red:parseInt(""+y[1]+y[1],16),green:parseInt(""+y[2]+y[2],16),blue:parseInt(""+y[3]+y[3],16)};if(y.match(ree)){var z=parseFloat((parseInt(""+y[4]+y[4],16)/255).toFixed(2));return{red:parseInt(""+y[1]+y[1],16),green:parseInt(""+y[2]+y[2],16),blue:parseInt(""+y[3]+y[3],16),alpha:z}}var ne=cL.exec(y);if(ne)return{red:parseInt(""+ne[1],10),green:parseInt(""+ne[2],10),blue:parseInt(""+ne[3],10)};var ie=oee.exec(y.substring(0,50));if(ie)return{red:parseInt(""+ie[1],10),green:parseInt(""+ie[2],10),blue:parseInt(""+ie[3],10),alpha:parseFloat(""+ie[4])>1?parseFloat(""+ie[4])/100:parseFloat(""+ie[4])};var se=see.exec(y);if(se){var le=parseInt(""+se[1],10),de=parseInt(""+se[2],10)/100,ge=parseInt(""+se[3],10)/100,ve="rgb("+LM(le,de,ge)+")",xe=cL.exec(ve);if(!xe)throw new La(4,y,ve);return{red:parseInt(""+xe[1],10),green:parseInt(""+xe[2],10),blue:parseInt(""+xe[3],10)}}var Se=aee.exec(y.substring(0,50));if(Se){var Me=parseInt(""+Se[1],10),De=parseInt(""+Se[2],10)/100,Oe=parseInt(""+Se[3],10)/100,Re="rgb("+LM(Me,De,Oe)+")",Le=cL.exec(Re);if(!Le)throw new La(4,y,Re);return{red:parseInt(""+Le[1],10),green:parseInt(""+Le[2],10),blue:parseInt(""+Le[3],10),alpha:parseFloat(""+Se[4])>1?parseFloat(""+Se[4])/100:parseFloat(""+Se[4])}}throw new La(5)}function lee(ee){var y=ee.red/255,E=ee.green/255,z=ee.blue/255,ne=Math.max(y,E,z),ie=Math.min(y,E,z),se=(ne+ie)/2;if(ne===ie)return ee.alpha!==void 0?{hue:0,saturation:0,lightness:se,alpha:ee.alpha}:{hue:0,saturation:0,lightness:se};var le,de=ne-ie,ge=se>.5?de/(2-ne-ie):de/(ne+ie);switch(ne){case y:le=(E-z)/de+(E=1?_B(ee,y,E):"rgba("+LM(ee,y,E)+","+z+")";if(typeof ee=="object"&&y===void 0&&E===void 0&&z===void 0)return ee.alpha>=1?_B(ee.hue,ee.saturation,ee.lightness):"rgba("+LM(ee.hue,ee.saturation,ee.lightness)+","+ee.alpha+")";throw new La(2)}function $B(ee,y,E){if(typeof ee=="number"&&typeof y=="number"&&typeof E=="number")return hL("#"+PP(ee)+PP(y)+PP(E));if(typeof ee=="object"&&y===void 0&&E===void 0)return hL("#"+PP(ee.red)+PP(ee.green)+PP(ee.blue));throw new La(6)}function NM(ee,y,E,z){if(typeof ee=="string"&&typeof y=="number"){var ne=_x(ee);return"rgba("+ne.red+","+ne.green+","+ne.blue+","+y+")"}else{if(typeof ee=="number"&&typeof y=="number"&&typeof E=="number"&&typeof z=="number")return z>=1?$B(ee,y,E):"rgba("+ee+","+y+","+E+","+z+")";if(typeof ee=="object"&&y===void 0&&E===void 0&&z===void 0)return ee.alpha>=1?$B(ee.red,ee.green,ee.blue):"rgba("+ee.red+","+ee.green+","+ee.blue+","+ee.alpha+")"}throw new La(7)}var hee=function(y){return typeof y.red=="number"&&typeof y.green=="number"&&typeof y.blue=="number"&&(typeof y.alpha!="number"||typeof y.alpha=="undefined")},dee=function(y){return typeof y.red=="number"&&typeof y.green=="number"&&typeof y.blue=="number"&&typeof y.alpha=="number"},fee=function(y){return typeof y.hue=="number"&&typeof y.saturation=="number"&&typeof y.lightness=="number"&&(typeof y.alpha!="number"||typeof y.alpha=="undefined")},gee=function(y){return typeof y.hue=="number"&&typeof y.saturation=="number"&&typeof y.lightness=="number"&&typeof y.alpha=="number"};function py(ee){if(typeof ee!="object")throw new La(8);if(dee(ee))return NM(ee);if(hee(ee))return $B(ee);if(gee(ee))return NR(ee);if(fee(ee))return LR(ee);throw new La(8)}function IR(ee,y,E){return function(){var ne=E.concat(Array.prototype.slice.call(arguments));return ne.length>=y?ee.apply(this,ne):IR(ee,y,ne)}}function jm(ee){return IR(ee,ee.length,[])}function pee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{hue:E.hue+parseFloat(ee)}))}var hle=jm(pee),dle=null;function fle(ee){if(ee==="transparent")return ee;var y=DA(ee);return py(_extends({},y,{hue:(y.hue+180)%360}))}function jE(ee,y,E){return Math.max(ee,Math.min(y,E))}function mee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{lightness:jE(0,1,E.lightness-parseFloat(ee))}))}var gle=jm(mee),ple=null;function vee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{saturation:jE(0,1,E.saturation-parseFloat(ee))}))}var mle=jm(vee),vle=null;function fL(ee){if(ee==="transparent")return 0;var y=_x(ee),E=Object.keys(y).map(function(se){var le=y[se]/255;return le<=.03928?le/12.92:Math.pow((le+.055)/1.055,2.4)}),z=E[0],ne=E[1],ie=E[2];return parseFloat((.2126*z+.7152*ne+.0722*ie).toFixed(3))}function RR(ee,y){var E=fL(ee),z=fL(y);return parseFloat((E>z?(E+.05)/(z+.05):(z+.05)/(E+.05)).toFixed(2))}function yle(ee){return ee==="transparent"?ee:py(_extends({},DA(ee),{saturation:0}))}function Ale(ee){if(typeof ee=="object"&&typeof ee.hue=="number"&&typeof ee.saturation=="number"&&typeof ee.lightness=="number")return ee.alpha&&typeof ee.alpha=="number"?NR({hue:ee.hue,saturation:ee.saturation,lightness:ee.lightness,alpha:ee.alpha}):LR({hue:ee.hue,saturation:ee.saturation,lightness:ee.lightness});throw new La(45)}function xle(ee){if(ee==="transparent")return ee;var y=_x(ee);return py(_extends({},y,{red:255-y.red,green:255-y.green,blue:255-y.blue}))}function yee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{lightness:jE(0,1,E.lightness+parseFloat(ee))}))}var wle=jm(yee),Sle=null;function Ple(ee,y){var E=RR(ee,y);return{AA:E>=4.5,AALarge:E>=3,AAA:E>=7,AAALarge:E>=4.5}}function Aee(ee,y,E){if(y==="transparent")return E;if(E==="transparent")return y;if(ee===0)return E;var z=_x(y),ne=(0,uv.Z)({},z,{alpha:typeof z.alpha=="number"?z.alpha:1}),ie=_x(E),se=(0,uv.Z)({},ie,{alpha:typeof ie.alpha=="number"?ie.alpha:1}),le=ne.alpha-se.alpha,de=parseFloat(ee)*2-1,ge=de*le===-1?de:de+le,ve=1+de*le,xe=(ge/ve+1)/2,Se=1-xe,Me={red:Math.floor(ne.red*xe+se.red*Se),green:Math.floor(ne.green*xe+se.green*Se),blue:Math.floor(ne.blue*xe+se.blue*Se),alpha:ne.alpha*parseFloat(ee)+se.alpha*(1-parseFloat(ee))};return NM(Me)}var xee=jm(Aee),OR=xee;function wee(ee,y){if(y==="transparent")return y;var E=_x(y),z=typeof E.alpha=="number"?E.alpha:1,ne=(0,uv.Z)({},E,{alpha:jE(0,1,(z*100+parseFloat(ee)*100)/100)});return NM(ne)}var See=jm(wee),Pee=See,kR="#000",zR="#fff";function Cle(ee,y,E,z){y===void 0&&(y=kR),E===void 0&&(E=zR),z===void 0&&(z=!0);var ne=fL(ee)>.179,ie=ne?y:E;return!z||RR(ee,ie)>=4.5?ie:ne?kR:zR}function Ele(ee){if(typeof ee=="object"&&typeof ee.red=="number"&&typeof ee.green=="number"&&typeof ee.blue=="number")return typeof ee.alpha=="number"?NM({red:ee.red,green:ee.green,blue:ee.blue,alpha:ee.alpha}):$B({red:ee.red,green:ee.green,blue:ee.blue});throw new La(46)}function Cee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{saturation:jE(0,1,E.saturation+parseFloat(ee))}))}var ble=jm(Cee),Mle=null;function Eee(ee,y){return y==="transparent"?y:py((0,uv.Z)({},DA(y),{hue:parseFloat(ee)}))}var Ble=jm(Eee),Tle=null;function bee(ee,y){return y==="transparent"?y:py((0,uv.Z)({},DA(y),{lightness:parseFloat(ee)}))}var Dle=jm(bee),Fle=null;function Mee(ee,y){return y==="transparent"?y:py((0,uv.Z)({},DA(y),{saturation:parseFloat(ee)}))}var Lle=jm(Mee),Nle=null;function Bee(ee,y){return y==="transparent"?y:OR(parseFloat(ee),"rgb(0, 0, 0)",y)}var Ile=jm(Bee),Rle=null;function Tee(ee,y){return y==="transparent"?y:OR(parseFloat(ee),"rgb(255, 255, 255)",y)}var Ole=jm(Tee),kle=null;function Dee(ee,y){if(y==="transparent")return y;var E=_x(y),z=typeof E.alpha=="number"?E.alpha:1,ne=(0,uv.Z)({},E,{alpha:jE(0,1,+(z*100-parseFloat(ee)*100).toFixed(2)/100)});return NM(ne)}var zle=jm(Dee),Hle=null;function Ule(){for(var ee=arguments.length,y=new Array(ee),E=0;E8)throw new La(64);var ne=y.map(function(ie){if(z&&!Array.isArray(ie)||!z&&Array.isArray(ie))throw new La(65);if(Array.isArray(ie)&&ie.length>8)throw new La(66);return Array.isArray(ie)?ie.join(" "):ie}).join(", ");return{animation:ne}}function Vle(){for(var ee=arguments.length,y=new Array(ee),E=0;E1?y-1:0),z=1;z=0){var ne;return ne={},ne["border"+FM(ee)+"Width"]=E[0],ne["border"+FM(ee)+"Style"]=E[1],ne["border"+FM(ee)+"Color"]=E[2],ne}else return E.unshift(ee),{borderWidth:E[0],borderStyle:E[1],borderColor:E[2]}}function Xle(){for(var ee=arguments.length,y=new Array(ee),E=0;E=0&&ne<1?(le=ie,de=se):ne>=1&&ne<2?(le=se,de=ie):ne>=2&&ne<3?(de=ie,ge=se):ne>=3&&ne<4?(de=se,ge=ie):ne>=4&&ne<5?(le=se,ge=ie):ne>=5&&ne<6&&(le=ie,ge=se);var ve=E-ie/2,xe=le+ve,Se=de+ve,Me=ge+ve;return z(xe,Se,Me)}var LR={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function tee(ee){if(typeof ee!="string")return ee;var y=ee.toLowerCase();return LR[y]?"#"+LR[y]:ee}var nee=/^#[a-fA-F0-9]{6}$/,iee=/^#[a-fA-F0-9]{8}$/,ree=/^#[a-fA-F0-9]{3}$/,oee=/^#[a-fA-F0-9]{4}$/,cL=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,see=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,aee=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,lee=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function _x(ee){if(typeof ee!="string")throw new La(3);var y=tee(ee);if(y.match(nee))return{red:parseInt(""+y[1]+y[2],16),green:parseInt(""+y[3]+y[4],16),blue:parseInt(""+y[5]+y[6],16)};if(y.match(iee)){var E=parseFloat((parseInt(""+y[7]+y[8],16)/255).toFixed(2));return{red:parseInt(""+y[1]+y[2],16),green:parseInt(""+y[3]+y[4],16),blue:parseInt(""+y[5]+y[6],16),alpha:E}}if(y.match(ree))return{red:parseInt(""+y[1]+y[1],16),green:parseInt(""+y[2]+y[2],16),blue:parseInt(""+y[3]+y[3],16)};if(y.match(oee)){var z=parseFloat((parseInt(""+y[4]+y[4],16)/255).toFixed(2));return{red:parseInt(""+y[1]+y[1],16),green:parseInt(""+y[2]+y[2],16),blue:parseInt(""+y[3]+y[3],16),alpha:z}}var ne=cL.exec(y);if(ne)return{red:parseInt(""+ne[1],10),green:parseInt(""+ne[2],10),blue:parseInt(""+ne[3],10)};var ie=see.exec(y.substring(0,50));if(ie)return{red:parseInt(""+ie[1],10),green:parseInt(""+ie[2],10),blue:parseInt(""+ie[3],10),alpha:parseFloat(""+ie[4])>1?parseFloat(""+ie[4])/100:parseFloat(""+ie[4])};var se=aee.exec(y);if(se){var le=parseInt(""+se[1],10),de=parseInt(""+se[2],10)/100,ge=parseInt(""+se[3],10)/100,ve="rgb("+LM(le,de,ge)+")",xe=cL.exec(ve);if(!xe)throw new La(4,y,ve);return{red:parseInt(""+xe[1],10),green:parseInt(""+xe[2],10),blue:parseInt(""+xe[3],10)}}var Se=lee.exec(y.substring(0,50));if(Se){var Me=parseInt(""+Se[1],10),De=parseInt(""+Se[2],10)/100,Oe=parseInt(""+Se[3],10)/100,Re="rgb("+LM(Me,De,Oe)+")",Le=cL.exec(Re);if(!Le)throw new La(4,y,Re);return{red:parseInt(""+Le[1],10),green:parseInt(""+Le[2],10),blue:parseInt(""+Le[3],10),alpha:parseFloat(""+Se[4])>1?parseFloat(""+Se[4])/100:parseFloat(""+Se[4])}}throw new La(5)}function uee(ee){var y=ee.red/255,E=ee.green/255,z=ee.blue/255,ne=Math.max(y,E,z),ie=Math.min(y,E,z),se=(ne+ie)/2;if(ne===ie)return ee.alpha!==void 0?{hue:0,saturation:0,lightness:se,alpha:ee.alpha}:{hue:0,saturation:0,lightness:se};var le,de=ne-ie,ge=se>.5?de/(2-ne-ie):de/(ne+ie);switch(ne){case y:le=(E-z)/de+(E=1?_B(ee,y,E):"rgba("+LM(ee,y,E)+","+z+")";if(typeof ee=="object"&&y===void 0&&E===void 0&&z===void 0)return ee.alpha>=1?_B(ee.hue,ee.saturation,ee.lightness):"rgba("+LM(ee.hue,ee.saturation,ee.lightness)+","+ee.alpha+")";throw new La(2)}function $B(ee,y,E){if(typeof ee=="number"&&typeof y=="number"&&typeof E=="number")return hL("#"+PP(ee)+PP(y)+PP(E));if(typeof ee=="object"&&y===void 0&&E===void 0)return hL("#"+PP(ee.red)+PP(ee.green)+PP(ee.blue));throw new La(6)}function NM(ee,y,E,z){if(typeof ee=="string"&&typeof y=="number"){var ne=_x(ee);return"rgba("+ne.red+","+ne.green+","+ne.blue+","+y+")"}else{if(typeof ee=="number"&&typeof y=="number"&&typeof E=="number"&&typeof z=="number")return z>=1?$B(ee,y,E):"rgba("+ee+","+y+","+E+","+z+")";if(typeof ee=="object"&&y===void 0&&E===void 0&&z===void 0)return ee.alpha>=1?$B(ee.red,ee.green,ee.blue):"rgba("+ee.red+","+ee.green+","+ee.blue+","+ee.alpha+")"}throw new La(7)}var dee=function(y){return typeof y.red=="number"&&typeof y.green=="number"&&typeof y.blue=="number"&&(typeof y.alpha!="number"||typeof y.alpha=="undefined")},fee=function(y){return typeof y.red=="number"&&typeof y.green=="number"&&typeof y.blue=="number"&&typeof y.alpha=="number"},gee=function(y){return typeof y.hue=="number"&&typeof y.saturation=="number"&&typeof y.lightness=="number"&&(typeof y.alpha!="number"||typeof y.alpha=="undefined")},pee=function(y){return typeof y.hue=="number"&&typeof y.saturation=="number"&&typeof y.lightness=="number"&&typeof y.alpha=="number"};function py(ee){if(typeof ee!="object")throw new La(8);if(fee(ee))return NM(ee);if(dee(ee))return $B(ee);if(pee(ee))return IR(ee);if(gee(ee))return NR(ee);throw new La(8)}function RR(ee,y,E){return function(){var ne=E.concat(Array.prototype.slice.call(arguments));return ne.length>=y?ee.apply(this,ne):RR(ee,y,ne)}}function jm(ee){return RR(ee,ee.length,[])}function mee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{hue:E.hue+parseFloat(ee)}))}var dle=jm(mee),fle=null;function gle(ee){if(ee==="transparent")return ee;var y=DA(ee);return py(_extends({},y,{hue:(y.hue+180)%360}))}function jE(ee,y,E){return Math.max(ee,Math.min(y,E))}function vee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{lightness:jE(0,1,E.lightness-parseFloat(ee))}))}var ple=jm(vee),mle=null;function yee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{saturation:jE(0,1,E.saturation-parseFloat(ee))}))}var vle=jm(yee),yle=null;function fL(ee){if(ee==="transparent")return 0;var y=_x(ee),E=Object.keys(y).map(function(se){var le=y[se]/255;return le<=.03928?le/12.92:Math.pow((le+.055)/1.055,2.4)}),z=E[0],ne=E[1],ie=E[2];return parseFloat((.2126*z+.7152*ne+.0722*ie).toFixed(3))}function OR(ee,y){var E=fL(ee),z=fL(y);return parseFloat((E>z?(E+.05)/(z+.05):(z+.05)/(E+.05)).toFixed(2))}function Ale(ee){return ee==="transparent"?ee:py(_extends({},DA(ee),{saturation:0}))}function xle(ee){if(typeof ee=="object"&&typeof ee.hue=="number"&&typeof ee.saturation=="number"&&typeof ee.lightness=="number")return ee.alpha&&typeof ee.alpha=="number"?IR({hue:ee.hue,saturation:ee.saturation,lightness:ee.lightness,alpha:ee.alpha}):NR({hue:ee.hue,saturation:ee.saturation,lightness:ee.lightness});throw new La(45)}function wle(ee){if(ee==="transparent")return ee;var y=_x(ee);return py(_extends({},y,{red:255-y.red,green:255-y.green,blue:255-y.blue}))}function Aee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{lightness:jE(0,1,E.lightness+parseFloat(ee))}))}var Sle=jm(Aee),Ple=null;function Cle(ee,y){var E=OR(ee,y);return{AA:E>=4.5,AALarge:E>=3,AAA:E>=7,AAALarge:E>=4.5}}function xee(ee,y,E){if(y==="transparent")return E;if(E==="transparent")return y;if(ee===0)return E;var z=_x(y),ne=(0,uv.Z)({},z,{alpha:typeof z.alpha=="number"?z.alpha:1}),ie=_x(E),se=(0,uv.Z)({},ie,{alpha:typeof ie.alpha=="number"?ie.alpha:1}),le=ne.alpha-se.alpha,de=parseFloat(ee)*2-1,ge=de*le===-1?de:de+le,ve=1+de*le,xe=(ge/ve+1)/2,Se=1-xe,Me={red:Math.floor(ne.red*xe+se.red*Se),green:Math.floor(ne.green*xe+se.green*Se),blue:Math.floor(ne.blue*xe+se.blue*Se),alpha:ne.alpha*parseFloat(ee)+se.alpha*(1-parseFloat(ee))};return NM(Me)}var wee=jm(xee),kR=wee;function See(ee,y){if(y==="transparent")return y;var E=_x(y),z=typeof E.alpha=="number"?E.alpha:1,ne=(0,uv.Z)({},E,{alpha:jE(0,1,(z*100+parseFloat(ee)*100)/100)});return NM(ne)}var Pee=jm(See),Cee=Pee,zR="#000",HR="#fff";function Ele(ee,y,E,z){y===void 0&&(y=zR),E===void 0&&(E=HR),z===void 0&&(z=!0);var ne=fL(ee)>.179,ie=ne?y:E;return!z||OR(ee,ie)>=4.5?ie:ne?zR:HR}function ble(ee){if(typeof ee=="object"&&typeof ee.red=="number"&&typeof ee.green=="number"&&typeof ee.blue=="number")return typeof ee.alpha=="number"?NM({red:ee.red,green:ee.green,blue:ee.blue,alpha:ee.alpha}):$B({red:ee.red,green:ee.green,blue:ee.blue});throw new La(46)}function Eee(ee,y){if(y==="transparent")return y;var E=DA(y);return py((0,uv.Z)({},E,{saturation:jE(0,1,E.saturation+parseFloat(ee))}))}var Mle=jm(Eee),Ble=null;function bee(ee,y){return y==="transparent"?y:py((0,uv.Z)({},DA(y),{hue:parseFloat(ee)}))}var Tle=jm(bee),Dle=null;function Mee(ee,y){return y==="transparent"?y:py((0,uv.Z)({},DA(y),{lightness:parseFloat(ee)}))}var Fle=jm(Mee),Lle=null;function Bee(ee,y){return y==="transparent"?y:py((0,uv.Z)({},DA(y),{saturation:parseFloat(ee)}))}var Nle=jm(Bee),Ile=null;function Tee(ee,y){return y==="transparent"?y:kR(parseFloat(ee),"rgb(0, 0, 0)",y)}var Rle=jm(Tee),Ole=null;function Dee(ee,y){return y==="transparent"?y:kR(parseFloat(ee),"rgb(255, 255, 255)",y)}var kle=jm(Dee),zle=null;function Fee(ee,y){if(y==="transparent")return y;var E=_x(y),z=typeof E.alpha=="number"?E.alpha:1,ne=(0,uv.Z)({},E,{alpha:jE(0,1,+(z*100-parseFloat(ee)*100).toFixed(2)/100)});return NM(ne)}var Hle=jm(Fee),Ule=null;function Vle(){for(var ee=arguments.length,y=new Array(ee),E=0;E8)throw new La(64);var ne=y.map(function(ie){if(z&&!Array.isArray(ie)||!z&&Array.isArray(ie))throw new La(65);if(Array.isArray(ie)&&ie.length>8)throw new La(66);return Array.isArray(ie)?ie.join(" "):ie}).join(", ");return{animation:ne}}function jle(){for(var ee=arguments.length,y=new Array(ee),E=0;E1?y-1:0),z=1;z=0){var ne;return ne={},ne["border"+FM(ee)+"Width"]=E[0],ne["border"+FM(ee)+"Style"]=E[1],ne["border"+FM(ee)+"Color"]=E[2],ne}else return E.unshift(ee),{borderWidth:E[0],borderStyle:E[1],borderColor:E[2]}}function Wle(){for(var ee=arguments.length,y=new Array(ee),E=0;E1?y-1:0),z=1;z=0&&ee?_extends({},SP.apply(void 0,[""].concat(E)),{position:ee}):SP.apply(void 0,["",ee].concat(E))}function _le(ee,y){return y===void 0&&(y=ee),{height:ee,width:y}}var Ree=null;function Oee(ee){return'input[type="color"]'+ee+`, + input[type="submit"]`+ee}function Kle(){for(var ee=arguments.length,y=new Array(ee),E=0;E1?y-1:0),z=1;z=0&&ee?_extends({},SP.apply(void 0,[""].concat(E)),{position:ee}):SP.apply(void 0,["",ee].concat(E))}function $le(ee,y){return y===void 0&&(y=ee),{height:ee,width:y}}var Oee=null;function kee(ee){return'input[type="color"]'+ee+`, input[type="date"]`+ee+`, input[type="datetime"]`+ee+`, input[type="datetime-local"]`+ee+`, @@ -5382,8 +5382,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho input[type="url"]`+ee+`, input[type="week"]`+ee+`, input:not([type])`+ee+`, - textarea`+ee}function $le(){for(var ee=arguments.length,y=new Array(ee),E=0;E1e4?1e4:ee,{In:function(y){return Math.pow(y,ee)},Out:function(y){return 1-Math.pow(1-y,ee)},InOut:function(y){return y<.5?Math.pow(y*2,ee)/2:(1-Math.pow(2-y*2,ee))/2+.5}}}}),GE=function(){return performance.now()},gL=function(){function ee(){for(var y=[],E=0;E0;){this._tweensAddedDuringUpdate={};for(var ne=0;ne1?ie(ee[E],ee[E-1],E-z):ie(ee[ne],ee[ne+1>E?E:ne+1],z-ne)},Bezier:function(ee,y){for(var E=0,z=ee.length-1,ne=Math.pow,ie=CP.Utils.Bernstein,se=0;se<=z;se++)E+=ne(1-y,z-se)*ne(y,se)*ee[se]*ie(z,se);return E},CatmullRom:function(ee,y){var E=ee.length-1,z=E*y,ne=Math.floor(z),ie=CP.Utils.CatmullRom;return ee[0]===ee[E]?(y<0&&(ne=Math.floor(z=E*(1+y))),ie(ee[(ne-1+E)%E],ee[ne],ee[(ne+1)%E],ee[(ne+2)%E],z-ne)):y<0?ee[0]-(ie(ee[0],ee[0],ee[1],ee[1],-z)-ee[0]):y>1?ee[E]-(ie(ee[E],ee[E],ee[E-1],ee[E-1],z-E)-ee[E]):ie(ee[ne?ne-1:0],ee[ne],ee[E1;z--)E*=z;return ee[y]=E,E}}(),CatmullRom:function(ee,y,E,z,ne){var ie=(E-ee)*.5,se=(z-y)*.5,le=ne*ne,de=ne*le;return(2*y-2*E+ie+se)*de+(-3*y+3*E-2*ie-se)*le+ie*ne+y}}},pL=function(){function ee(){}return ee.nextId=function(){return ee._nextId++},ee._nextId=0,ee}(),mL=new gL,vL=function(){function ee(y,E){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Fw.Linear.None,this._interpolationFunction=CP.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=pL.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=y,typeof E=="object"?(this._group=E,E.add(this)):E===!0&&(this._group=mL,mL.add(this))}return ee.prototype.getId=function(){return this._id},ee.prototype.isPlaying=function(){return this._isPlaying},ee.prototype.isPaused=function(){return this._isPaused},ee.prototype.getDuration=function(){return this._duration},ee.prototype.to=function(y,E){if(E===void 0&&(E=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=y,this._propertiesAreSetUp=!1,this._duration=E<0?0:E,this},ee.prototype.duration=function(y){return y===void 0&&(y=1e3),this._duration=y<0?0:y,this},ee.prototype.dynamic=function(y){return y===void 0&&(y=!1),this._isDynamic=y,this},ee.prototype.start=function(y,E){if(y===void 0&&(y=GE()),E===void 0&&(E=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var z in this._valuesStartRepeat)this._swapEndStartRepeatValues(z),this._valuesStart[z]=this._valuesStartRepeat[z]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=y,this._startTime+=this._delayTime,!this._propertiesAreSetUp||E){if(this._propertiesAreSetUp=!0,!this._isDynamic){var ne={};for(var ie in this._valuesEnd)ne[ie]=this._valuesEnd[ie];this._valuesEnd=ne}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,E)}return this},ee.prototype.startFromCurrentValues=function(y){return this.start(y,!0)},ee.prototype._setupProperties=function(y,E,z,ne,ie){for(var se in z){var le=y[se],de=Array.isArray(le),ge=de?"array":typeof le,ve=!de&&Array.isArray(z[se]);if(!(ge==="undefined"||ge==="function")){if(ve){var xe=z[se];if(xe.length===0)continue;for(var Se=[le],Me=0,De=xe.length;Mede)return 1;var Oe=Math.trunc(se/le),Re=se-Oe*le,Le=Math.min(Re/z._duration,1);return Le===0&&se===z._duration?1:Le},ve=ge(),xe=this._easingFunction(ve);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,xe),this._onUpdateCallback&&this._onUpdateCallback(this._object,ve),this._duration===0||se>=this._duration)if(this._repeat>0){var Se=Math.min(Math.trunc((se-this._duration)/le)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=Se);for(ie in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[ie]=="string"&&(this._valuesStartRepeat[ie]=this._valuesStartRepeat[ie]+parseFloat(this._valuesEnd[ie])),this._yoyo&&this._swapEndStartRepeatValues(ie),this._valuesStart[ie]=this._valuesStartRepeat[ie];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=le*Se,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var Me=0,De=this._chainedTweens.length;Me=Xe&&(Xe=Qe+1);!(it=Re[Xe])&&++Xe=0;)(se=z[ne])&&(ie&&se.compareDocumentPosition(ie)^4&&ie.parentNode.insertBefore(se,ie),ie=se);return this}function yte(ee){ee||(ee=Ate);function y(xe,Se){return xe&&Se?ee(xe.__data__,Se.__data__):!xe-!Se}for(var E=this._groups,z=E.length,ne=new Array(z),ie=0;iey?1:ee>=y?0:NaN}function xte(){var ee=arguments[0];return arguments[0]=this,ee.apply(null,arguments),this}function wte(){return Array.from(this)}function Ste(){for(var ee=this._groups,y=0,E=ee.length;y=0&&(y=ee.slice(0,E))!=="xmlns"&&(ee=ee.slice(E+1)),XR.hasOwnProperty(y)?{space:XR[y],local:ee}:ee}function bte(ee){return function(){this.removeAttribute(ee)}}function Mte(ee){return function(){this.removeAttributeNS(ee.space,ee.local)}}function Bte(ee,y){return function(){this.setAttribute(ee,y)}}function Tte(ee,y){return function(){this.setAttributeNS(ee.space,ee.local,y)}}function Dte(ee,y){return function(){var E=y.apply(this,arguments);E==null?this.removeAttribute(ee):this.setAttribute(ee,E)}}function Fte(ee,y){return function(){var E=y.apply(this,arguments);E==null?this.removeAttributeNS(ee.space,ee.local):this.setAttributeNS(ee.space,ee.local,E)}}function Lte(ee,y){var E=WR(ee);if(arguments.length<2){var z=this.node();return E.local?z.getAttributeNS(E.space,E.local):z.getAttribute(E)}return this.each((y==null?E.local?Mte:bte:typeof y=="function"?E.local?Fte:Dte:E.local?Tte:Bte)(E,y))}function QR(ee){return ee.ownerDocument&&ee.ownerDocument.defaultView||ee.document&&ee||ee.defaultView}function Nte(ee){return function(){this.style.removeProperty(ee)}}function Ite(ee,y,E){return function(){this.style.setProperty(ee,y,E)}}function Rte(ee,y,E){return function(){var z=y.apply(this,arguments);z==null?this.style.removeProperty(ee):this.style.setProperty(ee,z,E)}}function Ote(ee,y,E){return arguments.length>1?this.each((y==null?Nte:typeof y=="function"?Rte:Ite)(ee,y,E==null?"":E)):kte(this.node(),ee)}function kte(ee,y){return ee.style.getPropertyValue(y)||QR(ee).getComputedStyle(ee,null).getPropertyValue(y)}function zte(ee){return function(){delete this[ee]}}function Hte(ee,y){return function(){this[ee]=y}}function Ute(ee,y){return function(){var E=y.apply(this,arguments);E==null?delete this[ee]:this[ee]=E}}function Vte(ee,y){return arguments.length>1?this.each((y==null?zte:typeof y=="function"?Ute:Hte)(ee,y)):this.node()[ee]}function YR(ee){return ee.trim().split(/^|\s+/)}function AL(ee){return ee.classList||new ZR(ee)}function ZR(ee){this._node=ee,this._names=YR(ee.getAttribute("class")||"")}ZR.prototype={add:function(ee){var y=this._names.indexOf(ee);y<0&&(this._names.push(ee),this._node.setAttribute("class",this._names.join(" ")))},remove:function(ee){var y=this._names.indexOf(ee);y>=0&&(this._names.splice(y,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(ee){return this._names.indexOf(ee)>=0}};function KR(ee,y){for(var E=AL(ee),z=-1,ne=y.length;++z=0&&(E=y.slice(z+1),y=y.slice(0,z)),{type:y,name:E}})}function vne(ee){return function(){var y=this.__on;if(y){for(var E=0,z=-1,ne=y.length,ie;E2&&(se.children=arguments.length>3?IM.call(arguments,2):E),typeof ee=="function"&&ee.defaultProps!=null)for(ie in ee.defaultProps)se[ie]===void 0&&(se[ie]=ee.defaultProps[ie]);return kM(ee,se,z,ne,null)}function kM(ee,y,E,z,ne){var ie={type:ee,props:y,key:E,ref:z,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:ne==null?++eO:ne,__i:-1,__u:0};return ne==null&&Ah.vnode!=null&&Ah.vnode(ie),ie}function iue(){return{current:null}}function tT(ee){return ee.children}function nT(ee,y){this.props=ee,this.context=y}function XE(ee,y){if(y==null)return ee.__?XE(ee.__,ee.__i+1):null;for(var E;yle&&EP.sort(rO),ee=EP.shift(),le=EP.length,ee.__d&&(E=void 0,ne=(z=(y=ee).__v).__e,ie=[],se=[],y.__P&&((E=LA({},z)).__v=z.__v+1,Ah.vnode&&Ah.vnode(E),EL(y.__P,E,z,y.__n,y.__P.namespaceURI,32&z.__u?[ne]:null,ie,ne==null?XE(z):ne,!!(32&z.__u),se),E.__v=z.__v,E.__.__k[E.__i]=E,fO(ie,E,se),E.__e!=ne&&lO(E)));iT.__r=0}function uO(ee,y,E,z,ne,ie,se,le,de,ge,ve){var xe,Se,Me,De,Oe,Re,Le=z&&z.__k||aO,Qe=y.length;for(de=Fne(E,y,Le,de,Qe),xe=0;xe0?kM(se.type,se.props,se.key,se.ref?se.ref:null,se.__v):se).__=ee,se.__b=ee.__b+1,le=null,(ge=se.__i=Nne(se,E,de,xe))!=-1&&(xe--,(le=E[ge])&&(le.__u|=2)),le==null||le.__v==null?(ge==-1&&(ne>ve?Se--:nede?Se--:Se++,se.__u|=4))):ee.__k[ie]=null;if(xe)for(ie=0;ie(de!=null&&!(2&de.__u)?1:0))for(ne=E-1,ie=E+1;ne>=0||ie=0){if((de=y[ne])&&!(2&de.__u)&&se==de.key&&le==de.type)return ne;ne--}if(ie0?ee:OM(ee)?ee.map(gO):LA({},ee)}function Ine(ee,y,E,z,ne,ie,se,le,de){var ge,ve,xe,Se,Me,De,Oe,Re=E.props,Le=y.props,Qe=y.type;if(Qe=="svg"?ne="http://www.w3.org/2000/svg":Qe=="math"?ne="http://www.w3.org/1998/Math/MathML":ne||(ne="http://www.w3.org/1999/xhtml"),ie!=null){for(ge=0;ge2&&(le.children=arguments.length>3?IM.call(arguments,2):E),kM(ee.type,le,z||ee.key,ne||ee.ref,null)}function rue(ee){function y(E){var z,ne;return this.getChildContext||(z=new Set,(ne={})[y.__c]=this,this.getChildContext=function(){return ne},this.componentWillUnmount=function(){z=null},this.shouldComponentUpdate=function(ie){this.props.value!=ie.value&&z.forEach(function(se){se.__e=!0,CL(se)})},this.sub=function(ie){z.add(ie);var se=ie.componentWillUnmount;ie.componentWillUnmount=function(){z&&z.delete(ie),se&&se.call(ie)}}),E.children}return y.__c="__cC"+sO++,y.__=ee,y.Provider=y.__l=(y.Consumer=function(E,z){return E.children(z)}).contextType=y,y}IM=aO.slice,Ah={__e:function(ee,y,E,z){for(var ne,ie,se;y=y.__;)if((ne=y.__c)&&!ne.__)try{if((ie=ne.constructor)&&ie.getDerivedStateFromError!=null&&(ne.setState(ie.getDerivedStateFromError(ee)),se=ne.__d),ne.componentDidCatch!=null&&(ne.componentDidCatch(ee,z||{}),se=ne.__d),se)return ne.__E=ne}catch(le){ee=le}throw ee}},eO=0,tO=function(ee){return ee!=null&&ee.constructor==null},nT.prototype.setState=function(ee,y){var E;E=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=LA({},this.state),typeof ee=="function"&&(ee=ee(LA({},E),this.props)),ee&&LA(E,ee),ee!=null&&this.__v&&(y&&this._sb.push(y),CL(this))},nT.prototype.forceUpdate=function(ee){this.__v&&(this.__e=!0,ee&&this.__h.push(ee),CL(this))},nT.prototype.render=tT,EP=[],iO=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,rO=function(ee,y){return ee.__v.__b-y.__v.__b},iT.__r=0,oO=/(PointerCapture)$|Capture$/i,xL=0,wL=dO(!1),SL=dO(!0),sO=0;function yO(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E1e4?1e4:ee,{In:function(y){return Math.pow(y,ee)},Out:function(y){return 1-Math.pow(1-y,ee)},InOut:function(y){return y<.5?Math.pow(y*2,ee)/2:(1-Math.pow(2-y*2,ee))/2+.5}}}}),GE=function(){return performance.now()},gL=function(){function ee(){for(var y=[],E=0;E0;){this._tweensAddedDuringUpdate={};for(var ne=0;ne1?ie(ee[E],ee[E-1],E-z):ie(ee[ne],ee[ne+1>E?E:ne+1],z-ne)},Bezier:function(ee,y){for(var E=0,z=ee.length-1,ne=Math.pow,ie=CP.Utils.Bernstein,se=0;se<=z;se++)E+=ne(1-y,z-se)*ne(y,se)*ee[se]*ie(z,se);return E},CatmullRom:function(ee,y){var E=ee.length-1,z=E*y,ne=Math.floor(z),ie=CP.Utils.CatmullRom;return ee[0]===ee[E]?(y<0&&(ne=Math.floor(z=E*(1+y))),ie(ee[(ne-1+E)%E],ee[ne],ee[(ne+1)%E],ee[(ne+2)%E],z-ne)):y<0?ee[0]-(ie(ee[0],ee[0],ee[1],ee[1],-z)-ee[0]):y>1?ee[E]-(ie(ee[E],ee[E],ee[E-1],ee[E-1],z-E)-ee[E]):ie(ee[ne?ne-1:0],ee[ne],ee[E1;z--)E*=z;return ee[y]=E,E}}(),CatmullRom:function(ee,y,E,z,ne){var ie=(E-ee)*.5,se=(z-y)*.5,le=ne*ne,de=ne*le;return(2*y-2*E+ie+se)*de+(-3*y+3*E-2*ie-se)*le+ie*ne+y}}},pL=function(){function ee(){}return ee.nextId=function(){return ee._nextId++},ee._nextId=0,ee}(),mL=new gL,vL=function(){function ee(y,E){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Fw.Linear.None,this._interpolationFunction=CP.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=pL.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=y,typeof E=="object"?(this._group=E,E.add(this)):E===!0&&(this._group=mL,mL.add(this))}return ee.prototype.getId=function(){return this._id},ee.prototype.isPlaying=function(){return this._isPlaying},ee.prototype.isPaused=function(){return this._isPaused},ee.prototype.getDuration=function(){return this._duration},ee.prototype.to=function(y,E){if(E===void 0&&(E=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=y,this._propertiesAreSetUp=!1,this._duration=E<0?0:E,this},ee.prototype.duration=function(y){return y===void 0&&(y=1e3),this._duration=y<0?0:y,this},ee.prototype.dynamic=function(y){return y===void 0&&(y=!1),this._isDynamic=y,this},ee.prototype.start=function(y,E){if(y===void 0&&(y=GE()),E===void 0&&(E=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var z in this._valuesStartRepeat)this._swapEndStartRepeatValues(z),this._valuesStart[z]=this._valuesStartRepeat[z]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=y,this._startTime+=this._delayTime,!this._propertiesAreSetUp||E){if(this._propertiesAreSetUp=!0,!this._isDynamic){var ne={};for(var ie in this._valuesEnd)ne[ie]=this._valuesEnd[ie];this._valuesEnd=ne}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,E)}return this},ee.prototype.startFromCurrentValues=function(y){return this.start(y,!0)},ee.prototype._setupProperties=function(y,E,z,ne,ie){for(var se in z){var le=y[se],de=Array.isArray(le),ge=de?"array":typeof le,ve=!de&&Array.isArray(z[se]);if(!(ge==="undefined"||ge==="function")){if(ve){var xe=z[se];if(xe.length===0)continue;for(var Se=[le],Me=0,De=xe.length;Mede)return 1;var Oe=Math.trunc(se/le),Re=se-Oe*le,Le=Math.min(Re/z._duration,1);return Le===0&&se===z._duration?1:Le},ve=ge(),xe=this._easingFunction(ve);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,xe),this._onUpdateCallback&&this._onUpdateCallback(this._object,ve),this._duration===0||se>=this._duration)if(this._repeat>0){var Se=Math.min(Math.trunc((se-this._duration)/le)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=Se);for(ie in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[ie]=="string"&&(this._valuesStartRepeat[ie]=this._valuesStartRepeat[ie]+parseFloat(this._valuesEnd[ie])),this._yoyo&&this._swapEndStartRepeatValues(ie),this._valuesStart[ie]=this._valuesStartRepeat[ie];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=le*Se,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var Me=0,De=this._chainedTweens.length;Me=Xe&&(Xe=Qe+1);!(it=Re[Xe])&&++Xe=0;)(se=z[ne])&&(ie&&se.compareDocumentPosition(ie)^4&&ie.parentNode.insertBefore(se,ie),ie=se);return this}function Ate(ee){ee||(ee=xte);function y(xe,Se){return xe&&Se?ee(xe.__data__,Se.__data__):!xe-!Se}for(var E=this._groups,z=E.length,ne=new Array(z),ie=0;iey?1:ee>=y?0:NaN}function wte(){var ee=arguments[0];return arguments[0]=this,ee.apply(null,arguments),this}function Ste(){return Array.from(this)}function Pte(){for(var ee=this._groups,y=0,E=ee.length;y=0&&(y=ee.slice(0,E))!=="xmlns"&&(ee=ee.slice(E+1)),WR.hasOwnProperty(y)?{space:WR[y],local:ee}:ee}function Mte(ee){return function(){this.removeAttribute(ee)}}function Bte(ee){return function(){this.removeAttributeNS(ee.space,ee.local)}}function Tte(ee,y){return function(){this.setAttribute(ee,y)}}function Dte(ee,y){return function(){this.setAttributeNS(ee.space,ee.local,y)}}function Fte(ee,y){return function(){var E=y.apply(this,arguments);E==null?this.removeAttribute(ee):this.setAttribute(ee,E)}}function Lte(ee,y){return function(){var E=y.apply(this,arguments);E==null?this.removeAttributeNS(ee.space,ee.local):this.setAttributeNS(ee.space,ee.local,E)}}function Nte(ee,y){var E=QR(ee);if(arguments.length<2){var z=this.node();return E.local?z.getAttributeNS(E.space,E.local):z.getAttribute(E)}return this.each((y==null?E.local?Bte:Mte:typeof y=="function"?E.local?Lte:Fte:E.local?Dte:Tte)(E,y))}function YR(ee){return ee.ownerDocument&&ee.ownerDocument.defaultView||ee.document&&ee||ee.defaultView}function Ite(ee){return function(){this.style.removeProperty(ee)}}function Rte(ee,y,E){return function(){this.style.setProperty(ee,y,E)}}function Ote(ee,y,E){return function(){var z=y.apply(this,arguments);z==null?this.style.removeProperty(ee):this.style.setProperty(ee,z,E)}}function kte(ee,y,E){return arguments.length>1?this.each((y==null?Ite:typeof y=="function"?Ote:Rte)(ee,y,E==null?"":E)):zte(this.node(),ee)}function zte(ee,y){return ee.style.getPropertyValue(y)||YR(ee).getComputedStyle(ee,null).getPropertyValue(y)}function Hte(ee){return function(){delete this[ee]}}function Ute(ee,y){return function(){this[ee]=y}}function Vte(ee,y){return function(){var E=y.apply(this,arguments);E==null?delete this[ee]:this[ee]=E}}function jte(ee,y){return arguments.length>1?this.each((y==null?Hte:typeof y=="function"?Vte:Ute)(ee,y)):this.node()[ee]}function ZR(ee){return ee.trim().split(/^|\s+/)}function AL(ee){return ee.classList||new KR(ee)}function KR(ee){this._node=ee,this._names=ZR(ee.getAttribute("class")||"")}KR.prototype={add:function(ee){var y=this._names.indexOf(ee);y<0&&(this._names.push(ee),this._node.setAttribute("class",this._names.join(" ")))},remove:function(ee){var y=this._names.indexOf(ee);y>=0&&(this._names.splice(y,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(ee){return this._names.indexOf(ee)>=0}};function JR(ee,y){for(var E=AL(ee),z=-1,ne=y.length;++z=0&&(E=y.slice(z+1),y=y.slice(0,z)),{type:y,name:E}})}function yne(ee){return function(){var y=this.__on;if(y){for(var E=0,z=-1,ne=y.length,ie;E2&&(se.children=arguments.length>3?IM.call(arguments,2):E),typeof ee=="function"&&ee.defaultProps!=null)for(ie in ee.defaultProps)se[ie]===void 0&&(se[ie]=ee.defaultProps[ie]);return kM(ee,se,z,ne,null)}function kM(ee,y,E,z,ne){var ie={type:ee,props:y,key:E,ref:z,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:ne==null?++tO:ne,__i:-1,__u:0};return ne==null&&Ah.vnode!=null&&Ah.vnode(ie),ie}function rue(){return{current:null}}function tT(ee){return ee.children}function nT(ee,y){this.props=ee,this.context=y}function XE(ee,y){if(y==null)return ee.__?XE(ee.__,ee.__i+1):null;for(var E;yle&&EP.sort(oO),ee=EP.shift(),le=EP.length,ee.__d&&(E=void 0,ne=(z=(y=ee).__v).__e,ie=[],se=[],y.__P&&((E=LA({},z)).__v=z.__v+1,Ah.vnode&&Ah.vnode(E),EL(y.__P,E,z,y.__n,y.__P.namespaceURI,32&z.__u?[ne]:null,ie,ne==null?XE(z):ne,!!(32&z.__u),se),E.__v=z.__v,E.__.__k[E.__i]=E,gO(ie,E,se),E.__e!=ne&&uO(E)));iT.__r=0}function cO(ee,y,E,z,ne,ie,se,le,de,ge,ve){var xe,Se,Me,De,Oe,Re,Le=z&&z.__k||lO,Qe=y.length;for(de=Lne(E,y,Le,de,Qe),xe=0;xe0?kM(se.type,se.props,se.key,se.ref?se.ref:null,se.__v):se).__=ee,se.__b=ee.__b+1,le=null,(ge=se.__i=Ine(se,E,de,xe))!=-1&&(xe--,(le=E[ge])&&(le.__u|=2)),le==null||le.__v==null?(ge==-1&&(ne>ve?Se--:nede?Se--:Se++,se.__u|=4))):ee.__k[ie]=null;if(xe)for(ie=0;ie(ve?1:0)){for(ne=E-1,ie=E+1;ne>=0||ie=0?ne--:ie++])!=null&&!(2&ge.__u)&&le==ge.key&&de==ge.type)return se}return-1}function dO(ee,y,E){y[0]=="-"?ee.setProperty(y,E==null?"":E):ee[y]=E==null?"":typeof E!="number"||Dne.test(y)?E:E+"px"}function rT(ee,y,E,z,ne){var ie,se;e:if(y=="style")if(typeof E=="string")ee.style.cssText=E;else{if(typeof z=="string"&&(ee.style.cssText=z=""),z)for(y in z)E&&y in E||dO(ee.style,y,"");if(E)for(y in E)z&&E[y]==z[y]||dO(ee.style,y,E[y])}else if(y[0]=="o"&&y[1]=="n")ie=y!=(y=y.replace(sO,"$1")),se=y.toLowerCase(),y=se in ee||y=="onFocusOut"||y=="onFocusIn"?se.slice(2):y.slice(2),ee.l||(ee.l={}),ee.l[y+ie]=E,E?z?E.u=z.u:(E.u=xL,ee.addEventListener(y,ie?SL:wL,ie)):ee.removeEventListener(y,ie?SL:wL,ie);else{if(ne=="http://www.w3.org/2000/svg")y=y.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(y!="width"&&y!="height"&&y!="href"&&y!="list"&&y!="form"&&y!="tabIndex"&&y!="download"&&y!="rowSpan"&&y!="colSpan"&&y!="role"&&y!="popover"&&y in ee)try{ee[y]=E==null?"":E;break e}catch(le){}typeof E=="function"||(E==null||E===!1&&y[4]!="-"?ee.removeAttribute(y):ee.setAttribute(y,y=="popover"&&E==1?"":E))}}function fO(ee){return function(y){if(this.l){var E=this.l[y.type+ee];if(y.t==null)y.t=xL++;else if(y.t0?ee:OM(ee)?ee.map(pO):LA({},ee)}function Rne(ee,y,E,z,ne,ie,se,le,de){var ge,ve,xe,Se,Me,De,Oe,Re=E.props,Le=y.props,Qe=y.type;if(Qe=="svg"?ne="http://www.w3.org/2000/svg":Qe=="math"?ne="http://www.w3.org/1998/Math/MathML":ne||(ne="http://www.w3.org/1999/xhtml"),ie!=null){for(ge=0;ge2&&(le.children=arguments.length>3?IM.call(arguments,2):E),kM(ee.type,le,z||ee.key,ne||ee.ref,null)}function oue(ee){function y(E){var z,ne;return this.getChildContext||(z=new Set,(ne={})[y.__c]=this,this.getChildContext=function(){return ne},this.componentWillUnmount=function(){z=null},this.shouldComponentUpdate=function(ie){this.props.value!=ie.value&&z.forEach(function(se){se.__e=!0,CL(se)})},this.sub=function(ie){z.add(ie);var se=ie.componentWillUnmount;ie.componentWillUnmount=function(){z&&z.delete(ie),se&&se.call(ie)}}),E.children}return y.__c="__cC"+aO++,y.__=ee,y.Provider=y.__l=(y.Consumer=function(E,z){return E.children(z)}).contextType=y,y}IM=lO.slice,Ah={__e:function(ee,y,E,z){for(var ne,ie,se;y=y.__;)if((ne=y.__c)&&!ne.__)try{if((ie=ne.constructor)&&ie.getDerivedStateFromError!=null&&(ne.setState(ie.getDerivedStateFromError(ee)),se=ne.__d),ne.componentDidCatch!=null&&(ne.componentDidCatch(ee,z||{}),se=ne.__d),se)return ne.__E=ne}catch(le){ee=le}throw ee}},tO=0,nO=function(ee){return ee!=null&&ee.constructor==null},nT.prototype.setState=function(ee,y){var E;E=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=LA({},this.state),typeof ee=="function"&&(ee=ee(LA({},E),this.props)),ee&&LA(E,ee),ee!=null&&this.__v&&(y&&this._sb.push(y),CL(this))},nT.prototype.forceUpdate=function(ee){this.__v&&(this.__e=!0,ee&&this.__h.push(ee),CL(this))},nT.prototype.render=tT,EP=[],rO=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,oO=function(ee,y){return ee.__v.__b-y.__v.__b},iT.__r=0,sO=/(PointerCapture)$|Capture$/i,xL=0,wL=fO(!1),SL=fO(!0),aO=0;function AO(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E2&&arguments[2]!==void 0?arguments[2]:{},ne=z.style,ie=ne===void 0?{}:ne,se=!!y&&oT(y)==="object"&&!!y.node&&typeof y.node=="function",le=bne(se?y.node():y);le.style("position")==="static"&&le.style("position","relative"),E.tooltipEl=le.append("div").attr("class","float-tooltip-kap"),Object.entries(ie).forEach(function(ge){var ve=jne(ge,2),xe=ve[0],Se=ve[1];return E.tooltipEl.style(xe,Se)}),E.tooltipEl.style("left","-10000px").style("display","none");var de="tooltip-".concat(Math.round(Math.random()*1e12));E.mouseInside=!1,le.on("mousemove.".concat(de),function(ge){E.mouseInside=!0;var ve=Bne(ge),xe=le.node(),Se=xe.offsetWidth,Me=xe.offsetHeight,De=[E.offsetX===null||E.offsetX===void 0?"-".concat(ve[0]/Se*100,"%"):typeof E.offsetX=="number"?"calc(-50% + ".concat(E.offsetX,"px)"):E.offsetX,E.offsetY===null||E.offsetY===void 0?Me>130&&Me-ve[1]<100?"calc(-100% - 6px)":"21px":typeof E.offsetY=="number"?E.offsetY<0?"calc(-100% - ".concat(Math.abs(E.offsetY),"px)"):"".concat(E.offsetY,"px"):E.offsetY];E.tooltipEl.style("left",ve[0]+"px").style("top",ve[1]+"px").style("transform","translate(".concat(De.join(","),")")),E.content&&E.tooltipEl.style("display","inline")}),le.on("mouseover.".concat(de),function(){E.mouseInside=!0,E.content&&E.tooltipEl.style("display","inline")}),le.on("mouseout.".concat(de),function(){E.mouseInside=!1,E.tooltipEl.style("display","none")})},update:function(y){y.tooltipEl.style("display",y.content&&y.mouseInside?"inline":"none"),y.content?y.content instanceof HTMLElement?(y.tooltipEl.text(""),y.tooltipEl.append(function(){return y.content})):typeof y.content=="string"?y.tooltipEl.html(y.content):Qne(y.content)?(y.tooltipEl.text(""),Yne(y.content,y.tooltipEl.node())):(y.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",y.content,y.content.toString())):y.tooltipEl.text("")}});function qne(ee,y){y===void 0&&(y={});var E=y.insertAt;if(typeof document!="undefined"){var z=document.head||document.getElementsByTagName("head")[0],ne=document.createElement("style");ne.type="text/css",E==="top"&&z.firstChild?z.insertBefore(ne,z.firstChild):z.appendChild(ne),ne.styleSheet?ne.styleSheet.cssText=ee:ne.appendChild(document.createTextNode(ee))}}var _ne=`.scene-nav-info { +`;Kne(Jne);var qne=S5({props:{content:{default:!1},offsetX:{triggerUpdate:!1},offsetY:{triggerUpdate:!1}},init:function(y,E){var z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ne=z.style,ie=ne===void 0?{}:ne,se=!!y&&oT(y)==="object"&&!!y.node&&typeof y.node=="function",le=Mne(se?y.node():y);le.style("position")==="static"&&le.style("position","relative"),E.tooltipEl=le.append("div").attr("class","float-tooltip-kap"),Object.entries(ie).forEach(function(ge){var ve=Gne(ge,2),xe=ve[0],Se=ve[1];return E.tooltipEl.style(xe,Se)}),E.tooltipEl.style("left","-10000px").style("display","none");var de="tooltip-".concat(Math.round(Math.random()*1e12));E.mouseInside=!1,le.on("mousemove.".concat(de),function(ge){E.mouseInside=!0;var ve=Tne(ge),xe=le.node(),Se=xe.offsetWidth,Me=xe.offsetHeight,De=[E.offsetX===null||E.offsetX===void 0?"-".concat(ve[0]/Se*100,"%"):typeof E.offsetX=="number"?"calc(-50% + ".concat(E.offsetX,"px)"):E.offsetX,E.offsetY===null||E.offsetY===void 0?Me>130&&Me-ve[1]<100?"calc(-100% - 6px)":"21px":typeof E.offsetY=="number"?E.offsetY<0?"calc(-100% - ".concat(Math.abs(E.offsetY),"px)"):"".concat(E.offsetY,"px"):E.offsetY];E.tooltipEl.style("left",ve[0]+"px").style("top",ve[1]+"px").style("transform","translate(".concat(De.join(","),")")),E.content&&E.tooltipEl.style("display","inline")}),le.on("mouseover.".concat(de),function(){E.mouseInside=!0,E.content&&E.tooltipEl.style("display","inline")}),le.on("mouseout.".concat(de),function(){E.mouseInside=!1,E.tooltipEl.style("display","none")})},update:function(y){y.tooltipEl.style("display",y.content&&y.mouseInside?"inline":"none"),y.content?y.content instanceof HTMLElement?(y.tooltipEl.text(""),y.tooltipEl.append(function(){return y.content})):typeof y.content=="string"?y.tooltipEl.html(y.content):Yne(y.content)?(y.tooltipEl.text(""),Zne(y.content,y.tooltipEl.node())):(y.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",y.content,y.content.toString())):y.tooltipEl.text("")}});function _ne(ee,y){y===void 0&&(y={});var E=y.insertAt;if(typeof document!="undefined"){var z=document.head||document.getElementsByTagName("head")[0],ne=document.createElement("style");ne.type="text/css",E==="top"&&z.firstChild?z.insertBefore(ne,z.firstChild):z.appendChild(ne),ne.styleSheet?ne.styleSheet.cssText=ee:ne.appendChild(document.createTextNode(ee))}}var $ne=`.scene-nav-info { position: absolute; bottom: 5px; width: 100%; @@ -5409,9 +5409,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho .scene-container canvas:focus { outline: none; -}`;qne(_ne);function BL(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E=y.pointerRaycasterThrottleMs){y.lastRaycasterCheck=E;var z=null;if(y.hoverDuringDrag||!y.isPointerDragging){var ne=this.intersectingObjects(y.pointerPos.x,y.pointerPos.y);y.hoverOrderComparator&&ne.sort(function(se,le){return y.hoverOrderComparator(se.object,le.object)});var ie=ne.find(function(se){return y.hoverFilter(se.object)})||null;z=ie?ie.object:null,y.intersection=ie||null}z!==y.hoverObj&&(y.onHover(z,y.hoverObj,y.intersection),y.tooltip.content(z&&ql(y.tooltipContent)(z,y.intersection)||null),y.hoverObj=z)}y.tweenGroup.update()}return this},getPointerPos:function(y){var E=y.pointerPos,z=E.x,ne=E.y;return{x:z,y:ne}},cameraPosition:function(y,E,z,ne){var ie=y.camera;if(E&&y.initialised){var se=E,le=z||{x:0,y:0,z:0};if(!ne)ve(se),xe(le);else{var de=Object.assign({},ie.position),ge=Se();y.tweenGroup.add(new vL(de).to(se,ne).easing(Fw.Quadratic.Out).onUpdate(ve).start()),y.tweenGroup.add(new vL(ge).to(le,ne/3).easing(Fw.Quadratic.Out).onUpdate(xe).start())}return this}return Object.assign({},ie.position,{lookAt:Se()});function ve(Me){var De=Me.x,Oe=Me.y,Re=Me.z;De!==void 0&&(ie.position.x=De),Oe!==void 0&&(ie.position.y=Oe),Re!==void 0&&(ie.position.z=Re)}function xe(Me){var De=new xh.Vector3(Me.x,Me.y,Me.z);y.controls.enabled&&y.controls.target?y.controls.target=De:ie.lookAt(De)}function Se(){return Object.assign(new xh.Vector3(0,0,-1e3).applyQuaternion(ie.quaternion).add(ie.position))}},zoomToFit:function(y){for(var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,ne=arguments.length,ie=new Array(ne>3?ne-3:0),se=3;se2&&arguments[2]!==void 0?arguments[2]:0,ne=arguments.length>3&&arguments[3]!==void 0?arguments[3]:10,ie=y.camera;if(E){var se=new xh.Vector3(0,0,0),le=Math.max.apply(Math,bP(Object.entries(E).map(function(Me){var De=sie(Me,2),Oe=De[0],Re=De[1];return Math.max.apply(Math,bP(Re.map(function(Le){return Math.abs(se[Oe]-Le)})))})))*2,de=(1-ne*2/y.height)*ie.fov,ge=le/Math.atan(de*Math.PI/180),ve=ge/ie.aspect,xe=Math.max(ge,ve);if(xe>0){var Se=se.clone().sub(ie.position).normalize().multiplyScalar(-xe);this.cameraPosition(Se,se,z)}}return this},getBbox:function(y){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},z=new xh.Box3(new xh.Vector3(0,0,0),new xh.Vector3(0,0,0)),ne=y.objects.filter(E);return ne.length?(ne.forEach(function(ie){return z.expandByObject(ie)}),Object.assign.apply(Object,bP(["x","y","z"].map(function(ie){return tie({},ie,[z.min[ie],z.max[ie]])})))):null},getScreenCoords:function(y,E,z,ne){var ie=new xh.Vector3(E,z,ne);return ie.project(this.camera()),{x:(ie.x+1)*y.width/2,y:-(ie.y-1)*y.height/2}},getSceneCoords:function(y,E,z){var ne=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,ie=new xh.Vector2(E/y.width*2-1,-(z/y.height)*2+1),se=new xh.Raycaster;return se.setFromCamera(ie,y.camera),Object.assign({},se.ray.at(ne,new xh.Vector3))},intersectingObjects:function(y,E,z){var ne=new xh.Vector2(E/y.width*2-1,-(z/y.height)*2+1),ie=new xh.Raycaster;return ie.params.Line.threshold=y.lineHoverPrecision,ie.params.Points.threshold=y.pointsHoverPrecision,ie.setFromCamera(ne,y.camera),ie.intersectObjects(y.objects,!0)},renderer:function(y){return y.renderer},scene:function(y){return y.scene},camera:function(y){return y.camera},postProcessingComposer:function(y){return y.postProcessingComposer},controls:function(y){return y.controls},tbControls:function(y){return y.controls}},stateInit:function(){return{scene:new xh.Scene,camera:new xh.PerspectiveCamera,clock:new xh.Clock,tweenGroup:new gL,lastRaycasterCheck:0}},init:function(y,E){var z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ne=z.controlType,ie=ne===void 0?"trackball":ne,se=z.useWebGPU,le=se===void 0?!1:se,de=z.rendererConfig,ge=de===void 0?{}:de,ve=z.extraRenderers,xe=ve===void 0?[]:ve,Se=z.waitForLoadComplete,Me=Se===void 0?!0:Se;y.innerHTML="",y.appendChild(E.container=document.createElement("div")),E.container.className="scene-container",E.container.style.position="relative",E.container.appendChild(E.navInfo=document.createElement("div")),E.navInfo.className="scene-nav-info",E.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[ie]||"",E.navInfo.style.display=E.showNavInfo?null:"none",E.tooltip=new Jne(E.container),E.pointerPos=new xh.Vector2,E.pointerPos.x=-2,E.pointerPos.y=-2,["pointermove","pointerdown"].forEach(function(De){return E.container.addEventListener(De,function(Oe){if(De==="pointerdown"&&(E.isPointerPressed=!0),!E.isPointerDragging&&Oe.type==="pointermove"&&(Oe.pressure>0||E.isPointerPressed)&&(Oe.pointerType==="mouse"||Oe.movementX===void 0||[Oe.movementX,Oe.movementY].some(function(Qe){return Math.abs(Qe)>1}))&&(E.isPointerDragging=!0),E.enablePointerInteraction){var Re=Le(E.container);E.pointerPos.x=Oe.pageX-Re.left,E.pointerPos.y=Oe.pageY-Re.top}function Le(Qe){var Xe=Qe.getBoundingClientRect(),Ze=window.pageXOffset||document.documentElement.scrollLeft,it=window.pageYOffset||document.documentElement.scrollTop;return{top:Xe.top+it,left:Xe.left+Ze}}},{passive:!0})}),E.container.addEventListener("pointerup",function(De){E.isPointerPressed&&(E.isPointerPressed=!1,!(E.isPointerDragging&&(E.isPointerDragging=!1,!E.clickAfterDrag))&&requestAnimationFrame(function(){De.button===0&&E.onClick(E.hoverObj||null,De,E.intersection),De.button===2&&E.onRightClick&&E.onRightClick(E.hoverObj||null,De,E.intersection)}))},{passive:!0,capture:!0}),E.container.addEventListener("contextmenu",function(De){E.onRightClick&&De.preventDefault()}),E.renderer=new(le?v_:xh.WebGLRenderer)(Object.assign({antialias:!0,alpha:!0},ge)),E.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),E.container.appendChild(E.renderer.domElement),E.extraRenderers=xe,E.extraRenderers.forEach(function(De){De.domElement.style.position="absolute",De.domElement.style.top="0px",De.domElement.style.pointerEvents="none",E.container.appendChild(De.domElement)}),E.postProcessingComposer=new d$(E.renderer),E.postProcessingComposer.addPass(new f$(E.scene,E.camera)),E.controls=new{trackball:w_,orbit:k_,fly:q_}[ie](E.camera,E.renderer.domElement),ie==="fly"&&(E.controls.movementSpeed=300,E.controls.rollSpeed=Math.PI/6,E.controls.dragToLook=!0),(ie==="trackball"||ie==="orbit")&&(E.controls.minDistance=.1,E.controls.maxDistance=E.skyRadius,E.controls.addEventListener("start",function(){E.controlsEngaged=!0}),E.controls.addEventListener("change",function(){E.controlsEngaged&&(E.controlsDragging=!0)}),E.controls.addEventListener("end",function(){E.controlsEngaged=!1,E.controlsDragging=!1})),[E.renderer,E.postProcessingComposer].concat(bP(E.extraRenderers)).forEach(function(De){return De.setSize(E.width,E.height)}),E.camera.aspect=E.width/E.height,E.camera.updateProjectionMatrix(),E.camera.position.z=1e3,E.scene.add(E.skysphere=new xh.Mesh),E.skysphere.visible=!1,E.loadComplete=E.scene.visible=!Me,window.scene=E.scene},update:function(y,E){if(y.width&&y.height&&(E.hasOwnProperty("width")||E.hasOwnProperty("height"))){var z,ne=y.width,ie=y.height;y.container.style.width="".concat(ne,"px"),y.container.style.height="".concat(ie,"px"),[y.renderer,y.postProcessingComposer].concat(bP(y.extraRenderers)).forEach(function(Me){return Me.setSize(ne,ie)}),y.camera.aspect=ne/ie;var se=y.viewOffset.slice(0,2);se.some(function(Me){return Me})&&(z=y.camera).setViewOffset.apply(z,[ne,ie].concat(bP(se),[ne,ie])),y.camera.updateProjectionMatrix()}if(E.hasOwnProperty("viewOffset")){var le,de=y.width,ge=y.height,ve=y.viewOffset.slice(0,2);ve.some(function(Me){return Me})?(le=y.camera).setViewOffset.apply(le,[de,ge].concat(bP(ve),[de,ge])):y.camera.clearViewOffset()}if(E.hasOwnProperty("skyRadius")&&y.skyRadius&&(y.controls.hasOwnProperty("maxDistance")&&E.skyRadius&&(y.controls.maxDistance=Math.min(y.controls.maxDistance,y.skyRadius)),y.camera.far=y.skyRadius*2.5,y.camera.updateProjectionMatrix(),y.skysphere.geometry=new xh.SphereGeometry(y.skyRadius)),E.hasOwnProperty("backgroundColor")){var xe=_x(y.backgroundColor).alpha;xe===void 0&&(xe=1),y.renderer.setClearColor(new xh.Color(Pee(1,y.backgroundColor)),xe)}E.hasOwnProperty("backgroundImageUrl")&&(y.backgroundImageUrl?new xh.TextureLoader().load(y.backgroundImageUrl,function(Me){Me.colorSpace=xh.SRGBColorSpace,y.skysphere.material=new xh.MeshBasicMaterial({map:Me,side:xh.BackSide}),y.skysphere.visible=!0,y.onBackgroundImageLoaded&&setTimeout(y.onBackgroundImageLoaded),!y.loadComplete&&Se()}):(y.skysphere.visible=!1,y.skysphere.material.map=null,!y.loadComplete&&Se())),E.hasOwnProperty("showNavInfo")&&(y.navInfo.style.display=y.showNavInfo?null:"none"),E.hasOwnProperty("lights")&&((E.lights||[]).forEach(function(Me){return y.scene.remove(Me)}),y.lights.forEach(function(Me){return y.scene.add(Me)})),E.hasOwnProperty("objects")&&((E.objects||[]).forEach(function(Me){return y.scene.remove(Me)}),y.objects.forEach(function(Me){return y.scene.add(Me)}));function Se(){y.loadComplete=y.scene.visible=!0}}});function uie(ee,y){y===void 0&&(y={});var E=y.insertAt;if(typeof document!="undefined"){var z=document.head||document.getElementsByTagName("head")[0],ne=document.createElement("style");ne.type="text/css",E==="top"&&z.firstChild?z.insertBefore(ne,z.firstChild):z.appendChild(ne),ne.styleSheet?ne.styleSheet.cssText=ee:ne.appendChild(document.createTextNode(ee))}}var cie=`.graph-info-msg { +}`;_ne($ne);function TL(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E=y.pointerRaycasterThrottleMs){y.lastRaycasterCheck=E;var z=null;if(y.hoverDuringDrag||!y.isPointerDragging){var ne=this.intersectingObjects(y.pointerPos.x,y.pointerPos.y);y.hoverOrderComparator&&ne.sort(function(se,le){return y.hoverOrderComparator(se.object,le.object)});var ie=ne.find(function(se){return y.hoverFilter(se.object)})||null;z=ie?ie.object:null,y.intersection=ie||null}z!==y.hoverObj&&(y.onHover(z,y.hoverObj,y.intersection),y.tooltip.content(z&&ql(y.tooltipContent)(z,y.intersection)||null),y.hoverObj=z)}y.tweenGroup.update()}return this},getPointerPos:function(y){var E=y.pointerPos,z=E.x,ne=E.y;return{x:z,y:ne}},cameraPosition:function(y,E,z,ne){var ie=y.camera;if(E&&y.initialised){var se=E,le=z||{x:0,y:0,z:0};if(!ne)ve(se),xe(le);else{var de=Object.assign({},ie.position),ge=Se();y.tweenGroup.add(new vL(de).to(se,ne).easing(Fw.Quadratic.Out).onUpdate(ve).start()),y.tweenGroup.add(new vL(ge).to(le,ne/3).easing(Fw.Quadratic.Out).onUpdate(xe).start())}return this}return Object.assign({},ie.position,{lookAt:Se()});function ve(Me){var De=Me.x,Oe=Me.y,Re=Me.z;De!==void 0&&(ie.position.x=De),Oe!==void 0&&(ie.position.y=Oe),Re!==void 0&&(ie.position.z=Re)}function xe(Me){var De=new xh.Vector3(Me.x,Me.y,Me.z);y.controls.enabled&&y.controls.target?y.controls.target=De:ie.lookAt(De)}function Se(){return Object.assign(new xh.Vector3(0,0,-1e3).applyQuaternion(ie.quaternion).add(ie.position))}},zoomToFit:function(y){for(var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,ne=arguments.length,ie=new Array(ne>3?ne-3:0),se=3;se2&&arguments[2]!==void 0?arguments[2]:0,ne=arguments.length>3&&arguments[3]!==void 0?arguments[3]:10,ie=y.camera;if(E){var se=new xh.Vector3(0,0,0),le=Math.max.apply(Math,bP(Object.entries(E).map(function(Me){var De=aie(Me,2),Oe=De[0],Re=De[1];return Math.max.apply(Math,bP(Re.map(function(Le){return Math.abs(se[Oe]-Le)})))})))*2,de=(1-ne*2/y.height)*ie.fov,ge=le/Math.atan(de*Math.PI/180),ve=ge/ie.aspect,xe=Math.max(ge,ve);if(xe>0){var Se=se.clone().sub(ie.position).normalize().multiplyScalar(-xe);this.cameraPosition(Se,se,z)}}return this},getBbox:function(y){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},z=new xh.Box3(new xh.Vector3(0,0,0),new xh.Vector3(0,0,0)),ne=y.objects.filter(E);return ne.length?(ne.forEach(function(ie){return z.expandByObject(ie)}),Object.assign.apply(Object,bP(["x","y","z"].map(function(ie){return nie({},ie,[z.min[ie],z.max[ie]])})))):null},getScreenCoords:function(y,E,z,ne){var ie=new xh.Vector3(E,z,ne);return ie.project(this.camera()),{x:(ie.x+1)*y.width/2,y:-(ie.y-1)*y.height/2}},getSceneCoords:function(y,E,z){var ne=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,ie=new xh.Vector2(E/y.width*2-1,-(z/y.height)*2+1),se=new xh.Raycaster;return se.setFromCamera(ie,y.camera),Object.assign({},se.ray.at(ne,new xh.Vector3))},intersectingObjects:function(y,E,z){var ne=new xh.Vector2(E/y.width*2-1,-(z/y.height)*2+1),ie=new xh.Raycaster;return ie.params.Line.threshold=y.lineHoverPrecision,ie.params.Points.threshold=y.pointsHoverPrecision,ie.setFromCamera(ne,y.camera),ie.intersectObjects(y.objects,!0)},renderer:function(y){return y.renderer},scene:function(y){return y.scene},camera:function(y){return y.camera},postProcessingComposer:function(y){return y.postProcessingComposer},controls:function(y){return y.controls},tbControls:function(y){return y.controls}},stateInit:function(){return{scene:new xh.Scene,camera:new xh.PerspectiveCamera,clock:new xh.Clock,tweenGroup:new gL,lastRaycasterCheck:0}},init:function(y,E){var z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ne=z.controlType,ie=ne===void 0?"trackball":ne,se=z.useWebGPU,le=se===void 0?!1:se,de=z.rendererConfig,ge=de===void 0?{}:de,ve=z.extraRenderers,xe=ve===void 0?[]:ve,Se=z.waitForLoadComplete,Me=Se===void 0?!0:Se;y.innerHTML="",y.appendChild(E.container=document.createElement("div")),E.container.className="scene-container",E.container.style.position="relative",E.container.appendChild(E.navInfo=document.createElement("div")),E.navInfo.className="scene-nav-info",E.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[ie]||"",E.navInfo.style.display=E.showNavInfo?null:"none",E.tooltip=new qne(E.container),E.pointerPos=new xh.Vector2,E.pointerPos.x=-2,E.pointerPos.y=-2,["pointermove","pointerdown"].forEach(function(De){return E.container.addEventListener(De,function(Oe){if(De==="pointerdown"&&(E.isPointerPressed=!0),!E.isPointerDragging&&Oe.type==="pointermove"&&(Oe.pressure>0||E.isPointerPressed)&&(Oe.pointerType==="mouse"||Oe.movementX===void 0||[Oe.movementX,Oe.movementY].some(function(Qe){return Math.abs(Qe)>1}))&&(E.isPointerDragging=!0),E.enablePointerInteraction){var Re=Le(E.container);E.pointerPos.x=Oe.pageX-Re.left,E.pointerPos.y=Oe.pageY-Re.top}function Le(Qe){var Xe=Qe.getBoundingClientRect(),Ze=window.pageXOffset||document.documentElement.scrollLeft,it=window.pageYOffset||document.documentElement.scrollTop;return{top:Xe.top+it,left:Xe.left+Ze}}},{passive:!0})}),E.container.addEventListener("pointerup",function(De){E.isPointerPressed&&(E.isPointerPressed=!1,!(E.isPointerDragging&&(E.isPointerDragging=!1,!E.clickAfterDrag))&&requestAnimationFrame(function(){De.button===0&&E.onClick(E.hoverObj||null,De,E.intersection),De.button===2&&E.onRightClick&&E.onRightClick(E.hoverObj||null,De,E.intersection)}))},{passive:!0,capture:!0}),E.container.addEventListener("contextmenu",function(De){E.onRightClick&&De.preventDefault()}),E.renderer=new(le?y_:xh.WebGLRenderer)(Object.assign({antialias:!0,alpha:!0},ge)),E.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),E.container.appendChild(E.renderer.domElement),E.extraRenderers=xe,E.extraRenderers.forEach(function(De){De.domElement.style.position="absolute",De.domElement.style.top="0px",De.domElement.style.pointerEvents="none",E.container.appendChild(De.domElement)}),E.postProcessingComposer=new f$(E.renderer),E.postProcessingComposer.addPass(new g$(E.scene,E.camera)),E.controls=new{trackball:S_,orbit:z_,fly:__}[ie](E.camera,E.renderer.domElement),ie==="fly"&&(E.controls.movementSpeed=300,E.controls.rollSpeed=Math.PI/6,E.controls.dragToLook=!0),(ie==="trackball"||ie==="orbit")&&(E.controls.minDistance=.1,E.controls.maxDistance=E.skyRadius,E.controls.addEventListener("start",function(){E.controlsEngaged=!0}),E.controls.addEventListener("change",function(){E.controlsEngaged&&(E.controlsDragging=!0)}),E.controls.addEventListener("end",function(){E.controlsEngaged=!1,E.controlsDragging=!1})),[E.renderer,E.postProcessingComposer].concat(bP(E.extraRenderers)).forEach(function(De){return De.setSize(E.width,E.height)}),E.camera.aspect=E.width/E.height,E.camera.updateProjectionMatrix(),E.camera.position.z=1e3,E.scene.add(E.skysphere=new xh.Mesh),E.skysphere.visible=!1,E.loadComplete=E.scene.visible=!Me,window.scene=E.scene},update:function(y,E){if(y.width&&y.height&&(E.hasOwnProperty("width")||E.hasOwnProperty("height"))){var z,ne=y.width,ie=y.height;y.container.style.width="".concat(ne,"px"),y.container.style.height="".concat(ie,"px"),[y.renderer,y.postProcessingComposer].concat(bP(y.extraRenderers)).forEach(function(Me){return Me.setSize(ne,ie)}),y.camera.aspect=ne/ie;var se=y.viewOffset.slice(0,2);se.some(function(Me){return Me})&&(z=y.camera).setViewOffset.apply(z,[ne,ie].concat(bP(se),[ne,ie])),y.camera.updateProjectionMatrix()}if(E.hasOwnProperty("viewOffset")){var le,de=y.width,ge=y.height,ve=y.viewOffset.slice(0,2);ve.some(function(Me){return Me})?(le=y.camera).setViewOffset.apply(le,[de,ge].concat(bP(ve),[de,ge])):y.camera.clearViewOffset()}if(E.hasOwnProperty("skyRadius")&&y.skyRadius&&(y.controls.hasOwnProperty("maxDistance")&&E.skyRadius&&(y.controls.maxDistance=Math.min(y.controls.maxDistance,y.skyRadius)),y.camera.far=y.skyRadius*2.5,y.camera.updateProjectionMatrix(),y.skysphere.geometry=new xh.SphereGeometry(y.skyRadius)),E.hasOwnProperty("backgroundColor")){var xe=_x(y.backgroundColor).alpha;xe===void 0&&(xe=1),y.renderer.setClearColor(new xh.Color(Cee(1,y.backgroundColor)),xe)}E.hasOwnProperty("backgroundImageUrl")&&(y.backgroundImageUrl?new xh.TextureLoader().load(y.backgroundImageUrl,function(Me){Me.colorSpace=xh.SRGBColorSpace,y.skysphere.material=new xh.MeshBasicMaterial({map:Me,side:xh.BackSide}),y.skysphere.visible=!0,y.onBackgroundImageLoaded&&setTimeout(y.onBackgroundImageLoaded),!y.loadComplete&&Se()}):(y.skysphere.visible=!1,y.skysphere.material.map=null,!y.loadComplete&&Se())),E.hasOwnProperty("showNavInfo")&&(y.navInfo.style.display=y.showNavInfo?null:"none"),E.hasOwnProperty("lights")&&((E.lights||[]).forEach(function(Me){return y.scene.remove(Me)}),y.lights.forEach(function(Me){return y.scene.add(Me)})),E.hasOwnProperty("objects")&&((E.objects||[]).forEach(function(Me){return y.scene.remove(Me)}),y.objects.forEach(function(Me){return y.scene.add(Me)}));function Se(){y.loadComplete=y.scene.visible=!0}}});function cie(ee,y){y===void 0&&(y={});var E=y.insertAt;if(typeof document!="undefined"){var z=document.head||document.getElementsByTagName("head")[0],ne=document.createElement("style");ne.type="text/css",E==="top"&&z.firstChild?z.insertBefore(ne,z.firstChild):z.appendChild(ne),ne.styleSheet?ne.styleSheet.cssText=ee:ne.appendChild(document.createTextNode(ee))}}var hie=`.graph-info-msg { top: 50%; width: 100%; text-align: center; @@ -5437,8 +5437,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho cursor: grabbing; cursor: -moz-grabbing; cursor: -webkit-grabbing; -}`;uie(cie);function TL(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E1?le-1:0),ge=1;ge3?ie-3:0),le=3;le1&&(Oe=Me.y+Me.vy),E>2&&(Re=Me.z+Me.vz),Se.visit(Ze);function Ze(it,et,ht,lt,ot,rt,Mt){var Xt=[et,ht,lt,ot,rt,Mt],cn=Xt[0],Cn=Xt[1],En=Xt[2],Zn=Xt[E],ti=Xt[E+1],bn=Xt[E+2],rn=it.data,li=it.r,Dn=Le+li;if(rn){if(rn.index>Me.index){var Wn=De-rn.x-rn.vx,hi=E>1?Oe-rn.y-rn.vy:0,On=E>2?Re-rn.z-rn.vz:0,dn=Wn*Wn+hi*hi+On*On;dn1&&hi===0&&(hi=Nd(ne),dn+=hi*hi),E>2&&On===0&&(On=Nd(ne),dn+=On*On),dn=(Dn-(dn=Math.sqrt(dn)))/dn*ie,Me.vx+=(Wn*=dn)*(Dn=(li*=li)/(Qe+li)),E>1&&(Me.vy+=(hi*=dn)*Dn),E>2&&(Me.vz+=(On*=dn)*Dn),rn.vx-=Wn*(Dn=1-Dn),E>1&&(rn.vy-=hi*Dn),E>2&&(rn.vz-=On*Dn))}return}return cn>De+Dn||Zn1&&(Cn>Oe+Dn||ti2&&(En>Re+Dn||bnve.r&&(ve.r=ve[xe].r)}function ge(){if(y){var ve,xe=y.length,Se;for(z=new Array(xe),ve=0;vetypeof Se=="function")||Math.random,E=xe.find(Se=>[1,2,3].includes(Se))||2,ge()},le.iterations=function(ve){return arguments.length?(se=+ve,le):se},le.strength=function(ve){return arguments.length?(ie=+ve,le):ie},le.radius=function(ve){return arguments.length?(ee=typeof ve=="function"?ve:jc(+ve),ge(),le):ee},le}var MO=Je(89392),BO=Je(59301),bie=Object.defineProperty,Mie=Object.defineProperties,Bie=Object.getOwnPropertyDescriptors,TO=Object.getOwnPropertySymbols,Tie=Object.prototype.hasOwnProperty,Die=Object.prototype.propertyIsEnumerable,DO=(ee,y,E)=>y in ee?bie(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,IL=(ee,y)=>{for(var E in y||(y={}))Tie.call(y,E)&&DO(ee,E,y[E]);if(TO)for(var E of TO(y))Die.call(y,E)&&DO(ee,E,y[E]);return ee},RL=(ee,y)=>Mie(ee,Bie(y)),Fie=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const FO=new Ha,Lie=new Float32Array([0,.5,0,-.5,-.5,0,.5,-.5,0]);FO.setAttribute("position",new wl(Lie,3));const Nie=new Vh({color:"#FF4500",side:eh,transparent:!0,opacity:.8}),OL=new Map,LO=ee=>(OL.has(ee)||OL.set(ee,new LC({transparent:!1,color:ee})),OL.get(ee)),oue=(ee,y)=>{const E=ee.getParentData(y.id,"tree");return E?y.style.x>E.style.x?"right":"left":"center"},kL=[20,15,10],NO=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C"}],Iie=(ee,y)=>{const E={};let z=null;return ee.forEach(ne=>{E[ne.properties.uuid]=RL(IL({},ne),{id:ne.properties.uuid,children:[]})}),y.forEach(ne=>{const ie=E[ne.startNodeUuid],se=E[ne.endNodeUuid];ie&&(ie.id=ie.properties.uuid),ie&&se&&ie.children.push(se)}),ee.forEach(ne=>{!y.some(se=>se.endNodeUuid===ne.properties.uuid)&&(z=E[ne.properties.uuid])}),z};var Rie=(0,Fe.forwardRef)(({nodeUuid:ee,subject_id:y,setshowdetail:E,setitems:z,setzoomsize:ne},ie)=>{var se;const[le,de]=(0,Fe.useState)(!1),[ge,ve]=(0,Fe.useState)({nodes:[],links:[]}),xe=(0,Fe.useRef)(),Se=(0,Fe.useRef)(1),Me=(0,Fe.useRef)(null),De=(0,Fe.useRef)(null),Oe=50,Re=2e3,[Le,Qe]=(0,Fe.useState)(null),[Xe,Ze]=(0,Fe.useState)(""),[it,et]=(0,Fe.useState)(null),ht=(0,Fe.useRef)(new Map);(0,Fe.useEffect)(()=>{lt()},[]);const lt=()=>Fie(void 0,null,function*(){var rn,li,Dn,Wn,hi,On,dn,mi;de(!0);let ui=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:ee,subject_id:y,depth:-1,relationshipFilter:"\u5305\u542B>"}});de(!1);let Mi=(li=(rn=ui==null?void 0:ui.data)==null?void 0:rn.nodes)==null?void 0:li.map(Ot=>{var Pr,sr,Fr,_i,Io,Rr,po,Js,hn,Rt;return RL(IL({},Ot==null?void 0:Ot.properties),{id:(Pr=Ot==null?void 0:Ot.properties)==null?void 0:Pr.uuid,name:(sr=Ot==null?void 0:Ot.properties)==null?void 0:sr.name,description:(Fr=Ot==null?void 0:Ot.properties)==null?void 0:Fr.description,nodeType:(_i=Ot==null?void 0:Ot.properties)==null?void 0:_i.nodeType,tags:((po=(Rr=(Io=Ot==null?void 0:Ot.properties)==null?void 0:Io.tags)==null?void 0:Rr.split("\uFF0C"))==null?void 0:po.map(yi=>({name:yi})))||[],colorType:parseInt((Js=Ot==null?void 0:Ot.properties)==null?void 0:Js.color)>3?"3":(hn=Ot==null?void 0:Ot.properties)==null?void 0:hn.color,activeColor:"#FA6400",size:kL[((Rt=Ot==null?void 0:Ot.properties)==null?void 0:Rt.color)-1]||20,shape:"circle",hide:!1,isExtendedState:!0})}),Qi=Iie((Wn=(Dn=ui==null?void 0:ui.data)==null?void 0:Dn.nodes)==null?void 0:Wn.map((Ot,Pr)=>{var sr,Fr,_i,Io,Rr,po,Js,hn,Rt;const yi=parseInt((sr=Ot==null?void 0:Ot.properties)==null?void 0:sr.color)===1?"#CC7CF5":((Fr=NO.find($i=>{var ii;return($i==null?void 0:$i.name)===((ii=Ot==null?void 0:Ot.properties)==null?void 0:ii.nodeType)}))==null?void 0:Fr.color)||"#2D947C";return RL(IL({},Ot),{key:Pr,title:(_i=Ot==null?void 0:Ot.properties)==null?void 0:_i.name,newcolor:yi,nodeColor:yi,color:yi,colornodeType:parseInt((Io=Ot==null?void 0:Ot.properties)==null?void 0:Io.color)===1?"\u6839\u8282\u70B9":((Rr=NO.find($i=>{var ii;return($i==null?void 0:$i.name)===((ii=Ot==null?void 0:Ot.properties)==null?void 0:ii.nodeType)}))==null?void 0:Rr.name)||"\u5176\u4ED6",val:kL[((po=Ot==null?void 0:Ot.properties)==null?void 0:po.color)-1]||10,nodeVal:kL[((Js=Ot==null?void 0:Ot.properties)==null?void 0:Js.color)-1]||10,name:(hn=Ot==null?void 0:Ot.properties)==null?void 0:hn.name,nodeLabel:(Rt=Ot==null?void 0:Ot.properties)==null?void 0:Rt.name})}),(On=(hi=ui==null?void 0:ui.data)==null?void 0:hi.relationships)==null?void 0:On.filter(Ot=>Ot.type==="\u5305\u542B")),rr=(0,Au.RN)(Qi),Ir=(dn=rr.nodes)==null?void 0:dn.filter((Ot,Pr,sr)=>Pr===sr.findIndex(Fr=>Fr.id===Ot.id)),to=(mi=rr.edges)==null?void 0:mi.filter((Ot,Pr,sr)=>Pr===sr.findIndex(Fr=>Fr.source===Ot.source&&Fr.target===Ot.target));ve({nodes:Ir,links:to})}),ot=(rn,li)=>{const Dn=new Map([[rn,!0]]),Wn=On=>{li.forEach(dn=>{dn.source.id===On&&!Dn.has(dn.target.id)&&(Dn.set(dn.target.id,!0),Wn(dn.target.id))})},hi=On=>{li.forEach(dn=>{dn.target.id===On&&!Dn.has(dn.source.id)&&(Dn.set(dn.source.id,!0),hi(dn.source.id))})};return Wn(rn),hi(rn),Dn};(0,Fe.useEffect)(()=>{it?ht.current=ot(it.id,ge.links):ht.current=new Map},[it,ge.links]);const rt=()=>ny().force("charge",Uf().strength(-50)).force("collision",Eie().radius(rn=>(rn.val||20)*1.2)).force("link",Ru().id(rn=>rn.id).distance(80)).force("center",df()).numDimensions(3).tick(100),Mt=rn=>it?ht.current.has(rn.id):!0,Xt=rn=>it?ht.current.has(rn.source.id)&&ht.current.has(rn.target.id):!0;(0,Fe.useEffect)(()=>()=>{De.current&&cancelAnimationFrame(De.current)},[]);const cn=()=>{if(!Me.current||!xe.current)return;const rn=xe.current,li=rn.cameraPosition(),Dn={x:0,y:0,z:0},Wn=.1,hi={x:li.x+(Me.current.x-li.x)*Wn,y:li.y+(Me.current.y-li.y)*Wn,z:li.z+(Me.current.z-li.z)*Wn};rn.cameraPosition(hi,Dn,0),Math.hypot(hi.x-Me.current.x,hi.y-Me.current.y,hi.z-Me.current.z)>5?De.current=requestAnimationFrame(cn):(De.current=null,Me.current=null)};(0,Fe.useImperativeHandle)(ie,()=>({handleZoom:Zn,getData:lt,selectall:Cn,settype:En}));const Cn=rn=>{Qe(rn)},En=rn=>{Ze(rn)},Zn=rn=>{De.current&&(cancelAnimationFrame(De.current),De.current=null);const li=xe.current;if(!li)return;const Dn=li.cameraPosition(),Wn={x:0,y:0,z:0},hi={x:Dn.x-Wn.x,y:Dn.y-Wn.y,z:Dn.z-Wn.z},On=Math.hypot(hi.x,hi.y,hi.z);let mi=On*(rn==="in"?.8:1.2);if(mi=Math.max(Oe,Math.min(Re,mi)),On>0){const ui=mi/On;Me.current={x:Wn.x+hi.x*ui,y:Wn.y+hi.y*ui,z:Wn.z+hi.z*ui},Se.current=1e3/mi,cn()}},ti=(0,MO.debounce)(rn=>{et(rn)},100),bn=rn=>{console.log("---",rn),Qe(rn.id),z(rn),E(!0)};return BO.createElement("div",{style:{height:"calc(100vh - 0px)",overflow:"hidden"}},((se=ge==null?void 0:ge.nodes)==null?void 0:se.length)>0&&BO.createElement(LL,{graphData:ge,ref:xe,enableNodeDrag:!1,backgroundColor:"rgb(1, 10, 35)",linkColor:rn=>Xt(rn)?"#ccc":"rgba(0,0,0,0)",linkWidth:rn=>(Xt(rn),1),linkDirectionalArrowLength:it?6:0,nodeRelSize:8,linkDirectionalArrowColor:()=>"rgba(0,0,0,0)",linkDirectionalParticles:rn=>Xt(rn)?3:0,linkDirectionalParticleSpeed:.001,linkDirectionalParticleWidth:2,linkDirectionalParticleColor:rn=>Xt(rn)?"#ccc":"rgba(0,0,0,0)",linkThreeObjectExtend:!0,nodeThreeObject:rn=>{if(Xe){const li=new lu(new rg(rn.val,16,16),LO(rn.colornodeType===Xe?rn.nodeColor:"#999999"));if(rn.id===Le){const Dn=new lu(new rg(rn.val+5,32,32),new Vh({transparent:!0,opacity:.3}));li.add(Dn)}return li}else{const li=new lu(new rg(rn.val,16,16),LO(rn.id===Le||Mt(rn)?rn.nodeColor:"#999999"));if(rn.id===Le){const Dn=new lu(new rg(rn.val+5,32,32),new Vh({transparent:!0,opacity:.3}));li.add(Dn)}return li}},linkThreeObject:rn=>Xt(rn)?new lu(FO,Nie):null,onNodeHover:ti,onNodeClick:bn,onEngineStop:()=>{},onNodeDragEnd:rn=>{rn.fx=rn.x,rn.fy=rn.y,rn.fz=rn.z}}))}),pd={flex_box_center:"flex_box_center___mORrQ",flex_space_between:"flex_space_between___AGgBm",flex_box_vertical_center:"flex_box_vertical_center____H93g",flex_box_center_end:"flex_box_center_end___VPK8Q",flex_box_column:"flex_box_column___qksG3",autocomp:"autocomp___H_feM",autocompwidth:"autocompwidth___RMYtG",hoverone:"hoverone___j7m8k",name:"name___qwPqM",img:"img___WHKD_",autopop:"autopop___YCC3k",studentHead:"studentHead___DeVom",headLi:"headLi___qiYnp",btn:"btn___s7HI8",tupugx:"tupugx___JCYSy",textname:"textname___iEAMA",dropdownst:"dropdownst___ca1cn",ChangeBut:"ChangeBut___uZelH"},zL=Je(84989),IO=Je(59301),Oie=Object.defineProperty,kie=Object.defineProperties,zie=Object.getOwnPropertyDescriptors,cT=Object.getOwnPropertySymbols,RO=Object.prototype.hasOwnProperty,OO=Object.prototype.propertyIsEnumerable,kO=(ee,y,E)=>y in ee?Oie(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,zO=(ee,y)=>{for(var E in y||(y={}))RO.call(y,E)&&kO(ee,E,y[E]);if(cT)for(var E of cT(y))OO.call(y,E)&&kO(ee,E,y[E]);return ee},Hie=(ee,y)=>kie(ee,zie(y)),Uie=(ee,y)=>{var E={};for(var z in ee)RO.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&cT)for(var z of cT(ee))y.indexOf(z)<0&&OO.call(ee,z)&&(E[z]=ee[z]);return E},Vie=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});let hT=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const aue=null;let lue=null;const jie=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,datas:le}=y,de=Uie(y,["pathsDetail","user","globalSetting","loading","dispatch","datas"]);const ge=(0,Fe.useRef)(),ve=(0,Fe.useRef)(null);(0,Fe.useEffect)(()=>{xe()},[le]);function xe(){return Vie(this,null,function*(){var Se,Me,De,Oe,Re,Le,Qe;if(((Se=le==null?void 0:le.nodes)==null?void 0:Se.length)>0){let Xe=(0,bt.fX)((Me=le==null?void 0:le.nodes)==null?void 0:Me.map((lt,ot)=>{var rt,Mt,Xt,cn,Cn,En,Zn,ti,bn,rn,li,Dn,Wn,hi,On,dn;return Hie(zO(zO({},lt),lt==null?void 0:lt.properties),{rootNodeUuid:(rt=lt==null?void 0:lt.properties)==null?void 0:rt.rootNodeUuid,id:(Mt=lt==null?void 0:lt.properties)==null?void 0:Mt.uuid,name:(Xt=lt==null?void 0:lt.properties)==null?void 0:Xt.name,labelstype:(cn=lt==null?void 0:lt.labels)==null?void 0:cn[1],description:(Cn=lt==null?void 0:lt.properties)==null?void 0:Cn.description,nodeType:(En=lt==null?void 0:lt.properties)==null?void 0:En.nodeType,colornodeType:parseInt((Zn=lt==null?void 0:lt.properties)==null?void 0:Zn.color)===1?"\u6839\u8282\u70B9":((ti=hT==null?void 0:hT.find(mi=>{var ui;return(mi==null?void 0:mi.name)===((ui=lt==null?void 0:lt.properties)==null?void 0:ui.nodeType)}))==null?void 0:ti.name)||"\u5176\u4ED6",newcolor:parseInt((bn=lt==null?void 0:lt.properties)==null?void 0:bn.color)===1?"#CC7CF5":((rn=hT==null?void 0:hT.find(mi=>{var ui;return(mi==null?void 0:mi.name)===((ui=lt==null?void 0:lt.properties)==null?void 0:ui.nodeType)}))==null?void 0:rn.color)||"#2D947C",tags:((li=lt==null?void 0:lt.properties)==null?void 0:li.tags)&&((hi=(Wn=(Dn=lt==null?void 0:lt.properties)==null?void 0:Dn.tags)==null?void 0:Wn.split("\uFF0C"))==null?void 0:hi.map(mi=>({name:mi})))||[],colorType:parseInt((On=lt==null?void 0:lt.properties)==null?void 0:On.color)>3?"3":(dn=lt==null?void 0:lt.properties)==null?void 0:dn.color})}),(Re=(Oe=(De=le==null?void 0:le.relationships)==null?void 0:De.filter(lt=>{var ot,rt,Mt;return(lt==null?void 0:lt.endNodeUuid)!==((Mt=(rt=(ot=le==null?void 0:le.nodes)==null?void 0:ot[0])==null?void 0:rt.properties)==null?void 0:Mt.rootNodeUuid)}))==null?void 0:Oe.filter(lt=>{var ot,rt,Mt;return(lt==null?void 0:lt.startNodeUuid)!==((Mt=(rt=(ot=le==null?void 0:le.nodes)==null?void 0:ot[0])==null?void 0:rt.properties)==null?void 0:Mt.rootNodeUuid)}))==null?void 0:Re.filter(lt=>lt.type==="\u5305\u542B")),Ze=(0,Au.RN)(Xe),it=(Le=Ze.nodes)==null?void 0:Le.filter((lt,ot,rt)=>ot===rt.findIndex(Mt=>Mt.id===lt.id)),et=(Qe=Ze.edges)==null?void 0:Qe.filter((lt,ot,rt)=>ot===rt.findIndex(Mt=>Mt.source===lt.source&&Mt.target===lt.target));it.map(lt=>(lt.transformd=!0,lt.style={labelWordWrap:!0,labelPlacement:lt.depth===0?"center":lt.depth<3?"top-left":"top",haloLineWidth:Math.max(20-lt.depth*6,0),labelMaxWidth:lt.depth===0?300:200,labelFontSize:lt.depth===0?22:it.length>300?12:14,labelLineHeight:100,halo:lt.depth<3},lt)),ge.current=null;let ht=it==null?void 0:it.length;ge.current=new Au.kJ({container:ve.current,autoResize:!0,background:"#010A23",autoFit:{type:it.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:it,edges:et},node:{type:"circle",style:{size:lt=>lt.colorType==1?100:lt.depth<2?50:ht>250?10:20,fill:lt=>lt.newcolor,labelText:lt=>lt.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:lt=>lt.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:it.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:lt=>lt.targetType==="node",getContent:(lt,ot)=>{let rt="";return ot.forEach(Mt=>{rt+=`
${Mt.name||""}
`}),rt}}],behaviors:["drag-canvas",{type:"zoom-canvas"},"drag-element",{type:"collapse-expand",onExpand:(lt,ot)=>{console.log("----",lt,ot)}},{type:"fix-element-size",state:"fix-element-size",enable:!0}],transforms:[{type:"place-radial-labels"}]}),ge.current.render()}})}return IO.createElement("div",{style:{background:"#fff",height:"800rem"}},IO.createElement("div",{style:{width:"100%",height:"800rem"},ref:ve}))};var Gie=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(jie),Ur=Je(59301),Xie=Object.defineProperty,Wie=Object.defineProperties,Qie=Object.getOwnPropertyDescriptors,dT=Object.getOwnPropertySymbols,HO=Object.prototype.hasOwnProperty,UO=Object.prototype.propertyIsEnumerable,VO=(ee,y,E)=>y in ee?Xie(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,WE=(ee,y)=>{for(var E in y||(y={}))HO.call(y,E)&&VO(ee,E,y[E]);if(dT)for(var E of dT(y))UO.call(y,E)&&VO(ee,E,y[E]);return ee},Yie=(ee,y)=>Wie(ee,Qie(y)),Zie=(ee,y)=>{var E={};for(var z in ee)HO.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&dT)for(var z of dT(ee))y.indexOf(z)<0&&UO.call(ee,z)&&(E[z]=ee[z]);return E},e1=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});let HM=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const Kie=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,uuid:le,Tabsdatas:de,initdata:ge,setactivied:ve,tpacti:xe}=y,Se=Zie(y,["pathsDetail","user","globalSetting","loading","dispatch","uuid","Tabsdatas","initdata","setactivied","tpacti"]),Me,De,Oe,Re,Le,Qe,Xe,Ze,it;const et=(0,xt.useParams)(),ht=(0,Fe.useRef)(),lt=(0,Fe.useRef)(),ot=(0,Fe.useRef)(),[rt,Mt]=(0,Fe.useState)([]),[Xt,cn]=(0,Fe.useState)(!0),[Cn,En]=(0,Fe.useState)([]),[Zn,ti]=(0,Fe.useState)(""),[bn,rn]=(0,Fe.useState)(!1),li=(0,Fe.useRef)(null),[Dn,Wn]=(0,Fe.useState)(),[hi,On]=(0,Fe.useState)(!1),[dn,mi]=(0,Fe.useState)([]);let[ui,Mi]=(0,Fe.useState)(!1);const[Qi,rr]=(0,Fe.useState)(!1),[Ir,to]=(0,Fe.useState)(!1),[Jo,Ot]=(0,Fe.useState)(!1),[Pr,sr]=(0,Fe.useState)([]),[Fr,_i]=(0,Fe.useState)(!1),[Io,Rr]=(0,Fe.useState)([]),[po]=(0,xt.useSearchParams)(),[Js,hn]=(0,Fe.useState)(!1),[Rt,yi]=(0,Fe.useState)(0),[$i,ii]=(0,Fe.useState)("\u5168\u90E8");let[Ti,qo]=(0,Fe.useState)({page:1,limit:10});const[ro,us]=(0,Fe.useState)({}),[cs,Or]=(0,Fe.useState)([]),Yo=(0,Fe.useRef)(null),Ls=(0,Fe.useRef)(null),[gs,fr]=(0,Fe.useState)(!1);(0,Fe.useEffect)(()=>(ui=!1,Mi(!1),Vr(2,!0),kt.ZP.config({getContainer:()=>li.current}),()=>{var lr;cn(!1),En([]),On(!1),ti(""),(lr=ot.current)==null||lr.clear()}),[le]),(0,Fe.useEffect)(()=>(document.addEventListener("keydown",sa),document.addEventListener("keyup",_n),()=>{document.removeEventListener("keydown",sa),document.addEventListener("keyup",_n)}),[]);function sa(lr){lr.ctrlKey&&ot.current&&ot.current.setBehaviors(Uo=>[...Uo.filter(aa=>typeof aa=="string"?aa!=="zoom-canvas":aa.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom",enable:!0,preventDefault:!0}])}function _n(lr){ot.current&&ot.current.setBehaviors(Uo=>[...Uo.filter(aa=>typeof aa=="string"?aa!=="zoom-canvas":aa.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom1",enable:!1,preventDefault:!1}])}const Zo={onRemove:()=>{sr([])},beforeUpload:lr=>{if(console.log(lr),(lr==null?void 0:lr.size)>1024*1024*50)return kt.ZP.info("\u6587\u4EF6\u8D85\u8FC750M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"),!1;let Uo=[];return Uo.push(lr),sr([...Uo]),!1},fileList:Pr,accept:".xls,.xlsx"};(0,Fe.useEffect)(()=>{},[ui]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",Wr),()=>{window.removeEventListener("resize",Wr)}),[]);function Wr(){var lr,Uo;(Uo=(lr=ht.current)==null?void 0:lr.update)==null||Uo.call(lr)}const As=(...lr)=>e1(void 0,[...lr],function*(Uo={}){return yield se({type:"pathsDetail/getKnowledgeGraphs",payload:WE({graphable_type:po.get("type")==="classrooms"?"course":"subject",graphable_id:et==null?void 0:et.pathId},Uo)})});function Vr(lr,Uo=!1){return e1(this,null,function*(){var is,aa,Os,Xm,hv,Wm,YE;hn(!0);let i1=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:le,subject_id:et==null?void 0:et.pathId,depth:lr===0?lr:lr||-1,relationshipFilter:"\u5305\u542B>"}});if(hn(!1),(i1==null?void 0:i1.status)===0){if(Uo||As({graphable_id:et==null?void 0:et.pathId}),ui){lt.current.getData();return}cn(!0);let xT=(0,bt.fX)((aa=(is=i1==null?void 0:i1.data)==null?void 0:is.nodes)==null?void 0:aa.map((Vo,up)=>{var Kp,Jp,BP,Jt,vi,Yi,Zi,Ai,no,es,ks,xs,Ya,qa,xa,Il;return Yie(WE(WE({},Vo),Vo==null?void 0:Vo.properties),{rootNodeUuid:(Kp=Vo==null?void 0:Vo.properties)==null?void 0:Kp.rootNodeUuid,id:(Jp=Vo==null?void 0:Vo.properties)==null?void 0:Jp.uuid,name:(BP=Vo==null?void 0:Vo.properties)==null?void 0:BP.name,labelstype:(Jt=Vo==null?void 0:Vo.labels)==null?void 0:Jt[1],description:(vi=Vo==null?void 0:Vo.properties)==null?void 0:vi.description,nodeType:(Yi=Vo==null?void 0:Vo.properties)==null?void 0:Yi.nodeType,colornodeType:parseInt((Zi=Vo==null?void 0:Vo.properties)==null?void 0:Zi.color)===1?"\u6839\u8282\u70B9":((Ai=HM==null?void 0:HM.find(_l=>{var cc;return(_l==null?void 0:_l.name)===((cc=Vo==null?void 0:Vo.properties)==null?void 0:cc.nodeType)}))==null?void 0:Ai.name)||"\u5176\u4ED6",newcolor:parseInt((no=Vo==null?void 0:Vo.properties)==null?void 0:no.color)===1?"#CC7CF5":((es=HM==null?void 0:HM.find(_l=>{var cc;return(_l==null?void 0:_l.name)===((cc=Vo==null?void 0:Vo.properties)==null?void 0:cc.nodeType)}))==null?void 0:es.color)||"#2D947C",tags:((ks=Vo==null?void 0:Vo.properties)==null?void 0:ks.tags)&&((qa=(Ya=(xs=Vo==null?void 0:Vo.properties)==null?void 0:xs.tags)==null?void 0:Ya.split("\uFF0C"))==null?void 0:qa.map(_l=>({name:_l})))||[],colorType:parseInt((xa=Vo==null?void 0:Vo.properties)==null?void 0:xa.color)>3?"3":(Il=Vo==null?void 0:Vo.properties)==null?void 0:Il.color})}),(Xm=(Os=i1==null?void 0:i1.data)==null?void 0:Os.relationships)==null?void 0:Xm.filter(Vo=>Vo.type==="\u5305\u542B")),MP=(0,Au.RN)(xT),dv=(hv=MP.nodes)==null?void 0:hv.filter((Vo,up,Kp)=>up===Kp.findIndex(Jp=>Jp.id===Vo.id));Mt(dv);let wT=(Wm=MP.edges)==null?void 0:Wm.filter((Vo,up,Kp)=>up===Kp.findIndex(Jp=>Jp.source===Vo.source&&Jp.target===Vo.target));dv.map(Vo=>(Vo.transformd=!0,Vo.style={labelWordWrap:!0,labelPlacement:Vo.depth===0?"center":Vo.depth<3?"top-left":"top",haloLineWidth:Math.max(20-Vo.depth*6,0),labelMaxWidth:Vo.depth===0?300:200,labelFontSize:Vo.depth===0?22:dv.length>300?12:14,labelLineHeight:100,halo:Vo.depth<3},Vo)),ot.current=null;let jL=dv==null?void 0:dv.length;ot.current=new Au.kJ({container:Ls.current,autoResize:!0,background:"#010A23",autoFit:{type:dv.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:dv,edges:wT},node:{type:"circle",style:{size:Vo=>Vo.colorType==1?100:Vo.depth<2?50:jL>250?10:20,fill:Vo=>Vo.newcolor,labelText:Vo=>Vo.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:Vo=>Vo.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:dv.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",position:"bottom",enable:Vo=>Vo.targetType==="node",getContent:(Vo,up)=>{let Kp="";return up.forEach(Jp=>{Kp+=`
${Jp.name||""}
`}),Kp}}],behaviors:["drag-canvas",{type:"zoom-canvas",enable:!1,preventDefault:!1,onFinish:()=>{setTimeout(()=>{var Vo;yi((((Vo=ot==null?void 0:ot.current)==null?void 0:Vo.getZoom())*100).toFixed(0))},300)}},"drag-element",{type:"collapse-expand",onExpand:(Vo,up)=>{console.log("----",Vo,up)}},{type:"fix-element-size",state:"fix-element-size",enable:!0},{type:"click-select",state:"selected",onClick:Vo=>{Yo.current?(clearTimeout(Yo.current),Yo.current=null):Yo.current=setTimeout(()=>{let up=dv.filter(Kp=>{var Jp,BP;return(Kp==null?void 0:Kp.id)===((BP=(Jp=Vo.target)==null?void 0:Jp.config)==null?void 0:BP.id)});if((up==null?void 0:up.length)===0){On(!1);return}Wn(up==null?void 0:up[0]),On(!0),Vo.view.setCursor("pointer"),Yo.current=null},300)},multiple:!1},{type:"hover-activate",enable:Vo=>Vo.targetType==="node",degree:1,state:"highlight",direction:"both",inactiveState:"inactive",onHover:Vo=>{Vo.view.setCursor("pointer")},onHoverEnd:Vo=>{Vo.view.setCursor("default")}}],transforms:[{type:"place-radial-labels"}]}),ot.current.render(),Ls.current&&(Ls.current.style.opacity=1),(YE=ot==null?void 0:ot.current)==null||YE.fitView(),setTimeout(()=>{var Vo;yi((((Vo=ot==null?void 0:ot.current)==null?void 0:Vo.getZoom())*100).toFixed(0))},300);var UM=ot.current.getOptions();setTimeout(()=>{UM.animation=!0,ot.current.setOptions(UM)},2500),window.graphsRef=ot.current}let r1=yield(0,gn.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:et==null?void 0:et.pathId}});(r1==null?void 0:r1.status)===0&&Or(r1==null?void 0:r1.data)})}const Br=(lr,Uo)=>{if(ot.current){if(Qi){lr==="Leave"?lt.current.settype(""):lt.current.settype(Uo==null?void 0:Uo.name);return}if(ui){lt.current.onMouse(lr,Uo.name);return}try{const is={},aa={};ot.current.getEdgeData().map(Os=>{is[Os.id]=lr==="Enter"?"inactive":"active"}),ot.current.getNodeData().map(Os=>{lr==="Enter"?aa[Os.id]=Os.colornodeType===Uo.name?"highlight":"inactive":aa[Os.id]="active"}),ot.current.setElementState(is),ot.current.setElementState(aa)}catch(is){}}},bs=(lr,Uo)=>{if(ot.current){if(ui){lt.current.onMouse(lr,Uo.name);return}try{const is={},aa={};ot.current.getEdgeData().map(Os=>{is[Os.id]=lr==="Enter"?"inactive":"active"}),ot.current.getNodeData().map(Os=>{var Xm,hv;lr==="Enter"?aa[Os.id]=(hv=(Xm=Os.tags)==null?void 0:Xm.map(Wm=>Wm==null?void 0:Wm.name))!=null&&hv.includes(Uo.name)?"highlight":"inactive":aa[Os.id]="active"}),ot.current.setElementState(is),ot.current.setElementState(aa)}catch(is){}}};return Ur.createElement(an.Z,{spinning:Js},Ur.createElement("div",{ref:li,className:"h-screen flex flex-col",style:{background:"#010A23",height:"100%"}},Ur.createElement("div",{className:"relative w-full"},Ur.createElement("div",{className:"flex w-full px-40px-rem pt-24px-rem absolute gap-20px-rem",style:{left:0,top:0,justifyContent:"start",zIndex:1}},Ur.createElement("span",{className:pd.tupugx,onClick:()=>{ve()}},Ur.createElement("img",{src:"/images/tpgx.svg",style:{marginRight:"10rem",width:"16rem"}}),"\u56FE\u8C31\u5173\u7CFB"),Ur.createElement("div",{className:pd.autocomp},Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement(as.Z,{className:pd.autocompwidth,options:Cn,popupClassName:pd.autopop,getPopupContainer:()=>li.current,value:Zn,onSelect:(lr,Uo)=>{var is;if(ti(rt.find(aa=>aa.id===lr).name),Wn(rt.find(aa=>aa.id===lr)),On(!0),Qi){lt.current.selectall(lr);return}if(ui)lt.current.selectall(lr);else{let aa=ot.current.getElementDataByState("node","selected");(aa==null?void 0:aa.length)>0&&ot.current.setElementState((is=aa==null?void 0:aa[0])==null?void 0:is.id,[""]),ot.current.setElementState(lr,["selected"])}},onChange:lr=>{ti(lr)},onSearch:lr=>{En(()=>{var Uo,is,aa;return $i==="\u5168\u90E8"?(Uo=rt==null?void 0:rt.filter(Os=>Os.name.includes(lr)))==null?void 0:Uo.map(Os=>({label:Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement("span",{style:{marginRight:"10rem",height:"20rem",lineHeight:"20rem",padding:"0rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Os==null?void 0:Os.nodeType)," ",Ur.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Os==null?void 0:Os.name.replaceAll(lr,`${lr}`)}})),value:Os==null?void 0:Os.id})):(aa=(is=rt==null?void 0:rt.filter(Os=>{var Xm;return(Xm=Os==null?void 0:Os.tags)==null?void 0:Xm.find(hv=>hv.name===$i)}))==null?void 0:is.filter(Os=>Os.name.includes(lr)))==null?void 0:aa.map(Os=>({label:Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement("span",{style:{marginRight:"10rem",height:"20rem",padding:"2rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Os==null?void 0:Os.nodeType)," ",Ur.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Os==null?void 0:Os.name.replaceAll(lr,`${lr}`)}})),value:Os==null?void 0:Os.id}))})}},Ur.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",addonBefore:Ur.createElement(Is.Z,{overlayClassName:pd.dropdownst,menu:{items:[{label:Ur.createElement("div",{onClick:()=>{ii("\u5168\u90E8"),bs("\u5168\u90E8","")}},"\u5168\u90E8"),key:"1"},...cs==null?void 0:cs.map(lr=>({label:Ur.createElement("div",{onClick:()=>{ii(lr.name),bs("Enter",lr)}},lr==null?void 0:lr.name),key:lr.id}))]}},Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement("div",{className:pd.textname,style:{width:"60rem"}},$i),Ur.createElement("div",{style:{height:"22rem",background:"linear-gradient( 180deg, rgba(255,255,255,0) 0%, #AEAEAE 52%, rgba(255,255,255,0) 100%)",width:"1rem"}})))})))),Ur.createElement("div",{className:"flex ml-auto",style:{zIndex:"3"}},((Me=E==null?void 0:E.detail)==null?void 0:Me.can_managed)&&po.get("type")==="classrooms"&&Ur.createElement("div",{className:`current flex item-center c-white ${pd.ChangeBut}`,onClick:()=>{xt.history.push(`/knowledgegraph/${et==null?void 0:et.pathId}/statistics/pathatlas/${le}?type=classrooms&tabs=3`)}},"\u6570\u636E\u7EDF\u8BA1"),((De=E==null?void 0:E.detail)==null?void 0:De.sync_uuid)&&((Oe=E==null?void 0:E.detail)==null?void 0:Oe.sync_uuid)===le&&((Re=E==null?void 0:E.detail)==null?void 0:Re.can_managed)&&Ur.createElement(ft.Z,{title:"\u540C\u6B65"},Ur.createElement("img",{className:"current",onClick:(0,MO.debounce)(()=>{jt.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:()=>li.current,content:"\u8BF7\u786E\u5B9A\u662F\u5426\u5C06\u540C\u6B65\u8BFE\u7A0B\u7AE0\u8282\u5185\u5BB9\uFF0C\u66F4\u65B0\u540E\u539F\u6709\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u5C06\u88AB\u8986\u76D6\uFF0C\u8986\u76D6\u540E\u53EF\u5728\u7248\u672C\u7BA1\u7406\u4E2D\u9009\u62E9\u6062\u590D\u3002",onOk:()=>e1(void 0,null,function*(){var lr;const Uo=(lr=de==null?void 0:de.find(aa=>(aa==null?void 0:aa.uuid)===le))==null?void 0:lr.name;let is=yield(0,gn.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:et==null?void 0:et.pathId,uuid:le,name:Uo}});is.status===0&&kt.ZP.info(is==null?void 0:is.message)})})},500),src:gs===1?"/images/gxxz.png":"/images/gx.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(1)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Le=E==null?void 0:E.detail)==null?void 0:Le.can_managed)&&Ur.createElement("div",{className:pd.hoverone},Ur.createElement("div",{onClick:()=>e1(void 0,null,function*(){let lr=yield(0,gn.ZP)("/api/knowledge/v2/backup.json",{method:"POST",body:{subject_id:et==null?void 0:et.pathId,parentNodeUuid:le}});(lr==null?void 0:lr.status)===0&&kt.ZP.info("\u56FE\u8C31\u4FDD\u5B58\u6210\u529F")})},Ur.createElement("img",{src:gs===2?"/images/bcbbxz.png":"/images/bcbb.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(2)}}),Ur.createElement("div",{className:pd.name},"\u4FDD\u5B58\u7248\u672C")),Ur.createElement("div",{onClick:()=>e1(void 0,null,function*(){Ti.page=1,Ti.limit=10;let lr=yield(0,gn.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:WE({subject_id:et==null?void 0:et.pathId,nodeUuid:le},Ti)});qo(Ti),(lr==null?void 0:lr.status)===0&&(_i(!0),Rr(lr))})},Ur.createElement("img",{src:gs===3?"/images/qhbbxz.png":"/images/qhbb.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(3)},className:pd.img}),Ur.createElement("div",{className:pd.name},"\u5207\u6362\u7248\u672C"))),((Qe=E==null?void 0:E.detail)==null?void 0:Qe.can_managed)&&Ur.createElement(ft.Z,{title:"\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31"},Ur.createElement("div",{className:"current flex item-center justify-center c-white",style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem",borderRadius:"50%",background:"#202F4F"},onClick:()=>{ts.Z.publish("create_a_knowledge_map")}},Ur.createElement("span",{className:"iconfont icon-tianjia4"}))),po.get("type")!=="classrooms"&&!(0,uu.JA)()&&Ur.createElement(ft.Z,{title:"\u53D1\u9001\u81F3\u8BFE\u5802"},Ur.createElement("img",{src:gs===13?"/images/glkt.png":"/images/glktxz.png",className:"current",style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"},onClick:()=>{se({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"knowledge"}}}})},onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(13)}})),Ur.createElement("div",{className:pd.hoverone},Ur.createElement("div",{onClick:()=>{ui=!1,Mi(!1),rr(!1),cn(!0),Vr(2,!0)}},Ur.createElement("img",{src:gs===4?"/images/gxtxz.png":"/images/gxt.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(4)}}),Ur.createElement("div",{className:pd.name},"\u5173\u7CFB\u56FE")),Ur.createElement("div",{onClick:()=>{ui=!0,rr(!1),Mi(!0)}},Ur.createElement("img",{src:gs===5?"/images/zssxz.png":"/images/zss.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(5)},className:pd.img}),Ur.createElement("div",{className:pd.name},"\u77E5\u8BC6\u6811"))),Ur.createElement(ft.Z,{title:"\u5168\u5C4F"},Ur.createElement("img",{className:"current",onClick:()=>{var lr,Uo,is,aa;(0,zL.vp)()?(rn(!1),(0,zL.BU)(),!ui&&Xt?(lr=ot==null?void 0:ot.current)==null||lr.fitCenter():(Uo=lt==null?void 0:lt.current)==null||Uo.fitView()):(rn(!0),(0,zL.Dj)(li.current),!ui&&Xt?(is=ot==null?void 0:ot.current)==null||is.fitCenter():(aa=lt==null?void 0:lt.current)==null||aa.fitView())},src:gs===6?"/images/qpxz.png":"/images/qp.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(6)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Xe=E==null?void 0:E.detail)==null?void 0:Xe.can_managed)&&Ur.createElement("div",{className:pd.hoverone,style:{marginRight:"0rem"}},Ur.createElement("div",{onClick:()=>{to(!0)}},Ur.createElement("img",{src:gs===10?"/images/drxz.png":"/images/dr.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(10)}}),Ur.createElement("div",{className:pd.name},"\u5BFC\u5165")),Ur.createElement("div",{onClick:()=>{(0,bt.FH)("",Bt.Z.API_SERVER+`/api/knowledge/v2/export.json?subject_id=${et==null?void 0:et.pathId}&fileType=xlsx&parentNodeUuid=${le}`)}},Ur.createElement("img",{src:gs===11?"/images/dcxz.png":"/images/dc.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(11)},className:pd.img}),Ur.createElement("div",{className:pd.name},"\u5BFC\u51FA")))))),Xt&&!ui&&!Qi&&Ur.createElement("div",{className:"w-full h-screen",style:{opacity:0},ref:Ls}),Ur.createElement("div",{id:"myDiagramDiv",className:`w-full ${ui?"h-screen":""}`},ui?Ur.createElement(Wd,{ref:lt,setzoomsize:yi,setshowdetail:On,setitems:Wn,nodeUuid:le,subject_id:et==null?void 0:et.pathId}):"",Qi?Ur.createElement(Rie,{ref:lt,setzoomsize:yi,setshowdetail:On,setitems:Wn,nodeUuid:le,subject_id:et==null?void 0:et.pathId}):""),Ur.createElement("div",{className:"flex item-center sticky c-white px-10px-rem",style:{bottom:"30px",zIndex:101}},(rt==null?void 0:rt.length)>0&&Ur.createElement("div",{className:" flex item-center gap-12px-rem"},(Ze=HM.filter(lr=>{var Uo;return(Uo=rt==null?void 0:rt.map(is=>is==null?void 0:is.colornodeType))==null?void 0:Uo.includes(lr==null?void 0:lr.name)}))==null?void 0:Ze.map(lr=>Ur.createElement("div",{onMouseLeave:()=>Br("Leave",lr),onMouseEnter:()=>Br("Enter",lr),className:"flex item-center current gap-6px-rem"},Ur.createElement("div",{className:"rounded-full",style:{width:"20rem",height:"20rem",background:lr.color}}),Ur.createElement("span",null,lr==null?void 0:lr.name)))),Ur.createElement("div",{className:"flex item-center ml-auto"},!ui&&!Qi&&Ur.createElement(Is.Z,{overlayClassName:pd.dropdownst,getPopupContainer:()=>li.current,menu:{items:[{label:Ur.createElement("div",{onClick:()=>{Vr()}},"\u5C55\u5F00\u5168\u90E8"),key:"1"},{label:Ur.createElement("div",{onClick:()=>{Vr(3)}},"\u5C55\u5F003\u5C42"),key:"2"},{label:Ur.createElement("div",{onClick:()=>{Vr(2)}},"\u5C55\u5F002\u5C42"),key:"3"},{label:Ur.createElement("div",{onClick:()=>{Vr(1)}},"\u5C55\u5F001\u5C42"),key:"4"},{label:Ur.createElement("div",{onClick:()=>{Vr(0)}},"\u6536\u8D77\u5168\u90E8"),key:"5"}]}},Ur.createElement("img",{style:{cursor:"pointer"},onClick:()=>{},src:gs===7?"/images/xscjxz.png":"/images/xscj.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(7)}})),!Qi&&Ur.createElement(ft.Z,{title:"\u5C45\u4E2D\u663E\u793A"},Ur.createElement("img",{onClick:()=>{cn(!1),Vr()},style:{marginLeft:"10rem",cursor:"pointer"},src:gs===8?"/images/jzxsxz.png":"/images/jzxs.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(8)},className:pd.img})),Ur.createElement("div",{style:{marginLeft:"10rem",background:"#202F4F",borderRadius:"4px",alignItems:"center"}},Ur.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(Qi){lt.current.handleZoom("out");return}ui?(lt.current.zoomBy(.9),lt.current.getZooms()):(ot.current.zoomBy(.9),setTimeout(()=>{var lr;yi((((lr=ot==null?void 0:ot.current)==null?void 0:lr.getZoom())*100).toFixed(0))},300))},src:gs===9?"/images/newsxxz.png":"/images/newsx.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(9)}}),!Qi&&Ur.createElement("span",{style:{display:"inline-flex",width:"46px",justifyContent:"center"},onClick:()=>{}}," ",Rt+"%"),Ur.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(Qi){lt.current.handleZoom("in");return}ui?(lt.current.zoomBy(1.1),lt.current.getZooms()):(ot.current.zoomBy(1.1),setTimeout(()=>{var lr;yi((((lr=ot==null?void 0:ot.current)==null?void 0:lr.getZoom())*100).toFixed(0))},300))},src:gs===12?"/images/newfdxz.png":"/images/newfd.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(12)}})))),Ur.createElement(tr.Z,{tpacti:xe,initdata:ge,uuid:le,Tabsdatas:de,setshow:cn,getData:Vr,containerRef:li,showdetail:hi,setshowdetail:On,items:Dn}),Ur.createElement(jt.default,{title:"\u6587\u4EF6\u5BFC\u5165",open:Ir,centered:!0,getContainer:()=>li.current,okButtonProps:{loading:Jo},onCancel:()=>{to(!1),sr([])},onOk:()=>e1(void 0,null,function*(){var lr,Uo,is;const aa=new FormData;if(Pr.length>0)aa.append("file",Pr[0]);else{kt.ZP.warning("\u8BF7\u9009\u62E9\u6587\u4EF6");return}Ot(!0),aa.append("subject_id",(et==null?void 0:et.pathId)+""),aa.append("parentNodeUuid",le);let Os=yield(0,gn.ZP)("/api/knowledge/v2/import.json",{method:"post",body:aa},!0);Ot(!1),(Os==null?void 0:Os.status)===0&&((lr=Os==null?void 0:Os.data)!=null&&lr.importErrorFilePath?jt.default.confirm({icon:null,title:"\u5BFC\u5165\u5931\u8D25",centered:!0,content:Ur.createElement("span",null,"\u68C0\u6D4B\u5230\u672C\u6B21\u5BFC\u5165\u5B58\u5728\u4E0D\u7B26\u5408\u8981\u6C42\u7684\u6570\u636E\uFF0C\u70B9\u51FB\u4E0B\u8F7D",Ur.createElement("a",{href:`${Bt.Z.API_SERVER}${(Uo=Os==null?void 0:Os.data)==null?void 0:Uo.importErrorFilePath}`,download:"\u5931\u8D25\u6570\u636E.xlsx"},"\u5BFC\u5165\u5931\u8D25\u7684\u6570\u636E"),"\u67E5\u770B")}):(Vr(),cn(!1),(is=Os==null?void 0:Os.data)!=null&&is.has_route?kt.ZP.info("\u77E5\u8BC6\u56FE\u8C31\u6570\u636E\u5BFC\u5165\u6210\u529F\uFF0C\u4E3A\u4FDD\u8BC1\u5B66\u4E60\u8DEF\u5F84\u7684\u8282\u70B9\u4E0E\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7ED1\u5B9A\uFF0C\u8BF7\u66F4\u65B0\u5B66\u4E60\u8DEF\u5F84"):kt.ZP.info("\u5BFC\u5165\u6210\u529F"),sr([]),Wn({}),to(!1)))})},(rt==null?void 0:rt.length)>0&&Ur.createElement("div",{style:{marginBottom:30,color:"#333333"}},"\u68C0\u6D4B\u5F53\u524D\u5DF2\u5B58\u5728\u6570\u636E\uFF0C\u5BFC\u5165\u540E\u539F\u6570\u636E\u5C06\u4F1A\u88AB\u8986\u76D6\uFF0C\u6309\u7167\u6700\u65B0\u5BFC\u5165\u7684\u4E3A\u4E3B\uFF0C\u5982\u9700\u7EE7\u7EED\u5BFC\u5165\uFF0C\u8BF7\u6309\u7167\u4E0B\u65B9\u6B65\u9AA4\u8FDB\u884C"),Ur.createElement("p",{style:{color:"#5F6368"}},"\u6B65\u9AA41\uFF1A",Ur.createElement("span",{style:{color:"#000000"}},"\u4E0B\u8F7D"),Ur.createElement("a",{href:`${Bt.Z.API_SERVER}/api/knowledge/v2/down_template.json`,download:"\u6A21\u7248.xlsx"},"\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248")),Ur.createElement(Tr.Z,null,Ur.createElement(vs.Z,{style:{color:"#5F6368"}},"\u6B65\u9AA42\uFF1A",Ur.createElement("span",{style:{color:"#000000"}},"\u4E0A\u4F20\u586B\u5199\u597D\u7684\u300A\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248\u300B"))),Ur.createElement(Tr.Z,{style:{marginTop:10,marginLeft:50}},Ur.createElement(Ka.default,WE({},Zo),Ur.createElement("span",{style:{padding:"0px 16px",color:"#1b8565",cursor:"pointer",height:32,alignItems:"center",display:"inline-flex",borderRadius:2,border:"1px solid #1b8565",background:"#1b8565 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)"}},Ur.createElement("i",{style:{fontSize:12,marginRight:6},className:"iconfont icon-tianjiashitixiaojiahao"})," \u9009\u62E9\u6587\u4EF6")))),Ur.createElement(Xs.Z,null,Ur.createElement(Ur.Fragment,null,Ur.createElement(jt.default,{title:"\u7248\u672C\u8BB0\u5F55",centered:!0,width:1200,open:Fr,footer:!1,getContainer:()=>li.current,onCancel:()=>{_i(!1)}},Ur.createElement($u.default,{dataSource:Io==null?void 0:Io.data,pagination:!1,columns:[{title:"\u7248\u672C\u4FDD\u5B58\u65F6\u95F4",dataIndex:"created_at",ellipsis:!0,key:"created_at",render:(lr,Uo)=>Ur.createElement("div",null,Ur.createElement("span",null,lr),(Uo==null?void 0:Uo.is_now_version)&&Ur.createElement("span",{style:{background:"#2BAC8E",padding:"4rem",fontSize:"12rem",marginLeft:"5rem",color:"#fff"}},"\u5F53\u524D\u4F7F\u7528\u7248\u672C"))},{title:"\u4FDD\u5B58\u4EBA",dataIndex:"username",ellipsis:!0,key:"username"},{title:"\u64CD\u4F5C",dataIndex:"name",ellipsis:!0,key:"name",render:(lr,Uo)=>Ur.createElement("div",null,Ur.createElement("span",{style:{color:"#1B8565",marginRight:"30rem",cursor:"pointer"},onClick:()=>e1(void 0,null,function*(){var is,aa;let Os=yield(0,gn.ZP)(`${Uo==null?void 0:Uo.url}`,{method:"get"});(Os==null?void 0:Os.status)===0&&((aa=(is=Os==null?void 0:Os.data)==null?void 0:is.nodes)==null?void 0:aa.length)>0&&mi(Os==null?void 0:Os.data)})},"\u67E5\u770B"),Ur.createElement("span",{onClick:()=>e1(void 0,null,function*(){if(Uo!=null&&Uo.is_now_version)return;let is=yield(0,gn.ZP)("/api/knowledge/v2/restore.json",{method:"post",body:{subject_id:et==null?void 0:et.pathId,backupFilePath:Uo==null?void 0:Uo.backupFilePath}});(is==null?void 0:is.status)===0&&(Vr(),_i(!1),cn(!1),kt.ZP.info("\u5207\u6362\u6210\u529F"))}),style:{color:Uo!=null&&Uo.is_now_version?"#999999":"#1B8565",cursor:"pointer"}},"\u5207\u6362\u81F3\u5F53\u524D\u7248\u672C"))}]}),Ur.createElement(Ws.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},pageSize:Ti.limit,total:Io==null?void 0:Io.total_count,current:Ti.page,onChange:(lr,Uo)=>e1(void 0,null,function*(){Ti.page=lr,Ti.limit=Uo,qo(Ti);let is=yield(0,gn.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:WE({subject_id:et==null?void 0:et.pathId,nodeUuid:le},Ti)});(is==null?void 0:is.status)===0&&(_i(!0),Rr(is))})})),Ur.createElement(jt.default,{open:((it=dn==null?void 0:dn.nodes)==null?void 0:it.length)>0,title:"\u5386\u53F2\u56FE\u8C31",width:"1200rem",footer:null,getContainer:()=>li.current,destroyOnClose:!0,onCancel:()=>{mi({})}},Ur.createElement(Gie,{datas:dn}))))))};var Jie=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(Kie),t1={wrap:"wrap___HuFFi",add:"add___GrP2R",dimensionalBall:"dimensionalBall___flm6B",archer:"archer___biVqC",svg:"svg___hXxGw",modal:"modal___DR9M_",mHead:"mHead___I923K",form:"form___W2fTe",mType:"mType___hoISa",listItem:"listItem___JCZwd"},cv={flex_box_center:"flex_box_center___aEG4A",flex_space_between:"flex_space_between___O70yE",flex_box_vertical_center:"flex_box_vertical_center___rEvY1",flex_box_center_end:"flex_box_center_end___Xp3ui",flex_box_column:"flex_box_column___McZmY",largeBall:"largeBall___SbxSR",middleBall:"middleBall___eKLzh",smallBall:"smallBall___r7xv5",largeBallDish:"largeBallDish___EeTGm",middleBallDish:"middleBallDish___hca4h",smallBallDish:"smallBallDish___rrHxf",smallBallGather:"smallBallGather___hHHqa",box:"box___yWjPn",spectrum:"spectrum___r9a7p",pedestal:"pedestal___Grjvz",spectrumHover:"spectrumHover___OibBM",pedestalHover:"pedestalHover___EcKUJ"};const qie="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjkxcHgiIGhlaWdodD0iMTk0cHgiIHZpZXdCb3g9IjAgMCAyOTEgMTk0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuWfuuW6pzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNzgwNjE3JSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyNy43NzI4NjQzJSIgeTE9IjQzLjE1NTA2NzMlIiB4Mj0iOTcuMjIyMjIyMiUiIHkyPSI1MCUiIGlkPSJsaW5lYXJHcmFkaWVudC00Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzMxN0NEMyIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjcyQTk1IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMCUiIHkxPSI1MCUiIHgyPSI1MCUiIHkyPSI2NC4yMTc0OTQ1JSIgaWQ9ImxpbmVhckdyYWRpZW50LTUiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1QjVGRkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNiIgcG9pbnRzPSIxNDQuNzQ1OSAxNi40Njc5NzAxIDI2MC4xMzI5MzUgNzIuOTI3OTU1NiAxNDYuMTg4MjM4IDEzOC43NTc4OTYgMzAuODAxMjAzMyA3Mi4yMDcxODk5Ij48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS41JSIgeT0iLTIuOSUiIHdpZHRoPSIxMDMuMSUiIGhlaWdodD0iMTA1LjclIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNyI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSI1IiBpbj0ic2hhZG93Qmx1cklubmVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRJbm5lcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0SW5uZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIgcmVzdWx0PSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuNzk2ODM2ODkgICAwIDAgMCAwIDAuOTc0NjYwMTA4ICAgMCAwIDAgMCAxICAwIDAgMCAwLjUgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IjA4MjAtM0Tlm77osLEt5YiH5Zu+VjQuMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ0OS4wMDAwMDAsIC0xMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5Z+65bqnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDkuMDAwMDAwLCAxMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ0LjU4NDkwNiAzOC45MDI0MTk0IDI5MSAxMTAuNDY0MzA1IDE0Ni40MTUwOTQgMTkzLjkwMjQxOSAwIDEwOS41NTA3NDkiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMikiIHBvaW50cz0iLTcuNTMxNzUzZS0xMyA3MC43NTEyNzkgMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDE0Ni4wNzY5OTQgMTc3Ljc5MzA4NSAtNy41MzE3NTNlLTEzIDkzLjMxODQ5NzMiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMykiIHBvaW50cz0iMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDI5MC45MzQxMzggNzEuNjY2MTY2MiAyOTAuOTM0MTM4IDk0LjIzMzM4NDUgMTQ2LjA3Njk5NCAxNzcuNzkzMDg1Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTQpIiBwb2ludHM9IjE0NC41NTIxODIgLTUuODk5OTA5NzdlLTEzIDI5MC45MzQxMzggNzEuNjY2MTY2MiAxNDYuMzgxOTU2IDE1NS4yMjU4NjYgLTUuNjg0MzQxODllLTEzIDcwLjc1MTI3OSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTUpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTYiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci03KSIgeGxpbms6aHJlZj0iI3BhdGgtNiI+PC91c2U+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",_ie="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjk1cHgiIGhlaWdodD0iMTk3cHgiIHZpZXdCb3g9IjAgMCAyOTUgMTk3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuW6leW6p+mAieS4rTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNTUwNjczJSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI2LjA2MjU2MyUiIHgyPSI1MCUiIHkyPSI2NC40MjMxOTgxJSIgaWQ9ImxpbmVhckdyYWRpZW50LTQiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyREUxRkQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNSIgcG9pbnRzPSIxNDYuMzI3NiAxNi42NDc5MjI2IDI2Mi45NzU1MTcgNzMuNzI0ODcwMiAxNDcuNzg1Njk5IDE0MC4yNzQxNjIgMzEuMTM3NzgxMSA3Mi45OTYyMjgzIj48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS4xJSIgeT0iLTIuMCUiIHdpZHRoPSIxMDIuMiUiIGhlaWdodD0iMTA0LjAlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjAuNSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd0JsdXJJbm5lcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjQiIGluPSJzaGFkb3dCbHVySW5uZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldElubmVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMC43OTY4MzY4OSAgIDAgMCAwIDAgMC45NzQ2NjAxMDggICAwIDAgMCAwIDEgIDAgMCAwIDAuNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMDgyMC0zROWbvuiwsS3liIflm75WNC4wIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQ3MS4wMDAwMDAsIC0xMzU0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5bqV5bqn6YCJ5LitIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNDcxLjAwMDAwMCwgMTM1NC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMyI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ2LjEzMTc2NSAzOS40MTkzNDQyIDI5NC4xMTMyOTggMTExLjg2ODYzNyAxNDcuOTgxNTM0IDE5Ni4zNDE0MjkgLTEuNDIxMDg1NDdlLTEzIDExMC45NDM3NTIiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTIpIiBwb2ludHM9IjEuMTM2ODY4MzhlLTEzIDcxLjUyNDQwOCAxNDcuNjczMjM5IDE1Ni45MjIwODUgMTQ3LjY3MzIzOSAxNzkuNzM1OTA1IDEuMTM2ODY4MzhlLTEzIDk0LjMzODIyNzgiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTMpIiBwb2ludHM9IjE0Ny42NzMyMzkgMTU2LjkyMjA4NSAyOTQuMTEzMjk4IDcyLjQ0OTI5MjYgMjk0LjExMzI5OCA5NS4yNjMxMTI0IDE0Ny42NzMyMzkgMTc5LjczNTkwNSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHBvaW50cz0iMTQ2LjEzMTc2NSAtNC43OTMzNDg4M2UtMTMgMjk0LjExMzI5OCA3Mi40NDkyOTI2IDE0Ny45ODE1MzQgMTU2LjkyMjA4NSAtMS40MjEwODU0N2UtMTMgNzEuNTI0NDA4Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC00KSIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",$ie="data:image/png;base64,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",ere="data:image/png;base64,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";var tre=Object.defineProperty,nre=Object.defineProperties,ire=Object.getOwnPropertyDescriptors,jO=Object.getOwnPropertySymbols,rre=Object.prototype.hasOwnProperty,ore=Object.prototype.propertyIsEnumerable,GO=(ee,y,E)=>y in ee?tre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,fT=(ee,y)=>{for(var E in y||(y={}))rre.call(y,E)&&GO(ee,E,y[E]);if(jO)for(var E of jO(y))ore.call(y,E)&&GO(ee,E,y[E]);return ee},gT=(ee,y)=>nre(ee,ire(y)),sre=({className:ee,style:y={},title:E="",childNode:z=[],knowledgeNode:ne=[]})=>{const ie="rem",se=[{position:"absolute",zIndex:2,bottom:112,left:44},{position:"absolute",zIndex:3,bottom:94,left:74},{position:"absolute",zIndex:4,bottom:78,left:104},{position:"absolute",zIndex:5,bottom:66,left:136},{position:"absolute",zIndex:6,bottom:82,left:168},{position:"absolute",zIndex:7,bottom:104,left:202},{position:"absolute",zIndex:8,bottom:122,left:166}],le=[{position:"absolute",zIndex:10,bottom:166,left:66},{position:"absolute",zIndex:11,bottom:148,left:120},{position:"absolute",zIndex:12,bottom:150,left:180},{position:"absolute",zIndex:13,bottom:188,left:164},{position:"absolute",zIndex:14,bottom:192,left:114}],de=(Se="")=>{if(!Se)return"-";let Me=3;return/[\u4e00-\u9fff]/.test(Se)||(Me=7),(Se==null?void 0:Se.length)>=Me?(Se==null?void 0:Se.slice(0,Me-1))+"...":Se},ge=()=>(Array.isArray(ne)?ne.slice(0,7):Array(7).fill("\u77E5\u8BC6\u70B9")).map((De,Oe)=>{const Re=se[Oe],Le=gT(fT({},Re),{bottom:`${Re.bottom}${ie}`,left:`${Re.left}${ie}`});return Fe.createElement("div",{key:Oe,style:Le,className:cv.smallBallGather},Fe.createElement("div",{className:cv.smallBall},Fe.createElement("b",null,de(De))),Fe.createElement("div",{className:cv.smallBallDish}))}),ve=()=>(Array.isArray(z)?z.slice(0,5):Array(5).fill("\u5B50\u8282\u70B9")).map((De,Oe)=>{const Re=le[Oe],Le=gT(fT({},Re),{bottom:`${Re.bottom}${ie}`,left:`${Re.left}${ie}`});return Fe.createElement("div",{key:Oe,style:Le,className:cv.middleBall},Fe.createElement("div",null,Fe.createElement("b",null,de(De))))}),xe={position:"absolute",zIndex:1,bottom:0,width:"100%"};return Fe.createElement("div",{className:hr()(cv.box,ee),style:y},Fe.createElement("img",{className:cv.pedestal,style:xe,src:qie}),Fe.createElement("img",{className:cv.pedestalHover,style:xe,src:_ie}),ge(),Fe.createElement("div",{style:{position:"absolute",zIndex:9,bottom:138+ie,left:"50%",transform:"translateX(-50%)"},className:cv.middleBallDish}),ve(),Fe.createElement("div",{style:{position:"absolute",zIndex:15,bottom:214+ie,left:"50%",transform:"translateX(-50%)"},className:cv.largeBallDish}),Fe.createElement("div",{style:{position:"absolute",zIndex:16,bottom:234+ie,left:120+ie},className:cv.largeBall},Fe.createElement("b",null,de(E))),Fe.createElement("img",{style:gT(fT({},xe),{zIndex:17}),className:cv.spectrum,src:$ie}),Fe.createElement("img",{style:gT(fT({},xe),{zIndex:17}),className:cv.spectrumHover,src:ere}),Fe.createElement("div",{title:E,style:{position:"absolute",zIndex:18,bottom:304+ie,left:0,fontSize:24+ie,width:"100%",textAlign:"center"},className:"c-white blod"},(0,bt.Pq)(E,9)))},are=Object.defineProperty,lre=Object.defineProperties,ure=Object.getOwnPropertyDescriptors,XO=Object.getOwnPropertySymbols,cre=Object.prototype.hasOwnProperty,hre=Object.prototype.propertyIsEnumerable,WO=(ee,y,E)=>y in ee?are(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,QO=(ee,y)=>{for(var E in y||(y={}))cre.call(y,E)&&WO(ee,E,y[E]);if(XO)for(var E of XO(y))hre.call(y,E)&&WO(ee,E,y[E]);return ee},YO=(ee,y)=>lre(ee,ure(y));function dre(ee){const y=new Map,E=[];return ee.nodes.forEach(z=>{const ne=YO(QO({},z.properties),{children:[]});y.set(ne.uuid,ne)}),ee.relationships.forEach(z=>{const ne=y.get(z.startNodeUuid),ie=y.get(z.endNodeUuid);ne&&ie&&ne.children.push(ie)}),ee.nodes.forEach(z=>{const ne=z.properties;if(!ee.relationships.some(le=>le.startNodeUuid===ne.uuid||le.endNodeUuid===ne.uuid))return;ee.relationships.some(le=>le.endNodeUuid===ne.uuid)||E.push(y.get(ne.uuid))}),E.length===1?E[0]:E}function ZO(ee,y){const E=new Set,z=[];return ee.forEach(ne=>{const ie=ne[y[0]],se=ne[y[1]];if(!ie||!se)return;const le=`${ie}-${se}`,de=`${se}-${ie}`;ie!==se&&!E.has(le)&&!E.has(de)&&(z.push(ne),E.add(le),E.add(de))}),z}const fre=(ee,y)=>{const E=ee==null?void 0:ee.map(ne=>{const ie=se=>{let le=[se.uuid];return se.children.forEach(de=>{le=le.concat(ie(de))}),le};return ie(ne)});return y.map(ne=>{let ie,se;return E.forEach(le=>{le.includes(ne.startNodeUuid)&&(ie=le[0]),le.includes(ne.endNodeUuid)&&(se=le[0])}),YO(QO({},ne),{firstStartNodeUuid:ie,firstEndNodeUuid:se})})};var yf=Je(59301),gre=({data:ee})=>{const y=(0,Fe.useRef)(),E=(0,Fe.useRef)();function z(se,le,de){let ge,ve;switch(le){case"top":ge=Math.ceil(se.left+se.width/2-de.left),ve=Math.ceil(se.top-de.top);break;case"bottom":ge=Math.ceil(se.left+se.width/2-de.left),ve=Math.ceil(se.bottom-de.top+15);break;case"left":ge=Math.ceil(se.left-de.left-10),ve=Math.ceil(se.top+se.height/2-de.top+80);break;case"right":ge=Math.ceil(se.right-de.left+10),ve=Math.ceil(se.top+se.height/2-de.top+50);break}return{x:ge,y:ve}}function ne(se,le){const de={x:parseInt(se.left+se.width/2),y:parseInt(se.top+se.height/2)},ge={x:parseInt(le.left+le.width/2),y:parseInt(le.top+le.height/2)},ve=ge.x-de.x,xe=ge.y-de.y;let Se,Me;return Math.abs(ve)>Math.abs(xe)?(Se=ve>0?"right":"left",Me=ve>0?"left":"right"):(Se=xe>0?"bottom":"top",Me=xe>0?"top":"bottom"),{startEdge:Se,endEdge:Me}}function ie(){let se=ee;if(!(se!=null&&se.length))return;const le=document.getElementById("lineContainer"),de=document.getElementById("parentContainer").getBoundingClientRect();le.querySelectorAll("line").forEach(ge=>ge.remove()),se.forEach(ge=>{const ve=document.getElementById(ge.from),xe=document.getElementById(ge.to),Se=ve.getBoundingClientRect(),Me=xe.getBoundingClientRect();let{startEdge:De,endEdge:Oe}=ge;if(!De||!Oe){const Xe=ne(Se,Me);De=De||Xe.startEdge,Oe=Oe||Xe.endEdge}const Re=z(Se,De,de),Le=z(Me,Oe,de),Qe=document.createElementNS("http://www.w3.org/2000/svg","line");if(Qe.setAttribute("x1",Re.x+ge.offsetStart.x),Qe.setAttribute("y1",Re.y+ge.offsetStart.y),Qe.setAttribute("x2",Re.x+ge.offsetStart.x+.01),Qe.setAttribute("y2",Re.y+ge.offsetStart.y),Qe.setAttribute("stroke",`url(#${ge.gradient})`),Qe.setAttribute("stroke-width","2"),ge.dashed&&Qe.setAttribute("stroke-dasharray","5, 5"),ge.arrow==="start"?Qe.setAttribute("marker-start",ge!=null&&ge.animated?"url(#triangle-start-h)":"url(#triangle-start)"):ge.arrow==="end"?Qe.setAttribute("marker-end",ge!=null&&ge.animated?"url(#triangle-end-h)":"url(#triangle-end)"):ge.arrow==="both"&&(Qe.setAttribute("marker-start",ge!=null&&ge.animated?"url(#triangle-start-h)":"url(#triangle-start)"),Qe.setAttribute("marker-end",ge!=null&&ge.animated?"url(#triangle-end-h)":"url(#triangle-end)")),ge.animated){Qe.classList.add("dashed-line");const Xe=document.createElementNS("http://www.w3.org/2000/svg","animate");Xe.setAttribute("attributeName","x2"),Xe.setAttribute("from",Re.x+ge.offsetStart.x),Xe.setAttribute("to",Le.x+ge.offsetEnd.x+.01),Xe.setAttribute("dur","1s"),Xe.setAttribute("fill","freeze"),Qe.appendChild(Xe);const Ze=document.createElementNS("http://www.w3.org/2000/svg","animate");Ze.setAttribute("attributeName","y2"),Ze.setAttribute("from",Re.y+ge.offsetStart.y),Ze.setAttribute("to",Le.y+ge.offsetEnd.y),Ze.setAttribute("dur","1s"),Ze.setAttribute("fill","freeze"),Qe.appendChild(Ze)}else Qe.setAttribute("x2",Le.x+ge.offsetEnd.x+.01),Qe.setAttribute("y2",Le.y+ge.offsetEnd.y);le.appendChild(Qe)})}return(0,Fe.useEffect)(()=>{ee!=null&&ee.length&&ie()},[ee]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",()=>ie),window.addEventListener("scroll",()=>ie),()=>{window.removeEventListener("resize",ie),window.removeEventListener("scroll",ie)}),[]),yf.createElement(yf.Fragment,null,yf.createElement("svg",{id:"lineContainer",style:{width:"100%",height:"100%",position:"absolute",top:0,left:0}}),yf.createElement("svg",null,yf.createElement("defs",null,yf.createElement("linearGradient",{id:"gradient1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},yf.createElement("stop",{"stop-color":"#42BECD",offset:"0%"}),yf.createElement("stop",{"stop-color":"#3C30C6",offset:"100%"})),yf.createElement("linearGradient",{id:"gradient2",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},yf.createElement("stop",{"stop-color":"#2DE1FD",offset:"0%"}),yf.createElement("stop",{"stop-color":"#C7FFB0",offset:"100%"})),yf.createElement("marker",{id:"triangle-start",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient1)"})),yf.createElement("marker",{id:"triangle-end",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient1)"})),yf.createElement("marker",{id:"triangle-start-h",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient2)"})),yf.createElement("marker",{id:"triangle-end-h",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient2)"})))))},pre=Object.defineProperty,mre=Object.defineProperties,vre=Object.getOwnPropertyDescriptors,KO=Object.getOwnPropertySymbols,yre=Object.prototype.hasOwnProperty,Are=Object.prototype.propertyIsEnumerable,JO=(ee,y,E)=>y in ee?pre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,qO=(ee,y)=>{for(var E in y||(y={}))yre.call(y,E)&&JO(ee,E,y[E]);if(KO)for(var E of KO(y))Are.call(y,E)&&JO(ee,E,y[E]);return ee},xre=(ee,y)=>mre(ee,vre(y)),_O=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),wre=({subjectId:ee,setActivated:y,onAddSuccess:E,settpacti:z})=>{const ne=(0,xt.useSelector)(rn=>rn),{pathsDetail:{detail:ie={}}}=ne,[se]=en.default.useForm(),[le,de]=(0,Fe.useState)(""),[ge,ve]=(0,Fe.useState)(!1),[xe,Se]=(0,Fe.useState)(!0),[Me,De]=(0,Fe.useState)(!1),[Oe,Re]=(0,Fe.useState)([]),[Le,Qe]=(0,Fe.useState)([]),[Xe,Ze]=(0,Fe.useState)(null),[it,et]=(0,Fe.useState)(),ht=(0,Fe.useRef)(),lt=(0,Fe.useRef)();let ot=(0,Fe.useRef)().current,rt=(0,Fe.useRef)().current,Mt=(0,Fe.useRef)(!1).current;const Xt=ie==null?void 0:ie.can_managed;(0,Fe.useEffect)(()=>{ee&&cn()},[ee]);const cn=()=>_O(void 0,null,function*(){var rn,li,Dn,Wn,hi;Se(!0);const On=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:-1,subject_id:ee}});if(On.status===0){de((Wn=(Dn=(li=(rn=On==null?void 0:On.data)==null?void 0:rn.nodes)==null?void 0:li[0])==null?void 0:Dn.properties)==null?void 0:Wn.uuid);const dn=((hi=On==null?void 0:On.data)==null?void 0:hi.relationships)||[];let mi=[],ui=[];dn==null||dn.forEach(Ir=>{["\u5173\u8054"].includes(Ir.type)?mi.push(Ir):["\u5305\u542B"].includes(Ir.type)&&ui.push(Ir)}),mi=ZO(mi,["startNodeUuid","endNodeUuid"]);const Mi=xre(qO({},On==null?void 0:On.data),{relationships:ui}),Qi=dre(Mi);let rr=fre((Qi==null?void 0:Qi.children)||[],mi);console.log(rr,3),rr=ZO(rr,["firstStartNodeUuid","firstEndNodeUuid"]),Re((Qi==null?void 0:Qi.children)||[]),Qe(rr),console.log(rr,Qi==null?void 0:Qi.children,222)}Se(!1)});(0,Fe.useEffect)(()=>{Le!=null&&Le.length&&et(Le.map(rn=>({from:rn.firstStartNodeUuid,to:rn.firstEndNodeUuid,animated:!1,dashed:!0,arrow:"both",offsetStart:{x:0,y:0},offsetEnd:{x:0,y:1},gradient:"gradient1"})))},[Le]),(0,Fe.useEffect)(()=>{var rn;it!=null&&it.length&&((rn=it==null?void 0:it.map)==null||rn.call(it,li=>{li.animated=li.from===Xe||li.to===Xe,li.gradient=li.from===Xe||li.to===Xe?"gradient2":"gradient1"}),et([...it]))},[Xe]);function Cn(rn){var li,Dn;if(!Mt)return;const Wn=rn.pageY-ot;(Dn=(li=ht.current)==null?void 0:li.scrollTo)==null||Dn.call(li,0,rt-Wn)}function En(rn){var li;Mt=!0,ot=rn.pageY,rt=((li=ht.current)==null?void 0:li.scrollTop)||0}function Zn(rn){Mt=!1}(0,Fe.useEffect)(()=>(document.addEventListener("mousedown",En),document.addEventListener("mousemove",Cn),document.addEventListener("mouseup",Zn),()=>{document.removeEventListener("mouseup",Zn),document.removeEventListener("mousemove",Cn),document.removeEventListener("mousedown",En)}),[]);const ti=rn=>_O(void 0,null,function*(){const{nodeType:li,description:Dn,name:Wn,tags:hi}=rn;De(!0);const On=yield(0,gn.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:ee,properties:{description:Dn,rootNodeUuid:le,name:Wn,nodeType:li[0],tags:(hi==null?void 0:hi.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:le,type:"\u5305\u542B"}]}});(On==null?void 0:On.status)===0&&(ve(!1),cn(),E()),De(!1)}),bn=()=>{const rn=[],li=Oe==null?void 0:Oe.map((Wn,hi)=>{var On;let dn;const mi=hi+1,ui=rn.length-3,Mi=rn[ui];mi%3===1&&(dn={top:Mi!==void 0?`${parseFloat(Mi==null?void 0:Mi.top)+600}rem`:"100rem",left:"50%",marginLeft:"-146rem"}),mi%3===2&&(dn={top:Mi!==void 0?`${parseFloat(Mi==null?void 0:Mi.top)+600}rem`:"380rem",left:0}),mi%3===0&&(dn={top:Mi!==void 0?`${parseFloat(Mi==null?void 0:Mi.top)+600}rem`:"380rem",right:0}),rn.push(dn);let Qi=[],rr=(On=Wn==null?void 0:Wn.children)==null?void 0:On.map(Ir=>{var to;return Ir!=null&&Ir.children&&((to=Ir==null?void 0:Ir.children)==null||to.forEach(Jo=>{Qi.push(Jo.name)})),Ir.name});return rr.length>5&&(rr[0]="..."),Qi.length>7&&(Qi[0]="..."),Fe.createElement("div",{className:t1.listItem,key:hi,onMouseEnter:()=>Ze(Wn==null?void 0:Wn.uuid),onMouseLeave:()=>Ze(null),id:Wn==null?void 0:Wn.uuid,onClick:()=>{y(Wn==null?void 0:Wn.uuid),z(Wn==null?void 0:Wn.uuid)},style:qO({position:"absolute",zIndex:10},dn)},Fe.createElement(sre,{childNode:rr,knowledgeNode:Qi,title:Wn==null?void 0:Wn.name}))}),Dn=parseFloat(rn[rn.length-1].top)+352+80+"rem";return Fe.createElement("div",{ref:lt,style:{height:Dn}},li)};return Fe.createElement(Xs.Z,null,Fe.createElement("div",{className:t1.wrap},xe&&Fe.createElement(an.Z,{style:{width:"100%",marginTop:"300rem"},spinning:xe}),!xe&&Fe.createElement(Fe.Fragment,null,Xt&&Fe.createElement("div",{className:t1.add,onClick:()=>ve(!0)},Fe.createElement("i",{className:"iconfont icon-tianjiatixing"})),Oe!=null&&Oe.length?Fe.createElement("div",{className:t1.dimensionalBall,ref:ht},Fe.createElement("div",{className:t1.archer,id:"parentContainer"},bn(),Fe.createElement(gre,{data:it}))):Fe.createElement(Fl,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:Xt&&"\u65B0\u5EFA\u56FE\u8C31",onClick:()=>ve(!0)})),Fe.createElement(jt.default,{open:ge,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ve(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{se.resetFields()},confirmLoading:Me,onOk:()=>se.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Fe.createElement("div",{className:t1.modal},Fe.createElement("div",{className:t1.mHead},"\u8282\u70B9\u5C5E\u6027"),Fe.createElement(en.default,{form:se,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:ti,className:t1.form},Fe.createElement(en.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Fe.createElement(en.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Fe.createElement(en.default.Item,{className:t1.mType,label:Fe.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Fe.createElement(ft.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Fe.createElement(qs.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Fe.createElement(hp,{subjectId:ee,type:1})))))))},Qc={statistics:"statistics___BP4qi",noUnfold:"noUnfold___EpqXR",wrapBox:"wrapBox___TsFlb",scrollBox:"scrollBox___Oh4zJ",content:"content___NRQFH",title:"title___z20Sn",box:"box___k6Eep",left:"left___Gnxfc",right:"right___rNC9V",head:"head___mT3Wl",radio:"radio___sjK3F",active:"active___oX7gd",average:"average___KVA2l",li:"li____NnY1",yellow:"yellow___CCujs",blue:"blue___m_425",lineTitle:"lineTitle___qo6vf",echartsTwo:"echartsTwo___aC24D",echartsThree:"echartsThree___Z2Q2A",unfold:"unfold___VUl4t",select:"select___dM1mS"},Sre="data:image/png;base64,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",Pre="data:image/png;base64,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",Cre="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",Ere="data:image/png;base64,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",bre="data:image/png;base64,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",HL={wave:"wave___rx4XG",fillWrap:"fillWrap___q512j",svgBox:"svgBox___DfbUu"},Mre=Object.defineProperty,$O=Object.getOwnPropertySymbols,Bre=Object.prototype.hasOwnProperty,Tre=Object.prototype.propertyIsEnumerable,ek=(ee,y,E)=>y in ee?Mre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Dre=(ee,y)=>{for(var E in y||(y={}))Bre.call(y,E)&&ek(ee,E,y[E]);if($O)for(var E of $O(y))Tre.call(y,E)&&ek(ee,E,y[E]);return ee};const due=ee=>React.createElement("svg",Dre({width:449,height:204,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},ee),React.createElement("title",null,"\u6CE2\u7EB9"),React.createElement("defs",null,React.createElement("linearGradient",{x1:"50%",y1:"41.532%",x2:"51.437%",y2:"65.254%",id:"water_svg__c"},React.createElement("stop",{stopColor:"#34D5A2",offset:"0%"}),React.createElement("stop",{stopColor:"#1D9F76",offset:"100%"})),React.createElement("path",{id:"water_svg__a",d:"M0 0h449v204H0z"})),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("mask",{id:"water_svg__b",fill:"#fff"},React.createElement("use",{xlinkHref:"#water_svg__a"})),React.createElement("g",{mask:"url(#water_svg__b)"},React.createElement("path",{d:"M0 7.704c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.136 45 0 13-11 30-9.517 45 0s15 17 45 0v196H0v-196Z",fill:"url(#water_svg__c)",transform:"translate(-40)"}),React.createElement("path",{d:"M0 11c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.137 45 0 13-11 30-10 45 0s15 17 45 0v193H0V11Z",fill:"#38E5AE"}))));var Fre="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQ5IiBoZWlnaHQ9IjIwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI0MS41MzIlIiB4Mj0iNTEuNDM3JSIgeTI9IjY1LjI1NCUiIGlkPSJjIj48c3RvcCBzdG9wLWNvbG9yPSIjMzRENUEyIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzFEOUY3NiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBpZD0iYSIgZD0iTTAgMGg0NDl2MjA0SDB6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggZD0iTTAgNy43MDRjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM2IDQ1IDAgMTMtMTEgMzAtOS41MTcgNDUgMHMxNSAxNyA0NSAwdjE5Nkgwdi0xOTZaIiBmaWxsPSJ1cmwoI2MpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDApIi8+PHBhdGggZD0iTTAgMTFjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM3IDQ1IDAgMTMtMTEgMzAtMTAgNDUgMHMxNSAxNyA0NSAwdjE5M0gwVjExWiIgZmlsbD0iIzM4RTVBRSIvPjwvZz48L2c+PC9zdmc+",Lre=({percentage:ee,size:y=180,unit:E="rem"})=>{const[z,ne]=(0,Fe.useState)(["",""]),[ie,se]=(0,Fe.useState)(0),le=(0,Fe.useRef)(null),de=(0,Fe.useRef)(null);(0,Fe.useEffect)(()=>(le.current&&(clearTimeout(de.current),de.current=setTimeout(()=>{var Me;const De=ie+20;De+y>((Me=le.current)==null?void 0:Me.offsetWidth)-40&&ne([...z,""]),se(De)},200)),()=>{clearTimeout(de.current)}),[le.current,ie]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",ge),()=>{window.removeEventListener("resize",ge)}),[]);const ge=()=>{se(0)},ve={width:y+E,height:y+E},xe=148-y*(ee/100),Se=()=>Fe.createElement("img",{src:Fre,style:{width:`449${E}`,height:`204${E}`}});return Fe.createElement("div",{className:HL.wave,style:ve},Fe.createElement("div",{className:HL.fillWrap},Fe.createElement("div",{style:{fontSize:`28${E}`,zIndex:2,color:"#fff"}},ee,"%"),Fe.createElement("div",{className:HL.svgBox,ref:le,style:{top:xe+E,transform:`translateX(-${ie}px)`}},z.map((Me,De)=>Fe.createElement(Se,{key:De})))))},tk=Je(40879),n1={trapezoid:"trapezoid___qw8yM",pillarBox:"pillarBox___rGJCP",pillar1:"pillar1___uJ0zx",point:"point____XIHt",pillar2:"pillar2___pL9k5",pillar3:"pillar3___dUdZf",textBox:"textBox___isldE",text1:"text1___g5Hy9",tip:"tip___PXfJr",line:"line___A5wA_",l:"l___hfZzL",text2:"text2___u2scn",text3:"text3___WSnmy"},Nre=Object.defineProperty,Ire=Object.defineProperties,Rre=Object.getOwnPropertyDescriptors,nk=Object.getOwnPropertySymbols,Ore=Object.prototype.hasOwnProperty,kre=Object.prototype.propertyIsEnumerable,ik=(ee,y,E)=>y in ee?Nre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,rk=(ee,y)=>{for(var E in y||(y={}))Ore.call(y,E)&&ik(ee,E,y[E]);if(nk)for(var E of nk(y))kre.call(y,E)&&ik(ee,E,y[E]);return ee},ok=(ee,y)=>Ire(ee,Rre(y)),zre=({dataSource:ee=[]})=>{const[y,E]=(0,Fe.useState)([]),[z,ne]=(0,Fe.useState)(0),ie=(0,Fe.useRef)(String(Math.random()).slice(-6));(0,Fe.useEffect)(()=>{if(ee!=null&&ee.length){const ge=de(ee),ve=ee.map((xe,Se)=>ok(rk({value:xe,lineWidth:30,pillarWidth:104+ge[Se]},le[Se]),{from:le[Se].from+ie.current,to:le[Se].to+ie.current}));E(ve),ne(z+1)}},[JSON.stringify(ee)]),(0,Fe.useEffect)(()=>{z>0&&se()},[z]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",se),()=>{window.removeEventListener("resize",se)}),[z]);const se=()=>{const ge=y.map((ve,xe)=>{const{from:Se,to:Me}=ve,De=document.querySelector(`#${Se}`),Oe=document.querySelector(`#${Me}`),Re=De.getBoundingClientRect(),Le=Oe.getBoundingClientRect(),Qe=Math.abs(Le.left-Re.left);return ok(rk({},ve),{lineWidth:Qe})});E(ge)},le=[{title:"\u5B8C\u6210\u738780%\uFF5E100%",pillarTitle:"80\uFF5E100%",from:"lineStart1",to:"lineEnd1"},{title:"\u5B8C\u6210\u738760%\uFF5E79%",pillarTitle:"60\uFF5E79%",from:"lineStart2",to:"lineEnd2"},{title:"\u5B8C\u6210\u738759%\u4EE5\u4E0B",pillarTitle:"59%\u4EE5\u4E0B",from:"lineStart3",to:"lineEnd3"}];function de(ge){const ve=ge.reduce((xe,Se)=>xe+Se,0);return ge.map(xe=>xe/ve*100)}return Fe.createElement("div",{className:n1.trapezoid},Fe.createElement("div",{className:n1.textBox},y.map((ge,ve)=>{const{value:xe,lineWidth:Se,title:Me,from:De}=ge,Oe=ve+1;return Fe.createElement("div",{key:ve,className:n1[`text${Oe}`]},Fe.createElement("div",{className:n1.tip},Me,Fe.createElement("span",null,xe)),Fe.createElement("div",{id:De,className:n1.line},Fe.createElement("div",{style:{width:Se},className:n1.l})))})),Fe.createElement("div",{className:n1.pillarBox},y.map((ge,ve)=>{const{pillarWidth:xe,pillarTitle:Se,to:Me}=ge,De=ve+1;return Fe.createElement("div",{key:ve,className:n1[`pillar${De}`],style:{width:xe+"rem"}},Fe.createElement("span",null,Se),Fe.createElement("div",{id:Me,className:n1.point}))})))},fs=Je(59301),Hre=Object.defineProperty,sk=Object.getOwnPropertySymbols,Ure=Object.prototype.hasOwnProperty,Vre=Object.prototype.propertyIsEnumerable,ak=(ee,y,E)=>y in ee?Hre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,UL=(ee,y)=>{for(var E in y||(y={}))Ure.call(y,E)&&ak(ee,E,y[E]);if(sk)for(var E of sk(y))Vre.call(y,E)&&ak(ee,E,y[E]);return ee},jre=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),Gre=({subjectId:ee,uuid:y,isAll:E})=>{const[z,ne]=(0,Fe.useState)(!1),[ie,se]=(0,Fe.useState)({type:0,course_id:null}),[le,de]=(0,Fe.useState)(!0),[ge,ve]=(0,Fe.useState)(!0),[xe,Se]=(0,Fe.useState)([]),[Me]=(0,xt.useSearchParams)(),[De,Oe]=(0,Fe.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),Re=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[Le,Qe]=(0,Fe.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:[0,0,0],masteryRate:Re});(0,Fe.useEffect)(()=>{z?Xe(ie):se({type:0,course_id:null})},[z]),(0,Fe.useEffect)(()=>{z&&ne(!1)},[y]);const Xe=(ht,lt=!1)=>jre(void 0,null,function*(){var ot,rt,Mt,Xt,cn,Cn,En,Zn,ti,bn;lt?ve(!0):de(!0);const rn=yield(0,gn.ZP)(E?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:UL({subject_id:ee,parentNodeUuid:y,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},ht)});if((rn==null?void 0:rn.status)===0){let li=(ot=rn==null?void 0:rn.data)==null?void 0:ot.metricCounters;li=li||[];const Dn={graphCount:((rt=li.find(dn=>(dn==null?void 0:dn.name)==="\u56FE\u8C31"))==null?void 0:rt.count)||0,tagCount:((Mt=li.find(dn=>(dn==null?void 0:dn.name)==="\u6807\u7B7E"))==null?void 0:Mt.count)||0,resourceCount:((Xt=li.find(dn=>(dn==null?void 0:dn.name)==="\u8D44\u6E90"))==null?void 0:Xt.count)||0,proportionCount:(cn=rn==null?void 0:rn.data)==null?void 0:cn.resource_rate};let Wn=Object.entries((Cn=rn==null?void 0:rn.data)==null?void 0:Cn.study_grasp_hash).map(([dn,mi],ui)=>({name:dn,value:mi,itemStyle:Re[ui].itemStyle}));const hi={averageCompletionRate:(En=rn==null?void 0:rn.data)==null?void 0:En.study_complete_rate,averageMasteryRate:(Zn=rn==null?void 0:rn.data)==null?void 0:Zn.study_grasp_rate,completionRate:Object.values((ti=rn==null?void 0:rn.data)==null?void 0:ti.study_complete_hash),masteryRate:Wn};console.log(Wn,"newMasteryRate");const On=(bn=rn==null?void 0:rn.courses)==null?void 0:bn.map(dn=>({label:dn.name,value:dn.id}));Se(On),Oe(Dn),Qe(hi)}setTimeout(()=>{de(!1)},500),ve(!1)}),Ze=ht=>{ie.type=ht,se(UL({},ie)),(ht!==2||ie.course_id)&&Xe(ie,!0)},it=ht=>{ie.course_id=ht,se(UL({},ie)),Xe(ie,!0)},et=[{name:"\u5168\u90E8",id:0},{name:"\u81EA\u4E3B\u5B66\u4E60",id:1},{name:"\u8BFE\u5802\u5B66\u4E60",id:2}];return fs.createElement(Xs.Z,null,fs.createElement("div",{className:Qc.statistics},fs.createElement("div",{onClick:()=>ne(!0),className:Qc.noUnfold},fs.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:Sre}),fs.createElement("span",null,"\u7EDF"),fs.createElement("span",null,"\u8BA1")),fs.createElement("div",{className:Qc.wrapBox,style:{right:z?0:"-600rem"}},le&&fs.createElement(an.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!le&&fs.createElement(fs.Fragment,null,fs.createElement("div",{className:Qc.scrollBox},fs.createElement("div",{className:Qc.content},fs.createElement("div",{className:Qc.title},fs.createElement("img",{src:Pre}),fs.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),fs.createElement(Tr.Z,{className:Qc.box,justify:"space-between"},fs.createElement("div",{className:Qc.left},fs.createElement("div",null,fs.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF"),fs.createElement("b",null,De==null?void 0:De.graphCount)),fs.createElement("div",{style:{margin:"18rem 0"}},fs.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF"),fs.createElement("b",null,De==null?void 0:De.tagCount)),fs.createElement("div",null,fs.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"),fs.createElement("b",null,De==null?void 0:De.resourceCount))),fs.createElement("div",{className:Qc.right},z&&fs.createElement(Lre,{percentage:De==null?void 0:De.proportionCount}),fs.createElement("div",{className:"c-white",style:{marginTop:"20rem",fontSize:"14rem"}},"\u5DF2\u5173\u8054\u8D44\u6E90\u7684\u6807\u7B7E\u8282\u70B9\u5360\u6BD4"))),fs.createElement("div",{style:{marginTop:"20rem"},className:Qc.title},fs.createElement("img",{src:Cre}),fs.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),fs.createElement("div",{className:Qc.box},Me.get("type")!=="classrooms"&&fs.createElement("div",{className:Qc.head},fs.createElement("span",{style:{marginRight:"10rem",fontSize:"16rem"}},"\u7EDF\u8BA1\u8303\u56F4"),fs.createElement("div",{className:Qc.radio},et.map(ht=>fs.createElement("div",{className:ie.type===ht.id?Qc.active:"",key:ht.id,onClick:()=>Ze(ht.id)},fs.createElement("b",null),fs.createElement("span",null,ht.name)))),ie.type===2&&fs.createElement(Qs.default,{className:Qc.select,options:xe,value:ie==null?void 0:ie.course_id,onChange:it,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:ht=>ht.parentNode,style:{width:"156rem",marginLeft:"10rem"},suffixIcon:fs.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#1B8565",fontSize:"16rem"}})})),fs.createElement(an.Z,{spinning:ge},fs.createElement("div",{className:Qc.average},fs.createElement("div",{className:Qc.li},fs.createElement("img",{src:Ere,style:{marginLeft:0}}),fs.createElement("aside",{className:Qc.yellow},fs.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),fs.createElement("div",null,fs.createElement("b",{style:{fontSize:"40rem"}},Le==null?void 0:Le.averageCompletionRate),fs.createElement("span",{style:{fontSize:"20rem"}},"%")))),fs.createElement("div",{className:Qc.li},fs.createElement("img",{src:bre}),fs.createElement("aside",{className:Qc.blue},fs.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),fs.createElement("div",null,fs.createElement("b",{style:{fontSize:"40rem"}},Le==null?void 0:Le.averageMasteryRate),fs.createElement("span",{style:{fontSize:"20rem"}},"%"))))),fs.createElement("div",{className:Qc.lineTitle},fs.createElement("b",null),fs.createElement("span",null,"\u5B8C\u6210\u7387"),fs.createElement("b",null)),fs.createElement("div",{className:Qc.echartsTwo},fs.createElement(zre,{dataSource:Le==null?void 0:Le.completionRate})),fs.createElement("div",{className:Qc.lineTitle,style:{marginTop:"40rem"}},fs.createElement("b",null),fs.createElement("span",null,"\u638C\u63E1\u7387"),fs.createElement("b",null)),fs.createElement("div",{className:Qc.echartsThree},fs.createElement(tk.Z,{dataSource:Le==null?void 0:Le.masteryRate})))))),z&&fs.createElement("div",{onClick:()=>ne(!1),className:Qc.unfold})))))},$h={statistics:"statistics___BZJje",noUnfold:"noUnfold___L4va9",wrapBox:"wrapBox___tHLW6",scrollBox:"scrollBox___m8AGu",content:"content____Gl9N",title:"title___SAaGy",top:"top___h1nbU",topLi:"topLi___Ib2Tu",bottom:"bottom___ZKnwW",bottomLi:"bottomLi___YAGiM",echarts:"echarts___M5Dkf",name:"name___XhFko",unfold:"unfold___I5om1",select:"select___TcV_B"},Xre="data:image/png;base64,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",Wre="data:image/png;base64,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",Qre="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",Yre=Je.p+"static/a.d3f19668.png",Zre=Je.p+"static/b.ba7414bd.png",Kre=Je.p+"static/c.2b6f6bd3.png",Jre=Je.p+"static/d.f1216ccd.png",Lw={cylinder:"cylinder___rUBlO",cylinderBox:"cylinderBox___NurwX",cylinder1:"cylinder1___LPJD0",item1:"item1___ekrFi",item2:"item2___PuVOv",item3:"item3___x9UjL",point:"point___ZJ1ZD",cylinder2:"cylinder2___aQBbC",cylinder3:"cylinder3___lefpl",textBox:"textBox____wuhT"},qre=Object.defineProperty,_re=Object.defineProperties,$re=Object.getOwnPropertyDescriptors,lk=Object.getOwnPropertySymbols,eoe=Object.prototype.hasOwnProperty,toe=Object.prototype.propertyIsEnumerable,uk=(ee,y,E)=>y in ee?qre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,ck=(ee,y)=>{for(var E in y||(y={}))eoe.call(y,E)&&uk(ee,E,y[E]);if(lk)for(var E of lk(y))toe.call(y,E)&&uk(ee,E,y[E]);return ee},hk=(ee,y)=>_re(ee,$re(y)),noe=({dataSource:ee=[]})=>{const[y,E]=(0,Fe.useState)([]),[z,ne]=(0,Fe.useState)(0),ie=(0,Fe.useRef)(String(Math.random()).slice(-6));console.log(ee,y,223),(0,Fe.useEffect)(()=>{if(ee!=null&&ee.length){const ge=de(ee),ve=ee.map((xe,Se)=>hk(ck({value:xe,lineWidth:30,cylinderWidth:40+ge[Se]},le[Se]),{from:le[Se].from+ie.current,to:le[Se].to+ie.current}));E(ve),ne(z+1)}},[JSON.stringify(ee)]),(0,Fe.useEffect)(()=>{z>0&&se()},[z]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",se),()=>{window.removeEventListener("resize",se)}),[z]);const se=()=>{const ge=y.map((ve,xe)=>{const{from:Se,to:Me}=ve,De=document.querySelector(`#${Se}`),Oe=document.querySelector(`#${Me}`),Re=De.getBoundingClientRect(),Le=Oe.getBoundingClientRect(),Qe=Math.abs(Le.left-Re.left);return hk(ck({},ve),{lineWidth:Qe})});E(ge)},le=[{title:"\u90E8\u5206\u638C\u63E1  ",from:"lineStart1",to:"lineEnd1"},{title:"\u5168\u90E8\u638C\u63E1  ",from:"lineStart2",to:"lineEnd2"},{title:"\u672A  \u638C  \u63E1  ",from:"lineStart3",to:"lineEnd3"}];function de(ge){const ve=ge.reduce((xe,Se)=>xe+Se,0);return ge.map(xe=>xe/ve*122)}return Fe.createElement("div",{className:Lw.cylinder},Fe.createElement("div",{className:Lw.cylinderBox},y.map((ge,ve)=>{const{cylinderWidth:xe,lineWidth:Se,from:Me}=ge,De=ve+1;return Fe.createElement("div",{key:De,className:Lw[`cylinder${De}`],style:{width:xe+"rem"}},Fe.createElement("div",{className:Lw.item1}),Fe.createElement("div",{className:Lw.item2}),Fe.createElement("div",{className:Lw.item3}),Fe.createElement("div",{id:Me,style:{width:Se},className:Lw.point}))})),Fe.createElement("div",{className:Lw.textBox},y.map((ge,ve)=>{const{title:xe,to:Se,value:Me}=ge,De=ve+1;return Fe.createElement("div",{key:De,id:Se},Fe.createElement("span",{dangerouslySetInnerHTML:{__html:`${xe}${Me}%`}}))})))},ma=Je(59301),ioe=Object.defineProperty,dk=Object.getOwnPropertySymbols,roe=Object.prototype.hasOwnProperty,ooe=Object.prototype.propertyIsEnumerable,fk=(ee,y,E)=>y in ee?ioe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,gk=(ee,y)=>{for(var E in y||(y={}))roe.call(y,E)&&fk(ee,E,y[E]);if(dk)for(var E of dk(y))ooe.call(y,E)&&fk(ee,E,y[E]);return ee},soe=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),aoe=({subjectId:ee,uuid:y,isAll:E})=>{const[z,ne]=(0,Fe.useState)(!1),[ie,se]=(0,Fe.useState)({course_id:null}),[le,de]=(0,Fe.useState)(!0),[ge,ve]=(0,Fe.useState)(!0),[xe,Se]=(0,Fe.useState)([]),[Me]=(0,xt.useSearchParams)(),[De,Oe]=(0,Fe.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),Re=[{name:"\u5DF2\u5B8C\u6210",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u5F85\u5F00\u59CB",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u90E8\u5206\u5B8C\u6210",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[Le,Qe]=(0,Fe.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:Re,masteryRate:[0,0,0],course_rank_num:0,course_rank_all_num:0,system_rank_num:0,system_rank_all_num:0});(0,Fe.useEffect)(()=>{z?Xe(ie):se({course_id:null})},[z]),(0,Fe.useEffect)(()=>{z&&ne(!1)},[y]);const Xe=(it,et=!1)=>soe(void 0,null,function*(){var ht,lt,ot,rt,Mt,Xt,cn,Cn,En,Zn,ti,bn,rn,li,Dn;et?ve(!0):de(!0);const Wn=yield(0,gn.ZP)(E?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:gk({subject_id:ee,parentNodeUuid:y,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},it)});if((Wn==null?void 0:Wn.status)===0){let hi=(ht=Wn==null?void 0:Wn.data)==null?void 0:ht.metricCounters;hi=hi||[];const On={graphCount:((lt=hi.find(Mi=>(Mi==null?void 0:Mi.name)==="\u56FE\u8C31"))==null?void 0:lt.count)||0,tagCount:((ot=hi.find(Mi=>(Mi==null?void 0:Mi.name)==="\u6807\u7B7E"))==null?void 0:ot.count)||0,resourceCount:((rt=hi.find(Mi=>(Mi==null?void 0:Mi.name)==="\u8D44\u6E90"))==null?void 0:rt.count)||0,proportionCount:(Mt=Wn==null?void 0:Wn.data)==null?void 0:Mt.resource_rate};let dn=Object.entries((Xt=Wn==null?void 0:Wn.data)==null?void 0:Xt.study_complete_hash).map(([Mi,Qi],rr)=>({name:Re[rr].name,value:Qi,itemStyle:Re[rr].itemStyle}));const mi={averageCompletionRate:(cn=Wn==null?void 0:Wn.data)==null?void 0:cn.study_complete_rate,averageMasteryRate:(Cn=Wn==null?void 0:Wn.data)==null?void 0:Cn.study_grasp_rate,completionRate:dn,masteryRate:Object.values((En=Wn==null?void 0:Wn.data)==null?void 0:En.study_grasp_hash),course_rank_num:(Zn=Wn==null?void 0:Wn.data)==null?void 0:Zn.course_rank_num,course_rank_all_num:(ti=Wn==null?void 0:Wn.data)==null?void 0:ti.course_rank_all_num,system_rank_num:(bn=Wn==null?void 0:Wn.data)==null?void 0:bn.system_rank_num,system_rank_all_num:(rn=Wn==null?void 0:Wn.data)==null?void 0:rn.system_rank_all_num},ui=(li=Wn==null?void 0:Wn.courses)==null?void 0:li.map(Mi=>({label:Mi.name,value:Mi.id}));Se(ui),Oe(On),Qe(mi),et||se({course_id:((Dn=ui==null?void 0:ui[0])==null?void 0:Dn.value)||null})}setTimeout(()=>{de(!1)},500),ve(!1)}),Ze=it=>{ie.course_id=it,se(gk({},ie)),Xe(ie,!0)};return ma.createElement(Xs.Z,null,ma.createElement("div",{className:$h.statistics},ma.createElement("div",{onClick:()=>ne(!0),className:$h.noUnfold},ma.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:Xre}),ma.createElement("span",null,"\u7EDF"),ma.createElement("span",null,"\u8BA1")),ma.createElement("div",{className:$h.wrapBox,style:{right:z?0:"-600rem"}},le&&ma.createElement(an.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!le&&ma.createElement(ma.Fragment,null,ma.createElement("div",{className:$h.scrollBox},ma.createElement("div",{className:$h.content},ma.createElement("div",{className:$h.title},ma.createElement("img",{src:Wre}),ma.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),ma.createElement("div",{className:$h.top},ma.createElement("div",{className:$h.topLi},ma.createElement("div",null,De==null?void 0:De.graphCount),ma.createElement("div",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF")),ma.createElement("div",{className:$h.topLi},ma.createElement("div",null,De==null?void 0:De.tagCount),ma.createElement("div",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF")),ma.createElement("div",{className:$h.topLi},ma.createElement("div",null,De==null?void 0:De.resourceCount),ma.createElement("div",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"))),ma.createElement("div",{style:{marginTop:"20rem"},className:$h.title},ma.createElement("img",{src:Qre}),ma.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),ma.createElement(an.Z,{spinning:ge},ma.createElement("div",{className:$h.bottom},ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"82rem",marginRight:"26rem"}},Me.get("type")!=="classrooms"&&ma.createElement(Qs.default,{className:$h.select,options:xe,value:ie==null?void 0:ie.course_id,size:"small",onChange:Ze,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:it=>it.parentNode,style:{width:"222rem"},suffixIcon:ma.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#fff",fontSize:"12rem"}})}),ma.createElement("b",{style:{fontSize:"26rem",marginTop:"5rem"}},Le==null?void 0:Le.course_rank_num),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u8BFE\u5802\u6392\u540D"),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Le==null?void 0:Le.course_rank_all_num,"\u4EBA\uFF09"),ma.createElement("img",{src:Yre})),ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"82rem"}},ma.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Le==null?void 0:Le.system_rank_num),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u7CFB\u7EDF\u6392\u540D"),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Le==null?void 0:Le.system_rank_all_num,"\u4EBA\uFF09"),ma.createElement("img",{src:Zre})),ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"104rem",marginRight:"26rem"}},ma.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Le==null?void 0:Le.averageCompletionRate,"%"),ma.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),ma.createElement("img",{src:Kre})),ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"104rem"}},ma.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Le==null?void 0:Le.averageMasteryRate,"%"),ma.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),ma.createElement("img",{src:Jre})),ma.createElement("div",{className:$h.echarts},ma.createElement("div",{className:$h.name},"\u5B8C\u6210\u60C5\u51B5"),ma.createElement(tk.Z,{dataSource:Le==null?void 0:Le.completionRate})),ma.createElement("div",{className:$h.echarts},ma.createElement("div",{className:$h.name},"\u638C\u63E1\u60C5\u51B5"),ma.createElement(noe,{dataSource:Le==null?void 0:Le.masteryRate})))))),z&&ma.createElement("div",{onClick:()=>ne(!1),className:$h.unfold})))))},QE=Je(59301),loe=Object.defineProperty,pT=Object.getOwnPropertySymbols,pk=Object.prototype.hasOwnProperty,mk=Object.prototype.propertyIsEnumerable,vk=(ee,y,E)=>y in ee?loe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,uoe=(ee,y)=>{for(var E in y||(y={}))pk.call(y,E)&&vk(ee,E,y[E]);if(pT)for(var E of pT(y))mk.call(y,E)&&vk(ee,E,y[E]);return ee},coe=(ee,y)=>{var E={};for(var z in ee)pk.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&pT)for(var z of pT(ee))y.indexOf(z)<0&&mk.call(ee,z)&&(E[z]=ee[z]);return E},yk=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const hoe=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,tpacti:le,settpacti:de}=y,ge=coe(y,["pathsDetail","user","globalSetting","loading","dispatch","tpacti","settpacti"]),ve,xe,Se,Me,De,Oe;const Re=(0,xt.useParams)(),[Le,Qe]=(0,Fe.useState)(""),[Xe,Ze]=(0,Fe.useState)([]),[it]=(0,xt.useSearchParams)(),[et,ht]=(0,Fe.useState)([]),[lt,ot]=(0,Fe.useState)(1);(0,Fe.useEffect)(()=>{var Xt,cn,Cn,En,Zn,ti;if((Xt=E==null?void 0:E.detail)!=null&&Xt.nodes&<===1){Ze((cn=E==null?void 0:E.detail)==null?void 0:cn.nodes),Qe((Zn=(En=(Cn=E==null?void 0:E.detail)==null?void 0:Cn.nodes)==null?void 0:En[1])==null?void 0:Zn.uuid);let bn=[...(ti=E==null?void 0:E.detail)==null?void 0:ti.nodes];ht(bn==null?void 0:bn.splice(1)),ot(2)}},[(ve=E==null?void 0:E.detail)==null?void 0:ve.nodes]),(0,Fe.useEffect)(()=>{var Xt,cn,Cn;Qe(le||((Cn=(cn=(Xt=E==null?void 0:E.detail)==null?void 0:Xt.nodes)==null?void 0:cn[1])==null?void 0:Cn.uuid))},[le]);const rt=(...Xt)=>yk(void 0,[...Xt],function*(cn={}){return yield se({type:"pathsDetail/getKnowledgeGraphs",payload:uoe({graphable_type:it.get("type")==="classrooms"?"course":"subject",graphable_id:Re==null?void 0:Re.pathId},cn)})});function Mt(){return yk(this,null,function*(){var Xt,cn,Cn,En;const Zn=yield rt({graphable_id:Re==null?void 0:Re.pathId});Qe((cn=(Xt=Zn==null?void 0:Zn.nodes)==null?void 0:Xt[1])==null?void 0:cn.uuid),de((En=(Cn=Zn==null?void 0:Zn.nodes)==null?void 0:Cn[1])==null?void 0:En.uuid)})}return QE.createElement("div",{style:{height:"calc(100vh - 72px - 170rem)"}},(Xe==null?void 0:Xe.length)>0&&QE.createElement("div",{className:Ko.content},((xe=Xe==null?void 0:Xe[0])==null?void 0:xe.uuid)===Le&&Le&&QE.createElement(wre,{onAddSuccess:Mt,setActivated:Qe,subjectId:Re==null?void 0:Re.pathId,settpacti:de}),((Se=Xe==null?void 0:Xe[0])==null?void 0:Se.uuid)!==Le&&Le&&QE.createElement(Jie,{tpacti:le,setactivied:()=>{var Xt;Qe((Xt=Xe==null?void 0:Xe[0])==null?void 0:Xt.uuid)},initdata:Mt,Tabsdatas:et,uuid:Le})),(Me=E==null?void 0:E.detail)!=null&&Me.can_managed?QE.createElement(Gre,{isAll:((De=Xe==null?void 0:Xe[0])==null?void 0:De.uuid)===Le,subjectId:Re==null?void 0:Re.pathId,uuid:Le}):QE.createElement(aoe,{isAll:((Oe=Xe==null?void 0:Xe[0])==null?void 0:Oe.uuid)===Le,subjectId:Re==null?void 0:Re.pathId,uuid:Le}))};var doe=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(hoe),Ak={TabsItemActive:"TabsItemActive___UqdaX",TabsItem:"TabsItem___L0dKD"},foe=Je(84105),Nw=Je(59301),goe=Object.defineProperty,poe=Object.defineProperties,moe=Object.getOwnPropertyDescriptors,mT=Object.getOwnPropertySymbols,xk=Object.prototype.hasOwnProperty,wk=Object.prototype.propertyIsEnumerable,Sk=(ee,y,E)=>y in ee?goe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,voe=(ee,y)=>{for(var E in y||(y={}))xk.call(y,E)&&Sk(ee,E,y[E]);if(mT)for(var E of mT(y))wk.call(y,E)&&Sk(ee,E,y[E]);return ee},yoe=(ee,y)=>poe(ee,moe(y)),Aoe=(ee,y)=>{var E={};for(var z in ee)xk.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&mT)for(var z of mT(ee))y.indexOf(z)<0&&wk.call(ee,z)&&(E[z]=ee[z]);return E};const Pk=({DataProps:ee,isActive:y=!1,onClick:E})=>Nw.createElement("div",{className:`current ${Ak.TabsItem} ${y?Ak.TabsItemActive:""}`,onClick:E},(ee==null?void 0:ee.name)||""),xoe=ee=>{var y=ee,{pathsDetail:E,dispatch:z,activied:ne,setactivied:ie,settpacti:se,tpacti:le,setxxljac:de,xxljac:ge,TabsData:ve=[],tplist:xe=[]}=y,Se=Aoe(y,["pathsDetail","dispatch","activied","setactivied","settpacti","tpacti","setxxljac","xxljac","TabsData","tplist"]),Me,De,Oe,Re;const Le=(0,Fe.useRef)(null),[Qe,Xe]=(0,Fe.useState)(0),[Ze,it]=(0,Fe.useState)(!1),et=(0,Fe.useMemo)(()=>(ve==null?void 0:ve.filter(ht=>![1,3,4].includes(ht==null?void 0:ht.key)))||[],[ve]);return(0,Fe.useEffect)(()=>{Le.current&&setTimeout(()=>{const ht=(0,bt.ZR)(Le.current,"rem",1,!0);Xe(ht)},500)},[Le.current,E==null?void 0:E.detail]),Nw.createElement("div",{className:"flex c-white justify-between overflow_hidden",style:{height:Ze?"auto":"40rem",background:"#101C39",borderRadius:"22rem",backdropFilter:"blur(10rem)",fontSize:"16rem",lineHeight:"26rem"}},Nw.createElement("div",{ref:Le,className:"flex flex-wrap",style:{gap:"25rem 40rem"}},(Re=((De=(Me=E==null?void 0:E.detail)==null?void 0:Me.nodes)==null?void 0:De.length)>1?(Oe=E==null?void 0:E.detail)==null?void 0:Oe.nodes.slice(1):[{isNull:!0}])==null?void 0:Re.map((ht,lt)=>{var ot;return Nw.createElement(Pk,{key:ht==null?void 0:ht.uuid,DataProps:ht!=null&&ht.isNull?yoe(voe({},ht),{name:((ot=ve==null?void 0:ve.find(rt=>(rt==null?void 0:rt.key)==3))==null?void 0:ot.name)||(ht==null?void 0:ht.name)}):ht,isActive:ht!=null&&ht.isNull?ne==3:ne==3&&(le?(ht==null?void 0:ht.uuid)==le:lt==0),onClick:()=>{se==null||se(ht==null?void 0:ht.uuid),ie==null||ie(3)}})}),et==null?void 0:et.map(ht=>Nw.createElement(Pk,{key:ht==null?void 0:ht.key,DataProps:ht,isActive:ne==(ht==null?void 0:ht.key),onClick:()=>{ie==null||ie(ht==null?void 0:ht.key)}}))),Qe>44&&Nw.createElement("div",{className:"current flex text-nowrap",style:{padding:"7rem 20rem"},onClick:()=>{it(!Ze)}},Nw.createElement("a",null,Ze?"\u6536\u8D77":"\u5C55\u5F00"," ",Nw.createElement(foe.Z,{rotate:Ze?-180:0,rev:void 0}))))};var woe=(0,xt.connect)(({pathsDetail:ee})=>({pathsDetail:ee}))(xoe),Ck=Je(60242),Soe=Je(90356),Poe="data:image/png;base64,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",Coe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUwAAAFACAYAAADXrEUkAAAAAXNSR0IArs4c6QAAIABJREFUeF7svduPJNl95/f7nRPXvNW9q2umhtNo9QylniV3id5dL1dase01DAsg7Kde7C5gQIABGjDgB/th/UjOP+AHPxKw18YCBuz2iwEZhGUIaK60S4tyWxSpae0MW6MeTc3UVFfXNS9xPednfc+JqMqqvkx1T8/wFsFhR2RkRGTmychPfX/Xw9Qt3Qh0I9CNQDcCFxoBvtBR3UHdCHQj0I1ANwLUAbO7CboR6EagG4ELjkAHzAsOVHdYNwLdCHQj0AGzuwe6EehGoBuBC45AB8wLDlR3WDcC3Qh0I9ABs7sHuhHoRqAbgQuOQAfMCw5Ud1g3At0IdCPQAbO7B7oR6EagG4ELjkAHzAsOVHdYNwLdCHQj0AGzuwe6EehGoBuBC45AB8wLDlR3WDcC3Qh0I9ABs7sHuhHoRqAbgQuOQAfMCw5Ud1g3At0IdCPQAbO7B7oR6EagG4ELjkAHzAsOVHdYNwLdCHQj0AGzuwe6EehGoBuBC45AB8wLDlR3WDcC3Qh0I9ABs7sHvuARkGffc/IFv51nvpvHnvyi390XPBjdy33aCHTA/LQR6p5/ySPQAfMlD2h3uS9wBDpgfoGD3b0URqADZncf/OKOQAfMX9zv7hf0nXfA/AX94rq3TdTN6dPdBfMjcA5m5zx2nQPvxe6Wx1TJ4zu6oX2xof3Cz+oU5hc+5D/PL9gB8/P4djpgfh6j+rO5ZgfMn824/5y+agfMz+OL6YD5eYzqz+aaHTB/NuP+xb6qnIKws/2+2KF/3ld7Nly5+/qed0Bf8vEdMF/ygP5cXu4LBubbb3+Kb/zbTx6lp+x+qUP69vNe7SknfPvb9LnAqwPm835BX+zxHTC/2PH+2bxaB8yTce+A+bO5BX9ZXrUD5i/LN/msz9EBswPmr8J9/gV8xg6YX8Agfz4vMeeXfInG4Rlzes5Gfh5z+fbt50hXu3Xx0XnWobcvfpmzRz7HibduPd0M/1TlOnfAyzLn+cyvt/Nvvugt8DzndcB8ntH6uTq2A+b81/Ec3OuA+XN1H/9ivZkOmL9Y39fcu+2A2QFzfgQ6hflF/JQ7YH4Ro/y5vMbFgPlYxPqcbf08pvazPsZ5M/zevTmz/BtPOfMm0TfuENHNTx+gZx3SXgLriyzfP3/Q/ImPPekPvn6dBJ8J6/b0Z5noF3kfOObtZ9jyn2a6dyb5RUf55R3XAfPljeXncKWLQfFZL/xZgPmYL3LOiTjvT7xz5xk+S5DuKVDEU9+9S3zjcxi5p13y7rkn3rwx55d8DvLevEnyTDfA3JPP9H1+BmCe0ZfnP3BXfvm53FUdMD+XYX1ZF+2A+bJGsr1OB8yXPaK/WtfrgPlz/X13wHzZX08HzJc9or9a1+uA+TP/vj87FBtf2Ml3+e1nOCYvamY/a1hggsMkPTHFbxK9d/fULN9+/3T7OhHde4sI6yctg+g5UpBexnf1U6L7dP/kSpdfvyb35q/7zvkXaZ69R7TxzetCc8R9882zaUYYkye9xcdM92fY8vPm++P+zbP2+7e//e0LJ5R1/s6XcfN07d1ezih+pqv8fAHzqf7IuajLE32Pc47I9+cDPkT01jPG54OfATCBzHaZvH7tU6BzitOr2fWTYz9Vqc59ZsSRrs/DtAPmZ/rF/CxP7hTm5zj6Mldhw8yCx1iffckOmJ/jV/D4pX+KXR0wv9Ax/yV6sQ6Yn+OXOQ/MJ7wMxl7aKPZ3vvM2iXyb3m7sMJhbb7/9Nl/U7JqPhj/JJL9NxLfwendIffwe8SvbJB9/k/iVuSgxsn8ukOHjPsrdORPc7ZhTmP/2e6TmP++1J3z4NCV+8IDoyu8S7W4Rb324RZuvbRLWWJY2NuVge4uxfhlf0UFAvFSTuyZtbdLS9IHQlSv0wYMHtLx+5SmvAbA6wrrlH176Hfu093JjPtp+7iAE30+ylZoUpo33iLe3STY27rrf4N27d+mf/bNvyfe//zZdv35dbt26Jf/kn9zmt966NffePoNJjoYo32ldBl3O5oveUx0wX3TkLnBeA8wzY9z6pQDI73wHzkb/I3gCIB1Q2674532Pt55RJwiz+vvfv0Pf+MZN8muimzdv0p07d9z6BHbn8nlgSs+bz+fN5TfmPjMwkgbEWU2C/VtbD3hz84pgTVeIrly5Qg8ePHDrdtneIv76pv/R/uAHW/zaa5v0YQPIjY1N2QbMmiWKNJflhkQvaLJvb9+ljY1XaHv7Y1pZWZf2tdz65B0Bzpt4927PxuambG9tMdZuxwP33xOX7C9I6A2iSek/zycf3Gf4Q7HG43/8+jV555179NZb3nt74hp9h+jqLZK7371LN27coLt3v+vcoq+8+aZ/ze8j5/OmrK0R7+6SrK3dORmT3Zs3z4L9nGl/1v/5Nu6p+T/Abhv32Vl/Jl60A+gFfs7ukA6YFx2pFzjuWcBsL/esAM38Sz4vMOfPvXlONr4MYG4Fp/fOKRKJtreJN75OAjg+aciinbn9rxDRx6CFP3Jvd+fcOesvMOo4ZefMeStr66eg+Zhou31dd9T22WPXN5pjt4g+3GxQukVrG5uyu73FWLcwzRr4P+lNvt6AtH3uPDBPg0d3TzbfvHFD3vvuXX7zzRtzYDzNqn8eYD5j4DpgvuBd1QHzMwzcRU59FjDfecebW9ev33aQgAl2+/ZtxvpJ175zh5RXHB44TUS2VaFnToHCfO89/8PD+sYNatSMVzWoWMkykvQGceZVLL1/7x4jlj1oFNLrr1+T/+udLb20dmoSt2Dc3SVeu0UCUxrnQqOdLJtEr7XC7dwHwXF3t/054e4Or62ty24DSWy/++49tby8Mvf5T4EZBMR1TYI1zm+3sX58vHZof3+Pca12vb6+Tjs7O0Tr64SrblmSUBFXdtudv7e7yytra9Lic8VsyJ7e5mxjQxpqUitN1zZIID3/dJd4ae3JkfG/f4nOmO/ngfn+7Xt89ep1ef/924yw0sbVq/5z3CV6EjCHwyG/f+OGXWtEzi6RrN3xKrT9/PMKs72XsG7uL7p9+7a7z5jPv+dOYV7k99wB86Kj9ILHiYiC7xCn374NKGLDXwzbJ/uecH0cNnc44ccBP1hbZehBCJMOEDwLxPnLtSWKrXn4B39wn+ka0bU3rhH99D698TunHkZsPXjg3y/8i/E1+BaJDva2+ZUNoqzckDTaZqIN2ngFaNk4ealGJLpd794hRZfOfqjdh0RvXSJ656Hfj+2HD4kuzfkADvgRHx8q9/r7RLTs1vi33fZr9/zePi2vLLu1e77Zxpqafdg/WlwWokdUGZFLa2v0zu4ureE9XFqj3Ye7tHZp7Ynf7i4I99Yu5bUV+oRo/TLRg2pdXnEftMHqx/j827SyviF7P9rmlZVWnRJtAKrNArP+JzXJtWtE97/nd2Ks798nwr42CPX666XgjxbKL2Gmw2Py3eYabvvuqavY+TzfvCFwuWCB+2V39zZ8n0/8PA0sYZbLeb94l3L0xCF74s7OJL/4WD33kfPAbE++aDezO+fcJeeDMfNBFwCzXdp65xaU16+7H+bp93wuAhM0gHQYgPp7zV9pb4f479wg2WkUodvXmszrRJd31slJNQev0+uDk/c18cr8aM09WCWiw8Onu4LG6iW5iQ5O38Bw4ayi8ohtlj1A1T+/R0R4q1hjGZm58x4Slb9BctbaPzX9y+rU7F9ZJ8H4YY3rFDDd55yhm3Oq+DSk5ONLr/8OCTWZTC04T97ruVym8flA01xN/NNyQhu/+BlV3gHz4j/tDpgXH6vnPhLAfPvOnTMR41Yh3rx5U+7cucNY48LtNtZ4/N7Nm4zojJOPf+Pq+xY51YG6a3f87dv3lDfp7vFbcyrtgw8ihlL5ILrOrYLcekCMHyn8jptX/Plu3xWS3R/4iDYU0Z//OamVv+Ofv39vR/37/9G6vffjHff85fV1evcv7rFTZBBl70AdrtHD3V06PmAeLa3K8cEjvra0KgBmeLjPUHfHh/vsKNQs4dEhT8aKB8MFmYyPeDD0EerJ+JCJFmkWHPl7cmGB6OjIr4moZ0hmmhhrPJ5Njrg3WBCsn/zFnJ7fG5AMDMlEE2N9QAc0HTP3hyJ0sESDIQmg+eCQ+MoiCYA5PtznV4fLFp8J11+hVfp4aVfW3IenRp36NZZ0eN0e7O3w0sq6AJQYv2vX1+3ezjZn60bmIk20VtTSBsiyTf/5d7Ye8Hp2ReiN+z4w/8Y1er28J+/gLx4RXSUSBOWuZo0L5f17vHbrun3vro+yu2U+qf5bN4Tu3HG+Gyw3iQR/hG+ScxV0wHzyTfOpeztgfuoQvfgBAOYdOptic9G0HdeU4oZL33HLt5pt7GvV4wcfeDX2xhsnvzFn3eH3Bku7NflaM9tdaD5CAzV117+/vT3ila+Q7LUKb53ob0NANSoSm8HuLjtrlogO9tfca0MxYjmjGt8AcOaU4tLpGAZHAOPpskiLJw8mc+qyZSXWWM7x87Ev5czxDWfbffXwLCAO6fDk/IFdPOsDnVOmdEA0bM5FgtHfXSR5tznz2jLJO7Tr8blLVF5fO6s+G/G5skZyD77O6vQ9/K2Vs/7N9s1AhN68QuKSme4TgvD0vUaCXnvDm/PXrvkcUviY36F7dPW6T6Z3f1ubtbtfvuUqsVpezo9XB8wX/0m/JPPnM7yBX8pTm4T17/xNvsa3zwFz/vOez2U8a1rfY+Tj3XPBGN9f7IP79/n1a74y5Wmlhvdhyt8naqPY8Tbxa42ZjfPu7ZM6motwrzUuvON9YkDgYL+5J1aIPv4RKZqD3XTsnwPiDq/4NZbZmLgRgu5xMDl7X80/zmbENHz8W89mE3ftdH0g2XTCeUacpCR5NmWiPiXpQPJswlg/+56Z+KcnA/xDaW8gJ9fuPX5u1Seh49Mr7g9OwZbOmeTlkCTaIi7nnl8vGvDtE42uktCj0+sMr/nn1tZJdn9MXM0Hh5AZ0CzwhmaN6Q4V2gaUdne3+Gtf27Stf/PatWvyvbnv350+V9P5LPP9XI7o48CcH9DHJFQXEHrm8PxSAuyL/lANMG/dvq3+21u3vEnemtetZKQbBHP6FH1tzt6ZyuaTd+5MbFehco12toh/a/O+bG1d45NMQZfv+ICu0BX6E5jeLrS7STAJT0MzRO+PAzUOmWl1labv7/Prf29ZWjUYHZ2CbokOaEsv8WKrxhYXabZ1xJB62YT48uBIZnqB6eiYRoCmPvWE5YDiK0Oi8dhJtGBKTJMJ0cBDzC8DGtCEJm5NlGc7TIM+JT2SfOYhSTRtjsV2ey7Wjohz+/z1Tq7dvgSi6SlJkE0Zu5K0fwrb4YBo7F//5HJEVPVIaIw9Y6LJkJJ07M8ZDqkyx0ILI8fXZP9I3nhlwR4ceEk6qOX02vtE1d9bFnr3EWGc4Qt1pvulNVqod+ToXcULC2vi05/WqVwBpLfpY9qgr5Rb4rNCfXro2lrdXPcKPZhzhK5v1rLzRwGvr/vnW8V5cj+9g/vIVfLT1avZyXt7//337a1bt85E8M8wsgPmM2nRmeSfB0wbYP5vROpqY/K25nWrIsFNVLu80+SbtH7IxmUFsxui0q2xfHDdK0eEV3ceEP/uFZI7D4hPLOxmA6sfQGVuEb22SfSju8TRHvHly0Tvvktc/mNS00Ni/MyXloiW3IZfbynixcZaXVwk+nhOOcIyDifEgEU+IX5lRLQ7JYZYDADIlmMOfsRAXaCJpxOi5TWSQBFPp0R9sK9PhO1LfaKH2Iddzb5gAFgSTWdE/V7frd3SA5Wbtb+EwynWT1qmu1N3zd0p0RJA2Vzfvf7cuYjUY4kbNbmfEUeGBGyvjvwaC4C7sEbWsRRuCaQllWRfG3lFumBPlSl8oDWut0K09y7RqGnSsbsLAHr/L7a//GWSTz4hun+0y9e+bOXHnxD90+vrFon1yE5AGlZRNNe94jMX6IqPHv3WlSvyR3ce8G81PtBr1+hME5F3bhPhnsL9dfUqydz9B1h2wHzB330HzBccuGeeNgfMW+dM8vlO5C0cca379+8zzC6sn3TtrSDg3e3A5z3CxP6QqDW1d3Y0r69vyM7Otl9vnipFZMGoHeK9vV1GtOad5EA/miqveheIoo+Ysb48GMmD2VgNG3s5n4557fJQsPbvZ0hH+UTFjVmb7E0VFJszmftEReN/LDPmKBWJ076M92dqKe1JwcTgnVt6RGX+uCuozDOOklQmh/v+vaWwVVMqi4zdtv/n3JIRZX5XtJhKeZhxFKeC65w8geeSVNrrl/ketwx2501SweMoISnzGQ+WVm2rbGdTonK/uWbalzqdSPv5i9mEe/nApFCdLigl0h94lYm/ORuDRfvXRwc8qJccOOcj7ksNnFdWSKAx33XfzS4trKwI/dnpRyxXrKwgYNQsTnmelCl9SLTV3AhE9LWvrTkI4h7C+oydco/ogw/uM1Tow4dkb94kMz+QncJ8wq31lF0dMC8+Vk8/cq7JBg6ac7Kpe/dIz5/YBmqwD8Ga0+U+nTGx8cRcgAab2w0wAcof/UjzRmtrv4KUnw1uTbwIPkooGW8F+qj2LtEBE+9OSO/NEOg5JhqN6OFPJhrq0BnIgwmFetDcExNaVNj2ZnGp+hxkiBj3vNjr+S1ABjs8cDwIA4Z57ojnQKdbQAKWB8RVkTcQTEgXCAIl0KUwdM+McaXyc/fn2ef9Oc2Sn14jjBI5eXlcOc1P+JnnOQURwOZfL4wzieJE2vdbC2CLZY+iZFNms5n7bPi0h/v+80dJz+/XPXMpGBuozkvmSFpXaDqw0tv7kjh0Hi7S4DUSBJDaJX3NK7ylZRII3OP3iEdLu4Ivqqx3Tm6fcs2Kq4RqFgfPOWBuuRywZsfWa4357m+aDN2RGovErV3knSjdInMemPOD/rhF3vkwnzk+L4Mfv3LXeAYwiTwwWxP7e99r1NUbPgrqMpib1byJ7awvmGHNYCK6/oMtYvxENjd98wufRO3zx3fnSg5h/uKHGDYBnKUvk+hHxI9WiT6+R+HBEin8yHH6ezNSrYcQl8K5WAOTC0wnaixgYsARsAxy5uPlVFxOZUYOmBVeqzGbtSJO0waXKZE+JHZ4SjymqoK4ZaRmD8VT3Hko+uPzEyT655NzSJ0H5vxdl5zgF0cAku31cZUwTsRdPyfKk5yCOJGWqaH1KtHjNKOJTSVMSID/vSx1HxGPjyckr4VkBpFXa/UB/JtEdERUDUSuDxeQpkRwbQwtCVydcIEcvE9UNaldSLDfXyEammVZQXL98qrAVl9eWZNPkMq0TrLd5Mjjb2O5QeKqqNyyRR/O1cGDm6jHb5/9iyu+xr9tztRud8D8bHTqFOZnGz9/9lOAeefOHb25uXlGYW5tNWb15hUJggd85YrPw3vw4AFDUp40oHhtk1Cat4LSPJiM29t8Y2NDtrdRaeMpibJCV16oiNvk8eMD4mu/SfLB/X01urYswf4+r+wTLV5bFrW/z//7o+UIJYEwKaErx8XUmcBR2pdQTTla9YGRkqc8etTnUs0Y5uyiM2vbwE5KZT9r3kfqTOxA5QwQVZyzboNHjn0JpQlRCUi2S3KqJVsk6qLgMF4Qpz4BpTiRrDpSQRS791OXBQfRgmDtwB6J226fnxeb7cvgGpMi57goKIximTTXmMMshQL1CHL6sw4BUEmkLnJOw0VbFQfu9UycyGhKUicw+cmZ8eqY7JcWqMbzY3qPEtuXfOp9sMvl5VM/4TF8tB7E8AVffsXaenFJxn91wNXCkssBPf7LfX796rL90/93Xw1HVpDXCrPgy0ve1MZ3/dWvrtu7zfe/bjbkR7g/TFNd5IRm00RkY1P+ZPsH/LWvf91u4b56gD+yTWMUulJ3CvPFf/QdMF947D69j+WdO6Q3N0lvuZprpxnpSuO09/b2A9revnLyHcyn/5x/WzvOD+mhgwDO/j7xpab88OCAeLVJiEQ+5K/9GonLi1wmOjokHv81MS0eEnIe/4/FaRI6k7lHVT7jkdv2S5CnXKG+2sEtp3AxOQFYkiRUOzXoabcyB8X6mLhiDzIHN47ddtw8LhJsF1SXMWONJ7BNzb72PFUVTNH8J2+v8OlfUjl3SBCR4GXcUhAVMf4pqXAXH1M/igRPu+PymE6g68ag8ajkBZlRLDkQlxPVowVnYpvY520GGcmrGVWXQjJpj+TRQ2QCIBLvz8/XvNkNJb9uSY4dzEbO1zn7eMy9GmrwiPr9BamHB+6c4YLI/t7yaeXRIxR1nuYqbQ5XLco0/bLjujC1ZZoQoijRPBmG05ZM7pXXNh4I7rn39u6a7d+7ccaHOT875eMm+fmx/9U20Ttgfvpv8SlHXACYRHrzfgNMz0e60mSuB1tbXG9uyt7dbafwcMPfeMU37/HLBu2pHV6xvuRub5f48jwUNoidX1J7iDrzuNkOALOrPvJ9rIgPF4lWjo/YjBbkh0ez9LBiXSWphHnGFTfKLyMKeoCnN4mTtDWLT18UZjkeVTnx4CEg2TTCKAuuU+LWDnbABBcdGIlNRKJjYiqJ3Bp+iqpkE0Yi09J9fgBvEBNlVemft5EYRYz1E78AsBTUa5hatttY43WQL9nsK4vSvV4WRgJkRlRQFmG7JCNDCaAym2ODw1MXdEEFaSSuF0RhRDKJYgli/7yJSTZqqjZLqtP+HDAv+bQkg6g5UgjGyK4aU3LZ53vWr4iMPkQi1jHVZiQLdET1puAPnMtr3TVeibpgEe3jDyNBcWLfleGqPeElADmX27ntuj5tuxvI1bbvbPNKuSFwc/oEsy0qNjdlSGR+7+2zQZ8OmBeHQAfMi4/VuSMvBswrDyhwNdrNbfta44SCAIA/8kc7+uQ72DjpYEEUKsX4cbSQ3N9TPN/PQmtU2jyiw8NVd/7KiqskZKQI6WNA8pCu0CJtjY/4aIHoS405eE/CBMBsgxzVGNtYckqSRaJFb5vCWzjmnJ3XMCEChOHzw7YuifO4IN2qRC4YYGwHCMCMnaYsSHPMPSGpnQKNyXDJgBYA6fTe9LQSqlb+OSynx5yRnHPfwfxV/PXaJbAkJZUUEZBYUllOTq6XhpGYEFCCsiwE0X8HzIaYQY59eBRTXBxTEMYnavQhzgEwc6JplMvrg6RaqKbOJK93PEiTVARKM88GjKg6gmm1mUjaQz7ngKr+sYw+GtF+T2QEgPZFqk2RNt0VTUJwHdQLVLUISkYHQw/M14cLtsmCInq4Rsu/sSOEmn7043T/+vIitLO795Mf8/WVr8q2y+8k+sq6cfmdVzc36w6YL/yj7yp9Xnzong5MdErHdb/5zW/qslwPXEJks8wV3fhbvAnW7IXEX1kj54/EfvwMfCqQXw4cIE+X9UZNtpDEM+NjYgQZJltzlTcLRAjC4PnJhPiPh5SWpQ9EIbDcb1UigAg2Jk1Qxudb+hSf2EPSiboYhiVRxqQAKYiour1G5V9HqrPloNEc88qIKGmOqyIihaT25nlTlRzOfUYze7zVbQtaHDa/bXvhiRLV4alKLEvAt6Sy8heuqCId+GNxvnawbN5ARRT3yIKdNiKpJ17tmuZ6ZRhZ95qFN+eXicov5eSuHNZk4deMG5MceaateQ6TfTI+zaaPqoEz1xFVR507kv9dhP2YaO3L1rbwRAlnZeDjPqDBwpLQT/dpNEL3Jd8g5N+7RrZt/+GAOVeOufcTYqQttcO53lQTbW5S/XanMOd/Ss+13SnMiw/XmbGSucKO85dogXn9+vVgc/Preh6YbQPdvXCHV6p1CTfbprlA5Gnx9vjwXYWWD8fa116HauXM67uKxSWi8QfMvkRxkXZ2jlX/lZFMJ8SzpTFftkMpgrHKFDPyr1GW+P+Ngh4pVlCEAGA4IvE+S6QDEQOM4Ec98dt1xe44iiIa16VyCg1R8D6JaUCpqGTNJWuJBAqyriKnFE1VsQ77IkeVIgodl8yMHBRNVLGWULB2IKtCt28xCG1eERsY/BWRWz9pAaZwoQaEnPSsqSvWAYk/jxgwDEOiceavkQCUeA7VPI0kjVOxZXMRHYYynVake6EAtDqMhEpoVKI4jGxxWKpYRw52cUC2T1TCj4nsqf3lfRrGiS3yDD1G6VW9Uhdqyotx3z565McXAEUif7hKdnc64cQOJJ99wokRSYwv26x7R9IzQ5npMS+tb5rJ8SEPRv5ma6uK/DbRW6+N7F7j4rxybdXu/8UuLy+voWeq/NHBrrq6tGbh1nHD18DUfDSuf/jDa82o+YGdN8nPD3XXnf3siHTA/JyBefXqbwX0ygbBNNqAX/JcV/HLTXOLQK1zbXcEa/eD2H+XA73G+64zJNEldY3RZWeJlpySHL5+IPpoyZnewYfMerLAxwvH9BqNaNspyjEhCX2mxqyVv+2fBEyoRwN4xrGLRPdgZkdE06rgYRTTrCodMBVHnHHJA4oQFvamc6sMmbieTjmikAAfwErVETsNF0akZyFT5AlnqHLAzOsGIoCXg2vIUH8xhx6gVJGqye1zfzAodPuwbp9v9+GxDnpy5vlq1pwzIys9by4Dpg7OFakwdNDUvVIq9xIR6aAUmvYJCrWiknQQSRbCvCeKHGBLZGG6x7FpgAmsZ0S7cSYLSSpZlrns0/U6tVOa0XLaEyTAT2lKy2lfptMpFStiXeUlLjmZ0FoPQIS5Dj/nMfUGQ4Hm7JlNqYaHzlx/bbQoP/nrB7w5RPCJ6H06oG8Mrtp3m6DQteVVQeeoS7QG94z8671d/rJLT2pI2QHz4r/0ZxzZAfPiw/gCCvNWcPXqkgNmu4S7Z90g6w0w0SVoxZ52C9L7j/hQ+2a64yPmpSUPSncduBrn1tgPc9s3QiOa7/pTZKR0Y74f7pN6f4PSrEfKjL3CrEc+GAPbujcmVhPieOgV5iwh1hPiujHpI7DKR01Iw6xutovdUqnoVItUWaUc2BoFqABBKLuaOGlKCQ3yN7HgTVdEUIIALcoqse04GVbN+lRJNrw83e8AiPMB1GZvH9oqAAAgAElEQVTBDk9BdxzUJ9Y6BQiJ8NrOFA+JbFCJM9eb14zS0B2LxQKwAVn3OSdQnF6ZOnZOiV6tqbgMex/WdEjWJbg3xUejRbKulBOvh9eaNub6lAh+yKSp9kmcf9MrSNMfCh1/RPVg6NWmGUkfQSdXrnpIh4jeNfZ6NVyUL9X7UrsGyT4JHkFALADmX+wRL8+Z5C03P/qI6h/+8HSocHynMNsb59PXHTA/fYz8EU9PTn/sCqcm+a3A4aVtCYT0jiZyg+Tk/b1d/o0VNGEgun/4SC0tr8oHR740MFTMwV8f8UlLIDgnm98LejkiiDOZsOsStD1hhnocDKEimS+ti8ygKsdEekROYaa2Lw+OZ8H7KzqpatJFVSqYnPqQNYDQQ6pNXSqY3uBDXZYcRRHBrwjQhU0NtqmgHis2HLEmbzbnDDM7PDGfQ+oRzGNPIZew6ExyDIaLkIQBxUEoVV6pOAkF17d1xSoIBWt3Tghfan6ml+izvqpQJWfqo6sGgICeqmtmCazh2oHSBoGYumYdiJjSq0+Y8iarGAB1rgK8Dx3a1uaHmZ5PSsEaJr2ekCyVUm3ULiZEPZ2YAjmfNpEoJoFlENlUUNoZxSLWisQA6ozoOEllIe5blJUurfQt/JvYDld7Vu9M2QCgQ6Lq0Er9CiDqSy+R4dRvmnyAoYPhvpwUEB0QDSqf8jQaWdlbRTmmSNO+k5a312Q/2OXsg7XquYB5ftAfmyb6oj+gX47jOmBe9Ht8HmA23dKvEwV0j6IzkyDMPTjm087kq/SIfnysFboE+WWJAkDvkGg6YX71by3I5EPfLQiqrHiXFKIvCLrMFDFaog3QgYcmVO6xnyJiSjS4BHMaaq5POweZfi9Q/UKxgq/RVBEn04gb9yJlcelA6P2PxEkNX2KTBkQVO6Xo5CCR5KScQgNYQqinnsBnCU7N8kxB8WGBmkt7Kdm69gEUNzZAZ/N3qPABImvwfEBK12LNqQoPQFgc3tL29FQPX/dPuwREtY/y1wG2a1JxIHUNmY2Sx4o0hWI1THNvwMcyE9sEgbCvDkYOkoB3kc3cHwRs1/jYSWhhzrfBomVT5JfC0AEzzERCmwjl/vWrIVnKmtLQMLFRkkmciGBPPOmJmQsO+UARjHaixUoseijhv7TXlwpKFMmcwyFF5ZFtGypDeX68hSbKTRrSI5HqypK46TlctyQrhOadAOeyCO36+tgsWqt+eO2swmwmLj0ZxWenGXV5mBdFxq/2cS8IzLV7FIFdbePdh08B5vrhPv+pYl47bjqILy5SMPZmLoC5/hsjm318rMxg5ErwondJjUdEr+J5lEIqn6eJNpDjD0lrNeMp9WioZrz8GipTejQpMn1vXw9mmnQbuW4BiTxFqEvJEKAhqsKQelmlsMYC6E5NE/0OK+rlpGwaiuSVcnXbYe18jjoIZJazwi6wDPuQ01nWxJ5hARkAMfAMtNiP40zNVgfi1o1/k9lDFovoQNjUjHW7r2WpAy6ReKbif1gCAhiDOqA6qAmqEvDFvrr2R+DfqCIHUGUqthKKTSoXGHLmeB0Q9qmAnJ9TB1Xj7wxJlTNZiILs12xWoHbdSixxntMMdexQfya3+NOXZER2UcSgvHLm5yparVIDOLog0JSoyNGcZEbHicgrlViPTpjtfXFqc4y2c0PpmWOp8f0jqDQkubd1xK80wKzNomAqDufxdnNt7FNllsV3vrdSmVUJDx7x8fpq2QHzxVHWKcyLjt0LAPPv378fVjuLUTtDw3Gg3M173PgmMaHX/Nw3WxOYrn6Z6iXnkwQsAUiXjoR8nmb1k79Suu2oNsAEZW0C+oDIvKc0ip5z/BBR/LxKVGTMY03q/rEeFmEVpC4AElJp2L2mcpFpYt1cB5icKlKuyxDMY6gxRKwDDznJa4VjCoPzao7DJtIOFVlDiQZUh404NLWqAw9PlXjgQUUCcDDHPd78vvmvozS1O6aF25y4PPOtOfA51egXgBf7WqAK8kDxGgBmUAvUrmp7pKjEtscBpEqLAL64Tl7VpCRwwMwqotEwsB6cJIWEMjJltmZypzCXwtgWTXUR8vHzTwoyaPKRE9kRSRiL82+ixPLSeGZNnErSlFge5MTO/zkjGixY07YMdSp04vSmU5yj13vG1Va65ZiOj30CfA++zyNUDVkZDhecme6qhtpDAdDmwWQyq27TZvnWrbkeMW+fGc4zPs3HANGZ5GcHq3vUjsBpniX2PCOLiN5+++wPvZ1r/P59CnfMIx9LXlkl2ntEq1hj2XtEH4ZaTRpFubi46OaZWWhal+uPtnhwfVMmH20xugoV91n5zmtD0rMJT94YkH44ca3VooKVzvoMQAKUCQIANKNc9Xiwn3FVkkLzzUmVq3sjNURJdRtkKQg+SWIESVQUnuRB6pCc7xJmuFOBoQee2w6IKksKayyKiFvYWa45wFy4ec7UHlDWioLEmcg2CFgDZaBUEpAtan+cA7E/F0tQ1zQDvGvTGPBIHUVFnzv7xEQHiLFEqNdpF1MTgWNO0ubEesGSrt3pdaM83aFQmiqw7s3UNWk05UDyaRAITPrEgr2BCxRhmVW+Wa+CH1Qq6akgv1Jb32Cuig2qgRwzi4KWBrEt4tzlw+eHR9QfLlg6yMksJJKnCZlp5joqRdNMgjqx+N7iCcnu6sz1/YytSLC8Zlc/nogH5oDMpW2hsf8zmV4mqQ+G0n/Vg68euXJYvxxC4aLcEt0+Dmg4FKl/bVlwz1XxarX7J2dN8nvz8EQQ6NycPyfjSkS/6hOmdQpz/m44s/2SgLl4Wh2NMsWrluSwiToHhwc8blJ+puNjXlj4Ek0nx15xQVmOjimbYsIwomw6dGssCPDA5IZqxGOt+tzr9ejoMFNLSSqzVd9vF30o60NSqiAuVc6oB/9DmS5VmoNYyPWpTMPQ+SFdwCXPdND0nQT4Yk7ZUM3KmdAeam7b5WzWypm9XLNMaxU0284PGXh/pFsCIA7H+fM8XOu2vIgyZH+6D2WU0lp0XJMt/efyfs0nL6fF0H4rUD1rTcGUxhZgVEXBNtangDOGcf3aGPzxO4GrqmuxOpbWIVpHgQUQoW7jXmIAUqdAdWCndc5QnFCYtiKJa8lerYscTs0oCQ1yNl2Nuo1kYYnMpMy5N4htXiQU2typTQSEpnEiUdNwGCWURjLXr3MYJS75HcCE4jR2KgCnM9An6B4/Fpjp7YgEcd8FuuDHhKk+++iY1zZGFtx8DR2S2gMPkPruk98nu1Td+32qMKVF+3QHzKdC4LEnOmB+zsDco32X9w2LCJHvoRUBJH0+5QMO9JL7DrYnY95c2KRPJr5h72gESE7c/Dcu6VwNXfL5eWDmOXO/1yOFDkQ5u/Zrh2vEy5RSlmYUHqUqeEgKbczCmtUfLavRTFMQ+lwcikN0HQpcWo/krMKcFHyMgMQwCZ3JDdMbym/MtUoAP0Oswpo5Dxj+QUA0gbnbQFFCc+JasATTW7vnoBErg3ATcVgEgDHpRlFWBIgGrYj81Dv4TPcILzz9uY0HM5RYDBWk4lh4VrAhQyqKxIo5MblxtOTeh3kSQerF1ilh+EqxFtTBB6IoECu5AJh4jWklMqzTbLWa5IEgX3Psas6DMJK+kIxSawBPqM6kQG2577qECqJ9IRlCzWY5RTYRE2cuf3PBpt6MzgBWkcjOJIisg6LzeZqx1O00GxOiYK1vXQR9IL4X55HfhtV+3SzIA/INV6A4d4cHgnvuoKSyA+an3l5PPaAD5tOG5nl8ludM8uuYTgIpRGsUbn7VK0wEL4MVYvRDxHSvyBBCRc6y9orSLa81Tkr8/pl4NPYBHQjLR5qUfuS7myPiXeqZgo5s/ZTwVeY9Yucn2/Glj+hJOYY53pQ8Ptym4P4CDbOUQqTXuPQgW7tjLcFfmJLiwCnAOA6kMrUKwkYpmloJgj5QmYh018GJxS22VnUT7XafwxpFsSaGUsTVY+1gFsRE5YxYGcPa76IwOK2lB4htaebuybnOeE+Ikp9+dcaXgjdmt40CFGJ5BWU8pNymgY8yELR0wzackQUcjy19Q20VaVEIAjV+T4oCC0drrQOyk1wkbkx/ITswQfZKRTNXu15OIDApCEmCEPOFRuA1lXFB68HIWvE16jaKZTo7FNToI6COOJseJdZB0pJMoDwz17hEakuSmKlXmM00Gq5WvVnKVV9iiaqr44/8TkxDDHi+kZJTmm45JBp+yTcxLtep/P3/oVOYp/fO8211wHzaeD0DmE/zWbaXun278WlubkVX1/vR+NibmEil/GjL505iQUAnmJs8bIiQd7PsZawGY6IMc2njng8ypRsTHPb2IF/lQkEdppSuIIqNqRxSGh/mqneUMPpPoi68THMep8xDiWX7sAg/HsajXJGGGR7i172Xw5r2QZiBhyPUIFRjVdTKpSQFSCY1HNQxWYSGAk3CpJzSRIDFkiJTKKTwyKxWroMQzOImvYqqwO9DiZAl1qAlFk0oSGc8Z8vSQRQ7rTFMRpMNSrc+6Vnfgg3nKS22Mow1Xszg9QBG4x4R5B1HkXtctwEhvL6uhdPA2rJmq0jCOkBy+omZXtW1O8e5NSNtlfgpIqBCRbRYNN+oYS0EZmiz7JVKz1w6kg1tkEeCkiCAE4oTyhMpSIkmuxiIdYpTRIojrzwBVNWPrV3wDT3QAWkwFucUhUm+j67uVlzvTZjpwzC17dxDmB7kKJ1I2h8IgPnwkzEnBgnvY99Sbq4DPEotL6cLdqwPOc4Wi9//FJN8Ps3ofFJ758N8PsD+6hz9UoBJ0dV1inyFziEhsPPR1tETgQm/5KU3CGV0Dq4wwRHcob6fVfGwmDpgIgXFA7PHbh4ddDRXxKrxUZaF91UCmKrMuUoTRpu18rjgIxPrn46qxeKIw6qukD9OEYI6CNRQQjaETQ6fYkBI7A4AwkZ9KsMcIuUHndfBItNnwFM35ja4xk26kC6NU6JYxBDrXgNB0qTnQGqtYasNW9v4NwHKEzrCjJ9/fO7WO2OTA3gAG4hbgsgObtgWigQvat1jpCeRMKCIBUmhITmfp1WBQEmSQSoRFGlNIrFUUIYGeabaZtqIjrTFYYiyL3CVrdaB41mdlxYJ7/gbBGBaS75tHAIlWqwKCltSTH2L+LpIq3rVILb+9VxWAy1pMQ6Ykko226OjQ3aJ73iRL6kVg1kw3XufEBWvkyuxBDDRQo7GQ0p6Y/HAhJkOrYkenCPpDw4FlQ8Ts13e/b2N8lk+zA6YT8dcpzCfNjYvCEyoy3ais40bFL25SVFbrQMz/CPMxIiATDZWx+MhLS2OGdU5eBtIDzpdBjQ+mGpMJuZ012DqgjwAZtoj0vs9ht8SwKwrUqXyihKLSskpTNdhKEEABDM2Fuo4iPV7Ub1kiUKLdBmukaTO8Fm6tJ4wYKcotetwrkKOuTCFAog0DihnSulYAM2QAgdPFwSKAURE1JuAEExrBz8ESzTV1iioSgfGRjACpA40yvs7AVI8JyUgDNNVC9Sn4+KZnvUwrYlak95BD8GcrGSsPQcNhaoxw+G7VKlgn1tKqNESjTUsV4brWBtvfjfZm6pn6+ZYqWsxGBzANgqsU5gROR9obMkOCsouaZ80ObOlhWmO8kkAE6qyBWaWF6KCyClMNDJeWxyaSXnMvcHIIqJuolxCG4uNEwn3crGxiI5SWx7sM3yaACZOXS1WTv5MAJxIO6qbaYFr1KGDlGNyUxVjiuNeU3KJgJDruzlckGFM5e+9SyV93w8HwHk+6NMBswPm00fgzDOf3uMSh7/dmprNuddbE7x5fOuW3/jBFkXm4ChxuZSYc+w1ok+2mUdD39rr1ZGv0sGx2ZRZZ6il9vAcbcx4a495rclCineUhsldNm3Y8lcBQnb9L3uHxICiM8HLgvdUoibjwjXUAFStKlUUR7Sj42CrrJckosAWPj1IBQEjWRwZNnFI6GKknKlsCTzhMPDBGoIJTtptCxsWFM80DYIZ2SZtwMcYDgLNFvXr8LABhwKT3dVik82JxZoTcNbWOmC6faQRTUIdIWutqDLViZneZBSd+htxkru+Z4hotGyzkNrO/1hWhsJQS2kATK8yDaQxTGvlzWy3XWt3PK4SkJbMlC5tiCM8R+KPFwdOHWqLtSO2iepeINlwUmZBFJhBQbatGCpBTEUGqzQQsfBrIrjUx1qQ12mNFXRSEhuJmCwR5G66psOUE8CJWYkmeyJR5EstUTS0ui6mnXYYvsz9DzOOY8zQiW5Hvnoo7YtLQxp/PHFlYBCeibGy3hvK8THmaRoVP4iouI5J0trl9umP4NYtkrfn8jIfM8nnfy+/gjmZncJ8ycCEuvzGN/xFUc32qKTENZhoEs4/UcSun+TU134Ph0TODB8QlR+Qaifa1mrKxwUqZnwHh7Dsu4oa55vEjldTUsh1TBNSh8T1OFfOFC8L3laFqpSfDiKsY5XEmA6ipN1+FG4V9VKhKUS01wWouVZQidb4YI+2gQMmFGLAWsFsdsCMNBk2qjXBW7PbK0uDSLi7lyrvo/RRcpjpFbGAvM0fGadKnQnuS79VU0nUHE7Wopbcny5o8KHPlIjPfVuKjGmJTCSNolQK6Tjt1aAmNSllvMI0mkQbseIb8jotqty0Z86cZ22ErbaAJMAI/6iOyJvMRlNZoJW6JiVaakV2qPV07VhmQZ9MZMlK0w0JAbWydgx2zYktfJll6aqHYLKzEesgCrWaxRJmJPBpojN9GEFhwqeZk0EE3YoDprtWLCcNPeqkJ/ToERlMKTwlWlgWazAF8nhCgObuDvNp02KSnpvcbYT0h+IHX6WC7vgRcODsgHmGAs960AHzcwRmWe7EMlyP54H5IMPc30QHxUytXuqLSxli4rX+QLY/nOqVxgQ/LGbKpwplXBbMA5U687tAIw1Ylr3EN/zFtSaFVuOYFSYIi2OqVMFZXapgEAlllbYmUojV74ccHiW8WGuXF+6CMpkEztq2ZFz3Ig2FiSAQBJiC2GrUo9aQTEoH2gWjSZFyPktgxxrFmNrXF4qzsaRCHQmu2YCIpfFTMtQj5FdtVRAoKWuLbkpOGeKYM9a3ghk/HzU//bIcExuWWpTnVBWLwtv1ZZIOxm1AKG/grEgQ6IGIhUh07722tj0PoKxFizY+iKRDY3VIVnAdQzQrjYOlU50sZlDr6Xop00iRRWV6lITWNfBAKlIV1gj4wJBHyzvWoXUR9ADKFTAtSfUjW8LUKOCHjG2eF7TwihgAszzK2WIytqn/LDDLnQJ1KUckJhGhRzOqmwqhSxurZkoT8n01J/Rod8ptRL1uyiuT3kDqWV7cu7mWd8C8MCPPHNgB84LAnI+Mt5U87aknUXFMp7tG/I1m3p7yxzvxNFpPQihI2EbDIWXqEzfmufZNfZEllCvmfr9PR/uskFOJpTrcU7rfYzRwcAGcfq8BpYdUD01/F/1UsQ9nHGQ6VlFR0DSJuT8rVY3a8EFENisVelkCmEfM0aOAF+rARKaJRocWBHRBChe9DiqoSA9Mw2gN1wRfUNmDfj9aezO5MopRSOkKwzUbyZ36BIWVQGHC3jSsQoSoK2ZnhmuvOBt44mALTyhOcl2FNcEcdxEV17k4diB0A3Ja6OPNcp+e6N8oh1IBuuA7xCmeQs82R3wrDsYOotbZ1x6oFn5Xl3vvcjQJkRklykCNetO+FgOyCoDs/LhiLMx7RMyRzxmLmmxUNFUzkioSo5t8Tqsr4SK06HyEtwhYhrPQaNe4eEIzQwCx2FAk0ZGFuR4OYtcLsxrE1s9iWZAajKzdz901wgWRydTXqXsTPaNBmFjMj+4gukSiXc4m7qgp1UcisFrQnLgtrURkPTsuig//k9XsmcCc+02cr/o5A4zOJH8x6v7SnDUX6Dl18PhP90xgzvk07xFxY5FTuUPxtCYHTN9HiGih8VlilsGR9lOyFvBdDv1MjuXAA/ESEz8sM4V688L5KhM3zws6HOH51V1SY0XMJfFBjxTmzFEccz0tkQakAUlAMxpE7ieEgMwuUfRXpl4RzSF+9CGS0gE9/KiNcYDk2mgEZDjSgnzKNgXIWK008iubtKOAiAWqEte2pNhqBzqkDcHHCWQCwk41ar9GJD008Fd6Py3UKJLYHazdKMOuBkC9UY4gvWpkZGt8Y+3yNy2w1i6ajK0oUKEYdBpSSBn1LZecnAxcFhRAiTchPqLuI+aq9uiFK9TiijHEtkHekIXPs5IIXlYBw1kZNPgQZ/4L2cDQbKGUaViSlYiMLUXAfZjeEaCIph0IbNnKDimoXUMPtMMLSPICAXy0/IzMSkoGU38MMpLdomhms4R/WWx/6OUxeiDVFsnumILYB4FWgtTrZLSMszOJV0SmD2cEn2ZtLgl6bdJg4O67NUsuep7lVHz4m/SygHn+p3/+Z/NLg4b2g3QKc/4r/RyAWR6NUz31gEDPw/6gT3k2Y7N6SeL9Xe+s6/coPMjUeHNVosPMR41R1li1/SBTqnqJS3Y/5hy14bxRMo/hDyyJ98mlSDIaaLgGF8OIVVWi1w8rZszhiAly2QRh8F5ZrNqYwlAhGlFzxIGCSHMSzpYKYAT0ECRJSLvUIUHEm5HymJBUyEZ3IR4F09pyhex0X3Pu/I+I7FRKubA3Ou5adhCF1U3I6fFmOgCKSBBez31ebLsI+qlR7s1x/3gemO1XZp1EhMLUgqTQE4C6nJ4mpQcBHRU6VemEsa3wbt2h7gxRFqqTSYumiooGjgq94zmx7s8GuYRTpzZZSABaUtqmeT1ZtDJFkEhxUKP1G1KL4LHo6crWKrAuoGYEfgg7jIK6QsqRVFLp0KLXaBIP6lSTraqCkZM53sXEaz5HMw3EKnRnRwOPOHGJ7ACmk5Ro+KETPwCuqYdIncxcAw8oTF2uWqyTtOcU5nQyJbh7xmqQd8B8cY53wPzcgUmpbnIr0U28PwA4ift9Ip1NfTmj6yw0Y1pdJeezzDMoNFaq13w/CZn+oYK/ss2xDPYShbnAqyrmKQzLQUmYS0epEgnZLuFc1czoks4OpiHvcRVtW7VaRNCghpTVHLmWbRolNiyBRkmkewxzOrJGWdYMxRlGLhKkYDJDGVpWrCoY1IoDxEvCJm3ITZFrlc+tRDNH7cxxwftB4wwHT7RIAh3hGEAiJFRlA9i5OXxOTffHb3DPygaj1qJxiBOISKoE3FDf6QFqqUZ1eLPNHNoaUfImMCSQ1gAmgjNO2VYgrTPBrTLWMJoI4y+KFQPQAp9w0rIyI9bjfibTMA6smY5theIhIelFqbUBkpBqqSigABmsUJmReGAGiOL7d9RnMhGqgqggG8Zy/OgRhaEICpAS5MlvRMbJS8qpDC+7iqBmAmQa1Ps2ipd9j007E/gzZyDmjAhpSX6e9NYkH1CSTjpgvjgr/R/nz3j+L9Xpci73cv7DzacSfZuI5v2WbRoRjr9DxO/d9eO6lFI8KChFupC7zQHK9akzwWEnI4UoyHsuEb0uM5WmKUFVuknJlvwMjm7BNLe7iTKTIzWMEuT5OTMc6rKuYq4HZWBVpTAvThhFxOMZ6odcF/TMVtpEPZdneaTqeC8IXB4morKuFNF5FtFM0nBQaRYunc4D0EydBwCay3msrTIQjnBTIl/SWq1DJba2XpFaUhZCSsGMdqU1rm8cQAnRisdeVdrGbPdjwk17NwSavDl/OumZZ7MX4TCzrbWMdQs/A2pCJKKPus9ecr5JHFPXFqlODowWIhquAOfLRAYq/JQ++bxWqOBBEMeyEoWQlHduOhVaQZdaWOiCiSZYW0tGrNHEgZgFpkm/kmnM2lQcmKKoOYSqdKlINbwDTumqspLABCaNKgNYhnXP2ABzCXk73krpKoL6PDBlPCb4NdHQAzEvNfCzWCLtqDJkw8aP6ZLbbSZoE+cVZiaoCvIKc0YaVUFtk2LXuMOb8dXKIKsnlNNdP4pvvkmyO5didOtvhvNMt7dnpRg9Ro9f/ubCHTDnqPhZgHnnjgfAzZtEdxtgfpQ/SpJhkra5lQBl/5IHZb/nG8dCYSIRvcyJB31i+CsBzOQcMIu/KgJYw6jawZw9mWblzXZm0+cAPTBqwCckSiHgmnZslWVtotQ10DjiOt4lXq4ripDYjRQfGyFVEwAEDoyCWgSo8DgQl9TjgjxSKbR7U4AlXKeMlElHHMPWOAcmQ30qrZACrtpmGw52zqPZRN5tm5ppGZpNK3RL8n5LnzTabDtL/NwMFXPVPRbv7KTphiWDNHEvMR2kkD7kAkJKS43GSh7ewgSz2jo16byXaKTUzK9DQWCRxwNYIjIOIPtWbt5vWWPScHQqUshOIjskNR5YmURGI73fmc4OljgnrNFbhFB0xBbqt7Ipl7i6JIu9GpC00nfpRmU1JWtD0VJKmAxMYAs3d1Cl0Qy+cCWWUKCoT49iH/gBJGsHycQpTMATwGwt9vRyYubnEfINi0VmWZn/erCc3W2ASXSXtt/EnOl+ub67K/du3Tr1RXbAnCNEpzDPDMbLBmaeUzIdThww+9Sn/WzKa5f6XmH2ZqTyHh/mWQPMlMMA6jJx8EiWckoWUeKYMxRm9FGBpuinwKzZmd0AZtaPgihnnWUVY2qIVJGqQj8DY6FIGQ6RgE5Hpo7342C5KiluK2uQW+l9lj7K4kI3yivKEGFj9soQZjjMa+/wdAa5Ulw50xoWqhUIOz+cbEijiBJqswUhgtg+uOLNddjP7oUAXfF/bOBTZesnfhOpmTkRabuun0vHdPZ3Y3QzQzkqwdrBX1mpYabDxwp/ZgyT19nZgkRRgNLXQ7rcKQOAeqBbIh3XeK45AeWOzvrHzGiGgdCKQhVaFIqmNU0WrEy4RJFU4Bq5A5jYKGxuIx1IKZVAdSYqMEFdGfg4wwGZXEpJJZRpOaUcQHTllBMZDddrABOT+1ZBZAN7LAFq4guiKshtEMU42qnK2rWJ85BcQJs4OxPX2A87LlvTn/apTqcuT3NKfWeSz7JB/lkaseoAACAASURBVOsBdcA888u/+INOYb4shdn88UFGUaswHz6kNFqepkeHrEzcE61nTHBY9oiG+YwP8x6bKnPTOSDHMqzSJjk9Z60KjheIEOABMGW71JXLtCFCMCcziQcm1GYIAzFSYiql01DYkvYNgms09lXoa1maTM10GuxRuVbBmHZJ4a50kZmNK0GMWKsK9ibgWWiluYJucj5N7/N01T4u5INtpO1oC4Gm2EnQtiZcPFcBQodMV1IEYiKEpBhOxUZQ4lfulWqjLEFda+A99OBsVaZWiFL7QI6H5ena0Q1mt0sxgumOXnP+bJdjqdsgjxKnKqvToBDyKV04350HmR0ihC4IOCmXq+96R5+Y7iVZCvEnxJCNVHi8UtdT9MbkQNdQowgIAZj1jCzSjLAdRGKTJKn6k9qyCmw5IIP2ekqFtqxKKmwpmNMdE6X1R5FBsjvKKNFfxOY+2d016ghy65LbYXojEBQlElpywNSYqujogCeoDLKpqAWxse2JM8sxDUY25WC5b5OM8ksAZnvf3yXafvO06uf67rlSyU5hdgrzdASe3SS4nf3RHT+XfOl8mHPqfO3OHX5vOHQ/8BuYMzq94bbLMSVLatprUuNcvuUQZnjB3FvxJvmkYoU5b7D0e15dQlXO6kKlJfEEQWlklFvWBUU0iomymlUCc9ogncgDM0AfSxcVJ640aUx76zqmh6gprxW288jED3v9pZpN7LoJwaeYWSQhOWBxBLOadWWMAhCV1JoFKUYQmmj0o1jFMGvh+0RUvFbwQQYKDsgajkoEnNCZHW2RnaKEGkXNENuavcndllHiQJTllAhRebUHzVrUGuWS1sJ6xlv0vjxY/EopG2llAc75xPU22N1Y5AA6jj01u10qqfd9og1HZS0FgtQjH7xxeZoAsiip6gITIiEZVEr2x7Jxue0ShL269ZPW1piU6/GwVBNtA4P2bVFdS4X3huT2QNdtUw04bjmUOkYiQEnCVhxMESDihGyNpPZCxPYiMXsHrj3cpCSK68hO8ZwlcTMaM5lwiGogD8xplJ+Y5CMcY2eNeZ7KZGkm0SSVCN33EQd6RBRjMrSjfnZ1iWZPAyZqzN+Zay781r1TmD67cxFGt/NhXlyr/kIe+fkCkz6mVMezHhpjoNchciwHB+wqdnq91EXEJ0Hqot+VIl50YXAi5CaacaFmE3Jt0VRVsE1jtK90MzoiGahnSoV1bkp1XHPU62F+nsrP1miRh+mnmEBySxg6eHFmKT5QdqWOdIgqHRfMKREx92CTWuu6qMLa2mAlkqVvfaX3LwCm7/5o8t8dm/AwjkIbROh0pshKjZpDl0tJyOf2yYqufrzpgtk6LTGthXL2OpRkBbAqpkARbPNKKadCAUprraqsBG8t8/Xf/lL8W8OEUbZCRzM7/TcfVn/4Z4/qfxcHQQ0WBhp+xkAYdTWuBadXiR6ernq9CQihNgfa0bsHAEwxjVq1luowMOA2/AreRCeDdCWkGSFx3QeMXJE30lcxcS1uGqmYbGrr8cDosVZkdVkj498pSldqHge1qnygBWWUIVV1j9LaVpWkLCghEprNiJPQyqBnkGiv0tCa8cR/njASNmQrE7kKISjMUUrGl0+SVMcFlwOkHOUuiL4SLlrKDtycQVCYkwQ+zVTauYKQ3+6m+VWUXaUOmC+Kq19xk/zzBeb04WFvpKMUwMQXBGu8PmKFxr5OSSpiAzcgljShHrIlE8Js32wmhZpN2QFTo1AmJYWIuAcmcU9DXVZcGLSU7IeYoMxlS6L9mjDamTOmoIhQEW5yBbN4pkzySAUrdZ9Crqyv6caECwgKs+KsKsJqUsf5rEr/q787+s9fXVBX8JN/sG/++n/68/G/jKKo6vWiCgnZWilGZBnRby2KoTRdzqVYFhWwM2LdAunmdGdjliufl9kk4DsFKgh+mbCs6vAfbARf+w+uxv8IoRdfE+7nkYHR/3//tPjXf/Kw/rM4DqowDlHc4yt23GBijQ8EZWlJQqQK+ah5ABer9goTYfK69P5PHFuFLvTuGw5bSyEi5bgu/JxouYkqH3gxoTqLWhR7hQujXJMap5VMokAM5aUNlLboeiQVie71qro2KJWS2taIipmBBJV1jecyseg8B09CFBiJkc6PPsti86ISbUPXsMPmpZg8ctvwcS4OpAYwXR84+DRXYouKoDqKBQqT8gOqnUmeyMQFhDC1sK8EUuGKLfNHPFxendL797KDq9d9YOecSd4pzGejtAPm3Picn+hs3iR/5/q3T8bKNSNqOhJhc+0O8XtDD0WY5A8fejlzYKmnFqkBZkbUSyk6ypyfEsycApYpem9DVebcB1hjqE3mfJu0NWOFOjhdITWHVa0wZ3hJURSRVZFSXLLNI3UQU6xCP294Oa1VompV1AFj6lv4M41rMlRTRUF0oIPVOkQdiwuKMCMnB0EYo3RZFNF0WvXf6Ntf/+d/e/TPIdqg32Di/qs/Pb79USE/7Q/SvB9Htdbghq/GERQLNl2HYJYjC7StM3e15cql+LDARQBfpoNl4wZQAZdVEUxnVaRLu/Rf//bon4qgQtMHsfH6OCdwwSGp//t/c/i/WhUeJklY6ggu0SaVqElG900unVh1XYBZAqkQkmr8m0grUtwWVrqQukE4G6/lk9KVS+CEioReNqpy4MVjo0PjJmxHwJ2VSS2No0xNAmWssDbWF4mTVoi258a10EPUHFP5msqMbFBSJBDDVjVz+rCtbBD5wiRrS1H9hRoT0qHzkSlKYYOu6iXBLMc3lfbIomM85TGVg9xiLnQozMjNGZRTRhlhXzlMLKyaCM05YJKjGXHSk9ocZl8ZLk47k/zFNGYHzGcC8zRPtZ12Aoe7fpdt/SMRbbxH7Ej5FGAiCR3PYe36VCr833caCrWv5lHHzNUicsy9eT4pY9bHkwCmGQI0VvsGGlCYMLfb5HSbkzpQFNcx4afu8i1nWR24DkSYoCxiFSUxsym40HG4K/m6dcXl0FIER56G4qutCWbHs954Ug//m68v/heDSC8WFRFa7QJWh5k5+u6fHv3PywvJOOklVRq6H73Lt2S0fnMeSifNmEzgLHAEbzhAuzWvNvEPAkSIqCPRSKylIpOwrKrweFal/9lX0//49eVoo6jdPOaYMNLJMFwr1ERxQPT+o/Lj/+Uns98f9aIsjnUV4pMC2wHCH03wBloTvkenHBFBx6eA0sVLumRQQQ6+z0OH69firUCVurQi2wSJXHUn2i8FPn9TCBnvxqtRVqZH6rifI8tLm1kxEVdO6ToUGQm0rjENhg4DayrkdpJdqKVAnblK0hqyD801bJlJaCurNeYMIlG9AH/ZCJVAAXI1s8in2AtJmETGhoX0IaCjWGZZISkmWXMNh3M3BQUCQBgJH/zB8GWu9hzXqFHT1O/Nxn94P9u/fM0rzHtE9I25KtPv+x6Z7c/iXufDPEPWDpifMzDD5awHQOJGHijio4I5AEDzhNRy7pr8Il0ISeqzihSAiUg47L3JUaUHkWsQzEky4JpLxjZchwjqAJYI/BzGHFdRoDAVrhS5Qn/cemac7xIT6WBSMtSNT5iicawuGUWRC3LAUCxMYEqrZ9M6meVV/x9e0r/9jV8b/vY4I5qW6ETkgdmPib7/l5N/++8m9f8zGvVmcUg2DgPwBwdp+C+hLp2Jzui1icRFwNSb7Q6kMMSdrYkIumWEXMo8j8bjKrmUyJd+9x8s/IcF5lYrXZ9fQuWMAyZ6wGuiBDmmIdn/8Y8P/2C/pg/7vTgPw6BG+03fwRhiGVEqb1LjM7q2Qk4RIpdSCeoL4YjwWUbop4S0Ip/g7qqCtPJ+SpxbKdEAJc51efFBjfQi5GjCE9qvzDgp1SQgXZdSWlOjgFwkZjRw16aqSbSuMcuasRSbJVuXpa5FUPIOiz9JxB7VQoUHppvvnEuX8K5TJNMHJkWrOJ9oIKEKjQlLZ56HzsfpFaYZIQhUUDhDJ/fEKc1dm8goEsnyzM0bFMWpzLIZJcsr0w6YL6YunXvoxU/9ZTjz03yYF1eYNxqF+f77xIMB8c4OcXSNUqmpn6KDBlSCm+6WEO72DSZ6Xm1Wx74z+q4hDQXpppTIxlrFQ1bVhKEre9oHeZCcjrjOrGDNXLGYUB3GYVzoWmNmRwDTImGyYDezo3CgFA5lwzMO4kloV2tDKWCClCBbqSAvyyg/NulknC3/i3+09q3aqvhwRjTG/GDoQ6GFRimm8pHiX9599K8Gw/h4OOoVUQhb2zWiQL82F+0GCBGi90ntPrWIAvg2fT5nm2oEiFaFCWZFER8d5f3/8jcXv7mQBMNZRZQBmHMKE4OFPFIozBRdl7L6+Lt/Mv4/R0M166VJGYVBjd5nqCl3ARuUrLs8es9BNAJ29d++LAghMfcMfJi105yWNOp/ENiBTndZSW7OcsO29sBEpMn4VnAuBclY2xN11MdMEPCLGnTQRNmkIbQpIR3VMMf93OdkI9HVyFKJpifGZq73EwDJBdliGkiCbRXa2hy6RsQmqCSMe0YXvgqoBaYLACFnM4wlNYXFbJRmBBP9iMJZ3Ex9kdPELkoYZ0JZ2rSDy4RmKdmUpuM/pGz/cqMiO4X5XCD71Qbmp8wMOV8OOd9Vfb5JMEb7+7uk6C0/7tehJCMPxI//8ri/fnmUmiNSZenn2pnWaPSL/MrCwTJeSKga5xxTQru2RBNzN5VgmbOGrxJRcDftJKq/mV1zDZdjOa0C5xfUrPYsx8iehKmOfYEKIMrcthUD2eXSfDIbxOOYV2sy6CEGwHCd26go6vhgfzL6T68NvvnGWvLr+1OigynRGBNzCVEUCA0TouU+0Xu7xf0//njyB8NhmvXSsMJ83VrVDFgjKv//s/dmT3bm53nY+1u/5ZzTC3ZghgNwOCBHABeRFClGJKWJTFuWFNllp2Sp4ovcpJxyJa7KX2CKl7nMjS+UG1dUlaQ8UVWsKplRJFtDk6ZoSyS1kKBIgsMZEoO9t7N822+Ln/f7Tp/TDcx4BiRlKtMQIfT0jkb3c573fZ9FJC9wEUqO7yODARGGmT7GDUceoaRwTVSdC3qx8Pl7z8rrf/va+INVi8xJosb1DJNHcnBBMEyJz4OotD3b/eyN6Ve/uUc3xiPdGKO8lnppEGfdTn/Vxpg7KO1xjgJeRtxrmIYmzMAINsIrMwPlICWevVkIn4RPsEsmBSaNJSIu6IiIw4NEjIVQB7kLcxMlcop9z2ghTwK5Vc6FVmiDMgsYe3zYINXiip4K3TNMxYQ3+tCDJxqEkiiDioiLc1QIE2K76AEzwhrZxWDSUOeLkGIbR8j2RM5mnZKxecLLse/EXQijOXznwSLlPY8Yz51WC//VB9X6SH774pcPR/BLdz6cTkby18fQE8BcH8mPfZ3eCmBeGwDz7qsknrtKdO8WiZBNy5HeGPEOs25IyVx0KCvDnvIYYMouFw/TTEmE/3D3Kqw0yLG0+B+F1gEFGTC9dwJunjZ6dPnI/WRzsEqAFrIkhFUDeApBUcngWsWCQyKza8Q5H0SOWAmIW7wPebvoJr/wzOiX3nXavuegEnJnQbSP4BvsMENi3fk4F7RVJNoqKN582L38lfvV58pxUeVawkCdMsNggSR1Ebs+GBNXocTGSFzCJY/hrOfEKO6iahpn59PF5H964cwv47FjAcAEWHrEba6OPsP+l0ETYzkAk1Js/5d/9/BfTSbFoshtC7wmASoLTOR1JmeIACWRZcTXdCAiFKZAbw3Ci08YHko+4oB7pi62yPNkgBRGIoKdrZIgpy7Bw4kK34h9pc/aNCtCmLH7XEksSvuA4j7BHaSTQ4yFpmDbxk2E6qLDSJ4H/Am2CU0m5EPoQQff1QKaTkqx6CPiROjiCjD7HE1cyJGlKTzfhh4FTEup2R+aKfGgZynJSeLgDqe7hf/qZrXOME8A882TzBPA/FEC5jkqRwtiwHRoc6ScOozhXSPYqaGhA28IO0wpM3EQOildJjJLGJ36qzjoJXaT+2TY2VNDnO6EykiG4MVCk26NsdF5JQT6eYJIhZLo6kkdHM5aBty0NRKDlH3o3cWYRF5VXnvns49fNJ/4yEX7MymJbK8i2pkn2quJ5m0/GntwLQGgwlhOtF0KOoNwT6LuK7e7r3x/Hr+qrQjaygRtJNuPAnsVuV6CR3E8M3gplMZuUYYuKOelOjhYjP7Wu4uPvu9ifgX7Unw8HsehYxwu5KB9rLTE8Wk4/AAwxxnRn73WvPL5V9s/Hpe6MeO81fAl9TnvzBC5KxfwBWQcdJoRL9Mo+IGpHTUXeITpw9rBNSG26ve7uIpHHIdYRsRpRo41SgyYYJuZ0gcj180AwFIa51nfOXQEqc5zIDLS1/Gv0La+1LINvqUYsiCkhx8JcA3RZ8RFHQA6glYTfnUAZoOeoA7pncwa67bjPzGShxElI0zoe9Aphf0mmclm0rHhqgvsyAMu55T3gLlBPWCWtPAv0QlgvnmMPDn6HH4Fjo3kv/GZzxx9AFlz9xwZyddS1Xkkv0ESozh+gWH+4lWiW7dIPDhHpbu7P1nqMAGY6hQAU/DeUhYtZ1hCkL7ISZgaiWyo0yby+Vgk2UlmlMKJUlp21bB7B+N1qpUQRlRJ6JTpTMPKAo0Pp2cI5RGk3gW02Sj4w10Kah5isefkxbYN5TtLeven3ln+0mYhNzF6H1S4hBPtVYmmDUbjRA1aZ/nakfhKjXG4B83+91YhaLdOs3//vfYL+z7czjMTND4RqYVSIJRYE8I/Dl1OnxockpRt50y16DId/Kn/4RPbP995oZYAjQs5RnF8XGaEa4CJd4DPA3tMAGZhU/jNL+z9Ycrt7iizrTYwxkvEHCPxgsdMXJeRI9lfzLFCDSx2T2jbYXyFDDQlgCarM1FPBgE8SClU7pALRc/vJxgZFB4LIlSmMeQUpmUnpkIpFKl7SEDRMAlm2UYKkP+w20eqqMj7MqQW1siIjetgo5RCB1zJOcW9o5TbFDD1M2h2LlGmuVOIw4jrvsqXd5iaUrlh2EaJMrVQc5cRi9ohZS/8ZmRJ+8AwxcAwxXYxB2BeGHaYN24QvSHD/NU1p89Q/bH8+TnaUY7nnjh9nhCH/3q82fGwjSNWSPwV1gHzWKr6xSGRCK/2tfskrw5/5d17fUXFgzsk6m0q9W4z5gpcvDzPSVStQpujm/XXbp8j05JEJTux7Sey8h0DJmRDATmWXnAQsG1d7w/nyzPSikoF2VCLgVlSJmILGim99iiYUR1k7I64AC2ZoF1Far9tJ0nL53/pSv4Pnt5QT9cdCYDjtO73lftNojksdx2qgNhyDSlKL6gRAmE+VBrB+0wcgbYKgCbRJBPpWw/D/T+/1/5bUnqaa5GMgQtHJPwPSWsshUpIn8Qo7u102pS/9oHRJ5/etqcAlry7REIPPibG8T6UsgfMoaQHT2MszzCWW6JJQfTagdv5v29Mv7g5yhcQsxvUikfRp6ID6ns05Bs4QFQEfF588UmIeu8krJHDVb3vB8eWMympUhsctpGYyRNClfA0zPNcc4HE9ZQONjqasi7JdQHHHhSuodKiFYmv78wwsa8MypfkWhx7TFIehyDsMw0OQnnua1+TkUX07ZQBEtd2pBzBQgkhU39BNwHADcDU2iahZpE96GCZsMfXWaomLe8tTbcZ+qqLfiRHLGDTNLQ9yuc3vknVqfM9EH77JtF7kTI//Lpzh47uMN8IMI//mL8NKive1iP5XwVg2rvNBKVkwWYJwvQKPvA1wFR5KxbQWQYnCzHmHSUAs4udCll/5AFgipaUFU54MoyiXhnQGtEl0h2FHLFBBiM7aU7qRRd4jDh7dCoGMjMnzO6s2f4nH9/8n5UUObPKOtGsETRloEwE/zKAsvaJJT0wxPSA2bNMbCiRI4zjCxgegBMs81RJdHoksHvsfudm9S9GWe6tlaC2KPxCoBGHEAO5Oud1tWiLMxk99Q8/PPnooiOBz2U5ijO7HAASH3cdLAGYLDGSROUwlm+UlP7FV/f/ZLdTt/JSdjZjBT/S3xKYZg8FKKUQy/COKKLsr+acoYGqSCA5B9LFGNskhIaTnY9DHlcqPGKg2SLBA9AflKDJNC5Mxx1NkXjkDTmJWl5+NdzZ0Jim+hxOz5DnxpjHBWSemYPIHcAIwOQeDu8omSKIUEWjCi5VE8FElRzWsClgdSoMVzEBMJnPKXShJ+5Cl2oSadqSOJXFllramqe4sJT0rBXeZEmO86imDapOZrdOAPOJGd0JYK596V6PYX79RRIICb4xZF7SC0RLhnnn5RtiZ3xNnL73Sv+1vHKFrmW3BL3jaSruzUZzZcastZwJgfZIMycJRglHDy7gCMWBGl05K3K0oDpi+yMM27gz410CMFXHtxdqbZ9AlHCbyIRsO1JOi8Igu7IjEYGXuYbuBTOmRGuZ92QPZlVxv2rO/ONPnvmnFEWBo84+2GUDdtkzSvxuAJbQQGIDGBMffTAeQ77IqRuYMHGxHkZ0AObpEdGFCRdXtH/w7cXvjHLlisJ6o/mgwkwaNA3JFdW0zmeLrvzvP7b5wsiqEuwSx57lZZzBcm0UXx/Lh5RgGAAOQXuz5DbH6n/7yt7nxqOsZttkrh0DF68+4eAE2GBc7J2UEUDG47hKcNv3MqGegaK4h89GnGCEtGEdkLAOEMY/i9RgnMjGjDEP8qDwaYphwCNnmFnnkJ0ZA2McTt4KlisKvgiuJaeiybRHDjH2lgDM6OZ9YAeeJgS7U8y0TrHlXnQGfwS0C2hOkdaOHSb2mthvNmCURKK0MV/YqMd90lGxoNjkxNpMb/pRHWzTZG7+3e9PFocMk4jee26NYWIj+7m+g/fatRfSi/QiXR/yMd+wEI0/iZOR/ImR+Mf3DVfay0etkCvd5de/3oPk4a+1p//gy1+Wl14uDh9sTn3wmnhueEVcx0cZib0dEmaTRro+GPuSEJTGPeFKnBNStgKXzkaRNPUcQyb5bCx02JNBjlg25FqnfLIKMWBgkiNbimBr9ovLoIWjwAEaNWntS525FHp3j+7ZKKpvcTRHqdm8ifms6sr7B/U5F9P7Xri69YnzG+XZg4oExnCM4ACsFmAZBftiAJQuLsESNxOksvXjOWAcoJVrQRt5otNjkRaLZv/WXvP1cWF2N7fzJrfKm0xhLGV26T0khUFXTZu//5x5z89fHV0FWGIFgHF8eRkf6h0PbZE8Iw+Mk73lS6vkANhgutinvnRz/u1v7oVvj0vTWqs79i/1dsiIgrQ+LxNOd+wl+wANvqjzxpBtR8w6IRbnMZ4lpewQgrITeIvDDzCRd6FRcRf5QeHSFIEdskseL2OgRv8PAvQ45T0ChzFK+yykRogs+rjALQdypSTJBWOxp4QEqk4623bo/AEDRXd8bKt+Dwpja144hAyDYYrNUYzTLolizJdz7j+v+wMQGGYRmthATXDQYpma9MYmP0LKXM3vvDKZv+5I/m5K3FU+/Lqxtrc8Acy3pXD9rQMmdJfXPk1pyTBvT74sloC5c/dVcfUXf5Emt1YMs/vaHUkXL9J2RaO5aCe8q+TOcKIClRKyYzF644UU7RxDbi/ebJwKstdZJmWln/d7S5zJRY4rOFdKiNSiWKFgK+Q8BhMKypLRXFmB/h6PBCLU3OB41JFuapfNq668uz8//6Dq3j2ddec3jHrqo1fPPTMejfJ52x94cHBxA1D2oNkfX5hp4gZyCJioPUss8Uld0969v3NPyrizvVkcbG0W8+2tssmMCMaoAI+k81EFyIi6aKpFNfonP7v9cylKg1F8qbsEq11exo+wymPHH/a2D3ZJCNkBmJsFx2G6//WPdz8/LopFXugWlkRmiH3mG1CxN4hDMCTh5MTIPbC/XpiJ/yVHvi8667M3o1A6YKCG/zx0LNmELYD9TVbIg6ILUxFlEB6heP01nRPbtUTXBoMnuS4KEULmZSNzCqFGGAcQmlcG0YKJ85XcpxhSwOeNBanh/DkdUa6GX7rQMFly8yQQl8Iown8OwOTe85pSXmIkh27zIAWbJz9rRLBt0iZjhmmtnB0BzOMM88OU6KWBYb7wQnrxxROGuU7+3oYj+X8uwOzHcIPOcOgyLUZyIU1NvUfcWjQa8l4SOW4pWqmD4aoJAGY0U40GSLZ8DICZYiMdGT0VoVBGSw68kEhNV4geh2hG+E7prot2VlX5XuXOPFzU75pO2/OLebtdt2Hj6e3JuevPnttSJlO1S9QMlsQO7HLYYYbUs0s++KLHEQHD3ocHd+/NqsVivyzMYmMzn29u5rPNjbzaKDKX54hh470huSCUazuzmLfZp54rf/LahewiVgFgl9hdAqjfECwHlrkE0kFozjIjvtznRNsjom/cre9+8XbzZ6Mib4wxrrdngzVC5QSXN7yZEvFtw1UcvBNfcj4M8etgY8jHdNzFuS8D/nG8HIHwAF5P0HsCeXNK+7kXByxCT9I57EoAtIrQA+TZXskCeoi7ksvaxIDZ1Qmm1Mh7VAAm7jr8yXrcq3gkRwAHzlfKFAFPAzKtSR6AGZNJ64DJP9Aqxdz3UXA9YPZMU8MJZJs+hLjJyFp3Apg/wPh7AphHdpiPH8mPM8yLExLbL/eve/cuied+sReq9ztMou5rJOkiMcPcc+1GQjNjy7mIoig6USGtJ8sYPHMPcXofqFFBwzIApo4kM2tEEI7LzGZxbg3U2TySG6wSOVa300LPYyilzkRKQbLwJYfyr3f38Ou0wXYp2r2q2dqt2ysH8/ZUNXMbVd1utFW36VwYP/f02VPveOrMuPWIeUvUhp5VLpnlMgQDwW37Dx5WOzs7B4XVdT4yi0me1eNNW2+Uph6NszbLbMyUQEEQ9DMS2RKLus1M8Kf+0ce3Plp1QrJXHWuJNRnR+kV8efjB89afXsqMlhdzPkABMEv8meJv/cn+fwjK7uWZ7mymPWSXUeDwzPlDbNBk0w5kPCzKTAyYzEEBrBIyI9gAJHIzWeTOrOduZAAAIABJREFUozoMPpK4PQ0GczzfktjPfZoqoKgkRBX1HnR8nICSj6EXiCiYLHWy9c5Kci7YXpwufbJCBwuZEXrio46NrCMqLXB1i0IHZfQAmIa0WPDTAfFv6D43Wx6dQMw+M8tdQMwwWyJ0AfGfWIri+DMwzBTm89174xnRK/x2O+evJLr5WTp94TKP4befrdOl2Yf5aYzmL75IdH15Kf/MkXo0+o1Pf/pwdOd3drLD/AGg+Mf2TZ+MYSJtell0NpmQeLkYAPPVm+K5q8/RvbWRXH3+nqLz52lMNJqO20nyw6EHXFEJWQ3pRQbHm9oxw0wKUboj0aHT25MAWGbWsXEHx54pqsQBgCg3g0B91mABJp0Wei+JkXIDQCIiwoBvsCpQyEzKEKJ2VdQL5Uf7XXjHtPEb7bwrF4t20lTdRlO5SdN0k3c+dfbcpYtnJvCQ115Q6wCa/SgLYTd2lvsPHiz2dvZ2ytJWRWmqcWHrSZk15ch0o8J0xppgIfxUCK5AgEZQlfd2MW/yX3v/xk+d3zAbkDFhfwkZEesu+5qdfgZekxD11G6lxVwf1Tn2bdBl9vrQRKdGgu7P3fR3/3LxJ6OJbaxVXnFBOjgl/z0Y+KhPBEECEZw//V4STh/sOD0iltAOyR8YMzsuPuz84Q1FxOv1x6GM0n7m0ky4GILEoWnwq+NhCrYgFrljV6qCMp3XXYLlyguc4aLG8Snpmvs6EF+SYJh0CDRGohE+P6ODEjrIaPqjTzyIKiau6MX7HuvSBy5II4rNPCFPE/IjYGhe2AE4oR8Fhe33kqXKpndeodUOE+HD8xuHwHccMP/ZZ14SZ6896F+O8fz69cPXPQHMH1uQ+2F+Yj9swFxZIZcMU32eFJ0nGo9pNM1okhYk3bwV6JcAq2TAHBOZA0yEA2CiwzYbia4ZAHNkhEaDNrKAvRciN4qZKjIeAZiN114GGVSm9n0ckwwSYz0fewIAU7FYXGrulkWKraxELKeBLlXBjbrO2XYWinrRbCzm3aRadJt15Td/+iffeaUOWgM0KwDmAEy5TmRl8C9/++XXRkU2m2zki1Ghm9HYNvCUF9YGbVRAiK7SOIwH6HpE54NeVE3+VCku/f2f3Lg2rXsZ0fIyjt3lIWtcG72XOsxDIF1KjAZ9Zi9LJ96lZkaAXbIL6dSY0r/8s9mNnSBuF5nutNZeaI7NgICViSL7eLDbBFRa4ftnsmcdCU7YQLCZB0l0GMsZOiFchw+Agz3gIkreum6aR3WAUnWZJCSk/WfFzh2IG4YGSUVBhc7rIFsVktfW+7AETPQUw3d0DDD7ABAKtph4SI4CSnsWB0lFh/C4hO6mzBgPHSY+ZMOAaaMybeq403wS27YlMMseMHFNz0h189lbYZgngHkUe05G8jc5kr8+w3x9wNRqMa5KPYkVybbupBrZZIKQNcZq2QkEA+toJcZuHIbgy+tHclzYDYnOK8T0cJK6WgdMEr7trZJtDOZA6FKgukwEaWHjDqS1UJzBjqpHZRHLE2UnVTYV8WKXUuF81H7hrGtcOZu2o/ms3ZxN6+2Ncf7UM++4eP7hIhGOQWB5WiXazAU9vHvvgWvbe5PNfL4xzqvJ2DZ5rl1ubYB5HT06miOJA8Cdq3CaurPzOuT/6KMbHzNa5kt2CQkTmFJvwF4J1deZ5mNBcwDKJcj27p/E7h8cfyBx6mJs//c/3f/SaJQ3eSadFJyk3EMt4jhxOWfNFTs1PXaXnELEIzv3aUY2VvaRRhGMEsOAiOwbGPAzgmEe5D4dSCm97zxakCIeKPjIpKVjaRK4IgDUd65IEsIIcPcApSh850aoEDofLTI6nU+qzBzAk0OODMritVfKMEOMXZVUC00mJWc62tRbDu2SfDWH/Ch1KVMm9oC5HM17hqkt8Yjuw3y+uD2eLr/tdyBgv3mTTl/oHjuSnwDmCWAePki8WVnRMp3oWwgKJqLtbRJ3xzf56d17Wlx+4Qrt3Rl2mO8gOnODJF0g0vVi3LZ6A4BZeYRq8P7r8OhjgpO5g58PWmsr6q5SXImLq3iqFVptuaER9mwXFOomUDuB/1YazWJatCGYRoqSNH7kArZfwqEKkhd0iNzhG42ChLKJlNeZON8pyqJLMganUyOzRVUX02kzme4329NZc+r5K08918gs36+5zgYZlGRT29597c4rm5vFwSYAc5Q1xci4TKmg4CPnJh90biDnkhTrLl1Ss6rLP3ROPffxZ8tnDgZH0QINC5hvkUi0NoKzUH1tDF+O5Mvn994dtuLwdzGQCNQPxx+rBY0ysExir/sfvbL4/o1d/x0cgKxJTiicSxIFHsc5J4T3jQHckyXsOH6rGPCFY3dPRL5Sv8PECI5R3OCM3X9YSjJk3h1kJPbxOkH0DJN1mFyaRt4n1JhDWIks5dCNk2w4bI61TIrZqkEdZ+fZGikRzGEzh1g47R1bxo3ER4Zk1CRqO96/osNcFpQyo/kIhK9FgGYTnnUcfTCSwyiLeD6wS/abN6lBrYXbnbvddx682R3mP/sMibPLQGEeyVfj+8lI/sOcfH9s39cbjORrMisWqw9/hxvwjhPRsoYCB5/XA8ypJXH2ZZJ0ltt0x66iDVWQqBD86zqhNqyQno2LAmlEOrieVUJ61ELjDO81iZQZzLP9EYgB0yvVkUQqplaaZB4YMDtBZh5FyQFwCIzjQDWndVTCK87Z0WCZuO0GEvlMxvMe4iPErUO6GZzFUWg2b8vZfrM5nVanYhDnL19+6pn9Cj1cfIlO927duWV13NneLqebY1uNx6Muz6yXGiVjAeHk+NgIoAMrVTh5VHVn29aV/+PPbH3EBaHhV+fd5ZBINPSOPbK/XFZTrGsyOQdpORsPQDkI03mmR15moRNtlL2QPjfJ//M/3v8Tm2VVUahOKhHUoMPEHaqX0ksYtznGCGFKvJuMsLvzeYg1mwjj6Ped/PIlIebdSO7EgQ10IJOLZIoOfiLYI2FPxzl9kA0hMzmQl10ZqYYMvq/2BbhpyIeCa0LKDTyXPgmnPeRFyNH0IqFsOCAGDgwzpyK4uiIAph2X0YX9aGXZVxoFbEXhOe94hzkpTJx1HY2CTaLM4sK0KW+JZs7P3e7o4M0zzHXAJLp+faXR/I1Pr57uVxEnwvUfW9h78k/srw4wdUsTF2giCxLtkGsJfaUSczTKCumMSAV2lkI4MqRcrR0hV1IIqYnDNSh6idi2SF5T7XHvEVorchS0MVrMHdlO6SIRTNJKkHdSScS7BYCyFAH5bgT8RId5NlXygscpiNEGIKe1a71umi6rZvXkYL/dOjioty6eP/WsLUcTqLyr2Xy+s7P36vZmPtveymeTcdaOitwrY0JfOInTfJ+4DqLpnDOtj7qa++xvXs2vXT1nT4NdYhyH7pJlROuJRGvHniM7y2H8XvnK8Yw+sHL553JKwAEIF3NmmSNBZ8dENx+6nS++Un0jL2WjtApGa04G4mQOBGwIBFYERklunITDB21E0GmGSEHzLhKMk8ETTUUsRWXHk/Q2hIMi0D6yipNERyQUST3DTDpzuPzIIFOHw1EgXwS5sK6L0qAcE4kkSE4CibcoAU4SC846+aR80tDFagRzVFFy6XhKZdrgfSbbJjMTKSwiQofZKqm4K4g95T1gpv7og+N/YWMYt4mmSMRUsxPAfHL0ONlhru8wjzHM6zde6r8+P/cCXfzWlwUNsepvxDBHloR/meTZs0R7LU1AejwyN3wnlOAkcqFE19dMQISe94AZvBEi1ipII1p0fUeSCpHmbR/Oy7WPdSOF1tw13iKFSGo5d8F2GTrVOOVWSPwfguMoCPAdeFK0RGQECa8p2yd5KQrKOAkN8Ja0QjSc64JpWlfM9qrN6bTbqBdu6z1XLz6H4fVb37n3clma2eZWNt/ayOtRbjtjZUK32kBp+W+FJWyALbsLpmq8Lcht/7cf3XrfvCEJwFzqLuFRZxb5mIv4kYSiYfxeXlLwuRyCJzvEeenY/wvy7kGssUwez9P/8ZX9v+ik2i3yrNOaF5nIuUPqOgtNvQJ5622TXPWOER3HHwYzVEvgC8WnbrwV5EP8YYGKluQeAyYS19EfrAc2yp1B2jEu42HJSyxIXB5llYUuSGkdVqfwnjNgatUDJiC7xZkeogmOeAuor8CIjrzMMqELCJ4f7Cwde9CRl8mAmZuI0jSEcvSA2ca2y0jrNsE2Geo2QQdcT9XMbYwOBlUR/ad3mCcMcx1e336AuRbpdlRERrQeGPx1WhvJ6T8mEL10fCTvf1KRTnTtPbfE3g7WhERTK0VslKTTRGav2TD2HDt9cPSxZCkVC6mgvTSGfAeSVoJtMXhqRTye82VBeG0N+n6g/4blMWikD3lE82LFWQkttBKtj7YtbYnADbZ5KyLdRIM/O5zKkUMslYwxSK9Vtp/cUyFJKzngNwqLdnJ2VCfVLOpiMW1Hs0U7qubtuGsB9RBMKzeZ5PV4q6zHmemK0njb1+ZyIDDuJ0i0AMMMPsnWOVstXPYP3j95/5mRHiE2DoAJkTrG8ePhGod7S2aaPQgyAV4mFjEZZtAa0GpIMmJA7YGTOR/K0mTigGGkw58ZC9qv/OJf/uX8z0p83kXGMSdcq45zDOvGhWf9JT4kKJpimzYeSziRiLVH7IskkEI+1DB4UvRFEvsm0AEiNnxC4CeChrHBlRilEevZm4v4ah5cHkWFkZy88hKNGAGTuQop65ON8HnJNoXhDkWqHDs3qwl9PyRNzMgFhcEfRx/ORwbYJrZK2q0RazJxKWfAVBSxy+wZJnEgB0Ts0+liTmdH+4cj+dOU6LNEp4e4t9vPUroEP/mgwzy6wzwZyU8A8/UYJpG4/tLAMF94gS7+5nGG+XjALKwUdxolz5wmOtgTG5nINmB3hGhdIcsys1wSBlaJAxBHuNXI3CVRDIDZBvyICiVSA/hjUbuXwdigRRCe/eKpQxOFEgsXrc9VyfYT6DRTkDlHhbOfCAIY1COyrbIlkS9kuuhhUhnqIoCmDHrI6Widrau2qCuXN63PfesylONYI32ZGzeaFCwGN1IklPzCOQjrI/A+dV7h47suqap2+TOjdOHvfmDjWfjVEUyMgGAuN+vlMj27XJMILUOC+xvGYU/E6uneRr4C0YFtLhvN2OMOFxKHHfdJSthlnt+Q6Xe/Pnv5fhXuFkXeYhxmKowAeE45Fj5wViYnvgEMcUDn/GGmkWnFGpNCfggX6aLcJ+ShOzBeHOgkUTzhodlEfTEL2BV1+AAIFA4gsUq2YJgaxT+pz87kzGK+qEOWxNlZUbYUEqLd8PiQaR8q9AxxxnsqFKH2nIvWgOocU8fBSERqbJARkhD/xoApiYGTbZNFP67jW73a9zP6yGj/kGGeAOZbms9PAPMtAibSiU7dtYKee452kVB05QpdnH9Z0sVL/J6KHSnujJQ8g9wDBszJ6wAm+ngeB5hOADCVDzpBRBk8g6kyQsPFg6ehv0wtaalJLJKwzqqRkFEl7Dy9k6gyR+04fJVgnik5hfIfXMcXPl7y+BHCuIizB5RAgA0chXwwXZOsD0F3bZdFzopDSI6IJtcR8iEkEPVsmCGH95YuoEM9KA922XnzjnG69Deuji6jSQaHHtggmV0OFsh1t8567uWKUfajd680H54GPA/sEy/pjdgD41wD05WYPdEW0uFHKFBL/vMv16/cndNdm+lOavJ9Vid0lsgVGa7mXG8BbxRqLPhuzjvLXk+JvSQaJSHTZO9ksN7v51HsI6Aj+uA5tFghDg6PUbLjdSfK09i0DsBMPWAC+NBNzoi8BEyUrekoW/86gGlSoZzHKpuL1JJLQpiIPxWayvMugoWuABNMsyOFdskCd/klYNKMPkIngPmWYHL1yieA+RYBE6/e7zDfiGGeHxgmbWjVbfbecUvQXSbVSRx8erZpUKrKzh4XncT+s8LCCwwTLZCxQKoDj+uGEGKOORhtW1h5EZegzb3IGiVG2FMGZHtjrlPRkI+YxGFqUSKCRQoBtUlt5QXvU8F/bQRodslwh3iKzEaRAhFxduhrvQyAFJ5whQR3fHSNXR4GfQTwCJGwjQtJY66dmLDxC1eLd18YyxEE6gDLAwRstEToOOeeniMHnseA3qD65rXkoYRo2XN79HksKT+8nvcv42COpZidZUZ9pcbpkUh3DkL1h99tvjkPdJApHaQWaGVHUc8Q/QYgxOUGGSe9PBSfcu/gGayRLGpHDJJ0Nop948OBFtpHiCjR58MFRhHA6xA0jLeFrEio1OouNIUyHbnANbz99T2FlnOVAuF5pqUAJMV/C/wzFDnEVySCjlbUQXV9lUXPMHvA5FreERRSLiGR3XWA8C7FaJMF/ZQp6o1J8K4V3SKbngDmE6Ll27Jmd22H+UaVFNhhXl/Lv6TP3JBcCYndzvVrdHdohty9ReLaEOfGDNOSePnBrjp1iqiui400UptAK868RBhwcgqltywdCk5SWZIMTkhvhBMzrRG0gZdZklquAFOR0EYoTivyLmAQ1kiSqBK0PbFMMRiOcEQJNq7kUKTwUQfbTK8xgnsl8rlWF2Pi+nOE7gghIPtGDS6Gb9TlQp2CcA1U0WDC6xPewSQRNQ7URlVGFIQuBum7pISI9m9eLZ7/iXPqNHrFcdyBUwh+cciIAJYYxZe1E+s7y54t9l/Xoa6xR6fl+H2YvL6+21wy0ONjev8++h5z0Y/mWc80l7UahRHpL+74nS98v/5mFLJTRjrJqet9p4WA6+ZwnymhKgVfZGMkGGffUQ5qrb2huG/btK+k9Ej0wNpTKhMR8xTFcDVHLSWLYkNrnKwtea+jxfm8F8qr5AGYXJwmUsxS5gGIAMnU+BBglcx08s6T9FXIhu4f1GeQLPrwYSw0xx0+xai0ScjtAGACOAvNHwPZVRFHn273BDCfHC7fjvFuPyBgcpwbaiGvPke78I9jJB/i3PqRnMTLYVehirymYiPJMACmJeWdQMYl7zBrxyM5jj8MmLYUrp5pXRSYAaGohMlZSewsAwmrtY5oF+uYEkmpMZsJuUhknRSjhKICtgs5FVOOntvDHSY7jxVi1kKxKLMLKEEDHnFp4cBU8coiorULBA0VX2wMXArnQYFQgqNDEibFYLuYis6F4mOXzIVPXranlBASTBK7StgeuXbimOayB8yeBy4BsR+tjwLfEkSXV/Ajf64fgoZj0LJfYQm8fACC+FT2/T8jm2izkJzdicDjSc6K9PDvXmlv//k9f1Mr6RRy6bWN3GyOK7ng3SNG6SDF4I8E5g8ME7IiI+Se6eIBvOBJIHM5crcwZEghOOQls7YTwi5FqVUu1Jak10I5pLBjv4nYpzZQlAqE3cdMDYDZb0UDyoJ6wCSSfhqyVDDDRGampI0Q2XcOr/k+KWsClgkATONTbDyJMcewpEhbk0htSx1lU7p2MpI/KWi+rUfyJ2GYO3etuPrcc0RXicAukU50cUgnOg6Y0442hbabYJRgmNQ4CR0mRSfh5pHCCKe8NMNhp2kboxHnpg1uDooj2hjHIBNEYDDicHExRzhYh3cg20i2tXpEQek+jYxkClLxwQfkEnpmz94ftLLmiyw7H6XImd0gm0dCbYgPxWs7/CgaVp8LpjqjKFORhMBcmMPEjP0mmOyVPBW/8ly2vZ1LzWntAEtHBBcPZ1z6tY6e4dDTB2kM1+4+FffRa/iy9GxtHF86e5b7zhUbXQLvUfa5rs1Eadqyz3xZq7GR971Ek4xotyb/2Vea+3fmcVcZVWdKzBXcq0n6mKAWhTOVFasiCSjLsQ3h6I+gXNrPQtrHbTzhyMNlwga1uclHh1sYHtow2kOv2uogKh0DsqYc6jD4Sq59gHAA5WnJ+WSz3k3EEqOATwAME+4enaidxgzRbnz0cUnRRsAngR1m0Au+shtpIgCTQzqwg9G9A4gKw48rdRWm9kPl3snR58kg820OmKs4N3z5vn5t7b9/lejoSE48ku/cvSmuPkd0mFB05Qo9HNKJ8D7KAxLf295T2/jmrGmziKNNO8JPBMZuy3FrrMH0RgTrBCnPO0w8ryMDySWbdlLjNVSCGlnAOPXE3jt+GCIMXWYkWRFZb2iUhOeRnN9T9NqggDt5KZWWUhq+0zuhs1lyF1Eqw0wIij9KWSAaBSHHUYmJJzFKlCxbMjF8p9ipmFqopWPn04YK2a88V1y9clqNm44EwJF/D0VmAE8I09knPsTD9bvIlW5ynTEeXsQPdZW9InIdJI+L1NdHeO6RWILvOvtcSo2YaQr2myNwGOVpo5xzUBg0NwtB40ykbz7wze+90txbgMgrgdUDvFmNiGlhSMxlSJUgqoeqSUiHYMPaL0JgayRGcLRLQlKENbCE7RzuSrSFRAoyuk4HyYAptHRYNHMUXGCLpIezB2HBWnoeyeGf8l0DE/ugw0wJGe7LkbwHzOJ1ATOPJi26jjZQloaLeZGipYwOquoEMJ8MK/mtTgBz7Yv35gCTBsAcMjCvED0c0okeBcxiczPKTZk54TB6LypFZgspC8wwgyURUq3AMINrVMomUoqGGaWKuewBE1cHEtEF2wNmEEFiTZepJNCMoOyC/AYC1Tj/Ehce2CFhJ09w/RjmmiJ6hA/rPQqXOy1OOSEmPqVTgmiC9SWM5fgMFaVGpdjYoFo4CKPHydjL0LjsF57Nr73/KXPGB5JglBUY5dBfzkA5gCWS2jlH8zCabW0MH4BxBXrL/eXaHvPY9Rs3luURaH2UX99/rkuUDhlof/3vK8vgaVK4mPNej0f1jaxnmgBNhBBnWsQv32offP6W/yZliF2SJiiVkaA8qYRmNCcTzXWMBybSvonxThnSDs/3iIkDecbpLCLR3SFCpT/mkMSXpLMuVKiqENo43K3Zy84X9OT7qkwVhfaclamRVdWhMARxb5jOPexantuBOMvTJaM3vKOKEP8WVIUNQLTSRDxY4c+6cmKUG3ycCD+50jbVFU3th+iEYT4haJ4A5o8YMIsoN1WG3CBUS0AQaXCKlZi8kUAbUg+KYJpJTqQFYLJ3XMOhA8G5gLBdyIFhhscDJkXQUicBlJq0koy0BBiVrYrjudDnFyo921C6LJXUIsXaRJpmPlU6poWIMJwoCBQlonkgKexCMsF7/eFz+sonrtgrVgp9yCjRMAlmieK0tU4evoSv6SuP7iGHKLcB/ZYj+fLYc7i7HB7LjxyB+H2uXdUHb06/WVjtRpc70eOslOMwhy4iLcE2Bae1j6zgwxDGdKQdATy7mPznXu5e+cZu+I6x7BVIwWpcdnJv5MgLGifkkUhaZCG9lnfhVhbkPSllBdYOgJcqOewymUVyylHo8iAXJsEtJNFFEZHODsAEmTR4ulNR5J5dP6ghwrN8iws7nD6UpE8hg/n8TQAmRvHFnGijxMMhxU7ZiMqS+dwenADmE6LlCcM8yrCvHRvJ11si6TPLkfzxDHORP+AHn7N0lpYjOdXFplVyE5mXTXAiXwYED4lELtYSIZIAT4fg3+XOEkef4HUUGspKZpxBBrN6WsMogmu4bCXZJgkcl5TsBSnJaqM6QcVU0lNznd7VUToP5ZBNYl8l6myiClU7MnDhrIGwkLPGSQjnkwFF8p3X7xiLc790NX/+VCkKBsfl6O1WPeK4fsPSsuz/6ZOFeq/MkukxeA3Adqi1HABwXW85xAAdXs2Xek22yxy+334wWr2/tf3l4WX9MfvRQ0cQwpB7Rb/hIjdU9gI0UXUhaJMZZ//0g0WqP3tzceNBkx5Yi4Bg4YRG4yR4PCmvWOwwCipteUhqI7066cKreSf2SIoaKkxhYcEM0XvXjcjMVQgo1A3YQgvU71oL3aXnKzmP8FydlCw84SEFhAoDMDs8D2/HbBLyBZdIFx4J7PCaN6pKlq/hphesDwJ2vpJjhwk/u7XUzekEMJ8cL09G8vWv3VsBzEnxith7oAU9TRRuPi3XAXO2TbzD3KtpkxR+O4kkdR7DHWRFXhSkaY7Jmxkm3DwgkauiM1K5FPjR0CiIwWYStwJOHxLw4AkXDNTjtYy2FmKiI0oknaqMOjvX6icaTZfRm5gFd3cSwmuToPZQ1jCX9JTQysLzDcOLgqwIUT0ocvCd7ZpgxjqVf+c95fvedVpt4tJ6BCwHeyNLhdD/M4RorOyOa06d4Yu7HL9Xu8zHjN+H8qG+zvc4a+xJ6bDbXGewx3afPaNdJbX3Tx89CvUfvb+k85iuenfQ2CKImGhryTZxGMpF+sv7Yf/3X178RSfMVGrhCZF2QjgT454NtB9FMgsjtmqrnnWUtmVMiyLJvyzr8L1cqVnn0DQZfE5yrmIXhM4d9Fg4vCljvUeI8ACYyWLU4FxODhb2wfcME15zAsPsAdP7mrJs4pYFaUm4iJ6fnMqAkZyT1+foisJ5PUWb274cbeYPDi7v7tGt/quwd9anyV9cSSfWyDeHoicj+drX6UcBmCrRVtJONsKJ3JeiSxWryMEqGwZMfG9jT3kUMHOVyy4FBe2lg75SdIZ1mEhs1LqPN0LiOgk9z9XmvlRX9nX6gJfyTOHCwwmJb2249AAeFAWpEGyLUhZzik+REtkyYxzNO3BIex908NH8wjv1ez/0lL0IE9Aje8oBLBkoB10l7sjrsp5+RF6/Xq+xw+Hx+cjYPBxsjhx/hpF93c1zFHRXO9H1bMz1Ef5wv8lXmgE0j6W1DwtOxEIxaOIo1Gs3e4a5URBtFz3rNIril77nXvvine5rFoXggrwl2i2k2OG83yRxrsaSczSX6unG6stBJFsk+fKoCTeyzt8vvVwk0cV1wKQ1wESNpbKKY+EMaGcij4xMjO5t8ilXqrdGQiDPGk6Nf9uEkrx+h7m6krOUiOt+esBMue1j4Gb+wJ0A5ptDx8e81glg/hABs5rtitN0mtIzZ2Q23xet2tog77YxkmMvaaik4KZK4hDDfTfQMKPf3JGFxCg0iAEWDKFKs5SQa3UxK0cwShLkgwS4KlKog7F9pzG7AAAgAElEQVR7hXzmXqF+zid5rgj03W0SNyZ1N7dKQq6CdR10MJAkCpdisVB0CUcM2J0xwJEj433SHzwvL//8O827Cy0MGCX0lLh845jDTh3IhFDDO3TwMKM8Euh7LHbtmO97FajRs71DoDsuI+Ju3H4vuT6+H3f0rLPGQ8cPD8vrF3l8EsPHGoI71o9Nyx0quCseURDGYQ2f06jEbhPjeS5oC8BZAjgF1S65P/xO+61vHoTv5IJ2RkrvIBvfKenwDtD+g/5yr7Sc2XSxsvJ6F9PEhnjjfJW+NOraaX/0QbNkIMosP81echyA0OfOdiMOI/bdAJhw9miVPMvlGTBdIlV4Hs3JEEZyw5rL/ugzkini33CEbzTsMHMb4VaYzejAXb51wjCfEDLfDoB55O/YJ9v0vz7zmbeww3yRJF0n2nmVxNWrRJNbJPYeEI/kZ2YkZ3a1w3zZ9yM5ZEVT4bYxkkPHBylRrGoGTHgTa8h9cljCcVX2UrVNH6ChNWWC88EUmifAKmEMB0tUuKiLIHesPne7UD9bi/jcKIjvbrvw9dKFOd5l8sJoowmTHiWv4V4WQkIjlFdaXvIJ6mckRnj9VC7O/p33ZO8/P1Elg+O6RGg5fmNPCbDkbvJVKvpxdnfI6gawPMI81zWYy7F5Ge+2Bq6v+z57Pc8QxrE20q+P8o8Zv9f95ocsdQ3oe1DGt0j/fcEuIaQeDdf0UdZLkDbhFiqIhe8A0Fv7cfEH3+m+MJ11386sbkmJRisNO06SUSIhtJMItRdCzVW6MM3pfUmobNy4L52aib8YU6qhw5S58iF6VkapATAxwJtIzDAjDJZ85OEQDg9ZLB5g2wiJV+6b2ANmqysO70DjJHSYW5LivCNURzHDpIFhUm336WO0e6LDfDLEPAHMN8sw/5OA2YPvWSJaAibvMC0xw2yDE5koRXvQM0zsMGtEVw6ASejdOWg0woaR20Vd0DFprgDHjd1IbSJcP0Kb71v5np1cfMomuX+mDl8apzTDVBlcVGw6T0axNxxuodBbwHkcS7GsKD7tUixt9MXfv1p+8Plz+jTyNw/3lMNxZ9kXzkA5XL65TuIw9GL59KoqYj1N6EjI77AzfOTqfWy3uHr7VajGciznKX15+DnuDFpWW6wD5gDK66P8+tsfAfcj6Ug9aGKpAH9AphMVBrKjXnqE/SZslrBbTjKRvn7X3/rCt+rfc0ruKm2cQeA8dhzGtojWhEmVPGLWfZrl9pkDmz5iSd0+c+D/cNy6h8ZYj0c2zsBkFZfyhmt9fVJK+ar2DJhS6gRlu1UATKK2q9NGPvFNWzFgxsKlzrtY5mWEJdIgc4n/0XuGmXJsJiyFmvbLE8B8MrR8m1zJ/4oYJon5lARSih6UJLM5iWCbzcqrU2CYXD0BhlnXCg4frJaiIUVFQWiFVFaLOJ0blff7TAtvuMgEpVZiRI+OTGdT+WpmP3xgxMfOEv2HS3X6Cs5FdfJbSSISF02RKD4zSmrQHJ40QVFxP1W1c+OpEE9/+Aw9/yvPl88jc/dxQLkcvTkZfQj6habyKMgcHX1Xh5ZjrhsGseNC9JXD5/DavQTVw53mSp50xCG0HNcfYaX93nQpYj++E33UZjnIlNZWAsu357m+F3Ay27SDWwgSJLiFwDK5oRK/Ed2syP/eN+rPf2c3/YnNyGlSTiC5t6+eBM+MKYY2U3pRpbB5f5J9EtKk0wv3/56q1HcVxOpgmPgySeUBkBxoFJTrvxyQaepotAs6FpDHs/HWigk8ViRjkea6SlzPS2VghpmlOF/gkNUDJjI0ocN08/rAfKTYOWGYT4aZJwzzTTDMn3uB6HMvkrx2nejuqyRgi3x0JB8A8zTRg5xkNiOxqJrNVqhTvFkyRBGOntrDeCKQpE6ZZrFQjF4YaC4br5RteUdpCR65INFJgTF9QWlyZ6Q/OlX0U6e69PuXo7wp4XaW2jYxbqIiBhpPnB1wwoBypk9UJxVdNF0Ium67jWfP2o/8Nx8ofqp2JCA6Xx/BEe4LkASjZPH5ceH5od5xBWY9rKynpx9PIFqLYFvXSw4yo/U8S7yjPgFjFcTxKPAdzcRc7kaPOoOOBguvs9RD7/r6jnSNmR6vvwDbxK+lxRKHofEwpnMS0qj/vVVQ+u0/rT57e9beMDJvxEjXwDzIWqG51H34xtwKZGJY9b1N+pRTdO7cLP6r7aZ7VXHwfUBiOpySBG+5St77wDIm6pJPmdR8QQdgYoepVe5lxAqgSFMzxcI6psEauSVNhNNn5CxHPHcbFG1naR7r/c2zxc7y237nJA/zLSHnCWC+DmDeOPuSuP2tCX990EzxtS9uSlgi0RIJ//jlK0NT5NASObMAzIcCwcEP8jMym+2LRdza9IvqNCvh4A/nRpmlNdILUkZGqwUyL6XRwi0ajTR17DBRlYsfN+wtF5LMPSPe/yAXnzrXhZcuL+LXhOWucbR72SrFTTBMBYYJx12UWrLEkq2SyvtonXd2Xrfb//jjm7++matymSS07AcHq8T4zXbGYQRfMspHxOdLJ86x/eEbjeH9++olP0ftkI9JJjoS67bKxly9/Tr7XMqIuMrxyKHoiCtozUK56gU6CvxHMjbXbJbL3DgchXrgFFQOIcW4op+bCLowEbRo08GLX57+VpbphbXZQmjymq2SAeLWxjj41IPDlbwK0X5/S/4yEqfOV/H3Ntr0gNOO+A7eX8IzRb5p+9Ga84yt8xbvib8+AMyJR6QbnD61qcCGDwGzlBTxYIh2vKWsiN+uoX1zllYMk2t2TxLX3yxqngDmDxUwaQDMgWFG2myn1RmAZMwNTNuQCHFMpfQ9YEqM4mg9c57zLAW1fBnPZS47z3Xf4m4pL9wtzC/mwT949yz+a/iMk3IWxbDgqVVMm1IjaYOTIYRmDbxHVyx+xpWPwlaLttiv6zOf/qVzv75ohERO5Ry1EYOlkfWUSGHko87quHKoa3yjyLV17eMxH3gPZ5g1h7PKkmW+ngd8GKsPmeuwClivq+iv4r2H/IiXfPi3XNVcrMXArQHg4aV8+fZrY/4jYL4WVIyXcao7RO8sQ+oPQAgpvrQh6cJEht986d4/H5XlQTHWUyk16D7KyZGv2eZNmguVOiFyhz7ifS027ozlrxWU/vz8nvtjI+TCtCEIpVhKBEmE7wjBpixcN7oJWuT9SO5rEnbbkcNIrlObI7XIJWH6kTyPXWqiTSVXgnRJbY+CqjpRS7u3uaAVwzwBzDeLlcND/Vt69b+Wr/xEO8wnY5iPA0zHgIkdJtshHbIg+jxMSIdgj8TTPjZSeK2CwkjuxWgATCe1ea2U792z4hPPzt1vn+nkHuTm3jRGkxGViFkdxabm+xCqZHrAxNM4/ECM0gWXHUwXk/25O/dPf/nC35sCMNcqb9mlw21fA1ge2g5XHeBHEtDXRtgVc1zr28HbD+LzJTs9jHXjkpzVWL1ksUfZ7FvJw3x05F+y2CNHosNRfylqX7qBlm+/Sndf6ih6oX3/l+E/B8lTH1LcX9PLjOh0KeipTQHQDL/1+e//nxvj8c5oku2r3LZYJQMcVaTOdmIGhhlF7hI8lInSdyfqk21Gz5yp/GdP1XRbueCjUmypRLCm6hQfhMA7U+Y9wNEmSrWrKc+2PY4/UmneX7bJpcKWfCWHxAh/ZvC545Of9CN5LekEMH8AGHsbMMxVrS6zlpWq6A1lRW8FMLM/eqDmmRD1TAoEB+8WUmYLIXykrUUoeYeppBf4xo6LBgnn/HXH3rK1BY/kqLkKoIkysAQJT8UmqFkmJt8r5X8Rozj33oPut7lUQSnkOmA2Ey6pvKa4QQLFZwbuY2WkVgmbz+BVIKuqui2rqh7vzOsL/90nLnyqtKY8WBBBdgLHDnvxDgMv1kTn60LvY+6bdQ3mUbtj/93YM8pj7/ewh2ft6HOEnfZvu9RpPjbV6JiHnEFxrQdolbW5YpdHtJeHwLf8HFZj/CGor13kV+P7Uh/aAyfeDeQHuKJjLH96S5AVYfq5P733/2xsjR5kG+VumSF9TyNZPaoYOuP1VMfOC2GcUMQlaDuFPnd/LP+r7Sr9m1N1/KbqkgO7BEgabiNOiJjj6vSgfbCDlxx1u1rmXibsMHVyVHPa0TIPs9gofaydCNHwza0o+77yTIY9s1jbYZ6ndPMm0XgoQdt+pATtJXH22oP+p+ZFlKD96uFP0Ekv+Q+AvD++b/qfFzBnnTmNXeSSYfqGNADTBi867CuVkSpgPIc/XEgkreNYoyJJ50nNVNp6baQ+gQnwvQf+d5fxbqSFphhkk1TeiLQhJMI3BL+t5LQiTl+XiQHTlfNqvrE3686dH4v3/9c/dfHytBYCIb984FmmAa27YtYeXI727hwTnh8RqB+rkDgc7Y/ZFTlg8jEM7zBIYwW6Swa7Pirz8x6j4Ty0QT6izVxvmVyzbi4v/8P83zPKYzF0x5oqV1rOPtm9NIK2SqJLExm/fvP+ny8a963x1uhBMcr3ylw3AapMzoIOnfViKmOABZ1HdZ+ggYj5a2eyXy+r+KUzVfiadalVRkXBRWzwm6OjjeOM+HQOwETlrvM1WdIBqUXYYbYcJAxBQq/DHBsTIC+CGiNlKeaQHUFuRO1e6U49fGX4gZ28JcB8ka5fv74GmJ9eox/YvKCu+P/fv04Y5tq/77o18ofBMBeRtlIqT/NIrpGCDaeMYMDEGI5x3IN9YiRPXuY2l/gT+ZecVNSSmpm08dpY/UxK8sz7pt3/xRU96ADPnMZ2q0kib5TYUApBwTiu8iJTcwRwQPmOVnXr8sWimexNu3P71eJd79w0l/7L9108FaKSnUcfLKwluDOtGPg6SPLV+nGBv489+gwMcUCWo+L1RxnnYw9A66PwIy2SRystXu/tV6x39TEf1WQOF/kjDBvfEAObPP71GPaZwAXWa4lEY4QR2xhe+/697x/M22+PJ8X9ycZ4pxibA2vzBo8NCBsWAMyQZgqFEgNg4t0dZOns3VL93UkT//X5lv5SLjw8kBFCdTiANKGnHKFww0je5YjJZwAFYPLRByN58qmNKRWjPkCYARPVFR3eDtUVHdfxJgp7pStOAPMJcf0EMH+kgJlteRfPIJMS37sZWKUzigET0iLU46geMLXykmQuJR99vDAiF13Xauww747l9amkn71ShRdPdXEfDbykAZhK1kplTorNGD2nDgEwKcqeYfKaTKvOh6xd1MVe7U5PF/W75lW7FWs//sTzZ7eff8fpzEchHDgQmikGYGRwOWJ9XArU+1GbGd5yT3kEWNbY5LHR9lFh+zr4rY/ya6J47oRYSx86/j6PtEeu6z17oOzZ6IrNLhnraqd6vBeof90j3vWhEx38iSPiRN9/nhmRFnv71e0791/TRj8oC7szGY8fjib5vs1ornXeoaKij0wRTR7CTDjTSZG8UNxImb63RT/bSHr2bOV/d6OjW1kbEOvM4RuwSmZWeWQLcxGa0a7rGoG7u1AmUXARuZn43sKfuJxzyQg8sXnpUYMSMZJnkPwuCOO5ofnAMHuOOTl/Jd28eZPGF55jdvjGI/kJwzwBzNcFTBK3v9X/xPWyIhpkRSQORrfEO54mmu4oQReJzr6s5eN2mIuYbdUDYMJqx9rLYDTAkj+sItn2Cb3CGhLRDxmYICRoYkHTgAhix6iLDwr1KybGez8xC78HwAwDYHYATIpbQgmNI8/SpKKRGYxucqll6JJtXZ1Nq7S9cO3lxcJtVYu2bKu23Mx0+cnrF8dPnZnoXn8JP95w1X5sBuVRMHld981jU9aPpQixn6bfNfaW1RWzW8+zXAfanjku946rfet6CvshUA7X72EH+MbdQceCOdYlSVz3DkErgHII6eiqyt2+dW+/c+FhbvSBLbOdstB7xaQ4KMp8TjI1xlgHqoiSNSNEY2I60B4bkBBw9KmN3rg9sf8wc+GrZ+fx3yOXtIiKE9edRMSbR3svH31QYYHoN+k0cp17YAxQeMIJpPuK3lQnbfuRfJN1mI6QvB60SbVaJOsMLVTYffoRhgnA7HrA3KvTpTsf5qevXaP04n9cXV7/1V4N9umlf3T4mYFi4Oivk5H8CYnrj9ObPekO8wcHTB+zrYVTZyAjcpooa0k0mLYhG0JakeqLxrinx3hhfa689DLKIPKIHoM+7q0TQj/I5Qd2Cvpbp2v6t1dq8ZUlYNaKoFbaShjJ+7UaOA2HePCVHAZJT9p5ZyrnN+Y+PlPX7WZd+6xZtGVXu7Jrnb18tiw/8RNPlWWRyQ4mZr4M9wehw/zJY3vDdV3lKgxjCYBLxrh8+6OJQceDO46EaQyXuTfMwzx2LBoI8RDasabNXHYI8cGpB9rltXsZ8MGAOnzL9uC92nkCkjF+s78cPWXBhbt37lWzWbMwAEolHxZFdmByvZcXdpaP7aKQtok6dthdclq81EGp1BQxHZCTDuKyLinz2in99/DQeWaaPjsK6S4COBBvD8DElVx4CkqkQ/OSUtqDbgIwhdLJsxcWmxiwfRML6WIzMMwCV3J0+gBcGTC7BEn8Qs13n+Yd5jrD/CyNL1w+Acw3AVsnDPNHyDAPWtpug2XAxA5TNhCYCI3iHhtINMpLkbTEPlOaVsgwAufkfWf0pAT2mDy6B+GT2XhtRB9dKPHTpx39/qW2/Qa2aLXk5KEtVJ1zDCIqfdgG3bPNwC0zAtJBufBuXFF6pmv9uGm8bWuXdVVXtJ3LutZnrnXFB951pvzgs+cywAQzThyChsCNR5nasWPOseKypbxnlUy0Cv498r4eY3d8o+v3CmzXx/ghVm4NII9f7x9hqmt+8+W1YjmqLyM5cAmHNRL6870Hu82DB7tzZXVrbVZro3YKpe9lmZ3pUs2yXNfawqoVIXhoI84wvYgKNRNN7uOUfHKdFPb+Zva3nU4XTs/j72xM6WWtIO5Sw84ypE6plHucAxHMgXOgwiM/j/FLwHTB9Vdxgpi+CDJVKVnDtbtyOAYhYDgokzgfs+tIiXb3nDj14AQw3wQ6PuZVTgDzTQAmfZgo+yJJeo5odo/E9pscyQ/afDsGuWKYDYmGARNngH5/CbH64wDTQpMpPTt9khAiejK1ieO7mfrw3KqPT3z40/OL8EWjVewonhaEzhkJPomfdZOwy2RxigSDVUIgiZHKStHT3ruy86TbrhsHgGfnN5vGFb51tm28NDGIn373BfOuS9uqg9ieHUCYAI8GbSytjCuwedw+cKVvxJd6qW08BNPH5WEur9eHR6U1B8/x/eIwyh8P1mAtzbCEPZ6HeUQEP3ysQzDl/h/BkiFk49l+Txlu392psYe0Vi90pmqb2UWm9IPCqHsqN1WudSU0oWfOowpJiIgvGyef41MRUtRFl6bTLJ3dKe0vJJH0VhM/u7Gg76BZXEifbFAxqBCk8knELCFYGP5ydFgESakgHZqBYWZWx0VXp3xgmNhhWjKBR3Xcejz2lgS8RN9IQvYVjj6dmO1eXgfM2ZV0d/dG2r54jd/u0h1KL9FL/FNx9toLiV7E3rKXEn3604NR62QkfzK0/evxVj/4SP6DAGY7ACb6xRHLkFwwh82Q5FUnYY0Ew/QiBQ0IlcQpYXi6lxjBW258MEJCRqTznZF+956hvyGTaLe79IXC0Z7GUI97BEuSoiY57DMRwMFSeQIb3W6kutpQPB+JRr4LGbkQQxs633TeVa1wtdNN4yzG9M3SZB97/lJ5erNUXRBDC2SPAP2o/gYyorWxdh2gjgrZjwdzLPeYx/aUy/3mof98abNcBW4c6iUPcy+P1WQM2slH7Zv9UajXVvYJRQyUiqhr6nDntft1F4JXhUVqOZnCRJXZ1hiaGqm+V0Z6tbR65n1q4K8iLQNqdgXyMdHtIzgw35FSYpqL52uVPqKTeuXswv/+uPL3nVFeBOJDDwCzIx9YtA43VwjRaPz/HqgyjOTOs01SSJ3AMJdHH4DiOmCGFtdzk2LjBF4mtkxgXabwO/0OcxjJTwDzLcHYCcP8ETPMuotnkbDOaUUtCZSsMsOUWoToJYJmuQQttbi7KimCiALjeYbGGIleH4BmnoJB1AZ6fULScidLF3Zy87ONoPdkKX5vq01/nru0h+u4DIhFxKk1Kk9qXGl50Sm66IjOwpwiU2oo0VTHVKM6N/okOh+1b9rMdSFztbNN02ZNi1E92Ctnx/mHnjufG2slMjE5F3Ot7KxnZ68TDHwY6LteFbE2Ph+Lalu/Xh8RpB8J5ljtRx8Zu48A9dEgkNfLw2QaDw8p4tywp4w+3rtzv5nO6koZ1dpctzYzrc7x2waVWyNyVeAKJKVeqEi7VopXc+fvEMkOgIl8YE7XE9HMrbpc5eqDIpHNXPj89kH4ainFFJ0+QamAEx/KlCymhZaCQDW5zNBqEbXCY5NKxmKnqbEk4R0miDkioFHDy1dyoyP6f5YMM3k0VjoidIEqSuYUxW5BZEW9c/oEMN8SSK6/8glg/rABk4h2R1JmlRAHlG97Kc/iyOMNZEVCNC3KbgGYXoRIA2BCZMc+cMVMVGtmmEl5hcDgzgdpNWnhMZgFCfrjW2FaK8o9o67M8vTJJOicCeLWxIUbBnXhgs5VWrwzCjqliJospnvax4Oo5EbCRhWdPhFTe9LCo5AQay9nOtdZVwfTdd62jcvapsva1tvgvXnv5dPF88+ctSCty4s6pEiHI++RyLU1UOMn15LUl683gGy/z3xUo3lc3nPc6ji4FpnmHtGNPvL+VquEdTcPnst6ymH81jKl/Ye73f17ewuTqc5Y3WrsK4usMVY5k2XIfPYqM05K5SjEqVaq9YrOdlacxu5Yx3Sr9OlV4UVVa3q6ycX7vZQj7elrp9v0RdP4+3knG45W8ch6phgtwQ2UcOAJHs4gAGY/yhM6fcAorUrGU+D2yIgsdiJEQ8uu32HqMkXdmBjyno2mGk32RFT1I3kaY/AnEhk9vLCgnR14yPHrJlGbHd68eCT/+rXV6H39xurpk5H8bdFL/sMayW8OO0wtrhxLK5r+0QNVDdbI06eI9gsp84UQizmdIrJnFeyMw97SeaGAmBoYqUk1aIsEnGRBykYpWQQRQ4AwUkutBFgl11socJ+OE9ghK0reGfxZJZFHm87MBV0+sPKno5SXpRQLPBJmPn1jy4tvFi7MU0rCSyobq57GgkwAMNkOKTSOQ+gaFzKK2AYTXNCdd7qrXNYCONvOdnWXdY1HUI/90Lsv5k+d29ItmClkSEOvzzL38sjF+rG6yXVr5MpCycD5pvIwj3YGrYPg6+dhrj4mwzeHaPR6SqNFqg6m/vbt+xUl6kxhWm1MazLdmtw2JjOdsspJqzspQfBV0EJ4HdND48RDkYLzUNAadaHKxAeDpPMchClIGxe+OnLxK5mju0UQ+6jjTFhYIl2drQLQYyYewy1oKakgok+BH1RLn3D0iXlCqHDs5iwfAoDy10pCpOQ43gjXcuw+8XK8TGIkZ/csflWUxpo7fnx1sHO5vLQ6+pyM5G+JbZ4wzDfNMN8kYBLR/kjKvBJi4egU6fIsVogrwCTFDLP1QmS5bBJ0mB4NEjj+KMS7pRAgbF/tMKMQWuPOGViCBIaZ2miSJtGQKP4/9t6tSbLzuhLb+7ucczKzqvqGvqGBboC4EOrmRRwNJY00JqkJS2ONNTF+EMdhRzj84if9gnHEOEj+A/vN4TdH2BETpuXQzZKtEDWQOeKMxaFCIxGgQEBgA2hUX6q7uuuSmefyXTxr7+9UZXUDbQAkJ4JCJRnoqsqsrMyTmeusvffaa+1V5sX9in56YDpvE923hqH4vJyI6ybmm5OQbjRDvolfbr29FJkaKAvlkowjDIoivicThx6R5AhFs2CVQxv80Afftj2As+4wXe+CPznz9edefLLeWJtaeGhCioShEAALD/FQbH7UHGN1A0elPKt9yBUheynzj/phCiN+RE85DpLEJKMQolEepOxVwVKDKHSoA6BEnzL2Xby5eXu5bIfOe9cDIKuJ63xV9a7ynavNYJ0LxqGxzMDFlOCdlzj4nLdcoO3Iabqs/KXWmxejpZM2xjs25ZuD4yfgQVyn/FrT0l9u9OkmNn1SDjFLh1O0uAKY0qMkG0OkZDz+BnqYNpnKhYjmtDz+AJmSpE3i9tg1wNfij2lytjAKLkMfB4aJn8sBGSiveQHMHMLdp9zk7jHD/FA4eXDjY8D8kQLmAz4jgPmEaRa7PB/OnyaXzqqsSP0wsR8ugCkg6Qy0mDDf4IzYHrIGonWL2Q8GrNFaqyW5ryrLOZqIsryC+oj9gwk9ca82f6+j/FJNaXNtiK9NIm+jtdYzr7WGL3SGn49szoHtuARHMWoN09IOsEdiGNxKfIXQTaRXwxAHIZVoIwzBw3MzDNGiLO+6rhra6JdgnF2ohq73V86dqF969lxtnOfRoR09zoeNeFfL7lUQE2B9j93vURc5luGP7JKvTtAFoFcjM44GqInvOfoisJiH8NyymInevn23e3B/t7VV1Ve162v0KCcY6Nje1dVgLcDSIFYXLxZWCQBsUFn5ZLjJxvjItBEonyRjO5/ojWqgN6sh3mVOi0BU9Y19aok0KGYzGfK3TmBfPOY5GCbALjvcX44ulWl6tBEG+wBBJhujddGqxToeRpABUPkegAmGCY7pfJNQyudKGaZb4lXA+wws8xgwPxo8Pvpbx4D5HwAwsXqsDNOzyIhMYJTh6Fn2Xg2EMcipqLNZmmoWc1VnjZppJCCYi86UmN3epelWVX9m4fPPu8QP1kJ+pQn5AQdi9oZdCBaTccx+UyYfmNd7m5/ojHk6mPhsJq6YMtjJojb2AXK0DaKDEkUjhh2wUcCmUHTw8M45maGNbojBDV30XSsletXj627wIUT/0jOnmysXn/Axg94q28RgSKjTqhRo1XX9fcTnMrVe2QLC76+C6oHV2iiqX1mdlL817oaXXxSZEKuHJUrbB3fvDbduby+ds4NvPNhk5yvf1xPfG29663yWQ8IAACAASURBVKveewNGGbO1KWNkZ6kOZGfRmhOZ0gx8PFPaqyK/ZYd8o+Z8swq8j4ci0XMJqRAGtiu5I3KdT0+3lb1mYr5/YhFfXl/SO4iuwNCHAcQRbWybHDCSrQAmyvMhUkL7BsMemjR4jbR/SQHXJp2gB5hlJpNdthWY5UBmn8TyDUMf6DClh9lL4uSWSXQPphvywhz3MD8Ulh4D5vsC5qHjusqKThztYdIzNKZGxj0y84p4sUvCMLenhABw3lnQ6bYfzoE9ypQ8EvJxoZUUkGTQF4ApBVTEprIwEYasCMJ2C/WcGRkm2p64bm7o1J316h/0bC6dbtO/2oj5+pDyCbbGxYRdcgPTDYdVH830QQGJvTriaGi6MPnZYOhUzBkf+nUybiPn7JgpmJg6S7TkRAvL3MpeplSxiPWKJqbsYj+4rot+6AJYpuv6zvfLUPV9Xzlj/NXnzjZnT5002t9UJyTg2sPT7xEAV8H00CloZW/9vUB1JSpjNRVy3AwadaF4cwPWvISZUW739uLmza02pdxhiFPVVeca17qq6q130dc+mMpDM+nZmyYaMwuWG8qpTmxg5twaMruc0x7H/MD09E4d802ONDgERKqHCVyFEGuGKTlsV0S4zjl11lDeruznu9o/N2nz/3PyQfpL52jh0MMs0bqwfQMoRgo09OD8NqJJ7BDNBFdoWZN0ApJsG5moS0ne52zZJwx4hFEeTMmJ8sxLpg9KcgHMH1y/t34aKwlE9DpR96mdkdAT1iIfN/Q5AhjHq5EfCmx/Qm78UYc+HwUw7xbAfMJM9h/wvZ3JmZDTWTBM8bgkD3og5hsjw4RPxnsBpkU1DvC04CnEwUS/W5lzt2v7y2SoPr9Pf7SR870hpbqr+BRK7hxQYcMUzFiHvIKIj2uyxkaD9md0NFlmupyYaiFwhrAQVGVsC3Fej0TrnFFqwoqRIUcEYHaQIXHKAyP6MEbMalMYEvVtcMMwuK7tPXqbfdf7vhv8yVldf+qFSxU7b7rEBGMP0DSU349Ke1Y1l/qWenR4NOozV3fID6VJh2uNIzNVfopVp8Zh3WlIN2/c7hbLtvN11fvGDb6pkmgqq4pMZS17UxnnfPa2Fmd10eSkjpnnJuQ9zrwvMzYsLAL+wcYD3a1TvoO/ACkSI5VcxJdwAnCAO4IQwVhKuR+GJtM2h5S31+qXFlP7xaZNf7axyH82TXlfnC9huAGzYbIJ0/B+GdBDiMowUWc7+GgeMExvmxgtgE+M18m7SfR42ADT7GKKCzZpmo8B80cHVccM80fKMB8GzJNn+rg8pyW59jBHhok/C4ZJMMjQBr6xFl1+tX6zkay1jERp6Sc+qPKFOxP7y9mSu7gff289miXacktO097bkxCPpIjNIANS5WTlB8UhBSybYCDMgzOTLsUrkU0NKMV03CDqXGEKCndsLvuYszdsfDLUENM06ep7TbLqTMwpIb6XUoQdYwyxD2lYdgBQ6pa96Za925h6//lPX6nnHfFywG568bAs05fVsvkRYftDRhjvaQD8PsMf0bhLr5KpsZlmjc0/+Ju3h8UwpKbxZGcNVbVn2/jkPJzNXYQkltksLdsFU14wcceZhmypQ1fBhISJSmZw9cwYugAyA4Vwt058J6ecfEoBXFx2xx2lbM0grBEHzMZEkfo6pvsVNhQHn/bX7PM7U/MrTU9/ur6b/nxCuU0DZVtTtNBTYksnkugsPdKZIEVoZoOU5kjzRLIkgiVrAeQMwJRtH9klH2S3XNZ8cDjAMMs0LGba8u9ev3vMMD8aiH7sAHN1ueurXyuuQeXYvZ8fppTk//MJg7TIvW3Hz1whomeeoZ0tYnqK6Mk3yMwb4sVeAczLI8MEYIZzttJgMwjXB2qFYY6mwRCwYyqejGUr1m6YqFvinpwDYGoI2uzemv2F1uQXLuzF/+NE4AfskoM3Zmtp0hk+jV4liA34jQNzNGLvxgkDVnzUiczANBkcX46ZG9mgREQNSvZ84J9kjASnCX4WaSBmJRA2gbAZn2AEzuxjij4nqmJOPoZUhZB8D7a5GGzfdtTNO/6ZT5wza+szM++ZQJbwmT9YQXyvKfhq7s5KH3Msu1eB82gpf9RSDu4mMMpAumNq5+mNG1uhanxoZnXnfNVh+m2d6b21HTvTMtPAmVOWtq+Q4fLXWYixPFRjcoL1ELYQAD5oYSS66/q8ZTGozibIEEeUWsI0tcwGxiZk08W2zum+g3IygE9a2j5pPres+POzNv/+6b30NxCqV3U14Fr0QQUwEYImmw2RsjsETDDQOgxlKg7S7/IBYFKgHvIiAUxP2C+XfibupQ9b28vJ1uiwTq8SXfvioQ6T/oTouCR/fzA9BsyVY/PK1UMA3Tr7Mr9YUiM/GGBu8WJvm8/QGdpeBUwO5zgPJtY++96ZbmiNmG+kwHAjqgCYKTLcGuCJGQ280zEFJ+sqZZj3Kn72TsP/6GSbvnW2ja8C3tAAxSy7szRZGj5NGcaHgFvgWrIWOCgKFQyN4DhMPBgApr2SRsA0GZpPuJaJttNiQk+yjU4MxQrGHkqo2EDllBPasdjdwXqeEbKFuJpAsOCBxNB3ffDDoq3ni2XDMTVf+NyV6c4SSnqirmScH8iAVoZBR1jkyubQI9PvR3SdIwiP/pcqF5pWkh+ev/vajR1r8rKZNstqgp5l1RlXDUgAMXKqUA2kADD25eGyAR5pcJ7IGYE4bK0QR5TaGfwd9I8hK+Ktasi3U06JjRMrt8wIgTe5BwnMRVTOCffZTgLfNwS1LVrWNiFl4vYZ+nUimp/ZTX887dM2wBqrj2CEAtyxpEZWUARR5EpF6wKYYKLy2AdCLmXqcgbDBKCXfQKZkqvUaBCJUXTHgPnRuKX+1jFg/ggBE3d1ls7S26fIniKid+/RE/2cztkqiFmw6RxH2xqwSpjCWhcQ+6gAhT06DIS8luS5J1tP2CwyNVtT83dapquXdsK/qGFyCZLjrANidokm+zWfzjF5GTAkY5zYwhnAIVTpgAVEmHNwNO2tvZyJm6JJBP8B44W2hb0YdojAiLHDKbCBR14qdgMU0ek+Brv4XMvX0MYg4DWKdjPatm39Yq9tlvO2fv7SxonzZ0/XD5aZlv3otbkSTzGaEZfX4ZEo3veMmyhU7mCtUnujGk6WaSKxEUz7D+53m1u79ydr02U9bdp6WvXW+UHOBhAuwvkHsgDsT5XVeEQ8SuwZro5ytkh5vN5xVAMS0HYefLZbto93hP5BFIANcGGkJkdMbbBhE7HBAzOO2NXzdN9ZCMIqFa5bS3fqdK2t0t9b7/Lvn9hN16EkYmwZFNAbc8l9ptxait4oYPaW8iwQpnRZ+prouPZ4xdTNyMJ5fUHkEQwkQWhDxte5C3e26ZhhflTQPAbMHzFgAjKXp0RnTHu36Gyb6OxkQgTXH+6DiTjRQ1bkHCiDndiIxTyK6GVWzgwmCmBiSm4ax/tEJ+42/IuJ8uwTD+LvSBntYMhhxVdzmXm6tOmMDHAEvAB2waFvCsCEHl5CW2XcRLOe+XIyZiIdTinKZeEFbT8gt7RAUXAmECvOwnCBRMjwjaCfpVwXSxDwGDnrGqaIHfdkUkim63rfLrtqsd/X7XLZfOGzl08tojW7y6xNwRUX9Ueczw8s4o4ac4ysVK0yj0ZIjGU+HhuMmtdrohM+p3/32jvbzbReNLO6rSeTtp5UAyJvcUrCkxXT+AwwA0QVJ3n8GPp4eV+AMhrsRMmfgAURgovRrYDmvQp0x4Z8R3igNwGUVMmxyalPssaIshweznEZ+2lK24zcO1tF6C/RB+5qWt9eo39at/mbT+zxqy3NB5gFe/wdVOZcC6DjfgbGVK+sRUJllAmadnShhZHKSdjjRaBsK42qwBBIAZOy9wPlju9s07tbo8P6cUn+4aDzGDDfBzDpy0TXXi4M/Ev//l35NTJ0lejeLeIXnkcy5HXe2XKlh/mUmTcrJfm6NZP5Dt+JF59YmnQuDMF4h/UNxx6rkGpXJBDGBMAEiATDZqZORWoO5pyP5oE1J7fX7C8y5ebZB/3vhQKYPmGkir4kT5benM5WsEIg0KAhik81BkgQo0PogtmpBcOkKynTtCzYCKDKY8mQDIpuE5Apjc+MKTvuQ0tnKIzUPU5EiFqqo07VuG61A0opmRCDbbvg2r222d9fNufXq43nr5yb3ke0L1hmWaU83P9emX6vyIhWxeuH65aH7HL02RzjNJwlmvhMZ6aG7tzamt+fdzvTtemimjZtVde99TYilrPo3PHEhMsBEHUBWyKApW+JJydmlmIKD0DFPzqqgugB/hdVyrc50G0rMgd1HALDBKtETKgMfDDWizFbMq1b5vu1zTpIwsyMIrXGrT04U//nzTz+6akd/i4aG+KuDseiocsIIpFTBB6AdXEETJEPIXmyAKbpXUbIPEp08ctsvIIk3luyf152zA3d2V6+sTU6rAMwt7549UBWhB7m2cfskh/Lij4cwP4E3vqorOhxQ5/VHuZHAUw9OGdpSfeVYe5Oz87Jnhd8dERhP9jGNQSGiR9YAczugGGyqQ0MaSAjgnIuO8stpdn2zH2+t/zc5Xvdv4DdMFYiEVgAcGyZp53l04xtP+FECXZuJkcZH0koGuioLJYYM1nY/ImM1UhpTgIaLEAREx6kTAInhEQK4JKiaUnkFuaJvqXsoYswSkQzuIWArFwPwXqOdmijbZfLajHv6/nOYvrz1y6ehIXITkukU3ONBxtNN4TPrYClfr8yJFoRpz+ctyMctxj9nmiIGh7C9964ud2sN8vp2nTp4TRUVwOW5UEYJb1DERinB5wjFC+xWFkUUIApxhqkwCi6D0I2ATsZMzJKFEzId6pEt3DmM3jahVHqmg4Yp0ywUdNninHp5/lBbU03+BhcsiJw31szL+5V/EvTRfr9k/vD33CuUPbjKOIBRaIWjkjZiOTIiRBeBuVYI5pS6DsS+7aqd3mA9ZsVKUNO02IkbA9zfsSEw/g728s/2Bod1o8B88NB2jHD/GEZJkxX26fMfG9Lj+XZs7S8f9/SqQKYTgEzd7qx4yElEikzsfXBQu8Mw8QUUJJjeC32XWwdllPUeGNrjZ/bqf2vnVykPzq9iG8wg2iw5YD6jiddZc5wIGcgVm+DpQqAGdArldG2iRGfTgjXJ8uKn83AFN0mxBj+EDAT6Ja0AUVyJDikuIaiVOa/So0zBubjNF0Tb8DLSoGekwjwoc+slou+nu8uJ1PHk89+8qm1e/uJkYcO0w7VZh5dozwEyhInUcrvg5iMoko/AFNlX+JjOfWZnliz+QfXN3f6mPeataZt1iay0eMczkQCjIU16gsPWX9h23ieGhdUWqw4RjgllJ8rYGpvUYoC09Mdn/Itk5DPqYAp1wtQmiBME70P6P4DdW6RtgGY0YIIWmF1d07bfwq6emo3/d91P9w1aSqeVFKSc0ihnQtgRmwX1I2U4EBLAU48JwxzjM/VAgMm9HtK5s+az9xRNutajotrUSPs905/4lX0XfVyzDA/FGJ+DADzocGWFl9yeVhW9GEYJiRG2zeI6Rmi2Tdv23lzrxzLs0RrsJ0kurPZnZsP9rzzjrIPHPeC8bX2MIka8kiKBGCRJcuRWxhuWOz/RoZw3cEPMxHvubzxYH3ypWDy5Qt79L9MQ1wmyIqy4dbkWU98mi05NCC1tE42AjBBa8EykcKKqTlMIox5Bv+KigaTb6nEswzXUXZjJ1KbewQKC1mSajTxD5PFkAj/QvcJmpwM8tGzx+dZPZkyzJkMXMlijNQvArf7+67d7+y1K2eaejJzMgCCVaNSqSNSo6M9zRWPzdEPczV/p2gxsYIzcVkGPbFdxOu3t9vJ+myoptXgat977zvshQNqUuaBmQOnFOE1khIwCGIseYZiMilMESYiBuc4dCtEa4W+JmSy6GFKwwIMsw75Npa4pasijFUOJr4SbEPvEdnkbGJb7aftmkwHTbmJNt1d58/sN+6XT3T022v78a/Zu5CWc+x3KWAmXZLS+7Hoq6B1LfeM8DPfNBGsEpPxgCgKGWLplBwVjJbhCAbKOaRphmtR6Ke3e/8Hd44wTDosyVGOj6FnckC+dognsHc7WpL/7Q89exhNjwFz5Yh8VMDc/+ZtS+f1jhY7hs8dACad24vhgseqhnM0zFtb+4bHkpzhVOS1Y4ghTYi9pRogFplzLcxQu4mR97x7+v6a+SeU8/6le+E3qwZGEMm0bKe959N5gGmww6eFTQiyConxBkJ+MCTKUAIxT1rOz2bOU9UIotATG7IySpEqFNwFxBOfN58zNZmpIko1zCaw/65GHdJ7lWKTAEIG6W1iThEwBEkJHjyZu7Zz/XKolvvLJvbD5Gc//fSp+y3xXkskZh0PM8YjvpiPSagsgyMcvdoxzSqi09Ocv/fau/ddXS2qtbpvplV0tSd2FbEnn1L20BJJb7HMlEzOQ8YWU8odG+4QQyFgp8ZIELKKmEpeXHZ4rjCpBDePJuVbfsi30Vsx2G7NOMQopCV+Dj76OIwwAs7subWLuF0n01kT415trjxYs/+FT/n/3djP33R9WJCtI3Vz6fHCTBiDIbioyt8OgVxupESXjHJqUqzbHFMjUiI4scPiDYwzSJzuQAPiLNDTRGBaMeEIvb9dPf3q7VP3NZKC6Dv0/Zt7Byzi7NWtfO3LGkmhgHmImF/5yleOAfNhBP1b+P3Rk8KPmmES0f476PsXwGwMn+vPGjhh3tkEYJIAJpgiynJhmPjaFIcigA9UOSgM0Z6HBlM0z9bCMNiIXSVs1Hu3M6mf3p7wP+Yc2yf38283qZ+3ppoGm88gwgWMMjPuV6MtUFaj4DYpW7IW23xrnbXPJk6NOGMwemO4msAOJyGnqaU8yUx1wk4SaCdEorCAp4w87cGkjHpQkmLFU6lgLWShlBLUTHCSl/JdPDiHYPt2qBb7bb3cb5vLZ2cnzjxxutleEs27jG2WYsl2WJ7rp/WhSfjD7kRCB2HvlKnxRGemTPOdB8tb9/YfTGbNUibjddWZqgpssM4oOsoMSaqIbzjjwVu4ogVKNdzeouMK3ijQGWTOg43UJt0vXHJyna5F4qWWJLJkQrrjh3hTXIxyJT1LAUkRcGL6riV+hMLL5Nb05m6Tqd+th6uLmfnP3MD/7uRO/w2b0gMVvdsEL0wZ+iSXs0eSUp0Alhjc1K1LWIUU6ZBpcmfb7FOj/VcOSYyFHwZMbAIl9Dc9sR0yAPP8F+kWfWd8xx4D5ofBvGOG+aEZ5hsyJacXnqftG9eZ6Bnaf+cvLRWKuXgPwLSmlZiJtCD2M+i/AY6Y3CBMsJbyN+YOvUOTfATrg7QIcx3WTqEsI4tU6EHjLtyfmF/LOZ061eXfXxvCO8uKz8TMtfbLkkzJySXogGAsh7xBaUFGlyc9m2ejpQ3OeRLJrCVLa7L2CCmK5GSgyqcWdrVEJhgxoERQEABQRuGo+6HwhHEneqzyRzQUR9SmouSEllsWouNg+6F3cDdSbeay+dlrl0/vB2t22kQtotqLjyZeiocF7Pqz0Y39qIUbKG7liDYaphM+xFe+f2MbAvVm1rTNbNIaCF29iegzJGNFUIr6Gn1JWW80gCZR3QiNBM0HdUyGfaTYwN0CJ49M5KHLDBGLVbzPlPYp89zFfMP18RbuE39L1O0iQwJgipi92ARDA1ntpz528w3zhWj471YD/cnGbvzTKvLOgCg89a4sQ51Aorus6lhD4B4CJQQvty1RbqKpsPQa4DGdYNOpjJOSrXKipSzB04SCtD2qNQXMtvMiK2pbf2sVMJ98kfIrW4ej0CPl+DHDfARLjwHzCGB+/fB4fPnLD8mKXi2yoopfQHwkpEW3S3/0CW3x4bJfEXevbVswzNjOzu3FfME3YnoImQ5WIoWNQvIDwBEROkpnMQaaoa0o8/OlWTgXenQ7BTCddw5AC3VkcGltu/Z/v/X5F3yit2dd/PNJzDuRjQ0p2dom0WBCRimiwcw+e7O+dPTMQOaT2fI6VIAmmyVx3rcpzZH5ZcjK7XXik8Qqd5yaizZTd88VlEXELptFmvWdRcQk6k4dGCEYPaE6NSFG23eD6+ZdvdhfTs6sVetPP3V27d48i8yoly7iQ0bDK73NR4PLxsAyklL8iSnT7Ztb+/vtsIMhT9XUrZu4wTkvVFeYm0gBhPnhwaUo242AfxlX6cQqQR1URS7rjBhMSw0KqzsAJ+dZJJplwxPpYkS6U0X6vuvjJuW8Az+qDG9h6B56ExmjtmziAIo+cc91nn+eKXeT1v7ubKd7rUpVLx6WLoo3JoY/ziINBDuRlKFvhx5dhjy2zrFvs/VNGvfJqW6ilOrkqEtDroxu9cCReBICrJVyXQyFY5pkMExr/a3Z575z+yjDfPFoSf7qYUn+1YeSIo9OBI57mB+Gnf6k3PZDlOQfBDDf4hcw8Xn+edq+rQyTnrhpiC4+Apj9vjs/T3zBTbxMxWVKjnI5YfOHWYyFi1cmD9FUZsYDyBxaVi5Y6pcopQWDTO1swvwU5sIo2ZmreWWv3J/YX8lknvYx/nUzxFfrnO/DQBjSoo7zmZbMlYHpaZTclBkWY9Eyz2EGgSajqihFKCMeITDgUKEllOoYSqENpwMhMWkXCTzODwGQL6WzaDLRdpWtIMVbAahSWoehtzFG2827arns6/29xeRzL1441XPl7y+LzEj1O0J1Hg1Ce9gPU+Mlagx6GkMT6oY3rt/Zbtbq5WRWt7aZdNb7wThdU5K9GblnQUZ0WMWiXGt6TL+cjuTxzBGOK90BHBQIrcQeFDpM3D6mHCDPAvv3rE3LOlOeJqYHfoiv+yFsUswLS25AU7Hz9nLn8s9mS6dNl761sZf+eBrTfeybi3LIWihlxQ+TUxRwF4DEI2pKD3W0kc82ylZPcRDOQXuWLnjRX0K0ztnLBKpKg/w7rn1i11zSIync2vi5Vw9K8idf3MuvbH3pADCFYa4Meo4B8yjMHTPMD8kwcfOrdJVurem5Fixz45PEu/f0+1WGubcfz/c0uSgeY8GRQfKLCbCJlaweEbDnYDDUwe9WqbY65pGb2xQQIQMHIWZTWys2b1LuRvacbMoRI9e13Q37M0vLn6dEM8d500W6m7y9mCitm8QPXJ/fqdNwB9w11PaZaBh2sgg3MBZtAFkpxP4fQFAHRxa6TUmx0G6oaDZl6wfjknGnfGwMRiMor3eE/gKan7o4KQvYugHUt4Nrl329mC8ntcnTl164dOLePPNOq71MeGceOLDL3zmqzRw3enAVIibWakNn1ji//YPNB0Oi+WS9XtaTprO178m4CP9J7D4KXRPuDBJsQDMVLNFoxO64kOayJoWHKw+bRYCOWxm2sAvCDqJ0ZuVpJhOqIWy6RDdjztOu4QvB0nPMtiJ4ZFJeRssvREMnbciv123+N3Xff382+CUINQLQZP0SgEkQpMOdBCkkcwSfEXLJBTCNy5ifJdkAg/d6QJCZ9DhFi1kC0eBa5CwsUwMHGqiOLvWxZWWkOlU3Fu3p5TFg/hBU72MOmF878vxfuXr1fUvyi/8TMUw4cLn5JvG9Aph7t4lPffIGn7gnHha0Xxk2N84beoLo3lZ3PoT85ABcRNkNZ/WATR+seYj221jsncDJiAOAUabkWCcOKUItAx6i0+6JMzC5kHaimMm24sAeKTVLV51srbm0cPkL0ZpPQRjEmWEn9uezLvyFS9iwRLlpN7qanktspkz4tAK8yQDeULSCL6EE1xEykUirZYcQFa1sUTLYsSy+A0MxFxIhJQbGuoRe9kn0OIKNYg8Sq5+YHQW04Za+XbTNcq+dPP/UqVNuulbdmydaDizaTHWyXAFKXcCRy2gwLDIiT3RqwkTtbn/j9u69Ccw11uq2rpreeBvIY5MTIAjAlFaiqO7BxMQsXa60GUQbncwiE0BfQVYb0YBQZFUFqt4eTDXJ4cCEzhNt+i6+C/vexMl0zjw11PwfJQzWpOHLSz/Qv6yW4Tt1SPdNhEtf7KOpImJ1Cbm4g4VgKOJrn2weYid9TM41+pQiERL1FNaJ4M4u3lP6eFwraiiVGUGU7uFQhGsGuF0JE8WEHK5FQbZ9PHq2N19fe/XWiBnrL+7ls8cM8wND6McBMI8ejFF2/O9/+tWvfXDA3CyAef/NV3n/VsXPP/887ZWS/N4T3zEX6Un5O8vK8MW/sAKYO/vVhbaeXsTcFZECwtVaSB+jWLghHI1lt5wYa31D6NC+lNVI+GaKg5AsMRN7rIaAbUK0DvsIqNSZ7MKbC/cm9EvB5U+YSFuTSN81fRgG71/sTX6BTF5zFG/7ZN7GNHagfCZjQISNQGPRrrPjVBqPE/IjLLYoJCjD1O8EJSRTV0v0Q084RUqMoLGiLdeVPij6gkkiNyIs7FI2Q9+7bt7Xy/miCe0w/ezVp07fWxre7TK1g8qMDpTj7+GLCeyqPdN6RXRmktP3X9/ctrVbNOuTRd3UYJcB64/SOcDhwsxapjG6rZMg8xH6O/Jf1TmWfXFogcoOElZmZHYzSq7EvQgHTAAMrswp303wzfTmyUD0bGQ+bVPexPzJsX+rt/xUsPxprFRWbfx2s5//rE5512A+hKoeLc/B5tTCbx/yT6Lka53oKw1NNQqNkvMRJI7XwepELrEPorvEbY3PKcDWPxQPTF/0m3K95pOjh2naeHPr505tjh+Ks1+iTF8//Igcl+SPx85jwFw5Po9jmCNg4ub33yS+sMIw55+8wacKw1wFzDv7+UL060+CQUo/KbcGw25hZ6Zj5xq4xyB6nBAKOYSFszD81v1gyH0koey9ALO1Zn1nYn9u6fjzls2DKsa/qPt8F6G9NgeZMsVsfKzS+d6ZTwRj4OI5Q76BibRriXZMyktDuS+ibDAilNLQbCNYiJgGLArJ4wGQFmIm+AhBorjMKf/D+qWQOWV12J4E6oN/An/wNoMDfNQB0LIHy6zbxWJy/uTs5MkzpyZ3cIT0tQAAIABJREFUMQDqiCRATf/eoahdWKa2GXFimUFGNGPa376/uLe7fNCsTRb1pO6quuq5cgHREMBEKErF0RKWx4B00frAvk1m5KP4tACmPnI89MKTxccyo2IX8TmkPIioixOCuoD5RGJaF7d1yg9szG/6Pn/Xx3gfHYiEnQEYXLKtBksvDI37NCV60LT0h9O2fdPABgBg1kX0t5NDcyR2lJqpjr0FMCnBwg22R5gwhco+BJhtxhaQAqaTjUxtb2L7h2QAJOA6wC8zy155GuLmMWB+YEL5yA2PAfPHCJj32up88tNLAaL1ruWqIh4Wom6UPqQYCXMtSyduVtOwv+tsXVOAATg0mN5yGhC5G7mupgY/t7G3u756anfN/yeUcj2N9l9VIeyEnDwoq3CokCBPFB6F+a64r9vsW2svLk3+dCJ7PhOtiWCT7cA57LvMuzlmuLij5pZcGVFnYiEIdWAKQkq1FpcMSuzZ6TIkYAZfatC5uFUI01Qfo2LcUQY6kC92wS0FMNu6nbeTz7x06fTOYO2DcQCk7cXDDaCRDbJk8xD2xTd8jK+/uXlvMpOp+LJeazpIe4yVJywrioLTKMfF4E5KW+1lgnVKjzQTozN84FUkpbo8E1gFI4YuEoSQeT0Zs2EyTRITVg3Q3dwxKb3hA/11FXgr912fLZyD1XLdVC4mNGUtfPXqIZlIQ+Neah19puq7v5q1+eUqDntgmIjTdZXNseuIZxshUEf4P+J2eQkWWWdnAy2YUmVcHrd9OLUHCZKZnGwBjfQUWilTl32jYZBtILgXWcubW59tjhnmR8TMjzVgHq4z6NH72oo/6CtfJ772ahFRfJFo8/uHPUxlmG/Isdu77WQ98hSci+AEO7Hs3r5o6CzRg+3di2kwlzDcSQnT1cixJQM2GZxo7QyBZXLgKsFg0bHDJBw9SgtLYf0a4JrZ2T6lanfmr7UV/0oV83dPz4c/SdLboouUcsXspOmWKCEJCGlaiLqQ2IqMEVHKs6FyzyEADVqlzGaaiNYS55OZDX4G9Tk+cx0nxPDaJee8NCl1GU1WTTMTqonBvfQvDdw90OiDBKkoMlE5CkMsXppyGFGYChflNCTRZqI0b/fnk7Xablx6+sL61n6i3Raka6WPKcCp4AY7pplnOjtjunPz9u6yj7sVepezpq0qNxjvYYKh8IoaV9xAxDFDN3CEpIL/ojuAAZc0NAXf0TQk5iZZmqqbEzeYgEvMB0PdyHuUaJcS7UmMheHWDmmzimETNBSFurGV8mPIIRB6xFCCoRXjsiEzN217d5j4s+1s8p8mon5jkX6nac3N0M3FVD2bOjqCmwbBT5Mw7xFrtlKjZ2wCYdBTQDOElqxr8CfQDKLELmUk0ktAGsAz6G1xH9ZlL9pf/+6tLbp5UJKLM9FhTS5bPsdT8veF02PAXDk0jwLmy+X4fIk2L36HqUx97p96HGDeZvf25QKYdNEMk0tgY30K3DhH+4vOAjDFDxO+mBmBEoROFSMQDcwSIGlcyf8BFbJYI+wnD6bVpxae/8GkC986G+jbObU2eDdt2Z81oBhwQhc3YKwvFkk5IwIDOGLgjbQWXHo+mzwFaGAgA3E5YirgX8HMFdm8FonXKOcp4mUlXA0JNbIto8J2JuopZmTWyF621NrYjtHmY5n+iMOIiu4FL1XbrnLHbIYQXVh2VbtYQsw+efHKuTOdqf29RaYF3IxWQFOW2E3GPIxOTeAD2Q1vvrN1r5k2CxgDV9Oms94N1uJcAW8z9B/hdy47kFi8gcWdi4y1qezIWiBZna1sNDWZreQVYaKVmYacUk9M+ybxrqG8L1aUxAFtWFTssieUTbQxbfpE75ohBaqaSAZboTpksn2XoMcEYAPPMplF08ctbCgMtWn215tfTzb7tXn+7enu8ham4QBHrETKcioAU0zgx5FXxMuqxu/Sl1RQ1L1x9L0HeEhrv7XOMkGX2+F7sE0Mf4Rwx82tB2CYL8s7/+xVSIqOAfODEs5jwPwxAububn0hzdPTUr6CbziirmVhmOKLEYLhSpuEoq0EYLYR6Y4CmN5XWrq7mm/z4qfm0+YfTYb07bPz9t8YxnWDDZ6nrTNnTRS/NZEEMVfilD4KzFOE5RvlwH6tt/GFzHEqW+Ay2CmyIi2kxSoM3T64dSSKnpkRdVlhUJQsTTJzQzE3aJ6NdkXK5GQ0hJku8GGQexZAhcYQgs8MuIlgemBMSLgc+mD7ZeeX+4vGxjR97vlLG7f3Eu+iIi3Z5jo3lzxxWm+Yzs04v/Xmu7vZ2mU9a/qqcsFOmmQ8vOUJfiFYlII2Cv7iPsEURPSuxZxS3/E4TD2Z1HI2c068pEw4EYREQ2/gPocSHr8o2lNZdkQ3VvaCBIlg6Takmy6Fd2lIwdWVeFXKQAjsOmk3ViNxwXHjskp0x/XcgUEOlv3O+uS/JBP3JnvtH0736H6sKFexAKaKDBKCOuX9ASnvoPM5tXgLJJIhIKOAYsgIx5CvNc5COin63qLMEK1iHsT87jFgflB4fPR2x4D5GMD8crnuVZTmY1mOoc9jGCZ+xbZPCQhuJbow7OxfzghBg8YOrcFBd8OBbliNTFYHO2JpDtmQAGcE1zOVraCyNovKnN12/A8p5/mTi/C7+FnDFQ+UTGfSWnD2LIKAUNprzWngnAGrS4QCMQ3JkDdYkJ72np7PhqZStiKRctzsUWTSvXWBqEFYqa47omwdRyeaYmFysomtJ7BQSj5j6V17AhLRC+MOJtkNtMLwhCcDgdR5E1YV6PENHQLTWm7nC376zIbhycxgALSAzCjoJBsidbFumxmKi/18e2eeqmlDftKQq3AAbWKMstREcpAjCb9KsEUYg2SwYfw1+C1DsC/MeLR100JdBAIivRe3oYxWboYwXBrBhedhao7XTRqzwSbaNCJUD9HZaQDDzOR02ZLxnwJgGQ+jWvrYbVWpWcbYwSA/LYw/vXeS/yvf9f+62eu/UwfTQYAg/VZxi8pq54Zj4JxMy1mm69qbtBj0CGBCtzn6IwW8cXKErEgGT2r3Jl8j3yeGze395t1Vk+BjhvnBAfQYMFcBcyVF8pVXiGEiLMD3KvGXvvgybZZQtPunJnwN9uukDuxYkzwzrkk+U8w4zhPdemdyMQzVU9BSDiloFrlnNij48HXlGI5FSnmIPQLRekiONOMnpN6iGt6b2p9qa/9LJ9rF19d7upeTZaT24t8l59ngq3MZk3F83BNmxL1gsER8WYyM1OptMGkW2b3Azk4kAwfrOdJ2LHr0KH5uQDPRWgpIytxc1YiIrdD7lXaBMBeMnLH4Is+gtHwBMbIrpOJzFP8yXoINhewoZgRvg3NGF0J0fdtV7bytY9fXL73w1PrWgvg+4iwKWnhs9EwMnW1yeu2NzR3b+LZpmtbN6oXzvjfGYs9I4F9QTzFdnS3Lz5RlCvlD9V1GSmqBLAAuLwKauLJvIxMzSFRlRK7f4E51dp8NehSRKWz6YG5gSdL1QdoBUoZbBrhlRh9BrfLQK2mrdriDLiNKa8bcPQTaOT39lVS5i81+9/vTQDdtn0uwGcpnhyUktXeD/lK0lbiImUv2Vst4/cnhVo9UCThtFHnpeBvcLma+sf+g2Xw/V/Wv4kYPr0Ou4olsdx1cHh4DfHDk+Qm95TFg/qgBE+J1q+5Ft/rJxX5unsYK5CBj2QD5BwLO1K/cy362Ue/yyJIg2YcCmKBMvemNX9uvzc9Fb8+f31n+bwBf6BqFeBk4svO0r+J5rB4LMxI/HgeRuECWcDuRCQlwrkXvn09EM50Mi7BStiPx8GR2jGmO2I3D8AO4Ix9XGeyIbUVZhZTx96hp1alPKXZ1T17BE21E+eOyk4gyVyFHzN7lP/0wWKRN9otlg4n5tPEb5y+dW99eZJ732jWYOqbTU8633r29t+zjTj2dLH3ju6qBjMgHeZDgloBiGeRrk2BUvKvGUkFSFU9oEGJOpfrLMhDSd4JKoRDlDsWQWKzruF796bW8lq3QaHLatEO6YagaMkpndCPgIioVu+xnqR8lIjVdtfBhuOODaVGrQ0KOnfHF1F5q1+yv+eXwR+uL4fuQGB2uM+YsQx0wSDBLiN3LRfqdYiysAnVslOvv4baQGqmxsILkoUVXYn7nGDA/OlofA+YPDZhvMPbKz4iIHZdnaN+qexEAMy7NZbCtgBUfLDZiKt6DbboCmBHKSYq2N03ayCnM1fc3OxPc0g6m2XhQu1+0Jldn9xa/J5s/4H9uIp/ZlutZ7/tzWfqN8D0MBt7CoCCBgjFVBcduWXtMJq9Hts9n5ikARO2BC2BCpQ4PYOjZhXDB0FHGNQp+YMJisqshNxZDGemXqsGHqjXVmENKeXHZFL2jArfs2aCvWhxxcXNQM5hzdIMLfYfgtKZbdE1Tuemp0ydnVNWY3BANfdy+u73o+zSvZg1kRJ1rms55F9hZsZgTeNbgIZ3fi+uGGicpUoqpr3hZgnhrZo8U/MWGGMZu8K7ULR8WeoYjMEpJkTKhOBxzZG+qwVDa9IFuIPI9D60SazeySojRXcI2FcribOtFE7st0+V2iDFhDwEGy6FxzfyU/69dF741mw9/ZTKMjiFtQHqxNG+wzp4z5GV4hqhA8Ko5m2BUJNs9ukqrZTl+iN8LLiVIPVGGHwPmR0fIh37z4weYK6bRK9aYcli+9piS/De+QvnVEoq2uU4MaRF+Z/8W8fOrJTkRbfY6yFnY7slub7iMjZ7RMMH4RlkktHqGeJE7AUzwwypZNQIXwES6eG8669f3Pf8CG3Pq7CJ8HR9ndUOPwE4zsJu1Lp7DyFSNfcXCDBrrMd5QnIVkpc/YtY7yi+RoCt2KOGmIzYZ82JRIqtBboESjfkZpkN6f3Bq+l1JuS465AmW5H92slF6qenMI3hiQNX2vSeasRtYoZko2ukFpPiy7qlv0dd91deyGCoYd8ivOBVu5wVVglU1nJ66vfTUYiZ2QIFzAshoLFQ+68X2u5bRu+gicSg9VzCelSyCcHKk9KpIqUZo6ucG0XXyEit2IBg8ri0eT0ia64YbwLrqHkv8D/yd4tAmDddKgzuIaYKjKtLQp3mlybocephpoY0SaV/bsct39uu/jN6b3w2uuhrsHDhkYqOZWYoiD51NhnlUuOh2XOBP5txt0AwhcUximAKj+K2FoQW3fKqJ3Hu5hXnt1LPWJHinJH0GIj59D0SpmHgPmB2SYRwHzO3z/TSwyAzDf4uef/9WyJgl++Qxt9t8xRE/SfTt7kvbyZUy/ocOUD7+U5IG9gWV6gDZFcinAFjFC0ZIbYwsxCeJF5mp/aj4TvPu508vhf616v59NL5pzDH8GY2ZDRecgmTERHULUvY6dQciMlNeQVoqDbc5ho62qFzLldUb3C5k/WotLWhdnyaRUpEvCrQRStcAtzBE/Y5asB0lZK6U3xFACuiVQTXfOQRCLn3t5p6GsRwNUWJ4aDmP7kMPQu9hnO7RtNfRDFYfBgX2qhICTdW6oajfYuuqrqh5knd5Y0GN5dBIFWV7LElmm/FGelWh0pHMJzzVxBjmAHmWeGVbCiMnUuY7eAI8fNa/EeYA143SF20NDFaIP8YYJ8QaWcFCfe9F8gv3hNjKEEkcSAKwLeWmGfgvJyB6+cQ6uRETzE/Xf7yx9em0v/VbdxXd0oCNm7fIvBj2YkOPfaVOnrkRlSj88EBaKBCZbmPqj/C5i9bqxCcZL2O4BUEJyZNPAg/FvLx4a+hwD5gcnoMeA+WMEzIWdPRn3TAFMbPbA7aYT1uSwvUjRRF9n0WAm5moCXAoCmDGwAeMEx9r1dKmdVP/YpvzGE3vhZZmiC2D2pie71tXm3MAMviW7iiCvUvKDd+FnAFIrEbprfeU+qVNyXW0ft3eEZQraFQHkmBCpe9ZSpVKAxUTpagqjlMGQpvgUQNVZszgUaZnOwOughFSG5COzPNwSALCBnkWE34RoAZZDiJYC8FCyK5ND6V05ZA8H7zzwUYMm8Cxl3jROZwQbD3uPZfpzwMx04l+SH2XfEW1khX1R25fEXYnLHZmmSK0g30StrmuanKLp47supRucTQ/0s1g/IGgXcD+VhgkDZAcU7V3vOnPLpNT62oogvfdpun9i+t+YIX1vbW/4pg9pP7taYzGqACt46kJH3lpxMgLTVGYKJhzZJRv1RByoh9YSL8ME+gCiumnSEAbykkw+rkyK4uDtY4b5wQHy4VseA+YHAsyX+Te+8qX86ssqZMe0/P5NZZi4XDh9VSbluGBavjO7wfP7lvdbdymF6rKe+zVBy2JhBvI+kESAkNNNHnEmgts6hq8ATOSXx1o8E7Dh0zn3uW5i/+O1FoFZi9dMXUkpO9R51nF1ASoTWYMU7SD6jVhd1OhclOQxi+XHWnTmxcSMrR7JxsV6I3Y0U9Tf1VJey2cdOOOBaW9SH6ctzj+4jUxZRHpU4s0FetK4MlnmQDJUkm1u7QCMTFBmQeW7qCZr4toeE5axYQmHab2YfWAdMIrBHVn0GKU0FoNknfPI2QBWbmNv8iDpUR3hFUB1zx2PTsKBSz/2cNIrhk26QilAr5mW4KmColC/j+2KlBhu9DdMnxCFh7zknGQVqoSuSxaPkkwsB5jYt66jW4bcsvHgp5F2npj9es759GSn+62my5vSpJTzjc08oRzmgaJD3CikSkS+qg+E6lKOQ9hUvDFFXgSxeqUCdeyWj+9PmaAXZmpNfNtePnljFQiOGeYHB9CPNWAedm70gK2mSL7yytdXZEVn+TeufimLHhMXaDLX9Wu4F124VfHe9g35HiX5ztWbTPQ0be2evRTm4Uos0iEAZ6K55JCLtAiL0RCpoxmZwD4RwOpUk4nVyA7DIAkbo8XEbMwr/sJg3E9PlsPXz+b8JgyF08RN58lfCCF4axEuEyQAN+eA7CCyQDsJRocFGGOL58VsaCaooJkWCmQywB79f7W8xsKg6m5GvbQCJETxusYio3/1Ll9xgdIjI1pFKffl69FPWKbkCoSCtSpfEkWULMkEAKtgIWpbedwyWkcpDC0SGJvG5WpiOHqKSfBE708YqZr/Fq6ok3CBD0EjBT1hkyIxzWIoLM0HEpm4njN01GVEWqpFunJvkd3DGwV+eTdc39/A3KoywPd8MPSRW0mOHBSVEKJmhKDd9sTLTNHsbNS/mqz9jOvDb86W4Xs21zGnjnOeyvojNbDccMkWQMQ/bCFOH18Mm0OLh+2yRFYk9HAAlgqcY2k+QoFkBKXANrq3/J8371y7ttq3XNmFxC985SurJ5GH0OS4h/nB4fVvxS1Xgu8eUpG9P2C+yr9x9Sv51VdXVyUP6BPV333DwIQdlzPbTkTuO1uOt7bOXgqhvaIBZ/r5VGE6sSzfOSfuO5ruCFsabCDq0Ec8LgYndm5A0Oh6JO+u7fvqC8G7z6/3+f86sRz+bfY82SW6hB6mReMLJhloiUoPEhrJCgohxtYKoin6FD9JnNfEN3ismcdcCh2IjUnksuVyAH4AsTIZKvuGKjMSFyA8oRK7JrT2ILFD7g6tgcMCfHwTjdLH8Zyt5fXRCxjk4e0PvhFKKQGOatsmSWO60iIMVBBYhzhyweCmtBLUOn2UYRYvuXIzwVGRAgHrEwTxYh4sjBMaS6GxkmAH7RLOSDfMkN6RoU+SbvABYA7oQxYyLecljku3CDfJunqxUf8Tsny5Wg7/u18Of+1lMo5LpDhUenZSEJS43REzEWchAx25BIo94oYicYXnXBhmuR5ORQdguXIfjtxbn9lv3lk9zl9dXR4/BszHotwxw1w5PD8awLzB9MVnaGfrJt++ee2pkIYrOWK7B3IW9bcMBt6QOtxxriZIRSz2zfvOqsQSNkHRWFsR5CTiJ8m9xUdy8KlZTpqfHoz5h5b5zabN3wTjC7GbYH8IUp9YAFPKc2vEuBi0C4Ab2H0y5TzD9FZU6YVl6lR7nIhr6Sy+liOGjhJvJXIwa1PnNxVd6m3lk86KWwe69RLzI4xRh0IyyS/HvRTKR76Tu9F4oHI78V46KN9FgK5OQwXcIA6CgZCwRFxEoq49WdEFHQLreLWwaZBWZUygblK8I8dHG6f6wDH4UeGOaCxVpSQPBl3IG26gd2CaxskldroGCRIahkHADc1K50zMPneR7MVQm1+hlHarZfzNppu/g16nbP/Lc7Y5LPRQYCEVgAkXoxEwDZb/ZUlAReqhRV+zeB8Xx/axRJd99PFEAPCE7gh91khv/XR38u1jwHwsLr7vlceAeQQwDw2FX3nlFaZx1Qe3+fK4KEkEF6PNi+/NMKU0v/IMze/f5BSuPZVy+4xF5ScrG8GwqbOYcYSFATrast3jqjr3/aIAJqbIgDjHI2CqThqkLzFs3+ZsLneN/7Vg+JKL6a/qYfieS7wgk1HEIwQN2z3QPqJDKSA8UDoRnXsxGzPTtDMsK+tkXTjouPajNFNs2USQhIm4oEqZmYOHlWK8uMjp7Q7KeyCdfmKlE4iESZUQHZTuKHMxLdcocx0Gyc9KjC3+HASIJamiDGUUA0DlYBYqMRKHIKzGnDKQ0faqngSUfSoZ1YaniNeltYB49XIgSpcTLB0mJgBKeAdrIIeuJ+mgDLJzg4XP6FJ8xwcG+AyiddTHIijMmtkDMRWnyl0YKvN30e52kf6k3u3+pYn9nvQqcXgQq2tQMnc8GmyIkVKyUm4fACb8N1Yusi9+AJja/xyvlhhnlOH4F/c1OKQEswt0/RHAfOxmz8PYcVySfzSo/Yn9rceV5Ecd2LEjNl5euXoIkAqYcC/Sy5M3f4bLpuTBqiSiK/a2dp8ObK+IYB2qZ0+MbDNMueWDL94OCoquBtNcsIUlDzQz0onrdW0SxCdU6j8pJXzEh9Ck0E2WzeSzfVX9KlluXKRXXIzfc0PcFa2gNRaCdXEwMoZCCieir17MhmfKwlDZop+o2YrgiuPwRjmigqaYGIMGSfevLEEWFimPTxzWS69SnhgepzI0nZ+oG/sBbTwM2VyhQSUX4/Awl6NbMAAdAREdCiLh4CnTKzAmgZc691drYPijOZUFyUWQU8E0jTueMuRC4lAxScavYExWBPDQdhZRlMRjWBnEl716whnMvG1jAmCG0Hd4nhg6QUggWrHI/PRQu79DzJc4ptftYvidZr99m50RraU8LCAvJt8OmzqaOY6foxQHINoiP8LPdKtnvGgJLps9ZdAjHpiFgarOCFlS0GVCOaFfu6a5/tM7zVGGuQqYj1CoR37wUCPrJxYIPtIDP2aYK4ft4ciKjwaYuvmD+Iqd7TOXYxiuSByOgA42fBpCpjS+h2tRj7w/2TfBbSQkUgER0FXC0cR8MiNP5xAwc1MzHI5C6Gd901wZvH8pGPfpbPLMxfSui/G7LsUt7FdShU6pVIonBuM+mTmvK5KInr2I14HFgCLlU3IB0dI+pwIfNNUYd5RBj0aRl5pWdOP6dsKOkH6qSok8XgUJjIFjnJTAekwO6vRS64/sFhNv8RAtCRoC3spG8cDAhqOApu5EIr1jhV+VAQ8YXOmVyrPFs7MC4zLYETML8Usrcx1NjtSzFAjiISjjcWISrkcNlXE9UBhuuEzX2Zgh9kOCeTBbux68e44sfyoRneScrps+fsek8Kafp83Kmg5THRWeIxADgFllBzpqbPamE0Y5lt4j45SXY+UZoseZFzBpGUvyw71yeW8VPBWTFzw9DIcwGKqaHxwD5kfCSj3vfvRf/Un9zR8TwxwPx1WiMSDtxvf2rlAwVyAlwkhVNnq0lpWsBQBiH2BKRtLHdIJrUQDTe/yWGFRSTj0zMhDFOBMeZJEZtSMT9xlu4Hxe07usH2x+Onl3NTNfJspLl/N1DuZ1T/1dIjvtDP1UZt4Y9YYYM+k7QcFPbdCQqCXbLwWFxim4DFXk5io9wq8W1Cl3A7DBsHgEVd3zBqhquX1IT3T6XtbMD5miIvhhCV+c0VF+q/fH2CYUVafUzOIDCuYpO+MFQEf2Kc8L3BJgi80b7Pgc1M6YvGlfUB44NJ1a9crtMSEvs3c9Y6AnokMlxDTlRG/5FN5OYnfuzvcuf47YPAVRg2F6zYX0ikvpXoqwF85tM+TbJuRldAvU6ZrpkyY5RHj5BTENnjjIVjVrHIFtCEaTl6eYCo9bP1h+kJ31lVVJOSmOAWkByv6Q1RdLAi7EIyubeP1n5ifeWv30HonSPWaYjwW2jyFgrpwkHtqNfLjWOLIq+VBJjkn4eDnqxn4oM9qpPnV54PQM3vx42w6yvuNkCq4X+GRqeS6T8kaTJyEtirkzNquLuwIaHIhKBi/e+t3SQCKdfTPra3sRYS9WUrtiZmthPHkyOPOJzPzJnOkUMy1syrcS54qIB04Jcmod9IjdRiLZgdEJhG5SS1+gzDegfJeen07GDwVI+uAL7yvsU1nnQT9Re6PaAlWFTnlOyqYLQsG9/YBDHWJjkfyIifqhq5DqLsvd6JxF/JCAoJIgPG7qaKtTOgZoAUp7V1PQpMaWYU+hbmCpiJWU85p0K/FHMe2G3hHAK40LIK4UuRK7CY7H+Wn4hnLO7/iQXzGR3sppWKLnEihZaEZNji23w80m+yWyx0WADmU6HjnWVMtmj3frCd/j+YCF9hjmyAWsdHaQSS7eqgZTdJ2ao6wfWeUjn/gQEUss/Nwb+sFvdf/DkZL8WEb0WIw8cuUxYK4cjh8KMMf7+Rmi+ltvyEf5xv7JK9n5ZyxAAc6GVgsvXJcqm0WIgs8M2ksAJ18AMzjyNpohR65KOW+8xu1izJnhfpMcD3FpQjObBZeeLIZr0quEByZkQwJiMbjkzKls6VIw5qWU+RLqWc7UUco7xqR9TrmFxQXMIrDAkuDQibbngJVKZZRi0VbeLcorVYMpYK/S8IP30pgzedDVlGXEslxeZixaXI+uSGMdPjI7jPl1bnQg3xxfnCQCKRSzumdUJEwapIsLpmVJ+pDimqwyUQH7iJ9phxhLkCOLFR2nPo/SztXcuLRHAAAgAElEQVTYTDBudTJinLmsT8ZMiN06GzqREux+Y0spv0sxfd/n/BYT3dNOKfoJAZm+0I2S4OoQly7Fm25ILaVpRPltTad7VQUwAZDe1BlGLRZLWDBL0sOv+6nyTVeep6Ms1m969hVx+8EFoWe4/yiunHiPOQdLOLznuuu/G//HIwzzGDCPAfNxR+DwJPGjZJjvCZjnr2SXFDDLJbryCS+uwToFHz/qruADyvVOjIQFVGVzwzKAUj7YwvzwGexN8M0sVOkSmmcyBXDww4SQs+yyYP8ktTKQSEwbA/nPZuPOU85r2dJ6zoirMEOmNJhMCyKeU04LhoOwMSLmLP5sBKH86JMprg+lLC9m5geAVVaBDo9zOQ+M8HpkKfIAZ3UGvdIwOWSiKlsCRBbhuDJiVaaPtpsF5ApsWO0qlD85mm7g4AXpOoh+U+ZMCO0Z7w8nLcMxJg+be6KEbNC1zKbhTFWy0hNdUM67JucH1KfvmRhfpzQE7wxMNkpaps8pIcWsgBjE+AmO6/Fdl1Ob43rhxJAPZWxZatmNhHKcjEqurmjqi5ZT2gbSVSgr6ug8NLqP/l6AqUBarpSeaOH1gX7wu/G/PwbMD46RR255zDBXDscHZZjyK4cqI7r2MrGU5bgIw/yDwjA/cyVV/lnVwOEt7Kh3CwOzjRH4tFjHB8FSt1wiqVA4kOFeIi2kVJfJ9FQgUerF3EM0LvY7rTVr2fKThGAL6BJhuhHUrYhkz1hsI0Q0j+TDaN1LmfLMoLw0mJSQp5w3iM1aJuT4cJ1TRhYwdEwd5Yx9klaWOXPu2Ji+CFiE642iSinRV0pt6S6Wq1W2VEpxYW7j6iVgS2XtekDQCyhl+Xj7UTaE69Hkw0GQ8AedmIsTkUEzYeSsor9Uy00U5pIPrONxdRoaHyak3eyxAM7Z1AhBi5QnhgwMKBtdfeI+G1oy531KeZ8M7VOU3B8wz+iGdCNnvm5SHNQ3f1yLTNgKOrT3QPe6j60J3abJtORc5YjgD7RJOWY/giGeI5IjV7SWkSFO14l37OYHPWSxgHPIsFMA1R3z0Z/9ECvHt7cK3lHWuzd/95+fuP6+ePFoD/NjPRV/+Dh9HAFzFSKPPv+Vtwa+PNrD/PpDx2pFl3n2ZR7d2AGYo5PR/I1zzziXP4E9Nej6EGsDMw2V6egGjwm9hKDh6556oyzSkhNTDux5V8I6urB0zkM7U34P1pUxmdab9WT9Bc6Sp6AfHgqiHYce0BlHSSyKkdrgN5KPV7EaqTbqRtpoOjQR62EgCrx2fDRUk4FvJs0y5UZGQNLaFOVMtsZ2mXIngWgpIThsYGMwHgdKy0oMI3wXGh4pJ8s648FoHg9QEfX9PpE6IV/J6ZWb49aq8xRRuiyPlxVNII1au+OPoSELgaONFByzuOk2hDkaQs/UyEdFk1KU44TAXU5x32SeZ+IOB1J8o6SdCZM2SBhA7QR/EZT0tu3768lVA/XdAULKXufqfEuObLWgxXLTkF/a0FF0AFdMxdHLPFg7hy70QMQuu/sEUMTT7WR7VFo7MgQqAHjAYq2wyLEnjN1xfD2Cbyy3S4ne/MOHAfOxKPDx1l0eA+aRI3CkADxSAv5oAPPEM85VnxCIxIp454CdEniGj6KoYcZy3VpCz1IUjUNkVbCPzNRSTEuL7DSFW6RKRk59Mn1j1we2F43wzzIvtgll5bigiEETReABuY3k6GoiN8Mej3TtsgTU6N2q3ka1ltIEFAaHDx2u8kBcJEmKQ6NJOAvUSF8kpgq0SD7YMouRavjATUgQVqteIAAgQVzQdJdH9q2BAGIVdDASkgpdTC5lzIJbyIKjGidhfo8cYcxmnEQzapcCOFGyiGSRSffSBbAjQhvQAOyZTEtSM0PLTwhDkxwg3FBW2sHpgaNFrS7VMn4OrJTjJDAdLZm3TNdfJ1cNKQxk2ZcZuyjly3lA1pVAwJe2De8ym9aZLseS96NT8BXALA0DBUV1KRpNgRMjGe7wDXxQZgvD1DXJg0sJRxu/R88UX4cY3/zGV8794MjH4Bgw35dwHwPmf2DAtKZ6ToBPANNSrBHTiC0MbUWOA/MMGVEXCcY2AoslaVIfLpjoEpxPP6aIva6ZeRnNUNn1WNmLlpGrCLoI/UkP5Z32Pis4yaoZWrQOEqSrmc3amNTAKB51r0f0TWqVNqrTEf5Y2gdq1KtwJf1Q9BBlAIy2IKBNwUuyzYVfIQTb5ozkdAxNZA6MaQ5G88BUrPHIlrUuemuhq2IpJZKilBLkEakQxvNKL1HTQ2UkskqwWIF3bNXA+hLanyHjiSXIEigkEXAazIl0HQlrQqKr1/m5moyAHEvGujoalVg0kXnhmGCvXGpouCXp7qWJ+W0X03UmBO1qrq2aFQuka0a5czn1FueJjhbDDY6m9dOAIl5mZR4KXCw1iA9IyMkeltlyNAHrY7XvA0Z1ehGDYDmiyjgHbJBhJ3N8g68IMWWKXsyEB/s33/jKiWPA/MAQefSGxyX56vF4TEm+svQjv/HK1w/lSSjOV52MXtl6VUBv/s65ZyhmYZjiXwgZkRfHGGEPCeX4ASBpzs9QxOpwYy+VpgYVaANTreBM5AEKJdNzz7wRXXVRKClImrg7qju6tvg0IgJla7ZufSBz1Vi3Jh4UuEifEzfAQxHpTPkEYs9Fx7PygVRfn3Jd2copc3IZJqvFjxquYef6QORbpDmaowZklcGITN8BwBLAUxikvBtXFs7FcB2rRpD1oMjX6YVoRpE6KY9bHH4z+rda4EtcZpl4S2NAfOkPBk0ivRqbF0UJWhyMRIqJklf3PAXsZAUTdBkOUvhNyGHxh1MKJqa3bczX8cA0v6doqQrTVpItKZJsaOioize4j20znQDgS8lMB0FmcoKL8NQslzLgkVONdEi7Q6f6BCvA9XhQgqMbkTpZwZXbPtTp0IcoESZv/vE/P/fmERg4ggLHJfjjsPQYMB8LmKurkodrkgDP9wVM+GWWPfMb9+4+SyxaSDF5HbPJlQUgoqLT7R3RY8KxqNAFlE5SmrNwNgFbDxcbgIxO1TlGk7nnaKv11plLsDGXQU9hishWEGlQSgzndQUwsxE8XSMyM8lEFDqFvynaGfXmLh5vIhaSUbO6Eku/UdYb9WcyOT84waAUhgJfpTqQ7MhfkynO4bCn2FsUneQI03onwujK9vkoRxJJj+rYFdtlmV56qKtGG6o/skX3JHUqGKkQ1QLxK71SdYEvJwEFWH2kgoKwlFP4Bt8ECI2DK0AzDWRQdqsrSLKJ3uI+/0CM3LnLJAMaNR7iPClfg7V2II9Lsxw2jYsLl/BalmENVt0FEJ36hBR7Pzkmsaw1jkdIyurDwY6W4SuDnpXJuDDKolkbw9HwN6IJf/ONf/a4kvwYMI8B832PwP9fD/OHB0yb83P47EqgleyCI2RFxZfY9FHAVKC0rtJJq0AX9JqaZa7wiuuK0BvlWFgabA0lY9fbqn6SUh41SWR0b1hMNZQ1qcEGADM6ey0Tr0kPU8x5UTFL727sXR6uNUpeBmY9AlRSmgrtTLCvtAT3TfyrPE0hWVSIsl2jwKaoje2l4kAk7b9RXbnSNi72Hg+/VHpLbOAULWf5PmcAgmQFs0boIEsHIF8idIuDm8RhQEokHQDVxaMNq1FuMkQpzFmDLeT1KS4WeBo4aQhZw8/0uYFHgy3DQPgtCrEwTPXOPKCAJXJX/NyNoSHkZb0MApg6HS8rnxCpY0mpgKGAoLwkmJcBSA/7kqs9S514vxdg6hGMxTBYXpUV56Lk6I1jwHwcJD7+umOGuXp8HinJPzhgjneD0nxkmFv39p5tc/ucMEvrJKCqEg00QCwiq4Vj6GTIi3XvSBXVOtmhZVwYOzCHUpY5OzkETPnQLzEL4cFW68HZp5C5i880snzgNCbVYOldglMBUzJqOHbXkknrih0Hdmh636WfKaAig2i4bZQuK0o6aTninvCJPkjSFRNiSBAR/iXu6AAUDSMrDh/q5CGAixVxLBWJ0UchqarnhMv6gfkHonAPnIuKF7vaq5eoXiMdPDG0hAxfq3l9bDJOZsCaWNSpWfA4zDp4vYtfZgoHPkQympFto0KLhWlqW0ACMdEROAgugkdfvE4xvwUzNxx3EDrrkVFEBDMO4yy0q0TOg6UvzGKxOamm8zwsGCJyOXd2PSVXJRQXclM8vgDb4OLWfrDpMwLfOCUfbd/09UF1Av3mWKX0fcjOOcKapQJmUUq4+o1v/LPH9TCPGebjIPNjDpgra5KCGO8vOVv1ynyvfubW6MZORF8qa5N/9e3dZ+ehe2GUWoJNAgTHUqmoibRHifEt7BfKq6U2k+q+Lg+t0w0haDDxr5ut5RSWJvrJesj0FHbtQDFTEDcJMUFTVzcjQbqwmOvYnDDEVzPRhvi+qXhS7k9W8aTWV5s13FeEnZL4jBeHIOk3ao6CuBoVV3Yd6MjY1wgFS9qkNdhLymzh5iH9BNA8dfKVhUv98wV5S9MASZQH/cCVolqbs1bTzOV3sZ+tC4swewvQWEHUKKY+mJ9jc1RE92gXRh1ZaTqISrO0PQtGKh7y8tprKY7/GQy2xKJJMsxLT3P0xpR+ZsyB3jI5/sATBA7lvaSCLtBN3bSSu2QOlJau7TYrU89jXBwyTLmxLYmP+lrDC1P+fZhhlsm63kp340cGiqLFwZyqENIAvVi5CU4Co4y9NvXr/+d/+xBgHv0YHOsuH4OYx4C5enB+CMAc7wbAOQLmv/327rN56F/U63Q1khej7nL8GaSO2CWGaw3GqaM7z6ENHD4XZpFMsKOVAhHVVsrytpqsM9NThBrVVolzayihfNf9lSJYB6XLg6GTyZhrxtCalIGAE810gKiTIT3BPp9+4C10oDKGRVuAsxX3t5QSnN2xQ1kV6yE4VOjGoUp6xLTu8LCObG10OR9PTCsMtXxg1XVzpe95+NE9oKvjHcvmD9i09DXFcUhPeON9jDa/0klgGA8F1oYl6vM+E/U5xcjGB0JKHIbh2sBQHBe3JLjj4/VAD8JSdjFzULAnxt4hvUVpeNPAZVJSxMXKLoMpy/lEU4dAvQG5i6of3jVEiySeR+ht6r9QPuD1sAPxMJXo9HJfhyW5qpmwCaRXatYods5LOwfLqrL6qCcDvZW2fsZyX9pAlF//g//uoaHPMWA+BiKPXnUMmD9GwPyzf333E5w1vELeupjZLKLon0duUByD5ftgeo3ZlQtQ8mBdm1KvrhDjVfg9AFmo8glys4s5BK8bf6iaD7PEpT4t4qVkaCOa6hpzXh9Ta5BYqYvjCN4tgwhhtyCGMp2oc84VhN+ITYSwXRQ3B7MYtfgdZ9ZKjSTGpmzB6zq33v4gS0cklsXBUstqiWsrbublNZGOgpoXaytVu44iQZIfy/+KQZFsCJVMDckplxF8GeZosFtRS6GEH809QYAHCUDKNGTmLsahN4TICNBnCS3X1oZM0uVUUjQDFFPHb3nKb9KQwv/H3pvAyXFX56LnnH9V9TKbpJFGuy1LsrxiA8I2xmAExjYQE0iIA9nuJTcJyc27DiEhwOMmZBIwkATHSUh4iV9+hNzcJC92Fr8AxjbYFmBiCJjFWPJujy1ZkjWSZkaz9FL1P+f6nH9Vd09rRjOSFzb1Dzyj6erauuqrs3zn+zjigqQQ2LAmRJxXa80eDWuVtLlbAGYEHBdgZ9+ohYUKnAC+HHpWdhotle5s8uSczeIiaEWZ+bId/Z8g31Gspy2RdwIwF42Ncy74ww6YXSdlcX4/R6bk7Smg0Z0rcBtss/V+Gw5sbMZZ7vYT7glu6HhNKwQIFTJposYLWeTtp73s/m4DpKbzam1RIGas0Y+mek4GOKmsBnGROkOGOy3obYYYU2mPudEZub7M0dkMrs/iMdV2MB1JS0IdosSesYQOSyBSUh6KV3nd0CYPyBc2kP83pK+FxWJguWt/y/hN2kfSuE15PxoGKivfGx8ouKdpi6ZA0pC7BjZmjvp5l6jokocxlnzTBiVGaxflJ2nKLxKF1F+Pwx4b2oHJPTg0Ew9+uy35T9vvYBHZ0lMPTSqtCaQiNoBfF69cBWnmjKUA0haJg8es8Th4eYw9Zy6OrKNfUJsyLGhO+XAq+3op87tQmjX90iyrwODfY0iZXxPqU9/COlNk7057CiAMH2hN8uSraV/QHUCLkfmaW1rO9ODtHzwiwjyRhi8SR08A5qwTNT9gdl5RnSOT+vEdZ849Njn98IFNnuBUK8vnakUmtmHd7oA6CpChLtmWbjPIcClpqmZdci0tUiLmR27TiR6Nw6nW3SRLfFJdizoS7ZuEEqwIAqXI/mOhnVlIRlF/Bu4sQeizAI+JJJISIPUIcxmIYmsBW6FP2885aNkOG8Bod1ibxjpjox5oKZE0QRNVkcya7cq+MWK5MhjD5y2ysznw0D1vg27RX29pErW/DV2qg1KkB1RQgMLuWB0116sMg5dKpg+7rmOcRuayuipSRMJZbHOmAJEwxyplZLTRgj9ZKF8GYn5Or7K5JZ1hbKJQDVQ4A1zDqrj6APDZ48TpCCinSv18tDNusgCRuk+KVgGMh0kqA4y1qOl3UVav6fdmjx0sao45YIZnRc550tpxGyxt6tNGHbUznvNx1agjT8E1Xc9LJyHI1zporoRlG2uEOXyXyoOfPQGYi4THIxc7AZjPMWBm4Le05C87gNIueh2NzAMGEwmOK6I/DUhD86QdZXbk8QqcesulnslHUb9PSmvVDEZlxGzKUTmbGmOlbJ0Hs8iQSGPW/sxF5wjicgauELoKgyQWg1o2nFOHrB3TSj0V1TRKVA9YBcem2JhhpPplKvUTgK1dRsxHMjuoQ3mTpU3KbJ/0uUObvJZpeFe8zCI3TFN2NK8D8miHKgfkXMEoDCYFfY7gS54T+i3wtTOvEWmcMZdJrTVZErFOugK6pt+5qVpLDUmfPZaiNwWkhkCHAflB18geYZ0wyqWMbXec+Te1d92YVa4WN9NdhDAjabM942373fGcaEuYhEJO0ehp9XgKsRad7mlP+hRZfSudz8U9WuvOrzMC9+AtwysemQ0FJzrji0XQE4D5XAMm+9NCoV5vIM10QzRpJlteJRFyUCha5vnN4zl16vEiOn1tCKpvhDSMFFypV9BPUzOq9GeA61ENbEQnWgBcqZRPFHKw+zYmIVYE3UlM9CIhWtri+bSoAdYyDpM1qpTL1ABStSKoozLkVU7SapxWTmyr5uTmZ6aBkZ9LZ92VlkFk4Ga2q4n5UgEUi+ayPUBmvZPXPFvfj75rrY8gvJEP/LT14Art4RAhBrhvKxoVf7PnUJADDpGaTlya7JLWZl1JwFcQXSI6O6+t7jwIDscX6PVWDBBICWCXE9gBPtsHXupGLQjBOLI++KKceG/KnDgdZc3d1FQJvWBNYVYkuqstwDSxYqtbWlXXEUNaiEjP7orbuTAX9UJRffYtr4NkxhHII1YVddHfTwDmYqFx7uVOAOYiAXPWYr/3ezg86w8dU0CWood0W1PyLPWndS6aTziGP+XybXaTmchwkZ4HolEY/Al3U0FgDzekpukVYF+nNEr6Pbp1wfMitxrXSNO0zTLwlFQxLq1RVXDAaBlgNihhCjPn9egazXBXdYWaBFITNl3MVMdTWiTzMLwTXgY1HaGlrSKPKIsosFhYy5+tccsOVCxOyqx1hnJoC8P1vda/2xBoWzfPnWKXjAOV/6NLAcmKtUr77KzA5tQf2+9iNlyLopqCR6jpO1GUiKS9ai4HoU4aFDhyOlIuTDyNng8Lyjhk2W4SGBHxTWvgt2T1zbAN0fkZV2/udphM24hjDpLB8qKjQZNbUoTT0yGmYcIZba+fuW7nTiv2I97PV+XIPXDL8NDDzww2fng/fQIwn0PAnHxgz2bv4bT2ha8mZ0WkkGNP0RXXgKEeRiEDgDYxaqXo2jFvN3yso27GaKih3wCXK2uIm7Ha0hqYeC25UcJE68AlJ6OKbrA2PsylZxmCqg4F1zKdX0HhGRGYJpFaEI0oUDGCEFXm+GgAloNe4UNuABKcw2YldsVynee3Cxw7ue+tTRafO+LzOUDnwJyHiZ1xadtPrSO8tYaOcSML7cx8h4JNbwBTA86iTpv7kecNJhFOALFXAHqQIk3j80YXMbCfBpCp0KpXCZDsADA8gpzuRx8G+zFW8Y2mo8hNu3ptN2VuxpdyjmRex2xfHxp5tscmZ+XqSiIyoeEiHO2OOIPZ2bxQlvuSEyQPfO6DQw/98ELeMzvyE4D5nALmgc0ZN09vpWDaArAUKYhxmACHssP1lQDItAmlhftXnJCNF2vq1kRIbDzIgNM66ppiAVMKST9USmutqWFNABUQ50FPySaKaMhCP1PwMZmfGJ1bZlqQgf+tskmHRXDS9CWMz5irF9k4drAMC3ukHfhIa3uFX0/r2tGpRYuUzHAhj9h0vFp/12jYOJI2ehjoOeGJoH83YYrQpWiVTfMTYDJI1pEOYV2x7rB9HTQ14RBdX05cCj2e4sFiM5z6BAqG4fmcffhcHiYGg7Q8YvbWI7JTYv2tcDyiwh+221wSjHpRsj5tKtn5Y55CgEmrlprynYo6YxOAn8Ase1TTcDvrKt3Mbhoa00+6NJlWxSpt/rU5t8rRDfSi0DnPU3abRA2ArhkGe8eFRbMKBlsTMI9ITZ0fdKC+IOXPbgK1vM2BTgDmM8DME4B5PIDZlVke0TXfEfLRydMObM6oeXpnjSrUIgN1xLiUKk9r9782adp2FdbRbFGMmgh6I+VTPgXgGiPbRQM+cuu0MMqR4jGt85hsIeSqYaQCSiG6q3cjuaUiHIPwNAqOq25xQJygixnQqGjY5AYJIbJsESuLaLAdzswV2HRcWh1+P7PS+rwTbnjYGVnm30mrg90KP2df6e2tFsIdRQMqfydk8cFGt0jf7ZdQUdWjNGq49dWDkvusNLjD4teYn0ZlcmVBWSoZJOh4ihgPG3NK5xx1ZUoKYETvszES3ElZNqpgzZzWXJrtQvS1tt1Ezp7IaUUF+LWiyNkZecsRsjgLRpQqXnOUODtomq3DchzffyLCPH7EPAGY8567+YU5uj8ya2yy482vZHtOTcGfEdLsQtxQRS2DW6BTgUtzDgzvd3bFbTSyuGFUrchoJXr7F8UorXemmFFpiUSlNeJ8FTDaAARbmMx7ItQoAy28CN+UNrQECergcRwh41z3VwuYNqVi0UyhhK7ZrJIlSWnY2gtS8rxpV5q3j0ZUJrWmEz6hTpkPkpuUUWEsqWk/KlfJsv+8bWK7FzhK+TVo3hXtWqgGwLMKvi3VMyObGu3JPllEwDnp3czHjV5ZmJ8F+x8TBjYagIhPAV2sKuqKcDrGYyR6Azz7ex52BtXifEOFCYcNwKvfzxJRjoNaV7REf8M+ahOeIdNzNE0Z7xDhfSQyBVltN4GbCXP8BeenELjsaJUXdRmTNy3S7DkQkY6Somet0Yj8+tLtREA+vf+2D2968Pgh44f7kycA8zkGzKbwmbMizA7WukWQRfHf0nOv3YG8ezt7Xi3KuXsGaLnEm+pKZoBLvCtthHK0CQBPNeOasFCYdCnI3iIOnPpVSBkIp8yxJoSV2ifW/q72VZVuoz60yrJ05FxQkrAZbGUfZpaNBtGLkC4H45yCOxiQJp+waU3zhPHs8D9tMIdTnttHBoTWNkmhL1TElwXitYj3rT66ArTtQ0GoV5F0l0u/heosK0YbEV77+9rQLqTs8hBaBTuC627OidX8V+HJqRAoK8GRTA9EnySa5xvp3iuX3zj/kiUI6hnC2uRRRquhZeGWblUQ8+3lmvP+XuF0hLLGCKqnzyytymK6yjSf9ZnV6nwHPei565JW0om0XJCXIDQa1t+LqLhT9c12TLMUJycA85kB/gnA/B4BzDCK3SH1ZndoR9nf6HoOMk51vtnI7CypA1ca8En0EomiF4LHShhbMbDQ4p8y39Wx1UDQiIwhPbZJ69DAMLDTglomnKkfhRHTreCotBbdjM9s1C9oVOScHAM4TeHDz1zjLaxxFtbrJtuumTlY2rR2qD8a77Gj6x7KAZat20xi8YlCIiP4mym2BQfLIvIsPhf+7SXMOZnyiIKO8i+trpCPTxovSdvXQbUzPCz0eEwfTs+fhtBOxLsgcywOSCmrhal5sYfa/NEdsmhVibCqRcccxD/MplfAH3Cev8q1mfsQ/IwWmdW8J9QwOyd3iosxFGO0ZF2k3R4yY07oz+I1W+6t60K2B2znFaTDSkqkSO87EWEeP2ieAMz5z13Xuemq083fj4QiRf+PxsgWiaMz7AY20RvVa7B/5VstuJWzd0I8kyupe3Yzt3EAiKNSnGbc4yKqAmGvh1IfgO9jilYg0hmItLxIO7Xyr0SbEF4qW8gUdTXk8cZi1w0EHR6mIA9RaPcG/YyiaYxtWV/z1bGsXVHMBr81OtME2HwkyBXyPhazkfXjxZJ5+2llSnVFC6yAwglC403buuJYe06yk10U8D1/Nx8It2hUP2mebEH6KOTVJt5pgnmK7dbvYYic14nMEN2apa1YWTFYTyr5PswoKbAGx9tQeLD5oXAZhGzeadVYO0A5WqfqPWJKTfpEMbkn9e0wBjwrez2oAehDyPPjKP5+8XwIBKYF/DTpz2Y6DVLXEUwGG7TS4qqNVbZqELp9c2xiMUk4u4KClkvhidbNQDqCklRoFsSQ3XfzBzc+cPyQ8cP9yROA+VwCJoxsydIAmHrBG2jGuZqMTlxHSNrt1ogxdkipp4QiqZBzfezjJS7hpV7cgIpliJrKqDOjWt1G0OCMpgjTaS88QHH1PERIWLxXWUzVrMwDt4JHWdQJRW0e7B+BVdO+K+0fFjZam8S41lkW0ngFA7YWuebjyqQuZrNNb01dcQww8yRZeeot4aBAEddGeihzhs5JLmqhXWp9eOR2550lTMuEi3pq3mUrGE+56LEl9bnOZrDTCdr2IW7WufZANg3Nfi1BmPWoSasAACAASURBVCmG/QwPE3uamLulCX0Gx0s9Qd6kijSKDSmxTXTnIqOh/Gqhuc6sBgsQVG8eQ9a8JpuFwXKN05FQHSpHodm8m2JU47U+BtTSSMlEULUkgtxghgkAmQD2Y+z9JALPYAq1TDKvrTuL+FVHNUT+s15FRFqUfVVvtbjm7PorBcunuJTdd/PvnADM44X9E4D5nALm3i1p5s+0Ap1JMiKpaLAgxUiuH9AtFVSaDy1FgD5RCUmROAzP8GECP8bsD5LgQWJ/2PssI84UVhmaTklFTuLSZin3XMGintotibK8yZSL/RoQBS67iT+GGWXlFEYgEptnq0hwfhQFRoko2JtZ6BacF0O4ZOEcWz4drBwCKTzMxATECLW8PJ3O52nyjknoPuUKvcWZz1s3bUUjy+9zC4z884V2RkcnzgwlbR2BRJ6rBttfCuS14yXDtNCcUh1hrRFYhdE20a6oKvIXBmdmsgZCWa5clKrCOkrmTdpSi7nq/KEScGZSlCt5hCMp9qh1ZQlqaYT3YL3278TZU8UbXthpIRJFShBHSzziMnTJUgEZRKSyTVdpsdhGUuUwM487kUPkmxPMvmaiAlbbIM6aTYhdwp0qRe3GEkDiwrxZEtPOm39n7YkI8zgR8wRgPtuA+Xvb3YaRDVG2NMLNA+4sAnwpIw2Ci5YI0CAi94JGF+EOnxDOxkTkICAewLQxAxRPI6epXt42tpe/Qoe8o5OqGoo6N1fq2QRx6QoCVLtBnfMz4Q1TPdcaplHhUUURVb0nYRXLZFP20ZVpemldGGOGKvfTgM/+0/akCDhiSBhUOfI03GqCiju5L05oX1tOn2uz52pMQXGjqG4qezAgd1uR3eLUlh5aXpos3DFCnNgqk4amloa1Yd/Nx0g708FxyOA235bWZPMyp42Hhn5VDpMmQtfGuGDZYec579BrE065TariLkp/D3iq0ahFqoKZIKSqrYkCTUBUQx9t1agHvUa1Ftva44rhSUmnP+3SNmDarlt1xlvXSP2XUu3S5y9GKKOjqtojO5csEZJlQk4HD3pM7ARwGsVPAsMYpelYxtmhiH1N2/yk1mrK6yyiUaOpaVYjO28dPuX+48SLH/qPnQDMRV8CXTQj/dy27Q4q69zKV/dFK5q9vRUXL48iWudQNgvimihtbMTM9xHIpJfmIfRuVLL0kHBjwoFMGffSmhGhoRNK9AUohiJ9UZwqrAfUBUJnvr2BHjqIkpO9S96ASMs0MgSCBFjjWBP4tXpi+JLDpAyZWm6QLA/2PAFgnBCpQ49Fkbl0mnV5zb02n6PMjSlUhihEmAVlPKBQyL1NmNhqjZoGh/ZSMBsLTCnjM+bRoQnxFl45lvda6TMHRFtHsNrIIbNz3jwIELeAvNBCDp/Nc1YN2C1lLjC8MDsPI+F59ytodCjUKilWf5rmmyGk1+PXfQwmQOFoTK3EKqhBtN4O1z6nAFx01fULbCKIGupq2/2BKKvdkmbNUbUSCUrxrY4VRNrQA98aqPTW0OstI+IAJG4pNJu7KE0n7NGmGYvDPqFoGTo3KIiDSNgHiD2hfMATINkBJ7DfZ+mEE5kUtRpG8c43d9724VN3LvqyP7HgrDNwAjAXfUFc72DrRlq3cWWUbOxJVvRWh+I4Oh1QtkAM65GxBChTjLSfWB5rAj9Wqo+WolqmSkKGAR45AojLAFxn9hIpkyjffoDGNlxqaoWeidWES9jFDiNwcZmptByI1hLiKkE3CIIDQrRKRAbsBlSQ0htSSUKFoYO1WLT/rT0e67tacm26Y+JZQOc1w6xjUMnN64whgdYqpeWz9k4wtdFw06iOqt8TaoDGPzKnMItqioAu5MchXrWcONfPKLwxCgdyg8s2AT3UHg3uQx02Fw7OmUSBlFTofIb83dDMVhva6xo+KgkqtOA1Gg2+6NrdMfm3UFK1NnoevdoTIUhm6nHr8yZ/oOWD97oujdjzWoCVNk3+qDirLZEnDXo1FbeXdaBGEWCvRoMCvF8yv5d8uq/p/RRB1tQpLY0MY40MNUyt9G4ldBtNYUNwH6Qz90k9nTB+LkbKeaigUEk4nXAW2Sq0S0xR3A8uXuGi0hA4WkYMVSGINRoF39yPkfuSr5S/PDMxMTFxcNo/PLjbw/Cr9DI8Shtz0TfJD/yCJwBzvq94+I7oTBiigYl+l61eOkDNZEMS0WYmORUBB22yhmU/AT7EyPdPUuOJe57YNwF/trkJT4tzwMGfiS/o86dVvTs9gGWELimflMXJeQjYdD59ijEbocaM1bTMg9wl1ouJCF0Gvp9cRTvfQ4C4SrvgELnlIFhWmwUTvfTcANWjRJcA4BpBLuUBj5L6VPc31B8tm7aZRuUHaQppXVgrgVnd0lL3gtgY2iYaX5H3xks0MUuT2tW5QftpDM8879W0NafshJvO5NbMQ9z60iHtDRPXBSoH8G3nzmG/83Ayj0ktVssFjlv5fBGUKeYFvc6QStuOaUlPZ7otvze01a62Hp458WrRz2bKdYeNrqldG1XpdGrtqNxTmzUMXCPrcJuoZ47EgsTIRvbJdYBUTxMi1c4zqSctR+Sa8MgWmgczTtHxU3jKOvcmbApap1YQ0yhzXDgbJXT7xftR9s1RzNKDEKlakjaI0gYhWWnSI/ZCXD0D0K0mB32Q8QHxM18hzxOafrOSI9B0lFl3yvRChSvs4qq4ko7JroVqFdklNRCYEpQ9JDQinD3cmJl+6ik43ByBkQx2jArc8JNdc0Y/8Fi4qAM8AZjFabryerd51YuileuWJDH3DgpFp4CTM0BQCeF9ADKJQI955vuE/WMj3xjdu/uGdXVLy7ePCsCVofa0bbu78LKXbXZxdBmlM/3QmC5Jlh1En40icJNUpNeV1mCUDAnBDNQnH0KiEkfxIEXJCr2oBWEZeC5rqGbMmQA9RZSm3ZdQ7bMBGtRRvaqILDfNtxBhNZFUt5IbZNFjnizbjY2xVugMY7TIFox/UuuwY5QJp4p0iqQ6V60l0MAl1DJkoA6FayZvcJgksOW0Jndu4KUMmZylbhPkOWkptMmtQFAEM52/Fystqo9iupLFombZa3x1fRV41Yr1dArJjCFN2jc/MP2Ms+jRht2Dw4VVeAMn0zCbSCXg7Sw74xqFWXojTXm22q+pACs7wJEq16kspoamyl31wl419fRBpCUORUBdviQgZQVe65YBHBSQcRU5ASRVsQxRuu4Vq6ycArt6FgexT5sKEJmwqLTp94FPDzDLJDpMwEVr2HPNid+P4Gs2XitQ8URLKS4v8SJDKDKNzcZ9INlUkbPYDLrZEdO9Y739e8rQs46c20wkm5hhbe5Tsg9QHiLmR2FmemQExusbYCTbDl9gGB4+ojO/KIT5AVvohxcwh4fpTLgyiqYG4yVL+peRizcJyTmItAUQyiwySoAPeOGdWa328F3DA4dmf/eCm6861LdyZf85amAFzezJ+nh9/FtP7plZt67frVq14qRKo/4KlPQl5jDIzXvAp+PkM6XpxEDJIETlDaCKQuQGRLCB4CfBw2Ed0EMnsUjUQ+j7w3aNhq2BQwkJe0TsptQYalx8tkuAnwSgXnLuhSJYBRQ1NS8FOQ+VcytY3pZCpyqEa4ZgSHpzhs62GqCFiUVNWXPDhQBQQQrHbHdCnz0fcjRSY9uYNidZ5pT4okrYQthuoCwuv4C0ViZsmUi2/9Y677OSxg6CfGdHKd+Wxb8tLlMgVtped3R5AmQZgudClnYWrHxRmAAVD4TQUTepJMVgjQ7DeVWPo9A9U9BtAkqKgg1VDgGUA5Kl9ygTAV20DpBWC2KPWXUg10CkDoBNrXAyOqWDijBPCuMMIafKSELhPixqk5wdEPEjkKV7FQzVhgm9sJR7zgRX2kCSZcx4AH1jL/vGfm13EVLMRCoc0qeg6Cm740vDG74x61q+8nq37SVXrGaKtyDK6Sh4EgNq7X2UgXcKwr1uambP7oMHausGd/vtw6/qniP6AYPF+Q/nhwowtw3fEQFsiBqwrFouVU4RgBcA4ekAqKnvDDDfBwJfrzcmH/gqfGyq86m69e1fj/vWDLrdBzNJBpuycwfACzat7env773QEb5YxMQuGgL45GHf/Oy3/2dlz0XvffhMjOgcB1FkEQAl64lovSCtMIoewygK70b2Y+JI7SNXoqMhENcjYazDJk4EoApIFRO5tcjD7wHgxyBrPCy+eYi0m45JD1BlA0TxBSB4hoJ+yHq13Y5NIGiKDp+zpEFW1wYjLZW28qap3mqDA9VdoUAO65iH2UErXubEoo5hHkO6FmJ1tL4LRY18VcU8e+dgjlUL8+Va/mf5ugwP24Bql3COzjmbqN12N0sJxXdbWbFgAWMtw7bw8bw9nwO9PggCeT+fPg910aLTr0RMm5LKhTq0ZKkLaFnCHDGYVPAElUupqbZqTalJnG7mMHB2t6TNb4rPdqslKDmMPJbWRLHbBI42CJCWW8oEGuHztF4/gZBvNc8mihwWhn2Q+QPKhBWUIXTxGgDoB8Eagd8nkj6BPt0vLCo1p6WS/OEHFUj6zgXCVQJYUv4XMI8QpDcwPPif+2GImgcTHGhM8N3XvUQBsPU4OnN4RzIYbxh0SXIWCr2YQdYZhYlgFwrsbDaz+6bGJw5kvQfTnTt2+B+m9P0HGzCHh2nrnitc2r8uWTY4sAIkPhsifCGInBzoH/gAC3+j4RsPfPV/9u5vXTTDw7QNXknbtZZz1k7ZCm8v9yYrtoKDbSQ0rfWf1GeTwPjone+/8euWjm/b7s5+2XmDVXLVZlQfqyfOLU8bl5HIJYjuJItIRA6SZI9Ks75LlcyBogFIolMQ43WquRhI4UYAjMlRjwj0iBLVtf4F2cOSNR/0IAecT+vqHE4OqozJOozdKYi4ErQJEJQwUgDtmOLSwJ60mpsmz+oVrnU3vaWDOVmoz1m9KmBJm75TYFSRgxdYY4mmVujaQ0EBqCw8LCK/guBYgGIHr6hzxQVodv5NP2qjNkWRdBYGdgX6s8C7jZetkfUCCKxg2ppXD9l5a8DJVmIpvHH0Q0dft289H6NpWYxJ+j+trFo10lrpeg5FryXdL61NNljkoACrnUdZwQ9FpkT8kz71j4s095HWJTWzR+rHOFmLlJwGzm0QgWVhQIqnwNwljWCvz9YmMIyDZCOcNXcBcw0pGSC9dsitB5AKAIyB5xHxzSfAZ+Nm4YvxErN5Y50q8nXBOJFypQnlZTUEHgB0S0SyQ+Kbt37pfX2j88VVF75zV6U0tHwlU3wOIZ6DIGtYtVMBd2ae7wWceXDfntGZh/d9M/tBB88fPMDMU+0+WFWuxL0noXMvFpAXoeBSQdkrgt+QLPvW9K57R+6+7iXKm5v12nzVQ6X1a0/aDOA2APOBFHgsavKMj8ULuQoy9jqiZSC4RLvihw4evOuej/5lDV73M/FZpw/1LBmobIkSdzGAnA6+1ie+MQ1Z8yHhxpOcZSm4pJeS8kYCt1GcW6ZE9TzsUTBTjqb+P0XkJ3za3EnsHwHfHDVdyZAcJ+LcoEt6NgrwyYRJfx45TaPwHvbpiGRNayRRVDkTo/g8IFgRDLZZa23Bn9sIMVYZDDm1sgatK5z7NloTxUZ4wn3rvelvtE3M8tOWi2kEW1mbcwzFwdBpD3hc5NlHzJkHivpcN2qw4Q1qFHnxtiP0DElwG5yt0aSVjHy2Ud9rDd6EPr9xqUKxoWP4s7UenRKyvk/eFdemevE33Y52kjTU1J8h67fgPHTNVZEdUP1EHpO0+RXh2mPCrkrl6hpC1ExmJZKr6KQWIIwKZ49z1ngMvZ8g5aYrxwCghFFpFcTx6YTxGUBumeUgSIdD6m7WvTrYXyeQp3yWPQLZzC4imRFJlmIcnwyUbAKQ5QIyg+wfEp8+Klk6Djqy5SJVThmCUl8ZSn2jInQIQcaaqd87NTG+b6YxaWn2usEIJ8sDpT4Vs4ZvTc2Vfl/07tG+ZOnAFnCwFRhPF8QKsIwwwNeI0gcna+OHYM+edK776/s9d//BAMwcJCvl1ZWq790UIbxckF5gsYHIDiT4eq0+c++Rdcin/SSuvN6dedZZrrKnJnePPcrbzjovZrd6PRFuBYqWA3APKkhp/wDlsUmauvHu9y6b0Ftm69u/HvWt2dTTpJ5T4wgvRcAzWWAKgP+zVpev4vSTUSnmM8Tme5IhikqnIrmTELEaSDSGVmVBm/RxKP4J4OzbPm0+4NiPdYonMPgEo55V6NwWJFoPQGVV3wWhgyL8KHPtMccw5n0jQtL0nJaGfkzERMkKcO4sJFwNomN6BrEGFsELvOhAFL2QkK8qzVP7ygZNefTYtqTtjCRDKjxnCyc/yLaIW8FQCqSe0CsvbiNTvyj6zMYdaCX8AfZCk70TgFvqR8anz4duwvo6CgXtNlOrfNC5/yHMLsjxebSsc1mGWa212e6YTHt4JFhJkzWN3ite7hff2MMYlUi82puPUog2HcXJECXJKQi0Acn12Vcv2WFheZT9zIPSSMcdqT1xeLECcFJe76LSWULuLERUDVMTKyaENMjkKdXUj7NGlWn9AZT0sHbTBbkqrnoSUXwqRrRWGOogmp2k9wE3JjHlb27/6OZ7i21tG97fK/GyV4DjzU5wkFGl6+wkP+Cl8ZmuyLOrRhLun5ed+4Z1EcXnOpSXCOBqIDkIHr8Crvn1xr6DB0sDD6c/KHXP72vA1LoiLN1Y7e/p3YARnC9CW/Mmx/3C/ou1bHLnV4cHD8/3VDvnXft6li0ZfBE4ORtZDgnTYXQyFqLK2v7tw0vHwdLzX602oVL1MWIl/drBxsTmuDSwfCUl7hUC9ApmKIvItzMvt43sOfDgnutW13Sb57/z0a2lcvJqjEtbAN16EKioGU2QIIceJSWLQEPY3ydp/RuYNXcb0VlfOWddSGJwpaUUJWdo5x4BK+bGBTwukj4EUnsYGCdNTyOiXvBqcGbC3xOY8qRqQ9j177HHxdWTBaMzkKI1oBNHIfUtjMmt8ZLroR8ZC2qIlvuPFaFuS2c4D7pabZhcRMiWK7j3uSZxR6um7f6Y81Tb7wW+kWF5AXABWs35186eIUu+fsMvPea2anuut9m2HrJjDcyl1ucLVNWj1WMrZiUDeb8gArTR14ag7NHA4nnaE+zGLHvApzMjKDITFpQY49KATXUxT3vf0OZhEL2MkhXootPJJSeLZRL2TFBK0AOS1R+ULJtq+fLk540p6nFJ6Qx0pa3kcL1480ifAAI1qMufCjwJnD0CPn3YN+rjzqFKGwFnUQ+VS6cKRWcgqHB09hRIfFOt7P7djzx4WGuXWz9yqH8A+s5lgcSzHIqZJ9hn0zVozNDETDqa1XlFVCYeqMZJXO7xKfvGngfG5oweh4fpgvhdKypYPg9FXiYOh5DlSQH8mpfG3dmBQ+N37b6r+f2ctn/fAaY2bibhtKQPlg5RFJ8nCNtQtCmiT3jZ3pya2PnlP1wxOQdI4pnDO2ItdGvTRiNKbeJksHpN4txm0IkKgV5G7tGJCRLZc2D80L/e89FV07ou227t3J6+vt4zkPAyADwdWHYxws0To1Pf/NafLNGo014b3jZSWr1hzYYYZt4K4i9EkKrK3OTzL32ANBAK+uk3fDrzTYTsoKbDOhpXyFkaJFLUg1TaAhSdiY4GcgJ0AyV7zDemdiDwwfwejXVkDkjKqGo4HieVCBOGh/PbOE9vfeZjiqMV5MobRGiTWVagnj8LN1v+Y/lQTxDVtVdxqXQGGR0xZatBky/eocTR+nh3k7zzSzri8x0hom2+TeLMQ952CFlsoLU7Qfltdjk1R5cWKhcZ/hy3gGX0QdStKFGE5pdX76NRlGwk45nHIMsO6Bi37Z6LVdSt9f15LxFFpSEt4XhqHkCfThg5Xdi5qGcNUnwukFsFSLENCIns46z+HfFNteJttJTZcjakB4niuOckLEUvA3RbwkMTxgHEwDgMHfnDkvmHhZsPojQOk3bjc+q8AK2AqOcMjKsrKKqMC/OXPPsvpYcO7Lvr2vX17qbP8uS01zjQjjn0e4EKBVc3tTT5Vq1Rv2XObK3rprvwgzNrS5S8SMETEIcA5An0cCf72j27Dz41+fDg36ffb3Sl7xfANLDrbazv661WzhWBy9HhSSAyggw3eR775vbhIS2Uz/fCi363tj6J3RWIrk/Aj4mXw4jusCAfIvB7b//2p3Z3Pfnsjgrd8S0D6KrnA8EVKLBEgO9MM775zuHyo7M2eOX17pJTX7+8mdCrIoouZG5sEJ+q2pCl3gBuEEBm2Ne/Is361wGyyfZ4eId+oWXDySC50ouBog0WBxpNXKZY0u9AY+b+MLesGEwJYWlIEGPI0t2AaV6XzdfXUi2fbb6m+63DRhQlQ+SSzQDJOgBebrxOVmnuMMMSpsbDPKDxKFtCvwWIFijY1eyZVWMsaordGV1nEt9Vk5x1Yuf6fHcB4MgSQUcbPQ9Hu7ZvD4miORXCU+2H53VX7YSnCDIt4p8S5ifY1/eAl1FEbap18bqtsNAeZS1+F4h6AMvLgRtj6NPJvM+k0+a9UannxUDxRkAp2xiryAxhdp9vzOwgVCX3zleH4jqW1kPc83IiOksAatYQIk6t5Gxy83BIwO+UbPJRFMoj3/D5lPx9cfkUBcArkPAUALkny/gz44fHHr2n9y9rCmAaHJC78OQMMImQZ5pTjcOHyk9a4KABh/4cGOxxEZSiuO5cVFb5qINT24dPUfBuFVg69/7iD86sd5CcjyQvF8F+AL5XAO5IJyYeqY8/Xv9+qXd+TwNmEU32u2XrUehViPRSvY0Z+QtUyz5/+9XVJ+dBSNw2fIdT6oRGkrbMmjVxj1u6MvJuBTvsR+FlCNgvpL/LGNaaN932od6Wkoxu2zdesjQqV14GBG+wWE38p9OZ2ufu/MiSsa7t4rbh/T0AS852EV7GXjZqJU643i9ZYyWiWwIAZeD0Hp/NfAF82u5IdjoThJlrQiqvclH1PNB6UGsUkadBsm9xY/q+Qjg2LBsPAFBFfPaU8vKOOB9F+tp644g/2Dvqwy0YLSMsrVEqCiKtAKQlBKIm5ypErMT1ICdpV03exS4iw5A/553trp5Md5Ba7Es3xs1arlh/EbF2BLmtz+f70r2ewFUK+1Jc4VYN7T47Oehad0v7PYpjNI3MYyJ+PwPv8Vl9n9YHNTrs/LT1pFpNqfwdVcvPm3Ody4qovXHUzz57ykFm5Rp9ecZyXO45HzDZCGQqUSakiZw96LPpb6H4ectJ9n3EldPJVS4RwJUIPKbjjxoSmygdanPPP8FZ7TusZYG8Rkouu2f7h87UGiZe/IHG6Y7oTQh4jtb6heVTwuOPbB8eUnCcBXzbhqdWOYpf45FWKqnfBKpDH4p0tpa9/Pv07nvuXQj4lLK0GjZvlggvE6BziGQsY7yTsfGVg+nIwZ3DZ+kDf07QnS8aej7//j0JmCGq29SD2LvVIbwWENeIyAMI8qk9/NCOncNnaR1n3tdr3nNowFf7XgooK4mkId7NIEgdEOopyBRxc+/24d5984HthcMTS0tQPZ8I36wXBAj8m/eHts8ZxVqN811DejExupcTQIV1UFxLcL6xBiHdJMIHfVq/VbKp+wvFoXDDIVrqXGCC3gRRaci50kUI0ZCSWvKRwlR8+gCn0//ZCYoiGIuLBpWiZClfcKQIcJb/rtTq2cc5N2B2nwsGVyLCPnHRMmJcpRGvCKjAQy8BVM1HIQye5w2TUHXMWeyzuy/dT5dceaiItgL8hi72Yl5tseH20vN+vpBECrXQToZ8AwBnlHKD4CdEYL/4xv6UeQwhm1Zy/9H3pfvZ5IJuXuE0VHy/+iDR8oorr0LfnFa+pJFZ8/cZsCeKk5UIZM0WirQTziJZYw8KH24L0M29N16iSpRULkYqX6jezIA8phaTIcA3guoEc/NenzYedpjVOgCztcJXf7B2skjy4wRyAaDcAxnf6GHPo50RozaH0PWv9YIqLpiy4wZ5SX3DN0R8Vjv08NRCYNl9BNuGx5Y47D1PCC5BxFUMco9kfNOhqbFdRbS7mOvh+VzmewowldKzcnDNYIzRqxy61+iJEPG3sqR3HAXg7H7TjnVtTcWOxyhF0LeRkFZrZCfiK0hYhTDDyxniPV94f3xX93184Tt3lSsDK88AxJ9FwCEguNH7QzfPl+4HYH/BJiK6AgXPzs0L7K5X/2+R5mZOZx7Lmoc/S8BW41Rh19mvdojJ4pbESeV8pGgjUrjo9Q5kgTHOaneCNPZ2fpYFSkTxMh3bNPrSnK+2oMexXFjKcUdUBXCd/AsvgbhERH2AcS9B3AckSzV6Fuf6EZRYD9qBV7FcFRlWaweTkAt2lK2VtESLcx0O68WEztTsPQzxX/hjKCuG0mQI9UxZI/DVrXGdm64Z3VQhSs+fKQUpY7QBYqn1hGYTnlWkN51kHXflup63ecGxbYU7x9lb9LS1ViDLK9U6Unx9Io7iRX9y0d+Zq5xOUflHAFDHZA8iQvjigmSURq0PZNn0PVEkX9z+oXaXvHP9F/927ZSoFP00iEac/PmGpJ/58o7PPPV8NGlePlzfkiBdDkQvFZERjXYBxu8F2FH/Xuqwfy8AJm4bfqwEsGqVQ3c5Ar1SBMYA5cbxJ7+9fTFPLUsXML5ExDxtGsLSQHI6eqY3g/qsjHvY8+D24VO0uH3kK48SI0heL4SvA4GvNOv1//WlD89P5lVwXzd48hkE+GYCPFkIVNwi3PcoS1FgFfPMVxrT++8l8IU1IPhCn6iFFjlgMkVYKp8aYeXCIDmhzJGwq977/dycuB0cThb+OHojC0uCrjxo4yfp4QNIkd0b9qFWSVQn+TrsXfJb1dy2OlLKlgNX/vkj3id1fSDV5Ajr7yipiWNSUjTpOB2VqgDUg0qcRyVUU9lGNB3FYJMwKrUjsU4yIaOaeSvcme6kIeYsWmaOoGFyRgfR1YhMddXVlT0DVsK46lCCeoGry5eq4i3JnAAAIABJREFUQOm/ZxhhWtLmjGA2JZBNmxlS5EKrxBC48EnPI/zCM73Ns7RJUHOXtO80+KwXvt9tR898dWjSHqq4F66B/HfzadIHdVRezdw4gJLNOC35dVnuFOsufMi7L9LCx37299/2Ng+maD1rKSq/GQUHAOGAKOMiVCaCEB+mI8jp//5C8je3Ha3Z8urh5vlI9Au6DwzyD8Jjd8+Vpi8azI9hwUveN7USSsmbEOliFtmLAjd7mPr6fJzQY1j1s7LodxMwcevwnsrSbPBkcfQGQjiPAe4D4H++bbj0nQXqGAjDw619P2fqVyrLeped6rymkBADYwkJSig+0dEzYJqeodqX/mO4T6d5Zr22DT9WRr/23MjRz9vQiee/+vwHkm8e7exqHWYITj3HAV4JgKva3rd2v+vEjgpo3FSrjdwUCZyVo575VPi0u5qQA2YU90dUvQAp2aiFMIu5tGaoNzDLgYynt4NvjgVf8/ZLEKsIldXCtYMgzcMtr+oWoOWA6VRBiAH0pwFe/ntQEwt/P5b3Lc7LUd9ufvWd7LQryj058v0VnxJS5JT+ZCJCKqlpPHKVI2ICFwM0bVgz7KCFjuaQmXsRBUk5NuERc8hlJNLsVQu5qoWX23GE47Hn0qz9me/4ih7Z7P01PxEz0skBtfB76GyitYzG8rC3Hf6aeJHthM6DU7weIGt6nx4g4MwAs/vVvf5i+0VGcsT2u1cQDpgoWYOuqtdlBZDHwWMW1PFU3UlNL+Ovp1T58zvhIyNHA02d7ukZGPoxBvdGQr6Tm9m/3h7/4d7nq6tt5Pjq0lcBwo/aBSHw6UZ96gvHk/o/K0iZr+S7Apj6ZVQHVqwHdm8GgK1I8K0M/P+3fbj88IIHNzxMl8JvrRJvtbtM1N7KgScnKWfiOWbfAN+8C65VDuXRFFZw2/DYAHH1UiL3ZgH+Yn1m4u/moSS1dkubQZF/2RlA9NMqqaYD2Lleo8ZGiaCsFsHHGo2pd5PsXcdCL+w8JlMHM8Aqbuhw82CUDFLUcwkpNzNM6YUbXuMpgOlM6t/k5tT9FiXN+rzFZRUXVYZYuMZQO2CuhB2vuSLM7ginm8Zi72c+JNVzvRQsjgDITpvLBb7JIwCty+TQ3m/O9ovrbPR3f76IHouAfW48Wfz6uiLAI46miFRnC5q2RPFzbkEZXXW1FiRBGqobYE9LMvDrBvS5jr/LL+9ox9+xv4ianlffBCjK1QwUuzz3IVcec658RzPN/uWLV1d3L9RguWS4cSaA+7+srOL9dWNPfef+xWR9C97Hi1zAJu+Wbni5I9R7tMRAn0nrU3dE5W9OfjdS9ecVMM+8ckeyasvG1c5FPyEILweGrzYl+6cvfrDy2CLPH+gJPGlgw0WI8JJcCUJldPJyjdXL9Hm6n31209G66K943/SqkovfAkgvZZLrbh+Ob1/EPuC299ZOjuLorUB4Rs6FK7RuFNzUPqD6tOji73/+6vjOi99z3wuY5UUBEfMOap6yWTe1o6uKrjKIUr4UiXptkMPuKKW+GStbI639zLUvMze6VJPCjSeUlIi1g+li4eY+5mwm2JKFl6aK86aMcxy4Ls8WFRZU9tkLhWxeZTfbNhpHO3/Fsm3b9MBZLD4/9/um3rOoa5SUBzlfSny049eHwjzH37m+7kXCe0E/Wd9zeeRuuqY6bICVFURYEUnH2TfHiKKs9Z0bgM3+/he6Pha8NruuL6K+HyOXnC7CytVMg1iVWulVDiFVxhH5DmnUP3Pbh/sDl/coL22iSqnvF5HwXGH5G0+775q3vLXQyo73/Suvd5ee/mMvF4dvUTEaYfgXpskvbd/xucnno8bauo+Od/+P5XPbtt0RuQu3DlBUfgMCXiHAj6QZ/M32D5cW5S2izZXaWGjozPca6qlaINVYqv0GgKNMFKCBJSU/i4RnifhrPv8BKwEs+LrwnRPLqn3l1xHgpYGl2NZnDI0OHBLAJ6Yn977jrmvX1y5+zyMvYG4EwDwipOveXLKUqPRKhGhFsCfMxSVDw8PEKUXSPZmvf024OR5mrPOQw6IqLe/pOLTrJ5esULUbZj8J4CdFJAtAdbQQpXt/1OVH+wZFiDlXSNT5mY4Wjv25I2W3f3e/v9DpLoLk+fojs0PA8HDoDHmPPJ45j/+IJlzxue4Qs/v4i2MMyxPGKlqcEFWVQrQEpDkuvnkQyec1mIVC1u79nWt7ncscff+QejY5qr5ZlNiOOq4bWmiOKoecK40LQF0Y/+Hx8ZH/fPhjp7Zq7Ef5VvA172++DYguBc7+dmzfoS/dfd2anOO50Hf57L2vWLBk6OzLkegnEXHMZ/BPPDZ2z/aPH0mFeva22l7Top7ex7/hYbrgqqt6e/p6LnIU/ZQgTxPAX9/6geTuxa5TaxmVuP8yIrTmRufnjMQShLyb6OGez30o+dZC69WiMlHyVhQ6x/vs6ts+0kU+n2cF+kUNLD/nBc7hfwXAfsOzvByoMzzgoIdZVj49EXnT5z8Y/5GuZtt7d2xOU7pooX3S94WiKkHpXITkbDTuZYcjmK0g0GJE/Kj3zW96nt6rArYtLOrYiGilj+JeomiAMCozZzWRTBVz9AJPC33LBferaIDMueDi6EkLbuOoCxyDZq09QI7jdQybmLX24tyoToCS0KO4R8+19+kUQHYATDHqu/cScQNJeclPCetsuDU/7fyQq+6PXEUV4DXl2ZFy+o9fvLq6a7F7esn7Gz9D6NSl9Lq99z345Z03HJ3it9j1HutyigvV8sCbAOgNjHIfNP3f+717n9j+yXkau8e6gXmWf84A02oPlfUbosT9EgCuR4H/feuD/3rTsYbP2972WDleu/ZsYOwpCNudx5LzDjNP2e7br648frTzYic57r8C0L0+Q/+ROz5Q2rHY86jRZU9P5Y0o8CoV3bXPmaWC2oEpcJsb5CoQ+cfPXZ38pb590bvv7wMvP26L5h3pIoU7ogvNTOQqa5zrucgU3lsGsJ17GKIEFJhhbj6cSeNB8A2lx3Td9h1UJZbIuWQpQtxDhLE6zIo0Jxh14ihtko5sdshfzAkKc5wkcw86Skrd/ZFibHC+FHzu7+EY0Ox4AbNrYmfOhkxgcAZ+q5rPuThhkF6kWMWAVTSlyciHOasfJhfNGRIv9P0v9jpc7HIsrlwqLfkpAB355eki2HBR3y6CpGFaI9pRY/z7mdq+r2hGtNh1v/p3mm+LkF6WCv/FHR/40NPZ2XdPjX3bb02tisqltyHA+QLy6emp2o13Xft0/+I52qfnADCHaduvv6M/7um7FEV+BgC+Olmb+au7ru1WLD/K15PbRRRLrJsMaXb3a/sn//bpdGdxX5aWBeiCl5/vIvxFEfmnz38ovmWxF4jeJ5e8t36Kc/hLgG5NTkVupZm5ZEWPCK9CwM/c+qEQYRpovus7Pyls4sBdryNTWL3IE9ej4hgvzLXWTFTCPlioh5sco1kbqGDNGGfpw00/84RwY0pzwvBQUcDsWr9yFjMdhYyqDuMlLFQ2RTZWky2ZZk6n1SpWJGOrp6kJ26z6ZXeKvfDxtPdhrjN9jCn8QosvVAKY9/OzQZmU3NmSqGMSiGKnTAv1CZeoBORjBKc+8zMM2QT7Zi1M0Sy4gwt+/7PPV9f6FqwQzP5+EJIlcdL/VhFVhpdpHa5VM44oGXzEdiQ87CMU/kqNGzccjULX/e1pL2LtaZt/W4B8U9JPHEuEegz33DEtetn/3bxAHPwyIE0D899OzTy141geAovd2LMKmHoiV2/evJnA/XcQXoIIf37rh5OvLnZndDldx5otp74YGF6qdXSdZtH6YK5tq4OsakmYANA0s//7xabUr/7N2slRKfolFf+99cPxR451n9ZtPvVFgPRftKnDZmfdmZKqKpnKv+EqANwFjQPvuDUX7XjFb337xV6ic0HvPeUw6s9wwao9gnH97N/5DYFAPVHUey5ifGrQVwvsxHA/6tHnmad+XOk4ip3sJzyku9lnIx5mxoEhRTUx6yjpzdVUsTl0cCWgSKd3egjjiNnrnLR5bTMYa70hnDYEM48SqzFa2N+uqBSDarmaBOX92PC7/s0W734/F6poNXWO4CUe4/rybRfb6+5Cdx5/2Ga7NmseRwgJYZQguRKhUzGTGEWpafqE8g0BP80sNYFGA0l5n12v7u+3+K4L3uoiv//Wbh3r+rq2h1w9NU563iQsGjlO6xfmMJpyUf++jnKPWp48Dph94tYPVkYW6ph3HvFr3lM7CaP49wTgxumZvbc+F+B0LPeoLqtZ7caBk38WBN8AKJ+ayWb+9c6PLHk62lzkCNkiNvisAaZ20oj6XwUg/xUR7hyfPPz/fvVj80urzbtvV17vLlt/xRqfRKuApMGZNGKWphA3kDljlzbGxuppbWws23nD4uZO9USe0rP+lUj0FmL/gZs/YhfHol9b376nOrh82UUg9BZ1WTQzgznmVRBkabAPgKtv/Uh8h35Rr/uzh0oTj6c/aR47na+j1PTVkyeKe89ykJxuHVdtLpk6b76CrtlpFq/xg6JSg312UJif9NDY6z1PIqVNaxB1p91z9HCUoKXpJmo0xVBCogQYY03lddusRHFUiwtMwcSQ1dVQnSVZxeWYdCTU1B9y55wj0uSOaE4B4Th6NK0MWgGi1cNSjmWHJJ4+hHTd6vUWacosOgjg1FRObT7UiA4ySjByMTKX7OmHkiFIEx2oUnoqPmsypdPI+YjkQhHe89vTObKH2Hn8zJSUlr0JMdks4MfNfVLHsFzfbqQkH96w74II8KDP+JOff/T/33ms5bJL39d8GyKeljX9X9/+R+UQuX4PvC57X+NsQfyNEFRlH9v78CMjz1at9dkATLzsXZMrJCr/MgqcCwB/dusfxF88xvOGOpbYD/0V9RQtPhs7lxC5qmRYFnNH1J/gXXrwniKCW8x2XvHr06ur5eSnddlbPhJfs5jPdC5z2bv29Ui8/JUk8GYVXdPIUJUajGOdZ042wAiQIOA6IHwim66/+7Y/DWIeL//Ne7Z6QT037dcRTeTWnJ8to/4wEVY3OFd6AaJTdZdgFMmaKgeLMrNOKPy79O/qHVFEWiA64zsuyPuZ0/2S1Q96lLrmkrYudWTsFJcsfi8EczszQjWwUbQh0nS0hBglBJRIqIkq2KCkmTpYanip/okESlH32p3Xj6olu/esqat5WwB71tEZdckw5wgRiliyDF0SBXC3oI9VYM0ae2qho7inW0NrajkjvqvaOSqxUT3A7d8So9pN6npRddOc0t3DE04n3H2mIrtNIGoqKOqD2KZlWR148+/AoKSj0W/fyAJd/qOdv7kuuAW+/yM/shDrIH9fGF3Uc0aMPW8Q0IgYjYeJ4mpxtGS3fff5cQZdVplAlk80vvrlHdu3H5u5md5X5Z7S1STydwcOfPvO55OfudA9vO1X9/eWBpb8oiBejAzXNQ6P3bn940dVNFtolfb+MwJMrQuWz79wExP9mp58L+mHP/8HlScWteWOhSyUrmy4GAleqVMfui5mibQhISqlJVRXjUDWkUeUfdM4p2LQvJt9zbsbZ0TO/fc0kxtu+6P4S8e6f0q07y+tukhE3hpyOSv+GWDqz3A7BZwXkD4i2CAMnxJ/8BoF9iuvv949edfpVwjg8nm33RrVa3d7RbVzXHlZhOUzUeikMKenKbG6yeRqtq1Za8WLsC+KKrqcTR2aFK/OVEsNkA8yZAc4yw5pkwI5mxFHikSq3t0eF5xrJ7v3r6OkoIIT6iAD7CMgBTpDbqdjPKbwbuM84lT1SOt/VlhQ9FPwM5kQw3o2dXLKA3GzVmu5nwf0EpcFszI2uoCZ/mrpQbxHwow12lXPdN0dSZXyr1wrkxWy5lbn6yjHM+d3tNDyC72/0EU3x/c/6yPdJZzu9SmvioUiqqx1rvfHQbgMRAf00aQPipJb9rhYpEk5XoauHaowDMhxRZiqtn75pjf+rgjubWb1G7Zf039gocN8vt9/zXvqP0LofhlAPo2N2j/fciy9lDl29rgB0wq/p9h44LsZ4RuTzX1/+gzqGLjtbY+VopUDpZGZg/WHP/a0sKi+rjzT9m/b6ArcvuJ4zeWH6bW/+b6tENPbOEs/eutHF0+SL86XUooGl51zDgr8vM5Jm7yDIVOnfIQW0QN0gqgoBZwMAjdkOPnxz//BssMXvfvOXvEDbxIuJH2P4dLROXMqrYuovAXBrRCUXBY4bD8wqzq10Tpz9jAWp0uqfFjYqqgzZE0niFijUJMySyeBfU2jUBAVxTU7BgPSwPk8+su3rBwWWvLo76s3+HfrZUpD6iQcwFqLsAse93drX7u3q2DpXO/6mKo/Cqi0N9kvYh5CELuBpxyUDnc+5O0sm+e6fxSAP3msZapi+5e9t/l2zaoakH1i+zGWup6vc3f5expnAbr/CaIi4/W/vPWjphFxXN/tcQGmUn2SoXWvIIGrBOWGW/4w+bvjOXiNLE/mlb2+StrYAahTVHYYpYRJAtSjaTgDVEB8SRyNfu4PP/S0n/LiuuLF/iiwrz9l40Ug7o2Q1X7/eJ8w2jSKHf0CICoQmiPY7AuwHW1aogg4KCybkOgO9um1tz7+qSe2bThrRT2Ty1WM4cjztdCsnAFdTNizxlGymZQkL1gKkKk9IadRZStp6BxrzkFylkilRZ9K92w1r7RbzgqitcDX9FMZyCSIEt/TGQRqeMzUBVtVgAQ1tcY4r+Xm0emsg3qmRb2FPr+Y89WxQ9a/0tOu35o2y1TUUTtUsUJ0DOjKRr0C7EOkHgCeyny6x8vMZOiCL1TE7P5GF9r/7uWP8Xg6irZaLim5vtMdlV8HQAkL70eAVBWcYlcZi6hndLbnSPFQYgcIX2qk9RuPNzq87N3ZT4D4CwTkus/9Ufmh48GB5+Mzl71rcghd5f0IzM1m9ge3X1vdczygecyAqWBZHlz3SnBwFXr+5GevKf3z8RywpvOl8y46B7WjZVmhKjJwLJyHGMgNEpphlDoKTInHB2+59uovHytganS4ov/cixDlTVBvXP3Zj82vQHS049j262NLylH1tYL4uhB9hLJYG3Jm17hUFUI5cISwRQRGBLNrG/v33eX7dvV51/9ahqjU6pQf6wk0bmV1iCDeQEBqc9AbRkKDNVf4GaJOs4vtmruZ3d/vgEzrfSuQmlQaB38GMyZToGwiwowIzwiyEuBrDL6BDA0Gn6JkqRA1xPuMiTMFVuMeqoKS3tydKaXVF0PUupjo9YhoKmcWWG2zeOka7cBDV16c0/pnghBFWnPVqFzrrqg0GxdpU0uVraooVAUVMFHFeqMToYKIVilY9SgZ+PEMGo+L1CdAMDsqZ7WT9bBQir5QCr6Ia0IHFBzGfTH1vpQouVDV10X4gDawlFUSUflQiUKafMTD3RzjuJkh/t3IzMjXFjntc8ReXf6exk8iw3mSyV/dcu0itCAWcVzP1SIXXHWwf2m593eAXAUa6Udv/hPjbR9TpHlMgKlgWVmx7mJguErA//nN15SPhct4xHmw2iD0V6Ymmml/z3jzsx87NadrDKOm45qKT27pw7uv+/TTj99jiyw7NoaXvrO5NYrgF5qer73tj8sPHtcXot37k994BgH9FwAZCg61nSBp04yzqsJmzApcAoGNCNAnIp+GTD45Wnv8YKk3fSV7XnZc+5J/yKhWFPc6iFcTJWtRcDAAQO7qXRhv5/rj9rFcUNeAvlNcVz24u1sb+fumW97q0JvRTcjoNGVXMA2EJ1VY0oaSMkQ1j9eOelOYFWRSm2cGztiaPWzLCjgv5FlViMRUiOZ+aY9fywkqbqQFZCWK5m7hUaiTSqxScYykdW8NexOyPrkO0IPKBWkzKDL9p8AvsiMzjlZo1uXcLXtchOpwoLsWb8x4yfZ4qY+INFU2TYnfx3SjPZPv+cgHhj3SkgR6T3VU2YZIKjY9KsKTGnVoZJlEPaMx9o4ZVLb7PKA8U7MK1vMC8PU6Nq/f/kfzimkvuNuXv6v5P5BwedNnf3P7NUcfHFlwZc/DAhbwrVjzu9pPSNl/8PZrrOey6O9y0YBpNcu1W86LHLwHxV930x+XP328x6fRJWzY0KbZVHuiiqtUUowqSYTllKkamWqPH1CXRPHyrZv/tPzA8W7vst80Kf5fEfaffSYg/7qrDvZD0vtqEbzCaG0hSujaLYvpTNxF3wmkdr1icYWwbESEMdbaJs98asqPKAn+rFlz4TlvZiGxjO732bNzrtxHkgw5pDXmec5YQcSkLXCuRblCzMIQoS1yPkuZvECQAjNy98aWi2No4yuqdK7P+tkF2d2CU5v5DHVW7QPlkm12wow3Xczi53/IO9E5TOXntajTWryshPr8mlV9YlbR0ILXOtsUrViJ4ntOZlWv85apWxc1q8OUt3gc5WTTXKCz4GMK788kfUy4ts9LVjfy/5ziHsGWvZgQWvjanZ2Sz/X9W40VIYmhelLkei4gdKexyBQaWEIaQD5OS9S7lzDK6UP5Q73FALBGmgLuOHv4+0PT93z7eLvbIXt7wdUA+ID42r8db7lr4XPz7C6hgdqAG/p9IYoa0viDY3lgLA4wr7zevX7dG898+gH/AUb+p5uvKf3j8R6CIfyy1a9GdC8ENs9v8gRNI1ojNOySFmkSwaRnOQwghzj1Oz/35z1acziu1+uumlzBUektRLjis0/82+8fK9+sc6OXvGNqZUzJm1W/s/h7iNbsyd0inxiWIGldMFWVbwZ8nIj2gfh+EXwVohpQwW0NGLtzprlvPRP0mgBxq7zUEe7phhZgtXTuo0VQHFXIJcucuOUIyXIyn3JMzItltkrvLJ2M1mCRqB+wxsg5IBUANBcXdI5vpfis/rTd715f92cWWn/3+wtdCbP7XvPhYSu2mGt/1Qm9tRn9LfgCBSkpkUMemiOZ1B7XOu8RUWAXkb6buH/E7s8zKCReHwpKoqI4gt5NjpLzEd0mAKmLyCiC1ML158BhMl6CntFQjsmbkp0P9OBbolemrvXT02OHb/vyJ+Z0WF3o7Nr7r31H/TSK6be9x+tu2f1v//FM7qtFbfBZXEiDHyn1/SEI7hae+fhiwX5RgHnp/5hekyTxb3vBx26+tj32dzz7b02YtaeerVa24nks8zzJ4htR1qxlzYlGx/B85615PJtqfcaehNWzLiJ0v5AKXPO5P1lYpGP+DQ7T66567ykUu7cyyqktlfVwO+mM+SQA7hcv+xH8E+Dx8cPTk/vrUdsZ77Kf29dDQ4MvR5C3AOPJSHz3jB//dp33VTxyYjQfs7Jq+TEc+/F3NvBBHPmkShQtcxIvJ3QDoFYTDFUgjBQEWv2fEC+FiaKOntARgXSxRwUwzXPDz+L3d4olFesu+lQLfV6311XyOOpJWWh9He/bhRZQJ+Tj+fEXXFfbjkbEwe0hE4AZAZ4WSccyae7yXD+IkQ6gdfTQFkmbnMuvw7anE/4OIvLlgdjFmwnLWxHcKrXVFeRRneAxf3SVbaF4KqG+UYRElee7nrTFWQpgaVEvwpfTWv3G2/5iYWm3ec+xBlHrf+wdjLy0CfzX3w/pePexXPYb6mQZ/5kA/8vo1MF/XYz60oKAqUiMUd/Ps8DZE08+9Wt33bD4If0F7vKw7SuvJ61V7l8xRIVEW+IrDgf7+sm7qh8f33fr3wVv8GfyUtCP4+S/AXD/zNie9z8jVZMrr3evXfOjmwHcjxJxvwA+hUwjDP4JwWz0MB4aXwzFSqPt0tK15zjBNwHCBQIwVueJB+oyOpaxNlGaWWCiL0zrWVBOrcP+yzpC6HocuIrDaAAgXuGMHA9lAFTyvdZdlQig/X5zh7BybPA507xe7dtCGXAOKq9ZjeWvljnZERFfbkdh8ZNVMLpM0EJIGST0jl5iss+bZmiBqgH0g71xfol3Hn8n9lrMmEdk5gtkW9XCnxeSJgo2VLzCY3MSGDWqPMyYzYg1I1WifpE0qK7tKxE/lGXbep9WkwZl5FMPUXVNBPELHJU2gkifCEwA8iEGqFtZQccnOJlOourBCMrBGrV76ED/prM8bdUpLwx3M6Q33vInPbP8oY713rr8N5rnOoD3eOH/RdmuOz67OIm4Y93Mc778Zb+RvixCeJ9n+f3GN7/8jYXI+0cFTI3MhpJzz6cI3i2p/62b/uI4Gyatwx6my37uVyq+v1qOUpdgxfU7cYMCvEIIBxFxCJmXWNEJqY4sh1iyf/vsx0wZ+pm+8PW/3tRpm3d4httv2XvjP3SnEOsufGdlZjSLDz30Z5Otm2jerQ7Ttl/91WpaR3wmaU1Y/TBd8o53rShBfAkQvgYAT/NQH63z4SebMHWAuT4mxp00Y5m50WOhiGaBs2cOloRl4qgH0VURXBW1+y5Ks4mqCqIYDM6UkqMIrsHK3Ggxuwg5Ox1eTHn9aJ+fjYntcr0ef8HkUQAkQY3Tra7XWp/+y5wdtQPORpbXOkroKmv3fxqEpxj8FIufEfRqWzuts/XP9OKb6/MhPdZHj45sRpWYkpMclE8jdBu1gQchktXvftJsS6ybh+wgPuywdywCpzP/rVe7alGQzYrmlUWXuuyXMWvcdLxMkWJDl//CxDLXV/kQII6Mjo198mufHJrPgfW4TptmoUNr11STg4206Wq+0pdJ7Tu7fc7F1m96MVfRorf9+nc2f0UAXtzk5u8U03nzffiogHn526dXu3L8fhH42mc/lnxi0Xsw14IalS3/0c2u5H5CWKXEuaSXMgmNMYjK9+/3RPuh4UdTl056qTcmsycax1uQnmsXLrxyV2VgzYpLHbqfA84+/pm9n/piJ2gueeHwkvH6qNvac87hu+/+5efkJlnoHFr5oHL2RgS6lAAvFshOSqExlcrU7ibMqHr3Xk++JpBxqPs+x+RqvaGVakMQk0RVFFclF1VQsCpAJW0qoUiCoqY8EiOQGpup4ZmWdXPzLctx7dCVwtmK+rrroaFRNPuatNFINdbtuE3s97zXU0QuhA2VAAAgAElEQVSHWhEpTOg0VQ2tcO3MpwKonMQmiE+BoMHIdWCYYUnrAjKlzRugLLNSyKKi+YW+xXnet0hPWUs29UQRlQYdlNYRJBsIabMKryjDQIjHgM1lNNV4Xjm2hNE0SWkywcpkUJOam1TQivk7fNhFYApQbktnpu/4/HXLzL30eF9aTooHB38dUE6eqfM1d/w/pQf1Wz3e9c31uR/5tdqr2EXvUk4wsDwBiLuZeQ8j7Ykyv28mru1XMJ2sp7xkVZ0NTLd/4ekTcnxMGh2jrCZLPu4BPnf4yaf++WhZ9LyAqeCybPXQGwHwjenYoV98FtJivOi/jfb2VHuXe0kPJ/TU1HcjjN/2trEl1f6enyDA1wrAH0/fc+d/tsLwzVf191GSDAzy9O67rl20PuCzebF0rkuftBuGNm3ACM9HwVd74I0M9WoKjcOpTO1jSfem2BhTOwod/WMFiYKeM48L4ryAcMzLh2gtt3E1cQv7vw5ECmqsF6v6kTpFirLDQQU81DHSKfg6e1bq8oECpXSDfGbPnMW0gJd7nCsPVLtUOgapOEgMJJkG3AKUijmNmXukjn9mQtAAzjKx2XWXadpsLHtRd+VQW5jz+3oGx188CUI82+FCCToZyoTqOuVKkQO3JLAYopMcxhtAcOn/ae9L4Oyoqrz/59yqt/WSztbZgJAQtoRVEEFRwk6ABIFpENRh0XHGccQZZcZxZr5vevzGTx11XHAb1NFZAKE/BQkkQwSMogaEsCcsWYCQdHe60+vrt1XVPefrW90dsqdf0p2FvPoR3uvuulX3nnvrX+ee5X+IXD1y58Cx3Q68FXHdH3VecgMvn+BMr0Gyb6Bsye6PwYSKza8iAr2u0IfyPRue2yszlMu4+/O26ip/7CdcHS4R/dfFt933ZGPjSm3cde2s3Xd6mzPmfTJ/mJJ3viE9RpmPhegUsEtggVtPzubuTFXNCl0DNz6S1xBxC6j3hcV7QvjjHFh/WZjL6n2S2P71g19PuZI5O5T3TgHTddqQ92Ur2rT428n7yh71AdzAbSm8dPoDxHRJJPY76zau+VXMZnLaxzI12ZoMjRfpXfb17Wvn7NcxNfL5n/j02ASnT2DG6RA5M6JglkUUqhSLIQXdzgERSdAmJHmCI5VwVPAuhzoO6xnWA7fzIe55JsrANXeX+VLu9ff1ZOy6f/H22uXRO2IQuJRDR1Li1xnypxn1jmDyJxIwDsRphZQU6IU4Yl/Ng1zmmOOcSxY9JPJEfj6BZOz9Hjp26MMa9FFtDqx4izDQmXVz1uIPkYYP//LbX+nfMu+Z9jVw/0aee+OnajO11Z8iwhwovtFafO7J5V1rBU3XjPgWOb5lwz3mrWs38kV/9pkJnpeYRKSTlHgKQDNBNJNUZoAwrd/U1hVa/dCSb3+xP866/LG6nd2k1EnfIMbysKPz7p0piDsEzHnzViXNzMPPV+IPdW7c+JERdPTs61W+0/td9vHuseRl/khBV0Dlp50b2352GD4dNL1QX1cdpk1tXXVf8/LGfV6zZPgCauTzP3rrxETaO5nVvBMqx0cmmqUI66yGPVYLXRGiXouoQzTaZBH2wtEBkeeIghyHxaC2tdN48eF3ZT+cubu66tt2qdzzdzok5/ZyEf9x6FbMm8eGTcrArzPwJ7uaTEymHjCTmbgmDpJzAfxAHiq9MUCq4+MzJQO/YNgPDBIFpoTLaNv8UtvS4b5tX7b9m8TOos1HSESvhaqP9LZufGFvn904I2/2WUd6Ht8CYKJafCO/4nfLl879tWApGEsb3ZtkL1/GW4/wgo91jvGTNaeIyKYIpVbTmy86W2ZbLi8rscJuBdIN95h5k8+vEltV/2b7mnV7Q+N2yS2F85nMH6tEf78zv8kOAdOBCTjz9yC89OC3Ez/aD8/DPrmlMzvUTZg41xj6mBJeQaS3P/HoN9s3Ra+lM4mUmXrkzM7Vi28ZToGofdLfXd9kQAtIpdOTPKbZAN4B6HEhRZOAaKzVKCEc9VgtdUUadgPSZdX2CaKsxk6OSJmMlYGSP+poP4dd++cAGP1ed2FwS+5ILAYUYgZZa+DYk2JLh+/SLKsNcQ2pN4ZhxhK4nsETAR4DIp+JWCQ2EeRjDdIRmQgV2Hh5VhRZk6HHXsCaKA4m8g92eyiUaZswsq0SybY/562g+DjSIBKl9UT2d6VS/smHbx/Xu5dARvM+uSpB9vBzyThCcF0ngXxj8e39NbAaGwmNzQZzp+poAOa8T5ZmM/FX+su9HAtFAKK1EH2ZGK9AZIMQvVnSUvNWQNrU1G+WaXRC2mPwdry3k5MTfiyQH73RumbpjsB3R4BJl328OIOY/qWfJvYfFt4+vMqOe71g99cF3Btq3BXHsk+fgOg0Vvzk2ed//oeOTc9ANaTalOne+PxX9zqsaf8Mr5Ev+NgtNWlUTYlYpho2RynjeBI5zrKd7BQdlx7tCNAihAVF2CMa9kUIelWiHiEqgKIQKoEaDsSGLpBvKJVQ1XPhNwPsH+6LcdnJm+nutgrj3C7yfkf0eEO/27GsdhcGsOO/x9kxsWM/pqt3ZeQHAHEgCTKuo8hgH8zOqeXKOaSITLWnXAd4Y5nNWIYZAyBDcAXFOEVEjm8zAmsBzrsO6oMgZ4izAOeZ/MAIBUypkJ1N2Vlh3bFl8P22EVlDj/lm6+PgCdsE7Mf7gi24AZQRxcHXsI/ngmD50tv/td+UVP6WdEuZx45HnjPN8/hGEJ8tqv/PFgr3PPSjMZ2Y2+gd+Tq81zMrZG79HFk6Chqm2+GGhx82yTdmKrMeCcJsgE8g6CwFPCY4j38JoFaCrFTQysjSWk/C1x7oeKB1bwLoL/9E+DmwZPqy+a8t/clYx9a+1bEdYLrO8vTD5xLTNWvbV398b1Tc/QMSe3bXeR/sqPVqqy93ZggiXb1x46qmV179+XoKuwXJmp6uZ/6xZzNY7NktDqhWsdnl8MMmqecdxipHgngqSKdBaZogOkxJ6h3ZpCIqCaTgAqZFg0iJ3M9FQamkisBSWARJQZTyokFJQQXADvBQxmARK6oD4DqUyTTwu83ZSzuS60CO0UD+jRNc/H2zl30oQNwxKMdxjANMRGTNQNUOdqqeD+N77NJDQSlmTpNQhslkwJwh64rqsXMkpAFKkVLKlR8BsYtDjTlEiUyRlV2KYZGZ8yrIEUwfAX3s/oZEwOrsG5u1GodlmwM/34pR3VG86u6i8N/6u9vUOyvAYI57HGagiqLTvAR4Igizz42ARhnbDS8Ye0F1wqu6lAg3MKhVLb67tmPVsyvumR3SnH/yJ3l9/sbeTRbjExbL/y0aaQ+5k9+8eati+sLF1c9EW26/3ZrV6YdNIWAms5nBpDMFfAxBjyEiV1r6v4th7gt7EwlwyScK5/tkbiwi/OyOsgu3A0wXNpCsGvchkB6x8HvJvz+gnvLR7ozLXqhbcBR79FECn5YrdT7WuvGZR9ZveLLVmL7SmJp02+tLGwdzdEe7M/vn+s5mlTj8+CQl0kk2ybFszFSoTOO4XpFOdgtToLWknI49lyIZS5oh0bSypmKSiwFyjYKQDQYe7LjkbKCuxAW7LSvCAaoS6yjRnY3PgYBTdB03hON5Gohk31zIKE57cpXHjMakt06ZjYk1PMc4LHGhL1dKA0moC7p3tHeciMk2XMhLHHLvNOPNOT3OJe+S0kOAnIboat7kDDjLZHIqWnSJ6s4ZM0giauMSSjFwO/KPOAp1q0inXc3WdhFRcUmoLcJDd9I47vkWh4slYkK3WnlVhZ/s87pfHQkWcQeU88eenYx47JmGzQ1ENMWq3pnP5+5zWtbcuY3eiy359KaOTYAJZVZNXbR61bfcVnmPt787k1fskE1mPkHQXlVZTYJXi5pvy3Xlgh702m1tmE4bTkXTU9WpmkmuhkDupWXrdhd8vqu5uujPsvUJTn1HoF9Y1H7fC9tqq9sBpgu7qUlW36KkLQ98P/GD/fPY7t+7ugycqvRh72TYG6IoOqwv2/aHtq6Vv9qw/vmNqVRf13Rs2rR8+e37JU5z/0rmrbs7YE1POyljaxIplEwykeCUKKWMUkrIVjNxrRKqCRT/s5AMEdKs5NiUXB2dpLr4zXh76z4dJ2qc/ZIG61RSGhdnGDn/SlyyQqwzEbr4yhjIXAhAXFaCHJVcRI4dSV3cIkIQBQN8kBIS4trtcUqjY1CK2TsGgNDl+cc0cwOE7PFGl5wuFwNjnDgT33+zDWKI/Omt8FGHaHHnNn8OaZUDIDn0+9gGMHjOlnrn9u0HcXhA0IPAqkCfqq5n6PMlkheDlU+07A0oDM2im8Nw5gnpsX71GcTmOgVmAfSwwt754Pe+9HpjI/Cde9oy7X3qj/Vqpau3XU6b7hVHc+3Puyk70aSS/0SM01TVaf8uWaIHKi8Q8TOR2JeVaAP15lq6g3wYg+iA/XJEvJdOJjWz3/OfAvuD19rXbld3fTvAPP+Pe8dn0ql/EJWHH7w99eCB8oDuj344bTuRrnsPM11fLPXNLBQ3PduZff2XG9peXMda6Bw3obbt4HEK7Q8Jln/PeR/NH+YZ70oiPWUg2XHbZKLtfMRbJHBveb+YAX+LgPmtt8pvcWnubGu8rVFx6Nq720pveZ77vu0jtk37IS1yW6ZARY5IW0jxkipWRm+ue23x4qNHwAHZyLMbGrwp6cNrMpnkXICuBuFwVXpYI7knt/r3qyZObNdH1q2sCjb1pcioI86TXmNKjVdVF0Y65nJnK8Rtv3H44YcxYxYxHwfFyQScBNXxxJRVpQ6orlbgOQg9C0TrOro2te9tVICbsPkfD24XyMJcoWXJtrGr2wHm/I/1TgBSX4DSnQt/4P+6/CX/9msx/2PNGcjYM62EHwqi3OxCqfeVbKn1N62tK18uarYtmc63tC9t7Hv7jXzfj+iSPysc6SldRcQnbS5StDlnfQuw2ZJqLu7mlgC3rUd5qN2WYLUrr8soto9V5sH+bpWOLxGUC6rUzJA1DiRBHa8tvH3qSIS29fPL3sNn4axE3diJUw34XGK9AnB2Xfw6Unv3ou7718zGSrN+ZU+1Z/xMqddVCA00p2NLGD8lh32Q+ea241yMooLfG2QTHXZbHtwhEPWUTgHhVDJ8jEJdAsBUF/UBq3+zpnvNI3vrd7n8Y8FtxPrYpo62hdsC8A4Bk5H6Zyv2pw/8ML103z8yB+4d48ybsbOORal4TSC5c8KoaPPF7sd7ihuezZfWv5YrlVqnTO1uXdnUuH3d6gN3WAdUzy67uTjTeOZKQE8c0DAHl+iWhsAhgBzi8Ix/3mIpbz53C1Acbvu39ttb0yOV2z7GRJcfug0R1GaOkXi7X4KoIyRuYeBVS/rqoJbk7OR7bx90ESB9p3r+tCl1wt7JAM9nwikg6lSr95INl/Su/Urbs92o5iiskciakmcsgrx4NVyaVB9kVy++bQS02t0vsXg3VzXuK6yYA8KTKvq0pejVfClYXcr1lXay9abLru+u06rURAMcY0VfWNS7cP3eeMldT6/40+A7qrq0vavtgd0CpkP5FKc+p4pl9/8w+fPdD/VQPKOR5930mfFWihdZCS4Pw8J0i6gtX+x+Phu0rQqLPWso4TVn1pnmlSuvqYBnGUtkwUeKs0C4EkxzYtag7bTLHWiSW52z5c12FMczOu0dMA5Qww1mecfFPlycVQz6zqkVCSFPoj1CupEFr6uh16WvsPHBO7/Rn989IjY4mt2wwp86dko6YdN17GEWWT6XmU8SdeFS+rhAlgSFV5956tV7XepVbVQyaRehQzaypSi0dalEPjUmmd3Xzk2njEyvPXqO58nZpPRuBR01+O4qEGGtqixXNS+E1rZKGHYZCYpvBK3FvdUmd7A0af7HSj8WaJO8+ebD25pBttMwL2joHJOprflzJlu474epb5Sx1g/JU0877Sm//rgZRwecmxeExblQnRJp2FyMsq/mCx0ri7b3dWa7IZsNmjf97iPbEc0ekkLbxaAvv7F4tPHNVap6vMZ15Qa0xAHC8Le+bwamQceIO4/ZubaHHDZDXwY80kNOnKHv27XfgqpuKxrSwesPtY+Bcctj8O+uKlVsNHVJ8YRIYg+85lXRQcB6Ba8na1vDUq5l8R239ZtvRgQg41CguVXv9IG6VHUiVUtKc1jpPUp8IqBjCHjeaUsdbRsfX/Pmf4fqBTWBcFUYiiYMJLSRNew5LbL7wqNnZ5uartm6HPEoL1CXPFI1tirBhSDqSK8Phsh2Lru+eyylqo4j1tlgnETAKaQ6EaAuZawnoRVKdjksXlETdC/s+p+uvdUs3VDdtt8/4sj/RoTbNpjnlm1L/rP9lnx+c4YnTbhWBSfd/++JT4/I1mCUhX6gXH7+/OZMT1VwigddECB4h6iMtxK1l4Ls6lzU/bq1ubXsc3O+YJvrmle2rlxZ2bpvO3fzbywdR4avBOTYuG7SINflQF2aAY1x6LsD0IHfDRwDgDpwXvy3+Idt2gzudOPK7rtoH9PsxsfWQUEDwBhDo8QqJXHscQdpQQXtAuok0nZEUTMxNmh7T/fChVMdkcveb7Hj/jTyaaddbmpmHpFMV6fTzIlJHuE4AKeCcLqqIzjBOlH7603Z15evfeOBPlKbyYdBxhUFcP/CEqJUQkJmdPuC3v2ZAnzZnxQv9kHnANQSqX0Bga7SKMjnEl2FpT/5j/7dWfxioXkf7KjhVPURBnQG4moHdCSRTFOliBmPaxh98Rc/jmkg90rO824oHpVImC8jkv/9ix9/8eVtX2zbAabTmKadcvJZDP3TUjH78cV3jHcpVpWjTAm40CSO6B1RGJyrJGdbG05QIIy02JILs2sizbWKFNapJpqVgvVjW7pa9helXJlDG9XTL/to6XhP2HnJj4lDiN6qvraFnXLbbfVQ1OaWW3DXzW2cPEPa4RAj3haRlDF1+RApsovajLPFHdFRHDjv/rnwy5LTGsFxmE8fiDpEtA3gjbYUdRSCvu6lTd/td9KMkPY4iNinnfaUN+3k6alclEwkkRjPvh7OoBOI2JVJmeTILpV0VSHf+URr9uV1LRtX5MjLZSI7AJCu9hyJsaJSYF+7kkHUteGpfywcCIkYl9+cP4vgfYAIpzDB0dt1g/RpITylEa0WDZqDXFBoRkthZdMcF8oXT77bCVdVVznSjdlgPbwQhHcs+a89rzc+tKjn/0npGhaapxT87f0/rN647WLfDjDdCVfclD+cYL5Klr9x73/6y0b1CTkELu5eQoljxh9FNngvk32XkJ4o1jrWmt4IpU2FqPBGJL0tlqMWDXSDGm0rhNLSsqhh04GwqPflFM2/oTTHGL4KKke5wOgtqrRtBsChGMfBuKFBRvbtwsO3iI0ciDQfrNw2yJs5CKauZMOAzhpSHMcZlxN2W+o8CTmyjE6wdpEYV4GxOwhsL1DoXRw8khuJLeB2sh3cYqfD2gQSiSTEr016eqTCO5UgJwA8lUhroqjYnA96V/QWN65tya1sDQpdgihOc7UDIGmFYUKrUReFUXcqke5ev+zT+52ycGdryW3BOZE4lonPIjZnOTIZJSqSaqsAzyh0mQpWUynoKnn5QvDmS6WRiEXduj+NfMVNn/symDcFxd7v7UhZ3CFgOvSurqr6SwJK9/4k+eW9VXP35QN3ENyL5ja0VREVTrZcOtfCvsNKMF1i8tiw1yJsC7W4KZTSpkiDdiXZSFZaLJtWyQdtEza5oPn9Q268L2R7xY2lE5lwpQIzXa7jwD23DAuKf4rRL2bHHKxt7rRBVnYcaS6nx8W8x7XjY1dMXPVNXf5xUYASD2yfCwTOW9a8p5qPC+6pyTpeSo/C3tZCT34ZlgWjRl8G0Ny5vzLp9GHGn1KXcNpjVWCSnPSnwOhRojjKgI5WllmRDTNhVGgrRtmWvrD9jZ7chg19pTZHmlJy1ZgotGI1skImTCi61ZOOIG06OxZ90pXd3ast6kjP+dyGtuokkglNFUodK9cHy5efvl0CiFMwpsyZXe955kyAzlLS4wk0A25sKitc7CWpPtcn4cpH/rPW0TCOyBgv+nC2PpNI/TDS6F9anlvxxI76tkPAjLflJ7htufxVwUZ//tB/7139j5EW+tvreo089/031EYpHAsOz4Tqu1TDIyONapUdF1uUswg3Wg06IwQ9EUVuO9gKpk0em7a+Ur4lxX7LYe1/6Fq6tNER6R7Ux/wPF2YQ87uJeQrEuqycgUo9yuoSxNXllrvNsUu/dFk8gsCBYZx6SRqAEEikRfZMUa0WDLQoRgqFyJaoKBEnosjrLUXNzc3h8uWnO3mNyMO2C6HHMZCnrZ3JU6dO9aUmkwyN8X3rV3OC6z3oVGWdQYrjQomODVGoCqNiZG0pXxAHkB3ri6XellLY1xVRsRhTeairrKGuXEnWqnR6YjozHnf98dkt2X0VWL6ni+z9N5WuU6L3EeQViD4bWay1ku8e9Hhv3nJvef0FC9prTF3NFGvoDAa9F6BjFOJK2vx7d7b7h0ub6kciBpquuDn4MCnek49K/2vJf9W07WiMOwRMd6JD2yqT/LwKXrrvP//vbSNsl9lTeR8S7dwLq+rISUdqKjxZNTpZICeqyoxIS1UuFdAxjFtIVlDqCjXqDhHmwFQiVyTL8Ca21EGG2y15bcy5tmpvXPtIlvoY3UkYyESZ3peI12ZbW4/U1GR1tOq5jOBYyNkaEzMneXWJjC+B5zHYJKu8qigyYzxjJ4gxMyMtnRBFhVkKOz7SsMpKKRXaUl9R8+2RLTQHNrcxiPKbAsm5XGpnJogB0tURB6JOUepKGb8jU1XVubLp4AtZe/8NwWmAXg2m95JqRok3QuUpgf6eFavCsNg54PCZsVPOhiv/uHc8NH18ZGRT9vXfrx6JrXl8TU5/T1Xu7qbmB3d2/50CpouLOjZ51Dn9Qa63lKz8xaI702+M4OKqXKpMCQyGL00qmMIpasMTQw2OUZYjBTJVYGsUMUltEWRLEWneFfJSjvpCx74+YJPrMczdYOpSRZcCncbjLg5lU3KM315Tk+1e2njuQa+hlinW4Z7e/5w09m+hz2G3hfa8KpNNeVwX+p5NGy9wGqOY6pDzx1gKjhYK3Zb6MCE7UTWqU0itSORFWspFjodUgo5Io87IFjYFUa49opKLz4zz3IEozxHaXIVI46OjGPmdx2SndI8EKAx3sCN23gBr+g7DlJzZryaVPhGGzoLS2UqYQaBuBZ4mq79R1ucceHaG2eKyph/1hz2NqCNtmyE28pV//Hc3wuBcWwg/e/9Pq5p3JoOdAqZr8P73d9VRTeazjnGm1LHuSyOTyzpi03HIX8i91Gb406ryYViPZOlkJTlRIceqkcmhhmMsbK2Scy7FO9qCEApCWozr3sCGyq4wDkfqIXBcakzIK3u9BqZX1WYViW4ythdE3aLc4xvuEpWelF/dm0mGuaWNO9cCDuDJGVzzjf1b5dnxd7ddLsxM01HFsd4QELakg2Q6E9QEHFUjJgIJJoPNRFKpV9XxqjIBwDhVGgvYOlGtGrCqumJr7uUlBZEwGyHqCDVoFyl1WSkVBLaoxL0SSQcROkhKXazoJCS6k17UfTBqjTuaaxfPmJpwxMySlbxSvqvt5dcKO7IJurbOrjkmMWYGWM9lovNANF0VJQaeFOgTAjyPMNzYHnX1jkCu+Hbdvez64syER98U1duDTW8u2RXO7RIwXVDsFYkrZhvCF0j0Oz+780u/HF2kP4Afs4Oqa40874OfrE5rZmyegvqQC0eB9GjLMpNIjrDQiZZtRijyQ44SA+XHyHEFRTHbD2soTCGTq2AI64oxwJGqOY5Kl+pnBgu+ukwcj1yuc5Hh5ZQoZxxvJJBj52Vmv6TG8WhSyQMVlbyAjaNO84tkoyAyXGA1JSOeY3oXSyoMX4yBVVErEliFH1lbtMaVNvMC4yHFVAo9L52gSEJjbWQSYM+5uUms40lnUUmKalIQpUg5qdCktY4RSVKkSMFKmoC0gqqgtgqCakCrRGwNKVWBNAPrqOI0wQrfsbA718lAyTcHi47PM7ab5kRD5yjKhs5hJ2GWWLM2DFrV01YV6YJKt4C6EEmPctRjJvjdq2+7dJ+kG+7PJbvgur5JXsL7AoSni+oygj4Wkr7i7JWFDc/nd6Yxz537Wqpm+tSjjNA7ifViEpoxUIUdq1X0ZxtLbYtGEjRdSmY1xv2TK8ocRIUvPnhnXdeu5LZrwATgIvEnJ+uvYkWDjfQz992dWrM/J6Jy7xGRAF304dZMtR0zIRIzLkwVp1sNjlCWycI6xbJOYML4iGQsWGssa0pY2Bolx0gZVyQnjrnM40KJjttxEFAdYWRcBtZlAzrKNDLxfw7P1MGZoxV2xcJcdHlciNdFljvGX3ZYzO53MT9FXDHcVRZ3/7cDcCUOSG3MnwkbR6m7TKD4IGudP8TVKhqMmoybuOh0l54YM144ok13qqtDGQcsOWJe92NMy+6KUiJSV4NctaSOMFmkJGqLRMhCtFMVbYKgTTRqtbAbScNeUu6JnBbOyazHpZ6V3z13JBwQIzLJ+/MibvdzjH/0iWTkfUzmQkCmqGIjlJepjR4pRXZ1lOrLLin+prir8KxLry9MTxG/Qw2do6rNJen7/kjFhsd9TB39YSJ13AWfvvc/v7R6dwrhbgFz89a8KnMrgcaGUvzHhXfVbtqfk1G596hLIA55KU2c5SeRNDVeKkVRoo59GScs46yPScIyEZCJYnicstQJU7UYdVyWGSGk4BmfSBNi1HcluJXhwbCJPxnGUQW7IkKu4EBcv9zVB3ZQbBxeDnBMqojTYdV9xt/jwrt2oBimgzvnC4mDhsT5jh1eShxTad0ZGrJIpEoBiZYgUoJqnpT6JA46dwS1tkfVbopE28UE7aK2UyC9YUGyXOf3jqWu3NTT35NvumYovGnU5X7Q3cCBTn17m+zKxuq0uKpozKnEfDGYziRoPYBXxOpvFfy4aPCG9vVmFy8TRrMAABy/SURBVKZ+W9oFeMbRBiMW+9pwj7nSm382ed7noPa2Qsf2eeM7moxhAaYLdbvqqvw0TpkvCLCu0NX3lcWLKxlAB93q3icdHvByO3sgkW9KyYTvvMUEMu7TVSWPvzNxFIJ9HxS6T28gRzvGSPfPA3kuRyUVZzqydXqp+mEpLNlMXKlNrUtdsdY1cSqoWvZtZPrCSDW0a1Jd0ZaZIftk6IfYTRxYHpeY4bKNbGR1XW9rW+fSpTOcuWGnoVpXXtk7Hin/ZGJzqUvlJGitAq/0h6UuFcFTVCi+3tXVkVu6dBTt4w33mAXeFXM8xv9V0C9y7Z13LlkyeVh1u4YLmP1LoZGvaPjccb6PRlF9ojPq/bcRin86xJZZZbgVCbw9JOA83WP86s8TcKZAV/fneD8YBfqHsC/Xtrh695lQlzb0Tc4kvFNV+RIQ3hXbKlWeV9CibJh75OGmcf0sTiN9NPKV137uWDb4ZxCeznf23VaO8lcGYAKOvn3cpDNOJfL+t5IuKXTn/qOcm4300CvXq0igIoFRl0BMGbeTbTdd3NAzttpLvQ+kl0PpdACtCvya1D6at3ZtN7r7ljUdvlt+z8sb8tN838xlxWVw9aNUP/mzu7740u5simWN3mmWWDDL9+jzIKyTQulL995b21HONcoCTHdhB5rjx7/rNPbN3ynwRCFb+N6DD+7as1ROhyrnViRQkcCBIwHn9J1CE98Dkj4N7Np1617p2lF4UEPDikTEs44ixnwCziNgkoupVMUSUX1KCtm23t4XC7uLJ41Z1asn17atfaV7Z2FIeyKd2MGDo2cbo/8LhJf6ouK/PtQ0xqVVlnWUDZju6g0uIBXvP1FJPwvoG0HRfiuZfHDjvubSK2uklZMrEqhIoGwJzJ/fOyGVSX0ejDNEZJkqfmE0erGvr6VrZ/GKDQ3ZiRb+WWzoKgXNIVfEjPQRqP11kJc1vb3tPbuzdZbd0V00aGh4M61mwrtU6TNK9FQpW/jWnip5ewSYA31r5IaGz05Xor9jUEIVX+7rW7emEtw+klNduVZFAqMqgS0pnnZ6o4aGnnEWqXOYcR0pzVToClL9WalknwrD5o7Fi492VQW2c/Q4xUrkiuPI13mqfBkPOHheJMGi0MgTvl3b3NQ0Z1QrEsyb11FbPabmChHcBMjPst3dPxmug2dHAtkLwBy43JVXZuuN8f6SiI5XxfeCILvs/vsnVpjFR3WdVy5ekcDeS8Bpj0QmkUzmepua6p2XeJdEJA0NbdVCteeS0DXEOFGBFxS4j1WebG9vbduV1uhAF0idp4TLSfEOAK+JRP+H+cFnRmNnGvtbxp0xkT3vJgKdK9AfdLQ137+33ve9Bkw3bRdd1FpVVzPueoX+EaCLIgnv6up6qnN39oq9n/LKFSoSqEhgTyXQ0FC6HsDVqvqYKh4Mgs4Nw2GHd8/7mDFj3kXEHwJwsirWAnQ/YH/b09PTtmTJZJf9tUPwdZk848dPO55IzlClXzP/YtVIA6arfJBIjJlN5P0FXEaXRl/p6PjDsyOBRyMCmG7CHDnEzCNmn05s/lKhWYH9fhD0rFy4cETKhO7pmqi0q0igIoGdSKChoTCDlK9RoqtUpZuV747UPlIorG8djmktfuZnzj4d8K4F9Gwo2hT6C1U8ms12Ny9Z8v1+wuLRJM3YemDOBJDPX1SbTmfmE+EGUn2iGETfvv/+mJ5yRGj8RgwwB7tOV12Vm2yUbyHiU6F0lxZLi9a2jazHq/IEVCRQkcCOJeC8zNWYXNtjc/ldaXpbtr766tJJhugmqJ7rMnAscFcYRn/YsOGl9uF5qhv56qv/+h0Mcx0TnauqbUS4X4r6AB5YuKEJo19YzWm9NTXVRxlKfFQhx4Ho9vb25gf2dgu+rZRHGjDj67tJq0oefg4zfZygHRrJj7Nh4YXFi0ewWl7lialIoCKB7SRw7VX5MwH+qECXWehDnZ1PtA5nK+psfhPr3vUOYv4TMJ2uosuhuDtC+NxwzWsNuMdgwYJZlKDrVPUcFv5xbzF732jGasdVHv2p45O+uYLBV6viBY3kO033f2ntaGi3owKYQ9rmggW5KSnybmSmuRb62wj6U6+rt7lp6YgwJFcel4oE3vYScCDUPnciLV16ruOV3O22suHy/DTyzE3EuByg50Sjn5Rs7sX775/oSEF2297ZGCfUTXkfE/4ERDMh+htRaaJi+HLTQ1/vHi4INVxeOAJh0FdOm3ImMzYHTDi6BpnkGQS6AYSMAj9p72xePNJa5Zb9Gk3AjO8TB7rXnnGKx/7NRDpDrP4iCuWBzsLGTaM5sHKEXzm3IoEDVQJXX1482iMZn0e0euHCOCtlt6DnuB8ariy8j8G3xFkzIk0l6H1vvrliw/C22IArC5EwtRcawo0AOQ7QRwh0j3R1r2laOuKVMYctfvcC6Zt3flVVIn2CMd6HSDFbIL8IEd5x7717XzVydx0ZdcAc6oB7c00cM3UeQz8YV/uztsmK/Lo9395dAc7dTVPZf4/ZhoarlZR99UqDvZDAQF3x4dYTunZB4YMg+mh/4PiisKT3mEUL1w/XJrhgQd+kFPkfIeCPiLAigvyI+grPND38rf6wv+E5Y1zoUZoSf8SGG0TEEUn9PCzYn/38oarWYYL3XsjqraZDQJnxq4/0GVcJdC6BnxEN/h2/WLRyuDLZ287sM8Ac2qY3XNwzlpKJ+Qy6CkR9Imhiiv5g2zu7mpYdfsCWAd1bQe+79o28YMGtE9NKR0g291LF/LHvJD+cOzXMy04k3zteRdc0PfAv/d7bXQNXw9y2aq6ru54UNyvJ05HQ93n16pebVg434LuRr1nwN6507adIcYSq/kyAe7F6zbrhXwP4wBX5wwFzvRJOk8h+FQ88sHxfgNQQUFYnqqczsABEc1X1TYb8eNX6FY8PV2MeztwM55x9DZhDfaIrL8pO9BPeFUx8pSp6nVctX4yWaqqnezixYMMZ3KF4zoILc1PTKe+j/fJ8h1X5q6aF6dfKkAM1nPVmyp3ftGz3hAllXPdteGojz517Q2JiW17KAZ5r5+feSeR/QaHPINTb7178pf752b2217CgeKEB/y0gfRD9VmfQ8/hwveBO+Fee3zs+UZX4EBFdr4o31OqPglzhifuWfrN3OPcfmsDLLusem3ltQ66cMe/J5Mc2yrEzM5yqPgpkrwDRe0H0hkLvyAZvPjacsKc9ue/u2uwvwNwMnNed31cvGe9qVrpYCUUSWhSF9jelXN+mXn/3yfq7G+Ch9HenjZiauisJ+Lio/cHGvsf/azge0iEZNVzcM46TqfNVtFigzkfKj6FtdGXC+49GZ2cbjq1tf09PbLrIZmuoXE3FAVAylXiPAPm2XMtvh2tWcjb9+pp3X8GgWwFZFiq+xw/cv3Y42lrDvNJs9uFSkQ9TxY9KpdJD9y75Wj+Z9+4Bd0jQDrCZvL9QpWNcqqAl3Nfeu+z1ctbJaE6a83p73qSaNHnHQulSQ+Zsha4T0bva+loeHa6cR6uP+xswt9I4EwnvEla+XKGZfn/RUiV+tE/zr4m05/fXG2W0BD/S13Vv5GPq57xXDf0dqT4evbb282VqAXTdpcWL1eDPSPBYR9j9/TJzbqnhgsLhnOQqyfW8Wa4pwAFJInF80phsVM5cN8xekSiNrU+Gtd1BOe2c/OOYRZ56AjNYNnW+WI5J6MqLsvXJZOJTUD1eVG/TBxf+ZjigNzTvH7iseBkx/406/kel78qDv3h1OO3dlt5j71PKfCkUPw9U7zQP3v/GcNpufjFe0DmGUulrmM2NEF2jii/e/eAXXykHeEd2/TZyw1kfSdracXUJz7wTRFeAdDqIV1mxd/TZ9U+WO7cj27+3rnagAObmHrkA1AmJunMguEqBacT8KiJZJNa+kM/ns8nf/SpfzuIYLcEdWNdt5IZLb53js//X6op2BdFnfvrLnZcK3VHfGy7oHOMl058G+Kj+0rDf+OmiqqfKGeOC97TXVI2t/TgpTQbJ9+58ILWqnPbXXVQ6Tjw5W1Vfumdx5vfD1VCvvST3TrB5r0KfumdR+jfl3NMRM4yh6luIMVNtdNtPF1c9U077hktLJxrCZwAtWYt/bfqfVD/oDP+47tLihSD8A4jWRBJ+vT3/5EvD0fScA3VK1eRric2fiMoLVqJ/69OWl8oFlQ9cmjtdybwjBB7++YMpZ7rZp7sC97LLz5hWlbGpevb43QS9AKCpRPqryIb3t+effHE48hi+xPf+zAMOMIeG5DSmo+tPOoGh80B6jrNzgrBMonCJkDT3cVtuZywpey+Wg+oKsWbn+/xJkJ5mrb317oeqni5zBHTdvMK5IP5Thf6uNd9ye7lbn4aLi7N8E4PHpny++LX7lo7tj9kb/vGBSwrnk+GPQuWRuxalfzTch/cDFxfeC8MfA/Rxu+j+75f7MnWgpaCPAPpYj775wzJBh66/rHiRKP6CiJ6MOtu+Uo6W6qRz3SWFs/tLcf4TEW2MNPyXckDimksL7zNEn1NXdw74Zrfmfr948XhHfLNPgW/4sww4J07PRe9LjbfV1TblnejBmeL0nVDqFOjDYWTv/flDX9m4/7TdXY/mgAXMt7rdyFdd/NeTkoYvIeULAJ0E4udF9DFAnumhfGdbW1zzODqQF0o5i6qcc98/t6sunUpfC6abGPKtOxal7yynvTvXaVpjUf0pBWaRjb5155Kq5eVe47p5hfMI/BGBPPLTxel/35P2YL5ZRR796eL0j4c7l9efX5ypSdwC1Z5Igm82PVQeKayzRaaS/mcIPEUtvnrXQ8kV5fR9/mnNmZr6cTcDuLS/ulBj+FD53uPrL86foYb/CaAukejrq9tfena4NlWnmcPD3xN0hoC+m+/pXXj/7w4strA4A+issxJRZkwm4ZnpZMwZrv54XN+dsIYEC4tB8Pt7H6l1hL4HLNi7dXEQAOZbyzfWOscdfzJ53qUEPVMVEUC/B+S3UaCvlUq53kPJUeRscHVy+LnM/FkXWByuW/0vZdotY+E6LYeI/0JVl0c97d8uV0ty6+i6S4ofA+hsK/KDe5aUtzWO+zCvcB6UXehMWYAZm3DM2E8DdBgi+eqdvyzPFOD6fv3FpQVg3Cgii1ZtWvGT4YLV0Mq86uLclLTx/sqqVnOEr9/5y1R/udbyHvzrLwpOUyOfh6JkSb6WxYanhqvtXje3dwLSyT9X1awtRnc1La12MZL7+RiwS/rjalIamakgcxIRz1VgBhHyUDysEv6qm1tXD3ec+3lA8e0PKsDcQmDUcEFnrU+Z94AxD4TZUGoH8IyofSwgfc2Uclm0tQd7AiAHwsTsvg+N/IF5f30yi/kHgHpCFG8tV7ty93AvoeMmnnirKE4E2dvu+p/Mst3fe+sznHfd08StzFStgX7tzkfTb5R7jesuKpxHzDdLmYAZg+3FhZtAfB5EfnzXkvSj5d77AxfmprIxtwKogsWegC4aLuw7xTf+dx2xrpSC/7hrafmlqK+7ODuHyP88gZIC+dKr7SueGC54u3l0496fO62BNM53+lOjsWmkUxPUyOlE/D6Aj4FKRESPW5GHO7Xn6TIdiuVO6aidf7AC5maBxKQBiTMP94HzQHw2VI9gUJslfQKiz5SK8qpJlvJobik0rWzq37YPPwRj1KQ+Ahd2ThqfM9cy43IbRv9w1yPVz+/JZT84N3+YpsyXVPBSLtf7rT3Zzl13ft9J5HufUGB1h3R/d08ehs2A6bbkS4a/JXdj/sCFhfOZ+QaF/Oquh+K2ZR/XXVy6mqDXQfXeO5d8+a49WCd0/cXFW0D4Iyh9NextW7IHmjquPb94jPHob6Hyu3xQ/Fm5tuCyB76XDdzzV5M9NlFdU52JTLI+YeyJynyGIwlWRgiLl4SwhErBE3ctHXZq5172avSaH/SAuaVonNfNn3bUdKieRcTnEulkJSpB8LTzolrB6gBBh5fvyWPZsqBcB8HoTUP5V45fFPyuSb7hzB5sQ+MbOq3k2LoTziGPblaV79+5B1vpWMO7qDifla4B2QfuWJK5u/zRuGsUzjPgmxX06B1LEsO2Ybp7fejc4rHi49OstL6ns+NrC5eXz8F6/XmF6WzoVjWsVqKv/HRJ5s1yxzHvXR214+tqvqSQaVFk/1keefDpPVljzi5ts4Vg4fKpLvPtALPpNXLD7Aavr2ZyKp1IVSXSdIRHdKIIvxusR7oS8oC8qIJfhmH0NJYuat8TGZQr+311/tsKMLcUWpwpUDXnMD/Jrlj82fG2XVAEYb1CnxCV52ykLYlCKd/Z0VlavPqOcA+0in01T6NyH+fwqOLEhwSUot6+793xxPj+rI/yDhficpg/5c+VaI4i+u6eOIwGQHcQMEUevePh8jRMN460538KQrUh6TeblpSV3RQP2G0n/QvnX89EV4jQnXc+/MX79mQ9xODt0f8h6KNaKN59528P/oqqQ1pkKlGV4nRyrGdwVH+Z7Xcz+GQF6kGaVaVlavX3sMEzdy39137nzdtjJ7ft0/C2BcxtBkoN781OSCb9MxR6JpTmEGM8QK+p4mWovhgBr0oQdpWkWEx2tZWwcoV9O70ZdwSDsROtZs40A43uWJpZXx5UDpzdMLdvctLz/gaKIIfgK/c+Ul6d56F7fvDCwvkgvhkij5QLmO6BnmbO+lPH4yhib7/rkfLtsK4fbjvsET5FrO19QfEbe7odbphbnAUb9uCxxZ0H4Rqi0057ypuKqX5NOpMME4mMAaZ7hmYr6ESneJBSjavJA9KnI8hvOtH74p6YYfZkve3vNocKYG4pZ/rwSa2ZoK7qiITvvVtB71TgMHIGf9B6In1aBC+L0GteEHSKDYpBtrV4KADonizGhvdmJyZ8c7YSdYcta3+3p062688rvI+JPqzQX9/xSPqOcreiHzy/eDkTLlPggf9+OPXgnoxl3qxVyfFHTJ0jIC/b0/3inmzt9+S++7eNy4k/h50d0mmQxverKEGO6OIYcrsGxckgpEjRo4qXlOgxiDz7Ss+K5uE6pPbv+Eb27ociYG4lwThG7L3zxiV9c/RgWY13EetUUQ1JuROKF0X1BaLozSigditRsRjkitmaV4IKfdrILUZnt6smM6mk3LMnYTENZ/WM85KpeveS+6/f17SNXM/ebldq5HmzPuiPGz8uGSQSSU74Y30X2ww6XgmnEjCTgEy8/kEvAfp7iH2xpPl+HszdV5Z8u0nrUN2SlzGPjXzd3E+PI/Zns9DxIJwE6Gxi8lTRSsB696YFyYsC2lDoC/syFIYb0r0B8Hp0oKVylTHwyqlvMwnEysDsOSbljfdtbSoh6qeN0fFk/GMIcpISH03QyQoaR6StRHghEn1eInnR786++l/PT3aldyvHFhI45DXM3a8GF4D7V3Vp35subM4gwhwA06CoJxc2IVgjoNUM+7oSXkdALdCo6Lbyb4Hor+XtagTfvfwqZ+wDCVAD7uG+Wad6EzI1XrEqnUx6XlJJJ5DxjgBhBgFHQXEMMU0VkTxALQSsUZJnofx0SXs3VDTI3c9UBTB3L6PttPKGuW1VSdROZuBIKE5V6AkgqodqAiABk9sSvqJiV4nSBgNuj0phZ8Q2LHEQbuFU6gfSAy1spHyBVFrsMwn0P6+N/U6Zy81mpwwZj61fa4yMN6yTlMxMJhyrwNGO9YtBkSpKSvoaKT2jIs+TpfXFrrWte2pv3mejPQBvVAHMkZkUciDqhenpvu/PgOAoddt491YnzhC0T4E+ENoEshowq00UvWk901NC1BciLPoII5RKdm2wMVq+/IH+gldvz7CMkRH32/4qW2uMfsJLG89T36+CH9US/MmqOkOZjiaNbY51AFUrkADUvaxfUsHLzG73g9dLbeWxq7/tpbsXA6wA5l4IbzdNY/ZynybUG0PHAXD20OlM5Bb7FAVqCegG0QaotoKkRSxaiKg5isKNyqbXsoS+2ijsDML2fC5Ke5FWr34masLK/mDmCqCO3tSN+pVjQFx72kyu7xnDbhstad8Y9f1Chv2UmDRE68mYqQKdTKrTiHiKQqYSeKrrnapsYuYWq9pM0FUKvFzK21XIvdFZ0RxHb/4qgDl6st3hlV02Urr68JqIdJznJ6eDcBwIs0hpqpJWAUgDlIFqiaDN6kKdgGYl3ahKHVDptiF3KqLeKKHiALVPwygpxaivvSgOUN2Nm3BNZbu/j+d28HbxtrkBs6kdEwlHHulNzFR5YcL30sZ48NgombTn2TFszDgRHcfMk9xLlIinkephCppABIFKHkQ5VeoBxPFVrlKLV2GwwUqpO/ztkt6DMM5z/8zKCN21ApgjJMi9v0wjX3/2X45BSBM8408AYzIROxvpkQCOAHQiiKCqEQGRggKQ9jJRq7XaSgYtsNIGpW5hyUto85L0i35kSxSpjRIiYUEkFQbRm70FOzGTl8HY0gqwDm/yYiCci3N44ux6LqbHeqmCx4kawwF7nhcQa8okfMNJRFGVgNOGzRglmUDKk5R0kgFPFdJ6Uk0ryCMiD47wGVIg4mZVfQOK14XsG2rRxh5vKm7KtjetrITzDG+KRv+sCmCOvoxH5A4uqHrixGkTAK0Hm8msjheUJgpQT7HDSSaDeDxB0wNaifYRoaCKnPuZVHsUuslxLhJJh424iyBdIaJeIr8g5Lb/EkUlFae5VhVEwqRIkLWS8kSLVaG0t0TqzAJtY3ocyGLm8rXx56A2OzTOAyz3eYCRy22B3afbBrtPtxV2n9UTU1wMDNWFTD01hpNFw36a2QuY1SOjJTYRk5f0OSEI00reWCKqI9ZxEBoP1fFMNF5AtURaC0UGRFVQrQbgKeKXWhtA7aLayopWIW0TpXaVqDXwtPUgzQgakXV9sF2kApgH24xt3984lW1m4YhkujqVVPi15OlkFUwh5slELigZ9VBUE1FGgTSRZhScJtG0MjyAsoC6PPI+qPukrCr6iDSvSs5ZlYPVIhktqGpJ1RSN0RJUi5HVwBgpaeiHkaclTzWSQGMgtd7Apzuiwd+l/bd+VzCOKxzwBz+3GloPgDEDvwktbV6n6S2+F0IaKLpWDTgNz3010cAnJ4iVybCSLxImDFNSlBPClGSiJCxSRJIkUEaZ0rFcRKuFUEWgaqhWETsQRA1Ua0Tj7wkoQrhifYo8oEWA8kqUB2kPiTYL0AKhVmXbGga00XphziU6NKM5PBQzYw7+x2vrEVQA8+02ozsfDzXMXuH7ZlqV1PppT0yGJcowOKOe1qvlscw0XkjrWMl5XesU6iCrhpymRErkbALuUCVXFYHBEIj77QBwKRNIlJQF0EDIZUtRAMD9C4kpUnHmBOmPAoDjR7RxVJWqVbAzNexYO2X4UDWOvlUVBlBPAWPAToNz3x0X5MA/0gQRJ0hhRMWA2HXa2QPjHg90X9xg1P2sIgOg7myGREUIskTU7RjcBdrFiEsndClJJyl1wUougi147OcLCAt97W25xauPduM70DTrQ2dl78ORVgBzHwr7YL2Vc1RVJaZm4PspGJMKlTMeojQzJUGUsiJJo15C2SbczyRIClGSFEkHYENgJrEySb4aGBXxCOw5sFUoAeyrCg+ApgM2AZjRX/bB/VUJFKqq+xRlRCSISGHVqEseCIk4sLBD30ux9seubLMGIhoYNkWnHYtoiT0pQKUI9YuwthhyKb/hiefzS3Fu7DCrHBUJ7EwCFcCsrI39LQG3Bl2Y1GBN8x11Z3Od88Fz93eXK/c/VCVQAcxDdeYr465IoCKBsiVQAcyyRVZpUJFARQKHqgQqgHmoznxl3BUJVCRQtgQqgFm2yCoNKhKoSOBQlUAFMA/Vma+MuyKBigTKlkAFMMsWWaVBRQIVCRyqEvj/hQ3qJJfeffgAAAAASUVORK5CYII=",Eoe=Je(37426),boe=Je(19150),Moe=Je(55303),Boe=Je(92691),Toe=Je(99755),Doe=Je(46016),Foe="data:image/png;base64,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",Loe=Je(70453),Noe=Je.p+"static/bg.a1e8d200.png",vT={ChangeBut:"ChangeBut___VXZuF"},Ioe=Je(54650),Roe=Object.defineProperty,Ooe=Object.defineProperties,koe=Object.getOwnPropertyDescriptors,Ek=Object.getOwnPropertySymbols,zoe=Object.prototype.hasOwnProperty,Hoe=Object.prototype.propertyIsEnumerable,bk=(ee,y,E)=>y in ee?Roe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Mk=(ee,y)=>{for(var E in y||(y={}))zoe.call(y,E)&&bk(ee,E,y[E]);if(Ek)for(var E of Ek(y))Hoe.call(y,E)&&bk(ee,E,y[E]);return ee},Bk=(ee,y)=>Ooe(ee,koe(y)),VL=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Uoe=({pathsDetail:ee,dispatch:y})=>{var E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re,Le,Qe,Xe,Ze,it;const{detail:et,actionTabs:ht}=ee,lt=(0,xt.useParams)(),[ot]=(0,xt.useSearchParams)(),rt=(0,Fe.useRef)(null),[Mt,Xt]=(0,Fe.useState)({}),[,cn,Cn,En]=(0,ln.U)(wt.Eu,{subject_id:lt==null?void 0:lt.pathId}),[Zn,ti]=(0,Fe.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),bn=[{title:"\u80FD\u529B\u76EE\u6807\u638C\u63E1\u6570",value:(E=En==null?void 0:En.data)==null?void 0:E.total_grasp_count,unit:"\u4E2A",img:Doe,bg:"rgba(18, 42, 159, .4)",ProgressTitle:"\u5B8C\u6210\u6574\u4F53\u80FD\u529B\u7387",percent:((z=En==null?void 0:En.data)==null?void 0:z.total_grasp_rate)||0,trailColor:"rgba(22, 115, 255, .1)",strokeColor:"#1673FF"},{title:"\u5DF2\u638C\u63E1\u5B50\u80FD\u529B\u6570",value:(ne=En==null?void 0:En.data)==null?void 0:ne.children_ability_goal_grasp_count,unit:"\u4E2A",img:Foe,bg:"rgba(0, 87, 76, .4)",ProgressTitle:"\u5B8C\u6210\u5B50\u80FD\u529B\u7387",percent:((ie=En==null?void 0:En.data)==null?void 0:ie.children_ability_goal_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8D44\u6E90\u5B8C\u6210\u6570",value:(se=En==null?void 0:En.data)==null?void 0:se.resource_complete_count,unit:"\u4E2A",img:Boe,bg:"rgba(108, 76, 0, .4)",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((le=En==null?void 0:En.data)==null?void 0:le.resource_complete_rate)||0,trailColor:"rgba(209, 157, 83, .1)",strokeColor:"#D19D53"},{title:"\u5DF2\u7ECF\u638C\u63E1\u77E5\u8BC6\u70B9",value:(de=En==null?void 0:En.data)==null?void 0:de.knowledge_grasp_count,unit:"\u4E2A",img:Toe,bg:"rgba(0, 28, 106, .4)",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((ge=En==null?void 0:En.data)==null?void 0:ge.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#1673FF"}],rn=(...Dn)=>VL(void 0,[...Dn],function*(Wn={}){yield Cn(Bk(Mk({},Wn),{subject_id:lt==null?void 0:lt.pathId}))}),li=()=>VL(void 0,null,function*(){y({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:ot.get("type")==="classrooms"?"course":"subject",graphable_id:lt.pathId}})});return(0,Fe.useEffect)(()=>{var Dn,Wn;if((En==null?void 0:En.status)==0&&(et!=null&&et.can_managed)){const hi=(Wn=Object==null?void 0:Object.entries(((Dn=En==null?void 0:En.data)==null?void 0:Dn.study_grasp_hash)||{}))==null?void 0:Wn.map(([On,dn],mi)=>({name:On,value:dn,itemStyle:Zn[mi].itemStyle}));ti(hi)}},[et==null?void 0:et.can_managed,En]),(0,Fe.useEffect)(()=>{Mt!=null&&Mt.id&&rn({id:Mt==null?void 0:Mt.id})},[Mt]),(0,Fe.useEffect)(()=>{var Dn,Wn,hi;if(((Dn=et==null?void 0:et.ability_goals)==null?void 0:Dn.length)>0){const On=(Wn=et==null?void 0:et.ability_goals)==null?void 0:Wn.find(dn=>dn==null?void 0:dn.is_choice);Xt(Bk(Mk({},On),{knowledge_graph_route_id:(hi=En==null?void 0:En.data)==null?void 0:hi.knowledge_graph_route_id})),!(On!=null&&On.id)&&y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},[et==null?void 0:et.ability_goals,(ve=En==null?void 0:En.data)==null?void 0:ve.knowledge_graph_route_id]),Fe.createElement(an.Z,{spinning:cn},((xe=et==null?void 0:et.ability_goals)==null?void 0:xe.length)>0?Fe.createElement("div",{className:"flex w-full c-white overflow_hidden",style:{padding:"20rem 40rem",fontSize:"16rem"}},Fe.createElement("div",{className:" minW-0 flex flex-col",style:{flex:"1.5",gap:"10rem"}},Fe.createElement("div",{className:" flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},Fe.createElement("div",{className:"flex item-center gap-10px-rem"},Fe.createElement("div",{className:"flex item-center rounded-full text-14px-rem mr-auto",style:{background:"#101C39",padding:"0 0 0 20rem",gap:"10rem"}},Fe.createElement("div",{className:"c-grey-eee text-nowrap "},"\u5F53\u524D\u8DEF\u5F84"),Fe.createElement(ft.Z,{title:(Mt==null?void 0:Mt.name)||"",placement:"topLeft"},Fe.createElement("div",{className:"multi_ellipsis1"},(Mt==null?void 0:Mt.name)||"")),Fe.createElement("div",{className:`current flex item-center text-nowrap ${vT.ChangeBut}`,onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},Fe.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),(et==null?void 0:et.can_managed)&&Fe.createElement("div",{className:"text-12px-rem c-white flex item-center gap-10px-rem"},Fe.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},Fe.createElement("span",{className:"iconfont icon-tianjiatixing",style:{fontSize:"12rem"}})," \u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"),Fe.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"}}})}},Fe.createElement("span",{className:"iconfont icon-bianji13",style:{fontSize:"12rem"}})," \u7F16\u8F91\u80FD\u529B\u56FE\u8C31"),Fe.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{jt.default.confirm({title:"\u5220\u9664\u80FD\u529B\u56FE\u8C31",icon:null,centered:!0,width:"500rem",content:Fe.createElement(Fe.Fragment,null,Fe.createElement("div",{className:"text-16px-rem c-black ",style:{marginBottom:"10rem"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u9700\u8981\u5220\u9664\u300A",Mt==null?void 0:Mt.name,"\u300B\u80FD\u529B\u56FE\u8C31\uFF1F\u5220\u9664\u540E\uFF0C\u5C06\u65E0\u6CD5\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),Fe.createElement(Ioe.Z,{ref:Dn=>rt.current=Dn})),okText:"\u786E\u8BA4\u5220\u9664",onOk:()=>VL(void 0,null,function*(){if(rt.current.onVerify())return Promise.reject();const Dn=yield(0,wt.pf)({id:Mt==null?void 0:Mt.id,subject_id:lt==null?void 0:lt.pathId});(Dn==null?void 0:Dn.status)===0&&(kt.ZP.success("\u5220\u9664\u6210\u529F"),li())})})}},Fe.createElement("span",{className:"iconfont icon-shanchu17",style:{fontSize:"12rem"}})," \u5220\u9664\u80FD\u529B\u56FE\u8C31"))),Fe.createElement("div",{className:"flex",style:{marginTop:"30rem",gap:"10rem"}},Fe.createElement("div",{className:"minW-0 flex",style:{flex:"1.5"}},[{title:"\u4E3B\u80FD\u529B\uFF08\u4E2A\uFF09",value:(Se=En==null?void 0:En.data)==null?void 0:Se.total_count,img:Poe},{title:"\u5B50\u80FD\u529B\uFF08\u4E2A\uFF09",value:(Me=En==null?void 0:En.data)==null?void 0:Me.total_children_count,img:Coe}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"flex-1 minW-0 flex flex-col item-center",style:{gap:"10rem"}},Fe.createElement("div",{style:{fontSize:"30rem",textShadow:"0 1rem 10rem #0096FC"}},Dn==null?void 0:Dn.value),Fe.createElement("div",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.title),Fe.createElement("img",{src:Dn==null?void 0:Dn.img,width:"166rem",height:"160rem",style:{width:"166rem",height:"160rem",marginTop:"-15rem"}})))),Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col justify-between",style:{gap:"70rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(De=En==null?void 0:En.data)==null?void 0:De.total_knowledge_count,unit:"\u4E2A",percent:(Oe=En==null?void 0:En.data)==null?void 0:Oe.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(Re=En==null?void 0:En.data)==null?void 0:Re.total_resource_count,unit:"\u4E2A",percent:(Le=En==null?void 0:En.data)==null?void 0:Le.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570"}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"flex-1 minW-0 flex relative",style:{gap:"20rem"}},Fe.createElement("div",{className:"flex flex-col justify-between",style:{marginLeft:"40rem"}},Fe.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},Dn==null?void 0:Dn.title),Fe.createElement("div",{style:{fontSize:"26rem",textShadow:(Dn==null?void 0:Dn.value)==0?"":"0 1rem 10rem #0096FC",opacity:(Dn==null?void 0:Dn.value)==0?.9:1}},Dn==null?void 0:Dn.value,Fe.createElement("span",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.unit))),Fe.createElement(Ck.Z,{type:"dashboard",percent:Dn==null?void 0:Dn.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:"30rem",top:"15rem"},trailColor:"#1E2E72",strokeColor:{"0%":"#0E5FFF","50%":"#2DE1FD","100%":"#2DE1FD"},strokeLinecap:"round",format:hi=>Fe.createElement("div",{className:"c-white",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},hi,"%",Fe.createElement("br",null),Fe.createElement("br",null),Dn==null?void 0:Dn.percenttitle)})))))),Fe.createElement("div",{className:"flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},Fe.createElement("div",{style:{marginBottom:"20rem"}},"\u4E3B\u80FD\u529B\u5B66\u4E60\u60C5\u51B5"),et!=null&&et.can_managed?Fe.createElement("div",{className:"flex",style:{gap:"10rem"}},Fe.createElement("div",{className:"minW-0 flex flex-col flex-1",style:{gap:"13rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(Qe=En==null?void 0:En.data)==null?void 0:Qe.study_count,unit:"",img:Eoe,bg:"rgba(68, 95, 232, 0.4)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(Xe=En==null?void 0:En.data)==null?void 0:Xe.complete_rate,unit:"%",img:boe,bg:"rgba(182, 129, 0, .4)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(Ze=En==null?void 0:En.data)==null?void 0:Ze.grasp_rate,unit:"%",img:Moe,bg:"rgba(6, 145, 127, .4)"}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:Dn==null?void 0:Dn.bg}},Fe.createElement("div",{style:{fontSize:"14rem",color:"rgba(255,255,255,.8)"}},Dn==null?void 0:Dn.title),Fe.createElement("div",{style:{fontSize:"26rem"}},Dn==null?void 0:Dn.value,Fe.createElement("span",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.unit)),Fe.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:Dn==null?void 0:Dn.img})))),Fe.createElement("div",{className:"flex-2 minW-0"},Fe.createElement(Soe.Z,{dataSource:Zn,legend:{top:null,icon:"roundRect",bottom:10,left:"center",itemWidth:14,itemGap:15,textStyle:{color:"#fff"},formatter:Dn=>Dn}}))):Fe.createElement("div",{style:{display:"grid",gap:"20rem",gridTemplateColumns:"1fr 1fr"}},bn==null?void 0:bn.map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"relative c-white",style:{padding:"22rem 30rem",background:Dn==null?void 0:Dn.bg,borderRadius:"6rem"}},Fe.createElement("img",{src:Dn==null?void 0:Dn.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"22rem",top:"22rem"}}),Fe.createElement("div",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.title),Fe.createElement("div",{className:" blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Dn==null?void 0:Dn.value,Fe.createElement("span",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.unit)),Fe.createElement("div",{style:{fontSize:"12rem",marginTop:"26rem"}},Fe.createElement("div",null,Dn==null?void 0:Dn.ProgressTitle,Dn==null?void 0:Dn.percent,"%"),Fe.createElement(Ck.Z,{percent:Dn==null?void 0:Dn.percent,showInfo:!1,trailColor:Dn==null?void 0:Dn.trailColor,strokeColor:Dn==null?void 0:Dn.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))))),Fe.createElement("div",{className:"flex-2 minW-0 flex item-center justify-center relative"},(et==null?void 0:et.can_managed)&&Fe.createElement("div",{className:"absolute flex item-center gap-16px-rem",style:{top:0,right:0}},ot.get("type")==="classrooms"&&Fe.createElement("div",{className:`current flex item-center ${vT.ChangeBut}`,onClick:()=>{xt.history.push(`/knowledgegraph/${lt==null?void 0:lt.pathId}/statistics/abilitymap/${Mt==null?void 0:Mt.id}?type=classrooms&tabs=5`)}},Fe.createElement("span",{style:{fontSize:"14rem"}},"\u6570\u636E\u7EDF\u8BA1")),Fe.createElement("div",{className:`current flex item-center ${vT.ChangeBut}`,onClick:()=>{(0,bt.xg)(`/knowledgegraph/${lt.pathId}/abilityMap/edit/${Mt==null?void 0:Mt.id}${window.location.search}`)}},Fe.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u7F16\u8F91\u80FD\u529B\u76EE\u6807"),ot.get("type")!=="classrooms"&&Fe.createElement("div",{className:`current flex item-center ${vT.ChangeBut}`,onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"goal"}}}})}},Fe.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u53D1\u9001\u81F3\u8BFE\u5802")),Fe.createElement("img",{src:Noe,className:"absolute",width:"1532rem",height:"100%",style:{left:"50%",pointerEvents:"none",transform:"translateX(-61%)"}}),Fe.createElement(Loe.Z,{DataProps:((it=En==null?void 0:En.data)==null?void 0:it.ability_goals)||[],className:"c-white",style:{backgroundSize:"auto 100%",height:"710rem",width:"710rem"}}))):Fe.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},Fe.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},(et==null?void 0:et.can_managed)&&Fe.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},"\u521B\u5EFA\u80FD\u529B\u56FE\u8C31")),Fe.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F "),Fe.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u80FD\u529B\u56FE\u8C31\u901A\u8FC7\u6574\u5408\u8BFE\u7A0B\u57F9\u517B\u76EE\u6807\u4E0E\u77E5\u8BC6\u70B9\uFF0C\u6784\u5EFA\u4EE5\u80FD\u529B\u57F9\u517B\u4E3A\u6838\u5FC3\u7684\u6210\u957F\u5730\u56FE\u3002\u5B83\u6E05\u6670\u6807\u6CE8\u6BCF\u4E00\u95E8\u8BFE\u7A0B\u9700\u638C\u63E1\u7684\u6838\u5FC3\u80FD\u529B\uFF0C\u5C06\u62BD\u8C61\u7684\u77E5\u8BC6\u8F6C\u5316\u4E3A\u53EF\u91CF\u5316\u3001\u53EF\u8FFD\u8E2A\u7684\u80FD\u529B\u5750\u6807\uFF0C\u8BA9\u5B66\u4E60\u6709\u65B9\u5411\uFF0C\u6210\u957F\u6709\u8F68\u8FF9\u3002",Fe.createElement("img",{className:"absolute",src:Je(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),Fe.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Fe.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(23852)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),Fe.createElement("div",{className:"w-full flex justify-between gap-32px-rem relative"},Fe.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",left:"200rem",top:"80rem"},src:Je(79989)}),Fe.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",right:"210rem",top:"80rem"},src:Je(73486)}),[{title:"\u591A\u7EF4\u80FD\u529B\u56FE\u8C31",desc:"\u4E00\u4E2A\u8BFE\u7A0B\u4E0B\u652F\u6301\u6784\u5EFA\u591A\u4E2A\u80FD\u529B\u56FE\u8C31\uFF0C\u5B66\u751F\u53EF\u4EE5\u6839\u636E\u4E2A\u4EBA\u4E13\u4E1A\u3001\u5B66\u4E60\u60C5\u51B5\u7B49\u56E0\u7D20\uFF0C\u9009\u62E9\u4E0D\u540C\u7684\u80FD\u529B\u56FE\u8C31\u8FDB\u884C\u5B66\u4E60\u3002",img:Je(4212)},{title:"\u6570\u636E\u5173\u8054",desc:"\u652F\u6301\u5C06\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u3001\u77E5\u8BC6\u56FE\u8C31\u3001\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u6C47\u603B\u7EDF\u8BA1\uFF0C\u5206\u6790\u51FA\u5B66\u751F\u5728\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u638C\u63E1\u60C5\u51B5\u3002",img:Je(50356)},{title:"\u80FD\u529B\u5B66\u4E60\u8DEF\u5F84",desc:"\u652F\u6301\u6839\u636E\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u4E3B\u80FD\u529B\u548C\u5B50\u80FD\u529B\u751F\u6210\u5BF9\u5E94\u5B66\u4E60\u8DEF\u5F84\uFF0C\u4FBF\u4E8E\u5B66\u751F\u6309\u7167\u5BF9\u7528\u8DEF\u5F84\u8FDB\u884C\u5B66\u4E60\u3002",img:Je(40362)}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:`flex flex-col item-center ${Wn!=1?"mt-64px-rem":""}`},Fe.createElement("img",{src:Dn==null?void 0:Dn.img,style:{width:"127rem",height:"119rem"}}),Fe.createElement("div",{className:"px-20px-rem pb-20px-rem",style:{background:`url(${Je(14760)}) 0 0 / 100% 100% no-repeat`}},Dn==null?void 0:Dn.title),Fe.createElement("div",{className:"mt-6px-rem",style:{width:"20rem",height:"10rem",background:"#7A99DD",clipPath:"polygon(100% 0, 0 0, 50% 100%)",WebkitClipPath:"polygon(100% 0, 0 0, 50% 100%)"}}),Fe.createElement("div",{className:"px-20px-rem py-20px-rem mt-6px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",color:"rgba(255,255,255,0.8)",width:"236rem",height:"153rem"}},Dn==null?void 0:Dn.desc))))),Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Fe.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:Fe.createElement("div",{className:"flex flex-col gap-4px-rem"},Fe.createElement("div",{className:"text-16px-rem"},"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA"),Fe.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u80FD\u529B\u56FE\u8C31\u57FA\u4E8E\u5B66\u4E60\u8DEF\u5F84\u548C\u77E5\u8BC6\u56FE\u8C31\u521B\u5EFA\uFF0C\u5728\u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u524D\uFF0C\u9700\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u548C\u5B66\u4E60\u8DEF\u5F84\u3002"))},{desc:Fe.createElement("div",{className:"flex flex-col gap-4px-rem"},Fe.createElement("div",{className:"text-16px-rem"},"\u5B50\u80FD\u529B/\u4E3B\u80FD\u529B\u638C\u63E1\u5EA6\u8BA1\u7B97"),Fe.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},Fe.createElement("span",{className:"c-white"},"\u5B50\u80FD\u529B\uFF1A"),"\u6839\u636E\u5F53\u524D\u5173\u8054\u7684\u8D44\u6E90\u638C\u63E1\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u8D44\u6E90\u638C\u63E1\u7387\u8FBE\u5230\u8BBE\u7F6E\u6570\u503C\u540E, \u8868\u793A\u638C\u63E1\u6539\u8BE5\u80FD\u529B\uFF1B",Fe.createElement("br",null),Fe.createElement("span",{className:"c-white"},"\u4E3B\u80FD\u529B\uFF1A"),"\u6839\u636E\u8BE5\u4E3B\u80FD\u529B\u4E0B\u7684\u5B50\u80FD\u529B\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u5B50\u80FD\u529B\u638C\u63E1\u540E\uFF0C\u8868\u793A\u4E3B\u80FD\u529B\u638C\u63E1\u3002"))},{desc:Fe.createElement("div",{className:"flex flex-col gap-4px-rem"},Fe.createElement("div",{className:"text-16px-rem"},"\u4E3B\u80FD\u529B/\u5B50\u80FD\u529B\u6570\u91CF\u9650\u5236"),Fe.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u4E00\u4E2A\u80FD\u529B\u56FE\u8C31\u4E2D\u6700\u591A\u521B\u5EFA8\u4E2A\u4E3B\u80FD\u529B\uFF0C\u4E3B\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u5B50\u80FD\u529B\u6570\u91CF\uFF0C\u5B50\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u8D44\u6E90\u77E5\u8BC6\u70B9\u5173\u8054\u6570\u91CF\u3002"))}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"px-16px-rem py-22px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},Fe.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(Wn+1).toString().padStart(2,"0")),Fe.createElement("div",{className:"flex-1 minW-0"},Dn==null?void 0:Dn.desc))))))),(ht==null?void 0:ht.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31"&&Fe.createElement(Ug.E_,{type:"goal",open:(ht==null?void 0:ht.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31",title:"\u9009\u62E9\u80FD\u529B\u56FE\u8C31",currentSeleteData:Mt,onFinish:()=>{li()}}),((ht==null?void 0:ht.key)=="\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"||(ht==null?void 0:ht.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31")&&Fe.createElement(Ug.DZ,{currentSeleteData:Mt,onFinish:()=>{li()}}))};var Voe=(0,xt.connect)(({pathsDetail:ee})=>({pathsDetail:ee}))(Uoe),joe=Je(46339),Es=Je(59301),Goe=Object.defineProperty,yT=Object.getOwnPropertySymbols,Tk=Object.prototype.hasOwnProperty,Dk=Object.prototype.propertyIsEnumerable,Fk=(ee,y,E)=>y in ee?Goe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Xoe=(ee,y)=>{for(var E in y||(y={}))Tk.call(y,E)&&Fk(ee,E,y[E]);if(yT)for(var E of yT(y))Dk.call(y,E)&&Fk(ee,E,y[E]);return ee},Woe=(ee,y)=>{var E={};for(var z in ee)Tk.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&yT)for(var z of yT(ee))y.indexOf(z)<0&&Dk.call(ee,z)&&(E[z]=ee[z]);return E},Lk=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Qoe=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,activied:le,setactivied:de}=y,ge=Woe(y,["pathsDetail","user","globalSetting","loading","dispatch","activied","setactivied"]),ve,xe,Se,Me,De,Oe,Re,Le,Qe;const{detail:Xe,actionTabs:Ze}=E,it=(0,xt.useParams)(),[et]=(0,xt.useSearchParams)(),[ht,lt]=(0,Fe.useState)([]),[ot,rt]=(0,Fe.useState)(),[Mt,Xt]=(0,Fe.useState)(),[cn]=en.default.useForm(),[Cn,En]=(0,Fe.useState)(!1),[Zn,ti]=(0,Fe.useState)(!1),bn=(xe=(ve=Xe==null?void 0:Xe.route_nodes)==null?void 0:ve.find(Wn=>Wn==null?void 0:Wn.is_choice))==null?void 0:xe.id,rn=[{name:"\u8BFE\u7A0B\u4FE1\u606F",key:1,content:Es.createElement(Fi,null),isshow:et.get("type")!=="classrooms"},{name:"\u8BFE\u7A0B\u56FE\u8C31",key:3,content:((Me=(Se=E==null?void 0:E.detail)==null?void 0:Se.nodes)==null?void 0:Me.length)<=1?Es.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},Es.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},((De=E==null?void 0:E.detail)==null?void 0:De.can_managed)&&Es.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{ti(!0)}},"\u65B0\u5EFA\u56FE\u8C31"),((Oe=E==null?void 0:E.detail)==null?void 0:Oe.can_managed)&&et.get("type")!=="classrooms"&&Es.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem flex item-center gap-4px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>Lk(void 0,null,function*(){let Wn=yield(0,gn.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:it==null?void 0:it.pathId}});Wn.status===0&&kt.ZP.info(Wn==null?void 0:Wn.message)})},"\u751F\u6210\u56FE\u8C31",Es.createElement(ft.Z,{title:Es.createElement("span",{className:"c-black"},"\u6839\u636E\u65E7\u7248\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u6216\u8BFE\u7A0B\u7AE0\u8282\u53CA\u8D44\u6E90\u5185\u5BB9\u81EA\u52A8\u751F\u6210\u77E5\u8BC6\u56FE\u8C31"),color:"#fff"},Es.createElement(qs.Z,{style:{color:"#fff",marginLeft:5,marginTop:0},rev:void 0})))),Es.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F"),Es.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4E00\u5F20\u667A\u80FD\u5316\u7684\u77E5\u8BC6\u5BFC\u822A\u5730\u56FE\uFF0C\u901A\u8FC7AI\u6280\u672F\u5C06\u96F6\u6563\u77E5\u8BC6\u70B9\u4E32\u8054\u6210\u903B\u8F91\u7F51\u7EDC\uFF0C\u6E05\u6670\u5C55\u73B0\u5B66\u79D1\u6838\u5FC3\u6982\u5FF5\u3001\u80FD\u529B\u5C42\u7EA7\u4E0E\u5173\u8054\u8DEF\u5F84\u3002\u5B83\u5982\u540C\u4E00\u4F4D\u201C\u8D85\u7EA7\u5BFC\u5E08\u201D\uFF0C\u4E3A\u4F60\u6307\u660E\u5B66\u4EC0\u4E48\u3001\u600E\u4E48\u5B66\u3001\u5B66\u5230\u54EA\u3002",Es.createElement("img",{className:"absolute",src:Je(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),Es.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},Es.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Es.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(23852)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),Es.createElement("div",{className:"w-full flex flex-wrap justify-between",style:{background:`url(${Je(30019)}) center / auto 100% no-repeat`,height:"446rem",gap:"54rem 200rem"}},[{title:"\u5B66\u4E60\u8DEF\u5F84\u751F\u6210",order:1,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6839\u636E\u5173\u7CFB\uFF08\u5305\u542B\u3001\u524D/\u540E\u7EED\uFF09\u548C\u8282\u70B9\u6807\u7B7E\uFF08\u5982\uFF1A\u6587\u79D1/\u7406\u79D1\u3001\u57FA\u7840/\u8FDB\u9636/\u7A81\u7834\uFF09\u5FEB\u901F\u81EA\u52A8\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84\u3002"},{title:"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA",order:2,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6309\u7167\u80FD\u529B\u7EF4\u5EA6\uFF0C\u6784\u5EFA\u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\uFF0C\u7528\u4E8E\u68C0\u9A8C\u5B66\u751F\u5BF9\u8BFE\u7A0B\u57F9\u517B\u80FD\u529B\u7684\u638C\u63E1\u3002"},{title:"\u8BFE\u5802\u5B66\u60C5\u5206\u6790",order:4,desc:"\u652F\u6301\u4E00\u952E\u5C06\u77E5\u8BC6\u56FE\u8C31\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\uFF0C\u8BA9\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u5B8C\u6210\u5B66\u4E60\u4EFB\u52A1\uFF0C\u5E76\u53EF\u4EE5\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u60C5\u5206\u6790\u548C\u5B66\u60C5\u9884\u8B66\u3002"},{title:"\u5B66\u4E60\u8D44\u6E90\u63A8\u8350",order:3,desc:"\u5229\u7528\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u5173\u7CFB\u548C\u6807\u7B7E\u5206\u7C7B\uFF0C\u57FA\u4E8E\u5B66\u751F\u5B66\u4E60\u53CA\u638C\u63E1\u5185\u5BB9\u4E3A\u5B66\u751F\u63A8\u8350\u8584\u5F31\u70B9\u3001\u63D0\u5347\u70B9\u3001\u7A81\u7834\u70B9\u8D44\u6E90\u5B66\u4E60\u3002"}].map((Wn,hi)=>Es.createElement("div",{key:hi,className:"py-10px-rem px-20px-rem flex flex-col gap-10px-rem rounded-8px-rem",style:{width:"234rem",height:"160rem",background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",order:Wn==null?void 0:Wn.order}},Es.createElement("div",{className:"text-16px-rem"},hi+1,". ",Wn==null?void 0:Wn.title),Es.createElement("div",{style:{color:"rgba(255,255,255,0.8)"}},Wn==null?void 0:Wn.desc))))),Es.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Es.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),Es.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:Es.createElement("div",{className:"flex flex-col gap-4px-rem"},Es.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7C7B\u578B"),Es.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u4E3B\u8981\u5206\u4E3A\u4E24\u79CD\u7C7B\u578B\uFF1A",Es.createElement("span",{style:{color:"#FFE698"}},"\u6807\u7B7E\u8282\u70B9\u548C\u8D44\u6E90\u8282\u70B9"),Es.createElement("br",null),Es.createElement("span",{className:"c-white"},"\u6807\u7B7E\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u6587\u672C\u5185\u5BB9\uFF0C\u5982\u7AE0\u8282\u3001\u77E5\u8BC6\u70B9\u3002",Es.createElement("br",null),Es.createElement("span",{className:"c-white"},"\u8D44\u6E90\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u8D44\u6E90\u5185\u5BB9\uFF0C\u53EF\u4EE5\u9009\u62E9\u5E73\u53F0\u8D44\u6E90\u3001\u672C\u5730\u4E0A\u4F20\u6587\u4EF6\u548C\u5916\u94FE\u3002",Es.createElement("br",null)))},{desc:Es.createElement("div",{className:"flex flex-col gap-4px-rem"},Es.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u6807\u7B7E"),Es.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u6807\u7B7E\u53EF\u4EE5\u7528\u6237\u81EA\u5B9A\u4E49\u6DFB\u52A0\uFF0C\u8282\u70B9\u6807\u7B7E\u4E3B\u8981\u7528\u4E8E\u7B5B\u9009\u8282\u70B9\uFF0C\u5982\u6587\u79D1/\u7406\u79D1/\u5DE5\u79D1\u3001\u7B80\u5355/\u8FDB\u9636/\u56F0\u96BE\u3002",Es.createElement("br",null),Es.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u6807\u7B7E\u540C\u6B65\u5EFA\u7ACB\uFF0C\u540E\u7EED\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u548C\u80FD\u529B\u56FE\u8C31\u65F6\u53EF\u4EE5\u4F7F\u7528\u3002")))},{desc:Es.createElement("div",{className:"flex flex-col gap-4px-rem"},Es.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u5173\u7CFB"),Es.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u5173\u7CFB",Es.createElement("span",{style:{color:"#FFE698"}},"\u6709\u5305\u542B/\u88AB\u5305\u542B\u3001\u524D\u5E8F/\u540E\u7EED\u3001\u5173\u8054\u3002"),Es.createElement("br",null),Es.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u5173\u7CFB\u540C\u6B65\u5EFA\u7ACB\uFF0C\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u65F6\uFF0C\u5C06\u6839\u636E\u524D\u5E8F/\u540E\u7EED\u5173\u7CFB\u751F\u6210\u5B66\u4E60\u8DEF\u5F84\u3002")))}].map((Wn,hi)=>Es.createElement("div",{key:hi,className:"py-22px-rem px-16px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},Es.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(hi+1).toString().padStart(2,"0")),Es.createElement("div",{className:"flex-1 minW-0"},Wn==null?void 0:Wn.desc))))))):Es.createElement(doe,{settpacti:rt,tpacti:ot}),isshow:!0},{name:"\u5B66\u4E60\u8DEF\u5F84",key:2,content:Es.createElement(qm,{setxxljac:Xt,xxljac:Mt}),isshow:!0},{name:"\u4EA4\u6D41\u53CD\u9988",key:4,content:Es.createElement(Ll,null),isshow:et.get("type")!=="classrooms"},{name:"\u80FD\u529B\u56FE\u8C31",key:5,content:Es.createElement(Voe,null),isshow:!0},{name:"\u6570\u636E\u7EDF\u8BA1",key:6,content:Es.createElement(joe.default,{learningpathId:bn,isCompontent:!0}),isshow:et.get("type")=="classrooms"&&bn}].filter(Wn=>Wn==null?void 0:Wn.isshow);(0,Fe.useEffect)(()=>{var Wn,hi;if((Wn=E==null?void 0:E.detail)!=null&&Wn.nodes){let On=[...(hi=E==null?void 0:E.detail)==null?void 0:hi.nodes];lt(On==null?void 0:On.splice(1))}},[(Re=E==null?void 0:E.detail)==null?void 0:Re.nodes]),(0,Fe.useEffect)(()=>ts.Z.subscribe("create_a_knowledge_map",()=>{ti(!0)}),[]);const li=(Wn={})=>{se({type:"pathsDetail/getKnowledgeGraphs",payload:Xoe({graphable_type:et.get("type")==="classrooms"?"course":"subject",graphable_id:it.pathId},Wn)})},Dn=Wn=>Lk(void 0,null,function*(){var hi,On,dn,mi,ui,Mi,Qi;const{nodeType:rr,description:Ir,name:to,tags:Jo}=Wn;En(!0);const Ot=yield(0,gn.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:it==null?void 0:it.pathId,properties:{description:Ir,rootNodeUuid:(dn=(On=(hi=E==null?void 0:E.detail)==null?void 0:hi.nodes)==null?void 0:On[0])==null?void 0:dn.uuid,name:to,nodeType:rr[0],tags:(Jo==null?void 0:Jo.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:(Mi=(ui=(mi=E==null?void 0:E.detail)==null?void 0:mi.nodes)==null?void 0:ui[0])==null?void 0:Mi.uuid,type:"\u5305\u542B"}]}});(Ot==null?void 0:Ot.status)===0&&(ti(!1),rt((Qi=Ot==null?void 0:Ot.data)==null?void 0:Qi.uuid),de(3),li({graphable_id:it==null?void 0:it.pathId})),En(!1)});return Es.createElement("div",{className:vr.content,style:{paddingTop:"20rem"}},Es.createElement("div",{style:{padding:"0 40rem",position:"sticky",top:0,zIndex:99}},Es.createElement(woe,{activied:le,setactivied:de,TabsData:rn,tplist:ht,settpacti:rt,tpacti:ot,setxxljac:Xt,xxljac:Mt})),(Ze==null?void 0:Ze.key)=="\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802"&&Es.createElement(Ug.NI,{onFinish:()=>{li()},type:(Le=Ze==null?void 0:Ze.params)==null?void 0:Le.type}),Es.createElement(jt.default,{open:Zn,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ti(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{cn.resetFields()},confirmLoading:Cn,onOk:()=>cn.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Es.createElement("div",{className:vr.modal},Es.createElement("div",{className:vr.mHead},"\u8282\u70B9\u5C5E\u6027"),Es.createElement(en.default,{form:cn,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:Dn,className:vr.form},Es.createElement(en.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Es.createElement(Gt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Es.createElement(en.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Es.createElement(Gt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Es.createElement(en.default.Item,{className:vr.mType,label:Es.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Es.createElement(ft.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Es.createElement(qs.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Es.createElement(hp,{subjectId:it==null?void 0:it.pathId,type:1}))))),Es.createElement("div",{className:vr.content},(Qe=rn.find(Wn=>Wn.key===le))==null?void 0:Qe.content))};var Yoe=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(Qoe),AT=Je(59301),Nk=Object.getOwnPropertySymbols,Zoe=Object.prototype.hasOwnProperty,Koe=Object.prototype.propertyIsEnumerable,Joe=(ee,y)=>{var E={};for(var z in ee)Zoe.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&Nk)for(var z of Nk(ee))y.indexOf(z)<0&&Koe.call(ee,z)&&(E[z]=ee[z]);return E},qoe=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});function Ik(ee){const y=(ne,ie)=>{if(ne.localName===ie)return ne;for(let se=0,le=ne;le=le.parentNode;se++){if(le.localName===ie)return le;if(le==document.documentElement)return!1}},E=ee.target,z=y(E,"a");if(console.log([z],z==null?void 0:z.href,44),!(z!=null&&z.href)&&E.tagName.toUpperCase()==="IMG"){let ne=E.src||E.getAttribute("src");ne&&(ne==null?void 0:ne.indexOf("/images/avatars/User"))===-1&&(ee.stopPropagation(),ee.preventDefault(),ts.Z.publish("preview-image",ne))}}const _oe=ee=>{var y=ee,{pathsDetail:E,globalSetting:z,loading:ne,dispatch:ie}=y,se=Joe(y,["pathsDetail","globalSetting","loading","dispatch"]);const[le]=(0,xt.useSearchParams)(),de=(0,xt.useParams)(),ge=(0,Fe.useRef)(),[ve,xe]=(0,Fe.useState)((le==null?void 0:le.get("type"))!=="classrooms"?3:1);(0,Fe.useEffect)(()=>{le.get("tabs")&&xe(parseInt(le.get("tabs"))||3)},[le.get("tabs")]),(0,Fe.useEffect)(()=>{if(ge.current)return ge.current.addEventListener("mousedown",Ik),()=>{var Me;(Me=ge.current)==null||Me.removeEventListener("mousedown",Ik)}},[ge.current]),(0,Fe.useEffect)(()=>{de.pathId&&Se()},[de.pathId]),(0,Fe.useEffect)(()=>(ie({type:"globalSetting/footerToggle",payload:!1}),()=>{ie({type:"globalSetting/footerToggle",payload:!0})}),[]);const Se=()=>qoe(void 0,null,function*(){const Me=yield ie({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:le.get("type")==="classrooms"?"course":"subject",graphable_id:de.pathId}});le.get("type")!="classrooms"&&(Me!=null&&Me.id)&&le.get("token")&&(location.href=location.pathname)});return AT.createElement(an.Z,{spinning:!1},AT.createElement("section",{id:"knowledgegraphDetail",className:Bs.bg,style:{background:le.get("type")!=="classrooms"?"#010A23":""}},AT.createElement(vo,null),AT.createElement(Yoe,{activied:ve,setactivied:xe})))};var $oe=(0,xt.connect)(({pathsDetail:ee,loading:y,globalSetting:E})=>({pathsDetail:ee,globalSetting:E,loading:y}))(_oe)},42959:function(qt,xi,Je){"use strict";var Fe=Je(59301),xt=Object.defineProperty,jt=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable,zt=($e,Gt,an)=>Gt in $e?xt($e,Gt,{enumerable:!0,configurable:!0,writable:!0,value:an}):$e[Gt]=an,wt=($e,Gt)=>{for(var an in Gt||(Gt={}))kt.call(Gt,an)&&zt($e,an,Gt[an]);if(jt)for(var an of jt(Gt))It.call(Gt,an)&&zt($e,an,Gt[an]);return $e};const en=()=>`shadow-${Math.random().toString(36).slice(2,9)}`,$t=({percentage:$e,startAngle:Gt=270,strokeColor:an="#42BECD",trackColor:gn="#e6e6e6",innerBackgroundColor:Ke="#fff",text:ue="",textColor:ce="#000",textSize:Ee="1rem",textPadding:Ae="28rem",outerDiameter:Be,innerDiameter:Ne,maxTextLength:Ue=6,onClick:nt,hoverEffect:ft=!0,style:St})=>{const[Nt,Bt]=(0,Fe.useState)(0),[bt,ln]=(0,Fe.useState)(0),[Kt,ni]=(0,Fe.useState)(!1),pn=zi=>{var on,Wt;const zn=parseFloat(zi),br=parseFloat((Wt=(on=document.documentElement)==null?void 0:on.style)==null?void 0:Wt.fontSize);return zn*br},ci=()=>{Bt(pn(Be)),ln(pn(Ne))};(0,Fe.useEffect)(()=>(ci(),window.addEventListener("resize",ci),()=>window.removeEventListener("resize",ci)),[Be,Ne]);const di=Nt/2,Ln=bt/2,si=(Nt-bt)/2,gr=di-si,Ht=2*Math.PI*gr,Et=Ht-$e/100*Ht,Si=`rotate(${Gt} ${di} ${di})`,zr=((zi,on)=>on&&zi.length>on?zi.slice(0,on-1)+"...":zi)(ue,Ue),Fn=()=>{ft&&ni(!0)},An=()=>{ni(!1)},Vn=pn("4rem");return Fe.createElement("svg",{width:Nt,height:Nt,viewBox:`0 0 ${Nt} ${Nt}`,xmlns:"http://www.w3.org/2000/svg",onClick:nt,onMouseEnter:Fn,onMouseLeave:An,style:wt({cursor:nt?"pointer":"default"},St)},Fe.createElement("circle",{cx:di,cy:di,r:Ln,fill:Ke}),Fe.createElement("circle",{cx:di,cy:di,r:gr,fill:"none",stroke:gn,strokeWidth:si}),Fe.createElement("circle",{cx:di,cy:di,r:gr,fill:"none",stroke:an,strokeWidth:si,strokeDasharray:Ht,strokeDashoffset:Et,strokeLinecap:"round",transform:Si}),Kt&&Fe.createElement("circle",{cx:di,cy:di,r:gr+si/2,fill:"none",stroke:"#FA6400",strokeWidth:pn("4rem")}),ue&&Fe.createElement("foreignObject",{x:di-Ln,y:di-Ln,width:bt,height:bt},Fe.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",padding:Ae}},Fe.createElement("b",{style:{color:ce,fontSize:Ee,textAlign:"center"},title:ue},zr))))};xi.Z=$t},46339:function(qt,xi,Je){"use strict";Je.r(xi),Je.d(xi,{KNOWLEDGELEARNINGDETAIL:function(){return on},default:function(){return zn}});var Fe=Je(59301),xt=Je(25690),jt=Je.p+"static/nav.8f5feceb.png",kt=Je(74732),It=Je(26358),zt=Je(16033),wt=Je(82670),en=Je(16122),$t=Je(362),$e=Je(61834),Gt=Je(8451),an=Je(81535),gn="data:image/png;base64,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",Ke=Je(87620),ue=Je(64813),ce=Je(87017),Ee=Je(40181),Ae=Je(48289),Be=Je(25399),Ne=Je(6767),Ue=Je(29787),nt=Je(54172),ft=Je(60242),St=Je(53664),Nt=Je(47125),Bt=Je(42441),bt=Je(76411),ln=Je(61186),Kt=Je.n(ln),ni=Je(9148),pn=Je(28426),ci=Je(45937),di=Je(36714),Ln=Je(346),si=Je(51257),gr=Object.defineProperty,Ht=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,Si=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,Fn=(br,uo,vt)=>uo in br?gr(br,uo,{enumerable:!0,configurable:!0,writable:!0,value:vt}):br[uo]=vt,An=(br,uo)=>{for(var vt in uo||(uo={}))_r.call(uo,vt)&&Fn(br,vt,uo[vt]);if(Si)for(var vt of Si(uo))zr.call(uo,vt)&&Fn(br,vt,uo[vt]);return br},Vn=(br,uo)=>Ht(br,Et(uo)),zi=(br,uo,vt)=>new Promise((We,je)=>{var ct=Hn=>{try{qe(vt.next(Hn))}catch(Ci){je(Ci)}},Pt=Hn=>{try{qe(vt.throw(Hn))}catch(Ci){je(Ci)}},qe=Hn=>Hn.done?We(Hn.value):Promise.resolve(Hn.value).then(ct,Pt);qe((vt=vt.apply(br,uo)).next())}),on=(br=>(br.KNOWLEDGE="1",br.RESOURCE="2",br.STUDENT="3",br))(on||{});const Wt=({dispatch:br,pathsDetail:uo,learningpathId:vt,isCompontent:We})=>{var je,ct,Pt,qe,Hn,Ci,gi,ps,$r,Ji,ws,Gr,Ms,$a;const{detail:mo,actionTabs:Ss}=uo,[Sn,wi]=(0,Fe.useState)((0,xt.useParams)()),Di=new URLSearchParams(window.location.search),[Ei,Kr]=(0,Fe.useState)({}),[oo,vo]=(0,Fe.useState)("good"),[,ts,Bs,vr]=(0,ci.U)(di.b,{subject_id:Sn==null?void 0:Sn.pathId,id:Sn==null?void 0:Sn.learningpathId}),[,ta,ba,ua]=(0,ci.U)(di.S$,{subject_id:Sn==null?void 0:Sn.pathId,id:Sn==null?void 0:Sn.learningpathId}),[Ps,Na]=(0,Fe.useState)({page:1,limit:10,type:"1",keyword:""}),Xs=(0,Fe.useMemo)(()=>{var Nn,ri;const fn=((ri=(Nn=vr==null?void 0:vr.data)==null?void 0:Nn.route_study_info)==null?void 0:ri.study_grasp_hash)||[],yn=fn==null?void 0:fn.reduce((wn=0,pr)=>wn+((pr==null?void 0:pr.value)||0),0),_t=15;return{title:[{text:"\u5404\u9636\u6BB5\u638C\u63E1\u7387\u5360\u6BD4",top:"50%",left:"15%",textStyle:{color:"#A4C8FC",fontWeight:"normal",fontSize:12}},{text:"\u638C\u63E1\u7387 \u4EBA\u6570 \u5360\u6BD4 ",top:"10%",right:0,textStyle:{color:"#A4C8FC",fontWeight:"normal",fontSize:14}}],tooltip:{trigger:"item",formatter:({color:wn,value:pr,name:Lr,percent:yo})=>`
+}`;cie(hie);function DL(ee,y){(y==null||y>ee.length)&&(y=ee.length);for(var E=0,z=Array(y);E1?le-1:0),ge=1;ge3?ie-3:0),le=3;le1&&(Oe=Me.y+Me.vy),E>2&&(Re=Me.z+Me.vz),Se.visit(Ze);function Ze(it,et,ht,lt,ot,rt,Mt){var Xt=[et,ht,lt,ot,rt,Mt],cn=Xt[0],Cn=Xt[1],En=Xt[2],Zn=Xt[E],ti=Xt[E+1],bn=Xt[E+2],rn=it.data,li=it.r,Dn=Le+li;if(rn){if(rn.index>Me.index){var Wn=De-rn.x-rn.vx,hi=E>1?Oe-rn.y-rn.vy:0,On=E>2?Re-rn.z-rn.vz:0,dn=Wn*Wn+hi*hi+On*On;dn1&&hi===0&&(hi=Nd(ne),dn+=hi*hi),E>2&&On===0&&(On=Nd(ne),dn+=On*On),dn=(Dn-(dn=Math.sqrt(dn)))/dn*ie,Me.vx+=(Wn*=dn)*(Dn=(li*=li)/(Qe+li)),E>1&&(Me.vy+=(hi*=dn)*Dn),E>2&&(Me.vz+=(On*=dn)*Dn),rn.vx-=Wn*(Dn=1-Dn),E>1&&(rn.vy-=hi*Dn),E>2&&(rn.vz-=On*Dn))}return}return cn>De+Dn||Zn1&&(Cn>Oe+Dn||ti2&&(En>Re+Dn||bnve.r&&(ve.r=ve[xe].r)}function ge(){if(y){var ve,xe=y.length,Se;for(z=new Array(xe),ve=0;vetypeof Se=="function")||Math.random,E=xe.find(Se=>[1,2,3].includes(Se))||2,ge()},le.iterations=function(ve){return arguments.length?(se=+ve,le):se},le.strength=function(ve){return arguments.length?(ie=+ve,le):ie},le.radius=function(ve){return arguments.length?(ee=typeof ve=="function"?ve:jc(+ve),ge(),le):ee},le}var BO=Je(89392),TO=Je(59301),Mie=Object.defineProperty,Bie=Object.defineProperties,Tie=Object.getOwnPropertyDescriptors,DO=Object.getOwnPropertySymbols,Die=Object.prototype.hasOwnProperty,Fie=Object.prototype.propertyIsEnumerable,FO=(ee,y,E)=>y in ee?Mie(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,RL=(ee,y)=>{for(var E in y||(y={}))Die.call(y,E)&&FO(ee,E,y[E]);if(DO)for(var E of DO(y))Fie.call(y,E)&&FO(ee,E,y[E]);return ee},OL=(ee,y)=>Bie(ee,Tie(y)),Lie=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const LO=new Ha,Nie=new Float32Array([0,.5,0,-.5,-.5,0,.5,-.5,0]);LO.setAttribute("position",new wl(Nie,3));const Iie=new Vh({color:"#FF4500",side:eh,transparent:!0,opacity:.8}),kL=new Map,NO=ee=>(kL.has(ee)||kL.set(ee,new LC({transparent:!1,color:ee})),kL.get(ee)),sue=(ee,y)=>{const E=ee.getParentData(y.id,"tree");return E?y.style.x>E.style.x?"right":"left":"center"},zL=[20,15,10],IO=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C"}],Rie=(ee,y)=>{const E={};let z=null;return ee.forEach(ne=>{E[ne.properties.uuid]=OL(RL({},ne),{id:ne.properties.uuid,children:[]})}),y.forEach(ne=>{const ie=E[ne.startNodeUuid],se=E[ne.endNodeUuid];ie&&(ie.id=ie.properties.uuid),ie&&se&&ie.children.push(se)}),ee.forEach(ne=>{!y.some(se=>se.endNodeUuid===ne.properties.uuid)&&(z=E[ne.properties.uuid])}),z};var Oie=(0,Fe.forwardRef)(({nodeUuid:ee,subject_id:y,setshowdetail:E,setitems:z,setzoomsize:ne},ie)=>{var se;const[le,de]=(0,Fe.useState)(!1),[ge,ve]=(0,Fe.useState)({nodes:[],links:[]}),xe=(0,Fe.useRef)(),Se=(0,Fe.useRef)(1),Me=(0,Fe.useRef)(null),De=(0,Fe.useRef)(null),Oe=50,Re=2e3,[Le,Qe]=(0,Fe.useState)(null),[Xe,Ze]=(0,Fe.useState)(""),[it,et]=(0,Fe.useState)(null),ht=(0,Fe.useRef)(new Map);(0,Fe.useEffect)(()=>{lt()},[]);const lt=()=>Lie(void 0,null,function*(){var rn,li,Dn,Wn,hi,On,dn,mi;de(!0);let ui=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:ee,subject_id:y,depth:-1,relationshipFilter:"\u5305\u542B>"}});de(!1);let Mi=(li=(rn=ui==null?void 0:ui.data)==null?void 0:rn.nodes)==null?void 0:li.map(Ot=>{var Pr,sr,Fr,_i,Io,Rr,po,Js,hn,Rt;return OL(RL({},Ot==null?void 0:Ot.properties),{id:(Pr=Ot==null?void 0:Ot.properties)==null?void 0:Pr.uuid,name:(sr=Ot==null?void 0:Ot.properties)==null?void 0:sr.name,description:(Fr=Ot==null?void 0:Ot.properties)==null?void 0:Fr.description,nodeType:(_i=Ot==null?void 0:Ot.properties)==null?void 0:_i.nodeType,tags:((po=(Rr=(Io=Ot==null?void 0:Ot.properties)==null?void 0:Io.tags)==null?void 0:Rr.split("\uFF0C"))==null?void 0:po.map(yi=>({name:yi})))||[],colorType:parseInt((Js=Ot==null?void 0:Ot.properties)==null?void 0:Js.color)>3?"3":(hn=Ot==null?void 0:Ot.properties)==null?void 0:hn.color,activeColor:"#FA6400",size:zL[((Rt=Ot==null?void 0:Ot.properties)==null?void 0:Rt.color)-1]||20,shape:"circle",hide:!1,isExtendedState:!0})}),Qi=Rie((Wn=(Dn=ui==null?void 0:ui.data)==null?void 0:Dn.nodes)==null?void 0:Wn.map((Ot,Pr)=>{var sr,Fr,_i,Io,Rr,po,Js,hn,Rt;const yi=parseInt((sr=Ot==null?void 0:Ot.properties)==null?void 0:sr.color)===1?"#CC7CF5":((Fr=IO.find($i=>{var ii;return($i==null?void 0:$i.name)===((ii=Ot==null?void 0:Ot.properties)==null?void 0:ii.nodeType)}))==null?void 0:Fr.color)||"#2D947C";return OL(RL({},Ot),{key:Pr,title:(_i=Ot==null?void 0:Ot.properties)==null?void 0:_i.name,newcolor:yi,nodeColor:yi,color:yi,colornodeType:parseInt((Io=Ot==null?void 0:Ot.properties)==null?void 0:Io.color)===1?"\u6839\u8282\u70B9":((Rr=IO.find($i=>{var ii;return($i==null?void 0:$i.name)===((ii=Ot==null?void 0:Ot.properties)==null?void 0:ii.nodeType)}))==null?void 0:Rr.name)||"\u5176\u4ED6",val:zL[((po=Ot==null?void 0:Ot.properties)==null?void 0:po.color)-1]||10,nodeVal:zL[((Js=Ot==null?void 0:Ot.properties)==null?void 0:Js.color)-1]||10,name:(hn=Ot==null?void 0:Ot.properties)==null?void 0:hn.name,nodeLabel:(Rt=Ot==null?void 0:Ot.properties)==null?void 0:Rt.name})}),(On=(hi=ui==null?void 0:ui.data)==null?void 0:hi.relationships)==null?void 0:On.filter(Ot=>Ot.type==="\u5305\u542B")),rr=(0,Au.RN)(Qi),Ir=(dn=rr.nodes)==null?void 0:dn.filter((Ot,Pr,sr)=>Pr===sr.findIndex(Fr=>Fr.id===Ot.id)),to=(mi=rr.edges)==null?void 0:mi.filter((Ot,Pr,sr)=>Pr===sr.findIndex(Fr=>Fr.source===Ot.source&&Fr.target===Ot.target));ve({nodes:Ir,links:to})}),ot=(rn,li)=>{const Dn=new Map([[rn,!0]]),Wn=On=>{li.forEach(dn=>{dn.source.id===On&&!Dn.has(dn.target.id)&&(Dn.set(dn.target.id,!0),Wn(dn.target.id))})},hi=On=>{li.forEach(dn=>{dn.target.id===On&&!Dn.has(dn.source.id)&&(Dn.set(dn.source.id,!0),hi(dn.source.id))})};return Wn(rn),hi(rn),Dn};(0,Fe.useEffect)(()=>{it?ht.current=ot(it.id,ge.links):ht.current=new Map},[it,ge.links]);const rt=()=>ny().force("charge",Uf().strength(-50)).force("collision",bie().radius(rn=>(rn.val||20)*1.2)).force("link",Ru().id(rn=>rn.id).distance(80)).force("center",df()).numDimensions(3).tick(100),Mt=rn=>it?ht.current.has(rn.id):!0,Xt=rn=>it?ht.current.has(rn.source.id)&&ht.current.has(rn.target.id):!0;(0,Fe.useEffect)(()=>()=>{De.current&&cancelAnimationFrame(De.current)},[]);const cn=()=>{if(!Me.current||!xe.current)return;const rn=xe.current,li=rn.cameraPosition(),Dn={x:0,y:0,z:0},Wn=.1,hi={x:li.x+(Me.current.x-li.x)*Wn,y:li.y+(Me.current.y-li.y)*Wn,z:li.z+(Me.current.z-li.z)*Wn};rn.cameraPosition(hi,Dn,0),Math.hypot(hi.x-Me.current.x,hi.y-Me.current.y,hi.z-Me.current.z)>5?De.current=requestAnimationFrame(cn):(De.current=null,Me.current=null)};(0,Fe.useImperativeHandle)(ie,()=>({handleZoom:Zn,getData:lt,selectall:Cn,settype:En}));const Cn=rn=>{Qe(rn)},En=rn=>{Ze(rn)},Zn=rn=>{De.current&&(cancelAnimationFrame(De.current),De.current=null);const li=xe.current;if(!li)return;const Dn=li.cameraPosition(),Wn={x:0,y:0,z:0},hi={x:Dn.x-Wn.x,y:Dn.y-Wn.y,z:Dn.z-Wn.z},On=Math.hypot(hi.x,hi.y,hi.z);let mi=On*(rn==="in"?.8:1.2);if(mi=Math.max(Oe,Math.min(Re,mi)),On>0){const ui=mi/On;Me.current={x:Wn.x+hi.x*ui,y:Wn.y+hi.y*ui,z:Wn.z+hi.z*ui},Se.current=1e3/mi,cn()}},ti=(0,BO.debounce)(rn=>{et(rn)},100),bn=rn=>{console.log("---",rn),Qe(rn.id),z(rn),E(!0)};return TO.createElement("div",{style:{height:"calc(100vh - 0px)",overflow:"hidden"}},((se=ge==null?void 0:ge.nodes)==null?void 0:se.length)>0&&TO.createElement(NL,{graphData:ge,ref:xe,enableNodeDrag:!1,backgroundColor:"rgb(1, 10, 35)",linkColor:rn=>Xt(rn)?"#ccc":"rgba(0,0,0,0)",linkWidth:rn=>(Xt(rn),1),linkDirectionalArrowLength:it?6:0,nodeRelSize:8,linkDirectionalArrowColor:()=>"rgba(0,0,0,0)",linkDirectionalParticles:rn=>Xt(rn)?3:0,linkDirectionalParticleSpeed:.001,linkDirectionalParticleWidth:2,linkDirectionalParticleColor:rn=>Xt(rn)?"#ccc":"rgba(0,0,0,0)",linkThreeObjectExtend:!0,nodeThreeObject:rn=>{if(Xe){const li=new lu(new rg(rn.val,16,16),NO(rn.colornodeType===Xe?rn.nodeColor:"#999999"));if(rn.id===Le){const Dn=new lu(new rg(rn.val+5,32,32),new Vh({transparent:!0,opacity:.3}));li.add(Dn)}return li}else{const li=new lu(new rg(rn.val,16,16),NO(rn.id===Le||Mt(rn)?rn.nodeColor:"#999999"));if(rn.id===Le){const Dn=new lu(new rg(rn.val+5,32,32),new Vh({transparent:!0,opacity:.3}));li.add(Dn)}return li}},linkThreeObject:rn=>Xt(rn)?new lu(LO,Iie):null,onNodeHover:ti,onNodeClick:bn,onEngineStop:()=>{},onNodeDragEnd:rn=>{rn.fx=rn.x,rn.fy=rn.y,rn.fz=rn.z}}))}),pd={flex_box_center:"flex_box_center___mORrQ",flex_space_between:"flex_space_between___AGgBm",flex_box_vertical_center:"flex_box_vertical_center____H93g",flex_box_center_end:"flex_box_center_end___VPK8Q",flex_box_column:"flex_box_column___qksG3",autocomp:"autocomp___H_feM",autocompwidth:"autocompwidth___RMYtG",hoverone:"hoverone___j7m8k",name:"name___qwPqM",img:"img___WHKD_",autopop:"autopop___YCC3k",studentHead:"studentHead___DeVom",headLi:"headLi___qiYnp",btn:"btn___s7HI8",tupugx:"tupugx___JCYSy",textname:"textname___iEAMA",dropdownst:"dropdownst___ca1cn",ChangeBut:"ChangeBut___uZelH"},HL=Je(84989),RO=Je(59301),kie=Object.defineProperty,zie=Object.defineProperties,Hie=Object.getOwnPropertyDescriptors,cT=Object.getOwnPropertySymbols,OO=Object.prototype.hasOwnProperty,kO=Object.prototype.propertyIsEnumerable,zO=(ee,y,E)=>y in ee?kie(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,HO=(ee,y)=>{for(var E in y||(y={}))OO.call(y,E)&&zO(ee,E,y[E]);if(cT)for(var E of cT(y))kO.call(y,E)&&zO(ee,E,y[E]);return ee},Uie=(ee,y)=>zie(ee,Hie(y)),Vie=(ee,y)=>{var E={};for(var z in ee)OO.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&cT)for(var z of cT(ee))y.indexOf(z)<0&&kO.call(ee,z)&&(E[z]=ee[z]);return E},jie=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});let hT=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const lue=null;let uue=null;const Gie=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,datas:le}=y,de=Vie(y,["pathsDetail","user","globalSetting","loading","dispatch","datas"]);const ge=(0,Fe.useRef)(),ve=(0,Fe.useRef)(null);(0,Fe.useEffect)(()=>{xe()},[le]);function xe(){return jie(this,null,function*(){var Se,Me,De,Oe,Re,Le,Qe;if(((Se=le==null?void 0:le.nodes)==null?void 0:Se.length)>0){let Xe=(0,bt.fX)((Me=le==null?void 0:le.nodes)==null?void 0:Me.map((lt,ot)=>{var rt,Mt,Xt,cn,Cn,En,Zn,ti,bn,rn,li,Dn,Wn,hi,On,dn;return Uie(HO(HO({},lt),lt==null?void 0:lt.properties),{rootNodeUuid:(rt=lt==null?void 0:lt.properties)==null?void 0:rt.rootNodeUuid,id:(Mt=lt==null?void 0:lt.properties)==null?void 0:Mt.uuid,name:(Xt=lt==null?void 0:lt.properties)==null?void 0:Xt.name,labelstype:(cn=lt==null?void 0:lt.labels)==null?void 0:cn[1],description:(Cn=lt==null?void 0:lt.properties)==null?void 0:Cn.description,nodeType:(En=lt==null?void 0:lt.properties)==null?void 0:En.nodeType,colornodeType:parseInt((Zn=lt==null?void 0:lt.properties)==null?void 0:Zn.color)===1?"\u6839\u8282\u70B9":((ti=hT==null?void 0:hT.find(mi=>{var ui;return(mi==null?void 0:mi.name)===((ui=lt==null?void 0:lt.properties)==null?void 0:ui.nodeType)}))==null?void 0:ti.name)||"\u5176\u4ED6",newcolor:parseInt((bn=lt==null?void 0:lt.properties)==null?void 0:bn.color)===1?"#CC7CF5":((rn=hT==null?void 0:hT.find(mi=>{var ui;return(mi==null?void 0:mi.name)===((ui=lt==null?void 0:lt.properties)==null?void 0:ui.nodeType)}))==null?void 0:rn.color)||"#2D947C",tags:((li=lt==null?void 0:lt.properties)==null?void 0:li.tags)&&((hi=(Wn=(Dn=lt==null?void 0:lt.properties)==null?void 0:Dn.tags)==null?void 0:Wn.split("\uFF0C"))==null?void 0:hi.map(mi=>({name:mi})))||[],colorType:parseInt((On=lt==null?void 0:lt.properties)==null?void 0:On.color)>3?"3":(dn=lt==null?void 0:lt.properties)==null?void 0:dn.color})}),(Re=(Oe=(De=le==null?void 0:le.relationships)==null?void 0:De.filter(lt=>{var ot,rt,Mt;return(lt==null?void 0:lt.endNodeUuid)!==((Mt=(rt=(ot=le==null?void 0:le.nodes)==null?void 0:ot[0])==null?void 0:rt.properties)==null?void 0:Mt.rootNodeUuid)}))==null?void 0:Oe.filter(lt=>{var ot,rt,Mt;return(lt==null?void 0:lt.startNodeUuid)!==((Mt=(rt=(ot=le==null?void 0:le.nodes)==null?void 0:ot[0])==null?void 0:rt.properties)==null?void 0:Mt.rootNodeUuid)}))==null?void 0:Re.filter(lt=>lt.type==="\u5305\u542B")),Ze=(0,Au.RN)(Xe),it=(Le=Ze.nodes)==null?void 0:Le.filter((lt,ot,rt)=>ot===rt.findIndex(Mt=>Mt.id===lt.id)),et=(Qe=Ze.edges)==null?void 0:Qe.filter((lt,ot,rt)=>ot===rt.findIndex(Mt=>Mt.source===lt.source&&Mt.target===lt.target));it.map(lt=>(lt.transformd=!0,lt.style={labelWordWrap:!0,labelPlacement:lt.depth===0?"center":lt.depth<3?"top-left":"top",haloLineWidth:Math.max(20-lt.depth*6,0),labelMaxWidth:lt.depth===0?300:200,labelFontSize:lt.depth===0?22:it.length>300?12:14,labelLineHeight:100,halo:lt.depth<3},lt)),ge.current=null;let ht=it==null?void 0:it.length;ge.current=new Au.kJ({container:ve.current,autoResize:!0,background:"#010A23",autoFit:{type:it.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:it,edges:et},node:{type:"circle",style:{size:lt=>lt.colorType==1?100:lt.depth<2?50:ht>250?10:20,fill:lt=>lt.newcolor,labelText:lt=>lt.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:lt=>lt.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:it.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:lt=>lt.targetType==="node",getContent:(lt,ot)=>{let rt="";return ot.forEach(Mt=>{rt+=`
${Mt.name||""}
`}),rt}}],behaviors:["drag-canvas",{type:"zoom-canvas"},"drag-element",{type:"collapse-expand",onExpand:(lt,ot)=>{console.log("----",lt,ot)}},{type:"fix-element-size",state:"fix-element-size",enable:!0}],transforms:[{type:"place-radial-labels"}]}),ge.current.render()}})}return RO.createElement("div",{style:{background:"#fff",height:"800rem"}},RO.createElement("div",{style:{width:"100%",height:"800rem"},ref:ve}))};var Xie=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(Gie),Ur=Je(59301),Wie=Object.defineProperty,Qie=Object.defineProperties,Yie=Object.getOwnPropertyDescriptors,dT=Object.getOwnPropertySymbols,UO=Object.prototype.hasOwnProperty,VO=Object.prototype.propertyIsEnumerable,jO=(ee,y,E)=>y in ee?Wie(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,WE=(ee,y)=>{for(var E in y||(y={}))UO.call(y,E)&&jO(ee,E,y[E]);if(dT)for(var E of dT(y))VO.call(y,E)&&jO(ee,E,y[E]);return ee},Zie=(ee,y)=>Qie(ee,Yie(y)),Kie=(ee,y)=>{var E={};for(var z in ee)UO.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&dT)for(var z of dT(ee))y.indexOf(z)<0&&VO.call(ee,z)&&(E[z]=ee[z]);return E},e1=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});let HM=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const Jie=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,uuid:le,Tabsdatas:de,initdata:ge,setactivied:ve,tpacti:xe}=y,Se=Kie(y,["pathsDetail","user","globalSetting","loading","dispatch","uuid","Tabsdatas","initdata","setactivied","tpacti"]),Me,De,Oe,Re,Le,Qe,Xe,Ze,it;const et=(0,xt.useParams)(),ht=(0,Fe.useRef)(),lt=(0,Fe.useRef)(),ot=(0,Fe.useRef)(),[rt,Mt]=(0,Fe.useState)([]),[Xt,cn]=(0,Fe.useState)(!0),[Cn,En]=(0,Fe.useState)([]),[Zn,ti]=(0,Fe.useState)(""),[bn,rn]=(0,Fe.useState)(!1),li=(0,Fe.useRef)(null),[Dn,Wn]=(0,Fe.useState)(),[hi,On]=(0,Fe.useState)(!1),[dn,mi]=(0,Fe.useState)([]);let[ui,Mi]=(0,Fe.useState)(!1);const[Qi,rr]=(0,Fe.useState)(!1),[Ir,to]=(0,Fe.useState)(!1),[Jo,Ot]=(0,Fe.useState)(!1),[Pr,sr]=(0,Fe.useState)([]),[Fr,_i]=(0,Fe.useState)(!1),[Io,Rr]=(0,Fe.useState)([]),[po]=(0,xt.useSearchParams)(),[Js,hn]=(0,Fe.useState)(!1),[Rt,yi]=(0,Fe.useState)(0),[$i,ii]=(0,Fe.useState)("\u5168\u90E8");let[Ti,qo]=(0,Fe.useState)({page:1,limit:10});const[ro,us]=(0,Fe.useState)({}),[cs,Or]=(0,Fe.useState)([]),Yo=(0,Fe.useRef)(null),Ls=(0,Fe.useRef)(null),[gs,fr]=(0,Fe.useState)(!1);(0,Fe.useEffect)(()=>(ui=!1,Mi(!1),Vr(2,!0),kt.ZP.config({getContainer:()=>li.current}),()=>{var lr;cn(!1),En([]),On(!1),ti(""),(lr=ot.current)==null||lr.clear()}),[le]),(0,Fe.useEffect)(()=>(document.addEventListener("keydown",sa),document.addEventListener("keyup",_n),()=>{document.removeEventListener("keydown",sa),document.addEventListener("keyup",_n)}),[]);function sa(lr){lr.ctrlKey&&ot.current&&ot.current.setBehaviors(Uo=>[...Uo.filter(aa=>typeof aa=="string"?aa!=="zoom-canvas":aa.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom",enable:!0,preventDefault:!0}])}function _n(lr){ot.current&&ot.current.setBehaviors(Uo=>[...Uo.filter(aa=>typeof aa=="string"?aa!=="zoom-canvas":aa.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom1",enable:!1,preventDefault:!1}])}const Zo={onRemove:()=>{sr([])},beforeUpload:lr=>{if(console.log(lr),(lr==null?void 0:lr.size)>1024*1024*50)return kt.ZP.info("\u6587\u4EF6\u8D85\u8FC750M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"),!1;let Uo=[];return Uo.push(lr),sr([...Uo]),!1},fileList:Pr,accept:".xls,.xlsx"};(0,Fe.useEffect)(()=>{},[ui]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",Wr),()=>{window.removeEventListener("resize",Wr)}),[]);function Wr(){var lr,Uo;(Uo=(lr=ht.current)==null?void 0:lr.update)==null||Uo.call(lr)}const As=(...lr)=>e1(void 0,[...lr],function*(Uo={}){return yield se({type:"pathsDetail/getKnowledgeGraphs",payload:WE({graphable_type:po.get("type")==="classrooms"?"course":"subject",graphable_id:et==null?void 0:et.pathId},Uo)})});function Vr(lr,Uo=!1){return e1(this,null,function*(){var is,aa,Os,Xm,hv,Wm,YE;hn(!0);let i1=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:le,subject_id:et==null?void 0:et.pathId,depth:lr===0?lr:lr||-1,relationshipFilter:"\u5305\u542B>"}});if(hn(!1),(i1==null?void 0:i1.status)===0){if(Uo||As({graphable_id:et==null?void 0:et.pathId}),ui){lt.current.getData();return}cn(!0);let xT=(0,bt.fX)((aa=(is=i1==null?void 0:i1.data)==null?void 0:is.nodes)==null?void 0:aa.map((Vo,up)=>{var Kp,Jp,BP,Jt,vi,Yi,Zi,Ai,no,es,ks,xs,Ya,qa,xa,Il;return Zie(WE(WE({},Vo),Vo==null?void 0:Vo.properties),{rootNodeUuid:(Kp=Vo==null?void 0:Vo.properties)==null?void 0:Kp.rootNodeUuid,id:(Jp=Vo==null?void 0:Vo.properties)==null?void 0:Jp.uuid,name:(BP=Vo==null?void 0:Vo.properties)==null?void 0:BP.name,labelstype:(Jt=Vo==null?void 0:Vo.labels)==null?void 0:Jt[1],description:(vi=Vo==null?void 0:Vo.properties)==null?void 0:vi.description,nodeType:(Yi=Vo==null?void 0:Vo.properties)==null?void 0:Yi.nodeType,colornodeType:parseInt((Zi=Vo==null?void 0:Vo.properties)==null?void 0:Zi.color)===1?"\u6839\u8282\u70B9":((Ai=HM==null?void 0:HM.find(_l=>{var cc;return(_l==null?void 0:_l.name)===((cc=Vo==null?void 0:Vo.properties)==null?void 0:cc.nodeType)}))==null?void 0:Ai.name)||"\u5176\u4ED6",newcolor:parseInt((no=Vo==null?void 0:Vo.properties)==null?void 0:no.color)===1?"#CC7CF5":((es=HM==null?void 0:HM.find(_l=>{var cc;return(_l==null?void 0:_l.name)===((cc=Vo==null?void 0:Vo.properties)==null?void 0:cc.nodeType)}))==null?void 0:es.color)||"#2D947C",tags:((ks=Vo==null?void 0:Vo.properties)==null?void 0:ks.tags)&&((qa=(Ya=(xs=Vo==null?void 0:Vo.properties)==null?void 0:xs.tags)==null?void 0:Ya.split("\uFF0C"))==null?void 0:qa.map(_l=>({name:_l})))||[],colorType:parseInt((xa=Vo==null?void 0:Vo.properties)==null?void 0:xa.color)>3?"3":(Il=Vo==null?void 0:Vo.properties)==null?void 0:Il.color})}),(Xm=(Os=i1==null?void 0:i1.data)==null?void 0:Os.relationships)==null?void 0:Xm.filter(Vo=>Vo.type==="\u5305\u542B")),MP=(0,Au.RN)(xT),dv=(hv=MP.nodes)==null?void 0:hv.filter((Vo,up,Kp)=>up===Kp.findIndex(Jp=>Jp.id===Vo.id));Mt(dv);let wT=(Wm=MP.edges)==null?void 0:Wm.filter((Vo,up,Kp)=>up===Kp.findIndex(Jp=>Jp.source===Vo.source&&Jp.target===Vo.target));dv.map(Vo=>(Vo.transformd=!0,Vo.style={labelWordWrap:!0,labelPlacement:Vo.depth===0?"center":Vo.depth<3?"top-left":"top",haloLineWidth:Math.max(20-Vo.depth*6,0),labelMaxWidth:Vo.depth===0?300:200,labelFontSize:Vo.depth===0?22:dv.length>300?12:14,labelLineHeight:100,halo:Vo.depth<3},Vo)),ot.current=null;let GL=dv==null?void 0:dv.length;ot.current=new Au.kJ({container:Ls.current,autoResize:!0,background:"#010A23",autoFit:{type:dv.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:dv,edges:wT},node:{type:"circle",style:{size:Vo=>Vo.colorType==1?100:Vo.depth<2?50:GL>250?10:20,fill:Vo=>Vo.newcolor,labelText:Vo=>Vo.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:Vo=>Vo.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:dv.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",position:"bottom",enable:Vo=>Vo.targetType==="node",getContent:(Vo,up)=>{let Kp="";return up.forEach(Jp=>{Kp+=`
${Jp.name||""}
`}),Kp}}],behaviors:["drag-canvas",{type:"zoom-canvas",enable:!1,preventDefault:!1,onFinish:()=>{setTimeout(()=>{var Vo;yi((((Vo=ot==null?void 0:ot.current)==null?void 0:Vo.getZoom())*100).toFixed(0))},300)}},"drag-element",{type:"collapse-expand",onExpand:(Vo,up)=>{console.log("----",Vo,up)}},{type:"fix-element-size",state:"fix-element-size",enable:!0},{type:"click-select",state:"selected",onClick:Vo=>{Yo.current?(clearTimeout(Yo.current),Yo.current=null):Yo.current=setTimeout(()=>{let up=dv.filter(Kp=>{var Jp,BP;return(Kp==null?void 0:Kp.id)===((BP=(Jp=Vo.target)==null?void 0:Jp.config)==null?void 0:BP.id)});if((up==null?void 0:up.length)===0){On(!1);return}Wn(up==null?void 0:up[0]),On(!0),Vo.view.setCursor("pointer"),Yo.current=null},300)},multiple:!1},{type:"hover-activate",enable:Vo=>Vo.targetType==="node",degree:1,state:"highlight",direction:"both",inactiveState:"inactive",onHover:Vo=>{Vo.view.setCursor("pointer")},onHoverEnd:Vo=>{Vo.view.setCursor("default")}}],transforms:[{type:"place-radial-labels"}]}),ot.current.render(),Ls.current&&(Ls.current.style.opacity=1),(YE=ot==null?void 0:ot.current)==null||YE.fitView(),setTimeout(()=>{var Vo;yi((((Vo=ot==null?void 0:ot.current)==null?void 0:Vo.getZoom())*100).toFixed(0))},300);var UM=ot.current.getOptions();setTimeout(()=>{UM.animation=!0,ot.current.setOptions(UM)},2500),window.graphsRef=ot.current}let r1=yield(0,gn.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:et==null?void 0:et.pathId}});(r1==null?void 0:r1.status)===0&&Or(r1==null?void 0:r1.data)})}const Br=(lr,Uo)=>{if(ot.current){if(Qi){lr==="Leave"?lt.current.settype(""):lt.current.settype(Uo==null?void 0:Uo.name);return}if(ui){lt.current.onMouse(lr,Uo.name);return}try{const is={},aa={};ot.current.getEdgeData().map(Os=>{is[Os.id]=lr==="Enter"?"inactive":"active"}),ot.current.getNodeData().map(Os=>{lr==="Enter"?aa[Os.id]=Os.colornodeType===Uo.name?"highlight":"inactive":aa[Os.id]="active"}),ot.current.setElementState(is),ot.current.setElementState(aa)}catch(is){}}},bs=(lr,Uo)=>{if(ot.current){if(ui){lt.current.onMouse(lr,Uo.name);return}try{const is={},aa={};ot.current.getEdgeData().map(Os=>{is[Os.id]=lr==="Enter"?"inactive":"active"}),ot.current.getNodeData().map(Os=>{var Xm,hv;lr==="Enter"?aa[Os.id]=(hv=(Xm=Os.tags)==null?void 0:Xm.map(Wm=>Wm==null?void 0:Wm.name))!=null&&hv.includes(Uo.name)?"highlight":"inactive":aa[Os.id]="active"}),ot.current.setElementState(is),ot.current.setElementState(aa)}catch(is){}}};return Ur.createElement(an.Z,{spinning:Js},Ur.createElement("div",{ref:li,className:"h-screen flex flex-col",style:{background:"#010A23",height:"100%"}},Ur.createElement("div",{className:"relative w-full"},Ur.createElement("div",{className:"flex w-full px-40px-rem pt-24px-rem absolute gap-20px-rem",style:{left:0,top:0,justifyContent:"start",zIndex:1}},Ur.createElement("span",{className:pd.tupugx,onClick:()=>{ve()}},Ur.createElement("img",{src:"/images/tpgx.svg",style:{marginRight:"10rem",width:"16rem"}}),"\u56FE\u8C31\u5173\u7CFB"),Ur.createElement("div",{className:pd.autocomp},Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement(as.Z,{className:pd.autocompwidth,options:Cn,popupClassName:pd.autopop,getPopupContainer:()=>li.current,value:Zn,onSelect:(lr,Uo)=>{var is;if(ti(rt.find(aa=>aa.id===lr).name),Wn(rt.find(aa=>aa.id===lr)),On(!0),Qi){lt.current.selectall(lr);return}if(ui)lt.current.selectall(lr);else{let aa=ot.current.getElementDataByState("node","selected");(aa==null?void 0:aa.length)>0&&ot.current.setElementState((is=aa==null?void 0:aa[0])==null?void 0:is.id,[""]),ot.current.setElementState(lr,["selected"])}},onChange:lr=>{ti(lr)},onSearch:lr=>{En(()=>{var Uo,is,aa;return $i==="\u5168\u90E8"?(Uo=rt==null?void 0:rt.filter(Os=>Os.name.includes(lr)))==null?void 0:Uo.map(Os=>({label:Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement("span",{style:{marginRight:"10rem",height:"20rem",lineHeight:"20rem",padding:"0rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Os==null?void 0:Os.nodeType)," ",Ur.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Os==null?void 0:Os.name.replaceAll(lr,`${lr}`)}})),value:Os==null?void 0:Os.id})):(aa=(is=rt==null?void 0:rt.filter(Os=>{var Xm;return(Xm=Os==null?void 0:Os.tags)==null?void 0:Xm.find(hv=>hv.name===$i)}))==null?void 0:is.filter(Os=>Os.name.includes(lr)))==null?void 0:aa.map(Os=>({label:Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement("span",{style:{marginRight:"10rem",height:"20rem",padding:"2rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Os==null?void 0:Os.nodeType)," ",Ur.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Os==null?void 0:Os.name.replaceAll(lr,`${lr}`)}})),value:Os==null?void 0:Os.id}))})}},Ur.createElement(Gt.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",addonBefore:Ur.createElement(Is.Z,{overlayClassName:pd.dropdownst,menu:{items:[{label:Ur.createElement("div",{onClick:()=>{ii("\u5168\u90E8"),bs("\u5168\u90E8","")}},"\u5168\u90E8"),key:"1"},...cs==null?void 0:cs.map(lr=>({label:Ur.createElement("div",{onClick:()=>{ii(lr.name),bs("Enter",lr)}},lr==null?void 0:lr.name),key:lr.id}))]}},Ur.createElement("div",{style:{display:"flex",alignItems:"center"}},Ur.createElement("div",{className:pd.textname,style:{width:"60rem"}},$i),Ur.createElement("div",{style:{height:"22rem",background:"linear-gradient( 180deg, rgba(255,255,255,0) 0%, #AEAEAE 52%, rgba(255,255,255,0) 100%)",width:"1rem"}})))})))),Ur.createElement("div",{className:"flex ml-auto",style:{zIndex:"3"}},((Me=E==null?void 0:E.detail)==null?void 0:Me.can_managed)&&po.get("type")==="classrooms"&&Ur.createElement("div",{className:`current flex item-center c-white ${pd.ChangeBut}`,onClick:()=>{xt.history.push(`/knowledgegraph/${et==null?void 0:et.pathId}/statistics/pathatlas/${le}?type=classrooms&tabs=3`)}},"\u6570\u636E\u7EDF\u8BA1"),((De=E==null?void 0:E.detail)==null?void 0:De.sync_uuid)&&((Oe=E==null?void 0:E.detail)==null?void 0:Oe.sync_uuid)===le&&((Re=E==null?void 0:E.detail)==null?void 0:Re.can_managed)&&Ur.createElement(ft.Z,{title:"\u540C\u6B65"},Ur.createElement("img",{className:"current",onClick:(0,BO.debounce)(()=>{jt.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:()=>li.current,content:"\u8BF7\u786E\u5B9A\u662F\u5426\u5C06\u540C\u6B65\u8BFE\u7A0B\u7AE0\u8282\u5185\u5BB9\uFF0C\u66F4\u65B0\u540E\u539F\u6709\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u5C06\u88AB\u8986\u76D6\uFF0C\u8986\u76D6\u540E\u53EF\u5728\u7248\u672C\u7BA1\u7406\u4E2D\u9009\u62E9\u6062\u590D\u3002",onOk:()=>e1(void 0,null,function*(){var lr;const Uo=(lr=de==null?void 0:de.find(aa=>(aa==null?void 0:aa.uuid)===le))==null?void 0:lr.name;let is=yield(0,gn.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:et==null?void 0:et.pathId,uuid:le,name:Uo}});is.status===0&&kt.ZP.info(is==null?void 0:is.message)})})},500),src:gs===1?"/images/gxxz.png":"/images/gx.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(1)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Le=E==null?void 0:E.detail)==null?void 0:Le.can_managed)&&Ur.createElement("div",{className:pd.hoverone},Ur.createElement("div",{onClick:()=>e1(void 0,null,function*(){let lr=yield(0,gn.ZP)("/api/knowledge/v2/backup.json",{method:"POST",body:{subject_id:et==null?void 0:et.pathId,parentNodeUuid:le}});(lr==null?void 0:lr.status)===0&&kt.ZP.info("\u56FE\u8C31\u4FDD\u5B58\u6210\u529F")})},Ur.createElement("img",{src:gs===2?"/images/bcbbxz.png":"/images/bcbb.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(2)}}),Ur.createElement("div",{className:pd.name},"\u4FDD\u5B58\u7248\u672C")),Ur.createElement("div",{onClick:()=>e1(void 0,null,function*(){Ti.page=1,Ti.limit=10;let lr=yield(0,gn.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:WE({subject_id:et==null?void 0:et.pathId,nodeUuid:le},Ti)});qo(Ti),(lr==null?void 0:lr.status)===0&&(_i(!0),Rr(lr))})},Ur.createElement("img",{src:gs===3?"/images/qhbbxz.png":"/images/qhbb.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(3)},className:pd.img}),Ur.createElement("div",{className:pd.name},"\u5207\u6362\u7248\u672C"))),((Qe=E==null?void 0:E.detail)==null?void 0:Qe.can_managed)&&Ur.createElement(ft.Z,{title:"\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31"},Ur.createElement("div",{className:"current flex item-center justify-center c-white",style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem",borderRadius:"50%",background:"#202F4F"},onClick:()=>{ts.Z.publish("create_a_knowledge_map")}},Ur.createElement("span",{className:"iconfont icon-tianjia4"}))),po.get("type")!=="classrooms"&&!(0,uu.JA)()&&Ur.createElement(ft.Z,{title:"\u53D1\u9001\u81F3\u8BFE\u5802"},Ur.createElement("img",{src:gs===13?"/images/glkt.png":"/images/glktxz.png",className:"current",style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"},onClick:()=>{se({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"knowledge"}}}})},onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(13)}})),Ur.createElement("div",{className:pd.hoverone},Ur.createElement("div",{onClick:()=>{ui=!1,Mi(!1),rr(!1),cn(!0),Vr(2,!0)}},Ur.createElement("img",{src:gs===4?"/images/gxtxz.png":"/images/gxt.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(4)}}),Ur.createElement("div",{className:pd.name},"\u5173\u7CFB\u56FE")),Ur.createElement("div",{onClick:()=>{ui=!0,rr(!1),Mi(!0)}},Ur.createElement("img",{src:gs===5?"/images/zssxz.png":"/images/zss.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(5)},className:pd.img}),Ur.createElement("div",{className:pd.name},"\u77E5\u8BC6\u6811"))),Ur.createElement(ft.Z,{title:"\u5168\u5C4F"},Ur.createElement("img",{className:"current",onClick:()=>{var lr,Uo,is,aa;(0,HL.vp)()?(rn(!1),(0,HL.BU)(),!ui&&Xt?(lr=ot==null?void 0:ot.current)==null||lr.fitCenter():(Uo=lt==null?void 0:lt.current)==null||Uo.fitView()):(rn(!0),(0,HL.Dj)(li.current),!ui&&Xt?(is=ot==null?void 0:ot.current)==null||is.fitCenter():(aa=lt==null?void 0:lt.current)==null||aa.fitView())},src:gs===6?"/images/qpxz.png":"/images/qp.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(6)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Xe=E==null?void 0:E.detail)==null?void 0:Xe.can_managed)&&Ur.createElement("div",{className:pd.hoverone,style:{marginRight:"0rem"}},Ur.createElement("div",{onClick:()=>{to(!0)}},Ur.createElement("img",{src:gs===10?"/images/drxz.png":"/images/dr.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(10)}}),Ur.createElement("div",{className:pd.name},"\u5BFC\u5165")),Ur.createElement("div",{onClick:()=>{(0,bt.FH)("",Bt.Z.API_SERVER+`/api/knowledge/v2/export.json?subject_id=${et==null?void 0:et.pathId}&fileType=xlsx&parentNodeUuid=${le}`)}},Ur.createElement("img",{src:gs===11?"/images/dcxz.png":"/images/dc.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(11)},className:pd.img}),Ur.createElement("div",{className:pd.name},"\u5BFC\u51FA")))))),Xt&&!ui&&!Qi&&Ur.createElement("div",{className:"w-full h-screen",style:{opacity:0},ref:Ls}),Ur.createElement("div",{id:"myDiagramDiv",className:`w-full ${ui?"h-screen":""}`},ui?Ur.createElement(Wd,{ref:lt,setzoomsize:yi,setshowdetail:On,setitems:Wn,nodeUuid:le,subject_id:et==null?void 0:et.pathId}):"",Qi?Ur.createElement(Oie,{ref:lt,setzoomsize:yi,setshowdetail:On,setitems:Wn,nodeUuid:le,subject_id:et==null?void 0:et.pathId}):""),Ur.createElement("div",{className:"flex item-center sticky c-white px-10px-rem",style:{bottom:"30px",zIndex:101}},(rt==null?void 0:rt.length)>0&&Ur.createElement("div",{className:" flex item-center gap-12px-rem"},(Ze=HM.filter(lr=>{var Uo;return(Uo=rt==null?void 0:rt.map(is=>is==null?void 0:is.colornodeType))==null?void 0:Uo.includes(lr==null?void 0:lr.name)}))==null?void 0:Ze.map(lr=>Ur.createElement("div",{onMouseLeave:()=>Br("Leave",lr),onMouseEnter:()=>Br("Enter",lr),className:"flex item-center current gap-6px-rem"},Ur.createElement("div",{className:"rounded-full",style:{width:"20rem",height:"20rem",background:lr.color}}),Ur.createElement("span",null,lr==null?void 0:lr.name)))),Ur.createElement("div",{className:"flex item-center ml-auto"},!ui&&!Qi&&Ur.createElement(Is.Z,{overlayClassName:pd.dropdownst,getPopupContainer:()=>li.current,menu:{items:[{label:Ur.createElement("div",{onClick:()=>{Vr()}},"\u5C55\u5F00\u5168\u90E8"),key:"1"},{label:Ur.createElement("div",{onClick:()=>{Vr(3)}},"\u5C55\u5F003\u5C42"),key:"2"},{label:Ur.createElement("div",{onClick:()=>{Vr(2)}},"\u5C55\u5F002\u5C42"),key:"3"},{label:Ur.createElement("div",{onClick:()=>{Vr(1)}},"\u5C55\u5F001\u5C42"),key:"4"},{label:Ur.createElement("div",{onClick:()=>{Vr(0)}},"\u6536\u8D77\u5168\u90E8"),key:"5"}]}},Ur.createElement("img",{style:{cursor:"pointer"},onClick:()=>{},src:gs===7?"/images/xscjxz.png":"/images/xscj.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(7)}})),!Qi&&Ur.createElement(ft.Z,{title:"\u5C45\u4E2D\u663E\u793A"},Ur.createElement("img",{onClick:()=>{cn(!1),Vr()},style:{marginLeft:"10rem",cursor:"pointer"},src:gs===8?"/images/jzxsxz.png":"/images/jzxs.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(8)},className:pd.img})),Ur.createElement("div",{style:{marginLeft:"10rem",background:"#202F4F",borderRadius:"4px",alignItems:"center"}},Ur.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(Qi){lt.current.handleZoom("out");return}ui?(lt.current.zoomBy(.9),lt.current.getZooms()):(ot.current.zoomBy(.9),setTimeout(()=>{var lr;yi((((lr=ot==null?void 0:ot.current)==null?void 0:lr.getZoom())*100).toFixed(0))},300))},src:gs===9?"/images/newsxxz.png":"/images/newsx.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(9)}}),!Qi&&Ur.createElement("span",{style:{display:"inline-flex",width:"46px",justifyContent:"center"},onClick:()=>{}}," ",Rt+"%"),Ur.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(Qi){lt.current.handleZoom("in");return}ui?(lt.current.zoomBy(1.1),lt.current.getZooms()):(ot.current.zoomBy(1.1),setTimeout(()=>{var lr;yi((((lr=ot==null?void 0:ot.current)==null?void 0:lr.getZoom())*100).toFixed(0))},300))},src:gs===12?"/images/newfdxz.png":"/images/newfd.png",onMouseOut:()=>{fr(!1)},onMouseOver:()=>{fr(12)}})))),Ur.createElement(tr.Z,{tpacti:xe,initdata:ge,uuid:le,Tabsdatas:de,setshow:cn,getData:Vr,containerRef:li,showdetail:hi,setshowdetail:On,items:Dn}),Ur.createElement(jt.default,{title:"\u6587\u4EF6\u5BFC\u5165",open:Ir,centered:!0,getContainer:()=>li.current,okButtonProps:{loading:Jo},onCancel:()=>{to(!1),sr([])},onOk:()=>e1(void 0,null,function*(){var lr,Uo,is;const aa=new FormData;if(Pr.length>0)aa.append("file",Pr[0]);else{kt.ZP.warning("\u8BF7\u9009\u62E9\u6587\u4EF6");return}Ot(!0),aa.append("subject_id",(et==null?void 0:et.pathId)+""),aa.append("parentNodeUuid",le);let Os=yield(0,gn.ZP)("/api/knowledge/v2/import.json",{method:"post",body:aa},!0);Ot(!1),(Os==null?void 0:Os.status)===0&&((lr=Os==null?void 0:Os.data)!=null&&lr.importErrorFilePath?jt.default.confirm({icon:null,title:"\u5BFC\u5165\u5931\u8D25",centered:!0,content:Ur.createElement("span",null,"\u68C0\u6D4B\u5230\u672C\u6B21\u5BFC\u5165\u5B58\u5728\u4E0D\u7B26\u5408\u8981\u6C42\u7684\u6570\u636E\uFF0C\u70B9\u51FB\u4E0B\u8F7D",Ur.createElement("a",{href:`${Bt.Z.API_SERVER}${(Uo=Os==null?void 0:Os.data)==null?void 0:Uo.importErrorFilePath}`,download:"\u5931\u8D25\u6570\u636E.xlsx"},"\u5BFC\u5165\u5931\u8D25\u7684\u6570\u636E"),"\u67E5\u770B")}):(Vr(),cn(!1),(is=Os==null?void 0:Os.data)!=null&&is.has_route?kt.ZP.info("\u77E5\u8BC6\u56FE\u8C31\u6570\u636E\u5BFC\u5165\u6210\u529F\uFF0C\u4E3A\u4FDD\u8BC1\u5B66\u4E60\u8DEF\u5F84\u7684\u8282\u70B9\u4E0E\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7ED1\u5B9A\uFF0C\u8BF7\u66F4\u65B0\u5B66\u4E60\u8DEF\u5F84"):kt.ZP.info("\u5BFC\u5165\u6210\u529F"),sr([]),Wn({}),to(!1)))})},(rt==null?void 0:rt.length)>0&&Ur.createElement("div",{style:{marginBottom:30,color:"#333333"}},"\u68C0\u6D4B\u5F53\u524D\u5DF2\u5B58\u5728\u6570\u636E\uFF0C\u5BFC\u5165\u540E\u539F\u6570\u636E\u5C06\u4F1A\u88AB\u8986\u76D6\uFF0C\u6309\u7167\u6700\u65B0\u5BFC\u5165\u7684\u4E3A\u4E3B\uFF0C\u5982\u9700\u7EE7\u7EED\u5BFC\u5165\uFF0C\u8BF7\u6309\u7167\u4E0B\u65B9\u6B65\u9AA4\u8FDB\u884C"),Ur.createElement("p",{style:{color:"#5F6368"}},"\u6B65\u9AA41\uFF1A",Ur.createElement("span",{style:{color:"#000000"}},"\u4E0B\u8F7D"),Ur.createElement("a",{href:`${Bt.Z.API_SERVER}/api/knowledge/v2/down_template.json`,download:"\u6A21\u7248.xlsx"},"\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248")),Ur.createElement(Tr.Z,null,Ur.createElement(vs.Z,{style:{color:"#5F6368"}},"\u6B65\u9AA42\uFF1A",Ur.createElement("span",{style:{color:"#000000"}},"\u4E0A\u4F20\u586B\u5199\u597D\u7684\u300A\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248\u300B"))),Ur.createElement(Tr.Z,{style:{marginTop:10,marginLeft:50}},Ur.createElement(Ka.default,WE({},Zo),Ur.createElement("span",{style:{padding:"0px 16px",color:"#1b8565",cursor:"pointer",height:32,alignItems:"center",display:"inline-flex",borderRadius:2,border:"1px solid #1b8565",background:"#1b8565 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)"}},Ur.createElement("i",{style:{fontSize:12,marginRight:6},className:"iconfont icon-tianjiashitixiaojiahao"})," \u9009\u62E9\u6587\u4EF6")))),Ur.createElement(Xs.Z,null,Ur.createElement(Ur.Fragment,null,Ur.createElement(jt.default,{title:"\u7248\u672C\u8BB0\u5F55",centered:!0,width:1200,open:Fr,footer:!1,getContainer:()=>li.current,onCancel:()=>{_i(!1)}},Ur.createElement($u.default,{dataSource:Io==null?void 0:Io.data,pagination:!1,columns:[{title:"\u7248\u672C\u4FDD\u5B58\u65F6\u95F4",dataIndex:"created_at",ellipsis:!0,key:"created_at",render:(lr,Uo)=>Ur.createElement("div",null,Ur.createElement("span",null,lr),(Uo==null?void 0:Uo.is_now_version)&&Ur.createElement("span",{style:{background:"#2BAC8E",padding:"4rem",fontSize:"12rem",marginLeft:"5rem",color:"#fff"}},"\u5F53\u524D\u4F7F\u7528\u7248\u672C"))},{title:"\u4FDD\u5B58\u4EBA",dataIndex:"username",ellipsis:!0,key:"username"},{title:"\u64CD\u4F5C",dataIndex:"name",ellipsis:!0,key:"name",render:(lr,Uo)=>Ur.createElement("div",null,Ur.createElement("span",{style:{color:"#1B8565",marginRight:"30rem",cursor:"pointer"},onClick:()=>e1(void 0,null,function*(){var is,aa;let Os=yield(0,gn.ZP)(`${Uo==null?void 0:Uo.url}`,{method:"get"});(Os==null?void 0:Os.status)===0&&((aa=(is=Os==null?void 0:Os.data)==null?void 0:is.nodes)==null?void 0:aa.length)>0&&mi(Os==null?void 0:Os.data)})},"\u67E5\u770B"),Ur.createElement("span",{onClick:()=>e1(void 0,null,function*(){if(Uo!=null&&Uo.is_now_version)return;let is=yield(0,gn.ZP)("/api/knowledge/v2/restore.json",{method:"post",body:{subject_id:et==null?void 0:et.pathId,backupFilePath:Uo==null?void 0:Uo.backupFilePath}});(is==null?void 0:is.status)===0&&(Vr(),_i(!1),cn(!1),kt.ZP.info("\u5207\u6362\u6210\u529F"))}),style:{color:Uo!=null&&Uo.is_now_version?"#999999":"#1B8565",cursor:"pointer"}},"\u5207\u6362\u81F3\u5F53\u524D\u7248\u672C"))}]}),Ur.createElement(Ws.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},pageSize:Ti.limit,total:Io==null?void 0:Io.total_count,current:Ti.page,onChange:(lr,Uo)=>e1(void 0,null,function*(){Ti.page=lr,Ti.limit=Uo,qo(Ti);let is=yield(0,gn.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:WE({subject_id:et==null?void 0:et.pathId,nodeUuid:le},Ti)});(is==null?void 0:is.status)===0&&(_i(!0),Rr(is))})})),Ur.createElement(jt.default,{open:((it=dn==null?void 0:dn.nodes)==null?void 0:it.length)>0,title:"\u5386\u53F2\u56FE\u8C31",width:"1200rem",footer:null,getContainer:()=>li.current,destroyOnClose:!0,onCancel:()=>{mi({})}},Ur.createElement(Xie,{datas:dn}))))))};var qie=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(Jie),t1={wrap:"wrap___HuFFi",add:"add___GrP2R",dimensionalBall:"dimensionalBall___flm6B",archer:"archer___biVqC",svg:"svg___hXxGw",modal:"modal___DR9M_",mHead:"mHead___I923K",form:"form___W2fTe",mType:"mType___hoISa",listItem:"listItem___JCZwd"},cv={flex_box_center:"flex_box_center___aEG4A",flex_space_between:"flex_space_between___O70yE",flex_box_vertical_center:"flex_box_vertical_center___rEvY1",flex_box_center_end:"flex_box_center_end___Xp3ui",flex_box_column:"flex_box_column___McZmY",largeBall:"largeBall___SbxSR",middleBall:"middleBall___eKLzh",smallBall:"smallBall___r7xv5",largeBallDish:"largeBallDish___EeTGm",middleBallDish:"middleBallDish___hca4h",smallBallDish:"smallBallDish___rrHxf",smallBallGather:"smallBallGather___hHHqa",box:"box___yWjPn",spectrum:"spectrum___r9a7p",pedestal:"pedestal___Grjvz",spectrumHover:"spectrumHover___OibBM",pedestalHover:"pedestalHover___EcKUJ"};const _ie="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjkxcHgiIGhlaWdodD0iMTk0cHgiIHZpZXdCb3g9IjAgMCAyOTEgMTk0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuWfuuW6pzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNzgwNjE3JSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyNy43NzI4NjQzJSIgeTE9IjQzLjE1NTA2NzMlIiB4Mj0iOTcuMjIyMjIyMiUiIHkyPSI1MCUiIGlkPSJsaW5lYXJHcmFkaWVudC00Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzMxN0NEMyIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjcyQTk1IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMCUiIHkxPSI1MCUiIHgyPSI1MCUiIHkyPSI2NC4yMTc0OTQ1JSIgaWQ9ImxpbmVhckdyYWRpZW50LTUiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1QjVGRkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNiIgcG9pbnRzPSIxNDQuNzQ1OSAxNi40Njc5NzAxIDI2MC4xMzI5MzUgNzIuOTI3OTU1NiAxNDYuMTg4MjM4IDEzOC43NTc4OTYgMzAuODAxMjAzMyA3Mi4yMDcxODk5Ij48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS41JSIgeT0iLTIuOSUiIHdpZHRoPSIxMDMuMSUiIGhlaWdodD0iMTA1LjclIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNyI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSI1IiBpbj0ic2hhZG93Qmx1cklubmVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRJbm5lcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0SW5uZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIgcmVzdWx0PSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuNzk2ODM2ODkgICAwIDAgMCAwIDAuOTc0NjYwMTA4ICAgMCAwIDAgMCAxICAwIDAgMCAwLjUgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IjA4MjAtM0Tlm77osLEt5YiH5Zu+VjQuMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ0OS4wMDAwMDAsIC0xMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5Z+65bqnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDkuMDAwMDAwLCAxMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ0LjU4NDkwNiAzOC45MDI0MTk0IDI5MSAxMTAuNDY0MzA1IDE0Ni40MTUwOTQgMTkzLjkwMjQxOSAwIDEwOS41NTA3NDkiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMikiIHBvaW50cz0iLTcuNTMxNzUzZS0xMyA3MC43NTEyNzkgMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDE0Ni4wNzY5OTQgMTc3Ljc5MzA4NSAtNy41MzE3NTNlLTEzIDkzLjMxODQ5NzMiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMykiIHBvaW50cz0iMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDI5MC45MzQxMzggNzEuNjY2MTY2MiAyOTAuOTM0MTM4IDk0LjIzMzM4NDUgMTQ2LjA3Njk5NCAxNzcuNzkzMDg1Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTQpIiBwb2ludHM9IjE0NC41NTIxODIgLTUuODk5OTA5NzdlLTEzIDI5MC45MzQxMzggNzEuNjY2MTY2MiAxNDYuMzgxOTU2IDE1NS4yMjU4NjYgLTUuNjg0MzQxODllLTEzIDcwLjc1MTI3OSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTUpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTYiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci03KSIgeGxpbms6aHJlZj0iI3BhdGgtNiI+PC91c2U+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",$ie="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjk1cHgiIGhlaWdodD0iMTk3cHgiIHZpZXdCb3g9IjAgMCAyOTUgMTk3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuW6leW6p+mAieS4rTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNTUwNjczJSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI2LjA2MjU2MyUiIHgyPSI1MCUiIHkyPSI2NC40MjMxOTgxJSIgaWQ9ImxpbmVhckdyYWRpZW50LTQiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyREUxRkQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNSIgcG9pbnRzPSIxNDYuMzI3NiAxNi42NDc5MjI2IDI2Mi45NzU1MTcgNzMuNzI0ODcwMiAxNDcuNzg1Njk5IDE0MC4yNzQxNjIgMzEuMTM3NzgxMSA3Mi45OTYyMjgzIj48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS4xJSIgeT0iLTIuMCUiIHdpZHRoPSIxMDIuMiUiIGhlaWdodD0iMTA0LjAlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjAuNSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd0JsdXJJbm5lcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjQiIGluPSJzaGFkb3dCbHVySW5uZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldElubmVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMC43OTY4MzY4OSAgIDAgMCAwIDAgMC45NzQ2NjAxMDggICAwIDAgMCAwIDEgIDAgMCAwIDAuNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMDgyMC0zROWbvuiwsS3liIflm75WNC4wIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQ3MS4wMDAwMDAsIC0xMzU0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5bqV5bqn6YCJ5LitIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNDcxLjAwMDAwMCwgMTM1NC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMyI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ2LjEzMTc2NSAzOS40MTkzNDQyIDI5NC4xMTMyOTggMTExLjg2ODYzNyAxNDcuOTgxNTM0IDE5Ni4zNDE0MjkgLTEuNDIxMDg1NDdlLTEzIDExMC45NDM3NTIiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTIpIiBwb2ludHM9IjEuMTM2ODY4MzhlLTEzIDcxLjUyNDQwOCAxNDcuNjczMjM5IDE1Ni45MjIwODUgMTQ3LjY3MzIzOSAxNzkuNzM1OTA1IDEuMTM2ODY4MzhlLTEzIDk0LjMzODIyNzgiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTMpIiBwb2ludHM9IjE0Ny42NzMyMzkgMTU2LjkyMjA4NSAyOTQuMTEzMjk4IDcyLjQ0OTI5MjYgMjk0LjExMzI5OCA5NS4yNjMxMTI0IDE0Ny42NzMyMzkgMTc5LjczNTkwNSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHBvaW50cz0iMTQ2LjEzMTc2NSAtNC43OTMzNDg4M2UtMTMgMjk0LjExMzI5OCA3Mi40NDkyOTI2IDE0Ny45ODE1MzQgMTU2LjkyMjA4NSAtMS40MjEwODU0N2UtMTMgNzEuNTI0NDA4Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC00KSIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",ere="data:image/png;base64,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",tre="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUcAAAGCCAYAAABzbAFsAAAAAXNSR0IArs4c6QAAIABJREFUeF7svWtvG1ma5/k/ESduvJO6WbYyy5nlzulxbu9i14MCFthB+UVjgf0A7o9QX8Ppj7H1Edpv9vW8cgGNWWAWxgA9W+7pLHWWMq20LJEixWvcIyafuFDBIEMkJVJKSkGUK8WIE+c5fCLOL57LuTDkn1wDuQZyDeQamNIA21Sd+L4/0XbGmL+pvyVvd66B+6SB+9I3Nw6OacWnH6ockvepm+W/ZZM0cN/65kbBcZ7y4wcpB+Qmdam8rfdBA/exb24yHNNtH7vVORzvQ3fLf8MmaSAFx3vRN+8THOlZCgCZw3GTulXe1vuggTlw3Mi+ualwzGp3Dsf70NPy37BxGkjA8d70zU2HY9z+ZKY6TGPn2euN62B5gzdXAzPguPF9cxPhGLc5K66RW4+b28fylm+oBiI43qu+uTFwTL2ZMk33N78EHl8Dfh533NBeljd74zRwX/vmpsFx6s30DmAvo0TMWwCvwr9zOG5cF8sbvKkayLIaN71vbjIcr3Krczhuak/L271xGpgBx3vRNzcOjm8B9ip8fIK2vwfYC8B/ByCyIAPLMR/Ss3F9LG/whmoghuN965sbB0eCYmSuJwEJAmQERT+PO25oL8ubvZEaSFiO96pvbiQcCZCRxZh8mMZwjA7mrvVGdrW80ZumgSQc71Pf3Fg4xm71B4A9v7Qa8Rbw86TMpnWvvL2brIE0HO9L39wkOArRA0RtTv7DBwA64Cdd6zxjvcndLW/7JmnA9/172Tc3Co5xwPc9IGihxZjlVufDeTapd+Vt3WgNEBzvY9/cRDiOrcbDKGP9LJGMiZMyueW40f0tb/wGaSABx3vVNzcKjil3mhEcn4UPkZ9wrb0YkPksmQ3qYXlTN1YDkVs9Ee66D31zM+Do+7QHQjrWGH/HIQAL8KO4Yw7Hje1mecM3TgP3uG9uBBzT2bAPgCADjB+B4Snof8lhPDkcN66H5Q3eVA3c5765cXBMJGPYEcCeAjgC4AD+M4DAmMNxU3ta3u6N00ASjvetb24kHF8A7OgIwlMiYwKO1gf4z5/DzWOOG9fH8gZvqAbScLxPfXPj4AhAODyEwJ+B8ShbTVYjudYfAP85cjhuaD/Lm72BGki51feqb24mHAGBwBjDEcfAwQG8HI4b2LvyJm+0BqbgeI/65sbB8QMgUjLmWZS9PjkBc/fhR9aj9+4dvJcvw7hjPpRno/td3vgN0EASjvetb24kHJ8D7BgQxMitdhHC0TmEf/wM7ssoKZPDcQN6V97EjdZAGo73qW9uJBwLRxD4U7AYjjgBzH14BMhjJOFIzx0Nkcw/uQZyDaxDA2k43qe+uXFwBCAeAYJyAgH7gHAK5u3BJ+vRALxngPv2LfxXr+AFPy7fhXAdfSKvM9dAoIFUzPFe9c2NguM7QHgJCAEcAUGI3GoPl3DsAt4PgPcKORzz/ptrYN0aiOF4H/vmxsHxABApS52E4ymABuAdAN77BBxDwzF3q9fdQfL6H64GknC8b31zI+GoRskYshz3ABAc7QiObz/Ax3O4ZDnmcHy4nTb/5bejgTQc71Pf3Cg4BgPAAZFugJRyq8m13gfcxFjHHI630z9yKQ9YA4mY473rm/cCjs0mUN+Bl8PxAffS/KffiQbmwXGT++bGwZGy1TTGMbYc2wCjTHUdl3A8A7w/Ad7rfCD4nXSYXOjD0UASjvetb24MHN8CwtfvIbx4AeEEEDuJQeANwD8B/MoR3NFTeDkcH07nzH/p3WqA4Hhf++ZmwREQXuASjrvRUJ5zACbgVQB3hByOd9tdcukPSQNjON7Dvvnrh2O40jBtuUo7nImvAEaWIwcEBrCLyK2uAZ4OuPEUwtytfkhdNP+td6KBe943NxKO/3wKruxNzq0ewzGaQpjD8U66Sy70IWlgBhzvU9/cGDjSMJ63keX4zwCnQeA0t5rGOtIwHgvwCoATrQhOC97mK/M8pI6a/9bb10AEx/vaN68NxyhLNXVDVj6f2ffZdwD7PSDsAkIh3LNa7LchCgwMlKaO4NgF3J1ofnUOx9vvK7nEB6aBX1nfXDWTNheOgDgxt7oFv70NJ4fjA+ug+c+9Ow1kwfGO+uadwzGrAek7tLI5zTNuwAjgcjRDpncBVvE7vl2ve0XAiVfmyS3Hu+szueQHooFfSd9cF5OWshwXbUT8aKwEkIkbcHAIkfaOieE4uIBQo0wM4NPc6gHgVgGXli3L4fhAOmj+M+9OA7+CvrlOJi0Ex2UbkLxbNwZk8gYAYvMYQvUA4iNA6IXDe3I43l33yCU/ZA3cYd+8DSYtAkfm+zdfTPu6kCQlvIkSMrQkUhMQnlFCBhCH3a6AapXMRF8D3B8B7/8MtrDOLceH3Gfz3347GrjDvnkrTJoLx3mEJnDRraB5zFfdkutmsWfdgAbAaW71MLIcCY6lcB1Hl+D4/j28H36AF6wGnq/neDs9JZfy4DRwV33ztph0JRyvagRB8fXsxyETktcBVdYN0AGRxjmKPTDXh69Vg6mD7v9McEyuBp7D8cF12vwH344G7qJv3iaTrgvHeRbnTEBex3qctSTSz4C0F2WrB9H0QXKrCY60+MT5U7jjrRJyON5OT8mlPDgN3EXfvAKOK2fS0nC8wmJMPxyzAbkkrNI3oHsC0dkHL3QhijQInFaboEHgHXh9B+7THTjnyOH44Hpq/oNvXQN30TdnwXFdTFoajrQtyyJ34U1GHHJZ1zp9A344Bf96D2LsVlNbCI5FwPsJcJ8ih+Mi9ycvk2vgphq4i76ZYTmuhUmZld7AfA10vjY4AvxrXMJR6IN1fPh7FbgG4NL86txyvOljn1+fa2C+BqbguOa+edtMWhiOiaz0fK1dlphyrZeNOyZvAC1Z9p+iG9AEOCVkKtE4R1p4QgacHI7L3J68bK6B62vgtvtmGo7rZtLCcJzlTr+NXOxX4XqLwedVYkgPWY/0SQ/zWca1nnUDtjrgVh1iHWDDPphWhkdwHLbgPtmGnVuO13/g8ytzDSyqgdvumzMsxyl+rZJJs+F4uRRRUk8TZakRBMX0hyCZBGR0fsKCvA4c37+HSFskvG1C2pHAlRoEuQ8BZcDtw5fLcCljrQD2//cBXrw96zKyFn0o8nK5BnINADEcb6Vv3gGTZsJxXtAzC4yJBybtTt8cjoBIWyS8AyQAnJYv0wGhDOAC8GWEcGwfwzk+CGbIBHtX53DMu3GugfVoYAzHW+ibd8Gka8FxXsZ6hvW4EjhuHUE8egpeA7jVhyiWwYQBmFaCpwKuSXAEHFp84s85HNfTI/Jacw3E7uAvc6uJBe8Bcd19cx4c18GkpeGYthrfvQPDS9D/rrIWJ+FIyl1wvCMp5e1bCF+/grAFiEeI4AiI0gACaN4gudUe3JEL12vAJjg+j+ZX55Zj3pdzDaxHA7fZN6+C47qYNBeOMzJCE9dkwTFlPU5nrZeBI23LihlwTKzKQ241zZDxkMNxPV0hrzXXwKQGAjjeUt9MwvG2mLQUHKcIPWNAeGxBrguO/9yC9OU2RDUc6yjoAzAaBF4rwUnC8ewdvD/9Cd5339EWM/kn10CugVVrIA3HdfbNLDiuk0lz4Zj05VMNmXntO4Qu9trgCEhfAqLbBzcZhFIpnCFj9OAKFTjNEzhf78M5AzzagfA7lsNx1Z0ir++6GqAYXbDT8B19Vit/Co5r7Jspt3rMnnUyaRpw0ynzazUkjtnSf2eNd1w0FjjrBnzVBXeq4SBwfRiuysNKcATAaQKOeAj3YxfeyQu437Grl1K7o6f0VyD2Ljvpr+DnX6sJWXAJEhPRJ6nXRY4nGkLYnAg3peX9uuRfp29+jWsYLnfEpCk4zhloGZR/B7CXVz9cwdvx7Vvg1Sv4K4cjwJ1ohkwMR+7DFR04qMM+Wx0c0/q57bf+LcnPQTnncV5o7u5c3gbwS5T67pdv3814eafLza14wQIrlv8dtf/3EJ7vQjioQPyhAOlrDq5WIFrDcJV+Mlwo5KV34FLf1K4Bx7ti0pVwnLHaRVx+fN376Ha/SGSrM1xr0tUYLtexHK1j8IsCpIMGRIJjcAOKwGAIiD240OA0P8E5/jPcXjSc5+2HX2R+t+DDExeLy6evy6pnXrnNkO/frcu35D26leJJy+8XgdMwo34w/cJMl8uCYPo3ULnLZ3B+vWHfm19uTfKTcNR0cPEr8BoH9wXwYMWsYhjy4n24YhnO+Skctw9HewZ3mZBXOt6YWkd2bUxaCI7xlJydCISx1RiDcXxD3wMvXsBfBxzx4YN48Py5KLQhFRoQ+wNIYgnsojUSXL/gsy5cT4Yz0mAfH8LtHYdjHd/+wzXgmH5o/xw9tN8u6KLPg+WyHfu25T/0JNZ3fmD1THyS95T+nvd93vXLPgPz5KXP34L870jm7yE0dIi1J+BlD1J5ByIkcLEIZupg5W24YzgCjgs4NFnjpnC8DSbNc6uD87MakrAYg9vwProZCQsyfqMl32zXthzxAeLB82CvasnrgfuV0HK0dQiSD0+nMY4WnFMdTrcNh+D47gO8d+S2zJrnuOzD+dDK04vgQUHyFysxabnR/Y5fSvT3VS9GKpc8n/4ePztXHY/LpOuZdXzWy/sO5L96DlbvQHgsQ/z6f4NYrkAqSxBNGZJjQKhvwa8WwtWyxHC1rDQciQdzQ1WzkjG3waSF4JiIlEy40y9SNykJSLIe6fMy2Bxw/LmEIx1aYKxjHPSlFXlog60AjgD3I7ea4KjrI1qPxzV12J/7cBwP9hiOf56v/BtzrxlZlju3IGtWY9cp/95DMoJiEoQ3fiAeRgWvXgH1ryE87kP8+t9DLCuQuA4ucHCCo8DAdupDh3tFF2XYPzThlnaCuGNkOVJ/mR/vzshUz3SnV8mka8GRrMZ0I+LHgQBJ1mMMx2b0ZqDFKJJrPAaCbwDHIsBNQDg9h+iN4MOBa0qwfzgN3lT2+Rnc//z/wHv//R0B6771j5e/vOTukyVJU9/+AQKuerHQueQLL/09vsfzyl11XVzHrBfrvHrvWP7Lb8F2nkMgo+XZDsTHT8FtB1JFArdFCNCAkge3rMKZCUdiw4IMSHSnNBSD7+tg0sJwpJkwL6NgY7IhHxL5t+eAv244DjsdmfE6LwngFoPQDSxH0Iasrm7APhnCaZ3DaX2C+98suO9ProBjTPBY83Ewddnj8fVZ12WBclk58+qfdz7djuvIp078lryB+W/8X+X7IQlFut9pHUTuzszjyeckeV26nkXrXbRcWpHz5C1a76LlMuS/+Abs678HOziA+KwK0R/0lcpWWazK4I4QZqsbNTjlYrBdsk27g5aQsBxvCMd1MykTjqlMNUsO34nhmARjoL8PgP4cfjJz/TZhOUY6Dlzr61iO2gm4qkJiHGM4NjsQux0wSYTjMVh/NeCe/QVO8xjuhx7cP3/KLce1QKoDb6MgSUmWd2GHxTdgeJx4Lj4lssRJT4PKXfV91ni2JDSTcrKOU3s2VD7Bcfd/gvC3/wFC5QLSzhYkpQC+W4U4siCS5ViX4RRUOIUSrJvC8baZNBeOiRHoU/HGWXB8/vzSeqT7ngXH0Kueb30kY44awFVAqkQxx95oJI4uCmJbB3wHrjaA9b0IJ4bjf/0rvMPPiU5QXxKUndR+Ofn108Fzgsc7GrEx/16uBdLzKo2hSKC66hMHzCks9OIywTiv+pWd30D5FFojOH7xFcT9HfCdKqSGAu65kFxBFzRoqFRgM3fg7iol6y81ODexHGM43haTloZjptUYPSVJ1zppKSayUktlrGfB8QDgn4dDyWZFYXQB8dQA8xy4yhDW90M4Z204zc9w/+X/hzsBx5U9yXlFUxr4lmKSvyJIhsNxhAmr7Ka3jV6WC7wgv+2A/XmBcks351cmn37nzrcQvnkBoa5C2qlD+lIDH3i65IlMqCiqX3kEm3lwdx0EcBwewXn6FE4wlGdJtzoLjuti0o3h+Dxxhz/McK3jMY83heO3gPgDwPdpsdt+X2qZolTaLrBPn8B7JpgtwcFPsE/7cEYm7H/5DPe//b/wjk5nWIulJS3IQWR1ZF33baSEP2c87vH18en7LJ+g8H/DWSTQvjQcFrnglS+iDgEEErovM+7Jt98Cf866V4vIWLTMPZdPP4/g+B++hig+B/+6DKnQH0kjMKnU0BhUYKcK2y/A2QWsn1pwKwPY35/DDab2rgmOq2LSJBwTcxivorQWhQzjRhwegj17Bj+AIwCyHmMYrhKO708hPd8DHw0gjwRwienC588a73XBbAGORDegCXfwGfa/nsD9/s9wAzg+ixp2mHqq4+PzHvas61Z1/D7K/wIeHv9iSd5WhpugCNA/PHsENstjyDqOR2DYil6YSWhmHU/fLyqXCN88FPn0O3e+gvC/HkCUd8C/rkIqApKuQipqYI5psEfbqiVvwR7DcRv294B78svkmYXgeIdMyoTjjLGN4xR6HGuUD8HG4KGHEiEg01nraBmzqUHhi8Yc37yD+LsDiK0y+CQcIZydGlLLVJllw3FbQ7tTKNqDc9j/2oL74b/CO+7MsBLLqWP9yDJMH487warOx/U9JPkEjW9/yVauC5IJKAaQiz+HiTfXs/AtSP+fPpx+v80ql3zGkbyAKkzGtB+YfFJrAEcFov8bSP/+MbgkQHZlcEWAoMBA/UvVkjXYhW7XblerTgXXh+NtM+nacCSr8TC9nuMhYD2DPyvumFjCbOmY4xtA/B0gigDfQmQ5lsAlQDg7gtQywYYOXGEE63QIp9+E/X0T7vdNeJ+68DELkPOstfz8ajUw/CW7vUpIEhQH4ASuAHrJ1tLLLPkCSn9f7S97sPKf9sG2/ncIf1sE/+I3EB8XQzgaCiRFhKACqG7B4grshgOrXcVa4bhqJk3Acd5I9GTgM201xs9bbD1SAjk5lTCG48RA8AWz1e/ChW3HcDwfQDEE8FIB7OcfIZ/3wFwaBO7Bavdh3zoch5HFUlwylrmqTrpJ8glan+HgLa1RfI3PS58/+zuIh7E1P6OKpwCOljieLpp1fVzuuufnXXfT+uddv2r5T58C3xQh7uxD3N0Gf7wPLphQPAWc3GrRBNt+rJtVRbOVIiza32lZy/EumbQ0HLUPYOQ3yzNWAY9cksC1XgccB01IX+9AJDiyIOYI4eMZpM99U3AdxfVcmJ9HcPrnsP/ShvvXj3ADy/H4Gp2QLjmIrpt3fVwuLWbedfOadZ/lP4K3FCS/8/nTI/BZ0MtSI3XeoxkXpCFB5ejjdMFmhmEiAQf1q89PQfaeyyd9PH8Mofob8N0G+OMSuCpAlhVwuQABCrC9DVP14FSKMNcFx3Ux6Uo4vn0LRvMnow/tMsbSDZmV67AQutbJDPUqLEeCI+1ZbdUgM4Ru9V9/gjzohW616sL813O4xggWwfHwX+Cd9hLW3LKWXWyRxRrIr5+7SMAEIBbRH4U8hrAzLck/+BIeQxwvApG8B3WwZMgkgFeiAfRuGcNuGMzkwDEViOoIyscXxPUmy8V1BRVFX3L542cgDccdEZK6A1mRweVohsyTum5KimZ/UYT5z224TxqwlknIpC3H22TS8nAEWOzbHx+BxW9dekEfRLNh1gZHQNq5uISjr0P8uQmJ4Nj14LEWrKMBnG4T9k8jOEc/wZ2A4zxLbUXnH0f1fFpRfctWs5HyLXh4GiRunF+m4TP8ARxF8ORvTzLqKp08HoJ9SsSZAyjGF0zR87KmiXIzBOTyE3oEQHr+5n+BUKNZMU/Bt82RVNgtyMUSxEs4wpQasOs9WD84cNYCxzUx6Wo4Aiyx2ldoOQIsjjfyIzBELknglqTg+D5a3zFpQS4bc/zuO1/4/WsIFHMcRHDsSVAEAVwGhKMW5KEFNhzCddqwf3Zhd49COP7QhtccwMdp6knXlowN6lFMMeO6uTCKr4+bkcvPtkAJakShIRjpNfMFk7DgAhgmLbrIYo3vC6l9fD6qN74VV73AcvlX65/0/tVvIe58A3G3RnCEVNiFLEvglJAht/o3+zAkDbbyc9/+/KRsy8ewOwdwFh3KM2U53iKTrgfHKN7IU3FHiu8cPIVPlmNqnvV4GM+N4Qjw3vASjictyN0BhM7QdO2RZ/880OxuC/ZPJ3B+MuDOhGPUM/b2wj9OU/DMOh53qHnnF7X0cvmz9Y/o5TEBtyuUmobYXgVslseQBbssObn8S6XPeomQnp8WIW7vQSTLcb8ELktQlEroVisAvtyDIdZhKf2+/bm8RjiugUkz4ZgeAJ5Y/YLRGEdKxiRd6uRzG1iP0ZCeRFJmNhzpwjkZ6+98X/g9bcEaW44ER0BxdF2SoAln55DPP0PsMzj+ENbPHuxuJ8hYOx//Dd6/DuDvpDpWs5CyHEeRZZg+Hl23E52fum7O+Yi98OL6o/K5/Kv1T3qbgFtkeQfHE1b3FAQzyiE+vjdZb3B92qsAQC+tXH7iHs3QK7047McQvm5A2N6CuFsH36lAKhQhizAlWSM4KviiAgNVWFUX1ucybBmwaZOtF4DLFpghE1uOd8GkheD4x/fvhRd4EUzIj+GYthpj/iRd61lwjMotvDJPEo4nrZb8jSTxE84VUSgGCZlPJ6bStRWhb8OxL2D/PITdbcPun8I5voB3qMMHudY01SmGUwqWWcfTxkp+faiR5jr1V4Afv1TSVn0ArQTMYst7kXLp65JMDKB7zXpjVUzVn6rvvsknnXm/BftShbi9DbFRGEpf7wmclZislFUuOhBlAF/9DXSosKqA9RmXcPzh7VvvH1698uYZR1lwvA0mLQZHQKh/AKO5lLJ8yPDsGUXKg2tPjsP/7h+EAEq61mk4xrsRxjHIRZYtm4Qj5G8k8BMOhdZzlDQI/3YMpXlmcdP2HX2oWJ0B7OYQVgDHH+AdDuFDDdu2bbQmfm9L3Z6IfS0Lv7i8b4Q6aEVysjzAXP5i+if9CZEVn4RYbMEHgE5Y+XQ8/T3r+qnr4puVqi+XH/aZq/S/U0rAcQfSFxIk+Qmkgo/AcqTrn+zCKMgjS3ALlu50bNTrFlmOP7yF9w+vcH043gKTroRjPF3nj9QQRHBM+PYBGBNj/PbJTD4CnCjuOAXHX9YBoBXBrwPHoyNwrwTpm+0w5lgogo8MiH/9BKUzgmgO4ehDWM1zOM1BCMdPF/B+8OGhNRtX21kUm3M8XV1WPRlix7Xn8mcrmiVeMkkrlV5G6e/pGrLOz7uO6vGNFmOpF2Yu/1LDSf3T334J7GAf4lYDYmMb0hccUqUBqVwCdxyIrgD21WOMCjIswYWlO7BRx43geJtMuhkc0wPBj0MLklxrSsqsHI5PIX0TxRy5DslhEP5yArU/hGA6cPQRrGYbzmeKObbgnPTgHZ3Da2TATsjIGnvp7HJ0fVb5KfhG1MuqJ25OLj971ECrdflq2cY2YmAmYbVtgCWt9e0SWPpepM+zKMQSwDBRPl0ul3+1/gmOrgjhy68hjOFYCmOOBVo5K7Icx3AswNI7CTgC3j/Q/lJzcg5pt3ouHFfIpGvBkVzq2Gr8AsDHBHzIelwnHJ/0IA3JrWbgjgbhL3+FeqFDNG04ug6r2YHz+ecwIXNmwb0Kjtc0HPPL1qwBemkk2IixhU1/JM3x9PeoXV4RrE3hlOiznSh31eVBueiTy7/URZb+vS/AnqiXluNBlJApKpB8GsoD4OlTY1StqqYAWDpgA5HluGI4roNJN4LjF6lpcwRJgiPFHXUH/u4zeMFmW++Aly/hpxefWCbmeARwD5DqP0P265Alpksu04Tjz1A7XYgDG443gnUyhD0BRx1+vZPhvimTlotvdsImKfWJWKRvRrs6pMovyoj4+nR5lstP6TnUv1irBztWJi3vdsLKT4cjqFwSho3i9KrfSSs9WW/6eFa5XH7iZRO/hLQQjrW9YBVwvq9CLj+CpDJLpmHgEoC/+Q2GkGGVXFiDEqzOCewX+8F+Miu1HGM4rpJJmXB8/vYtexXNHUzHHIOGAIysxvSHrEaaLUMu9W8+wNd1+P0X8GnZsuuszBMnZKbhCMllEI4+Qut2IVK2OoDjAHavA/uUYo8tuD/58LLgmAm3enQmA6qLQvHa5R64/PRL49p6zC9cqwZqBbBiDQLBsb4VxhwLW5CLMiTXs0RJlvHbPQylMswYjtoJ7P1rwvG2mZQNx8RI9KvgeHoCRubiXjQ7JoYjTSWkuOOfPwAdHf4fXsC7KRz77bZ8oDek0HKEZDBD/PlUUNst8D6THTaCeTGCffoJdossyD68n07h11KPyLTFNmlpZJ3P6rTzLMu05ZjLT1vsCf1fAGwPPqPtdqNPUn9J3dHxq76nyeAXwCbqLQRzs4PPRD3pcpHnMFXugcv3RAhPvoTQqEGslnT5oKxJZDkGcHQhCsxi3+zKA2kXZmkASyrBMm4Cx1tm0iUcUyvuPp/RkNLhIdM4Z0+fPgVZjnIExvghJECSa20C/hiOAD1//h9wfTjuv38vyi9eiFIbcqEByRxBKTJwMIj/dooAjheO5bq6b+mWYn46g9M6hX06gHdswK8ZS04XXOv7Nq98ngbGACMLOmm9p7/HFc0rl3Vd1vWL1rtouXsqn142j3YhfnkAsSRA3n0CrkhQKiVwQQxXZf/mCwx8WbcKrmuVSyWT9pTfD7dpne9W3zGTZsKRXqTxDl/v3r1j5Zcv2Q8AK0Vzq5VjMPLtT9OZoRPA2oefTMrQqvNpOL55A7x+HQJr3mrg5Fbvv4cov8AEHGUBEg0C//4YWr8HbuhwL0amNTIU86wL+6wD5+yk7/18UfaqGb1xWQtxyhJJWBRpq4K++2Y30u/sFuTyZ1uQpJdZVvq1LMgEXAPLMRHnTVueSUs1lz9tUKT172tgj2SI1R3wJw1Iu4/BuQ+1Ei56K3gM7Lc7GJTLMJkLq1zCteF4F0y6Eo4778C+//49e/GHF5iAYxRvnIIjpaKwABx/AcfryA2/LhwrArnVpviXj4rW60HUXbgjHdaoC7M7hNM5RpwFAAAgAElEQVQ6hvNjG+7PPrxqd56tsuLzMQtvW278MzZcfh5zXPHzuKbqKiqYqkKsP4H4qAT5i8fgkKBsF8FdEaJr2+ybr6R+WV4dHG+TSVfDEWDfA+wPUViGtkU4DsIzky61dApm74VvGnKtKe4YD+dJWo5xCGmZxScmLEdArvYhD8qQKwbBEeKPH6G1zmzJkn2na8jWsAez2YN9egynNQy2SfAqC1qOs2Jck5f2ovhUZaF1DbOy1HGd82KY081+APLphVIFWCIUkmXhzbPkp2KEKthEvanv4/ufLpeKLWaxZtb9nrBU75l8XwXb24b4RRViaQfyngyZ1yHXmCVBkQWaPnjwBINiSTcVTTPLuLnluHOLTFoajnGmOl4JnMBIRCQfmwAZxB2PAZOG8jyFtxI4AuLw+JjvHhxIBMc2h7Ktgfe7Jv/4iWlnA5mbDI5uwOq3YA16sGm848cLuIPuL/sp55+N0kAAlFlWN1nEi1jj6XLLXBdrKpc//cyk9Ehw3N2BuK+NePVJQXpcgsQaULYkcM+zRYp7PdnyBtUtxVA0rA2O62LSjeA4BmOkRptc5SjuSEmZXawSjuC7BxjDscIgmcwUPx4r2lnTlh1fsjumZQ+bntns+nZrqNntC7h9Ez5Cg2vqw+SrEzW+1Y/0Uw4txozyvhWNg5xzPt2AXP5s/S/rVvtmjzEjYc1HYYVlY4rXfYM8VPkBHBsQ99hIerxX4I9KkKwYjiJEwQH78kv0qyUYvje0NLto8hqlJcKEzCvAuzKslkjIxDHHWZZjEo6rZNLN4JhKyKThqB/CHzyDHydkru1WA2L9GLxT7MiP63VJ16HAMmRPVYWjv6Lw+QKSI8G2+rA7fZjdj3A6w6H9sVN0hzRFKf6kIRn721nHr3vdsnJy+RNcmvfSuC7E8utWq4GyCkZTB8sqePWxIe03VEmVLKXAmARFEkQGdvAl+ltF6L4HS7Nh9k3Yz/dgrQ2OK2TS0nBsHkOIM9XSrIZESRmyHGkg+ACrhCPkujSQLVFUZKZJHg0C/xmFZhMy7Vt9YcAamTCbZ7DPW7BbI3ij/gy3Om3hRZbf+NHJOj91fNKyxLx6YwHzyj1k+TJ8emf1Zwy/IkueyeXL8Y8W2DIgpc6crDf9Pb49Wcdz+ZP6LwkQth9BKDfA92qQdsqmzIpMKUsy90SINEOG4FguwpA8mFoRZv8UtnoOG8/hrspyXBeTpuD45s0b9vr1a9BQnqQJe3gI4ZiDKU8vkzEEx3YzdCkbO+F2BBR3pIz1yuEI8E6H4AjZEqHIgVsN8acjFFpdWzZHcCxBMkd9mGc/w+mMYB934Q5N+MzKxzmu1mZYc20xGImSvctwBrlxM0MkUblxq2Z8Tydipn5Br584FIZRkMu/Uv/0EmmQ5XgAXpUh7VYgF2qQC3Iwtzpwq7/6Ct0AjhpMDdeD410xaQYcwV6/xjQcAWGcqQbY+SnYoz1gAo60OnA0M+Y24EiDwP/yCYWzE1uxLcnWRVijAczmJ8PpnKv2z92hO/KLHgaLxRx9axDOrZZLi2Wjo/JAKRKQIWh8frIdaasnlz9gpPuKDD8jTBwosGyB9a+IF2edn3ddfHfSbE0/PfPqeSjyywoYzY4p18H3KmQ5QiaHmkApihBt2PjiK6n3uAjd0WDuA+ZHwFY/LGc5vnlzN0yahiPAXmM+HGOXuh271s3QepwHx7dv3+LDq1f+UuMcKeZIliMg1weR5ahBggnxhx9RPOlC9nQ4AwZz0IF1PoB9/lc4JwzOaJBnq9ds5628+glLP4agBUb2XGDf0bEgWRZZeMkWJKAZQGp8rg9ELvnk8clakvZjcGkuPzQUZui/KJfZVh1iqQ6+uwdppwSZq6HlqIoQPSfYnbS7HcGx0oXVrsJaGo53xKRMOJIB9S4xpugwZTmOXerEBi0NwP98Clge/C0X/s4BvMS6jkFihFYD//AK14cjIA90qIoACmmIHz+h0GxBthw4PcOyBm3Z6piwzmmx2x5c/Uo4RpaelLIU7elVXcI+llE+jQc7tEAvLcosfuTyA82k9E92+PAaoZByGegn6DaGaaT+9PmiDDZLTtbxeW+Bhyaf9DQBxwZkhUMpSJBEDyL10C92rV6jLutMhTGGY7h02cIxx3j/mNtm0hiOsxaVjOH4f3wAOytAoG1YgwHgAAvgCLDd6Ik5o7gjwRHAVuRa7wDes2jl7z/+8T2++abvN1++9D9gxXDsQjYMuAM3shxbsNt9OL02HB3whlne7rynPXW+mFF+OKdc+vySYsfFH4x8Kdj3J/pc3rxSqYRB8l4SRZMHSmF4Iw1X6sQT18VV03zYCMIU0gjqnxKbyx+rK6X/4hZYQxqJpRrju48EaaehhHCUIUlKuJ7jbw/QKxVxLTjeNZMWgyPAzhD+2MEJBFmI4o0JONK5s7RrfQT/5dPArfX/+B74pg+/+RI3gqM2gOKIUATLlJmgiD+eonjehWzpcEY2jN4F7A6Z7304J204Iwt+GirDiFaMOmHi46csxmLqQqprFtgKcmhpzjsfX5vLDzUxS//Bsei+BOxb4E2SVa5ogwaVBPcsWU/W8bSoXP7V+i9SzLEKkdZyLO9CaihQCipkVbBlSZEEgYH9Zh/dWh2j61iOV8LxFpi0FBybx2CaCJaEo9QKwVDfhj8Fx18Wun0ZjjNcPRwFyAzB9MFi89xWLEdyBt2haTncOu0qVrsJ57MR7CvjxYzLsvAWPR53nlXVt2w9D0V+bM0l303Je0THp74nXnTUaWMaDumPyG0nKM6y4q+SM36hJciZyw/1T0ZBvQpxuwZeewJeEyy1UJVlVbZlSSA4OuzRltfd2pVHcIfGTrFotgFLXdCtXgSO62TSXDj+6QOE38lg2jOwoCEHoVstN4OpQ7TiTlhHC7C34ZNrnUzKjOFIyxcBfhM3sxx3BlD6IlRfgERw/OsPKDU7UGic42gIo+/AuiDLsQmn24NrjKYTMvMsxtFE1wMKCLtPfN24g0WWZiHqOKOUJVqwh5F+J03QXP7VFjvpJ2mFj7VXApIhkmLqe/LlkYZn7G8nr6fOPUuOn3Gc/PVc/uVbolAHq3OIhSKkR0/AHylQJMVWlYrEKVtNJb/cQq++iyFcGDtFrASOt8Wk+XAEhN/FS5VF8cbz6L8Ub5wHx4PDQ//Zs2feHxNwnNiBcM4GO8HCE4lsdXk4VG2hqMQJmX/7iNLPTai2BZvcasOAfdqE1e7B6TXhGj48Zk92xlHKf4rhtoAHt5IiufxJNab1n3x5JOFFMLuE3jB6ZVFdxSlLMjlMiqZ3putJ38is87n8y76T1n9gOVYEcbui8fIOpEdlS1G4rBQ1hHDkwOPqJRyLLiyjAvPiEM6jZ3DmDQLPshz/dEtMuhKO0XxGYbyOYyoZE7jUiQ09gumDTaC8E2apg0VvD+E/e4YbwxEnJxL296XyEKotQBFsyFIFwvf/Zpc/tyXFtmEPejANHXZTh0mWY28w23KMO0Yamr40e460b43C8Y92YTJGGZUf15caexfPuc4iai4/ZUFG+hSSUz5nKM+3h4xJxYl7MdNSTLnfhUQMcpa7nA5bZN23XH6of7Kw6xWIDc2Qqo9VvqtaqqbJskbZatUJhvI8OuAXe7XQclwFHG+TSTPhGO/V8P79e+GHFy8uF7lNwzE1fbCOMO5IQ3noX2kfHq0I/gyrgCMk7OMSjgJoRSTxr8cofepAtW2b9o6xrKFvNUey2RnA6V/AmeVWr8T8yytZmwZiOFKCLBmqIEslOQaSIBU24jJskS4fm5QTx7OGahUvs9dUay7/av17GAm1akHcriCyHKFoGmRRhqyIjugxzp5+hU69gaE1gll3YF7XcrwLJmXAEYz21nr/HsIPLxIrgM+BYxx3JKuR/pWwWjiOtAt5T6opdhGKYIZwPDxC+VSHYjuwe2cER1hND2b7BC7B0SQrRJ/Xj5d0dPmc6YhO1jjJrHbk8pOaYYWCN51xCUskNVWYlRlJq/iKTA55CrH7PUqUm1lvdD6Xf6lgrQZW9cG39sDLZVN6VFYUbQuywiDHbvUXj3CxvYfBoDWy9uSCcX043j6TZsOR5lW/Ayu/BNMA9mMi5tg/DYfySCx0qXvtEASVRgiMOBmThKP14YP/T8+f+3FC5joxR5xAGmmQ9yQoIxGqyGjDR4hHn1A6uXBU2/ftXkeyHMDsnsO6GMA5O4dr6vBYGmbzYKlFD0C6XHw83QEXLRdfl8u/+m3F4c9aUILCFOlY4k3KpRuRDIPcpN5F27nx8n0I1QrErR3wcgkSJWSUKhSVFr0VIPjMYU92vYutbW9gDFRzbxuGAZgXgPMIy8UcaU+r22ZSNhwRTNeahiNAK/yyON4YwLEBoB0CMglH/Rj+jnPk745G3o3hCEijC8h7NSgjI4SjY1v8px9ZqTWUVFN3nK7NDceGeXYOi9zqXgTHzJhfCpr+HItvCrJRxfF1886n25Eun8uPYr5+PuVznq/zqzgvgREcG3VIJYJjA0owCLxAc6sd0XPBvviSdyqqOXRtxbgxHG+ZSUvBMRgAvn85Q4bA2CAwhmykRUxmwBH+7gjePz3HdSxH9uof/1H4+1evaAC6JF9AVmpQuheGJopMZkwRf/qEUusCqqkHS5aZdmQ5ds5M93yo2GQ5/ioepLwRC2uAxXBMJrxSIw4mKqNyyfPp73Hhq47H1nzyhZnLv5xenNa/M2KqVGDyTmg5bkmQ6gRHLbQcRR8i58BvHqNTUzEcSjD2Cje0HGfAcZ1MWg6OkdUYTx+k1aQiNo7heN4Cnm7DIwvyB8DfiVYE/ydcB44+e/WPEP7+VTA75xKOBjTRhswYudV2uX3ONMPmdteBYXYtq9n3rYs2nL6pOLPgyJxUlpQ2eU18ss5PHY8D+5G7Pa/eWMS8crl83We2dpmNzgpnkEKTIYpkuQWO+5LOGE/IGXsCOsvlz9e/Bwi1OoS6BmlrC9JuyVaEiqSogiPT3GrOOb7cR2erjMGwCqPS75sDwzDdnR37Wm71LDiukUkrgWO/02Hlet1vk2vtwbd9+DScZ5Vw7J2eytt7e5ICKF2CI4Ps2Rb/+Ekutc+hGTbsnmlbhiUZF6em3TMVu9UOY46Yl0BZ2KbJC65dAzogaKG1T2GGZOgh/T1uy7xy2dfp0fOvYVZIZF69D1k+6cbnYNUyxHrNlBoNJu1UZIkr0EoUc2RhzPFgn3d2S+hfyDC3HBifP7Us7d9tW+uG4yqYtDAcB8fHgnZwEM6OiRaeoL0b+p3Q6irXEcKR4o7NcChPdw/eqizH3ink7T2k4Aj+4wnKnXNotu3YFwY39RHMzqll903ZPu9hpuV42cGzMikZx9OQnYpR3jQzMycT9BDkUzKGZhpdlbQiNV3n/Lzr4gdjXrnrnp933QbJ93tgagVMqUGoq5AatG91CYpYBk3QoISMyGkl8H10drfRv/BiOMLS/h1WAsd1M2kJOEKIpw4aLQiS0GaNRgMTcEzFHcuAF2+0dS232vfZK0D4e0AgOBbVrqxxrgwcUSsIquwyi//4kZWbbaY5Puyuzo0Ajh3YfQv2eR+OaSwylGfF9lAW41YsJrO6DZfPokHgZJkkQwwqBzOSIZHod/q2zpgUuYEJaAbXx1M6U8dn+eNUXbL+XH62/kk3BMeKAFGtmdJemcn1ApPFiqSUmCOLIhc95rAvdv32k32vr3uKUQgsx1XCcb1MWhyOgbcDpjchKDtgUpSM6ccDwTuAXQ/2/xgnZWI40kZb/8WC//vn8Ghu9cJDeabgCFm0R6pVKqgFBtklt7oll05PUXBs2BembRoDyaCpg/0+QsuR4LjiT3pudLr69Oo+KxY/tZrNfZJPMNR4sP9QxicrmDhfy2nDbfJ7XK+Gqw28XH6oaQ2KBqEiGqK2rfK9MuSaYitKQ1IU5shKMH2QY38P7Sfb5iUcTVja9oosxzUzaS4czw4PBTx7RmubhHAEBFrTkdZzlMilrl8+lJSEWT8coVolqLJtKYzJ4o+f7fJpWyo4OuyhC7PXhalb4WrgrY7hmibNrVYX2vZgfvdarIQaFTMWK77yUpsuP7YcpxRDYYwF4seqBGYks6uOzjAj8TJd/5xyufxL/UtgCgerFCFqDfC6ArmuQCntQil4jsJlLtgujXP024/rUn8kwVAcGLwMc4ibwfG2mDQFx+T+sDTO8ewQAp4F67oJximEL/ZCMFKmOr37YDmIoSeG85yEUwhpF8L/Avi/xw0sR0AudslyjOEIxWMW/+mzUG43eWA59hwYBMeuBasfwBEBHLPiU6saZ6hGsUcjo+NmjV/M5adGDUR6HM+tzso+p6imaoAxw6Cjl8T4BZU4H5SP65gXu1yg3IOUrwWxD2GvCqG6A6kGyNWSrYgNppQYlxUlXJVnbw/txyXcCI53xaT5cIwXuQWEajwAPAOOtEQPZaptD766Dc+6Ao5v3rzB69ev/Xmbeo9jjgk4jiRTKwiK7DHwnz6jfNpyiq7Frb5lW+RWN7uWPTDkYMHbAI4Zn3kTYcb9JtWBtOjCzH61YF4mlx/emLS6knOrKYQxAbkZ91KxwczEcnHp7/ElWccpDDJLTtbxdBMeonzSjVoGK4sQK9uQGkVIBRlKseKoRYHLIsFRBPYadvugLvVuYjlOwfGWmHQtOOrttjBgjNXrCZ+anpgEHE2/6Ws7Ox7Nr44tx/337/36ixcexRzfvAFev8ZycARkcQR1ZEMraJA9C/zo2Km0Bzxwqy+GjmUMfaNl+Va/7dujvuJYM+CYtvBiyy9+6I1LuyI4pCJ0VMfHeeSmR5bOpRs76UjH16U7Uy5/0mJM65+p8CYswYyXWwjNaZPx6uOXlU1ZfNGprOPpZjxo+Rqg+BAqVQhq2ZR2FSZXi0xRy5JSpEHgMkTPddj+E35+0ECvO9TNfUnT9XKwC6E1WGL64CJwXAeTFoLj6RHYthLOjgkz1dHc6oiN/OKCObXaeG41xR7NJnxtByk4wq+/wI3g6I5GmiMWgpgjWY7Hn+XyeccpOgbsrslNdwij1bXsoSFbJxehW83csDNmxeLmHZ+CW9qty+i86ZjjPDlZ5R+a/HiGTBpSmTCTDGYk4srpmONUDHKeW54ByVz+ZfiCFu1QRbBSEWJ125LqBVkqFKAUJagFxVG4xINxjnuP/fMnRa83dBRjX8LK4HgbTLoSjs0PEErPweKG6LwpKGyHSdthvHFwccFqwYNUg1O7XHgigCPgU1hiwnIE/DoiOP4yyJe2Z13GrRZ7PUXiFdURKSFDMcfAra6ct1D0fFidESy9Z5ttUzL7bdijAWZajvMtxMsSSaia7mRiRxEnZ9YsCrdcfqiBLAtdYIG3EX0utaqNX2/TA3F0PVFOUy/tyYRhSeEQfewVqJNZ6fH1KsJyufz4LsWaSOtfUSCUFQjVbUg12QosR1liarHAA8uRFrvd28X5kwZ6Qw9G3R0Yfqlk3MRyvE0mLQZHgG0DwngYT5SMGVwghGMNoEQM/UlgTMJRPz72SwcHHiVk9q8Jx28/fBCLz59LMRx129RUkQVw/PizUGlfoOja3OqaMB2C41CyhiaszvnVcMww+PLDd6wBk4Vx4vSQGnK/kyGJefka1TEYi0IgiwzAocRZuv7kdbn8hH4cMKUIViqYYq2u8IpqK/WKJMvcUZUCl2XR4bTwxMEjv7W/K3VXDsdbYNLVcASCVcBPsxqCCI40QwbwOxR27ABKPRz8bZye+qq955UOMIbjyTv4z5vw472rF7Ecv/0AsfgcktiDInGoughNDSxHK4IjLzqGY/ccbjg9mO0hrMEQdmcIx6aYo7nq3p6qUFQmhwq5y67nuGz77rF8ET5l8Y3ET4zDEYG1mRgRkIYVuXnpez0u7xhMVVQY5qWFSd/j8tPlLu9JLv9SF2M9iWAK8aECQStb0k5JlqtVKDKHWipAZr7DAY7HW/b53o7XNbmi110Yfgk3sxxvkUnLwTE5xpHcarIgu10GVFH04V+Q5ejDt3z4cgOecQpftTEJR8B//vb6cISta05JU0M4kuWIyvk5Srbj2F3TNr2RZnRMmP2m5VwM5cCtzlpKbC6S0lBVMq6Iy2WdnytoTr3x6Qcif2KcY+Ie+OKlJTjWWPIeRfohC9CM4sxBWCSht2ToI0ioJCE8S7+5/LGqk/oPhqeVwIoCxGrZkqolFsBRKUlKQYQiCuFQnsdbON/bQXfAdWPX1XSCo3B0ZBefPrUX3UMmmZBppuG4RiZdC45mpyNIjDHUapC6kZXU7cKuVH27Bt9qJ+C4F8YdY7f6hOCY2IGQqqE1BmbiIZohk7QcIemaI2gqH1qqoMjijz871W6blUxftLpDmN4IERzhXAznudWL0i9s3fz1GsP6GJ+0JLPXaczlT973kE6Zg8AThdMLUpgJi1KZuS5njMWkHXjdt9bksxDA+IHJDzQXw3ELUrWIyHJ01BCOLIg5PtkTW3s1giOMXRcRHGEXn2KlcFwHk5aGo9VuCzJrBCuBS6zLUK2GT1gXsKthvLEE+Cetli9tb3tqlJSJ4ZjenjVkI1sCjtBgmxoEpviM8c8/S5XztlsyHN/uGaFbTZbjoAena8IOhvKs3K2+fqfKr5yvgTEc5w1wjKviJoOTeCHREnSpZemCouly85qSy0+Mlk8pi4PJIphUgFhuWFJVJstRUoqqo0oyFEngggCX7Ve9870vpc7AWx8c18WkTDh23r8X6tHmWv/9+Fj4m4ODYOqg1YYgB2CMhvNEbCTVxWAMkjIt+N1tjOE4CGOS4wVvPwB+mK1eAo6AAp3gCA0CFJ+Bfz5DpXmGshnHHPt2AMfhhWQHlqM1Y99qMTUzY+EYYWQZRjFGf+q6xSxBlsuf3MUxpcdgEHgSbsn1NtPHFypnRs+5QpnDS9kT63im/POF6k1BOLOd91A+B/MoWy1DoC0SqiXIlRrUAiVkNC6LgityiNjfts+3trwLgyv6TS3H22bSFXCEUI821/rvxxD+5iCcVx3AsRHNrSaXOguOgN/FJRwPDwHlGbwpyzFg49WW4ytA/BGQ7H5fVXlZhQDNtS1VYLL46QzVVhNly4Y1HDqmodtmZ8jNYce3dYd2UoCXjD/NMxby83evgXlbs85roe+YLB3amHfNKs8/BPnBeo5FsIYKkeCoFe3AciyoUGXBUUSZBXB8vIXW1hYuDA696g4M27KMcq9h/Xj0zsGf/uR99913mTPY4n2r45hj5/3tMikbjoBQR7jz4AQcE1MIaazjqBfGHAsV+N0uUPDhK7VwJfD1whEqWY4nJ6ieN90yxRxHQ5jmCEa7a1sjU7IuenDJcowHgd+4A8xdT/HGEq6u4CHIp/UcybI2p+O349gtrXySSLhMLUobZK1nXC+Cpa+L09VJmPpZ18exzFx+8JzKHKxYhagUw5hjQ3ZUWUVgOQq+y2n+4ONdu7WzL3UGOowtDt22YJR7sH48goM/wfvuO7Y4HG+ZSQvBcXAMoSpBOBZbgrK9PV7sNglHoIeCXwlWAad/NJwnCUdS5i7g9QGfli0bu9VLWY5QRa5rzBY0RVAUM4ZjG2XHdOy+ww19APOiA3Now9YvEFiO1gIruawZa3n1S2iAxVM+KT+T8HYVBTHzwtrmZJcnzs/Iaqeb5LsmY8nYZS4/U/8+N5lSUFhBTcCx6KiKwhVNdhXanFVwwfbrTmtrz+sYkqxvOREcG7B+fHczON4GkxaDIy06cUpwhKBsg9kXcdyxx1CphM9YL7Qeg3hjJ4QjTSHsOPBkE97eU/irgSM0ZkNTVCimDf7pxKm1e7zkmLA7Bgx7ALPTgjXyYI3O4QZwTMX4luinGUUnY4uLZ6dvLjms4X7LVxmNk52kWTpOS1qgmG/y+HQMGEifT36XXbBYDkuMVU0ejymcy5+O08syhGIDQlmCVClCLhehBm61BlkQwH3PZY93/OZWg3cMCauF4y0waXE4AsJxC8L+Nph5AWEUJGQy4IhoOI8Lby1wFKApDMrIgXT6CdXzXmQ5Drmh92EOhzCHDuzuOVzHhWslXLAb4WneOMOocrJwJhC2qmz5A5HPohkyU/cqZcll3UtFNJnppgbm3+jGxzd26r00s9YHIV80mSwqrFCBWJYhaTXIFQ1KWXO0gsplHy4HudX7aG7toGN4a4Djmpm0NBzLIo1xrLMQjmC0H+uU5ZiG4z68vWgXwuu61R+akLdVKEMOjTtmgQlMMZnMCY6dC7dimKI9MJzAre72uUFwJMsxgGNmx1gsu3x5eVQ+NY5RjmJRVmztpM4jcz/sXP7krYnGOUpwg+NJvSVfcGl3V5wc9A0xzA4rUC7tz8T1NCd+bJkm71V6Mdtc/uWunGn9U0JGBKtXIJZUW65WJKkkO6qmuVqQrZbIrXbZ7o7fbGx5HZvLo1JvaAi8qJdX4VZHSyiSwbYuJk3A8c2bN+z169d48+6dsP/yJYsTMrTQLa3leAwI5Q4EqR5mq4NkTAXQ+32mlct+IZpXTa51PBC8A3gyVgfHC1svaJKmeY6lWgLjpy1WbXd42TZhDxyEMcduaDnqXTgOudUZlqMc9cw0PLOOxx153vlFjZRcfqiptP7TluM8gzF9Pqv8vHoyLdE5BuNDlS/JECjmWC5CqhRsWS0ytVLiqia4CiSIHgN7si2eNbbQsTlGpR4MYRd6GbB+DJZjgPcduzohc5dMSsER7PVrLA5H2jahD1aml3wZPsUdpUqYqV4HHEtqXzU41zSB4Bhmqz+foHp27lYtW7T6JgyDLEcTxlCHrffh2vZ0ttq0JrujIseYitzhVG9VUhQz4+4cXRd7u/PqjTvfvHLmA5dPcEy+0GhozDj2l0iu0SDkWeXoflhp652yq6ny9N2ckdXOqpds0eTMnIcsn6xGijkWimHMsVSylXKBqYUSjXXkMmQECZmdmtPc3uNtnUOvudCF4rJwvDsmZcARwv5LTFmOBiCYgHs6swcAACAASURBVBDsH0OWI82i6odDefq0ikqUqaa51VIttBhXaTmGcCxrkmMWfFcI4Hj6mVVbXV4xTdfuO77hGtzodm1zOILdsyTXMS5jjmOIpUyEVU+JHkMwQ86yzvSilmi6XJacX7t8K4o5BhZZOls9QxnzLLd0Peksd9b5XP4V+ndMJlO2WoFYKkIqVyBrBagVFYHl6Anggge2u+ufbdW8tlWQRzeD4+0z6VpwtLsQKN6osz4rl8luBPr9+XAcfIC/E+1AuOxQnmYTsq5CNTgiOCqqz2x+2pKqzXNUTcu1+6ZvuCNudEe2OdJh93qSM8tyvOxfWQ71bBxdf2ZLFt5y+ZOaCU10mj44a/hVHNsNXPGkBemAXfV9HA65Zrnk9fHfD16+ElriBMeaArlchayVoWiSo2kSVwQBos9ctr3tN3d2vPOR6+nbXB0ZVseQh0Ord3BgL+ZWx5bj1XBcB5Mm4fjLJOfXvzycbwBhH2DmIYT/6xlAK2EcN5uiJYqC3Giwy4aARWwMTEdyre1uuCrPLMtxdXBEwReiQeDHTq3V5lXLQeBWuzaMi7Zt6ZZk9QzMgeN1bbL8unVqgIZfUf2EyuTrQ1YAK2FJTgZDpuOXVD7OyKTrSY0UGv+cdP25/Ms7PaF/BZB8CLUyxGLkVmvlcIaMJkGhZScIjjtb4tnODs5HLvRtjpFhwZCHx4vD8Q6ZNAXH52/BPrwCm4YjREuEYAuXc6t1FsLR6PeZWi5P7DwoAZ7ZavnO9rYbJ2SuC8f/eHjI9VpNFpVtpe/ohQLXNMe1NXKrz85ZtXXOq6YLe2BAd4aO2e3y0HLU4Tg2PHgZq/5cu4dPWnxMlK+cK3xtMZkX3m/5wfTB5MD9RBZ5Al5pWIpW9DxfYtVyL+8NWTpIJufoeyRnot7E8eAW5PKn9BTEHDUwjVu8XmBSuSDJStHRyipTJe1yybKdPfGsXrfaliuPKtZQ93hRl4ewege0FMMCCRmA3RWT5sLx7/gRGyiKoPN9YQzHWhhz1Cn2GMUc1TJ8cq15GZ5FCZlOx+du3Wu7p9723p5LQ3lo8YmdaHvWZdzq/3gIrtdAO5opfQcFhVsFX2BBzPGM3Ooz1IKY48g3XJ3capg63QAXjjNcIRxnmSqBj7d6/M2s8YHIv+ncaoopmomslhLYoLf4eQjyFcDzIVQ18GIBUllzZLXA1VLJ1WQVsiiIwXqOW7VgnOO55WJU4dA9CzeG420x6Wo4AsLfHYENFAj6PgQLEILZMREcOcCMFBzjxW5FDx534bVdeNt7WAkcXWegmtWSpjiXbvXpZ6fWbLOa64hWZ2Cari4aPRoMTnC0ECRksrvFcjG/bAqm0tnepCUJIWtl8Fz+rJij4IX3zBctxhKWX9Z9zCpH1s04uzyxaO3kHOtl602Xf4jyTddikiQLVXKrCY4VR1Y1rpYkgqMoC4LLfQa2teWf7Wzz1sg19QZXRjeG4y0yaRqOAPuAyK2e0xCn3xeCDRIoJ9OP9o+JVgIP4FiHJ53Ca9nw/vYA3k0tR1cdqKZ4CUfXtaVmi1WbbV6jmGNvAJNijt0eTH0Eq5/HHG/RXFqdqMwZMtcWEb+EbtmCvIxkRn/dH/mk0YIAUVMIjrZUbjBZ1aCWFa5KkqsIQcwRbLvhn94YjnfEpMXg+BRCsFwZWY6A4PZ6wUrgEsosACN9IjjScJ6WD1+swuNYNRyhDh2jUBRVzVehujakZgvVsybqjuXa3aGoO4ZjkuU46tu26YbZajsdc0yNc0RqnOOUmzw2DDMsvazz6XrjzpLLTxmMk9AgOM5aScl3LZaM76bnVs9j59Rc7NQqPfH1gcU5Y+JALv9S/6YLJkkQqqXIcixDLsiOVixwhWKO4dxqsO1dnG7VrHPDlUcNjutZjrPgeAtMmg/HcK+YFBzDoTwUd5yAYznYjtVvdRNwBLzW8aosR4IjCmoUcwQkfnrq1JotVncc1x6asm4OYHT10HI0XTj2aAYc5/Wi/PydaoBREo0+UV4lHkIVLCU2K747ldZOp7lTS5zFi+smmTzxwopO5PKDSNIs/dNtIDhWNPBaAZJaRmg5FqGqKhSaW00vo+0d/7ReNc/tQnHYcDDyitDl4yUTMmk43hKTloZjr9sVZVYNVwKnmCMbMNpMQi2FK/IEcKRwESLLkeAIeH+LVbjVk3D0HEjNc1Y9O2UN1xetge4apu6HcNS5ZfbDbPWU5Xjdrp9e3WfhFcSvKzB13QORz2B5oLUL0h8nkY2eyGZbbKJ8eo50XE/W8VlycvlX6592nZAghG41pDJZjgq0QhGqpLqK4NMOMkCj4Z9tNbyWIfijmu2ObG7plVrN7AVRuAWz1XPguC4mzYTjDsC+p3GOFHNMUbrXhShXo5XACY6DMNlAcKRsdb0cTh+koTx9cqtTcOy8h19/AW+pbDXAdUB2B1CHHAXVQcF1bQ1M4s0LVM9O0XBc2EPT1Y2eb/ZMbug6LNOA4zjw7LSLRLeFPtKKoLVsNbn8K/XPbCtaAFWm3T3DTuoE09UQGnhXxBDTQ4DG98bCGKAZC4GE9U+MbMzlZ+jfgoyCYIlaVRZqGqRiAYpShlpQoEpS6FbT/oONGs62ttEyHHNUs5WRzaFXalgajnfBpCvh+AUgaBEcz1oQHRGCS+McZ8AxACRNH0Tft33fFz3P82o1d5Vw1E8Hml0taZJjFSHIKo1SO/vs1M7OQ8txOIJujGD2+jBH5FYTHFdgOU4vEHG74wwfmnyFwbPTVvKi7nT6RZW4ThItZiey35IINpYzUS5xfBwnnvEGnOXOPxD5lK0uFmVBLUKscUhF2VGUOldV1dUURZQFMVyyrF5xznYe8abhYFSTMLKtm8HxNpl0bTi6/X64PStKwf8wiOEYrgRO2WqvhrXAURgNSqJaUmI4njbZluvDGppiAEd9hMByHMSWo7GaQeDXzq+saBzkQ5E/ma1OWXKTc2amg4tRqDIJV8kFs6auCyk2jqe55LLPnXMzQ166fWEt91++HMQcCY5V2ZYVmSlalSsF2SoUFFGGFI5zrFWd5u4eP7sNOK6aScvDsQ5Bpvh2P0zKBGCkD8GR4o79OXAE/Dqu51brA2g2hyaMrBJEpoqyJH7+2ak3L3jDdWENLNdwh6LRGcEYJdzq7EHasX8b/gQ75WenvW47CJNcfi7Px3+F520uTcRrpMz1HHP5SX3G+md+NDY1bZllhC8u3e3JApIAWhAruBdJhEmCxez0WNRZdefys4f2uhbjBSZoBEdNkooSFEWjZExkOUrgnm8JWzX58+4ezgwOWnhiPZbjmpiUCcc/fYDwu+dgU251qiEmwoSMUoKv0nqOCTj2PXiiC8/cgRsnZGh71pvDESWIUCHb/OyTV2+e84brEBxhuKZo9EcwDLIcB2HMMZ4yNomixUOOWdctW9+y5eP++tDkO9GqPMmX06UOps1wCTKSSTeCop3EYQTCqeORpThbzuTzkctPxxdkcMUWNU2iWTIhHEtBplrTKFtNg8A9l9XLwunOtnemi/5omyvDm7jVt82kheD48fRUtPf2BKcDYSj2RDka40iWYxKOGAwglkpBQoay1f32GuBYgia0YziCn31y6mft0K0eDGC4hmP0R6Jh6L41MKUAjrH1cBmbT+FGXjAzY827bkH8za0nw0Sae939kE9u9VQSLcqfJX+h5FrMTs1rJ83R3UxrIjieKh/EHGeMZ8w8nqr3IcunWUESZ6FbrUaWYwmqpkJTOS12K4oBHGviaaMxbFoCH1Ysd8R4YXTdhEwSjrfBpAXhCNHeg+AAwrAXwbFcZtIgyGhHdQxoSqu/Ljiet9sKkxuqXYLmd6wyE1iQkGm1pdpp09123TAhE8KRdiG07YEHx7UkdwqOGezJD/86NDDOVssykvAiaF0mkylfGn1keSLLLM+4bqKeIL5IwcnLGGPW+Vz+Zbx+Qv8yjTKGUC5C1CRHJstRrUJRJVagcY5hrlpErYqzrV2cWS6GFWsUwBE6rE+f3tuPX7xw564ETgtPAIyy1ZNwXD+T5sJxcHwsGNKBcAlHiDKNcSyHw3nMaCgPPWsER9vv+2K57CUtx6YD73f7cA8PD6E8e+Zdx62O4WhwoyDoaokJUD1Bl1pncq3ZxlYARxO6M4LZ12HoF449BLddfXULT6x+PcflYPRQ5Av8qvnwgO/YjKXiuhMxxcT5rONpJzF5J+ZN8svl24ziwzTOsVKBEMBR44pSctQAjhLB0Q3gWK34Zzv7/DSAI8eIFTDCyc3geFtMmgvHj+9PRO1gn6Xh6LFBsCJ4mKoOP1fB8Tfmkdd3nvrKMywNx2+PjiS/UpFtR9G8SlETdJSYAtVzHal1xmvNjrvtOLCGFvQg5jhwTL3PraFpO64vuatfsmw5qOWll9OAECVkfAfMToxbTCZYqEaCVFjzZVhkonwiEZZ1fKJllGlMTDXN5Wfr3xLAOIdQEm1eKDGpKENRqkzVuKjJBciCTwtPiKxWc053dvmp7pqjOleGpt3V1VHV/PQJ9uMXuJbleFtMyoYjIPwOYB/fQ9RegF2026IrCIIv1ASyHD0WbpdAbOTDIXP8oh/CEb5Iy5Z1u75TrdLrw2uewPuNCa/v4NpwPK88lcsONEsxCrKoFgPL0YXUaru1ZlvcdkxYQ3KqTd8Y6NzQL2APGWxHnxFzXK6vzig9K6KVLLZgDPPa7bjf8hmzPYiTGf+xquaN7Enr9Kryos3GcpLlkseXqW/ZkUAbLN+m8fkMYkmGKJcgVRRHVStcKUpuQdREWQC4jyDm+HlnFwk4QldHuB4cb5lJS8ARIg0AL9dCKHYH4X85GzKgCMeHTxlrylaHcITvVDETjifv3vl4+dJ7DfhBAxibnqoUmAY+ewUI3x5BOq9ALivQLMcoiFwocSYrpgup3XZr503sOK5ojUbQHRNG34BpDGCZJhzXh+tcd7HbBfMbU9H/VbHxgcoPhvK4kVWYhCRN10wODqcysyA6VW6J69I3M5d/2TcTerVo4QmyHIsQCyVIBdlR1QJXiqpbEGhPXAdcEIFa3T/drvmnpiAN6xxD014lHNfLpEw40tYIpQnL8bIhNNjSZOUg5shprCOAIYZQfN8XSqUg3ng1HOHjJZaGo6DQ/jEouNz6H+y92ZIjV3rn+T+L70AgIpnBLFalpKxWSiWRpaWbY5LJWhe8mFcoPcK8RrFep3k798M2m7EetUSptDAllSiJqsqqzGRmxobFt7O0vuPugMMBDwCxsckAzCRWAA7/kAfwn//Ptw4CxsIiY97JGTs8OcWxKlDMyOdYK8c2HMteobUtfRr50Hei5TxH1rlgqQB/vUjc219el2odm211b9i5u5g94WnLS8bMGgXaF87e8rwr3+U9tF94VUBmICAJjjRcKwl06AWI/IBSCEqaXI3R0L46fse+JDgOy3SmZTS7qnK8ayZthuMLiOg92lZXcPTEWLjpg2zI8gGYnDZwBLXisHyAORwvzKlhmibrPNS/8eViW/3i06vDkU/zBEmQBAxh4ZQjDk/ekHLURZ6LNJ8hG0+RZ2MURb2tVo3a2LQbbX71y6y78uZ3/sZdz7fr8Zs+4a7n2/X4G7ZPARnrlOMqdbo3HrfB0GDtYFVfK7PV49o+y7XJPytJQXv71c2GlGMUgYcehPTgJ0MEg0CHYSwij+uQUnkEB0YHePUgKV+pwJvcGBzviElXgCOEmU64NwDLGWMJEndpTCkg42qrJ5bbgeEG5sK4vnwmfYgKjk9AfklzPTiCTCaeLqNCM+/0gh2evMUxdQJPsyIrpiKdlNb5HAstS61gVrfVuyk2117E9T7oKsjVGpp1SmiVHXv7l60To2j1tjeyTWBuve55wNIugpcM65Rl3/M72Fp36LfKvgdQQCbgjXJUYSJl6MU68jwTgnPBYdhoxF8+fE+8zHU+PSzM9EaU4wocb4dJm+EICPX6NdfHx1zTzOoxfRDUcARLKjZiOm3gCMstDB/CiFOYswaOVZeeG4Gj8YpBEPphkSnv9EIenr/FMQ3YylKdFkqklAyeTlEW5HMsr+Fz3PJiWIXnlm+8ocO+bfYdHOlB6rENLxo3sc5/3H1+09/NPa3xa5JCbZ+3/fre/sLn2F5XDiZkpRyjCH4wRJBIhEGiYz9AIKwQFmCjEV4+fA8VHGUw1QVm4Qj5rz7bPVo931bfEZO2hCO4PsZaONIW209gSTpSUIaqYzbCES6xdDef4xP4+vU0DmwSmwQD6DJizJMnp/ro/I04zktd5jOkhRUzt60mOGqUKlsox211Xm+5Xsd56ZEUaD02iZ29/eW7Qd86k8/xsrXc5DLsrZDpqZzp3qOuev7mPPfBfsFLJqXHA68KyESeCpNQht4QkS/h+jnSaNbRSLw8/g5e5BrTQ4kFHIHyu9gtlWcZjrfPpBuBo9tUzwBK4+FxYrpwPHwIN551rhyvCscpYhquZWQFR6uZdzZmh2dv8S7NkMkzkWoFpxyzHOV0Rv3B5TxavQ8i34xU3dYpsO1x3U9FGQb0HPkd2z4+ycHWZR5U/snqsc3xkpesfZ9r3+Ta59/b719/W+c5EhyjSPlxhDCuxrJGQiKgXTcXYIMRXr77HfGrdJbPHiTBZK4cbxmON8GktXA8/ewzfvThh8xFq52EBR/LU2E550M+4k2OY96MSnAex2rAFrcVHAt7YRN9oGnIlsL14JgAnn96Gkj/KBIUkPH5gHMvtEx5Z6fy8PQr/ai0Is+mOnNwzGyWzWQ50yh1tkWFzK5XcX/4u7pCO4pyI5L29peWiAIySzXUbcXXWnuC2jLklmuqnYJrDvC8lfDOksLb9Tj3Nd9j+55X+RwDSCmVPxrIIA516MWIOUNAL1PPsjYch9xMS1nORgcH2a92hOPXwaQeOIIffYgOHCEs5TmOwE2d47iAY/XbJjiWk4mNHg10cQGbHIA6Xt4sHFWeUEyc4Gi08s/OSDmKdwutiyyjrjxIp6nI0kKVaS5L8jneeIXMuhy8jQS8wQO+5fb7ttVSg80zDy5pMNFVmFKXTPUllbe+FjquUZ7rtvV7+631J+UYgAV+C45SR14sIunpUNCYBGFwlPCXD941v8q5mQ5LgmM0Gx3gCnC8eyY1cGTWWvykLvI+/WzxQT5/9UrGjx6x8SnEAQc3BEcKzFCl1XTKKQG8eTg42oll1hpuh6aB48mrV+bho0f6qtvqSjkikD4ioZAUEgM/pzEJ9bb6BI+KAkWWUvkgsmkq0iU4drk0/+VvKdnmqS3b5TmuJCZ351bv7dffyPr1Z7bULo2n5QdRrUOlB9BYyeYhPW/l7+5X3n1/8/oiA2HxkZoA197+YhVX1h+AkCUPI0+EngriEEESyJAlOg4lAkFjErjAINavHn3X/DLXlOeIaSkxE+mr/OLRo2KDz/FrZ9IWcISMH2EOxxkfC8tYPZo1YUU6c+fwo9gFY8jvSOoxjAd6AUeYh49ws3DUiMCUd/qGHZ2c411dUCoPMpPRthpZNlPVtrqUmtmb6QR+g9pvf6pLVkAX0AQmUnJziLWU3xxezYuXVMS04UfKr6mwWX5+UWmz8nxto6089/ZB3ZKYTMAolScK4ccDgiNCFtB0UARC0mhWzYYDvHz0XfFLCsjcHBzvhkn1j4/EHnqUY/eDQFiqq679jQVVyMwIjlWkuoIjbBjjduAokWRpOfQFi+gSOj9lh29PxSPq55hNtVOOk6nN8kwWJUWr8+vnOS6u401Kc9PrLY29BIdtQ0Wbzr/p9W+G/apCput1XNfQseVTdC+317Hv/a3nXeLhGkpXzsrWC/V5u2Folze5OO4+2S/p5iXAgwjCk/CHkQqTWDo4RlLXc6sNGx7wl9/5DfE8zzAdSkzLkpQj8otH2KAcv34mrYcjwPMvvuBDKdmb6IlYVo7r4UjhavYwNgRGB8fvQLOzM0ODtvLygb4J5Qg9i6UvktLwwRyOY0m11d9xFTKFmKmJzqeFSPMcxays8hxXfI7dvdSKFLhlYbe3v7zAnfXn/5HisXRAw5+ee0g3qryuEmapjLDvXtRnZ2+/+jpa6+aUow9GAZkwhB+FOkziSjlGlMrDmQTnGERuW/281N4kKtOZldH0SnD8Gph0CRzBhxLsTQRhxBtuHz7kBwCfjdfAsXHX2KllNnGArOAIQ4O28hIrcPz8E9gPnsF+/GPYTY0nGp/jHI4iGPiGttWkHPXhm9fsPQ2e5ylSNdHZNBOUylOkdZ7jzW2r91S7lGo3dE+Zz5Bx59tCAXbj0CulKPUHW3l+g9Lc2+9df7oShCh56HnCwdHTYZzoiEd+FPkIXFceTcrR0rb6eSkwiabXhePdMmkzHJ9AmDcVHP2LC2HYAW+21TYFR9zadFpYZrEWjqJ8buTjx8aVDwL2anBELH0kpUALjjh88xrvaSDPC4IjsslM5bmS+azOc5zDcVMpSZ+CXPHab6BAn529/Wrh+tazXh9WtgIybTZ2y/rWKcDu8Y2vcg1j59/iZZUye/uLH3tr/UsOFvlg3K98jg6OQxFyX8eRT/2wjccBFkf25Xcei19UcMQsT8ezSA6znbfVTjnWcLwjJm0JR3D7EEtwtOmUe0my1G2G/I0sqeAIOzaRHmqnHB9Ai+cw8jGuB8cAsVRIclMOA8EiSz7HMTt8+4a9pxXP81Kn+URklNLjttUUkMm3yHPcWfFsouVt79O/3fZpOILqTIKcK8huC7F1ynLtnrzZF7ai3NKDapayaU6iSybhreF3/b69fVdOSNvqMAQPPOXyHOMkDGh+DPfLOAwQeExIy8CSkL9491H5vOB2Ikt/ytLx7EIOs2hXn+MKHG+fSRXcLAm+VkCm54OYX44lRox7gwGzVF/NwGgsBOKY5nlUwRhMLUsSgzFMpLECx5Nnzyzef99sqxw/+vRTcfz0qXeUPPYxhyOGgUBk62312xPxni51kZVIi7FIyxnymUVepEppK7UqbiZaLblauhnQ9+9+KB2nfjcHfFPO+LZsvi/2uYDCmjZvlpWM2Z4muK1FpDZ6VMo6f4ruVZvuJ3TwhuP29hfrT+CTUnHfh/R8eNGAhXGA0PNFHAQIBYPQxrDhEX/x7lEbjphdSGTZ22flB++/r3pnyPxvwKTL4fgU7A1oW11Rei0c6wFbCzhWuY6+Heg2HKefvbAPPnxPn/yHnxHvYwc4Qhw/hZcMzgLfP4yYygdKBgMvVzH5HC/GcnT6Bt/VJYoZMNMTnU2mIisU8ukk0wRHz1YQW30sXzHKXR2LR1f/qc4Vtnh9eb+86pncbr++t1+tE+elqnpg9vkEu99kFUZuErib/pnLweXlqHJfxupaH+eK73Fvn5Q9NZ6gJPAwUP7wQAaBJJ+jiEKJUHIjQV63BC8fPcQviggTqTFlJ9eE4x0yqR+OAB+iC0dIjKqOPHPlOJ8+OCN0WNjYkIL0LTpwhH3wIRZwBOwHP9kckPno0y4cMVASczi6bfVX7Lta8zzXSFWms+lUZLki5QhlKFq9a56jrhVirQz7wjC3Fp655/Z1kwROSt1Iu6kRBClqZRY3wO7fDcr6nu9tqru337/+XDEhJPd9JcNA+/Ew8AOJSEaIA5SRkEKAA9HAvnx3ZH6hht4Y03SWyWhqaa78VZTjHTNpOzi65sykHJfhaNMZpy1186jgiAUch9WYhBzQ08/WwPE/jv+Y3nPJmIQFHBFwNYs9P04cHDWccqRo9elbgqMtUi1m5UWRz5Sf5jNVFDOpNLBmNOt1sda8f1VbLmuK7RRjtZ/b5fHttk/b6iVlV2+xq13v4ruTkFhqRFFXIrnj2i3IaneIO57eX4PUlRm2f731/3bHLY1jqBo67+2311+C8Ndsq4cDHfqBcHAMmQmFhLAGLErUy0eP2M9V2ILjEFn2DOUH72O3bXUbjnfApCvB0bIqGGNndG8AyjRlXhRZgqM3ndpZlBinHGs4nrx+bfDzY7OiHK8BR2jEVit/fM4OL07Zd3VJcMRMpSKjcQl5rooilUqrdXDcBUSbj7WmUpqM923fN5/jOkd82+yzVp7jUsVKj+uw6yqUWjFVq/51rsSV4zvnbd+q9vaX3UzNeliuGCWB+wwyjKVHeY5BLEKCo8cQctpWM7BBbF88eiR+XvBiwkt/mklM7S3A8TaYtBscx6B/sEvlAZtxiZgRGBFH8CxqOMLOIkq7HpvAGJ2MRvrkNQwUzIP3OtvqneGIWCAfKI8PmGFOOY4n7PDiLfsebatnmU41wdFglk1USXA0dKFddcBWl1jz0GYjMXZVfNdBIF3BHcUrv532Of1aatfCEuTaNeplay28ZQVJihD16933txUlHVfWxzXBNQfTS94//wbvuX1S9nM4JvCjAIEf6sgbIPaECDhKj3OBiFJ53hX/XnBMeImbh+MtMmkFjvj0U/7eRx+xfJ2EXfog4BJgZT1gaw5HCzuzDkcmMKTaTk2mjvQcjnUvx8/J53hFOBaeHgrjuyRwguP5a/a41Mhnms8wAfkbqwqZCe2ubhCO12Tb/u3brUA7Wt3eXpMibENs3dn60hkvS3NszmPXnH9vv6UcW+tTasVEILnPlYwi6YUhwiDWkfRN7Puez7nxOKNttX1x9I75ecG9cXRFOH5dTNoKjpOTE5FPJiL0jgR4lcpDCrINRyBFObU2iWIzS+BSeSo4wmSUmNEox+vA0UcsNAaFmQ0F9yNr4I/H7PDiNfsetSxLCz5DIdKs0Fk+E0WaovI57hqQ2XgNdxTcSknzbSu6b7d9Uo4EqvnXQAq5Vs1tOFqmGGtlIlB6Sfera3/39Hr37+a8SwqTztNW6Xv7K+tPosj5HKnxRAQvHCD0Ax17HiJPspB7kNyAxUP+q6N3ygqOAtPx2Xgm3xumu/gc18HxLpi0Bo7g732EJeU4OYHIJ+ciPKLevtSRpw+OkU0irIfjMcwDQJ9cA46Zj3jo4IghMypmHF4Nx8cFRatpW61FmuU6K3KRzki4BQAAIABJREFUpxkqn+MNwXHpgm1dhZvUzEbWbnnAfbHPLN3TrnGDIbC2fI5bLu/NHXYP7JNypGa3vlf5HL0YlOcYSaFjT5pQeFXLsiSxLw4PzM8LZsdJ5E/GajyTw13h+PUwaQc4QoRHEKQYKfnb+R7TlJO/sQnIUApPYu8AjgJDplVMynE6ZqPTE/aY8hypK4+x3izLkRWpKmaUykOqte9C2dWH1z2+uZwa39+m16/rw9x0/k2vf0PsC4bS5Sq21WP3s7e/05WWZbXq9CQa3+PSb6DlU1wh4tJ5l5P+l4695/ZLTy58jgF8b4jAwTHSscdYyKE9gmMY2xeHR+bfVZlPhqPBeKwwk0PsqBz74Hi7TLoSHJFOuevpmMTu/RvheOS6rNycchQYolAJ+RynlAR+hsc6N0WWWaccc4JjgXw2rn2OPcqxt9S5k2d4c5Ji+Ux7+9V6dBOrXECm2yD4tr6E/XmvtALkSQoom0dChATHGGEkEXkJwdGEnFOKOEcY4sXhEf5dlZNbheNtMOlSOKrnz7l+/JhX2+oFpYvsjfDwkHkJqmg1OR3q8sEl5TiEZqcw2RH05NUr++uPHqmdt9WAOAa85AzBVKfJ0PJB6fEht1W0ejJmh6dv2K9pizzP+UwXOs1nIstTVZRlncrDl8sHVZ9i7CkxWxWGy3mGi9eXT0D5cu7R2SHu7fdE3eunXUCm9Wi7E5Z8jhqMtfIR+45rTiUYmG7dKJ2Pcq0vs+ObbCnYvf0qXY3WzvkcPUgvghd4OiLlyELjUnmEL6jvKwtD++LoWHypFCbDCNdWjnfJpCvCEcKLwWh7XTYVMhT9oPqYyJqptcZPEh1QMAQwGQiOsL/+CFeHIxBM36bJ0I8GpSmHXLAYWnqTsa7gqFHkJZ9pTWk8yIsceWqhdL7Ic+xTaqLOU9SdPMVtvV59eYbbVtbs7Vfb12b9uYWaB1fcItYreZ3UpW6AZcXF0HpiJdFxb7+6ybcWxigm/AqOMpKeFyCM/da2mrm0PxYE9sWD74h/W4EjUH7wH1/sNrXV+HSxre6H480zaRWOAH8PVUBGPQfXj7FGOa77IDS3OrVxFJmphbF2YgIz0OEB9E3A0Ts/D0s1ioc+HByp/w9rttUn+DVdmiLLbWqsIDhmeYGiVFAm6y8fXK2V3oTD61bWLF+Re/vrlTb5HJsUsaUVq29iroKlvRsw5AFf7A6kAVt6vT7JyuAto5hak7gve57H3n5dKSShJCB4BUcRwI8iBBE1hvF1LAQLuYSAAQsqn+OXqrST0SP/YjyufY67wPFrYtJ2cAREDohwXAVkiqyCI7KU05a6eVCFTGxRwxEG52Mz+t5Q3TQc86I8IOVIcJxM2OHbE/ZrtqS51XamAde2LC90UZaidAGZG4pWb+2cuSOfZe/n+YbbN0Xtc3SlLAsXxiKjZtWtMcdsSyFKSeWC9aPv+Y7XY8njsrffv/4UqoYSBMcgZr7vI4giEVE/R6+Co6TywYDyHB+af1OpnQxGZjwrw6kLyFwXjnfApJ3gyCYTyRjjSBNewRFcIa3uJnX54DIcYUbfgzp588YY/dBcdVs9fPHCH8bvBSWl8igMCI7G4Vn5swkbnZ2wXzc5iqK0zueYpdSVR+SkHHV2A6k8vZGT1m1hiVSbFOjWmF32Wfb4RFdDGt9s+5zqW1oBGaEV02syDrplgHRcd2Xb7+ueR7R8lu2lped1y5e5t7+6/pRNIAJwjyvPi6RHyjGkPEfBYu4jBIPkAiDlODqwXxomx4Mou3E43iaTdoQjJKMNTArOWMplHDFFARlEkFFVPrgejjBGY3c4fvwx/+jHP+YNHDOdJrEXJbbAgRHUeEL503N2eHbKft1q5AX5HEukZaqzQos82+c57kjhyw+/qzxLXkItttWtRhOkBFsUW9cIogmAtYNepCAbCblaK718/tXj9vabX4VT4s1yMOrKA+6Rz9FnfjRE4PsiCgUcHC1XntAcwdC+GB3af6vgiPGsxI0qRza5PSZthONF8FrY42NO2+rmg6iTmfDimEnCU9pUJaRAFBk5ndkyirWlEsLzRjneLBxLiwNOAxq08rNzdnh6Yn/DtSyjJHDwWT4TqdtWK6tMTuWD2/Vz3Jx43CfdNknLm+rOcz/sC381z/HSRhJrGk24C9p186nX7LK8xL57QkuJ7u23WsKRt8OVD4J7UkqXyuPr0E9EKJlJ/JAHth6TEIT2xeED8a+qLCYHI//iJuB4V0xaC0c8c7NhON6CzwZvBHtX8EIIEfIDQcpRsZnwWMyofFC1otU0mjUykaHaakmDUztwHKRfajx5Yijncava6o8t/+jH4MMX8IcxAqcckyjJ83IkDHNJ4GnKRmen4tfJ51jmOi21mKkUWaHhKmSMvkJtde14x9fUZadx/N9X+xStdmDra4/ThdmSb7COqi6cjYujWwpyxQuy7r6zt79Ypm7FKnczqzkPIMIYvid06A+oQsYkHhMhJCTnHEGoXxweXh+OXweTLodjAD67gGDvghcCIuSo4QhBaTxLcKTa6jSyUYgKjjR7uA3HhzCDL6HxBOZXn31mTz/80GxsPLECRySBVwyUZQcOjgx+OmGj87fsCTTyPLWptpilKdIqWi0q5bgSkLlq1HnT+za9fl0f5abzb3r9m2HfJYG3wNSkStGnb7eFo+dZe1ewwdXqjm/d8ChgwDo5sGSj+/ze/sKX26xfacAEBWQCKQK/SgL3Ix15Hos9AQdH6gTu+Xj58BH+Rc0wORjh4kJNZkjTFMfHxdapPHSiRrDdIZOuBUdQ+WArWu2UI5UPUirPZGI8NdBVQAbGLMER9vRDXAOO/oEwiC1TDo6nJ+z7tkCuSj4rtK6UI5UTUrSalGMDx2ab1B2bwJY7f+/sqNs2Ory3X//eOm6OzvpzoxQBanWoy2WdFlvf2lol2fU2dr/lPunY975LzncP7Kva5+jgKHTgRSKgxhMyELHwEQhGvkDDpGdfvvPA/osu5TgJsvFUqultwvEmmXRNONIWu45Wh5Ft4Hg+m1kZGu3ZgR4Nl+H4Vn1h8/OnZlc4hvoi1PFBXClH/4AZlTAmvTTVo9PX7PsUkClTpEbZWa5EWmS6SHPhaqubxhOicz0sT44Hmtf7n99Wma3H697+8rr0rbP1UFZw7H5hrWh0twb6sr+b02zbEKLvuHY0/L7bR9UJnEklw0j7MpChmz7osVhIhJycIgLwPfvy6J3iX3UpxkPfXNw+HG+OSTvDUaVTwZKEU46jF0VMZXUL+ZAmD1bK8XwGK0NobwA9wk3DEYOiKEeCKmQ4/HTMRmdn4oktTV4UOlOKT6kbeO6mEVbKcVNXnk1QXLlGO090odc0TFiXfrIOm3v71ao0sOQapbWK5sIvVV5X0dINzsE14w2qs29SjlUByPL59/bb69Zef8XAfCofDKSQnvalhyiKRcg9Q8ox5BySGcNlyF4cPLD/wmDGHjMXWoZTpEhxjBvbVt8Wk3aD4wGEmlZ+R8px9CJUcAwBZClsGBlvltqpjcwSHAFjUPkcr6McC2p1MYwSgiMHS4wHr5ixhXIskJaFnWkl0jyrK2SofPDGk8B7Ew5r9t1wnuEKUb/d9g2nUYIL5bjUhHY1F2e+Oq6/YzcfspUvPs9XbALYrJW/1zqvaD9PPsh2E9y9/epWU8ORmvNIX/tUPhgliJgwCcVuhQ9hAeb7/MXBA/wLQzH2mH+hJW4WjrfIpDkcP/7JT9jn77/PPvjRj9g65+dkNpYH3xvyFTg20eosBbUsI+XYwNHasRlqrWaHh3oBR9j8HFfYViMs4jSJB1FSZBhxqxKl4ZcZG529ZU9UicIoPisznZYFMuoMXuYUrbaaMUkR8t0fHQbRxbfuJPOGqzUTu/mAV+73eE/tG0PbalKOy4/5gKwN32RXYW79PjeAq3ms3oC2Pk9H4W79vm+SfQ5G5YNeIIUgn6Ovw/hAhIyzxPMRGkvTJsC80L4YPRBfMGDsMewEx6+bSS04gn3+PtgHP8IyHD0IJsAnM8iD76GCY1InglP5YBhB5RmTNrSlTa21kaEcR1KO9N+hhpod4sbgGPpiMCvYKLA60Ux6WcZGF2/sf6I8R1NiRsqxLJGVBVyFjCnsPs+xt3Hsrj7Uu8mztBylGxrfM1Cru0tuNequyNY0Q6KUrDo63apCBNVOz5+/BLR7+6u1V/Plomg1wVFqGUTCZ752PkcrCI7GVchIC+ZH9sXwgffPBEdeZGMFNZV8MNtmW/3xT75eJq2HI4XO6/+bUfI3wCdjyINhF47k/Myq8sEgtGUKayNqOgEjTQVH7/RcTwdaBw8e6AGg335xNeVYJAhDhST0iwqOoobjpIaj5bmmbXVqZ7as8hzzEmWhhZa6vqi3zVu86TzHXc+36/GbNPGu59v1+Bu2b0k5WkXluS0dtwBzF1pdZVa9rzre/f/6e3cNKVa6RxJL++zs7S90dGf9GRinxhM0oDqC70kdRaGJeChoVEII8jkqw0XEfjV6YL8As2N+MRubQEwaOH5CXw9j63d11rIlOH4NTLpZOALW4rbhiMHMlKPAeoky2s9SjMZn7PuqNIUpeFpmdqYKkRIcldJKF2KNz3FXxdS31bqqb3Fvv7thbv/taqtb0WrZinjRAIXm4XyDrbSsvuOab4ncIu3j6f3zvMfWebvH7e0v1ny+/gRHKOH5TMhI+KFA6Cc6Yh5LKM/R8GpbTUngyZH+gjNxwQszNjaYSA6nHO8Ejtdg0qVwnLx6JfijR7w4OxOlOBQRmwiVceE/jJmrr6bGE7XjXAZVtJrgWE5nVhirZZToSjmOdPAAC+X4FOYUu+U5NsqR+xgog1FgMYfj5I39TW2Qm5LP8tLOTIqsNKQcRalb0WprqL0kwCz5ihcPy+rneef55vjO812h1Jy3eZ71HL+3v93681o50nq2e2wKB8xt8xGXIye6lezd9M9cfI8Sfa/v7S9yUtvrT9d92+cY+ghliIjyHD1pIjDjksCD0L5Mjsp/5iy84EV+bTjeJZM2wBGCPwIvziBKgTkcWcI4SylaHTGVN9HqDDYITZmm1prIiAiattbeKfR0gOvBEfCLi2pbDRRDI/0DYZFYo4M0xcHshFVwzPks15iZDFlZIs9cQOYmW5b1ZeZt2lfe1Ov3w76bIbMuz7FRkLTtbyfy0/PtpaHAWTfR390VN7xvLkk752s/T/97b59RCZODYwwhPfiBRCQ9HUmPJdR4glvj0VKFsXyRHKl/5kxe8AJjY3Et5Th5dXdM2gjH3DsRgj/gFRwhVFYFZCo4up9bdQ5q0OYCMjCU0iPsDcDRWv5RNT/bwdHT6UBYMdDgI4IjOPPziR5NLvhvFiXPmebTLEfqfI5l5XO8WThuCblacWKD4tzybLsf9g23L1rKcV5f7vygtS+x8R03vtGlPXmr+qatNNv+5hUFekkR9ZKtvX2n3Lm0LpUHWvBYCMHhS1nEccBCJpCIUAScw2ua3YaH4mc+w43B8a6YtAUcQf/4BRzr+mqCI+OZm6CzDMfI2BD9cARsji231dbyDz/7THz3ww89gqPW6SAhOHr+SBiVwDA/TzG6OGW/WZSmEIZPs5lNrRapg6OLVvcrx6snX3cVXJdfK2nhawG3t18tS3c1OVMlmFxOm5of1E5IlMtvXrfs7ZN3FOby3OtFQqR7vhu829uvf8N1oIuBeYIJ33d88G1ASeAISTm62mru7mSufDAe2Z8FsTzn05tRjrl3N0zaGo6zdCwPhkOuGjgCnOXgLgG8frhotVOOFRzNeGKSYqCWttVXgOM7jx/7WsUhi2US5WJofD6SQsbK6EBPcHB+xp5SXqMAn6ZTnVmXDI5caahCQ0smliJiGzentfLSHd+kqH2TXdLpjkIUjXJrDuy8vre/vIJdplmjSmtdxkSn0cRyo4jVRhJVHipFn9s+xL7jVs+/msd6WaOK+2yfmhFzq4UXQAYERx9hGIIaTyTSo36OrkKGeQF70cAxO8knoR+MrxOQoW11A8fbZtICjgD7HGAfVEndLpVn6YMIyANqV3YZHO0iWm2mUyMiSkYcqKlu+RyvBcdhEtliaGhbDSSaMV9N9Why7v9mWZgCFtOMOvNopLpAnhWVz1F2ILe4NDdiqsPBPsW4rAFXz9qnJPf212HSAoWD404tw+hMtfqrB0EtdfBuCc6lzmWXVLzs7be+nU4cbBGQgfShA56IIBJlzCMR07hqDhpIahiVD8aJ/Vk4lGcER30UjMPsTRo8fJhvjFZ/zUy6Ehx1lroSQo9FVelgoxxX4JjoROOacIR45/GrWjmuwlGnOBifi6elMoVWmJUzm6qygqO2onTKUdcQ2tYHuEH57ewE3NUHeM/tt5Vj71q3ygRXxxqA6TVNbrvHNTXwO3+f9Ib7bp9myFgIKh+kbTVPqBO4iaWHKpXHGo/6OcqYv4iH6mdM2nNbmLGObweOt8GkneBo0qkIOROMx5zgqCMwYqNGxgRCm2UZrLHGWBhuIk0R65uBI3ytELIYSVAUB/D8AyFUokoWlAWGkwv2W1X5IKZlblOVCQdH2laXTjkuz61e9XJt5yPsfd9cOG6rBLc9bmUD33miNvwts2+4KskZMv/H1grSuQy7Lsc1I1er41YbTQhyUbqnq9cEY0yLOn1rqbZasyWXyt5+tV6t9Xdzq31wybQnpfB4iDD0TcwDHntMRYZallkwL5Iv4nfUPzEQHL2xjjEOM6TBQ9yIcrxNJl0JjqagxM+IERw9ZC6dJwhCM4djVMPRQicDqCngZljr58+NevzY7BaQIeUIX8cImargSD5HXuqB5dIrShxMTtlvaWUKo+1U5zwtMuq8izy3y1155nmGW+Yz9h3fRVY3z7F5vZvvuLe/XT4pt6q0hjmf4xxedHFqTZ3n3YM1UKufXz6uOyBLLyDYOU/lo1y103yHe/uL3N/2+kMKl8ojJTzqysMDEYTCxNZDEggTWekuMuZ7eJm8Y/6RefbcTm8PjrfBpK3gqCbnQh+NREXpRJiCbrqZU46S5QwIUMHRdVE2Jkor5Wih1cCNuL1ROBY+pfLoAWfSKzKCo/1trWRugGkx0anWooJjUQdkervy7Krgdj1+04Zt1/Ptevw30z43i2g1zUtoHrK3BEZAtUpn3HE1RZf0o2tJtny+hcDs2Jm/f29/3forrV0SuAyEpDxH5ukwpDaCEVwSOGdcGg74Pl4mh/wfmYfz2Wk+8Q+Di5tQjnfBpMvhSLNhTyCUOBeaExyrUQmGgjIcXFOo3tVWh7ABDOU6VnAk5QgHx5m50Bda62OldJAfa/UYV1eOEklwgYPCVyNrMeCG+QTHjLbVBQrL+aSYmkxpm7JSUCrPPs9xEx9v4/VdfaxdZwGrAjJWryq+tmJs3kbH9Sm9Tc8vmxbU+39ePbW337/+TUCGlKOQ2nfbasZi+NTPkYdcw7N0gYb8RXJg/pFH8uxG4HiHTOqF4/nz50I8fsyX4MghQgZhKBF8DscqCVwFmRVZaNtwTC00v2E44qIYMd8/sEINuGa+JuV4Yn/bdeVRepaXYsY0T02OPNNVtHrez3FTemIXFL2tuzedqOMLnF+hO5LontrnBEdTpfK4h8u9XrfmncTFtrJs3tt+n1OUrfO0FOaSP3np+b39deuvXeMJwaWnPenD+Rw9ZhIReREXJqIxCbStFlK/jA/ZP3jSnqelGfvHwUX45mo+x7tm0mY4AkKdQ2TpRIrhgPfDEVYAlsoHeRhpM52ZMowVKcgLDT386o0ZJQ/VdZUjwRE+H0HIhGtdwfGc/bYuUBiDqRuVAJuaXOQq16o0q0ngfbXPcyXSU1O9kr9Yv2FTnmO3Gnhvf7mGvXvL4FaXllEzqM6DFGLL19h7q6HJhUsdwbd934bj9vbn6+/gSI3fOLwggmc9gmNJcIwJjrDGTR8UPl7GB/wfPFneHBzviEmXwBFCPIabV90LxxBM5mA6z1kZWKpmtWWaWRYEmhurbxOOzba6LDGcntjfMQq5BZ+WJZ+pUqea4Ki0MhT37EvhaVJ86qtMiVqq1eJinmZXP606xy+EzXKe40rPnea8qxf70jN7+9U6CkPKUXNy+s8fa5VjoyzXKMLuWncV41xZtg7sKtS9/d71n2+rAyF9CZ+HOhTMJNwXsaCWZTS3mmoIPbwMDsw/+LE8SxXGQkzHWZrMzh4i/3xTy7JOnuP587tlUi8cP38O8RttOApIQXeKLJUmhyjI40rR6py5c6zCMdJlCKXPxyaNh2r4FcwowQ0oR4zQ+Bw588sUB9Mz+4MKjnJapEiV0anJCI4oDfk+a6jtGj2e74Z7KmD6FOOudvqOv7/2yX8MjpYv8VLF2FF0FFVtR5mbdex7vtfO3v5CvXcUu6utJh4w7QlP+4j9gLbV3Ecs/Cog4wqcBF7Gh+bZTcDxrpm0EY4Xp6dS8COeCUjrotVcrMIxQBlktXKEpSZutJ0uH0LpX94MHAszjuThMMYFRpZnh7StZtYEeSGG2QWr4Gj4tCiQknIkOJbkczRr8hy7CrCr7Ppev+r7NihGGuO29Ljn9q1BAVKOc2neoyDX+RDX+Rrr54QU0C0F6f5ec3z3uF4Fe4/tuzxHT3BJokkUAY9EIISIuWcSpxypKw8lgdO2+sg8k8ye58y7uI5ybOB4V0y6FI7HwWuhpBRtOBqeCMshnIpkYIZyHAHkyOH7gaH6ahZA8xC6jAmOMGmMaytHgiOPvIRN+AgBH1noAefSzwsMp2fsd5hBrgoz04q21TbVJXJrRWnLls+xL4rarUhZcYJ1fGSbjm/e393O7+1Xv7e+danXzQqRw4J3O5FxrZlZ43PsPr/p7+braaLcZGfdeff2l8se2uvqgi0cXNR5jkwipImgDRxd5w4O5vl4GR2YZ9YW59qKCy8OLrIUV9pWExzvkklbwPHYdeWplGOVxtOFIxwdV+GYmolm5wN9o3As+AgeHymwAWfwVYpheiZ+xxIclZnpAjOleaoVwbJHOc7ht2Pe4Cbl2IXqxr/39peXqFKIFK1WZUs5NsqvpbB167sQQuCyv+fb6ise137/3NVx3+0b7cYkMF/IwNO+g6OkbTWLmcdDzqifI81RwMvBjcPxbpi0Fo5vv/hCvAyf8uMAQtHs7jYcB27kIt3bOS9yTgngFRwB/wCmpArCWWqYXwVk2DmuB0dAlK/gPzCI+FGWsIsFHJlBoAoMZxfiBwRHnRtSjE45MkUty4TzOTblg41SWJcrRz/6Ta9vZF2jfGpfVdfOpvNvev2+2AcTuWWrypGyBdp+3rYzYm2iDyn1WqUudS5rPe/WtLUT6J6/+769/XoXRdFqD5wx7fkMPh8iEHCNbmMmEHEGyatjXvoPzOeitOfamgsONS5ZMt01IPN1MGkFjkeffcaD0YivhSPlOJJybMMxCEDRaoHA8iCz1obGmNSwOlq9BMcfgAoSdksCb8GxOMqS6CIcwcOoVHrIOXyCY3puf9eAZzrDTGs+UzlSZmvlqKG10pb8SDf36FyKq+HpmzO19kzfbvvC6ILguPinCyo+dX8uwWrxtHuNFGT30VWUzXnqN8zPOK+lNppV51mytLffWf/K5wjOhJA+14GNEHiMJV7IY8NMJGTVsgwefxk95H/PZ7MLI+NzjunOcPy6mNQDxw/5yxBz5ainF8IcHgjLIMo8lZYz4Ych43nuqmTcDzOv4KjI5+hbfaNwBPwHY0QF1W2+LQ+Zz6pttVdtq6dj+7ta8ZyTz9Hwmc5tSmMTVFk1u2VWE89b19rleXbz6GXXv9WOXravws5xFBXtXshLF+2mXL3Gzj21L7pJ4M3idRVf3y2I+m72tqm7xn1rb3+uxF0qj4MjpM9RwdGYxAuQGEoC97iwCoyHeBkOzeeisOcm8c55Ph2Xx8n0DNun8lRwvHsmrYEjeDDCMhzFhShSLsVgwJfhSCWEVW01udB5AKsoz9EPNaNodQjFLCWBn+kH6lDL8oUu8tz4T57orQZsUSdwUo4tOPKL8tD3WaUcmfTLAoP83L5PMITi07LQqSp5CvI5aiofFJqRcmz7q+bXx+U+v9UClfWVMaIGL42rWfdoXp/7q/b26xVYv/7caOrNydv3s1VJ2HqGvltSNk2gZ96UuKUAG1PuS+0qw9a5OoKxF6XrJOw9sk/TIWlbzYWQHtcBCI6cxV5gEsMQUfEM9XPk0r4MR+zvCY7KMxe5DS78Y+wIx6+HSVvCEaJIJ9IKLiyPXUDGD8F4XtVXux9QnsMLAlMpR2yE488+/dR+9NFH5mPAgrGlaYDzH2QLjt4YUeAhIThyn42sYkPL4OvSDLMT8bsaJucFnxVap7rwZqBtdapdKg+sq96B6URJedPxu3MFzDlaXwB977up51cQsZxT3vu5v7X2pchhwKmL0aZqIvrqusfRNMnuhMl1xzVfe5+dvf3+9Sfl6HmgjD1PSFDqdyC0SWRgksrnyCU5RpjUr6J32N+JmT2feebC2uCCi5PZ25OT/IunT8tL51bXSeBHn62D4+0zqR+OT8GPX1cBGS3og0BaMZvDUbCMewjZJjiq8dik0VA9OISWL6CLHMZ/An0VOHo6G0iIEVPsEGADY3RgSjHILuz7xrpsollp7KxRjroOyEDBLrujNkWJ+16/6vtWPGFdHHf+vuf2qULGtqLVfZEXITCvmydItsZYtOHYPE8Kvu2DrPJLe2q225kJe/uL32ezXBRskYIzoandre+FOgQ3ieeLmDEazVoFZJiwr6Jj9reilOcz5NeD4x0zaXs4ckibVWk8VSpPxnnOOCggU+RM2MAKysM2gXHKMYROJzQgwej1cIT96CPspBwrOIYjrdShgB5aJn1TYpCe6g8seG4KzPMc3ba6EDTikyptjft9NxdP1x/VMxtmoWA7PspNx88lSc/79vaXdwrd9dQidxUyK+6HLYNqXZ+j8xW2Gx5veZ69/Y77o7VuTbQa2gNFXARZAAAgAElEQVSVD3osFJLHQqqEC0RCcmmNYdxz2+q/M6U9V9I7txYXXGD29gT5F0+xm3LswvGWmXR1OIbgLiBTgFEqD8GR8q79IDA6pWg1dKmNol7gaYQ1yvG6cKy21RUc7Q8teLaAI+Y+RwfHFeW46v2rnultg9Pjetr1Iruuguy+/1tqn6LVS3Bc/nc7BdiNJrd6dgpGYxJWFWH3fUu6sblhMc0u8UjWv5K9fcW0azzBBc0zE74XmBCSxx43Do7gxqN+joLxV9GR+ds7geMNM+lSOOI1xNExhL6gWupKOSqeSopReS5aDa5ds9sGjrB+gBYcI+pV6uCYmBOT5A/UYlt9FThiIIGRhjoUlg1NqQNVskFxwT6wvIZjwWfGIGU5eUHdcPgFHJt8tq5yaxjTV/nSd3yft35TJcze/rJyXF1/qm6qleMiksIZJUGsZhosw2wBRReEq/9sw7KC5OLRuFzIx7h6/r39Rji0159SecirSHmO5HPkkoUs4DGXKhGc02hWj8MwJvjLaHRzcLxLJq2F4y9G4IOn4Nt/kICSH22JCo7TFAaUfE1YiqBTXcGRPy+1OHikp7Nn5vVX75tdt9Vilg39IDwos+wBk2xgjfRtiUExYR9QErhRfEpDtoyCSwJ3qTwGpF87Psc+qm37/PqodOty2/ZEVzzuW28/p34hzeK04df2JbqLtRVkawJs7UVtXifwNedpgjzcUDCxWss5FAUoyrCkPPf2F57ZZv0dHLkWlOfIpPalL0IhTMK5GTCqrSafI+fUPPhleGj+zhbyTCU4t9nVttVfB5MuhyMgjgCR/XIsS49qJZlwmU2cCc4okh+Qd6fu3JHD2MAYpxxrOIZQBMkKjjD8+asbhKM3sDQvt8CgOLc/NATHkk9hMFOqTuUptHLKkeLVbXfJhimE81kvHZXSdvi3L8D5BVvb6Jsp07xnUwR2b18XbeW4oORCCa5zjCy+Yk2Bwrk6badSdTN1FopyOeFqcZxe/HRaSvS+26dAbFMhAwHfI5+jz2MONWABD8GMpPJBIfGVHJm/4YU914l3dm043iGTrgDHWNC/mbOc8wIuINM8yiy37CDQm+EI8/orXE05DsKDckzKsQXHsfihMSY3eZUEbhWfVQGZGo6uqGfdY1P0eZOPsNlwVJdlX57jqi9z3aXlnBMblOTV8iy/gfZzGhh/6WK0E+TXjFNovpm55lk6fqEYryjdqRxn8Zu6h/a1JI1Ub6t94TNuIh7xSFo1oNpqNLXVEl95I/PT24Xj7TDpUjjmb97I7zx8yJeVY/NBqtpqU+c58iCwBEcT0KCEULtt9YpyhBYH0NPZ1eDIT/MDHPADrtgRAyPlGFgtkvzU/J4lOBZmZhWbqUKkzPBMWZRGacPqbfWuCTLz47fs5ziv0e07vnMldtIZ56+uPH/P7IMh50Zw156/eXRLNNtr2WlSS1u+xfa79a13xx8053DvX4PJvf3e9Xf9HCnPkVoSSzg4sgCxpG21ROi68lAVjcArLyn/hht+Vkpzbqf6Qg7j6a7R6mZbfZdMWg/HD8HlixeCeZ6o4AhZeqAWRE41VsoRvCxy7hEcAxLQgS0tzdfKjJ7BCD9UBMeJazbbbKuvD8fygB/4OXvABRsYqwOlRaKm7IdGI0dmZtramclFisLm2sHReYXNUp5jb7/E6rfQVYDz6pqVTuA1xur/LOXQOR24/Pr8l7a3v0yiTgd2gmM7Wt0eoNVu5kHPd/9uTrzd830KcnXQVt95t7OzGAC2fPw3174CmGc1XVhS+PC5g6OJJeB8jpa6eLkZMnglDvBTv7AVHKEvJK/h+NefKPzZn63fDlnLPm4lgf/ia2DSdnAcQ5aUBM4hdJFKiCpaXTJUcKQ2UzQ/huBIPscsMzBWC23URFvNC60OByPNn18djuLlJJbFYFgelC04IlAaSTmxv0cBGTtFqoGpVTallHDNvcIpR1PBcdPc6L4t1qZO3bu+b9fz7Xr8/ELecT73rv+OTVvSXTuiz89HcCTl6CIhrWunfYdbdR4uPs669y3dkNbctPpe39tvrWvL02HALNOc0fRBAZ+DRTZBRHAUAUJTN7sVPl6JgfkpZva8DM2Zd1NwvAMmrcIR4L8AKUcI5kF85yF4Rh+EUnlSqpapU3mwDEdKnNF+HZDpg2MJLR5BT5/tvq0Wk0ksTwiOOOC5csrRWtpWI9EX9vc1eGZTk2rDp9agpRxFVT641oO17Ua7/n301vk1v5/r+jD7Ntr3zD7d6Ja68tT//naqVRv8nYYQ3dZmzbez8vyW55vTYcvj74V9IUDfkUvlIeUIFrGYRxxmwGjAlhuTQLXVeCUP8dcEx0Jk5743PJcc1bZ6W+X4NTFpIxyDh+BqDBkSHBmEzis4UnWMCQNGypEqZJSFlXM4VtFq2k5PNDSPoA7pv204vg/zEbavkHFwnA2GBStHgntHBnoomItWJ+XY/oFRJoeSU63MjLlotc0LjdJSpiWvaqvnj75odV+e44bodrsf4CY15V7f218fIGvWX4jMKipaXe5J1m1q2wojL5a924R2ft9azn/sCs/FYR2leklT23ttn4FZRwIhhdABIzgmPOLWDOCZkDPuuURVab4SB/hrVtqzwthz3/NbcITCn1FiwZpHe1vdgeNdMWknOKqMwBhVPsc856oelUD/NOUHlue5xTDQOrs9OOZ8dihZfFjBUfhW66Q8s39AqTzUlYfyHB0cC+QaKGn6oME+z3EraG990C3nWbpt9aJ8cFsltm507lJz2m6zXKbZvI9j698uOs/v7S83GXZL5YJeWliPZshQQIY5nyMXPKHaakZdeahVOFcVHK08K1Cc+/Zm4XibTNoJjuMslVEDR4ArilZT1AoBlI9VOAZQEwvNqaTl2soRMUWry0iPGjhyg8AAsToxf2jBMhg51aWhBPDUKJ7ZctGV57LrftuO3RYLx3r7fKyTKtQOIGzDm7395VQrSy3LmvLBJSG3XLbXLfNb7A7WjE1YW07YcmmKVgCtHZTb25//hJ1yb9bRNf3Q1GdBconAVcj4JuZMJrStpj6PxtCcGfOVPMRf3RYcb5NJO8IRMqqj1SVtDhm4Kap+jryGo/FhrA1cKo+4TThqfWAphUCLWJ2ZP6RUHqccNZ8ZZVwqj6W51YY298tJ4K09WIddV8szXOQR9imqvvNe10c596b1OCW7r3dR/b+pfYOcRnO0bzLtAVjd1aTj2q/TICj3L23RcylKTDe5+p++bfR7b39xA6NlVaAZMoIzajvBELhotW9icJ4wDgdH5qpozFdyhM8qOOLcj3B+nmEK53O8/rZ6nN0ekzbCkcszwcShIJ8jfRDaUjPqytPAsa6Q4RaWItbG5kZba7gJ1U3BMXv9OhAmij2KVkcYgakjDja0RgfQLFZT8Qc0mpVZuAFb1vAZbathqjzHeUeWDgu6GSS9qOlUytC2i45d2ZJt6vqzt79E5971nwdk2hi8bCu/TkOuO757XPsb7zt+7o28ZBNw/+xrIejuJQiCBEcqH7Q+YkgkDKQcjWSaatjEKx6bv/ICeVqUOFcRzstrwvGumLQzHE2RSUapPEHAnHJsygfzHC4gY2G0zYw1VvtBVN7EtroNx1mEkcfUkQUb0rYaGg6OoAtKV9MHrUIKS9tqKJfKw0XVsmz+uFwxreQ5zj3v1ftW372+QqbbAXxvvw80HS2odGFp+G/zaLc0a9+odh2H0D2e/m6+zHaQbN1xzWfZ23fBNE0NhSn2ICnvWQSSmcjQcC2CI22rWZXnCClfyaH6K0/K03xaXJSeOtc8nlxHOXbheFtM2gKOEDody1BymfJEGJFJxmh8xAKO1YCtOlrt4AhjaRBgEJW29jnG5tSExZFyqTyAeY3to9VtOE6j8tAz5shCDikzH6VJygv+hwwso8mDBEijbMoaOBrhZsi0mgNixUfY40ucX5udWS67+hS7kmNvv+Nj7Kw/DUdbm8rTO95gk3LrU4yblGP3m9tWeW76PNued9vjNtm7+X8/KUfyOXKqY5IskJKHijryMIIjj7ig2mrKhBRUPviXkPLUlMVFadW5fhhPaHbAF59cbVtNQL4LJm0NRy255A6OzpcgRJE7n+N8wFYQWJ7lNMrKwA80NXzIzEzxMFYUkHFwPDpSlJyxOxwRCIPYKzCcw1HIIbc6MFrEZsL+EMrkxvKp1XVXHoJjXnXloW7RbThuVnCborF9vrzr+vA25DmubOy63rdvh33Gl6PVc9F2SafvbufvdWMSui3Pescp9I1Z2NtfqHnXeV1wTpVz1oRSwm2rqTOPpX6OjIo/GbOSfSVj+xkLxMlNw/G2mbQVHM9SyPiAWhBBmLyGI80hK5rpgwFEAFdbLXvgmFNXniOo714HjgzDKS8PPcaqbbVFYDRiM2N/iFIXxrCpLTGD4k45qlIrUq7NDJk5W7p5hn35jc0bdj3+Eu+Ue2nX8+16/DfdPrlI1jS7XW1ye/k/tO/41aa3i4qZbglo28Le/nK02pLPkQIyIOVYwRHcDMARcsY85rbV9ises79kwpwaa89vSjneBZO2g6OAjCkJPE8l45FwytHBsVaO1Jgnr1qWERzJ58i9UGUGyuqJZhQWSQ40wXH0/LnB48d6t211pRx1mR/okI8cHLU5sFz4jOA4wX822uYGmLKSz6BpbnXlcyQFS+2r1hfIbFBavUHmLZXl+rKclnDd21/GW73gndpqNyq3cW10y/naqTbkCZuLeuG+8+VRMPR6O+qqmV45r0Pg4nnnYNvbX7P+zLoZMq49SCC5iWxoYs4xsMxGTHIBA8Yk+4of2L9UwpyKkuDon+uHuPa2+uwOmNQPR+pw/qZyuPZ+kNa22sHRr+GYrcLxTXKg37khODLGjgRFq6vyQQdHWJvTlpralbE5HLWiQQ2s1dtvrdboU2bbKrbmuE0KtE/o7O0vV8yQclzTsqxbIdPrAaR8vHZlS88YrXUevb6QET2/t99a1ybP0aXysIBxHfFAROBwXXmstV61Zva1TdhfWILjdZXjHTPpcjgCgp9VcAzymcdpLGuRSRGFzt/oKmRao1kJjuRz1MgMdKiYU47QrIR6k6CGIwweY0flWKXymGIw1AcYIVcPADOEpW67JjYT778AJjcQE1ASuOYpoyRwynOkrjxSmPVc2qQAN/n0ur7H+nxda3zbPMfLLlcnYXrw2vFVftPtW+RUodr+x3bL/ebwE1VOQDuPoMkSaI9Wbb+fOoZvajjcXei9/cWKuDxHEgJUW+1BcsECC0ScpldzJOBUW80ks4Zzzr6yQ/0XheCnYW7PrxWtJjjeIZOuBEdGFZU1HP2m2W0OUAJ4BUdKAccKHIfqtc7zY/14Rzg+B/zhBHF0gmF2gANf44GFHoIJ3xQ6xph9aKwpSDkygxnTMkVpclhbGkpHbw1fWvYhVX/1bW6b57sXUtOOvzs3eteuP33hl+7z982+ZCKjpk7d2upeD2OnBrv3fd3j2ve2tWmOy7Xde/stj1Cd52g8SObcWyZCaCLu84R8ji4gQ9tqbl7bBP9TC3sWwp4r65+XvEkC37JlWVNbfQkcb4NJl8JRnZzIgD/glXKERwEZKhdiLBfkbyTl6DHGmO/T1Ghqvm2tF9CGxhiTUuGqYmHsIPlGQ18Lji8ncczkIAvCAz7JjljoJZYy8zUic87+iMHkukDKwGdG85RrU1hjnc9RrHQCv16e4+pFcrd5jt92+7C6k8rTo7wvHbna1Xo0KKYzopVmyKxrArLtKNd7bJ82hNTT1WWvcONLKUIteMSsSiB5AGGqxhMMr3GAP9elPefSOxcWF/n5yQw4yb94+nS70awtON4lk24MjgUFYfNNcISmzma7KEd8BvHIgy/fGYdBPEz86XRk/eCASQxgZKUcZ+yPmeWFtSplOU9hkUGjsIY7OHLSsvSoN2o75xl2a6c35EXO4bWyva1e2du/PM/RWJG5MQn0fdEazgHWqm1vr21zXLPw6/5uf4fz6ZBL+4iF37P9+t7+2vWnyTquZRkgmSh9CBFQwwl4PLKeCZnlkhvDrM9fsQH/cyXL87AwFzwOxnqAGZ6h+Px9KDC23uW1risPIHaB43WZtAJHPHsmXscxHz55wvs/SBWtVgUpRzD4BfICLuHpcuW4MxwZPoX47vCFL4/jIExGcWgxyFh5wC2LGYNnlI5x4f1XKhUEjWTVyDV1BTc0lpUrxlzji57HJp9j70aq88Km/MSr+hzvp/0qCbw7mpXWolrH9fmJi+/Suu1cA+DF85yBmSUXS/t7WaM0V5wue/vN+rt7BkBkk9xjVA0TcJ86gJuIWe4zAWFgaLL1K3PI/4dXFhME/lin4+n5e8P01TOU2BKOXxeTNsARkk/OxfRoJGhbbXkqeSuVx22rXUCmQFqA0TBAa3LN/KBKvia/Y1j5Hqtt9RXgCPAnX37pyYMnvtKIAx8R8mJoLIu4z6QpEbMTfAQ4OObQnMBYcPBSWU05jtR6Yvmxa3R526j1tizb269UWk903zBkTFVTJhajQFujVesSvnXTILujW+d+41bZX/d9C0QuR7n39vvXn8Ix3GjuejqC2mLDhwcfgJtZbQW1cgez3L6SB/j/DDNTw4JpNsVMech/9R5I2NFtbKNyXIbj9kxygs33jc5yY/1A78qkNXCEeB2D+9ErIbxHguB44QsJOZARTyVKJkUYclbmwgQB/cuYKSYMbl18FPRv9nzla+QER2OmWoZJeSU4knD/b+AffACBY/g6RKBKRMbksTU0CtIn32dsT9T/yRSUIUobXjBSkYxTLx5X670CxznENkV/u7TbVWn2KcbmvHv7a+8nrkKmFa3uJizO37SczFMlaS+68VSvLtZ4TSpOK++xdRw1cG5vw/f2lxNG3Y3NjUdhbmvtUTMa5oHDN8L4tKOzgnOa/22ZfWmH+v8tmUkFUzM7LXPDj/Ivn7iRZpqKaNb+Blrbajy7GpNIrDk4UjmzxRyO2zLpSnCkyBCpRkGxqCaVBz5sWbDS862gqHWWG78Mciun+dXhSHsoV/kn/gSQL748C0R06Fs/DZnivmQQXAeefVt+ZC2LLXjJFZRlUFUHcG6M0usTwLdReZ2aapcMvO6xSCRe//o2ti4775yl98Q+R2ZNvYdufQeCRqC21qk3z5EgKVpzqzvvW1rq1ne3dpO9t7+Y/91dx3pUAgVqmTVS0SRCDs81naBgDRHU2Ff8Hf3fmTS59OKMZa8K/fZR+fn77q5FyvFG4LiOSQRHTunPBEcfGiZQuwi2HeEIibrxBPkbF3D0XT9HPS04wZFTLMTztaJSQgslJGazEsXO22rn4LD0GfnTLyDjIeRFAE+8nfgiEJ6JI2aztBrwdR5939PmfWU4Z7o01gpjuDWi025s6cJYmQLYJVRH+a1MH6yO53UljOl53aWWrHvs7S+vSrNMivIcqTneYt0uS+peVYQt32Dtwmi/n/aBzfa7qyz7Bnrt7S8pa0e2um0Zp5xUy7SwjLl2hlRBR3kAFBgt/PyvcBj9+yBAUZRQ+eTL8ssnT0g19m+p6+u+mT54uXK8nEkUJF6FoxsbvXE3ewkcIYQHwQXEBZUIUQoP9XMUkLxO5ang6NdqqXABmTKgwdVgVM2nssAQIEvjKmYKGqzDZyi3jlY3cPwEHD8CewqI+G//Vk5+7dek4pzHk5GLPwt7YafKGP+tkFpGvyc0/y1wa42uGk5sm0/YXKnb5hluu8ne269WdlM+abP+jHyOdjGhZRvh3c4FbfJN6X19z29zzl2OuW/2K0chRazdbsal9TBm6IZG6T2WG/4zmUz/wXq6pGszmR2qafyleufJE/1ZlYPQrxp74Xg1JjVwNNZqTKxifkRjo3eH47NnEMfO53jZB2lqqwsHR8sKEsdWW9/VVpOENchZlgcgOEqTmbMwdE0pihTp97+HSQro408+sZ88e2bx8cc9FSz1z7NSj+wjgD//AiILn/MHnsfx6FF1wCvgzfMXNv7wPT367DNzzn9wyFj0Rwx4r/oKN1W6LONr9SLeLhq92geyi9vm78sxcd/tg6LVrRkyS8p7pba6tVpLo1vbz7e+h/b7XY3HalTb+dPaUe3e83aSxO+ZfZp37G5EHC4qAyM44+p5LvKfDn+YUP30yrX52YcfVmB0d66eLXUHjjfGJJvN4YhyrM6+N1TD18tB4jaTVpTjbh8E3ARgtqjh6NdwJOdn7QCl2dazLGN5DcdsBusdQasU09//fz6ZbQXHarGacjIHyg9BQ2Oqmdl4BnxO2Y3jTy0++qhZePODv7Hf5xp/bK0euuOumOdYf5X9QmJ9P7TmJ7B4395+dU1syBtlVmTz2uruCNZmNfuen3/PrVzKzujWtVHyXe3s7dMO0T2s0dxwnApW/MXP/iB6tc21uVGVtwIyxKSDA4gggKDxfut3s4tmOJcxyVXu0eCUXeD4o08+4a+Pj9nrdz/ifcrRnKUeo76OdVce6gauy6JKhLewCrCe52sXGaJWYfUHSS3sxINvMrDSh46JUzGsuYA6zb4cf/n972cbF6u+m9THMXzyCcOPflT9+QmAH8HiJz8Bfvxju3RH+m9WvP/b+H1j8QcAXDH84rHtxnjTp9ukLJv3b1Kwm+z0vf7tsn95s9tmDS4LzawP1VD01JAnbP7oD+msr2O/LC9yc6joW2nfitwY/PXP/m/8DD92a7v9tXnZz91aRkx6hg/E6Z++Lx9ysAc0HLsDx6syCSXU2fewnXKkD/Kvp6c8+9P/i3XheJpNPDdqsWCyDUcq33dJ4A6OvlUoluCYUpNbR+nqg4hfQp4HCOZwfAs2iygXCdn7Bzj/hPXMsF1dRAbbCXLVn6JvvX//b2ySW/wRs3gKZm42qnxVpu3ft3YFGOMUrSYn/zxw4gQh08ysCbD1+Rjp+GYXveQTbI9HcJ1jFh+jff69/cvWX1vOxT8yib/+/ANGOYvNY+drc+2PwFr+5Ev40y9fS7wLvPfOsW3D8aaYtNW2eis4CiZZuVCOCzj6tXKsotQyy6kbuHJwDKFgoM6GFaXHxzD+BcJCIpi8BUMEhDQgnJJKLzD56ROcX+qLuCZQfvj/20c6xp9YQ0ve5+qs97/d7bK53DW68tF45wQrb9/bX09Hm1u7mFu9NEbwku9/nudYH7OS5+jyIFtRVwOml5Rk9cbVprZ9CnP5w9wX+wzil6HF//zpf2Zn17wc17/9c+uSpo/xGvgKuBSON8Ck/Bj68IsvTPr0qT7+BPaTZ/+hgD9uFFQtYbvK0UxPZfDOEZ9TWsSSlXm9rQ64ZgX3WBWtpuRvQUnXLoUnN7ABtStbgWPrg7BfvcCAefAJjKN6WBdVRs88nH7+Lqscurf0+J2f2t9m0H9swUjIrn9w3ukz2KM4m+PMDSvSe2pfMJuppnywdf9wTWi7zWrb/sv6XiTMdse5L71z/uaHoOdVTIufxr23b/UEnvjzZz9kP7+Ny/LDv7Tev40QnVRAMcf0369egz8w9nd//5H2X0HcMpP64Aj+r6fg2Z9ivq1efBB4VqaeKx2kId5F5fykOBVtq01RMOXDCusb42Ge37gBju6D/I8/gX94hAPk8AMG2vBUEw01yosLvPny+xR3uZ0HfRmpV/4XC/571rKq0UHrsfiz+l+U1Nq9oOjvRiDOr7OOIOQdBbk4rnvg3n61AjbnLlq9UGyXexg7irBZxlaLsqX397UuW/mZ7e2T79UCpRHib/7ph/j73nK/61yi1ooHXyCJC8hJAXM2cC0P7aMcZvhLqOA3YBtX310waY1y3AGOVJlSFoLSeEg9UsUgJYETHEk1Gi/QJs201VYNDiOqea621YDOsUbC/hj2v77B4JzjUHIIz2XXg2lqbBFjnCR48yljlDh6K4+n/2wPZI4/scp8nwxsCptcN29xfu3W/6MvsWeuYjr/6m+7fcltRo0n+nyJ3R9Bu6mtQ2tPM9vLnm/OuU2+4n2xTwnxltsv4kL+5Wf/B5vd+MVnLfvBP2FwLhByA8sV/hd77x5kyXWfh33n0d33zp3XPmYXCwyIxWJJALvAguCQkvhekmU5elSUWALtOCUlVspSHMd/RFFsx1ZCsiKlHDlWuZKSrKKdKkVRKQ5hR9Yzia0SlyBF8LUCAWIXWGKwWAADLBazr3ne249zTvCd7r7T986dncfO3Z27mFscLmZud5/uPqe//j2+3/ezBEc5DHsViJ84iuz8FzdosG03JnW61b3BUYVKLQSj2ulcz9FbjsWJeCuP2SkPjqETLnEmjq1rjGTWtQz1FIejXuAI2zxKnuOKf88b/4Rz6vwC9iRNjIZRYUUmkCKC08DV0yO40s945Pu+6+5RynxMQOzpbcOtEyNcL4bZPugaWmbr7v8uGZ8tL6oxx6pF3yFVpihesTJV3VJl3U8zFdk7tq/EEtc7bnms9ba7UVh6gMaX1rwdG/WN6Q+I2W0HRQB3v+mGshZGXNOrINjlGqzIYOsZ4ksn0OQ77oknby8mtXmOvU8EWoXzHeDo0tiDJJMxug2OefngeuBYu3zZ2v37s/Hp3uBYTsJR56JGE/vFIoYoeuRdd45lkWmFS6f3irl+TFju0Tnx8As4Lhw+5Kyt+b+thWVbPAmBzlimo7TTjT7vsvGFzLPVuTgt+YoFAN5QnHYdXuMqCk+XKtBa37/LxndCLSuBb585Lqa3uLxvuNvRl1w0l2BPGELHBlYYWBXCNJvIjiZYPP1BkZbP4e3GpBuDYwi9tATffrG0HFeDY+gtR0ZQVQBrYufjji6gCnen5bhRcCzv7kedG2m9jQOoI7BpHuN0gAgyNKMYbzx9r+Abpi8fTmKYZD9grDxO6aUbD1KaNutls1elv7fp3O+s8QXVAkrLsafMYo/scWdQsWe/HQmFjvr3XrTFG8VU2t/deeNTzgtCfe/cZXwXn+pDCOvLTh/ci71yBHUswxEYZQQrUxgdY+HNbrfdJ9JDFyYAACAASURBVIl7WI63EJNWg+PPQUzQS74EdSWEbi1BjfUEx6htOVKNRwSMObKHjKNMmHFBRBXubDjyOos+5rhZcCzfIFML2OcSTGRs0wAIb7GmkFrjysgevNnPeOTxM24vHD5qYe/dJiTbPcw6d8DzHB18zFG0LTrmy4ywfgmUSNhL0GMFJXMx1h6it54MvmJp8rgrXvPK398t4yuXvZoG+hvnHhIL2744nROTM9iTNjFO4S5K9QjLniawI8tYuvD7mCdtZtW4VXC8TZi0JXAkSCmRg2O7QibIa6s9ncfFbXCsmyUqLWYLh0bS2mVYux/Z7DTsZI+Y440mZsq5QF7FXVZg3LvYIEnYRyBdluLimQlc6mc88sEX3f3KmI86IUbXLScsL6Sb59h9gd28yVVliGtYmusZqAM/voxZklZexkbrWLq3W//3ziz3ynirs9+9aqnWP35nnc3q7W/7+FezBE+f+4B4c9tBEcD+F92IkpgIFFRCUHTUqYC1GZpvP4KrEIUL3WvwTYJjPzBpfXBUUGPNwq0egmotIFAyz1aTzkOAos5tKTyxChyjpQzzNrteN1kjGzdbBcfy/p14yzXEEO5BCw0dQtCC9GLsCnEm8Nr3xsW1fkx0YcXKh1/A+6XAFIwlUdV/bBfPcduc5y6eI3ty9Lq2O258xhy9nAG94wppWwhh3EppVG+yNlvU2c7tuvpY590JS6JQpxhueX/bf70DxxdSxdLhO2eO4YV+GBSHX3G1Vgt3CYW60LCpg61Z2CwGu4FeufSYWFr3Gb0RON4iTFobHAF15Rp0iycioV2MoKVaWoqaVimUFIkyKWQQdZYPahv6umoXwLvVoV02Kh1Kr9evbws4ljf1B+bdvizDPc4gJDjyYaKqPkLM1a7jlX7GI6fedEPNa9mHnZMPeUWSrplenT/p3KLNlyz2WytiuCbPsmu8O298F0snOi5rM5XUbWeblvtmq5rWeGrvhPGtcywtfyF+TX9n+kdFvC5AbXYD59Q90ziUZdhDUBTMNBIcLUwU4+rMMVzbMBj3AsdbjElbAkdWyWgh2iRwtkdIHbUTE6eDHBxNwXOshS6rgmMrvWjmlg6ZzbrVPefJOfmDTdwdL+MQ3ezCkpUuo54kLu4/gFf7GY88Me0OmBQfh7VeGq2Nkltl6qyxGK3rzG7LsrJpo+Osl69ZS1WotIxv8fgGLlZ8inyjrK4qpfY9Wrn4fLsVQYnO/WzRwZD8x87tykOt2r744k4a3wr3hnRLT585PuYLULb348RdL2G/NjiUCIhQw2a5G23VMuZnHvMhr83xlDcJjv3ApE2Do0hFQJ7jCjgW5YNJka0OQqPY0IY9o43L+gqOxQzTjB8dxn1KYi8tSCZtKL7pFDKX4NVn9+HNDb+xtrBqHnzRPaiAjwhnG713X9+2Kxz0NUbfKLqtx4MsD79RVC23v9XjM+Zouw3n1bfI0whWwNOtV77ZzYP0MeEeVU/dFueaPMudP76Qbt5APf3iw+LCFpb2urscedmNLTncK4HIW4p0nzVsaLFsGrj45t1bJI9vAhz7hUltcMSTkFMsHywyQ5id1Qt6QnW61WBtdQGOrK3OY45ez7FdIZNYY50JwxwcF209G0qRmjqyRgazrZZj19RNXXVjmcARODQ8OGZgdzThDJYbAV56ekz04a2Zn8RJ5/SlF/BBSPu4cNA3WlXtB7p46NZ9qNddopvbYKePL4CYL7jcFO9gXfcgnZYme2U7z4esSJN1/74qEMJj9HqxDPD4yiUw9pmzZ/7Nc/jsZ7dLm6+90A5/2dWSQ7hPSoxT0Fqo3FJkkztdw8WZe2/yWaPA9W3GpDXBcXZ2VtfWBMdI+Uy1p9QUeo5d4GjZntUgMxaZiZBSuiwHR5i5JeRuNeCexDs6jGu1Z9zcM59v7ZyYWsZdpoX7YfN4JDSENJCQmK2P49zToq/8yNEgNR8TQjzQPv2Nyi2WO2x6+y7LbqP9CNa6v7d7fJJmCym8jt4KvZg75TX05EN2XqCHurVYQOv9nYcahPElnBD2pdqo/sbprVptN3ruvuTUXY/iXqVzlf0SGCVbMQNvv/EMLuKzG5YeXHukHuB4qzGpJziOzsyo+ShSvcERheVYAUdmq9lrPSadJ7FWB9l64Dg2d9oemZqy2w6Oxe2mJXd93gPkPV7KJXez/fW6FK8+9zxe7gvZtRj/sXPunsyaTzoh9m8F49/V+zjEHhy73NuiiXyPbnW9/V4KfqzkY1YsQ74lO+zR9ruFXmHF4hyw8aXAJanw588dFRT62vbPgfPuYCBwv7X0IEGpFm8tOoVrgcRr2yoS0wWOtwOTOsHxCGRrCmIjJ2KygsrjM8RhAY5JAY7DmQ1xQ8ux3+BYrgxP/YnwPmGx35EbWfTa1RKJNjj37X3i9W1fReUBnROPvohHrMQPOa9cuVGCYnmA9WKV6535YO6vIOOsEnOs8gOrCRpSm9o0JubDesQcy+8ZuiiPUx6jun2v7aqGfGlY7sTxhcRylsXfPPdQ7dx6K2Ir3+99yY1GEu9zDiPsA2WYbFG+s+iybuLCayf6QJ8rwfE2YtIKOAJyCpDsy5KD46Sqaail5QU9FkgtVUO3GtAiyS1HQ55jCuk8LubgmMaJU95y3DngWC6GxxfchHR4ME0x7Nt++uoJHzOdsxLPn+ljPJKliHVkP2ScPEGAXg8jy3b2FMOuLma5Rg12uV0Zuyz37+Vx+r+tg9E7YPzY9HCrFU/MdAgwdnZSLS6YcXBbaZBV3c+DXIGSq0jZ/sLz46/wHFdmYKeN7ySMg3y2Po+/aNckbwX91tiH6zYWeK8RuMt7hhKGnfykQSpqeG1mso+JzqIl8+3EpM2D4wKCjD1kZCc4Ikl8/GGngqOff+fEiTkcFgbvZTySbjYFDnzztAAz9Xk8309+JEsRZYRPOGvv29waXi9b3Hm01SHH7bIgN2b53vz4MvaUvBt8qhYcXwo9LchKPqXc3r9AuvMsm5sMv/XtHh9Kno8dvj79XjG/hdO/8S6fd/I9fwNsLn3EGUifhS4TLg4X9zTxSldrhG0/hbJf/YbAsU+Y1AmOp6tudQ/LUUEnKQJFcMwS5cVuc+I1Ugp6r2M5NjOY4SIhc6vc6l6zxjfi6D48aID3sAE5F4BvQ075OoFzz+zFOWy8n82mF8aJF939RppPQojxTe/8Lthh7Wz1WhffhXarstPlfmuh4mb/3n0et3B8667qIfXVZ+8Vb/RjKfi4osQxYVA39HEIjIwralyLE7x0tR9g3OtCSsvxNmLSDRIyOTiSyqMktIgRyB7g6CkXPiGTg6MOYEjl6ZWQWQWO56dsqbrbj4le75ie+gM8CosJgiOtSM8fCbCsMzx3em9/5OALK1Y+9DIe1wI/4IDI/229Wus1pcsKI2utapD1DMe2lPmNlcnXlm7b9vGpEFqZvmrZZDXUwL93/94GwpWQRBmL9IdcY/tuxtBGjuvDHLdmfAHXElJ963tHvBp3j6TUeqv9xt+zDjrUeBQS+72lyPiChM2AZtTE9189Ji7e3Aib3LtnQubWYtKaVJ6rgAqK8sGWhFYxAqWgZRp7y9GKSDLmaMWSZMdT2QitTOBMACNbse0AxxTpUB1ZDo7bWCGzyfu91uaPXXb3WIkTwqFRkOvY8Etah8tuGafP3Cxn6wbnefd33NDe0eyjTsjjvq3lrfhstDdNv85lvfElYtD62+qnOza5HX70Zs5le8d30snnmwLfnH5vX0r+gntewTFhccQqMFKbl/1JX/57/o0jeLmfXtSat7UHledWY9ImwbGlVVFb7RMyjN6Ehf5CArA1q9Ihg7ZG2ZaxxmUmdZkJh9Kh+vWsmY3vSHD0E/Qlpx7/DB60Dg9BICA4Mhbpq20cXh7bi2dOif71s2EpooX5lBPi7s08h3fktpbioD1CjoUF6J3YKsD6OOKKBdedxW7bkl2xSVSz2xvYv9z+Vo3vDGZEDV/ty8vZOXHv6zgCg0esQyCY7fOSg1TVwkVZx5ktV7dsx6LcMDj2D5NWg+PHIJaGIEfrUEF4TbeWlGoFo1ppBFo2qcYTKFnzlqMViXRJXj5I3q4MEivjwNpGlGVNmJB0nghpZpE1RpAtXr5s9+7fn81OT9vJo0fNqSfhULRB3I77uR3HoKiEa+BEZnA/M8vk1nmOpEMmgOee24Oz20pa7zrpE+fdgwbmE3BipP3Vekrg633ffWO2e/vtPp4oLMeuUF7OW1ydFPJ0xPIaK1/7xmbF9t28xuphyqgCa6ldB8+xM7N/68Z388Jlf/78e2svb8ea7j7GwWl3INCYsg5jBERepY8rAnPG4rm33tuf1gibupYqON4mTKomZMTJU5CzByBLcKwHUMsKarm1GGg1rANKlSnoNIm1zhLlwsj3m/ZUHmq10XJka9ZWbE0YZcYgCw0yV0NaG4VpzcKMxjDzk746xp568kmHs2cdPv/5jaVBN3V3b27jqXm3P03xQSGwv5DPEtZCCWDBCHzzbD/jkV92+tH78SGX2Q+xG8XKc995m9bKYd8wzdvjtqyNbZ1H2rya0MbmYNXkcyFV3GrPuyosu+o5CIJZpUyQv3ePuPK9hLBWuIqFKBhaKwbvPk53CPJWjO8sUinM6edPB89sS5VJ1804+JZrhMuYcsB76D7bwlp0QEtpnHn9XpzvRzxzY6uga6s8IXNbMakDHJ8AxNmzUDk4XlLLwUFVX4Rqhos60MNaJU2dKqG1FEqLqCRUt2urReycGY6McjCZhSE4BnbJuFojrRmYVtYFjvkLn+WD2x5g3tKE9NjpkevuAWHwAV+vXSRtaFEqgTeNxNf7qR/54KwbCZbwCQc8yFPjw93rujpoKtt14ZyYrtjgrRp/JVu9xYuh0nfFAlxPc3iLo6y922bH51Mg5YtyCF9/7q4NaB1u9oS/7PTd9+NRKXCcYSLBbqs5OJpA4KVXl/A8jgvf7GTHfApwvJ2YtAoczwNyDpBjF6EWA6i6hlpuLuhAS53KhlKqRbkylS1AuRpEXjnI/4tc4mKnXGRT17KBcZkbq6chgZIW5JVrNm3syeYPwjTOwk4cgz01AODIa2Mp4tU5nIDDI7AIfGY7J3MLAZxd3oNvTYs+BMuLlfrY6+4ek+LTkPaA/9N6bux63/dwQf2f1jQ5u2zU9Y6/3vfrjc+YI0+mlGbj9l2yaR03gd5LhfTdTuZUWd5tC7M4bknGrL4AOF51nFsxvnNvOa2eOnO/eKsfwPSeV90RZ/EDEBgqAdG70AJvRSP4zvl+Nqu7mQuqgOPtwqQOcCTGkXRJcGQfmavnoOvRdZXuHZeihSBJmpp9pY0SKhBCEhxtHAmXxLkqTwibIrJymQKXTVMbr6dRYUEuWtihmUtmfvSgaSzDTrwNe+rkzrccq/NLSy4U+EEI3M/a3yJhw8cusQLfen4Pvtc3K5iliDN4xBr7cWExtKl1tzkO+aYOvaGNNzu+T8hs6MhrbLQNLO+bGX4j2XEhqYb99ecPixduaqg1dr77TbdfZfiIczjoM9CFC20dFozBdy4+0Eea2nZcUAGOtxOTVoPjaci5MchWDXLvJOTieejGPkitoFtXlnWqhQqkUFay9E6IkBIBUWE5Rv69a5Ut1H9ryBIH08iQLRpYT+M5dMiMAXbkFNyggWM554/PurtNgI9012vD4VoEPNVPfuRx50JxIfuIgH7cCVtAyGbRZztWb/UY2zy+kEmHZViNJXZLkVUTKJ1UqJVQTeFX51lsQkV+7oWQRfFLd7a7S/KsvNybHN8JFpLJZ6LL+HY/Sv4mX3d1AD8oHB5iHsBL/bLkTyAxBs+98R0834945navqKJCxscdp24TJq2A4xcgcAzi5BNgqoqvNTl66ZJaXgjU8P69UjWhY7Wk6FobCRmWWo6tlkCNq7Lm2IpbuKZLHGwQORMYa65ccyY6OJLV98DMzcDUJmHHTsMemUKuyLPDY45rTrpz4rGrOMaFaAXqnvpD2qz0LvcrCvjKd/eI69u+aIoDPvqq22Od+bSAOLLpMTbq9m76wBvcYb3xXd7sd9VnDYNwlTZtd3eEGxXAlINsJCV4k+M75843nXrq/AN96LvunLzvVTzmNPutIyAkWuFlxLgqX0qv4tsb6t2ywSns+2a0HLcFk1qM/9kkatrAWhMaZ2Yza2qTo1k0CzsXr41Jq8FxAmLhJDh7cuziRbU4H6jhA0q2lvaoWENlaklFQsgoFtLW68K2mgL1OtBsQtbqTgIutsuWxbHaNExSR6btNVvP9hieiJ6G2zcCM7IwuJZjdWGwFHFon69yOeEEtKf+cDkS9CX+wo7j6TOif8HuExfc/VaZT8OIvest2HULZYoDbAQn1htrLWyr/n1NjBRIO6TDip1kaUHm1J22Zci/e4uwsl319xWjrytR07XfuvtveXx3FVqdev6e/ihAHb7oDtsEnwQwTktR5Dl46yzeDur42isHxaWtzNdt3acKjjeBSbpW910PE7dsk9qQCRxMy8BEGUxkYOebMDqDG5tbbbBV3WreC8HsUBkAnQQo56uWr0Ili1BDCjLVi8pIIaOWkE4MCeIiP0vXmkKN160cgmsuwdG1DoZgli2svgIbpJft0oP7sxpyy/H0VGE1esuR/71zM9YbWSSPXnd74PAJgZwf6UsRc4mDZRfiqecbfY1HykdeTz8Apz4iJaI26GxQ/5mdyfhpC8Fu5IIr25T7rzLCtji+E0h5LJ9PqSDoKlGeCtq3h+ravjynVcepnH81vLmqkdZNjC+UbGmTfuO7h4Nn+xGLfs+rbo+Q+JR1uL/kKnpwdGDZ2tOv9imeucnlsbXN85jjTWFSswmoGqysw7W8KA4scyDNMRhajbXsomWYLwLcxCmfA8k92cKbXaGGVLNDRbF3DAhmrVsaMp6ArM9BxZeYkIGsj0CgwaMs5cdYbsCnCWaJBnBBDWbZwOph2HkCZQqjDsINASY6C3emedphYcHh5Mly+XXSeXYwvedGs33iurvfOZx0FvuY1Ra5npiEwCVY/Lvn+6gfyXjTuMs+DitPbKQUcaOguNHtNvsUrHVcKWRqKin5DvDaIFi1QbELBNcSDN8weG5gfGspYGK/N+/017dVALa4FsadF9/AR63FVNE0LLcUHTIJPPPaIr6146g5m10c3P4mMUmg4TFFLsItL8BFNZhmAyYwsNcNbP0gjAZcOwcyW/CuP/c5Ty9cBY6eeAmI2bOQ8TGwZZhoXrqkxtVBmSrI0T0Q6TxkuuT7RQsnFotjDEM04LAI6AbswjyghmHltetucXjcqP1g9sDJGbhaC3b6aJGpXnGPSnBcAckBBUg4Jx+Z89zIjwiHehGHpPQTw2Nnl8bxp9OiD1JTxQJkKSJCfBrC3nszFmH3eu62ENuWYpeFKAotxrIj4GYtUimQVsGqpBit0l+s6i52dTHoBrs1LcgNWJqbGt+511ux+sr3HxSXt4IHN9zHOXH/GzhhHMjzoCnSJnIDeFlcx1f6Ijy77Rey3gGd9yVLy3GrmCQaw0wQ+1BfYGEXHJy2V21kjJ2LJ3z+g1Zj7TRcRw7E26vd4PiFLwh87nPwrnXFelw+fVHtnzok4suQBMbRvRBmHsIuQmAUMGJBKDeSo/QI3NwYgNeozAzHn/kUlsTTYI8XynQzGRz4swKQHNPv307SVO/fgIIkSxGzBj5uHd7vKC2fg4ZwOc/s67VxfO20EN6F7MeHpYhO2ZNOcpYqnw26u6voNGvsJ4s6aEpE9/x003LWGZ/guMry67bYui3C7pKWbrDs2n7V8df7fp3xrXPzTqmnztwrpvsxl3e/4e4NLP4yHA6RvO2J3Ln68WUY/Nmrh8Ur/Rj31h2zAxBXhr1JTCL+qFG4+XE4eRWOcUZ1EW5+tIg1HoUdAdyp0p0ujbUelqPHzBKpFwAxNw2ZaYh9EWTrGmR2AMKwEotqy3PVcq2VxKwcc066Pe4qA5ZjsHICDgwJX7qESycOWlwo3gsZ3PGjvr4atWNwOA0wUTNxsmi8xbP5wjvm9ed8XNLjyq2brO0b6cSCO2BT/LAQOOw1s+hqSwghsACLf/v8XvHc9o3WdaSiFFEI+4MUGKh+uxaoredGr/f9Rq9lzfELy7GqPbFe/6w13eW1QG8DFuNGxncOqVXm22cmg9P9UK85+pIbTer4YV+AIGEdQTHPQC/D4muv3wuO268c2kancuvbrcQWK4BYwZXPeYtJ0HqiR7tZTCIW4RoQjO6x2sFdy3IDzVuNZ+FqzdPu9NRUXqnXxpocZ7rdaoKRAE+o4l6TsLJ0IQdJOwmx5+yszJQQ2LcfRl71x1B2r8MVQO/l5M3ibUx4y5FxRlAJ7s382iV/5+d1QB/K/5vZooggyc9ZgNUzOAW0A6TlSbfPeDBB8pHL7mEo/CVY7CU4ehI5rUmLGVXDHz471B8BU962B190I7W6+aRz4uHNPknrWYZrxg7b6NI54nputnDIqtnmjSZMOtzftcCvCyw3DarF/mSySZudM8vXvnbm+IHFraPDGnt+2enDD+FjNsMnvSAzV4llZ0FkyPDdNMSXb6tqzk1fcJeluII7nUcmMJafAiAZ8tscJs06Za27bA+68BAsGTNRQmCE86yZWTg80U7GeJe6Exz5WyVDhCefFHjiiTZas7cMEzSMQfLHXqQFeUkcxMH2uV8ugZAgmL/h8k8BhOwqPql5sTPFF5P+36OTxbYXgJnDcJgGxuhyF5bkKpAcYCsSX3b6xBQ+bDN8QjjUfEfEwpKUwF8kKf7fcxN8Qfbn8/hr7u7Umc/AibvaI2y2FWv3qW3z/gTHMl655URJNwiuAZblZhuOUfqnRr5l7fJXXjjc6IsA7L2vuUeEwI9BYIw8xSIDzfjZBdTw/1w40J9Sw/6suO6j3gAUCwuxvceTPc6oYkFuBpOIRzTCvCFWBcYyQ/2FLwBMxPj5vTE45sDZZc62znqiODxIXoB3ErOZGQFMQlcAjidQXhYtwngaK4GYo8DhCxcEDh9GNgOBScBnDcrPDHCxOFYHwk/1jgvcmgnd/lFYihgF+GELPF662kzcCCB1wJ+dGcNTEHwP9efz6MvuUShLUYt2KeJW3eyNnuFKQifn4HTHKMvxXWZXwLEL5Npg1g1+W9xurcRPr3GklEvW4s/P3CfObvSaN7Pd4bfdXTbDTwiHB1xR2cLGVrC4ZgT+v5l7xfc2c7ydtW0FFEsrsbQKJyBoha36nKKwARwTEd6yo8FG/7oKkJvAJGJRjfdzLaOrAow5AHZ/qtbjyndlGY/AFFCCJL+Op6cFcBRtt5h/LGKIp/MTyceY8n8XeBUC7wUO04I8DHYGF8lFiJRkF34KumowAXeJ1ufrQG0Ctor2lZjkwNN/Hrni7oXAjzvgPsnqGlqRwjc1YrziD763t38PxPEzLpQj+CHAUppNrefurvWwbTfPsXSre/Ic1wPBDcYSN+pOEzzZdc9m9pn6Ef3NfiTQ7n7TDQXAj8Dhw7w8D4w5XzFxwFdeewtP4YP9S9z1D0R7JFmehCS4+c8piClSAokN1c9pEL+ABTAvn4MjdV/zcF/52TomEXRXXOk18xo3AscqePrteE2zp3KUZ2CUf/NAWXyqSRVe+amTJ3Pwyvdx/t/vQ+BjOUgefhjikIZIVAGOBwEzu3I8VSRyghm4kX2w9cNwLxUuNzNME6gkbipZpv5Ndv+O/Ng193gG/JhwGPPUH+dzxVQhn84i/OsXGv3r4fH+V9x4pvEpGHu01xVuVwKm+9hrHZcS/R2tVSs7bpQUXu6yitS9FriukY1Wwp2XRj313fv7UArqnLz/Ij5mCIwWdYpDFJXfrMV5VtTxxxf6WILav9Xcw0okXhTYQYNpqjCy4sJY8ufyEhDdl8cC+evp1eDIv7fJ4VvGpNJdpzV6g3xGD33AVWi/sk3hZpfAv9bNrYQKcnDkCZx5xyX/0soeZcvFiQuQsYZYugqJEzk4jpc9i4vNrztfceOCg3Ah4C4Crk3evINAkpYc7iI/ESfZsazoZ5MXxkn8uWzhj/qi91fc58ffdPelifkMIPbdCCS7v+u2OG+W5yikzKyhMHXxKSphbiXP0UJeiTS+cvqe/qjX3P+Ge9AK/BSpORUlbkL0Gy7A7712kIVqg/ZZAxRLA2kE4ni9CM1NQ/iw2uE8IVteaekhtsGRFh4B5UsdQn3bg0kchEyY8tNFGewBjtyyJ+eoc9vu4Cl3qyJy57xW3d8OqhCDqsyEewtyEqI1C4kJYPwyRFa62sxo850KoATKxkHYixfyACuTN12W5EATyY/Pub3S4t+3wPtJHPcZbZYiOrQg8MdnxvgO7hN9g729X8XjVtiPQlJSpPK5RTxHWo6sh+XIa5UF3qjMr5q1Ls9+I240txUCLS3lN777L77wXD8U6iklFgI/BeD9ZVzRU3NI63L441fvxtP9KDXsO8x2UnLyfAVjiYXbfPwsRByuACLPJ7uYW4FkregiEVuCoy8vplFFih8tvE7FzjacdVzX1jGpnYSpHm8NcCw26cVB4ldrpd3LI1dN1e7RuOSL/U8CcuE0RKsOwWqciRlIutgsV8wExH7eQAnB/64ehvJn5Cx5a9LCXYlhG4fzN4tvv7BC6PRIP6gcSaqQO+An4cC4pOdH0oYUAm9Zhydf2Cue79eiP/yKqw2zFFHKx7pj09vlZq+VAPJutYHbCM9wM+B3ozLEfpf8UaAkbeBHhcAPM2TCLHQBjhkEvmIM/mTmXtHs13z29bgdLJcKKNYhjob500caoKcCXlp5lktaX5lFpls9dqDQXciTMbbT7eUrs1LVV72om8GkNfjTNwbHcvC1Tmgjd7w9QsFN7H7DVMsVQwhSfRYiSCZoYgU5XoLjHsBcL27sdU8ud3MFQJL17kGSHKayVpKsdzbw6sFf2shp75htnBOPLODDLsNPOGDUu9q0qB1ppPieCvAvnx/un+rK0ZcWPg5VBQAAIABJREFUJmpR/dNSqPesVQGz7TxHJkDaqou5AMVaILhmmeFmeI5Svp4qfOX7d/eh5A/AfW+4jwiFn3IO42VMkeAoHM64AE8OLDWnO3l7CtJbigUoZkdzS9ED4t098glvAmznXPswLOl7tBrPMN6Yxxq7gNHb9Sse4XZi0hoP+8bAsXvn9U5sXR5i4bZX0J7NvRZGIFpTuZvNipxugDQiL1vEGPg/LNL1ug5Eo7DXLZx+G662B5Yg2QAs0/arSoMGtBTxsHO1xhx+DMCnfauGQk/Tu58Sfzo3it+fEf2zPB5+2b1Xa/spx4RR92e7eY6sSC1aX/WT58iSP2Oyr77wQO2lfrwM2aJAhvhpAEfYxsETuSk8S06GxZdemRTP9mPcvh9zHUuxbSUy0XoOEnlzj5XP20DwYF6pUuUedgBjvnXBO+wCxl4XeNOYtPqgWwPH7br71Qt6EvKJJ7yoTy56EUJM1CCXAsj4OuT4RO5eEyDTRcjRUWC+OA8Wl6viR1+BW0xgr+2BDWPYUqutrR/Z7fIPGFg+cskdtCE+K4DHGIv0smh0tyn5IfCvzoz7eGR/yiydU8dm8EFp8UNwtmhYvvHFsGGeo7OmaBm6EnNcp1Z6IzHFdkLHIYWS3z4z6UvvNlppvuELPXLVjdkUf004fLzsDOtFZwUFq/CHr76If4dP9Y/DuuET3dSGq/IQ0mefiySLjycyb3AF0kxC2CsQvsCh68OacJnBBXvzZ7MkZZ/5Ghx+DrZC29k4MG7qOja+8e0Fx/I8u7TbCJC+hhKQkxcKN/sQRP0qFAEyWYAcljlQlpIKHijfAIIh2HAkj0kyNlnLYEdiWFbedCmQb+7NtPF7eku2PLbgjiPFX6fDQlfby6KR5iDwmszwfzy/vz+9SXhxx8+8PSwbez/hII7z923nORZu9XbzHFl1I609Zxr6a2cOiL6U/N3/MH7UOfwV3zyE5X55bJGK3F8TNXxpxza0WnPVrvLycsz4IuTxop80EyvpAiQeA81iYc5DjvtKOAB7cgEaNQ535Qqgxr18YRsYmUz1fGj+5GTvlYBIv17yG3xCdwY4ephaEbdkpotWJJWB5t6GfO+PANdnIJcmIUcuQ7YUZCJzybQG4WAESN/Kc5SyARc6WLrc6hocXW6CJPtlj0/CvpZTf+wdwZF0Tj48h89I4D+Ew7AX2c0FdsmP/Fas8TvTI/1r0P7wBXdIK3zaGXv3Btdbx2Y3SOxQtaht0W2HnqMS7lJq1akXDveHL3rvm+6DWuA/hcRBqi4VPSLpRr9kJX57IKk55TOZh79yrDgNSTrO0tuQWQRhD0OkGtIDIrPTBSD6f6/l0y1nc3C83hsYq3quO4plsnPAsWpFVsQviu5j4sA0ZPOotyhlC5AxIIevQ9YlpI9FjkCkl3KAVIWuZNCAbVqvAOwim4MkLcl2TLKq49alyLGVh/127XP8bTeMGn4SBp+xbNVQ1GozSWgt/qg1h9/rh+hqeb3HXo2PS6E/AYth/u1meY6FcOuKu3szPEcplzSSrz97X3i2H6pO98y4ySDAfyaB9/sa6KLsz7HCSeF3XzmAr/Vj3L6utSooHlvJPhMUySpZPg1F19lch7QKgklTWox2Ic8HgC7fSC5XyJ/rZB5UgPEC9YSYePkjuDZVZwc+fzsPHKsgmf93WSYkfbIGkPsuQnq6zwTE8DXI1hJUTUGSTkuApEXJdg0eKCmwuwDXaviMtmWLWGa3PUgWFKAuS7Kj+Lyvi3CbD85SRKvw0wJ41LvZTNVQkNjhugJ+5/k9ggSJvnymvuOC5oHsh5SVH3KdCebu3yrkxd6nIqQ0wuXRuq3yHAVgpLHfNU39zTN9aFh/8C3XGAL+umNVE+9xUfIHR+kB/CGa/X0h9WUSOy1FUu4kfrzIPh+DaM1ApgEkQdEEkGMlKJZ85CIJoIdgPSgSHC/BqRFYxhg7RK5Lqs5mki59uei1D7pzwdGfczsI7M/T8yILjUm2jj1I0jgga4BK5nIrkgrlZhjCXIYcnoBjc2AQUdm6YQiWvSQIkvNX4eojMHMTMPoCHHmSXRzJgQXJ43PuQ87gZyBwV9GigdEbguVLxuBfnJsQ5/q1zqZedmNJwDYR9n3rjXEDnqOxFCXt1SOmKzFTjtGRkOlvyZ94YBb/ngN+xlqMsuSv7UYLfEMM4bde6SO1ar17uuXvy4ZWrF+uUHIOD+VShd2gmC3nmqTV8QTBcBiOz5YchlUJrBe4vgBHfYTpZ+Aw8Y4cYbVXS+5q9CeBuOWbsWKV3eQhbsHunXwq38e2pPwcOpxbk8E1aLrXtCLrqgDIJuRQW3MGWJ4FVN03/rJqHi5pwNCSHEphrh701B8vgHmGepI5R3LHBIc3e5dPOqcvXcePC+CnnMCQB8ecI0kNrFNK4rfOjLF/Wn8+x95w71EGnxask+io/NpQI6+1Y46V0+1O2EDKq6FpfeWZI/VX+3FVR95yj0Lgv3Ck5uQ9W3I3mkoBwD9/5eAAUnO6ni3GFMlTPMyY4tEuUNwLkX4fyo33yEIz6TIEq0dgr1+BC0Zg1AxcuADbOADraTpT7dYo3vLZ6cUZO9xyrCzxLpO/akWS8jM/DxWHkMP7PT9S1gRkugxZH4bImpArwly+KbdrOrgWOyPSxW7AMCbZJEimufnPLNqR4ql+svp079C33FpgwK6IVuA/dhafodHFNo++FJHKcwJfkjP4v/vhduaGvxPH38BjMrMfc0DRp7LHmXbxJKmC06byrNOegEezFrES5hvP/lbwLD6//WWVD7zlDkDh5x3wSZeXseYJF+fZZL/zylP4E3x2+ylB/QD4cl4qx/ZhK/4cL/pG0X2O56FMCGl1biEOq/xfuwSRR5ZJNC5aoRAUqbBdtERR8Yob7Yndbw+OtdhhCfdtAvpx4LWqa/IETd4p8RBk7RqU2QMRLkC1lqFKgMxyUACa3hd3ug7bBFzzrbxbIkGytCQbKezsJCw7kxEkV/W2GTCQPD7njlqHv+lD4CSQwzf7YjzybaHwz8+Oiq/2Y8p4TJYijsrso1bI90s/B+voOW6Q5yiktDLJzlwN9df7UXrHkj83hv/Iwf+EBOwitsiSvz9WCr89va9/jdL6Mh/dluIpiOMH8mZ6ZUwxXYAa3weRLEHZZUifbGmRCLLyabLlKalKLOGtwWgWYjAr/Sps/X0w+gW46QOw3los9RgHwFocXHAsz7wLJMuGYHNjkJNHIa5eglpegCqtyHgZat8IJC1ID5BDREQIgiQrTHQNlkCZLMA2WYpoYJvDMHS39x6EmZmGmzwKU9B/vLHSvokDBpIPXXOfFMDPCuHrFhjsyfmRDt9LBX59ely83JeHEsBDM25fYPBp5yx76bQ/3ZQeJlOs8N0qV/etLvZScDOtQJ3qV8nfA5fdp53F3wZwwNOKHFwBjs8Y4DcGjprTIwN9fBYyfhyC8XvGFAmKo0x0LkNmMZQbhaC1OFTRNuDzQlDkcyILi5FW48IIDPmLZW+WntYi526AnpfBcat7PbEVkHyiMEfOA5JMAiZqxnx32Jz2s7wAHTahIpkDJKtLqGNKX4/V/r59Yw2m5TxP0iQWJrgKuzgKO7YX2RXkvScK0mrekGdANSRpEYX78IRVeMK3ji2Vf7wrjD9pAf9bP3UEj0+3jspAf0pIMe7fNN2tXW9QW52X/KmvvvCA6EvJ35EZ9z5E+K+cwGO0itrACLypgH/20gHxVL9eHv05boXEXdByeoFi1VLMAigCIg0IWo08L0/LKaxFAqM+CLNwBVbMwgV1mDq7+b0A54UjytrolbbLhQrjzky8rHXfBxscV1uSq2g/iadcQdWvQ4VLUOkYZNL0lTaSQBmxH07xZoyLHreqBps42DZIMh6ZwQzvhyFI+rrt03Cnz8MOsrAFY2lhiL8JCaoSe+qPF7YQzO/jf39hDP+6b60avuTUYx/GlLH2w3DoKEX0ytumYp3TERdIhZHfee4wvtOPkr/D19y4Nvhb1uEnCAd0nwmO5Do4id8Z2od/eUaIpD8A1qej5sZD/owXGejjUxBzM1DpVch0KLcU0xaU0ZD1UUjbhLQUxiu8K28p1uDIF5ZkEGSwiymsqsP4bHQTdmgMpt2HnonMXLXbDZKV2GsG7gxw7AZJSrFPQEydzEsQJwA5PwtFlZ+6goollLcih/OFQQsyqkNYpiiYqShcbeU6QbJmYEgkj96EZd/bxjIsOyV29LwdILehvG0PX3WPOIn/kk0KC8fHxySFwIwz+F9e3Ce+3qfHFyeefath9h78uHD2EZ/3zZ/mDuEJKdw5O6S+2peSP+fUkWv4qzD4eQiwfKCUErNC4N8Kg994+S7xdr+uvy/HXSsDfQyy+RyUuRtyeBHKg+I4pLma84TpTZX0HFGDwzKgoryQgsCoExhyGBdjmHAUhp38aCicOd2RiR5YClz3XNxZ4OjdwkoZYimHxgQ1lX4OQy5ehqprqFBBpQJStqCzBqRpQgbSJyrKB9TFEZxs5u526mACB1uzMJcMTPA27NKDyEj/YdKmqA8t3e2Biq34RcGerfNerv/nILHXa0fmCSyC5DecxT99cY9gA8m+fCioIRJ8xhl7j2DrLSetUvJSjOWvnHtPo2jsu71DP3DFfeQdCPi7zuFwW19RwDqLF+DwT1452Md+4tt7KStHW7EWc6vxLCS5ikkEmTADfQCysQSV5daiB0UbF4LKxVEIjDKCZdkfEy+6RkI97BLBsQUTHYOpTcNOJz69l2fuO9oNDJb7fGe71b2urkvMwscipyEZfB4j7eeu3IoMZW5JBiJ/k5YAadjkit5VK397agub1WCSJdiwDtMwyN60sPUMZnQCZnY6p/+czpM1paIIsXZHElzXWhBs9jQ2hP/EOXzWiydQ+YcxyZy68q9chi/2s3XsIxfcwwLmA1Ko7z57H1u1bf/9O3LVvUda/D0n8ElP4CZfkaAIXLbAr1/Yhz8YOJewBMVcDbsDFEcCqHgRKmOyRUOZFlSUQLmG95ZkybFi7F0sw8kQVhnYVgqjQxgaB4vDMOpNWMYW6TF18RZvu4JOP941d57l2HGXOipsxMlCDm1pKNeLXAxyK5K8SCWhA5kDJOORYR3SzEOGFHGI4GLAESRpSabLsPV7kF55CzYagolHkUVnYUdHYWYrHMknOygM2/+Q92NBlMc8esVNBgp/5502sWzfmscic6Qit++fncvjkRUWYj/PZnuOzZK/4QB/C8DPUJ2/4kIzlvi7Cw5fnO2HWs/2nP7qo/TQVSxDSaTltJagh6MV97nGtU1wnIPCUKUxHhvlMbYYwYoluGAcWXMeNgyRhcMwc28VscUpmKJIokyhDSxrYyNTcoeDY4eb7cNZpP1QEm1mGooVAKNM1lyFivcWGW1akU0omUCbvQVARhAu8baESyKvHUkxC5stwZhJZNFCnt1umpz+M38Qxidtvgh3mhp1XygC1P4MBgsk3zfnPiQdfuEdsjM7E3K9SJfXbE9rgV89Mya+tZGFdlu3cU4cuYq/IoBfhAObh7VVcwTwVJbiVy8c6l/IoC/X3lXuV81Ak8DdSKAzFkRchWaihaDIBKR3odnkqvy0gJgxRRZEBDByATYOYcIDyBYzmDCFoS6qtxZLMvcAr+fNzMWdD47l3ejiRnrl8SJhQ9pP4zI0qwBaCko1oQMmbgiQQ5CBgAwICklO/6G0gGF5FBM2EWywDJNZmLSGLOoBkgNfs+2cenAOPymAn6dCH8GxyGqTRP5nJsI/nh4SM5tZeLdq26PX3ON8NVmHE0XVjU+4CIHz1uAfvTKo1Jy81alvS3B0DHJ5Dip9D+SIhiJ5mzHFKIU2I5BGejc6b9RGefw4f9H7l30I44Exg2llMEy6LJHUzdjiKExZLebDRZ+tdAHMI/MDFTLa7Jp794Bj9c6svHW9q00xC+pw7gPkIqDC16BDxmlG81hkHEPrBMrWIHUCiQgoLcks9LL3luAY2AIkM2R0t5MUGRWA5pswFLY4s2Kx8Gx2fG1p92I6esWNKoX/XACfdaTflPFI0mwcfnt+HL/5phDLm12E/dj+/kvuoNT4BxD4CUaAPSAyvigx5xx+/fxe/HbfaEr9uKAeGeiSlkNLMatBjWjIJISOrkGTq2glJBOPPgudQHjleLrPgb8XThkYgmOcwQQhsiXGGMtMdAzrpcXKhMuAcnpvZireneDo71hnPJJiFqywYcJm7yTk4nno+v48YbPcQsB4pJZQTNRYkYMksy0igkvyFg0eJBmPNIzVGGRZHRnpP+RILqQwQ0swFeXjlQzfgLnaR6+7B7TEfwOLj3oCeU4UZkzysrD4tRfH8Xu3K3xw3Lmwdd1buH8H1lfUexea9CAI/F9NjX/yxijfhQP0qSZbrr3TMehjEMxAN+eh0kmoobegs71FooUxxRQ6pAtN9gWtxYRd0HNLkVZiQje6AEWdImM2mpnosIHMq3RPw10YgakIRQzci3w7ZvddDI4VgKS4LqsHnoCYKtozsLpm7ir0sIRcpputoRXjOEOQKoUOal5k1wMk38pIgKwBI2M4b0UGyNKaF7TIjEXGeCQz29dey0mzY3OwHSTyAXRTHrrmTjqBv5u3Zs9J5P6FATxvgP9helz8xXYs0o0e48hVx9ann/etbOk2Fu1PBfCtd375/Mt9bGW70XPc1HZVa5Eu9IEKLSeA8lzFACpJEUQExSSnqHlQTIu5COG4NkWQxxWTAEYbZDqCiQ3McoxMF5nokSFkPek5A/by3tQ9vsHG73JwLO7MWtxIQI5eglpcgq6HUPG4p/rooAUlJXSWQOlabknaxGe2kYZwSQwnW7DBiO+/nKUWJqohu2q9RelBcmICGWu2p496PdeyFHHgqgoocrv4AH6aUl4ARovMds6xc/hDmeEfvTDRn9YE5bo+PO8eCgz+Rwd8vKAceSkx5/AmHH7l5f3i32zXA3PLjlPlK56FooRY8iBkSctJIuiMVLQEOmBssQTFMrZYnKhkkqW0FsnPHUMWX0cWTuRrkZnoxjG+14uwT7Wd8QC+sLdzfnbBsTsWyd/LCpsRiLkpSKr9LM5DDR8oEjYSWsQIfEZ7CNL/yyw3IOKiFNG7MM672D6ekzmYdAkmM8hqKbLhSWTNS0Vm+yzsxNuwpwZEBLTXAnxo3u2DxS84tkjKtb9z/UjKe1j8Znwdv7ndrRpY8hcI/AMH/A2vel640M75cvnfiPfgf+1nu9rtfBDzSE9nAYMP9UxBLl+EIoGbtJzkCnS011uMBERtFVRAi5FaAWkhd5SnSlwawPi4ooFRGUwSIAtiZJ63WMYWz8F2uNB3IJl7q/O0C46r7lwPbmRRYTNah1qmO7MXcvEtBHtGPIFcSwGdLkArkSuZ2MWi0oaF3cOwHiSdz24bGyIzS97lzuomd7fHYmRzh2CY5/GZ7arQ7oC5NEcX3LF3CMT/PYAf7FD9AS4KiV8+Nyr+YKuLtb2fc+qBOfyscPglABSvKKk5tMB/31l8/uV94vWbHudWHaCbr/gExFFSzbTv4a4bh6HpPteYiVbQAV/GDShzJQ/veFAMAZdC+GTLPFyqYbIGMrkEE2hkcYSMGekwgWnVkfq2xZQV+xGYQth5YIVU+jVNu+C41p2t8MhKSbSyhw25kVQeJ+1n+QqC0QA6GYbWAooAafiTQnHBarqXS4AJYFUAY1ow3t1eRmb3Io0uwpgYGSXSfNLmEExbQ3KA+WTvnXM/Jh3+oQMmixJEL4/G+J9Q+KUXh8X3trKoj15zn3xHbvV/ZuFau+Qvz0Q/LzX+/rlR8edbOe5t2ae7Z8spSGorLrEG+hIUXeiEluFlBMmYD+PoIIO2dUh9DZrsibawBHslBbApG8ox3m1gCIypQkrPJUgLa3ERZmgKhm2KT68oc9+RFS43O6e74LiRO1jGfyq8stZRyLHZ/G2ulqGXQgRKQafSA6SWab54ZVqob3MVB3BZ4jPbnhfJRcuYJBM2JkLasjD1FNnS/o6a7YGVR6PIbbTXZ47/tgMavr927v4ya/N/Golf2Wjr2Ieb7r40xq8K4D8o44oQHhQvO4Ffnh7Db/VDrWcjy2NL23Qp5lRBkVbi0DJ0GkMHBoGZgPJxxUVoTWoOixIKF9rzFQmKC3ByCBnd6EAjnQuRqTmYZhMZ15kXiihd6Kqk2Ls8rnijudsFx42u7K540PGzUHzDe0m0y1Bh4BeubhXxSNJ+RIqAiZt2VrsQtcj4lne+IiGju01wDAmQBMoa0paBaaTI5mKYsUmYVaonA+ZqPzzrDpkQ/1A4/GTZ8KuISS46i18L38RvrtWq4W7nhhrz+PuAr9KJ2iV/QCKAL6YOv9JP7cmNLo8Nb9e5jiTZEVdOQTUZRxyCGp6ASprQUQydBAjIkrACSmdQNs0z0X4sLrwhWBHDZtrHFr21qFJkSYIsHEdapefMzMN4zuIdJCm24Xu+xQ13wXGzN67COZs6kjf6oj7e2CRUcD13tXUTWo1AxzEC1mzTiqSrrQqOZDlkAZDGA2QLxgZICZDkSLoa0jhDVi1H9CTyAV7cD153H4TALzvgA0UCJefhAa8I4Je+Pyb+pDod75tzf805/E8QOTWnElv8Uyj84ksj4oXNTt9t3b6agT4NycoWeiAtVmcxnkjKWIKAyZZAQZOvSG/EZlAuhAjSvOwv5ctV+1i2yTQytQyTMtmSIktDH0/MKBTB0j9ya6fninYFAyzQfDvmbRcct3LXq3Wt8NxIeeUCFCXRyI2k2k+z4EYKlQNkKqHrKXQmoEj9YWY7zcf2ViR/WhZZUFiQBMqoAMl2zXYTZt9hmNOn4HCyUP8ZNLfIOfG+efzVdzog/HdwOFRUbfjM9jsqOV+GxN9zBnUB/BoEPlpSg/IiF0xD4BenR8UfbmXabts+pbVIFsQRSExBTD4NFY9BZYdyF5pcxbHA03N0liGg+2wyaMeCA0rHpXlYJuVaYVxRIyPzIcuQaY00YVyxjmzpMky4iKytnsN66FnfSTNPuAyY13Hb5qwSzL2d5zCYY1drtZ+E9FZkHYKu9tJZ6LFjkNE8tGghkBpBIqGHUui05he/VmwnG67QL+hqZ7mghdEWWStAyn9LV5uZ7WQM2cJFmD2HkHkl8m45+gFa+Aeda4zP4xes8yK7tVL1h3FE56AhKnQgqnEL/ApG8E+nhYgHZsFUXOiylp8v0Wbd1z/rRgil5xGmY7mlSCuRgMgfWosBy/5CCIKiSApgpIdRQ+rd6ABZmCBN9yGNMmQLGUwU5/XQbf5smdQbtJfoDpjkXcvxZiehi4Zx8olc8YeNvmZnoYMgd7VVK0/YQCFgLNLUoNJlBLoBqTJf0eAfArpLyymcbnmLILMEyBAZQiTGIB0i/WccZvgiDOk/hdDuwCZtHrrmDhuJXxYOP9Fu9lWI7BZT87ta4799odFfIvnNLoOO/XvEp9ndb+ESdGMJOgmhIq6LDCFBUS4jIGex6kKzbt1TcxQMgZEJPKWQmSGkrHDJMqThNWTpONLlIWS1lv+x0TNwZ54oCgtKzuIAvTS3dR5u8mC74HiTN7C9e7e4bkHgJYF8LipcbT4ALQTD+6HjOQRCIqAVKRlwZw+jsnVsChAkGYtkGWLT5e62M0hdhNRYpI0RZK1ZmDJps0r5Z8AeiPcuuE8Ig3/sgEepQC6A7zjgv35pTHxzu6ao78epUnM+yc48EEfZ3O1iTstpBtAx6/RTBKWlmJk87OJd6Ch/SSLIA4vS5v27mbCzEmnKsr8UaaiQpgHS2iSyhUsw9YMw+1CEW6ouNC94wNZB3+doEwPsguMmbtaGN61Qf46fhFwqyhBJII80NOOQdLNrCULGmvhwCJFnJZm0cUHe+Y00DathWAJm4zxh4yzSYAmZY/KmhjTJkA3vQTYPmEZZaZM/ILkQ6SA9HF9y6n0/jJ+l/vr3x/E7g3PuXR3+ChI3ZcSS+6DKZIvKEGYagTIILC1Gg4DcWGugOOdBAKQERcDSYlQW2XLLW4xpoJCaFGmcIqtppHSflxq5tTjoJagbfq5u8Ya74NivG16RRWOy4TgFLZjVjqCaGmpPC8HyGAJfhpgiIGC+U0GiTQjFeJPMfMwtjxTRimQHU8YjW8jcEBLrvBxaupAh9dJoMTI+LPUyabPSruFdqajSr2ldddwqXzGfZ8l5jiOoBosDmJgLECQJAmURku5Fa9GDIjmxBgy2+IaHaQpHUDQWRjKkkuWxRTOMJM2QMhu93EIWjMBwni8chsEgJ+du2SRtbaBdcNzafdvgXl2yaEUfm+UG1MghqOacD8QHqgBINQTtXW0BLZoI6G6DVmRB4fAVIXVkMoZxATLbREoL0tLVns+tisYk0gXADAFm+nQXhWOQrMgN3uHbtlk1A130bJkc9RJisnENOtZeoCRIOL9LCIuYovcS+PLz3MWyDj+FM2xiFeecV62QMhNtFJIy4bLMrHQG05hARg/hTHdjq9253falsAuO235Lexywqsc3AUFXe+5pqLGjuRUZUg6NCZthaFe42lJ5cPSZbVI5ynik0LkUl01ytyseQhpapJY/GVKTIc1qSD2JfMInbEwhsuva7Rp2H6Sbm/VqxdRJiMPMQFNbcQiqXkfAggClEaQpgozz2ERoa3kNvmtB6aDdpsAJAmPhQhuVz2Gmker830RfhVkOkdUayHY5izc3bZvdexccN3vHbmb7CgmYCuTMavsyRNZqX8+zlYsxQlJ/WILIHHUqEUgDLUMo0n9cBkmAJPVHpLklSReb7nZLIyFQMnHD+NRQjCxtIFsqrA322D75jrv9+ZXuiHe81P3NTFfHvtVkyzEIUrcojkwvoBVBU3A2qCNIQgSa85flwGhq0FETgQshGVtE9g4Nni84gmKETDlkWQwTSCRWIWHShdZithdJjfSctOJC5/M2uO1/t20ybs2BdsHx1tznzlGqCZsDkKR5MKM5tAQd1aDVeJ7QidFuAAAU7ElEQVS0aSUIJS2OFEGaIRAZAkWQpCVJkHRwhpUSgIk1Mk05Ko3UNZE2NZIaQbKatLlQtNXMGyXtPmQbnfuul9psGVechKq/hiAMoWPOUYBwyCAkKKpaHhphXNEx4cLUGEFRw4qkUGnKs9CeohXy3xRpWeHC+DFdaKpyVypcBi/JttF7vAO32wXH2zEpXWosJwE5exZy4pj/V9cOQS3R1ZYI6GZLmQNjIv1/a0n6T564yUUcNJwh5QMwVnvaTxo4L2TBcsS0niHx5YijyJYvIiuVfyo9tgtVlju7YdKmp7ozroiynn7xHAJqK4YRdMxkS4qwTlDUCKRCyPmxFtrVIZ3x1r4QKi/3449Rnr9KvmK6rJCULnRUQ7qcIis7/vlqqGpizU/27hxteh63uMMuOG7xxm3bbl31tmyaNEGwnIVeCqDDnBwcIEGIFKGsM0WDwAjosIXABrkV6TOeWW5JejebvEhakQES10LqShL5MFJ2dPBJm+l2T5sVEvnuw9fZX6hLRqwRQrfIVQwQqARBEiCUBiFfZIIUHSZcCkoWXWjPNHBePciQ0K/pPts84UJrcSHIky71JtKFEZhLTRiwsdWKdU9AHKj+4Nv2bNzmA+2C422egPbwKyRyKrXIuZI8fAgqnMvd7OUEIYEyShGi5gnk/oEk/cdTf1h0l3/e0Xv14roEyMzFoLpkTI6kNT67nSQGWSmPxqSNL0eceqcJ1bu9qqL6sgIkSdxlZUscQQchgjhFyLgiQVFYRO9U+NDKJ2/R10KXXf4IjLQUCYqWyRaDhAmXYBgJK1xIz6m1kFKVmwmXmUlf2ZKLi5Cnulvyd1ufzl1wvK23v8fgKw+nPH4WcmkIkgrkiyG0ZkabFksDmpZknCEM6cYJr/qTE8kZ38otFnaboxVp6FJbylhxL5tbLnxIXYQkG0G6MNtBEan2tHn3uHE9FHOYbEmorbgfuvUKwmDMJ1pCus7CIDTGS9IF1ng3mv2E4K3FQvldRsicQ8ostKb1LhH7sr8AaZoUZX+vIGPDtemjHWrmuwIRO+C53AXHHTAJq06hU/WnTSxu1KBZghZSEm0UgaCrzQc1QyiiPC7JMjSSyellpwW5mG6dTGEcH1KHVGgkzSbSSCMRdLdtXmmzlCAbOYhs+ix1tisP6x3tahdcVCrmPAHBF9Lc6AqJu6UR6BihpjanRpgoRLKFUIbQykAbC40ahGv5rov+hSQVskQhVbml7rPQQYZ0USMOMmSUFCsTLgVn8d35QtqJz17lnHbBccdOUG8CObmRi/BqLoEX1lUIlchd7ThDlEkEUehpQLRoWLPdnuMkTwhkJUgmGokzSGohksVFpI0ICTUkF2ZgRk4ga7dryJMCZb1OnrwZ9E+X6OzxJyHnPgzVWoIefRBSvoUwzik5PqaYDiGMWggzi9CGeT08qVW+G7aCM4z3sk+QRaok0riFNABiV0ecsQ46QmKHkdBKjyZgatPtsr+B7V8+6EtgvfPfBcf17tDt/r6SMX3iCeB8oR1ZutolgdxphARKVtgQJPmvZEyS8bBcK5F9pUkgd3S1mbQhSNLNjoYQM2nTNEiYuBkqkjZLQMaHeOwobEfWdJAtySoonoKcOgnB+K6PK4bQvJ/Nqwhjh4hxRREgihRClvxZ6QneOTXHQBIUmQSL+dKRPgmWOCZceB9V7kJHMRIvEjGEjD2iyRTwlUvnYdsai/7Fs5uFvt2PWvf4u+C402ZkrfOpcu1OQcwWghaNIqvt45GjCLCASAwhQIaIPeno/mERoQzykjX/HNLSobhBCkP3jxFMzaSNRuyWkTqNhJU2aQ3pyBhSgqTva3z6nU7UeVOmweTbVe5hNek1FEFTEGQpzhNeMIhS4+O5TLYEhsT8wlr0oJjfQ2tSWKuQKYmE4YqYoJgi9mV/AZI0RVqr+XYFKzXv1VroXVDc0U/fLjju6OnpOrkeArtllQZrtZnVpphFo4mQ/EiCI7mRroVIhggCJg4A5a3IAiSzzDf88okD1JAgRkJwBGNlBin/ktSRsRyxrLRp1/W2K212utXzjsH8eQgcg/BxRUBeuwidUIWb9e0tBK0AYT1DlNL6tt7y5r+hDaB8Fjq3FslXZFzREBSZ5CI1J4nQKhMuJkUSxUjT/UiX38rL/qicM3kU5lRHdYufgTsjRDFIz9AmznUXHDdxs3bUpl31vV43EFC1awjoGorYu9lBrBBGhRUJEpXpbrM7Ints51FEJhI8F08RIAtLMrFI+MCLFPFihrQxjtjLoyXI5ps9Km12olvY5UKX8nFLgK7PIfDaiowr6vwepQZREZpgNjrwRG6dk7iLkKu10pf8+Vp2utDOILYZkkgithoJre1WgnRV/5a2IvcuIO6o5+gGJ7MLjoMyU73OszupgFw7cmkWmnJZvsZX5q62z2rXEUIgJEj6h58gSUuSIGlyV9G5olabGWzlqT8xs9rNRSQ2QFJj3W8dKWt+fWZ7JX62s1ztKjXnLNRhtq+YhR7RUCRxyxBRm5bDDuMGUWYRkZrDlweTWSzT5H0xMs9A+zgtK1skYiayyB0lMDqNuMOFPghzAQVnsWxqtRNfHoO89m/Bue+C4y24yX0foqIpOHUaiq72xFHI2asIWpTOojJMjLCuELZoHUUIQ4PQkasnEEhaSID0qW0HlxAPyI9USJ3LuZEEA6ERM9lQy5DOR0hY6lZjj+2VzGspjHD7EgwlDapU4p6GXBiB9krcTQSjEcI4jyvWSisRsc/yky/KF0YuOFyU/FmVJ69kExktRRAYM8RMYi0ueQ5j7Mv+Che6TeTeFYjo+7Lv9wC74NjvO3yrjt9pRbY7IrKZU5mFpasNXcQiDaJQIqQryaoPCWiT5JltliKaIqtdUn9cgkTUfFbbg6TL8qSNiZAwHjkxgezUWdg2P5KVNp+/xWVvzuU9nXkN01B3UzczgFqi+8xrHEEYLyKqKUSJRY1xRV+3nle6eBfaU3OowM6ElfTWYuoSFm6ipRWSeAlx2MgtRhK563WkZRZ6Ej6uuCsNd6vWfJ/H2QXHPt/gW374LlfbN40HVAPQS9fzKhsZIBSMs0mEtohHOpbBBZ5YHljdjkd6yX4mIJxC5lKkMIhFHbFr5iC5FCKpzyGhhmT9IszSELJbKpjQFVc82oTKfgQiuoyAhHlazS1WES0girTP4Hv3mf+yTYEHRQutQjCFL2yWg2IaIlGpl39LEKHF66b7HNGNTvPrZSfIRq/r3XWhb/my78eAu+DYj7u6E45ZAQ2q/swAamIG8motB8hWLosW1vjoq5xAHkhEBEkfj2RmO4B0CjKgmEWWg2RKVztB6khXaSHGEGIsFdZkUY64DGThBdh9V2BO59Sf7e+Z3OslcAGq0cgFOxhvbc4hUnwRKESk5aQSkYhzDqgIvOIRY655XJH9w9mjJ8sVcxD6uKL/QR0ts5gLRJCm06znPVzGJmHOnCr6QrOq6HO7faF3wtLfrnPYBcftupM78TgVabQnPgdxvuiISMLzyEEo/YYHSdYHU/EnigiOBhGTEwgLlRkmbSjSSoYkyZGFFUl3k7FI1BCHFrGwiFsBYrOINItyodZV7uZ2gOQNwgf1JoJwH3STvESSt3NqTg76MWqG9ByqcVto2elCGyeLDLRFEki0vFBHhpjcT7rQrB66mCGrxcjYN7zo9riiienT2buZ6J34GGz1nHbBcat3btD2qwha4Cwks7dNutvXciuLziNdbUc3W+UEcsHMtkWkaUnS1S74kcaBwT3DzLaiejVB0iL2PwSVXH0mMQeQ1C/natYElKJdw9ZFdiuJJ5yGOjqVtz0libsZ5DXQQuegyBpoWNR4/p6zyGSL9Qrr0gvP0otmFhp5Btrx3CVi7z6X1iKvgYmnK8iiupcVMxeuwGABDl+B3bUUB+0h2Nz57oLj5u7XgG/dUa+dC1oU8Ug2+yLfj1ltWo41hdBJRJYAw9gkuykTXFRRipgVrihjkaUVqQpwLJI2yBDbIj7nSeRLRTyyo2PeBqytbspSIQ7RqkHXSG5nHJWJJo1I1BDZedTpShMYSV0iKBa8TvbDdqQs+Qw0ky10oaW3fFs831iiZchbjJG0XWj24jkLc4Yai2Xb2105sQF/FtY//V1wXP8e3XlbrKVZSFk0ciMLcV1akU6hhmHmanOwoQVmjAdSr3LttSMljMotMHL/EtJ/BBM3Gq04QFwrqEBZmvMj221FO9rHrgGSPfiKzUtQdKFb+73gbNRgzJTuc+YtRYK5P1cCuk+4kKbEmkdWt8SwlkEE6/Utk1QiDmgpSrToRjPpwrBANIusVUfas6nVrvt85z0TPa5oFxzfFdO8xkV21Rozq01Xu34dARXImbAh0Lg0z+46g5pmVlsgDAoNSYe8XpsgWXAjM8e6bAJlhFboECckkhOAQiQLQ4hrV5GNxcjmShGGXkmbzzuJz/njCpyGPDwFRVAkLWk5Rjg26lWJonAJNQ/geQY6d6OLrLsXnqULLWGtyQnuMucqMgzQygxa1FiEzq1FGyImh7OshfYuNAUi2skWfzq7JX/vkmdmFxzfJRN9w8ssQNL3sild7cvQbDG6nFuRvqzOxyJNYZkZRFqskMil8lU2wtJlzVXIfXldxupsJjjyeGQLAWJrkQxnSJoGprUXKV1Wdkb0HMHKx3doBNTCc9Ajk1CMK8oYkS/3U4hsC/U0QqSL2CIEIsfqFuvlxHzVD61aHx8lWAdopQmSIEIrVWgytmgMknqIOL2KdOQ9SOdmYMbmYXz9eKnIvZtseVc+Jbvg+K6c9q6L7pEBpoxXC5DhNYThMrTYg9DNI0IjtyZtK3dhtURoat59DShqIZm0yby/zBYB7G6TZBHlLPwPs9stGeRgyeZfIyRTjyObY6uGadjoaA6QMYqOjBE0q3w0dSvZcCxFLTSoxSTYNHJgpCWrOX6KgC40BxdBPn4mkUqHJCM4t9AKh9GSCs2E1uIS0izG/9/elezGcUPBItmrFu9GYgQIcsjJV51880/kg/w9+ZCcfMzNQHIQ4hhBDMuyppvNpY167PaMFySApR54ZngQIAgY9vQTUeBj1asaNoXct58jSlzEzphq5A28VAUyOC5V2V1c91OQfA797xnMLeZqA8XF3yKREeJjZrVHjaasUIlUJiapjGgHiykuIGAkYUP3Gk/ChiBlYXWDjlKgVQnbhpRpU0REExM4OgPtNTRF3HiL2paoNe8VDRoX0TaTmFscdMikcxbaCChLfo5M9kwMNIGx1OjQw5o76N7Rlq1Ezxb60qeIiPv4JOkv3yvu4g6+0e+cwfFGy7lHi224/tAQ9tU5ClvDtGSHzYeIBhrB1nZqtQ3nlamZDMJuM9Nm9o/kfV+IHtQT0vtQdJGe7XYibuQUOTQI5goRR4DvYU4NCksZDgmWgHoc0BYajaeYm0a0EeWoxFKMc4piJaY1HE1m2UILAx3QK43eevR1IfeedngNb3/EUP6GeP6E51wB5CQxyqC4R5v4eq+SwfF69dvvT6+zbIQUmXWFnFcuKpScrFm9RV2fyEmSxMh8J0n3n1pa7UJE5DLzzFabACaEyChu2QMBjPeBlNSYUuQ14u4THAzt1WgIUc4MtFoz5gKKPKGmGfA4YiJbpjtOFdBrjc6RdHGw4y1YHzD0t+Cqlwh/PYIHp1ueZlDc70389W+XwfHra3c4n/wf6Y/w0gXqOJM1POlNzDF1hpT/yJRN8o9cmzp4eEWXmyT/4d1gYEAVHXHGElqXKHxIQnQRpDtUI70qp4mdGDByDpp6Re8T4aIselWjUwadXcE2BvbdfdgGydH8FCkbZ29iHw5nF279TTM4br3ku/rADQE5g+6fQl+cwxxfoei+TwJyNbHabINNQMv7SJI2Mq9dJPNYybOZHLWFTOaUjYabbdIo0qb8hjIcRQfuAgXF5yLkNnJSlEArNSBy5C+MGEy6W+xDQCdtNO8z38Ey7a+ZpnSuHsB/EHLPp8XMQu/qZtzK987guJUy79FDNlrtWWojI3yPUHSXKEuaOjjUFdvsAo0AZJU0kjxhap78yCpztplQR2ZZI4YwmVOwVGmOWysHQ+MLTHpFwTLaRFAmNErKXx9JtAywbJ8VfzdJzH1Swcos9D34IyC8+Nh8Ns9B79GWXOpVMjguVdl9X3fNbOuzydBijmmg648iq12ilhFEg3bs0crkik76SERU1CQqOpFHAUqFOMXImmQfNsvLVZha8UIsxGS6BSNsVFgpnhY1+uEYfcv7xYCBhEx/F+7oBcLtC8TnWci977txkffL4LhIWQ9k0Q3pzy+AktjYDe9IttrdgLqly890iiTbzFY7OrT6GAXdgBRQkGChRlETKMvkAMTTJAXczG0REof3ihF9qEQG1OsGq/ECVp2gj5fJJKJ18PYB3GfSnNxCH8imvLnXzOB4c7U87JU2XbgB/eQcht6RV1Vyy2l5ijSJ1Y4RrYz8ESg3GGieIucWmsQMg78o4jaMaqD8Z0z3imyfRchdoh8bWP92skj7A/7umbj/zCLuLM057F15rbfP4Hit8uUPf1SBjVZ7lv7M3pGrl6hOS1SWJhYOTamFqGn5Q4AsGINKr0XeMSbChsw17xcHT2CkJpJMtEevW3TUK86uP6v1veKcqf1thX3lbbKTFcjguJP/tm/8S2+QNmdzq/3P2qFbpD+TJnI6QYrIm6l/ZKlJac9MtqceMpnp0oBWZrMpHHcBrhvgbj+Ee5EE3Ms4jn/jpc5fb7kKZHBcrrYHvvIXvCMp/WGr3aMs7qI60SiDQ+MY9NXJ7HQRAV2WEzgOkl1DsbjYi40lrHsDd/IDBua3iIFuFnIf+D5b7vUzOC5X27wyK7DZagP6Z0CT1T56ndy7aVRL/8jiCIUnKUMPH0p2KkTTI/oIL0l/DVzt4WknxrzsySAi4lnObskbbZkKZHBcpq551U8rsCn9SbZoH0ByuAfTXMI4vU49NCMif8oLRHsEz3tFhnYdrxB/f5wJl7zBlq9ABsfla5yfMFfgS9KfP2H8T1D3XkFbAx3eQJk7GIsHGM0rjK+/Q2yA+NnInxwvs/Fs3lzLVSCD43K1zSv/VwVm6c+vUHgIhVMo4a0ff8x/T0SLNOjZNSdvqW1WIIPjNqudn/WFCkzEzTOoKRbhs4Zc/pBPiXn3bLkC7wGkZRgc8eQNbwAAAABJRU5ErkJggg==";var nre=Object.defineProperty,ire=Object.defineProperties,rre=Object.getOwnPropertyDescriptors,GO=Object.getOwnPropertySymbols,ore=Object.prototype.hasOwnProperty,sre=Object.prototype.propertyIsEnumerable,XO=(ee,y,E)=>y in ee?nre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,fT=(ee,y)=>{for(var E in y||(y={}))ore.call(y,E)&&XO(ee,E,y[E]);if(GO)for(var E of GO(y))sre.call(y,E)&&XO(ee,E,y[E]);return ee},gT=(ee,y)=>ire(ee,rre(y)),are=({className:ee,style:y={},title:E="",childNode:z=[],knowledgeNode:ne=[]})=>{const ie="rem",se=[{position:"absolute",zIndex:2,bottom:112,left:44},{position:"absolute",zIndex:3,bottom:94,left:74},{position:"absolute",zIndex:4,bottom:78,left:104},{position:"absolute",zIndex:5,bottom:66,left:136},{position:"absolute",zIndex:6,bottom:82,left:168},{position:"absolute",zIndex:7,bottom:104,left:202},{position:"absolute",zIndex:8,bottom:122,left:166}],le=[{position:"absolute",zIndex:10,bottom:166,left:66},{position:"absolute",zIndex:11,bottom:148,left:120},{position:"absolute",zIndex:12,bottom:150,left:180},{position:"absolute",zIndex:13,bottom:188,left:164},{position:"absolute",zIndex:14,bottom:192,left:114}],de=(Se="")=>{if(!Se)return"-";let Me=3;return/[\u4e00-\u9fff]/.test(Se)||(Me=7),(Se==null?void 0:Se.length)>=Me?(Se==null?void 0:Se.slice(0,Me-1))+"...":Se},ge=()=>(Array.isArray(ne)?ne.slice(0,7):Array(7).fill("\u77E5\u8BC6\u70B9")).map((De,Oe)=>{const Re=se[Oe],Le=gT(fT({},Re),{bottom:`${Re.bottom}${ie}`,left:`${Re.left}${ie}`});return Fe.createElement("div",{key:Oe,style:Le,className:cv.smallBallGather},Fe.createElement("div",{className:cv.smallBall},Fe.createElement("b",null,de(De))),Fe.createElement("div",{className:cv.smallBallDish}))}),ve=()=>(Array.isArray(z)?z.slice(0,5):Array(5).fill("\u5B50\u8282\u70B9")).map((De,Oe)=>{const Re=le[Oe],Le=gT(fT({},Re),{bottom:`${Re.bottom}${ie}`,left:`${Re.left}${ie}`});return Fe.createElement("div",{key:Oe,style:Le,className:cv.middleBall},Fe.createElement("div",null,Fe.createElement("b",null,de(De))))}),xe={position:"absolute",zIndex:1,bottom:0,width:"100%"};return Fe.createElement("div",{className:hr()(cv.box,ee),style:y},Fe.createElement("img",{className:cv.pedestal,style:xe,src:_ie}),Fe.createElement("img",{className:cv.pedestalHover,style:xe,src:$ie}),ge(),Fe.createElement("div",{style:{position:"absolute",zIndex:9,bottom:138+ie,left:"50%",transform:"translateX(-50%)"},className:cv.middleBallDish}),ve(),Fe.createElement("div",{style:{position:"absolute",zIndex:15,bottom:214+ie,left:"50%",transform:"translateX(-50%)"},className:cv.largeBallDish}),Fe.createElement("div",{style:{position:"absolute",zIndex:16,bottom:234+ie,left:120+ie},className:cv.largeBall},Fe.createElement("b",null,de(E))),Fe.createElement("img",{style:gT(fT({},xe),{zIndex:17}),className:cv.spectrum,src:ere}),Fe.createElement("img",{style:gT(fT({},xe),{zIndex:17}),className:cv.spectrumHover,src:tre}),Fe.createElement("div",{title:E,style:{position:"absolute",zIndex:18,bottom:304+ie,left:0,fontSize:24+ie,width:"100%",textAlign:"center"},className:"c-white blod"},(0,bt.Pq)(E,9)))},lre=Object.defineProperty,ure=Object.defineProperties,cre=Object.getOwnPropertyDescriptors,WO=Object.getOwnPropertySymbols,hre=Object.prototype.hasOwnProperty,dre=Object.prototype.propertyIsEnumerable,QO=(ee,y,E)=>y in ee?lre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,YO=(ee,y)=>{for(var E in y||(y={}))hre.call(y,E)&&QO(ee,E,y[E]);if(WO)for(var E of WO(y))dre.call(y,E)&&QO(ee,E,y[E]);return ee},ZO=(ee,y)=>ure(ee,cre(y));function fre(ee){const y=new Map,E=[];return ee.nodes.forEach(z=>{const ne=ZO(YO({},z.properties),{children:[]});y.set(ne.uuid,ne)}),ee.relationships.forEach(z=>{const ne=y.get(z.startNodeUuid),ie=y.get(z.endNodeUuid);ne&&ie&&ne.children.push(ie)}),ee.nodes.forEach(z=>{const ne=z.properties;if(!ee.relationships.some(le=>le.startNodeUuid===ne.uuid||le.endNodeUuid===ne.uuid))return;ee.relationships.some(le=>le.endNodeUuid===ne.uuid)||E.push(y.get(ne.uuid))}),E.length===1?E[0]:E}function KO(ee,y){const E=new Set,z=[];return ee.forEach(ne=>{const ie=ne[y[0]],se=ne[y[1]];if(!ie||!se)return;const le=`${ie}-${se}`,de=`${se}-${ie}`;ie!==se&&!E.has(le)&&!E.has(de)&&(z.push(ne),E.add(le),E.add(de))}),z}const gre=(ee,y)=>{const E=ee==null?void 0:ee.map(ne=>{const ie=se=>{let le=[se.uuid];return se.children.forEach(de=>{le=le.concat(ie(de))}),le};return ie(ne)});return y.map(ne=>{let ie,se;return E.forEach(le=>{le.includes(ne.startNodeUuid)&&(ie=le[0]),le.includes(ne.endNodeUuid)&&(se=le[0])}),ZO(YO({},ne),{firstStartNodeUuid:ie,firstEndNodeUuid:se})})};var yf=Je(59301),pre=({data:ee})=>{const y=(0,Fe.useRef)(),E=(0,Fe.useRef)();function z(se,le,de){let ge,ve;switch(le){case"top":ge=Math.ceil(se.left+se.width/2-de.left),ve=Math.ceil(se.top-de.top);break;case"bottom":ge=Math.ceil(se.left+se.width/2-de.left),ve=Math.ceil(se.bottom-de.top+15);break;case"left":ge=Math.ceil(se.left-de.left-10),ve=Math.ceil(se.top+se.height/2-de.top+80);break;case"right":ge=Math.ceil(se.right-de.left+10),ve=Math.ceil(se.top+se.height/2-de.top+50);break}return{x:ge,y:ve}}function ne(se,le){const de={x:parseInt(se.left+se.width/2),y:parseInt(se.top+se.height/2)},ge={x:parseInt(le.left+le.width/2),y:parseInt(le.top+le.height/2)},ve=ge.x-de.x,xe=ge.y-de.y;let Se,Me;return Math.abs(ve)>Math.abs(xe)?(Se=ve>0?"right":"left",Me=ve>0?"left":"right"):(Se=xe>0?"bottom":"top",Me=xe>0?"top":"bottom"),{startEdge:Se,endEdge:Me}}function ie(){let se=ee;if(!(se!=null&&se.length))return;const le=document.getElementById("lineContainer"),de=document.getElementById("parentContainer").getBoundingClientRect();le.querySelectorAll("line").forEach(ge=>ge.remove()),se.forEach(ge=>{const ve=document.getElementById(ge.from),xe=document.getElementById(ge.to),Se=ve.getBoundingClientRect(),Me=xe.getBoundingClientRect();let{startEdge:De,endEdge:Oe}=ge;if(!De||!Oe){const Xe=ne(Se,Me);De=De||Xe.startEdge,Oe=Oe||Xe.endEdge}const Re=z(Se,De,de),Le=z(Me,Oe,de),Qe=document.createElementNS("http://www.w3.org/2000/svg","line");if(Qe.setAttribute("x1",Re.x+ge.offsetStart.x),Qe.setAttribute("y1",Re.y+ge.offsetStart.y),Qe.setAttribute("x2",Re.x+ge.offsetStart.x+.01),Qe.setAttribute("y2",Re.y+ge.offsetStart.y),Qe.setAttribute("stroke",`url(#${ge.gradient})`),Qe.setAttribute("stroke-width","2"),ge.dashed&&Qe.setAttribute("stroke-dasharray","5, 5"),ge.arrow==="start"?Qe.setAttribute("marker-start",ge!=null&&ge.animated?"url(#triangle-start-h)":"url(#triangle-start)"):ge.arrow==="end"?Qe.setAttribute("marker-end",ge!=null&&ge.animated?"url(#triangle-end-h)":"url(#triangle-end)"):ge.arrow==="both"&&(Qe.setAttribute("marker-start",ge!=null&&ge.animated?"url(#triangle-start-h)":"url(#triangle-start)"),Qe.setAttribute("marker-end",ge!=null&&ge.animated?"url(#triangle-end-h)":"url(#triangle-end)")),ge.animated){Qe.classList.add("dashed-line");const Xe=document.createElementNS("http://www.w3.org/2000/svg","animate");Xe.setAttribute("attributeName","x2"),Xe.setAttribute("from",Re.x+ge.offsetStart.x),Xe.setAttribute("to",Le.x+ge.offsetEnd.x+.01),Xe.setAttribute("dur","1s"),Xe.setAttribute("fill","freeze"),Qe.appendChild(Xe);const Ze=document.createElementNS("http://www.w3.org/2000/svg","animate");Ze.setAttribute("attributeName","y2"),Ze.setAttribute("from",Re.y+ge.offsetStart.y),Ze.setAttribute("to",Le.y+ge.offsetEnd.y),Ze.setAttribute("dur","1s"),Ze.setAttribute("fill","freeze"),Qe.appendChild(Ze)}else Qe.setAttribute("x2",Le.x+ge.offsetEnd.x+.01),Qe.setAttribute("y2",Le.y+ge.offsetEnd.y);le.appendChild(Qe)})}return(0,Fe.useEffect)(()=>{ee!=null&&ee.length&&ie()},[ee]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",()=>ie),window.addEventListener("scroll",()=>ie),()=>{window.removeEventListener("resize",ie),window.removeEventListener("scroll",ie)}),[]),yf.createElement(yf.Fragment,null,yf.createElement("svg",{id:"lineContainer",style:{width:"100%",height:"100%",position:"absolute",top:0,left:0}}),yf.createElement("svg",null,yf.createElement("defs",null,yf.createElement("linearGradient",{id:"gradient1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},yf.createElement("stop",{"stop-color":"#42BECD",offset:"0%"}),yf.createElement("stop",{"stop-color":"#3C30C6",offset:"100%"})),yf.createElement("linearGradient",{id:"gradient2",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},yf.createElement("stop",{"stop-color":"#2DE1FD",offset:"0%"}),yf.createElement("stop",{"stop-color":"#C7FFB0",offset:"100%"})),yf.createElement("marker",{id:"triangle-start",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient1)"})),yf.createElement("marker",{id:"triangle-end",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient1)"})),yf.createElement("marker",{id:"triangle-start-h",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient2)"})),yf.createElement("marker",{id:"triangle-end-h",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},yf.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient2)"})))))},mre=Object.defineProperty,vre=Object.defineProperties,yre=Object.getOwnPropertyDescriptors,JO=Object.getOwnPropertySymbols,Are=Object.prototype.hasOwnProperty,xre=Object.prototype.propertyIsEnumerable,qO=(ee,y,E)=>y in ee?mre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,_O=(ee,y)=>{for(var E in y||(y={}))Are.call(y,E)&&qO(ee,E,y[E]);if(JO)for(var E of JO(y))xre.call(y,E)&&qO(ee,E,y[E]);return ee},wre=(ee,y)=>vre(ee,yre(y)),$O=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),Sre=({subjectId:ee,setActivated:y,onAddSuccess:E,settpacti:z})=>{const ne=(0,xt.useSelector)(rn=>rn),{pathsDetail:{detail:ie={}}}=ne,[se]=en.default.useForm(),[le,de]=(0,Fe.useState)(""),[ge,ve]=(0,Fe.useState)(!1),[xe,Se]=(0,Fe.useState)(!0),[Me,De]=(0,Fe.useState)(!1),[Oe,Re]=(0,Fe.useState)([]),[Le,Qe]=(0,Fe.useState)([]),[Xe,Ze]=(0,Fe.useState)(null),[it,et]=(0,Fe.useState)(),ht=(0,Fe.useRef)(),lt=(0,Fe.useRef)();let ot=(0,Fe.useRef)().current,rt=(0,Fe.useRef)().current,Mt=(0,Fe.useRef)(!1).current;const Xt=ie==null?void 0:ie.can_managed;(0,Fe.useEffect)(()=>{ee&&cn()},[ee]);const cn=()=>$O(void 0,null,function*(){var rn,li,Dn,Wn,hi;Se(!0);const On=yield(0,gn.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:-1,subject_id:ee}});if(On.status===0){de((Wn=(Dn=(li=(rn=On==null?void 0:On.data)==null?void 0:rn.nodes)==null?void 0:li[0])==null?void 0:Dn.properties)==null?void 0:Wn.uuid);const dn=((hi=On==null?void 0:On.data)==null?void 0:hi.relationships)||[];let mi=[],ui=[];dn==null||dn.forEach(Ir=>{["\u5173\u8054"].includes(Ir.type)?mi.push(Ir):["\u5305\u542B"].includes(Ir.type)&&ui.push(Ir)}),mi=KO(mi,["startNodeUuid","endNodeUuid"]);const Mi=wre(_O({},On==null?void 0:On.data),{relationships:ui}),Qi=fre(Mi);let rr=gre((Qi==null?void 0:Qi.children)||[],mi);console.log(rr,3),rr=KO(rr,["firstStartNodeUuid","firstEndNodeUuid"]),Re((Qi==null?void 0:Qi.children)||[]),Qe(rr),console.log(rr,Qi==null?void 0:Qi.children,222)}Se(!1)});(0,Fe.useEffect)(()=>{Le!=null&&Le.length&&et(Le.map(rn=>({from:rn.firstStartNodeUuid,to:rn.firstEndNodeUuid,animated:!1,dashed:!0,arrow:"both",offsetStart:{x:0,y:0},offsetEnd:{x:0,y:1},gradient:"gradient1"})))},[Le]),(0,Fe.useEffect)(()=>{var rn;it!=null&&it.length&&((rn=it==null?void 0:it.map)==null||rn.call(it,li=>{li.animated=li.from===Xe||li.to===Xe,li.gradient=li.from===Xe||li.to===Xe?"gradient2":"gradient1"}),et([...it]))},[Xe]);function Cn(rn){var li,Dn;if(!Mt)return;const Wn=rn.pageY-ot;(Dn=(li=ht.current)==null?void 0:li.scrollTo)==null||Dn.call(li,0,rt-Wn)}function En(rn){var li;Mt=!0,ot=rn.pageY,rt=((li=ht.current)==null?void 0:li.scrollTop)||0}function Zn(rn){Mt=!1}(0,Fe.useEffect)(()=>(document.addEventListener("mousedown",En),document.addEventListener("mousemove",Cn),document.addEventListener("mouseup",Zn),()=>{document.removeEventListener("mouseup",Zn),document.removeEventListener("mousemove",Cn),document.removeEventListener("mousedown",En)}),[]);const ti=rn=>$O(void 0,null,function*(){const{nodeType:li,description:Dn,name:Wn,tags:hi}=rn;De(!0);const On=yield(0,gn.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:ee,properties:{description:Dn,rootNodeUuid:le,name:Wn,nodeType:li[0],tags:(hi==null?void 0:hi.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:le,type:"\u5305\u542B"}]}});(On==null?void 0:On.status)===0&&(ve(!1),cn(),E()),De(!1)}),bn=()=>{const rn=[],li=Oe==null?void 0:Oe.map((Wn,hi)=>{var On;let dn;const mi=hi+1,ui=rn.length-3,Mi=rn[ui];mi%3===1&&(dn={top:Mi!==void 0?`${parseFloat(Mi==null?void 0:Mi.top)+600}rem`:"100rem",left:"50%",marginLeft:"-146rem"}),mi%3===2&&(dn={top:Mi!==void 0?`${parseFloat(Mi==null?void 0:Mi.top)+600}rem`:"380rem",left:0}),mi%3===0&&(dn={top:Mi!==void 0?`${parseFloat(Mi==null?void 0:Mi.top)+600}rem`:"380rem",right:0}),rn.push(dn);let Qi=[],rr=(On=Wn==null?void 0:Wn.children)==null?void 0:On.map(Ir=>{var to;return Ir!=null&&Ir.children&&((to=Ir==null?void 0:Ir.children)==null||to.forEach(Jo=>{Qi.push(Jo.name)})),Ir.name});return rr.length>5&&(rr[0]="..."),Qi.length>7&&(Qi[0]="..."),Fe.createElement("div",{className:t1.listItem,key:hi,onMouseEnter:()=>Ze(Wn==null?void 0:Wn.uuid),onMouseLeave:()=>Ze(null),id:Wn==null?void 0:Wn.uuid,onClick:()=>{y(Wn==null?void 0:Wn.uuid),z(Wn==null?void 0:Wn.uuid)},style:_O({position:"absolute",zIndex:10},dn)},Fe.createElement(are,{childNode:rr,knowledgeNode:Qi,title:Wn==null?void 0:Wn.name}))}),Dn=parseFloat(rn[rn.length-1].top)+352+80+"rem";return Fe.createElement("div",{ref:lt,style:{height:Dn}},li)};return Fe.createElement(Xs.Z,null,Fe.createElement("div",{className:t1.wrap},xe&&Fe.createElement(an.Z,{style:{width:"100%",marginTop:"300rem"},spinning:xe}),!xe&&Fe.createElement(Fe.Fragment,null,Xt&&Fe.createElement("div",{className:t1.add,onClick:()=>ve(!0)},Fe.createElement("i",{className:"iconfont icon-tianjiatixing"})),Oe!=null&&Oe.length?Fe.createElement("div",{className:t1.dimensionalBall,ref:ht},Fe.createElement("div",{className:t1.archer,id:"parentContainer"},bn(),Fe.createElement(pre,{data:it}))):Fe.createElement(Fl,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:Xt&&"\u65B0\u5EFA\u56FE\u8C31",onClick:()=>ve(!0)})),Fe.createElement(jt.default,{open:ge,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ve(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{se.resetFields()},confirmLoading:Me,onOk:()=>se.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Fe.createElement("div",{className:t1.modal},Fe.createElement("div",{className:t1.mHead},"\u8282\u70B9\u5C5E\u6027"),Fe.createElement(en.default,{form:se,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:ti,className:t1.form},Fe.createElement(en.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Fe.createElement(en.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Fe.createElement(Gt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Fe.createElement(en.default.Item,{className:t1.mType,label:Fe.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Fe.createElement(ft.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Fe.createElement(qs.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Fe.createElement(hp,{subjectId:ee,type:1})))))))},Qc={statistics:"statistics___BP4qi",noUnfold:"noUnfold___EpqXR",wrapBox:"wrapBox___TsFlb",scrollBox:"scrollBox___Oh4zJ",content:"content___NRQFH",title:"title___z20Sn",box:"box___k6Eep",left:"left___Gnxfc",right:"right___rNC9V",head:"head___mT3Wl",radio:"radio___sjK3F",active:"active___oX7gd",average:"average___KVA2l",li:"li____NnY1",yellow:"yellow___CCujs",blue:"blue___m_425",lineTitle:"lineTitle___qo6vf",echartsTwo:"echartsTwo___aC24D",echartsThree:"echartsThree___Z2Q2A",unfold:"unfold___VUl4t",select:"select___dM1mS"},Pre="data:image/png;base64,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",Cre="data:image/png;base64,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",Ere="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",bre="data:image/png;base64,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",Mre="data:image/png;base64,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",UL={wave:"wave___rx4XG",fillWrap:"fillWrap___q512j",svgBox:"svgBox___DfbUu"},Bre=Object.defineProperty,ek=Object.getOwnPropertySymbols,Tre=Object.prototype.hasOwnProperty,Dre=Object.prototype.propertyIsEnumerable,tk=(ee,y,E)=>y in ee?Bre(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Fre=(ee,y)=>{for(var E in y||(y={}))Tre.call(y,E)&&tk(ee,E,y[E]);if(ek)for(var E of ek(y))Dre.call(y,E)&&tk(ee,E,y[E]);return ee};const fue=ee=>React.createElement("svg",Fre({width:449,height:204,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},ee),React.createElement("title",null,"\u6CE2\u7EB9"),React.createElement("defs",null,React.createElement("linearGradient",{x1:"50%",y1:"41.532%",x2:"51.437%",y2:"65.254%",id:"water_svg__c"},React.createElement("stop",{stopColor:"#34D5A2",offset:"0%"}),React.createElement("stop",{stopColor:"#1D9F76",offset:"100%"})),React.createElement("path",{id:"water_svg__a",d:"M0 0h449v204H0z"})),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("mask",{id:"water_svg__b",fill:"#fff"},React.createElement("use",{xlinkHref:"#water_svg__a"})),React.createElement("g",{mask:"url(#water_svg__b)"},React.createElement("path",{d:"M0 7.704c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.136 45 0 13-11 30-9.517 45 0s15 17 45 0v196H0v-196Z",fill:"url(#water_svg__c)",transform:"translate(-40)"}),React.createElement("path",{d:"M0 11c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.137 45 0 13-11 30-10 45 0s15 17 45 0v193H0V11Z",fill:"#38E5AE"}))));var Lre="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQ5IiBoZWlnaHQ9IjIwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI0MS41MzIlIiB4Mj0iNTEuNDM3JSIgeTI9IjY1LjI1NCUiIGlkPSJjIj48c3RvcCBzdG9wLWNvbG9yPSIjMzRENUEyIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzFEOUY3NiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBpZD0iYSIgZD0iTTAgMGg0NDl2MjA0SDB6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggZD0iTTAgNy43MDRjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM2IDQ1IDAgMTMtMTEgMzAtOS41MTcgNDUgMHMxNSAxNyA0NSAwdjE5Nkgwdi0xOTZaIiBmaWxsPSJ1cmwoI2MpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDApIi8+PHBhdGggZD0iTTAgMTFjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM3IDQ1IDAgMTMtMTEgMzAtMTAgNDUgMHMxNSAxNyA0NSAwdjE5M0gwVjExWiIgZmlsbD0iIzM4RTVBRSIvPjwvZz48L2c+PC9zdmc+",Nre=({percentage:ee,size:y=180,unit:E="rem"})=>{const[z,ne]=(0,Fe.useState)(["",""]),[ie,se]=(0,Fe.useState)(0),le=(0,Fe.useRef)(null),de=(0,Fe.useRef)(null);(0,Fe.useEffect)(()=>(le.current&&(clearTimeout(de.current),de.current=setTimeout(()=>{var Me;const De=ie+20;De+y>((Me=le.current)==null?void 0:Me.offsetWidth)-40&&ne([...z,""]),se(De)},200)),()=>{clearTimeout(de.current)}),[le.current,ie]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",ge),()=>{window.removeEventListener("resize",ge)}),[]);const ge=()=>{se(0)},ve={width:y+E,height:y+E},xe=148-y*(ee/100),Se=()=>Fe.createElement("img",{src:Lre,style:{width:`449${E}`,height:`204${E}`}});return Fe.createElement("div",{className:UL.wave,style:ve},Fe.createElement("div",{className:UL.fillWrap},Fe.createElement("div",{style:{fontSize:`28${E}`,zIndex:2,color:"#fff"}},ee,"%"),Fe.createElement("div",{className:UL.svgBox,ref:le,style:{top:xe+E,transform:`translateX(-${ie}px)`}},z.map((Me,De)=>Fe.createElement(Se,{key:De})))))},nk=Je(40879),n1={trapezoid:"trapezoid___qw8yM",pillarBox:"pillarBox___rGJCP",pillar1:"pillar1___uJ0zx",point:"point____XIHt",pillar2:"pillar2___pL9k5",pillar3:"pillar3___dUdZf",textBox:"textBox___isldE",text1:"text1___g5Hy9",tip:"tip___PXfJr",line:"line___A5wA_",l:"l___hfZzL",text2:"text2___u2scn",text3:"text3___WSnmy"},Ire=Object.defineProperty,Rre=Object.defineProperties,Ore=Object.getOwnPropertyDescriptors,ik=Object.getOwnPropertySymbols,kre=Object.prototype.hasOwnProperty,zre=Object.prototype.propertyIsEnumerable,rk=(ee,y,E)=>y in ee?Ire(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,ok=(ee,y)=>{for(var E in y||(y={}))kre.call(y,E)&&rk(ee,E,y[E]);if(ik)for(var E of ik(y))zre.call(y,E)&&rk(ee,E,y[E]);return ee},sk=(ee,y)=>Rre(ee,Ore(y)),Hre=({dataSource:ee=[]})=>{const[y,E]=(0,Fe.useState)([]),[z,ne]=(0,Fe.useState)(0),ie=(0,Fe.useRef)(String(Math.random()).slice(-6));(0,Fe.useEffect)(()=>{if(ee!=null&&ee.length){const ge=de(ee),ve=ee.map((xe,Se)=>sk(ok({value:xe,lineWidth:30,pillarWidth:104+ge[Se]},le[Se]),{from:le[Se].from+ie.current,to:le[Se].to+ie.current}));E(ve),ne(z+1)}},[JSON.stringify(ee)]),(0,Fe.useEffect)(()=>{z>0&&se()},[z]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",se),()=>{window.removeEventListener("resize",se)}),[z]);const se=()=>{const ge=y.map((ve,xe)=>{const{from:Se,to:Me}=ve,De=document.querySelector(`#${Se}`),Oe=document.querySelector(`#${Me}`),Re=De.getBoundingClientRect(),Le=Oe.getBoundingClientRect(),Qe=Math.abs(Le.left-Re.left);return sk(ok({},ve),{lineWidth:Qe})});E(ge)},le=[{title:"\u5B8C\u6210\u738780%\uFF5E100%",pillarTitle:"80\uFF5E100%",from:"lineStart1",to:"lineEnd1"},{title:"\u5B8C\u6210\u738760%\uFF5E79%",pillarTitle:"60\uFF5E79%",from:"lineStart2",to:"lineEnd2"},{title:"\u5B8C\u6210\u738759%\u4EE5\u4E0B",pillarTitle:"59%\u4EE5\u4E0B",from:"lineStart3",to:"lineEnd3"}];function de(ge){const ve=ge.reduce((xe,Se)=>xe+Se,0);return ge.map(xe=>xe/ve*100)}return Fe.createElement("div",{className:n1.trapezoid},Fe.createElement("div",{className:n1.textBox},y.map((ge,ve)=>{const{value:xe,lineWidth:Se,title:Me,from:De}=ge,Oe=ve+1;return Fe.createElement("div",{key:ve,className:n1[`text${Oe}`]},Fe.createElement("div",{className:n1.tip},Me,Fe.createElement("span",null,xe)),Fe.createElement("div",{id:De,className:n1.line},Fe.createElement("div",{style:{width:Se},className:n1.l})))})),Fe.createElement("div",{className:n1.pillarBox},y.map((ge,ve)=>{const{pillarWidth:xe,pillarTitle:Se,to:Me}=ge,De=ve+1;return Fe.createElement("div",{key:ve,className:n1[`pillar${De}`],style:{width:xe+"rem"}},Fe.createElement("span",null,Se),Fe.createElement("div",{id:Me,className:n1.point}))})))},fs=Je(59301),Ure=Object.defineProperty,ak=Object.getOwnPropertySymbols,Vre=Object.prototype.hasOwnProperty,jre=Object.prototype.propertyIsEnumerable,lk=(ee,y,E)=>y in ee?Ure(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,VL=(ee,y)=>{for(var E in y||(y={}))Vre.call(y,E)&&lk(ee,E,y[E]);if(ak)for(var E of ak(y))jre.call(y,E)&&lk(ee,E,y[E]);return ee},Gre=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),Xre=({subjectId:ee,uuid:y,isAll:E})=>{const[z,ne]=(0,Fe.useState)(!1),[ie,se]=(0,Fe.useState)({type:0,course_id:null}),[le,de]=(0,Fe.useState)(!0),[ge,ve]=(0,Fe.useState)(!0),[xe,Se]=(0,Fe.useState)([]),[Me]=(0,xt.useSearchParams)(),[De,Oe]=(0,Fe.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),Re=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[Le,Qe]=(0,Fe.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:[0,0,0],masteryRate:Re});(0,Fe.useEffect)(()=>{z?Xe(ie):se({type:0,course_id:null})},[z]),(0,Fe.useEffect)(()=>{z&&ne(!1)},[y]);const Xe=(ht,lt=!1)=>Gre(void 0,null,function*(){var ot,rt,Mt,Xt,cn,Cn,En,Zn,ti,bn;lt?ve(!0):de(!0);const rn=yield(0,gn.ZP)(E?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:VL({subject_id:ee,parentNodeUuid:y,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},ht)});if((rn==null?void 0:rn.status)===0){let li=(ot=rn==null?void 0:rn.data)==null?void 0:ot.metricCounters;li=li||[];const Dn={graphCount:((rt=li.find(dn=>(dn==null?void 0:dn.name)==="\u56FE\u8C31"))==null?void 0:rt.count)||0,tagCount:((Mt=li.find(dn=>(dn==null?void 0:dn.name)==="\u6807\u7B7E"))==null?void 0:Mt.count)||0,resourceCount:((Xt=li.find(dn=>(dn==null?void 0:dn.name)==="\u8D44\u6E90"))==null?void 0:Xt.count)||0,proportionCount:(cn=rn==null?void 0:rn.data)==null?void 0:cn.resource_rate};let Wn=Object.entries((Cn=rn==null?void 0:rn.data)==null?void 0:Cn.study_grasp_hash).map(([dn,mi],ui)=>({name:dn,value:mi,itemStyle:Re[ui].itemStyle}));const hi={averageCompletionRate:(En=rn==null?void 0:rn.data)==null?void 0:En.study_complete_rate,averageMasteryRate:(Zn=rn==null?void 0:rn.data)==null?void 0:Zn.study_grasp_rate,completionRate:Object.values((ti=rn==null?void 0:rn.data)==null?void 0:ti.study_complete_hash),masteryRate:Wn};console.log(Wn,"newMasteryRate");const On=(bn=rn==null?void 0:rn.courses)==null?void 0:bn.map(dn=>({label:dn.name,value:dn.id}));Se(On),Oe(Dn),Qe(hi)}setTimeout(()=>{de(!1)},500),ve(!1)}),Ze=ht=>{ie.type=ht,se(VL({},ie)),(ht!==2||ie.course_id)&&Xe(ie,!0)},it=ht=>{ie.course_id=ht,se(VL({},ie)),Xe(ie,!0)},et=[{name:"\u5168\u90E8",id:0},{name:"\u81EA\u4E3B\u5B66\u4E60",id:1},{name:"\u8BFE\u5802\u5B66\u4E60",id:2}];return fs.createElement(Xs.Z,null,fs.createElement("div",{className:Qc.statistics},fs.createElement("div",{onClick:()=>ne(!0),className:Qc.noUnfold},fs.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:Pre}),fs.createElement("span",null,"\u7EDF"),fs.createElement("span",null,"\u8BA1")),fs.createElement("div",{className:Qc.wrapBox,style:{right:z?0:"-600rem"}},le&&fs.createElement(an.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!le&&fs.createElement(fs.Fragment,null,fs.createElement("div",{className:Qc.scrollBox},fs.createElement("div",{className:Qc.content},fs.createElement("div",{className:Qc.title},fs.createElement("img",{src:Cre}),fs.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),fs.createElement(Tr.Z,{className:Qc.box,justify:"space-between"},fs.createElement("div",{className:Qc.left},fs.createElement("div",null,fs.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF"),fs.createElement("b",null,De==null?void 0:De.graphCount)),fs.createElement("div",{style:{margin:"18rem 0"}},fs.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF"),fs.createElement("b",null,De==null?void 0:De.tagCount)),fs.createElement("div",null,fs.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"),fs.createElement("b",null,De==null?void 0:De.resourceCount))),fs.createElement("div",{className:Qc.right},z&&fs.createElement(Nre,{percentage:De==null?void 0:De.proportionCount}),fs.createElement("div",{className:"c-white",style:{marginTop:"20rem",fontSize:"14rem"}},"\u5DF2\u5173\u8054\u8D44\u6E90\u7684\u6807\u7B7E\u8282\u70B9\u5360\u6BD4"))),fs.createElement("div",{style:{marginTop:"20rem"},className:Qc.title},fs.createElement("img",{src:Ere}),fs.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),fs.createElement("div",{className:Qc.box},Me.get("type")!=="classrooms"&&fs.createElement("div",{className:Qc.head},fs.createElement("span",{style:{marginRight:"10rem",fontSize:"16rem"}},"\u7EDF\u8BA1\u8303\u56F4"),fs.createElement("div",{className:Qc.radio},et.map(ht=>fs.createElement("div",{className:ie.type===ht.id?Qc.active:"",key:ht.id,onClick:()=>Ze(ht.id)},fs.createElement("b",null),fs.createElement("span",null,ht.name)))),ie.type===2&&fs.createElement(Qs.default,{className:Qc.select,options:xe,value:ie==null?void 0:ie.course_id,onChange:it,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:ht=>ht.parentNode,style:{width:"156rem",marginLeft:"10rem"},suffixIcon:fs.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#1B8565",fontSize:"16rem"}})})),fs.createElement(an.Z,{spinning:ge},fs.createElement("div",{className:Qc.average},fs.createElement("div",{className:Qc.li},fs.createElement("img",{src:bre,style:{marginLeft:0}}),fs.createElement("aside",{className:Qc.yellow},fs.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),fs.createElement("div",null,fs.createElement("b",{style:{fontSize:"40rem"}},Le==null?void 0:Le.averageCompletionRate),fs.createElement("span",{style:{fontSize:"20rem"}},"%")))),fs.createElement("div",{className:Qc.li},fs.createElement("img",{src:Mre}),fs.createElement("aside",{className:Qc.blue},fs.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),fs.createElement("div",null,fs.createElement("b",{style:{fontSize:"40rem"}},Le==null?void 0:Le.averageMasteryRate),fs.createElement("span",{style:{fontSize:"20rem"}},"%"))))),fs.createElement("div",{className:Qc.lineTitle},fs.createElement("b",null),fs.createElement("span",null,"\u5B8C\u6210\u7387"),fs.createElement("b",null)),fs.createElement("div",{className:Qc.echartsTwo},fs.createElement(Hre,{dataSource:Le==null?void 0:Le.completionRate})),fs.createElement("div",{className:Qc.lineTitle,style:{marginTop:"40rem"}},fs.createElement("b",null),fs.createElement("span",null,"\u638C\u63E1\u7387"),fs.createElement("b",null)),fs.createElement("div",{className:Qc.echartsThree},fs.createElement(nk.Z,{dataSource:Le==null?void 0:Le.masteryRate})))))),z&&fs.createElement("div",{onClick:()=>ne(!1),className:Qc.unfold})))))},$h={statistics:"statistics___BZJje",noUnfold:"noUnfold___L4va9",wrapBox:"wrapBox___tHLW6",scrollBox:"scrollBox___m8AGu",content:"content____Gl9N",title:"title___SAaGy",top:"top___h1nbU",topLi:"topLi___Ib2Tu",bottom:"bottom___ZKnwW",bottomLi:"bottomLi___YAGiM",echarts:"echarts___M5Dkf",name:"name___XhFko",unfold:"unfold___I5om1",select:"select___TcV_B"},Wre="data:image/png;base64,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",Qre="data:image/png;base64,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",Yre="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",Zre=Je.p+"static/a.d3f19668.png",Kre=Je.p+"static/b.ba7414bd.png",Jre=Je.p+"static/c.2b6f6bd3.png",qre=Je.p+"static/d.f1216ccd.png",Lw={cylinder:"cylinder___rUBlO",cylinderBox:"cylinderBox___NurwX",cylinder1:"cylinder1___LPJD0",item1:"item1___ekrFi",item2:"item2___PuVOv",item3:"item3___x9UjL",point:"point___ZJ1ZD",cylinder2:"cylinder2___aQBbC",cylinder3:"cylinder3___lefpl",textBox:"textBox____wuhT"},_re=Object.defineProperty,$re=Object.defineProperties,eoe=Object.getOwnPropertyDescriptors,uk=Object.getOwnPropertySymbols,toe=Object.prototype.hasOwnProperty,noe=Object.prototype.propertyIsEnumerable,ck=(ee,y,E)=>y in ee?_re(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,hk=(ee,y)=>{for(var E in y||(y={}))toe.call(y,E)&&ck(ee,E,y[E]);if(uk)for(var E of uk(y))noe.call(y,E)&&ck(ee,E,y[E]);return ee},dk=(ee,y)=>$re(ee,eoe(y)),ioe=({dataSource:ee=[]})=>{const[y,E]=(0,Fe.useState)([]),[z,ne]=(0,Fe.useState)(0),ie=(0,Fe.useRef)(String(Math.random()).slice(-6));console.log(ee,y,223),(0,Fe.useEffect)(()=>{if(ee!=null&&ee.length){const ge=de(ee),ve=ee.map((xe,Se)=>dk(hk({value:xe,lineWidth:30,cylinderWidth:40+ge[Se]},le[Se]),{from:le[Se].from+ie.current,to:le[Se].to+ie.current}));E(ve),ne(z+1)}},[JSON.stringify(ee)]),(0,Fe.useEffect)(()=>{z>0&&se()},[z]),(0,Fe.useEffect)(()=>(window.addEventListener("resize",se),()=>{window.removeEventListener("resize",se)}),[z]);const se=()=>{const ge=y.map((ve,xe)=>{const{from:Se,to:Me}=ve,De=document.querySelector(`#${Se}`),Oe=document.querySelector(`#${Me}`),Re=De.getBoundingClientRect(),Le=Oe.getBoundingClientRect(),Qe=Math.abs(Le.left-Re.left);return dk(hk({},ve),{lineWidth:Qe})});E(ge)},le=[{title:"\u90E8\u5206\u638C\u63E1  ",from:"lineStart1",to:"lineEnd1"},{title:"\u5168\u90E8\u638C\u63E1  ",from:"lineStart2",to:"lineEnd2"},{title:"\u672A  \u638C  \u63E1  ",from:"lineStart3",to:"lineEnd3"}];function de(ge){const ve=ge.reduce((xe,Se)=>xe+Se,0);return ge.map(xe=>xe/ve*122)}return Fe.createElement("div",{className:Lw.cylinder},Fe.createElement("div",{className:Lw.cylinderBox},y.map((ge,ve)=>{const{cylinderWidth:xe,lineWidth:Se,from:Me}=ge,De=ve+1;return Fe.createElement("div",{key:De,className:Lw[`cylinder${De}`],style:{width:xe+"rem"}},Fe.createElement("div",{className:Lw.item1}),Fe.createElement("div",{className:Lw.item2}),Fe.createElement("div",{className:Lw.item3}),Fe.createElement("div",{id:Me,style:{width:Se},className:Lw.point}))})),Fe.createElement("div",{className:Lw.textBox},y.map((ge,ve)=>{const{title:xe,to:Se,value:Me}=ge,De=ve+1;return Fe.createElement("div",{key:De,id:Se},Fe.createElement("span",{dangerouslySetInnerHTML:{__html:`${xe}${Me}%`}}))})))},ma=Je(59301),roe=Object.defineProperty,fk=Object.getOwnPropertySymbols,ooe=Object.prototype.hasOwnProperty,soe=Object.prototype.propertyIsEnumerable,gk=(ee,y,E)=>y in ee?roe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,pk=(ee,y)=>{for(var E in y||(y={}))ooe.call(y,E)&&gk(ee,E,y[E]);if(fk)for(var E of fk(y))soe.call(y,E)&&gk(ee,E,y[E]);return ee},aoe=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())}),loe=({subjectId:ee,uuid:y,isAll:E})=>{const[z,ne]=(0,Fe.useState)(!1),[ie,se]=(0,Fe.useState)({course_id:null}),[le,de]=(0,Fe.useState)(!0),[ge,ve]=(0,Fe.useState)(!0),[xe,Se]=(0,Fe.useState)([]),[Me]=(0,xt.useSearchParams)(),[De,Oe]=(0,Fe.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),Re=[{name:"\u5DF2\u5B8C\u6210",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u5F85\u5F00\u59CB",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u90E8\u5206\u5B8C\u6210",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[Le,Qe]=(0,Fe.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:Re,masteryRate:[0,0,0],course_rank_num:0,course_rank_all_num:0,system_rank_num:0,system_rank_all_num:0});(0,Fe.useEffect)(()=>{z?Xe(ie):se({course_id:null})},[z]),(0,Fe.useEffect)(()=>{z&&ne(!1)},[y]);const Xe=(it,et=!1)=>aoe(void 0,null,function*(){var ht,lt,ot,rt,Mt,Xt,cn,Cn,En,Zn,ti,bn,rn,li,Dn;et?ve(!0):de(!0);const Wn=yield(0,gn.ZP)(E?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:pk({subject_id:ee,parentNodeUuid:y,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},it)});if((Wn==null?void 0:Wn.status)===0){let hi=(ht=Wn==null?void 0:Wn.data)==null?void 0:ht.metricCounters;hi=hi||[];const On={graphCount:((lt=hi.find(Mi=>(Mi==null?void 0:Mi.name)==="\u56FE\u8C31"))==null?void 0:lt.count)||0,tagCount:((ot=hi.find(Mi=>(Mi==null?void 0:Mi.name)==="\u6807\u7B7E"))==null?void 0:ot.count)||0,resourceCount:((rt=hi.find(Mi=>(Mi==null?void 0:Mi.name)==="\u8D44\u6E90"))==null?void 0:rt.count)||0,proportionCount:(Mt=Wn==null?void 0:Wn.data)==null?void 0:Mt.resource_rate};let dn=Object.entries((Xt=Wn==null?void 0:Wn.data)==null?void 0:Xt.study_complete_hash).map(([Mi,Qi],rr)=>({name:Re[rr].name,value:Qi,itemStyle:Re[rr].itemStyle}));const mi={averageCompletionRate:(cn=Wn==null?void 0:Wn.data)==null?void 0:cn.study_complete_rate,averageMasteryRate:(Cn=Wn==null?void 0:Wn.data)==null?void 0:Cn.study_grasp_rate,completionRate:dn,masteryRate:Object.values((En=Wn==null?void 0:Wn.data)==null?void 0:En.study_grasp_hash),course_rank_num:(Zn=Wn==null?void 0:Wn.data)==null?void 0:Zn.course_rank_num,course_rank_all_num:(ti=Wn==null?void 0:Wn.data)==null?void 0:ti.course_rank_all_num,system_rank_num:(bn=Wn==null?void 0:Wn.data)==null?void 0:bn.system_rank_num,system_rank_all_num:(rn=Wn==null?void 0:Wn.data)==null?void 0:rn.system_rank_all_num},ui=(li=Wn==null?void 0:Wn.courses)==null?void 0:li.map(Mi=>({label:Mi.name,value:Mi.id}));Se(ui),Oe(On),Qe(mi),et||se({course_id:((Dn=ui==null?void 0:ui[0])==null?void 0:Dn.value)||null})}setTimeout(()=>{de(!1)},500),ve(!1)}),Ze=it=>{ie.course_id=it,se(pk({},ie)),Xe(ie,!0)};return ma.createElement(Xs.Z,null,ma.createElement("div",{className:$h.statistics},ma.createElement("div",{onClick:()=>ne(!0),className:$h.noUnfold},ma.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:Wre}),ma.createElement("span",null,"\u7EDF"),ma.createElement("span",null,"\u8BA1")),ma.createElement("div",{className:$h.wrapBox,style:{right:z?0:"-600rem"}},le&&ma.createElement(an.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!le&&ma.createElement(ma.Fragment,null,ma.createElement("div",{className:$h.scrollBox},ma.createElement("div",{className:$h.content},ma.createElement("div",{className:$h.title},ma.createElement("img",{src:Qre}),ma.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),ma.createElement("div",{className:$h.top},ma.createElement("div",{className:$h.topLi},ma.createElement("div",null,De==null?void 0:De.graphCount),ma.createElement("div",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF")),ma.createElement("div",{className:$h.topLi},ma.createElement("div",null,De==null?void 0:De.tagCount),ma.createElement("div",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF")),ma.createElement("div",{className:$h.topLi},ma.createElement("div",null,De==null?void 0:De.resourceCount),ma.createElement("div",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"))),ma.createElement("div",{style:{marginTop:"20rem"},className:$h.title},ma.createElement("img",{src:Yre}),ma.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),ma.createElement(an.Z,{spinning:ge},ma.createElement("div",{className:$h.bottom},ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"82rem",marginRight:"26rem"}},Me.get("type")!=="classrooms"&&ma.createElement(Qs.default,{className:$h.select,options:xe,value:ie==null?void 0:ie.course_id,size:"small",onChange:Ze,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:it=>it.parentNode,style:{width:"222rem"},suffixIcon:ma.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#fff",fontSize:"12rem"}})}),ma.createElement("b",{style:{fontSize:"26rem",marginTop:"5rem"}},Le==null?void 0:Le.course_rank_num),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u8BFE\u5802\u6392\u540D"),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Le==null?void 0:Le.course_rank_all_num,"\u4EBA\uFF09"),ma.createElement("img",{src:Zre})),ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"82rem"}},ma.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Le==null?void 0:Le.system_rank_num),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u7CFB\u7EDF\u6392\u540D"),ma.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Le==null?void 0:Le.system_rank_all_num,"\u4EBA\uFF09"),ma.createElement("img",{src:Kre})),ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"104rem",marginRight:"26rem"}},ma.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Le==null?void 0:Le.averageCompletionRate,"%"),ma.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),ma.createElement("img",{src:Jre})),ma.createElement("div",{className:$h.bottomLi,style:{marginTop:"104rem"}},ma.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Le==null?void 0:Le.averageMasteryRate,"%"),ma.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),ma.createElement("img",{src:qre})),ma.createElement("div",{className:$h.echarts},ma.createElement("div",{className:$h.name},"\u5B8C\u6210\u60C5\u51B5"),ma.createElement(nk.Z,{dataSource:Le==null?void 0:Le.completionRate})),ma.createElement("div",{className:$h.echarts},ma.createElement("div",{className:$h.name},"\u638C\u63E1\u60C5\u51B5"),ma.createElement(ioe,{dataSource:Le==null?void 0:Le.masteryRate})))))),z&&ma.createElement("div",{onClick:()=>ne(!1),className:$h.unfold})))))},QE=Je(59301),uoe=Object.defineProperty,pT=Object.getOwnPropertySymbols,mk=Object.prototype.hasOwnProperty,vk=Object.prototype.propertyIsEnumerable,yk=(ee,y,E)=>y in ee?uoe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,coe=(ee,y)=>{for(var E in y||(y={}))mk.call(y,E)&&yk(ee,E,y[E]);if(pT)for(var E of pT(y))vk.call(y,E)&&yk(ee,E,y[E]);return ee},hoe=(ee,y)=>{var E={};for(var z in ee)mk.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&pT)for(var z of pT(ee))y.indexOf(z)<0&&vk.call(ee,z)&&(E[z]=ee[z]);return E},Ak=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const doe=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,tpacti:le,settpacti:de}=y,ge=hoe(y,["pathsDetail","user","globalSetting","loading","dispatch","tpacti","settpacti"]),ve,xe,Se,Me,De,Oe;const Re=(0,xt.useParams)(),[Le,Qe]=(0,Fe.useState)(""),[Xe,Ze]=(0,Fe.useState)([]),[it]=(0,xt.useSearchParams)(),[et,ht]=(0,Fe.useState)([]),[lt,ot]=(0,Fe.useState)(1);(0,Fe.useEffect)(()=>{var Xt,cn,Cn,En,Zn,ti;if((Xt=E==null?void 0:E.detail)!=null&&Xt.nodes&<===1){Ze((cn=E==null?void 0:E.detail)==null?void 0:cn.nodes),Qe((Zn=(En=(Cn=E==null?void 0:E.detail)==null?void 0:Cn.nodes)==null?void 0:En[1])==null?void 0:Zn.uuid);let bn=[...(ti=E==null?void 0:E.detail)==null?void 0:ti.nodes];ht(bn==null?void 0:bn.splice(1)),ot(2)}},[(ve=E==null?void 0:E.detail)==null?void 0:ve.nodes]),(0,Fe.useEffect)(()=>{var Xt,cn,Cn;Qe(le||((Cn=(cn=(Xt=E==null?void 0:E.detail)==null?void 0:Xt.nodes)==null?void 0:cn[1])==null?void 0:Cn.uuid))},[le]);const rt=(...Xt)=>Ak(void 0,[...Xt],function*(cn={}){return yield se({type:"pathsDetail/getKnowledgeGraphs",payload:coe({graphable_type:it.get("type")==="classrooms"?"course":"subject",graphable_id:Re==null?void 0:Re.pathId},cn)})});function Mt(){return Ak(this,null,function*(){var Xt,cn,Cn,En;const Zn=yield rt({graphable_id:Re==null?void 0:Re.pathId});Qe((cn=(Xt=Zn==null?void 0:Zn.nodes)==null?void 0:Xt[1])==null?void 0:cn.uuid),de((En=(Cn=Zn==null?void 0:Zn.nodes)==null?void 0:Cn[1])==null?void 0:En.uuid)})}return QE.createElement("div",{style:{height:"calc(100vh - 72px - 170rem)"}},(Xe==null?void 0:Xe.length)>0&&QE.createElement("div",{className:Ko.content},((xe=Xe==null?void 0:Xe[0])==null?void 0:xe.uuid)===Le&&Le&&QE.createElement(Sre,{onAddSuccess:Mt,setActivated:Qe,subjectId:Re==null?void 0:Re.pathId,settpacti:de}),((Se=Xe==null?void 0:Xe[0])==null?void 0:Se.uuid)!==Le&&Le&&QE.createElement(qie,{tpacti:le,setactivied:()=>{var Xt;Qe((Xt=Xe==null?void 0:Xe[0])==null?void 0:Xt.uuid)},initdata:Mt,Tabsdatas:et,uuid:Le})),(Me=E==null?void 0:E.detail)!=null&&Me.can_managed?QE.createElement(Xre,{isAll:((De=Xe==null?void 0:Xe[0])==null?void 0:De.uuid)===Le,subjectId:Re==null?void 0:Re.pathId,uuid:Le}):QE.createElement(loe,{isAll:((Oe=Xe==null?void 0:Xe[0])==null?void 0:Oe.uuid)===Le,subjectId:Re==null?void 0:Re.pathId,uuid:Le}))};var foe=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(doe),xk={TabsItemActive:"TabsItemActive___UqdaX",TabsItem:"TabsItem___L0dKD"},goe=Je(84105),Nw=Je(59301),poe=Object.defineProperty,moe=Object.defineProperties,voe=Object.getOwnPropertyDescriptors,mT=Object.getOwnPropertySymbols,wk=Object.prototype.hasOwnProperty,Sk=Object.prototype.propertyIsEnumerable,Pk=(ee,y,E)=>y in ee?poe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,yoe=(ee,y)=>{for(var E in y||(y={}))wk.call(y,E)&&Pk(ee,E,y[E]);if(mT)for(var E of mT(y))Sk.call(y,E)&&Pk(ee,E,y[E]);return ee},Aoe=(ee,y)=>moe(ee,voe(y)),xoe=(ee,y)=>{var E={};for(var z in ee)wk.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&mT)for(var z of mT(ee))y.indexOf(z)<0&&Sk.call(ee,z)&&(E[z]=ee[z]);return E};const Ck=({DataProps:ee,isActive:y=!1,onClick:E})=>Nw.createElement("div",{className:`current ${xk.TabsItem} ${y?xk.TabsItemActive:""}`,onClick:E},(ee==null?void 0:ee.name)||""),woe=ee=>{var y=ee,{pathsDetail:E,dispatch:z,activied:ne,setactivied:ie,settpacti:se,tpacti:le,setxxljac:de,xxljac:ge,TabsData:ve=[],tplist:xe=[]}=y,Se=xoe(y,["pathsDetail","dispatch","activied","setactivied","settpacti","tpacti","setxxljac","xxljac","TabsData","tplist"]),Me,De,Oe,Re;const Le=(0,Fe.useRef)(null),[Qe,Xe]=(0,Fe.useState)(0),[Ze,it]=(0,Fe.useState)(!1),et=(0,Fe.useMemo)(()=>(ve==null?void 0:ve.filter(ht=>![1,3,4].includes(ht==null?void 0:ht.key)))||[],[ve]);return(0,Fe.useEffect)(()=>{Le.current&&setTimeout(()=>{const ht=(0,bt.ZR)(Le.current,"rem",1,!0);Xe(ht)},500)},[Le.current,E==null?void 0:E.detail]),Nw.createElement("div",{className:"flex c-white justify-between overflow_hidden",style:{height:Ze?"auto":"40rem",background:"#101C39",borderRadius:"22rem",backdropFilter:"blur(10rem)",fontSize:"16rem",lineHeight:"26rem"}},Nw.createElement("div",{ref:Le,className:"flex flex-wrap",style:{gap:"25rem 40rem"}},(Re=((De=(Me=E==null?void 0:E.detail)==null?void 0:Me.nodes)==null?void 0:De.length)>1?(Oe=E==null?void 0:E.detail)==null?void 0:Oe.nodes.slice(1):[{isNull:!0}])==null?void 0:Re.map((ht,lt)=>{var ot;return Nw.createElement(Ck,{key:ht==null?void 0:ht.uuid,DataProps:ht!=null&&ht.isNull?Aoe(yoe({},ht),{name:((ot=ve==null?void 0:ve.find(rt=>(rt==null?void 0:rt.key)==3))==null?void 0:ot.name)||(ht==null?void 0:ht.name)}):ht,isActive:ht!=null&&ht.isNull?ne==3:ne==3&&(le?(ht==null?void 0:ht.uuid)==le:lt==0),onClick:()=>{se==null||se(ht==null?void 0:ht.uuid),ie==null||ie(3)}})}),et==null?void 0:et.map(ht=>Nw.createElement(Ck,{key:ht==null?void 0:ht.key,DataProps:ht,isActive:ne==(ht==null?void 0:ht.key),onClick:()=>{ie==null||ie(ht==null?void 0:ht.key)}}))),Qe>44&&Nw.createElement("div",{className:"current flex text-nowrap",style:{padding:"7rem 20rem"},onClick:()=>{it(!Ze)}},Nw.createElement("a",null,Ze?"\u6536\u8D77":"\u5C55\u5F00"," ",Nw.createElement(goe.Z,{rotate:Ze?-180:0,rev:void 0}))))};var Soe=(0,xt.connect)(({pathsDetail:ee})=>({pathsDetail:ee}))(woe),Ek=Je(60242),Poe=Je(90356),Coe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUwAAAFACAYAAADXrEUkAAAAAXNSR0IArs4c6QAAIABJREFUeF7svcuPHVme3/f7nXjeV76TyWRndVFsVvUMSz3SmKOR2hqrKQxgQMDAOwrWTqv5F7zworu28sIrA/YABrw2vbDhAQYeWALbM3BDraGm3a3iqKo5NayprMpKJvN5H/E852d9fyci82byUVlsVvUropsVceNGxL333Lif/P6eh6lbuhHoRqAbgW4ELjUCfKmjuoO6EehGoBuBbgSoA2Z3E3Qj0I1ANwKXHIEOmJccqO6wbgS6EehGoANmdw90I9CNQDcClxyBDpiXHKjusG4EuhHoRqADZncPdCPQjUA3ApccgQ6Ylxyo7rBuBLoR6EagA2Z3D3Qj0I1ANwKXHIEOmJccqO6wbgS6EehGoANmdw90I9CNQDcClxyBDpiXHKjusG4EuhHoRqADZncPdCPQjUA3ApccgQ6Ylxyo7rBuBLoR6EagA2Z3D3Qj0I1ANwKXHIEOmJccqO6wbgS6EehGoANmdw90I9CNQDcClxyBDpiXHKjusG4EuhHoRqADZncPfMUjIC+/5+QrfjsvfTfPPPlVv7uveDC6l/u8EeiA+Xkj1D3/mkegA+ZrHtDucl/hCHTA/AoHu3spjEAHzO4++OUdgQ6Yv7zf3S/pO++A+Uv6xXVvm6ib06e7C+ZH4ALMLnjsOgfeq90tz6iSZ3d0Q/tqQ/uVn9UpzK98yH+RX7AD5pfx7XTA/DJG9edzzQ6YP59x/wV91Q6YX8YX0wHzyxjVn881O2D+fMb9q31VOQNhZ/t9tUP/RV/t5XDl7uv7ogP6mo/vgPmaB/QX8nJfMTDfffdzfOPfff4ovWD3ax3Sd7/o1V5wwne/S18KvDpgftEv6Ks9vgPmVzveP59X64B5Ou4dMH8+t+Cvyqt2wPxV+SZf9jk6YHbA/HW4z7+Cz9gB8ysY5C/nJeb8kq/RODxnTs/ZyF/EXL537wukq929/Oi87NB7l7/M+SO/wIl3777YDP9c5Tp3wOsy5/ncr7fzb77qLfBFzuuA+UVG6xfq2A6Y81/HF+BeB8xfqPv4l+vNdMD85fq+5t5tB8wOmPMj0CnMr+Kn3AHzqxjlL+U1LgfMZyLWF2zrL2Jqv+xjXDTDHz6cM8u/84Iz7xB95z4R3fn8AXrZIe0lsL7M8v2LB82f+MyT/uBbt0jwmbBuT3+ZiX6Z94Fj3n2JLf95pntnkl92lF/fcR0wX99YfglXuhwUX/bCPwswn/FFzjkR5/2J9++/xGcJ0r0Ainjqjx4Q3/4SRu5Fl3xw4Ym3b8/5Jb8Aee/cIXmpG2DuyZf6Pn8GYJ7Tlxc/cFd++aXcVR0wv5RhfV0X7YD5ukayvU4HzNc9or9e1+uA+Qv9fXfAfN1fTwfM1z2iv17X64D5c/++f3YoNr6w0+/yuy9xTF7WzH7ZsMAEh0l6aorfIfrgwZlZvvPh2fYtInr4DhHWz1uG8RdIQXod39VPiR7Ro9MrXX3zpjycv+57F1+kefYh0eYf3BKaI+7bb59PM8KYPO8tPmO6v8SWnzffn/Vvnrffv/vd7146oazzd76Om6dr7/Z6RvFnusovFjBf6I+ci7o81/c454j8cD7gQ0TvvGR8Pvo5ABPIbJfJmzc/BzpnOL2R3To99nOV6txnRhzp1jxMO2D+TL+Yn+fJncL8Ekdf5ipsmFnwGOvzL9kB80v8Cp699E+xqwPmVzrmv0Iv1gHzS/wy54H5nJfB2Esbxf7e994lke/Su40dBnPr3Xff5cuaXfPR8OeZ5PeI+C5e7z6ZTz8gvrZD8ukfEF+bixIj++cSGT76UR7MmeC6Y05h/r9/Qmb+8958zofv9YgfPya6/i+J9raJtz/epq03tghrLMubW3K4s81Yv46v6DAkXq5Jr0nbW7Q8fSx0/Tp99PgxrWxcf8FrAKxKWF3+8yv/zL3ovdyej7ZfOAjB99NspSaFafMD4p0dks3NB/obfPDgAf2Lf/GH8v3vv0u3bt2Su3fvyj//5/f4nXfuzr23n8EkR0OU77Uugy5n81XvqQ6YrzpylzivAea5MW79UgDk974HZ6P/ETwHkArUtiv+Rd/j3ZfUCcKs/v7379N3vnOH/Jrozp07dP/+fV2fwu5CPg9M6Xnz+aK5/NbcZwZGeiFxVpNg//b2Y97aui5Y03Wi69ev0+PHj3XdLjvbxN/e8j/aH/xgm994Y4s+bgC5ubklO4BZs8RxwGW5KfErmuw7Ow9oc/Ma7ex8SqurG9K+lq5P3xHgvIV3r3s2t7ZkZ3ubsdYdj/X/z12yvyKht4gmpf88n330iOEPxRqPf//Nm/Leew/pnXe89/bUNfoe0Y27JA/+6AHdvn2bHjz4I3WLXnv7bf+a30fO5x1ZXyfe2yNZX79/OiZ7d+6cB/sF0/68//Nd3FPzf4B1G/fZeX8mXrQD6CV+znpIB8zLjtQrHPcyYLaXe1mAZv4lvygw58+9c0E2vg5gbodn984ZEol2dog3v00COD5vyOLduf3XiOhT0MIfub+3e+GcjVcYdZyye+681fWNM9B8SrTTvq4etXP+2I3N5thtoo+3GpRu0/rmluztbDPWLUyzBv7Pe5NvNiBtn7sIzLPg0YPTzbdv35YP/ugBv/327TkwnmXVfxFgvmTgOmC+4l3VAfNnGLjLnPoyYL73nje3bt26p5CACXbv3j3G+nnXvn+fjFccHjhNRLZVoedOgcL84AP/w8P69m1q1IxXNahYyTKS3m3izKtY+vDhQ0Yse9gopDffvCn/13vbwfL6mUncgnFvj3j9LglMaZwLjXa6bBG90Qq3Cx8Exz3Y8edEe7u8vr4hew0ksf3++w/Nysrq3Oc/A2YYEtc1CdY4v93G+tnx2qWDg33Gtdr1xsYG7e7uEm1sEK667UgiQ1y5HT1/f2+PV9fXpcXnqt2U/WCHs81NaahJrTRd3ySB9PzLPeLl9edHxn/3Cp0z3y8C88N7D/nGjVvy4Yf3GGGlzRs3/Od4QPQ8YI5GI/7w9m233oicPSJZv+9VaPv55xVmey9h3dxfdO/ePb3PmC++505hXub33AHzsqP0iseJiIHvEKffuwcoYsNfDNun+55zfRw2dzjhxwE/WFtl6EEIkw4QPA/E+cu1JYqtefiv//UjpptEN9+6SfTTR/TWPzvzMGLr8WP/fuFfTG7Ct0h0uL/D1zaJsnJTevEOE23S5jWgZfP0pRqRqLvev0+Grpz/UHtPiN65QvTeE78f20+eEF2Z8wEc8lM+OTL6+gdEtKJr/Lfd9mt9fv+AVlZXdK3PN9tYU7MP+xeWVoToKVVW5Mr6Or23t0freA9X1mnvyR6tX1l/7re7B8K9s0d57YQ+I9q4SvS42pBr+kEbrH6Kz79Dqxubsv+jHV5dbdUp0Sag2iww639Sk9y8SfToT/xOjPWjR0TY1wah3nyzFPzRQvklzHR4TP6ouYZuPzhzFavP8+3bApcLFrhf9vbuwff53M/TwBJmuVz0i3cpR88dsufu7Ezyy4/VFz5yHpjtyZftZnb/grvkYjBmPugCYLZLW+/cgvLWLf1hnn3PFyIwYQNIxQDU3xv+Svu7xH//Nsluowh1X2sybxBd3d0glWoKr7Prg5OPAuLV+dGae7BGREdHL3YFjc1rchMdnr2B0eJ5ReUR2yz7gKp/fp+I8FaxxrJg5857QlT+Jsl5a//M9C+rM7N/dYME44c1rlPAdJ9zhm7NqeKzkJKPL735z0ioyWRqwXn6Xi/kMo0vBprmauJflBPa+MXPqfIOmJf/aXfAvPxYfeEjAcx3798/FzFuFeKdO3fk/v37jDUu3G5jjccf3LnDiM6ofPxPrr4/JFUdqLvW4+/de2i8SfeQ35lTaR99FDOUykfxLW4V5PZjYvxI4Xfcuu7P133XSfZ+4CPaUET/4T+QWf37/vlHD3fNP/0vN9zDH+/q81c3Nuj9v3rIqsggyt6DOlynJ3t7dHLIvLC8JieHT/nm8poAmNHRAUPdnRwdsFKoWaLjI56MDQ9HizIZH/Nw5CPUk/EREy3RLDz29+TiItHxsV8TUd+SzAJirPF4Njnm/nBRsH7+F3N2fn9IMrQkk4AY60M6pOmYeTASocNlGo5IAM3HR8TXl0gAzPHRAX9ttOLwmXD9VVqjT5f3ZF0/PDXq1K+x9Ea33OH+Li+vbghAifG7eWvD7e/ucLZhZS7SROtFLW2ALNvyn393+zFvZNeF3nrkA/Nv3aQ3y4fyHv7iEdENIkFQ7kbWuFA+fMjrd2+5Dx74KLsu80n1f3hb6P599d1guUMk+CN8h9RV0AHz+TfN5+7tgPm5Q/TqBwCY9+l8is1l03a0KcVtTd/R5Q+bbexr1eNHH3k19tZbp78xte7we4Ol3Zp8rZmtF5qP0EBNPfDvb3+fePVbJPutwtsg+nsQUI2KxGa4t8dqzRLR4cG6vjYUI5ZzqvEtAGdOKS6fjWF4DDCeLUu0dPpgMqcuW1ZijeUCP5/5Us4d33C23VePzgPiiI5Ozx+6pfM+0DllSodEo+ZcJBj9zhLJ+82ZN1dI3qM9j889ovLW+nn12YjP1XWSh/B1Vmfv4e+unvdvtm8GIvTOdRJNZnpECMLTnzQS9OZb3py/edPnkMLH/B49pBu3fDK9/m1t1nq//KFWYrW8nB+vDpiv/pN+TebPz/AGfiVPbRLWv/ef8jW+ewGY85/3Yi7jedP6ISMf76EGY3x/sY8ePeI3b/rKlBeVGj6CKf+IqI1iJzvEbzRmNs57eEDmeC7Cvd648E4OiAGBw4Pmnlgl+vRHZGgOdtOxfw6IO7ru11hmY+JGCOrjcHL+vpp/nM2IafTst57NJnrt3sZQsumE84w47ZHk2ZSJBpT2hpJnE8b65ffMxD89GeI/1OsP5fTa/WfPrQYkdHJ2xYPhGdh6cyZ5OSKJt4nLuec3igZ8B0QLN0jo6dl1Rjf9c+sbJHs/Jq7mg0PIDGgWeEOzxnSHCm0DSnt72/zbv73lWv/mzZs35U/mvn89fa6m82Xm+4Uc0WeBOT+gz0ioLiD00uH5lQTYV/2hGmDevXfP/Dd373qTvDWvW8lItwnm9Bn62py9c5XNp+9cTWytULlJu9vEv7f1SLa3b/JppqDmOz6m63Sd/h1Mbw3tbhFMwrPQDNGH49CMI2ZaW6Pphwf85j9YkVYNxsdnoFumQ9oOlnmpVWNLSzTbPmZIvWxCfHV4LLNgken4hBYAzeDME5YDitdGROOxSrRwSkyTCdHQQ8wvQxrShCa6JsqzXabhgNI+ST7zkCSaNsdiuz0XayXi3D5/vdNrty+BaHqPJMymjF1pb3AG29GQaOxf//RyRFT1SWiMPWOiyYjS3tifMxpRZU+EFheUr+nBsbx1bdEdHnpJOqzl7NoHRNU/WBF6/ylhnOELVdP9yjot1rty/L7hxcV18elPG1SuAtI79Clt0rfKbfFZoT49dH29bq57nR7POUI3tmrZ/fOQNzb8863iPL2f3sN9pJX8dONGdvrePvzwQ3f37t1zEfxzjOyA+VJadCb5lwHTBpj/K5G50Zi8rXndqkhwE9Uu7zX5Jq0fsnFZweyGqNQ1lo9ueeWI8OruY+J/eZ3k/mPiUwu72cDqB1CZ20RvbBH96AFxvE989SrR++8Tl79PZnpEjJ/58jLRsm749bYhXmqs1aUlok/nlCMs42hCDFjkE+JrC0R7U2KIxRCAbDmm8CMG6sKAeDohWlknCQ3xdEo0APsGRNi+MiB6gn3Y1ewLh4Al0XRGNOgPdK1LH1Ru1v4SilOsn7dM96Z6zb0p0TJA2VxfX3/uXETqsSSNmjzIiGNLArZXx36NBcBdXCenLIVbAmlJJbk3FrwiXXRnyhQ+0BrXWyXaf59ooWnSsbcHAHr/L7a/+U2Szz4jenS8xze/6eTHnxH917c2HBLrkZ2ANKyiaK573Wcu0HUfPfq969flz+8/5t9rfKA3b9K5JiLv3SPCPYX768YNkrn7D7DsgPmKv/sOmK84cC89bQ6Ydy+Y5POdyFs44lqPHj1imF1YP+/a22HIezuhz3uEif0xUWtq7+4GvLGxKbu7O369daYUkQVjdon39/cY0Zr30sPg6dR41btIFH/CjPXV4YI8no3NqLGX8+mY16+OBGv/fkZ0nE9M0pi16f7UQLGpyTwgKhr/Y5kxxz2RpDeQ8cHMLPf6UjAxeKdLn6jMn3UFlXnGcdqTydGBf2892Ko9KouMddv/58KSEWV+V7zUk/Io4zjpCa5z+gSeS3vSXr/M97llsJ436QkexylJmc94uLzmWmU7mxKVB801ewOpexNpP38xm3A/H9oeVKcGpUQGQ68y8Tdnc7jk/vb4kIf1soJzPuK+3MB5dZUEGvN9/W72aHF1Vej/O/uI5aqTVQSMmkWV52mZ0sdE282NQES//dvrCkHcQ1ifs1MeEn300SOGCn3yhNydO2TnB7JTmM+5tV6wqwPm5cfqxUfONdnAQXNONvPwIQXzJ7aBGuxDsOZseUTnTGw8MRegweZOA0yA8kc/CniztbWvIeVnk1sTL4aPEkrGW4E+qr1HdMjEexMK9mcI9JwQLSzQk59MAqhDNZCHE4qCYXNPTGjJYNubxaUZcJghYtz3Yq/vtwAZ7PDA8SAMGea5Ek9BF7SABCwPiasibyCYUlAgCJRCl8LQPTfGlckv3J/nn/fnNEt+do0oTuX05XHlXn7KzzzPKYwBNv96UZJJnKTSvt9aAFss+xSnWzKbzfSz4dMeHfjPH6d9vz/o2yvh2EJ1XrHH0rpCe0Mn/f2vi6LzaImGb5AggNQuvTe8wlteIYHAPfmAeGF5T/BFlfXu6e1TrjvRSqhmUXjOAXNbc8CaHdtvNOa7v2kydEdqLBJda+SdqLdN9iIw5wf9WYu882G+dHxeBz9+7a7xEmASeWC2Jvaf/Emjrt7yUVDNYG5W8ya2Wl8ww5rBRHT9B9vE+IlsbfnmFz6J2ueP782VHML8xQ8xagI4y98kCZ4SP10j+vQhRYfLZPAjx+kfzMi0HkJcCudiDUwuMp2qsZCJAUfAMsyZT1Z6ojmVGSkwK7xWYzYHhrjXa3DZIwqOiBVPqcdUVRC3jAzYQ/EMdx6K/vj8FIn++fQCUueBOX/Xpaf4xRGAZHt9XCVKUtHr50R5mlOYpNIyNXJeJXqcZjRxPYlSEuB/P+vpR8TjkwnJGxHZYezVWn0I/yYRHRNVQ5Fbo0WkKRFcGyNHAlcnXCCHHxJVTWoXEuwPVolGdkVWkVy/siaw1VdW1+UzpDJtkOw0OfL421hukmgVlS7b9PFcHTy4iXr89tm/uu5r/NvmTO12B8yfjU6dwvzZxs+f/QJg3r9/P9ja2jqnMLe3G7N667qE4WO+ft3n4T1+/JghKU8bULyxRSjNW0VpHkzGnR2+vbkpOzuotPGURFmhlhca4jZ5/OSQ+OY/Jvno0YFZuLki4cEBrx4QLd1cEXNwwP/b05UYJYEwKaErx8VUTeC4N5DITDle84GRkqe88HTApZkxzNklNWvbwE6PykHWvI+emtihyRkgqjjnoA0eKftS6qVEJSDZLumZlmyRGBQFR8miqPoElJJUsurYhHGi76cuCw7jRcFawR6LbrfPz4vN9mVwjUmRc1IUFMWJTJprzGGWIoF6BDn9WUcAqKRSFzn3oiVXFYf6ejZJZWFKUqcw+UnNeHNC7uuLVOP5MX1AqRtIPvU+2JXy6pmf8AQ+Wg9i+IKvXnOuXlqW8d8ccrW4rDmgJ399wG/eWHF/+RcHZrTgBHmtMAu+uexNbXzXv/VbG+5B8/1v2E35Ee4P21QXqdBsmohsbsm/2/kB//a3v+22cV89xh/ZpjEKXa87hfnqP/oOmK88dp/fx/L+fQq2tijY1ppr1Yx0vXHae3v7Me3sXD/9DubTfy6+rV31Q3roIIBzcEB8pSk/PDwkXmsSIpEP+Y1vkGhe5ArR8RHx+G+JaemIkPP4fyxN00hN5j5V+YwXdNsvYd7jCvXVCrecoqX0FGBpmlKtatDTbnUOivUJccUeZAo3TnQ7aR4XKbYLqsuEscYT2KZmX3ueqQqmeP6Tt1f4/C+pnDskjEnwMroUREWC/5RU6MXHNIhjwdN6XJ7QKXR1DBqPSl6QXUgkB+JyonphUU1sm/i8zTAj+VpG1ZWIbK9P8vQJMgEQiffn5+ve7IaS33AkJwqzBfV1zj4dc7+GGjymwWBR6tGhnjNaFDnYXzmrPHqKos6zXKWt0ZpDmaZfdrULU1umCSGKEs3TYThryaSvvL75WHDPfbD/wO788e1zPsz52SmfNckvjv2vt4neAfPzf4svOOISwCQKth41wPR8pOtN5nq4vc311pbsP9hRhYcb/vY137zHL5u0b3Z51fmSu/094qvzUNgkVr9k4CGq5nGzHQJmN3zk+8QQHy0RrZ4cs11YlB8ez3pHFQdV2pMoz7jiRvllRGEf8PQmcdprzeKzF4VZjkdVTjx8Akg2jTDKgusecWsHKzDBRQUjsY1JgoSYSiJdw09RlWyjWGRa6ucH8IYJUVaV/nkXizXEWD/3CwBLQb2GqWW7jTVeB/mSzb6yKPX1sigWIDOmgrIY2yVZGUkIldkcGx6duaALKihA4npBFMUkkziRMPHP24Rks6Zqq6S6N5gD5hWflmQRNUcKwRjZVWNKr/p8z/qayMLHSMQ6odouyCIdU70l+AOnea171itRDRbRAf4wEhQn9l0frblTXgKQc7mdO9r1aUdvIK1t393h1XJT4Ob0CWbbVGxtyYjI/vG754M+HTAvD4EOmJcfqwtHXg6Y1x9TqDXazW37RuOEggCAP/JHu8Hpd7B52sGCKDKG8eNoIXmwb3i+n0UQoNLmKR0dren5q6taSchIEQpOAMkjuk5LtD0+5uNFoq835uBDiVIAsw1yVGNsY8kpTZeIlrxtCm/hmHNWr2FKBAjD54ftoCTOk4KCViVywQBjO0AAZqKasqCAE+4LSa0KNCHLJQNaAKTqvelZJVRt/HNYzo45JznnvoP5q/jrtUvoSEoqKSYgsaSynJxerxfFYiNACcqyEET/FZgNMcMc+/AooaQ4oTBKTtXoE5wDYOZE0ziXN4dptVhN1SSvdz1I054IlGaeDRlRdQTTajuRXh/5nEOqBiey8MkCHfRFFgDQgUi1JdKmu6JJCK6DeoGqFkHJ6HDkgfnmaNE1WVBET9Zp5Td3hVDTj36c+l9fXoR2dg9/8mO+tfpbsqP5nUTf2rCa33lja6vugPnKP/qu0ufVh+7FwESndFz3D/7gD4Ky3Ag1IbJZ5opu/C3eBGv2I+JvrZP6I7EfPwOfCuSXQwXk2bLRqMkWknhmfEKMIMNke67yZpEIQRg8P5kQ/9sR9crSB6IQWB60KhFABBvTJijj8y19ik/iIamiLoFhSZQxGUAKIqpur1H515HqfDloPMe8MiZKm+OqmMggqb153lYlR3Of0c6ebXXbghaHzW+7fnSqRIPoTCWWJeBbUln5C1dUURD6Y3F+oLBs3kBFlPTJgZ0uJqknXu3a5nplFDt9zcKb8ytE5ddz0itHNTn4NZPGJEeeaWuew2SfjM+y6eNqqOY6ouqoc0fyv0bYT4jWv+lcC0+UcFYWPu5DGi4uC/30gBYW0H3JNwj5hzfJte0/FJhz5Zj7PyFG2lI7nBtNNdHWFtXvdgpz/qf0hbY7hXn54To3VjJX2HHxEi0wb926FW5tfTuYB2bbQHc/2uXVakOirbZpLhB5Vrw9PnrfoOXDSeBrryOzeu71tWJxmWj8EbMvUVyi3d0TM7i2INMJ8Wx5zFfdSIpwbDLDjPxrlCX++4WwT4YNFCEAGC2QeJ8l0oGIAUbwo5747bpiPY7imMZ1aVShIQo+ILENKA2VHHDJgcQCBVlXsSpFW1UcRAOR48oQRcolOyOFoo0rDiQSrBVkVaT7lsLI5RWxhcFfEen6eQswhQs1IOS072xdcRCS+POIAcMoIhpn/hopQInnUM3TSNKkJ65sLhJEkUynFQX9SADaIIqFSmhUoiSKXXFUmiSIFXZJSG5AVMKPieypg5UDGiWpK/IMPUbpa8FqXZgpLyUD9/SpH18AFIn80Rq5vemEUzeUfPYZp1Yktb5ss+4fS9+OZBaMeXljy05Ojni44G+2tqrIbxO988aC229cnNdvrrmDv9rjlZV19EyVPz/cMzeW1x3cOjp8DUztJ+P6hz+82YyaH9h5k/ziUHfd2c+PSAfMLxmYN278XkjXNgmm0Sb8khe6il9tmluEZoNrtytY6w/i4H0Og3U+0M6QRFfMTUaXnWVaViU5evNQguNlNb3Dj5mDySKfLJ7QG7RAO6oox4Qk9JkZc2D8bf88YEI9WsAzSTQS3YeZHRNNq4JHcUKzqlRgGo4545KHFCMs7E3nVhkycT2dckwRAT6AlaljVg0XxRTMIqbYE85SpcDM6wYigJfCNWKov4QjD1CqyNSk+/QPBkW6D+v2+XYfHgdhX849X82ac2bkpO/NZcBU4VyRiSKFZtAvpdKXiCkIS6HpgKBQKyopCGPJIpj3RLECtkQWpj5ObANMYD0j2ksyWUx7kmWZZp9u1D03pRmt9PqCBPgpTWmlN5DpdErFqjitvMQlJxNa7wOIMNfh5zyh/nAk0Jx9uyXV6EjN9TcWluQnf/uYt0YIPhF9SIf0neEN934TFLq5siboHHWF1uGekf9nf4+/qelJDSk7YF7+l/6SIztgXn4YX0Fh3g1v3FhWYLZLtHfeDbLRABNdglbdWbeg4OApHwW+me74mHl52YNSrwNX49wa+2Fu+0ZoRPNdf4qMTNCY70cHZD7cpF7WJ2PHXmHWCz4YA9u6PyY2E+Jk5BXmLCUOJsR1Y9LHYJWPmlAAs7rZLvZKY+IzLVJllVGwNQrQAIJQdjVx2pQSWuRvYsGbroigBAFalFViWzkZVc36TEk2vDzbrwDE+QBqs2CHp6DvU+U0AAAgAElEQVQeB/WJddADCInw2mqKR0QurETN9eY1416kx2JxAGxITj/nBIrTK1Nl55ToazUVV2Hvw5qOyGmCe1N8tLBETks58Xp4rWljrk+J4IdMm2qfVP2bXkHawUjo5BOqhyOvNu2CDBB00nLVIzpC9K6x16vRkny9PpBaGyT7JHgEAbEAmH+1T7wyZ5K33PzkE6p/+MOzocLxncJsb5zPX3fA/Pwx8ke8ODn9mSucmeR3Q8VL2xII6R1N5AbJyQf7e/ybq2jCQPTo6KlZXlmTj459aWBkmMO/PebTlkBwTja/F/RyRBBnMmHtErQzYYZ6HI6gIpmvbIjMoCrHRMECqcLsuYE8PpmFH64GaVVTUFSlgckZHHEAIPSRalOXBqY3+FCXJcdxTPArAnRRU4NtK6jHii3HHJA3m3OGmR2dms8R9QnmsaeQJiyqSY7B0AhJFFISRlLllUnSSHB9V1dswkiw1nMi+FLzc71EX/ZVRSY9Vx9dNQAE9ExdM0voLNcKSheGYuuag1DEll59wpS3WcUAqLoK8D6CyLU2P8z0fFIK1jDpgwnJcinVZq0xIeoHqS2Q8+lSiRMSWAax6wlKO+NExDmRBECdEZ2kPVlMBg5lpcurAwf/Jrajtb4LdqdsAdARUXXkpL4GiPrSS2Q4DZomH2DocHQgpwVEh0TDyqc8LSw42V9DOaZI076TVnbW5SDc4+yj9eoLAfPioD8zTfRlf0C/Gsd1wLzs9/hFgNl0S79FFNJDis9NgjD34ITPOpOv0VP68Ulg0CXIL8sUAnpHRNMJ89f+7qJMPvbdgqDKivfJIPqCoMvMEKMl2hAdeGhC5T77KSKmRMMrMKeh5ga0e5gFH4RmUBg28DXaKuZ0GnPjXqQsKRWE3v9InNbwJTZpQFSxKkWVg0SSk1GFBrBEUE99gc8SnJrlmYHiwwI11+v3yNW1D6Do2ACdzd+hwgeInMXzIZmgFmfPVHgIwuLwlrZnp3r46n/aJSSqfZS/DrFdk0lCqWvIbJQ8VhRQJC6Aae4N+ERm4pogEPbV4YJCEvAuspn+QcB2jY+dRg7mfBssWrFFfiWKFJhRJhK5VCj3r1+NyFHWlIZGqYvTTJJUBHuSSV/sXHDIB4pgtBMtVeLQQwn/7/UHUkGJIplzNKK4PHZtQ2Uoz0+30US5SUN6KlJdXxadnkO7JTkhNO8EOFdEaM/Xx2bxevXDm+cVZjNx6ekovjzNqMvDvCwyfr2Pe0Vgrj+kGOxqG+8+eQEwN44O+C8N8/pJ00F8aYnCsTdzAcyN31xw2acnxg4XtAQvfp/MeIHoa3gepZDG52miDeT4YwoCM+Mp9WlkZrzyBipT+jQpsuDhQTCcBRS0kesWkMhThLqUDAEaoiqKqJ9VBmssgO7UNtHvqKJ+Tsb1IpG8Mlq3HdXqcwzCUGY5G+wCy7APOZ1lTewZFpIFEEPPQIf9OM7W7IJQdN34N5k9ZLFIEArbmrFu97UsVeASiWcq/oclJIAxrEOqw5qgKgFf7KtrfwT+G1ekADW2YieRuLTSwJCa43VI2GdCUj9nEFaNvzMiU85kMQ6zb7isQO26k0SSPKcZ6tih/mzu8KcvzYjckohFeeXMz1W0VvUs4KhBoClRkaM5yYxOUpFrlTiPTpjtA1G1OUbbuZH07YnU+P4RVBqRPNw+5msNMGu7JJiKQz3eOtfGAVV2RXzneyeVXZPo8CmfbKyVHTBfHWWdwrzs2L0CMH/30aOo2l2K2xkaTkKjN+9J45vEhF7zc99sT2C6+mUaLKtPErAEIDUdCfk8zeonf2OCtqPaEBOUtQnoQyL7gQlQ9Jzjh4ji5zWiImMeB2QenQSjIqrCngZAIiot62sajUwTB811gMmpIaNdhmAeQ40hYh16yEleGxxTWJxXcxI1kXaoyBpKNKQ6asShrU0denia1AMPKhKAgznu8eb3zX8dpa31mBZuc+Ly3Lem4FPV6BeAF/taoAryQPEaAGZYC9SuaXukmNS1xwGkJhABfHGdvKrJSKjAzCqihVHoPDhJColkwZbZus1VYS5HiSua6iLk4+efFWTR5CMncgskUSLq30SJ5ZXxzNmkJ2lTYnmYE6v/c0Y0XHS2bRmqKnSielMV58Kbfau1lbqc0MmJT4Dvw/d5jKohJ6PRoprpWjXUHgqANg8mk1l1j7bKd+7O9Yh599xwnvNpPgOIziQ/P1jdo3YEzvIsseclWUT07rvnf+jtXOOPHlG0a5/6WPLqGtH+U1rDGsv+U/o4CsykUZRLS0s6z8xi07o8+GSbh7e2ZPLJNqOrUPGIje+8NqJgNuHJW0MKnky0tVpcsAmyAQOQAGWKAADNKDd9Hh5kXJVk0HxzUuXm4YIZoaS6DbIUBJ8kMYIkJo5O8yCDiNR3CTNcVWDkgafbIVHlyGCNxRBxCzvHNYeYCzfPmdoDytpQmKqJ7MKQA6AMlEpDckXtj1MQ+3OxhHVNM8C7to0Bj9RRVPTp2acmOkCMJUa9TrvYmggcU0mbEweLjoJaT68b5amHQmma0OmbqWsK0JQDyadhKDDpUwf2hhoowjKrfLNeAz+oVNI3YX69dr7BXJVYVAMpM4uCloeJK5Jc8+Hzo2MajBYdHeZkF1PJeynZaaYdleJpJmGdOnxvyYRkb22mfT8TJxKurLu1TyfigTkke2VHaOz/TPauktSHIxl8zYOvXtByWL8cQeGi3BLdPg5pNBKpv7EiuOeqZK3a+3fnTfKH8/BEEOjCnD+n40pEv+4TpnUKc/5uOLf9moC5dFYdjTLFG47kqIk6h0eHPG5SfqbjE15c/DpNJydecUFZLpxQNsWEYUTZdKRrLAjwwOSGasTjwAy43+/T8VFmltOezNZ8v130oayPyJiCuDQ5ox78z2S6XAUcJkLap7IXReqH1IBLngVh03cS4Eu4x5ZqNmpCe6jptuZs1kbNXq5ZprUJm231Q4beH6lLCMThOH+eh2vdlhdRhuxP/VDWmCCQIKnJlf5zeb/m85ezYmi/FZq+c7Zg6iUOYDRFwS4JzgBnLeP6tbX443cKV1PX4oJEWodoHYcOQIS6TfqpBUhVgQahm9Y5Q3FCYbqKJKkl+1pd5HBqxmlkkbOpNeoulsVlspMy5/4wcXmRUuRyVZsICE2TVOKm4TBKKK1k2q9zFKea/A5gQnFaNxWAUw30CbrHjwVmejsiYTLQQBf8mDDVZ5+c8PrmggM330CHpPbAQ6S+++T3yR5VD/+UKkxp0T7dAfOFEHjmiQ6YXzIw9+lA875hESHyPXIigKTPp3zMYbCs38HOZMxbi1v02cQ37F1YACQnOv+NJp2bkSafXwRmnjMP+n0y6ECUs7ZfO1onXqEeZb2MouOeCZ+QQRuzqGbz5ytmYRZQGPlcHEoidB0KNa1HcjZRTgY+RkBilEZqcsP0hvIbc21SwM8Sm6hmzkOGfxAQTWHuNlCUyJ66FhzB9A70OWjEyiLcRBwVIWBMQaMoKwJEw1ZEfu4dfK57hBee/tzGgxlJIpYKMkkiPCvYkiUTx+LEnprcOFpy78M8jSD1E6dKGL5SrAV18KEYCsVJLgAmXmNaiYzqXrZWTfJQkK851przMIplICQLPWcBT6jOtEBtue+6hAqiAyEZQc1mOcUuFZtkmr+56HrejM4AVpHYzSSMnUJRfZ52LHU7zcaEKFwfOI2gD8X34jz227Dab9lFeUy+4QoU597oUHDPHZZUdsD83NvrhQd0wHzR0HwRn+UFk/wWppNACtE6RVu/5RUmgpfhKjH6IWK6V2QIoSJnJfCKUpc3Giclfv9MvDD2AR0Iy6cBmeCp726OiHcZzAx0ZOunhK8y7xOrn2zXlz6iJ+UY5nhT8vhkh8JHizTKehQhvUbTg1ytxzqCv7BHhkNVgEkSSmVrE0aNUrS1EQR9oDIR6a7DU4tbXG3qJtqtn8NZQ0lADKWIqyeBwixMiMoZsbGWA7+LovCslh4gdqWduyfnOuM9J0p+9tVZXwremN0uDlGI5RWU9ZDSTQsfZSho6YZtOCMLOB5b+kaBMxSIQRCo8XtSHDo4WusgJDfJRZLG9BdyQxtm1yqaae16OYHApDAiCSPMFxqD11QmBW2EC86Jr1F3cSLT2ZGgRh8BdcTZgoXUKSQdyQTKM9PGJVI7ktROvcJsptHQWvVmKdd8iSWqrk4+8TsxDTHg+VaPVGnqckQ0+rpvYlxuUPmn/3OnMM/unS+21QHzReP1EmC+yGfZXurevcanubUd39gYxOMTb2IilfKTbZ87iQUBnXBu8rARQt7Nsp+xGY6JMsyljXs+zEzQmOCwt4f5GhcG6rBHvVVEsTGVQ4/GR7npH6eM/pOoCy97OY97zCNJZOeoiD4dJQu5oQBmeIRf934Oa9oHYYYejlCDUI1VURtNSQqRTGo5rBNyCA2FAQmTUaWJAIsjQ7YwSOGRWW20gxDM4ia9iqrQ70OJkCMOQEssAaEgnfGcK0uFKHY6a5lsQC4sdX3as74FG84zgbjKMtZ4MYvXAxitPiLIO45jfVy3ASG8flAL90LnypqdIYnqEMnpp2Z6Vdd6jro148AZ8VNEQIWKBOLQfKOGtRDakcuya1Uw03QkF7kwjwUlQQAnFCeUJ1KQ0oDcUihOFaeIFMdeeQKoZpA4t+gbeqAD0nAs6hSFSX6Aru5OtPcmzPRR1HPt3EOYHuS4N5HeYCgA5pPPxpxaJLyPfUu5uQ7wKLW82lt04+CIk2yp+NPPMcnn04wuJrV3PswvBthfn6NfCzApvrFBsa/QOSIEdj7ZPn4uMOGXvPIWoYxO4QoTHMEdGvhZFY+KqQITKSgemH3WeXTQ0dwQm8ZHWRbeVwlgmjLnqpcy2qyVJwUf2yT46UK1VBxzVNUV8scpRlAHgRpKyUWwyeFTDAmJ3SFA2KhPY5kjpPyg8zpYZAcMeAaNuQ2ucZMuFJRWlSgWscRBv4EgBRTMgdQ5yy6w7Fzj3wQoT+kIM37+8YVb75xNDuABbCBuCSIr3LAtFAte1OljpCeRMKCIBUmhEanP05lQoCTJIpUIirQmkUQqKEOLPNPAZYGVIA4cDkOUfZGrbK0OlWd1XjokvONvEIDpHPm2cQiUBOJMWLiSEho4xNdFWtVrhonzr6dZDbQciFVgSk+y2T4dH7EmvuNFvm5WLWbB1Pc+ISreJC2xBDDRQo7GI0r7Y/HAhJkOrYkenAsyGB4JKh8mdqd88Meb5ct8mB0wX4y5TmG+aGxeEZhQl+1EZ5u3KX57i+K2Wgdm+CeYiREBmWxsTsYjWl4aM6pz8DaQHnS2DGl8OA0wmZjqruFUgzwAZq9PFBz0GX5LALOuyJTGK0ospkeqMLXDUIoACGZsLMxJmAQfxPWyI4oc0mW4RpI6w2epaT1RyKooA+1wbiJOuLCFAYgCHFDOjAkSATQjChWeGgRKAERE1JuAEExrhR+CJQHVzhqoSgVjIxgBUgWN8f5OgBTPSQkIw3QNBOpTuXiuZz1Ma6LWpFfoIZiTlYy156ClyDRmOHyXpifYp0sJNVqisYbjynKdBNab3032pum7ujlW6losBgewjUOnCjMm9YEmjtywoOxK4JMmZ650MM1RPglgQlW2wMzyQkwYq8JEI+P1pZGdlCfcHy44RNRtnEvkEnFJKtF+Li4RCeKeKw8PGD5NABOnrhWrp38mAE6kHdXNtMA16tBByjHpVMWY4rjflFwiIKR9N0eLMkqo/OP3qaTv++EAOC8GfTpgdsB88Qice+bze1zi8HdbU7M591ZrgjeP7971Gz/YptgeHqeaS4k5x94g+myHeWHkW3t9bcFX6eDYbMocZKil9vBc2Jzx9j7zepOFlOyaACZ32bRhy78GELL2v+wfEQOKaoKXBe+b1EzGhTbUAFSdKU2cxLQbJOF2WS9LTKErfHqQCUNGsjgybJKI0MXIqKnsCDzhKPTBGoIJToFuC1sWFM80DYIZ2SZtwMdaDsOAHerX4WEDDgUmu9Zik8uJxdlTcNbOKTB1HwWIJqGOkIPAUGWrUzO9ySg68zfiJL2+Z4gEaNnmILXV/1hWlqIokNICmF5lWkhjmNbGm9m6XQd6PK4SUiCZLTVtiGM8R+KPFwVnEAUOayW2jet+KNloUmZhHNphQa6tGCpBTEMWq14o4uDXRHBpgLUgr9NZJ+ikJC4WsVkqyN3UpsOUE8CJWYkm+yJx7EstUTS0tiG2nXYYvsyDjzNOEszQiW5HvnqoNxBNQxp/OtEyMAjP1DrZ6I/k5ATzNC0UP4ipuIVJ0trl3tmP4O5dknfn8jKfMcnnfy+/hjmZncJ8zcCEuvzOd/xFUc32tKRUG0w0CeefGWLtJzn1td+jEZGa4UOi8iMy7UTbgZnySYGKGd/BISoHWlGjvkns+FqPDHIdeymZI+J6nBs1xcuCd0xhKuOng4jqxKQJpoMoaW8QR9tFvVwEFCHaqwFqrg1UorM+2BO4UIEJhRhyYGA2KzDjgCxb05rgrdntlaVFJFzvpcr7KH2UHGZ6RSwgb/NHRlWpmuC+9Ns0lUTN4eQcasn96YIGH8G5EvG5b8uQtS2RiaRRlMYgHae9GtRkQMZYrzBtQBJYceIb8qoWNTrtmZrzHFhhFzhAEmCEfzSIyZvMNqCyQCv1gIwEUhtyoyCYrp/ILByQjR05abohIaBW1spgbU7s4MssS60egsnOVpxCFGo1SyTKSODTRGf6KIbChE8zJ4sIuhMFpl4rkdOGHnXaF3r6lCymFJ4SLa6Is5gCeTwhQHNvl/msaTFJXyd3W0D6Q/GD36KC7vsRUHB2wDxHgZc96ID5JQKzLHcTGW0k88B8nGHub6LDYmbWrgxEU4aYeH0wlJ2Pp8FqY4IfFTPjU4UyLgvmoemp+V2gkQYsy37qG/7iWpMiMOOEDSYISxKqTMFZXZpwGAtlVeBsbBCrP4g4Ok55qQ40L1yDMpmEam07stq9KIDCRBAIAsxAbDXqMQggmUwQBhqMJkNGfZbAjrOGMbWvLxRn68hEQSy4ZgMilsZPyVCPkF+1M2FopKwduimpMsQx56xvAzN+Pmp+9mUpExuWOpTnVBWLwdv1ZZIK4zYglDdwNiQI9EDEQiTqe6+da88DKGsJJLA+iBRE1gUROcF1LNGstApLVZ0sdlgH041SprEhh8r0OI2cNvBAKlIV1Qj4wJBHyzsOIqcR9BDKFTAtyQxiV8LUKOCHTFyeF7R4TSyAWR7n7DAZ29R/FpjlqkA15YjEpiL0dEZ1UyF0ZXPNTmlCvq/mhJ7uTbmNqNdNeWXaH0o9y4uHd9bzDpiXZuS5AztgXhKY85HxtpKnPfU0Ko7pdNeJv9PM21P+eDeZxhtpBAUJ22g0osx8pmOeB76pL7KEcsM8GAzo+IANciqxVEf7Jhj0GQ0cNIAz6Deg9JDqo+nvkp8q9smMwyxITFwUNE0THsxKU6M2fBiTy0qDXpYA5jFz/DTkxTq0sW2i0ZEDATVIodHrsIKK9MC0jNZwTfAFlT3o9xME3kyurGEUUmpheMBWclWfoLARKEzYm5ZNhBB1xaxmeOAVZwNPHOzgCcVJ2lU4IJjjGlHRzsWJglAH5KzQx5vlPj3Rv1GOpAJ0wXeIUzyFnm1KfCcKY4WoU/vaA9XB76q595qjSYjMGDEWatSb9rVYkFUAZPXjinUw7xExRz5nImayWdHUzEiqWGzQ5HO6oBIuIofOR3iLgGU0i2ygjYsnNLMEEIuLRNIgdjDXo2GivTCrYeL8LJYFmeGCcwe5XiNaFJlMfZ26N9EzGkapw/zoCtFlkkBzNnFHTak+FoHVgubEbWklIuvZSVF8/F+tZS8F5txv4mLVzzlgdCb5q1H3V+asuUDPmYPHf7qXAnPOp/mQiBuLnMpdSqY1KTB9HyGixcZniVkGFwI/JWsB3+XIz+RYDj0QrzDxkzIzqDcv1FeZ6jwv6HCE59f2yIwNMZfEh30ymDPHcML1tEQaUABIAprxMNafEAIye0Tx39h6VQKO8KOPkJQO6OFHba0CkmsbICDDcSDIp2xTgKwLTID8yibtKCRigarEtR0ZdoGCDmlD8HECmYCwqsbArxFJjyz8ld5PCzWKJHaFtY4y7GoA1BvlCNKbRka2xjfWmr/pgLV2Cci6ikITiUWnIYOUUd9ySeVkqFlQACXehPiIuo+Ym9qjF65QhysmENsWeUMOPs9KYnhZBQxnY9HgQ9T8F3KhpdliKdOoJCcxWVeKgPswvWNAEU07ENhylRtRWGtDD7TDC0nyAgF8tPyM7WqPLKb+GGYke0XRzGYJ/7K4wcjLY/RAqh2S3TEFsQ8CrYY9r5PRMs7NJFkVmT6ZEXyatb0i6LVJw6Hed+uONHqe5VR8/I/pdQHz4k//4s/mVwYN7QfpFOb8V/olALM8HveCqQcEeh4OhgPKsxnbtSuSHOx5Z92gT9FhZsZbaxIfZT5qjLLGqu0H2aOqn2qy+wnnqA3nzZJ5DH9gSXxAmiLJaKChDS5GMZuqRK8fNsyYwxET5LINo/CDslhzCUWRQTSi5phDA5GmEs6VBmAE9BAkSSnQ1CFBxJuR8piSVMhG1xCPgWntuEJ2uq85V/8jIjuVMRr2RsddxwpRWN2EnB5vpgOgiATh9fTzYlsj6GdGuTfH/eN5YLZfmVOJCIUZCJJCTwGqOT1NSg8COiZSVanC2FV4t3qoniHGQXUyBRJQRUUDR4Pe8Zw6/bNBmnCqapOFBKAlE7heXk+WnEwRJDIc1mj9htQieCz6QeVqEzoNqFmBH8KN4rCukHIklVRB5NBrNE2GdS8gV1UFIydzvIeJ13yOZi8UZ9CdHQ08klQT2QFMlZRo+BGkfgC0qYdInc60gQcUZlCuOazTXl8V5nQyJbh7xmaYd8B8dY53wPzSgUm9oMmtRDfxwRDgJB4MiIJs6ssZtbPQjGltjdRnmWdQaGxMv/l+UrKDIwN/ZZtjGe6nBnOBV1XCUxiWw5Iwl44xJRKyNeHc1Mzoks4K04j3uYp3nFkrYmhQS8YFHGvLtgAlNixhgJJIfQxzOnbWOA4YijOKNRJkYDJDGTo2bCoY1IZDxEuiJm1Ip8h1xudWopljoOa44P2gcYbCEy2SQEc4BpAICVXZAHZuDp8z0/3ZG9yzssGoc2gcogIRSZWAG+o7PUAd1agOb7aZI1cjSt4EhgTSGsBEcEaVbQXSqgnujHWW0UQYf1GcWIAW+ISTlo1d4GA8yGQaJaGz07GrUDwkJP2451yIJKRaKgopRAYrVGYsHpghovj+HQ2YbIyqICrIRYmcPH1KUSSCAqQUefKbsVV5STmV0VWtCGomQKZhfeDiZMX32HQzgT9zBmLOiJCW5OdJb03yIaW9SQfMV2el/+P8M57/K3W6XMi9nP9w86lE3yWieb9lm0aE4+8T8QcP/Lgu9ygZFtRDupDe5gDlxlRNcNjJSCEK874motdlZnq9HkFV6qRky34GR10wze1eauzk2IziFHl+aoZDXdZVwvWwDJ2pDObFieKYeDxD/ZB2Qc9cFdi4r3mWx6ZO9sNQ8zARldVSRPUsopmk5bAKWLhUnQeg2ToPATTNeaydsRCOcFMiX9K5IIiMuNp5RerIOAgpAzNaS2u0bxxACdGKx15VusZs92PCTXs3BJq8OX826ZlnsxfhMLOdc4x1Cz8LakIkoo+6z15S3ySOqWuHVCcFo4OIhitAfZnIQIWf0ief1wYVPAjiODZiEJLyzk1VoRV0qYOFLphoggPnyIqzAXEodpFpMqhkmnBgKw5tUdQcQVVqKlIN74AqXVNWEtrQ9uLKApZR3bcuxFxC3o53UmpF0ICHtkzGBL8mGnog5mWGfhZLpB1VllzU+DE1ud1lgjZxXmFmgqogrzBnFKAqqG1SrI07vBlfrQ6zekI5PfCj+PbbJHtzKUZ3/9Nwnuv29rIUo2fo8avfXLgD5hwVfxZg3r/vAXDnDtGDBpif5E/TdJT22txKgHJwxYNy0PeNY6EwkYhe5sTDATH8lQBmegGYxd8UIaxhVO1gzp4sYOPNdmY74BA9MGrAJyLqQcA17dgqx4GNe9pA45jrZI94pa4oRmI3UnxcjFRNABA4sAZqEaDC41A0qUeDPFIZtHszgCVcp4yUSSWOZWfVgclQnyYwSAE3bbMNhZ16NJvIu2tTMx1DswUG3ZK839InjTbbaolfmKFirrrH4Z2dNt1wZJEm7iWmQgrpQxoQMoHUaKzk4S1MMKudqkn1XqKRUjO/DoWhQx4PYInIOIDsW7l5v2WNScPRqcggO4nciMx46GQS2wDp/Wo6KyxxTlSjtwih6Igd1G/lelzi6pIu9WtA0slA043KakrORRJIKVE6tKErdO6gKkAz+EJLLKFAUZ8eJz7wA0jWCslUFSbgCWC2Fnvvamrn5xHyDYtFZlmZ/0a4kj1ogEn0gHbexpzpfrm1tycP794980V2wJwjRKcwzw3G6wZmnlM6HU0UmAMa0EE25fUrA68w+zMyeZ+P8qwBZo+jEOoyVXikyzmlSyhxzBkKM/6kQFP0M2DWrGY3gJkN4jDOOciyijE1RM+QqSI/A2NhyFiOkIBOx7ZODpJwpSopaStrkFvpfZY+yqKhG+MVZYSwMXtlCDMc5rV3eKpBbgxXalrDQnUCYeeHky0FKKKE2mxBiCC2D654cx32s74QoCv+jw18quz8xG8iNTOnIm3X9QvpmGp/N0Y3M5SjEawV/sZJDTMdPlb4MxOYvGpnCxJFAUpfD6m5UxYA9UB3REFS47nmBJQ7qvWPmdEsA6EVRSZyKBTt1TRZdDLhEkVSoTZyBzCxUbjcxUEopVQC1Zma0IZ1ZeHjjIZkcymlJ5FMyynlAKKWU05kYbRRA5iY3LcKYxe6EwlRE18QVWHuwjjB0aoqa20T5yG5iDZxbiba2A87rjo7mA6o7k01T3NKAzXJZ9kw/42QOmCe++Vf/hX0XaMAACAASURBVEGnMF+Xwmz++CCjqFWYT55QL16Z9o6P2NikL0EwY4LDsk80ymd8lPfZVplO54Acy6jqNcnpOQem4GSRCAEeAFN2yqDSTBsiBHMym3pgQm1GMBBjI7YyQS8SdhT4BsE1Gvsa9LUsbWZmQS/cp3K9gjGtSeFausjMVksQYw5MBXsTKrJCIKeCbvI+TVYPHqp9NOSDbaTtBA4CzbBK0LYmXDxXAUJFppYUgZgIIRmGU7ERlPiVe6XaKEtQV6B9T9Xls/OgeVg2gMOGpgfBv4gAEEx39JrzX6zmWAZtkMeIqsrqLCiEfEoN5+t5kNkRQuiCgJPRXH3tHX1qupfkKMKfEEsuNtHJal1P0RuTw6CGGkVACMCsZ+SQZoTtMBaXpmk1mNSOTejKIVm01zMmcmVVUuFKwZzumChtsBBbJLujjBL9RVzuk921UUeYO01uh+mNQFCcSuRIgRlgqqLjQ56gMsj1xCyKS1xf1CzHNBjZlMOVgUszyq8AmO19/4Bo5+2zqp9bexdKJTuF2SnMsxF4eZPgdvZHPX4u+VJ9mHPqfP3+ff5gNNI/PrcxZ3Tvtm6XY0qXzbTfpMZpvuUIZnjB3F/1JvmkYoM5b7AM+l5dQlXO6sL0SuIJgtLIKHccFBTTQkKU1WxSmNMW6UQemCH6WGpUnLgKKMC0t9oxPUJNeW2wncc2edIfLNdsE+0mBJ9i5pCEpMDi2Kh4bIMyAdSnxsO9vESuNUx9H/RBVLw28EGGBg7IGo5KBJzQmV3P0zQebaERMruavcndllHiQJTllAhRofsF4TKu9DB9Xn0PzOIWn/OJ622wu7HIAXRRn6deCKoRb8L7PtGGo3KOQkHqkQ/eaJ6mIUHwB5VSBgVOzk+nW1UlAvD6joIgtl7JgumuTmN3vCLRSVgHNZnCxXUtFYYSye1hULdNNeC45UjqBIkAJQk7UZgiQMQpuRpJ7YWI68di9w+1PdykJErq2E3xnCPRGY2ZbDRCNZAH5jTOT03yBRzjZo153pPJ8kziSU9idN9HHOgpUYLJ0I4H2Y1lmr0ImKgxf2+uufA7D89g+vLORRijzod5ea36S3nklwtM+pR6QTLrozEGeh0ix3J4yFqx0+/3NCI+CXsa/a4M8ZKGwYmQm2jHhZlNSNuimapg10vQvlJndEQyUN+WBuvcluak5rjfx/w8lZ+t0SEP008xgeSWKFJ4ceYoOTRutY6DCFU6GswpETH3YKM6MMaTRZPYDSp4ECUndBQKOIAWBGXFsJMaNYcKT0I+t09W1Prxpgtm67TEtBZG7XUoycohm8igApOtQ+cjOD+RegO7GsBXd4DmZAKyUFoh3pI2i9N8SKUuvIscOLhAvQ/WqUnu4anV601ACLU54J9HLYApFjmVCAg5qqPQgtvwo1oEigxJmdeAJBIxo2+tJ99aiYOro8QsDxIzwhubFO74Jwf1D366X/xwxMHhsB+XqZMyjtDkqfal5klYm8oHWlBGGVFV96lXu6qSHgtKiIRmM+I0cjLsWyTam17k7Hji3QNRLGzJVTbWCiEozIUeWV8+SVKdFFwOkXKUaxB9NVpylB3qnEFQmJMUPs2etHMFIb9dp/k1lN2gDpiviqtfc5P8ywXm9MlRfyGIewAmviBY4/UxGzT2VSUJZsANiKWXUh/Zkilhtm+2k8LMpqzADFAo0yODiLgHJnE/gLqsuLBoKTmIMEGZZkui/Zow2pkzpqCIURFucwOzeGZs+tSEq/WAIq6cr+nGhAtQmwjW1FWAbCONcGMCCmhCrxT1ug5+U9AFEWWCf9Np9DsQw1CamnMpjsWErEasLoYgqByiK9hXwY1JgbOoQHTci2z6jeXoa9eGZnMY8dAwJ3FAUWgYfX65slTkVoq8ojyrJT/J6eQ/HhR/M7baQVnCQMPiTvUclCQH+GAiEVKFfNQ8hIs18AoTYfK6bPyfzlAZ+gBQXTlURwXrHC79vavR7359Mbi5PjRLgrYd6LgJEDehEEjpMGD52wP7yb95P/sfjyv3eODqfDhKCzK1k4ok6PerurYolZLa1YiK2aGEldPGc5k4dJ6DJyEOrSRI50efZXF5UUngIm3Y4fJSbB7rNuTu0lBqAFP7wMGnuZo4VATVcSJQmJQfUq0meSoTDQhhamFfCWSiVVfmT3m0sjalDx9mhzdu+U9zwSTvFObLUdoBc258Lk50Nm+Sv3fru6djpc2Imo5E2Fy/T/zByEMRJvmTJ17OHDrqmyVqgJkR9XsUH2fqpwQzp4BlD723oSpzHgCsCdQmc74DqIwN6uCCCqk5bGqDOcNLiuOYnImN4ZJdHpvDhBIT+XnDy2ltUlObog4ZU9/Cn2m1yVBNFYXxYRCu1RHqWDQowoycHA3qIMXdB3NUzAGGNZIoLTZRp82ID0PcGYMSH59xjqsIigWbrkMwy4FZALu2Tn2gJdkA3c+K0gb/2bXoG7+xGnzzyiC42o+5FwUUakVQM9GcOgx9IqQu899J27wW7ySrpD7JZXqQycHH4+rTf/9p+RMKggpyNY6iCh/LBM6FHLoKIanGv4m0IsPG1dCptjYl5kvLi/Cd5fDW72wm3742MmvIFcX+yvp/Nf4BvU3PDsh3tKxPY6Kioskf/Zsn/20y6h2M4igLekGdhEEtNrfaQg9Rc0zlayu74MKSYnHWkTPNnD7sKhfGvjDJuVLMYLHGhHTofGSLUtiiq3pJMMvxTfX65PCXhPKEymHuMBc6FGascwbllFFG2FeOUgerJkZzDpjkaEac9qW2R9m3RkvTziR/NY3ZAfOlwDzLU22nncDh2u+yrX8kos0PiJWULwAmktDxHNbap9Lgn+80FAW+msecMFdLyDH35vmkTDg4mYQwzRCgcYFvoAGFqaqvSU53OZlDQ0mdUICuQ8i3nGV1qB2IMEFZzCZOE2ZbcBEk0Z7kG06LyyNB4Easz8PUNCCkFWntN2BHSDEyak5rPbRhgDHQfEhE012jKlV9Io1Ij3Oi+ZoInZuysniR4M5W8Du/sR7+xlJqFlG6A+7oPwSs2+259fOgeVpL2XxfMN01SxP/NNIu7slYjn66b//6Lz4rf1yT5EEQ1VEE167WeKqf0iJq7oTz0pnaVtF/sZF++9ZG+HcXEtNXeNYKQSqwroUqy1QhQ0lY3y9YhddLQqJ+TDRMif7jJ8Vf/PFPDv6X1cXkOOwn+SiQOoqCCtNgBFHobIXcTnKLtRSoMzdpr4bsQ3MNV2YSucoFAeYMIjH9EH/ZCJVAIXI1s9in2AtJlMbWRYUMHMzyRGZZIT1MsqYNh3OdggIBIASCfPAHX2Wmtee4Ro2apkF/Nv6zR9nB1Zv+b9JDIvrOnMv4+75HZvuzeNj5MM+RtQPmlwzMaCXrA5C4kYeG+LhghvuO8pTMSq5NfpEuhCT1WUUGwEQkHF3EJsdVMIy1QTCn6ZBrLhnbcB0iqANYwtd2lHBSxaHBVLhS5Ab9ceuZVd8lJtLBpGSoG58wxePEXLGGYg1ywFAsLOLLDFWVoCEmVwYZPVCRtdSYcUfNbmYDmarb6k+s6xDmuRZiW/REI2MrtYwDW9XRO+vh9X90LfyHV4bmChyhMGkBRzVvkdEzt41fJ66D51qAanuMVmk2qlO/qqZP3CksQWDE8Zt/oapjcrtjd/SDj2Z/8dNj+usgotqEbIVDcRV6f9rgH13t/c7trfB2GnAMSOYVUVb6Nf4VUJeNyoS1X7cmub4++gkzDWL4FYVqK4f/0//9yb9aXkz2Fxfj8agXFnEUVFVNEgQ1ZlmzjhK77OqyDGoRlLxjCt80FXdcCxUemDrfOZea8B70kEwf2h5axflEA4lMZG1UqnkeqY/TK0y7gCBQQdEMndxTVZp7LpWFWCTLM503KE56MstmlK6sTjtgvpq6bG6/Vz/5l//Mz/NhXl5h3m4U5ocfEg+HxLu7xPFN6klNgx46aEAl6HS3hHC3D2b0vdqsTnxn9D1LARSkTimRjQOTjNhUE4au7Ac+yIPkdMR1ZgUHzBWLjcxREiVFUAeY2RHAhDePC9aZHYVDY3AoW55xmEwit1Zb6gGYSAkSi1Y88EmCts5EATCIiAg8pSHStX0QCIashrJVphkOQkguDdTUtQvrsgqryoV//0rw9j95M/n2Uo8XAeEWhAAmoIN1+2/+OQUo4NuAFCpTgTkPTf+0Dh7WrcpE+5BTYGqqFHpnEMUh0f7UTf7tR/mP/3Kv+iuEfH7rSu8b/+R6+rvDhPsKSfwrmnUlhGnSoTChKvX9zivh1kWA12OhQcy02NNgTP2v/s+//u/WVwefLQ/io4VBMgv7vQLmuJ/7nFwsQbXgqETTE+sy7f0EQHJBrpiGkmLbRK62R9qI2IaVREnfBoWvAmqBqQEg5GxGifRs4TAbpV2AiX5M0Sxppr7IaeKWJEoyoazXtIPLhGY9cj2ajv+MsoOrjYrsFOYXwtivt8L8nJkh58sh57uqzzcJxmh/f48MvePH/RaUZOyB+Olfnww2ri707DGZsvRz7UxrNPpFfmWhsEwWU6rGOSeU0p4r0cRcpxIscw7gq0QUXKedRPU3dF4DTDutQgRiJGCz7zhB9iRMdewLTehZAtNdLHyUmuaTuTAZJ7xWk0UPMQQk0KVHEanQ1JwZF3AN0ALmKZOtFZJ4ztkyQO5PI7KQqhRUtYS2KqEo/87v/53ozkJqRi0QARyFDqLG88BsIATf4Lx53nZtU1jOd3Br1N05vyZ7mGKg501zKEz80/mKAiLU0gOeJ7nLslKqq4vBAkxvgHJWoMel3wY8sb9szG+viOGQZToY53b3aGar2tFbb6zGeM943SQSwJJWBuz++//90f+wttb7ZG2lv7cw6k0HUZxVtuAwwmQW/z97bxpk13meib3fdra79YLGxgXgJokATUmkJVkeSZYceZHXuMbb1ExqZirJVE2SqlSqkkoqVRlZf/I3/+ZHfqTmT5JKcTw1TtVEo7EW2rJlSRYlUyZBkYJIgsQO9Ha3s3xb5vnOOfeevmhQJCR55FGjRHWj0beBvmg8/bzv+yww9hg7JFHiiu5TWTNM4RGo4YytwRMNQp5lVjjExWlKmbKunNWA6WCNrJxVvqnzRUhx5HrI9kTOZu69ihKPX8e+E3chjObwndsIKe+Jw3iupZiZb92ad0fyq6eeW4zgp6897Y9G8rtj6BFgdkfylefpnQDmuQYwr18i9uhjRDcuE7PxOOvJYS/sMPOCAEAVysqwp1wBTF4l7LafCI7wn9C9ios0ciwj/I9sqYGCATCN0QxuntIZdPnwPR8lYJVgmMiSYJFowBPDqeBWlyIIDonUjmLHrQur0uAJVwgQb8Zs5p0wHjtNDnsP5nIGZ07TOB7Gf8iPHIQ4RNJor6StBr//U9kv3T8Sp3G8aYERx5LwOg4mtbkmvAwg2Y7gtZMxpF6EfWbz9nZEb18u8tEb1tmkY9QHoeYruIlDCj8Fw+yCZvtzfM74M2E/ifE7r5CvzFDzQ9p4MvBONh/05t7cvHJlN7/w5nY+meFXid2/2Ut+66PvWgew4t2w/B0mRJsD5v63P3rl/zi2nrxx7Pjw5novmqZZMm9T25kkG5WFHjBROY2RPLF4CbYJTSbkQ+hBRwKnZDLYJ11aR8QxW7klYNY5mriQI0uTmXAbuhMwI/LFXtNMiTbKiDwf+BDcoWU1M98azbsM8wgw3z7JPALMHyVgHqesN6MAmBptjpRQhTG8KlhwakjGYyoIO0zOY7ZvK851zOKIMDrVV3HQS0zLe6SCsyeHVlEzERO31rCZJFkqFTltBGPo57HMp4Kjq8dXcDhLbo0QTlqUhKnbVp8kVkfNMk5IGgpjNV7n+Mi23k2ioZtRJbmTQfbo0DjLOYNCRldW2cpGP/8A/8CHH4yfxodp2WQAyAYkW9AMjLNhla08J9hpOuN3O4K3jLM7kn+/t62qGyDUasd01YBnMFxC44mbczjo1McdgKW1EDAFsPTfvbpXfeO7Nya39udofMNYrRmDkN2K9z+0dexnz53ammuAf3DPUz8mirgp/8UXXvu/NjZ6l45tDm4eH6bjaEDzEIiM9HX8LZSlySQvrSnJ2dgybuBHgmYJCcwOF3UAaA9aTfjVAZgFeoIqpHcG1piXVXiJkdz2yCumbN2DTt7uFV4NRl66IlRdYEducTmnpAbMIdWAmdHMPEtHgPn2MfLo6LN4BlZG8j/4zGcOfgPpuHsOjOSdVPUwkl8gjlEcP8AwP/UY0eXLxG4dp0xf3xu0OkwAptgAYLKwt+RpGTIsIUifJcRUjkQ21GkTmaTPPK94YJRMs4xHwVUT3DsYr30uGFNsjktGLGMJwTk0PiE9gwmDIPXKos1GwB8Ov03pWbLHxJZj6I+AZJEYMt2CjAgIACl6nSded/AAISERCjEdkptCK22c8FWR/aP3937twTV50kA+1IAQXt7BLJvd5AEG2b2IN3vBFkjbveUCJFvWuXJF74IoiGa7/+wm2IYLenNFb/9i2z1qu6PE0A1H43cubVdfe/n6ZFrqmVIiV5EolOAFFxJ8jqx20W996P7zW2u94RiB6Doo7qmfMDiz9v/lVy7962Ob6aUTW6Mb6z0xZbHKIf8Jbh8unCBjMutLWCOdCREfwUbJmbS4kodnvSKfRM0hH6BZaU+xDJ1CIYw4r6t8ww5Tks+GKtgoUaZm89BlFETtkLKnZuSCpL1hmKxhmGw9nQIwTzY7zAsXiN6SYf5Ox+mzVHuFr/WDHeXhLUcBwvcIxH8rHrYatnHAConPoAuYK6nqp5pEIrzbCzeJP9Z8xjs36oqKW9eI5euUyZ2iHypw8etJQmxeCrQ56kl97TYJMi2JzXnF1s2Az00VABPnFYscS8NCEHBU6tofburdZC4yAdlQiXMAp5i5EjSSG2lQMCMqyNg1hQI0HlsOb/iM22Ti5QkL2R5i1jCnO4fMstCzE8RK6HvExI0OMNhpGv2lrbysShM/kPpTv/tk+qlUsBQ5Fq1OsdUsdneV3ct3YIxN2U6XWd4BkB3JURjJO49rZUiHjeyrbwv7zYZV4nUAJ8ZtfNY12w2ZbvgOQZ/7xmuzV67sTmKlZkkqJ3EsZ0mq5kKxAn9FxqMuyaT/zSfPfmJekdqFFjxYlIh6safLN/ev/PmFG58/tt67dHw9urW+0ZtQIosQNgyww77SCpORLnHsUR5WSnLYZyochJLE5CYnxVNnynH4o7km5QgWSguxe7igKwt5EQBTysgzMXHBgw6WCXt8Hvv5oAx7S1WNbF11UY/kiAUsioLWe8n0wss03zhRA+F3LxI9gZT55se1a3Rwh/lWgLn6r/wnoLLiJ3ok/5sAzOh6MUApmY1iD2H6HD7wDmCKpGQz6Cyt5inrhx0lALNylbBxfeQBYLKSRMQ0M6QCihqhBJw9lSdZkU0QG6QwspMMSb3oAoedUfpKCAmJpqDSu2QsxXHrKQ5BQQEYEXUL/Sbi1pBABLF56HYEkxW4F5nSyqpw8ZOb/l2/+Xj8CUioA1h2xN0Hxu8VfeX3G6/b8XwBng2wHgDLZoRfBdCWXbbg2gXm8PHChQYscimCr2si65G6vqh7/6cvXL518XZ+NU35uJ+lk6Qn5lKGbkyncxO9ayN59yfevfa+W1OinVm9+8TjhymjL37zzW/dmpbPbW5kl0+u9W731vrTODIlmGXI4TQB8nQf8zgWxTzWzpvAPgGYoYfDaPIqtczOnRJpKFVjVjnhNXSv3kp8tapQxRRM7kEbiy50H7rQuRg4GpfENmJXUklrU+9mEXk5KZlRsef9xIlxgaqTyeUjwLxnQncEmJ2n7m4M88VniCEk+EKTeUkfJ2oZ5rVXL7Dt/jm2eeP1+rk8e5bOxZcZPXA/pTcmvalQ/aC1nDCG9kg1JQ5GCUcPLuAIxYEaXeiIJWhB1RTsj+B5QcnTWCFFFTJ/qIzqBCJfEvcx42VFQkuWKmRXVsSwcuSJ5EhMx4guHI7giOuxDCHeuxE74YkjcIfBuMPIyLCj5ByVsDDK1EcgxLChxqe0cl7Z6GP3yfd+8pHoZxDlBqUMdn/YBXbH8IVcqJECteB14JgTQGx5HT+MLbb6y8XjO5rMBctcedthO9CFeygw1fpCFFhmcyyCFCkWRFlMkAf5v3pj78o3Lk1eHAyicZTKIlaywl/VdDzPfu/JY7/ci8X69THR3hzyo/q4lCky/+Jz3/n8+ih5fW0ju3Ji1NtJR9FcYAGM9iCBfCdlMBukVpekhVOxNMghxt4SgOn0tA7sCLJWBLuTi6X0rgy96PCVhm4gpqSBvAh952Gvif1mAUZJxLLIJbPIyX6ddJTOyBUJBW2mUfWoDrapYj197c3BbMEwieiJ4x2GOSFPf1J38J4793H/DD1D55t8zLcsRKtn9KOR/J6h+Mf2gUvt5Z1WyKXu8sUXa5Bc/Oi8/vnnnuOnX00X32w23n+OPdq8I67jvZjY7jYxNaKezPf7JiMEpYWecMGOM85LhktnIYirfIp/tmTiPpN2l1veCzpLXWphfCQQAwYm2YsyZqM8+MW5lUyTDQEaOUlpMhlrb2t3j6zZKKpvcTSHe0cT1pj4M7h4zOUJEi5G4Bmi1oQIaBrSirDrRJx4SEdHE6Sx0Xymk198KPrpjzwYva9rGQxg2VoHWwDsMsOVUfqO8bpljM1jFyy0HcMPe3z7vivX9O5Y3+o267fVTDK8rI86NVjiB8b0oNWEnpJolBFt9hhdvF1e/fxrk6/0sngOG3hZeiGs3fjPP7jxqzfGnt+ceAJRg5g9VUS39qa7X3r+8pc3BtmlrbXk+sZaby9Lo4KlvKxT3h0u4XhSTWx9wVjsjJvhluM8LuOkrYqwp4TTJ/cyXtfo/AEDRXe8K+f1HhTG1iTVCBkGw2SjnnPjyrO0Hy7nof88rw9AYJipLVwBLcR+SUFqNBx52iuIJ2J67fXB9K4j+bvIh67y5seFzt7yCDB/IgOE3zlgQnd57tPkW4Z5dfAcawFz+/ol9tinPkWDy0uGWb1wjdOpU7Q+p96UlYOwqwyd4UQpKiV4FcTohWGclVOoBWvxZqGF5bUw3YuIm2m9t8SZnCW4godKCeZLFCukwQo5dVbZlGKvZKisQH+PQQIRam6wCzWhLyLoMkvukn3GTpLgYWsVwjJCuFuIGQqGcYIoED7rSstCu+Qjp+WTn3wk+aC2xDCCBwdMwy5bfWXr0OmyvLc7hh/2mFUA7NonW9tkOBI14Loqcm9BsWWV9QjeiOAb9ou3BcAUjBLlaZQyWs8o/Pftq8WlP7k0+xp2INYw/vNnso+d3Yjvuz72dGvqaY6/PvLUi4m+9M03X9yelC9uDZM319fjW6N+Nsn6ETRkeC8fOs115RizNja84AlZmyOMw9d/LEcukgJR7kHU5ay3EINhUaJC/px0KFfDD5lKmCxD8yQQl2zPwX8OwAy95zn5JMNIDt3mvrdR4s2kYDYqvVRxYJhRxCcHAHOVYT5Nnp5tGObHP+6feeaIYXa530/gSP4fCjDrMVyhMxz4FGEkZ1zlVHvEowiNhmEviRw37yIurQoGHACmU2OJeIxg+WgA07uCa1JyzGwqkO8DgQqHz1sgepxzxLJZEYTrnDmmJY/nZE9WRElQUgLJUfkYgn45WW8EN17iEl4UJnrfMfme//Tx9KMYw1sZziKQohGkt+P2AZBrrtYHWOMqkzxkzO46ew5czRtGeRiQLkb6unW8CetAZdkSJOsKM/y8ZZytYwjZwnWQBnzhcO2sZRCic//sd6ff+dqVycvKs/iffuT4L+7PSdyYeMLBJ4zj6Ns1VfWvvnzxK6NB+sbWML28vpbuDAfJTCW8spYMouKAz4JB3OV1XPoAmFXuYUp1oX0SgIm7TvCSGyxKwkiOAI4Q86RSi9cBmZHyBoDpvPJdwAz/oIV3iamj4GrArJmmhBMoKuoQ4iKmKNJHgPkDTL9HgHlgh3n4SL7KME8NiK2/Wr/v9evEHv1ULVSvd5hE1QvE6RQFhrmry6FHM2MZchFZmlZsDvtIHAfwTAzE6XWgxtyzBWBKRzyOFLNMhzKziZtGSsownnOrcMUIwWaVZHLqbMZlzLy3nFvBeALlX+3uCS8xX8twIEr2hTuJK3kASRx+HFLc2ooIjPJaFbmOzvT8A//wfYNfhCC+DaNomWXr3glg2TnGHLh+v8PDTftxFszx7T6+sy+tWWR9/a7ZZctCa6AMP19YLmtAxSUdInfYKMEYIURfQ15pzNy/+tbOhQfX443z92Wnt6dEt2eeJhAZOQqs9OVLt2+8+MbuNzdHvTc215Lra8PeXi+RhVAcoZjGtb1ARFbFvuKl0REnrW1Ui9O58RGTNoLMCD3xTrqC5w6VFrioOSatULIBTEWSzcLrFvFv6D5XawadQIF9xlHoAgoMsyRCF1B4iaUojj8Nw/R2Ot250Z8QvR4et33irKeLn6XNk2fCE3b14dyfnjwdXsdo/swzROfbS/lnDtSj0R98+tMHd5ZHO8wfAIp/bB96bwwTadNt0dlgQOzVtAHMSxfZo489Sjc6I7n48g1BJ05Qn6g37pcDb5pDD7iiYHzepBcpHG9yHRimF5pz1mMVOr0NMYBlHOlg3MGxZ4wqcQAgys0gUJ8UWIBxLZnc9awndAOQnhDCEVhlMOvEnOOfIw47OqJ4wtjJSvAoXJOs4cpLgUoIgKbVXlnnIl3o3v/40ezvRoLHy+Se+sjTyoZa+yIOON0r94IlvoVu8oCGshWvrzh9FqP6yl70gDxpAYA1s+weedrdZauXqT9efe1p2Wd7BAqAw5tAjdjTICHqx2HsttjTWs/E7tzTPlQ6KDZjHvl49l/+2SvP9+Po9Y1BcmUw6t0c9bJpmoVR3JL2QYBer0+FFaoysvKwXBkmDDw6DoAq85CWbCEjgmFSI9AYiUb4lJS0gknLnaqPPm7fCedDRS8+dl9mxoaCNCJXWVn2FwAAIABJREFUTD3yNCE/AoYmadQAJwUnEI5EeL9MxONrr9Nyh4nw4emFBfCtAuY//8yzbOvcrfrXMZ6fP7943yPA/LEFuR/mH+yHDZhLK2TLMMWXSdAJon6feuOYBn5GXE9Lhn4JsMoAmH0itU8cQBkAEx22cY9VRQOYPcUkGrSRBWwMY4kSgakShJiS8cJIwy23IhZ7xvWJW46xPhx7LABThIBfLkO3rIAwvZKUzAU7gW1qaJXQQXATSiecQcqQVfNCZ//VU9mnTg3FFkZPCLQXu0tU5XSA7Q5xeVc32QBYyxgD++x4wrvRbncb3Q9IhjojfQuMXeBbvYKH92n3ll1gbb6UluN/czIP38xq/3ka1Qcd+NHxZ8NzMA2+87rOPFGMvndlZ/fbr916caMfv7ax3gO7vJ3GUR7H+HYXZJ6Ii68bJAVZYSsjLS+F9UZGxtgWMNFTbO8ETDRO4ntRlA4MJEcWpT2zfS+c9tZLj+6mWCkDHSY+pSIAZuSEKn0VOs0HrixLArOsARPX9JhENZ28E4Z5BJgHsedoJH+bI/ndGebdAVOKWX+eyYGbEy/ziote5JVlPMdYzSuGYGDpIo6xG+tE71AwU/vF1UghxRbZ42EMZ6ILmMRMWVslS2fVPpMZQ3UZszxC34QlKZkIGewYx0VE3BvHtRTRlLlThvMI4RrYeUpncW1g2lpZzHT6ybP8Az/3UPJEG3MGRgVGs0ga6uohVy/dh12vu2/rJBC9Y0H64ljTAGFn/A63k4b3dF8euJIHAG0u5l0wXTDPpSsoBHeEuLh6lIeTvLS14B3sMhLO/dFXL74SReqN9UHy2rG1wc00ZpMkSQolEQ+Mow3XoVQNXBEAaiqdeg5hBPKQLLymaPVQTFhbGRehJkMbL7JYg22GkCOFsnhphFCBIbpq7kUJTSZ5rSoayTWNdslwNYf8yFc+FsrVgNmO5jXDlBGFEd3Y6XR2tT9uv+y3IWC/eJE2T1aHjuRHgHkEmItvEm9XVtSmE72CoGAiWl8ndr1/Mby+c0OyMx8/S7vXmiXZA0THLhCnk0Qyn/XLUg4BmHODUA2M3vCI10cfZTVPtGKWIy09Ynk1F6ESF1dxnwu02oaGRlRWaCtQN4HaCfxcSDSLSVZaqwrOMpL4J2ex/WIaVZAQnyN9KIRpBGs1KxwlecxOVILCwIn3V1aK0hpZ5SZKvT32P3xk8GvWMdECZkgeb/SWh43ed3PqrOoiuy6flqV2dZqr1/I7r+edg0170LkLALbs8sAI3h3ZW7nRQp9Zg2kb7w59Jva72FPULLcum8TbwDwvXt3Zu/DmzqvDfvzmsUHy+too3U2yeCKk1AoTv4UFgIzxqDGHsJKcdbbqe17gVISfIQgfRx9FwlJlgjWSI5gjihG/7KXRwTKueBDG4vrjqaxCazA6zHlKPlYyHIHCdgWaTXjWcfQJVz3vsDcP7DL4zQtfoNZC70z1zkP7b3eH+c8/Q2yrDRQOI/lyfD8ayX+Yk++P7cd6i5G8I7MKYvXmc7gA7zgRtTUUOPjcDTDHEbGtV4nTVmjT7es5DUVKbI7gX10xMYwYN8G4yJBGJK2uWSWkRyU0zujuJuZjxcEw2yZIq40QFXGkYkohiSc2AGbFSE0dy0IAHALjQouOlhIpbSLU4UqwTBPqwlky4e6EgfgIhblOoGk7qkqrirlJ/uufzn759EhuhiQfhOhiHEfCUNNa22WFd4zXd9FGtoegsGfr6Ci7j3+ri3gtHarH5sUeMuhumqVce3hqGWdHnN4u21rWedges8s62zi35bkIf+rgNQ8LYmg2lbf2j/7y4vd6WXxrrZ++udGLL69nchz1e1PByULr7xhU6WQa2RAa0CwZXmWOcmmtrat9AW4S8iGrC+sTJRyu5ExLEzKjUNUbrAUEnUNgmAmlVudzAmBG/cxpu+cinoU1bWWxFYXnvAo7zEGq3KSqqGcjz7LYzVTpk5Joos1U7/T23z7D7AIm0fnzS43mH3x6+Xr4eEdHnx9b1PsB/mB/c4ApSxpoSwOeEiubXEvoKwWbhkwLrhXzKXaWjGlSJHQuNUmySDyX6NMBXzEcsW2OjKTc4N7DpBSkyUqlJJtqiiohU09WekjPjeaCI97NApQ5s8h3I+AnOszjseAnDU5BYFzWCWsoKuYmfuKYf+z3nux/KC+JtfmQ2GG2o/ihbPAtDjJvZWHsHnRaV0/LQA8w0c6YvbiAd1hl+9iQzr7QWTZyopX95Srwtj9fHIsOPL69qDfX9TCGB3bpL1y6vvv67enl4TC7tT5I3jyWxlf6AzmTMipC8TqONdZ5L2PtSHtuua+gZ7BkUstnka4cV1w7j5pMAgW1jiJUdXqOBWfujRfGS2heJYI55o6H0nHvMz8M+8xgm4yVIztzCB0OVkkRuoKCp7wGTF8ffdAFlEbO9ktPYyRiiskRYN47fBztMLs7zBWGef7Cs/Xz83Mfp1OvPMeoiVV/K4bZi4iZV4lvbRHtljSQnoYGmRumYoJFgUkKVtU1ExChJzVgWqMYc7mwXLESXd+wNUaKu9IwAGaofcwLzqQMXeMlUoi45FNtoypGp5qQzoUSszCZMbLMehTxOCGR1oYaCknxHvHTDkcfQLDzoipcko+L7H/5xNqvx4KnbaBunTreZFm2+8MVLeVhF/E7ZEadwI1Vb/jdwjgCG20v2gsm2Vy329G6yzyb11vwqx/f7Dqbxy+u5p2CtQXgLh5fs8nwvu3jsLeEF0sRpcK7P/qLV17LBvH2aC3dHvXTy1tpdDWOQit8xSWvARP7SESmMzQBocKXY0GiE8fnsa0s5xE6Kj03DWBKUQMmRu8yVMd5geK0lCzqKzCiIy8z8+gCgucHO0sdPOjIywyAmSiH0jSEctSAWbqyiknK0sM2afMSCQKUj8VED3v7jaqIvv8O84hhduH1Jw8wO5FuB0VkRN3A4BepM5LTv08genZ1JK93lkgnOvfuy2x3G2tConHEmSsEp00itVsMVXQ8OH1w9IkoIp/OuID2UikylRFKZUgkD+CJoDWM4Egk8szISKHvx9RVt9JKpA8ZgWMAMT9nkknBSuOiMosyBG6Efi7kPxZO4WWFU3loxhXcOcuNFPGe1/dZzyN0i1ujpS5s9tPH2LlfO5e9D6P4DJbNJicSo3jYW97tmNOpb2jB6rBL+KFX8M6I3hWsd8fvAF6dY88BIFzsJJcHn3BdCTrM+kt8AZor4/ph1/N69K6Buvt4fBwsgVPpab3H6LVru7deujH/7mA93t4YZFfWYnkj4bK0zGpkP4W9g+AYpWG3D5tRFzYIVieOzTGSkxGGS2/xFx92mbG3AFoAIC9RAGI8bJUi62s9yQl9P8SVi0lbUfn66IM/VxudUhFFa72gycSlPACmIIddZs0wKQRyQMQ+Hs+mtNXbW4zk95OnzxJtNnFvVx8mfxp+8kaHeXCHeTSSHwHm3RgmETv/bMMwP/5xOvW/rzLMwwEzjTi7Vgh+bJNof5cNYxYPYXfEoUcgyzKOMDiH2DYcgEKEW05hp5k2gFlabIOYYL4A/AVRu+FWRVYyy0zwi/sKTRSCzbSLTCIyAimFTtNbnjDFLTrA6/Qy7hkPtsqSWDLj/pRxLrHoMy+rKJ/p/v/8sbVPpYpnAEuAJkbx9tDTgmU78nZH58U4/TZ832/1+C6gdi/bYffI6t0nfiwArR3LAZrBI976xle0luHxy33nKlC26er1kahG2ZCriZfNx8RTiicRTqCNHpRh3vzhc1e/no16tzd66upAipupQo8aSolRnwuleAjNqBBIzCBexwZS8BIMU1qykHdCJQtGiZu6k2R5eGcAJlmPaDfoN2Np7BxFaj4Q3lSQCXKjZqeJTy0obisi0VcWIzni3wJgcgrAGWyTaT2u4/Oa75kJfaC3t2CYR4D5jubzI8B8h4CJdKKN6xGjRx+lHSQUnT1Lp6bPcTp1OnykdJuzaz3BjyH3IADm4C6AiT6ewwBTMwCmMFZ6iCitCWAqFJNw8eB16C99SRL1OjPPIh2JHuNOeOw8jeaoMkcVLnyVYJ7ea4HyH1zHZ8ad1o5l2mhezKrkvZv0nt9+cvgUwDKM41CpNH7xOy/Vdzp7uiL0u13MF29vKylW5EV3BcPm4LJgmSvj+Z0ssqO97ARvtOL1+lBUf8m3h6DAKxnRm9d23OkT6ww/FuL85g8GO3gWIRmN6NSI0fduzi8/f7t4fi2TV9aVuqGiqPLWhhEcoMkcvkdxqDbxEgcgVwOmrwETwIducqQZLQDToCXS8dLcBTCVT4U2WGWHIjWvPWPK4aVAU3lSObDQJWCCaVYk0C6Z4i7fAiZN6AN0BJjvCCaX73wEmO8QMPHu9Q7zrRjmiYZh0lCKalTLiCKC7tKLCqGTDdtUKFUNzh7tNMf+c46FFxgmWiBdysEowTAVsZCcjkHMeKy8KJSgTQ2LC8F62FNaZHtjrhNOkXGYxImh1MxxkFoGtUke8ZNl5TNdaTWdl9l/+4H+L2xmYgTAnHXYZVuLewcIdsbzw1LSF+P793H6dI8w7Rhcc7yDPvAl41zqL7tyoRr82tG9BcOlj7x7Ie/KjcAccdSFLXI6Ldznvvqd8qcePSUfe+iEQtA5+n2QSFRP2HUPOXzmJweM+rGv/s/nbj27PsguD6S40UtTlD9U2F1i+8GsAyPU3vPAFCErYsKXsrJFKlRF2jouRRjD8cslABWJzVJYVSJYL2gL8MVibJpgk0zMShex3IqqrrKoWzVqwAy1vD1vrdMeiewa4cau8s5FPgL95N7J4cAaXbJqFo+PAPMe0XJZIXXvH+Bv3SM7O8y3qqTADvN8J/+SPnOBh0pI7HbOn6PrTTPkzmVi55o4t8AwI2Kv3toRGxtEeZ4OfU+MgFYh8xJhwF4LlN4G6ZDVnLIMhd6MG8U0m0iJoA38WkRc8iVgCmJSMRHSioxGCxmu4sTnPo4Md5l3VuGwgyOPxZW8DrtEApEg0BLiZARLplKc0pXP8sJGrJhu/LNPbv1CXhGfFaEXPUiJ2qKyhTtnVXzeOHYWY/ZKuO9bjuqL6tza8716/e4eYhag2nrDMYO24Ng5/nRtkYvQjeYLc3lYaiPemnM48qIgUOXef/7rF2eTaWHQHPxrH3nP0DHBC83CagKsFN8a4QJCQ+RWj9HpEdHnLuz91czRi0OlrvbSeMY5VbAecKEcnkDHuMYgDYZpgyjWlkrzPEKhu4twPg9gSoiQC2wT5Ne72McGgAiQ9IWxFlbJWHqjDXEzt3HT/UMhySitw4ex0OxXuMQ7IZVHbgcAE8CZyvB7ILvK4ehT7RwB5g+CWT/RDPNeADPEuaEW8rFHaQf+cYzkTZxbPZITe9XuCFSR55QOPbcNYEYkjGbIuAw7zFyHkRzHnwCYUcZ0PpEyTQmgiMy1sPnCztISi6SU6OXhVXA5ci4xmzE+8xRpznoeRQXBLqSF8wnnHgmc9Q4zOI8FJ21sOkniU3lh+3lexr9yRj79Mw+kD0+Kml1iHG+T0+86ah8Sq7ba+NiVDR04GDV7wbBXXBxmDvOBtyEZ9RLzDgF6ozFvwXbV5bM8/izzMBfMFfiHGl5OlEREL1y8Pv/elZ2pkCwUiJ97cGP42Jmt/rhAjFutQwXLRWVnpjytZ4xOrzG6Nc5v/8Wl/EvrSXJl0JNTqWQOWREOP3D3WAt/EPcMtZCCow6tFNrmEXEjmdBIYcd+EyrX0pLjQqDh3cWiAUzU8SLCg1EDmETcjG3s07p1yWvPaWhd8J3Da75HIlKWI2xYEynjXWGI9UMMi3e0NnBUllRRPKZzRyP5vYLmEWB2n7lOh8/dGOb29Yg99uijRI8RgV0inehUk060CpjjikZMRiMwSjBMKjSHDpOc5nDzcKaYFoar5rBTlIWSiHOTCt23IkS04UKOER0RRRb9hbiYIxyswgfgpaOojGSPrJCByKBC3HIRwBLkEnpmE7w/aGVN9pU6VRZ2MJ0U2X//4cEvZpFIpznRDJfxxje+ehnvjt4HdJOrY3dbmdtlnIfkUHbBK4zUB+ojDgn+XUiDlrvH7hjevabXB6DlgWgJuPXvgy94jOHoFN8bz+xXXr46TxKJJ6hCFiUCSX79Q4+eGBeeo+ys1aICZJHOjiSjE0NGa4kz//fXbv7bjV705qiXjmUipkJ6y5lCba43DgmiHN/aQj6JgKzSsrl0FllTGtHO4UoujdXIcsalRxsfxQjFbCRG1ltLYJhw90hP5djFiHYLRx/tBQ2tFfUO08pZuLIrrhwAM4R0YAcjawcQpSqscvO5HUdPZbtHR597g8yfcMBcxrnh6XvxXOfnv0N0cCQH/SDavn6RPfYo0SKh6OxZut2kE+FjZPvE3ljfFev44sxplLreKOrhXwTG7ijErQUNplHMRpqRMGGHibdVpCC5DKYdXxjpyAiJLGCcelztHV+ECEOX6YjPiSKjqOeZCSN5+EjOSOU5d95wLtCaq8KdXrMo3innD8y0G/CiHP2zn9/8hWlJbJwvnT1tWMYdMWt3STsHy1vdZS7edkA83mGSnZi19gq+HM0P2WN2wjMCAIZi8oZ5dq/gd2g0W4Bt3rfRVEZwU3njvvTcq3silnmcKqPiCEOwKksTf/DB9eGwl6m9nGhSerLQBZEP/nJEwB3vM7p/jdGfvLz3zXFuvznsR3tplk5RQgxJkffScdTVOSS0haOP5U5X0vIAmExyjUVzyMu0wSJpgp2KS9TYhZGce+FNVTh4gmodpvdc02IkrwEzvStgJk75WVXREGVpuJin3kUU0/58fgSY94aVzYb9B3jw38qHHthh3gtgUgOYTQbmWaLbTTrRnYCZjkaOj3ismcboPZsLUmtIWQgM00bErM8FGKbVhfDxgHNWBEYpXMJrwKQwojttoxowLbMcSqNYeGZ55UU0IzNkyA0OlwyH6i2JE5HzcP2owDWZM8wwGd3S1cOTsjr51CY/9xvv6T8wASg0tbGho7vdT3Yv2Z3rdjtud1OI7ja+4/moR/LWfdM5ytyRY9llhSsayua63R5tlhbHJePs6jW74NuuBPA7gyW2jp2vvXBpPCnMpN+PJ2kWhQxLY4nnszI51lfHn3xoa+vWDICJwaAGezDTFPIijOUjop1JceO5i3v/djhMd9I0mapIVqHww3Ho1BGhUh9ziGMtXEXazlFVwaTSuFsDMENUh/CmXhwLx6QJWZkSWVWVdgwMU2A6N7BrmdAOBAB12is5NJrmhPg3K+bYALiIK4dJAS/zuWa9ROH3cfCTCxn5fE7j6Ck6Ypj3CF5HDLPzxL09hvnOADN1fCRi5AahWgKCSMXQjoDJ2wXArEERTNPzAY8AmCFsQ8KhA8E5g7Cd8YZh2sMBkxxoqUZJD5MkBeLbMINywXgpXH/K5IkJc49MS/NQVZj4Hz0SHXvXZpSBXU4bwMT+8oCIvFtWtpo0tOL+WV7T671jq3m8oyaiwzrrC3dTf7siNu/+2qEpQ52P036M1azL7vUdJnvZyIO++8bN+es3x/v9fjzrDbJplsgSoi2trdBFmf7S+WOPox3kxtjRfo5k/FoLijCORNUhw6eGjAS31Wdf2X1+LZavDtPs9TRS+5h+Q1CH8Bq7zMAiHeimrRLLZ8qTgS4CykjeACbIpMLrlXAsMcH14zTh6I6eSccCwyTPjbcxzOdvAzAxis+mRMMMWlBylYgcKkum02j/CDDvES2PruQHGea5lZG82xJJn2lH8sMBc5bcCt98tmiL2pGc8nQUCT5C5mVhNUvagOAmkUi7nFupBMBTI/i33Vni6GONdExCWRkYp+VWLV+XMIrgGs5LTlHhGY5LgteCFB9JJSpG6ZjTfVPpH6nIn8DlR2ga27n25XjO/qePrv8dSTxGKC6OG+E6fliZ2Ury+WE7zPqaXX8RtuAVQO6wQIxWjH7g2t1aEg/27nSlRy2rPOj9bl0+HUtjJ66tZcMhWZ7BC+5pe3dafeuVq3u9fjofDKN5r59NVSxDH0RRWPWpd/efSCLRu7zn6QYaIgtEuzXMuxnLhwmjrX6QGNn/5/mbL6XHMi56SZEK8dqa9a8lFdslznLcyFnEPVnrjNFVj9RUWItCXYstNEP9bhRBd2nClTyM8CEcyUfwhFtvESoMwKzwNjwusEkI1LUnmRoksMNrXoi5j8I1XNWC9UbAHq7kQHH42aOIqikdAea94+VBwPgBPs7fnoe+xUj+TgBzkL7Odm9JRvcT2Yv38y5gTtYp7DB3cxqRwH+aI0k9jOEasiLDUpI0xeQdGCbcPCCRy6IzEgln+KchRZAZ8dBLEdKHmIFhXFsFa2TOXZQzNpAOJZJazJXYmkrxeCHpDHPkYquvD6y9MrBityh0tFPph8azYuN//aUTnxgXjGEkx4W8TVP/vuLzw/IwA9u8y0W7u8c8JNB3AbKLjMrlZbsG4dW6ifpL7U530NLCGfaiK04dMENdlvbLf3VpL82i+WAQz3uDOE/iJOcC6XmGf/C+5LEnTsVbb+56urzv6ea0rqQI8qKGUSOZvRexIC96YJ3oC8/f+lPDxJtqI2FuLT7tBB9x52ep59/JcvtGIsSk0g4SdZMQnwpXWSYTzU0VZEVCRcYgRLgBTB9h1IDESIRgYWNNzTDhNScwzBowjckpjge6LUjzTDv0/CSUWYzkIXl9iq4oaIy8i5KoLkebmP39Mzu7dLl+Hne3jB/89Vl/ZI18exB2NJJ3nqcfBWAKT2teal4wzRKTscrPg4ocrLIIgImvbewpDwJmIhJeeSugvdTQV7JKBR2ms8xJWccbIXGdmJwmYrTHxdk96d9rOD+Want7QOyVofa3uHNGgGN44mNtR9t58fCWdA/+lx/efArjJv5blRMd8IV3Y9lWruIHGGDDJhdC8RboFklCS3H5wb6dBgBX2GkNpM1jmo8Rbj3t25sV/CJ1vTkCdfeceBcwyxhWbLLuz56/NOac5lk/nY+GyTxOZBUpVRrn2QNDfvJXH88eujbxDOwSDZE7cx+0qfhm0v4+ELEjExN7zAfWGV18c//lN3fmfzkYZLfSYTRnsYimXNxfRPKMZT5KPX+1V9gLcWVuZobPPKtcFzCpA5jekRORCLFwCrTTk0FGJkb30hufCFFbIyGQDxpOib9bj5K8eoe5vJIHKVGo+6kB0ydRHQM3Mfv6CDDfHjoe8l5HgPlDBMz5ZIdt0ib5B4/xeLrHSrE2JKPXMZJjL6koI6vHguMQgy/loGFGv7mmCBIjWyAGmAUIFTKUl4VaXRx7HBglMTKWA1wFCdTBRLspf/BGKn7OeH48tfTaOrELg7yaRoJDrgJCBFeQcNaJaVWNbs+Lh58+oc7/wrtGjwAscfCZI4kb54l2/O6mEh0iWl+AWTt2g/401+pQetH0fy9DLCB+rLWXrX+7KzCvxeG157t+vyVQtrvQEPuz8Ix3WWfzuDa9qHl86B2H4FzW0ppvvPDGbFbpWdaL54NBOk96cRnFUjvnXY/7/j94un9+vyAOZnl939PtuQvPTWkY6cbU3vrNAZiQF50ecZpN8xvPv7b/pd4ou9XvJ9NEiQI9IkZIPon8qXnEz1fODyLrLpyY+6/2qnJcH33IIYeD4ii8HrzkOABFwijsMHH48WSqBjDh7JHCG2lUA5jak0hNGM1JEUZyFTSX9dGnx73D5NAL3zXIVUnkUFM+mdC+PnP5iGHeI2T+JADmgc+x/gdb//jMZ97BDvMZ4nSeaPsSscceIxpcJrZ7i8JIfmxCfBItd5ivmnokh6xozPQ6RnLXSIncPA+AmeLXIfdJYAkHYBkuyqIO0JCSYhbywQSaJ8AqYQzHFVzgos4s347k8aup+FjO3KM9y15b1/bFTNspPqQ3TEklCZMeeSPhXraOi0lRjXaL4uFfeVf200+cyk6gMra9kOPgc5h3vPu2VZvhAS1kt/t7pU+nZZSrAvPugam1QB7GPpfvtxzXF0C6cm1vHw8BKyomMD6/8tqN/Mqt8bQ3iIrBIJ2lqSqjWKHRyDPr2e+/v/9ezpm6uu/p6tjRrSnROASReMKduv088eeou8xRycvo1CBU7e5+9TvbX+wP05uDQbofR6wSjBsrWMU9d5YxMRX+5Dihn/JMxP1Cf3Vjwv66Tz6HDpMnwlhngpBANICJAV45CgzTwWAZjjwhhMNwn3p8gy2d8UORmMLVgFnKeQjvQOMkdJhrnNy0IlRHBYZJDcOkPNqjn6GdIx3mvSHmEWC+XYb5fQGzBt8tImoBM+wwIwoMs7SaxSxj5X7NMLHDzBFd2QAmoXdnv5AIG0ZuF1VWOi+RLEa4sSsulYPrh0n1ZsTfvZ2wT0ae7x3L7Vf73k8YQ+OFE8F07pVw3kHvya0NVmhhHYnxbL5+O68e/v2f6n3owbV0fW/eXMiRTtQBzFaK05ULHbx6t6Nxu09c8X93jj1LAOwwz5V9ZQgAXgHcA06g7vi9WjVxR1oRmGUNlpkiunZrp/rO69uTXj8q+v007/WjPE6jitXBF+xX3pO95/RQ9K4EsPSE7nEw71kAyyXrXgI02iWJhjGjEwNGMdOTP3/h5hd7o+z6YNTfTyIGhmmZjCrrnIdJlQxi1o2fJNGD+5H/QETi6rF986V+qW8rFRl8ZwsZmA5x0cIogcu68UIIM89NAEzOpYeyPRIATKKyyv0wGZiinAfAdKn2ldEuSzIHS6Sy0Mvj66hmmD6BZiIim9NedgSY94aWPyFX8r8hhklsOiaGlKJbGfF4SsxGxWhuxAYYZqieMIq5PBdw+GC15BQJSlNCK6SIJHPjqRJJvc+M4A1nMSNfcozoTpOqIp9diqOn9xX7mS2ir5/O/TdxLsq9WfMcGIGmSBSfKcGlQ4hHwA5yTlSVjqZ5tXY714/8Z+8dfejEMB6CYbaSorav57DqidVr98ID3uRVLveWS83lnSEaQWvejNXLVCEIwg8E/3Y1lx1wXLBUfKnkocxBAAAgAElEQVR33754fH2VxweD7xthGePxxHzr5auTLIuL/jDJe720SBJRSSmNcY49dUo9+IEH4i0A5ZV9ohtTTzszVx/BbB2+UX/MFtBr0FeChSre433EqNn82W9f/8JoI73eH/R3k1QUinG4V4OXHBsR7pDGYctYyNnc29HNQfxRw6i/OdP/bmMuXhMQq4Nh4vsOFwYAGQKNrMA2IPjKjZVOSW2lS11IEaacIjbQeMld6qdy7kM9L2U2MMzYu+mMqA+HGXSYstZh6mm+rz6Qbh8xzHvDzCOG+TYY5s99nOhPniF+7jzR9UvEYIu8cyRvAHOT6FZCPJ4Qm82LUcnERtgsKSIHR09uRLA7YjkWyyAWcs4wBc1lYYSIyrCjjAgeOcvRSYExfUZ+cK0nPzgW9NMblf/jM45f5Eha5DIqnBuhIgYaT8c0Z6Twe/Cw+wzxDk6WxqrJvFrfLfQj//D9gw+vZ3GvZZit/S8wygNe8eXl+4BMaFV03k1Ib5PS7xbkuwDEw4N/w8qku8dcKToLe87G7VNvV5rgX+eDThIxzkhHL4vcfv2FN6YAy6wX571eUiZZVCm0OXrypzK2+ZtP9s7cnHh2Zezp2r6j7dnyKh485J3Lf12SVgOnFDUQwfGzkfryS9+4/MXeWu/q+ijdi2KecxFpJ0iHXEy0HDuLyEuEb0wjhkyMSLwxok9qQcePT9z/t15Ul4QUThuLxHQ4JQnecuGNMVbUxxpvfMxluKADMLnXXorEcGc8AHOsxlhYO99YI9e4cnD69HRECPWohuSiKqKpy/dGW+l2+2W/fZSH+Y6Q8wgw7wKYF7aeZVdfGYTnB80UL3xlxGGJREsk/ONnzjZNkU1L5CQCYN5mCA6+lRzj8WSPzdzayMzmm0EJB3+4Df/SG2ukYSQUd5FkyLzkSjI9KyTS1LHDRFUuwjWwt5xxUjcUe/JWwj55vLLPnpm5F1gUgFBUXERz70ZgmAIME447xyVHKCP+lUMrTySqykbTYr5+a1o98k8+uPEzWaSylmG2spluSdlqAlA3iLc++tzZ+72IYuvU3i5dOcux/Q72ueo3b1hj13N+0L2zrMsN+NloO3HkSSS+MVXua399aSqVKvqDpMgyVaRpXMlYYFnoM8GSf/B0793jkviVfUfYXW7PiPYLT6gVXqQ1rVoym7UBHD+9iGirz+h4z5svfOPK5/v99PpgfbDTyxRmZMOJa0tYqsAqab3yVCjNplAw4Uo+ty56c43/KhKnTszd54alvxXSjsIdvL6Ex4JMUdajdej/ibSJ8JHC8w/AHBhEusHpk6s5nEgLwMw4Oehr0Y7XyorC4wraU1u0ZJihZvcocf3touYRYP5QAZMawGwYpqNROZ4fA0i6RPnYIveSQkwlNzVgcoziaD3TJuRZMirDZTzhCa+MDWz0esZPXk/VpxJrbr1r4r4An7EXOvIERSfFc+dHXCJpg+EizmTQwBvu6rLD4Ccvch1PinL95rh47J98ePODmVLpzmxZSdFeyMM/qsNYYNen3aRYLNjeovZ2aYXsVj4c1FK21/DO73Pg8Z2r9wHh+53hwN0DUcisRH0HM/4vv31p5hkrer2k6PXjMk2iUiRKYx9stWG//1T/8UhyBfkQxvGb2FsinQjcDi2Z7eff/XN1vkHgOxAS2CFePz3k5t999bUvDteG14YDtZum8ZxzpYWiykA80MS2MaIyKfyUCV8xlmhi1u1JNrzW57+Xkv/2iV39l4rxmSqtZUIEKREkEaYiBJsG4bqShZUsqUdykxOL1jVpjOTSlwlSi7Rnqh7JE1f5wkU+C59T5cV6z4p5xXIe7Y5mtGSYR4D5drGy2aS/o3f/W/nO97TDvDeGeRhg6gCY2GEGO6RGZFudhwnpEOyReN24gjMjhRUYyQ3rNYCpuVRXMv7EbsQ+8vBU/+Gxiu86JphRhZKk2Jy5OHdsJMN9CFUyNWDidRx+GDp9BOeTvEzy3KzfmOaP/uOn1396mMS93QYwwTCXneOteGZZa7s4eHSu36vHnNbtc9CJs0weWnT1NOzzwN5y4RK6S0BHZ+QPkqWuvZJhRUfhEBNx77/5wqW8MDYHUPbhvunFlVJce9TBWc9+9fH+I6cGLFseeWAwqPeWdelb2+nT6fhZEdwDnBH1dnzAaDMj/SfPvfHscNS71hulO71YzCVXmhSvIAUSUEyiutNRFVVsAobpWKI9gy2L/GsD8dEypgePzc1nN3K6KrQ1TohgqUSwpqhEOAiBd/rYGIBj5MnnOqckXjc4/nAhw/6y9NqnURau5JAY4WWMxgw8+YN6JM85HQHmDwBjPwEMc1mr29wEFk/XW8mK3glgxn9xS0xjxvIJZwgO3kk5j2eMGUdrM5uFHabghuEL280KhWQi/CGwtyyjNIzk0FZb0ERugwQJr7nCiknMBm9k/MPOseNP7Fd/yJBIJARyHTCbMe1FkpMbEkPxmYL7WCguhcfm0xqkOQQdZqV1PC7K9d1p9chvP7H21MlhMtjB0ScnKm0oU1j2fx9IMa8PNYsxvK1+CGPz6nW8WwFxSM7lwrZ40Gu+Csj1rrDeIbbZlodFwoVADdgV6yOPf/47bxbTQgewzDL8F1WxksYpYXES/4VH04cf2RS9+sjj6foEo7inaekXR56lD365Y23WpgsdKWg/AHOrz2kjseWfP3/1T4f99NpgmO4miZorJSqjeMWRrIGqJY9YDVspI8fSVYYxpZmgUIK2ncrjN/v819bn/osbuXtZVF6DXQIkFeE9PLrU8Ht7K42NGi856nYlTwz32GFKrykPaUdtHmY6zIzLNbNOhb+mNKv7ymNud9Wss8M8Qf7iRaJ+U4K2fkcJ2rNs69yt+ivgGZSg/c5Cl3fUS/4DIO+P70P/wwLmpFKb2EW2DNMUJAGYkTWswr5SKC4sxnP4wxlH0jqONcIR14bERPi1Kz3xEWDCE/vm37TxbiSZJGd54UVSMD9kHOEbLDyWh7SikL6O3ykApq7KZL8wazuz+aO/8e7hkw9s9NYwkk/LxhbZaWHsJv+0QNkFzLsWix2y8zu0cqIVqa/oNe9gqd0D0kokHJgm6HQkGCnp/YvfebOYzKsi66dl1ovKNI3KKImNEBzubfaRh9MHnzwlh9hXXsORZwxxOsBymXm5AOk7tJ0Hv2GEMOEIgMloFNnia89f/XJ/mF0brPV2MslyESsc2TVcOBZX8pAFbavIsDF31gjGcZlzGNlL7pIrx+Lfz+buq8fm9oVI+1Io4RjkA6jRNcZiJMdqE6dzACYqd7XJKSJpkVqEHWYZgoTxPazWYfaVspAXQY3hY+8SyI4gN6JyN9Mbt19v/sEO3hFgPkPnz5/vAOanl6JmfDycGP8j/3HEMH8IO8y7McyZozXvs80wkkukYMPdwwJgYgzHOG7APjGSe8OTKOF4ifzLkFRUkpgoP7zSFz/rPT/2U+PqX4aKHiYYi7XEdqvwLCkEGwqBoGAcV8MiUzKEryMQR9QMsyx0MinN2s509ujPP9w//54T/c3bYFcFqhj8YiRvbyjtfrLL8rqHoJYV1kC67NCpH39wD7l4n7tGurWAtFwHLCPh7mS3wcXD6/QhuHheePlyOZkXRZolZb8XV0kal1ESacEZbjzsA/erUx88E60DJFvA3J7Xe8vg5AHD7h6eQlNlfUkKh6yV5knJiPpxffTpcT177sL1Px8Ms2u9frzbT+I5T+KKmDPe86Z/De3JtoqsnwgUSjSAiQ+9H/ut65n4zUHhvnCipO/wmYEH0kGoDgeQJPSUIxSuGcmrxANMAaAAzHD0wUjujS+d92mvDhAOgInqigqPQ3VF5cPrZHcznR4B5j0C+xFg/kgBM14z2h1DJiW+dmOwSq1EAExIi9DPI2rAlAKH1YTzcPQxTLGEVVUpscO83ufnx5w+dnZun9mo3B4aeEkCMAXPhYg1ZyPnjArMFFnrjtcM09bDPS7oJtfxXlGtjfPikQ+eTh5/6sHh8Z0pI1QxADRCRM6B63frqmmra2sgbK/VNUjWe86DLHQFPA8Zw0POxF3A8w7HT0cDGX6jtmKiAcuXvnul3JnkRZYlZa8XVVkaVyqVWghpUanzxAl54hOPJRvXxo5hFA/MEhfx3FFhaq2lRbdQ8/kswX/ZOXRwX1v7TXuRpxMDpD7nuy+9tv11AGZ/kOz3sgz9PqhRMx6t4IDiEJnCisTaCdOq4swbJkR4yt9Yo48VnB7empt/M6zoclxa/K2F8A1YJeNIGGQLhyI0JXVVFQx3dyaUJ6sdcjPxtYWXuJwjmAOsUiaZQQ2Kw0geQ/I7I4zniqYNw6w55uDEWX/x4kXqn3w0/E2+9Uh+xDCPAPOugEns6iv1rrGWFVEjKyK237vMHrifaLwtGJ0i2npV8sN2mDMXr+UNYMLTHLSXVmGiq593Qbx0huOfU6TASZoMTBASNLHAA84s21bi1K1U/Lpy7sbjE/s5AKZtALMCYJJbY4LJcOSpl3BSIjMY3eRQGFnsMMtoUtDaflk8fF/iH/rNJ7fO3J6yOiC3cbUs2eL3CfrtFpAdCAhe1kN0R/g2z/JABFzzvAeQ7lRQrB6NlnmaNQWE5VFxjz4e//L3rtntSaGzTNm0n+okjTQqHrAIds65xzfk8FOPZ2vXJ46FnWULloWjHHUcWPM2nT2LKt6gH11pn1yRPaEPCML1kwNO4939a5dvTv6qN0qvD/rJXpwlcxGU6MYygFjoO0bUFCuU8/vSwLZvLY4+uZLDq4Po78fafmtr6r4mkXLkREhc1xwRb/gotQsIFRaIfuNagrfWwGih8IQTSNYVvT73MqpH8lHQYWpC8rqVyudi5iOtaCbszv13MEwAZlUD5m7uT197Orx+7hz5Z/796vL879T6/U/XQoXFD+heD/44Gsnvkbj+OD3sXneYPzhgGhevzbQ4BhmRlkRxSazAtA3ZENKKBHGGf0/o6VGGRSYRhhvuuGWJQ49BHfdWMSZvJfy92yn94mZOf3o2Z99sATMXBLXSmsdIXq/10I4dQjwAoCFt3ZIwEK4XZm2vLB8uZsXWf/eJ+85vT4ntz4nyRnu4GMcb2tgedWoMRuXsMjm9ZmR3Jp7XbzsIOguheSOKb8f51uVzoOisde50d6rN9xf8KeDiAVh+93vXqtt7syobJDrLEh2nyuI/tMehEufsUPZ/63w6vDl17Fpje7w1rcfwXDPCCXuRGn+X2LnuwakOFKk/50gyGsV1iPDly7dfHc/1S4Nhcj3pp/tJlsxxrKkBkwMvcYyxQvgidX6fNNcQl1VeqCsb8rfwqR0b+8/2rL+OAA7E7AMwcSVnhqxgvn3aSQhpQDcBmExIb4IXFpsYuKiUS7l2RcMwU1zJ0ekDcA2AWXlI4mdiunN/2GF2GeZnqX/yzBFgvg3YOmKYP0KGuV/SemmjAJjYYfICAhMmUdwTWWKFMJx5ybHP5Kpk3PbAOcO+E+0wDHvMMLpbZrwaXunRB2eCfWhT0x+fLsuXGCEPkxJLfg1V5yEGEZU+MKOwmm1aNMk6hrQiOS7L0aS0D4/35pv/9COnzldOSLh9QjsiNDALV03j+26em27oRg1yKwzsLsVjLR1px+/l9bvVVHbWAHcb7YPDBswSqgKYo7x/5bUr1fZeHi7hPewse7GOI1VBrQ+11qk+H/7d92anduYuuHgwit+eYgz3S4/44hJ/MAVp2YPeuZI3q4B2HRErRuspo9NDohdevPy8l9Hr/VF8szeIx1Gc5CEqI4QcYUgI21HUTBSJcWMyXlecRTdH8S9r6U9uTt3/OxzTq1JALi+anaX1lRA+MTgHQmuPc6DAsx7G+BYwtdX1VTyAeGq5n3sfqVC7y5tjEAKGrVA+5GNWFQlW7hxnG7eOAPNtoOMh73IEmG8DMOlpovgrxOlRoskNYutvcyTfL5N1Z/mSYRbEigCYFFw/2F9CrH4YYEbQZHITnD6eMdRrqVy5/vVYPD2NxN8ZGPtXJ2b2K0oKV5HbZOSl8xwuIqCR8thlBnEKB4MV1lkxK81oT+uHpuN847ffu/metTTOdmaokwXjOuR4s+LlPhwAu1KiRgoUHnfQjbN0AbXaTLxcvs9CWrRSZBZqiljrD/f+pYtXqv1JUWa9IB2q0p7ScZIYwciCGG+k1Pu9p/r3jQsKYzjA8tbE0U4OZgmPeB1l142eC7bHVSnVIawTf0aI1qH53EgZneh789zzl77eH/Wu9fvZzXigJkqlJXglC6U+dfI5ZD2Mszyt/Hgc+63tLPolz7xcK9xnhzP6HprFGTc+ssJZYS0XxjMXewQLw1/uvPCWk09J2qJhmHEk3azKfdIwTOwwI1I2jOq49RjsLQl4SfCmI/sKR5+KTXbOdAFzctZf37ng10+dC487fY38s/RseD62zn3c0zPYW9ZSok9/+mgkPwLMHzFglg1gol+cNGp3rFo0Q5IRFYc1EgzTMG8lIJSTNGivRmt5kAnBW66MVYxDRiST7Z58166i/4R7Vq5X/s9STbsSQz3+PQdJkpPEm30mAjgglfeM79vq+H5hHh/n1amPnk5PPHFykMASOClqHSLoy8HdYxf4mrE8vMuyhbEdwZfyoWUqUUPM7tB3hvdtgy06h6aFuL3J0wSOAaDg3QazvPDKlXIyK6qsF1VJllRpqqo4joySQBnyQ0nZ33+6d/+0JH4VlkekD02J9uaOZhjDoQYAWHav4Hf44Ls1Gyuff7C5e+rFjI5lUD3M81cu3X5urZ9eSdL0ZtyPchmrEjVoTKAZMmRygvVqEoKNE/aeXPgPSC9e35qZP+7PzU2thGGWwqEHgFmRsUG0DjeXtU5J/H8NVDFGcm2CTZJx6cEw26MPQLELmLbE9Vx5V2iGX2NrygZdJjPb9Q6zGcmPAPMdUc0jwPwRA2ZeuS0krIe0opIYSlYDw+SSWWc4gmZDCZovuadYcGaZYxjPYwGARK8PQDPxViFqA70+1ku+HfuT24n6WMHo3bF3b6yV/tuJ9ru4jnOLWEScWp0wJPpzyU9pQacK7U7YUvfzSeHWnFZ/7+kTJzGqon+7gIWue9FuX79Lje2iYyc8f8tA3wPX75U9ZNftc6Bi4oAFspUW4SZGwVYfCe9fgnQor6Cx1CmYZRpVURIZhXJMIkoFRX/v6f6D2np+dZ8Io/iNSV1ihqrcBbM8wBzbnWyny7y5/tz5jaB+H4D3AMEbA067Ozv5rdLcTnvxzSxLvjcS/HUhVA6hOvKBQ7oec2oaiTPzRLyfeYpibb+8vm+/lXE2RqePFcLixMfQSY5poSTLUE3OY7RaOCnwfUx4FWGnKcGPww4zGJKYDzW84UqupEP/T8swvUFjJS5bKjBMtUGumhFFLN/ePALMdwSS3Xc+AswfNmAS0U6P83jO2D4l64bzLRx5jIKsiLGipAYwDbOOGsCEyC74wEVgolIGhumFEQgMrozlkSTJDHiU5bC2mJKpMmLZrhJnJ4n/qGd0XFl2eaDtBUUMU/bxuWQPOUYbgqiIjb/BKj3Ntd2cz8r+dHc+/C9+9r7HKscVQAV7zHpU7bprliEbB5hnM3J35TZ3hgR3dqJB0liDahuW0QWkxaGoAbPALOGEkpDwWP/Sy1fKWanLLIl02k+qNEt0FAkjJbw0noaSpb/7VHYfuBkCgBHVdnPqQsUEQnRb62eb+H6HnvQOEF26npZMuGbOkfQ0SjidGnH/0stvvsaVuJZsDEiupymkDorozcz4S8yweS7p/iJhTxrOe9LQC5ul/4oqzM2k4kWIVjHIeibnIrKh3wfuTSMt8wDMepTH+Qi/xiLhlSEb2iMdstiJEA3Nq3qHKTPvZKGcTZpEuhxN9kQ0r0dy38fgT8Riun1yRtvb8JDjx0WiMg6L1vADI/mL55aj9/kLy9ePRnJQg//of/zgV/J6h3mx2WFKdnYlrWj8F7fEvLFGbm4Q7aWcJzPGZlPaIIq2BE4Azd5SGyaAmBIYKUkUaIsEnsSW80IInlrmrGVMW8mlYGCVod5CxMJTFRLYISvyRiu8nHuWuMgfmzI6sx/xDznOz3DOZviLjY1/ac2wl1Ntp957VhL1J96ezWfFaDqe9z/x8PChBzb7w90ALBhZO/vFdge56NGpv1Ba/eUdANpkXS5Z5LKTp33fxWO6Dp8WRBvBe6iqaYI0kDl+4ZUrRVmZCjbHtJdUSRJplSojoW3kzG8mrPe7709P5xVxjOAYxa9PPe3iwAPJFHzyoXJjJa29+fwWINrdY7Z/lrYqo1kbtGlI6xmjodT6pe9du9CL40uDfnojGqRT6iVr84y/z3I6EYIwGUml7bd62n0z1nQ9tWyPm8p4LCyRrk5wPUKP6cMYHoGWkrDQvNswhWTG4+jjEo9QYVdNg3woBHqERCOIlHSIN8K1HLtP/Dp+jWMkD+5Z/JiT78vQ8WPm+9tnstPLo8/RSP6OEPAIMN82w3ybgElEez3OkzljM00bJLMtrBCXgEkijOSlYSxOeOGhwzSMcRRDkkC8m7cWwvblDtMxJiXunDZIkMAwfemUl8QKYukk4u+aRvQ+zeiEcLQrOIPi80FHLE6sv5YadznR/hpjjk2dPzMvqyEA85ik47/x/pP3Q8g9zg8K2Lt6yOVucSliX4zezfO3SDhaEYAvgfUg4LaypFb8jp9D14cio1gycrp03375zcITVVkW66wfV3EcaxUrK/AsEPOnhnzw208mJyclMTBLyIfgD9/L21xLT6b1u6+w4rb2ojnC3wmo7eW/s+9chG70OY33tvd39/NXBml6KRklBRv11nQWP2wFrQlrbwrnr2nJjkETGzv/clLQt4eVuwanj/PG+rDhDFrcAJh4NSZhjSXHFTm4e1CqyyNpLJbTYfFhLBxALWBCGYXXQz4m9x6KqnYkl2CYeHvYf2ryfRUA0xtz+36Z3j5imO8IJxfvfASYP1TA3GObATCP8WQ+ZjN9YoOk26plRXUeJvzhATADSEoOLSbCN3CUQZUEh2hd4PaDA6sVQtQjuYoiwbzlFmN5BPURU3spHduO+YdL8u+JyV3ta/tyatmOYMQrxvoFZydLzh61jB8H25HO7THrKltUJt+f8+lu3vvHH7nvsdJwuV8wmlcokbnLGH6g7ra5bi8aIe8GhsueoAU77YzndalZ8xeA4w76ciRRMZu7F797ORdS6F4WV0kS6ySVRiUx7I4hIPLshhz95vl0az+vHTxtTBuYJcbwsJOtfTaLo9Oyg2i5s+wCd3etsLiiN/tVwJUSvq2m8C9fvHJD9ON5MuoxMYhTEakiYuK7kaFXI21vM+bmhiiqEnF/jjYoxniq/VdG8ItbPwPDBNh5iX2nt9I113QrLAL2AYKMhLVCWlFHrJOAmhYA2PwcgAmGCY4pVeIwyvuoZpgyRwQyvs7AMo8A897g8c5HHQHm3wBgshAgDCmRYkFGxA3DGB5ShFQdIIxDTkSl8KFUQuCuKgWvwzSg6mPSSt7U7FbSZf8/e2/+I1l6XYnd+y3vvYjIpZauvWvpnaxq7qIoSjLZkkec0YiyxhhSY89gMIZhwIB+GcCAgTEwBkXAf4D9m+HfDNjAwLQMbaY8gqhpmRJHloaCNGIVl252V3VVZS1ZlXtEvOVb7HO/70VEZlWXuputH+jO4JJZmRGRES8izrv3nnPPWS/Kj05s/CkTeGvJxauVi1vsiNkqNs5pMOMgdUMk65iXWx2fapQ635F7put82Y4bqren/hNPVYOPnD8y6r0xQY6IPkcAcrFFXwSZedztQXONx5ptZOF7H22xCEzpDRjxlMX8d2d7z33vh2t1WRVdNSjbami7qrTOltbBgxyuFC+dtMe+eGVw7MHefN0RnpabdQ+WYMPnM9NekH9QSrRvXntAznTw+fftOOJ1q9j4Nx5sdcVqtTesqrdKba8PS/3WIOodFNgSPReQCqFguxIbItPYcL4u9BXl4+bqxL+6PKWbiK4A6cMqenTnkXUA4a9ZC2CiPYcLMcY3IHtoUHViyoH5JTn8NiQG3cEsM6hooi5wjuhI7ZFYvoH0gQ5TZpitJE6uq0APYbohh/5whvmusPQQMN8WMOeO62mGubp/hkmXqE+N9LukxgXxZIekwtwYkhqkLZpjddudRPUoLLkn5OMmx3VUldooBzAlh31mVWiYCENWBGG7hnpO9RUmxp743VjR0fvLxc+3rM4dq8Mfr/h4vQtxlbUyCPXSAEofDFZ9UqZPwI4kVM/sFQ33on+2jXS8ntark732SDtplv+znzw3GDfMfVIiqsz9BsDzjZ59CY7QUQrc9XvXeUc8V41zMme+qy0glcFpvheezH/v3X/ort96OC0r2w0GBTZ42qKyzhRow7HyEuhjZ8qn/s6HyiP3dgNjLxzrjsjiQRueCB5kjqGynO+9p8eRXuhFdr+PuFg0D+m/X3z++JBA3rRcMR1fUvHOrbs7naIHg7K6vlQVb1RFuT0obA3+RmTqWmLNwJLDdkWE6xxDoxXFjUJ/uintc4M6/t9HtsK/N4YmBjPMHK0L2zeAoidHXUuBtPZ4QgbRTHCFljVJIyDJuhJGXVryNkbNNoDgkYpyxpITxZGVTB+05AKYb15/uHzMpSPyGlHz8vYC6fOpJ5I++wDjcDXyXYHtj8mV3yvp814A80EGzKfUYG+LH24PjrsYTqDCFBsMsigPxHyjrzDhk/E4wNToxgGeGnUKsVPe7hTq5L1S/wIpKk/t0R+sxPiwC6FsCj6KljsiekvBFExpg7wCj49r0Ep7hfGnNzSYRrrQ+TBsm9ZMp/VostWsfubi6Nwzp44kEXsH957Uxu6LxcUsb1+u+MK2zgFiqBehz/fA+4o1eR/1QnHJDYeYylC88dbd7u7D3aYaFHAb6qph0VWFdaa0HipS1E2fuVic+plni+W7MNKATdtupPsClskAuM8m6lca52z4nPBJJkQHZFD7CKFFg5H0FhcCzaRo3RFNu89JiO8AACAASURBVLduP7hdLlXbg6q6tVRWN4qyGBvNbZYTSegYKQO4o8Co9CjEtuuqSBvsQtxYKj80GerPV3X4s5VJ/LNhiHvifAnDDZgNkw5gw9upQ+ntU4UpGiv4aM4qTKsr7zWAT4zXyZqBt6DCAabR+OAnrMIwHgLm+wdVhxXm+1phHgTMI8dbPz2ZWvI0w+wrTPkgaoglndQgaNW1xpQ/Wb9pT1prRqI0Q4y+VcTT9wf6F6Imc2bP/+6yV1PIlaYchq3VRyAeCR6bQQIvRlZ+0BySw7IJ+ArujBo0wV90UVWdd6adNNV0Z7rs6m75P/nshae3p6R2ADzdAbu3R9IbHxOru8+g4tE1S6ns8jxQ1pcgSkyzXMwDm0nj2qqybTWAbKjoksZSeaUUKkv+3DPVuU9cMCOQOsnPMuWHY2Y56XrCKgN96vJnWpn9VXG2n1sMacvX7yvR+VwznRQkw8ci9EzR/bW7OEltFMujraq0t4aFvWmNrQuKLc4FUmIaClGrTqpG0FMIOfbUlj5s4nptZ8Pekn5+e6i+ULX0J8s74S8GFOvQUdQleQ09JbZ0EArkkTUeU9lcjTppzcH8I1kSwZKlAHIEYMq2j+ySd7JbLms+OBSoMLP43Udat7evPzisMN8biH7gAHNxuevXv7pfVnX58vzfi47r0pL/z6sKaZG7G4YvXQTrcIm214npaaKzr5MaV8ST3QyYF/oKE4DpTuoiBZtBuN5RLRVmbxoMATtY8aA0a7F2A6OuiVsyBoCZQtBGD5f0T9cqvnB61/8fq4632AQDb8xa06BRfAyzShQ2WC4xSvbQYe/GAQRrBOlOqmMadIYvOM+D4Jxumqac7k1H9V6z9I8/e+7SbsMamkwQJik1ca7L7KMh8MN+JrgvO1za877dXlh53GfjhjMHE+wdwYQ39TR+7we3fdDsq0EZqmHhi6r0ttTRmLQ/7UPgX3q+XP7wKW3QfotF226k9THyw1FZZiMNmb3O7XQWZUSPhKllWZN4Xi4mVO67fbovnM2QQnmkYhrSpLux9uDOcGm4Uy0PtouyWBtqc9sqXTMngJRtT5huUEhtNocYA7LpfF3GsGmgnHSoJzVtHFGfmBb86VEdv35sN/wQQvWiLDr8FnNQAUyEoMlmg6do5oCJCrR0XWbFIdA0cQaY5KiFvEgA0xL2y2WeiXtp3frGdLDeO6zTNaIrn5/rMOmPiJ6kwzxsyd8b0P4Y3Wp/S/4kwLy6AJjrJ17lF3Nq5DsDzHWe7G7wcTpOG4uAye4kx0750kbYQzRdrcR8IziGG1EBwAyeEU8BT0yv4J0OFpy0KVKF+bDgZ+5X/PeP1OFbJ2p/DZUlBqDMzI2mwVTxMYowPgTcImA3aB1A+kChAtIIjsPEnQJg6oshIEkr6Lari/HudPSz5weXnj81PHpnhwiazEUzDrzQsxlf9r/snXvmcQ6LIJpBc9ECLpNIkA2hWgO5s7GxGV67cc/bqgzloArV0AaLY1SaKAkb+Fs+8D+8PBheOqY1Ksu+DX+Q23CElglJldnwnnV/O1F8D/aL2svFpMvF3XbBUsCNJhqVRMeHHO++dXvda7VdLQ32yuXBztAUaxWZ26xjx8p04vrLISDHp0URGLOoHD7GIdYDx5uKoLbFyFoHpEzcO05fIqLx8Z3wh8M2bEAFhdVHVISiiPI5NbKAIog8QznvMGghhOphUCotOXIpQxMjKkzMQEX0nlnyJDXqRGLkzSFg/ijgdVhhLhy9HxUwcVcn6AS9dZT0USK6/ZCeasd0UhdOzIJVY9jrWqGqhCmsNg6xj9KSw5nIgxCyqSWPLelywGoSqVofqk/WTJfPbbt/VcLkEsy50QaI2QQa7JV8LPpgpRwKShmxhVMKuT6GIW1UiDBnZ2jYan0hEldwBmvrulChWfkvP3P05Qe7pFDBYTsGc8x+62dx5ve2GzIH5p29Umg28wTxL3MCqdbijRt3uzsPdjCv7MrSYtWxK6vC6bLwIEZwPIaai1/9+PDscskGFSUqy7s7IZn/Zj/LJu+/PwqA8x3wGdmzQPy8rfh+QYIEtMR0uTKRjsIrbbw5fbC5e98uDffKpWqvHA13B0Vxp/B0BwJJFG9wLNYyAlXRg7XBho3HBg8FZt+U47BpNARhRRKua033y3ClLsJnl5v49dWdcB1KIsaWQQa9PpfcRoq1Jm9VAsxWUxw5Co3sMSTT4NCiuE1uRhrO6xMiC685CULrIr6Pjbu/QYcV5nsFzUPAfJ8BE5A5PSo6Y9q9SyfqQCcGA6mEmFunPE70kBUZg5JBD7RH2AJ5zDILozrlBTDBkqvK8B7R6oOKfyZQHD275X8bpRcbGHJo8dWcRh5OdThOaMOh5ob+2zuDuSkAE3p4CW0VuolGLfMFF3lI3qtp3Zb/8QvFy+ePFiu3txKBgqzyKfzCwVYcbMlzMNljW9x9c875QUWbjgeKoLLouvCDN283k6nMKzGn7JDqWEIyZI1XClBB9PSqXvnSx6pTTUdKKkuApQSWheRn6ZKRRg/qqa1Of3MfC/44x6HH6UAzodXfHscKc1bMWJcL5PY4/+YPb92vlqpduyJgOa5KOy2UvlMEvit1oFUuYsNbphgqhjbIGiPacmWU91PfDkPYYOTe6cJDf+m9rCUubyzRr5Z1/OZTu3ythk0IdsexGonOnMuQmHGKHYPVy2uRUBlFgqadAJgARTkJ2yiWb7pIURUggRJgUrS2o9jw/Q26vd47rB+25O8OOg8B820Ak75MdOXVPNN85f97V36VFF0meniX+IXnkQx5nbfXTZ5hPq3G1UJLvqzVYLzN9/2Zp6YqnHSdU9ZgfcOwxSpksisSCGMCYGL+5hSrUXIqCsyhc8ZYr7a0OrKxpH+GKVbPbLW/6zJgWnhcRswleTC16ljUsnoNJx5WGIhG4ggCKQC8owC406gw6aLrwpLrnC7YL//zn1r5+L3dKCa7svFTR4luwHzvkRiJRQBatEM70H4LCw7kEhY8idF3t3f899+8N9VadeUAGsuiKwdlZwvjisJ4WVUJgT99rjj18y+Uq/CyRMULoMT/UPlC9tSL63uLth7Uky7mIPt9YA47OwHst5brwTa9JmnOCpMNBJ0dG6i4fnNt08WwUy4Pdu2wnBSj4YStaktWd5Snu1pkDslxCBUmqkrEhArhA1rP+6hJ1WYaN0sdG0wRIF+A+LJWZmnrePmPqrH/k6Pb/B1WrhV3dTgWdU1EEIk8M5xKtPE9YIp8CMmTGTBVa8S/Di26+GVWNoEk3luyf553zBXd35i+vt47rAMw1z9/eSYrwgzzxBN2yQ9nmO8OYH8Mr/3eZpjvBTDTwTlBU9pMFebO8MSY9CnBR0Pk9pyuTEWoMPEDLYDZzCpMVqWCIQ1kRFDORaO5pjDaGJlPt5qfu/Cw+VewG8ZKJAILAI4187DRfIyR3CBxDwF2bgrzPwa/gmwfgCsWS5QajNk/50IcuqazX3x2cPmFp8xRmFXcy6CE+WWaCWbQlPvc75X5uDZ3kWFGxYd2FiFlRsX41o273b3N3bos4F1ZtuXQdiA3isLCrCkAK0Hk//KHy0svntQVKl08HrDhIHcAlrCggzM8JE8pf2i/znLmv3mQlBK2/MBc9TGem3JqzHNLSAqqTPRMNx5MdsaTjWJYjcvlarccllNdVq3WDBu3e0WguzjzKZzzckWZ1nRQcQqDTWIk7P3UjuNWqVXTWe9M0CJw311SL+4W/HPDSfj6kb3uhxwLL17OomTH/9VwtopKJEdGhPBClGONaEiubUjs24rWxA7Wb1pc22MYZiNhPc/5ERMOZe9vTH9vvXdYPwTMdwdphxXmj1phwuGlflqNd9fTsTxxgqabm5qOZsA0CTBjkzZ2LKREImUm1tZpFWC2gTwftOSViNgBmNpg7JeMN9aX+Lnt0n7xyCT8wbGJf50ZhQZrdujveNAU6jg7Mgpi9dppKgCYDrNS+DEq5T0+nRCuDyYmPtfVbkkFN/ivfubIJx+MYYeWqkuAUueZdid1vH7zfrj84nkIYmZBYX3+zaI58CLBgqpUOKecFe7aOrz2wztNG7zIhDCnrKrC26rwxuqIQEuM65YKVfyTTwyeGhnWAMu13UDY3AFYbsGeDYGHGSyTqP6ACQgAFEVt9rp8xHous+GJrJrfXkpgAcqkE+3HBxDRI7On6Kbt2u17G+VytVcOB2O7VI1toRtdGISYdaql+zbEuyognzMBJtA5AaVyUmliGILa2VFjJmEDgOk1CkEtz+T+Mf2r4IqO7oR/XbbdAxWG4kklLTm74OqxAKaPMZqykhYcaCnAaWD31mHwHYsJCCbMe3Lmz5KF20pUy6kdF9eiSqrf++3qtfuzt/1hhfmuEPMDAJgHHJlmy8tEB2VFi6TP31RhQmK0cYuYLhGNvnlPj6uH+VieIFo6IaB4f605Oe70KWMNRevY7zplyzTDJKrIIikSzRdp0uy5huGGhjbRM4TrBn6YgXjXxJWt5cErTsULp3fpfxk6Pw2QFUXFtYqjlvgYazJgyMGUKwraAzBR1qLKRAorFn4ojPZCeK5t2tX/8GL5/MfOlidSOBjJpgyE3zg8V1+71b15+4F7+fmn7aXzT5naAUgTI73Px3K2tZPARuYB0Fdqoo2Hm+H6rXveloUvBsYPBpWzlcX/vDEWcznQHvzsUVP9w5fLI3VHLFXlbsjVLtFWHYSxh+NQ2nGfJ1XOtohmAPh27fd+5/f5nPLRz0lyU0cipKIBNW7t5u0NU5XjYlROquFwrAd2ajEI1AYRdU65eB+2eVjilqlK6ucjw6kvb3xj9ugjViR9XeyFjZJUA0258jo8WOaP7lXmF1Yb+q2lPf89tsaF6Rj7XQkwg+B7bsk15ioYXcs9I/zMVpVHVQlm3CGKAkCNvy/ttyw8yEaQ1zG6MIxwLXLt8F5rf+/+vgqT5i052vE+9EyO0Ffnxwn2bvtb8v//h54dfJccAuZ7rDAXAXPvm/c0nUp3NNlWfHIGmHRy17vTFqsaxlA3rnVpK+5bcoZTkYXYRhNIGudbjR1BACbHUirDJKP0vGvN+c0l9SsU4965h+43igoON0HVrIet5WOxg2mwwaeFlXOiy4EkCSE/IIkivDdDXNpz3fNd3R75559d/WTdkQVgSj5502fb+PCv//j746CwpEL8Uy9fGB49MjJgzpEu2cps8/HtsCzH551wSz7ce7BR39mYjAfDsimHRVta2+lKpKaijP/ZZ4ZnP/+sXX0wns8r740T8SQxuB1RLWFl6e8d3G3fNxpY0I0+ss++aCcnzXy/wZ6/7/03ZW5JNFLO37l5e0sZvYdWvFgqp7Yqa1MNatYG/QBKaa9CvGu7eA+zFYXt1qgQYY4HjHYbPvqwVIERcGTLtZ74jTKoRivvd0t1cWtJ/6c2xP9nZS9+07RuQrr01IxFow4zYRBDcFGVN5ZzZGIlLbpklFMVfFlHHyqREsGJHRZvqDidxOl21CHOAjNNBKZlEw7X2nvF+Wv3jm6mSAqib9MPIEPIlxOX1+OVL6dIigSYc8T8yle+cgiY76oe/fG88v6TwvtdYRLR3s17MrMUwKwUn2xPKDhh3l8DYJIAJipFtOVSYeJ7lR2K8OlF6BmGhhjPQ4MpmmetYRisIAwCoKrWbA/K8xsD/mWOvj67F3+rCu24VsXQ6XgcES6oKCPjflO0BQAPciUVwDloarr2yDj4F84P+cI/+ujS8ze3YYlGMiNMH1KiH95+2H3/5kOwVAAFCp3jz3306cIUpRZ/SYjaUfZkgFp0ABJ1PEUaglkeMJ1cglt6cK/dnW7f2Gq2QPCA3LEq6i99ZPn8peO6QusNUgfV5X2AJcC7zfNKVJaztcvF9cr9RiD7PDhn0RcL20h9WYkj0kNBnlniVzhgpWYaFJAzubh++24djWrLqpzood0th8WONuVYGyTVAZQkiSwoF+7bzt+BiohiITNLAckYpPsX8ESFCYWXirVq1YMqUrtTdpcnI/UPTMd/dWS7/YaGi5SI3nWAF6aQPsHEaJGaXgaAJYibsjYBq5AiHVJVbHQdbajkGaF9F2Phg4CJTaCA+aYl1l0EYJ76PN2lb/fv2EPAfDewdlhhvusK83VhyemF52nj1nUmukR7N/+9plxiPg4wtaolZiJMiO2IRIyOlok1wgRL6WR9bKA0VwFJsUG0mOB1GJEUAMwQW5EKbVXm9OZAfTHGcPRoE7++1Lmb04KP+8hlmpcFYcnJBERG5sUaLP1AC9+tjBv34peuLH365JJevrWZgAp72PhkDwuOv/dnb+yy1lNtdYOJnHdO+8aXn/7w6aOD4dDuNKl1T+RLOnh99Se1MkeqLNORiujEEkt296llEEDsr64149ceNHu/8pHlU4OCNATod3fhjo55ZZB5JcAy3X+SDS0y37Mqc7aG+Sj5s7j/Lhqlns05WFXmRw5FP+QFQ0s0oC7cv722Q1o1dlg5uzwIdliyKq3SFuc5PdXEe0xhjyKPjY+3TOvvQk6ktBFWnKKCiFLGlgKuYhMMDWSxF1rfjFfU57zinyg6+qOVHf8nheftDlF4ybsykzqORHdZlL6EwN05wq6BqWuiWHlVYOnVwWM6GHQvUnFS0EUMNJVgChqQk9C3YikBZt1YkRXVtb27CJhnX6R4dX2+zrGvHT+sMB/B0kPA3AeYX5sfjy9/+YCs6FqWFRX8AuIjIS26lz+FTyVPGlz2CuLm+xsaFaavRyd3fTxtKzE9ZCF6vJNqFJIfkDoiQkfrzJ7RDGKGCf58qibGuBbTTgFMY40B0MJl3ZmwtFHan61t/Gkb6K1R4/9i4OO2Z6VdCLrUQTSYjA8v5EWRrWc+shvb5yeNf+m//uzKuZ0pqVtbSdsIATiqy/HeuP3Wd+/dr0bVpBgUHW7oOmfbpi3raVN97NlTqyury+Vew4S5JgBtf7Y33NKhucQckAnO5MeHRE+NmI4MmQbYHeeUg47IW5A6AMuHYMGbNBboDTT2OaSn8eisqsXx27eWKQC6uJo543H2VZRyMDLRg+kb2HBs8gAsy9j4+zdv77K2EzMsJnY4GJfDojaDslHaYHZoog4jTzSKigcyJPB0v/D0A9P6NYpxG35UkQOMVsi0yjOotqh8h5SmgXmusfxTTLEZ1Pp3RtvN94tQtOJhabx4Y4L8MbrwDi7CkSL07dCjC8mjy+jbOmpbgYaT/1JZeWnVyVATulgoG1GJwpF44BzVimKZUyR9GERUmFrbu6NPfPve/grzxf0t+bV5S/7rB5Ii9zMChzPMd1Od/rhc91205O8EMG/wCxhgPv88bdxLFSY9dUcRnXkEMNs9c2oc+LQZWGHFhSVHuxyw+cMsxsLZK5M7rwo14g6pjxhZGaepnWoMBQGUqjQ6gD+FuTBaduZiXOiLmwP9hUjqvPX+e1Xnr5UxbsJAGNKihuPxmtTFjul8hJSo7vzJwi/9s08sn7+5GQnzy+0aQBRpqWT6q9fubt0b+81qqZxWw6JBreQ7r7umLSfjZtCMm8GzTx9dOnHqqXKvidzAcPhAlAW0TKnKJBpYppUy2aItl3D8SXOCuou02xLBHWm7ibQzDSJGh0ARVVqSDfUkzoGvInPKO+B5f7EfD8w3jB4zp1x4t+KgG82QPAnBo5qxe3Dn3o4uTW0LO4V0yAyqaVGVDRWwE4VnJWpFYJGDPAvVv+U0tCwjxWFg2rKdf812bo18nGgyHYaKjdUXGhN/Mmo6pprwrZXd8IdDHzaxby7KIa2hlBU/TA5e2nIBSLToFcEMQIA0FcTay1ZPdhCOLs0sjbOiv4RonaMVBqoInXwVNh2MFNhzjMPJ3V35zLVZS372xd14df2VGWBKhblA9BwC5n6YO6ww32WFiatfpst0dymda1FlrrxEvPMw/Xuxwtzd86daGpyR5WlnSHWQ+jjYxEpWjwjYo1MgdXDbIpQ60TxydR1cq2AajBVxVWotNm9C5ni2HHSIHpTr0s6K/tRU86cp0MhwXDOeHgSrzwQKyyrwlm7iLTWdbjWNG/70s+UXXj47OH1jI0gELVhozAKWCwq//ac/vFstjcaD5cGkqnQHOUtwnelab6fjehDbbvjc6ZWjK0dWy506Mna5MfvsTS+kBU5YNqveULkOLSMml6wBY53aeQjQMQoYd1HmoqhW50x4bvUluTJ9P7OK68XnMy3lfqOPBK/5bb0wp+wfGFoBWdE0Auix3XzYbG9uj01l66IsazsqJrYoGjMsWqVsFw17mFrg1BBZI6lRlrshdSg6t2YC3fExDpuKTztNzzHrgny8wxSnXvMLXtER7eJrZR3/tGzbH4w6iwJbAtAYDQAAkyBIR8mOFJIxgs8IueQCmHgNxL8DG2DwXncIMpMZp2gxcyAaXIuMhmWqY0cdld7AWp9TRZpYdaUHkWl6CJg/Qqn3AQfMr+57/lcvX37blvzM/0QMEw5c7rxB/DAD5u494qMv3eLVhxClADAVq1unFD1F9HC9OeVcPNsBF9F2w1ndYdMHax6MFUelfXYyYgdgFJYc68QuwDNXNnUS2z0wKiCSWipQmMnW4sDuKVRTUxyptTo3MfFzXquXIxjuyLAT+4tR4/6S2jh1ri7H4+7ML39y9ZeOj+zqza1kjwbDXYBH29Ttn1y7d3e4PJiUS9VUF7aDEh4Zr4PoR588W547e6wa3d8NCkCL6hCGva2w2PurwP79iEoOTwKVHCq6/uAC/FBNQqbUYg0T3W2foSOVZZ9tPid63nYdMwvTxayjZ8AzUPb/7rd30IJDTD8wTBX78HDtzqRzTW2LsjaDoi4GpVSV2paNLhmsN1KWei9inAlE0h8gjiXylmjNNv427HsDB9UY9XRX8n8QtH4Gz5GZp7ajf1NM3bdLFzaVh0ufb70qPGJ1Cbm4HXzktcf3NujY+UbmmBxLzClFIiQFN9aJ4M4u3lOpajQ1snySgAmtOFzXZYBJHdyupBIFQw7XIifbPjbqSHdeW7p2t3+Nll/cjScOK8x3DKEfBMDcfzAw7MqXX//qOwfMtQyYm29c4727BT///PO0m1vyh099W52hs3Kv00Lxmb/UApjbe8XpuhyegZ0bIgWEua6x+ehl9w7haCy75cRYxetcg/GlrEbCNxPzSlSbAEyL1RBUmxCtd1BXFmjo9cSq0w8H9HPOxGeVp/WBp++o1nWdtS+2Kr5AKi6p0N3nabzbbu+Gf/qTx16JbKqbm0GciVDVgdW+s741/t7trfVyaTiV2Z21/qWn7PHPni9OXTqmB1vTyGKCsZ0q041JoGlD1AJCUMNkAlqEg/0mjqxHJigTyh6VYm61nUuem5AoJQHjAujus4R7jMVc3j6aa1/yC7qvokw/k2A1OKbnqrLCCv/eVrd1f2OijGptZWpbVrUdlLUpbavKslVWO2SCMHwtpf9PTw/kNzOMhzBI0ZAVPQgRjI4664ie8czHdIhr1vmrhu2NVvPTTvNH4GBU1P7Pq734Z2WIOwr8ELp6jDw7HUMNv/0o+6vBlskuOJWhoUSjkYRF5CSO18S0WCtWbaK7xHWVjcHB1t9lD0yb9Zvy+5RPjhmmqv2d9c8cXes/AydeoUhfm39EDlvyJ2PnIWAuHJ8nVZg9YOLqm28Qn16oMMcv3eKjucJcBMz7e/G0t8tnocGUeVKsFchuVI5RNWxMBfcYRI8TQiE7NzFal+mDjlElPpZvA5i1VsvbA/2ZqeFPa1Zbhfd/WbbxAUJ7dXTCMvmorC/CqSnz803nnumm7fJ//vHlI41TCmYbEKsDwJYKopt3t3YfjpvdF86O9JVzw9HLZ+1guWQ9biJt1STk0Lqw2SCKiPYa7JynoNg5x5o2aQCCEMQIIC5Un/P0SfzdhezvHjAfs5M+s1876AAvRyn3/wubOvM6NhIYcK3SKKDCicjVfvve/WnnfKOtbm1ZNLYqpqYsWlOZVtuig3ickeuBYI+gsGcoxhdJFI6IOj8gUkuBeTUwLRPh7Be3tI9v2DZ+x3q/CfuLgJ0BGFyyLjpNL3SV+QgF2qpq+v1hXb+hYAMAMGs85tvBwCTUNxSqYWJ0BDApwMINtkc40q7QBwCzjhibJMA0spGZxpvY/iEhgARcO/hlRtkrD51fOwTMJ4Pik357CJh/i4D5sC5OBTs85yBab2ouCuJuItuDMocUI2EuOQTPZlRSt7djdFmSY8+iwbSaQ4fIXc9lMVT4ufat3rHF0ztL9u9RiOXQ6z8unNt2MViUrAH+bi4AJ6RHVYw6hW3bTle36/a5f/KTx19pvba3t4IAIQBpVCo6MSI6tcx0dEA0KNLbAu36bpMYbUh+4BQEkmivDbOtILDeTd2EWzfvOtd18czZk2bpyIpqUTz5NOOERMj3Bo2Z4e6D0A5axj2W/V6sQDNOztrvxXe32DWlahIHAC5JGB9TNw3Tza1mOh432phWFba1VdmgorQDqaY7ZTBchsM7qksBemhilScIIeNyUGpFRRoEJqwaeLDiKoTXraPvFY7XY9u0UcM5OFmuq8L4gPJdw1ev7ILy1FXmQ7WhjxZt89ejOr5a+G4XFSbidE2ho28a4tGKcwS5AECQAk9RRZbRaEcTplAoE/ttHw71LEEykjD5QvTIdk+gqMq8b9R1sg0E9yKteW39Y9VhhfkeMfMDDZgHW7qvztgCoqtfI75yLY/dPk+09oP5DDNVmK/Lsdu9Z2Q98iici+AEO9Bs3jqj6ATR1sbOmdCpcyB3QgC76tnXpFBNOiNaO0WoMtlxEYg7a9iACceMUsNSOH0PcI1sdBtCsTOyV+qCv1D4+J1j4+6Pgsy26AyFWDAbUc4ECkgCQpoWoi6Uc7Fs2nqwO56e+QefOv73lDZDGG4ACPHxBiEDR3FIf0YFHIaYoMIGGYNKErNKVJrIje1t1fBcQ+fCnTsP2vWHWx22d1DVoLosS6vPnDpejlaXTeMjt7Bjy7pKAkuv1wAAIABJREFUzDtTK57esSm24kAUbqqx0yrkQnv+yHs8t+D4AvE55qUAygLSJqMiN5Owu7HZ1ONxy5jJGt0aEDpV0WjDTldli1mtNjbF1GlVBk3DEGlIzBUYcIn5YKgbeZcC7VCgXaY4YcW17sJa4d0aylA06koXycoYcgjXBWIowTCKMVGRGqu6ftAN7Il6NPilQNSuTMJvV7W645qxmKpHVXpDcNMg+GkS+B6xZssgGLEJBKIng6ZzNWlT4U9gGEQB5BQS6SUgDeDp0nVxH9pEK9pfe/vuOt3pj2VyJpr35LLlc8iSvy2cHgLmwqF5FDBfzcfnFVo7822mzPpsHn0SYN5j89aFDJh0RnWDc2jJ2+C4Mob2Jo0GYIofJnwxIwIlCJMqRiAaKkuApDI5/wf7IhrVXjvYGhYvTyz//KBx3zrh6M9jqLWzZlizPYGCCippyfIJ6Eax2Qixp+G2acq26Ya7k+nZj14c/OwLp5dOosLEhg+IF2gRUVVCj4g9cJwmUBy1HTSTiaDpheQyh/Qu3r+34e7e22phMqGt7vBV5nzShnsdXJClzCNHlsul1WWjy6FqnGeYaAAwRfie5529M5KEl80Y8YVM8wUSB/NIsWGSmagsI2GJXphvCNABVN3ujtvd3m2jd44NUie1+G3qsgi2MFGVZZQXodCWjS2i0SWWApiwZkNdDKElpj0VeEdR3BMrSmKHJBEEyCP+A4SQ9mHNBrqtuuCoqHBqSs5EKE/bJkCPCS0s8CySmlStX8eGQleqam+5+lLQ0S6N428Nd6Z3wYYDHLESCRcjzDrwSsrOkFw8Xtbkoi5zyQSKaW8cc+8OHtJp3lpGYdDlevg3qk2QPzL79WvrW6gwX5V7PXEZkqJDwHynBechYP4tAubOTnk6jMN5ACaIG7DjTc1SYYovhnOKiyR6F20lALP2SHcUwLS2SK27KfkeTz48HlZ/f9CFPz8xrv9UMX7XaWd5WBt1QoGikBU5MEYF4nWTEQcrdnVX1L6r9ibtmRiaj/xHP3HmhY0J6wd70D+mak9E3CoJy4UCBnONOSRmkHlUWE/rcPfeZtjY2sXMjHRhoy0Mvo9aC4GPetCHzgfvHbnWke88+86x0szLy8tmtLykTVng4XLPsOPv9P6WffWZQtPmekohbzJxhK/YWYcuQaLe6mnsptPQTMehabugtCJtDUp51tawLgxpuCPhZ3DXMMi/US1bNeWoxhx5SpHqdJ7oWgXiHtUyTjhRUj/A94C0SwcESARLty7cMcHdpi44UxbiVSmEEI5ZQCoSJA4AKlgY+WkR6L5puUEF2Wm228uDf0zK7w52698f7tKmLygWPgNmyhMKPqY4XAUpb6cTAGbAFMkQkFFA0UWEY8j3Kc5CjIXTe4sio40AH8R8+xAw3yk8Pnq9Q8B8AmB+Of/uGlrzvi0H6fOEChM30fXTAoLrgU5323sXIkLQoLFjz6FLu+FAN6xGBtnyxo0AoBC1Azg9A0gLXcDMW00KdWLD8N+lGMdnJ+538LOKC+4oqEaFJWf0CQQBobWXzR5WSuFDqxVCgTi03ja+G0wn7YlxW3/49Mic+8gzx49vt6x260BtkoGmDx6ch6WiS+x2513c3p64+/c328mk7rQ2jgvlSmOcKaugSh0tNENWIxNdxxCNC2R852z03nTOKd+2GhZ2AE7M+NBnaq2oqgZkS0tFWTLihOFcAWWVSPfTn8/WuaIZh7CbPNYE24bgztM1LTV1DUNI2Knhf0HBX1MbhBTnytd02prGGG5J21YbVRNRy2C5NWRCySwzeZXgdJPchiI5ptjvjScn+GTUhocnFu1OB1pTIlR33uihQ4UZyQioIi6XIOKRZ9DFyMXU+ma9CNXU+wYG+WGi7LHdI/xPbdP+22q3/XbpVIMyV0YbjIY+Jjs3vD2MEbYcz7X3xNQgegQwodvs/ZEc3jjRQ1YkxFOye5PvA14St7axV91eNAk+rDDfOYAeAuYiYC6kSF69SgyLNwG+a8SvfP5VWsuhaJtHB3wF9uuUHNixJnm8X5O8lM04ThHdvTk447riaSj5uuBSFrllVmj48H1hGI5F8j0TWwSiAb3w5lZwF2o18lp3h/rDdWl/brWefG25pYcxaEZqL75OOY46W5yMYMbxcQ+KVGgFg2H/BtB0sTOho2LaTp+atvHDTd0cjW03evHp1WOrq8sFaIUkGqfYtR2MaOPu3sQ/eLjtxpOmU0p7bdB6G4ekNmONs4XpjDGdLpS3tnASLyG2ZshJhDtu1M4F7TsH8DS+CwYieOg6vfcGAQ4Y+8HwWPAK3p8YgKagNVkJgnlFyq0V/ASSJzcgzEuhidRKgBH6SBkNQKeo8PgELEHipMestFM2rfPjkBCmF5naFyMknCXkRZD2Hvs2gtbwcBOKPP0DSJpuF1XUIMzJrVmnbqEYN62DQBOHH4AKcIuMgWry6MSspC7q7j6mjGitGby7c7R9bPiFUJgz1V7z9aGjO7qNOdgM7TMC4VIImugvRVuJi5i5RKtTG59+Mt/qETf2DrdJMN9fR76PfGtvq1p7O1f1X8eVDq5DLuKJnE1nl0eUXe8cen48r3kImO83YEK8rpN70d12cKYdq/NYgewwi4SQ2AIUScAzWBQG6L4hIfEsCZJgSAQwjfLUqlbZpb1SfcZbferU9vR/Exk1+lF00QqO7DxsC38Kq8dSGUH9zoaDE8d1jnCOwzqmi7bupsfqQB9qp+3RZjqtXN3BULEwSM7wkZsOi44CRjBL8vCs1H21Vhi4o3tIb4x81d4gm9Joz8aAe5rt2GBkhu2k6DvlXMAqKEa0ymGrCXyx8wbxuRj4+eARPA6HeKAtbCvweKW5lwVxMZgEFqPll8BgTBujYnhMgtWCc6gCIAWNOarWwVisxRgPUEXVKVIB7IPLPWJSgQEhQjUFBBMI9x99/B6QDVUkI7KxZ53wIMTjArblAHM88DXdhVuKii6idYawB0b40rHLflbyo+zwchYT67r71qka5yZIyLEzPhnqc/WS/qKddn+wPOl+AInRfJ0xRiF1UEGisoTYPV9k3inGwkmgjo3ydDtcF1KjZCycQHJu0RWYbx4C5nsH60PA/JEB83XGXvlxEbHjcon2dHIvAmD6qbqAMZjDig8WG8GKt6g2TQZMD+Uked2qKqzE4MbJ9zca5cxUd6pa2SrNz2gVixO7k9+VzR9sAJmBfGZrLketbU9G8hYsuQtOwVsYJYgjp1RRwLEbRI1x3h1tXXip6dxKV7vCt3XZdV0RXdTi4Ag9vJAKHEjpoKzyUMooaxxASQEkLdb4VLBo+rWsVacsjFwHArABcqi1WIzOQGF45bHRFLzycCHzTqpJLPwFuOsCElFdBmH4U/WNf4sdW6r+oMUSDw60zArSfg1PJmzZI8EoKFkxREGtEJUJgMT+NwaRAFnB8AR3sEHHI0sOTaDbetm8Eu9KCLICGLcI5gWTYHH+gIWnRzUKiZRnq4pOUVizjm4h8j12NURckbHWJEAMMboJMcJuz8Soy0nlm3XVxLrzPmAPwSNasjLV+Kj9Z6Zx3xqNu79WUXUgeBBJgaoRtlNyHoS8DEclz0+C0QFGRbLdk1ZpU1uOH+J2zoQAqSfa8EPAfO8IeeCWHzzAXDCNXrDGlMPy1Se05L/2FYrXcija2jIxpEW4zd5d4ucXW3IiWmsTfkx0c7bZ7S5go6c3TFC2SlUktHqKeBIbAUzUh0XQoslMgIl08VY12i7vWf5pVuroiYn7Gj7OgBKDFpZYdWxGtfEnQZnKUo2QNAEaa2ltUWGC+IE9Y2Bembrwko9u2TWtlTbZdxagBbU5kCExUND0qWDQ0Wtk9Wov5rQGFWWCHpkbyghQeGsgWX4vQYUjs9SZoZrHL+HjI9uCxC46rPeg4ZaKEn8bjw4Okkli1A9VMSvM7SgqTWzdQOANPTn+Y6SyTEtCAE3C0cFdBIjM09RR2ml5nNJopyGtmE8KLy41OUpwjBTSkkD2PcI3GtFIAq14lsi/FUNgnBQiex3oluncbUwPYc6BYhnnkSAVrJEBNYATpXoRaaqDv1/FWHctXgzMNz2NC31iumy+ZFv/jeGm+74p4e6Rji/GkxJ1XqT6t4AxR74kdlziTORr06UNINSaUmEKgKavEoYGyzzcB9HNgzPMK9fmqwePtOSPIMQHz6FoETMPAfMdVpj7AfPbvPnGIAPmDX7++V/Ma5KoLy/RWvttRXSWNvXoLO3GC2C/ocOUM7+05I6tgmW6gzZFcilQLWpkkkvLDQKIxfptErnYG6qPOms+c2za/a9Fa/eiasUkGORPp9SoK+ikZzYK1uSSUWDYKITMiAUw1DLiYBuDW50Y82KMfgV0QoxKxxbMhIMjo3Smgu2oJvEZUjoChaWlFXwBCGGrU0cXgIKoLJPmB2KoHj8FkvB8WQsyLfphBKEzAODAcKcibD9RRkKzk4J5smAozRFxDsAqjQjSpeAENmuJ9Rbtp7jXYdYIQEwXmaT29SNxdCwaHQA9wXNNitUZ9KTKM2oAoU8AKs9IkFrWlQDrCpAJEJY5LfDfeev8LeX8LSzhoD+3mERgvIIqE3vockELH9i4OFVdu45kZItAMwNXIqLxavmzjaaPLO2G3ywbfzMROmLWLl9B9IAhx9dhVYYmK/5lHu4IC0UCk9i6wvcw4cD9lpUOnUPMbgJKSI506LhT9q3JAdLnEDDfeQF6CJh/i4A50aOzfldlwEQnC7ebRgaQBtuL5JW3ZRQNZmAuBhloNJF3rFBxwr1ox9K5elD8sg7x9ad23avCogtgtqolvdSU6mTHjEgsYBiqCiUtP0o2/AxAqiVYYaktzEue4kgSw4CunRc9UF8rYoNdKhww1dKkg+wVgwjEJHAQ3ZFoIbOoB2AjDiFJ95l6YCxhp2oVzLfDtmGq0/o6FODWv/nwfcBMExpSEX4nQbuESfYVFX6DVfoAPYAOaaNGVKGyiimVY8bmFIeTZ49pQDmb/Uk8Bn6A54FmXPQEGfYlRS3z4RKXmzRC6W7hrAdX5uyOxMGr1t82IdziqFqgn8b6AUG7gPspYFaXQLZD0960plF3VQi1LbUI0lsbhnurw/9CdeG7S7vdN60Le9GUydKtcBHeRI1ryGqc04zIhVJlivOKZxO0Tydih51+zDY4DuCfCcCsQuc6spJM3q9MinzsrcMK850D5MFrHgLmOwLMV/nXvvJKvPZqErKDLd+8kypMXE4fuyxMOS5gy7dHt3i8qXmvNueCKy6kcz8SeECgAnSII4pEVJMmbfKIMxHc1kG+AjCRX+5L8UzAhk9jzCeagf47SzUCsybfV2XBwXvVlXHUcHHa4bOAPB8BLacAmWKYk7WYPorlx5I36sXAPAJ+oZpEWBpkMtFhPAhQQG8pwiRUcdLly/wQVovyODE4lJzsHEgBYAK/kaaYgJ6+pZ7vdWOkmmaTCdHTpXcYEgBYAMY0tJQ5ppStkkM5Y7ITSArgwiAZ6Ae8TOA3m032I8r0KAXG099EMYuiOT+CRTBFSSvVqdy5nCpyBlmimxHwnupwADw7FcMt1QZE4SEvWfQBsl0v1SuyeFKRGaAd821tGrqryEwri/rU0/ZToy/FGI8NtpvfrJq4JkNKOd/oyAOKbuzIG8SNQqpEZItyJlSXdhzCpuyNKfIiiNWhMxXdZppt4iIMeq5MtfJv6QtHbvW/w9fDCnPxaDz5+w80YM4nN+kgLaZIXr36tQVZ0Qn+tcuvRNFj4gJN5nL6Hu5Fp+8WvLtxS/6Nlnz78h0mOk/rOyfOubG76LN0CMAZaCw55CItgq8aROpCXaD6RACrSZpMrEY2IIPQ7BJNBmplXPDnOmU+Pph2XzsR4xswFA4DMxwHe9o5ZyEeR5uPWIsYQaygjYW/WgJsr3nJE78YFY0EFVKmRQIyCRuUbjj9Gx0pak/R3WTeRRJ7gBmB0xqLUP+pcV5wgcr3kFw4ZOSVLYMEPaSBT39FWBw8Brmr1DP3H3MNuEofflzkmywxynNLUdQLUQOBfb5SitVJTH+uFRMTLvcraJRAL2fyytUgRsfjkPNG1qWnGWxUsm6amnQAbQLBCG8UR55umba9FaJyhVLBwf83kz5yLVSvMoJAqFJECNo9SzzFAGN7pfzFoPVHTet+YzR139Wx9DE0HONQ1h+pguUG1AdZiSlCdIjT+xdDR1eLmiJKZAVkCJhdZuOOvjXvj59kBAXH2psb9i+qm1euLM4tF3YhcYOvfGUuFzqcYe5D0EPAXDgcbw+Y1/jXLn8lXru2uCo5N+svv/O6ggk7Lsc3jIjct9cNr6+fOOdcfTEFnCWtZRKmE8vynTEoMJNXJrwRnVYw2hAQxXU7I3ZuQFBvWuhnlvZs8TlnzaeX2/h/rU67fxctD3aIzmGGqdOcEkUgSrq06aMKaPhAe1PUvNwG/xJxXEJHn6gpQY+MkwKeyahNNElSYObWN2bUSVdB5ZrmkWid8YR6Vht4NEvskOsm5vvgWy19JoWIkUuqHPdf5nPJrC/P6Im7g9AR/wTKwk4orbQQoWWVx7+opRGCR/4eLn27Ll8X23WcPhJZFLDnozHvhFw0gbVUkJITAraIcUa6pbpwU0ifAOYe4+PEkneYQ+ZiWs5L7Kdm4u6QNuVkpfwV0nyhmHb/u51237PCjOPiyXdFOjslEJS43R4zEWchhI5cHPm2FABnZIJkoEygmfwxZ2C5cB+GzI2P7lU3F4/zry8ujx8C5oH34P5/HgLmwvF4fwDzFtPnL9H2+h2+d+fK0y50F6PHdg/kLMnf0ikvcRWS32NKglREY9+8bXSSWJpEAumCICeB7tJzq/GR7GyopoPq451Sf1czv1HV8Zuo+JxvBtgfAt/sM2BKe66VGBej7ALgOjYvhRhHIntB9ZmrzLT+mNpm+cCiJRXCJmNoKjVzRSnCoaQlAlim/e9+uJlwKwnP5VMro4e+esxjyv7TnBvl/FcXCpskCcqfevFemoslhQePeG4Z3CAOgoGQVIkJF8VADv8WXdAcWPtfSzUNAj2xvkkgj+MlvWtaUscDB/GThDuisRRVa3owmELeMh3dhA0JBxPYpDVIFKFwbpJVSR8IutVoY+NJn3Gl+gKFsFNM/W9UzfgmZp2y/S/SKR3dJB9/mwATLkY9YCqIZaESyCJ1V2OumQC/d2zvW/TE2uX7AnhCd4Q5q6cbH2+OvHUImE/Exbf95SFg7gPMuaHw1atXmfpVH1zny/2ipMx8eO3M4ytMac0vXqLx5h0O7srTIdaXYDYuHx5yilWJXWZq3UQBHXXe7jFFGdt2kgET9tiAOMM9YCadNIq+wLB9G7O60FT2i07xOePDX5dd910TeEIqoolHCJpSZCBwhP5cQLijsOrBkis1SoFgWFbOZAtqULhKZMhJICjjS5lpphJZ3CRQlLGw6dnjXFQwwqH07T2QLn1iZRKIYPT+2vk6aHNBLIVUGiZwFWTtJfAQ80vO94xk74tBlHIwC4X4PHFXmYxOs1URa6KgTieBVH2mYjQNPEW8LugPaWg+EHnKiSo9MfBaVEyJt5cpapogCCMFRX/EutJN6xjg04nWMT0WQWFOmT0QT3EozOmuUD+Bcbfx9EflTvNvlG93ZVYpIlSsO6JlbrC+lMEzETxot2eACf+NhYvsi88AcyH7R14qx9KG4ytGwJ1BpB0bR9cfAcwnbvYcxI5DWdF7g9of21stZNHPCxp5Ngcd2LEj1l+uXp4DZAJMuBely9k7n+K8KTlblUR0xe76znnH+qII1qF6tsTINgPLjdsJ+ZNB0ZSoNCesSwBGUmRzbNPaJAofV4C2FTxBWx8KRFY0g2k1+FhbFL9Imivj6arx/rum8zuiFcRut0eOkEhiyAW36m3xYlQ8SlUYOlvME4X5FbjsyZtUIybQFAhDGTRfM0+0eqa8cdvZrFKeGB5nVo3L1cBm4O/ksnEesrlQBgliLnDn/dHNLxImAiI6FETCwctKzxwpqdFr46kIRBOOt+RRpATbjJwJTEPawRR0Q2g7TilynHET0GQJKJMsNLfVYlCS5AMJawlnMPWW9gGA6Vzb4HmCdIKQQLRinvl8V5pPEvM59uE1Pel+u9qr32J4b/aDYSAvmG+DTZ2UOY7HglYcgKiz/Ag/S1s9/SUnR0J3mYke8cDMFWjSGSFLCrpMKCfS96aqrn98u9pfYS4C5qMzy4Of9AOfmh9bIHhPD/ywwlw4bO8PYKbNH8RXbG8cv+BddxHzyAR82PCpCJnS+Ddci1pRMKKlxHUkJDIBIqArh6NJamREGNocMGNVMhyOnGtHbVVd7Kz9kFPmI1HFkfHhtvH+Oyb4dexXUoFJqXSKq50yL0WOywlJkjBcUEZqO0BRqqfkgkIrzTkzK+0Q85s6calFQQ3nnhZy+nxOURg/ZEBKpWWfT+EYWQryo8ya92VZQqyMbXIyQZEMD9HUgsrDydUoHhiqYdmmlOhFkR8swIkMHUV4LsR1PjukaSo0nCCLcP5JXA9IpMTryCFJDHpEgTgHZTxOMOHpqKEzLjty3S0T6Tor1fm2E6kTa73srHmONL8ciI5wDNdV67+tgnvDjsNaoVUDVicJzz02C6IPRTQoR5WOVjVSUfatd19xpue/cH7B+XMCk5a+JZ/vlct7K+OpmLzg6YEcAjFUVG8eAuZ7wkq50SFgvl+A2d/PZaI+IO3Wd3cvklMXISUCpSobPamXBVoSALF1MBEmmWMawTUvgGktbgXTIsiOWmYvPuLyX4cENfSOTNxGuIHzqaTg1rbT8Xyw5nJkvkAUpybG6+zUa5baB0R62Cj6cGRe6ckO0EzpnZDATwaHcHpI2y8ZhXoWXEiVDEA9CmbUyXcjGzFSrWb2HPcu6zKp3V6kX2chZel0koA1Ifi8hU+9urTfqS7sx4Si6hTcFh/QmfQoA2hPw8vzwj2g9cfmDXZ8Zr0zmLc0F5QHDk1n6nrl+mDI0wPLcwHMRBKphJimGOiGDe6tIHbn5lRr4ieI1dMQNSim7xsXrpoQHgYPe+FYV128p1ycejNBn54yfcIgOg8vPyemwQMD2WrKGkd0LoLR5OXJpsL91g+WH2RnfWFVEtfDbRJgIijPxeSLJQEX4pEVlb/+qfHqjUXI2Bele1hhPhFNP4CAuXCSOLAbebDX2LcqeaAlBxPeX/a7sc9lRtvFyxc6Dpfw5pekBFnfMcKCpwt8MlN7Lkx5lZInIS3ysZE9m9kfYTgQ5QxevPWbqYJEOtpq1Jb6DMJeNHSJIAa0RsjFEWfUs5H5pRjpKDNNdIh3A8eCiDsOAXLqRPRI6HYg2YFJDETapJa5QOY3oHyXmV9ixucCpPTg0xhR9mFQpyYxUT9PTLPRNAJNCp10kQFhXoMUXgabQelXc2zMkh9UduI0lG6fdJf5bhLPAiJcBpJpyydv6iSslYkBRoAy3s3Lj+ixhezJpRuq1JhN7kVRJX8IbLfsqUOgmbeKZEALvZGc0yLH88yMnPKb1sWrytONGLopZi4OcnuFRU5fc93dqaKdIntcBOhQpuORY9E+b/ZYsxzwbzwfVKEt4nflgqp0NMskF29VBRY9s+JBx76qfOQT7zxZrMmnVv/N32z+h30t+aGM6IkYue+Xh4C5cDh+JMDs7+dTROW3XpeP8q29IxejsZc0QAHOhjo1XvhdKHQUIQo+MxgvAZxsBkxnyGqvuui5yO28siluFzRnhPtNMNz5qXLVaORMOCsMSlrfg++bLAIJiHlnglFHo6ZzTqkPhcjn0M9ypIZC3FYq7HGINUzQYRaBBRa4WshddVipTBUlZEP99FeKRmndM7glafjsvYRBXm9nmWcRKZA8V4vp9smiA9VsEorPNJryswywPSbOIi0g70mG5ILtic1O+z750YAtS2GP0FclxjtNHWBUjGsnqqlf6pRl8ozDeZwrO+kyNsh2cjhzaRuUGhCbZVa0GgLsfn1NId4mH35gY7zBRA+FE0OPD29S2S1HGegYL5YJ/o7pQk1h6NF+a9VIgloPmABIq8oIoxaNJDaYJaXDL1xbqu6b/DwNRbF+S2dfEbfPLsj0wf17ceXEe8wYWMLhPddc/x3/P+6rMA8B8xAwn3QE5ieJ97PCfCxgnroYTUiAmS/e5E94dg1OLHj6pZKgBVzQrjdiJCygKpsbmgGU+F5mmkjo9a1ythq5IpzD8EwkJQZ+mBBy5l0W6CVDLYREYFrpyH4sKnOKYlyKmpZjjENm1UUKnYo0IeIxxTBhog42xMJD56hcCOUTcQO0Qp+b/StzEdg/i7wKND/O+TzQw+u+pcgZzqaWfIGSm1eiSbaUtUk91MrfT+17WrtMIJdhQ6epQv6TvekGDp5LW6Gz68NOKVXY+BPKKvY+WNjcEwVkgy5FVhVHKoKWmeiEYtxRMW5RG76rvH8N4UbWKJhsiPaV2cYQkGKWQcxhnx+O6/62iaGOfjnXxERs4UCSmCm0+zKUybm6oqnvbZQlVRJvjbyijslDlfbRHweYCUgXRO+9zMjRm7/j//tDwHznGLnvmocV5sLheKcVptxkrjKiK68SS1uOi1SYv5crzI9eDIV9Jmng8BY21JqJgtlGD3ypWccHQVMznSKpMANmK5EW0qpLizoUSJQ5XGxzBixxrdVS1HyWEGwBXSJMN1xyKyLZM85tMuQtSq14bT4UKY4U2ksFpoQsxbhCrJYixSGCv+CaDtmmiqGhGLFPUssyZ4wNK9VmAYvUenl1J7XoC622FJn51wLeefyYKrcEi2lfvDd0y6029qb7ijNxN0k2hAuGfDgIsmueGHPZ/hHnpDmQiuhTbDWh1wRBlGYDyWmof5iQdrPFAjhHVUaOpac4UKRgQFml1Sduo6Ipc9yjEPdI0R55yf1B5elNF27FyNdV8F3yze/XIgO2gmYSIAypdetr5Zo1FWnKsYje5jEp+2h7MMRzRHLkgtbSM8TpifH2zXhSYzPmAAAgAElEQVQ2QxYLODOcA6/MOnt/9jlW9m/vJHhHW2/e+J1/uXr9bfHi0RnmB5oVP3icPoiAuQiR+5//wlsD3+6fYX7twLFa0GWeeJV7N3YAZu9kNH795CVj4rOwkIGuT0UvZhpJppM2eJRrJQQN37fUqlRFajJiyuGZVSFVR+OmxlhoZ/Lt4K/ug6qtWg7anuYoeQqp2iAn2nHoAQ28MMWi2FEguxKsv4zVSPH/YSVjtESaiPUwEAW7KtYrKknxkIhGkWIlFJCMNkU5E7XSTaTYMFFLISA4rGOlQI8DpWUlBqZuyKRIyvEkMk/N97x97vfCH/cBTgx5urdUZieqOIF0FqWL+1pe0QTSyE6PLFliIAuBo/bkDLO46VYEHo0l/B1GPkk0KU05TgjcxOD3VORxJG5wIMU3SsaZMGmDhAGlneBvUKzf0m17PZiio7aZPSvsuO/jt+TIFhOaTNcU2al2DXkDcAUrjlnmbO0cutCZiF129wmgiKfbyPaojHaEBMoAOKti4eOHFzF1M9gdx/c9+Pp8vRDojd8/CJhPRIEPtu7yEDD3HYF9DeC+FvD9AczVS8YUzwpEYkW8McBOCTzDR1HUMH27rjVhZimKxs5zUrD3lakmH6Ya2WkJbpEq6Tm0QbWVXu5Yn1FSf2a+WAe0lf2CIogm8sADMivB0OVAZoQ9HumtowTUpLtNepskSZchoFRw+NDhVxaIGxkVKRKHAs4CZQxUElOBskg+2MLFpPDIfjApCJu6XiAAIAEgIFFhKaJLevoct5br1OQWnMyS0bUmJSUenEiuxNnNi1LAiAtHmlIAJzB9Td7q8lRyqQnfc4Ag8nxI1SQ9M7T81CJyUYAR2nNxs8OhDPgLPQklPBEM2+TsJd6h2D5UN1TTXidTdMF1pNGKp1J4od6WdSUU4FNdu9vMqjaqiT7n/SQWfAEw88AggWJyKepNgQO7vDSfzzyL2zwhrUnOLjkcrf83Zqb43nn/xje+cvLNfR+DQ8B83Pn6sT87rDAXD8v7XmGuXtKqeE6ATwBTky89QQ8nFl6oE/Lfj5ARNZ5gbCOwmJMm069RiU5R86WPKWKvS2aeetUVetkX+oxmhOWiXIT+pIXyLhVlBZxkk7Gw1wYSpMuR1VKf1CBuk5lxQeuYY3WydrKTajdVOAJ7Ca5StBrFKAQwxoJiTSngBe23zA0kBFvHiPQKkCbCA4PNATUPTMUaj2xZp0Xv1OgmsVQqJEUpJZ2+SIVAz2eBJcgYmLlDVokqVuAdWzWwvoT2p4t4YgGyBHJBBJwKPFFaR8KakGjoE3+eTEZQHEMJkB2NciyayLxwXsVeuQCh7melQfn4lvHhOhOCdlOubTIIEUhPJnXGxNBqnCcamnS32KvaDh2aeNEmWShwsdSAUWx0Meh5my1HE7Ded/sWmcf5DSMGwXJEU8XZYYMMO5n9G3pBiCmKqWwm3OkffuMrq4eA+Y4hcv8VDwHzHQLmwtKP3OLq1+byJDTni05GV9evCeiNb568RD5KhSn+hZARWXGMkeohoB2fAVLK+emyWB1u7LnTTEEFaYCZrOCUZyTXKtVyy7ziTXFGSlIUaeLumNzW04gvZfugbY3aLHekLittlsSDAheZc+IKeCgincmfQPEMzuE6iVqZsSi9NjLz5EImCxsMFES7msiO9ObK0hxR9sgmjhAjwr4DgIFZfQU5n2ymAhTzC5RnEj+BJl8U3Ukz6tMiJazbBXORGtmz5fAGSo84mQUpAH9+q4v0qh8JZCVodjASKSZa3uyVCbCTFUyUy3CQwi0hh01B6k758Jb28ToeWMrvyVqqXGmnIltSJFlR11Djb3Hr62o4AMDnlhm5xHN5qvLw1MyXTPD03sgeaJmLSLwPtFr2sxYc04jQyAoubr14n+l9g4coESZv/OG/PPnGPhjYhwKHLfiTsPQQMJ8ImPPd8sU1SYDn2wIm/DLznvmthw+eIRYtpJi89tnkqQpAREWTtndEjwnHolwuoHWS1pylZhOwtXCxAcgkVp09jH9b9rpYro06x8xaiB6ZRxp8CgUDVQgMN/UEYGrFWbpCpEaSiSjlFP5m8jYXb+7s8Sa8s1DNyZU4p2RjjJlXZHK9l1CCQ4QCP0l1INmRvyZgmXWXeXIpfpm5000wnXAG5V9vzd5zPuL2k3TsCdtlmV5mqItGG2lvXWfdk+wBoiKVQjWfFdJxSSguLvDpUWeATY9CUBB26Qm+UW8ChHriCtBMHSm03ckVJOhAN7iNb4qROzeRhKBJxkMcB/l7VK0NisepmnZryviJCXgtE/LJqruYMpnkE5Lt/eSY+LzW2B8haavnxA5LG75A9Cww41JRZs1aH46Gv+GV++E3/sWTWvJDwDwEzLc9An/TDPNHB0wd43P47EqgleyCI2QliS+x6ZMAMwGlNkVWKOJjB71myjJP8IrfZaE32jE3VZI1q/RyXZRnKcRek0Qq7Q2LE1GqmpLBBgDTG30lEi/JDBMcOkaPaXbXzy7na42SlwGuR4BKWlMpOxFWhhVJiThENdebtCWIAhCDCZ85BoEL6vXnMv7rae+FsXG29zj4Us1UlhIs0c9Meq9MiZdEXDliiGASQsgn37ecIwAvcRx5DRxAaQWchTD3GF3iflOwhbw+2XRS0jm0zG/Tz9JzQx2NahkGwjfI+VxhJu/MWQmYI3fFzx3G9i5Oy6kTwJTOHsCdUFG2cxI5Axa7lDYb5J7QZQtzyX7PPB2jfN1HADP91mfDYAHlhVlnMPT6IWA+CRKf/LvDCnPx+Dwyw3zngNnfDVrzvsJcf7j7TB3r56Sy1EYCqgrRQONz4pHVwt41QvJi3dtTQWVidmjqJ0p3zC63ZUYP5oAp1dEUXAh3ulh2Rj+NzF18ppHlA6cx6Qbz7BI1FTAloodjcyWosJyE0DM7tHTfeZ4pFZ4Q0XCZyFNWtHQycsQ94ROdu1xcWbLBYFrhJUxM8tDF7n3up5G+l0kmrO1kEIgFIDnkSc+JjPKZ+QeicGfORRKXJniVDNblsckETwwtIcNP3Xx6bEInM2BNLOqSWXBPZs1e7+yXGdzMh0ioGdk2ymWxVJppLCBx6ZgIzIKL4NHnr5OPN2DmhuMO7NIWqcFEMONQRhMCyslYVOkTNZmsDYrhOHYThohczp1NS8EUAc2FXFWwELbB2a19tunTA1/Pkve2b+n1QXcC/WbfpbSti8YYwpplAsyslDDl69/4F0+aYR5WmIcV5tsfgQOyoreXnC16ZT5unrneu7ET0St5bfKv/3znmbFrXuilljJ3QpudW6WsJkozStC3sF/IjzXZTCb3dcGUJm0IQYOJr2a0FIObKm8Hyy7S09i1Q4kZnLhJiNdOcnVT4IEwnuSG1aoivhyJVsT3LYkn5f5kFU96/WSzhvvysFMSn/HsECTzxpSjIK5G2ZU9ETpC+yopwUIa0irsJUXWcPOQeQLKvOTkK1Lz9Ocz8uahAUUvzE961gtKdBnOaqwbJWs2NOgJx1A+BweNFbLJxNQH/Dk2R0V0j3GhT5RVSgdJ0qw0nkVFKh7yUmWmVhz/QeAbqP0EwpmFgvtRnjBiiTI6uqGif9MSBA55cJAEXQLo8irIXTI7ClNTN2uFKsfeT+YVplxZ58TH/Kyh0czSoH0VZmbW07XSbnz/ezQtBuZUecbpoBfLV8FJoJexl6p87f/8bw4A5nwcn86bh5e3PQIf8Apz/ztlISvrkQP2NwFmfwMAZw+Y/+7Pd56JXfti+l1ajeRJr7vsfwapI3aJ4VoDOrV355nbwOFzoSZBOd1bKSAyRktbXheDZWZ6WvIcdBE41ooC2ve0vyK8NhSEkWKn6EhQ6opStCRtIOAkZTpA1MmQnmCfL33gNXSgQsNiLIDEbxSFIQQ4u2OHssjWQ3CoSBuHSdIjpnXzA9hXa9nAIqF+AsN+vtnTQ709cf/z+Ud3Vq72dyybP6imZa6Z8txm65fZLCN7DqMQh/GQQ+i5aCtjbCNRG4P3rKwjpMSBDE8DjITj4pYEd3y8HphBaIrGR3YJ7Imxd0g3KHRvKLhMSoq4WNlFVMpyPkGtLV4fcm6aFG13WxFNgngeYbaZvoLcwuuhO+JuKNHp+b7mLXlSM2ETKP0yZY1i5zyPc7CsKquP6WSQrpVGP327L2Mgiq/93n97gPQ5BMx3fIo4BMzFQ3VgVXLxV+8FMP/s3z54lmMKr5C3LjibiRf9c18bZMdg+bdTbYrZlQtQcrauTaFNrhD9r3A7AJkr4iqZ0ZnonE0bf+ia+33DlLuDQDRcgqIVr4orzHE52+sSEivT4jhHj2oqzbwwV0VDC3aijDEWEH4jNhHCdlHczLiYtJjYc9apNJIYmz4Drc8jS7ROytIRiWV2sExttcS1ZTfzfOBlopDMi9MoNU0dRYIkP5b/ZIc32RDKmRpBUthBwWcyRxj8BMfizZbF8JKOrjsJQIrURebG+65VhMgIlM9pzzwnweVBbXrmspre8A1L8Q3qggsm9CKFpIYVI+I8rZU4D54OuvZWJJpE0qEHO3lFpSwEcBL5KnFW+XU4QPJkzWb/JphVmbldX+B/kn1Hfz9zi7xDwHzH2PjYK37QAfPAQXmSufDCaXjuKyy3v/q1+RbQ+rUT/Aq9Ij//K3rwbGtdTvtJn4nQYL1mVgKkCVlsGfWCM16+ykU+33OARDuPaIseMS2qH7R6Oq6GYnCGojZIhkyftOS3mWpMyB6zE7rSy06rlwPpZanH4O0gPpLShGrmaH3gkjWXFGMJHYqHvW6iyXuTszlU5va1j1hMKnfwW6JvAo+Eug26H5SBUOV70QOl9DRQNPM1SPSuSY2ZUT+zRD1LntZYMmMuUzmRtUfok9DyR4lQR8svIwBoP/O2D2o9HATheeTu+kpWfpD0V+mBCMmFmUAXoyzg19FDqxDbGaEu1D4qcfLsmhvk45vBB6etkXa9lzY57mVOeTk1+Lp0/ibHdooXTboKTvk9gpT5PYGc+hnWiSP7wbN4D4TpBrNNnnw38zf0ApvORnLNpS0P6gd/+N89UmEetuHvEEcPAXPfgXp7wFx8Ry2uTApgXn782uT49QfPeUUvSH2X3YrEbEPY7gTAAMg0l5xbtwlk6E5JkhVYcowWVRElj1y2Ez2LhtNrcioe8cXwHGMl2reKY4oiSJIi+T8piCRC0pgVR/pKZFqWAg8uvSaWxGoUQ6hIKSsUsAz6QD8vuGrI51b2KUEaY8cGGWidUrElNKoxOiHbob4BRS7q8HR7qexkDzyx57nuyfNC/LNnzecSxKz5mUmK8IRSR52uKxUtdsPzzE0igyTqDQ8da5wi5pK5KiujYnBW9kyJTAzBwspIZKP9vLR3vkzC/Cyvkr0l7DC2HNWUYJxB/y97bwInx12di55z/lXVy2ySRhrttizL8ooNGNsYgxEY25iYQEIMZLuXXBKyXYeQEOBxEzIJmCVATALhJX75EXJzk7zYWfwCeMOLABOzmcV4X2VblmRts/dW9T/n+Zx/VXdPa0Yzkhc29c8wo+mutau+Ost3vs81rYqrDwCfPUqcbgPlVKmfj3bGTRYgUvdJ0SqA8TBJZYCxHrX845Q16oFfGjrloeaYA2Z4VuScJ60dd8DSpj5t1FGpRDkfV4068hRc0/W8dBKCfK2D5kpYtrFmmMN3qdx/7RHAXCQ8HvixI4D5LANmBn5zW/6yCyjtotfRyDYRuYUYV0TFgg1IQ/OkE2V25fEKnHrLpZ7JR9GgT0pr1QxGZcRsylE5mxpjpWydB7PIkEhj1sHMRacK4nIGrhC6CoMkFoNaNpxTh6y+2E49NfjSKFE9YBUcW2JjhpHql6nUT3s0PC8j5iOZXdShvMnSVbRsn/W5Q5uiiNlJJY1HWVhcdDWvA/JohyoH5Lw+GgaTgj5H8CXPCf0W+NqZ14g0zpjLpNaaLIlYJ10BXekBualaWw1Jnz2WorcEpI5Ak4B8v2tmD7FOGOVSxrY7zvybOleW7oN39biVPk4INUlbnRlv2+/OR7ts20Mhp2j0tHs8hViLTvd0Jn2KrL6dzufiHu1159cZgbv/+tEVD82GgiOd8cUi6BHAfLYBk/3xoVCvN5BmuiGaNJMtr5IIOSgULfP85vGcOvV4EZ2+NgTVN0IaRqrATv2CfoZaUWUwA1yPamAjOtEC4EqlfKKQg923MQmxIuiOYqIXCNHSnPPT1Ya2lnGYrFGlXKYmkKoVQQOVIa81O6txWjmxo5qTm5+ZBkZ+Lp11V4r0NDR5uqqJ+acCKBbNZXuAzHonzB91932KgXcT3sgHfjp6cMXYd4gQA9x3FI2Kv9lzKMgBh0hNJy5Ndklrs64k4CuILhGdnTfuUt7Ot+ML9HorBgikBPC4E7gLfLYLvDQKdT6rOeiDL8qJ96bMiTNR1tpOLZXQC9YUZkWiu9oGTBMrtrqlVXUdMaSFiPTsrridC3NRLxTVZ9/yOkhmHIE8YlVRF/39CGAuFhrn/twRwFwkYM762J/8CY7O+sPsomZhmKYpeZb647s/mk84hj/l8m1245rIcJGeB6JRGPzJRyJzArt91gjwFWDfoDRKBj26dcHzIrca10jTtM0y8JRUMS6tUVVwwGgZYDYsYQoz5/VYTKR9ENUVahFIXdh0MVMdT2mny2F4J7wMarpCS1tFHlG2jc6KzDun5Nhn5iCtzFpnaBi12Qr6XvvfHQi0rZvnTrFLxoHK/9E11ZPvpjGeuhC9UF4LuWsxG65FUU3BI9T0nShKRNJ+NZdTc6AQdBfeRnk9F2EGPU8Kyjhk2XYS2CbiW9bAb8vqm2EbovM112htd5jM2IhjDpLB8qKrQZNbUoQT3SWmYcIZHa+fuW7nbiv2A97PV+XI3Xf96MiDTw82fnKXPgKYzyJgTt23Y5P3cHznwleTsyJSyLGn6IprwNAIo5ABQFsYtVN07Zh3Gj7WUTdjNNTQb4jLlTXErVhtaQ0jvJbcKGGideCSo1FFN1gbH+bSswxBVYeCa5nOr6BwTQRmSKQeRCMKVIwgRJU5PhqA5aBX+JAbnzE4h81K7BYBjt3c9/Ymi+UOWD4H6ByY8zCxOy7t+Kl1hbfW0DFuZKGdmX/hwaZXBUTymmFBd8r9yPMGkwgngNgvAH1IkabxeYOIGNjPAMh0aNWrBEi2FxgeQk53ow+D/Rir+EbLUeRmXKO+nTJX86WcI5nXMTvXh0aenbHJWbm6kohMaLgIR3sjzmB2Ni+U5b7kBMl9X/zAyAM/uZD39I78CGA+q4C5d1PGrRPaKZi2ACxFCmIcJsCh7HB9JQAyY0Jp9tLIg2y8WFO3FkJi40EGnNZR1xQLmFJIBqFSWmtNDWsCqIA4D3tKjqWIRiz0MwUfqwLG6Nwy04IM/G+VTZoUwSnTlzA+Y65eZOPYwTIs7JF24COt7RV+Pe1rR6cWLVIyw4U8YtPxav1do2ErbtrooXHc8yeC/t2EKUKk1y6b5ifAZJCsIx3y62LdYfs6aGrCIbq+nLgUejzFg8VmOPUJFAzD8zn7sFzOWg8GaXnE7K1HZKfE+lvheESFP2y3uSQY9aNkA9pUsvPHPI0AU1YtNeU7VtplC4Afwyx7WNPwUHtlInYz0Jx5wqXJjCpWafOvw7lVjm6gF4XOeZ6y2yRqAHRt6LB3XFg0qyeQNQHziNTU+UEH6gtS/uwmUNvbHOgIYD4NzDwCmIcDmD2Z5QFd87tC8jp1/N5NGbVO6K5RhVpkoI4Yl1Llae3+1yZNx67COpptilELQW+kfMqnAFxjZLtoyEdunRZGOVI8pnUek82EXDWMVEApRHf1biS3VIRjEJ5BwXHVLQ6IE3QxAxq1Jc4LPYx8JKjrcumqWc49HNL92Y7fz6y0Xj9iOha5xXnIutuvdge7HX7OvtI74VRXtTPI7YYPFusL3fSwavslVFT1KI0abn31oOQ+Kw3usvg15qdRmVxZUJZKBgk6nibGSWNO6ZyjuVtq6RTR+2yMBO+mLNujYM2c1l2aPY7o6waU7QAxN0JTJkQ7HS8K2bOPt3CELP46q0E0R4mzi6bZPizH8b1HIszDR8wjgDnvuZtfmKN3kVmk9q43v5btOC4Ff2JIswtxQxW1DDeJU4FLcw4M73d3xW00sihhqVqR0Ur0ni+KUVrvTDGj0hKJSmvE+SpgtAEINjOZ90SoUQZaeBG+KW1oCRI0wOM4Qsa57q8WMG1KJWBKXgfUbFbJkqQ0bO0FKXnetCvN20cjKpNa0wmfIAuXD5Ir1Tsk3Hnaj8pVsuw//5vtXuAodWhGhUKH7YSAzCr4tilHhr5Ge7Iliwg4J72b+bjRKwvzs2DXY8LARgMQ8Smgi1VFXRFOx3iMRG+AZ3/Pw86gWpxvqDDhsAF49ftZIspxUOuKtuhv2EdtwjNkeo5mKOO7RHgXiUxDVt9O4Gphjr/g/BQCl12t8qIuY/KmRZo9ByLSQVL0rD0akV9fup0IyKf33vShY+8/fMj4yV7yCGA+y4DZEj5pVoTZxVq3CLIo/lt67rU7kHdvZ8+rRTl3z7Akl3hTXckMcIl3pY1Qjo4FwOPMuCZ8KEy6FGRvEQdO/SqkDITT5lgTwkrtE+vouPZVlW6jPrTKsnTkXFCSsBlsZR9mlo0G0YuQLgfjnII7GJAmn7BpT/MEfnv4TxvMefhXSByFoqCBdXeI2Ua8NvG+EzkWWugFoV5F0l0u/Raqs6zzPEaE1/6+NrQLKbs8hFbBjuC6m3NiNf9VeHIqBMpKcCTTA9Enieb5Rrr3yuU3zr9kCYJ6hrA2eZTRmse2wS3dqiDm28t15/2dwuk2yprbUD19uvQv2zJvGgUr7T+XerNzNAswZ1+oVtKJtFyQlyA0atXfi6i4W/XNrgfNUpwcAcynB/hHAPOHBDDDKHaX1JvdoV1lf6PrOcg41flmI7OzpA5cacgn0Yskip4PHithbMXAQot/ynxXx1YDQSMyhmkgk60IDQxDKS2oZcKZ+lEYMd0Kjkpr0c34zEb9gkZFzskxgNMUPvzMNd7CGmdhvW6y45qZg6VNa4f6o/Eeu7ruoRxg2brNJBZLFBIZwd9MsS04WBaRZ7Fc+LeXMOdkyiMKQsq/tOHKfHzSeEnavg6qneFhocdj+nB6/jSEdiLeBZljcUBKWS1MzYs91OaP7pBFq0qEZR1w5yD+YTa9An6v8/x1rtfuQfA1LTKreU+oYXZP7hQXYyjGaMm6SLs9ZMac0J/Fa7bcW8+FbA/Y7itIh5WUSJHecyTCPHzQPAKY85+7nnPT04Ccvx8JRYr+X81tmyWOTrQb2ERvVK/B/pVvteBW9kQPnsmV1D27lds4AMRRKU4z7nMRVYGw30NpAMAPMEUrEOlERFpepJ1a+VeiTQgvlS1kiroa8nhjsYt1mrT/zRTkIdq1yqCYmzfDsSPra746lrUritngt0ZnmgCbjwS5Qt7HYjayfrxYMm8/w0Qiqk92QRYKya55RAQc68xJdrOLAr7n7+YD4RaN6pLmyRakj0JebeKdJpin2G79HobIeZ3IDNGtWdqKlRWD9aSS78OMkgJrcLwNhQcTWQqXQcjmnVaNtQOUo3Wq3iOm1KRPFJN7Ut8OY8CzsteDGoA+hDw/iuLvFc/7QWBGwM+Q/mylMyANHcFksEErLa7aWGXX2FNulsliknB2BQUtl8ITrZeBdAAlqdAsiCG757oPbLzv8CHjJ3vJI4D5bAImbNucpQEwtRxnoBnnajI6cR0habdbI8bYIaWeEoqkQs4NsI+XuISXenFDKpYhaiqjzoxqdRtBkzOaJkxnvPAQxdUzECFh8V5lMVWzMg/cCh5lUScUtXkomh+mQVEcv/3DwkZ9W2XaHGRZSOMVDNha5JqPK5O6mM02vTV1xTHA1IVzDeHi95wiro30UOYMnZNc1EK71PrwyO3OuycxLRMu6qlFsybf21z02Gw4cp3NYKcTtO1D3Kxz7YFsGpr9WoIwUwz7GR4m9jQxd0sT+gyOl3qCvEkVaRQbaog20Z2LjIbyq4Xm1qkxCxBUbx5D1rwmm4XBco3TkVAdKvdAq3U7xajGawMMqKWRkomgakkEuckMEwAyAezH2PspBK5hCvVMMq+tO4v4VUc1RP6zXkVEWpR9VW+1uObs+isFy6e4lN1z3R8dAczDhf0jgPmsAubOzWnmT7ICnUkyIqlosCDFSG4Q0C0VVJoPLUWAAVEJSZE4DM/wJIEfY/b7SHAfsZ/0PsuIM4VVhpZTUpGTuLRJyn0Xs6indluiLG8y5WK/BkSBy27ij2FGWTmFEYjE5tkqEpwfRYFRIgr2Zha6BefFEC5ZOMeWTwcrh0AKDzMxATFCLS9Pp/N5mrxjErpPuUJvcebz1k0RXwaYtOVDHJlHmLb/XZ04M5S0dQT7y1w12P5SIK8dLxmmheaU6ghrjcAqjLaJTkVVkb8wODOTNRDKcuWiVBXWUTJv0pZazFXnD5WAM5Miq0O0jUDahY78CAW1NMI7sFH/T+LsyeLAvbDTQiSKlCCOlnjEZeiSpQIyjEhlm67SYrGNpMokM487kf3kWxPMvm6iAlbbIM5aLYhdwt0qRZ3GEkDiwrxZEtPd1/3R2iMR5mEi5hHAfKYB80+2ug3bNkTZ0gg3DbmTCfDFjDQMLloiQMOI3A8aXYQ7fEI4GxORfYC4F9NmDSieQU5TvbxtbK+46Szg6uqkqoaizs2V+o6FuHQxAardoM75mT6FqZ5rDdOo8KiiiKrek7CKZbIp++jKNL20LowxQ5X7acBn/9fxpAg4YkgYVDnyNNxqgoo7QRQjCJWHnD7XZs/VmILiRlHdVPZgQO6ONKbFqW09tLw0WbhjhDixXSYNGKphbdh38zHSznRwHDK4zbelNdm8zGnjoaFflcOkidAZxgeM1p9BXi/v0GsTTrlNquIuSn8PeKrRqEWqgpkgpKqtiQItQFRDH23VqAe9RrUW29rjiuEJSWc+79IOYApXzmkAACAASURBVNqu5+Ib2jVS/6VUu/T5ixHK6Kiq9sjOJUuEZJmQ08GDPhM7AZxB8VPAMEZpOpZxtj9iX9c2P6m1mvI6i2jUaGqa1cjdN4wec+9h4sVP/GJHAHPRl0APzUiX27LVQWWdW/nKgWhFq7+/4uLlUUTrHMomQVwTpc2NmPkBApny0tqP3u2RLN0v3JxwINPGvbRmRGjohBJ9AYqhSF8UpwrrAXWB0Jlvb6CHDqLkaO+S1yLSMo0MgSAB1jjWBH6tnhi+5EAVIlPLDZLlwZ4nAIwTInXosSgyl06zLq+517bDpzAdpF1hg86CMh5QqDAlN65Q6FBbP9jaI2HbyqFXNMujQxPiLbxyLO+10mcOiLaOYLWRQ2a7T56Tk0LvOyjA5VrIYdk8Z9WA3VLmAsMLs/PAd8q7X0GjQ6FWSbH60zTfDCG9Hr/uYzABCkdjaiVWQQ2i9Xa4tpwCcNFV1y+whSBqqKtt9/uirH59mrX2qJVIUIpvd6wg0oYe+PZApbeGXn8ZEYcgcUuh1Xqc0nTCHm2asTgcEIqWoXPDgjiMhAOA2BfKBzwBku11Art9lk44kSlRq2EU73zr7ps+dNzdi77sj3xw1hk4ApiLviCudHD6Rlq3cWWUbOxLVvRXR+I4OgFQNkMM65GxBCjTjLSbWB5pAT9SauwpRfVMlYQMAzxyBBCXAbjB7CVSJlG+/QCNHbjU1Ao9E6sJl7CLHUbg4jJTaTkQrSXEVYJuGASHhGiViAzZDaggpTekkoQKQweT4NX+t/Z4rO9qybXpjolnAZ3XDOluyCvzOmNIoE3t1xR4Q6ptEZBuJaT4RQ3Q+EfmFGZRTRHQhfw4xKuWE+dk9cIbo3AgN7jsENBD7dHgPtRhc+HgYNUWWj5FvTA0vgOa2WpDe12BXUlQoQWv0WjwRdfujsm/hZKqtdGLANOWDj0e5RVo5TA80PLBe12XRuz5Tlhp0+SPirPaFnnSoFdTcXtZB2oPAuzUaFCAd0vmd5JPd7W8nybIWjqlpZFhrJGhhqmV/tMJ3UZT2BDcBWntHmmkE8bPxUg5DxUUKgmnE84iW4V2iSmKB8HFK1xUGgFHy4ihKgSxRqPgW7sxcl/xlfJXaxMTExP7ZvyDw9s9jL5CL8ODtDEXfZP82H/wCGDO9xWP3hKdBCM0NDHostVLh6iVbEgi2sQkxyHgsE3WsOwmwAcY+d4paj52x2O7JuAvN7XgKXEO2PeL8VkD/viqdycEsIzQJeWjsjg5AwFbzqdPMmbbqFmzmpZ5kLtEr1qKCF0GfpBcRTvfI4C4SrvgELnlIFhWmwUTvfTcBNWjRJcA4BpBLuUBj5L6VPc31B8tCLOZRuUHaQppXVgrgVnd0lJ3CwYLA28L0sh74yWaaqNJ7ercoP00hmee92ramlN2wk1ncmvmIW596ZD25jXJAo8DYbOdO4f9zsPJPCa1WC0XOG7n80VQppgX9DpDKm07piU9nem2/N7QVrvaenjmxKtFP5sp1x02uqZ2bVSl06m1o3JPbdYwcI2sw22injkSCxIjG9kn1wFSPU2IVDvPpJ60HJFrwiNbaB7MOEXHT+FJ69ybsClonVpBTKPMceFsD6HbLd7vYd/ag1m6DyJVS9IGUdokJCtNesR+iKsnArrV5GAAMt4rvvY18jyh6TcrOQJNR5l1p0wvVLjCLq6KK+mY7FqoVpFdUgeBaUHZQULbhLMHm7WZJ5+EydY22JbBXXsErnrjbOWPH3soXNwBHgHM4jxdcqXbtOoF0cp1S5KY+4eFomPAyYkgqITwAQCZQqBHPPM9wv6Rbd/es3P7VesalpZv3SMAl4Ta05at7uwLXrLJxdEFlNYGoTlTkizbhz7bg8AtUpFeV1qDUTIiBDVoTD2ARCWO4mGKkhV6UQvCMvBc1lDNmDMBeoooTbsvodqnfEtCHdWrishy03wLEVYLSXUruUkWPebJst3YGGuFzjBGi2zB+Ce1DjtGmXCqSKdIqnPVWgINXEItQwbqULhmQqvGTMiCYLvJnRt4KUMmZ6nbBHlOWgptcisQFMFM9+/FSovqo5iuZGfK0Tif+T8LvGrHejqFZMaQJu2bH5hinbPo0Ybdg8OFVXgDJ9Mwm0gl4O0sO+MahVl6I015ttqvqQArO8CRKtepLKaGpspd9cJeNfX0QaQlDkVA/XxJQMoKvNYtA9gnIOMqcgJIqmIZonTdK1ZZOQV29Sw2GliYChCZsKi05XeBT/cyyxQ6TMBFa9hz3YnfjeDrNl4rUPFESykuL/EiIygyg63mPSDZdJGz2Ay62RHTnWP9gzvK0LeOnNtEJMcyw9rcp2QXoDxAzA9DbWbbNhhvbIBt2Vb4EsPo6AGd+cVBzI/Xp35yAXN0lE6CS6JoejhesmRwGbn4WCE5FZE2A0KZRfYQ4H1e+O6sXn/wttGh/bO/esFNl+4fWLly8FSb8W1lTzTGG+PffWJHbd26Qbdq1YqjKs3Gy1DSF5nDILfuAJ+Ok8+UphMDJcMQlTeAKgqRGxLBJoKfAg+TOqCHTmKRqI/QD4btGg1bA4cSEvaJ2E2pMdS4+OxxAX4CgPrJueeLYBVQ1NS8FOQ8VM6tYHlbCp2qEK4ZgiHpzRk622qAFiYWNWXNDRf0nRDJGZk9+Oe2hxytPdwxps1JljklvqgSthG2FyiLyy8gbbsPXvTUexQxZyeNXQT57o5Svi2Lf9tcpkCstL3u6vIEyDIEz2Xc7SwED4vcBKh4IISOukklKQZrdBjOq3ochUeHgm4LUFIUbKpyCKDslSy9Q5kI6KJ1gLRaEPvMqgO5DiINAGxphZPRKR1UhHlKGGuEnCojCYUHsKhNcrZXxG+DLN2pYKg2TOiFpdx3ErjSBpIsY8a96Js72Td3a7uLkGImUuGQAQVFT9ktXxnd8O1Z1/IlV7otL7p4NVO8GVFOQMGjGFBr73sY+G5BuNNN13Zs37e3vm54u986+oreOaIfL1Q8yNH8RAHmltFbIoANUROWVculyjEC8DwgPAEANfWtAfM9IPCtRnPqvq/DJ6e7n6qnv+1b8cCaYbd9XybJcEvuvgvgeceu7Rsc7D/bEb5QxMQumgL4xKRvXfu9/1XZcc57HjwJIzrVQRRZBEDJeiJaL0grjKLHsAeFtyP7MXGk9pEr0dEIiOuTMNZhEycCUAWkioncWuThdwDwI5A1HxTf2k/aTcekD6iyAaL4LBA8UUE/ZL3abscWELREh89Z0iCra4ORlkpbedNUb7XBgequUCCHdczD7KAVL3NiUdcwjyFdG7G6Wt+Foka+qmKevXswJ3RrOiz1PGpt03LyUmE7Is3RuWv8J1++kG6zleURbADUQm6p/dfCMD0Hen0QBPJ+Pn0eeJRFp1+JmDYllQt1aMlSP6BlCXPEYFLBE1QupabaqjWlJnEKnpPA2e2Str4jPtuulqDkMPJYWhPF7lhwtEGAtNxSJtAIn2f0+gnVWat5tlBkUhh2Qeb3KhNWUEbQxWsAYBAE6wR+l0j6GPp0t7Co1JyWSvKHH1QgGTgNCFcJYEn5X8C8jSC9iuH+b+yGEWrtS3CoOcG3X/EiBcB2DfOk0buS4XjDsEuSk1HohQyyzihMBI+jwN2tVnbP9PjE3qx/X3r3XXf5n6T0/ccbMEdH6fQdF7t0cF2ybHhoBUh8CkT4fBA5OtA/8D4W/nbTN+/7+v/q392+aEZHaQu8nLZqLefku+V0eFu5P1lxOjjYQkIzWv9JfTYFjA/f+r6rv2Xp+Jat7pSXnDFcJVdtRY2xRuLc8rR5AYmch+iOsohEZB9J9rC0Go+rkjlQNARJdAxivE41FwMp3AiAMTnqE4E+UaK61r8ge1Cy1v0eZK/zaUOdw8lBlTFZh7E7BhFXgjYBghJGCqAdU1wa2JNWc9PkWb3Cte6mt3QwJwv1OatXBSzp0HdyqCtmXfL3rT6gSxf2Ovk1lDPIO8XG8JwuAsHeKLD4ewGa3Z/V92zUpiiSzsLAnkB/Fnh38LI9sl4AgRVM2/PqITvviDFZDVZTeOPoh46+bt96PkbTshiT9D+trFo10lrpeg5FryXdL61NNllknwCrnUdZwQ9FpkX8Ez71j4q0dpHWJTWzRxrEOFmLlBwPzm0QgWVhQIqnwdwljWCvz9YWMIyDZNs4az0OzHWkZIj02iG3HkAqADAGnreJbz0GPhs3C1+Ml5jNG+tUkW8IxomUKy0oL6sj8BCgWyKS7RffuuEr7x3YM19gdfY7Hq+URpavZIpPJcRTEWQNq3Yq4N2Z5zsBa/fv2rGn9uCu72Q/7uD54weYeao9AKvKlbj/KHTuhQLyAhRcKig7RfDbkmXfnXn8zm23X/Ei5c3Nem269IHS+rVHbQJwG4B5bwo8FrW45mPxQq6CjP2OaBkILtGu+P59+26742N/XYeLfjE++YSRviVDlc1R4s4FkBPA1wfEN2cgaz0g3HyCsywFl/RTUt5I4DaKc8uUqB4qaFqwBOVo6v9SRH7Mp627if1D4Ft7TFcyJMeJODfskr6NAnw0YTIYAi+ZQeEd7NNtkrWskURR5SSM4jOAYEUw2GattQV/biPEKEQEYLAM1LrCuW+jNVFshCfct96b/kbHxCw/bbmYRrCVtTnHvKtcgG9I4LuQbNb57iGxt98LNrxBjSIv3uaQO09ab59TPUudbdSPtgdvQp/fuFSh2NA1/NmOSHVKyPo+eVdcm+rF33T72knSUFN/hqzfgvPQNVdFdkD1E3lE0tbXhOuPCLsqlatrCFEzmZVIrqKTWoCwRzh7lLPmI+j9BCk3XWdUAUoYlVZBHJ9AGJ8I5JZZDoI0GVJ3s+7Vwf4GgTzps+whyGqPE0lNJFmKcXw0UHIsgCwXkBqyf0B8+rBk6TjoyJaLVDllBEoDZSgN7BGh/Qgy1kr9zumJ8V215pSl2euGI5wqD5UGVMwavjs9V/p9zrv2DCRLhzaDg9OB8QRBrADLNgb4JlF6/1R9fD/s2JHOdX/9qOfuPx6AmYNkpby6UvX9x0YILxWk51lsIHIXEnyr3qjdeWAd8inLx0uudCedfLKr7KjL7WMP85aTz4jZrV5PhKcDRcsBuA8VpLR/gPLIFE1ffft7lk3oLXP6274VDaw5tq9FfcfFEZ6PgCexwDQAf6PekK/jzBNRKeYTxeZ7khGKSschuaMQsRpINIZWZUGb9HEo/jHg7Hs+bd3n2I91iycw+ASjvlXo3GYkWg9AZVXfBaF9Ivwwc/0RxzDmfTNC0vScloZ+TMREyQpw7mQkXA2iY3phMMWG/YpZl44iWx4ZKuCZIEhIcg30ui1pixCxE0LO2cLJD7Ij4lYwlAKpJ/TKi9vI1C+KPrNxB9oJf4C9nBvfBcBt9SPj0+dDN2F9XYWCTpupy2J3Vvqe25y359ltQN78IYsnQ747JtMemO5W0mRNo3eKl3vFN3cwRiUSr/bmeyhEm47iZISS5BgE2oDkBuyrl2xSWB5mX7tfmum4I7UnDi9WAE7K611UOlnInYyIqmFqYsWEkAaZPKWa+nHWqDJt3IeSTmo3XZCr4qpHEcXHYURrhaEBotlJeg9wcwpT/s7Wj226s9jWltHd/RIvexk43uQEhxlVus6+8Pu8NL/QE3l2is7FCi650r3ktNeuiyg+zaG8SABXA8k+8Pg1cK1vNXft21caejD9cal7/kgDptYVYenG6mBf/waM4EwROj1vctwr7L9cz6bu/vro8OR8T7VT37mrb9mS4ReAk1OQZb8wTaKTsRBV1ndvHV06Dpae/1a1BZWqjxEr6Tf3NSc2xaWh5SspcS8ToJcxQ1lEvpd5uWnbjr3377hidV23eeY7Hj69VE5eiXFpM6BbDwIVNaMJEuTQp6RkEWgK+3skbXwbs9Z2IzrrK+esC0kMrrSUouRE7dwjYMXcuIDHRdIHQOoPAuOU6WlE1A9eDc5M+HsCU55SbQi7/j32ubh6tGB0IlK0BnTiKKS+hTF5gMMcvLpaKjn6mFlYsKLIQ92OO264jNrL5CJC9teCe59rEs9ar2KRvp/zVDvvBb6RYXkBcAFazfnXzl6xD8G3zRTdO7Kf+eCOHV8ebOa/WyurWL5AVV2BHlsxKxnI+wURoIO+NgRllVEWzzOeYDtm2X0+rW1DkVr+pIkxLg3ZVBfzjPdNbR4G0csoWYEuOoFccrRYJmHPBKUE3SdZ437Jsum2L09+3piiPpeUTkRXOp0crhdvHukTQKAGdTnm8xRw9hD49EHfbIw7hyptBJxFfVQuHScUnYigwtHZkyDxNfWy+0+/7f5JrV2e/uH9g0MwcBoLJJ5lf8w8wT6bqUOzRhO1dE/W4BVRmXioGidxuc+n7Js77hubM3ocHaWz4neuqGD5DBR5iTgcQZYnBPCbXpq3Z3v3j9+2/bbWj3La/iMHmNq4mYLjkwFYOkJRfIYgbEHRpog+4WVra3ri7q/+2YqpOUASTxq9K9ZCtzZtNKLUJk4Gq9ckzm0CnagQ6GfkPp2YIJEde8f3//sdH1s1o+uy7dZP6xsY6D8RCS8AwBOA5XFGuG5iz/R3vvuJJRp12mvDW7aVVm9YsyGG2ptB/NkIUlWZm3z+ZQCQhkJBP/22T2vfQcj2aTqso3GFnKVBIkV9SKXNQNFJ6GgoJ0A3UbJHfHP6LgTeF266ONaROSApo6rheJxSIkwYHs5v4zy99ZmPKY5WkCtvEKFjzbIC9fxZuNn2Hwv9ooClHcRoI0wXPObvtxs0+ce7lDjsL93hZ28oau/3XIrdAay9HxAzdLFDx2bWOvN4vehXWfA3ax35P9qoXGT4c9wCltEHUbeiRBGaX169j/agZNsyrj0CWbZXx7ht91ysom7t7897iSgqjWgJx1NrL/p0wsjpws5FfWuQ4tOA3CpAim1ASGQXZ43vi2+pFW+zo8gezqcHieK47ygsRS8BdJvDQxPGAcTAOAwd+UnJ/IPCrftRmpOk3ficOi9AKyDqOxHj6gqKKuPC/BXP/ivp/r27brt8faO36bM8Of5VDrRjDoNeoELB1U0tTb5bbzaunzNb67npzv5AbW2JkhcoeALiCIA8hh5uZV+/Y/u+J6ceHP7H9EeNrvSjApgGdv3N9QP91cppInAhOjwKRLYhwzWex76zdXREC+XzvfCcP66vT2J3MaIbEPBj4mUS0U0K8n4Cv/Pm731ue8+Tz+6o0B3fPISueiYQXIwCSwT41jTj624dLT88a4OXXOnOO+41y1sJvSKi6Gzm5gbxqaoNWeoN4IYBpMa+8TVpNb4FkE11xsO79AstG06GyZVeCBRtsDjQaOIyzZJ+H5q1e8PcsmIwJYSlEUGMIUu3A6Z5XTZfX1u1fLb5mu63DhtRlIyQSzYBJOsAeLnxOlmlucMMS5gaD/OAxqNsC/32ouABCNfT8ent7syHonNdkkVNsjsj7EXdA0sEsztOc2zfHhJFSJ0/HzQND5M+2glPEWRGxD8pzI+xb+wAL3sQtanWw+u2wkJnlLX4XSDqAywvB26OoU+nCudgFuqPSn0vBIo3AkrZxlhFaoTZPb5Zu4tQldy7X12K61haD3HfS4noZAGoW0OIOLWSs8nNw34Bf7dkUw+jUB75huVT8vfE5WMUAC9GwmMA5I4s4y+MT449fEf/X9cVwDQ4IHf20RlgEiHXWtPNyf3lJyxw0IBDfw4N97kISlHccC4qq3zUvumto8coeLcLLN17f+4HausdJGciyUtFcBCA7xSAW9KJiYca4482flTqnT/UgFlEk4Nu2XoUegUivVhvY0b+EtWzG2++rPrEPAiJW0ZvcUqd0EjSPrNmTdznlq6MvFvBDgdReBkCDgrp7zKG9dY1N32wv60ko9v2zRctjcqVlwDBay1WE//5tFb/4q0fXjLWs13cMrq7D2DJKS7CC9jLRq3ECTcGJWuuRHRLAKAMnN7hs9qXwKedjmS3M0GYuSak8ioXVc8ArQe1RxF5BiT7Ljdn7imEY8Nn4yEAqojPnlRe3gHnozv9tDcP+IP9VX24BaNlhKU1SkVBpBWAtIRA1ORchYiVuB7kJO2qybvYRWQY8ufZFrlzYWj3DvZi3Kxgtlh/vsABNYKeKLNdsCyAuGd5q4b2np18Ietuab9HVTNoBpnHRPxuBt7hs8YurQ9qdNi9tPWk2k2p/B1Vy8+bc7MOU9TeOBpknz3pILNyjb48Yzku950JmGwEMpUoE9JEzu732cx3Ufy85ST7PuLKCeQq5wngSgQe0/FHDYlNlA61uecf46z+fdayQF4jJZfdsfWDJ2kNE899f/MER/R6BDxVa/3C8jnh8Ye2jo4oOM4Cvi2j06scxa/ySCuV1G8C1aEPRTpby17+c2b7HXcuBHxKWVoNmzZJhBcI0KlEMpYx3srY/Nq+dNu+u0dP1gf+nKA7z73+nP75hxIwQ1R3bB9i/+kO4dWAuEZE7kOQz+3gB+66e/RkrePM+3rVu/cP+erAiwFlJZE0xbsagjQAoZGCTBO3dm4d7d81H9iePTqxtATVM4nwDXpBgMB/eL9/65xRrNU43zmiFxOjeykBVFgHxbUE55trENJjRXifTxs3SDZ9b6E4FG44REudC0zQmyAqjThXOgchGlFSSz5SmIpP7+N05hvdoCiCsbhoWClKlvIFR4oAZ/nvSq2efZxzA2bvuWBwJSIcEBctI8ZVGvGKgAo89BNAVaw7XDCOjKBjVcecxT67+9L7dMmVh4poK0Bc6GIv5tURG+58et7lC0mkUAvtZsg3AbCmlBsEPyECu8U3d6fMYwjZjJL7D74vvc8mF3TzCqeh4vvVB4mWV1x5FfrWjPIljcyav8+AfVGcrEQga7ZQpJ1wFsmaO1B4siNAN/feeIkqUVI5F6l8tnozA/KYWkyGcoUWJniCuXWnT5sPOszqXYDZXuErP1A/WiT5WQI5C1DugIyv9rDj4e6IUZtD6AbXekEVF0zZcZO8pL7pmyI+q+9/cHohsOw9gi2jY0sc9p8hBOch4ioGuUMyvmb/9NjjRbS7mOvhufzMDxVgKqVn5fCa4RijVzh0r9ITIeJvYElvOQjA2f2mHev6moodj1GKYGAjIa3WyE7EV5CwCmGGlzPEO770vvi23vv47Hc8Xq4MrTwREH8JAUeA4Grv9183X7ofgP15xxLRxSh4Sm5eYHe9+n+LtDZxWnska01eS8BW41Rh19mvTojJ4pbESeVMpGgjUrjo9Q5kgTHO6reCNHd2L8sCJaJ4mY5tGn1pzldH0ONQLizluCOqArhO/oWXQFwiogHAuJ8gHgCSpRo9i3ODCEqsB+3Aq1iuigyrtYNJyAU7yvZK2qLFRT8m6HgeGFeE+C+AaCgrGpknX96UNWyc3KQ0cupSoJsqROn5M6UgZYw2QSy1ntBswrOK9KZTrOOu3NDzNi84dqxw5zh7i5621gpkeaVaR4pvTMRRvOglF/2ducoJFJV/CgB1THYfIoQvLkhGadR6X5bN3BFF8uWtH+x0ybvXf+4f1o+JStEvgGjEyTc2Jf3CV+/6wpPPRZPmpaONzQnShUD0YhHZptEuwPidAHc1fpg67D8MgIlbRh8pAaxa5dBdiEAvF4ExQLl6/InvbV3MU8vSBYzPEzFPm6awNJGcjp7pzaA+K+Medty/dfQYLW4f+MqjxAiS1wjhRSDwtVaj8b+/8qH5ybwK7uuGjz6RAN9AgEcLgYpbhPseZSkKrGKufa05s/tOAl9YA4Iv9InaaJEDJlOEpfJxEVbODpITyhwJu+q9382tiZvB4VThj6M3srAk6MrDNn6STu5FiuzesIXaJVGd5Ouyd8lvVXPb6kop2w5c+fIHvE/q+kCqyRHW31VSE8ekpGjScToqVQGoD5U4j0qoprKNaDqKwSZhVGpHYp1kQkY181a4M93JMOHTfUkWDaVc6QhIjchUV11d2TNgJYyrDiWoF7i6fKkKlP67xggzkrZqgtm0QDZjZkhRbm9rCFz4pOcRfuGZ3uFZ2iSouUvadxp81gvf746jZ/iO1LwuiJnkJnb57+bTpA/qqLyaubkXJas5Lfn1WO4U6y58yHsv0sLHfvb33/E2D6ZofWspKr8BBYcAYa8o4yJUJoIQH6bbkNP/86Xk7246WLPllaOtM5HorboPDPJPwmO3z5WmLxrMD+GD5713eiWUktcj0rksshMFrvMw/a35OKGHsOpn5KM/SMDE00d3VJZmw0eLo9cSwhkMcA8A/+tNo6XvL1DHQBgdbe/7qdO/UVnWv+w45zWFhBgYS0hQQvGJjp4B00yN6l/5r9EBneaZ9doy+kgZ/drTIke/Ym0Bz39z4/uT7xzs7GodZgSOO9UBXgKAqzret3a/68SOCmhcU69vuyYSODlHPfOp8GlvNSEHzCgejKh6FlKyUQthwfLVFHy0MbE345mt4Ftjwde88xLEKkJltXB9H0hrsu1V3Qa0HDCdKggxgP40wMt/D2pi4e+H8r7FeTnq282vvpPddkW5J0e+v+JTQoqc0p9MREglNY1HrnJETOBigJYNa4YdtNDRHDJzL6IgKccmPGIOuYxEmr1qIVe18HI7jnA89lyatT/zHV/RI5u9v+YnovtuShtdHiPdTbS20Vge9nbCXxMvsp3QeXCK1wNkLe/TvQScGWD2vgo/iY7HRMfXZM7t964gHDBRsgZdVa/LCiCPg8csqOOpupOaXsbfSqnyqVvhw9sOBpo63dM3NPIzDO51hHwrt7J/vzn+s53PVVfbyPHVpa8AhJ+2C0Lg883G9JcOJ/V/RpAyX8kPBDD1y6gOrVgP7N4AAKcjwXcz8P/v1tHygwse3OgonQ9/sEq81e4yUXsrB56cpJyJ55h9E3zrNrhcOZQHU1jBLaNjQ8TV84ncGwT4y43axD/MQ0lq75Y2gyL/khOB6BdUUk0HsHO9Ro2NEkFZLYKPNJvT7yLZuY6Fnt99TKYOZoBV3NDh5sEoGaao/hb0pwAAIABJREFU7zxSbmaY0ss5ilYUm8mk8R1uTd9rUdKs5S0uq7ioMsLCdYb6XnMl7HrNFWH2Rji9NBZ7P/MhqZ7rpWBxAEB221wu8E0eAGg9Jof2fmu2X1x3o793+SJ6LAL2ufFk8evriQAPOJoiqZ4taNoWxc+5BWV01dVakARpqm6APS3JwLEX0Oc6/h6/vIMdf9f+Imp6Xn09oChXM1Ds8tyHXHnMufItrTT7ty9fVt2+UIPlvNHmSQDut62s4v0VY09+/97FZH0L3seL/IBN3i3d8FJHqPdoiYG+kDamb4nK35n6QaTqzylgnnTJXcmqzRtXOxf9nCC8FBi+3pLsX778gcojizx/oCfwqKEN5yDCi3IlCJXRycs1Vi/T5+lu9tk1B+uiv+y9M6tKLn4TIL2YSa64eTS+eRH7gFveUz86iqM3A+GJOReu03hmUfuA6lOii39642Xxree++57nMcsLAiLmHdQ8ZbNualdXFV1lGKV8PhL12yCH3VFKfTNWtkZau5nrX2Vu9qgmhRtPKCkRawfTxcKtXcxZLdiShddBU8Y5Dlw/zxYVFlT22R8K2bzKbnZsNA52/orPdmzTA2exWH7u9029Z1HXKCkPcr6U+GDHrw+FeY6/e329HwnvBf1kfc/lkbvpmuqwAVZWEGFFJB1n3xojirL2d24ANvv7X+j6WPDa7Lm+iAZ+hlxygggrVzMNYlVqpVfZj1QZR+RbpNn4wk0fGgxc3oO8tIkqpYFfRcLThOXvPG2/bd7y1kIrO9z3L7nSnX/Cz7xUHL5JxWiE4d+Ypr6y9a4vTj0XNdb2fXS4+38oy23Zckvkzj59iKLyaxHwYgF+KM3g77Z+qLQobxFtrtTHQkNnvtdIX9UCqeZS7TcAHGSiAA0sKfklJDxZxH/8xvdbCWDB19nvmFhWHShfRIDnB5ZiR58xNDpwRAAfm5na+fbbLl9fP/fdDz2PuRkA84CQrndzyVKi0ssRohXBnjAXlwwNDxOnFEl3ZL7xTeHWeJixzkMOi6q0vKfj0G6QXLJC1W6Y/RSAnxKRLADVwUKU3v1Rlx/tGxQh5lwhUfcyXS0c+3NXym7/7n1/odNdBMnz9Udmh4Dh4dAd8h54PHMe/wFNuGK53hCz9/iLYwyfJ4xVtDghqiqFaAlIa1x8ax+Sz2swC4Wsvfs71/a6P3Pw/UPqO9ZR9Q2ixHbUcd3QQnNU2e9caVwAGsL4T4+Ob/vGg588rl1jP8i3gq96X+stQHQ+cPb3Y7v2f+X2K9bkHM+Fvstn7n3FgiUjp1yIRG9ExDGfwb/w2NgdWz99IBXqmdtqZ02Lenof/oZH6axLL+3vG+g7x1H084I8QwB/e8P7k9sXu06tZVTiwQuI0Job3csZiSUIebfQwx1f/GDy3YXWq0VlouTNKHSq99llN324h3w+zwr0ixpafurznMP/DoCDhmd5OVBneMBBH7OsfGoi8pobPxB/VFez5T13bUpTOmehfdL3haIqQek0hOQUNO5lATjF0oEWI+L3eN/6jueZnSpg28airo2IVvoo7ieKhgijMnNWF8lUMUcv8LTQt1xwv4oGyJwfXBw9acFtHPQDh6BZaw+Qw3gdwiZmrb04N6oToCT0KO7Tc+19Og2Q7QVTjPrBvUTcUFJe8vPCOhtuzU87P+SquyNXUQV4TXnuSjn95y9fVn18sXt63vuav0jo1KX0ip333P/Vu686OMVvses91M8pLlTLQ68HoNcyyj3Q8v/od+58bOtn52nsHuoG5vn8swaYVnuorN8QJe7XAHA9CvyfG+7/92sONXze8pZHyvHatacAY19B2O4+lpx3mHnKtt98WeXRg50XO8nx4MWA7jUZ+g/f8v7SXYs9jxpd9vVVXocCr1DRXVvOLBXUDkyB29wgV4HIP3/xsuSv9e1z3nXvAHj5Wfto3pEuUrgDutDMRK6yxrm+c0zhvW0A272HIUpAgRpz68FMmveDbyo9pue276IqsUTOJUsR4j4ijNVhVqQ1wagTR2mLdGSzS/5iTlCY4ySZe9BBUureRYqxwflS8Lm/h0NAs8MFzJ6JnTkbMoHBGfitaj7n4oRB+pFiFQNW0ZQWI09y1pgkF80ZEi/0/S/2Olzs51hcuVRa8vMAOvLLM0Ww4aKBxwmSpmmNaEeN8R9r9V1f04xoset+5R+13hIhvSQV/qtb3v/Bp7KzH5wa+5Y/mF4VlUtvQYAzBeTzM9P1q2+7/Kn+xbO0T88CYI7Slt99+2DcN3A+ivwiAHx9ql77m9su71UsP8jXk9tFFJ9YNxXS7N7X1s/+/VPpzuK+LC0L0FkvPdNF+Ksi8i83fjC+frEXiN4n572ncYxz+GuAbk1ORW6nmblkRZ8Ir0LAL9zwwRBhGmi+8/tvFDZx4J7XgSmsXuSJ61NxjOfnWmsmKmELFurhJsdo1gYqWDPGWfpgy9ceE25Oa04YHioKmD3rV85ipqOQUdVhvISFyqbIxmqyJTPM6YxaxYpkbPU0NWGbVb/sTbEXPp7OPsx1pg8xhV/o4wuVAOZdfjYok5I72xJ1TAJR7JRpoT7hEpWAfIzg1Ge+xpBNsG/VwxTNgju44Pc/+3z1rG/BCsHs7wchWRIng28WUWV4mdHhWjXjiJLhh2xHwsM+QuGv1bl51cEodL3fnvYi1h6/6Q8FyLck/cyhRKiHcM8d0kcv+L9aZ4mDXwekGWD+++nak3cdykNgsRt7RgFTT+TqTZs2EbjfBOEliPCpGz6UfH2xO6Of03Ws2XzcC4HhxVpH12kWrQ/m2rY6yKqWhAkAzTD7f1xsSv3K368fHZWiX1Px3xs+FH/4UPdp3abjXgBI/02bOmx21t0pqaqSqfwbrgLAx6G59+035KIdL/uD773QS3Qa6L2nHEb9GS5YtUcwrp/9O78hEKgvivpPQ4yPC/pqgZ0Y7kc9+jzz1MWVjqPYyX7CQ7qdfbbNQ20cGFJUE7Oukt5cTRWbQwdXAop0eqePMI6Yvc5Jm9c2g7HWm8JpUzDzKLEao4X97YlKMaiWq0lQ3o8Nv+vf7OO97+dCFe2mzgG8xENcX77tYnu9Xeju4w/b7NRmzeMIISGMEiRXInQqZhKjKDVNn1C+KeBnmKUu0GwiKe+z59X7/RbfdcFbXeT3396tQ11fz/aQq8fFSd/rhUUjxxn9whxG0y4a3NVV7lHLk0cBs8/c8IHKtoU65t1H/Kp314/CKP4TAbh6prbzhmcDnA7lHtXPala7cejoXwLB1wLK52pZ7d9v/fCSp6LNRY6QLWKDzxhgaieNaPAVAPLfEeHW8anJ/+frn5xfWm3efbvkSnfB+ovX+CRaBSRNzqQZs7SEuInMGbu0OTbWSOtjY9ndVy1u7lRP5DF961+ORG8i9u+/7sN2cSz6dfrbdlSHly87B4TepC6LZmYwx7wKgiwN9gFw2Q0fjm/RL+qiv3ygNPFo+kbz2Ol+HaSmr548Udx/soPkBOu4anPJ1HnzFfTMYLN4jR8UlZrss33C/ISH5k7veQopbVmDqDftnqOHowQtTTdRoymGEhIlwBhrKq/bZiWKo1pcYAomhqyuhuosySoux6Qjoab+kDvnHJAmd0VzCgiH0aNpZ9AKEO0elnIsuyTx9CGk61avt0hTZtFBAKemcmrzoUZ0kFGCkYuRuWRPP5QMQVroQJXSU/FZiymdQc5HJBeK8J7bns6BPcTu42empLTs9YjJJgE/bu6TOoblBrYjJfnwhn0XRID7fMafvfHh/+/uQy2Xnf/e1lsQ8fis5f/25o+WQ+T6Q/C64L3NUwTx90JQlX1y54MPbXumaq3PBGDiBe+cWiFR+ddR4DQA+MsbPhJ/+RDPG+pY4iAMVtRTtFg2di4hclXJsCzmjqg/wbt03x1FBLeY7bzsd2dWV8vJL+hnr/9w/PHFLNP9mQveuatP4uUvJ4E3qOiaRoaq1GAc6zxzsgFGgAQB1wHhY9lM4103/UUQ83jp799xuhfUc9N5HdBEbs/52WfUHybC6gbnSs9DdKruEowiWVPlYFFm1gmFf5f+Xb0jikgLRGd8xwV5N3O6W7LGPo/S0FzS1qWOjN3iksXvhWBud0aoBjaKNkSajpYQo4SAEgk1UQUblDRTB0sNL9U/kUAp6l6787qoWrJ7z5q6mrcFsGcdnVGXDHOOEKGIJcvQJVEAdwv6WAXWrLGnFjqKe7o1tKaWM+K7qp2jEhvVA9z+LTGq3aSuF1U3zSndPTzhdMLdZyqy2wKiloKiPohtWpbVgTf/DgxKuhr99o0s0OU/2Pmb64Jb4Ps/cJGFWAf5+8Loor4TY+x7rYBGxGg8TBRXj6Ml2+27z48z6LLKBLJ8pvn1r961deuhmZvpfVXuK11GIv+wd+/3bn0u+ZkL3cNbfmt3f2loya8K4rnIcEVzcuzWrZ8+qKLZQqu0958WYGpdsHzm2ccy0e/oyfeSfujGj1QeW9SWuz5koXRlw7lI8HKd+tB1MUukDQlRKS2hhmoEso48ouyawTkVg+bd7Kve1Twxcu4300yuuumj8VcOdf+UaD9YWnWOiLw55HJW/DPA1J/hdgo4LyADRLBBGD4nft/HFdgvufJK98RtJ1wsgMvn3XZ7VK/T7RXVznHlZRGWT0Kho8KcnqbE6iaTq9m2Z60VL8K+KKro52zq0EQxdKZa6oC8jyHby1m2X5sUyFlNHCkSqXp3Z1xwrp3s3b+ukoIKTqiDDLCPgBToDLmdjvGYwruN84hT1SOt/1lhQdFPwc9kQgzr2dTJKQ/EzVqt7X4e0EtcFszK2OgCZvqrpQfxHgkz1mhXPdN1dyTVEUrlWpmskDW3ul8HOZ45v6OFPr/Q+wtddHN8/7MW6S3h9K5PeVUsFFFlrXP9PwvCZSDaq48mfVCU3LJHxSJNyvEydO1QhWFADivCVLeCC4993R+L4M5W1rhq68cH9y50mM/1+696d+OnCN2vA8jnsVn/1+sPpZcyx84eNmBa4fcYGw98FyN8e6q16y+eRh0Dt7zlkVK0cqi0rbav8eAnnxIW1dclJ9n+bdmzAreuOFxz+VF69e+/93SI6S2cpR+74WOLJ8kX50spRcPLTj0VBX5F56RN3sGQqVs+QovoATpBVJQCjgaBqzKc+vSNH1k2ec67bu0XP/R64ULS9xAuHZ0zp9K6iMqbEdwKQcllgcP2A7OqWxtttq6ajsXpJ1U+LGxV1BmyrhNErFGoSZmlU8C+rlEoiIri6nrNBkFvrAUpO75t5XAIxzXHR9Ub/Af1MqUhdRIOYK1F2AWP+we1r73bVbB0rn99TNWfBlTam+wWMQ8hiN3Qkw5Kk90PeTvL5rnuHwbgzx5qmarY/gXvab1Ns6omZJ/Zeoilrufq3F347ubJgO5/gajIeOOvb/iYaUQc1nd7WICpVJ9kZN3LSOBSQbnq+j9L/uFwDl4jy6N5Zb+vkjZ2ABoUlR1GKWGSAPVpGs4AFRBfEkd7vvhnH3zKT3lxXfFifxTY1x+z8RwQ9zrI6n96uE8YbRrFjt4KiAqE5gg2+wLsRJuWKAIOC8uxSHQL+/TyGx793GNbNpy8opHJhSrGcOD5WmhWzoAuJuxb4yjZREqSFywFyNSekNOosp00dI815yDZ7XKjYGhmkp3mlXbLWUG0HviafjoDmQJR4ntaQ6Cmx0xdsFUFSFBTa4zzWm4enc46qKdb1Fto+cWcr64dsv6Vnnb91rRZpqKO2qGKFaJjQFc26hXgACL1AfB05tMdXmpToQu+UBGz9xtdaP97P3+Ix9NVtNVySckNnOCofBEAJSy8GwFSVXCKXWUsor49Hf+Q/KFum2cHCF9ppo2rDzc6vOBd2c+B+LME5IovfrT8wOHgwHOxzAXvnBpBV3kfAnOrlX3k5surOw4HNA8ZMBUsy8PrXg4OLkXPn73246V/PZwD1nS+dMY5p6J2tCwrVEUGjoXzEAO5SUI1RmmgwLR4vP/6yy/76qECpkaHKwZPOwdRXg+N5mXXfnJ+BaKDHceW3x1bUo6qrxbEi0L0EcpiHciZXeNSVQjlwBHCZhHYJphd3ty96zY/8PiAd4OvZohK7U75oZ5A41ZWRwjiDQSkNgf9YSQ0WHOFnyHqNLvYnrmb2f39Lsi03rcCqdlTcPBnMGMyBcoWItREuCbISoCvM/gmMjQZfIqSpULUFO8zJs4UWI17qApKenN3p5RWXwxR62Ki1wOiqZxZYLXN4qVrtAMPXXlxTuufCUIUac1Vo3Ktu6LSbFykTS1VtqqiUBVUwEQV641OhAoiWqVg1aNk4EczaD4q0pgAweygnNVu1sNCKfpCKfgirgkdUHAYD8TU/2Ki5GxVXxfhvdrAUlZJROX9JQpp8gEPd3OM41aG+A/batu+uchpnwP26sJ3N9+IDGdIJn9z/eWL0IJYxHE9Wx8569J9g0vL/X8E5CrQTD923SeMt31IkeYhAaaCZWXFunOB4VIB/6nrPl4+FC7jAefBaoMwWJmeaKWDfeOtaz95XE7XGEVNxzUVn9o8gLdf8fmnHr+HFll2bQzPf0fr9CiCt7Y8X37Tn5fvP6wvRLv3R7/uRAL6bwAyEhxqu0HSphlnVYXNmBW4BAIbEWBARD4PmXx2T/3RfaX+9OXsedlh7Uu+kFGtKO53EK8mStai4HAAgNzVuzDezvXRbbFcUNeAvltcVz24e1sb+fsmpd7u0JvRTcjoNGVXMA2EJ1VY0oaSMkQ1j9eOekuYFWRSm2cGztiaPWyfFXBeyLOqEImpEM390h6/lhNU3EgLyEoUzd3Co1AnlVil4hhJ694a9iZkfXLVXAOVC9JmUGT6T4FfZEdmHK3QrMu5W/a4CNXhQHct3qh5yXZ4aWwTaalsmhK/D+lGezrf84EPDHukJQn0H+eosgWRVGx6jwhPadShkWUS9e2JsX/MoLLT5wHlmZpVsJ4XgG81sHXl1o/OK6a94G5f+M7W/0TC5S2f/d3NHz/44MiCK3sOPmAB34o1f6z9hJT9B27+uPVcFv1dLhowrWa5dvMZkYN3o/grrvnz8ucP9/g0uoQNGzo0m2pfVHGVSopRJYmwnDJVI1Pt8UPqkihevnvdX5TvO9ztXfD7JsX/G8L+2qcD8hddum8Qkv5XiuDFRmsLUULPbllMZ+Iu+k4gtesViyuEZSMijLHWNrn2uWm/TUnwJ8+aC895MwuJZfS+z56dc+UBkmTEIa0xz3PGCiImHYFzLcoVYhaGCB2R81nK5AWCFJiRuze2XRxDG19RpXt91s8uyO4WnNrMZ6izah8ol2yzE2a86WIWP/9D3onOYSo/r0Wd1uJlJdTn16zqE7OKhha81rmN1hTfczKrep23Td16qFldprzF4ygnm+YCnQUfU3h3JukjwvVdXrKGkf/nFPeAXJxjsY3V2Sn5XN+/1VgRkhiqR0Wu7yxCdzyLTKOBJaQB5OO0RP07CaOcPpQ/1NsMAGukKeCOs4d/3D9zx/cOt7sdsrfnXQaA94mv/8fhlrsO974+3OU0UBtyI38qRFFTmh85lAfG4gDzkivda9a97qSnHvDvZ+R/ue7jpX8+3J01hF+2+pWI7vnA5vlNnqBlRGuEpl3SIi0imPIskwCyn1N/9xc/1ac1h8N6XXTp1AqOSm8iwhXXPvYff3qofLPujZ739umVMSVvUP3O4u8hWrMnd5t8YliCpHXBVFW+GfBRItoF4gdF8BWIakAFNzVh7NZaa9d6Jug3AeIiX16IRXKQM2ERFEcVcskyJ245QrKczKccE/Nima3SO0snoz1YJOoHrDFyDkgFis3FBZ1jX4pl9ae+reuZtb7eZRZaf+/7C10Js/te8+FhO7aYa3/VCb29Gf0t+AIFKSmR/R5a2zKpP6p13gOiwB4ifS9x/4Ddn2dQSLw+FJRERXEE/cc6Ss5EdMcCSENE9iBIPVx/Dhwm4yXo2xPKMXlTsvuBHnxL9MrUtX5+Zmzypq9+Zk6H1YXOrr3/6rc3jqeY/tB7vOL67f/xX0/nvlrUBp/BD2nwI6WBPwPB7cK1Ty8W7BcFmOf/z5k1SRL/oRd85LrLO2N/h7P/1oRZe9wpamUrnscyz1MsvhllrXrWmmh2Dc9335qHs6n2MvYkrJ58DqF7ayrw8S9+YmGRjvk3OEoXXfqeYyh2b2aU49oq6+F20hnzKQDcLV52I/jHwOOjkzNTuxtRxxnvgl/e1Ucjwy9FkDcB49FIfHvNj3+vwbsqHjkxmo9ZWbX9GA79+Lsb+CCOfFIlipY5iZcTuiFQqwmGKhBGCgLt/k+Il8JEUVdP6IBAutijApgWmgzU97vFkop1F32qhZbX7fWUPA56UhZaX9f7dqEF1An5eH78BdfVtqMRcXB7yASgJsAzIulYJq3HPTf2YaQDaF09tIUeeAu9rxP+DiLy5aHYxZsIy6cjuFVqqyvIe3SCx/zRVbaF4umEBvYgJKo831VY6T5DASxNkg7hq2m9cfVNf7WwtNu851iDqPU/83ZGXtoC/tsfhXS891gu+D11soz/UoD/bc/0vn9fjPrSgoCpSIzRwK+wwCkTTzz5O7ddtfgh/QXu8rDtS64krVXuXjFChURb4isOhwcGybuqHx/fdcM/BG/wp/NS0I/j5H8A8GBtbMf7npaqySVXulev+elNAO6niXhQAJ9Epm0M/jHBbM8k7h9fDMVKo+3S0rWnOsHXA8JZAjDW4In7GrJnLGNtorSywERfmNazoJxal/2XdYTQ9TlwFYfREEC8whk5HsoAqOR7rbsqEcC8zXRwx8qxwedM83q1bwtlwDkyTrMay19tc7IDIr7cjsLiJ6tg9JighZAySOgdvMRky5tmaIGqAfSDvXF+iXcffzf2WsyYR2TmC2Rb1cKfF5IWCjZVvMJjawoYNaqcZMxqYs1IlahfJA2qZ/tKxA9l2Y7ep9WkQRn51EdUXRNB/DxHpY0gMiACE4C8nwEaVlbQ8QlOZpKoui+CcrBG7R060L/pLE9HdcoLw+0M6dXXf6Jvlj/Uod5bF/5e6zQH8G4v/L8pe/yWaxcnEXeom3nWP3/B76UviRDe61n+tPmdr357IfL+QQFTI7OR5LQzKYJ3Ser/4Jq/OsyGSfuwR+mCX/6Nih+slqPUJVhxg07csACvEMJhRBxB5iVWdEJqIMt+luw/rv2kKUM/3Re+5ndbOm3zds9w8/U7r/6n3hRi3dnvqNT2ZPH+B/5yqn0TzbvVUdryW79VTRuITyetCasfpfPe/s4VJYjPA8JXAeDxHhp7Gjz5RAum9zI3xsS4k2YsMzd6LBSxLHD2zMGSsEwc9SG6KoKronbfRWk2UVVBFIPBmVJyFME1WJkbLWYXIWenw4sprx9s+dmY2CnX6/EXTB4FQBLUON3qeu316b/M2VE74Gxkea2jhK6ydv9nQHiawU+z+JqgV9vaGZ2tf7oX31zLh/RYHz06shlVYkqOclA+ntBt1AYehEhWv/spsy2xbh6yg3jSYf9YBE5n/tuvTtWiIJsVzSuLLvWzX8Wsec3hMkWKDV341ollbqDyQUDctmds7LPf/OzIfA6sh3XaNAsdWbummuxrpi1X95WBTOrf3+5zLrZ+04u5iha97de8o/UbAvDCFrf+qJjOm2/hgwLmhW+bWe3K8ftE4JvXfjL5zKL3YK4PalS2/Kc3uZL7OWGVEueSXsokNMYgKt+/2xPthqbfk7p0ykujOZU91jzcgvRcu3D2JY9XhtasON+h+2Xg7NNf2Pm5L3eD5pLnjy4Zb+xxp/edOnn77b/+rNwkC51DKx9UTtmIQOcT4LkC2VEpNKdTmd7egpqqd+/05OsCGYe677NMrtYbWqk2BDFJVEVxVXJRBQWrAlTSphKKJChqyiMxAqmxmRqeaVk3N9+yHNcOXSmc7aivtx4aGkWzr0kbjVRj3a7bxH7Pez1FdKgVkcKETlPV0ArXznwqgMpJbIH4FAiajNwAhhpL2hCQaW3eAGWZlUIWFc0v9C3O875Fespasqkniqg07KC0jiDZQEibVHhFGQZCPAZsLqOpxvPKsSWMZkhKUwlWpoKa1NykgnbM3+XDLgLTgHJTWpu55cYrlpl76eG+tJwUDw//LqAcXWvwx2/5v0v367d6uOuba7mf+p36K9hF71ROMLA8BojbmXkHI+2IMr+rFtd3K5hONVJesqrBBqZbv/TUCTk8Jo2OUVaTJZ/2AF+cfOLJfz1YFj0vYCq4LFs98joAfF06tv9Xn4G0GM/5H3v6+6r9y72kkwk9Of2DCOO3vGVsSXWw7+cI8NUC8Oczd9z6jXYYvunSwQFKkqFhntl+2+WL1gd8Ji+W7nXpk3bDyLEbMMIzUfCVHngjQ6OaQnMyleldLOnOFJtjakeho3+sIFHQc+ZxQZwXEA758yFay21cTdzC/qcDkYIa68WqfqROkaLscFABD3WMdAq+zp6V+vlAgVK6QT6zZ85iWsDLPc6VB6pdKh2DVBwkBpJMA24BSsWcxsw9Usc/MyFoAmeZ2Oy6yzRtNpa9qLtyqC3M+X09jeMvngQhnu1yoQSdDGVCdZ1ypciBWxJYDNFRDuMNILgUUf3ItYHjxxW8Bcz3R7RL7iCqJVSddFCaDrYlC7/ygYr2owgBtwnI9bWJJ773tMpQOnH3W7v7++Klv60+XMzy59d+8upvjo7eLaMH985aeKd7PnHRpbV1gtF5DmWzEB0PLKuBdIAF9HrSmruWqnYIyEOgx4f8CGS0E3Dy+9cejuCPNrB+t76FJLoUyf/BFy4vq2XOnOd7XsDUnXYYfcSzXHXtp0pXH/JR/xAvoClFVKm8GQlfnbH/q8eefOgWUzM5/W3VgamBKg4zT952+YHeOT/QYxql837795YmVDmFCF4EzC/OsLXJQ5YKNxoptsa1AZFxazcj1xBUVEKl4HWG2mg9i7rh5j/Ew59ECetcaPLlUNf/XH8ZB98/S691jl6FQUAEQfaFAAAgAElEQVRHDlWkJF7iMF7rJDqKMF6BAMsAqSLATQGYBFZhX6kB6uSYas6VGhEkNcS4lkDJut/Fa84eVt6jahMrOoKBWtad8R6+kUl64xc/9dGnUubDi77C9kdpy1vePlgd7H87IpwMAp/Y1fjeN28fe5jhqjc+4ymybfKSK11n3aN0wW/8/vIoSlYiykpBWg2AGwFxIwofAwhrnyq1jaVefumGT33oKZ71oR+rZnYry6d+AgluT/ft/5f5AsQ5AfOiix4ouY3rzxOkX9r/5JNvfQYbPc/1VT7v9n7qN8eXYlT9OQH8/9v7Fji7quru/1r7nPuaRyavSTIBQkJ4JTxFURQlvA2QRKADBrUIWlvbiq3SWtt+X0e/+mmrtiqtWtRqq4Ayn4IEkhIJRlEDSgCBhFcSICQzk5nM8859nXP2Wt/sMzMh78xNZvIg9/wI987M2efsvfY+/7P2evzXIqj8sGtL+4+PwSeC5mfq66rDtKmtq+5vWd100GuWjFxATXzxh2+dnEh7Z7Kat0Dl1MhEsxVhndWw12qhO0LUZxF1ikZbLcI+ODog8hxRkOOwGNK29hgvPvKuHIIz91VXfeculXv+Hofk3F4u4j8O3Yp589iwSRn4dQb+VFeTicnUA2YqE9fEQXIugB/IQ6UvBkh1fHymZOAXDPuBQaLAlHAZbdteats73Hfuy85/k9hZtO0IiejlUHVFX9uWZw702Y0z8uacd7zn8S0AJqvFV/Jrfr165bxfCFaCsbLJvUkO8GW84wgv+UjXOD9Zc5aIbI1QajN9+aKzZbbn8rIWa+wOIN14t5k/9eIqsVX1r3Ws33ggNG7vvqVwMZP5Q5Xo7/bkN9ktYDowAWf+DoTnHvi3xHcOwfNwUG7pzA51kybPM4Y+ooQXEOntjz381Y6t0cvpTCJlGo6f1bVu2S0jKRB1UPq795sMagGpdHqKxzQHwJsAPSWkaAoQjbcaJYSjXqul7kjDHkC6rdp+QZTV2MkRKZOxMljyRx3t54hr/xwGoz/gLgxtyR2JxaBCzCBrDRx7Umzp8F2aZbUhriH1xjHMeALXM3gywONA5DMRi8QmgnysQToiE6ECGy/PiiJrMvTYC1gTxaFE/qFuD4cy7RRGtkMi2a7nDJfNGPSRUiRKm4jsr0ul/O8eun1C3wECGc3/2EsJssdeSMYRgutGCeQry24fqIHV1ERoajGY16BjAZjzP1aaw8RfHCj3cjIUAYg2QPR5YrwAkc1C9FpJSy07AGlz84BZpskJab/B2/HeTk1O+q5AvvNq2/qVuwPf3QEmXfnR4kxi+ucBmti/X3L7yCo7HvCCPVQXcG+oCYtOZp/+DKLTWfG9p57+yW87tz4J1ZBqU6Zny9NfOuCwpkMzvCa+5CO31KRRNS1iaTBsTlDGqSRyimU71Sk6Lj3aEaBFCAuKsFc07I8Q9KlEvUJUAEUhVAI1HIgNXSDfcCqhqufCbwbZP9wX47KTt9Hd7RDGuQuf5O7o8YZ/t3tZ7SsMYPd/j7NjYsd+TFfvysgPAuJgEmRcR5HBPpidU8uVc0gRmWpPuQ7wxjOb8QwzDkCG4AqKcYqIHN9mBNYCnHcd1A9BzhBnAc4z+YERCphSITubsrPCumP74PudI7KGH/Nt1sehE3YK2I/3BdtxAygjioOvYR/NBcHqlbf/y4Apqfwt6fYyjx2PPHe65/EHQXy+qP4/Wyjc/eB3xnVhXpN3/CvwXsmskXn1c2XlGGiYbocbHnvMFN+YBmY9HoQ5AJ9G0NkKeExwHv8SQG0EWaugtZGlDZ6EL9/feX/bgQTQX/Vn4afBkunP5r+88nvjHVv7DscugOk6yzOOnUdM123oWPfRA1FxDw1I7N9d57+vs9arrb7KmSGIdN2WLS81v/DiTzZR2CNI1vR2P/kPvdvAYv9ucVi1is0uxx4zRT3vGFY5HsQNIJ0OpemC6BglqXdkk4qoJJCCC5gWDSIlcj8XBaWSKgJLYREkBVHKiwYlBRUAO8hDGYNFrKgOgutwJtPg77Zx8u5OroM5RoP5N05w8fdtXvbhAHHHoBzHMQ4yEZE1g1U72Kl6PozvsUsPBaWYOU1CGSaTAXOGrCuqx86RkAYoRUopV34ExC4ONeYQJTJFVnYphkVmzqsgRzD9BPSz+xsSAauzb2zTahyWbQv8fD1GdXfxqvuKwn/9725T76wAQznucZiBKopO8xLgsSDM/n4UNMrYbnjJ+EuqE17VFUS4kUFtavH1DZ0vPbXm7jkhzf2MP8Xr97f0bbWYmLBY/R/RaHvInfzmz38ppi9cVv1ktP32261ZnXHMNAJmMZuZTDpLwCcR9CQicqWlf1AMc587kEiAd/9Z4WKfzAeLCD+1u+zCXQDThQ0kqya8H6THLflG8u8Oq6d8rDvjshfqFp7AHn2YwOfkSl2PtG15csWmzb9rM6a/NK4m3f7KyqahHN2x7syhub6zWSWOPTVJiXSSTXI8G9MAlekc1yvSqW5hCrSWlNOx51IkY0kzJJpW1lRMcjFIrlEQssHggx2XnA3Ulbhgt2VFOEhVYh0lurPxORBwiq7jhnA8T4OR7NsKGcVpT67ymNGY9NYpszGxhucYhyUu9OVKaSAJdUH3jvaOEzHZhgt5iUPunWa8LafHueRdUnoIkNMQXc2bnAFnmUxORYsuUd05Y4ZIRG1cQikGbkf+EUeh7hDptLfZ2iUiKi4JtV146B4axz3f7nCxREzoUSsvqvDv+r2eF0eDRdwB5YLx5ycjHv82w+ZGIppmVe/M53P3Oi1r3rwm79nWfHpr51bAhDK7pi5a99LX3FZ5v7e/e5JX7JBNZv6MoH2qso4ELxY1357rzgW96LM72zCdNpyKZqSqUzVTXA2B3HOrNu4r+Hxvc3XZn2TrE5z6d4F+bmnHvc/srK3uApgu7KYmWX2Lkrbe/83Etw7NY3to7+oycKrSx7yFYW+MouiY/mz7b9u71/5886ant6RS/d0zsHXr6tW3H5I4zUMrmdfv7oA1Pf2MjK1JpFAyyUSCU6KUMkopIVvNxLVKqCZQ/M9CMkRIs5JjU3J1dJLq4jfj7a37dJyocfZLGqwNpDQhzjBy/pW4ZIVYZyJ08ZUxkLkQgLisBDkquYgcO5K6uEWEIAoG+SAlJMS12+OURsegFLN3DAKhy/OPaeYGCdnjjS45XS4GxjhxJr7/NhvEMPnT6+GjDtHizm37HNYqB0Fy+PexDWDonO31zl3bD+HwoKCHgFWBflXdxNCnSyTPBmsfaz0QUBieRTeH4azT0uP96nOJzWIFZgP0kMLe+cA3vvBKUxPw73e3Zzr61R/v1Up3X4ecM8MrjuXan39TdrJJJT9DjHNU1Wn/LlmiFyrPEPGTkdjnlWgz9eVae4J8GIPooP1yVLyXTiY1c97x3wL7rZc7NuxSd30XwLz4D/smZtKpvxeVhx64PfXA4fKAHop+OG07ka57BzPdUCz1zyoUtz7VlX3lZ5vbn93IWuiaMKm2/chxCh0KCZZ/z/kfzh/jGe9qIj1rMNlx52SiXXzE2yVwb3+/mAF/u4D5HbfKr3Np7mlrvLNRcfja+9pKb3+e+77zI7ZT+2EtcmemQEWOSFtJ8Zwq1kavbXx52bITR8EB2cRzGhu9aeljazKZ5DyArgXhWFV6SCO5O7fuNy9NntyhKzaurQq29qfIqCPOkz5jSk3XVBdGO+ZyTyvEbb9x7LHHMGM2MZ8CxZkEnAHVicSUVaVOqK5T4PcQegqINnZ2b+040KgAN2ELPhrcLpAluULr8p1jV3cBzAUf6ZsEpD4HpTuXfMv/RflL/o3XYsFHWjKQ8W+zEr4/iHJzCqW+F7Kltl+2ta19vqjZ9mQ639qxsqn/jTfygz+id/9J4XhP6RoiPmNbkaJtOevbgc32VHNxN7cHuJ09ysPttgervXldxrB9rDIP9XeHdHyJoFxQpRaGrHcgCep8ecntDaMR2jbAL3s3n4fzEnXjJzcY8IXEughwdl38IlL7o6U9962fg7Vm09reas/4mVKfqxAaaE7HlzBxWg4HIfPNbce5GEUFvy/IJjrtzjy4wyDqKZ0Fwtlk+CSFugSABhf1Aat/vb5n/YoD9btc9ZHgNmJ9ZGtn+5KdAXi3gMlI/aMV+8P7v51eefAfmcP3jnHmzfjZJ6NUvC6Q3AVhVLT5Ys+jvcXNT+VLm17OlUpt0xp62tY2N+1at/rwHdZh1bMrby7OMp65GtDTBzXMoSW6vSFwGCCHOTzjn7dbytvO3Q4UR9r+9f32jvRI5baPMdHlh+5EBLWNYyTe7pcg6giJWxl40ZK+OKQlOTv5gdsHXQRI/9meP31anbB3JsALmHAWiLrU6j1kw+V9G77Y/lQPqjkKaySypuQZiyAvXg2XptQH2XXLbhsFrXbfSyzezVVN+CIr5oLwOxV9wlL0Yr4UrCvl+kt72HrTlTf01GlVarIBTrKizyztW7LpQLzkrqeL/jj4d1Vd2dHdfv8+AdOhfIpTn1bFqvu+nfzJvod6NJ7RxPNv+uREK8XLrARXhWFhhkXUni/2PJ0N2l8Ki73rKeG1ZDaalrVrr6uAZxlLZOGHirNBuBpMc2PWoF20y91okjucs/3NdhfHMzbtHTAOUsMNZXnHxT5cnFUM+s6pFQkhT6K9QrqFBa+ooVekv7DlgTu/MpDfPSo2OJrTuMZvGD8tnbDpOvYwmyxfyMxniLpwKX1UIMuDwotPPv7iPS71qjYqmbSL0CEb2VIU2rpUIp8al8webOemU0Zm1J441/PkfFJ6u4JOGHp3FYiwQVVWq5pnQmvbJAy7jQTFV4O24oFqk7tZmrTgI6XvCrRZXnvtoZ3NILtomJc0do3L1Nb8KZMt3Pvt1FfKWOtH5annnPO4X3/KzBMDzs0PwuI8qE6LNGwpRtkX84XOtUXb9wqz3ZzNBi1bf/2hXYhmj0qh7WXQV32weKLxzTWqeqrGdeUGtcRBwvDXv28DpiHHiDuP2bm2hx02w18GPdLDTpzh77u0346qbgca0qHrD7ePgXH7Y+jvripVbDR1SfGESGIPvOZV0UnAJgVvImvbwlKuddkdtw2Yb0YFIONQoHlVb/GBulR1IlVLSnNZ6R1KfDqg4wh42mlLne1bHl3/2g9C9YKaQLgqDEUTBhLayBr2nBbZc+mJc7LNzdftWI54jBeoSx6pGl+V4EIQdaY3BcNkO1fe0DOeUlWnEOscMM4g4CxSnQxQtzI2kdAaJbsaFi+oCXqWdP9P94Fqlm6obtvvH3f8DxDhts3m96t2Jv/ZdUu+oCXDUyZdr4Iz7vvPxCdGZWswxkI/XC6/YEFLprcqOMuDLgwQvElUJlqJOkpBdl0u6nnF2twG9rklX7AtdS1r29aurWzdd567BR8snUKGrwbk5Lhu0hDX5WBdmkGNcfi7A9DB3w0eg4A6eF78t/iHndoM7XTjyu57aR/T7MbHjkFBg8AYQ6PEKiVx7HEHaUEFHQLqItIORFELMTZrR2/PkiUNjsjlwLfYcX+a+JxzrjI1s45LpqvTaebEFI9wCoCzQXizqiM4wUZR+4ut2VdWb3j1/n5Sm8mHQcYVBXD/whKiVEJCZvT4gr5DmQJ85R8VL/dBFwDUGql9BoG+pFGQzyW6Cyu/918Du7P4xULz39dZw6nq4wzoXMTVDuh4IpmuShEzHtUw+vxPvxvTQB6QnOffWDwhkTD/hEj+90+/+/nnd36x7QKYTmOaftaZ5zH0j0vF7EeX3THRpVhVjjIl4EKTOKI3RWFwoZKcb204SYEw0mJrLsyujzTXJlLYqJpoUQo2jW/tbj1UlHJlDm1MT7/yw6VTPWHnJT8pDiF6vfradnbKnbfVw1Gb22/BXTd3cvIMa4fDjHjbRVLG1OXDpMguajPOFndER3HgvPvnwi9LTmsEx2E+/SDqFNF2gLfYUtRZCPp7VjZ/fcBJM0ra4xBin3PO4970M2ekclEykURiIvt6LINOI2JXJmWKI7tU0pcK+a7H2rLPb2zdsiZHXi4T2UGAdLXnSIwVlQL72p0Mou7Nj/9D4XBIxLjq5vx5BO+9RDiLCY7ergekTwjhcY1onWjQEuSCQgtaC2ub57pQvnjy3U64qrrKkW7MAeuxhSC8Y/n397/e+PCiXvBHpetYaL5S8Df3fbt6y86LfRfAdCcsuil/LMF8iSx/5Z7/9leN6RNyFFzcvYQSJ008gWzwTib7ViE9Xax1rDV9EUpbC1Hh1Uj6Wi1HrRroZjXaXgiltXVp49bDYVEfzClacGNprjF8DVROcIHR21Vp2waAwzGOQ3FDQ4zsu4SHbxcbORhpPlS5bYg3cwhMXcmGQZ01pDiOMy4n7LbUeRJyZBldYO0mMa4CY08Q2D6g0LcsWJEbjS3gLrId2mKnw9oEEokkxK9Nenq8wjubIKcB3ECkNVFUbMkHfWv6ils2tObWtgWFbkEUp7naQZC0wjCh1aibwqgnlUj3bFr1iUNOWbinteS24JxInMzE5xGb8xyZjBIVSbVNgCcVukoF66gUdJe8fCF47bnSaMSi7tifJl5006f/Ccxbg2LfN3anLO4WMB16V1dV/QUBpXu+l/ynA1VzD+YDdwTci+Y1tlcRFc60XLrQwr7JSjBDYvLYsM8ibA+1uDWU0tZIgw4l2UJWWi2bNskH7ZO2uqD5Q0NufDBku+iDpdOZcLUCs1yu4+A9tw8Lin+K0S9mxxyqbe60QVZ2HGkup8fFvMe142NXTFz1TV3+cVGAEg9unwsEzlvWvKeajwvuqck6XkqPwr62Qm9+FVYFY0ZfBtC8eT836fQxxp9Wl3DaY1Vgkpz0p8HoCaI4wYBOVJbZkQ0zYVRoL0bZ1v6w49Xe3ObN/aV2R5pSctWYKLRiNbJCJkwoetSTziBtujqXfsyV3T2gLepoz/m8xvbqJJIJTRVKnWs3BatXv3mXBBCnYEybO6fe88zbADpPSU8l0Ey4samscbGXpPr7fgnXrvjvWkfDOCpjvOwD2fpMIvXtSKN/bv39msd217fdAma8LT/NbcvlLws2+tMHf3Bg9T9GW+hvrOs18bz33FgbpXAyOHwbVN+qGh4faVSr7LjYopxFuMVq0BUh6I0octvBNjBt9di095fyrSn2W4/p+G33ypVNjkj3iD4WfKAwk5jfTszTINZl5QxW6lFWlyCuLrfcbY5d+qXL4hEEDgzj1EvSAIRAIi2yZ4pqtWCgRTFSKES2REWJOBFFXl8pamlpCVevfrOT16g8bHsRehwDec6GWdzQ0OBLTSYZGuP71q/mBNd70AZlnUmKU0KJTg5RqAqjYmRtKV8QB5Cdm4qlvtZS2N8dUbEYU3moq6yhrlxJ1qp0eWK6Mh53/+H5rdmDFVi+v4vsPTeVFivRuwjyAkSfiiw2WMn3DHm8t225t7/+woUdNaauZpo1dC6D3gnQSQpxJW3+syfb8+2VzfWjEQNNi24OPkCKd+Sj0v9a/v2a9t2NcbeA6U50aFtlkp9VwXP3/vf/vW2U7TL7K++jop17YVUdP+V4TYVnqkZnCuR0VZkZaanKpQI6hnELyQpK3aFGPSHCHJhK5IpkGd7KljrJcIclr505117tTegYzVIfYzsJg5koM/oT8dpsb++VmpqsjlU9l1EcCzlbY2LWFK8ukfEl8DwGm2SVVxVFZpxn7CQxZlakpdOiqDBbYSdGGlZZKaVCW+ovar4jsoWWwOa2BFF+ayA5l0vtzAQxQLo64kDUJUrdKeN3ZqqqutY2H3kha++5MTgH0GvB9E5SzSjxFqg8LtDfsOKlMCx2DTp8Zu6Rs+HqP+ybCE2fGhnZmn3lN+tGY2seX5PT31CVH/VQywN7uv8eAdPFRZ2cPOGCgSDXW0pW/nzpnelXR3FxVS5VpgSGwpemFEzhLLXh6aEGJynL8QJpENgaRUxSWwTZUkSad4W8lKP+0LGvD9rkeg1zD5i6VdGtQJfxuJtD2Zoc53fU1GR7VjZdeMRrqGWKdaSnDzwnTQNb6AvYbaE9r8pkUx7Xhb5n08YLnMYopjrk/EmWghOFQrelPkbITlaN6hRSKxJ5kZZykeMhlaAz0qgrsoWtQZTriKjk4jPjPHcgynOEdlch0vjoLEZ+10nZaT2jAQojHeyonTfImr7bMCVn9qtJpU+HofOgdL4SZhKoR4EnyOovlfX3Djy7wmxxVfN3BsKeRtWRttMQm/jqP/zbD8LgQlsIP3XfD6ta9iSDPQKma/Ce93TXUU3mU45xptS58Qujk8s6atNx1F/IvdRm+tOr8mFYj2TpTCU5XSEnq5GpoYbjLGytknMuxTvaghAKQlqM697AhsquMA5H6iFwXGpMyCt7fQamT9VmFYkeMrYPRD2i3Osb7haV3pRf3ZdJhrmVTXvWAg7jyRla800DW+U58Xe3XS7MStMJxfHeMBC2poNkOhPUBBxVIyYCCaaCzWRSqVfViaoyCcAEVRoP2DpRrRq0qrpia+7lJQWRMBsh6gw16BApdVspFQS2qMR9EkknETpJSt2s6CIkepJe1HMkao27m2sXz5iadNyskpW8Ur67/fmXC7uzCbq2zq45LjFuJlgvZKKLQDRDFSUGfifQxwR4GmG4pSPq7huFXPFdunvlDcVZCY++Kqq3B1tfW743nNsrYLqg2EWJRXMM4XMk+u8/vvMLPxtbpD+MH7MjqmtNPP99H6tOa2Z8noL6kAsngPREyzKLSI6z0MmWbUYo8kOOEoPlx8hxBUUx2w9rKEwhk6tgCOuKMcCRqjmOSpfqZ4YKvrpMHI9crnOR4eWUKGccbySQY+dlZr+kxvFoUskDFZW8gI2jTvOLZKMgMlxgNSUjnmN6F0sqDF+MgVVRKxJYhR9ZW7TGlTbzAuMhxVQKPS+doEhCY21kEmDPublJrONJZ1FJimpSEKVIOanQpLWOEUlSpEjBSpqAtIKqoLYKgmpAq0RsDSlVgTQD66jiNMEK37GwO9fJYMk3B4uOzzO2m+ZEQ+coyobOYSdhllizNgza1NM2FemGSo+AuhFJr3LUayb5Petuu+KgpBseyiW7cHH/FC/hfQ7CM0R1FUEfCUlfcPbKwuan83vSmOfNezlVM6PhBCP0FmK9nIRmDlZhxzoV/fGWUvvS0QRNl5JZjQmfcUWZg6jw+QfurOvem9z2DpgAXCT+1GT9NaxotJF+8t4fpdYfyomo3HtUJECXfaAtU23HTYrETAhTxRlWg+OUZaqwTrOsk5gwMSIZD9Yay5oSFrZGyTFSxhXJiWMu87hQouN2HAJURxgZl4F12YCOMo1M/J/DM3Vw5miFXbEwF10eF+J1keWO8ZcdFrP7XcxPEVcMd5XF3f/tIFyJA1Ib82fCxlHqLhMoPsha5w9xtYqGoibjJi463aUnxowXjmjTnerqUMYBS46Y1/0Y07K7opSI1NUgVy2pI0wWKYnaIhGyEO1SRbsgaBeN2izsFtKwj5R7I6eFczLrcal37dcvHA0HxKhM8qG8iNv9nOSfeDoZeReTuRSQaarYAuVVaqMVpciui1L92eXFXxb3Fp51xQ2FGSniN6mhC1S1pST93xyt2PC4j6kTP0CkjrvgE/f89xfW7Ush3CdgbtuaV2VuJdD4UIr/sOSu2q2HcjIq9x5zCcQhL6XJs/0kkqbGS6UoStSxLxOEZYL1MUVYJgMyWQxPUJY6YaoWo47LMiOEFDzjE2lCjPquBLcyPBg28SfDOKpgV0TIFRyI65e7+sAOio3Dy0GOSRVxOqy6z/h7XHjXDhbDdHDnfCFx0JA437HDS4ljKq07Q0MWiVQpINESREpQzZNSv8RB546g1vaq2q2RaIeYoEPUdgmkLyxIluv8vvHUnWt48zvyzdcNhzeNudyPuBs40KnvaJe92VidFlcVjTubmC8H09sIWg/gBbH6KwU/Khq8qv192SWpX5X2Ap5xtMGoxb423m2u9hacT573aai9rdC5a9747iZjRIDpQt2uuSY/nVPmcwJsLHT3f3HZskoG0BG3ug9Khwe93M4eSOSbUjLhO28xgYz7dFXJ4+9MHIVg3weF7tMbzNGOMdL980Cey1FJxZmObJ1eqn5YCks2E1dqU+tSV6x1TZwKqpZ9G5n+MFIN7fpUd7R9ZshBGfpRdhMHlqckZrpsIxtZ3djX1t61cuVMZ27YY6jW1Vf3TUTKP5PYXOFSOQlaq8ALA2GpK0XwOBWKr3R3d+ZWrhxD+3jj3Waht2iux/i/CvpprqPrzuXLp46obtdIAXNgKTTxosZPn+L7aBLVx7qivv8Ypfino2yZVYZbkcAbQwLO0z3Or/4sAW8T6LqBHO8HokB/G/bn2pdV7zsT6orG/qmZhHe2Kr8bhLfGtkqVpxW0NBvmVjzUPGGAxWm0jya++vpPn8wG/wjCE/mu/tvKUf7KAEzA0bdPmHLu2UTe/1bS5YWe3H+Vc7PRHnrlehUJVCQw5hKIKeP2sO2myxt7x1d7qXeB9CoovRlAmwK/ILUP563d0IOe/lXNx+6T3/Oqxvx03zfzWHElXP0o1Y/9+K7PP7cvm2JZo3eaJRbO9j36LAgbpVD6wj331HaWc42yANNd2IHmxIlvPYd987cKPFbIFr7xwAN79yyV06HKuRUJVCRw+EjAOX2n0eR3gKRfA7th48YXuncXHtTYuCYR8ewTiLGAgIsImOJiKlWxXFQfl0K2va/v2cK+4kljVvXqqbXtG17o2VMY0v5IJ3bw4MQ5xuj/AuG5/qj4Lw82j3NplWUdZQOmu3qjC0jFe05X0k8B+mpQtF9LJh/YcrC59MoaaeXkigQqEihbAgsW9E1KZVKfBeNcEVmlip8ajZ7t72/t3lO8YmNjdrKFfx4bukZBc8kVMSNdAbW/CPKyvq+vo3dfts6yO7qXBo2Nr6XVTHqrKn1SiR4vZQtf218lb78Ac7BvTdzY+KkZSvS3DEqo4p/6+44LJbIAABnCSURBVDeurwS3j+ZUV65VkcCYSmB7iqc93qixsXeCReoCZiwmpVkKXUOqPy6V7ONh2NK5bNmJrqrALo4ep1iJLDqFfJ2vylfyoIPnWRIsDY085tsNLc3Nc8e0IsH8+Z211eNqFongJkB+nO3p+d5IHTy7E8gBAObg5a6+OltvjPcXRHSqKr4RBNlV9903ucIsPqbrvHLxigQOXAJOeyQyiWQy19fcXO+8xHslImlsbK8Wqr2QhK4jxukKPKPAvazyu46Otva9aY0OdIHURUq4ihRvAvCySPR/mB94cix2prG/ZcK5k9nzbiLQhQL9Vmd7y30H6n0/YMB003bZZW1VdTUTblDoHwC6NJLwru7ux7v2Za848CmvXKEigYoE9lcCjY2lGwBcq6qPqOKBIOjaPBJ2ePe8jxs37q1E/H4AZ6piA0D3AfZXvb297cuXT3XZX7sFX5fJM3Hi9FOJ5FxV+gXzT18abcB0lQ8SiXFziLw/h8vo0uiLnZ2/fWo08GhUANNNmCOHmHXcnDcTm79QaFZgvxkEvWuXLBmVMqH7uyYq7SoSqEhgDxJobCzMJOXrlOgaVelh5R9FalcUCpvaRmJai5/5WXPeDHjXA3o+FO0K/akqHs5me1qWL//mAGHxWJJm7DgwZwLI5y+rTaczC4hwI6k+Vgyif7vvvpieclRo/EYNMIe6Ttdck5tqlG8h4rOhdJcWS0s3tI+ux6vyBFQkUJHA7iXgvMzVmFrba3P5vWl627e+9trSGYboJqhe6DJwLHBXGEa/3bz5uY6Reaqb+Npr/+pNDLOYiS5U1XYi3CdFvR/3L9ncjLEvrOa03pqa6hMMJT6skFNAdHtHR8v9B7oF31nKow2Y8fXdpFUlj72AmT5K0E6N5LvZsPDMsmWjWC2v8sRUJFCRwC4SuP6a/NsA/rBAV1nog11dj7WNZCvqbH6T6976JmL+IzC9WUVXQ/GjCOHvR2pea8TdBgsXzqYELVbVC1j4u33F7L1jGasdV3n0GyYmfbOIwdeq4hmN5N+b7/vChrHQbscEMIe1zYULc9NS5H2QmeZZ6K8i6A+97r6W5pWjwpBceVwqEnjDS8CBUMe8ybRy5YWOV3Kf28rGq/LTyTM3EeMqgH4vGn2vZHPP3nffZEcKss/2zsY4qW7au5jwRyCaBdFfikozFcPnmx/8156RglDjVYXjEAb95bQpZzJjc8CkE2uQSZ5LoBtByCjwvY6ulmWjrVVu36+xBMz4PnGge+25Z3ns30ykM8XqT6NQ7u8qbNk6lgMrR/iVcysSOFwlcO1VxRM9kol5ROuWLImzUvYJeo77ofHqwrsYfEucNSPSXILe+9prazaPbIsNuLIQCVN7qSF8ECDHAbqCQHdLd8/65pWjXhlzxOJ3L5D++RdXVSXSpxnjvZ8UcwTy0xDhHffcc+BVI/fVkTEHzOEOuDfX5HEN8xn6vrjan7XNVuQXHfmOngpw7muayv57zDY0Uq2k7KtXGhyABAbrio+0ntD1CwvvA9GHBwLHl4YlvdssXbJppDbBhQv7p6TI/xABf0CENRHkO9RfeLL5oa8NhP2NzBnjQo/SlPgDNtwoIo5I6idhwf74Jw9WtY0QvA9AVq83HQbKjF99vM+4RqDzCPykaPCf+OnStSOVyYF25qAB5vA2vfHy3vGUTCxg0DUg6hdBM1P0W9vR1d286tjDtgzogQr64LVv4oULb52cVjpOsrnnKuaPgyf5kdypcX52MvneqSq6vvn+fx7w3u4duBrntVdzXd0NpLhZSZ6IhL7J69Y937x2pAHfTXzdwr92pWs/TorjVPXHAtyDdes3jvwawHsX5Y8FzA1KOEci+yXcf//qgwFSw0BZnaiewcBCEM1T1dcY8t2XNq15dKQa80jmZiTnHGzAHO4TXX1ZdrKf8BYx8dWq6HNetXwxWqmp3p6RxIKNZHBH4zkLL801pFPehwfk+Sar8pfNS9IvlyEHajzvtZQ7v3nVvgkTyrjuG/DUJp4378bE5Pa8lAM81y/IvYXI/5xCn0Sot/9o2RcG5mff2l7jwuKlBvw3gPRD9GtdQe+jI/WCO+FffXHfxERV4v1EdIMqXlWr3wlyhcfuXfnVvpHcf3gCr7yyZ3zm5c25csa8P5Mf2yjHz8pwqvoEkF0EoneC6FWF3pENXntkJGFP+3PffbU5VIC5DTgXX9xfLxnvWla6XAlFEloahfaXpVz/1j5/38n6+xrg0fR3p42YmrqrCfioqP3Wlv5Hvz8SD+mwjBov753AydTFKlosUNeK8mNom1yZ8IGjydnZRmJrO9TTE5sustkaKldTcQCUTCXeIUC+Pdf6q5GalZxNv77m7YsYdCsgq0LFN/j++zaMRFtrnF+awz5cKvIxqvhOqVR68J7lXx4g89434A4L2gE2k/fnqnSSSxW0hHs7+la9Us46GctJc15vz5tSkybvZChdYcicr9CNInpXe3/rwyOV81j18VAD5g4aZyLhvZuVr1JoZsBftFKJH+7X/MsiHflD9UYZK8GP9nXdG/mk+rnvVEN/S6qPRi9v+GyZWgAtvqJ4uRr8CQke6Qx7vllmzi01XlI4lpNcJbne18o1BTggSSROTRqTjcqZ68Y5axKl8fXJsLYnKKedk38cs8gNpzGDZWvXs+WYhK6+LFufTCY+DtVTRfU2fWDJL0cCesPz/t4ri1cS81+r439U+ro88NMXR9Lebek99j6uzFdA8ZNA9U7zwH2vjqTtthfjJV3jKJW+jtl8EKLrVfH5Hz3w+RfKAd7RXb9N3Hjeh5K2dkJdwjNvAdEikM4A8UtW7B39dtPvyp3b0e3f61c7XABzW49cAOqkRN0FEFyjwHRifhGRLBVrn8nn89nkr3+eL2dxjJXgDq/rNnHjFbfO9dn/K3VFu4Lokz/82Z5Lhe6u742XdI3zkulPAHzCQGnYr/xwadXj5Yxx4Ts6aqrG136UlKaC5Bt33p96qZz2iy8rnSKenK+qz929LPObkWqo17879xaweadCH797afqX5dzTETOMo+pbiDFLbXTbD5dVPVlO+8YrSqcbwicBLVmLf2n+n9QA6Iz8WHxF8VIQ/h5E6yMJ/7Uj/7vnRqLpOQfqtKqp1xObPxKVZ6xE/9Gvrc+VCyrvvSL3ZiXzphB46CcPpJzp5qDuCtzLLj9zelXGpurZ47cT9BKAGoj055EN7+vI/+7Zkchj5BI/8DMPO8AcHpLTmE6sP+M0hs4H6QXOzgnCKonC5ULS0s/tuT2xpBy4WI6oK8Sane/zx0B6jrX21h89WPVEmSOgxfMLF4L4jxX667Z86+3lbn0aLy/O9k0MHlvz+eKX7105fiBmb+THe99duJgMfxgqK+5amv7OSB/e915eeCcMfwTQR+3S+75Z7svUgZaCPgToI7362rfLBB264criZaL4cyL6XdTV/sVytFQnncXvLpw/UIrzM0S0JdLwn8sBieuuKLzLEH1aXd054Ks9mvvNsmUTHfHNQQW+kc8y4Jw4vZe9KzXRVlfblHe6B2eK07dAqUugD4WRvecnD35xy6HTdvc+msMWMF/vdhNfc/lfTUkafjcpXwLoFBA/LaKPAPJkL+W72tvjmsfR4bxQyllU5Zz7nnnddelU+now3cSQr92xNH1nOe3duU7TGo/qjyswm2z0tTuXV60u9xqL5xcuIvCHBLLih8vS/7k/7cF8s4o8/MNl6e+OdC5vuLg4S5O4Baq9kQRfbX6wPFJYZ4tMJf1PEniaWnzprgeTa8rp+4JzWjI19RNuBnDFQHWhpvDB8r3HN1yeP1cNfwagbpHoX9d1PPfUSG2qTjOHh78j6EwBfT3f27fkvl8fXmxhcQbQeeclosy4TMIzM8iYc1398bi+O2E9CZYUg+A396yodYS+hy3Yu3VxBADm68s31jonnHomed4VBH2bKiKAfgPIr6JAXy6Vcn1Hk6PI2eDq5NgLmflTLrA43Ljun8u0W8bCdVoOEf+5qq6Oejv+rVwtya2jxe8ufgSg863It+5eXt7WOO7D/MJFUHahM2UBZmzCMeM/AdAxiORLd/6sPFOA6/sNl5cWgvFBEVn60tY13xspWA2vzGsuz01LG+8vrWo1R/jXO3+WGijXWt6Df8NlwTlq5LNQlCzJl7PY/PhItd3F8/omIZ38U1XN2mJ0V/PKahcjeYiPQbukP6EmpZFpAJkziHieAjOJkIfiIZXw5z3ctm6k4zzEA4pvf0QB5nYCo8ZLump9yrwDjPkgzIFSB4AnRe0jAenLppTLor0j2B8AORwmZt99aOL3zv+rM1nM3wPUG6J4a7nalbuHewmdMvn0W0VxOsjedtf/ZFbt+947nuG8654mbmWmag30y3c+nH613GssvqxwETHfLGUCZgy2lxduAvFFEPnuXcvTD5d77/demmtgY24FUAWL/QFdNF7af5Zv/K87Yl0pBf9118ryS1Evvjw7l8j/LIGSAvnCix1rHhspeLt5dOM+lDutwTTOt/gN0fg00qlJauTNRPwugE+CSkREj1qRh7q094kyHYrlTumYnX+kAuY2gcSkAYm3HesDF4H4fKgex6B2S/oYRJ8sFeVFkyzl0dJaaF7bPLBtH3kIxphJfRQu7Jw0PmeuZ8ZVNoz+/q4V1U/vz2XfNy9/jKbMF1TwXC7X97X92c4tvrj/DPK9P1NgXaf0fH1/HoZtgOm25MtHviV3Y37vpYWLmflGhfz8rgfjtmUfiy8vXUvQxVC9587l/3TXfqwTuuHy4i0g/AGUvhT2tS/fD00d119cPMl49DdQ+XU+KP64XFtw2QM/wAbu+avJnpyorqnORCZZnzD2dGU+15EEKyOExXNCWE6l4LG7Vo44tfMAezV2zY94wNxeNM7r5k8/YQZUzyPiC4l0qhKVIHjCeVGtYF2AoNPL9+axalVQroNg7Kah/CvHLwp+6xTfcGY/tqHxDZ1WcnLdaReQRzeryjfv3I+tdKzhXVZcwErXgez9dyzP/Kj80bhrFC4y4JsV9PAdyxMjtmG6e73/wuLJ4uMTrLSpt6vzy0tWl8/BesNFhRls6FY1rFaiL/5weea1cscx/62dtRPrar6gkOlRZP9RVjzwxP6sMWeXttlCsGR1g8t8O8xsek3cOKfR66+ZmkonUlWJNB3nEZ0uwm8H6/GuhDwgz6rgZ2EYPYGVSzv2Rwblyv5gnf+GAszthRZnClTNPcZPsisWf368bRcUQdik0MdE5fc20tZEoZTv6uwqLVt3R7gfWsXBmqcxuY9zeFRx4v0CSlFf/zfueGziQNZHeYcLcTnGn/anSjRXEX19fxxGg6A7BJgiD9/xUHkaphtH2vM/DqHakPSrzcvLym6KB+y2k/6lC25gokUidOedD33+3v1ZDzF4e/R/CPqwFoo/uvNXR35F1WEtMpWoSnE6Od4zOGGgzPbbGXymAvUgzarSKrX6G9jgybtW/suA8+aNsZPb+Wl4wwLmTgOlxndmJyWT/rkKfRuU5hJjIkAvq+J5qD4bAS9KEHaXpFhMdreXsHaNfSO9GXcHg7ETrWbudAON7liZ2VQeVA6e3Tivf2rS8/4aiiCH4Iv3rCivzvPwPd93aeFiEN8MkRXlAqZ7oKeb8/7Y8TiK2NvvWlG+Hdb1w22HPcLHibWjPyh+ZX+3w43zirNhw148sqzrCFxDdM45j3sNaPBr0plkmEhkDDDDMzRHQac7xYOUalxNHpA+EUF+2YW+Z/fHDLM/6+1QtzlaAHN7OdMHzmjLBHVVxyV87+0KeosCx5Az+IM2EekTInhehF72gqBLbFAMsm3FowFA92cxNr4zOznhm/OVqCds3fDr/XWy3XBR4V1M9AGF/uKOFek7yt2Kvu/i4lVMuFKB+3/wUOqB/RnL/NkvJSce1zBXQF62t+fZ/dna7899D20blxN/ATs7pNMgje9XUYIc0cVJ5HYNijNBSJGiVxXPKdEjEHnqhd41LSN1SB3a8Y3u3Y9GwNxBgnGM2DvnT0j65sShshpvJdYGUQ1JuQuKZ0X1GaLotSigDitRsRjkitmaF4IKfdroLUZnt6smM6Wk3Ls/YTGN5/VO8JKpeveS+/5vatpHr2dvtCs18fzZ7/MnTJyQDBKJJCf88b6LbQadqoSzCZhFQCZe/6DnAP0NxD5b0vwAD+a+K0u+0aR1tG7Jy5jHJl487xMTiP05LHQqCGcAOoeYPFW0EbDJvWlB8qyANhf6w/4MheHmdF8AvBIdbqlcZQy8cuobTAKxMjBnrkl5E31bm0qI+mljdCIZ/ySCnKHEJxJ0qoImEGkbEZ6JRJ+WSJ71e7Ivfv/pqa70buXYTgJHvYa579XgAnD/si7tezOEzblEmAtgOhT15MImBOsFtI5hX1HCKwioFRoV3Vb+dRD9hbxRjeD7ll/ljIMgAWrE3dw/+2xvUqbGK1alk0nPSyrpJDLecSDMJOAEKE4ipgYRyQPUSsB6JXkKyk+UtG9zRYPc90xVAHPfMtpFK2+c116VRO1UBo6H4myFngaieqgmABIwuS3hCyr2JVHabMAdUSnsitiGJQ7C7ZxKA0B6uIWNlC+QSouDJoGB57VpwClzldnmlCHjsfVrjZGJhnWKkpnFhJMVONGxfjEoUkVJSV8mpSdV5GmytKnYvaFtf+3NB220h+GNKoA5OpNCDkS9MD3D9/2ZEJygbhvv3urEGYL2K9APQrtA1gFmnYmi16xnekuI+kOERR9hhFLJbgi2RKtX3z9Q8OqNGZYxOuJ+w19lR43RT3hp43nq+1Xwo1qCP1VVZyrTiaSxzbEOoGoFEoC6l/VzKnie2e1+8EqpvTx29Te8dA9ggBXAPADh7aNpzF7u06R6Y+gUAM4eOoOJ3GKfpkAtAT0g2gzVNpC0ikUrEbVEUbhF2fRZltBXG4VdQdiRz0VpL9LqdU9GzVg7EMxcAdSxm7oxv3IMiBvOmcX1vePYbaMl7Rujvl/IsJ8Sk4ZoPRnTINCppDqdiKcppIHADa53qrKVmVutagtBX1Lg+VLevoTcq10VzXHs5q8CmGMn291e2WUjpauPrYlIJ3h+cgYIp4Awm5QalLQKQBqgDFRLBG1RF+oEtCjpFlXqhEqPDblLEfVFCRUHqP0aRkkpRv0dRXGA6m7cjOsq2/2DPLdDt4u3zY2YQx2YTDj+eG9ypsoLE76XNsaDx0bJpD3PjmNjJojoBGae4l6iRDydVI9R0CQiCFTyIMqpUi8gjq/yJbV4EQabrZR6wl8t7zsC4zwPzayM0l0rgDlKgjzwyzTxDef/xTiENMkz/iQwphKxs5EeD+A4QCeDCKoaERApKABpHxO1WattZNAKK+1Q6hGWvIQ2L0m/6Ee2RJHaKCESFkRSYRC91lewkzN5GYotrQDryCYvBsJ5uIAnz6nnYnq8lyp4nKgxHLDneQGxpkzCN5xEFFUJOG3YjFOSSaQ8RUmnGHCDkNaTalpBHhF5cITPkAIRt6jqq1C8ImRfVYt29nhrcWu2o3ltJZxnZFM09mdVAHPsZTwqd3BB1ZMnT58EaD3YTGV1vKA0WYB6ih1OMhXEEwmaHtRKtJ8IBVXk3M+k2qvQrY5zkUg6bcTdBOkOEfUR+QUht/2XKCqpOM21qiASJkWCrJWUJ1qsCqWjNVJnFmgf1+tAFrNWb4g/h7TZ4XEeZrnPg4xcbgvsPt022H26rbD7rJ6c4mJgqC5k6q0xnCwa9tPMXsCsHhktsYmYvKTPCUGYVvLGE1EdsU6A0ESoTmSiiQKqJdJaKDIgqoJqNQBPEb/U2gHqENU2VrQJabsodahEbYGnbUdoRtCorOsj7SIVwDzSZmzX/sapbLMKxyXT1amkwq8lT6eqYBoxTyVyQcmoh6KaiDIKpIk0o+A0iaaV4QGUBdTlkfdD3SdlVdFPpHlVcs6qHKwWyWhBVUuqpmiMlqBajKwGxkhJQz+MPC15qpEEGgOp9QY/3REN/S7tv/67gnFc4YA/9LnD0HoBjBv8TWhp2zpNb/e9ENJg0bVqwGl47quJBj85QaxMhpV8kTBhmJKinBCmJBMlYZEikiSBMsqUjuUiWi2EKgJVQ7WK2IEgaqBaIxp/T0ARwhXrU+QBLQKUV6I8SHtJtEWAVgi1Kdu2MKAt1gtzLtGhBS3h0ZgZc+Q/XjuOoAKYb7QZ3fN4qHHOGt8306uk1k97YjIsUYbBGfW0Xi2PZ6aJQlrHSs7rWqdQB1k15DQlUiJnE3CHKrmqCAyGQNxvB4FLmUCipCyABkIuW4oCAO5fSEyRijMnyEAUABw/oo2jqlStgp2pYffaKcOHqnH0raowgHoKGAN2Gpz77rggB/+RJog4QQojKgbErtPOHhj3eLD74gaj7mcVGQR1ZzMkKkKQJaIex+Au0G5GXDqhW0m6SKkbVnIRbMFjP19AWOjvaM8tW3eiG9/hplkfPSv7II60ApgHUdhH6q2co6oq0ZCB76dgTCpUzniI0syUBFHKiiSNegllm3A/kyApRElSJB2ADYOZxMok+WpgVMQjsOfAVqEEsK8qPAiaDtgEYMZA2Qf3VyVQqKruU5QRkSAihVWjLnkgJOLAwg5/L8XaH7uyzRqIaGDYFJ12LKIl9qQAlSLUL8LaYsil/ObHns6vxIWxw6xyVCSwJwlUALOyNg61BNwadGFSQzXNd9edbXXOh8491F2u3P9olUAFMI/Wma+MuyKBigTKlkAFMMsWWaVBRQIVCRytEqgA5tE685VxVyRQkUDZEqgAZtkiqzSoSKAigaNVAhXAPFpnvjLuigQqEihbAhXALFtklQYVCVQkcLRK4P8Dx5SDJIRoCysAAAAASUVORK5CYII=",Eoe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUwAAAFACAYAAADXrEUkAAAAAXNSR0IArs4c6QAAIABJREFUeF7svduPJNl95/f7nRPXvNW9q2umhtNo9QylniV3id5dL1dase01DAsg7Kde7C5gQIABGjDgB/th/UjOP+AHPxKw18YCBuz2iwEZhGUIaK60S4tyWxSpae0MW6MeTc3UVFfXNS9xPednfc+JqMqqvkx1T8/wFsFhR2RkRGTmychPfX/Xw9Qt3Qh0I9CNQDcCFxoBvtBR3UHdCHQj0I1ANwLUAbO7CboR6EagG4ELjkAHzAsOVHdYNwLdCHQj0AGzuwe6EehGoBuBC45AB8wLDlR3WDcC3Qh0I9ABs7sHuhHoRqAbgQuOQAfMCw5Ud1g3At0IdCPQAbO7B7oR6EagG4ELjkAHzAsOVHdYNwLdCHQj0AGzuwe6EehGoBuBC45AB8wLDlR3WDcC3Qh0I9ABs7sHuhHoRqAbgQuOQAfMCw5Ud1g3At0IdCPQAbO7B7oR6EagG4ELjkAHzAsOVHdYNwLdCHQj0AGzuwe6EehGoBuBC45AB8wLDlR3WDcC3Qh0I9ABs7sHvuARkGffc/IFv51nvpvHnvyi390XPBjdy33aCHTA/LQR6p5/ySPQAfMlD2h3uS9wBDpgfoGD3b0URqADZncf/OKOQAfMX9zv7hf0nXfA/AX94rq3TdTN6dPdBfMjcA5m5zx2nQPvxe6Wx1TJ4zu6oX2xof3Cz+oU5hc+5D/PL9gB8/P4djpgfh6j+rO5ZgfMn824/5y+agfMz+OL6YD5eYzqz+aaHTB/NuP+xb6qnIKws/2+2KF/3ld7Nly5+/qed0Bf8vEdMF/ygP5cXu4LBubbb3+Kb/zbTx6lp+x+qUP69vNe7SknfPvb9LnAqwPm835BX+zxHTC/2PH+2bxaB8yTce+A+bO5BX9ZXrUD5i/LN/msz9EBswPmr8J9/gV8xg6YX8Agfz4vMeeXfInG4Rlzes5Gfh5z+fbt50hXu3Xx0XnWobcvfpmzRz7HibduPd0M/1TlOnfAyzLn+cyvt/Nvvugt8DzndcB8ntH6uTq2A+b81/Ec3OuA+XN1H/9ivZkOmL9Y39fcu+2A2QFzfgQ6hflF/JQ7YH4Ro/y5vMbFgPlYxPqcbf08pvazPsZ5M/zevTmz/BtPOfMm0TfuENHNTx+gZx3SXgLriyzfP3/Q/ImPPekPvn6dBJ8J6/b0Z5noF3kfOObtZ9jyn2a6dyb5RUf55R3XAfPljeXncKWLQfFZL/xZgPmYL3LOiTjvT7xz5xk+S5DuKVDEU9+9S3zjcxi5p13y7rkn3rwx55d8DvLevEnyTDfA3JPP9H1+BmCe0ZfnP3BXfvm53FUdMD+XYX1ZF+2A+bJGsr1OB8yXPaK/WtfrgPlz/X13wHzZX08HzJc9or9a1+uA+TP/vj87FBtf2Ml3+e1nOCYvamY/a1hggsMkPTHFbxK9d/fULN9+/3T7OhHde4sI6yctg+g5UpBexnf1U6L7dP/kSpdfvyb35q/7zvkXaZ69R7TxzetCc8R9882zaUYYkye9xcdM92fY8vPm++P+zbP2+7e//e0LJ5R1/s6XcfN07d1ezih+pqv8fAHzqf7IuajLE32Pc47I9+cDPkT01jPG54OfATCBzHaZvH7tU6BzitOr2fWTYz9Vqc59ZsSRrs/DtAPmZ/rF/CxP7hTm5zj6Mldhw8yCx1iffckOmJ/jV/D4pX+KXR0wv9Ax/yV6sQ6Yn+OXOQ/MJ7wMxl7aKPZ3vvM2iXyb3m7sMJhbb7/9Nl/U7JqPhj/JJL9NxLfwendIffwe8SvbJB9/k/iVuSgxsn8ukOHjPsrdORPc7ZhTmP/2e6TmP++1J3z4NCV+8IDoyu8S7W4Rb324RZuvbRLWWJY2NuVge4uxfhlf0UFAvFSTuyZtbdLS9IHQlSv0wYMHtLx+5SmvAbA6wrrlH176Hfu093JjPtp+7iAE30+ylZoUpo33iLe3STY27rrf4N27d+mf/bNvyfe//zZdv35dbt26Jf/kn9zmt966NffePoNJjoYo32ldBl3O5oveUx0wX3TkLnBeA8wzY9z6pQDI73wHzkb/I3gCIB1Q2674532Pt55RJwiz+vvfv0Pf+MZN8muimzdv0p07d9z6BHbn8nlgSs+bz+fN5TfmPjMwkgbEWU2C/VtbD3hz84pgTVeIrly5Qg8ePHDrdtneIv76pv/R/uAHW/zaa5v0YQPIjY1N2QbMmiWKNJflhkQvaLJvb9+ljY1XaHv7Y1pZWZf2tdz65B0Bzpt4927PxuambG9tMdZuxwP33xOX7C9I6A2iSek/zycf3Gf4Q7HG43/8+jV555179NZb3nt74hp9h+jqLZK7371LN27coLt3v+vcoq+8+aZ/ze8j5/OmrK0R7+6SrK3dORmT3Zs3z4L9nGl/1v/5Nu6p+T/Abhv32Vl/Jl60A+gFfs7ukA6YFx2pFzjuWcBsL/esAM38Sz4vMOfPvXlONr4MYG4Fp/fOKRKJtreJN75OAjg+aciinbn9rxDRx6CFP3Jvd+fcOesvMOo4ZefMeStr66eg+Zhou31dd9T22WPXN5pjt4g+3GxQukVrG5uyu73FWLcwzRr4P+lNvt6AtH3uPDBPg0d3TzbfvHFD3vvuXX7zzRtzYDzNqn8eYD5j4DpgvuBd1QHzMwzcRU59FjDfecebW9ev33aQgAl2+/ZtxvpJ175zh5RXHB44TUS2VaFnToHCfO89/8PD+sYNatSMVzWoWMkykvQGceZVLL1/7x4jlj1oFNLrr1+T/+udLb20dmoSt2Dc3SVeu0UCUxrnQqOdLJtEr7XC7dwHwXF3t/054e4Or62ty24DSWy/++49tby8Mvf5T4EZBMR1TYI1zm+3sX58vHZof3+Pca12vb6+Tjs7O0Tr64SrblmSUBFXdtudv7e7yytra9Lic8VsyJ7e5mxjQxpqUitN1zZIID3/dJd4ae3JkfG/f4nOmO/ngfn+7Xt89ep1ef/924yw0sbVq/5z3CV6EjCHwyG/f+OGXWtEzi6RrN3xKrT9/PMKs72XsG7uL7p9+7a7z5jPv+dOYV7k99wB86Kj9ILHiYiC7xCn374NKGLDXwzbJ/uecH0cNnc44ccBP1hbZehBCJMOEDwLxPnLtSWKrXn4B39wn+ka0bU3rhH99D698TunHkZsPXjg3y/8i/E1+BaJDva2+ZUNoqzckDTaZqIN2ngFaNk4ealGJLpd794hRZfOfqjdh0RvXSJ656Hfj+2HD4kuzfkADvgRHx8q9/r7RLTs1vi33fZr9/zePi2vLLu1e77Zxpqafdg/WlwWokdUGZFLa2v0zu4ureE9XFqj3Ye7tHZp7Ynf7i4I99Yu5bUV+oRo/TLRg2pdXnEftMHqx/j827SyviF7P9rmlZVWnRJtAKrNArP+JzXJtWtE97/nd2Ks798nwr42CPX666XgjxbKL2Gmw2Py3eYabvvuqavY+TzfvCFwuWCB+2V39zZ8n0/8PA0sYZbLeb94l3L0xCF74s7OJL/4WD33kfPAbE++aDezO+fcJeeDMfNBFwCzXdp65xaU16+7H+bp93wuAhM0gHQYgPp7zV9pb4f479wg2WkUodvXmszrRJd31slJNQev0+uDk/c18cr8aM09WCWiw8Onu4LG6iW5iQ5O38Bw4ayi8ohtlj1A1T+/R0R4q1hjGZm58x4Slb9BctbaPzX9y+rU7F9ZJ8H4YY3rFDDd55yhm3Oq+DSk5ONLr/8OCTWZTC04T97ruVym8flA01xN/NNyQhu/+BlV3gHz4j/tDpgXH6vnPhLAfPvOnTMR41Yh3rx5U+7cucNY48LtNtZ4/N7Nm4zojJOPf+Pq+xY51YG6a3f87dv3lDfp7vFbcyrtgw8ihlL5ILrOrYLcekCMHyn8jptX/Plu3xWS3R/4iDYU0Z//OamVv+Ofv39vR/37/9G6vffjHff85fV1evcv7rFTZBBl70AdrtHD3V06PmAeLa3K8cEjvra0KgBmeLjPUHfHh/vsKNQs4dEhT8aKB8MFmYyPeDD0EerJ+JCJFmkWHPl7cmGB6OjIr4moZ0hmmhhrPJ5Njrg3WBCsn/zFnJ7fG5AMDMlEE2N9QAc0HTP3hyJ0sESDIQmg+eCQ+MoiCYA5PtznV4fLFp8J11+hVfp4aVfW3IenRp36NZZ0eN0e7O3w0sq6AJQYv2vX1+3ezjZn60bmIk20VtTSBsiyTf/5d7Ye8Hp2ReiN+z4w/8Y1er28J+/gLx4RXSUSBOWuZo0L5f17vHbrun3vro+yu2U+qf5bN4Tu3HG+Gyw3iQR/hG+ScxV0wHzyTfOpeztgfuoQvfgBAOYdOptic9G0HdeU4oZL33HLt5pt7GvV4wcfeDX2xhsnvzFn3eH3Bku7NflaM9tdaD5CAzV117+/vT3ila+Q7LUKb53ob0NANSoSm8HuLjtrlogO9tfca0MxYjmjGt8AcOaU4tLpGAZHAOPpskiLJw8mc+qyZSXWWM7x87Ev5czxDWfbffXwLCAO6fDk/IFdPOsDnVOmdEA0bM5FgtHfXSR5tznz2jLJO7Tr8blLVF5fO6s+G/G5skZyD77O6vQ9/K2Vs/7N9s1AhN68QuKSme4TgvD0vUaCXnvDm/PXrvkcUviY36F7dPW6T6Z3f1ubtbtfvuUqsVpezo9XB8wX/0m/JPPnM7yBX8pTm4T17/xNvsa3zwFz/vOez2U8a1rfY+Tj3XPBGN9f7IP79/n1a74y5Wmlhvdhyt8naqPY8Tbxa42ZjfPu7ZM6motwrzUuvON9YkDgYL+5J1aIPv4RKZqD3XTsnwPiDq/4NZbZmLgRgu5xMDl7X80/zmbENHz8W89mE3ftdH0g2XTCeUacpCR5NmWiPiXpQPJswlg/+56Z+KcnA/xDaW8gJ9fuPX5u1Seh49Mr7g9OwZbOmeTlkCTaIi7nnl8vGvDtE42uktCj0+sMr/nn1tZJdn9MXM0Hh5AZ0CzwhmaN6Q4V2gaUdne3+Gtf27Stf/PatWvyvbnv350+V9P5LPP9XI7o48CcH9DHJFQXEHrm8PxSAuyL/lANMG/dvq3+21u3vEnemtetZKQbBHP6FH1tzt6ZyuaTd+5MbFehco12toh/a/O+bG1d45NMQZfv+ICu0BX6E5jeLrS7STAJT0MzRO+PAzUOmWl1labv7/Prf29ZWjUYHZ2CbokOaEsv8WKrxhYXabZ1xJB62YT48uBIZnqB6eiYRoCmPvWE5YDiK0Oi8dhJtGBKTJMJ0cBDzC8DGtCEJm5NlGc7TIM+JT2SfOYhSTRtjsV2ey7Wjohz+/z1Tq7dvgSi6SlJkE0Zu5K0fwrb4YBo7F//5HJEVPVIaIw9Y6LJkJJ07M8ZDqkyx0ILI8fXZP9I3nhlwR4ceEk6qOX02vtE1d9bFnr3EWGc4Qt1pvulNVqod+ToXcULC2vi05/WqVwBpLfpY9qgr5Rb4rNCfXro2lrdXPcKPZhzhK5v1rLzRwGvr/vnW8V5cj+9g/vIVfLT1avZyXt7//337a1bt85E8M8wsgPmM2nRmeSfB0wbYP5vROpqY/K25nWrIsFNVLu80+SbtH7IxmUFsxui0q2xfHDdK0eEV3ceEP/uFZI7D4hPLOxmA6sfQGVuEb22SfSju8TRHvHly0Tvvktc/mNS00Ni/MyXloiW3IZfbynixcZaXVwk+nhOOcIyDifEgEU+IX5lRLQ7JYZYDADIlmMOfsRAXaCJpxOi5TWSQBFPp0R9sK9PhO1LfaKH2Iddzb5gAFgSTWdE/V7frd3SA5Wbtb+EwynWT1qmu1N3zd0p0RJA2Vzfvf7cuYjUY4kbNbmfEUeGBGyvjvwaC4C7sEbWsRRuCaQllWRfG3lFumBPlSl8oDWut0K09y7RqGnSsbsLAHr/L7a//GWSTz4hun+0y9e+bOXHnxD90+vrFon1yE5AGlZRNNe94jMX6IqPHv3WlSvyR3ce8G81PtBr1+hME5F3bhPhnsL9dfUqydz9B1h2wHzB330HzBccuGeeNgfMW+dM8vlO5C0cca379+8zzC6sn3TtrSDg3e3A5z3CxP6QqDW1d3Y0r69vyM7Otl9vnipFZMGoHeK9vV1GtOad5EA/miqveheIoo+Ysb48GMmD2VgNG3s5n4557fJQsPbvZ0hH+UTFjVmb7E0VFJszmftEReN/LDPmKBWJ076M92dqKe1JwcTgnVt6RGX+uCuozDOOklQmh/v+vaWwVVMqi4zdtv/n3JIRZX5XtJhKeZhxFKeC65w8geeSVNrrl/ketwx2501SweMoISnzGQ+WVm2rbGdTonK/uWbalzqdSPv5i9mEe/nApFCdLigl0h94lYm/ORuDRfvXRwc8qJccOOcj7ksNnFdWSKAx33XfzS4trKwI/dnpRyxXrKwgYNQsTnmelCl9SLTV3AhE9LWvrTkI4h7C+oydco/ogw/uM1Tow4dkb94kMz+QncJ8wq31lF0dMC8+Vk8/cq7JBg6ac7Kpe/dIz5/YBmqwD8Ga0+U+nTGx8cRcgAab2w0wAcof/UjzRmtrv4KUnw1uTbwIPkooGW8F+qj2LtEBE+9OSO/NEOg5JhqN6OFPJhrq0BnIgwmFetDcExNaVNj2ZnGp+hxkiBj3vNjr+S1ABjs8cDwIA4Z57ojnQKdbQAKWB8RVkTcQTEgXCAIl0KUwdM+McaXyc/fn2ef9Oc2Sn14jjBI5eXlcOc1P+JnnOQURwOZfL4wzieJE2vdbC2CLZY+iZFNms5n7bPi0h/v+80dJz+/XPXMpGBuozkvmSFpXaDqw0tv7kjh0Hi7S4DUSBJDaJX3NK7ylZRII3OP3iEdLu4Ivqqx3Tm6fcs2Kq4RqFgfPOWBuuRywZsfWa4357m+aDN2RGovErV3knSjdInMemPOD/rhF3vkwnzk+L4Mfv3LXeAYwiTwwWxP7e99r1NUbPgrqMpib1byJ7awvmGHNYCK6/oMtYvxENjd98wufRO3zx3fnSg5h/uKHGDYBnKUvk+hHxI9WiT6+R+HBEin8yHH6ezNSrYcQl8K5WAOTC0wnaixgYsARsAxy5uPlVFxOZUYOmBVeqzGbtSJO0waXKZE+JHZ4SjymqoK4ZaRmD8VT3Hko+uPzEyT655NzSJ0H5vxdl5zgF0cAku31cZUwTsRdPyfKk5yCOJGWqaH1KtHjNKOJTSVMSID/vSx1HxGPjyckr4VkBpFXa/UB/JtEdERUDUSuDxeQpkRwbQwtCVydcIEcvE9UNaldSLDfXyEammVZQXL98qrAVl9eWZNPkMq0TrLd5Mjjb2O5QeKqqNyyRR/O1cGDm6jHb5/9iyu+xr9tztRud8D8bHTqFOZnGz9/9lOAeefOHb25uXlGYW5tNWb15hUJggd85YrPw3vw4AFDUp40oHhtk1Cat4LSPJiM29t8Y2NDtrdRaeMpibJCV16oiNvk8eMD4mu/SfLB/X01urYswf4+r+wTLV5bFrW/z//7o+UIJYEwKaErx8XUmcBR2pdQTTla9YGRkqc8etTnUs0Y5uyiM2vbwE5KZT9r3kfqTOxA5QwQVZyzboNHjn0JpQlRCUi2S3KqJVsk6qLgMF4Qpz4BpTiRrDpSQRS791OXBQfRgmDtwB6J226fnxeb7cvgGpMi57goKIximTTXmMMshQL1CHL6sw4BUEmkLnJOw0VbFQfu9UycyGhKUicw+cmZ8eqY7JcWqMbzY3qPEtuXfOp9sMvl5VM/4TF8tB7E8AVffsXaenFJxn91wNXCkssBPf7LfX796rL90/93Xw1HVpDXCrPgy0ve1MZ3/dWvrtu7zfe/bjbkR7g/TFNd5IRm00RkY1P+ZPsH/LWvf91u4b56gD+yTWMUulJ3CvPFf/QdMF947D69j+WdO6Q3N0lvuZprpxnpSuO09/b2A9revnLyHcyn/5x/WzvOD+mhgwDO/j7xpab88OCAeLVJiEQ+5K/9GonLi1wmOjokHv81MS0eEnIe/4/FaRI6k7lHVT7jkdv2S5CnXKG+2sEtp3AxOQFYkiRUOzXoabcyB8X6mLhiDzIHN47ddtw8LhJsF1SXMWONJ7BNzb72PFUVTNH8J2+v8OlfUjl3SBCR4GXcUhAVMf4pqXAXH1M/igRPu+PymE6g68ag8ajkBZlRLDkQlxPVowVnYpvY520GGcmrGVWXQjJpj+TRQ2QCIBLvz8/XvNkNJb9uSY4dzEbO1zn7eMy9GmrwiPr9BamHB+6c4YLI/t7yaeXRIxR1nuYqbQ5XLco0/bLjujC1ZZoQoijRPBmG05ZM7pXXNh4I7rn39u6a7d+7ccaHOT875eMm+fmx/9U20Ttgfvpv8SlHXACYRHrzfgNMz0e60mSuB1tbXG9uyt7dbafwcMPfeMU37/HLBu2pHV6xvuRub5f48jwUNoidX1J7iDrzuNkOALOrPvJ9rIgPF4lWjo/YjBbkh0ez9LBiXSWphHnGFTfKLyMKeoCnN4mTtDWLT18UZjkeVTnx4CEg2TTCKAuuU+LWDnbABBcdGIlNRKJjYiqJ3Bp+iqpkE0Yi09J9fgBvEBNlVemft5EYRYz1E78AsBTUa5hatttY43WQL9nsK4vSvV4WRgJkRlRQFmG7JCNDCaAym2ODw1MXdEEFaSSuF0RhRDKJYgli/7yJSTZqqjZLqtP+HDAv+bQkg6g5UgjGyK4aU3LZ53vWr4iMPkQi1jHVZiQLdET1puAPnMtr3TVeibpgEe3jDyNBcWLfleGqPeElADmX27ntuj5tuxvI1bbvbPNKuSFwc/oEsy0qNjdlSGR+7+2zQZ8OmBeHQAfMi4/VuSMvBswrDyhwNdrNbfta44SCAIA/8kc7+uQ72DjpYEEUKsX4cbSQ3N9TPN/PQmtU2jyiw8NVd/7KiqskZKQI6WNA8pCu0CJtjY/4aIHoS405eE/CBMBsgxzVGNtYckqSRaJFb5vCWzjmnJ3XMCEChOHzw7YuifO4IN2qRC4YYGwHCMCMnaYsSHPMPSGpnQKNyXDJgBYA6fTe9LQSqlb+OSynx5yRnHPfwfxV/PXaJbAkJZUUEZBYUllOTq6XhpGYEFCCsiwE0X8HzIaYQY59eBRTXBxTEMYnavQhzgEwc6JplMvrg6RaqKbOJK93PEiTVARKM88GjKg6gmm1mUjaQz7ngKr+sYw+GtF+T2QEgPZFqk2RNt0VTUJwHdQLVLUISkYHQw/M14cLtsmCInq4Rsu/sSOEmn7043T/+vIitLO795Mf8/WVr8q2y+8k+sq6cfmdVzc36w6YL/yj7yp9Xnzong5MdErHdb/5zW/qslwPXEJks8wV3fhbvAnW7IXEX1kj54/EfvwMfCqQXw4cIE+X9UZNtpDEM+NjYgQZJltzlTcLRAjC4PnJhPiPh5SWpQ9EIbDcb1UigAg2Jk1Qxudb+hSf2EPSiboYhiVRxqQAKYiour1G5V9HqrPloNEc88qIKGmOqyIihaT25nlTlRzOfUYze7zVbQtaHDa/bXvhiRLV4alKLEvAt6Sy8heuqCId+GNxvnawbN5ARRT3yIKdNiKpJ17tmuZ6ZRhZ95qFN+eXicov5eSuHNZk4deMG5MceaateQ6TfTI+zaaPqoEz1xFVR507kv9dhP2YaO3L1rbwRAlnZeDjPqDBwpLQT/dpNEL3Jd8g5N+7RrZt/+GAOVeOufcTYqQttcO53lQTbW5S/XanMOd/Ss+13SnMiw/XmbGSucKO85dogXn9+vVgc/Preh6YbQPdvXCHV6p1CTfbprlA5Gnx9vjwXYWWD8fa116HauXM67uKxSWi8QfMvkRxkXZ2jlX/lZFMJ8SzpTFftkMpgrHKFDPyr1GW+P+Ngh4pVlCEAGA4IvE+S6QDEQOM4Ec98dt1xe44iiIa16VyCg1R8D6JaUCpqGTNJWuJBAqyriKnFE1VsQ77IkeVIgodl8yMHBRNVLGWULB2IKtCt28xCG1eERsY/BWRWz9pAaZwoQaEnPSsqSvWAYk/jxgwDEOiceavkQCUeA7VPI0kjVOxZXMRHYYynVake6EAtDqMhEpoVKI4jGxxWKpYRw52cUC2T1TCj4nsqf3lfRrGiS3yDD1G6VW9Uhdqyotx3z565McXAEUif7hKdnc64cQOJJ99wokRSYwv26x7R9IzQ5npMS+tb5rJ8SEPRv5ma6uK/DbRW6+N7F7j4rxybdXu/8UuLy+voWeq/NHBrrq6tGbh1nHD18DUfDSuf/jDa82o+YGdN8nPD3XXnf3siHTA/JyBefXqbwX0ygbBNNqAX/JcV/HLTXOLQK1zbXcEa/eD2H+XA73G+64zJNEldY3RZWeJlpySHL5+IPpoyZnewYfMerLAxwvH9BqNaNspyjEhCX2mxqyVv+2fBEyoRwN4xrGLRPdgZkdE06rgYRTTrCodMBVHnHHJA4oQFvamc6sMmbieTjmikAAfwErVETsNF0akZyFT5AlnqHLAzOsGIoCXg2vIUH8xhx6gVJGqye1zfzAodPuwbp9v9+GxDnpy5vlq1pwzIys9by4Dpg7OFakwdNDUvVIq9xIR6aAUmvYJCrWiknQQSRbCvCeKHGBLZGG6x7FpgAmsZ0S7cSYLSSpZlrns0/U6tVOa0XLaEyTAT2lKy2lfptMpFStiXeUlLjmZ0FoPQIS5Dj/nMfUGQ4Hm7JlNqYaHzlx/bbQoP/nrB7w5RPCJ6H06oG8Mrtp3m6DQteVVQeeoS7QG94z8671d/rJLT2pI2QHz4r/0ZxzZAfPiw/gCCvNWcPXqkgNmu4S7Z90g6w0w0SVoxZ52C9L7j/hQ+2a64yPmpSUPSncduBrn1tgPc9s3QiOa7/pTZKR0Y74f7pN6f4PSrEfKjL3CrEc+GAPbujcmVhPieOgV5iwh1hPiujHpI7DKR01Iw6xutovdUqnoVItUWaUc2BoFqABBKLuaOGlKCQ3yN7HgTVdEUIIALcoqse04GVbN+lRJNrw83e8AiPMB1GZvH9oqAAAgAElEQVTBDk9BdxzUJ9Y6BQiJ8NrOFA+JbFCJM9eb14zS0B2LxQKwAVn3OSdQnF6ZOnZOiV6tqbgMex/WdEjWJbg3xUejRbKulBOvh9eaNub6lAh+yKSp9kmcf9MrSNMfCh1/RPVg6NWmGUkfQSdXrnpIh4jeNfZ6NVyUL9X7UrsGyT4JHkFALADmX+wRL8+Z5C03P/qI6h/+8HSocHynMNsb59PXHTA/fYz8EU9PTn/sCqcm+a3A4aVtCYT0jiZyg+Tk/b1d/o0VNGEgun/4SC0tr8oHR740MFTMwV8f8UlLIDgnm98LejkiiDOZsOsStD1hhnocDKEimS+ti8ygKsdEekROYaa2Lw+OZ8H7KzqpatJFVSqYnPqQNYDQQ6pNXSqY3uBDXZYcRRHBrwjQhU0NtqmgHis2HLEmbzbnDDM7PDGfQ+oRzGNPIZew6ExyDIaLkIQBxUEoVV6pOAkF17d1xSoIBWt3Tghfan6ml+izvqpQJWfqo6sGgICeqmtmCazh2oHSBoGYumYdiJjSq0+Y8iarGAB1rgK8Dx3a1uaHmZ5PSsEaJr2ekCyVUm3ULiZEPZ2YAjmfNpEoJoFlENlUUNoZxSLWisQA6ozoOEllIe5blJUurfQt/JvYDld7Vu9M2QCgQ6Lq0Er9CiDqSy+R4dRvmnyAoYPhvpwUEB0QDSqf8jQaWdlbRTmmSNO+k5a312Q/2OXsg7XquYB5ftAfmyb6oj+gX47jOmBe9Ht8HmA23dKvEwV0j6IzkyDMPTjm087kq/SIfnysFboE+WWJAkDvkGg6YX71by3I5EPfLQiqrHiXFKIvCLrMFDFaog3QgYcmVO6xnyJiSjS4BHMaaq5POweZfi9Q/UKxgq/RVBEn04gb9yJlcelA6P2PxEkNX2KTBkQVO6Xo5CCR5KScQgNYQqinnsBnCU7N8kxB8WGBmkt7Kdm69gEUNzZAZ/N3qPABImvwfEBK12LNqQoPQFgc3tL29FQPX/dPuwREtY/y1wG2a1JxIHUNmY2Sx4o0hWI1THNvwMcyE9sEgbCvDkYOkoB3kc3cHwRs1/jYSWhhzrfBomVT5JfC0AEzzERCmwjl/vWrIVnKmtLQMLFRkkmciGBPPOmJmQsO+UARjHaixUoseijhv7TXlwpKFMmcwyFF5ZFtGypDeX68hSbKTRrSI5HqypK46TlctyQrhOadAOeyCO36+tgsWqt+eO2swmwmLj0ZxWenGXV5mBdFxq/2cS8IzLV7FIFdbePdh08B5vrhPv+pYl47bjqILy5SMPZmLoC5/hsjm318rMxg5ErwondJjUdEr+J5lEIqn6eJNpDjD0lrNeMp9WioZrz8GipTejQpMn1vXw9mmnQbuW4BiTxFqEvJEKAhqsKQelmlsMYC6E5NE/0OK+rlpGwaiuSVcnXbYe18jjoIZJazwi6wDPuQ01nWxJ5hARkAMfAMtNiP40zNVgfi1o1/k9lDFovoQNjUjHW7r2WpAy6ReKbif1gCAhiDOqA6qAmqEvDFvrr2R+DfqCIHUGUqthKKTSoXGHLmeB0Q9qmAnJ9TB1Xj7wxJlTNZiILs12xWoHbdSixxntMMdexQfya3+NOXZER2UcSgvHLm5yparVIDOLog0JSoyNGcZEbHicgrlViPTpjtfXFqc4y2c0PpmWOp8f0jqDQkubd1xK80wKzNomAqDufxdnNt7FNllsV3vrdSmVUJDx7x8fpq2QHzxVHWKcyLjt0LAPPv378fVjuLUTtDw3Gg3M173PgmMaHX/Nw3WxOYrn6Z6iXnkwQsAUiXjoR8nmb1k79Suu2oNsAEZW0C+oDIvKc0ip5z/BBR/LxKVGTMY03q/rEeFmEVpC4AElJp2L2mcpFpYt1cB5icKlKuyxDMY6gxRKwDDznJa4VjCoPzao7DJtIOFVlDiQZUh404NLWqAw9PlXjgQUUCcDDHPd78vvmvozS1O6aF25y4PPOtOfA51egXgBf7WqAK8kDxGgBmUAvUrmp7pKjEtscBpEqLAL64Tl7VpCRwwMwqotEwsB6cJIWEMjJltmZypzCXwtgWTXUR8vHzTwoyaPKRE9kRSRiL82+ixPLSeGZNnErSlFge5MTO/zkjGixY07YMdSp04vSmU5yj13vG1Va65ZiOj30CfA++zyNUDVkZDhecme6qhtpDAdDmwWQyq27TZvnWrbkeMW+fGc4zPs3HANGZ5GcHq3vUjsBpniX2PCOLiN5+++wPvZ1r/P59CnfMIx9LXlkl2ntEq1hj2XtEH4ZaTRpFubi46OaZWWhal+uPtnhwfVMmH20xugoV91n5zmtD0rMJT94YkH44ca3VooKVzvoMQAKUCQIANKNc9Xiwn3FVkkLzzUmVq3sjNURJdRtkKQg+SWIESVQUnuRB6pCc7xJmuFOBoQee2w6IKksKayyKiFvYWa45wFy4ec7UHlDWioLEmcg2CFgDZaBUEpAtan+cA7E/F0tQ1zQDvGvTGPBIHUVFnzv7xEQHiLFEqNdpF1MTgWNO0ubEesGSrt3pdaM83aFQmiqw7s3UNWk05UDyaRAITPrEgr2BCxRhmVW+Wa+CH1Qq6akgv1Jb32Cuig2qgRwzi4KWBrEt4tzlw+eHR9QfLlg6yMksJJKnCZlp5joqRdNMgjqx+N7iCcnu6sz1/YytSLC8Zlc/nogH5oDMpW2hsf8zmV4mqQ+G0n/Vg68euXJYvxxC4aLcEt0+Dmg4FKl/bVlwz1XxarX7J2dN8nvz8EQQ6NycPyfjSkS/6hOmdQpz/m44s/2SgLl4Wh2NMsWrluSwiToHhwc8blJ+puNjXlj4Ek0nx15xQVmOjimbYsIwomw6dGssCPDA5IZqxGOt+tzr9ejoMFNLSSqzVd9vF30o60NSqiAuVc6oB/9DmS5VmoNYyPWpTMPQ+SFdwCXPdND0nQT4Yk7ZUM3KmdAeam7b5WzWypm9XLNMaxU0284PGXh/pFsCIA7H+fM8XOu2vIgyZH+6D2WU0lp0XJMt/efyfs0nL6fF0H4rUD1rTcGUxhZgVEXBNtangDOGcf3aGPzxO4GrqmuxOpbWIVpHgQUQoW7jXmIAUqdAdWCndc5QnFCYtiKJa8lerYscTs0oCQ1yNl2Nuo1kYYnMpMy5N4htXiQU2typTQSEpnEiUdNwGCWURjLXr3MYJS75HcCE4jR2KgCnM9An6B4/Fpjp7YgEcd8FuuDHhKk+++iY1zZGFtx8DR2S2gMPkPruk98nu1Td+32qMKVF+3QHzKdC4LEnOmB+zsDco32X9w2LCJHvoRUBJH0+5QMO9JL7DrYnY95c2KRPJr5h72gESE7c/Dcu6VwNXfL5eWDmOXO/1yOFDkQ5u/Zrh2vEy5RSlmYUHqUqeEgKbczCmtUfLavRTFMQ+lwcikN0HQpcWo/krMKcFHyMgMQwCZ3JDdMbym/MtUoAP0Oswpo5Dxj+QUA0gbnbQFFCc+JasATTW7vnoBErg3ATcVgEgDHpRlFWBIgGrYj81Dv4TPcILzz9uY0HM5RYDBWk4lh4VrAhQyqKxIo5MblxtOTeh3kSQerF1ilh+EqxFtTBB6IoECu5AJh4jWklMqzTbLWa5IEgX3Psas6DMJK+kIxSawBPqM6kQG2577qECqJ9IRlCzWY5RTYRE2cuf3PBpt6MzgBWkcjOJIisg6LzeZqx1O00GxOiYK1vXQR9IL4X55HfhtV+3SzIA/INV6A4d4cHgnvuoKSyA+an3l5PPaAD5tOG5nl8ludM8uuYTgIpRGsUbn7VK0wEL4MVYvRDxHSvyBBCRc6y9orSLa81Tkr8/pl4NPYBHQjLR5qUfuS7myPiXeqZgo5s/ZTwVeY9Yucn2/Glj+hJOYY53pQ8Ptym4P4CDbOUQqTXuPQgW7tjLcFfmJLiwCnAOA6kMrUKwkYpmloJgj5QmYh018GJxS22VnUT7XafwxpFsSaGUsTVY+1gFsRE5YxYGcPa76IwOK2lB4htaebuybnOeE+Ikp9+dcaXgjdmt40CFGJ5BWU8pNymgY8yELR0wzackQUcjy19Q20VaVEIAjV+T4oCC0drrQOyk1wkbkx/ITswQfZKRTNXu15OIDApCEmCEPOFRuA1lXFB68HIWvE16jaKZTo7FNToI6COOJseJdZB0pJMoDwz17hEakuSmKlXmM00Gq5WvVnKVV9iiaqr44/8TkxDDHi+kZJTmm45JBp+yTcxLtep/P3/oVOYp/fO8211wHzaeD0DmE/zWbaXun278WlubkVX1/vR+NibmEil/GjL505iQUAnmJs8bIiQd7PsZawGY6IMc2njng8ypRsTHPb2IF/lQkEdppSuIIqNqRxSGh/mqneUMPpPoi68THMep8xDiWX7sAg/HsajXJGGGR7i172Xw5r2QZiBhyPUIFRjVdTKpSQFSCY1HNQxWYSGAk3CpJzSRIDFkiJTKKTwyKxWroMQzOImvYqqwO9DiZAl1qAlFk0oSGc8Z8vSQRQ7rTFMRpMNSrc+6Vnfgg3nKS22Mow1Xszg9QBG4x4R5B1HkXtctwEhvL6uhdPA2rJmq0jCOkBy+omZXtW1O8e5NSNtlfgpIqBCRbRYNN+oYS0EZmiz7JVKz1w6kg1tkEeCkiCAE4oTyhMpSIkmuxiIdYpTRIojrzwBVNWPrV3wDT3QAWkwFucUhUm+j67uVlzvTZjpwzC17dxDmB7kKJ1I2h8IgPnwkzEnBgnvY99Sbq4DPEotL6cLdqwPOc4Wi9//FJN8Ps3ofFJ758N8PsD+6hz9UoBJ0dV1inyFziEhsPPR1tETgQm/5KU3CGV0Dq4wwRHcob6fVfGwmDpgIgXFA7PHbh4ddDRXxKrxUZaF91UCmKrMuUoTRpu18rjgIxPrn46qxeKIw6qukD9OEYI6CNRQQjaETQ6fYkBI7A4AwkZ9KsMcIuUHndfBItNnwFM35ja4xk26kC6NU6JYxBDrXgNB0qTnQGqtYasNW9v4NwHKEzrCjJ9/fO7WO2OTA3gAG4hbgsgObtgWigQvat1jpCeRMKCIBUmhITmfp1WBQEmSQSoRFGlNIrFUUIYGeabaZtqIjrTFYYiyL3CVrdaB41mdlxYJ7/gbBGBaS75tHAIlWqwKCltSTH2L+LpIq3rVILb+9VxWAy1pMQ6Ykko226OjQ3aJ73iRL6kVg1kw3XufEBWvkyuxBDDRQo7GQ0p6Y/HAhJkOrYkenCPpDw4FlQ8Ts13e/b2N8lk+zA6YT8dcpzCfNjYvCEyoy3ais40bFL25SVFbrQMz/CPMxIiATDZWx+MhLS2OGdU5eBtIDzpdBjQ+mGpMJuZ012DqgjwAZtoj0vs9ht8SwKwrUqXyihKLSskpTNdhKEEABDM2Fuo4iPV7Ub1kiUKLdBmukaTO8Fm6tJ4wYKcotetwrkKOuTCFAog0DihnSulYAM2QAgdPFwSKAURE1JuAEExrBz8ESzTV1iioSgfGRjACpA40yvs7AVI8JyUgDNNVC9Sn4+KZnvUwrYlak95BD8GcrGSsPQcNhaoxw+G7VKlgn1tKqNESjTUsV4brWBtvfjfZm6pn6+ZYqWsxGBzANgqsU5gROR9obMkOCsouaZ80ObOlhWmO8kkAE6qyBWaWF6KCyClMNDJeWxyaSXnMvcHIIqJuolxCG4uNEwn3crGxiI5SWx7sM3yaACZOXS1WTv5MAJxIO6qbaYFr1KGDlGNyUxVjiuNeU3KJgJDruzlckGFM5e+9SyV93w8HwHk+6NMBswPm00fgzDOf3uMSh7/dmprNuddbE7x5fOuW3/jBFkXm4ChxuZSYc+w1ok+2mUdD39rr1ZGv0sGx2ZRZZ6il9vAcbcx4a495rclCineUhsldNm3Y8lcBQnb9L3uHxICiM8HLgvdUoibjwjXUAFStKlUUR7Sj42CrrJckosAWPj1IBQEjWRwZNnFI6GKknKlsCTzhMPDBGoIJTtptCxsWFM80DYIZ2SZtwMcYDgLNFvXr8LABhwKT3dVik82JxZoTcNbWOmC6faQRTUIdIWutqDLViZneZBSd+htxkru+Z4hotGyzkNrO/1hWhsJQS2kATK8yDaQxTGvlzWy3XWt3PK4SkJbMlC5tiCM8R+KPFwdOHWqLtSO2iepeINlwUmZBFJhBQbatGCpBTEUGqzQQsfBrIrjUx1qQ12mNFXRSEhuJmCwR5G66psOUE8CJWYkmeyJR5EstUTS0ui6mnXYYvsz9DzOOY8zQiW5Hvnoo7YtLQxp/PHFlYBCeibGy3hvK8THmaRoVP4iouI5J0trl9umP4NYtkrfn8jIfM8nnfy+/gjmZncJ8ycCEuvzGN/xFUc32qKTENZhoEs4/UcSun+TU134Ph0TODB8QlR+Qaifa1mrKxwUqZnwHh7Dsu4oa55vEjldTUsh1TBNSh8T1OFfOFC8L3laFqpSfDiKsY5XEmA6ipN1+FG4V9VKhKUS01wWouVZQidb4YI+2gQMmFGLAWsFsdsCMNBk2qjXBW7PbK0uDSLi7lyrvo/RRcpjpFbGAvM0fGadKnQnuS79VU0nUHE7Wopbcny5o8KHPlIjPfVuKjGmJTCSNolQK6Tjt1aAmNSllvMI0mkQbseIb8jotqty0Z86cZ22ErbaAJMAI/6iOyJvMRlNZoJW6JiVaakV2qPV07VhmQZ9MZMlK0w0JAbWydgx2zYktfJll6aqHYLKzEesgCrWaxRJmJPBpojN9GEFhwqeZk0EE3YoDprtWLCcNPeqkJ/ToERlMKTwlWlgWazAF8nhCgObuDvNp02KSnpvcbYT0h+IHX6WC7vgRcODsgHmGAs960AHzcwRmWe7EMlyP54H5IMPc30QHxUytXuqLSxli4rX+QLY/nOqVxgQ/LGbKpwplXBbMA5U687tAIw1Ylr3EN/zFtSaFVuOYFSYIi2OqVMFZXapgEAlllbYmUojV74ccHiW8WGuXF+6CMpkEztq2ZFz3Ig2FiSAQBJiC2GrUo9aQTEoH2gWjSZFyPktgxxrFmNrXF4qzsaRCHQmu2YCIpfFTMtQj5FdtVRAoKWuLbkpOGeKYM9a3ghk/HzU//bIcExuWWpTnVBWLwtv1ZZIOxm1AKG/grEgQ6IGIhUh07722tj0PoKxFizY+iKRDY3VIVnAdQzQrjYOlU50sZlDr6Xop00iRRWV6lITWNfBAKlIV1gj4wJBHyzvWoXUR9ADKFTAtSfUjW8LUKOCHjG2eF7TwihgAszzK2WIytqn/LDDLnQJ1KUckJhGhRzOqmwqhSxurZkoT8n01J/Rod8ptRL1uyiuT3kDqWV7cu7mWd8C8MCPPHNgB84LAnI+Mt5U87aknUXFMp7tG/I1m3p7yxzvxNFpPQihI2EbDIWXqEzfmufZNfZEllCvmfr9PR/uskFOJpTrcU7rfYzRwcAGcfq8BpYdUD01/F/1UsQ9nHGQ6VlFR0DSJuT8rVY3a8EFENisVelkCmEfM0aOAF+rARKaJRocWBHRBChe9DiqoSA9Mw2gN1wRfUNmDfj9aezO5MopRSOkKwzUbyZ36BIWVQGHC3jSsQoSoK2ZnhmuvOBt44mALTyhOcl2FNcEcdxEV17k4diB0A3Ja6OPNcp+e6N8oh1IBuuA7xCmeQs82R3wrDsYOotbZ1x6oFn5Xl3vvcjQJkRklykCNetO+FgOyCoDs/LhiLMx7RMyRzxmLmmxUNFUzkioSo5t8Tqsr4SK06HyEtwhYhrPQaNe4eEIzQwCx2FAk0ZGFuR4OYtcLsxrE1s9iWZAajKzdz901wgWRydTXqXsTPaNBmFjMj+4gukSiXc4m7qgp1UcisFrQnLgtrURkPTsuig//k9XsmcCc+02cr/o5A4zOJH8x6v7SnDUX6Dl18PhP90xgzvk07xFxY5FTuUPxtCYHTN9HiGih8VlilsGR9lOyFvBdDv1MjuXAA/ESEz8sM4V688L5KhM3zws6HOH51V1SY0XMJfFBjxTmzFEccz0tkQakAUlAMxpE7ieEgMwuUfRXpl4RzSF+9CGS0gE9/KiNcYDk2mgEZDjSgnzKNgXIWK008iubtKOAiAWqEte2pNhqBzqkDcHHCWQCwk41ar9GJD008Fd6Py3UKJLYHazdKMOuBkC9UY4gvWpkZGt8Y+3yNy2w1i6ajK0oUKEYdBpSSBn1LZecnAxcFhRAiTchPqLuI+aq9uiFK9TiijHEtkHekIXPs5IIXlYBw1kZNPgQZ/4L2cDQbKGUaViSlYiMLUXAfZjeEaCIph0IbNnKDimoXUMPtMMLSPICAXy0/IzMSkoGU38MMpLdomhms4R/WWx/6OUxeiDVFsnumILYB4FWgtTrZLSMszOJV0SmD2cEn2ZtLgl6bdJg4O67NUsuep7lVHz4m/SygHn+p3/+Z/NLg4b2g3QKc/4r/RyAWR6NUz31gEDPw/6gT3k2Y7N6SeL9Xe+s6/coPMjUeHNVosPMR41R1li1/SBTqnqJS3Y/5hy14bxRMo/hDyyJ98mlSDIaaLgGF8OIVVWi1w8rZszhiAly2QRh8F5ZrNqYwlAhGlFzxIGCSHMSzpYKYAT0ECRJSLvUIUHEm5HymJBUyEZ3IR4F09pyhex0X3Pu/I+I7FRKubA3Ou5adhCF1U3I6fFmOgCKSBBez31ebLsI+qlR7s1x/3gemO1XZp1EhMLUgqTQE4C6nJ4mpQcBHRU6VemEsa3wbt2h7gxRFqqTSYumiooGjgq94zmx7s8GuYRTpzZZSABaUtqmeT1ZtDJFkEhxUKP1G1KL4LHo6crWKrAuoGYEfgg7jIK6QsqRVFLp0KLXaBIP6lSTraqCkZM53sXEaz5HMw3EKnRnRwOPOHGJ7ACmk5Ro+KETPwCuqYdIncxcAw8oTF2uWqyTtOcU5nQyJbh7xmqQd8B8cY53wPzcgUmpbnIr0U28PwA4ift9Ip1NfTmj6yw0Y1pdJeezzDMoNFaq13w/CZn+oYK/ss2xDPYShbnAqyrmKQzLQUmYS0epEgnZLuFc1czoks4OpiHvcRVtW7VaRNCghpTVHLmWbRolNiyBRkmkewxzOrJGWdYMxRlGLhKkYDJDGVpWrCoY1IoDxEvCJm3ITZFrlc+tRDNH7cxxwftB4wwHT7RIAh3hGEAiJFRlA9i5OXxOTffHb3DPygaj1qJxiBOISKoE3FDf6QFqqUZ1eLPNHNoaUfImMCSQ1gAmgjNO2VYgrTPBrTLWMJoI4y+KFQPQAp9w0rIyI9bjfibTMA6smY5theIhIelFqbUBkpBqqSigABmsUJmReGAGiOL7d9RnMhGqgqggG8Zy/OgRhaEICpAS5MlvRMbJS8qpDC+7iqBmAmQa1Ps2ipd9j007E/gzZyDmjAhpSX6e9NYkH1CSTjpgvjgr/R/nz3j+L9Xpci73cv7DzacSfZuI5v2WbRoRjr9DxO/d9eO6lFI8KChFupC7zQHK9akzwWEnI4UoyHsuEb0uM5WmKUFVuknJlvwMjm7BNLe7iTKTIzWMEuT5OTMc6rKuYq4HZWBVpTAvThhFxOMZ6odcF/TMVtpEPZdneaTqeC8IXB4morKuFNF5FtFM0nBQaRYunc4D0EydBwCay3msrTIQjnBTIl/SWq1DJba2XpFaUhZCSsGMdqU1rm8cQAnRisdeVdrGbPdjwk17NwSavDl/OumZZ7MX4TCzrbWMdQs/A2pCJKKPus9ecr5JHFPXFqlODowWIhquAOfLRAYq/JQ++bxWqOBBEMeyEoWQlHduOhVaQZdaWOiCiSZYW0tGrNHEgZgFpkm/kmnM2lQcmKKoOYSqdKlINbwDTumqspLABCaNKgNYhnXP2ABzCXk73krpKoL6PDBlPCb4NdHQAzEvNfCzWCLtqDJkw8aP6ZLbbSZoE+cVZiaoCvIKc0YaVUFtk2LXuMOb8dXKIKsnlNNdP4pvvkmyO5didOtvhvNMt7dnpRg9Ro9f/ubCHTDnqPhZgHnnjgfAzZtEdxtgfpQ/SpJhkra5lQBl/5IHZb/nG8dCYSIRvcyJB31i+CsBzOQcMIu/KgJYw6jawZw9mWblzXZm0+cAPTBqwCckSiHgmnZslWVtotQ10DjiOt4lXq4ripDYjRQfGyFVEwAEDoyCWgSo8DgQl9TjgjxSKbR7U4AlXKeMlElHHMPWOAcmQ30qrZACrtpmGw52zqPZRN5tm5ppGZpNK3RL8n5LnzTabDtL/NwMFXPVPRbv7KTphiWDNHEvMR2kkD7kAkJKS43GSh7ewgSz2jo16byXaKTUzK9DQWCRxwNYIjIOIPtWbt5vWWPScHQqUshOIjskNR5YmURGI73fmc4OljgnrNFbhFB0xBbqt7Ipl7i6JIu9GpC00nfpRmU1JWtD0VJKmAxMYAs3d1Cl0Qy+cCWWUKCoT49iH/gBJGsHycQpTMATwGwt9vRyYubnEfINi0VmWZn/erCc3W2ASXSXtt/EnOl+ub67K/du3Tr1RXbAnCNEpzDPDMbLBmaeUzIdThww+9Sn/WzKa5f6XmH2ZqTyHh/mWQPMlMMA6jJx8EiWckoWUeKYMxRm9FGBpuinwKzZmd0AZtaPgihnnWUVY2qIVJGqQj8DY6FIGQ6RgE5Hpo7342C5KiluK2uQW+l9lj7K4kI3yivKEGFj9soQZjjMa+/wdAa5Ulw50xoWqhUIOz+cbEijiBJqswUhgtg+uOLNddjP7oUAXfF/bOBTZesnfhOpmTkRabuun0vHdPZ3Y3QzQzkqwdrBX1mpYabDxwp/ZgyT19nZgkRRgNLXQ7rcKQOAeqBbIh3XeK45AeWOzvrHzGiGgdCKQhVaFIqmNU0WrEy4RJFU4Bq5A5jYKGxuIx1IKZVAdSYqMEFdGfg4wwGZXEpJJZRpOaUcQHTllBMZDddrABOT+1ZBZAN7LAFq4guiKshtEMU42qnK2rWJ85BcQJs4OxPX2A87LlvTn/apTqcuT3NKfWeSz7JB/lkaseoAACAASURBVOsBdcA888u/+INOYb4shdn88UFGUaswHz6kNFqepkeHrEzcE61nTHBY9oiG+YwP8x6bKnPTOSDHMqzSJjk9Z60KjheIEOABMGW71JXLtCFCMCcziQcm1GYIAzFSYiql01DYkvYNgms09lXoa1maTM10GuxRuVbBmHZJ4a50kZmNK0GMWKsK9ibgWWiluYJucj5N7/N01T4u5INtpO1oC4Gm2EnQtiZcPFcBQodMV1IEYiKEpBhOxUZQ4lfulWqjLEFda+A99OBsVaZWiFL7QI6H5ena0Q1mt0sxgumOXnP+bJdjqdsgjxKnKqvToBDyKV04350HmR0ihC4IOCmXq+96R5+Y7iVZCvEnxJCNVHi8UtdT9MbkQNdQowgIAZj1jCzSjLAdRGKTJKn6k9qyCmw5IIP2ekqFtqxKKmwpmNMdE6X1R5FBsjvKKNFfxOY+2d016ghy65LbYXojEBQlElpywNSYqujogCeoDLKpqAWxse2JM8sxDUY25WC5b5OM8ksAZnvf3yXafvO06uf67rlSyU5hdgrzdASe3SS4nf3RHT+XfOl8mHPqfO3OHX5vOHQ/8BuYMzq94bbLMSVLatprUuNcvuUQZnjB3FvxJvmkYoU5b7D0e15dQlXO6kKlJfEEQWlklFvWBUU0iomymlUCc9ogncgDM0AfSxcVJ640aUx76zqmh6gprxW288jED3v9pZpN7LoJwaeYWSQhOWBxBLOadWWMAhCV1JoFKUYQmmj0o1jFMGvh+0RUvFbwQQYKDsgajkoEnNCZHW2RnaKEGkXNENuavcndllHiQJTllAhRebUHzVrUGuWS1sJ6xlv0vjxY/EopG2llAc75xPU22N1Y5AA6jj01u10qqfd9og1HZS0FgtQjH7xxeZoAsiip6gITIiEZVEr2x7Jxue0ShL269ZPW1piU6/GwVBNtA4P2bVFdS4X3huT2QNdtUw04bjmUOkYiQEnCVhxMESDihGyNpPZCxPYiMXsHrj3cpCSK68hO8ZwlcTMaM5lwiGogD8xplJ+Y5CMcY2eNeZ7KZGkm0SSVCN33EQd6RBRjMrSjfnZ1iWZPAyZqzN+Zay781r1TmD67cxFGt/NhXlyr/kIe+fkCkz6mVMezHhpjoNchciwHB+wqdnq91EXEJ0Hqot+VIl50YXAi5CaacaFmE3Jt0VRVsE1jtK90MzoiGahnSoV1bkp1XHPU62F+nsrP1miRh+mnmEBySxg6eHFmKT5QdqWOdIgqHRfMKREx92CTWuu6qMLa2mAlkqVvfaX3LwCm7/5o8t8dm/AwjkIbROh0pshKjZpDl0tJyOf2yYqufrzpgtk6LTGthXL2OpRkBbAqpkARbPNKKadCAUprraqsBG8t8/Xf/lL8W8OEUbZCRzM7/TcfVn/4Z4/qfxcHQQ0WBhp+xkAYdTWuBadXiR6ernq9CQihNgfa0bsHAEwxjVq1luowMOA2/AreRCeDdCWkGSFx3QeMXJE30lcxcS1uGqmYbGrr8cDosVZkdVkj498pSldqHge1qnygBWWUIVV1j9LaVpWkLCghEprNiJPQyqBnkGiv0tCa8cR/njASNmQrE7kKISjMUUrGl0+SVMcFlwOkHOUuiL4SLlrKDtycQVCYkwQ+zVTauYKQ3+6m+VWUXaUOmC+Kq19xk/zzBeb04WFvpKMUwMQXBGu8PmKFxr5OSSpiAzcgljShHrIlE8Js32wmhZpN2QFTo1AmJYWIuAcmcU9DXVZcGLSU7IeYoMxlS6L9mjDamTOmoIhQEW5yBbN4pkzySAUrdZ9Crqyv6caECwgKs+KsKsJqUsf5rEr/q787+s9fXVBX8JN/sG/++n/68/G/jKKo6vWiCgnZWilGZBnRby2KoTRdzqVYFhWwM2LdAunmdGdjliufl9kk4DsFKgh+mbCs6vAfbARf+w+uxv8IoRdfE+7nkYHR/3//tPjXf/Kw/rM4DqowDlHc4yt23GBijQ8EZWlJQqQK+ah5ABer9goTYfK69P5PHFuFLvTuGw5bSyEi5bgu/JxouYkqH3gxoTqLWhR7hQujXJMap5VMokAM5aUNlLboeiQVie71qro2KJWS2taIipmBBJV1jecyseg8B09CFBiJkc6PPsti86ISbUPXsMPmpZg8ctvwcS4OpAYwXR84+DRXYouKoDqKBQqT8gOqnUmeyMQFhDC1sK8EUuGKLfNHPFxendL797KDq9d9YOecSd4pzGejtAPm3Picn+hs3iR/5/q3T8bKNSNqOhJhc+0O8XtDD0WY5A8fejlzYKmnFqkBZkbUSyk6ypyfEsycApYpem9DVebcB1hjqE3mfJu0NWOFOjhdITWHVa0wZ3hJURSRVZFSXLLNI3UQU6xCP294Oa1VompV1AFj6lv4M41rMlRTRUF0oIPVOkQdiwuKMCMnB0EYo3RZFNF0WvXf6Ntf/+d/e/TPIdqg32Di/qs/Pb79USE/7Q/SvB9Htdbghq/GERQLNl2HYJYjC7StM3e15cql+LDARQBfpoNl4wZQAZdVEUxnVaRLu/Rf//bon4qgQtMHsfH6OCdwwSGp//t/c/i/WhUeJklY6ggu0SaVqElG900unVh1XYBZAqkQkmr8m0grUtwWVrqQukE4G6/lk9KVS+CEioReNqpy4MVjo0PjJmxHwJ2VSS2No0xNAmWssDbWF4mTVoi258a10EPUHFP5msqMbFBSJBDDVjVz+rCtbBD5wiRrS1H9hRoT0qHzkSlKYYOu6iXBLMc3lfbIomM85TGVg9xiLnQozMjNGZRTRhlhXzlMLKyaCM05YJKjGXHSk9ocZl8ZLk47k/zFNGYHzGcC8zRPtZ12Aoe7fpdt/SMRbbxH7Ej5FGAiCR3PYe36VCr833caCrWv5lHHzNUicsy9eT4pY9bHkwCmGQI0VvsGGlCYMLfb5HSbkzpQFNcx4afu8i1nWR24DkSYoCxiFSUxsym40HG4K/m6dcXl0FIER56G4qutCWbHs954Ug//m68v/heDSC8WFRFa7QJWh5k5+u6fHv3PywvJOOklVRq6H73Lt2S0fnMeSifNmEzgLHAEbzhAuzWvNvEPAkSIqCPRSKylIpOwrKrweFal/9lX0//49eVoo6jdPOaYMNLJMFwr1ERxQPT+o/Lj/+Uns98f9aIsjnUV4pMC2wHCH03wBloTvkenHBFBx6eA0sVLumRQQQ6+z0OH69firUCVurQi2wSJXHUn2i8FPn9TCBnvxqtRVqZH6rifI8tLm1kxEVdO6ToUGQm0rjENhg4DayrkdpJdqKVAnblK0hqyD801bJlJaCurNeYMIlG9AH/ZCJVAAXI1s8in2AtJmETGhoX0IaCjWGZZISkmWXMNh3M3BQUCQBgJH/zB8GWu9hzXqFHT1O/Nxn94P9u/fM0rzHtE9I25KtPv+x6Z7c/iXufDPEPWDpifMzDD5awHQOJGHijio4I5AEDzhNRy7pr8Il0ISeqzihSAiUg47L3JUaUHkWsQzEky4JpLxjZchwjqAJYI/BzGHFdRoDAVrhS5Qn/cemac7xIT6WBSMtSNT5iicawuGUWRC3LAUCxMYEqrZ9M6meVV/x9e0r/9jV8b/vY4I5qW6ETkgdmPib7/l5N/++8m9f8zGvVmcUg2DgPwBwdp+C+hLp2Jzui1icRFwNSb7Q6kMMSdrYkIumWEXMo8j8bjKrmUyJd+9x8s/IcF5lYrXZ9fQuWMAyZ6wGuiBDmmIdn/8Y8P/2C/pg/7vTgPw6BG+03fwRhiGVEqb1LjM7q2Qk4RIpdSCeoL4YjwWUbop4S0Ip/g7qqCtPJ+SpxbKdEAJc51efFBjfQi5GjCE9qvzDgp1SQgXZdSWlOjgFwkZjRw16aqSbSuMcuasRSbJVuXpa5FUPIOiz9JxB7VQoUHppvvnEuX8K5TJNMHJkWrOJ9oIKEKjQlLZ56HzsfpFaYZIQhUUDhDJ/fEKc1dm8goEsnyzM0bFMWpzLIZJcsr0w6YL6YunXvoxU/9ZTjz03yYF1eYNxqF+f77xIMB8c4OcXSNUqmpn6KDBlSCm+6WEO72DSZ6Xm1Wx74z+q4hDQXpppTIxlrFQ1bVhKEre9oHeZCcjrjOrGDNXLGYUB3GYVzoWmNmRwDTImGyYDezo3CgFA5lwzMO4kloV2tDKWCClCBbqSAvyyg/NulknC3/i3+09q3aqvhwRjTG/GDoQ6GFRimm8pHiX9599K8Gw/h4OOoVUQhb2zWiQL82F+0GCBGi90ntPrWIAvg2fT5nm2oEiFaFCWZFER8d5f3/8jcXv7mQBMNZRZQBmHMKE4OFPFIozBRdl7L6+Lt/Mv4/R0M166VJGYVBjd5nqCl3ARuUrLs8es9BNAJ29d++LAghMfcMfJi105yWNOp/ENiBTndZSW7OcsO29sBEpMn4VnAuBclY2xN11MdMEPCLGnTQRNmkIbQpIR3VMMf93OdkI9HVyFKJpifGZq73EwDJBdliGkiCbRXa2hy6RsQmqCSMe0YXvgqoBaYLACFnM4wlNYXFbJRmBBP9iMJZ3Ex9kdPELkoYZ0JZ2rSDy4RmKdmUpuM/pGz/cqMiO4X5XCD71Qbmp8wMOV8OOd9Vfb5JMEb7+7uk6C0/7tehJCMPxI//8ri/fnmUmiNSZenn2pnWaPSL/MrCwTJeSKga5xxTQru2RBNzN5VgmbOGrxJRcDftJKq/mV1zDZdjOa0C5xfUrPYsx8iehKmOfYEKIMrcthUD2eXSfDIbxOOYV2sy6CEGwHCd26go6vhgfzL6T68NvvnGWvLr+1OigynRGBNzCVEUCA0TouU+0Xu7xf0//njyB8NhmvXSsMJ83VrVDFgjKv//s/dmT3bm53nY+1u/5ZzTC3ZghgNwOCBHABeRFClGJKWJTFuWFNllp2Sp4ovcpJxyJa7KX2CKl7nMjS+UG1dUlaQ8UVWsKplRJFtDk6ZoSyS1kKBIgsMZEoO9t7N822+Ln/f7Tp/TDcx4BiRlKtMQIfT0jkb3c573fZ9FJC9wEUqO7yODARGGmT7GDUceoaRwTVSdC3qx8Pl7z8rrf/va+INVi8xJosb1DJNHcnBBMEyJz4OotD3b/eyN6Ve/uUc3xiPdGKO8lnppEGfdTn/Vxpg7KO1xjgJeRtxrmIYmzMAINsIrMwPlICWevVkIn4RPsEsmBSaNJSIu6IiIw4NEjIVQB7kLcxMlcop9z2ghTwK5Vc6FVmiDMgsYe3zYINXiip4K3TNMxYQ3+tCDJxqEkiiDioiLc1QIE2K76AEzwhrZxWDSUOeLkGIbR8j2RM5mnZKxecLLse/EXQijOXznwSLlPY8Yz51WC//VB9X6SH774pcPR/BLdz6cTkby18fQE8BcH8mPfZ3eCmBeGwDz7qsknrtKdO8WiZBNy5HeGPEOs25IyVx0KCvDnvIYYMouFw/TTEmE/3D3Kqw0yLG0+B+F1gEFGTC9dwJunjZ6dPnI/WRzsEqAFrIkhFUDeApBUcngWsWCQyKza8Q5H0SOWAmIW7wPebvoJr/wzOiX3nXavuegEnJnQbSP4BvsMENi3fk4F7RVJNoqKN582L38lfvV58pxUeVawkCdMsNggSR1Ebs+GBNXocTGSFzCJY/hrOfEKO6iahpn59PF5H964cwv47FjAcAEWHrEba6OPsP+l0ETYzkAk1Js/5d/9/BfTSbFoshtC7wmASoLTOR1JmeIACWRZcTXdCAiFKZAbw3Ci08YHko+4oB7pi62yPNkgBRGIoKdrZIgpy7Bw4kK34h9pc/aNCtCmLH7XEksSvuA4j7BHaSTQ4yFpmDbxk2E6qLDSJ4H/Am2CU0m5EPoQQff1QKaTkqx6CPiROjiCjD7HE1cyJGlKTzfhh4FTEup2R+aKfGgZynJSeLgDqe7hf/qZrXOME8A882TzBPA/FEC5jkqRwtiwHRoc6ScOozhXSPYqaGhA28IO0wpM3EQOildJjJLGJ36qzjoJXaT+2TY2VNDnO6EykiG4MVCk26NsdF5JQT6eYJIhZLo6kkdHM5aBty0NRKDlH3o3cWYRF5VXnvns49fNJ/4yEX7MymJbK8i2pkn2quJ5m0/GntwLQGgwlhOtF0KOoNwT6LuK7e7r3x/Hr+qrQjaygRtJNuPAnsVuV6CR3E8M3gplMZuUYYuKOelOjhYjP7Wu4uPvu9ifgX7Unw8HsehYxwu5KB9rLTE8Wk4/AAwxxnRn73WvPL5V9s/Hpe6MeO81fAl9TnvzBC5KxfwBWQcdJoRL9Mo+IGpHTUXeITpw9rBNSG26ve7uIpHHIdYRsRpRo41SgyYYJuZ0gcj180AwFIa51nfOXQEqc5zIDLS1/Gv0La+1LINvqUYsiCkhx8JcA3RZ8RFHQA6glYTfnUAZoOeoA7pncwa67bjPzGShxElI0zoe9Aphf0mmclm0rHhqgvsyAMu55T3gLlBPWCWtPAv0QlgvnmMPDn6HH4Fjo3kv/GZzxx9AFlz9xwZyddS1Xkkv0ESozh+gWH+4lWiW7dIPDhHpbu7P1nqMAGY6hQAU/DeUhYtZ1hCkL7ISZgaiWyo0yby+Vgk2UlmlMKJUlp21bB7B+N1qpUQRlRJ6JTpTMPKAo0Pp2cI5RGk3gW02Sj4w10Kah5isefkxbYN5TtLeven3ln+0mYhNzF6H1S4hBPtVYmmDUbjRA1aZ/nakfhKjXG4B83+91YhaLdOs3//vfYL+z7czjMTND4RqYVSIJRYE8I/Dl1OnxockpRt50y16DId/Kn/4RPbP995oZYAjQs5RnF8XGaEa4CJd4DPA3tMAGZhU/jNL+z9Ycrt7iizrTYwxkvEHCPxgsdMXJeRI9lfzLFCDSx2T2jbYXyFDDQlgCarM1FPBgE8SClU7pALRc/vJxgZFB4LIlSmMeQUpmUnpkIpFKl7SEDRMAlm2UYKkP+w20eqqMj7MqQW1siIjetgo5RCB1zJOcW9o5TbFDD1M2h2LlGmuVOIw4jrvsqXd5iaUrlh2EaJMrVQc5cRi9ohZS/8ZmRJ+8AwxcAwxXYxB2BeGHaYN24QvSHD/NU1p89Q/bH8+TnaUY7nnjh9nhCH/3q82fGwjSNWSPwV1gHzWKr6xSGRCK/2tfskrw5/5d17fUXFgzsk6m0q9W4z5gpcvDzPSVStQpujm/XXbp8j05JEJTux7Sey8h0DJmRDATmWXnAQsG1d7w/nyzPSikoF2VCLgVlSJmILGim99iiYUR1k7I64AC2ZoF1Far9tJ0nL53/pSv4Pnt5QT9cdCYDjtO73lftNojksdx2qgNhyDSlKL6gRAmE+VBrB+0wcgbYKgCbRJBPpWw/D/T+/1/5bUnqaa5GMgQtHJPwPSWsshUpIn8Qo7u102pS/9oHRJ5/etqcAlry7REIPPibG8T6UsgfMoaQHT2MszzCWW6JJQfTagdv5v29Mv7g5yhcQsxvUikfRp6ID6ns05Bs4QFQEfF588UmIeu8krJHDVb3vB8eWMympUhsctpGYyRNClfA0zPNcc4HE9ZQONjqasi7JdQHHHhSuodKiFYmv78wwsa8MypfkWhx7TFIehyDsMw0OQnnua1+TkUX07ZQBEtd2pBzBQgkhU39BNwHADcDU2iahZpE96GCZsMfXWaomLe8tTbcZ+qqLfiRHLGDTNLQ9yuc3vknVqfM9EH77JtF7kTI//Lpzh47uMN8IMI//mL8NKive1iP5XwVg2rvNBKVkwWYJwvQKPvA1wFR5KxbQWQYnCzHmHSUAs4udCll/5AFgipaUFU54MoyiXhnQGtEl0h2FHLFBBiM7aU7qRRd4jDh7dCoGMjMnzO6s2f4nH9/8n5UUObPKOtGsETRloEwE/zKAsvaJJT0wxPSA2bNMbCiRI4zjCxgegBMs81RJdHoksHvsfudm9S9GWe6tlaC2KPxCoBGHEAO5Oud1tWiLMxk99Q8/PPnooiOBz2U5ijO7HAASH3cdLAGYLDGSROUwlm+UlP7FV/f/ZLdTt/JSdjZjBT/S3xKYZg8FKKUQy/COKKLsr+acoYGqSCA5B9LFGNskhIaTnY9DHlcqPGKg2SLBA9AflKDJNC5Mxx1NkXjkDTmJWl5+NdzZ0Jim+hxOz5DnxpjHBWSemYPIHcAIwOQeDu8omSKIUEWjCi5VE8FElRzWsClgdSoMVzEBMJnPKXShJ+5Cl2oSadqSOJXFllramqe4sJT0rBXeZEmO86imDapOZrdOAPOJGd0JYK596V6PYX79RRIICb4xZF7SC0RLhnnn5RtiZ3xNnL73Sv+1vHKFrmW3BL3jaSruzUZzZcastZwJgfZIMycJRglHDy7gCMWBGl05K3K0oDpi+yMM27gz410CMFXHtxdqbZ9AlHCbyIRsO1JOi8Igu7IjEYGXuYbuBTOmRGuZ92QPZlVxv2rO/ONPnvmnFEWBo84+2GUDdtkzSvxuAJbQQGIDGBMffTAeQ77IqRuYMHGxHkZ0AObpEdGFCRdXtH/w7cXvjHLlisJ6o/mgwkwaNA3JFdW0zmeLrvzvP7b5wsiqEuwSx57lZZzBcm0UXx/Lh5RgGAAOQXuz5DbH6n/7yt7nxqOsZttkrh0DF68+4eAE2GBc7J2UEUDG47hKcNv3MqGegaK4h89GnGCEtGEdkLAOEMY/i9RgnMjGjDEP8qDwaYphwCNnmFnnkJ0ZA2McTt4KlisKvgiuJaeiybRHDjH2lgDM6OZ9YAeeJgS7U8y0TrHlXnQGfwS0C2hOkdaOHSb2mthvNmCURKK0MV/YqMd90lGxoNjkxNpMb/pRHWzTZG7+3e9PFocMk4jee26NYWIj+7m+g/fatRfSi/QiXR/yMd+wEI0/iZOR/ImR+Mf3DVfay0etkCvd5de/3oPk4a+1p//gy1+Wl14uDh9sTn3wmnhueEVcx0cZib0dEmaTRro+GPuSEJTGPeFKnBNStgKXzkaRNPUcQyb5bCx02JNBjlg25FqnfLIKMWBgkiNbimBr9ovLoIWjwAEaNWntS525FHp3j+7ZKKpvcTRHqdm8ifms6sr7B/U5F9P7Xri69YnzG+XZg4oExnCM4ACsFmAZBftiAJQuLsESNxOksvXjOWAcoJVrQRt5otNjkRaLZv/WXvP1cWF2N7fzJrfKm0xhLGV26T0khUFXTZu//5x5z89fHV0FWGIFgHF8eRkf6h0PbZE8Iw+Mk73lS6vkANhgutinvnRz/u1v7oVvj0vTWqs79i/1dsiIgrQ+LxNOd+wl+wANvqjzxpBtR8w6IRbnMZ4lpewQgrITeIvDDzCRd6FRcRf5QeHSFIEdskseL2OgRv8PAvQ45T0ChzFK+yykRogs+rjALQdypSTJBWOxp4QEqk4623bo/AEDRXd8bKt+Dwpja144hAyDYYrNUYzTLolizJdz7j+v+wMQGGYRmthATXDQYpma9MYmP0LKXM3vvDKZv+5I/m5K3FU+/Lqxtrc8Acy3pXD9rQMmdJfXPk1pyTBvT74sloC5c/dVcfUXf5Emt1YMs/vaHUkXL9J2RaO5aCe8q+TOcKIClRKyYzF644UU7RxDbi/ebJwKstdZJmWln/d7S5zJRY4rOFdKiNSiWKFgK+Q8BhMKypLRXFmB/h6PBCLU3OB41JFuapfNq668uz8//6Dq3j2ddec3jHrqo1fPPTMejfJ52x94cHBxA1D2oNkfX5hp4gZyCJioPUss8Uld0969v3NPyrizvVkcbG0W8+2tssmMCMaoAI+k81EFyIi6aKpFNfonP7v9cylKg1F8qbsEq11exo+wymPHH/a2D3ZJCNkBmJsFx2G6//WPdz8/LopFXugWlkRmiH3mG1CxN4hDMCTh5MTIPbC/XpiJ/yVHvi8667M3o1A6YKCG/zx0LNmELYD9TVbIg6ILUxFlEB6heP01nRPbtUTXBoMnuS4KEULmZSNzCqFGGAcQmlcG0YKJ85XcpxhSwOeNBanh/DkdUa6GX7rQMFly8yQQl8Iown8OwOTe85pSXmIkh27zIAWbJz9rRLBt0iZjhmmtnB0BzOMM88OU6KWBYb7wQnrxxROGuU7+3oYj+X8uwOzHcIPOcOgyLUZyIU1NvUfcWjQa8l4SOW4pWqmD4aoJAGY0U40GSLZ8DICZYiMdGT0VoVBGSw68kEhNV4geh2hG+E7prot2VlX5XuXOPFzU75pO2/OLebtdt2Hj6e3JuevPnttSJlO1S9QMlsQO7HLYYYbUs0s++KLHEQHD3ocHd+/NqsVivyzMYmMzn29u5rPNjbzaKDKX54hh470huSCUazuzmLfZp54rf/LahewiVgFgl9hdAqjfECwHlrkE0kFozjIjvtznRNsjom/cre9+8XbzZ6Mib4wxrrdngzVC5QSXN7yZEvFtw1UcvBNfcj4M8etgY8jHdNzFuS8D/nG8HIHwAF5P0HsCeXNK+7kXByxCT9I57EoAtIrQA+TZXskCeoi7ksvaxIDZ1Qmm1Mh7VAAm7jr8yXrcq3gkRwAHzlfKFAFPAzKtSR6AGZNJ64DJP9Aqxdz3UXA9YPZMU8MJZJs+hLjJyFp3Apg/wPh7AphHdpiPH8mPM8yLExLbL/eve/cuied+sReq9ztMou5rJOkiMcPcc+1GQjNjy7mIoig6USGtJ8sYPHMPcXofqFFBwzIApo4kM2tEEI7LzGZxbg3U2TySG6wSOVa300LPYyilzkRKQbLwJYfyr3f38Ou0wXYp2r2q2dqt2ysH8/ZUNXMbVd1utFW36VwYP/f02VPveOrMuPWIeUvUhp5VLpnlMgQDwW37Dx5WOzs7B4XVdT4yi0me1eNNW2+Uph6NszbLbMyUQEEQ9DMS2RKLus1M8Kf+0ce3Plp1QrJXHWuJNRnR+kV8efjB89afXsqMlhdzPkABMEv8meJv/cn+fwjK7uWZ7mymPWSXUeDwzPlDbNBk0w5kPCzKTAyYzEEBrBIyI9gAJHIzWeTOrOduZAAAIABJREFUozoMPpK4PQ0GczzfktjPfZoqoKgkRBX1HnR8nICSj6EXiCiYLHWy9c5Kci7YXpwufbJCBwuZEXrio46NrCMqLXB1i0IHZfQAmIa0WPDTAfFv6D43Wx6dQMw+M8tdQMwwWyJ0AfGfWIri+DMwzBTm89174xnRK/x2O+evJLr5WTp94TKP4befrdOl2Yf5aYzmL75IdH15Kf/MkXo0+o1Pf/pwdOd3drLD/AGg+Mf2TZ+MYSJtell0NpmQeLkYAPPVm+K5q8/RvbWRXH3+nqLz52lMNJqO20nyw6EHXFEJWQ3pRQbHm9oxw0wKUboj0aHT25MAWGbWsXEHx54pqsQBgCg3g0B91mABJp0Wei+JkXIDQCIiwoBvsCpQyEzKEKJ2VdQL5Uf7XXjHtPEb7bwrF4t20lTdRlO5SdN0k3c+dfbcpYtnJvCQ115Q6wCa/SgLYTd2lvsPHiz2dvZ2ytJWRWmqcWHrSZk15ch0o8J0xppgIfxUCK5AgEZQlfd2MW/yX3v/xk+d3zAbkDFhfwkZEesu+5qdfgZekxD11G6lxVwf1Tn2bdBl9vrQRKdGgu7P3fR3/3LxJ6OJbaxVXnFBOjgl/z0Y+KhPBEECEZw//V4STh/sOD0iltAOyR8YMzsuPuz84Q1FxOv1x6GM0n7m0ky4GILEoWnwq+NhCrYgFrljV6qCMp3XXYLlyguc4aLG8Snpmvs6EF+SYJh0CDRGohE+P6ODEjrIaPqjTzyIKiau6MX7HuvSBy5II4rNPCFPE/IjYGhe2AE4oR8Fhe33kqXKpndeodUOE+HD8xuHwHccMP/ZZ14SZ6896F+O8fz69cPXPQHMH1uQ+2F+Yj9swFxZIZcMU32eFJ0nGo9pNM1okhYk3bwV6JcAq2TAHBOZA0yEA2CiwzYbia4ZAHNkhEaDNrKAvRciN4qZKjIeAZiN114GGVSm9n0ckwwSYz0fewIAU7FYXGrulkWKraxELKeBLlXBjbrO2XYWinrRbCzm3aRadJt15Td/+iffeaUOWgM0KwDmAEy5TmRl8C9/++XXRkU2m2zki1Ghm9HYNvCUF9YGbVRAiK7SOIwH6HpE54NeVE3+VCku/f2f3Lg2rXsZ0fIyjt3lIWtcG72XOsxDIF1KjAZ9Zi9LJ96lZkaAXbIL6dSY0r/8s9mNnSBuF5nutNZeaI7NgICViSL7eLDbBFRa4ftnsmcdCU7YQLCZB0l0GMsZOiFchw+Agz3gIkreum6aR3WAUnWZJCSk/WfFzh2IG4YGSUVBhc7rIFsVktfW+7AETPQUw3d0DDD7ABAKtph4SI4CSnsWB0lFh/C4hO6mzBgPHSY+ZMOAaaMybeq403wS27YlMMseMHFNz0h189lbYZgngHkUe05G8jc5kr8+w3x9wNRqMa5KPYkVybbupBrZZIKQNcZq2QkEA+toJcZuHIbgy+tHclzYDYnOK8T0cJK6WgdMEr7trZJtDOZA6FKgukwEaWHjDqS1UJzBjqpHZRHLE2UnVTYV8WKXUuF81H7hrGtcOZu2o/ms3ZxN6+2Ncf7UM++4eP7hIhGOQWB5WiXazAU9vHvvgWvbe5PNfL4xzqvJ2DZ5rl1ubYB5HT06miOJA8Cdq3CaurPzOuT/6KMbHzNa5kt2CQkTmFJvwF4J1deZ5mNBcwDKJcj27p/E7h8cfyBx6mJs//c/3f/SaJQ3eSadFJyk3EMt4jhxOWfNFTs1PXaXnELEIzv3aUY2VvaRRhGMEsOAiOwbGPAzgmEe5D4dSCm97zxakCIeKPjIpKVjaRK4IgDUd65IEsIIcPcApSh850aoEDofLTI6nU+qzBzAk0OODMritVfKMEOMXZVUC00mJWc62tRbDu2SfDWH/Ch1KVMm9oC5HM17hqkt8Yjuw3y+uD2eLr/tdyBgv3mTTl/oHjuSnwDmCWAePki8WVnRMp3oWwgKJqLtbRJ3xzf56d17Wlx+4Qrt3Rl2mO8gOnODJF0g0vVi3LZ6A4BZeYRq8P7r8OhjgpO5g58PWmsr6q5SXImLq3iqFVptuaER9mwXFOomUDuB/1YazWJatCGYRoqSNH7kArZfwqEKkhd0iNzhG42ChLKJlNeZON8pyqJLMganUyOzRVUX02kzme4329NZc+r5K08918gs36+5zgYZlGRT29597c4rm5vFwSYAc5Q1xci4TKmg4CPnJh90biDnkhTrLl1Ss6rLP3ROPffxZ8tnDgZH0QINC5hvkUi0NoKzUH1tDF+O5Mvn994dtuLwdzGQCNQPxx+rBY0ysExir/sfvbL4/o1d/x0cgKxJTiicSxIFHsc5J4T3jQHckyXsOH6rGPCFY3dPRL5Sv8PECI5R3OCM3X9YSjJk3h1kJPbxOkH0DJN1mFyaRt4n1JhDWIks5dCNk2w4bI61TIrZqkEdZ+fZGikRzGEzh1g47R1bxo3ER4Zk1CRqO96/osNcFpQyo/kIhK9FgGYTnnUcfTCSwyiLeD6wS/abN6lBrYXbnbvddx682R3mP/sMibPLQGEeyVfj+8lI/sOcfH9s39cbjORrMisWqw9/hxvwjhPRsoYCB5/XA8ypJXH2ZZJ0ltt0x66iDVWQqBD86zqhNqyQno2LAmlEOrieVUJ61ELjDO81iZQZzLP9EYgB0yvVkUQqplaaZB4YMDtBZh5FyQFwCIzjQDWndVTCK87Z0WCZuO0GEvlMxvMe4iPErUO6GZzFUWg2b8vZfrM5nVanYhDnL19+6pn9Cj1cfIlO927duWV13NneLqebY1uNx6Muz6yXGiVjAeHk+NgIoAMrVTh5VHVn29aV/+PPbH3EBaHhV+fd5ZBINPSOPbK/XFZTrGsyOQdpORsPQDkI03mmR15moRNtlL2QPjfJ//M/3v8Tm2VVUahOKhHUoMPEHaqX0ksYtznGCGFKvJuMsLvzeYg1mwjj6Ped/PIlIebdSO7EgQ10IJOLZIoOfiLYI2FPxzl9kA0hMzmQl10ZqYYMvq/2BbhpyIeCa0LKDTyXPgmnPeRFyNH0IqFsOCAGDgwzpyK4uiIAph2X0YX9aGXZVxoFbEXhOe94hzkpTJx1HY2CTaLM4sK0KW+JZs7P3e7o4M0zzHXAJLp+faXR/I1Pr57uVxEnwvUfW9h78k/srw4wdUsTF2giCxLtkGsJfaUSczTKCumMSAV2lkI4MqRcrR0hV1IIqYnDNSh6idi2SF5T7XHvEVorchS0MVrMHdlO6SIRTNJKkHdSScS7BYCyFAH5bgT8RId5NlXygscpiNEGIKe1a71umi6rZvXkYL/dOjioty6eP/WsLUcTqLyr2Xy+s7P36vZmPtveymeTcdaOitwrY0JfOInTfJ+4DqLpnDOtj7qa++xvXs2vXT1nT4NdYhyH7pJlROuJRGvHniM7y2H8XvnK8Yw+sHL553JKwAEIF3NmmSNBZ8dENx+6nS++Un0jL2WjtApGa04G4mQOBGwIBFYERklunITDB21E0GmGSEHzLhKMk8ETTUUsRWXHk/Q2hIMi0D6yipNERyQUST3DTDpzuPzIIFOHw1EgXwS5sK6L0qAcE4kkSE4CibcoAU4SC846+aR80tDFagRzVFFy6XhKZdrgfSbbJjMTKSwiQofZKqm4K4g95T1gpv7og+N/YWMYt4mmSMRUsxPAfHL0ONlhru8wjzHM6zde6r8+P/cCXfzWlwUNsepvxDBHloR/meTZs0R7LU1AejwyN3wnlOAkcqFE19dMQISe94AZvBEi1ipII1p0fUeSCpHmbR/Oy7WPdSOF1tw13iKFSGo5d8F2GTrVOOVWSPwfguMoCPAdeFK0RGQECa8p2yd5KQrKOAkN8Ja0QjSc64JpWlfM9qrN6bTbqBdu6z1XLz6H4fVb37n3clma2eZWNt/ayOtRbjtjZUK32kBp+W+FJWyALbsLpmq8Lcht/7cf3XrfvCEJwFzqLuFRZxb5mIv4kYSiYfxeXlLwuRyCJzvEeenY/wvy7kGssUwez9P/8ZX9v+ik2i3yrNOaF5nIuUPqOgtNvQJ5622TXPWOER3HHwYzVEvgC8WnbrwV5EP8YYGKluQeAyYS19EfrAc2yp1B2jEu42HJSyxIXB5llYUuSGkdVqfwnjNgatUDJiC7xZkeogmOeAuor8CIjrzMMqELCJ4f7Cwde9CRl8mAmZuI0jSEcvSA2ca2y0jrNsE2Geo2QQdcT9XMbYwOBlUR/ad3mCcMcx1e336AuRbpdlRERrQeGPx1WhvJ6T8mEL10fCTvf1KRTnTtPbfE3g7WhERTK0VslKTTRGav2TD2HDt9cPSxZCkVC6mgvTSGfAeSVoJtMXhqRTye82VBeG0N+n6g/4blMWikD3lE82LFWQkttBKtj7YtbYnADbZ5KyLdRIM/O5zKkUMslYwxSK9Vtp/cUyFJKzngNwqLdnJ2VCfVLOpiMW1Hs0U7qubtuGsB9RBMKzeZ5PV4q6zHmemK0njb1+ZyIDDuJ0i0AMMMPsnWOVstXPYP3j95/5mRHiE2DoAJkTrG8ePhGod7S2aaPQgyAV4mFjEZZtAa0GpIMmJA7YGTOR/K0mTigGGkw58ZC9qv/OJf/uX8z0p83kXGMSdcq45zDOvGhWf9JT4kKJpimzYeSziRiLVH7IskkEI+1DB4UvRFEvsm0AEiNnxC4CeChrHBlRilEevZm4v4ah5cHkWFkZy88hKNGAGTuQop65ON8HnJNoXhDkWqHDs3qwl9PyRNzMgFhcEfRx/ORwbYJrZK2q0RazJxKWfAVBSxy+wZJnEgB0Ts0+liTmdH+4cj+dOU6LNEp4e4t9vPUroEP/mgwzy6wzwZyU8A8/UYJpG4/tLAMF94gS7+5nGG+XjALKwUdxolz5wmOtgTG5nINmB3hGhdIcsys1wSBlaJAxBHuNXI3CVRDIDZBvyICiVSA/hjUbuXwdigRRCe/eKpQxOFEgsXrc9VyfYT6DRTkDlHhbOfCAIY1COyrbIlkS9kuuhhUhnqIoCmDHrI6Widrau2qCuXN63PfesylONYI32ZGzeaFCwGN1IklPzCOQjrI/A+dV7h47suqap2+TOjdOHvfmDjWfjVEUyMgGAuN+vlMj27XJMILUOC+xvGYU/E6uneRr4C0YFtLhvN2OMOFxKHHfdJSthlnt+Q6Xe/Pnv5fhXuFkXeYhxmKowAeE45Fj5wViYnvgEMcUDn/GGmkWnFGpNCfggX6aLcJ+ShOzBeHOgkUTzhodlEfTEL2BV1+AAIFA4gsUq2YJgaxT+pz87kzGK+qEOWxNlZUbYUEqLd8PiQaR8q9AxxxnsqFKH2nIvWgOocU8fBSERqbJARkhD/xoApiYGTbZNFP67jW73a9zP6yGj/kGGeAOZbms9PAPMtAibSiU7dtYKee452kVB05QpdnH9Z0sVL/J6KHSnujJQ8g9wDBszJ6wAm+ngeB5hOADCVDzpBRBk8g6kyQsPFg6ehv0wtaalJLJKwzqqRkFEl7Dy9k6gyR+04fJVgnik5hfIfXMcXPl7y+BHCuIizB5RAgA0chXwwXZOsD0F3bZdFzopDSI6IJtcR8iEkEPVsmCGH95YuoEM9KA922XnzjnG69Deuji6jSQaHHtggmV0OFsh1t8567uWKUfajd680H54GPA/sEy/pjdgD41wD05WYPdEW0uFHKFBL/vMv16/cndNdm+lOavJ9Vid0lsgVGa7mXG8BbxRqLPhuzjvLXk+JvSQaJSHTZO9ksN7v51HsI6Aj+uA5tFghDg6PUbLjdSfK09i0DsBMPWAC+NBNzoi8BEyUrekoW/86gGlSoZzHKpuL1JJLQpiIPxWayvMugoWuABNMsyOFdskCd/klYNKMPkIngPmWYHL1yieA+RYBE6/e7zDfiGGeHxgmbWjVbfbecUvQXSbVSRx8erZpUKrKzh4XncT+s8LCCwwTLZCxQKoDj+uGEGKOORhtW1h5EZegzb3IGiVG2FMGZHtjrlPRkI+YxGFqUSKCRQoBtUlt5QXvU8F/bQRodslwh3iKzEaRAhFxduhrvQyAFJ5whQR3fHSNXR4GfQTwCJGwjQtJY66dmLDxC1eLd18YyxEE6gDLAwRstEToOOeeniMHnseA3qD65rXkoYRo2XN79HksKT+8nvcv42COpZidZUZ9pcbpkUh3DkL1h99tvjkPdJApHaQWaGVHUc8Q/QYgxOUGGSe9PBSfcu/gGayRLGpHDJJ0Nop948OBFtpHiCjR58MFRhHA6xA0jLeFrEio1OouNIUyHbnANbz99T2FlnOVAuF5pqUAJMV/C/wzFDnEVySCjlbUQXV9lUXPMHvA5FreERRSLiGR3XWA8C7FaJMF/ZQp6o1J8K4V3SKbngDmE6Ll27Jmd22H+UaVFNhhXl/Lv6TP3JBcCYndzvVrdHdohty9ReLaEOfGDNOSePnBrjp1iqiui400UptAK868RBhwcgqltywdCk5SWZIMTkhvhBMzrRG0gZdZklquAFOR0EYoTivyLmAQ1kiSqBK0PbFMMRiOcEQJNq7kUKTwUQfbTK8xgnsl8rlWF2Pi+nOE7gghIPtGDS6Gb9TlQp2CcA1U0WDC6xPewSQRNQ7URlVGFIQuBum7pISI9m9eLZ7/iXPqNHrFcdyBUwh+cciIAJYYxZe1E+s7y54t9l/Xoa6xR6fl+H2YvL6+21wy0ONjev8++h5z0Y/mWc80l7UahRHpL+74nS98v/5mFLJTRjrJqet9p4WA6+ZwnymhKgVfZGMkGGffUQ5qrb2huG/btK+k9Ej0wNpTKhMR8xTFcDVHLSWLYkNrnKwtea+jxfm8F8qr5AGYXJwmUsxS5gGIAMnU+BBglcx08s6T9FXIhu4f1GeQLPrwYSw0xx0+xai0ScjtAGACOAvNHwPZVRFHn273BDCfHC7fjvFuPyBgcpwbaiGvPke78I9jJB/i3PqRnMTLYVehirymYiPJMACmJeWdQMYl7zBrxyM5jj8MmLYUrp5pXRSYAaGohMlZSewsAwmrtY5oF+uYEkmpMZsJuUhknRSjhKICtgs5FVOOntvDHSY7jxVi1kKxKLMLKEEDHnFp4cBU8coiorULBA0VX2wMXArnQYFQgqNDEibFYLuYis6F4mOXzIVPXranlBASTBK7StgeuXbimOayB8yeBy4BsR+tjwLfEkSXV/Ajf64fgoZj0LJfYQm8fACC+FT2/T8jm2izkJzdicDjSc6K9PDvXmlv//k9f1Mr6RRy6bWN3GyOK7ng3SNG6SDF4I8E5g8ME7IiI+Se6eIBvOBJIHM5crcwZEghOOQls7YTwi5FqVUu1Jak10I5pLBjv4nYpzZQlAqE3cdMDYDZb0UDyoJ6wCSSfhqyVDDDRGampI0Q2XcOr/k+KWsClgkATONTbDyJMcewpEhbk0htSx1lU7p2MpI/KWi+rUfyJ2GYO3etuPrcc0RXicAukU50cUgnOg6Y0442hbabYJRgmNQ4CR0mRSfh5pHCCKe8NMNhp2kboxHnpg1uDooj2hjHIBNEYDDicHExRzhYh3cg20i2tXpEQek+jYxkClLxwQfkEnpmz94ftLLmiyw7H6XImd0gm0dCbYgPxWs7/CgaVp8LpjqjKFORhMBcmMPEjP0mmOyVPBW/8ly2vZ1LzWntAEtHBBcPZ1z6tY6e4dDTB2kM1+4+FffRa/iy9GxtHF86e5b7zhUbXQLvUfa5rs1Eadqyz3xZq7GR971Ek4xotyb/2Vea+3fmcVcZVWdKzBXcq0n6mKAWhTOVFasiCSjLsQ3h6I+gXNrPQtrHbTzhyMNlwga1uclHh1sYHtow2kOv2uogKh0DsqYc6jD4Sq59gHAA5WnJ+WSz3k3EEqOATwAME+4enaidxgzRbnz0cUnRRsAngR1m0Au+shtpIgCTQzqwg9G9A4gKw48rdRWm9kPl3snR58kg820OmKs4N3z5vn5t7b9/lejoSE48ku/cvSmuPkd0mFB05Qo9HNKJ8D7KAxLf295T2/jmrGmziKNNO8JPBMZuy3FrrMH0RgTrBCnPO0w8ryMDySWbdlLjNVSCGlnAOPXE3jt+GCIMXWYkWRFZb2iUhOeRnN9T9NqggDt5KZWWUhq+0zuhs1lyF1Eqw0wIij9KWSAaBSHHUYmJJzFKlCxbMjF8p9ipmFqopWPn04YK2a88V1y9clqNm44EwJF/D0VmAE8I09knPsTD9bvIlW5ynTEeXsQPdZW9InIdJI+L1NdHeO6RWILvOvtcSo2YaQr2myNwGOVpo5xzUBg0NwtB40ykbz7wze+90txbgMgrgdUDvFmNiGlhSMxlSJUgqoeqSUiHYMPaL0JgayRGcLRLQlKENbCE7RzuSrSFRAoyuk4HyYAptHRYNHMUXGCLpIezB2HBWnoeyeGf8l0DE/ugw0wJGe7LkbwHzOJ1ATOPJi26jjZQloaLeZGipYwOquoEMJ8MK/mtTgBz7Yv35gCTBsAcMjCvED0c0okeBcxiczPKTZk54TB6LypFZgspC8wwgyURUq3AMINrVMomUoqGGaWKuewBE1cHEtEF2wNmEEFiTZepJNCMoOyC/AYC1Tj/Ehce2CFhJ09w/RjmmiJ6hA/rPQqXOy1OOSEmPqVTgmiC9SWM5fgMFaVGpdjYoFo4CKPHydjL0LjsF57Nr73/KXPGB5JglBUY5dBfzkA5gCWS2jlH8zCabW0MH4BxBXrL/eXaHvPY9Rs3luURaH2UX99/rkuUDhlof/3vK8vgaVK4mPNej0f1jaxnmgBNhBBnWsQv32offP6W/yZliF2SJiiVkaA8qYRmNCcTzXWMBybSvonxThnSDs/3iIkDecbpLCLR3SFCpT/mkMSXpLMuVKiqENo43K3Zy84X9OT7qkwVhfaclamRVdWhMARxb5jOPexantuBOMvTJaM3vKOKEP8WVIUNQLTSRDxY4c+6cmKUG3ycCD+50jbVFU3th+iEYT4haJ4A5o8YMIsoN1WG3CBUS0AQaXCKlZi8kUAbUg+KYJpJTqQFYLJ3XMOhA8G5gLBdyIFhhscDJkXQUicBlJq0koy0BBiVrYrjudDnFyo921C6LJXUIsXaRJpmPlU6poWIMJwoCBQlonkgKexCMsF7/eFz+sonrtgrVgp9yCjRMAlmieK0tU4evoSv6SuP7iGHKLcB/ZYj+fLYc7i7HB7LjxyB+H2uXdUHb06/WVjtRpc70eOslOMwhy4iLcE2Bae1j6zgwxDGdKQdATy7mPznXu5e+cZu+I6x7BVIwWpcdnJv5MgLGifkkUhaZCG9lnfhVhbkPSllBdYOgJcqOewymUVyylHo8iAXJsEtJNFFEZHODsAEmTR4ulNR5J5dP6ghwrN8iws7nD6UpE8hg/n8TQAmRvHFnGijxMMhxU7ZiMqS+dwenADmE6LlCcM8yrCvHRvJ11si6TPLkfzxDHORP+AHn7N0lpYjOdXFplVyE5mXTXAiXwYED4lELtYSIZIAT4fg3+XOEkef4HUUGspKZpxBBrN6WsMogmu4bCXZJgkcl5TsBSnJaqM6QcVU0lNznd7VUToP5ZBNYl8l6myiClU7MnDhrIGwkLPGSQjnkwFF8p3X7xiLc790NX/+VCkKBsfl6O1WPeK4fsPSsuz/6ZOFeq/MkukxeA3Adqi1HABwXW85xAAdXs2Xek22yxy+334wWr2/tf3l4WX9MfvRQ0cQwpB7Rb/hIjdU9gI0UXUhaJMZZ//0g0WqP3tzceNBkx5Yi4Bg4YRG4yR4PCmvWOwwCipteUhqI7066cKreSf2SIoaKkxhYcEM0XvXjcjMVQgo1A3YQgvU71oL3aXnKzmP8FydlCw84SEFhAoDMDs8D2/HbBLyBZdIFx4J7PCaN6pKlq/hphesDwJ2vpJjhwk/u7XUzekEMJ8cL09G8vWv3VsBzEnxith7oAU9TRRuPi3XAXO2TbzD3KtpkxR+O4kkdR7DHWRFXhSkaY7Jmxkm3DwgkauiM1K5FPjR0CiIwWYStwJOHxLw4AkXDNTjtYy2FmKiI0oknaqMOjvX6icaTZfRm5gFd3cSwmuToPZQ1jCX9JTQysLzDcOLgqwIUT0ocvCd7ZpgxjqVf+c95fvedVpt4tJ6BCwHeyNLhdD/M4RorOyOa06d4Yu7HL9Xu8zHjN+H8qG+zvc4a+xJ6bDbXGewx3afPaNdJbX3Tx89CvUfvb+k85iuenfQ2CKImGhryTZxGMpF+sv7Yf/3X178RSfMVGrhCZF2QjgT454NtB9FMgsjtmqrnnWUtmVMiyLJvyzr8L1cqVnn0DQZfE5yrmIXhM4d9Fg4vCljvUeI8ACYyWLU4FxODhb2wfcME15zAsPsAdP7mrJs4pYFaUm4iJ6fnMqAkZyT1+foisJ5PUWb274cbeYPDi7v7tGt/quwd9anyV9cSSfWyDeHoicj+drX6UcBmCrRVtJONsKJ3JeiSxWryMEqGwZMfG9jT3kUMHOVyy4FBe2lg75SdIZ1mEhs1LqPN0LiOgk9z9XmvlRX9nX6gJfyTOHCwwmJb2249AAeFAWpEGyLUhZzik+REtkyYxzNO3BIex908NH8wjv1ez/0lL0IE9Aje8oBLBkoB10l7sjrsp5+RF6/Xq+xw+Hx+cjYPBxsjhx/hpF93c1zFHRXO9H1bMz1Ef5wv8lXmgE0j6W1DwtOxEIxaOIo1Gs3e4a5URBtFz3rNIril77nXvvine5rFoXggrwl2i2k2OG83yRxrsaSczSX6unG6stBJFsk+fKoCTeyzt8vvVwk0cV1wKQ1wESNpbKKY+EMaGcij4xMjO5t8ilXqrdGQiDPGk6Nf9uEkrx+h7m6krOUiOt+esBMue1j4Gb+wJ0A5ptDx8e81glg/hABs5rtitN0mtIzZ2Q23xet2tog77YxkmMvaaik4KZK4hDDfTfQMKPf3JGFxCg0iAEWDKFKs5SQa3UxK0cwShLkgwS4KlKog7F9pzG7AAAgAElEQVR7hXzmXqF+zid5rgj03W0SNyZ1N7dKQq6CdR10MJAkCpdisVB0CUcM2J0xwJEj433SHzwvL//8O827Cy0MGCX0lLh845jDTh3IhFDDO3TwMKM8Euh7LHbtmO97FajRs71DoDsuI+Ju3H4vuT6+H3f0rLPGQ8cPD8vrF3l8EsPHGoI71o9Nyx0quCseURDGYQ2f06jEbhPjeS5oC8BZAjgF1S65P/xO+61vHoTv5IJ2RkrvIBvfKenwDtD+g/5yr7Sc2XSxsvJ6F9PEhnjjfJW+NOraaX/0QbNkIMosP81echyA0OfOdiMOI/bdAJhw9miVPMvlGTBdIlV4Hs3JEEZyw5rL/ugzkini33CEbzTsMHMb4VaYzejAXb51wjCfEDLfDoB55O/YJ9v0vz7zmbeww3yRJF0n2nmVxNWrRJNbJPYeEI/kZ2YkZ3a1w3zZ9yM5ZEVT4bYxkkPHBylRrGoGTHgTa8h9cljCcVX2UrVNH6ChNWWC88EUmifAKmEMB0tUuKiLIHesPne7UD9bi/jcKIjvbrvw9dKFOd5l8sJoowmTHiWv4V4WQkIjlFdaXvIJ6mckRnj9VC7O/p33ZO8/P1Elg+O6RGg5fmNPCbDkbvJVKvpxdnfI6gawPMI81zWYy7F5Ge+2Bq6v+z57Pc8QxrE20q+P8o8Zv9f95ocsdQ3oe1DGt0j/fcEuIaQeDdf0UdZLkDbhFiqIhe8A0Fv7cfEH3+m+MJ11386sbkmJRisNO06SUSIhtJMItRdCzVW6MM3pfUmobNy4L52aib8YU6qhw5S58iF6VkapATAxwJtIzDAjDJZ85OEQDg9ZLB5g2wiJV+6b2ANmqysO70DjJHSYW5LivCNURzHDpIFhUm336WO0e6LDfDLEPAHMN8sw/5OA2YPvWSJaAibvMC0xw2yDE5koRXvQM0zsMGtEVw6ASejdOWg0woaR20Vd0DFprgDHjd1IbSJcP0Kb71v5np1cfMomuX+mDl8apzTDVBlcVGw6T0axNxxuodBbwHkcS7GsKD7tUixt9MXfv1p+8Plz+jTyNw/3lMNxZ9kXzkA5XL65TuIw9GL59KoqYj1N6EjI77AzfOTqfWy3uHr7VajGciznKX15+DnuDFpWW6wD5gDK66P8+tsfAfcj6Ug9aGKpAH9AphMVBrKjXnqE/SZslrBbTjKRvn7X3/rCt+rfc0ruKm2cQeA8dhzGtojWhEmVPGLWfZrl9pkDmz5iSd0+c+D/cNy6h8ZYj0c2zsBkFZfyhmt9fVJK+ar2DJhS6gRlu1UATKK2q9NGPvFNWzFgxsKlzrtY5mWEJdIgc4n/0XuGmXJsJiyFmvbLE8B8MrR8m1zJ/4oYJon5lARSih6UJLM5iWCbzcqrU2CYXD0BhlnXCg4frJaiIUVFQWiFVFaLOJ0blff7TAtvuMgEpVZiRI+OTGdT+WpmP3xgxMfOEv2HS3X6Cs5FdfJbSSISF02RKD4zSmrQHJ40QVFxP1W1c+OpEE9/+Aw9/yvPl88jc/dxQLkcvTkZfQj6habyKMgcHX1Xh5ZjrhsGseNC9JXD5/DavQTVw53mSp50xCG0HNcfYaX93nQpYj++E33UZjnIlNZWAsu357m+F3Ay27SDWwgSJLiFwDK5oRK/Ed2syP/eN+rPf2c3/YnNyGlSTiC5t6+eBM+MKYY2U3pRpbB5f5J9EtKk0wv3/56q1HcVxOpgmPgySeUBkBxoFJTrvxyQaepotAs6FpDHs/HWigk8ViRjkea6SlzPS2VghpmlOF/gkNUDJjI0ocN08/rAfKTYOWGYT4aZJwzzTTDMn3uB6HMvkrx2nejuqyRgi3x0JB8A8zTRg5xkNiOxqJrNVqhTvFkyRBGOntrDeCKQpE6ZZrFQjF4YaC4br5RteUdpCR65INFJgTF9QWlyZ6Q/OlX0U6e69PuXo7wp4XaW2jYxbqIiBhpPnB1wwoBypk9UJxVdNF0Ium67jWfP2o/8Nx8ofqp2JCA6Xx/BEe4LkASjZPH5ceH5od5xBWY9rKynpx9PIFqLYFvXSw4yo/U8S7yjPgFjFcTxKPAdzcRc7kaPOoOOBguvs9RD7/r6jnSNmR6vvwDbxK+lxRKHofEwpnMS0qj/vVVQ+u0/rT57e9beMDJvxEjXwDzIWqG51H34xtwKZGJY9b1N+pRTdO7cLP6r7aZ7VXHwfUBiOpySBG+5St77wDIm6pJPmdR8QQdgYoepVe5lxAqgSFMzxcI6psEauSVNhNNn5CxHPHcbFG1naR7r/c2zxc7y237nJA/zLSHnCWC+DmDeOPuSuP2tCX990EzxtS9uSlgi0RIJ//jlK0NT5NASObMAzIcCwcEP8jMym+2LRdza9IvqNCvh4A/nRpmlNdILUkZGqwUyL6XRwi0ajTR17DBRlYsfN+wtF5LMPSPe/yAXnzrXhZcuL+LXhOWucbR72SrFTTBMBYYJx12UWrLEkq2SyvtonXd2Xrfb//jjm7++matymSS07AcHq8T4zXbGYQRfMspHxOdLJ86x/eEbjeH9++olP0ftkI9JJjoS67bKxly9/Tr7XMqIuMrxyKHoiCtozUK56gU6CvxHMjbXbJbL3DgchXrgFFQOIcW4op+bCLowEbRo08GLX57+VpbphbXZQmjymq2SAeLWxjj41IPDlbwK0X5/S/4yEqfOV/H3Ntr0gNOO+A7eX8IzRb5p+9Ga84yt8xbvib8+AMyJR6QbnD61qcCGDwGzlBTxYIh2vKWsiN+uoX1zllYMk2t2TxLX3yxqngDmDxUwaQDMgWFG2myn1RmAZMwNTNuQCHFMpfQ9YEqM4mg9c57zLAW1fBnPZS47z3Xf4m4pL9wtzC/mwT949yz+a/iMk3IWxbDgqVVMm1IjaYOTIYRmDbxHVyx+xpWPwlaLttiv6zOf/qVzv75ohERO5Ry1EYOlkfWUSGHko87quHKoa3yjyLV17eMxH3gPZ5g1h7PKkmW+ngd8GKsPmeuwClivq+iv4r2H/IiXfPi3XNVcrMXArQHg4aV8+fZrY/4jYL4WVIyXcao7RO8sQ+oPQAgpvrQh6cJEht986d4/H5XlQTHWUyk16D7KyZGv2eZNmguVOiFyhz7ifS027ozlrxWU/vz8nvtjI+TCtCEIpVhKBEmE7wjBpixcN7oJWuT9SO5rEnbbkcNIrlObI7XIJWH6kTyPXWqiTSVXgnRJbY+CqjpRS7u3uaAVwzwBzDeLlcND/Vt69b+Wr/xEO8wnY5iPA0zHgIkdJtshHbIg+jxMSIdgj8TTPjZSeK2CwkjuxWgATCe1ea2U792z4hPPzt1vn+nkHuTm3jRGkxGViFkdxabm+xCqZHrAxNM4/ECM0gWXHUwXk/25O/dPf/nC35sCMNcqb9mlw21fA1ge2g5XHeBHEtDXRtgVc1zr28HbD+LzJTs9jHXjkpzVWL1ksUfZ7FvJw3x05F+y2CNHosNRfylqX7qBlm+/Sndf6ih6oX3/l+E/B8lTH1LcX9PLjOh0KeipTQHQDL/1+e//nxvj8c5oku2r3LZYJQMcVaTOdmIGhhlF7hI8lInSdyfqk21Gz5yp/GdP1XRbueCjUmypRLCm6hQfhMA7U+Y9wNEmSrWrKc+2PY4/UmneX7bJpcKWfCWHxAh/ZvC545Of9CN5LekEMH8AGHsbMMxVrS6zlpWq6A1lRW8FMLM/eqDmmRD1TAoEB+8WUmYLIXykrUUoeYeppBf4xo6LBgnn/HXH3rK1BY/kqLkKoIkysAQJT8UmqFkmJt8r5X8Rozj33oPut7lUQSnkOmA2Ey6pvKa4QQLFZwbuY2WkVgmbz+BVIKuqui2rqh7vzOsL/90nLnyqtKY8WBBBdgLHDnvxDgMv1kTn60LvY+6bdQ3mUbtj/93YM8pj7/ewh2ft6HOEnfZvu9RpPjbV6JiHnEFxrQdolbW5YpdHtJeHwLf8HFZj/CGor13kV+P7Uh/aAyfeDeQHuKJjLH96S5AVYfq5P733/2xsjR5kG+VumSF9TyNZPaoYOuP1VMfOC2GcUMQlaDuFPnd/LP+r7Sr9m1N1/KbqkgO7BEgabiNOiJjj6vSgfbCDlxx1u1rmXibsMHVyVHPa0TIPs9gofaydCNHwza0o+77yTIY9s1jbYZ6ndPMm0XgoQdt+pATtJXH22oP+p+ZFlKD96uFP0Ekv+Q+AvD++b/qfFzBnnTmNXeSSYfqGNADTBi867CuVkSpgPIc/XEgkreNYoyJJ50nNVNp6baQ+gQnwvQf+d5fxbqSFphhkk1TeiLQhJMI3BL+t5LQiTl+XiQHTlfNqvrE3686dH4v3/9c/dfHytBYCIb984FmmAa27YtYeXI727hwTnh8RqB+rkDgc7Y/ZFTlg8jEM7zBIYwW6Swa7Pirz8x6j4Ty0QT6izVxvmVyzbi4v/8P83zPKYzF0x5oqV1rOPtm9NIK2SqJLExm/fvP+ny8a963x1uhBMcr3ylw3AapMzoIOnfViKmOABZ1HdZ+ggYj5a2eyXy+r+KUzVfiadalVRkXBRWzwm6OjjeOM+HQOwETlrvM1WdIBqUXYYbYcJAxBQq/DHBsTIC+CGiNlKeaQHUFuRO1e6U49fGX4gZ28JcB8ka5fv74GmJ9eox/YvKCu+P/fv04Y5tq/77o18ofBMBeRtlIqT/NIrpGCDaeMYMDEGI5x3IN9YiRPXuY2l/gT+ZecVNSSmpm08dpY/UxK8sz7pt3/xRU96ADPnMZ2q0kib5TYUApBwTiu8iJTcwRwQPmOVnXr8sWimexNu3P71eJd79w0l/7L9108FaKSnUcfLKwluDOtGPg6SPLV+nGBv489+gwMcUCWo+L1RxnnYw9A66PwIy2SRystXu/tV6x39TEf1WQOF/kjDBvfEAObPP71GPaZwAXWa4lEY4QR2xhe+/697x/M22+PJ8X9ycZ4pxibA2vzBo8NCBsWAMyQZgqFEgNg4t0dZOns3VL93UkT//X5lv5SLjw8kBFCdTiANKGnHKFww0je5YjJZwAFYPLRByN58qmNKRWjPkCYARPVFR3eDtUVHdfxJgp7pStOAPMJcf0EMH+kgJlteRfPIJMS37sZWKUzigET0iLU46geMLXykmQuJR99vDAiF13Xauww747l9amkn71ShRdPdXEfDbykAZhK1kplTorNGD2nDgEwKcqeYfKaTKvOh6xd1MVe7U5PF/W75lW7FWs//sTzZ7eff8fpzEchHDgQmikGYGRwOWJ9XArU+1GbGd5yT3kEWNbY5LHR9lFh+zr4rY/ya6J47oRYSx86/j6PtEeu6z17oOzZ6IrNLhnraqd6vBeof90j3vWhEx38iSPiRN9/nhmRFnv71e0791/TRj8oC7szGY8fjib5vs1ornXeoaKij0wRTR7CTDjTSZG8UNxImb63RT/bSHr2bOV/d6OjW1kbEOvM4RuwSmZWeWQLcxGa0a7rGoG7u1AmUXARuZn43sKfuJxzyQg8sXnpUYMSMZJnkPwuCOO5ofnAMHuOOTl/Jd28eZPGF55jdvjGI/kJwzwBzNcFTBK3v9X/xPWyIhpkRSQORrfEO54mmu4oQReJzr6s5eN2mIuYbdUDYMJqx9rLYDTAkj+sItn2Cb3CGhLRDxmYICRoYkHTgAhix6iLDwr1KybGez8xC78HwAwDYHYATIpbQgmNI8/SpKKRGYxucqll6JJtXZ1Nq7S9cO3lxcJtVYu2bKu23Mx0+cnrF8dPnZnoXn8JP95w1X5sBuVRMHld981jU9aPpQixn6bfNfaW1RWzW8+zXAfanjku946rfet6CvshUA7X72EH+MbdQceCOdYlSVz3DkErgHII6eiqyt2+dW+/c+FhbvSBLbOdstB7xaQ4KMp8TjI1xlgHqoiSNSNEY2I60B4bkBBw9KmN3rg9sf8wc+GrZ+fx3yOXtIiKE9edRMSbR3svH31QYYHoN+k0cp17YAxQeMIJpPuK3lQnbfuRfJN1mI6QvB60SbVaJOsMLVTYffoRhgnA7HrA3KvTpTsf5qevXaP04n9cXV7/1V4N9umlf3T4mYFi4Oivk5H8CYnrj9ObPekO8wcHTB+zrYVTZyAjcpooa0k0mLYhG0JakeqLxrinx3hhfa689DLKIPKIHoM+7q0TQj/I5Qd2Cvpbp2v6t1dq8ZUlYNaKoFbaShjJ+7UaOA2HePCVHAZJT9p5ZyrnN+Y+PlPX7WZd+6xZtGVXu7Jrnb18tiw/8RNPlWWRyQ4mZr4M9wehw/zJY3vDdV3lKgxjCYBLxrh8+6OJQceDO46EaQyXuTfMwzx2LBoI8RDasabNXHYI8cGpB9rltXsZ8MGAOnzL9uC92nkCkjF+s78cPWXBhbt37lWzWbMwAEolHxZFdmByvZcXdpaP7aKQtok6dthdclq81EGp1BQxHZCTDuKyLinz2in99/DQeWaaPjsK6S4COBBvD8DElVx4CkqkQ/OSUtqDbgIwhdLJsxcWmxiwfRML6WIzMMwCV3J0+gBcGTC7BEn8Qs13n+Yd5jrD/CyNL1w+Acw3AVsnDPNHyDAPWtpug2XAxA5TNhCYCI3iHhtINMpLkbTEPlOaVsgwAufkfWf0pAT2mDy6B+GT2XhtRB9dKPHTpx39/qW2/Qa2aLXk5KEtVJ1zDCIqfdgG3bPNwC0zAtJBufBuXFF6pmv9uGm8bWuXdVVXtJ3LutZnrnXFB951pvzgs+cywAQzThyChsCNR5nasWPOseKypbxnlUy0Cv498r4eY3d8o+v3CmzXx/ghVm4NII9f7x9hqmt+8+W1YjmqLyM5cAmHNRL6870Hu82DB7tzZXVrbVZro3YKpe9lmZ3pUs2yXNfawqoVIXhoI84wvYgKNRNN7uOUfHKdFPb+Zva3nU4XTs/j72xM6WWtIO5Sw84ypE6plHucAxHMgXOgwiM/j/FLwHTB9Vdxgpi+CDJVKVnDtbtyOAYhYDgokzgfs+tIiXb3nDj14AQw3wQ6PuZVTgDzTQAmfZgo+yJJeo5odo/E9pscyQ/afDsGuWKYDYmGARNngH5/CbH64wDTQpMpPTt9khAiejK1ieO7mfrw3KqPT3z40/OL8EWjVewonhaEzhkJPomfdZOwy2RxigSDVUIgiZHKStHT3ruy86TbrhsHgGfnN5vGFb51tm28NDGIn373BfOuS9uqg9ieHUCYAI8GbSytjCuwedw+cKVvxJd6qW08BNPH5WEur9eHR6U1B8/x/eIwyh8P1mAtzbCEPZ6HeUQEP3ysQzDl/h/BkiFk49l+Txlu392psYe0Vi90pmqb2UWm9IPCqHsqN1WudSU0oWfOowpJiIgvGyef41MRUtRFl6bTLJ3dKe0vJJH0VhM/u7Gg76BZXEifbFAxqBCk8knELCFYGP5ydFgESakgHZqBYWZWx0VXp3xgmNhhWjKBR3Xcejz2lgS8RN9IQvYVjj6dmO1eXgfM2ZV0d/dG2r54jd/u0h1KL9FL/FNx9toLiV7E3rKXEn3604NR62QkfzK0/evxVj/4SP6DAGY7ACb6xRHLkFwwh82Q5FUnYY0Ew/QiBQ0IlcQpYXi6lxjBW258MEJCRqTznZF+956hvyGTaLe79IXC0Z7GUI97BEuSoiY57DMRwMFSeQIb3W6kutpQPB+JRr4LGbkQQxs633TeVa1wtdNN4yzG9M3SZB97/lJ5erNUXRBDC2SPAP2o/gYyorWxdh2gjgrZjwdzLPeYx/aUy/3mof98abNcBW4c6iUPcy+P1WQM2slH7Zv9UajXVvYJRQyUiqhr6nDntft1F4JXhUVqOZnCRJXZ1hiaGqm+V0Z6tbR65n1q4K8iLQNqdgXyMdHtIzgw35FSYpqL52uVPqKTeuXswv/+uPL3nVFeBOJDDwCzIx9YtA43VwjRaPz/HqgyjOTOs01SSJ3AMJdHH4DiOmCGFtdzk2LjBF4mtkxgXabwO/0OcxjJTwDzLcHYCcP8ETPMuotnkbDOaUUtCZSsMsOUWoToJYJmuQQttbi7KimCiALjeYbGGIleH4BmnoJB1AZ6fULScidLF3Zy87ONoPdkKX5vq01/nru0h+u4DIhFxKk1Kk9qXGl50Sm66IjOwpwiU2oo0VTHVKM6N/okOh+1b9rMdSFztbNN02ZNi1E92Ctnx/mHnjufG2slMjE5F3Ot7KxnZ68TDHwY6LteFbE2Ph+Lalu/Xh8RpB8J5ljtRx8Zu48A9dEgkNfLw2QaDw8p4tywp4w+3rtzv5nO6koZ1dpctzYzrc7x2waVWyNyVeAKJKVeqEi7VopXc+fvEMkOgIl8YE7XE9HMrbpc5eqDIpHNXPj89kH4ainFFJ0+QamAEx/KlCymhZaCQDW5zNBqEbXCY5NKxmKnqbEk4R0miDkioFHDy1dyoyP6f5YMM3k0VjoidIEqSuYUxW5BZEW9c/oEMN8SSK6/8glg/rABk4h2R1JmlRAHlG97Kc/iyOMNZEVCNC3KbgGYXoRIA2BCZMc+cMVMVGtmmEl5hcDgzgdpNWnhMZgFCfrjW2FaK8o9o67M8vTJJOicCeLWxIUbBnXhgs5VWrwzCjqliJospnvax4Oo5EbCRhWdPhFTe9LCo5AQay9nOtdZVwfTdd62jcvapsva1tvgvXnv5dPF88+ctSCty4s6pEiHI++RyLU1UOMn15LUl683gGy/z3xUo3lc3nPc6ji4FpnmHtGNPvL+VquEdTcPnst6ymH81jKl/Ye73f17ewuTqc5Y3WrsK4usMVY5k2XIfPYqM05K5SjEqVaq9YrOdlacxu5Yx3Sr9OlV4UVVa3q6ycX7vZQj7elrp9v0RdP4+3knG45W8ch6phgtwQ2UcOAJHs4gAGY/yhM6fcAorUrGU+D2yIgsdiJEQ8uu32HqMkXdmBjyno2mGk32RFT1I3kaY/AnEhk9vLCgnR14yPHrJlGbHd68eCT/+rXV6H39xurpk5H8bdFL/sMayW8OO0wtrhxLK5r+0QNVDdbI06eI9gsp84UQizmdIrJnFeyMw97SeaGAmBoYqUk1aIsEnGRBykYpWQQRQ4AwUkutBFgl11socJ+OE9ghK0reGfxZJZFHm87MBV0+sPKno5SXpRQLPBJmPn1jy4tvFi7MU0rCSyobq57GgkwAMNkOKTSOQ+gaFzKK2AYTXNCdd7qrXNYCONvOdnWXdY1HUI/90Lsv5k+d29ItmClkSEOvzzL38sjF+rG6yXVr5MpCycD5pvIwj3YGrYPg6+dhrj4mwzeHaPR6SqNFqg6m/vbt+xUl6kxhWm1MazLdmtw2JjOdsspJqzspQfBV0EJ4HdND48RDkYLzUNAadaHKxAeDpPMchClIGxe+OnLxK5mju0UQ+6jjTFhYIl2drQLQYyYewy1oKakgok+BH1RLn3D0iXlCqHDs5iwfAoDy10pCpOQ43gjXcuw+8XK8TGIkZ/csflWUxpo7fnx1sHO5vLQ6+pyM5G+JbZ4wzDfNMN8kYBLR/kjKvBJi4egU6fIsVogrwCTFDLP1QmS5bBJ0mB4NEjj+KMS7pRAgbF/tMKMQWuPOGViCBIaZ2miSJtGQKP4/9t6tSbLzuhLb+7ucczKzqvqGvqGBboC4EOrmRRwNJY00JqkJS2ONNTF+EMdhRzj84if9gnHEOEj+A/vN4TdH2BETpuXQzZKtEDWQOeKMxaFCIxGgQEBgA2hUX6q7uuuSmefyXTxr7+9UZXUDbQAkJ4JCJRnoqsqsrMyTmeusvffaa+1V5sX9in56YDpvE923hqH4vJyI6ybmm5OQbjRDvolfbr29FJkaKAvlkowjDIoivicThx6R5AhFs2CVQxv80Afftj2As+4wXe+CPznz9edefLLeWJtaeGhCioShEAALD/FQbH7UHGN1A0elPKt9yBUheynzj/phCiN+RE85DpLEJKMQolEepOxVwVKDKHSoA6BEnzL2Xby5eXu5bIfOe9cDIKuJ63xV9a7ynavNYJ0LxqGxzMDFlOCdlzj4nLdcoO3Iabqs/KXWmxejpZM2xjs25ZuD4yfgQVyn/FrT0l9u9OkmNn1SDjFLh1O0uAKY0qMkG0OkZDz+BnqYNpnKhYjmtDz+AJmSpE3i9tg1wNfij2lytjAKLkMfB4aJn8sBGSiveQHMHMLdp9zk7jHD/FA4eXDjY8D8kQLmAz4jgPmEaRa7PB/OnyaXzqqsSP0wsR8ugCkg6Qy0mDDf4IzYHrIGonWL2Q8GrNFaqyW5ryrLOZqIsryC+oj9gwk9ca82f6+j/FJNaXNtiK9NIm+jtdYzr7WGL3SGn49szoHtuARHMWoN09IOsEdiGNxKfIXQTaRXwxAHIZVoIwzBw3MzDNGiLO+6rhra6JdgnF2ohq73V86dqF969lxtnOfRoR09zoeNeFfL7lUQE2B9j93vURc5luGP7JKvTtAFoFcjM44GqInvOfoisJiH8NyymInevn23e3B/t7VV1Ve162v0KCcY6Nje1dVgLcDSIFYXLxZWCQBsUFn5ZLjJxvjItBEonyRjO5/ojWqgN6sh3mVOi0BU9Y19aok0KGYzGfK3TmBfPOY5GCbALjvcX44ulWl6tBEG+wBBJhujddGqxToeRpABUPkegAmGCY7pfJNQyudKGaZb4lXA+wws8xgwPxo8Pvpbx4D5HwAwsXqsDNOzyIhMYJTh6Fn2Xg2EMcipqLNZmmoWc1VnjZppJCCYi86UmN3epelWVX9m4fPPu8QP1kJ+pQn5AQdi9oZdCBaTccx+UyYfmNd7m5/ojHk6mPhsJq6YMtjJojb2AXK0DaKDEkUjhh2wUcCmUHTw8M45maGNbojBDV30XSsletXj627wIUT/0jOnmysXn/Axg94q28RgSKjTqhRo1XX9fcTnMrVe2QLC76+C6oHV2iiqX1mdlL817oaXXxSZEKuHJUrbB3fvDbduby+ds4NvPNhk5yvf1xPfG29663yWQ8IAACAASURBVKveewNGGbO1KWNkZ6kOZGfRmhOZ0gx8PFPaqyK/ZYd8o+Z8swq8j4ci0XMJqRAGtiu5I3KdT0+3lb1mYr5/YhFfXl/SO4iuwNCHAcQRbWybHDCSrQAmyvMhUkL7BsMemjR4jbR/SQHXJp2gB5hlJpNdthWY5UBmn8TyDUMf6DClh9lL4uSWSXQPphvywhz3MD8Ulh4D5vsC5qHjusqKThztYdIzNKZGxj0y84p4sUvCMLenhABw3lnQ6bYfzoE9ypQ8EvJxoZUUkGTQF4ApBVTEprIwEYasCMJ2C/WcGRkm2p64bm7o1J316h/0bC6dbtO/2oj5+pDyCbbGxYRdcgPTDYdVH830QQGJvTriaGi6MPnZYOhUzBkf+nUybiPn7JgpmJg6S7TkRAvL3MpeplSxiPWKJqbsYj+4rot+6AJYpuv6zvfLUPV9Xzlj/NXnzjZnT5002t9UJyTg2sPT7xEAV8H00CloZW/9vUB1JSpjNRVy3AwadaF4cwPWvISZUW739uLmza02pdxhiFPVVeca17qq6q130dc+mMpDM+nZmyYaMwuWG8qpTmxg5twaMruc0x7H/MD09E4d802ONDgERKqHCVyFEGuGKTlsV0S4zjl11lDeruznu9o/N2nz/3PyQfpL52jh0MMs0bqwfQMoRgo09OD8NqJJ7BDNBFdoWZN0ApJsG5moS0ne52zZJwx4hFEeTMmJ8sxLpg9KcgHMH1y/t34aKwlE9DpR96mdkdAT1iIfN/Q5AhjHq5EfCmx/Qm78UYc+HwUw7xbAfMJM9h/wvZ3JmZDTWTBM8bgkD3og5hsjw4RPxnsBpkU1DvC04CnEwUS/W5lzt2v7y2SoPr9Pf7SR870hpbqr+BRK7hxQYcMUzFiHvIKIj2uyxkaD9md0NFlmupyYaiFwhrAQVGVsC3Fej0TrnFFqwoqRIUcEYHaQIXHKAyP6MEbMalMYEvVtcMMwuK7tPXqbfdf7vhv8yVldf+qFSxU7b7rEBGMP0DSU349Ke1Y1l/qWenR4NOozV3fID6VJh2uNIzNVfopVp8Zh3WlIN2/c7hbLtvN11fvGDb6pkmgqq4pMZS17UxnnfPa2Fmd10eSkjpnnJuQ9zrwvMzYsLAL+wcYD3a1TvoO/ACkSI5VcxJdwAnCAO4IQwVhKuR+GJtM2h5S31+qXFlP7xaZNf7axyH82TXlfnC9huAGzYbIJ0/B+GdBDiMowUWc7+GgeMExvmxgtgE+M18m7SfR42ADT7GKKCzZpmo8B80cHVccM80fKMB8GzJNn+rg8pyW59jBHhok/C4ZJMMjQBr6xFl1+tX6zkay1jERp6Sc+qPKFOxP7y9mSu7gff289miXacktO097bkxCPpIjNIANS5WTlB8UhBSybYCDMgzOTLsUrkU0NKMV03CDqXGEKCndsLvuYszdsfDLUENM06ep7TbLqTMwpIb6XUoQdYwyxD2lYdgBQ6pa96Za925h6//lPX6nnHfFywG568bAs05fVsvkRYftDRhjvaQD8PsMf0bhLr5KpsZlmjc0/+Ju3h8UwpKbxZGcNVbVn2/jkPJzNXYQkltksLdsFU14wcceZhmypQ1fBhISJSmZw9cwYugAyA4Vwt058J6ecfEoBXFx2xx2lbM0grBEHzMZEkfo6pvsVNhQHn/bX7PM7U/MrTU9/ur6b/nxCuU0DZVtTtNBTYksnkugsPdKZIEVoZoOU5kjzRLIkgiVrAeQMwJRtH9klH2S3XNZ8cDjAMMs0LGba8u9ev3vMMD8aiH7sAHN1ueurXyuuQeXYvZ8fppTk//MJg7TIvW3Hz1whomeeoZ0tYnqK6Mk3yMwb4sVeAczLI8MEYIZzttJgMwjXB2qFYY6mwRCwYyqejGUr1m6YqFvinpwDYGoI2uzemv2F1uQXLuzF/+NE4AfskoM3Zmtp0hk+jV4liA34jQNzNGLvxgkDVnzUiczANBkcX46ZG9mgREQNSvZ84J9kjASnCX4WaSBmJRA2gbAZn2AEzuxjij4nqmJOPoZUhZB8D7a5GGzfdtTNO/6ZT5wza+szM++ZQJbwmT9YQXyvKfhq7s5KH3Msu1eB82gpf9RSDu4mMMpAumNq5+mNG1uhanxoZnXnfNVh+m2d6b21HTvTMtPAmVOWtq+Q4fLXWYixPFRjcoL1ELYQAD5oYSS66/q8ZTGozibIEEeUWsI0tcwGxiZk08W2zum+g3IygE9a2j5pPres+POzNv/+6b30NxCqV3U14Fr0QQUwEYImmw2RsjsETDDQOgxlKg7S7/IBYFKgHvIiAUxP2C+XfibupQ9b28vJ1uiwTq8SXfvioQ6T/oTouCR/fzA9BsyVY/PK1UMA3Tr7Mr9YUiM/GGBu8WJvm8/QGdpeBUwO5zgPJtY++96ZbmiNmG+kwHAjqgCYKTLcGuCJGQ280zEFJ+sqZZj3Kn72TsP/6GSbvnW2ja8C3tAAxSy7szRZGj5NGcaHgFvgWrIWOCgKFQyN4DhMPBgApr2SRsA0GZpPuJaJttNiQk+yjU4MxQrGHkqo2EDllBPasdjdwXqeEbKFuJpAsOCBxNB3ffDDoq3ni2XDMTVf+NyV6c4SSnqirmScH8iAVoZBR1jkyubQI9PvR3SdIwiP/pcqF5pWkh+ev/vajR1r8rKZNstqgp5l1RlXDUgAMXKqUA2kADD25eGyAR5pcJ7IGYE4bK0QR5TaGfwd9I8hK+Ktasi3U06JjRMrt8wIgTe5BwnMRVTOCffZTgLfNwS1LVrWNiFl4vYZ+nUimp/ZTX887dM2wBqrj2CEAtyxpEZWUARR5EpF6wKYYKLy2AdCLmXqcgbDBKCXfQKZkqvUaBCJUXTHgPnRuKX+1jFg/ggBE3d1ls7S26fIniKid+/RE/2cztkqiFmw6RxH2xqwSpjCWhcQ+6gAhT06DIS8luS5J1tP2CwyNVtT83dapquXdsK/qGFyCZLjrANidokm+zWfzjF5GTAkY5zYwhnAIVTpgAVEmHNwNO2tvZyJm6JJBP8B44W2hb0YdojAiLHDKbCBR14qdgMU0ek+Brv4XMvX0MYg4DWKdjPatm39Yq9tlvO2fv7SxonzZ0/XD5aZlv3otbkSTzGaEZfX4ZEo3veMmyhU7mCtUnujGk6WaSKxEUz7D+53m1u79ydr02U9bdp6WvXW+UHOBhAuwvkHsgDsT5XVeEQ8SuwZro5ytkh5vN5xVAMS0HYefLZbto93hP5BFIANcGGkJkdMbbBhE7HBAzOO2NXzdN9ZCMIqFa5bS3fqdK2t0t9b7/Lvn9hN16EkYmwZFNAbc8l9ptxait4oYPaW8iwQpnRZ+prouPZ4xdTNyMJ5fUHkEQwkQWhDxte5C3e26ZhhflTQPAbMHzFgAjKXp0RnTHu36Gyb6OxkQgTXH+6DiTjRQ1bkHCiDndiIxTyK6GVWzgwmCmBiSm4ax/tEJ+42/IuJ8uwTD+LvSBntYMhhxVdzmXm6tOmMDHAEvAB2waFvCsCEHl5CW2XcRLOe+XIyZiIdTinKZeEFbT8gt7RAUXAmECvOwnCBRMjwjaCfpVwXSxDwGDnrGqaIHfdkUkim63rfLrtqsd/X7XLZfOGzl08tojW7y6xNwRUX9Ueczw8s4o4ac4ysVK0yj0ZIjGU+HhuMmtdrohM+p3/32jvbzbReNLO6rSeTtp5UAyJvcUrCkxXT+AwwA0QVJ3n8GPp4eV+AMhrsRMmfgAURgovRrYDmvQp0x4Z8R3igNwGUVMmxyalPssaIshweznEZ+2lK24zcO1tF6C/RB+5qWt9eo39at/mbT+zxqy3NB5gFe/wdVOZcC6DjfgbGVK+sRUJllAmadnShhZHKSdjjRaBsK42qwBBIAZOy9wPlju9s07tbo8P6cUn+4aDzGDDfBzDpy0TXXi4M/Ev//l35NTJ0lejeLeIXnkcy5HXe2XKlh/mUmTcrJfm6NZP5Dt+JF59YmnQuDMF4h/UNxx6rkGpXJBDGBMAEiATDZqZORWoO5pyP5oE1J7fX7C8y5ebZB/3vhQKYPmGkir4kT5benM5WsEIg0KAhik81BkgQo0PogtmpBcOkKynTtCzYCKDKY8mQDIpuE5Apjc+MKTvuQ0tnKIzUPU5EiFqqo07VuG61A0opmRCDbbvg2r222d9fNufXq43nr5yb3ke0L1hmWaU83P9emX6vyIhWxeuH65aH7HL02RzjNJwlmvhMZ6aG7tzamt+fdzvTtemimjZtVde99TYilrPo3PHEhMsBEHUBWyKApW+JJydmlmIKD0DFPzqqgugB/hdVyrc50G0rMgd1HALDBKtETKgMfDDWizFbMq1b5vu1zTpIwsyMIrXGrT04U//nzTz+6akd/i4aG+KuDseiocsIIpFTBB6AdXEETJEPIXmyAKbpXUbIPEp08ctsvIIk3luyf152zA3d2V6+sTU6rAMwt7549UBWhB7m2cfskh/Lij4cwP4E3vqorOhxQ5/VHuZHAUw9OGdpSfeVYe5Oz87Jnhd8dERhP9jGNQSGiR9YAczugGGyqQ0MaSAjgnIuO8stpdn2zH2+t/zc5Xvdv4DdMFYiEVgAcGyZp53l04xtP+FECXZuJkcZH0koGuioLJYYM1nY/ImM1UhpTgIaLEAREx6kTAInhEQK4JKiaUnkFuaJvqXsoYswSkQzuIWArFwPwXqOdmijbZfLajHv6/nOYvrz1y6ehIXITkukU3ONBxtNN4TPrYClfr8yJFoRpz+ctyMctxj9nmiIGh7C9964ud2sN8vp2nTp4TRUVwOW5UEYJb1DERinB5wjFC+xWFkUUIApxhqkwCi6D0I2ATsZMzJKFEzId6pEt3DmM3jahVHqmg4Yp0ywUdNninHp5/lBbU03+BhcsiJw31szL+5V/EvTRfr9k/vD33CuUPbjKOIBRaIWjkjZiOTIiRBeBuVYI5pS6DsS+7aqd3mA9ZsVKUNO02IkbA9zfsSEw/g728s/2Bod1o8B88NB2jHD/GEZJkxX26fMfG9Lj+XZs7S8f9/SqQKYTgEzd7qx4yElEikzsfXBQu8Mw8QUUJJjeC32XWwdllPUeGNrjZ/bqf2vnVykPzq9iG8wg2iw5YD6jiddZc5wIGcgVm+DpQqAGdArldG2iRGfTgjXJ8uKn83AFN0mxBj+EDAT6Ja0AUVyJDikuIaiVOa/So0zBubjNF0Tb8DLSoGekwjwoc+slou+nu8uJ1PHk89+8qm1e/uJkYcO0w7VZh5dozwEyhInUcrvg5iMoko/AFNlX+JjOfWZnliz+QfXN3f6mPeataZt1iay0eMczkQCjIU16gsPWX9h23ieGhdUWqw4RjgllJ8rYGpvUYoC09Mdn/Itk5DPqYAp1wtQmiBME70P6P4DdW6RtgGY0YIIWmF1d07bfwq6emo3/d91P9w1aSqeVFKSc0ihnQtgRmwX1I2U4EBLAU48JwxzjM/VAgMm9HtK5s+az9xRNutajotrUSPs905/4lX0XfVyzDA/FGJ+DADzocGWFl9yeVhW9GEYJiRG2zeI6Rmi2Tdv23lzrxzLs0RrsJ0kurPZnZsP9rzzjrIPHPeC8bX2MIka8kiKBGCRJcuRWxhuWOz/RoZw3cEPMxHvubzxYH3ypWDy5Qt79L9MQ1wmyIqy4dbkWU98mi05NCC1tE42AjBBa8EykcKKqTlMIox5Bv+KigaTb6nEswzXUXZjJ1KbewQKC1mSajTxD5PFkAj/QvcJmpwM8tGzx+dZPZkyzJkMXMlijNQvArf7+67d7+y1K2eaejJzMgCCVaNSqSNSo6M9zRWPzdEPczV/p2gxsYIzcVkGPbFdxOu3t9vJ+myoptXgat977zvshQNqUuaBmQOnFOE1khIwCGIseYZiMilMESYiBuc4dCtEa4W+JmSy6GFKwwIMsw75Npa4pasijFUOJr4SbEPvEdnkbGJb7aftmkwHTbmJNt1d58/sN+6XT3T022v78a/Zu5CWc+x3KWAmXZLS+7Hoq6B1LfeM8DPfNBGsEpPxgCgKGWLplBwVjJbhCAbKOaRphmtR6Ke3e/8Hd44wTDosyVGOj6FnckC+dognsHc7WpL/7Q89exhNjwFz5Yh8VMDc/+ZtS+f1jhY7hs8dACad24vhgseqhnM0zFtb+4bHkpzhVOS1Y4ghTYi9pRogFplzLcxQu4mR97x7+v6a+SeU8/6le+E3qwZGEMm0bKe959N5gGmww6eFTQiyConxBkJ+MCTKUAIxT1rOz2bOU9UIotATG7IySpEqFNwFxBOfN58zNZmpIko1zCaw/65GHdJ7lWKTAEIG6W1iThEwBEkJHjyZu7Zz/XKolvvLJvbD5Gc//fSp+y3xXkskZh0PM8YjvpiPSagsgyMcvdoxzSqi09Ocv/fau/ddXS2qtbpvplV0tSd2FbEnn1L20BJJb7HMlEzOQ8YWU8odG+4QQyFgp8ZIELKKmEpeXHZ4rjCpBDePJuVbfsi30Vsx2G7NOMQopCV+Dj76OIwwAs7subWLuF0n01kT415trjxYs/+FT/n/3djP33R9WJCtI3Vz6fHCTBiDIbioyt8OgVxupESXjHJqUqzbHFMjUiI4scPiDYwzSJzuQAPiLNDTRGBaMeEIvb9dPf3q7VP3NZKC6Dv0/Zt7Byzi7NWtfO3LGkmhgHmImF/5yleOAfNhBP1b+P3Rk8KPmmES0f476PsXwGwMn+vPGjhh3tkEYJIAJpgiynJhmPjaFIcigA9UOSgM0Z6HBlM0z9bCMNiIXSVs1Hu3M6mf3p7wP+Yc2yf38283qZ+3ppoGm88gwgWMMjPuV6MtUFaj4DYpW7IW23xrnbXPJk6NOGMwemO4msAOJyGnqaU8yUx1wk4SaCdEorCAp4w87cGkjHpQkmLFU6lgLWShlBLUTHCSl/JdPDiHYPt2qBb7bb3cb5vLZ2cnzjxxutleEs27jG2WYsl2WJ7rp/WhSfjD7kRCB2HvlKnxRGemTPOdB8tb9/YfTGbNUibjddWZqgpssM4oOsoMSaqIbzjjwVu4ogVKNdzeouMK3ijQGWTOg43UJt0vXHJyna5F4qWWJLJkQrrjh3hTXIxyJT1LAUkRcGL6riV+hMLL5Nb05m6Tqd+th6uLmfnP3MD/7uRO/w2b0gMVvdsEL0wZ+iSXs0eSUp0Alhjc1K1LWIUU6ZBpcmfb7FOj/VcOSYyFHwZMbAIl9Dc9sR0yAPP8F+kWfWd8xx4D5ofBvGOG+aEZ5hsyJacXnqftG9eZ6Bnaf+cvLRWKuXgPwLSmlZiJtCD2M+i/AY6Y3CBMsJbyN+YOvUOTfATrg7QIcx3WTqEsI4tU6EHjLtyfmF/LOZ061eXfXxvCO8uKz8TMtfbLkkzJySXogGAsh7xBaUFGlyc9m2ejpQ3OeRLJrCVLa7L2CCmK5GSgyqcWdrVEJhgxoERQEABQRuGo+6HwhHEneqzyRzQUR9SmouSEllsWouNg+6F3cDdSbeay+dlrl0/vB2t22kQtotqLjyZeiocF7Pqz0Y39qIUbKG7liDYaphM+xFe+f2MbAvVm1rTNbNIaCF29iegzJGNFUIr6Gn1JWW80gCZR3QiNBM0HdUyGfaTYwN0CJ49M5KHLDBGLVbzPlPYp89zFfMP18RbuE39L1O0iQwJgipi92ARDA1ntpz528w3zhWj471YD/cnGbvzTKvLOgCg89a4sQ51Aorus6lhD4B4CJQQvty1RbqKpsPQa4DGdYNOpjJOSrXKipSzB04SCtD2qNQXMtvMiK2pbf2sVMJ98kfIrW4ej0CPl+DHDfARLjwHzCGB+/fB4fPnLD8mKXi2yoopfQHwkpEW3S3/0CW3x4bJfEXevbVswzNjOzu3FfME3YnoImQ5WIoWNQvIDwBEROkpnMQaaoa0o8/OlWTgXenQ7BTCddw5AC3VkcGltu/Z/v/X5F3yit2dd/PNJzDuRjQ0p2dom0WBCRimiwcw+e7O+dPTMQOaT2fI6VIAmmyVx3rcpzZH5ZcjK7XXik8Qqd5yaizZTd88VlEXELptFmvWdRcQk6k4dGCEYPaE6NSFG23eD6+ZdvdhfTs6sVetPP3V27d48i8yoly7iQ0bDK73NR4PLxsAyklL8iSnT7Ztb+/vtsIMhT9XUrZu4wTkvVFeYm0gBhPnhwaUo242AfxlX6cQqQR1URS7rjBhMSw0KqzsAJ+dZJJplwxPpYkS6U0X6vuvjJuW8Az+qDG9h6B56ExmjtmziAIo+cc91nn+eKXeT1v7ubKd7rUpVLx6WLoo3JoY/ziINBDuRlKFvhx5dhjy2zrFvs/VNGvfJqW6ilOrkqEtDroxu9cCReBICrJVyXQyFY5pkMExr/a3Z575z+yjDfPFoSf7qYUn+1YeSIo9OBI57mB+Gnf6k3PZDlOQfBDDf4hcw8Xn+edq+rQyTnrhpiC4+Apj9vjs/T3zBTbxMxWVKjnI5YfOHWYyFi1cmD9FUZsYDyBxaVi5Y6pcopQWDTO1swvwU5sIo2ZmreWWv3J/YX8lknvYx/nUzxFfrnO/DQBjSoo7zmZbMlYHpaZTclBkWY9Eyz2EGgSajqihFKCMeITDgUKEllOoYSqENpwMhMWkXCTzODwGQL6WzaDLRdpWtIMVbAahSWoehtzFG2827arns6/29xeRzL1441XPl7y+LzEj1O0J1Hg1Ce9gPU+Mlagx6GkMT6oY3rt/Zbtbq5WRWt7aZdNb7wThdU5K9GblnQUZ0WMWiXGt6TL+cjuTxzBGOK90BHBQIrcQeFDpM3D6mHCDPAvv3rE3LOlOeJqYHfoiv+yFsUswLS25AU7Hz9nLn8s9mS6dNl761sZf+eBrTfeybi3LIWihlxQ+TUxRwF4DEI2pKD3W0kc82ylZPcRDOQXuWLnjRX0K0ztnLBKpKg/w7rn1i11zSIync2vi5Vw9K8idf3MuvbH3pADCFYa4Meo4B8yjMHTPMD8kwcfOrdJVurem5Fixz45PEu/f0+1WGubcfz/c0uSgeY8GRQfKLCbCJlaweEbDnYDDUwe9WqbY65pGb2xQQIQMHIWZTWys2b1LuRvacbMoRI9e13Q37M0vLn6dEM8d500W6m7y9mCitm8QPXJ/fqdNwB9w11PaZaBh2sgg3MBZtAFkpxP4fQFAHRxa6TUmx0G6oaDZl6wfjknGnfGwMRiMor3eE/gKan7o4KQvYugHUt4Nrl329mC8ntcnTl164dOLePPNOq71MeGceOLDL3zmqzRw3enAVIibWakNn1ji//YPNB0Oi+WS9XtaTprO178m4CP9J7D4KXRPuDBJsQDMVLNFoxO64kOayJoWHKw+bRYCOWxm2sAvCDqJ0ZuVpJhOqIWy6RDdjztOu4QvB0nPMtiJ4ZFJeRssvREMnbciv123+N3Xff382+CUINQLQZP0SgEkQpMOdBCkkcwSfEXLJBTCNy5ifJdkAg/d6QJCZ9DhFi1kC0eBa5CwsUwMHGqiOLvWxZWWkOlU3Fu3p5TFg/hBU72MOmF878vxfuXr1fUvyi/8TMUw4cLn5JvG9Aph7t4lPffIGn7gnHha0Xxk2N84beoLo3lZ3PoT85ABcRNkNZ/WATR+seYj221jsncDJiAOAUabkWCcOKUItAx6i0+6JMzC5kHaimMm24sAeKTVLV51srbm0cPkL0ZpPQRjEmWEn9uezLvyFS9iwRLlpN7qanktspkz4tAK8yQDeULSCL6EE1xEykUirZYcQFa1sUTLYsSy+A0MxFxIhJQbGuoRe9kn0OIKNYg8Sq5+YHQW04Za+XbTNcq+dPP/UqVNuulbdmydaDizaTHWyXAFKXcCRy2gwLDIiT3RqwkTtbn/j9u69Ccw11uq2rpreeBvIY5MTIAjAlFaiqO7BxMQsXa60GUQbncwiE0BfQVYb0YBQZFUFqt4eTDXJ4cCEzhNt+i6+C/vexMl0zjw11PwfJQzWpOHLSz/Qv6yW4Tt1SPdNhEtf7KOpImJ1Cbm4g4VgKOJrn2weYid9TM41+pQiERL1FNaJ4M4u3lP6eFwraiiVGUGU7uFQhGsGuF0JE8WEHK5FQbZ9PHq2N19fe/XWiBnrL+7ls8cM8wND6McBMI8ejFF2/O9/+tWvfXDA3CyAef/NV3n/VsXPP/887ZWS/N4T3zEX6Un5O8vK8MW/sAKYO/vVhbaeXsTcFZECwtVaSB+jWLghHI1lt5wYa31D6NC+lNVI+GaKg5AsMRN7rIaAbUK0DvsIqNSZ7MKbC/cm9EvB5U+YSFuTSN81fRgG71/sTX6BTF5zFG/7ZN7GNHagfCZjQISNQGPRrrPjVBqPE/IjLLYoJCjD1O8EJSRTV0v0Q084RUqMoLGiLdeVPij6gkkiNyIs7FI2Q9+7bt7Xy/miCe0w/ezVp07fWxre7TK1g8qMDpTj7+GLCeyqPdN6RXRmktP3X9/ctrVbNOuTRd3UYJcB64/SOcDhwsxapjG6rZMg8xH6O/Jf1TmWfXFogcoOElZmZHYzSq7EvQgHTAAMrswp303wzfTmyUD0bGQ+bVPexPzJsX+rt/xUsPxprFRWbfx2s5//rE5512A+hKoeLc/B5tTCbx/yT6Lka53oKw1NNQqNkvMRJI7XwepELrEPorvEbY3PKcDWPxQPTF/0m3K95pOjh2naeHPr505tjh+Ks1+iTF8//Igcl+SPx85jwFw5Po9jmCNg4ub33yS+sMIw55+8wacKw1wFzDv7+UL060+CQUo/KbcGw25hZ6Zj5xq4xyB6nBAKOYSFszD81v1gyH0koey9ALO1Zn1nYn9u6fjzls2DKsa/qPt8F6G9NgeZMsVsfKzS+d6ZTwRj4OI5Q76BibRriXZMyktDuS+ibDAilNLQbCNYiJgGLArJ4wGQFmIm+AhBorjMKf/D+qWQOWV12J4E6oN/An/wNoMDfNQB0LIHy6zbxWJy/uTs5MkzpyZ3cIT0tQAAIABJREFUMQDqiCRATf/eoahdWKa2GXFimUFGNGPa376/uLe7fNCsTRb1pO6quuq5cgHREMBEKErF0RKWx4B00frAvk1m5KP4tACmPnI89MKTxccyo2IX8TmkPIioixOCuoD5RGJaF7d1yg9szG/6Pn/Xx3gfHYiEnQEYXLKtBksvDI37NCV60LT0h9O2fdPABgBg1kX0t5NDcyR2lJqpjr0FMCnBwg22R5gwhco+BJhtxhaQAqaTjUxtb2L7h2QAJOA6wC8zy155GuLmMWB+YEL5yA2PAfPHCJj32up88tNLAaL1ruWqIh4Wom6UPqQYCXMtSyduVtOwv+tsXVOAATg0mN5yGhC5G7mupgY/t7G3u756anfN/yeUcj2N9l9VIeyEnDwoq3CokCBPFB6F+a64r9vsW2svLk3+dCJ7PhOtiWCT7cA57LvMuzlmuLij5pZcGVFnYiEIdWAKQkq1FpcMSuzZ6TIkYAZfatC5uFUI01Qfo2LcUQY6kC92wS0FMNu6nbeTz7x06fTOYO2DcQCk7cXDDaCRDbJk8xD2xTd8jK+/uXlvMpOp+LJeazpIe4yVJywrioLTKMfF4E5KW+1lgnVKjzQTozN84FUkpbo8E1gFI4YuEoSQeT0Zs2EyTRITVg3Q3dwxKb3hA/11FXgr912fLZyD1XLdVC4mNGUtfPXqIZlIQ+Neah19puq7v5q1+eUqDntgmIjTdZXNseuIZxshUEf4P+J2eQkWWWdnAy2YUmVcHrd9OLUHCZKZnGwBjfQUWilTl32jYZBtILgXWcubW59tjhnmR8TMjzVgHq4z6NH72oo/6CtfJ772ahFRfJFo8/uHPUxlmG/Isdu77WQ98hSci+AEO7Hs3r5o6CzRg+3di2kwlzDcSQnT1cixJQM2GZxo7QyBZXLgKsFg0bHDJBw9SgtLYf0a4JrZ2T6lanfmr7UV/0oV83dPz4c/SdLboouUcsXspOmWKCEJCGlaiLqQ2IqMEVHKs6FyzyEADVqlzGaaiNYS55OZDX4G9Tk+cx0nxPDaJee8NCl1GU1WTTMTqonBvfQvDdw90OiDBKkoMlE5CkMsXppyGFGYChflNCTRZqI0b/fnk7Xablx6+sL61n6i3Raka6WPKcCp4AY7pplnOjtjunPz9u6yj7sVepezpq0qNxjvYYKh8IoaV9xAxDFDN3CEpIL/ojuAAZc0NAXf0TQk5iZZmqqbEzeYgEvMB0PdyHuUaJcS7UmMheHWDmmzimETNBSFurGV8mPIIRB6xFCCoRXjsiEzN217d5j4s+1s8p8mon5jkX6nac3N0M3FVD2bOjqCmwbBT5Mw7xFrtlKjZ2wCYdBTQDOElqxr8CfQDKLELmUk0ktAGsAz6G1xH9ZlL9pf/+6tLbp5UJKLM9FhTS5bPsdT8veF02PAXDk0jwLmy+X4fIk2L36HqUx97p96HGDeZvf25QKYdNEMk0tgY30K3DhH+4vOAjDFDxO+mBmBEoROFSMQDcwSIGlcyf8BFbJYI+wnD6bVpxae/8GkC986G+jbObU2eDdt2Z81oBhwQhc3YKwvFkk5IwIDOGLgjbQWXHo+mzwFaGAgA3E5YirgX8HMFdm8FonXKOcp4mUlXA0JNbIto8J2JuopZmTWyF621NrYjtHmY5n+iMOIiu4FL1XbrnLHbIYQXVh2VbtYQsw+efHKuTOdqf29RaYF3IxWQFOW2E3GPIxOTeAD2Q1vvrN1r5k2CxgDV9Oms94N1uJcAW8z9B/hdy47kFi8gcWdi4y1qezIWiBZna1sNDWZreQVYaKVmYacUk9M+ybxrqG8L1aUxAFtWFTssieUTbQxbfpE75ohBaqaSAZboTpksn2XoMcEYAPPMplF08ctbCgMtWn215tfTzb7tXn+7enu8ham4QBHrETKcioAU0zgx5FXxMuqxu/Sl1RQ1L1x9L0HeEhrv7XOMkGX2+F7sE0Mf4Rwx82tB2CYL8s7/+xVSIqOAfODEs5jwPwxAububn0hzdPTUr6CbziirmVhmOKLEYLhSpuEoq0EYLYR6Y4CmN5XWrq7mm/z4qfm0+YfTYb07bPz9t8YxnWDDZ6nrTNnTRS/NZEEMVfilD4KzFOE5RvlwH6tt/GFzHEqW+Ay2CmyIi2kxSoM3T64dSSKnpkRdVlhUJQsTTJzQzE3aJ6NdkXK5GQ0hJku8GGQexZAhcYQgs8MuIlgemBMSLgc+mD7ZeeX+4vGxjR97vlLG7f3Eu+iIi3Z5jo3lzxxWm+Yzs04v/Xmu7vZ2mU9a/qqcsFOmmQ8vOUJfiFYlII2Cv7iPsEURPSuxZxS3/E4TD2Z1HI2c068pEw4EYREQ2/gPocSHr8o2lNZdkQ3VvaCBIlg6Takmy6Fd2lIwdWVeFXKQAjsOmk3ViNxwXHjskp0x/XcgUEOlv3O+uS/JBP3JnvtH0736H6sKFexAKaKDBKCOuX9ASnvoPM5tXgLJJIhIKOAYsgIx5CvNc5COin63qLMEK1iHsT87jFgflB4fPR2x4D5GMD8crnuVZTmY1mOoc9jGCZ+xbZPCQhuJbow7OxfzghBg8YOrcFBd8OBbliNTFYHO2JpDtmQAGcE1zOVraCyNovKnN12/A8p5/mTi/C7+FnDFQ+UTGfSWnD2LIKAUNprzWngnAGrS4QCMQ3JkDdYkJ72np7PhqZStiKRctzsUWTSvXWBqEFYqa47omwdRyeaYmFysomtJ7BQSj5j6V17AhLRC+MOJtkNtMLwhCcDgdR5E1YV6PENHQLTWm7nC376zIbhycxgALSAzCjoJBsidbFumxmKi/18e2eeqmlDftKQq3AAbWKMstREcpAjCb9KsEUYg2SwYfw1+C1DsC/MeLR100JdBAIivRe3oYxWboYwXBrBhedhao7XTRqzwSbaNCJUD9HZaQDDzOR02ZLxnwJgGQ+jWvrYbVWpWcbYwSA/LYw/vXeS/yvf9f+62eu/UwfTQYAg/VZxi8pq54Zj4JxMy1mm69qbtBj0CGBCtzn6IwW8cXKErEgGT2r3Jl8j3yeGze395t1Vk+BjhvnBAfQYMFcBcyVF8pVXiGEiLMD3KvGXvvgybZZQtPunJnwN9uukDuxYkzwzrkk+U8w4zhPdemdyMQzVU9BSDiloFrlnNij48HXlGI5FSnmIPQLRekiONOMnpN6iGt6b2p9qa/9LJ9rF19d7upeTZaT24t8l59ngq3MZk3F83BNmxL1gsER8WYyM1OptMGkW2b3Azk4kAwfrOdJ2LHr0KH5uQDPRWgpIytxc1YiIrdD7lXaBMBeMnLH4Is+gtHwBMbIrpOJzFP8yXoINhewoZgRvg3NGF0J0fdtV7bytY9fXL73w1PrWgvg+4iwKWnhs9EwMnW1yeu2NzR3b+LZpmtbN6oXzvjfGYs9I4F9QTzFdnS3Lz5RlCvlD9V1GSmqBLAAuLwKauLJvIxMzSFRlRK7f4E51dp8NehSRKWz6YG5gSdL1QdoBUoZbBrhlRh9BrfLQK2mrdriDLiNKa8bcPQTaOT39lVS5i81+9/vTQDdtn0uwGcpnhyUktXeD/lK0lbiImUv2Vst4/cnhVo9UCThtFHnpeBvcLma+sf+g2Xw/V/Wv4kYPr0Ou4olsdx1cHh4DfHDk+Qm95TFg/qgBE+J1q+5Ft/rJxX5unsYK5CBj2QD5BwLO1K/cy362Ue/yyJIg2YcCmKBMvemNX9uvzc9Fb8+f31n+bwBf6BqFeBk4svO0r+J5rB4LMxI/HgeRuECWcDuRCQlwrkXvn09EM50Mi7BStiPx8GR2jGmO2I3D8AO4Ix9XGeyIbUVZhZTx96hp1alPKXZ1T17BE21E+eOyk4gyVyFHzN7lP/0wWKRN9otlg4n5tPEb5y+dW99eZJ732jWYOqbTU8633r29t+zjTj2dLH3ju6qBjMgHeZDgloBiGeRrk2BUvKvGUkFSFU9oEGJOpfrLMhDSd4JKoRDlDsWQWKzruF796bW8lq3QaHLatEO6YagaMkpndCPgIioVu+xnqR8lIjVdtfBhuOODaVGrQ0KOnfHF1F5q1+yv+eXwR+uL4fuQGB2uM+YsQx0wSDBLiN3LRfqdYiysAnVslOvv4baQGqmxsILkoUVXYn7nGDA/OlofA+YPDZhvMPbKz4iIHZdnaN+qexEAMy7NZbCtgBUfLDZiKt6DbboCmBHKSYq2N03ayCnM1fc3OxPc0g6m2XhQu1+0Jldn9xa/J5s/4H9uIp/ZlutZ7/tzWfqN8D0MBt7CoCCBgjFVBcduWXtMJq9Hts9n5ikARO2BC2BCpQ4PYOjZhXDB0FHGNQp+YMJisqshNxZDGemXqsGHqjXVmENKeXHZFL2jArfs2aCvWhxxcXNQM5hzdIMLfYfgtKZbdE1Tuemp0ydnVNWY3BANfdy+u73o+zSvZg1kRJ1rms55F9hZsZgTeNbgIZ3fi+uGGicpUoqpr3hZgnhrZo8U/MWGGMZu8K7ULR8WeoYjMEpJkTKhOBxzZG+qwVDa9IFuIPI9D60SazeySojRXcI2FcribOtFE7st0+V2iDFhDwEGy6FxzfyU/69dF741mw9/ZTKMjiFtQHqxNG+wzp4z5GV4hqhA8Ko5m2BUJNs9ukqrZTl+iN8LLiVIPVGGHwPmR0fIh37z4weYK6bRK9aYcli+9piS/De+QvnVEoq2uU4MaRF+Z/8W8fOrJTkRbfY6yFnY7slub7iMjZ7RMMH4RlkktHqGeJE7AUzwwypZNQIXwES6eG8669f3Pf8CG3Pq7CJ8HR9ndUOPwE4zsJu1Lp7DyFSNfcXCDBrrMd5QnIVkpc/YtY7yi+RoCt2KOGmIzYZ82JRIqtBboESjfkZpkN6f3Bq+l1JuS465AmW5H92slF6qenMI3hiQNX2vSeasRtYoZko2ukFpPiy7qlv0dd91deyGCoYd8ivOBVu5wVVglU1nJ66vfTUYiZ2QIFzAshoLFQ+68X2u5bRu+gicSg9VzCelSyCcHKk9KpIqUZo6ucG0XXyEit2IBg8ri0eT0ia64YbwLrqHkv8D/yd4tAmDddKgzuIaYKjKtLQp3mlybocephpoY0SaV/bsct39uu/jN6b3w2uuhrsHDhkYqOZWYoiD51NhnlUuOh2XOBP5txt0AwhcUximAKj+K2FoQW3fKqJ3Hu5hXnt1LPWJHinJH0GIj59D0SpmHgPmB2SYRwHzO3z/TSwyAzDf4uef/9WyJgl++Qxt9t8xRE/SfTt7kvbyZUy/ocOUD7+U5IG9gWV6gDZFcinAFjFC0ZIbYwsxCeJF5mp/aj4TvPu508vhf616v59NL5pzDH8GY2ZDRecgmTERHULUvY6dQciMlNeQVoqDbc5ho62qFzLldUb3C5k/WotLWhdnyaRUpEvCrQRStcAtzBE/Y5asB0lZK6U3xFACuiVQTXfOQRCLn3t5p6GsRwNUWJ4aDmP7kMPQu9hnO7RtNfRDFYfBgX2qhICTdW6oajfYuuqrqh5knd5Y0GN5dBIFWV7LElmm/FGelWh0pHMJzzVxBjmAHmWeGVbCiMnUuY7eAI8fNa/EeYA143SF20NDFaIP8YYJ8QaWcFCfe9F8gv3hNjKEEkcSAKwLeWmGfgvJyB6+cQ6uRETzE/Xf7yx9em0v/VbdxXd0oCNm7fIvBj2YkOPfaVOnrkRlSj88EBaKBCZbmPqj/C5i9bqxCcZL2O4BUEJyZNPAg/FvLx4a+hwD5gcnoMeA+WMEzIWdPRn3TAFMbPbA7aYT1uSwvUjRRF9n0WAm5moCXAoCmDGwAeMEx9r1dKmdVP/YpvzGE3vhZZmiC2D2pie71tXm3MAMviW7iiCvUvKDd+FnAFIrEbprfeU+qVNyXW0ft3eEZQraFQHkmBCpe9ZSpVKAxUTpagqjlMGQpvgUQNVZszgUaZnOwOughFSG5COzPNwSALCBnkWE34RoAZZDiJYC8FCyK5ND6V05ZA8H7zzwUYMm8Cxl3jROZwQbD3uPZfpzwMx04l+SH2XfEW1khX1R25fEXYnLHZmmSK0g30StrmuanKLp47supRucTQ/0s1g/IGgXcD+VhgkDZAcU7V3vOnPLpNT62oogvfdpun9i+t+YIX1vbW/4pg9pP7taYzGqACt46kJH3lpxMgLTVGYKJhzZJRv1RByoh9YSL8ME+gCiumnSEAbykkw+rkyK4uDtY4b5wQHy4VseA+YHAsyX+Te+8qX86ssqZMe0/P5NZZi4XDh9VSbluGBavjO7wfP7lvdbdymF6rKe+zVBy2JhBvI+kESAkNNNHnEmgts6hq8ATOSXx1o8E7Dh0zn3uW5i/+O1FoFZi9dMXUkpO9R51nF1ASoTWYMU7SD6jVhd1OhclOQxi+XHWnTmxcSMrR7JxsV6I3Y0U9Tf1VJey2cdOOOBaW9SH6ctzj+4jUxZRHpU4s0FetK4MlnmQDJUkm1u7QCMTFBmQeW7qCZr4toeE5axYQmHab2YfWAdMIrBHVn0GKU0FoNknfPI2QBWbmNv8iDpUR3hFUB1zx2PTsKBSz/2cNIrhk26QilAr5mW4KmColC/j+2KlBhu9DdMnxCFh7zknGQVqoSuSxaPkkwsB5jYt66jW4bcsvHgp5F2npj9es759GSn+62my5vSpJTzjc08oRzmgaJD3CikSkS+qg+E6lKOQ9hUvDFFXgSxeqUCdeyWj+9PmaAXZmpNfNtePnljFQiOGeYHB9CPNWAedm70gK2mSL7yytdXZEVn+TeufimLHhMXaDLX9Wu4F124VfHe9g35HiX5ztWbTPQ0be2evRTm4Uos0iEAZ6K55JCLtAiL0RCpoxmZwD4RwOpUk4nVyA7DIAkbo8XEbMwr/sJg3E9PlsPXz+b8JgyF08RN58lfCCF4axEuEyQAN+eA7CCyQDsJRocFGGOL58VsaCaooJkWCmQywB79f7W8xsKg6m5GvbQCJETxusYio3/1Ll9xgdIjI1pFKffl69FPWKbkCoSCtSpfEkWULMkEAKtgIWpbedwyWkcpDC0SGJvG5WpiOHqKSfBE708YqZr/Fq6ok3CBD0EjBT1hkyIxzWIoLM0HEpm4njN01GVEWqpFunJvkd3DGwV+eTdc39/A3KoywPd8MPSRW0mOHBSVEKJmhKDd9sTLTNHsbNS/mqz9jOvDb86W4Xs21zGnjnOeyvojNbDccMkWQMQ/bCFOH18Mm0OLh+2yRFYk9HAAlgqcY2k+QoFkBKXANrq3/J8371y7ttq3XNmFxC985SurJ5GH0OS4h/nB4fVvxS1Xgu8eUpG9P2C+yr9x9Sv51VdXVyUP6BPV333DwIQdlzPbTkTuO1uOt7bOXgqhvaIBZ/r5VGE6sSzfOSfuO5ruCFsabCDq0Ec8LgYndm5A0Oh6JO+u7fvqC8G7z6/3+f86sRz+bfY82SW6hB6mReMLJhloiUoPEhrJCgohxtYKoin6FD9JnNfEN3ismcdcCh2IjUnksuVyAH4AsTIZKvuGKjMSFyA8oRK7JrT2ILFD7g6tgcMCfHwTjdLH8Zyt5fXRCxjk4e0PvhFKKQGOatsmSWO60iIMVBBYhzhyweCmtBLUOn2UYRYvuXIzwVGRAgHrEwTxYh4sjBMaS6GxkmAH7RLOSDfMkN6RoU+SbvABYA7oQxYyLecljku3CDfJunqxUf8Tsny5Wg7/u18Of+1lMo5LpDhUenZSEJS43REzEWchAx25BIo94oYicYXnXBhmuR5ORQdguXIfjtxbn9lv3lk9zl9dXR4/BszHotwxw1w5PD8awLzB9MVnaGfrJt++ee2pkIYrOWK7B3IW9bcMBt6QOtxxriZIRSz2zfvOqsQSNkHRWFsR5CTiJ8m9xUdy8KlZTpqfHoz5h5b5zabN3wTjC7GbYH8IUp9YAFPKc2vEuBi0C4Ab2H0y5TzD9FZU6YVl6lR7nIhr6Sy+liOGjhJvJXIwa1PnNxVd6m3lk86KWwe69RLzI4xRh0IyyS/HvRTKR76Tu9F4oHI78V46KN9FgK5OQwXcIA6CgZCwRFxEoq49WdEFHQLreLWwaZBWZUygblK8I8dHG6f6wDH4UeGOaCxVpSQPBl3IG26gd2CaxskldroGCRIahkHADc1K50zMPneR7MVQm1+hlHarZfzNppu/g16nbP/Lc7Y5LPRQYCEVgAkXoxEwDZb/ZUlAReqhRV+zeB8Xx/axRJd99PFEAPCE7gh91khv/XR38u1jwHwsLr7vlceAeQQwDw2FX3nlFaZx1Qe3+fK4KEkEF6PNi+/NMKU0v/IMze/f5BSuPZVy+4xF5ScrG8GwqbOYcYSFATrast3jqjr3/aIAJqbIgDjHI2CqThqkLzFs3+ZsLneN/7Vg+JKL6a/qYfieS7wgk1HEIwQN2z3QPqJDKSA8UDoRnXsxGzPTtDMsK+tkXTjouPajNFNs2USQhIm4oEqZmYOHlWK8uMjp7Q7KeyCdfmKlE4iESZUQHZTuKHMxLdcocx0Gyc9KjC3+HASIJamiDGUUA0DlYBYqMRKHIKzGnDKQ0faqngSUfSoZ1YaniNeltYB49XIgSpcTLB0mJgBKeAdrIIeuJ+mgDLJzg4XP6FJ8xwcG+AyiddTHIijMmtkDMRWnyl0YKvN30e52kf6k3u3+pYn9nvQqcXgQq2tQMnc8GmyIkVKyUm4fACb8N1Yusi9+AJja/xyvlhhnlOH4F/c1OKQEswt0/RHAfOxmz8PYcVySfzSo/Yn9rceV5Ecd2LEjNl5euXoIkAqYcC/Sy5M3f4bLpuTBqiSiK/a2dp8ObK+IYB2qZ0+MbDNMueWDL94OCoquBtNcsIUlDzQz0onrdW0SxCdU6j8pJXzEh9Ck0E2WzeSzfVX9KlluXKRXXIzfc0PcFa2gNRaCdXEwMoZCCieir17MhmfKwlDZop+o2YrgiuPwRjmigqaYGIMGSfevLEEWFimPTxzWS69SnhgepzI0nZ+oG/sBbTwM2VyhQSUX4/Awl6NbMAAdAREdCiLh4CnTKzAmgZc691drYPijOZUFyUWQU8E0jTueMuRC4lAxScavYExWBPDQdhZRlMRjWBnEl716whnMvG1jAmCG0Hd4nhg6QUggWrHI/PRQu79DzJc4ptftYvidZr99m50RraU8LCAvJt8OmzqaOY6foxQHINoiP8LPdKtnvGgJLps9ZdAjHpiFgarOCFlS0GVCOaFfu6a5/tM7zVGGuQqYj1CoR37wUCPrJxYIPtIDP2aYK4ft4ciKjwaYuvmD+Iqd7TOXYxiuSByOgA42fBpCpjS+h2tRj7w/2TfBbSQkUgER0FXC0cR8MiNP5xAwc1MzHI5C6Gd901wZvH8pGPfpbPLMxfSui/G7LsUt7FdShU6pVIonBuM+mTmvK5KInr2I14HFgCLlU3IB0dI+pwIfNNUYd5RBj0aRl5pWdOP6dsKOkH6qSok8XgUJjIFjnJTAekwO6vRS64/sFhNv8RAtCRoC3spG8cDAhqOApu5EIr1jhV+VAQ8YXOmVyrPFs7MC4zLYETML8Usrcx1NjtSzFAjiISjjcWISrkcNlXE9UBhuuEzX2Zgh9kOCeTBbux68e44sfyoRneScrps+fsek8Kafp83Kmg5THRWeIxADgFllBzpqbPamE0Y5lt4j45SXY+UZoseZFzBpGUvyw71yeW8VPBWTFzw9DIcwGKqaHxwD5kfCSj3vfvRf/Un9zR8TwxwPx1WiMSDtxvf2rlAwVyAlwkhVNnq0lpWsBQBiH2BKRtLHdIJrUQDTe/yWGFRSTj0zMhDFOBMeZJEZtSMT9xlu4Hxe07usH2x+Onl3NTNfJspLl/N1DuZ1T/1dIjvtDP1UZt4Y9YYYM+k7QcFPbdCQqCXbLwWFxim4DFXk5io9wq8W1Cl3A7DBsHgEVd3zBqhquX1IT3T6XtbMD5miIvhhCV+c0VF+q/fH2CYUVafUzOIDCuYpO+MFQEf2Kc8L3BJgi80b7Pgc1M6YvGlfUB44NJ1a9crtMSEvs3c9Y6AnokMlxDTlRG/5FN5OYnfuzvcuf47YPAVRg2F6zYX0ikvpXoqwF85tM+TbJuRldAvU6ZrpkyY5RHj5BTENnjjIVjVrHIFtCEaTl6eYCo9bP1h+kJ31lVVJOSmOAWkByv6Q1RdLAi7EIyubeP1n5ifeWv30HonSPWaYjwW2jyFgrpwkHtqNfLjWOLIq+VBJjkn4eDnqxn4oM9qpPnV54PQM3vx42w6yvuNkCq4X+GRqeS6T8kaTJyEtirkzNquLuwIaHIhKBi/e+t3SQCKdfTPra3sRYS9WUrtiZmthPHkyOPOJzPzJnOkUMy1syrcS54qIB04Jcmod9IjdRiLZgdEJhG5SS1+gzDegfJeen07GDwVI+uAL7yvsU1nnQT9Re6PaAlWFTnlOyqYLQsG9/YBDHWJjkfyIifqhq5DqLsvd6JxF/JCAoJIgPG7qaKtTOgZoAUp7V1PQpMaWYU+hbmCpiJWU85p0K/FHMe2G3hHAK40LIK4UuRK7CY7H+Wn4hnLO7/iQXzGR3sppWKLnEihZaEZNji23w80m+yWyx0WADmU6HjnWVMtmj3frCd/j+YCF9hjmyAWsdHaQSS7eqgZTdJ2ao6wfWeUjn/gQEUss/Nwb+sFvdf/DkZL8WEb0WIw8cuUxYK4cjh8KMMf7+Rmi+ltvyEf5xv7JK9n5ZyxAAc6GVgsvXJcqm0WIgs8M2ksAJ18AMzjyNpohR65KOW+8xu1izJnhfpMcD3FpQjObBZeeLIZr0quEByZkQwJiMbjkzKls6VIw5qWU+RLqWc7UUco7xqR9TrmFxQXMIrDAkuDQibbngJVKZZRi0VbeLcorVYMpYK/S8IP30pgzedDVlGXEslxeZixaXI+uSGMdPjI7jPl1bnQg3xxfnCQCKRSzumdUJEwapIsLpmVJ+pDimqwyUQH7iJ9phxhLkCOLFR2nPo/SztXcuLRHAAAgAElEQVTYTDBudTJinLmsT8ZMiN06GzqREux+Y0spv0sxfd/n/BYT3dNOKfoJAZm+0I2S4OoQly7Fm25ILaVpRPltTad7VQUwAZDe1BlGLRZLWDBL0sOv+6nyTVeep6Ms1m969hVx+8EFoWe4/yiunHiPOQdLOLznuuu/G//HIwzzGDCPAfNxR+DwJPGjZJjvCZjnr2SXFDDLJbryCS+uwToFHz/qruADyvVOjIQFVGVzwzKAUj7YwvzwGexN8M0sVOkSmmcyBXDww4SQs+yyYP8ktTKQSEwbA/nPZuPOU85r2dJ6zoirMEOmNJhMCyKeU04LhoOwMSLmLP5sBKH86JMprg+lLC9m5geAVVaBDo9zOQ+M8HpkKfIAZ3UGvdIwOWSiKlsCRBbhuDJiVaaPtpsF5ApsWO0qlD85mm7g4AXpOoh+U+ZMCO0Z7w8nLcMxJg+be6KEbNC1zKbhTFWy0hNdUM67JucH1KfvmRhfpzQE7wxMNkpaps8pIcWsgBjE+AmO6/Fdl1Ob43rhxJAPZWxZatmNhHKcjEqurmjqi5ZT2gbSVSgr6ug8NLqP/l6AqUBarpSeaOH1gX7wu/G/PwbMD46RR255zDBXDscHZZjyK4cqI7r2MrGU5bgIw/yDwjA/cyVV/lnVwOEt7Kh3CwOzjRH4tFjHB8FSt1wiqVA4kOFeIi2kVJfJ9FQgUerF3EM0LvY7rTVr2fKThGAL6BJhuhHUrYhkz1hsI0Q0j+TDaN1LmfLMoLw0mJSQp5w3iM1aJuT4cJ1TRhYwdEwd5Yx9klaWOXPu2Ji+CFiE642iSinRV0pt6S6Wq1W2VEpxYW7j6iVgS2XtekDQCyhl+Xj7UTaE69Hkw0GQ8AedmIsTkUEzYeSsor9Uy00U5pIPrONxdRoaHyak3eyxAM7Z1AhBi5QnhgwMKBtdfeI+G1oy531KeZ8M7VOU3B8wz+iGdCNnvm5SHNQ3f1yLTNgKOrT3QPe6j60J3abJtORc5YjgD7RJOWY/giGeI5IjV7SWkSFO14l37OYHPWSxgHPIsFMA1R3z0Z/9ECvHt7cK3lHWuzd/95+fuP6+ePFoD/NjPRV/+Dh9HAFzFSKPPv+Vtwa+PNrD/PpDx2pFl3n2ZR7d2AGYo5PR/I1zzziXP4E9Nej6EGsDMw2V6egGjwm9hKDh6556oyzSkhNTDux5V8I6urB0zkM7U34P1pUxmdab9WT9Bc6Sp6AfHgqiHYce0BlHSSyKkdrgN5KPV7EaqTbqRtpoOjQR62EgCrx2fDRUk4FvJs0y5UZGQNLaFOVMtsZ2mXIngWgpIThsYGMwHgdKy0oMI3wXGh4pJ8s648FoHg9QEfX9PpE6IV/J6ZWb49aq8xRRuiyPlxVNII1au+OPoSELgaONFByzuOk2hDkaQs/UyEdFk1KU44TAXU5x32SeZ+IOB1J8o6SdCZM2SBhA7QR/EZT0tu3768lVA/XdAULKXufqfEuObLWgxXLTkF/a0FF0AFdMxdHLPFg7hy70QMQuu/sEUMTT7WR7VFo7MgQqAHjAYq2wyLEnjN1xfD2Cbyy3S4ne/MOHAfOxKPDx1l0eA+aRI3CkADxSAv5oAPPEM85VnxCIxIp454CdEniGj6KoYcZy3VpCz1IUjUNkVbCPzNRSTEuL7DSFW6RKRk59Mn1j1we2F43wzzIvtgll5bigiEETReABuY3k6GoiN8Mej3TtsgTU6N2q3ka1ltIEFAaHDx2u8kBcJEmKQ6NJOAvUSF8kpgq0SD7YMouRavjATUgQVqteIAAgQVzQdJdH9q2BAGIVdDASkgpdTC5lzIJbyIKjGidhfo8cYcxmnEQzapcCOFGyiGSRSffSBbAjQhvQAOyZTEtSM0PLTwhDkxwg3FBW2sHpgaNFrS7VMn4OrJTjJDAdLZm3TNdfJ1cNKQxk2ZcZuyjly3lA1pVAwJe2De8ym9aZLseS96NT8BXALA0DBUV1KRpNgRMjGe7wDXxQZgvD1DXJg0sJRxu/R88UX4cY3/zGV8794MjH4Bgw35dwHwPmf2DAtKZ6ToBPANNSrBHTiC0MbUWOA/MMGVEXCcY2AoslaVIfLpjoEpxPP6aIva6ZeRnNUNn1WNmLlpGrCLoI/UkP5Z32Pis4yaoZWrQOEqSrmc3amNTAKB51r0f0TWqVNqrTEf5Y2gdq1KtwJf1Q9BBlAIy2IKBNwUuyzYVfIQTb5ozkdAxNZA6MaQ5G88BUrPHIlrUuemuhq2IpJZKilBLkEakQxvNKL1HTQ2UkskqwWIF3bNXA+hLanyHjiSXIEigkEXAazIl0HQlrQqKr1/m5moyAHEvGujoalVg0kXnhmGCvXGpouCXp7qWJ+W0X03UmBO1qrq2aFQuka0a5czn1FueJjhbDDY6m9dOAIl5mZR4KXCw1iA9IyMkeltlyNAHrY7XvA0Z1ehGDYDmiyjgHbJBhJ3N8g68IMWWKXsyEB/s33/jKiWPA/MAQefSGxyX56vF4TEm+svQjv/HK1w/lSSjOV52MXtl6VUBv/s65ZyhmYZjiXwgZkRfHGGEPCeX4ASBpzs9QxOpwYy+VpgYVaANTreBM5AEKJdNzz7wRXXVRKClImrg7qju6tvg0IgJla7ZufSBz1Vi3Jh4UuEifEzfAQxHpTPkEYs9Fx7PygVRfn3Jd2copc3IZJqvFjxquYef6QORbpDmaowZklcGITN8BwBLAUxikvBtXFs7FcB2rRpD1oMjX6YVoRpE6KY9bHH4z+rda4EtcZpl4S2NAfOkPBk0ivRqbF0UJWhyMRIqJklf3PAXsZAUTdBkOUvhNyGHxh1MKJqa3bczX8cA0v6doqQrTVpItKZJsaOioize4j20znQDgS8lMB0FmcoKL8NQslzLgkVONdEi7Q6f6BCvA9XhQgqMbkTpZwZXbPtTp0IcoESZv/vE/P/fmERg4ggLHJfjjsPQYMB8LmKurkodrkgDP9wVM+GWWPfMb9+4+SyxaSDF5HbPJlQUgoqLT7R3RY8KxqNAFlE5SmrNwNgFbDxcbgIxO1TlGk7nnaKv11plLsDGXQU9hishWEGlQSgzndQUwsxE8XSMyM8lEFDqFvynaGfXmLh5vIhaSUbO6Eku/UdYb9WcyOT84waAUhgJfpTqQ7MhfkynO4bCn2FsUneQI03onwujK9vkoRxJJj+rYFdtlmV56qKtGG6o/skX3JHUqGKkQ1QLxK71SdYEvJwEFWH2kgoKwlFP4Bt8ECI2DK0AzDWRQdqsrSLKJ3uI+/0CM3LnLJAMaNR7iPClfg7V2II9Lsxw2jYsLl/BalmENVt0FEJ36hBR7Pzkmsaw1jkdIyurDwY6W4SuDnpXJuDDKolkbw9HwN6IJf/ONf/a4kvwYMI8B832PwP9fD/OHB0yb83P47EqgleyCI2RFxZfY9FHAVKC0rtJJq0AX9JqaZa7wiuuK0BvlWFgabA0lY9fbqn6SUh41SWR0b1hMNZQ1qcEGADM6ey0Tr0kPU8x5UTFL727sXR6uNUpeBmY9AlRSmgrtTLCvtAT3TfyrPE0hWVSIsl2jwKaoje2l4kAk7b9RXbnSNi72Hg+/VHpLbOAULWf5PmcAgmQFs0boIEsHIF8idIuDm8RhQEokHQDVxaMNq1FuMkQpzFmDLeT1KS4WeBo4aQhZw8/0uYFHgy3DQPgtCrEwTPXOPKCAJXJX/NyNoSHkZb0MApg6HS8rnxCpY0mpgKGAoLwkmJcBSA/7kqs9S514vxdg6hGMxTBYXpUV56Lk6I1jwHwcJD7+umOGuXp8HinJPzhgjneD0nxkmFv39p5tc/ucMEvrJKCqEg00QCwiq4Vj6GTIi3XvSBXVOtmhZVwYOzCHUpY5OzkETPnQLzEL4cFW68HZp5C5i880snzgNCbVYOldglMBUzJqOHbXkknrih0Hdmh636WfKaAig2i4bZQuK0o6aTninvCJPkjSFRNiSBAR/iXu6AAUDSMrDh/q5CGAixVxLBWJ0UchqarnhMv6gfkHonAPnIuKF7vaq5eoXiMdPDG0hAxfq3l9bDJOZsCaWNSpWfA4zDp4vYtfZgoHPkQympFto0KLhWlqW0ACMdEROAgugkdfvE4xvwUzNxx3EDrrkVFEBDMO4yy0q0TOg6UvzGKxOamm8zwsGCJyOXd2PSVXJRQXclM8vgDb4OLWfrDpMwLfOCUfbd/09UF1Av3mWKX0fcjOOcKapQJmUUq4+o1v/LPH9TCPGebjIPNjDpgra5KCGO8vOVv1ynyvfubW6MZORF8qa5N/9e3dZ+ehe2GUWoJNAgTHUqmoibRHifEt7BfKq6U2k+q+Lg+t0w0haDDxr5ut5RSWJvrJesj0FHbtQDFTEDcJMUFTVzcjQbqwmOvYnDDEVzPRhvi+qXhS7k9W8aTWV5s13FeEnZL4jBeHIOk3ao6CuBoVV3Yd6MjY1wgFS9qkNdhLymzh5iH9BNA8dfKVhUv98wV5S9MASZQH/cCVolqbs1bTzOV3sZ+tC4swewvQWEHUKKY+mJ9jc1RE92gXRh1ZaTqISrO0PQtGKh7y8tprKY7/GQy2xKJJMsxLT3P0xpR+ZsyB3jI5/sATBA7lvaSCLtBN3bSSu2QOlJau7TYrU89jXBwyTLmxLYmP+lrDC1P+fZhhlsm63kp340cGiqLFwZyqENIAvVi5CU4Co4y9NvXr/+d/+xBgHv0YHOsuH4OYx4C5enB+CMAc7wbAOQLmv/327rN56F/U63Q1khej7nL8GaSO2CWGaw3GqaM7z6ENHD4XZpFMsKOVAhHVVsrytpqsM9NThBrVVolzayihfNf9lSJYB6XLg6GTyZhrxtCalIGAE810gKiTIT3BPp9+4C10oDKGRVuAsxX3t5QSnN2xQ1kV6yE4VOjGoUp6xLTu8LCObG10OR9PTCsMtXxg1XVzpe95+NE9oKvjHcvmD9i09DXFcUhPeON9jDa/0klgGA8F1oYl6vM+E/U5xcjGB0JKHIbh2sBQHBe3JLjj4/VAD8JSdjFzULAnxt4hvUVpeNPAZVJSxMXKLoMpy/lEU4dAvQG5i6of3jVEiySeR+ht6r9QPuD1sAPxMJXo9HJfhyW5qpmwCaRXatYods5LOwfLqrL6qCcDvZW2fsZyX9pAlF//g//uoaHPMWA+BiKPXnUMmD9GwPyzf333E5w1vELeupjZLKLon0duUByD5ftgeo3ZlQtQ8mBdm1KvrhDjVfg9AFmo8glys4s5BK8bf6iaD7PEpT4t4qVkaCOa6hpzXh9Ta5BYqYvjCN4tgwhhtyCGMp2oc84VhN+ITYSwXRQ3B7MYtfgdZ9ZKjSTGpmzB6zq33v4gS0cklsXBUstqiWsrbublNZGOgpoXaytVu44iQZIfy/+KQZFsCJVMDckplxF8GeZosFtRS6GEH809QYAHCUDKNGTmLsahN4TICNBnCS3X1oZM0uVUUjQDFFPHb3nKb9KQwv/H3pvAyXFX56LnnH9V9TKbpJFGuy1LsrxiA8I2xmAExjYQE0iIA9nuJTcJyc27DiEhwOMmZBIwkATHSUh4iV9+hNzcJC92Fr8AxjbYFmBiCJjFWPJujy1ZkjWSZkaz9FL1P+f6nH9Vd09rRjOSFzb1Dzyj6erauuqrs3zn+zjigqQQ2LAmRJxXa80eDWuVtLlbAGYEHBdgZ9+ohYUKnAC+HHpWdhotle5s8uSczeIiaEWZ+bId/Z8g31Gspy2RdwIwF42Ncy74ww6YXSdlcX4/R6bk7Smg0Z0rcBtss/V+Gw5sbMZZ7vYT7glu6HhNKwQIFTJposYLWeTtp73s/m4DpKbzam1RIGas0Y+mek4GOKmsBnGROkOGOy3obYYYU2mPudEZub7M0dkMrs/iMdV2MB1JS0IdosSesYQOSyBSUh6KV3nd0CYPyBc2kP83pK+FxWJguWt/y/hN2kfSuE15PxoGKivfGx8ouKdpi6ZA0pC7BjZmjvp5l6jokocxlnzTBiVGaxflJ2nKLxKF1F+Pwx4b2oHJPTg0Ew9+uy35T9vvYBHZ0lMPTSqtCaQiNoBfF69cBWnmjKUA0haJg8es8Th4eYw9Zy6OrKNfUJsyLGhO+XAq+3op87tQmjX90iyrwODfY0iZXxPqU9/COlNk7057CiAMH2hN8uSraV/QHUCLkfmaW1rO9ODtHzwiwjyRhi8SR08A5qwTNT9gdl5RnSOT+vEdZ849Njn98IFNnuBUK8vnakUmtmHd7oA6CpChLtmWbjPIcClpqmZdci0tUiLmR27TiR6Nw6nW3SRLfFJdizoS7ZuEEqwIAqXI/mOhnVlIRlF/Bu4sQeizAI+JJJISIPUIcxmIYmsBW6FP2885aNkOG8Bod1ibxjpjox5oKZE0QRNVkcya7cq+MWK5MhjD5y2ysznw0D1vg27RX29pErW/DV2qg1KkB1RQgMLuWB0116sMg5dKpg+7rmOcRuayuipSRMJZbHOmAJEwxyplZLTRgj9ZKF8GYn5Or7K5JZ1hbKJQDVQ4A1zDqrj6APDZ48TpCCinSv18tDNusgCRuk+KVgGMh0kqA4y1qOl3UVav6fdmjx0sao45YIZnRc550tpxGyxt6tNGHbUznvNx1agjT8E1Xc9LJyHI1zporoRlG2uEOXyXyoOfPQGYi4THIxc7AZjPMWBm4Le05C87gNIueh2NzAMGEwmOK6I/DUhD86QdZXbk8QqcesulnslHUb9PSmvVDEZlxGzKUTmbGmOlbJ0Hs8iQSGPW/sxF5wjicgauELoKgyQWg1o2nFOHrB3TSj0V1TRKVA9YBcem2JhhpPplKvUTgK1dRsxHMjuoQ3mTpU3KbJ/0uUObvJZpeFe8zCI3TFN2NK8D8miHKgfkXMEoDCYFfY7gS54T+i3wtTOvEWmcMZdJrTVZErFOugK6pt+5qVpLDUmfPZaiNwWkhkCHAflB18geYZ0wyqWMbXec+Te1d92YVa4WN9NdhDAjabM942373fGcaEuYhEJO0ehp9XgKsRad7mlP+hRZfSudz8U9WuvOrzMC9+AtwysemQ0FJzrji0XQE4D5XAMm+9NCoV5vIM10QzRpJlteJRFyUCha5vnN4zl16vEiOn1tCKpvhDSMFFypV9BPUzOq9GeA61ENbEQnWgBcqZRPFHKw+zYmIVYE3UlM9CIhWtri+bSoAdYyDpM1qpTL1ABStSKoozLkVU7SapxWTmyr5uTmZ6aBkZ9LZ92VlkFk4Ga2q4n5UgEUi+ayPUBmvZPXPFvfj75rrY8gvJEP/LT14Art4RAhBrhvKxoVf7PnUJADDpGaTlya7JLWZl1JwFcQXSI6O6+t7jwIDscX6PVWDBBICWCXE9gBPtsHXupGLQjBOLI++KKceG/KnDgdZc3d1FQJvWBNYVYkuqstwDSxYqtbWlXXEUNaiEjP7orbuTAX9UJRffYtr4NkxhHII1YVddHfTwDmYqFx7uVOAOYiAXPWYr/3ezg86w8dU0CWood0W1PyLPWndS6aTziGP+XybXaTmchwkZ4HolEY/Al3U0FgDzekpukVYF+nNEr6Pbp1wfMitxrXSNO0zTLwlFQxLq1RVXDAaBlgNihhCjPn9egazXBXdYWaBFITNl3MVMdTWiTzMLwTXgY1HaGlrSKPKIsosFhYy5+tccsOVCxOyqx1hnJoC8P1vda/2xBoWzfPnWKXjAOV/6NLAcmKtUr77KzA5tQf2+9iNlyLopqCR6jpO1GUiKS9ai4HoU4aFDhyOlIuTDyNng8Lyjhk2W4SGBHxTWvgt2T1zbAN0fkZV2/udphM24hjDpLB8qKjQZNbUoTT0yGmYcIZba+fuW7nTiv2I97PV+XIPXDL8NDDzww2fng/fQIwn0PAnHxgz2bv4bT2ha8mZ0WkkGNP0RXXgKEeRiEDgDYxaqXo2jFvN3yso27GaKih3wCXK2uIm7Ha0hqYeC25UcJE68AlJ6OKbrA2PsylZxmCqg4F1zKdX0HhGRGYJpFaEI0oUDGCEFXm+GgAloNe4UNuABKcw2YldsVynee3Cxw7ue+tTRafO+LzOUDnwJyHiZ1xadtPrSO8tYaOcSML7cx8h4JNbwBTA86iTpv7kecNJhFOALFXAHqQIk3j80YXMbCfBpCp0KpXCZDsADA8gpzuRx8G+zFW8Y2mo8hNu3ptN2VuxpdyjmRex2xfHxp5tscmZ+XqSiIyoeEiHO2OOIPZ2bxQlvuSEyQPfO6DQw/98ELeMzvyE4D5nALmgc0ZN09vpWDaArAUKYhxmACHssP1lQDItAmlhftXnJCNF2vq1kRIbDzIgNM66ppiAVMKST9USmutqWFNABUQ50FPySaKaMhCP1PwMZmfGJ1bZlqQgf+tskmHRXDS9CWMz5irF9k4drAMC3ukHfhIa3uFX0/r2tGpRYuUzHAhj9h0vFp/12jYOJI2ehjoOeGJoH83YYrQpWiVTfMTYDJI1pEOYV2x7rB9HTQ14RBdX05cCj2e4sFiM5z6BAqG4fmcffhcHiYGg7Q8YvbWI7JTYv2tcDyiwh+221wSjHpRsj5tKtn5Y55CgEmrlprynYo6YxOAn8Ase1TTcDvrKt3Mbhoa00+6NJlWxSpt/rU5t8rRDfSi0DnPU3abRA2ArhkGe8eFRbMKBlsTMI9ITZ0fdKC+IOXPbgK1vM2BTgDmM8DME4B5PIDZlVke0TXfEfLRydMObM6oeXpnjSrUIgN1xLiUKk9r9782adp2FdbRbFGMmgh6I+VTPgXgGiPbRQM+cuu0MMqR4jGt85hsIeSqYaQCSiG6q3cjuaUiHIPwNAqOq25xQJygixnQqGjY5AYJIbJsESuLaLAdzswV2HRcWh1+P7PS+rwTbnjYGVnm30mrg90KP2df6e2tFsIdRQMqfydk8cFGt0jf7ZdQUdWjNGq49dWDkvusNLjD4teYn0ZlcmVBWSoZJOh4ihgPG3NK5xx1ZUoKYETvszES3ElZNqpgzZzWXJrtQvS1tt1Ezp7IaUUF+LWiyNkZecsRsjgLRpQqXnOUODtomq3DchzffyLCPH7EPAGY8567+YU5uj8ya2yy482vZHtOTcGfEdLsQtxQRS2DW6BTgUtzDgzvd3bFbTSyuGFUrchoJXr7F8UorXemmFFpiUSlNeJ8FTDaAARbmMx7ItQoAy28CN+UNrQECergcRwh41z3VwuYNqVi0UyhhK7ZrJIlSWnY2gtS8rxpV5q3j0ZUJrWmEz6hTpkPkpuUUWEsqWk/KlfJsv+8bWK7FzhK+TVo3hXtWqgGwLMKvi3VMyObGu3JPllEwDnp3czHjV5ZmJ8F+x8TBjYagIhPAV2sKuqKcDrGYyR6Azz7ex52BtXifEOFCYcNwKvfzxJRjoNaV7REf8M+ahOeIdNzNE0Z7xDhfSQyBVltN4GbCXP8BeenELjsaJUXdRmTNy3S7DkQkY6Somet0Yj8+tLtREA+vf+2D2968Pgh44f7kycA8zkGzKbwmbMizA7WukWQRfHf0nOv3YG8ezt7Xi3KuXsGaLnEm+pKZoBLvCtthHK0CQBPNeOasFCYdCnI3iIOnPpVSBkIp8yxJoSV2ifW/q72VZVuoz60yrJ05FxQkrAZbGUfZpaNBtGLkC4H45yCOxiQJp+waU3zhPHs8D9tMIdTnttHBoTWNkmhL1TElwXitYj3rT66ArTtQ0GoV5F0l0u/heosK0YbEV77+9rQLqTs8hBaBTuC627OidX8V+HJqRAoK8GRTA9EnySa5xvp3iuX3zj/kiUI6hnC2uRRRquhZeGWblUQ8+3lmvP+XuF0hLLGCKqnzyytymK6yjSf9ZnV6nwHPei565JW0om0XJCXIDQa1t+LqLhT9c12TLMUJycA85kB/gnA/B4BzDCK3SH1ZndoR9nf6HoOMk51vtnI7CypA1ca8En0EomiF4LHShhbMbDQ4p8y39Wx1UDQiIwhPbZJ69DAMLDTglomnKkfhRHTreCotBbdjM9s1C9oVOScHAM4TeHDz1zjLaxxFtbrJtuumTlY2rR2qD8a77Gj6x7KAZat20xi8YlCIiP4mym2BQfLIvIsPhf+7SXMOZnyiIKO8i+trpCPTxovSdvXQbUzPCz0eEwfTs+fhtBOxLsgcywOSCmrhal5sYfa/NEdsmhVibCqRcccxD/MplfAH3Cev8q1mfsQ/IwWmdW8J9QwOyd3iosxFGO0ZF2k3R4yY07oz+I1W+6t60K2B2znFaTDSkqkSO87EWEeP2ieAMz5z13Xuemq083fj4QiRf+PxsgWiaMz7AY20RvVa7B/5VstuJWzd0I8kyupe3Yzt3EAiKNSnGbc4yKqAmGvh1IfgO9jilYg0hmItLxIO7Xyr0SbEF4qW8gUdTXk8cZi1w0EHR6mIA9RaPcG/YyiaYxtWV/z1bGsXVHMBr81OtME2HwkyBXyPhazkfXjxZJ5+2llSnVFC6yAwglC403buuJYe06yk10U8D1/Nx8It2hUP2mebEH6KOTVJt5pgnmK7dbvYYic14nMEN2apa1YWTFYTyr5PswoKbAGx9tQeLD5oXAZhGzeadVYO0A5WqfqPWJKTfpEMbkn9e0wBjwrez2oAehDyPPjKP5+8XwIBKYF/DTpz2Y6DVLXEUwGG7TS4qqNVbZqELp9c2xiMUk4u4KClkvhidbNQDqCklRoFsSQ3XfzBzc+cPyQ8cP9yROA+VwCJoxsydIAmHrBG2jGuZqMTlxHSNrt1ogxdkipp4QiqZBzfezjJS7hpV7cgIpliJrKqDOjWt1G0OCMpgjTaS88QHH1PERIWLxXWUzVrMwDt4JHWdQJRW0e7B+BVdO+K+0fFjZam8S41lkW0ngFA7YWuebjyqQuZrNNb01dcQww8yRZeeot4aBAEddGeihzhs5JLmqhXWp9eOR2550lTMuEi3pq3mUrGE+56LEl9bnOZrDTCdr2IW7WufZANg3Nfi1BmPWoSasAACAASURBVCmG/QwPE3uamLulCX0Gx0s9Qd6kijSKDSmxTXTnIqOh/Gqhuc6sBgsQVG8eQ9a8JpuFwXKN05FQHSpHodm8m2JU47U+BtTSSMlEULUkgtxghgkAmQD2Y+z9JALPYAq1TDKvrTuL+FVHNUT+s15FRFqUfVVvtbjm7PorBcunuJTdd/PvnADM44X9E4D5nALm3i1p5s+0Ap1JMiKpaLAgxUiuH9AtFVSaDy1FgD5RCUmROAzP8GECP8bsD5LgQWJ/2PssI84UVhmaTklFTuLSZin3XMGintotibK8yZSL/RoQBS67iT+GGWXlFEYgEptnq0hwfhQFRoko2JtZ6BacF0O4ZOEcWz4drBwCKTzMxATECLW8PJ3O52nyjknoPuUKvcWZz1s3bUUjy+9zC4z884V2RkcnzgwlbR2BRJ6rBttfCuS14yXDtNCcUh1hrRFYhdE20a6oKvIXBmdmsgZCWa5clKrCOkrmTdpSi7nq/KEScGZSlCt5hCMp9qh1ZQlqaYT3YL3278TZU8UbXthpIRJFShBHSzziMnTJUgEZRKSyTVdpsdhGUuUwM487kUPkmxPMvmaiAlbbIM6aTYhdwp0qRe3GEkDiwrxZEtPOm39n7YkI8zgR8wRgPtuA+Xvb3YaRDVG2NMLNA+4sAnwpIw2Ci5YI0CAi94JGF+EOnxDOxkTkICAewLQxAxRPI6epXt42tpe/Qoe8o5OqGoo6N1fq2QRx6QoCVLtBnfMz4Q1TPdcaplHhUUURVb0nYRXLZFP20ZVpemldGGOGKvfTgM/+0/akCDhiSBhUOfI03GqCiju5L05oX1tOn2uz52pMQXGjqG4qezAgd1uR3eLUlh5aXpos3DFCnNgqk4amloa1Yd/Nx0g708FxyOA235bWZPMyp42Hhn5VDpMmQtfGuGDZYec579BrE065TariLkp/D3iq0ahFqoKZIKSqrYkCTUBUQx9t1agHvUa1Ftva44rhSUmnP+3SNmDarlt1xlvXSP2XUu3S5y9GKKOjqtojO5csEZJlQk4HD3pM7ARwGsVPAsMYpelYxtmhiH1N2/yk1mrK6yyiUaOpaVYjO28dPuX+48SLH/qPnQDMRV8CXTQj/dy27Q4q69zKV/dFK5q9vRUXL48iWudQNgvimihtbMTM9xHIpJfmIfRuVLL0kHBjwoFMGffSmhGhoRNK9AUohiJ9UZwqrAfUBUJnvr2BHjqIkpO9S96ASMs0MgSCBFjjWBP4tXpi+JLDpAyZWm6QLA/2PAFgnBCpQ49Fkbl0mnV5zb02n6PMjSlUhihEmAVlPKBQyL1NmNhqjZoGh/ZSMBsLTCnjM+bRoQnxFl45lvda6TMHRFtHsNrIIbNz3jwIELeAvNBCDp/Nc1YN2C1lLjC8MDsPI+F59ytodCjUKilWf5rmmyGk1+PXfQwmQOFoTK3EKqhBtN4O1z6nAFx01fULbCKIGupq2/2BKKvdkmbNUbUSCUrxrY4VRNrQA98aqPTW0OstI+IAJG4pNJu7KE0n7NGmGYvDPqFoGTo3KIiDSNgHiD2hfMATINkBJ7DfZ+mEE5kUtRpG8c43d9724VN3LvqyP7HgrDNwAjAXfUFc72DrRlq3cWWUbOxJVvRWh+I4Oh1QtkAM65GxBChTjLSfWB5rAj9Wqo+WolqmSkKGAR45AojLAFxn9hIpkyjffoDGNlxqaoWeidWES9jFDiNwcZmptByI1hLiKkE3CIIDQrRKRAbsBlSQ0htSSUKFoYO1WLT/rT0e67tacm26Y+JZQOc1w6xjUMnN64whgdYqpeWz9k4wtdFw06iOqt8TaoDGPzKnMItqioAu5MchXrWcONfPKLwxCgdyg8s2AT3UHg3uQx02Fw7OmUSBlFTofIb83dDMVhva6xo+KgkqtOA1Gg2+6NrdMfm3UFK1NnoevdoTIUhm6nHr8yZ/oOWD97oujdjzWoCVNk3+qDirLZEnDXo1FbeXdaBGEWCvRoMCvF8yv5d8uq/p/RRB1tQpLY0MY40MNUyt9G4ldBtNYUNwH6Qz90k9nTB+LkbKeaigUEk4nXAW2Sq0S0xR3A8uXuGi0hA4WkYMVSGINRoF39yPkfuSr5S/PDMxMTFxcNo/PLjbw/Cr9DI8Shtz0TfJD/yCJwBzvq94+I7oTBiigYl+l61eOkDNZEMS0WYmORUBB22yhmU/AT7EyPdPUuOJe57YNwF/trkJT4tzwMGfiS/o86dVvTs9gGWELimflMXJeQjYdD59ijEbocaM1bTMg9wl1ouJCF0Gvp9cRTvfQ4C4SrvgELnlIFhWmwUTvfTcANWjRJcA4BpBLuUBj5L6VPc31B8tm7aZRuUHaQppXVgrgVnd0lL3gtgY2iYaX5H3xks0MUuT2tW5QftpDM8879W0NafshJvO5NbMQ9z60iHtDRPXBSoH8G3nzmG/83Ayj0ktVssFjlv5fBGUKeYFvc6QStuOaUlPZ7otvze01a62Hp458WrRz2bKdYeNrqldG1XpdGrtqNxTmzUMXCPrcJuoZ47EgsTIRvbJdYBUTxMi1c4zqSctR+Sa8MgWmgczTtHxU3jKOvcmbApap1YQ0yhzXDgbJXT7xftR9s1RzNKDEKlakjaI0gYhWWnSI/ZCXD0D0K0mB32Q8QHxM18hzxOafrOSI9B0lFl3yvRChSvs4qq4ko7JroVqFdklNRCYEpQ9JDQinD3cmJl+6ik43ByBkQx2jArc8JNdc0Y/8Fi4qAM8AZjFabryerd51YuileuWJDH3DgpFp4CTM0BQCeF9ADKJQI955vuE/WMj3xjdu/uGdXVLy7ePCsCVofa0bbu78LKXbXZxdBmlM/3QmC5Jlh1En40icJNUpNeV1mCUDAnBDNQnH0KiEkfxIEXJCr2oBWEZeC5rqGbMmQA9RZSm3ZdQ7bMBGtRRvaqILDfNtxBhNZFUt5IbZNFjnizbjY2xVugMY7TIFox/UuuwY5QJp4p0iqQ6V60l0MAl1DJkoA6FayZvcJgksOW0Jndu4KUMmZylbhPkOWkptMmtQFAEM52/Fystqo9iupLFombZa3x1fRV41Yr1dArJjCFN2jc/MP2Ms+jRht2Dw4VVeAMn0zCbSCXg7Sw74xqFWXojTXm22q+pACs7wJEq16kspoamyl31wl419fRBpCUORUBdviQgZQVe65YBHBSQcRU5ASRVsQxRuu4Vq6ycArt6FgexT5sKEJmwqLTp94FPDzDLJDpMwEVr2HPNid+P4Gs2XitQ8URLKS4v8SJDKDKNzcZ9INlUkbPYDLrZEdO9Y739e8rQs46c20wkm5hhbe5Tsg9QHiLmR2FmemQExusbYCTbDl9gGB4+ojO/KIT5AVvohxcwh4fpTLgyiqYG4yVL+peRizcJyTmItAUQyiwySoAPeOGdWa328F3DA4dmf/eCm6861LdyZf85amAFzezJ+nh9/FtP7plZt67frVq14qRKo/4KlPQl5jDIzXvAp+PkM6XpxEDJIETlDaCKQuQGRLCB4CfBw2Ed0EMnsUjUQ+j7w3aNhq2BQwkJe0TsptQYalx8tkuAnwSgXnLuhSJYBRQ1NS8FOQ+VcytY3pZCpyqEa4ZgSHpzhs62GqCFiUVNWXPDhQBQQQrHbHdCnz0fcjRSY9uYNidZ5pT4okrYQthuoCwuv4C0ViZsmUi2/9Y677OSxg6CfGdHKd+Wxb8tLlMgVtped3R5AmQZgudClnYWrHxRmAAVD4TQUTepJMVgjQ7DeVWPo9A9U9BtAkqKgg1VDgGUA5Kl9ygTAV20DpBWC2KPWXUg10CkDoBNrXAyOqWDijBPCuMMIafKSELhPixqk5wdEPEjkKV7FQzVhgm9sJR7zgRX2kCSZcx4AH1jL/vGfm13EVLMRCoc0qeg6Cm740vDG74x61q+8nq37SVXrGaKtyDK6Sh4EgNq7X2UgXcKwr1uambP7oMHausGd/vtw6/qniP6AYPF+Q/nhwowtw3fEQFsiBqwrFouVU4RgBcA4ekAqKnvDDDfBwJfrzcmH/gqfGyq86m69e1fj/vWDLrdBzNJBpuycwfACzat7env773QEb5YxMQuGgL45GHf/Oy3/2dlz0XvffhMjOgcB1FkEQAl64lovSCtMIoewygK70b2Y+JI7SNXoqMhENcjYazDJk4EoApIFRO5tcjD7wHgxyBrPCy+eYi0m45JD1BlA0TxBSB4hoJ+yHq13Y5NIGiKDp+zpEFW1wYjLZW28qap3mqDA9VdoUAO65iH2UErXubEoo5hHkO6FmJ1tL4LRY18VcU8e+dgjlUL8+Va/mf5ugwP24Bql3COzjmbqN12N0sJxXdbWbFgAWMtw7bw8bw9nwO9PggCeT+fPg910aLTr0RMm5LKhTq0ZKkLaFnCHDGYVPAElUupqbZqTalJnG7mMHB2t6TNb4rPdqslKDmMPJbWRLHbBI42CJCWW8oEGuHztF4/gZBvNc8mihwWhn2Q+QPKhBWUIXTxGgDoB8Eagd8nkj6BPt0vLCo1p6WS/OEHFUj6zgXCVQJYUv4XMI8QpDcwPPif+2GImgcTHGhM8N3XvUQBsPU4OnN4RzIYbxh0SXIWCr2YQdYZhYlgFwrsbDaz+6bGJw5kvQfTnTt2+B+m9P0HGzCHh2nrnitc2r8uWTY4sAIkPhsifCGInBzoH/gAC3+j4RsPfPV/9u5vXTTDw7QNXknbtZZz1k7ZCm8v9yYrtoKDbSQ0rfWf1GeTwPjone+/8euWjm/b7s5+2XmDVXLVZlQfqyfOLU8bl5HIJYjuJItIRA6SZI9Ks75LlcyBogFIolMQ43WquRhI4UYAjMlRjwj0iBLVtf4F2cOSNR/0IAecT+vqHE4OqozJOozdKYi4ErQJEJQwUgDtmOLSwJ60mpsmz+oVrnU3vaWDOVmoz1m9KmBJm75TYFSRgxdYY4mmVujaQ0EBqCw8LCK/guBYgGIHr6hzxQVodv5NP2qjNkWRdBYGdgX6s8C7jZetkfUCCKxg2ppXD9l5a8DJVmIpvHH0Q0dft289H6NpWYxJ+j+trFo10lrpeg5FryXdL61NNljkoACrnUdZwQ9FpkT8kz71j4s095HWJTWzR+rHOFmLlJwGzm0QgWVhQIqnwNwljWCvz9YmMIyDZCOcNXcBcw0pGSC9dsitB5AKAIyB5xHxzSfAZ+Nm4YvxErN5Y50q8nXBOJFypQnlZTUEHgB0S0SyQ+Kbt37pfX2j88VVF75zV6U0tHwlU3wOIZ6DIGtYtVMBd2ae7wWceXDfntGZh/d9M/tBB88fPMDMU+0+WFWuxL0noXMvFpAXoeBSQdkrgt+QLPvW9K57R+6+7iXKm5v12nzVQ6X1a0/aDOA2APOBFHgsavKMj8ULuQoy9jqiZSC4RLvihw4evOuej/5lDV73M/FZpw/1LBmobIkSdzGAnA6+1ie+MQ1Z8yHhxpOcZSm4pJeS8kYCt1GcW6ZE9TzsUTBTjqb+P0XkJ3za3EnsHwHfHDVdyZAcJ+LcoEt6NgrwyYRJfx45TaPwHvbpiGRNayRRVDkTo/g8IFgRDLZZa23Bn9sIMVYZDDm1sgatK5z7NloTxUZ4wn3rvelvtE3M8tOWi2kEW1mbcwzFwdBpD3hc5NlHzJkHivpcN2qw4Q1qFHnxtiP0DElwG5yt0aSVjHy2Ud9rDd6EPr9xqUKxoWP4s7UenRKyvk/eFdemevE33Y52kjTU1J8h67fgPHTNVZEdUP1EHpO0+RXh2mPCrkrl6hpC1ExmJZKr6KQWIIwKZ49z1ngMvZ8g5aYrxwCghFFpFcTx6YTxGUBumeUgSIdD6m7WvTrYXyeQp3yWPQLZzC4imRFJlmIcnwyUbAKQ5QIyg+wfEp8+Klk6Djqy5SJVThmCUl8ZSn2jInQIQcaaqd87NTG+b6YxaWn2usEIJ8sDpT4Vs4ZvTc2Vfl/07tG+ZOnAFnCwFRhPF8QKsIwwwNeI0gcna+OHYM+edK776/s9d//BAMwcJCvl1ZWq790UIbxckF5gsYHIDiT4eq0+c++Rdcin/SSuvN6dedZZrrKnJnePPcrbzjovZrd6PRFuBYqWA3APKkhp/wDlsUmauvHu9y6b0Ftm69u/HvWt2dTTpJ5T4wgvRcAzWWAKgP+zVpev4vSTUSnmM8Tme5IhikqnIrmTELEaSDSGVmVBm/RxKP4J4OzbPm0+4NiPdYonMPgEo55V6NwWJFoPQGVV3wWhgyL8KHPtMccw5n0jQtL0nJaGfkzERMkKcO4sJFwNomN6BrEGFsELvOhAFL2QkK8qzVP7ygZNefTYtqTtjCRDKjxnCyc/yLaIW8FQCqSe0CsvbiNTvyj6zMYdaCX8AfZCk70TgFvqR8anz4duwvo6CgXtNlOrfNC5/yHMLsjxebSsc1mGWa212e6YTHt4JFhJkzWN3ite7hff2MMYlUi82puPUog2HcXJECXJKQi0Acn12Vcv2WFheZT9zIPSSMcdqT1xeLECcFJe76LSWULuLERUDVMTKyaENMjkKdXUj7NGlWn9AZT0sHbTBbkqrnoSUXwqRrRWGOogmp2k9wE3JjHlb27/6OZ7i21tG97fK/GyV4DjzU5wkFGl6+wkP+Cl8ZmuyLOrRhLun5ed+4Z1EcXnOpSXCOBqIDkIHr8Crvn1xr6DB0sDD6c/KHXP72vA1LoiLN1Y7e/p3YARnC9CW/Mmx/3C/ou1bHLnV4cHD8/3VDvnXft6li0ZfBE4ORtZDgnTYXQyFqLK2v7tw0vHwdLzX602oVL1MWIl/drBxsTmuDSwfCUl7hUC9ApmKIvItzMvt43sOfDgnutW13Sb57/z0a2lcvJqjEtbAN16EKioGU2QIIceJSWLQEPY3ydp/RuYNXcb0VlfOWddSGJwpaUUJWdo5x4BK+bGBTwukj4EUnsYGCdNTyOiXvBqcGbC3xOY8qRqQ9j177HHxdWTBaMzkKI1oBNHIfUtjMmt8ZLroR8ZC2qIlvuPFaFuS2c4D7pabZhcRMiWK7j3uSZxR6um7f6Y81Tb7wW+kWF5AXABWs35186eIUu+fsMvPea2anuut9m2HrJjDcyl1ucLVNWj1WMrZiUDeb8gArTR14ag7NHA4nnaE+zGLHvApzMjKDITFpQY49KATXUxT3vf0OZhEL2MkhXootPJJSeLZRL2TFBK0AOS1R+ULJtq+fLk540p6nFJ6Qx0pa3kcL1480ifAAI1qMufCjwJnD0CPn3YN+rjzqFKGwFnUQ+VS6cKRWcgqHB09hRIfFOt7P7djzx4WGuXWz9yqH8A+s5lgcSzHIqZJ9hn0zVozNDETDqa1XlFVCYeqMZJXO7xKfvGngfG5oweh4fpgvhdKypYPg9FXiYOh5DlSQH8mpfG3dmBQ+N37b6r+f2ctn/fAaY2bibhtKQPlg5RFJ8nCNtQtCmiT3jZ3pya2PnlP1wxOQdI4pnDO2ItdGvTRiNKbeJksHpN4txm0IkKgV5G7tGJCRLZc2D80L/e89FV07ou227t3J6+vt4zkPAyADwdWHYxws0To1Pf/NafLNGo014b3jZSWr1hzYYYZt4K4i9EkKrK3OTzL32ANBAK+uk3fDrzTYTsoKbDOhpXyFkaJFLUg1TaAhSdiY4GcgJ0AyV7zDemdiDwwfwejXVkDkjKqGo4HieVCBOGh/PbOE9vfeZjiqMV5MobRGiTWVagnj8LN1v+Y/lQTxDVtVdxqXQGGR0xZatBky/eocTR+nh3k7zzSzri8x0hom2+TeLMQ952CFlsoLU7Qfltdjk1R5cWKhcZ/hy3gGX0QdStKFGE5pdX76NRlGwk45nHIMsO6Bi37Z6LVdSt9f15LxFFpSEt4XhqHkCfThg5Xdi5qGcNUnwukFsFSLENCIns46z+HfFNteJttJTZcjakB4niuOckLEUvA3RbwkMTxgHEwDgMHfnDkvmHhZsPojQOk3bjc+q8AK2AqOcMjKsrKKqMC/OXPPsvpYcO7Lvr2vX17qbP8uS01zjQjjn0e4EKBVc3tTT5Vq1Rv2XObK3rprvwgzNrS5S8SMETEIcA5An0cCf72j27Dz41+fDg36ffb3Sl7xfANLDrbazv661WzhWBy9HhSSAyggw3eR775vbhIS2Uz/fCi363tj6J3RWIrk/Aj4mXw4jusCAfIvB7b//2p3Z3Pfnsjgrd8S0D6KrnA8EVKLBEgO9MM775zuHyo7M2eOX17pJTX7+8mdCrIoouZG5sEJ+q2pCl3gBuEEBm2Ne/Is361wGyyfZ4eId+oWXDySC50ouBog0WBxpNXKZY0u9AY+b+MLesGEwJYWlIEGPI0t2AaV6XzdfXUi2fbb6m+63DRhQlQ+SSzQDJOgBebrxOVmnuMMMSpsbDPKDxKFtCvwWIFijY1eyZVWMsaordGV1nEt9Vk5x1Yuf6fHcB4MgSQUcbPQ9Hu7ZvD4miORXCU+2H53VX7YSnCDIt4p8S5ifY1/eAl1FEbap18bqtsNAeZS1+F4h6AMvLgRtj6NPJvM+k0+a9UannxUDxRkAp2xiryAxhdp9vzOwgVCX3zleH4jqW1kPc83IiOksAatYQIk6t5Gxy83BIwO+UbPJRFMoj3/D5lPx9cfkUBcArkPAUALkny/gz44fHHr2n9y9rCmAaHJC78OQMMImQZ5pTjcOHyk9a4KABh/4cGOxxEZSiuO5cVFb5qINT24dPUfBuFVg69/7iD86sd5CcjyQvF8F+AL5XAO5IJyYeqY8/Xv9+qXd+TwNmEU32u2XrUehViPRSvY0Z+QtUyz5/+9XVJ+dBSNw2fIdT6oRGkrbMmjVxj1u6MvJuBTvsR+FlCNgvpL/LGNaaN932od6Wkoxu2zdesjQqV14GBG+wWE38p9OZ2ufu/MiSsa7t4rbh/T0AS852EV7GXjZqJU643i9ZYyWiWwIAZeD0Hp/NfAF82u5IdjoThJlrQiqvclH1PNB6UGsUkadBsm9xY/q+Qjg2LBsPAFBFfPaU8vKOOB9F+tp644g/2Dvqwy0YLSMsrVEqCiKtAKQlBKIm5ypErMT1ICdpV03exS4iw5A/553trp5Md5Ba7Es3xs1arlh/EbF2BLmtz+f70r2ewFUK+1Jc4VYN7T47Oehad0v7PYpjNI3MYyJ+PwPv8Vl9n9YHNTrs/LT1pFpNqfwdVcvPm3Ody4qovXHUzz57ykFm5Rp9ecZyXO45HzDZCGQqUSakiZw96LPpb6H4ectJ9n3EldPJVS4RwJUIPKbjjxoSmygdanPPP8FZ7TusZYG8Rkouu2f7h87UGiZe/IHG6Y7oTQh4jtb6heVTwuOPbB8eUnCcBXzbhqdWOYpf45FWKqnfBKpDH4p0tpa9/Pv07nvuXQj4lLK0GjZvlggvE6BziGQsY7yTsfGVg+nIwZ3DZ+kDf07QnS8aej7//j0JmCGq29SD2LvVIbwWENeIyAMI8qk9/NCOncNnaR1n3tdr3nNowFf7XgooK4mkId7NIEgdEOopyBRxc+/24d5984HthcMTS0tQPZ8I36wXBAj8m/eHts8ZxVqN811DejExupcTQIV1UFxLcL6xBiHdJMIHfVq/VbKp+wvFoXDDIVrqXGCC3gRRaci50kUI0ZCSWvKRwlR8+gCn0//ZCYoiGIuLBpWiZClfcKQIcJb/rtTq2cc5N2B2nwsGVyLCPnHRMmJcpRGvCKjAQy8BVM1HIQye5w2TUHXMWeyzuy/dT5dceaiItgL8hi72Yl5tseH20vN+vpBECrXQToZ8AwBnlHKD4CdEYL/4xv6UeQwhm1Zy/9H3pfvZ5IJuXuE0VHy/+iDR8oorr0LfnFa+pJFZ8/cZsCeKk5UIZM0WirQTziJZYw8KH24L0M29N16iSpRULkYqX6jezIA8phaTIcA3guoEc/NenzYedpjVOgCztcJXf7B2skjy4wRyAaDcAxnf6GHPo50RozaH0PWv9YIqLpiy4wZ5SX3DN0R8Vjv08NRCYNl9BNuGx5Y47D1PCC5BxFUMco9kfNOhqbFdRbS7mOvh+VzmewowldKzcnDNYIzRqxy61+iJEPG3sqR3HAXg7H7TjnVtTcWOxyhF0LeRkFZrZCfiK0hYhTDDyxniPV94f3xX93184Tt3lSsDK88AxJ9FwCEguNH7QzfPl+4HYH/BJiK6AgXPzs0L7K5X/2+R5mZOZx7Lmoc/S8BW41Rh19mvdojJ4pbESeV8pGgjUrjo9Q5kgTHOaneCNPZ2fpYFSkTxMh3bNPrSnK+2oMexXFjKcUdUBXCd/AsvgbhERH2AcS9B3AckSzV6Fuf6EZRYD9qBV7FcFRlWaweTkAt2lK2VtESLcx0O68WEztTsPQzxX/hjKCuG0mQI9UxZI/DVrXGdm64Z3VQhSs+fKQUpY7QBYqn1hGYTnlWkN51kHXflup63ecGxbYU7x9lb9LS1ViDLK9U6Unx9Io7iRX9y0d+Zq5xOUflHAFDHZA8iQvjigmSURq0PZNn0PVEkX9z+oXaXvHP9F/927ZSoFP00iEac/PmGpJ/58o7PPPV8NGlePlzfkiBdDkQvFZERjXYBxu8F2FH/Xuqwfy8AJm4bfqwEsGqVQ3c5Ar1SBMYA5cbxJ7+9fTFPLUsXML5ExDxtGsLSQHI6eqY3g/qsjHvY8+D24VO0uH3kK48SI0heL4SvA4GvNOv1//WlD89P5lVwXzd48hkE+GYCPFkIVNwi3PcoS1FgFfPMVxrT++8l8IU1IPhCn6iFFjlgMkVYKp8aYeXCIDmhzJGwq977/dycuB0cThb+OHojC0uCrjxo4yfp4QNIkd0b9qFWSVQn+TrsXfJb1dy2OlLKlgNX/vkj3id1fSDV5Ajr7yipiWNSUjTpOB2VqgDUg0qcRyVUU9lGNB3FYJMwKrUjsU4yIaOaeSvcme6kIeYsWmaOoGFyRgfR1YhMddXVlT0DVsK46lCCeoGry5eq4i3JnAAAIABJREFUQOm/ZxhhWtLmjGA2JZBNmxlS5EKrxBC48EnPI/zCM73Ns7RJUHOXtO80+KwXvt9tR898dWjSHqq4F66B/HfzadIHdVRezdw4gJLNOC35dVnuFOsufMi7L9LCx37299/2Ng+maD1rKSq/GQUHAOGAKOMiVCaCEB+mI8jp//5C8je3Ha3Z8urh5vlI9Au6DwzyD8Jjd8+Vpi8azI9hwUveN7USSsmbEOliFtmLAjd7mPr6fJzQY1j1s7LodxMwcevwnsrSbPBkcfQGQjiPAe4D4H++bbj0nQXqGAjDw619P2fqVyrLeped6rymkBADYwkJSig+0dEzYJqeodqX/mO4T6d5Zr22DT9WRr/23MjRz9vQiee/+vwHkm8e7exqHWYITj3HAV4JgKva3rd2v+vEjgpo3FSrjdwUCZyVo575VPi0u5qQA2YU90dUvQAp2aiFMIu5tGaoNzDLgYynt4NvjgVf8/ZLEKsIldXCtYMgzcMtr+oWoOWA6VRBiAH0pwFe/ntQEwt/P5b3Lc7LUd9ufvWd7LQryj058v0VnxJS5JT+ZCJCKqlpPHKVI2ICFwM0bVgz7KCFjuaQmXsRBUk5NuERc8hlJNLsVQu5qoWX23GE47Hn0qz9me/4ih7Z7P01PxEz0skBtfB76GyitYzG8rC3Hf6aeJHthM6DU7weIGt6nx4g4MwAs/vVvf5i+0VGcsT2u1cQDpgoWYOuqtdlBZDHwWMW1PFU3UlNL+Ovp1T58zvhIyNHA02d7ukZGPoxBvdGQr6Tm9m/3h7/4d7nq6tt5Pjq0lcBwo/aBSHw6UZ96gvHk/o/K0iZr+S7Apj6ZVQHVqwHdm8GgK1I8K0M/P+3fbj88IIHNzxMl8JvrRJvtbtM1N7KgScnKWfiOWbfAN+8C65VDuXRFFZw2/DYAHH1UiL3ZgH+Yn1m4u/moSS1dkubQZF/2RlA9NMqqaYD2Lleo8ZGiaCsFsHHGo2pd5PsXcdCL+w8JlMHM8Aqbuhw82CUDFLUcwkpNzNM6YUbXuMpgOlM6t/k5tT9FiXN+rzFZRUXVYZYuMZQO2CuhB2vuSLM7ginm8Zi72c+JNVzvRQsjgDITpvLBb7JIwCty+TQ3m/O9ovrbPR3f76IHouAfW48Wfz6uiLAI46miFRnC5q2RPFzbkEZXXW1FiRBGqobYE9LMvDrBvS5jr/LL+9ox9+xv4ianlffBCjK1QwUuzz3IVcec658RzPN/uWLV1d3L9RguWS4cSaA+7+srOL9dWNPfef+xWR9C97Hi1zAJu+Wbni5I9R7tMRAn0nrU3dE5W9OfjdS9ecVMM+8ckeyasvG1c5FPyEILweGrzYl+6cvfrDy2CLPH+gJPGlgw0WI8JJcCUJldPJyjdXL9Hm6n31209G66K943/SqkovfAkgvZZLrbh+Ob1/EPuC299ZOjuLorUB4Rs6FK7RuFNzUPqD6tOji73/+6vjOi99z3wuY5UUBEfMOap6yWTe1o6uKrjKIUr4UiXptkMPuKKW+GStbI639zLUvMze6VJPCjSeUlIi1g+li4eY+5mwm2JKFl6aK86aMcxy4Ls8WFRZU9tkLhWxeZTfbNhpHO3/Fsm3b9MBZLD4/9/um3rOoa5SUBzlfSny049eHwjzH37m+7kXCe0E/Wd9zeeRuuqY6bICVFURYEUnH2TfHiKKs9Z0bgM3+/he6Pha8NruuL6K+HyOXnC7CytVMg1iVWulVDiFVxhH5DmnUP3Pbh/sDl/coL22iSqnvF5HwXGH5G0+775q3vLXQyo73/Suvd5ee/mMvF4dvUTEaYfgXpskvbd/xucnno8bauo+Od/+P5XPbtt0RuQu3DlBUfgMCXiHAj6QZ/M32D5cW5S2izZXaWGjozPca6qlaINVYqv0GgKNMFKCBJSU/i4RnifhrPv8BKwEs+LrwnRPLqn3l1xHgpYGl2NZnDI0OHBLAJ6Yn977jrmvX1y5+zyMvYG4EwDwipOveXLKUqPRKhGhFsCfMxSVDw8PEKUXSPZmvf024OR5mrPOQw6IqLe/pOLTrJ5esULUbZj8J4CdFJAtAdbQQpXt/1OVH+wZFiDlXSNT5mY4Wjv25I2W3f3e/v9DpLoLk+fojs0PA8HDoDHmPPJ45j/+IJlzxue4Qs/v4i2MMyxPGKlqcEFWVQrQEpDkuvnkQyec1mIVC1u79nWt7ncscff+QejY5qr5ZlNiOOq4bWmiOKoecK40LQF0Y/+Hx8ZH/fPhjp7Zq7Ef5VvA172++DYguBc7+dmzfoS/dfd2anOO50Hf57L2vWLBk6OzLkegnEXHMZ/BPPDZ2z/aPH0mFeva22l7Top7ex7/hYbrgqqt6e/p6LnIU/ZQgTxPAX9/6geTuxa5TaxmVuP8yIrTmRufnjMQShLyb6OGez30o+dZC69WiMlHyVhQ6x/vs6ts+0kU+n2cF+kUNLD/nBc7hfwXAfsOzvByoMzzgoIdZVj49EXnT5z8Y/5GuZtt7d2xOU7pooX3S94WiKkHpXITkbDTuZYcjmK0g0GJE/Kj3zW96nt6rArYtLOrYiGilj+JeomiAMCozZzWRTBVz9AJPC33LBferaIDMueDi6EkLbuOoCxyDZq09QI7jdQybmLX24tyoToCS0KO4R8+19+kUQHYATDHqu/cScQNJeclPCetsuDU/7fyQq+6PXEUV4DXl2ZFy+o9fvLq6a7F7esn7Gz9D6NSl9Lq99z345Z03HJ3it9j1HutyigvV8sCbAOgNjHIfNP3f+717n9j+yXkau8e6gXmWf84A02oPlfUbosT9EgCuR4H/feuD/3rTsYbP2972WDleu/ZsYOwpCNudx5LzDjNP2e7br648frTzYic57r8C0L0+Q/+ROz5Q2rHY86jRZU9P5Y0o8CoV3bXPmaWC2oEpcJsb5CoQ+cfPXZ38pb590bvv7wMvP26L5h3pIoU7ogvNTOQqa5zrucgU3lsGsJ17GKIEFJhhbj6cSeNB8A2lx3Td9h1UJZbIuWQpQtxDhLE6zIo0Jxh14ihtko5sdshfzAkKc5wkcw86Skrd/ZFibHC+FHzu7+EY0Ox4AbNrYmfOhkxgcAZ+q5rPuThhkF6kWMWAVTSlyciHOasfJhfNGRIv9P0v9jpc7HIsrlwqLfkpAB355eki2HBR3y6CpGFaI9pRY/z7mdq+r2hGtNh1v/p3mm+LkF6WCv/FHR/40NPZ2XdPjX3bb02tisqltyHA+QLy6emp2o13Xft0/+I52qfnADCHaduvv6M/7um7FEV+BgC+Olmb+au7ru1WLD/K15PbRRRLrJsMaXb3a/sn//bpdGdxX5aWBeiCl5/vIvxFEfmnz38ovmWxF4jeJ5e8t36Kc/hLgG5NTkVupZm5ZEWPCK9CwM/c+qEQYRpovus7Pyls4sBdryNTWL3IE9ej4hgvzLXWTFTCPlioh5sco1kbqGDNGGfpw00/84RwY0pzwvBQUcDsWr9yFjMdhYyqDuMlLFQ2RTZWky2ZZk6n1SpWJGOrp6kJ26z6ZXeKvfDxtPdhrjN9jCn8QosvVAKY9/OzQZmU3NmSqGMSiGKnTAv1CZeoBORjBKc+8zMM2QT7Zi1M0Sy4gwt+/7PPV9f6FqwQzP5+EJIlcdL/VhFVhpdpHa5VM44oGXzEdiQ87CMU/kqNGzccjULX/e1pL2LtaZt/W4B8U9JPHEuEegz33DEtetn/3bxAHPwyIE0D899OzTy141geAovd2LMKmHoiV2/evJnA/XcQXoIIf37rh5OvLnZndDldx5otp74YGF6qdXSdZtH6YK5tq4OsakmYANA0s//7xabUr/7N2slRKfolFf+99cPxR451n9ZtPvVFgPRftKnDZmfdmZKqKpnKv+EqANwFjQPvuDUX7XjFb337xV6ic0HvPeUw6s9wwao9gnH97N/5DYFAPVHUey5ifGrQVwvsxHA/6tHnmad+XOk4ip3sJzyku9lnIx5mxoEhRTUx6yjpzdVUsTl0cCWgSKd3egjjiNnrnLR5bTMYa70hnDYEM48SqzFa2N+uqBSDarmaBOX92PC7/s0W734/F6poNXWO4CUe4/rybRfb6+5Cdx5/2Ga7NmseRwgJYZQguRKhUzGTGEWpafqE8g0BP80sNYFGA0l5n12v7u+3+K4L3uoiv//Wbh3r+rq2h1w9NU563iQsGjlO6xfmMJpyUf++jnKPWp48Dph94tYPVkYW6ph3HvFr3lM7CaP49wTgxumZvbc+F+B0LPeoLqtZ7caBk38WBN8AKJ+ayWb+9c6PLHk62lzkCNkiNvisAaZ20oj6XwUg/xUR7hyfPPz/fvVj80urzbtvV17vLlt/xRqfRKuApMGZNGKWphA3kDljlzbGxuppbWws23nD4uZO9USe0rP+lUj0FmL/gZs/YhfHol9b376nOrh82UUg9BZ1WTQzgznmVRBkabAPgKtv/Uh8h35Rr/uzh0oTj6c/aR47na+j1PTVkyeKe89ykJxuHVdtLpk6b76CrtlpFq/xg6JSg312UJif9NDY6z1PIqVNaxB1p91z9HCUoKXpJmo0xVBCogQYY03lddusRHFUiwtMwcSQ1dVQnSVZxeWYdCTU1B9y55wj0uSOaE4B4Th6NK0MWgGi1cNSjmWHJJ4+hHTd6vUWacosOgjg1FRObT7UiA4ySjByMTKX7OmHkiFIEx2oUnoqPmsypdPI+YjkQhHe89vTObKH2Hn8zJSUlr0JMdks4MfNfVLHsFzfbqQkH96w74II8KDP+JOff/T/33ms5bJL39d8GyKeljX9X9/+R+UQuX4PvC57X+NsQfyNEFRlH9v78CMjz1at9dkATLzsXZMrJCr/MgqcCwB/dusfxF88xvOGOpbYD/0V9RQtPhs7lxC5qmRYFnNH1J/gXXrwniKCW8x2XvHr06ur5eSnddlbPhJfs5jPdC5z2bv29Ui8/JUk8GYVXdPIUJUajGOdZ042wAiQIOA6IHwim66/+7Y/DWIeL//Ne7Z6QT037dcRTeTWnJ8to/4wEVY3OFd6AaJTdZdgFMmaKgeLMrNOKPy79O/qHVFEWiA64zsuyPuZ0/2S1Q96lLrmkrYudWTsFJcsfi8EczszQjWwUbQh0nS0hBglBJRIqIkq2KCkmTpYanip/okESlH32p3Xj6olu/esqat5WwB71tEZdckw5wgRiliyDF0SBXC3oI9VYM0ae2qho7inW0NrajkjvqvaOSqxUT3A7d8So9pN6npRddOc0t3DE04n3H2mIrtNIGoqKOqD2KZlWR148+/AoKSj0W/fyAJd/qOdv7kuuAW+/yM/shDrIH9fGF3Uc0aMPW8Q0IgYjYeJ4mpxtGS3fff5cQZdVplAlk80vvrlHdu3H5u5md5X5Z7S1STydwcOfPvO55OfudA9vO1X9/eWBpb8oiBejAzXNQ6P3bn940dVNFtolfb+MwJMrQuWz79wExP9mp58L+mHP/8HlScWteWOhSyUrmy4GAleqVMfui5mibQhISqlJVRXjUDWkUeUfdM4p2LQvJt9zbsbZ0TO/fc0kxtu+6P4S8e6f0q07y+tukhE3hpyOSv+GWDqz3A7BZwXkD4i2CAMnxJ/8BoF9iuvv949edfpVwjg8nm33RrVa3d7RbVzXHlZhOUzUeikMKenKbG6yeRqtq1Za8WLsC+KKrqcTR2aFK/OVEsNkA8yZAc4yw5pkwI5mxFHikSq3t0eF5xrJ7v3r6OkoIIT6iAD7CMgBTpDbqdjPKbwbuM84lT1SOt/VlhQ9FPwM5kQw3o2dXLKA3GzVmu5nwf0EpcFszI2uoCZ/mrpQbxHwow12lXPdN0dSZXyr1wrkxWy5lbn6yjHM+d3tNDyC72/0EU3x/c/6yPdJZzu9SmvioUiqqx1rvfHQbgMRAf00aQPipJb9rhYpEk5XoauHaowDMhxRZiqtn75pjf+rgjubWb1G7Zf039gocN8vt9/zXvqP0LofhlAPo2N2j/fciy9lDl29rgB0wq/p9h44LsZ4RuTzX1/+gzqGLjtbY+VopUDpZGZg/WHP/a0sKi+rjzT9m/b6ArcvuJ4zeWH6bW/+b6tENPbOEs/eutHF0+SL86XUooGl51zDgr8vM5Jm7yDIVOnfIQW0QN0gqgoBZwMAjdkOPnxz//BssMXvfvOXvEDbxIuJH2P4dLROXMqrYuovAXBrRCUXBY4bD8wqzq10Tpz9jAWp0uqfFjYqqgzZE0niFijUJMySyeBfU2jUBAVxTU7BgPSwPk8+su3rBwWWvLo76s3+HfrZUpD6iQcwFqLsAse93drX7u3q2DpXO/6mKo/Cqi0N9kvYh5CELuBpxyUDnc+5O0sm+e6fxSAP3msZapi+5e9t/l2zaoakH1i+zGWup6vc3f5expnAbr/CaIi4/W/vPWjphFxXN/tcQGmUn2SoXWvIIGrBOWGW/4w+bvjOXiNLE/mlb2+StrYAahTVHYYpYRJAtSjaTgDVEB8SRyNfu4PP/S0n/LiuuLF/iiwrz9l40Ug7o2Q1X7/eJ8w2jSKHf0CICoQmiPY7AuwHW1aogg4KCybkOgO9um1tz7+qSe2bThrRT2Ty1WM4cjztdCsnAFdTNizxlGymZQkL1gKkKk9IadRZStp6BxrzkFylkilRZ9K92w1r7RbzgqitcDX9FMZyCSIEt/TGQRqeMzUBVtVgAQ1tcY4r+Xm0emsg3qmRb2FPr+Y89WxQ9a/0tOu35o2y1TUUTtUsUJ0DOjKRr0C7EOkHgCeyny6x8vMZOiCL1TE7P5GF9r/7uWP8Xg6irZaLim5vtMdlV8HQAkL70eAVBWcYlcZi6hndLbnSPFQYgcIX2qk9RuPNzq87N3ZT4D4CwTkus/9Ufmh48GB5+Mzl71rcghd5f0IzM1m9ge3X1vdczygecyAqWBZHlz3SnBwFXr+5GevKf3z8RywpvOl8y46B7WjZVmhKjJwLJyHGMgNEpphlDoKTInHB2+59uovHytganS4ov/cixDlTVBvXP3Zj82vQHS049j262NLylH1tYL4uhB9hLJYG3Jm17hUFUI5cISwRQRGBLNrG/v33eX7dvV51/9ahqjU6pQf6wk0bmV1iCDeQEBqc9AbRkKDNVf4GaJOs4vtmruZ3d/vgEzrfSuQmlQaB38GMyZToGwiwowIzwiyEuBrDL6BDA0Gn6JkqRA1xPuMiTMFVuMeqoKS3tydKaXVF0PUupjo9YhoKmcWWG2zeOka7cBDV16c0/pnghBFWnPVqFzrrqg0GxdpU0uVraooVAUVMFHFeqMToYKIVilY9SgZ+PEMGo+L1CdAMDsqZ7WT9bBQir5QCr6Ia0IHFBzGfTH1vpQouVDV10X4gDawlFUSUflQiUKafMTD3RzjuJkh/t3IzMjXFjntc8ReXf6exk8iw3mSyV/dcu0itCAWcVzP1SIXXHWwf2m593eAXAUa6Udv/hPjbR9TpHlMgKlgWVmx7mJguErA//nN15SPhct4xHmw2iD0V6Ymmml/z3jzsx87NadrDKOm45qKT27pw7uv+/TTj99jiyw7NoaXvrO5NYrgF5qer73tj8sPHtcXot37k994BgH9FwAZCg61nSBp04yzqsJmzApcAoGNCNAnIp+GTD45Wnv8YKk3fSV7XnZc+5J/yKhWFPc6iFcTJWtRcDAAQO7qXRhv5/rj9rFcUNeAvlNcVz24u1sb+fumW97q0JvRTcjoNGVXMA2EJ1VY0oaSMkQ1j9eOelOYFWRSm2cGztiaPWzLCjgv5FlViMRUiOZ+aY9fywkqbqQFZCWK5m7hUaiTSqxScYykdW8NexOyPrkO0IPKBWkzKDL9p8AvsiMzjlZo1uXcLXtchOpwoLsWb8x4yfZ4qY+INFU2TYnfx3SjPZPv+cgHhj3SkgR6T3VU2YZIKjY9KsKTGnVoZJlEPaMx9o4ZVLb7PKA8U7MK1vMC8PU6Nq/f/kfzimkvuNuXv6v5P5BwedNnf3P7NUcfHFlwZc/DAhbwrVjzu9pPSNl/8PZrrOey6O9y0YBpNcu1W86LHLwHxV930x+XP328x6fRJWzY0KbZVHuiiqtUUowqSYTllKkamWqPH1CXRPHyrZv/tPzA8W7vst80Kf5fEfaffSYg/7qrDvZD0vtqEbzCaG0hSujaLYvpTNxF3wmkdr1icYWwbESEMdbaJs98asqPKAn+rFlz4TlvZiGxjO732bNzrtxHkgw5pDXmec5YQcSkLXCuRblCzMIQoS1yPkuZvECQAjNy98aWi2No4yuqdK7P+tkF2d2CU5v5DHVW7QPlkm12wow3Xczi53/IO9E5TOXntajTWryshPr8mlV9YlbR0ILXOtsUrViJ4ntOZlWv85apWxc1q8OUt3gc5WTTXKCz4GMK788kfUy4ts9LVjfy/5ziHsGWvZgQWvjanZ2Sz/X9W40VIYmhelLkei4gdKexyBQaWEIaQD5OS9S7lzDK6UP5Q73FALBGmgLuOHv4+0PT93z7eLvbIXt7wdUA+ID42r8db7lr4XPz7C6hgdqAG/p9IYoa0viDY3lgLA4wr7zevX7dG898+gH/AUb+p5uvKf3j8R6CIfyy1a9GdC8ENs9v8gRNI1ojNOySFmkSwaRnOQwghzj1Oz/35z1acziu1+uumlzBUektRLjis0/82+8fK9+sc6OXvGNqZUzJm1W/s/h7iNbsyd0inxiWIGldMFWVbwZ8nIj2gfh+EXwVohpQwW0NGLtzprlvPRP0mgBxq7zUEe7phhZgtXTuo0VQHFXIJcucuOUIyXIyn3JMzItltkrvLJ2M1mCRqB+wxsg5IBUANBcXdI5vpfis/rTd715f92cWWn/3+wtdCbP7XvPhYSu2mGt/1Qm9tRn9LfgCBSkpkUMemiOZ1B7XOu8RUWAXkb6buH/E7s8zKCReHwpKoqI4gt5NjpLzEd0mAKmLyCiC1ML158BhMl6CntFQjsmbkp0P9OBbolemrvXT02OHb/vyJ+Z0WF3o7Nr7r31H/TSK6be9x+tu2f1v//FM7qtFbfBZXEiDHyn1/SEI7hae+fhiwX5RgHnp/5hekyTxb3vBx26+tj32dzz7b02YtaeerVa24nks8zzJ4htR1qxlzYlGx/B85615PJtqfcaehNWzLiJ0v5AKXPO5P1lYpGP+DQ7T66567ykUu7cyyqktlfVwO+mM+SQA7hcv+xH8E+Dx8cPTk/vrUdsZ77Kf29dDQ4MvR5C3AOPJSHz3jB//dp33VTxyYjQfs7Jq+TEc+/F3NvBBHPmkShQtcxIvJ3QDoFYTDFUgjBQEWv2fEC+FiaKOntARgXSxRwUwzXPDz+L3d4olFesu+lQLfV6311XyOOpJWWh9He/bhRZQJ+Tj+fEXXFfbjkbEwe0hE4AZAZ4WSccyae7yXD+IkQ6gdfTQFkmbnMuvw7anE/4OIvLlgdjFmwnLWxHcKrXVFeRRneAxf3SVbaF4KqG+UYRElee7nrTFWQpgaVEvwpfTWv3G2/5iYWm3ec+xBlHrf+wdjLy0CfzX3w/pePexXPYb6mQZ/5kA/8vo1MF/XYz60oKAqUiMUd/Ps8DZE08+9Wt33bD4If0F7vKw7SuvJ61V7l8xRIVEW+IrDgf7+sm7qh8f33fr3wVv8GfyUtCP4+S/AXD/zNie9z8jVZMrr3evXfOjmwHcjxJxvwA+hUwjDP4JwWz0MB4aXwzFSqPt0tK15zjBNwHCBQIwVueJB+oyOpaxNlGaWWCiL0zrWVBOrcP+yzpC6HocuIrDaAAgXuGMHA9lAFTyvdZdlQig/X5zh7BybPA507xe7dtCGXAOKq9ZjeWvljnZERFfbkdh8ZNVMLpM0EJIGST0jl5iss+bZmiBqgH0g71xfol3Hn8n9lrMmEdk5gtkW9XCnxeSJgo2VLzCY3MSGDWqPMyYzYg1I1WifpE0qK7tKxE/lGXbep9WkwZl5FMPUXVNBPELHJU2gkifCEwA8iEGqFtZQccnOJlOourBCMrBGrV76ED/prM8bdUpLwx3M6Q33vInPbP8oY713rr8N5rnOoD3eOH/RdmuOz67OIm4Y93Mc778Zb+RvixCeJ9n+f3GN7/8jYXI+0cFTI3MhpJzz6cI3i2p/62b/uI4Gyatwx6my37uVyq+v1qOUpdgxfU7cYMCvEIIBxFxCJmXWNEJqY4sh1iyf/vsx0wZ+pm+8PW/3tRpm3d4httv2XvjP3SnEOsufGdlZjSLDz30Z5Otm2jerQ7Ttl/91WpaR3wmaU1Y/TBd8o53rShBfAkQvgYAT/NQH63z4SebMHWAuT4mxp00Y5m50WOhiGaBs2cOloRl4qgH0VURXBW1+y5Ks4mqCqIYDM6UkqMIrsHK3Ggxuwg5Ox1eTHn9aJ+fjYntcr0ef8HkUQAkQY3Tra7XWp/+y5wdtQPORpbXOkroKmv3fxqEpxj8FIufEfRqWzuts/XP9OKb6/MhPdZHj45sRpWYkpMclE8jdBu1gQchktXvftJsS6ybh+wgPuywdywCpzP/rVe7alGQzYrmlUWXuuyXMWvcdLxMkWJDl//CxDLXV/kQII6Mjo198mufHJrPgfW4TptmoUNr11STg4206Wq+0pdJ7Tu7fc7F1m96MVfRorf9+nc2f0UAXtzk5u8U03nzffiogHn526dXu3L8fhH42mc/lnxi0Xsw14IalS3/0c2u5H5CWKXEuaSXMgmNMYjK9+/3RPuh4UdTl056qTcmsycax1uQnmsXLrxyV2VgzYpLHbqfA84+/pm9n/piJ2gueeHwkvH6qNvac87hu+/+5efkJlnoHFr5oHL2RgS6lAAvFshOSqExlcrU7ibMqHr3Xk++JpBxqPs+x+RqvaGVakMQk0RVFFclF1VQsCpAJW0qoUiCoqY8EiOQGpup4ZmWdXPzLctx7dCVwtmK+rrroaFRNPuatNFINdbtuE3s97zXU0QuhA2VAAAgAElEQVSHWhEpTOg0VQ2tcO3MpwKonMQmiE+BoMHIdWCYYUnrAjKlzRugLLNSyKKi+YW+xXnet0hPWUs29UQRlQYdlNYRJBsIabMKryjDQIjHgM1lNNV4Xjm2hNE0SWkywcpkUJOam1TQivk7fNhFYApQbktnpu/4/HXLzL30eF9aTooHB38dUE6eqfM1d/w/pQf1Wz3e9c31uR/5tdqr2EXvUk4wsDwBiLuZeQ8j7Ykyv28mru1XMJ2sp7xkVZ0NTLd/4ekTcnxMGh2jrCZLPu4BPnf4yaf++WhZ9LyAqeCybPXQGwHwjenYoV98FtJivOi/jfb2VHuXe0kPJ/TU1HcjjN/2trEl1f6enyDA1wrAH0/fc+d/tsLwzVf191GSDAzy9O67rl20PuCzebF0rkuftBuGNm3ACM9HwVd74I0M9WoKjcOpTO1jSfem2BhTOwod/WMFiYKeM48L4ryAcMzLh2gtt3E1cQv7vw5ECmqsF6v6kTpFirLDQQU81DHSKfg6e1bq8oECpXSDfGbPnMW0gJd7nCsPVLtUOgapOEgMJJkG3AKUijmNmXukjn9mQtAAzjKx2XWXadpsLHtRd+VQW5jz+3oGx188CUI82+FCCToZyoTqOuVKkQO3JLAYopMcxhtAcOn/ae9L4Oyoqrz/59yqt/WSztbZgJAQtoRVEEFRwk6ABIFpENRh0XHGccQZZcZxZr5vevzGTx11XHAb1NFZAKE/BQkkQwSMogaEsCcsWYCQdHe60+vrt1XVPefrW90dsqdf0p2FvPoR3uvuulX3nnvrX+ee5X+IXD1y58Cx3Q68FXHdH3VecgMvn+BMr0Gyb6Bsye6PwYSKza8iAr2u0IfyPRue2yszlMu4+/O26ip/7CdcHS4R/dfFt933ZGPjSm3cde2s3Xd6mzPmfTJ/mJJ3viE9RpmPhegUsEtggVtPzubuTFXNCl0DNz6S1xBxC6j3hcV7QvjjHFh/WZjL6n2S2P71g19PuZI5O5T3TgHTddqQ92Ur2rT428n7yh71AdzAbSm8dPoDxHRJJPY76zau+VXMZnLaxzI12ZoMjRfpXfb17Wvn7NcxNfL5n/j02ASnT2DG6RA5M6JglkUUqhSLIQXdzgERSdAmJHmCI5VwVPAuhzoO6xnWA7fzIe55JsrANXeX+VLu9ff1ZOy6f/H22uXRO2IQuJRDR1Li1xnypxn1jmDyJxIwDsRphZQU6IU4Yl/Ng1zmmOOcSxY9JPJEfj6BZOz9Hjp26MMa9FFtDqx4izDQmXVz1uIPkYYP//LbX+nfMu+Z9jVw/0aee+OnajO11Z8iwhwovtFafO7J5V1rBU3XjPgWOb5lwz3mrWs38kV/9pkJnpeYRKSTlHgKQDNBNJNUZoAwrd/U1hVa/dCSb3+xP866/LG6nd2k1EnfIMbysKPz7p0piDsEzHnzViXNzMPPV+IPdW7c+JERdPTs61W+0/td9vHuseRl/khBV0Dlp50b2352GD4dNL1QX1cdpk1tXXVf8/LGfV6zZPgCauTzP3rrxETaO5nVvBMqx0cmmqUI66yGPVYLXRGiXouoQzTaZBH2wtEBkeeIghyHxaC2tdN48eF3ZT+cubu66tt2qdzzdzok5/ZyEf9x6FbMm8eGTcrArzPwJ7uaTEymHjCTmbgmDpJzAfxAHiq9MUCq4+MzJQO/YNgPDBIFpoTLaNv8UtvS4b5tX7b9m8TOos1HSESvhaqP9LZufGFvn904I2/2WUd6Ht8CYKJafCO/4nfLl879tWApGEsb3ZtkL1/GW4/wgo91jvGTNaeIyKYIpVbTmy86W2ZbLi8rscJuBdIN95h5k8+vEltV/2b7mnV7Q+N2yS2F85nMH6tEf78zv8kOAdOBCTjz9yC89OC3Ez/aD8/DPrmlMzvUTZg41xj6mBJeQaS3P/HoN9s3Ra+lM4mUmXrkzM7Vi28ZToGofdLfXd9kQAtIpdOTPKbZAN4B6HEhRZOAaKzVKCEc9VgtdUUadgPSZdX2CaKsxk6OSJmMlYGSP+poP4dd++cAGP1ed2FwS+5ILAYUYgZZa+DYk2JLh+/SLKsNcQ2pN4ZhxhK4nsETAR4DIp+JWCQ2EeRjDdIRmQgV2Hh5VhRZk6HHXsCaKA4m8g92eyiUaZswsq0SybY/562g+DjSIBKl9UT2d6VS/smHbx/Xu5dARvM+uSpB9vBzyThCcF0ngXxj8e39NbAaGwmNzQZzp+poAOa8T5ZmM/FX+su9HAtFAKK1EH2ZGK9AZIMQvVnSUvNWQNrU1G+WaXRC2mPwdry3k5MTfiyQH73RumbpjsB3R4BJl328OIOY/qWfJvYfFt4+vMqOe71g99cF3Btq3BXHsk+fgOg0Vvzk2ed//oeOTc9ANaTalOne+PxX9zqsaf8Mr5Ev+NgtNWlUTYlYpho2RynjeBI5zrKd7BQdlx7tCNAihAVF2CMa9kUIelWiHiEqgKIQKoEaDsSGLpBvKJVQ1XPhNwPsH+6LcdnJm+nutgrj3C7yfkf0eEO/27GsdhcGsOO/x9kxsWM/pqt3ZeQHAHEgCTKuo8hgH8zOqeXKOaSITLWnXAd4Y5nNWIYZAyBDcAXFOEVEjm8zAmsBzrsO6oMgZ4izAOeZ/MAIBUypkJ1N2Vlh3bFl8P22EVlDj/lm6+PgCdsE7Mf7gi24AZQRxcHXsI/ngmD50tv/td+UVP6WdEuZx45HnjPN8/hGEJ8tqv/PFgr3PPSjMZ2Y2+gd+Tq81zMrZG79HFk6Chqm2+GGhx82yTdmKrMeCcJsgE8g6CwFPCY4j38JoFaCrFTQysjSWk/C1x7oeKB1bwLoL/9E+DmwZPqy+a8t/clYx9a+1bEdYLrO8vTD5xLTNWvbV398b1Tc/QMSe3bXeR/sqPVqqy93ZggiXb1x46qmV179+XoKuwXJmp6uZ/6xZzNY7NktDqhWsdnl8MMmqecdxipHgngqSKdBaZogOkxJ6h3ZpCIqCaTgAqZFg0iJ3M9FQamkisBSWARJQZTyokFJQQXADvBQxmARK6oD4DqUyTTwu83ZSzuS60CO0UD+jRNc/H2zl30oQNwxKMdxjANMRGTNQNUOdqqeD+N77NJDQSlmTpNQhslkwJwh64rqsXMkpAFKkVLKlR8BsYtDjTlEiUyRlV2KYZGZ8yrIEUwfAX3s/oZEwOrsG5u1GodlmwM/34pR3VG86u6i8N/6u9vUOyvAYI57HGagiqLTvAR4Igizz42ARhnbDS8Ye0F1wqu6lAg3MKhVLb67tmPVsyvumR3SnH/yJ3l9/sbeTRbjExbL/y0aaQ+5k9+8eati+sLF1c9EW26/3ZrV6YdNIWAms5nBpDMFfAxBjyEiV1r6v4th7gt7EwlwyScK5/tkbiwi/OyOsgu3A0wXNpCsGvchkB6x8HvJvz+gnvLR7ozLXqhbcBR79FECn5YrdT7WuvGZR9ZveLLVmL7SmJp02+tLGwdzdEe7M/vn+s5mlTj8+CQl0kk2ybFszFSoTOO4XpFOdgtToLWknI49lyIZS5oh0bSypmKSiwFyjYKQDQYe7LjkbKCuxAW7LSvCAaoS6yjRnY3PgYBTdB03hON5Gohk31zIKE57cpXHjMakt06ZjYk1PMc4LHGhL1dKA0moC7p3tHeciMk2XMhLHHLvNOPNOT3OJe+S0kOAnIboat7kDDjLZHIqWnSJ6s4ZM0giauMSSjFwO/KPOAp1q0inXc3WdhFRcUmoLcJDd9I47vkWh4slYkK3WnlVhZ/s87pfHQkWcQeU88eenYx47JmGzQ1ENMWq3pnP5+5zWtbcuY3eiy359KaOTYAJZVZNXbR61bfcVnmPt787k1fskE1mPkHQXlVZTYJXi5pvy3Xlgh702m1tmE4bTkXTU9WpmkmuhkDupWXrdhd8vqu5uujPsvUJTn1HoF9Y1H7fC9tqq9sBpgu7qUlW36KkLQ98P/GD/fPY7t+7ugycqvRh72TYG6IoOqwv2/aHtq6Vv9qw/vmNqVRf13Rs2rR8+e37JU5z/0rmrbs7YE1POyljaxIplEwykeCUKKWMUkrIVjNxrRKqCRT/s5AMEdKs5NiUXB2dpLr4zXh76z4dJ2qc/ZIG61RSGhdnGDn/SlyyQqwzEbr4yhjIXAhAXFaCHJVcRI4dSV3cIkIQBQN8kBIS4trtcUqjY1CK2TsGgNDl+cc0cwOE7PFGl5wuFwNjnDgT33+zDWKI/Omt8FGHaHHnNn8OaZUDIDn0+9gGMHjOlnrn9u0HcXhA0IPAqkCfqq5n6PMlkheDlU+07A0oDM2im8Nw5gnpsX71GcTmOgVmAfSwwt754Pe+9HpjI/Cde9oy7X3qj/Vqpau3XU6b7hVHc+3Puyk70aSS/0SM01TVaf8uWaIHKi8Q8TOR2JeVaAP15lq6g3wYg+iA/XJEvJdOJjWz3/OfAvuD19rXbld3fTvAPP+Pe8dn0ql/EJWHH7w99eCB8oDuj344bTuRrnsPM11fLPXNLBQ3PduZff2XG9peXMda6Bw3obbt4HEK7Q8Jln/PeR/NH+YZ70oiPWUg2XHbZKLtfMRbJHBveb+YAX+LgPmtt8pvcWnubGu8rVFx6Nq720pveZ77vu0jtk37IS1yW6ZARY5IW0jxkipWRm+ue23x4qNHwAHZyLMbGrwp6cNrMpnkXICuBuFwVXpYI7knt/r3qyZObNdH1q2sCjb1pcioI86TXmNKjVdVF0Y65nJnK8Rtv3H44YcxYxYxHwfFyQScBNXxxJRVpQ6orlbgOQg9C0TrOro2te9tVICbsPkfD24XyMJcoWXJtrGr2wHm/I/1TgBSX4DSnQt/4P+6/CX/9msx/2PNGcjYM62EHwqi3OxCqfeVbKn1N62tK18uarYtmc63tC9t7Hv7jXzfj+iSPysc6SldRcQnbS5StDlnfQuw2ZJqLu7mlgC3rUd5qN2WYLUrr8soto9V5sH+bpWOLxGUC6rUzJA1DiRBHa8tvH3qSIS29fPL3sNn4axE3diJUw34XGK9AnB2Xfw6Unv3ou7718zGSrN+ZU+1Z/xMqddVCA00p2NLGD8lh32Q+ea241yMooLfG2QTHXZbHtwhEPWUTgHhVDJ8jEJdAsBUF/UBq3+zpnvNI3vrd7n8Y8FtxPrYpo62hdsC8A4Bk5H6Zyv2pw/8ML103z8yB+4d48ybsbOORal4TSC5c8KoaPPF7sd7ihuezZfWv5YrlVqnTO1uXdnUuH3d6gN3WAdUzy67uTjTeOZKQE8c0DAHl+iWhsAhgBzi8Ix/3mIpbz53C1Acbvu39ttb0yOV2z7GRJcfug0R1GaOkXi7X4KoIyRuYeBVS/rqoJbk7OR7bx90ESB9p3r+tCl1wt7JAM9nwikg6lSr95INl/Su/Urbs92o5iiskciakmcsgrx4NVyaVB9kVy++bQS02t0vsXg3VzXuK6yYA8KTKvq0pejVfClYXcr1lXay9abLru+u06rURAMcY0VfWNS7cP3eeMldT6/40+A7qrq0vavtgd0CpkP5FKc+p4pl9/8w+fPdD/VQPKOR5930mfFWihdZCS4Pw8J0i6gtX+x+Phu0rQqLPWso4TVn1pnmlSuvqYBnGUtkwUeKs0C4EkxzYtag7bTLHWiSW52z5c12FMczOu0dMA5Qww1mecfFPlycVQz6zqkVCSFPoj1CupEFr6uh16WvsPHBO7/Rn989IjY4mt2wwp86dko6YdN17GEWWT6XmU8SdeFS+rhAlgSFV5956tV7XepVbVQyaRehQzaypSi0dalEPjUmmd3Xzk2njEyvPXqO58nZpPRuBR01+O4qEGGtqixXNS+E1rZKGHYZCYpvBK3FvdUmd7A0af7HSj8WaJO8+ebD25pBttMwL2joHJOprflzJlu474epb5Sx1g/JU0877Sm//rgZRwecmxeExblQnRJp2FyMsq/mCx0ri7b3dWa7IZsNmjf97iPbEc0ekkLbxaAvv7F4tPHNVap6vMZ15Qa0xAHC8Le+bwamQceIO4/ZubaHHDZDXwY80kNOnKHv27XfgqpuKxrSwesPtY+Bcctj8O+uKlVsNHVJ8YRIYg+85lXRQcB6Ba8na1vDUq5l8R239ZtvRgQg41CguVXv9IG6VHUiVUtKc1jpPUp8IqBjCHjeaUsdbRsfX/Pmf4fqBTWBcFUYiiYMJLSRNew5LbL7wqNnZ5uartm6HPEoL1CXPFI1tirBhSDqSK8Phsh2Lru+eyylqo4j1tlgnETAKaQ6EaAuZawnoRVKdjksXlETdC/s+p+uvdUs3VDdtt8/4sj/RoTbNpjnlm1L/rP9lnx+c4YnTbhWBSfd/++JT4/I1mCUhX6gXH7+/OZMT1VwigddECB4h6iMtxK1l4Ls6lzU/bq1ubXsc3O+YJvrmle2rlxZ2bpvO3fzbywdR4avBOTYuG7SINflQF2aAY1x6LsD0IHfDRwDgDpwXvy3+Idt2gzudOPK7rtoH9PsxsfWQUEDwBhDo8QqJXHscQdpQQXtAuok0nZEUTMxNmh7T/fChVMdkcveb7Hj/jTyaaddbmpmHpFMV6fTzIlJHuE4AKeCcLqqIzjBOlH7603Z15evfeOBPlKbyYdBxhUFcP/CEqJUQkJmdPuC3v2ZAnzZnxQv9kHnANQSqX0Bga7SKMjnEl2FpT/5j/7dWfxioXkf7KjhVPURBnQG4moHdCSRTFOliBmPaxh98Rc/jmkg90rO824oHpVImC8jkv/9ix9/8eVtX2zbAabTmKadcvJZDP3TUjH78cV3jHcpVpWjTAm40CSO6B1RGJyrJGdbG05QIIy02JILs2sizbWKFNapJpqVgvVjW7pa9helXJlDG9XTL/to6XhP2HnJj4lDiN6qvraFnXLbbfVQ1OaWW3DXzW2cPEPa4RAj3haRlDF1+RApsovajLPFHdFRHDjv/rnwy5LTGsFxmE8fiDpEtA3gjbYUdRSCvu6lTd/td9KMkPY4iNinnfaUN+3k6alclEwkkRjPvh7OoBOI2JVJmeTILpV0VSHf+URr9uV1LRtX5MjLZSI7AJCu9hyJsaJSYF+7kkHUteGpfywcCIkYl9+cP4vgfYAIpzDB0dt1g/RpITylEa0WDZqDXFBoRkthZdMcF8oXT77bCVdVVznSjdlgPbwQhHcs+a89rzc+tKjn/0npGhaapxT87f0/rN647WLfDjDdCVfclD+cYL5Klr9x73/6y0b1CTkELu5eQoljxh9FNngvk32XkJ4o1jrWmt4IpU2FqPBGJL0tlqMWDXSDGm0rhNLSsqhh04GwqPflFM2/oTTHGL4KKke5wOgtqrRtBsChGMfBuKFBRvbtwsO3iI0ciDQfrNw2yJs5CKauZMOAzhpSHMcZlxN2W+o8CTmyjE6wdpEYV4GxOwhsL1DoXRw8khuJLeB2sh3cYqfD2gQSiSTEr016eqTCO5UgJwA8lUhroqjYnA96V/QWN65tya1sDQpdgihOc7UDIGmFYUKrUReFUXcqke5ev+zT+52ycGdryW3BOZE4lonPIjZnOTIZJSqSaqsAzyh0mQpWUynoKnn5QvDmS6WRiEXduj+NfMVNn/symDcFxd7v7UhZ3CFgOvSurqr6SwJK9/4k+eW9VXP35QN3ENyL5ja0VREVTrZcOtfCvsNKMF1i8tiw1yJsC7W4KZTSpkiDdiXZSFZaLJtWyQdtEza5oPn9Q268L2R7xY2lE5lwpQIzXa7jwD23DAuKf4rRL2bHHKxt7rRBVnYcaS6nx8W8x7XjY1dMXPVNXf5xUYASD2yfCwTOW9a8p5qPC+6pyTpeSo/C3tZCT34ZlgWjRl8G0Ny5vzLp9GHGn1KXcNpjVWCSnPSnwOhRojjKgI5WllmRDTNhVGgrRtmWvrD9jZ7chg19pTZHmlJy1ZgotGI1skImTCi61ZOOIG06OxZ90pXd3ast6kjP+dyGtuokkglNFUodK9cHy5efvl0CiFMwpsyZXe955kyAzlLS4wk0A25sKitc7CWpPtcn4cpH/rPW0TCOyBgv+nC2PpNI/TDS6F9anlvxxI76tkPAjLflJ7htufxVwUZ//tB/7139j5EW+tvreo089/031EYpHAsOz4Tqu1TDIyONapUdF1uUswg3Wg06IwQ9EUVuO9gKpk0em7a+Ur4lxX7LYe1/6Fq6tNER6R7Ux/wPF2YQ87uJeQrEuqycgUo9yuoSxNXllrvNsUu/dFk8gsCBYZx6SRqAEEikRfZMUa0WDLQoRgqFyJaoKBEnosjrLUXNzc3h8uWnO3mNyMO2C6HHMZCnrZ3JU6dO9aUmkwyN8X3rV3OC6z3oVGWdQYrjQomODVGoCqNiZG0pXxAHkB3ri6XellLY1xVRsRhTeairrKGuXEnWqnR6YjozHnf98dkt2X0VWL6ni+z9N5WuU6L3EeQViD4bWay1ku8e9Hhv3nJvef0FC9prTF3NFGvoDAa9F6BjFOJK2vx7d7b7h0ub6kciBpquuDn4MCnek49K/2vJf9W07WiMOwRMd6JD2yqT/LwKXrrvP//vbSNsl9lTeR8S7dwLq+rISUdqKjxZNTpZICeqyoxIS1UuFdAxjFtIVlDqCjXqDhHmwFQiVyTL8Ca21EGG2y15bcy5tmpvXPtIlvoY3UkYyESZ3peI12ZbW4/U1GR1tOq5jOBYyNkaEzMneXWJjC+B5zHYJKu8qigyYzxjJ4gxMyMtnRBFhVkKOz7SsMpKKRXaUl9R8+2RLTQHNrcxiPKbAsm5XGpnJogB0tURB6JOUepKGb8jU1XVubLp4AtZe/8NwWmAXg2m95JqRok3QuUpgf6eFavCsNg54PCZsVPOhiv/uHc8NH18ZGRT9vXfrx6JrXl8TU5/T1Xu7qbmB3d2/50CpouLOjZ51Dn9Qa63lKz8xaI702+M4OKqXKpMCQyGL00qmMIpasMTQw2OUZYjBTJVYGsUMUltEWRLEWneFfJSjvpCx74+YJPrMczdYOpSRZcCncbjLg5lU3KM315Tk+1e2njuQa+hlinW4Z7e/5w09m+hz2G3hfa8KpNNeVwX+p5NGy9wGqOY6pDzx1gKjhYK3Zb6MCE7UTWqU0itSORFWspFjodUgo5Io87IFjYFUa49opKLz4zz3IEozxHaXIVI46OjGPmdx2SndI8EKAx3sCN23gBr+g7DlJzZryaVPhGGzoLS2UqYQaBuBZ4mq79R1ucceHaG2eKyph/1hz2NqCNtmyE28pV//Hc3wuBcWwg/e/9Pq5p3JoOdAqZr8P73d9VRTeazjnGm1LHuSyOTyzpi03HIX8i91Gb406ryYViPZOlkJTlRIceqkcmhhmMsbK2Scy7FO9qCEApCWozr3sCGyq4wDkfqIXBcakzIK3u9BqZX1WYViW4ythdE3aLc4xvuEpWelF/dm0mGuaWNO9cCDuDJGVzzjf1b5dnxd7ddLsxM01HFsd4QELakg2Q6E9QEHFUjJgIJJoPNRFKpV9XxqjIBwDhVGgvYOlGtGrCqumJr7uUlBZEwGyHqCDVoFyl1WSkVBLaoxL0SSQcROkhKXazoJCS6k17UfTBqjTuaaxfPmJpwxMySlbxSvqvt5dcKO7IJurbOrjkmMWYGWM9lovNANF0VJQaeFOgTAjyPMNzYHnX1jkCu+Hbdvez64syER98U1duDTW8u2RXO7RIwXVDsFYkrZhvCF0j0Oz+780u/HF2kP4Afs4Oqa40874OfrE5rZmyegvqQC0eB9GjLMpNIjrDQiZZtRijyQ44SA+XHyHEFRTHbD2soTCGTq2AI64oxwJGqOY5Kl+pnBgu+ukwcj1yuc5Hh5ZQoZxxvJJBj52Vmv6TG8WhSyQMVlbyAjaNO84tkoyAyXGA1JSOeY3oXSyoMX4yBVVErEliFH1lbtMaVNvMC4yHFVAo9L52gSEJjbWQSYM+5uUms40lnUUmKalIQpUg5qdCktY4RSVKkSMFKmoC0gqqgtgqCakCrRGwNKVWBNAPrqOI0wQrfsbA718lAyTcHi47PM7ab5kRD5yjKhs5hJ2GWWLM2DFrV01YV6YJKt4C6EEmPctRjJvjdq2+7dJ+kG+7PJbvgur5JXsL7AoSni+oygj4Wkr7i7JWFDc/nd6Yxz537Wqpm+tSjjNA7ifViEpoxUIUdq1X0ZxtLbYtGEjRdSmY1xv2TK8ocRIUvPnhnXdeu5LZrwATgIvEnJ+uvYkWDjfQz992dWrM/J6Jy7xGRAF304dZMtR0zIRIzLkwVp1sNjlCWycI6xbJOYML4iGQsWGssa0pY2Bolx0gZVyQnjrnM40KJjttxEFAdYWRcBtZlAzrKNDLxfw7P1MGZoxV2xcJcdHlciNdFljvGX3ZYzO53MT9FXDHcVRZ3/7cDcCUOSG3MnwkbR6m7TKD4IGudP8TVKhqMmoybuOh0l54YM144ok13qqtDGQcsOWJe92NMy+6KUiJSV4NctaSOMFmkJGqLRMhCtFMVbYKgTTRqtbAbScNeUu6JnBbOyazHpZ6V3z13JBwQIzLJ+/MibvdzjH/0iWTkfUzmQkCmqGIjlJepjR4pRXZ1lOrLLin+prir8KxLry9MTxG/Qw2do6rNJen7/kjFhsd9TB39YSJ13AWfvvc/v7R6dwrhbgFz89a8KnMrgcaGUvzHhXfVbtqfk1G596hLIA55KU2c5SeRNDVeKkVRoo59GScs46yPScIyEZCJYnicstQJU7UYdVyWGSGk4BmfSBNi1HcluJXhwbCJPxnGUQW7IkKu4EBcv9zVB3ZQbBxeDnBMqojTYdV9xt/jwrt2oBimgzvnC4mDhsT5jh1eShxTad0ZGrJIpEoBiZYgUoJqnpT6JA46dwS1tkfVbopE28UE7aK2UyC9YUGyXOf3jqWu3NTT35NvumYovGnU5X7Q3cCBTn17m+zKxuq0uKpozKnEfDGYziRoPYBXxOpvFfy4aPCG9vVmFy8TRrMAABy/SURBVKZ+W9oFeMbRBiMW+9pwj7nSm382ed7noPa2Qsf2eeM7moxhAaYLdbvqqvw0TpkvCLCu0NX3lcWLKxlAB93q3icdHvByO3sgkW9KyYTvvMUEMu7TVSWPvzNxFIJ9HxS6T28gRzvGSPfPA3kuRyUVZzqydXqp+mEpLNlMXKlNrUtdsdY1cSqoWvZtZPrCSDW0a1Jd0ZaZIftk6IfYTRxYHpeY4bKNbGR1XW9rW+fSpTOcuWGnoVpXXtk7Hin/ZGJzqUvlJGitAq/0h6UuFcFTVCi+3tXVkVu6dBTt4w33mAXeFXM8xv9V0C9y7Z13LlkyeVh1u4YLmP1LoZGvaPjccb6PRlF9ojPq/bcRin86xJZZZbgVCbw9JOA83WP86s8TcKZAV/fneD8YBfqHsC/Xtrh695lQlzb0Tc4kvFNV+RIQ3hXbKlWeV9CibJh75OGmcf0sTiN9NPKV137uWDb4ZxCeznf23VaO8lcGYAKOvn3cpDNOJfL+t5IuKXTn/qOcm4300CvXq0igIoFRl0BMGbeTbTdd3NAzttpLvQ+kl0PpdACtCvya1D6at3ZtN7r7ljUdvlt+z8sb8tN838xlxWVw9aNUP/mzu7740u5simWN3mmWWDDL9+jzIKyTQulL995b21HONcoCTHdhB5rjx7/rNPbN3ynwRCFb+N6DD+7as1ROhyrnViRQkcCBIwHn9J1CE98Dkj4N7Np1617p2lF4UEPDikTEs44ixnwCziNgkoupVMUSUX1KCtm23t4XC7uLJ41Z1asn17atfaV7Z2FIeyKd2MGDo2cbo/8LhJf6ouK/PtQ0xqVVlnWUDZju6g0uIBXvP1FJPwvoG0HRfiuZfHDjvubSK2uklZMrEqhIoGwJzJ/fOyGVSX0ejDNEZJkqfmE0erGvr6VrZ/GKDQ3ZiRb+WWzoKgXNIVfEjPQRqP11kJc1vb3tPbuzdZbd0V00aGh4M61mwrtU6TNK9FQpW/jWnip5ewSYA31r5IaGz05Xor9jUEIVX+7rW7emEtw+klNduVZFAqMqgS0pnnZ6o4aGnnEWqXOYcR0pzVToClL9WalknwrD5o7Fi492VQW2c/Q4xUrkiuPI13mqfBkPOHheJMGi0MgTvl3b3NQ0Z1QrEsyb11FbPabmChHcBMjPst3dPxmug2dHAtkLwBy43JVXZuuN8f6SiI5XxfeCILvs/vsnVpjFR3WdVy5ekcDeS8Bpj0QmkUzmepua6p2XeJdEJA0NbdVCteeS0DXEOFGBFxS4j1WebG9vbduV1uhAF0idp4TLSfEOAK+JRP+H+cFnRmNnGvtbxp0xkT3vJgKdK9AfdLQ137+33ve9Bkw3bRdd1FpVVzPueoX+EaCLIgnv6up6qnN39oq9n/LKFSoSqEhgTyXQ0FC6HsDVqvqYKh4Mgs4Nw2GHd8/7mDFj3kXEHwJwsirWAnQ/YH/b09PTtmTJZJf9tUPwdZk848dPO55IzlClXzP/YtVIA6arfJBIjJlN5P0FXEaXRl/p6PjDsyOBRyMCmG7CHDnEzCNmn05s/lKhWYH9fhD0rFy4cETKhO7pmqi0q0igIoGdSKChoTCDlK9RoqtUpZuV747UPlIorG8djmktfuZnzj4d8K4F9Gwo2hT6C1U8ms12Ny9Z8v1+wuLRJM3YemDOBJDPX1SbTmfmE+EGUn2iGETfvv/+mJ5yRGj8RgwwB7tOV12Vm2yUbyHiU6F0lxZLi9a2jazHq/IEVCRQkcCOJeC8zNWYXNtjc/ldaXpbtr766tJJhugmqJ7rMnAscFcYRn/YsOGl9uF5qhv56qv/+h0Mcx0TnauqbUS4X4r6AB5YuKEJo19YzWm9NTXVRxlKfFQhx4Ho9vb25gf2dgu+rZRHGjDj67tJq0oefg4zfZygHRrJj7Nh4YXFi0ewWl7lialIoCKB7SRw7VX5MwH+qECXWehDnZ1PtA5nK+psfhPr3vUOYv4TMJ2uosuhuDtC+NxwzWsNuMdgwYJZlKDrVPUcFv5xbzF732jGasdVHv2p45O+uYLBV6viBY3kO033f2ntaGi3owKYQ9rmggW5KSnybmSmuRb62wj6U6+rt7lp6YgwJFcel4oE3vYScCDUPnciLV16ruOV3O22suHy/DTyzE3EuByg50Sjn5Rs7sX775/oSEF2297ZGCfUTXkfE/4ERDMh+htRaaJi+HLTQ1/vHi4INVxeOAJh0FdOm3ImMzYHTDi6BpnkGQS6AYSMAj9p72xePNJa5Zb9Gk3AjO8TB7rXnnGKx/7NRDpDrP4iCuWBzsLGTaM5sHKEXzm3IoEDVQJXX1482iMZn0e0euHCOCtlt6DnuB8ariy8j8G3xFkzIk0l6H1vvrliw/C22IArC5EwtRcawo0AOQ7QRwh0j3R1r2laOuKVMYctfvcC6Zt3flVVIn2CMd6HSDFbIL8IEd5x7717XzVydx0ZdcAc6oB7c00cM3UeQz8YV/uztsmK/Lo9395dAc7dTVPZf4/ZhoarlZR99UqDvZDAQF3x4dYTunZB4YMg+mh/4PiisKT3mEUL1w/XJrhgQd+kFPkfIeCPiLAigvyI+grPND38rf6wv+E5Y1zoUZoSf8SGG0TEEUn9PCzYn/38oarWYYL3XsjqraZDQJnxq4/0GVcJdC6BnxEN/h2/WLRyuDLZ287sM8Ac2qY3XNwzlpKJ+Qy6CkR9Imhiiv5g2zu7mpYdfsCWAd1bQe+79o28YMGtE9NKR0g291LF/LHvJD+cOzXMy04k3zteRdc0PfAv/d7bXQNXw9y2aq6ru54UNyvJ05HQ93n16pebVg434LuRr1nwN6507adIcYSq/kyAe7F6zbrhXwP4wBX5wwFzvRJOk8h+FQ88sHxfgNQQUFYnqqczsABEc1X1TYb8eNX6FY8PV2MeztwM55x9DZhDfaIrL8pO9BPeFUx8pSp6nVctX4yWaqqnezixYMMZ3KF4zoILc1PTKe+j/fJ8h1X5q6aF6dfKkAM1nPVmyp3ftGz3hAllXPdteGojz517Q2JiW17KAZ5r5+feSeR/QaHPINTb7178pf752b2217CgeKEB/y0gfRD9VmfQ8/hwveBO+Fee3zs+UZX4EBFdr4o31OqPglzhifuWfrN3OPcfmsDLLusem3ltQ66cMe/J5Mc2yrEzM5yqPgpkrwDRe0H0hkLvyAZvPjacsKc9ue/u2uwvwNwMnNed31cvGe9qVrpYCUUSWhSF9jelXN+mXn/3yfq7G+Ch9HenjZiauisJ+Lio/cHGvsf/azge0iEZNVzcM46TqfNVtFigzkfKj6FtdGXC+49GZ2cbjq1tf09PbLrIZmuoXE3FAVAylXiPAPm2XMtvh2tWcjb9+pp3X8GgWwFZFiq+xw/cv3Y42lrDvNJs9uFSkQ9TxY9KpdJD9y75Wj+Z9+4Bd0jQDrCZvL9QpWNcqqAl3Nfeu+z1ctbJaE6a83p73qSaNHnHQulSQ+Zsha4T0bva+loeHa6cR6uP+xswt9I4EwnvEla+XKGZfn/RUiV+tE/zr4m05/fXG2W0BD/S13Vv5GPq57xXDf0dqT4evbb282VqAXTdpcWL1eDPSPBYR9j9/TJzbqnhgsLhnOQqyfW8Wa4pwAFJInF80phsVM5cN8xekSiNrU+Gtd1BOe2c/OOYRZ56AjNYNnW+WI5J6MqLsvXJZOJTUD1eVG/TBxf+ZjigNzTvH7iseBkx/406/kel78qDv3h1OO3dlt5j71PKfCkUPw9U7zQP3v/GcNpufjFe0DmGUulrmM2NEF2jii/e/eAXXykHeEd2/TZyw1kfSdracXUJz7wTRFeAdDqIV1mxd/TZ9U+WO7cj27+3rnagAObmHrkA1AmJunMguEqBacT8KiJZJNa+kM/ns8nf/SpfzuIYLcEdWNdt5IZLb53js//X6op2BdFnfvrLnZcK3VHfGy7oHOMl058G+Kj+0rDf+OmiqqfKGeOC97TXVI2t/TgpTQbJ9+58ILWqnPbXXVQ6Tjw5W1Vfumdx5vfD1VCvvST3TrB5r0KfumdR+jfl3NMRM4yh6luIMVNtdNtPF1c9U077hktLJxrCZwAtWYt/bfqfVD/oDP+47tLihSD8A4jWRBJ+vT3/5EvD0fScA3VK1eRric2fiMoLVqJ/69OWl8oFlQ9cmjtdybwjBB7++YMpZ7rZp7sC97LLz5hWlbGpevb43QS9AKCpRPqryIb3t+effHE48hi+xPf+zAMOMIeG5DSmo+tPOoGh80B6jrNzgrBMonCJkDT3cVtuZywpey+Wg+oKsWbn+/xJkJ5mrb317oeqni5zBHTdvMK5IP5Thf6uNd9ye7lbn4aLi7N8E4PHpny++LX7lo7tj9kb/vGBSwrnk+GPQuWRuxalfzTch/cDFxfeC8MfA/Rxu+j+75f7MnWgpaCPAPpYj775wzJBh66/rHiRKP6CiJ6MOtu+Uo6W6qRz3SWFs/tLcf4TEW2MNPyXckDimksL7zNEn1NXdw74Zrfmfr948XhHfLNPgW/4sww4J07PRe9LjbfV1TblnejBmeL0nVDqFOjDYWTv/flDX9m4/7TdXY/mgAXMt7rdyFdd/NeTkoYvIeULAJ0E4udF9DFAnumhfGdbW1zzODqQF0o5i6qcc98/t6sunUpfC6abGPKtOxal7yynvTvXaVpjUf0pBWaRjb5155Kq5eVe47p5hfMI/BGBPPLTxel/35P2YL5ZRR796eL0j4c7l9efX5ypSdwC1Z5Igm82PVQeKayzRaaS/mcIPEUtvnrXQ8kV5fR9/mnNmZr6cTcDuLS/ulBj+FD53uPrL86foYb/CaAukejrq9tfena4NlWnmcPD3xN0hoC+m+/pXXj/7w4strA4A+issxJRZkwm4ZnpZMwZrv54XN+dsIYEC4tB8Pt7H6l1hL4HLNi7dXEQAOZbyzfWOscdfzJ53qUEPVMVEUC/B+S3UaCvlUq53kPJUeRscHVy+LnM/FkXWByuW/0vZdotY+E6LYeI/0JVl0c97d8uV0ty6+i6S4ofA+hsK/KDe5aUtzWO+zCvcB6UXehMWYAZm3DM2E8DdBgi+eqdvyzPFOD6fv3FpQVg3Cgii1ZtWvGT4YLV0Mq86uLclLTx/sqqVnOEr9/5y1R/udbyHvzrLwpOUyOfh6JkSb6WxYanhqvtXje3dwLSyT9X1awtRnc1La12MZL7+RiwS/rjalIamakgcxIRz1VgBhHyUDysEv6qm1tXD3ec+3lA8e0PKsDcQmDUcEFnrU+Z94AxD4TZUGoH8IyofSwgfc2Uclm0tQd7AiAHwsTsvg+N/IF5f30yi/kHgHpCFG8tV7ty93AvoeMmnnirKE4E2dvu+p/Mst3fe+sznHfd08StzFStgX7tzkfTb5R7jesuKpxHzDdLmYAZg+3FhZtAfB5EfnzXkvSj5d77AxfmprIxtwKogsWegC4aLuw7xTf+dx2xrpSC/7hrafmlqK+7ODuHyP88gZIC+dKr7SueGC54u3l0496fO62BNM53+lOjsWmkUxPUyOlE/D6Aj4FKRESPW5GHO7Xn6TIdiuVO6aidf7AC5maBxKQBiTMP94HzQHw2VI9gUJslfQKiz5SK8qpJlvJobik0rWzq37YPPwRj1KQ+Ahd2ThqfM9cy43IbRv9w1yPVz+/JZT84N3+YpsyXVPBSLtf7rT3Zzl13ft9J5HufUGB1h3R/d08ehs2A6bbkS4a/JXdj/sCFhfOZ+QaF/Oquh+K2ZR/XXVy6mqDXQfXeO5d8+a49WCd0/cXFW0D4Iyh9NextW7IHmjquPb94jPHob6Hyu3xQ/Fm5tuCyB76XDdzzV5M9NlFdU52JTLI+YeyJynyGIwlWRgiLl4SwhErBE3ctHXZq5172avSaH/SAuaVonNfNn3bUdKieRcTnEulkJSpB8LTzolrB6gBBh5fvyWPZsqBcB8HoTUP5V45fFPyuSb7hzB5sQ+MbOq3k2LoTziGPblaV79+5B1vpWMO7qDifla4B2QfuWJK5u/zRuGsUzjPgmxX06B1LEsO2Ybp7fejc4rHi49OstL6ns+NrC5eXz8F6/XmF6WzoVjWsVqKv/HRJ5s1yxzHvXR214+tqvqSQaVFk/1keefDpPVljzi5ts4Vg4fKpLvPtALPpNXLD7Aavr2ZyKp1IVSXSdIRHdKIIvxusR7oS8oC8qIJfhmH0NJYuat8TGZQr+311/tsKMLcUWpwpUDXnMD/Jrlj82fG2XVAEYb1CnxCV52ykLYlCKd/Z0VlavPqOcA+0in01T6NyH+fwqOLEhwSUot6+793xxPj+rI/yDhficpg/5c+VaI4i+u6eOIwGQHcQMEUevePh8jRMN460538KQrUh6TeblpSV3RQP2G0n/QvnX89EV4jQnXc+/MX79mQ9xODt0f8h6KNaKN59528P/oqqQ1pkKlGV4nRyrGdwVH+Z7Xcz+GQF6kGaVaVlavX3sMEzdy39137nzdtjJ7ft0/C2BcxtBkoN781OSCb9MxR6JpTmEGM8QK+p4mWovhgBr0oQdpWkWEx2tZWwcoV9O70ZdwSDsROtZs40A43uWJpZXx5UDpzdMLdvctLz/gaKIIfgK/c+Ul6d56F7fvDCwvkgvhkij5QLmO6BnmbO+lPH4yhib7/rkfLtsK4fbjvsET5FrO19QfEbe7odbphbnAUb9uCxxZ0H4Rqi0057ypuKqX5NOpMME4mMAaZ7hmYr6ESneJBSjavJA9KnI8hvOtH74p6YYfZkve3vNocKYG4pZ/rwSa2ZoK7qiITvvVtB71TgMHIGf9B6In1aBC+L0GteEHSKDYpBtrV4KADonizGhvdmJyZ8c7YSdYcta3+3p062688rvI+JPqzQX9/xSPqOcreiHzy/eDkTLlPggf9+OPXgnoxl3qxVyfFHTJ0jIC/b0/3inmzt9+S++7eNy4k/h50d0mmQxverKEGO6OIYcrsGxckgpEjRo4qXlOgxiDz7Ss+K5uE6pPbv+Eb27ociYG4lwThG7L3zxiV9c/RgWY13EetUUQ1JuROKF0X1BaLozSigditRsRjkitmaV4IKfdrILUZnt6smM6mk3LMnYTENZ/WM85KpeveS+6/f17SNXM/ebldq5HmzPuiPGz8uGSQSSU74Y30X2ww6XgmnEjCTgEy8/kEvAfp7iH2xpPl+HszdV5Z8u0nrUN2SlzGPjXzd3E+PI/Zns9DxIJwE6Gxi8lTRSsB696YFyYsC2lDoC/syFIYb0r0B8Hp0oKVylTHwyqlvMwnEysDsOSbljfdtbSoh6qeN0fFk/GMIcpISH03QyQoaR6StRHghEn1eInnR786++l/PT3aldyvHFhI45DXM3a8GF4D7V3Vp35subM4gwhwA06CoJxc2IVgjoNUM+7oSXkdALdCo6Lbyb4Hor+XtagTfvfwqZ+wDCVAD7uG+Wad6EzI1XrEqnUx6XlJJJ5DxjgBhBgFHQXEMMU0VkTxALQSsUZJnofx0SXs3VDTI3c9UBTB3L6PttPKGuW1VSdROZuBIKE5V6AkgqodqAiABk9sSvqJiV4nSBgNuj0phZ8Q2LHEQbuFU6gfSAy1spHyBVFrsMwn0P6+N/U6Zy81mpwwZj61fa4yMN6yTlMxMJhyrwNGO9YtBkSpKSvoaKT2jIs+TpfXFrrWte2pv3mejPQBvVAHMkZkUciDqhenpvu/PgOAoddt491YnzhC0T4E+ENoEshowq00UvWk901NC1BciLPoII5RKdm2wMVq+/IH+gldvz7CMkRH32/4qW2uMfsJLG89T36+CH9US/MmqOkOZjiaNbY51AFUrkADUvaxfUsHLzG73g9dLbeWxq7/tpbsXA6wA5l4IbzdNY/ZynybUG0PHAXD20OlM5Bb7FAVqCegG0QaotoKkRSxaiKg5isKNyqbXsoS+2ijsDML2fC5Ke5FWr34masLK/mDmCqCO3tSN+pVjQFx72kyu7xnDbhstad8Y9f1Chv2UmDRE68mYqQKdTKrTiHiKQqYSeKrrnapsYuYWq9pM0FUKvFzK21XIvdFZ0RxHb/4qgDl6st3hlV02Urr68JqIdJznJ6eDcBwIs0hpqpJWAUgDlIFqiaDN6kKdgGYl3ahKHVDptiF3KqLeKKHiALVPwygpxaivvSgOUN2Nm3BNZbu/j+d28HbxtrkBs6kdEwlHHulNzFR5YcL30sZ48NgombTn2TFszDgRHcfMk9xLlIinkephCppABIFKHkQ5VeoBxPFVrlKLV2GwwUqpO/ztkt6DMM5z/8zKCN21ApgjJMi9v0wjX3/2X45BSBM8408AYzIROxvpkQCOAHQiiKCqEQGRggKQ9jJRq7XaSgYtsNIGpW5hyUto85L0i35kSxSpjRIiYUEkFQbRm70FOzGTl8HY0gqwDm/yYiCci3N44ux6LqbHeqmCx4kawwF7nhcQa8okfMNJRFGVgNOGzRglmUDKk5R0kgFPFdJ6Uk0ryCMiD47wGVIg4mZVfQOK14XsG2rRxh5vKm7KtjetrITzDG+KRv+sCmCOvoxH5A4uqHrixGkTAK0Hm8msjheUJgpQT7HDSSaDeDxB0wNaifYRoaCKnPuZVHsUuslxLhJJh424iyBdIaJeIr8g5Lb/EkUlFae5VhVEwqRIkLWS8kSLVaG0t0TqzAJtY3ocyGLm8rXx56A2OzTOAyz3eYCRy22B3afbBrtPtxV2n9UTU1wMDNWFTD01hpNFw36a2QuY1SOjJTYRk5f0OSEI00reWCKqI9ZxEBoP1fFMNF5AtURaC0UGRFVQrQbgKeKXWhtA7aLayopWIW0TpXaVqDXwtPUgzQgakXV9sF2kApgH24xt3984lW1m4YhkujqVVPi15OlkFUwh5slELigZ9VBUE1FGgTSRZhScJtG0MjyAsoC6PPI+qPukrCr6iDSvSs5ZlYPVIhktqGpJ1RSN0RJUi5HVwBgpaeiHkaclTzWSQGMgtd7Apzuiwd+l/bd+VzCOKxzwBz+3GloPgDEDvwktbV6n6S2+F0IaKLpWDTgNz3010cAnJ4iVybCSLxImDFNSlBPClGSiJCxSRJIkUEaZ0rFcRKuFUEWgaqhWETsQRA1Ua0Tj7wkoQrhifYo8oEWA8kqUB2kPiTYL0AKhVmXbGga00XphziU6NKM5PBQzYw7+x2vrEVQA8+02ozsfDzXMXuH7ZlqV1PppT0yGJcowOKOe1qvlscw0XkjrWMl5XesU6iCrhpymRErkbALuUCVXFYHBEIj77QBwKRNIlJQF0EDIZUtRAMD9C4kpUnHmBOmPAoDjR7RxVJWqVbAzNexYO2X4UDWOvlUVBlBPAWPAToNz3x0X5MA/0gQRJ0hhRMWA2HXa2QPjHg90X9xg1P2sIgOg7myGREUIskTU7RjcBdrFiEsndClJJyl1wUougi147OcLCAt97W25xauPduM70DTrQ2dl78ORVgBzHwr7YL2Vc1RVJaZm4PspGJMKlTMeojQzJUGUsiJJo15C2SbczyRIClGSFEkHYENgJrEySb4aGBXxCOw5sFUoAeyrCg+ApgM2AZjRX/bB/VUJFKqq+xRlRCSISGHVqEseCIk4sLBD30ux9seubLMGIhoYNkWnHYtoiT0pQKUI9YuwthhyKb/hiefzS3Fu7DCrHBUJ7EwCFcCsrI39LQG3Bl2Y1GBN8x11Z3Od88Fz93eXK/c/VCVQAcxDdeYr465IoCKBsiVQAcyyRVZpUJFARQKHqgQqgHmoznxl3BUJVCRQtgQqgFm2yCoNKhKoSOBQlUAFMA/Vma+MuyKBigTKlkAFMMsWWaVBRQIVCRyqEvj/hQ3qJJfeffgAAAAASUVORK5CYII=",boe=Je(37426),Moe=Je(19150),Boe=Je(55303),Toe=Je(92691),Doe=Je(99755),Foe=Je(46016),Loe="data:image/png;base64,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",Noe=Je(70453),Ioe=Je.p+"static/bg.a1e8d200.png",vT={ChangeBut:"ChangeBut___VXZuF"},Roe=Je(54650),Ooe=Object.defineProperty,koe=Object.defineProperties,zoe=Object.getOwnPropertyDescriptors,bk=Object.getOwnPropertySymbols,Hoe=Object.prototype.hasOwnProperty,Uoe=Object.prototype.propertyIsEnumerable,Mk=(ee,y,E)=>y in ee?Ooe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Bk=(ee,y)=>{for(var E in y||(y={}))Hoe.call(y,E)&&Mk(ee,E,y[E]);if(bk)for(var E of bk(y))Uoe.call(y,E)&&Mk(ee,E,y[E]);return ee},Tk=(ee,y)=>koe(ee,zoe(y)),jL=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Voe=({pathsDetail:ee,dispatch:y})=>{var E,z,ne,ie,se,le,de,ge,ve,xe,Se,Me,De,Oe,Re,Le,Qe,Xe,Ze,it;const{detail:et,actionTabs:ht}=ee,lt=(0,xt.useParams)(),[ot]=(0,xt.useSearchParams)(),rt=(0,Fe.useRef)(null),[Mt,Xt]=(0,Fe.useState)({}),[,cn,Cn,En]=(0,ln.U)(wt.Eu,{subject_id:lt==null?void 0:lt.pathId}),[Zn,ti]=(0,Fe.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),bn=[{title:"\u80FD\u529B\u76EE\u6807\u638C\u63E1\u6570",value:(E=En==null?void 0:En.data)==null?void 0:E.total_grasp_count,unit:"\u4E2A",img:Foe,bg:"rgba(18, 42, 159, .4)",ProgressTitle:"\u5B8C\u6210\u6574\u4F53\u80FD\u529B\u7387",percent:((z=En==null?void 0:En.data)==null?void 0:z.total_grasp_rate)||0,trailColor:"rgba(22, 115, 255, .1)",strokeColor:"#1673FF"},{title:"\u5DF2\u638C\u63E1\u5B50\u80FD\u529B\u6570",value:(ne=En==null?void 0:En.data)==null?void 0:ne.children_ability_goal_grasp_count,unit:"\u4E2A",img:Loe,bg:"rgba(0, 87, 76, .4)",ProgressTitle:"\u5B8C\u6210\u5B50\u80FD\u529B\u7387",percent:((ie=En==null?void 0:En.data)==null?void 0:ie.children_ability_goal_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8D44\u6E90\u5B8C\u6210\u6570",value:(se=En==null?void 0:En.data)==null?void 0:se.resource_complete_count,unit:"\u4E2A",img:Toe,bg:"rgba(108, 76, 0, .4)",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((le=En==null?void 0:En.data)==null?void 0:le.resource_complete_rate)||0,trailColor:"rgba(209, 157, 83, .1)",strokeColor:"#D19D53"},{title:"\u5DF2\u7ECF\u638C\u63E1\u77E5\u8BC6\u70B9",value:(de=En==null?void 0:En.data)==null?void 0:de.knowledge_grasp_count,unit:"\u4E2A",img:Doe,bg:"rgba(0, 28, 106, .4)",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((ge=En==null?void 0:En.data)==null?void 0:ge.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#1673FF"}],rn=(...Dn)=>jL(void 0,[...Dn],function*(Wn={}){yield Cn(Tk(Bk({},Wn),{subject_id:lt==null?void 0:lt.pathId}))}),li=()=>jL(void 0,null,function*(){y({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:ot.get("type")==="classrooms"?"course":"subject",graphable_id:lt.pathId}})});return(0,Fe.useEffect)(()=>{var Dn,Wn;if((En==null?void 0:En.status)==0&&(et!=null&&et.can_managed)){const hi=(Wn=Object==null?void 0:Object.entries(((Dn=En==null?void 0:En.data)==null?void 0:Dn.study_grasp_hash)||{}))==null?void 0:Wn.map(([On,dn],mi)=>({name:On,value:dn,itemStyle:Zn[mi].itemStyle}));ti(hi)}},[et==null?void 0:et.can_managed,En]),(0,Fe.useEffect)(()=>{Mt!=null&&Mt.id&&rn({id:Mt==null?void 0:Mt.id})},[Mt]),(0,Fe.useEffect)(()=>{var Dn,Wn,hi;if(((Dn=et==null?void 0:et.ability_goals)==null?void 0:Dn.length)>0){const On=(Wn=et==null?void 0:et.ability_goals)==null?void 0:Wn.find(dn=>dn==null?void 0:dn.is_choice);Xt(Tk(Bk({},On),{knowledge_graph_route_id:(hi=En==null?void 0:En.data)==null?void 0:hi.knowledge_graph_route_id})),!(On!=null&&On.id)&&y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},[et==null?void 0:et.ability_goals,(ve=En==null?void 0:En.data)==null?void 0:ve.knowledge_graph_route_id]),Fe.createElement(an.Z,{spinning:cn},((xe=et==null?void 0:et.ability_goals)==null?void 0:xe.length)>0?Fe.createElement("div",{className:"flex w-full c-white overflow_hidden",style:{padding:"20rem 40rem",fontSize:"16rem"}},Fe.createElement("div",{className:" minW-0 flex flex-col",style:{flex:"1.5",gap:"10rem"}},Fe.createElement("div",{className:" flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},Fe.createElement("div",{className:"flex item-center gap-10px-rem"},Fe.createElement("div",{className:"flex item-center rounded-full text-14px-rem mr-auto",style:{background:"#101C39",padding:"0 0 0 20rem",gap:"10rem"}},Fe.createElement("div",{className:"c-grey-eee text-nowrap "},"\u5F53\u524D\u8DEF\u5F84"),Fe.createElement(ft.Z,{title:(Mt==null?void 0:Mt.name)||"",placement:"topLeft"},Fe.createElement("div",{className:"multi_ellipsis1"},(Mt==null?void 0:Mt.name)||"")),Fe.createElement("div",{className:`current flex item-center text-nowrap ${vT.ChangeBut}`,onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},Fe.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),(et==null?void 0:et.can_managed)&&Fe.createElement("div",{className:"text-12px-rem c-white flex item-center gap-10px-rem"},Fe.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},Fe.createElement("span",{className:"iconfont icon-tianjiatixing",style:{fontSize:"12rem"}})," \u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"),Fe.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"}}})}},Fe.createElement("span",{className:"iconfont icon-bianji13",style:{fontSize:"12rem"}})," \u7F16\u8F91\u80FD\u529B\u56FE\u8C31"),Fe.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{jt.default.confirm({title:"\u5220\u9664\u80FD\u529B\u56FE\u8C31",icon:null,centered:!0,width:"500rem",content:Fe.createElement(Fe.Fragment,null,Fe.createElement("div",{className:"text-16px-rem c-black ",style:{marginBottom:"10rem"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u9700\u8981\u5220\u9664\u300A",Mt==null?void 0:Mt.name,"\u300B\u80FD\u529B\u56FE\u8C31\uFF1F\u5220\u9664\u540E\uFF0C\u5C06\u65E0\u6CD5\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),Fe.createElement(Roe.Z,{ref:Dn=>rt.current=Dn})),okText:"\u786E\u8BA4\u5220\u9664",onOk:()=>jL(void 0,null,function*(){if(rt.current.onVerify())return Promise.reject();const Dn=yield(0,wt.pf)({id:Mt==null?void 0:Mt.id,subject_id:lt==null?void 0:lt.pathId});(Dn==null?void 0:Dn.status)===0&&(kt.ZP.success("\u5220\u9664\u6210\u529F"),li())})})}},Fe.createElement("span",{className:"iconfont icon-shanchu17",style:{fontSize:"12rem"}})," \u5220\u9664\u80FD\u529B\u56FE\u8C31"))),Fe.createElement("div",{className:"flex",style:{marginTop:"30rem",gap:"10rem"}},Fe.createElement("div",{className:"minW-0 flex",style:{flex:"1.5"}},[{title:"\u4E3B\u80FD\u529B\uFF08\u4E2A\uFF09",value:(Se=En==null?void 0:En.data)==null?void 0:Se.total_count,img:Coe},{title:"\u5B50\u80FD\u529B\uFF08\u4E2A\uFF09",value:(Me=En==null?void 0:En.data)==null?void 0:Me.total_children_count,img:Eoe}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"flex-1 minW-0 flex flex-col item-center",style:{gap:"10rem"}},Fe.createElement("div",{style:{fontSize:"30rem",textShadow:"0 1rem 10rem #0096FC"}},Dn==null?void 0:Dn.value),Fe.createElement("div",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.title),Fe.createElement("img",{src:Dn==null?void 0:Dn.img,width:"166rem",height:"160rem",style:{width:"166rem",height:"160rem",marginTop:"-15rem"}})))),Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col justify-between",style:{gap:"70rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(De=En==null?void 0:En.data)==null?void 0:De.total_knowledge_count,unit:"\u4E2A",percent:(Oe=En==null?void 0:En.data)==null?void 0:Oe.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(Re=En==null?void 0:En.data)==null?void 0:Re.total_resource_count,unit:"\u4E2A",percent:(Le=En==null?void 0:En.data)==null?void 0:Le.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570"}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"flex-1 minW-0 flex relative",style:{gap:"20rem"}},Fe.createElement("div",{className:"flex flex-col justify-between",style:{marginLeft:"40rem"}},Fe.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},Dn==null?void 0:Dn.title),Fe.createElement("div",{style:{fontSize:"26rem",textShadow:(Dn==null?void 0:Dn.value)==0?"":"0 1rem 10rem #0096FC",opacity:(Dn==null?void 0:Dn.value)==0?.9:1}},Dn==null?void 0:Dn.value,Fe.createElement("span",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.unit))),Fe.createElement(Ek.Z,{type:"dashboard",percent:Dn==null?void 0:Dn.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:"30rem",top:"15rem"},trailColor:"#1E2E72",strokeColor:{"0%":"#0E5FFF","50%":"#2DE1FD","100%":"#2DE1FD"},strokeLinecap:"round",format:hi=>Fe.createElement("div",{className:"c-white",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},hi,"%",Fe.createElement("br",null),Fe.createElement("br",null),Dn==null?void 0:Dn.percenttitle)})))))),Fe.createElement("div",{className:"flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},Fe.createElement("div",{style:{marginBottom:"20rem"}},"\u4E3B\u80FD\u529B\u5B66\u4E60\u60C5\u51B5"),et!=null&&et.can_managed?Fe.createElement("div",{className:"flex",style:{gap:"10rem"}},Fe.createElement("div",{className:"minW-0 flex flex-col flex-1",style:{gap:"13rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(Qe=En==null?void 0:En.data)==null?void 0:Qe.study_count,unit:"",img:boe,bg:"rgba(68, 95, 232, 0.4)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(Xe=En==null?void 0:En.data)==null?void 0:Xe.complete_rate,unit:"%",img:Moe,bg:"rgba(182, 129, 0, .4)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(Ze=En==null?void 0:En.data)==null?void 0:Ze.grasp_rate,unit:"%",img:Boe,bg:"rgba(6, 145, 127, .4)"}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:Dn==null?void 0:Dn.bg}},Fe.createElement("div",{style:{fontSize:"14rem",color:"rgba(255,255,255,.8)"}},Dn==null?void 0:Dn.title),Fe.createElement("div",{style:{fontSize:"26rem"}},Dn==null?void 0:Dn.value,Fe.createElement("span",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.unit)),Fe.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:Dn==null?void 0:Dn.img})))),Fe.createElement("div",{className:"flex-2 minW-0"},Fe.createElement(Poe.Z,{dataSource:Zn,legend:{top:null,icon:"roundRect",bottom:10,left:"center",itemWidth:14,itemGap:15,textStyle:{color:"#fff"},formatter:Dn=>Dn}}))):Fe.createElement("div",{style:{display:"grid",gap:"20rem",gridTemplateColumns:"1fr 1fr"}},bn==null?void 0:bn.map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"relative c-white",style:{padding:"22rem 30rem",background:Dn==null?void 0:Dn.bg,borderRadius:"6rem"}},Fe.createElement("img",{src:Dn==null?void 0:Dn.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"22rem",top:"22rem"}}),Fe.createElement("div",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.title),Fe.createElement("div",{className:" blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Dn==null?void 0:Dn.value,Fe.createElement("span",{style:{fontSize:"14rem"}},Dn==null?void 0:Dn.unit)),Fe.createElement("div",{style:{fontSize:"12rem",marginTop:"26rem"}},Fe.createElement("div",null,Dn==null?void 0:Dn.ProgressTitle,Dn==null?void 0:Dn.percent,"%"),Fe.createElement(Ek.Z,{percent:Dn==null?void 0:Dn.percent,showInfo:!1,trailColor:Dn==null?void 0:Dn.trailColor,strokeColor:Dn==null?void 0:Dn.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))))),Fe.createElement("div",{className:"flex-2 minW-0 flex item-center justify-center relative"},(et==null?void 0:et.can_managed)&&Fe.createElement("div",{className:"absolute flex item-center gap-16px-rem",style:{top:0,right:0}},ot.get("type")==="classrooms"&&Fe.createElement("div",{className:`current flex item-center ${vT.ChangeBut}`,onClick:()=>{xt.history.push(`/knowledgegraph/${lt==null?void 0:lt.pathId}/statistics/abilitymap/${Mt==null?void 0:Mt.id}?type=classrooms&tabs=5`)}},Fe.createElement("span",{style:{fontSize:"14rem"}},"\u6570\u636E\u7EDF\u8BA1")),Fe.createElement("div",{className:`current flex item-center ${vT.ChangeBut}`,onClick:()=>{(0,bt.xg)(`/knowledgegraph/${lt.pathId}/abilityMap/edit/${Mt==null?void 0:Mt.id}${window.location.search}`)}},Fe.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u7F16\u8F91\u80FD\u529B\u76EE\u6807"),ot.get("type")!=="classrooms"&&Fe.createElement("div",{className:`current flex item-center ${vT.ChangeBut}`,onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"goal"}}}})}},Fe.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u53D1\u9001\u81F3\u8BFE\u5802")),Fe.createElement("img",{src:Ioe,className:"absolute",width:"1532rem",height:"100%",style:{left:"50%",pointerEvents:"none",transform:"translateX(-61%)"}}),Fe.createElement(Noe.Z,{DataProps:((it=En==null?void 0:En.data)==null?void 0:it.ability_goals)||[],className:"c-white",style:{backgroundSize:"auto 100%",height:"710rem",width:"710rem"}}))):Fe.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},Fe.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},(et==null?void 0:et.can_managed)&&Fe.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{y({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},"\u521B\u5EFA\u80FD\u529B\u56FE\u8C31")),Fe.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F "),Fe.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u80FD\u529B\u56FE\u8C31\u901A\u8FC7\u6574\u5408\u8BFE\u7A0B\u57F9\u517B\u76EE\u6807\u4E0E\u77E5\u8BC6\u70B9\uFF0C\u6784\u5EFA\u4EE5\u80FD\u529B\u57F9\u517B\u4E3A\u6838\u5FC3\u7684\u6210\u957F\u5730\u56FE\u3002\u5B83\u6E05\u6670\u6807\u6CE8\u6BCF\u4E00\u95E8\u8BFE\u7A0B\u9700\u638C\u63E1\u7684\u6838\u5FC3\u80FD\u529B\uFF0C\u5C06\u62BD\u8C61\u7684\u77E5\u8BC6\u8F6C\u5316\u4E3A\u53EF\u91CF\u5316\u3001\u53EF\u8FFD\u8E2A\u7684\u80FD\u529B\u5750\u6807\uFF0C\u8BA9\u5B66\u4E60\u6709\u65B9\u5411\uFF0C\u6210\u957F\u6709\u8F68\u8FF9\u3002",Fe.createElement("img",{className:"absolute",src:Je(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),Fe.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Fe.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(23852)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),Fe.createElement("div",{className:"w-full flex justify-between gap-32px-rem relative"},Fe.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",left:"200rem",top:"80rem"},src:Je(79989)}),Fe.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",right:"210rem",top:"80rem"},src:Je(73486)}),[{title:"\u591A\u7EF4\u80FD\u529B\u56FE\u8C31",desc:"\u4E00\u4E2A\u8BFE\u7A0B\u4E0B\u652F\u6301\u6784\u5EFA\u591A\u4E2A\u80FD\u529B\u56FE\u8C31\uFF0C\u5B66\u751F\u53EF\u4EE5\u6839\u636E\u4E2A\u4EBA\u4E13\u4E1A\u3001\u5B66\u4E60\u60C5\u51B5\u7B49\u56E0\u7D20\uFF0C\u9009\u62E9\u4E0D\u540C\u7684\u80FD\u529B\u56FE\u8C31\u8FDB\u884C\u5B66\u4E60\u3002",img:Je(4212)},{title:"\u6570\u636E\u5173\u8054",desc:"\u652F\u6301\u5C06\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u3001\u77E5\u8BC6\u56FE\u8C31\u3001\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u6C47\u603B\u7EDF\u8BA1\uFF0C\u5206\u6790\u51FA\u5B66\u751F\u5728\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u638C\u63E1\u60C5\u51B5\u3002",img:Je(50356)},{title:"\u80FD\u529B\u5B66\u4E60\u8DEF\u5F84",desc:"\u652F\u6301\u6839\u636E\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u4E3B\u80FD\u529B\u548C\u5B50\u80FD\u529B\u751F\u6210\u5BF9\u5E94\u5B66\u4E60\u8DEF\u5F84\uFF0C\u4FBF\u4E8E\u5B66\u751F\u6309\u7167\u5BF9\u7528\u8DEF\u5F84\u8FDB\u884C\u5B66\u4E60\u3002",img:Je(40362)}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:`flex flex-col item-center ${Wn!=1?"mt-64px-rem":""}`},Fe.createElement("img",{src:Dn==null?void 0:Dn.img,style:{width:"127rem",height:"119rem"}}),Fe.createElement("div",{className:"px-20px-rem pb-20px-rem",style:{background:`url(${Je(14760)}) 0 0 / 100% 100% no-repeat`}},Dn==null?void 0:Dn.title),Fe.createElement("div",{className:"mt-6px-rem",style:{width:"20rem",height:"10rem",background:"#7A99DD",clipPath:"polygon(100% 0, 0 0, 50% 100%)",WebkitClipPath:"polygon(100% 0, 0 0, 50% 100%)"}}),Fe.createElement("div",{className:"px-20px-rem py-20px-rem mt-6px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",color:"rgba(255,255,255,0.8)",width:"236rem",height:"153rem"}},Dn==null?void 0:Dn.desc))))),Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Fe.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),Fe.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:Fe.createElement("div",{className:"flex flex-col gap-4px-rem"},Fe.createElement("div",{className:"text-16px-rem"},"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA"),Fe.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u80FD\u529B\u56FE\u8C31\u57FA\u4E8E\u5B66\u4E60\u8DEF\u5F84\u548C\u77E5\u8BC6\u56FE\u8C31\u521B\u5EFA\uFF0C\u5728\u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u524D\uFF0C\u9700\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u548C\u5B66\u4E60\u8DEF\u5F84\u3002"))},{desc:Fe.createElement("div",{className:"flex flex-col gap-4px-rem"},Fe.createElement("div",{className:"text-16px-rem"},"\u5B50\u80FD\u529B/\u4E3B\u80FD\u529B\u638C\u63E1\u5EA6\u8BA1\u7B97"),Fe.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},Fe.createElement("span",{className:"c-white"},"\u5B50\u80FD\u529B\uFF1A"),"\u6839\u636E\u5F53\u524D\u5173\u8054\u7684\u8D44\u6E90\u638C\u63E1\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u8D44\u6E90\u638C\u63E1\u7387\u8FBE\u5230\u8BBE\u7F6E\u6570\u503C\u540E, \u8868\u793A\u638C\u63E1\u6539\u8BE5\u80FD\u529B\uFF1B",Fe.createElement("br",null),Fe.createElement("span",{className:"c-white"},"\u4E3B\u80FD\u529B\uFF1A"),"\u6839\u636E\u8BE5\u4E3B\u80FD\u529B\u4E0B\u7684\u5B50\u80FD\u529B\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u5B50\u80FD\u529B\u638C\u63E1\u540E\uFF0C\u8868\u793A\u4E3B\u80FD\u529B\u638C\u63E1\u3002"))},{desc:Fe.createElement("div",{className:"flex flex-col gap-4px-rem"},Fe.createElement("div",{className:"text-16px-rem"},"\u4E3B\u80FD\u529B/\u5B50\u80FD\u529B\u6570\u91CF\u9650\u5236"),Fe.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u4E00\u4E2A\u80FD\u529B\u56FE\u8C31\u4E2D\u6700\u591A\u521B\u5EFA8\u4E2A\u4E3B\u80FD\u529B\uFF0C\u4E3B\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u5B50\u80FD\u529B\u6570\u91CF\uFF0C\u5B50\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u8D44\u6E90\u77E5\u8BC6\u70B9\u5173\u8054\u6570\u91CF\u3002"))}].map((Dn,Wn)=>Fe.createElement("div",{key:Wn,className:"px-16px-rem py-22px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},Fe.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(Wn+1).toString().padStart(2,"0")),Fe.createElement("div",{className:"flex-1 minW-0"},Dn==null?void 0:Dn.desc))))))),(ht==null?void 0:ht.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31"&&Fe.createElement(Ug.E_,{type:"goal",open:(ht==null?void 0:ht.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31",title:"\u9009\u62E9\u80FD\u529B\u56FE\u8C31",currentSeleteData:Mt,onFinish:()=>{li()}}),((ht==null?void 0:ht.key)=="\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"||(ht==null?void 0:ht.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31")&&Fe.createElement(Ug.DZ,{currentSeleteData:Mt,onFinish:()=>{li()}}))};var joe=(0,xt.connect)(({pathsDetail:ee})=>({pathsDetail:ee}))(Voe),Goe=Je(46339),Es=Je(59301),Xoe=Object.defineProperty,yT=Object.getOwnPropertySymbols,Dk=Object.prototype.hasOwnProperty,Fk=Object.prototype.propertyIsEnumerable,Lk=(ee,y,E)=>y in ee?Xoe(ee,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):ee[y]=E,Woe=(ee,y)=>{for(var E in y||(y={}))Dk.call(y,E)&&Lk(ee,E,y[E]);if(yT)for(var E of yT(y))Fk.call(y,E)&&Lk(ee,E,y[E]);return ee},Qoe=(ee,y)=>{var E={};for(var z in ee)Dk.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&yT)for(var z of yT(ee))y.indexOf(z)<0&&Fk.call(ee,z)&&(E[z]=ee[z]);return E},Nk=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});const Yoe=ee=>{var y=ee,{pathsDetail:E,user:z,globalSetting:ne,loading:ie,dispatch:se,activied:le,setactivied:de}=y,ge=Qoe(y,["pathsDetail","user","globalSetting","loading","dispatch","activied","setactivied"]),ve,xe,Se,Me,De,Oe,Re,Le,Qe;const{detail:Xe,actionTabs:Ze}=E,it=(0,xt.useParams)(),[et]=(0,xt.useSearchParams)(),[ht,lt]=(0,Fe.useState)([]),[ot,rt]=(0,Fe.useState)(),[Mt,Xt]=(0,Fe.useState)(),[cn]=en.default.useForm(),[Cn,En]=(0,Fe.useState)(!1),[Zn,ti]=(0,Fe.useState)(!1),bn=(xe=(ve=Xe==null?void 0:Xe.route_nodes)==null?void 0:ve.find(Wn=>Wn==null?void 0:Wn.is_choice))==null?void 0:xe.id,rn=[{name:"\u8BFE\u7A0B\u4FE1\u606F",key:1,content:Es.createElement(Fi,null),isshow:et.get("type")!=="classrooms"},{name:"\u8BFE\u7A0B\u56FE\u8C31",key:3,content:((Me=(Se=E==null?void 0:E.detail)==null?void 0:Se.nodes)==null?void 0:Me.length)<=1?Es.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},Es.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},((De=E==null?void 0:E.detail)==null?void 0:De.can_managed)&&Es.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{ti(!0)}},"\u65B0\u5EFA\u56FE\u8C31"),((Oe=E==null?void 0:E.detail)==null?void 0:Oe.can_managed)&&et.get("type")!=="classrooms"&&Es.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem flex item-center gap-4px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>Nk(void 0,null,function*(){let Wn=yield(0,gn.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:it==null?void 0:it.pathId}});Wn.status===0&&kt.ZP.info(Wn==null?void 0:Wn.message)})},"\u751F\u6210\u56FE\u8C31",Es.createElement(ft.Z,{title:Es.createElement("span",{className:"c-black"},"\u6839\u636E\u65E7\u7248\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u6216\u8BFE\u7A0B\u7AE0\u8282\u53CA\u8D44\u6E90\u5185\u5BB9\u81EA\u52A8\u751F\u6210\u77E5\u8BC6\u56FE\u8C31"),color:"#fff"},Es.createElement(qs.Z,{style:{color:"#fff",marginLeft:5,marginTop:0},rev:void 0})))),Es.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F"),Es.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4E00\u5F20\u667A\u80FD\u5316\u7684\u77E5\u8BC6\u5BFC\u822A\u5730\u56FE\uFF0C\u901A\u8FC7AI\u6280\u672F\u5C06\u96F6\u6563\u77E5\u8BC6\u70B9\u4E32\u8054\u6210\u903B\u8F91\u7F51\u7EDC\uFF0C\u6E05\u6670\u5C55\u73B0\u5B66\u79D1\u6838\u5FC3\u6982\u5FF5\u3001\u80FD\u529B\u5C42\u7EA7\u4E0E\u5173\u8054\u8DEF\u5F84\u3002\u5B83\u5982\u540C\u4E00\u4F4D\u201C\u8D85\u7EA7\u5BFC\u5E08\u201D\uFF0C\u4E3A\u4F60\u6307\u660E\u5B66\u4EC0\u4E48\u3001\u600E\u4E48\u5B66\u3001\u5B66\u5230\u54EA\u3002",Es.createElement("img",{className:"absolute",src:Je(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),Es.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},Es.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Es.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(23852)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),Es.createElement("div",{className:"w-full flex flex-wrap justify-between",style:{background:`url(${Je(30019)}) center / auto 100% no-repeat`,height:"446rem",gap:"54rem 200rem"}},[{title:"\u5B66\u4E60\u8DEF\u5F84\u751F\u6210",order:1,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6839\u636E\u5173\u7CFB\uFF08\u5305\u542B\u3001\u524D/\u540E\u7EED\uFF09\u548C\u8282\u70B9\u6807\u7B7E\uFF08\u5982\uFF1A\u6587\u79D1/\u7406\u79D1\u3001\u57FA\u7840/\u8FDB\u9636/\u7A81\u7834\uFF09\u5FEB\u901F\u81EA\u52A8\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84\u3002"},{title:"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA",order:2,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6309\u7167\u80FD\u529B\u7EF4\u5EA6\uFF0C\u6784\u5EFA\u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\uFF0C\u7528\u4E8E\u68C0\u9A8C\u5B66\u751F\u5BF9\u8BFE\u7A0B\u57F9\u517B\u80FD\u529B\u7684\u638C\u63E1\u3002"},{title:"\u8BFE\u5802\u5B66\u60C5\u5206\u6790",order:4,desc:"\u652F\u6301\u4E00\u952E\u5C06\u77E5\u8BC6\u56FE\u8C31\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\uFF0C\u8BA9\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u5B8C\u6210\u5B66\u4E60\u4EFB\u52A1\uFF0C\u5E76\u53EF\u4EE5\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u60C5\u5206\u6790\u548C\u5B66\u60C5\u9884\u8B66\u3002"},{title:"\u5B66\u4E60\u8D44\u6E90\u63A8\u8350",order:3,desc:"\u5229\u7528\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u5173\u7CFB\u548C\u6807\u7B7E\u5206\u7C7B\uFF0C\u57FA\u4E8E\u5B66\u751F\u5B66\u4E60\u53CA\u638C\u63E1\u5185\u5BB9\u4E3A\u5B66\u751F\u63A8\u8350\u8584\u5F31\u70B9\u3001\u63D0\u5347\u70B9\u3001\u7A81\u7834\u70B9\u8D44\u6E90\u5B66\u4E60\u3002"}].map((Wn,hi)=>Es.createElement("div",{key:hi,className:"py-10px-rem px-20px-rem flex flex-col gap-10px-rem rounded-8px-rem",style:{width:"234rem",height:"160rem",background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",order:Wn==null?void 0:Wn.order}},Es.createElement("div",{className:"text-16px-rem"},hi+1,". ",Wn==null?void 0:Wn.title),Es.createElement("div",{style:{color:"rgba(255,255,255,0.8)"}},Wn==null?void 0:Wn.desc))))),Es.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Es.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${Je(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),Es.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:Es.createElement("div",{className:"flex flex-col gap-4px-rem"},Es.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7C7B\u578B"),Es.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u4E3B\u8981\u5206\u4E3A\u4E24\u79CD\u7C7B\u578B\uFF1A",Es.createElement("span",{style:{color:"#FFE698"}},"\u6807\u7B7E\u8282\u70B9\u548C\u8D44\u6E90\u8282\u70B9"),Es.createElement("br",null),Es.createElement("span",{className:"c-white"},"\u6807\u7B7E\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u6587\u672C\u5185\u5BB9\uFF0C\u5982\u7AE0\u8282\u3001\u77E5\u8BC6\u70B9\u3002",Es.createElement("br",null),Es.createElement("span",{className:"c-white"},"\u8D44\u6E90\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u8D44\u6E90\u5185\u5BB9\uFF0C\u53EF\u4EE5\u9009\u62E9\u5E73\u53F0\u8D44\u6E90\u3001\u672C\u5730\u4E0A\u4F20\u6587\u4EF6\u548C\u5916\u94FE\u3002",Es.createElement("br",null)))},{desc:Es.createElement("div",{className:"flex flex-col gap-4px-rem"},Es.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u6807\u7B7E"),Es.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u6807\u7B7E\u53EF\u4EE5\u7528\u6237\u81EA\u5B9A\u4E49\u6DFB\u52A0\uFF0C\u8282\u70B9\u6807\u7B7E\u4E3B\u8981\u7528\u4E8E\u7B5B\u9009\u8282\u70B9\uFF0C\u5982\u6587\u79D1/\u7406\u79D1/\u5DE5\u79D1\u3001\u7B80\u5355/\u8FDB\u9636/\u56F0\u96BE\u3002",Es.createElement("br",null),Es.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u6807\u7B7E\u540C\u6B65\u5EFA\u7ACB\uFF0C\u540E\u7EED\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u548C\u80FD\u529B\u56FE\u8C31\u65F6\u53EF\u4EE5\u4F7F\u7528\u3002")))},{desc:Es.createElement("div",{className:"flex flex-col gap-4px-rem"},Es.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u5173\u7CFB"),Es.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u5173\u7CFB",Es.createElement("span",{style:{color:"#FFE698"}},"\u6709\u5305\u542B/\u88AB\u5305\u542B\u3001\u524D\u5E8F/\u540E\u7EED\u3001\u5173\u8054\u3002"),Es.createElement("br",null),Es.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u5173\u7CFB\u540C\u6B65\u5EFA\u7ACB\uFF0C\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u65F6\uFF0C\u5C06\u6839\u636E\u524D\u5E8F/\u540E\u7EED\u5173\u7CFB\u751F\u6210\u5B66\u4E60\u8DEF\u5F84\u3002")))}].map((Wn,hi)=>Es.createElement("div",{key:hi,className:"py-22px-rem px-16px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},Es.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(hi+1).toString().padStart(2,"0")),Es.createElement("div",{className:"flex-1 minW-0"},Wn==null?void 0:Wn.desc))))))):Es.createElement(foe,{settpacti:rt,tpacti:ot}),isshow:!0},{name:"\u5B66\u4E60\u8DEF\u5F84",key:2,content:Es.createElement(qm,{setxxljac:Xt,xxljac:Mt}),isshow:!0},{name:"\u4EA4\u6D41\u53CD\u9988",key:4,content:Es.createElement(Ll,null),isshow:et.get("type")!=="classrooms"},{name:"\u80FD\u529B\u56FE\u8C31",key:5,content:Es.createElement(joe,null),isshow:!0},{name:"\u6570\u636E\u7EDF\u8BA1",key:6,content:Es.createElement(Goe.default,{learningpathId:bn,isCompontent:!0}),isshow:et.get("type")=="classrooms"&&bn}].filter(Wn=>Wn==null?void 0:Wn.isshow);(0,Fe.useEffect)(()=>{var Wn,hi;if((Wn=E==null?void 0:E.detail)!=null&&Wn.nodes){let On=[...(hi=E==null?void 0:E.detail)==null?void 0:hi.nodes];lt(On==null?void 0:On.splice(1))}},[(Re=E==null?void 0:E.detail)==null?void 0:Re.nodes]),(0,Fe.useEffect)(()=>ts.Z.subscribe("create_a_knowledge_map",()=>{ti(!0)}),[]);const li=(Wn={})=>{se({type:"pathsDetail/getKnowledgeGraphs",payload:Woe({graphable_type:et.get("type")==="classrooms"?"course":"subject",graphable_id:it.pathId},Wn)})},Dn=Wn=>Nk(void 0,null,function*(){var hi,On,dn,mi,ui,Mi,Qi;const{nodeType:rr,description:Ir,name:to,tags:Jo}=Wn;En(!0);const Ot=yield(0,gn.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:it==null?void 0:it.pathId,properties:{description:Ir,rootNodeUuid:(dn=(On=(hi=E==null?void 0:E.detail)==null?void 0:hi.nodes)==null?void 0:On[0])==null?void 0:dn.uuid,name:to,nodeType:rr[0],tags:(Jo==null?void 0:Jo.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:(Mi=(ui=(mi=E==null?void 0:E.detail)==null?void 0:mi.nodes)==null?void 0:ui[0])==null?void 0:Mi.uuid,type:"\u5305\u542B"}]}});(Ot==null?void 0:Ot.status)===0&&(ti(!1),rt((Qi=Ot==null?void 0:Ot.data)==null?void 0:Qi.uuid),de(3),li({graphable_id:it==null?void 0:it.pathId})),En(!1)});return Es.createElement("div",{className:vr.content,style:{paddingTop:"20rem"}},Es.createElement("div",{style:{padding:"0 40rem",position:"sticky",top:0,zIndex:99}},Es.createElement(Soe,{activied:le,setactivied:de,TabsData:rn,tplist:ht,settpacti:rt,tpacti:ot,setxxljac:Xt,xxljac:Mt})),(Ze==null?void 0:Ze.key)=="\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802"&&Es.createElement(Ug.NI,{onFinish:()=>{li()},type:(Le=Ze==null?void 0:Ze.params)==null?void 0:Le.type}),Es.createElement(jt.default,{open:Zn,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ti(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{cn.resetFields()},confirmLoading:Cn,onOk:()=>cn.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Es.createElement("div",{className:vr.modal},Es.createElement("div",{className:vr.mHead},"\u8282\u70B9\u5C5E\u6027"),Es.createElement(en.default,{form:cn,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:Dn,className:vr.form},Es.createElement(en.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Es.createElement(Gt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Es.createElement(en.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Es.createElement(Gt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Es.createElement(en.default.Item,{className:vr.mType,label:Es.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Es.createElement(ft.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Es.createElement(qs.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Es.createElement(hp,{subjectId:it==null?void 0:it.pathId,type:1}))))),Es.createElement("div",{className:vr.content},(Qe=rn.find(Wn=>Wn.key===le))==null?void 0:Qe.content))};var Zoe=(0,xt.connect)(({pathsDetail:ee,user:y,loading:E,globalSetting:z})=>({pathsDetail:ee,user:y,globalSetting:z,loading:E.models.index}))(Yoe),AT=Je(59301),Ik=Object.getOwnPropertySymbols,Koe=Object.prototype.hasOwnProperty,Joe=Object.prototype.propertyIsEnumerable,qoe=(ee,y)=>{var E={};for(var z in ee)Koe.call(ee,z)&&y.indexOf(z)<0&&(E[z]=ee[z]);if(ee!=null&&Ik)for(var z of Ik(ee))y.indexOf(z)<0&&Joe.call(ee,z)&&(E[z]=ee[z]);return E},_oe=(ee,y,E)=>new Promise((z,ne)=>{var ie=de=>{try{le(E.next(de))}catch(ge){ne(ge)}},se=de=>{try{le(E.throw(de))}catch(ge){ne(ge)}},le=de=>de.done?z(de.value):Promise.resolve(de.value).then(ie,se);le((E=E.apply(ee,y)).next())});function Rk(ee){const y=(ne,ie)=>{if(ne.localName===ie)return ne;for(let se=0,le=ne;le=le.parentNode;se++){if(le.localName===ie)return le;if(le==document.documentElement)return!1}},E=ee.target,z=y(E,"a");if(console.log([z],z==null?void 0:z.href,44),!(z!=null&&z.href)&&E.tagName.toUpperCase()==="IMG"){let ne=E.src||E.getAttribute("src");ne&&(ne==null?void 0:ne.indexOf("/images/avatars/User"))===-1&&(ee.stopPropagation(),ee.preventDefault(),ts.Z.publish("preview-image",ne))}}const $oe=ee=>{var y=ee,{pathsDetail:E,globalSetting:z,loading:ne,dispatch:ie}=y,se=qoe(y,["pathsDetail","globalSetting","loading","dispatch"]);const[le]=(0,xt.useSearchParams)(),de=(0,xt.useParams)(),ge=(0,Fe.useRef)(),[ve,xe]=(0,Fe.useState)((le==null?void 0:le.get("type"))!=="classrooms"?3:1);(0,Fe.useEffect)(()=>{le.get("tabs")&&xe(parseInt(le.get("tabs"))||3)},[le.get("tabs")]),(0,Fe.useEffect)(()=>{if(ge.current)return ge.current.addEventListener("mousedown",Rk),()=>{var Me;(Me=ge.current)==null||Me.removeEventListener("mousedown",Rk)}},[ge.current]),(0,Fe.useEffect)(()=>{de.pathId&&Se()},[de.pathId]),(0,Fe.useEffect)(()=>(ie({type:"globalSetting/footerToggle",payload:!1}),()=>{ie({type:"globalSetting/footerToggle",payload:!0})}),[]);const Se=()=>_oe(void 0,null,function*(){const Me=yield ie({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:le.get("type")==="classrooms"?"course":"subject",graphable_id:de.pathId}});le.get("type")!="classrooms"&&(Me!=null&&Me.id)&&le.get("token")&&(location.href=location.pathname)});return AT.createElement(an.Z,{spinning:!1},AT.createElement("section",{id:"knowledgegraphDetail",className:Bs.bg,style:{background:le.get("type")!=="classrooms"?"#010A23":""}},AT.createElement(vo,null),AT.createElement(Zoe,{activied:ve,setactivied:xe})))};var ese=(0,xt.connect)(({pathsDetail:ee,loading:y,globalSetting:E})=>({pathsDetail:ee,globalSetting:E,loading:y}))($oe)},42959:function(qt,xi,Je){"use strict";var Fe=Je(59301),xt=Object.defineProperty,jt=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable,zt=($e,Gt,an)=>Gt in $e?xt($e,Gt,{enumerable:!0,configurable:!0,writable:!0,value:an}):$e[Gt]=an,wt=($e,Gt)=>{for(var an in Gt||(Gt={}))kt.call(Gt,an)&&zt($e,an,Gt[an]);if(jt)for(var an of jt(Gt))It.call(Gt,an)&&zt($e,an,Gt[an]);return $e};const en=()=>`shadow-${Math.random().toString(36).slice(2,9)}`,$t=({percentage:$e,startAngle:Gt=270,strokeColor:an="#42BECD",trackColor:gn="#e6e6e6",innerBackgroundColor:Ke="#fff",text:ue="",textColor:ce="#000",textSize:Ee="1rem",textPadding:Ae="28rem",outerDiameter:Be,innerDiameter:Ne,maxTextLength:Ue=6,onClick:nt,hoverEffect:ft=!0,style:St})=>{const[Nt,Bt]=(0,Fe.useState)(0),[bt,ln]=(0,Fe.useState)(0),[Kt,ni]=(0,Fe.useState)(!1),pn=zi=>{var on,Wt;const zn=parseFloat(zi),br=parseFloat((Wt=(on=document.documentElement)==null?void 0:on.style)==null?void 0:Wt.fontSize);return zn*br},ci=()=>{Bt(pn(Be)),ln(pn(Ne))};(0,Fe.useEffect)(()=>(ci(),window.addEventListener("resize",ci),()=>window.removeEventListener("resize",ci)),[Be,Ne]);const di=Nt/2,Ln=bt/2,si=(Nt-bt)/2,gr=di-si,Ht=2*Math.PI*gr,Et=Ht-$e/100*Ht,Si=`rotate(${Gt} ${di} ${di})`,zr=((zi,on)=>on&&zi.length>on?zi.slice(0,on-1)+"...":zi)(ue,Ue),Fn=()=>{ft&&ni(!0)},An=()=>{ni(!1)},Vn=pn("4rem");return Fe.createElement("svg",{width:Nt,height:Nt,viewBox:`0 0 ${Nt} ${Nt}`,xmlns:"http://www.w3.org/2000/svg",onClick:nt,onMouseEnter:Fn,onMouseLeave:An,style:wt({cursor:nt?"pointer":"default"},St)},Fe.createElement("circle",{cx:di,cy:di,r:Ln,fill:Ke}),Fe.createElement("circle",{cx:di,cy:di,r:gr,fill:"none",stroke:gn,strokeWidth:si}),Fe.createElement("circle",{cx:di,cy:di,r:gr,fill:"none",stroke:an,strokeWidth:si,strokeDasharray:Ht,strokeDashoffset:Et,strokeLinecap:"round",transform:Si}),Kt&&Fe.createElement("circle",{cx:di,cy:di,r:gr+si/2,fill:"none",stroke:"#FA6400",strokeWidth:pn("4rem")}),ue&&Fe.createElement("foreignObject",{x:di-Ln,y:di-Ln,width:bt,height:bt},Fe.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",padding:Ae}},Fe.createElement("b",{style:{color:ce,fontSize:Ee,textAlign:"center"},title:ue},zr))))};xi.Z=$t},46339:function(qt,xi,Je){"use strict";Je.r(xi),Je.d(xi,{KNOWLEDGELEARNINGDETAIL:function(){return on},default:function(){return zn}});var Fe=Je(59301),xt=Je(25690),jt=Je.p+"static/nav.8f5feceb.png",kt=Je(74732),It=Je(26358),zt=Je(16033),wt=Je(82670),en=Je(16122),$t=Je(362),$e=Je(61834),Gt=Je(8451),an=Je(81535),gn="data:image/png;base64,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",Ke=Je(87620),ue=Je(64813),ce=Je(87017),Ee=Je(40181),Ae=Je(48289),Be=Je(25399),Ne=Je(6767),Ue=Je(29787),nt=Je(54172),ft=Je(60242),St=Je(53664),Nt=Je(47125),Bt=Je(42441),bt=Je(76411),ln=Je(61186),Kt=Je.n(ln),ni=Je(9148),pn=Je(28426),ci=Je(45937),di=Je(36714),Ln=Je(346),si=Je(51257),gr=Object.defineProperty,Ht=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,Si=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,Fn=(br,uo,vt)=>uo in br?gr(br,uo,{enumerable:!0,configurable:!0,writable:!0,value:vt}):br[uo]=vt,An=(br,uo)=>{for(var vt in uo||(uo={}))_r.call(uo,vt)&&Fn(br,vt,uo[vt]);if(Si)for(var vt of Si(uo))zr.call(uo,vt)&&Fn(br,vt,uo[vt]);return br},Vn=(br,uo)=>Ht(br,Et(uo)),zi=(br,uo,vt)=>new Promise((We,je)=>{var ct=Hn=>{try{qe(vt.next(Hn))}catch(Ci){je(Ci)}},Pt=Hn=>{try{qe(vt.throw(Hn))}catch(Ci){je(Ci)}},qe=Hn=>Hn.done?We(Hn.value):Promise.resolve(Hn.value).then(ct,Pt);qe((vt=vt.apply(br,uo)).next())}),on=(br=>(br.KNOWLEDGE="1",br.RESOURCE="2",br.STUDENT="3",br))(on||{});const Wt=({dispatch:br,pathsDetail:uo,learningpathId:vt,isCompontent:We})=>{var je,ct,Pt,qe,Hn,Ci,gi,ps,$r,Ji,ws,Gr,Ms,$a;const{detail:mo,actionTabs:Ss}=uo,[Sn,wi]=(0,Fe.useState)((0,xt.useParams)()),Di=new URLSearchParams(window.location.search),[Ei,Kr]=(0,Fe.useState)({}),[oo,vo]=(0,Fe.useState)("good"),[,ts,Bs,vr]=(0,ci.U)(di.b,{subject_id:Sn==null?void 0:Sn.pathId,id:Sn==null?void 0:Sn.learningpathId}),[,ta,ba,ua]=(0,ci.U)(di.S$,{subject_id:Sn==null?void 0:Sn.pathId,id:Sn==null?void 0:Sn.learningpathId}),[Ps,Na]=(0,Fe.useState)({page:1,limit:10,type:"1",keyword:""}),Xs=(0,Fe.useMemo)(()=>{var Nn,ri;const fn=((ri=(Nn=vr==null?void 0:vr.data)==null?void 0:Nn.route_study_info)==null?void 0:ri.study_grasp_hash)||[],yn=fn==null?void 0:fn.reduce((wn=0,pr)=>wn+((pr==null?void 0:pr.value)||0),0),_t=15;return{title:[{text:"\u5404\u9636\u6BB5\u638C\u63E1\u7387\u5360\u6BD4",top:"50%",left:"15%",textStyle:{color:"#A4C8FC",fontWeight:"normal",fontSize:12}},{text:"\u638C\u63E1\u7387 \u4EBA\u6570 \u5360\u6BD4 ",top:"10%",right:0,textStyle:{color:"#A4C8FC",fontWeight:"normal",fontSize:14}}],tooltip:{trigger:"item",formatter:({color:wn,value:pr,name:Lr,percent:yo})=>`
\u638C\u63E1\u7387${Lr}
${pr}\u4EBA \u5360\u6BD4${yo}%`},legend:{orient:"vertical",icon:"circle",formatter:wn=>{var pr,Lr;const yo=fn==null?void 0:fn.find(Jn=>(Jn==null?void 0:Jn.name)==wn);return`${wn.padEnd(wn=="100%"?_t+4:_t)}${(pr=`${yo==null?void 0:yo.value}`)==null?void 0:pr.padEnd(10)}${(Lr=`${yo==null?void 0:yo.rate}%`)==null?void 0:Lr.padEnd(5)}`},textStyle:{color:"#fff",fontSize:14},itemGap:20,top:"24%",right:0},color:yn==0?["#1F2A51"]:["#37AD83","#0374EA","#F29533","#EE5D5D","#A4C8FC"],series:{type:"pie",radius:["45%","80%"],center:["25%","55%"],label:{position:"inner",fontSize:14,formatter:({percent:wn})=>wn==0?"":`${wn}%`},labelLine:{show:!1},data:fn}}},[(je=vr==null?void 0:vr.data)==null?void 0:je.route_study_info]),os=(0,Fe.useMemo)(()=>{var Nn,ri,fn,yn,_t,wn,pr,Lr,yo,Jn;const xr=[{value:((ri=(Nn=vr==null?void 0:vr.data)==null?void 0:Nn.route_study_info)==null?void 0:ri.complete_rate)||0,name:"\u5E73\u5747\u5B8C\u6210\u7387"},{value:((_t=(yn=(fn=vr==null?void 0:vr.data)==null?void 0:fn.route_study_info)==null?void 0:yn.personal_complete)==null?void 0:_t.complete_rate)||0,name:"\u6700\u9AD8\u5B8C\u6210\u7387"},{value:((pr=(wn=vr==null?void 0:vr.data)==null?void 0:wn.route_study_info)==null?void 0:pr.grasp_rate)||0,name:"\u5E73\u5747\u638C\u63E1\u7387"},{value:((Jn=(yo=(Lr=vr==null?void 0:vr.data)==null?void 0:Lr.route_study_info)==null?void 0:yo.personal_grasp)==null?void 0:Jn.grasp_rate)||0,name:"\u6700\u9AD8\u638C\u63E1\u7387"}],na=zs=>{var Hi,tn,Ki,Zr;return(zs=="\u6700\u9AD8\u5B8C\u6210\u7387"?(tn=(Hi=vr==null?void 0:vr.data)==null?void 0:Hi.route_study_info)==null?void 0:tn.personal_complete:(Zr=(Ki=vr==null?void 0:vr.data)==null?void 0:Ki.route_study_info)==null?void 0:Zr.personal_grasp)||[]};return{tooltip:{trigger:"item",formatter:({value:zs,name:Hi})=>{var tn,Ki,Zr;return Hi=="\u5E73\u5747\u5B8C\u6210\u7387"||Hi=="\u5E73\u5747\u638C\u63E1\u7387"?`${Hi}: ${zs}%`:`
@@ -5490,7 +5490,7 @@ b`.split(/\n/).length!=3?function(he){for(var me=0,Ce=[],Pe=he.length;me<=Pe;){v `).replace(/\r/g,` `),te=a.spacingAbove+a.spacingBelow;if(te=Math.max(0,lx(a)+te),b.length===0)return a.Cb=0,a.Gc=1,te;if(!a.isMultiline){var re=b.indexOf(` `,0);0<=re&&(b=b.substr(0,re))}re=0;for(var oe=a.Gc=0,ae,fe=!1;!fe;){if(ae=b.indexOf(` -`,oe),ae===-1&&(ae=b.length,fe=!0),oe<=ae){if(oe=b.substr(oe,ae-oe),a.wrap!==Jf){a.Le=0;var pe=pt.alloc();Vy(a,oe,x,pe),re+=pe.height,pt.free(pe),a.Gc+=a.Le}else Vy(a,oe,x,null),re+=te,a.Gc++;a.Gc===a.maxLines&&(fe=!0)}oe=ae+1}return a.Lq=re}wn.Object.defineProperties(Rs.prototype,{font:{get:function(){return this.Ae},set:function(a){var x=this.Ae;x!==a&&(this.Ae=a,this.df=null,this.v(),this.g("font",x,a))}},text:{get:function(){return this.ec},set:function(a){var x=this.ec;a!=null?a=a.toString():a="",x!==a&&(this.ec=a,this.v(),this.g("text",x,a),this.Uc=!0)}},textAlign:{get:function(){return this.da!==null?this.da.Or:"start"},set:function(a){var x=this.textAlign;x===a||a!=="start"&&a!=="end"&&a!=="left"&&a!=="right"&&a!=="center"||(Kf(this),this.da.Or=a,this.N(),this.g("textAlign",x,a))}},flip:{get:function(){return this.da!==null?this.da.Xf:vn},set:function(a){var x=this.flip;x!==a&&(Kf(this),this.da.Xf=a,this.N(),this.g("flip",x,a))}},verticalAlignment:{get:function(){return this.da!==null?this.da.Yr:Go},set:function(a){var x=this.verticalAlignment;x.D(a)||(a=a.J(),Kf(this),this.da.Yr=a,vc(this),this.g("verticalAlignment",x,a))}},naturalBounds:{get:function(){if(!this.dc.w()){var a=pt.alloc();Vy(this,this.ec,999999,a);var x=a.width;pt.free(a),a=_P(this,x);var b=this.desiredSize;isNaN(b.width)||(x=b.width),isNaN(b.height)||(a=b.height),Wi(this.dc,x,a)}return this.dc}},isMultiline:{get:function(){return(this.l&2097152)!==0},set:function(a){var x=(this.l&2097152)!==0;x!==a&&(this.l^=2097152,this.v(),this.g("isMultiline",x,a))}},isUnderline:{get:function(){return(this.l&4194304)!==0},set:function(a){var x=(this.l&4194304)!==0;x!==a&&(this.l^=4194304,this.Uc=!0,this.N(),this.g("isUnderline",x,a))}},isStrikethrough:{get:function(){return(this.l&8388608)!==0},set:function(a){var x=(this.l&8388608)!==0;x!==a&&(this.l^=8388608,this.Uc=!0,this.N(),this.g("isStrikethrough",x,a))}},wrap:{get:function(){return this.da!==null?this.da.$r:P0},set:function(a){var x=this.wrap;x!==a&&(Kf(this),this.da.$r=a,this.v(),this.g("wrap",x,a))}},overflow:{get:function(){return this.da!==null?this.da.$q:$w},set:function(a){var x=this.overflow;x!==a&&(Kf(this),this.da.$q=a,this.v(),this.g("overflow",x,a))}},isOverflowed:{get:function(){return(this.l&16777216)!==0}},stroke:{get:function(){return this.xc},set:function(a){var x=this.xc;x!==a&&(a!==null&&Dv(a,"TextBlock.stroke"),a instanceof Fs&&a.freeze(),this.xc=a,this.N(),this.g("stroke",x,a))}},lineCount:{get:function(){return this.Gc}},lineHeight:{get:function(){return lx(this)}},editable:{get:function(){return(this.l&1048576)!==0},set:function(a){var x=(this.l&1048576)!==0;x!==a&&(this.l^=1048576,this.g("editable",x,a))}},textEditor:{get:function(){return this.da!==null?this.da.Qr:null},set:function(a){var x=this.textEditor;x!==a&&(Kf(this),this.da.Qr=a,this.g("textEditor",x,a))}},errorFunction:{get:function(){return this.da!==null?this.da.Hd:null},set:function(a){var x=this.errorFunction;x!==a&&(Kf(this),this.da.Hd=a,this.g("errorFunction",x,a))}},interval:{get:function(){return this.fa!==null?this.fa.Tk:1},set:function(a){var x=this.interval;if(a=Math.round(a),x!==a&&a!==0&&isFinite(a)){this.fa===null&&(this.fa=new wl),this.fa.Tk=a,this.v();var b=this.panel;b!==null&&(b.graduatedIntervals=null),this.g("interval",x,a)}}},graduatedStart:{get:function(){return this.fa!==null?this.fa.u:0},set:function(a){var x=this.graduatedStart;x!==a&&(0>a?a=0:1a?a=0:1=a&&Zr(a,"> 0",Rs,"maxLines"),Kf(this),this.da.Jq=a,this.v(),this.g("maxLines",x,a))}},metrics:{get:function(){return{arrSize:this.Qc!==null?this.Qc:[this.Cb],arrText:this.Qb!==null?this.Qb:[this.ze],maxLineWidth:this.Cb,fontHeight:this.df}}},choices:{get:function(){return this.Gm},set:function(a){var x=this.Gm;x!==a&&(this.Gm=a,this.g("choices",x,a))}}});var P1=null,C1=null,Jf=new un(Rs,"None",0),Pb=new un(Rs,"WrapFit",1),P0=new un(Rs,"WrapDesiredSize",2),_w=new un(Rs,"WrapBreakAll",3),$w=new un(Rs,"OverflowClip",0),fo=new un(Rs,"OverflowEllipsis",1),Uh=new un(Rs,"FormatTrim",0),YM=new un(Rs,"FormatNone",0),rf=/[ \u200b\u00ad]/,Vh=new ao,C0=0,$P=new ao,Df=0,Iv="...",CT="",vl=null,ux=!1;Rs.className="TextBlock";function Mb(){this.nc=!1,this.Hd=null,this.Xf=vn,this.gq=Uh,this.Jq=1/0,this.$q=$w,this.Er=this.Dr=0,this.Or="start",this.vj=this.Qr=this.Pr=null,this.Yr=Go,this.$r=P0}Mb.prototype.copy=function(){var a=new Mb;return a.Hd=this.Hd,a.Xf=this.Xf,a.gq=this.gq,a.Jq=this.Jq,a.$q=this.$q,a.Dr=this.Dr,a.Er=this.Er,a.Or=this.Or,a.Pr=this.Pr,a.Qr=this.Qr,a.vj=this.vj,a.Yr=this.Yr,a.$r=this.$r,a},Rs.getEllipsis=function(){return Iv},Rs.setEllipsis=function(a){Iv=a,$P=new ao,Df=0},Rs.getBaseline=function(){return P1},Rs.setBaseline=function(a){P1=a},Rs.getUnderline=function(){return C1},Rs.setUnderline=function(a){C1=a},Rs.isValidFont=function(a){if(ux||(vl=Ja?new Mf(null).context:null,ux=!0),vl===null)return!0;var x=vl.font;if(a===x||a==="10px sans-serif")return!0;vl.font="10px sans-serif",vl.font=a;var b=vl.font;if(b!=="10px sans-serif")return vl.font=x,!0;vl.font="19px serif";var te=vl.font;return vl.font=a,b=vl.font,vl.font=x,b!==te},Rs.FormatNone=YM,Rs.FormatTrim=Uh,Rs.None=Jf,Rs.OverflowClip=$w,Rs.OverflowEllipsis=fo,Rs.WrapBreakAll=_w,Rs.WrapDesiredSize=P0,Rs.WrapFit=Pb;function wl(){this.Tk=1,this.u=0,this.j=1,this.o=this.F=null}wl.prototype.copy=function(){var a=new wl;return a.Tk=this.Tk,a.u=this.u,a.j=this.j,a.F=this.F,a.o=this.o,a},wl.className="GradElementSettings";function jh(a,x){Tt.call(this),this.Eg=null,this.qo="",this.Xg=Eo,this.Nk=Pn,this.Zg=this.Hd=null,this.Mk=nr,this.Xf=vn,this.vl=null,this.qn=!1,this.en=!0,this.al=!1,this.bt=this.rl=null,typeof a=="string"?this.source=a:a&&Object.assign(this,a),x&&Object.assign(this,x)}var eS;_t(jh,Tt),jh.prototype.cloneProtected=function(a){Tt.prototype.cloneProtected.call(this,a),a.qo=this.qo,a.element=this.Eg,a.Xg=this.Xg.J(),a.Nk=this.Nk,a.Xf=this.Xf,a.Hd=this.Hd,a.Zg=this.Zg,a.Mk=this.Mk.J(),a.en=this.en,a.rl=this.rl},jh.prototype.qb=function(a){a===vn||a===Ri||a===So?this.imageStretch=a:Tt.prototype.qb.call(this,a)},jh.prototype.toString=function(){return"Picture("+this.source+")#"+Ia(this)};function tS(a){a===void 0&&(a=""),a!==""?eS[a]&&(delete eS[a],E1--):(eS=new ao,E1=0)}function ET(a,x){x.qy||(x.Fq=function(b){x.sq=!0,x.ln=!1;var te=x.Bg.copy();if(te!=null){for(te=te.iterator;te.next();){var re=te.value;re.N();var oe=x.getAttribute("src")||"",ae=re.Og.I(oe);if(ae!==null)for(var fe=ae.length,pe=0;pe=te.width&&(oe=oe+ze.offsetX+(be*ze.x-te.width*ze.x)),Ie>=te.height&&(ae=ae+ze.offsetY+(Ie*ze.y-te.height*ze.y)),pe=Math.min(te.width,be),fe=Math.min(te.height,Ie);break;case Pn:be=te.width,Ie=te.height;break;case Ri:case So:ke===Ri?(ke=Math.min(te.height/Ie,te.width/be),be*=ke,Ie*=ke):ke===So&&(ke=Math.max(te.height/Ie,te.width/be),be*=ke,Ie*=ke,be>=te.width&&(oe=(oe+ze.offsetX+(be*ze.x-te.width*ze.x)/be)*pe),Ie>=te.height&&(ae=(ae+ze.offsetY+(Ie*ze.y-te.height*ze.y)/Ie)*fe),pe*=1/(be/te.width),fe*=1/(Ie/te.height),be=te.width,Ie=te.height)}ke=this.Df()*x.scale;var Ge=be*ke*Ie*ke,st=pe*fe/Ge,tt=b.__goCache;ke=null;var gt=WL;if(!re){if(b.sq&&tt!==void 0&&4gt*gt)for(tt.gi===null&&(Tb(tt,4,ye,we,b),Tb(tt,16,ye,we,b)),re=tt.gi,ye=re.length,we=0;wea)&&(a=5),a=Math.min(a,x/3),a=Math.min(a,b/3);var te="rr"+x+","+b+","+a,re=Dt.Mf[te];if(re!==void 0)return re;var oe=a*Dt.wg;return re=new In().add(new Nl(a,0,!0).add(new wo(Ys,x-a,0)).add(new wo(su,x,a,x-oe,0,x,oe)).add(new wo(Ys,x,b-a)).add(new wo(su,x-a,b,x,b-oe,x-oe,b)).add(new wo(Ys,a,b)).add(new wo(su,0,b-a,oe,b,0,b-oe)).add(new wo(Ys,0,a)).add(new wo(su,a,0,0,oe,oe,0).close())),1re.x&&a.y>re.y&&a.rightre.x&&x.y>re.y&&x.right=b.maxSelectionCount)){this.G^=4096;var te=!1;if(b!==null){te=b.skipsUndoManager,b.skipsUndoManager=!0;var re=b.selection;re.ka(),a?re.add(this):re.remove(this),re.freeze()}this.g("isSelected",x,a),this.Wb(),a=this.selectionChanged,a!==null&&a(this),b!==null&&(b.$b(),b.skipsUndoManager=te)}}}},isHighlighted:{get:function(){return(this.G&524288)!==0},set:function(a){var x=(this.G&524288)!==0;if(x!==a){this.G^=524288;var b=this.diagram;b!==null&&(b=b.highlighteds,b.ka(),a?b.add(this):b.remove(this),b.freeze()),this.g("isHighlighted",x,a),this.N(),a=this.highlightedChanged,a!==null&&a(this)}}},isShadowed:{get:function(){return(this.G&8192)!==0},set:function(a){var x=(this.G&8192)!==0;x!==a&&(this.G^=8192,this.Uc=!0,this.g("isShadowed",x,a),this.N())}},isAnimated:{get:function(){return(this.G&262144)!==0},set:function(a){var x=(this.G&262144)!==0;x!==a&&(this.G^=262144,this.g("isAnimated",x,a))}},highlightedChanged:{get:function(){return this.P!==null?this.P.oq:null},set:function(a){var x=this.highlightedChanged;x!==a&&(sh(this),this.P.oq=a,this.g("highlightedChanged",x,a))}},selectionObjectName:{get:function(){return this.P!==null?this.P.vr:""},set:function(a){var x=this.selectionObjectName;x!==a&&(sh(this),this.P.vr=a,this.Ug=null,this.g("selectionObjectName",x,a))}},selectionAdornmentTemplate:{get:function(){return this.P!==null?this.P.tr:null},set:function(a){var x=this.selectionAdornmentTemplate;x!==a&&(sh(this),this.P.tr=a,this.g("selectionAdornmentTemplate",x,a))}},selectionObject:{get:function(){if(this.Ug===null){var a=this.selectionObjectName;a!==null&&a!==""?(a=this.fb(a),a!==null?this.Ug=a:this.Ug=this):this instanceof jn?(a=this.path,a!==null?this.Ug=a:this.Ug=this):this.Ug=this}return this.Ug}},selectionChanged:{get:function(){return this.P!==null?this.P.ur:null},set:function(a){var x=this.selectionChanged;x!==a&&(sh(this),this.P.ur=a,this.g("selectionChanged",x,a))}},resizeAdornmentTemplate:{get:function(){return this.P!==null?this.P.fr:null},set:function(a){var x=this.resizeAdornmentTemplate;x!==a&&(sh(this),this.P.fr=a,this.g("resizeAdornmentTemplate",x,a))}},resizeObjectName:{get:function(){return this.P!==null?this.P.hr:""},set:function(a){var x=this.resizeObjectName;x!==a&&(sh(this),this.P.hr=a,this.g("resizeObjectName",x,a))}},resizeObject:{get:function(){var a=this.resizeObjectName;return a!==""&&(a=this.fb(a),a!==null)?a:this}},resizeCellSize:{get:function(){return this.P!==null?this.P.gr:Oi},set:function(a){var x=this.resizeCellSize;x.D(a)||(a=a.J(),sh(this),this.P.gr=a,this.g("resizeCellSize",x,a))}},rotateAdornmentTemplate:{get:function(){return this.P!==null?this.P.ir:null},set:function(a){var x=this.rotateAdornmentTemplate;x!==a&&(sh(this),this.P.ir=a,this.g("rotateAdornmentTemplate",x,a))}},rotateObjectName:{get:function(){return this.P!==null?this.P.jr:""},set:function(a){var x=this.rotateObjectName;x!==a&&(sh(this),this.P.jr=a,this.g("rotateObjectName",x,a))}},rotateObject:{get:function(){var a=this.rotateObjectName;return a!==""&&(a=this.fb(a),a!==null)?a:this}},rotationSpot:{get:function(){return this.P!==null?this.P.lr:va},set:function(a){var x=this.rotationSpot;x.D(a)||(a=a.J(),sh(this),this.P.lr=a,this.g("rotationSpot",x,a))}},text:{get:function(){return this.ec},set:function(a){var x=this.ec;x!==a&&(this.ec=a,this.g("text",x,a))}},containingGroup:{get:function(){return this.Ah},set:function(a){if(this.Zc()){var x=this.Ah;if(x!==a){a===null||this!==a&&!a.Td(this)||(this===a&&tn("Cannot make a Group a member of itself: "+this.toString()),tn("Cannot make a Group indirectly contain itself: "+this.toString()+" already contains "+a.toString())),this.C(2);var b=this.diagram;if(x!==null?F1(x,this):this instanceof kr&&b!==null&&b.ai.remove(this),this.Ah=a,a!==null?px(a,this):this instanceof kr&&b!==null&&b.ai.add(this),this.C(1),b!==null&&b.aa){var te=this.data,re=b.model;if(te!==null&&re.Xj()){var oe=re.wa(a!==null?a.data:null);re.mp(te,oe)}}if(te=this.containingGroupChanged,te!==null&&(re=!0,b!==null&&(re=b.aa,b.aa=!0),te(this,x,a),b!==null&&(b.aa=re)),this instanceof kr){for(b=new ei,b0(b,this,!0,0,!0),b=b.iterator;b.next();)if(te=b.value,te instanceof fi)for(te=te.linksConnected;te.next();)Hv(te.value)}if(this instanceof fi){for(b=this.linksConnected;b.next();)Hv(b.value);b=this.labeledLink,b!==null&&Hv(b)}this.g("containingGroup",x,a),a!==null&&(x=a.layer,x!==null&&f1(x,-1,a))}}else tn("cannot set the Part.containingGroup of a Link or Adornment")}},containingGroupChanged:{get:function(){return this.P!==null?this.P.Kp:null},set:function(a){var x=this.containingGroupChanged;x!==a&&(sh(this),this.P.Kp=a,this.g("containingGroupChanged",x,a))}},isTopLevel:{get:function(){return!(this.containingGroup!==null||this instanceof fi&&this.labeledLink!==null)}},layoutConditions:{get:function(){return this.P!==null?this.P.Cq:127},set:function(a){var x=this.layoutConditions;x!==a&&(sh(this),this.P.Cq=a,this.g("layoutConditions",x,a))}},dragComputation:{get:function(){return this.P!==null?this.P.Up:null},set:function(a){var x=this.dragComputation;x!==a&&(sh(this),this.P.Up=a,this.g("dragComputation",x,a))}},shadowOffset:{get:function(){return this.P!==null?this.P.zr:ed},set:function(a){var x=this.shadowOffset;x.D(a)||(a=a.J(),sh(this),this.P.zr=a,this.N(),this.g("shadowOffset",x,a))}},shadowColor:{get:function(){return this.P!==null?this.P.yr:"gray"},set:function(a){var x=this.shadowColor;x!==a&&(sh(this),this.P.yr=a,this.N(),this.g("shadowColor",x,a))}},shadowBlur:{get:function(){return this.P!==null?this.P.Vg:4},set:function(a){var x=this.shadowBlur;x!==a&&(sh(this),this.P.Vg=a,this.N(),this.g("shadowBlur",x,a))}}}),qi.prototype.invalidateLayout=qi.prototype.C,qi.prototype.findCommonContainingGroup=qi.prototype.px,qi.prototype.isMemberOf=qi.prototype.Td,qi.prototype.findTopLevelPart=qi.prototype.sz,qi.prototype.findSubGraphLevel=qi.prototype.oz,qi.prototype.ensureBounds=qi.prototype.Va,qi.prototype.getDocumentBounds=qi.prototype.mi,qi.prototype.findObject=qi.prototype.fb,qi.prototype.moveTo=qi.prototype.moveTo,qi.prototype.invalidateAdornments=qi.prototype.Wb,qi.prototype.clearAdornments=qi.prototype.Ej,qi.prototype.removeAdornment=qi.prototype.Jf,qi.prototype.addAdornment=qi.prototype.bh,qi.prototype.findAdornment=qi.prototype.Pj,qi.prototype.updateTargetBindings=qi.prototype.La;var ah=!1;qi.className="Part",qi.LayoutNone=0,qi.LayoutAdded=1,qi.LayoutRemoved=2,qi.LayoutShown=4,qi.LayoutHidden=8,qi.LayoutNodeSized=16,qi.LayoutGroupLayout=32,qi.LayoutNodeReplaced=64,qi.LayoutStandard=127,qi.LayoutAll=16777215;function To(a,x){a===void 0||a instanceof ru||typeof a=="string"?qi.call(this,a):(qi.call(this),a&&(x=a)),this.G&=-257,this.Jg="Adornment",this.ue=null,this.Aw=0,this.Uw=!1,this.j=this.$a=null,x&&Object.assign(this,x)}_t(To,qi),To.prototype.toString=function(){var a=this.adornedPart;return"Adornment("+this.category+")"+(a!==null?a.toString():"")},To.prototype.updateRelationshipsFromData=function(){},To.prototype.Ul=function(a){var x=this.adornedObject,b=x==null?void 0:x.part;if(b instanceof jn&&x instanceof Xr){x=b.path,b.Ul(a),a=x.geometry,b=this.O.s,x=b.length;for(var te=0;tea&&(a=1);var x=this.diagram;if(x!==null&&!x.Ue){x.Ue=!0;var b=new ei;b.add(this),T1(this,b,x.isTreePathToChildren,a,x,this,x.treeCollapsePolicy===Tp),x.Ue=!1}};function T1(a,x,b,te,re,oe,ae){if(1a&&(a=2);var x=this.diagram;if(x!==null&&!x.Ue){x.Ue=!0;var b=new ei;b.add(this),gx(this,b,x.isTreePathToChildren,a,x,this,x.treeCollapsePolicy===Tp),x.Ue=!1}};function gx(a,x,b,te,re,oe,ae){for(var fe=oe===a?!1:a.isTreeExpanded,pe=b?a.Mo():a.Sd(),ye={};pe.next();){var we=pe.value;if(we.isTreeLink&&(fe||we.fd||we.bb(),we=we.To(a),we!==null&&we!==a&&!x.contains(we))){if(x.add(we),!fe){we.Zb(!0),we.oh();var be=b?we.Oo():we.Po();ye.vv=a,be.all(function(Ie){return function(ke){return ke===Ie.vv||!ke.isTreeExpanded}}(ye))&&re.Cj(we,oe)}(2re&&(re=fe.right),fe.bottom>oe&&(oe=fe.bottom)}}return isFinite(b)&&isFinite(te)?a.h(b,te,re-b,oe-te):(x=x.location,a.h(x.x,x.y,0,0)),a},wn.Object.defineProperties(zc.prototype,{padding:{get:function(){return this.yb},set:function(a){typeof a=="number"&&(a=new Xi(a));var x=this.yb;x.D(a)||(this.yb=a=a.J(),this.g("padding",x,a),this.v())}}}),zc.className="Placeholder";function jn(a){qi.call(this,Tn.Link),this.Qa=8,this.ef=null,this.ff="",this.uf=this.gn=null,this.vf="",this.uo=null,this.qk=uh,this.Om=0,this.Qm=uh,this.Rm=NaN,this.qj=pC,this.po=.5,this.wd=null,this.Nb=new $n().freeze(),this.Tg=this.Mg=null,this.ml=new Lt,this.ua=new In,this.u=this.o=this.Sf=this.Wf=null,this.su=new dt,this.cq=this.Mw=this.Lw=null,this.vt=NaN,this.ba=null,this.j=[],a&&Object.assign(this,a)}_t(jn,qi),jn.prototype.cloneProtected=function(a){qi.prototype.cloneProtected.call(this,a),a.Qa=this.Qa&-113,a.ff=this.ff,a.gn=this.gn,a.vf=this.vf,a.uo=this.uo,a.qk=this.qk,a.Om=this.Om,a.Qm=this.Qm,a.Rm=this.Rm,a.qj=this.qj,a.po=this.po,this.ba!==null&&(a.ba=this.ba.copy())},Ve=jn.prototype,Ve.Af=function(a){qi.prototype.Af.call(this,a),this.ff=a.ff,this.vf=a.vf,a.Mg=null,a.bb(),a.Sf=this.Sf;var x=a.fromPort;x!==null&&lh(x),a=a.toPort,a!==null&&lh(a)},Ve.qb=function(a){a.classType===jn?(a.value&2)===2?this.routing=a:a===Gh||a===D0||a===R1?this.curve=a:a===$f||a===F0||a===mC?this.adjusting=a:a!==pC&&a!==uh&&tn("Unknown Link enum value for a Link property: "+a):qi.prototype.qb.call(this,a)},Ve.Xc=function(){this.ba===null&&(this.ba=new zh)},Ve.si=function(){var a=this.fromNode;if(a!==null){var x=a.findVisibleNode();if(x!==null&&(a=x),Bh(a)||kv(a))return!1}return a=this.toNode,!(a!==null&&(x=a.findVisibleNode(),x!==null&&(a=x),Bh(a)||kv(a)))},Ve.zv=function(){return!1},Ve.Av=function(){},Ve.Zc=function(){return!1},jn.prototype.computeAngle=function(a,x,b){return jn.computeAngle(x,b)},jn.computeAngle=function(a,x){switch(a){default:case uh:a=0;break;case Jy:a=x;break;case L0:a=x+90;break;case bg:a=x-90;break;case Rp:a=x+180;break;case yx:a=Dt.bp(x),90a&&(a-=180);break;case Ax:a=Dt.bp(x+90),90a&&(a-=180);break;case cS:a=Dt.bp(x-90),90a&&(a-=180);break;case vC:if(a=Dt.bp(x),45a||225a)return 0;90a&&(a-=180)}return Dt.bp(a)};function Hv(a){var x=a.fromNode,b=a.toNode,te=null;if(x!==null?te=b!==null?x.px(b):x.containingGroup:b!==null?te=b.containingGroup:te=null,x=te,b=a.Ah,b!==x){b!==null&&F1(b,a),a.Ah=x,x!==null&&px(x,a);var re=a.containingGroupChanged;if(re!==null){var oe=!0,ae=a.diagram;ae!==null&&(oe=ae.aa,ae.aa=!0),re(a,b,x),ae!==null&&(ae.aa=oe)}!a.fd||a.Lw!==b&&a.Mw!==b||a.bb()}if(a.isLabeledLink)for(a=a.labelNodes;a.next();)a.value.containingGroup=te}Ve=jn.prototype,Ve.oh=function(){var a=this.containingGroup;a!==null&&this.fromNode!==a&&this.toNode!==a&&a.computesBoundsIncludingLinks&&qi.prototype.oh.call(this)},Ve.To=function(a){var x=this.fromNode;return a===x?this.toNode:x},Ve.Cz=function(a){var x=this.fromPort;return a===x?this.toPort:x};function sS(a,x){a.wd===null&&(a.wd=new ei),a.wd.add(x),a.v()}Ve.Vo=function(a){if(qi.prototype.Vo.call(this,a),Uv(this)&&this.Xo(this.actualBounds),!a){a=this.ef;var x=null;a!==null&&(x=this.fromPort,B1(a,this,x));var b=this.uf;if(b!==null){var te=this.toPort;b===a&&te===x||B1(b,this,te)}_f(this)}},Ve.Wo=function(a){if(qi.prototype.Wo.call(this,a),Uv(this)&&this.Xo(this.actualBounds),!a){a=this.ef;var x=null;a!==null&&(x=this.fromPort,Xy(a,this,x));var b=this.uf;if(b!==null){var te=this.toPort;b===a&&te===x||Xy(b,this,te)}B0(this)}},Ve.Lj=function(){if(this.fd=!0,this.wd!==null){var a=this.diagram;if(a!==null)for(var x=this.wd.copy().iterator;x.next();)a.remove(x.value)}this.data!==null&&(a=this.diagram,a!==null&&a.partManager.removeDataForLink(this))},jn.prototype.updateRelationshipsFromData=function(){if(this.data!==null){var a=this.diagram;a!==null&&a.partManager.updateRelationshipsFromData(this)}},jn.prototype.move=function(a,x){var b=x?this.location:this.position,te=b.x;isNaN(te)&&(te=0);var re=b.y;for(isNaN(re)&&(re=0),te=a.x-te,re=a.y-re,x===!0?qi.prototype.move.call(this,a,!1):(a=dt.allocAt(b.x+te,b.y+re),qi.prototype.move.call(this,a,!1),dt.free(a)),Am(this,te,re),a=this.labelNodes;a.next();)x=a.value,b=x.position,x.moveTo(b.x+te,b.y+re)},jn.prototype.canRelinkFrom=function(){if(!this.relinkableFrom)return!1;var a=this.layer;return a===null?!0:a.allowRelink?(a=a.diagram,!!(a===null||a.allowRelink)):!1},jn.prototype.canRelinkTo=function(){if(!this.relinkableTo)return!1;var a=this.layer;return a===null?!0:a.allowRelink?(a=a.diagram,!!(a===null||a.allowRelink)):!1},jn.prototype.computeMidPoint=function(a){var x=this.pointsCount;if(x===0)return a.assign(Ud),a;if(x===1)return a.assign(this.i(0)),a;if(x===2){var b=this.i(0),te=this.i(1);return a.h((b.x+te.x)/2,(b.y+te.y)/2),a}if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===Gh))return this.ua.Pu(.5,a),a.add(this.i(0)),b=this.ua.figures.first(),a.offset(-b.startX,-b.startY),a;if(this.computeCurve()===Gh){if(x===3){b=this.i(0),te=this.i(1);var re=this.i(2);return Dt.ax(b.x,b.y,te.x,te.y,te.x,te.y,re.x,re.y,a),a}if(te=(x-1)/3|0,b=3*(te/2|0),te%2===1){te=this.i(b),re=this.i(b+1);var oe=this.i(b+2);b=this.i(b+3),Dt.ax(te.x,te.y,re.x,re.y,oe.x,oe.y,b.x,b.y,a)}else a.assign(this.i(b));return a}var ae=this.flattenedLengths;for(b=this.flattenedTotalLength,re=oe=te=0;teb/2));)te+=re,oe++;return x=this.i(oe),oe=this.i(oe+1),1>Math.abs(x.x-oe.x)?x.y>oe.y?a.h(x.x,x.y-(b/2-te)):a.h(x.x,x.y+(b/2-te)):1>Math.abs(x.y-oe.y)?x.x>oe.x?a.h(x.x-(b/2-te),x.y):a.h(x.x+(b/2-te),x.y):(b=(b/2-te)/re,a.h(x.x+b*(oe.x-x.x),x.y+b*(oe.y-x.y))),a},jn.prototype.computeMidAngle=function(){var a=this.pointsCount;if(2>a)return NaN;if(a===2)return this.i(0).ab(this.i(1));if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===Gh))return this.ua.wx(.5);if(this.computeCurve()===Gh&&4<=a){var x=(a-1)/3|0,b=3*(x/2|0);if(x%2===1){b=Math.floor(b),a=this.i(b),x=this.i(b+1);var te=this.i(b+2);return b=this.i(b+3),Dt.My(a.x,a.y,x.x,x.y,te.x,te.y,b.x,b.y)}if(0te/2));)re+=oe,b++;if(x=this.i(b),te=this.i(b+1),1>Math.abs(x.x-te.x)&&1>Math.abs(x.y-te.y)){if(0Math.abs(x.x-te.x))return x.y>te.y?270:90;if(1>Math.abs(x.y-te.y))return x.x>te.x?180:0}return x.ab(te)},Ve=jn.prototype,Ve.i=function(a){return this.Nb.s[a]},Ve.dd=function(a,x){this.Nb.cd(a,x)},Ve.L=function(a,x,b){this.Nb.cd(a,new dt(x,b))},Ve.Kz=function(a,x){this.Nb.Gb(a,x)},Ve.m=function(a,x,b){this.Nb.Gb(a,new dt(x,b))},Ve.ne=function(a){this.Nb.add(a)},Ve.yf=function(a,x){this.Nb.add(new dt(a,x))},Ve.pv=function(a){this.Nb.mb(a)},Ve.Fj=function(){this.Nb.clear()};function Am(a,x,b){if(x!==0||b!==0)if(a.pointsCount===0)a.defaultFromPoint&&a.defaultFromPoint.offset(x,b),a.defaultToPoint&&a.defaultToPoint.offset(x,b);else{for(var te=a.fd,re=new $n,oe=a.Nb.iterator;oe.next();){var ae=oe.value;re.add(new dt(ae.x+x,ae.y+b).freeze())}re.freeze(),oe=a.Nb,a.Nb=re,ae=a.diagram,isNaN(x)||isNaN(b)||ae!==null&&ae.animationManager.zb?a.v():(a.ke.h(a.ke.x+x,a.ke.y+b),a.pa.h(a.pa.x+x,a.pa.y+b),vc(a)),te?uC(a):(a.defaultFromPoint&&(a.defaultFromPoint=a.i(0)),a.defaultToPoint&&(a.defaultToPoint=a.i(a.pointsCount-1))),ae!==null&&ae.animationManager.zb&&eh(ae.animationManager,a,re),a.g("points",oe,re)}}Ve.uh=function(){this.Mg===null&&(this.Mg=this.Nb,this.Nb=this.Nb.copy())},Ve.zf=function(){if(this.Mg!==null){for(var a=this.Mg,x=this.Nb,b=1/0,te=1/0,re=a.s,oe=re.length,ae=0;aeye&&(be=-be),Ge=(0>pe?-1:1)*be+ke,st=we*(Ge-ke)+ze),ke=oe.x+2*fe/3,ze=oe.y+2*pe/3;var tt=ke,gt=ze;Dt.B(pe,0)?gt=0pe?-1:1)*be+ke,gt=we*(tt-ke)+ze),this.Fj(),this.ne(oe),this.yf(Ge,st),this.yf(tt,gt),this.ne(Ie),this.dd(0,this.getLinkPoint(a,x,ae,!0,!1,te,re)),this.dd(3,this.getLinkPoint(te,re,b,!1,!1,a,x))}else oe=te,Ie=re,te=this.getLinkPoint(a,x,ae,!0,!1,oe,Ie),re=this.getLinkPoint(oe,Ie,b,!1,!1,a,x),this.hasCurviness()?(Ie=re.x-te.x,b=re.y-te.y,ae=this.computeCurviness(),a=te.x+Ie/2,x=te.y+b/2,oe=a,fe=x,Dt.B(b,0)?fe=0ae&&(oe=-oe),oe=(0>b?-1:1)*oe+a,fe=Ie*(oe-a)+x),this.ne(te),this.yf(oe,fe),this.ne(re)):(this.ne(te),this.ne(re),fe=Lt.alloc(),x.mi(fe),pe=fe.ca(re),Ie.mi(fe),ye=fe.ca(te),(pe||ye)&&(ae=x.ga(hC(ae),new dt),this.dd(0,this.getLinkPointFromPoint(a,x,ae,re,!0,ae)),b=Ie.ga(hC(b),new dt),this.dd(1,this.getLinkPointFromPoint(oe,Ie,b,te,!1,b))),Lt.free(fe))}else{be=this.isAvoiding,Ie&&(we&&be||ye)&&this.Fj();var mt=ye?this.computeCurviness():0;be=this.getLinkPoint(a,x,ae,!0,we,te,re),ke=Ge=ze=0,(we||!fe||ye)&&(st=this.computeEndSegmentLength(a,x,ae,!0),ke=this.getLinkDirection(a,x,be,ae,!0,we,te,re),ye&&(fe||ae.D(b)||!we&&ae.x+b.x===1&&ae.y+b.y===1)&&(ke-=we?90:30,0>mt&&(ke-=180)),0>ke?ke+=360:360<=ke&&(ke-=360),ye&&(st+=Math.abs(mt)*(we?1:2)),ke===0?ze=st:ke===90?Ge=st:ke===180?ze=-st:ke===270?Ge=-st:(ze=st*Math.cos(ke*Math.PI/180),Ge=st*Math.sin(ke*Math.PI/180)),ae.Mc()&&ye&&(st=x.ga(nr,dt.alloc()),tt=dt.allocAt(st.x+1e3*ze,st.y+1e3*Ge),this.getLinkPointFromPoint(a,x,st,tt,!0,be),dt.free(st),dt.free(tt))),st=this.getLinkPoint(te,re,b,!1,we,a,x);var yt=gt=tt=0;if(we||!pe||ye){var Ct=this.computeEndSegmentLength(te,re,b,!1);yt=this.getLinkDirection(te,re,st,b,!1,we,a,x),ye&&(pe||ae.D(b)||!we&&ae.x+b.x===1&&ae.y+b.y===1)&&(yt+=we?0:30,0>mt&&(yt+=180)),0>yt?yt+=360:360<=yt&&(yt-=360),ye&&(Ct+=Math.abs(mt)*(we?1:2)),yt===0?tt=Ct:yt===90?gt=Ct:yt===180?tt=-Ct:yt===270?gt=-Ct:(tt=Ct*Math.cos(yt*Math.PI/180),gt=Ct*Math.sin(yt*Math.PI/180)),b.Mc()&&ye&&(b=re.ga(nr,dt.alloc()),ae=dt.allocAt(b.x+1e3*tt,b.y+1e3*gt),this.getLinkPointFromPoint(te,re,b,ae,!1,st),dt.free(b),dt.free(ae))}b=be,(we||!fe||ye)&&(b=new dt(be.x+ze,be.y+Ge)),ae=st,(we||!pe||ye)&&(ae=new dt(st.x+tt,st.y+gt)),!Ie&&!we&&fe&&3Math.abs(x.y-a.y)?(x.x>=a.x?x.x=a.x+9e9:x.x=a.x-9e9,x.y=a.y):(x.y>=a.y?x.y=a.y+9e9:x.y=a.y-9e9,x.x=a.x),x}jn.prototype.getLinkPointFromPoint=function(a,x,b,te,re,oe){if(oe===void 0&&(oe=new dt),a===null||x===null)return oe.assign(b),oe;if(a.isVisible()||(re=a.findVisibleNode(),re!==null&&re!==a&&(x=re.port)),a=null,re=x.panel,re===null||re.se()||(re=re.panel),re===null){re=te.x,te=te.y;var ae=b.x;b=b.y}else{a=re.oe,re=1/(a.m11*a.m22-a.m12*a.m21),ae=a.m22*re;var fe=-a.m12*re,pe=-a.m21*re,ye=a.m11*re,we=re*(a.m21*a.dy-a.m22*a.dx),be=re*(a.m12*a.dx-a.m11*a.dy);re=te.x*ae+te.y*pe+we,te=te.x*fe+te.y*ye+be,ae=b.x*ae+b.y*pe+we,b=b.x*fe+b.y*ye+be}return x.Sj(re,te,ae,b,oe),a!==null&&oe.transform(a),oe};function aS(a,x){var b=x.Zn;return b===null&&(b=new I0,b.port=x,b.node=x.part,x.Zn=b),U1(b,a)}jn.prototype.getLinkPoint=function(a,x,b,te,re,oe,ae,fe){if(fe===void 0&&(fe=new dt),b.sb()&&!mx(b))return x.ga(b,fe),fe;if(b.$c()){var pe=aS(this,x);if(pe!==null){if(fe.assign(pe.Zo),re&&this.routing===I1){var ye=aS(this,ae);if(ye!==null&&pe.Gl=we.y&&a.y<=we.y+we.height?fe.y=a.y:(b.Hf(ca)||b.Hf(_s))&&a.x>=we.x&&a.x<=we.x+we.width&&(fe.x=a.x),dt.free(pe),dt.free(ye)}}return fe}}return b=x.ga(hC(b),dt.alloc()),this.pointsCount>(re?6:2)?(ae=te?this.i(1):this.i(this.pointsCount-2),re&&(ae=cC(b,ae.copy()))):(pe=this.computeSpot(!te,ae),oe=dt.alloc(),ae=ae.ga(hC(pe),oe),re&&(ae=cC(b,ae)),dt.free(oe)),this.getLinkPointFromPoint(a,x,b,ae,te,fe),dt.free(b),fe},jn.prototype.getLinkDirection=function(a,x,b,te,re,oe,ae,fe){e:if(te.sb())var pe=te.x>te.y?te.x>1-te.y?0:te.x<1-te.y?270:315:te.x1-te.y?90:te.x<1-te.y?180:135:.5>te.x?225:.5(oe?6:2)?(fe=re?this.i(1):this.i(this.pointsCount-2),fe=oe?cC(pe,fe.copy()):b):(b=dt.alloc(),fe=fe.ga(nr,b),dt.free(b)),b=Math.abs(fe.x-pe.x)>Math.abs(fe.y-pe.y)?fe.x>=pe.x?0:180:fe.y>=pe.y?90:270,dt.free(pe),pe=b}return te.Mc()&&ae.Td(a)&&(pe+=180,360<=pe&&(pe-=360)),mx(te)||(a=x.li(),a===0)||(45<=a&&135>a?pe+=90:135<=a&&225>a?pe+=180:225<=a&&315>a&&(pe+=270),360<=pe&&(pe-=360)),pe},jn.prototype.computeEndSegmentLength=function(a,x,b,te){return x!==null&&b.$c()&&(a=aS(this,x),a!==null)?a.Ju:(a=te?this.fromEndSegmentLength:this.toEndSegmentLength,x!==null&&isNaN(a)&&(a=te?x.fromEndSegmentLength:x.toEndSegmentLength),isNaN(a)&&(a=10),a)},jn.prototype.computeSpot=function(a,x){return x===void 0&&(x=null),a?(a=x||this.fromPort,a===null?a=nr:(x=this.fromSpot,x.Xb()&&(x=a.fromSpot),a=x===va?bo:x)):(a=x||this.toPort,a===null?a=nr:(x=this.toSpot,x.Xb()&&(x=a.toSpot),a=x===va?bo:x)),a};function mx(a){return a===bo||a.x===.5&&a.y===.5}function hC(a){return a.x===.5&&a.y===.5?a:nr}jn.prototype.computeOtherPoint=function(a,x){return this.computeAdjusting()!==uh&&4Ie.width||be.y>Ie.height||0>be.x+be.width||0>be.y+be.height)){if(be=Ni.alloc(),be.set(ae),we instanceof Tn)fe=we.Cf(a,x,b,te,re,be);else if(this.path===we){if(we instanceof Xr)if(fe=a,Ie=te,we.pickable===!1)fe=!1;else if(be.multiply(we.transform),Ie)e:{var ke=fe,ze=be;if(we.fh(ke,ze))fe=!0;else{if(ze===void 0&&(ze=we.transform,ke.Re(we.actualBounds))){fe=!0;break e}fe=ke.left,Ie=ke.right;var Ge=ke.top;ke=ke.bottom;var st=dt.alloc(),tt=dt.alloc(),gt=dt.alloc(),mt=Ni.alloc();mt.set(ze),mt.bv(we.transform),mt.Vj(),tt.x=Ie,tt.y=Ge,tt.transform(mt),st.x=fe,st.y=Ge,st.transform(mt),ze=!1,Nv(we,st,tt,gt)?ze=!0:(st.x=Ie,st.y=ke,st.transform(mt),Nv(we,st,tt,gt)?ze=!0:(tt.x=fe,tt.y=ke,tt.transform(mt),Nv(we,st,tt,gt)?ze=!0:(st.x=fe,st.y=Ge,st.transform(mt),Nv(we,st,tt,gt)&&(ze=!0)))),Ni.free(mt),dt.free(st),dt.free(tt),dt.free(gt),fe=ze}}else fe=we.fh(fe,be)}else fe=hu(we,a,te,be);fe&&(Ie=we,x!==null&&(Ie=x(we)),Ie&&(b===null||b(Ie))&&re.add(Ie)),Ni.free(be)}}}return oe===void 0&&Ni.free(ae),fe||this.background!==null||this.areaBackground!==null}return oe===void 0&&Ni.free(ae),!1},jn.prototype.computeCurve=function(){if(this.Wf===null){var a=this.fromPort,x=this.isOrthogonal;this.Wf=a!==null&&a===this.toPort&&!x}return this.Wf?Gh:this.curve},jn.prototype.computeCorner=function(){if(this.curve===Gh)return 0;var a=this.corner;return(isNaN(a)||0>a)&&(a=10),a},jn.prototype.findMidLabel=function(){for(var a=this.path,x=this.O.s,b=x.length,te=0;tepe?-Math.PI/2:Math.PI/2;else we=Math.atan(pe/Math.abs(fe)),0>fe&&(we=Math.PI-we);ae=x.x;var be=x.y;fe=te.x-ae;var Ie=te.y-be;for(pe=Math.sqrt(fe*fe+Ie*Ie),Dt.$(fe,0)?Ie=0>Ie?-Math.PI/2:Math.PI/2:(Ie=Math.atan(Ie/Math.abs(fe)),0>fe&&(Ie=Math.PI-Ie)),ye=pe/ye,we=Ie-we,this.dd(a,x),a+=1;ape?-Math.PI/2:Math.PI/2:(pe=Math.atan(pe/Math.abs(fe)),0>fe&&(pe=Math.PI-pe)),fe=pe+we,x*=ye,this.L(a,ae+x*Math.cos(fe),be+x*Math.sin(fe)));this.dd(b,te)}}return!0;case mC:if(oe=this.i(a),be=this.i(b),!oe.Xa(x)||!be.Xa(te)){re=oe.x,oe=oe.y,ae=be.x,be=be.y,ye=(ae-re)*(ae-re)+(be-oe)*(be-oe),fe=x.x,we=x.y,pe=te.x,Ie=te.y;var ke=1;if(pe-fe!==0){var ze=(Ie-we)/(pe-fe);ke=Math.sqrt(1+1/(ze*ze))}else ze=9e9;for(this.dd(a,x),a+=1;ax?x+=360:360<=x&&(x-=360),0>te?te+=360:360<=te&&(te-=360);var ae=te;x=315<=x||45>x?0:45<=x&&135>x?90:135<=x&&225>x?180:270,te=315<=te||45>te?0:45<=te&&135>te?90:135<=te&&225>te?180:270;var fe=re.actualBounds.copy(),pe=oe.actualBounds.copy();if(fe.w()&&pe.w()){fe.Bc(hS,hS),pe.Bc(hS,hS),fe.Ye(a),pe.Ye(b);var ye=dt.alloc(),we=dt.alloc();x===0?b.x>a.x||te===270&&b.ya.x||te===90&&b.y>a.y&&pe.right>a.x?(ye.h(b.x,a.y),we.h(b.x,(a.y+b.y)/2),te===180?(ye.x=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1),we.x=ye.x,we.y=b.y):te===270&&b.ya.y?(ye.x=a.xpe.bottom)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):pe.right,we.x=ye.x,we.y=b.y):te===0&&a.xpe.top&&a.yfe.bottom)&&(te===180&&(pe.ca(a)||fe.ca(b))?ye.y=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):b.ya.y&&(te===180||te===270)&&(ye.y=this.computeMidOrthoPosition(a.x,fe.bottom,b.x,Math.min(b.y,pe.top),!0)),we.x=b.x,we.y=ye.y),ye.y>fe.top&&ye.y=fe.left&&b.x<=a.x||a.x<=pe.right&&a.x>=b.x?(te===90||te===270)&&(ye.h(Math.max((a.x+b.x)/2,a.x),a.y),we.h(ye.x,b.y)):(ye.y=te===270||(te===0||te===180)&&b.ya.y&&pe.lefta.y?(ye.x=a.x>pe.right?this.computeMidOrthoPosition(a.x,a.y,pe.right,b.y,!1):a.x>pe.left&&(te===270&&a.ype.bottom)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):pe.left,we.x=ye.x,we.y=b.y):te===180&&a.x>pe.right&&a.y>pe.top&&a.yfe.bottom)&&(te===0&&(pe.ca(a)||fe.ca(b))?ye.y=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):b.ya.y&&(te===0||te===270)&&(ye.y=this.computeMidOrthoPosition(a.x,fe.bottom,b.x,Math.min(b.y,pe.top),!0)),we.x=b.x,we.y=ye.y),ye.y>fe.top&&ye.y=a.x||a.x>=pe.left&&a.x<=b.x?(te===90||te===270)&&(ye.h(Math.min((a.x+b.x)/2,a.x),a.y),we.h(ye.x,b.y)):(ye.y=te===270||(te===0||te===180)&&b.ya.y||te===180&&b.xa.y||te===0&&b.x>a.x&&pe.bottom>a.y?(ye.h(a.x,b.y),we.h((a.x+b.x)/2,b.y),te===270?(ye.y=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0),we.x=b.x,we.y=ye.y):te===180&&b.xa.x?(ye.y=a.ype.right)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):pe.bottom,we.x=b.x,we.y=ye.y):te===90&&a.ype.left&&a.xfe.right)&&(te===270&&(pe.ca(a)||fe.ca(b))?ye.x=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):b.xa.x&&(te===270||te===180)&&(ye.x=this.computeMidOrthoPosition(fe.right,a.y,Math.min(b.x,pe.left),b.y,!1)),we.x=ye.x,we.y=b.y),ye.x>fe.left&&ye.x=fe.top&&b.y<=a.y||a.y<=pe.bottom&&a.y>=b.y?(te===0||te===180)&&(ye.h(a.x,Math.max((a.y+b.y)/2,a.y)),we.h(b.x,ye.y)):(ye.x=te===180||(te===90||te===270)&&b.xa.x&&pe.top=a.x?(ye.y=a.y>pe.bottom?this.computeMidOrthoPosition(a.x,a.y,b.x,pe.bottom,!0):a.y>pe.top&&(te===180&&a.xpe.right)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):pe.top,we.x=b.x,we.y=ye.y):te===270&&a.y>pe.bottom&&a.x>pe.left&&a.xfe.right)&&(te===90&&(pe.ca(a)||fe.ca(b))?ye.x=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):b.xa.x&&(te===90||te===180)&&(ye.x=this.computeMidOrthoPosition(fe.right,a.y,Math.min(b.x,pe.left),b.y,!1)),we.x=ye.x,we.y=b.y),ye.x>fe.left&&ye.x=a.y||a.y>=pe.top&&a.y<=b.y?(te===0||te===180)&&(ye.h(a.x,Math.min((a.y+b.y)/2,a.y)),we.h(b.x,ye.y)):(ye.x=te===180||(te===90||te===270)&&b.x=z1&&(O1(ke),fe.Bc(ke.Ho*ke.Hx,ke.Go*ke.Ix),af(ke,a,x,be,te,fe,!1),pe=Dd(ke,be.x,be.y)),!ke.abort&&pethis.pointsCount?(x===0||x===180?(fe.x=a.x,fe.y=be.y):(fe.x=be.x,fe.y=a.y),this.L(2,fe.x,fe.y),this.m(3,fe.x,fe.y)):(ae=this.i(3),x===0||x===180?Dt.B(fe.x,ae.x)?(fe=x===0?Math.max(fe.x,a.x):Math.min(fe.x,a.x),this.L(2,fe,a.y),this.L(3,fe,ae.y)):Dt.B(fe.y,ae.y)?(Math.abs(a.y-fe.y)<=ke.Go/2&&(this.L(2,fe.x,a.y),this.L(3,ae.x,a.y)),this.m(2,fe.x,a.y)):this.L(2,a.x,fe.y):(x===90||x===270)&&(Dt.B(fe.y,ae.y)?(fe=x===90?Math.max(fe.y,a.y):Math.min(fe.y,a.y),this.L(2,a.x,fe),this.L(3,ae.x,fe)):Dt.B(fe.x,ae.x)?(Math.abs(a.x-fe.x)<=ke.Ho/2&&(this.L(2,a.x,fe.y),this.L(3,a.x,ae.y)),this.m(2,a.x,fe.y)):this.L(2,fe.x,a.y))),b!==null&&(a=this.i(1),ae=this.i(2),a.x!==ae.x&&a.y!==ae.y?x===0||x===180?this.m(2,a.x,ae.y):this.m(2,ae.x,a.y):x===0||x===180?this.m(2,re.x,b.y):this.m(2,b.x,re.y)),ze!==null&&(te===0||te===180?this.yf(oe.x,ze.y):this.yf(ze.x,oe.y)),x=!0):x=!1}}}else x=!1;x||(this.ne(ye.copy()),this.ne(we.copy())),dt.free(ye),dt.free(we)}},jn.prototype.computeMidOrthoPosition=function(a,x,b,te,re){var oe=0;return!this.hasCurviness()||this.computeSpot(!0,this.fromPort).$c()||this.computeSpot(!1,this.toPort).$c()||(oe=this.computeCurviness()),re?(x+te)/2+oe:(a+b)/2+oe};function dC(a){if(a.diagram===null||!a.isAvoiding||!a0(a.diagram))return!1;var x=a.points.s,b=x.length;if(4>b)return!1;a=l0(a.diagram,!0,a.containingGroup,null);for(var te=1;teMg&&Dd(x,we,be)!==ye-1&&(Dd(x,b-fe,te)===ye-1?(re=180,we=b-fe,be=te):Dd(x,b+fe,te)===ye-1?(re=0,we=b+fe,be=te):Dd(x,b,te-pe)===ye-1?(re=270,we=b,be=te-pe):Dd(x,b,te+pe)===ye-1&&(re=90,we=b,be=te+pe));ye>Mg&&Dd(x,we,be)===ye-1;)b=we,te=be,re===0?we+=fe:re===90?be+=pe:re===180?we-=fe:be-=pe,--ye;oe?ye>Mg&&(re===180||re===0?b=Math.floor(b/fe)*fe+fe/2:(re===90||re===270)&&(te=Math.floor(te/pe)*pe+pe/2)):(b=Math.floor(b/fe)*fe+fe/2,te=Math.floor(te/pe)*pe+pe/2),ye>Mg&&(oe=re,ae=b,we=te,re===0?(oe=90,we+=pe):re===90?(oe=180,ae-=fe):re===180?(oe=270,we-=pe):re===270&&(oe=0,ae+=fe),Dd(x,ae,we)===ye-1?L1(a,x,ae,we,oe,!1,oe):(ae=b,we=te,re===0?(oe=270,we-=pe):re===90?(oe=0,ae+=fe):re===180?(oe=90,we+=pe):re===270&&(oe=180,ae-=fe),Dd(x,ae,we)===ye-1&&L1(a,x,ae,we,oe,!1,oe))),a.yf(b,te)}jn.prototype.ez=function(a){var x=a.x;a=a.y;for(var b=this.i(0),te=this.i(1),re=Mu(x,a,b.x,b.y,te.x,te.y),oe=0,ae=1;aethis.pointsCount?this.lk=!0:this.ua=this.makeGeometry(),a=this.path,a!==null)){a.ua=this.ua;for(var x=this.O.s,b=x.length,te=0;te=x&&(te=x-1),pe=this.i(te),oe.x=Math.min(pe.x,oe.x),oe.y=Math.min(pe.y,oe.y);te=oe.x,pe=oe.y}else{for(pe=0;pest?ze>ke?(oe.x=tt-mt,oe.y=ke-mt,re.x=tt+Ge,re.y=ke+Ge):(oe.x=tt-mt,oe.y=ke+mt,re.x=tt+Ge,re.y=ke-Ge):ze>ke?(oe.x=tt+mt,oe.y=ke-mt,re.x=tt-Ge,re.y=ke+Ge):(oe.x=tt+mt,oe.y=ke+mt,re.x=tt-Ge,re.y=ke-Ge)),Dt.$(st,tt)&&Dt.$(ke,ze)&&(ke>Ie?(gt>tt?(oe.x=tt-mt,oe.y=ke-mt,re.x=tt+Ge):(oe.x=tt+mt,oe.y=ke-mt,re.x=tt-Ge),re.y=ke+Ge):(gt>tt?(oe.x=tt-mt,oe.y=ke+mt,re.x=tt+Ge):(oe.x=tt+mt,oe.y=ke+mt,re.x=tt-Ge),re.y=ke-Ge)),(Dt.$(st,tt)&&Dt.$(tt,gt)||Dt.$(Ie,ke)&&Dt.$(ke,ze))&&(st=.5*(st+gt),Ie=.5*(Ie+ze),oe.x=st,oe.y=Ie,re.x=st,re.y=Ie),(be===1||be===2&&Dt.$(ae.x,this.i(0).x)&&Dt.$(ae.y,this.i(0).y))&&(b.x=.5*(ae.x+ye.x),b.y=.5*(ae.y+ye.y)),qf(fe,b.x-te,b.y-pe,oe.x-te,oe.y-pe,ye.x-te,ye.y-pe),x.set(oe),b.set(re),ae=ye}}ye=ae.x,ae=ae.y,we=this.i(this.pointsCount-1),this.computeShortLength(!1)!==0&&(we=Zy(this,we.copy(),!1,ou)),ye=.5*(ye+we.x),ae=.5*(ae+we.y),qf(fe,re.x-te,re.y-pe,ye-te,ae-pe,we.x-te,we.y-pe),dt.free(x),dt.free(b),dt.free(oe),dt.free(re)}else for(b=3;b=x&&(b=x-1),re=this.i(b-1),ae=this.i(b),b===x-1&&this.computeShortLength(!1)!==0&&(ae=Zy(this,ae.copy(),!1,ou)),qf(fe,oe.x-te,oe.y-pe,re.x-te,re.y-pe,ae.x-te,ae.y-pe);else{for(oe=dt.alloc(),oe.assign(this.i(0)),re=dt.alloc(),re.assign(oe),ae=this.computeCorner(),be=1,ye=0;be=x-1){if(!oe.D(we))this.computeShortLength(!1)!==0&&(we=Zy(this,we.copy(),!1,ou)),vx(this,fe,-te,-pe,oe,we,b);else if(ye===0)for(be=1;beoe.x?yt=Ie.x-ze:yt=Ie.x+ze,tt.y>Ie.y?gt=Ie.y+mt:gt=Ie.y-mt,tt=dt.allocAt(yt,Ct),vx(this,fe,be,st,oe,tt,Ge),dt.free(tt),Ff(fe,Ie.x+be,Ie.y+st,ke+be,gt+st),oe.h(ke,gt)}else Dt.B(oe.x,Ie.x)&&Dt.B(Ie.y,tt.y)?(ze=Math.min(ae,Math.abs(Ie.y-re.y)/2),ze=mt=Math.min(ze,Math.abs(tt.x-Ie.x)/2),Dt.B(mt,0)?(vx(this,fe,be,st,oe,Ie,Ge),oe.assign(Ie)):(yt=Ie.x,Ct=Ie.y,ke=yt,gt=Ct,Ie.y>oe.y?Ct=Ie.y-ze:Ct=Ie.y+ze,tt.x>Ie.x?ke=Ie.x+mt:ke=Ie.x-mt,tt=dt.allocAt(yt,Ct),vx(this,fe,be,st,oe,tt,Ge),dt.free(tt),Ff(fe,Ie.x+be,Ie.y+st,ke+be,gt+st),oe.h(ke,gt))):(vx(this,fe,be,st,oe,Ie,Ge),oe.assign(Ie));re.assign(we),be=ye}dt.free(oe)}Ha=fe}else fe=this.i(1).copy(),fe.x-=te,fe.y-=pe,this.computeShortLength(!0)!==0&&(re=Zy(this,re,!0,oe)),this.computeShortLength(!1)!==0&&(fe=Zy(this,fe,!1,oe)),a.type=In.j,a.startX=re.x,a.startY=re.y,a.endX=fe.x,a.endY=fe.y;return this.lk=!0,a};function N1(a,x,b,te){return a=b-a,isNaN(a)||a===1/0||a===-1/0?NaN:(0>a&&(a=-a),x=te-x,isNaN(x)||x===1/0||x===-1/0?NaN:(0>x&&(x=-x),Dt.$(a,0)?x:Dt.$(x,0)?a:Math.sqrt(a*a+x*x)))}function Zy(a,x,b,te){var re=a.pointsCount;if(2>re)return x;if(b){var oe=a.i(1);if(b=oe.x-te.x,oe=oe.y-te.y,te=N1(x.x,x.y,b,oe),te===0)return x;re=re===2?.5*te:te,a=a.computeShortLength(!0),a>re&&(a=re),re=a*(oe-x.y)/te,x.x+=a*(b-x.x)/te,x.y+=re}else{if(oe=a.i(re-2),b=oe.x-te.x,oe=oe.y-te.y,te=N1(x.x,x.y,b,oe),te===0)return x;re=re===2?.5*te:te,a=a.computeShortLength(!1),a>re&&(a=re),re=a*(x.y-oe)/te,x.x-=a*(x.x-b)/te,x.y-=re}return x}function lS(a,x,b,te){for(var re=a.pointsCount,oe=x;Dt.$(x.x,oe.x)&&Dt.$(x.y,oe.y);){if(b>=re)return re-1;oe=a.i(b++)}if(!Dt.$(x.x,oe.x)&&!Dt.$(x.y,oe.y))return b-1;for(var ae=oe;Dt.$(x.x,oe.x)&&Dt.$(oe.x,ae.x)&&(!te||(x.y>=oe.y?oe.y>=ae.y:oe.y<=ae.y))||Dt.$(x.y,oe.y)&&Dt.$(oe.y,ae.y)&&(!te||(x.x>=oe.x?oe.x>=ae.x:oe.x<=ae.x));){if(b>=re)return re-1;ae=a.i(b++)}return b-2}jn.prototype.computeJumpLength=function(){return 10};function vx(a,x,b,te,re,oe,ae){if(!ae&&Uv(a)){ae=a.computeJumpLength();var fe=ae/2,pe=[],ye=0;if(a.isVisible()&&(ye=JM(a,re,oe,pe)),0be-ae);)ye--,be=Math.max(we-fe,oe.x);we=oe.y-ae+te,be+=b,ke=oe.y+te,a.curve===D0?of(x,be,ke,!1):qf(x,Ie,we,be,we,be,ke)}else if(Dt.B(re.x,oe.x))if(re.ywe-ae);)ye--,we=Math.max(be-fe,oe.y);be=oe.x-ae+b,ke=oe.x+b,we+=te,a.curve===D0?of(x,ke,we,!1):qf(x,be,Ie,be,we,ke,we)}}}x.lineTo(oe.x+b,oe.y+te)}function JM(a,x,b,te){var re=a.diagram;if(re===null||x.D(b))return 0;for(re=re.layers;re.next();){var oe=re.value;if(oe!==null&&oe.visible){oe=oe.Pa.s;for(var ae=oe.length,fe=0;feae.x&&we.x>=ye.x||ye.xae.y&&we.y>=ye.y||ye.yae&&Math.min(ze,Ge)we&&!Dt.B(ze,Ge)){fe.x=we,fe.y=ae,we=!0;break e}}else if(Dt.B(be,ke)&&Dt.B(ze,Ge)&&Math.min(we,Ie)ze&&Math.min(ae,st)be&&!Dt.B(ae,st)){fe.x=ze,fe.y=be,we=!0;break e}fe.x=0,fe.y=0,we=!1}we&&(re?b.push(fe.x):b.push(fe.y)),ae=ye}dt.free(fe)}function Uv(a){return a=a.curve,a===R1||a===D0}function fC(a,x){(x||Uv(a))&&(x=a.diagram,x===null||x.animationManager.isTicking||x.Eh.contains(a)||a.ml.width===0&&a.ml.height===0||x.Eh.add(a,a.ml.copy()))}jn.prototype.Xo=function(a){var x=this.layer;if(x!==null&&x.visible&&!x.isTemporary){var b=x.diagram;if(b!==null&&!b.animationManager.isTicking){var te=!1;for(b=b.layers;b.next();){var re=b.value;if(re.visible){if(re===x){te=!0;var oe=!1;re=re.Pa.s;for(var ae=re.length,fe=0;fea&&Zr(a,">= 0",jn,"fromEndSegmentLength"),this.Xc(),this.ba.Vi=a,this.g("fromEndSegmentLength",x,a),this.bb())}},fromShortLength:{get:function(){return this.ba!==null?this.ba.Wi:NaN},set:function(a){var x=this.fromShortLength;x!==a&&(this.Xc(),this.ba.Wi=a,this.qc(),this.g("fromShortLength",x,a))}},toSpot:{get:function(){return this.ba!==null?this.ba.yj:va},set:function(a){var x=this.toSpot;x.D(a)||(a=a.J(),this.Xc(),this.ba.yj=a,this.g("toSpot",x,a),(x.$c()||a.$c())&&this.toNode!==null&&lh(this.toPort),this.bb())}},toEndSegmentLength:{get:function(){return this.ba!==null?this.ba.wj:NaN},set:function(a){var x=this.toEndSegmentLength;x!==a&&(0>a&&Zr(a,">= 0",jn,"toEndSegmentLength"),this.Xc(),this.ba.wj=a,this.g("toEndSegmentLength",x,a),this.bb())}},toShortLength:{get:function(){return this.ba!==null?this.ba.xj:NaN},set:function(a){var x=this.toShortLength;x!==a&&(this.Xc(),this.ba.xj=a,this.qc(),this.g("toShortLength",x,a))}},isLabeledLink:{get:function(){return this.wd===null?!1:0=te&&(oe=te-1);var fe=this.i(oe-1),pe=this.i(oe);Dt.Dl(re.x,re.y,ae.x,ae.y,fe.x,fe.y,pe.x,pe.y,.5,a),x=Math.min(pe.x,x),b=Math.min(pe.y,b),re=pe}else for(re=this.i(0),oe=this.i(1),x=Math.min(re.x,oe.x),b=Math.min(re.y,oe.y),a.h(re.x,re.y,0,0),a.Ye(oe),re=2;rete&&(te=-te)):Dt.$(te.y,re.y)?(te=re.x-te.x,0>te&&(te=-te)):te=Math.sqrt(te.Bf(re)),a.push(te)}}return this.cq}},flattenedTotalLength:{get:function(){var a=this.vt;if(isNaN(a)){for(var x=this.flattenedLengths,b=x.length,te=a=0;tethis.pointsCount)return this.lk=!0,this.ua;this.ua=this.makeGeometry()}return this.ua}},firstPickIndex:{get:function(){return 2>=this.pointsCount?0:this.isOrthogonal||!mx(this.computeSpot(!0))?1:0}},lastPickIndex:{get:function(){var a=this.pointsCount;return a===0?0:2>=a?a-1:this.isOrthogonal||!mx(this.computeSpot(!1))?a-2:a-1}},adjusting:{get:function(){return this.qk},set:function(a){var x=this.qk;x!==a&&(this.qk=a,this.g("adjusting",x,a))}},corner:{get:function(){return this.Om},set:function(a){var x=this.Om;x!==a&&(this.Om=a,this.qc(),this.g("corner",x,a))}},curve:{get:function(){return this.Qm},set:function(a){var x=this.Qm;x!==a&&(this.Qm=a,this.bb(),this.qc(),fC(this,x===D0||x===R1||a===D0||a===R1),this.g("curve",x,a))}},curviness:{get:function(){return this.Rm},set:function(a){var x=this.Rm;x!==a&&(this.Rm=a,this.bb(),this.qc(),this.g("curviness",x,a))}},routing:{get:function(){return this.qj},set:function(a){var x=this.qj;x!==a&&(this.qj=a,this.Wf=null,this.bb(),fC(this,(x.value&2)===2||(a.value&2)===2),this.g("routing",x,a))}},smoothness:{get:function(){return this.po},set:function(a){var x=this.po;x!==a&&(this.po=a,this.qc(),this.g("smoothness",x,a))}},key:{get:function(){var a=this.diagram;if(a!==null&&a.model.ri())return a.model.Ac(this.data)}}}),jn.prototype.invalidateOtherJumpOvers=jn.prototype.Xo,jn.prototype.findClosestSegment=jn.prototype.ez,jn.prototype.updateRoute=jn.prototype.vg,jn.prototype.invalidateRoute=jn.prototype.bb,jn.prototype.rollbackRoute=jn.prototype.rv,jn.prototype.commitRoute=jn.prototype.zf,jn.prototype.startRoute=jn.prototype.uh,jn.prototype.clearPoints=jn.prototype.Fj,jn.prototype.removePoint=jn.prototype.pv,jn.prototype.addPointAt=jn.prototype.yf,jn.prototype.addPoint=jn.prototype.ne,jn.prototype.insertPointAt=jn.prototype.m,jn.prototype.insertPoint=jn.prototype.Kz,jn.prototype.setPointAt=jn.prototype.L,jn.prototype.setPoint=jn.prototype.dd,jn.prototype.getPoint=jn.prototype.i,jn.prototype.getOtherPort=jn.prototype.Cz,jn.prototype.getOtherNode=jn.prototype.To;var Ky=null,T0=null,pC=new un(jn,"Normal",1),bT=new un(jn,"Orthogonal",2),uS=new un(jn,"AvoidsNodes",6),I1=new un(jn,"AvoidsNodesStraight",7),uh=new un(jn,"None",0),Gh=new un(jn,"Bezier",9),D0=new un(jn,"JumpGap",10),R1=new un(jn,"JumpOver",11),$f=new un(jn,"End",17),F0=new un(jn,"Scale",18),mC=new un(jn,"Stretch",19),Jy=new un(jn,"OrientAlong",21),L0=new un(jn,"OrientPlus90",22),bg=new un(jn,"OrientMinus90",23),Rp=new un(jn,"OrientOpposite",24),yx=new un(jn,"OrientUpright",25),Ax=new un(jn,"OrientPlus90Upright",26),cS=new un(jn,"OrientMinus90Upright",27),vC=new un(jn,"OrientUpright45",28),qM=16,eg=14,hS=8;jn.className="Link",jn.Normal=pC,jn.Orthogonal=bT,jn.AvoidsNodes=uS,jn.AvoidsNodesStraight=I1,jn.None=uh,jn.Bezier=Gh,jn.JumpGap=D0,jn.JumpOver=R1,jn.End=$f,jn.Scale=F0,jn.Stretch=mC,jn.OrientAlong=Jy,jn.OrientPlus90=L0,jn.OrientMinus90=bg,jn.OrientOpposite=Rp,jn.OrientUpright=yx,jn.OrientPlus90Upright=Ax,jn.OrientMinus90Upright=cS,jn.OrientUpright45=vC,jn.EndSegmentStep=8,jn.CurvinessStart=qM,jn.SpacingMin=eg,jn.OrthoShortCut=hS;function dS(a,x,b,te){el(this),this.Fe=this.qq=!1,this.Ds=a,this.Ox=x,this.cv=b,this.Px=te,this.links=[]}dS.prototype.Sl=function(){if(!this.qq){var a=this.links;0=a.width||0>=a.height)){var x=a.y,b=a.x+a.width,te=a.y+a.height;if(this.Nd=Math.floor((a.x-this.rc)/this.rc)*this.rc,this.Od=Math.floor((x-this.sc)/this.sc)*this.sc,this.En=Math.ceil((b+2*this.rc)/this.rc)*this.rc,this.Fn=Math.ceil((te+2*this.sc)/this.sc)*this.sc,a=1+(Math.ceil((this.En-this.Nd)/this.rc)|0),x=1+(Math.ceil((this.Fn-this.Od)/this.sc)|0),this.ac===null||this.di=Mg&&(b[te]=Fd)}fS.prototype.Yj=function(a,x,b,te){if(a>this.En||a+bthis.Fn||x+tea&&(b+=a,a=0),0>x&&(re+=x,x=0),0>b||0>re)return!0;for(te=Math.min(a+b-1,this.di)|0,b=Math.min(x+re-1,this.ei)|0;a<=te;a++){re=this.ac[a];for(var oe=x;oe<=b;oe++)if(re[oe]===N0)return!1}return!0};function ip(a,x,b,te,re,oe,ae,fe,pe){if(!(xae||bpe)){var ye=x|0,we=b|0,be=a.ac[ye][we];if(be>=Mg&&be=a.ac[ye][we]);)a.ac[ye][we]=be,be+=1,re?we+=te:ye+=te;if(ye=re?we:ye,re)if(0ye;b+=te)ip(a,x,b,1,!re,oe,ae,fe,pe),ip(a,x,b,-1,!re,oe,ae,fe,pe);else if(0ye;x+=te)ip(a,x,b,1,!re,oe,ae,fe,pe),ip(a,x,b,-1,!re,oe,ae,fe,pe)}}function yC(a,x,b,te,re,oe,ae,fe,pe){x|=0,b|=0;var ye=N0,we=Mg;for(a.ac[x][b]=we;ye===N0&&x>oe&&xfe&&boe&&xfe&&b=Math.abs(fe-ye)&&1>=Math.abs(pe-we))a.abort=!0;else{var be=oe.x;te=oe.y,x=oe.x+oe.width;var Ie=oe.y+oe.height;be-=a.Nd,be/=a.rc,te-=a.Od,te/=a.sc,x-=a.Nd,x/=a.rc,Ie-=a.Od,Ie/=a.sc,oe=Math.max(0,Math.min(a.di,be|0)),x=Math.min(a.di,Math.max(0,x|0)),be=Math.max(0,Math.min(a.ei,te|0)),Ie=Math.min(a.ei,Math.max(0,Ie|0)),te=a.ac,fe|=0,pe|=0,ye|=0,we|=0;var ke=b===0||b===90?1:-1;if(b=b===90||b===270,te[fe][pe]===N0?(yC(a,fe,pe,ke,b,oe,x,be,Ie),yC(a,fe,pe,1,!b,oe,x,be,Ie),yC(a,fe,pe,-1,!b,oe,x,be,Ie)):yC(a,fe,pe,ke,b,fe,pe,fe,pe),te[ye][we]===N0?(k1(a,ye,we,re===0||re===90?1:-1,re===90||re===270,oe,x,be,Ie),k1(a,ye,we,1,!(re===90||re===270),oe,x,be,Ie),k1(a,ye,we,-1,!(re===90||re===270),oe,x,be,Ie)):k1(a,ye,we,ke,b,ye,we,ye,we),b=Co(),ae&&gS(a,ye,we,re,fe,pe,b))for((b[0]!==ye||b[1]!==we)&&(b.unshift(we),b.unshift(ye)),(b[b.length-2]!==fe||b[b.length-1]!==pe)&&(b.push(fe),b.push(pe)),a=Mg,re=b[b.length-2],ae=b[b.length-1],te[re][ae]=a++,oe=b.length-4;0<=oe;oe-=2)for(re=b[oe+2],ae=b[oe+3],x=b[oe],ye=b[oe+1];x>re?re++:xae?ae++:yere)we--;else break;else if(be>oe)be--;else break;var Ie=fe[we][be];if(Ie===0||Ie===H1)break;pe=we,ye=be}for(;;){if(we=te,be=pe,Ie=ye,te===0?Ieoe&&(we=270,Ie--):te===90?bere&&(we=180,be--):te===180?Ieoe&&(we=270,Ie--):bere&&(we=180,be--),be=fe[be][Ie],we!==te&&be!==0&&be!==H1){if(ae.push(pe),ae.push(ye),gS(a,pe,ye,we,re,oe,ae))return!0;ae.pop(),ae.pop()}if(fe[pe][ye]=H1,te===0){if(pe===x)return!1;pe--}else if(te===90){if(ye===b)return!1;ye--}else if(te===180){if(pe===x)return!1;pe++}else{if(ye===b)return!1;ye++}}}wn.Object.defineProperties(fS.prototype,{bounds:{get:function(){return new Lt(this.Nd,this.Od,this.En-this.Nd,this.Fn-this.Od)}},Ho:{get:function(){return this.rc},set:function(a){0a?a=0:1a?a=0:1=a&&Zr(a,"> 0",Rs,"maxLines"),Kf(this),this.da.Jq=a,this.v(),this.g("maxLines",x,a))}},metrics:{get:function(){return{arrSize:this.Qc!==null?this.Qc:[this.Cb],arrText:this.Qb!==null?this.Qb:[this.ze],maxLineWidth:this.Cb,fontHeight:this.df}}},choices:{get:function(){return this.Gm},set:function(a){var x=this.Gm;x!==a&&(this.Gm=a,this.g("choices",x,a))}}});var P1=null,C1=null,Jf=new un(Rs,"None",0),Pb=new un(Rs,"WrapFit",1),P0=new un(Rs,"WrapDesiredSize",2),_w=new un(Rs,"WrapBreakAll",3),$w=new un(Rs,"OverflowClip",0),fo=new un(Rs,"OverflowEllipsis",1),Uh=new un(Rs,"FormatTrim",0),YM=new un(Rs,"FormatNone",0),rf=/[ \u200b\u00ad]/,Vh=new ao,C0=0,$P=new ao,Df=0,Iv="...",CT="",vl=null,ux=!1;Rs.className="TextBlock";function Mb(){this.nc=!1,this.Hd=null,this.Xf=vn,this.gq=Uh,this.Jq=1/0,this.$q=$w,this.Er=this.Dr=0,this.Or="start",this.vj=this.Qr=this.Pr=null,this.Yr=Go,this.$r=P0}Mb.prototype.copy=function(){var a=new Mb;return a.Hd=this.Hd,a.Xf=this.Xf,a.gq=this.gq,a.Jq=this.Jq,a.$q=this.$q,a.Dr=this.Dr,a.Er=this.Er,a.Or=this.Or,a.Pr=this.Pr,a.Qr=this.Qr,a.vj=this.vj,a.Yr=this.Yr,a.$r=this.$r,a},Rs.getEllipsis=function(){return Iv},Rs.setEllipsis=function(a){Iv=a,$P=new ao,Df=0},Rs.getBaseline=function(){return P1},Rs.setBaseline=function(a){P1=a},Rs.getUnderline=function(){return C1},Rs.setUnderline=function(a){C1=a},Rs.isValidFont=function(a){if(ux||(vl=Ja?new Mf(null).context:null,ux=!0),vl===null)return!0;var x=vl.font;if(a===x||a==="10px sans-serif")return!0;vl.font="10px sans-serif",vl.font=a;var b=vl.font;if(b!=="10px sans-serif")return vl.font=x,!0;vl.font="19px serif";var te=vl.font;return vl.font=a,b=vl.font,vl.font=x,b!==te},Rs.FormatNone=YM,Rs.FormatTrim=Uh,Rs.None=Jf,Rs.OverflowClip=$w,Rs.OverflowEllipsis=fo,Rs.WrapBreakAll=_w,Rs.WrapDesiredSize=P0,Rs.WrapFit=Pb;function wl(){this.Tk=1,this.u=0,this.j=1,this.o=this.F=null}wl.prototype.copy=function(){var a=new wl;return a.Tk=this.Tk,a.u=this.u,a.j=this.j,a.F=this.F,a.o=this.o,a},wl.className="GradElementSettings";function jh(a,x){Tt.call(this),this.Eg=null,this.qo="",this.Xg=Eo,this.Nk=Pn,this.Zg=this.Hd=null,this.Mk=nr,this.Xf=vn,this.vl=null,this.qn=!1,this.en=!0,this.al=!1,this.bt=this.rl=null,typeof a=="string"?this.source=a:a&&Object.assign(this,a),x&&Object.assign(this,x)}var eS;_t(jh,Tt),jh.prototype.cloneProtected=function(a){Tt.prototype.cloneProtected.call(this,a),a.qo=this.qo,a.element=this.Eg,a.Xg=this.Xg.J(),a.Nk=this.Nk,a.Xf=this.Xf,a.Hd=this.Hd,a.Zg=this.Zg,a.Mk=this.Mk.J(),a.en=this.en,a.rl=this.rl},jh.prototype.qb=function(a){a===vn||a===Ri||a===So?this.imageStretch=a:Tt.prototype.qb.call(this,a)},jh.prototype.toString=function(){return"Picture("+this.source+")#"+Ia(this)};function tS(a){a===void 0&&(a=""),a!==""?eS[a]&&(delete eS[a],E1--):(eS=new ao,E1=0)}function ET(a,x){x.qy||(x.Fq=function(b){x.sq=!0,x.ln=!1;var te=x.Bg.copy();if(te!=null){for(te=te.iterator;te.next();){var re=te.value;re.N();var oe=x.getAttribute("src")||"",ae=re.Og.I(oe);if(ae!==null)for(var fe=ae.length,pe=0;pe=te.width&&(oe=oe+ze.offsetX+(be*ze.x-te.width*ze.x)),Ie>=te.height&&(ae=ae+ze.offsetY+(Ie*ze.y-te.height*ze.y)),pe=Math.min(te.width,be),fe=Math.min(te.height,Ie);break;case Pn:be=te.width,Ie=te.height;break;case Ri:case So:ke===Ri?(ke=Math.min(te.height/Ie,te.width/be),be*=ke,Ie*=ke):ke===So&&(ke=Math.max(te.height/Ie,te.width/be),be*=ke,Ie*=ke,be>=te.width&&(oe=(oe+ze.offsetX+(be*ze.x-te.width*ze.x)/be)*pe),Ie>=te.height&&(ae=(ae+ze.offsetY+(Ie*ze.y-te.height*ze.y)/Ie)*fe),pe*=1/(be/te.width),fe*=1/(Ie/te.height),be=te.width,Ie=te.height)}ke=this.Df()*x.scale;var Ge=be*ke*Ie*ke,st=pe*fe/Ge,tt=b.__goCache;ke=null;var gt=QL;if(!re){if(b.sq&&tt!==void 0&&4gt*gt)for(tt.gi===null&&(Tb(tt,4,ye,we,b),Tb(tt,16,ye,we,b)),re=tt.gi,ye=re.length,we=0;wea)&&(a=5),a=Math.min(a,x/3),a=Math.min(a,b/3);var te="rr"+x+","+b+","+a,re=Dt.Mf[te];if(re!==void 0)return re;var oe=a*Dt.wg;return re=new In().add(new Nl(a,0,!0).add(new wo(Ys,x-a,0)).add(new wo(su,x,a,x-oe,0,x,oe)).add(new wo(Ys,x,b-a)).add(new wo(su,x-a,b,x,b-oe,x-oe,b)).add(new wo(Ys,a,b)).add(new wo(su,0,b-a,oe,b,0,b-oe)).add(new wo(Ys,0,a)).add(new wo(su,a,0,0,oe,oe,0).close())),1re.x&&a.y>re.y&&a.rightre.x&&x.y>re.y&&x.right=b.maxSelectionCount)){this.G^=4096;var te=!1;if(b!==null){te=b.skipsUndoManager,b.skipsUndoManager=!0;var re=b.selection;re.ka(),a?re.add(this):re.remove(this),re.freeze()}this.g("isSelected",x,a),this.Wb(),a=this.selectionChanged,a!==null&&a(this),b!==null&&(b.$b(),b.skipsUndoManager=te)}}}},isHighlighted:{get:function(){return(this.G&524288)!==0},set:function(a){var x=(this.G&524288)!==0;if(x!==a){this.G^=524288;var b=this.diagram;b!==null&&(b=b.highlighteds,b.ka(),a?b.add(this):b.remove(this),b.freeze()),this.g("isHighlighted",x,a),this.N(),a=this.highlightedChanged,a!==null&&a(this)}}},isShadowed:{get:function(){return(this.G&8192)!==0},set:function(a){var x=(this.G&8192)!==0;x!==a&&(this.G^=8192,this.Uc=!0,this.g("isShadowed",x,a),this.N())}},isAnimated:{get:function(){return(this.G&262144)!==0},set:function(a){var x=(this.G&262144)!==0;x!==a&&(this.G^=262144,this.g("isAnimated",x,a))}},highlightedChanged:{get:function(){return this.P!==null?this.P.oq:null},set:function(a){var x=this.highlightedChanged;x!==a&&(sh(this),this.P.oq=a,this.g("highlightedChanged",x,a))}},selectionObjectName:{get:function(){return this.P!==null?this.P.vr:""},set:function(a){var x=this.selectionObjectName;x!==a&&(sh(this),this.P.vr=a,this.Ug=null,this.g("selectionObjectName",x,a))}},selectionAdornmentTemplate:{get:function(){return this.P!==null?this.P.tr:null},set:function(a){var x=this.selectionAdornmentTemplate;x!==a&&(sh(this),this.P.tr=a,this.g("selectionAdornmentTemplate",x,a))}},selectionObject:{get:function(){if(this.Ug===null){var a=this.selectionObjectName;a!==null&&a!==""?(a=this.fb(a),a!==null?this.Ug=a:this.Ug=this):this instanceof jn?(a=this.path,a!==null?this.Ug=a:this.Ug=this):this.Ug=this}return this.Ug}},selectionChanged:{get:function(){return this.P!==null?this.P.ur:null},set:function(a){var x=this.selectionChanged;x!==a&&(sh(this),this.P.ur=a,this.g("selectionChanged",x,a))}},resizeAdornmentTemplate:{get:function(){return this.P!==null?this.P.fr:null},set:function(a){var x=this.resizeAdornmentTemplate;x!==a&&(sh(this),this.P.fr=a,this.g("resizeAdornmentTemplate",x,a))}},resizeObjectName:{get:function(){return this.P!==null?this.P.hr:""},set:function(a){var x=this.resizeObjectName;x!==a&&(sh(this),this.P.hr=a,this.g("resizeObjectName",x,a))}},resizeObject:{get:function(){var a=this.resizeObjectName;return a!==""&&(a=this.fb(a),a!==null)?a:this}},resizeCellSize:{get:function(){return this.P!==null?this.P.gr:Oi},set:function(a){var x=this.resizeCellSize;x.D(a)||(a=a.J(),sh(this),this.P.gr=a,this.g("resizeCellSize",x,a))}},rotateAdornmentTemplate:{get:function(){return this.P!==null?this.P.ir:null},set:function(a){var x=this.rotateAdornmentTemplate;x!==a&&(sh(this),this.P.ir=a,this.g("rotateAdornmentTemplate",x,a))}},rotateObjectName:{get:function(){return this.P!==null?this.P.jr:""},set:function(a){var x=this.rotateObjectName;x!==a&&(sh(this),this.P.jr=a,this.g("rotateObjectName",x,a))}},rotateObject:{get:function(){var a=this.rotateObjectName;return a!==""&&(a=this.fb(a),a!==null)?a:this}},rotationSpot:{get:function(){return this.P!==null?this.P.lr:va},set:function(a){var x=this.rotationSpot;x.D(a)||(a=a.J(),sh(this),this.P.lr=a,this.g("rotationSpot",x,a))}},text:{get:function(){return this.ec},set:function(a){var x=this.ec;x!==a&&(this.ec=a,this.g("text",x,a))}},containingGroup:{get:function(){return this.Ah},set:function(a){if(this.Zc()){var x=this.Ah;if(x!==a){a===null||this!==a&&!a.Td(this)||(this===a&&tn("Cannot make a Group a member of itself: "+this.toString()),tn("Cannot make a Group indirectly contain itself: "+this.toString()+" already contains "+a.toString())),this.C(2);var b=this.diagram;if(x!==null?F1(x,this):this instanceof kr&&b!==null&&b.ai.remove(this),this.Ah=a,a!==null?px(a,this):this instanceof kr&&b!==null&&b.ai.add(this),this.C(1),b!==null&&b.aa){var te=this.data,re=b.model;if(te!==null&&re.Xj()){var oe=re.wa(a!==null?a.data:null);re.mp(te,oe)}}if(te=this.containingGroupChanged,te!==null&&(re=!0,b!==null&&(re=b.aa,b.aa=!0),te(this,x,a),b!==null&&(b.aa=re)),this instanceof kr){for(b=new ei,b0(b,this,!0,0,!0),b=b.iterator;b.next();)if(te=b.value,te instanceof fi)for(te=te.linksConnected;te.next();)Hv(te.value)}if(this instanceof fi){for(b=this.linksConnected;b.next();)Hv(b.value);b=this.labeledLink,b!==null&&Hv(b)}this.g("containingGroup",x,a),a!==null&&(x=a.layer,x!==null&&f1(x,-1,a))}}else tn("cannot set the Part.containingGroup of a Link or Adornment")}},containingGroupChanged:{get:function(){return this.P!==null?this.P.Kp:null},set:function(a){var x=this.containingGroupChanged;x!==a&&(sh(this),this.P.Kp=a,this.g("containingGroupChanged",x,a))}},isTopLevel:{get:function(){return!(this.containingGroup!==null||this instanceof fi&&this.labeledLink!==null)}},layoutConditions:{get:function(){return this.P!==null?this.P.Cq:127},set:function(a){var x=this.layoutConditions;x!==a&&(sh(this),this.P.Cq=a,this.g("layoutConditions",x,a))}},dragComputation:{get:function(){return this.P!==null?this.P.Up:null},set:function(a){var x=this.dragComputation;x!==a&&(sh(this),this.P.Up=a,this.g("dragComputation",x,a))}},shadowOffset:{get:function(){return this.P!==null?this.P.zr:ed},set:function(a){var x=this.shadowOffset;x.D(a)||(a=a.J(),sh(this),this.P.zr=a,this.N(),this.g("shadowOffset",x,a))}},shadowColor:{get:function(){return this.P!==null?this.P.yr:"gray"},set:function(a){var x=this.shadowColor;x!==a&&(sh(this),this.P.yr=a,this.N(),this.g("shadowColor",x,a))}},shadowBlur:{get:function(){return this.P!==null?this.P.Vg:4},set:function(a){var x=this.shadowBlur;x!==a&&(sh(this),this.P.Vg=a,this.N(),this.g("shadowBlur",x,a))}}}),qi.prototype.invalidateLayout=qi.prototype.C,qi.prototype.findCommonContainingGroup=qi.prototype.px,qi.prototype.isMemberOf=qi.prototype.Td,qi.prototype.findTopLevelPart=qi.prototype.sz,qi.prototype.findSubGraphLevel=qi.prototype.oz,qi.prototype.ensureBounds=qi.prototype.Va,qi.prototype.getDocumentBounds=qi.prototype.mi,qi.prototype.findObject=qi.prototype.fb,qi.prototype.moveTo=qi.prototype.moveTo,qi.prototype.invalidateAdornments=qi.prototype.Wb,qi.prototype.clearAdornments=qi.prototype.Ej,qi.prototype.removeAdornment=qi.prototype.Jf,qi.prototype.addAdornment=qi.prototype.bh,qi.prototype.findAdornment=qi.prototype.Pj,qi.prototype.updateTargetBindings=qi.prototype.La;var ah=!1;qi.className="Part",qi.LayoutNone=0,qi.LayoutAdded=1,qi.LayoutRemoved=2,qi.LayoutShown=4,qi.LayoutHidden=8,qi.LayoutNodeSized=16,qi.LayoutGroupLayout=32,qi.LayoutNodeReplaced=64,qi.LayoutStandard=127,qi.LayoutAll=16777215;function To(a,x){a===void 0||a instanceof ru||typeof a=="string"?qi.call(this,a):(qi.call(this),a&&(x=a)),this.G&=-257,this.Jg="Adornment",this.ue=null,this.Aw=0,this.Uw=!1,this.j=this.$a=null,x&&Object.assign(this,x)}_t(To,qi),To.prototype.toString=function(){var a=this.adornedPart;return"Adornment("+this.category+")"+(a!==null?a.toString():"")},To.prototype.updateRelationshipsFromData=function(){},To.prototype.Ul=function(a){var x=this.adornedObject,b=x==null?void 0:x.part;if(b instanceof jn&&x instanceof Xr){x=b.path,b.Ul(a),a=x.geometry,b=this.O.s,x=b.length;for(var te=0;tea&&(a=1);var x=this.diagram;if(x!==null&&!x.Ue){x.Ue=!0;var b=new ei;b.add(this),T1(this,b,x.isTreePathToChildren,a,x,this,x.treeCollapsePolicy===Tp),x.Ue=!1}};function T1(a,x,b,te,re,oe,ae){if(1a&&(a=2);var x=this.diagram;if(x!==null&&!x.Ue){x.Ue=!0;var b=new ei;b.add(this),gx(this,b,x.isTreePathToChildren,a,x,this,x.treeCollapsePolicy===Tp),x.Ue=!1}};function gx(a,x,b,te,re,oe,ae){for(var fe=oe===a?!1:a.isTreeExpanded,pe=b?a.Mo():a.Sd(),ye={};pe.next();){var we=pe.value;if(we.isTreeLink&&(fe||we.fd||we.bb(),we=we.To(a),we!==null&&we!==a&&!x.contains(we))){if(x.add(we),!fe){we.Zb(!0),we.oh();var be=b?we.Oo():we.Po();ye.vv=a,be.all(function(Ie){return function(ke){return ke===Ie.vv||!ke.isTreeExpanded}}(ye))&&re.Cj(we,oe)}(2re&&(re=fe.right),fe.bottom>oe&&(oe=fe.bottom)}}return isFinite(b)&&isFinite(te)?a.h(b,te,re-b,oe-te):(x=x.location,a.h(x.x,x.y,0,0)),a},wn.Object.defineProperties(zc.prototype,{padding:{get:function(){return this.yb},set:function(a){typeof a=="number"&&(a=new Xi(a));var x=this.yb;x.D(a)||(this.yb=a=a.J(),this.g("padding",x,a),this.v())}}}),zc.className="Placeholder";function jn(a){qi.call(this,Tn.Link),this.Qa=8,this.ef=null,this.ff="",this.uf=this.gn=null,this.vf="",this.uo=null,this.qk=uh,this.Om=0,this.Qm=uh,this.Rm=NaN,this.qj=pC,this.po=.5,this.wd=null,this.Nb=new $n().freeze(),this.Tg=this.Mg=null,this.ml=new Lt,this.ua=new In,this.u=this.o=this.Sf=this.Wf=null,this.su=new dt,this.cq=this.Mw=this.Lw=null,this.vt=NaN,this.ba=null,this.j=[],a&&Object.assign(this,a)}_t(jn,qi),jn.prototype.cloneProtected=function(a){qi.prototype.cloneProtected.call(this,a),a.Qa=this.Qa&-113,a.ff=this.ff,a.gn=this.gn,a.vf=this.vf,a.uo=this.uo,a.qk=this.qk,a.Om=this.Om,a.Qm=this.Qm,a.Rm=this.Rm,a.qj=this.qj,a.po=this.po,this.ba!==null&&(a.ba=this.ba.copy())},Ve=jn.prototype,Ve.Af=function(a){qi.prototype.Af.call(this,a),this.ff=a.ff,this.vf=a.vf,a.Mg=null,a.bb(),a.Sf=this.Sf;var x=a.fromPort;x!==null&&lh(x),a=a.toPort,a!==null&&lh(a)},Ve.qb=function(a){a.classType===jn?(a.value&2)===2?this.routing=a:a===Gh||a===D0||a===R1?this.curve=a:a===$f||a===F0||a===mC?this.adjusting=a:a!==pC&&a!==uh&&tn("Unknown Link enum value for a Link property: "+a):qi.prototype.qb.call(this,a)},Ve.Xc=function(){this.ba===null&&(this.ba=new zh)},Ve.si=function(){var a=this.fromNode;if(a!==null){var x=a.findVisibleNode();if(x!==null&&(a=x),Bh(a)||kv(a))return!1}return a=this.toNode,!(a!==null&&(x=a.findVisibleNode(),x!==null&&(a=x),Bh(a)||kv(a)))},Ve.zv=function(){return!1},Ve.Av=function(){},Ve.Zc=function(){return!1},jn.prototype.computeAngle=function(a,x,b){return jn.computeAngle(x,b)},jn.computeAngle=function(a,x){switch(a){default:case uh:a=0;break;case Jy:a=x;break;case L0:a=x+90;break;case bg:a=x-90;break;case Rp:a=x+180;break;case yx:a=Dt.bp(x),90a&&(a-=180);break;case Ax:a=Dt.bp(x+90),90a&&(a-=180);break;case cS:a=Dt.bp(x-90),90a&&(a-=180);break;case vC:if(a=Dt.bp(x),45a||225a)return 0;90a&&(a-=180)}return Dt.bp(a)};function Hv(a){var x=a.fromNode,b=a.toNode,te=null;if(x!==null?te=b!==null?x.px(b):x.containingGroup:b!==null?te=b.containingGroup:te=null,x=te,b=a.Ah,b!==x){b!==null&&F1(b,a),a.Ah=x,x!==null&&px(x,a);var re=a.containingGroupChanged;if(re!==null){var oe=!0,ae=a.diagram;ae!==null&&(oe=ae.aa,ae.aa=!0),re(a,b,x),ae!==null&&(ae.aa=oe)}!a.fd||a.Lw!==b&&a.Mw!==b||a.bb()}if(a.isLabeledLink)for(a=a.labelNodes;a.next();)a.value.containingGroup=te}Ve=jn.prototype,Ve.oh=function(){var a=this.containingGroup;a!==null&&this.fromNode!==a&&this.toNode!==a&&a.computesBoundsIncludingLinks&&qi.prototype.oh.call(this)},Ve.To=function(a){var x=this.fromNode;return a===x?this.toNode:x},Ve.Cz=function(a){var x=this.fromPort;return a===x?this.toPort:x};function sS(a,x){a.wd===null&&(a.wd=new ei),a.wd.add(x),a.v()}Ve.Vo=function(a){if(qi.prototype.Vo.call(this,a),Uv(this)&&this.Xo(this.actualBounds),!a){a=this.ef;var x=null;a!==null&&(x=this.fromPort,B1(a,this,x));var b=this.uf;if(b!==null){var te=this.toPort;b===a&&te===x||B1(b,this,te)}_f(this)}},Ve.Wo=function(a){if(qi.prototype.Wo.call(this,a),Uv(this)&&this.Xo(this.actualBounds),!a){a=this.ef;var x=null;a!==null&&(x=this.fromPort,Xy(a,this,x));var b=this.uf;if(b!==null){var te=this.toPort;b===a&&te===x||Xy(b,this,te)}B0(this)}},Ve.Lj=function(){if(this.fd=!0,this.wd!==null){var a=this.diagram;if(a!==null)for(var x=this.wd.copy().iterator;x.next();)a.remove(x.value)}this.data!==null&&(a=this.diagram,a!==null&&a.partManager.removeDataForLink(this))},jn.prototype.updateRelationshipsFromData=function(){if(this.data!==null){var a=this.diagram;a!==null&&a.partManager.updateRelationshipsFromData(this)}},jn.prototype.move=function(a,x){var b=x?this.location:this.position,te=b.x;isNaN(te)&&(te=0);var re=b.y;for(isNaN(re)&&(re=0),te=a.x-te,re=a.y-re,x===!0?qi.prototype.move.call(this,a,!1):(a=dt.allocAt(b.x+te,b.y+re),qi.prototype.move.call(this,a,!1),dt.free(a)),Am(this,te,re),a=this.labelNodes;a.next();)x=a.value,b=x.position,x.moveTo(b.x+te,b.y+re)},jn.prototype.canRelinkFrom=function(){if(!this.relinkableFrom)return!1;var a=this.layer;return a===null?!0:a.allowRelink?(a=a.diagram,!!(a===null||a.allowRelink)):!1},jn.prototype.canRelinkTo=function(){if(!this.relinkableTo)return!1;var a=this.layer;return a===null?!0:a.allowRelink?(a=a.diagram,!!(a===null||a.allowRelink)):!1},jn.prototype.computeMidPoint=function(a){var x=this.pointsCount;if(x===0)return a.assign(Ud),a;if(x===1)return a.assign(this.i(0)),a;if(x===2){var b=this.i(0),te=this.i(1);return a.h((b.x+te.x)/2,(b.y+te.y)/2),a}if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===Gh))return this.ua.Pu(.5,a),a.add(this.i(0)),b=this.ua.figures.first(),a.offset(-b.startX,-b.startY),a;if(this.computeCurve()===Gh){if(x===3){b=this.i(0),te=this.i(1);var re=this.i(2);return Dt.ax(b.x,b.y,te.x,te.y,te.x,te.y,re.x,re.y,a),a}if(te=(x-1)/3|0,b=3*(te/2|0),te%2===1){te=this.i(b),re=this.i(b+1);var oe=this.i(b+2);b=this.i(b+3),Dt.ax(te.x,te.y,re.x,re.y,oe.x,oe.y,b.x,b.y,a)}else a.assign(this.i(b));return a}var ae=this.flattenedLengths;for(b=this.flattenedTotalLength,re=oe=te=0;teb/2));)te+=re,oe++;return x=this.i(oe),oe=this.i(oe+1),1>Math.abs(x.x-oe.x)?x.y>oe.y?a.h(x.x,x.y-(b/2-te)):a.h(x.x,x.y+(b/2-te)):1>Math.abs(x.y-oe.y)?x.x>oe.x?a.h(x.x-(b/2-te),x.y):a.h(x.x+(b/2-te),x.y):(b=(b/2-te)/re,a.h(x.x+b*(oe.x-x.x),x.y+b*(oe.y-x.y))),a},jn.prototype.computeMidAngle=function(){var a=this.pointsCount;if(2>a)return NaN;if(a===2)return this.i(0).ab(this.i(1));if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===Gh))return this.ua.wx(.5);if(this.computeCurve()===Gh&&4<=a){var x=(a-1)/3|0,b=3*(x/2|0);if(x%2===1){b=Math.floor(b),a=this.i(b),x=this.i(b+1);var te=this.i(b+2);return b=this.i(b+3),Dt.My(a.x,a.y,x.x,x.y,te.x,te.y,b.x,b.y)}if(0te/2));)re+=oe,b++;if(x=this.i(b),te=this.i(b+1),1>Math.abs(x.x-te.x)&&1>Math.abs(x.y-te.y)){if(0Math.abs(x.x-te.x))return x.y>te.y?270:90;if(1>Math.abs(x.y-te.y))return x.x>te.x?180:0}return x.ab(te)},Ve=jn.prototype,Ve.i=function(a){return this.Nb.s[a]},Ve.dd=function(a,x){this.Nb.cd(a,x)},Ve.L=function(a,x,b){this.Nb.cd(a,new dt(x,b))},Ve.Kz=function(a,x){this.Nb.Gb(a,x)},Ve.m=function(a,x,b){this.Nb.Gb(a,new dt(x,b))},Ve.ne=function(a){this.Nb.add(a)},Ve.yf=function(a,x){this.Nb.add(new dt(a,x))},Ve.pv=function(a){this.Nb.mb(a)},Ve.Fj=function(){this.Nb.clear()};function Am(a,x,b){if(x!==0||b!==0)if(a.pointsCount===0)a.defaultFromPoint&&a.defaultFromPoint.offset(x,b),a.defaultToPoint&&a.defaultToPoint.offset(x,b);else{for(var te=a.fd,re=new $n,oe=a.Nb.iterator;oe.next();){var ae=oe.value;re.add(new dt(ae.x+x,ae.y+b).freeze())}re.freeze(),oe=a.Nb,a.Nb=re,ae=a.diagram,isNaN(x)||isNaN(b)||ae!==null&&ae.animationManager.zb?a.v():(a.ke.h(a.ke.x+x,a.ke.y+b),a.pa.h(a.pa.x+x,a.pa.y+b),vc(a)),te?uC(a):(a.defaultFromPoint&&(a.defaultFromPoint=a.i(0)),a.defaultToPoint&&(a.defaultToPoint=a.i(a.pointsCount-1))),ae!==null&&ae.animationManager.zb&&eh(ae.animationManager,a,re),a.g("points",oe,re)}}Ve.uh=function(){this.Mg===null&&(this.Mg=this.Nb,this.Nb=this.Nb.copy())},Ve.zf=function(){if(this.Mg!==null){for(var a=this.Mg,x=this.Nb,b=1/0,te=1/0,re=a.s,oe=re.length,ae=0;aeye&&(be=-be),Ge=(0>pe?-1:1)*be+ke,st=we*(Ge-ke)+ze),ke=oe.x+2*fe/3,ze=oe.y+2*pe/3;var tt=ke,gt=ze;Dt.B(pe,0)?gt=0pe?-1:1)*be+ke,gt=we*(tt-ke)+ze),this.Fj(),this.ne(oe),this.yf(Ge,st),this.yf(tt,gt),this.ne(Ie),this.dd(0,this.getLinkPoint(a,x,ae,!0,!1,te,re)),this.dd(3,this.getLinkPoint(te,re,b,!1,!1,a,x))}else oe=te,Ie=re,te=this.getLinkPoint(a,x,ae,!0,!1,oe,Ie),re=this.getLinkPoint(oe,Ie,b,!1,!1,a,x),this.hasCurviness()?(Ie=re.x-te.x,b=re.y-te.y,ae=this.computeCurviness(),a=te.x+Ie/2,x=te.y+b/2,oe=a,fe=x,Dt.B(b,0)?fe=0ae&&(oe=-oe),oe=(0>b?-1:1)*oe+a,fe=Ie*(oe-a)+x),this.ne(te),this.yf(oe,fe),this.ne(re)):(this.ne(te),this.ne(re),fe=Lt.alloc(),x.mi(fe),pe=fe.ca(re),Ie.mi(fe),ye=fe.ca(te),(pe||ye)&&(ae=x.ga(hC(ae),new dt),this.dd(0,this.getLinkPointFromPoint(a,x,ae,re,!0,ae)),b=Ie.ga(hC(b),new dt),this.dd(1,this.getLinkPointFromPoint(oe,Ie,b,te,!1,b))),Lt.free(fe))}else{be=this.isAvoiding,Ie&&(we&&be||ye)&&this.Fj();var mt=ye?this.computeCurviness():0;be=this.getLinkPoint(a,x,ae,!0,we,te,re),ke=Ge=ze=0,(we||!fe||ye)&&(st=this.computeEndSegmentLength(a,x,ae,!0),ke=this.getLinkDirection(a,x,be,ae,!0,we,te,re),ye&&(fe||ae.D(b)||!we&&ae.x+b.x===1&&ae.y+b.y===1)&&(ke-=we?90:30,0>mt&&(ke-=180)),0>ke?ke+=360:360<=ke&&(ke-=360),ye&&(st+=Math.abs(mt)*(we?1:2)),ke===0?ze=st:ke===90?Ge=st:ke===180?ze=-st:ke===270?Ge=-st:(ze=st*Math.cos(ke*Math.PI/180),Ge=st*Math.sin(ke*Math.PI/180)),ae.Mc()&&ye&&(st=x.ga(nr,dt.alloc()),tt=dt.allocAt(st.x+1e3*ze,st.y+1e3*Ge),this.getLinkPointFromPoint(a,x,st,tt,!0,be),dt.free(st),dt.free(tt))),st=this.getLinkPoint(te,re,b,!1,we,a,x);var yt=gt=tt=0;if(we||!pe||ye){var Ct=this.computeEndSegmentLength(te,re,b,!1);yt=this.getLinkDirection(te,re,st,b,!1,we,a,x),ye&&(pe||ae.D(b)||!we&&ae.x+b.x===1&&ae.y+b.y===1)&&(yt+=we?0:30,0>mt&&(yt+=180)),0>yt?yt+=360:360<=yt&&(yt-=360),ye&&(Ct+=Math.abs(mt)*(we?1:2)),yt===0?tt=Ct:yt===90?gt=Ct:yt===180?tt=-Ct:yt===270?gt=-Ct:(tt=Ct*Math.cos(yt*Math.PI/180),gt=Ct*Math.sin(yt*Math.PI/180)),b.Mc()&&ye&&(b=re.ga(nr,dt.alloc()),ae=dt.allocAt(b.x+1e3*tt,b.y+1e3*gt),this.getLinkPointFromPoint(te,re,b,ae,!1,st),dt.free(b),dt.free(ae))}b=be,(we||!fe||ye)&&(b=new dt(be.x+ze,be.y+Ge)),ae=st,(we||!pe||ye)&&(ae=new dt(st.x+tt,st.y+gt)),!Ie&&!we&&fe&&3Math.abs(x.y-a.y)?(x.x>=a.x?x.x=a.x+9e9:x.x=a.x-9e9,x.y=a.y):(x.y>=a.y?x.y=a.y+9e9:x.y=a.y-9e9,x.x=a.x),x}jn.prototype.getLinkPointFromPoint=function(a,x,b,te,re,oe){if(oe===void 0&&(oe=new dt),a===null||x===null)return oe.assign(b),oe;if(a.isVisible()||(re=a.findVisibleNode(),re!==null&&re!==a&&(x=re.port)),a=null,re=x.panel,re===null||re.se()||(re=re.panel),re===null){re=te.x,te=te.y;var ae=b.x;b=b.y}else{a=re.oe,re=1/(a.m11*a.m22-a.m12*a.m21),ae=a.m22*re;var fe=-a.m12*re,pe=-a.m21*re,ye=a.m11*re,we=re*(a.m21*a.dy-a.m22*a.dx),be=re*(a.m12*a.dx-a.m11*a.dy);re=te.x*ae+te.y*pe+we,te=te.x*fe+te.y*ye+be,ae=b.x*ae+b.y*pe+we,b=b.x*fe+b.y*ye+be}return x.Sj(re,te,ae,b,oe),a!==null&&oe.transform(a),oe};function aS(a,x){var b=x.Zn;return b===null&&(b=new I0,b.port=x,b.node=x.part,x.Zn=b),U1(b,a)}jn.prototype.getLinkPoint=function(a,x,b,te,re,oe,ae,fe){if(fe===void 0&&(fe=new dt),b.sb()&&!mx(b))return x.ga(b,fe),fe;if(b.$c()){var pe=aS(this,x);if(pe!==null){if(fe.assign(pe.Zo),re&&this.routing===I1){var ye=aS(this,ae);if(ye!==null&&pe.Gl=we.y&&a.y<=we.y+we.height?fe.y=a.y:(b.Hf(ca)||b.Hf(_s))&&a.x>=we.x&&a.x<=we.x+we.width&&(fe.x=a.x),dt.free(pe),dt.free(ye)}}return fe}}return b=x.ga(hC(b),dt.alloc()),this.pointsCount>(re?6:2)?(ae=te?this.i(1):this.i(this.pointsCount-2),re&&(ae=cC(b,ae.copy()))):(pe=this.computeSpot(!te,ae),oe=dt.alloc(),ae=ae.ga(hC(pe),oe),re&&(ae=cC(b,ae)),dt.free(oe)),this.getLinkPointFromPoint(a,x,b,ae,te,fe),dt.free(b),fe},jn.prototype.getLinkDirection=function(a,x,b,te,re,oe,ae,fe){e:if(te.sb())var pe=te.x>te.y?te.x>1-te.y?0:te.x<1-te.y?270:315:te.x1-te.y?90:te.x<1-te.y?180:135:.5>te.x?225:.5(oe?6:2)?(fe=re?this.i(1):this.i(this.pointsCount-2),fe=oe?cC(pe,fe.copy()):b):(b=dt.alloc(),fe=fe.ga(nr,b),dt.free(b)),b=Math.abs(fe.x-pe.x)>Math.abs(fe.y-pe.y)?fe.x>=pe.x?0:180:fe.y>=pe.y?90:270,dt.free(pe),pe=b}return te.Mc()&&ae.Td(a)&&(pe+=180,360<=pe&&(pe-=360)),mx(te)||(a=x.li(),a===0)||(45<=a&&135>a?pe+=90:135<=a&&225>a?pe+=180:225<=a&&315>a&&(pe+=270),360<=pe&&(pe-=360)),pe},jn.prototype.computeEndSegmentLength=function(a,x,b,te){return x!==null&&b.$c()&&(a=aS(this,x),a!==null)?a.Ju:(a=te?this.fromEndSegmentLength:this.toEndSegmentLength,x!==null&&isNaN(a)&&(a=te?x.fromEndSegmentLength:x.toEndSegmentLength),isNaN(a)&&(a=10),a)},jn.prototype.computeSpot=function(a,x){return x===void 0&&(x=null),a?(a=x||this.fromPort,a===null?a=nr:(x=this.fromSpot,x.Xb()&&(x=a.fromSpot),a=x===va?bo:x)):(a=x||this.toPort,a===null?a=nr:(x=this.toSpot,x.Xb()&&(x=a.toSpot),a=x===va?bo:x)),a};function mx(a){return a===bo||a.x===.5&&a.y===.5}function hC(a){return a.x===.5&&a.y===.5?a:nr}jn.prototype.computeOtherPoint=function(a,x){return this.computeAdjusting()!==uh&&4Ie.width||be.y>Ie.height||0>be.x+be.width||0>be.y+be.height)){if(be=Ni.alloc(),be.set(ae),we instanceof Tn)fe=we.Cf(a,x,b,te,re,be);else if(this.path===we){if(we instanceof Xr)if(fe=a,Ie=te,we.pickable===!1)fe=!1;else if(be.multiply(we.transform),Ie)e:{var ke=fe,ze=be;if(we.fh(ke,ze))fe=!0;else{if(ze===void 0&&(ze=we.transform,ke.Re(we.actualBounds))){fe=!0;break e}fe=ke.left,Ie=ke.right;var Ge=ke.top;ke=ke.bottom;var st=dt.alloc(),tt=dt.alloc(),gt=dt.alloc(),mt=Ni.alloc();mt.set(ze),mt.bv(we.transform),mt.Vj(),tt.x=Ie,tt.y=Ge,tt.transform(mt),st.x=fe,st.y=Ge,st.transform(mt),ze=!1,Nv(we,st,tt,gt)?ze=!0:(st.x=Ie,st.y=ke,st.transform(mt),Nv(we,st,tt,gt)?ze=!0:(tt.x=fe,tt.y=ke,tt.transform(mt),Nv(we,st,tt,gt)?ze=!0:(st.x=fe,st.y=Ge,st.transform(mt),Nv(we,st,tt,gt)&&(ze=!0)))),Ni.free(mt),dt.free(st),dt.free(tt),dt.free(gt),fe=ze}}else fe=we.fh(fe,be)}else fe=hu(we,a,te,be);fe&&(Ie=we,x!==null&&(Ie=x(we)),Ie&&(b===null||b(Ie))&&re.add(Ie)),Ni.free(be)}}}return oe===void 0&&Ni.free(ae),fe||this.background!==null||this.areaBackground!==null}return oe===void 0&&Ni.free(ae),!1},jn.prototype.computeCurve=function(){if(this.Wf===null){var a=this.fromPort,x=this.isOrthogonal;this.Wf=a!==null&&a===this.toPort&&!x}return this.Wf?Gh:this.curve},jn.prototype.computeCorner=function(){if(this.curve===Gh)return 0;var a=this.corner;return(isNaN(a)||0>a)&&(a=10),a},jn.prototype.findMidLabel=function(){for(var a=this.path,x=this.O.s,b=x.length,te=0;tepe?-Math.PI/2:Math.PI/2;else we=Math.atan(pe/Math.abs(fe)),0>fe&&(we=Math.PI-we);ae=x.x;var be=x.y;fe=te.x-ae;var Ie=te.y-be;for(pe=Math.sqrt(fe*fe+Ie*Ie),Dt.$(fe,0)?Ie=0>Ie?-Math.PI/2:Math.PI/2:(Ie=Math.atan(Ie/Math.abs(fe)),0>fe&&(Ie=Math.PI-Ie)),ye=pe/ye,we=Ie-we,this.dd(a,x),a+=1;ape?-Math.PI/2:Math.PI/2:(pe=Math.atan(pe/Math.abs(fe)),0>fe&&(pe=Math.PI-pe)),fe=pe+we,x*=ye,this.L(a,ae+x*Math.cos(fe),be+x*Math.sin(fe)));this.dd(b,te)}}return!0;case mC:if(oe=this.i(a),be=this.i(b),!oe.Xa(x)||!be.Xa(te)){re=oe.x,oe=oe.y,ae=be.x,be=be.y,ye=(ae-re)*(ae-re)+(be-oe)*(be-oe),fe=x.x,we=x.y,pe=te.x,Ie=te.y;var ke=1;if(pe-fe!==0){var ze=(Ie-we)/(pe-fe);ke=Math.sqrt(1+1/(ze*ze))}else ze=9e9;for(this.dd(a,x),a+=1;ax?x+=360:360<=x&&(x-=360),0>te?te+=360:360<=te&&(te-=360);var ae=te;x=315<=x||45>x?0:45<=x&&135>x?90:135<=x&&225>x?180:270,te=315<=te||45>te?0:45<=te&&135>te?90:135<=te&&225>te?180:270;var fe=re.actualBounds.copy(),pe=oe.actualBounds.copy();if(fe.w()&&pe.w()){fe.Bc(hS,hS),pe.Bc(hS,hS),fe.Ye(a),pe.Ye(b);var ye=dt.alloc(),we=dt.alloc();x===0?b.x>a.x||te===270&&b.ya.x||te===90&&b.y>a.y&&pe.right>a.x?(ye.h(b.x,a.y),we.h(b.x,(a.y+b.y)/2),te===180?(ye.x=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1),we.x=ye.x,we.y=b.y):te===270&&b.ya.y?(ye.x=a.xpe.bottom)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):pe.right,we.x=ye.x,we.y=b.y):te===0&&a.xpe.top&&a.yfe.bottom)&&(te===180&&(pe.ca(a)||fe.ca(b))?ye.y=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):b.ya.y&&(te===180||te===270)&&(ye.y=this.computeMidOrthoPosition(a.x,fe.bottom,b.x,Math.min(b.y,pe.top),!0)),we.x=b.x,we.y=ye.y),ye.y>fe.top&&ye.y=fe.left&&b.x<=a.x||a.x<=pe.right&&a.x>=b.x?(te===90||te===270)&&(ye.h(Math.max((a.x+b.x)/2,a.x),a.y),we.h(ye.x,b.y)):(ye.y=te===270||(te===0||te===180)&&b.ya.y&&pe.lefta.y?(ye.x=a.x>pe.right?this.computeMidOrthoPosition(a.x,a.y,pe.right,b.y,!1):a.x>pe.left&&(te===270&&a.ype.bottom)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):pe.left,we.x=ye.x,we.y=b.y):te===180&&a.x>pe.right&&a.y>pe.top&&a.yfe.bottom)&&(te===0&&(pe.ca(a)||fe.ca(b))?ye.y=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):b.ya.y&&(te===0||te===270)&&(ye.y=this.computeMidOrthoPosition(a.x,fe.bottom,b.x,Math.min(b.y,pe.top),!0)),we.x=b.x,we.y=ye.y),ye.y>fe.top&&ye.y=a.x||a.x>=pe.left&&a.x<=b.x?(te===90||te===270)&&(ye.h(Math.min((a.x+b.x)/2,a.x),a.y),we.h(ye.x,b.y)):(ye.y=te===270||(te===0||te===180)&&b.ya.y||te===180&&b.xa.y||te===0&&b.x>a.x&&pe.bottom>a.y?(ye.h(a.x,b.y),we.h((a.x+b.x)/2,b.y),te===270?(ye.y=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0),we.x=b.x,we.y=ye.y):te===180&&b.xa.x?(ye.y=a.ype.right)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):pe.bottom,we.x=b.x,we.y=ye.y):te===90&&a.ype.left&&a.xfe.right)&&(te===270&&(pe.ca(a)||fe.ca(b))?ye.x=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):b.xa.x&&(te===270||te===180)&&(ye.x=this.computeMidOrthoPosition(fe.right,a.y,Math.min(b.x,pe.left),b.y,!1)),we.x=ye.x,we.y=b.y),ye.x>fe.left&&ye.x=fe.top&&b.y<=a.y||a.y<=pe.bottom&&a.y>=b.y?(te===0||te===180)&&(ye.h(a.x,Math.max((a.y+b.y)/2,a.y)),we.h(b.x,ye.y)):(ye.x=te===180||(te===90||te===270)&&b.xa.x&&pe.top=a.x?(ye.y=a.y>pe.bottom?this.computeMidOrthoPosition(a.x,a.y,b.x,pe.bottom,!0):a.y>pe.top&&(te===180&&a.xpe.right)?this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!0):pe.top,we.x=b.x,we.y=ye.y):te===270&&a.y>pe.bottom&&a.x>pe.left&&a.xfe.right)&&(te===90&&(pe.ca(a)||fe.ca(b))?ye.x=this.computeMidOrthoPosition(a.x,a.y,b.x,b.y,!1):b.xa.x&&(te===90||te===180)&&(ye.x=this.computeMidOrthoPosition(fe.right,a.y,Math.min(b.x,pe.left),b.y,!1)),we.x=ye.x,we.y=b.y),ye.x>fe.left&&ye.x=a.y||a.y>=pe.top&&a.y<=b.y?(te===0||te===180)&&(ye.h(a.x,Math.min((a.y+b.y)/2,a.y)),we.h(b.x,ye.y)):(ye.x=te===180||(te===90||te===270)&&b.x=z1&&(O1(ke),fe.Bc(ke.Ho*ke.Hx,ke.Go*ke.Ix),af(ke,a,x,be,te,fe,!1),pe=Dd(ke,be.x,be.y)),!ke.abort&&pethis.pointsCount?(x===0||x===180?(fe.x=a.x,fe.y=be.y):(fe.x=be.x,fe.y=a.y),this.L(2,fe.x,fe.y),this.m(3,fe.x,fe.y)):(ae=this.i(3),x===0||x===180?Dt.B(fe.x,ae.x)?(fe=x===0?Math.max(fe.x,a.x):Math.min(fe.x,a.x),this.L(2,fe,a.y),this.L(3,fe,ae.y)):Dt.B(fe.y,ae.y)?(Math.abs(a.y-fe.y)<=ke.Go/2&&(this.L(2,fe.x,a.y),this.L(3,ae.x,a.y)),this.m(2,fe.x,a.y)):this.L(2,a.x,fe.y):(x===90||x===270)&&(Dt.B(fe.y,ae.y)?(fe=x===90?Math.max(fe.y,a.y):Math.min(fe.y,a.y),this.L(2,a.x,fe),this.L(3,ae.x,fe)):Dt.B(fe.x,ae.x)?(Math.abs(a.x-fe.x)<=ke.Ho/2&&(this.L(2,a.x,fe.y),this.L(3,a.x,ae.y)),this.m(2,a.x,fe.y)):this.L(2,fe.x,a.y))),b!==null&&(a=this.i(1),ae=this.i(2),a.x!==ae.x&&a.y!==ae.y?x===0||x===180?this.m(2,a.x,ae.y):this.m(2,ae.x,a.y):x===0||x===180?this.m(2,re.x,b.y):this.m(2,b.x,re.y)),ze!==null&&(te===0||te===180?this.yf(oe.x,ze.y):this.yf(ze.x,oe.y)),x=!0):x=!1}}}else x=!1;x||(this.ne(ye.copy()),this.ne(we.copy())),dt.free(ye),dt.free(we)}},jn.prototype.computeMidOrthoPosition=function(a,x,b,te,re){var oe=0;return!this.hasCurviness()||this.computeSpot(!0,this.fromPort).$c()||this.computeSpot(!1,this.toPort).$c()||(oe=this.computeCurviness()),re?(x+te)/2+oe:(a+b)/2+oe};function dC(a){if(a.diagram===null||!a.isAvoiding||!a0(a.diagram))return!1;var x=a.points.s,b=x.length;if(4>b)return!1;a=l0(a.diagram,!0,a.containingGroup,null);for(var te=1;teMg&&Dd(x,we,be)!==ye-1&&(Dd(x,b-fe,te)===ye-1?(re=180,we=b-fe,be=te):Dd(x,b+fe,te)===ye-1?(re=0,we=b+fe,be=te):Dd(x,b,te-pe)===ye-1?(re=270,we=b,be=te-pe):Dd(x,b,te+pe)===ye-1&&(re=90,we=b,be=te+pe));ye>Mg&&Dd(x,we,be)===ye-1;)b=we,te=be,re===0?we+=fe:re===90?be+=pe:re===180?we-=fe:be-=pe,--ye;oe?ye>Mg&&(re===180||re===0?b=Math.floor(b/fe)*fe+fe/2:(re===90||re===270)&&(te=Math.floor(te/pe)*pe+pe/2)):(b=Math.floor(b/fe)*fe+fe/2,te=Math.floor(te/pe)*pe+pe/2),ye>Mg&&(oe=re,ae=b,we=te,re===0?(oe=90,we+=pe):re===90?(oe=180,ae-=fe):re===180?(oe=270,we-=pe):re===270&&(oe=0,ae+=fe),Dd(x,ae,we)===ye-1?L1(a,x,ae,we,oe,!1,oe):(ae=b,we=te,re===0?(oe=270,we-=pe):re===90?(oe=0,ae+=fe):re===180?(oe=90,we+=pe):re===270&&(oe=180,ae-=fe),Dd(x,ae,we)===ye-1&&L1(a,x,ae,we,oe,!1,oe))),a.yf(b,te)}jn.prototype.ez=function(a){var x=a.x;a=a.y;for(var b=this.i(0),te=this.i(1),re=Mu(x,a,b.x,b.y,te.x,te.y),oe=0,ae=1;aethis.pointsCount?this.lk=!0:this.ua=this.makeGeometry(),a=this.path,a!==null)){a.ua=this.ua;for(var x=this.O.s,b=x.length,te=0;te=x&&(te=x-1),pe=this.i(te),oe.x=Math.min(pe.x,oe.x),oe.y=Math.min(pe.y,oe.y);te=oe.x,pe=oe.y}else{for(pe=0;pest?ze>ke?(oe.x=tt-mt,oe.y=ke-mt,re.x=tt+Ge,re.y=ke+Ge):(oe.x=tt-mt,oe.y=ke+mt,re.x=tt+Ge,re.y=ke-Ge):ze>ke?(oe.x=tt+mt,oe.y=ke-mt,re.x=tt-Ge,re.y=ke+Ge):(oe.x=tt+mt,oe.y=ke+mt,re.x=tt-Ge,re.y=ke-Ge)),Dt.$(st,tt)&&Dt.$(ke,ze)&&(ke>Ie?(gt>tt?(oe.x=tt-mt,oe.y=ke-mt,re.x=tt+Ge):(oe.x=tt+mt,oe.y=ke-mt,re.x=tt-Ge),re.y=ke+Ge):(gt>tt?(oe.x=tt-mt,oe.y=ke+mt,re.x=tt+Ge):(oe.x=tt+mt,oe.y=ke+mt,re.x=tt-Ge),re.y=ke-Ge)),(Dt.$(st,tt)&&Dt.$(tt,gt)||Dt.$(Ie,ke)&&Dt.$(ke,ze))&&(st=.5*(st+gt),Ie=.5*(Ie+ze),oe.x=st,oe.y=Ie,re.x=st,re.y=Ie),(be===1||be===2&&Dt.$(ae.x,this.i(0).x)&&Dt.$(ae.y,this.i(0).y))&&(b.x=.5*(ae.x+ye.x),b.y=.5*(ae.y+ye.y)),qf(fe,b.x-te,b.y-pe,oe.x-te,oe.y-pe,ye.x-te,ye.y-pe),x.set(oe),b.set(re),ae=ye}}ye=ae.x,ae=ae.y,we=this.i(this.pointsCount-1),this.computeShortLength(!1)!==0&&(we=Zy(this,we.copy(),!1,ou)),ye=.5*(ye+we.x),ae=.5*(ae+we.y),qf(fe,re.x-te,re.y-pe,ye-te,ae-pe,we.x-te,we.y-pe),dt.free(x),dt.free(b),dt.free(oe),dt.free(re)}else for(b=3;b=x&&(b=x-1),re=this.i(b-1),ae=this.i(b),b===x-1&&this.computeShortLength(!1)!==0&&(ae=Zy(this,ae.copy(),!1,ou)),qf(fe,oe.x-te,oe.y-pe,re.x-te,re.y-pe,ae.x-te,ae.y-pe);else{for(oe=dt.alloc(),oe.assign(this.i(0)),re=dt.alloc(),re.assign(oe),ae=this.computeCorner(),be=1,ye=0;be=x-1){if(!oe.D(we))this.computeShortLength(!1)!==0&&(we=Zy(this,we.copy(),!1,ou)),vx(this,fe,-te,-pe,oe,we,b);else if(ye===0)for(be=1;beoe.x?yt=Ie.x-ze:yt=Ie.x+ze,tt.y>Ie.y?gt=Ie.y+mt:gt=Ie.y-mt,tt=dt.allocAt(yt,Ct),vx(this,fe,be,st,oe,tt,Ge),dt.free(tt),Ff(fe,Ie.x+be,Ie.y+st,ke+be,gt+st),oe.h(ke,gt)}else Dt.B(oe.x,Ie.x)&&Dt.B(Ie.y,tt.y)?(ze=Math.min(ae,Math.abs(Ie.y-re.y)/2),ze=mt=Math.min(ze,Math.abs(tt.x-Ie.x)/2),Dt.B(mt,0)?(vx(this,fe,be,st,oe,Ie,Ge),oe.assign(Ie)):(yt=Ie.x,Ct=Ie.y,ke=yt,gt=Ct,Ie.y>oe.y?Ct=Ie.y-ze:Ct=Ie.y+ze,tt.x>Ie.x?ke=Ie.x+mt:ke=Ie.x-mt,tt=dt.allocAt(yt,Ct),vx(this,fe,be,st,oe,tt,Ge),dt.free(tt),Ff(fe,Ie.x+be,Ie.y+st,ke+be,gt+st),oe.h(ke,gt))):(vx(this,fe,be,st,oe,Ie,Ge),oe.assign(Ie));re.assign(we),be=ye}dt.free(oe)}Ha=fe}else fe=this.i(1).copy(),fe.x-=te,fe.y-=pe,this.computeShortLength(!0)!==0&&(re=Zy(this,re,!0,oe)),this.computeShortLength(!1)!==0&&(fe=Zy(this,fe,!1,oe)),a.type=In.j,a.startX=re.x,a.startY=re.y,a.endX=fe.x,a.endY=fe.y;return this.lk=!0,a};function N1(a,x,b,te){return a=b-a,isNaN(a)||a===1/0||a===-1/0?NaN:(0>a&&(a=-a),x=te-x,isNaN(x)||x===1/0||x===-1/0?NaN:(0>x&&(x=-x),Dt.$(a,0)?x:Dt.$(x,0)?a:Math.sqrt(a*a+x*x)))}function Zy(a,x,b,te){var re=a.pointsCount;if(2>re)return x;if(b){var oe=a.i(1);if(b=oe.x-te.x,oe=oe.y-te.y,te=N1(x.x,x.y,b,oe),te===0)return x;re=re===2?.5*te:te,a=a.computeShortLength(!0),a>re&&(a=re),re=a*(oe-x.y)/te,x.x+=a*(b-x.x)/te,x.y+=re}else{if(oe=a.i(re-2),b=oe.x-te.x,oe=oe.y-te.y,te=N1(x.x,x.y,b,oe),te===0)return x;re=re===2?.5*te:te,a=a.computeShortLength(!1),a>re&&(a=re),re=a*(x.y-oe)/te,x.x-=a*(x.x-b)/te,x.y-=re}return x}function lS(a,x,b,te){for(var re=a.pointsCount,oe=x;Dt.$(x.x,oe.x)&&Dt.$(x.y,oe.y);){if(b>=re)return re-1;oe=a.i(b++)}if(!Dt.$(x.x,oe.x)&&!Dt.$(x.y,oe.y))return b-1;for(var ae=oe;Dt.$(x.x,oe.x)&&Dt.$(oe.x,ae.x)&&(!te||(x.y>=oe.y?oe.y>=ae.y:oe.y<=ae.y))||Dt.$(x.y,oe.y)&&Dt.$(oe.y,ae.y)&&(!te||(x.x>=oe.x?oe.x>=ae.x:oe.x<=ae.x));){if(b>=re)return re-1;ae=a.i(b++)}return b-2}jn.prototype.computeJumpLength=function(){return 10};function vx(a,x,b,te,re,oe,ae){if(!ae&&Uv(a)){ae=a.computeJumpLength();var fe=ae/2,pe=[],ye=0;if(a.isVisible()&&(ye=JM(a,re,oe,pe)),0be-ae);)ye--,be=Math.max(we-fe,oe.x);we=oe.y-ae+te,be+=b,ke=oe.y+te,a.curve===D0?of(x,be,ke,!1):qf(x,Ie,we,be,we,be,ke)}else if(Dt.B(re.x,oe.x))if(re.ywe-ae);)ye--,we=Math.max(be-fe,oe.y);be=oe.x-ae+b,ke=oe.x+b,we+=te,a.curve===D0?of(x,ke,we,!1):qf(x,be,Ie,be,we,ke,we)}}}x.lineTo(oe.x+b,oe.y+te)}function JM(a,x,b,te){var re=a.diagram;if(re===null||x.D(b))return 0;for(re=re.layers;re.next();){var oe=re.value;if(oe!==null&&oe.visible){oe=oe.Pa.s;for(var ae=oe.length,fe=0;feae.x&&we.x>=ye.x||ye.xae.y&&we.y>=ye.y||ye.yae&&Math.min(ze,Ge)we&&!Dt.B(ze,Ge)){fe.x=we,fe.y=ae,we=!0;break e}}else if(Dt.B(be,ke)&&Dt.B(ze,Ge)&&Math.min(we,Ie)ze&&Math.min(ae,st)be&&!Dt.B(ae,st)){fe.x=ze,fe.y=be,we=!0;break e}fe.x=0,fe.y=0,we=!1}we&&(re?b.push(fe.x):b.push(fe.y)),ae=ye}dt.free(fe)}function Uv(a){return a=a.curve,a===R1||a===D0}function fC(a,x){(x||Uv(a))&&(x=a.diagram,x===null||x.animationManager.isTicking||x.Eh.contains(a)||a.ml.width===0&&a.ml.height===0||x.Eh.add(a,a.ml.copy()))}jn.prototype.Xo=function(a){var x=this.layer;if(x!==null&&x.visible&&!x.isTemporary){var b=x.diagram;if(b!==null&&!b.animationManager.isTicking){var te=!1;for(b=b.layers;b.next();){var re=b.value;if(re.visible){if(re===x){te=!0;var oe=!1;re=re.Pa.s;for(var ae=re.length,fe=0;fea&&Zr(a,">= 0",jn,"fromEndSegmentLength"),this.Xc(),this.ba.Vi=a,this.g("fromEndSegmentLength",x,a),this.bb())}},fromShortLength:{get:function(){return this.ba!==null?this.ba.Wi:NaN},set:function(a){var x=this.fromShortLength;x!==a&&(this.Xc(),this.ba.Wi=a,this.qc(),this.g("fromShortLength",x,a))}},toSpot:{get:function(){return this.ba!==null?this.ba.yj:va},set:function(a){var x=this.toSpot;x.D(a)||(a=a.J(),this.Xc(),this.ba.yj=a,this.g("toSpot",x,a),(x.$c()||a.$c())&&this.toNode!==null&&lh(this.toPort),this.bb())}},toEndSegmentLength:{get:function(){return this.ba!==null?this.ba.wj:NaN},set:function(a){var x=this.toEndSegmentLength;x!==a&&(0>a&&Zr(a,">= 0",jn,"toEndSegmentLength"),this.Xc(),this.ba.wj=a,this.g("toEndSegmentLength",x,a),this.bb())}},toShortLength:{get:function(){return this.ba!==null?this.ba.xj:NaN},set:function(a){var x=this.toShortLength;x!==a&&(this.Xc(),this.ba.xj=a,this.qc(),this.g("toShortLength",x,a))}},isLabeledLink:{get:function(){return this.wd===null?!1:0=te&&(oe=te-1);var fe=this.i(oe-1),pe=this.i(oe);Dt.Dl(re.x,re.y,ae.x,ae.y,fe.x,fe.y,pe.x,pe.y,.5,a),x=Math.min(pe.x,x),b=Math.min(pe.y,b),re=pe}else for(re=this.i(0),oe=this.i(1),x=Math.min(re.x,oe.x),b=Math.min(re.y,oe.y),a.h(re.x,re.y,0,0),a.Ye(oe),re=2;rete&&(te=-te)):Dt.$(te.y,re.y)?(te=re.x-te.x,0>te&&(te=-te)):te=Math.sqrt(te.Bf(re)),a.push(te)}}return this.cq}},flattenedTotalLength:{get:function(){var a=this.vt;if(isNaN(a)){for(var x=this.flattenedLengths,b=x.length,te=a=0;tethis.pointsCount)return this.lk=!0,this.ua;this.ua=this.makeGeometry()}return this.ua}},firstPickIndex:{get:function(){return 2>=this.pointsCount?0:this.isOrthogonal||!mx(this.computeSpot(!0))?1:0}},lastPickIndex:{get:function(){var a=this.pointsCount;return a===0?0:2>=a?a-1:this.isOrthogonal||!mx(this.computeSpot(!1))?a-2:a-1}},adjusting:{get:function(){return this.qk},set:function(a){var x=this.qk;x!==a&&(this.qk=a,this.g("adjusting",x,a))}},corner:{get:function(){return this.Om},set:function(a){var x=this.Om;x!==a&&(this.Om=a,this.qc(),this.g("corner",x,a))}},curve:{get:function(){return this.Qm},set:function(a){var x=this.Qm;x!==a&&(this.Qm=a,this.bb(),this.qc(),fC(this,x===D0||x===R1||a===D0||a===R1),this.g("curve",x,a))}},curviness:{get:function(){return this.Rm},set:function(a){var x=this.Rm;x!==a&&(this.Rm=a,this.bb(),this.qc(),this.g("curviness",x,a))}},routing:{get:function(){return this.qj},set:function(a){var x=this.qj;x!==a&&(this.qj=a,this.Wf=null,this.bb(),fC(this,(x.value&2)===2||(a.value&2)===2),this.g("routing",x,a))}},smoothness:{get:function(){return this.po},set:function(a){var x=this.po;x!==a&&(this.po=a,this.qc(),this.g("smoothness",x,a))}},key:{get:function(){var a=this.diagram;if(a!==null&&a.model.ri())return a.model.Ac(this.data)}}}),jn.prototype.invalidateOtherJumpOvers=jn.prototype.Xo,jn.prototype.findClosestSegment=jn.prototype.ez,jn.prototype.updateRoute=jn.prototype.vg,jn.prototype.invalidateRoute=jn.prototype.bb,jn.prototype.rollbackRoute=jn.prototype.rv,jn.prototype.commitRoute=jn.prototype.zf,jn.prototype.startRoute=jn.prototype.uh,jn.prototype.clearPoints=jn.prototype.Fj,jn.prototype.removePoint=jn.prototype.pv,jn.prototype.addPointAt=jn.prototype.yf,jn.prototype.addPoint=jn.prototype.ne,jn.prototype.insertPointAt=jn.prototype.m,jn.prototype.insertPoint=jn.prototype.Kz,jn.prototype.setPointAt=jn.prototype.L,jn.prototype.setPoint=jn.prototype.dd,jn.prototype.getPoint=jn.prototype.i,jn.prototype.getOtherPort=jn.prototype.Cz,jn.prototype.getOtherNode=jn.prototype.To;var Ky=null,T0=null,pC=new un(jn,"Normal",1),bT=new un(jn,"Orthogonal",2),uS=new un(jn,"AvoidsNodes",6),I1=new un(jn,"AvoidsNodesStraight",7),uh=new un(jn,"None",0),Gh=new un(jn,"Bezier",9),D0=new un(jn,"JumpGap",10),R1=new un(jn,"JumpOver",11),$f=new un(jn,"End",17),F0=new un(jn,"Scale",18),mC=new un(jn,"Stretch",19),Jy=new un(jn,"OrientAlong",21),L0=new un(jn,"OrientPlus90",22),bg=new un(jn,"OrientMinus90",23),Rp=new un(jn,"OrientOpposite",24),yx=new un(jn,"OrientUpright",25),Ax=new un(jn,"OrientPlus90Upright",26),cS=new un(jn,"OrientMinus90Upright",27),vC=new un(jn,"OrientUpright45",28),qM=16,eg=14,hS=8;jn.className="Link",jn.Normal=pC,jn.Orthogonal=bT,jn.AvoidsNodes=uS,jn.AvoidsNodesStraight=I1,jn.None=uh,jn.Bezier=Gh,jn.JumpGap=D0,jn.JumpOver=R1,jn.End=$f,jn.Scale=F0,jn.Stretch=mC,jn.OrientAlong=Jy,jn.OrientPlus90=L0,jn.OrientMinus90=bg,jn.OrientOpposite=Rp,jn.OrientUpright=yx,jn.OrientPlus90Upright=Ax,jn.OrientMinus90Upright=cS,jn.OrientUpright45=vC,jn.EndSegmentStep=8,jn.CurvinessStart=qM,jn.SpacingMin=eg,jn.OrthoShortCut=hS;function dS(a,x,b,te){el(this),this.Fe=this.qq=!1,this.Ds=a,this.Ox=x,this.cv=b,this.Px=te,this.links=[]}dS.prototype.Sl=function(){if(!this.qq){var a=this.links;0=a.width||0>=a.height)){var x=a.y,b=a.x+a.width,te=a.y+a.height;if(this.Nd=Math.floor((a.x-this.rc)/this.rc)*this.rc,this.Od=Math.floor((x-this.sc)/this.sc)*this.sc,this.En=Math.ceil((b+2*this.rc)/this.rc)*this.rc,this.Fn=Math.ceil((te+2*this.sc)/this.sc)*this.sc,a=1+(Math.ceil((this.En-this.Nd)/this.rc)|0),x=1+(Math.ceil((this.Fn-this.Od)/this.sc)|0),this.ac===null||this.di=Mg&&(b[te]=Fd)}fS.prototype.Yj=function(a,x,b,te){if(a>this.En||a+bthis.Fn||x+tea&&(b+=a,a=0),0>x&&(re+=x,x=0),0>b||0>re)return!0;for(te=Math.min(a+b-1,this.di)|0,b=Math.min(x+re-1,this.ei)|0;a<=te;a++){re=this.ac[a];for(var oe=x;oe<=b;oe++)if(re[oe]===N0)return!1}return!0};function ip(a,x,b,te,re,oe,ae,fe,pe){if(!(xae||bpe)){var ye=x|0,we=b|0,be=a.ac[ye][we];if(be>=Mg&&be=a.ac[ye][we]);)a.ac[ye][we]=be,be+=1,re?we+=te:ye+=te;if(ye=re?we:ye,re)if(0ye;b+=te)ip(a,x,b,1,!re,oe,ae,fe,pe),ip(a,x,b,-1,!re,oe,ae,fe,pe);else if(0ye;x+=te)ip(a,x,b,1,!re,oe,ae,fe,pe),ip(a,x,b,-1,!re,oe,ae,fe,pe)}}function yC(a,x,b,te,re,oe,ae,fe,pe){x|=0,b|=0;var ye=N0,we=Mg;for(a.ac[x][b]=we;ye===N0&&x>oe&&xfe&&boe&&xfe&&b=Math.abs(fe-ye)&&1>=Math.abs(pe-we))a.abort=!0;else{var be=oe.x;te=oe.y,x=oe.x+oe.width;var Ie=oe.y+oe.height;be-=a.Nd,be/=a.rc,te-=a.Od,te/=a.sc,x-=a.Nd,x/=a.rc,Ie-=a.Od,Ie/=a.sc,oe=Math.max(0,Math.min(a.di,be|0)),x=Math.min(a.di,Math.max(0,x|0)),be=Math.max(0,Math.min(a.ei,te|0)),Ie=Math.min(a.ei,Math.max(0,Ie|0)),te=a.ac,fe|=0,pe|=0,ye|=0,we|=0;var ke=b===0||b===90?1:-1;if(b=b===90||b===270,te[fe][pe]===N0?(yC(a,fe,pe,ke,b,oe,x,be,Ie),yC(a,fe,pe,1,!b,oe,x,be,Ie),yC(a,fe,pe,-1,!b,oe,x,be,Ie)):yC(a,fe,pe,ke,b,fe,pe,fe,pe),te[ye][we]===N0?(k1(a,ye,we,re===0||re===90?1:-1,re===90||re===270,oe,x,be,Ie),k1(a,ye,we,1,!(re===90||re===270),oe,x,be,Ie),k1(a,ye,we,-1,!(re===90||re===270),oe,x,be,Ie)):k1(a,ye,we,ke,b,ye,we,ye,we),b=Co(),ae&&gS(a,ye,we,re,fe,pe,b))for((b[0]!==ye||b[1]!==we)&&(b.unshift(we),b.unshift(ye)),(b[b.length-2]!==fe||b[b.length-1]!==pe)&&(b.push(fe),b.push(pe)),a=Mg,re=b[b.length-2],ae=b[b.length-1],te[re][ae]=a++,oe=b.length-4;0<=oe;oe-=2)for(re=b[oe+2],ae=b[oe+3],x=b[oe],ye=b[oe+1];x>re?re++:xae?ae++:yere)we--;else break;else if(be>oe)be--;else break;var Ie=fe[we][be];if(Ie===0||Ie===H1)break;pe=we,ye=be}for(;;){if(we=te,be=pe,Ie=ye,te===0?Ieoe&&(we=270,Ie--):te===90?bere&&(we=180,be--):te===180?Ieoe&&(we=270,Ie--):bere&&(we=180,be--),be=fe[be][Ie],we!==te&&be!==0&&be!==H1){if(ae.push(pe),ae.push(ye),gS(a,pe,ye,we,re,oe,ae))return!0;ae.pop(),ae.pop()}if(fe[pe][ye]=H1,te===0){if(pe===x)return!1;pe--}else if(te===90){if(ye===b)return!1;ye--}else if(te===180){if(pe===x)return!1;pe++}else{if(ye===b)return!1;ye++}}}wn.Object.defineProperties(fS.prototype,{bounds:{get:function(){return new Lt(this.Nd,this.Od,this.En-this.Nd,this.Fn-this.Od)}},Ho:{get:function(){return this.rc},set:function(a){0=b?180:0}switch(a=180*Math.atan2(a.height,a.width)/Math.PI,x){case 3:return b>a&&b<=180+a?180:270;case 5:return b>180-a&&b<=360-a?270:0;case 12:return b>a&&b<=180+a?90:0;case 10:return b>180-a&&b<=360-a?180:90;case 7:return 90180+a&&b<=360-a?270:0;case 13:return 180a&&180>=b?90:0;case 14:return b>a&&b<=180-a?90:b>180-a&&270>=b?180:0;case 11:return b>180-a&&b<=180+a?180:b>180+a?270:90}return te&&x!==15&&(b-=15,0>b&&(b+=360)),b>a&&b<180-a?90:b>=180-a&&b<=180+a?180:b>180+a&&b<360-a?270:0}I0.prototype.Sl=function(){this.pe.length=0};function U1(a,x){var b=a.pe;if(b.length===0){e:if(!a.ap){b=a.ap,a.ap=!0;var te=null,re=a.node,oe=re instanceof kr?re:null;if(oe===null||oe.isSubGraphExpanded)var ae=re.isTreeExpanded?re.findLinksConnected(a.port.portId):re.qx();else{if(!oe.actualBounds.w()){a.ap=b;break e}te=oe,ae=te.Lu()}oe=a.pe.length=0;var fe=a.port.ga(Fo,dt.alloc()),pe=a.port.ga(or,dt.alloc());for(re=Lt.allocAt(fe.x,fe.y,0,0),re.Ye(pe),dt.free(fe),dt.free(pe),fe=dt.allocAt(re.x+re.width/2,re.y+re.height/2),pe=a.port.li(),ae=ae.iterator;ae.next();){var ye=ae.value;if(ye.isVisible()&&ye.fromPort!==ye.toPort){var we=ye.fromPort===a.port||ye.fromNode!==null&&ye.fromNode.Td(te),be=ye.computeSpot(we,a.port);if(be.$c()&&(we=we?ye.toPort:ye.fromPort,we!==null)){var Ie=we.part;if(Ie!==null){var ke=Ie.findVisibleNode();ke!==null&&ke!==Ie&&(Ie=ke,we=Ie.port),we=ye.computeOtherPoint(Ie,we),Ie=fe.ab(we),Ie-=pe,0>Ie?Ie+=360:360<=Ie&&(Ie-=360),be=_M(re,be,Ie,ye.isOrthogonal),be===0?(be=4,180Ie&&(Ie+=360)),ke=a.pe[oe],ke===void 0?(ke=new V1(ye,Ie,be),a.pe[oe]=ke):(ke.link=ye,ke.angle=Ie,ke.Nc=be),ke.hv.set(we),oe++}}}}for(dt.free(fe),a.pe.sort(I0.prototype.j),pe=a.pe.length,te=-1,oe=fe=0;oeMath.abs(Ge)?(gt=Math.abs(Ge)/Ie,Ie=Math.abs(Ge)):gt=1;break;case 2:ke>Math.abs(mt)?(gt=Math.abs(mt)/ke,ke=Math.abs(mt)):gt=1;break;case 1:be>Math.abs(Ge)?(gt=Math.abs(Ge)/be,be=Math.abs(Ge)):gt=1;break;default:case 4:we>Math.abs(mt)?(gt=Math.abs(mt)/we,we=Math.abs(mt)):gt=1}tt=0}var Zt=yt.Zo;if(te===aC){switch(yt=yt.link.computeThickness(),yt*=gt,Zt.set(Ct),ze){case 8:Zt.x=Ct.x+Ge/2+Ie/2-tt-yt/2;break;case 2:Zt.y=Ct.y+mt/2+ke/2-tt-yt/2;break;case 1:Zt.x=Ct.x+Ge/2-be/2+tt+yt/2;break;default:case 4:Zt.y=Ct.y+mt/2-we/2+tt+yt/2}tt+=yt}else{var Qn=.5;te===Yy&&(Qn=(yt.Uo+1)/(yt.Gl+1)),Zt.x=Ct.x+Ge*Qn,Zt.y=Ct.y+mt*Qn}}}for(dt.free(fe),dt.free(pe),dt.free(ae),dt.free(ye),Ct=a.pe,oe=0;oex.Nc?1:a.anglex.angle?1:0},I0.prototype.computeEndSegmentLength=function(a){var x=a.link,b=x.computeEndSegmentLength(this.node,this.port,bo,x.fromPort===this.port),te=a.Uo;if(0>te)return b;var re=a.Gl;if(1>=re||!x.isOrthogonal)return b;x=a.hv;var oe=a.Zo;return(a.Nc===2||a.Nc===8)&&(te=re-1-te),((a=a.Nc===2||a.Nc===4)?x.y=x-1?(oe=0,te=b,re+=ae+20,ae=0):oe++}},Fa.prototype.doMinimalNetworkLayout=function(){var a=Math.ceil(Math.sqrt(this.network.vertexes.count));this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);for(var x=this.arrangementOrigin.x,b=x,te=this.arrangementOrigin.y,re=0,oe=0,ae=this.network.vertexes.iterator;ae.next();){var fe=ae.value.node;if(!(fe===null||fe instanceof jn)&&(jv(fe),this.rh(fe))){var pe=fe.measuredBounds,ye=pe.width;pe=pe.height,fe.moveTo(b,te),fe instanceof kr&&(fe.rh=!1),b+=Math.max(ye,50)+20,oe=Math.max(oe,Math.max(pe,50)),re>=a-1?(re=0,b=x,te+=oe+20,oe=0):re++}}},Fa.prototype.rh=function(a){return!!(!a.location.w()||a instanceof kr&&a.rh)};function R0(a,x,b,te,re,oe,ae,fe){for(b=b.iterator;b.next();){var pe=b.value;te&&!pe.isTopLevel||re!==null&&!re(pe)||!pe.canLayout()||(oe&&pe instanceof fi?pe.isLinkLabel||(pe instanceof kr&&pe.layout===null?R0(a,x,pe.memberParts,!1,re,oe,ae,fe):(jv(pe),x.add(pe))):ae&&pe instanceof jn?x.add(pe):!fe||!pe.Zc()||pe instanceof fi||(jv(pe),x.add(pe)))}}function jv(a){var x=a.actualBounds;(x.width===0||x.height===0||isNaN(x.width)||isNaN(x.height))&&a.Va()}Fa.prototype.ni=function(a,x){var b=this.boundsComputation;return b!==null?(x||(x=new Lt),b(a,this,x)):x?(x.set(a.actualBounds),x):a.actualBounds},Fa.prototype.ex=function(a){var x=new ei;return a instanceof Yt?(R0(this,x,a.nodes,!0,null,!0,!0,!0),R0(this,x,a.links,!0,null,!0,!0,!0),R0(this,x,a.parts,!0,null,!0,!0,!0)):a instanceof kr?R0(this,x,a.memberParts,!1,null,!0,!0,!0):R0(this,x,a.iterator,!1,null,!0,!0,!0),x},Fa.prototype.initialOrigin=function(a){var x=this.group;if(x!==null){var b=x.position.copy();return(isNaN(b.x)||isNaN(b.y))&&b.set(a),x=x.placeholder,x!==null&&(b=x.ga(Fo),(isNaN(b.x)||isNaN(b.y))&&b.set(a),a=x.padding,b.x+=a.left,b.y+=a.top),b}return a},wn.Object.defineProperties(Fa.prototype,{diagram:{get:function(){return this.H},set:function(a){this.H=a}},group:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a,a!==null&&(this.H=a.diagram))}},isOngoing:{get:function(){return this.sn},set:function(a){this.sn!==a&&(this.sn=a)}},isInitial:{get:function(){return this.Gh},set:function(a){this.Gh=a,a||(this.xn=!0)}},isViewportSized:{get:function(){return this.yn},set:function(a){this.yn!==a&&(this.yn=a)&&this.C()}},isRouting:{get:function(){return this.vn},set:function(a){this.vn!==a&&(this.vn=a)}},isRealtime:{get:function(){return this.un},set:function(a){this.un!==a&&(this.un=a)}},isValidLayout:{get:function(){return this.xn},set:function(a){this.xn!==a&&(this.xn=a,a||(a=this.diagram,a!==null&&(a.xh=!0)))}},network:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a,a!==null&&(a.layout=this))}},boundsComputation:{get:function(){return this.Em},set:function(a){this.Em!==a&&(this.Em=a,this.C())}},arrangementOrigin:{get:function(){return this.Am},set:function(a){this.Am.D(a)||(this.Am.assign(a),this.C())}}}),Fa.prototype.collectParts=Fa.prototype.ex,Fa.prototype.getLayoutBounds=Fa.prototype.ni,Fa.prototype.invalidateLayout=Fa.prototype.C,Fa.className="Layout";function oa(a){el(this),this.Sc=a,this.wf=new ei,this.ye=new ei,this.Es=new Sr,this.zs=new Sr}oa.prototype.clear=function(){if(this.wf)for(var a=this.wf.iterator;a.next();)a.value.clear();if(this.ye)for(a=this.ye.iterator;a.next();)a.value.clear();this.wf=new ei,this.ye=new ei,this.Es=new Sr,this.zs=new Sr},oa.prototype.toString=function(a){a===void 0&&(a=0);var x="LayoutNetwork"+(this.layout!==null?"("+this.layout.toString()+")":"");if(0>=a)return x;if(x+=" vertexes: "+this.wf.count+" edges: "+this.ye.count,1x?1:0):1:x!==null?-1:0}wn.Object.defineProperties(Kl.prototype,{sourceEdgesArrayAccess:{get:function(){return this.tg._dataArray}},destinationEdgesArrayAccess:{get:function(){return this.mg._dataArray}},data:{get:function(){return this.ub},set:function(a){if(this.ub=a,a!==null&&a.bounds){var x=a.bounds;a=x.x;var b=x.y,te=x.width;x=x.height,this.o.h(te/2,x/2),this.j.h(a,b,te,x)}}},node:{get:function(){return this.Sh},set:function(a){if(this.Sh!==a){this.Sh=a,a.Va();var x=this.network.layout,b=Lt.alloc(),te=x.ni(a,b);x=te.x;var re=te.y,oe=te.width;if(te=te.height,isNaN(x)&&(x=0),isNaN(re)&&(re=0),this.j.h(x,re,oe,te),Lt.free(b),!(a instanceof kr)&&(a=a.locationObject.ga(nr),a.w())){this.o.h(a.x-x,a.y-re);return}this.o.h(oe/2,te/2)}}},bounds:{get:function(){return this.j},set:function(a){this.j.D(a)||this.j.assign(a)}},focus:{get:function(){return this.o},set:function(a){this.o.D(a)||this.o.assign(a)}},centerX:{get:function(){return this.j.x+this.o.x},set:function(a){var x=this.j;x.x+this.o.x!==a&&(x.ka(),x.x=a-this.o.x,x.freeze())}},centerY:{get:function(){return this.j.y+this.o.y},set:function(a){var x=this.j;x.y+this.o.y!==a&&(x.ka(),x.y=a-this.o.y,x.freeze())}},focusX:{get:function(){return this.o.x},set:function(a){var x=this.o;x.x!==a&&(x.ka(),x.x=a,x.freeze())}},focusY:{get:function(){return this.o.y},set:function(a){var x=this.o;x.y!==a&&(x.ka(),x.y=a,x.freeze())}},x:{get:function(){return this.j.x},set:function(a){var x=this.j;x.x!==a&&(x.ka(),x.x=a,x.freeze())}},y:{get:function(){return this.j.y},set:function(a){var x=this.j;x.y!==a&&(x.ka(),x.y=a,x.freeze())}},width:{get:function(){return this.j.width},set:function(a){var x=this.j;x.width!==a&&(x.ka(),x.width=a,x.freeze())}},height:{get:function(){return this.j.height},set:function(a){var x=this.j;x.height!==a&&(x.ka(),x.height=a,x.freeze())}},network:{get:function(){return this.ob},set:function(a){this.ob=a}},sourceVertexes:{get:function(){for(var a=new ei,x=this.sourceEdges;x.next();)a.add(x.value.fromVertex);return a.iterator}},destinationVertexes:{get:function(){for(var a=new ei,x=this.destinationEdges;x.next();)a.add(x.value.toVertex);return a.iterator}},vertexes:{get:function(){for(var a=new ei,x=this.sourceEdges;x.next();)a.add(x.value.fromVertex);for(x=this.destinationEdges;x.next();)a.add(x.value.toVertex);return a.iterator}},sourceEdges:{get:function(){return this.tg.iterator}},destinationEdges:{get:function(){return this.mg.iterator}},edges:{get:function(){for(var a=new $n,x=this.sourceEdges;x.next();)a.add(x.value);for(x=this.destinationEdges;x.next();)a.add(x.value);return a.iterator}},edgesCount:{get:function(){return this.tg.count+this.mg.count}}}),Kl.prototype.deleteDestinationEdge=Kl.prototype.Jl,Kl.prototype.addDestinationEdge=Kl.prototype.zl,Kl.prototype.deleteSourceEdge=Kl.prototype.Kl,Kl.prototype.addSourceEdge=Kl.prototype.Cl,Kl.className="LayoutVertex",Kl.standardComparer=mS,Kl.smartComparer=function(a,x){if(a!==null){if(x!==null){a=a.Sh;var b=x.Sh;if(a!==null){if(b!==null){for(x=a.text.toLocaleLowerCase().split(/([+-]?[.]?\d+(?:\.\d*)?(?:e[+-]?\d+)?)/),a=b.text.toLocaleLowerCase().split(/([+-]?[.]?\d+(?:\.\d*)?(?:e[+-]?\d+)?)/),b=0;b "+(this.qd?this.qd.toString():"null"))),x},ch.prototype.gm=function(){var a=this.kd;this.kd=this.qd,this.qd=a},ch.prototype.commit=function(){},ch.prototype.Ax=function(a){return this.qd===a?this.kd:this.kd===a?this.qd:null},wn.Object.defineProperties(ch.prototype,{network:{get:function(){return this.nb},set:function(a){this.nb=a}},data:{get:function(){return this.ub},set:function(a){this.ub!==a&&(this.ub=a)}},link:{get:function(){return this.$k},set:function(a){this.$k!==a&&(this.$k=a)}},fromVertex:{get:function(){return this.kd},set:function(a){this.kd!==a&&(this.kd=a)}},toVertex:{get:function(){return this.qd},set:function(a){this.qd!==a&&(this.qd=a)}}}),ch.prototype.getOtherVertex=ch.prototype.Ax,ch.className="LayoutEdge";function pu(a){Fa.call(this),this.isViewportSized=!0,this.yo=this.zo=NaN,this.yg=new pt(NaN,NaN).freeze(),this.tf=new pt(10,10).freeze(),this.Jb=wC,this.Rb=Ub,this.nd=SC,this.hd=$M,a&&Object.assign(this,a)}_t(pu,Fa),pu.prototype.cloneProtected=function(a){Fa.prototype.cloneProtected.call(this,a),a.zo=this.zo,a.yo=this.yo,a.yg.assign(this.yg),a.tf.assign(this.tf),a.Jb=this.Jb,a.Rb=this.Rb,a.nd=this.nd,a.hd=this.hd},pu.prototype.qb=function(a){a.classType===pu?a===SC||a===Wb||a===Vb||a===Xb?this.sorting=a:a===Ub||a===tg?this.arrangement=a:a===wC||a===vS?this.alignment=a:tn("Unknown enum value: "+a):Fa.prototype.qb.call(this,a)},pu.prototype.doLayout=function(a){this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);var x=this.ex(a);a=this.diagram;for(var b=x.copy().iterator;b.next();){var te=b.value;if(!te.ph()||te.fromNode===null&&te.toNode===null){if(te.Va(),te instanceof kr)for(te=te.memberParts;te.next();)x.remove(te.value)}else x.remove(te)}var re=x.Fa();if(re.length!==0){switch(this.sorting){case Xb:re.reverse();break;case SC:re.sort(this.comparer);break;case Wb:re.sort(this.comparer),re.reverse()}var oe=this.wrappingColumn;isNaN(oe)&&(oe=0);var ae=this.wrappingWidth;switch(isNaN(ae)&&a!==null?(x=a.padding,ae=Math.max(a.viewportBounds.width-x.left-x.right,0)):ae=Math.max(this.wrappingWidth,0),0>=oe&&0>=ae&&(oe=1),x=this.spacing.width,isFinite(x)||(x=0),b=this.spacing.height,isFinite(b)||(b=0),a!==null&&a.Ea("Layout"),te=[],this.alignment){case vS:var fe=x,pe=b,ye=Lt.alloc(),we=Math.max(this.cellSize.width,1);if(!isFinite(we))for(var be=we=0;beoe-1||0ae)&&(te.push(new Lt(0,Ge,ae+fe,tt)),st=0,ze=ke,Ge+=tt,tt=0),tt=Math.max(tt,Zt),Ie){case tg:yt=-yt.width;break;default:yt=0}switch(mt.moveTo(ze+yt,Ge),Ie){case tg:ze-=Ct;break;default:ze+=Ct}st++}te.push(new Lt(0,Ge,ae+fe,tt)),Lt.free(ye);break;case wC:for(pe=ae,we=oe,be=x,Ie=b,ae=Lt.alloc(),ke=Math.max(this.cellSize.width,1),oe=Ge=ye=0,fe=dt.alloc(),ze=0;ze=ye&&(pe-=ye),ye=mt=0,Ct=Math.max(this.cellSize.height,1),yt=oe=0,Zt=!0,st=dt.alloc(),Qn=0;Qnwe-1||0pe){for(te.push(new Lt(0,Zt?gt-oe:gt,pe+be,yt+oe+Ie)),Bi=0;Biye&&(oe.width+=oe.x-ye,oe.x=ye);Lt.free(ae)}for(fe=oe=ae=re=0;fex?1:0}wn.Object.defineProperties(pu.prototype,{wrappingWidth:{get:function(){return this.zo},set:function(a){this.zo!==a&&(0be)){var Ge=be+ix(ze);ze.pc(Ge,!0),zy(ze,Ge,be)}}x.isModified=!0}}finally{x.aa=!0}}}}},Wo.prototype.updateAllTargetBindings=function(a){a===void 0&&(a="");for(var x=this.parts.iterator;x.next();)x.value.La(a);for(x=this.nodes.iterator;x.next();)x.value.La(a);for(x=this.links.iterator;x.next();)x.value.La(a)},Wo.prototype.rp=function(){for(var a=this.H.model,x=new ei,b=a.nodeDataArray,te=0;tete.indexOf(a.newValue)&&te.splice(b,0,a.newValue));return}}else if(a.change===Ol){if(b=a.oldParam,a.modelChange==="linkDataArray"){a=a.oldValue,qn(a)&&typeof b=="number"&&(te=this.Ac(a),x?(this.$f.add(a),this.md[b]!==a&&this.md.splice(b,0,a),te!==void 0&&this.wb.add(te,a)):(this.$f.remove(a),this.md[b]===a&&this.md.splice(b,1),te!==void 0&&this.wb.remove(te)));return}if(a.modelChange==="linkLabelKeys"){te=this.Ef(a.object),Array.isArray(te)&&typeof b=="number"&&(x?0>te.indexOf(a.newValue)&&te.splice(b,0,a.newValue):(b=te.indexOf(a.newValue),0<=b&&te.splice(b,1)));return}}Vi.prototype.changeState.call(this,a,x)}},Ve=Do.prototype,Ve.Vl=function(a){if(a!==void 0){var x=this.Ri;if(x!==null){var b=this.hc(a);b===null&&(b=this.copyNodeData(x),ya(b,this.nodeKeyProperty,a),this.xf(b))}return a}},Ve.yx=function(a){return Ld(this,a,!0)},Ve.wv=function(a,x){Q1(this,a,x,!0)},Ve.Bx=function(a){return Ld(this,a,!1)},Ve.Bv=function(a,x){Q1(this,a,x,!1)};function Ld(a,x,b){if(x!==null&&(a=b?a.lf:a.mf,a!==""&&(a=Sl(x,a),a!==void 0))){if(rp(a))return a;tn((b?"FromKey":"ToKey")+" value for link data "+x+" is not a number or a string: "+a)}}function Q1(a,x,b,te){if(b===null&&(b=void 0),x!==null){var re=te?a.lf:a.mf;if(re!=="")if(b=a.Vl(b),a.Jc(x)){var oe=Sl(x,re);oe!==b&&(Bg(a,oe,x),ya(x,re,b),a.hc(b)===null&&ng(a,b,x),Jl(a,te?"linkFromKey":"linkToKey",Sa,re,x,oe,b),typeof re=="string"&&a.La(x,re))}else ya(x,re,b)}}Ve.zx=function(a){return DC(this,a,!0)},Ve.xv=function(a,x){Y1(this,a,x,!0)},Ve.Cx=function(a){return DC(this,a,!1)},Ve.Cv=function(a,x){Y1(this,a,x,!1)};function DC(a,x,b){return x===null||(a=b?a.ej:a.fj,a==="")?"":(x=Sl(x,a),x===void 0?"":x)}function Y1(a,x,b,te){if(x!==null){var re=te?a.ej:a.fj;if(re!=="")if(a.Jc(x)){var oe=Sl(x,re);oe===void 0&&(oe=""),oe!==b&&(ya(x,re,b),Jl(a,te?"linkFromPortId":"linkToPortId",Sa,re,x,oe,b),typeof re=="string"&&a.La(x,re))}else ya(x,re,b)}}Ve.Ef=function(a){if(a===null)return PS;var x=this.je;return x===""?PS:(a=Sl(a,x),a===void 0?PS:a)},Ve.Ls=function(a,x){if(a!==null){var b=this.je;if(b!=="")if(this.Jc(a)){var te=Sl(a,b);if(te===void 0&&(te=PS),te!==x){if(Array.isArray(te))for(var re=te.length,oe=0;oere||(te.splice(re,1),this.Jc(a)&&(Bg(this,x,a),Jl(this,"linkLabelKeys",Ol,b,a,x,null,re,null)))}else te!==void 0&&tn(b+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}},Ve.Ac=function(a){if(a!==null){var x=this.Jh;if(x!==""&&(x=Sl(a,x),x!==void 0)){if(rp(x))return x;tn("Key value for link data "+a+" is not a number or a string: "+x)}}},Ve.Ks=function(a,x){if(a!==null){var b=this.Jh;if(b!=="")if(this.Jc(a)){var te=Sl(a,b);te!==x&&this.jh(x)===null&&(ya(a,b,x),te!==void 0&&this.wb.remove(te),this.wb.add(x,a),Jl(this,"linkKey",Sa,b,a,te,x),typeof b=="string"&&this.La(a,b))}else ya(a,b,x)}},Ve.jh=function(a){return a===null&&tn("GraphLinksModel.findLinkDataForKey:key must not be null"),a!==void 0&&rp(a)?this.wb.I(a):null},Ve.Bs=function(a){if(a!==null){var x=this.Jh;if(x!==""){var b=this.Ac(a);if(b===void 0||this.wb.contains(b)){var te=this.cl;if(te!==null&&(b=te(this,a),b!=null&&!this.wb.contains(b))){ya(a,x,b);return}if(typeof b=="string"){for(te=2;this.wb.contains(b+te);)te++;ya(a,x,b+te)}else if(b===void 0||typeof b=="number"){for(b=-this.wb.count-1;this.wb.contains(b);)b--;ya(a,x,b)}}}}},Ve.Jc=function(a){return a===null?!1:this.$f.contains(a)},Ve.fi=function(a){a!==null&&(Dc(a),this.Jc(a)||s5(this,a,!0))};function s5(a,x,b){if(a.linkKeyProperty!==""){var te=a.Ac(x);if(te!==void 0&&a.wb.I(te)===x)return;a.Bs(x),te=a.Ac(x),te===void 0&&tn("GraphLinksModel.makeLinkDataKeyUnique failed on "+x+". Data not added to model."),a.wb.add(te,x)}a.$f.add(x),te=null,b&&(te=a.md.length,a.md.splice(te,0,x)),Jl(a,"linkDataArray",Xa,"linkDataArray",a,null,x,null,te),SS(a,x)}Ve.Ey=function(a){if(Array.isArray(a))for(var x=a.length,b=0;bte)return;a.md.splice(te,1)}if(Jl(a,"linkDataArray",Ol,"linkDataArray",a,x,null,te,null),b=Ld(a,x,!0),Bg(a,b,x),b=Ld(a,x,!1),Bg(a,b,x),te=a.Ef(x),Array.isArray(te))for(var re=te.length,oe=0;oe=a.count)a.count===1&&(a=a.first(),a.centerX=0,a.centerY=0);else{var x=new $n;x.addAll(a.iterator),a=new $n;var b=new $n,te=this.sort(x),re,oe,ae=this.Jp,fe=this.arrangement,pe=this.nodeDiameterFormula,ye=this.radius;(!isFinite(ye)||0>=ye)&&(ye=NaN);var we=this.aspectRatio;(!isFinite(we)||0>=we)&&(we=1);var be=this.startAngle;isFinite(be)||(be=0);var Ie=this.sweepAngle;if((!isFinite(Ie)||360Ie)&&(Ie=360),x=this.spacing,isFinite(x)||(x=NaN),fe===Rf&&pe===Px?fe=ig:fe===Rf&&pe!==Px&&(fe=this.arrangement),(this.direction===tA||this.direction===J1)&&this.sorting!==nA){for(pe=0;!(pe>=te.length)&&(a.add(te.M(pe)),!(pe+1>=te.length));pe+=2)b.add(te.M(pe+1));this.direction===tA?(this.arrangement===Rf&&a.reverse(),te=new $n,te.addAll(a),te.addAll(b)):(this.arrangement===Rf&&b.reverse(),te=new $n,te.addAll(b),te.addAll(a))}pe=te.length;for(var ke=oe=re=0;keIe&&(ke===0||ke===te.length-1)&&(Ge/=2),re+=Ge,oe++}if(isNaN(ye)||fe===Rf){if(isNaN(x)&&(x=6),fe!==ig&&fe!==Rf){for(oe=-1/0,ae=0;aeye?(ye=re,oe=ye*we):ae=ke/(360<=Ie?pe:pe-1)}if(this.kw=fe,this.lc=ye,this.Zm=we,this.lw=be,this.Wp=Ie,this.Ti=x,this.me=oe,this.Jp=ae,x=te,te=this.kw,fe=this.lc,ye=this.lw,we=this.Wp,be=this.Ti,Ie=this.me,pe=this.Jp,this.direction!==tA&&this.direction!==J1||te!==Rf)if(this.direction===tA||this.direction===J1){switch(ae=0,te){case Wv:ae=180*eA(this,fe,Ie,ye,pe)/Math.PI;break;case ig:pe=x=0,ae=a.first(),ae!==null&&(x=Sm(ae,Math.PI/2)),ae=b.first(),ae!==null&&(pe=Sm(ae,Math.PI/2)),ae=180*eA(this,fe,Ie,ye,be+(x+pe)/2)/Math.PI;break;case ud:ae=we/x.length}if(this.direction===tA){switch(te){case Wv:Z1(this,a,ye,wm);break;case ig:O0(this,a,ye,wm);break;case ud:Ku(this,a,we/2,ye,wm)}switch(te){case Wv:Z1(this,b,ye+ae,Hc);break;case ig:O0(this,b,ye+ae,Hc);break;case ud:Ku(this,b,we/2,ye+ae,Hc)}}else{switch(te){case Wv:Z1(this,b,ye,wm);break;case ig:O0(this,b,ye,wm);break;case ud:Ku(this,b,we/2,ye,wm)}switch(te){case Wv:Z1(this,a,ye+ae,Hc);break;case ig:O0(this,a,ye+ae,Hc);break;case ud:Ku(this,a,we/2,ye+ae,Hc)}}}else switch(te){case Wv:Z1(this,x,ye,this.direction);break;case ig:O0(this,x,ye,this.direction);break;case ud:Ku(this,x,we,ye,this.direction);break;case Rf:CS(this,x,we,ye,this.direction)}else CS(this,x,we,ye-we/2,Hc)}this.updateParts(),this.network=null,this.isValidLayout=!0};function Ku(a,x,b,te,re){var oe=a.Wp,ae=a.lc;a=a.me,te=te*Math.PI/180,b=b*Math.PI/180;for(var fe=x.length,pe=0;peb){for(oe=te+(re===Hc?oe:-oe);0>oe;)oe+=360;oe%=360,180=we.length-1));be++)K1(a,pe,ye,we,be,re,oe)||c5(a,pe,ye,we,be,re,oe),pe=oe.x,ye=oe.y;if(dt.free(oe),a.mj++,!(23Math.abs(ke)?Math.abs(pe-oe)<(we[0].width+we[we.length-1].width)/2&&(ae=0):ae=0Math.abs(Ie)?0:Ie,pe=Math.abs(oe)>Math.abs(be)?0be:0a.mj?a.lc-ae/(2*Math.PI):5>we.length&&10=be.length-1));Ie++)K1(a,pe,ye,be,Ie,re,we)||c5(a,pe,ye,be,Ie,re,we),pe=we.x,ye=we.y;if(dt.free(we),a.mj++,!(23a.mj?a.lc-oe/(2*Math.PI):a.lc-(0fe){if(oe=x-a,oe<-fe)return ae.x=oe,ae.y=ye,!1;we=!0}}else if(oe=x-a,oe<-fe){if(oe=x+a,oe>fe)return ae.x=oe,ae.y=ye,!1;we=!0}return ye=Math.sqrt(1-Math.min(1,oe*oe/(fe*fe)))*pe,0>b!==we&&(ye=-ye),Math.abs(b-ye)>(te[re].height+te[re+1].height)/2?(ae.x=oe,ae.y=ye,!1):(ae.x=oe,ae.y=ye,!0)}function c5(a,x,b,te,re,oe,ae){var fe=a.lc,pe=a.me,ye=0;if(a=(te[re].height+te[re+1].height)/2+a.Ti,te=!1,0<=x!=(oe===Hc)){if(oe=b-a,oe<-pe){if(oe=b+a,oe>pe){ae.x=ye,ae.y=oe;return}te=!0}}else if(oe=b+a,oe>pe){if(oe=b-a,oe<-pe){ae.x=ye,ae.y=oe;return}te=!0}ye=Math.sqrt(1-Math.min(1,oe*oe/(pe*pe)))*fe,0>x!==te&&(ye=-ye),ae.x=ye,ae.y=oe}nl.prototype.commitLayout=function(){this.commitNodes(),this.isRouting&&this.commitLinks()},nl.prototype.commitNodes=function(){var a=this.group!==null&&this.group.placeholder!==null&&this.group.isSubGraphExpanded,x=a?this.group.location.copy():null,b=this.actualCenter;a?b=new dt(0,0):(b.x=this.arrangementOrigin.x+this.lc,b.y=this.arrangementOrigin.y+this.me);for(var te=this.network.vertexes.iterator;te.next();){var re=te.value;re.x+=b.x,re.y+=b.y,re.commit()}a&&(this.group.Va(),a=this.group.position.copy(),b=this.group.location.copy(),x=x.re(b.re(a)),this.group.move(x),this.Zv=x.re(a))},nl.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()};function FC(a,x,b,te,re){var oe=a.ty;if(.001>Math.abs(a.Zm-1))return te!==void 0&&re!==void 0?re*x:2*Math.PI*x;a=x>b?Math.sqrt(x*x-b*b)/x:Math.sqrt(b*b-x*x)/b;for(var ae=0,fe=te!==void 0&&re!==void 0?re/(oe+1):Math.PI/(2*(oe+1)),pe=0,ye=0;ye<=oe;ye++){te!==void 0&&re!==void 0?pe=te+ye*re/oe:pe=ye*Math.PI/(2*oe);var we=Math.sin(pe);ae+=Math.sqrt(1-a*a*we*we)*fe}return te!==void 0&&re!==void 0?(x>b?x:b)*ae:4*(x>b?x:b)*ae}function bS(a,x,b,te,re){return x/(te!==void 0&&re!==void 0?FC(a,1,b,te,re):FC(a,1,b))}function eA(a,x,b,te,re){if(.001>Math.abs(a.Zm-1))return re/x;var oe=x>b?Math.sqrt(x*x-b*b)/x:Math.sqrt(b*b-x*x)/b,ae=0;a=2*Math.PI/(700*a.network.vertexes.count),x>b&&(te+=Math.PI/2);for(var fe=0;;fe++){var pe=Math.sin(te+fe*a);if(ae+=(x>b?x:b)*Math.sqrt(1-oe*oe*pe*pe)*a,ae>=re)return fe*a}}nl.prototype.sort=function(a){switch(this.sorting){case q1:break;case _1:a.reverse();break;case Sx:a.sort(this.comparer);break;case Qv:a.sort(this.comparer),a.reverse();break;case nA:return this.ak(_b(a));default:tn("Invalid sorting type.")}return a};function _b(a){for(var x=[],b=0;bre&&(re=fe,oe=ae)}else for(ae=0;aere&&(re=fe,oe=ae);for(b.add(a.M(oe)),x[oe]=-1,oe=a.M(oe),ae=oe.sourceEdges;ae.next();)re=a.indexOf(ae.value.fromVertex),0>re||0<=x[re]&&x[re]++;for(oe=oe.destinationEdges;oe.next();)re=a.indexOf(oe.value.toVertex),0>re||0<=x[re]&&x[re]++}return b}nl.prototype.ak=function(a){for(var x=[],b=0;bx[b].indexOf(re)&&x[b].push(re);for(te=te.sourceEdges;te.next();)re=a.indexOf(te.value.fromVertex),re!==b&&0>x[b].indexOf(re)&&x[b].push(re)}for(oe=[],b=0;bx[b[ze]].indexOf(b[ze===b.length-1?0:ze+1])&&ke.push(ze===b.length-1?0:ze+1);if(ke.length===0)for(ze=0;zeb.indexOf(Zt)||Ctb.indexOf(Zt)||Ct=Ge?Ct+1:Ct)),tt+=Ct=Ge&&Ct++,mt>=Ge&&mt++,Ct>mt&&(yt=mt,mt=Ct,Ct=yt),mt-Ct<(b.length+2)/2==(Ctke||ke===we||(ze=ke>we?ke-we:we-ke,be+=keae-ze?1:-1);b.splice(0>be?we:we+1,0,pe),te.splice(fe,1),fe--}else oe=!1;if(oe)break;b.push(te[0]),te.splice(0,1)}for(x=0;x=a?this.ul=a:this.ul=360,this.C())}},arrangement:{get:function(){return this.Rb},set:function(a){this.Rb===a||a!==Rf&&a!==ig&&a!==Wv&&a!==ud||(this.Rb=a,this.C())}},direction:{get:function(){return this.K},set:function(a){this.K===a||a!==Hc&&a!==wm&&a!==tA&&a!==J1||(this.K=a,this.C())}},sorting:{get:function(){return this.nd},set:function(a){this.nd===a||a!==q1&&a!==_1&&a!==Sx&&!Qv&&a!==nA||(this.nd=a,this.C())}},comparer:{get:function(){return this.hd},set:function(a){this.hd!==a&&(this.hd=a,this.C())}},spacing:{get:function(){return this.tf},set:function(a){this.tf!==a&&(this.tf=a,this.C())}},nodeDiameterFormula:{get:function(){return this.Nn},set:function(a){this.Nn===a||a!==$1&&a!==Px||(this.Nn=a,this.C())}},actualXRadius:{get:function(){return this.lc}},actualYRadius:{get:function(){return this.me}},actualSpacing:{get:function(){return this.Ti}},actualCenter:{get:function(){return this.Zv}}});var ig=new un(nl,"ConstantSpacing",0),Wv=new un(nl,"ConstantDistance",1),ud=new un(nl,"ConstantAngle",2),Rf=new un(nl,"Packed",3),Hc=new un(nl,"Clockwise",4),wm=new un(nl,"Counterclockwise",5),tA=new un(nl,"BidirectionalLeft",6),J1=new un(nl,"BidirectionalRight",7),q1=new un(nl,"Forwards",8),_1=new un(nl,"Reverse",9),Sx=new un(nl,"Ascending",10),Qv=new un(nl,"Descending",11),nA=new un(nl,"Optimized",12),$1=new un(nl,"Pythagorean",13),Px=new un(nl,"Circular",14);nl.className="CircularLayout",nl.ConstantSpacing=ig,nl.ConstantDistance=Wv,nl.ConstantAngle=ud,nl.Packed=Rf,nl.Clockwise=Hc,nl.Counterclockwise=wm,nl.BidirectionalLeft=tA,nl.BidirectionalRight=J1,nl.Forwards=q1,nl.Reverse=_1,nl.Ascending=Sx,nl.Descending=Qv,nl.Optimized=nA,nl.Pythagorean=$1,nl.Circular=Px;function rg(){this.Pl=-1/0,this.tm=this.mk=null}rg.prototype.compare=function(a,x){if(0this.Pl||Math.abs(a)a&&0fe?(re=Ie.x+Ie.width/2,oe=Ie.y+Ie.height/2,ye[0]=new dt(Ie.x+Ie.width+te.width,Ie.y),ye[1]=new dt(Ie.x,Ie.y+Ie.height+te.height),fe=2):(pe=t2(ye,fe,re,oe,Ie.width,Ie.height,te),be=ye[pe],ke=new dt(be.x+Ie.width+te.width,be.y),Ie=new dt(be.x,be.y+Ie.height+te.height),pe+1this.network.vertexes.count)return!1;for(var a=0,x=0,b=this.network.vertexes.first().bounds,te=this.network.vertexes.iterator;te.next();){if(te.value.bounds.Yc(b)&&(a++,2a.network.vertexes.count)return!1;for(a.ah=a.network.vertexes.Fa(),a=a.ah,a.sort(function(b,te){return b===null||te===null||b===te?0:te.Vd-b.Vd}),x=a.length-1;0<=x&&1>=a[x].Vd;)x--;return 1=ae))){for(var ye=fe=0,we=pe.count-ae;weke&&(ke=1),fe=Dt.sqrt((fe+ke+ye*ye*4/(ae*ae))/ke),ae=(fe-1)*we/2,fe=(fe-1)*be/2,re.bounds=new Lt(oe-Ie.x-ae,pe-Ie.y-fe,we+2*ae,be+2*fe),re.focus=new dt(Ie.x+ae,Ie.y+fe)}}return a.network=te,b}function DT(a,x){for(var b=a.network.vertexes.iterator;b.next();){var te=b.value;if(te.network=x,te.We!==null){var re=te.We.M(te.sv);te.Vd=re.Rs;var oe=re.Sv,ae=re.Tv;te.bounds=new Lt(te.centerX-oe,te.centerY-ae,re.Ss,re.Qs),te.focus=new dt(oe,ae),te.sv--}}for(b=a.network.edges.iterator;b.next();)b.value.network=x;a.network=x}function e2(a,x){var b=x.Hj;if(b!==null&&b.count!==0){var te=x.centerX,re=x.centerY,oe=x.width,ae=x.height;x.We!==null&&0=be.Vd?pe++:(fe=!0,ye++,ae+=Math.atan2(x.centerY-be.centerY,x.centerX-be.centerX))}if(pe!==0){for(0>1)+ye)*(fe%2===0?1:-1),pe.centerX=te+we*Math.cos(be),pe.centerY=re+we*Math.sin(be),fe++}}}}function t2(a,x,b,te,re,oe,ae){var fe=9e19,pe=-1,ye=0;e:for(;yewe.y&&a[Ie].x-we.xwe.x&&a[Ie].y-we.yx+oe?(b=te+re-ae,a=a-x-oe,Dt.sqrt(b*b+a*a)):a+bae+fe?a>x+oe?(b=te-ae-fe,a=a-x-oe,Dt.sqrt(b*b+a*a)):a+bx+oe?a-(x+oe):a+b=x.length)return!1;var b=x[0];b.forceX=0,b.forceY=0;for(var te=b.centerX,re=te,oe=b=b.centerY,ae=1;aeoe-b)?x.sort(function(Ge,st){return Ge===null||st===null||Ge===st?0:Ge.centerX-st.centerX}):x.sort(function(Ge,st){return Ge===null||st===null||Ge===st?0:Ge.centerY-st.centerY}),b=a.Zf;var ye=te=fe=0;for(oe=0;oeb||ye-pe>b){if(re)break}else if(we-ke>b||ke-we>b){if(!re)break}else{var ze=LC(ae,Ie);1>ze?(te=a.randomNumberGenerator,te===null&&(a.randomNumberGenerator=te=new nw),ze=te.random(),fe=te.random(),pe>ye?(te=Math.abs(Ie.bounds.right-ae.bounds.x),te=(1+te)*ze):peke?(ye=Math.abs(Ie.bounds.bottom-ae.bounds.y),ye=(1+ye)*fe):pebe?(be=a.randomNumberGenerator,be===null&&(a.randomNumberGenerator=be=new nw),fe=be.random(),be=be.random(),te=(te>pe?1:-1)*(1+(oe.width>b.width?oe.width:b.width))*fe,ye=(ae>we?1:-1)*(1+(oe.height>b.height?oe.height:b.height))*be):(fe=fe.stiffness*(be-fe.length),te=(pe-te)/be*fe,ye=(we-ae)/be*fe),b.forceX+=te,b.forceY+=ye,oe.forceX-=te,oe.forceY-=ye;for(re=te=0;rea.epsilonDistance*a.epsilonDistance}sc.prototype.moveVertex=function(a){var x=a.forceX,b=a.forceY,te=this.moveLimit;return x<-te?x=-te:x>te&&(x=te),b<-te?b=-te:b>te&&(b=te),a.centerX+=x,a.centerY+=b,x*x+b*b},sc.prototype.moveFixedVertex=function(){},sc.prototype.commitLayout=function(){this.yv(),this.commitNodes(),this.isRouting&&this.commitLinks()},sc.prototype.yv=function(){if(this.setsPortSpots)for(var a=this.network.edges.iterator;a.next();){var x=a.value.link;x!==null&&(x.fromSpot=va,x.toSpot=va)}},sc.prototype.commitNodes=function(){var a=0,x=0;if(this.arrangesToOrigin){var b=Lt.alloc();this.computeBounds(this.network,b),x=this.arrangementOrigin,a=x.x-b.x,x=x.y-b.y,Lt.free(b)}b=Lt.alloc();for(var te=this.network.vertexes.iterator;te.next();){var re=te.value;(a!==0||x!==0)&&(b.assign(re.bounds),b.x+=a,b.y+=x,re.bounds=b),re.commit()}Lt.free(b)},sc.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()},sc.prototype.springStiffness=function(a){return a=a.stiffness,isNaN(a)?this.Hk:a},sc.prototype.springLength=function(a){return a=a.length,isNaN(a)?this.Gk:a},sc.prototype.electricalCharge=function(a){return a=a.charge,isNaN(a)?this.Ek:a},sc.prototype.electricalFieldX=function(){return 0},sc.prototype.electricalFieldY=function(){return 0},sc.prototype.gravitationalMass=function(a){return a=a.mass,isNaN(a)?this.Fk:a},sc.prototype.gravitationalFieldX=function(){return 0},sc.prototype.gravitationalFieldY=function(){return 0},sc.prototype.isFixed=function(a){return a.isFixed},wn.Object.defineProperties(sc.prototype,{currentIteration:{get:function(){return this.An}},arrangementSpacing:{get:function(){return this.$d},set:function(a){this.$d.D(a)||(this.$d.assign(a),this.C())}},arrangesToOrigin:{get:function(){return this.Bm},set:function(a){this.Bm!==a&&(this.Bm=a,this.C())}},setsPortSpots:{get:function(){return this.sf},set:function(a){this.sf!==a&&(this.sf=a,this.C())}},comments:{get:function(){return this.td},set:function(a){this.td!==a&&(this.td=a,this.C())}},maxIterations:{get:function(){return this.dl},set:function(a){this.dl!==a&&0<=a&&(this.dl=a,this.C())}},epsilonDistance:{get:function(){return this.$m},set:function(a){this.$m!==a&&0Ge&&0Ge&&0a[this.Md]&&(this.Iq=a[b]-1,this.Md=b),a[b]ae)for(var we=ae+1;wepe;we--)be=te[we],be.near===ye&&be.Dj===ye.Dj||fe++;var Ie;if(0<=b)for(pe=te[ae].sourceEdgesArrayAccess,ye=0;yeGe||be===Ge&&ke>ze)&&fe++,stbe||Ge===be&&ze>ke)&&fe++}}}if(0>=b){for(pe=te[ae].destinationEdgesArrayAccess,ye=0;yeGe||be===Ge&&we>st)&&fe++,zebe||Ge===be&&st>we)&&fe++)}for(oe[ae*re+ae]=fe,pe=ae+1;pe=b){for(fe=te[ae].destinationEdgesArrayAccess,mt=te[pe].destinationEdgesArrayAccess,ye=0;ye=b&&(pe=fe.sourceEdgesArrayAccess);var ye=null;0<=b&&(ye=fe.destinationEdgesArrayAccess);var we=0,be=0,Ie=fe.near;if(Ie!==null&&Ie.layer===fe.layer&&(we+=Ie.column-1,be++),pe!==null)for(Ie=0;Ie=b&&(pe=fe.sourceEdgesArrayAccess);var ye=null;0<=b&&(ye=fe.destinationEdgesArrayAccess);var we=0,be=[],Ie=fe.near;if(Ie!==null&&Ie.layer===fe.layer&&(be[we]=Ie.column-1,we++),fe=void 0,pe!==null)for(Ie=0;Ie>1,oe[ae]=we&1?be[ye]:be[ye-1]+be[ye]>>1)}return Pm(a,x,te),oe}function oA(a,x,b,te,re,oe){if(x.component===te){if(x.component=b,re)for(var ae=x.destinationEdges;ae.next();){var fe=ae.value,pe=fe.toVertex,ye=x.layer-pe.layer;fe=a.linkMinLength(fe),ye===fe&&oA(a,pe,b,te,re,oe)}if(oe)for(ae=x.sourceEdges;ae.next();)fe=ae.value,pe=fe.fromVertex,ye=pe.layer-x.layer,fe=a.linkMinLength(fe),ye===fe&&oA(a,pe,b,te,re,oe)}}function r2(a,x,b,te,re,oe){if(x.component===te){if(x.component=b,re)for(var ae=x.destinationEdges;ae.next();)r2(a,ae.value.toVertex,b,te,re,oe);if(oe)for(x=x.sourceEdges;x.next();)r2(a,x.value.fromVertex,b,te,re,oe)}}ls.prototype.removeCycles=function(){for(var a=this.network.edges.iterator;a.next();)a.value.rev=!1;switch(this.Dk){default:case zC:a=this.network;var x=0,b=a.vertexes.count-1,te=[];te.length=b+1;for(var re=a.vertexes.iterator;re.next();)re.value.valid=!0;for(;g5(a)!==null;){for(re=p5(a);re!==null;)te[b]=re,b--,re.valid=!1,re=p5(a);for(re=Op(a);re!==null;)te[x]=re,x++,re.valid=!1,re=Op(a);re=null;for(var oe=0,ae=this.network.vertexes.iterator;ae.next();){var fe=ae.value;if(fe.valid){for(var pe=0,ye=fe.destinationEdges;ye.next();)ye.value.toVertex.valid&&pe++;ye=0;for(var we=fe.sourceEdges;we.next();)we.value.fromVertex.valid&&ye++;(re===null||oex.toVertex.index&&(a.gm(x),x.rev=!0);break;case FS:for(te=this.network.vertexes.iterator;te.next();)a=te.value,a.Ll=-1,a.finish=-1;for(a=this.network.edges.iterator;a.next();)a.value.forest=!1;for(this.Kn=0,te.reset();te.next();)x=te.value,x.sourceEdges.count===0&&sA(this,x);for(te.reset();te.next();)x=te.value,x.Ll===-1&&sA(this,x);for(a.reset();a.next();)te=a.value,te.forest||(x=te.fromVertex,b=x.finish,re=te.toVertex,oe=re.finish,re.Llte){if(0>te)for(x.reset();x.next();)x.value.layer-=te;for(te=[],x.reset();x.next();)b=x.value,re=te[b.layer],re===void 0?te[b.layer]=[b]:re.push(b);for(b=x=0;bae&&oA(a,fe,0,-1,!0,!1)}for(oA(a,x,1,-1,!0,!0);x.component!==0;){for(oe=0,te=1/0,fe=0,pe=null,ae=a.network.vertexes.iterator;ae.next();){var ye=ae.value;if(ye.component===1){var we=0,be=!1,Ie=ye.sourceEdgesArrayAccess;re=Ie.length;for(var ke=0;keoe)&&!we&&(fe=ae,oe=ye)}if(0>te){for(b.reset();b.next();)te=b.value,te.component===1&&(te.layer-=re);x.component=0}else fe.component=0}}}function bx(a,x,b){return a.K===90?b&&!x.rev||!b&&x.rev?270:90:a.K===180?b&&!x.rev||!b&&x.rev?0:180:a.K===270?b&&!x.rev||!b&&x.rev?90:270:b&&!x.rev||!b&&x.rev?180:0}ls.prototype.initializeIndices=function(){switch(this.Qk){default:case l2:for(var a=this.network.vertexes.iterator;a.next();){var x=a.value,b=x.layer;x.index=this.tc[b],this.tc[b]++}break;case aA:for(a=this.network.vertexes.iterator,x=this.Ia;0<=x;x--)for(a.reset();a.next();)b=a.value,b.layer===x&&b.index===-1&&TS(this,b);break;case LS:for(a=this.network.vertexes.iterator,x=0;x<=this.Ia;x++)for(a.reset();a.next();)b=a.value,b.layer===x&&b.index===-1&&DS(this,b)}};function TS(a,x){var b=x.layer;for(x.index=a.tc[b],a.tc[b]++,x=x.destinationEdgesArrayAccess,b=!0;b;){b=!1;for(var te=0;teoe.portFromColOffset&&(b=!0,x[te]=oe,x[te+1]=re)}}for(b=0;boe.portToColOffset&&(te=!0,x[b]=oe,x[b+1]=re)}for(b=0;b=ae;te--)oe=Of(this,te,-1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,-1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,0)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,0)||oe;re>=a?cd(this,x):(a=re,x=dh(this))}break;default:case Kv:for(b=this.Ia,ae=0,fe=a+1;(te=this.countCrossings())=ae;te--)oe=Of(this,te,-1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,-1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,0)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,0)||oe;re>=a?cd(this,x):(a=re,x=dh(this))}}cd(this,x)};function kC(a,x,b){var te=z0(a,x),re=a.tc[x],oe=FT(a,x,b),ae=i2(a,x,b);for(b=0;boe+1&&(Ie+=4*(gt-oe),ke+=4*(gt-(oe+1)))}for(yt=te[oe].destinationEdges.iterator,yt.reset();yt.next();)if(gt=yt.value,mt=gt.toVertex,gt.valid&&mt.layer===x){for(gt=0;te[gt]!==mt;)gt++;gt===oe+1&&(ke+=1)}for(yt=te[oe+1].sourceEdges.iterator,yt.reset();yt.next();)if(gt=yt.value,mt=gt.fromVertex,gt.valid&&mt.layer===x){for(gt=0;te[gt]!==mt;)gt++;gtoe+1&&(Ie+=4*(gt-(oe+1)),ke+=4*(gt-oe))}for(yt=te[oe+1].destinationEdges.iterator,yt.reset();yt.next();)if(gt=yt.value,mt=gt.toVertex,gt.valid&&mt.layer===x){for(gt=0;te[gt]!==mt;)gt++;gt===oe&&(Ie+=1)}gt=mt=0,yt=ae[te[oe].index];var Ct=fe[te[oe].index],Zt=ae[te[oe+1].index],Qn=fe[te[oe+1].index];yt!==-1&&(mt+=Math.abs(yt-ze),gt+=Math.abs(yt-tt)),Ct!==-1&&(mt+=Math.abs(Ct-ze),gt+=Math.abs(Ct-tt)),Zt!==-1&&(mt+=Math.abs(Zt-Ge),gt+=Math.abs(Zt-st)),Qn!==-1&&(mt+=Math.abs(Qn-Ge),gt+=Math.abs(Qn-st)),(ke>1)+8*te;this.Ra*=8}if(this.bg&2)for(b=!0;b;){for(b=!1,x=this.Md+1;x<=this.Ia;x++)b=Tg(this,x,1)||b;for(x=this.Md-1;0<=x;x--)b=Tg(this,x,-1)||b;b=Tg(this,this.Md,0)||b}if(this.bg&4){for(x=this.Md+1;x<=this.Ia;x++)s2(this,x,1);for(x=this.Md-1;0<=x;x--)s2(this,x,-1);s2(this,this.Md,0)}if(a&&(y5(this,-1),y5(this,1)),this.bg&2)for(b=!0;b;){for(b=!1,b=Tg(this,this.Md,0)||b,x=this.Md+1;x<=this.Ia;x++)b=Tg(this,x,0)||b;for(x=this.Md-1;0<=x;x--)b=Tg(this,x,0)||b}}else QL(this)};function Tg(a,x,b){for(var te=!1;v5(a,x,b);)te=!0;return te}function v5(a,x,b){var te,re=z0(a,x),oe=a.tc[x],ae=i2(a,x,-1);if(0b)for(te=0;tete-1||we-re[te-1].column-1>be+a.nodeMinColumnSpace(re[te-1],!1)?ke=we-1:ke=we,be=te+1>=oe||re[te+1].column-we-1>Ie+a.nodeMinColumnSpace(re[te+1],!0)?we+1:we;var ze=Ie=0,Ge=0;if(0>=b)for(var st=re[te].sourceEdges.iterator;st.next();){var tt=st.value,gt=tt.fromVertex;if(tt.valid&>.layer!==x){var mt=IC(tt),yt=tt.portFromColOffset;tt=tt.portToColOffset,gt=gt.column,Ie+=(Math.abs(we+tt-(gt+yt))+1)*mt,ze+=(Math.abs(ke+tt-(gt+yt))+1)*mt,Ge+=(Math.abs(be+tt-(gt+yt))+1)*mt}}if(0<=b)for(st=re[te].destinationEdges.iterator;st.next();)tt=st.value,gt=tt.toVertex,tt.valid&>.layer!==x&&(mt=IC(tt),yt=tt.portFromColOffset,tt=tt.portToColOffset,gt=gt.column,Ie+=(Math.abs(we+yt-(gt+tt))+1)*mt,ze+=(Math.abs(ke+yt-(gt+tt))+1)*mt,Ge+=(Math.abs(be+yt-(gt+tt))+1)*mt);tt=yt=mt=0,st=ae[re[te].index],gt=fe[re[te].index],st!==-1&&(mt+=Math.abs(st-we),yt+=Math.abs(st-ke),tt+=Math.abs(st-be)),gt!==-1&&(mt+=Math.abs(gt-we),yt+=Math.abs(gt-ke),tt+=Math.abs(gt-be)),ze=ae[b]?we=pe:ye<=ae[b]&&(we=ye));we!==fe&&(oe=!0,te[b].column=we)}Pm(a,x,te),a.normalize()}function a2(a,x){for(var b=!0,te=a.network.vertexes.iterator;te.next();){var re=te.value,oe=a.nodeMinColumnSpace(re,!0),ae=a.nodeMinColumnSpace(re,!1);if(re.column-oe<=x&&re.column+ae>=x){b=!1;break}}if(a=!1,b)for(te.reset();te.next();)b=te.value,b.column>x&&(--b.column,a=!0);return a}function Yv(a,x){var b=x+1,te,re=[],oe=[];for(te=0;te<=a.Ia;te++)re[te]=!1,oe[te]=!1;for(var ae=a.network.vertexes.iterator;ae.next();){te=ae.value;var fe=te.column-a.nodeMinColumnSpace(te,!0),pe=te.column+a.nodeMinColumnSpace(te,!1);fe<=x&&pe>=x&&(re[te.layer]=!0),fe<=b&&pe>=b&&(oe[te.layer]=!0)}for(fe=!0,b=!1,te=0;te<=a.Ia;te++)fe=fe&&!(re[te]&&oe[te]);if(fe)for(ae.reset();ae.next();)a=ae.value,a.column>x&&(--a.column,b=!0);return b}function y5(a,x){for(var b=0;b<=a.Ra;b++)for(;a2(a,b););for(a.normalize(),b=0;boe?cd(a,re):aex)for(b=a.Ra;0<=b;b--)for(re=dh(a),oe=OC(a),te=oe+1;oeoe?cd(a,re):aeb)for(te.reset();te.next();)re=te.value,re.column+a.nodeMinColumnSpace(re,!1)>=x&&(re.component=a.le);for(a.le++,te.reset();te.next();)x=te.value,x.component===-1&&(r2(a,x,a.le,-1,!0,!0),a.le++);var oe;for(x=[],oe=0;oeb)for(ae=a.Ra;0b)for(te.reset();te.next();)b=te.value,re[b.component]&&(b.column+=1)}function QL(a){for(var x=Co(),b=a.fl.length,te=0;te<=b;te++)x[te]=[];for(te=a.network.vertexes.iterator;te.next();){var re=te.value;x[b-re.layer][re.index]=re}b=new ei,YL(x,b);var oe=null,ae=null,fe=null,pe=null,ye=(a.ve&1)!==0,we=(a.ve&2)!==0,be=(a.ve&4)!==0,Ie=(a.ve&8)!==0;for(ye&&(a.verticalAlignment(x,b,!0),oe=Mx(a,x,!0,!1)),x.reverse(),be&&(a.verticalAlignment(x,b,!1),fe=Mx(a,x,!1,!1)),te=Li(x),re=te.next();!re.done;re=te.next())re.value.reverse();Ie&&(a.verticalAlignment(x,b,!1),pe=Mx(a,x,!1,!0)),x.reverse(),we&&(a.verticalAlignment(x,b,!0),ae=Mx(a,x,!0,!0)),Ao(x),a.u(oe,ae,fe,pe),a.network.vertexes.each(function(ke){var ze=Co();ye&&ze.push(oe.get(ke)),we&&ze.push(ae.get(ke)),be&&ze.push(fe.get(ke)),Ie&&ze.push(pe.get(ke)),ze.sort(function(st,tt){return st-tt});var Ge=ze.length;Ge=(ze[Math.floor((Ge-1)/2)]+ze[Math.ceil((Ge-1)/2)])/2,Ao(ze),ke.zc=Ge})}function YL(a,x){for(var b=a.length,te=1;tewe)&&x.add(be);oe++}re=we}}}ls.prototype.verticalAlignment=function(a,x,b){iw(a),a=Li(a);for(var te=a.next();!te.done;te=a.next()){var re=-1;te=Li(te.value);for(var oe=te.next();!oe.done;oe=te.next()){oe=oe.value;var ae=b?jC(oe):RT(oe),fe=ae.length;if(0=x[b].length)&&(ae=x[b][0],ae.sd===ae)){ae.sd.shift===1/0&&(ae.sd.shift=0),ae=b,fe=0;do{for(oe=x[ae][fe];oe.align!==oe.root;)oe=oe.align,ae++,0a&&tn("Could not determine previous vertex in layer"),x[b][a-1]}ls.prototype.u=function(a){for(var x=[],b=0;bae;ae++)if(x[ae]){var fe=IT(this,x[ae],te,re,ae);feae;oe={delta:oe.delta},ae++)x[ae]&&(oe.delta=ae===0||ae===2?te[b]-te[ae]:re[b]-re[ae],oe.delta!==0&&x[ae].each(function(pe){return function(ye){ye.value+=pe.delta}}(oe)));Ao(te),Ao(re)};function IT(a,x,b,te,re){if(!x||x.count===0)return b[re]=0,te[re]=0,1/0;var oe=1/0,ae=-1/0;return x.each(function(fe){var pe=fe.key;fe=fe.value,pe=a.K===90||a.K===270?pe.width:pe.height,feae&&(ae=fe+pe)}),b[re]=oe,te[re]=ae,ae-oe}ls.prototype.commitLayout=function(){if(this.setsPortSpots)for(var a=k0(this,!0),x=k0(this,!1),b=this.network.edges.iterator;b.next();){var te=b.value.link;te!==null&&(te.fromSpot=a,te.toSpot=x)}this.commitNodes(),this.Gu(),this.isRouting&&this.commitLinks()};function k0(a,x){return a.K===270?x?ga:ol:a.K===90?x?ol:ga:a.K===180?x?$s:ea:x?ea:$s}ls.prototype.commitNodes=function(){this.he=[],this.Ld=[],this.Kd=[],this.Ta=[];for(var a=0;a<=this.Ia;a++)this.he[a]=0,this.Ld[a]=0,this.Kd[a]=0,this.Ta[a]=0;for(a=this.network.vertexes.iterator;a.next();){var x=a.value,b=x.layer;this.he[b]=Math.max(this.he[b],this.nodeMinLayerSpace(x,!0)),this.Ld[b]=Math.max(this.Ld[b],this.nodeMinLayerSpace(x,!1))}x=0,b=this.ie;for(var te=0;te<=this.Ia;te++){var re=b;0>=this.he[te]+this.Ld[te]&&(re=0),0=be.bounds.bottom?(be=be.bounds.y+be.bounds.height,x.m(Ge++,yt,be+Zt),x.m(Ge++,yt,be),x.m(Ge++,yt,be-mt)):(x.m(Ge++,yt,Ct+Zt),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct-mt)):this.K===270?Ct<=be.bounds.y?(be=be.bounds.y,x.m(Ge++,yt,be-mt),x.m(Ge++,yt,be),x.m(Ge++,yt,be+Zt)):(x.m(Ge++,yt,Ct-mt),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct+Zt)):this.K===0&&(yt>=be.bounds.right?(be=be.bounds.x+be.bounds.width,x.m(Ge++,be+Zt,Ct),x.m(Ge++,be,Ct),x.m(Ge++,be-mt,Ct)):(x.m(Ge++,yt+Zt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt-mt,Ct)));else{x.m(Ge++,tt,gt);var Qn=0;this.K===180||this.K===0?((this.K===180?yt>=be.bounds.right:yt<=be.bounds.x)&&(Qn=(this.K===0?-mt:Zt)/2),x.m(Ge++,tt+Qn,Ct)):((this.K===270?Ct>=be.bounds.bottom:Ct<=be.bounds.y)&&(Qn=(this.K===90?-mt:Zt)/2),x.m(Ge++,yt,gt+Qn)),x.m(Ge++,yt,Ct)}}else mt=Math.max(10,this.he[st.layer]),Zt=Math.max(10,this.Ld[st.layer]),Ie?this.K===180?(x.m(Ge++,yt-mt-ze,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt+Zt+ze,Ct)):this.K===90?(x.m(Ge++,yt,Ct+Zt+ze),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct-mt-ze)):this.K===270?(x.m(Ge++,yt,Ct-mt-ze),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct+Zt+ze)):(x.m(Ge++,yt+Zt+ze,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt-mt-ze,Ct)):x.m(Ge++,yt,Ct)}be=st}(fe===null||ye!==bo||ke)&&(tt=x.i(Ge-1).x,gt=x.i(Ge-1).y,yt=x.i(Ge).x,Ct=x.i(Ge).y,ke?(ze=this.Ld[we.layer],this.K===180||this.K===0?(ke=gt,ke>=we.bounds.y&&ke<=we.bounds.bottom&&(this.K===180?yt>=we.bounds.x:yt<=we.bounds.right)&&(be=we.centerX+(this.K===180?-ze:ze),ke=we.bounds.x&&ke<=we.bounds.right&&(this.K===270?Ct>=we.bounds.y:Ct<=we.bounds.bottom)&&(be=we.centerY+(this.K===270?-ze:ze),ke=we.bounds.x?(be=we.bounds.x+we.bounds.width,x.L(Ge-2,be,gt),x.L(Ge-1,be+Zt,gt)):this.K===90&&Ct<=we.bounds.bottom?(be=we.bounds.y,x.L(Ge-2,tt,be),x.L(Ge-1,tt,be-mt)):this.K===270&&Ct>=we.bounds.y?(be=we.bounds.y+we.bounds.height,x.L(Ge-2,tt,be),x.L(Ge-1,tt,be+Zt)):this.K===0&&yt<=we.bounds.right&&(be=we.bounds.x,x.L(Ge-2,be,gt),x.L(Ge-1,be-mt,gt))):(mt=Math.max(10,this.he[we.layer]),Zt=Math.max(10,this.Ld[we.layer]),ke=0,this.K===180||this.K===0?((this.K===180?yt<=we.bounds.x:yt>=we.bounds.right)&&(ke=(this.K===0?Zt:-mt)/2),x.m(Ge++,yt+ke,gt)):((this.K===270?Ct<=we.bounds.y:Ct>=we.bounds.bottom)&&(ke=(this.K===90?Zt:-mt)/2),x.m(Ge++,tt,Ct+ke)),x.m(Ge++,yt,Ct)))}else{for(;we!==null&&we!==be;){for(mt=st=null,we=we.destinationEdges.iterator;we.next()&&(tt=we.value,tt.link!==b.link||(st=tt.toVertex,mt=tt.fromVertex,mt.node!==null&&(mt=null),st.node!==null)););if(st===null)break;st!==be&&(tt=x.i(Ge-1).x,gt=x.i(Ge-1).y,yt=st.centerX,Ct=st.centerY,ke?this.K===180||this.K===0?(mt!==null?mt.centerY:gt)!==Ct&&(mt=this.Ta[st.layer]+this.Rf.x,Ge===x.firstPickIndex+1&&(mt=this.K===0?Math.max(mt,tt):Math.min(mt,tt)),x.m(Ge++,mt,gt),x.m(Ge++,mt,Ct)):(mt!==null?mt.centerX:tt)!==yt&&(mt=this.Ta[st.layer]+this.Rf.y,Ge===x.firstPickIndex+1&&(mt=this.K===90?Math.max(mt,gt):Math.min(mt,gt)),x.m(Ge++,tt,mt),x.m(Ge++,yt,mt)):(mt=Math.max(10,this.he[st.layer]),Zt=Math.max(10,this.Ld[st.layer]),Ie?this.K===180?(x.m(Ge++,yt+Zt+ze,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt-mt-ze,Ct)):this.K===90?(x.m(Ge++,yt,Ct-mt-ze),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct+Zt+ze)):this.K===270?(x.m(Ge++,yt,Ct+Zt+ze),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct-mt-ze)):(x.m(Ge++,yt-mt-ze,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt+Zt+ze,Ct)):this.K===180?(x.m(Ge++,yt+Zt,Ct),x.m(Ge++,yt-mt,Ct)):this.K===90?(x.m(Ge++,yt,Ct-mt),x.m(Ge++,yt,Ct+Zt)):this.K===270?(x.m(Ge++,yt,Ct+Zt),x.m(Ge++,yt,Ct-mt)):(x.m(Ge++,yt-mt,Ct),x.m(Ge++,yt+Zt,Ct)))),we=st}ke&&(tt=x.i(Ge-1).x,gt=x.i(Ge-1).y,yt=x.i(Ge).x,Ct=x.i(Ge).y,this.K===180||this.K===0?gt!==Ct&&(mt=this.K===0?Math.min(Math.max((yt+tt)/2,this.Ta[be.layer]+this.Rf.x),yt):Math.max(Math.min((yt+tt)/2,this.Ta[be.layer]+this.Rf.x),yt),x.m(Ge++,mt,gt),x.m(Ge++,mt,Ct)):tt!==yt&&(mt=this.K===90?Math.min(Math.max((Ct+gt)/2,this.Ta[be.layer]+this.Rf.y),Ct):Math.max(Math.min((Ct+gt)/2,this.Ta[be.layer]+this.Rf.y),Ct),x.m(Ge++,tt,mt),x.m(Ge++,yt,mt)))}te!==null&&Ie&&4<=x.pointsCount&&(ae!==null&&(ae=ye===bo?x.getLinkPointFromPoint(re,ae,ae.ga(nr),x.i(3),!0):x.i(0),ye===bo&&(ye=x.i(2),te=x.i(3),this.direction===90||this.direction===270?(x.L(1,(ae.x+ye.x)/2,ye.y),x.L(2,te.x,(ye.y+te.y)/2)):(x.L(1,ye.x,(ae.y+ye.y)/2),x.L(2,(ye.x+te.x)/2,te.y))),ae.w()||ae.set(re.actualBounds.center),x.L(0,ae.x,ae.y)),fe!==null&&(re=pe===bo?x.getLinkPointFromPoint(oe,fe,fe.ga(nr),x.i(x.pointsCount-4),!1):x.i(x.pointsCount-1),pe===bo&&(fe=x.i(x.pointsCount-3),pe=x.i(x.pointsCount-4),this.direction===90||this.direction===270?(x.L(x.pointsCount-2,(re.x+fe.x)/2,fe.y),x.L(x.pointsCount-2,pe.x,(fe.y+pe.y)/2)):(x.L(x.pointsCount-2,fe.x,(re.y+fe.y)/2),x.L(x.pointsCount-3,(fe.x+pe.x)/2,pe.y))),re.w()||re.set(oe.actualBounds.center),x.L(x.pointsCount-1,re.x,re.y))),x.zf(),b.commit()}}}this.avoidOrthogonalOverlaps()},ls.prototype.avoidOrthogonalOverlaps=function(){if(!(0>=this.linkSpacing)){for(var a=new $n,x=this.network.edges.iterator;x.next();){var b=x.value.link;b!==null&&b.isOrthogonal&&!a.contains(b)&&a.add(b)}if(0oe.y&&(we=ye.y>oe.y?0:ae.xoe.x&&(we=ye.x>oe.x?0:ae.yx.layer?1:a.rdx.rd?1:a.Icx.Ic?1:0:0},Ve.Ux=function(a,x){return a instanceof Cm&&x instanceof Cm&&a!==x?a.firstx.first||a.jx.j||a.rdx.rd?1:a.Icx.Ic?1:0:0},Ve.Js=function(a,x){return a instanceof Cm&&x instanceof Cm&&a!==x?a.jcx.jc||a.jx.j||a.rdx.rd?1:a.Icx.Ic?1:0:0},Ve.B=function(a,x){return a-=x,-1a},Ve.zi=function(a,x,b,te){var re=a.length,oe=te-b;if(!(1>=oe))if((0>b||b>=re-1)&&tn("not in range 0 <= from < length: "+b),oe===2)te=a[b],re=a[b+1],0=re)a.sort(x);else for(b=a.slice(0,te),b.sort(x),x=0;x=re)for(te=a.slice(b),te.sort(x),x=b;x=a.He.length){for(var te=[],re=0;rea&&(this.bg=a,this.C())}},alignOption:{get:function(){return this.ve},set:function(a){this.ve!==a&&0<=a&&16>a&&(this.ve=a,this.C())}},setsPortSpots:{get:function(){return this.sf},set:function(a){this.sf!==a&&(this.sf=a,this.C())}},linkSpacing:{get:function(){return this.Cn},set:function(a){this.Cn!==a&&0<=a&&(this.Cn=a,this.C())}},maxLayer:{get:function(){return this.Ia}},maxIndex:{get:function(){return this.Iq}},maxColumn:{get:function(){return this.Ra}},minIndexLayer:{get:function(){return this.Hn}},maxIndexLayer:{get:function(){return this.Md}}});var FS=new un(ls,"CycleDepthFirst",0),zC=new un(ls,"CycleGreedy",1),Bx=new un(ls,"CycleFromLayers",2),HC=new un(ls,"LayerOptimalLinkLength",0),rw=new un(ls,"LayerLongestPathSink",1),UC=new un(ls,"LayerLongestPathSource",2),aA=new un(ls,"InitDepthFirstOut",0),LS=new un(ls,"InitDepthFirstIn",1),l2=new un(ls,"InitNaive",2),VC=new un(ls,"AggressiveNone",0),Kv=new un(ls,"AggressiveLess",1),u2=new un(ls,"AggressiveMore",2),c2=8;ls.className="LayeredDigraphLayout",ls.CycleDepthFirst=FS,ls.CycleGreedy=zC,ls.CycleFromLayers=Bx,ls.LayerOptimalLinkLength=HC,ls.LayerLongestPathSink=rw,ls.LayerLongestPathSource=UC,ls.InitDepthFirstOut=aA,ls.InitDepthFirstIn=LS,ls.InitNaive=l2,ls.AggressiveNone=VC,ls.AggressiveLess=Kv,ls.AggressiveMore=u2,ls.PackNone=0,ls.PackExpand=1,ls.PackStraighten=2,ls.PackMedian=4,ls.PackAll=15,ls.AlignNone=0,ls.AlignUpperLeft=1,ls.AlignUpperRight=2,ls.AlignLowerLeft=4,ls.AlignLowerRight=8,ls.AlignAll=15;function Cm(){this.index=this.Ic=this.rd=this.jc=this.first=this.layer=0,this.link=null,this.j=0}Cm.className="SegInfo";function Tx(a){oa.call(this,a)}_t(Tx,oa),Tx.prototype.createVertex=function(){return new lf(this)},Tx.prototype.createEdge=function(){return new NS(this)},Tx.className="LayeredDigraphNetwork";function lf(a){Kl.call(this,a),this.$n=this.bo=this.ao=this.co=null,this.Za=this.Ag=this.Ig=-1,this.u=NaN,this.F=null,this.valid=!1,this.finish=this.Ll=NaN,this.Dj=0,this.dv=this.ev=null}_t(lf,Kl);function h2(a,x){return a.index-x.index}function ow(a,x){if(!a.$n){for(var b=[],te=Li(a.destinationEdgesArrayAccess),re=te.next();!re.done;re=te.next())re=re.value,re.valid&&b.push(re);a.$n=b}for(a=Li(a.$n),b=a.next();!b.done;b=a.next())if(b=b.value,b.toVertex===x)return b;tn("Unable to find destination edge to given vertex")}function jC(a){if(!a.co){for(var x=[],b=Li(a.sourceEdgesArrayAccess),te=b.next();!te.done;te=b.next())te=te.value,te.valid&&x.push(te.fromVertex);x.sort(h2),a.co=x}return a.co}function RT(a){if(!a.ao){for(var x=[],b=Li(a.destinationEdgesArrayAccess),te=b.next();!te.done;te=b.next())te=te.value,te.valid&&x.push(te.toVertex);x.sort(h2),a.ao=x}return a.ao}lf.prototype.Cl=function(a){Kl.prototype.Cl.call(this,a),this.bo=this.co=null},lf.prototype.Kl=function(a){Kl.prototype.Kl.call(this,a),this.bo=this.co=null},lf.prototype.zl=function(a){Kl.prototype.zl.call(this,a),this.$n=this.ao=null},lf.prototype.Jl=function(a){Kl.prototype.Jl.call(this,a),this.$n=this.ao=null},wn.Object.defineProperties(lf.prototype,{layer:{get:function(){return this.Ig},set:function(a){this.Ig!==a&&(this.Ig=a)}},column:{get:function(){return this.Ag},set:function(a){this.Ag!==a&&(this.Ag=a)}},index:{get:function(){return this.Za},set:function(a){this.Za!==a&&(this.Za=a)}},component:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}},near:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}}}),lf.prototype.deleteDestinationEdge=lf.prototype.Jl,lf.prototype.addDestinationEdge=lf.prototype.zl,lf.prototype.deleteSourceEdge=lf.prototype.Kl,lf.prototype.addSourceEdge=lf.prototype.Cl,lf.className="LayeredDigraphVertex";function NS(a){ch.call(this,a),this.j=this.ia=this.Ha=!1,this.V=this.u=NaN,this.F=this.o=0}_t(NS,ch),wn.Object.defineProperties(NS.prototype,{fromVertex:{get:function(){return this.kd},set:function(a){this.kd!==a&&(this.kd=a)}},toVertex:{get:function(){return this.qd},set:function(a){this.qd!==a&&(this.qd=a)}},valid:{get:function(){return this.Ha},set:function(a){this.Ha!==a&&(this.Ha=a)}},rev:{get:function(){return this.ia},set:function(a){this.ia!==a&&(this.ia=a)}},forest:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}},portFromPos:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}},portToPos:{get:function(){return this.V},set:function(a){this.V!==a&&(this.V=a)}},portFromColOffset:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},portToColOffset:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}}}),NS.className="LayeredDigraphEdge";function ho(a){Fa.call(this),this.Ub=new ei,this.Wn=lw,this.ud=kp,this.vo=zS,this.Bq=KC,this.$v=[],this.td=!0,this.Rb=w2,this.$d=new pt(10,10).freeze();var x=new hw(this);this.W=new hd(x),this.Y=new hd(x),this.ru=[],a&&Object.assign(this,a)}_t(ho,Fa),ho.prototype.cloneProtected=function(a){Fa.prototype.cloneProtected.call(this,a),a.Wn=this.Wn,a.vo=this.vo,a.Bq=this.Bq,a.td=this.td,a.Rb=this.Rb,a.$d.assign(this.$d),a.W.copyInheritedPropertiesFrom(this.W),a.Y.copyInheritedPropertiesFrom(this.Y)},ho.prototype.qb=function(a){a.classType===ho?a.name.indexOf("Alignment")===0?this.alignment=a:a.name.indexOf("Arrangement")===0?this.arrangement=a:a.name.indexOf("Compaction")===0?this.compaction=a:a.name.indexOf("Path")===0?this.path=a:a.name.indexOf("Sorting")===0?this.sorting=a:a.name.indexOf("Style")===0?this.treeStyle=a:tn("Unknown enum value: "+a):Fa.prototype.qb.call(this,a)},ho.prototype.createNetwork=function(){return new hw(this)},ho.prototype.makeNetwork=function(a){function x(te){if(te instanceof fi)return!te.isLinkLabel&&te.category!=="Comment";if(te instanceof jn){var re=te.fromNode;return re===null||re.isLinkLabel||re.category==="Comment"?!1:(te=te.toNode,!(te===null||te.isLinkLabel||te.category==="Comment"))}return!1}var b=this.createNetwork();return a instanceof Yt?(b.lg(a.nodes,!0,x),b.lg(a.links,!0,x)):a instanceof kr?b.lg(a.memberParts,!1,x):b.lg(a.iterator,!1,x),b},ho.prototype.doLayout=function(a){this.network===null&&(this.network=this.makeNetwork(a)),this.arrangement!==HS&&(this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin));var x=this.diagram;if(x===null&&a instanceof Yt&&(x=a),this.path===lw&&x!==null?this.ud=x.isTreePathToChildren?kp:_v:this.ud=this.path===lw?kp:this.path,0x.level)return!1;a.removeChild(b.parent,b)}return!0}ho.prototype.removeChild=function(a,x){if(a!==null&&x!==null){for(var b=a.children,te=0,re=0;rere?g2(this,a,ae,Cr,tt,gt):QC(this,a,ae,Cr,tt,gt),Cr=gt.x,tt=gt.width,gt=gt.height;break;case j0:for(yt=0;ytbe&&(BiIu&&(aw(a,-Iu,0,Hr,_o-1),V0(yt,-Iu,0),V0(Ct,-Iu,0),Iu=0)}Aa.S.h(Iu,Pi),tt=Math.max(tt,Zt),gt=Math.max(gt,mt+(Gn===0?0:ze)+Eu.height),Bi=Zt}else 0be&&(PiIu&&(aw(a,0,-Iu,Hr,_o-1),V0(yt,0,-Iu),V0(Ct,0,-Iu),Iu=0)),Aa.S.h(Bi,Iu),gt=Math.max(gt,Qn),tt=Math.max(tt,mt+(Gn===0?0:ze)+Eu.width),Pi=Qn;xn++}switch(0ye&&(ye=0),135Ge&&(Ge=0),pe===bm&&(fe+=Ie/2+a.focus.y),ae+=te+b):x?(a.comments===null?te>tt&&(tt=qv(pe,te-tt,0),ae=tt.x,fe=tt.y,tt=te,ye=0):tt=IS(a,tt,ye),0>ye&&(ae-=ye,ye=0),135gt&&(gt=qv(pe,0,st-gt),ae=gt.x,fe=gt.y,gt=st,Ge=0):gt=p2(a,gt,Ge),0>Ge&&(fe-=Ge,Ge=0),ae+=te+b),0re[0].x?re[2].assign(re[1]):re[1].assign(re[2])),re[3].yre[0].x?re[3].assign(re[2]):re[2].assign(re[3])),Gn[0].h(ye+te,0),Gn[1].h(Gn[0].x,st),Gn[2].yre[0].y?re[2].assign(re[1]):re[1].assign(re[2])),re[3].xre[0].y?re[3].assign(re[2]):re[2].assign(re[3])),Gn[0].h(0,Ge+st),Gn[1].h(te,Gn[0].y),Gn[2].xte?g2(a,x,re,xn,mt,yt):QC(a,x,re,xn,mt,yt),xn=yt.x,mt=yt.width,yt=yt.height;break;case j0:for(Ie=0;IeIe&&(ZtIe&&(Qnbe&&(be=0),135tt&&(tt=0)),x.la.h(be,tt),x.Da.h(mt,yt)}}ho.prototype.customAlignment=function(a,x,b,te,re){return[x,b,te,re]};function g2(a,x,b,te,re,oe){var ae=b.length;if(ae===0)return new Lt(te,0,re,oe);if(ae===1)return x=b[0],re=x.Da.width,oe=x.Da.height,new Lt(te,0,re,oe);for(var fe=x.nodeSpacing,pe=x.rowSpacing,ye=og(x)===90,we=0,be=0,Ie=0,ke=0;keye&&(re-=ye),oe=Math.max(oe,Math.max(ke,Ie)+a+ae.height),0>b.S.x&&(te=U0(x,b.S.x,!1,te,fe))):(b.S.h(re+a,te+fe/2-b.focus.y-b.la.y),re=Math.max(re,Math.max(ze,be)+a+ae.width),Ie=te+fe/2-b.focus.y-b.la.y,oe=Math.max(oe,Ie+ae.height),0>Ie&&(oe-=Ie),0>b.S.y&&(te=U0(x,b.S.y,!0,te,fe)))),new Lt(te,0,re,oe)}function QC(a,x,b,te,re,oe){var ae=b.length;if(ae===0)return new Lt(te,0,re,oe);if(ae===1)return b=b[0],re=b.Da.width,oe=b.Da.height,new Lt(te,0,re,oe);for(var fe=x.nodeSpacing,pe=x.rowSpacing,ye=og(x)===270,we=0,be=0,Ie=0,ke=0;kebe&&(re-=be),oe=Math.max(oe,Math.abs(Math.min(ke,Ie))+a+we.height),0>pe.S.x&&(te=U0(x,pe.S.x,!1,te,fe))):(pe.S.h(-re-we.width-a,te+fe/2-pe.focus.y-pe.la.y),re=Math.max(re,Math.abs(Math.min(ze,be))+a+we.width),Ie=te+fe/2-pe.focus.y-pe.la.y,oe=Math.max(oe,Ie+we.height),0>Ie&&(oe-=Ie),0>pe.S.y&&(te=U0(x,pe.S.y,!0,te,fe)))),x=0;xx&&(x=b+a.width),0>b&&(x-=b),x;case zp:return a.width>x?a.width:x;case Hp:return 2*a.focus.x>x?a.width:x+a.width-2*a.focus.x;case fl:case Em:return Math.max(a.width,Math.max(x,b+a.width)-Math.min(0,b));case j0:return a.width-a.focus.x+a.nodeSpacing/2+x;case bm:return Math.max(a.width,a.focus.x+a.nodeSpacing/2+x);default:return x}}function p2(a,x,b){switch(a.alignment){case Dx:case cw:return b+a.height>x&&(x=b+a.height),0>b&&(x-=b),x;case zp:return a.height>x?a.height:x;case Hp:return 2*a.focus.y>x?a.height:x+a.height-2*a.focus.y;case fl:case Em:return Math.max(a.height,Math.max(x,b+a.height)-Math.min(0,b));case j0:return a.height-a.focus.y+a.nodeSpacing/2+x;case bm:return Math.max(a.height,a.focus.y+a.nodeSpacing/2+x);default:return x}}function qv(a,x,b){switch(a){case cw:x/=2,b/=2;break;case Dx:x/=2,b/=2;break;case zp:b=x=0;break;case Hp:break;default:tn("Unhandled alignment value "+a.toString())}return new dt(x,b)}function Dg(a,x,b,te,re,oe){x=qv(x,b,te),aw(a,x.x,x.y,re,oe)}function aw(a,x,b,te,re){if(x!==0||b!==0)for(a=a.children;te<=re;te++){var oe=a[te].S;oe.x+=x,oe.y+=b}}function m2(a,x,b,te){var re=x.parent;switch(a.ud){case kp:for(a=x.sourceEdges;a.next();)x=a.value,x.fromVertex===re&&x.relativePoint.h(b,te);break;case _v:for(a=x.destinationEdges;a.next();)x=a.value,x.toVertex===re&&x.relativePoint.h(b,te);break;default:tn("Unhandled path value "+a.ud.toString())}}function V0(a,x,b){for(var te=0;tebe.length||ke===null||2>ke.length))for(re=b=0;bye&&oe.yoe.y&&yex.length||b===null||2>b.length)te=null;else{for(we=Xh(a,x.length+b.length),te=oe=pe=0;oepe;)ye=b[oe++],we[te++].h(ye.x+re,ye.y);for(b=Xh(a,te),pe=0;pebe.length||oe===null||2>oe.length)re=null;else{for(we=Xh(a,be.length+oe.length),re=ye=b=0;boe;)pe=be[b++],we[re++].h(pe.x,pe.y);for(oe=Xh(a,re),b=0;bbe.length||ke===null||2>ke.length))for(re=b=0;bpe&&oe.xoe.x&&pex.length||b===null||2>b.length)te=null;else{for(we=Xh(a,x.length+b.length),te=oe=pe=0;oepe;)ye=b[oe++],we[te++].h(ye.x,ye.y+re);for(b=Xh(a,te),pe=0;pebe.length||oe===null||2>oe.length)re=null;else{for(we=Xh(a,be.length+oe.length),re=ye=b=0;boe;)pe=be[b++],we[re++].h(pe.x,pe.y);for(oe=Xh(a,re),b=0;b=a?0:135>=a?90:225>=a?180:315>=a?270:0}ho.prototype.computeLayerSpacing=function(a){var x=og(a);x=x===90||x===270;var b=a.layerSpacing;if(0=a&&(this.W.nodeIndentPastParent=a,this.C())}},nodeSpacing:{get:function(){return this.W.nodeSpacing},set:function(a){this.W.nodeSpacing!==a&&(this.W.nodeSpacing=a,this.C())}},layerSpacing:{get:function(){return this.W.layerSpacing},set:function(a){this.W.layerSpacing!==a&&(this.W.layerSpacing=a,this.C())}},layerSpacingParentOverlap:{get:function(){return this.W.layerSpacingParentOverlap},set:function(a){this.W.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.W.layerSpacingParentOverlap=a,this.C())}},compaction:{get:function(){return this.W.compaction},set:function(a){this.W.compaction===a||a!==y2&&a!==YC||(this.W.compaction=a,this.C())}},breadthLimit:{get:function(){return this.W.breadthLimit},set:function(a){this.W.breadthLimit!==a&&0<=a&&(this.W.breadthLimit=a,this.C())}},rowSpacing:{get:function(){return this.W.rowSpacing},set:function(a){this.W.rowSpacing!==a&&(this.W.rowSpacing=a,this.C())}},rowIndent:{get:function(){return this.W.rowIndent},set:function(a){this.W.rowIndent!==a&&0<=a&&(this.W.rowIndent=a,this.C())}},commentSpacing:{get:function(){return this.W.commentSpacing},set:function(a){this.W.commentSpacing!==a&&(this.W.commentSpacing=a,this.C())}},commentMargin:{get:function(){return this.W.commentMargin},set:function(a){this.W.commentMargin!==a&&(this.W.commentMargin=a,this.C())}},setsPortSpot:{get:function(){return this.W.setsPortSpot},set:function(a){this.W.setsPortSpot!==a&&(this.W.setsPortSpot=a,this.C())}},portSpot:{get:function(){return this.W.portSpot},set:function(a){this.W.portSpot.D(a)||(this.W.portSpot=a,this.C())}},setsChildPortSpot:{get:function(){return this.W.setsChildPortSpot},set:function(a){this.W.setsChildPortSpot!==a&&(this.W.setsChildPortSpot=a,this.C())}},childPortSpot:{get:function(){return this.W.childPortSpot},set:function(a){this.W.childPortSpot.D(a)||(this.W.childPortSpot=a,this.C())}},alternateSorting:{get:function(){return this.Y.sorting},set:function(a){this.Y.sorting===a||a!==uw&&a!==RS&&a!==OS&&!kS||(this.Y.sorting=a,this.C())}},alternateComparer:{get:function(){return this.Y.comparer},set:function(a){this.Y.comparer!==a&&(this.Y.comparer=a,this.C())}},alternateAngle:{get:function(){return this.Y.angle},set:function(a){this.Y.angle===a||a!==0&&a!==90&&a!==180&&a!==270||(this.Y.angle=a,this.C())}},alternateAlignment:{get:function(){return this.Y.alignment},set:function(a){this.Y.alignment!==a&&(this.Y.alignment=a,this.C())}},alternateNodeIndent:{get:function(){return this.Y.nodeIndent},set:function(a){this.Y.nodeIndent!==a&&0<=a&&(this.Y.nodeIndent=a,this.C())}},alternateNodeIndentPastParent:{get:function(){return this.Y.nodeIndentPastParent},set:function(a){this.Y.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.Y.nodeIndentPastParent=a,this.C())}},alternateNodeSpacing:{get:function(){return this.Y.nodeSpacing},set:function(a){this.Y.nodeSpacing!==a&&(this.Y.nodeSpacing=a,this.C())}},alternateLayerSpacing:{get:function(){return this.Y.layerSpacing},set:function(a){this.Y.layerSpacing!==a&&(this.Y.layerSpacing=a,this.C())}},alternateLayerSpacingParentOverlap:{get:function(){return this.Y.layerSpacingParentOverlap},set:function(a){this.Y.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.Y.layerSpacingParentOverlap=a,this.C())}},alternateCompaction:{get:function(){return this.Y.compaction},set:function(a){this.Y.compaction===a||a!==y2&&a!==YC||(this.Y.compaction=a,this.C())}},alternateBreadthLimit:{get:function(){return this.Y.breadthLimit},set:function(a){this.Y.breadthLimit!==a&&0<=a&&(this.Y.breadthLimit=a,this.C())}},alternateRowSpacing:{get:function(){return this.Y.rowSpacing},set:function(a){this.Y.rowSpacing!==a&&(this.Y.rowSpacing=a,this.C())}},alternateRowIndent:{get:function(){return this.Y.rowIndent},set:function(a){this.Y.rowIndent!==a&&0<=a&&(this.Y.rowIndent=a,this.C())}},alternateCommentSpacing:{get:function(){return this.Y.commentSpacing},set:function(a){this.Y.commentSpacing!==a&&(this.Y.commentSpacing=a,this.C())}},alternateCommentMargin:{get:function(){return this.Y.commentMargin},set:function(a){this.Y.commentMargin!==a&&(this.Y.commentMargin=a,this.C())}},alternateSetsPortSpot:{get:function(){return this.Y.setsPortSpot},set:function(a){this.Y.setsPortSpot!==a&&(this.Y.setsPortSpot=a,this.C())}},alternatePortSpot:{get:function(){return this.Y.portSpot},set:function(a){this.Y.portSpot.D(a)||(this.Y.portSpot=a,this.C())}},alternateSetsChildPortSpot:{get:function(){return this.Y.setsChildPortSpot},set:function(a){this.Y.setsChildPortSpot!==a&&(this.Y.setsChildPortSpot=a,this.C())}},alternateChildPortSpot:{get:function(){return this.Y.childPortSpot},set:function(a){this.Y.childPortSpot.D(a)||(this.Y.childPortSpot=a,this.C())}}});var lw=new un(ho,"PathDefault",-1),kp=new un(ho,"PathDestination",0),_v=new un(ho,"PathSource",1),uw=new un(ho,"SortingForwards",10),RS=new un(ho,"SortingReverse",11),OS=new un(ho,"SortingAscending",12),kS=new un(ho,"SortingDescending",13),cw=new un(ho,"AlignmentCenterSubtrees",20),Dx=new un(ho,"AlignmentCenterChildren",21),zp=new un(ho,"AlignmentStart",22),Hp=new un(ho,"AlignmentEnd",23),fl=new un(ho,"AlignmentBus",24),Em=new un(ho,"AlignmentBusBranching",25),j0=new un(ho,"AlignmentTopLeftBus",26),bm=new un(ho,"AlignmentBottomRightBus",27),y2=new un(ho,"CompactionNone",30),YC=new un(ho,"CompactionBlock",31),zS=new un(ho,"StyleLayered",40),A2=new un(ho,"StyleLastParents",41),x5=new un(ho,"StyleAlternating",42),x2=new un(ho,"StyleRootOnly",43),w2=new un(ho,"ArrangementVertical",50),ZC=new un(ho,"ArrangementHorizontal",51),HS=new un(ho,"ArrangementFixedRoots",52),KC=new un(ho,"LayerIndividual",60),US=new un(ho,"LayerSiblings",61),VS=new un(ho,"LayerUniform",62);ho.className="TreeLayout",ho.PathDefault=lw,ho.PathDestination=kp,ho.PathSource=_v,ho.SortingForwards=uw,ho.SortingReverse=RS,ho.SortingAscending=OS,ho.SortingDescending=kS,ho.AlignmentCenterSubtrees=cw,ho.AlignmentCenterChildren=Dx,ho.AlignmentStart=zp,ho.AlignmentEnd=Hp,ho.AlignmentBus=fl,ho.AlignmentBusBranching=Em,ho.AlignmentTopLeftBus=j0,ho.AlignmentBottomRightBus=bm,ho.CompactionNone=y2,ho.CompactionBlock=YC,ho.StyleLayered=zS,ho.StyleLastParents=A2,ho.StyleAlternating=x5,ho.StyleRootOnly=x2,ho.ArrangementVertical=w2,ho.ArrangementHorizontal=ZC,ho.ArrangementFixedRoots=HS,ho.LayerIndividual=KC,ho.LayerSiblings=US,ho.LayerUniform=VS;function hw(a){oa.call(this,a)}_t(hw,oa),hw.prototype.createVertex=function(){return new hd(this)},hw.prototype.createEdge=function(){return new Fx(this)},hw.className="TreeNetwork";function hd(a){Kl.call(this,a),this.V=!1,this.hb=null,this.u=[],this.nb=this.Ha=this.F=this.ia=0,this.td=null,this.S=new dt(0,0),this.Da=new pt(0,0),this.la=new dt(0,0),this.im=this.hm=this.qA=!1,this.kp=this.Yo=null,this.nd=uw,this.hd=mS,this.Kb=0,this.Jb=Dx,this.Vq=this.Uq=0,this.Wq=20,this.ie=50,this.Aq=0,this.Hp=YC,this.Ap=0,this.nr=25,this.Gp=this.mr=10,this.Fp=20,this.xr=!0,this.dr=va,this.wr=!0,this.Dp=va}_t(hd,Kl),hd.prototype.copyInheritedPropertiesFrom=function(a){a!==null&&(this.nd=a.sorting,this.hd=a.comparer,this.Kb=a.angle,this.Jb=a.alignment,this.Uq=a.nodeIndent,this.Vq=a.nodeIndentPastParent,this.Wq=a.nodeSpacing,this.ie=a.layerSpacing,this.Aq=a.layerSpacingParentOverlap,this.Hp=a.compaction,this.Ap=a.breadthLimit,this.nr=a.rowSpacing,this.mr=a.rowIndent,this.Gp=a.commentSpacing,this.Fp=a.commentMargin,this.xr=a.setsPortSpot,this.dr=a.portSpot,this.wr=a.setsChildPortSpot,this.Dp=a.childPortSpot)},wn.Object.defineProperties(hd.prototype,{initialized:{get:function(){return this.V},set:function(a){this.V!==a&&(this.V=a)}},parent:{get:function(){return this.hb},set:function(a){this.hb!==a&&(this.hb=a)}},children:{get:function(){return this.u},set:function(a){if(this.u!==a){if(a!==null)for(var x=a.length,b=0;bke.y+b.rowIndent&&(oe=Math.min(oe,Math.max(be.y,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.top+re.y,re.y===0&&be.yke.x+b.rowIndent&&(oe=Math.min(oe,Math.max(be.x,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.left+re.x,re.x===0&&be.xke.y+b.rowIndent&&(oe=Math.min(oe,Math.max(be.y,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.top+re.y,re.y===0&&be.yke.x+b.rowIndent&&(oe=Math.min(oe,Math.max(be.x,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.left+re.x,re.x===0&&be.x0&&Pt[Pt.length-1])||$r[0]!==6&&$r[0]!==2)){Hn=0;continue}if($r[0]===3&&(!Pt||$r[1]>Pt[0]&&$r[1]=a.count)a.count===1&&(a=a.first(),a.centerX=0,a.centerY=0);else{var x=new $n;x.addAll(a.iterator),a=new $n;var b=new $n,te=this.sort(x),re,oe,ae=this.Jp,fe=this.arrangement,pe=this.nodeDiameterFormula,ye=this.radius;(!isFinite(ye)||0>=ye)&&(ye=NaN);var we=this.aspectRatio;(!isFinite(we)||0>=we)&&(we=1);var be=this.startAngle;isFinite(be)||(be=0);var Ie=this.sweepAngle;if((!isFinite(Ie)||360Ie)&&(Ie=360),x=this.spacing,isFinite(x)||(x=NaN),fe===Rf&&pe===Px?fe=ig:fe===Rf&&pe!==Px&&(fe=this.arrangement),(this.direction===tA||this.direction===J1)&&this.sorting!==nA){for(pe=0;!(pe>=te.length)&&(a.add(te.M(pe)),!(pe+1>=te.length));pe+=2)b.add(te.M(pe+1));this.direction===tA?(this.arrangement===Rf&&a.reverse(),te=new $n,te.addAll(a),te.addAll(b)):(this.arrangement===Rf&&b.reverse(),te=new $n,te.addAll(b),te.addAll(a))}pe=te.length;for(var ke=oe=re=0;keIe&&(ke===0||ke===te.length-1)&&(Ge/=2),re+=Ge,oe++}if(isNaN(ye)||fe===Rf){if(isNaN(x)&&(x=6),fe!==ig&&fe!==Rf){for(oe=-1/0,ae=0;aeye?(ye=re,oe=ye*we):ae=ke/(360<=Ie?pe:pe-1)}if(this.kw=fe,this.lc=ye,this.Zm=we,this.lw=be,this.Wp=Ie,this.Ti=x,this.me=oe,this.Jp=ae,x=te,te=this.kw,fe=this.lc,ye=this.lw,we=this.Wp,be=this.Ti,Ie=this.me,pe=this.Jp,this.direction!==tA&&this.direction!==J1||te!==Rf)if(this.direction===tA||this.direction===J1){switch(ae=0,te){case Wv:ae=180*eA(this,fe,Ie,ye,pe)/Math.PI;break;case ig:pe=x=0,ae=a.first(),ae!==null&&(x=Sm(ae,Math.PI/2)),ae=b.first(),ae!==null&&(pe=Sm(ae,Math.PI/2)),ae=180*eA(this,fe,Ie,ye,be+(x+pe)/2)/Math.PI;break;case ud:ae=we/x.length}if(this.direction===tA){switch(te){case Wv:Z1(this,a,ye,wm);break;case ig:O0(this,a,ye,wm);break;case ud:Ku(this,a,we/2,ye,wm)}switch(te){case Wv:Z1(this,b,ye+ae,Hc);break;case ig:O0(this,b,ye+ae,Hc);break;case ud:Ku(this,b,we/2,ye+ae,Hc)}}else{switch(te){case Wv:Z1(this,b,ye,wm);break;case ig:O0(this,b,ye,wm);break;case ud:Ku(this,b,we/2,ye,wm)}switch(te){case Wv:Z1(this,a,ye+ae,Hc);break;case ig:O0(this,a,ye+ae,Hc);break;case ud:Ku(this,a,we/2,ye+ae,Hc)}}}else switch(te){case Wv:Z1(this,x,ye,this.direction);break;case ig:O0(this,x,ye,this.direction);break;case ud:Ku(this,x,we,ye,this.direction);break;case Rf:CS(this,x,we,ye,this.direction)}else CS(this,x,we,ye-we/2,Hc)}this.updateParts(),this.network=null,this.isValidLayout=!0};function Ku(a,x,b,te,re){var oe=a.Wp,ae=a.lc;a=a.me,te=te*Math.PI/180,b=b*Math.PI/180;for(var fe=x.length,pe=0;peb){for(oe=te+(re===Hc?oe:-oe);0>oe;)oe+=360;oe%=360,180=we.length-1));be++)K1(a,pe,ye,we,be,re,oe)||c5(a,pe,ye,we,be,re,oe),pe=oe.x,ye=oe.y;if(dt.free(oe),a.mj++,!(23Math.abs(ke)?Math.abs(pe-oe)<(we[0].width+we[we.length-1].width)/2&&(ae=0):ae=0Math.abs(Ie)?0:Ie,pe=Math.abs(oe)>Math.abs(be)?0be:0a.mj?a.lc-ae/(2*Math.PI):5>we.length&&10=be.length-1));Ie++)K1(a,pe,ye,be,Ie,re,we)||c5(a,pe,ye,be,Ie,re,we),pe=we.x,ye=we.y;if(dt.free(we),a.mj++,!(23a.mj?a.lc-oe/(2*Math.PI):a.lc-(0fe){if(oe=x-a,oe<-fe)return ae.x=oe,ae.y=ye,!1;we=!0}}else if(oe=x-a,oe<-fe){if(oe=x+a,oe>fe)return ae.x=oe,ae.y=ye,!1;we=!0}return ye=Math.sqrt(1-Math.min(1,oe*oe/(fe*fe)))*pe,0>b!==we&&(ye=-ye),Math.abs(b-ye)>(te[re].height+te[re+1].height)/2?(ae.x=oe,ae.y=ye,!1):(ae.x=oe,ae.y=ye,!0)}function c5(a,x,b,te,re,oe,ae){var fe=a.lc,pe=a.me,ye=0;if(a=(te[re].height+te[re+1].height)/2+a.Ti,te=!1,0<=x!=(oe===Hc)){if(oe=b-a,oe<-pe){if(oe=b+a,oe>pe){ae.x=ye,ae.y=oe;return}te=!0}}else if(oe=b+a,oe>pe){if(oe=b-a,oe<-pe){ae.x=ye,ae.y=oe;return}te=!0}ye=Math.sqrt(1-Math.min(1,oe*oe/(pe*pe)))*fe,0>x!==te&&(ye=-ye),ae.x=ye,ae.y=oe}nl.prototype.commitLayout=function(){this.commitNodes(),this.isRouting&&this.commitLinks()},nl.prototype.commitNodes=function(){var a=this.group!==null&&this.group.placeholder!==null&&this.group.isSubGraphExpanded,x=a?this.group.location.copy():null,b=this.actualCenter;a?b=new dt(0,0):(b.x=this.arrangementOrigin.x+this.lc,b.y=this.arrangementOrigin.y+this.me);for(var te=this.network.vertexes.iterator;te.next();){var re=te.value;re.x+=b.x,re.y+=b.y,re.commit()}a&&(this.group.Va(),a=this.group.position.copy(),b=this.group.location.copy(),x=x.re(b.re(a)),this.group.move(x),this.Zv=x.re(a))},nl.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()};function FC(a,x,b,te,re){var oe=a.ty;if(.001>Math.abs(a.Zm-1))return te!==void 0&&re!==void 0?re*x:2*Math.PI*x;a=x>b?Math.sqrt(x*x-b*b)/x:Math.sqrt(b*b-x*x)/b;for(var ae=0,fe=te!==void 0&&re!==void 0?re/(oe+1):Math.PI/(2*(oe+1)),pe=0,ye=0;ye<=oe;ye++){te!==void 0&&re!==void 0?pe=te+ye*re/oe:pe=ye*Math.PI/(2*oe);var we=Math.sin(pe);ae+=Math.sqrt(1-a*a*we*we)*fe}return te!==void 0&&re!==void 0?(x>b?x:b)*ae:4*(x>b?x:b)*ae}function bS(a,x,b,te,re){return x/(te!==void 0&&re!==void 0?FC(a,1,b,te,re):FC(a,1,b))}function eA(a,x,b,te,re){if(.001>Math.abs(a.Zm-1))return re/x;var oe=x>b?Math.sqrt(x*x-b*b)/x:Math.sqrt(b*b-x*x)/b,ae=0;a=2*Math.PI/(700*a.network.vertexes.count),x>b&&(te+=Math.PI/2);for(var fe=0;;fe++){var pe=Math.sin(te+fe*a);if(ae+=(x>b?x:b)*Math.sqrt(1-oe*oe*pe*pe)*a,ae>=re)return fe*a}}nl.prototype.sort=function(a){switch(this.sorting){case q1:break;case _1:a.reverse();break;case Sx:a.sort(this.comparer);break;case Qv:a.sort(this.comparer),a.reverse();break;case nA:return this.ak(_b(a));default:tn("Invalid sorting type.")}return a};function _b(a){for(var x=[],b=0;bre&&(re=fe,oe=ae)}else for(ae=0;aere&&(re=fe,oe=ae);for(b.add(a.M(oe)),x[oe]=-1,oe=a.M(oe),ae=oe.sourceEdges;ae.next();)re=a.indexOf(ae.value.fromVertex),0>re||0<=x[re]&&x[re]++;for(oe=oe.destinationEdges;oe.next();)re=a.indexOf(oe.value.toVertex),0>re||0<=x[re]&&x[re]++}return b}nl.prototype.ak=function(a){for(var x=[],b=0;bx[b].indexOf(re)&&x[b].push(re);for(te=te.sourceEdges;te.next();)re=a.indexOf(te.value.fromVertex),re!==b&&0>x[b].indexOf(re)&&x[b].push(re)}for(oe=[],b=0;bx[b[ze]].indexOf(b[ze===b.length-1?0:ze+1])&&ke.push(ze===b.length-1?0:ze+1);if(ke.length===0)for(ze=0;zeb.indexOf(Zt)||Ctb.indexOf(Zt)||Ct=Ge?Ct+1:Ct)),tt+=Ct=Ge&&Ct++,mt>=Ge&&mt++,Ct>mt&&(yt=mt,mt=Ct,Ct=yt),mt-Ct<(b.length+2)/2==(Ctke||ke===we||(ze=ke>we?ke-we:we-ke,be+=keae-ze?1:-1);b.splice(0>be?we:we+1,0,pe),te.splice(fe,1),fe--}else oe=!1;if(oe)break;b.push(te[0]),te.splice(0,1)}for(x=0;x=a?this.ul=a:this.ul=360,this.C())}},arrangement:{get:function(){return this.Rb},set:function(a){this.Rb===a||a!==Rf&&a!==ig&&a!==Wv&&a!==ud||(this.Rb=a,this.C())}},direction:{get:function(){return this.K},set:function(a){this.K===a||a!==Hc&&a!==wm&&a!==tA&&a!==J1||(this.K=a,this.C())}},sorting:{get:function(){return this.nd},set:function(a){this.nd===a||a!==q1&&a!==_1&&a!==Sx&&!Qv&&a!==nA||(this.nd=a,this.C())}},comparer:{get:function(){return this.hd},set:function(a){this.hd!==a&&(this.hd=a,this.C())}},spacing:{get:function(){return this.tf},set:function(a){this.tf!==a&&(this.tf=a,this.C())}},nodeDiameterFormula:{get:function(){return this.Nn},set:function(a){this.Nn===a||a!==$1&&a!==Px||(this.Nn=a,this.C())}},actualXRadius:{get:function(){return this.lc}},actualYRadius:{get:function(){return this.me}},actualSpacing:{get:function(){return this.Ti}},actualCenter:{get:function(){return this.Zv}}});var ig=new un(nl,"ConstantSpacing",0),Wv=new un(nl,"ConstantDistance",1),ud=new un(nl,"ConstantAngle",2),Rf=new un(nl,"Packed",3),Hc=new un(nl,"Clockwise",4),wm=new un(nl,"Counterclockwise",5),tA=new un(nl,"BidirectionalLeft",6),J1=new un(nl,"BidirectionalRight",7),q1=new un(nl,"Forwards",8),_1=new un(nl,"Reverse",9),Sx=new un(nl,"Ascending",10),Qv=new un(nl,"Descending",11),nA=new un(nl,"Optimized",12),$1=new un(nl,"Pythagorean",13),Px=new un(nl,"Circular",14);nl.className="CircularLayout",nl.ConstantSpacing=ig,nl.ConstantDistance=Wv,nl.ConstantAngle=ud,nl.Packed=Rf,nl.Clockwise=Hc,nl.Counterclockwise=wm,nl.BidirectionalLeft=tA,nl.BidirectionalRight=J1,nl.Forwards=q1,nl.Reverse=_1,nl.Ascending=Sx,nl.Descending=Qv,nl.Optimized=nA,nl.Pythagorean=$1,nl.Circular=Px;function rg(){this.Pl=-1/0,this.tm=this.mk=null}rg.prototype.compare=function(a,x){if(0this.Pl||Math.abs(a)a&&0fe?(re=Ie.x+Ie.width/2,oe=Ie.y+Ie.height/2,ye[0]=new dt(Ie.x+Ie.width+te.width,Ie.y),ye[1]=new dt(Ie.x,Ie.y+Ie.height+te.height),fe=2):(pe=t2(ye,fe,re,oe,Ie.width,Ie.height,te),be=ye[pe],ke=new dt(be.x+Ie.width+te.width,be.y),Ie=new dt(be.x,be.y+Ie.height+te.height),pe+1this.network.vertexes.count)return!1;for(var a=0,x=0,b=this.network.vertexes.first().bounds,te=this.network.vertexes.iterator;te.next();){if(te.value.bounds.Yc(b)&&(a++,2a.network.vertexes.count)return!1;for(a.ah=a.network.vertexes.Fa(),a=a.ah,a.sort(function(b,te){return b===null||te===null||b===te?0:te.Vd-b.Vd}),x=a.length-1;0<=x&&1>=a[x].Vd;)x--;return 1=ae))){for(var ye=fe=0,we=pe.count-ae;weke&&(ke=1),fe=Dt.sqrt((fe+ke+ye*ye*4/(ae*ae))/ke),ae=(fe-1)*we/2,fe=(fe-1)*be/2,re.bounds=new Lt(oe-Ie.x-ae,pe-Ie.y-fe,we+2*ae,be+2*fe),re.focus=new dt(Ie.x+ae,Ie.y+fe)}}return a.network=te,b}function DT(a,x){for(var b=a.network.vertexes.iterator;b.next();){var te=b.value;if(te.network=x,te.We!==null){var re=te.We.M(te.sv);te.Vd=re.Rs;var oe=re.Sv,ae=re.Tv;te.bounds=new Lt(te.centerX-oe,te.centerY-ae,re.Ss,re.Qs),te.focus=new dt(oe,ae),te.sv--}}for(b=a.network.edges.iterator;b.next();)b.value.network=x;a.network=x}function e2(a,x){var b=x.Hj;if(b!==null&&b.count!==0){var te=x.centerX,re=x.centerY,oe=x.width,ae=x.height;x.We!==null&&0=be.Vd?pe++:(fe=!0,ye++,ae+=Math.atan2(x.centerY-be.centerY,x.centerX-be.centerX))}if(pe!==0){for(0>1)+ye)*(fe%2===0?1:-1),pe.centerX=te+we*Math.cos(be),pe.centerY=re+we*Math.sin(be),fe++}}}}function t2(a,x,b,te,re,oe,ae){var fe=9e19,pe=-1,ye=0;e:for(;yewe.y&&a[Ie].x-we.xwe.x&&a[Ie].y-we.yx+oe?(b=te+re-ae,a=a-x-oe,Dt.sqrt(b*b+a*a)):a+bae+fe?a>x+oe?(b=te-ae-fe,a=a-x-oe,Dt.sqrt(b*b+a*a)):a+bx+oe?a-(x+oe):a+b=x.length)return!1;var b=x[0];b.forceX=0,b.forceY=0;for(var te=b.centerX,re=te,oe=b=b.centerY,ae=1;aeoe-b)?x.sort(function(Ge,st){return Ge===null||st===null||Ge===st?0:Ge.centerX-st.centerX}):x.sort(function(Ge,st){return Ge===null||st===null||Ge===st?0:Ge.centerY-st.centerY}),b=a.Zf;var ye=te=fe=0;for(oe=0;oeb||ye-pe>b){if(re)break}else if(we-ke>b||ke-we>b){if(!re)break}else{var ze=LC(ae,Ie);1>ze?(te=a.randomNumberGenerator,te===null&&(a.randomNumberGenerator=te=new nw),ze=te.random(),fe=te.random(),pe>ye?(te=Math.abs(Ie.bounds.right-ae.bounds.x),te=(1+te)*ze):peke?(ye=Math.abs(Ie.bounds.bottom-ae.bounds.y),ye=(1+ye)*fe):pebe?(be=a.randomNumberGenerator,be===null&&(a.randomNumberGenerator=be=new nw),fe=be.random(),be=be.random(),te=(te>pe?1:-1)*(1+(oe.width>b.width?oe.width:b.width))*fe,ye=(ae>we?1:-1)*(1+(oe.height>b.height?oe.height:b.height))*be):(fe=fe.stiffness*(be-fe.length),te=(pe-te)/be*fe,ye=(we-ae)/be*fe),b.forceX+=te,b.forceY+=ye,oe.forceX-=te,oe.forceY-=ye;for(re=te=0;rea.epsilonDistance*a.epsilonDistance}sc.prototype.moveVertex=function(a){var x=a.forceX,b=a.forceY,te=this.moveLimit;return x<-te?x=-te:x>te&&(x=te),b<-te?b=-te:b>te&&(b=te),a.centerX+=x,a.centerY+=b,x*x+b*b},sc.prototype.moveFixedVertex=function(){},sc.prototype.commitLayout=function(){this.yv(),this.commitNodes(),this.isRouting&&this.commitLinks()},sc.prototype.yv=function(){if(this.setsPortSpots)for(var a=this.network.edges.iterator;a.next();){var x=a.value.link;x!==null&&(x.fromSpot=va,x.toSpot=va)}},sc.prototype.commitNodes=function(){var a=0,x=0;if(this.arrangesToOrigin){var b=Lt.alloc();this.computeBounds(this.network,b),x=this.arrangementOrigin,a=x.x-b.x,x=x.y-b.y,Lt.free(b)}b=Lt.alloc();for(var te=this.network.vertexes.iterator;te.next();){var re=te.value;(a!==0||x!==0)&&(b.assign(re.bounds),b.x+=a,b.y+=x,re.bounds=b),re.commit()}Lt.free(b)},sc.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()},sc.prototype.springStiffness=function(a){return a=a.stiffness,isNaN(a)?this.Hk:a},sc.prototype.springLength=function(a){return a=a.length,isNaN(a)?this.Gk:a},sc.prototype.electricalCharge=function(a){return a=a.charge,isNaN(a)?this.Ek:a},sc.prototype.electricalFieldX=function(){return 0},sc.prototype.electricalFieldY=function(){return 0},sc.prototype.gravitationalMass=function(a){return a=a.mass,isNaN(a)?this.Fk:a},sc.prototype.gravitationalFieldX=function(){return 0},sc.prototype.gravitationalFieldY=function(){return 0},sc.prototype.isFixed=function(a){return a.isFixed},wn.Object.defineProperties(sc.prototype,{currentIteration:{get:function(){return this.An}},arrangementSpacing:{get:function(){return this.$d},set:function(a){this.$d.D(a)||(this.$d.assign(a),this.C())}},arrangesToOrigin:{get:function(){return this.Bm},set:function(a){this.Bm!==a&&(this.Bm=a,this.C())}},setsPortSpots:{get:function(){return this.sf},set:function(a){this.sf!==a&&(this.sf=a,this.C())}},comments:{get:function(){return this.td},set:function(a){this.td!==a&&(this.td=a,this.C())}},maxIterations:{get:function(){return this.dl},set:function(a){this.dl!==a&&0<=a&&(this.dl=a,this.C())}},epsilonDistance:{get:function(){return this.$m},set:function(a){this.$m!==a&&0Ge&&0Ge&&0a[this.Md]&&(this.Iq=a[b]-1,this.Md=b),a[b]ae)for(var we=ae+1;wepe;we--)be=te[we],be.near===ye&&be.Dj===ye.Dj||fe++;var Ie;if(0<=b)for(pe=te[ae].sourceEdgesArrayAccess,ye=0;yeGe||be===Ge&&ke>ze)&&fe++,stbe||Ge===be&&ze>ke)&&fe++}}}if(0>=b){for(pe=te[ae].destinationEdgesArrayAccess,ye=0;yeGe||be===Ge&&we>st)&&fe++,zebe||Ge===be&&st>we)&&fe++)}for(oe[ae*re+ae]=fe,pe=ae+1;pe=b){for(fe=te[ae].destinationEdgesArrayAccess,mt=te[pe].destinationEdgesArrayAccess,ye=0;ye=b&&(pe=fe.sourceEdgesArrayAccess);var ye=null;0<=b&&(ye=fe.destinationEdgesArrayAccess);var we=0,be=0,Ie=fe.near;if(Ie!==null&&Ie.layer===fe.layer&&(we+=Ie.column-1,be++),pe!==null)for(Ie=0;Ie=b&&(pe=fe.sourceEdgesArrayAccess);var ye=null;0<=b&&(ye=fe.destinationEdgesArrayAccess);var we=0,be=[],Ie=fe.near;if(Ie!==null&&Ie.layer===fe.layer&&(be[we]=Ie.column-1,we++),fe=void 0,pe!==null)for(Ie=0;Ie>1,oe[ae]=we&1?be[ye]:be[ye-1]+be[ye]>>1)}return Pm(a,x,te),oe}function oA(a,x,b,te,re,oe){if(x.component===te){if(x.component=b,re)for(var ae=x.destinationEdges;ae.next();){var fe=ae.value,pe=fe.toVertex,ye=x.layer-pe.layer;fe=a.linkMinLength(fe),ye===fe&&oA(a,pe,b,te,re,oe)}if(oe)for(ae=x.sourceEdges;ae.next();)fe=ae.value,pe=fe.fromVertex,ye=pe.layer-x.layer,fe=a.linkMinLength(fe),ye===fe&&oA(a,pe,b,te,re,oe)}}function r2(a,x,b,te,re,oe){if(x.component===te){if(x.component=b,re)for(var ae=x.destinationEdges;ae.next();)r2(a,ae.value.toVertex,b,te,re,oe);if(oe)for(x=x.sourceEdges;x.next();)r2(a,x.value.fromVertex,b,te,re,oe)}}ls.prototype.removeCycles=function(){for(var a=this.network.edges.iterator;a.next();)a.value.rev=!1;switch(this.Dk){default:case zC:a=this.network;var x=0,b=a.vertexes.count-1,te=[];te.length=b+1;for(var re=a.vertexes.iterator;re.next();)re.value.valid=!0;for(;g5(a)!==null;){for(re=p5(a);re!==null;)te[b]=re,b--,re.valid=!1,re=p5(a);for(re=Op(a);re!==null;)te[x]=re,x++,re.valid=!1,re=Op(a);re=null;for(var oe=0,ae=this.network.vertexes.iterator;ae.next();){var fe=ae.value;if(fe.valid){for(var pe=0,ye=fe.destinationEdges;ye.next();)ye.value.toVertex.valid&&pe++;ye=0;for(var we=fe.sourceEdges;we.next();)we.value.fromVertex.valid&&ye++;(re===null||oex.toVertex.index&&(a.gm(x),x.rev=!0);break;case FS:for(te=this.network.vertexes.iterator;te.next();)a=te.value,a.Ll=-1,a.finish=-1;for(a=this.network.edges.iterator;a.next();)a.value.forest=!1;for(this.Kn=0,te.reset();te.next();)x=te.value,x.sourceEdges.count===0&&sA(this,x);for(te.reset();te.next();)x=te.value,x.Ll===-1&&sA(this,x);for(a.reset();a.next();)te=a.value,te.forest||(x=te.fromVertex,b=x.finish,re=te.toVertex,oe=re.finish,re.Llte){if(0>te)for(x.reset();x.next();)x.value.layer-=te;for(te=[],x.reset();x.next();)b=x.value,re=te[b.layer],re===void 0?te[b.layer]=[b]:re.push(b);for(b=x=0;bae&&oA(a,fe,0,-1,!0,!1)}for(oA(a,x,1,-1,!0,!0);x.component!==0;){for(oe=0,te=1/0,fe=0,pe=null,ae=a.network.vertexes.iterator;ae.next();){var ye=ae.value;if(ye.component===1){var we=0,be=!1,Ie=ye.sourceEdgesArrayAccess;re=Ie.length;for(var ke=0;keoe)&&!we&&(fe=ae,oe=ye)}if(0>te){for(b.reset();b.next();)te=b.value,te.component===1&&(te.layer-=re);x.component=0}else fe.component=0}}}function bx(a,x,b){return a.K===90?b&&!x.rev||!b&&x.rev?270:90:a.K===180?b&&!x.rev||!b&&x.rev?0:180:a.K===270?b&&!x.rev||!b&&x.rev?90:270:b&&!x.rev||!b&&x.rev?180:0}ls.prototype.initializeIndices=function(){switch(this.Qk){default:case l2:for(var a=this.network.vertexes.iterator;a.next();){var x=a.value,b=x.layer;x.index=this.tc[b],this.tc[b]++}break;case aA:for(a=this.network.vertexes.iterator,x=this.Ia;0<=x;x--)for(a.reset();a.next();)b=a.value,b.layer===x&&b.index===-1&&TS(this,b);break;case LS:for(a=this.network.vertexes.iterator,x=0;x<=this.Ia;x++)for(a.reset();a.next();)b=a.value,b.layer===x&&b.index===-1&&DS(this,b)}};function TS(a,x){var b=x.layer;for(x.index=a.tc[b],a.tc[b]++,x=x.destinationEdgesArrayAccess,b=!0;b;){b=!1;for(var te=0;teoe.portFromColOffset&&(b=!0,x[te]=oe,x[te+1]=re)}}for(b=0;boe.portToColOffset&&(te=!0,x[b]=oe,x[b+1]=re)}for(b=0;b=ae;te--)oe=Of(this,te,-1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,-1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,0)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,0)||oe;re>=a?cd(this,x):(a=re,x=dh(this))}break;default:case Kv:for(b=this.Ia,ae=0,fe=a+1;(te=this.countCrossings())=ae;te--)oe=Of(this,te,-1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,1)||oe;for(re=this.countCrossings(),re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,-1)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=b;te>=ae;te--)oe=Of(this,te,0)||oe;for(re>=a?cd(this,x):(a=re,x=dh(this)),oe=!0;oe;)for(oe=!1,te=ae;te<=b;te++)oe=Of(this,te,0)||oe;re>=a?cd(this,x):(a=re,x=dh(this))}}cd(this,x)};function kC(a,x,b){var te=z0(a,x),re=a.tc[x],oe=FT(a,x,b),ae=i2(a,x,b);for(b=0;boe+1&&(Ie+=4*(gt-oe),ke+=4*(gt-(oe+1)))}for(yt=te[oe].destinationEdges.iterator,yt.reset();yt.next();)if(gt=yt.value,mt=gt.toVertex,gt.valid&&mt.layer===x){for(gt=0;te[gt]!==mt;)gt++;gt===oe+1&&(ke+=1)}for(yt=te[oe+1].sourceEdges.iterator,yt.reset();yt.next();)if(gt=yt.value,mt=gt.fromVertex,gt.valid&&mt.layer===x){for(gt=0;te[gt]!==mt;)gt++;gtoe+1&&(Ie+=4*(gt-(oe+1)),ke+=4*(gt-oe))}for(yt=te[oe+1].destinationEdges.iterator,yt.reset();yt.next();)if(gt=yt.value,mt=gt.toVertex,gt.valid&&mt.layer===x){for(gt=0;te[gt]!==mt;)gt++;gt===oe&&(Ie+=1)}gt=mt=0,yt=ae[te[oe].index];var Ct=fe[te[oe].index],Zt=ae[te[oe+1].index],Qn=fe[te[oe+1].index];yt!==-1&&(mt+=Math.abs(yt-ze),gt+=Math.abs(yt-tt)),Ct!==-1&&(mt+=Math.abs(Ct-ze),gt+=Math.abs(Ct-tt)),Zt!==-1&&(mt+=Math.abs(Zt-Ge),gt+=Math.abs(Zt-st)),Qn!==-1&&(mt+=Math.abs(Qn-Ge),gt+=Math.abs(Qn-st)),(ke>1)+8*te;this.Ra*=8}if(this.bg&2)for(b=!0;b;){for(b=!1,x=this.Md+1;x<=this.Ia;x++)b=Tg(this,x,1)||b;for(x=this.Md-1;0<=x;x--)b=Tg(this,x,-1)||b;b=Tg(this,this.Md,0)||b}if(this.bg&4){for(x=this.Md+1;x<=this.Ia;x++)s2(this,x,1);for(x=this.Md-1;0<=x;x--)s2(this,x,-1);s2(this,this.Md,0)}if(a&&(y5(this,-1),y5(this,1)),this.bg&2)for(b=!0;b;){for(b=!1,b=Tg(this,this.Md,0)||b,x=this.Md+1;x<=this.Ia;x++)b=Tg(this,x,0)||b;for(x=this.Md-1;0<=x;x--)b=Tg(this,x,0)||b}}else YL(this)};function Tg(a,x,b){for(var te=!1;v5(a,x,b);)te=!0;return te}function v5(a,x,b){var te,re=z0(a,x),oe=a.tc[x],ae=i2(a,x,-1);if(0b)for(te=0;tete-1||we-re[te-1].column-1>be+a.nodeMinColumnSpace(re[te-1],!1)?ke=we-1:ke=we,be=te+1>=oe||re[te+1].column-we-1>Ie+a.nodeMinColumnSpace(re[te+1],!0)?we+1:we;var ze=Ie=0,Ge=0;if(0>=b)for(var st=re[te].sourceEdges.iterator;st.next();){var tt=st.value,gt=tt.fromVertex;if(tt.valid&>.layer!==x){var mt=IC(tt),yt=tt.portFromColOffset;tt=tt.portToColOffset,gt=gt.column,Ie+=(Math.abs(we+tt-(gt+yt))+1)*mt,ze+=(Math.abs(ke+tt-(gt+yt))+1)*mt,Ge+=(Math.abs(be+tt-(gt+yt))+1)*mt}}if(0<=b)for(st=re[te].destinationEdges.iterator;st.next();)tt=st.value,gt=tt.toVertex,tt.valid&>.layer!==x&&(mt=IC(tt),yt=tt.portFromColOffset,tt=tt.portToColOffset,gt=gt.column,Ie+=(Math.abs(we+yt-(gt+tt))+1)*mt,ze+=(Math.abs(ke+yt-(gt+tt))+1)*mt,Ge+=(Math.abs(be+yt-(gt+tt))+1)*mt);tt=yt=mt=0,st=ae[re[te].index],gt=fe[re[te].index],st!==-1&&(mt+=Math.abs(st-we),yt+=Math.abs(st-ke),tt+=Math.abs(st-be)),gt!==-1&&(mt+=Math.abs(gt-we),yt+=Math.abs(gt-ke),tt+=Math.abs(gt-be)),ze=ae[b]?we=pe:ye<=ae[b]&&(we=ye));we!==fe&&(oe=!0,te[b].column=we)}Pm(a,x,te),a.normalize()}function a2(a,x){for(var b=!0,te=a.network.vertexes.iterator;te.next();){var re=te.value,oe=a.nodeMinColumnSpace(re,!0),ae=a.nodeMinColumnSpace(re,!1);if(re.column-oe<=x&&re.column+ae>=x){b=!1;break}}if(a=!1,b)for(te.reset();te.next();)b=te.value,b.column>x&&(--b.column,a=!0);return a}function Yv(a,x){var b=x+1,te,re=[],oe=[];for(te=0;te<=a.Ia;te++)re[te]=!1,oe[te]=!1;for(var ae=a.network.vertexes.iterator;ae.next();){te=ae.value;var fe=te.column-a.nodeMinColumnSpace(te,!0),pe=te.column+a.nodeMinColumnSpace(te,!1);fe<=x&&pe>=x&&(re[te.layer]=!0),fe<=b&&pe>=b&&(oe[te.layer]=!0)}for(fe=!0,b=!1,te=0;te<=a.Ia;te++)fe=fe&&!(re[te]&&oe[te]);if(fe)for(ae.reset();ae.next();)a=ae.value,a.column>x&&(--a.column,b=!0);return b}function y5(a,x){for(var b=0;b<=a.Ra;b++)for(;a2(a,b););for(a.normalize(),b=0;boe?cd(a,re):aex)for(b=a.Ra;0<=b;b--)for(re=dh(a),oe=OC(a),te=oe+1;oeoe?cd(a,re):aeb)for(te.reset();te.next();)re=te.value,re.column+a.nodeMinColumnSpace(re,!1)>=x&&(re.component=a.le);for(a.le++,te.reset();te.next();)x=te.value,x.component===-1&&(r2(a,x,a.le,-1,!0,!0),a.le++);var oe;for(x=[],oe=0;oeb)for(ae=a.Ra;0b)for(te.reset();te.next();)b=te.value,re[b.component]&&(b.column+=1)}function YL(a){for(var x=Co(),b=a.fl.length,te=0;te<=b;te++)x[te]=[];for(te=a.network.vertexes.iterator;te.next();){var re=te.value;x[b-re.layer][re.index]=re}b=new ei,ZL(x,b);var oe=null,ae=null,fe=null,pe=null,ye=(a.ve&1)!==0,we=(a.ve&2)!==0,be=(a.ve&4)!==0,Ie=(a.ve&8)!==0;for(ye&&(a.verticalAlignment(x,b,!0),oe=Mx(a,x,!0,!1)),x.reverse(),be&&(a.verticalAlignment(x,b,!1),fe=Mx(a,x,!1,!1)),te=Li(x),re=te.next();!re.done;re=te.next())re.value.reverse();Ie&&(a.verticalAlignment(x,b,!1),pe=Mx(a,x,!1,!0)),x.reverse(),we&&(a.verticalAlignment(x,b,!0),ae=Mx(a,x,!0,!0)),Ao(x),a.u(oe,ae,fe,pe),a.network.vertexes.each(function(ke){var ze=Co();ye&&ze.push(oe.get(ke)),we&&ze.push(ae.get(ke)),be&&ze.push(fe.get(ke)),Ie&&ze.push(pe.get(ke)),ze.sort(function(st,tt){return st-tt});var Ge=ze.length;Ge=(ze[Math.floor((Ge-1)/2)]+ze[Math.ceil((Ge-1)/2)])/2,Ao(ze),ke.zc=Ge})}function ZL(a,x){for(var b=a.length,te=1;tewe)&&x.add(be);oe++}re=we}}}ls.prototype.verticalAlignment=function(a,x,b){iw(a),a=Li(a);for(var te=a.next();!te.done;te=a.next()){var re=-1;te=Li(te.value);for(var oe=te.next();!oe.done;oe=te.next()){oe=oe.value;var ae=b?jC(oe):RT(oe),fe=ae.length;if(0=x[b].length)&&(ae=x[b][0],ae.sd===ae)){ae.sd.shift===1/0&&(ae.sd.shift=0),ae=b,fe=0;do{for(oe=x[ae][fe];oe.align!==oe.root;)oe=oe.align,ae++,0a&&tn("Could not determine previous vertex in layer"),x[b][a-1]}ls.prototype.u=function(a){for(var x=[],b=0;bae;ae++)if(x[ae]){var fe=IT(this,x[ae],te,re,ae);feae;oe={delta:oe.delta},ae++)x[ae]&&(oe.delta=ae===0||ae===2?te[b]-te[ae]:re[b]-re[ae],oe.delta!==0&&x[ae].each(function(pe){return function(ye){ye.value+=pe.delta}}(oe)));Ao(te),Ao(re)};function IT(a,x,b,te,re){if(!x||x.count===0)return b[re]=0,te[re]=0,1/0;var oe=1/0,ae=-1/0;return x.each(function(fe){var pe=fe.key;fe=fe.value,pe=a.K===90||a.K===270?pe.width:pe.height,feae&&(ae=fe+pe)}),b[re]=oe,te[re]=ae,ae-oe}ls.prototype.commitLayout=function(){if(this.setsPortSpots)for(var a=k0(this,!0),x=k0(this,!1),b=this.network.edges.iterator;b.next();){var te=b.value.link;te!==null&&(te.fromSpot=a,te.toSpot=x)}this.commitNodes(),this.Gu(),this.isRouting&&this.commitLinks()};function k0(a,x){return a.K===270?x?ga:ol:a.K===90?x?ol:ga:a.K===180?x?$s:ea:x?ea:$s}ls.prototype.commitNodes=function(){this.he=[],this.Ld=[],this.Kd=[],this.Ta=[];for(var a=0;a<=this.Ia;a++)this.he[a]=0,this.Ld[a]=0,this.Kd[a]=0,this.Ta[a]=0;for(a=this.network.vertexes.iterator;a.next();){var x=a.value,b=x.layer;this.he[b]=Math.max(this.he[b],this.nodeMinLayerSpace(x,!0)),this.Ld[b]=Math.max(this.Ld[b],this.nodeMinLayerSpace(x,!1))}x=0,b=this.ie;for(var te=0;te<=this.Ia;te++){var re=b;0>=this.he[te]+this.Ld[te]&&(re=0),0=be.bounds.bottom?(be=be.bounds.y+be.bounds.height,x.m(Ge++,yt,be+Zt),x.m(Ge++,yt,be),x.m(Ge++,yt,be-mt)):(x.m(Ge++,yt,Ct+Zt),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct-mt)):this.K===270?Ct<=be.bounds.y?(be=be.bounds.y,x.m(Ge++,yt,be-mt),x.m(Ge++,yt,be),x.m(Ge++,yt,be+Zt)):(x.m(Ge++,yt,Ct-mt),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct+Zt)):this.K===0&&(yt>=be.bounds.right?(be=be.bounds.x+be.bounds.width,x.m(Ge++,be+Zt,Ct),x.m(Ge++,be,Ct),x.m(Ge++,be-mt,Ct)):(x.m(Ge++,yt+Zt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt-mt,Ct)));else{x.m(Ge++,tt,gt);var Qn=0;this.K===180||this.K===0?((this.K===180?yt>=be.bounds.right:yt<=be.bounds.x)&&(Qn=(this.K===0?-mt:Zt)/2),x.m(Ge++,tt+Qn,Ct)):((this.K===270?Ct>=be.bounds.bottom:Ct<=be.bounds.y)&&(Qn=(this.K===90?-mt:Zt)/2),x.m(Ge++,yt,gt+Qn)),x.m(Ge++,yt,Ct)}}else mt=Math.max(10,this.he[st.layer]),Zt=Math.max(10,this.Ld[st.layer]),Ie?this.K===180?(x.m(Ge++,yt-mt-ze,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt+Zt+ze,Ct)):this.K===90?(x.m(Ge++,yt,Ct+Zt+ze),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct-mt-ze)):this.K===270?(x.m(Ge++,yt,Ct-mt-ze),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct+Zt+ze)):(x.m(Ge++,yt+Zt+ze,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt-mt-ze,Ct)):x.m(Ge++,yt,Ct)}be=st}(fe===null||ye!==bo||ke)&&(tt=x.i(Ge-1).x,gt=x.i(Ge-1).y,yt=x.i(Ge).x,Ct=x.i(Ge).y,ke?(ze=this.Ld[we.layer],this.K===180||this.K===0?(ke=gt,ke>=we.bounds.y&&ke<=we.bounds.bottom&&(this.K===180?yt>=we.bounds.x:yt<=we.bounds.right)&&(be=we.centerX+(this.K===180?-ze:ze),ke=we.bounds.x&&ke<=we.bounds.right&&(this.K===270?Ct>=we.bounds.y:Ct<=we.bounds.bottom)&&(be=we.centerY+(this.K===270?-ze:ze),ke=we.bounds.x?(be=we.bounds.x+we.bounds.width,x.L(Ge-2,be,gt),x.L(Ge-1,be+Zt,gt)):this.K===90&&Ct<=we.bounds.bottom?(be=we.bounds.y,x.L(Ge-2,tt,be),x.L(Ge-1,tt,be-mt)):this.K===270&&Ct>=we.bounds.y?(be=we.bounds.y+we.bounds.height,x.L(Ge-2,tt,be),x.L(Ge-1,tt,be+Zt)):this.K===0&&yt<=we.bounds.right&&(be=we.bounds.x,x.L(Ge-2,be,gt),x.L(Ge-1,be-mt,gt))):(mt=Math.max(10,this.he[we.layer]),Zt=Math.max(10,this.Ld[we.layer]),ke=0,this.K===180||this.K===0?((this.K===180?yt<=we.bounds.x:yt>=we.bounds.right)&&(ke=(this.K===0?Zt:-mt)/2),x.m(Ge++,yt+ke,gt)):((this.K===270?Ct<=we.bounds.y:Ct>=we.bounds.bottom)&&(ke=(this.K===90?Zt:-mt)/2),x.m(Ge++,tt,Ct+ke)),x.m(Ge++,yt,Ct)))}else{for(;we!==null&&we!==be;){for(mt=st=null,we=we.destinationEdges.iterator;we.next()&&(tt=we.value,tt.link!==b.link||(st=tt.toVertex,mt=tt.fromVertex,mt.node!==null&&(mt=null),st.node!==null)););if(st===null)break;st!==be&&(tt=x.i(Ge-1).x,gt=x.i(Ge-1).y,yt=st.centerX,Ct=st.centerY,ke?this.K===180||this.K===0?(mt!==null?mt.centerY:gt)!==Ct&&(mt=this.Ta[st.layer]+this.Rf.x,Ge===x.firstPickIndex+1&&(mt=this.K===0?Math.max(mt,tt):Math.min(mt,tt)),x.m(Ge++,mt,gt),x.m(Ge++,mt,Ct)):(mt!==null?mt.centerX:tt)!==yt&&(mt=this.Ta[st.layer]+this.Rf.y,Ge===x.firstPickIndex+1&&(mt=this.K===90?Math.max(mt,gt):Math.min(mt,gt)),x.m(Ge++,tt,mt),x.m(Ge++,yt,mt)):(mt=Math.max(10,this.he[st.layer]),Zt=Math.max(10,this.Ld[st.layer]),Ie?this.K===180?(x.m(Ge++,yt+Zt+ze,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt-mt-ze,Ct)):this.K===90?(x.m(Ge++,yt,Ct-mt-ze),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct+Zt+ze)):this.K===270?(x.m(Ge++,yt,Ct+Zt+ze),x.m(Ge++,yt,Math.max(Ct+Zt-ze/2,Ct)),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Math.min(Ct-mt+ze/2,Ct)),x.m(Ge++,yt,Ct-mt-ze)):(x.m(Ge++,yt-mt-ze,Ct),x.m(Ge++,Math.min(yt-mt+ze/2,yt),Ct),x.m(Ge++,yt,Ct),x.m(Ge++,yt,Ct),x.m(Ge++,Math.max(yt+Zt-ze/2,yt),Ct),x.m(Ge++,yt+Zt+ze,Ct)):this.K===180?(x.m(Ge++,yt+Zt,Ct),x.m(Ge++,yt-mt,Ct)):this.K===90?(x.m(Ge++,yt,Ct-mt),x.m(Ge++,yt,Ct+Zt)):this.K===270?(x.m(Ge++,yt,Ct+Zt),x.m(Ge++,yt,Ct-mt)):(x.m(Ge++,yt-mt,Ct),x.m(Ge++,yt+Zt,Ct)))),we=st}ke&&(tt=x.i(Ge-1).x,gt=x.i(Ge-1).y,yt=x.i(Ge).x,Ct=x.i(Ge).y,this.K===180||this.K===0?gt!==Ct&&(mt=this.K===0?Math.min(Math.max((yt+tt)/2,this.Ta[be.layer]+this.Rf.x),yt):Math.max(Math.min((yt+tt)/2,this.Ta[be.layer]+this.Rf.x),yt),x.m(Ge++,mt,gt),x.m(Ge++,mt,Ct)):tt!==yt&&(mt=this.K===90?Math.min(Math.max((Ct+gt)/2,this.Ta[be.layer]+this.Rf.y),Ct):Math.max(Math.min((Ct+gt)/2,this.Ta[be.layer]+this.Rf.y),Ct),x.m(Ge++,tt,mt),x.m(Ge++,yt,mt)))}te!==null&&Ie&&4<=x.pointsCount&&(ae!==null&&(ae=ye===bo?x.getLinkPointFromPoint(re,ae,ae.ga(nr),x.i(3),!0):x.i(0),ye===bo&&(ye=x.i(2),te=x.i(3),this.direction===90||this.direction===270?(x.L(1,(ae.x+ye.x)/2,ye.y),x.L(2,te.x,(ye.y+te.y)/2)):(x.L(1,ye.x,(ae.y+ye.y)/2),x.L(2,(ye.x+te.x)/2,te.y))),ae.w()||ae.set(re.actualBounds.center),x.L(0,ae.x,ae.y)),fe!==null&&(re=pe===bo?x.getLinkPointFromPoint(oe,fe,fe.ga(nr),x.i(x.pointsCount-4),!1):x.i(x.pointsCount-1),pe===bo&&(fe=x.i(x.pointsCount-3),pe=x.i(x.pointsCount-4),this.direction===90||this.direction===270?(x.L(x.pointsCount-2,(re.x+fe.x)/2,fe.y),x.L(x.pointsCount-2,pe.x,(fe.y+pe.y)/2)):(x.L(x.pointsCount-2,fe.x,(re.y+fe.y)/2),x.L(x.pointsCount-3,(fe.x+pe.x)/2,pe.y))),re.w()||re.set(oe.actualBounds.center),x.L(x.pointsCount-1,re.x,re.y))),x.zf(),b.commit()}}}this.avoidOrthogonalOverlaps()},ls.prototype.avoidOrthogonalOverlaps=function(){if(!(0>=this.linkSpacing)){for(var a=new $n,x=this.network.edges.iterator;x.next();){var b=x.value.link;b!==null&&b.isOrthogonal&&!a.contains(b)&&a.add(b)}if(0oe.y&&(we=ye.y>oe.y?0:ae.xoe.x&&(we=ye.x>oe.x?0:ae.yx.layer?1:a.rdx.rd?1:a.Icx.Ic?1:0:0},Ve.Ux=function(a,x){return a instanceof Cm&&x instanceof Cm&&a!==x?a.firstx.first||a.jx.j||a.rdx.rd?1:a.Icx.Ic?1:0:0},Ve.Js=function(a,x){return a instanceof Cm&&x instanceof Cm&&a!==x?a.jcx.jc||a.jx.j||a.rdx.rd?1:a.Icx.Ic?1:0:0},Ve.B=function(a,x){return a-=x,-1a},Ve.zi=function(a,x,b,te){var re=a.length,oe=te-b;if(!(1>=oe))if((0>b||b>=re-1)&&tn("not in range 0 <= from < length: "+b),oe===2)te=a[b],re=a[b+1],0=re)a.sort(x);else for(b=a.slice(0,te),b.sort(x),x=0;x=re)for(te=a.slice(b),te.sort(x),x=b;x=a.He.length){for(var te=[],re=0;rea&&(this.bg=a,this.C())}},alignOption:{get:function(){return this.ve},set:function(a){this.ve!==a&&0<=a&&16>a&&(this.ve=a,this.C())}},setsPortSpots:{get:function(){return this.sf},set:function(a){this.sf!==a&&(this.sf=a,this.C())}},linkSpacing:{get:function(){return this.Cn},set:function(a){this.Cn!==a&&0<=a&&(this.Cn=a,this.C())}},maxLayer:{get:function(){return this.Ia}},maxIndex:{get:function(){return this.Iq}},maxColumn:{get:function(){return this.Ra}},minIndexLayer:{get:function(){return this.Hn}},maxIndexLayer:{get:function(){return this.Md}}});var FS=new un(ls,"CycleDepthFirst",0),zC=new un(ls,"CycleGreedy",1),Bx=new un(ls,"CycleFromLayers",2),HC=new un(ls,"LayerOptimalLinkLength",0),rw=new un(ls,"LayerLongestPathSink",1),UC=new un(ls,"LayerLongestPathSource",2),aA=new un(ls,"InitDepthFirstOut",0),LS=new un(ls,"InitDepthFirstIn",1),l2=new un(ls,"InitNaive",2),VC=new un(ls,"AggressiveNone",0),Kv=new un(ls,"AggressiveLess",1),u2=new un(ls,"AggressiveMore",2),c2=8;ls.className="LayeredDigraphLayout",ls.CycleDepthFirst=FS,ls.CycleGreedy=zC,ls.CycleFromLayers=Bx,ls.LayerOptimalLinkLength=HC,ls.LayerLongestPathSink=rw,ls.LayerLongestPathSource=UC,ls.InitDepthFirstOut=aA,ls.InitDepthFirstIn=LS,ls.InitNaive=l2,ls.AggressiveNone=VC,ls.AggressiveLess=Kv,ls.AggressiveMore=u2,ls.PackNone=0,ls.PackExpand=1,ls.PackStraighten=2,ls.PackMedian=4,ls.PackAll=15,ls.AlignNone=0,ls.AlignUpperLeft=1,ls.AlignUpperRight=2,ls.AlignLowerLeft=4,ls.AlignLowerRight=8,ls.AlignAll=15;function Cm(){this.index=this.Ic=this.rd=this.jc=this.first=this.layer=0,this.link=null,this.j=0}Cm.className="SegInfo";function Tx(a){oa.call(this,a)}_t(Tx,oa),Tx.prototype.createVertex=function(){return new lf(this)},Tx.prototype.createEdge=function(){return new NS(this)},Tx.className="LayeredDigraphNetwork";function lf(a){Kl.call(this,a),this.$n=this.bo=this.ao=this.co=null,this.Za=this.Ag=this.Ig=-1,this.u=NaN,this.F=null,this.valid=!1,this.finish=this.Ll=NaN,this.Dj=0,this.dv=this.ev=null}_t(lf,Kl);function h2(a,x){return a.index-x.index}function ow(a,x){if(!a.$n){for(var b=[],te=Li(a.destinationEdgesArrayAccess),re=te.next();!re.done;re=te.next())re=re.value,re.valid&&b.push(re);a.$n=b}for(a=Li(a.$n),b=a.next();!b.done;b=a.next())if(b=b.value,b.toVertex===x)return b;tn("Unable to find destination edge to given vertex")}function jC(a){if(!a.co){for(var x=[],b=Li(a.sourceEdgesArrayAccess),te=b.next();!te.done;te=b.next())te=te.value,te.valid&&x.push(te.fromVertex);x.sort(h2),a.co=x}return a.co}function RT(a){if(!a.ao){for(var x=[],b=Li(a.destinationEdgesArrayAccess),te=b.next();!te.done;te=b.next())te=te.value,te.valid&&x.push(te.toVertex);x.sort(h2),a.ao=x}return a.ao}lf.prototype.Cl=function(a){Kl.prototype.Cl.call(this,a),this.bo=this.co=null},lf.prototype.Kl=function(a){Kl.prototype.Kl.call(this,a),this.bo=this.co=null},lf.prototype.zl=function(a){Kl.prototype.zl.call(this,a),this.$n=this.ao=null},lf.prototype.Jl=function(a){Kl.prototype.Jl.call(this,a),this.$n=this.ao=null},wn.Object.defineProperties(lf.prototype,{layer:{get:function(){return this.Ig},set:function(a){this.Ig!==a&&(this.Ig=a)}},column:{get:function(){return this.Ag},set:function(a){this.Ag!==a&&(this.Ag=a)}},index:{get:function(){return this.Za},set:function(a){this.Za!==a&&(this.Za=a)}},component:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}},near:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}}}),lf.prototype.deleteDestinationEdge=lf.prototype.Jl,lf.prototype.addDestinationEdge=lf.prototype.zl,lf.prototype.deleteSourceEdge=lf.prototype.Kl,lf.prototype.addSourceEdge=lf.prototype.Cl,lf.className="LayeredDigraphVertex";function NS(a){ch.call(this,a),this.j=this.ia=this.Ha=!1,this.V=this.u=NaN,this.F=this.o=0}_t(NS,ch),wn.Object.defineProperties(NS.prototype,{fromVertex:{get:function(){return this.kd},set:function(a){this.kd!==a&&(this.kd=a)}},toVertex:{get:function(){return this.qd},set:function(a){this.qd!==a&&(this.qd=a)}},valid:{get:function(){return this.Ha},set:function(a){this.Ha!==a&&(this.Ha=a)}},rev:{get:function(){return this.ia},set:function(a){this.ia!==a&&(this.ia=a)}},forest:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}},portFromPos:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}},portToPos:{get:function(){return this.V},set:function(a){this.V!==a&&(this.V=a)}},portFromColOffset:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},portToColOffset:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}}}),NS.className="LayeredDigraphEdge";function ho(a){Fa.call(this),this.Ub=new ei,this.Wn=lw,this.ud=kp,this.vo=zS,this.Bq=KC,this.$v=[],this.td=!0,this.Rb=w2,this.$d=new pt(10,10).freeze();var x=new hw(this);this.W=new hd(x),this.Y=new hd(x),this.ru=[],a&&Object.assign(this,a)}_t(ho,Fa),ho.prototype.cloneProtected=function(a){Fa.prototype.cloneProtected.call(this,a),a.Wn=this.Wn,a.vo=this.vo,a.Bq=this.Bq,a.td=this.td,a.Rb=this.Rb,a.$d.assign(this.$d),a.W.copyInheritedPropertiesFrom(this.W),a.Y.copyInheritedPropertiesFrom(this.Y)},ho.prototype.qb=function(a){a.classType===ho?a.name.indexOf("Alignment")===0?this.alignment=a:a.name.indexOf("Arrangement")===0?this.arrangement=a:a.name.indexOf("Compaction")===0?this.compaction=a:a.name.indexOf("Path")===0?this.path=a:a.name.indexOf("Sorting")===0?this.sorting=a:a.name.indexOf("Style")===0?this.treeStyle=a:tn("Unknown enum value: "+a):Fa.prototype.qb.call(this,a)},ho.prototype.createNetwork=function(){return new hw(this)},ho.prototype.makeNetwork=function(a){function x(te){if(te instanceof fi)return!te.isLinkLabel&&te.category!=="Comment";if(te instanceof jn){var re=te.fromNode;return re===null||re.isLinkLabel||re.category==="Comment"?!1:(te=te.toNode,!(te===null||te.isLinkLabel||te.category==="Comment"))}return!1}var b=this.createNetwork();return a instanceof Yt?(b.lg(a.nodes,!0,x),b.lg(a.links,!0,x)):a instanceof kr?b.lg(a.memberParts,!1,x):b.lg(a.iterator,!1,x),b},ho.prototype.doLayout=function(a){this.network===null&&(this.network=this.makeNetwork(a)),this.arrangement!==HS&&(this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin));var x=this.diagram;if(x===null&&a instanceof Yt&&(x=a),this.path===lw&&x!==null?this.ud=x.isTreePathToChildren?kp:_v:this.ud=this.path===lw?kp:this.path,0x.level)return!1;a.removeChild(b.parent,b)}return!0}ho.prototype.removeChild=function(a,x){if(a!==null&&x!==null){for(var b=a.children,te=0,re=0;rere?g2(this,a,ae,Cr,tt,gt):QC(this,a,ae,Cr,tt,gt),Cr=gt.x,tt=gt.width,gt=gt.height;break;case j0:for(yt=0;ytbe&&(BiIu&&(aw(a,-Iu,0,Hr,_o-1),V0(yt,-Iu,0),V0(Ct,-Iu,0),Iu=0)}Aa.S.h(Iu,Pi),tt=Math.max(tt,Zt),gt=Math.max(gt,mt+(Gn===0?0:ze)+Eu.height),Bi=Zt}else 0be&&(PiIu&&(aw(a,0,-Iu,Hr,_o-1),V0(yt,0,-Iu),V0(Ct,0,-Iu),Iu=0)),Aa.S.h(Bi,Iu),gt=Math.max(gt,Qn),tt=Math.max(tt,mt+(Gn===0?0:ze)+Eu.width),Pi=Qn;xn++}switch(0ye&&(ye=0),135Ge&&(Ge=0),pe===bm&&(fe+=Ie/2+a.focus.y),ae+=te+b):x?(a.comments===null?te>tt&&(tt=qv(pe,te-tt,0),ae=tt.x,fe=tt.y,tt=te,ye=0):tt=IS(a,tt,ye),0>ye&&(ae-=ye,ye=0),135gt&&(gt=qv(pe,0,st-gt),ae=gt.x,fe=gt.y,gt=st,Ge=0):gt=p2(a,gt,Ge),0>Ge&&(fe-=Ge,Ge=0),ae+=te+b),0re[0].x?re[2].assign(re[1]):re[1].assign(re[2])),re[3].yre[0].x?re[3].assign(re[2]):re[2].assign(re[3])),Gn[0].h(ye+te,0),Gn[1].h(Gn[0].x,st),Gn[2].yre[0].y?re[2].assign(re[1]):re[1].assign(re[2])),re[3].xre[0].y?re[3].assign(re[2]):re[2].assign(re[3])),Gn[0].h(0,Ge+st),Gn[1].h(te,Gn[0].y),Gn[2].xte?g2(a,x,re,xn,mt,yt):QC(a,x,re,xn,mt,yt),xn=yt.x,mt=yt.width,yt=yt.height;break;case j0:for(Ie=0;IeIe&&(ZtIe&&(Qnbe&&(be=0),135tt&&(tt=0)),x.la.h(be,tt),x.Da.h(mt,yt)}}ho.prototype.customAlignment=function(a,x,b,te,re){return[x,b,te,re]};function g2(a,x,b,te,re,oe){var ae=b.length;if(ae===0)return new Lt(te,0,re,oe);if(ae===1)return x=b[0],re=x.Da.width,oe=x.Da.height,new Lt(te,0,re,oe);for(var fe=x.nodeSpacing,pe=x.rowSpacing,ye=og(x)===90,we=0,be=0,Ie=0,ke=0;keye&&(re-=ye),oe=Math.max(oe,Math.max(ke,Ie)+a+ae.height),0>b.S.x&&(te=U0(x,b.S.x,!1,te,fe))):(b.S.h(re+a,te+fe/2-b.focus.y-b.la.y),re=Math.max(re,Math.max(ze,be)+a+ae.width),Ie=te+fe/2-b.focus.y-b.la.y,oe=Math.max(oe,Ie+ae.height),0>Ie&&(oe-=Ie),0>b.S.y&&(te=U0(x,b.S.y,!0,te,fe)))),new Lt(te,0,re,oe)}function QC(a,x,b,te,re,oe){var ae=b.length;if(ae===0)return new Lt(te,0,re,oe);if(ae===1)return b=b[0],re=b.Da.width,oe=b.Da.height,new Lt(te,0,re,oe);for(var fe=x.nodeSpacing,pe=x.rowSpacing,ye=og(x)===270,we=0,be=0,Ie=0,ke=0;kebe&&(re-=be),oe=Math.max(oe,Math.abs(Math.min(ke,Ie))+a+we.height),0>pe.S.x&&(te=U0(x,pe.S.x,!1,te,fe))):(pe.S.h(-re-we.width-a,te+fe/2-pe.focus.y-pe.la.y),re=Math.max(re,Math.abs(Math.min(ze,be))+a+we.width),Ie=te+fe/2-pe.focus.y-pe.la.y,oe=Math.max(oe,Ie+we.height),0>Ie&&(oe-=Ie),0>pe.S.y&&(te=U0(x,pe.S.y,!0,te,fe)))),x=0;xx&&(x=b+a.width),0>b&&(x-=b),x;case zp:return a.width>x?a.width:x;case Hp:return 2*a.focus.x>x?a.width:x+a.width-2*a.focus.x;case fl:case Em:return Math.max(a.width,Math.max(x,b+a.width)-Math.min(0,b));case j0:return a.width-a.focus.x+a.nodeSpacing/2+x;case bm:return Math.max(a.width,a.focus.x+a.nodeSpacing/2+x);default:return x}}function p2(a,x,b){switch(a.alignment){case Dx:case cw:return b+a.height>x&&(x=b+a.height),0>b&&(x-=b),x;case zp:return a.height>x?a.height:x;case Hp:return 2*a.focus.y>x?a.height:x+a.height-2*a.focus.y;case fl:case Em:return Math.max(a.height,Math.max(x,b+a.height)-Math.min(0,b));case j0:return a.height-a.focus.y+a.nodeSpacing/2+x;case bm:return Math.max(a.height,a.focus.y+a.nodeSpacing/2+x);default:return x}}function qv(a,x,b){switch(a){case cw:x/=2,b/=2;break;case Dx:x/=2,b/=2;break;case zp:b=x=0;break;case Hp:break;default:tn("Unhandled alignment value "+a.toString())}return new dt(x,b)}function Dg(a,x,b,te,re,oe){x=qv(x,b,te),aw(a,x.x,x.y,re,oe)}function aw(a,x,b,te,re){if(x!==0||b!==0)for(a=a.children;te<=re;te++){var oe=a[te].S;oe.x+=x,oe.y+=b}}function m2(a,x,b,te){var re=x.parent;switch(a.ud){case kp:for(a=x.sourceEdges;a.next();)x=a.value,x.fromVertex===re&&x.relativePoint.h(b,te);break;case _v:for(a=x.destinationEdges;a.next();)x=a.value,x.toVertex===re&&x.relativePoint.h(b,te);break;default:tn("Unhandled path value "+a.ud.toString())}}function V0(a,x,b){for(var te=0;tebe.length||ke===null||2>ke.length))for(re=b=0;bye&&oe.yoe.y&&yex.length||b===null||2>b.length)te=null;else{for(we=Xh(a,x.length+b.length),te=oe=pe=0;oepe;)ye=b[oe++],we[te++].h(ye.x+re,ye.y);for(b=Xh(a,te),pe=0;pebe.length||oe===null||2>oe.length)re=null;else{for(we=Xh(a,be.length+oe.length),re=ye=b=0;boe;)pe=be[b++],we[re++].h(pe.x,pe.y);for(oe=Xh(a,re),b=0;bbe.length||ke===null||2>ke.length))for(re=b=0;bpe&&oe.xoe.x&&pex.length||b===null||2>b.length)te=null;else{for(we=Xh(a,x.length+b.length),te=oe=pe=0;oepe;)ye=b[oe++],we[te++].h(ye.x,ye.y+re);for(b=Xh(a,te),pe=0;pebe.length||oe===null||2>oe.length)re=null;else{for(we=Xh(a,be.length+oe.length),re=ye=b=0;boe;)pe=be[b++],we[re++].h(pe.x,pe.y);for(oe=Xh(a,re),b=0;b=a?0:135>=a?90:225>=a?180:315>=a?270:0}ho.prototype.computeLayerSpacing=function(a){var x=og(a);x=x===90||x===270;var b=a.layerSpacing;if(0=a&&(this.W.nodeIndentPastParent=a,this.C())}},nodeSpacing:{get:function(){return this.W.nodeSpacing},set:function(a){this.W.nodeSpacing!==a&&(this.W.nodeSpacing=a,this.C())}},layerSpacing:{get:function(){return this.W.layerSpacing},set:function(a){this.W.layerSpacing!==a&&(this.W.layerSpacing=a,this.C())}},layerSpacingParentOverlap:{get:function(){return this.W.layerSpacingParentOverlap},set:function(a){this.W.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.W.layerSpacingParentOverlap=a,this.C())}},compaction:{get:function(){return this.W.compaction},set:function(a){this.W.compaction===a||a!==y2&&a!==YC||(this.W.compaction=a,this.C())}},breadthLimit:{get:function(){return this.W.breadthLimit},set:function(a){this.W.breadthLimit!==a&&0<=a&&(this.W.breadthLimit=a,this.C())}},rowSpacing:{get:function(){return this.W.rowSpacing},set:function(a){this.W.rowSpacing!==a&&(this.W.rowSpacing=a,this.C())}},rowIndent:{get:function(){return this.W.rowIndent},set:function(a){this.W.rowIndent!==a&&0<=a&&(this.W.rowIndent=a,this.C())}},commentSpacing:{get:function(){return this.W.commentSpacing},set:function(a){this.W.commentSpacing!==a&&(this.W.commentSpacing=a,this.C())}},commentMargin:{get:function(){return this.W.commentMargin},set:function(a){this.W.commentMargin!==a&&(this.W.commentMargin=a,this.C())}},setsPortSpot:{get:function(){return this.W.setsPortSpot},set:function(a){this.W.setsPortSpot!==a&&(this.W.setsPortSpot=a,this.C())}},portSpot:{get:function(){return this.W.portSpot},set:function(a){this.W.portSpot.D(a)||(this.W.portSpot=a,this.C())}},setsChildPortSpot:{get:function(){return this.W.setsChildPortSpot},set:function(a){this.W.setsChildPortSpot!==a&&(this.W.setsChildPortSpot=a,this.C())}},childPortSpot:{get:function(){return this.W.childPortSpot},set:function(a){this.W.childPortSpot.D(a)||(this.W.childPortSpot=a,this.C())}},alternateSorting:{get:function(){return this.Y.sorting},set:function(a){this.Y.sorting===a||a!==uw&&a!==RS&&a!==OS&&!kS||(this.Y.sorting=a,this.C())}},alternateComparer:{get:function(){return this.Y.comparer},set:function(a){this.Y.comparer!==a&&(this.Y.comparer=a,this.C())}},alternateAngle:{get:function(){return this.Y.angle},set:function(a){this.Y.angle===a||a!==0&&a!==90&&a!==180&&a!==270||(this.Y.angle=a,this.C())}},alternateAlignment:{get:function(){return this.Y.alignment},set:function(a){this.Y.alignment!==a&&(this.Y.alignment=a,this.C())}},alternateNodeIndent:{get:function(){return this.Y.nodeIndent},set:function(a){this.Y.nodeIndent!==a&&0<=a&&(this.Y.nodeIndent=a,this.C())}},alternateNodeIndentPastParent:{get:function(){return this.Y.nodeIndentPastParent},set:function(a){this.Y.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.Y.nodeIndentPastParent=a,this.C())}},alternateNodeSpacing:{get:function(){return this.Y.nodeSpacing},set:function(a){this.Y.nodeSpacing!==a&&(this.Y.nodeSpacing=a,this.C())}},alternateLayerSpacing:{get:function(){return this.Y.layerSpacing},set:function(a){this.Y.layerSpacing!==a&&(this.Y.layerSpacing=a,this.C())}},alternateLayerSpacingParentOverlap:{get:function(){return this.Y.layerSpacingParentOverlap},set:function(a){this.Y.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.Y.layerSpacingParentOverlap=a,this.C())}},alternateCompaction:{get:function(){return this.Y.compaction},set:function(a){this.Y.compaction===a||a!==y2&&a!==YC||(this.Y.compaction=a,this.C())}},alternateBreadthLimit:{get:function(){return this.Y.breadthLimit},set:function(a){this.Y.breadthLimit!==a&&0<=a&&(this.Y.breadthLimit=a,this.C())}},alternateRowSpacing:{get:function(){return this.Y.rowSpacing},set:function(a){this.Y.rowSpacing!==a&&(this.Y.rowSpacing=a,this.C())}},alternateRowIndent:{get:function(){return this.Y.rowIndent},set:function(a){this.Y.rowIndent!==a&&0<=a&&(this.Y.rowIndent=a,this.C())}},alternateCommentSpacing:{get:function(){return this.Y.commentSpacing},set:function(a){this.Y.commentSpacing!==a&&(this.Y.commentSpacing=a,this.C())}},alternateCommentMargin:{get:function(){return this.Y.commentMargin},set:function(a){this.Y.commentMargin!==a&&(this.Y.commentMargin=a,this.C())}},alternateSetsPortSpot:{get:function(){return this.Y.setsPortSpot},set:function(a){this.Y.setsPortSpot!==a&&(this.Y.setsPortSpot=a,this.C())}},alternatePortSpot:{get:function(){return this.Y.portSpot},set:function(a){this.Y.portSpot.D(a)||(this.Y.portSpot=a,this.C())}},alternateSetsChildPortSpot:{get:function(){return this.Y.setsChildPortSpot},set:function(a){this.Y.setsChildPortSpot!==a&&(this.Y.setsChildPortSpot=a,this.C())}},alternateChildPortSpot:{get:function(){return this.Y.childPortSpot},set:function(a){this.Y.childPortSpot.D(a)||(this.Y.childPortSpot=a,this.C())}}});var lw=new un(ho,"PathDefault",-1),kp=new un(ho,"PathDestination",0),_v=new un(ho,"PathSource",1),uw=new un(ho,"SortingForwards",10),RS=new un(ho,"SortingReverse",11),OS=new un(ho,"SortingAscending",12),kS=new un(ho,"SortingDescending",13),cw=new un(ho,"AlignmentCenterSubtrees",20),Dx=new un(ho,"AlignmentCenterChildren",21),zp=new un(ho,"AlignmentStart",22),Hp=new un(ho,"AlignmentEnd",23),fl=new un(ho,"AlignmentBus",24),Em=new un(ho,"AlignmentBusBranching",25),j0=new un(ho,"AlignmentTopLeftBus",26),bm=new un(ho,"AlignmentBottomRightBus",27),y2=new un(ho,"CompactionNone",30),YC=new un(ho,"CompactionBlock",31),zS=new un(ho,"StyleLayered",40),A2=new un(ho,"StyleLastParents",41),x5=new un(ho,"StyleAlternating",42),x2=new un(ho,"StyleRootOnly",43),w2=new un(ho,"ArrangementVertical",50),ZC=new un(ho,"ArrangementHorizontal",51),HS=new un(ho,"ArrangementFixedRoots",52),KC=new un(ho,"LayerIndividual",60),US=new un(ho,"LayerSiblings",61),VS=new un(ho,"LayerUniform",62);ho.className="TreeLayout",ho.PathDefault=lw,ho.PathDestination=kp,ho.PathSource=_v,ho.SortingForwards=uw,ho.SortingReverse=RS,ho.SortingAscending=OS,ho.SortingDescending=kS,ho.AlignmentCenterSubtrees=cw,ho.AlignmentCenterChildren=Dx,ho.AlignmentStart=zp,ho.AlignmentEnd=Hp,ho.AlignmentBus=fl,ho.AlignmentBusBranching=Em,ho.AlignmentTopLeftBus=j0,ho.AlignmentBottomRightBus=bm,ho.CompactionNone=y2,ho.CompactionBlock=YC,ho.StyleLayered=zS,ho.StyleLastParents=A2,ho.StyleAlternating=x5,ho.StyleRootOnly=x2,ho.ArrangementVertical=w2,ho.ArrangementHorizontal=ZC,ho.ArrangementFixedRoots=HS,ho.LayerIndividual=KC,ho.LayerSiblings=US,ho.LayerUniform=VS;function hw(a){oa.call(this,a)}_t(hw,oa),hw.prototype.createVertex=function(){return new hd(this)},hw.prototype.createEdge=function(){return new Fx(this)},hw.className="TreeNetwork";function hd(a){Kl.call(this,a),this.V=!1,this.hb=null,this.u=[],this.nb=this.Ha=this.F=this.ia=0,this.td=null,this.S=new dt(0,0),this.Da=new pt(0,0),this.la=new dt(0,0),this.im=this.hm=this.qA=!1,this.kp=this.Yo=null,this.nd=uw,this.hd=mS,this.Kb=0,this.Jb=Dx,this.Vq=this.Uq=0,this.Wq=20,this.ie=50,this.Aq=0,this.Hp=YC,this.Ap=0,this.nr=25,this.Gp=this.mr=10,this.Fp=20,this.xr=!0,this.dr=va,this.wr=!0,this.Dp=va}_t(hd,Kl),hd.prototype.copyInheritedPropertiesFrom=function(a){a!==null&&(this.nd=a.sorting,this.hd=a.comparer,this.Kb=a.angle,this.Jb=a.alignment,this.Uq=a.nodeIndent,this.Vq=a.nodeIndentPastParent,this.Wq=a.nodeSpacing,this.ie=a.layerSpacing,this.Aq=a.layerSpacingParentOverlap,this.Hp=a.compaction,this.Ap=a.breadthLimit,this.nr=a.rowSpacing,this.mr=a.rowIndent,this.Gp=a.commentSpacing,this.Fp=a.commentMargin,this.xr=a.setsPortSpot,this.dr=a.portSpot,this.wr=a.setsChildPortSpot,this.Dp=a.childPortSpot)},wn.Object.defineProperties(hd.prototype,{initialized:{get:function(){return this.V},set:function(a){this.V!==a&&(this.V=a)}},parent:{get:function(){return this.hb},set:function(a){this.hb!==a&&(this.hb=a)}},children:{get:function(){return this.u},set:function(a){if(this.u!==a){if(a!==null)for(var x=a.length,b=0;bke.y+b.rowIndent&&(oe=Math.min(oe,Math.max(be.y,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.top+re.y,re.y===0&&be.yke.x+b.rowIndent&&(oe=Math.min(oe,Math.max(be.x,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.left+re.x,re.x===0&&be.xke.y+b.rowIndent&&(oe=Math.min(oe,Math.max(be.y,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.top+re.y,re.y===0&&be.yke.x+b.rowIndent&&(oe=Math.min(oe,Math.max(be.x,oe-x.computeNodeIndent(b))))):b.alignment===zp?(oe=te.left+re.x,re.x===0&&be.x0&&Pt[Pt.length-1])||$r[0]!==6&&$r[0]!==2)){Hn=0;continue}if($r[0]===3&&(!Pt||$r[1]>Pt[0]&&$r[1]div{flex:1 1 auto;height:40px;line-height:40px;overflow:hidden;text-align:center;border-bottom:2px solid #4cacff;color:#05101a;font-size:16px}.content___b8rIE .leftContainer___BJcma .mdContent___F9FMQ{height:calc(100% - 57px);overflow-y:auto;padding:16px}.content___b8rIE .resizeBar___WbCV9{width:4px;cursor:ew-resize;height:100%;position:relative;display:flex;flex-flow:column nowrap;justify-content:center;background:#111c24}.content___b8rIE .resizeBar___WbCV9.has-unity-3d___BFusq{cursor:inherit;width:0}.content___b8rIE .resizeBar___WbCV9.has-unity-3d___BFusq .btn-resize___Zfl7O{margin-left:0}.content___b8rIE .resizeBar___WbCV9 .btn-resize{display:flex;flex-flow:column nowrap;text-align:center;justify-content:center;align-items:center;width:24px;height:24px;font-size:24px;z-index:903;border-radius:50%;position:absolute;margin-left:-10px;opacity:.7;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;background-color:#e0e0e0;color:#000000de}.content___b8rIE .resizeBar___WbCV9 .btn-resize:hover{opacity:1}.content___b8rIE .rightCotainer___iorUm{display:flex;flex-flow:column nowrap;justify-content:center;flex:1 1;position:relative;height:100%;background:#111c24}.user___I7MqL{color:#fff}.user___I7MqL img{width:30px;height:30px;border-radius:50%}.titleWrap___rJVb0{color:#fff!important;display:flex;flex-direction:column;justify-content:center;align-items:center}.title___jJ_Uz{font-size:16px;line-height:40px;height:30px}.endTimeWrap___CSA6g{width:1px;height:1px;overflow:hidden;display:block}.colorGray___oa4MJ{color:#888}.main___LPfvU{position:absolute;overflow:hidden;width:100%;height:calc(100vh - 130px)}.loadFail___CrCok{height:100%;background-color:#0003}.reload___dIu1q{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}.failIcon___g2eIS{font-size:100px;color:#f5f5f5;text-align:center}.failWrap___nbGWb{display:flex;flex-direction:column}.failReload___nOEAI{color:#1e8ffd;font-size:12px;cursor:pointer;margin-right:18px}.dataSetButton___Oe8Wq{display:flex;justify-content:center;align-items:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAACRCAYAAABAMKFdAAADU0lEQVR4nO3cO2/TYBTG8ee8dmMjJXZIaSFJlVYVlIugQtCp3ESlchMDggGB2BiYkdgY+AaIgY0PAGJhQSyIDZBgYWFiADY2hEhocRr7IJtLE0hROED8Duc/pqry6+tUb6YHFkdW0vxy9WAhrD+zSUdeUD0KossAjsCGo/PD8ekEzjkCXQCwrftneeAKfnnTPrCzCPARBvas5fi/uFJ91AVmXIe3M2Mvg+eIaRYEf5Bf/3Pc2FixsOxMGtcdS5CUTUwhE4cMVIi4CqYaE6oApggYlfxNf4QbCatzhnEeoGMgbAVg/uZNB+23uJFyfbfh5AZAh4aB+bm1cJ4X1q4DfAkgJw8Y+uJK9VGP+B4IB3IRddWLCyYqHiVPgexzlXvdH2zjUXLbFhi6cYWgdu37tWFL2WP1goktQPIShIJNuOzkGMlV22DITi5srPe48w4EzwJPT8anzikbYWkmSfiwBY6+GRDNWujKSv8hJi1w9M0QuGihK8sA5Frg6NtQvpdJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJMwB3rMUx6KMFjr6lj/Wtha4sQ8ALCxx9M8x4ZKEry7QL7fsMfLLA8ksOlpbarl8KAeyzzPZ1TKVUqm2IDN4QYNUaQjZr1G43l1yv1ALheP6k1X5sLsVR87nrBzsB7LDAldVzfUXO8kUQnuTH6a33bn3//mP0IV0Y4gf507oe62rNlThq3XX84mcCzaeTYBbhspI4aj12/XV3AKcO8FaAhv4NZqCJN7+8aSphc5aAdGlvjoDg/9Oky33FjeMjhqaIMEnkNABuIME0CLsANP7VIuC/nxWsVAJ3xd/lGJpl8H4C0u26uh24PnnBxGYiXmDwGYAXBp2+GfpaZHpVrhg+nYAu0delyDXLdWfTD+sLzLgC4r7XphULpV5YWwRwE8BM9+u57Rl2F0fN13HUvOX6pXSTbP77oVmB+1YcR82HI17wBsAJEOzci/JK9ZNeWO3YdHI/itvNV+66sPUFAFqaWbDlNpAAAAAASUVORK5CYII=);height:141px;width:38px;position:absolute;right:0;top:32%;cursor:pointer;left:auto;z-index:999;padding-top:15px;transition:right .3s}.ac___XyH5r .dataSetText___ltceD{color:#1e8ffd;position:relative;font-size:12px}.ac___XyH5r .dataSetText___ltceD:after{position:absolute;z-index:200;width:2px;height:26px;content:"";background-color:#1e8ffd;top:50%;left:4px;transform:translateY(-50%)}.dataSetText___ltceD{writing-mode:tb-rl;color:#fff;padding-left:10px;font-size:12px}.dataSetOpen___YeOkS{right:330px;transition:all .35s}.footer____7Qyw{display:flex;justify-content:center;align-items:center;height:70px;position:fixed;bottom:0;left:0;z-index:900;width:100%}.footer____7Qyw>span{position:absolute;left:20px;font-size:14px;color:#333}.footer____7Qyw>button{height:40px;border-radius:4px;font-size:16px}.start___mqFxv{width:100%;height:100%;background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.start___mqFxv .title___jJ_Uz{font-size:16px;color:#272a3a}.start___mqFxv>b{display:inline-block;color:#0152d9;font-size:30px;margin-top:30px;margin-bottom:70px}.start___mqFxv .liWarp___MZgVd{width:774px;max-height:500px;overflow-y:auto}.start___mqFxv .liWarp___MZgVd .li___Pwqoe{width:333px;height:30px;line-height:28px;border-radius:4px;border:1px solid #0152d9;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;padding:0 12px;color:#0152d9;display:inline-block;margin:0 26px 23px;cursor:pointer}.start___mqFxv .liWarp___MZgVd .li___Pwqoe i{margin-right:6px}.start___mqFxv .liWarp___MZgVd .li___Pwqoe:hover{line-height:30px;background:#0152d9;color:#fff}.disabled___shXs_:disabled,.disabled___shXs_:disabled:hover{background:#555d68;border:1px solid #555d68;color:#fff!important}.drawerWrap___usUlu div[class~=ant-drawer-content-wrapper]{width:330px;padding-top:60px}.drawerWrap___usUlu div[class~=ant-drawer-mask]{opacity:0!important}.drawerWrap___usUlu div[class~=ant-drawer-content]{overflow:hidden;background:#070f1a;padding-bottom:40px}.drawerWrap___usUlu div[class~=ant-drawer-body]{padding:0}.drawerWrap___usUlu div[class~=markdown-body]{color:#fff}.drawerWrap___usUlu div[class~=markdown-body] pre[class~=prettyprint]{color:#333}.drawer___o0tZt{height:100%}.title___N0L4E{padding-left:20px;height:49px;line-height:49px;background:#070f1a;color:#fff;border-top:1px solid #17212f;border-bottom:1px solid #17212f;margin-bottom:6px}.titleIcon___KdORp{color:#28b887;font-size:30px;margin-right:20px}.filePathWrap___UnfcQ{color:#888;font-size:16px;background:#070f1a;border-bottom:1px solid #17212f;border-top:1px solid #17212f;padding-top:5px}.filePathContent___DE1uf{display:flex;flex-direction:row;justify-content:space-between}.folderName___aiFc7{margin-left:20px;color:#fff;height:45px;line-height:45px;max-width:186px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:186px}.copy___u1LKa{height:45px;line-height:45px;color:#0152d9;font-size:14px;margin-right:10px}.listWrap___rwuBa{overflow-y:auto;margin-left:20px;height:calc(100vh - 240px)}.item___V_PLr{display:flex;flex-direction:row;justify-content:space-between}.itemText___uj01z{display:flex;align-items:center;font-size:14px;color:#fff;max-width:152px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:152px}.disableTips___fbeqZ{display:inline-block;position:fixed;padding:2px 10px;background-color:#fff;z-index:1000;color:#000;border-radius:4px;opacity:.9;white-space:nowrap}@font-face{font-family:KaTeX_AMS;src:url(./static/KaTeX_AMS-Regular.e101fd3b.woff2) format("woff2"),url(./static/KaTeX_AMS-Regular.89a32939.woff) format("woff"),url(./static/KaTeX_AMS-Regular.76b481f1.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(./static/KaTeX_Caligraphic-Bold.804b0502.woff2) format("woff2"),url(./static/KaTeX_Caligraphic-Bold.ebf5447d.woff) format("woff"),url(./static/KaTeX_Caligraphic-Bold.28758623.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(./static/KaTeX_Caligraphic-Regular.7ca15b3a.woff2) format("woff2"),url(./static/KaTeX_Caligraphic-Regular.d642f1a8.woff) format("woff"),url(./static/KaTeX_Caligraphic-Regular.fe9310f0.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(./static/KaTeX_Fraktur-Bold.33bcfed3.woff2) format("woff2"),url(./static/KaTeX_Fraktur-Bold.fc482350.woff) format("woff"),url(./static/KaTeX_Fraktur-Bold.70f2abc1.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(./static/KaTeX_Fraktur-Regular.86cfbe4e.woff2) format("woff2"),url(./static/KaTeX_Fraktur-Regular.29abfb1c.woff) format("woff"),url(./static/KaTeX_Fraktur-Regular.51bff235.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-Bold.603892c5.woff2) format("woff2"),url(./static/KaTeX_Main-Bold.9f5bc66f.woff) format("woff"),url(./static/KaTeX_Main-Bold.da66c0ab.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-BoldItalic.bd95a810.woff2) format("woff2"),url(./static/KaTeX_Main-BoldItalic.c31eb616.woff) format("woff"),url(./static/KaTeX_Main-BoldItalic.962b328a.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-Italic.7662be2b.woff2) format("woff2"),url(./static/KaTeX_Main-Italic.3c94ae8c.woff) format("woff"),url(./static/KaTeX_Main-Italic.b1598925.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-Regular.7056d1df.woff2) format("woff2"),url(./static/KaTeX_Main-Regular.f23b28dc.woff) format("woff"),url(./static/KaTeX_Main-Regular.fe159c21.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(./static/KaTeX_Math-BoldItalic.df742084.woff2) format("woff2"),url(./static/KaTeX_Math-BoldItalic.a6fde119.woff) format("woff"),url(./static/KaTeX_Math-BoldItalic.8ee92314.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Math;src:url(./static/KaTeX_Math-Italic.912cb075.woff2) format("woff2"),url(./static/KaTeX_Math-Italic.ad043b21.woff) format("woff"),url(./static/KaTeX_Math-Italic.f4a2fd50.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(./static/KaTeX_SansSerif-Bold.198a2b19.woff2) format("woff2"),url(./static/KaTeX_SansSerif-Bold.2dee50c6.woff) format("woff"),url(./static/KaTeX_SansSerif-Bold.9ae5090b.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_SansSerif;src:url(./static/KaTeX_SansSerif-Italic.58452206.woff2) format("woff2"),url(./static/KaTeX_SansSerif-Italic.f88f16ed.woff) format("woff"),url(./static/KaTeX_SansSerif-Italic.363562bf.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(./static/KaTeX_SansSerif-Regular.50cd68ac.woff2) format("woff2"),url(./static/KaTeX_SansSerif-Regular.13e35ac8.woff) format("woff"),url(./static/KaTeX_SansSerif-Regular.d1c35243.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(./static/KaTeX_Script-Regular.2fc42204.woff2) format("woff2"),url(./static/KaTeX_Script-Regular.8f35f84f.woff) format("woff"),url(./static/KaTeX_Script-Regular.d09e0cea.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(./static/KaTeX_Size1-Regular.03ff84ee.woff2) format("woff2"),url(./static/KaTeX_Size1-Regular.2222c8c3.woff) format("woff"),url(./static/KaTeX_Size1-Regular.920c8080.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(./static/KaTeX_Size2-Regular.fa296a19.woff2) format("woff2"),url(./static/KaTeX_Size2-Regular.45c74525.woff) format("woff"),url(./static/KaTeX_Size2-Regular.7d3e746e.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(./static/KaTeX_Size3-Regular.d9075b2b.woff2) format("woff2"),url(./static/KaTeX_Size3-Regular.62bef299.woff) format("woff"),url(./static/KaTeX_Size3-Regular.39f7a039.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(./static/KaTeX_Size4-Regular.93084eec.woff2) format("woff2"),url(./static/KaTeX_Size4-Regular.3ee0d868.woff) format("woff"),url(./static/KaTeX_Size4-Regular.cd3f02bf.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(./static/KaTeX_Typewriter-Regular.65cd6476.woff2) format("woff2"),url(./static/KaTeX_Typewriter-Regular.3f215ba2.woff) format("woff"),url(./static/KaTeX_Typewriter-Regular.73468499.ttf) format("truetype");font-weight:400;font-style:normal}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.11.1"}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathdefault{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left}.wrp___dq7YK{display:flex;justify-content:center;align-items:center;position:fixed;width:100%;height:100%;left:0;top:0;z-index:108}.wrp___dq7YK.bgBlack___ARIUV{background:#00000080}.wrp___dq7YK img,.wrp___dq7YK video{max-width:100%;max-height:80%;text-align:center}.wrp___dq7YK iframe{width:100%;height:100%;position:absolute;left:0;top:0;background:#fff;border:none}.monaco___VnZC3{position:absolute;height:100%;width:100%}.darkBlue___UprA9 *{font-size:14px}.darkBlue___UprA9 [class~=margin],.darkBlue___UprA9 [class~=monaco-editor-background]{background:#0a0e2d!important}.darkBlue___UprA9 [class~=line-numbers]{color:#fff!important}.close___LKoWu{position:absolute;right:40px;top:40px;z-index:10;display:flex}.close___LKoWu>span{background:#4a4a4a;color:#fff;width:40px;height:40px;border-radius:4px;display:flex;justify-content:center;align-items:center;cursor:pointer;margin-left:10px}.embed___hvpEJ{position:absolute;left:0;top:0;width:100%;height:100%}.my-monaco-editor div,.my-diff-editor div{font-size:unset}.my-error-line-wrp{width:calc(100% - 20px)!important;background:#f5000033!important;height:auto!important;color:#f50000}.noCopyPaste .quick-input-widget{display:none!important}.breakpoints-select{background:red;width:8px!important;height:8px!important;left:7px!important;top:7px;border-radius:4px;user-select:none;pointer-events:none}.breakpoints-fake{background:#ff000080;width:8px!important;height:8px!important;left:7px!important;top:7px;border-radius:4px;user-select:none;pointer-events:none}.highlighted-line{background:#4b4b18}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-content-wrapper]{width:330px;padding-top:60px}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-mask]{opacity:0!important}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-content]{overflow:hidden;background:#070f1a;padding-bottom:40px}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-body]{padding:0}.drawer___ntUC2{height:100%}.title___Z2x84{position:relative;padding-left:20px;height:49px;background:#070f1a;color:#fff;border-top:1px solid #17212f;display:flex;align-items:center;margin:0;font-size:18px}.closeBtn___V3pCn{color:#fff;position:absolute;right:0;top:-23px;cursor:pointer}.titleIcon___mIUoJ{color:#28b887;font-size:30px;margin-right:20px}.filePathWrap___ib1bc{color:#888;font-size:16px;background:#070f1a;border-bottom:1px solid #17212f;border-top:1px solid #17212f;padding-top:5px}.filePathContent___JrvtY{display:flex;flex-direction:row;justify-content:space-between}.folderName___m5MVw{margin-left:20px;color:#fff;height:45px;line-height:45px;max-width:186px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:186px}.copy___EPMue{height:45px;line-height:45px;color:#0152d9;font-size:14px;margin-right:10px}.listWrap___QzkC1{overflow-y:auto;margin-left:20px;height:calc(100vh - 240px)}.item___msJ9l{display:flex;flex-direction:row;justify-content:space-between}.itemText___u5GrX{display:flex;align-items:center;font-size:14px;color:#fff;max-width:152px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:152px}.wrap___SEtIN{width:100vw;height:100vh;position:fixed;left:0;top:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:#0a0e1f80}.wrap___SEtIN .bg___JE5ml{background:url(data:image/png;base64,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) no-repeat center center;width:800px;height:800px;position:relative}.wrap___SEtIN .bg___JE5ml i{position:absolute;z-index:10;right:68px;top:70px;color:#fff;font-size:30px;cursor:pointer}.wrap___SEtIN .bg___JE5ml i:hover{color:#0152d9}.diff-panel-container___DRHwS{width:100%;height:100%;color:#fff;font-size:0;overflow:hidden;flex:1 1;display:flex;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-weight:400;font-feature-settings:"liga" 0,"calt" 0}.diff-panel-container___DRHwS div{flex:1 1;white-space:pre;overflow-x:auto;line-height:18px;font-size:12px;display:inline-block;letter-spacing:0px;vertical-align:top;padding:10px 14px;background:#1e1e1e;border-radius:4px;color:#2ea44f;min-height:80px}.diff-panel-container___DRHwS div:first-child{margin-right:1%}.diff-panel-container___DRHwS .line-break____1HJq{display:block;height:20px}.diff-panel-container___DRHwS del{font-family:SimHei,PCMyungjo,monospace;color:#d55;white-space:pre;text-decoration:none}.diff-panel-container___DRHwS del:empty{display:none}.diff-panel-container___DRHwS del.empty___VD8sP{background:#d55;width:10px;margin-left:3px;color:#fff;text-align:center;font-size:12px}.diff-panel-container___DRHwS ins{color:#2ea44f;white-space:pre;text-decoration:none}.diff-panel-container___DRHwS ins:empty{display:none}.diff-panel-container___DRHwS ins.empty___VD8sP{color:#fff;background:#2ea44f}.diff-panel-container-2___T3Rde{background:none}.diff-panel-container-2___T3Rde>div{background:none;padding-top:0}.diff-panel-container-2___T3Rde ins{white-space:pre;text-decoration:none;color:#fff!important}.choose-game-item___sJBZO{padding:16px 15px;border-radius:4px;background:#010e1f}.choose-game-item___sJBZO p{margin:0}.choose-game-item___sJBZO .output-title-container___HnzHt{text-align:center;display:flex;flex-flow:row nowrap;justify-content:space-between;color:#333;align-items:center;margin-bottom:12px}.choose-game-item___sJBZO .output-title-container___HnzHt span{flex:1 1;display:flex}.choose-game-item___sJBZO .output-title-container___HnzHt span span{flex:initial}.choose-game-item___sJBZO .output-title-container___HnzHt span span:nth-child(1){margin-left:9px;flex:1 1}.choose-game-item___sJBZO .output-title-container___HnzHt .output-title___cQCt2{color:#333}.test-case-list___ULWwO{padding:0;position:fixed;z-index:905;bottom:70px;left:0;width:100%;background-color:#fff;height:300px}.test-header___HMjcY{width:100%;height:34px;padding:0 25px;line-height:34px;color:#f4f1ed;display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;background-color:#111c24;border-bottom:1px solid #222c34}.test-header___HMjcY a{color:#747a7f}.test-header___HMjcY span{position:relative;display:block;cursor:pointer;padding:0 25px}.test-header___HMjcY span.active___YxidH:after{content:"";position:absolute;inset:auto auto 0 50%;margin-left:-10px;height:2px;width:20px;background-color:#29bd8b}.resize-y-bar___es6Oh{height:3px;background:#111c24;cursor:ns-resize;position:relative;display:flex;align-items:center;justify-content:center;border-top:1px solid #19527b}.resize-y-bar___es6Oh>i{color:#0152d9;position:absolute;top:50%;left:50%;margin-top:-7px;margin-left:-17px;z-index:10}.test-result___zXN_Y{font-size:14px;font-family:PingFangSC-Bold,PingFang SC;line-height:25px;font-weight:700;width:100%;display:inline-block;margin-bottom:10px}.test-result___zXN_Y p{font-size:14px!important}.test-result___zXN_Y .markdown-body___EHEjV p{white-space:normal}.test-result___zXN_Y.success___ZvFU2{color:#29bd8b}.test-result___zXN_Y.failer___lQvRe,.test-result___zXN_Y.failer___lQvRe p{color:#d55!important}.test-result___zXN_Y img{display:block;margin-right:5px}.test-result___zXN_Y .count___lVWvy{display:flex;flex-flow:row nowrap;float:left;align-items:center;line-height:25px;padding:0 10px 0 4px}.test-case-item___ptoQn{width:100%;margin:0 auto 20px;border-radius:4px;background:#1f2f3b;font-size:14px}.test-case-item___ptoQn .case-header___UDkvN{padding:9px 20px;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between}.test-case-item___ptoQn .case-header___UDkvN .iconfont___XT_ll{font-size:14px!important;color:#f4f1ed}.test-case-item___ptoQn .case-header___UDkvN .description___BJIlI{color:#616b77;padding:0 8px;font-size:12px}.test-case-item___ptoQn .item-desc___e8tqN{display:none}.test-case-item___ptoQn .item-desc___e8tqN.show___nh0Ha{display:block}.test-case-item___ptoQn .item-tip___H05sn{font-size:12px;color:#c67676;line-height:12px}.test-case-item___ptoQn h2{font-size:14px;color:#bfbfbf;margin:0;line-height:21px;display:flex;flex-flow:row nowrap;align-items:center}.test-case-item___ptoQn h4{font-size:14px;color:#637da6;line-height:14px;padding:15px 0 5px}.test-case-item___ptoQn p{font-size:14px;line-height:20px;letter-spacing:1px}.arrow-down___DcvbX{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #bfbfbf}.test-title___2XlIU{margin-left:10px;font-weight:400;color:#bfbfbf}.arrow-right___a5kiA{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid #bfbfbf}.case-info___akfl1{flex:1 0;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center}.case-info___akfl1 i,.case-info___akfl1 img{margin-left:8px}.test-case-run-header___rIpIu{color:#617c93;font-size:14px;padding:10px 0}.test-case-run-wrp___hfxtY textarea{background:none;border:none;color:#fff;resize:none}.test-case-run-wrp___hfxtY>div:nth-child(2)>div{color:#fff;background:#1b2a37;margin-right:12px}.title___ldXVu{font-size:16px;font-weight:500;color:#333;margin-top:28px;margin-bottom:20px}.warp_____VWp{padding:0 30px;overflow:auto;height:100%;background:#111c24}.warp_____VWp div[class~=ant-spin-nested-loading]{height:100%;background-color:#111c24!important}.spin___OU0Kn{background-color:#fff}.spinTest___UNIX8{background:#131c23}.spinTest___UNIX8 div[class~=ant-spin-text]{text-shadow:none!important}.diff-panel-container___xo1_S{width:100%;height:100%;flex:1 1;color:#fff;font-size:0;overflow:hidden;display:flex;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-weight:400;font-feature-settings:"liga" 0,"calt" 0}.diff-panel-container___xo1_S div{flex:1 1;white-space:pre;overflow-x:auto;line-height:18px;font-size:12px;display:inline-block;letter-spacing:0px;vertical-align:top;padding:10px 14px;background:#1e1e1e;border-radius:4px;color:#fff;min-height:80px}.diff-panel-container___xo1_S div:first-child{margin-right:1%}.tpi-code-setting{height:calc(100vh - 54px);background:#031b2a;color:#ddd;font-size:13px;line-height:17px}.tpi-code-setting.oj{height:calc(100vh - 65px)}.tpi-code-setting h3{color:#008cff;font-size:16px;line-height:21px;padding-bottom:12px;text-align:left;width:100%;display:block;border-bottom:1px solid #092436}.tpi-code-setting .file-item{color:#ddd;padding:20px 0 0;display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center}.tpi-code-setting .file-item.action{justify-content:flex-start}.tpi-code-setting .file-item.action .iconfont{margin-right:21px}.tpi-code-setting .file-item span{max-width:148px}.tpi-code-setting .file-item:last-child{margin-bottom:25px}.tpi-code-setting span{color:#597a8f}.setting-drawer .ant-drawer-content-wrapper{top:54px;bottom:51px}.setting-drawer .ant-drawer-content{height:auto}.oj .ant-drawer-content-wrapper{top:65px}.setting-drawer .ant-drawer-body,.oj .ant-drawer-body{background:#031b2a}.setting-drawer .ant-drawer-body,.oj .ant-drawer-body{height:auto}.setting-drawer .ant-select-selection,.oj .ant-select-selection{width:120px;background:#0a2030;color:#597a8f;border:1px solid #597a8f}.upload_button{width:108px;height:40px!important;background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9)!important;box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80!important;border-radius:2px;border:1px solid #BACFFE!important;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#3061d0!important;display:inline-block;text-align:center;align-items:center;align-content:center}.upload_button .aBtn_img{width:14px;height:14px;margin-top:-3px;margin-right:8px}.upload_button:hover{width:108px;height:40px!important;background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border-radius:2px;border:1px solid #3061D0!important;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#3061d0!important}.upload_button:active{width:108px;height:40px!important;background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border-radius:2px;border:1px solid #3061D0!important;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#3061d0}.upload_text{width:129px;height:20px;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#5f6367;line-height:20px;margin-left:16px}.tip___G7f9K{padding:20px;font-size:14px;color:#ca7720;background:#f6f7f9}.title___IQM0U{display:flex;align-items:center;margin-top:22px;margin-bottom:11px;font-weight:600;color:#333}.title___IQM0U b{display:inline-block;width:8px;height:8px;border-radius:50%;background:#333;margin-right:6px}.primary___GvQEk{font-size:14px;color:#3061d0;cursor:pointer}.primary___GvQEk:hover{color:#145dff}.del___VIxYG{font-size:14px;color:#3061d0;cursor:pointer}.del___VIxYG:hover{color:#e30000}.flex_box_center___NeSU8{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___ImTGl{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___BtRd9{align-items:center;box-align:center}.flex_box_center_end___qcLe3{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___Ze_3q{flex-direction:column;box-orient:block-axis}.banner___PoUBO{display:flex;align-items:center;justify-content:center}.banner___PoUBO .content___XoDjy{width:1200px;height:212px;display:flex;align-items:flex-start;justify-content:space-between}.banner___PoUBO .content___XoDjy aside{margin-top:56px}.banner___PoUBO .content___XoDjy aside p{display:flex;align-items:center}.banner___PoUBO .content___XoDjy aside p b{font-size:30px;font-weight:500;color:#000;letter-spacing:4px;margin-right:20px}.banner___PoUBO .content___XoDjy aside p span{font-size:16px;color:#000;letter-spacing:4px}.banner___PoUBO .content___XoDjy aside .btns___Pb35j{margin-top:35px}.banner___PoUBO .content___XoDjy aside .btns___Pb35j>div{display:inline-block;height:32px;background:#f6f7f9;box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border-radius:4px;border:1px solid #dadbde;font-size:14px;color:#3b3e47;line-height:30px;margin-right:23px;padding:0 16px;position:relative;cursor:pointer}.banner___PoUBO .content___XoDjy aside .btns___Pb35j>div:hover{color:#165dff;border:1px solid #bacffe}.banner___PoUBO .content___XoDjy aside .btns___Pb35j>div img{position:absolute;z-index:1;top:-21px;right:22px}.flex_box_center___hG6RI{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___ss3Fh{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___K80p9{align-items:center;box-align:center}.flex_box_center_end___qmXX3{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___GFV8F{flex-direction:column;box-orient:block-axis}.row___aXJjm{display:flex;align-items:flex-start;justify-content:flex-start}.row___aXJjm .title___HUKL0{font-size:14px;color:#9096a3;flex-shrink:0;width:41px;text-align-last:justify;margin-top:4px;margin-right:12px}.row___aXJjm .tagsWrap___XB2W3{flex:1 1;position:relative}.row___aXJjm .tagsWrap___XB2W3 .action___VdHb1{font-size:14px;color:#82a8ff;width:55px;position:absolute;z-index:2;bottom:20px;right:0;cursor:pointer}.row___aXJjm .tagsWrap___XB2W3 .action___VdHb1 i{display:inline-block;font-size:12px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC{max-height:245px;overflow:hidden}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span{display:inline-flex;align-items:center;margin-left:8px;margin-bottom:17px;font-size:14px;cursor:pointer;padding:4px 12px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span .name___Hk1Ip{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:600px;display:inline-block}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span .num___xQpcH{margin-left:3px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span:hover{color:#165dff!important}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft .active___XryTX{color:#165dff!important;border-radius:2px;background:#f6f7f9}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC::-webkit-scrollbar-thumb{background:#0000000d!important;border-radius:3px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC::-webkit-scrollbar-track{background-color:#f6f7f9!important;box-shadow:initial!important}.row___aXJjm .tagsBorderWrap___OMxjs .bar___t1kKC{padding-top:8px;border-radius:4px;border:1px solid rgba(219,220,224,.5)}.flex_box_center___aK2n3{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___HX0Oh{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___LJOJr{align-items:center;box-align:center}.flex_box_center_end___SCakF{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___AYv4m{flex-direction:column;box-orient:block-axis}.tabs___GTqPV{height:32px;background:#f6f7f9;box-shadow:inset 0 1px 3px #d7d8d9;border-radius:16px;display:inline-block}.tabs___GTqPV span{display:inline-block;padding:0 20px;line-height:32px;font-size:14px;font-weight:400;color:#9096a3;position:relative;cursor:pointer}.tabs___GTqPV span:hover{color:#165dff}.tabs___GTqPV span:after{content:"";position:absolute;width:1px;height:calc(100% - 2px);background:#e2e2e2;border-radius:4px;z-index:1;left:0;top:1px;background:linear-gradient(180deg,#fff0,#e2e2e2,#fff0)}.tabs___GTqPV span:first-child:after,.tabs___GTqPV .active___F26E8+span:after{display:none}.tabs___GTqPV .active___F26E8{background:linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 0 2px #e8effb;border-radius:16px;border:1px solid #c8d2ea;color:#165dff;line-height:30px}.tabs___GTqPV .active___F26E8:after{display:none}.flex_box_center___yX6Oa{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___t7oqF{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___dEIHy{align-items:center;box-align:center}.flex_box_center_end___taQDF{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___xY_Lr{flex-direction:column;box-orient:block-axis}.input___PW2zI{width:507px;height:38px;background:#f6f7f9;border-radius:19px;display:flex;align-items:center;padding:0 20px}.input___PW2zI .dropdown___vSy8B{position:relative;flex-shrink:0}.input___PW2zI .dropdown___vSy8B:hover .menu___NiyBu{display:block}.input___PW2zI .dropdown___vSy8B .text___Grueu{color:#000;font-size:14px;cursor:default;height:38px;display:flex;align-items:center}.input___PW2zI .dropdown___vSy8B .text___Grueu i{font-size:12px;display:inline-block;transform:translateY(1px) scale(.6);color:#979797}.input___PW2zI .dropdown___vSy8B .text___Grueu .b1___ZKryM{display:inline-block;width:1px;height:38px;margin-left:15px;margin-right:0;background:linear-gradient(180deg,#fff0,#fff,#fff0)}.input___PW2zI .dropdown___vSy8B .text___Grueu .b2___aKyGa{display:inline-block;width:1px;height:38px;margin-left:0;margin-right:8px;background:linear-gradient(180deg,#fff0,#e2e2e2,#fff0)}.input___PW2zI .dropdown___vSy8B .menu___NiyBu{display:none;position:absolute;z-index:999;width:auto;left:-16px;top:35px;padding:4px;background-color:#fff;border-radius:8px;box-shadow:0 10px 16px #cecece}.input___PW2zI .dropdown___vSy8B .menu___NiyBu div{clear:both;margin:0;padding:5px 12px;color:#000000e0;font-weight:400;font-size:14px;text-align:left;line-height:1.57142857;cursor:pointer;transition:all .2s;white-space:nowrap}.input___PW2zI .dropdown___vSy8B .menu___NiyBu div:hover{background-color:#f5f5f5}.input___PW2zI>input{flex:1 1;padding:4px 0}.flex_box_center___tol8o{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___Z235C{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___Wq1sZ{align-items:center;box-align:center}.flex_box_center_end___LLxom{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___DbMSN{flex-direction:column;box-orient:block-axis}.quickPager___GM30J{display:flex;align-items:center;justify-content:center}.quickPager___GM30J>div{width:60px;height:28px;line-height:26px;text-align:center;background:#f8f9fc;border-radius:2px;border:1px solid rgba(195,207,224,.5);font-size:12px;color:#464f66;margin:0 10px;user-select:none;cursor:pointer}.quickPager___GM30J>div:hover{color:#165dff}.quickPager___GM30J .disabled___Ozc8I{background:#f3f3f5;border:0;line-height:28px;cursor:not-allowed;color:#cecece}.flex_box_center___FO7TP{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___LotYx{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___bWdaw{align-items:center;box-align:center}.flex_box_center_end___mVJ1o{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___M83Mm{flex-direction:column;box-orient:block-axis}.list___oOsiS{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:0}.list___oOsiS .wrap___G6T7F{height:277px;background:#fff;box-shadow:0 2px 4px #d6dae1;border-radius:8px;position:relative}.list___oOsiS .wrap___G6T7F .lockWrap___Rl79E{position:absolute;width:100%;left:0;top:0;background-color:#00000080;height:100%;z-index:10;display:flex;cursor:default;justify-content:center;align-items:center;flex-direction:column;border-radius:8px}.list___oOsiS .wrap___G6T7F .li___oZZ7l:hover .cover___b2bYW{transform:scale(1.1)}.list___oOsiS .wrap___G6T7F .li___oZZ7l .img___IQX7w{overflow:hidden;height:calc(100% - 100px);border-radius:8px 8px 0 0;position:relative}.list___oOsiS .wrap___G6T7F .li___oZZ7l .img___IQX7w .cover___b2bYW{width:100%;transition:all .5s}.list___oOsiS .wrap___G6T7F .li___oZZ7l .img___IQX7w .sign___HkT6C{position:absolute;z-index:1;left:0;bottom:0;height:30px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .name___SsJx8{height:52px;font-size:16px;font-weight:600;color:#000;padding:30px 12px 0;width:100%;display:flex;align-items:center}.list___oOsiS .wrap___G6T7F .li___oZZ7l .name___SsJx8 .e___TMqq0{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo{height:45px;display:flex;align-items:center;color:#000f37;padding:0 12px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo i{color:#7d8592}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo>span{margin-right:5px;font-size:12px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7{display:flex;align-items:center;margin-left:auto}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7 [class~=ant-rate-star]{font-size:13px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7 [class~=ant-rate]{font-size:12px;margin-top:-3px;color:#ffa100}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7 [class~=ant-rate-star]:not(:last-child){margin-right:2px}.flex_box_center___AQ53o{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___i2aIa{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___sPEKB{align-items:center;box-align:center}.flex_box_center_end___GhSSH{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___R9_Hb{flex-direction:column;box-orient:block-axis}.list___jb2Ay{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:0}.list___jb2Ay .wrap___VsQDr{height:308px;background:#fff;box-shadow:0 2px 4px #d6dae1;border-radius:8px;position:relative}.list___jb2Ay .wrap___VsQDr:hover [class~=user-path-items]{display:block!important}.list___jb2Ay .wrap___VsQDr .lockWrap___g1k1T{position:absolute;width:100%;left:0;top:0;background-color:#00000080;height:100%;z-index:10;display:flex;cursor:default;justify-content:center;align-items:center;border-radius:8px}.list___jb2Ay .wrap___VsQDr .li___IxCLC:hover .cover___Mu8wr{transform:scale(1.1)}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA{overflow:hidden;height:calc(100% - 131px);border-radius:8px 8px 0 0}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .cover___Mu8wr{width:100%;transition:all .5s}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .movebq___mF7wt{display:none;position:absolute;top:0;right:0;width:70px;height:32px;background:#0000004d;color:#d9c7ab;padding:0 8px;font-size:16px;line-height:32px;border-top-right-radius:8px;border-bottom-left-radius:8px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .bq___Bil0T{height:22px;background:#0000004d;color:#d9c7ab;border-radius:2px;padding:0 8px;font-size:12px;line-height:22px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .sign___DXJ4d{width:52px;text-align:center;position:absolute;z-index:2;left:0;top:7px;color:#fff}.list___jb2Ay .wrap___VsQDr .li___IxCLC .name___l7FoJ{height:52px;font-size:16px;font-weight:600;color:#000;padding:30px 12px 0;width:100%;display:flex;align-items:center}.list___jb2Ay .wrap___VsQDr .li___IxCLC .name___l7FoJ .e___pXQUG{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrap___VsQDr .li___IxCLC .unit___wCIFR{font-size:14px;color:#000f37;padding:0 12px;margin-top:8px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrap___VsQDr .li___IxCLC .unit___wCIFR i{color:#7d8592}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil{height:34px;display:flex;align-items:center;justify-content:space-between;color:#000f37;padding:0 12px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil div{display:flex;align-items:center}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil div>span{margin-right:12px;font-size:12px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil div i{color:#7d8592}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil .tag1___dxm7r,.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil .tag2___llZkf{height:18px;padding:3px 6px;font-size:12px;border-radius:2px;border:1px solid #FFE6AB;color:#ca7720;display:flex;align-items:center;justify-content:center;font-weight:400}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil .tag2___llZkf{border:1px solid #D6F7EF;color:#01795d;margin-left:6px}.list___jb2Ay .wrapisCurrent___qIfQT{height:280px;background:#fff;box-shadow:0 2px 4px #d6dae1;border-radius:8px;position:relative}.list___jb2Ay .wrapisCurrent___qIfQT:hover [class~=user-path-items]{display:block!important}.list___jb2Ay .wrapisCurrent___qIfQT .lockWrap___g1k1T{position:absolute;width:100%;left:0;top:0;background-color:#00000080;height:100%;z-index:10;display:flex;cursor:default;justify-content:center;align-items:center;border-radius:8px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC:hover .cover___Mu8wr{transform:scale(1.1)}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA{overflow:hidden;height:calc(100% - 105px);border-radius:8px 8px 0 0}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .cover___Mu8wr{width:100%;transition:all .5s}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .movebq___mF7wt{display:none;position:absolute;top:0;right:0;width:70px;height:32px;background:#0000004d;color:#d9c7ab;padding:0 8px;font-size:16px;line-height:32px;border-top-right-radius:8px;border-bottom-left-radius:8px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .bq___Bil0T{height:22px;background:#0000004d;color:#d9c7ab;border-radius:2px;padding:0 8px;font-size:12px;line-height:22px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .sign___DXJ4d{width:52px;text-align:center;position:absolute;z-index:2;left:0;top:7px;color:#fff}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .name___l7FoJ{font-size:16px;font-weight:600;color:#000;padding:10px 12px 0;width:100%;display:flex;align-items:center}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .name___l7FoJ .e___pXQUG{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .unit___wCIFR{font-size:14px;color:#000f37;padding:0 12px;margin-top:8px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .unit___wCIFR i{color:#7d8592}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil{height:34px;display:flex;align-items:center;justify-content:space-between;color:#000f37;padding:0 12px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil div{display:flex;align-items:center}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil div>span{margin-right:12px;font-size:12px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil div i{color:#7d8592}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil .tag1___dxm7r,.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil .tag2___llZkf{height:18px;padding:3px 6px;font-size:12px;border-radius:2px;border:1px solid #FFE6AB;color:#ca7720;display:flex;align-items:center;justify-content:center;font-weight:400}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil .tag2___llZkf{border:1px solid #D6F7EF;color:#01795d;margin-left:6px}.flex_box_center___eMcr7{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___HcNca{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___ZnvVN{align-items:center;box-align:center}.flex_box_center_end___fdgDf{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___SEKvd{flex-direction:column;box-orient:block-axis}.list___L1hmU{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:0}.list___L1hmU .wrap___pKgcW{height:270px;background:#fff;box-shadow:0 1px 4px #d6dae1;border-radius:8px;position:relative}.list___L1hmU .wrap___pKgcW:hover .lockWrap___SMhkK{display:flex}.list___L1hmU .wrap___pKgcW .lockWrap___SMhkK{position:absolute;z-index:10;left:0;top:0;width:100%;height:100%;background:#0009;box-shadow:0 2px 5px #0000000d;border-radius:8px;display:none;flex-direction:column;justify-content:center;align-items:center}.list___L1hmU .wrap___pKgcW .lockWrap___SMhkK div{width:116px;height:36px;border-radius:18px;border:1px solid #ffffff;font-size:14px;font-weight:600;color:#fff;line-height:34px;text-align:center;margin:10px 0;cursor:pointer}.list___L1hmU .wrap___pKgcW .lockWrap___SMhkK div:hover{box-shadow:0 0 4px #4f85ff;border:1px solid #c2d3f8}.list___L1hmU .wrap___pKgcW .top___udHSB{height:calc(100% - 50px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 24px;position:relative}.list___L1hmU .wrap___pKgcW .top___udHSB .sign___uwRpq{position:absolute;z-index:1;width:44px;height:22px;background:#ffe9c1;border-radius:8px 0 13px;left:0;top:0;color:#a45204;text-align:center;line-height:22px}.list___L1hmU .wrap___pKgcW .top___udHSB .name___Fpf90{font-weight:600;color:#333;margin-top:25px;font-size:16px;white-space:normal;text-align:center;-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;line-height:26px;height:48px}.list___L1hmU .wrap___pKgcW .top___udHSB .img___AMLhL{width:60px;height:60px;border-radius:30px;margin-top:14px}.list___L1hmU .wrap___pKgcW .top___udHSB .text___KiTb7{font-size:14px;color:#333;margin-top:8px;width:98%;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list___L1hmU .wrap___pKgcW .top___udHSB .btns___i6IuZ{display:flex;align-items:center;margin-top:12px}.list___L1hmU .wrap___pKgcW .top___udHSB .btns___i6IuZ div{width:76px;background:#fff;height:26px;border-radius:13px;border:1px solid #d6f7ef;font-size:14px;color:#01795d;line-height:24px;text-align:center;margin:0 10px}.list___L1hmU .wrap___pKgcW .top___udHSB .btns___i6IuZ aside{width:76px;background:#fff;height:26px;border-radius:13px;border:1px solid #ffe9c1;font-size:14px;color:#a45204;line-height:24px;text-align:center;margin:0 10px}.list___L1hmU .wrap___pKgcW .bottom____k2sh{height:50px;border-top:1px solid #f5f5f5;display:flex;align-items:center;padding:0 12px}.list___L1hmU .wrap___pKgcW .bottom____k2sh>div{margin-left:auto}.list___L1hmU .wrap___pKgcW .bottom____k2sh>span{display:flex;align-items:center;margin-right:12px;color:#999}.list___L1hmU .wrap___pKgcW .bottom____k2sh>span i{font-size:14px;font-size:12px;color:#999;margin-right:6px}.flex_box_center___d27mZ{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___qfRU9{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___fCRld{align-items:center;box-align:center}.flex_box_center_end___ORMV8{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___PNKtZ{flex-direction:column;box-orient:block-axis}.tabs___alpa7{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbdce0;height:54px}.tabs___alpa7 .tabsWrap___aCQjw{display:flex;align-items:center;height:100%}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4{display:flex;align-items:center;margin-right:40px;height:100%;cursor:pointer}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4>div{position:relative;font-size:14px;font-weight:400;color:#5f6368;display:flex;align-items:center;height:100%}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4 .active___nl_4v{font-weight:500;color:#202124}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4 .active___nl_4v:after{position:absolute;content:"";width:100%;z-index:4;left:0;bottom:0;height:3px;background:#202124;border-radius:100px 100px 0 0}.flex_box_center___e6HxQ{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___RnXYe{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___lVxPk{align-items:center;box-align:center}.flex_box_center_end___bu8yv{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___JczGj{flex-direction:column;box-orient:block-axis}.orderWrap___ZfyGX{display:box;display:flex;align-items:center}.orderIconWrap___XTB_O{display:box;display:flex;flex-direction:column;height:40px;line-height:40px;color:#999}.orderAsc___KWHmA{flex-direction:column;text-align:center;height:10px;line-height:10px;display:inline-block;margin-top:9px;transform:translateY(2px)}.orderDesc___rHdbB{flex-direction:column;text-align:center;height:10px;line-height:10px;display:table}.active___a7eSP{color:#232b40!important}.cursorPointer___gs9kL{cursor:pointer;color:#d8d8d8;height:10px}.orderTextWrap___teAKn{font-size:14px;color:#3b3e47;cursor:pointer;margin-right:5px}.flex_box_center___LCi0B{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___hzONe{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___ZyQRE{align-items:center;box-align:center}.flex_box_center_end___XKM74{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___p8LCU{flex-direction:column;box-orient:block-axis}.btn___In02G.mediacy-round___uveEv{height:36px;border-radius:36px}.btn___In02G.mediacy-default___dDxsd{height:36px;border-radius:4px}.btn___In02G .default___K791v{background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border:1px solid #bacffe;font-size:14px;padding:0 15px;color:#3061d0;text-align:center;cursor:pointer;user-select:none}button[class~=ant-btn-default]:not(:disabled).btn___In02G{background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border:1px solid #bacffe;font-size:14px;padding:0 15px;color:#3061d0;text-align:center;cursor:pointer;user-select:none}button[class~=ant-btn-default]:not(:disabled).btn___In02G:hover{color:#165dff;border:1px solid #165dff}button[class~=ant-btn-default]:disabled.btn___In02G{background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border:1px solid #bacffe;font-size:14px;padding:0 15px;color:#3061d0;text-align:center;cursor:pointer;user-select:none;opacity:50%;cursor:not-allowed}.flex_box_center___TB7bQ{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___oBlTb{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___b5XbB{align-items:center;box-align:center}.flex_box_center_end___CNhe7{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___yHXKW{flex-direction:column;box-orient:block-axis}.head___ghH72{height:54px;border-bottom:1px solid #DBDCE0;display:flex;align-items:center}.head___ghH72>span{color:#999;font-size:12px;cursor:pointer;flex-shrink:0}.head___ghH72>b{font-weight:500;color:#232b40;margin-left:30px;font-size:14px;flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head___ghH72 .node___mjPEy{margin-left:auto;flex-shrink:0}.flex_box_center___AlHuF{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___vN2LW{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___Ac7D2{align-items:center;box-align:center}.flex_box_center_end___y38I7{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___iQE6P{flex-direction:column;box-orient:block-axis}.btns___sNgTb{display:flex;align-items:center}.btns___sNgTb .confirm___Ozirl{height:38px;background:#3061d0;border-radius:2px;color:#fff;padding:0 34px}.btns___sNgTb .cancel___aiq1I{height:38px;background:#f8f9fc;border-radius:2px;opacity:.5;border:1px solid #C3CFE0;font-size:14px;color:#464f66;margin-left:20px}.flex_box_center___jkpdr{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___OtsL8{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___rbcb_{align-items:center;box-align:center}.flex_box_center_end___zBR21{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___nS_eP{flex-direction:column;box-orient:block-axis}.fixedBottom___oJl7m{width:100%;height:70px;background:#fff;box-shadow:0 -3px 16px #dbdbdb80;position:fixed;z-index:1000;bottom:0;left:0}.fixedBottom___oJl7m .wrap___A3Oq1{width:1200px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.fixedBottom___oJl7m .wrap___A3Oq1 .center____VL1y{flex:1 1}.flex_box_center___tY8Yn{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___vHdYA{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___pa61F{align-items:center;box-align:center}.flex_box_center_end___HyDXt{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___UjZek{flex-direction:column;box-orient:block-axis}.crumbs___V41Oe{margin:15px auto 25px;width:1200px;cursor:default}.crumbs___V41Oe span{font-size:12px;color:#c5c5c5}.crumbs___V41Oe .hover___bEIVd{cursor:pointer}.crumbs___V41Oe .hover___bEIVd:hover{color:#5f6368}.mirrorModal___Pi3tF{display:flex;justify-content:center;align-items:flex-start;height:580px}.mirrorModal___Pi3tF .right___Hot5f{flex:1 1;background-color:#fff;height:100%}.mirrorModal___Pi3tF .right___Hot5f header{padding:0 30px;height:60px}.mirrorModal___Pi3tF .right___Hot5f header .title___jjMKh{font-size:14px;font-weight:700;color:#333;height:60px;line-height:60px;border-bottom:1px #f1f1f1 solid}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .ant-empty{padding:150px 0 40px}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .ant-empty .ant-empty-image{height:180px}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .ant-empty .ant-empty-description{color:#999;font-size:14px}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .des___oGTUM{padding:0 30px;margin-top:18px;max-height:490px;overflow-y:auto}.modal___yy3VB .ant-modal-body{max-height:500px;overflow-y:auto}.flex_box_center___vG4eV{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___qVVxe{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___P8Z8s{align-items:center;box-align:center}.flex_box_center_end___VMme3{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___VMHwm{flex-direction:column;box-orient:block-axis}.dropdownmenus___oVzoj{width:104px}.dropdownmenus___oVzoj [class~=ant-dropdown-menu-item]{text-align:center}.dropdownmenus___oVzoj [class~=ant-dropdown-menu-item]:hover{color:#165dff!important;background:#fff}.dropdownmenus___oVzoj [class~=ant-dropdown-menu]{padding:10px 0!important}.popupClassNames___OcZq7{background:#ff0}.selectdown___mmcA8 [class~=ant-select-item-option-selected]{font-weight:400!important;background-color:#edf2ff!important}.selectdown___mmcA8 [class~=ant-select-item-option-active]{color:#165dff!important;background-color:#fff!important}.selectdown___mmcA8 [class~=ant-select-item-option]{padding:10px 24px}.header_body___lAlEX{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px}.header_body___lAlEX span{font-weight:500;font-size:16px;color:#333;letter-spacing:.01rem}.header_body___lAlEX .close___OXweN{cursor:pointer;color:#979797;font-size:15px}.no_data___h77J2{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center;margin-top:140px}.recommend_config_introduce___ifFGY{font-weight:400;font-size:12px;color:#666;line-height:26px}.recommend_config___UXyKS{display:flex;margin-top:20px;margin-bottom:26px}.recommend_config___UXyKS .recommend_config_item___zONum{width:280px;height:auto;min-height:135px;background:#f6f7f9;border-radius:4px;padding:15px 20px;border:1px solid rgba(0,0,0,0);cursor:pointer;margin-right:50px}.recommend_config___UXyKS .recommend_config_item___zONum:last-child{margin-right:0}.recommend_config___UXyKS .recommend_config_item___zONum:hover{background:#3061d014;border:1px solid #A4BDF5;box-shadow:0 4px 5px #d5e3ff6e}.recommend_config___UXyKS .recommend_config_item___zONum .item_title___w5vXw{font-weight:600;font-size:14px;color:#333;display:flex;align-items:start;justify-content:space-between}.recommend_config___UXyKS .recommend_config_item___zONum .recommend_text___f68Eu{width:44px;height:20px;background:#ec9c20;border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}.recommend_config___UXyKS .recommend_config_item___zONum .item_content___j_zbN{display:flex;justify-content:space-between;font-size:14px;color:#191919;margin-top:8px}.recommend_config___UXyKS .recommend_config_active_item___SrTkJ{background:#3061d014;border:1px solid #A4BDF5;box-shadow:0 4px 5px #d5e3ff6e}.recommend_config_footer___PHnlA{display:flex;align-items:center;justify-content:space-between}.application___uh4gI{width:80px;height:32px;line-height:30px;background:#3061d0;box-shadow:0 2px 4px #e0dfe1,inset 0 -1px 3px #ffffff80;border-radius:16px;font-weight:400;font-size:12px;color:#fff;display:flex;justify-content:center;cursor:pointer}.tooltip___f0uXh{color:#999;font-size:14px;margin-left:6px}.tooltip___f0uXh:hover{color:#165dff}.disabled___Ha9Ba{background-color:#0000000f;color:#d9d9d9}.lineChart___dCEZW{width:100%;height:350px;margin:0 auto}.flex_warp___Rtigf{display:flex;align-items:center;justify-content:space-between}.chart_content___tVmUj{width:100%;min-height:320px;margin-bottom:20px;border-radius:4px;border:1px solid #F6F7F9;background-color:#fff}.chart_content___tVmUj .chart_title___AOPx7{width:100%;height:40px;padding:9px 20px;background:#f6f7f9;font-weight:500;color:#232b40;display:flex;justify-content:space-between;align-items:center}.chart_content___tVmUj .listdata___mi4KG{display:flex;align-items:center;justify-content:flex-end;padding-bottom:12px}.chart_content___tVmUj .listdata___mi4KG .block___prArl{width:15px;height:3px}.chart_content___tVmUj .listdata___mi4KG .typename___j4diD{width:180px;color:#999}.chart_content___tVmUj .listdata___mi4KG .val___MeuWc{margin-left:10px;width:210px;height:22px;font-weight:400;font-size:14px;color:#232b40;line-height:22px}.info_con___eIdJL{background-color:#f6f7f9;width:900px;margin:15px auto;padding:0 10px 5px}.info_con___eIdJL .info_top___UKMbT{display:flex;justify-content:flex-end;font-weight:400;font-size:12px;color:#666;padding:17px 0 12px}.info_con___eIdJL .info_top___UKMbT div{height:20px;line-height:20px;width:210px;margin-left:10px}.fullscreen___PICBn{cursor:pointer}.fullscreen___PICBn:hover{color:#3061d0}.chart_content_qp___ae1n1 .spin_dom___T7PCy{margin-top:20%} diff --git a/p__tasks__Jupyter__index.d5e66b02.chunk.css b/p__tasks__Jupyter__index.d5e66b02.chunk.css new file mode 100644 index 0000000000..1d69947df2 --- /dev/null +++ b/p__tasks__Jupyter__index.d5e66b02.chunk.css @@ -0,0 +1 @@ +.bg___yy2b4{height:100vh}.header___TfSCG{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:60px;background-color:#070f1a;padding-left:30px;z-index:99;font-size:14px}.header___TfSCG [class~=ant-statistic-content]{font-size:14px;color:#fff!important}.dragingMask___i_1VX{bottom:0;position:fixed;position:absolute;background:#00000080;z-index:902;top:0;width:100%}.content___b8rIE{width:100%;display:flex;flex-flow:row nowrap;align-items:center;background:#fafafa}.content___b8rIE .leftContainer___BJcma{position:relative;height:100%}.content___b8rIE .leftContainer___BJcma .tabNav___uSNI4{width:100%;display:flex;flex-flow:row nowrap;padding:0;border-bottom:1px solid #ddd}.content___b8rIE .leftContainer___BJcma .tabNav___uSNI4>div{flex:1 1 auto;height:40px;line-height:40px;overflow:hidden;text-align:center;border-bottom:2px solid #4cacff;color:#05101a;font-size:16px}.content___b8rIE .leftContainer___BJcma .mdContent___F9FMQ{height:calc(100% - 57px);overflow-y:auto;padding:16px}.content___b8rIE .resizeBar___WbCV9{width:4px;cursor:ew-resize;height:100%;position:relative;display:flex;flex-flow:column nowrap;justify-content:center;background:#111c24}.content___b8rIE .resizeBar___WbCV9.has-unity-3d___BFusq{cursor:inherit;width:0}.content___b8rIE .resizeBar___WbCV9.has-unity-3d___BFusq .btn-resize___Zfl7O{margin-left:0}.content___b8rIE .resizeBar___WbCV9 .btn-resize{display:flex;flex-flow:column nowrap;text-align:center;justify-content:center;align-items:center;width:24px;height:24px;font-size:24px;z-index:903;border-radius:50%;position:absolute;margin-left:-10px;opacity:.7;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;background-color:#e0e0e0;color:#000000de}.content___b8rIE .resizeBar___WbCV9 .btn-resize:hover{opacity:1}.content___b8rIE .rightCotainer___iorUm{display:flex;flex-flow:column nowrap;justify-content:center;flex:1 1;position:relative;height:100%;background:#111c24}.user___I7MqL{color:#fff}.user___I7MqL img{width:30px;height:30px;border-radius:50%}.titleWrap___rJVb0{color:#fff!important;display:flex;flex-direction:column;justify-content:center;align-items:center}.title___jJ_Uz{font-size:16px;line-height:40px;height:30px}.endTimeWrap___CSA6g{width:1px;height:1px;overflow:hidden;display:block}.colorGray___oa4MJ{color:#888}.main___LPfvU{position:absolute;overflow:hidden;width:100%;height:calc(100vh - 130px)}.loadFail___CrCok{height:100%;background-color:#0003}.reload___dIu1q{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}.failIcon___g2eIS{font-size:100px;color:#f5f5f5;text-align:center}.failWrap___nbGWb{display:flex;flex-direction:column}.failReload___nOEAI{color:#1e8ffd;font-size:12px;cursor:pointer;margin-right:18px}.dataSetButton___Oe8Wq{display:flex;justify-content:center;align-items:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAACRCAYAAABAMKFdAAADU0lEQVR4nO3cO2/TYBTG8ee8dmMjJXZIaSFJlVYVlIugQtCp3ESlchMDggGB2BiYkdgY+AaIgY0PAGJhQSyIDZBgYWFiADY2hEhocRr7IJtLE0hROED8Duc/pqry6+tUb6YHFkdW0vxy9WAhrD+zSUdeUD0KossAjsCGo/PD8ekEzjkCXQCwrftneeAKfnnTPrCzCPARBvas5fi/uFJ91AVmXIe3M2Mvg+eIaRYEf5Bf/3Pc2FixsOxMGtcdS5CUTUwhE4cMVIi4CqYaE6oApggYlfxNf4QbCatzhnEeoGMgbAVg/uZNB+23uJFyfbfh5AZAh4aB+bm1cJ4X1q4DfAkgJw8Y+uJK9VGP+B4IB3IRddWLCyYqHiVPgexzlXvdH2zjUXLbFhi6cYWgdu37tWFL2WP1goktQPIShIJNuOzkGMlV22DITi5srPe48w4EzwJPT8anzikbYWkmSfiwBY6+GRDNWujKSv8hJi1w9M0QuGihK8sA5Frg6NtQvpdJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJU5w0xUlTnDTFSVOcNMVJMwB3rMUx6KMFjr6lj/Wtha4sQ8ALCxx9M8x4ZKEry7QL7fsMfLLA8ksOlpbarl8KAeyzzPZ1TKVUqm2IDN4QYNUaQjZr1G43l1yv1ALheP6k1X5sLsVR87nrBzsB7LDAldVzfUXO8kUQnuTH6a33bn3//mP0IV0Y4gf507oe62rNlThq3XX84mcCzaeTYBbhspI4aj12/XV3AKcO8FaAhv4NZqCJN7+8aSphc5aAdGlvjoDg/9Oky33FjeMjhqaIMEnkNABuIME0CLsANP7VIuC/nxWsVAJ3xd/lGJpl8H4C0u26uh24PnnBxGYiXmDwGYAXBp2+GfpaZHpVrhg+nYAu0delyDXLdWfTD+sLzLgC4r7XphULpV5YWwRwE8BM9+u57Rl2F0fN13HUvOX6pXSTbP77oVmB+1YcR82HI17wBsAJEOzci/JK9ZNeWO3YdHI/itvNV+66sPUFAFqaWbDlNpAAAAAASUVORK5CYII=);height:141px;width:38px;position:absolute;right:0;top:32%;cursor:pointer;left:auto;z-index:999;padding-top:15px;transition:right .3s}.ac___XyH5r .dataSetText___ltceD{color:#1e8ffd;position:relative;font-size:12px}.ac___XyH5r .dataSetText___ltceD:after{position:absolute;z-index:200;width:2px;height:26px;content:"";background-color:#1e8ffd;top:50%;left:4px;transform:translateY(-50%)}.dataSetText___ltceD{writing-mode:tb-rl;color:#fff;padding-left:10px;font-size:12px}.dataSetOpen___YeOkS{right:330px;transition:all .35s}.footer____7Qyw{display:flex;justify-content:center;align-items:center;height:70px;position:fixed;bottom:0;left:0;z-index:900;width:100%}.footer____7Qyw>span{position:absolute;left:20px;font-size:14px;color:#333}.footer____7Qyw>button{height:40px;border-radius:4px;font-size:16px}.start___mqFxv{width:100%;height:100%;background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.start___mqFxv .title___jJ_Uz{font-size:16px;color:#272a3a}.start___mqFxv>b{display:inline-block;color:#0152d9;font-size:30px;margin-top:30px;margin-bottom:70px}.start___mqFxv .liWarp___MZgVd{width:774px;max-height:500px;overflow-y:auto}.start___mqFxv .liWarp___MZgVd .li___Pwqoe{width:333px;height:30px;line-height:28px;border-radius:4px;border:1px solid #0152d9;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;padding:0 12px;color:#0152d9;display:inline-block;margin:0 26px 23px;cursor:pointer}.start___mqFxv .liWarp___MZgVd .li___Pwqoe i{margin-right:6px}.start___mqFxv .liWarp___MZgVd .li___Pwqoe:hover{line-height:30px;background:#0152d9;color:#fff}.disabled___shXs_:disabled,.disabled___shXs_:disabled:hover{background:#555d68;border:1px solid #555d68;color:#fff!important}.drawerWrap___usUlu div[class~=ant-drawer-content-wrapper]{width:330px;padding-top:60px}.drawerWrap___usUlu div[class~=ant-drawer-mask]{opacity:0!important}.drawerWrap___usUlu div[class~=ant-drawer-content]{overflow:hidden;background:#070f1a!important;padding-bottom:40px}.drawerWrap___usUlu div[class~=ant-drawer-body]{padding:0}.drawerWrap___usUlu div[class~=markdown-body]{color:#fff}.drawerWrap___usUlu div[class~=markdown-body] pre[class~=prettyprint]{color:#333}.drawer___o0tZt{height:100%}.title___N0L4E{padding-left:20px;height:49px;line-height:49px;background:#070f1a;color:#fff;border-top:1px solid #17212f;border-bottom:1px solid #17212f;margin-bottom:6px}.titleIcon___KdORp{color:#28b887;font-size:30px;margin-right:20px}.filePathWrap___UnfcQ{color:#888;font-size:16px;background:#070f1a;border-bottom:1px solid #17212f;border-top:1px solid #17212f;padding-top:5px}.filePathContent___DE1uf{display:flex;flex-direction:row;justify-content:space-between}.folderName___aiFc7{margin-left:20px;color:#fff;height:45px;line-height:45px;max-width:186px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:186px}.copy___u1LKa{height:45px;line-height:45px;color:#0152d9;font-size:14px;margin-right:10px}.listWrap___rwuBa{overflow-y:auto;margin-left:20px;height:calc(100vh - 240px)}.item___V_PLr{display:flex;flex-direction:row;justify-content:space-between}.itemText___uj01z{display:flex;align-items:center;font-size:14px;color:#fff;max-width:152px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:152px}.disableTips___fbeqZ{display:inline-block;position:fixed;padding:2px 10px;background-color:#fff;z-index:1000;color:#000;border-radius:4px;opacity:.9;white-space:nowrap}@font-face{font-family:KaTeX_AMS;src:url(./static/KaTeX_AMS-Regular.e101fd3b.woff2) format("woff2"),url(./static/KaTeX_AMS-Regular.89a32939.woff) format("woff"),url(./static/KaTeX_AMS-Regular.76b481f1.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(./static/KaTeX_Caligraphic-Bold.804b0502.woff2) format("woff2"),url(./static/KaTeX_Caligraphic-Bold.ebf5447d.woff) format("woff"),url(./static/KaTeX_Caligraphic-Bold.28758623.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(./static/KaTeX_Caligraphic-Regular.7ca15b3a.woff2) format("woff2"),url(./static/KaTeX_Caligraphic-Regular.d642f1a8.woff) format("woff"),url(./static/KaTeX_Caligraphic-Regular.fe9310f0.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(./static/KaTeX_Fraktur-Bold.33bcfed3.woff2) format("woff2"),url(./static/KaTeX_Fraktur-Bold.fc482350.woff) format("woff"),url(./static/KaTeX_Fraktur-Bold.70f2abc1.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(./static/KaTeX_Fraktur-Regular.86cfbe4e.woff2) format("woff2"),url(./static/KaTeX_Fraktur-Regular.29abfb1c.woff) format("woff"),url(./static/KaTeX_Fraktur-Regular.51bff235.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-Bold.603892c5.woff2) format("woff2"),url(./static/KaTeX_Main-Bold.9f5bc66f.woff) format("woff"),url(./static/KaTeX_Main-Bold.da66c0ab.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-BoldItalic.bd95a810.woff2) format("woff2"),url(./static/KaTeX_Main-BoldItalic.c31eb616.woff) format("woff"),url(./static/KaTeX_Main-BoldItalic.962b328a.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-Italic.7662be2b.woff2) format("woff2"),url(./static/KaTeX_Main-Italic.3c94ae8c.woff) format("woff"),url(./static/KaTeX_Main-Italic.b1598925.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(./static/KaTeX_Main-Regular.7056d1df.woff2) format("woff2"),url(./static/KaTeX_Main-Regular.f23b28dc.woff) format("woff"),url(./static/KaTeX_Main-Regular.fe159c21.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(./static/KaTeX_Math-BoldItalic.df742084.woff2) format("woff2"),url(./static/KaTeX_Math-BoldItalic.a6fde119.woff) format("woff"),url(./static/KaTeX_Math-BoldItalic.8ee92314.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Math;src:url(./static/KaTeX_Math-Italic.912cb075.woff2) format("woff2"),url(./static/KaTeX_Math-Italic.ad043b21.woff) format("woff"),url(./static/KaTeX_Math-Italic.f4a2fd50.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(./static/KaTeX_SansSerif-Bold.198a2b19.woff2) format("woff2"),url(./static/KaTeX_SansSerif-Bold.2dee50c6.woff) format("woff"),url(./static/KaTeX_SansSerif-Bold.9ae5090b.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_SansSerif;src:url(./static/KaTeX_SansSerif-Italic.58452206.woff2) format("woff2"),url(./static/KaTeX_SansSerif-Italic.f88f16ed.woff) format("woff"),url(./static/KaTeX_SansSerif-Italic.363562bf.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(./static/KaTeX_SansSerif-Regular.50cd68ac.woff2) format("woff2"),url(./static/KaTeX_SansSerif-Regular.13e35ac8.woff) format("woff"),url(./static/KaTeX_SansSerif-Regular.d1c35243.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(./static/KaTeX_Script-Regular.2fc42204.woff2) format("woff2"),url(./static/KaTeX_Script-Regular.8f35f84f.woff) format("woff"),url(./static/KaTeX_Script-Regular.d09e0cea.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(./static/KaTeX_Size1-Regular.03ff84ee.woff2) format("woff2"),url(./static/KaTeX_Size1-Regular.2222c8c3.woff) format("woff"),url(./static/KaTeX_Size1-Regular.920c8080.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(./static/KaTeX_Size2-Regular.fa296a19.woff2) format("woff2"),url(./static/KaTeX_Size2-Regular.45c74525.woff) format("woff"),url(./static/KaTeX_Size2-Regular.7d3e746e.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(./static/KaTeX_Size3-Regular.d9075b2b.woff2) format("woff2"),url(./static/KaTeX_Size3-Regular.62bef299.woff) format("woff"),url(./static/KaTeX_Size3-Regular.39f7a039.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(./static/KaTeX_Size4-Regular.93084eec.woff2) format("woff2"),url(./static/KaTeX_Size4-Regular.3ee0d868.woff) format("woff"),url(./static/KaTeX_Size4-Regular.cd3f02bf.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(./static/KaTeX_Typewriter-Regular.65cd6476.woff2) format("woff2"),url(./static/KaTeX_Typewriter-Regular.3f215ba2.woff) format("woff"),url(./static/KaTeX_Typewriter-Regular.73468499.ttf) format("truetype");font-weight:400;font-style:normal}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.11.1"}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathdefault{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left}.wrp___dq7YK{display:flex;justify-content:center;align-items:center;position:fixed;width:100%;height:100%;left:0;top:0;z-index:108}.wrp___dq7YK.bgBlack___ARIUV{background:#00000080}.wrp___dq7YK img,.wrp___dq7YK video{max-width:100%;max-height:80%;text-align:center}.wrp___dq7YK iframe{width:100%;height:100%;position:absolute;left:0;top:0;background:#fff;border:none}.monaco___VnZC3{position:absolute;height:100%;width:100%}.darkBlue___UprA9 *{font-size:14px}.darkBlue___UprA9 [class~=margin],.darkBlue___UprA9 [class~=monaco-editor-background]{background:#0a0e2d!important}.darkBlue___UprA9 [class~=line-numbers]{color:#fff!important}.close___LKoWu{position:absolute;right:40px;top:40px;z-index:10;display:flex}.close___LKoWu>span{background:#4a4a4a;color:#fff;width:40px;height:40px;border-radius:4px;display:flex;justify-content:center;align-items:center;cursor:pointer;margin-left:10px}.embed___hvpEJ{position:absolute;left:0;top:0;width:100%;height:100%}.my-monaco-editor div,.my-diff-editor div{font-size:unset}.my-error-line-wrp{width:calc(100% - 20px)!important;background:#f5000033!important;height:auto!important;color:#f50000}.noCopyPaste .quick-input-widget{display:none!important}.breakpoints-select{background:red;width:8px!important;height:8px!important;left:7px!important;top:7px;border-radius:4px;user-select:none;pointer-events:none}.breakpoints-fake{background:#ff000080;width:8px!important;height:8px!important;left:7px!important;top:7px;border-radius:4px;user-select:none;pointer-events:none}.highlighted-line{background:#4b4b18}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-content-wrapper]{width:330px;padding-top:60px}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-mask]{opacity:0!important}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-content]{overflow:hidden;background:#070f1a;padding-bottom:40px}#educoder .drawerWrap___dkOcq div[class~=ant-drawer-body]{padding:0}.drawer___ntUC2{height:100%}.title___Z2x84{position:relative;padding-left:20px;height:49px;background:#070f1a;color:#fff;border-top:1px solid #17212f;display:flex;align-items:center;margin:0;font-size:18px}.closeBtn___V3pCn{color:#fff;position:absolute;right:0;top:-23px;cursor:pointer}.titleIcon___mIUoJ{color:#28b887;font-size:30px;margin-right:20px}.filePathWrap___ib1bc{color:#888;font-size:16px;background:#070f1a;border-bottom:1px solid #17212f;border-top:1px solid #17212f;padding-top:5px}.filePathContent___JrvtY{display:flex;flex-direction:row;justify-content:space-between}.folderName___m5MVw{margin-left:20px;color:#fff;height:45px;line-height:45px;max-width:186px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:186px}.copy___EPMue{height:45px;line-height:45px;color:#0152d9;font-size:14px;margin-right:10px}.listWrap___QzkC1{overflow-y:auto;margin-left:20px;height:calc(100vh - 240px)}.item___msJ9l{display:flex;flex-direction:row;justify-content:space-between}.itemText___u5GrX{display:flex;align-items:center;font-size:14px;color:#fff;max-width:152px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;width:152px}.wrap___SEtIN{width:100vw;height:100vh;position:fixed;left:0;top:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:#0a0e1f80}.wrap___SEtIN .bg___JE5ml{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAMAAADsrvZaAAADAFBMVEUAAAD+0UD+00P80D//0j7/0j/1yTz+0j/90j/+0j/+1ED70UD+2EXltTL7zz/80UDjsi7isTL80EDWqCnVpSjMmibWpSroujT+4lDNnSz80EDXqCrHlSjKmijIlSLJliPZqSvEmCvbrDP5z0LUpS3fsDPLnSX94lfOoSvpvjfNnyjGliDYqjDSpCnKnCbouzj5zUDIkh/SoCbRnyXmujXgtDrUpivFlyTlujn84V/RoCfEkyDerzDBlTL/6Jnnuzr+6qPMnyzzxz3DlB/3zEHJnSrxxDv+7rL4zD/FlR7brzbEliGyjS/LnijXpyf63W384WL/7rbBkh7z02bmuDbuwDnVpCXrxUL/77P95pzDlSDivUzVrDnFmSPcrzTFmyfuz2zpvTv+55Tjsy/nx1j+55XMoTK3jiX544n95IbTqzzHnjXQoiXNpTndtDzXsEDjwE/uzme8kSa0jiymkzqTfjDgukj76Ja3kCbx1HKyhybSpzishyONfDWlhzXfWx29q2H/9tihhTTWWx3oxFnCnz3+9dvBmiV9cC//8KzWYR+ohCPXaiDUjSPlkB/bjiKjfiXapjfw1nrSgyTTs03gjiPSbh7ZhRrWwXuxkS3bsCjt4bHsZCLNoyTIlUHmWxjOqkzYz0Hd1qq5giTpSxPctGzIwiWfaiPmkB8uNT0xOkLxnRYjKC38vDcfIygnLTMrMTg0Pkf2uToZHSGjYh09REg+Oi47P0A2OTdDREBFSkssKyZAPzdPUEnvnhtKSkMwMS7Qo0dYVkoTFRk3NCrBjS60eht0a1N+c1QjIyG7hCXctVxZUDioaSDYr1ZrZVFLRDHmwmlhXU2IeVXGlDbryXDLnD/iu2LVqU6SgVbs0oj99L704Z325qZ7akHvz3aVWx3qzX7466/t2JTttDtsXjz13pP02onz1n/nmRnakhr68LjjrDqOdkeyj0fulSD++8/PiRvq88jVzJujdymoo4Kekmjw8+i9p2zl8a3s7mTzwhrx3Ui+upTm8In7pBWMJjQcAAAAqHRSTlMABgoTDREPFhsZHiEjHSgsIhkxLjQxKCcoFjY7LCRAOUIeZTxdU3Yubi1lW3OIgTtAR09WNFx8i0I2SVFLDhhIEJNUbkadXW9MZH+VJ6iTT0FWfFxyZ582YlCjUoyxbMJwfV2JaT2xrm4emb6zp6Cxd4C7oEQ0kHnJkY7FvVV+NIUiaXmc1TLSRYdOz2e98dqt/qqnyOePyvvf8P3c4ea25vn+2pnl5eCPcG5zAAFa00lEQVR42uzBgQAAAACAoP2pF6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABm345yG4SBIAx7uEUPs/e/VkliZWFtYnCAoOT/lkaqpaY8MJ0aEQAAAAAAAAAAAAAAAAAAgO+lYgB4OiIigh+h5ozai5QMfpVW1Qolg6+gzZNaq/UhMPgNWlilQfB1dF6DxISwL8GFKc9nG4TtOy5OtXkttVdL9xjQILgyVaak1ih1jIo3jr9MtAmuR0lBu0A65FyVQXQiHjiE3tmP5xc/mtPZIPFH41nRIDiGTFoTi5qcCT9uX0c0SMqvyw0iJXEvGLszk2lNu2gy8cKdHeVs166d2Vsn0SA4hMl0O+rFUW8Qheu0vx76G8Qby0+AdGBvuhfIaNseJFy5rQ1Gh2qDeGD9mODOL3Ymk1UisuHm7CjpLCmEMTYIN7KwK43MTHeTbFQsbMKn2TmBJzJmw6zWPA88MI8uurFxsmqBhCDEJjnT7BR8LeecCsFBDWIa2eTPr1u6bxW+PVusEP9HUXzsCjtRToimCYkFkpR5UD7YIM+JzBuEh+SxFyXLJJn5BVbGYRaUy7FRPv3y3oJEh6C7QizzhDzW/crK3q2MYSUtWW6u4RmQMgAeCrbs2EiSWUxIsRdOed40rJvuAsnRioH2NYKBjWTS3zwhFq4ypb1qQuump1qGZ0KSVD4PP1tiz45/9s5fx2kgiMP4HC+ioHCDNFJcuOYZ9gGQ8jY0CAGRoEEnGhoakE5C4aUQDa8ARSokZiZjj8e7tjfhb3L7+ez4LOOzwN/9dtZrk+4HAjJbQyJ3CH81JnT11GkKETyeILop32rPHPskBzzfFKIJQatXPoiNZJJz4iSR5gIE6MSvrNu6MJtyzZ5ZQCMBHn5fAwvShchBkPTYCFpRf86QUEaCrWZ4i56zqGAiJJfsmeMsge/fWmj7CJEY+QO1t04THJkgtEEWnpEAUQ9UD5pzyZ5JYTzUzz/e/yBBAESRKy5Dljk5NWZITxDZ90Cnt3EjmiC2wcXk1lYm7olcSc8/7l96QNQQmpKT498kSL8nwSduz1kTRAgGH2crMnMBIr9JvW+f7X94/PCkiLAcIjOX8R8ksJPx3anLDjM91MF99RwhmZEdAq1whQuPvlOEtDghkiE0n1iP/zH04HaT93rixRzhQGD+Nr9qKzPEDlKiy+vpj2ce7fA4AUhzPmpIvKvp7xEX0QMjgiRgO31zcytj5GD0eVWPXL/YAHCCxAyJXaD/ix24doIgEiFWDiK3tTKaHoSMVSxAiGTIwg2Kf4H5sX7YxDoqQuSTyS/5zSDBXWSiG23SRjLEGxno659YoRkSWumc9sCl+hFJkCI/V5UpOkVsX6gnAKBtx4asvLcFcXGSI6uTSEqQFfnBeCQc0mg2GOL3TPJb4281ZEgw+tBLK0UM0evNiSHamNLFvxKEJVX8ykEHCxK93z6LHbeV76/fXgpehG95k7GKoG2slr4DkyEaHsezOpGrBJwDwTmpQYZCyGnP6aEfIkkeoXVrsMMpZBE+2H3lQROk1Wq9zxCRI12P1R9g2o9WEwQhK4iBH7IlqV6Xv6j8RPttoTBr0SfKvWli0Qw4+3GGFL+YGH6Vjk8SRCsQFYSt0JGMAq2m1OtWkvw27AunwGn8Tx0+W84lCNMSbAijGeJ/Q144WiTv6mcF6ba4YYI4bQz2cvSODGUJidwz7MjPWF04ha3Qw/zAShcRP4whuNERS4akXfTgVji5hD3LinafFURww64FPHafFdYJYfGZdxuvOUFuASZBJDiWDKFP/bXMzBqSpIcDYEmSDOGFm8mQbj/v+KT7czXDGqcHdC13amluFLnL97IZ9ewrVhBQQTZkh+IAIoasjgK9YO8aALcEaUS7zRnSHRRABaGI4gjRifeMOIIsR4h2a+Ry/XIZPU0Xc+TKoyAgqCFqiXP0ZQxZHQcfYHO92+3eXQM7EKG76Ku6WTfrFuYMkV1JkHqYIIEOYXVfzMSIqmG6fXO5fpnojS9dxEawexsgWof0bXsnGZIkQwgfon118+Hrx88f3kyHCP9paLbMGsyhoj+p6jsWCN5rPueMJ0zUD8K84oEpsiGXh+m2ZO5EDYEDcUPA0ex9WlpEAOT65uu3/X7//mYNMCNIvdky19ttOSWInIirSoDWCrLYDkyt2O/ogqesx6VhR1DYpoMi4zW8+jFjiHPpelgq1+7ekh/7byyIlWLY6GrYDp6aivu9CNNJrH8KoBY/akBoc1SQgWG4LckQ2yTNHb6XQGEmrUImiw+ClvZGyGazCQ2pcHZEshMWaHdf98Tn3RrctCBVQ3rgTMvaydH5s48PBys+RAk1+WFqkLgfFaKnPsoQZPnuYb63fnFogtjiM3yqWwVBKVAOnNMNccKCJwA7amF9+/Lh1bp2MLFT5ep1FyAoSFt1hx6EgHeAO/aCdDYzbuyHWHdgECOIeSZy0g9to+a21pkTfZzBdlsqZgA7CeKGnViThlRDQ8IcsFtGgrz58PX9l083u+2aDhSnrMq1NrG2UEaKFI+fngyruIHVHAw5nKFtYkl0KBojJkEmY0TlIHJ376VQGDcMQXqIISqIGtKEhlRqSCjILADtm93Nze7NZtuoHyFllyBIU1ehIODW1xtHQI0B0hlSR6r00A86XtDKmi9GggTJipwp5l0MMupq5uagTkTnB5AdOCMtUashTFX2hkz2RE0q0qy3TUsHmaG8zxHS+TE2BJyH6yfPRRAYCEKG8JmZAClDRYI6ZOnNv7YzK7exzp0iLUHMWCWngqAdRNNggDSNMaSECsrSzUOXZRRppFXQVnPUrfoxRG+pPHj6+rDGNTqdKFKTIVqIMw59MywZgkxWIrKeE+R8Me8SNK2CEG1hye9aU4M0OIkiYoiGyKIhrpoG2JNZXH2/oRCp69F2AVq3AarQa6RVQTjfrCEUSJOGTL3QceHJ9Twq62yR9LcjJZZqkN4PFWSDEUKKsCFN38qqEfKjihhSJVMv+cEXdd20rIerlPGPK8UPxN4q7LF63EVEEm2JxRxBpkdo0WduYZ0r5sWzKkvckCEsiEaIMYQzpKYZIUEihlTJlDAnhnpUBlEzKEP4OGXdIo0VZJggrhIxelQQZxMkaGwFmATJ/xX7GdKnv31Ls1HC6FEM/Bg1sRoWZN4QqIwfJ1LG/eCfAfy9MgoQ9UNqkIMgwwpE9TCCEKMESTBEEyRX6edHQYv4e/5VjytTnw/QkeN1y5AZUofoBYgz9IYcZcEvUE0h7StSGWn55AAcIy0sq8e9e7iICpJarg9rvPwS37OiMAkyVZQP1y0rh+hQExIkbghTInX52/3AAyswawgWQkB+9IJogjBdgKgd6AcKgkQFiZcj8wmSbxn+7xT6pdsiWCtYlOBpVGq3aIJs+Mqj2RiCpBlSngTUyVmC+nAHb3+K0s2rd97Vj3sdfTMr0pGVXq6bpzPzu3z/X8yjtMVw6jG66FNCuAgMWQ0FaVqSY2xIL0m7aMhpVtQ/2TuDFdepMI7r1JqmnaOJnaQOJK1dibgaEFyIQ8GlWfkCLkVwpTMgigYcRAmjIsK4Gbwu7kLwHQTXPoT4BD6AC/3+3/mSL+1JmnhnxjtCfknTtHeKtdPf/M93TpJz3FMQKUHSLUHW0sdWCkI/4u0I4vcRRC3ZU64/MSTI/4C6Hp35oT6IHoozDiLxkSTbhrA8TobcMEDC0NntJUhoxA8V5FgFIRw/IIivgjCtelR+NGZIVYMMc+/cU6qU11K8XFpQKThLVA0LDv+zVKVvAkHqhoCWDBk9Mutj9WO/IVsGejZAMgZ7ckoI/FBBfDAh1BJbp0MQZW+C4FHjwLomyHAY/H1ke1jQJkn/KTd3BNFerHCthhD6NzpL16lZm3qG0Ia4kR/kWs0P4/UShH865TfI3dEScERVgzwFP0SPDkE6ihHZOAkin/kw9869RJPCPbGnroTutqCCECGQgZCUSFIyJM4ARHHqEA+bG+Gla2wJ6GFCb58haiMCBAaDOBFBRNtxFSDWjul0OqkQQdQPpdkPNcRVRA8FHWZvu19oeCjN12PQe0kNB/UDRboYIs2XOEkyNQQ3NsQYa0jotRgSYunnR4YvrAfID0MPvG5B2EwojLcXJ3Es7T8VBH6IIFNC5MCCIqRDkM6RQ9FDQxvbYXD9PsE2tJ/Z4w4NYne/IMSOIIiPhFBDpDPLNcTVo5chnneekhEeQwkShngw6gFK9DiNE5DWBGGD6gEyZWoJ4osgHYp0GfKEcz2HYYaq+8GTOxcQ1d/dthzuZWmxaRcEgwvWkHIcBN1YWb0OAShEQBiaVkM4DjyiQ4/jMM9TBAgTEnjQr3QJ0higiUWiQBBjE2TMcAVim1ewg7a481UQpkMSt8NPP2ct/rRuH0r1e4A7cQFwfmMHjdPRtieIbZSUAWLDIsGS0aKGMKbDEEmDLkOQM3Fu6Me1iYUXdZUfIAxNAj2sIJIg7IcKwn4IEyyENrF6GOJWI5ogjbO3DWesP3bwwTtJAbYTpNkOFcKJD2Y00l4sq0NiEUOoGBY6DQnBfkHYolUOM1iREILgJd2CQKYY1bmFE0SL9BH7oYK8i9sEK1KkFAT/z/0lcQ2hxWngDmesP352r4+o2a+oITuN6A5B+BoI1hAZ/YgTS8aGJJUhJnUMCUeeY8heP/DCYGVG+Dk8giDY7RYE+REkgiQIDAmZ7QA51Ay5gSD6MXecRoVlOIzxsaGHJFqcxnFDsjQ3qbabV8IYglTjIAQLIkicoO0VkCECDAHanmo1xNsmBKszQ3v8yPcN4W3h2qKC4K1FUSSCZCoIdRtLgECPdw/hiDKRGoS96G2IZsg+hgs6PH7gBlaVYF+E9JypQE+ysCexGhYEJGn9DzUSBIZohsAQY5oMCS2tgoAwOIv8dbimPQM9AmN8L+wlSMDqRmKIvCkjwzij0o/Z9ND6MQuSRdmb1SBI/3ZWA86FwYfurMeGc9m3zZObA4BtS4T0FwRVegiqBEksUSSG4JalGSIkDYLABGKIcQzxPANCbx9hchb4fkaC+B4LEhgfgdLMVoAY8UMipCyMYMd6dCwFyIz1OCRPZnGwmE0ZFQStrJsbogzz4z5W9G+UQFqIBBu6ZI8KogMf/QXBDe0SFcRW5fo1BDwkx4aAALQYQntsT+h7ezDnJ8ZPM7wQDayAMF4rKh/5EdT9IESQ9SiLcDnGKkDeZUVeKYokOKwJIicoOnQYArqu44vbMD/uf48zOxS+/8gPsM6PnzpoODCxvyASIKOaH4T4ARImBmqIZgjX16ASxO+OEPNJTlEQ+IQxPQUJaaWfjfWNcWdWxoKM1vnDB9cPHhapZ/3A8u7i8uMfPlgsZjcWpKsKqRQZxPjvUTs0PzZiQX6RP/UU7Xfo0VWCtLSw8CXkxQqSYE0aM8QO9Qm+Ybw95J+k6zQxHB8iiN8liEfhYFCiR6sowi1hMluCFA+v//77r5+viwwNLGH2wsM3C7qblYLoYY/9DVFH2hXRqYqGwxf/W5DZ8qdJq48DmyCbg+jqIpbfpUSLrMruxGXETvnBYOiOEEHIBzWEbzZCEixOhhC+XzOEi25U3W2EXl6Y8Dzm9lW/BPEQIJ4HQSDHaiWCYCgTZMX1z38RvzyMF9PDkufnyQKezGaHIsh4m96SVJ8twBPNCYLNcAT8f4lzpvkBgQSBH/HVVR4eP601pHZg9RVkrBeaIowRQWIRpKKKEDUEmBKfFbGduPjC7zPE+PMi99JlgEOm2A8w8boJ0cIiQUAVIfxusouv//4LPMjJBuGZw0WGexhyI0E0Qco/RG0pMhwC/1+i1bnGBy+cIBvy4zI9Pm4d2+o7xc0YHNcESZOqF2tVN4RrdceQYMcQEWTHEL/OeZGas9WE/CBBAsvEN77gtWAkQJiI4AjBe4mzS5sgPz+MpzY8aHn2mZfKthY3sbSF9QiWaDTDj/0TgQ5HwHdwZ+UH3ODwYD++u0yf1rlddXkUQdgQY1ImS7QbSxRJSkOSTkP8UpCwWZBJ8Nmlb84T+KGCoJm2XxAeJIwjtkMCBG+H38o6f/DTz3/9/ed1MYMdslSwH48uiBqiS/vsn8NgSAd3NgkOgoMX+JGQH8nxZrN5ip7uPX95mx84WtEQqUX8SKLzMkISUM+QOFZDduoQed4nHD/oaRN/tvLzJTIDwJAYgih7BJlHK8EKEltXTVo8uL6+fvAJKvTnnxc/VJGZ1ug9DXEFwafclSGa+cME63ePFufMpgoQ2ouofZXTF7suSD1A9s0iqF8Knq+JsN28lSCJLdORH1hUkDgRYtBkCEughjigrF9epukyoR/QCiQWQVw0g7gPS/0QQTIryDrI86I4n0zhB9jJERFE6JRkvyAa1S1n5iBEhmuf3C3Vx1xyUJYgMCSBH6MNEqTlbJ8uQQRyQwSRGgRwWEgLSzIkEUXm8TwBqRoCDJiUEnAkwBDj+kH/WhR+XmTyooATJI47BBE/RJAlDJnblFvDEL7uCulJgjxj/aBVNgz8eARBOk9Z30bL9GE2kbvEvUqJ7buSuw3VHxcF+QEgSDNiBNC9UhBtXBG80QhBL1YlCFGVIXNaSJ25nKzkGjIRQfAvpilD8Ez+0Sooznz7GtrEjPHbqAQJpIW1XLIgkJijLg34sDBaJUCABokTIEKLI0q7IPUZ7NprkaFYd7i7adQ29fojvLjM1/BjRMtNBAGVIIQIEhOJGhLlVhEbIdYPbWXFu4ZMDJ5rMQQBchnEReqnqWGCPoKEXhkgS8vqiN5ObjITcZUOQTwOkLodqsiM+rD6CqJ0JghWRw9muGTWXeKeGgUxuAhB/THOC4PGFRsy3jy1/3RB3WwLsnOtt1ATJFZBVkAG5uYRR0iM27zKEFq3DUHfbSxtrF1D0Gs1+exyXXxJe0EJD7Hgpa2GQA8JELZjRWsUxUn0aRGlWcr/qRDDKjNVQ5tZNkG8kUOTIfpJ0b/bDOkIkT1TJQwJchdokaejH3JDfGzGJiQzRiPkhzaxXD9UkB3cqyF61hB8CdOU7RBB1JCIDSFYj7k1RNgyhCzAV16emU52MPlbeVTg+75YBATdlYLQuoWvID8gCKnB2HZfFn33XUBVurgoAeJiS5BeV5CvPq4xX6qxyxCRhHGDZJiS6s6od+8iN7DAD8DpMZIEOd2MbyoI5PA8EcSkEh/awmKwD0NoQ3LUDUFY1A0hP/R5M9klu3xreVJwh1RsBYkrQUyrIJNSkGVdkCS5vErkwBdichuClNQmHDnoMqSlqxfLkCB3gOSzgOwQNhVlAXI6giAqhaOHoL95rcwtVfvKM0ASBMzhx44hWOeMGqKOmGBKmUHZgG+8rU4cQc4+eKu4zCZ5tIIgiypBgkkzVYBAu6NlCbp5V9F5FNH7LQUhP9oFkRKkryXj0Pqhiuw5zLf1nFzcDb294NYbWPXeXc0PyRCJEAQI3e8RBIr0FiQUQdJSEDZEkDIdiiA+cNMMAWKIlN1UydN3340QE7zx1VsX+eTLl0/yBdsBQcBeQSZagYgfVKTTw4SIuYkFprM2P2b/UhA0sDoE0QRxU0QThO6G3t5bZrs81/4rW4AII2vHKd3o91iXgvcUtUL2mN2L6aCPlFibIFBDorkkyFndETzbniEwYorvMgnChtSLEKoRTPbOF1dXJ699WiTrOIYhBEoeCNJuiCGkgXWyPDmBIYgQyBqTIdK4Y0FeVDGqB4cztLD20TDfaKh+6KfqKtI5585wrvqtD4Ao1cGJbIdyivWUFRlvIMieofNesxQYEwIkiAoCVjUibWcl2xmyACLIlAVRQyaKMWb18a/fXX30zkWeJQkbwg2sKGkXRJtYUSnICQQRT22EcYBMD8UJ1eNZpwTpIwknqvRhufSclap+qOlw3Mnd6CETQknzyoETZCQJ0t8PV5AxN6/Yj0CLkKiqQc7UkJ06JCozZBGzIsIc0HPYn0wrP+jBxbc/vv35598VCfxisyBTNG8URL2SQRDoQUgbKxJBxJDZoQqC+xex0RKE6SeIvT53eV7A66/vFUQzpDFBhmk/78AQKTsO5IalDrKDE8Q7PSVBeM49VcL1oztBSJAg0CJdihANkKUaYhURQyCLCIIlEEUWMStky5OpCjI1xfu///j5H1e5/AxeN2fiYNrqBxQJqKyxgtAq3VhiiBTpwUz8wIo9BIi2sPobghms7JWwRZB1gU+y/8Xl3Ov4Dueq3wZVcS6ZwW7I0sApJwgZAkFqTuge6BJE8IzU1wT7sWvIUg2pKcL78kccGRKoIPQ8yu/ATMUQbnu98cVv771/FdH+IrZyiWgQxLRnCN7VHH1YVYJYVWPbxAJ1P6DHszCEOZx2CaLIJNMh/ACUH8fFxQk+zLYY0TqdH7gJMpxmeLt6bDenYIojBi1YR0gQFcQ9YxA06VE3ZCwRkgaEChJpDYKm/9lKOFpFAguihiysIQsIMidKQwJryJTu0/l337z/6lvLzLBERCXIfCbjIA4+XsvOcQnCiCCoglSQZ6AFWYEVfjzrtLD6SML5EaKTtzrgeXWS2d02Q+oXCm/p7B0uC3Rb/VewwaVJEkITpON8qBFT7WKreB4E4Y4oDKXHqQqiEXK2VEWOjo6aDEGIAP7u8z/jgRiC/Jgeffj9mx99MqFnZpAI2J9FgkybE8Q3RkLJ2vGaRkhZA9kB+WdEDWvJc8/xjraw+hrCV1XlOXNVEeAY0r9Sp3U4/P029Gj1ww0QgK2MFD6yICqJwclHnCD/sHd3v+3NcRzAPUSm67qWtiurzmETqhdbH0S1Y8IiGi5YIgsLboiIuBESIQgLF0v5kVEi8Rj+EP+AxBVx54o7CVckEu/35/s553PO2Xc9nXGl79N2pfw89eX9/Zxzetq4ZkXrA1vVVYiVSIV3CmGSQlgiOnejaPjuVyCay8cXPrzvDSy20AkKBIgESJmzih+IW2BxJ68AsQpBbNSpLS9HOrARCJ+kgGQj4c5uAIkfU789EwgzdVKfV8i/EFleGQQ/D/cQ8ViAEALJ8mELCH/QIYUGhERLrKqosAndHZ7TmJByWojc8X97vF5G2CsmZOX4vUdfanPPbx6IbNbnkxp9+OP+nqrXttMNon9lA2K50jWIjSAncmp/AAhOwzIh+kQqZZbL+FrmC6x/UUfchwKwyvA2CGwIEQLJ8pGdKwiEHSJAxAffieGMrokLkbeohhaQCEgZr5ejCslrgbzywyePvHqNPJc53oSgSEo+G6yVAoFcgxGdOIZDaxDpL2uQYtrH2YGwP1gg9GFC9NzFLCHUIfGO6fMPq58vifHj9TtedwK0KRI8VIf+kAaZwiMDyALinhCIphQBOTpaIw8FwjkklYQQ9oWEb/mkEBIplcbvPb7XFh95HEuUFrIGcYo0oQ/GTSAKhJsBsb3JtVqxGPPByETCFRaAzCoEPuTS9KlTF+XQus7tU4RMX2ZdNL/w4r9UH6+/DiGOiDyChQkxJMwCNjtF23NeiQeI/Q4Dgh88BhKdOnINTbSPEJ3Q5RB2skPcYzneIeJBl1h4yQlB8sxKbfLB8RvNvKRWxp8v67AKpVQcEIt1SEGnfowgQzaILbEcr2ukuVIFsmoNwgJxySYi/YFcls4VibEk86AhkrQxv/DieXgk+wMqNHSiRBQHeaTDY+nTgDCnF4jlihyve1t2PqqvSYEgtsRqezukAgzJVZasnuTtL0QiIPc///aFvSDv0gQL/hHwQSDWIGkmPHEFgafQx9ABqSLmIw7ktitX9xUIG+TyNBC/kQW3r5tAtEAsV3O/1syfWD/RIvPvwz1f7OiH8YgbAQwrD25hnr4jh+0yA2Iq3LMMIemr6vCkKJ5fxSXWaywQ3hSICiERIJEHTbJDyrrAcnOKAoGQWmPl8IPHh0u1JSRfq+HFOu7qww/ETSCyb6zKApHoCitaYjkgzSJgRD5W9/cViNuHlcsmgifio2ArLPNhB0YkZz2sbuUx/yjuP+Ch/aHDOU2kiDCCQ3XwQXzwZg1iPizZQCwAsiI48CCndRwx7ahCbJXFG++eOQQe1AfiADggpXz1+JO9Si1PIXhDKxANgHiFsEAIpFzVAkHoI7WbF78eK+M22VaRGJBFA+I1ou2Bh0KJQHw+kkAyhnX/JYHmnzA8Bw/zEYfxlgEhD90s5MEOUSD6VR9nBmKRCgEP3MplATLEzYCIDwuLhAqq8GBHDt3Q7YDUQyEEMT688GKLz5aW8dCs1BETMg2IzDRaIFQSDukmBL/elau3sUEckP3V2xwQG0H8RIyJLrAEyKVJH9eFq64Ix0w7fL1zyPzavec4fE4g2CIfbyHxBsEDn8V58EYg+tnaJIqkjWwgvF5P+K5jhRxJMI2rDwBhQh64SSoWPYDOChE9OmSgAtqvvvjhe4/0lmu4onRTgVybBLLoTYmVpCO6RoFYhXCFBSAMKgQ+YARaENmHhWQboY9GQ3wwIRLdsaW/GWuP7A7hQ5g5jfN8ulYHEOsP80EhMGD9kaoQziAKhMkGYvutEA+QUAg2ABkfHo5bayGQcFMfmpQQ9SGqVEC53GzWj44/+GRUXUaauDV7rkHqBiTvTYkzP1JpE0iLPuyEd1dYboW173TcBh/rm5urq1dGI0gWEOJwPkqlFBBeklUPjMwOxIR49vPOj6n/4wIhEKuPuBCHwbWH2XAb9CxcdlnCh7nw+xAhpiL8icvmXM41FnnIrT0+nEyOJ5O9Vtvt50X4YCXiF8JU6gTCjlAgzaPJh88F5eUiiRSbvV6vjgqhESDBI5dYvrijKvC2Bh4mxHbz6gprXwuEPtbXUSJX3qYrLOWRQSRX4GfbC7QQRvujEd+vZRNIxrmLuPPma5D5V+KeiQfjLxAXHUJkSwc+IGThUgLJHjn8QKI3i17yrSr7lPh51jZ8uLw6bAsQC34rKaQsc0gopAIgawDCCBEAOf70cLlZLBaXcW/SB19nKOTaSnPJx4NAUBMVN4K0EruxKh4g9MHIkH4bgOQjICecpH0IkMJC6sAI0RCIRYFMPwGem6dENPPLks48oKf2YBmPZIOkfGh7REAuS/iYYsOTHCI/FIgKuebaMYEcIngcrqWF8K5M2CBKBEYUSH3NCZEXewDy4YtD2mCuZIEEiMwh3K4tN/08BAh+OQCBj5YQ0SUWfTiP9KFA6EMaREZ2FghpKA8PkaQPYkj4kE9apsd2BZI1qfuJyDY/pD77d3P6JhDVYUB8/UEfDD7rkLnHyoD4hTAKpOyEVK/lAKLBMsuAxJGkFln0oak7PXX3GgiMLzxVb6oPAKkTiAjSEqnVPBUiPiivjhUWeRgQNgglC5De/uq68dhcv41cDIgll07og5d+KAmGheSBdekPJC0kc4fvxT4h1iDzAyIz8ODNgCTnD94MiMUKRIMK8dg4M5ACtwKE6Ijdpo9xRORIfXiRhIc8+GBA8CoF8LVmvf7Sp3s9xwPZ39wMGHndrcOaJ4HUluhDgEiBSIcoEFXpgNDHuvjQiBbbhzUVSC4HHwTi8dFoQAh+TxoIkgHEzs2aV8g5P39uI7qnQGyJ5ffBWINcOj1ZBaIV4g5iHB3GMxkLh6FsqchSSjuEtuSBQJwQpNLeG0ye6/b2icOADAAEqTMEkk4NacIHwhFdYkOI+JAKaSoQZ6O/hSVWCAQ+pgvRq9HThx4DscBHg2g8VwY60zFDX4PM9/meYYV1CX0gaR+2nzcR/iaLIw2EQjLi96EFwrVI+BUDLxDImFsayFB+GBM40AMidfWBG36DPiIhgzcnT71U721euU8jeBQfbRMCIMtLFh5LxEOzGfposzwkMSBM2YDwRh9b1iAoEE/SPgq42HDDTehxIIUGEvnw1ogB8c/q+niiQuYnZc00oMePEaZ4PPmkCUkDIQ8oObVBrjg7D4Yj7GJJgaxd27IVFoEc0obc+UOUxIzU6ypEBm70B2Z0B2mwFuAXu/ubybt3b+5jdsYd2ez3gwHShhBQcUCWjQeOJyJNBD7wKhdYmuhkE+0sXWGF6ffVB4GcLBA3kZgNaU1eqx4+CCR+oZcG1FiBeGtEgUzb4atIkpmflHWGK/zYPizzIUKsQRJCDIcBMR9ThHhVMLqLBykQSFWujjBWHwZECiSuBAmJUIibtjUEMmjjHgz4i/1w316wKVnFLib8IBAmCNpOSBNCkjEgLJBRAojtGKgSSORjq9+Xn1NXWOFz/a0SfKzQQi7uo0AfJfki0gwh2Tt8uaVPXJx3yIzfIHWnS9wHbyrkQSfEu77S5KIhPbZ3MuFCf04Fgsi55cg11QqEuBnEllgCJEpbNj4wQxHCG4WwRjiCDAY0ErSfD9qTb/dafQeEe5mQAEA6jsiAQnq9k0DkgHsIBEJ4G6YbpIqdyJukgW29TyDkMRMQvaypnDLPBsnZyYuhDwK59BxAEP8Vs+bH1GcQoiO6NYiNHxQiRATI9Abh9+MbDxNiLtI+PEKsQfSryFEh8QIZ6wiSiBaKGzU0FXcP2CCDob42+bwTsDYYEdIPgg4CQxDSRoP0Ug3SxA2hDwCBD/IY2ZQeAXE+trht9blFO7GKy/lTJhBbbNFHVX0UFlzEB85r9oztzExCDIf3c7hmY36xrNMPEGqDJFdY8TzsiOgSy4tjKQKSXE1RiB9Izhe7xqdegQpAhjEfusJiPERYFQCCGzuEUSCdDv807M3deylAxIcMCXjc7ogQxlVIs5iqDwjhAUVdYY3ow4BQpProbfa3gGO3v7Wzu7NjI0gRBZIJpID/HegxkJwBQX+oDwWSLWTqHEIlaRyIvBPmx9Sn+rgk2SBWIFIiSLpAUjx0CDEfJoQoLNlAtEF4drmbQuDCCoQ+OkM9FBEPaqIzGHKSoJAISAAfeLGNh85au7XfVyA7eA9v9Xe2tzvduJD6Zg9AirK5FDmB9EguGAIIt1CIjj04Q4VA9gFkd3d3BzfEdmJxH9aiJE3EnhZWpEBKAEIfGvbHSkkLBGKQ884h/nMX559Sz/yCnDtjQJB4f+AGIjajW39YrnJDyKXISSELvsRV2DMNfegHwCnE6VAfA77hnZAkErrBMM7EfARcYImdVuvw5eEg6G9v72gUCIQwnEWCzV6vGEYbJCyQQCaQeIVw+rfTWOhjR3wc7OzsokwUyBJtmBBfFuUCwQSCrkj7YKnAB4B4crZBxCdk/iH1zPlcGgRJCBEj1iE3kkDoA4n3B3gw/AJwn5CFswLh2e4OSKUiJ4q0HJHxcIB0TIf4SCLh/txgLYj5IJBuB39aa/Lh7692oMOE4PkNXcQBQYJ6GojwqNQVCHGQCCNrurXwIH0dA83u7sHuwcHBzi5u4CFAOKJnCim58+VpweejoOvTcwCxBjl5PGT+EUNfkj7utApJd4jO51ctoTb8/WE8POFVGDw+kiZSQK5zKyw9uaMNJEdj7jlqrw1i/cFQhwnpUEjQlg6hETwOCAQzyKA1nlz45aNxIDpwv+Fg5wA8biAQCpEYEEsIBOM8C4QRIVJL4W4BAukDhmz4lXd3dYklJ/LG4/dRCYHYCCJTSfS7rjiHkMxj6hfNj6j7F1jJBsHdO6jzOQTkSyU8Ukh6PL9KJ/RTgGCVNdWHEQnXV43F8tFRWYDodePajPOBd3t32BUeKqSlm0TWWGgRDYV08VL38PiDj/+8r0sg0HEDaBzccLCNH90N+NAO8QDpRT6CofrQCunKGos+JPBx770HDI2IkAfWWSCZQEryVUCywgIGJPKBXbxG5lJ/Mk88yTpgeNH8U+oZ8wdlWIfcEQqJfNAFwmt3igkQMR16Ji98eIAoh4LHhwExIeGCvFE6+urCVwZEwyMaAmTYJRANYUROEJm1pUMkIIU/Znz84a/fffHd3dypuw0W4MEbsoFEHSJDyJUCw0747W3qYo0FcjdvAkQqy3Yso0AOJERCILsPbK3bCmuKkdKK+iCQnER9qBlr4OwSsZxlZ9b8qr3+9ZVN6PCRXmUx0h7RbL7Iy4IkykOJ8NCvl4fmiuvMRTL+kfX+0vjCO5OyAgmFyARCIF34oBAZlt9gi5AHIkaoaJAokNHdk7cvfPDz+8/dN4ADqjjgHREgLQJRIwCC07Q0RXe61ibGCwABtBF0INEQ0hnKji8JfFjggxXyAICwQKYSKdWwwJIRHRbCxSb3alXVR6KAs4T4iXh8+JZZ868OiQOxs3jJQx702w1EgwBhe8T37NauWVIhlsXcacsr+zRt4bpcbmYgeAOhQb4ac3Ct1PltTieAtCQjbJoh765MBkibDwpk2B1N3v7wwk8f7bVaHaR7A3PXLbfcdcMtUiA3b7ScD9wG/U34sKA+mCDoBZjywYNJDCGDwApEchdLBP3xwNYDAFI0IH4mi/BRwT8qMSR9sFV0RP8XgTAUMh9Csg+BaML6sG/IMSLpE3jRIUvJ5RV58D+RF4gJaeCPy00For+hl8zFDIL3iJzfITjkQXbFChD1gRBGQgnetYwKGWJEHx0fv/39jy+BBx3cACG3WAhEhZwAUtxHgbA+huNXg1aLQCQGRMYWJuaDoRBER5BpQuiDE7rDEPqomo9cLhNItpCZrnQy75C4j9gRQtxlCrE4DciJjw7WjAhz+uxIICkhMwPJ5/kNUVWEDUIaLhw/Ih83cyTQCnkjToRCLCA1OX7u85/eH3aEwQaiNtAi11+/cTMSLrMwn4iQfWwIfMgKKxh/9vvX49EoCQQUIyABgdwlQG5RH7jdJkA0fiB5vf68lkW6P7jqMiDnndRNiPeivRfNL/vu+ZRUVCBcX1m8nx5kas1yc1mJ3CEfkp62vtLghFW/EO8CC+8m/e4CpO6AtFEFDH2EDRJG2sSCpojzCCbHj3zy519vDEYKBIEMCiGQ6wlkBCEbERBEiJAHgh46/Po3AhEdtsbqGpD+NmhI4C6sEAJZNiDerOjndWs1WWGZDwFSUDMLZykRushYZvkbhCGO/7kRm84ZNof6iPPwAdEsNyvNZs178pXFs9OKQtSE6fAGKyy9CBWHdAGiwVt8KEA2WqObRyO5Ewd/WIaREO6zOn7q1hd/+fLWwc14RXxcvwEekEEeBHKTdIgj0gEQJ4Shjz7nmMNPv/5qlAZCUAQCIQGAwAajQNwK68riMi4ALEb8SmpVXWChmBfdySfio6qdQjMqZPZBBCoyJ3W5+T9aODeCGBH9N+b7fjVPgzBLtR6E5C+nj9mBUMjlPiDWHAYEDRICiS+xWkP4YFgZ4GEVInduAoQwtD869z1391Mf/fEMXpBhfINCNPfw4aabKGRjhFGEHcIG0ayKj35/MHj+iH9J8+GEdIchkCDY3jkADQNyrwhhgSCnA6lVGBYIGyQnPnBUhL/Hpvb/AIgdUE8SYf7vOMIzCyT+7z/XK1TjnuLBO6ujVimz/i+TzHApUU2pcXlBVSgT4+GizwmEPOJAOF903Q33jRH7Q4UQSyiE6XZkOpDt1qdGr77/x5t7fBUtYT6Yhx577CaGFdLiiwTSX40iPlghwWC7ywLZw0YhDkjXOQyQbc79T/CGGYRC6EOBUIiXSB4+GMFADeoD/YHwd4kPE2KZLsRseIVo/N/0+T9fZV0sN/Oh8xqcpOsjzQM3Swkfnpbvd8mazhWHCbGcAsTN6AaEH3kiENpg5Acn6xHud4+4SdQJlcBSx6W791Kr/+wfH73El2CAuRkyHmPAA1EhjADZ6a+HPtbpYyfAgUV0EYFQhzzI0s6EwMdNUh73YLsFgwgqRHwUFYi/RmrYi60jek185GI+osOGljPM6gZkyuEQm9VTn536X38R7sWJ5ZW2h/cb0P3rKx43vyN3ReP++3Ex5UwfBFKwkxJLK5cXfEAWLeoDQrRA+JHA8DigZAM+NHinqg9d9uiKixVCH3+zd24/cVVRGI9WrVVREBjFchsKI7cBuQhIUTLWMZYZajPSNqGdEmPFpC0tQW1MG8VICIbMoGYsGOWmQWPim3+Aic8mJjx4iTExRuIlmpjgg/fq9629ztlnLjjGx+K3z2VaOm0o5zffWnuvvfe+Zzpau155JdWxnyICjS4gQ7w0N9fXB7yEEBDotla1DwBSzUKUjqZGsBGLBdKzEI3l+p45X19DPmpwGkDucwDBkRsQ6cCygDAFET4MIZq0e5XTQtJZcZdDzgOIm4jk2it6O4dZaXjoCLod/9jKQWwFlh03ByFRuEgePKDCaIHyATYKo5aQLfnQddosIGIgdnCwFmagfLgBjwvKc/tjWMg3IRl0x/691fte/irZ5PyBRqJVf9xVMxQIBOr3uYTU9QEQCvaBmsb2vo4+CIOEQDGGCAvSLMQDSHvdMwGkNPffj7QGDoIY64EHHpQIS1eAsIxYIcCqsilIId1Txj9kUUifpujQPyOSc6o6X5GMvJMM2dK17Vc68RAC+8CRhQfP7Aydsl270A5/NOqrKFBCdm4JSEV5VCsRhZByekhuQCwflNPJC7FU3eLBx3y/y0c9LgYQh5D5hYtzcysJM2DSu3/s15cTDj+NAlYNyaCGhsgHJR6igPTfoXyAix74BpYcSjQ1qYEII0JlI0AVCslH3Z0m4z9EG7kXhDz44IMH99x2EwGRlg1IoQ/0Kx8EBPGlrLdKRNwurDRAMocMiUaam5QJIs6gbW5A8s6ewmUbly7SO10+6CBqIV7lDq9U1yofWKR6B+aDCiH8OaHlTs4Ly8tdPpSQ63BNVwYf15uF2mQcnYRoiAXJU45DVI8Dn/3qIbjigiM1992r71ycl/6u9qbHN1+Z55eZrjBt4XsED+Wjq6tLCFFECAjmk4OR/trGjr7GSGoFWpsiE4EYpXm60CY9vRAy9JoTwAPHnfffzxCLBrIHnbwqS4jlQ+YhWge5HkUnpbrxO9fBJh+2z88ikl0drb/KiLaKyvLWLeZCZNtvYOiZZMsMPcNB7BZSPJQPHo594OdQVqY+XlREQiqiMl0aP6WcnbvRcifAcgjxlWcR4uVDHEQXaqsiICbGUjqgRjaqngZS7+QEcgEFidTcq++9B0Ckuqrlja9W9jtFho0USDB4DAwBD6qlJRDYp7m6OEgP1B6INdYGUouLc5+sf/HD4so8DET5COxjIkK7UUBYukI8DlH3k5CHCMhtHkAc2fgK5qh7MmgKInxUkQ+tXHSzNKUDDRI+cLV8qHYqO0XKR1FRvsEQPbLzkG3rIPrtawYi5mH9wwtJmlw6iAfIICHkA1BgTYHJySgzEfH83Gvt6uiHEsLppbkdRPEw/gG5fHgBAQUSW8mjDjx4AgvK3BPzi3PfzS0kOvD09u5788vFqVr6B8W3KR8DbBD5gDTO2scYqx8W0tfRcr4+llpYnPvo0qVLv25e+mRxPuYoECAgJqcXCR/AAx1jNScQYj1071ETYSkg2S5CPmRFeTsIgg2pyYcOgZicxE4n84p8CCFqJ9lCtAU+PB7yz4v2/u8gNr5yJJWJuOYOr3DJjq/uUTqiZf4y3HH1FyERSTwT9eGHkdM/LBlWBei9KcYqBtmA2JXUSYhk6Lt1MXcLiMMCx/cEDjytqpjeUgsLyXmtK3lqYS3RSD6IkipA4yAdXkD2GURqG2kh/fsjj7fERy4u/vgN+aDWXUICIAR/X6MlpJb+gYDt0NBxGMgJEgJAMIzO5R94IR28qAwfuhyK8oGidxoI/MMConIpoad49pIWRyEPvHoFaMAHRTTyIJJZmLWtR9Ktg1wpzXZh2fw8cwQEzfKB5KPgGX8ZPKTCv+PJMj9+FPPzUV+UU6nzA6I0GEJyAaJ0uCGWGghmSbmAkA02IuISElBA1Epi87FGPLZEpDFmMnr5c2I44KDLA0gwGCQgtAVy0lJfW9vfd374seELr780N/cF6FDNrXTHYi0kRN0GfEACSA0BGW8eQoR1goQ89NCD9zHCgnR1FJutk48bGmTbHjuKjpSEfJRUKR8wlKyph26U6mYkVFERDlzQcikPIIaODBPZpov/aGxpK7DMmaYtVm/njdGV7K62IzFfxO6SJysen2Wkm5yPlsqa5J6kcVcOPNyXMA8SIiIbCofwcYP6xy1pgPRyUofwQQJUxgyMrIWIZHSEhHDgDw+xhGN8qtGfm87HsSDVTTRiAKQ78NhES6AxPpMcefOjHxYXf1D7eA3nByugwxy224uIkI/j8I+hoUNDBATtoYceuG/PEcFDLirSIZcGYyBCiBgIR32qIB0VATG5JucWeCR4qIpw6BY7lhP1kH9Vc5LJx3YcB8G3mz4EwlMI2bFD6dDDC8mue2zy4eqZSdOnODrvf7Ks/IWpaDkJqXBmhvKntCs3IJaQ0mIZLqOd2Nz8+hvUP6gSs5SIAgILsYAACA2JAvuUEUuIaj8eXKNGyIWJV0nNAcfAsWMCSCjyeASMgI/h4ZnVhVTqhRdWf/vi4sra4icGkE00xFjd3fxTwod3bFH4aB43DYQAECTpd9BA1EEsIgAEAh/Ew0ZY5EM247U5iaf2psCxWS8ePHNJWVFK/P48hCgfGSHWtty60DiI8kGxAwsyfedgIhMO4x64mp5dmIcqGt0hujBVVOb3LT+9o5C7mkd9aiJMHonI1oBIFWspyRA2eIpuMIDoWtHOUgkEpJ0xluYfAoc+7ColI2ZusAntZHIRUTzMOw0e0CMA5Bge+8jwxMjEcDgSScWXNr67OPfq+m9IyuunFiVDpzQJaaFwtd3CTQQEo/LjQ6Dj+HjNiRNiIBYQBxKPGmTbNyFEeSgmH5WZDqIbtBcYMjguIvdrc0EhDfLL1QICQvJXvvNUbd+CRXEQlXiHVmAVUWZZMhBC4ap87MKVfGhtT+bmH2+GdpYVTb7od1bgACFAYyc+2yqertTBD8uGlWAhhGRtBEg8fOIfkPJhAVEDiTEeSlNMPYSVIGzphFgDEXW1wDVoHyIYCCwkNTEyMzOTTC6898fnX3357R8/rEzV1iZWNgCIRlhvfLjSTQkjaiEqGIj6x5A6yENHEWEBECsvHyVVwoduTc1wUqr61UEMHww5r5ND8VAVEBNcecstPxoPw0dBPg/RbNQioonq9kvU06aAuAOEXF7a6UVPs49daERkJ/iQop7MvQfLipZPIdCteLrcJaS8goQU+gsSqUlgsiUgSkixlF2xEQ/GV9qBxcXUIeGjVwABH9ZBmCerutCEjxihICC8G1xQViJ4KB+uWgiIMZBHQlB4MD6cHFlaehXa+Hbz5583NxbXErV3NtavzbkOcunbxVR3i/ChgFhCYCBDho+hE4dOQA/d+4AAkk0IbtiqvRrbkTiAuLNe1EEsICIOKXplUFFA9LYFLQSEKro6v4egKR7bdbF3NU23j9fyYbWTOBipd5jkw5QspPNxdZm/8MXQjjIdycWIeamYiMTGTckEDJ94ZMum5Qgs1ENsgIX0HHQgCFEDISEUi7F0uC9mRrTxoJMPNr6KARE0RYeIEBBIUxAhA5JriHxQJ4+Bj+E43GNp6aVXf9j447fNn9EQX9XcWVd75zxiLAp8XPoRgKiB4N/zEoKB+aGBcWT8zTSQ3IDYSIvxla6EonwQDxHw0KREPjGuK8yrAntTKiroHhRvJsRieOxqCweB0gzEdZDtk697RtAhGUFHfKUqoGRrJ7EM7b/S5IN8ZG9d6y+KVj2xk/28CKqICEwE8vkKrp18cb4cfCC5zCXvbDohpJDxFRoTWLhH5+zsbt1tQAFpN3yAEOMfAMQ8py1d4EOeV1NDyDvpiElzupkcA2lxFIyEjIEcOHnywIFwGBYygWVPll7d+OPSz9DmtxdTzbUor6pfISHUF+AjYkKsbjuuCBE+8AGBkXHEWAoIUpCbbwIiuFg8OCzSAD7anBQEnwPkw+5ibXu1cCk07pqfEh4VXlD8FSAFYpLOCdHZhOTbOYRQbKcFHK5In4SuCQj9QzqdcIi0Bl06rkgK8QAfuQDBW8r8tr6kSJbiqJIiieeeadtFPgpw5MTDzhcqdjMQ0Y0lNzZUJhKVDeTDEOKsNdqhIRZtgn2twkeLnHz0lRCxEHMQEHUQBYRYUaHhA8eOHYB9nDwZAiEHQiFk58klAvLt56+98cUncwstKDo8WlMTWEOlyRfr6z8sKh/qIZYQGZgXOIDI0Pi4AnIfARFlrmNawu+IfKiFcFUK3YC0Sg3EUSEhwcFXct+SEHutqDCAQASkDHxAeQAxWbpFQ9v2ydczh9AhXIQP9Y8ik/hpAakCIu4BPHLxAS7wv0884ONCSAEnM1TRRKrakIbsAh6F5YVb8aETIqpKEG7zgPhkIEKvburthAwfFpAmN8SC5GNc6DAKoMVELUoITyHE8gHJ4x0MToQRXRnBQHAgyFoiIBtzi9DCQgqAQJiOO7+ygN9ZWUlFFJBgSxD/rpcQ8EE9CwMRB6k5gQjrDp3VnuEjDZ34hhQQJQT2kQkI/DSdEr3jFU+fNEpuFQIGTyO9k5CyHbl3+sxGJE3bbNepK9INxCnivYqjfCLgQennEMcmMCNql/ABZfOhIh4ERcWKBxJSVYxMJCr99+WTvn8yEIiE2OoSGAd2QMNJuQayl+ogIuogFB91JUQVC8jvt6iJOFlCjfJh8Bh+HNfQxGAoZPA4OXYSAZb0YC0sXbz4QjKVmm8Jhlqaa8yCJzXhmeWnutfOKx1qIRLbidRAoHGeQ8ZB7nygf88RJUTwcIQERPiwgGBfUBH5MCGWZUOwSBPsmaAADEVE2PA5L7zy+ysQXikgUJ4le6lsB9kmZYuKRvoSDVeCDwOIk9XxfxgfUEgJGGjh8UdwlRFeZYtkeCcPFlc9UVpaES33wYpQ6V6wJR+amJdUltxi9iEnIBxhLnlC6SAfCki7rJkAkQ/BwDyoPFWOg5AQQQS+ojmCBSQSWcX7gslBOsjYGBEZHB0ZSY7E48llVHClIsGuQH0NphnWYN0TqPnC6+sfRAJ4K94bCdFBlExFhIVdAyIYyMDQ0MCB4KETd97XfxsAYZSlUkiQoHv5sHvw0kDswGE2I7z4yIdPXlFqID4M0YIWij8//IqKkpCirSaqq/IYyLbZ4DOthNddQrGMHbXMJFSFOCoqJODFS4JDB7k6Hx+U5UMTEZkwirLdLQOs613dCEKUDwBSzNTjiU6gYflghEU8YuenmGY4HFC4IuBxZb6ghGhXLKWA4I8/HlydRg4yMqgR1hgoGRwcPIwYazmZnBiOdHd1NTfXWIU+/OOTj1aJFqWIMMbCETCigRwbOGey9IcHFv+cP3RvXX9rq7EQ10aoI+BDAanWTwBni14LSIMHDoXFpxcfJYDgIBxeVcgFwotolPZB5Sdka0i2zdSpKzINBIRcXQZCjIGIhUgGInj4FJAyCH8mFyBwF6Nc1Ym+4iqTqxcUChQ5gyvqFrEQeAh2XubweWlVQ+Vs9RPVe7nOlKpXLAT+kYjNQ+eVkO4YP9Ll4zydkAC+wLsZ8YYZoCkgjK0ij8U/i4TC04PiH2fGoMNjY+HBkZnpeHxiOBQKEpDjSgdGyMPrGxufrMc52D48nEpFQiDElDc6hGBU/hhGHckH9PAji6+tHLqXU0pIiJupm0srFsAmICLBg/bYqykIJIBAtzRk8cG7kd4rXDDYVMSDV85jyw9IRifWdp18e4WcaYBchacd/gFCdrkeYpI+NLqzn/kJThACLggHDq9v5PYP1l0jEXmiqgrzAUEa85ns5NyDB5YxvRF1STQPhFezaytr1W3PtZMLd+03vMLEwMS86LxjIeSDiUFQlGYhlhDHQjRDfzwSmkh9+GYwPD0qgIyBEAhB1kwSPb2DYQBCQo4frzlk+GgOf7Lx7sZH0y2sRnlhNZkKg5AgJFh2KR9oYEQRSaVSGEPp78Ey8VgXxYZYEPmwgECaX3kBKRY8KAIihPiKfSLe86sCB+yDfOQmhIhYqXd4htK3XeG7eGSGf1zD513sAyfhYKNuQXcI+SAifrcm1NJhuche3ccS4sOYMHe3wIAXeMgEhLbhDg1y7GN32+7OEhDStvLR9yuzWCmaTMj+NO26X06TApJyADE5QXcoGImwGjcoARQ8w8ReYh9UwAWkGwo9HhmeSX792PD04GGSccZYyOipkXh4EHzg6Q8ZQA7J7Nnm483BDzY2Nv5Y7YpEhhfWN1+hhYQsklLWdcyIeCDGevbE+Ik767CAKUcDb6OcKOuIhw+96ILDtBBn5FD4KEZz7KOYAho80ASU8mJULSgQ5TggfU2RD7X4/ITYaVNsmcLTc5nXLXrWI/b4B0InSuDgRQaYMHDLm5+iiSgmRu505zLEV0aZ/qGS0RRZj4A9vlKVmmkgN0hZqxk6x0sQws/QkuL2i7+un2c3D/lIJBKoWDeLVbP/al4U8wISn1maCMoTq1QQA4cQDyBYmAE5A4l6LJScWfowtTw4Njom/oH76Ogo0pA4+Ai7FtJ8qLlmCLdA8/S7iLFWQ4+HUhc3N99MkSEhUnt7u7pkUP4cGwihMF+KkxJ7evvasXJQK0yEhNA/3A2nLR/4FODv2JHDTs6EacBFBUCslI9i4aNYkcCFkpsPDeGV8pGNCNDINhDjHbhmDxZuj2GQjCJe5OeQAkJCbCkcJnUUEQ8clhF1kZ2afqApGjn50PHzwhIpLIKLgJBMPm51JtkJHw1Q5d69lZ0lsyuLa70cSEOn1X4AQkSadKnqfbHzhg8LSHzpu3c3ZsL6xAolMBWAQEBwF0KaDR8AJAgXGH4svLT0URKAnCIdZ9GEjzj5oAjIQPPxoRrMfmqGjg9++O7G+nQwEk4tvPLmwmPhEKWmBQkf54yDuIAcBR8QZqJwbUaYCAlp7ek1fPSRD36TgN9Zit7yAUCUD5zZEjzM2tbkxBLigAI+tt5S3QJiIEmfeuvK24d1uS8h5zqkdZCrrjHpN1zBEKIhFihRJJQRkSBSJqEYwyreos7geTYglLPtXhVKJ5it38KCVG94deutt99+uzByCxEhIJ3Ve9s6G4pnE4jEBRBYRiIRAyEGEEhWpRIpIMNL373z7u9Lh0MiEAI+IF7VTtC6hJAAPuvxSEdQdjURX/p4fTl5WkIs0sFzND5IQNRCWFQ1JDOgMG+9a+T1Tz6Nh8Kh4RTGSIYJCIW/TTrQgkEWdInOPSyIYBTkKPnADtN1K6kXW3tMKnJbK/zDrKKF03wINEHqKQaQThJSIsX+OCwW3OITSMCSLSnSyh0BFtLCVWZo7lsDQmUDQj5s2257FzrfqhJyzTWY0U9X0EEQWz7tV0VpHzgtIs4EA/8ODJs///LTJISsCBz+3PsZFHOGA7t8kY573IN4iNxdloWQ3r3cPvOJJ/CYMFQHD1OxxL79FhAdSFc+oJG5d/76/T06yIGQCGTMkw0SohJCkCkAFxqMKUxcWv92OXnqFLg4K4cCMqgWAi8AGsoHQqjTMyOsaAwbKR8kstvwwZIVibAefnj8YRByvwGkv6+nL/XaZsIs9YsAi3yo7CZADLAIiJaeAA8I3gFCWKbl8KF4CCB8BTZUioe+duZ15lmSFNp6/1uPgWyDwnf5xtQrGWOCDwBCQqidAEQJAR14/svEPdhIiBWK35QR4ON78Zco+KB4w3uz+aB8JKSkVBDJ4APbh+N6801KR0MnRpj39nIMpFJWghYLIR5NTeTDLOYOPaeEAJHIwnfv/f770nAkDBEPVFQpGV5AkCVohMVsJRwGIkuv/rZ8eHmUgKAZDYokT2ewxAmCQ7g3dwcHWsz7HERgJgcMIxLXccRR+Dg3cE4IGWIfFnRHT2t/6o3XUu2tBKS1B0QAkD7Fg3mVAcTs9oON3Ss74SBGxZ3FuIAEsiF3wmL5MBZirqUGF1xZKKqTOvOua53TQVTWQfRAu0wpUfq9mz3fzTV7ECqppLKNeFBlZY6BeOGIQrgJSbgAkcmpJ/0KCMS60Qw8dPz8FhLC/iwSItGV4gFAoJvvOnJECYF2c6sbFF4wfRVCas0zJFcsiKj+wZJdMw4y8cPGq0txfWqNCIYO6kmuzkGLLhH4ACBhoWnmg/UXVldHx86edSzklAFkLDxGQIQQNKwLdDj50kTQcJVBCBGBQuTj3ElJ0sdJyEAzAOkjIHv6e2rPz6eaeoSPPvIh4o32Qfw7mIgIIFBnJ0tP5BBSFBZpPPhZ442zzN3xD/Qacr6aApKHkLyL9Vo+NEa/XLuz1EGkKSBCiOWDcLAuugh0KCCMqgCGlxD5BUjicHtRtKjCALITx9NiLspHhrASmqniLkaHr7UP06AjUKeKm2QyWRU+GK9DWNyzSUU+0BSQ2HlQMLw0E8fw3aBFRG0jQgkeeIpbyAcfZSgshKSWX/tg9cwoBEQujJ5Ci6uHHDaAqJ49Nv3DxqoAwi8yCFMZQrrJB0VAcACQh4ea62vryAeGCoHInrr2nlblg2SYq+DhACJ7VLVVwzyRguwGHiovIyrBA8VufFmKpmIGAlDEP4oMINkLwl5t9Q87ImSU9er1cnUQB3rrIHcjRzddWIyWlA80HTdXRKL+DELK0bRAlIruwMaruwwfiYspn78wO75yU3UlpOHGG4mHAmK0564jLiPIUKuxaQH56OkTQGprzadsY/p6WAFNQs6DEGrQEBIKZxAiBhIBIbAPAmKMAA/5cHJ187VfxmAdDh/MR+KGkPDhkx5Cjk2/tBQOCh/8ZwSRMf5jbFRQ+ThpYixGWM01sjjjHVy+FJD0o+ikh3yoBHxdg14A6aBx7k0kOmardzcwyNoNSjAdPyci5ENzE76Um9O9Zf1DEsT/CEj2cu9ygS7T7iw3ihQ+7r77ChBCgRDv9P4ykc3SwYdDiK+iXCQvzYQcgCJrlcF8EouLk/6tlsCSKR8ylxQJ+JGbb1chAXEI4SLR1G6qF4Tg45R8CCBcZdRKl3I38wk1kCIgfHQPKyLdEWshgkfEAMIMRAFBWckvP325+dOF0bOnzl4gIafASHwUkigLGYUCguHx0CDfJoC4QRgOSAk5qYSIHj43Pn7oOEKsOgIiS2DLpaevrlZ211Xx2/Juctg0xZr6tQTYMGEW+WDLVmkJsjrpQPeRFkoY8RWirsfLB07yIaCoLB/5LSS73uRyrFzU+Mr6BwQPuftuDyFkQ8QXDh+5CEGU5YM47yBaqGTRfqbW/E6AlQ2IEsI6ClbvWf9QQCDGIgRECEE+3tdr+CAgVgyulA5KKRiG4jb6YRYihOArAAQHFGzRDESf9ImZ5KnlF9bf+HL67NkLZy+cukBETjPKIiGs8BVCjrny8IEXY4DEyOHjjJODnKODgA8m6fcpIXfg6EdG5VFtI91Q9zgkIIm1Dz77fnPzkymt8SUfEHDIhQiAaGuramvjDGfwggZAaB+UZzlrXYkDcUImIXlnp2cayGUJh5uh4/AaCBlRQvi/p3wIG7wSDYpgKCEyBKVSQiCnfstfeK13a85cizOYOXTE4Mhdaeq5C3vtMxiBpMK1spcfqjKgJk+SWabaWSiOfHjmg3QbA4mb5AHpAxShYCN8SVwICAhRPgwgeMNocmn5hWniYRoEPigQQkAsH5qAqMZIyRgOJYT1wGfEQdRDhgSQOgVE1N9XB9g7pGl4tc8LSMfa+ibm+X61mOjcna6cPlJcNdsdH3lr5rF9k8VPTupS1243iTMzZyftHYQgDMbNS0j27PTs5XqzdVmOiOg3ZFxSCVG5eYjSodmHTUAcRV08nlRCRMoIDl9B7i1rvYUlnRzZ6OsBInuAheMgB+86eJB49Pf0Q0CEwgBIh8NHbS3YIB82+2CKnukg8UFrIkKIfIWEGAW1i1cBocZOnV6GdYCQC4aP0wizThOQMWMhqpPMwfkekMM2Jg5iDYv+cebMyTOwEIjFJpKC1B1Fkk7BQPD9kQ+HkFrlwwNIYvE3rEv3xeKUUwVPOxV1CiMZkFQl4q+/jlnyv7013Fb6ZImJr8S/RTpzrah8FoUIs4UkxDuwnjX51sr2Y22PuYVX5Nr0+W6LCNYQJR4qfzohFX7HQMwArQRZpWQEvyAynKVDRqKAhN4BpePBgkQzco7c/IgQQkT2EBHVnoMHcfQcPNrP1t/XJwUY+0lIByULWol1KB4BWbPENRCIDiKiiZinVtIPfIGAKCFqIC4gAOH0BRoIpYyc5uEQ4uBhplXJG+JoQASvyIhaCL54RiyEhFADzQDkzrqjR2khFPmoqzVqIvKNwMPywd1G985fnHt7cSXRhr5eAtLq9RAvIpJ6lMzGX7+ERVbA1OvDlZKoy2eU4yHgA2OF/tmpeW5sMjUpyci/BkQR2SYTcO2Gc4JGOiGoN8HhiHRYRYUPVdRGWKW0EZX6SFScREc+rGRIEITI0AcIubm1tx0lrhxhVkIevYt0IMTqvw/+cRQCISxT6sCz4/LBDXICGlgZQHTiuXWQQeHj9CBlLISMyKBFiIcCIoRIiMTHHGnHNMHgST5GBI9TpxUQR6nDAgjxoNRHqDDF6VZnz0DnjDgG74RYCoj4RyPxwLXJ8qFjoOzm7Z2VLayqqysrYSGCCE4rr4lUlVRGXv+N/vEbEHk9NlleipA3bY8Eia8mp1ZWFqj5SSkRMso5O93yYSvfL//oSr8fCwnJkGEQSq5lIEQZ8eP04mH9A6egYCzkyVIwglVGbazlXe4vExAQYitLbkYpUl07B9Csi4CQHjTsmHxUVSfpOXaCIh8KCPnQvQENHy1o1kEIyGke8uCGFREAwiBLEAEhaiBjYYMHBBouqEDKCCxEpBYiGkuuvp+Ugl+KDuKKoPHvg85Q8A8cMBCkIAQEBgJCeNA/GnX9Op5ihXYLUC3OQoE/xkEACOyjWloOgQ5YyN6R30AHdAk+MlOFH4QZmU3bP6QisbagmvLtdD0kR7VJ9qB6zrkhl+fW0IqGOgikN8EDR7okuKJkc07K3HTWgQgOUspGRtj37oXEEiLl7QKI8KFq7QEhdYLIHQcPAg+jfqHjoAJytK4OdVjIPBQQEBJwfYM39Q/rIHFoBOfp0x5CgAYHEFUh6oDDh9gB+fAQ8jd3Zx/b1VWH8eB08w0tAl3U0gK2TSlQLO9CzVIriVvFLfgWy6D/qCRjqKGbIYhithBMxYhxamVjg21topnTbHFjbnMyUdhKCoXV0o5BOsZLsg2NL7VjZPo83/Pc+733d29XXPyj5XPOvb/uxSny++w533POPRcBQnyQRX6wt+uH/AP+J7iYKHxbivYDJ4r0bzBAIMinPvVJI/gBeCMqpChI+bxIEDBVfFgXbgXjLIIx1i0zO96gIBfNkN0zb8UIF81ethPx6WmbcRaLuGezAiRXEH0mp3hxsV3uZ/X6GiFaco6XcqCFCOEVZ8gEn8JKGBI/liNDWIhMJvBDjgAzRO+0gB3oFh70IzLkY19cjOmcCihCR/gScas/QoupWFBeMY+1OUfsEkReCMaH/HBDKIgbAj8oyPKkIPyB8RGCgDbADPYtUqQ5FSEU4wdfXcdP+9vZzSuXZB2BHwYTBNt5ZyFA+J70T2HciBSpq6jgixTt4ofNMQRBqqEH0V5edFwuCVuKsmDILdsoCOEg68KK4nf76+z8kRwI8oNIkFZ/esoFcVwQVwQtb+P7ZVeEKEHgRsoQQjV4xxUPsSbIEFcEURIefS6JYXygWg+KQBJXJAAz0vsSRZjWrcNETgU0sBQxZIdYQGz2qhKGVKsGsegQi0KjIJzmBUyP5ubmm29edbMKkSY0GMIdugJ+1KOwDn6sogf0g2JYa27eAkHQZAgFIdLD1kkASnvNdVklYnqAdZjG4kSWTfIGQVZ+Cu2Tn2R5XmWCVLkeegMoBlwShJMTTiSJ1SHmSWnCkrIyE0S8dmHRu4ELEgFBFCF3QZC8BHGyr9TRJ9plW4Tol+P1RzZDZAfVsNsEGQKs+NCnpnkFqw+zowwtED/odjVBiJgkKM5nwA82A0U5+Njilfj2V1ARzlshQVbecMMngyJuCM7bKUduVMVnvqnuoB4yxIgTRIasRYhwNot+mCAyZDlL9VVcvli+yvxAZ4BYhKilDJEbQH4QOcKbRwg2PNogyxxRCTKdguA16Z+6hnHI9NCLFCuB3rJeTUHiBJEhdQWKAFMkUKocmdlxISHIihL6IXy+vYg1esiQ+zHEckNEyo8RDdEg/fKLkDDBKzNiQ5QgnNbF+zdbN0/zGl2CAN+hmDSEtQcae9mtNESK2HCLhsgRzl29bz7WzcVXoAfBzNVKm/OkC1abFwTIStqBY0hwBUOqgB1xRTt4yQ754QkC6Ace7ABhj1YQJKxZ7DzWtWUZHxxcy2YEMwz6gQ5DFCGCBpgfjjIECUJ5vm6gUP86IgSTWDwPxYqQT9hwkb8WEJ3MpReAWn5wCIk4tRoEZsAR3Hk59CP+gXDPTunS5os+xNp97buL3BBXpKgVc7wmyD23l9gbut0QJ/8wa+EHWl+Ox8clEoRYcrghjI8rESC33tZ62+3f+R4NgRoBRYhRUpKc5sWNOtjNMoQb2cNWBxhCGCMG9iVCD2y9sgRRfHzpKzd85Ss30BClCDFDrndB7DjDykreViQMqQG2QRFXBP1IJoiFCH42QdjxM1VhZd78yo6XOptxcMn6Vavgx3qKsGUt1aAizbysuSEwI5kfzbKHMEeYINwpj/hgt5msIMgC4n4EKpUeEqQKFQhntjTCoha88ZPlCFraE04AUxBSuwKrhBLkQnNp8ZT0u9r01PPm2398zw/u+RkXQsKWE9fDGfYkUo+QyzpB9CtLREgoQD5oqyC8b8Z3frMK9AiMq/hAoQkSDClJREiKMjAJMEUcnFnz/g/MaP3x7a2KD+nxJYAfZAhX07IsACFBVq9m6ZE4dhpKID02BjfQvUYHzRIE32FYIUVWAdvMiL/+yu9feeVuE2Q94Dceejhbt2yFH8S+/8L1sMYurNI3QQxW6pYgC1fLkBw/YDg6BYneTDUPVNSJqbx02glamlJcJghuS5tjQzo2bi6agghJG2Jnhm/GKTD333/7Nr6mhU9Ij5Qg+YYELsNN7+O8BbgHi2PKKEGuRIJM00qICSJDklNYJYSCmCEqQIQixJhkGYK7DJkxHzvY59zT3n77F29BfFAP2IEeGYJChPB7ZFzvAULCiVSrq2iIHxsKO6AHrsaNLM8VIEQJImAIxUDD4+dgzZrlTWuW73zlR69sXW56ID/WI0Kak3qwN29AhGyIDeHNao71tMOQKAYNWYvtwIGvwRDu4OKZcyrTPxH8qIz14C+hJiRINYdYEiThB49zEG6JO0I90Guv3bqbc7wX3uhYs5nHKqUF4Z4TGlIypbW1dTPegjBhxCGWyA8QH2NdPkvpyWMacBM0BBGifSYwJAHq88QgS4ZQChEiZCLusR7ojm2ikyHzsbGdhmB5+IvYnBjSI9zJDV+54ZqVWluWIoV+LKAfZkiNvl/4ckVQDSE/lCBbFSIoMujFqqY1sMEMQW/ee2znBvwJsmHrlrvBn4znwF/AXnIM7DLuuANLh2ID1IE8a7dIEephDlEPXPADGYL9KdfxRC0JEpKwkg/EE73bkIKwRgflGmLVmRnSQ3boM3aDAcKDkQiWRFpXdey+eGH31o2leg8VSL9OPWwgnTZee3qvSJAUZKQIuWzPkdMeRX8leuEi+scRIXgsxEkKogksUwQzVpEhxZPDWoj8YJ+UVkQP9szHrl2i2SuagR4bgjqEhnDxrJxCJAT5Mv7wy0wQfM0gSBUPf4u+X5EfCBDmR9qQZjMEzaAVaEEH6rEeHdmwBWJQBkrxpwgJIj+6uro6QS/o7u7u7W3ftYvZEprKFDQmCEUJCaK5XgQIBQHB80iPhUEPO2nFh1jlhIIQPqpOR2QJfopE8SSBIFClrGzG5M1Lt21saWyonVzyniL5ka7U+XIWhIg9QEU/smRPInV8Dislx+VTqWceRGeFzviQIfSDVbqYxs45Xm3CckNACTb7UAzEhUZZHiGwIm2IwJMfVAQdAXLNDdfDCQJDjOuxiv5RGELKI0U+u/KzC2AI9TBmTcf56tUNPGiXfliEQAvqkQ0Q+bFVhpgW4dpgH2u37Np1DFACE0RQi2M0Qk6ISBDQE+hub4cnlMRkWYv/CpvwvSMxyLpJggAYAsFnmRvSQwdI2LtGTRBmKAOkIghCcIcRmNSSH07tkqm1QZEP8/1T7y2++tbiq/Hqqav9vBiQzBBctv1kOD9GEESO5HBZJQjubogiRAU6DHEohwyhF7yLKZNvu+0WHiJa9m3cU5NYvEyQUjR0ID8gCJgKSerm3b6NgjBArjdFJAifsauuQqMMcgSSfNkWQb4cDFmNv15ZYwf36DvW6KgCSSdIUGQDDTF+vnUX6AQIBgoiH3q7ewYG+hOc6j+Vob9/YGCgxxgw+gfa2nfBEoA6RnPFUERVukoQA3rAjxq9IU562El2EiQaYlUQPl6cPBAIvoQgcWxyi8eTTppx9fv4sggcSwlBQNYQCTKeftCQfD2yglyZTRB3xEtayjHGp7PCQDFZn9MQbiGQIJADPaD4CCcoqv6gICX0A1sUa1vNDDvhKg2MkCEUhJqQDxM+IQhFZv60veeuWRAEctzAfn0kCB+zq9ACMwwhKkFMj2/wBR1AhtRkBWlCi/WAC/TD2ACQG5s2bdjS1U0sEWAFtegZENAD3f2wFnFczU0BsVFt7Xc0M5giP9gAAwQ1CKEis2bp7XBApZMNscyPWJAKbk6rqNCCYQUyRCBK0NOa0I/5M3hmK/ygIAiRYQQh/oThWxJEjmSwofuYVUN6JM/CEhxbgSAIDEkxAaj80EbFYIjVHhhVFSFAbikDzA1SFjqAIDIEdxAMmbp4Dva1z1w+8O+/v3jP9eQGthu+8qXrKchibDqhIeUwBChGVloBAj/QZ+Ebljh1Wt8z14OXWENBmjnyCYJQkeYt7d0nT3JsBD96OVI6SWI72NilhynCnlYE3YllIv3td6yFIVtMEfL1deuQIAtx0rsdfT2LfvDcRdy0ZCNBMMai9zIEXiBB4iX1NNJkrnWe3is/gCJE5I2xxFXGJR0ip0+3I7cKUWV7GUxp+T5eZYgbkpnBQnjIEIYHoCGBKdph4nO6cZLg7ABRmqCMfuDxWsxb/niAD5L+eGVkCKpz+IEfP4IN74s/ek2hIfQj6IEAMUEaYIgVH/QDSI/QAirGNwAY8vOfb9i6q33g3LlzJ4MgPcTkgB52OydBRDZBjt/LnoQOibP99reAU213UJDgBwWpnw0/0GmHPQWPTj0ktRIEgoQIKVeVro+KrCIeKDp6kX7IEFwjGCI58gVxQ0TOvt7h34gwpiNEZnuACJrhgqQyhIIAnccbG1KitXQzBElS5jBA+PCO/lD5IegHBGktvwNPWvf/YNv1n4UU169kguCTgnyUhnxUhug1UFIEb8BEkyANDRYhOmtXi+foLXF6NK0BEgTR8fMt7QNnAQXpiTjJNkBFMvmR9UMBkkJ/g2OGvPDCC3cySQLr1umtCHgdG4/hEnhjT6A+aUg8xqrAZdU6egwqEjR2h37gWGsJIqRI/iDLDXHyBMnftuiOZLg8IkTZIXyjoiqQVIZEbwJhgR4k0V4sKqI9JsTGVMyIAvRn3JCpMASF5u0/OfUy/Fj52c/SD2tBkE9+1I525oZwGSJFEB8QJCSIDGmojA2RIGxBkTVsqzCHqwDZ0t5//MyZM/DjZI9moKSH8sPjI6WH9Zh0foS/7PCfcI6WnaIhL7744p1t5shX7fBTOiE76iEHD42wZ1M8QSSIR0hUrssQKRI+xFI7UG/O/Bk4zFh+MENALIgjQXINyT/Lmp/5h5GGOt21iBnLZUisdrgVRgjzA9NYqQzROw7GyxAVIhJkSmqjuwoNdKc03NwQ/G7WgYr77/rh/dWYnAJmiCnCH6/hcWp8XEKGgFiRzzNApq92QWiIfcHCcMXDAy2wadMm2NF2/IXjx6HHAOWI/ZAeMoSKuB+uiFqWdHRILmD/yP4zNMQc2YC3tzXSCCVHPTE57MkUxF5BgsgQzXVnDPGfDPkxI7w0wnFBHPkxkiDizQQJemRXCy+LBPFDI21+l79W0+NtGmAlq5AJIUPGB0P8sFHbi1V862TpwQ1XUkTkB0gtp19IxW3byjl7S6AG7WCzp0GuCec0cHkQhpAqGAErpn8er3byBNEyuo4StQrE8sPtILDjRfwL/fiZARTlhXqoAAl25A2veMvD/rIjOaQHwazYqeDI8fa1a/C/DSHCbkecBjXQwbKUIKq70IQMsYoErQD5MX8GeJ+RFCSriPTIcSSoUVCnF246GX6IdTkkiLTOm8Ii/IF6JFdBJuBSgrghIT9sEguCCBlSZhbEkrgoLshc6sELAtCQkCK4AB8FIW7IdBqCb45ZwdfWfAMNL72pShgCL3hSIrD4iNm0ZtP69uMv4zv6gtkhP9yQkz0Dio/M+Co3QO51P9Bz7AhJZEM30t1DR6DnqfZ1LVAE0AxGh9khGoEECYrQDw210APz9AFPMn4ADLGygohUhFyyIPlHyY2UIJdBhozLGV35HFbQw/1I78OaYsAPCAJulRxsYCJ7GSwgpXnUUhBM6lOPijozhILwwg+EZqjZrQKG4JvD18uif5eW2L0yKUg4x8cEcTvAHf94Gbx4fKBXy98pO4gHiNsx4HrIkDSKDtdDdnh+RGvspKcfBQkCrO3r9ABaOLaduOkLnFtYBCSITfUa1YR1utxQkqDNBLEfXzQ/KIghPYYTRIY4LohwQXI2ZV1ChIzZt99Kan3kGoLBFS8xTasggmbIEGqhzVcyRJghtYFSa4WC0I+5FRW4wALbZBUUkR7Qpo6fhjLE3vdnQA4mCAXxjX6IENAIOLqSHgiPO59//vmXX+zvjraHmCGa3VV97gHi81f8vmsNUfA/3NbdJpHMmlR4+PCK6QHcD1troSOY+21fHsojyaEd95Dbx1gLOZysitEoK3SdDVROgh91OJLStrbhTes0RAyfISrSC4AdeUiPrCBZsikydk/KKsiPAkMy20wAahBIgctneX0Xr+eHG6IQcSJR+PNcGoKGleKgCCX5rH1UrKyrgx0VaPgDNRmyCIbAk+vQGCX8IoWj3MMUr33PWvAR6bH2H3/729+ef/54TyfJz48BdPtW97OjgO/t7Dq2V9uxCjbzHvPNilpejFLHOZmjB6BqcAScQTUCOLfGLZPsqSGWZcgsqk/iCOFlHzPt41qYIkEiP4YXRLgf+RnyVgQZx8bPAj/GaBVSWIFIj1gM3N8eHkf3ARbcAJYe6XWQEg2y3A+HiyCWIktrM3iCzEMrx2PZK8tXcp0cVJA68wPgvkAGYYN7JZfWAAypWXjjQlApIAgMMTNQoLe0BD3uuPdv4OV+biNJ54fHB1HNQDWi/YokEgSKgPPP7SUmSMa2AQcFTU++H7afZeAMJ9LavmV+hG4R4gkCFjJDaIkmfIMjzky70RFu9V08BzA/KAgNGUGRd4q8Un04QUaOELPkMkqQ1GmjHh24wRDggsgQJAhghhAZYvgUlpobQkXCW/DxqR/4I/zg+Ep+VJSjQwL5ITNAuf40KF+ADKmiBrONG2tuvBFDrkoQAgRwcEXgx3bocefz0OPFbv9CF+SHL5/TjeR+xefOn//nq+AEOY2WBn+lr+/8+fNDXZ3RPy7hB//I9QDSA3SBY739Z8DAHRj+EUsRTxB7My7VhyWgyg1JUX4tQiQ8TDV1DmF+oAdckIwhhYL4eshIgog8QzxJcuaxxtQrQyKhpYcnSNoQ0+PKpCFegoiwhl6SJJTnjgkiRUSt7rbOZQoAfvvxQRVwL4c0guaUUw40flSj6qjhmzFxEeaJBNGTIC3BkO1r1kAPcLw3/he+GZJXn4ftWCbIsfPnYcVp54RdlGQ44Mr5oaFuGdJPpAfKnDw/QNcA1ypNEZPEDbHXU1MR5UjCEPQUeGY95EcUINDDQySjSH6EZBYM8/wYWRDPkMsjQVyPSJGUIX4o7zviQdY0BUhakPQaITMENwfbstjdEMcO1jUJaAU6DeFldwsP/mnZY88QllfNRkXbtLCGL8c0sE/DzjLxbVgtLTa2kh79+Drm54eXH9qv2HW+79UTB8npFJYgl8KrfUNDbQPRZkVKovjI+sGBWvdZMLDLUgRGN6UjBJ1+EClCPxqq08gPCoJ3SIusIbSDF93wKkS4IJeyJyt7gsNwOxe9EhmLCeIhIuCHoCEURHpQjgn80HFxboi2uicFYRcT+XTtJIGyfGl4Hz66/MCLBfXUua4kC6xV8Ab0DHr59GU78BTpxd0bqIfAv2+jU0Y3Qo9Glh8YXB1/+eXnX4Ye8gNk/TjX33/OBOkd6oMa4nRossPayIqcZiMnjg4OtUEQcByS5OaHapy9veewH6xnCxVZAyiIYWPIoAgfpZIgRJ4ILobADwA/JIhHiCtiguCW2Y+Vv6L+1gSRIYVFyNg87z2pt/RwQd6unYofZLvC8sOY5n4ILaQblIOtsEifhBsxRWamsOlKIj2qM5KQ6Wy0Y0F1deXOi8aFrfXGMr2yFm6wbWwxtm+/49SLWPUYOAay+RHsOHcWQxwKMjR44uDhw4ddD9mRMCQ/L/IUESf6htq0V/FUvwkiPZJ+kE5umOzewsQDyhCssjNF0hkCGmygpVvwg0fhyw8Y8qEPYJQFsoaA7GJ6dj0kf8dJzq5eVySzczHv3Wxj6MW349JNeAUiQ64kPoclqAevmKQfQZGUHzJEgpght81kN671gUK16eCrxfiQHO4HbzU7Ll58/fXXYUgz5GhcRjBopxykZSPsaNn+9VNYtIYempHN5sfJs2fCfsW2wROHjYNoHiDoQvGRkQMtJYc6mnN0CBu/yPH+7sL88Id6O08CKLImaQjbIs3WxRHCHfACisR+XMNXctGPKEO+mJ7NmhEJkq8I/HBG3pLlhjjpBEHPTZAxo4hpUkhidAW4CyvOEGJy8NIclih2QaRHJkH8aSnASsRe9Q87QCxIeGKQYhDcaUY11QD4S2ykCoJADxqy+zP1ywKNRkvQA4Ks7Zcee/PzY+CULdad6R86cPiRR2iHDPHxlfvBnnUjXxI2Yf8M/tP6hu6984U78d+HJfzC/NAqiynS09msDGkMuCDRqjouhIiipCGbH18MEQKQI3GEzJghRSRIxpCCJ6fQ37ogSpCc1ZCxo8cwFQi8cEPeDjVkyDssQHDTw7YoROLw4F1rIMOsg/hWXm3MwgZFDLPi19FWOdVVFhPUwwi79OgJ7rEhGGK9DmhI8yIzhJsSrfBYY3a0rGnj9vJ+q4Kz+WFborhh8R+Dpx8x0n7IkcL5K7R8S3j3DLGWMoQc+Nc/XrDl855O+VGwyEJFMOhrX+8Zssx2NLJSV4QYChJclh8Vyg+83/BDMoR3OuKGzCDvA8PtWTTcD+CCXLIjKT+yZTrb2HozQjZBxmUMoSNxgkSb3e216L4KIj08QtAnJhLE/aAggIYERRrkh9A8jcAuVjXAm/mDv6PpohmCMmQr6nS+vICGkKF/bdi0fU07BzXUIzc/+l94mRsW/zF4cN8+6YHuevj4SkgOF0NtpBrkoBnCbhwa/Mdx0t+byQ/w7LPP/qmTE2m7XBEIogXDAkO0sB4LgmfK5AcCBI4oQbwMyQiSrdTHJwQhb1kQGVJoxxiqQbIViPAK3QxR/YFNzipCVKHjI21ISXE6QNJ+pATx9XMzpKEh/GZTE3zg8sl+q0Kn2zO2uKhHRE3HhWDI7puv45v74+cFt99357/b27FEDT24IySbHz3HuSHr5XthBzFB8oZYQZERCnQ0+xhpkEUOcw7gtDly5lT3sVR+SBAo0sWZ5l1hkdMMQaUuRyAIx1kLZYjlB/wA8EPMkSRfNKJCHbeEIFDEsene4IfeW+i4H3mFujPyIMtneseMI4aPDt2PpCGKkDDCAvSDjEdzQ8J5o0k/eJuY8EMk/IAgBIpwC66gKkSSUA7H7eARUrO3XjS21l93IwyhHObH9k13nToDP/q7sjumqMfAC89jQ9ad/zryhz+4H8yP3ATxCqQgQJQg6q6Ij69weYS4IWD/0KkzaANd6fww/vznP/+pE4Z0bvFKZFEsCPVwRTS+4juG9ArpxR/xcZZwS+RHKNRTmCDjx78bioy0Z1GCZDQZ+R3qWisE+Bz1iuRv4/URVnoOS0vo/IgN4fNSST9kiCax9LwUiad3ebkfFITMm1lNLb6Di7cV+AbgjqY5f2xkXW3d9TBBFs7GgZq7d29ZMxvvlmWEaNl8+7cGOC/FL182P7r7X0R6/O3eo/sef9wFoSFPHM5TRMRuHDgKXkVD7+PFn18Fl5YgbIG+tjOnsDjYSUHkx5/kB3iOLnetZYYAKaKNi9LEBKEf1IN+0BCzZI5CZM6Hgh1o8z/wgfl4vhCCgKvfdzV5Dxs7z8tihvAl3T7I8gR564Jkj3EYU6MsWVKYIOiC8REZgldAhwRJGjJFFJkgrkfoMkRnNZgdcYLIjqW4sIhOQ/RvR/TgB8GfYFqYE+bILGuVs7A7yQ4CWXbzciykY6UAiyBNFh/b1w6chR6d+TtuoQf419OPE/hBUgGSnsMitCJwNAAx+vKBMQe8TBfZBCH47zw91H/WFInHV/LDfvhLJxZMUIqkBBEyBfEa8gN6CJ7+spiOcDqLe07mKELQ5+sQBypC3ks3eGmcRUOQILblxP0Y0RAXRGSewM1sNxkLM71efGQSBA2Eyawr3ZArYAgnsfzAH0sQUZSp0IkZEuuhAkQletDDnqbmW5WoSMSK6IPSkFnsdKTSoCD0Y6EtotW3tNjj3C30Y337WdD7lxw/qAfW1O8cfCLoIUEeyR9i0Y5D+40DB6DIqweQGkqPPnwMbwn+JkqSUASt0I/D9l86OHAW65Ndz7kfRihF9nK9ZBcMAW6IDsWzIShfsA4+CTEgB26LheWIMEHms5EZATMEctjNC3YOsrSmDuTHm4yyPpgWRLxJgowVPYY/yyQyX9vdZQc6DHnHBCFDDI2w+KbO4twZXq/PA4kB1lI0vd4c54biG0++k1RkkZaQ0e0JW5PF5DB4jFS9Lae1ABjSfg56dP8l74kN6oHC/MDjzzweMD0kyBPpSV64QfafYIMe8AMBAkUgSR/bm3OUkiBLknrkGrLvkaNtXEDvSuUHsTnfY1ww2bLGDbGtNHF+VOsF63h1dAQVwQlivAEpYkEiP2CIKyJJcqe0LEquYojoQGuQHyImRzZC5Ed6y6IMGQOKZM4y8fyQH8SGWDaHpZV0I14ndEpuLSryUVaaqABJ+gGUHyYI5m1xLkkVjqV1FtVs1AnOAEZwVKW+MP5bFjE6aAeBHufOUY8cP3oHsOphejzzjPx4PKcEoR5HwKHTh04cOrEffkAPdurhIyzPjzw71IhJ4o7QP/cDgoADbeewOnjMDKEfyg+AX8cxLihSkY0t2B4QzutdJD/C+9X55mjCO1GEsM/BTX6gKUIUIklJdGRvUZFbMp68c7yPtHLnez+IRigIKBTENRHSY6ytFaYqEDfE/aAgV/hGE62kj0/ogRa9HSS1iF6mPSaqzzXCkiBWfkiQ1WG6atZCfe/ZktQQS44QH+jIjkUAgig97jgJP3r25j7xN3Ccix77nwFKEJToFMT9MDuefvrIkdNoTBAZogBB1/jqEhKELeLA/tO5JYgFiCl6oo1bTPYGP4zEi0hsQdEUkSH2Uh35sWClHYW08lMww0NElpgei+MMkR5ZQ95TFDRJwmqd6NDeqwRG2VewfdD8YI5IkPzHp/IjZEwlCMifw6IhKj8IntY3QdwQleiiBH4U5wyxJgE/rpqoAlkKQWQIHqnG2eY8xOe7MCR5trkwFeiMgxNsZ9ufj9JjbTu25FKPPD96jmNN/d4Dz5gfaCpBkkMsCAI7nj4IQeDHISaIhlhxgig/WH6MECBJQw6gH9h/KK8IkSBUpBcL6L3PRYKkX9TDFUUqstEwP6qVH3x5NB/ar7iGV8RiXg79mI/ORnygdTW6IUPYTRS6ERwREwDerXMVP0CcIXbHIEsDrfyDgLJPFo72SV4rk4ZPEFXoEMQV0VZeMT7gghRjnRDEfkzMnsYbbzIJjxMGP5ZKEBiCg0lW84REGZJ8PxRvtAH7vgX9UHiQb7Vzy3r33twnxrvPcCftgWceph+eIPJDa4RPPfkk9FB+QA9AO6SHanR0zWGNHCAO3CKH5If0IMEPG++92ov1887ncvwgXFC8ez0VYYo076ppqLL8IBUVPM4CeiQVYZMe6JEiDg3BBT/Q01ATQkdckQkONYEWV/EmrryChpDciaxsgoz+7SZSI2WH/WKUHklB3uEViAsyDVdRokwvNkqyW3hFqfsBNIcFO2ayRjc/cIDod2d99xs8ydkMaTE76nGRZbatFW02RKkH8EOlx65e7lvv3Zt7okL3WZ4bffSZh90PBUgwhOnx1FMHnzz45NMWIUfMESUI/ECHHnGE9IX+ZpNYoXmEyBDmSIEhChCUQ6ZIdzcVyfrBQZatKG5YA0FW/HT3heaG6nIeXoGORoIq19RdkyQRIpJEmsywW8REE2OG7MBNhqAnMwQ9TaQIx1xoQIZkyvT0YuHoPwPI8yO/QleJLkNYgPhGXgkCQ9IJUuwJ4oYAXyFUAWIspR58knAmkCCwAyGC23UyBEa0ICWItuouw58KNBLasaXL9lZ15Z84gie+oUff4w+7HzJkn/x44rGnwMGnnjQ9lCBACbL/gEWIKpARE+SoB4j7Ifaj7z99MN+PSJHerueyflD0cLDK3es3bmzcvbt5ejXmrz4BJRbgoiS864SL7EhrjtBIy+xAF+E9w16y201IETGBN9eDsCQBGmMwRiTIm78VYbS/d0r/G/M3uvsclgxhAeJrhPTD0DZ32kHoB0kEiAr0OD5uiQJkae0SKMJHCWNBePAbLus87xyjKE7f0orQmpZF1OOCMi0tTVt22fJfJ8Ijz4/Ok2fA4B8eNj+oyIPmh4p00+MxCnKQEcIEOc0axANENQhhgKhERxsa+t8ckSEQDjGSZ4gU4S/m2HNZPzjRcCysKN6HE1Aq+dxxxQJSwQuyUJE6NBpSlzvQohx8T5EPsybBDnQDgkAUQykSB0nKEfZEhsiSDxKOs7IJgnumTh8jG7LkcjpB5AfhS1JIvA0rGCJBNNFLPT5djOZnuoMyBYiGV7EggSUoQqL8YAlSPb1q1uqEHtd9F4rU8LRz+eGH1i6XJC3LcCLDLn5xYMez+X70nD0LPfY9TKiH8YCvEmJwBUEOW4KgBDnoCXLaA0QgQSxAFCG93cProdFVdoTFZjztJYjrYeH2yPle/oqyfoDgDtjQEB4ri6iwq8KpgyToIDyFO9VucYyIicgQKgIUJGZIMS7cioqL0iQtcRQiqNSVHxLEKXxwagwkiO/KL8ArkEgQTfQavkZIQ6IHbqlHMSyJ9OBVpgHWZOlRkB9zLUEADCFcRw+nI37uu9+AHNAD/cYaq8NNh2DH8qblYBUafgQUBHbkj9q7urlmOPQE5HBBHuSX8IGQH9ADfhx+7KnDCBAYYn4gQAD8QFeCHPAIIZYOgz09Q8PokTOJRWSIOHTksARJKmLhdvg8F9D35vlhRcpeCPId7vw3QZxQidjFGDFHzBCkyFSBV+pYhOCVRfPx9hC+Xzj4gc6bZUgxDcFwAIage4xEkuCHgnKEm5D479HhzrO2HnBJRv3xDXm7THwOC4Zo0o75kX7cVoZoDxbdCAQ9fHyV3uEOQfCh/IAeAHNYShAIQj+gBZllfuAsOFsHpBu8TI9V6IAvbQYQ5Nlh/Og9CT/aDqb1UIDQjz17zA+gAOEIi0MsJEiqBNkvPSJMAjyz0daXh/TIJogCRH7sP0RFXA/JEQqkg+c7sTy4N+OHnvNigjTQELy+NIUNs0QdFaEfdqMhiBE5Qj3YJwmEh6AiEuRqGYIWS+JXiBFe9ANfjTc9bDGzVjjKDwDKWUIXwQ9N8vpGRRELAsYDCSI5fLM7KJskQfJmsOjH3Og4E48QcB0UQbuRftCQ6+zFGcsUH02Qg3p81RRZjxN97oYguX509mDNsO30w+IZ9gdDgjwT9IAgBH6YIZzEUoIQliBMEA8Qd8QCBAwOswSiJjvQswFCQ6iIGyI0hXB6L9bPIz9A0o8gCLaZiNiTCrYkMgQgQ+oiRz7MGPlwAC8Ynh9eVS89cBVPLE4jR9yT0Mg0ixJNX2UNyU+QWI+xkCB2cz/S5zVcyXdLoU53PYSVHzSEqx/E3UBXgpBYDwkiPWrlxzwVIdUSRAkCO6DIjUbNjWYI/aAcpsfaVWvXk00UJM+Prm6sqQ8cePiP8sMrEOjxQNqPwxSENboFCN2gHoQL6X1xEcICRKBE52mJbbkBMogrU6AL5pHpgQ6kiPzwFGE/EZYHs/khQbhT0RURUiQpSF2AL4CsW0JFLEPQYQcvNlMER2AaxbwA7nmGTJEhU1SLmB8jnUY6ji3DaE+Q7EZF6f5xYjt5gx9XagrLDQklSBGIBAn7S7h1V+gVnqkaRPEBQ+L4UBESK8LigwlicoQPZogpssoUWRuaC5L1o5vHwPU980fwMCWhHrg9yAB5EHoEP/Y88agPsZ4ENMQUOcSF9BAgXUdliEqQwaGhzu4eMsDDE9va2oaG0gFySn5Ij9ByhliuiPsR62ETWuHs34L8AKxBaAhZLUVy6vU6XkmmogfmKEKUImKicE9KYkOKeJ8Cgh/4iBdGLvW43pQYYyJBVIQMM4fFCEF4oPTySV6Beb4pmMr6NPwoKjYmhuAwQYTr4X748GoumuVHVKXLELzy1UZXgLd69vpgCCIEmB14xTlfMrjp+xCk0I9jvTzpanAf7IAcmRIEepgfhSUImvRghGgWa39f5/nID1XoncGO7oGItkTpAYZODR0FCUUipIcMcZ6CIOhZHoEi+CUV+nGSguhJmdWrU4aUmxzsKkNcEUTJkjqvQxAhaUMm05AMJYoRAT9AeibLd/a+aYKwpRnVS+njYj0cDRVliN4Uz/wIfniExEsgeBt6MSo6xrHqcpUf2VMafInQyw82nYqFk8nNkCoZovAAN/FWD6jI8q9SkbXNMMRewklB0n4c6+S36PwjTA9X5JnIkQcYH3GCPCZBAAOEqAY5BJggxzo74yJdigzJDykyJDcMiIF3hOCPMgEyfIIcRKnuivgoixz+J5fP/9KV8kOC0JBZq2WIFBFuCLsnCPtUxwdaniEZSYrthRZoNlOpGsQFyZzhwC9NriGZCBnlBwCNGz5BUlNY3EDAFSAKImx4Nb4YQ6pbi0sYH+gUQpSpQM8fX0XMMxAgUkQZgiehLEFkx03o9TdJEDNEfjSbHyaI+wE9+EU6z/TI5gf9+APZ4yOs4Ic2mlARVejoAAHS2RtHCL/vMmQgZsjjA40BcooRIjIVetaPJ7QWkoMUeQ4ccz8oyH0bJcisWBGf0uIzVPmKTGUrNMQVcWgGt9MxQ2JsqBVQhOARkTxBhn34NsFoP4Q0o4cixA0Jv07OYckPkBSkpGRza2trbSlqjYlWewQ5ZAiuYfLD08PlYKMfniE3ipsAFak3YkNILIj70cWhyKvSI7SEIw8+8Otfmx/BEOgBP7IliBLkaB9fZ8C1uaGh84ODKkKMQdYf8kNisKM8sYN4+wfa8NNgPMHrhmQT5MnEarrIDrTsifVO+SFBYEgNBZEhrkh5YbHuikAO3sASN8QogyTBDF0ShIagsowNCRVIFCC0Y2RB8s/pHQNHyA23BiJMDh1okvbDBljUY+NPGxtXfLu2tYz5IT9s5tDlELUeIDLE8wN2mCMcZFXRkMrIkJt4ETmCHSbr1smQDZ4gPr7CZowTLM2JCnTJgf6A/PiNKhAEyKM+wkKC+AiLVfrR1NzRoPzQHJbXH4mNJUOpVxUOKj8yayA+ieWLhW+uyL7TmIjogh9pQfh4TMYQ3DTG4uUpMjeZInVuSMwkKCKkigxBeRkniJZBtPndBREjHgA0dhIkrPQnkR1OUhD3w5g2paS0dWNzx+4Lu9s6mhpqYcbEoAcEIaWl5gebDPEESQVIeShAdPgoeoMbQj2+eRMVWVe/DlfYggVDvro2mSDJ+qNTtUc2QB6EH+A3FiFKEAhC6IdqkCMnYIdqkANd7kefz2ORNvnR3wYv1Jgs/bEfA/LD9BjMlCDwA/1pPTOFJvKq9T+gHYYgsR/nTJCNiyCIDCGxIeVeh5RXiLmKEBkiReAHukjqMZkpohjBLekHkR8uSExWkPw63RcLR7ElhduwgM9iKUNMEJ/DElj+KGvd2LH7tX+T1zo2LuX/n7Cj7MMxpZAkcIsvEGKCN5q/0i5eG1rRDigCPxqQIBCEz9TSEOoRWIe+DCBCZEicILEfLojnh8H4gB+P//oPv1aAKEGkh2p0GPLqefkRDJEfvcEPTxDpAeAF4J2OmCGkrS+xx+RoT5/sSI+v4t2KuGJNUmqwW4MgnfLj3DkXJGnI9ChFIAkns8rRraHPDaMspojwMoTNBlllhRHihngBIj+ukh6XLogyZOy89XZc4ZENsiM1hwU/NMtrgqCrBCkpW9Fx4e//FrtX4P9NZjS2L+Cyfy/JjswSYVSCRKMr6IEOynHBkaoGtEpThBECQwQyBEGCKoSCcKLXBZEfEsQDBF3xAT8eR37QD5Ugj+6J8uMx8+MpK9HP740jBOxP5Yc7MmijqzYNpPzRD3woQfqS46uhnqGQH+wCwyv5YZdJIkcQIux2RYZIkJMkFkQREhsi6Ie6/JhXQXygtQR+oCtCSqfmjLImB0V8Jgt2RIK8C4/hBkOc7AFAYvgEQRvd7033BElX6HoWHQ2wRpchcX6gldQ27aYfomPFLTM+zPpjDv0AvDHEa8PoypcItYdXAaLanGYQG2JxBawyGDJbJcg3eYMfy9ZxhLWcgqxaj3WQTSaI+5FMkJQegHbAD6AEeRR4gliRfuTVvcfOHwp60JCj8IMMxhO9msZidY4PZAg+iPxAhAQGffrqaF93DxSDG6mNWAfNj9gO+9yDD9xC3cEHHoMeIAhCO5QgLS6IFEkOs8rBAt41zDJD5vrSIUdYaAUpMkmKlEkRVCFBDxLNXkGOCRPQ9dztJQsixshKOvXIqdQhuAuiXybMoCHwwxNk2viS1qYLkoOevNZ8bdl8jKoMU4O3JegyQ3rQjxAgsR8hQiiGU2mG2Jk+wZB17LgA5rHCagjX0W2h0P1wQRL1x4Pwg/nxuOUHAgRjLE8QL9KRHtojf+yAEqSv20AAyBAJ0sbJKyvWUYSkGJIg9MbiYyh+e+dQco73iD8PIkfCT3vYoIgliA+x9lEQ5UeBIG6IFBHlhJYoQ5Qic9EYIfjNQXdJvBIpS42wJIieDnmnhYchQUY0JD9B5MYYSJDcQ6slSJjmjSexFB+c4/10ybbmN4Ief6cif+9YUTvf5BBL0CMShoRNJj7ACvmBXtXQkLAk+IHXusoQ8DWzAzfbz6u9vBLEd4VTENPD/OBFP4jGVzBkjydIwg9w5LyeQTQ/aMgQvtYHBrt7Ot0Pa20ICCVGgSBtcKMPydImP4Ih3Wk/+DSI5we7Y4ZAEboBR2CHcRCCSA/wHARp4fkmFISKGDh2MipEFkAQOgI9jAq7ATkCPwRFqS2dioGWBLEp+mAI8kM7F4siP8BVLsiwJ74Pf75JIaP3lYXj7JZNECO89EBoFT21lXdy6yoKQjes725can6YIXJDLLVrqZcgegjE/bDZ3fJK/I6vQIWOANFB1jWeIevW7tzZsetbN9MSGIJdWU0UxPZiyQ8XxBMEekgQ5gf6byAIFXkUfliC+CQWM8TyY39chHQOHeXAaKjHEkSOvCmhOu9rG/AFkEETZFB2+AOFOYrskR+4oAjBMIvPPUoQDLBckBYXxBRRiFTRkeAHPuI3O+JGQ3ABVOtBjRDyU2utZoxXRAJKDyA/cGSvTloUV/xPguhAwpjRnSDjeOWsEzpaJ8w8LTWek7zTiksbL9APg4I0LWWCxPlhaswVS3HREHvdcwiQQFR2UJCmrV0du3etbcTh1RKkJgyy6sFNzTtef+ghvEmq4+avcpDVZH5IEPdDgsgO6kEUIPJDCQJF0glCQfr4zzgmPUAf6nTSdzSOEI+RPPoULQcGpQfoswDpcz+OuB7uB6497IB6PIF1fjmyD401SG8cIGf/FCXI7JqgRySIFDGqNcqazkvvB4YhLEjmgjqlSCt/n2qhCAzJblzkUyG0w/wAEkR+vIUEwUcBo3XH4jgPkGHOdSf+vC1bvFHx00WlDR2qQMyQi+sbJAjnRzjGnUs/xLxwPgODxJipBDE/roUdDVWrdvRepAKdWxZBD/QVliAyZNnO13/10Ouv/+pXF3dv4RO3KUFS518d9vx4UH4Q6kE/OMn7i3SCqEgnSBAsxh/yiV7Oxwa8CmH3XVboDn82h5z9GKJ1d3b3Dsbx8bT74VALKcIZaDZAQ3DhdtAEOSdBLEEa7VTi2akMwSDLulci6PpcoLEWi5G5RkiRbbfff//9t8+sjWazpIehR2/Bu4t4Eum73rIgbshYSJBxShDrQoYUKiJBPEDQQdFmjrEUIVwKWbWittQEWWx+YM6dVOBUH3SAO/5YfoQEqbYNimFpcNHOhx566HW0iyd3NJoduNVEhsxevuMl/GUAh7Z+oUmGbJIg8kOCWAVCkn5YglgFAkNUgWQThFNYfV1H3Q8aIj3YRXBAktjNbVHCOPuHevv293UN+fAqR5A9+6THE49ADXbbKbaHfrCZIPID58HHQ6zZNGS2CwKqGCNVVWYFUiRB9KZg+92gH2bI7Xf9pHeg9yf3bGu1Sn2SCH6YIXbIop+y+L8NsWSIM+prEOnqg6ycIxtcEOoB4AfPrTBDSNGnSyZ/p+M1MwT9tYs7m1bURgmyZPESKkI/5rE5XD+XHyQsfFAQBAgFAVBk5yLIQUUUITgHCwlCzJAdq3iiiRkiQTw/chLE/HhAfihBfskESQtCRY6ceBocYo1OZIhI+OESUAp+SJasHUyQAzZK8+EV/GDzMZYCBG7gg36wAwpCsDZCQaL8iARppCDpDMHBF7xbjAQrYIpjpQgVoSNk6pJ597x0/O/g1F3balN+zOAhJ0SnkEoQMJIgl74SwjYq53pVfbgc6WMV04LYLz2U6H7cT9H4ktoVHW8gPOjIhY71G7ctCYLYg2vyo8KSA78h5bijGTNlCGZ4bXcJ/KAg9EOGNKP6QA8JsgjMrt/6+uv/0V9+aWc8xtoeBHE/uigI5SCpANEI6xeWIEk/fucR8nTA19J9jGUJkuOI77VSijhaPE9yKPYjCxWhFJLjUbZ9wQ4liPIjKUh9MGS2ChGxmtAQ1OtVq9kiQUSFZQiBICc5BPj338/eEwJkvtJDfqA+fw/ssHdPXaogb7/UVyGMwtN/xqWbJMlu5vWJrHD+qglylW9VLMJm3tKGVR1vvPjaGxd2d6xvvH3mkmgFhHaYHhYg5VTDsc1XyQQhlQ1NFISNguxo9LeELLITqutXoUiHIibJzibSEt6VA0HcD3DYi3T3gyUI9WCJrhrEoB/oChBgfuQb4sMsxxVhKyA4JUl8eJXnB5PjCWQHf5AjShDKkUyQs+dcEDMkjLKsVndH7I1cEfZTgSLM9RAh8+7/6xuvcRgwcH9BAWJ+RC9nA/IjK4gz8gunchJkNL42fdww6PQJPQ8CQWQI/ABRDTKFYOPBrZtvW9HU0dGxc33jT1dcO3cqBaEeXIcKfgDYUVHu8DSnWA90lugN6DWoQXwQ1VQTQUFAfX0zDQoxstXiw/yQIO6HJYghQTxBYIdWCdMjLPjxO/iRnyBuSPRtH56jheGhPqIfhPGBngyQxzCPRTvoiARBfkiQTZvWwJD6emQIHZEhEkS1yCz2iJQfRGX6tnteOffGay9037MNv4GWHzwgC11+6O2eADESBHEuSZARAmS07XnPvhjd88O68EPjtBPLDZnAIRaPg5lcWtuwkcsX22YutUlCLYJgnp2CmB7oLkc14A16oClBbG9JYoz1qyDIIjZ2Ut/Y3PESQI7saF4eCbJJgsiPXgoCM1JrIPJDCfKLX3iA5CaIR4gbAuSI2ojslyJC5Ue2/hBKD7jhdvDaAzfQ4wQ5ix4EefbuocEfNDFDiL1AnaQdCYawuSI8bk4TWXWA04333wXu37aklOdkpd8/ZX7IEKAESXCpgsiQvJOsR+Nr04ePD2mudx9oEouGpB+XCoeHleCkhtKZ2xoaWluDH9IjEiQ4EuBEo7/sHMkBgiENYXdi8+4wTYUiY2s93PB3hOh896atO3a/tGPHzq1r3I8giB/70WWCiAfkh/KDMECYIEGPRx/7rSUIDclGSCpBLt0R/Q2F1cf+EB+5dtgAywdWOmwFHQliikgQ6XEGguy99957725p0RvUkSBRhuCBTLQ0QZGqSI/U/vepc+fMnbtt27ap80tby+YDsyPpB5Efb1kQNyR7Su/oe6GnJ0iuHzEU5O0miDIEuCFF4NNFUyaWYQGwtFTPgZggFiEqQCo8P+SGgCREhnynqqFyVcdLv8L46qGXdqyy6ZlFbESG4C3PzVu3Nq9fIzZtQo1OQSI/ABIktQfLBUF8EOYH/UgX6b9jhGQTxGd6xQG7eUMvzA03JH0GlvtxOK0HL7Y9dovK88eoCAVBx42CdMMPDrFOnT2D5wuHhu6+bw3rEA8Rr0SiG87fc0V8kGUbs8wO9vBcyBwWIBIkmR//V0HGZZ9NH52vTR/HW+a0n8wiiLbzXkFSfsCQIoNnjk7kzk/cKEjp1KAHYP0hpAc7XiKFTmJNtPlqRWVjM1/pvGPnzYtq9PaP2JH4/QdNLS3Sg2yXIPIjnSDpAsTs4AgLijz6y0cNJAj8SCZI2pAIfsNTuCH+gzeR0CPpR4YnwggrFSCID/JIsAOYIGcDZyDIffd9f9P2FuCG+DiLaqDDD3z4zBb1MEEsQeoCNq2ChxRA4tVTXn+4IFJkpImskfebZJ9NH2Wn9I7jLbv+IT9cEIMBYmg373gZUhQIJ/LyCCUzRPuwzI+o+Khmm85GPxD1MdVVliPanYhHSBtxrs+yRowXAAsPLIGgwQ90vevgPvBzcvfWu3+Otjd5rJolSIT7IUNUgTBAoiEWoCFo2RqEBD/Q2VwPQzEhO7ylJdHe3eHyI9mMR9kfs8YEIVhFNEEoB/ODgjx7X8T3cW24b0NQJNLD23XKkHgrvIZY6Qen0n74mz3/74J4gvg81ih8bipURY7UGFe4FQstFsTeTaetJmRKcMQOEyueCLgHVIZYggCV5VViNS/MQZIqUMkbKhBAQdg5TrDxlb0hZxGuRnTqYTQ1hXNGw0OEYQev+5ERJFuBsEJHfqBbgDBCfqcRVl6C+CDLY6RgtGWdLe2PsP+wl+fsdnMy+UEzxCOpIZbywwTR+z6d/1J37rFZXnUc9xovE8cESrSDIiqBoSIXJwESMhWzWeEPMjEpYmNMIBGMSdGEMHWJi8EgeMl0cglGUEkgWMCltG9HfWm9wAQpF1faFVho7ZiXNtFKxQnG7/d3vs/ze573eV5b5pTyOed93s7LMIyP3/M75zznhLgN4LxWtMD97344ChBguxa1XZHooEUcZ+03s/EG9cy1t8MJIoYRRIZkE2Q0vXhbeveaJ4jLwY/fLUVDpEiUIJ4hFcEQKjJBIQJDfIhFQSABQEowKIIgSH5c5kw+BE1oCLAbCPnPGckB7FHNJuo21KzJE0R+5AlyMCnIPsAAEQ02i2VAkdwIaRfSJOOIvvORVuXKDw8QdqIEUX4A2KHXDE/9DoIoPyRI2pAw0DI98JqZnWv8UUUI9IgF4X5FQ2fJhXPkcB3CLOkB3sz4GKkgt75j8VV3SIKgpUiGBz5JQTxDXBGupgOoESyZEFJkfBUU4Q22MkQJQju0Qzfc4sy5FjJNIDyWIz+IDa4UHTzHBKD44PhqzfU1a+BH5v5a+QEygiQrEA6wEgkCPRrQIQe61yAk1iNRh7BbGwntl+0/i570Iwf5YfGhwRW1FUepRxPaEQkCP3ppyEXjUqCn5/Svf41iBL9r9IMgROiIHZPP/HA//OB3oItD7M4pXhFNO2a8+c1vuusudFFOEHGLgrwyN0FG1dENWraM/M0qotrDYAlCVIZIDxeE2TFhXFV4bcAOHqUik1WIuCFEO9gj7hf8GXKAsLfkAyQkB8QAVIR7S6rXV69Z/20IUtaPZ9KCKD8I4wOGUJH9+/eH/EAvoDWbIS1uSHopJBMiw1rS7o1oddBafn4YTckCnV2CNNnruBLk+atmB/0g8sMEQbHOuxuRH5/Roa3wg2CIJUHohxti+WHMAtCDftw9g36AsoKMsArxa9NF0hCSypBRt+c9d52wtDoHfHKrogIknSD0A1RM3rxly+aqsbwXxG629XGWh0g0vro/CIJy0oYDNn8veLVxpAfmdOWHqCFr1mPtHIKU9SMpSL0lSLJABzbJqwAxPxoammEIaWnOHWJ5igyfJO0mh7thlBleuSPqQMU54EOC/JLbTyRIXn70uCBIXZxkvOyTn4QisR/pAHmX+wFBpIcR8gN+gIwg4OURJL8KGV0LhfofkgkQme0RIux9dPNDs1j80A8ZUrF5y2OPPbZlfEVVdHZ1NJ+lySzgg6wgA8sMFeHoJorxgeX0g3rYxWuBFfYWOgWpMUF+V9YPF6Sen9gPGcIBFvODehxmhMAPZIgFCBr1QBemh3rWkWgAFbyQGGYIm/OfVs/VMtO7/AgskliANAVBqIf74QGiIdYSvlnGs1qhhxSRIS6I+0FBDNMDQ6y3vOXuSBBSKogYqSAR2QTJvhUy+t6a0vqMHpljFSWIsJ2KcX5IEdrxdnNkwubHwBOPVcGQccAM8RRRiNiRop4gMARi2GGi6NUwArERY4W5/FhKlvDCtTVEguT6kUmQ9AyvVehoChD6USgNkPQIK/IDZBXhg9190ZcoGV7lIT3wUIDEoysdR3RUARIS5HnpIT+kRywIR6OfXSY/knqYIJkKfXG43lP5YSMsDLHebGQFcUNGLIhwQVLcAQkidYd5mZDlhxviCQI70FiDUBAaMmEctp7IEFckFSKYukLRQUMIpFhmjohqEitCQ2rQYAfhnWtcHoQgZf14LhKknq0+mR/70FmAMEKQH6kESSrS1pxWRJpYyziSeab5z6uDWjg/kp6+SlCELJAD4ClBelWB+ACrRBBDhpCHfYiFA06kiOsBgiAIkLvvnnG3C+KGvMyCjOoEkRyuRmatMKWIBKEh/BApYntNuJqObb0UhIZsGY8FQxgCdMY7jsOCIUCKQBA35AMwxFgRqgy2GiyVV4slniC6d41+UJCyfjz3jCeIBFGABD3oh1cgJggCpCGdIJm1QvuojYg+6+ey7w7m7TFxPRgefEgPdA6xUgnieqT8+JMEMTsyAZKc4lWEJAQJ+fGJt4C7gQQxblUQkXgthNyhNYiJm91t4oIYkSCleui1QnRe37klCPLE5gmIENTpZkh0drUV69y5CEOm2irh/YSK2HKHIiQERY1TjQZlbHQlQeokSDk/JEh9aBLEl0DkB3oUIKDgY6xmCxC0pCOZHPGqvZwdhP/JyA/0XD1CfDShuSEeH2GIRT+ABEkXIPJDgniCfOazEkSTvPIDi4SMEPkB5icEoR7/B0HkBxidCfLKbPFRPkEMrYIwQnAOkgkitA7CMp1VOgXZgoksXjRFQ/zuHK0b0hC+4haWCQEFURmywgwRNdJkVQ3VYDc77ChFCVLODyVIPcEzVYEcCiW6LYKYH2ykWUAPxEhcn+dzfBi8CkF+OHkvD6IDzV+pAPH8YCtSEL1MJUF8fpdIjz9RkDUQBGfrEZvEkh/aZEL8Yh34AdJ+eIIYuYLIEPHSt/SyJRlVq4XZu22F2+GC+DqhXidMCkI70M2QJ5QgGGMBxogE4TBLiyIwhIpMj0OEiniEMCoCqyJFAvBjnX27IPl+SBCzAxxIzmCVJAh6g9HMRlrYLUDOaz+H/2n0P4t8XAIXwfO95Go4y/05oiPibFcxrnHWNbVY17yM2Sj15P4StJhCNkAoiAKkRJAoP3bKEAqyBoLQEGIBIj98lwkNcT+8RH8bBSEU5O7gx5tzBBmDz8gnsm6tBhkdLxXqf0zGjvI1iAsCRQz3g1TYSkjF5C2s0jeHAsQE0f22leFmKV82fD9C5FPMEBIMQaW+bAlTJMihAVWkRx0aqOUPEsT9OK0fkwuF8gOkNymyRLcE0SSvG+JFug2wjm8LDJawBwwm2FbKSWoBrlOMgSR9fjgDaGLX+nmT5q8alR5JPZQg9IiCnDxrbDu77QrblV5JC05SkKU8eZJ2hAixfVjuhwfIysWB981/n+nxNglyN/EIIUlDxozFwT8vgyBiFCbIK3MTJO11jPwgKtOF62FMgiJcRN+M1cKqilgQPCkIN8DrYPc8RXDaALcOMUKWWYbIERlSI0VqCc+q5mnVEMTzowPLhr4vC7ZQkChCDrgfhyw/lCDMDzQzpBkdyBBLEC2mO+duHT/6SvcbhG80GWJvn+fPYPkAKyQIJTFBgO2/inZgnS4VBIZIESI/fJUw4IbMf9/8We94G7Aa3R1RgpQYctfYibza9pYEyV0r9K3jIkqQ27/nPX/9PGpAz6wgJOuHShAKguLj0cm46FGGEBpSSUMMMyQoMhVEIQI/0KNR1grooQRBFwgPuy1H94FAEPlRThBBQbxCbwoB4quEUQXiKyEyRHipHh635gf/VIuw39DlQKMfydfPtXzOrvzwBNGKogsCNX5j7XTQQ4J8iYKYH8vkh85wcENMD3TT48MIkHfAj1lBkNIyPSMITx/92NsnVeQLgj5SQdwRIUVu+wArdZp79uJOfZVbCXFDvEInFeLej/EBT+QHT88PhpgeILnHF4YgRe4n2FdHQ5bBkGU4VNQuN7DrDZxaC5FYkA6vPzp+87cjgTMRTyUFkR7KDwQIgR9ohyM/ErSpt7G7I97Pod+aH7r2wxrwBKEjvkUxJ0AkCDvamVMl/A2CsCiKBNmQHGNhtyL8gCHZDHkXCUMsCEJFPkFBRFoQr0LGVtxVMRbrXGMmvTFHEJSn+Wsh1ANdxHqQVIKMkrumounmFOnkcDvSNTrWCdNFCLIjCMKJXsuQsfAjaQihISFApizw90RUrDNF7KY1bkBFHWLXq62IFVnH0lzU1jFB6AcFif2gIE8mqBcSBHJIEF8jREvPYaF5gLgcvufELWEbRhELnIQehE95QjfYTA69hm4XwfkEVjEYEojfx80iQYxuClLHCFmCAIEe8kOCuCGRIhpihSr9E6aI1yFZQWx8dde9jz/+6NgxmQQJX7mGaDffHZUgXoKkEqScIL6V15fSRUmEUI9cQzDRa4YwQmbLEHAfp7NoCJAiDyz5LCZiVsAQKAJD1pkjtVap41Z0IkHkR0oQ1h14pARRAaIEAT6JRT9kSDpCrFERPDOOpAddbd6I/m354XcP+hVrJgf1QIccPsRKVujJBFGAoLOJMxIEfggJwgixIZYftxgbklenJ/cquiKJeSy9FzJ2Ek4fmPjo9y5s4ZB6TFqQMTjtH0Ose0YqiAzJJMgoqUHQh11BJyEbM69LuSBuiByRHoYEAVwrpCILDB1lDWx7lhtCcI/tss+tWLECKQI/mCFKETjCGr3WE0R+SJCn2V0OF6RkE5YMCcuE5f1wR5QnjvuQ+kqZktDDMTt+CTsUIJq/0gpIY8kMViJBJIdwRSgI/KAif+12QTBOXfYA/IgNSZ3YEALEIsQNeYcWQ8yReW+xHb3oeK3wTRMlSDi9euKPH988ZkxmIuue18GQt76urCCvSQsiRmuCZAKkbHgA32rCBPF5LCE/RNAjEoRIkMopKtLhxwIJAmwTfFBEhjzAAnMZ/IAlMmTd2nWgVsuEUYLID9BqgpgfhityAHt5PT48Pw4zQIIfeDRnqpB0izUR7kk5WmI/HL1YnqjSLTvw8OmrbIHuRTqIJTnDDiSIOB1qEJ57z91tLOtcETMkJQjxtRCS3rKYOLhhIhn35WnLl6zdUjEhbylk0te/OHcy9nmjVs8XZGQJMnpOj3vlyBKEjCRAWIMExjkwRBd5VSJCyBQ3BKfC2g2FQREIEoUIhs9gxWdXfA6sBsgQKoJZLArCZRATJPbjGQhCO5Qftr/dXyFMrRBqjZCKHPYAgR/DGtKcp4gPqNKcypUDbtAQUyP4gZZIEDZHASJaQjPORAFSOENBqMZf0UyQL0mQB6IE+WhqjDW91JDF2G9CpIgLknaEeixcuvvFF2/cqHkjcyQtyNvHvHf1176792uVb8dK8luzglCR4WqQUaaHYkTIkLLlB/UQ7ob7kcqQEB8T2EDQg4Q7bq0GUYIYuj9HC+sURI6YIPisNtauY7NB1gasEwZB5EcQpD6GcpBj7odN8SpATBGbwoIgh8uMsdyThCT6aRiUH8lbzz1A0NFMkKNSxOyAHMlFwqL8cDkSFDxCgiBCgqwxQQC28DBA6IimerPLhXyhUHuy/MVCMG9epTtCPSZWrvrnDQjy+y0QZEx6u8mYiurdL/7r6nPPbHnd2zWVNdx7t47rMYpu8+RIr2SWV5QV5HUBhcewhhCvQHhzqhYLVYW4IHPtbN7pIDIkvhOdLI0MgSDotZ4gsR8mSP3T9fV48MvkYHocTOcHEwTdCnQkCEiVIHkJ4nq4GfqhBc2+9cCHnGprK+rSc9mRVcT8CHrQDyZI2IQFR7wGScUHuwsCCmcKjJC//UYJAnokSM1SE2QZ9UCMpO8v1CshMsQUoSV473aRG2LAEGKCzLh37PIdEOTGja33foz5kRZk+Y6fvfiv527s2HwPIuTW7poapdelay5LiuQFiFD1Ec9047cjJUdco6PLj4ooQbgIYmitkGXIFNwV6RFCP3QJNBXRnc8pRUgwBKUIUIRQEPlhglAM2kGUH748GC+hUw7qYfmB6uMwmg+xPD9ECygZb0kW7vhl43fiB4N+OE9ZI8fQmkIDMAQEP3QIb+4UVnMmQdoKTA9GCH6gIKInFqRmiQxhhHzUZ7J0rIkhQYxFAKfEmh4636SSISI9yF1f/r4FyN4vw48SQcZs3vR7/ns3vvWo6eGCiPJXQqf1GC3H/vgBRK5INj+ygtCP1wPXIxsfWiYMW3kdCELgh64tXBAbQnhunBtCRSRIUGS1FEGE1JohFKQ19uM5CGJ+ADwOSA6eUr2PLbUCogodNLoe6GmkRQsaffEg0Tf9IPoyXeRMkXpIiNgNHT5NQ+AGH5SDrVGGFFLQDiE9/NexBEF8oCcE2RkLskoREsp0r0J8S1a0aTEWBH3OlC/wJjYya0qwQ++mY5oXKyGP7aAgu6s/9sZSQe55O8KFguzeiABJCyJGIMgrRsEEVvaFqfRSenlB7rGlIBD7kVBDm7ECmMECEyRIXKOHA0krSxIkNiQc0RuOxbL9vaWGfB5t3eeZIS6Ib+BlggApwhIEbmj93NkvGhUh9COdIFlaFCSyxHyJnHBDxCl2+UEfeDstv0KzADlmNUgqQYCdPcR5Xs8PdEsPH2D5L1a0BCmUJEhPEORLdXWPU5BlSBAYEsishRAePspG5s5fuGjRO985/wthrhfMS6ymT8QF6Rt30I+tE1J73lWhV9vo62e1VfiDMoLTf3IKEBkymq4q9LLISW8wcUFAyA8WZyk9Jhr4Kpnm1WvpZgfliOp0RQiIBdEthSaIFAlXdgZDDPqx+vNrP7+W1HIlxASRHxLk6fTeEn//gz3U501mB/UA8sP1yKXNj3KgKsS+hMtBivLjGGF+AEgCgiCmB7vkUIluA6zcAGn2APEDiQpWgViZjhrkpOwIgvAA0lWPmyDLltEQ+UFKjq/2wxtQfSyofuRr18+uyb4VgpUQ9IqJ1Rdu3Ni7tYr5kRlirf/9jRcw+pr5ureO5KaQMtvd2UeFGamlwvL3EpLkHiwLEBgyxu7gckFEhYAX0CNMZKkE8QiZ4n54ma47puiHDLFrn10R+MEMCXXIIy6I/JAgNATp8fQBCKJrCEGTwiOsERowxBMkprwh5gc69ZArSUmK3qz+CHpADdrBJ7zAh35YU35wgjcMsADlaFSNLj+a8wPEPqxBIkkoCBcKgyC/+U0nTnuvW2UrIVCEoywjdQGu6cExlvRYjBqd01AvvrgWAaKVdBoS/JjIT8XmrTXTZt+rTe8uiFHdefaZ3T98qPwBcuWOH0VPMzoSxMdXfJR/2VYvEtoUlu5ufJ2V6HFpPtGRHkbIDyBFKtGJ6eGGMEFmyg8bYt0Xjq9OK2IJAlazrSXcjgVBYj+sBmF+QA9+Qv2B8Ij376KnhleyA5+sHfmOSJMWfYVeTPnBjqtuKANzwzgWmhKk6ZgHiOmBTqCG3PBVQsPNE23sRcoR6nQThHbsRLsEQfCySuf36ygIDQElfiSnebXZ5H3Y0Dt91w0IcqNmlm81iQQJklTchT5p7MTc924nLn/vxg9tHubCwoDLkUqQ0XYPdFShZ7bzsgsJwvC4B5UGYgG7OBki8AOC3BX8cGCHGeKCSI8qGTIZq+lAeixYyARxQXjNLQl3oy+Pr0anIYSKcJgF6oIgsR8vUBCmBwV5ikvnx+iH3QLC9Gjy9Q8gPawLl2RYTyxBbGoJjwzwg3qEwZUMMTUMOZLEAsQeBTbRrAvh+JAeoi1OEDRqwhqkJ3BJglz/fl2NCWITWazTP+p6mB3kgytXwo4Pf/h97+NmxW/vgCA3dnzFt/R6hFiZTj0+VnFXaYJIEZxugxH4SAWRIaM2QdIluieI+ZwUJFpDH4PK4tEJj4J7+TYZ9VB8OLiNaFwMs6OESjPEBeFl6ZEg77SlQgyx7oMcQoZAkWUhQ1CHwJG1RiyI6fECBak3QdBBfIJ7CJD9qj7YrPjgQwEycjta1APFovUSjpgeCSxKUnIwQwxdsdsUzfH6+IoNPX8GC4QaxCSxIp1yMD9MkJ8Mbuv8fs16+sEEMT3A/bEeHzE7PvjBBx9cCT0ABFm8eN0/byBAti6qjBNERQjnscbNeFPYbZJ/doMUuecNeYJIj7IJkm/GbVPE5WDLJAhIC4IPzoubBDUm3IsHvjC6en3w4y53A03gWu3xbGk5ECKa5U0bMhfE6yAsQqYjQXT0ohtCRWTII8GQOglCP2hIJwU5cOApxMdTUORYGFwdoh22PIgmDhOfwBI+0TsCT4psUUdzmoIf6ClDEsgRz4+YgtOMpr81/Ugrwl6gH6rSJQj1MEHs3pRV3GoC+AoB7fBTFaHHR0yPlQ8iQaAHRliLIcimn2GEtXfLlFlv87N/gG1XrNy8efZE7HnXVbciFkQgP8oJUmYGKz9BRsFlt1Z5qIlyCcIIed0kuCE9giFvTPvBD5EhSUGqvAIRkSFzJEgUIChCeFM6IgQdAQJoCE/NsneoABJk9SMKEAkCO+AHBTnA9HgKTzyabHBlCeJ2nOorYH8JK/RzfS15k1htx32F0M84OW5f585FyaFHMSlHITybSvTwIqT9RJvsYBPnz1sBEhKE+UFJ2ixBFE7tNCQdINZtiAU5PEF2XooE2b6hbmtdXRAEy0m6GuThhz/1qY9DD/D+D0KQleRBC5AgyKrdz7y49yuzwou3niAzxs9487zNW3DoMuNDgoz0IoTXivJX3ZYupN92PfyXRxNlprFckDGTsK7xqMGvcZjnG8u9zwJS2AO/l+PmjZsxD1fQo9mzEm5Ijmgaq1IZklgnZILAD2CXeCpAgh+6+xmKaFPW532I1akCRIJADLWDiA9dgy4/OL4aaO07DENgxkBr/+EghwMj+lv7KYZ00dfAyQEqcf3sULMIV1G1DbVBibCjsBA4Sj+ox7U9R5962g0Bg93XqIcpEtPd3QQ90hHSvucmvzSFtWdPl+eHowShIkoQBchFCHLyh3U1OBYGx1eDcGac/Pg47UCCSBBkiA2wYMj8+Yve+YH3fmXmrLfhrSk/24QJgi3vk7dsgSIzRirILV51mw2Q2/9WoV/bniJInalB7oEfzA9WIaSqAnqAZPVB4AYb7WALG3kqS5AfgH4QCxBECAzhAMsvCYnvRtfxinw7BPgsVqf0SAgiS0LpgS45WJybIECC0A83hEJQEPsRNESOtJ8+fQLfxy9cQISYMnhSkW292wpgsIQhGHG0p/sm/Tjgk1gUhHqwJwRpJFQk5Ae41t29py1KEPzFtUyAsJ/RTl6OsUyQS8EPE+Tkdlbo7gfsMD8+9fGPoDpngsAPM+TBBz+8GHp8GBEyBS+mz5/PAHFBVIPMwzkcYNzLLkg2QVQU374E8YEVPsMlSLxRcRIOYeAQa5wMudfqc/SEHVTD4iM0iIGew5RQhrgg0ANqmB7A5ECTH0a1oRPl0oLYAEuCPEWUIE3GfnQ07W5PC9Igzg04Ha0dA8456tAwcHqgAVy/cN2uIRT4k3y8t3cIXziYSqd+EvyBfgqc6O6mKKbIwWSCWGN3QTxBEoaE8gZ/m8GkHk4xKkCUIPLDBNm9e9OS9cgPYn7AEBJGWBQEGSI/UIMACoIQgSRIEAqiKt2YMWMKAgR9or+YLvIFyVkCEZkhFsmJEH3ftgTJKpIeFAb8PMW3TkINAmgImPxo2FrigrgipJINO93Q8TBmTam0FsOlkDnEKnSrPoDCA0yL9agO+cFWsyScXc29Ji4IuXrVBJEdTx04FsKD3dKjr590tHbhGX4asO/2hob21nK0U4z+zs42fHXpxC1whfBKqqHeXohCVc7x2XhsCJuhrh2lF0/jT3m76WEZIkGE7JAgTgE0yJAQIHu6d55Lz/CqM0GsANEQS35IkL0bHvDx1acfDhHy7oenTg01CGt0AD9Ug3Cel4K8YxZPbtDhDV6EzJi35TG08S5ITEoQl8NxQcpfdeuajIIVEf26EjX/XamMIJzDYoI4Y1CEWJEuQ4T5Yfkxz+SAHnjoekh9yQ/famIFCBzRCgiwK6agB7oEAfDDsEOA6iQI/TCCILTD2rGmWA/Lj/7WfPoTc1iAQ6w051o7GSBtp08OdEUMXb+yrUC29Q624Ktl8NLNc4XGE3v+9Cfp8fTTR3d27zmaqUHINYcDqARBDzPkWpFc6+450ZJPwcLDWizIRdKJ35Xta8IFOp/hoYoG9ABTlSGAhjwYEmQxOgxZvBiGAEsQn+mlH5WzcevLZLx3myuI+3HrgkgNa6Pp8LhMgnh4ZM+sxu3oCpDwHM8qfYymsXwKSxGiDOGbzUYlvAhIkcW8UFU3qPtKenx/4YfCDbcgPb7iDQiAh5LqcF4TRHooQQ7yTyO/Dtn4qrGJevAE3vIJAtraI7pau+Kf2xpAy0AnBNE4SxQatl0ZKjTg79ve23u+gO8T2y5dujnY03OzjXYETmCsBQFKOXGsuyxQ48Sg0RO+urt3DhrXFB/hSzVIcogV9JAguzasNz9oCPgk9PgoE+RTyBCEiCJkJed5H6QfihA0+IEA+YSGWMDuQWAduWA89iv6jZ45+THysxXxlCFOwo/ba0f5BJEeLocEQacgFeaHRlkVWihEnZ6JEKEEmTKLWszi8NZYNIX7fgw/tiFsVYwUISxA0BUhsSIKkTXh9OqMIKyGLT+OMUFohxQRqEEaw1u2XoOA/vLh0tWKBKEfneZL14XrfJ7d1oJ6Ab2rvTFwYhCFyPGnDlCNA+hoyI9cQVIB0t2TTpDz+epcy00QtjhBLgZDnocg31hfDUOw/gHgBwRRgnz8YfgRrRMCSxDLkPcxQ+AHQYK4INDjbtv2juV0E0SMWBCRECR/ujddpIPbJwn1yE+QXEHwefXbIYhCZIItFUoQXwpxQ+QHqnEoMoViiCnQAz3SA33uXB1rAkMC0zHPO01YiFCRanRg94YgQkB0P0in9JAgNATAkmMQAw2deuieHBMEhpQK0t6fR3tQp791oOFyZ+flBoBK5Dr+dl3buhodVCIXQVyqDz0dwXoIHDzmQ6xDWMCMMX+G0nO8sS03oUXMUEYQU0ONgkiP5ynIehDV6MgQ8LASxBcKVaUzQrTZxARBFRJNY0Vrhe4HyPgxUkF8JSRvNisTH7c5QsrUII7rYYKwCLkXRGUI9mPlGCLkB+sMGAIt2AgXo0gw5F3A7CD3oaFQn05BuBJClCCq1KObCmvkR0KQqy9IkGPgoCQJezispxOkwRhIVR+56D/W3joAUfrxKUqQYmOxmBJkG7g5eGnwpo2OYkFszRJlUUKQsP9FtPTsxBhqZ4sb0oBGOIHV1d2Nfe5OboLQEksQ+XFRglTbEEtFiAwBZgigISAIstIM8QAJhtCO2BDeB20jLJ0fJz1GLojIL0Qy8TE6E0QjrKwg2moCO6BHRSjRtRmLJJdCSJQgVmfM8rEV40N+LH6X4Ls68sMDBC1KEL8rnSuFkSBLaUhdQhAgQSCHMDUgBxroC+DPO5682GYgLjbMkNYsDaTY39AHQUAjqhBkx8mBxvMnzzeC4yjWh4ZMkBONTQcODF00M45TkHOD5ADouslXtyQI9983cYMYGhjsHupGv6YZXulBP7hAj8EWFvHLUGSCmCJKkMiP3iDIkiUUREMsEySAvSasQuK1wge1EJIUBPO8FCR9zLteKoQg9GM4QfgpL0jeWkg2QW4L2QQZ/sw4nYhFQxggfGCARdIzvVop5DJ6KNIxSbVwjkfIIgYIj85YuXjlopUSBAe8o02VH9MB/VCCyBAGyHtMkUQZ4gmiAHmegoiDShB00VoeCxCMpNJQEFtEpCA8nLQfo6zGxn5YMnDyQhfHWTbdS0GePQE/UoIctxUR/ItYMLzGl3+DIIwP6mHsH+oebMQ072D3eb+r3RRpJpYgZfVggihAgATppR+9FASGhAj5DMt08W74EZZCpiYNYYBAERNkvhmSXSqUIMawl0HDD5CrSJ4fr8x5Zeq2n82bX4OIPEFoyFgz5N6KSfQDHzdEisCO8VgphCBUpJLX2i5kfe7hEQx5lxIEahhTp953H/r0iGkS5L2qQt5DPzhooB7EBFkjQa4az7sgSpAUA6JVC4EdfmlHA6EPjv0L2ulLQVC3oArpb6QgFiMXhoqWIBLk+hDYdnEbv65RkKPHj1/7058OAGTEiThBECAcYYUEOd7TfY6CHO/e2aIIoR7DCCJOFUsTRPnxvBKkGn484GMsT5AwxrKlQhiCzSYUxIuQbIK8dEGc/yiISTJKprBeeoLQEF5kOwb3EtoLU2P1TmG8nD4OfozjA4ZYiExZsHDzQtQhmNm1CoQgPBavtPjgeRpkamD6VFYftINN2AALfgDqoStwl4YiRIIoP64+f7q8IKKhONA6UGwgLZjwlQrlEuQw4eiMguCvkR8SBIOsC9eLHGWdvYIoGMKtUr1Etz0xSOrrj0MQFiE3u3sKzBATRDvwScsejq24UHgNSQIaGCDXDC/SHU8PazoXyxOEfoDeq3GCcJ8iFfGlEIsQZgirEFPEDEkLQvISJNJjOEFEeT+GSZBR8eaUEgQMM4ulMxUNnajI99J1becbPUKi9wjnyZB5NGTK5tk4HoN+oDM9rD6HHyspR/BDhkyfjv4pCuJyWHyYHUoPrYTADhXpvzp9NQqQEkGa0mqwNZwzP9pQcONnLIS0JAIjC7f6csaLgtAPbgDuaz09sB/AkKEmhMDZsxTkipUz13uv89rCIQpSL0GgSAELhvTjkIZYTA/2QWjRZIK07Oy+aQECusuSHGDREFsojKd5OyEIx1dWi/1mzfqaGm7FWmZ6RPsVQ5EOJEjYkQU/8E5IKkHghxLk7oD7Uf4mT/Ef/Ci7kp5dRB8dCZJzM3p5QeQIcUPwMWTIDMphGcJBFuC+q1m2DmLw/FeABCFJPz4F3m0XQ0+7n4f+yA0W5/EaiLlhi4S6olCCKEAoSDg4xD5Ntk5hcpgf4HIH/eDOkoZgSMcJyw8Nsdq68CM53Dxw7jAEaUQDFKQ4cHk/qhDSx01dTeevF6BGuwnSdaWvHnT1hhrEBPEEOXgCSYA6nYLoBjiCYDnXFBIEgywr1BuQIINOj1YJRZwe+nI9TBD4IUMoiJ0bxwihISBVhDBD+DtPYIgSBPt5UwmidfT/pSDijkiQ0ktzXA8Z8tYgyFspCPCrQeSHv4tOUaAHOgjbseYHECHoKymHMDl4OQi5n+gNqWh98AFzQ9FBO6QHugSRHxDkV3+jGzhUBx2CmCFoNISr5QOt9EOC6F8wRQTXOwg3Mg4cJlTEBDm8n1zmmuFl/MA1yML+SJBDLsiTFAS1Ot+MP97DBMGq5cFrPV3wQwnCPcbmRzffBKEgYAiG0A80dB2kAkEGm0tKc+nBXqAa9jlCQWQHaMVCIY53r4EgTBDXI4yxQBhjTbUIQZhbhizWSqH08KsK+fEapOxmXhdE3IIgmRdC8Bxds1iyOHNvpwsi3ipBYAhwRWTIDDSAL27IquRclhkSxliLwNy5qM2NUHeQ5HXp0AOxESZ1NWulLSbaZLJUhqQFARTEDmfThvKC0Rga4sGWxtsiQdqCElAE738I2wEPLS63dhQPuyGFvjbzo9C/38DL7X1NZF9T+wUIcqDrCngWqA4Zoh8QpOcAQHYU2vCQIPtA8GOIS5gUhOCvb1rMFWwfPcE2rB5bQG9OHA4Rx0iRCYJ+hA8ThIZcxT27FGQ73pjiGGsZE8QLdSiiUZZN9KLTEC4XLg6YIbOSgpQW6dm9WM4tC+IRkpMgty1GXplNEHdjOEE0xCrJEDeEjEfnuyDC347SzZ0Es1ZolEPZQZQd76EeqskN7uE1OyCHCH58g4JQD3QJ0oSGDkUoh5be4ANUGDjXcA51BwWBC23YZdXRzhBpxiMfC5ICMqOlr8it8gMFu7ltX//pfr6oSEEuNB2o77pynWx7dhse27ZBEEBBqIc4FAQxPfbtY/2Nv5ESRIYMtsV+FC1AbsKR4y1Eepga7HzYRQhShIIwPxghz0KQvbs2rarRC4VEhjwc6hCfydIYC8eaPKiZXgoyK18QDbFKFcnoIZJ6jDxBXJLb9TZIfg2Scy2hSNbo4nUZQwirkMiQ8SDIgUY9fGui8gOLHkwQU2RaZAgmrBLXpbORFXbhbY31VWxKkEgQ/P+mXWROQSiHWiGgcUt/Rz83HnIURUGwJxGJgUf7wOWGE/3lgBvIkwFsBUZ6nOqAIfvI5c7Tl+0kur4LFw7W1/ef7XsSdD3bxdPl23uHoIcEOZC4gWEPBaFXzcyL/USCyJA9x2lIQ0iQwe6e9mbU9+eUIHF0eIKgUQ9cF0JBOMJCfjxLQQZ3b7czTZbZHWzJyd6oUudiIfXghy8W6oIQ22tCQz4BsglCygjy394FLZJ1+u083iSbIGy3JgjneiVIRZjuhR/oPCyOuB9miG2+4uaShCCYt6IfEET3QBPpkbTDkBzyw4dYuujfEwQNyA49W7TxsMUEQZS0tjW364UPcTjLfoCBlwkSDCnu29d/eR/K9VM0pe/khXoX5EoXb18436sh1qWeyI92bUyEIPRjD/0YGjQQHMZxGtLdbnoQZkwzXpeiIYbHh0B2aIBlgiBGzY8XXqAgg3spCCOEhpBgyLuVITLEFMEgixmi60FgiG4q9BrEDclWIT7Z+9IFiYb4o2FHr5xEL61BUrgcEoQk/QiLIfLDB1n3VqRPGyX27geBIPAjYYiWBaMEwZIH/YgUIWYIkCEQZB167SOP7Nq7d++uXSFBgiBMkCMEcihBEhlCOFerGoTp0QxhQlme/84U317H6Kq1tRAE2bfvVEcHvOjovLxvoLP1KA5MuXzyZEqQoaGuoWcpCLLj/KVLTBBy4k/dpKdtHznew/yAL0nONzTgHRAmCA2xjLFCBIac4BFcQQ8pkqpB2CiI1R8SZNu23T/87nc//3m753YZZ3uliOZ68eoty5AA6/RIkMXBEL/IU36UCpJ5XeqWBcnWIWwSxOPjNkWI9CybIK8ZTpDMLek42LjCDIlOxKqKHPFjsBZpb7uNsrSzhEiQ9zJCKIj8WMaLbnVdui67XQ0/KAjZtGnTdgqi/JAgTWjWgyDNoXELB1MDw6xmyoDDGRAmrExOSBAtsDsdrX37Cd3gYx85hQA52tpaxKNz4NChU7iD+lT9k/0XIkG6niVN9ONcL1YM6QcZhCE7b7bvCxy/tp+kapAGAEkK9sJ7+57gR4sZ0nONejQHLxwMr9QsQa4C/No8H+zXv952dvemtatX4xAYDrLgBzoMIbbxHX4gQ/yOKQmiDJklQZJ7sURGEOlx64KI//ROCLgtakiPFFK4nCBZPyhIKkIqDAmCTzCkqmqyLiU05toLtl+dOVN1uvnB9Y9p9xMNsT4pQ+AH+lK21WjUI1x3azdMbf/h6ZNBkF4aYoKYGmg8bUrno8MPU6QZfgw0ExOkmbYgQjpscNXAHbvpwdVAEKSIJJEgoq+1AwVFX+fA0VOdp1tPnu578kjfL3Xx9Bm8bXi+iQFyovfiIAxplCElZ8xbrd+YEsQUgcYoz6/1mB8yhMsh12RHkqPkCD9HKIgGWBJk964NqxC4K5biHlQ6EoWIYcdjfRxjLJvoxZ5eRsgiH2T5Pbele01efkHupAQBIxZEIyx+3BAJYlAOfion47ty4eTZC2bPXmjvoM+cM/ehh5QhShAQIsQTBAX6Z0N+fE7xQdbBD14wtbaudtOO3Z2tEETjKwlCP3Q7vx1VZXoE+jGD1UwGKAqPL2GodLRFGxLTfkSC4L/Fqry1oy/yAzXJIRpy6BRW1X+JN9UHLvf1HQmGgFPtoHiit3fb0a7eSxdvDg2dSIBS5IT7YUW67JAeDaZHz5DZAXBsA+IEirQXS6AabOgURH5ceeE5CtK5vY7XZW/diiOsV3CYBUc44RsEAZ4gFiBQRAnihrxF+EqhMfJTTW61EGFLJ8htq0FcDa9BRpYg96gESRXp1AMlusEA0TwW/GCC4N3yB6bNnQxD5nCu96tzZmE5ZCYEIWGIFQx5LxVxQ1B/8CAs6mHoFs91drI7BdmxQ4LAEE+Qo3jwC36w882KQnTuG5b6uE2xi+twZsblUJ5DkAwaYl2mGYWOVqfj1CHjcufAsSef7D8J4tMctCJyogg/MMy6mT7vxDi+z/TwBDmsfVi2eHkTenTfbNMBdWiAyuDddPxVEsqhJkEsP56jIJ27fvSDTT/4QevXtq5avdRuCg4Tvu+RIhKEi4VWhKBM5yKukTQEXYKQ/6kgomTP+21LEP3C6fdtR5og4g3pKj11tHusSOXkmm3/+Otf/zr4bV6ZM2dm9ZK1e7+2ac3yOXNNEAUIN5jAD1XpgSVQJFxPGBsCPeyOwloAQXZLkItxglAPfCgJBIEabJSkoRgcaQVKkuRrUocxbupPE2qQfeJU/4D0GOinH8bAGcbGkf4BcjJhyBVs4j1qBXoLt/cOJrmJ/ChJEAWIVSCsPtqbI4qhnbvWAz+ECyI7NMQyP648ZwkyMLD9Bxs2ba1dtwKjLMCBFme0ohtvSy/yhCGLECGZDMFHfmQFGX6/4i0I4gHijL4EeSmCEAmSjBDoISbvoh9//ftft2OItXDN3hd5A8WLu2ujd2wTu9sJFwqT01jQQwMsAD8I/diwYdOuHZ1KkIuxIGFQbr1IZAm7cRzo9Df3A8vnbf2XsWZu7A9c7i9CD/SIQylwvduBJ1P49brioPBLRP0W0RAhYHCQ+eGOtCX1kCOkxI8zEsQkgSC/br36go2vQoL8aEOdDbBqt+K3arUUsZsQomsQZEhimMWN1jIEqFAfqSDOSxQke5XObUwQ/3WTNcitJ4j74YJomjcIUgUeXb73H3//OwTZPXPhgrm7bhBeZbeJ5/yAuApBgBjyQ4Ms1ei0w/TAFK/lx9c2bNq+/Xe/CgkSC2J2CKrBbi08HPOjWX6gA/PDDu7dL4IeTRk9eLMbKO+HyPghQ6SHHRFMPQ7n3b4gOZQi6KLAzs8R2QEoyAuEfpggP/rBT37wwx/+AGxdt1rFOiKZmCPvpSO87lYXeRqQwwWRIeFckzcH/peCiNueIL6OnkIOj3CaN3+I5bO8IBZk8viHVu3F0OK7K2bOXvDl2hsB3PX4AZymaI1v2EoRNFXqRG9/ACs/2Grhx9dqv7YJQJDtFEQjrEsURAHClp8goiEY4hFiekgOCeLxgStA2cVBNlCf9gMdcAldduT7sZ8VuooQ+nEYzaewLNgSfqT18DsR+K0EcUEYIICCXIcZP/r+1q1rWYEQ5oeu0vEUmQZDAG+akiOL8gy5m7d4uiL/cS8WubMT5JUvMUFI6Uq6DBk7Rgshlh8ypEpVOq4DqVow80Mf2rh8IYr0OQ8xQghuSuWNOfRDh8VBEMPeHww7sbRKGMVHrbEpsJ38xgQJXKIgCbQ3HH/A8GErDRB+ZAeaKWKVQdADzfVwO0J4HMv6kQmQ/zC+UgFicjA+GlPXL2T1gA/8eIKgFcwOWiJBzA8J8g1c4lmHFaPVq1Ggs38Wq0qoQuAG9eCe0CDItOnkvvveSWiIXcVGP4AniAx504gEubNrEPk40hoEn1JB7okFASWzvH77GuMDH14HUlX1BSyFLFyISSwYUrs7+LH2QxCExDdKERkCQoIsJVj/YHaQRzZtQqcfNMQSRHpcvHTSBDmDRgqJq8ua2UBLuQRJBohqaK890JLhgQ4OpP1gI2XzIxiia67cEHZzRPidCwV+4AfVQFeCSA7UIBRESBD58QwEwS4cCLIagrD8wGTgMkxjsUyXH7qLTQkCYkUWEU8Qu+jWDfENvS+3IOL2J0i5GkQODycIyQpCRxAg0CMq0dGrqhAfxJ5VXCu0ZZDl1aseWVe98UMPUZD4wpzS6w6gB4g28Co7lB670LcrQU7GAWKC0A48+Em/RyFHpIj08AShIrw6HTSaHqo+skMrITN+4X7kV+jywwMkuQhiv65HiI+vGlwRhUe4DQFf0frnmYwg8kOCWILQD5RwyBAkyANMEIJdbwgQTK6zUocgUATHZhhzYQiZEhsyb14wRAlCXnZBPEJGbw3CJkYuSGadUCU6e9XkzWQ2/BhfOWX2ZBNEN+Y8NBMTvjPDie6UY7qutQ13rtlho+F4H5NDesAO+UE90C1BTsZ+mCBn4rPUCtr+qgRR8wSJDGnkRwmSV3848uOYCpBs/aECxPPjUGmARAMsdH/fRHp4lc5PIWr2oBkuh31nEiTy45mOSBCw1BTBhk+W6EsSNTpBgDBCpho8XgZbST1DpMg8M2RelCH/I0HkxyhIkNwaRPmRTRAR9HAy07w+h1VhhuBRtXAL/Fi42XaaTJldORl+BHBv51fDhTmcyJq2/IkP6EKpEB7xMdWrDJfD8PGVEkR+BEHkB6Egji5xdkOcw/IjKs+beFt0rh0i60e9yOZHJkD2R4ocVhGSmcPyB7DgkBd64nGmgH4kLYj8cEFoCBUJLAGMEAnCGgS/4/CD8EiZ+2yIxTpEEaJCBIbQDh9kZV8qdPIEccoLIkZ3gojhBHFDvEZPr4LIkMmzwWSDP/ptB3Nmhltt77M7bZc/8fgTy214FV2UUwM7pEddLdmAtqk27YcCJBbkogSxK2VIIaWHnuilNQinWRs1xlJ13pSZuzqIrurcC5BfuCHD5IdQCWKYk2Zmg+NjLN3QE4WIQsO/wFFuqAmfX0IQ+UFBWKQnFalhhBgeIarSpwcgCOEYS4aA+Thvg8wDb6Eh/60gd0SClKtB1KRHeUFEZohV4W8UyhAuo1eND4Is3LzlsQ9ZeoTtisTmeBkgj39geTiAl9QYQY6gR7BjA5vs4DBr167ffec735EglzxBCuzIj9IE0WtHgnIUTA904OuDTenZXaKyXBxAe/oW8wPdKxBV6GZH9pJdkwQ9pYa+ZYcFCPygGehsJoj8OEtBvmGCrKEha2pW1QDzg4bghc14GgtMj0JEVQg2W8+dEwyxQ8dliGfIyyhIWpHRXINoFUR+lBfEkSCGBPEAQR8vQoBseeyJx9c/hIMWoYef5s4CfflyqJGxA/BYBjqyAYaITfxQjh3f+bORI0hQBF9F3laWlUQJYlvggx+s0dH3N4byXAGSCI+0H+j1KT+y+ZE7geWLIAS/XPai3WY3JegLL/BxNxzsVUZ2mB/4SBDTwwT51Y9+tGEDBCE1bFKkGqdg8KAYCEJgCGAhonFW5MicpCIEhtCRlzdBRGzHqJjFStUgwhNkhILIkHQNogQR44Vtd58y87EnnliOyhzozmcAO4CdXiI5pMca6cFN7bSDD7oR5Pjz7wMSRH54gkiRoq5icnyEBTsCyg/7qDwnJbNXyfQgw+aH9Cjd445uuB7uh+mhAIEd9Nf0AHq6G9aOUg5rShD6QUMoyF/+8sc/fu9bmzbhd1COrK9Brw5QkQ8EQzxEeGw4MEFQq5siU0wR3mIRhcgIBREjE+ROSJBshS49yieIEfxwQ8ZFu9399udKM2ThzLnhOinUHyaH22HUSBD+3x0FWWOGCNmxawfl+JmREiT4sVMJUmTDV1ubRQge6QApBkca2CxBzA7NYEX1B3rWDvlRrwKkbP2RTRAPEIK4QqMeliAgmyB6lR7PUj0A/SgoPdhMEOWHCQI//viHP/zhm9+EJbXmCP1Yvz4yxHhvgLV65AjwEJmjDCFYz4pLdQkiP/IFEbdw15TXIOL21yAJPORuSRCv0oE2mmQEqfqCvVS4YPbChag8JIfZsRF6iNgPdAJD1iTtQHD8mW6IVILgZoydl3ZagpgbcqTNaLGWMsRKXytCGgn9CHo0oQU7EvnhuB8lekiRsgvorodQAQJsGs2t0KMQZQh6Wg/JwQ4vrAMKovxICAJ+/vM//AGSfJ+SrDeqKUnwwwzh3DrxEAmCwBDAEEkawjMBeQfCxJdTkDtlFuslJEjy7Dh0f1sKPVBpCQI3aAfUkBvUA2ykIBupR5whYcxM6tBRaNZCDgWHyE+QnT2ZBIEYMgTd/SgGQ+hIIxvYz84AUX7k2iHKFyCeIEyeIAi6j69UojM/VIGwZVF8sKnLD37YCNXgJyRIh/woFcT4gyXJquBISYZMQw+YIm6IObJg0QIAP8yQeZUzgiF3xYYk5eCH3NEJ4jVIxo9bTpBkjW6WaK87kB1VNtdrcqjmkB1oG80RV2R9DRsVEV9aU1eLYZXkSJKuQWgHPiZIEaeenzJJTrWJZIRog6zlB3oyQZgf8iMzfQU5rJNMfuSOsDL1ufnh+ZEzh5WWg93Lj0b7HI2awfO/5IgEOWtccEF+boa4JFvr1liIbIQgGxngy3lH0XJLEe4XlSG8zIiGKEZoCKgk86rMEDoCsoKIEQlyJ9UgrwK3mCDuh6Z5+dQR1ooOuOHRQZabIu4I/zHhUx3gPzoQBUjtI4yOn/30pzDip2jlEuSSGYJGQSQHH+4Huvzgh/kRyl9LELLf2r796d0lqZmriPqUH+VX0CVIyQyv8kPr6F6jp5EhpkcjW6kdBSWISAly4UImQdKSrEItspFAERqynBsYaAg2xMkQkDGEglRNrhw/YQaZiH/cL6cgGuCPggTJPRVL6ZafIK8VCTnw4XvpqRJk0lgW6ejYhcWdV5IDPESCHy7IRvvgnxAU4T8q+CG+DTtMDngBZEfZBDE7QA8T5BTloB6nihDEFXFDfIRV0PhKhiBAVKFnp3cPJP0QsiPfj7z8cLTHhHrkQXGtQPLwCF9HG9H4NMwM8VsKIj/KJIhL8i1IIkUY48sJ9QC8vEiCzAT/5u7cfvSawjDufD7TIh06vSE0SJFIjF7IXAluXJBI/Aeu0ERGZiTjgkimJTXqfOFqnM8M4zAOdWirqoo6n8+0jtUb4Xne9ez97jVr7dn7+zpq6lnr21NE0Jmf33rXWnstQ8QJ6UU5CUqOwwj6UGokckg313mmBsFzFhqk4ENpAuRgPgwQEOKXeYINO+5nvpuDdGhKl4QoQkSc0PXozKUD4MPU8SPYYAiH0YFHvUHoj8+tBgEdNsiSQTzlPK8SprCeLPmw/YkUSGZ4xSY8NMBK6o+UDxdIbBD4oyzQ0VJInkAnHTp7m41fkaclEGU8Noj4QDYIEBGSSxBJwUiJCL45AATfLhoER8+QEIaILOrtO+X0eZdxg/ZhhwGRwxkRMhOAlD+Fs7AGqTUInwkgewIOdK0UGhk9PVw8n29HNBAOw4MNISAJIv3ukQHE6bgIVceXVTiaDUKB4EGDrFoDPsgIW4SHDGLvTyEa2XuFTn3cnY6vfHglQrILIE3+YKr+QH8iC4fvnjR+jQshYuZQAxzGx6R1GUR8RIDk6ZBJRleMXHh2IGQI3wr6XTFCsJILRgwPprfvbLyAdV4vdp4SEEqEkHBgjdMVuwFkt7xBZmMN0tYg6VYs0NEzh6E4kEVKnyJEhAkzhZEBthDQcYXB4XnYWiKQL6sGMTrIx60GiCGCBkDWoxXRtvfiBSQZpCqQce1vt0RzV9MXIPRKgz+oj5gPGcRaTEdoDIeAfDKg4wkjg5/ABwgRImgwiPhoZxBl6bIR8wgAQe9HJx794oMpDbLwtNvHxjbffl7vZYcdPW/OYWLEPdIFILPTIDNQg+wZ6g+aY04PxSF3EJAKIuhFEkRKOkp/XHjxFRxXxWjIHXp4TCBuEPrDDLIJeLBbAx1ixGsQCsT40M0IFt6nPj7ueCDp7C45uB+AtJ2/QssKJOhDdEyp0B8SJCUlMojTgTZueOBDNqSQCQIiPlavrgLSnNEVLEiGhs5D62dICLPQAjoISN9ZI9+NgZCrT8f+UxQiIgSZK40kgBzcBMgOVYMgtQaJ+cCJinZXIcZVPXzxQ0FlrsgksUxiQiSQoYEh0QF1GB1xxEgqkNgg4uNWAkI8ZJH1iBwiQJ5jIyE6r9cFwlgFMi48Ejoscf2R5+OB6f3BZoiIEZGhXxMLfjyiQ03uYDOBWJt4afL1LgG5pxQJGAEi/cZIeBUaryNIITjrr2/his1jm2/bfMsp+N4CkYgREMJEgPBswY5rkF1mgUFa1iB7lIAADeMD/8G4xXPBgqOOOgf9nJ6euTqqGjFAiogQQUKRqBqp4sHvhui4KKHjYcHhBsnXINfLIADkIyBigAgRMwib8kxIOP7ADSJ/hDWQ8Wh7oqpz10feH1k8nA4R4og4HdYQf6AwkToSRPAYL/Bgx7lfvCuIAuFXA8TwQKIaBJ82WTpqjAz1A5FhGeQs8YH0ARAIBGOss8gHAZk/jzsl5gSLzOU6GG513UtTveCDmR6QHawGIRxZgxCQgw9esGD/oxaQjKMwowuBWHGuCJHD7MRqIiJILBJITMhQP/xBOi6+3eGIEeFDjYkNEhfppAPjLAEigZhBhMgzrhAbZMEgwkOEMGGCd1J0OBwukPr1c69Amv2hOB5uEsxv8WMWiQUyTnuAETTrIIRwSCATBOTdBBCk0SD6es89nP+96DQMsygR40MCMYX0nbycQ6x7RhYdDUCIx2EWfNsPtYR1ME5q7rXX/nvvDTqckD2bABEes7gGcTT86oMjd6c9YA7QweyPHg51R4/etO1xjYgQf01KtcjUEmRoaGggGVhlh1dSCHrdLBYrdGIy1SDrMwZhtHW8IAT6QBMe+CSzu0Qh5kNJy496fygOhyTitYjZg3SkAhlHdzx0OjfMATomJ16amCAgwiM2SHPuYbsHH4aDrbOHwAdTrdFPQZU+snTp0hX9PH8jVCHFGKsgpNAIEMGhzboO2fhoBkSZxTVIMbiy5x6Ux5GWBaTDRlcW8BJfThgOrC4IARvFaVhMtQYxYReAYIR1ruiowyNRSN4gGwCI6WOKQZD12SLEBlma5fURlt2rqQJkMlkcDAJJ188zBUjqDzYXCLtWQdwgjKFhH3bPuDXVHbIHAkSIxwQIwSMCZG13BjFA6JHRkbNJiJUgpyh9fNUNmx3OsjeoTSGkQ0WIqvUeAmIWISX4QdmbZLQHZDYYZOeaGsQdssseux1JOJiDj9wVD2Kxq2r0PY/EJyDihPSYQnRvjggRHzCIEXKK0SFAgMf5jXQIDXSPEyI+ZBDzRwHIMwUijofzocNz4jksBHzoyMRJ1R++OFiksf5wgcT+qPIRCwRdDdgAEbYYjvB4mg+iITbYXqJBKBA0ALJBfKxd64A01+huED4VMHJ+vwlE/kDHSOB0LhZygEVA5gsQ0iE+4BAbZkkjHGdQIfi0BqS2Btl+iOQNErLYivPFu5GNUJ3jma4TIhEgPUwJCAkBH24QERLPYV0hFlpAgp4AEtUgt5IP9A/dIEaICWSKQZiYkPHSIDbA0mvnPrxiszTNX8kfdwmRvEGEhyqQ8CnwCHTY8272cccEnREelpfGqQ40y+8EZLUA6dgggsMheXbEAQEenOa1DSd9nHyxsAax77V928VHDIhBwgHHjmUQr0ESgSxezH/nxaAkuw4CeTD8LyYgTAyIThwNU1nzSoeID9+ThfrjXF8QrK0/fAorXgNxgwgQ4wOb3gWIYoAkBhEiiA9ggAc6+EAnHtXJK09Lf4CNiI+k/BAdsohcQjxECNnQc1xwuD3EBhsBYQyRRwGI8GhnEHGRwIEn+tKzh6sliHI692Q5ICH8thshBshc8eGAICkghKO2BvlvDbKzGyQFhEXI4sX8V48B0W5eEZJWIWREBpkjQMQHwwrECCmHWJjAuqXZIMkiSL5IJx/Qx60OSDTEyhlE0fjqbiNEM1g0iAiRPpTm+SswIoE4HxU88HE+HBEJxBrdgYYn0eDD9eF4iBEbXxESARL8gWzs1CDpKGvZecMLGaeD/ug1PpSyBhEfeJm0BpA984DsOAZZXA6x+DFA9ph+JV2A8HciIUQKMT54Z44msUwhAoQzWBxjNRfo6h4XiNcg4AMbFpG1GwjIC0LkGRXpaQ3CZng8Xc7wskCfLCr0uPxQkvmrVvUHer1BQn9CzfBgZ0Nn+aHE46tJwoEuOIohVuGPjRtXukEaBeLm8GCENUxA8H3j9NXpgEPp7bUCBJnv87xzVKL3xEOsvQs+mAwgO1ANsks1MkgeECckmekNv00+xEprEPERBlkXthljCY80cQ3CV24LQDxTV9LXiA8Q4iXIuEI80KMVdHqiTKv5q7umzGAl5Uc6xEKzkBFyQTpoD7lNBHtABz7kQ4C4QeQPAdLaIIRDD3WOsIYLhbA4lz16EefD9vSyzfFp3oKQ/ffae3/uZLX9JjmDEJFZapCd8zWIB4A0b1YsAPFBVvh9coMwzsdCi/gYQprHWHUS+bI0iKZ5hccX0wGyJhjEAUFkEPOHCWRykuOre70+f80B6bj+SP2BXoVDvTSIDa0Kf5AFjrFiOKwZH+jiwwERHy0NYkToFwELz+jQ8HAfvlsDp/UvRH0OOvzoBnx8mZCMKL4QgsAfDPQhPnKAzM4aJGuQ5Pq1JoMQEEtpENVqAARJDRL4MEKGQ5l+RRMa6Ln3QMQIIkA0vgIhBsgLWUAoEBlEk1hcnnaDTKpERyZ8eTAWSNP8FQUiPlJ/OB4OiUcX91gbZzN9KHcVeCCBD0sCiPjoyCAuDv3KR1hDQ5deftMNlx5/hl6W4oOhOiI+NMbqsSJdfBghoT4nHzv4LFZlG1a73byIAPE6XcXanBQQvRyihZCAR+MYi715ltcACXR8QUBSg7CpBlmTjLBY/2qBEPowPqLNVx7B0bT+EfuDPRlfyR6C5YmyUR5CRNgSFNKBh9AQGykhBKTk4/kWBrlHTfaIBbJ0AALpO2vg6jtxM9jZp5wheRR4eLQE4gOswwMfIkQ7TfDYgdZBcrNY2mXcFhCdXG10sCEExAkpJ7HSMZbWQRrGWMBDEsm+DBIbJPCBngOkLEEgEDcIjwapbMKaxPjK+JiUP5iSDAmkYf4KeGT8ITwckQCHHq4P8KGrrcZDs4fweBAdTYigxXy8xm6AiI/nuzVIAcoyjLAGhxeed9OfyF9nnQE4AIgQmYoGv/XsFgFCQqgQyeN/bZD0jcI9leAPRQrRkbylQHpdIcQDTdNYyBW1dOiRm8KKDOKAQB9IAogEggpEAnGDPI3xlZYWhEcxvppI/SE2JJB29Ye6lx+Kg+Gzu2TDOuuO0GQPflR8qHsIR8BDBhEfzQa5x1ugwn+hEdZg3+DCgd8IyJ39p/eeNE85FSf/hLLjuPCyFD8W1R8CxMIinQOsFBDhscPUINqL1QUgfuSPAEFKQBaF3YpOCBEJhAxrjNU8wDJGmgzyRSBkmiJdBvESBBUIejG4N32YQeLxlcCQPurnr0weySlxbpDs/JWFbgl4uEH0+i/oQHuQzSwHPKIIDlLyGgARHw5Ia4FIIgrnsAYBSN/A2wTkpvOuPekk4cEcV8Tw8PBcNLSCkKP2Z6xIrwVkdhqkZi9WZwbxKt0BmStA4hrkdN+uqAARTCI2jrFkkNy7Umxeg8gfdQYhHMAjNoidfYDxlRtEArnXBPJarI429QdbjT9kkDp/GEFIkIcKD3XywTwoeSQCQWcjIOKjySCiImIjlsgy8DGI79rCy3E78c839C/sPelUJZDB5iEVBobXH9WdJkjdG4WzsgZp/T6IFyEpIL4ZS9NYBoheTmfAx7zCIGhTEAEgROSKentUDZIVSGIQpNkga1wg4e08jV8gEOpjQgJxf/jXDvZfuT+cECWtPhDpg9HtPWh4qvR4kGgQEcyzOR1swR4yyMqSj3emNcg92QLEoiXDEfDR14dvXf/NN/11w3mnnBzzcYDA2Nc+AY19iUY0utqzBOT/Moul5AFxPo5MBWKEzNUbuAKEhKgIMUYQ7FbgeqGFgGA/VoNBsvNYbhBEBgl5PwvImmAQF8g6CUQGsfGV8RHwmBAfsojifHRbfwiPiA6U5viIjKIZH6GTDpJhj6o8jBBwATYYASI+3mlrEIv7Q1l6GvjAd6530eknYzx8yum9p56KKwoPPFBHVzsd+5o69tkHX+11QvFh7xTaLM606yA70F6sOoNMd0m6AeIrhehaTC8IASBMrxghIQxNIkIGbmmexEr1kRpE/ng/axAphIRAIIgEgkAgbhACQjq0PoheLcwb9l9F/oj37yaIRFNXcTj3ZWiE2oNe4hbjuyQPR+QB94cJRICIj3dWCRAmA0fMiboeGmFhz+68y07qPekQTF+dxGtuwUdxk6edF7cfPszhB/FAk30OCqdjVY424TznwWEd/X8xi7VLy3UQAZKugxCQcEGhO4QWESZH9xoigKTPojFWK4NESWsQ+eObjEFeMIOw2Tqh/GEG8QpdU1iav0IBEgZYcR3Sfv0j5sNaQodGV16eqzgPR3MVtTk6K3PCIToeCAPByYIPRYCIDwckxcPJUDLL6BhhXXYZN5TgUhDekw4+kAMO4IMBG0CEARv4EAniITj2So/92aHWQTqbxeLHAUlrdPERX5Kui3Ms85RehIgEk4iQc2veRneDtKlBigHW+wkg1Z0mEAh6McQKcUIemDQ+0CfAAQ2SCIRqye+/yvsjvwXLY3hU5QE8ZBDgcVegA40P1Uhl7fEAuvhQPn15pfiIDRLhITicEhnEQbE5LAJCPi44iXwccsiBBSC65HZfpe76Awdkh1wH2XnbVtL1Okh1L5bveZ+rHb1lwqYdZ6TABMOs+jGWKMkY5MucQYQHesYgYIMOeSYyiOjQa0cMDeIDLPDh1nB9tKs/2NBVf7CnER5CBFyUwys08sGGuD1AhwxyL9mwj42v3CDiIwIkwUNsKMnwylYJBQhvgCYfx5EQpntAdqQaZKeuV9IdEOJRGkQhIHSIL6hHMULmlYiwDNEYq7kGua+FQb7JGOQFKcRrEK2iC5HHXSBcQjeDgA/igU+CB3pu/xVaff1Ru0IY2HB/jMsfgI36EB1BIWBDqzS0Bz/3Eo97E4OIjw0ZgwgPbS/xlg6xLgYfiwgIx1cARIQcwCZAxMf/0iA7bZNBxAfjNbqivQZABHgo2hDtEjkpEHIyANEYq8Ma5MusQaAPJjWI1R80CJr5ww0ifyj8gSMfBIM9EQjTvP4hfzQMr9LBlbEhgfjgyj7ilw/+awJkNHuIDTdIwGNDCojjgST+iBTyHUZYgyxBQgFyKuIGaQJEdHQPyKw4F2unljVIHhDh4TU6oysK7QsSODmcjXTwc6oBIoMAEBCiMVb7GkTJGeT9bwRI/ULhcxQIFLKurEAeJyFExEp0IoIYG75r1/lo3n+VHtHAluTuav1BnNjQY3+QDmsI+ZiA46wRD36SGkR8vJMAUsVDxkBL1z+KjYo2wsIQ66QACIsQGaQZkP+FQXbOz2K1PHpU+lDC4qkHc+HiRCEdTFSrExDNY3VkEOkjNojwSAGJ5rBsgCWBEJHxwIdmTflzF62gRwYhNx2vf0wzvIr50L2hfnfoeIDDAjYQIkI4gjz0qODxCAHR+CoySDrAciq8VzN6HQRCQqiQYnXQZng1idUVIDvUuVgdGCQgIj4cELxNWUCyoFg75Vwfnvsg5MTYQEdKPo4u+SgB0Rir/TpI3iDvh2ycCsiaoA9bRa+ugXgFonU388eETe7ip41fTB/ioyqQ/PpH/SGKqT8cj1Id5dUkLM1dIBpaTcodQiMYBPW542FDrIKP6Qwicbg/khHWJbbPBICQEEaMMOTj8PQWaMdj22qQWXK6e20NwtYIyJ7GB4dYJMTGWmHmey/L/vsQkX0Lhcw9vHJu79EI+EDs/RDywTFW88lYiUIig6wt8PgsAmQdOluRx9cFgayDPxC+3u0lyIRV6KRDSyCkglgkyx9N738ogiPLR1yeRxEaQSDEMAhkAt22iCmOhjU+gkE2WFbW1SAOg/iIMdEcFg1ChTDYultFRHtMQmYckJ1n9dm84rd+iCU+sDYKKva2cdbevAVB2UvZf//gkMOLZZE5yHzLZbZ9EXwww0x2z3u8FUtf4lQNsrbk47PYIOusCQ80zfHKH8bHSy4Q/QDGy+ZRfd5m/YPd6498+eHx6oMJQlKgDzZk8t7Je20ACMNFbBR5Eb/GEGtVIZCVK/MGcXM4F4lDlkMgCAk5msdTx2/WihBUmw6I47HtF+jMitPdmbxB8GwCBIcsaqvinkoMiFfthx+Ked/Ah+hAu2wRYngsFCCXgoYGRiIwUoPkAVkXCKkIhIA8SYMEgehwWwlEFUhoToV+1aL+aBxepauDxAnJ4TGp8+v4CHyY4twb4YsL5BEDJPgDgKQ1SFyLZ/bxCpNLh4cFCDNf4eElfo57uXt3ZgHRIOa/r0FqVtLbGWRPdHwUJwTlBxKtHPYgc0KMEMug8THYF/AYGLjux/rxlV9v22yQb9//7DMCEvsD3Q2iEl0C0dmdGmCx2f+fxYe4iAZY6A3vf7g/agAp8ZBuHA92p4NkhH6vleY0CMtyw2EqI+wGiPhIDaKZq/iRzXcrLlm+/OyzcdMUXo/Gjl4HZc78OUgPMtdSzsqg9BQi2waICPnvDdKuBlFiQMQIH+iK4eHhdbfMXOGxZM6S+UsKOi7D/5z4WjrugD57+cjIihUrRr9sqEEyK4VsUwxCPAjIyq+KfBy+rCn4ePxpK9HXZfgIhNwPQPhRgc4Ik87e/9ALIA36EB9OSJkHQgsxPsL4KgyxZIyJx5WXlEdfXiU+kJdjg8gR6SPlZPPY2FLL6LJlK0aWLz/tvH4cj7VIkCwRI4TkKKR4OYoDh21fKBQls7cGURoBsWcEiBOCKxLwG3cO79dBliDz+TA6BoeH+88zLpaNLkXGLM9OV6Dn35jiIzII/fGtAYK8gzyPbNyIl7RXf+UG8Tmsx7kGorOlxIfG984HE/HRev/VQ7X6cH+weQQcw+pc9rDBFfHgLmN2GkTaeByaYF72rBIfAsQNYhhM1YjFOXFAopCU0WUEpT9gssTSc07POYgzQkoIyYwU6bvMwhpkyiDL8SgSIRLv6rUEOhDiYSEdRMPg6Os/bfnyEeeimlqBiJI0qUFMIJ9kAREeNMg6n+KNKxCOXlSBIA5Izh9Kbv9V0/SuJ+Ij8CZ9oBeBPMiGDMJNMF54ZAERH/izbpCSDGdEbGQzlkagkJOzz1tYQgJGBAkCQJQGQERHHhCNr2ajQRDR0SEgAQ6xsYBsWJacIzwuO4vOWLZsdNTRaAGIl+h6JA7xkxXXsj7/lnx89ua7ymr7rF5NQEQIqnQr0SUQzmDp+gCtK0AhqtJzfDTcsEY4Guav2JyOmBDnI76d3cRheNgu/FBxyCBa9nBvFHywBHGDlOV4MyMukHpKlo3AJn0FJEtKSBYUgBzcNSBlBTILaxDwgXRskINDFlhKOEICGiuIxlh98mOsuAbBo94gBEQCQd62vGkBLQIEeNAgIMQFogoEMTzIBuHAj2GzP6ykTvDoxB9oKR1+NyLXzY0QZYJ7jNGEB0JA9P6HOHF/xAZJ56pETA6S78aaE1NCRBggskAv2QqPrgyC/I8MEugIfFTp6Os/kWiIjKZsnkYgte+lxwYhHmhvfxL4eJt00CaRQZ4GH+t8DYQCYbgJiyMsI4T2YIv4wFyY8kKR9VPyRpr1r65/Fcn9lfXx9G4FD8WQVOGhWki7jA0PGSTPBwhJDCI+vCutDZJmlDX8aWcZJEJkQUAk8LEDG2SmahD5w+mosjHWQaa7aarp3DgCIn+giw/5ww1CPjjGKvRhkz8q0INAEELCn8PSG8qaUM6s5rDtzTfxD4CpvkW+Qb5GcGbER8jnyA8//PAB83Ml/GP8efzVj+wOk6+R97LDK6REpPIvwH8jre8DDhIig8R8rJQ/8gbJ7ixJFwvHOsuoqWRRwYgkYoD8L2oQfpS6Waw8IK4Q52PJIo6pVixr1kbzGEvuqD3ePa5BYn8AD/ljyhALAoFBREhYRBce4CMohPO6yfDq6Z9+eu+9TZYtm7Zs2Zrmr9bR3/CC6Iir86j6QGnueBi7NIjwECDOB1PoY4pBHA+3SPcCSbMUkJx41qKAiEnk4GSElQCiyw8SgyD/vUG8BuEjNUgzIMLD+VjSdxbEAW90lc0Nd4Tkt2ORDwGiAkR4uD9UpD+uVAWCVARy/4QMUnmtNtlekr8BhKmW6LnUb756MBJIcrsuGQlic4M4IPX+cED8DfQ4eUrGugyvxu3vWyJCsA/J+WgNSGqQnf5zg9Rv6G0ChIshRxKQo3rmLzI4MEfVdaZfCfG1kFqDUCDkg3E+QEhpEAEiQuAPCURHg4TRlU0V8Sk+DI6EjygVNhpWz1Wc11cfVUQUqzzwABvWzR8vvvbiIy8SkCofJEQCeXlVDIjU4X2bK5B86T6y/JiFR8+ZS4V0BojzkRDiCtnOcXMls1hKs0FMIEefMLJiVHB0nWen3Y2VN8iUIZbwKPUhgRCQx4tghIUZXq9AfIR1L3sYzsgfIiTdv8sWr5+Lkfq3oyJ9+OwVehnhIX+UERz2krwMIkIISDp/JT4EyJgMojRVIAKk+3Cp5MyToZAmQBTHI0pqEHz4ZXE9JtvVIM2AKARk0fmjY9uczTk88oh4oR4bJBphBT4ECPQhRlSAgJBIILAHxlgwCBBhFx98sBMPtpr3B9nTA7DyLw+SjwwegkN8xITQbCUerxkceJhBNiTzV46HGyR/NlxeJGPbnNHzAyAHdw5IahA5RA89t0N2zhskNAfEI0CYpAQ55+hjRrYdkfxbU+o5RmKDcHyV4kE+CAhDaTwuPkCH86GDO7XXSfoQIJ4290cJj4SQKh/5xcE4DkeFDtbn6Aj5QBMgSf1BPgSIavRkX8mMj7BcIStOPLoHgLhCEjyYAo4EkHSnokVcLF68nc42yRtE/4aNgDghNAgr9MvOG9EQq+s8m4HDKWHwzBchACQu0FV/OCDyhwBBwhr6BLpe7LatingQE7lD3f2RPz+xaf9uvDvR6QhN+ojqc+cDXXnNjlkJBkF3g0T6kD+U790gyQ2d/xIgy5b3sUzvHpB0FottMX9cl1x77bUL+Ovtle4N4goRIJjDOq3zyd3mMZa3+qV0AlLZf7URWbu2HF8ZIMIDBskKRA+QodgStiI+ms5PlD/y+nA8YkIsGToU0aHZKxqEER4vBkCS5fNKNMtbV5jP/Ahr6Uj/ZUsEiE9jdWcQ4aEv+Lr4xtHRO66dZpA1O2oQAaJoltcWCIeXLxvblkx/FVv+8AamBpDVNYDo11OuUC4GWGwyR7L7Klt/tPeHgLLIHjl/oEX1OaIKPewxER/oL9l/t89fMTlAVKO7PWYeEI2uThu0bb7ncOPiXr6angLSvgapnCN95VU33njl9hFIvgaR3doDsmfFIMg1nSPSPI/ljckrhOfcKM8zBKS8UF+AYHhFbYQCXXtM/PIALqSrNg8FiPgQHo3nlzT7Ix1fZfURVeceja4Q54MGSbeXeFatkkAEhItkpksQrYMsH77mGgLSM9deNPQDrJEEkPazWMIEd/cvOLJhEms7GIStJSDhPRBu4j2qIOSaoa4RyY+xGm7zlEKQ6y3vXG+HQj0PKEpANgoQUCFAsIROQrxCJx6SBz/oHudDVUO7AxSdkNpXz1N/SB5eoJd4WCsJIR6IDLJSgLD8QH5Rvmd8Hf1fHGGp+BgavOYabMua08N7PPm2uhDJXn5ANDqYxQo/stsDj+YapO0Qq/IeoQMCRLqf0Hq4Zqmw6ZUQEeKIGCDCQ4AQD4YCMZf4AIt44GPNBjiTKR8ipLP5K4NGSfBoX36EU+w8AQ8ZxOuPlU6H40GBfCd7/JuAjI4QD/LBE2ft0BMRUp7z3gqQ7Pu2mt9tnuPdHrNYzQap6IPhK+h8P6qnIGRwoFtEnm11I3R+sTCySAYQQsEUKokuiBUcwEP1R50/mPbzV3cnApm2/oiLD0/VHvga7CGDoPooCEH/BU18OCDxNpOZHmEJj4FB8oEXqcgHAbFzs6qEIM2AOCce56KRj/9qHcQB2VWAmDQBB7MP30Cfe06PEzI4sKKrCa3NKRYZhdxXT4gQISDiwwFRYj6Eh3Wvz2WQ3Par9vNXaX2uZP3hbKSEUB+pQQRI4Y8AiNNha+gSSNv83bFAVJsPDJMPvmc4H4Dw5Cw7ejF2CNJxke4r6dtru2JzDaLkAHF7OCD7IDq+RIQQkeFLu5rzzZuj3iAiROMsRwSAlHw8b4AIj4mXhIr7Q2yoQNcAa9L1wW50pIQ01B/J+CpXnzsiaA5HIhCP6BAgIkSpyAP6YIBHAyLd73R3PJBw8AlOzrLDF/frEhDxkdmLtd2Tn8VqMEjKB4Nr6g4P13fy/dogkeELO0fk+9wYyxWixXT09LUQ1wgNgpmrkg8DpOTDAJE/FD8o3Q4vJB7t/IHeNH/V3h/sqT7IBvtrKR8OiFbPZRDJQxEdMz7C8qmrSyt48Gg5nU66H0NCiEhbQJySZBmknT62/yyWUgVEeIgPhrfUIXZAnJ3tQ0IGh5Z3XIpsTtmIMVFXHJIiImSj84GsXb3mJTeI+eMlm+EVHm4Qx+PB0JFu/CFCGvwRE5IvP/hR6g0SAMFHfDgebJ6ZL9EDHuJj3jyeUMrzrY844oAjKoQgM2GQBkK2Uw0SJwIkrj8MEOGB3woActxxIgQBIUSkU4lMU507InVHZDkhG50PZDUBMTomoJBkgCV5cAYLMUQSPrrxRyf1h1fnUwlR+VFrEH/9wwChPmI88Pm3ABm9cEh0IDzDFyfBAw8AwggQpBmQXeprkP/YILFDSoBjQjIVCOlgDJD9GGgVcuUp7sUBcRhnDSQ7tLqdx4oGWQ0XThEQ58MNAh7kj4KPKiaAAy3wgbZt/uCfrPFH69krja+mN4i/P7hSgAgOa56ZH2GNYuHD+eBlbQhuETmWfDACBMkDYvNYKR/ZvVj/2QUI+VksT9Uf1fXBBJADjiAhyKlARIQQkc4mtDbXKwTJrRU6IjEgfqG+AIE/pJCp9QcPnVL1Ee1MnNYfSnt/OB4iJL+1BN2HV8Kj1iDuDxmkwgfTESJ/C5DWeDgdvfPmXWA51nLEgeKjU0BSg3iBvv0h2Tn0KA5xCggzdYYXCf44Yr8jGFyxcioQoUQ00GK1PtY+9bNY1iSQOkxESABEfAiQCTYLAakgAm0QD+vhLg7C4YA8+d4T+Nl+5dVk/1VX/ijy03Ng4+mfEn/EBskJ5MUcIERkZQWQlI4ZHGFp4YN4DLo9qA/AcSCaDOKEOCD5IxsSPqaspP8nBtk5ZxC1BBB8BEgyg7VfACTELiFCpQZE/BxebT/paoyV3scmNPIWcUBKPkqDMFr4iOkgHHi4PqLc9eabrzyz9dv1ne+/Sv3h9flPq396+qeNP03hI5rabaDDAYE8YoPc0102d4IHI3s4HgjpwEd8cLK3I0B2zl1+sL0vuHVCOpnHMj7qAakicoEjAkYQbj/pHhBXSVSG5CTigIiPEhCYw18+jwhRoz7YwIcg0f7drXa+zxPujy7nr6Ll8/WrWSZ9Ve+PR6wleOQAIR6xQRrk0b1AtPAxaDE8XB8BDzaLAGkwSDKHpQHWLDAI4uepeGqnsSSQBJCCEAWKdYv4hNZA21WRPBleguiLekYhAkR8cOsiAREeulRciOBWGhFCMHIGYfXxHvm4yf3xylt3W174A3wgzfXHq6+EtwdfeK8sP562aYR1OhYi9Ue+9kgBER1uEA2w/j1AsGe3WpoDDcfjQArE+YiKkAgQgEE6Gu7vlEB2CINokjcDCOKEGCK0CAlxRMBI253wf09rECEiPIRKUoQQEPEhQIwH+UNRkT5pfGD5XC0eXgGQZ26y8+HekgwAxke/vXH33Y/98cMf0QDrqccckGdif6z/duszd931xJa33yvXz9+zKmnTpOiQPzqwhwMiRHyI1Y1A/m4cYfmeXW0rAR68mq3EQ7WHxle+DtIJIDuHPrsNUndZehYQVwh/SyJEWKwLEayttx1nPVvLhgvEux55QHSegQHi/vDQHpO0Bz9aN0/8sf4z8oFsubsYX334+ed/bLn1hx/eiszxxq2vCI+n/vojrj+e+PbbT7a8hfMY14uP8U2aRdg0nq8/mu0hQESHALFV9O4M0gqQpSNDpMPwmD/nMPJhCx8qPhCnQ3z8PwyCpxukdqUwBURViBMiRDDnC0KQQ0FIQAThOKuLid50NgvxyawYFPBx/YZV7xCQdxJA5A9PmL+iOdTEh8/uPrFl602fAY+btm59o6g//tL5oi/EVzx/8MFfL5CQLR99/pb7w3JTeF/+zXGdz/AxDmkEH5s2/fRV4o9cff5iIyCvA5BuBaK0WTcnHrapnbfo2LYr8IGIDPHBqD5PV9Kb786pVOizxCBIo0GQpEhHc0AECRsRgUS4LGLXE+L30wjBG4ejXSgkrkHi5ZB4lAU4Vr78+6OfbgIgwkOAJP5QwgXk4Sl/JG8PPgN9VOd3twQ+bn0ozm84fvePx165E+fvvuB8WLYEPrYaHsqm5zc1z1+9yKY0GoSEAI9u014fxKOHu9qRA5AcHq4Pw8P5yAPik7yz0SD4ZWMNgqQ7TRgfZMWc2HXaxx1+3KG4hM23+Q6taA9Iq52LCP9IcLz++qPIpxvWrg3+QFYCkI0/PS5/JLnXKnQrPibj1UHP1m+eqq6f/xHOp771qRiQP3g+9a08n/pDH2AJkHDcytbxyvr5mue/cj7qR1j1fLz21aoSkNcNkN8/ff1lMIKKAslT0H0Jskx72pH5eukD2e+A/dIID8X3KkbLhPyhyg6xZr1BlBQQESJAJBGv1KsSQfBbB0KQaCc8ivWl3Yyx5BCnxBDRn/0S57uvAhyGBz8wiJ8XtYFnsq9+b52ISBEJk7uTDoc9KnljK/0hPh4SHyBkfQTIq+X57X8FQJQH796q44je3fp05WoDVOj58tzZQK/LxKfhok7RIUCQRw0SMiJKZkYgYVO78Cj4cBz2jeBASntIIPJHEyCz0iBipNEgDki8ms6kHtnXHtoJT4uIEFQi3c1jaXSlJjhMHKsMDTyQ3x/9/dFHaRDxgcAhvLRgUw6RRwwRumOy5uQSsvGM8/HYX36/wa8oyz1PlfcbbBEfKtHFB8/qWvuc77563AVSuz5Yi8dPugpdAmEXIGSkY0gaBbLyuuuGfFM7iw8OroQDebCHnh7xkQJiyRlkFtYgiJ5egzQDIkJiRqrxPzqciJAQzfgOjSztYoyVxkdVJR18aIgVnRe1YSNu9XBEHA8hQjZif6B7hAfy1G8FHz8zb1UB+dz4QN67269Xe/Cpm5wPvOa4Rnz49G4tH/X2+J1+FB7yhwxCPFJImodY018r9f07N18HQqp72g9gSmHsk8bvhG4HiDILZ7H+Ie9cQuMqwzCsCCpoVURUvIErERFBBG+rIl1I1EU3QtGVYFCJolFRiS6kglAag7YadSORknhBxfuVOtVqSaztaJukk0bTRBNpNLa2HbIp+r7/eTPf/POdkzOJYzLF55yZxKpxkszj+3//NQoQ2ZEpSLYhHikSrxVJFlNtrL+N5TMkXY5voIcShIKYH1pONMxzb2Y+TEsRHivFDAl66MqanvjBlh3byi9DkKPlbTvC2If4okd+4ICcH6VH8OyjzfhX6MeeX7ds/jhtb+r0+iOz9viDHRCJHhYg1sQSC5RkXj92FV7seqzriesfvAhz2jnyYT1XEkRO8ImPaiAHBTnhf5MgVYKIk0UsS6UuOW1uJnww5HEwfzPLDk33qObYb3LIDkUI/7QiSHxaxtbveS7Unq+jAME9dyp6ZWltvDdDoki0PzXr8b/khnh9x8vV50eVa2eX7BkaGrb5u9nVea4e7/3EEZ5dUeOKmCBURISShJLkt7bm9eOlXese6+p67DLN2j3zzIogp1mHLqnSwjgJpApyjNQgSpB6axBviBQxamoS9PnCEKBhw2DIC4tsY2GcgwW55JAWqQlSfVoGQUNrgBv4/vhZnB/c9BaGUBGoYX743UskCNJi5MARmSG+Hbf8mASzNTN4Nw8N/eTX11IPP/5henh+LWD8ZNDpge8+TpBYEvzNg32SZMElyH78KF/s6KIgnHdFPzByTkECaYbEbsgPL8gx0otVmyAxJoiLECORxBYZmh/nCo4bcmg9CELaO+tpY/mig3IQk+MbKSLeT3qxav3oDwwWMfOw+6e4AtG5z1QEcvA2O3TVnl979MCnUX6Ua84fnJqa/ei16HCDmYGP/eYMfvxjfj2+K2AAPmpdSQ5LEASIg2UJW1sH1dpa2HYmGEnaug5+PLf6yivkRzRyHtchUdlhSI/cBek+QXgtZ4LIEzxy10zZqltviaWI94NwmQBn+Z4vQ558Lq8fy0cHi473zQ7jm/CQJUqQmvZVfzAEf1TYzamH31mCID/kR1DE5Ufq+c47jtYEyI/lI0ePHgr5UeqeLe/ZtmOz5cfbuH/4w+nhd7+SHhmG7JwZwAyVXTb9anu49HlNE2t7rSQguySZXxD4wQC58ZorYMi11555bTCkZmzQGTLPxu5+tZSvQWzTOLB8CcJLegj5YcQRQkOEF8QmMMZz4C8BCOVbb73qfBrCJtbGBfVjsV21XXXnfByuJEgBhkiPaj84LPIz5lbN7lTzCs9Ug29QwoZWnB/eD7KlOj/4CBxifuzwx39wmtfnrgAxPyw8svX4eoZ74UGPfouOSJOtcYJ4ScYIRLIgqauTd/+LwY/nV195za23nnfeteCShIoe58oQCULqESQlP/gQksRWhy8PfrxQrzN1a5N471GTxLWuFB+CqwQIAjqJkCfX548VWsMKJTl+u7LDpYd9pgAJ4yB4MxXMkH7zAy2GIZ7dXA4dWooOXkKKZOaHg3aIH+FH92uZ689996700AWy9PhsDzuJB7V8UHpYDcLvLaMGiXyxIIkd6ZuPV7vI6svoB/PjEtzUw2WICeIjZCE7/jRhglSjGZXZgsQpogIESA/AUUKbl3VJQIIkEbKaAZLNL2YHqo6c6IhLEEXI4ACPNB8YlB7mB8AaqiIPNy9/LUOAngVaWm77EvnhFEn+XP/ExOTktqztS/L7r77K7tnlkdbDKqgsQcRWFlxof4Yf05iTIrOxJUfyRgk3sn21+rLrroAgjA/oIebm7lodYoKQRZx8ID9cgiwf3pP0BDkRJI7U1OqxH1BDVOUHL/pxyZwg6+ubj/U7f+s5dlh8WIKwKJ0ZDmf+D2+VIeZHWGW4D4f/T5S/hBcWIOYHY8Sq87z9d4nmMU6WXrf8SDn6HLfVH7EdutJ6dosArSvlh/TQ09YwJNq/fUw4OTIlqRQkOYJ0PtL12A2PP3g+CpAzkwq9snrw9NRKfRGCyI9mTpDjchJE7cZo8wafH9V6nCo9jFtRprOnVwGSDe34++++5LeusrxOkpYE3wKHZzh8vntgl/cDDJTQ4zSx5zOfHxYjNdsz5J/v/OlUOcoP4E/G8aODQY8sfipiIB7fBDE79JScUXjY7MjHV+1v1DFPEWOE6sGiHuT0ePm5FHEzsETWhia+Bmm6BHEBIj8yBHF+ALc2hEQFiOr0W6/CUIgPEB8h73Kb2IMSo/p/inUYgouCkMPDRc7zGPR+YL3S0OTe0dGJbW+69hUf4cL4etzDm7d/yWuzn2bVH74AMTt48SlVD0yVHxqMj3eWHv34TjCmru9ViowtRBE6cnB/3kTezuce5ySTqygI9QjhoQARCxfk2E4Qd5Kn2z4u8sMJwvQQyU8zwKXqFEQBks/+/QcB3xRVnuQbQiqKFDh+Xix4P7AqfDcMGe/Z5vXQJ2wLMUfq3//qg+ztE1NXfxAd95HGr92/hRcvP0yOoMcw/OiP7KiXJJXnFpHkb2OymoLAkDNPVw8vH4HT60+Q/JMPmrMGqXfVrTsexDp3MwMkShGuVKcf1ytAcvlTUJUgSj2SMGQkiBiEIb8VC94PFPL7RjHA1/Ot2WEJohgBqEcWs3+irz8sP2SH1R68vR4Ys9k9bAM6VdMT+/k9FNS2Evym65QDR0RTDP18c1n/JGbxcgH66UCrzy09rAapW5BjowaJ3NAHb4j3I2Oy4qmnuPrDoB+Yj8XpWFcrQOrVxETZX2XJfAkShQgoYPwcing/UMeXRjE/twcNLRCHBy/cAkFS7/5Xvv7whxt4ObweU1jL/n31gKcxyI2NlB6ibjtYeOBnKjdw59PZ8jTOxjlLK2yVHNJD5AoiPySI/PDj6MdAgoCUgUIXH/IjpXkFkt6/iNPDfMUHH7zMpmEtWBNZkiWJdWShDIlSpMCdF4oF7wfq+CkYMtKz7W2LEV7hI285oiSpMSR//12vh62nrfjhHHnv227MV/ltwCYE2Pg59OCuWjNj3o+xXD2QHFXJXDfP4Hhnno0T9m6PwS87XxDpYYL4E6BTzyYM9zJSeRF6Ei5BrDjPFsQaV0EPQ23VS+cCpLNv0VR+s0ySbEOUItWGHB6YAkXvB9g9Oc0FguWPEzkSO5weAu0mauLrj/zjB5UckR6mSDQsOIFxGtMjzo9deOleDy+H16MSHX0LZv3j4fhBLEInZodYgCA2ip42Thiz7IPoAZ8gPj8UIBpA9wUIqQ6Qucs4DX5g/4YHn3ym719SSZLgiLdDhghTpIjx86mhFD9QxkMRrH86ukUJUtPCMkvslGjO+q23/jA3vB68Y3aWOeVxaqByfq3yQ3pwAPSVdb0LrD5Cl26f5FgEnVcnBzxzoa0aCLyEVeg5guTOdPcHgyx/gthkE58gvv5w4+fBkLvkx10VRYD9HLmBAxZNcVVhS2dfA5AjyJH5FRnDXWEGo4NQxPuBKh6KHAA9P76tIkQRYpgdugLaTitGWgB/ioE3JDysbXWIk4JL0CMtP7YOFLFwF5PPe13xkaPHYu2wRpYZYjROEO9HUqE3QYKkzDYRXhDpEW3bYG0sj2zBDg5YeMutG278NwHiJUFbKzVGcPMSpkgJA+hTQyl+oIxPFPnryA+VgRASWZJ0RtkH4y1VGA75ES81z0qQzUdGOWu+FNZ7+fzoH8ALHniqi8R6jOW1rfpkx+JZf30Q5OwzzkBLyqwwnB/1CiI/gD8fvWkSJNLEt7Cye3jNDy+JRfA59AOCPI1NTRqFHFFTK70OAWO8KsxOcgB9yPtBJsepCKqRzZoP4vLDEsRQraLgid3g5fUAKfHxcbmHy0r2FgtBD5cf/d9zbTv1IL311R7bmR4N0IPDhU8HQ86AIam4lej/JkG0CKMpEgQcTxYuiBLkLs1S9DliguAcXAbIDRv7GozFSHV0VD4V1YrsRRtmouj8ACjjR0cOjIBDcMQjN3yAKG7i5NDtWlip1fnn5Z4Rbqw1MYS5Iz4/qMfP8OMVqCFBcvXQ990YPcJwYWhkXQhDwi/bkB2LFsTvGSdJmiRB9DpSdm6IDz/IShDb1mSurYU4Qfri6ZQE/EwvvOkmBkjfv6czLUakiDBTUkqRw90wZHzC+TEVmJwcn+Y7dfxQ+Qvvhn2I80PJkXKAs+64+KjRY3O55wC9HN3H/Rh8flAPrhbe1Npl9NbZc9UHOxrDM0/CkJsuDIakUmOH/MgVxIgjpOkTxPqq7QA2LwhvVumEz4SGaJuk8CQ/HlrdkAD5s/PPGklMkSBF5eZlI2RVinAAfXK3yw/4QfaOJ0toJ47s+NhFiDfEur18foQrJvbjzR1H/jpAxkvc7c7nR9ADQ4Y/b3oAWrS3d/GiIHXoMfbNwYbpob7eC25KBDEdYjvcweiLSRDRzAmSSGLrQJwgINqmwRyBHDXMBQhmKTYOOeIUoRjpiowZh0vcYHfyZ5cfhGXK6Nwa8+7ylrjzKvxVuhxOEdmBJ58f4K0t5UMHAtOlgYL0cPkBPUDxHtphdK2rY9i8n/HRODpbGCEhQ2SEsRg//Dh6bEazJwhQfKQJQkPCBT9kiSfJmBXwg4JgjLCRxDnCWkTlek2I4PaOvNgzDfZW/IAh5gcEIdqjZKq7/AOTxKeHl8TXH3i4/MDjsx/Kh7T/3Djs0G70Lj+oxxT1aBctfGoFHb05xTmqDxYfjUN9vTcpQ3L8yFkKIuKjCY+5BMkRxAxJrghqE1ixYsWFIUCuf6Hv31HjV6f99k0RWOAMAc6Q3q4NL3MAfa/yw/uRhAgMwd/BRg/lbVve0aB4thvZ9YfsIG9+8eMR6DlCpieK4bg4lx9iYArs20ArHqMeLS2rVq1qa7uzrbW1d8mqD+OFxy1CvBf65KQFCpI9Ttgc4yBAL8kFSHx6jnD7xs3PCpBUIK5CbyxSRKWIXdGICG75ATa8PAJG8fZP9QOGEDgyBYd4xscATvT4xBfomrqVX3+89fmOPbOHwteFIOMT+waGQSErP7YOML+kR8vVV1/d0rJy5d1tCe3ztrFC51Vfw+lc/6AMwW811sM4CSxmtW3kR3MkCLAI4R1v2hAV6UaNH7p8zlYEuTgIgkkmjWD+ZhpKkW/eB+rjNUdqQgQ7dUgRVgCTzg8KQqbJyPT43ikKUixy74TCzB8/fbcz2pydD8PL8eXOH7aVZ0v86slX3lvazU18QGZ+7CqygVeCHgR6XL4SeoB76UdrW0fvvH4wPhqNlSEmiPdjwYL4UZDmcMOwF6U+Xi+IjxDzJJM4QDr7/nsUImM0xDIk3AYDhHQERcLg4GiqH9PjwY+E6dHJ0m4Kwjc239Mzhw//9Ot33+388OvPIEotb3754c7vfv31jz2zs91JROnL46sU+UUiPySI7XdXKLECKm1obSeMj5WX30Y7SBvp6p2n92q//Gg4G59Mi5BIjcUkCB9NnCC80hPEDxQKb8hJvOM/bHyAiM7KRwcV6YchQQ27KoqEuRlBkNau1lYq0pN0s9bWH8T8ODCi/qbRiX1D3wdBBsPbuTLSfThhBgwWhjGdhWORoSO5UuT89vPukEHej7h5tWtoL/vQoEcrBWHL6vLLb7vt4Ychx9q1iSHt7b2Z5bmVH41nvcqQFaAmPpwb9ayV8juaNMMsRYfGLZUgOYKcxEtQC8MJspQViGCX78HtNGR7VIgYDJD21uSiIvcc0ns/rj+mU/wQqB9K3QPDg7uqBMEnXNcbFmUNR4IAts/AEPB+1AgyXAqlT/eGB+5pbWtbtQp+wA7o8fDatWvb7sPTw3erCFmS3t2YzufUyGqQINmjIE0wF8sSJLmFCZKTIR4viAXIUhFCJHRnVV0R67rayRr1mHZ1dGya5tt+ZHw0ISU/cMeOBFDCT5T2dTMXCJ5tDr3AYMtu0yMvPwr7xsOMrE33gDayEvEhPUgb/FiLtlZbe9f29LlXrvxoLBtvgCBmCJlfkHglSIogosnMiNEL84KI6gUhusyQzHYX/IAg/3kF4r40DWGIkCBH7ElvB/VAf2kLBJEhHRt6kkpj3OoPFyAG/oRMg3EySlhgkKQ5RYIfpGj5AbLyo9A9Gr7ooQ0dHQ/Aj8SQuxUf5FE+PYwIuZsRsnTluWF9vYsT5NhNEF4miI8QEWeIPnOCCAuQjX1LC7uz2MySHBG90APjCStXtaxqWbMmSNJBRza9HGZhCa+H9yPWQ35ID7Cg/Ch0j4dcenkTXkor/bgP3Hvv3fc+TD3khxShIe0dS+2HeO5pixD5Ub8gfM6oQZpporvXxMCLNUO8Iid4siv3ECA3LUEXlvv6amZJjqgS6YAfK8WqVWvWrGkleFuue6R7NDnIIPIDV6Yf0z4/6MfUAvPj+9J00lXQfQ/1aG29/Z47E0HWGpADF4AhaGS1d/Quix9qZF148QpAPeoXRHqIyI5mTxB9tI6sRghCP0IL63FUIEuLNbPkhdHbNefH5TQErJkTBI+nOJOR73dsd5KTHyA9P6SH8qOYkx+F4kTyn5jufqqDepA776QgayNkBz6GCFnZvm5Z/FBPFgxpjCBqYTV5DeIjRESKOJwhsSL0Q7OwloHQm8VaXbdCZB39YL8puGXlylsUIh1zrHtq04SmYY2O05BF1B9E+TFv/1VhqDRebYf8WLPmZhQf98KQDc8myI8APkkE6dhe4weHP5aCq0NPVhIhpofzY1HnSmlIrlkaWnoNFiWqQdIrdUdmhix7gBA1s0AUII9hVJp63HEHDAHIEBjyQEUQPB7ZtE9vd0x+H1lg/VFnfnxfLLEmp4E9mx7pMD3gKydcMUCeFWufhSBz3L/2flQlt93drrFC8+ONpfGDS0MoCA3JrEAWu19DE+z2k2ZJ3oQsZYhwhmQIohL9hn+ou9eftso4DuCJiVHjXacmbkbCACsgTCbKBsni2OZkMg0bnbF0xdEwMsqA7lZhkJPGphpSJqsEi2NjIbv8G3uhL7ZoYsJ08RIzNV7IYjJjYmL2wu/39/zK07NDtWxG2fc5PadcnFt7Pv09zzlPe1BA/o/Yk4Z2QQGhDwhp6lAhG0EEQKJR6WjZQnLhZ7O745I7X3+3iPFHnvrBqI9Pv7j8/Td6RekPP0iMIC4fIOtHAREgp0TIW0dlAKJC+iHEwSjkjLt/BR//UcyMk4KA3F74tW01S6mAqI6/vSC0Gwg3XiFeILaHxTcS/l/hSUN3DflEC0hTU1MHiXSYGtIcFB/BaI4QHFoau3BR9/XPLl7+nsXkq5scf1z47PJP/ExgBNPtP5gmDuUhf4FgsLkZPrZiUgl92GRxvNWP5aARgj7Wfzz+0LCE6CikoBEI4zmGlffCOUuuglCJ51psnhknFklhQGwPa/HHeEdHx5EjzISsNeNzyNm5s4VGByKGhixnUECqnnne+HgzC8TfHETeCIIJgu5WNHp45NwsPz57dvLSF6YQcC/H/v0lXvwXPf7gCcSLKEU6XxHn6r/8YDozokG3jv/LqPAAEH8WyCm0bISHCGEOchiy+8xifYwi44zrUWX4k7MFZ4ucLbwZIN4KstQ+08Q1CvFWEDYbbz8rHxBr5EEF0jJaGAlgmEilUul0GicnBjTDErnLE9/nZz+6qpkzkef274TwjIirgFRV0UfTm+ShQgikGaEQUiGTzOTY5NwcLxOOHD9+6YKdqXiOk62+oBVcQyHP+Q/lgZj5WDphmJ+q8sGp6Yxk3kcsSh7iw89s3So+NBaI8sge6+0ZKcAHRZDB8UQ30omZwMi+3OzOJhrF4z8xQTL/8JxN1LuAuGcpLnIi79I/hkUl+S4IffNA3kn9nYvxcbCgin3EEI/HhxZIHDFQMrMy3ZW5ai76MWKeV/Os5pm9SCGsHywgA1XzQAyRNgHCbKSQbKKxybGxSWRubOxcZmTmfGYklpie5gDbNVVRp2DRDHNhPqgb1CE8EPq5DBoJMZHRxEysj2bjAxUEQxA3EfWBleTtg46jfSzrwwNjIhWSOSt7nNzgobZxhh1nWKOvRkCjj2keKKMv3DwQ62OhNxMuGSd5xiBUnZsbAAIfBFI/nk8GYQiLoXckQ6bpik15II7D53EgMzl7lTFrIPn1vezTiuc0ljyykBMIyRaQES0gygMLgfh1xxQguI9VNDk1NXnlyslJMBn7PDPz0ey5mcOSWCxx/PjxWTuXVyJQ7GRFSrFALn52ano6oQXD+khYH8oDyfrY6/HBHOwRHrTiIDJM986/MjKiqBN4dJ0Fs88BDCzSuELi12UYUnbnYZLaL8ex/qUK4ulcLYk3EnqPYhVCxI7TLRAbLxDvMaxR0kjjuYu/ky9DWS64aHR9RUVJuVPu+Bxk5PPZqxgZzF3l+ICbzEDuCx8CJ6GkMMktIjyYJcd4W1oUiBJhCMTv30ghwWaTyMzVq1NTJxEomc2MnB8b+2gmamKccDefYT7+3QMERJDp6enjiYR0pNyJjcSgI4ElkYzFQrFoLEQgykOEdAAISkiuDyHSk7CDdQFifbgfXFeBWDj8vhph4EMWmyEueIEaGEiDiVvJkZdllO4Fkncir/DQeH3cMhXEczW2xQGxRB7MAtlynY30PpaMfNnPNp9n99fXl5SU1BYXO2jcI86NAcjkHMLN5Oxh6wNA2LBoH8EqkYNZBDIAIM8DyPY3xYcIQQVBuJ6vJD2R2bmpUHLyyiQyBRkZ42O3NTKyQHRkkTccbZgkE5JkIhQKRdGCwcj8+IMVhEAYdwVxHep1KOQw3/9xHj50GJfavc9UAqy4duPodw457WyWSBzNwYtP3BePl3PRGBu8aYYH3kjlIBnd4gUiPBYJRHawJTk4dyvhTXnkKyF5D2XlqSEK5NlUjo2B4SGvjQNcDoADbu6sXVsTCNTW1obD4eJw2AmDSGZMbYiSzzMD8eHGxrIyp8rB4dsB9BwGHBnbo1GMUaIHszBEt0CUCGJ8IATil/T4J5LNzaGpqWQyOROLpoOpzIx0g7q7o92GSQzRgpBBG2GTbhMiWNBG4OHwCBp/anLYbBLZhCTBUDBi64cAoRBvJ0sHIIf6EdPHwsczwAdxRE3diOem3Oqgiy6nXeNkg+JcXm7WcS4l8ZKKkoqKivo42lA9iNig05We0B5sSoEUPE8Rt7wVZElOw7KRelZoBaEPL5D8FaRilM/eRHqL28YBNnf2H3iSbT5FRQ0BJGwDIy9OjfHo0i+/zP2C0fP0vvJyn8/nVGLk3eagvSCpanH1u6LsH0CIFJCyMgDZvl186HHejdgpFYif2SOrPc1RHDtIRaNpuEkLj06kO8gAiDcJE8pRIUrCk1AyoRkkD/ogDx2AwAeEmPlXVocexiIPHspqb+/rw/59hh9fMnokupuDOeXhxLGXl5eUcM+XkBN8mKCKdLW3d5FInxNGq3VKyotRpwFDQiKr6+tr6pGh+nr0crHYxAXJ2SMVCuSGp2GpkFulgCxUQdhsFgnkQQOk8ex46oX4dTY8gYxHkCdNW/bk8uXLq+vW0cc2JJfIG1OTEILMXRmb3l1eW+zzVVY2Pd9GH2wOiklVC4VotJRMjM99MmJ8VDbBB1vT9UB4h6GPrelmP1raj2xsjgRTnZpgJ4WEcmV4hMRYVjLcqqSoaSG0aAhJINOJwcQghUQiwUiEOuzfgEAYuBAelgiVIBTCPtbHZ49098yPOdC1YhUwqUXXNAwG7I3h9/vFRxfSLku/Cgnj1whk9erVJZIA7tasrkHqa9ZCSL0WdI4KmaGhxvT4eJkdpN+xSCC33WIVxBYRFxHRsZAQ9ie9QLxC9Ey65B1tnqw4sAIyVmCleXjZsmXLd1TX1W0IBF4VHqaF5dbXtzHJw0tXfhibSm4p53Pb19eHUTds8PY8WllZma8RaRmmE+w7ugIPpBJhBWENaRIglkX2HjZ7seYW9/wIgEQ6LZFIJISwFsRCCWkh8rBA0DczMJBQNCZDDYYbySCS4Ao8xIeLR8cerSAUQh6yMXn3Le7u8MEaYqI+fHEfqgZ38doAlrAJftWIogpZadr78EeEGXRjS0trakohpDSwGq000BCoCTSsZfZrhmQlg0R54rSC3Mw8ReJY6m8mVB6iwxWxzVXBQDTuEiJEvHkFXVhmxSsrJA9nw6tFP1ddvWrDhlcRArFGEGrYGEomp5LBF3y1xbXF+j2kr4mbSqfSJ2lkylpQTPSmPsBDK0iTCCEExIzVZbunAxt/+kS6Y08HBwMQ0hyJdANIT2dvb09ncyeB2CS6ucZZODuwIBEEMOjDsgiGsoGOabSsEAWiWCEkCwQijmqzYTmgkTCFSMCjsdFnfFAHGh8xhp0rGjnUrzjaPUJApLShoaahtCZQWloKHkhDYF3DuoaGorVFRfvXomlkrEgfK8y7Cm94nqLWj1usghRyOh08CgZCIbDggcGQxqOvPKrBxYueNsEl61e+9prwYJtP+zbsEJLw9sri4lrsBLVhRWMDANBRjmBThvH7sCwtaLZ8MLaCMNyID3/Iv/VFnB1JH7t07ERbByIVpBPpxRTbvT1+OhEgthZ0d4fQBhPvo8EHklQfQV1wSwVDbBEsocigRIREXEAMj1wgWkQIRSvIIeBAuHOrkKqyskYfUl6MYiA9U/LAI4ZgxXT1H+py51AX2JAZgQQgRAIZhkdgHVInWV6EtnxeyCPsD8vVdDBb8WYn8t4CQxDlockRYpXfGBAVoqENmycQPMSAARqap++Dj4ceWvMa8qoKsTy2qQXsFus3r18fWO/xwbTuLM7GZ1LmK2O4rZSoDyFifLQpFPiYPHm6mV8du/Dbh8f8+AHsoIaAiH9vL6pJr7+XPS5JKEIfIgRGsHkfQlAaDJwkGjgw3JCJ+U9kRR30YYTwBIz60EH6QeuDIQ/dvmsqiCScJeITHj68blCIPmK72ndho0D6SSLHiNylMvlTNtUGUC2K6taBCFxkeQiQamY5IqsnkWWPoNY/+ph+ivVdNwxEp2HdUhWk4FG6JZIPCIVYIG4bDzzxQDaP3U0c98kVVO+//6HH1ygPAnERMRbwZK6XbIIYC0TptAoNDE+RnTt3+lwBDnxv+85sBUGPjC6eUR+If+ratT8TAuTHP/64lN7K13I0Ctlr4t/r7+2lDmlaCiJo9DH9Pvd55YG1OsItOBhMNfOeZpB5H80AQexJEFcFQVwdrHflKK/6QMOuz7rp80GH8bGNgY2ubbu27eKGR63YKOSQFSJGONgXIYEGCAGHonWaDRtW1dVhWVldvWMHb8pkGfPww48hcukc1BALpJCP5LU+5LYkJ7kvFNHhRiLAb3RC1oMIhDCWhuCwudvkHoY+UD7Eh431AQ/qAwUE4TfnfbTzJ/JKuKlWskmEaHwihToIZD7XA2nbmjwJIKc7kBMXCYT3jBGbXhLJ7vmkoVVAhCAcVWgJ0QE4VoMhv9wRK7lCkAiFuCtIW7aC9NuTg0d1I0LaXenrK+a/UIBwtNZuygfClfGgQoyR17u6XkJj2hk+qgGWjGzgY9W6VcxKZkdOnkNQ6emDl0iCkCyRgnzkryDWyZJDkvu2wpwo8psBQiE2IHEvg61evStHCHw8BR5IDg8rhD7IY9P6zZs3r9+M78uugG/KKyl9tOKnteoDQmAESJSJ4sDSisaFw3TxAQEKJHgaPv5MdsgY5JuvjwkQtxDogBHDYzAiB6N6B3u1giC6y7PrhUSy8af8/MImZHjw93uzFYRv3vJUkP633DlKISghdnSB+2F5NcBR3Vo9brWrCzJQP4QHUVCI3uUX1KEr7aoBCCIdKgqhDeFRRx8rH9+xxgqhDwLRi6PfSSH5gSzqzehL5NroeYxoCfFUEJsC3hfi7mSBiBq5l3M/iePenKu25QgBD48PCuFNfEjII7B586tSP7SAAAdDPICh/S8JO1ytrUCiSlpboQM3zZtNz9CHvHVKdszQt9eunTztb8IpxLYTx3SQ7qkhpoJowIML7vUSiCHC3pf1IRXEH7k+KgQbW0EQJXLwoKkgWPqxtj2so2jZEqJlgTt4MdMqPPgD4AAPRE0AhRIBC36JNcqIhMMQAtESUg0jyMpVtKFZs+bxx9cgSuTp+5++HwV//urPHiHUkWeeoifu8rG0K0ieo1gFA/GeTieSnNxJHTlX27FA/qLuDl7jqsIogONKdGFhViHbUIKQQRdSzEoqSRwG8tpSM7U2SkwkhJhmnE2CZKtIFmM3hiyaZin+NYIrQVy6c1Fw063nnHvefPOZl44DLqbn3nkTJyJo+vPc+96byVtz5CEfHI73IfaxwdUVc58+1B8cDkDIxk3w4KhDImtgAR6IiRQk3Tay09VSSzXy7Kdn3/c2eSNjewfrnZ0vmiuk7NJP1k/Ios9kH4ga5OSgh7HOBtFDf8XxWQDBw0BWcUWSFdJuj4BQCMYgN4iE7NEBIx/8v8EafQgOVlZK4fARRKTtOV4qL5jIloHgxK46xAke0FHGcmtxcbG1eIOZgxDkTQsRkemAuEFm+UN5X/6mEOi4vkGUCUDUIm8owIEJG3gYiKP+mPPyyjxypKGsrlZWCERkrMY6+F21R0dKLGQDDz2BCIaRfMypPYj+LHZBZLONdT96AyeQupvlNq3Ntp6CiJFUENKnjp4KpIwDDANRJahDvLrS5MFU6GPdu5AnZY+/u47IR6+3CbQCIiEFyACHIHKKw/if+C38p1hbKycstoqQErWFhIQRqOBffMSBr7EWMzEJ8SrrvULkwfz8wsI8QhuskMXlVotGFgkEmQTEPjKQLCQXyCyewQoejSeyEpHg4UwCEr8LIZKBeHm1HD40ImoQ9UMHPgDEZOhjixO5X9oDduwjSsRCPBT5IBD1hwsEX/HK4eYmfURcIkfCQSQVW0SFIAB9Z/cgNQgKRELcGus44r4VHPA1Hxby5OLsDEZ2d+Wjul0Nnzxb52cSEcjRtwMO+bCQWGeN/rxjK6KQBxZL0SBuDz3cGV5iSYjXXRKCKuaJ3hBCIu89UOhD9SEei+TBw5zCRVYtBAkhyYcyaYcuHbPcINocKcmIfUwPxBkHYiYZCOtj0T4Y+8hnsgjgEXgQiF9xfwSPzk3yKMNEcrIQA9F7Q7rgsYNnACGJFPKQEBBhiexXFYE4vRMDOdhNQIbDof8GhDx6QIFH4YIpIOcXvz59+tsFGmQX3wOQ4Q/P/xzuNDVIRoI11jfHiOrDwerKQmAGe3RtPtwfSiFxTCEio+/tFSNbNZBHAkIhjIhYyCIHpjJXhGgXMj2QMJLLY/Z+d04m0nQxvVnINECcaxrEu4/l0GEiwQMBgEc4L59vQDGPtfviwXzAQwBpNOIUIF2FUtQkIxUf5wJRg2js0EcFIF44mQe+/qrfr4EMGV4VlA+5YFQjHMrBLoCc/fXixYvfzr/q7+JlrK+ePX9+Nowl1iDz0IAMESGQgXiUBadgDMxjy1uNCEUAB4f/6viUtVKEbPM/8aNcIQ7WVA9a8y3VRoQ+LMRAtMhCMpBJBZIy+w1ypUJo4/r7TXCc/BFyISRl5GOOPgwkGiQTAY9H4HF3Bd/t5AKRHi2+cOqePIKIlGikDgkftwhEFSIfcIGhQwp9YGJAyD5vRde1dM1+zwus3uVJAFFcIKLhJ0wfENzRdf7LC+TvC6yx8Cp2IMMfzoZVu6slFldYmAPOMGIkGJj04WBZFZEPbzSSEa6u9uK1JERAOvXVEArRBY8bLWWRw3GDJCDIS4A0/t7n5quEs3cKK4jEiISORiCT33sbQHKuLK9sJDWIdiAflvpY4DfjDhTYoA7gkQ8A4aP4SETsI4xgcrcOICgPTDxKfQBN4bGhp+gQ8WCBIL6t0btvNwjeYnV5mYHEHVYoDgOJQxFy/vPfFHI27FPIKvYgn61Xbe5B3CBGETn2K/xqzEe5Djjmo+j4d2gD3xrpGBNy/04Hi1g2SOqQtyEEabVu3Eg6wkcjkMyjGUhTg8zYm9GvaZCcaxvkv398Q96FOK4P+GDMI4SEkU6pjwX0x4pe9HUREFmDD9YLaFhIZ8VEMDjXSASH7EOhC97Y66UWeHiaB2YYgZA6lT8GRWsm2OiX+7OGl4AyAqIzVjiEjFwlZZU1vPgDPp6enRAIchs22nx01SDepStfD7YCyZ4GJJhHfb7XGQBB6o9EhMNCTORYQO6ARwdDQCjkgYXIiDOGIzYhGUh+J+HET8PKFTLjDdJYIRbyvwNxfZhHCMkN0ungR4b6iP4IIeChzYd2Jw72IQYS53tzi8AHGwQuoGOJPhD4UPRkJJz2cYR5VDfIfnlz7joP4MGBO7WGl9ql93/sl+samr2mrGtoG3J+8fvTp788wU5fDVLdJpEd+IBI8BgP9xeDCITsSQh2HAhPRW0XIQP7GOH4BCMTKTmtF1kGcndFiyz7UAwENzkgc3yM4+DQ1fTpgdjIK9YgppEiHU1CpgfC1EBSfYhIEhJG2PrgAR8rGGOntXix8MM75oGoQzDQITdlRAdFDZJ2IsjIh4SIhvtjw18FkdwgO5WEFCC8OQsPrrFOgINE+rvA4egtHkqFEUY4tQu5uMBHLZxwlSYh6hA22pGi/nCFuBzYIDxSw6g6timkXBgcYO+OoQIRDw4Z0SMToRBXCIBQiFZZ7zNJCGMX2YcaBLkeyKTfmZP3IDN4GT2I+MjR2CCZSDOQSBOQWF6xPpIPJ5/q5dbbPlKBMBDSKT4iWGV5mXVTNdLUIiayBBSfhw+GMkDHJYIxViEgEkJitdTvUQd8PD48/67wAJCC4zM8iopVjHEhn/b4Anch/a90NxfymIiqNsPN0Q50HA0i5cb0AfvBEzpwcMhDPshDZ4AlRD4UQcFULOTURHQ5RELuqkIeQYiJjN149VYoAQs8mHwhxECmvoge/TGjN2Ihcf7gSoNwTADSROT6Csn1YSEaeRtyVz7AY7lWU1J01Ksr+DGPFdSIiZBHEFGHlOGAwS3euUgOSway4SOHieBoIuThqEEc+FAeHx4eXPZVIQJCQKVA7II+MFOREIhyUoCwQETkVhck1R+YDnAoJoIBDbRgH+aBqEO4+S4+9ujDRhR9w0LsxUAQn+o1EN7lPhKCEIabw09vBhD4mAgkJxXIbN+rWBO5ej3d/yrT3pCVhTgC4t3HVR9KCMETf1DgsZB9UAc3J3fMg0BGRhALySezZENH+1hSXQiIXYwKBKss6cinsjIQlwjaA1NQ+rgS4gYRD82qqFgVjPiaWS1CTsiKudogSOLxdU3ETeKqEBDxUHwNkRc8oAI8tjUkJFdInM2qgeAngf5gDEQdQiASgh9cjhdYGcjk27Be8wgf5TjTDYK8rEEwpwGiXAXCqD6yj7RTj7xbfPjFeBeVfazIhyIbnIyFOCaST/nCxxJFcMiHsQhIdMj4Kmu8Q6qiQz4QEXncR7hHR3wul0CQaJAokVVMvuoKKWusCv2hAgGQL7QFCSRFx5c8aO9hH7QQ9yBiukMG9IHxiXxsS4iIaFzNJzWQhQW0NhMVQiFv6e1RBJKRiIe3IK9PBBJCmvYgs3wR3TqiQBqENAFR/jsQ1kejj1hiRRbexY9oXj7cH86H5NGpecwLCIhESokwDcssC1la2lAIRFQi0KHNuolYCEskPs23Ts2jQoOED0WG5MMjAh69Ms2KOXxcjRoEa6yrDSIgDoWAx+mxOyQuDCrgwYAFedzDsJDMI0oEDQIf+I+Nvn7f77Y1EAjRLh1ClDfxkA2EPiatsBrfKMWk3cer0SBjn5A1+b3pIWSKBjEPAjGRSDaysEAf83w5CYEPBD6ggz40w0daZzVdWOfEbb1LnwcQ8YjkEom7TjiUBAQ08KgohKmFrGpKBfsih3e19/iEzf3uqEEOCUQ+CCQXSO1DN7T7YuA3AMIGcUZXOOhjUG/ewYNTRpTmDoEQFogSQt4pQlotnciqgTB6sg3GW/Spf2uneczyJzY07NONI3fI1BViIM4VH0gikgtkef4d/HwW5jMP0eBYuUsf8wx95A4xDx3sA9NCaiD0sYahjUfOuI6NuBoiIl2MdlULqcyDwxViH9KxvuraMJDI7cJmVRXi4J8gILe8xLKPtEPnxZ/CA0BGBXJ6fIppHzz4zVHbjIg8pJB7ISTCv9YzgCwzvHEXRDCQAAIh7IxwEUBEJPVHBjL5NsWZ/K1S1xIJzpNuWQwgEzoEoQ+d3J0TD8wwkguET/CBsD/ypRH64OYD+xPyUFQheac+6hDMvFv3Gss+OOsmgZqGDuF2HbGQbpdEdrxukpAdDPhIDXIIHwiRRGXwmITwVVWIfUCIG6QAgZAvEhA1CITYiJZYNHJaIhyM30nLqyPy8RADMRELSUQMJH4cFKIQCAIfrhAXRu6PvMCa/uPiZvozfxqvF+b4vpkpgWQhrg/6UIJGEuKafyAfV+6Bx4M8tAALIHykFhEOC0kbEW9FAERvM0Tsg1+JTET9EZsQBO2BQEgVO4v9ffyxRvCkX9vcLz5gQy0DEu0iwyja/grzNo7ahUSD7AsIfPBD7dQfIrLFoYAHOwSDDeL+cD5CQoiA2AfGw3sP793DKqsQSTzgBdkmEP1cNObfLyk+Wu/hIjqFoERsIueN2KFPBpJXWCbyahSIeTTf9N54HsuZCMT14f7A0KEZCL75D3dn9xpXFUVxBEX8jEbBr7dpramMVrCpLSqhQavMgxqi1KElmI+CFJToQ3zw0SIo8Unw73Wtfda9a87sM7ljnjKuc+69ExMVmvvr2vucfc65W/hghm4++JzFY/11MyITmZUIaSEy2vNiQ5ACMPgJHS1FWsf7PSHBSOQghRACwpyEjJAQ6UeiE0FUAUSGEXwIkUIIvg0LyYDcKICcBB7HMhCtLyYhYSKaBgEgkvAoo7uo7kUXIFAXZe3UHvIteuhgSkBCt1i3yxDXhFxnORYS9YiyXBER0vbVNpDhzX6oWTwu9lrCRQ5SE3KOE9ko80H7IB92EHZeVtiH+fAAr/qXoAPq3WM9EYLWAyJEepmQEdwDHRrRNyThgUt4RN8nIcIDHVKIFRSQD1bAFwt5JD6YgLMbkNthH3z/eUengaCRkBlASMgNaAzbEh4OsGgcRarAsoOYDw7sciUt4djt+QhG6CFCxHz0BjIFH2vd72edvwNt4KBxrACkVF6JCuvJYT4MSMrQV8xBvHlDXhYyZCEZEeFhPuwg6G081tbvdnywmRBKfCBxNB7K1YXIfLZuD2GyLj4kA5LXHKIrDzkuURZqUsJE5AHhI6CDjOD5sMRYj/imYzYwLOJTTmyUT8U/BAc6/zFFQH4gHoUQARJjZ4ivjksZL3o4CCuYzYgBkRQzQQcUfuYAbSrtABOaCAGh5B9yEALyKipJXNW+fq0bxhIhV0WIl0dBAmRgCqQRYa2ug0TLDjJ0IlubEIdXwUflIC0XwWID8MFlnrdqB6FKdHWL1hEyI5dMCBDJw73VUiqah2bVlYnwowipENHuDlpjOAEi1KHwwEUygAf7j4qxyIdCKDgIaw9pFoqwwkEOcYmT22EhwiMs5D4BGdtBCh8ew8IlwUKyg9A+DorCb8I6jIg9RP7R6WBn+tVbUWNll1+/G4B4LywS8owJERZ82kB86PPZVSarNENY4SGJ6rpk8VyAYPRKeEBcbGNVaQi2JwMe+Jm168gKnZTU4gAXyTAeLUTsITYRu8jmZjABARXxwZYJYT/++liFvaxrDETwynsDK+o+LsVY8apzTly6Dx6CA3RAQR0SD3V8h4WOBREBohDrJ7bvSAhbqMcD9QRM05ODeOqciohsujtLSPEQJSLR7CBvPcsZQP2ewknuFge5NkOIiksyIPlU9OXrFGOM9+IcS3gOBzEdBsRaGGPZPnpAAhE7SC/uADvAx3uY6b1EPqx5RKRZQJSJGJEAZFNI9Kiw5TCL3fXvhY/9d/i614DQSToLwUPf72oPnYIUHaIV3QYhGMhiyXzwAUDuy0EUYgUf83igwRxSEhIO0s98THcjyPqy8hCZSPARXYLTPHjrWS3yDEU+cleAXGeMRQmQjhBrfrMflbkPb/Zz4YvcF3KyaLpw+en0LvswH2xNC+FoCdJA8dGBk+3j1jpXf/Z4oGdE3qtMRIiYkE0IUEAlU6/KGW0jlYkAj9CkbKaF937OQhBpdQ6CJx1EWYZAKAEW+jwjEWOBEDICAZAJ+AAgUOBxbANhDiJAIMZYtYP80gMyjRaEAJCakTYh0+ktAALJRSQQ8sa1fj9ezxZ68ry1G9Z/3o4X/SIvJcwG0uZj+SMLzYf8Q6rg8GwhOvbNiL+37oqPhMcl4BHJhwF5nb3GA71OQ1IiAkB6JCDTkZflBiHHmlYXIeMIsYyHAIkQ6xEI+TEcRH5BQCYRUM0EWDfQQYcUWQjL5YOPkxMDQjyESKicstUDQguBkoN46uPgS8RXuxUeO2geyqochICojCRSEWn9erfByZoBKXx4hdSSgJiR1apSbKm1QRY1uDqdqvmYBUQeYkiERwRX3EBuHcNTwqaKsfBR4dUalIIsUyK1irMEiPiIZAR8WE7VS+9kRLxf6W0BYkLoIDIQAVLWl0+EQXwdYGAzFVyERN96SAspMRYImXEQ8KGtfOpR3i+3gxDVuLccRCO7haXaQoRIrR0DIkRMyBvEY11JiGoUPf0xtBVWzkDyJPqFOhh9KQfxIzvIMCDmQwGW8UBPIRY/AY/nyQfwgIKOwEINHSp4rK8ZjuimI1oLEXkIbti6FyIoAsTLDtlFSB7O6vEgICKE1b1skwkJOQlCwAinMxRM4TkRB7xpOa0IQRMhBCR08hCAiBDxgZ74KJoHJPaB6xwkJEIWjWQZDzuICemTkeuhqy434Y+dE5DHGhnIhd4Na5GM93DJYgLE/lHbdXEQdinokH1AtAZxEyrGwYsCCmvSupRNpAIEPU2JBBHsCrbwYHcVil2kLjxBD92Y9IS8A0DABvggIifEowzW0kCk7qedf6CSBHm4GDEgIoSAjDtAIr5yiOUkvQCiZVLVPIgcpEeE62fmoiw5iPHoHWRuR1hp7erL16+KEBa9v7IkIDnAygsJV+HgnMSGG/vSB6cbkDYfNhEbCEU+yvkgFR+EI54qMTUe/ND0EBdmSSkVwVr1bS+kAh+5DKWaNmyVv4+LNzBe0sa+vACIkpAAhIYREk/+Eg2aoAMV+QxLuqhHcBARMiEfchAbiPD4HEWbjrHmhnkrBwEbAKTSTrIQfHEwfXDr1WdRmTuHSPnNXCUdAgRSkl7lIOeZRBciqzKLnjwkyXQkQKTAY4iPihDhAYmPaisH9ijJwneAhRGpHQQthVlK1tnlILxt9XwEEvEUIRmRdg28X3gaR+CxT0ROGGMFH1ExIowmjKgcYtE2KNmIEAEgD+UgAYgcBPqOzdOEDrGUpsdYr3OQPsYKGREzknOQnSBkDhDtW1ZkQp6/2p28di5AcoC1ggYy6yBsy2/fwGdnH+LDgLQcpMYDmsdDIkdRLDfLiCQHQe9UEYJu9ROG8RAfnmEXHpkQT6pT3UuNC2SwUYcEhHgEIEo3CETwYTqimF2I9IR8IUJOCMiJAREdR6CDzQZSdHAAQgzIZ3/IQaCKj5yDyEHMRwHEeEA6mkKEhIhHlPTmECvjsdSJOauyDqShwdNCMiDcq1ezgz0fdOkaELZZPMr5IHz5nbhXoq9EqZzpQFtLHpIAsYdIAqSAIj7a+/nmPITa2yuAaDhKARanD+Ugj9BOOJkhGt4RD+KDrdfX3Qf6CwE5ESH7AGQPFWD7vYEchYM4xJLKEWv1OK+zdGu3NYoViOjaISBO0qvtYXtEXuoQ0UTIICDDJ+aspoMkA1n2RDbzwenz3kDQEyHCI/iInxMfNhDjcUt4kJCKkXYecqm2kAoRbArkaZHERxCSjxWpUxEC4gSc9Vm44eI+PSQkhqIO7/feEVYx4yDskzFny9EcZT2EOgfBfw+A6GzS3kDYjUdIh+TYQQSIHcQ2UuNhC+EHKAFiRroj8god5wbEhPxvHER4D5+n4w1O+vISyA6Sw6ygQ/ZR82H/wFNpvPiwh7QGs7KH5PHerS0TQoGTAQ9xBbxEQGIOA/dJmEdMr3P9BlQMhA4SaBRMoMo/WGo1Jh+4yUNu3wcgdJBQzNvTQI6PtAgEhEQOUhNyIAuxg/zCiZCMSD9buGNEFFsJkakBaW0yTsFDakCCj/NOonuOcGWmQKw0hmVAzjwY+gkbiB0EHSSkPL3DgxYefHS2EmjoLj5Qhi2toTnKShaCy0NZQiQMRJl68KHSky3CgavtIbyRj3pOZFQA0fjsjYADfRyEdHycAJBuNJcPqsrPx+iUAHn3xrvYzp2EdHwEIDKQIwgmsshBdhVjgY45B0GfRcRDvOhU8GEHyYDkkyrExwv4sXMAIkZqXfBjCZc7UWeZIKvmw4DIRFqKXM98EBAp4EA3Hs/iktoeovreXHfiOEtDWX31oh41I81ZdX0QIWO987gKHyE5SARJh3IQK+yj52MshZEIIAFiQo4p0hHNOTqbHYT67Bfgwf5L00GsnQc7U/NREAk+7CBpLS2aESmExBne2qbhP47w4pH2c1+VMt7sIHltoRwELQPSz3/0f6KzeCRGtOeYAizw4SLfSjpM1YwkEzEic6twqziLiGwVH8FlOhYhUs0ZUoCD/Ztxhwf4gPCSG5BHaHAQnHMot8BdDPQRFq2DZKBT9JPOQjo89ifH4oNsQIUOWYh1UNQ7iJP0SNOzzAfUDWCdDQjVW0lNiAHJRe6Dk+h6qy7yTqPLn+sJDS0M6Qd4DYgdpIUH+WAGGC+/8hLCUetV4kEttJD58V4TUpr5sGQiFSRWMhEhgtLfERCxgYAOtQBEFlIcBIETvUJAUA6w5B2S+BEhQoR86AR4mAfrFPsIKzkIYizAEYREMZYRaRJi2T8ixHrQBoRysPUC8ICe67ZSFB8ZkDyClYd4L/6JIGebyMLV6S1CxEfTQdhbeMzy0RL+eeBRbKaXx7LW9bCaMyIGxHzgYVWIZAuhNonJCBbSZ9ZRMWUHKRYiPiYEZGxAwkGMBzTa29OnK2NZyH3xwTJFARISHqGKD1kIjcMGUvjYWcjHtCZEeNhBmoQYkRcKIM/F99IyqWBjYJmU4fhfOohCyWFA7CA1H+SlZHnmQwZSOUiPElUHWTOEsDWr3z3i6wlDS7mI6ZgnBDd7iBewg5C9DhChgdveni2kEDIRGrz1hAgQIbIHQiRZCNQRYgPxTiYJEPIRDkI+wkBU8N6XvBsM6ACP2kF0UUOAUCIEeEDle8sD4gxk5ddK2UHQW1XveelUzIAkQLAzvh0EDdKGx93YiPjIDgJgjIfr5pKJiJGzShd7RiA97CQtC9lmd/WiNYKNjIqD8OJLPsYBCnsUADEfJwYEd3IQg1UUDYMa0UJwKxZyhYSYDxISjMg/0NgVYkXlCPtUgMT68uQgB8TB9YmFEGgWEgdYEWK9KkDMhuX9lZ8DIFTDQB5vAOIAKznIBT8QZBkDiUeKsWoVPjIgMhEzUqSBRH23P7go0RF5vFToMCHCwx6yZg9puwjJyLEWL8vbn7i+V82F8AAECivYAy173ANbgJiQSe0gfJqQ0Ohr0IGGvkFCKgvRakICYkJsIURkqpl0yidGQVz8JETISGkBRZWEJEIICIuxKtUb+8wTQv/I9tE+78AOksp4V5SRxzzSW6sPJ4cBwekqRRFX2T34I6JHgJAKSvXwTlSMSFG2ECUhvARJwsNK+8Cju9S39hGFWboiDZGDoCmd4MaMcILRLCD7iLAmQqE8qrRF/oF/Rx4yoolckYXsy0Cwo0lnIOizeCjEAiIHdhCqVLsXC0GXg4iOyD3gIW0HmWZAMh8S54EDjzAQAyIwljrz2Q6yKittz0rU83Q62rIOkk6T6AYOKz6ECBq67ePpBAiUM3XXv6ftTvK8+lyYJUBMSKt+MQQ6qNEeY6LQ3/+USClGfwOQ/UIIAbkCGGK+nCGWgiwBogwEjPC2AUA2gpAJCQlETIgdRHwIkSkRMSDWt1DhgxcpMRQBzAIZkCE++CsGIC8293If5MMOsiobYQ1tZN3cqndpB/GrXSZpxYcAcQrCmz8ETJonkRIga+08RHjk8ncrAwK1tvNFnxUNJAABIoTk17/ubDJvx1UA4buNdrhPB7lCCvpk3AYSURXJoMgHAdkIQKD9LgP5SYCIDeNBEQ/nIDUfcSgI+w4bJTjYG4DIQAYASYS8+OKLCZBldqs2IqtxIMiwgwj1czmIpF3zPaoefCiDT/Lx9IsIkQSHPASPSrWJXJvBIy7IjERL6XomhIhobBbXz/9c2YtNTMEHCaFKsWEAEmjgXgZ0AQBMRTIfIISXCAlEghA6yE92EMnz6FP2hQ7CttO1CpImIIWPDIjpyHoRGp5Et7KDrOZmDbnapDmdrnYGIGakPoNIfBiQChEPdFkmJOUhabzXJmIjyT5iPCpG0BMhuNS4ABFZCB1EPvDBCAIfZQfT4xJj4UZAwEcNCPkgVRsMy4o2N+cIIR4Q+WCSTkDuJDysqfj4fhYP9IOKkVqZEGUgywHiHWtEyBNDgLSLTP7fDvKY+TAg/TyIR8wzHuZngYM4ukqEeDDLFmLZQdpzhgHGzfduvq7SLCljkk4BNSHc5QGAbCirwBsebznw2CQgJOQn8nEYBiI08PrLQiIs24g5wjYhCrIo1bofgRC0toEsykGIB7tKrRIjScSDuhWAPGU8WoAYkYixzMfZpx2kFH11DgQ511a9lB0EegIyID0F/UN8uJSxdhDNktg+zFfykHpOHb3K1G0hQsQeco2M1GGW0egfBqTWtgAZMTEfgxJgwa/vbFICBHjENvCFIJAAQKAABIRs0ECkTchR1gY0loUcVxPpd3Z30YWH9cAO0qFR77ZLCwlClsQDE4UCJCUgxiPLeCx75HNBYyW3Mjl7s/e8BdAiQISIpMrojg8DIjzYTYcWG7QAMSHO1NnbywwdZDkNuXl6enrzptYZCpVUppUR2eZVdkFhiEVENkYU8GDHxe2zekS4ZpYIgQwBQoMQIPh3TQgYEyJvb9BcQEj8R4QH+bhztH20u20DkYNQXHH7LQHJiFgkxIFVO/2wgzx1BiCJjbgPASILWfWtTAYPhj6r4sTVvE9KBZG4q6ot8eEpEjRIfHhJwmCQZRNpT4jU9Ys8Eeb936APbzoXyXzErRr0NSZvwkP4MkuIrtBCBRD83U9NakACABFiB9mULo8uj94evQ2JkM5BsF/dURSBhYUQkXukQ/rqAZZAFQOpHASdzXiwD9iHHeQZ/rKWNpCSdxKP4Srex1bzSMJhPHy0Z94DKGchkECwtKzGCbwBCSpEifGw9VitCUObiPko9xoR4fH66x+dnv5GfXTJSi6St4X/pAqyyEdJszGiRTQKILYQCBuUkpBiHcUjAhAM58o/4BzUm4HI5cvAY1QIweqSnhDaxzZFPtCqGIsn0tUhFsHwh8pDBvmQgzx95ghvI7rCbQiQXIMlTv5XDhK9Uh7HMiEBSLU1fguQLOGRAWkP9w5WZokPdgBy6f1TCIBc1unq5kPNeMwC4lLGAKQTyNgWH3SS4EMOgrc8AIF6QMYbEO4yIHABPtDwASYSDhIWoqVSBOQbAnJv+949/H93wYj5iPPoIgdRiGVGbCWmZAAPO8jTDTyszAf1mgFJfOQR3lU6rnNptYeyRIcBoQRC+mNNgGRCnH1YbQ/B5boswJGWiODKMyIEJPg4hYPgy2Qjc4wYkVB5zAAiOLj7XMRYR4yx2GLBLPjgjxgQfBoHJSPq8igMBAIg1KizkDg1tCPkzjbwuPc5EaGD4ITfno/kIA6wKljkIYvx+D0uSoAsy4el7GN4HaFj9VVdBjKwPB2Pj1NVrwGBDIP/VAcAMR4VHzkPsRoWYkjkIbkG/ib4OIW26h1K9SjqngvWi7xpQMiGCEFTjBXh0QQhlgAhGUrDQzKQy5sj4oEeFqIgC4BE4bzwAHJ0kC3oE7oX4NgWHsFHAkRQVF8ajzYf9o8Hb2VAmnBI+Thba2CnH95WePrjTFA+zlGW03TKQFB4draSATEihEOjwechhMoeYkTijmPdPiIhf350Ke8vJ0LitgU40palvLZAyL/knctrZEUUxn0gPhCF6MI4KK2x0SjYMWmxDR0v6CAjBowv2sfCjeLWjRsXZpGVjUZEnAGJZjOLrP1PXIggiBvBBwOCu7gQv+/U131SnrpW2/hK+1XdezsxyGS8P79zqk5V4Z3PkuwuOvfDfjxZCPCQgQiQewEIHk5I8o+77pKBEBEaiCEiQqCEiOUgTTMYNPKxNgd5J2MihyQmIhGPu30aZNb83JXgaC8xKWcgC+YgMhAAsuUeQsUoK/xNtgHiEh5SJcqKhMhEKluTjkDIYH283pvQ0e4jg3x+nWoSJuCBr7fx8SjpwPVoF4DIQZhecx8HTKLLQTThAVIoPAkIRDxMd3XvQgcgzETuNEA0iEUHoYUMQIhtegc8gMjkTOzpREhGR5kPLY5C96HdHJGHzUDywRVXxT4CIGX/OPUl7hVQyAfUPhsSj2HD51ZAcEknKrUiIGVCfIGIlPPhkLiNABBmHnmVb24jzRPnP3wb7+LASHGJkAaAEA7GSFSXbKSGV/lVQ4RHGkIC5MHEh/kD+QACxEuAOCLUvfwhEgJN5kFSjDWgDFQgspM6xB13w0x6RESECJFoHwyvHkaGjuVSAY8aIB5eoZccxK6Sf5zShYRRU+IZXm0tb20t44p8GCDZ/u76FAHxXWTUwId7e81DWmfVC2lIjogRgg5ljDgig8cuHBy9311rwgJdqUFABFmE1KUSIswQjJA3ngcgiQ9YBSAAT3ZXAMVE405+y/gIiJiFkBD6BxzEYywq/UGEhzwkIBLxkLQCvYQH+t2cRZeB1Pko1/DWHURknPYSrLYZEbDx5u743fHuHUaI0Mg8RIC4IiDRFqiwgcY8mXpevAjFREQKHqJVua8fHRx9dN+gNMOexMQabzcAMTjERzcB8rwIeZ4RFm2i26UvEAA8mYWQkLty/ziX+Njgj/CnjJDn3UEwjiUHsRKAs2SDlyREMFtYz0LK9uF4tM9/zAeI6Igr0RcsS9evs7W8Pd67eHBweHFvd/mKUt17fl6hPtQB8WUisxMiQMLEem4icd+s3+8MlKfrg/Pv7184vzblwx6SJSMNLCRN7untZm+6yN7NQUgI915MgCQ07A6i4B0U6XA+mu4QzS2EgHAFFu2DTYCQkJUexT8ZsUATIJxRFyJOCLtYkQrRlZS2EE/uMQcfJKN1Dj0UYS3OHHrQ1vLu3uHB5998/82lg8N371gWIWphJ1Khkg39eoiluz4Aj0wzZ+qORynQCrPqUppWz6MsXgCkueeZbrPiCqHWsEtNAqxmyFv3XHPWYyx08SHvwJ0PEZI4ABBQY4ScIyIb9BATATFC3mCE9SoBOQtAej0iMhrxj7mT6ykhAgx8Gt0gUaOcj5B+TPZqmJ2PmJ+7ikW8iz9PeNnld+zuHXz76zH13aWDcfIQkhEJkXJA3EEkQeKVvgVC6pm61DbcG/IQdLSVRIgGtNRXtKoqrGB3GRESuOjy3W6gc9MYi5m6ABEauIsQKhvB4r/AmhEiRMxCkoGo1uTcWQBiFsKRuN8j8trOa44I5Ii84GrLPjh4ldyjOj/oCgNY1fxDWqAirOAfW7eND789/vnn4+Of0b49HHumLgVAssnDkzWMmYQHNbOHhNrFOCXiIiO5+JoxX8cZ4Hm0xWr4bPl6OAu0STMXFl0Nm+EQcHQbOYhZiBFCPiIg4sMQER/oZiBGyMaUEK5QVIj1LAFJFkKe8Ue3GFFnZDslQkSM4MoJCXiIkBRdGSCz5+dxjdTMOykuqINwdHf34v6vP5uIycGexnvdQUxVQChHI92vlubIQ2JlVlyszns22ktAhsOeIRIiLVxBGSCyjyHQwHWOeJwA5NXn/hAQwyNlMEP6R+pDMkJANsgHATFClIOcEyAJ59ESJUJEh7UXTY5I1T54cJclH5X6xDkAKc+AnO6d3CuALI8PfoF7SMdfHewKELARlMVYnqY7B5n8H1QJaV9DFaKs1lnDUW+p98SHr3zy3kO9Xhj0xaV2a4kSQCENuw11ttucVSmICIG4kYPl6AKkcUI8A4GGQIOU8YkvNihZyONmIZaDGCFTQJZ0FDYQASN+VLZh8pojEvAIfMg+Jn/b9QQk8iFlfFRPyzn1m5mUh3h39y6d4IMWcscWfn3gUTm60D3E1bJbRi1Tn6O6N3LSh288duHo6Gj/g7eyWRHPR3TL6BAieJOTAAUa2UB3QPBicwtfStaRHiIEFyU8DIxmKHWJhwDhbtnkA0qArAEQ2N2I/jFdGCZEdFg2GYmIcPiqnH0YHko/eHfNGWAFOKjMQE75eVKtYoni+OALBwSIXLp4m4pOyg4iQigHJKpGSAQkIuIeEjKR0ga+vaX1C0f7IOSnT4YjBl3RRYSIHi4CYm81mhkH4ytrBERpOvT4gwKkESBDBlBTQiaMAQ7iIXXXN4QICAFm9CO0ZwUIcxBmICIEIiJihHeIkZYQQRl8xMPFmXPfiTfwUQGk6h+a/ggTIIuZgVgFb4qw3EI+ByBxRr083GuA5BaipoUiroqH5HJAivudhCJ4M5Cl/uj+jxIgHz9mxEQ+nBC7ufg+p1db3sGLDUkI5CclWDUJUCIhySzw7kuKr6imYZcICBGxQsaEh3IQlEquARAZSKLDEREeU0KACBl5Goy0DO06HoGP6ghWfYJQisetLcYy9JYYa3z4+fEJQgAIkhD9DXiUFQHhFYvgpQog1SgrDmeFiXX3EHSoPxr1H9rfN0I+HY8ICFugxK+spFGvc3cIKtbY1hrcWSRlhDwLQNBYf2UkABBy0qWmgGwowCIfuhl4w/V1EWJL1UnI4zAQAYKR6WQgchCJiBASZ8QQkY20JB/anqEKyJVzARKnQJyRRVlHGNdLbV/89iQgx58fApCwx0kkREfrSJGPGiG41wmpz4h4oDVa6t/7/hENZP+hkQFS3q1Ul7rsZI2vs/FBLghHokSA4P/3eKkh42ODDgLrSGnGBBAAQEJIhmjTEyIiIuRxdEPEAUl8pMmdiIgLhHDYV3otZh+yD/zVzsUHNVMJVoyvFqi+5PeEbO8d/SpAlIMsX7FVOzPEAamoPQ/BVSNEkoUIkRBquZGcGb20f/TDjx892Vmyd0542C2YifPBD4MGGrKzKJ49PWUh2gTeAWlOAOKEbKyTDwVXgyHGcKeRljzEVvESD65FJyAkZOIfYsMdMh6dncZ9d0ozH2nsyvmo5efzT4HEId5Tvlf1H2nrjpNJCCbTMZcuPqqEEJDpfPq0ZWrP1CMgucqlWXFGxOsXe0uro/tfufDeY6OlCR7uI1CMt5yTNb7JdoEL0QHJQpwPiIDgRwVIMyHEAOgmQNIN0JEQtxD+80QI9agDkuhQhCXx1yQi2dnZZiPwCtwDHp591PLz+flgC1qkCveCMFF4yWIsdBrI3m4GCOkoI+JF8HULaU9E+JSqhAiQ0snR5AMvWL9/+wMdJOxnRnkNit2KUiKyxneZLzNqa9FXBkQErREgEPngWlwm5xY8bSQSJllIdwJIY834YDEiniIE3Qoi7WAS5iCKsW7FCIPDkczR5Iyg48F7ksHifAgPr4CbIz+nQEbEI1dMPvA43eflVISB3s9SkHXMDGS8jRQ9WkgEJCzGLasGyLWVaXWpQIjepqTVm/sjjmT1+5auZ3y4gywV+aCD4F1uKJbXmtxBlIXgrU77MTDCIiHrfCRCCIj4IGSCA7ch/n0TD6FoIfQjXs9OHMQGsfg7+G+U/ZoiAg26JcmwOTl2JToqgFQCLKBRzz9yLcpe1X+g7Wmx4tdfHr67bQZyRTxBvUwIEaHmJcRRqSfrN5QgkfrmIwQjiog4LwUBEDrHwPAYaN85fisBIg9BbMTFuHCKlH+vdxsRYrMczEAUYTXEAo2QpI8OSJdbQUBwkKfkICDEHSSnQ+dIiBDioZNP+T2Q4YuinA4DZD4+CEjOR5wDicW7C+4gSEP2Dve//P6XX748uJgHWJQfs9XqIU5ImZTqjGGdEC+BLxMy6q/30mivMRJOTLAmPEo5u61booyNJH7MCUG36kOLn+Ac9Amf5+iur0+SD0Jh6tjVGU6CLNrNoxT3MpGDMEuPdAgQExEx+elDJITYhKmPvy8/V4V31MIm6JO5ENRjXTw8OMBqEMRX4iM4SGsaMklEnJS6h0gVQCQHJGbrdicX7354vrPKVKS/ikgrP0A6+1gMtVZ6cA6DZCXVxlv971pPgJAQKU0FggAraXQLIR9DBVjgpmMtqek0nc5wkxZigLyMPeNgH0hBwIgBgixE0ZX9TpLG7sAEEZnYh58RqUiLS84rfMxbgRXjq7KBLOJeDS7bsmH7zfF4fNv28uUFRQeJVVlUjRDpTxPSPiciRlb7qzfvXXh/rGDLi+EdE+ejfCLoIBGyYgIvuIwUAUIZHgAEshiqWV/nY6BiEvqHUhAKUIiP3qDTQR8mQEAIdotzB4EcEMfD7QNMKKZyPHwPfftmjsec+Xl1G/eMj4yTRVpl2767IqwDHZ+jJtHnHIBU85AaIvWJdQCyutp/9/0LBETyoqYg4ZGrh0VLTDmAhA8BkxBYiB+R6w4yMEDwAAUKnqAh1RkSj2EnBVg9a/iKiKQf6RIR2AcJeYp8ZIC48CsKEInRVSZ965pc8+bn9W3coeL6wcUnJAVauPAsySPQWLaIPlEdEalKSFAwEeokIg+c3+sUinx1tUtWwlXhvHJuVsxCRAje6Ze5Vn1IQKj0UBbCl399wsfUPEBHp9frdOQhm5uWpHDTUSp3kOgdkm8yVtI1QYGOKh71kwjVohY+vnJCttLDpEc+2NtecyLVTGR2GykD0p6u37h602pfUbwTogu3AhZqkAAhISc8Jd0TIPIQEqIoqueAdAwQNHMQwqH0g+ZhEiFDJiJEBIA8CkSeQps6yNJJQPT7iY02PrKl/0U86nzMWYEl/1isbbCqhLBnxcsu/1v6rwCS5ISE6fUERkZH4EQ7lyY+hIdS+qmHZIBwHS2UzKGzPhAhGqGC7GuI3sEfkjom+Mtmx0pR5CDGhwDJ+PD0w1U0j7kBER51QFzRQBa6CKtdOR3OiCvOhkjVTL0cZkVOrqsjEjdgzAp9IyslQogDAHE+3F4ECAihdFKC6g/x0wRjkNRokgMAaFy3B5Ehg8NutBVoE5hYRb3hoRQkByTEVhU+KuGVNI9/SH/sH/8fC7ncW+lMBLV5AJEqgFRnRCIhQsRFOnChRSOBSogYC4kPdH4pKVlXFsLOZepWXmIEGCA0Ch+iAgFmIQkPPkwihJ0yQM6+TOp20FYgD7GuD/Yh1eGY3T/4nSogkY+o/8EIVhsq5Ty9biGu2S2kCkiEJObqrqKBiJOWTF3+MdIgsLDxPF2SgRAM4yKlGYqxLEWnU5AN9kz4uiMNDBBpZ2dlB4AwSw/JecU95jeQ9K0qH7nKBrKIm422y22z5CDOyN9gItIcNhIRuVGtxAkVOBn1RsbHKJ9ZjIQ0jQyE6vCZUNkUIOYTvaA+b2dECAgSIHSQNUiAiI/5zaMNj/hf4ZFHHhEhxU3icjDUSvaxiEukZiWlZRzrXwck2kiaMQhVjIEObwEQ8mGAuIGYpoQYI9gciKKBUAM+cVmaLgOhQAJaBsdoZB4SLWRnbWelBIjD8dcDAjyoOiDOR1hmu8CbVVfIyFqMsqKHuJJHz5mpt1NSC7TcRqKRlJQRoo8jNC4iiSIgRERqrIzEAdEHlpIowBIa0oiE9EcoMu6dOXOmY+qlGnhsCkw+dpiCgMe7CUg9uKrQUQ2vrhIg1wKQWnglPsrbxC3wGqnZSKFqeXoEBKp6SB2Q+sR6nFtny+T5euAj/1po8Ip8iBAxMmjYOoJgSEAoAqIcvROiK1wkpEc+0GEwA0rEkY+HHZAYXc1qH3X/ECBXu4PMMIBVPu15AbfA+mssxHR5BZDgIX+ThUQXKUIiQlrDrRsNkMiHJyKOSKo9FCAeR3H8dnMzGQi/aa6BOxrQIB8UCLFu3mOpB/Jz8rHy8MME5EYH5O8xEAFC/xAggY/6FLro+N87iNgIjMSx3pCIBBOZqzSrnqzXSuHjyG+UzyTmxpIBkhGieQ4OfPFd740IigiBSI2iKj4g+5wIkWwweCVph3w4IHMk5/Xiq3IOAlgK6YcD4ssccjj+5w4y9RA9Ih9s/0VAirFWmDtsJQSPYhbv6w6JidZ4GB8jdhMjJ3MQRlAppgIdRAONXYAAKco8JHmH+Lj1nwbkahhIFRClH+VzDhZ7jdQMKk8XFhQAoeZFpB5ouQIhjklZEQ/3izz0giIhVgFvhHBUyi5yIEIkAtJPLWnJrlU0SoBATM2JCFMQc5Df2Du7HKlhIAiDQIi/nUEMItwA5YkXXjgJ978J3e0StaFi2jQehGZSGWJPFnaiZT9Vt9t2Pp8/gZBC5SPHg+VzjvJGVKwJiDqILkK/m/p510HQASPiIDVAqASQ8VRE03UhhFbCoyMyEmqEUMjIDQ4Xxm8DEgxQRYrhYdUGD3+tKwH5CkCCkG/WyQHJzANSPhSQn3VCg0MXoQsh+w5yN5N4ewpCevN6UwtRROrJOgFR9eIsqO8hpy0Tq5YSQUkjhGolv+/vGx9OSvMQAGKCe3whHkYH+AAh9tUo3Zt3OCHWcz4AiMOhqifnOv8KPePD0cj42Kl/3PpOP5nUQbQeUiCkPuBLJXEWN5rrOQkMxF+0kvX9b/yEiFgTWNhveMhICQvx33cYSPBBhXW8X8M/HhFijdfu/ds6IsbJZzeQBkjCRsJH6h+QY6EZSIZH6Cb3cS8KP5SdWSf/IyA7Gbu/KKBhihYMwD464rTfmPjb0nI4g3dCGwchHYiuAo8zPASAmPU4IMaGvwgI+Lg2IC+gHiDgQ5+zdsv78NaqIXQQqmQhqoSQUqSVZ+y681xCCNSKiRFSAYLWwky2fCAxh31AQcgHB8QJgTX5GO+39w4IVp0LHgU+nu1qYx9pDV3xuN8VIIODWbqPQ56pE5HJA765jfRrIzpnK0nfwYjvgOhcRNN6UJtHgtgLSQf4sM45GDn5JSPEFAS5vsUfNxACMn9wV+OrwhJCGsj9zlFMKuq6V9YkE6EK471Jxp54CSXpuxASZ6ch6LAuwijWAAlIHGfD4myQNJ1Ofm6AWKd9U98OrgCIwJECInj84SbuR/7REaNPcZDJich8Qpiww0s0xkpmyYvWAMRkeX3YABDZA2SjkwuEXC4ByNm5eI8jALF7rPIxnn4EFaCjxwdazT9u8kFSM8ohmoP46dqATIq0aCFSaVcLASU9XhoA6Bom9oeEAI6zvawhHOADhAAQk/MBnQHIG0HjHwPCCOswkLFySM9B+jPfZwVZ+qyd3EkEkDTYysVF7yCkpfberkEEAWH6YQjQPZbQaXFCLh8+LOuCkQF4yDkMpO28O5R61AMsBUTzc6mgH/axJ1RMvRmb+66zsgYzdSWEqtuIzmfEgZ4JzbgCidVBWVenADA8BoRwhHU4Ho0Q+9xlcUK+XqwJ2j774fp0bnw0C8nxIB+F/Px5Vj/X5xwcBtKRVAuTFYYUAJlgIgkgqYvoKva6l6wmRFirsRIgeExFQtYQ8VgMDsMw+AhCLuvlsph82/YwkTgEkCvZB8kYnF9CC7nJR6H/LRxoehMX1UPyZbg5IkUPoToe0igRL4HQSwGJEAtB1hleYVeDDxufAhtollOg8Lb5h72cEMtBAIjLLMQbASTnI8Uj399H+ejMMHl6u4+yncEITVY9pA4IVQAEGgHkrR+SkgAUgIFeCklkHchHHI4TCPkKPmgd0ZxgHQsc5M1iag7y5u3J8fjkHmJtFRDyUQZE+egsIbzjbRo6eOgCEYrDHSOElIazqIyQQnWkmMC7hbDvJ2ticIrx1eKvCK5CgYX96luHgPjdwEPAhwCicNQHrzA7MeUDeGiJ8J5nuCcOgkxdxZyOUkKIyHwboTJAVA0HOQYIWX+5ENcuKAAGL40N9w0oPjHO/u7jxwUPNSAi1n1LQGaZB9WwED7S4SuGWfe+yLawxFA8ZMxEEkAoIaRqJLuAVBRALCfKfcIQaYAg77A3lmosEVG5AAfkFvJxASEBCDMQEJJUPkQjfAAQtQ+qm57f9wqpBA80u4vUSUc1zMoJoaYSEmX2UGfZbu8gGFQYhgFyifDK5ViEvGMHl0G1awDEBUhOXUBeAY+cD8VDh3eVj3yLn9t/DuGMRL0dOpRVz0NURUDqkRY17iFLlDYCC3aMC6uQBxnOh6mRZyRAvBUAgs806zA67FwARPGoA6IF9J+Rw13vojjMCDO2P6iHMC+cQEgh1FJ18BgG5I0BEXJY3FMWaxoWkXwHHDFIBecgH1ADxK48phKAtL8podUEPiDBI9vi55jiPkIHOoqI5iH1TD1P1rkbfB2SXTqoAafBiO3GdhohpANkRAMJIN7dFi5lpsmrSuVc8w/qT+IrFonv6CEHRXXmLSLMymvqeaCVD/nWayO1uKtrNRE9QRtAEFoFFVs83tnxiJB3y7t3/haAUOAoNQ9ozDyK9UEmH4eDpGwwC/GTRFl5TX3acFY9Yc8RqatVyBsg4IGIxMeQDxLyEoQIIMJHffCqz0da//gZXh0DvLnISOhJrabuXQVEVQJEdSVAlu07pBpe/wtA+GWGVmiodybjwL+ywSMBRPioA5LlH4iucNz9Lj+JxEE6NfUckhoh/cLhqxIhqiohvGSAEA8K336zCioA2XwwM3QBROgo8aFw5Etsjxm8FUZ2xZ9ysSJSn32S69rB1sISuQKyu0AwDGT70QCEf69gHsQj54NsdOvnxxL0wuKp7s7vyTOoapnIHEZez5XufAhMQEefDwLyEHy8FDgFENAxM/uQZ6v16ufHJiYlRKDOUz7zsnq9sJ4jkixjn8RHj5ANIJaDq3/wfh4cEPQlR4nrxEM1YfCKdKADyTNA7vIxnfU8XRykkIfUCus5IIUCSUUAJCGEiQfB2BCC6wBEQUqTjzogw/XzIzevSCxE6iGTCRmvrudR12QHoXRaCdS7kYfOHREOpeP6fNBBDjyq+5zQQbJ6SL0iMn/UVzUtB1FABAvVw4NzgDe/oJSn5vXBXSl/9OvndjoirGoeQgPRPESVEgJIauk6VQCkREjnepTHUcjIAXl4zRveANI1jwyOfGu43D7oIMcE3pKJ4NyJsnCMIaKE1BD594TsX+V0kpEPD0L4fmMgCR7jfKh3KCHqH+Egd/6Igxk1QzhJUg+pAaKqAnJ1Zh7/Y6+O80pKyN71PLqqAzJaAEGWfn+PQZ/DhzpIsttJUhEpIJLEWXUV+KD4dowQ4CB01PDQ6KqUnOO/95h9NSHa2mck8xAiYp0CIRUbwbVrS/jIxPtNx3XnD17tVT+go3Y+oyDytDvxZJAQtEJIBsg4JgTkP5Pf4IM3vFdDo6NZfFBCh+wwesRWfxtoAREcgojwkYRZ0wn575hQ54iGKvBRnlwSJ4Wj6Rjb/cHeGeO2DQRR1IRpWCwIpIlTuch9fJ3ULtIJqlOl9ZkCpMtNQkELfBLfg78YDamlMI+AxCCNIfn57+wOdwP8IDHEKMspCLOVIBgthQMzxgEIOeIE4dqcEyQVuYaOj9lxGuKv1ZnBwltNxDMQ5EZA9aH8sA+wvdzk8kfkqjrqO57J0jsv4vuMiJE4Rc7NtvUxMgz6P1iP4PDoK5+MUgkykTVIuCpinCVjBNNZ3mIEDDb1+fFWJmIjBBm0Gf7SA4d+1A2uyos5tsoF9PgzDK3GE2EIFClv8YYwVb/X395ejr9O0804rebFD6vi/RDhwYZY5OPn8cARM0G6WEHAaoKMP/98fD2c17pHERrBgkCNcEHwbZwNyfMHBcF1SAlno7u3ZkeH6dYhiSNH6Gg3Znw9/f13nNyAIVIPfjbFlx0eOfq+zg+VIA/ZXQJip3zPcGeWqEPgiB0jOkdchogE+HL6/XH8MdqhIHPD50dddrAfvao/2A9Oj9xfNBh8qriMKmS6diXI6/h+eh8P9yTIrAYh8unzaLi91+xetPvf5aoIcChComgWg6zp5eUwiqJD+6DFAA43FkdyOpoTF1eW5+FwgpRXXhMJFoSJEASM38dpNeQQL4hWI14QGGKSdhChCYIIYTCXVbEiAtxDLY8pzGTHOATxrLhy3ooGVzo/OECywx2EJwias+wVkfKqJnxFNaKJMmRVPyCGPzyAGl2hfdfobs/JqxXpygt99BAE144EGYa7EIRmrzhBcgvFVUGC4ALCEVWLEA5DtvfluZIaN4iFGLW1B+Tg3dtz+WMz+ChDNiRGEE3bgjyCVQXp4Ih59mAuoK9NxxdT1NCOsCSBOaIJVCEkO2RTu67O7Wc/uvRic/DpE1yrFwIMiVMl3g/Wwu8HnXVe2brLchQ7MkA2gAu9rmCtrKcgqwtCrYksSW7OsDHozDIkYT+0Jb2sRrQiTeC2Qw+urD3h7Px4KM8OZv+VIDhDcN+J7qxqQc73tiC70OQRbCQIDLFWP7K15DagAb5uPwctSXnfc46EqaHl0Isf+ezg7UDVZ28JNJ+b14YQpiFNBcqjF6mH9gNL51Zz4oV8dnBD2BESA4bgSkGiBOH0sFvb89nBm4EaxDrNUFcihHCk0JQhPjMYrAeyG9oP24zzXT59vjX0iVNTA7jGkF5O/PqJsSHID0gBQRx+8JeQctwWY11dnButJeFpX2Z/gjwBsgOCSDnYECb3ZmiCbn6vM6Q2RgjDkJ1h6EHUrQva+TE/1zk39wknvjdrORWZglwvCPmxIHsT24T/gAH2Q0vCmuzVEzW00nLUV+fLHf6yu/3mIDpmZliGqHKdFw7vwZBQP/A5Gn7Ak2xObIqLIZ6jEmxJrInfXZjyBGLDQ23pk72JzbH4czUhNrkWIy2zU2tXhkg/evJD6aH33MXgKlfPW6ObyYK4tw3ptCDcyng/glCdpQVZznVYduSuJS0y3wdg2WVdtQEjsA3ZyWBLBQd8oG186ktzu/oox9bm3nDt0eGNxDCWDf2KNJslMjdIEKEH2WHGB8a32brbJiVBcAS3IYowpEYT/AOe3EiXJ81nP7dQgyA7iFl0Z3a0DdQwHCE/HEHSiCGVfjA+P+ymXdiRCfKfvTPQiRsGgmhWQvz/J1cqbodkzrdmcXJJ7r2VICC1ukAeE2d99jlRR0Rf9cfqGmzeX5CPj7og+d3VdktORh+n5yvkFfzJug6FFKloInZXQtlxSHpoWQb25Dw7ipB2qOGjCbKqgiF1RY7x43OCH5YdnVsrNo26EhooNj36uB+5JO6Ju/Iq3Ao3w6mMzP35LglyDWLxBOmP1suG2JV3CkM+v6H5ZO3zsB9uSDKphImJV2IzVm8M3WfFXQTRSywKEqt6uiB1fJ/pw+5q12H9e9s6IjY94jxH3BRnqi7FeYftyLzIsyOyu6tFknBXdUVWCzGZHN0ceabIOQ35NCzYfqpHpH4smzV32bX2kvxPEJvk6+SGSJOyKc4UEfpyDKvhhoyPzLmvuiihBPG+oSM/ZhiipRrbcYeyH75t4CQ/YugtH6HxOb3BaxKbDQ0VIf2RiAyJ2YLoQ10Q12KuIFLDEsRbH6H7K55dXZfwCVp95Efhya/YCmLa1MkFcTXGG+bjUxL/usHMxFuw2XhYlRoyGiOOxJhggj7rg01aFx81P9qJq7K+OY2Pe6H5WSnyI+cj5wBBRO5F7ofJYQnConC3opcgPV/WA9WyIWJeklhezPNDhuSrMbTRBxlyK74cWbM8T5BQ3VOQUOmLnhvrBCFC7oPm0FlljREfkNRMcQpudFwoB4edYkL7gfHY6pas/tSFGHNEB9MU0VWfClLzIzNj0A/9NdFeOLTO70k8LmGKJIZUXKlTtyI3JEGqsJvabYmNKp4hjvtxbkOG5Ej8yPYxYHLJXdn+mlXPOyMyRHVRQdqpJH7IDNsKhzHIO6AO8NhgZMiP44VxIQp+9Fg8Q9hN7Q3YjizDgiQxxEscrci4F63cECF86+CFrXDei5UWw5T9cHZWIvcjf6bLVjjvS4zvUeVJ4oZULJnoR8kQwzvmOtBPjHcPvgmrm2q/RLIMGWojvlyQUFlLpy+HB8jCVjhvTKQN9jxH2jdOSHhlNEmYzv722Hjdr5OxJJEw5/AknlXe79CskgZd87dk2w350VDkzIYU/DBTmNIOssT663mGiObHaQyJ8n0V89nBedwFsz+j+VSUp7UnYTXuh5+h1CBBIGmw62CIs/lhDEYIUsDjENHtRGdckhpSrGEBvPqGZPiQSy1znuzCCp+IV0mQuiHz/TBBRoRhYA7P7NBB5cmWeGWClHTQuJyROeQRIlU619VsQ/xb9X86aobx7/xZph0yTSoJ0pdlX0e6TuSisPobVPVYEaIizM4ZUhMiRDtr1imBHyeIV0I5Q3b2Y3kqDG/0gIk7r9eFqTcao0CSIO1TOz3eDQX1Kb4bS8RvTRlPkBKusjfMSRCY12JX+QSNs9OJEB7pwi94fBF1JmioXkg2fFq+4F3mIOZuCHoWFX6rDkv4wBxsLcFNbpxJnGVdTCCBQ3i8nnlfhINFSc3Ua8YY2IsrJEjn5bBwD+xM2mpOLtO6QfX/d3uXSLscdsQHIUfnx1JWiLd3wP5IjsKNl1XNkPFav0j23IQDCStb8TdjKdQAj14lO6bBKfh+Ob48QDABzkAnQax2SZCOE6xKAqfkyfW4W4IsC1LA5QirJeYXbT+4GNHK0Ld2epxGmwMuxBEJwsQRgIGJ+KzVA1cjvEgQgANgzw64ITFUNAIBAKBCnhCMyAG4/AEAAAAAAAAAAAAAAAAAAAAAAADgT3twQAIAAAAg6P/rfoQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADATp5K5AOzdXkYAAAAASUVORK5CYII=) no-repeat center center;width:800px;height:800px;position:relative}.wrap___SEtIN .bg___JE5ml i{position:absolute;z-index:10;right:68px;top:70px;color:#fff;font-size:30px;cursor:pointer}.wrap___SEtIN .bg___JE5ml i:hover{color:#0152d9}.diff-panel-container___DRHwS{width:100%;height:100%;color:#fff;font-size:0;overflow:hidden;flex:1 1;display:flex;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-weight:400;font-feature-settings:"liga" 0,"calt" 0}.diff-panel-container___DRHwS div{flex:1 1;white-space:pre;overflow-x:auto;line-height:18px;font-size:12px;display:inline-block;letter-spacing:0px;vertical-align:top;padding:10px 14px;background:#1e1e1e;border-radius:4px;color:#2ea44f;min-height:80px}.diff-panel-container___DRHwS div:first-child{margin-right:1%}.diff-panel-container___DRHwS .line-break____1HJq{display:block;height:20px}.diff-panel-container___DRHwS del{font-family:SimHei,PCMyungjo,monospace;color:#d55;white-space:pre;text-decoration:none}.diff-panel-container___DRHwS del:empty{display:none}.diff-panel-container___DRHwS del.empty___VD8sP{background:#d55;width:10px;margin-left:3px;color:#fff;text-align:center;font-size:12px}.diff-panel-container___DRHwS ins{color:#2ea44f;white-space:pre;text-decoration:none}.diff-panel-container___DRHwS ins:empty{display:none}.diff-panel-container___DRHwS ins.empty___VD8sP{color:#fff;background:#2ea44f}.diff-panel-container-2___T3Rde{background:none}.diff-panel-container-2___T3Rde>div{background:none;padding-top:0}.diff-panel-container-2___T3Rde ins{white-space:pre;text-decoration:none;color:#fff!important}.choose-game-item___sJBZO{padding:16px 15px;border-radius:4px;background:#010e1f}.choose-game-item___sJBZO p{margin:0}.choose-game-item___sJBZO .output-title-container___HnzHt{text-align:center;display:flex;flex-flow:row nowrap;justify-content:space-between;color:#333;align-items:center;margin-bottom:12px}.choose-game-item___sJBZO .output-title-container___HnzHt span{flex:1 1;display:flex}.choose-game-item___sJBZO .output-title-container___HnzHt span span{flex:initial}.choose-game-item___sJBZO .output-title-container___HnzHt span span:nth-child(1){margin-left:9px;flex:1 1}.choose-game-item___sJBZO .output-title-container___HnzHt .output-title___cQCt2{color:#333}.test-case-list___ULWwO{padding:0;position:fixed;z-index:905;bottom:70px;left:0;width:100%;background-color:#fff;height:300px}.test-header___HMjcY{width:100%;height:34px;padding:0 25px;line-height:34px;color:#f4f1ed;display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;background-color:#111c24;border-bottom:1px solid #222c34}.test-header___HMjcY a{color:#747a7f}.test-header___HMjcY span{position:relative;display:block;cursor:pointer;padding:0 25px}.test-header___HMjcY span.active___YxidH:after{content:"";position:absolute;inset:auto auto 0 50%;margin-left:-10px;height:2px;width:20px;background-color:#29bd8b}.resize-y-bar___es6Oh{height:3px;background:#111c24;cursor:ns-resize;position:relative;display:flex;align-items:center;justify-content:center;border-top:1px solid #19527b}.resize-y-bar___es6Oh>i{color:#0152d9;position:absolute;top:50%;left:50%;margin-top:-7px;margin-left:-17px;z-index:10}.test-result___zXN_Y{font-size:14px;font-family:PingFangSC-Bold,PingFang SC;line-height:25px;font-weight:700;width:100%;display:inline-block;margin-bottom:10px}.test-result___zXN_Y p{font-size:14px!important}.test-result___zXN_Y .markdown-body___EHEjV p{white-space:normal}.test-result___zXN_Y.success___ZvFU2{color:#29bd8b}.test-result___zXN_Y.failer___lQvRe,.test-result___zXN_Y.failer___lQvRe p{color:#d55!important}.test-result___zXN_Y img{display:block;margin-right:5px}.test-result___zXN_Y .count___lVWvy{display:flex;flex-flow:row nowrap;float:left;align-items:center;line-height:25px;padding:0 10px 0 4px}.test-case-item___ptoQn{width:100%;margin:0 auto 20px;border-radius:4px;background:#1f2f3b;font-size:14px}.test-case-item___ptoQn .case-header___UDkvN{padding:9px 20px;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between}.test-case-item___ptoQn .case-header___UDkvN .iconfont___XT_ll{font-size:14px!important;color:#f4f1ed}.test-case-item___ptoQn .case-header___UDkvN .description___BJIlI{color:#616b77;padding:0 8px;font-size:12px}.test-case-item___ptoQn .item-desc___e8tqN{display:none}.test-case-item___ptoQn .item-desc___e8tqN.show___nh0Ha{display:block}.test-case-item___ptoQn .item-tip___H05sn{font-size:12px;color:#c67676;line-height:12px}.test-case-item___ptoQn h2{font-size:14px;color:#bfbfbf;margin:0;line-height:21px;display:flex;flex-flow:row nowrap;align-items:center}.test-case-item___ptoQn h4{font-size:14px;color:#637da6;line-height:14px;padding:15px 0 5px}.test-case-item___ptoQn p{font-size:14px;line-height:20px;letter-spacing:1px}.arrow-down___DcvbX{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #bfbfbf}.test-title___2XlIU{margin-left:10px;font-weight:400;color:#bfbfbf}.arrow-right___a5kiA{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid #bfbfbf}.case-info___akfl1{flex:1 0;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center}.case-info___akfl1 i,.case-info___akfl1 img{margin-left:8px}.test-case-run-header___rIpIu{color:#617c93;font-size:14px;padding:10px 0}.test-case-run-wrp___hfxtY textarea{background:none;border:none;color:#fff;resize:none}.test-case-run-wrp___hfxtY>div:nth-child(2)>div{color:#fff;background:#1b2a37;margin-right:12px}.title___ldXVu{font-size:16px;font-weight:500;color:#333;margin-top:28px;margin-bottom:20px}.warp_____VWp{padding:0 30px;overflow:auto;height:100%;background:#111c24}.warp_____VWp div[class~=ant-spin-nested-loading]{height:100%;background-color:#111c24!important}.spin___OU0Kn{background-color:#fff}.spinTest___UNIX8{background:#131c23}.spinTest___UNIX8 div[class~=ant-spin-text]{text-shadow:none!important}.diff-panel-container___xo1_S{width:100%;height:100%;flex:1 1;color:#fff;font-size:0;overflow:hidden;display:flex;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-weight:400;font-feature-settings:"liga" 0,"calt" 0}.diff-panel-container___xo1_S div{flex:1 1;white-space:pre;overflow-x:auto;line-height:18px;font-size:12px;display:inline-block;letter-spacing:0px;vertical-align:top;padding:10px 14px;background:#1e1e1e;border-radius:4px;color:#fff;min-height:80px}.diff-panel-container___xo1_S div:first-child{margin-right:1%}.tpi-code-setting{height:calc(100vh - 54px);background:#031b2a;color:#ddd;font-size:13px;line-height:17px}.tpi-code-setting.oj{height:calc(100vh - 65px)}.tpi-code-setting h3{color:#008cff;font-size:16px;line-height:21px;padding-bottom:12px;text-align:left;width:100%;display:block;border-bottom:1px solid #092436}.tpi-code-setting .file-item{color:#ddd;padding:20px 0 0;display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center}.tpi-code-setting .file-item.action{justify-content:flex-start}.tpi-code-setting .file-item.action .iconfont{margin-right:21px}.tpi-code-setting .file-item span{max-width:148px}.tpi-code-setting .file-item:last-child{margin-bottom:25px}.tpi-code-setting span{color:#597a8f}.setting-drawer .ant-drawer-content-wrapper{top:54px;bottom:51px}.setting-drawer .ant-drawer-content{height:auto}.oj .ant-drawer-content-wrapper{top:65px}.setting-drawer .ant-drawer-body,.oj .ant-drawer-body{background:#031b2a}.setting-drawer .ant-drawer-body,.oj .ant-drawer-body{height:auto}.setting-drawer .ant-select-selection,.oj .ant-select-selection{width:120px;background:#0a2030;color:#597a8f;border:1px solid #597a8f}.upload_button{width:108px;height:40px!important;background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9)!important;box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80!important;border-radius:2px;border:1px solid #BACFFE!important;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#3061d0!important;display:inline-block;text-align:center;align-items:center;align-content:center}.upload_button .aBtn_img{width:14px;height:14px;margin-top:-3px;margin-right:8px}.upload_button:hover{width:108px;height:40px!important;background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border-radius:2px;border:1px solid #3061D0!important;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#3061d0!important}.upload_button:active{width:108px;height:40px!important;background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border-radius:2px;border:1px solid #3061D0!important;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#3061d0}.upload_text{width:129px;height:20px;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#5f6367;line-height:20px;margin-left:16px}.tip___G7f9K{padding:20px;font-size:14px;color:#ca7720;background:#f6f7f9}.title___IQM0U{display:flex;align-items:center;margin-top:22px;margin-bottom:11px;font-weight:600;color:#333}.title___IQM0U b{display:inline-block;width:8px;height:8px;border-radius:50%;background:#333;margin-right:6px}.primary___GvQEk{font-size:14px;color:#3061d0;cursor:pointer}.primary___GvQEk:hover{color:#145dff}.del___VIxYG{font-size:14px;color:#3061d0;cursor:pointer}.del___VIxYG:hover{color:#e30000}.flex_box_center___NeSU8{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___ImTGl{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___BtRd9{align-items:center;box-align:center}.flex_box_center_end___qcLe3{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___Ze_3q{flex-direction:column;box-orient:block-axis}.banner___PoUBO{display:flex;align-items:center;justify-content:center}.banner___PoUBO .content___XoDjy{width:1200px;height:212px;display:flex;align-items:flex-start;justify-content:space-between}.banner___PoUBO .content___XoDjy aside{margin-top:56px}.banner___PoUBO .content___XoDjy aside p{display:flex;align-items:center}.banner___PoUBO .content___XoDjy aside p b{font-size:30px;font-weight:500;color:#000;letter-spacing:4px;margin-right:20px}.banner___PoUBO .content___XoDjy aside p span{font-size:16px;color:#000;letter-spacing:4px}.banner___PoUBO .content___XoDjy aside .btns___Pb35j{margin-top:35px}.banner___PoUBO .content___XoDjy aside .btns___Pb35j>div{display:inline-block;height:32px;background:#f6f7f9;box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border-radius:4px;border:1px solid #dadbde;font-size:14px;color:#3b3e47;line-height:30px;margin-right:23px;padding:0 16px;position:relative;cursor:pointer}.banner___PoUBO .content___XoDjy aside .btns___Pb35j>div:hover{color:#165dff;border:1px solid #bacffe}.banner___PoUBO .content___XoDjy aside .btns___Pb35j>div img{position:absolute;z-index:1;top:-21px;right:22px}.flex_box_center___hG6RI{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___ss3Fh{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___K80p9{align-items:center;box-align:center}.flex_box_center_end___qmXX3{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___GFV8F{flex-direction:column;box-orient:block-axis}.row___aXJjm{display:flex;align-items:flex-start;justify-content:flex-start}.row___aXJjm .title___HUKL0{font-size:14px;color:#9096a3;flex-shrink:0;width:41px;text-align-last:justify;margin-top:4px;margin-right:12px}.row___aXJjm .tagsWrap___XB2W3{flex:1 1;position:relative}.row___aXJjm .tagsWrap___XB2W3 .action___VdHb1{font-size:14px;color:#82a8ff;width:55px;position:absolute;z-index:2;bottom:20px;right:0;cursor:pointer}.row___aXJjm .tagsWrap___XB2W3 .action___VdHb1 i{display:inline-block;font-size:12px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC{max-height:245px;overflow:hidden}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span{display:inline-flex;align-items:center;margin-left:8px;margin-bottom:17px;font-size:14px;cursor:pointer;padding:4px 12px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span .name___Hk1Ip{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:600px;display:inline-block}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span .num___xQpcH{margin-left:3px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft>span:hover{color:#165dff!important}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC .tag___V7Eft .active___XryTX{color:#165dff!important;border-radius:2px;background:#f6f7f9}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC::-webkit-scrollbar-thumb{background:#0000000d!important;border-radius:3px}.row___aXJjm .tagsWrap___XB2W3 .bar___t1kKC::-webkit-scrollbar-track{background-color:#f6f7f9!important;box-shadow:initial!important}.row___aXJjm .tagsBorderWrap___OMxjs .bar___t1kKC{padding-top:8px;border-radius:4px;border:1px solid rgba(219,220,224,.5)}.flex_box_center___aK2n3{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___HX0Oh{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___LJOJr{align-items:center;box-align:center}.flex_box_center_end___SCakF{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___AYv4m{flex-direction:column;box-orient:block-axis}.tabs___GTqPV{height:32px;background:#f6f7f9;box-shadow:inset 0 1px 3px #d7d8d9;border-radius:16px;display:inline-block}.tabs___GTqPV span{display:inline-block;padding:0 20px;line-height:32px;font-size:14px;font-weight:400;color:#9096a3;position:relative;cursor:pointer}.tabs___GTqPV span:hover{color:#165dff}.tabs___GTqPV span:after{content:"";position:absolute;width:1px;height:calc(100% - 2px);background:#e2e2e2;border-radius:4px;z-index:1;left:0;top:1px;background:linear-gradient(180deg,#fff0,#e2e2e2,#fff0)}.tabs___GTqPV span:first-child:after,.tabs___GTqPV .active___F26E8+span:after{display:none}.tabs___GTqPV .active___F26E8{background:linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 0 2px #e8effb;border-radius:16px;border:1px solid #c8d2ea;color:#165dff;line-height:30px}.tabs___GTqPV .active___F26E8:after{display:none}.flex_box_center___yX6Oa{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___t7oqF{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___dEIHy{align-items:center;box-align:center}.flex_box_center_end___taQDF{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___xY_Lr{flex-direction:column;box-orient:block-axis}.input___PW2zI{width:507px;height:38px;background:#f6f7f9;border-radius:19px;display:flex;align-items:center;padding:0 20px}.input___PW2zI .dropdown___vSy8B{position:relative;flex-shrink:0}.input___PW2zI .dropdown___vSy8B:hover .menu___NiyBu{display:block}.input___PW2zI .dropdown___vSy8B .text___Grueu{color:#000;font-size:14px;cursor:default;height:38px;display:flex;align-items:center}.input___PW2zI .dropdown___vSy8B .text___Grueu i{font-size:12px;display:inline-block;transform:translateY(1px) scale(.6);color:#979797}.input___PW2zI .dropdown___vSy8B .text___Grueu .b1___ZKryM{display:inline-block;width:1px;height:38px;margin-left:15px;margin-right:0;background:linear-gradient(180deg,#fff0,#fff,#fff0)}.input___PW2zI .dropdown___vSy8B .text___Grueu .b2___aKyGa{display:inline-block;width:1px;height:38px;margin-left:0;margin-right:8px;background:linear-gradient(180deg,#fff0,#e2e2e2,#fff0)}.input___PW2zI .dropdown___vSy8B .menu___NiyBu{display:none;position:absolute;z-index:999;width:auto;left:-16px;top:35px;padding:4px;background-color:#fff;border-radius:8px;box-shadow:0 10px 16px #cecece}.input___PW2zI .dropdown___vSy8B .menu___NiyBu div{clear:both;margin:0;padding:5px 12px;color:#000000e0;font-weight:400;font-size:14px;text-align:left;line-height:1.57142857;cursor:pointer;transition:all .2s;white-space:nowrap}.input___PW2zI .dropdown___vSy8B .menu___NiyBu div:hover{background-color:#f5f5f5}.input___PW2zI>input{flex:1 1;padding:4px 0}.flex_box_center___tol8o{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___Z235C{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___Wq1sZ{align-items:center;box-align:center}.flex_box_center_end___LLxom{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___DbMSN{flex-direction:column;box-orient:block-axis}.quickPager___GM30J{display:flex;align-items:center;justify-content:center}.quickPager___GM30J>div{width:60px;height:28px;line-height:26px;text-align:center;background:#f8f9fc;border-radius:2px;border:1px solid rgba(195,207,224,.5);font-size:12px;color:#464f66;margin:0 10px;user-select:none;cursor:pointer}.quickPager___GM30J>div:hover{color:#165dff}.quickPager___GM30J .disabled___Ozc8I{background:#f3f3f5;border:0;line-height:28px;cursor:not-allowed;color:#cecece}.flex_box_center___FO7TP{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___LotYx{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___bWdaw{align-items:center;box-align:center}.flex_box_center_end___mVJ1o{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___M83Mm{flex-direction:column;box-orient:block-axis}.list___oOsiS{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:0}.list___oOsiS .wrap___G6T7F{height:277px;background:#fff;box-shadow:0 2px 4px #d6dae1;border-radius:8px;position:relative}.list___oOsiS .wrap___G6T7F .lockWrap___Rl79E{position:absolute;width:100%;left:0;top:0;background-color:#00000080;height:100%;z-index:10;display:flex;cursor:default;justify-content:center;align-items:center;flex-direction:column;border-radius:8px}.list___oOsiS .wrap___G6T7F .li___oZZ7l:hover .cover___b2bYW{transform:scale(1.1)}.list___oOsiS .wrap___G6T7F .li___oZZ7l .img___IQX7w{overflow:hidden;height:calc(100% - 100px);border-radius:8px 8px 0 0;position:relative}.list___oOsiS .wrap___G6T7F .li___oZZ7l .img___IQX7w .cover___b2bYW{width:100%;transition:all .5s}.list___oOsiS .wrap___G6T7F .li___oZZ7l .img___IQX7w .sign___HkT6C{position:absolute;z-index:1;left:0;bottom:0;height:30px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .name___SsJx8{height:52px;font-size:16px;font-weight:600;color:#000;padding:30px 12px 0;width:100%;display:flex;align-items:center}.list___oOsiS .wrap___G6T7F .li___oZZ7l .name___SsJx8 .e___TMqq0{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo{height:45px;display:flex;align-items:center;color:#000f37;padding:0 12px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo i{color:#7d8592}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo>span{margin-right:5px;font-size:12px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7{display:flex;align-items:center;margin-left:auto}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7 [class~=ant-rate-star]{font-size:13px}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7 [class~=ant-rate]{font-size:12px;margin-top:-3px;color:#ffa100}.list___oOsiS .wrap___G6T7F .li___oZZ7l .tags___bcjyo .rate___YACg7 [class~=ant-rate-star]:not(:last-child){margin-right:2px}.flex_box_center___AQ53o{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___i2aIa{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___sPEKB{align-items:center;box-align:center}.flex_box_center_end___GhSSH{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___R9_Hb{flex-direction:column;box-orient:block-axis}.list___jb2Ay{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:0}.list___jb2Ay .wrap___VsQDr{height:308px;background:#fff;box-shadow:0 2px 4px #d6dae1;border-radius:8px;position:relative}.list___jb2Ay .wrap___VsQDr:hover [class~=user-path-items]{display:block!important}.list___jb2Ay .wrap___VsQDr .lockWrap___g1k1T{position:absolute;width:100%;left:0;top:0;background-color:#00000080;height:100%;z-index:10;display:flex;cursor:default;justify-content:center;align-items:center;border-radius:8px}.list___jb2Ay .wrap___VsQDr .li___IxCLC:hover .cover___Mu8wr{transform:scale(1.1)}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA{overflow:hidden;height:calc(100% - 131px);border-radius:8px 8px 0 0}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .cover___Mu8wr{width:100%;transition:all .5s}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .movebq___mF7wt{display:none;position:absolute;top:0;right:0;width:70px;height:32px;background:#0000004d;color:#d9c7ab;padding:0 8px;font-size:16px;line-height:32px;border-top-right-radius:8px;border-bottom-left-radius:8px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .bq___Bil0T{height:22px;background:#0000004d;color:#d9c7ab;border-radius:2px;padding:0 8px;font-size:12px;line-height:22px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .img___IpFLA .sign___DXJ4d{width:52px;text-align:center;position:absolute;z-index:2;left:0;top:7px;color:#fff}.list___jb2Ay .wrap___VsQDr .li___IxCLC .name___l7FoJ{height:52px;font-size:16px;font-weight:600;color:#000;padding:30px 12px 0;width:100%;display:flex;align-items:center}.list___jb2Ay .wrap___VsQDr .li___IxCLC .name___l7FoJ .e___pXQUG{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrap___VsQDr .li___IxCLC .unit___wCIFR{font-size:14px;color:#000f37;padding:0 12px;margin-top:8px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrap___VsQDr .li___IxCLC .unit___wCIFR i{color:#7d8592}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil{height:34px;display:flex;align-items:center;justify-content:space-between;color:#000f37;padding:0 12px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil div{display:flex;align-items:center}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil div>span{margin-right:12px;font-size:12px}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil div i{color:#7d8592}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil .tag1___dxm7r,.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil .tag2___llZkf{height:18px;padding:3px 6px;font-size:12px;border-radius:2px;border:1px solid #FFE6AB;color:#ca7720;display:flex;align-items:center;justify-content:center;font-weight:400}.list___jb2Ay .wrap___VsQDr .li___IxCLC .tags___w_Mil .tag2___llZkf{border:1px solid #D6F7EF;color:#01795d;margin-left:6px}.list___jb2Ay .wrapisCurrent___qIfQT{height:280px;background:#fff;box-shadow:0 2px 4px #d6dae1;border-radius:8px;position:relative}.list___jb2Ay .wrapisCurrent___qIfQT:hover [class~=user-path-items]{display:block!important}.list___jb2Ay .wrapisCurrent___qIfQT .lockWrap___g1k1T{position:absolute;width:100%;left:0;top:0;background-color:#00000080;height:100%;z-index:10;display:flex;cursor:default;justify-content:center;align-items:center;border-radius:8px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC:hover .cover___Mu8wr{transform:scale(1.1)}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA{overflow:hidden;height:calc(100% - 105px);border-radius:8px 8px 0 0}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .cover___Mu8wr{width:100%;transition:all .5s}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .movebq___mF7wt{display:none;position:absolute;top:0;right:0;width:70px;height:32px;background:#0000004d;color:#d9c7ab;padding:0 8px;font-size:16px;line-height:32px;border-top-right-radius:8px;border-bottom-left-radius:8px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .bq___Bil0T{height:22px;background:#0000004d;color:#d9c7ab;border-radius:2px;padding:0 8px;font-size:12px;line-height:22px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .img___IpFLA .sign___DXJ4d{width:52px;text-align:center;position:absolute;z-index:2;left:0;top:7px;color:#fff}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .name___l7FoJ{font-size:16px;font-weight:600;color:#000;padding:10px 12px 0;width:100%;display:flex;align-items:center}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .name___l7FoJ .e___pXQUG{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .unit___wCIFR{font-size:14px;color:#000f37;padding:0 12px;margin-top:8px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .unit___wCIFR i{color:#7d8592}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil{height:34px;display:flex;align-items:center;justify-content:space-between;color:#000f37;padding:0 12px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil div{display:flex;align-items:center}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil div>span{margin-right:12px;font-size:12px}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil div i{color:#7d8592}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil .tag1___dxm7r,.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil .tag2___llZkf{height:18px;padding:3px 6px;font-size:12px;border-radius:2px;border:1px solid #FFE6AB;color:#ca7720;display:flex;align-items:center;justify-content:center;font-weight:400}.list___jb2Ay .wrapisCurrent___qIfQT .li___IxCLC .tags___w_Mil .tag2___llZkf{border:1px solid #D6F7EF;color:#01795d;margin-left:6px}.flex_box_center___eMcr7{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___HcNca{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___ZnvVN{align-items:center;box-align:center}.flex_box_center_end___fdgDf{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___SEKvd{flex-direction:column;box-orient:block-axis}.list___L1hmU{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:0}.list___L1hmU .wrap___pKgcW{height:270px;background:#fff;box-shadow:0 1px 4px #d6dae1;border-radius:8px;position:relative}.list___L1hmU .wrap___pKgcW:hover .lockWrap___SMhkK{display:flex}.list___L1hmU .wrap___pKgcW .lockWrap___SMhkK{position:absolute;z-index:10;left:0;top:0;width:100%;height:100%;background:#0009;box-shadow:0 2px 5px #0000000d;border-radius:8px;display:none;flex-direction:column;justify-content:center;align-items:center}.list___L1hmU .wrap___pKgcW .lockWrap___SMhkK div{width:116px;height:36px;border-radius:18px;border:1px solid #ffffff;font-size:14px;font-weight:600;color:#fff;line-height:34px;text-align:center;margin:10px 0;cursor:pointer}.list___L1hmU .wrap___pKgcW .lockWrap___SMhkK div:hover{box-shadow:0 0 4px #4f85ff;border:1px solid #c2d3f8}.list___L1hmU .wrap___pKgcW .top___udHSB{height:calc(100% - 50px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 24px;position:relative}.list___L1hmU .wrap___pKgcW .top___udHSB .sign___uwRpq{position:absolute;z-index:1;width:44px;height:22px;background:#ffe9c1;border-radius:8px 0 13px;left:0;top:0;color:#a45204;text-align:center;line-height:22px}.list___L1hmU .wrap___pKgcW .top___udHSB .name___Fpf90{font-weight:600;color:#333;margin-top:25px;font-size:16px;white-space:normal;text-align:center;-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;line-height:26px;height:48px}.list___L1hmU .wrap___pKgcW .top___udHSB .img___AMLhL{width:60px;height:60px;border-radius:30px;margin-top:14px}.list___L1hmU .wrap___pKgcW .top___udHSB .text___KiTb7{font-size:14px;color:#333;margin-top:8px;width:98%;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list___L1hmU .wrap___pKgcW .top___udHSB .btns___i6IuZ{display:flex;align-items:center;margin-top:12px}.list___L1hmU .wrap___pKgcW .top___udHSB .btns___i6IuZ div{width:76px;background:#fff;height:26px;border-radius:13px;border:1px solid #d6f7ef;font-size:14px;color:#01795d;line-height:24px;text-align:center;margin:0 10px}.list___L1hmU .wrap___pKgcW .top___udHSB .btns___i6IuZ aside{width:76px;background:#fff;height:26px;border-radius:13px;border:1px solid #ffe9c1;font-size:14px;color:#a45204;line-height:24px;text-align:center;margin:0 10px}.list___L1hmU .wrap___pKgcW .bottom____k2sh{height:50px;border-top:1px solid #f5f5f5;display:flex;align-items:center;padding:0 12px}.list___L1hmU .wrap___pKgcW .bottom____k2sh>div{margin-left:auto}.list___L1hmU .wrap___pKgcW .bottom____k2sh>span{display:flex;align-items:center;margin-right:12px;color:#999}.list___L1hmU .wrap___pKgcW .bottom____k2sh>span i{font-size:14px;font-size:12px;color:#999;margin-right:6px}.flex_box_center___d27mZ{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___qfRU9{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___fCRld{align-items:center;box-align:center}.flex_box_center_end___ORMV8{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___PNKtZ{flex-direction:column;box-orient:block-axis}.tabs___alpa7{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbdce0;height:54px}.tabs___alpa7 .tabsWrap___aCQjw{display:flex;align-items:center;height:100%}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4{display:flex;align-items:center;margin-right:40px;height:100%;cursor:pointer}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4>div{position:relative;font-size:14px;font-weight:400;color:#5f6368;display:flex;align-items:center;height:100%}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4 .active___nl_4v{font-weight:500;color:#202124}.tabs___alpa7 .tabsWrap___aCQjw .tab___MKLr4 .active___nl_4v:after{position:absolute;content:"";width:100%;z-index:4;left:0;bottom:0;height:3px;background:#202124;border-radius:100px 100px 0 0}.flex_box_center___e6HxQ{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___RnXYe{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___lVxPk{align-items:center;box-align:center}.flex_box_center_end___bu8yv{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___JczGj{flex-direction:column;box-orient:block-axis}.orderWrap___ZfyGX{display:box;display:flex;align-items:center}.orderIconWrap___XTB_O{display:box;display:flex;flex-direction:column;height:40px;line-height:40px;color:#999}.orderAsc___KWHmA{flex-direction:column;text-align:center;height:10px;line-height:10px;display:inline-block;margin-top:9px;transform:translateY(2px)}.orderDesc___rHdbB{flex-direction:column;text-align:center;height:10px;line-height:10px;display:table}.active___a7eSP{color:#232b40!important}.cursorPointer___gs9kL{cursor:pointer;color:#d8d8d8;height:10px}.orderTextWrap___teAKn{font-size:14px;color:#3b3e47;cursor:pointer;margin-right:5px}.flex_box_center___LCi0B{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___hzONe{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___ZyQRE{align-items:center;box-align:center}.flex_box_center_end___XKM74{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___p8LCU{flex-direction:column;box-orient:block-axis}.btn___In02G.mediacy-round___uveEv{height:36px;border-radius:36px}.btn___In02G.mediacy-default___dDxsd{height:36px;border-radius:4px}.btn___In02G .default___K791v{background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border:1px solid #bacffe;font-size:14px;padding:0 15px;color:#3061d0;text-align:center;cursor:pointer;user-select:none}button[class~=ant-btn-default]:not(:disabled).btn___In02G{background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border:1px solid #bacffe;font-size:14px;padding:0 15px;color:#3061d0;text-align:center;cursor:pointer;user-select:none}button[class~=ant-btn-default]:not(:disabled).btn___In02G:hover{color:#165dff;border:1px solid #165dff}button[class~=ant-btn-default]:disabled.btn___In02G{background:#f6f7f9 linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 2px 4px #e0dfe1,inset 0 1px 3px #ffffff80;border:1px solid #bacffe;font-size:14px;padding:0 15px;color:#3061d0;text-align:center;cursor:pointer;user-select:none;opacity:50%;cursor:not-allowed}.flex_box_center___TB7bQ{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___oBlTb{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___b5XbB{align-items:center;box-align:center}.flex_box_center_end___CNhe7{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___yHXKW{flex-direction:column;box-orient:block-axis}.head___ghH72{height:54px;border-bottom:1px solid #DBDCE0;display:flex;align-items:center}.head___ghH72>span{color:#999;font-size:12px;cursor:pointer;flex-shrink:0}.head___ghH72>b{font-weight:500;color:#232b40;margin-left:30px;font-size:14px;flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head___ghH72 .node___mjPEy{margin-left:auto;flex-shrink:0}.flex_box_center___AlHuF{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___vN2LW{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___Ac7D2{align-items:center;box-align:center}.flex_box_center_end___y38I7{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___iQE6P{flex-direction:column;box-orient:block-axis}.btns___sNgTb{display:flex;align-items:center}.btns___sNgTb .confirm___Ozirl{height:38px;background:#3061d0;border-radius:2px;color:#fff;padding:0 34px}.btns___sNgTb .cancel___aiq1I{height:38px;background:#f8f9fc;border-radius:2px;opacity:.5;border:1px solid #C3CFE0;font-size:14px;color:#464f66;margin-left:20px}.flex_box_center___jkpdr{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___OtsL8{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___rbcb_{align-items:center;box-align:center}.flex_box_center_end___zBR21{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___nS_eP{flex-direction:column;box-orient:block-axis}.fixedBottom___oJl7m{width:100%;height:70px;background:#fff;box-shadow:0 -3px 16px #dbdbdb80;position:fixed;z-index:1000;bottom:0;left:0}.fixedBottom___oJl7m .wrap___A3Oq1{width:1200px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.fixedBottom___oJl7m .wrap___A3Oq1 .center____VL1y{flex:1 1}.flex_box_center___tY8Yn{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___vHdYA{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___pa61F{align-items:center;box-align:center}.flex_box_center_end___HyDXt{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___UjZek{flex-direction:column;box-orient:block-axis}.crumbs___V41Oe{margin:15px auto 25px;width:1200px;cursor:default}.crumbs___V41Oe span{font-size:12px;color:#c5c5c5}.crumbs___V41Oe .hover___bEIVd{cursor:pointer}.crumbs___V41Oe .hover___bEIVd:hover{color:#5f6368}.mirrorModal___Pi3tF{display:flex;justify-content:center;align-items:flex-start;height:580px}.mirrorModal___Pi3tF .right___Hot5f{flex:1 1;background-color:#fff;height:100%}.mirrorModal___Pi3tF .right___Hot5f header{padding:0 30px;height:60px}.mirrorModal___Pi3tF .right___Hot5f header .title___jjMKh{font-size:14px;font-weight:700;color:#333;height:60px;line-height:60px;border-bottom:1px #f1f1f1 solid}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .ant-empty{padding:150px 0 40px}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .ant-empty .ant-empty-image{height:180px}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .ant-empty .ant-empty-description{color:#999;font-size:14px}.mirrorModal___Pi3tF .right___Hot5f .content___BmOkD .des___oGTUM{padding:0 30px;margin-top:18px;max-height:490px;overflow-y:auto}.modal___yy3VB .ant-modal-body{max-height:500px;overflow-y:auto}.flex_box_center___vG4eV{justify-content:center;align-items:center;-webkit-justify-content:center;box-align:center}.flex_space_between___qVVxe{justify-content:space-between;-webkit-box-pack:justify}.flex_box_vertical_center___P8Z8s{align-items:center;box-align:center}.flex_box_center_end___VMme3{justify-content:flex-end;align-items:center;-webkit-justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-webkit-box-pack:end;box-align:center;box-pack:end}.flex_box_column___VMHwm{flex-direction:column;box-orient:block-axis}.dropdownmenus___oVzoj{width:104px}.dropdownmenus___oVzoj [class~=ant-dropdown-menu-item]{text-align:center}.dropdownmenus___oVzoj [class~=ant-dropdown-menu-item]:hover{color:#165dff!important;background:#fff}.dropdownmenus___oVzoj [class~=ant-dropdown-menu]{padding:10px 0!important}.popupClassNames___OcZq7{background:#ff0}.selectdown___mmcA8 [class~=ant-select-item-option-selected]{font-weight:400!important;background-color:#edf2ff!important}.selectdown___mmcA8 [class~=ant-select-item-option-active]{color:#165dff!important;background-color:#fff!important}.selectdown___mmcA8 [class~=ant-select-item-option]{padding:10px 24px}.header_body___lAlEX{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px}.header_body___lAlEX span{font-weight:500;font-size:16px;color:#333;letter-spacing:.01rem}.header_body___lAlEX .close___OXweN{cursor:pointer;color:#979797;font-size:15px}.no_data___h77J2{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center;margin-top:140px}.recommend_config_introduce___ifFGY{font-weight:400;font-size:12px;color:#666;line-height:26px}.recommend_config___UXyKS{display:flex;margin-top:20px;margin-bottom:26px}.recommend_config___UXyKS .recommend_config_item___zONum{width:280px;height:auto;min-height:135px;background:#f6f7f9;border-radius:4px;padding:15px 20px;border:1px solid rgba(0,0,0,0);cursor:pointer;margin-right:50px}.recommend_config___UXyKS .recommend_config_item___zONum:last-child{margin-right:0}.recommend_config___UXyKS .recommend_config_item___zONum:hover{background:#3061d014;border:1px solid #A4BDF5;box-shadow:0 4px 5px #d5e3ff6e}.recommend_config___UXyKS .recommend_config_item___zONum .item_title___w5vXw{font-weight:600;font-size:14px;color:#333;display:flex;align-items:start;justify-content:space-between}.recommend_config___UXyKS .recommend_config_item___zONum .recommend_text___f68Eu{width:44px;height:20px;background:#ec9c20;border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}.recommend_config___UXyKS .recommend_config_item___zONum .item_content___j_zbN{display:flex;justify-content:space-between;font-size:14px;color:#191919;margin-top:8px}.recommend_config___UXyKS .recommend_config_active_item___SrTkJ{background:#3061d014;border:1px solid #A4BDF5;box-shadow:0 4px 5px #d5e3ff6e}.recommend_config_footer___PHnlA{display:flex;align-items:center;justify-content:space-between}.application___uh4gI{width:80px;height:32px;line-height:30px;background:#3061d0;box-shadow:0 2px 4px #e0dfe1,inset 0 -1px 3px #ffffff80;border-radius:16px;font-weight:400;font-size:12px;color:#fff;display:flex;justify-content:center;cursor:pointer}.tooltip___f0uXh{color:#999;font-size:14px;margin-left:6px}.tooltip___f0uXh:hover{color:#165dff}.disabled___Ha9Ba{background-color:#0000000f;color:#d9d9d9}.lineChart___dCEZW{width:100%;height:350px;margin:0 auto}.flex_warp___Rtigf{display:flex;align-items:center;justify-content:space-between}.chart_content___tVmUj{width:100%;min-height:320px;margin-bottom:20px;border-radius:4px;border:1px solid #F6F7F9;background-color:#fff}.chart_content___tVmUj .chart_title___AOPx7{width:100%;height:40px;padding:9px 20px;background:#f6f7f9;font-weight:500;color:#232b40;display:flex;justify-content:space-between;align-items:center}.chart_content___tVmUj .listdata___mi4KG{display:flex;align-items:center;justify-content:flex-end;padding-bottom:12px}.chart_content___tVmUj .listdata___mi4KG .block___prArl{width:15px;height:3px}.chart_content___tVmUj .listdata___mi4KG .typename___j4diD{width:180px;color:#999}.chart_content___tVmUj .listdata___mi4KG .val___MeuWc{margin-left:10px;width:210px;height:22px;font-weight:400;font-size:14px;color:#232b40;line-height:22px}.info_con___eIdJL{background-color:#f6f7f9;width:900px;margin:15px auto;padding:0 10px 5px}.info_con___eIdJL .info_top___UKMbT{display:flex;justify-content:flex-end;font-weight:400;font-size:12px;color:#666;padding:17px 0 12px}.info_con___eIdJL .info_top___UKMbT div{height:20px;line-height:20px;width:210px;margin-left:10px}.fullscreen___PICBn{cursor:pointer}.fullscreen___PICBn:hover{color:#3061d0}.chart_content_qp___ae1n1 .spin_dom___T7PCy{margin-top:20%} diff --git a/umi.db21e529.js b/umi.e48fc2da.js similarity index 99% rename from umi.db21e529.js rename to umi.e48fc2da.js index 7541a21261..ae45ad8a17 100644 --- a/umi.db21e529.js +++ b/umi.e48fc2da.js @@ -230,6 +230,6 @@ Add a component higher in the tree to provide a loading \v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},78540:function(i,d,e){"use strict";var t=e(65911),r=e(32621),n=e(68151),a=e(16332),s=e(58218),u=e(24538),c=e(44166),o=e(25576),f=e(7825),m=e(73068),p=e(61888),b=e(35454),g=e(16697);i.exports=function(E,O,S,I){var P="stackTraceLimit",k=I?2:1,R=E.split("."),T=R[R.length-1],A=t.apply(null,R);if(A){var D=A.prototype;if(!g&&r(D,"cause")&&delete D.cause,!S)return A;var j=t("Error"),L=O(function(V,z){var Y=f(I?z:V,void 0),B=I?new A(V):new A;return Y!==void 0&&n(B,"message",Y),p(B,L,B.stack,2),this&&a(D,this)&&o(B,this,L),arguments.length>k&&m(B,arguments[k]),B});if(L.prototype=D,T!=="Error"?s?s(L,j):u(L,j,{name:!0}):b&&P in A&&(c(L,A,P),c(L,A,"prepareStackTrace")),u(L,A),!g)try{D.name!==T&&n(D,"name",T),D.constructor=L}catch(V){}return L}}},93074:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(13743),a=e(3338),s=e(78540),u="AggregateError",c=r(u),o=!a(function(){return c([1]).errors[0]!==1})&&a(function(){return c([1],u,{cause:7}).cause!==7});t({global:!0,constructor:!0,arity:2,forced:o},{AggregateError:s(u,function(f){return function(p,b){return n(f,this,arguments)}},o,!0)})},6555:function(i,d,e){"use strict";var t=e(94488),r=e(16332),n=e(53456),a=e(58218),s=e(24538),u=e(20132),c=e(68151),o=e(35012),f=e(73068),m=e(61888),p=e(62003),b=e(7825),g=e(59893),E=g("toStringTag"),O=Error,S=[].push,I=function(R,T){var A=r(P,this),D;a?D=a(new O,A?n(this):P):(D=A?this:u(P),c(D,E,"Error")),T!==void 0&&c(D,"message",b(T)),m(D,I,D.stack,1),arguments.length>2&&f(D,arguments[2]);var j=[];return p(R,S,{that:j}),c(D,"errors",j),D};a?a(I,O):s(I,O,{name:!0});var P=I.prototype=u(O.prototype,{constructor:o(1,I),message:o(1,""),name:o(1,"AggregateError")});t({global:!0,constructor:!0,arity:2},{AggregateError:I})},86357:function(i,d,e){"use strict";e(6555)},89170:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(91669),a=e(51996),s="ArrayBuffer",u=n[s],c=r[s];t({global:!0,constructor:!0,forced:c!==u},{ArrayBuffer:u}),a(s)},71012:function(i,d,e){"use strict";var t=e(94488),r=e(58261),n=r.NATIVE_ARRAY_BUFFER_VIEWS;t({target:"ArrayBuffer",stat:!0,forced:!n},{isView:r.isView})},84203:function(i,d,e){"use strict";var t=e(94488),r=e(34114),n=e(3338),a=e(91669),s=e(80449),u=e(51981),c=e(61578),o=e(60473),f=a.ArrayBuffer,m=a.DataView,p=m.prototype,b=r(f.prototype.slice),g=r(p.getUint8),E=r(p.setUint8),O=n(function(){return!new f(2).slice(1,void 0).byteLength});t({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:O},{slice:function(I,P){if(b&&P===void 0)return b(s(this),I);for(var k=s(this).byteLength,R=u(I,k),T=u(P===void 0?k:P,k),A=new(o(this,f))(c(T-R)),D=new m(this),j=new m(A),L=0;R=0?m:f+m;return p<0||p>=f?void 0:o[p]}}),s("at")},2924:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(18589),a=e(31946),s=e(94029),u=e(82762),c=e(66434),o=e(69392),f=e(81427),m=e(17480),p=e(59893),b=e(46573),g=p("isConcatSpreadable"),E=b>=51||!r(function(){var I=[];return I[g]=!1,I.concat()[0]!==I}),O=function(I){if(!a(I))return!1;var P=I[g];return P!==void 0?!!P:n(I)},S=!E||!m("concat");t({target:"Array",proto:!0,arity:1,forced:S},{concat:function(P){var k=s(this),R=f(k,0),T=0,A,D,j,L,V;for(A=-1,j=arguments.length;A1?arguments[1]:void 0)}})},16137:function(i,d,e){"use strict";var t=e(94488),r=e(75202),n=e(81181);t({target:"Array",proto:!0},{fill:r}),n("fill")},48435:function(i,d,e){"use strict";var t=e(94488),r=e(90560).filter,n=e(17480),a=n("filter");t({target:"Array",proto:!0,forced:!a},{filter:function(u){return r(this,u,arguments.length>1?arguments[1]:void 0)}})},70365:function(i,d,e){"use strict";var t=e(94488),r=e(90560).findIndex,n=e(81181),a="findIndex",s=!0;a in[]&&Array(1)[a](function(){s=!1}),t({target:"Array",proto:!0,forced:s},{findIndex:function(c){return r(this,c,arguments.length>1?arguments[1]:void 0)}}),n(a)},17482:function(i,d,e){"use strict";var t=e(94488),r=e(53279).findLastIndex,n=e(81181);t({target:"Array",proto:!0},{findLastIndex:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}}),n("findLastIndex")},33717:function(i,d,e){"use strict";var t=e(94488),r=e(53279).findLast,n=e(81181);t({target:"Array",proto:!0},{findLast:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}}),n("findLast")},11553:function(i,d,e){"use strict";var t=e(94488),r=e(90560).find,n=e(81181),a="find",s=!0;a in[]&&Array(1)[a](function(){s=!1}),t({target:"Array",proto:!0,forced:s},{find:function(c){return r(this,c,arguments.length>1?arguments[1]:void 0)}}),n(a)},65033:function(i,d,e){"use strict";var t=e(94488),r=e(3372),n=e(63335),a=e(94029),s=e(82762),u=e(81427);t({target:"Array",proto:!0},{flatMap:function(o){var f=a(this),m=s(f),p;return n(o),p=u(f,0),p.length=r(p,f,f,m,0,1,o,arguments.length>1?arguments[1]:void 0),p}})},23708:function(i,d,e){"use strict";var t=e(94488),r=e(3372),n=e(94029),a=e(82762),s=e(56902),u=e(81427);t({target:"Array",proto:!0},{flat:function(){var o=arguments.length?arguments[0]:void 0,f=n(this),m=a(f),p=u(f,0);return p.length=r(p,f,f,m,0,o===void 0?1:s(o)),p}})},52732:function(i,d,e){"use strict";var t=e(94488),r=e(59594);t({target:"Array",proto:!0,forced:[].forEach!==r},{forEach:r})},99382:function(i,d,e){"use strict";var t=e(94488),r=e(60255),n=e(35221),a=!n(function(s){Array.from(s)});t({target:"Array",stat:!0,forced:a},{from:r})},88437:function(i,d,e){"use strict";var t=e(94488),r=e(22999).includes,n=e(3338),a=e(81181),s=n(function(){return!Array(1).includes()});t({target:"Array",proto:!0,forced:s},{includes:function(c){return r(this,c,arguments.length>1?arguments[1]:void 0)}}),a("includes")},68440:function(i,d,e){"use strict";var t=e(94488),r=e(34114),n=e(22999).indexOf,a=e(45601),s=r([].indexOf),u=!!s&&1/s([1],1,-0)<0,c=u||!a("indexOf");t({target:"Array",proto:!0,forced:c},{indexOf:function(f){var m=arguments.length>1?arguments[1]:void 0;return u?s(this,f,m)||0:n(this,f,m)}})},13412:function(i,d,e){"use strict";var t=e(94488),r=e(18589);t({target:"Array",stat:!0},{isArray:r})},11005:function(i,d,e){"use strict";var t=e(80524),r=e(81181),n=e(48074),a=e(94844),s=e(37691).f,u=e(24019),c=e(25587),o=e(16697),f=e(35454),m="Array Iterator",p=a.set,b=a.getterFor(m);i.exports=u(Array,"Array",function(E,O){p(this,{type:m,target:t(E),index:0,kind:O})},function(){var E=b(this),O=E.target,S=E.index++;if(!O||S>=O.length)return E.target=void 0,c(void 0,!0);switch(E.kind){case"keys":return c(S,!1);case"values":return c(O[S],!1)}return c([S,O[S]],!1)},"values");var g=n.Arguments=n.Array;if(r("keys"),r("values"),r("entries"),!o&&f&&g.name!=="values")try{s(g,"name",{value:"values"})}catch(E){}},70348:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(1835),a=e(80524),s=e(45601),u=r([].join),c=n!==Object,o=c||!s("join",",");t({target:"Array",proto:!0,forced:o},{join:function(m){return u(a(this),m===void 0?",":m)}})},19801:function(i,d,e){"use strict";var t=e(94488),r=e(55009);t({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},91550:function(i,d,e){"use strict";var t=e(94488),r=e(90560).map,n=e(17480),a=n("map");t({target:"Array",proto:!0,forced:!a},{map:function(u){return r(this,u,arguments.length>1?arguments[1]:void 0)}})},85223:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(39812),a=e(69392),s=Array,u=r(function(){function c(){}return!(s.of.call(c)instanceof c)});t({target:"Array",stat:!0,forced:u},{of:function(){for(var o=0,f=arguments.length,m=new(n(this)?this:s)(f);f>o;)a(m,o,arguments[o++]);return m.length=f,m}})},7154:function(i,d,e){"use strict";var t=e(94488),r=e(94029),n=e(82762),a=e(39428),s=e(66434),u=e(3338),c=u(function(){return[].push.call({length:4294967296},1)!==4294967297}),o=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(m){return m instanceof TypeError}},f=c||!o();t({target:"Array",proto:!0,arity:1,forced:f},{push:function(p){var b=r(this),g=n(b),E=arguments.length;s(g+E);for(var O=0;O79&&a<83,c=u||!n("reduceRight");t({target:"Array",proto:!0,forced:c},{reduceRight:function(f){return r(this,f,arguments.length,arguments.length>1?arguments[1]:void 0)}})},67788:function(i,d,e){"use strict";var t=e(94488),r=e(16370).left,n=e(45601),a=e(46573),s=e(90946),u=!s&&a>79&&a<83,c=u||!n("reduce");t({target:"Array",proto:!0,forced:c},{reduce:function(f){var m=arguments.length;return r(this,f,m,m>1?arguments[1]:void 0)}})},9402:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(18589),a=r([].reverse),s=[1,2];t({target:"Array",proto:!0,forced:String(s)===String(s.reverse())},{reverse:function(){return n(this)&&(this.length=this.length),a(this)}})},62489:function(i,d,e){"use strict";var t=e(94488),r=e(18589),n=e(39812),a=e(31946),s=e(51981),u=e(82762),c=e(80524),o=e(69392),f=e(59893),m=e(17480),p=e(30867),b=m("slice"),g=f("species"),E=Array,O=Math.max;t({target:"Array",proto:!0,forced:!b},{slice:function(I,P){var k=c(this),R=u(k),T=s(I,R),A=s(P===void 0?R:P,R),D,j,L;if(r(k)&&(D=k.constructor,n(D)&&(D===E||r(D.prototype))?D=void 0:a(D)&&(D=D[g],D===null&&(D=void 0)),D===E||D===void 0))return p(k,T,A);for(j=new(D===void 0?E:D)(O(A-T,0)),L=0;T1?arguments[1]:void 0)}})},62837:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(63335),a=e(94029),s=e(82762),u=e(84233),c=e(69905),o=e(3338),f=e(63668),m=e(45601),p=e(78177),b=e(17687),g=e(46573),E=e(19684),O=[],S=r(O.sort),I=r(O.push),P=o(function(){O.sort(void 0)}),k=o(function(){O.sort(null)}),R=m("sort"),T=!o(function(){if(g)return g<70;if(!(p&&p>3)){if(b)return!0;if(E)return E<603;var j="",L,V,z,Y;for(L=65;L<76;L++){switch(V=String.fromCharCode(L),L){case 66:case 69:case 70:case 72:z=3;break;case 68:case 71:z=4;break;default:z=2}for(Y=0;Y<47;Y++)O.push({k:V+Y,v:z})}for(O.sort(function(B,W){return W.v-B.v}),Y=0;Yc(V)?1:-1}};t({target:"Array",proto:!0,forced:A},{sort:function(L){L!==void 0&&n(L);var V=a(this);if(T)return L===void 0?S(V):S(V,L);var z=[],Y=s(V),B,W;for(W=0;Wk-D+A;L--)m(P,L-1)}else if(A>D)for(L=k-D;L>R;L--)V=L+D-1,z=L+A-1,V in P?P[z]=P[V]:m(P,z);for(L=0;L=0&&f<=99?f+1900:f;return u(this,m)}})},71390:function(i,d,e){"use strict";var t=e(94488);t({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},96844:function(i,d,e){"use strict";var t=e(94488),r=e(32494);t({target:"Date",proto:!0,forced:Date.prototype.toISOString!==r},{toISOString:r})},83578:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(94029),a=e(97954),s=r(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});t({target:"Date",proto:!0,arity:1,forced:s},{toJSON:function(c){var o=n(this),f=a(o,"number");return typeof f=="number"&&!isFinite(f)?null:o.toISOString()}})},69762:function(i,d,e){"use strict";var t=e(32621),r=e(2291),n=e(77119),a=e(59893),s=a("toPrimitive"),u=Date.prototype;t(u,s)||r(u,s,n)},76880:function(i,d,e){"use strict";var t=e(94237),r=e(2291),n=Date.prototype,a="Invalid Date",s="toString",u=t(n[s]),c=t(n.getTime);String(new Date(NaN))!==a&&r(n,s,function(){var f=c(this);return f===f?u(this):a})},31808:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(13743),a=e(78540),s="WebAssembly",u=r[s],c=new Error("e",{cause:7}).cause!==7,o=function(m,p){var b={};b[m]=a(m,p,c),t({global:!0,constructor:!0,arity:1,forced:c},b)},f=function(m,p){if(u&&u[m]){var b={};b[m]=a(s+"."+m,p,c),t({target:s,stat:!0,constructor:!0,arity:1,forced:c},b)}};o("Error",function(m){return function(b){return n(m,this,arguments)}}),o("EvalError",function(m){return function(b){return n(m,this,arguments)}}),o("RangeError",function(m){return function(b){return n(m,this,arguments)}}),o("ReferenceError",function(m){return function(b){return n(m,this,arguments)}}),o("SyntaxError",function(m){return function(b){return n(m,this,arguments)}}),o("TypeError",function(m){return function(b){return n(m,this,arguments)}}),o("URIError",function(m){return function(b){return n(m,this,arguments)}}),f("CompileError",function(m){return function(b){return n(m,this,arguments)}}),f("LinkError",function(m){return function(b){return n(m,this,arguments)}}),f("RuntimeError",function(m){return function(b){return n(m,this,arguments)}})},99953:function(i,d,e){"use strict";var t=e(2291),r=e(13367),n=Error.prototype;n.toString!==r&&t(n,"toString",r)},65009:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(69905),a=r("".charAt),s=r("".charCodeAt),u=r(/./.exec),c=r(1 .toString),o=r("".toUpperCase),f=/[\w*+\-./@]/,m=function(p,b){for(var g=c(p,16);g.length9490626562425156e-8?a(m)+u:r(m-1+s(m-1)*s(m+1))}})},85660:function(i,d,e){"use strict";var t=e(94488),r=Math.asinh,n=Math.log,a=Math.sqrt;function s(c){var o=+c;return!isFinite(o)||o===0?o:o<0?-s(-o):n(o+a(o*o+1))}var u=!(r&&1/r(0)>0);t({target:"Math",stat:!0,forced:u},{asinh:s})},80031:function(i,d,e){"use strict";var t=e(94488),r=Math.atanh,n=Math.log,a=!(r&&1/r(-0)<0);t({target:"Math",stat:!0,forced:a},{atanh:function(u){var c=+u;return c===0?c:n((1+c)/(1-c))/2}})},34434:function(i,d,e){"use strict";var t=e(94488),r=e(37666),n=Math.abs,a=Math.pow;t({target:"Math",stat:!0},{cbrt:function(u){var c=+u;return r(c)*a(n(c),.3333333333333333)}})},83579:function(i,d,e){"use strict";var t=e(94488),r=Math.floor,n=Math.log,a=Math.LOG2E;t({target:"Math",stat:!0},{clz32:function(u){var c=u>>>0;return c?31-r(n(c+.5)*a):32}})},74307:function(i,d,e){"use strict";var t=e(94488),r=e(10014),n=Math.cosh,a=Math.abs,s=Math.E,u=!n||n(710)===1/0;t({target:"Math",stat:!0,forced:u},{cosh:function(o){var f=r(a(o)-1)+1;return(f+1/(f*s*s))*(s/2)}})},97423:function(i,d,e){"use strict";var t=e(94488),r=e(10014);t({target:"Math",stat:!0,forced:r!==Math.expm1},{expm1:r})},93321:function(i,d,e){"use strict";var t=e(94488),r=e(14894);t({target:"Math",stat:!0},{fround:r})},82277:function(i,d,e){"use strict";var t=e(94488),r=Math.hypot,n=Math.abs,a=Math.sqrt,s=!!r&&r(1/0,NaN)!==1/0;t({target:"Math",stat:!0,arity:2,forced:s},{hypot:function(c,o){for(var f=0,m=0,p=arguments.length,b=0,g,E;m0?(E=g/b,f+=E*E):f+=g;return b===1/0?1/0:b*a(f)}})},61425:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=Math.imul,a=r(function(){return n(4294967295,5)!==-5||n.length!==2});t({target:"Math",stat:!0,forced:a},{imul:function(u,c){var o=65535,f=+u,m=+c,p=o&f,b=o&m;return 0|p*b+((o&f>>>16)*b+p*(o&m>>>16)<<16>>>0)}})},61873:function(i,d,e){"use strict";var t=e(94488),r=e(53309);t({target:"Math",stat:!0},{log10:r})},9307:function(i,d,e){"use strict";var t=e(94488),r=e(25726);t({target:"Math",stat:!0},{log1p:r})},8821:function(i,d,e){"use strict";var t=e(94488),r=Math.log,n=Math.LN2;t({target:"Math",stat:!0},{log2:function(s){return r(s)/n}})},64385:function(i,d,e){"use strict";var t=e(94488),r=e(37666);t({target:"Math",stat:!0},{sign:r})},64099:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(10014),a=Math.abs,s=Math.exp,u=Math.E,c=r(function(){return Math.sinh(-2e-17)!==-2e-17});t({target:"Math",stat:!0,forced:c},{sinh:function(f){var m=+f;return a(m)<1?(n(m)-n(-m))/2:(s(m-1)-s(-m-1))*(u/2)}})},62455:function(i,d,e){"use strict";var t=e(94488),r=e(10014),n=Math.exp;t({target:"Math",stat:!0},{tanh:function(s){var u=+s,c=r(u),o=r(-u);return c===1/0?1:o===1/0?-1:(c-o)/(n(u)+n(-u))}})},79965:function(i,d,e){"use strict";var t=e(94573);t(Math,"Math",!0)},59118:function(i,d,e){"use strict";var t=e(94488),r=e(3312);t({target:"Math",stat:!0},{trunc:r})},275:function(i,d,e){"use strict";var t=e(94488),r=e(16697),n=e(35454),a=e(92916),s=e(9699),u=e(94237),c=e(20865),o=e(32621),f=e(25576),m=e(16332),p=e(18446),b=e(97954),g=e(3338),E=e(80689).f,O=e(71256).f,S=e(37691).f,I=e(49228),P=e(52971).trim,k="Number",R=a[k],T=s[k],A=R.prototype,D=a.TypeError,j=u("".slice),L=u("".charCodeAt),V=function(Q){var H=b(Q,"number");return typeof H=="bigint"?H:z(H)},z=function(Q){var H=b(Q,"number"),F,q,M,N,K,ne,se,_e;if(p(H))throw new D("Cannot convert a Symbol value to a number");if(typeof H=="string"&&H.length>2){if(H=P(H),F=L(H,0),F===43||F===45){if(q=L(H,2),q===88||q===120)return NaN}else if(F===48){switch(L(H,1)){case 66:case 98:M=2,N=49;break;case 79:case 111:M=8,N=55;break;default:return+H}for(K=j(H,2),ne=K.length,se=0;seN)return NaN;return parseInt(K,M)}}return+H},Y=c(k,!R(" 0o1")||!R("0b1")||R("+0x1")),B=function(Q){return m(A,Q)&&g(function(){I(Q)})},W=function(H){var F=arguments.length<1?0:R(V(H));return B(this)?f(Object(F),this,W):F};W.prototype=A,Y&&!r&&(A.constructor=W),t({global:!0,constructor:!0,wrap:!0,forced:Y},{Number:W});var G=function(Q,H){for(var F=n?E(H):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),q=0,M;F.length>q;q++)o(H,M=F[q])&&!o(Q,M)&&S(Q,M,O(H,M))};r&&T&&G(s[k],T),(Y||r)&&G(s[k],R)},31919:function(i,d,e){"use strict";var t=e(94488);t({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},51284:function(i,d,e){"use strict";var t=e(94488),r=e(1222);t({target:"Number",stat:!0},{isFinite:r})},10177:function(i,d,e){"use strict";var t=e(94488),r=e(62896);t({target:"Number",stat:!0},{isInteger:r})},85690:function(i,d,e){"use strict";var t=e(94488);t({target:"Number",stat:!0},{isNaN:function(n){return n!==n}})},92114:function(i,d,e){"use strict";var t=e(94488),r=e(62896),n=Math.abs;t({target:"Number",stat:!0},{isSafeInteger:function(s){return r(s)&&n(s)<=9007199254740991}})},1017:function(i,d,e){"use strict";var t=e(94488);t({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},14480:function(i,d,e){"use strict";var t=e(94488);t({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},40516:function(i,d,e){"use strict";var t=e(94488),r=e(31280);t({target:"Number",stat:!0,forced:Number.parseFloat!==r},{parseFloat:r})},76345:function(i,d,e){"use strict";var t=e(94488),r=e(52446);t({target:"Number",stat:!0,forced:Number.parseInt!==r},{parseInt:r})},7282:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(56902),a=e(49228),s=e(71049),u=e(53309),c=e(3338),o=RangeError,f=String,m=isFinite,p=Math.abs,b=Math.floor,g=Math.pow,E=Math.round,O=r(1 .toExponential),S=r(s),I=r("".slice),P=O(-69e-12,4)==="-6.9000e-11"&&O(1.255,2)==="1.25e+0"&&O(12345,3)==="1.235e+4"&&O(25,0)==="3e+1",k=function(){return c(function(){O(1,1/0)})&&c(function(){O(1,-1/0)})},R=function(){return!c(function(){O(1/0,1/0),O(NaN,1/0)})},T=!P||!k()||!R();t({target:"Number",proto:!0,forced:T},{toExponential:function(D){var j=a(this);if(D===void 0)return O(j);var L=n(D);if(!m(j))return String(j);if(L<0||L>20)throw new o("Incorrect fraction digits");if(P)return O(j,L);var V="",z="",Y=0,B="",W="";if(j<0&&(V="-",j=-j),j===0)Y=0,z=S("0",L+1);else{var G=u(j);Y=b(G);var Q=0,H=g(10,Y-L);Q=E(j/H),2*j>=(2*Q+1)*H&&(Q+=1),Q>=g(10,L+1)&&(Q/=10,Y+=1),z=f(Q)}return L!==0&&(z=I(z,0,1)+"."+I(z,1)),Y===0?(B="+",W="0"):(B=Y>0?"+":"-",W=f(p(Y))),z+="e"+B+W,V+z}})},58055:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(56902),a=e(49228),s=e(71049),u=e(3338),c=RangeError,o=String,f=Math.floor,m=r(s),p=r("".slice),b=r(1 .toFixed),g=function(k,R,T){return R===0?T:R%2===1?g(k,R-1,T*k):g(k*k,R/2,T)},E=function(k){for(var R=0,T=k;T>=4096;)R+=12,T/=4096;for(;T>=2;)R+=1,T/=2;return R},O=function(k,R,T){for(var A=-1,D=T;++A<6;)D+=R*k[A],k[A]=D%1e7,D=f(D/1e7)},S=function(k,R){for(var T=6,A=0;--T>=0;)A+=k[T],k[T]=f(A/R),A=A%R*1e7},I=function(k){for(var R=6,T="";--R>=0;)if(T!==""||R===0||k[R]!==0){var A=o(k[R]);T=T===""?A:T+m("0",7-A.length)+A}return T},P=u(function(){return b(8e-5,3)!=="0.000"||b(.9,0)!=="1"||b(1.255,2)!=="1.25"||b(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!u(function(){b({})});t({target:"Number",proto:!0,forced:P},{toFixed:function(R){var T=a(this),A=n(R),D=[0,0,0,0,0,0],j="",L="0",V,z,Y,B;if(A<0||A>20)throw new c("Incorrect fraction digits");if(T!==T)return"NaN";if(T<=-1e21||T>=1e21)return o(T);if(T<0&&(j="-",T=-T),T>1e-21)if(V=E(T*g(2,69,1))-69,z=V<0?T*g(2,-V,1):T/g(2,V,1),z*=4503599627370496,V=52-V,V>0){for(O(D,0,z),Y=A;Y>=7;)O(D,1e7,0),Y-=7;for(O(D,g(10,Y,1),0),Y=V-1;Y>=23;)S(D,8388608),Y-=23;S(D,1<0?(B=L.length,L=j+(B<=A?"0."+m("0",A-B)+L:p(L,0,B-A)+"."+p(L,B-A))):L=j+L,L}})},93547:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(3338),a=e(49228),s=r(1 .toPrecision),u=n(function(){return s(1,void 0)!=="1"})||!n(function(){s({})});t({target:"Number",proto:!0,forced:u},{toPrecision:function(o){return o===void 0?s(a(this)):s(a(this),o)}})},31237:function(i,d,e){"use strict";var t=e(94488),r=e(80530);t({target:"Object",stat:!0,arity:2,forced:Object.assign!==r},{assign:r})},17954:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(20132);t({target:"Object",stat:!0,sham:!r},{create:n})},58580:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(25837),a=e(63335),s=e(94029),u=e(37691);r&&t({target:"Object",proto:!0,forced:n},{__defineGetter__:function(o,f){u.f(s(this),o,{get:a(f),enumerable:!0,configurable:!0})}})},47146:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(55666).f;t({target:"Object",stat:!0,forced:Object.defineProperties!==n,sham:!r},{defineProperties:n})},40416:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(37691).f;t({target:"Object",stat:!0,forced:Object.defineProperty!==n,sham:!r},{defineProperty:n})},7615:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(25837),a=e(63335),s=e(94029),u=e(37691);r&&t({target:"Object",proto:!0,forced:n},{__defineSetter__:function(o,f){u.f(s(this),o,{set:a(f),enumerable:!0,configurable:!0})}})},72820:function(i,d,e){"use strict";var t=e(94488),r=e(88698).entries;t({target:"Object",stat:!0},{entries:function(a){return r(a)}})},86070:function(i,d,e){"use strict";var t=e(94488),r=e(13247),n=e(3338),a=e(31946),s=e(2074).onFreeze,u=Object.freeze,c=n(function(){u(1)});t({target:"Object",stat:!0,forced:c,sham:!r},{freeze:function(f){return u&&a(f)?u(s(f)):f}})},23569:function(i,d,e){"use strict";var t=e(94488),r=e(62003),n=e(69392);t({target:"Object",stat:!0},{fromEntries:function(s){var u={};return r(s,function(c,o){n(u,c,o)},{AS_ENTRIES:!0}),u}})},55639:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(80524),a=e(71256).f,s=e(35454),u=!s||r(function(){a(1)});t({target:"Object",stat:!0,forced:u,sham:!s},{getOwnPropertyDescriptor:function(o,f){return a(n(o),f)}})},63046:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(48662),a=e(80524),s=e(71256),u=e(69392);t({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(o){for(var f=a(o),m=s.f,p=n(f),b={},g=0,E,O;p.length>g;)O=m(f,E=p[g++]),O!==void 0&&u(b,E,O);return b}})},464:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(53393).f,a=r(function(){return!Object.getOwnPropertyNames(1)});t({target:"Object",stat:!0,forced:a},{getOwnPropertyNames:n})},67936:function(i,d,e){"use strict";var t=e(94488),r=e(42820),n=e(3338),a=e(92635),s=e(94029),u=!r||n(function(){a.f(1)});t({target:"Object",stat:!0,forced:u},{getOwnPropertySymbols:function(o){var f=a.f;return f?f(s(o)):[]}})},51082:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(94029),a=e(53456),s=e(4870),u=r(function(){a(1)});t({target:"Object",stat:!0,forced:u,sham:!s},{getPrototypeOf:function(o){return a(n(o))}})},83850:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(94237),a=e(63335),s=e(95955),u=e(17818),c=e(62003),o=r("Object","create"),f=n([].push);t({target:"Object",stat:!0},{groupBy:function(p,b){s(p),a(b);var g=o(null),E=0;return c(p,function(O){var S=u(b(O,E++));S in g?f(g[S],O):g[S]=[O]}),g}})},41990:function(i,d,e){"use strict";var t=e(94488),r=e(32621);t({target:"Object",stat:!0},{hasOwn:r})},55888:function(i,d,e){"use strict";var t=e(94488),r=e(12477);t({target:"Object",stat:!0,forced:Object.isExtensible!==r},{isExtensible:r})},53827:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(31946),a=e(29076),s=e(51424),u=Object.isFrozen,c=s||r(function(){u(1)});t({target:"Object",stat:!0,forced:c},{isFrozen:function(f){return!n(f)||s&&a(f)==="ArrayBuffer"?!0:u?u(f):!1}})},78143:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(31946),a=e(29076),s=e(51424),u=Object.isSealed,c=s||r(function(){u(1)});t({target:"Object",stat:!0,forced:c},{isSealed:function(f){return!n(f)||s&&a(f)==="ArrayBuffer"?!0:u?u(f):!1}})},15787:function(i,d,e){"use strict";var t=e(94488),r=e(5370);t({target:"Object",stat:!0},{is:r})},66419:function(i,d,e){"use strict";var t=e(94488),r=e(94029),n=e(7733),a=e(3338),s=a(function(){n(1)});t({target:"Object",stat:!0,forced:s},{keys:function(c){return n(r(c))}})},75765:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(25837),a=e(94029),s=e(17818),u=e(53456),c=e(71256).f;r&&t({target:"Object",proto:!0,forced:n},{__lookupGetter__:function(f){var m=a(this),p=s(f),b;do if(b=c(m,p))return b.get;while(m=u(m))}})},14645:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(25837),a=e(94029),s=e(17818),u=e(53456),c=e(71256).f;r&&t({target:"Object",proto:!0,forced:n},{__lookupSetter__:function(f){var m=a(this),p=s(f),b;do if(b=c(m,p))return b.set;while(m=u(m))}})},71122:function(i,d,e){"use strict";var t=e(94488),r=e(31946),n=e(2074).onFreeze,a=e(13247),s=e(3338),u=Object.preventExtensions,c=s(function(){u(1)});t({target:"Object",stat:!0,forced:c,sham:!a},{preventExtensions:function(f){return u&&r(f)?u(n(f)):f}})},42084:function(i,d,e){"use strict";var t=e(35454),r=e(64110),n=e(31946),a=e(94029),s=e(95955),u=Object.getPrototypeOf,c=Object.setPrototypeOf,o=Object.prototype,f="__proto__";if(t&&u&&c&&!(f in o))try{r(o,f,{configurable:!0,get:function(){return u(a(this))},set:function(p){var b=s(this);!n(p)&&p!==null||!n(b)||c(b,p)}})}catch(m){}},25070:function(i,d,e){"use strict";var t=e(94488),r=e(31946),n=e(2074).onFreeze,a=e(13247),s=e(3338),u=Object.seal,c=s(function(){u(1)});t({target:"Object",stat:!0,forced:c,sham:!a},{seal:function(f){return u&&r(f)?u(n(f)):f}})},77140:function(i,d,e){"use strict";var t=e(94488),r=e(58218);t({target:"Object",stat:!0},{setPrototypeOf:r})},15954:function(i,d,e){"use strict";var t=e(68527),r=e(2291),n=e(28488);t||r(Object.prototype,"toString",n,{unsafe:!0})},4266:function(i,d,e){"use strict";var t=e(94488),r=e(88698).values;t({target:"Object",stat:!0},{values:function(a){return r(a)}})},49988:function(i,d,e){"use strict";var t=e(94488),r=e(31280);t({global:!0,forced:parseFloat!==r},{parseFloat:r})},38823:function(i,d,e){"use strict";var t=e(94488),r=e(52446);t({global:!0,forced:parseInt!==r},{parseInt:r})},4045:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(63335),a=e(73446),s=e(80734),u=e(62003),c=e(22093);t({target:"Promise",stat:!0,forced:c},{allSettled:function(f){var m=this,p=a.f(m),b=p.resolve,g=p.reject,E=s(function(){var O=n(m.resolve),S=[],I=0,P=1;u(f,function(k){var R=I++,T=!1;P++,r(O,m,k).then(function(A){T||(T=!0,S[R]={status:"fulfilled",value:A},--P||b(S))},function(A){T||(T=!0,S[R]={status:"rejected",reason:A},--P||b(S))})}),--P||b(S)});return E.error&&g(E.value),p.promise}})},12785:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(63335),a=e(73446),s=e(80734),u=e(62003),c=e(22093);t({target:"Promise",stat:!0,forced:c},{all:function(f){var m=this,p=a.f(m),b=p.resolve,g=p.reject,E=s(function(){var O=n(m.resolve),S=[],I=0,P=1;u(f,function(k){var R=I++,T=!1;P++,r(O,m,k).then(function(A){T||(T=!0,S[R]=A,--P||b(S))},g)}),--P||b(S)});return E.error&&g(E.value),p.promise}})},50747:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(63335),a=e(65911),s=e(73446),u=e(80734),c=e(62003),o=e(22093),f="No one promise resolved";t({target:"Promise",stat:!0,forced:o},{any:function(p){var b=this,g=a("AggregateError"),E=s.f(b),O=E.resolve,S=E.reject,I=u(function(){var P=n(b.resolve),k=[],R=0,T=1,A=!1;c(p,function(D){var j=R++,L=!1;T++,r(P,b,D).then(function(V){L||A||(A=!0,O(V))},function(V){L||A||(L=!0,k[j]=V,--T||S(new g(k,f)))})}),--T||S(new g(k,f))});return I.error&&S(I.value),E.promise}})},41902:function(i,d,e){"use strict";var t=e(94488),r=e(16697),n=e(82830).CONSTRUCTOR,a=e(2451),s=e(65911),u=e(55327),c=e(2291),o=a&&a.prototype;if(t({target:"Promise",proto:!0,forced:n,real:!0},{catch:function(m){return this.then(void 0,m)}}),!r&&u(a)){var f=s("Promise").prototype.catch;o.catch!==f&&c(o,"catch",f,{unsafe:!0})}},90366:function(i,d,e){"use strict";var t=e(94488),r=e(16697),n=e(90946),a=e(92916),s=e(89945),u=e(2291),c=e(58218),o=e(94573),f=e(51996),m=e(63335),p=e(55327),b=e(31946),g=e(56472),E=e(60473),O=e(28887).set,S=e(72933),I=e(61810),P=e(80734),k=e(66790),R=e(94844),T=e(2451),A=e(82830),D=e(73446),j="Promise",L=A.CONSTRUCTOR,V=A.REJECTION_EVENT,z=A.SUBCLASSING,Y=R.getterFor(j),B=R.set,W=T&&T.prototype,G=T,Q=W,H=a.TypeError,F=a.document,q=a.process,M=D.f,N=M,K=!!(F&&F.createEvent&&a.dispatchEvent),ne="unhandledrejection",se="rejectionhandled",_e=0,le=1,he=2,We=1,Ke=2,ft,_t,pt,et,me=function(Be){var we;return b(Be)&&p(we=Be.then)?we:!1},Ie=function(Be,we){var ue=we.value,ye=we.state===le,Se=ye?Be.ok:Be.fail,rt=Be.resolve,xt=Be.reject,ce=Be.domain,xe,dt,qe;try{Se?(ye||(we.rejection===Ke&&At(we),we.rejection=We),Se===!0?xe=ue:(ce&&ce.enter(),xe=Se(ue),ce&&(ce.exit(),qe=!0)),xe===Be.promise?xt(new H("Promise-chain cycle")):(dt=me(xe))?s(dt,xe,rt,xt):rt(xe)):xt(ue)}catch(He){ce&&!qe&&ce.exit(),xt(He)}},$e=function(Be,we){Be.notified||(Be.notified=!0,S(function(){for(var ue=Be.reactions,ye;ye=ue.get();)Ie(ye,Be);Be.notified=!1,we&&!Be.rejection&&wt(Be)}))},nt=function(Be,we,ue){var ye,Se;K?(ye=F.createEvent("Event"),ye.promise=we,ye.reason=ue,ye.initEvent(Be,!1,!0),a.dispatchEvent(ye)):ye={promise:we,reason:ue},!V&&(Se=a["on"+Be])?Se(ye):Be===ne&&I("Unhandled promise rejection",ue)},wt=function(Be){s(O,a,function(){var we=Be.facade,ue=Be.value,ye=Mt(Be),Se;if(ye&&(Se=P(function(){n?q.emit("unhandledRejection",ue,we):nt(ne,we,ue)}),Be.rejection=n||Mt(Be)?Ke:We,Se.error))throw Se.value})},Mt=function(Be){return Be.rejection!==We&&!Be.parent},At=function(Be){s(O,a,function(){var we=Be.facade;n?q.emit("rejectionHandled",we):nt(se,we,Be.value)})},De=function(Be,we,ue){return function(ye){Be(we,ye,ue)}},Qe=function(Be,we,ue){Be.done||(Be.done=!0,ue&&(Be=ue),Be.value=we,Be.state=he,$e(Be,!0))},mt=function(Be,we,ue){if(!Be.done){Be.done=!0,ue&&(Be=ue);try{if(Be.facade===we)throw new H("Promise can't be resolved itself");var ye=me(we);ye?S(function(){var Se={done:!1};try{s(ye,we,De(mt,Se,Be),De(Qe,Se,Be))}catch(rt){Qe(Se,rt,Be)}}):(Be.value=we,Be.state=le,$e(Be,!1))}catch(Se){Qe({done:!1},Se,Be)}}};if(L&&(G=function(we){g(this,Q),m(we),s(ft,this);var ue=Y(this);try{we(De(mt,ue),De(Qe,ue))}catch(ye){Qe(ue,ye)}},Q=G.prototype,ft=function(we){B(this,{type:j,done:!1,notified:!1,parent:!1,reactions:new k,rejection:!1,state:_e,value:void 0})},ft.prototype=u(Q,"then",function(we,ue){var ye=Y(this),Se=M(E(this,G));return ye.parent=!0,Se.ok=p(we)?we:!0,Se.fail=p(ue)&&ue,Se.domain=n?q.domain:void 0,ye.state===_e?ye.reactions.add(Se):S(function(){Ie(Se,ye)}),Se.promise}),_t=function(){var Be=new ft,we=Y(Be);this.promise=Be,this.resolve=De(mt,we),this.reject=De(Qe,we)},D.f=M=function(Be){return Be===G||Be===pt?new _t(Be):N(Be)},!r&&p(T)&&W!==Object.prototype)){et=W.then,z||u(W,"then",function(we,ue){var ye=this;return new G(function(Se,rt){s(et,ye,Se,rt)}).then(we,ue)},{unsafe:!0});try{delete W.constructor}catch(Be){}c&&c(W,Q)}t({global:!0,constructor:!0,wrap:!0,forced:L},{Promise:G}),o(G,j,!1,!0),f(j)},43595:function(i,d,e){"use strict";var t=e(94488),r=e(16697),n=e(2451),a=e(3338),s=e(65911),u=e(55327),c=e(60473),o=e(15597),f=e(2291),m=n&&n.prototype,p=!!n&&a(function(){m.finally.call({then:function(){}},function(){})});if(t({target:"Promise",proto:!0,real:!0,forced:p},{finally:function(g){var E=c(this,s("Promise")),O=u(g);return this.then(O?function(S){return o(E,g()).then(function(){return S})}:g,O?function(S){return o(E,g()).then(function(){throw S})}:g)}}),!r&&u(n)){var b=s("Promise").prototype.finally;m.finally!==b&&f(m,"finally",b,{unsafe:!0})}},24627:function(i,d,e){"use strict";e(90366),e(12785),e(41902),e(20733),e(95693),e(81930)},20733:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(63335),a=e(73446),s=e(80734),u=e(62003),c=e(22093);t({target:"Promise",stat:!0,forced:c},{race:function(f){var m=this,p=a.f(m),b=p.reject,g=s(function(){var E=n(m.resolve);u(f,function(O){r(E,m,O).then(p.resolve,b)})});return g.error&&b(g.value),p.promise}})},95693:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(73446),a=e(82830).CONSTRUCTOR;t({target:"Promise",stat:!0,forced:a},{reject:function(u){var c=n.f(this);return r(c.reject,void 0,u),c.promise}})},81930:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(16697),a=e(2451),s=e(82830).CONSTRUCTOR,u=e(15597),c=r("Promise"),o=n&&!s;t({target:"Promise",stat:!0,forced:n||s},{resolve:function(m){return u(o&&this===c?a:this,m)}})},92324:function(i,d,e){"use strict";var t=e(94488),r=e(73446);t({target:"Promise",stat:!0},{withResolvers:function(){var a=r.f(this);return{promise:a.promise,resolve:a.resolve,reject:a.reject}}})},23551:function(i,d,e){"use strict";var t=e(94488),r=e(13743),n=e(63335),a=e(80449),s=e(3338),u=!s(function(){Reflect.apply(function(){})});t({target:"Reflect",stat:!0,forced:u},{apply:function(o,f,m){return r(n(o),f,a(m))}})},74521:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(13743),a=e(4645),s=e(6086),u=e(80449),c=e(31946),o=e(20132),f=e(3338),m=r("Reflect","construct"),p=Object.prototype,b=[].push,g=f(function(){function S(){}return!(m(function(){},[],S)instanceof S)}),E=!f(function(){m(function(){})}),O=g||E;t({target:"Reflect",stat:!0,forced:O,sham:O},{construct:function(I,P){s(I),u(P);var k=arguments.length<3?I:s(arguments[2]);if(E&&!g)return m(I,P,k);if(I===k){switch(P.length){case 0:return new I;case 1:return new I(P[0]);case 2:return new I(P[0],P[1]);case 3:return new I(P[0],P[1],P[2]);case 4:return new I(P[0],P[1],P[2],P[3])}var R=[null];return n(b,R,P),new(n(a,I,R))}var T=k.prototype,A=o(c(T)?T:p),D=n(I,A,P);return c(D)?D:A}})},57891:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(80449),a=e(17818),s=e(37691),u=e(3338),c=u(function(){Reflect.defineProperty(s.f({},1,{value:1}),1,{value:2})});t({target:"Reflect",stat:!0,forced:c,sham:!r},{defineProperty:function(f,m,p){n(f);var b=a(m);n(p);try{return s.f(f,b,p),!0}catch(g){return!1}}})},84138:function(i,d,e){"use strict";var t=e(94488),r=e(80449),n=e(71256).f;t({target:"Reflect",stat:!0},{deleteProperty:function(s,u){var c=n(r(s),u);return c&&!c.configurable?!1:delete s[u]}})},37135:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(80449),a=e(71256);t({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(u,c){return a.f(n(u),c)}})},6474:function(i,d,e){"use strict";var t=e(94488),r=e(80449),n=e(53456),a=e(4870);t({target:"Reflect",stat:!0,sham:!a},{getPrototypeOf:function(u){return n(r(u))}})},51832:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(31946),a=e(80449),s=e(60516),u=e(71256),c=e(53456);function o(f,m){var p=arguments.length<3?f:arguments[2],b,g;if(a(f)===p)return f[m];if(b=u.f(f,m),b)return s(b)?b.value:b.get===void 0?void 0:r(b.get,p);if(n(g=c(f)))return o(g,m,p)}t({target:"Reflect",stat:!0},{get:o})},40135:function(i,d,e){"use strict";var t=e(94488);t({target:"Reflect",stat:!0},{has:function(n,a){return a in n}})},7982:function(i,d,e){"use strict";var t=e(94488),r=e(80449),n=e(12477);t({target:"Reflect",stat:!0},{isExtensible:function(s){return r(s),n(s)}})},14893:function(i,d,e){"use strict";var t=e(94488),r=e(48662);t({target:"Reflect",stat:!0},{ownKeys:r})},49233:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(80449),a=e(13247);t({target:"Reflect",stat:!0,sham:!a},{preventExtensions:function(u){n(u);try{var c=r("Object","preventExtensions");return c&&c(u),!0}catch(o){return!1}}})},42844:function(i,d,e){"use strict";var t=e(94488),r=e(80449),n=e(557),a=e(58218);a&&t({target:"Reflect",stat:!0},{setPrototypeOf:function(u,c){r(u),n(c);try{return a(u,c),!0}catch(o){return!1}}})},92130:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(80449),a=e(31946),s=e(60516),u=e(3338),c=e(37691),o=e(71256),f=e(53456),m=e(35012);function p(g,E,O){var S=arguments.length<4?g:arguments[3],I=o.f(n(g),E),P,k,R;if(!I){if(a(k=f(g)))return p(k,E,O,S);I=m(0)}if(s(I)){if(I.writable===!1||!a(S))return!1;if(P=o.f(S,E)){if(P.get||P.set||P.writable===!1)return!1;P.value=O,c.f(S,E,P)}else c.f(S,E,m(0,O))}else{if(R=I.set,R===void 0)return!1;r(R,S,O)}return!0}var b=u(function(){var g=function(){},E=c.f(new g,"a",{configurable:!0});return Reflect.set(g.prototype,"a",1,E)!==!1});t({target:"Reflect",stat:!0,forced:b},{set:p})},6536:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(94573);t({global:!0},{Reflect:{}}),n(r.Reflect,"Reflect",!0)},27228:function(i,d,e){"use strict";var t=e(35454),r=e(92916),n=e(94237),a=e(20865),s=e(25576),u=e(68151),c=e(20132),o=e(80689).f,f=e(16332),m=e(44639),p=e(69905),b=e(81644),g=e(19286),E=e(44166),O=e(2291),S=e(3338),I=e(32621),P=e(94844).enforce,k=e(51996),R=e(59893),T=e(6041),A=e(51224),D=R("match"),j=r.RegExp,L=j.prototype,V=r.SyntaxError,z=n(L.exec),Y=n("".charAt),B=n("".replace),W=n("".indexOf),G=n("".slice),Q=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,H=/a/g,F=/a/g,q=new j(H)!==H,M=g.MISSED_STICKY,N=g.UNSUPPORTED_Y,K=t&&(!q||M||T||A||S(function(){return F[D]=!1,j(H)!==H||j(F)===F||String(j(H,"i"))!=="/a/i"})),ne=function(We){for(var Ke=We.length,ft=0,_t="",pt=!1,et;ft<=Ke;ft++){if(et=Y(We,ft),et==="\\"){_t+=et+Y(We,++ft);continue}!pt&&et==="."?_t+="[\\s\\S]":(et==="["?pt=!0:et==="]"&&(pt=!1),_t+=et)}return _t},se=function(We){for(var Ke=We.length,ft=0,_t="",pt=[],et=c(null),me=!1,Ie=!1,$e=0,nt="",wt;ft<=Ke;ft++){if(wt=Y(We,ft),wt==="\\")wt+=Y(We,++ft);else if(wt==="]")me=!1;else if(!me)switch(!0){case wt==="[":me=!0;break;case wt==="(":z(Q,G(We,ft+1))&&(ft+=2,Ie=!0),_t+=wt,$e++;continue;case(wt===">"&&Ie):if(nt===""||I(et,nt))throw new V("Invalid capture group name");et[nt]=!0,pt[pt.length]=[nt,$e],Ie=!1,nt="";continue}Ie?nt+=wt:_t+=wt}return[_t,pt]};if(a("RegExp",K)){for(var _e=function(Ke,ft){var _t=f(L,this),pt=m(Ke),et=ft===void 0,me=[],Ie=Ke,$e,nt,wt,Mt,At,De;if(!_t&&pt&&et&&Ke.constructor===_e)return Ke;if((pt||f(L,Ke))&&(Ke=Ke.source,et&&(ft=b(Ie))),Ke=Ke===void 0?"":p(Ke),ft=ft===void 0?"":p(ft),Ie=Ke,T&&"dotAll"in H&&(nt=!!ft&&W(ft,"s")>-1,nt&&(ft=B(ft,/s/g,""))),$e=ft,M&&"sticky"in H&&(wt=!!ft&&W(ft,"y")>-1,wt&&N&&(ft=B(ft,/y/g,""))),A&&(Mt=se(Ke),Ke=Mt[0],me=Mt[1]),At=s(j(Ke,ft),_t?this:L,_e),(nt||wt||me.length)&&(De=P(At),nt&&(De.dotAll=!0,De.raw=_e(ne(Ke),$e)),wt&&(De.sticky=!0),me.length&&(De.groups=me)),Ke!==Ie)try{u(At,"source",Ie===""?"(?:)":Ie)}catch(Qe){}return At},le=o(j),he=0;le.length>he;)E(_e,j,le[he++]);L.constructor=_e,_e.prototype=L,O(r,"RegExp",_e,{constructor:!0})}k("RegExp")},62921:function(i,d,e){"use strict";var t=e(35454),r=e(6041),n=e(29076),a=e(64110),s=e(94844).get,u=RegExp.prototype,c=TypeError;t&&r&&a(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if(n(this)==="RegExp")return!!s(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},44001:function(i,d,e){"use strict";var t=e(94488),r=e(88736);t({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},92262:function(i,d,e){"use strict";var t=e(92916),r=e(35454),n=e(64110),a=e(82163),s=e(3338),u=t.RegExp,c=u.prototype,o=r&&s(function(){var f=!0;try{u(".","d")}catch(I){f=!1}var m={},p="",b=f?"dgimsy":"gimsy",g=function(I,P){Object.defineProperty(m,I,{get:function(){return p+=P,!0}})},E={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};f&&(E.hasIndices="d");for(var O in E)g(O,E[O]);var S=Object.getOwnPropertyDescriptor(c,"flags").get.call(m);return S!==b||p!==b});o&&n(c,"flags",{configurable:!0,get:a})},54744:function(i,d,e){"use strict";var t=e(35454),r=e(19286).MISSED_STICKY,n=e(29076),a=e(64110),s=e(94844).get,u=RegExp.prototype,c=TypeError;t&&r&&a(u,"sticky",{configurable:!0,get:function(){if(this!==u){if(n(this)==="RegExp")return!!s(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},38214:function(i,d,e){"use strict";e(44001);var t=e(94488),r=e(89945),n=e(55327),a=e(80449),s=e(69905),u=function(){var o=!1,f=/[ac]/;return f.exec=function(){return o=!0,/./.exec.apply(this,arguments)},f.test("abc")===!0&&o}(),c=/./.test;t({target:"RegExp",proto:!0,forced:!u},{test:function(o){var f=a(this),m=s(o),p=f.exec;if(!n(p))return r(c,f,m);var b=r(p,f,m);return b===null?!1:(a(b),!0)}})},12756:function(i,d,e){"use strict";var t=e(8090).PROPER,r=e(2291),n=e(80449),a=e(69905),s=e(3338),u=e(81644),c="toString",o=RegExp.prototype,f=o[c],m=s(function(){return f.call({source:"a",flags:"b"})!=="/a/b"}),p=t&&f.name!==c;(m||p)&&r(RegExp.prototype,c,function(){var g=n(this),E=a(g.source),O=a(u(g));return"/"+E+"/"+O},{unsafe:!0})},69772:function(i,d,e){"use strict";var t=e(48059),r=e(40942);t("Set",function(n){return function(){return n(this,arguments.length?arguments[0]:void 0)}},r)},93379:function(i,d,e){"use strict";e(69772)},34932:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("anchor")},{anchor:function(s){return r(this,"a","name",s)}})},62007:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(95955),a=e(56902),s=e(69905),u=e(3338),c=r("".charAt),o=u(function(){return"\u{20BB7}".at(-2)!=="\uD842"});t({target:"String",proto:!0,forced:o},{at:function(m){var p=s(n(this)),b=p.length,g=a(m),E=g>=0?g:b+g;return E<0||E>=b?void 0:c(p,E)}})},81046:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("big")},{big:function(){return r(this,"big","","")}})},85744:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("blink")},{blink:function(){return r(this,"blink","","")}})},13494:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("bold")},{bold:function(){return r(this,"b","","")}})},90572:function(i,d,e){"use strict";var t=e(94488),r=e(13764).codeAt;t({target:"String",proto:!0},{codePointAt:function(a){return r(this,a)}})},37343:function(i,d,e){"use strict";var t=e(94488),r=e(34114),n=e(71256).f,a=e(61578),s=e(69905),u=e(41696),c=e(95955),o=e(86266),f=e(16697),m=r("".endsWith),p=r("".slice),b=Math.min,g=o("endsWith"),E=!f&&!g&&!!function(){var O=n(String.prototype,"endsWith");return O&&!O.writable}();t({target:"String",proto:!0,forced:!E&&!g},{endsWith:function(S){var I=s(c(this));u(S);var P=arguments.length>1?arguments[1]:void 0,k=I.length,R=P===void 0?k:b(a(P),k),T=s(S);return m?m(I,T,R):p(I,R-T.length,R)===T}})},56338:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("fixed")},{fixed:function(){return r(this,"tt","","")}})},66755:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("fontcolor")},{fontcolor:function(s){return r(this,"font","color",s)}})},68709:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("fontsize")},{fontsize:function(s){return r(this,"font","size",s)}})},45945:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(51981),a=RangeError,s=String.fromCharCode,u=String.fromCodePoint,c=r([].join),o=!!u&&u.length!==1;t({target:"String",stat:!0,arity:1,forced:o},{fromCodePoint:function(m){for(var p=[],b=arguments.length,g=0,E;b>g;){if(E=+arguments[g++],n(E,1114111)!==E)throw new a(E+" is not a valid code point");p[g]=E<65536?s(E):s(((E-=65536)>>10)+55296,E%1024+56320)}return c(p,"")}})},75551:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(41696),a=e(95955),s=e(69905),u=e(86266),c=r("".indexOf);t({target:"String",proto:!0,forced:!u("includes")},{includes:function(f){return!!~c(s(a(this)),s(n(f)),arguments.length>1?arguments[1]:void 0)}})},32493:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(95955),a=e(69905),s=r("".charCodeAt);t({target:"String",proto:!0},{isWellFormed:function(){for(var c=a(n(this)),o=c.length,f=0;f=56320||++f>=o||(s(c,f)&64512)!==56320))return!1}return!0}})},4939:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("italics")},{italics:function(){return r(this,"i","","")}})},20852:function(i,d,e){"use strict";var t=e(13764).charAt,r=e(69905),n=e(94844),a=e(24019),s=e(25587),u="String Iterator",c=n.set,o=n.getterFor(u);a(String,"String",function(f){c(this,{type:u,string:r(f),index:0})},function(){var m=o(this),p=m.string,b=m.index,g;return b>=p.length?s(void 0,!0):(g=t(p,b),m.index+=g.length,s(g,!1))})},81927:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("link")},{link:function(s){return r(this,"a","href",s)}})},18827:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(34114),a=e(83126),s=e(25587),u=e(95955),c=e(61578),o=e(69905),f=e(80449),m=e(4112),p=e(29076),b=e(44639),g=e(81644),E=e(53776),O=e(2291),S=e(3338),I=e(59893),P=e(60473),k=e(52216),R=e(94338),T=e(94844),A=e(16697),D=I("matchAll"),j="RegExp String",L=j+" Iterator",V=T.set,z=T.getterFor(L),Y=RegExp.prototype,B=TypeError,W=n("".indexOf),G=n("".matchAll),Q=!!G&&!S(function(){G("a",/./)}),H=a(function(M,N,K,ne){V(this,{type:L,regexp:M,string:N,global:K,unicode:ne,done:!1})},j,function(){var M=z(this);if(M.done)return s(void 0,!0);var N=M.regexp,K=M.string,ne=R(N,K);return ne===null?(M.done=!0,s(void 0,!0)):M.global?(o(ne[0])===""&&(N.lastIndex=k(K,c(N.lastIndex),M.unicode)),s(ne,!1)):(M.done=!0,s(ne,!1))}),F=function(q){var M=f(this),N=o(q),K=P(M,RegExp),ne=o(g(M)),se,_e,le;return se=new K(K===RegExp?M.source:M,ne),_e=!!~W(ne,"g"),le=!!~W(ne,"u"),se.lastIndex=c(M.lastIndex),new H(se,N,_e,le)};t({target:"String",proto:!0,forced:Q},{matchAll:function(M){var N=u(this),K,ne,se,_e;if(m(M)){if(Q)return G(N,M)}else{if(b(M)&&(K=o(u(g(M))),!~W(K,"g")))throw new B("`.matchAll` does not allow non-global regexes");if(Q)return G(N,M);if(se=E(M,D),se===void 0&&A&&p(M)==="RegExp"&&(se=F),se)return r(se,M,N)}return ne=o(N),_e=new RegExp(M,"g"),A?r(F,_e,ne):_e[D](ne)}}),A||D in Y||O(Y,D,F)},46302:function(i,d,e){"use strict";var t=e(89945),r=e(8662),n=e(80449),a=e(4112),s=e(61578),u=e(69905),c=e(95955),o=e(53776),f=e(52216),m=e(94338);r("match",function(p,b,g){return[function(O){var S=c(this),I=a(O)?void 0:o(O,p);return I?t(I,O,S):new RegExp(O)[p](u(S))},function(E){var O=n(this),S=u(E),I=g(b,O,S);if(I.done)return I.value;if(!O.global)return m(O,S);var P=O.unicode;O.lastIndex=0;for(var k=[],R=0,T;(T=m(O,S))!==null;){var A=u(T[0]);k[R]=A,A===""&&(O.lastIndex=f(S,s(O.lastIndex),P)),R++}return R===0?null:k}]})},76718:function(i,d,e){"use strict";var t=e(94488),r=e(85571).end,n=e(98352);t({target:"String",proto:!0,forced:n},{padEnd:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}})},79172:function(i,d,e){"use strict";var t=e(94488),r=e(85571).start,n=e(98352);t({target:"String",proto:!0,forced:n},{padStart:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}})},32192:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(80524),a=e(94029),s=e(69905),u=e(82762),c=r([].push),o=r([].join);t({target:"String",stat:!0},{raw:function(m){var p=n(a(m).raw),b=u(p);if(!b)return"";for(var g=arguments.length,E=[],O=0;;){if(c(E,s(p[O++])),O===b)return o(E,"");OT.length?-1:A===""?D:S(T,A,D)};t({target:"String",proto:!0},{replaceAll:function(A,D){var j=a(this),L,V,z,Y,B,W,G,Q,H,F=0,q=0,M="";if(!u(A)){if(L=c(A),L&&(V=o(a(m(A))),!~S(V,"g")))throw new O("`.replaceAll` does not allow non-global regexes");if(z=f(A,E),z)return r(z,A,j,D);if(g&&L)return I(o(j),A,D)}for(Y=o(j),B=o(A),W=s(D),W||(D=o(D)),G=B.length,Q=k(1,G),F=R(Y,B,0);F!==-1;)H=W?o(D(B,F,Y)):p(B,Y,F,[],void 0,D),M+=P(Y,q,F)+H,q=F+G,F=R(Y,B,F+Q);return q")!=="7"});a("replace",function(B,W,G){var Q=z?"$":"$0";return[function(F,q){var M=b(this),N=o(F)?void 0:E(F,P);return N?r(N,F,M,q):r(W,p(M),F,q)},function(H,F){var q=u(this),M=p(H);if(typeof F=="string"&&D(F,Q)===-1&&D(F,"$<")===-1){var N=G(W,q,M,F);if(N.done)return N.value}var K=c(F);K||(F=p(F));var ne=q.global,se;ne&&(se=q.unicode,q.lastIndex=0);for(var _e=[],le;le=S(q,M),!(le===null||(A(_e,le),!ne));){var he=p(le[0]);he===""&&(q.lastIndex=g(M,m(q.lastIndex),se))}for(var We="",Ke=0,ft=0;ft<_e.length;ft++){le=_e[ft];for(var _t=p(le[0]),pt=k(R(f(le.index),M.length),0),et=[],me,Ie=1;Ie=Ke&&(We+=j(M,Ke,pt)+me,Ke=pt+_t.length)}return We+j(M,Ke)}]},!Y||!V||z)},62925:function(i,d,e){"use strict";var t=e(89945),r=e(8662),n=e(80449),a=e(4112),s=e(95955),u=e(5370),c=e(69905),o=e(53776),f=e(94338);r("search",function(m,p,b){return[function(E){var O=s(this),S=a(E)?void 0:o(E,m);return S?t(S,E,O):new RegExp(E)[m](c(O))},function(g){var E=n(this),O=c(g),S=b(p,E,O);if(S.done)return S.value;var I=E.lastIndex;u(I,0)||(E.lastIndex=0);var P=f(E,O);return u(E.lastIndex,I)||(E.lastIndex=I),P===null?-1:P.index}]})},60462:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("small")},{small:function(){return r(this,"small","","")}})},9595:function(i,d,e){"use strict";var t=e(13743),r=e(89945),n=e(94237),a=e(8662),s=e(80449),u=e(4112),c=e(44639),o=e(95955),f=e(60473),m=e(52216),p=e(61578),b=e(69905),g=e(53776),E=e(71698),O=e(94338),S=e(88736),I=e(19286),P=e(3338),k=I.UNSUPPORTED_Y,R=4294967295,T=Math.min,A=[].push,D=n(/./.exec),j=n(A),L=n("".slice),V=!P(function(){var z=/(?:)/,Y=z.exec;z.exec=function(){return Y.apply(this,arguments)};var B="ab".split(z);return B.length!==2||B[0]!=="a"||B[1]!=="b"});a("split",function(z,Y,B){var W;return"abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length?W=function(G,Q){var H=b(o(this)),F=Q===void 0?R:Q>>>0;if(F===0)return[];if(G===void 0)return[H];if(!c(G))return r(Y,H,G,F);for(var q=[],M=(G.ignoreCase?"i":"")+(G.multiline?"m":"")+(G.unicode?"u":"")+(G.sticky?"y":""),N=0,K=new RegExp(G.source,M+"g"),ne,se,_e;(ne=r(S,K,H))&&(se=K.lastIndex,!(se>N&&(j(q,L(H,N,ne.index)),ne.length>1&&ne.index=F)));)K.lastIndex===ne.index&&K.lastIndex++;return N===H.length?(_e||!D(K,""))&&j(q,""):j(q,L(H,N)),q.length>F?E(q,0,F):q}:"0".split(void 0,0).length?W=function(G,Q){return G===void 0&&Q===0?[]:r(Y,this,G,Q)}:W=Y,[function(Q,H){var F=o(this),q=u(Q)?void 0:g(Q,z);return q?r(q,Q,F,H):r(W,b(F),Q,H)},function(G,Q){var H=s(this),F=b(G),q=B(W,H,F,Q,W!==Y);if(q.done)return q.value;var M=f(H,RegExp),N=H.unicode,K=(H.ignoreCase?"i":"")+(H.multiline?"m":"")+(H.unicode?"u":"")+(k?"g":"y"),ne=new M(k?"^(?:"+H.source+")":H,K),se=Q===void 0?R:Q>>>0;if(se===0)return[];if(F.length===0)return O(ne,F)===null?[F]:[];for(var _e=0,le=0,he=[];le1?arguments[1]:void 0,I.length)),k=s(S);return m?m(I,k,P):p(I,P,P+k.length)===k}})},72571:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("strike")},{strike:function(){return r(this,"strike","","")}})},71200:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("sub")},{sub:function(){return r(this,"sub","","")}})},70917:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(95955),a=e(56902),s=e(69905),u=r("".slice),c=Math.max,o=Math.min,f=!"".substr||"ab".substr(-1)!=="b";t({target:"String",proto:!0,forced:f},{substr:function(p,b){var g=s(n(this)),E=g.length,O=a(p),S,I;return O===1/0&&(O=0),O<0&&(O=c(E+O,0)),S=b===void 0?E:a(b),S<=0||S===1/0?"":(I=o(O+S,E),O>=I?"":u(g,O,I))}})},85767:function(i,d,e){"use strict";var t=e(94488),r=e(95994),n=e(17691);t({target:"String",proto:!0,forced:n("sup")},{sup:function(){return r(this,"sup","","")}})},53427:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(94237),a=e(95955),s=e(69905),u=e(3338),c=Array,o=n("".charAt),f=n("".charCodeAt),m=n([].join),p="".toWellFormed,b="\uFFFD",g=p&&u(function(){return r(p,1)!=="1"});t({target:"String",proto:!0,forced:g},{toWellFormed:function(){var O=s(a(this));if(g)return r(p,O);for(var S=O.length,I=c(S),P=0;P=56320||P+1>=S||(f(O,P+1)&64512)!==56320?I[P]=b:(I[P]=o(O,P),I[++P]=o(O,P))}return m(I,"")}})},49257:function(i,d,e){"use strict";e(20189);var t=e(94488),r=e(9591);t({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==r},{trimEnd:r})},93980:function(i,d,e){"use strict";var t=e(94488),r=e(27374);t({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==r},{trimLeft:r})},20189:function(i,d,e){"use strict";var t=e(94488),r=e(9591);t({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==r},{trimRight:r})},72910:function(i,d,e){"use strict";e(93980);var t=e(94488),r=e(27374);t({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==r},{trimStart:r})},70878:function(i,d,e){"use strict";var t=e(94488),r=e(52971).trim,n=e(18105);t({target:"String",proto:!0,forced:n("trim")},{trim:function(){return r(this)}})},64003:function(i,d,e){"use strict";var t=e(94674);t("asyncIterator")},39161:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(89945),a=e(94237),s=e(16697),u=e(35454),c=e(42820),o=e(3338),f=e(32621),m=e(16332),p=e(80449),b=e(80524),g=e(17818),E=e(69905),O=e(35012),S=e(20132),I=e(7733),P=e(80689),k=e(53393),R=e(92635),T=e(71256),A=e(37691),D=e(55666),j=e(27597),L=e(2291),V=e(64110),z=e(77898),Y=e(11898),B=e(54406),W=e(6145),G=e(59893),Q=e(38282),H=e(94674),F=e(14311),q=e(94573),M=e(94844),N=e(90560).forEach,K=Y("hidden"),ne="Symbol",se="prototype",_e=M.set,le=M.getterFor(ne),he=Object[se],We=r.Symbol,Ke=We&&We[se],ft=r.RangeError,_t=r.TypeError,pt=r.QObject,et=T.f,me=A.f,Ie=k.f,$e=j.f,nt=a([].push),wt=z("symbols"),Mt=z("op-symbols"),At=z("wks"),De=!pt||!pt[se]||!pt[se].findChild,Qe=function(xe,dt,qe){var He=et(he,dt);He&&delete he[dt],me(xe,dt,qe),He&&xe!==he&&me(he,dt,He)},mt=u&&o(function(){return S(me({},"a",{get:function(){return me(this,"a",{value:7}).a}})).a!==7})?Qe:me,Be=function(xe,dt){var qe=wt[xe]=S(Ke);return _e(qe,{type:ne,tag:xe,description:dt}),u||(qe.description=dt),qe},we=function(dt,qe,He){dt===he&&we(Mt,qe,He),p(dt);var at=g(qe);return p(He),f(wt,at)?(He.enumerable?(f(dt,K)&&dt[K][at]&&(dt[K][at]=!1),He=S(He,{enumerable:O(0,!1)})):(f(dt,K)||me(dt,K,O(1,{})),dt[K][at]=!0),mt(dt,at,He)):me(dt,at,He)},ue=function(dt,qe){p(dt);var He=b(qe),at=I(He).concat(ce(He));return N(at,function(Rt){(!u||n(Se,He,Rt))&&we(dt,Rt,He[Rt])}),dt},ye=function(dt,qe){return qe===void 0?S(dt):ue(S(dt),qe)},Se=function(dt){var qe=g(dt),He=n($e,this,qe);return this===he&&f(wt,qe)&&!f(Mt,qe)?!1:He||!f(this,qe)||!f(wt,qe)||f(this,K)&&this[K][qe]?He:!0},rt=function(dt,qe){var He=b(dt),at=g(qe);if(!(He===he&&f(wt,at)&&!f(Mt,at))){var Rt=et(He,at);return Rt&&f(wt,at)&&!(f(He,K)&&He[K][at])&&(Rt.enumerable=!0),Rt}},xt=function(dt){var qe=Ie(b(dt)),He=[];return N(qe,function(at){!f(wt,at)&&!f(B,at)&&nt(He,at)}),He},ce=function(xe){var dt=xe===he,qe=Ie(dt?Mt:b(xe)),He=[];return N(qe,function(at){f(wt,at)&&(!dt||f(he,at))&&nt(He,wt[at])}),He};c||(We=function(){if(m(Ke,this))throw new _t("Symbol is not a constructor");var dt=!arguments.length||arguments[0]===void 0?void 0:E(arguments[0]),qe=W(dt),He=function(at){var Rt=this===void 0?r:this;Rt===he&&n(He,Mt,at),f(Rt,K)&&f(Rt[K],qe)&&(Rt[K][qe]=!1);var lt=O(1,at);try{mt(Rt,qe,lt)}catch(Re){if(!(Re instanceof ft))throw Re;Qe(Rt,qe,lt)}};return u&&De&&mt(he,qe,{configurable:!0,set:He}),Be(qe,dt)},Ke=We[se],L(Ke,"toString",function(){return le(this).tag}),L(We,"withoutSetter",function(xe){return Be(W(xe),xe)}),j.f=Se,A.f=we,D.f=ue,T.f=rt,P.f=k.f=xt,R.f=ce,Q.f=function(xe){return Be(G(xe),xe)},u&&(V(Ke,"description",{configurable:!0,get:function(){return le(this).description}}),s||L(he,"propertyIsEnumerable",Se,{unsafe:!0}))),t({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:We}),N(I(At),function(xe){H(xe)}),t({target:ne,stat:!0,forced:!c},{useSetter:function(){De=!0},useSimple:function(){De=!1}}),t({target:"Object",stat:!0,forced:!c,sham:!u},{create:ye,defineProperty:we,defineProperties:ue,getOwnPropertyDescriptor:rt}),t({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:xt}),F(),q(We,ne),B[K]=!0},44852:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(92916),a=e(94237),s=e(32621),u=e(55327),c=e(16332),o=e(69905),f=e(64110),m=e(24538),p=n.Symbol,b=p&&p.prototype;if(r&&u(p)&&(!("description"in b)||p().description!==void 0)){var g={},E=function(){var A=arguments.length<1||arguments[0]===void 0?void 0:o(arguments[0]),D=c(b,this)?new p(A):A===void 0?p():p(A);return A===""&&(g[D]=!0),D};m(E,p),E.prototype=b,b.constructor=E;var O=String(p("description detection"))==="Symbol(description detection)",S=a(b.valueOf),I=a(b.toString),P=/^Symbol\((.*)\)[^)]+$/,k=a("".replace),R=a("".slice);f(b,"description",{configurable:!0,get:function(){var A=S(this);if(s(g,A))return"";var D=I(A),j=O?R(D,7,-1):k(D,P,"$1");return j===""?void 0:j}}),t({global:!0,constructor:!0,forced:!0},{Symbol:E})}},54524:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(32621),a=e(69905),s=e(77898),u=e(60798),c=s("string-to-symbol-registry"),o=s("symbol-to-string-registry");t({target:"Symbol",stat:!0,forced:!u},{for:function(f){var m=a(f);if(n(c,m))return c[m];var p=r("Symbol")(m);return c[m]=p,o[p]=m,p}})},17898:function(i,d,e){"use strict";var t=e(94674);t("hasInstance")},40902:function(i,d,e){"use strict";var t=e(94674);t("isConcatSpreadable")},2259:function(i,d,e){"use strict";var t=e(94674);t("iterator")},68557:function(i,d,e){"use strict";e(39161),e(54524),e(32340),e(54226),e(67936)},32340:function(i,d,e){"use strict";var t=e(94488),r=e(32621),n=e(18446),a=e(40593),s=e(77898),u=e(60798),c=s("symbol-to-string-registry");t({target:"Symbol",stat:!0,forced:!u},{keyFor:function(f){if(!n(f))throw new TypeError(a(f)+" is not a symbol");if(r(c,f))return c[f]}})},69811:function(i,d,e){"use strict";var t=e(94674);t("matchAll")},14589:function(i,d,e){"use strict";var t=e(94674);t("match")},18114:function(i,d,e){"use strict";var t=e(94674);t("replace")},23844:function(i,d,e){"use strict";var t=e(94674);t("search")},39581:function(i,d,e){"use strict";var t=e(94674);t("species")},40632:function(i,d,e){"use strict";var t=e(94674);t("split")},22690:function(i,d,e){"use strict";var t=e(94674),r=e(14311);t("toPrimitive"),r()},7786:function(i,d,e){"use strict";var t=e(65911),r=e(94674),n=e(94573);r("toStringTag"),n(t("Symbol"),"Symbol")},99062:function(i,d,e){"use strict";var t=e(94674);t("unscopables")},35246:function(i,d,e){"use strict";var t=e(58261),r=e(82762),n=e(56902),a=t.aTypedArray,s=t.exportTypedArrayMethod;s("at",function(c){var o=a(this),f=r(o),m=n(c),p=m>=0?m:f+m;return p<0||p>=f?void 0:o[p]})},83470:function(i,d,e){"use strict";var t=e(94237),r=e(58261),n=e(92670),a=t(n),s=r.aTypedArray,u=r.exportTypedArrayMethod;u("copyWithin",function(o,f){return a(s(this),o,f,arguments.length>2?arguments[2]:void 0)})},79641:function(i,d,e){"use strict";var t=e(58261),r=e(90560).every,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("every",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},72397:function(i,d,e){"use strict";var t=e(58261),r=e(75202),n=e(93303),a=e(97607),s=e(89945),u=e(94237),c=e(3338),o=t.aTypedArray,f=t.exportTypedArrayMethod,m=u("".slice),p=c(function(){var b=0;return new Int8Array(2).fill({valueOf:function(){return b++}}),b!==1});f("fill",function(g){var E=arguments.length;o(this);var O=m(a(this),0,3)==="Big"?n(g):+g;return s(r,this,O,E>1?arguments[1]:void 0,E>2?arguments[2]:void 0)},p)},24860:function(i,d,e){"use strict";var t=e(58261),r=e(90560).filter,n=e(27607),a=t.aTypedArray,s=t.exportTypedArrayMethod;s("filter",function(c){var o=r(a(this),c,arguments.length>1?arguments[1]:void 0);return n(this,o)})},56233:function(i,d,e){"use strict";var t=e(58261),r=e(90560).findIndex,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("findIndex",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},64344:function(i,d,e){"use strict";var t=e(58261),r=e(53279).findLastIndex,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("findLastIndex",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},59419:function(i,d,e){"use strict";var t=e(58261),r=e(53279).findLast,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("findLast",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},19320:function(i,d,e){"use strict";var t=e(58261),r=e(90560).find,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("find",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},84432:function(i,d,e){"use strict";var t=e(69733);t("Float32",function(r){return function(a,s,u){return r(this,a,s,u)}})},59022:function(i,d,e){"use strict";var t=e(69733);t("Float64",function(r){return function(a,s,u){return r(this,a,s,u)}})},5316:function(i,d,e){"use strict";var t=e(58261),r=e(90560).forEach,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("forEach",function(u){r(n(this),u,arguments.length>1?arguments[1]:void 0)})},93744:function(i,d,e){"use strict";var t=e(59627),r=e(58261).exportTypedArrayStaticMethod,n=e(50706);r("from",n,t)},19299:function(i,d,e){"use strict";var t=e(58261),r=e(22999).includes,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("includes",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},15286:function(i,d,e){"use strict";var t=e(58261),r=e(22999).indexOf,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("indexOf",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},51054:function(i,d,e){"use strict";var t=e(69733);t("Int16",function(r){return function(a,s,u){return r(this,a,s,u)}})},60330:function(i,d,e){"use strict";var t=e(69733);t("Int32",function(r){return function(a,s,u){return r(this,a,s,u)}})},19363:function(i,d,e){"use strict";var t=e(69733);t("Int8",function(r){return function(a,s,u){return r(this,a,s,u)}})},91927:function(i,d,e){"use strict";var t=e(92916),r=e(3338),n=e(94237),a=e(58261),s=e(11005),u=e(59893),c=u("iterator"),o=t.Uint8Array,f=n(s.values),m=n(s.keys),p=n(s.entries),b=a.aTypedArray,g=a.exportTypedArrayMethod,E=o&&o.prototype,O=!r(function(){E[c].call([1])}),S=!!E&&E.values&&E[c]===E.values&&E.values.name==="values",I=function(){return f(b(this))};g("entries",function(){return p(b(this))},O),g("keys",function(){return m(b(this))},O),g("values",I,O||!S,{name:"values"}),g(c,I,O||!S,{name:"values"})},27730:function(i,d,e){"use strict";var t=e(58261),r=e(94237),n=t.aTypedArray,a=t.exportTypedArrayMethod,s=r([].join);a("join",function(c){return s(n(this),c)})},58707:function(i,d,e){"use strict";var t=e(58261),r=e(13743),n=e(55009),a=t.aTypedArray,s=t.exportTypedArrayMethod;s("lastIndexOf",function(c){var o=arguments.length;return r(n,a(this),o>1?[c,arguments[1]]:[c])})},41356:function(i,d,e){"use strict";var t=e(58261),r=e(90560).map,n=e(31384),a=t.aTypedArray,s=t.exportTypedArrayMethod;s("map",function(c){return r(a(this),c,arguments.length>1?arguments[1]:void 0,function(o,f){return new(n(o))(f)})})},51606:function(i,d,e){"use strict";var t=e(58261),r=e(59627),n=t.aTypedArrayConstructor,a=t.exportTypedArrayStaticMethod;a("of",function(){for(var u=0,c=arguments.length,o=new(n(this))(c);c>u;)o[u]=arguments[u++];return o},r)},38458:function(i,d,e){"use strict";var t=e(58261),r=e(16370).right,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("reduceRight",function(u){var c=arguments.length;return r(n(this),u,c,c>1?arguments[1]:void 0)})},8966:function(i,d,e){"use strict";var t=e(58261),r=e(16370).left,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("reduce",function(u){var c=arguments.length;return r(n(this),u,c,c>1?arguments[1]:void 0)})},71957:function(i,d,e){"use strict";var t=e(58261),r=t.aTypedArray,n=t.exportTypedArrayMethod,a=Math.floor;n("reverse",function(){for(var u=this,c=r(u).length,o=a(c/2),f=0,m;f1?arguments[1]:void 0,1),k=u(I);if(E)return r(p,this,k,P);var R=this.length,T=a(k),A=0;if(T+P>R)throw new o("Wrong length");for(;Ag;)O[g]=p[g++];return O},c)},96519:function(i,d,e){"use strict";var t=e(58261),r=e(90560).some,n=t.aTypedArray,a=t.exportTypedArrayMethod;a("some",function(u){return r(n(this),u,arguments.length>1?arguments[1]:void 0)})},95576:function(i,d,e){"use strict";var t=e(92916),r=e(34114),n=e(3338),a=e(63335),s=e(63668),u=e(58261),c=e(78177),o=e(17687),f=e(46573),m=e(19684),p=u.aTypedArray,b=u.exportTypedArrayMethod,g=t.Uint16Array,E=g&&r(g.prototype.sort),O=!!E&&!(n(function(){E(new g(2),null)})&&n(function(){E(new g(2),{})})),S=!!E&&!n(function(){if(f)return f<74;if(c)return c<67;if(o)return!0;if(m)return m<602;var P=new g(516),k=Array(516),R,T;for(R=0;R<516;R++)T=R%4,P[R]=515-R,k[R]=R-2*T+3;for(E(P,function(A,D){return(A/4|0)-(D/4|0)}),R=0;R<516;R++)if(P[R]!==k[R])return!0}),I=function(P){return function(k,R){return P!==void 0?+P(k,R)||0:R!==R?-1:k!==k?1:k===0&&R===0?1/k>0&&1/R<0?1:-1:k>R}};b("sort",function(k){return k!==void 0&&a(k),S?E(this,k):s(p(this),I(k))},!S||O)},63079:function(i,d,e){"use strict";var t=e(58261),r=e(61578),n=e(51981),a=e(31384),s=t.aTypedArray,u=t.exportTypedArrayMethod;u("subarray",function(o,f){var m=s(this),p=m.length,b=n(o,p),g=a(m);return new g(m.buffer,m.byteOffset+b*m.BYTES_PER_ELEMENT,r((f===void 0?p:n(f,p))-b))})},8995:function(i,d,e){"use strict";var t=e(92916),r=e(13743),n=e(58261),a=e(3338),s=e(30867),u=t.Int8Array,c=n.aTypedArray,o=n.exportTypedArrayMethod,f=[].toLocaleString,m=!!u&&a(function(){f.call(new u(1))}),p=a(function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()})||!a(function(){u.prototype.toLocaleString.call([1,2])});o("toLocaleString",function(){return r(f,m?s(c(this)):c(this),s(arguments))},p)},23080:function(i,d,e){"use strict";var t=e(85903),r=e(58261),n=r.aTypedArray,a=r.exportTypedArrayMethod,s=r.getTypedArrayConstructor;a("toReversed",function(){return t(n(this),s(this))})},74701:function(i,d,e){"use strict";var t=e(58261),r=e(94237),n=e(63335),a=e(69478),s=t.aTypedArray,u=t.getTypedArrayConstructor,c=t.exportTypedArrayMethod,o=r(t.TypedArrayPrototype.sort);c("toSorted",function(m){m!==void 0&&n(m);var p=s(this),b=a(u(p),p);return o(b,m)})},91809:function(i,d,e){"use strict";var t=e(58261).exportTypedArrayMethod,r=e(3338),n=e(92916),a=e(94237),s=n.Uint8Array,u=s&&s.prototype||{},c=[].toString,o=a([].join);r(function(){c.call({})})&&(c=function(){return o(this)});var f=u.toString!==c;t("toString",c,f)},64336:function(i,d,e){"use strict";var t=e(69733);t("Uint16",function(r){return function(a,s,u){return r(this,a,s,u)}})},63914:function(i,d,e){"use strict";var t=e(69733);t("Uint32",function(r){return function(a,s,u){return r(this,a,s,u)}})},55234:function(i,d,e){"use strict";var t=e(69733);t("Uint8",function(r){return function(a,s,u){return r(this,a,s,u)}})},88104:function(i,d,e){"use strict";var t=e(69733);t("Uint8",function(r){return function(a,s,u){return r(this,a,s,u)}},!0)},77517:function(i,d,e){"use strict";var t=e(82041),r=e(58261),n=e(75406),a=e(56902),s=e(93303),u=r.aTypedArray,c=r.getTypedArrayConstructor,o=r.exportTypedArrayMethod,f=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(m){return m===8}}();o("with",function(m,p){var b=u(this),g=a(m),E=n(b)?s(p):+p;return t(b,c(b),g,E)},!f)},30149:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(69905),a=String.fromCharCode,s=r("".charAt),u=r(/./.exec),c=r("".slice),o=/^[\da-f]{2}$/i,f=/^[\da-f]{4}$/i;t({global:!0},{unescape:function(p){for(var b=n(p),g="",E=b.length,O=0,S,I;O1?arguments[1]:void 0)}}),n("filterOut")},55885:function(i,d,e){"use strict";var t=e(94488),r=e(90560).filterReject,n=e(81181);t({target:"Array",proto:!0,forced:!0},{filterReject:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}}),n("filterReject")},91130:function(i,d,e){"use strict";var t=e(94488),r=e(32278);t({target:"Array",stat:!0},{fromAsync:r})},64963:function(i,d,e){"use strict";var t=e(94488),r=e(45601),n=e(81181),a=e(33940),s=e(16697);t({target:"Array",proto:!0,name:"groupToMap",forced:s||!r("groupByToMap")},{groupByToMap:a}),n("groupByToMap")},8604:function(i,d,e){"use strict";var t=e(94488),r=e(36444),n=e(45601),a=e(81181);t({target:"Array",proto:!0,forced:!n("groupBy")},{groupBy:function(u){var c=arguments.length>1?arguments[1]:void 0;return r(this,u,c)}}),a("groupBy")},25178:function(i,d,e){"use strict";var t=e(94488),r=e(81181),n=e(33940),a=e(16697);t({target:"Array",proto:!0,forced:a},{groupToMap:n}),r("groupToMap")},39034:function(i,d,e){"use strict";var t=e(94488),r=e(36444),n=e(81181);t({target:"Array",proto:!0},{group:function(s){var u=arguments.length>1?arguments[1]:void 0;return r(this,s,u)}}),n("group")},1905:function(i,d,e){"use strict";var t=e(94488),r=e(18589),n=Object.isFrozen,a=function(s,u){if(!n||!r(s)||!n(s))return!1;for(var c=0,o=s.length,f;c1?arguments[1]:!1);return n([c&255,c>>8&255],10)}})},93236:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=r(DataView.prototype.getUint8);t({target:"DataView",proto:!0,forced:!0},{getUint8Clamped:function(s){return n(this,s)}})},42212:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(97607),a=e(24225),s=e(61618).pack,u=e(35175),c=TypeError,o=r(DataView.prototype.setUint16);t({target:"DataView",proto:!0},{setFloat16:function(m,p){if(n(this)!=="DataView")throw new c("Incorrect receiver");var b=a(m),g=s(u(p),10,2);return o(this,b,g[1]<<8|g[0],arguments.length>2?arguments[2]:!1)}})},63923:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(97607),a=e(24225),s=e(86350),u=TypeError,c=r(DataView.prototype.setUint8);t({target:"DataView",proto:!0,forced:!0},{setUint8Clamped:function(f,m){if(n(this)!=="DataView")throw new u("Incorrect receiver");var p=a(f);return c(this,p,s(m))}})},2278:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(65911),a=e(63335),s=e(56472),u=e(2291),c=e(66477),o=e(64110),f=e(59893),m=e(94844),p=e(5978),b=n("SuppressedError"),g=ReferenceError,E=f("dispose"),O=f("toStringTag"),S="DisposableStack",I=m.set,P=m.getterFor(S),k="sync-dispose",R="disposed",T="pending",A=function(L){var V=P(L);if(V.state===R)throw new g(S+" already disposed");return V},D=function(){I(s(this,j),{type:S,state:T,stack:[]}),r||(this.disposed=!1)},j=D.prototype;c(j,{dispose:function(){var V=P(this);if(V.state!==R){V.state=R,r||(this.disposed=!0);for(var z=V.stack,Y=z.length,B=!1,W;Y;){var G=z[--Y];z[Y]=null;try{G()}catch(Q){B?W=new b(Q,W):(B=!0,W=Q)}}if(V.stack=null,B)throw W}},use:function(V){return p(A(this),V,k),V},adopt:function(V,z){var Y=A(this);return a(z),p(Y,void 0,k,function(){z(V)}),V},defer:function(V){var z=A(this);a(V),p(z,void 0,k,V)},move:function(){var V=A(this),z=new D;return P(z).stack=V.stack,V.stack=[],V.state=R,r||(this.disposed=!0),z}}),r&&o(j,"disposed",{configurable:!0,get:function(){return P(this).state===R}}),u(j,E,j.dispose,{name:"dispose"}),u(j,O,S,{nonWritable:!0}),t({global:!0,constructor:!0},{DisposableStack:D})},36955:function(i,d,e){"use strict";var t=e(94488),r=e(47739);t({target:"Function",proto:!0,forced:!0},{demethodize:r})},77326:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(55327),a=e(15212),s=e(32621),u=e(35454),c=Object.getOwnPropertyDescriptor,o=/^\s*class\b/,f=r(o.exec),m=function(p){try{if(!u||!f(o,a(p)))return!1}catch(g){}var b=c(p,"prototype");return!!b&&s(b,"writable")&&!b.writable};t({target:"Function",stat:!0,sham:!0,forced:!0},{isCallable:function(b){return n(b)&&!m(b)}})},53571:function(i,d,e){"use strict";var t=e(94488),r=e(39812);t({target:"Function",stat:!0,forced:!0},{isConstructor:r})},28670:function(i,d,e){"use strict";var t=e(59893),r=e(37691).f,n=t("metadata"),a=Function.prototype;a[n]===void 0&&r(a,n,{value:null})},31050:function(i,d,e){"use strict";var t=e(94488),r=e(47739);t({target:"Function",proto:!0,forced:!0,name:"demethodize"},{unThis:r})},96364:function(i,d,e){"use strict";var t=e(94488),r=e(24771);t({target:"Iterator",name:"indexed",proto:!0,real:!0,forced:!0},{asIndexedPairs:r})},25321:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(56472),a=e(80449),s=e(55327),u=e(53456),c=e(64110),o=e(69392),f=e(3338),m=e(32621),p=e(59893),b=e(46571).IteratorPrototype,g=e(35454),E=e(16697),O="constructor",S="Iterator",I=p("toStringTag"),P=TypeError,k=r[S],R=E||!s(k)||k.prototype!==b||!f(function(){k({})}),T=function(){if(n(this,b),u(this)===b)throw new P("Abstract class Iterator not directly constructable")},A=function(D,j){g?c(b,D,{configurable:!0,get:function(){return j},set:function(L){if(a(this),this===b)throw new P("You can't redefine this property");m(this,D)?this[D]=L:o(this,D,L)}}):b[D]=j};m(b,I)||A(I,S),(R||!m(b,O)||b[O]===Object)&&A(O,T),T.prototype=b,t({global:!0,constructor:!0,forced:R},{Iterator:T})},46304:function(i,d,e){"use strict";var t=e(89945),r=e(2291),n=e(53776),a=e(32621),s=e(59893),u=e(46571).IteratorPrototype,c=s("dispose");a(u,c)||r(u,c,function(){var o=n(this,"return");o&&t(o,this)})},55163:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(80449),a=e(10731),s=e(2279),u=e(51358),c=e(20547),o=e(16697),f=c(function(){for(var m=this.iterator,p=this.next,b,g;this.remaining;)if(this.remaining--,b=n(r(p,m)),g=this.done=!!b.done,g)return;if(b=n(r(p,m)),g=this.done=!!b.done,!g)return b.value});t({target:"Iterator",proto:!0,real:!0,forced:o},{drop:function(p){n(this);var b=u(s(+p));return new f(a(this),{remaining:b})}})},78722:function(i,d,e){"use strict";var t=e(94488),r=e(62003),n=e(63335),a=e(80449),s=e(10731);t({target:"Iterator",proto:!0,real:!0},{every:function(c){a(this),n(c);var o=s(this),f=0;return!r(o,function(m,p){if(!c(m,f++))return p()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},35977:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(63335),a=e(80449),s=e(10731),u=e(20547),c=e(46319),o=e(16697),f=u(function(){for(var m=this.iterator,p=this.predicate,b=this.next,g,E,O;;){if(g=a(r(b,m)),E=this.done=!!g.done,E)return;if(O=g.value,c(m,p,[O,this.counter++],!0))return O}});t({target:"Iterator",proto:!0,real:!0,forced:o},{filter:function(p){return a(this),n(p),new f(s(this),{predicate:p})}})},81848:function(i,d,e){"use strict";var t=e(94488),r=e(62003),n=e(63335),a=e(80449),s=e(10731);t({target:"Iterator",proto:!0,real:!0},{find:function(c){a(this),n(c);var o=s(this),f=0;return r(o,function(m,p){if(c(m,f++))return p(m)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},52867:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(63335),a=e(80449),s=e(10731),u=e(7157),c=e(20547),o=e(67996),f=e(16697),m=c(function(){for(var p=this.iterator,b=this.mapper,g,E;;){if(E=this.inner)try{if(g=a(r(E.next,E.iterator)),!g.done)return g.value;this.inner=null}catch(O){o(p,"throw",O)}if(g=a(r(this.next,p)),this.done=!!g.done)return;try{this.inner=u(b(g.value,this.counter++),!1)}catch(O){o(p,"throw",O)}}});t({target:"Iterator",proto:!0,real:!0,forced:f},{flatMap:function(b){return a(this),n(b),new m(s(this),{mapper:b,inner:null})}})},72211:function(i,d,e){"use strict";var t=e(94488),r=e(62003),n=e(63335),a=e(80449),s=e(10731);t({target:"Iterator",proto:!0,real:!0},{forEach:function(c){a(this),n(c);var o=s(this),f=0;r(o,function(m){c(m,f++)},{IS_RECORD:!0})}})},84862:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(94029),a=e(16332),s=e(46571).IteratorPrototype,u=e(20547),c=e(7157),o=e(16697),f=u(function(){return r(this.next,this.iterator)},!0);t({target:"Iterator",stat:!0,forced:o},{from:function(p){var b=c(typeof p=="string"?n(p):p,!0);return a(s,b.iterator)?b.iterator:new f(b)}})},92381:function(i,d,e){"use strict";var t=e(94488),r=e(24771);t({target:"Iterator",proto:!0,real:!0,forced:!0},{indexed:r})},19517:function(i,d,e){"use strict";var t=e(94488),r=e(2155),n=e(16697);t({target:"Iterator",proto:!0,real:!0,forced:n},{map:r})},69667:function(i,d,e){"use strict";var t=e(94488),r=e(17243),n=TypeError;t({target:"Iterator",stat:!0,forced:!0},{range:function(s,u,c){if(typeof s=="number")return new r(s,u,c,"number",0,1);if(typeof s=="bigint")return new r(s,u,c,"bigint",BigInt(0),BigInt(1));throw new n("Incorrect Iterator.range arguments")}})},80820:function(i,d,e){"use strict";var t=e(94488),r=e(62003),n=e(63335),a=e(80449),s=e(10731),u=TypeError;t({target:"Iterator",proto:!0,real:!0},{reduce:function(o){a(this),n(o);var f=s(this),m=arguments.length<2,p=m?void 0:arguments[1],b=0;if(r(f,function(g){m?(m=!1,p=g):p=o(p,g,b),b++},{IS_RECORD:!0}),m)throw new u("Reduce of empty iterator with no initial value");return p}})},87873:function(i,d,e){"use strict";var t=e(94488),r=e(62003),n=e(63335),a=e(80449),s=e(10731);t({target:"Iterator",proto:!0,real:!0},{some:function(c){a(this),n(c);var o=s(this),f=0;return r(o,function(m,p){if(c(m,f++))return p()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},54609:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(80449),a=e(10731),s=e(2279),u=e(51358),c=e(20547),o=e(67996),f=e(16697),m=c(function(){var p=this.iterator;if(!this.remaining--)return this.done=!0,o(p,"normal",void 0);var b=n(r(this.next,p)),g=this.done=!!b.done;if(!g)return b.value});t({target:"Iterator",proto:!0,real:!0,forced:f},{take:function(b){n(this);var g=u(s(+b));return new m(a(this),{remaining:g})}})},28566:function(i,d,e){"use strict";var t=e(94488),r=e(80449),n=e(62003),a=e(10731),s=[].push;t({target:"Iterator",proto:!0,real:!0},{toArray:function(){var c=[];return n(a(r(this)),s,{that:c,IS_RECORD:!0}),c}})},51697:function(i,d,e){"use strict";var t=e(94488),r=e(80449),n=e(57975),a=e(80025),s=e(10731),u=e(16697);t({target:"Iterator",proto:!0,real:!0,forced:u},{toAsync:function(){return new a(s(new n(s(r(this)))))}})},61872:function(i,d,e){"use strict";var t=e(94488),r=e(82778),n=e(83502);t({target:"JSON",stat:!0,forced:!r},{isRawJSON:n})},76077:function(i,d,e){"use strict";var t=e(94488),r=e(35454),n=e(92916),a=e(65911),s=e(94237),u=e(89945),c=e(55327),o=e(31946),f=e(18589),m=e(32621),p=e(69905),b=e(82762),g=e(69392),E=e(3338),O=e(70913),S=e(42820),I=n.JSON,P=n.Number,k=n.SyntaxError,R=I&&I.parse,T=a("Object","keys"),A=Object.getOwnPropertyDescriptor,D=s("".charAt),j=s("".slice),L=s(/./.exec),V=s([].push),z=/^\d$/,Y=/^[1-9]$/,B=/^(?:-|\d)$/,W=/^[\t\n\r ]$/,G=0,Q=1,H=function(se,_e){se=p(se);var le=new N(se,0,""),he=le.parse(),We=he.value,Ke=le.skip(W,he.end);if(Ke1?arguments[1]:void 0);return a(c,function(f,m){if(!o(f,m,c))return!1},!0)!==!1}})},28220:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(42683),a=e(2786),s=e(95037),u=a.Map,c=a.set;t({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(f){var m=n(this),p=r(f,arguments.length>1?arguments[1]:void 0),b=new u;return s(m,function(g,E){p(g,E,m)&&c(b,E,g)}),b}})},49350:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(42683),a=e(95037);t({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(u){var c=n(this),o=r(u,arguments.length>1?arguments[1]:void 0),f=a(c,function(m,p){if(o(m,p,c))return{key:p}},!0);return f&&f.key}})},62060:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(42683),a=e(95037);t({target:"Map",proto:!0,real:!0,forced:!0},{find:function(u){var c=n(this),o=r(u,arguments.length>1?arguments[1]:void 0),f=a(c,function(m,p){if(o(m,p,c))return{value:m}},!0);return f&&f.value}})},20126:function(i,d,e){"use strict";var t=e(94488),r=e(72846);t({target:"Map",stat:!0,forced:!0},{from:r})},18090:function(i,d,e){"use strict";var t=e(94488),r=e(88134),n=e(42683),a=e(95037);t({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(u){return a(n(this),function(c){if(r(c,u))return!0},!0)===!0}})},14309:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(62003),a=e(55327),s=e(63335),u=e(2786).Map;t({target:"Map",stat:!0,forced:!0},{keyBy:function(o,f){var m=a(this)?this:u,p=new m;s(f);var b=s(p.set);return n(o,function(g){r(b,p,f(g),g)}),p}})},17822:function(i,d,e){"use strict";var t=e(94488),r=e(42683),n=e(95037);t({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(s){var u=n(r(this),function(c,o){if(c===s)return{key:o}},!0);return u&&u.key}})},83543:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(42683),a=e(2786),s=e(95037),u=a.Map,c=a.set;t({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(f){var m=n(this),p=r(f,arguments.length>1?arguments[1]:void 0),b=new u;return s(m,function(g,E){c(b,p(g,E,m),g)}),b}})},13853:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(42683),a=e(2786),s=e(95037),u=a.Map,c=a.set;t({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(f){var m=n(this),p=r(f,arguments.length>1?arguments[1]:void 0),b=new u;return s(m,function(g,E){c(b,E,p(g,E,m))}),b}})},25188:function(i,d,e){"use strict";var t=e(94488),r=e(42683),n=e(62003),a=e(2786).set;t({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(u){for(var c=r(this),o=arguments.length,f=0;f1?arguments[1]:void 0);return a(c,function(f,m){if(o(f,m,c))return!0},!0)===!0}})},8774:function(i,d,e){"use strict";var t=e(94488),r=e(14615);t({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:r})},6736:function(i,d,e){"use strict";var t=e(94488),r=e(63335),n=e(42683),a=e(2786),s=TypeError,u=a.get,c=a.has,o=a.set;t({target:"Map",proto:!0,real:!0,forced:!0},{update:function(m,p){var b=n(this),g=arguments.length;r(p);var E=c(b,m);if(!E&&g<3)throw new s("Updating absent value");var O=E?u(b,m):r(g>2?arguments[2]:void 0)(m,b);return o(b,m,p(O,m,b)),b}})},94065:function(i,d,e){"use strict";var t=e(94488),r=e(14615);t({target:"Map",proto:!0,real:!0,forced:!0},{upsert:r})},93036:function(i,d,e){"use strict";var t=e(94488),r=Math.min,n=Math.max;t({target:"Math",stat:!0,forced:!0},{clamp:function(s,u,c){return r(c,n(u,s))}})},75708:function(i,d,e){"use strict";var t=e(94488);t({target:"Math",stat:!0,nonConfigurable:!0,nonWritable:!0},{DEG_PER_RAD:Math.PI/180})},84624:function(i,d,e){"use strict";var t=e(94488),r=180/Math.PI;t({target:"Math",stat:!0,forced:!0},{degrees:function(a){return a*r}})},43710:function(i,d,e){"use strict";var t=e(94488),r=e(35175);t({target:"Math",stat:!0},{f16round:r})},66233:function(i,d,e){"use strict";var t=e(94488),r=e(24619),n=e(14894);t({target:"Math",stat:!0,forced:!0},{fscale:function(s,u,c,o,f){return n(r(s,u,c,o,f))}})},92762:function(i,d,e){"use strict";var t=e(94488);t({target:"Math",stat:!0,forced:!0},{iaddh:function(n,a,s,u){var c=n>>>0,o=a>>>0,f=s>>>0;return o+(u>>>0)+((c&f|(c|f)&~(c+f>>>0))>>>31)|0}})},24467:function(i,d,e){"use strict";var t=e(94488);t({target:"Math",stat:!0,forced:!0},{imulh:function(n,a){var s=65535,u=+n,c=+a,o=u&s,f=c&s,m=u>>16,p=c>>16,b=(m*f>>>0)+(o*f>>>16);return m*p+(b>>16)+((o*p>>>0)+(b&s)>>16)}})},68465:function(i,d,e){"use strict";var t=e(94488);t({target:"Math",stat:!0,forced:!0},{isubh:function(n,a,s,u){var c=n>>>0,o=a>>>0,f=s>>>0;return o-(u>>>0)-((~c&f|~(c^f)&c-f>>>0)>>>31)|0}})},77004:function(i,d,e){"use strict";var t=e(94488);t({target:"Math",stat:!0,nonConfigurable:!0,nonWritable:!0},{RAD_PER_DEG:180/Math.PI})},83925:function(i,d,e){"use strict";var t=e(94488),r=Math.PI/180;t({target:"Math",stat:!0,forced:!0},{radians:function(a){return a*r}})},51117:function(i,d,e){"use strict";var t=e(94488),r=e(24619);t({target:"Math",stat:!0,forced:!0},{scale:r})},87236:function(i,d,e){"use strict";var t=e(94488),r=e(80449),n=e(1222),a=e(83126),s=e(25587),u=e(94844),c="Seeded Random",o=c+" Generator",f='Math.seededPRNG() argument should have a "seed" field with a finite value.',m=u.set,p=u.getterFor(o),b=TypeError,g=a(function(O){m(this,{type:o,seed:O%2147483647})},c,function(){var O=p(this),S=O.seed=(O.seed*1103515245+12345)%2147483647;return s((S&1073741823)/1073741823,!1)});t({target:"Math",stat:!0,forced:!0},{seededPRNG:function(O){var S=r(O).seed;if(!n(S))throw new b(f);return new g(S)}})},83733:function(i,d,e){"use strict";var t=e(94488);t({target:"Math",stat:!0,forced:!0},{signbit:function(n){var a=+n;return a===a&&a===0?1/a===-1/0:a<0}})},92044:function(i,d,e){"use strict";var t=e(94488);t({target:"Math",stat:!0,forced:!0},{umulh:function(n,a){var s=65535,u=+n,c=+a,o=u&s,f=c&s,m=u>>>16,p=c>>>16,b=(m*f>>>0)+(o*f>>>16);return m*p+(b>>>16)+((o*p>>>0)+(b&s)>>>16)}})},29190:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(56902),a="Invalid number representation",s="Invalid radix",u=RangeError,c=SyntaxError,o=TypeError,f=parseInt,m=Math.pow,p=/^[\d.a-z]+$/,b=r("".charAt),g=r(p.exec),E=r(1 .toString),O=r("".slice),S=r("".split);t({target:"Number",stat:!0,forced:!0},{fromString:function(P,k){var R=1;if(typeof P!="string")throw new o(a);if(!P.length)throw new c(a);if(b(P,0)==="-"&&(R=-1,P=O(P,1),!P.length))throw new c(a);var T=k===void 0?10:n(k);if(T<2||T>36)throw new u(s);if(!g(p,P))throw new c(a);var A=S(P,"."),D=f(A[0],T);if(A.length>1&&(D+=f(A[1],T)/m(T,A[1].length)),T===10&&E(D,T)!==P)throw new c(a);return R*D}})},10775:function(i,d,e){"use strict";var t=e(94488),r=e(17243);t({target:"Number",stat:!0,forced:!0},{range:function(a,s,u){return new r(a,s,u,"number",0,1)}})},19593:function(i,d,e){"use strict";var t=e(94488),r=e(20574);t({target:"Object",stat:!0,forced:!0},{iterateEntries:function(a){return new r(a,"entries")}})},26502:function(i,d,e){"use strict";var t=e(94488),r=e(20574);t({target:"Object",stat:!0,forced:!0},{iterateKeys:function(a){return new r(a,"keys")}})},10174:function(i,d,e){"use strict";var t=e(94488),r=e(20574);t({target:"Object",stat:!0,forced:!0},{iterateValues:function(a){return new r(a,"values")}})},76867:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(35454),a=e(51996),s=e(63335),u=e(80449),c=e(56472),o=e(55327),f=e(4112),m=e(31946),p=e(53776),b=e(2291),g=e(66477),E=e(64110),O=e(61810),S=e(59893),I=e(94844),P=S("observable"),k="Observable",R="Subscription",T="SubscriptionObserver",A=I.getterFor,D=I.set,j=A(k),L=A(R),V=A(T),z=function(Q){this.observer=u(Q),this.cleanup=void 0,this.subscriptionObserver=void 0};z.prototype={type:R,clean:function(){var Q=this.cleanup;if(Q){this.cleanup=void 0;try{Q()}catch(H){O(H)}}},close:function(){if(!n){var Q=this.facade,H=this.subscriptionObserver;Q.closed=!0,H&&(H.closed=!0)}this.observer=void 0},isClosed:function(){return this.observer===void 0}};var Y=function(Q,H){var F=D(this,new z(Q)),q;n||(this.closed=!1);try{(q=p(Q,"start"))&&r(q,Q,this)}catch(ne){O(ne)}if(!F.isClosed()){var M=F.subscriptionObserver=new B(F);try{var N=H(M),K=N;f(N)||(F.cleanup=o(N.unsubscribe)?function(){K.unsubscribe()}:s(N))}catch(ne){M.error(ne);return}F.isClosed()&&F.clean()}};Y.prototype=g({},{unsubscribe:function(){var H=L(this);H.isClosed()||(H.close(),H.clean())}}),n&&E(Y.prototype,"closed",{configurable:!0,get:function(){return L(this).isClosed()}});var B=function(Q){D(this,{type:T,subscriptionState:Q}),n||(this.closed=!1)};B.prototype=g({},{next:function(H){var F=V(this).subscriptionState;if(!F.isClosed()){var q=F.observer;try{var M=p(q,"next");M&&r(M,q,H)}catch(N){O(N)}}},error:function(H){var F=V(this).subscriptionState;if(!F.isClosed()){var q=F.observer;F.close();try{var M=p(q,"error");M?r(M,q,H):O(H)}catch(N){O(N)}F.clean()}},complete:function(){var H=V(this).subscriptionState;if(!H.isClosed()){var F=H.observer;H.close();try{var q=p(F,"complete");q&&r(q,F)}catch(M){O(M)}H.clean()}}}),n&&E(B.prototype,"closed",{configurable:!0,get:function(){return V(this).subscriptionState.isClosed()}});var W=function(H){c(this,G),D(this,{type:k,subscriber:s(H)})},G=W.prototype;g(G,{subscribe:function(H){var F=arguments.length;return new Y(o(H)?{next:H,error:F>1?arguments[1]:void 0,complete:F>2?arguments[2]:void 0}:m(H)?H:{},j(this).subscriber)}}),b(G,P,function(){return this}),t({global:!0,constructor:!0,forced:!0},{Observable:W}),a(k)},14548:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(89945),a=e(80449),s=e(39812),u=e(85428),c=e(53776),o=e(62003),f=e(59893),m=f("observable");t({target:"Observable",stat:!0,forced:!0},{from:function(b){var g=s(this)?this:r("Observable"),E=c(a(b),m);if(E){var O=a(n(E,b));return O.constructor===g?O:new g(function(I){return O.subscribe(I)})}var S=u(b);return new g(function(I){o(S,function(P,k){if(I.next(P),I.closed)return k()},{IS_ITERATOR:!0,INTERRUPTED:!0}),I.complete()})}})},96378:function(i,d,e){"use strict";e(76867),e(14548),e(6053)},6053:function(i,d,e){"use strict";var t=e(94488),r=e(65911),n=e(39812),a=r("Array");t({target:"Observable",stat:!0,forced:!0},{of:function(){for(var u=n(this)?this:r("Observable"),c=arguments.length,o=a(c),f=0;f?@[\\\\\\]^`{|}~"+a+"]","g");t({target:"RegExp",stat:!0,forced:!0},{escape:function(f){var m=n(f),p=s(m,0);return(p>47&&p<58?"\\x3":"")+u(m,c,"\\$&")}})},1220:function(i,d,e){"use strict";var t=e(94488),r=e(17442),n=e(19691).add;t({target:"Set",proto:!0,real:!0,forced:!0},{addAll:function(){for(var s=r(this),u=0,c=arguments.length;u1?arguments[1]:void 0);return a(c,function(f){if(!o(f,f,c))return!1},!0)!==!1}})},38487:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(17442),a=e(19691),s=e(57002),u=a.Set,c=a.add;t({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(f){var m=n(this),p=r(f,arguments.length>1?arguments[1]:void 0),b=new u;return s(m,function(g){p(g,g,m)&&c(b,g)}),b}})},29916:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(17442),a=e(57002);t({target:"Set",proto:!0,real:!0,forced:!0},{find:function(u){var c=n(this),o=r(u,arguments.length>1?arguments[1]:void 0),f=a(c,function(m){if(o(m,m,c))return{value:m}},!0);return f&&f.value}})},25541:function(i,d,e){"use strict";var t=e(94488),r=e(72846);t({target:"Set",stat:!0,forced:!0},{from:r})},34926:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(77999),a=e(16049);t({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(u){return r(a,this,n(u))}})},45612:function(i,d,e){"use strict";var t=e(94488),r=e(3338),n=e(16049),a=e(22627),s=!a("intersection")||r(function(){return Array.from(new Set([1,2,3]).intersection(new Set([3,2])))!=="3,2"});t({target:"Set",proto:!0,real:!0,forced:s},{intersection:n})},68255:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(77999),a=e(17616);t({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(u){return r(a,this,n(u))}})},98080:function(i,d,e){"use strict";var t=e(94488),r=e(17616),n=e(22627);t({target:"Set",proto:!0,real:!0,forced:!n("isDisjointFrom")},{isDisjointFrom:r})},16450:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(77999),a=e(84833);t({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(u){return r(a,this,n(u))}})},96351:function(i,d,e){"use strict";var t=e(94488),r=e(84833),n=e(22627);t({target:"Set",proto:!0,real:!0,forced:!n("isSubsetOf")},{isSubsetOf:r})},86921:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(77999),a=e(51135);t({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(u){return r(a,this,n(u))}})},60244:function(i,d,e){"use strict";var t=e(94488),r=e(51135),n=e(22627);t({target:"Set",proto:!0,real:!0,forced:!n("isSupersetOf")},{isSupersetOf:r})},82928:function(i,d,e){"use strict";var t=e(94488),r=e(94237),n=e(17442),a=e(57002),s=e(69905),u=r([].join),c=r([].push);t({target:"Set",proto:!0,real:!0,forced:!0},{join:function(f){var m=n(this),p=f===void 0?",":s(f),b=[];return a(m,function(g){c(b,g)}),u(b,p)}})},42947:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(17442),a=e(19691),s=e(57002),u=a.Set,c=a.add;t({target:"Set",proto:!0,real:!0,forced:!0},{map:function(f){var m=n(this),p=r(f,arguments.length>1?arguments[1]:void 0),b=new u;return s(m,function(g){c(b,p(g,g,m))}),b}})},71568:function(i,d,e){"use strict";var t=e(94488),r=e(48800);t({target:"Set",stat:!0,forced:!0},{of:r})},94194:function(i,d,e){"use strict";var t=e(94488),r=e(63335),n=e(17442),a=e(57002),s=TypeError;t({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(c){var o=n(this),f=arguments.length<2,m=f?void 0:arguments[1];if(r(c),a(o,function(p){f?(f=!1,m=p):m=c(m,p,p,o)}),f)throw new s("Reduce of empty set with no initial value");return m}})},30556:function(i,d,e){"use strict";var t=e(94488),r=e(80666),n=e(17442),a=e(57002);t({target:"Set",proto:!0,real:!0,forced:!0},{some:function(u){var c=n(this),o=r(u,arguments.length>1?arguments[1]:void 0);return a(c,function(f){if(o(f,f,c))return!0},!0)===!0}})},93102:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(77999),a=e(36312);t({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(u){return r(a,this,n(u))}})},32100:function(i,d,e){"use strict";var t=e(94488),r=e(36312),n=e(22627);t({target:"Set",proto:!0,real:!0,forced:!n("symmetricDifference")},{symmetricDifference:r})},82074:function(i,d,e){"use strict";var t=e(94488),r=e(89945),n=e(77999),a=e(24667);t({target:"Set",proto:!0,real:!0,forced:!0},{union:function(u){return r(a,this,n(u))}})},1821:function(i,d,e){"use strict";var t=e(94488),r=e(24667),n=e(22627);t({target:"Set",proto:!0,real:!0,forced:!n("union")},{union:r})},13578:function(i,d,e){"use strict";var t=e(94488),r=e(13764).charAt,n=e(95955),a=e(56902),s=e(69905);t({target:"String",proto:!0,forced:!0},{at:function(c){var o=s(n(this)),f=o.length,m=a(c),p=m>=0?m:f+m;return p<0||p>=f?void 0:r(o,p)}})},62882:function(i,d,e){"use strict";var t=e(94488),r=e(83126),n=e(25587),a=e(95955),s=e(69905),u=e(94844),c=e(13764),o=c.codeAt,f=c.charAt,m="String Iterator",p=u.set,b=u.getterFor(m),g=r(function(O){p(this,{type:m,string:O,index:0})},"String",function(){var O=b(this),S=O.string,I=O.index,P;return I>=S.length?n(void 0,!0):(P=f(S,I),O.index+=P.length,n({codePoint:o(P,0),position:I},!1))});t({target:"String",proto:!0,forced:!0},{codePoints:function(){return new g(s(a(this)))}})},59348:function(i,d,e){"use strict";var t=e(94488),r=e(67410);t({target:"String",stat:!0,forced:!0},{cooked:r})},37457:function(i,d,e){"use strict";var t=e(13247),r=e(94488),n=e(86528),a=e(94237),s=e(13743),u=e(80449),c=e(94029),o=e(55327),f=e(82762),m=e(37691).f,p=e(71698),b=e(42530),g=e(67410),E=e(79204),O=e(19268),S=new b.WeakMap,I=b.get,P=b.has,k=b.set,R=Array,T=TypeError,A=Object.freeze||Object,D=Object.isFrozen,j=Math.min,L=a("".charAt),V=a("".slice),z=a("".split),Y=a(/./.exec),B=/([\n\u2028\u2029]|\r\n?)/g,W=RegExp("^["+O+"]*"),G=RegExp("[^"+O+"]"),Q="Invalid tag",H="Invalid opening line",F="Invalid closing line",q=function(_e){var le=_e.raw;if(t&&!D(le))throw new T("Raw template should be frozen");if(P(S,le))return I(S,le);var he=M(le),We=K(he);return m(We,"raw",{value:A(he)}),A(We),k(S,le,We),We},M=function(_e){var le=c(_e),he=f(le),We=R(he),Ke=R(he),ft=0,_t,pt,et,me;if(!he)throw new T(Q);for(;ft0)throw new T(H);_t[1]=""}if($e){if(_t.length===1||Y(G,_t[_t.length-1]))throw new T(F);_t[_t.length-2]="",_t[_t.length-1]=""}for(var nt=2;nt<_t.length;nt+=2){var wt=_t[nt],Mt=nt+1===_t.length&&!$e,At=Y(W,wt)[0];if(!Mt&&At.length===wt.length){_t[nt]="";continue}pt=N(At,pt)}}var De=pt?pt.length:0;for(ft=0;ft1?arguments[1]:void 0);return n(this,o)},!0)},16315:function(i,d,e){"use strict";var t=e(58261),r=e(90560).filterReject,n=e(27607),a=t.aTypedArray,s=t.exportTypedArrayMethod;s("filterReject",function(c){var o=r(a(this),c,arguments.length>1?arguments[1]:void 0);return n(this,o)},!0)},56966:function(i,d,e){"use strict";var t=e(65911),r=e(6086),n=e(32278),a=e(58261),s=e(69478),u=a.aTypedArrayConstructor,c=a.exportTypedArrayStaticMethod;c("fromAsync",function(f){var m=this,p=arguments.length,b=p>1?arguments[1]:void 0,g=p>2?arguments[2]:void 0;return new(t("Promise"))(function(E){r(m),E(n(f,b,g))}).then(function(E){return s(u(m),E)})},!0)},60239:function(i,d,e){"use strict";var t=e(58261),r=e(36444),n=e(31384),a=t.aTypedArray,s=t.exportTypedArrayMethod;s("groupBy",function(c){var o=arguments.length>1?arguments[1]:void 0;return r(a(this),c,o,n)},!0)},49381:function(i,d,e){"use strict";var t=e(58261),r=e(82762),n=e(75406),a=e(51981),s=e(93303),u=e(56902),c=e(3338),o=t.aTypedArray,f=t.getTypedArrayConstructor,m=t.exportTypedArrayMethod,p=Math.max,b=Math.min,g=!c(function(){var E=new Int8Array([1]),O=E.toSpliced(1,0,{valueOf:function(){return E[0]=2,3}});return O[0]!==2||O[1]!==3});m("toSpliced",function(O,S){var I=o(this),P=f(I),k=r(I),R=a(O,k),T=arguments.length,A=0,D,j,L,V,z,Y,B;if(T===0)D=j=0;else if(T===1)D=0,j=k-R;else if(j=b(p(u(S),0),k-R),D=T-2,D){V=new P(D),L=n(V);for(var W=2;W1?a(arguments[1]):void 0,D=f(A)==="base64"?m:p,j=A?!!A.strict:!1,L=j?T:O(T,P,"");if(L.length%4===0)S(L,-2)==="=="?L=S(L,0,-2):S(L,-1)==="="&&(L=S(L,0,-1));else if(j)throw new g("Input is not correctly padded");var V=L.length%4;switch(V){case 1:throw new g("Bad input length");case 2:L+="AA";break;case 3:L+="A"}for(var z=[],Y=0,B=L.length,W=function(H){var F=E(L,Y+H);if(!u(D,F))throw new g('Bad char in input: "'+F+'"');return D[F]<<18-6*H};Y>16&255,G>>8&255,G&255)}var Q=z.length;if(V===2){if(j&&z[Q-2]!==0)throw new g(k);Q-=2}else if(V===3){if(j&&z[Q-1]!==0)throw new g(k);Q--}return c(b,z,Q)}})},57151:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(94237),a=e(79606),s=r.Uint8Array,u=r.SyntaxError,c=r.parseInt,o=/[^\da-f]/i,f=n(o.exec),m=n("".slice);s&&t({target:"Uint8Array",stat:!0,forced:!0},{fromHex:function(b){a(b);var g=b.length;if(g%2)throw new u("String should have an even number of characters");if(f(o,b))throw new u("String should only contain hex characters");for(var E=new s(g/2),O=0;O>6*T&63)};I+2>(-2*B&6)));return z}})},55182:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(65911),a=e(94237),s=e(89945),u=e(3338),c=e(69905),o=e(57106),f=e(66244).i2c,m=n("btoa"),p=a("".charAt),b=a("".charCodeAt),g=!!m&&!u(function(){return m("hi")!=="aGk="}),E=g&&!u(function(){m()}),O=g&&u(function(){return m(null)!=="bnVsbA=="}),S=g&&m.length!==1;t({global:!0,bind:!0,enumerable:!0,forced:!g||E||O||S},{btoa:function(P){if(o(arguments.length,1),g)return s(m,r,c(P));for(var k=c(P),R="",T=0,A=f,D,j;p(k,T)||(A="=",T%1);){if(j=b(k,T+=.75),j>255)throw new(n("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");D=D<<8|j,R+=p(A,63&D>>8-T%1*8)}return R}})},91472:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(28887).clear;t({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==n},{clearImmediate:n})},34366:function(i,d,e){"use strict";var t=e(92916),r=e(66749),n=e(9518),a=e(59594),s=e(68151),u=function(o){if(o&&o.forEach!==a)try{s(o,"forEach",a)}catch(f){o.forEach=a}};for(var c in r)r[c]&&u(t[c]&&t[c].prototype);u(n)},85425:function(i,d,e){"use strict";var t=e(92916),r=e(66749),n=e(9518),a=e(11005),s=e(68151),u=e(94573),c=e(59893),o=c("iterator"),f=a.values,m=function(b,g){if(b){if(b[o]!==f)try{s(b,o,f)}catch(O){b[o]=f}if(u(b,g,!0),r[g]){for(var E in a)if(b[E]!==a[E])try{s(b,E,a[E])}catch(O){b[E]=a[E]}}}};for(var p in r)m(t[p]&&t[p].prototype,p);m(n,"DOMTokenList")},64522:function(i,d,e){"use strict";var t=e(94488),r=e(11270),n=e(65911),a=e(3338),s=e(20132),u=e(35012),c=e(37691).f,o=e(2291),f=e(64110),m=e(32621),p=e(56472),b=e(80449),g=e(13367),E=e(7825),O=e(52109),S=e(80739),I=e(94844),P=e(35454),k=e(16697),R="DOMException",T="DATA_CLONE_ERR",A=n("Error"),D=n(R)||function(){try{var Ke=n("MessageChannel")||r("worker_threads").MessageChannel;new Ke().port1.postMessage(new WeakMap)}catch(ft){if(ft.name===T&&ft.code===25)return ft.constructor}}(),j=D&&D.prototype,L=A.prototype,V=I.set,z=I.getterFor(R),Y="stack"in new A(R),B=function(Ke){return m(O,Ke)&&O[Ke].m?O[Ke].c:0},W=function(){p(this,G);var ft=arguments.length,_t=E(ft<1?void 0:arguments[0]),pt=E(ft<2?void 0:arguments[1],"Error"),et=B(pt);if(V(this,{type:R,name:pt,message:_t,code:et}),P||(this.name=pt,this.message=_t,this.code=et),Y){var me=new A(_t);me.name=R,c(this,"stack",u(1,S(me.stack,1)))}},G=W.prototype=s(L),Q=function(Ke){return{enumerable:!0,configurable:!0,get:Ke}},H=function(Ke){return Q(function(){return z(this)[Ke]})};P&&(f(G,"code",H("code")),f(G,"message",H("message")),f(G,"name",H("name"))),c(G,"constructor",u(1,W));var F=a(function(){return!(new D instanceof A)}),q=F||a(function(){return L.toString!==g||String(new D(1,2))!=="2: 1"}),M=F||a(function(){return new D(1,"DataCloneError").code!==25}),N=F||D[T]!==25||j[T]!==25,K=k?q||M||N:F;t({global:!0,constructor:!0,forced:K},{DOMException:K?W:D});var ne=n(R),se=ne.prototype;q&&(k||D===ne)&&o(se,"toString",g),M&&P&&D===ne&&f(se,"code",Q(function(){return B(b(this).name)}));for(var _e in O)if(m(O,_e)){var le=O[_e],he=le.s,We=u(6,le.c);m(ne,he)||c(ne,he,We),m(se,he)||c(se,he,We)}},41599:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(65911),a=e(35012),s=e(37691).f,u=e(32621),c=e(56472),o=e(25576),f=e(7825),m=e(52109),p=e(80739),b=e(35454),g=e(16697),E="DOMException",O=n("Error"),S=n(E),I=function(){c(this,P);var W=arguments.length,G=f(W<1?void 0:arguments[0]),Q=f(W<2?void 0:arguments[1],"Error"),H=new S(G,Q),F=new O(G);return F.name=E,s(H,"stack",a(1,p(F.stack,1))),o(H,this,I),H},P=I.prototype=S.prototype,k="stack"in new O(E),R="stack"in new S(1,2),T=S&&b&&Object.getOwnPropertyDescriptor(r,E),A=!!T&&!(T.writable&&T.configurable),D=k&&!A&&!R;t({global:!0,constructor:!0,forced:g||D},{DOMException:D?I:S});var j=n(E),L=j.prototype;if(L.constructor!==j){g||s(L,"constructor",a(1,j));for(var V in m)if(u(m,V)){var z=m[V],Y=z.s;u(j,Y)||s(j,Y,a(6,z.c))}}},86465:function(i,d,e){"use strict";var t=e(65911),r=e(94573),n="DOMException";r(t(n),n)},78437:function(i,d,e){"use strict";e(91472),e(91700)},73624:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(72933),a=e(63335),s=e(57106),u=e(90946),c=r.process;t({global:!0,enumerable:!0,dontCallGetSet:!0},{queueMicrotask:function(f){s(arguments.length,1),a(f);var m=u&&c.domain;n(m?m.bind(f):f)}})},62059:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(64110),a=e(35454),s=TypeError,u=Object.defineProperty,c=r.self!==r;try{if(a){var o=Object.getOwnPropertyDescriptor(r,"self");(c||!o||!o.get||!o.enumerable)&&n(r,"self",{get:function(){return r},set:function(m){if(this!==r)throw new s("Illegal invocation");u(r,"self",{value:m,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else t({global:!0,simple:!0,forced:c},{self:r})}catch(f){}},91700:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(28887).set,a=e(93222),s=r.setImmediate?a(n,!1):n;t({global:!0,bind:!0,enumerable:!0,forced:r.setImmediate!==s},{setImmediate:s})},88469:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(93222),a=n(r.setInterval,!0);t({global:!0,bind:!0,forced:r.setInterval!==a},{setInterval:a})},91572:function(i,d,e){"use strict";var t=e(94488),r=e(92916),n=e(93222),a=n(r.setTimeout,!0);t({global:!0,bind:!0,forced:r.setTimeout!==a},{setTimeout:a})},10305:function(i,d,e){"use strict";var t=e(16697),r=e(94488),n=e(92916),a=e(65911),s=e(94237),u=e(3338),c=e(6145),o=e(55327),f=e(39812),m=e(4112),p=e(31946),b=e(18446),g=e(62003),E=e(80449),O=e(97607),S=e(32621),I=e(69392),P=e(68151),k=e(82762),R=e(57106),T=e(81644),A=e(2786),D=e(19691),j=e(57002),L=e(39311),V=e(25406),z=e(80426),Y=n.Object,B=n.Array,W=n.Date,G=n.Error,Q=n.TypeError,H=n.PerformanceMark,F=a("DOMException"),q=A.Map,M=A.has,N=A.get,K=A.set,ne=D.Set,se=D.add,_e=D.has,le=a("Object","keys"),he=s([].push),We=s((!0).valueOf),Ke=s(1 .valueOf),ft=s("".valueOf),_t=s(W.prototype.getTime),pt=c("structuredClone"),et="DataCloneError",me="Transferring",Ie=function(ce){return!u(function(){var xe=new n.Set([7]),dt=ce(xe),qe=ce(Y(7));return dt===xe||!dt.has(7)||!p(qe)||+qe!=7})&&ce},$e=function(ce,xe){return!u(function(){var dt=new xe,qe=ce({a:dt,b:dt});return!(qe&&qe.a===qe.b&&qe.a instanceof xe&&qe.a.stack===dt.stack)})},nt=function(ce){return!u(function(){var xe=ce(new n.AggregateError([1],pt,{cause:3}));return xe.name!=="AggregateError"||xe.errors[0]!==1||xe.message!==pt||xe.cause!==3})},wt=n.structuredClone,Mt=t||!$e(wt,G)||!$e(wt,F)||!nt(wt),At=!wt&&Ie(function(ce){return new H(pt,{detail:ce}).detail}),De=Ie(wt)||At,Qe=function(ce){throw new F("Uncloneable type: "+ce,et)},mt=function(ce,xe){throw new F((xe||"Cloning")+" of "+ce+" cannot be properly polyfilled in this engine",et)},Be=function(ce,xe){return De||mt(xe),De(ce)},we=function(){var ce;try{ce=new n.DataTransfer}catch(xe){try{ce=new n.ClipboardEvent("").clipboardData}catch(dt){}}return ce&&ce.items&&ce.files?ce:null},ue=function(ce,xe,dt){if(M(xe,ce))return N(xe,ce);var qe=dt||O(ce),He,at,Rt,lt,Re,it;if(qe==="SharedArrayBuffer")De?He=De(ce):He=ce;else{var Ze=n.DataView;!Ze&&!o(ce.slice)&&mt("ArrayBuffer");try{if(o(ce.slice)&&!ce.resizable)He=ce.slice(0);else for(at=ce.byteLength,Rt=("maxByteLength"in ce)?{maxByteLength:ce.maxByteLength}:void 0,He=new ArrayBuffer(at,Rt),lt=new Ze(ce),Re=new Ze(He),it=0;it1&&!m(arguments[1])?E(arguments[1]):void 0,qe=dt?dt.transfer:void 0,He,at;qe!==void 0&&(He=new q,at=rt(qe,He));var Rt=Se(xe,He);return at&&xt(at),Rt}})},41208:function(i,d,e){"use strict";e(88469),e(91572)},91340:function(i,d,e){"use strict";e(11005);var t=e(94488),r=e(92916),n=e(89945),a=e(94237),s=e(35454),u=e(3299),c=e(2291),o=e(64110),f=e(66477),m=e(94573),p=e(83126),b=e(94844),g=e(56472),E=e(55327),O=e(32621),S=e(80666),I=e(97607),P=e(80449),k=e(31946),R=e(69905),T=e(20132),A=e(35012),D=e(85428),j=e(26006),L=e(25587),V=e(57106),z=e(59893),Y=e(63668),B=z("iterator"),W="URLSearchParams",G=W+"Iterator",Q=b.set,H=b.getterFor(W),F=b.getterFor(G),q=Object.getOwnPropertyDescriptor,M=function(He){if(!s)return r[He];var at=q(r,He);return at&&at.value},N=M("fetch"),K=M("Request"),ne=M("Headers"),se=K&&K.prototype,_e=ne&&ne.prototype,le=r.RegExp,he=r.TypeError,We=r.decodeURIComponent,Ke=r.encodeURIComponent,ft=a("".charAt),_t=a([].join),pt=a([].push),et=a("".replace),me=a([].shift),Ie=a([].splice),$e=a("".split),nt=a("".slice),wt=/\+/g,Mt=Array(4),At=function(He){return Mt[He-1]||(Mt[He-1]=le("((?:%[\\da-f]{2}){"+He+"})","gi"))},De=function(He){try{return We(He)}catch(at){return He}},Qe=function(He){var at=et(He,wt," "),Rt=4;try{return We(at)}catch(lt){for(;Rt;)at=et(at,At(Rt--),De);return at}},mt=/[!'()~]|%20/g,Be={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},we=function(He){return Be[He]},ue=function(He){return et(Ke(He),mt,we)},ye=p(function(at,Rt){Q(this,{type:G,target:H(at).entries,index:0,kind:Rt})},W,function(){var at=F(this),Rt=at.target,lt=at.index++;if(!Rt||lt>=Rt.length)return at.target=void 0,L(void 0,!0);var Re=Rt[lt];switch(at.kind){case"keys":return L(Re.key,!1);case"values":return L(Re.value,!1)}return L([Re.key,Re.value],!1)},!0),Se=function(He){this.entries=[],this.url=null,He!==void 0&&(k(He)?this.parseObject(He):this.parseQuery(typeof He=="string"?ft(He,0)==="?"?nt(He,1):He:R(He)))};Se.prototype={type:W,bindURL:function(He){this.url=He,this.update()},parseObject:function(He){var at=this.entries,Rt=j(He),lt,Re,it,Ze,gt,Dt,lr;if(Rt)for(lt=D(He,Rt),Re=lt.next;!(it=n(Re,lt)).done;){if(Ze=D(P(it.value)),gt=Ze.next,(Dt=n(gt,Ze)).done||(lr=n(gt,Ze)).done||!n(gt,Ze).done)throw new he("Expected sequence with length 2");pt(at,{key:R(Dt.value),value:R(lr.value)})}else for(var cr in He)O(He,cr)&&pt(at,{key:cr,value:R(He[cr])})},parseQuery:function(He){if(He)for(var at=this.entries,Rt=$e(He,"&"),lt=0,Re,it;lt0?arguments[0]:void 0,Rt=Q(this,new Se(at));s||(this.size=Rt.entries.length)},xt=rt.prototype;if(f(xt,{append:function(at,Rt){var lt=H(this);V(arguments.length,2),pt(lt.entries,{key:R(at),value:R(Rt)}),s||this.length++,lt.updateURL()},delete:function(He){for(var at=H(this),Rt=V(arguments.length,1),lt=at.entries,Re=R(He),it=Rt<2?void 0:arguments[1],Ze=it===void 0?it:R(it),gt=0;gtlt.key?1:-1}),at.updateURL()},forEach:function(at){for(var Rt=H(this).entries,lt=S(at,arguments.length>1?arguments[1]:void 0),Re=0,it;Re1?dt(arguments[1]):{})}}),E(K)){var qe=function(at){return g(this,se),new K(at,arguments.length>1?dt(arguments[1]):{})};se.constructor=qe,qe.prototype=se,t({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:qe})}}i.exports={URLSearchParams:rt,getState:H}},4890:function(i,d,e){"use strict";var t=e(2291),r=e(94237),n=e(69905),a=e(57106),s=URLSearchParams,u=s.prototype,c=r(u.append),o=r(u.delete),f=r(u.forEach),m=r([].push),p=new s("a=1&a=2&b=3");p.delete("a",1),p.delete("b",void 0),p+""!="a=2"&&t(u,"delete",function(b){var g=arguments.length,E=g<2?void 0:arguments[1];if(g&&E===void 0)return o(this,b);var O=[];f(this,function(D,j){m(O,{key:j,value:D})}),a(g,1);for(var S=n(b),I=n(E),P=0,k=0,R=!1,T=O.length,A;P?@[\\\]^|]/,wt=/[\0\t\n\r #/:<>?@[\\\]^|]/,Mt=/^[\u0000-\u0020]+/,At=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,De=/[\t\n\r]/g,Qe,mt=function(ht){var Ye=K(ht,"."),je,Le,Xe,$t,Nt,vr,gr;if(Ye.length&&Ye[Ye.length-1]===""&&Ye.length--,je=Ye.length,je>4)return ht;for(Le=[],Xe=0;Xe1&&W($t,0)==="0"&&(Nt=G(et,$t)?16:8,$t=ne($t,Nt===8?1:2)),$t==="")vr=0;else{if(!G(Nt===10?Ie:Nt===8?me:$e,$t))return ht;vr=z($t,Nt)}q(Le,vr)}for(Xe=0;Xe=B(256,5-je))return null}else if(vr>255)return null;for(gr=F(Le),Xe=0;Xe6))return;for(vr=0;ke();){if(gr=null,vr>0)if(ke()==="."&&vr<4)Xe++;else return;if(!G(pt,ke()))return;for(;G(pt,ke());){if(Xr=z(ke(),10),gr===null)gr=Xr;else{if(gr===0)return;gr=gr*10+Xr}if(gr>255)return;Xe++}Ye[je]=Ye[je]*256+gr,vr++,(vr===2||vr===4)&&je++}if(vr!==4)return;break}else if(ke()===":"){if(Xe++,!ke())return}else if(ke())return;Ye[je++]=$t}if(Le!==null)for(vn=je-Le,je=7;je!==0&&vn>0;)ar=Ye[je],Ye[je--]=Ye[Le+vn-1],Ye[Le+--vn]=ar;else if(je!==8)return;return Ye},we=function(ht){for(var Ye=null,je=1,Le=null,Xe=0,$t=0;$t<8;$t++)ht[$t]!==0?(Xe>je&&(Ye=Le,je=Xe),Le=null,Xe=0):(Le===null&&(Le=$t),++Xe);return Xe>je&&(Ye=Le,je=Xe),Ye},ue=function(ht){var Ye,je,Le,Xe;if(typeof ht=="number"){for(Ye=[],je=0;je<4;je++)_e(Ye,ht%256),ht=Y(ht/256);return Q(Ye,".")}else if(typeof ht=="object"){for(Ye="",Le=we(ht),je=0;je<8;je++)Xe&&ht[je]===0||(Xe&&(Xe=!1),Le===je?(Ye+=je?":":"::",Xe=!0):(Ye+=H(ht[je],16),je<7&&(Ye+=":")));return"["+Ye+"]"}return ht},ye={},Se=p({},ye,{" ":1,'"':1,"<":1,">":1,"`":1}),rt=p({},Se,{"#":1,"?":1,"{":1,"}":1}),xt=p({},rt,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ce=function(ht,Ye){var je=E(ht,0);return je>32&&je<127&&!m(Ye,ht)?ht:encodeURIComponent(ht)},xe={ftp:21,file:null,http:80,https:443,ws:80,wss:443},dt=function(ht,Ye){var je;return ht.length===2&&G(ft,W(ht,0))&&((je=W(ht,1))===":"||!Ye&&je==="|")},qe=function(ht){var Ye;return ht.length>1&&dt(ne(ht,0,2))&&(ht.length===2||(Ye=W(ht,2))==="/"||Ye==="\\"||Ye==="?"||Ye==="#")},He=function(ht){return ht==="."||se(ht)==="%2e"},at=function(ht){return ht=se(ht),ht===".."||ht==="%2e."||ht===".%2e"||ht==="%2e%2e"},Rt={},lt={},Re={},it={},Ze={},gt={},Dt={},lr={},cr={},Ir={},Pr={},yr={},Ne={},kr={},yt={},Jt={},_r={},ie={},ct={},qt={},Wt={},St=function(ht,Ye,je){var Le=S(ht),Xe,$t,Nt;if(Ye){if($t=this.parse(Le),$t)throw new V($t);this.searchParams=null}else{if(je!==void 0&&(Xe=new St(je,!0)),$t=this.parse(Le,null,Xe),$t)throw new V($t);Nt=j(new D),Nt.bindURL(this),this.searchParams=Nt}};St.prototype={type:"URL",parse:function(ht,Ye,je){var Le=this,Xe=Ye||Rt,$t=0,Nt="",vr=!1,gr=!1,Xr=!1,vn,ar,ke,Dr;for(ht=S(ht),Ye||(Le.scheme="",Le.username="",Le.password="",Le.host=null,Le.port=null,Le.path=[],Le.query=null,Le.fragment=null,Le.cannotBeABaseURL=!1,ht=M(ht,Mt,""),ht=M(ht,At,"$1")),ht=M(ht,De,""),vn=b(ht);$t<=vn.length;){switch(ar=vn[$t],Xe){case Rt:if(ar&&G(ft,ar))Nt+=se(ar),Xe=lt;else{if(Ye)return he;Xe=Re;continue}break;case lt:if(ar&&(G(_t,ar)||ar==="+"||ar==="-"||ar==="."))Nt+=se(ar);else if(ar===":"){if(Ye&&(Le.isSpecial()!==m(xe,Nt)||Nt==="file"&&(Le.includesCredentials()||Le.port!==null)||Le.scheme==="file"&&!Le.host))return;if(Le.scheme=Nt,Ye){Le.isSpecial()&&xe[Le.scheme]===Le.port&&(Le.port=null);return}Nt="",Le.scheme==="file"?Xe=kr:Le.isSpecial()&&je&&je.scheme===Le.scheme?Xe=it:Le.isSpecial()?Xe=lr:vn[$t+1]==="/"?(Xe=Ze,$t++):(Le.cannotBeABaseURL=!0,q(Le.path,""),Xe=ct)}else{if(Ye)return he;Nt="",Xe=Re,$t=0;continue}break;case Re:if(!je||je.cannotBeABaseURL&&ar!=="#")return he;if(je.cannotBeABaseURL&&ar==="#"){Le.scheme=je.scheme,Le.path=g(je.path),Le.query=je.query,Le.fragment="",Le.cannotBeABaseURL=!0,Xe=Wt;break}Xe=je.scheme==="file"?kr:gt;continue;case it:if(ar==="/"&&vn[$t+1]==="/")Xe=cr,$t++;else{Xe=gt;continue}break;case Ze:if(ar==="/"){Xe=Ir;break}else{Xe=ie;continue}case gt:if(Le.scheme=je.scheme,ar===Qe)Le.username=je.username,Le.password=je.password,Le.host=je.host,Le.port=je.port,Le.path=g(je.path),Le.query=je.query;else if(ar==="/"||ar==="\\"&&Le.isSpecial())Xe=Dt;else if(ar==="?")Le.username=je.username,Le.password=je.password,Le.host=je.host,Le.port=je.port,Le.path=g(je.path),Le.query="",Xe=qt;else if(ar==="#")Le.username=je.username,Le.password=je.password,Le.host=je.host,Le.port=je.port,Le.path=g(je.path),Le.query=je.query,Le.fragment="",Xe=Wt;else{Le.username=je.username,Le.password=je.password,Le.host=je.host,Le.port=je.port,Le.path=g(je.path),Le.path.length--,Xe=ie;continue}break;case Dt:if(Le.isSpecial()&&(ar==="/"||ar==="\\"))Xe=cr;else if(ar==="/")Xe=Ir;else{Le.username=je.username,Le.password=je.password,Le.host=je.host,Le.port=je.port,Xe=ie;continue}break;case lr:if(Xe=cr,ar!=="/"||W(Nt,$t+1)!=="/")continue;$t++;break;case cr:if(ar!=="/"&&ar!=="\\"){Xe=Ir;continue}break;case Ir:if(ar==="@"){vr&&(Nt="%40"+Nt),vr=!0,ke=b(Nt);for(var Me=0;Me65535)return Ke;Le.port=Le.isSpecial()&&ea===xe[Le.scheme]?null:ea,Nt=""}if(Ye)return;Xe=_r;continue}else return Ke;break;case kr:if(Le.scheme="file",ar==="/"||ar==="\\")Xe=yt;else if(je&&je.scheme==="file")switch(ar){case Qe:Le.host=je.host,Le.path=g(je.path),Le.query=je.query;break;case"?":Le.host=je.host,Le.path=g(je.path),Le.query="",Xe=qt;break;case"#":Le.host=je.host,Le.path=g(je.path),Le.query=je.query,Le.fragment="",Xe=Wt;break;default:qe(Q(g(vn,$t),""))||(Le.host=je.host,Le.path=g(je.path),Le.shortenPath()),Xe=ie;continue}else{Xe=ie;continue}break;case yt:if(ar==="/"||ar==="\\"){Xe=Jt;break}je&&je.scheme==="file"&&!qe(Q(g(vn,$t),""))&&(dt(je.path[0],!0)?q(Le.path,je.path[0]):Le.host=je.host),Xe=ie;continue;case Jt:if(ar===Qe||ar==="/"||ar==="\\"||ar==="?"||ar==="#"){if(!Ye&&dt(Nt))Xe=ie;else if(Nt===""){if(Le.host="",Ye)return;Xe=_r}else{if(Dr=Le.parseHost(Nt),Dr)return Dr;if(Le.host==="localhost"&&(Le.host=""),Ye)return;Nt="",Xe=_r}continue}else Nt+=ar;break;case _r:if(Le.isSpecial()){if(Xe=ie,ar!=="/"&&ar!=="\\")continue}else if(!Ye&&ar==="?")Le.query="",Xe=qt;else if(!Ye&&ar==="#")Le.fragment="",Xe=Wt;else if(ar!==Qe&&(Xe=ie,ar!=="/"))continue;break;case ie:if(ar===Qe||ar==="/"||ar==="\\"&&Le.isSpecial()||!Ye&&(ar==="?"||ar==="#")){if(at(Nt)?(Le.shortenPath(),ar!=="/"&&!(ar==="\\"&&Le.isSpecial())&&q(Le.path,"")):He(Nt)?ar!=="/"&&!(ar==="\\"&&Le.isSpecial())&&q(Le.path,""):(Le.scheme==="file"&&!Le.path.length&&dt(Nt)&&(Le.host&&(Le.host=""),Nt=W(Nt,0)+":"),q(Le.path,Nt)),Nt="",Le.scheme==="file"&&(ar===Qe||ar==="?"||ar==="#"))for(;Le.path.length>1&&Le.path[0]==="";)N(Le.path);ar==="?"?(Le.query="",Xe=qt):ar==="#"&&(Le.fragment="",Xe=Wt)}else Nt+=ce(ar,rt);break;case ct:ar==="?"?(Le.query="",Xe=qt):ar==="#"?(Le.fragment="",Xe=Wt):ar!==Qe&&(Le.path[0]+=ce(ar,ye));break;case qt:!Ye&&ar==="#"?(Le.fragment="",Xe=Wt):ar!==Qe&&(ar==="'"&&Le.isSpecial()?Le.query+="%27":ar==="#"?Le.query+="%23":Le.query+=ce(ar,ye));break;case Wt:ar!==Qe&&(Le.fragment+=ce(ar,Se));break}$t++}},parseHost:function(ht){var Ye,je,Le;if(W(ht,0)==="["){if(W(ht,ht.length-1)!=="]"||(Ye=Be(ne(ht,1,-1)),!Ye))return We;this.host=Ye}else if(this.isSpecial()){if(ht=O(ht),G(nt,ht)||(Ye=mt(ht),Ye===null))return We;this.host=Ye}else{if(G(wt,ht))return We;for(Ye="",je=b(ht),Le=0;Le1?arguments[1]:void 0,Xe=T(je,new St(Ye,!1,Le));r||(je.href=Xe.serialize(),je.origin=Xe.getOrigin(),je.protocol=Xe.getProtocol(),je.username=Xe.getUsername(),je.password=Xe.getPassword(),je.host=Xe.getHost(),je.hostname=Xe.getHostname(),je.port=Xe.getPort(),je.pathname=Xe.getPathname(),je.search=Xe.getSearch(),je.searchParams=Xe.getSearchParams(),je.hash=Xe.getHash())},Lt=Ct.prototype,Bt=function(ht,Ye){return{get:function(){return A(this)[ht]()},set:Ye&&function(je){return A(this)[Ye](je)},configurable:!0,enumerable:!0}};if(r&&(o(Lt,"href",Bt("serialize","setHref")),o(Lt,"origin",Bt("getOrigin")),o(Lt,"protocol",Bt("getProtocol","setProtocol")),o(Lt,"username",Bt("getUsername","setUsername")),o(Lt,"password",Bt("getPassword","setPassword")),o(Lt,"host",Bt("getHost","setHost")),o(Lt,"hostname",Bt("getHostname","setHostname")),o(Lt,"port",Bt("getPort","setPort")),o(Lt,"pathname",Bt("getPathname","setPathname")),o(Lt,"search",Bt("getSearch","setSearch")),o(Lt,"searchParams",Bt("getSearchParams")),o(Lt,"hash",Bt("getHash","setHash"))),c(Lt,"toJSON",function(){return A(this).serialize()},{enumerable:!0}),c(Lt,"toString",function(){return A(this).serialize()},{enumerable:!0}),L){var nr=L.createObjectURL,pr=L.revokeObjectURL;nr&&c(Ct,"createObjectURL",s(nr,L)),pr&&c(Ct,"revokeObjectURL",s(pr,L))}I(Ct,"URL"),t({global:!0,constructor:!0,forced:!n,sham:!r},{URL:Ct})},25204:function(i,d,e){"use strict";e(13588)},47803:function(i,d,e){"use strict";var t=e(94488),r=e(89945);t({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return r(URL.prototype.toString,this)}})},73825:function(i,d,e){"use strict";e.d(d,{Z:function(){return t}});function t(r){if(Array.isArray(r))return r}},65873:function(i,d,e){"use strict";e.d(d,{Z:function(){return r}});var t=e(89878);function r(n,a,s){return a=(0,t.Z)(a),a in n?Object.defineProperty(n,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):n[a]=s,n}},38329:function(i,d,e){"use strict";e.d(d,{Z:function(){return t}});function t(){return t=Object.assign?Object.assign.bind():function(r){for(var n=1;n=0)&&(s[c]=n[c]);return s}function r(n,a){if(n==null)return{};var s=t(n,a),u,c;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(c=0;c=0)&&Object.prototype.propertyIsEnumerable.call(n,u)&&(s[u]=n[u])}return s}},87296:function(i,d,e){"use strict";e.d(d,{Z:function(){return s}});var t=e(73825);function r(u,c){var o=u==null?null:typeof Symbol!="undefined"&&u[Symbol.iterator]||u["@@iterator"];if(o!=null){var f,m,p,b,g=[],E=!0,O=!1;try{if(p=(o=o.call(u)).next,c===0){if(Object(o)!==o)return;E=!1}else for(;!(E=(f=p.call(o)).done)&&(g.push(f.value),g.length!==c);E=!0);}catch(S){O=!0,m=S}finally{try{if(!E&&o.return!=null&&(b=o.return(),Object(b)!==b))return}finally{if(O)throw m}}return g}}var n=e(99227),a=e(66160);function s(u,c){return(0,t.Z)(u)||r(u,c)||(0,n.Z)(u,c)||(0,a.Z)()}},89878:function(i,d,e){"use strict";e.d(d,{Z:function(){return n}});var t=e(8616);function r(a,s){if((0,t.Z)(a)!="object"||!a)return a;var u=a[Symbol.toPrimitive];if(u!==void 0){var c=u.call(a,s||"default");if((0,t.Z)(c)!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(a)}function n(a){var s=r(a,"string");return(0,t.Z)(s)=="symbol"?s:String(s)}},8616:function(i,d,e){"use strict";e.d(d,{Z:function(){return t}});function t(r){"@babel/helpers - typeof";return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},t(r)}},99227:function(i,d,e){"use strict";e.d(d,{Z:function(){return r}});function t(n,a){(a==null||a>n.length)&&(a=n.length);for(var s=0,u=new Array(a);sr.length)&&(n=r.length);for(var a=0,s=Array(n);a3?(he=ft===le)&&(q=We[(F=We[4])?5:(F=3,3)],We[4]=We[5]=p):We[0]<=Ke&&((he=_e<2&&Kele||le>ft)&&(We[4]=_e,We[5]=le,ne.n=ft,F=0))}if(he||_e>1)return I;throw K=!0,le}return function(_e,le,he){if(M>1)throw TypeError("Generator is already running");for(K&&le===1&&se(le,he),F=le,q=he;(b=F<2?p:q)||!K;){H||(F?F<3?(F>1&&(ne.n=-1),se(F,q)):ne.n=q:ne.v=q);try{if(M=2,H){if(F||(_e="next"),b=H[_e]){if(!(b=b.call(H,q)))throw TypeError("iterator result is not an object");if(!b.done)return b;q=b.value,F<2&&(F=0)}else F===1&&(b=H.return)&&b.call(H),F<2&&(q=TypeError("The iterator does not provide a '"+_e+"' method"),F=1);H=p}else if((b=(K=ne.n<0)?q:W.call(G,ne))!==I)break}catch(We){H=p,F=1,q=We}finally{M=1}}return{value:b,done:K}}}(j,V,z),!0),B}var I={};function P(){}function k(){}function R(){}b=Object.getPrototypeOf;var T=[][E]?b(b([][E]())):(r(b={},E,function(){return this}),b),A=R.prototype=P.prototype=Object.create(T);function D(j){return Object.setPrototypeOf?Object.setPrototypeOf(j,R):(j.__proto__=R,r(j,O,"GeneratorFunction")),j.prototype=Object.create(A),j}return k.prototype=R,r(A,"constructor",R),r(R,"constructor",k),k.displayName="GeneratorFunction",r(R,O,"GeneratorFunction"),r(A),r(A,O,"Generator"),r(A,E,function(){return this}),r(A,"toString",function(){return"[object Generator]"}),(n=function(){return{w:S,m:D}})()}function a(p,b){function g(O,S,I,P){try{var k=p[O](S),R=k.value;return R instanceof t?b.resolve(R.v).then(function(T){g("next",T,I,P)},function(T){g("throw",T,I,P)}):b.resolve(R).then(function(T){k.value=T,I(k)},function(T){return g("throw",T,I,P)})}catch(T){P(T)}}var E;this.next||(r(a.prototype),r(a.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),r(this,"_invoke",function(O,S,I){function P(){return new b(function(k,R){g(O,I,k,R)})}return E=E?E.then(P,P):P()},!0)}function s(p,b,g,E,O){return new a(n().w(p,b,g,E),O||Promise)}function u(p,b,g,E,O){var S=s(p,b,g,E,O);return S.next().then(function(I){return I.done?I.value:S.next()})}function c(p){var b=Object(p),g=[];for(var E in b)g.unshift(E);return function O(){for(;g.length;)if((E=g.pop())in b)return O.value=E,O.done=!1,O;return O.done=!0,O}}var o=e(26420);function f(p){if(p!=null){var b=p[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],g=0;if(b)return b.call(p);if(typeof p.next=="function")return p;if(!isNaN(p.length))return{next:function(){return p&&g>=p.length&&(p=void 0),{value:p&&p[g++],done:!p}}}}throw new TypeError((0,o.Z)(p)+" is not iterable")}function m(){"use strict";var p=n(),b=p.m(m),g=(Object.getPrototypeOf?Object.getPrototypeOf(b):b.__proto__).constructor;function E(I){var P=typeof I=="function"&&I.constructor;return!!P&&(P===g||(P.displayName||P.name)==="GeneratorFunction")}var O={throw:1,return:2,break:3,continue:3};function S(I){var P,k;return function(R){P||(P={stop:function(){return k(R.a,2)},catch:function(){return R.v},abrupt:function(A,D){return k(R.a,O[A],D)},delegateYield:function(A,D,j){return P.resultName=D,k(R.d,f(A),j)},finish:function(A){return k(R.f,A)}},k=function(A,D,j){R.p=P.prev,R.n=P.next;try{return A(D,j)}finally{P.next=R.n}}),P.resultName&&(P[P.resultName]=R.v,P.resultName=void 0),P.sent=R.v,P.next=R.n;try{return I.call(this,P)}finally{R.p=P.prev,R.n=P.next}}}return(m=function(){return{wrap:function(k,R,T,A){return p.w(S(k),R,T,A&&A.reverse())},isGeneratorFunction:E,mark:p.m,awrap:function(k,R){return new t(k,R)},AsyncIterator:a,async:function(k,R,T,A,D){return(E(R)?s:u)(S(k),R,T,A,D)},keys:c,values:f}})()}},90691:function(i,d,e){"use strict";e.d(d,{Z:function(){return t}});function t(r,n){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},t(r,n)}},16886:function(i,d,e){"use strict";e.d(d,{Z:function(){return s}});var t=e(36824);function r(u,c){var o=u==null?null:typeof Symbol!="undefined"&&u[Symbol.iterator]||u["@@iterator"];if(o!=null){var f,m,p,b,g=[],E=!0,O=!1;try{if(p=(o=o.call(u)).next,c===0){if(Object(o)!==o)return;E=!1}else for(;!(E=(f=p.call(o)).done)&&(g.push(f.value),g.length!==c);E=!0);}catch(S){O=!0,m=S}finally{try{if(!E&&o.return!=null&&(b=o.return(),Object(b)!==b))return}finally{if(O)throw m}}return g}}var n=e(42913),a=e(82763);function s(u,c){return(0,t.Z)(u)||r(u,c)||(0,n.Z)(u,c)||(0,a.Z)()}},57879:function(i,d,e){"use strict";e.d(d,{Z:function(){return s}});var t=e(36824),r=e(23841),n=e(42913),a=e(82763);function s(u){return(0,t.Z)(u)||(0,r.Z)(u)||(0,n.Z)(u)||(0,a.Z)()}},15142:function(i,d,e){"use strict";e.d(d,{Z:function(){return u}});var t=e(22363);function r(c){if(Array.isArray(c))return(0,t.Z)(c)}var n=e(23841),a=e(42913);function s(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function u(c){return r(c)||(0,n.Z)(c)||(0,a.Z)(c)||s()}},51333:function(i,d,e){"use strict";e.d(d,{Z:function(){return n}});var t=e(26420);function r(a,s){if((0,t.Z)(a)!="object"||!a)return a;var u=a[Symbol.toPrimitive];if(u!==void 0){var c=u.call(a,s||"default");if((0,t.Z)(c)!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(a)}function n(a){var s=r(a,"string");return(0,t.Z)(s)=="symbol"?s:s+""}},26420:function(i,d,e){"use strict";e.d(d,{Z:function(){return t}});function t(r){"@babel/helpers - typeof";return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},t(r)}},42913:function(i,d,e){"use strict";e.d(d,{Z:function(){return r}});var t=e(22363);function r(n,a){if(n){if(typeof n=="string")return(0,t.Z)(n,a);var s={}.toString.call(n).slice(8,-1);return s==="Object"&&n.constructor&&(s=n.constructor.name),s==="Map"||s==="Set"?Array.from(n):s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?(0,t.Z)(n,a):void 0}}},28143:function(i,d,e){"use strict";e.d(d,{Z:function(){return u}});var t=e(20456),r=e(90691);function n(c){try{return Function.toString.call(c).indexOf("[native code]")!==-1}catch(o){return typeof c=="function"}}var a=e(87042);function s(c,o,f){if((0,a.Z)())return Reflect.construct.apply(null,arguments);var m=[null];m.push.apply(m,o);var p=new(c.bind.apply(c,m));return f&&(0,r.Z)(p,f.prototype),p}function u(c){var o=typeof Map=="function"?new Map:void 0;return u=function(m){if(m===null||!n(m))return m;if(typeof m!="function")throw new TypeError("Super expression must either be null or a function");if(o!==void 0){if(o.has(m))return o.get(m);o.set(m,p)}function p(){return s(m,arguments,(0,t.Z)(this).constructor)}return p.prototype=Object.create(m.prototype,{constructor:{value:p,enumerable:!1,writable:!0,configurable:!0}}),(0,r.Z)(p,m)},u(c)}},53280:function(i,d,e){"use strict";e.d(d,{D:function(){return r}});function t(n,a,s){var u=s||{},c=u.noTrailing,o=c===void 0?!1:c,f=u.noLeading,m=f===void 0?!1:f,p=u.debounceMode,b=p===void 0?void 0:p,g,E=!1,O=0;function S(){g&&clearTimeout(g)}function I(k){var R=k||{},T=R.upcomingOnly,A=T===void 0?!1:T;S(),E=!A}function P(){for(var k=arguments.length,R=new Array(k),T=0;Tn?m?(O=Date.now(),o||(g=setTimeout(b?L:j,n))):j():o!==!0&&(g=setTimeout(b?L:j,b===void 0?n-D:n))}return P.cancel=I,P}function r(n,a,s){var u=s||{},c=u.atBegin,o=c===void 0?!1:c;return t(n,a,{debounceMode:o!==!1})}}},__webpack_module_cache__={};function __webpack_require__(i){var d=__webpack_module_cache__[i];if(d!==void 0)return d.exports;var e=__webpack_module_cache__[i]={id:i,loaded:!1,exports:{}};return __webpack_modules__[i].call(e.exports,e,e.exports,__webpack_require__),e.loaded=!0,e.exports}__webpack_require__.m=__webpack_modules__,function(){__webpack_require__.amdO={}}(),function(){__webpack_require__.n=function(i){var d=i&&i.__esModule?function(){return i.default}:function(){return i};return __webpack_require__.d(d,{a:d}),d}}(),function(){var i=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d;__webpack_require__.t=function(e,t){if(t&1&&(e=this(e)),t&8||typeof e=="object"&&e&&(t&4&&e.__esModule||t&16&&typeof e.then=="function"))return e;var r=Object.create(null);__webpack_require__.r(r);var n={};d=d||[null,i({}),i([]),i(i)];for(var a=t&2&&e;typeof a=="object"&&!~d.indexOf(a);a=i(a))Object.getOwnPropertyNames(a).forEach(function(s){n[s]=function(){return e[s]}});return n.default=function(){return e},__webpack_require__.d(r,n),r}}(),function(){__webpack_require__.d=function(i,d){for(var e in d)__webpack_require__.o(d,e)&&!__webpack_require__.o(i,e)&&Object.defineProperty(i,e,{enumerable:!0,get:d[e]})}}(),function(){__webpack_require__.f={},__webpack_require__.e=function(i){return Promise.all(Object.keys(__webpack_require__.f).reduce(function(d,e){return __webpack_require__.f[e](i,d),d},[]))}}(),function(){__webpack_require__.u=function(i){return""+({26:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",67:"p__Message__index",109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",195:"p__Classrooms__Lists__GroupHomework__Detail__index",264:"p__User__Detail__Order__pages__orderPay__index",265:"p__User__Detail__Topics__index",292:"p__Classrooms__Lists__Exercise__Add__index",310:"p__User__Detail__ExperImentImg__Detail__index",337:"p__Paperlibrary__Random__PreviewEdit__index",342:"p__Classrooms__Lists__ShixunHomeworks__Comment__index",479:"p__Classrooms__Lists__GroupHomework__EditWork__index",485:"p__Question__AddOrEdit__BatchAdd__index",508:"p__Forums__Detail__id",532:"p__ExcellentCourse__index",533:"p__Classrooms__Lists__Video__Statistics__Detail__index",547:"p__Account__index",556:"p__User__Detail__Order__pages__invoice__index",559:"layouts__virtualDetail__index",576:"p__Account__Profile__Edit__index",643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",680:"p__Innovation__index",700:"p__tasks__Jupyter__index",737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",745:"p__Classrooms__Lists__SmartPlan__Detail__index",799:"p__User__Detail__Topics__Poll__Detail__index",869:"p__Guidance__index",895:"p__Classrooms__Lists__Video__Items__videoInfo__index",919:"p__knowledgegraph__Statistics__LearningPath__index",921:"p__Classrooms__Lists__Exercise__CodeDetails__index",928:"p__RestFul__Edit__index",1006:"p__RestFul__index",1043:"p__Classrooms__Lists__Graduation__Tasks__index",1045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",1048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",1070:"p__Innovation__PublicMirror__index",1148:"p__Shixuns__Detail__Repository__UploadFile__index",1150:"p__BwDemo__index",1211:"p__Classrooms__Lists__CommonHomework__EditWork__index",1253:"p__Graduations__Lists__Gradingsummary__index",1257:"p__Classrooms__Lists__ResourceRecommend__index",1265:"p__Classrooms__Lists__Announcement__index",1276:"p__MoopCases__Success__index",1343:"p__User__Detail__ResourceAllocation__index",1416:"p__User__Detail__AccountInfo__CareerCertification__index",1423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",1427:"p__Classrooms__Lists__Statistics__index",1443:"p__EffectivenessAnalysis__index",1450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",1461:"p__Graduations__Lists__Topics__index",1470:"p__User__Register__index",1475:"p__Shixuns__Detail__Dataset__JupyterData__index",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",1520:"p__Engineering__Lists__StudentList__index",1545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",1578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",1581:"p__Problemset__Preview__index",1582:"p__Classrooms__Lists__GroupHomework__Add__index",1657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",1660:"p__User__QQLogin__index",1674:"p__Classrooms__ClassicCases__index",1702:"p__Classrooms__New__index",1713:"p__virtualSpaces__Lists__Settings__index",1717:"layouts__index",1727:"p__Classrooms__Lists__CourseGroup__NotList__index",1783:"p__virtualSpaces__Lists__Experiment__index",1799:"p__Competitions__Entered__Assembly__TeamDateil",1831:"p__Graduations__Index__index",1836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",1855:"p__MoopCases__InfoPanel__index",1880:"p__User__Detail__Order__pages__apply__index",1939:"p__User__Detail__Order__index",1953:"p__Problemset__NewItem__index",1962:"p__Classrooms__Lists__Engineering__index",2045:"p__Engineering__Lists__TeacherList__index",2076:"p__User__Detail__Competitions__index",2102:"p__Classrooms__Lists__Board__Edit__index",2141:"p__Shixuns__Detail__Split__index",2216:"p__DataSet__Index__index",2240:"p__User__Detail__Videos__Upload__index",2254:"p__Shixuns__Detail__Discuss__index",2300:"p__Api__index",2303:"p__Classrooms__Lists__CommonHomework__Comment__index",2307:"p__Report__index",2338:"p__Classrooms__Lists__CommonHomework__Review__index",2339:"p__virtualSpaces__Lists__Plan__Detail__index",2396:"p__User__Detail__ResourcesCenter__index",2404:"p__Classrooms__Lists__Template__teacher__index",2412:"p__User__Detail__Videos__index",2425:"p__Classrooms__Lists__Board__Detail__index",2443:"p__Graduations__Lists__StageModule__index",2476:"p__Colleges__index",2501:"p__Search__index",2524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",2529:"p__User__Detail__id",2539:"p__Graduations__Review__index",2548:"p__Engineering__Norm__Detail__index",2570:"p__Competitions__Detail__index",2603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",2659:"p__User__Detail__UserPortrait__index",2707:"p__Innovation__MyDataSet__index",2806:"p__User__Detail__Topics__Exercise__Detail__index",2819:"p__Classrooms__Lists__Template__detail__index",2823:"p__Engineering__Navigation__Home__index",2826:"p__User__Detail__DataSet__index",2829:"p__Messages__Private__index",2865:"p__Innovation__MyMirror__index",2875:"p__Shixuns__Detail__id",2884:"p__Classrooms__Lists__ProgramHomework__Comment__index",2983:"p__Forums__Index__index",3006:"p__Engineering__index",3141:"p__Innovation__Detail__index",3157:"p__User__Detail__ExperImentImg__Add__index",3183:"p__Engineering__Lists__GraduationIndex__index",3212:"p__MoopCases__index",3220:"p__Classrooms__Lists__Video__Upload__index",3247:"p__Paperlibrary__See__index",3260:"p__Paperlibrary__Add__index",3282:"layouts__ShixunDetail__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3332:"p__Paths__Detail__id",3355:"p__Classrooms__Lists__Polls__index",3356:"p__Classrooms__Lists__Assistant__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",3442:"p__Classrooms__Lists__Board__Add__index",3443:"p__knowledgegraph__Statistics__AbilityMap__Detail",3447:"p__User__Detail__Order__pages__orderInformation__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3496:"p__User__Detail__OtherResources__index",3509:"p__HttpStatus__SixActivities",3581:"p__Classrooms__Lists__ShixunHomeworks__Detail__index",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3589:"p__knowledgegraph__Statistics__index",3665:"p__tasks__index",3668:"p__Classrooms__Lists__CommonHomework__Detail__index",3685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",3747:"p__virtualSpaces__Lists__Homepage__index",3784:"p__Paperlibrary__Random__Detail__index",3862:"p__HttpStatus__403",3873:"p__virtualSpaces__Lists__Lesson__index",3897:"p__WxMiniProgram__Courseware__Study__index",3910:"p__HttpStatus__introduction",3935:"p__Classrooms__Lists__GroupHomework__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4017:"p__Classrooms__Lists__PlaceholderPage__index",4030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",4056:"p__IntrainCourse__index",4058:"p__Demo__index",4078:"p__Messages__Tidings__index",4093:"p__Classrooms__Lists__Attendance__Detail__index",4105:"p__Classrooms__Lists__Exercise__Answer__index",4144:"p__Problemset__Preview__New__index",4164:"p__Classrooms__Lists__Exercise__Detail__index",4216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",4217:"p__Classrooms__Lists__Video__Statistics__index",4227:"p__Paths__Overview__index",4259:"p__User__Detail__Order__pages__result__index",4264:"p__Forums__New__index",4339:"p__knowledgegraph__Statistics__PathAtlas__Detail",4449:"p__Competitions__Exports__index",4492:"p__Graduations__Lists__StudentSelection__index",4496:"p__HttpStatus__HpcCourse",4498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",4504:"p__virtualSpaces__Lists__Survey__index",4514:"p__Account__Results__index",4520:"p__Account__Secure__index",4546:"p__Engineering__Lists__TrainingProgram__Add__index",4565:"p__HttpStatus__500",4572:"p__Classrooms__Lists__ExportList__index",4599:"p__Problemset__index",4601:"p__Paths__Detail__Statistics__index",4610:"p__User__Detail__LearningPath__index",4621:"p__Administration__Profession__index",4662:"p__Classrooms__Lists__GroupHomework__Review__index",4715:"p__virtualSpaces__Lists__Material__Detail__index",4736:"p__User__Detail__Projects__index",4741:"p__Problems__OjForm__NewEdit__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",4795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",4800:"p__Engineering__Lists__GraduatedMatrix__index",4849:"p__User__Detail__ExperImentImg__index",4862:"p__Paperlibrary__index",4884:"p__Shixuns__Detail__Repository__Commit__index",4889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",4928:"p__Classrooms__Lists__LearningPath__index",4973:"p__Engineering__Evaluate__List__index",4994:"p__Problems__OjForm__index",5022:"p__Graduations__Lists__Settings__index",5043:"p__User__Detail__Topics__Poll__Edit__index",5048:"p__Classrooms__Lists__Graduation__Topics__index",5096:"p__Shixuns__Detail__AuditSituation__index",5111:"p__Terminal__index",5125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",5148:"p__Classrooms__Lists__Polls__Answer__index",5176:"p__User__Detail__Videos__Protocol__index",5179:"p__Administration__Student__Edit__index",5186:"p__Classrooms__Overview__index",5191:"p__User__Detail__Certificate__index",5238:"p__virtualSpaces__Lists__Material__index",5297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",5319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",5335:"p__Engineering__Lists__CourseMatrix__index",5357:"p__Engineering__Lists__TrainingProgram__Edit__index",5359:"p__Messages__Detail__index",5382:"p__DataSet__Detail__index",5402:"p__User__Detail__Topics__Detail__index",5470:"p__Shixuns__Detail__Collaborators__index",5518:"p__Classrooms__Lists__Template__index",5549:"p__Shixuns__New__CreateImg__index",5572:"p__Paths__HigherVocationalEducation__index",5573:"p__Shixuns__Detail__Merge__index",5599:"p__User__Detail__Paths__index",5624:"p__Graduations__Lists__Index__index",5650:"p__Competitions__Update__index",5705:"p__virtualSpaces__Lists__Construction__index",5729:"p__Help__Index",5741:"p__Classrooms__Lists__SmartPlan__index",5775:"p__Engineering__Lists__Document__index",5786:"layouts__LoginAndRegister__index",5798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",5816:"p__Paperlibrary__Random__Edit__index",5825:"p__Classrooms__Lists__Exercise__index",5888:"p__Classrooms__Lists__CommonHomework__Add__index",5891:"p__virtualSpaces__Lists__Resources__index",5895:"p__User__Detail__AccountInfo__Profile__Edit__index",5902:"p__Classrooms__Lists__Exercise__Sumup__index",5915:"p__knowledgegraph__Detail__Statistics__index",5927:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__TestResult",5992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",6029:"p__Administration__Student__index",6034:"p__HttpStatus__UserAgents",6052:"p__Paths__Index__index",6063:"p__Graduations__Lists__Personmanage__index",6069:"p__virtualSpaces__Lists__Lesson__Detail__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6170:"p__HttpStatus__downloadStudent",6265:"p__virtualSpaces__Lists__Discussion__index",6270:"p__MyProblem__index",6277:"p__Shixuns__Edit__index",6328:"p__Shixuns__Edit__body__Warehouse__index",6366:"p__Innovation__PublicProject__index",6434:"p__User__Detail__Order__pages__records__index",6444:"p__Video__Detail__id",6452:"p__Innovation__PublicDataSet__index",6531:"p__HttpStatus__404",6541:"p__Shixuns__Detail__Dataset__index",6583:"p__User__Detail__Classrooms__index",6587:"p__User__Detail__Videos__Protocol__resource",6634:"p__Innovation__Tasks__index",6651:"p__Engineering__Evaluate__Detail__index",6685:"p__Classrooms__Index__index",6729:"p__Classrooms__Lists__GroupHomework__Edit__index",6741:"p__Engineering__Norm__List__index",6758:"p__Classrooms__Lists__Attachment__index",6784:"p__Innovation__Edit__index",6788:"p__Classrooms__Lists__ProgramHomework__index",6796:"p__virtualSpaces__Lists__Announcement__Detail__index",6805:"p__User__Detail__AccountInfo__RealNameCertification__index",6820:"p__User__Detail__Topics__Normal__index",6845:"p__Shixuns__Detail__Settings__index",6882:"p__Classrooms__New__StartClass__index",6883:"p__Competitions__Index__index",6904:"p__MoopCases__FormPanel__index",6913:"p__Question__AddOrEdit__index",6963:"p__Classrooms__Lists__Engineering__Detail__index",6982:"p__User__Detail__AccountInfo__Profile__index",7008:"p__Shixuns__New__index",7042:"p__knowledgegraph__Statistics__LearningPath__Detail",7043:"p__User__Detail__Topics__Exercise__Edit__index",7045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",7046:"p__Shixuns__Detail__Repository__AddFile__index",7058:"p__virtualSpaces__Lists__Survey__Detail__index",7062:"layouts__SimpleLayouts",7178:"p__User__BindAccount__index",7182:"p__User__ResetPassword__index",7242:"p__Innovation__MyProject__index",7260:"p__Account__Certification__index",7333:"p__User__WechatLogin__index",7395:"p__Classrooms__Lists__Statistics__StudentDetail__index",7460:"p__Question__OjProblem__index",7477:"p__virtualSpaces__Lists__Announcement__index",7482:"p__Classrooms__Lists__Exercise__Notice__index",7527:"p__MyProblem__RecordDetail__index",7545:"p__Graduations__Lists__Archives__index",7560:"p__Administration__College__index",7589:"p__virtualSpaces__Lists__DigitalTopics__index",7614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",7622:"p__Classrooms__Lists__Polls__Detail__index",7806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",7852:"p__Classrooms__Lists__ShixunHomeworks__index",7855:"p__User__Detail__ResourcesCenter__Detail__index",7857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",7878:"p__Classrooms__Lists__LiveVideo__index",7883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",7884:"p__Shixuns__Exports__index",7922:"p__Classrooms__Lists__CourseGroup__Detail__index",8014:"p__Classrooms__Lists__Teachers__index",8062:"p__User__Detail__Topicbank__index",8072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",8077:"p__Classrooms__Lists__Students__index",8085:"p__Classrooms__Lists__Exercise__Review__index",8137:"p__knowledgegraph__Statistics__PathAtlas__index",8143:"layouts__GraduationsDetail__index",8155:"p__Shixuns__Overview__index",8237:"p__User__Detail__Order__pages__view__index",8241:"p__virtualSpaces__Lists__Plan__index",8302:"p__Classrooms__Lists__Board__index",8307:"p__User__Detail__Shixuns__index",8340:"p__Classrooms__Lists__Attendance__Webview__Student__index",8398:"p__virtualSpaces__Lists__Resources__Detail__index",8431:"p__Classrooms__Lists__Exercise__Export__index",8435:"p__Classrooms__Lists__Attendance__index",8447:"p__virtualSpaces__Lists__Knowledge__index",8517:"p__User__Detail__Topics__Group__index",8522:"p__Classrooms__Lists__SmartPlan__Info__PptInfo__index",8563:"p__virtualSpaces__Lists__Discussion__Detail__index",8634:"p__Classrooms__Lists__CourseGroup__List__index",8639:"p__Forums__Index__redirect",8665:"p__Engineering__Lists__TrainingObjectives__index",8688:"p__Shixuns__Detail__Repository__index",8689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",8723:"p__Classrooms__Lists__Polls__Edit__index",8782:"p__Shixuns__Index__index",8787:"p__Competitions__Entered__index",8795:"p__Classrooms__Lists__Exercise__Detail__components__WordInfo__index",8797:"p__Competitions__Edit__index",8823:"p__knowledgegraph__Detail__id",8827:"p__Classrooms__Lists__OnlineLearning__index",8866:"p__index",8882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",8885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",8891:"antdesign",8982:"p__Paths__New__index",8999:"p__Three__index",9076:"p__Account__Binding__index",9133:"p__Shixuns__Detail__Challenges__index",9205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",9215:"p__Shixuns__Detail__ForkList__index",9332:"p__Classrooms__Lists__Video__index",9360:"p__User__Detail__virtualSpaces__index",9366:"p__User__Login__index",9391:"p__Engineering__Lists__CurseSetting__index",9404:"monaco-editor",9408:"p__Shixuns__Detail__RankingList__index",9416:"p__Graduations__Lists__Tasks__index",9472:"p__Shixuns__Detail__Poll__index",9487:"p__LargeScreen__index",9489:"p__Engineering__Lists__CourseList__index",9507:"p__User__Detail__ResourceGuarantee__index",9590:"p__User__Detail__TeachGroup__index",9595:"p__knowledgegraph__Statistics__AbilityMap__index",9647:"p__Question__Index__index",9649:"p__Engineering__Lists__TrainingProgram__index",9674:"p__Shixuns__New__ImagePreview__index",9677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",9695:"p__Classrooms__Lists__Polls__Add__index",9715:"p__Classrooms__Lists__CommonHomework__Edit__index",9716:"p__Question__OjProblem__RecordDetail__index",9785:"p__Classrooms__Lists__Template__student__index",9788:"p__Account__Profile__index",9890:"p__Classrooms__Lists__CommonHomework__index",9891:"p__User__Detail__Videos__Success__index",9921:"p__Classrooms__ExamList__index",9922:"p__Classrooms__Lists__Statistics__StudentVideo__index",9944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index"}[i]||i)+"."+{26:"ee67c309",67:"30690694",95:"d8ce8946",109:"01501bc4",195:"33eb7ae7",264:"b4a5c193",265:"851b4595",292:"b068c5bb",310:"6f2094d6",316:"1f60ada6",337:"2772370b",342:"eee06cbd",354:"d4d139cf",479:"39c38a84",485:"a8cc6092",508:"cbc31b22",532:"2fb797d9",533:"c902917b",547:"48bfa48e",556:"ca05ae00",559:"094b9583",576:"3e0a6c4f",599:"ed444d24",629:"44a1d9a5",643:"c35343f0",671:"4a609b8d",680:"2063fa82",700:"ec14d32e",737:"41bc917e",741:"ac5fd360",745:"4a3c74f3",799:"02c6f56b",869:"3feac31f",895:"cf43cf21",919:"43f60223",921:"0ba2fdbd",925:"ece81186",928:"f539b1dd",981:"24da50c7",1006:"d71d010e",1043:"369a5786",1045:"00f7468a",1048:"09980fd8",1070:"73725039",1144:"c90eccaf",1148:"655d1975",1150:"b8ee159d",1154:"8cb80842",1211:"734674c9",1220:"6a49c772",1253:"02d23091",1257:"f333e402",1265:"56c2a2fe",1274:"5f6ea65a",1276:"cbeb3a8f",1343:"c83d6609",1416:"3e4372eb",1423:"c2c09b62",1427:"55f5686d",1443:"c8d9c6a2",1450:"893b2d58",1461:"548aa086",1462:"fcf08abc",1470:"f372c714",1475:"ef2e667f",1482:"b0ce828e",1512:"933ba9bd",1520:"42c9e07c",1545:"cd2659c2",1578:"4c59e70a",1581:"87523cb7",1582:"dd81cb61",1646:"e6e27b60",1657:"bcb14618",1660:"2c305c06",1674:"0099ed7a",1685:"6409b36e",1702:"bf487d9c",1713:"9e2cfbc6",1717:"4e3f5303",1727:"45e12a5e",1783:"ebc60034",1799:"a0a3fb12",1831:"05b3d7aa",1836:"81ab9df9",1855:"eb0f6e50",1880:"35a6dd3c",1939:"68a8b189",1953:"77bd4e9b",1962:"78f1085a",2011:"59d51f98",2045:"da13db76",2076:"e81d5811",2102:"7f115916",2141:"b9de86ea",2216:"1231e276",2240:"8a715836",2249:"f4830452",2254:"8cd75460",2300:"f7b34b30",2303:"10d4ae07",2307:"28262356",2338:"11125ef0",2339:"cab05db3",2364:"f89faf70",2386:"192e235c",2396:"e8173bc0",2404:"0abed8a8",2412:"05066959",2425:"4987cca1",2443:"325cee1a",2476:"8e603e6b",2494:"68080a87",2501:"ece9ca93",2524:"f5768a0b",2529:"e64ffe7e",2538:"de4a3723",2539:"2497eedf",2548:"aa53f43d",2570:"9b90b94c",2594:"e87d3761",2603:"61242102",2659:"47ea6643",2707:"ae0e9d74",2806:"da4b1b9d",2819:"4a32d5c7",2823:"34a2d225",2826:"ca16b215",2829:"9999bf4a",2837:"54a82605",2865:"9b868c30",2875:"bf6ba75c",2884:"df86041c",2969:"ab3357d7",2983:"df0734f7",3006:"e5dc476b",3133:"9bf3f89c",3141:"2990a907",3157:"bb0fe9bd",3183:"b235c517",3198:"8e655451",3212:"07c1f2d1",3220:"56daff7a",3247:"68ff1daa",3260:"06119fb7",3282:"ac36a1e9",3317:"0ab933e8",3332:"dfa6e340",3355:"4d4ff444",3356:"f0b6c511",3391:"3dfd40d9",3433:"14c2ced2",3442:"9852fb32",3443:"b1580d60",3447:"6266dd5e",3451:"2b145fa4",3496:"b12f3137",3509:"af3441da",3550:"3dc83156",3581:"e2785d19",3585:"8257a359",3589:"7ab8cb35",3665:"60dff9ad",3668:"bba2fdb3",3685:"56c1d7ce",3697:"481a10d9",3747:"a8d0ab2a",3754:"8f967042",3777:"d5b0f2f1",3784:"5c0ac9f3",3805:"9dbcb95e",3862:"90d3f1e8",3873:"5e79cc3f",3885:"f87f7f15",3897:"3c01a04b",3910:"a3b97753",3935:"2f8eca45",3951:"36352b13",3987:"5cecd51b",4014:"27a8e97c",4017:"3acd7276",4030:"57cd9b69",4056:"60ae0de8",4058:"a6f97976",4078:"1e6b1952",4088:"6f7d1078",4093:"1c71e0ed",4105:"54c92932",4144:"a58cdc2c",4164:"75f35048",4216:"e42cc73e",4217:"e9c7dbf7",4227:"83b73245",4259:"5413367d",4264:"3e302951",4339:"ba9cb2a5",4347:"ce21ef2e",4354:"140899b7",4360:"cf5efa52",4449:"95086d25",4492:"a9f168d7",4496:"da224f1e",4498:"8904f9c7",4504:"8c031209",4514:"15e66b13",4520:"b7b27d12",4546:"c8b4f9cd",4565:"f1cb1c14",4572:"7156bcb8",4599:"2261081f",4601:"816cb090",4610:"da41a3fb",4621:"68ec84db",4628:"ece2c60c",4662:"06c8d370",4685:"c33f1528",4715:"9297d768",4736:"6b3b91e1",4741:"8be64dd1",4757:"0ea63807",4766:"8e4c898e",4770:"9b1a2ec1",4790:"619413e4",4795:"24388f85",4797:"a24e92db",4800:"fbc16b27",4849:"c3a69060",4850:"1edda4b7",4862:"ed32b0b4",4884:"a411c175",4889:"013467d8",4928:"f9efc781",4973:"7737d2c1",4994:"79b93506",5022:"f5b5fc34",5043:"34c209f4",5048:"4066249c",5060:"85dafcc6",5096:"f3c3171e",5111:"c9ef31ab",5125:"5e4b9f25",5148:"053ae428",5176:"3aa6382b",5179:"04f77ab5",5186:"83d61d1d",5191:"4d87ac8d",5238:"aab999a1",5290:"5dabcdc2",5297:"85063480",5319:"f30a45c0",5321:"1163c84e",5335:"16e07e67",5354:"7ae70604",5357:"1c06d56d",5359:"8ec0c420",5382:"1bf5ec51",5402:"5befedc8",5416:"454536b7",5434:"38b302a6",5470:"e11e91d8",5494:"d89549c4",5518:"a11a3fe7",5549:"ac1e3fb4",5572:"ecaf60b2",5573:"3c9a1b14",5599:"8ccc369d",5624:"71e7c60d",5631:"e00d3d36",5650:"3be15355",5679:"4a090bef",5705:"956a5d8e",5729:"8c1e8daf",5741:"bf5828eb",5764:"e0d7e586",5775:"cc8eb9ea",5786:"3d700150",5798:"c8f2ac4b",5816:"5b90ae75",5825:"fcc996d2",5876:"5eded409",5888:"ab647d20",5891:"8d20a16b",5895:"a5944d09",5902:"de2e367d",5915:"e118306a",5927:"320eba28",5964:"75e889a4",5992:"b3089182",6029:"97dc965f",6034:"1942ee30",6045:"d268f87f",6047:"3ce45acd",6052:"ada665b0",6063:"c0ca3756",6069:"bb6a4462",6126:"99519171",6127:"32fad1a8",6170:"c4b92aae",6265:"eefd4ecd",6270:"cad4c6b2",6277:"d063184d",6328:"0e3b5335",6366:"92468aeb",6378:"7f3a946a",6411:"1e3cc8b5",6434:"dac7a208",6444:"b8842517",6452:"9585d3ed",6531:"5b8bb018",6541:"e7cbdcda",6583:"6b458b05",6587:"078cf819",6634:"c0866518",6651:"b04f05f7",6653:"b692f3f9",6656:"3a688449",6679:"df227042",6685:"6be6479f",6729:"1148b155",6741:"68f75c4c",6758:"51eee120",6774:"59d4d618",6784:"34285c67",6788:"e122f3c1",6796:"b611318a",6805:"5b34e321",6820:"2a71ebcd",6845:"fedd8ac6",6882:"9305f6e4",6883:"6a088852",6904:"f35c9d67",6913:"8fbf5629",6930:"d35b6b3b",6963:"3b0cf93a",6982:"c033e0fa",7008:"8d0ebac1",7042:"7d174a2f",7043:"a18240a1",7045:"9c9d4f7f",7046:"b58b45b4",7058:"b135147f",7062:"bbd7cee8",7084:"46ccce72",7101:"a6d41531",7156:"e7466006",7178:"e84ef5da",7182:"00919c88",7207:"984bacdf",7242:"0a21ccf4",7260:"9985dac9",7331:"2e27a23b",7333:"492d920b",7365:"1005464f",7395:"64368a13",7460:"f05b1b83",7477:"cdc9215b",7482:"625283ed",7527:"e90d25b1",7545:"962855cb",7560:"b001b462",7589:"d7335f27",7591:"c8233ce9",7614:"de57532f",7622:"b0ccf75b",7686:"4fcec9f9",7690:"8d2b3a34",7706:"c2a79e40",7806:"88ba4e85",7852:"b8d9f2bd",7855:"4aa8a883",7857:"795f1101",7878:"2fd378de",7883:"6e5c497a",7884:"e48dcf9a",7922:"bdd71cab",7953:"90a7d7e3",7963:"64ac60d4",7964:"29aed9a1",8014:"da866ceb",8062:"b3ef6596",8072:"3105c524",8077:"e9c35717",8085:"f699bea8",8089:"d536b13a",8137:"4d324879",8143:"620df346",8155:"9eb0a680",8161:"83c5fa9a",8237:"e65f279d",8241:"4f236b64",8302:"8e8a37d9",8307:"d3777a54",8325:"d4c6e4a4",8340:"9fffd9c0",8350:"07df8a75",8398:"0a3b5f7c",8431:"1fb17509",8435:"496cbe4e",8447:"d1c4c66f",8517:"e92fbf06",8522:"9a5b826a",8561:"333e8ec9",8563:"fddc2755",8634:"4a8ad1f6",8639:"ebbaf1d9",8665:"f44b20b8",8688:"5b7ff473",8689:"2feaaf73",8723:"4084674e",8737:"ce7dad23",8776:"0ad26240",8782:"f9e74e85",8787:"67b2656d",8795:"c935957d",8797:"c77e9a11",8823:"13fdeaf6",8827:"decaef6e",8842:"9f25a3e2",8866:"1545800c",8880:"9d3963c3",8882:"07311690",8885:"ae07d414",8891:"8bb233a5",8898:"d002bcd8",8909:"a810a418",8920:"7f82440c",8963:"790aecdd",8982:"312717d8",8999:"3a9b4300",9076:"a5df9c95",9104:"bbcb2345",9133:"694f806f",9205:"76d4ec94",9215:"3ddb4ece",9252:"0d791a59",9260:"f163e60e",9332:"0d5a174c",9360:"e7afe7c6",9366:"83893b34",9391:"5c861506",9404:"9fcc3d3e",9408:"93ef67da",9416:"cb3d4f6b",9472:"5128ea2c",9487:"4d567133",9489:"29d2ba4d",9507:"0baa24eb",9554:"ed358e7b",9559:"f794af19",9590:"39744c8b",9595:"ac8b5c7c",9647:"1b4e32ed",9649:"67381f8c",9674:"a78fb8bc",9677:"6c1470ac",9695:"2e0f0efd",9715:"9fac914c",9716:"f7add07e",9785:"9172df64",9788:"2d0491cd",9890:"ac1ab413",9891:"e2638661",9895:"b8e31ff2",9921:"7badd884",9922:"646ddf5e",9928:"5989f5e0",9944:"20cc3d9f",9950:"74f6dfb2",9968:"17466785"}[i]+".async.js"}}(),function(){__webpack_require__.miniCssF=function(i){return""+({26:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",67:"p__Message__index",109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",195:"p__Classrooms__Lists__GroupHomework__Detail__index",264:"p__User__Detail__Order__pages__orderPay__index",265:"p__User__Detail__Topics__index",292:"p__Classrooms__Lists__Exercise__Add__index",310:"p__User__Detail__ExperImentImg__Detail__index",337:"p__Paperlibrary__Random__PreviewEdit__index",342:"p__Classrooms__Lists__ShixunHomeworks__Comment__index",479:"p__Classrooms__Lists__GroupHomework__EditWork__index",485:"p__Question__AddOrEdit__BatchAdd__index",508:"p__Forums__Detail__id",532:"p__ExcellentCourse__index",533:"p__Classrooms__Lists__Video__Statistics__Detail__index",547:"p__Account__index",556:"p__User__Detail__Order__pages__invoice__index",559:"layouts__virtualDetail__index",576:"p__Account__Profile__Edit__index",643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",680:"p__Innovation__index",700:"p__tasks__Jupyter__index",737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",745:"p__Classrooms__Lists__SmartPlan__Detail__index",799:"p__User__Detail__Topics__Poll__Detail__index",869:"p__Guidance__index",895:"p__Classrooms__Lists__Video__Items__videoInfo__index",919:"p__knowledgegraph__Statistics__LearningPath__index",921:"p__Classrooms__Lists__Exercise__CodeDetails__index",928:"p__RestFul__Edit__index",1006:"p__RestFul__index",1043:"p__Classrooms__Lists__Graduation__Tasks__index",1045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",1048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",1070:"p__Innovation__PublicMirror__index",1148:"p__Shixuns__Detail__Repository__UploadFile__index",1150:"p__BwDemo__index",1211:"p__Classrooms__Lists__CommonHomework__EditWork__index",1253:"p__Graduations__Lists__Gradingsummary__index",1257:"p__Classrooms__Lists__ResourceRecommend__index",1265:"p__Classrooms__Lists__Announcement__index",1276:"p__MoopCases__Success__index",1343:"p__User__Detail__ResourceAllocation__index",1416:"p__User__Detail__AccountInfo__CareerCertification__index",1423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",1427:"p__Classrooms__Lists__Statistics__index",1443:"p__EffectivenessAnalysis__index",1450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",1461:"p__Graduations__Lists__Topics__index",1470:"p__User__Register__index",1475:"p__Shixuns__Detail__Dataset__JupyterData__index",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",1520:"p__Engineering__Lists__StudentList__index",1545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",1578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",1581:"p__Problemset__Preview__index",1582:"p__Classrooms__Lists__GroupHomework__Add__index",1657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",1674:"p__Classrooms__ClassicCases__index",1702:"p__Classrooms__New__index",1713:"p__virtualSpaces__Lists__Settings__index",1717:"layouts__index",1727:"p__Classrooms__Lists__CourseGroup__NotList__index",1783:"p__virtualSpaces__Lists__Experiment__index",1831:"p__Graduations__Index__index",1836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",1855:"p__MoopCases__InfoPanel__index",1880:"p__User__Detail__Order__pages__apply__index",1939:"p__User__Detail__Order__index",1953:"p__Problemset__NewItem__index",1962:"p__Classrooms__Lists__Engineering__index",2045:"p__Engineering__Lists__TeacherList__index",2076:"p__User__Detail__Competitions__index",2102:"p__Classrooms__Lists__Board__Edit__index",2141:"p__Shixuns__Detail__Split__index",2216:"p__DataSet__Index__index",2240:"p__User__Detail__Videos__Upload__index",2254:"p__Shixuns__Detail__Discuss__index",2303:"p__Classrooms__Lists__CommonHomework__Comment__index",2307:"p__Report__index",2338:"p__Classrooms__Lists__CommonHomework__Review__index",2339:"p__virtualSpaces__Lists__Plan__Detail__index",2396:"p__User__Detail__ResourcesCenter__index",2404:"p__Classrooms__Lists__Template__teacher__index",2412:"p__User__Detail__Videos__index",2425:"p__Classrooms__Lists__Board__Detail__index",2443:"p__Graduations__Lists__StageModule__index",2476:"p__Colleges__index",2501:"p__Search__index",2524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",2529:"p__User__Detail__id",2539:"p__Graduations__Review__index",2548:"p__Engineering__Norm__Detail__index",2570:"p__Competitions__Detail__index",2603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",2659:"p__User__Detail__UserPortrait__index",2707:"p__Innovation__MyDataSet__index",2806:"p__User__Detail__Topics__Exercise__Detail__index",2819:"p__Classrooms__Lists__Template__detail__index",2823:"p__Engineering__Navigation__Home__index",2826:"p__User__Detail__DataSet__index",2829:"p__Messages__Private__index",2865:"p__Innovation__MyMirror__index",2875:"p__Shixuns__Detail__id",2884:"p__Classrooms__Lists__ProgramHomework__Comment__index",2983:"p__Forums__Index__index",3006:"p__Engineering__index",3141:"p__Innovation__Detail__index",3157:"p__User__Detail__ExperImentImg__Add__index",3183:"p__Engineering__Lists__GraduationIndex__index",3212:"p__MoopCases__index",3220:"p__Classrooms__Lists__Video__Upload__index",3247:"p__Paperlibrary__See__index",3260:"p__Paperlibrary__Add__index",3282:"layouts__ShixunDetail__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3332:"p__Paths__Detail__id",3355:"p__Classrooms__Lists__Polls__index",3356:"p__Classrooms__Lists__Assistant__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",3442:"p__Classrooms__Lists__Board__Add__index",3443:"p__knowledgegraph__Statistics__AbilityMap__Detail",3447:"p__User__Detail__Order__pages__orderInformation__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3496:"p__User__Detail__OtherResources__index",3509:"p__HttpStatus__SixActivities",3581:"p__Classrooms__Lists__ShixunHomeworks__Detail__index",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3665:"p__tasks__index",3668:"p__Classrooms__Lists__CommonHomework__Detail__index",3685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",3747:"p__virtualSpaces__Lists__Homepage__index",3784:"p__Paperlibrary__Random__Detail__index",3873:"p__virtualSpaces__Lists__Lesson__index",3897:"p__WxMiniProgram__Courseware__Study__index",3910:"p__HttpStatus__introduction",3935:"p__Classrooms__Lists__GroupHomework__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",4056:"p__IntrainCourse__index",4058:"p__Demo__index",4078:"p__Messages__Tidings__index",4093:"p__Classrooms__Lists__Attendance__Detail__index",4105:"p__Classrooms__Lists__Exercise__Answer__index",4144:"p__Problemset__Preview__New__index",4164:"p__Classrooms__Lists__Exercise__Detail__index",4216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",4217:"p__Classrooms__Lists__Video__Statistics__index",4227:"p__Paths__Overview__index",4259:"p__User__Detail__Order__pages__result__index",4264:"p__Forums__New__index",4339:"p__knowledgegraph__Statistics__PathAtlas__Detail",4449:"p__Competitions__Exports__index",4492:"p__Graduations__Lists__StudentSelection__index",4496:"p__HttpStatus__HpcCourse",4498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",4504:"p__virtualSpaces__Lists__Survey__index",4514:"p__Account__Results__index",4520:"p__Account__Secure__index",4546:"p__Engineering__Lists__TrainingProgram__Add__index",4572:"p__Classrooms__Lists__ExportList__index",4599:"p__Problemset__index",4601:"p__Paths__Detail__Statistics__index",4610:"p__User__Detail__LearningPath__index",4621:"p__Administration__Profession__index",4662:"p__Classrooms__Lists__GroupHomework__Review__index",4715:"p__virtualSpaces__Lists__Material__Detail__index",4736:"p__User__Detail__Projects__index",4741:"p__Problems__OjForm__NewEdit__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",4795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",4800:"p__Engineering__Lists__GraduatedMatrix__index",4849:"p__User__Detail__ExperImentImg__index",4862:"p__Paperlibrary__index",4884:"p__Shixuns__Detail__Repository__Commit__index",4889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",4928:"p__Classrooms__Lists__LearningPath__index",4973:"p__Engineering__Evaluate__List__index",4994:"p__Problems__OjForm__index",5022:"p__Graduations__Lists__Settings__index",5043:"p__User__Detail__Topics__Poll__Edit__index",5048:"p__Classrooms__Lists__Graduation__Topics__index",5096:"p__Shixuns__Detail__AuditSituation__index",5111:"p__Terminal__index",5125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",5148:"p__Classrooms__Lists__Polls__Answer__index",5176:"p__User__Detail__Videos__Protocol__index",5179:"p__Administration__Student__Edit__index",5186:"p__Classrooms__Overview__index",5191:"p__User__Detail__Certificate__index",5238:"p__virtualSpaces__Lists__Material__index",5297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",5319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",5335:"p__Engineering__Lists__CourseMatrix__index",5357:"p__Engineering__Lists__TrainingProgram__Edit__index",5359:"p__Messages__Detail__index",5382:"p__DataSet__Detail__index",5402:"p__User__Detail__Topics__Detail__index",5470:"p__Shixuns__Detail__Collaborators__index",5518:"p__Classrooms__Lists__Template__index",5549:"p__Shixuns__New__CreateImg__index",5572:"p__Paths__HigherVocationalEducation__index",5573:"p__Shixuns__Detail__Merge__index",5599:"p__User__Detail__Paths__index",5624:"p__Graduations__Lists__Index__index",5650:"p__Competitions__Update__index",5705:"p__virtualSpaces__Lists__Construction__index",5729:"p__Help__Index",5741:"p__Classrooms__Lists__SmartPlan__index",5775:"p__Engineering__Lists__Document__index",5786:"layouts__LoginAndRegister__index",5798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",5816:"p__Paperlibrary__Random__Edit__index",5825:"p__Classrooms__Lists__Exercise__index",5888:"p__Classrooms__Lists__CommonHomework__Add__index",5891:"p__virtualSpaces__Lists__Resources__index",5895:"p__User__Detail__AccountInfo__Profile__Edit__index",5902:"p__Classrooms__Lists__Exercise__Sumup__index",5915:"p__knowledgegraph__Detail__Statistics__index",5927:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__TestResult",5992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",6029:"p__Administration__Student__index",6052:"p__Paths__Index__index",6063:"p__Graduations__Lists__Personmanage__index",6069:"p__virtualSpaces__Lists__Lesson__Detail__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6265:"p__virtualSpaces__Lists__Discussion__index",6270:"p__MyProblem__index",6277:"p__Shixuns__Edit__index",6328:"p__Shixuns__Edit__body__Warehouse__index",6366:"p__Innovation__PublicProject__index",6434:"p__User__Detail__Order__pages__records__index",6444:"p__Video__Detail__id",6452:"p__Innovation__PublicDataSet__index",6541:"p__Shixuns__Detail__Dataset__index",6583:"p__User__Detail__Classrooms__index",6587:"p__User__Detail__Videos__Protocol__resource",6634:"p__Innovation__Tasks__index",6651:"p__Engineering__Evaluate__Detail__index",6685:"p__Classrooms__Index__index",6729:"p__Classrooms__Lists__GroupHomework__Edit__index",6741:"p__Engineering__Norm__List__index",6758:"p__Classrooms__Lists__Attachment__index",6784:"p__Innovation__Edit__index",6788:"p__Classrooms__Lists__ProgramHomework__index",6796:"p__virtualSpaces__Lists__Announcement__Detail__index",6805:"p__User__Detail__AccountInfo__RealNameCertification__index",6820:"p__User__Detail__Topics__Normal__index",6845:"p__Shixuns__Detail__Settings__index",6882:"p__Classrooms__New__StartClass__index",6883:"p__Competitions__Index__index",6904:"p__MoopCases__FormPanel__index",6913:"p__Question__AddOrEdit__index",6963:"p__Classrooms__Lists__Engineering__Detail__index",6982:"p__User__Detail__AccountInfo__Profile__index",7008:"p__Shixuns__New__index",7042:"p__knowledgegraph__Statistics__LearningPath__Detail",7043:"p__User__Detail__Topics__Exercise__Edit__index",7045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",7046:"p__Shixuns__Detail__Repository__AddFile__index",7058:"p__virtualSpaces__Lists__Survey__Detail__index",7062:"layouts__SimpleLayouts",7178:"p__User__BindAccount__index",7182:"p__User__ResetPassword__index",7242:"p__Innovation__MyProject__index",7260:"p__Account__Certification__index",7395:"p__Classrooms__Lists__Statistics__StudentDetail__index",7460:"p__Question__OjProblem__index",7477:"p__virtualSpaces__Lists__Announcement__index",7482:"p__Classrooms__Lists__Exercise__Notice__index",7527:"p__MyProblem__RecordDetail__index",7545:"p__Graduations__Lists__Archives__index",7560:"p__Administration__College__index",7589:"p__virtualSpaces__Lists__DigitalTopics__index",7614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",7622:"p__Classrooms__Lists__Polls__Detail__index",7806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",7852:"p__Classrooms__Lists__ShixunHomeworks__index",7855:"p__User__Detail__ResourcesCenter__Detail__index",7857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",7878:"p__Classrooms__Lists__LiveVideo__index",7883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",7884:"p__Shixuns__Exports__index",7922:"p__Classrooms__Lists__CourseGroup__Detail__index",8014:"p__Classrooms__Lists__Teachers__index",8062:"p__User__Detail__Topicbank__index",8072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",8077:"p__Classrooms__Lists__Students__index",8085:"p__Classrooms__Lists__Exercise__Review__index",8137:"p__knowledgegraph__Statistics__PathAtlas__index",8143:"layouts__GraduationsDetail__index",8155:"p__Shixuns__Overview__index",8237:"p__User__Detail__Order__pages__view__index",8241:"p__virtualSpaces__Lists__Plan__index",8302:"p__Classrooms__Lists__Board__index",8307:"p__User__Detail__Shixuns__index",8398:"p__virtualSpaces__Lists__Resources__Detail__index",8431:"p__Classrooms__Lists__Exercise__Export__index",8435:"p__Classrooms__Lists__Attendance__index",8447:"p__virtualSpaces__Lists__Knowledge__index",8517:"p__User__Detail__Topics__Group__index",8522:"p__Classrooms__Lists__SmartPlan__Info__PptInfo__index",8563:"p__virtualSpaces__Lists__Discussion__Detail__index",8634:"p__Classrooms__Lists__CourseGroup__List__index",8665:"p__Engineering__Lists__TrainingObjectives__index",8688:"p__Shixuns__Detail__Repository__index",8689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",8723:"p__Classrooms__Lists__Polls__Edit__index",8782:"p__Shixuns__Index__index",8787:"p__Competitions__Entered__index",8795:"p__Classrooms__Lists__Exercise__Detail__components__WordInfo__index",8797:"p__Competitions__Edit__index",8823:"p__knowledgegraph__Detail__id",8827:"p__Classrooms__Lists__OnlineLearning__index",8866:"p__index",8882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",8885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",8982:"p__Paths__New__index",8999:"p__Three__index",9076:"p__Account__Binding__index",9133:"p__Shixuns__Detail__Challenges__index",9205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",9215:"p__Shixuns__Detail__ForkList__index",9332:"p__Classrooms__Lists__Video__index",9360:"p__User__Detail__virtualSpaces__index",9366:"p__User__Login__index",9391:"p__Engineering__Lists__CurseSetting__index",9404:"monaco-editor",9408:"p__Shixuns__Detail__RankingList__index",9416:"p__Graduations__Lists__Tasks__index",9472:"p__Shixuns__Detail__Poll__index",9487:"p__LargeScreen__index",9489:"p__Engineering__Lists__CourseList__index",9507:"p__User__Detail__ResourceGuarantee__index",9590:"p__User__Detail__TeachGroup__index",9595:"p__knowledgegraph__Statistics__AbilityMap__index",9647:"p__Question__Index__index",9649:"p__Engineering__Lists__TrainingProgram__index",9674:"p__Shixuns__New__ImagePreview__index",9677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",9695:"p__Classrooms__Lists__Polls__Add__index",9715:"p__Classrooms__Lists__CommonHomework__Edit__index",9716:"p__Question__OjProblem__RecordDetail__index",9785:"p__Classrooms__Lists__Template__student__index",9788:"p__Account__Profile__index",9890:"p__Classrooms__Lists__CommonHomework__index",9891:"p__User__Detail__Videos__Success__index",9921:"p__Classrooms__ExamList__index",9922:"p__Classrooms__Lists__Statistics__StudentVideo__index",9944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index"}[i]||i)+"."+{26:"78bf926a",67:"2d8a8bdc",109:"b9c23c40",195:"f69b998f",264:"5fd9b3fc",265:"34e6330e",292:"95f6e194",310:"64044e73",337:"9b9827f0",342:"55d30ace",479:"5e75efb1",485:"d63578fe",508:"7e8930a6",532:"738f54ac",533:"a3c1deb3",547:"5581debc",556:"c42fee12",559:"c49aa5ba",576:"8bf77b42",643:"0de52106",680:"e67e9e01",700:"51647cc2",737:"72eaccaa",745:"d3ca037a",799:"a8022262",869:"4a5372a2",895:"ce8634e8",919:"c55bc6c8",921:"b09f4288",928:"d400bdfe",1006:"b9d07e6a",1043:"e8c0878b",1045:"d679c2a9",1048:"f275801f",1070:"e67e9e01",1148:"754fff63",1150:"da6ea9ca",1211:"cef55a54",1253:"60d33f0b",1257:"7b8c452c",1265:"fd4fbe66",1276:"bbc6eeec",1343:"63d89e82",1416:"5e412a74",1423:"ac9f0abe",1427:"21784ab9",1443:"8a38fcbf",1450:"d927e082",1461:"b211543a",1470:"afcb0f79",1475:"e8400386",1482:"099257e4",1512:"f3653a35",1520:"f7300d0e",1545:"c42bc887",1578:"869f4aec",1581:"13815a71",1582:"75250b9d",1657:"ae31e31b",1674:"fdbc1e05",1702:"c68efb85",1713:"cfcd20ff",1717:"7fe99454",1727:"ba0a7282",1783:"acce787f",1831:"d3b95908",1836:"5f0d3f7f",1855:"d782a698",1880:"2ba04bac",1939:"0808b0f7",1953:"b2a9de2b",1962:"84e145fa",2045:"dcfad42d",2076:"be8662b0",2102:"a8f403cb",2141:"5eb2f330",2216:"ec88fb77",2240:"e7cce869",2254:"522abbe2",2303:"12a84d51",2307:"b2c54321",2338:"f2971ba5",2339:"0cf686fe",2396:"fb3901c9",2404:"5194b170",2412:"ab5929be",2425:"0bbd686e",2443:"45b0cc1b",2476:"cf85a190",2501:"2441982c",2524:"89c6de28",2529:"0d98d328",2539:"f8a70b48",2548:"75182034",2570:"b9b808a4",2603:"d400bdfe",2659:"f6071a36",2707:"cabcb16e",2806:"fa51e718",2819:"32083596",2823:"a13b21fb",2826:"6fce56c6",2829:"b9ad7ac4",2865:"6ef3cf6b",2875:"75690e23",2884:"203ae502",2983:"f1648d85",3006:"7fce4e74",3141:"c491cfd0",3157:"afb4dcef",3183:"b2253f40",3212:"ad1521c1",3220:"1a8a9f14",3247:"e905b8b4",3260:"ed91eb17",3282:"c98dd16f",3317:"c0dfcf3c",3332:"9238937c",3355:"d4a1a198",3356:"802ec8d1",3391:"89554b70",3433:"52af582a",3442:"e0fd9ac3",3443:"c55bc6c8",3447:"1653d818",3451:"e3a31387",3496:"1ecc3984",3509:"70043ca5",3581:"691a8d4c",3585:"5f288e7b",3665:"aeda8044",3668:"f7efcc27",3685:"5356e3de",3747:"c60edc26",3784:"05ecae20",3873:"245cb512",3897:"44e3fad0",3910:"658d457f",3935:"b86f95e9",3951:"37c887df",4030:"59c04566",4056:"10eacfff",4058:"ee954c0b",4078:"aa54548e",4093:"1ac55157",4105:"defaf17a",4144:"f10aa199",4164:"83bd9777",4216:"d400bdfe",4217:"387bf824",4227:"79c3b323",4259:"ebd953ac",4264:"1d442252",4339:"e59b7236",4449:"e68d8d58",4492:"1b537699",4496:"634331aa",4498:"f120940c",4504:"d2f27be7",4514:"887bdbb6",4520:"e86d61a1",4546:"4101a1f2",4572:"70e5675d",4599:"5952744a",4601:"3c8ac557",4610:"687005a6",4621:"1ab1d6da",4662:"01eca25e",4715:"00d18926",4736:"7a83099a",4741:"02bd9307",4757:"73b754d2",4766:"b5df5a8e",4770:"2ad0c1f9",4795:"3f4545d8",4800:"f50302a4",4849:"62d31f36",4862:"dd497427",4884:"bd293d3b",4889:"85017e19",4928:"3ec9e47f",4973:"129c56e8",4994:"7cfd1274",5022:"81b1b86b",5043:"742a7496",5048:"aa08c681",5096:"4f6a4d00",5111:"5d09a39a",5125:"57501e4a",5148:"c519172e",5176:"9c49e7fa",5179:"21f01751",5186:"38d977bd",5191:"a3e7534d",5238:"3acde825",5297:"3a2685a1",5319:"fbe179c4",5335:"fec6fd9f",5357:"1fbb7d24",5359:"17150032",5382:"4de31547",5402:"6770fae6",5470:"01c55a02",5518:"9f425be3",5549:"39285664",5572:"c945fbf2",5573:"6ecf393c",5599:"3f149be6",5624:"3309aba2",5650:"f8f63f4b",5705:"df6bf207",5729:"a4be0f7f",5741:"131d32c1",5775:"f99db9ab",5786:"37a81eaa",5798:"ce1cf7da",5816:"f1d820fd",5825:"d26b116c",5888:"c61f8ef3",5891:"e0499c06",5895:"5136f07a",5902:"d59edd35",5915:"bc9c3e69",5927:"73b7b6a2",5992:"e84da226",6029:"b97610ed",6052:"314ec9fc",6063:"dcc1111c",6069:"640f62f5",6127:"9f7e8a95",6265:"82993aad",6270:"9c6e2912",6277:"ec2ed455",6328:"1d366bbd",6366:"079fc2d8",6434:"8d399001",6444:"bb471f47",6452:"50a6d310",6541:"d1c967cd",6583:"694cd0bb",6587:"9c49e7fa",6634:"b2973a7e",6651:"b07fe216",6656:"03cdfb68",6685:"7ec10573",6729:"dedd93eb",6741:"b838eb14",6758:"fbd7fba9",6784:"1affe817",6788:"70bceb7a",6796:"d4139b02",6805:"d5bb349d",6820:"9b643572",6845:"be42eed4",6882:"c2d2eada",6883:"460a800d",6904:"ccf2c99c",6913:"52648dbe",6963:"84e145fa",6982:"933d273e",7008:"6bab94f9",7042:"c55bc6c8",7043:"bbf884ad",7045:"78876b9f",7046:"c7301ded",7058:"8d656115",7062:"e21fe294",7178:"6e47d75d",7182:"9c7ac543",7242:"4f353f61",7260:"928abc9d",7395:"5c10e8d8",7460:"b4086571",7477:"2e35db75",7482:"3a11c394",7527:"1f8068de",7545:"b0b55aba",7560:"d82e43ca",7589:"f99aec51",7614:"8e370373",7622:"c4b8e817",7806:"bd9accb9",7852:"5bc3026a",7855:"a6f0cfd4",7857:"c94403c2",7878:"2b521fde",7883:"68fe780a",7884:"47e0a5df",7922:"a6efce20",8014:"e07dbbe1",8062:"8e384b9f",8072:"dcb50d0e",8077:"7b1ddee5",8085:"fb2f4c4a",8137:"95a9b49c",8143:"5b4556bd",8155:"d345abd7",8237:"8233bf4f",8241:"c453f853",8302:"8a3f9d36",8307:"a24e4c8e",8398:"4a4db420",8431:"1db474d3",8435:"4f2ab980",8447:"db65c856",8517:"c47eec60",8522:"a1f72782",8563:"3f46db43",8634:"0cff4b79",8665:"c52575bc",8688:"f98a445e",8689:"240a0163",8723:"0fe54c85",8782:"6fecd26a",8787:"121de108",8795:"23231ec2",8797:"16f63888",8823:"4c9ce1bc",8827:"0e4e75e4",8866:"00318b75",8882:"d913d6fc",8885:"de905169",8982:"1f639e54",8999:"54a0f341",9076:"6a501148",9133:"011c6333",9205:"1e43ebcb",9215:"f737e7e7",9332:"3d30bf20",9360:"a63362ee",9366:"3f6c2582",9391:"473c2453",9404:"d8cf04f7",9408:"d3565b1a",9416:"2687b487",9472:"f77db02f",9487:"a73f5679",9489:"ee2bb5b7",9507:"eb32e279",9590:"a026fd06",9595:"c55bc6c8",9647:"0d1618e4",9649:"5e708a2c",9674:"a937f52e",9677:"b6c3fc03",9695:"719beedf",9715:"ebd3f6c4",9716:"d7a969b5",9785:"f1030db2",9788:"4459d92d",9890:"41bccb3d",9891:"512a9301",9921:"e0db9101",9922:"33690872",9944:"1ba31055"}[i]+".chunk.css"}}(),function(){__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(i){if(typeof window=="object")return window}}()}(),function(){__webpack_require__.hmd=function(i){return i=Object.create(i),i.children||(i.children=[]),Object.defineProperty(i,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+i.id)}}),i}}(),function(){__webpack_require__.o=function(i,d){return Object.prototype.hasOwnProperty.call(i,d)}}(),function(){var i={};__webpack_require__.l=function(d,e,t,r){if(i[d]){i[d].push(e);return}var n,a;if(t!==void 0)for(var s=document.getElementsByTagName("script"),u=0;un?m?(O=Date.now(),o||(g=setTimeout(b?L:j,n))):j():o!==!0&&(g=setTimeout(b?L:j,b===void 0?n-D:n))}return P.cancel=I,P}function r(n,a,s){var u=s||{},c=u.atBegin,o=c===void 0?!1:c;return t(n,a,{debounceMode:o!==!1})}}},__webpack_module_cache__={};function __webpack_require__(i){var d=__webpack_module_cache__[i];if(d!==void 0)return d.exports;var e=__webpack_module_cache__[i]={id:i,loaded:!1,exports:{}};return __webpack_modules__[i].call(e.exports,e,e.exports,__webpack_require__),e.loaded=!0,e.exports}__webpack_require__.m=__webpack_modules__,function(){__webpack_require__.amdO={}}(),function(){__webpack_require__.n=function(i){var d=i&&i.__esModule?function(){return i.default}:function(){return i};return __webpack_require__.d(d,{a:d}),d}}(),function(){var i=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d;__webpack_require__.t=function(e,t){if(t&1&&(e=this(e)),t&8||typeof e=="object"&&e&&(t&4&&e.__esModule||t&16&&typeof e.then=="function"))return e;var r=Object.create(null);__webpack_require__.r(r);var n={};d=d||[null,i({}),i([]),i(i)];for(var a=t&2&&e;typeof a=="object"&&!~d.indexOf(a);a=i(a))Object.getOwnPropertyNames(a).forEach(function(s){n[s]=function(){return e[s]}});return n.default=function(){return e},__webpack_require__.d(r,n),r}}(),function(){__webpack_require__.d=function(i,d){for(var e in d)__webpack_require__.o(d,e)&&!__webpack_require__.o(i,e)&&Object.defineProperty(i,e,{enumerable:!0,get:d[e]})}}(),function(){__webpack_require__.f={},__webpack_require__.e=function(i){return Promise.all(Object.keys(__webpack_require__.f).reduce(function(d,e){return __webpack_require__.f[e](i,d),d},[]))}}(),function(){__webpack_require__.u=function(i){return""+({26:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",67:"p__Message__index",109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",195:"p__Classrooms__Lists__GroupHomework__Detail__index",264:"p__User__Detail__Order__pages__orderPay__index",265:"p__User__Detail__Topics__index",292:"p__Classrooms__Lists__Exercise__Add__index",310:"p__User__Detail__ExperImentImg__Detail__index",337:"p__Paperlibrary__Random__PreviewEdit__index",342:"p__Classrooms__Lists__ShixunHomeworks__Comment__index",479:"p__Classrooms__Lists__GroupHomework__EditWork__index",485:"p__Question__AddOrEdit__BatchAdd__index",508:"p__Forums__Detail__id",532:"p__ExcellentCourse__index",533:"p__Classrooms__Lists__Video__Statistics__Detail__index",547:"p__Account__index",556:"p__User__Detail__Order__pages__invoice__index",559:"layouts__virtualDetail__index",576:"p__Account__Profile__Edit__index",643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",680:"p__Innovation__index",700:"p__tasks__Jupyter__index",737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",745:"p__Classrooms__Lists__SmartPlan__Detail__index",799:"p__User__Detail__Topics__Poll__Detail__index",869:"p__Guidance__index",895:"p__Classrooms__Lists__Video__Items__videoInfo__index",919:"p__knowledgegraph__Statistics__LearningPath__index",921:"p__Classrooms__Lists__Exercise__CodeDetails__index",928:"p__RestFul__Edit__index",1006:"p__RestFul__index",1043:"p__Classrooms__Lists__Graduation__Tasks__index",1045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",1048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",1070:"p__Innovation__PublicMirror__index",1148:"p__Shixuns__Detail__Repository__UploadFile__index",1150:"p__BwDemo__index",1211:"p__Classrooms__Lists__CommonHomework__EditWork__index",1253:"p__Graduations__Lists__Gradingsummary__index",1257:"p__Classrooms__Lists__ResourceRecommend__index",1265:"p__Classrooms__Lists__Announcement__index",1276:"p__MoopCases__Success__index",1343:"p__User__Detail__ResourceAllocation__index",1416:"p__User__Detail__AccountInfo__CareerCertification__index",1423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",1427:"p__Classrooms__Lists__Statistics__index",1443:"p__EffectivenessAnalysis__index",1450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",1461:"p__Graduations__Lists__Topics__index",1470:"p__User__Register__index",1475:"p__Shixuns__Detail__Dataset__JupyterData__index",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",1520:"p__Engineering__Lists__StudentList__index",1545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",1578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",1581:"p__Problemset__Preview__index",1582:"p__Classrooms__Lists__GroupHomework__Add__index",1657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",1660:"p__User__QQLogin__index",1674:"p__Classrooms__ClassicCases__index",1702:"p__Classrooms__New__index",1713:"p__virtualSpaces__Lists__Settings__index",1717:"layouts__index",1727:"p__Classrooms__Lists__CourseGroup__NotList__index",1783:"p__virtualSpaces__Lists__Experiment__index",1799:"p__Competitions__Entered__Assembly__TeamDateil",1831:"p__Graduations__Index__index",1836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",1855:"p__MoopCases__InfoPanel__index",1880:"p__User__Detail__Order__pages__apply__index",1939:"p__User__Detail__Order__index",1953:"p__Problemset__NewItem__index",1962:"p__Classrooms__Lists__Engineering__index",2045:"p__Engineering__Lists__TeacherList__index",2076:"p__User__Detail__Competitions__index",2102:"p__Classrooms__Lists__Board__Edit__index",2141:"p__Shixuns__Detail__Split__index",2216:"p__DataSet__Index__index",2240:"p__User__Detail__Videos__Upload__index",2254:"p__Shixuns__Detail__Discuss__index",2300:"p__Api__index",2303:"p__Classrooms__Lists__CommonHomework__Comment__index",2307:"p__Report__index",2338:"p__Classrooms__Lists__CommonHomework__Review__index",2339:"p__virtualSpaces__Lists__Plan__Detail__index",2396:"p__User__Detail__ResourcesCenter__index",2404:"p__Classrooms__Lists__Template__teacher__index",2412:"p__User__Detail__Videos__index",2425:"p__Classrooms__Lists__Board__Detail__index",2443:"p__Graduations__Lists__StageModule__index",2476:"p__Colleges__index",2501:"p__Search__index",2524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",2529:"p__User__Detail__id",2539:"p__Graduations__Review__index",2548:"p__Engineering__Norm__Detail__index",2570:"p__Competitions__Detail__index",2603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",2659:"p__User__Detail__UserPortrait__index",2707:"p__Innovation__MyDataSet__index",2806:"p__User__Detail__Topics__Exercise__Detail__index",2819:"p__Classrooms__Lists__Template__detail__index",2823:"p__Engineering__Navigation__Home__index",2826:"p__User__Detail__DataSet__index",2829:"p__Messages__Private__index",2865:"p__Innovation__MyMirror__index",2875:"p__Shixuns__Detail__id",2884:"p__Classrooms__Lists__ProgramHomework__Comment__index",2983:"p__Forums__Index__index",3006:"p__Engineering__index",3141:"p__Innovation__Detail__index",3157:"p__User__Detail__ExperImentImg__Add__index",3183:"p__Engineering__Lists__GraduationIndex__index",3212:"p__MoopCases__index",3220:"p__Classrooms__Lists__Video__Upload__index",3247:"p__Paperlibrary__See__index",3260:"p__Paperlibrary__Add__index",3282:"layouts__ShixunDetail__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3332:"p__Paths__Detail__id",3355:"p__Classrooms__Lists__Polls__index",3356:"p__Classrooms__Lists__Assistant__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",3442:"p__Classrooms__Lists__Board__Add__index",3443:"p__knowledgegraph__Statistics__AbilityMap__Detail",3447:"p__User__Detail__Order__pages__orderInformation__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3496:"p__User__Detail__OtherResources__index",3509:"p__HttpStatus__SixActivities",3581:"p__Classrooms__Lists__ShixunHomeworks__Detail__index",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3589:"p__knowledgegraph__Statistics__index",3665:"p__tasks__index",3668:"p__Classrooms__Lists__CommonHomework__Detail__index",3685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",3747:"p__virtualSpaces__Lists__Homepage__index",3784:"p__Paperlibrary__Random__Detail__index",3862:"p__HttpStatus__403",3873:"p__virtualSpaces__Lists__Lesson__index",3897:"p__WxMiniProgram__Courseware__Study__index",3910:"p__HttpStatus__introduction",3935:"p__Classrooms__Lists__GroupHomework__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4017:"p__Classrooms__Lists__PlaceholderPage__index",4030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",4056:"p__IntrainCourse__index",4058:"p__Demo__index",4078:"p__Messages__Tidings__index",4093:"p__Classrooms__Lists__Attendance__Detail__index",4105:"p__Classrooms__Lists__Exercise__Answer__index",4144:"p__Problemset__Preview__New__index",4164:"p__Classrooms__Lists__Exercise__Detail__index",4216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",4217:"p__Classrooms__Lists__Video__Statistics__index",4227:"p__Paths__Overview__index",4259:"p__User__Detail__Order__pages__result__index",4264:"p__Forums__New__index",4339:"p__knowledgegraph__Statistics__PathAtlas__Detail",4449:"p__Competitions__Exports__index",4492:"p__Graduations__Lists__StudentSelection__index",4496:"p__HttpStatus__HpcCourse",4498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",4504:"p__virtualSpaces__Lists__Survey__index",4514:"p__Account__Results__index",4520:"p__Account__Secure__index",4546:"p__Engineering__Lists__TrainingProgram__Add__index",4565:"p__HttpStatus__500",4572:"p__Classrooms__Lists__ExportList__index",4599:"p__Problemset__index",4601:"p__Paths__Detail__Statistics__index",4610:"p__User__Detail__LearningPath__index",4621:"p__Administration__Profession__index",4662:"p__Classrooms__Lists__GroupHomework__Review__index",4715:"p__virtualSpaces__Lists__Material__Detail__index",4736:"p__User__Detail__Projects__index",4741:"p__Problems__OjForm__NewEdit__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",4795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",4800:"p__Engineering__Lists__GraduatedMatrix__index",4849:"p__User__Detail__ExperImentImg__index",4862:"p__Paperlibrary__index",4884:"p__Shixuns__Detail__Repository__Commit__index",4889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",4928:"p__Classrooms__Lists__LearningPath__index",4973:"p__Engineering__Evaluate__List__index",4994:"p__Problems__OjForm__index",5022:"p__Graduations__Lists__Settings__index",5043:"p__User__Detail__Topics__Poll__Edit__index",5048:"p__Classrooms__Lists__Graduation__Topics__index",5096:"p__Shixuns__Detail__AuditSituation__index",5111:"p__Terminal__index",5125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",5148:"p__Classrooms__Lists__Polls__Answer__index",5176:"p__User__Detail__Videos__Protocol__index",5179:"p__Administration__Student__Edit__index",5186:"p__Classrooms__Overview__index",5191:"p__User__Detail__Certificate__index",5238:"p__virtualSpaces__Lists__Material__index",5297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",5319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",5335:"p__Engineering__Lists__CourseMatrix__index",5357:"p__Engineering__Lists__TrainingProgram__Edit__index",5359:"p__Messages__Detail__index",5382:"p__DataSet__Detail__index",5402:"p__User__Detail__Topics__Detail__index",5470:"p__Shixuns__Detail__Collaborators__index",5518:"p__Classrooms__Lists__Template__index",5549:"p__Shixuns__New__CreateImg__index",5572:"p__Paths__HigherVocationalEducation__index",5573:"p__Shixuns__Detail__Merge__index",5599:"p__User__Detail__Paths__index",5624:"p__Graduations__Lists__Index__index",5650:"p__Competitions__Update__index",5705:"p__virtualSpaces__Lists__Construction__index",5729:"p__Help__Index",5741:"p__Classrooms__Lists__SmartPlan__index",5775:"p__Engineering__Lists__Document__index",5786:"layouts__LoginAndRegister__index",5798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",5816:"p__Paperlibrary__Random__Edit__index",5825:"p__Classrooms__Lists__Exercise__index",5888:"p__Classrooms__Lists__CommonHomework__Add__index",5891:"p__virtualSpaces__Lists__Resources__index",5895:"p__User__Detail__AccountInfo__Profile__Edit__index",5902:"p__Classrooms__Lists__Exercise__Sumup__index",5915:"p__knowledgegraph__Detail__Statistics__index",5927:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__TestResult",5992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",6029:"p__Administration__Student__index",6034:"p__HttpStatus__UserAgents",6052:"p__Paths__Index__index",6063:"p__Graduations__Lists__Personmanage__index",6069:"p__virtualSpaces__Lists__Lesson__Detail__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6170:"p__HttpStatus__downloadStudent",6265:"p__virtualSpaces__Lists__Discussion__index",6270:"p__MyProblem__index",6277:"p__Shixuns__Edit__index",6328:"p__Shixuns__Edit__body__Warehouse__index",6366:"p__Innovation__PublicProject__index",6434:"p__User__Detail__Order__pages__records__index",6444:"p__Video__Detail__id",6452:"p__Innovation__PublicDataSet__index",6531:"p__HttpStatus__404",6541:"p__Shixuns__Detail__Dataset__index",6583:"p__User__Detail__Classrooms__index",6587:"p__User__Detail__Videos__Protocol__resource",6634:"p__Innovation__Tasks__index",6651:"p__Engineering__Evaluate__Detail__index",6685:"p__Classrooms__Index__index",6729:"p__Classrooms__Lists__GroupHomework__Edit__index",6741:"p__Engineering__Norm__List__index",6758:"p__Classrooms__Lists__Attachment__index",6784:"p__Innovation__Edit__index",6788:"p__Classrooms__Lists__ProgramHomework__index",6796:"p__virtualSpaces__Lists__Announcement__Detail__index",6805:"p__User__Detail__AccountInfo__RealNameCertification__index",6820:"p__User__Detail__Topics__Normal__index",6845:"p__Shixuns__Detail__Settings__index",6882:"p__Classrooms__New__StartClass__index",6883:"p__Competitions__Index__index",6904:"p__MoopCases__FormPanel__index",6913:"p__Question__AddOrEdit__index",6963:"p__Classrooms__Lists__Engineering__Detail__index",6982:"p__User__Detail__AccountInfo__Profile__index",7008:"p__Shixuns__New__index",7042:"p__knowledgegraph__Statistics__LearningPath__Detail",7043:"p__User__Detail__Topics__Exercise__Edit__index",7045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",7046:"p__Shixuns__Detail__Repository__AddFile__index",7058:"p__virtualSpaces__Lists__Survey__Detail__index",7062:"layouts__SimpleLayouts",7178:"p__User__BindAccount__index",7182:"p__User__ResetPassword__index",7242:"p__Innovation__MyProject__index",7260:"p__Account__Certification__index",7333:"p__User__WechatLogin__index",7395:"p__Classrooms__Lists__Statistics__StudentDetail__index",7460:"p__Question__OjProblem__index",7477:"p__virtualSpaces__Lists__Announcement__index",7482:"p__Classrooms__Lists__Exercise__Notice__index",7527:"p__MyProblem__RecordDetail__index",7545:"p__Graduations__Lists__Archives__index",7560:"p__Administration__College__index",7589:"p__virtualSpaces__Lists__DigitalTopics__index",7614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",7622:"p__Classrooms__Lists__Polls__Detail__index",7806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",7852:"p__Classrooms__Lists__ShixunHomeworks__index",7855:"p__User__Detail__ResourcesCenter__Detail__index",7857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",7878:"p__Classrooms__Lists__LiveVideo__index",7883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",7884:"p__Shixuns__Exports__index",7922:"p__Classrooms__Lists__CourseGroup__Detail__index",8014:"p__Classrooms__Lists__Teachers__index",8062:"p__User__Detail__Topicbank__index",8072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",8077:"p__Classrooms__Lists__Students__index",8085:"p__Classrooms__Lists__Exercise__Review__index",8137:"p__knowledgegraph__Statistics__PathAtlas__index",8143:"layouts__GraduationsDetail__index",8155:"p__Shixuns__Overview__index",8237:"p__User__Detail__Order__pages__view__index",8241:"p__virtualSpaces__Lists__Plan__index",8302:"p__Classrooms__Lists__Board__index",8307:"p__User__Detail__Shixuns__index",8340:"p__Classrooms__Lists__Attendance__Webview__Student__index",8398:"p__virtualSpaces__Lists__Resources__Detail__index",8431:"p__Classrooms__Lists__Exercise__Export__index",8435:"p__Classrooms__Lists__Attendance__index",8447:"p__virtualSpaces__Lists__Knowledge__index",8517:"p__User__Detail__Topics__Group__index",8522:"p__Classrooms__Lists__SmartPlan__Info__PptInfo__index",8563:"p__virtualSpaces__Lists__Discussion__Detail__index",8634:"p__Classrooms__Lists__CourseGroup__List__index",8639:"p__Forums__Index__redirect",8665:"p__Engineering__Lists__TrainingObjectives__index",8688:"p__Shixuns__Detail__Repository__index",8689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",8723:"p__Classrooms__Lists__Polls__Edit__index",8782:"p__Shixuns__Index__index",8787:"p__Competitions__Entered__index",8795:"p__Classrooms__Lists__Exercise__Detail__components__WordInfo__index",8797:"p__Competitions__Edit__index",8823:"p__knowledgegraph__Detail__id",8827:"p__Classrooms__Lists__OnlineLearning__index",8866:"p__index",8882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",8885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",8891:"antdesign",8982:"p__Paths__New__index",8999:"p__Three__index",9076:"p__Account__Binding__index",9133:"p__Shixuns__Detail__Challenges__index",9205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",9215:"p__Shixuns__Detail__ForkList__index",9332:"p__Classrooms__Lists__Video__index",9360:"p__User__Detail__virtualSpaces__index",9366:"p__User__Login__index",9391:"p__Engineering__Lists__CurseSetting__index",9404:"monaco-editor",9408:"p__Shixuns__Detail__RankingList__index",9416:"p__Graduations__Lists__Tasks__index",9472:"p__Shixuns__Detail__Poll__index",9487:"p__LargeScreen__index",9489:"p__Engineering__Lists__CourseList__index",9507:"p__User__Detail__ResourceGuarantee__index",9590:"p__User__Detail__TeachGroup__index",9595:"p__knowledgegraph__Statistics__AbilityMap__index",9647:"p__Question__Index__index",9649:"p__Engineering__Lists__TrainingProgram__index",9674:"p__Shixuns__New__ImagePreview__index",9677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",9695:"p__Classrooms__Lists__Polls__Add__index",9715:"p__Classrooms__Lists__CommonHomework__Edit__index",9716:"p__Question__OjProblem__RecordDetail__index",9785:"p__Classrooms__Lists__Template__student__index",9788:"p__Account__Profile__index",9890:"p__Classrooms__Lists__CommonHomework__index",9891:"p__User__Detail__Videos__Success__index",9921:"p__Classrooms__ExamList__index",9922:"p__Classrooms__Lists__Statistics__StudentVideo__index",9944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index"}[i]||i)+"."+{26:"ee67c309",67:"30690694",95:"d8ce8946",109:"01501bc4",195:"33eb7ae7",264:"b4a5c193",265:"851b4595",292:"b068c5bb",310:"6f2094d6",316:"1f60ada6",337:"2772370b",342:"eee06cbd",354:"d4d139cf",479:"39c38a84",485:"a8cc6092",508:"cbc31b22",532:"2fb797d9",533:"c902917b",547:"48bfa48e",556:"ca05ae00",559:"094b9583",576:"3e0a6c4f",599:"ed444d24",629:"44a1d9a5",643:"c35343f0",671:"4a609b8d",680:"2063fa82",700:"ec14d32e",737:"41bc917e",741:"ac5fd360",745:"4a3c74f3",799:"02c6f56b",869:"3feac31f",895:"cf43cf21",919:"43f60223",921:"0ba2fdbd",925:"ece81186",928:"f539b1dd",981:"24da50c7",1006:"d71d010e",1043:"369a5786",1045:"00f7468a",1048:"09980fd8",1070:"73725039",1144:"c90eccaf",1148:"655d1975",1150:"b8ee159d",1154:"8cb80842",1211:"734674c9",1220:"6a49c772",1253:"02d23091",1257:"f333e402",1265:"56c2a2fe",1274:"5f6ea65a",1276:"cbeb3a8f",1343:"c83d6609",1416:"3e4372eb",1423:"c2c09b62",1427:"55f5686d",1443:"c8d9c6a2",1450:"893b2d58",1461:"548aa086",1462:"fcf08abc",1470:"f372c714",1475:"ef2e667f",1482:"b0ce828e",1512:"933ba9bd",1520:"42c9e07c",1545:"cd2659c2",1578:"4c59e70a",1581:"87523cb7",1582:"dd81cb61",1646:"e6e27b60",1657:"bcb14618",1660:"2c305c06",1674:"0099ed7a",1685:"6409b36e",1702:"bf487d9c",1713:"9e2cfbc6",1717:"4e3f5303",1727:"45e12a5e",1783:"ebc60034",1799:"a0a3fb12",1831:"05b3d7aa",1836:"81ab9df9",1855:"eb0f6e50",1880:"35a6dd3c",1939:"68a8b189",1953:"77bd4e9b",1962:"78f1085a",2011:"59d51f98",2045:"da13db76",2076:"e81d5811",2102:"7f115916",2141:"b9de86ea",2216:"1231e276",2240:"8a715836",2249:"f4830452",2254:"8cd75460",2300:"f7b34b30",2303:"10d4ae07",2307:"28262356",2338:"11125ef0",2339:"cab05db3",2364:"f89faf70",2386:"192e235c",2396:"e8173bc0",2404:"0abed8a8",2412:"05066959",2425:"4987cca1",2443:"325cee1a",2476:"8e603e6b",2494:"68080a87",2501:"ece9ca93",2524:"f5768a0b",2529:"e64ffe7e",2538:"de4a3723",2539:"2497eedf",2548:"aa53f43d",2570:"9b90b94c",2594:"e87d3761",2603:"61242102",2659:"47ea6643",2707:"ae0e9d74",2806:"da4b1b9d",2819:"4a32d5c7",2823:"34a2d225",2826:"ca16b215",2829:"9999bf4a",2837:"54a82605",2865:"9b868c30",2875:"bf6ba75c",2884:"df86041c",2969:"ab3357d7",2983:"df0734f7",3006:"e5dc476b",3133:"9bf3f89c",3141:"2990a907",3157:"bb0fe9bd",3183:"b235c517",3198:"8e655451",3212:"07c1f2d1",3220:"56daff7a",3247:"68ff1daa",3260:"06119fb7",3282:"ac36a1e9",3317:"0ab933e8",3332:"dfa6e340",3355:"4d4ff444",3356:"f0b6c511",3391:"3dfd40d9",3433:"14c2ced2",3442:"9852fb32",3443:"b1580d60",3447:"6266dd5e",3451:"2b145fa4",3496:"b12f3137",3509:"af3441da",3550:"3dc83156",3581:"e2785d19",3585:"8257a359",3589:"7ab8cb35",3665:"60dff9ad",3668:"bba2fdb3",3685:"56c1d7ce",3697:"481a10d9",3747:"a8d0ab2a",3754:"8f967042",3777:"d5b0f2f1",3784:"5c0ac9f3",3805:"9dbcb95e",3862:"90d3f1e8",3873:"5e79cc3f",3885:"f87f7f15",3897:"3c01a04b",3910:"a3b97753",3935:"2f8eca45",3951:"36352b13",3987:"5cecd51b",4014:"27a8e97c",4017:"3acd7276",4030:"57cd9b69",4056:"60ae0de8",4058:"a6f97976",4078:"1e6b1952",4088:"6f7d1078",4093:"1c71e0ed",4105:"54c92932",4144:"a58cdc2c",4164:"75f35048",4216:"e42cc73e",4217:"e9c7dbf7",4227:"83b73245",4259:"5413367d",4264:"3e302951",4339:"ba9cb2a5",4347:"ce21ef2e",4354:"140899b7",4360:"cf5efa52",4449:"95086d25",4492:"a9f168d7",4496:"da224f1e",4498:"8904f9c7",4504:"8c031209",4514:"15e66b13",4520:"b7b27d12",4546:"c8b4f9cd",4565:"f1cb1c14",4572:"7156bcb8",4599:"2261081f",4601:"816cb090",4610:"da41a3fb",4621:"68ec84db",4628:"ece2c60c",4662:"06c8d370",4685:"c33f1528",4715:"9297d768",4736:"6b3b91e1",4741:"8be64dd1",4757:"0ea63807",4766:"8e4c898e",4770:"9b1a2ec1",4790:"619413e4",4795:"24388f85",4797:"a24e92db",4800:"fbc16b27",4849:"c3a69060",4850:"1edda4b7",4862:"ed32b0b4",4884:"a411c175",4889:"013467d8",4928:"f9efc781",4973:"7737d2c1",4994:"79b93506",5022:"f5b5fc34",5043:"34c209f4",5048:"4066249c",5060:"85dafcc6",5096:"f3c3171e",5111:"c9ef31ab",5125:"5e4b9f25",5148:"053ae428",5176:"3aa6382b",5179:"04f77ab5",5186:"83d61d1d",5191:"4d87ac8d",5238:"aab999a1",5290:"5dabcdc2",5297:"85063480",5319:"f30a45c0",5321:"1163c84e",5335:"16e07e67",5354:"7ae70604",5357:"1c06d56d",5359:"8ec0c420",5382:"1bf5ec51",5402:"5befedc8",5416:"454536b7",5434:"38b302a6",5470:"e11e91d8",5494:"d89549c4",5518:"a11a3fe7",5549:"ac1e3fb4",5572:"ecaf60b2",5573:"3c9a1b14",5599:"8ccc369d",5624:"71e7c60d",5631:"e00d3d36",5650:"3be15355",5679:"4a090bef",5705:"956a5d8e",5729:"8c1e8daf",5741:"bf5828eb",5764:"e0d7e586",5775:"cc8eb9ea",5786:"3d700150",5798:"c8f2ac4b",5816:"5b90ae75",5825:"fcc996d2",5876:"5eded409",5888:"ab647d20",5891:"8d20a16b",5895:"a5944d09",5902:"de2e367d",5915:"e118306a",5927:"320eba28",5964:"75e889a4",5992:"b3089182",6029:"97dc965f",6034:"1942ee30",6045:"d268f87f",6047:"3ce45acd",6052:"ada665b0",6063:"c0ca3756",6069:"bb6a4462",6126:"99519171",6127:"32fad1a8",6170:"c4b92aae",6265:"eefd4ecd",6270:"cad4c6b2",6277:"d063184d",6328:"0e3b5335",6366:"92468aeb",6378:"7f3a946a",6411:"1e3cc8b5",6434:"dac7a208",6444:"b8842517",6452:"9585d3ed",6531:"5b8bb018",6541:"e7cbdcda",6583:"6b458b05",6587:"078cf819",6634:"c0866518",6651:"b04f05f7",6653:"b692f3f9",6656:"3a688449",6679:"df227042",6685:"6be6479f",6729:"1148b155",6741:"68f75c4c",6758:"51eee120",6774:"59d4d618",6784:"34285c67",6788:"e122f3c1",6796:"b611318a",6805:"5b34e321",6820:"2a71ebcd",6845:"fedd8ac6",6882:"9305f6e4",6883:"6a088852",6904:"f35c9d67",6913:"8fbf5629",6930:"d35b6b3b",6963:"3b0cf93a",6982:"c033e0fa",7008:"8d0ebac1",7042:"7d174a2f",7043:"a18240a1",7045:"9c9d4f7f",7046:"b58b45b4",7058:"b135147f",7062:"bbd7cee8",7084:"46ccce72",7101:"a6d41531",7156:"e7466006",7178:"e84ef5da",7182:"00919c88",7207:"984bacdf",7242:"0a21ccf4",7260:"9985dac9",7331:"2e27a23b",7333:"492d920b",7365:"1005464f",7395:"64368a13",7460:"f05b1b83",7477:"cdc9215b",7482:"625283ed",7527:"e90d25b1",7545:"962855cb",7560:"b001b462",7589:"d7335f27",7591:"c8233ce9",7614:"de57532f",7622:"b0ccf75b",7686:"4fcec9f9",7690:"8d2b3a34",7706:"c2a79e40",7806:"88ba4e85",7852:"b8d9f2bd",7855:"4aa8a883",7857:"795f1101",7878:"2fd378de",7883:"6e5c497a",7884:"e48dcf9a",7922:"bdd71cab",7953:"90a7d7e3",7963:"64ac60d4",7964:"29aed9a1",8014:"da866ceb",8062:"b3ef6596",8072:"3105c524",8077:"e9c35717",8085:"f699bea8",8089:"d536b13a",8137:"4d324879",8143:"620df346",8155:"9eb0a680",8161:"83c5fa9a",8237:"e65f279d",8241:"4f236b64",8302:"8e8a37d9",8307:"d3777a54",8325:"d4c6e4a4",8340:"9fffd9c0",8350:"07df8a75",8398:"0a3b5f7c",8431:"1fb17509",8435:"496cbe4e",8447:"d1c4c66f",8517:"e92fbf06",8522:"9a5b826a",8561:"333e8ec9",8563:"fddc2755",8634:"4a8ad1f6",8639:"ebbaf1d9",8665:"f44b20b8",8688:"5b7ff473",8689:"2feaaf73",8723:"4084674e",8737:"ce7dad23",8776:"0ad26240",8782:"f9e74e85",8787:"67b2656d",8795:"c935957d",8797:"c77e9a11",8823:"6c55172a",8827:"decaef6e",8842:"9f25a3e2",8866:"1545800c",8880:"9d3963c3",8882:"07311690",8885:"ae07d414",8891:"8bb233a5",8898:"d002bcd8",8909:"a810a418",8920:"7f82440c",8963:"790aecdd",8982:"312717d8",8999:"3a9b4300",9076:"a5df9c95",9104:"bbcb2345",9133:"694f806f",9205:"76d4ec94",9215:"3ddb4ece",9252:"0d791a59",9260:"f163e60e",9332:"0d5a174c",9360:"e7afe7c6",9366:"83893b34",9391:"5c861506",9404:"9fcc3d3e",9408:"93ef67da",9416:"cb3d4f6b",9472:"5128ea2c",9487:"4d567133",9489:"29d2ba4d",9507:"0baa24eb",9554:"ed358e7b",9559:"f794af19",9590:"39744c8b",9595:"ac8b5c7c",9647:"1b4e32ed",9649:"67381f8c",9674:"a78fb8bc",9677:"6c1470ac",9695:"2e0f0efd",9715:"9fac914c",9716:"f7add07e",9785:"9172df64",9788:"2d0491cd",9890:"ac1ab413",9891:"e2638661",9895:"b8e31ff2",9921:"7badd884",9922:"646ddf5e",9928:"5989f5e0",9944:"20cc3d9f",9950:"74f6dfb2",9968:"17466785"}[i]+".async.js"}}(),function(){__webpack_require__.miniCssF=function(i){return""+({26:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",67:"p__Message__index",109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",195:"p__Classrooms__Lists__GroupHomework__Detail__index",264:"p__User__Detail__Order__pages__orderPay__index",265:"p__User__Detail__Topics__index",292:"p__Classrooms__Lists__Exercise__Add__index",310:"p__User__Detail__ExperImentImg__Detail__index",337:"p__Paperlibrary__Random__PreviewEdit__index",342:"p__Classrooms__Lists__ShixunHomeworks__Comment__index",479:"p__Classrooms__Lists__GroupHomework__EditWork__index",485:"p__Question__AddOrEdit__BatchAdd__index",508:"p__Forums__Detail__id",532:"p__ExcellentCourse__index",533:"p__Classrooms__Lists__Video__Statistics__Detail__index",547:"p__Account__index",556:"p__User__Detail__Order__pages__invoice__index",559:"layouts__virtualDetail__index",576:"p__Account__Profile__Edit__index",643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",680:"p__Innovation__index",700:"p__tasks__Jupyter__index",737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",745:"p__Classrooms__Lists__SmartPlan__Detail__index",799:"p__User__Detail__Topics__Poll__Detail__index",869:"p__Guidance__index",895:"p__Classrooms__Lists__Video__Items__videoInfo__index",919:"p__knowledgegraph__Statistics__LearningPath__index",921:"p__Classrooms__Lists__Exercise__CodeDetails__index",928:"p__RestFul__Edit__index",1006:"p__RestFul__index",1043:"p__Classrooms__Lists__Graduation__Tasks__index",1045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",1048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",1070:"p__Innovation__PublicMirror__index",1148:"p__Shixuns__Detail__Repository__UploadFile__index",1150:"p__BwDemo__index",1211:"p__Classrooms__Lists__CommonHomework__EditWork__index",1253:"p__Graduations__Lists__Gradingsummary__index",1257:"p__Classrooms__Lists__ResourceRecommend__index",1265:"p__Classrooms__Lists__Announcement__index",1276:"p__MoopCases__Success__index",1343:"p__User__Detail__ResourceAllocation__index",1416:"p__User__Detail__AccountInfo__CareerCertification__index",1423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",1427:"p__Classrooms__Lists__Statistics__index",1443:"p__EffectivenessAnalysis__index",1450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",1461:"p__Graduations__Lists__Topics__index",1470:"p__User__Register__index",1475:"p__Shixuns__Detail__Dataset__JupyterData__index",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",1520:"p__Engineering__Lists__StudentList__index",1545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",1578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",1581:"p__Problemset__Preview__index",1582:"p__Classrooms__Lists__GroupHomework__Add__index",1657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",1674:"p__Classrooms__ClassicCases__index",1702:"p__Classrooms__New__index",1713:"p__virtualSpaces__Lists__Settings__index",1717:"layouts__index",1727:"p__Classrooms__Lists__CourseGroup__NotList__index",1783:"p__virtualSpaces__Lists__Experiment__index",1831:"p__Graduations__Index__index",1836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",1855:"p__MoopCases__InfoPanel__index",1880:"p__User__Detail__Order__pages__apply__index",1939:"p__User__Detail__Order__index",1953:"p__Problemset__NewItem__index",1962:"p__Classrooms__Lists__Engineering__index",2045:"p__Engineering__Lists__TeacherList__index",2076:"p__User__Detail__Competitions__index",2102:"p__Classrooms__Lists__Board__Edit__index",2141:"p__Shixuns__Detail__Split__index",2216:"p__DataSet__Index__index",2240:"p__User__Detail__Videos__Upload__index",2254:"p__Shixuns__Detail__Discuss__index",2303:"p__Classrooms__Lists__CommonHomework__Comment__index",2307:"p__Report__index",2338:"p__Classrooms__Lists__CommonHomework__Review__index",2339:"p__virtualSpaces__Lists__Plan__Detail__index",2396:"p__User__Detail__ResourcesCenter__index",2404:"p__Classrooms__Lists__Template__teacher__index",2412:"p__User__Detail__Videos__index",2425:"p__Classrooms__Lists__Board__Detail__index",2443:"p__Graduations__Lists__StageModule__index",2476:"p__Colleges__index",2501:"p__Search__index",2524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",2529:"p__User__Detail__id",2539:"p__Graduations__Review__index",2548:"p__Engineering__Norm__Detail__index",2570:"p__Competitions__Detail__index",2603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",2659:"p__User__Detail__UserPortrait__index",2707:"p__Innovation__MyDataSet__index",2806:"p__User__Detail__Topics__Exercise__Detail__index",2819:"p__Classrooms__Lists__Template__detail__index",2823:"p__Engineering__Navigation__Home__index",2826:"p__User__Detail__DataSet__index",2829:"p__Messages__Private__index",2865:"p__Innovation__MyMirror__index",2875:"p__Shixuns__Detail__id",2884:"p__Classrooms__Lists__ProgramHomework__Comment__index",2983:"p__Forums__Index__index",3006:"p__Engineering__index",3141:"p__Innovation__Detail__index",3157:"p__User__Detail__ExperImentImg__Add__index",3183:"p__Engineering__Lists__GraduationIndex__index",3212:"p__MoopCases__index",3220:"p__Classrooms__Lists__Video__Upload__index",3247:"p__Paperlibrary__See__index",3260:"p__Paperlibrary__Add__index",3282:"layouts__ShixunDetail__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3332:"p__Paths__Detail__id",3355:"p__Classrooms__Lists__Polls__index",3356:"p__Classrooms__Lists__Assistant__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",3442:"p__Classrooms__Lists__Board__Add__index",3443:"p__knowledgegraph__Statistics__AbilityMap__Detail",3447:"p__User__Detail__Order__pages__orderInformation__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3496:"p__User__Detail__OtherResources__index",3509:"p__HttpStatus__SixActivities",3581:"p__Classrooms__Lists__ShixunHomeworks__Detail__index",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3665:"p__tasks__index",3668:"p__Classrooms__Lists__CommonHomework__Detail__index",3685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",3747:"p__virtualSpaces__Lists__Homepage__index",3784:"p__Paperlibrary__Random__Detail__index",3873:"p__virtualSpaces__Lists__Lesson__index",3897:"p__WxMiniProgram__Courseware__Study__index",3910:"p__HttpStatus__introduction",3935:"p__Classrooms__Lists__GroupHomework__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",4056:"p__IntrainCourse__index",4058:"p__Demo__index",4078:"p__Messages__Tidings__index",4093:"p__Classrooms__Lists__Attendance__Detail__index",4105:"p__Classrooms__Lists__Exercise__Answer__index",4144:"p__Problemset__Preview__New__index",4164:"p__Classrooms__Lists__Exercise__Detail__index",4216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",4217:"p__Classrooms__Lists__Video__Statistics__index",4227:"p__Paths__Overview__index",4259:"p__User__Detail__Order__pages__result__index",4264:"p__Forums__New__index",4339:"p__knowledgegraph__Statistics__PathAtlas__Detail",4449:"p__Competitions__Exports__index",4492:"p__Graduations__Lists__StudentSelection__index",4496:"p__HttpStatus__HpcCourse",4498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",4504:"p__virtualSpaces__Lists__Survey__index",4514:"p__Account__Results__index",4520:"p__Account__Secure__index",4546:"p__Engineering__Lists__TrainingProgram__Add__index",4572:"p__Classrooms__Lists__ExportList__index",4599:"p__Problemset__index",4601:"p__Paths__Detail__Statistics__index",4610:"p__User__Detail__LearningPath__index",4621:"p__Administration__Profession__index",4662:"p__Classrooms__Lists__GroupHomework__Review__index",4715:"p__virtualSpaces__Lists__Material__Detail__index",4736:"p__User__Detail__Projects__index",4741:"p__Problems__OjForm__NewEdit__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",4795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",4800:"p__Engineering__Lists__GraduatedMatrix__index",4849:"p__User__Detail__ExperImentImg__index",4862:"p__Paperlibrary__index",4884:"p__Shixuns__Detail__Repository__Commit__index",4889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",4928:"p__Classrooms__Lists__LearningPath__index",4973:"p__Engineering__Evaluate__List__index",4994:"p__Problems__OjForm__index",5022:"p__Graduations__Lists__Settings__index",5043:"p__User__Detail__Topics__Poll__Edit__index",5048:"p__Classrooms__Lists__Graduation__Topics__index",5096:"p__Shixuns__Detail__AuditSituation__index",5111:"p__Terminal__index",5125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",5148:"p__Classrooms__Lists__Polls__Answer__index",5176:"p__User__Detail__Videos__Protocol__index",5179:"p__Administration__Student__Edit__index",5186:"p__Classrooms__Overview__index",5191:"p__User__Detail__Certificate__index",5238:"p__virtualSpaces__Lists__Material__index",5297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",5319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",5335:"p__Engineering__Lists__CourseMatrix__index",5357:"p__Engineering__Lists__TrainingProgram__Edit__index",5359:"p__Messages__Detail__index",5382:"p__DataSet__Detail__index",5402:"p__User__Detail__Topics__Detail__index",5470:"p__Shixuns__Detail__Collaborators__index",5518:"p__Classrooms__Lists__Template__index",5549:"p__Shixuns__New__CreateImg__index",5572:"p__Paths__HigherVocationalEducation__index",5573:"p__Shixuns__Detail__Merge__index",5599:"p__User__Detail__Paths__index",5624:"p__Graduations__Lists__Index__index",5650:"p__Competitions__Update__index",5705:"p__virtualSpaces__Lists__Construction__index",5729:"p__Help__Index",5741:"p__Classrooms__Lists__SmartPlan__index",5775:"p__Engineering__Lists__Document__index",5786:"layouts__LoginAndRegister__index",5798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",5816:"p__Paperlibrary__Random__Edit__index",5825:"p__Classrooms__Lists__Exercise__index",5888:"p__Classrooms__Lists__CommonHomework__Add__index",5891:"p__virtualSpaces__Lists__Resources__index",5895:"p__User__Detail__AccountInfo__Profile__Edit__index",5902:"p__Classrooms__Lists__Exercise__Sumup__index",5915:"p__knowledgegraph__Detail__Statistics__index",5927:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__TestResult",5992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",6029:"p__Administration__Student__index",6052:"p__Paths__Index__index",6063:"p__Graduations__Lists__Personmanage__index",6069:"p__virtualSpaces__Lists__Lesson__Detail__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6265:"p__virtualSpaces__Lists__Discussion__index",6270:"p__MyProblem__index",6277:"p__Shixuns__Edit__index",6328:"p__Shixuns__Edit__body__Warehouse__index",6366:"p__Innovation__PublicProject__index",6434:"p__User__Detail__Order__pages__records__index",6444:"p__Video__Detail__id",6452:"p__Innovation__PublicDataSet__index",6541:"p__Shixuns__Detail__Dataset__index",6583:"p__User__Detail__Classrooms__index",6587:"p__User__Detail__Videos__Protocol__resource",6634:"p__Innovation__Tasks__index",6651:"p__Engineering__Evaluate__Detail__index",6685:"p__Classrooms__Index__index",6729:"p__Classrooms__Lists__GroupHomework__Edit__index",6741:"p__Engineering__Norm__List__index",6758:"p__Classrooms__Lists__Attachment__index",6784:"p__Innovation__Edit__index",6788:"p__Classrooms__Lists__ProgramHomework__index",6796:"p__virtualSpaces__Lists__Announcement__Detail__index",6805:"p__User__Detail__AccountInfo__RealNameCertification__index",6820:"p__User__Detail__Topics__Normal__index",6845:"p__Shixuns__Detail__Settings__index",6882:"p__Classrooms__New__StartClass__index",6883:"p__Competitions__Index__index",6904:"p__MoopCases__FormPanel__index",6913:"p__Question__AddOrEdit__index",6963:"p__Classrooms__Lists__Engineering__Detail__index",6982:"p__User__Detail__AccountInfo__Profile__index",7008:"p__Shixuns__New__index",7042:"p__knowledgegraph__Statistics__LearningPath__Detail",7043:"p__User__Detail__Topics__Exercise__Edit__index",7045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",7046:"p__Shixuns__Detail__Repository__AddFile__index",7058:"p__virtualSpaces__Lists__Survey__Detail__index",7062:"layouts__SimpleLayouts",7178:"p__User__BindAccount__index",7182:"p__User__ResetPassword__index",7242:"p__Innovation__MyProject__index",7260:"p__Account__Certification__index",7395:"p__Classrooms__Lists__Statistics__StudentDetail__index",7460:"p__Question__OjProblem__index",7477:"p__virtualSpaces__Lists__Announcement__index",7482:"p__Classrooms__Lists__Exercise__Notice__index",7527:"p__MyProblem__RecordDetail__index",7545:"p__Graduations__Lists__Archives__index",7560:"p__Administration__College__index",7589:"p__virtualSpaces__Lists__DigitalTopics__index",7614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",7622:"p__Classrooms__Lists__Polls__Detail__index",7806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",7852:"p__Classrooms__Lists__ShixunHomeworks__index",7855:"p__User__Detail__ResourcesCenter__Detail__index",7857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",7878:"p__Classrooms__Lists__LiveVideo__index",7883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",7884:"p__Shixuns__Exports__index",7922:"p__Classrooms__Lists__CourseGroup__Detail__index",8014:"p__Classrooms__Lists__Teachers__index",8062:"p__User__Detail__Topicbank__index",8072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",8077:"p__Classrooms__Lists__Students__index",8085:"p__Classrooms__Lists__Exercise__Review__index",8137:"p__knowledgegraph__Statistics__PathAtlas__index",8143:"layouts__GraduationsDetail__index",8155:"p__Shixuns__Overview__index",8237:"p__User__Detail__Order__pages__view__index",8241:"p__virtualSpaces__Lists__Plan__index",8302:"p__Classrooms__Lists__Board__index",8307:"p__User__Detail__Shixuns__index",8398:"p__virtualSpaces__Lists__Resources__Detail__index",8431:"p__Classrooms__Lists__Exercise__Export__index",8435:"p__Classrooms__Lists__Attendance__index",8447:"p__virtualSpaces__Lists__Knowledge__index",8517:"p__User__Detail__Topics__Group__index",8522:"p__Classrooms__Lists__SmartPlan__Info__PptInfo__index",8563:"p__virtualSpaces__Lists__Discussion__Detail__index",8634:"p__Classrooms__Lists__CourseGroup__List__index",8665:"p__Engineering__Lists__TrainingObjectives__index",8688:"p__Shixuns__Detail__Repository__index",8689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",8723:"p__Classrooms__Lists__Polls__Edit__index",8782:"p__Shixuns__Index__index",8787:"p__Competitions__Entered__index",8795:"p__Classrooms__Lists__Exercise__Detail__components__WordInfo__index",8797:"p__Competitions__Edit__index",8823:"p__knowledgegraph__Detail__id",8827:"p__Classrooms__Lists__OnlineLearning__index",8866:"p__index",8882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",8885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",8982:"p__Paths__New__index",8999:"p__Three__index",9076:"p__Account__Binding__index",9133:"p__Shixuns__Detail__Challenges__index",9205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",9215:"p__Shixuns__Detail__ForkList__index",9332:"p__Classrooms__Lists__Video__index",9360:"p__User__Detail__virtualSpaces__index",9366:"p__User__Login__index",9391:"p__Engineering__Lists__CurseSetting__index",9404:"monaco-editor",9408:"p__Shixuns__Detail__RankingList__index",9416:"p__Graduations__Lists__Tasks__index",9472:"p__Shixuns__Detail__Poll__index",9487:"p__LargeScreen__index",9489:"p__Engineering__Lists__CourseList__index",9507:"p__User__Detail__ResourceGuarantee__index",9590:"p__User__Detail__TeachGroup__index",9595:"p__knowledgegraph__Statistics__AbilityMap__index",9647:"p__Question__Index__index",9649:"p__Engineering__Lists__TrainingProgram__index",9674:"p__Shixuns__New__ImagePreview__index",9677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",9695:"p__Classrooms__Lists__Polls__Add__index",9715:"p__Classrooms__Lists__CommonHomework__Edit__index",9716:"p__Question__OjProblem__RecordDetail__index",9785:"p__Classrooms__Lists__Template__student__index",9788:"p__Account__Profile__index",9890:"p__Classrooms__Lists__CommonHomework__index",9891:"p__User__Detail__Videos__Success__index",9921:"p__Classrooms__ExamList__index",9922:"p__Classrooms__Lists__Statistics__StudentVideo__index",9944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index"}[i]||i)+"."+{26:"78bf926a",67:"2d8a8bdc",109:"b9c23c40",195:"f69b998f",264:"5fd9b3fc",265:"34e6330e",292:"95f6e194",310:"64044e73",337:"9b9827f0",342:"55d30ace",479:"5e75efb1",485:"d63578fe",508:"7e8930a6",532:"738f54ac",533:"a3c1deb3",547:"5581debc",556:"c42fee12",559:"c49aa5ba",576:"8bf77b42",643:"0de52106",680:"e67e9e01",700:"d5e66b02",737:"72eaccaa",745:"d3ca037a",799:"a8022262",869:"4a5372a2",895:"ce8634e8",919:"c55bc6c8",921:"b09f4288",928:"d400bdfe",1006:"b9d07e6a",1043:"e8c0878b",1045:"d679c2a9",1048:"f275801f",1070:"e67e9e01",1148:"754fff63",1150:"da6ea9ca",1211:"cef55a54",1253:"60d33f0b",1257:"7b8c452c",1265:"fd4fbe66",1276:"bbc6eeec",1343:"63d89e82",1416:"5e412a74",1423:"ac9f0abe",1427:"21784ab9",1443:"8a38fcbf",1450:"d927e082",1461:"b211543a",1470:"afcb0f79",1475:"e8400386",1482:"099257e4",1512:"f3653a35",1520:"f7300d0e",1545:"c42bc887",1578:"869f4aec",1581:"13815a71",1582:"75250b9d",1657:"ae31e31b",1674:"fdbc1e05",1702:"c68efb85",1713:"cfcd20ff",1717:"7fe99454",1727:"ba0a7282",1783:"acce787f",1831:"d3b95908",1836:"5f0d3f7f",1855:"d782a698",1880:"2ba04bac",1939:"0808b0f7",1953:"b2a9de2b",1962:"84e145fa",2045:"dcfad42d",2076:"be8662b0",2102:"a8f403cb",2141:"5eb2f330",2216:"ec88fb77",2240:"e7cce869",2254:"522abbe2",2303:"12a84d51",2307:"b2c54321",2338:"f2971ba5",2339:"0cf686fe",2396:"fb3901c9",2404:"5194b170",2412:"ab5929be",2425:"0bbd686e",2443:"45b0cc1b",2476:"cf85a190",2501:"2441982c",2524:"89c6de28",2529:"0d98d328",2539:"f8a70b48",2548:"75182034",2570:"b9b808a4",2603:"d400bdfe",2659:"f6071a36",2707:"cabcb16e",2806:"fa51e718",2819:"32083596",2823:"a13b21fb",2826:"6fce56c6",2829:"b9ad7ac4",2865:"6ef3cf6b",2875:"75690e23",2884:"203ae502",2983:"f1648d85",3006:"7fce4e74",3141:"c491cfd0",3157:"afb4dcef",3183:"b2253f40",3212:"ad1521c1",3220:"1a8a9f14",3247:"e905b8b4",3260:"ed91eb17",3282:"c98dd16f",3317:"c0dfcf3c",3332:"9238937c",3355:"d4a1a198",3356:"802ec8d1",3391:"89554b70",3433:"52af582a",3442:"e0fd9ac3",3443:"c55bc6c8",3447:"1653d818",3451:"e3a31387",3496:"1ecc3984",3509:"70043ca5",3581:"691a8d4c",3585:"5f288e7b",3665:"aeda8044",3668:"f7efcc27",3685:"5356e3de",3747:"c60edc26",3784:"05ecae20",3873:"245cb512",3897:"44e3fad0",3910:"658d457f",3935:"b86f95e9",3951:"37c887df",4030:"59c04566",4056:"10eacfff",4058:"ee954c0b",4078:"aa54548e",4093:"1ac55157",4105:"defaf17a",4144:"f10aa199",4164:"83bd9777",4216:"d400bdfe",4217:"387bf824",4227:"79c3b323",4259:"ebd953ac",4264:"1d442252",4339:"e59b7236",4449:"e68d8d58",4492:"1b537699",4496:"634331aa",4498:"f120940c",4504:"d2f27be7",4514:"887bdbb6",4520:"e86d61a1",4546:"4101a1f2",4572:"70e5675d",4599:"5952744a",4601:"3c8ac557",4610:"687005a6",4621:"1ab1d6da",4662:"01eca25e",4715:"00d18926",4736:"7a83099a",4741:"02bd9307",4757:"73b754d2",4766:"b5df5a8e",4770:"2ad0c1f9",4795:"3f4545d8",4800:"f50302a4",4849:"62d31f36",4862:"dd497427",4884:"bd293d3b",4889:"85017e19",4928:"3ec9e47f",4973:"129c56e8",4994:"7cfd1274",5022:"81b1b86b",5043:"742a7496",5048:"aa08c681",5096:"4f6a4d00",5111:"5d09a39a",5125:"57501e4a",5148:"c519172e",5176:"9c49e7fa",5179:"21f01751",5186:"38d977bd",5191:"a3e7534d",5238:"3acde825",5297:"3a2685a1",5319:"fbe179c4",5335:"fec6fd9f",5357:"1fbb7d24",5359:"17150032",5382:"4de31547",5402:"6770fae6",5470:"01c55a02",5518:"9f425be3",5549:"39285664",5572:"c945fbf2",5573:"6ecf393c",5599:"3f149be6",5624:"3309aba2",5650:"f8f63f4b",5705:"df6bf207",5729:"a4be0f7f",5741:"131d32c1",5775:"f99db9ab",5786:"37a81eaa",5798:"ce1cf7da",5816:"f1d820fd",5825:"d26b116c",5888:"c61f8ef3",5891:"e0499c06",5895:"5136f07a",5902:"d59edd35",5915:"bc9c3e69",5927:"73b7b6a2",5992:"e84da226",6029:"b97610ed",6052:"314ec9fc",6063:"dcc1111c",6069:"640f62f5",6127:"9f7e8a95",6265:"82993aad",6270:"9c6e2912",6277:"ec2ed455",6328:"1d366bbd",6366:"079fc2d8",6434:"8d399001",6444:"bb471f47",6452:"50a6d310",6541:"d1c967cd",6583:"694cd0bb",6587:"9c49e7fa",6634:"b2973a7e",6651:"b07fe216",6656:"03cdfb68",6685:"7ec10573",6729:"dedd93eb",6741:"b838eb14",6758:"fbd7fba9",6784:"1affe817",6788:"70bceb7a",6796:"d4139b02",6805:"d5bb349d",6820:"9b643572",6845:"be42eed4",6882:"c2d2eada",6883:"460a800d",6904:"ccf2c99c",6913:"52648dbe",6963:"84e145fa",6982:"933d273e",7008:"6bab94f9",7042:"c55bc6c8",7043:"bbf884ad",7045:"78876b9f",7046:"c7301ded",7058:"8d656115",7062:"e21fe294",7178:"6e47d75d",7182:"9c7ac543",7242:"4f353f61",7260:"928abc9d",7395:"5c10e8d8",7460:"b4086571",7477:"2e35db75",7482:"3a11c394",7527:"1f8068de",7545:"b0b55aba",7560:"d82e43ca",7589:"f99aec51",7614:"8e370373",7622:"c4b8e817",7806:"bd9accb9",7852:"5bc3026a",7855:"a6f0cfd4",7857:"c94403c2",7878:"2b521fde",7883:"68fe780a",7884:"47e0a5df",7922:"a6efce20",8014:"e07dbbe1",8062:"8e384b9f",8072:"dcb50d0e",8077:"7b1ddee5",8085:"fb2f4c4a",8137:"95a9b49c",8143:"5b4556bd",8155:"d345abd7",8237:"8233bf4f",8241:"c453f853",8302:"8a3f9d36",8307:"a24e4c8e",8398:"4a4db420",8431:"1db474d3",8435:"4f2ab980",8447:"db65c856",8517:"c47eec60",8522:"a1f72782",8563:"3f46db43",8634:"0cff4b79",8665:"c52575bc",8688:"f98a445e",8689:"240a0163",8723:"0fe54c85",8782:"6fecd26a",8787:"121de108",8795:"23231ec2",8797:"16f63888",8823:"4c9ce1bc",8827:"0e4e75e4",8866:"00318b75",8882:"d913d6fc",8885:"de905169",8982:"1f639e54",8999:"54a0f341",9076:"6a501148",9133:"011c6333",9205:"1e43ebcb",9215:"f737e7e7",9332:"3d30bf20",9360:"a63362ee",9366:"3f6c2582",9391:"473c2453",9404:"d8cf04f7",9408:"d3565b1a",9416:"2687b487",9472:"f77db02f",9487:"a73f5679",9489:"ee2bb5b7",9507:"eb32e279",9590:"a026fd06",9595:"c55bc6c8",9647:"0d1618e4",9649:"5e708a2c",9674:"a937f52e",9677:"b6c3fc03",9695:"719beedf",9715:"ebd3f6c4",9716:"d7a969b5",9785:"f1030db2",9788:"4459d92d",9890:"41bccb3d",9891:"512a9301",9921:"e0db9101",9922:"33690872",9944:"1ba31055"}[i]+".chunk.css"}}(),function(){__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(i){if(typeof window=="object")return window}}()}(),function(){__webpack_require__.hmd=function(i){return i=Object.create(i),i.children||(i.children=[]),Object.defineProperty(i,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+i.id)}}),i}}(),function(){__webpack_require__.o=function(i,d){return Object.prototype.hasOwnProperty.call(i,d)}}(),function(){var i={};__webpack_require__.l=function(d,e,t,r){if(i[d]){i[d].push(e);return}var n,a;if(t!==void 0)for(var s=document.getElementsByTagName("script"),u=0;u0&&arguments[0]!==void 0?arguments[0]:"";return Fr.endsWith("/")?Fr:"".concat(Fr,"/")}var tc=__webpack_require__(38127),Pu=__webpack_require__(38329),au=__webpack_require__(8616),ou=["content"],qi=["content"],ji=/^(http:|https:)?\/\//;function rc(Fr){return ji.test(Fr)||Fr.startsWith("/")&&!Fr.startsWith("/*")||Fr.startsWith("./")||Fr.startsWith("../")}var Bu=function(){return ae.createElement("noscript",{dangerouslySetInnerHTML:{__html:"Enable JavaScript to run this app."}})},iu=function(an){var Zn,Oa=an.loaderData,Gn=an.htmlPageOpts,na=an.manifest,da=(na==null||(Zn=na.assets)===null||Zn===void 0?void 0:Zn["umi.css"])||"";return ae.createElement("script",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:"window.__UMI_LOADER_DATA__ = ".concat(JSON.stringify(Oa||{}),"; window.__UMI_METADATA_LOADER_DATA__ = ").concat(JSON.stringify(Gn||{}),"; window.__UMI_BUILD_ClIENT_CSS__ = '").concat(da,"'")}})};function ls(Fr){var an=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof Fr=="string")return rc(Fr)?(0,ri.Z)({src:Fr},an):{content:Fr};if((0,au.Z)(Fr)==="object")return(0,ri.Z)((0,ri.Z)({},Fr),an);throw new Error("Invalid script type: ".concat((0,au.Z)(Fr)))}function Ai(Fr){return rc(Fr)?{type:"link",href:Fr}:{type:"style",content:Fr}}var al=function(an){var Zn,Oa,Gn,na,da,uo,Vn=an.htmlPageOpts;return ae.createElement(ae.Fragment,null,(Vn==null?void 0:Vn.title)&&ae.createElement("title",null,Vn.title),Vn==null||(Zn=Vn.favicons)===null||Zn===void 0?void 0:Zn.map(function(co,gs){return ae.createElement("link",{key:gs,rel:"shortcut icon",href:co})}),(Vn==null?void 0:Vn.description)&&ae.createElement("meta",{name:"description",content:Vn.description}),(Vn==null||(Oa=Vn.keywords)===null||Oa===void 0?void 0:Oa.length)&&ae.createElement("meta",{name:"keywords",content:Vn.keywords.join(",")}),Vn==null||(Gn=Vn.metas)===null||Gn===void 0?void 0:Gn.map(function(co){return ae.createElement("meta",{key:co.name,name:co.name,content:co.content})}),Vn==null||(na=Vn.links)===null||na===void 0?void 0:na.map(function(co,gs){return ae.createElement("link",(0,Pu.Z)({key:gs},co))}),Vn==null||(da=Vn.styles)===null||da===void 0?void 0:da.map(function(co,gs){var ys=Ai(co),Bs=ys.type,Ns=ys.href,du=ys.content;if(Bs==="link")return ae.createElement("link",{key:gs,rel:"stylesheet",href:Ns});if(Bs==="style")return ae.createElement("style",{key:gs},du)}),Vn==null||(uo=Vn.headScripts)===null||uo===void 0?void 0:uo.map(function(co,gs){var ys=ls(co),Bs=ys.content,Ns=(0,tc.Z)(ys,ou);return ae.createElement("script",(0,Pu.Z)({dangerouslySetInnerHTML:{__html:Bs},key:gs},Ns))}))};function Nu(Fr){var an,Zn=Fr.children,Oa=Fr.loaderData,Gn=Fr.manifest,na=Fr.htmlPageOpts,da=Fr.__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,uo=Fr.mountElementId;if(da!=null&&da.pureHtml)return ae.createElement("html",null,ae.createElement("head",null),ae.createElement("body",null,ae.createElement(Bu,null),ae.createElement("div",{id:uo},Zn),ae.createElement(iu,{manifest:Gn,loaderData:Oa,htmlPageOpts:na})));if(da!=null&&da.pureApp)return ae.createElement(ae.Fragment,null,Zn);var Vn=typeof window=="undefined"?Gn==null?void 0:Gn.assets["umi.css"]:window.__UMI_BUILD_ClIENT_CSS__;return ae.createElement("html",{suppressHydrationWarning:!0,lang:(na==null?void 0:na.lang)||"en"},ae.createElement("head",null,ae.createElement("meta",{charSet:"utf-8"}),ae.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),Vn&&ae.createElement("link",{suppressHydrationWarning:!0,rel:"stylesheet",href:Vn}),ae.createElement(al,{htmlPageOpts:na})),ae.createElement("body",null,ae.createElement(Bu,null),ae.createElement("div",{id:uo},Zn),ae.createElement(iu,{manifest:Gn,loaderData:Oa,htmlPageOpts:na}),na==null||(an=na.scripts)===null||an===void 0?void 0:an.map(function(co,gs){var ys=ls(co),Bs=ys.content,Ns=(0,tc.Z)(ys,qi);return ae.createElement("script",(0,Pu.Z)({dangerouslySetInnerHTML:{__html:Bs},key:gs},Ns))})))}var su=ae.createContext(void 0);function ol(){return ae.useContext(su)}var Su=["redirect"];function Ls(Fr){var an=Fr.routesById,Zn=Fr.parentId,Oa=Fr.routeComponents,Gn=Fr.useStream,na=Gn===void 0?!0:Gn;return Object.keys(an).filter(function(da){return an[da].parentId===Zn}).map(function(da){var uo=il((0,ri.Z)((0,ri.Z)({route:an[da],routeComponent:Oa[da],loadingComponent:Fr.loadingComponent,reactRouter5Compat:Fr.reactRouter5Compat},Fr.reactRouter5Compat&&{hasChildren:Object.keys(an).filter(function(co){return an[co].parentId===da}).length>0}),{},{useStream:na})),Vn=Ls({routesById:an,routeComponents:Oa,parentId:uo.id,loadingComponent:Fr.loadingComponent,reactRouter5Compat:Fr.reactRouter5Compat,useStream:na});return Vn.length>0&&(uo.children=Vn,uo.routes=Vn),uo})}function Cc(Fr){var an=(0,Si.UO)(),Zn=(0,Si.Gn)(Fr.to,an),Oa=(0,Eu.T$)(),Gn=(0,Si.TH)();if(Oa!=null&&Oa.keepQuery){var na=Gn.search+Gn.hash;Zn+=na}var da=(0,ri.Z)((0,ri.Z)({},Fr),{},{to:Zn});return ae.createElement(Si.Fg,(0,Pu.Z)({replace:!0},da))}function il(Fr){var an=Fr.route,Zn=Fr.useStream,Oa=Zn===void 0?!0:Zn,Gn=an.redirect,na=(0,tc.Z)(an,Su),da=Fr.reactRouter5Compat?ac:oc;return(0,ri.Z)({element:Gn?ae.createElement(Cc,{to:Gn}):ae.createElement(su.Provider,{value:{route:Fr.route}},ae.createElement(da,{loader:ae.memo(Fr.routeComponent),loadingComponent:Fr.loadingComponent||nc,hasChildren:Fr.hasChildren,useStream:Oa}))},na)}function nc(){return ae.createElement("div",null)}function ac(Fr){var an=ol(),Zn=an.route,Oa=(0,Eu.Ov)(),Gn=Oa.history,na=Oa.clientRoutes,da=(0,Si.UO)(),uo={params:da,isExact:!0,path:Zn.path,url:Gn.location.pathname},Vn=Fr.loader,co={location:Gn.location,match:uo,history:Gn,params:da,route:Zn,routes:na};return Fr.useStream?ae.createElement(ae.Suspense,{fallback:ae.createElement(Fr.loadingComponent,null)},ae.createElement(Vn,co,Fr.hasChildren&&ae.createElement(Si.j3,null))):ae.createElement(Vn,co,Fr.hasChildren&&ae.createElement(Si.j3,null))}function oc(Fr){var an=Fr.loader;return Fr.useStream?ae.createElement(ae.Suspense,{fallback:ae.createElement(Fr.loadingComponent,null)},ae.createElement(an,null)):ae.createElement(an,null)}var Cu=null;function kl(){return Cu}function ic(Fr){var an=Fr.history,Zn=ae.useState({action:an.action,location:an.location}),Oa=(0,Ki.Z)(Zn,2),Gn=Oa[0],na=Oa[1];return(0,ae.useLayoutEffect)(function(){return an.listen(na)},[an]),(0,ae.useLayoutEffect)(function(){function da(uo){Fr.pluginManager.applyPlugins({key:"onRouteChange",type:"event",args:{routes:Fr.routes,clientRoutes:Fr.clientRoutes,location:uo.location,action:uo.action,basename:Fr.basename,isFirst:!!uo.isFirst}})}return da({location:Gn.location,action:Gn.action,isFirst:!0}),an.listen(da)},[an,Fr.routes,Fr.clientRoutes]),ae.createElement(Si.F0,{navigator:an,location:Gn.location,basename:Fr.basename},Fr.children)}function Qi(){var Fr=(0,Eu.Ov)(),an=Fr.clientRoutes;return(0,Si.V$)(an)}var Zu=["innerProvider","i18nProvider","accessProvider","dataflowProvider","outerProvider","rootContainer"],sc=function(an,Zn){var Oa=an.basename||"/",Gn=Ls({routesById:an.routes,routeComponents:an.routeComponents,loadingComponent:an.loadingComponent,reactRouter5Compat:an.reactRouter5Compat,useStream:an.useStream});an.pluginManager.applyPlugins({key:"patchClientRoutes",type:"event",args:{routes:Gn}});for(var na=ae.createElement(ic,{basename:Oa,pluginManager:an.pluginManager,routes:an.routes,clientRoutes:Gn,history:an.history},Zn),da=0,uo=Zu;danew Promise((Oa,Gn)=>{var na=Vn=>{try{uo(Zn.next(Vn))}catch(co){Gn(co)}},da=Vn=>{try{uo(Zn.throw(Vn))}catch(co){Gn(co)}},uo=Vn=>Vn.done?Oa(Vn.value):Promise.resolve(Vn.value).then(na,da);uo((Zn=Zn.apply(Fr,an)).next())});function y(){return h(this,null,function*(){return{routes:{1:{path:"/",parentId:"@@/global-layout",id:"1"},2:{path:"/paperlibrary",parentId:"1",id:"2"},3:{path:"/paperlibrary",parentId:"2",id:"3"},4:{path:"/paperlibrary/add",parentId:"2",id:"4"},5:{path:"/paperlibrary/add/:id",parentId:"2",id:"5"},6:{path:"/paperlibrary/see/:id",parentId:"2",id:"6"},7:{path:"/paperlibrary/edit_select/:id",parentId:"2",id:"7"},8:{path:"/paperlibrary/exchangequestion",parentId:"2",id:"8"},9:{path:"/paths",parentId:"1",id:"9"},10:{path:"/paths",parentId:"9",id:"10"},11:{path:"/paths/higherVocationalEducation",parentId:"9",id:"11"},12:{path:"/paths/new",parentId:"9",id:"12"},13:{path:"/paths/guidance",exact:!0,parentId:"9",id:"13"},14:{path:"/paths/:pathId",parentId:"9",id:"14"},15:{path:"/paths/:pathId/statistics",parentId:"9",id:"15"},16:{path:"/paths/:pathId/edit",parentId:"9",id:"16"},17:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/add",parentId:"9",id:"17"},18:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/edit",parentId:"9",id:"18"},19:{path:"/classrooms",parentId:"1",id:"19"},20:{path:"/classrooms",parentId:"19",id:"20"},21:{path:"/classrooms/examList",parentId:"19",id:"21"},22:{path:"/classrooms/classicCases",parentId:"19",id:"22"},23:{path:"/classrooms/index",parentId:"19",id:"23"},24:{path:"/classrooms/new",parentId:"19",id:"24"},25:{path:"/classrooms/:coursesId/edit",parentId:"19",id:"25"},26:{path:"/classrooms/news/:subjectid/newgold/:id",parentId:"19",id:"26"},27:{path:"/classrooms/:coursesId/newgolds/settings",parentId:"19",id:"27"},28:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/review_detail/:userId",parentId:"19",id:"28"},29:{path:"/classrooms/:coursesId/common_homework/:categoryId/review_detail/:userId",parentId:"19",id:"29"},30:{path:"/classrooms/:coursesId/program_homework/:categoryId/review_detail/:userId",parentId:"19",id:"30"},31:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/detail",parentId:"19",id:"31"},32:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/detail/testresult",parentId:"19",id:"32"},33:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"33"},34:{path:"/classrooms/:coursesId/common_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"34"},35:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/commitsummary",parentId:"19",id:"35"},36:{path:"/classrooms/:coursesId/group_homework/:categoryId/detail",parentId:"19",id:"36"},37:{path:"/classrooms/:coursesId/common_homework/:categoryId/detail",parentId:"19",id:"37"},38:{path:"/classrooms/:coursesId/common_homework/:categoryId/review/:userId",parentId:"19",id:"38"},39:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/review/:userId",parentId:"19",id:"39"},40:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/post",parentId:"19",id:"40"},41:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"41"},42:{path:"/classrooms/:coursesId/exercise/:categoryId/detail/:userId/review_detail",parentId:"19",id:"42"},43:{path:"/classrooms/:coursesId/exercise/:categoryId/WordInfo/:userid",parentId:"19",id:"43"},44:{path:"/classrooms/:coursesId/exercise/:categoryId/detail",parentId:"19",id:"44"},45:{path:"/classrooms/:coursesId/exercise/:categoryId/preview_select",parentId:"19",id:"45"},46:{path:"/classrooms/:coursesId/exercise/:categoryId/:login/initate_answer",parentId:"19",id:"46"},47:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login",parentId:"19",id:"47"},48:{path:"/classrooms/:coursesId/exercise/:categoryId/wrongAnswer/:login",parentId:"19",id:"48"},49:{path:"/classrooms/:coursesId/exercisenotice/:categoryId/users/:login",parentId:"19",id:"49"},50:{path:"/classrooms/:coursesId/exercise/:categoryId/random/edit",parentId:"19",id:"50"},51:{path:"/classrooms/:coursesId/exercise/:categoryId/random/preview",parentId:"19",id:"51"},52:{path:"/classrooms/:coursesId/exercise/add",parentId:"19",id:"52"},53:{path:"/classrooms/:coursesId/exercise/add/:exerciseId",parentId:"19",id:"53"},54:{path:"/classrooms/:coursesId/exercise/:exerciseId/reviews/group",parentId:"19",id:"54"},55:{path:"/classrooms/:coursesId/exercise/:exerciseId/review/:userId",parentId:"19",id:"55"},56:{path:"/classrooms/:coursesId/exercise/:exerciseId/centralizeReview/:userId",parentId:"19",id:"56"},57:{path:"/classrooms/:coursesId/exercise/:exerciseId/export_blank",parentId:"19",id:"57"},58:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup",parentId:"19",id:"58"},59:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup/edit",parentId:"19",id:"59"},60:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId",parentId:"19",id:"60"},61:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId",parentId:"19",id:"61"},62:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId/code",parentId:"19",id:"62"},63:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId/code",parentId:"19",id:"63"},64:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/detail",parentId:"19",id:"64"},65:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/add",parentId:"19",id:"65"},66:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/edit",parentId:"19",id:"66"},67:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/add",parentId:"19",id:"67"},68:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/edit",parentId:"19",id:"68"},69:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/detail",parentId:"19",id:"69"},70:{path:"/classrooms/:coursesId/common_homework/:categoryId/add",parentId:"19",id:"70"},71:{path:"/classrooms/:coursesId/common_homework/:categoryId/edit",parentId:"19",id:"71"},72:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/post",parentId:"19",id:"72"},73:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"73"},74:{path:"/classrooms/:coursesId/group_homework/:categoryId/add",parentId:"19",id:"74"},75:{path:"/classrooms/:coursesId/group_homework/:categoryId/edit",parentId:"19",id:"75"},76:{path:"/classrooms/:coursesId/poll/:categoryId/add",parentId:"19",id:"76"},77:{path:"/classrooms/:coursesId/poll/:categoryId/edit",parentId:"19",id:"77"},78:{path:"/classrooms/:coursesId/poll/:categoryId/detail",parentId:"19",id:"78"},79:{path:"/classrooms/:coursesId/poll/:categoryId/users/:login",parentId:"19",id:"79"},80:{path:"/classrooms/:coursesId/poll/:categoryId/questionnaireInfo/:login",parentId:"19",id:"80"},81:{path:"/classrooms/:coursesId/board/:categoryId/Add",parentId:"19",id:"81"},82:{path:"/classrooms/:coursesId/board/:categoryId/Edit/:boardId",parentId:"19",id:"82"},83:{path:"/classrooms/:coursesId/board/:categoryId/Detail/:boardId",parentId:"19",id:"83"},84:{path:"/classrooms/:courseId/template/:templateId",parentId:"19",id:"84"},85:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report/:reportId",parentId:"19",id:"85"},86:{path:"/classrooms/guidance",parentId:"19",id:"86"},87:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report-view/:workId",parentId:"19",id:"87"},88:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login/check",parentId:"19",id:"88"},89:{path:"/classrooms/:coursesId/Studentdetail/:login",parentId:"19",id:"89"},90:{path:"/classrooms/:coursesId/StudentSituation/:categoryId/:login",parentId:"19",id:"90"},91:{path:"/classrooms/:coursesId/engineering/datail",parentId:"19",id:"91"},92:{path:"/classrooms/:coursesId/program_homework/:categoryId/add",parentId:"19",id:"92"},93:{path:"/classrooms/:coursesId/program_homework/:categoryId/edit",parentId:"19",id:"93"},94:{path:"/classrooms/:coursesId/program_homework/ranking",parentId:"19",id:"94"},95:{path:"/classrooms/:coursesId/program_homework/:categoryId/detail",parentId:"19",id:"95"},96:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/ranking",parentId:"19",id:"96"},97:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/:user_id/comment",parentId:"19",id:"97"},98:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer",parentId:"19",id:"98"},99:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/add",parentId:"19",id:"99"},100:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/edit",parentId:"19",id:"100"},101:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/detail",parentId:"19",id:"101"},102:{path:"/classrooms/:videoId/video_info",parentId:"19",id:"102"},103:{path:"/classrooms/",parentId:"19",id:"103"},104:{path:"/classrooms/:coursesId/shixun_homework/:categoryId",parentId:"103",id:"104"},105:{path:"/classrooms/:coursesId/shixun_homework",parentId:"103",id:"105"},106:{path:"/classrooms/:coursesId/graduation_topics/:categoryId",parentId:"103",id:"106"},107:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"103",id:"107"},108:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"103",id:"108"},109:{path:"/classrooms/:coursesId/exercise/:categoryId",parentId:"103",id:"109"},110:{path:"/classrooms/:coursesId/exercise",parentId:"103",id:"110"},111:{path:"/classrooms/:coursesId/poll/:categoryId",parentId:"103",id:"111"},112:{path:"/classrooms/:coursesId/poll",parentId:"103",id:"112"},113:{path:"/classrooms/:coursesId/common_homework/:categoryId",parentId:"103",id:"113"},114:{path:"/classrooms/:coursesId/common_homework",parentId:"103",id:"114"},115:{path:"/classrooms/:coursesId/group_homework/:categoryId",parentId:"103",id:"115"},116:{path:"/classrooms/:coursesId/group_homework",parentId:"103",id:"116"},117:{path:"/classrooms/:coursesId/teachers",parentId:"103",id:"117"},118:{path:"/classrooms/:coursesId/students",parentId:"103",id:"118"},119:{path:"/classrooms/:coursesId/assistant",parentId:"103",id:"119"},120:{path:"/classrooms/:coursesId/program_homework",parentId:"103",id:"120"},121:{path:"/classrooms/:coursesId/program_homework/:categoryId",parentId:"103",id:"121"},122:{path:"/classrooms/:coursesId/engineering",parentId:"103",id:"122"},123:{path:"/classrooms/:coursesId/learning_path",parentId:"103",id:"123"},124:{path:"/classrooms/:coursesId/resource_recommend",parentId:"103",id:"124"},125:{path:"/classrooms/:coursesId/attendance",parentId:"103",id:"125"},126:{path:"/classrooms/:coursesId/attendance/StudetnSign",parentId:"103",id:"126"},127:{path:"/classrooms/:coursesId/attendance/:categoryId/:tabId/detail",parentId:"103",id:"127"},128:{path:"/classrooms/:coursesId/announcement",parentId:"103",id:"128"},129:{path:"/classrooms/:coursesId/announcement/:categoryId",parentId:"103",id:"129"},130:{path:"/classrooms/:coursesId/online_learning",parentId:"103",id:"130"},131:{path:"/classrooms/:coursesId/online_learning/:categoryId",parentId:"103",id:"131"},132:{path:"/classrooms/:coursesId/attachment/:categoryId",parentId:"103",id:"132"},133:{path:"/classrooms/:coursesId/attachment",parentId:"103",id:"133"},134:{path:"/classrooms/:coursesId/video",parentId:"103",id:"134"},135:{path:"/classrooms/:coursesId/video/:categoryId",parentId:"103",id:"135"},136:{path:"/classrooms/:coursesId/video/:categoryId/statistics",parentId:"103",id:"136"},137:{path:"/classrooms/:coursesId/video/:username/upload",parentId:"103",id:"137"},138:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId",parentId:"103",id:"138"},139:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId/:userId",parentId:"103",id:"139"},140:{path:"/classrooms/:coursesId/live_video/:categoryId",parentId:"103",id:"140"},141:{path:"/classrooms/:coursesId/live_video",parentId:"103",id:"141"},142:{path:"/classrooms/:coursesId/video/:categoryId/studentstatistics",parentId:"103",id:"142"},143:{path:"/classrooms/:coursesId/board/:categoryId",parentId:"103",id:"143"},144:{path:"/classrooms/:coursesId/board",parentId:"103",id:"144"},145:{path:"/classrooms/:coursesId/course_group",parentId:"103",id:"145"},146:{path:"/classrooms/:coursesId/course_group/:categoryId",parentId:"103",id:"146"},147:{path:"/classrooms/:coursesId/course_group/:categoryId/detail",parentId:"103",id:"147"},148:{path:"/classrooms/:coursesId/not_course_group/:categoryId",parentId:"103",id:"148"},149:{path:"/classrooms/:coursesId/not_course_group",parentId:"103",id:"149"},150:{path:"/classrooms/:coursesId/statistics/",parentId:"103",id:"150"},151:{path:"/classrooms/:coursesId/statistics/:categoryId",parentId:"103",id:"151"},152:{path:"/classrooms/:coursesId/statistics_video/:categoryId",parentId:"103",id:"152"},153:{path:"/classrooms/:coursesId/statistics_quality/:categoryId",parentId:"103",id:"153"},154:{path:"/classrooms/:coursesId/student_statistics/:categoryId",parentId:"103",id:"154"},155:{path:"/classrooms/:coursesId/student_statistics/:categoryId/:listId/:type",parentId:"103",id:"155"},156:{path:"/classrooms/:coursesId/video_statistics/:categoryId/Student/:studentid",parentId:"103",id:"156"},157:{path:"/classrooms/:coursesId/exportlist/:type",parentId:"103",id:"157"},158:{path:"/classrooms/:coursesId",parentId:"103",id:"158"},159:{path:"/classrooms/:coursesId/template",parentId:"103",id:"159"},160:{path:"/classrooms/:coursesId/smart_plan",parentId:"103",id:"160"},161:{path:"/classrooms/:coursesId/smart_plan/:id/detail",parentId:"19",id:"161"},162:{path:"/competitions",parentId:"1",id:"162"},163:{path:"/competitions/index",parentId:"162",id:"163"},164:{path:"/competitions/:identifier/list",parentId:"162",id:"164"},165:{path:"/competitions/exports",parentId:"162",id:"165"},166:{path:"/competitions",parentId:"162",id:"166"},167:{path:"/competitions/:identifier",parentId:"162",id:"167"},168:{path:"/competitions/index/:identifier",parentId:"162",id:"168"},169:{path:"/competitions/:identifier/detail/enroll",parentId:"162",id:"169"},170:{path:"/competitions/:identifier/detail/UpdateTeanname/:Teannameid",parentId:"162",id:"170"},171:{path:"/competitions/:identifier/detail/teamDetail/:Teamid",parentId:"162",id:"171"},172:{path:"/competitions/detail/:identifier",parentId:"162",id:"172"},173:{path:"/forums",parentId:"1",id:"173"},174:{path:"/forums",parentId:"173",id:"174"},175:{path:"/forums/categories/:memoType",parentId:"173",id:"175"},176:{path:"/forums/new",parentId:"173",id:"176"},177:{path:"/forums/:memoId/edit",parentId:"173",id:"177"},178:{path:"/forums/:memoId",parentId:"173",id:"178"},179:{path:"/problemset",parentId:"1",id:"179"},180:{path:"/problemset",parentId:"179",id:"180"},181:{path:"/problemset/newitem",parentId:"179",id:"181"},182:{path:"/problemset/:type/:id",parentId:"179",id:"182"},183:{path:"/problemset/preview",parentId:"179",id:"183"},184:{path:"/problemset/preview_new",parentId:"179",id:"184"},185:{path:"/problemset/preview_select",parentId:"179",id:"185"},186:{path:"/shixuns",parentId:"1",id:"186"},187:{path:"/shixuns",parentId:"186",id:"187"},188:{path:"/shixuns/exports",parentId:"186",id:"188"},189:{path:"/shixuns/new",parentId:"186",id:"189"},190:{path:"/shixuns/new/CreateImg",parentId:"186",id:"190"},191:{path:"/shixuns/new/:id/imagepreview",parentId:"186",id:"191"},192:{path:"/shixuns/:id/Merge",parentId:"186",id:"192"},193:{path:"/shixuns/:id/Split",parentId:"186",id:"193"},194:{path:"/shixuns/:id/edit",parentId:"186",id:"194"},195:{path:"shixuns/:id/edit/warehouse",parentId:"194",id:"195"},196:{path:"/shixuns/:id/edit/newquestion",parentId:"194",id:"196"},197:{path:"/shixuns/:id/edit/:challengesId/editquestion",parentId:"194",id:"197"},198:{path:"/shixuns/:id/edit/:challengesId/editquestion/:questionId",parentId:"194",id:"198"},199:{path:"/shixuns/:id/edit/new",parentId:"194",id:"199"},200:{path:"/shixuns/:id/edit/:challengesId/editcheckpoint",parentId:"194",id:"200"},201:{path:"/shixuns/:id/edit/:challengesId/tab=2",parentId:"194",id:"201"},202:{path:"/shixuns/:id/edit/:challengesId/tab=3",parentId:"194",id:"202"},203:{path:"/shixuns/:id/edit/:challengesId/tab=4",parentId:"194",id:"203"},204:{path:"/shixuns/:id",parentId:"186",id:"204"},205:{path:"/shixuns/:id/poll",parentId:"204",id:"205"},206:{path:"/shixuns/:id/challenges",parentId:"204",id:"206"},207:{path:"/shixuns/:id/repository",parentId:"204",id:"207"},208:{path:"/shixuns/:id/secret_repository",parentId:"204",id:"208"},209:{path:"/shixuns/:id/collaborators",parentId:"204",id:"209"},210:{path:"/shixuns/:id/dataset",parentId:"204",id:"210"},211:{path:"/shixuns/:id/dataset/jupyterEdit",parentId:"204",id:"211"},212:{path:"/shixuns/:id/shixun_discuss",parentId:"204",id:"212"},213:{path:"/shixuns/:id/ranking_list",parentId:"204",id:"213"},214:{path:"/shixuns/:id/settings",parentId:"204",id:"214"},215:{path:"/shixuns/:id/repository/:repoId/commits",parentId:"204",id:"215"},216:{path:"/shixuns/:id/secret_repository/:repoId/commits",parentId:"204",id:"216"},217:{path:"/shixuns/:id/repository/upload_file",parentId:"204",id:"217"},218:{path:"/shixuns/:id/secret_repository/upload_file",parentId:"204",id:"218"},219:{path:"/shixuns/:id/repository/add_file",parentId:"204",id:"219"},220:{path:"/shixuns/:id/secret_repository/add_file",parentId:"204",id:"220"},221:{path:"/shixuns/:id/repository/master/shixun_show/:fileId",exact:!1,parentId:"204",id:"221"},222:{path:"/shixuns/:id/secret_repository/master/shixun_show/:fileId",exact:!1,parentId:"204",id:"222"},223:{path:"/shixuns/:id/audit_situation",parentId:"204",id:"223"},224:{path:"/shixuns/:id/fork_list",parentId:"204",id:"224"},225:{path:"/users",parentId:"1",id:"225"},226:{path:"/users/:username/videos/protocol",parentId:"225",id:"226"},227:{path:"/users/:username/videos/resourceProtocol",parentId:"225",id:"227"},228:{path:"/users/:username/videos/success",parentId:"225",id:"228"},229:{path:"/users/:username/topicbank/:topicstype",parentId:"225",id:"229"},230:{path:"/users/:username/topics/:topicId/:topictype/normal/detail",parentId:"225",id:"230"},231:{path:"/users/:username/topics/:topicId/:topictype/group/detail",parentId:"225",id:"231"},232:{path:"/users/:username/topics/:topicId/:topictype/normal/edit",parentId:"225",id:"232"},233:{path:"/users/:username/topics/:topicId/:topictype/group/edit",parentId:"225",id:"233"},234:{path:"/users/:username/topics/:topicId/:topictype/exercise/edit",parentId:"225",id:"234"},235:{path:"/users/:username/topics/:topicId/:topictype/exercise/detail",parentId:"225",id:"235"},236:{path:"/users/:username/topics/:topicId/:topictype/poll/edit",parentId:"225",id:"236"},237:{path:"/users/:username/topics/:topicId/:topictype/poll/detail",parentId:"225",id:"237"},238:{path:"/users/:username/experiment-img/add",parentId:"225",id:"238"},239:{path:"/users/:username",parentId:"225",id:"239"},240:{path:"/users/:username",parentId:"239",id:"240"},241:{path:"/users/:username/baseInfo/edit",parentId:"239",id:"241"},242:{path:"/users/:username/baseInfo",parentId:"239",id:"242"},243:{path:"/users/:username/realNameCertification",parentId:"239",id:"243"},244:{path:"/users/:username/careerCertification",parentId:"239",id:"244"},245:{path:"/users/:username/classrooms",parentId:"239",id:"245"},246:{path:"/users/:username/shixuns",parentId:"239",id:"246"},247:{path:"/users/:username/dataSet",parentId:"239",id:"247"},248:{path:"/users/:username/userPortrait",parentId:"239",id:"248"},249:{path:"/users/:username/learningPath",parentId:"239",id:"249"},250:{path:"/users/:username/teach-group",parentId:"239",id:"250"},251:{path:"/users/:username/competitions",parentId:"239",id:"251"},252:{path:"/users/:username/experiment-img",parentId:"239",id:"252"},253:{path:"/users/:username/experiment-img/:experid/detail",parentId:"239",id:"253"},254:{path:"/users/:username/certificate",parentId:"239",id:"254"},255:{path:"/users/:username/otherResources",parentId:"239",id:"255"},256:{path:"/users/:username/paths",parentId:"239",id:"256"},257:{path:"/users/:username/projects",parentId:"239",id:"257"},258:{path:"/users/:username/videos",parentId:"239",id:"258"},259:{path:"/users/:username/videos/upload",parentId:"239",id:"259"},260:{path:"/users/:username/topics/:topicstype",parentId:"239",id:"260"},261:{path:"/users/:username/vspaces",parentId:"239",id:"261"},262:{path:"/users/:username/resourcesCenter",parentId:"239",id:"262"},263:{path:"/users/:username/resourcesCenter/:id/detail",parentId:"239",id:"263"},264:{path:"/users/:username/resourceGuarantee",parentId:"239",id:"264"},265:{path:"/users/:username/resourceAllocation",parentId:"239",id:"265"},266:{parentId:"1",id:"266"},267:{path:"/problems",parentId:"266",id:"267"},268:{path:"/problems",parentId:"267",id:"268"},269:{path:"/problems/batchAdd",parentId:"267",id:"269"},270:{path:"/problems/newcreate",parentId:"266",id:"270"},271:{path:"/problems/newedit/:id",exact:!0,parentId:"266",id:"271"},272:{path:"/problems/:id/edit",exact:!0,parentId:"266",id:"272"},273:{path:"/problems/new",exact:!0,parentId:"266",id:"273"},274:{path:"/problems/:id/oj/:save_identifier",parentId:"266",id:"274"},275:{path:"/problems/:id/record-detail/:submitId",parentId:"266",id:"275"},276:{path:"/problems/add",parentId:"266",id:"276"},277:{path:"/problems/:id/ojedit",parentId:"266",id:"277"},278:{path:"/engineering",parentId:"1",id:"278"},279:{path:"/engineering",parentId:"278",id:"279"},280:{path:"/engineering/teacherList",parentId:"279",id:"280"},281:{path:"/engineering/studentList",parentId:"279",id:"281"},282:{path:"/engineering/training/program",parentId:"279",id:"282"},283:{path:"/engineering/training/program/add",parentId:"279",id:"283"},284:{path:"/engineering/training/program/edit",parentId:"279",id:"284"},285:{path:"/engineering/training/objectives",parentId:"279",id:"285"},286:{path:"/engineering/graduated/index",parentId:"279",id:"286"},287:{path:"/engineering/graduated/matrix",parentId:"279",id:"287"},288:{path:"/engineering/course/list",parentId:"279",id:"288"},289:{path:"/engineering/course/setting",parentId:"279",id:"289"},290:{path:"/engineering/course/matrix",parentId:"279",id:"290"},291:{path:"/engineering/navigation",parentId:"279",id:"291"},292:{path:"/engineering/evaluate/course",parentId:"279",id:"292"},293:{path:"/engineering/evaluate/course/:ec_year_id/:id",parentId:"279",id:"293"},294:{path:"/engineering/evaluate/norm",parentId:"279",id:"294"},295:{path:"/engineering/evaluate/document",parentId:"279",id:"295"},296:{path:"/engineering/evaluate/norm/:ec_year_id/:id",parentId:"279",id:"296"},297:{path:"/engineering/*",redirect:"/404",parentId:"279",id:"297"},298:{path:"/innovation",parentId:"1",id:"298"},299:{path:"/innovation/tasks/:taskId",parentId:"298",id:"299"},300:{path:"/innovation",parentId:"298",id:"300"},301:{path:"/innovation/project",parentId:"300",id:"301"},302:{path:"/innovation/dataset",parentId:"300",id:"302"},303:{path:"/innovation/mirror",parentId:"300",id:"303"},304:{path:"/innovation/my-project",parentId:"300",id:"304"},305:{path:"/innovation/my-dataset",parentId:"300",id:"305"},306:{path:"/innovation/my-mirror",parentId:"300",id:"306"},307:{path:"/innovation/project/create",parentId:"300",id:"307"},308:{path:"/innovation/project/edit/:id",parentId:"300",id:"308"},309:{path:"/innovation/project/detail/:taskId",parentId:"300",id:"309"},310:{path:"/tasks",parentId:"1",id:"310"},311:{path:"/tasks/:taskId",exact:!0,parentId:"310",id:"311"},312:{path:"/tasks/:identifier/jupyter/",exact:!0,parentId:"310",id:"312"},313:{path:"/tasks/:courseId/:homeworkId/:taskId",exact:!0,parentId:"310",id:"313"},314:{path:"/tasks/jupyter/:courseId/:homeworkId/:identifier",exact:!0,parentId:"310",id:"314"},315:{path:"/tasks/:courseId/:exerciseId/:taskId/exercise",exact:!0,parentId:"310",id:"315"},316:{path:"/myproblems",parentId:"1",id:"316"},317:{path:"/myproblems/:id/record-detail/:submitId",exact:!0,parentId:"316",id:"317"},318:{path:"/myproblems/:id",exact:!0,parentId:"316",id:"318"},319:{path:"/account",parentId:"1",id:"319"},320:{path:"/account",parentId:"319",id:"320"},321:{path:"/account/profile",parentId:"320",id:"321"},322:{path:"/account/profile/edit",parentId:"320",id:"322"},323:{path:"/account/certification",parentId:"320",id:"323"},324:{path:"/account/secure",parentId:"320",id:"324"},325:{path:"/account/binding",parentId:"320",id:"325"},326:{path:"/account/Results",parentId:"320",id:"326"},327:{path:"/ch",parentId:"1",id:"327"},328:{path:"/ch/rest/edit/:categoryId/:id",exact:!0,parentId:"327",id:"328"},329:{path:"/ch/rest/",exact:!0,parentId:"327",id:"329"},330:{path:"/ch/rest/:id",exact:!0,parentId:"327",id:"330"},331:{path:"/order",parentId:"1",id:"331"},332:{path:"/order",parentId:"331",id:"332"},333:{path:"/order/invoice",parentId:"331",id:"333"},334:{path:"/order/records",parentId:"331",id:"334"},335:{path:"/order/apply",parentId:"331",id:"335"},336:{path:"/order/view",parentId:"331",id:"336"},337:{path:"/order/:courseId/information",parentId:"331",id:"337"},338:{path:"/order/:courseId/pay",parentId:"331",id:"338"},339:{path:"/order/:orderNum/result",parentId:"331",id:"339"},340:{path:"/messages",parentId:"1",id:"340"},341:{path:"/messages/:userId/user_tidings",parentId:"340",id:"341"},342:{path:"/messages/:userId/private_messages",parentId:"340",id:"342"},343:{path:"/messages/:userId/message_detail",parentId:"340",id:"343"},344:{path:"/vtrs",parentId:"1",id:"344"},345:{path:"/vtrs/:virtual_spacesId",parentId:"344",id:"345"},346:{path:"/vtrs/:virtual_spacesId",exact:!0,parentId:"345",id:"346"},347:{path:"/vtrs/:virtual_spacesId/workplace",exact:!0,parentId:"345",id:"347"},348:{path:"/vtrs/:virtual_spacesId/experiment",parentId:"345",id:"348"},349:{path:"/vtrs/:virtual_spacesId/announcement",parentId:"345",id:"349"},350:{path:"/vtrs/:virtual_spacesId/announcement/add",parentId:"345",id:"350"},351:{path:"/vtrs/:virtual_spacesId/announcement/:id/edit",parentId:"345",id:"351"},352:{path:"/vtrs/:virtual_spacesId/announcement/:id/detail",parentId:"345",id:"352"},353:{path:"/vtrs/:virtual_spacesId/survey",parentId:"345",id:"353"},354:{path:"/vtrs/:virtual_spacesId/survey/:id/detail",parentId:"345",id:"354"},355:{path:"/vtrs/:virtual_spacesId/knowledge",parentId:"345",id:"355"},356:{path:"/vtrs/:virtual_spacesId/knowledge/add",parentId:"345",id:"356"},357:{path:"/vtrs/:virtual_spacesId/knowledge/:id/edit",parentId:"345",id:"357"},358:{path:"/vtrs/:virtual_spacesId/material",parentId:"345",id:"358"},359:{path:"/vtrs/:virtual_spacesId/material/:id/detail",parentId:"345",id:"359"},360:{path:"/vtrs/:virtual_spacesId/lesson",parentId:"345",id:"360"},361:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail",parentId:"345",id:"361"},362:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"345",id:"362"},363:{path:"/vtrs/:virtual_spacesId/discussion",parentId:"345",id:"363"},364:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail",parentId:"345",id:"364"},365:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"345",id:"365"},366:{path:"/vtrs/:virtual_spacesId/settings",parentId:"345",id:"366"},367:{path:"/vtrs/:virtual_spacesId/resources",parentId:"345",id:"367"},368:{path:"/vtrs/:virtual_spacesId/resources/:id/detail",parentId:"345",id:"368"},369:{path:"/vtrs/:virtual_spacesId/Plan",parentId:"345",id:"369"},370:{path:"/vtrs/:virtual_spacesId/plan/:id/detail",parentId:"345",id:"370"},371:{path:"/vtrs/:virtual_spacesId/digtal",parentId:"345",id:"371"},372:{path:"/vtrs/:virtual_spacesId/homepage",parentId:"345",id:"372"},373:{path:"/vtrs/:virtual_spacesId/*",parentId:"345",id:"373"},374:{path:"/101",parentId:"1",id:"374"},375:{path:"/101/:virtual_spacesId",parentId:"374",id:"375"},376:{path:"/101/:virtual_spacesId",exact:!0,parentId:"375",id:"376"},377:{path:"/101/:virtual_spacesId/workplace",exact:!0,parentId:"375",id:"377"},378:{path:"/101/:virtual_spacesId/experiment",parentId:"375",id:"378"},379:{path:"/101/:virtual_spacesId/announcement",parentId:"375",id:"379"},380:{path:"/101/:virtual_spacesId/announcement/add",parentId:"375",id:"380"},381:{path:"/101/:virtual_spacesId/announcement/:id/edit",parentId:"375",id:"381"},382:{path:"/101/:virtual_spacesId/announcement/:id/detail",parentId:"375",id:"382"},383:{path:"/101/:virtual_spacesId/survey",parentId:"375",id:"383"},384:{path:"/101/:virtual_spacesId/survey/:id/detail",parentId:"375",id:"384"},385:{path:"/101/:virtual_spacesId/knowledge",parentId:"375",id:"385"},386:{path:"/101/:virtual_spacesId/knowledge/add",parentId:"375",id:"386"},387:{path:"/101/:virtual_spacesId/knowledge/:id/edit",parentId:"375",id:"387"},388:{path:"/101/:virtual_spacesId/material",parentId:"375",id:"388"},389:{path:"/101/:virtual_spacesId/material/:id/detail",parentId:"375",id:"389"},390:{path:"/101/:virtual_spacesId/lesson",parentId:"375",id:"390"},391:{path:"/101/:virtual_spacesId/lesson/:id/detail",parentId:"375",id:"391"},392:{path:"/101/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"375",id:"392"},393:{path:"/101/:virtual_spacesId/discussion",parentId:"375",id:"393"},394:{path:"/101/:virtual_spacesId/discussion/:id/detail",parentId:"375",id:"394"},395:{path:"/101/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"375",id:"395"},396:{path:"/101/:virtual_spacesId/settings",parentId:"375",id:"396"},397:{path:"/101/:virtual_spacesId/resources",parentId:"375",id:"397"},398:{path:"/101/:virtual_spacesId/resources/:id/detail",parentId:"375",id:"398"},399:{path:"/101/:virtual_spacesId/Plan",parentId:"375",id:"399"},400:{path:"/101/:virtual_spacesId/plan/:id/detail",parentId:"375",id:"400"},401:{path:"/101/:virtual_spacesId/digtal",parentId:"375",id:"401"},402:{path:"/101/:virtual_spacesId/homepage",parentId:"375",id:"402"},403:{path:"/101/:virtual_spacesId/*",parentId:"375",id:"403"},404:{path:"/administration",parentId:"1",id:"404"},405:{path:"/administration",parentId:"404",id:"405"},406:{path:"/administration/college",parentId:"405",id:"406"},407:{path:"/administration/student",parentId:"405",id:"407"},408:{path:"/administration/student/:studentId/edit",parentId:"405",id:"408"},409:{path:"/administration/profession",parentId:"405",id:"409"},410:{path:"/graduations",parentId:"1",id:"410"},411:{path:"/graduations",exact:!0,parentId:"410",id:"411"},412:{path:"/graduations/:id/:moduleKey/:moduleId/review/:itemId",exact:!0,parentId:"410",id:"412"},413:{path:"/graduations/:id",parentId:"410",id:"413"},414:{path:"/graduations/:id/index",parentId:"413",id:"414"},415:{path:"/graduations/:id/topics",parentId:"413",id:"415"},416:{path:"/graduations/:id/student_selection",parentId:"413",id:"416"},417:{path:"/graduations/:id/tasks",parentId:"413",id:"417"},418:{path:"/graduations/:id/opening_report",parentId:"413",id:"418"},419:{path:"/graduations/:id/midterm_report",parentId:"413",id:"419"},420:{path:"/graduations/:id/thesis",parentId:"413",id:"420"},421:{path:"/graduations/:id/final_defense",parentId:"413",id:"421"},422:{path:"/graduations/:id/final_thesis",parentId:"413",id:"422"},423:{path:"/graduations/:id/settings",parentId:"413",id:"423"},424:{path:"/graduations/:id/teachers",parentId:"413",id:"424"},425:{path:"/graduations/:id/students",parentId:"413",id:"425"},426:{path:"/graduations/:id/archives",parentId:"413",id:"426"},427:{path:"/graduations/:id/grading_summary",parentId:"413",id:"427"},428:{path:"/dataset",parentId:"1",id:"428"},429:{path:"/dataset",exact:!0,parentId:"428",id:"429"},430:{path:"/dataset/:id/detail",exact:!0,parentId:"428",id:"430"},431:{path:"/knowledgegraph",parentId:"1",id:"431"},432:{path:"/knowledgegraph/:pathId",parentId:"431",id:"432"},433:{path:"/knowledgegraph/:pathId/abilityMap/edit/:abilityMapId",parentId:"431",id:"433"},434:{path:"/knowledgegraph/:pathId/abilityMap/detail/:abilityId",parentId:"431",id:"434"},435:{path:"/knowledgegraph/:pathId/statistics",parentId:"431",id:"435"},436:{parentId:"431",id:"436"},437:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId",parentId:"436",id:"437"},438:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId/detail/:detailId",parentId:"436",id:"438"},439:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId",parentId:"436",id:"439"},440:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId/detail",parentId:"436",id:"440"},441:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId",parentId:"436",id:"441"},442:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId/detail/:detailId",parentId:"436",id:"442"},443:{path:"/miniprogram",parentId:"1",id:"443"},444:{path:"/miniprogram/courseware/study",exact:!0,parentId:"443",id:"444"},445:{path:"/educoder-demo",exact:!0,parentId:"1",id:"445"},446:{path:"/classrooms/:coursesId/smart_plan/:id/ppt_info/info",exact:!0,parentId:"1",id:"446"},447:{path:"/classrooms/:coursesId/smart_plan/:id/users/:user_login/ppt_info/info",exact:!0,parentId:"1",id:"447"},448:{path:"/training",parentId:"1",id:"448"},449:{name:"\u7CBE\u57F9\u8BFE\u7A0B",path:"/training",parentId:"448",id:"449"},450:{path:"/largeScreen",exact:!0,parentId:"1",id:"450"},451:{path:"/effectivenessAnalysis/:coursesId",exact:!0,parentId:"1",id:"451"},452:{path:"/quality",parentId:"1",id:"452"},453:{name:"\u7CBE\u54C1\u8BFE\u7A0B",path:"/quality",parentId:"452",id:"453"},454:{path:"/otherlogin",exact:!0,parentId:"1",id:"454"},455:{path:"/otherloginqq",exact:!0,parentId:"1",id:"455"},456:{path:"/otherloginstart",exact:!0,parentId:"1",id:"456"},457:{path:"/pathsoverview",exact:!0,parentId:"1",id:"457"},458:{path:"/shixunsoverview",exact:!0,parentId:"1",id:"458"},459:{path:"/classroomsoverview",exact:!0,parentId:"1",id:"459"},460:{path:"/login",parentId:"1",id:"460"},461:{path:"/login",parentId:"460",id:"461"},462:{path:"/user",parentId:"1",id:"462"},463:{path:"/user/login",parentId:"462",id:"463"},464:{path:"/user/register",parentId:"462",id:"464"},465:{path:"/user/reset-password",parentId:"462",id:"465"},466:{path:"/colleges",parentId:"1",id:"466"},467:{path:"/colleges/:id/statistics",parentId:"466",id:"467"},468:{path:"/help",parentId:"1",id:"468"},469:{path:"/help/:id",parentId:"468",id:"469"},470:{path:"/video",parentId:"1",id:"470"},471:{path:"/video/:videoId",parentId:"470",id:"471"},472:{path:"/terminal",parentId:"1",id:"472"},473:{path:"/report/:taskId/:game_report_id",parentId:"1",id:"473"},474:{path:"/wrongAnswer",parentId:"1",id:"474"},475:{path:"/bwdemo",parentId:"1",id:"475"},476:{path:"/",parentId:"1",id:"476"},477:{path:"/",exact:!0,parentId:"476",id:"477"},478:{path:"/api/*",exact:!0,parentId:"476",id:"478"},479:{path:"/search",exact:!0,parentId:"476",id:"479"},480:{path:"/moop_cases",exact:!0,parentId:"476",id:"480"},481:{path:"/moop_cases/new",exact:!0,parentId:"476",id:"481"},482:{path:"/moop_cases/:caseId",exact:!0,parentId:"476",id:"482"},483:{path:"/moop_cases/:caseId/edit",exact:!0,parentId:"476",id:"483"},484:{path:"/moop_cases/:caseId/publish-success",exact:!0,parentId:"476",id:"484"},485:{path:"/randompaper",exact:!0,parentId:"476",id:"485"},486:{path:"/randompaper/edit/:id",exact:!0,parentId:"476",id:"486"},487:{path:"/randompaper/detail/:id",exact:!0,parentId:"476",id:"487"},488:{path:"/403",parentId:"476",id:"488"},489:{path:"/500",parentId:"476",id:"489"},490:{path:"/404",parentId:"476",id:"490"},491:{path:"/download",parentId:"476",id:"491"},492:{path:"/iwce",parentId:"476",id:"492"},493:{path:"/classrooms/:coursesId/attendance/TeacherSign",parentId:"476",id:"493"},494:{path:"/classrooms/:coursesId/attendance/:categoryId",parentId:"476",id:"494"},495:{path:"/Activities",parentId:"476",id:"495"},496:{path:"/iwce/:itemname",parentId:"476",id:"496"},497:{path:"/hpc-course",parentId:"476",id:"497"},498:{path:"/user_agents",parentId:"476",id:"498"},499:{path:"/three",parentId:"476",id:"499"},500:{path:"/introduction",parentId:"476",id:"500"},501:{path:"/chatgpt",parentId:"476",id:"501"},502:{path:"/*",parentId:"476",id:"502"},"@@/global-layout":{id:"@@/global-layout",path:"/",isLayout:!0}},routeComponents:{1:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),2:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),3:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4862)]).then(__webpack_require__.bind(__webpack_require__,76563))),4:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(3260)]).then(__webpack_require__.bind(__webpack_require__,8391))),5:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(3260)]).then(__webpack_require__.bind(__webpack_require__,8391))),6:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3247)]).then(__webpack_require__.bind(__webpack_require__,64226))),7:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),8:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(1545)]).then(__webpack_require__.bind(__webpack_require__,91046))),9:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),10:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6052)]).then(__webpack_require__.bind(__webpack_require__,59763))),11:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5572)]).then(__webpack_require__.bind(__webpack_require__,27851))),12:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8982)]).then(__webpack_require__.bind(__webpack_require__,86364))),13:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(869)]).then(__webpack_require__.bind(__webpack_require__,58966))),14:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(8880),__webpack_require__.e(3332)]).then(__webpack_require__.bind(__webpack_require__,60538))),15:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4601)]).then(__webpack_require__.bind(__webpack_require__,22834))),16:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8982)]).then(__webpack_require__.bind(__webpack_require__,86364))),17:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),18:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),19:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),20:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6685)]).then(__webpack_require__.bind(__webpack_require__,46275))),21:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9921)]).then(__webpack_require__.bind(__webpack_require__,20973))),22:ae.lazy(()=>__webpack_require__.e(1674).then(__webpack_require__.bind(__webpack_require__,31793))),23:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6685)]).then(__webpack_require__.bind(__webpack_require__,46275))),24:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1702)]).then(__webpack_require__.bind(__webpack_require__,37273))),25:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1702)]).then(__webpack_require__.bind(__webpack_require__,37273))),26:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6882)]).then(__webpack_require__.bind(__webpack_require__,45029))),27:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6882)]).then(__webpack_require__.bind(__webpack_require__,45029))),28:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(109)]).then(__webpack_require__.bind(__webpack_require__,46922))),29:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(737)]).then(__webpack_require__.bind(__webpack_require__,94044))),30:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3391)]).then(__webpack_require__.bind(__webpack_require__,67311))),31:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6930),__webpack_require__.e(3581)]).then(__webpack_require__.bind(__webpack_require__,55314))),32:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5927)]).then(__webpack_require__.bind(__webpack_require__,59832))),33:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(342)]).then(__webpack_require__.bind(__webpack_require__,96954))),34:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(925),__webpack_require__.e(2303)]).then(__webpack_require__.bind(__webpack_require__,63437))),35:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1450)]).then(__webpack_require__.bind(__webpack_require__,60922))),36:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(195)]).then(__webpack_require__.bind(__webpack_require__,70731))),37:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(3668)]).then(__webpack_require__.bind(__webpack_require__,72069))),38:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(925),__webpack_require__.e(2338)]).then(__webpack_require__.bind(__webpack_require__,61995))),39:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4662)]).then(__webpack_require__.bind(__webpack_require__,75400))),40:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8072)]).then(__webpack_require__.bind(__webpack_require__,52934))),41:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(479)]).then(__webpack_require__.bind(__webpack_require__,34353))),42:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5297)]).then(__webpack_require__.bind(__webpack_require__,30748))),43:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8795)]).then(__webpack_require__.bind(__webpack_require__,57120))),44:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(4164)]).then(__webpack_require__.bind(__webpack_require__,28113))),45:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),46:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4889)]).then(__webpack_require__.bind(__webpack_require__,60839))),47:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4105)]).then(__webpack_require__.bind(__webpack_require__,77638))),48:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(7883)]).then(__webpack_require__.bind(__webpack_require__,31750))),49:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7482)]).then(__webpack_require__.bind(__webpack_require__,53147))),50:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5816)]).then(__webpack_require__.bind(__webpack_require__,12624))),51:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(337)]).then(__webpack_require__.bind(__webpack_require__,23129))),52:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,84511))),53:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,84511))),54:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5992)]).then(__webpack_require__.bind(__webpack_require__,10147))),55:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8085)]).then(__webpack_require__.bind(__webpack_require__,98327))),56:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8085)]).then(__webpack_require__.bind(__webpack_require__,98327))),57:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8431)]).then(__webpack_require__.bind(__webpack_require__,83922))),58:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5902)]).then(__webpack_require__.bind(__webpack_require__,82856))),59:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(3433)]).then(__webpack_require__.bind(__webpack_require__,31533))),60:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5125)]).then(__webpack_require__.bind(__webpack_require__,3276))),61:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5125)]).then(__webpack_require__.bind(__webpack_require__,3276))),62:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(921)]).then(__webpack_require__.bind(__webpack_require__,77329))),63:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(921)]).then(__webpack_require__.bind(__webpack_require__,77329))),64:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1578)]).then(__webpack_require__.bind(__webpack_require__,75288))),65:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3317)]).then(__webpack_require__.bind(__webpack_require__,83485))),66:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1482)]).then(__webpack_require__.bind(__webpack_require__,97780))),67:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4795)]).then(__webpack_require__.bind(__webpack_require__,28915))),68:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(26)]).then(__webpack_require__.bind(__webpack_require__,57643))),69:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8882)]).then(__webpack_require__.bind(__webpack_require__,8321))),70:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5888)]).then(__webpack_require__.bind(__webpack_require__,77498))),71:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9715)]).then(__webpack_require__.bind(__webpack_require__,56010))),72:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7045)]).then(__webpack_require__.bind(__webpack_require__,7769))),73:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1211)]).then(__webpack_require__.bind(__webpack_require__,36618))),74:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1582)]).then(__webpack_require__.bind(__webpack_require__,1910))),75:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6729)]).then(__webpack_require__.bind(__webpack_require__,34104))),76:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9695)]).then(__webpack_require__.bind(__webpack_require__,3487))),77:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8723)]).then(__webpack_require__.bind(__webpack_require__,17042))),78:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7622)]).then(__webpack_require__.bind(__webpack_require__,72583))),79:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5148)]).then(__webpack_require__.bind(__webpack_require__,61193))),80:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(643)]).then(__webpack_require__.bind(__webpack_require__,13750))),81:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3442)]).then(__webpack_require__.bind(__webpack_require__,96046))),82:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2102)]).then(__webpack_require__.bind(__webpack_require__,22996))),83:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2425)]).then(__webpack_require__.bind(__webpack_require__,41305))),84:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2404)]).then(__webpack_require__.bind(__webpack_require__,78554))),85:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9785)]).then(__webpack_require__.bind(__webpack_require__,74124))),86:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(869)]).then(__webpack_require__.bind(__webpack_require__,58966))),87:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2819)]).then(__webpack_require__.bind(__webpack_require__,55998))),88:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1512)]).then(__webpack_require__.bind(__webpack_require__,31905))),89:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7395)]).then(__webpack_require__.bind(__webpack_require__,21229))),90:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3585)]).then(__webpack_require__.bind(__webpack_require__,98731))),91:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6963)]).then(__webpack_require__.bind(__webpack_require__,37244))),92:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4030)]).then(__webpack_require__.bind(__webpack_require__,35171))),93:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4030)]).then(__webpack_require__.bind(__webpack_require__,35171))),94:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6127)]).then(__webpack_require__.bind(__webpack_require__,42383))),95:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6930),__webpack_require__.e(3951)]).then(__webpack_require__.bind(__webpack_require__,7967))),96:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1048)]).then(__webpack_require__.bind(__webpack_require__,97838))),97:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(2884)]).then(__webpack_require__.bind(__webpack_require__,22186))),98:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4770)]).then(__webpack_require__.bind(__webpack_require__,57454))),99:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2603)]).then(__webpack_require__.bind(__webpack_require__,60846))),100:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4216)]).then(__webpack_require__.bind(__webpack_require__,45062))),101:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5319)]).then(__webpack_require__.bind(__webpack_require__,93341))),102:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(895)]).then(__webpack_require__.bind(__webpack_require__,25921))),103:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3282)]).then(__webpack_require__.bind(__webpack_require__,2414))),104:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(7852)]).then(__webpack_require__.bind(__webpack_require__,20383))),105:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(7852)]).then(__webpack_require__.bind(__webpack_require__,20383))),106:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5048)]).then(__webpack_require__.bind(__webpack_require__,77437))),107:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1043)]).then(__webpack_require__.bind(__webpack_require__,15828))),108:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1043)]).then(__webpack_require__.bind(__webpack_require__,15828))),109:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5825)]).then(__webpack_require__.bind(__webpack_require__,57720))),110:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5825)]).then(__webpack_require__.bind(__webpack_require__,57720))),111:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3355)]).then(__webpack_require__.bind(__webpack_require__,3403))),112:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3355)]).then(__webpack_require__.bind(__webpack_require__,3403))),113:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(9890)]).then(__webpack_require__.bind(__webpack_require__,24703))),114:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(9890)]).then(__webpack_require__.bind(__webpack_require__,24703))),115:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(3935)]).then(__webpack_require__.bind(__webpack_require__,14902))),116:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(3935)]).then(__webpack_require__.bind(__webpack_require__,14902))),117:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8014)]).then(__webpack_require__.bind(__webpack_require__,6218))),118:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8077)]).then(__webpack_require__.bind(__webpack_require__,83443))),119:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3356)]).then(__webpack_require__.bind(__webpack_require__,5010))),120:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(6788)]).then(__webpack_require__.bind(__webpack_require__,11008))),121:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(6788)]).then(__webpack_require__.bind(__webpack_require__,11008))),122:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1962)]).then(__webpack_require__.bind(__webpack_require__,21413))),123:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4928)]).then(__webpack_require__.bind(__webpack_require__,11133))),124:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1257)]).then(__webpack_require__.bind(__webpack_require__,25251))),125:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8435)]).then(__webpack_require__.bind(__webpack_require__,22084))),126:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8340)]).then(__webpack_require__.bind(__webpack_require__,25083))),127:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4093)]).then(__webpack_require__.bind(__webpack_require__,29860))),128:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1265)]).then(__webpack_require__.bind(__webpack_require__,61434))),129:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1265)]).then(__webpack_require__.bind(__webpack_require__,61434))),130:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8880),__webpack_require__.e(8827)]).then(__webpack_require__.bind(__webpack_require__,51291))),131:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8880),__webpack_require__.e(8827)]).then(__webpack_require__.bind(__webpack_require__,51291))),132:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6758)]).then(__webpack_require__.bind(__webpack_require__,27776))),133:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6758)]).then(__webpack_require__.bind(__webpack_require__,27776))),134:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9332)]).then(__webpack_require__.bind(__webpack_require__,66640))),135:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9332)]).then(__webpack_require__.bind(__webpack_require__,66640))),136:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4217)]).then(__webpack_require__.bind(__webpack_require__,96573))),137:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3220)]).then(__webpack_require__.bind(__webpack_require__,73342))),138:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(533)]).then(__webpack_require__.bind(__webpack_require__,1697))),139:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5798)]).then(__webpack_require__.bind(__webpack_require__,70302))),140:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7878)]).then(__webpack_require__.bind(__webpack_require__,27599))),141:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7878)]).then(__webpack_require__.bind(__webpack_require__,27599))),142:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9944)]).then(__webpack_require__.bind(__webpack_require__,76161))),143:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8302)]).then(__webpack_require__.bind(__webpack_require__,91542))),144:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8302)]).then(__webpack_require__.bind(__webpack_require__,91542))),145:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8634)]).then(__webpack_require__.bind(__webpack_require__,69808))),146:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8634)]).then(__webpack_require__.bind(__webpack_require__,69808))),147:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7922)]).then(__webpack_require__.bind(__webpack_require__,8176))),148:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1727)]).then(__webpack_require__.bind(__webpack_require__,21095))),149:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1727)]).then(__webpack_require__.bind(__webpack_require__,21095))),150:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(1427)]).then(__webpack_require__.bind(__webpack_require__,63679))),151:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(1427)]).then(__webpack_require__.bind(__webpack_require__,63679))),152:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8689)]).then(__webpack_require__.bind(__webpack_require__,99046))),153:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7806)]).then(__webpack_require__.bind(__webpack_require__,82503))),154:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8885)]).then(__webpack_require__.bind(__webpack_require__,50715))),155:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3451)]).then(__webpack_require__.bind(__webpack_require__,90317))),156:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9922)]).then(__webpack_require__.bind(__webpack_require__,1377))),157:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4572)]).then(__webpack_require__.bind(__webpack_require__,65515))),158:ae.lazy(()=>__webpack_require__.e(4017).then(__webpack_require__.bind(__webpack_require__,99342))),159:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5518)]).then(__webpack_require__.bind(__webpack_require__,26032))),160:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5741)]).then(__webpack_require__.bind(__webpack_require__,82047))),161:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(745)]).then(__webpack_require__.bind(__webpack_require__,5787))),162:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),163:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6883)]).then(__webpack_require__.bind(__webpack_require__,80961))),164:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6883)]).then(__webpack_require__.bind(__webpack_require__,80961))),165:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4449)]).then(__webpack_require__.bind(__webpack_require__,43008))),166:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6883)]).then(__webpack_require__.bind(__webpack_require__,80961))),167:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(2570)]).then(__webpack_require__.bind(__webpack_require__,58645))),168:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(2570)]).then(__webpack_require__.bind(__webpack_require__,58645))),169:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8787)]).then(__webpack_require__.bind(__webpack_require__,719))),170:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5650)]).then(__webpack_require__.bind(__webpack_require__,14796))),171:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1799)]).then(__webpack_require__.bind(__webpack_require__,5629))),172:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(8797)]).then(__webpack_require__.bind(__webpack_require__,29526))),173:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),174:ae.lazy(()=>__webpack_require__.e(8639).then(__webpack_require__.bind(__webpack_require__,37226))),175:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2983)]).then(__webpack_require__.bind(__webpack_require__,24564))),176:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4264)]).then(__webpack_require__.bind(__webpack_require__,96560))),177:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4264)]).then(__webpack_require__.bind(__webpack_require__,96560))),178:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(508)]).then(__webpack_require__.bind(__webpack_require__,35918))),179:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),180:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),181:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1953)]).then(__webpack_require__.bind(__webpack_require__,85953))),182:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1953)]).then(__webpack_require__.bind(__webpack_require__,85953))),183:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1581)]).then(__webpack_require__.bind(__webpack_require__,6413))),184:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4144)]).then(__webpack_require__.bind(__webpack_require__,37852))),185:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),186:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),187:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8782)]).then(__webpack_require__.bind(__webpack_require__,20186))),188:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7884)]).then(__webpack_require__.bind(__webpack_require__,15352))),189:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7008)]).then(__webpack_require__.bind(__webpack_require__,98622))),190:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5549)]).then(__webpack_require__.bind(__webpack_require__,84246))),191:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9674)]).then(__webpack_require__.bind(__webpack_require__,28092))),192:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5573)]).then(__webpack_require__.bind(__webpack_require__,40580))),193:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2141)]).then(__webpack_require__.bind(__webpack_require__,2751))),194:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(95),__webpack_require__.e(6277)]).then(__webpack_require__.bind(__webpack_require__,69638))),195:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6328)]).then(__webpack_require__.bind(__webpack_require__,21052))),196:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7857)]).then(__webpack_require__.bind(__webpack_require__,46897))),197:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(1657)]).then(__webpack_require__.bind(__webpack_require__,29040))),198:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(1657)]).then(__webpack_require__.bind(__webpack_require__,29040))),199:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(4498)]).then(__webpack_require__.bind(__webpack_require__,2134))),200:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(4498)]).then(__webpack_require__.bind(__webpack_require__,2134))),201:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9205)]).then(__webpack_require__.bind(__webpack_require__,56405))),202:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1423)]).then(__webpack_require__.bind(__webpack_require__,92185))),203:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7614)]).then(__webpack_require__.bind(__webpack_require__,63798))),204:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2875)]).then(__webpack_require__.bind(__webpack_require__,182))),205:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(9472)]).then(__webpack_require__.bind(__webpack_require__,8130))),206:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(9133)]).then(__webpack_require__.bind(__webpack_require__,70624))),207:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),208:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),209:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5470)]).then(__webpack_require__.bind(__webpack_require__,18509))),210:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6541)]).then(__webpack_require__.bind(__webpack_require__,52021))),211:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1475)]).then(__webpack_require__.bind(__webpack_require__,58100))),212:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(2254)]).then(__webpack_require__.bind(__webpack_require__,71666))),213:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(9408)]).then(__webpack_require__.bind(__webpack_require__,28744))),214:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(95),__webpack_require__.e(6845)]).then(__webpack_require__.bind(__webpack_require__,72281))),215:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4884)]).then(__webpack_require__.bind(__webpack_require__,96146))),216:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4884)]).then(__webpack_require__.bind(__webpack_require__,96146))),217:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1148)]).then(__webpack_require__.bind(__webpack_require__,6850))),218:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1148)]).then(__webpack_require__.bind(__webpack_require__,6850))),219:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7046)]).then(__webpack_require__.bind(__webpack_require__,83283))),220:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7046)]).then(__webpack_require__.bind(__webpack_require__,83283))),221:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),222:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),223:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5096)]).then(__webpack_require__.bind(__webpack_require__,68639))),224:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9215)]).then(__webpack_require__.bind(__webpack_require__,5134))),225:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),226:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5176)]).then(__webpack_require__.bind(__webpack_require__,59622))),227:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6587)]).then(__webpack_require__.bind(__webpack_require__,65866))),228:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9891)]).then(__webpack_require__.bind(__webpack_require__,86974))),229:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8062)]).then(__webpack_require__.bind(__webpack_require__,49690))),230:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5402)]).then(__webpack_require__.bind(__webpack_require__,50650))),231:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5402)]).then(__webpack_require__.bind(__webpack_require__,50650))),232:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6820)]).then(__webpack_require__.bind(__webpack_require__,8191))),233:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8517)]).then(__webpack_require__.bind(__webpack_require__,31721))),234:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7043)]).then(__webpack_require__.bind(__webpack_require__,80751))),235:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2806)]).then(__webpack_require__.bind(__webpack_require__,53605))),236:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5043)]).then(__webpack_require__.bind(__webpack_require__,8712))),237:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(799)]).then(__webpack_require__.bind(__webpack_require__,26021))),238:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3157)]).then(__webpack_require__.bind(__webpack_require__,75992))),239:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2529)]).then(__webpack_require__.bind(__webpack_require__,43116))),240:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6583)]).then(__webpack_require__.bind(__webpack_require__,26501))),241:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5895)]).then(__webpack_require__.bind(__webpack_require__,22802))),242:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6982)]).then(__webpack_require__.bind(__webpack_require__,49451))),243:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6805)]).then(__webpack_require__.bind(__webpack_require__,97118))),244:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1416)]).then(__webpack_require__.bind(__webpack_require__,84215))),245:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6583)]).then(__webpack_require__.bind(__webpack_require__,26501))),246:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8307)]).then(__webpack_require__.bind(__webpack_require__,51705))),247:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2826)]).then(__webpack_require__.bind(__webpack_require__,59634))),248:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(2659)]).then(__webpack_require__.bind(__webpack_require__,31324))),249:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4610)]).then(__webpack_require__.bind(__webpack_require__,88755))),250:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9590)]).then(__webpack_require__.bind(__webpack_require__,81187))),251:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2076)]).then(__webpack_require__.bind(__webpack_require__,62484))),252:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4849)]).then(__webpack_require__.bind(__webpack_require__,20267))),253:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(310)]).then(__webpack_require__.bind(__webpack_require__,18460))),254:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5191)]).then(__webpack_require__.bind(__webpack_require__,43173))),255:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3496)]).then(__webpack_require__.bind(__webpack_require__,68861))),256:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5599)]).then(__webpack_require__.bind(__webpack_require__,56543))),257:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4736)]).then(__webpack_require__.bind(__webpack_require__,7942))),258:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2412)]).then(__webpack_require__.bind(__webpack_require__,89993))),259:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2240)]).then(__webpack_require__.bind(__webpack_require__,73879))),260:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(265)]).then(__webpack_require__.bind(__webpack_require__,21530))),261:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9360)]).then(__webpack_require__.bind(__webpack_require__,88038))),262:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2396)]).then(__webpack_require__.bind(__webpack_require__,35670))),263:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7855)]).then(__webpack_require__.bind(__webpack_require__,99624))),264:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9507)]).then(__webpack_require__.bind(__webpack_require__,69157))),265:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1343)]).then(__webpack_require__.bind(__webpack_require__,11234))),266:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),267:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),268:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9647)]).then(__webpack_require__.bind(__webpack_require__,3447))),269:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(485)]).then(__webpack_require__.bind(__webpack_require__,96555))),270:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4741)]).then(__webpack_require__.bind(__webpack_require__,39378))),271:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4741)]).then(__webpack_require__.bind(__webpack_require__,39378))),272:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4994)]).then(__webpack_require__.bind(__webpack_require__,833))),273:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4994)]).then(__webpack_require__.bind(__webpack_require__,833))),274:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7460)]).then(__webpack_require__.bind(__webpack_require__,30197))),275:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9716)]).then(__webpack_require__.bind(__webpack_require__,84958))),276:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6913)]).then(__webpack_require__.bind(__webpack_require__,81171))),277:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6913)]).then(__webpack_require__.bind(__webpack_require__,81171))),278:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),279:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3006)]).then(__webpack_require__.bind(__webpack_require__,62861))),280:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2045)]).then(__webpack_require__.bind(__webpack_require__,10497))),281:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1520)]).then(__webpack_require__.bind(__webpack_require__,2131))),282:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9649)]).then(__webpack_require__.bind(__webpack_require__,62256))),283:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4546)]).then(__webpack_require__.bind(__webpack_require__,872))),284:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5357)]).then(__webpack_require__.bind(__webpack_require__,64361))),285:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8665)]).then(__webpack_require__.bind(__webpack_require__,85761))),286:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3183)]).then(__webpack_require__.bind(__webpack_require__,93875))),287:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4800)]).then(__webpack_require__.bind(__webpack_require__,21202))),288:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9489)]).then(__webpack_require__.bind(__webpack_require__,91460))),289:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9391)]).then(__webpack_require__.bind(__webpack_require__,17689))),290:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5335)]).then(__webpack_require__.bind(__webpack_require__,37222))),291:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2823)]).then(__webpack_require__.bind(__webpack_require__,14455))),292:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4973)]).then(__webpack_require__.bind(__webpack_require__,41313))),293:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6651)]).then(__webpack_require__.bind(__webpack_require__,46859))),294:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6741)]).then(__webpack_require__.bind(__webpack_require__,5942))),295:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5775)]).then(__webpack_require__.bind(__webpack_require__,15920))),296:ae.lazy(()=>__webpack_require__.e(2548).then(__webpack_require__.bind(__webpack_require__,76515))),297:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),298:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),299:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6634)]).then(__webpack_require__.bind(__webpack_require__,97800))),300:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(680)]).then(__webpack_require__.bind(__webpack_require__,89705))),301:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6366)]).then(__webpack_require__.bind(__webpack_require__,47363))),302:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6452)]).then(__webpack_require__.bind(__webpack_require__,16302))),303:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1070)]).then(__webpack_require__.bind(__webpack_require__,90894))),304:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7242)]).then(__webpack_require__.bind(__webpack_require__,57211))),305:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2707)]).then(__webpack_require__.bind(__webpack_require__,14828))),306:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2865)]).then(__webpack_require__.bind(__webpack_require__,99436))),307:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6784)]).then(__webpack_require__.bind(__webpack_require__,19552))),308:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6784)]).then(__webpack_require__.bind(__webpack_require__,19552))),309:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3141)]).then(__webpack_require__.bind(__webpack_require__,562))),310:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),311:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(3665)]).then(__webpack_require__.bind(__webpack_require__,40180))),312:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(700)]).then(__webpack_require__.bind(__webpack_require__,40678))),313:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(3665)]).then(__webpack_require__.bind(__webpack_require__,40180))),314:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(700)]).then(__webpack_require__.bind(__webpack_require__,40678))),315:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(3665)]).then(__webpack_require__.bind(__webpack_require__,40180))),316:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),317:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(7527)]).then(__webpack_require__.bind(__webpack_require__,72222))),318:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(6270)]).then(__webpack_require__.bind(__webpack_require__,8243))),319:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),320:ae.lazy(()=>__webpack_require__.e(547).then(__webpack_require__.bind(__webpack_require__,21119))),321:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9788)]).then(__webpack_require__.bind(__webpack_require__,64348))),322:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(576)]).then(__webpack_require__.bind(__webpack_require__,21496))),323:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7260)]).then(__webpack_require__.bind(__webpack_require__,95335))),324:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4520)]).then(__webpack_require__.bind(__webpack_require__,45423))),325:ae.lazy(()=>__webpack_require__.e(9076).then(__webpack_require__.bind(__webpack_require__,37196))),326:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4514)]).then(__webpack_require__.bind(__webpack_require__,36178))),327:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),328:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(928)]).then(__webpack_require__.bind(__webpack_require__,10729))),329:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1006)]).then(__webpack_require__.bind(__webpack_require__,54204))),330:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1006)]).then(__webpack_require__.bind(__webpack_require__,54204))),331:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),332:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1939)]).then(__webpack_require__.bind(__webpack_require__,23395))),333:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(556)]).then(__webpack_require__.bind(__webpack_require__,68703))),334:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6434)]).then(__webpack_require__.bind(__webpack_require__,3819))),335:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1880)]).then(__webpack_require__.bind(__webpack_require__,39983))),336:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8237)]).then(__webpack_require__.bind(__webpack_require__,79046))),337:ae.lazy(()=>__webpack_require__.e(3447).then(__webpack_require__.bind(__webpack_require__,47873))),338:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(264)]).then(__webpack_require__.bind(__webpack_require__,42176))),339:ae.lazy(()=>__webpack_require__.e(4259).then(__webpack_require__.bind(__webpack_require__,10067))),340:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),341:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4078)]).then(__webpack_require__.bind(__webpack_require__,44308))),342:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2829)]).then(__webpack_require__.bind(__webpack_require__,82821))),343:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5359)]).then(__webpack_require__.bind(__webpack_require__,5211))),344:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),345:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(559)]).then(__webpack_require__.bind(__webpack_require__,54587))),346:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),347:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4757)]).then(__webpack_require__.bind(__webpack_require__,89955))),348:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1783)]).then(__webpack_require__.bind(__webpack_require__,61471))),349:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7477)]).then(__webpack_require__.bind(__webpack_require__,3279))),350:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),351:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),352:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6796)]).then(__webpack_require__.bind(__webpack_require__,36546))),353:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4504)]).then(__webpack_require__.bind(__webpack_require__,21105))),354:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7058)]).then(__webpack_require__.bind(__webpack_require__,97769))),355:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8447)]).then(__webpack_require__.bind(__webpack_require__,95905))),356:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),357:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),358:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5238)]).then(__webpack_require__.bind(__webpack_require__,13793))),359:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4715)]).then(__webpack_require__.bind(__webpack_require__,42100))),360:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3873)]).then(__webpack_require__.bind(__webpack_require__,22330))),361:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),362:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),363:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6265)]).then(__webpack_require__.bind(__webpack_require__,14291))),364:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),365:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),366:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1713)]).then(__webpack_require__.bind(__webpack_require__,82125))),367:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5891)]).then(__webpack_require__.bind(__webpack_require__,30654))),368:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8398)]).then(__webpack_require__.bind(__webpack_require__,38542))),369:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8241)]).then(__webpack_require__.bind(__webpack_require__,92314))),370:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2339)]).then(__webpack_require__.bind(__webpack_require__,74232))),371:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7589)]).then(__webpack_require__.bind(__webpack_require__,50983))),372:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),373:ae.lazy(()=>__webpack_require__.e(5705).then(__webpack_require__.bind(__webpack_require__,84033))),374:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),375:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(559)]).then(__webpack_require__.bind(__webpack_require__,54587))),376:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),377:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4757)]).then(__webpack_require__.bind(__webpack_require__,89955))),378:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1783)]).then(__webpack_require__.bind(__webpack_require__,61471))),379:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7477)]).then(__webpack_require__.bind(__webpack_require__,3279))),380:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),381:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),382:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6796)]).then(__webpack_require__.bind(__webpack_require__,36546))),383:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4504)]).then(__webpack_require__.bind(__webpack_require__,21105))),384:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7058)]).then(__webpack_require__.bind(__webpack_require__,97769))),385:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8447)]).then(__webpack_require__.bind(__webpack_require__,95905))),386:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),387:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),388:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5238)]).then(__webpack_require__.bind(__webpack_require__,13793))),389:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4715)]).then(__webpack_require__.bind(__webpack_require__,42100))),390:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3873)]).then(__webpack_require__.bind(__webpack_require__,22330))),391:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),392:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),393:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6265)]).then(__webpack_require__.bind(__webpack_require__,14291))),394:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),395:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),396:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1713)]).then(__webpack_require__.bind(__webpack_require__,82125))),397:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5891)]).then(__webpack_require__.bind(__webpack_require__,30654))),398:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8398)]).then(__webpack_require__.bind(__webpack_require__,38542))),399:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8241)]).then(__webpack_require__.bind(__webpack_require__,92314))),400:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2339)]).then(__webpack_require__.bind(__webpack_require__,74232))),401:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7589)]).then(__webpack_require__.bind(__webpack_require__,50983))),402:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),403:ae.lazy(()=>__webpack_require__.e(5705).then(__webpack_require__.bind(__webpack_require__,84033))),404:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),405:ae.lazy(()=>__webpack_require__.e(4766).then(__webpack_require__.bind(__webpack_require__,28712))),406:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7560)]).then(__webpack_require__.bind(__webpack_require__,27454))),407:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6029)]).then(__webpack_require__.bind(__webpack_require__,33675))),408:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5179)]).then(__webpack_require__.bind(__webpack_require__,58197))),409:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4621)]).then(__webpack_require__.bind(__webpack_require__,57857))),410:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),411:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1831)]).then(__webpack_require__.bind(__webpack_require__,30266))),412:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2539)]).then(__webpack_require__.bind(__webpack_require__,88036))),413:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8143)]).then(__webpack_require__.bind(__webpack_require__,42463))),414:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5624)]).then(__webpack_require__.bind(__webpack_require__,66493))),415:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1461)]).then(__webpack_require__.bind(__webpack_require__,67489))),416:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(4492)]).then(__webpack_require__.bind(__webpack_require__,32891))),417:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(9416)]).then(__webpack_require__.bind(__webpack_require__,57895))),418:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),419:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),420:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),421:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),422:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),423:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5022)]).then(__webpack_require__.bind(__webpack_require__,98372))),424:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6063)]).then(__webpack_require__.bind(__webpack_require__,16486))),425:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6063)]).then(__webpack_require__.bind(__webpack_require__,16486))),426:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(7545)]).then(__webpack_require__.bind(__webpack_require__,9))),427:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1253)]).then(__webpack_require__.bind(__webpack_require__,16459))),428:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),429:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2216)]).then(__webpack_require__.bind(__webpack_require__,69623))),430:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5382)]).then(__webpack_require__.bind(__webpack_require__,73171))),431:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),432:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(7101),__webpack_require__.e(5964),__webpack_require__.e(8823)]).then(__webpack_require__.bind(__webpack_require__,48848))),433:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3685)]).then(__webpack_require__.bind(__webpack_require__,94727))),434:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5964),__webpack_require__.e(2524)]).then(__webpack_require__.bind(__webpack_require__,80109))),435:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5915)]).then(__webpack_require__.bind(__webpack_require__,89325))),436:ae.lazy(()=>__webpack_require__.e(3589).then(__webpack_require__.bind(__webpack_require__,60876))),437:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(919)]).then(__webpack_require__.bind(__webpack_require__,46339))),438:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7042)]).then(__webpack_require__.bind(__webpack_require__,2606))),439:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8137)]).then(__webpack_require__.bind(__webpack_require__,55493))),440:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7101),__webpack_require__.e(4339)]).then(__webpack_require__.bind(__webpack_require__,96856))),441:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(9595)]).then(__webpack_require__.bind(__webpack_require__,75024))),442:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(3443)]).then(__webpack_require__.bind(__webpack_require__,20316))),443:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),444:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(3897)]).then(__webpack_require__.bind(__webpack_require__,28804))),445:ae.lazy(()=>__webpack_require__.e(4058).then(__webpack_require__.bind(__webpack_require__,79700))),446:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8522)]).then(__webpack_require__.bind(__webpack_require__,93239))),447:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8522)]).then(__webpack_require__.bind(__webpack_require__,93239))),448:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),449:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4056)]).then(__webpack_require__.bind(__webpack_require__,75503))),450:ae.lazy(()=>__webpack_require__.e(9487).then(__webpack_require__.bind(__webpack_require__,3518))),451:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(1443)]).then(__webpack_require__.bind(__webpack_require__,13070))),452:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),453:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(532)]).then(__webpack_require__.bind(__webpack_require__,36693))),454:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7178)]).then(__webpack_require__.bind(__webpack_require__,11112))),455:ae.lazy(()=>__webpack_require__.e(1660).then(__webpack_require__.bind(__webpack_require__,19041))),456:ae.lazy(()=>__webpack_require__.e(7333).then(__webpack_require__.bind(__webpack_require__,76904))),457:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4227)]).then(__webpack_require__.bind(__webpack_require__,63295))),458:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8155)]).then(__webpack_require__.bind(__webpack_require__,4280))),459:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5186)]).then(__webpack_require__.bind(__webpack_require__,29069))),460:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5786)]).then(__webpack_require__.bind(__webpack_require__,28128))),461:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9366)]).then(__webpack_require__.bind(__webpack_require__,77123))),462:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5786)]).then(__webpack_require__.bind(__webpack_require__,28128))),463:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9366)]).then(__webpack_require__.bind(__webpack_require__,77123))),464:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1470)]).then(__webpack_require__.bind(__webpack_require__,4066))),465:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7182)]).then(__webpack_require__.bind(__webpack_require__,39221))),466:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),467:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(2476)]).then(__webpack_require__.bind(__webpack_require__,57915))),468:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),469:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5729)]).then(__webpack_require__.bind(__webpack_require__,24721))),470:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),471:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6444)]).then(__webpack_require__.bind(__webpack_require__,62904))),472:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5111)]).then(__webpack_require__.bind(__webpack_require__,87038))),473:ae.lazy(()=>__webpack_require__.e(2307).then(__webpack_require__.bind(__webpack_require__,33262))),474:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(7883)]).then(__webpack_require__.bind(__webpack_require__,31750))),475:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1150)]).then(__webpack_require__.bind(__webpack_require__,71193))),476:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),477:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8866)]).then(__webpack_require__.bind(__webpack_require__,94419))),478:ae.lazy(()=>__webpack_require__.e(2300).then(__webpack_require__.bind(__webpack_require__,33662))),479:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2501)]).then(__webpack_require__.bind(__webpack_require__,57548))),480:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3212)]).then(__webpack_require__.bind(__webpack_require__,13540))),481:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6904)]).then(__webpack_require__.bind(__webpack_require__,88986))),482:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1855)]).then(__webpack_require__.bind(__webpack_require__,93185))),483:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6904)]).then(__webpack_require__.bind(__webpack_require__,88986))),484:ae.lazy(()=>__webpack_require__.e(1276).then(__webpack_require__.bind(__webpack_require__,86308))),485:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5816)]).then(__webpack_require__.bind(__webpack_require__,12624))),486:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5816)]).then(__webpack_require__.bind(__webpack_require__,12624))),487:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3784)]).then(__webpack_require__.bind(__webpack_require__,19560))),488:ae.lazy(()=>__webpack_require__.e(3862).then(__webpack_require__.bind(__webpack_require__,18430))),489:ae.lazy(()=>__webpack_require__.e(4565).then(__webpack_require__.bind(__webpack_require__,38189))),490:ae.lazy(()=>__webpack_require__.e(6531).then(__webpack_require__.bind(__webpack_require__,60279))),491:ae.lazy(()=>__webpack_require__.e(6170).then(__webpack_require__.bind(__webpack_require__,32717))),492:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4496)]).then(__webpack_require__.bind(__webpack_require__,22255))),493:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1836)]).then(__webpack_require__.bind(__webpack_require__,79752))),494:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8435)]).then(__webpack_require__.bind(__webpack_require__,22084))),495:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3509)]).then(__webpack_require__.bind(__webpack_require__,94878))),496:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4496)]).then(__webpack_require__.bind(__webpack_require__,22255))),497:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4496)]).then(__webpack_require__.bind(__webpack_require__,22255))),498:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6034)]).then(__webpack_require__.bind(__webpack_require__,43982))),499:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8999)]).then(__webpack_require__.bind(__webpack_require__,49851))),500:ae.lazy(()=>__webpack_require__.e(3910).then(__webpack_require__.bind(__webpack_require__,53727))),501:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(67)]).then(__webpack_require__.bind(__webpack_require__,73752))),502:ae.lazy(()=>__webpack_require__.e(6531).then(__webpack_require__.bind(__webpack_require__,60279))),"@@/global-layout":ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1717)]).then(__webpack_require__.bind(__webpack_require__,49377)))}}})}var x=__webpack_require__(3191),Z=__webpack_require__(58293),oe=__webpack_require__(29787),Er=__webpack_require__(5755),Sr=()=>ae.createElement(oe.Z,{size:"middle",className:Er.Z.loading}),mn=__webpack_require__(25690),_n=__webpack_require__(61186),Zr=__webpack_require__.n(_n),bo=__webpack_require__(91392),Uo=__webpack_require__.n(bo),la=__webpack_require__(34749),Qo=__webpack_require__.n(la),li=__webpack_require__(19277),Ou=__webpack_require__.n(li),Mo=__webpack_require__(10238),Oc=__webpack_require__.n(Mo),Ic=__webpack_require__(33656),uc=__webpack_require__.n(Ic),kc=__webpack_require__(90111),$s=__webpack_require__.n(kc),On=__webpack_require__(74959),Ac=__webpack_require__.n(On),Tc=__webpack_require__(23250),Ea=__webpack_require__.n(Tc),Eo=__webpack_require__(58862),js=__webpack_require__.n(Eo),Iu=__webpack_require__(58319),Rc=__webpack_require__.n(Iu),Al=__webpack_require__(62053),uu=__webpack_require__.n(Al),cu=__webpack_require__(47477),ul=__webpack_require__.n(cu),Dc=__webpack_require__(59717),lu=__webpack_require__.n(Dc);Zr().extend(Qo()),Zr().extend(Ou()),Zr().extend(Oc()),Zr().extend(uc()),Zr().extend($s()),Zr().extend(Ac()),Zr().extend(Ea()),Zr().extend(js()),Zr().extend(Rc()),Zr().extend(uu()),Zr().extend(ul()),Zr().extend(lu()),Zr().extend(Uo());var cl=Object.defineProperty,cc=Object.getOwnPropertySymbols,ll=Object.prototype.hasOwnProperty,Fi=Object.prototype.propertyIsEnumerable,Fs=(Fr,an,Zn)=>an in Fr?cl(Fr,an,{enumerable:!0,configurable:!0,writable:!0,value:Zn}):Fr[an]=Zn,ku=(Fr,an)=>{for(var Zn in an||(an={}))ll.call(an,Zn)&&Fs(Fr,Zn,an[Zn]);if(cc)for(var Zn of cc(an))Fi.call(an,Zn)&&Fs(Fr,Zn,an[Zn]);return Fr},lc=(Fr,an,Zn)=>new Promise((Oa,Gn)=>{var na=Vn=>{try{uo(Zn.next(Vn))}catch(co){Gn(co)}},da=Vn=>{try{uo(Zn.throw(Vn))}catch(co){Gn(co)}},uo=Vn=>Vn.done?Oa(Vn.value):Promise.resolve(Vn.value).then(na,da);uo((Zn=Zn.apply(Fr,an)).next())});const Xi="https://www-cdn.educoder.net/",dc=!1;function Au(){return lc(this,null,function*(){const Fr=(0,x.gD)(),{routes:an,routeComponents:Zn}=yield y(Fr);yield Fr.applyPlugins({key:"patchRoutes",type:mn.ApplyPluginsType.event,args:{routes:an,routeComponents:Zn}});const Oa=Fr.applyPlugins({key:"modifyContextOpts",type:mn.ApplyPluginsType.modify,initialValue:{}}),Gn=Oa.basename||"/",na=Oa.historyType||"browser",da=(0,Z.fi)(ku({type:na,basename:Gn},Oa.historyOpts));return Fr.applyPlugins({key:"render",type:mn.ApplyPluginsType.compose,initialValue(){const uo={useStream:!0,routes:an,routeComponents:Zn,pluginManager:Fr,mountElementId:"root",rootElement:Oa.rootElement||document.getElementById("root"),loadingComponent:Sr,publicPath:Xi,runtimePublicPath:dc,history:da,historyType:na,basename:Gn,__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{pureApp:!1,pureHtml:!1},callback:Oa.callback},Vn=Fr.applyPlugins({key:"modifyClientRenderOpts",type:mn.ApplyPluginsType.modify,initialValue:uo});return sl(Vn)}})()})}Au(),typeof window!="undefined"&&(window.g_umi={version:"4.4.11"})})()})(); +(`+f+": "+m+")",u.name="ChunkLoadError",u.type=f,u.request=m,n[1](u)}};__webpack_require__.l(s,c,"chunk-"+t,t)}else i[t]=0};var d=function(t,r){var n=r[0],a=r[1],s=r[2],u,c,o=0;if(n.some(function(m){return i[m]!==0})){for(u in a)__webpack_require__.o(a,u)&&(__webpack_require__.m[u]=a[u]);if(s)var f=s(__webpack_require__)}for(t&&t(r);o0&&arguments[0]!==void 0?arguments[0]:"";return Fr.endsWith("/")?Fr:"".concat(Fr,"/")}var tc=__webpack_require__(38127),Pu=__webpack_require__(38329),au=__webpack_require__(8616),ou=["content"],qi=["content"],ji=/^(http:|https:)?\/\//;function rc(Fr){return ji.test(Fr)||Fr.startsWith("/")&&!Fr.startsWith("/*")||Fr.startsWith("./")||Fr.startsWith("../")}var Bu=function(){return ae.createElement("noscript",{dangerouslySetInnerHTML:{__html:"Enable JavaScript to run this app."}})},iu=function(an){var Zn,Oa=an.loaderData,Gn=an.htmlPageOpts,na=an.manifest,da=(na==null||(Zn=na.assets)===null||Zn===void 0?void 0:Zn["umi.css"])||"";return ae.createElement("script",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:"window.__UMI_LOADER_DATA__ = ".concat(JSON.stringify(Oa||{}),"; window.__UMI_METADATA_LOADER_DATA__ = ").concat(JSON.stringify(Gn||{}),"; window.__UMI_BUILD_ClIENT_CSS__ = '").concat(da,"'")}})};function ls(Fr){var an=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof Fr=="string")return rc(Fr)?(0,ri.Z)({src:Fr},an):{content:Fr};if((0,au.Z)(Fr)==="object")return(0,ri.Z)((0,ri.Z)({},Fr),an);throw new Error("Invalid script type: ".concat((0,au.Z)(Fr)))}function Ai(Fr){return rc(Fr)?{type:"link",href:Fr}:{type:"style",content:Fr}}var al=function(an){var Zn,Oa,Gn,na,da,uo,Vn=an.htmlPageOpts;return ae.createElement(ae.Fragment,null,(Vn==null?void 0:Vn.title)&&ae.createElement("title",null,Vn.title),Vn==null||(Zn=Vn.favicons)===null||Zn===void 0?void 0:Zn.map(function(co,gs){return ae.createElement("link",{key:gs,rel:"shortcut icon",href:co})}),(Vn==null?void 0:Vn.description)&&ae.createElement("meta",{name:"description",content:Vn.description}),(Vn==null||(Oa=Vn.keywords)===null||Oa===void 0?void 0:Oa.length)&&ae.createElement("meta",{name:"keywords",content:Vn.keywords.join(",")}),Vn==null||(Gn=Vn.metas)===null||Gn===void 0?void 0:Gn.map(function(co){return ae.createElement("meta",{key:co.name,name:co.name,content:co.content})}),Vn==null||(na=Vn.links)===null||na===void 0?void 0:na.map(function(co,gs){return ae.createElement("link",(0,Pu.Z)({key:gs},co))}),Vn==null||(da=Vn.styles)===null||da===void 0?void 0:da.map(function(co,gs){var ys=Ai(co),Bs=ys.type,Ns=ys.href,du=ys.content;if(Bs==="link")return ae.createElement("link",{key:gs,rel:"stylesheet",href:Ns});if(Bs==="style")return ae.createElement("style",{key:gs},du)}),Vn==null||(uo=Vn.headScripts)===null||uo===void 0?void 0:uo.map(function(co,gs){var ys=ls(co),Bs=ys.content,Ns=(0,tc.Z)(ys,ou);return ae.createElement("script",(0,Pu.Z)({dangerouslySetInnerHTML:{__html:Bs},key:gs},Ns))}))};function Nu(Fr){var an,Zn=Fr.children,Oa=Fr.loaderData,Gn=Fr.manifest,na=Fr.htmlPageOpts,da=Fr.__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,uo=Fr.mountElementId;if(da!=null&&da.pureHtml)return ae.createElement("html",null,ae.createElement("head",null),ae.createElement("body",null,ae.createElement(Bu,null),ae.createElement("div",{id:uo},Zn),ae.createElement(iu,{manifest:Gn,loaderData:Oa,htmlPageOpts:na})));if(da!=null&&da.pureApp)return ae.createElement(ae.Fragment,null,Zn);var Vn=typeof window=="undefined"?Gn==null?void 0:Gn.assets["umi.css"]:window.__UMI_BUILD_ClIENT_CSS__;return ae.createElement("html",{suppressHydrationWarning:!0,lang:(na==null?void 0:na.lang)||"en"},ae.createElement("head",null,ae.createElement("meta",{charSet:"utf-8"}),ae.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),Vn&&ae.createElement("link",{suppressHydrationWarning:!0,rel:"stylesheet",href:Vn}),ae.createElement(al,{htmlPageOpts:na})),ae.createElement("body",null,ae.createElement(Bu,null),ae.createElement("div",{id:uo},Zn),ae.createElement(iu,{manifest:Gn,loaderData:Oa,htmlPageOpts:na}),na==null||(an=na.scripts)===null||an===void 0?void 0:an.map(function(co,gs){var ys=ls(co),Bs=ys.content,Ns=(0,tc.Z)(ys,qi);return ae.createElement("script",(0,Pu.Z)({dangerouslySetInnerHTML:{__html:Bs},key:gs},Ns))})))}var su=ae.createContext(void 0);function ol(){return ae.useContext(su)}var Su=["redirect"];function Ls(Fr){var an=Fr.routesById,Zn=Fr.parentId,Oa=Fr.routeComponents,Gn=Fr.useStream,na=Gn===void 0?!0:Gn;return Object.keys(an).filter(function(da){return an[da].parentId===Zn}).map(function(da){var uo=il((0,ri.Z)((0,ri.Z)({route:an[da],routeComponent:Oa[da],loadingComponent:Fr.loadingComponent,reactRouter5Compat:Fr.reactRouter5Compat},Fr.reactRouter5Compat&&{hasChildren:Object.keys(an).filter(function(co){return an[co].parentId===da}).length>0}),{},{useStream:na})),Vn=Ls({routesById:an,routeComponents:Oa,parentId:uo.id,loadingComponent:Fr.loadingComponent,reactRouter5Compat:Fr.reactRouter5Compat,useStream:na});return Vn.length>0&&(uo.children=Vn,uo.routes=Vn),uo})}function Cc(Fr){var an=(0,Si.UO)(),Zn=(0,Si.Gn)(Fr.to,an),Oa=(0,Eu.T$)(),Gn=(0,Si.TH)();if(Oa!=null&&Oa.keepQuery){var na=Gn.search+Gn.hash;Zn+=na}var da=(0,ri.Z)((0,ri.Z)({},Fr),{},{to:Zn});return ae.createElement(Si.Fg,(0,Pu.Z)({replace:!0},da))}function il(Fr){var an=Fr.route,Zn=Fr.useStream,Oa=Zn===void 0?!0:Zn,Gn=an.redirect,na=(0,tc.Z)(an,Su),da=Fr.reactRouter5Compat?ac:oc;return(0,ri.Z)({element:Gn?ae.createElement(Cc,{to:Gn}):ae.createElement(su.Provider,{value:{route:Fr.route}},ae.createElement(da,{loader:ae.memo(Fr.routeComponent),loadingComponent:Fr.loadingComponent||nc,hasChildren:Fr.hasChildren,useStream:Oa}))},na)}function nc(){return ae.createElement("div",null)}function ac(Fr){var an=ol(),Zn=an.route,Oa=(0,Eu.Ov)(),Gn=Oa.history,na=Oa.clientRoutes,da=(0,Si.UO)(),uo={params:da,isExact:!0,path:Zn.path,url:Gn.location.pathname},Vn=Fr.loader,co={location:Gn.location,match:uo,history:Gn,params:da,route:Zn,routes:na};return Fr.useStream?ae.createElement(ae.Suspense,{fallback:ae.createElement(Fr.loadingComponent,null)},ae.createElement(Vn,co,Fr.hasChildren&&ae.createElement(Si.j3,null))):ae.createElement(Vn,co,Fr.hasChildren&&ae.createElement(Si.j3,null))}function oc(Fr){var an=Fr.loader;return Fr.useStream?ae.createElement(ae.Suspense,{fallback:ae.createElement(Fr.loadingComponent,null)},ae.createElement(an,null)):ae.createElement(an,null)}var Cu=null;function kl(){return Cu}function ic(Fr){var an=Fr.history,Zn=ae.useState({action:an.action,location:an.location}),Oa=(0,Ki.Z)(Zn,2),Gn=Oa[0],na=Oa[1];return(0,ae.useLayoutEffect)(function(){return an.listen(na)},[an]),(0,ae.useLayoutEffect)(function(){function da(uo){Fr.pluginManager.applyPlugins({key:"onRouteChange",type:"event",args:{routes:Fr.routes,clientRoutes:Fr.clientRoutes,location:uo.location,action:uo.action,basename:Fr.basename,isFirst:!!uo.isFirst}})}return da({location:Gn.location,action:Gn.action,isFirst:!0}),an.listen(da)},[an,Fr.routes,Fr.clientRoutes]),ae.createElement(Si.F0,{navigator:an,location:Gn.location,basename:Fr.basename},Fr.children)}function Qi(){var Fr=(0,Eu.Ov)(),an=Fr.clientRoutes;return(0,Si.V$)(an)}var Zu=["innerProvider","i18nProvider","accessProvider","dataflowProvider","outerProvider","rootContainer"],sc=function(an,Zn){var Oa=an.basename||"/",Gn=Ls({routesById:an.routes,routeComponents:an.routeComponents,loadingComponent:an.loadingComponent,reactRouter5Compat:an.reactRouter5Compat,useStream:an.useStream});an.pluginManager.applyPlugins({key:"patchClientRoutes",type:"event",args:{routes:Gn}});for(var na=ae.createElement(ic,{basename:Oa,pluginManager:an.pluginManager,routes:an.routes,clientRoutes:Gn,history:an.history},Zn),da=0,uo=Zu;danew Promise((Oa,Gn)=>{var na=Vn=>{try{uo(Zn.next(Vn))}catch(co){Gn(co)}},da=Vn=>{try{uo(Zn.throw(Vn))}catch(co){Gn(co)}},uo=Vn=>Vn.done?Oa(Vn.value):Promise.resolve(Vn.value).then(na,da);uo((Zn=Zn.apply(Fr,an)).next())});function y(){return h(this,null,function*(){return{routes:{1:{path:"/",parentId:"@@/global-layout",id:"1"},2:{path:"/paperlibrary",parentId:"1",id:"2"},3:{path:"/paperlibrary",parentId:"2",id:"3"},4:{path:"/paperlibrary/add",parentId:"2",id:"4"},5:{path:"/paperlibrary/add/:id",parentId:"2",id:"5"},6:{path:"/paperlibrary/see/:id",parentId:"2",id:"6"},7:{path:"/paperlibrary/edit_select/:id",parentId:"2",id:"7"},8:{path:"/paperlibrary/exchangequestion",parentId:"2",id:"8"},9:{path:"/paths",parentId:"1",id:"9"},10:{path:"/paths",parentId:"9",id:"10"},11:{path:"/paths/higherVocationalEducation",parentId:"9",id:"11"},12:{path:"/paths/new",parentId:"9",id:"12"},13:{path:"/paths/guidance",exact:!0,parentId:"9",id:"13"},14:{path:"/paths/:pathId",parentId:"9",id:"14"},15:{path:"/paths/:pathId/statistics",parentId:"9",id:"15"},16:{path:"/paths/:pathId/edit",parentId:"9",id:"16"},17:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/add",parentId:"9",id:"17"},18:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/edit",parentId:"9",id:"18"},19:{path:"/classrooms",parentId:"1",id:"19"},20:{path:"/classrooms",parentId:"19",id:"20"},21:{path:"/classrooms/examList",parentId:"19",id:"21"},22:{path:"/classrooms/classicCases",parentId:"19",id:"22"},23:{path:"/classrooms/index",parentId:"19",id:"23"},24:{path:"/classrooms/new",parentId:"19",id:"24"},25:{path:"/classrooms/:coursesId/edit",parentId:"19",id:"25"},26:{path:"/classrooms/news/:subjectid/newgold/:id",parentId:"19",id:"26"},27:{path:"/classrooms/:coursesId/newgolds/settings",parentId:"19",id:"27"},28:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/review_detail/:userId",parentId:"19",id:"28"},29:{path:"/classrooms/:coursesId/common_homework/:categoryId/review_detail/:userId",parentId:"19",id:"29"},30:{path:"/classrooms/:coursesId/program_homework/:categoryId/review_detail/:userId",parentId:"19",id:"30"},31:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/detail",parentId:"19",id:"31"},32:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/detail/testresult",parentId:"19",id:"32"},33:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"33"},34:{path:"/classrooms/:coursesId/common_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"34"},35:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/commitsummary",parentId:"19",id:"35"},36:{path:"/classrooms/:coursesId/group_homework/:categoryId/detail",parentId:"19",id:"36"},37:{path:"/classrooms/:coursesId/common_homework/:categoryId/detail",parentId:"19",id:"37"},38:{path:"/classrooms/:coursesId/common_homework/:categoryId/review/:userId",parentId:"19",id:"38"},39:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/review/:userId",parentId:"19",id:"39"},40:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/post",parentId:"19",id:"40"},41:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"41"},42:{path:"/classrooms/:coursesId/exercise/:categoryId/detail/:userId/review_detail",parentId:"19",id:"42"},43:{path:"/classrooms/:coursesId/exercise/:categoryId/WordInfo/:userid",parentId:"19",id:"43"},44:{path:"/classrooms/:coursesId/exercise/:categoryId/detail",parentId:"19",id:"44"},45:{path:"/classrooms/:coursesId/exercise/:categoryId/preview_select",parentId:"19",id:"45"},46:{path:"/classrooms/:coursesId/exercise/:categoryId/:login/initate_answer",parentId:"19",id:"46"},47:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login",parentId:"19",id:"47"},48:{path:"/classrooms/:coursesId/exercise/:categoryId/wrongAnswer/:login",parentId:"19",id:"48"},49:{path:"/classrooms/:coursesId/exercisenotice/:categoryId/users/:login",parentId:"19",id:"49"},50:{path:"/classrooms/:coursesId/exercise/:categoryId/random/edit",parentId:"19",id:"50"},51:{path:"/classrooms/:coursesId/exercise/:categoryId/random/preview",parentId:"19",id:"51"},52:{path:"/classrooms/:coursesId/exercise/add",parentId:"19",id:"52"},53:{path:"/classrooms/:coursesId/exercise/add/:exerciseId",parentId:"19",id:"53"},54:{path:"/classrooms/:coursesId/exercise/:exerciseId/reviews/group",parentId:"19",id:"54"},55:{path:"/classrooms/:coursesId/exercise/:exerciseId/review/:userId",parentId:"19",id:"55"},56:{path:"/classrooms/:coursesId/exercise/:exerciseId/centralizeReview/:userId",parentId:"19",id:"56"},57:{path:"/classrooms/:coursesId/exercise/:exerciseId/export_blank",parentId:"19",id:"57"},58:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup",parentId:"19",id:"58"},59:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup/edit",parentId:"19",id:"59"},60:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId",parentId:"19",id:"60"},61:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId",parentId:"19",id:"61"},62:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId/code",parentId:"19",id:"62"},63:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId/code",parentId:"19",id:"63"},64:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/detail",parentId:"19",id:"64"},65:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/add",parentId:"19",id:"65"},66:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/edit",parentId:"19",id:"66"},67:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/add",parentId:"19",id:"67"},68:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/edit",parentId:"19",id:"68"},69:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/detail",parentId:"19",id:"69"},70:{path:"/classrooms/:coursesId/common_homework/:categoryId/add",parentId:"19",id:"70"},71:{path:"/classrooms/:coursesId/common_homework/:categoryId/edit",parentId:"19",id:"71"},72:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/post",parentId:"19",id:"72"},73:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"73"},74:{path:"/classrooms/:coursesId/group_homework/:categoryId/add",parentId:"19",id:"74"},75:{path:"/classrooms/:coursesId/group_homework/:categoryId/edit",parentId:"19",id:"75"},76:{path:"/classrooms/:coursesId/poll/:categoryId/add",parentId:"19",id:"76"},77:{path:"/classrooms/:coursesId/poll/:categoryId/edit",parentId:"19",id:"77"},78:{path:"/classrooms/:coursesId/poll/:categoryId/detail",parentId:"19",id:"78"},79:{path:"/classrooms/:coursesId/poll/:categoryId/users/:login",parentId:"19",id:"79"},80:{path:"/classrooms/:coursesId/poll/:categoryId/questionnaireInfo/:login",parentId:"19",id:"80"},81:{path:"/classrooms/:coursesId/board/:categoryId/Add",parentId:"19",id:"81"},82:{path:"/classrooms/:coursesId/board/:categoryId/Edit/:boardId",parentId:"19",id:"82"},83:{path:"/classrooms/:coursesId/board/:categoryId/Detail/:boardId",parentId:"19",id:"83"},84:{path:"/classrooms/:courseId/template/:templateId",parentId:"19",id:"84"},85:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report/:reportId",parentId:"19",id:"85"},86:{path:"/classrooms/guidance",parentId:"19",id:"86"},87:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report-view/:workId",parentId:"19",id:"87"},88:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login/check",parentId:"19",id:"88"},89:{path:"/classrooms/:coursesId/Studentdetail/:login",parentId:"19",id:"89"},90:{path:"/classrooms/:coursesId/StudentSituation/:categoryId/:login",parentId:"19",id:"90"},91:{path:"/classrooms/:coursesId/engineering/datail",parentId:"19",id:"91"},92:{path:"/classrooms/:coursesId/program_homework/:categoryId/add",parentId:"19",id:"92"},93:{path:"/classrooms/:coursesId/program_homework/:categoryId/edit",parentId:"19",id:"93"},94:{path:"/classrooms/:coursesId/program_homework/ranking",parentId:"19",id:"94"},95:{path:"/classrooms/:coursesId/program_homework/:categoryId/detail",parentId:"19",id:"95"},96:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/ranking",parentId:"19",id:"96"},97:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/:user_id/comment",parentId:"19",id:"97"},98:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer",parentId:"19",id:"98"},99:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/add",parentId:"19",id:"99"},100:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/edit",parentId:"19",id:"100"},101:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/detail",parentId:"19",id:"101"},102:{path:"/classrooms/:videoId/video_info",parentId:"19",id:"102"},103:{path:"/classrooms/",parentId:"19",id:"103"},104:{path:"/classrooms/:coursesId/shixun_homework/:categoryId",parentId:"103",id:"104"},105:{path:"/classrooms/:coursesId/shixun_homework",parentId:"103",id:"105"},106:{path:"/classrooms/:coursesId/graduation_topics/:categoryId",parentId:"103",id:"106"},107:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"103",id:"107"},108:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"103",id:"108"},109:{path:"/classrooms/:coursesId/exercise/:categoryId",parentId:"103",id:"109"},110:{path:"/classrooms/:coursesId/exercise",parentId:"103",id:"110"},111:{path:"/classrooms/:coursesId/poll/:categoryId",parentId:"103",id:"111"},112:{path:"/classrooms/:coursesId/poll",parentId:"103",id:"112"},113:{path:"/classrooms/:coursesId/common_homework/:categoryId",parentId:"103",id:"113"},114:{path:"/classrooms/:coursesId/common_homework",parentId:"103",id:"114"},115:{path:"/classrooms/:coursesId/group_homework/:categoryId",parentId:"103",id:"115"},116:{path:"/classrooms/:coursesId/group_homework",parentId:"103",id:"116"},117:{path:"/classrooms/:coursesId/teachers",parentId:"103",id:"117"},118:{path:"/classrooms/:coursesId/students",parentId:"103",id:"118"},119:{path:"/classrooms/:coursesId/assistant",parentId:"103",id:"119"},120:{path:"/classrooms/:coursesId/program_homework",parentId:"103",id:"120"},121:{path:"/classrooms/:coursesId/program_homework/:categoryId",parentId:"103",id:"121"},122:{path:"/classrooms/:coursesId/engineering",parentId:"103",id:"122"},123:{path:"/classrooms/:coursesId/learning_path",parentId:"103",id:"123"},124:{path:"/classrooms/:coursesId/resource_recommend",parentId:"103",id:"124"},125:{path:"/classrooms/:coursesId/attendance",parentId:"103",id:"125"},126:{path:"/classrooms/:coursesId/attendance/StudetnSign",parentId:"103",id:"126"},127:{path:"/classrooms/:coursesId/attendance/:categoryId/:tabId/detail",parentId:"103",id:"127"},128:{path:"/classrooms/:coursesId/announcement",parentId:"103",id:"128"},129:{path:"/classrooms/:coursesId/announcement/:categoryId",parentId:"103",id:"129"},130:{path:"/classrooms/:coursesId/online_learning",parentId:"103",id:"130"},131:{path:"/classrooms/:coursesId/online_learning/:categoryId",parentId:"103",id:"131"},132:{path:"/classrooms/:coursesId/attachment/:categoryId",parentId:"103",id:"132"},133:{path:"/classrooms/:coursesId/attachment",parentId:"103",id:"133"},134:{path:"/classrooms/:coursesId/video",parentId:"103",id:"134"},135:{path:"/classrooms/:coursesId/video/:categoryId",parentId:"103",id:"135"},136:{path:"/classrooms/:coursesId/video/:categoryId/statistics",parentId:"103",id:"136"},137:{path:"/classrooms/:coursesId/video/:username/upload",parentId:"103",id:"137"},138:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId",parentId:"103",id:"138"},139:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId/:userId",parentId:"103",id:"139"},140:{path:"/classrooms/:coursesId/live_video/:categoryId",parentId:"103",id:"140"},141:{path:"/classrooms/:coursesId/live_video",parentId:"103",id:"141"},142:{path:"/classrooms/:coursesId/video/:categoryId/studentstatistics",parentId:"103",id:"142"},143:{path:"/classrooms/:coursesId/board/:categoryId",parentId:"103",id:"143"},144:{path:"/classrooms/:coursesId/board",parentId:"103",id:"144"},145:{path:"/classrooms/:coursesId/course_group",parentId:"103",id:"145"},146:{path:"/classrooms/:coursesId/course_group/:categoryId",parentId:"103",id:"146"},147:{path:"/classrooms/:coursesId/course_group/:categoryId/detail",parentId:"103",id:"147"},148:{path:"/classrooms/:coursesId/not_course_group/:categoryId",parentId:"103",id:"148"},149:{path:"/classrooms/:coursesId/not_course_group",parentId:"103",id:"149"},150:{path:"/classrooms/:coursesId/statistics/",parentId:"103",id:"150"},151:{path:"/classrooms/:coursesId/statistics/:categoryId",parentId:"103",id:"151"},152:{path:"/classrooms/:coursesId/statistics_video/:categoryId",parentId:"103",id:"152"},153:{path:"/classrooms/:coursesId/statistics_quality/:categoryId",parentId:"103",id:"153"},154:{path:"/classrooms/:coursesId/student_statistics/:categoryId",parentId:"103",id:"154"},155:{path:"/classrooms/:coursesId/student_statistics/:categoryId/:listId/:type",parentId:"103",id:"155"},156:{path:"/classrooms/:coursesId/video_statistics/:categoryId/Student/:studentid",parentId:"103",id:"156"},157:{path:"/classrooms/:coursesId/exportlist/:type",parentId:"103",id:"157"},158:{path:"/classrooms/:coursesId",parentId:"103",id:"158"},159:{path:"/classrooms/:coursesId/template",parentId:"103",id:"159"},160:{path:"/classrooms/:coursesId/smart_plan",parentId:"103",id:"160"},161:{path:"/classrooms/:coursesId/smart_plan/:id/detail",parentId:"19",id:"161"},162:{path:"/competitions",parentId:"1",id:"162"},163:{path:"/competitions/index",parentId:"162",id:"163"},164:{path:"/competitions/:identifier/list",parentId:"162",id:"164"},165:{path:"/competitions/exports",parentId:"162",id:"165"},166:{path:"/competitions",parentId:"162",id:"166"},167:{path:"/competitions/:identifier",parentId:"162",id:"167"},168:{path:"/competitions/index/:identifier",parentId:"162",id:"168"},169:{path:"/competitions/:identifier/detail/enroll",parentId:"162",id:"169"},170:{path:"/competitions/:identifier/detail/UpdateTeanname/:Teannameid",parentId:"162",id:"170"},171:{path:"/competitions/:identifier/detail/teamDetail/:Teamid",parentId:"162",id:"171"},172:{path:"/competitions/detail/:identifier",parentId:"162",id:"172"},173:{path:"/forums",parentId:"1",id:"173"},174:{path:"/forums",parentId:"173",id:"174"},175:{path:"/forums/categories/:memoType",parentId:"173",id:"175"},176:{path:"/forums/new",parentId:"173",id:"176"},177:{path:"/forums/:memoId/edit",parentId:"173",id:"177"},178:{path:"/forums/:memoId",parentId:"173",id:"178"},179:{path:"/problemset",parentId:"1",id:"179"},180:{path:"/problemset",parentId:"179",id:"180"},181:{path:"/problemset/newitem",parentId:"179",id:"181"},182:{path:"/problemset/:type/:id",parentId:"179",id:"182"},183:{path:"/problemset/preview",parentId:"179",id:"183"},184:{path:"/problemset/preview_new",parentId:"179",id:"184"},185:{path:"/problemset/preview_select",parentId:"179",id:"185"},186:{path:"/shixuns",parentId:"1",id:"186"},187:{path:"/shixuns",parentId:"186",id:"187"},188:{path:"/shixuns/exports",parentId:"186",id:"188"},189:{path:"/shixuns/new",parentId:"186",id:"189"},190:{path:"/shixuns/new/CreateImg",parentId:"186",id:"190"},191:{path:"/shixuns/new/:id/imagepreview",parentId:"186",id:"191"},192:{path:"/shixuns/:id/Merge",parentId:"186",id:"192"},193:{path:"/shixuns/:id/Split",parentId:"186",id:"193"},194:{path:"/shixuns/:id/edit",parentId:"186",id:"194"},195:{path:"shixuns/:id/edit/warehouse",parentId:"194",id:"195"},196:{path:"/shixuns/:id/edit/newquestion",parentId:"194",id:"196"},197:{path:"/shixuns/:id/edit/:challengesId/editquestion",parentId:"194",id:"197"},198:{path:"/shixuns/:id/edit/:challengesId/editquestion/:questionId",parentId:"194",id:"198"},199:{path:"/shixuns/:id/edit/new",parentId:"194",id:"199"},200:{path:"/shixuns/:id/edit/:challengesId/editcheckpoint",parentId:"194",id:"200"},201:{path:"/shixuns/:id/edit/:challengesId/tab=2",parentId:"194",id:"201"},202:{path:"/shixuns/:id/edit/:challengesId/tab=3",parentId:"194",id:"202"},203:{path:"/shixuns/:id/edit/:challengesId/tab=4",parentId:"194",id:"203"},204:{path:"/shixuns/:id",parentId:"186",id:"204"},205:{path:"/shixuns/:id/poll",parentId:"204",id:"205"},206:{path:"/shixuns/:id/challenges",parentId:"204",id:"206"},207:{path:"/shixuns/:id/repository",parentId:"204",id:"207"},208:{path:"/shixuns/:id/secret_repository",parentId:"204",id:"208"},209:{path:"/shixuns/:id/collaborators",parentId:"204",id:"209"},210:{path:"/shixuns/:id/dataset",parentId:"204",id:"210"},211:{path:"/shixuns/:id/dataset/jupyterEdit",parentId:"204",id:"211"},212:{path:"/shixuns/:id/shixun_discuss",parentId:"204",id:"212"},213:{path:"/shixuns/:id/ranking_list",parentId:"204",id:"213"},214:{path:"/shixuns/:id/settings",parentId:"204",id:"214"},215:{path:"/shixuns/:id/repository/:repoId/commits",parentId:"204",id:"215"},216:{path:"/shixuns/:id/secret_repository/:repoId/commits",parentId:"204",id:"216"},217:{path:"/shixuns/:id/repository/upload_file",parentId:"204",id:"217"},218:{path:"/shixuns/:id/secret_repository/upload_file",parentId:"204",id:"218"},219:{path:"/shixuns/:id/repository/add_file",parentId:"204",id:"219"},220:{path:"/shixuns/:id/secret_repository/add_file",parentId:"204",id:"220"},221:{path:"/shixuns/:id/repository/master/shixun_show/:fileId",exact:!1,parentId:"204",id:"221"},222:{path:"/shixuns/:id/secret_repository/master/shixun_show/:fileId",exact:!1,parentId:"204",id:"222"},223:{path:"/shixuns/:id/audit_situation",parentId:"204",id:"223"},224:{path:"/shixuns/:id/fork_list",parentId:"204",id:"224"},225:{path:"/users",parentId:"1",id:"225"},226:{path:"/users/:username/videos/protocol",parentId:"225",id:"226"},227:{path:"/users/:username/videos/resourceProtocol",parentId:"225",id:"227"},228:{path:"/users/:username/videos/success",parentId:"225",id:"228"},229:{path:"/users/:username/topicbank/:topicstype",parentId:"225",id:"229"},230:{path:"/users/:username/topics/:topicId/:topictype/normal/detail",parentId:"225",id:"230"},231:{path:"/users/:username/topics/:topicId/:topictype/group/detail",parentId:"225",id:"231"},232:{path:"/users/:username/topics/:topicId/:topictype/normal/edit",parentId:"225",id:"232"},233:{path:"/users/:username/topics/:topicId/:topictype/group/edit",parentId:"225",id:"233"},234:{path:"/users/:username/topics/:topicId/:topictype/exercise/edit",parentId:"225",id:"234"},235:{path:"/users/:username/topics/:topicId/:topictype/exercise/detail",parentId:"225",id:"235"},236:{path:"/users/:username/topics/:topicId/:topictype/poll/edit",parentId:"225",id:"236"},237:{path:"/users/:username/topics/:topicId/:topictype/poll/detail",parentId:"225",id:"237"},238:{path:"/users/:username/experiment-img/add",parentId:"225",id:"238"},239:{path:"/users/:username",parentId:"225",id:"239"},240:{path:"/users/:username",parentId:"239",id:"240"},241:{path:"/users/:username/baseInfo/edit",parentId:"239",id:"241"},242:{path:"/users/:username/baseInfo",parentId:"239",id:"242"},243:{path:"/users/:username/realNameCertification",parentId:"239",id:"243"},244:{path:"/users/:username/careerCertification",parentId:"239",id:"244"},245:{path:"/users/:username/classrooms",parentId:"239",id:"245"},246:{path:"/users/:username/shixuns",parentId:"239",id:"246"},247:{path:"/users/:username/dataSet",parentId:"239",id:"247"},248:{path:"/users/:username/userPortrait",parentId:"239",id:"248"},249:{path:"/users/:username/learningPath",parentId:"239",id:"249"},250:{path:"/users/:username/teach-group",parentId:"239",id:"250"},251:{path:"/users/:username/competitions",parentId:"239",id:"251"},252:{path:"/users/:username/experiment-img",parentId:"239",id:"252"},253:{path:"/users/:username/experiment-img/:experid/detail",parentId:"239",id:"253"},254:{path:"/users/:username/certificate",parentId:"239",id:"254"},255:{path:"/users/:username/otherResources",parentId:"239",id:"255"},256:{path:"/users/:username/paths",parentId:"239",id:"256"},257:{path:"/users/:username/projects",parentId:"239",id:"257"},258:{path:"/users/:username/videos",parentId:"239",id:"258"},259:{path:"/users/:username/videos/upload",parentId:"239",id:"259"},260:{path:"/users/:username/topics/:topicstype",parentId:"239",id:"260"},261:{path:"/users/:username/vspaces",parentId:"239",id:"261"},262:{path:"/users/:username/resourcesCenter",parentId:"239",id:"262"},263:{path:"/users/:username/resourcesCenter/:id/detail",parentId:"239",id:"263"},264:{path:"/users/:username/resourceGuarantee",parentId:"239",id:"264"},265:{path:"/users/:username/resourceAllocation",parentId:"239",id:"265"},266:{parentId:"1",id:"266"},267:{path:"/problems",parentId:"266",id:"267"},268:{path:"/problems",parentId:"267",id:"268"},269:{path:"/problems/batchAdd",parentId:"267",id:"269"},270:{path:"/problems/newcreate",parentId:"266",id:"270"},271:{path:"/problems/newedit/:id",exact:!0,parentId:"266",id:"271"},272:{path:"/problems/:id/edit",exact:!0,parentId:"266",id:"272"},273:{path:"/problems/new",exact:!0,parentId:"266",id:"273"},274:{path:"/problems/:id/oj/:save_identifier",parentId:"266",id:"274"},275:{path:"/problems/:id/record-detail/:submitId",parentId:"266",id:"275"},276:{path:"/problems/add",parentId:"266",id:"276"},277:{path:"/problems/:id/ojedit",parentId:"266",id:"277"},278:{path:"/engineering",parentId:"1",id:"278"},279:{path:"/engineering",parentId:"278",id:"279"},280:{path:"/engineering/teacherList",parentId:"279",id:"280"},281:{path:"/engineering/studentList",parentId:"279",id:"281"},282:{path:"/engineering/training/program",parentId:"279",id:"282"},283:{path:"/engineering/training/program/add",parentId:"279",id:"283"},284:{path:"/engineering/training/program/edit",parentId:"279",id:"284"},285:{path:"/engineering/training/objectives",parentId:"279",id:"285"},286:{path:"/engineering/graduated/index",parentId:"279",id:"286"},287:{path:"/engineering/graduated/matrix",parentId:"279",id:"287"},288:{path:"/engineering/course/list",parentId:"279",id:"288"},289:{path:"/engineering/course/setting",parentId:"279",id:"289"},290:{path:"/engineering/course/matrix",parentId:"279",id:"290"},291:{path:"/engineering/navigation",parentId:"279",id:"291"},292:{path:"/engineering/evaluate/course",parentId:"279",id:"292"},293:{path:"/engineering/evaluate/course/:ec_year_id/:id",parentId:"279",id:"293"},294:{path:"/engineering/evaluate/norm",parentId:"279",id:"294"},295:{path:"/engineering/evaluate/document",parentId:"279",id:"295"},296:{path:"/engineering/evaluate/norm/:ec_year_id/:id",parentId:"279",id:"296"},297:{path:"/engineering/*",redirect:"/404",parentId:"279",id:"297"},298:{path:"/innovation",parentId:"1",id:"298"},299:{path:"/innovation/tasks/:taskId",parentId:"298",id:"299"},300:{path:"/innovation",parentId:"298",id:"300"},301:{path:"/innovation/project",parentId:"300",id:"301"},302:{path:"/innovation/dataset",parentId:"300",id:"302"},303:{path:"/innovation/mirror",parentId:"300",id:"303"},304:{path:"/innovation/my-project",parentId:"300",id:"304"},305:{path:"/innovation/my-dataset",parentId:"300",id:"305"},306:{path:"/innovation/my-mirror",parentId:"300",id:"306"},307:{path:"/innovation/project/create",parentId:"300",id:"307"},308:{path:"/innovation/project/edit/:id",parentId:"300",id:"308"},309:{path:"/innovation/project/detail/:taskId",parentId:"300",id:"309"},310:{path:"/tasks",parentId:"1",id:"310"},311:{path:"/tasks/:taskId",exact:!0,parentId:"310",id:"311"},312:{path:"/tasks/:identifier/jupyter/",exact:!0,parentId:"310",id:"312"},313:{path:"/tasks/:courseId/:homeworkId/:taskId",exact:!0,parentId:"310",id:"313"},314:{path:"/tasks/jupyter/:courseId/:homeworkId/:identifier",exact:!0,parentId:"310",id:"314"},315:{path:"/tasks/:courseId/:exerciseId/:taskId/exercise",exact:!0,parentId:"310",id:"315"},316:{path:"/myproblems",parentId:"1",id:"316"},317:{path:"/myproblems/:id/record-detail/:submitId",exact:!0,parentId:"316",id:"317"},318:{path:"/myproblems/:id",exact:!0,parentId:"316",id:"318"},319:{path:"/account",parentId:"1",id:"319"},320:{path:"/account",parentId:"319",id:"320"},321:{path:"/account/profile",parentId:"320",id:"321"},322:{path:"/account/profile/edit",parentId:"320",id:"322"},323:{path:"/account/certification",parentId:"320",id:"323"},324:{path:"/account/secure",parentId:"320",id:"324"},325:{path:"/account/binding",parentId:"320",id:"325"},326:{path:"/account/Results",parentId:"320",id:"326"},327:{path:"/ch",parentId:"1",id:"327"},328:{path:"/ch/rest/edit/:categoryId/:id",exact:!0,parentId:"327",id:"328"},329:{path:"/ch/rest/",exact:!0,parentId:"327",id:"329"},330:{path:"/ch/rest/:id",exact:!0,parentId:"327",id:"330"},331:{path:"/order",parentId:"1",id:"331"},332:{path:"/order",parentId:"331",id:"332"},333:{path:"/order/invoice",parentId:"331",id:"333"},334:{path:"/order/records",parentId:"331",id:"334"},335:{path:"/order/apply",parentId:"331",id:"335"},336:{path:"/order/view",parentId:"331",id:"336"},337:{path:"/order/:courseId/information",parentId:"331",id:"337"},338:{path:"/order/:courseId/pay",parentId:"331",id:"338"},339:{path:"/order/:orderNum/result",parentId:"331",id:"339"},340:{path:"/messages",parentId:"1",id:"340"},341:{path:"/messages/:userId/user_tidings",parentId:"340",id:"341"},342:{path:"/messages/:userId/private_messages",parentId:"340",id:"342"},343:{path:"/messages/:userId/message_detail",parentId:"340",id:"343"},344:{path:"/vtrs",parentId:"1",id:"344"},345:{path:"/vtrs/:virtual_spacesId",parentId:"344",id:"345"},346:{path:"/vtrs/:virtual_spacesId",exact:!0,parentId:"345",id:"346"},347:{path:"/vtrs/:virtual_spacesId/workplace",exact:!0,parentId:"345",id:"347"},348:{path:"/vtrs/:virtual_spacesId/experiment",parentId:"345",id:"348"},349:{path:"/vtrs/:virtual_spacesId/announcement",parentId:"345",id:"349"},350:{path:"/vtrs/:virtual_spacesId/announcement/add",parentId:"345",id:"350"},351:{path:"/vtrs/:virtual_spacesId/announcement/:id/edit",parentId:"345",id:"351"},352:{path:"/vtrs/:virtual_spacesId/announcement/:id/detail",parentId:"345",id:"352"},353:{path:"/vtrs/:virtual_spacesId/survey",parentId:"345",id:"353"},354:{path:"/vtrs/:virtual_spacesId/survey/:id/detail",parentId:"345",id:"354"},355:{path:"/vtrs/:virtual_spacesId/knowledge",parentId:"345",id:"355"},356:{path:"/vtrs/:virtual_spacesId/knowledge/add",parentId:"345",id:"356"},357:{path:"/vtrs/:virtual_spacesId/knowledge/:id/edit",parentId:"345",id:"357"},358:{path:"/vtrs/:virtual_spacesId/material",parentId:"345",id:"358"},359:{path:"/vtrs/:virtual_spacesId/material/:id/detail",parentId:"345",id:"359"},360:{path:"/vtrs/:virtual_spacesId/lesson",parentId:"345",id:"360"},361:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail",parentId:"345",id:"361"},362:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"345",id:"362"},363:{path:"/vtrs/:virtual_spacesId/discussion",parentId:"345",id:"363"},364:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail",parentId:"345",id:"364"},365:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"345",id:"365"},366:{path:"/vtrs/:virtual_spacesId/settings",parentId:"345",id:"366"},367:{path:"/vtrs/:virtual_spacesId/resources",parentId:"345",id:"367"},368:{path:"/vtrs/:virtual_spacesId/resources/:id/detail",parentId:"345",id:"368"},369:{path:"/vtrs/:virtual_spacesId/Plan",parentId:"345",id:"369"},370:{path:"/vtrs/:virtual_spacesId/plan/:id/detail",parentId:"345",id:"370"},371:{path:"/vtrs/:virtual_spacesId/digtal",parentId:"345",id:"371"},372:{path:"/vtrs/:virtual_spacesId/homepage",parentId:"345",id:"372"},373:{path:"/vtrs/:virtual_spacesId/*",parentId:"345",id:"373"},374:{path:"/101",parentId:"1",id:"374"},375:{path:"/101/:virtual_spacesId",parentId:"374",id:"375"},376:{path:"/101/:virtual_spacesId",exact:!0,parentId:"375",id:"376"},377:{path:"/101/:virtual_spacesId/workplace",exact:!0,parentId:"375",id:"377"},378:{path:"/101/:virtual_spacesId/experiment",parentId:"375",id:"378"},379:{path:"/101/:virtual_spacesId/announcement",parentId:"375",id:"379"},380:{path:"/101/:virtual_spacesId/announcement/add",parentId:"375",id:"380"},381:{path:"/101/:virtual_spacesId/announcement/:id/edit",parentId:"375",id:"381"},382:{path:"/101/:virtual_spacesId/announcement/:id/detail",parentId:"375",id:"382"},383:{path:"/101/:virtual_spacesId/survey",parentId:"375",id:"383"},384:{path:"/101/:virtual_spacesId/survey/:id/detail",parentId:"375",id:"384"},385:{path:"/101/:virtual_spacesId/knowledge",parentId:"375",id:"385"},386:{path:"/101/:virtual_spacesId/knowledge/add",parentId:"375",id:"386"},387:{path:"/101/:virtual_spacesId/knowledge/:id/edit",parentId:"375",id:"387"},388:{path:"/101/:virtual_spacesId/material",parentId:"375",id:"388"},389:{path:"/101/:virtual_spacesId/material/:id/detail",parentId:"375",id:"389"},390:{path:"/101/:virtual_spacesId/lesson",parentId:"375",id:"390"},391:{path:"/101/:virtual_spacesId/lesson/:id/detail",parentId:"375",id:"391"},392:{path:"/101/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"375",id:"392"},393:{path:"/101/:virtual_spacesId/discussion",parentId:"375",id:"393"},394:{path:"/101/:virtual_spacesId/discussion/:id/detail",parentId:"375",id:"394"},395:{path:"/101/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"375",id:"395"},396:{path:"/101/:virtual_spacesId/settings",parentId:"375",id:"396"},397:{path:"/101/:virtual_spacesId/resources",parentId:"375",id:"397"},398:{path:"/101/:virtual_spacesId/resources/:id/detail",parentId:"375",id:"398"},399:{path:"/101/:virtual_spacesId/Plan",parentId:"375",id:"399"},400:{path:"/101/:virtual_spacesId/plan/:id/detail",parentId:"375",id:"400"},401:{path:"/101/:virtual_spacesId/digtal",parentId:"375",id:"401"},402:{path:"/101/:virtual_spacesId/homepage",parentId:"375",id:"402"},403:{path:"/101/:virtual_spacesId/*",parentId:"375",id:"403"},404:{path:"/administration",parentId:"1",id:"404"},405:{path:"/administration",parentId:"404",id:"405"},406:{path:"/administration/college",parentId:"405",id:"406"},407:{path:"/administration/student",parentId:"405",id:"407"},408:{path:"/administration/student/:studentId/edit",parentId:"405",id:"408"},409:{path:"/administration/profession",parentId:"405",id:"409"},410:{path:"/graduations",parentId:"1",id:"410"},411:{path:"/graduations",exact:!0,parentId:"410",id:"411"},412:{path:"/graduations/:id/:moduleKey/:moduleId/review/:itemId",exact:!0,parentId:"410",id:"412"},413:{path:"/graduations/:id",parentId:"410",id:"413"},414:{path:"/graduations/:id/index",parentId:"413",id:"414"},415:{path:"/graduations/:id/topics",parentId:"413",id:"415"},416:{path:"/graduations/:id/student_selection",parentId:"413",id:"416"},417:{path:"/graduations/:id/tasks",parentId:"413",id:"417"},418:{path:"/graduations/:id/opening_report",parentId:"413",id:"418"},419:{path:"/graduations/:id/midterm_report",parentId:"413",id:"419"},420:{path:"/graduations/:id/thesis",parentId:"413",id:"420"},421:{path:"/graduations/:id/final_defense",parentId:"413",id:"421"},422:{path:"/graduations/:id/final_thesis",parentId:"413",id:"422"},423:{path:"/graduations/:id/settings",parentId:"413",id:"423"},424:{path:"/graduations/:id/teachers",parentId:"413",id:"424"},425:{path:"/graduations/:id/students",parentId:"413",id:"425"},426:{path:"/graduations/:id/archives",parentId:"413",id:"426"},427:{path:"/graduations/:id/grading_summary",parentId:"413",id:"427"},428:{path:"/dataset",parentId:"1",id:"428"},429:{path:"/dataset",exact:!0,parentId:"428",id:"429"},430:{path:"/dataset/:id/detail",exact:!0,parentId:"428",id:"430"},431:{path:"/knowledgegraph",parentId:"1",id:"431"},432:{path:"/knowledgegraph/:pathId",parentId:"431",id:"432"},433:{path:"/knowledgegraph/:pathId/abilityMap/edit/:abilityMapId",parentId:"431",id:"433"},434:{path:"/knowledgegraph/:pathId/abilityMap/detail/:abilityId",parentId:"431",id:"434"},435:{path:"/knowledgegraph/:pathId/statistics",parentId:"431",id:"435"},436:{parentId:"431",id:"436"},437:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId",parentId:"436",id:"437"},438:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId/detail/:detailId",parentId:"436",id:"438"},439:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId",parentId:"436",id:"439"},440:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId/detail",parentId:"436",id:"440"},441:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId",parentId:"436",id:"441"},442:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId/detail/:detailId",parentId:"436",id:"442"},443:{path:"/miniprogram",parentId:"1",id:"443"},444:{path:"/miniprogram/courseware/study",exact:!0,parentId:"443",id:"444"},445:{path:"/educoder-demo",exact:!0,parentId:"1",id:"445"},446:{path:"/classrooms/:coursesId/smart_plan/:id/ppt_info/info",exact:!0,parentId:"1",id:"446"},447:{path:"/classrooms/:coursesId/smart_plan/:id/users/:user_login/ppt_info/info",exact:!0,parentId:"1",id:"447"},448:{path:"/training",parentId:"1",id:"448"},449:{name:"\u7CBE\u57F9\u8BFE\u7A0B",path:"/training",parentId:"448",id:"449"},450:{path:"/largeScreen",exact:!0,parentId:"1",id:"450"},451:{path:"/effectivenessAnalysis/:coursesId",exact:!0,parentId:"1",id:"451"},452:{path:"/quality",parentId:"1",id:"452"},453:{name:"\u7CBE\u54C1\u8BFE\u7A0B",path:"/quality",parentId:"452",id:"453"},454:{path:"/otherlogin",exact:!0,parentId:"1",id:"454"},455:{path:"/otherloginqq",exact:!0,parentId:"1",id:"455"},456:{path:"/otherloginstart",exact:!0,parentId:"1",id:"456"},457:{path:"/pathsoverview",exact:!0,parentId:"1",id:"457"},458:{path:"/shixunsoverview",exact:!0,parentId:"1",id:"458"},459:{path:"/classroomsoverview",exact:!0,parentId:"1",id:"459"},460:{path:"/login",parentId:"1",id:"460"},461:{path:"/login",parentId:"460",id:"461"},462:{path:"/user",parentId:"1",id:"462"},463:{path:"/user/login",parentId:"462",id:"463"},464:{path:"/user/register",parentId:"462",id:"464"},465:{path:"/user/reset-password",parentId:"462",id:"465"},466:{path:"/colleges",parentId:"1",id:"466"},467:{path:"/colleges/:id/statistics",parentId:"466",id:"467"},468:{path:"/help",parentId:"1",id:"468"},469:{path:"/help/:id",parentId:"468",id:"469"},470:{path:"/video",parentId:"1",id:"470"},471:{path:"/video/:videoId",parentId:"470",id:"471"},472:{path:"/terminal",parentId:"1",id:"472"},473:{path:"/report/:taskId/:game_report_id",parentId:"1",id:"473"},474:{path:"/wrongAnswer",parentId:"1",id:"474"},475:{path:"/bwdemo",parentId:"1",id:"475"},476:{path:"/",parentId:"1",id:"476"},477:{path:"/",exact:!0,parentId:"476",id:"477"},478:{path:"/api/*",exact:!0,parentId:"476",id:"478"},479:{path:"/search",exact:!0,parentId:"476",id:"479"},480:{path:"/moop_cases",exact:!0,parentId:"476",id:"480"},481:{path:"/moop_cases/new",exact:!0,parentId:"476",id:"481"},482:{path:"/moop_cases/:caseId",exact:!0,parentId:"476",id:"482"},483:{path:"/moop_cases/:caseId/edit",exact:!0,parentId:"476",id:"483"},484:{path:"/moop_cases/:caseId/publish-success",exact:!0,parentId:"476",id:"484"},485:{path:"/randompaper",exact:!0,parentId:"476",id:"485"},486:{path:"/randompaper/edit/:id",exact:!0,parentId:"476",id:"486"},487:{path:"/randompaper/detail/:id",exact:!0,parentId:"476",id:"487"},488:{path:"/403",parentId:"476",id:"488"},489:{path:"/500",parentId:"476",id:"489"},490:{path:"/404",parentId:"476",id:"490"},491:{path:"/download",parentId:"476",id:"491"},492:{path:"/iwce",parentId:"476",id:"492"},493:{path:"/classrooms/:coursesId/attendance/TeacherSign",parentId:"476",id:"493"},494:{path:"/classrooms/:coursesId/attendance/:categoryId",parentId:"476",id:"494"},495:{path:"/Activities",parentId:"476",id:"495"},496:{path:"/iwce/:itemname",parentId:"476",id:"496"},497:{path:"/hpc-course",parentId:"476",id:"497"},498:{path:"/user_agents",parentId:"476",id:"498"},499:{path:"/three",parentId:"476",id:"499"},500:{path:"/introduction",parentId:"476",id:"500"},501:{path:"/chatgpt",parentId:"476",id:"501"},502:{path:"/*",parentId:"476",id:"502"},"@@/global-layout":{id:"@@/global-layout",path:"/",isLayout:!0}},routeComponents:{1:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),2:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),3:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4862)]).then(__webpack_require__.bind(__webpack_require__,76563))),4:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(3260)]).then(__webpack_require__.bind(__webpack_require__,8391))),5:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(3260)]).then(__webpack_require__.bind(__webpack_require__,8391))),6:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3247)]).then(__webpack_require__.bind(__webpack_require__,64226))),7:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),8:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(1545)]).then(__webpack_require__.bind(__webpack_require__,91046))),9:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),10:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6052)]).then(__webpack_require__.bind(__webpack_require__,59763))),11:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5572)]).then(__webpack_require__.bind(__webpack_require__,27851))),12:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8982)]).then(__webpack_require__.bind(__webpack_require__,86364))),13:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(869)]).then(__webpack_require__.bind(__webpack_require__,58966))),14:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(8880),__webpack_require__.e(3332)]).then(__webpack_require__.bind(__webpack_require__,60538))),15:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4601)]).then(__webpack_require__.bind(__webpack_require__,22834))),16:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8982)]).then(__webpack_require__.bind(__webpack_require__,86364))),17:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),18:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),19:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),20:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6685)]).then(__webpack_require__.bind(__webpack_require__,46275))),21:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9921)]).then(__webpack_require__.bind(__webpack_require__,20973))),22:ae.lazy(()=>__webpack_require__.e(1674).then(__webpack_require__.bind(__webpack_require__,31793))),23:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6685)]).then(__webpack_require__.bind(__webpack_require__,46275))),24:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1702)]).then(__webpack_require__.bind(__webpack_require__,37273))),25:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1702)]).then(__webpack_require__.bind(__webpack_require__,37273))),26:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6882)]).then(__webpack_require__.bind(__webpack_require__,45029))),27:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6882)]).then(__webpack_require__.bind(__webpack_require__,45029))),28:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(109)]).then(__webpack_require__.bind(__webpack_require__,46922))),29:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(737)]).then(__webpack_require__.bind(__webpack_require__,94044))),30:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3391)]).then(__webpack_require__.bind(__webpack_require__,67311))),31:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6930),__webpack_require__.e(3581)]).then(__webpack_require__.bind(__webpack_require__,55314))),32:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5927)]).then(__webpack_require__.bind(__webpack_require__,59832))),33:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(342)]).then(__webpack_require__.bind(__webpack_require__,96954))),34:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(925),__webpack_require__.e(2303)]).then(__webpack_require__.bind(__webpack_require__,63437))),35:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1450)]).then(__webpack_require__.bind(__webpack_require__,60922))),36:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(195)]).then(__webpack_require__.bind(__webpack_require__,70731))),37:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(3668)]).then(__webpack_require__.bind(__webpack_require__,72069))),38:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(925),__webpack_require__.e(2338)]).then(__webpack_require__.bind(__webpack_require__,61995))),39:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4662)]).then(__webpack_require__.bind(__webpack_require__,75400))),40:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8072)]).then(__webpack_require__.bind(__webpack_require__,52934))),41:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(479)]).then(__webpack_require__.bind(__webpack_require__,34353))),42:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5297)]).then(__webpack_require__.bind(__webpack_require__,30748))),43:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8795)]).then(__webpack_require__.bind(__webpack_require__,57120))),44:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(4164)]).then(__webpack_require__.bind(__webpack_require__,28113))),45:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),46:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4889)]).then(__webpack_require__.bind(__webpack_require__,60839))),47:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4105)]).then(__webpack_require__.bind(__webpack_require__,77638))),48:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(7883)]).then(__webpack_require__.bind(__webpack_require__,31750))),49:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7482)]).then(__webpack_require__.bind(__webpack_require__,53147))),50:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5816)]).then(__webpack_require__.bind(__webpack_require__,12624))),51:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(337)]).then(__webpack_require__.bind(__webpack_require__,23129))),52:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,84511))),53:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6679),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,84511))),54:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5992)]).then(__webpack_require__.bind(__webpack_require__,10147))),55:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8085)]).then(__webpack_require__.bind(__webpack_require__,98327))),56:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8085)]).then(__webpack_require__.bind(__webpack_require__,98327))),57:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8431)]).then(__webpack_require__.bind(__webpack_require__,83922))),58:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5902)]).then(__webpack_require__.bind(__webpack_require__,82856))),59:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(3433)]).then(__webpack_require__.bind(__webpack_require__,31533))),60:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5125)]).then(__webpack_require__.bind(__webpack_require__,3276))),61:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5125)]).then(__webpack_require__.bind(__webpack_require__,3276))),62:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(921)]).then(__webpack_require__.bind(__webpack_require__,77329))),63:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(921)]).then(__webpack_require__.bind(__webpack_require__,77329))),64:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1578)]).then(__webpack_require__.bind(__webpack_require__,75288))),65:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3317)]).then(__webpack_require__.bind(__webpack_require__,83485))),66:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1482)]).then(__webpack_require__.bind(__webpack_require__,97780))),67:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4795)]).then(__webpack_require__.bind(__webpack_require__,28915))),68:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(26)]).then(__webpack_require__.bind(__webpack_require__,57643))),69:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8882)]).then(__webpack_require__.bind(__webpack_require__,8321))),70:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5888)]).then(__webpack_require__.bind(__webpack_require__,77498))),71:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9715)]).then(__webpack_require__.bind(__webpack_require__,56010))),72:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7045)]).then(__webpack_require__.bind(__webpack_require__,7769))),73:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1211)]).then(__webpack_require__.bind(__webpack_require__,36618))),74:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1582)]).then(__webpack_require__.bind(__webpack_require__,1910))),75:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6729)]).then(__webpack_require__.bind(__webpack_require__,34104))),76:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9695)]).then(__webpack_require__.bind(__webpack_require__,3487))),77:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8723)]).then(__webpack_require__.bind(__webpack_require__,17042))),78:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7622)]).then(__webpack_require__.bind(__webpack_require__,72583))),79:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5148)]).then(__webpack_require__.bind(__webpack_require__,61193))),80:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(643)]).then(__webpack_require__.bind(__webpack_require__,13750))),81:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3442)]).then(__webpack_require__.bind(__webpack_require__,96046))),82:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2102)]).then(__webpack_require__.bind(__webpack_require__,22996))),83:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2425)]).then(__webpack_require__.bind(__webpack_require__,41305))),84:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2404)]).then(__webpack_require__.bind(__webpack_require__,78554))),85:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9785)]).then(__webpack_require__.bind(__webpack_require__,74124))),86:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(869)]).then(__webpack_require__.bind(__webpack_require__,58966))),87:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2819)]).then(__webpack_require__.bind(__webpack_require__,55998))),88:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1512)]).then(__webpack_require__.bind(__webpack_require__,31905))),89:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7395)]).then(__webpack_require__.bind(__webpack_require__,21229))),90:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3585)]).then(__webpack_require__.bind(__webpack_require__,98731))),91:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6963)]).then(__webpack_require__.bind(__webpack_require__,37244))),92:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4030)]).then(__webpack_require__.bind(__webpack_require__,35171))),93:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4030)]).then(__webpack_require__.bind(__webpack_require__,35171))),94:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6127)]).then(__webpack_require__.bind(__webpack_require__,42383))),95:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6930),__webpack_require__.e(3951)]).then(__webpack_require__.bind(__webpack_require__,7967))),96:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1048)]).then(__webpack_require__.bind(__webpack_require__,97838))),97:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(2884)]).then(__webpack_require__.bind(__webpack_require__,22186))),98:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4770)]).then(__webpack_require__.bind(__webpack_require__,57454))),99:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2603)]).then(__webpack_require__.bind(__webpack_require__,60846))),100:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4216)]).then(__webpack_require__.bind(__webpack_require__,45062))),101:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5319)]).then(__webpack_require__.bind(__webpack_require__,93341))),102:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(895)]).then(__webpack_require__.bind(__webpack_require__,25921))),103:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3282)]).then(__webpack_require__.bind(__webpack_require__,2414))),104:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(7852)]).then(__webpack_require__.bind(__webpack_require__,20383))),105:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(7852)]).then(__webpack_require__.bind(__webpack_require__,20383))),106:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5048)]).then(__webpack_require__.bind(__webpack_require__,77437))),107:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1043)]).then(__webpack_require__.bind(__webpack_require__,15828))),108:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1043)]).then(__webpack_require__.bind(__webpack_require__,15828))),109:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5825)]).then(__webpack_require__.bind(__webpack_require__,57720))),110:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5825)]).then(__webpack_require__.bind(__webpack_require__,57720))),111:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3355)]).then(__webpack_require__.bind(__webpack_require__,3403))),112:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3355)]).then(__webpack_require__.bind(__webpack_require__,3403))),113:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(9890)]).then(__webpack_require__.bind(__webpack_require__,24703))),114:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(9890)]).then(__webpack_require__.bind(__webpack_require__,24703))),115:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(3935)]).then(__webpack_require__.bind(__webpack_require__,14902))),116:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(3935)]).then(__webpack_require__.bind(__webpack_require__,14902))),117:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8014)]).then(__webpack_require__.bind(__webpack_require__,6218))),118:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8077)]).then(__webpack_require__.bind(__webpack_require__,83443))),119:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3356)]).then(__webpack_require__.bind(__webpack_require__,5010))),120:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(6788)]).then(__webpack_require__.bind(__webpack_require__,11008))),121:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6930),__webpack_require__.e(6788)]).then(__webpack_require__.bind(__webpack_require__,11008))),122:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1962)]).then(__webpack_require__.bind(__webpack_require__,21413))),123:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4928)]).then(__webpack_require__.bind(__webpack_require__,11133))),124:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1257)]).then(__webpack_require__.bind(__webpack_require__,25251))),125:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8435)]).then(__webpack_require__.bind(__webpack_require__,22084))),126:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8340)]).then(__webpack_require__.bind(__webpack_require__,25083))),127:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4093)]).then(__webpack_require__.bind(__webpack_require__,29860))),128:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1265)]).then(__webpack_require__.bind(__webpack_require__,61434))),129:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1265)]).then(__webpack_require__.bind(__webpack_require__,61434))),130:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8880),__webpack_require__.e(8827)]).then(__webpack_require__.bind(__webpack_require__,51291))),131:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8880),__webpack_require__.e(8827)]).then(__webpack_require__.bind(__webpack_require__,51291))),132:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6758)]).then(__webpack_require__.bind(__webpack_require__,27776))),133:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6758)]).then(__webpack_require__.bind(__webpack_require__,27776))),134:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9332)]).then(__webpack_require__.bind(__webpack_require__,66640))),135:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9332)]).then(__webpack_require__.bind(__webpack_require__,66640))),136:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4217)]).then(__webpack_require__.bind(__webpack_require__,96573))),137:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3220)]).then(__webpack_require__.bind(__webpack_require__,73342))),138:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(533)]).then(__webpack_require__.bind(__webpack_require__,1697))),139:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5798)]).then(__webpack_require__.bind(__webpack_require__,70302))),140:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7878)]).then(__webpack_require__.bind(__webpack_require__,27599))),141:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7878)]).then(__webpack_require__.bind(__webpack_require__,27599))),142:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9944)]).then(__webpack_require__.bind(__webpack_require__,76161))),143:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8302)]).then(__webpack_require__.bind(__webpack_require__,91542))),144:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8302)]).then(__webpack_require__.bind(__webpack_require__,91542))),145:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8634)]).then(__webpack_require__.bind(__webpack_require__,69808))),146:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8634)]).then(__webpack_require__.bind(__webpack_require__,69808))),147:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7922)]).then(__webpack_require__.bind(__webpack_require__,8176))),148:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1727)]).then(__webpack_require__.bind(__webpack_require__,21095))),149:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1727)]).then(__webpack_require__.bind(__webpack_require__,21095))),150:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(1427)]).then(__webpack_require__.bind(__webpack_require__,63679))),151:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(1427)]).then(__webpack_require__.bind(__webpack_require__,63679))),152:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8689)]).then(__webpack_require__.bind(__webpack_require__,99046))),153:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7806)]).then(__webpack_require__.bind(__webpack_require__,82503))),154:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8885)]).then(__webpack_require__.bind(__webpack_require__,50715))),155:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3451)]).then(__webpack_require__.bind(__webpack_require__,90317))),156:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9922)]).then(__webpack_require__.bind(__webpack_require__,1377))),157:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4572)]).then(__webpack_require__.bind(__webpack_require__,65515))),158:ae.lazy(()=>__webpack_require__.e(4017).then(__webpack_require__.bind(__webpack_require__,99342))),159:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5518)]).then(__webpack_require__.bind(__webpack_require__,26032))),160:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5741)]).then(__webpack_require__.bind(__webpack_require__,82047))),161:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(745)]).then(__webpack_require__.bind(__webpack_require__,5787))),162:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),163:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6883)]).then(__webpack_require__.bind(__webpack_require__,80961))),164:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6883)]).then(__webpack_require__.bind(__webpack_require__,80961))),165:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4449)]).then(__webpack_require__.bind(__webpack_require__,43008))),166:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6883)]).then(__webpack_require__.bind(__webpack_require__,80961))),167:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(2570)]).then(__webpack_require__.bind(__webpack_require__,58645))),168:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(2570)]).then(__webpack_require__.bind(__webpack_require__,58645))),169:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8787)]).then(__webpack_require__.bind(__webpack_require__,719))),170:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5650)]).then(__webpack_require__.bind(__webpack_require__,14796))),171:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1799)]).then(__webpack_require__.bind(__webpack_require__,5629))),172:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(8797)]).then(__webpack_require__.bind(__webpack_require__,29526))),173:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),174:ae.lazy(()=>__webpack_require__.e(8639).then(__webpack_require__.bind(__webpack_require__,37226))),175:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2983)]).then(__webpack_require__.bind(__webpack_require__,24564))),176:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4264)]).then(__webpack_require__.bind(__webpack_require__,96560))),177:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4264)]).then(__webpack_require__.bind(__webpack_require__,96560))),178:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(508)]).then(__webpack_require__.bind(__webpack_require__,35918))),179:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),180:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),181:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1953)]).then(__webpack_require__.bind(__webpack_require__,85953))),182:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1953)]).then(__webpack_require__.bind(__webpack_require__,85953))),183:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1581)]).then(__webpack_require__.bind(__webpack_require__,6413))),184:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4144)]).then(__webpack_require__.bind(__webpack_require__,37852))),185:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(4599)]).then(__webpack_require__.bind(__webpack_require__,46627))),186:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),187:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8782)]).then(__webpack_require__.bind(__webpack_require__,20186))),188:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7884)]).then(__webpack_require__.bind(__webpack_require__,15352))),189:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7008)]).then(__webpack_require__.bind(__webpack_require__,98622))),190:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5549)]).then(__webpack_require__.bind(__webpack_require__,84246))),191:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9674)]).then(__webpack_require__.bind(__webpack_require__,28092))),192:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5573)]).then(__webpack_require__.bind(__webpack_require__,40580))),193:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2141)]).then(__webpack_require__.bind(__webpack_require__,2751))),194:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(95),__webpack_require__.e(6277)]).then(__webpack_require__.bind(__webpack_require__,69638))),195:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6328)]).then(__webpack_require__.bind(__webpack_require__,21052))),196:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7857)]).then(__webpack_require__.bind(__webpack_require__,46897))),197:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(1657)]).then(__webpack_require__.bind(__webpack_require__,29040))),198:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(1657)]).then(__webpack_require__.bind(__webpack_require__,29040))),199:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(4498)]).then(__webpack_require__.bind(__webpack_require__,2134))),200:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7690),__webpack_require__.e(4498)]).then(__webpack_require__.bind(__webpack_require__,2134))),201:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9205)]).then(__webpack_require__.bind(__webpack_require__,56405))),202:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1423)]).then(__webpack_require__.bind(__webpack_require__,92185))),203:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7614)]).then(__webpack_require__.bind(__webpack_require__,63798))),204:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2875)]).then(__webpack_require__.bind(__webpack_require__,182))),205:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(9472)]).then(__webpack_require__.bind(__webpack_require__,8130))),206:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(9133)]).then(__webpack_require__.bind(__webpack_require__,70624))),207:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),208:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),209:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5470)]).then(__webpack_require__.bind(__webpack_require__,18509))),210:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6541)]).then(__webpack_require__.bind(__webpack_require__,52021))),211:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1475)]).then(__webpack_require__.bind(__webpack_require__,58100))),212:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(2254)]).then(__webpack_require__.bind(__webpack_require__,71666))),213:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(9408)]).then(__webpack_require__.bind(__webpack_require__,28744))),214:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(95),__webpack_require__.e(6845)]).then(__webpack_require__.bind(__webpack_require__,72281))),215:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4884)]).then(__webpack_require__.bind(__webpack_require__,96146))),216:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4884)]).then(__webpack_require__.bind(__webpack_require__,96146))),217:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1148)]).then(__webpack_require__.bind(__webpack_require__,6850))),218:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1148)]).then(__webpack_require__.bind(__webpack_require__,6850))),219:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7046)]).then(__webpack_require__.bind(__webpack_require__,83283))),220:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7046)]).then(__webpack_require__.bind(__webpack_require__,83283))),221:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),222:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8688)]).then(__webpack_require__.bind(__webpack_require__,51518))),223:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5096)]).then(__webpack_require__.bind(__webpack_require__,68639))),224:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9215)]).then(__webpack_require__.bind(__webpack_require__,5134))),225:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),226:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5176)]).then(__webpack_require__.bind(__webpack_require__,59622))),227:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6587)]).then(__webpack_require__.bind(__webpack_require__,65866))),228:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9891)]).then(__webpack_require__.bind(__webpack_require__,86974))),229:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8062)]).then(__webpack_require__.bind(__webpack_require__,49690))),230:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5402)]).then(__webpack_require__.bind(__webpack_require__,50650))),231:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5402)]).then(__webpack_require__.bind(__webpack_require__,50650))),232:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6820)]).then(__webpack_require__.bind(__webpack_require__,8191))),233:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8517)]).then(__webpack_require__.bind(__webpack_require__,31721))),234:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7043)]).then(__webpack_require__.bind(__webpack_require__,80751))),235:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(2806)]).then(__webpack_require__.bind(__webpack_require__,53605))),236:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5043)]).then(__webpack_require__.bind(__webpack_require__,8712))),237:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(799)]).then(__webpack_require__.bind(__webpack_require__,26021))),238:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3157)]).then(__webpack_require__.bind(__webpack_require__,75992))),239:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2529)]).then(__webpack_require__.bind(__webpack_require__,43116))),240:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6583)]).then(__webpack_require__.bind(__webpack_require__,26501))),241:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5895)]).then(__webpack_require__.bind(__webpack_require__,22802))),242:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6982)]).then(__webpack_require__.bind(__webpack_require__,49451))),243:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6805)]).then(__webpack_require__.bind(__webpack_require__,97118))),244:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1416)]).then(__webpack_require__.bind(__webpack_require__,84215))),245:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6583)]).then(__webpack_require__.bind(__webpack_require__,26501))),246:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8307)]).then(__webpack_require__.bind(__webpack_require__,51705))),247:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2826)]).then(__webpack_require__.bind(__webpack_require__,59634))),248:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(2659)]).then(__webpack_require__.bind(__webpack_require__,31324))),249:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4610)]).then(__webpack_require__.bind(__webpack_require__,88755))),250:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9590)]).then(__webpack_require__.bind(__webpack_require__,81187))),251:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2076)]).then(__webpack_require__.bind(__webpack_require__,62484))),252:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4849)]).then(__webpack_require__.bind(__webpack_require__,20267))),253:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(310)]).then(__webpack_require__.bind(__webpack_require__,18460))),254:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5191)]).then(__webpack_require__.bind(__webpack_require__,43173))),255:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3496)]).then(__webpack_require__.bind(__webpack_require__,68861))),256:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5599)]).then(__webpack_require__.bind(__webpack_require__,56543))),257:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4736)]).then(__webpack_require__.bind(__webpack_require__,7942))),258:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2412)]).then(__webpack_require__.bind(__webpack_require__,89993))),259:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2240)]).then(__webpack_require__.bind(__webpack_require__,73879))),260:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(265)]).then(__webpack_require__.bind(__webpack_require__,21530))),261:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9360)]).then(__webpack_require__.bind(__webpack_require__,88038))),262:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2396)]).then(__webpack_require__.bind(__webpack_require__,35670))),263:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7855)]).then(__webpack_require__.bind(__webpack_require__,99624))),264:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9507)]).then(__webpack_require__.bind(__webpack_require__,69157))),265:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1343)]).then(__webpack_require__.bind(__webpack_require__,11234))),266:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),267:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),268:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9647)]).then(__webpack_require__.bind(__webpack_require__,3447))),269:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(485)]).then(__webpack_require__.bind(__webpack_require__,96555))),270:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4741)]).then(__webpack_require__.bind(__webpack_require__,39378))),271:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4741)]).then(__webpack_require__.bind(__webpack_require__,39378))),272:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4994)]).then(__webpack_require__.bind(__webpack_require__,833))),273:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7207),__webpack_require__.e(4994)]).then(__webpack_require__.bind(__webpack_require__,833))),274:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7460)]).then(__webpack_require__.bind(__webpack_require__,30197))),275:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9716)]).then(__webpack_require__.bind(__webpack_require__,84958))),276:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6913)]).then(__webpack_require__.bind(__webpack_require__,81171))),277:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6913)]).then(__webpack_require__.bind(__webpack_require__,81171))),278:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),279:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3006)]).then(__webpack_require__.bind(__webpack_require__,62861))),280:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2045)]).then(__webpack_require__.bind(__webpack_require__,10497))),281:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1520)]).then(__webpack_require__.bind(__webpack_require__,2131))),282:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9649)]).then(__webpack_require__.bind(__webpack_require__,62256))),283:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4546)]).then(__webpack_require__.bind(__webpack_require__,872))),284:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5357)]).then(__webpack_require__.bind(__webpack_require__,64361))),285:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8665)]).then(__webpack_require__.bind(__webpack_require__,85761))),286:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3183)]).then(__webpack_require__.bind(__webpack_require__,93875))),287:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4800)]).then(__webpack_require__.bind(__webpack_require__,21202))),288:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9489)]).then(__webpack_require__.bind(__webpack_require__,91460))),289:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9391)]).then(__webpack_require__.bind(__webpack_require__,17689))),290:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5335)]).then(__webpack_require__.bind(__webpack_require__,37222))),291:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2823)]).then(__webpack_require__.bind(__webpack_require__,14455))),292:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4973)]).then(__webpack_require__.bind(__webpack_require__,41313))),293:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(6651)]).then(__webpack_require__.bind(__webpack_require__,46859))),294:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6741)]).then(__webpack_require__.bind(__webpack_require__,5942))),295:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5775)]).then(__webpack_require__.bind(__webpack_require__,15920))),296:ae.lazy(()=>__webpack_require__.e(2548).then(__webpack_require__.bind(__webpack_require__,76515))),297:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),298:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),299:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6634)]).then(__webpack_require__.bind(__webpack_require__,97800))),300:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(680)]).then(__webpack_require__.bind(__webpack_require__,89705))),301:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6366)]).then(__webpack_require__.bind(__webpack_require__,47363))),302:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6452)]).then(__webpack_require__.bind(__webpack_require__,16302))),303:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1070)]).then(__webpack_require__.bind(__webpack_require__,90894))),304:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7242)]).then(__webpack_require__.bind(__webpack_require__,57211))),305:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2707)]).then(__webpack_require__.bind(__webpack_require__,14828))),306:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2865)]).then(__webpack_require__.bind(__webpack_require__,99436))),307:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6784)]).then(__webpack_require__.bind(__webpack_require__,19552))),308:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6784)]).then(__webpack_require__.bind(__webpack_require__,19552))),309:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3141)]).then(__webpack_require__.bind(__webpack_require__,562))),310:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),311:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(3665)]).then(__webpack_require__.bind(__webpack_require__,40180))),312:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(700)]).then(__webpack_require__.bind(__webpack_require__,40678))),313:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(3665)]).then(__webpack_require__.bind(__webpack_require__,40180))),314:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(700)]).then(__webpack_require__.bind(__webpack_require__,40678))),315:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(3665)]).then(__webpack_require__.bind(__webpack_require__,40180))),316:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),317:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(7527)]).then(__webpack_require__.bind(__webpack_require__,72222))),318:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(6270)]).then(__webpack_require__.bind(__webpack_require__,8243))),319:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),320:ae.lazy(()=>__webpack_require__.e(547).then(__webpack_require__.bind(__webpack_require__,21119))),321:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9788)]).then(__webpack_require__.bind(__webpack_require__,64348))),322:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(576)]).then(__webpack_require__.bind(__webpack_require__,21496))),323:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7260)]).then(__webpack_require__.bind(__webpack_require__,95335))),324:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4520)]).then(__webpack_require__.bind(__webpack_require__,45423))),325:ae.lazy(()=>__webpack_require__.e(9076).then(__webpack_require__.bind(__webpack_require__,37196))),326:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4514)]).then(__webpack_require__.bind(__webpack_require__,36178))),327:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),328:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(928)]).then(__webpack_require__.bind(__webpack_require__,10729))),329:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1006)]).then(__webpack_require__.bind(__webpack_require__,54204))),330:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1006)]).then(__webpack_require__.bind(__webpack_require__,54204))),331:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),332:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1939)]).then(__webpack_require__.bind(__webpack_require__,23395))),333:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(556)]).then(__webpack_require__.bind(__webpack_require__,68703))),334:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6434)]).then(__webpack_require__.bind(__webpack_require__,3819))),335:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1880)]).then(__webpack_require__.bind(__webpack_require__,39983))),336:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8237)]).then(__webpack_require__.bind(__webpack_require__,79046))),337:ae.lazy(()=>__webpack_require__.e(3447).then(__webpack_require__.bind(__webpack_require__,47873))),338:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(264)]).then(__webpack_require__.bind(__webpack_require__,42176))),339:ae.lazy(()=>__webpack_require__.e(4259).then(__webpack_require__.bind(__webpack_require__,10067))),340:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),341:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4078)]).then(__webpack_require__.bind(__webpack_require__,44308))),342:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2829)]).then(__webpack_require__.bind(__webpack_require__,82821))),343:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5359)]).then(__webpack_require__.bind(__webpack_require__,5211))),344:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),345:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(559)]).then(__webpack_require__.bind(__webpack_require__,54587))),346:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),347:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4757)]).then(__webpack_require__.bind(__webpack_require__,89955))),348:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1783)]).then(__webpack_require__.bind(__webpack_require__,61471))),349:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7477)]).then(__webpack_require__.bind(__webpack_require__,3279))),350:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),351:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),352:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6796)]).then(__webpack_require__.bind(__webpack_require__,36546))),353:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4504)]).then(__webpack_require__.bind(__webpack_require__,21105))),354:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7058)]).then(__webpack_require__.bind(__webpack_require__,97769))),355:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8447)]).then(__webpack_require__.bind(__webpack_require__,95905))),356:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),357:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),358:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5238)]).then(__webpack_require__.bind(__webpack_require__,13793))),359:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4715)]).then(__webpack_require__.bind(__webpack_require__,42100))),360:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3873)]).then(__webpack_require__.bind(__webpack_require__,22330))),361:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),362:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),363:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6265)]).then(__webpack_require__.bind(__webpack_require__,14291))),364:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),365:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),366:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1713)]).then(__webpack_require__.bind(__webpack_require__,82125))),367:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5891)]).then(__webpack_require__.bind(__webpack_require__,30654))),368:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8398)]).then(__webpack_require__.bind(__webpack_require__,38542))),369:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8241)]).then(__webpack_require__.bind(__webpack_require__,92314))),370:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2339)]).then(__webpack_require__.bind(__webpack_require__,74232))),371:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7589)]).then(__webpack_require__.bind(__webpack_require__,50983))),372:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),373:ae.lazy(()=>__webpack_require__.e(5705).then(__webpack_require__.bind(__webpack_require__,84033))),374:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),375:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(559)]).then(__webpack_require__.bind(__webpack_require__,54587))),376:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),377:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4757)]).then(__webpack_require__.bind(__webpack_require__,89955))),378:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1783)]).then(__webpack_require__.bind(__webpack_require__,61471))),379:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7477)]).then(__webpack_require__.bind(__webpack_require__,3279))),380:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),381:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(9677)]).then(__webpack_require__.bind(__webpack_require__,99661))),382:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6796)]).then(__webpack_require__.bind(__webpack_require__,36546))),383:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4504)]).then(__webpack_require__.bind(__webpack_require__,21105))),384:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7058)]).then(__webpack_require__.bind(__webpack_require__,97769))),385:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8447)]).then(__webpack_require__.bind(__webpack_require__,95905))),386:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),387:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1045)]).then(__webpack_require__.bind(__webpack_require__,97927))),388:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5238)]).then(__webpack_require__.bind(__webpack_require__,13793))),389:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4715)]).then(__webpack_require__.bind(__webpack_require__,42100))),390:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3873)]).then(__webpack_require__.bind(__webpack_require__,22330))),391:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),392:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6069)]).then(__webpack_require__.bind(__webpack_require__,91591))),393:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6265)]).then(__webpack_require__.bind(__webpack_require__,14291))),394:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),395:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8563)]).then(__webpack_require__.bind(__webpack_require__,75673))),396:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1713)]).then(__webpack_require__.bind(__webpack_require__,82125))),397:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5891)]).then(__webpack_require__.bind(__webpack_require__,30654))),398:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8398)]).then(__webpack_require__.bind(__webpack_require__,38542))),399:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8241)]).then(__webpack_require__.bind(__webpack_require__,92314))),400:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2339)]).then(__webpack_require__.bind(__webpack_require__,74232))),401:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7589)]).then(__webpack_require__.bind(__webpack_require__,50983))),402:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(3747)]).then(__webpack_require__.bind(__webpack_require__,40599))),403:ae.lazy(()=>__webpack_require__.e(5705).then(__webpack_require__.bind(__webpack_require__,84033))),404:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),405:ae.lazy(()=>__webpack_require__.e(4766).then(__webpack_require__.bind(__webpack_require__,28712))),406:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7560)]).then(__webpack_require__.bind(__webpack_require__,27454))),407:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6029)]).then(__webpack_require__.bind(__webpack_require__,33675))),408:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5179)]).then(__webpack_require__.bind(__webpack_require__,58197))),409:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4621)]).then(__webpack_require__.bind(__webpack_require__,57857))),410:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),411:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1831)]).then(__webpack_require__.bind(__webpack_require__,30266))),412:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2539)]).then(__webpack_require__.bind(__webpack_require__,88036))),413:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8143)]).then(__webpack_require__.bind(__webpack_require__,42463))),414:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5624)]).then(__webpack_require__.bind(__webpack_require__,66493))),415:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1461)]).then(__webpack_require__.bind(__webpack_require__,67489))),416:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(4492)]).then(__webpack_require__.bind(__webpack_require__,32891))),417:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(9416)]).then(__webpack_require__.bind(__webpack_require__,57895))),418:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),419:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),420:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),421:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),422:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(2443)]).then(__webpack_require__.bind(__webpack_require__,75411))),423:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5022)]).then(__webpack_require__.bind(__webpack_require__,98372))),424:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6063)]).then(__webpack_require__.bind(__webpack_require__,16486))),425:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6063)]).then(__webpack_require__.bind(__webpack_require__,16486))),426:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(7953),__webpack_require__.e(7545)]).then(__webpack_require__.bind(__webpack_require__,9))),427:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1253)]).then(__webpack_require__.bind(__webpack_require__,16459))),428:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),429:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2216)]).then(__webpack_require__.bind(__webpack_require__,69623))),430:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5382)]).then(__webpack_require__.bind(__webpack_require__,73171))),431:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),432:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(7101),__webpack_require__.e(5964),__webpack_require__.e(8823)]).then(__webpack_require__.bind(__webpack_require__,18437))),433:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3685)]).then(__webpack_require__.bind(__webpack_require__,94727))),434:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5964),__webpack_require__.e(2524)]).then(__webpack_require__.bind(__webpack_require__,80109))),435:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5915)]).then(__webpack_require__.bind(__webpack_require__,89325))),436:ae.lazy(()=>__webpack_require__.e(3589).then(__webpack_require__.bind(__webpack_require__,60876))),437:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(919)]).then(__webpack_require__.bind(__webpack_require__,46339))),438:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7042)]).then(__webpack_require__.bind(__webpack_require__,2606))),439:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8137)]).then(__webpack_require__.bind(__webpack_require__,55493))),440:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(7101),__webpack_require__.e(4339)]).then(__webpack_require__.bind(__webpack_require__,96856))),441:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(9595)]).then(__webpack_require__.bind(__webpack_require__,75024))),442:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(3443)]).then(__webpack_require__.bind(__webpack_require__,20316))),443:ae.lazy(()=>__webpack_require__.e(599).then(__webpack_require__.bind(__webpack_require__,20599))),444:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(3897)]).then(__webpack_require__.bind(__webpack_require__,28804))),445:ae.lazy(()=>__webpack_require__.e(4058).then(__webpack_require__.bind(__webpack_require__,79700))),446:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8522)]).then(__webpack_require__.bind(__webpack_require__,93239))),447:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6411),__webpack_require__.e(6653),__webpack_require__.e(8522)]).then(__webpack_require__.bind(__webpack_require__,93239))),448:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),449:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(4056)]).then(__webpack_require__.bind(__webpack_require__,75503))),450:ae.lazy(()=>__webpack_require__.e(9487).then(__webpack_require__.bind(__webpack_require__,3518))),451:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(1443)]).then(__webpack_require__.bind(__webpack_require__,13070))),452:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),453:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(532)]).then(__webpack_require__.bind(__webpack_require__,36693))),454:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7178)]).then(__webpack_require__.bind(__webpack_require__,11112))),455:ae.lazy(()=>__webpack_require__.e(1660).then(__webpack_require__.bind(__webpack_require__,19041))),456:ae.lazy(()=>__webpack_require__.e(7333).then(__webpack_require__.bind(__webpack_require__,76904))),457:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(4227)]).then(__webpack_require__.bind(__webpack_require__,63295))),458:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8155)]).then(__webpack_require__.bind(__webpack_require__,4280))),459:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(5186)]).then(__webpack_require__.bind(__webpack_require__,29069))),460:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5786)]).then(__webpack_require__.bind(__webpack_require__,28128))),461:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9366)]).then(__webpack_require__.bind(__webpack_require__,77123))),462:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5786)]).then(__webpack_require__.bind(__webpack_require__,28128))),463:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(9366)]).then(__webpack_require__.bind(__webpack_require__,77123))),464:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1470)]).then(__webpack_require__.bind(__webpack_require__,4066))),465:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(7182)]).then(__webpack_require__.bind(__webpack_require__,39221))),466:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),467:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(2476)]).then(__webpack_require__.bind(__webpack_require__,57915))),468:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),469:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5729)]).then(__webpack_require__.bind(__webpack_require__,24721))),470:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),471:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6444)]).then(__webpack_require__.bind(__webpack_require__,62904))),472:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(5111)]).then(__webpack_require__.bind(__webpack_require__,87038))),473:ae.lazy(()=>__webpack_require__.e(2307).then(__webpack_require__.bind(__webpack_require__,33262))),474:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6653),__webpack_require__.e(7883)]).then(__webpack_require__.bind(__webpack_require__,31750))),475:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1150)]).then(__webpack_require__.bind(__webpack_require__,71193))),476:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(1685),__webpack_require__.e(7062)]).then(__webpack_require__.bind(__webpack_require__,35291))),477:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(8866)]).then(__webpack_require__.bind(__webpack_require__,94419))),478:ae.lazy(()=>__webpack_require__.e(2300).then(__webpack_require__.bind(__webpack_require__,33662))),479:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(2501)]).then(__webpack_require__.bind(__webpack_require__,57548))),480:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3212)]).then(__webpack_require__.bind(__webpack_require__,13540))),481:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6904)]).then(__webpack_require__.bind(__webpack_require__,88986))),482:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1855)]).then(__webpack_require__.bind(__webpack_require__,93185))),483:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(6904)]).then(__webpack_require__.bind(__webpack_require__,88986))),484:ae.lazy(()=>__webpack_require__.e(1276).then(__webpack_require__.bind(__webpack_require__,86308))),485:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5816)]).then(__webpack_require__.bind(__webpack_require__,12624))),486:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(5816)]).then(__webpack_require__.bind(__webpack_require__,12624))),487:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3784)]).then(__webpack_require__.bind(__webpack_require__,19560))),488:ae.lazy(()=>__webpack_require__.e(3862).then(__webpack_require__.bind(__webpack_require__,18430))),489:ae.lazy(()=>__webpack_require__.e(4565).then(__webpack_require__.bind(__webpack_require__,38189))),490:ae.lazy(()=>__webpack_require__.e(6531).then(__webpack_require__.bind(__webpack_require__,60279))),491:ae.lazy(()=>__webpack_require__.e(6170).then(__webpack_require__.bind(__webpack_require__,32717))),492:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4496)]).then(__webpack_require__.bind(__webpack_require__,22255))),493:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1836)]).then(__webpack_require__.bind(__webpack_require__,79752))),494:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6411),__webpack_require__.e(8435)]).then(__webpack_require__.bind(__webpack_require__,22084))),495:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(3509)]).then(__webpack_require__.bind(__webpack_require__,94878))),496:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4496)]).then(__webpack_require__.bind(__webpack_require__,22255))),497:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(4496)]).then(__webpack_require__.bind(__webpack_require__,22255))),498:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(6034)]).then(__webpack_require__.bind(__webpack_require__,43982))),499:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(8999)]).then(__webpack_require__.bind(__webpack_require__,49851))),500:ae.lazy(()=>__webpack_require__.e(3910).then(__webpack_require__.bind(__webpack_require__,53727))),501:ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1220),__webpack_require__.e(67)]).then(__webpack_require__.bind(__webpack_require__,73752))),502:ae.lazy(()=>__webpack_require__.e(6531).then(__webpack_require__.bind(__webpack_require__,60279))),"@@/global-layout":ae.lazy(()=>Promise.all([__webpack_require__.e(8891),__webpack_require__.e(1717)]).then(__webpack_require__.bind(__webpack_require__,49377)))}}})}var x=__webpack_require__(3191),Z=__webpack_require__(58293),oe=__webpack_require__(29787),Er=__webpack_require__(5755),Sr=()=>ae.createElement(oe.Z,{size:"middle",className:Er.Z.loading}),mn=__webpack_require__(25690),_n=__webpack_require__(61186),Zr=__webpack_require__.n(_n),bo=__webpack_require__(91392),Uo=__webpack_require__.n(bo),la=__webpack_require__(34749),Qo=__webpack_require__.n(la),li=__webpack_require__(19277),Ou=__webpack_require__.n(li),Mo=__webpack_require__(10238),Oc=__webpack_require__.n(Mo),Ic=__webpack_require__(33656),uc=__webpack_require__.n(Ic),kc=__webpack_require__(90111),$s=__webpack_require__.n(kc),On=__webpack_require__(74959),Ac=__webpack_require__.n(On),Tc=__webpack_require__(23250),Ea=__webpack_require__.n(Tc),Eo=__webpack_require__(58862),js=__webpack_require__.n(Eo),Iu=__webpack_require__(58319),Rc=__webpack_require__.n(Iu),Al=__webpack_require__(62053),uu=__webpack_require__.n(Al),cu=__webpack_require__(47477),ul=__webpack_require__.n(cu),Dc=__webpack_require__(59717),lu=__webpack_require__.n(Dc);Zr().extend(Qo()),Zr().extend(Ou()),Zr().extend(Oc()),Zr().extend(uc()),Zr().extend($s()),Zr().extend(Ac()),Zr().extend(Ea()),Zr().extend(js()),Zr().extend(Rc()),Zr().extend(uu()),Zr().extend(ul()),Zr().extend(lu()),Zr().extend(Uo());var cl=Object.defineProperty,cc=Object.getOwnPropertySymbols,ll=Object.prototype.hasOwnProperty,Fi=Object.prototype.propertyIsEnumerable,Fs=(Fr,an,Zn)=>an in Fr?cl(Fr,an,{enumerable:!0,configurable:!0,writable:!0,value:Zn}):Fr[an]=Zn,ku=(Fr,an)=>{for(var Zn in an||(an={}))ll.call(an,Zn)&&Fs(Fr,Zn,an[Zn]);if(cc)for(var Zn of cc(an))Fi.call(an,Zn)&&Fs(Fr,Zn,an[Zn]);return Fr},lc=(Fr,an,Zn)=>new Promise((Oa,Gn)=>{var na=Vn=>{try{uo(Zn.next(Vn))}catch(co){Gn(co)}},da=Vn=>{try{uo(Zn.throw(Vn))}catch(co){Gn(co)}},uo=Vn=>Vn.done?Oa(Vn.value):Promise.resolve(Vn.value).then(na,da);uo((Zn=Zn.apply(Fr,an)).next())});const Xi="https://www-cdn.educoder.net/",dc=!1;function Au(){return lc(this,null,function*(){const Fr=(0,x.gD)(),{routes:an,routeComponents:Zn}=yield y(Fr);yield Fr.applyPlugins({key:"patchRoutes",type:mn.ApplyPluginsType.event,args:{routes:an,routeComponents:Zn}});const Oa=Fr.applyPlugins({key:"modifyContextOpts",type:mn.ApplyPluginsType.modify,initialValue:{}}),Gn=Oa.basename||"/",na=Oa.historyType||"browser",da=(0,Z.fi)(ku({type:na,basename:Gn},Oa.historyOpts));return Fr.applyPlugins({key:"render",type:mn.ApplyPluginsType.compose,initialValue(){const uo={useStream:!0,routes:an,routeComponents:Zn,pluginManager:Fr,mountElementId:"root",rootElement:Oa.rootElement||document.getElementById("root"),loadingComponent:Sr,publicPath:Xi,runtimePublicPath:dc,history:da,historyType:na,basename:Gn,__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{pureApp:!1,pureHtml:!1},callback:Oa.callback},Vn=Fr.applyPlugins({key:"modifyClientRenderOpts",type:mn.ApplyPluginsType.modify,initialValue:uo});return sl(Vn)}})()})}Au(),typeof window!="undefined"&&(window.g_umi={version:"4.4.11"})})()})();